@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@500;600;700;800&family=Zen+Kaku+Gothic+New:wght@400;500;700&family=Yuji+Syuku&family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Marcellus&family=Noto+Sans+TC:wght@400;500;700&family=Noto+Serif+TC:wght@500;600;700&family=Noto+Sans+SC:wght@400;500;700&family=Noto+Serif+SC:wght@500;600;700&display=swap');


/* ============================================================
   お食事処 なごみ css-pc  —  コンセプト「白川郷で、和む。」
   スキン: 生成り(和紙)×墨×焦茶(店舗の木部)。点のアクセントは暖簾の山吹色。
   フラット原則。盛るのはモーションレイヤーのみ。
   画像は ../../data/images/（CSS はプレビューでは preview/css/ から読まれる）
   ============================================================ */
:root{
  --kinari:#F4EEE3;      /* 生成り（基調） */
  --washi:#FBF8F2;       /* 和紙（明） */
  --sumi:#2A2724;        /* 墨（本文） */
  --sumi2:#6B655C;       /* 薄墨 */
  --wood:#4A392C;        /* 焦茶（店舗の木部） */
  --wood2:#2E241D;       /* 夜の焦茶 */
  --yama:#C6952D;        /* 山吹（暖簾）— 点でのみ使う */
  --line:#D9D0C0;
  --hd-h:76px;
  --mincho:"Shippori Mincho","Hiragino Mincho ProN",serif;
  --gothic:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN",sans-serif;
  --fude:"Yuji Syuku",var(--mincho);
  --en:"Cormorant Garamond",Georgia,serif;
  --num:"Marcellus","Shippori Mincho","Hiragino Mincho ProN",serif;   /* 数字用（ライニング数字）。和文は明朝へフォールバック */
  /* --- テーマ既定（css-theme / css-pc）が参照する基底変数 --- */
  --font1:var(--gothic);
  --font2:var(--mincho);
  --font3:var(--en);
  --line-height:2;
  --font-weight:400;
  --letter-spacing:.06em;
  --font-size1:15px;
  --text1:var(--sumi);
  --main1:var(--wood);
  --main2:var(--yama);
  --dark:var(--wood2);
  --light:var(--kinari);
  --footer-text:var(--sumi);
  --footer-text-hover:var(--sumi2);
  --foot-border:1px solid var(--line);
  --sec-width:1160px;
  --sec-narrow-width:800px;
  --sec-narrow-width2:800px;
  --smb:32px;
  --sec-pad:0px;
  --gap:5%;
  --scbg1:var(--kinari);
  --scbg2:var(--washi);
  --scbg3:var(--wood2);
}
/* テーマ既定の * リセット（font-size/line-height/font-weight を全要素に付与）を、
   インライン要素では親からの継承に戻す（WOW案は継承前提で書かれている） */
*{margin:0;padding:0;box-sizing:border-box;}
span,a,b,strong,em,i,time,li,dt,dd,th,td,label,summary,cite,figcaption{font-size:inherit;line-height:inherit;font-weight:inherit;}
b,strong{font-weight:700;}
small{font-size:smaller;}
html{scroll-behavior:smooth;}
body{font-family:var(--gothic);color:var(--sumi);background:var(--washi);line-height:2;font-size:15px;letter-spacing:.06em;overflow-x:hidden;}
img,svg{max-width:100%;vertical-align:middle;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
.inner{width:auto;max-width:1160px;margin:0 auto;padding:0 32px;}
.inner.narrow{width:auto;max-width:800px;}
.jp{font-family:var(--mincho);}
.en{font-family:var(--en);}
.num{font-family:var(--num);}
.fude{font-family:var(--fude);}
.faq{display:block;}   /* テーマ既定の .faq{display:grid} を打ち消す（当サイトの .faq はセクション） */

/* 和紙の質感（極薄ノイズ・機能的）*/
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.35;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.3 0 0 0 0 0.25 0 0 0 0 0.2 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");}
/* main に z-index を付けない（#op はページ section 内＝main 内にあるため、main がスタッキング文脈を作ると fixed ヘッダーの下に潜る） */
main{position:relative;}

/* ---------- 見出し ---------- */
.sh{margin-bottom:48px;}
.sh .sh__en{display:block;font-family:var(--en);font-style:italic;font-size:15px;letter-spacing:.12em;color:var(--sumi2);margin-bottom:8px;}
.sh .sh__en::before{content:"";display:inline-block;width:8px;height:8px;background:var(--yama);margin-right:12px;vertical-align:2px;}
.sh h2{font-family:var(--mincho);font-weight:600;font-size:38px;line-height:1.55;letter-spacing:.06em;color:var(--sumi);}
.sh.center{text-align:center;}
.sh.center .sh__en::before{display:none;}
.sh.center .sh__en::after{content:"";display:block;width:8px;height:8px;background:var(--yama);margin:12px auto 0;}
.sh.light h2,.sh.light .sh__en{color:#fff;}
/* 筆の下線（ドローイン） */
.ink{position:relative;display:inline-block;}
.ink svg{position:absolute;left:-2%;bottom:-8px;width:104%;height:12px;overflow:visible;}
.ink svg path{fill:none;stroke:var(--yama);stroke-width:3;stroke-linecap:round;stroke-dasharray:400;stroke-dashoffset:400;}
.is-in .ink svg path,.ink.is-in svg path{animation:ink 1.1s cubic-bezier(.4,0,.2,1) .35s forwards;}
@keyframes ink{to{stroke-dashoffset:0;}}
.lead{font-family:var(--mincho);font-size:19px;line-height:2.1;letter-spacing:.08em;}
.txt{font-size:15px;line-height:2.1;color:var(--sumi);}
.txt+.txt{margin-top:1.2em;}

/* ---------- ボタン（矩形4px・文字中央・矢印は右端絶対配置）
   a.btn で書く（テーマ既定 css-pc の a.btn を上書きするため） ---------- */
a.btn{position:relative;display:inline-block;width:auto;max-width:100%;min-width:280px;margin:0;padding:17px 56px 17px 32px;background:var(--wood);color:#fff;font-weight:700;font-size:15px;letter-spacing:.1em;border-radius:4px;text-align:center;overflow:hidden;z-index:1;text-decoration:none;}
a.btn::before{content:"";position:absolute;inset:0;background:var(--sumi);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1);z-index:-1;}
a.btn:hover{background:var(--wood);}
a.btn:hover::before{transform:scaleX(1);}
a.btn::after{content:"";font-family:inherit;position:absolute;right:22px;top:50%;width:22px;height:1px;line-height:0;background:#fff;transition:right .3s,width .3s;}
a.btn:hover::after{right:16px;width:28px;}
a.btn.line{background:transparent;color:var(--sumi);border:1px solid var(--sumi);}
a.btn.line::after{background:var(--sumi);}
a.btn.line::before{background:var(--sumi);}
a.btn.line:hover{background:transparent;color:#fff;}
a.btn.line:hover::after{background:#fff;}
a.btn.light{background:var(--washi);color:var(--sumi);}
a.btn.light::after{background:var(--sumi);}
a.btn.light::before{background:var(--yama);}
a.btn.light:hover{background:var(--washi);color:#fff;}
a.btn.light:hover::after{background:#fff;}
a.btn.tel{padding-left:56px;font-family:var(--num);font-weight:400;font-size:17px;letter-spacing:.04em;}
a.btn.tel .ic{position:absolute;left:24px;top:50%;transform:translateY(-50%);width:18px;height:18px;}

/* ============================================================
   OP：暖簾をくぐる（各ページ先頭 section 内の #op。fixed）
   ============================================================ */
#op{position:fixed;inset:0;z-index:9999;background:var(--kinari);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity .7s ease,visibility .7s;}
#op.done{opacity:0;visibility:hidden;pointer-events:none;}
.noren{position:absolute;left:50%;top:0;transform:translateX(-50%);width:min(880px,92vw);height:min(62vh,560px);display:flex;gap:6px;}
.noren::before{content:"";position:absolute;left:-3%;right:-3%;top:-6px;height:10px;background:var(--wood);border-radius:5px;transform:scaleX(0);transform-origin:center;animation:rod .6s cubic-bezier(.2,.7,.3,1) .1s forwards;}
@keyframes rod{to{transform:scaleX(1);}}
.noren i{flex:1;background:var(--yama);transform:translateY(-104%);animation:drop 1s cubic-bezier(.2,.8,.2,1) forwards;}
.noren i:nth-child(1){animation-delay:.35s;}
.noren i:nth-child(2){animation-delay:.45s;}
.noren i:nth-child(3){animation-delay:.55s;}
.noren i:nth-child(4){animation-delay:.65s;}
.noren i:nth-child(5){animation-delay:.75s;}
@keyframes drop{to{transform:translateY(0);}}
#op.leave .noren i{animation:lift .9s cubic-bezier(.6,0,.3,1) forwards;}
#op.leave .noren i:nth-child(3){animation-delay:0s;}
#op.leave .noren i:nth-child(2),#op.leave .noren i:nth-child(4){animation-delay:.08s;}
#op.leave .noren i:nth-child(1),#op.leave .noren i:nth-child(5){animation-delay:.16s;}
@keyframes lift{to{transform:translateY(-104%);}}
.op-logo{position:relative;z-index:2;text-align:center;opacity:0;transform:translateY(12px);animation:opIn 1s cubic-bezier(.2,.7,.3,1) 1.15s forwards;}
.op-logo img{display:block;width:min(260px,52vw);height:auto;margin:0 auto;}
.op-logo .op-sub{display:block;margin-top:14px;font-family:var(--mincho);font-size:13px;letter-spacing:.5em;color:var(--sumi);}
@keyframes opIn{to{opacity:1;transform:none;}}
#op.leave .op-logo{animation:opOut .5s ease forwards;}
@keyframes opOut{to{opacity:0;transform:translateY(-10px);}}
.op-skip{position:absolute;right:28px;bottom:24px;font-family:var(--en);font-style:italic;font-size:14px;letter-spacing:.1em;color:var(--sumi2);cursor:pointer;}

/* ============================================================
   ヘッダー（常時追従・生成り・CTA右端密着）。ナビは [aic_nav] の ul.hd__nav
   ============================================================ */
.hd{position:fixed;top:0;left:0;right:0;height:var(--hd-h);z-index:100;background:rgba(244,238,227,.96);backdrop-filter:none;box-shadow:0 1px 0 var(--line);display:flex;align-items:center;padding:0 0 0 28px;transform:translateY(-100%);transition:transform .8s cubic-bezier(.2,.7,.3,1);}
body.admin-bar .hd{top:var(--wp-admin--admin-bar--height,32px);}
body.is-ready .hd{transform:none;}
.hd__logo{display:flex;align-items:center;gap:12px;}
.hd__logo img{height:56px;width:auto;display:block;}
.hd__logo span{font-family:var(--mincho);font-size:13px;letter-spacing:.2em;color:var(--sumi);line-height:1.5;}
.hd__logo span small{display:block;font-family:var(--en);font-style:italic;font-size:12px;letter-spacing:.1em;color:var(--sumi2);}
ul.hd__nav{margin:0 0 0 auto;padding:0;list-style:none;display:flex;align-items:center;gap:26px;font-family:var(--mincho);font-weight:600;font-size:14.5px;letter-spacing:.1em;}
.hd__nav li{list-style:none;}
.hd__nav a{position:relative;display:inline-block;padding:6px 0;}
.hd__nav a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--yama);transform:scaleX(0);transform-origin:left;transition:transform .3s;}
/* ページ内リンク（#付き）は WP の current を使わず、JS がセクション表示中だけ is-current を付ける。その間はホームの下線を消す */
.hd__nav a:hover::after,.hd__nav li.is-current > a::after,ul.hd__nav:not(.is-spying) li.current-menu-item:not(:has(> a[href*="#"])) > a::after{transform:scaleX(1);}
.hd__tools{display:flex;align-items:center;gap:18px;margin-left:28px;}
.lang{display:flex;border:1px solid var(--sumi);border-radius:3px;overflow:hidden;font-family:var(--en);font-weight:600;font-size:13px;letter-spacing:.08em;}
.lang button{appearance:none;border:0;background:transparent;color:var(--sumi);padding:5px 8px;cursor:pointer;font:inherit;line-height:1.2;}
.lang button.on{background:var(--sumi);color:#fff;}
.lang button[data-l="zh"],.lang button[data-l="zhs"]{font-family:var(--mincho);font-weight:600;}
.hd__ig{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:4px;transition:border-color .3s,background .3s;}
.hd__ig:hover{border-color:var(--sumi);background:#fff;}
.hd__ig svg{width:17px;height:17px;}
.hd__cta{align-self:stretch;display:inline-flex;align-items:center;gap:12px;padding:0 28px;margin-left:22px;background:var(--wood);color:#fff;transition:background .3s;}
.hd__cta:hover{background:var(--sumi);}
.hd__cta svg{width:20px;height:20px;flex:none;}
.hd__cta .num{font-family:var(--num);font-weight:400;font-size:22px;letter-spacing:.03em;line-height:1;}
.hd__cta .lab{display:block;font-size:11px;letter-spacing:.14em;line-height:1.4;margin-top:4px;opacity:.85;}
.hd__burger{display:none;}

/* ============================================================
   MV（左 22% は生成りの余白、右 78% に白川郷の写真。横書きキャッチ2行が境界をまたぐ。
       写真はクロスフェード・スライドショー）
   --mv-l   左余白の幅（PC 22% / タブレット 18% / SP 18%）
   --mv-fs  キャッチの字サイズ
   PC: .mv__top を absolute inset:0 にし、.mv__copy を絶対配置。SP: すべて通常フロー
   ============================================================ */
.mv{position:relative;margin-top:var(--hd-h);height:calc(100vh - var(--hd-h));min-height:640px;overflow:hidden;background:var(--kinari);padding:0;
  --mv-h:max(640px,calc(100vh - var(--hd-h)));
  --mv-l:22%;
  --mv-fs:clamp(30px,3.6vw,54px);}
.mv__top{position:absolute;inset:0;}
.mv__photo{position:absolute;left:var(--mv-l);top:0;right:0;bottom:0;overflow:hidden;background:var(--wood2);}
/* スライダー：表示中は 1.08→1 のゆっくりズーム、切替はクロスフェード1s */
.mv__slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.08);transition:opacity 1s ease,transform 0s linear 1s;}
.mv__slide.is-on{opacity:1;transform:scale(1);transition:opacity 1s ease,transform 5.5s linear;}
@keyframes kb{0%{opacity:0;transform:scale(1.1);}12%{opacity:1;}100%{opacity:1;transform:scale(1);}} /* 下層ヒーロー（.ph__bg / .page-hero）が使用 */
/* スクリム：写真の左端を生成りへなだらかにつなぐ＋下側を薄く暗く */
.mv__scrim{position:absolute;left:var(--mv-l);top:0;right:0;bottom:0;background:linear-gradient(90deg,var(--kinari) 0%,rgba(244,238,227,.6) 10%,transparent 30%),linear-gradient(0deg,rgba(30,22,16,.35) 0%,rgba(30,22,16,0) 50%);}
/* キャッチ＋サブコピー：左余白の下部。span は1文字ずつ（JSの applyLang が言語ごとに分割） */
.mv__copy{position:absolute;z-index:3;left:4vw;bottom:max(9vh,84px);width:min(34vw,480px);}
.mv__ttl{font-family:var(--mincho);font-weight:600;font-size:var(--mv-fs);line-height:1.4;letter-spacing:.06em;color:var(--sumi);margin-bottom:18px;}
.mv__ttl span{display:inline-block;opacity:0;transform:translateY(-14px);}
body.is-ready .mv__ttl span{animation:chr .9s cubic-bezier(.2,.7,.3,1) forwards;}
.mv__ttl span:nth-child(1){animation-delay:0.9s}.mv__ttl span:nth-child(2){animation-delay:1.01s}.mv__ttl span:nth-child(3){animation-delay:1.12s}.mv__ttl span:nth-child(4){animation-delay:1.23s}.mv__ttl span:nth-child(5){animation-delay:1.34s}.mv__ttl span:nth-child(6){animation-delay:1.45s}.mv__ttl span:nth-child(7){animation-delay:1.56s}.mv__ttl span:nth-child(8){animation-delay:1.67s}.mv__ttl span:nth-child(9){animation-delay:1.78s}.mv__ttl span:nth-child(10){animation-delay:1.89s}.mv__ttl span:nth-child(11){animation-delay:2s}.mv__ttl span:nth-child(12){animation-delay:2.11s}.mv__ttl span:nth-child(13){animation-delay:2.22s}
@keyframes chr{to{opacity:1;transform:none;}}
.mv__sub{color:var(--sumi);opacity:0;transform:translateY(16px);}
body.is-ready .mv__sub{animation:chr 1.1s cubic-bezier(.2,.7,.3,1) 2.1s forwards;}
.mv__sub .en{display:block;font-family:var(--en);font-style:italic;font-size:15px;letter-spacing:.14em;margin-bottom:12px;color:var(--sumi2);}
.mv__sub p{font-family:var(--mincho);font-size:clamp(15px,1.15vw,18px);line-height:2.1;letter-spacing:.1em;}
/* スクロール示唆：余白と写真の境界の中央下・縦線タイプ */
.mv__scroll{position:absolute;z-index:3;left:45%;bottom:12px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--sumi);font-family:var(--en);font-style:italic;font-size:11px;letter-spacing:.2em;line-height:1;opacity:0;}
body.is-ready .mv__scroll{animation:chr 1s ease 2.6s forwards;}
.mv__scroll i{display:block;width:1px;height:40px;background:rgba(42,39,36,.25);position:relative;overflow:hidden;}
.mv__scroll i::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;background:var(--sumi);animation:scv 2s cubic-bezier(.4,0,.2,1) infinite;}
@keyframes scv{0%{top:-100%}50%{top:0}100%{top:100%}}

/* ============================================================
   情報帯（営業時間・定休日・お支払い）— MV直下で目に入る
   ============================================================ */
.band{background:var(--kinari);border-bottom:1px solid var(--line);padding:0;}
.band__in{max-width:1160px;margin:0 auto;padding:0 32px;display:flex;align-items:stretch;}
.band__item{flex:1;display:flex;align-items:center;gap:14px;padding:18px 22px;border-left:1px solid var(--line);}
.band__item:first-child{border-left:0;padding-left:0;}
.band__item svg{width:26px;height:26px;flex:none;color:var(--wood);}
.band__item b{display:block;font-size:11px;letter-spacing:.2em;color:var(--sumi2);font-weight:500;line-height:1.4;}
.band__item span{display:block;font-family:var(--num);font-size:15px;line-height:1.6;letter-spacing:.04em;}
.band__item span small{font-size:12px;color:var(--sumi2);margin-left:4px;}
.band__pay{flex:1.5;}
.pay{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;}
.pay i{font-style:normal;font-family:var(--en);font-weight:600;font-size:11.5px;letter-spacing:.06em;padding:2px 8px;border:1px solid var(--sumi);border-radius:3px;line-height:1.5;}
.pay i.jp{font-family:var(--gothic);font-weight:500;letter-spacing:.04em;}

/* ============================================================
   リビール共通
   ============================================================ */
.rv{opacity:0;transform:translateY(26px);transition:opacity 1s cubic-bezier(.2,.7,.3,1),transform 1s cubic-bezier(.2,.7,.3,1);}
.rv.is-in{opacity:1;transform:none;}
.rv.d1{transition-delay:.12s}.rv.d2{transition-delay:.24s}.rv.d3{transition-delay:.36s}.rv.d4{transition-delay:.48s}
.clip{position:relative;overflow:hidden;}
.clip img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 1.6s cubic-bezier(.2,.7,.3,1);}
.clip::after{content:"";position:absolute;inset:0;background:var(--kinari);transform:scaleX(1);transform-origin:right;transition:transform 1.1s cubic-bezier(.7,0,.2,1);}
.clip.is-in::after{transform:scaleX(0);}
.clip.is-in img{transform:scale(1);}
.clip.dark::after{background:var(--wood2);}

/* ============================================================
   店名の由来（暖簾の一文字）
   ============================================================ */
.about{padding:130px 0 120px;position:relative;overflow:hidden;}
.about__in{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.about__pic{position:relative;aspect-ratio:4/5;}
.about__pic .clip{position:absolute;inset:0;}
.about__pic .tag{position:absolute;left:-18px;bottom:36px;background:var(--washi);padding:10px 16px;font-family:var(--en);font-style:italic;font-size:14px;letter-spacing:.12em;color:var(--sumi2);border-left:3px solid var(--yama);}
.about__wa{position:absolute;right:-2vw;top:60px;font-family:var(--fude);font-size:300px;line-height:1;color:var(--sumi);opacity:0;transform:scale(1.2);transition:opacity 2s ease .3s,transform 2s cubic-bezier(.2,.7,.3,1) .3s;pointer-events:none;}
.about__wa.is-in{opacity:.05;transform:none;}
.about__txt{position:relative;z-index:1;}
.vlabel{position:absolute;writing-mode:vertical-rl;font-family:var(--en);font-style:italic;font-size:13px;letter-spacing:.3em;color:var(--sumi2);}
.about .vlabel{left:32px;top:130px;}
.about .vlabel::after{content:"";display:block;width:1px;height:70px;background:var(--line);margin:14px auto 0;}

/* ============================================================
   食材へのこだわり
   PC・タブレット: 左に筆文字タブ、右にパネル（クロスフェード＋5秒自動送り）
   SP(〜680px・css-sp): 縦積みカード（タブ非表示）
   ============================================================ */
.kod{padding:130px 0 0;background:var(--kinari);}
.kod__head{max-width:1160px;margin:0 auto 60px;padding:0 32px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;}
.kod__body{max-width:1160px;margin:0 auto;padding:0 32px 130px;display:grid;grid-template-columns:220px 1fr;gap:48px;align-items:stretch;}
.kod__tabs{display:flex;flex-direction:column;justify-content:center;gap:4px;}
.ktab{appearance:none;border:0;background:transparent;font:inherit;color:var(--sumi2);text-align:left;cursor:pointer;position:relative;padding:20px 14px 16px 22px;}
.ktab::before{content:"";position:absolute;left:0;top:22px;bottom:18px;width:2px;background:var(--line);transition:background .4s;}
.ktab.on::before{background:var(--yama);}
.ktab .fude{display:block;font-family:var(--fude);font-size:64px;line-height:1;color:var(--sumi);opacity:.35;transition:opacity .5s,transform .6s cubic-bezier(.2,.7,.3,1);}
.ktab:hover .fude,.ktab.on .fude{opacity:1;transform:translateX(6px);}
.ktab small{display:block;font-family:var(--en);font-style:italic;font-size:14px;letter-spacing:.16em;margin-top:8px;transition:color .4s;}
.ktab.on small{color:var(--sumi);}
.ktab i{display:block;height:1px;margin-top:14px;background:var(--line);position:relative;overflow:hidden;}
.ktab i::after{content:"";position:absolute;inset:0;background:var(--yama);transform:scaleX(0);transform-origin:left;}
.kod__body.is-auto .ktab.on i::after{animation:kprog 5s linear forwards;}
@keyframes kprog{to{transform:scaleX(1);}}
.kod__panels{display:grid;}
.kcard{display:grid;grid-template-columns:1.05fr 1fr;background:var(--washi);border:1px solid var(--line);overflow:hidden;grid-area:1/1;min-height:560px;opacity:0;visibility:hidden;transform:translateX(28px);pointer-events:none;transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1),visibility 0s .8s;}
.kcard.is-on{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition-delay:0s;}
.kcard__pic{position:relative;min-height:380px;}
.kcard__pic .clip{position:absolute;inset:0;}
.kcard__body{padding:64px 60px 60px;position:relative;display:flex;flex-direction:column;justify-content:center;}
.kcard__no{position:absolute;right:40px;top:28px;font-family:var(--num);font-weight:400;font-size:14px;letter-spacing:.04em;color:var(--sumi2);}
.kcard__kan{display:none;font-family:var(--fude);font-size:120px;line-height:1;color:var(--sumi);margin:0 0 6px -6px;}
.kcard__en{font-family:var(--en);font-style:italic;font-size:15px;letter-spacing:.16em;color:var(--sumi2);margin-bottom:18px;}
.kcard__en::before{content:"";display:inline-block;width:8px;height:8px;background:var(--yama);margin-right:12px;vertical-align:2px;}
.kcard h3{font-family:var(--mincho);font-weight:600;font-size:28px;line-height:1.6;letter-spacing:.06em;margin-bottom:18px;}
.kcard p{font-size:15px;line-height:2.1;}
.kcard ul{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;}
.kcard ul li{font-size:12px;letter-spacing:.1em;padding:4px 12px;border:1px solid var(--line);border-radius:3px;color:var(--sumi2);}

/* ============================================================
   昼 と 夜（スプリット・ホバー拡張／両方リンク）
   ============================================================ */
.hy{display:flex;min-height:720px;position:relative;padding:0;}
.hy__half{position:relative;flex:1;display:flex;align-items:flex-end;overflow:hidden;transition:flex 1s cubic-bezier(.2,.7,.3,1);}
.hy:hover .hy__half{flex:.8;}
.hy .hy__half:hover{flex:1.4;}
.hy__half .bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.03);transition:transform 1.4s cubic-bezier(.2,.7,.3,1);}
.hy__half:hover .bg{transform:scale(1.08);}
.hy__day{background:var(--kinari);}
.hy__day .bg{background-image:url("/wp-content/uploads/2026/09/set-karubi.webp");opacity:.0;}
.hy__day::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(244,238,227,1) 0%,rgba(244,238,227,.9) 45%,rgba(244,238,227,.2) 100%),url("/wp-content/uploads/2026/09/set-hida-hoba.webp") center/cover no-repeat;}
.hy__night{background:var(--wood2);color:#fff;}
.hy__night .bg{background-image:url("/wp-content/uploads/2026/09/hero-interior.webp");}
.hy__night::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(46,36,29,1) 0%,rgba(46,36,29,.95) 45%,rgba(46,36,29,.6) 100%);}
.hy__in{position:relative;z-index:2;width:100%;padding:70px 6vw 60px;display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:end;}
.hy__kan{font-family:var(--fude);font-size:clamp(120px,13vw,200px);line-height:1;transform:translateY(10px);}
.hy__time{font-family:var(--num);font-weight:400;font-size:15px;letter-spacing:.04em;margin-bottom:8px;opacity:.85;}
.hy h3{font-family:var(--mincho);font-weight:600;font-size:30px;line-height:1.5;letter-spacing:.06em;margin-bottom:12px;}
.hy p{font-size:14.5px;line-height:2;max-width:440px;}
.dish{display:flex;gap:12px;margin:22px 0 26px;}
.dish li{flex:1;max-width:150px;}
.dish img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;}
.dish b{display:block;font-size:12px;font-weight:500;letter-spacing:.06em;line-height:1.5;margin-top:8px;}
.dish small{display:block;font-family:var(--num);font-size:12.5px;letter-spacing:.04em;opacity:.8;}
.hy__night .dish img{outline:1px solid rgba(255,255,255,.15);}
.hy__go{display:inline-flex;align-items:center;gap:14px;font-family:var(--mincho);font-size:15px;letter-spacing:.14em;padding-bottom:4px;border-bottom:1px solid currentColor;}
.hy__go i{display:inline-block;width:26px;height:1px;background:currentColor;transition:width .3s;}
.hy__half:hover .hy__go i{width:40px;}

/* ============================================================
   団体のお客様へ（トップ／アクセスの案内1セクション＝parts/group-lead）
   ============================================================ */
.grp{padding:130px 0;background:var(--washi);}
.grp__in{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center;}
.grp__pic{position:relative;aspect-ratio:3/4;}
.grp__pic .clip{position:absolute;inset:0;}
.grp__pic .badge{position:absolute;right:-22px;top:32px;width:112px;height:112px;border-radius:50%;background:var(--wood);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2;text-align:center;}
.grp__pic .badge b{font-family:var(--num);font-weight:400;font-size:38px;letter-spacing:.02em;}
.grp__pic .badge small{font-size:11px;letter-spacing:.14em;margin-top:2px;}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:34px 0 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.facts li{padding:22px 18px;border-left:1px solid var(--line);}
.facts li:first-child{border-left:0;padding-left:0;}
.facts b{display:block;font-size:11px;letter-spacing:.2em;color:var(--sumi2);font-weight:500;}
.facts strong{display:block;font-family:var(--num);font-weight:400;font-size:25px;line-height:1.3;margin-top:6px;letter-spacing:.02em;}
.facts strong small{font-size:13px;letter-spacing:.1em;margin-left:4px;}
.facts em{display:block;font-style:normal;font-size:12px;color:var(--sumi2);margin-top:6px;letter-spacing:.06em;}
.grp__btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}

/* ============================================================
   空間（掘りごたつとカウンター・パララックス）
   ============================================================ */
.spc{padding:130px 0;background:var(--kinari);overflow:hidden;}
.spc__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:start;}
.spc__a{aspect-ratio:4/3;}
.spc__b{aspect-ratio:4/5;margin-top:90px;}
.px{will-change:transform;}
.spc__txt{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:60px;align-items:start;}
.seat{display:flex;gap:40px;margin-top:10px;}
.seat li b{display:block;font-family:var(--num);font-weight:400;font-size:44px;line-height:1;letter-spacing:.02em;}
.seat li b small{font-size:14px;margin-left:4px;font-family:var(--gothic);font-weight:500;letter-spacing:.1em;}
.seat li span{display:block;font-size:13px;letter-spacing:.14em;color:var(--sumi2);margin-top:8px;}

/* ============================================================
   Instagram
   ============================================================ */
.ig{padding:120px 0;background:var(--washi);}
.ig__head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px;}
.ig__acc{display:inline-flex;align-items:center;gap:10px;font-family:var(--num);font-weight:400;font-size:17px;letter-spacing:.04em;border-bottom:1px solid var(--sumi);padding-bottom:4px;}
.ig__acc svg{width:20px;height:20px;}
.ig__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;}
.ig__grid a{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:var(--kinari);}
.ig__grid img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.3,1);}
.ig__grid a:hover img{transform:scale(1.08);}
.ig__note{margin-top:18px;font-size:12px;color:var(--sumi2);letter-spacing:.08em;}

/* ============================================================
   お知らせ（トップ: [aic_posts variant="home"] を WOW案の .post と同じ見た目に）
   ============================================================ */
.news{padding:0 0 130px;background:var(--washi);}
.news__in{display:grid;grid-template-columns:300px 1fr;gap:60px;align-items:start;}
.aic-posts--home .aic-posts__inner{max-width:none;padding:0;}
.aic-posts--home .aic-posts__items{display:block;gap:0;}
.aic-posts--home .aic-posts__thumb,.aic-posts--home .aic-posts__excerpt{display:none;}
.aic-posts--home .aic-posts__item{border:0;background:transparent;box-shadow:none;border-radius:0;}
.aic-posts--home .aic-posts__link{display:block;position:relative;padding:22px 60px 22px 0;border-top:1px solid var(--line);border-radius:0;background:transparent;color:var(--sumi);transition:background .3s;}
.aic-posts--home .aic-posts__item:last-child .aic-posts__link{border-bottom:1px solid var(--line);}
.aic-posts--home .aic-posts__link:hover{background:var(--kinari);}
.aic-posts--home .aic-posts__link::after{content:"";position:absolute;right:8px;top:50%;width:26px;height:1px;background:var(--sumi);transition:width .3s;}
.aic-posts--home .aic-posts__link:hover::after{width:38px;}
.aic-posts--home .aic-posts__body{padding:0;}
.aic-posts--home .aic-posts__date{display:block;font-family:var(--num);font-size:13px;letter-spacing:.04em;color:var(--sumi);opacity:1;margin:0;}
.aic-posts--home .aic-posts__title{font-family:var(--mincho);font-weight:500;font-size:17px;line-height:1.7;margin:6px 0 0;letter-spacing:.04em;color:var(--sumi);}

/* ============================================================
   アクセス（通常客向け：地図・店舗情報＝parts/access-info）
   ============================================================ */
.acc{padding:130px 0;background:var(--kinari);}
.acc .txt+.acc__in{margin-top:40px;}
.acc__in{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:stretch;}
.acc__map{position:relative;min-height:460px;background:#E6DFD2;}
.acc__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.35) sepia(.12);}
.acc__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;letter-spacing:.14em;color:var(--sumi2);}
.dl{border-top:1px solid var(--line);}
.dl div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.9;}
.dl dt{font-family:var(--mincho);font-weight:600;letter-spacing:.14em;color:var(--sumi);}
.dl dd small{display:block;font-size:12px;color:var(--sumi2);}
.dl dd .num,.dl dd.num{font-weight:400;letter-spacing:.03em;}
.dl dd a.num{font-size:18px;}
.acc__btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}

/* アクセスページ: 座席・ご連絡先 */
.store{padding:120px 0;background:var(--washi);}
.store__in{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;}
.store .seat{margin-top:34px;}

/* ============================================================
   CTA帯（電話のみ＝parts/cta-tel。団体ページは固有文言で同構造）
   ============================================================ */
.cta{position:relative;padding:110px 0;background:var(--wood2);color:#fff;overflow:hidden;text-align:center;}
.cta::before{content:"";position:absolute;inset:0;background:url("/wp-content/uploads/2026/09/exterior-wide.webp") center 60%/cover no-repeat;opacity:.14;}
.cta__in{position:relative;z-index:1;}
.cta .en{display:block;font-family:var(--en);font-style:italic;font-size:15px;letter-spacing:.16em;opacity:.8;margin-bottom:14px;}
.cta h2{font-family:var(--mincho);font-weight:500;font-size:34px;letter-spacing:.1em;line-height:1.6;margin-bottom:12px;}
.cta p{font-size:14px;letter-spacing:.1em;opacity:.85;margin-bottom:34px;}
.cta__tel{display:inline-flex;align-items:center;gap:16px;font-family:var(--num);font-weight:400;font-size:50px;letter-spacing:.03em;line-height:1;color:#fff;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:10px;transition:border-color .3s;}
.cta__tel:hover{border-color:#fff;}
.cta__tel svg{width:38px;height:38px;}
.cta small{display:block;margin-top:16px;font-size:12.5px;letter-spacing:.12em;opacity:.8;}
.cta__link{border-bottom:1px solid rgba(255,255,255,.5);}

/* ============================================================
   フッター（生成り・ロゴ原色・高密度）＋ SP固定バー（PCでは非表示）
   ============================================================ */
.ft{background:var(--kinari);border-top:1px solid var(--line);padding:80px 0 0;}
.ft__grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:50px;padding-bottom:60px;}
.ft__logo a{display:inline-block;}
.ft__logo img{height:110px;width:auto;display:block;}
.ft__logo p{font-family:var(--mincho);font-size:13px;letter-spacing:.16em;margin-top:14px;line-height:1.9;}
.ft__credit{margin-top:14px;font-size:11.5px;letter-spacing:.04em;line-height:1.7;color:var(--sumi2);}   /* 制作会社表記（GDesign 案件の共通表記） */
.ft__credit a{color:inherit;border-bottom:1px solid rgba(0,0,0,.18);padding-bottom:1px;}
.ft__credit a:hover{color:var(--sumi);}
.ft h4{font-family:var(--en);font-style:italic;font-size:14px;letter-spacing:.16em;color:var(--sumi2);margin-bottom:16px;font-weight:500;}
.ft h4::before{content:"";display:inline-block;width:6px;height:6px;background:var(--yama);margin-right:10px;vertical-align:2px;}
.ft__h4-follow{margin-top:28px;}
.ft ul{padding:0;list-style:none;}
.ft li{font-size:13.5px;line-height:2.2;letter-spacing:.06em;list-style:none;}
.ft li a{position:relative;}
.ft li a::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--sumi);transform:scaleX(0);transform-origin:left;transition:transform .3s;}
.ft li a:hover::after{transform:scaleX(1);}
.ft__info li{display:flex;gap:10px;align-items:flex-start;}
.ft__info svg{width:16px;height:16px;flex:none;margin-top:9px;color:var(--wood);}
.ft__info b{font-family:var(--num);font-weight:400;font-size:17px;letter-spacing:.03em;}
.ft__bottom{border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;align-items:center;font-size:11.5px;letter-spacing:.12em;color:var(--sumi2);}
.ft__bottom .en{font-style:italic;font-size:13px;}
.spbar{display:none;}

/* ============================================================
   下層ヒーロー（.ph：各ページ固有。背景画像は HTML の inline style）
   ============================================================ */
.ph{position:relative;margin-top:var(--hd-h);height:min(62vh,600px);min-height:420px;overflow:hidden;background:var(--wood2);padding:0;}
.ph__bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.08);opacity:0;}
body.is-ready .ph__bg{animation:kb 10s cubic-bezier(.2,.5,.3,1) forwards;}
.ph__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,22,16,.7) 0%,rgba(30,22,16,.35) 55%,rgba(30,22,16,.15) 100%),linear-gradient(0deg,rgba(30,22,16,.5) 0%,rgba(30,22,16,0) 45%);}
.ph__in{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:0 32px 56px;color:#fff;}
.crumb{display:flex;gap:10px;font-family:var(--en);font-style:italic;font-size:14px;letter-spacing:.1em;opacity:.85;margin-bottom:22px;}
.crumb a{border-bottom:1px solid rgba(255,255,255,.4);}
.ph__en{display:block;font-family:var(--en);font-style:italic;font-size:16px;letter-spacing:.16em;margin-bottom:10px;opacity:.9;}
.ph h1{font-family:var(--mincho);font-weight:600;font-size:clamp(32px,3.6vw,54px);line-height:1.4;letter-spacing:.08em;}
.ph h1 small{display:block;font-size:.42em;font-weight:500;letter-spacing:.14em;margin-top:12px;opacity:.9;}
.ph__in>*{opacity:0;transform:translateY(16px);}
body.is-ready .ph__in>*{animation:chr 1s cubic-bezier(.2,.7,.3,1) forwards;}
body.is-ready .ph__in>:nth-child(1){animation-delay:.5s}body.is-ready .ph__in>:nth-child(2){animation-delay:.65s}body.is-ready .ph__in>:nth-child(3){animation-delay:.8s}

/* ============================================================
   団体のお客様へ（下層）
   ============================================================ */
/* リード＋数字 */
.glead{padding:110px 0 90px;background:var(--washi);}
.glead__in{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:start;}
.nums{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.nums li{padding:30px 22px;border-left:1px solid var(--line);}
.nums li:first-child{border-left:0;}
.nums b{display:block;font-size:11.5px;letter-spacing:.2em;color:var(--sumi2);font-weight:500;}
.nums strong{display:block;font-family:var(--num);font-weight:400;font-size:48px;line-height:1.1;margin-top:8px;letter-spacing:.02em;}
.nums strong small{font-family:var(--mincho);font-size:16px;letter-spacing:.1em;margin-left:6px;}
.nums em{display:block;font-style:normal;font-size:12.5px;color:var(--sumi2);margin-top:8px;letter-spacing:.06em;}

/* 3つの理由（点アクセント・非リンク＝ホバーなし） */
.why{padding:0 0 120px;background:var(--washi);}
.why__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.wcard{background:var(--kinari);border:1px solid var(--line);padding:40px 34px 38px;position:relative;}
.wcard .no{font-family:var(--en);font-style:italic;font-size:15px;letter-spacing:.14em;color:var(--sumi2);}
.wcard .kan{font-family:var(--fude);font-size:64px;line-height:1;margin:14px 0 16px;}
.wcard h3{font-family:var(--mincho);font-weight:600;font-size:22px;line-height:1.6;margin-bottom:12px;}
.wcard p{font-size:14px;line-height:2;}
.wcard::after{content:"";position:absolute;right:20px;top:20px;width:8px;height:8px;background:var(--yama);}

/* 団体御膳 */
.gmenu{padding:120px 0;background:var(--kinari);}
.gmenu__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;}
.mcard{background:var(--washi);border:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;overflow:hidden;}
.mcard__pic{position:relative;min-height:300px;}
.mcard__pic .clip{position:absolute;inset:0;}
.mcard__pic .note{position:absolute;left:12px;bottom:12px;background:rgba(42,39,36,.85);color:#fff;font-size:11px;letter-spacing:.12em;padding:4px 10px;border-radius:3px;}
.mcard__body{padding:32px 30px 30px;display:flex;flex-direction:column;}
.mcard__body .tag{font-family:var(--en);font-style:italic;font-size:13px;letter-spacing:.14em;color:var(--sumi2);}
.mcard h3{font-family:var(--mincho);font-weight:600;font-size:22px;line-height:1.5;margin:8px 0 6px;letter-spacing:.04em;}
.mcard .price{font-family:var(--num);font-weight:400;font-size:28px;letter-spacing:.02em;line-height:1.2;}
.mcard .price small{font-family:var(--gothic);font-size:12px;font-weight:500;letter-spacing:.1em;margin-left:6px;color:var(--sumi2);}
.mcard ul{margin-top:16px;border-top:1px solid var(--line);padding-top:14px;}
.mcard li{position:relative;padding-left:16px;font-size:13.5px;line-height:1.9;}
.mcard li::before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;background:var(--yama);}
.gmenu__note{margin-top:22px;font-size:12.5px;color:var(--sumi2);letter-spacing:.06em;line-height:1.9;}
.pdfs{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;}
.pdfs a{position:relative;display:inline-flex;align-items:center;gap:12px;padding:14px 22px;border:1px solid var(--sumi);border-radius:4px;background:var(--washi);font-size:14px;letter-spacing:.1em;transition:background .3s,color .3s;}
.pdfs a:hover{background:var(--sumi);color:#fff;}
.pdfs svg{width:18px;height:18px;flex:none;}
.pdfs a small{font-family:var(--en);font-style:italic;font-size:13px;opacity:.75;}

/* 調整できます */
.adj{padding:120px 0;background:var(--washi);}
/* お飲み物（パーツ drink-menu・お品書き／団体共通） */
.drink{padding:120px 0;background:var(--washi);border-bottom:1px solid var(--line);}
.drink .sh{margin-bottom:20px;}
.drink__grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:960px;margin:40px auto 0;}
.drink__grid a{display:block;border:1px solid var(--line);background:#fff;box-shadow:0 10px 30px rgba(40,28,18,.08);transition:transform .4s,box-shadow .4s;}
.drink__grid a:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(40,28,18,.14);}
.drink__grid img{display:block;width:100%;height:auto;}
.adj__in{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.chk{margin-top:26px;border-top:1px solid var(--line);}
.chk li{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);font-family:var(--mincho);font-size:16.5px;letter-spacing:.06em;}
.chk li i{flex:none;width:22px;height:22px;border:1px solid var(--sumi);border-radius:3px;position:relative;}
.chk li i::after{content:"";position:absolute;left:7px;top:2px;width:6px;height:12px;border-right:2px solid var(--yama);border-bottom:2px solid var(--yama);transform:rotate(45deg) scale(0);transition:transform .4s cubic-bezier(.2,.7,.3,1);}
.chk li.is-in i::after{transform:rotate(45deg) scale(1);}
.chk li.d1 i::after{transition-delay:.15s}.chk li.d2 i::after{transition-delay:.3s}.chk li.d3 i::after{transition-delay:.45s}.chk li.d4 i::after{transition-delay:.6s}
.adj__pic{aspect-ratio:4/3;}

/* 席と人数 */
.seats{padding:120px 0;background:var(--kinari);}
.seats__in{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;}
.tbl{width:100%;border-collapse:collapse;margin-top:10px;}
.tbl th,.tbl td{padding:16px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:15px;}
.tbl th{font-family:var(--mincho);font-weight:600;letter-spacing:.1em;width:50%;}
.tbl td{font-family:var(--num);font-weight:400;font-size:24px;letter-spacing:.02em;}
.tbl td small{font-family:var(--gothic);font-size:12px;font-weight:500;letter-spacing:.1em;margin-left:6px;color:var(--sumi2);}
.tbl tr.total th,.tbl tr.total td{border-bottom:2px solid var(--sumi);}
.rng{display:flex;gap:30px;margin-top:30px;}
.rng li b{display:block;font-size:11.5px;letter-spacing:.2em;color:var(--sumi2);font-weight:500;}
.rng li strong{display:block;font-family:var(--num);font-weight:400;font-size:32px;line-height:1.2;margin-top:4px;letter-spacing:.02em;}
.rng li strong small{font-family:var(--mincho);font-size:14px;margin-left:4px;letter-spacing:.1em;}

/* バス・アクセス（強調） */
.bus{padding:130px 0;background:var(--wood2);color:#fff;position:relative;overflow:hidden;}
.bus::before{content:"";position:absolute;inset:0;background:url("/wp-content/uploads/2026/09/exterior-wide.webp") center 70%/cover no-repeat;opacity:.12;}
.bus .inner{position:relative;z-index:1;}
.bus .sh h2,.bus .sh .sh__en{color:#fff;}
.bus__hero{font-family:var(--mincho);font-weight:600;font-size:clamp(28px,3.2vw,46px);line-height:1.6;letter-spacing:.08em;margin-bottom:24px;}
.bus__hero em{font-style:normal;border-bottom:2px solid var(--yama);}
.route{position:relative;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:0;margin:56px 0 40px;padding:36px 0;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);}
.route .pt{text-align:center;}
.route .pt b{display:block;font-family:var(--mincho);font-weight:600;font-size:22px;letter-spacing:.06em;line-height:1.5;}
.route .pt small{display:block;font-family:var(--en);font-style:italic;font-size:13px;letter-spacing:.12em;opacity:.8;margin-top:4px;}
.route .pt.here b{font-size:28px;}
.route .pt.here::before{content:"";display:block;width:10px;height:10px;background:var(--yama);margin:0 auto 12px;}
.route .leg{position:relative;width:180px;text-align:center;font-family:var(--en);font-style:italic;font-size:14px;letter-spacing:.1em;padding:0 10px;}
.route .leg::before{content:"";position:absolute;left:10px;right:10px;top:50%;height:1px;background:rgba(255,255,255,.35);}
.route .leg span{position:relative;z-index:1;display:inline-block;background:var(--wood2);padding:0 12px;}
.route .leg svg{display:block;width:26px;height:26px;margin:0 auto 6px;}
.route .leg i{display:block;font-style:normal;font-family:var(--gothic);font-size:13px;letter-spacing:.08em;}
.route .leg::after{content:"";position:absolute;z-index:0;left:10px;top:50%;height:1px;width:0;background:#fff;transition:width 1.4s cubic-bezier(.4,0,.2,1);}
.route.is-in .leg::after{width:calc(100% - 20px);}
.route.is-in .leg:nth-of-type(4)::after{transition-delay:.9s}
.bus__grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 60px;margin-top:40px;}
.bus__grid h3{font-family:var(--mincho);font-weight:600;font-size:20px;letter-spacing:.06em;margin-bottom:10px;}
.bus__grid h3::before{content:"";display:inline-block;width:8px;height:8px;background:var(--yama);margin-right:12px;vertical-align:3px;}
.bus__grid p{font-size:14.5px;line-height:2;opacity:.92;}
.bus__map{margin-top:56px;position:relative;height:420px;background:#3a2f27;}
.bus__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.3) sepia(.15);}

/* 時間・乗務員・アレルギー */
.ops{padding:120px 0;background:var(--washi);}
.ops__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);}
.ocard{padding:40px 34px 44px;border-bottom:1px solid var(--line);border-left:1px solid var(--line);}
.ocard:first-child{border-left:0;padding-left:0;}
.ocard .kan{font-family:var(--fude);font-size:56px;line-height:1;margin-bottom:14px;}
.ocard h3{font-family:var(--mincho);font-weight:600;font-size:21px;letter-spacing:.06em;line-height:1.5;margin-bottom:12px;}
.ocard p{font-size:14px;line-height:2;}
.ocard p+p{margin-top:.8em;}
.ocard ul{margin-top:12px;}
.ocard li{position:relative;padding-left:16px;font-size:14px;line-height:1.9;}
.ocard li::before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;background:var(--yama);}
.ocard .small{font-size:12.5px;color:var(--sumi2);}

/* FAQ アコーディオン（.faq__acc：トップの .acc と衝突するため改名） */
.faq{padding:120px 0;background:var(--kinari);}
.faq__in{display:grid;grid-template-columns:300px 1fr;gap:60px;align-items:start;}
.faq__note{margin-top:20px;font-size:14px;color:var(--sumi2);}
.faq__acc{border-top:1px solid var(--line);}
.faq__acc details{border-bottom:1px solid var(--line);}
.faq__acc summary{list-style:none;cursor:pointer;position:relative;padding:22px 56px 22px 44px;font-family:var(--mincho);font-weight:600;font-size:17px;letter-spacing:.04em;line-height:1.7;transition:background .3s;}
.faq__acc summary::-webkit-details-marker{display:none;}
.faq__acc summary:hover{background:var(--washi);}
.faq__acc summary::before{content:"Q";position:absolute;left:8px;top:22px;font-family:var(--en);font-style:italic;font-size:20px;color:var(--yama);}
.faq__acc summary::after{content:"";position:absolute;right:16px;top:50%;width:14px;height:14px;margin-top:-7px;background:linear-gradient(var(--sumi),var(--sumi)) center/14px 1px no-repeat,linear-gradient(var(--sumi),var(--sumi)) center/1px 14px no-repeat;transition:transform .35s;}
.faq__acc details[open] summary::after{transform:rotate(45deg);}
.faq__acc .a{position:relative;padding:4px 20px 26px 44px;font-size:14.5px;line-height:2;}
.faq__acc .a::before{content:"A";position:absolute;left:8px;top:0;font-family:var(--en);font-style:italic;font-size:20px;color:var(--sumi2);}
@keyframes fadeDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.faq__acc details[open] .a{animation:fadeDown .4s ease;}

/* 予約の流れ */
.flow{padding:120px 0;background:var(--washi);}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:st;}
.step{position:relative;padding:40px 34px 38px;background:var(--kinari);border:1px solid var(--line);}
.step .n{font-family:var(--en);font-style:italic;font-size:15px;letter-spacing:.14em;color:var(--sumi2);}
.step .n b{display:block;font-family:var(--num);font-size:42px;font-style:normal;font-weight:400;line-height:1;color:var(--sumi);margin-top:4px;}
.step h3{font-family:var(--mincho);font-weight:600;font-size:21px;letter-spacing:.06em;margin:16px 0 10px;}
.step p{font-size:14px;line-height:2;}
.step .tel{display:inline-block;margin-top:14px;font-family:var(--num);font-weight:400;font-size:24px;letter-spacing:.03em;border-bottom:1px solid var(--sumi);}
.step dl{margin-top:12px;font-size:13.5px;line-height:1.9;}
.step dt{font-family:var(--en);font-style:italic;color:var(--sumi2);letter-spacing:.1em;}
.step dd{font-family:var(--num);font-size:15px;letter-spacing:.02em;margin-bottom:6px;}
.flow__ask{margin-top:40px;padding:30px 34px;border:1px solid var(--line);background:var(--kinari);display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center;}
.flow__ask b{font-family:var(--mincho);font-weight:600;font-size:17px;letter-spacing:.1em;white-space:nowrap;}
.flow__ask ul{display:flex;flex-wrap:wrap;gap:8px 10px;}
.flow__ask li{font-size:13px;letter-spacing:.08em;padding:5px 14px;background:var(--washi);border:1px solid var(--line);border-radius:3px;}

/* ============================================================
   お品書き（下層）
   ============================================================ */
/* リード＋昼夜ジャンプ */
.mlead{padding:110px 0 100px;background:var(--washi);}
.mlead__in{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;}
.jump{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px;}
.jump a{position:relative;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:24px 26px;border:1px solid var(--line);background:var(--kinari);transition:background .3s,border-color .3s;}
.jump a:hover{border-color:var(--sumi);}
.jump a.night{background:var(--wood2);color:#fff;border-color:var(--wood2);}
.jump a.night:hover{background:var(--wood);}
.jump .kan{font-family:var(--fude);font-size:54px;line-height:1;}
.jump b{display:block;font-family:var(--mincho);font-weight:600;font-size:17px;letter-spacing:.1em;line-height:1.5;}
.jump small{display:block;font-family:var(--en);font-style:italic;font-size:13px;letter-spacing:.12em;opacity:.8;margin-top:2px;}
.jump a::after{content:"";position:absolute;right:20px;top:50%;width:22px;height:1px;background:currentColor;transition:width .3s;}
.jump a:hover::after{width:32px;}

/* 昼の御膳 */
.lunch{padding:120px 0;background:var(--kinari);}
.lunch__time{display:inline-flex;align-items:center;gap:14px;margin:-24px 0 44px;font-family:var(--num);font-size:15px;letter-spacing:.1em;color:var(--sumi2);}
.lunch__time b{font-family:var(--mincho);font-weight:600;font-size:14px;letter-spacing:.14em;color:var(--sumi);}
.lunch__time i{display:inline-block;width:20px;height:1px;background:var(--line);}
.feat{display:grid;grid-template-columns:1.15fr 1fr;background:var(--washi);border:1px solid var(--line);overflow:hidden;}
.feat+.feat{margin-top:32px;}
.feat.rev{grid-template-columns:1fr 1.15fr;}
.feat.rev .feat__pics{order:2;}
.feat__pic{position:relative;min-height:440px;}
.feat__pic .clip{position:absolute;inset:0;}
.feat__pic .note{position:absolute;left:14px;bottom:14px;background:rgba(42,39,36,.85);color:#fff;font-size:11px;letter-spacing:.12em;padding:4px 10px;border-radius:3px;}
.feat__body{padding:52px 50px 48px;display:flex;flex-direction:column;justify-content:center;}
.feat__tag{font-family:var(--en);font-style:italic;font-size:14px;letter-spacing:.14em;color:var(--sumi2);}
.feat__tag::before{content:"";display:inline-block;width:8px;height:8px;background:var(--yama);margin-right:12px;vertical-align:2px;}
.feat h3{font-family:var(--mincho);font-weight:600;font-size:32px;line-height:1.45;letter-spacing:.06em;margin:10px 0 14px;}
.feat p{font-size:14.5px;line-height:2;}
.prices{margin-top:22px;border-top:1px solid var(--sumi);}
.prices li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);}
.prices b{font-family:var(--mincho);font-weight:600;font-size:17px;letter-spacing:.06em;}
.prices b small{display:block;font-family:var(--gothic);font-weight:500;font-size:12px;letter-spacing:.08em;color:var(--sumi2);margin-top:2px;}
.prices strong{font-family:var(--num);font-weight:400;font-size:26px;letter-spacing:.02em;line-height:1;white-space:nowrap;}
.prices strong small{font-family:var(--gothic);font-size:11px;font-weight:500;letter-spacing:.1em;margin-left:6px;color:var(--sumi2);}
.cont{margin-top:20px;display:flex;flex-wrap:wrap;gap:6px 22px;}
.cont li{position:relative;padding-left:14px;font-size:13px;line-height:1.9;color:var(--sumi);letter-spacing:.06em;}
.cont li::before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;background:var(--yama);}
.cont li small{color:var(--sumi2);font-size:12px;}
.feat__pics{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);}
.pcell{background:var(--washi);display:flex;flex-direction:column;}
.pcell .clip{aspect-ratio:4/3;}
.pcell .cap{padding:18px 20px 22px;}
.pcell .cap b{display:block;font-family:var(--mincho);font-weight:600;font-size:15px;letter-spacing:.06em;line-height:1.6;}
.pcell .cap strong{display:block;font-family:var(--num);font-weight:400;font-size:22px;letter-spacing:.02em;line-height:1.2;margin-top:6px;}
.pcell .cap strong small{font-family:var(--gothic);font-size:11px;font-weight:500;letter-spacing:.1em;margin-left:6px;color:var(--sumi2);}
.pcell .cap em{display:block;font-style:normal;font-size:12px;color:var(--sumi2);letter-spacing:.06em;margin-top:4px;}

/* 丼・鍋（小カード） */
.subhead{margin:80px 0 26px;display:flex;align-items:baseline;gap:20px;}
.subhead h3{font-family:var(--mincho);font-weight:600;font-size:24px;letter-spacing:.08em;}
.subhead span{font-family:var(--en);font-style:italic;font-size:14px;letter-spacing:.12em;color:var(--sumi2);}
.sub{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.scard{background:var(--washi);border:1px solid var(--line);display:flex;flex-direction:column;}
.scard .clip{aspect-ratio:4/3;}
.scard .cap{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1;}
.scard .cap b{display:block;font-family:var(--mincho);font-weight:600;font-size:15px;letter-spacing:.04em;line-height:1.6;}
.scard .cap small{display:block;font-size:12px;color:var(--sumi2);letter-spacing:.06em;line-height:1.7;margin-top:2px;}
.scard .cap strong{display:block;font-family:var(--num);font-weight:400;font-size:20px;letter-spacing:.02em;line-height:1.2;margin-top:auto;padding-top:10px;}
.scard .cap strong small{display:inline;font-family:var(--gothic);font-size:11px;font-weight:500;letter-spacing:.1em;margin-left:6px;}
.scard .cap .ask{display:block;font-family:var(--mincho);font-size:13px;letter-spacing:.1em;color:var(--sumi2);margin-top:auto;padding-top:12px;}
.scard .cap .opts{margin:auto 0 0;padding:10px 0 0;list-style:none;display:flex;flex-wrap:wrap;gap:4px 32px;}   /* なごみ鍋御膳：飛騨牛鍋・結旨豚鍋の価格 */
.scard .cap .opts li{display:flex;align-items:baseline;gap:12px;}
.scard .cap .opts span{font-family:var(--mincho);font-weight:600;font-size:13.5px;letter-spacing:.08em;}
.scard .cap .opts strong{margin-top:0;padding-top:0;}
.scard.wide{grid-column:span 2;}
.scard.wide .pair{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);}
.scard.wide .pair .clip{background:var(--washi);}
.scard.wide .pair i{display:block;font-style:normal;font-size:12px;letter-spacing:.08em;padding:8px 12px 0;background:var(--washi);color:var(--sumi2);}
.lnote{margin-top:26px;font-size:12.5px;color:var(--sumi2);letter-spacing:.06em;line-height:1.9;}

/* 素材のこと（3列・非リンク） */
.mat{padding:110px 0;background:var(--washi);}
.mat__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);}
.mcol{padding:40px 34px 44px;border-bottom:1px solid var(--line);border-left:1px solid var(--line);}
.mcol:first-child{border-left:0;padding-left:0;}
.mcol .kan{font-family:var(--fude);font-size:64px;line-height:1;margin-bottom:14px;}
.mcol h3{font-family:var(--mincho);font-weight:600;font-size:21px;letter-spacing:.06em;line-height:1.5;margin-bottom:10px;}
.mcol p{font-size:14px;line-height:2;}
.more{display:inline-flex;align-items:center;gap:14px;margin-top:36px;font-family:var(--mincho);font-size:15px;letter-spacing:.14em;padding-bottom:4px;border-bottom:1px solid currentColor;}
.more i{display:inline-block;width:26px;height:1px;background:currentColor;transition:width .3s;}
.more:hover i{width:40px;}

/* 夜の肴（暗い面） */
.night{padding:130px 0;background:var(--wood2);color:#fff;position:relative;overflow:hidden;}
.night::before{content:"";position:absolute;inset:0;background:url("/wp-content/uploads/2026/09/hero-interior.webp") center 40%/cover no-repeat;opacity:.1;}
.night .inner{position:relative;z-index:1;}
.night__head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:56px;}
.night__head .sh{margin-bottom:0;}
.night__head p{font-size:14.5px;line-height:2.1;opacity:.92;}
.night__wa{position:absolute;right:-1vw;top:40px;font-family:var(--fude);font-size:320px;line-height:1;color:#fff;opacity:0;transform:scale(1.15);transition:opacity 2s ease .3s,transform 2s cubic-bezier(.2,.7,.3,1) .3s;pointer-events:none;z-index:0;}
.night__wa.is-in{opacity:.05;transform:none;}
.ngrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.ncard{position:relative;}
.ncard .clip{aspect-ratio:4/3;outline:1px solid rgba(255,255,255,.12);}
.ncard.big{grid-column:span 2;}
.ncard.big .clip{aspect-ratio:auto;height:100%;}
.ncard .cap{position:absolute;left:0;right:0;bottom:0;padding:44px 20px 18px;background:linear-gradient(0deg,rgba(30,22,16,.85) 0%,rgba(30,22,16,0) 100%);pointer-events:none;}
.ncard .cap b{display:block;font-family:var(--mincho);font-weight:600;font-size:17px;letter-spacing:.06em;line-height:1.5;}
.ncard .cap small{display:block;font-size:12px;letter-spacing:.08em;opacity:.85;margin-top:2px;}
.ncard.big .cap b{font-size:22px;}
.nalso{margin-top:48px;display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:36px;border-top:1px solid rgba(255,255,255,.18);}
.nalso h4{font-family:var(--mincho);font-weight:600;font-size:16px;letter-spacing:.12em;margin-bottom:12px;}
.nalso h4::before{content:"";display:inline-block;width:8px;height:8px;background:var(--yama);margin-right:12px;vertical-align:3px;}
.chips{display:flex;flex-wrap:wrap;gap:8px 10px;}
.chips li{font-size:13px;letter-spacing:.08em;padding:5px 14px;border:1px solid rgba(255,255,255,.3);border-radius:3px;}
.nalso p{font-size:14px;line-height:2;opacity:.92;}

/* Instagram誘導 */
.igc{padding:120px 0;background:var(--kinari);}
.igc__in{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.igc__pics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.igc__pics .clip{aspect-ratio:1;}
.igc .ig__acc{margin-top:26px;}

/* ============================================================
   テーマが描画するテンプレート（ページヒーロー / 投稿一覧 / 投稿詳細 / 検索 / 404 / CF7）
   ============================================================ */
/* ページヒーロー：固有ヒーロー（section.ph）を持つページではテーマの page-hero を出さない。
   それ以外（お知らせ一覧・投稿詳細・検索・404 など）は .ph と同じ見た目で描画 */
body:has(section.ph) .page-hero{display:none;}
.page-hero{position:relative;margin-top:var(--hd-h);height:min(48vh,480px);min-height:340px;overflow:hidden;background:var(--wood2) url("/wp-content/uploads/2026/09/hero-interior.webp") center 45%/cover no-repeat;padding:0;display:flex;align-items:flex-end;color:#fff;}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,22,16,.7) 0%,rgba(30,22,16,.35) 55%,rgba(30,22,16,.15) 100%),linear-gradient(0deg,rgba(30,22,16,.5) 0%,rgba(30,22,16,0) 45%);}
.page-hero__inner{position:relative;z-index:1;width:100%;max-width:1160px;margin:0 auto;padding:0 32px 48px;display:block;}
.page-hero__box{background:transparent;border:0;padding:0;text-align:left;max-width:none;backdrop-filter:none;-webkit-backdrop-filter:none;}
.page-hero__title-en{margin:0 0 10px;font-family:var(--en);font-style:italic;font-size:16px;letter-spacing:.16em;color:#fff;text-transform:none;line-height:1.4;opacity:.9;}
.page-hero__title-jp{margin:0;font-family:var(--mincho);font-weight:600;font-size:clamp(30px,3.2vw,46px);line-height:1.4;letter-spacing:.08em;color:#fff;}

/* 投稿一覧（お知らせ）: .post の見た目を踏襲 */
.archive-page{max-width:800px;margin:0 auto;padding:90px 32px 130px;}
.archive-page__header{margin-bottom:40px;}
.archive-page__title{font-family:var(--mincho);font-weight:600;font-size:28px;letter-spacing:.06em;line-height:1.5;}
.archive-page__title::before{content:"";display:inline-block;width:8px;height:8px;background:var(--yama);margin-right:12px;vertical-align:4px;}
.archive-page__description{font-size:14px;color:var(--sumi2);margin-top:8px;}
.archive-page__list{display:block;border-top:1px solid var(--line);}
.archive-page__item{display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:start;padding:26px 0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;box-shadow:none;}
.archive-page__item:has(.archive-page__thumb:empty),.archive-page__item:not(:has(.archive-page__thumb)){grid-template-columns:1fr;}
.archive-page__thumb{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--kinari);border-radius:0;}
.archive-page__thumb-img{width:100%;height:100%;object-fit:cover;display:block;}
.archive-page__body{padding:0;}
.archive-page__date{font-family:var(--num);font-size:13px;letter-spacing:.04em;color:var(--sumi);}
.archive-page__cats{display:inline-flex;gap:8px;margin-left:12px;vertical-align:1px;}
.archive-page__cat{font-size:11.5px;letter-spacing:.1em;color:var(--sumi2);padding:1px 10px;border:1px solid var(--line);border-radius:3px;background:transparent;}
.archive-page__item-title{font-family:var(--mincho);font-weight:500;font-size:19px;line-height:1.7;letter-spacing:.04em;margin:8px 0 6px;}
.archive-page__item-title a{color:var(--sumi);}
.archive-page__item-title a:hover{color:var(--wood);}
.archive-page__excerpt{font-size:14px;line-height:1.9;color:var(--sumi2);}
.archive-page__empty{padding:60px 0;text-align:center;color:var(--sumi2);}
.archive-page__pagination,.aic-posts__pagination{margin-top:48px;text-align:center;}
.archive-page__pagination .page-numbers,.aic-posts__pagination .page-numbers{list-style:none;display:inline-flex;gap:6px;padding:0;}
.archive-page__pagination a.page-numbers,.archive-page__pagination span.page-numbers,.aic-posts__pagination a.page-numbers,.aic-posts__pagination span.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:3px;font-family:var(--num);font-size:14px;color:var(--sumi);background:transparent;transition:background .3s,color .3s;}
.archive-page__pagination .page-numbers.current,.aic-posts__pagination .page-numbers.current{background:var(--sumi);color:#fff;border-color:var(--sumi);}
.archive-page__pagination a.page-numbers:hover,.aic-posts__pagination a.page-numbers:hover{background:var(--kinari);}

/* 投稿詳細 */
.single-post{background:var(--washi);}
.single-post__inner{max-width:800px;margin:0 auto;padding:90px 32px 80px;}
.single-post__meta{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.single-post__date{font-family:var(--num);font-size:14px;letter-spacing:.04em;color:var(--sumi);}
.single-post__cats{display:flex;gap:8px;}
.single-post__cat{font-size:11.5px;letter-spacing:.1em;color:var(--sumi2);padding:1px 10px;border:1px solid var(--line);border-radius:3px;background:transparent;}
.single-post__title{font-family:var(--mincho);font-weight:600;font-size:30px;line-height:1.6;letter-spacing:.06em;margin:0 0 30px;padding-bottom:22px;border-bottom:1px solid var(--line);}
.single-post__thumb{display:none;margin:0 0 36px;} /* 記事冒頭のアイキャッチは出さない（2026-09-24 依頼。画像は本文に入れて位置を指定する） */
.single-post__thumb-img{width:100%;height:auto;display:block;}
.single-post__content{font-size:15px;line-height:2.1;}
.single-post__content h2{font-family:var(--mincho);font-weight:600;font-size:24px;line-height:1.6;letter-spacing:.06em;margin:48px 0 16px;padding-left:16px;border-left:3px solid var(--yama);}
.single-post__content h3{font-family:var(--mincho);font-weight:600;font-size:20px;line-height:1.6;margin:36px 0 12px;}
.single-post__content h4{font-weight:700;font-size:16px;margin:28px 0 10px;}
.single-post__content p{margin:0 0 1.4em;}
.single-post__content ul,.single-post__content ol{margin:0 0 1.4em;padding-left:1.4em;}
.single-post__content ul{list-style:disc;}
.single-post__content ol{list-style:decimal;}
.single-post__content li{margin-bottom:.3em;}
.single-post__content a{color:var(--wood);border-bottom:1px solid var(--yama);}
.single-post__content img{height:auto;margin:1em 0;}
.single-post__content blockquote{margin:1.6em 0;padding:16px 22px;border-left:3px solid var(--line);background:var(--kinari);color:var(--sumi2);}
.single-post__content table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:14px;}
.single-post__content th,.single-post__content td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;}
.single-post__content th{font-family:var(--mincho);font-weight:600;background:var(--kinari);}
.single-post__nav{background:var(--kinari);border-top:1px solid var(--line);}
.single-post__nav .single-post__inner{padding:36px 32px;}
.single-post__nav-links{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.single-post__nav-link{display:block;color:var(--sumi);}
.single-post__nav-link--next{text-align:right;}
.single-post__nav-label{display:block;font-family:var(--en);font-style:italic;font-size:13px;letter-spacing:.1em;color:var(--sumi2);}
.single-post__nav-title{display:block;font-family:var(--mincho);font-size:15px;line-height:1.6;margin-top:4px;}

/* 検索結果 */
.search-results__inner{max-width:800px;margin:0 auto;padding:90px 32px 130px;}
.search-results__header{margin-bottom:40px;}
.search-results__query{font-family:var(--mincho);font-weight:600;font-size:24px;letter-spacing:.06em;line-height:1.5;}
.search-results__count{font-family:var(--num);font-weight:400;font-size:15px;color:var(--sumi2);margin-left:8px;}
.search-results__list{border-top:1px solid var(--line);}
.search-results__empty{padding:40px 0;text-align:center;}
.search-results__empty-text{font-family:var(--mincho);font-size:18px;margin-bottom:10px;}
.search-results__empty-hint{font-size:14px;color:var(--sumi2);margin-bottom:30px;}

/* 404 */
.error-404{padding:100px 32px 130px;text-align:center;}
.error-404__inner{max-width:640px;margin:0 auto;}
.error-404__code{font-family:var(--num);font-size:96px;line-height:1;letter-spacing:.04em;color:var(--sumi);margin-bottom:16px;}
.error-404__heading{font-family:var(--mincho);font-weight:600;font-size:24px;line-height:1.6;letter-spacing:.06em;margin-bottom:14px;}
.error-404__text{font-size:14px;color:var(--sumi2);margin-bottom:30px;}
.error-404 a.btn,.search-results__empty a.btn{margin:0 auto;}

/* [aic_posts] 汎用（variant 未指定時のシンプル一覧） */
.aic-posts{--aic-cols:3;}
.aic-posts__item{background:var(--washi);border:1px solid var(--line);border-radius:0;box-shadow:none;}
.aic-posts__link{color:var(--sumi);}
.aic-posts__date{font-family:var(--num);font-size:13px;letter-spacing:.04em;color:var(--sumi2);}
.aic-posts__title{font-family:var(--mincho);font-weight:500;font-size:16px;line-height:1.7;letter-spacing:.04em;}
.aic-posts__excerpt{font-size:13.5px;color:var(--sumi2);}
.aic-posts__pager a{font-family:var(--num);color:var(--sumi);border-bottom:1px solid var(--sumi);}

/* Contact Form 7（現状フォームなし。将来設置時の基本形） */
.wpcf7 form{max-width:720px;margin:0 auto;}
.wpcf7 p{margin-bottom:22px;}
.wpcf7 label{display:block;font-family:var(--mincho);font-weight:600;font-size:14px;letter-spacing:.1em;margin-bottom:6px;}
.wpcf7-form-control-wrap{display:block;}
.wpcf7-text,.wpcf7-email,.wpcf7-tel,.wpcf7-textarea,.wpcf7-select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:3px;background:#fff;font:inherit;font-size:15px;color:var(--sumi);}
.wpcf7-text:focus,.wpcf7-email:focus,.wpcf7-tel:focus,.wpcf7-textarea:focus{outline:none;border-color:var(--sumi);}
.wpcf7-textarea{min-height:180px;resize:vertical;}
.wpcf7-required{color:var(--yama);margin-left:4px;}
.wpcf7-submit{display:block;min-width:280px;margin:10px auto 0;padding:17px 32px;background:var(--wood);color:#fff;border:0;border-radius:4px;font:inherit;font-weight:700;font-size:15px;letter-spacing:.1em;cursor:pointer;transition:background .3s;}
.wpcf7-submit:hover{background:var(--sumi);}
.wpcf7-not-valid-tip{display:block;margin-top:6px;font-size:12.5px;color:#B23A2E;}
.wpcf7-response-output{margin:24px 0 0;padding:14px 18px;border:1px solid var(--line);border-radius:3px;font-size:14px;}

/* ============================================================
   多言語（JP / EN / 繁體中文 / 简体中文）— html[lang] で切替。文言は data-ja/en/zh/zhs（JS: applyLang）
   ============================================================ */
/* 繁體中文：本文は Noto Sans TC、明朝系見出しは Noto Serif TC。筆文字（.fude）は Yuji Syuku のまま */
html[lang="zh-Hant"]{
  --mincho:"Noto Serif TC","Shippori Mincho","Hiragino Mincho ProN",serif;
  --gothic:"Noto Sans TC","Zen Kaku Gothic New","Hiragino Kaku Gothic ProN",sans-serif;
  --num:"Marcellus","Noto Serif TC",serif;
}
html[lang="zh-Hant"] .mv__ttl{letter-spacing:.06em;}
/* 简体中文：本文は Noto Sans SC、明朝系見出しは Noto Serif SC */
html[lang="zh-Hans"]{
  --mincho:"Noto Serif SC","Shippori Mincho","Hiragino Mincho ProN",serif;
  --gothic:"Noto Sans SC","Zen Kaku Gothic New","Hiragino Kaku Gothic ProN",sans-serif;
  --num:"Marcellus","Noto Serif SC",serif;
}
html[lang="zh-Hans"] .mv__ttl{letter-spacing:.06em;}

/* 英語：明朝系見出しは Cormorant Garamond 600。本文は Zen Kaku Gothic New のまま。和文用の広い字間を .02em に */
html[lang="en"]{--mincho:"Cormorant Garamond","Shippori Mincho",Georgia,serif;}
html[lang="en"] body{letter-spacing:.02em;}
html[lang="en"] :is(.sh h2,.lead,.txt,.mv__sub p,.kcard h3,.kcard p,.kcard ul li,.hy h3,.hy p,.hy__go,.dish b,.facts em,.seat li span,.aic-posts--home .aic-posts__title,.dl div,.ft li,.ft__logo p,.cta h2,.cta p,.cta small,a.btn,.spbar a,.hd__nav,.hd__cta .lab,.ig__note,.op-sub,
  .ph h1,.ph h1 small,.page-hero__title-jp,.nums em,.wcard h3,.wcard p,.mcard h3,.mcard li,.gmenu__note,.pdfs a,.chk li,.tbl th,.rng strong small,.bus__hero,.bus__grid h3,.bus__grid p,.route .pt b,.route .leg i,.ocard h3,.ocard p,.ocard li,.faq__acc summary,.faq__acc .a,.step h3,.step p,.flow__ask b,.flow__ask li,
  .jump b,.lunch__time,.feat h3,.feat p,.prices b,.cont li,.pcell .cap b,.pcell .cap em,.scard .cap b,.scard .cap small,.scard .cap .ask,.lnote,.mcol h3,.mcol p,.more,.night__head p,.ncard .cap b,.ncard .cap small,.nalso h4,.nalso p,.chips li){letter-spacing:.02em;}
/* Cormorant は同サイズで小さく見えるため、見出しを少し大きく。小さな明朝ラベルはゴシックへ */
html[lang="en"] .sh h2{font-size:42px;}
html[lang="en"] .lead{font-size:21px;font-weight:500;}
html[lang="en"] .kcard h3{font-size:31px;}
html[lang="en"] .hy h3{font-size:33px;}
html[lang="en"] .cta h2{font-size:36px;font-weight:600;}
html[lang="en"] .aic-posts--home .aic-posts__title{font-size:19px;font-weight:600;}
html[lang="en"] :is(.wcard h3,.ocard h3,.step h3,.mcard h3,.bus__grid h3){font-size:24px;}
html[lang="en"] :is(.faq__acc summary,.chk li,.prices b,.jump b,.flow__ask b,.tbl th,.ncard .cap b){font-size:19px;}
html[lang="en"] .ncard.big .cap b{font-size:24px;}
html[lang="en"] :is(.pcell .cap b,.scard .cap b,.nalso h4){font-size:17px;}
html[lang="en"] .feat h3{font-size:36px;}
html[lang="en"] .route .pt b{font-size:24px;}
html[lang="en"] .route .pt.here b{font-size:30px;}
html[lang="en"] .bus__hero{font-size:clamp(30px,3.4vw,50px);}
html[lang="en"] .ph h1{font-size:clamp(36px,4vw,60px);}
html[lang="en"] .ph h1 small{font-size:.36em;font-family:var(--gothic);letter-spacing:.06em;}
html[lang="en"] :is(.hd__logo span,.dl dt,.ft__logo p,.op-sub,.mv__sub p,.hy__go,.more,.scard .cap .ask,.lunch__time b,.rng strong[style],.facts strong small,.nums strong small){font-family:var(--gothic);}
html[lang="en"] .dl dt{font-weight:700;}
html[lang="en"] .mv__sub p{font-size:15px;line-height:1.9;}
/* 英語は文字数が増える箇所の詰め */
html[lang="en"] ul.hd__nav{gap:24px;font-size:15.5px;font-weight:600;}   /* PC の横並び（タブレット以下は css-tablet で 17px に戻す） */
html[lang="en"] .hd__cta .lab{letter-spacing:.06em;}
html[lang="en"] .band__item span small{font-size:11.5px;}
html[lang="en"] .facts strong{font-size:21px;}
html[lang="en"] .facts strong small{font-size:12px;}
html[lang="en"] .dish b{font-size:11.5px;}
html[lang="en"] .seat{gap:28px;}
html[lang="en"] .seat li span{letter-spacing:.04em;}
html[lang="en"] .nums b,html[lang="en"] .facts b,html[lang="en"] .rng li b{letter-spacing:.14em;}
html[lang="en"] .grp__pic .badge small{font-size:10px;letter-spacing:.08em;}
html[lang="en"] .mcard .price small,html[lang="en"] .prices strong small,html[lang="en"] .pcell .cap strong small,html[lang="en"] .scard .cap strong small{letter-spacing:.04em;}
/* EN のメインビジュアル見出し：横書き・左寄せ（2行）。墨色・影なし */
html[lang="en"] .mv{--mv-fs-en:min(clamp(30px,3.6vw,60px),6vh);}
html[lang="en"] .mv__ttl{font-family:var(--en);font-style:italic;font-weight:500;font-size:var(--mv-fs-en);line-height:1.15;letter-spacing:.02em;color:var(--sumi);}

/* 動きを抑える設定のユーザーにはアニメーションを止める（幅の @media ではないため css-pc に置く） */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
}
