@import url('https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Kosugi+Maru&family=Noto+Sans+JP:wght@100;300;500;700;900&family=Shippori+Mincho:wght@600;800&display=swap');
/*使い方
font-family: 'Kosugi Maru', sans-serif;
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Shippori Mincho', serif;

グランマートグリーン
#005e4f
タカヤナギブルー
#005bac
*/

*{
  box-sizing: border-box;
  font-feature-settings: "palt";
}
body {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
  line-height: 2.0rem;
  /*background-color: #efefef;*/
}
#page {
	animation: fadein 3s forwards;
}
@keyframes fadein {
	0% {opacity: 0}
	100% {opacity: 1}
}
a img:hover{
  box-shadow: 10px 10px 10px rgba(0,0,0,0.5);
  transform: translateY(-10px);
  transition-duration: 0.5s;
}
a {
  color: #005e4f;
}
a:hover {
  color: #005e4f;
}
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea {
  /*width: 7rem;*/
}
ol {
  padding: 0;
}
ul {
  margin: 0 0 1.5em 2.0em;
  padding: 0;
  list-style-position:outside
}
.rinen p {
    margin-left: 2rem;
}

@media (min-width: 751px) {
  a[href*="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
  }
  }
/* ------------------- リンク ------------------- */

/*オンマウスでフワッとなる */
a:hover img {
	opacity: .5;
	-webkit-opacity: .5;
	-moz-opacity: .5;
	filter: alpha(opacity=50);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=50)"; /* IE 8 */}
a img {
	-webkit-transition: opacity 0.5s ease-out;
	-moz-transition: opacity 0.5s ease-out;
	-ms-transition: opacity 0.5s ease-out;
	transition: opacity 0.5s ease-out;}
a {
	-webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all  0.5s ease;}

    .no-links{/*リンクを遮断する*/
      pointer-events: none;
      cursor: default;
      text-decoration:none;
      color: gray !important;
      }
    
/*---------------------------------------------------------

 サイトヘッダーの設定

---------------------------------------------------------*/
.site-header {
  display: flex;
  background: #FFF;/*#313131;*/
  margin-bottom: 0;
}

.site-branding {
  margin: 0.5rem;
}
.custom-logo-link img {
  max-width: 350px;
  height: auto;
}

/*---------------------------------------------------------

 メインナビゲーションの設定

---------------------------------------------------------*/
.menu-item i.fa, .menu-item i.fa-external-link {
  /*color:#fff;*/
}
.menu-gloval_nav-container {
  width: 100%;
}
ul#primary-menu *, 
.main-navigation a, 
.main-navigation ul, 
.main-navigation li, 
.main-navigation a:hover, 
.main-navigation li:hover > a {
transition-property: all;
transition-duration: .6s;
}
/*https://olein-design.com/blog/css-custom-for-navigation*/
/**************** 基本構造 ****************/
.main-navigation {
  /*font-family: 'Noto Sans JP', sans-serif;*/
  font-family: 'Oswald','Noto Sans JP',sans-serif;
  font-weight: 400;
  position: relative;
  float: left;
  width: 100%;
  display: block;
  clear: both;
  text-transform: uppercase;
}
.main-navigation ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
.main-navigation li {
  float: left;
  position: relative;
}
/**************** ここまで基本構造 ****************/
.main-navigation a {
  display: block;
  padding: 1.5rem 0.5rem;
  font-size: 1.2rem;
  text-decoration: none;
  line-height: 1.3em;
  color: black;
  /* margin: 10px; */
  /* padding: 0; */
  line-height: 2.0rem;
}
.main-navigation ul ul {
  background: #FFF;/*#4d4d4d;*/
  top: 75%;
  margin-top: 0.8rem;
}
.main-navigation ul ul ul {
  left: -999em;
  top: 0;
}
.main-navigation ul ul a:hover {
  /*background: #313131;*/
}
.main-navigation ul li:hover > ul {
  left: auto;
}
.main-navigation ul ul li:hover > ul {
  left: 100%;
}
.main-navigation .current_page_item > a,
.main-navigation .current-menu-item > a {
  border-bottom: 2px solid #ff701e;
  padding-bottom: 24px;
  /*background: #313131;*/
}
.main-navigation .current_page_item > a:hover,
.main-navigation .current-menu-item > a:hover {
  border-bottom: 2px;
  padding-bottom: 4px;/*24px*/
}
.main-navigation .current_page_ancestor {
  border-bottom: 2px solid #ff701e;
  /*background: #313131;*/
}
.main-navigation ul ul .current_page_parent,
.main-navigation .current_page_parent .current_page_item > a {
  /*background: #313131;*/
  border-bottom: 2px solid #ff701e;
  padding-bottom: 5px;
}
.main-navigation-menu li ul li a{
  border-top: 1px solid #7c8c0e;
}

/**************** グローバルナビと検索窓調整 ****************/
.main-navigation-container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.main-navigation ul ul a {
  width: 250px;
}
.main-navigation li:hover > a {
  /*color: #000;*/
  /*background: #4d4d4d;*/
}

/* 829px以下はハンバーガーボタン表示、ヘッダー固定 */
/*20240229　1400pxに変更*/
@media screen and (max-width: 1400px) {
	.main-navigation-container {
    display: block;
  }
  .main-navigation ul ul a {
    padding-left: 2rem;/*子メニューにインデント*/
    box-sizing: border-box;
    width: 100%;
  }
  .main-navigation li:hover > a {
  }
}

/**************** メニューアイテムのホバー設定 ****************/
.main-navigation a {
  /*text-decoration: none;*/
  /*color: #ff701e;
  font-size: 22px;
  font-weight: bold;*/
  /*display: inline-block;*/
  /*letter-spacing: 0.06em;*/
  /*padding-bottom: 5px;*/
  /*position: relative;*/
}
.main-navigation a:hover {
  color: #ff701e;
}
.main-navigation a::before {
  background: #ff701e;
  content: '';
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
  margin-bottom: -2px;
}
.main-navigation a:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}


/**************** 以下、ハンバーガーボタンのスタイリング ****************/
button.g-btn {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
	vertical-align: middle;
	text-align: inherit;
	font: inherit;
	-webkit-appearance: none;
	appearance: none;
}

.g-btn {
	/* ボタンの配置位置  */
	position: fixed;
	top: 0.25rem;
	right: 16px;
	/* 最前面に */
	z-index: 10;
	/* ボタンの大きさ  */
	width: 48px;
	height: 48px;
  /*固定解除*/
  /*margin-top: 0.5rem; */
    position: absolute;
    top: -60px;
    right: 5px;
}

/***** 真ん中のバーガー線 *****/
.btn-line {
	display: block;
	/* バーガー線の位置基準として設定 */
	position: relative;
	/* 線の長さと高さ */
	width: 100%;
	height: 8px;
	/* バーガー線の色 */
	background-color: #005e4f;
	transition: .2s;
}

/***** 上下のバーガー線 *****/
.btn-line::before , .btn-line::after {
	content: "";
	/* 基準線と同じ大きさと色 */
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #005e4f;
	transition: .5s;
  top:  0;
  left: 0;
}

.btn-line::before {
	/* 上の線の位置 */
	transform: translateY(-16px);
}

.btn-line::after {
	/* 下の線の位置 */
	transform: translateY(16px);
}

/***** メニューオープン時 *****/
.btn-line.open {
	/* 真ん中の線を透明に */
	background-color: transparent;
}

.btn-line.open::before , .btn-line.open::after {
	content: "";
	background-color: #005e4f;
	transition: .2s;
}

.btn-line.open::before {
	/* 上の線を傾ける */
	transform: rotate(45deg);
}

.btn-line.open::after {
	/* 上の線を傾ける */
	transform: rotate(-45deg);
}

/**************** ここまで、ハンバーガーボタンのスタイリング ****************/

/**************** グローバルナビメニューのメディアクエリ ****************/
/* 830px以上はハンバーガーボタン非表示 */
/* 829px以下はハンバーガーボタン表示、ヘッダー固定 */
/*20240229　1400pxに変更*/
@media screen and (min-width: 1401px) {
	.g-btn {
		display: none;
	}
  .main-navigation ul {
    display: block;
  }
}
/* 829px以下はハンバーガーボタン表示、ヘッダー固定 */
/*20240229　1400pxに変更*/
@media screen and (max-width: 1400px) {
  .site-header {
    display: flow-root;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    position: static;/*ナビ固定解除*/
    padding-bottom: 0.5rem;
    position: absolute;
    position: relative;/*パンくず設置のため*/
    z-index: 10;
  }

  .main-navigation li {
    float: none;
  }
  .main-navigation li a {
    width: 100%;
  }
  .main-navigation li a:hover {
    width: 100%;
  }
  .main-navigation ul.sub-menu {
    display: block;
    width: 100%;
  }
  main {
    margin-top: 0;
    position: relative;
  }
}


/*---------------------------------------------------------

 メニューと検索窓を横並びに

---------------------------------------------------------*/
/*https://eigo39.com/wordpress/abso-2017/#CSS-2*/
.main-navigation-container form.searchform{
	margin-top:22px;
	display:inline-block;
	float:right;
	position: relative;
  white-space: nowrap;
}

button.searchsubmit{
	background: inherit;
	/*color: #FFF!important;*/
	border: none;
  margin-left: -10px;
}
@media screen and (max-width: 425px) {
  input.searchfield {
    width: 20rem;
  }
}


/*---------------------------------------------------------

　H1〜H6

---------------------------------------------------------*/

.page-header, .entry-header{/*投稿ページH1のマージン*/
	/*margin-bottom:10px;*/
}
span.store-area-name {/*店舗タイトルの地区名*/
  font-size: 1.25rem;
  margin-left: 1rem;
}
h1.entry-title,h1.page-title {
  	padding: 0.5em 1em;
  	/*border: 1px solid #ccc;*/
  	background: linear-gradient(to bottom, #fff 0%, #f0f0f0 100%);
  	box-shadow: 0 -1px 0 rgba(255, 255, 255, 1) inset;
 	  margin-bottom: 20px;
    font-weight: 300;
    /*text-shadow: 5px 5px 1px rgba(0,0,0,0.2);*/
    border-bottom: 3px solid #eb6100;
    border-top: 3px solid #ddd;
}
@media screen and (max-width: 500px) {
  h1.entry-title,h1.page-title {
    text-align: center;
  }
  span.store-area-name {
    display: block;
  }
}
h1.blue{
 	 border-top: 5px solid #005BAC;
 	 color:#005BAC;
}
h1.orange{
  	border-bottom: 5px solid #ff6309;
  	color:#ff6309;
 }
h1.green{
 	 border-top: 5px solid #005136;
  	color:#005136;
}
h1.f_green{
 	 border-bottom: 5px solid #2cff65;
  	color:#2cff65;
}
h1.b_purple{
  	border-bottom: 5px solid #ff00ff;
  	color:#ff00ff;
}
h1.yellow{
  	border-bottom: 5px solid #ffbe08;
  	color:#ffbe08;
}
h1.magenta{
	border-bottom: 5px solid #e4007f;
	color:#e4007f;
}

/*PC*/
@media screen and (min-width: 1025px) {

.page-header{/*投稿ページH1のマージン*/
	/*margin-bottom:20px;*/
}

h1.entry-title,h1.page-title {
	font-size:2.0em;
  margin-top: 1.0rem;
}
}
.entry-header h2.entry-title{/*.entry-header h2.entry-titleはレシピ一覧用・投稿（新着情報）一覧用*/
	position: relative;
  	padding-bottom: .25em;
  	border-bottom: 4px solid #ccc;
    font-weight: 300;
    text-shadow: 5px 5px 1px rgba(0,0,0,0.2);
}
.entry-header h2.entry-title::after {
	position: absolute;
  	bottom: -4px;
  	left: 0;
  	z-index: 2;
  	content: '';
  	width: 20%;
  	height: 4px;
 	 background-color: #005e4f;
}

.entry-header h2.entry-title a{
	text-decoration:none;
	color: #005e4f;
}
.entry-header h2.entry-title a:hover{
	color:#333;
}

@media screen and (min-width: 1025px){
.entry-header h2.entry-title {
    font-size: 1.5em;
}
}
.entry-content h3 {
	position: relative;
    padding: 0.5em 1em 0.5em 1.5em;
    border: 1px solid #ccc;
    font-size: 1.25em;
    border-radius: 4px;
	background: -webkit-linear-gradient(top, #fff 0%, #f0f0f0 100%);
    background: linear-gradient(to bottom, #fff 0%, #f0f0f0 100%);
    box-shadow: 0 -1px 0 rgba(255, 255, 255, 1) inset;
	margin-bottom: 10px;
    margin-top: 20px;
}
.entry-content h3::after {
  	position: absolute;
  	top: 0.5em;
  	left: 0.5em;
  	content: '';
  	width: 6px;
  	height: -webkit-calc(100% - 1em);
  	height: calc(100% - 1em);
  	background-color: #005BAC;
  	/*border-radius: 4px;*/
}

.entry-content h4	{
  /*font-size: 1em;
  font-weight: normal;
	line-height:1.25em;
	margin-bottom: 0.75em;
	border-left:5px solid #B00;
	color:#333;
	padding:0px 0px 0px 3px; 
	margin:5px 0px 5px 5px;
	letter-spacing:-1px;*/
    font-size: 1.25em;
    font-weight: normal;
    line-height: 1.5rem;
    border-left: 5px solid #B00;
    color: #333;
    padding: 0 0 0 0.25rem;
    margin: 1.5rem 0 1rem 0.75rem;
    letter-spacing: 0;
}

h2.news-item__title {
  font-weight: 300;
  color: #005e4f;
}
p.news-item__body {
  font-weight: 300;
  color: #005e4f;
}
a.news-item__inner:hover {
  text-decoration: none!important;
  color: #333!important;
}
/*店舗ページ用*/
h6.store_header {
  position: relative;
  overflow: hidden;
  padding: 0.5rem 2rem 1.5rem 130px;
  border-top: 3px solid #005e4f;
}

h6.store_header:before {
  position: absolute;
  top: -150%;
  left: -100px;
  width: 500px;
  height: 425%;
  content: '';
  -webkit-transform: rotate(25deg);
  transform: rotate(25deg);
  background: #005e4f;
}

h6.store_header span {
  font-size: 0.85rem;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  padding-top: 3px;
  padding-left: 16px;
  color: #fff;
}
/*---------------------------------------------------------

　パンくずナビ設定

---------------------------------------------------------*/
#breadcrumb i.fa, #breadcrumb i.fa-home {
  color: #333;
}
#p_list{
  padding: .5em;
  margin: 0 auto;
  max-width: 1200px;
}
.breadcrumbs-outer {
  background-color: #e6e5e5;
  margin: 0;
  padding: 0;
}
.breadcrumbs-inner{
  margin: 0 auto;
  padding: 0;
}
#breadcrumb{
  justify-content: flex-start;
  font-size: 0.9rem;
  margin: 0;
  padding: 0;
}
#breadcrumb ul{
  display: flex;
  list-style: none;
  margin: 0!important;
  padding-left: 0;
}
#breadcrumb ul li {
  list-style: none!important;
}
#breadcrumb a {
  color:#005e4f;
  text-decoration: none;
}


/*---------------------------------------------------------

　SIDE MENU サイドメニュー設定（STORE LISTタブ）

---------------------------------------------------------*/
/*https://www.hypertextcandy.com/frontend-ui-components-and-coding-samples#%E3%82%B9%E3%83%A9%E3%82%A4%E3%83%89%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC*/
/*スライドメニュー*/
@media screen and (min-width: 830px) {
  .side_menu-bar {
    display: none;
  }
}
@media screen and (max-width: 545px) {
  .px-s_menu {
    padding-right: 0.5rem!important;
    padding-left: 2rem!important;
  }
}

.side_menu-bar {
  /*padding: 1rem;*/
  position: fixed;
  top: 350px;
  left: -68px;
  z-index: 10;
  position: sticky;
  margin-left: -6.25rem;
}

.side_menu-bar button.side_menu-bar-button {
  /*position: fixed;
  top: 250px;
  left: -100px;*/
  width: 10rem;
  height: 1.5rem;
  transform: rotate(90deg);
  margin: 0;
  padding: 0;
}

.side_menu-bar-menu-overlay {
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition: opacity 200ms ease-in-out;
}

.side_menu-bar-menu-body {
  background-color: #fff;
  height: 100vh;
  left: -240px;
  padding: 1rem;
  position: absolute;
  top: 0;
  transition: left 400ms ease-in-out;
  width: 240px;
  border: 1px solid #000;
}

.side_menu-bar-menu.is-open .side_menu-bar-menu-body {
  left: 0;
  top: 0;
  padding: 0;
}

.side_menu-bar-menu.is-open .side_menu-bar-menu-overlay {
  opacity: 1;
  pointer-events: auto;
}

ul.side_menu-bar-link-list {
  list-style: none;
  margin: 0 0 2rem 0;
  padding: 0;
}

.side_menu-bar-link-item + .side_menu-bar-link-item {
  margin-top: 0.5rem;
}

.side_menu-bar-link-item a {
  color: inherit;
  text-decoration: none;
}

.district_block {display:none;}
li.district {
  padding: 0.5rem 0;
  list-style: none;
  position: relative;
}
li.district ul {
  padding-left: 0;
  list-style: none;
  margin-left: 1.0rem;
  line-height: 1.5rem;
}
.dsb {background-color: #E5F4FD;}
.yyb {background-color: #FCEBF3;}
.hjb {background-color: #FEFDE8;}
.akb {background-color: #FEEDDA;}
.sbb {background-color: #EDE2EF;}

.dsb::after {
  content: "大仙";
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
  color: #CEE9FB;
  position: absolute;
  font-size: 3rem;
  right: 0.5rem;
  bottom: 0rem;
}
.yyb::after {
  content: "湯沢\A横手";
  white-space: pre;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
  color: #F9D9E8;
  position: absolute;
  font-size: 2rem;
  right: 0.5rem;
  bottom: 0.5rem;
  line-height: 38px;
}
.hjb::after {
  content: "本荘";
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
  color: #F0F000;
  position: absolute;
  font-size: 3rem;
  right: 0.5rem;
  bottom: 0rem;
}
.akb::after {
  content: "秋田";
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
  color: #FDDCBA;
  position: absolute;
  font-size: 3rem;
  right: 0.5rem;
  bottom: 0rem;
}
.sbb::after {
  content: "仙北";
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
  color: #DCC7E1;
  position: absolute;
  font-size: 3rem;
  right: 0.5rem;
  bottom: 0rem;
}

/*footer*/
/*フッターメニュー*/
.site-footer {
  border-top: 1px solid #cdcdcd;
  clear: both;
}
.footer_nav {
  padding-bottom: 1rem;
  margin-top: 2rem;
  justify-content: center;
	width: 100%;
  height: 300px;
	background-image: url(/common/img/footer-img20240415.webp);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 35%;
  line-height: initial;
}
.menu-foot_navi-container {
  margin: auto;
}
ul.footer-navigation-menu {
  list-style: none;
  margin-left: 0;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
ul.footer-navigation-menu li {
  display: block;
  /*float: left;
  margin-right: 1rem;*/
}
ul.footer-navigation-menu li a {
  text-decoration: none;
  color: #000;
}

.footer-navigation-menu li {
  margin-bottom: 1.0rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  white-space: nowrap;
}
.footer-navigation-menu li::before {
  content: "　▶ ";/*<i class="fa-solid fa-caret-right"></i>*/
  font-size: 0.5rem;
  color: #ff8900;
  vertical-align: middle;
}
.footer_nav-left {
  margin-right: 1.0rem;
}
.footer_nav-right {
  margin-left: 1.0rem;
}
@media screen and (max-width: 768px) {
  .footer_nav-left {
    margin-right: 0;
  }
  .footer_nav-right {
    margin-left: 0;
  } 
}
/*SNSメニュー*/
ul.sns-links {
  list-style: none;
  height: 4rem;
  margin: 0;
  display: flex;
  justify-content: space-evenly;
}
ul.sns-links li {
  display: block;
  margin-right: 1.0rem;
  float: left;
}
ul.sns-links li:last-child{
  margin-right: 0;
}

.site-info {
  clear: both;
  margin-top: 6rem;
}
.site-info h2 {
  font-size: 1.0rem;
  font-family: sans-serif;
  font-weight: bold;
  border-bottom: dotted #CCC 1px;
  padding-bottom: 0.25rem;
}
.site-info h3 {
  font-size: 1.0rem;
  font-family: sans-serif;
  font-weight: normal;
  border-left: solid #CCC 10px;
  padding-left: 0.25rem;
}

/* 829px以下はハンバーガーボタン表示、ヘッダー固定 */
/*20240229　1400pxに変更*/
@media screen and (max-width: 1400px) {
  .indent{
    text-indent: 1em;
  }
}

/*サイドメニューがスクロールで出現する*/
.fade-in{
    opacity: 0;
    transition-duration: 1.5s;/*0.5s*/
    transform: translate(0, 200px);/*(0, 100px)*/
}
.scroll-in {
    opacity: 1;
    transform: translate(0, 0);
}

/* # =================================================================
  # 
  #sub_navのプルダウンメニュー
  # 
  # ================================================================= */
/*https://webmoyou.com/web/1182/#%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB-2*/

#sub-nav li a {
  display: block;
  color: #fff;
  position: relative;
}
#sub-nav .menu-item-has-children > a:after,#sub-nav .menu-item-has-children > a:before {
  display: block;
  content: "";
  position: absolute;
  top: 0; 
  right: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  width: 10px;
  height: 1px;
  background: #fff;
  transition: .2s;
}
#sub-nav .menu-item-has-children > a:after {
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
}
#sub-nav .menu-item-has-children > a.open:before{
  transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
}
#sub-nav .menu-item-has-children > a.open:after{
  background: transparent;
}
#sub-nav .menu-item-has-children .sub-menu {
  display: none;
}
/*@media only screen and ( max-width : 767px ) {*/
  .overlay {
    width: 0;
    height: 0;
    position: fixed;
    z-index: 11;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity .5s;
    background: rgba(255,255,255,.7);
  }
  .overlay.open {
    width: 100%;
    height: 100%;
    opacity: 1;
  }
  #main {
    transition: all .5s;
    min-height: 100vh;
  }
  #main.open {
    position: fixed;
    width: 100%;
  }
  #menu_btn {
    top: 12px;
    right: 15px;
    transition: .3s;
    cursor: pointer;
    position: fixed;
    z-index: 9999;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .menu-trigger {
    width: 18px;
    height: 16px;
    position: relative;
  }
  .menu-trigger span {
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #ddd;
    transition: all .5s;
  }
  .menu-trigger span:nth-of-type(1) {
    top: 0;
  }
  .menu-trigger span:nth-of-type(2) {
    width: 70%;
    top: 7px;
  }
  .menu-trigger span:nth-of-type(3) {
    bottom: 0;
  }
  #menu_btn.active .menu-trigger span:nth-of-type(1) {
    transform: translateY(7px) rotate(-45deg);
  }
  #menu_btn.active .menu-trigger span:nth-of-type(2) {
    opacity: 0;
  }
  #menu_btn.active .menu-trigger span:nth-of-type(3) {
    transform: translateY(-7px) rotate(45deg);
  }
  #sub-nav {
    /*width: 280px; */
    height: 100%;
    overflow: auto;
    padding: 0;
    /*background-color: #000;*/
    position: fixed;
    top: 0;
    right: 0;
    z-index: 12;
    /* transform: translate(280px); */
    /* transition: all .5s; */
    position: static;
    margin: 1rem 0;
    box-shadow: 0px 3px 18px -7px rgba(0,0,0,0.6);
    }
  #sub-nav.open {
    transform: translateZ(0);
  }
  #sub-nav li {
    padding: 0;
  }
  #sub-nav li a {
    position: relative;
    padding: 20px;
    color: #fff;
    text-decoration: none;
  }
  #sub-nav .menu-item-has-children .sub-menu {
    padding: 0;
    list-style: none;
    padding-left: 0;
    margin-left: 0;
  }
  #sub-nav .menu-item-has-children > a:first-of-type {
    position: relative;
    padding-right: 2em;
  }
  #sub-nav .menu-item-has-children > a.open:first-of-type {
    color: #dad4ec;
    background-color: #1A5B27;
  }
  #sub-nav .menu-item-has-children .sub-menu li {
    padding: 0;
    margin-bottom: 0;
    border-bottom: 1px #ccc solid;
  }
  #sub-nav .menu-item-has-children .sub-menu li:last-child {
    margin-bottom: 0;
  }
  #sub-nav .menu-item-has-children .sub-menu li a {
    padding: 20px;
    height: 60px;
    padding-left: 40px;
  }
  #sub-nav .menu-item-has-children .sub-menu li a::before {
    content: "\f138";/*\f101*/
    font-family: "Font Awesome 6 Free";
    font-weight : 900;
    margin-right: 0.25rem;
  }
  ul.sub-nav {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  #sub-nav li {
    background-color: #35924A;
    background-size: auto auto;
    background-color: rgba(53, 146, 74, 1);
    background-image: repeating-linear-gradient(135deg, transparent, transparent 2px, rgba(58, 132, 58, 1) 2px, rgba(58, 132, 58, 1) 4px );
  }
  #sub-nav li a:hover {
    background-color: #1A5B27;
  }

/*}*/

/*@media print, screen and ( min-width : 768px ) {
  #menu_btn,.overlay {
    display: none;
  }
  #sub-nav ul {
    display: flex;
    flex-wrap: wrap;
  }
  #sub-nav li {
    position: relative;
  }
  #sub-nav li a {
    padding: 20px;
  }
  #sub-nav .menu-item-has-children > a {
    padding-right: 40px;
  }
  #sub-nav .menu-item-has-children > a.open:first-of-type,#sub-nav .current-menu-item a {
    color: #dad4ec;
  }
  #sub-nav .current-menu-item li a {
    color: #fff;
  }
  #sub-nav li ul.sub-menu {
    flex-direction: column;
    background: #fff;
    position: absolute;
    width: 200px;
    left: 50%;
    top: 100%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    padding: 10px 0;
  }
  #sub-nav li ul.sub-menu li {
    width: 100%;
  }
  #sub-nav li ul.sub-menu li a {
    line-height: 1.6em;
    color: #83759a;
    padding: 10px 20px;
  }
  #sub-nav li ul.sub-menu li a:hover {
    color: #dad4ec;
  }
}*/
/*ここまで*/


/*--------------------------------------------------------------------------------------Topへ戻るボタン*/
.pagetop { 
  cursor: pointer;
  position: fixed;
  bottom: 0.25rem;
  right: 0.25rem;
  width: 70px;
  height: auto;
  font-size: 20px;
  line-height: 50px;
  text-align: center;
  z-index: 9000;
}
.pagetop:hover {
opacity: 0.5;
}

/*お問い合せの必須・任意設定*/
.required, .option {
	font-weight: bold;
	color: #fff;
	border-radius: 30px;
	margin: 0 5px;
	font-size: 0.625rem;/*80%;*/
	padding: 1px 10px;
}
 
.required {
	background: #FFB74D;
}
 
.option {
	background: #00a5f7;
}

/*reCAPTCHA v3の表示位置変更*/
/*https://webdesign-abc.com/howto/recaptcha-2/*/
.grecaptcha-badge{left:6px!important;width:70px!important;}
.grecaptcha-badge:hover{left:6px!important;width:256px!important;}

/*投稿ページいろいろ微調整*/
article .post-thumbnail img {
  width: 250px;
}
.post, .page {
  margin: 1.5em 0 1.5em;
}


/* # =================================================================
   # 
   # お問い合せ設定
   # 
   # ================================================================= */
   
   .form-width {
    max-width: 100%;
    width: 100% !important;
}
table.contactform{ width:100%;}
table.rwd-cf th{ display:block; padding:10px 0 0 0; border-bottom:none; font-weight:bold; }
table.rwd-cf td{ display:block; padding:0 0 10px 0; border-top:none; }
table.contactform th{
	text-align:left;
	vertical-align: middle;
}
table.contactform tr{
	border-top-width: 1px;
	border-bottom-width: 1px;
	border-top-style: solid;
	border-bottom-style: solid;
	border-top-color: #999;
	border-bottom-color: #999;
}


.f-red{
	color:#FF0000;
	/*font-size:0.5em;*/
}

/* 商談専用ボタン
*****************************************/
.btn-circle-kirby {
  display: inline-block;
  text-decoration: none;
  color: #F00;
  width: 150px;
  height: 150px;
  line-height: 150px;
  border-radius: 50%;
  text-align: center;
  overflow: hidden;
  font-weight: bold;
  background-image: linear-gradient(#3171ca 0%, #15396f 100%);
  text-shadow: -1px -1px 2px rgba(0, 0, 0);
  box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.29);
  font-size:30px;
  float:right;
}

.btn-circle-kirby:hover {
  color: #15173b;
  text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.66);
  box-shadow: inset 0 0 5px rgba(128, 128, 128, 0.32);
  background-image: linear-gradient(#3171ca 0%, #15396f 100%);
}

.btn-circle-kirby:active {
  box-shadow: inset 0 0 5px rgba(128, 128, 128, 0.32);
  background-image: linear-gradient(#519bf7 0%, #2068e3 100%);
}


/* テキストインプットとテキストエリアの基本装飾
*****************************************/
table.contactform input[type="text"],
table.contactform input[type="email"],
table.contactform textarea {
	padding: 0.8em 0;
    /* outline: none; */
    /* border: 1px solid #DDD; */
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    /* border-radius: 3px; */
    /* font-size: 16px; */
}

table.contactform textarea {
    width: 300px;
}

/* フォーカスした時のスタイルを変更
*****************************************/
table.contactform input[type="text"]:focus,
table.contactform input[type="email"]:focus,
table.contactform textarea:focus {
	box-shadow: 0 0 7px #3498db;
	border: 1px solid #3498db;
}


/* フォーカスした時のスタイルを変更
*****************************************/
table.contactform input[type="text"]:focus,
table.contactform input[type="email"]:focus,
table.contactform textarea:focus {
	box-shadow: 0 0 7px #3498db;
	border: 1px solid #3498db;
}

/* 幅
*****************************************/
table.contactform input[type="text"],
table.contactform input[type="email"] {
	-webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s;
    width: 100%;
}
/*住所の高さ
*****************************************/
.textarea-add {
  max-width: 100%;
  width: 100% !important;
  height: 10rem;
}

/*セレクトスタイル
*****************************************/
table.contactform input, table.contactform select {
    vertical-align: middle;
}
table.contactform select {
    height: 2em;
}


/* ボタンのスタイルを変更
*****************************************/
table.contactform input.sysNextSubmit {
	border-radius: 0;	
	background: -moz-linear-gradient(top, #FFF 0%, #EEE);
	background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#EEE));
	border: 1px solid #DDD;
	color: #111;
	padding: 10px 30px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

table.contactform input.sysNextSubmit:hover {
	background: -moz-linear-gradient(top, #EFEFEF 0%, #EEE);
	background: -webkit-gradient(linear, left top, left bottom, from(#EFEFEF), to(#EEE));
}

.wpcf7-submit {
	font-size: 17px;
	padding: 3px 25px;
	background: #e9e9e9; 
	color: #363B3F;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-top: none;
	border-right: none;
	border-left: none;
	border-bottom: solid 4px #dcdcdc;
}
.wpcf7-submit:hover {
	background-color: #dcdcdc;
	color: #dc143c;
}

/*reCAPTCHA v3の表示位置変更*/
/*https://webdesign-abc.com/howto/recaptcha-2/*/
.grecaptcha-badge{left:6px!important;width:70px!important;}
.grecaptcha-badge:hover{left:6px!important;width:256px!important;}

/*111周年記念イベントあわせて111歳
*****************************************/
/*input[type="checkbox"], input[type="radio"] {
    position: relative;
    margin-right: 3px;
    border: 2px solid rgba(170,170,170,0.68);
    border-radius: 2px;
    width: 30px;
    height: 30px;
    vertical-align: middle;
    background-color: rgba(170,170,170,0.32);
}*/

/*PC*/
@media screen and (min-width: 1025px) {
table.rwd-cf th{ display: table-cell; padding:0; font-weight:normal; }
table.rwd-cf td{ display: table-cell; padding:0; }

table.contactform th,
table.contactform td{
	padding:10px 5px;
	/*width: 710px;*/
}

/* フォーカス時の幅をのばす
*****************************************/
table.contactform input[type="text"],
table.contactform input[type="email"] {
	-webkit-transition: all .3s;
	-moz-transition: all .3s;
	transition: all .3s;
	width: 200px;
}

table.contactform input[type="text"]:focus,
table.contactform input[type="email"]:focus {
	width: 300px;
}

	
}
*{
  /*border: 1px solid red;*/
}

/*SNSリンクページ*/
ul.sns-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.sns-list {
  list-style: none;
}
.sns-list li {
  /*display: block;*/
  margin: 50px 50px 50px 0;
}
.sns-list li img {
  max-width: 100px;
}
.qr-code {
  display: block;
  margin-top: 50px;
}
.sns-list li:nth-child(5n) {
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .qr-code {
    display: none;
  }
  .sns-list li:nth-child(5n) {
    margin-right: 50px;
  }
}

/*
追記2025.03.03
*/
.your_subject span:nth-of-type(odd) {
  padding: 0.25rem;
  margin: 0.25rem;
}
.your_subject span:nth-of-type(even) {
  background-color: #eee;
  padding: 0.25rem;
  margin: 0.25rem;
}
.wpcf7-list-item {
  border: solid 1px #eee;
}

/*
追記2025.06.16　お問合せボタン装飾
*/
/*まずはお決まりのボックスサイズ算出をborer-boxに */
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

a.btn--orange {
  color: #fff;
  background-color: #eb6100;
  border-bottom: 5px solid #b84c00;
}
a.btn--orange:hover {
  margin-top: 3px;
  color: #fff;
  background: #f56500;
  border-bottom: 2px solid #b84c00;
}
a.btn--shadow {
  -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
  box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
}

a.btn--green {
  color: #fff;
  background-color: #227C38;
  border-bottom: 5px solid #004F44;
}

a.btn--green:hover {
  margin-top: 3px;
  color: #fff;
  color: #227C38;
  background: #00662d;
  background: #FFF;
  border-bottom: 2px solid #004F44;
}
.toll-free-number {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;/*一番太い文字*/
  font-style: normal;
  font-size: 3.0rem;
  display: block;
  margin-bottom: -30px;
  margin-top: 10px;
}
.toll-free-number img {
  vertical-align: top;
}

.needed, .unneeded {
  font-size: 0.75rem;
}
.needed {
  color: red;
}
/* コンタクトフォーム横幅調節 */
.wpcf7 input[name="your-name"] { /* 名前入力欄 */
  width: 100%;
}
.wpcf7 input[name="your-email"] { /* メール入力欄 */
  width: 100%;
}
.wpcf7 input[name="your-subject"] { /* タイトル入力欄 */
  width: 100%;
}
.wpcf7 textarea[name="your-message"] { /* 本文入力欄 */
  width: 100%;
}
.wpcf7 input[name="your-telphone"] { /* 電話入力欄 */
  width: 100%;
  max-width: 400px;
}

