/* =========================================================
   一葉 v2 ｜ 内層ページ用スタイル（通常スクロール）
   taicha.css の後に読み込む。トークン/コンポーネントを再利用。
   ========================================================= */
body.page{overflow-x:hidden}
.page .cwrap{width:100%;max-width:1180px;margin:0 auto;padding:0 clamp(28px,6vw,72px)}
.page .narrow{max-width:900px}

/* 2カラム→モバイルで1カラムに畳む汎用ヘルパー（インライングリッド置換用） */
.duo{display:grid;grid-template-columns:1fr 1fr;align-items:center}

/* 語中改行を禁止する汎用ヘルパー（店名などを行またぎで割らせない） */
.nb{white-space:nowrap}

/* モバイル用ナビ（ハンバーガー＋地球儀）。内層ページで nav.js が site-header に注入 */
.hnav{display:none;align-items:center;gap:6px}
.hnav .langsel summary{color:#ece5d7}
.hnav .langsel summary:hover,.hnav .langsel[open] summary{color:var(--gold)}

/* ===== Fixed header ===== */
.site-header{position:fixed;top:0;left:0;right:0;z-index:60;background:linear-gradient(180deg,rgba(16,14,12,.9),rgba(16,14,12,.55));backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-header .bar{display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 clamp(24px,5vw,48px)}
.brand-sm{display:flex;align-items:center;gap:12px}
.brand-sm .kanji{font-family:var(--mincho);font-size:24px;letter-spacing:.14em;color:#fff}
/* logo.png は黒文字＋透過 → 反転して白ロゴとして使う */
.brand-sm .logo-img{height:36px;width:auto;display:block;filter:brightness(0) invert(.94)}
/* index: ヒーロー表示中は通常ヘッダーを隠す（hero-ui と交代） */
.site-header{transition:transform .45s ease,opacity .45s ease}
.site-header.hide{transform:translateY(-100%);opacity:0;pointer-events:none}
.brand-sm .en{font-family:var(--en);font-size:12px;letter-spacing:.4em;color:var(--muted);padding-left:12px;border-left:1px solid var(--line)}
.site-nav{display:flex;align-items:center;gap:26px}
.site-nav .links{display:flex;gap:26px;align-items:center}
.site-nav a.nav{font-family:var(--en);font-size:15px;letter-spacing:.28em;text-transform:uppercase;color:#ded6c8;white-space:nowrap}
.site-nav a.nav:hover,.site-nav a.nav[aria-current]{color:#fff}
.site-nav .jp{font-family:var(--mincho);font-size:12px;letter-spacing:.1em;display:block;text-align:center;color:#b3ab9d;margin-top:3px}

/* 地球儀の言語セレクタ（クリックで各言語） */
.langsel{position:relative}
.langsel summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--muted);transition:color .2s}
.langsel summary::-webkit-details-marker{display:none}
.langsel summary:hover,.langsel[open] summary{color:#fff}
.langsel svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.4}
.langsel ul{position:absolute;top:calc(100% + 12px);right:0;min-width:154px;list-style:none;background:rgba(20,16,12,.97);border:1px solid var(--line);backdrop-filter:blur(8px);padding:8px 0;z-index:80;box-shadow:0 12px 34px rgba(0,0,0,.5)}
.langsel[open] ul{animation:langfade .22s ease}
@keyframes langfade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
/* 選択中の言語をハイライト */
.langsel a.lang-active,.ov-foot .lang a.lang-active,.pfooter a.lang-active{color:var(--gold)}
.langsel li a{display:block;padding:9px 20px;font-family:var(--mincho);font-size:13px;letter-spacing:.12em;color:var(--muted);white-space:nowrap;transition:.2s}
.langsel li a:hover{color:#fff;background:rgba(197,166,104,.12)}

/* 金属質ゴールドのカプセル型ボタン（予約・食べログ） */
.btn-gold,.site-nav .reserve,.btn-tabelog{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid transparent;border-radius:999px;
  background:radial-gradient(135% 180% at 50% 0%,#2c2118,#160f0a 55%,#0d0a07) padding-box,
  linear-gradient(135deg,#d8bd7e 0%,#8a6a2f 24%,#f2e2b6 50%,#7d5f2a 74%,#cda96a 100%) border-box;
  color:#efe7d8;text-shadow:0 1px 2px rgba(0,0,0,.6);
  box-shadow:0 4px 20px rgba(0,0,0,.45),0 0 14px rgba(197,166,104,.26);transition:box-shadow .3s,transform .3s}
.btn-gold:hover,.site-nav .reserve:hover,.btn-tabelog:hover{box-shadow:0 6px 28px rgba(0,0,0,.5),0 0 24px rgba(197,166,104,.5);transform:translateY(-1px)}
.site-nav .reserve{font-family:var(--en);letter-spacing:.24em;font-size:12px;text-transform:uppercase;padding:11px 26px}

/* ===== Page hero ===== */
.phero{position:relative;height:60vh;min-height:420px;display:flex;align-items:flex-end;overflow:hidden}
.phero img{position:absolute;inset:0;transform:scale(1.05)}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(16,14,12,1),rgba(16,14,12,.35) 55%,rgba(16,14,12,.6))}
.phero .inner{position:relative;z-index:2;padding-bottom:56px}
.phero .eyebrow{display:block}
.phero h1{font-family:var(--en);font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:clamp(38px,6vw,80px);line-height:1.05;margin-top:12px;text-shadow:0 4px 30px rgba(0,0,0,.5)}
.phero .jp{margin-top:14px;font-family:var(--mincho);font-size:clamp(16px,1.6vw,20px);letter-spacing:.28em;color:#fff}
.phero .crumb{margin-top:16px;font-family:var(--en);font-size:12px;letter-spacing:.2em;color:var(--muted)}
.phero .crumb a:hover{color:#fff}

/* ===== Content sections ===== */
.psec{padding:clamp(64px,9vw,120px) 0}
.psec.alt{background:var(--bg2)}
.psec.panelbg{background:var(--panel)}
.chead{text-align:center;margin-bottom:clamp(38px,5vw,60px)}
.chead .eyebrow{display:block}
.chead h2{font-family:var(--en);font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:clamp(28px,4vw,52px);margin-top:12px}
.chead .jp{margin-top:12px;font-size:15px;letter-spacing:.28em;color:var(--muted)}
.lead-c{max-width:40em;margin:0 auto;text-align:center;color:var(--muted);line-height:2.05;font-size:15px}

/* ===== 見出しの登場演出（reveal.js が .rvl→.rvl-in を付与） ===== */
.rvl>*{opacity:0;transform:translateY(24px);filter:blur(5px);transition:opacity .9s cubic-bezier(.22,.61,.36,1),transform 1.05s cubic-bezier(.22,.61,.36,1),filter .9s ease}
.rvl.rvl-in>*{opacity:1;transform:none;filter:blur(0)}
.rvl.rvl-in>*:nth-child(1){transition-delay:.04s}
.rvl.rvl-in>*:nth-child(2){transition-delay:.16s}
.rvl.rvl-in>*:nth-child(3){transition-delay:.28s}
.rvl.rvl-in>*:nth-child(4){transition-delay:.40s}
.rvl.rvl-in>*:nth-child(5){transition-delay:.52s}
@media(prefers-reduced-motion:reduce){.rvl>*{opacity:1;transform:none;filter:none;transition:none}}

/* menu category (for full menu page) */
.mcat{margin-bottom:clamp(40px,5vw,64px)}
.mcat .cat-h{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--gold);padding-bottom:12px;margin-bottom:6px}
.mcat .cat-h .en{font-family:var(--en);text-transform:uppercase;letter-spacing:.3em;font-size:13px;color:var(--gold)}
.mcat .cat-h .jp{font-family:var(--mincho);font-size:20px;letter-spacing:.1em}

/* way (eat guide) */
.way{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);align-items:center;margin-bottom:clamp(48px,7vw,96px)}
.way:nth-child(even) .way-txt{order:2}
.way .way-ph{aspect-ratio:4/3;overflow:hidden;position:relative}
.way .way-ph::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px var(--line)}
.way .num{font-family:var(--en);letter-spacing:.3em;font-size:13px;color:var(--gold)}
.way h3{font-family:var(--mincho);font-size:clamp(24px,2.4vw,32px);letter-spacing:.1em;margin:10px 0 6px}
.way h3 .en{display:block;font-family:var(--en);font-size:13px;letter-spacing:.24em;color:var(--muted);text-transform:uppercase;margin-top:6px}
.way p{color:var(--muted);line-height:2;font-size:14.5px}
.way .multi{margin-top:14px;font-family:var(--en);font-size:12px;letter-spacing:.06em;color:var(--faint);border-left:1px solid var(--gold);padding-left:14px}

/* faq */
.faq{max-width:820px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:22px 44px 22px 36px;position:relative;font-family:var(--mincho);font-size:18px;letter-spacing:.04em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";position:absolute;left:0;top:20px;font-family:var(--en);color:var(--gold);font-size:18px}
.faq summary::after{content:"+";position:absolute;right:6px;top:20px;font-family:var(--en);color:var(--muted);transition:.2s}
.faq details[open] summary::after{content:"–";color:var(--gold)}
.faq .a{padding:0 8px 24px 36px;color:var(--muted);font-size:14.5px;line-height:2}
.faq .a a{color:var(--gold)}

/* reserve widget */
.wgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,40px)}
.wcard{border:1px solid var(--line);padding:32px}
.wcard .tag{font-family:var(--en);letter-spacing:.3em;font-size:12px;color:var(--gold);text-transform:uppercase}
.wcard h3{font-family:var(--mincho);font-size:22px;letter-spacing:.06em;margin:8px 0 4px}
.wcard .sub{font-size:12.5px;color:var(--muted);margin-bottom:18px}
.widgetbox{border:1px dashed var(--line);padding:30px;text-align:center;color:var(--faint);font-size:13px}
.widgetbox strong{display:block;font-family:var(--mincho);color:var(--text);font-size:16px;margin-bottom:6px}

/* access route */
.aroute{list-style:none;counter-reset:s}
.aroute li{position:relative;padding:0 0 20px 42px;border-left:1px solid var(--line);margin-left:13px}
.aroute li:last-child{border-left:none}
.aroute li::before{counter-increment:s;content:counter(s);position:absolute;left:-13px;top:-3px;width:26px;height:26px;border:1px solid var(--gold);color:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--en);font-size:12px;background:var(--bg)}
.aroute h4{font-family:var(--mincho);font-size:16px;margin-bottom:2px}
.aroute p{font-size:13px;color:var(--muted)}
.ainfo{font-size:14px;line-height:1.9;color:var(--muted)}
.mapbox2{aspect-ratio:16/11;background:repeating-linear-gradient(45deg,#1c1814,#1c1814 12px,#211c17 12px,#211c17 24px);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--faint);font-family:var(--en);letter-spacing:.2em;font-size:12px;text-align:center}

/* store split (interior, full-bleed) */
.store2{display:grid;grid-template-columns:1fr 1fr;min-height:460px}
.store2:nth-child(even) .s-ph{order:2}
.store2 .s-ph{position:relative;overflow:hidden}
.store2 .s-body{display:flex;flex-direction:column;justify-content:center;padding:clamp(44px,6vw,80px)}
.store2.dk{background:var(--bg2)}
.store2 .tag{font-family:var(--en);letter-spacing:.3em;font-size:12px;color:var(--gold);text-transform:uppercase}
.store2 h3{font-family:var(--mincho);font-size:clamp(26px,3vw,34px);letter-spacing:.08em;margin:10px 0 18px}
.store2 dl{display:grid;grid-template-columns:auto 1fr;gap:9px 20px;font-size:14px;color:var(--muted)}
.store2 dt{font-family:var(--en);letter-spacing:.16em;font-size:12px;color:var(--text)}
.store2 .transfer{margin-top:20px;font-size:12.5px;color:#a89e8f}
.store2 .actions{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}

/* band */
.band2{position:relative;text-align:center;padding:clamp(80px,12vw,140px) 0;overflow:hidden}
.band2 img{position:absolute;inset:0}
.band2::after{content:"";position:absolute;inset:0;background:rgba(16,14,12,.72)}
.band2 .cwrap{position:relative;z-index:2}
.band2 h2{font-family:var(--en);text-transform:uppercase;letter-spacing:.1em;font-size:clamp(26px,4vw,44px);font-weight:500;margin-bottom:8px}
.band2 .jp{font-family:var(--mincho);letter-spacing:.2em;color:#e7dfcf;margin-bottom:26px}

/* =========================================================
   FEATURE ｜ 白い二重フレーム＋ドローイン（枠が描かれて出る）
   ========================================================= */
.feature .chead{margin-bottom:clamp(48px,6vw,72px)}
.feature .cwrap{overflow:visible}
.feature-row{position:relative;display:flex;align-items:center;height:clamp(560px,46vw,720px);margin-bottom:clamp(60px,8vw,120px)}
.feature-row:last-child{margin-bottom:0}
/* 写真：左端まで伸びる横長のブリード（rev は右端へ） */
.feature-row .fimg{position:absolute;top:0;bottom:0;left:calc(50% - 50vw);width:66vw;overflow:hidden;z-index:1}
.feature-row.rev .fimg{left:auto;right:calc(50% - 50vw)}
.feature-row .fimg img{transition:transform 1.4s cubic-bezier(.2,.7,.2,1);transform:scale(1.12)}
.feature-row.in .fimg img{transform:scale(1)}
/* カードが重なる側だけ暗くして文字の視認性を確保（写真の見せ場は残す） */
.feature-row .fimg::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(16,14,12,0) 42%,rgba(16,14,12,.5) 74%,rgba(16,14,12,.85) 100%)}
.feature-row.rev .fimg::after{background:linear-gradient(-90deg,rgba(16,14,12,0) 42%,rgba(16,14,12,.5) 74%,rgba(16,14,12,.85) 100%)}

/* テキストカード（写真の右側に重なる）。カードの縦は写真の約2/3・縦中央寄せ */
.fcard{position:relative;z-index:2;width:min(46%,460px);height:66%;margin-left:auto;display:flex;flex-direction:column;justify-content:center;padding:0 clamp(34px,4vw,60px)}
.feature-row.rev .fcard{margin-left:0;margin-right:auto}
.fcard .no{font-family:var(--en);font-size:clamp(32px,3.4vw,50px);color:var(--text);letter-spacing:.04em;line-height:1}
.fcard .no small{font-family:var(--mincho);font-size:14px;letter-spacing:.24em;color:var(--gold);margin-left:14px}
.fcard h3{font-family:var(--mincho);font-size:clamp(24px,2.6vw,34px);letter-spacing:.16em;margin:22px 0 20px}
.fcard p{color:var(--muted);line-height:2.1;font-size:14.5px;max-width:26em}

/* 二重フレーム */
.frame{position:absolute;inset:0;pointer-events:none}
.frame2{transform:translate(18px,18px)}
.frame .ln{position:absolute;background:rgba(236,229,215,.55)}
.frame .t{top:0;left:0;right:0;height:1px;transform:scaleX(0);transform-origin:left}
.frame .r{top:0;right:0;bottom:0;width:1px;transform:scaleY(0);transform-origin:top}
.frame .b{left:0;right:0;bottom:0;height:1px;transform:scaleX(0);transform-origin:right}
.frame .l{top:0;left:0;bottom:0;width:1px;transform:scaleY(0);transform-origin:bottom}
.frame .ln{transition:transform .5s cubic-bezier(.4,0,.2,1)}
.frame1 .t{transition-delay:.05s}.frame1 .r{transition-delay:.5s}.frame1 .b{transition-delay:.95s}.frame1 .l{transition-delay:1.4s}
.frame2 .ln{background:rgba(236,229,215,.28)}
.frame2 .t{transition-delay:.5s}.frame2 .r{transition-delay:.95s}.frame2 .b{transition-delay:1.4s}.frame2 .l{transition-delay:1.85s}
.feature-row.in .frame .ln{transform:none}

/* トンボ（右上の十字マーク） */
.reg{position:absolute;top:-9px;right:-9px;width:34px;height:34px;z-index:3;opacity:0;transform:scale(.6);transition:opacity .5s ease 1.9s,transform .5s ease 1.9s}
.feature-row.in .reg{opacity:1;transform:scale(1)}
.reg::before,.reg::after{content:"";position:absolute;background:var(--gold)}
.reg::before{left:50%;top:0;bottom:0;width:1px;transform:translateX(-.5px)}
.reg::after{top:50%;left:0;right:0;height:1px;transform:translateY(-.5px)}

/* テキスト自体のフェードアップ */
.fcard .no,.fcard h3,.fcard p{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.feature-row.in .fcard .no{transition-delay:.3s}
.feature-row.in .fcard h3{transition-delay:.45s}
.feature-row.in .fcard p{transition-delay:.6s}
.feature-row.in .fcard .no,.feature-row.in .fcard h3,.feature-row.in .fcard p{opacity:1;transform:none}

/* ===== FEATUREフレームの汎用適用（.fx）｜ 予約カード・地図・FAQなどを額装する ===== */
.fx{position:relative}
.fx.in .frame .ln{transform:none}
.fx.in .reg{opacity:1;transform:scale(1)}

/* stores: FEATURE行に店舗情報（dl・ボタン）を載せる */
.fcard.autoh{height:auto;min-height:66%;padding-top:clamp(32px,3.6vw,52px);padding-bottom:clamp(32px,3.6vw,52px)}
.fcard dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:13.5px;color:var(--muted);opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.fcard dt{font-family:var(--en);letter-spacing:.16em;font-size:11.5px;color:var(--text)}
.feature-row.in .fcard dl{opacity:1;transform:none;transition-delay:.6s}
.fcard .transfer{margin-top:16px;font-size:12.5px;color:#a89e8f;opacity:0;transition:opacity .7s ease .75s}
.feature-row.in .fcard .transfer{opacity:1}
.fcard .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;opacity:0;transition:opacity .7s ease .85s}
.feature-row.in .fcard .actions{opacity:1}

/* 食べログ ネット予約（公式仕様によりiframe埋め込み不可 → リンク設置） */
.wcard.fx{border:none;padding:40px 34px}
.btn-tabelog{width:100%;text-align:center;padding:18px 16px;font-family:var(--mincho);font-size:15px;letter-spacing:.14em;margin-top:8px}
.btn-tabelog small{display:block;margin-top:6px;font-family:var(--en);font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:#c9ad74;text-shadow:none}
.tbl-note{margin-top:12px;font-size:12px;color:#a89e8f;line-height:1.8}

/* =========================================================
   お品書き導入（左に文章・右に画像の2カラム）
   ========================================================= */
.menuband{position:relative;padding:clamp(56px,8vw,110px) 0 clamp(40px,6vw,70px)}
.menuband__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:center}
.menuband__info .eyebrow{display:block;margin-bottom:18px}
.menuband__info .ttl{font-family:var(--mincho);font-size:clamp(30px,4.4vw,52px);letter-spacing:.14em;margin-bottom:clamp(18px,2.4vw,28px);color:var(--text)}
.menuband__info .txt{color:var(--muted);line-height:2.15;font-size:15px}
.menuband__img{position:relative;aspect-ratio:4/5;overflow:hidden}
.menuband__img img{width:100%;height:100%;object-fit:cover}

/* =========================================================
   めしあがり方（鯛茶STAND js-order 風・3枚ジグザグ）
   ========================================================= */
.order-sec{padding:clamp(56px,8vw,110px) 0 clamp(80px,11vw,150px)}
.order-head{text-align:center;margin-bottom:clamp(44px,6vw,80px)}
.order-head .en{font-family:var(--en);font-weight:500;text-transform:uppercase;letter-spacing:.14em;font-size:clamp(28px,4vw,48px)}
.order-head .jp{margin-top:12px;font-family:var(--mincho);font-size:15px;letter-spacing:.3em;color:var(--muted)}
.order-items{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,46px);align-items:start}
.order-item{opacity:0;transform:translateY(60px);transition:opacity 1s ease,transform 1s ease}
.order-item.in{opacity:1;transform:none}
.order-item:nth-child(2){margin-top:clamp(24px,4vw,56px);transition-delay:.1s}
.order-item:nth-child(3){margin-top:clamp(48px,8vw,112px);transition-delay:.2s}
.order-item .oimg{aspect-ratio:3/4;overflow:hidden;position:relative;margin-bottom:clamp(20px,2.4vw,34px)}
.order-item .oimg::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px var(--line)}
.order-item .oimg img{transition:transform 1.2s ease}
.order-item.in .oimg img{transform:scale(1.04)}
.order-item .ohead{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}
.order-item .ono{font-family:var(--en);font-size:clamp(26px,3vw,34px);color:var(--gold);letter-spacing:.04em;line-height:1}
.order-item .olead{font-family:var(--mincho);font-size:clamp(18px,2vw,22px);letter-spacing:.06em}
.order-item .otext{color:var(--muted);font-size:14px;line-height:2}
@media(max-width:900px){
  .menuband__grid{grid-template-columns:1fr;gap:28px}
  .menuband__img{order:-1;aspect-ratio:16/11}
  .order-items{grid-template-columns:1fr;gap:0}
  .order-item,.order-item:nth-child(2),.order-item:nth-child(3){margin-top:0;margin-bottom:44px;transform:translateY(30px)}
  .order-item .oimg{aspect-ratio:16/10}
}
/* TOP店舗カード内の予約ボタン */
.store .btn-tabelog{margin-top:20px;padding:15px 16px;font-size:14px}

/* News一覧 */
.news-list{max-width:860px;margin:0 auto}
.news-list li{list-style:none;display:grid;grid-template-columns:auto auto 1fr;gap:10px 22px;align-items:baseline;padding:22px 4px;border-bottom:1px solid var(--line)}
.news-list .date{font-family:var(--en);letter-spacing:.14em;font-size:14px;color:var(--gold)}
.news-list .cat{font-family:var(--en);letter-spacing:.2em;font-size:10.5px;text-transform:uppercase;color:var(--faint);border:1px solid var(--line);padding:4px 10px}
.news-list .ttl{font-family:var(--mincho);font-size:16px;letter-spacing:.05em}
.news-list .body{grid-column:1/-1;color:var(--muted);font-size:13.5px;line-height:2;margin-top:2px}
@media(max-width:900px){.news-list li{grid-template-columns:auto 1fr}.news-list .ttl{grid-column:1/-1}}

/* シーン提案（rooms） */
.scene-note{max-width:760px;margin:0 auto;border:1px solid var(--line);padding:clamp(24px,3.5vw,40px);text-align:center}
.scene-note .t{font-family:var(--en);letter-spacing:.3em;font-size:12px;color:var(--gold);text-transform:uppercase;margin-bottom:12px}
.scene-note p{color:var(--muted);font-size:14px;line-height:2}

/* 2店舗イラストマップ（1枚画像・額装フレーム付き） */
.gmap-wrap{position:relative}
.storemap-wrap{max-width:480px;margin-inline:auto}
.storemap{display:block;width:100%;height:auto;border:1px solid var(--line)}

/* FAQ全体の額装 */
.faq-frame{position:relative;max-width:920px;margin:0 auto;padding:clamp(26px,4.5vw,56px) clamp(22px,4vw,52px)}

@media(prefers-reduced-motion:reduce){
  .frame .ln,.reg,.fcard .no,.fcard h3,.fcard p,.fcard dl,.fcard .transfer,.fcard .actions,.feature-row .fimg img{transition:none}
  .frame .ln{transform:none}.reg{opacity:1;transform:none}
  .fcard .no,.fcard h3,.fcard p,.fcard dl{opacity:1;transform:none}.feature-row .fimg img{transform:none}
  .fcard .transfer,.fcard .actions{opacity:1}
}
@media(max-width:900px){
  .feature-row,.feature-row.rev{display:block;height:auto}
  .feature-row .fimg,.feature-row.rev .fimg{position:static;left:auto;right:auto;width:auto;aspect-ratio:5/4}
  .fcard,.feature-row.rev .fcard{position:relative;width:auto;height:auto;margin:-40px 16px 0;padding:38px 26px}
}

/* footer */
.pfooter{background:#0b0a09;border-top:1px solid var(--line);padding:60px 0 28px}
.pfooter .fg{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:34px;padding-bottom:34px;border-bottom:1px solid var(--line)}
.pfooter .fk{font-family:var(--mincho);color:#fff;font-size:22px;letter-spacing:.14em;margin-bottom:16px}
.pfooter .fk .logo-img{height:40px;width:auto;display:block;filter:brightness(0) invert(.94)}
/* 電話番号ボタンは＋4pxで大きく */
a.btn[href^="tel:"]{font-size:17px}
.pfooter p{color:var(--muted);font-size:13px;line-height:1.9}
.pfooter .fh{font-family:var(--en);letter-spacing:.24em;font-size:12px;color:var(--text);text-transform:uppercase;margin-bottom:12px}
.pfooter a{color:var(--muted);font-size:13px}.pfooter a:hover{color:#fff}
/* SNSラインアイコン */
.pfooter .sns{display:inline-flex;gap:16px;align-items:center;margin-top:12px}
.pfooter .sns a{display:inline-flex}
.pfooter .sns svg{width:22px;height:22px;display:block;stroke:currentColor;fill:none;stroke-width:1.5}
.pfooter .cp{padding-top:22px;text-align:center;font-family:var(--en);letter-spacing:.2em;font-size:11px;color:var(--faint)}

/* 汎用：本店／別邸を選ぶ電話ボタン（デスクトップ含む全幅） */
.tel-pick{position:relative;display:inline-block}
.tel-pick>summary{list-style:none;cursor:pointer}
.tel-pick>summary::-webkit-details-marker{display:none}
.tel-pick .tel-drop{position:absolute;top:calc(100% + 10px);left:0;min-width:240px;background:rgba(20,16,12,.98);border:1px solid var(--line);backdrop-filter:blur(8px);box-shadow:0 14px 34px rgba(0,0,0,.55);overflow:hidden;z-index:40;animation:langfade .2s ease}
/* TOP #infoのドロップダウンはパネル下部にあるため上向きに開く（下だと画面外になる） */
.info .tel-pick .tel-drop{top:auto;bottom:calc(100% + 10px)}
.tel-pick .tel-drop a{display:block;text-align:left;padding:14px 18px 13px;border-bottom:1px solid var(--line)}
.tel-pick .tel-drop a:last-child{border-bottom:0}
.tel-pick .tel-drop b{display:block;font-family:var(--mincho);font-weight:400;font-size:15px;letter-spacing:.06em;color:#fff}
.tel-pick .tel-drop span{display:block;font-family:var(--sans);font-size:11.5px;letter-spacing:.06em;color:var(--muted);margin-top:4px}
.tel-pick .tel-drop a:hover,.tel-pick .tel-drop a:active{background:rgba(197,166,104,.14)}

/* mobile reserve bar */
.mbar{display:none}
@media(max-width:900px){
  .duo{grid-template-columns:1fr}
  .site-nav{display:none}
  .hnav{display:flex}
  .phero{height:auto;min-height:0;padding:130px 0 44px}
  .way,.wgrid,.store2,.pfooter .fg{grid-template-columns:1fr}
  .way:nth-child(even) .way-txt{order:0}
  .store2:nth-child(even) .s-ph{order:0}
  .store2{min-height:0}.store2 .s-ph{aspect-ratio:16/10}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;border-top:1px solid var(--line)}
  .mbar a{flex:1;text-align:center;padding:15px;font-family:var(--en);letter-spacing:.2em;font-size:13px}
  .mbar .tel{background:var(--bg2);color:#fff}.mbar .res{background:var(--gold);color:#171310}
  /* TELタップで本店／別邸を選ぶポップアップ */
  .mbar .tel-choice{flex:1;position:relative}
  .mbar .tel-choice>summary{list-style:none;cursor:pointer;display:block;text-align:center;padding:15px;font-family:var(--en);letter-spacing:.2em;font-size:13px;background:var(--bg2);color:#fff}
  .mbar .tel-choice>summary::-webkit-details-marker{display:none}
  .mbar .tel-choice>summary::after{content:"▲";font-size:8px;margin-left:9px;opacity:.55;vertical-align:1px}
  .mbar .tel-choice[open]>summary::after{content:"▼"}
  .mbar .tel-menu{position:absolute;left:6px;right:6px;bottom:calc(100% + 10px);background:rgba(20,16,12,.98);border:1px solid var(--line);backdrop-filter:blur(8px);box-shadow:0 -14px 34px rgba(0,0,0,.55);overflow:hidden;animation:langfade .2s ease}
  .mbar .tel-menu a,.mbar .tel-menu .soon{flex:none;display:block;text-align:left;padding:14px 18px 13px;border-bottom:1px solid var(--line)}
  .mbar .tel-menu a:last-child,.mbar .tel-menu .soon:last-child{border-bottom:0}
  .mbar .tel-menu b{display:block;font-family:var(--mincho);font-weight:400;font-size:15px;letter-spacing:.06em;color:#fff}
  .mbar .tel-menu span{display:block;font-family:var(--sans);font-size:11.5px;letter-spacing:.06em;color:var(--muted);margin-top:4px}
  .mbar .tel-menu a:active{background:rgba(197,166,104,.14)}
  .mbar .tel-menu .soon{opacity:.55}
}
