@charset "utf-8";
/*-------------------------------------------------
デスクトップ1024px以上
スマホ　　　320〜900px　を想定
-------------------------------------------------*/
/*-------------------------------------------------
基本
-------------------------------------------------*/
*{ box-sizing:border-box;}

body {font-size:16px; color:#000; line-height:1.8; word-break: normal; position:relative; -webkit-text-size-adjust: none; min-width:1000px; font-weight: 500;
font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体","ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
}
/*IE10以上は游ゴシックを除外する*/
@media all and (-ms-high-contrast: none) {
body{font-family:"メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;}
}
/*Edgeでデフォルトに戻す*/
@supports (-ms-accelerator:true) {
body{font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体","ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;}
}
/*スマホ*/
@media(max-width:900px){
body {min-width: 320px; font-size:14px; background-size: 83px auto;}
}

/*03スマートフォントUI*/
@font-face {
font-family: 'smart';
src:url('../font/03SmartFontUI.eot') format('eot');/* IE9～ */
src:
url('../font/03SmartFontUI.woff') format('woff'), /* 最新ブラウザ */
url('../font/03SmartFontUI.ttf') format('truetype'); /* その他ブラウザ */
}
.sm{font-family:"smart","Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体","ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;}
/*IE10以上は游ゴシックを除外する*/
@media all and (-ms-high-contrast: none) {
.sm{font-family:"smart","メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;}
}
/*Edgeでデフォルトに戻す*/
@supports (-ms-accelerator:true) {
.sm{font-family:"smart","Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体","ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;}
}

/*明朝系WEBフォント*/
@font-face {
font-family: 'min';
src:url('../font/ngtmp.eot') format('eot');/* IE9～ */
src:
url('../font/ngtmp.woff') format('woff'), /* 最新ブラウザ */
url('../font/ngtmp.ttf') format('truetype'); /* その他ブラウザ */
}
.min{font-family:"游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "min" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;}
/*IE10以上は游明朝は除外し、webフォント優先とする*/
@media all and (-ms-high-contrast:none){
.min{font-family:"ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "min" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;}
}
/*Edgeでデフォルトに戻す*/
@supports (-ms-accelerator:true) {
.min{font-family:"游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "min" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;}
}

p{ margin:0 0 1em;}
::selection {background: #999; color:#fff;}
::-moz-selection {background: #999; color:#fff;}

img{max-width:100%; position:relative; line-height:1; vertical-align:middle; backface-visibility: hidden;}

a{color:inherit; text-decoration: none; transition:color 0.2s,background 0.2s,opacity 0.2s,border 0.2s;}
a:hover {text-decoration: none;}
a img,.bl{ transition:color 0.2s,background 0.2s,opacity 0.2s;}
a:hover img,.bl:hover{ opacity:0.8;}.bl:hover img,.bl:hover .button{ opacity:1; text-decoration:none;}
a.linktext{text-decoration: underline; color:#AF5600;}
a.linktext:hover{text-decoration: none; color:#FF7E00;}

/* -----------------------------------------------------------
ボタン
----------------------------------------------------------- */
.button,input.button{padding:0.7em 2em; line-height: 1.4; font-weight:bold; text-align:center; vertical-align:middle; cursor: pointer; border-radius:0.2em; position:relative; display:inline-block; color:#fff !important; background:#209F20; border:1px solid rgba(0,0,0,0.3); box-shadow:0 0 0 1px rgba(255,255,255,0.3) inset, 0 0 0.3em rgba(0,0,0,0.3); text-decoration:none !important;
 transition:color 0.2s,background 0.2s,opacity 0.2s;}
.button:hover{opacity:0.8;}

/*色分け*/
.button.green{background: linear-gradient(to bottom,#32C84E,#139022);}
.button.reverse{color:#209F20 !important; background: #fff; border-color:#209F20;}

/*ボタン　アイコン*/
.button.next{ padding-left: 3em; padding-right: 3em;}
.button.next:after{font-family:"Font Awesome 5 Free"; font-weight:600; content: "\f054"; display:block; position:absolute; top:50%; right:1em; transform: translateY(-50%); font-size: 0.7em;}
.button.link{ padding-left: 3em; padding-right: 3em;}
.button.link:after{font-family:"Font Awesome 5 Free"; font-weight:600; content: "\f35d"; display:block; position:absolute; top:50%; right:1em; transform: translateY(-50%); font-size: 0.7em;}

.linkbtnwrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1em;
}
.linkbtnwrap .box{
    width: 100%;
    max-width: 320px;
    margin: 0;
}
.linkbtnwrap .link{
    display: flex;
    gap: 15px;
    justify-content: center;
    align-items: center;
    height: 100%;
    font-weight: bold;
    color: #fff !important;
    background: #209F20;
    border: 1px solid rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    padding: .7em 15px;
    box-shadow: 0 0 0 1px rgba(255,255,255,0.3) inset, 0 0 0.3em rgba(0,0,0,0.3);
}
.linkbtnwrap .link i{
    font-size: 145%;
}
.linkbtnwrap .link:hover{
    opacity: 0.8;
}


/* -----------------------------------------------------------
ボタンのアニメーション
----------------------------------------------------------- */
.button.animation{overflow: hidden;}
.button.animation:before{background: linear-gradient(to right,rgba(255,255,255,0),rgba(255,255,255,1),rgba(255,255,255,0)); content: ""; display: block; width: 50%; height: 100%; position: absolute; z-index: 1; top: 0; left: -50%; pointer-events: none;}
.button.animation.active:before{ animation: button_animation 1s cubic-bezier(0.8,0,0.3,1) 1;}
@keyframes button_animation{100%{width: 50%; left: 100%;}}

/* -----------------------------------------------------------
文字色
----------------------------------------------------------- */
.color{color: #209F20;}
.color.red{color: #CC0000;}
.color.orange{color: #FF6600;}

.color.facebook,.fa-facebook{color: #1b77f4;}
.color.instagram,.fa-instagram{color: #ca3092;}


/* -----------------------------------------------------------
アンダーライン
----------------------------------------------------------- */
strong.underline{background: linear-gradient(transparent 50%, #D5FFF0 0%); text-shadow: 0 1px 0 #fff;}
strong.underline.color_色の名前{background: linear-gradient(transparent 50%, #カラーコード 0%);}

/* -----------------------------------------------------------
その他
----------------------------------------------------------- */
hr{ height:1px; background:rgba(0,0,0,0.33); overflow:hidden; clear:none; margin:1.5em 0 1.5em;}
small{ font-size:80%;}
.left{ text-align:left;}
.right{ text-align:right;}
.center{ text-align:center;}
.oh{ overflow:hidden;}
.ib{ display:inline-block;}
.indent{ padding-left:1em; text-indent:-1em;}
.normal{ font-weight:500;}
.bold{ font-weight:bold;}
.palt{font-feature-settings: "palt";}

/* -----------------------------------------------------------
PC調整
----------------------------------------------------------- */
@media(min-width:901px){
.pcHidden,.sp{ display:none !important;}
a[href^="tel:"]{pointer-events: none; font-weight: inherit !important; text-decoration: none !important; color: inherit !important;}
.center-left{ text-align:center;}
.left-center{ text-align:left;}
.right-center{ text-align:right;}
.right-left{ text-align:right;}
}
/* -----------------------------------------------------------
スマホ調整
----------------------------------------------------------- */
@media(max-width:900px){
.spHidden,.pc{ display:none !important;}
a[href^="tel:"]{pointer-events:inherit; }
.center-left{ text-align:left;}
.left-center{ text-align:center;}
.right-center{ text-align:center;}
.right-left{ text-align:left;}
.spWidth100per{ width:100% !important;}
.spWidth90per{ width:90% !important;}
.spWidth80per{ width:80% !important;}
.spWidth70per{ width:70% !important;}
.spWidth60per{ width:60% !important;}
.spWidth50per{ width:50% !important;}
.spWidth40per{ width:40% !important;}
.spWidth30per{ width:30% !important;}
.spWidth20per{ width:20% !important;}
.spWidth10per{ width:10% !important;}
.spFontSize80per{font-size: 80% !important;}
.spFontSize90per{font-size: 90% !important;}
.spFontSize100per{font-size: 100% !important;}
.spFontSize110per{font-size: 110% !important;}
.spFontSize120per{font-size: 120% !important;}
.spFontSize130per{font-size: 130% !important;}
.spFontSize140per{font-size: 140% !important;}
.spFontSize150per{font-size: 150% !important;}
.spFontSize160per{font-size: 160% !important;}
.spFontSize170per{font-size: 170% !important;}
.spFontSize180per{font-size: 180% !important;}
.spFontSize190per{font-size: 190% !important;}
.spFontSize200per{font-size: 200% !important;}
}

/* -----------------------------------------------------------
ページ
----------------------------------------------------------- */
.page{ position:relative; padding-top: 110px; padding-bottom:100px;}
/*スマホ*/
@media(max-width:900px){.page{ padding-top:60px;}}

/* -----------------------------------------------------------
ラッパー　コンテナー
----------------------------------------------------------- */
.wrapper{}
.wrapperInner{ padding:60px 20px; position:relative; z-index: 20;}
.wrapperInner.white{background: #fff;}
.container {max-width:960px; margin:auto;}
.container a{font-weight: bold; text-decoration: underline; color: #00542b;}
.container a:hover{text-decoration: none; color: #00AA00;}
.container.wide{ max-width:1160px;}
.container.wide.super{ max-width:1360px;}
.section_block{ margin-bottom:6em; position:relative; z-index:1;}
.section_block:last-child{ margin-bottom:0;}
.narrow{ max-width:760px; margin:auto;}
.wide .narrow{ max-width:960px;}
.wide .narrow .narrow{max-width: 760px;}
.wide.super .narrow{ max-width:1160px;}
.wide.super .narrow .narrow{ max-width:960px;}
.wide.super .narrow .narrow .narrow{ max-width:760px;}
/*スマホ*/
@media(max-width:900px){
.wrapperInner{padding:40px 10px;}
.container,.container.wide,.container.wide.super{ max-width:80%;}
}
/*スマホ*/
@media(max-width:440px){
.container,.container.wide,.container.wide.super{ max-width:100%;}
}

/* -----------------------------------------------------------
区切り線
----------------------------------------------------------- */
hr.anc{ background:none; border:none; height: 0px; margin-bottom: 0; margin-top: -100px !important; padding-top: 120px !important; overflow: hidden; position:relative; z-index:-1; pointer-events: none;}
.anc_i{
    display: block;
    margin-top: -120px;
    padding-top: 120px;
}
/*スマホ*/
@media(max-width:900px){
    hr.anc{margin-top: -60px !important; padding-top: 60px !important;}
    .anc_i{
        margin-top: -60px;
        padding-top:60px;
    }
}


/* -----------------------------------------------------------
object-fit + IE対応
----------------------------------------------------------- */
.object-fit{
object-fit: cover;
font-family: 'object-fit: cover;'/*IE対応*/
}
.object-fit.contain{
object-fit: contain;
font-family: 'object-fit: contain;'/*IE対応*/
}

/*-------------------------------------------------
画像のマスク
-------------------------------------------------*/
.image.mask{overflow:hidden; position: relative;
box-shadow: 0 0 0 1px rgba(0,0,0,0.1) inset;
background-repeat: no-repeat;
background-image:url("../img/blank_logo.jpg");
background-position: center;
background-size:cover;
transition:opacity 0.2s;
}
.image.mask img{ margin:0; opacity:0; width:100%;}
.image.mask.anc:hover{opacity: 0.8;}
a:hover .image.mask{opacity: 0.8;}

/* -----------------------------------------------------------
日付
----------------------------------------------------------- */
span.date{font-weight: 500; display: inline-block;}
span.date:before{ font-family:"Font Awesome 5 Free"; font-weight:300; content:"\f017"; margin-right:0.5em;}

/* -----------------------------------------------------------
ナビゲーションリスト
----------------------------------------------------------- */
ul.nav{ margin:0 0 1em;}
ul.nav li:first-child{ border-top:1px solid rgba(0,0,0,0.2);}
ul.nav li{ border-bottom:1px solid rgba(0,0,0,0.2); line-height:1.4; position:relative; overflow: hidden; padding: 1em;}
ul.nav li>a{text-decoration: none; display: block; position: relative; overflow:hidden; margin: -1em; padding:1em 2em 1em 1em; font-weight: inherit;}
ul.nav li>a:after{font-family:"Font Awesome 5 Free"; font-weight:600; content: "\f054"; display:block; width:1em; height:1em; line-height:1em; font-size:0.8em; margin-top:-0.5em; position:absolute; top:50%; right:1em; text-align:center;}
ul.nav li>a[target="_blank"]:after{content: "\f35d";}
ul.nav li>a:hover{background: #DFFFE3;}
ul.nav .image{float:left; width:20%; margin:0 1em 0 0;}
ul.nav .image.mask{ width:4.8em; height:4.8em;}
ul.nav .text{ overflow:hidden;}
ul.nav .text h2,ul.nav .text h3,ul.nav .text h4{border:none; padding:0; margin:0 0 0.3em; background:none; font-size:110%; line-height: 1.4; letter-spacing:0; display: block;}
ul.nav .text p{ margin:0; font-size:90%; line-height: 1.6;}
ul.nav .text .longComment{margin: 0 !important; font-size: 90%; line-height: 1.6;}
ul.nav span.date{font-size:80%; padding: 0 0.1em; margin: 0 0 0.3em;}
/*スマホ*/
@media(max-width:900px){
ul.nav{ margin-left:-10px; margin-right:-10px;}
}
/* -----------------------------------------------------------
サブナビ
----------------------------------------------------------- */
.snav{ display:block; margin:1.5em auto; padding:0 20px; max-width:1920px; position:relative; z-index:39;}
.snav+.wrapperInner{ padding-top:0;}
.snav:first-child{}
	/*トリガーでナビが非表示になってもPCのとき強制的にナビ表示*/
	@media(min-width:901px){.snav .inner{ display:block !important;}}
.snav div.center.head{ font-weight:bold; margin:0 0 0.7em; font-size:140%; line-height: 1.4; position:relative; color: #cc0000;}
/*.snav div.center.head:before{ background:linear-gradient(to right,rgba(204,0,0,0.2),rgba(204,0,0,1),rgba(204,0,0,0.2));position:absolute; bottom:0; left:0; display:block; width:100%; height:1px; content:"";}*/
.eyeCatch+.snav div.center.head{ display:none;}

.snav ul.nav>li a{ font-weight:bold; margin: 0; padding: 0;}
.snav ul.nav>li a:hover{color: #cc0000; background: rgba(255,0,0,0.1);}
.snav ul.nav>li a.current{color: #cc0000; background: rgba(255,0,0,0.1);}
/*pcのみ*/
@media(min-width:901px){
.snav ul.nav{ margin-bottom:0px; overflow:hidden; padding:0 0 0; text-align:center; border:none;}
.snav ul.nav>li{display:inline-block; border-bottom:none; vertical-align:top; padding:0; margin: 0.5em 0; border: 1px solid rgba(0,0,0,0.2); border-radius:3px;box-shadow:0 0 0 1px rgba(255,255,255,0.8) inset, 0 0 0.3em rgba(0,0,0,0.1); background:linear-gradient(to bottom,#fff 0%,#fff 49.9%,#eee 50%,#fff 100%);}
.snav ul.nav>li a{display:block; position:relative; padding:0.7em 2em;}
.snav ul.nav>li a:after{display: none;}
}
/*スマホ*/
@media(max-width:900px){
.snav{ display:block; margin:1.5em auto; padding:0;}
.snav+.inner{ padding-top:1em;}
.snav ul.nav{ margin:20px 0 0; padding:0 0 20px;}
.snav ul.nav>li{ padding:0;}
.snav ul.nav>li a{ padding:1em 30px 1em 1em; display:block;}
.snav ul.nav>li a:after{font-family:"Font Awesome 5 Free"; font-weight:600; content: "\f054"; display:block; width:1em; height:1em; line-height:1em; font-size:0.8em; margin-top:-0.5em; position:absolute; top:50%; right:1em; text-align:center;}
.snav .trigger{ display:none;}/*コンテンツ下部のサブナビはすでに展開させておくのでトリガーは非表示*/
/*サブナビ＿トリガー*/
.snav .trigger{ position:relative; text-align:center; display:block; margin:0 auto 0; width: 60%; max-width: 300px; height:50px; color: #cc0000;
 border: 1px solid rgba(0,0,0,0.2); border-radius:3px; box-shadow:0 0 0 1px rgba(255,255,255,0.8) inset, 0 0 0.3em rgba(0,0,0,0.1); background:linear-gradient(to bottom,#fff 0%,#fff 49.9%,#eee 50%,#fff 100%);
transition:color 0.2s,background 0.2s;}
.snav .trigger+.inner{ display:none;}
.snav .trigger:before{content:"サブメニュー"; position:absolute; left:0; bottom:8px; right:0; font-size:10px; line-height:1;}
.snav .trigger:after{ content:"\f142"; font-family:"Font Awesome 5 Free"; font-weight:600; font-size:18px; line-height:32px; position: relative;}
.snav .trigger.open{ background:#cc0000; color: #fff; box-shadow:0 0 0 1px rgba(255,255,255,0.2) inset, 0 0 0.3em rgba(0,0,0,0.2);}
.snav .trigger.open:before{content:"閉じる";}
.snav .trigger.open:after{ content:""; display: inline-block; width:20px; height: 13px; line-height:inherit; background: url(../img/timesw.png) no-repeat center center; background-size: contain; top: 5px;}
}
/* -----------------------------------------------------------
複製されたサブナビ
----------------------------------------------------------- */
.snav.clone{ margin:/*2em*/ auto;}
/*スマホ*/
@media(max-width:900px){
.snav.clone{}
.snav.clone div.center.head{}
.snav.clone div.center.head:before{}
.snav.clone .trigger{ display:none;}
.snav.clone .trigger+.inner{ display:block;}
.snav.clone ul.nav{ margin:0; border-top: none;}
}

/* -----------------------------------------------------------
見出し
----------------------------------------------------------- */
h1{ line-height:1.4; font-size:40px; font-weight:bold; padding:0; margin:0 0 0.7em; position:relative;}
h2{ line-height:1.4; font-size:30px; font-weight:bold; padding:0; margin:0 0 0.7em; position:relative;}
    h2.small{font-size: 25px;}
    h2.large{font-size: 40px;}
h3 { line-height:1.4; font-size:25px; font-weight:bold; padding:0; margin:0 0 0.7em; position:relative;}
    h3.small{font-size: 20px;}
    h3.large{font-size: 30px;}
h4{ line-height:1.4; font-size:20px; font-weight:bold; padding:0; margin:0 0 0.7em; position:relative;}
h5{ line-height:1.4; font-size:18px; font-weight:bold; padding:0; margin:0 0 0.7em; position:relative;}
h6{ line-height:1.4; font-size:16px; font-weight:bold; padding:0; margin:0 0 0.7em; position:relative;}

/*主な要素直下の見出しは、上部に適度なマージン*/
p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,
br+h1,br+h2,br+h3,br+h4,br+h5,br+h6,
div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,
table+h1,table+h2,table+h3,table+h4,table+h5,table+h6,
ol+h1,ol+h2,ol+h3,ol+h4,ol+h5,ol+h6,
ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6
{ margin-top:2em;}

/*PCのみ*/
@media(min-width:901px){
/*グリッド内の見出しはコンパクトに*/
.grid2 h2,.grid3 h2,.grid4 h2,.grid5 h2,.grid6 h2{ font-size:25px;}
    .grid2 h2.small,.grid3 h2.small,.grid4 h2.small,.grid5 h2.small,.grid6 h2.small{ font-size:20px;}
    .grid2 h2.large,.grid3 h2.large,.grid4 h2.large,.grid5 h2.large,.grid6 h2.large{ font-size:30px;}
.grid2 h3,.grid3 h3,.grid4 h3,.grid5 h3,.grid6 h3{ font-size:20px;}
.grid2 h4,.grid3 h4,.grid4 h4,.grid5 h4,.grid6 h4{ font-size:18px;}
}

/*スマホ*/
@media(max-width:900px){
h1{ font-size:24px;}
h2{ font-size:20px;}
    h2.small{font-size: 18px;}
    h2.large{font-size: 24px;}
h3{ font-size:18px;}
    h3.small{font-size: 16px;}
    h3.large{font-size: 20px;}
h4{ font-size:16px;}
h5{ font-size:15px;}
h6{ font-size:14px;}
}

/* -----------------------------------------------------------
棒のアニメーション
----------------------------------------------------------- */
.animation.bar{position: relative; display: inline-block;}
.animation.bar:before{content:""; display: block; width:100%; height:100%; background: #0b351a; position: absolute; top: 0; right: 0; z-index: 1;}
.animation.bar.active:before{animation: animation_bar 1.2s 0s cubic-bezier(1,0,0,1) both;}
.animation.bar:after{content:""; display: block; width:100%; height:100%; background: #fff; position: absolute; top: 0; right: 0; z-index: 2; }
.animation.bar.active:after{animation: animation_bar 1s 0s cubic-bezier(0.5,0,0,1) both;}
@keyframes animation_bar{0%{width: 100%;}100%{width: 0.001%;}}

/* -----------------------------------------------------------
フェードインアニメーション
----------------------------------------------------------- */
.animation.fadein{opacity: 0;}
.animation.fadein.active{animation: animation_fadein 1s 0s ease-out both;}
@keyframes animation_fadein{100%{opacity: 1;}}

/* -----------------------------------------------------------
ズームインアニメーション
----------------------------------------------------------- */
.animation.zoomin{opacity: 0; transform: scale(0.1);}
.animation.zoomin.active{animation: animation_fade 1s 0s cubic-bezier(0,0,0,1) both;}
@keyframes animation_fade{100%{opacity: 1; transform: scale(1);}}

/* -----------------------------------------------------------
アイキャッチ見出し
----------------------------------------------------------- */
.eyeCatch{position: relative; overflow: hidden; background: #BA9B67; }
.eyeCatch .text{position: relative; z-index: 10; text-shadow: 0 1px 0 rgba(0,0,0,0.5); background: url(../img/ec.jpg) no-repeat center center / cover;  color: #fff;}
.eyeCatch .text>*{font-size:35px; text-align: center; padding: 4vw 0.5em 4vw 0.7em; letter-spacing: 0.2em; font-feature-settings: "palt"; line-height: 1.4; margin: 0; font-weight: bold; position: relative;}
.eyeCatch .text>* .small{font-size: 50%; display: block; font-weight: 500; letter-spacing: 0; padding-right: 0.4em;}
/*スマホ*/
@media(max-width:900px){
.eyeCatch .text>*{font-size: 24px; padding-top: 20px; padding-bottom: 20px;}
}

/* -----------------------------------------------------------
アイキャッチ見出し_画像があるとき
----------------------------------------------------------- */
.eyeCatch .image{float: right; width: 50%; height: 28.15vw; position: relative; z-index: 5; background-image: none; background-color: #BA9B67;}
.eyeCatch .image+.text{display:flex; justify-content: center; align-items: center; width: 50%; height: 100%; position: absolute; top: 0; left: 0; bottom: 0;}
.eyeCatch .image+.text:after{}
.eyeCatch .image video{width: 102%;}
/*スマホ*/
@media(max-width:480px){
.eyeCatch .image{float: none; width: 100%; height: 56.3vw;}
.eyeCatch .image+.text{display:block; width: 100%; position: relative;}
.eyeCatch .image video{width: 100%;}
}

/* -----------------------------------------------------------
アイキャッチ見出しのアニメーション
----------------------------------------------------------- */
.eyeCatch .image:before{content:""; display: block; width:100%; height:100%; background: rgba(186,155,103,0.9);  position: absolute; top: 0; right: 0; z-index: 1;
animation: eyeCatch_image_before 1s 1s linear both;}
.eyeCatch .image.video:before{background: linear-gradient(to bottom,rgba(11,53,26.5),rgba(75,115,63,0.5)); }
/*スマホ*/
@media(max-width:479px){
.eyeCatch .image:before{}
}
@keyframes eyeCatch_image_before{100%{opacity: 0;}}

.eyeCatch .image:after{content:""; display: block; width:100%; height:100%; background: url(../img/onpu.gif) no-repeat center center; background-size: 50% auto; position: absolute; top: 0; right: 0; z-index: 2; mix-blend-mode: overlay;
animation: eyeCatch_image_after 1s 2s linear both;}
@keyframes eyeCatch_image_after{100%{opacity: 0;}}

.eyeCatch .image+.text:before{content: ""; display: block; width: 4px; height: 0.1%; background: #fff; position: absolute; top: 0; right: -2px;
animation: eyeCatch_text_after 2s 0s ease-in-out both;}
/*スマホ*/
@media(max-width:479px){
.eyeCatch .image+.text:before{ width: 0.1%; height: 4px; top: -2px; right: auto; left: 0;
animation: eyeCatch_text_after_sp 2s 0s ease-in-out both;}
}
@keyframes eyeCatch_text_after{
50%{height: 100%; opacity: 1; top: 0;}
50.1%{height: 100%; opacity: 1; top: auto; bottom: 0;}
100%{height: 0.1%; opacity: 0; top: auto; bottom: 0;}
}
@keyframes eyeCatch_text_after_sp{
50%{width: 100%; opacity: 1; left: 0;}
50.1%{width: 100%; opacity: 1; left: auto; right: 0;}
100%{width: 0.1%; opacity: 0; left: auto; right: 0;}
}

/* -----------------------------------------------------------
見出しのスタイル
----------------------------------------------------------- */
h2.underline{border-bottom: 2px solid #080059; padding-bottom: 0.7em; margin-bottom: 1em;}
h2.underline.green{border-bottom: 2px solid #009749; padding-bottom: 0.7em; margin-bottom: 1em;}

/*見出しスタイル*/
h3.style{ padding:0.3em 0.3em 0.3em 0.9em; background: #f5f5f5;}
h3.style:before{ content:""; display:block; width:0.4em; height:auto; position:absolute; top:0; left:0; bottom: 0; background:linear-gradient(to bottom,#1000B2,#080059);}
h3.style.green:before{background:linear-gradient(to bottom,#32C84E,#139022);}

/* -----------------------------------------------------------
リスト
----------------------------------------------------------- */
/*チェックリスト*/
ul.check{margin: 0 0 1em;}
ul.check>li{ position:relative; padding:0.2em 0 0 2.2em; margin: 0 0 0.7em; line-height:1.6;}
ul.check>li:before{ position:absolute; content:""; top:0.2em; left:0; z-index:1; border:1px rgba(0,0,0,0.3) solid; background: #fff; display: inline-block; width: 1.4em; height: 1.4em; border-radius: 0.2em;}
ul.check>li:after{ position:absolute; content:"\f00c"; font-family:"Font Awesome 5 Free"; font-weight:600; top:-0.1em; left:0.2em; z-index:2; font-size:140%; color:#209F20;}
/*色分け*/
ul.check.pink>li:after{ color:#ff7373;}

/*discリスト*/
ul.disc{ margin:1em 0; padding:0 0 0 1em;}
ul.disc>li{ list-style:disc outside; line-height:1.6; margin:1em 0;}

/*番号付きリスト*/
ol{ margin:1em 0; padding:0 0 0 1.5em;}
ol>li{ list-style:decimal outside; line-height:1.6; margin:1em 0;}

/* -----------------------------------------------------------
フロート操作
----------------------------------------------------------- */
img.center{ display:block; margin-left:auto; margin-right:auto; margin-bottom:1em; max-width:100%;}
.fl,.fl-center{ float:left;}
.fr,.fr-center{ float:right;}
.flm,.flm-center{ float:left; margin:0 1.5em 1.5em 0; clear:left;}
.frm,.frm-center{ float:right; margin:0 0 1.5em 1.5em; clear:right;}
/*スマホ*/
@media(max-width:900px){
.fl-center,.fr-center,.flm-center,.frm-center{float:none; width:auto; max-width:100%; display:block; margin:0 auto 1em;}
}

/* -----------------------------------------------------------
画像とテキストの組み合わせ
----------------------------------------------------------- */
.image-text{display: flex; margin-bottom: 1em;}
.image-text.align-items_center{align-items: center;}
.image-text+.image-text{margin-top: 4em;}
.image-text .image+.text{flex: 1; margin: 0 0 0 4%;}
/*PCのみ*/
@media(min-width:901px){
    .image-text .text>*:last-child{margin-bottom: 0;}
    .image-text.reverse{flex-direction: row-reverse;}
    .image-text.reverse .image+.text{margin: 0 4% 0 0;}
    .image-text .image.w1{width: 100%; max-width: 400px;}
}
/*スマホ*/
@media(max-width:900px){
.image-text{display: block;}
.image-text .image{width: auto !important; margin-bottom: 1em;}
.image-text .image+.text{width: auto !important; margin: auto;}
}

/* -----------------------------------------------------------
テキストと画像の組み合わせ
----------------------------------------------------------- */
.text-image{display: flex; margin-bottom: 1em;}
.text-image.align-items_center{align-items: center;}
.text-image+.text-image{margin-top: 4em;}
.text-image .text{flex: 1;}
.text-image .text+.image{margin: 0 0 0 4%;}
/*PCのみ*/
@media(min-width:901px){
    .text-image .text>*:last-child{margin-bottom: 0;}
    .text-image.reverse{flex-direction: row-reverse;}
    .text-image.reverse .text+.image{margin: 0 4% 0 0;}
    .text-image .image.w1{width: 100%; max-width: 400px;}
}
/*スマホ*/
@media(max-width:900px){
.text-image{display: block;}
.text-image .text{width: auto !important;}
.text-image .text+.image{width: auto !important; margin: auto; margin-top: 1em;}
}


/* -----------------------------------------------------------
テーブル
----------------------------------------------------------- */
table.style{margin:0 0 1em; padding:0; width:100%;}
table.style th{ border:1px solid #bbb; background:#eeffdf; padding:0.7em; font-weight:bold; vertical-align:middle;}
table.style td{ border:1px solid #ccc; padding:0.7em; vertical-align:middle;}
table.style td p{ margin:0.5em 0;}
/*スマホ*/
@media(max-width:900px){
table.style{ display:block; width: auto; margin: 0 -10px;}
table.style col{ display:none;}
table.style tbody{display:block;}
table.style tr{display:block;}
table.style tr:last-child{}
table.style th{display:block; border:none; padding:0.5em 10px; background:#dcf9c0;}
table.style td{display:block; border:none; padding:0.5em 10px 1.5em;}
}


.must { border:1px solid #c00; color: #c00; background: #fff; display: inline-block; font-size: 13px; font-weight: bold; line-height: 1.5em; padding: 0 0.3em; }
.any { border:1px solid #ccc; color: #777; background: #fff; display: inline-block; font-size: 13px; font-weight: bold; line-height: 1.5em; padding: 0 0.3em; }
/*must - any*/
table.style th .must,
table.style th .any { position: absolute; right: 10px; }
table.style.mailform th{position: relative; background-clip: padding-box; width: 14em;}
table.style.mailform textarea{width: 100%;}

.table_rice .block{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.table_rice .block + .block{
    border-top:1px solid #ddd;
    padding-top:.6em;
    margin-top:.6em;
}
.table_rice .item_name{
    flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 0%;
    padding-right: 2em;
}
.table_rice .item_select{
    text-align: right;
}
@media(max-width:900px){
    table.style.mailform th{width: auto;}
}
@media(max-width:560px){
    .table_rice .item_name{padding-right: 0;}
    .table_rice .block{display: block;}
}

/* -----------------------------------------------------------
テーブル.hold（変形させない）
----------------------------------------------------------- */
/*スマホ*/
@media(max-width:900px){
table.style.hold{display: table; width: 100%; margin:0 0 1em; font-size: 90%;}
table.style.hold col{display: table-column;}
table.style.hold tbody{display:table-row-group;}
table.style.hold tr{display:table-row; margin-bottom:0;}
table.style.hold th{display:table-cell; border:1px solid #bbb; padding:0.7em;}
table.style.hold td{display:table-cell; border:1px solid #ccc; padding:0.7em;}
}
/* -----------------------------------------------------------
テーブル.ボーダー
----------------------------------------------------------- */
table.style.border tr{border-bottom:1px solid rgba(0,0,0,0.2);}
table.style.border tr:first-child{border-top:1px solid rgba(0,0,0,0.2);}
table.style.border th{ border:none; background:inherit; vertical-align:top;}
table.style.border td{ border:none; background:inherit; vertical-align:top;}
/*スマホ*/
@media(max-width:900px){
table.style.border{margin-bottom:1em;}
table.style.border tr{ padding:0; margin-bottom:0; }
table.style.border th{ padding:1em 10px 0; border-bottom:none;}
table.style.border td{ padding:0 10px 1em; border-bottom:none;}
}
/* -----------------------------------------------------------
テーブル.ボーダー.hold（変形させない）
----------------------------------------------------------- */
/*スマホ*/
@media(max-width:900px){
table.style.border.hold col{ display:table-column;}
table.style.border.hold tbody{display:table-row-group;}
table.style.border.hold tr{display:table-row; margin-bottom:0;}
table.style.border.hold th{display:table-cell;background:inherit; padding:0.7em; vertical-align:top;}
table.style.border.hold td{display:table-cell;background:inherit; padding:0.7em; vertical-align:top;}
}

/* -----------------------------------------------------------
はみ出た分を横スクロール
----------------------------------------------------------- */
.you_can_swipe{ display: none;}
/*スマホ*/
@media(max-width:900px){
.you_can_swipe{display: block; text-align:center; font-size:80%; margin:0 0 0.5em;}
.overflow-x-wrapper{ overflow-x:auto; -webkit-overflow-scrolling: touch; margin: auto calc(-10vw - 10px);}
.overflow-x-wrapper>div{padding: 0 calc(10vw + 10px); width: 800px; box-sizing: content-box;}
}
/*スマホ*/
@media(max-width:440px){
.overflow-x-wrapper{ margin: auto -10px;}
.overflow-x-wrapper>div{padding: 0 10px;}
}

/* -----------------------------------------------------------
アコーディオン　デフォルト
----------------------------------------------------------- */
.ac{}
.ac .trigger{ cursor:pointer; background:#ffffff; padding:1em 2em 1em 1em; display:block; vertical-align:middle; border:1px solid rgba(0,0,0,0.15); position:relative; margin-bottom: 1px;
transition:color 0.2s,background 0.2s,border 0.2s,opacity 0.2s,margin 0.4s,width 0.4s; }
.ac .trigger *{ margin:0;}
.ac .trigger h2,.ac .trigger h3,.ac .trigger h4,.ac .trigger h5{ border:none; padding:0; margin:0; background:none; font-size:120%; letter-spacing:0;}
.ac .trigger:hover{background:#F3F0E5;}
.ac .trigger.open{ margin-bottom:0; border-bottom-color: rgba(0,0,0,0); background:#BA9B67; color: #fff; text-shadow: 0 1px 0 rgba(0,0,0,0.5); margin-top:2em;}
.ac .trigger:first-child.open{margin-top:0px;}
.ac .trigger:after {font-family:"Font Awesome 5 Free"; font-weight:600; content: "\f067"; display:block; width:1em; height:1em; line-height:1em; font-size:0.8em; margin-top:-0.5em; position:absolute; top:50%; right:1em; text-align:center; color: #209F20;
transition:0.2s color,0.4s transform;}
 .ac .trigger.open:after{ transform:rotate(135deg); color: #BA0000;}
.ac .trigger+*{ display:none; border:1px solid #ccc; border-top:0; margin-bottom:2em; background:rgba(255,255,255,1); padding:1em; position:relative;}

/* -----------------------------------------------------------
アコーディオン　Q and A
----------------------------------------------------------- */
.ac.qanda .trigger,.ac.qanda .trigger+*{ padding-left:3.2em;}
.ac.qanda .trigger:before,.ac.qanda .trigger+*:before{content: "Q"; display:block; font-weight:bold; width:2em; height:2em; line-height:2em; text-align:center; position:absolute; top:0.8em; left:0.5em; border-radius:99px; color:#fff; background-color:#209F20;}
.ac.qanda .trigger.open:before{background-color:#6F4B10;}
.ac.qanda .trigger+*:before{content: "A"; background-color:#ff7373; top:0.8em;}

/* -----------------------------------------------------------
フォトスワイプ用隠したコンテンツ
----------------------------------------------------------- */
.photoSwipe.text{ position:relative;}
.photoSwipe.text img.photoSwipeDummy{ position:absolute; top:50%; left:50%; opacity:0; margin:0; padding:0; border:none; background:none; pointer-events: none;}
.photoSwipeHidden{position:fixed; z-index:-9999; top:50%; left:50%; transform: translate(-50%,-50%); opacity:0; visibility:hidden;}

/* -----------------------------------------------------------
ヘッダー（SP）
----------------------------------------------------------- */
@media(max-width:900px){
header.g{height:60px; position:fixed; top:0; left:0; right:0; z-index:100; min-width:320px; background:rgba(255,255,255,0.9); box-shadow: 0 0 0.3em rgba(0,0,0,0.2);
-webkit-backdrop-filter: saturate(200%) blur(0.2em); backdrop-filter: saturate(200%) blur(0.2em);}
header.g div.logo{position: absolute; z-index: 10; top:50%; left:10px; transform: translateY(-50%);}
header.g div.logo img{width:150px; transition:0.2s opacity;}
header.g .triggers{position: absolute; top: 0; right: 10px; z-index: 20;}
header.g .triggers img{height: 60px;}
}
@media(max-width:374px){
header.g div.logo img{width:140px;}
header.g .triggers{top:4px;}
header.g .triggers img{height: 50px;}
}

/* -----------------------------------------------------------
ナビゲーション（PC）
----------------------------------------------------------- */
nav.g{position:fixed; top:0; left:0; right:0; z-index: 100; height: 110px; background: rgba(255,255,255,0.9); box-shadow: 0 0 0.3em rgba(0,0,0,0.2); transition: 0.2s background;}

nav.g .migiue{position: relative; margin: auto; max-width: 1400px; min-width:1000px; padding: 0 20px 0; height: 50px; text-align: right; display: flex; align-items:center; justify-content: flex-end;}

nav.g .migiue .hnav{font-size: 80%;margin-right: 2em;}
nav.g .migiue .hnav>li{display: inline-block; margin-left: 0.7em;}
nav.g .migiue .hnav>li>a{display: block; background: #f0f0e1; padding: 0.7em; height: auto; font-weight: 500; border-radius: 0.3em;}
nav.g .migiue .hnav>li>a:hover{background: #DFFFE3; color: #00AA00;}

nav.g .migiue .tel{line-height: 1;}

nav.g .inner{position: relative; margin: auto; max-width: 1400px; min-width:1000px; padding: 0 20px 0;}
nav.g ul{display: flex; justify-content: flex-start; align-items: stretch;}
nav.g ul>li{flex-grow: 1; position: relative;}
nav.g ul>li>a{text-align: center; height: 60px; line-height: 1.2; position: relative; font-weight: bold; display: flex; justify-content: center; align-items: center;}
nav.g ul>li>a:hover{background: #DFFFE3; color: #00AA00;}
nav.g ul>li>a.current{background: #DFFFE3; color: #00AA00;}

nav.g ul>li.logo{width: 14%; margin: 0 4% 0 0; position: relative; top: -25px;}
nav.g ul>li.logo a{line-height: inherit; justify-content: flex-start;}
nav.g ul>li.logo a:hover{background: none;}
nav.g ul>li.logo img{max-height: 70px;}

nav.g ul>li>a.contact{color: #FF6600;}
nav.g ul>li>a.contact:hover{background: #FFE0CC;}

nav.g ul>li.clone{display: none;}
/*狭くなったら*/
@media(max-width:1400px) and (min-width:901px){
nav.g{font-size: 1.2vw;}
}

.page_center .nav_center,
.page_item .nav_item,
.item_page_okome .nav_item_okome,
.item_page_omochi .nav_item_omochi,
.item_page_miso .nav_item_miso,
.item_page_other .nav_item_other,
.page_law .nav_law,
.page_voice .nav_voice,
.page_news .nav_news,
.page_company .nav_company,
.page_faq .nav_faq,
.page_ajidayori .nav_ajidayori,
.page_reservation .nav_reservation,
.page_recipe .nav_recipe,
.page_myrecipe .nav_myrecipe,
.page_organic .nav_organic,
.page_special .nav_special,
.page_media .nav_media,
.page_contact .contact.nav_contact{
    color: #00a568;
}

/* -----------------------------------------------------------
ナビゲーション（SP）
----------------------------------------------------------- */
@media(max-width:900px){
nav.g{width: 100%; height: 100%; position: fixed; top: 0; left: auto; right: -100%; bottom: 0; transition: 0.2s right; background: rgba(245,245,245,1.0); font-size: 16px;
-webkit-backdrop-filter: saturate(200%) blur(0.2em); backdrop-filter: saturate(200%) blur(0.2em);}
nav.g.open{right: 0;}
nav.g .triggerClose{text-align: right; line-height: 60px; padding: 0 20px 0 0; background: #209f20;}
nav.g .triggerClose img{height: 26px;}
nav.g .inner{width: 100%; height: calc(100vh - 60px); overflow-y: scroll; -webkit-overflow-scrolling: touch; min-width: inherit; padding: 0 0 60px;}
nav.g ul{display: block;}
nav.g ul>li>a{height: auto; line-height: 1.4; text-align: left; padding: 1.15em 2em 1.15em 2em; border-bottom: 0.5px solid rgba(0,0,0,0.2); display: block; position: relative; font-weight:bold;}
nav.g ul>li>a:after{font-family:"Font Awesome 5 Free"; font-weight:600; content: "\f054"; display:block; width:1em; height:1em; line-height:1em; font-size:0.8em; margin-top:-0.5em; position:absolute; top:50%; right:1em; text-align:center;}

nav.g ul>li.clone{display: block;}
}

/* -----------------------------------------------------------
ナビゲーション（子要素）
----------------------------------------------------------- */
nav.g.fix .child{transition: none;}/*ページ遷移時に隠していた.childがチラ見するのを防いでいる*/
nav.g .child{position: absolute; top: 60px; left: 50%; transform: translateX(-50%); background: rgba(255,255,255,1.0); width: 300px; height: auto; padding: 1em; font-size: 14px; box-shadow: 0 0 0.5em rgba(0,0,0,0.1); opacity: 0; pointer-events: none; transition: 0.2s opacity;}
nav.g ul>li.has_child.hover .child{opacity: 1; pointer-events: auto;}
nav.g .child ul{display: block; max-width: 300px; margin: auto;}
nav.g .child ul>li{display: block; min-height: inherit; border-bottom: 0.5px solid rgba(0,0,0,0.2);}
nav.g .child ul>li:last-child{border: none;}
nav.g .child ul>li>a{height: auto; display: block; padding: 1em 2em 1em 1em; text-align:left; border: none;}
nav.g .child ul>li>a:after{font-family:"Font Awesome 5 Free"; font-weight:600; content: "\f054"; display:block; width:1em; height:1em; line-height:1em; font-size:0.8em; margin-top:-0.5em; position:absolute; top:50%; right:1em; text-align:center;}
nav.g .child ul>li>a:hover{background: #DFFFE3;}
nav.g .child ul>li>a.current:before{content: ""; display: block; width: 7px; height: 100%; background: #fff; position: absolute; bottom: 0; left: 0;}

nav.g .child ul>li.maker_wrap{padding: 0 1em 0 1em;}
nav.g .child ul>li.maker_wrap span.maker{display: inline-block; width: 5em;}
nav.g .child ul>li.maker_wrap>a{display: inline-block; padding: 1em 0.5em;}
nav.g .child ul>li.maker_wrap>a:after{display: none;}
/*スマホ*/
@media(max-width:900px){
nav.g .child{position: relative; top:auto; left: auto; transform: none; border-bottom: 0.5px solid rgba(0,0,0,0.2); border-radius: 0; width: auto; box-shadow: none; opacity: 1; pointer-events: auto;}
nav.g .child ul{max-width: none;}
}

/* -----------------------------------------------------------
フッター
----------------------------------------------------------- */
/*フッターのナビゲーション*/
.fnav{display: flex; align-items: flex-start; justify-content: space-between; line-height: 1.4;}
/*狭くなったら*/
@media(max-width:1200px) and (min-width:901px){
.fnav{font-size: 1.34vw;}
}
.fnav .navigations{width: 72%; display: flex; align-items: flex-start; justify-content: space-between;}
.fnav .navigations>ul>li>a{position: relative; padding: 0.3em 0 0.3em 1.3em;}
.fnav .navigations>ul>li>a:before{ position:absolute; font-family: "Font Awesome 5 Free"; content:"\f138"; top:0.3em; left:0; z-index:2; color: #ff9900;}
.fnav .navigations>ul>li>ul{padding: 0em 0 0.5em 1.3em;}
.fnav .navigations>ul>li>ul>li{font-size: 90%;}
.fnav .navigations>ul>li>ul>li>a{padding: 0.3em 0;}
.fnav a{display: inline-block;}
.fnav .banners{width: 20%;}
.fnav .banners>*{margin: 0 auto 1em; max-width: 300px;}
/*スマホ*/
@media(max-width:900px){
.fnav{display: block; font-size: 16px;}
.fnav .navigations{width: auto; display: block; margin: 0 auto 3em;}
.fnav .banners{width: auto;}
}

/*フッター最下部のバナーなど*/
.footer_flex{display: flex; align-items: center; justify-content: space-between;}
.footer_flex .company{width: 33%;}
.footer_flex .company .logo{margin: 0 auto 2em;}
.footer_flex .company p{margin: 0;}
.footer_flex .banners{width: 59%; display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap;}
.footer_flex .banners>*{width: 48%; margin: 1em 0;}
/*スマホ*/
@media(max-width:900px){
.footer_flex{display: block;}
.footer_flex .company{width: auto; margin: 0 auto 2em; text-align: center;}
.footer_flex .company .logo{width: 80%; max-width: 300px;}
.footer_flex .banners{width: auto; display: block;}
.footer_flex .banners>*{width:auto; margin: 2em auto; max-width: 400px;}
}

/*コピーライト*/
address.copyright{text-align: center; font-style: normal; font-size: 80%; padding:1em; background: #C8C89B;}
/*スマホ*/
@media(max-width:440px){
address.copyright{padding-bottom: 30vw;}
}

/*ページ下部追従オンラインショップバナー*/
a.fixed_shop_banner{position: fixed; z-index:49; display:inline-block; bottom:20px; right:20px;}
a.fixed_shop_banner img{height: 100px;}
/*スマホ*/
@media(max-width:900px){
a.fixed_shop_banner img{height:60px;}
}
/*スマホ*/
@media(max-width:440px){
a.fixed_shop_banner{bottom: 0; right: 0; display: block; text-align: center; background: rgba(255,102,0,0.9);}
a.fixed_shop_banner img{height:auto; width: 80%;}
}

/*ページ先頭へ*/
a.pageTopButton{position: fixed; z-index:50; display:block; bottom:150px; right:30px; width:50px; height:50px; opacity: 0; transition:opacity 0.4s; pointer-events: none;}
a.pageTopButton.active{opacity:1; pointer-events: inherit;}
a.pageTopButton.active:hover{ opacity:0.8;}
/*スマホ*/
@media(max-width:900px){
a.pageTopButton{bottom: 100px; right:20px; width:30px; height:30px;}
}
/*スマホ*/
@media(max-width:440px){
a.pageTopButton{bottom: 34vw;}
}
@media print{
a.pageTopButton{display: none;}
}

/*ロングコメント*/
.longComment{margin: 0 0 1em;}
.longComment p{margin: 0;}


/* カートにリンク */
.goto_ec{
    background: #ffd472;
    padding: 40px 20px;
}
.goto_ec .link{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 720px;
    height: 3.6em;
    margin-right: auto;
    margin-left: auto;
    background-color: #fff;
    border: 1px solid #ffba1d;
    box-shadow: 0 3px 8px -3px rgba(0,0,0,.4);
    color: #008b47;
    font-weight: bold;
    font-size: 26px;
    line-height: 1;
    transition: background .2s, color.2s;
}
.goto_ec .link i{
    margin-right: .5em;
    font-size: 140%;
}
.goto_ec .link:hover{
    background: #008b47;
    color: #fff;
}
.goto_ec .text{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
@media(max-width:620px){
    .goto_ec .link{flex-direction: column; height: auto; padding: 15px 10px; font-size: 23px;}
    .goto_ec .link i{margin-right: 0; margin-bottom:8px;}
}


/*  */
.link_banner_block{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: -20px -5px 0;
}
.link_banner_block .block{
    padding-right:5px;
    padding-left:5px;
    margin-top:20px;
    width: 50%;
}
@media(max-width:620px){
    .link_banner_block .block{width: 100%;}
}


.page_link_wrapper .bl_card{
    display: flex;
    flex-direction: column;
}
.page_link_wrapper .bl_card::after{
    content: "詳細こちら";
    display: block;
    margin-top: auto;
    text-align: center;
    font-weight: bold;
    background: #ceffe1;
    color: #006227;
    padding: 10px;
    font-size: 14px;
    line-height: 1;
}

/*:::::*/
.ofimg{
    text-align: center;
    position: relative;
   }
   a.ofimg{
    display: block;
   }
   .ofimg:before{
    content: "";
    display: block;
    width: 100%;
    padding-bottom:72%;
   }
   .ofimg img{
    position: absolute;
    left:0;
    top:0;
    object-fit:contain;
    width: 100%;
    height: 100%;
   }
   .ofimg.cover img{
    object-fit:cover;
   }
   .object-fit-img{
    font-family: 'object-fit: contain;'
   }
   .cover .object-fit-img{
    font-family: 'object-fit: cover;'
   }

.movie_list{
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}
.movie_list .block{
    width: calc((100% - 40px) / 2);
}
.movie_list .movie_block{
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}
.movie_list iframe{
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left:0;
    top:0;
    border: none;
}
.movie_list .title{
    margin-top:15px;
    font-size: 24px;
}
.movie_list .comment{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; /* 制限したい行数が3の場合 */
    overflow: hidden;
    height: 3.5em;
    position: relative;
    margin: 0;
}
.movie_list .comment::after{
    content: "";
    display: block;
	background:linear-gradient(to bottom,
		rgba(255,255,255,0) 0%,
		rgba(255,255,255,1) 100%);
    width: 100%;
    height: 3em;
    position: absolute;
    left:0;
    bottom: 0;
}
.movie_list .more,
.movie_list .close{
    border:1px solid #ddd;
    cursor: pointer;
    background: #fff;
    border-radius: 100vw;
    font-size: 13px;
    line-height: 1;
    padding: 7px 1em;
    text-align: center;
    width: 100%;
    max-width: 140px;
    margin-right:auto;
    margin-left:auto;
    margin-bottom:0;
    position: relative;
    z-index: 2;
}
.movie_list .open .comment{
    -webkit-line-clamp:unset;
    height: auto;
}
.movie_list .open .comment::after,
.movie_list .open .more,
.movie_list .close{
    display: none;
}
.movie_list .open .close{
    display: block;
}
.movie_list .pdf_dl{
    margin-top:15px;
}
.movie_list .button i{
    margin-right: 7px;
}
@media(max-width:900px){
    .movie_list{
        gap: 40px 30px;
    }
    .movie_list .block{
        width: calc((100% - 30px) / 2);
    }
}
@media(max-width:660px) and (min-width:541px){
    .movie_list .button{
        font-size: 11px;
        padding-right:.2em;
        padding-left:.2em;
    }
    .movie_list .button i{
        display: block;
        margin-right: 0;
        margin-bottom:6px;
        font-size: 14px;
    }
}
@media(max-width:660px){
    .movie_list{
        gap: 40px 20px;
    }
    .movie_list .block{
        width: calc((100% - 20px) / 2);
    }
}
@media(max-width:540px){
    .movie_list .block{
        width: 100%;
    }
}



/*  */
.stop_orders{
    position: relative;
}
.stop_orders .txt{
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    z-index: 2;
    opacity: .85;
    pointer-events: none;
}
.stop_orders .txtinner{
    text-align: center;
    font-weight: bold;
    background: #992a32;
    color: #fff;
    border-radius: 10px;
    padding: 1.2em 2em 1em;
    margin-bottom: 0;
    line-height: 1.2;
    font-size: 130%;
}


.stop_orders_wrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    font-weight: bold;
    line-height: 1.2;
    font-size: 160%;
    margin-bottom: 3em;
    background: #992a32;
    color: #fff;
    border-radius: 10px;
    padding: 1.4em 10px;
}