/* 第4案（完成候補・比較試作） — 第3案「余白と灯り」を土台に、TOPを明暗の流れで再編集。
   Hero明/暗比較 → カウンター暗 → 名物・料理明 → お酒暗 → 店内中間 → お席明 → Gallery明 → コース暗 → 予約明。
   a.css（A案の複製・無変更）の上に重ねる差分だけを書く。動きの初期状態は html.mo のときだけ作る。
   区画の境目は色を切らず、グラデーションで受け渡す（--edge の長さ）。 */
:root{--night:#130e0a;--dusk:#2b2019;--wood-d:#36271b;--wood-d2:#241a12;--mid:#e1d2bb;--lamp:#e0a25a;--txtL:#efe6d6;--txtL2:#c9bca9;--edge:clamp(160px,22vh,240px)}

/* 区画共通：暗い面の文字色 */
.d-dark{color:var(--txtL)}
.d-counter .a-label,.d-drink .a-label,.d-course .a-label{color:var(--lamp)}
.d-counter .a-label .num,.d-drink .a-label .num,.d-course .a-label .num{color:var(--txtL)}
.d-counter .a-h2,.d-drink .a-h2,.d-course .a-h2{color:var(--txtL)}
.d-counter .a-body,.d-drink .a-body,.d-course .a-body{color:var(--txtL2)}
.d-counter figcaption,.d-drink figcaption,.d-course figcaption{color:var(--txtL2)}
.d-counter .tlink,.d-drink .tlink,.d-course .tlink{color:var(--txtL)}
.d-counter,.d-drink,.d-course{--focus:var(--lamp)}

/* ── ① Hero（H-L/H-D 共通の骨格） ── */
.d-hero{isolation:isolate;min-height:min(calc(100svh - 110px),860px);grid-template-columns:minmax(0,1fr) minmax(0,680px)}
.d-hero__wash{position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-1;pointer-events:none}
.d-hero .a-hero__name{font-size:clamp(40px,4.1vw,60px)}
.d-hero__fig{position:relative}
.d-lamp{position:absolute;inset:-18% -14% -12% -14%;z-index:0;pointer-events:none}
.d-hero__fig .mask,.d-hero__fig figcaption{position:relative;z-index:1}
.d-hero__fig .mask{box-shadow:0 0 0 1px var(--line),0 30px 70px rgba(60,40,20,.18)}
.mo [data-rv="expo"] img{filter:brightness(.34) saturate(.7);transition:filter 1.8s cubic-bezier(.3,.6,.2,1) .1s}
.mo [data-rv="expo"].in img{filter:none}

/* H-L 明るめ（A寄り）：生成りの紙面に、写真の背後の灯りを強めて最初の印象を作る */
html[data-herov="l"] .d-hero__wash{background:radial-gradient(60% 70% at 72% 52%,rgba(224,162,90,.20),rgba(224,162,90,0) 70%),linear-gradient(to bottom,var(--paper) 70%,#efe6d8 100%)}
html[data-herov="l"] .d-lamp{background:radial-gradient(closest-side,rgba(224,162,90,.36),rgba(224,162,90,.12) 58%,rgba(224,162,90,0) 100%)}

/* H-D 暗め（B寄り）：木色の暗い面と琥珀の灯り。巨大店名で写真を隠さず、文字は写真の外で読みやすく。
   直下のカウンター（黒）と続かないよう、Heroは黒ではなく暗い木の色＋灯りの面にする */
html[data-herov="d"] .d-hero__wash{background:radial-gradient(55% 75% at 72% 50%,rgba(224,162,90,.26),rgba(224,162,90,0) 72%),
  linear-gradient(100deg,var(--wood-d) 0%,#2f2218 55%,var(--wood-d2) 100%)}
html[data-herov="d"] .d-hero{color:var(--txtL);--focus:var(--lamp)}
html[data-herov="d"] .a-hero__kicker{color:var(--lamp)}
html[data-herov="d"] .a-hero__vertical{border-right-color:rgba(224,162,90,.45)}
html[data-herov="d"] .a-hero__line{color:var(--txtL2)}
html[data-herov="d"] .d-hero .a-rule{background:var(--lamp)}
html[data-herov="d"] .d-hero .btn--fill{background:var(--txtL);color:#1d1b18;border-color:var(--txtL)}
html[data-herov="d"] .d-hero .btn--fill:hover{background:var(--lamp);border-color:var(--lamp)}
html[data-herov="d"] .d-hero .tlink{color:var(--txtL)}
html[data-herov="d"] .d-hero__fig .mask{background:#1a120c;box-shadow:0 0 0 1px rgba(224,162,90,.38),0 40px 90px rgba(0,0,0,.45)}
html[data-herov="d"] .d-hero__fig figcaption{color:var(--txtL2)}
html[data-herov="d"] .d-hero__fig .num{color:var(--lamp)}
html[data-herov="d"] .d-lamp{background:radial-gradient(closest-side,rgba(232,170,96,.42),rgba(224,162,90,.14) 58%,rgba(224,162,90,0) 100%)}
/* H-D：ヘッダーもHeroと同じ面に（スクロール後は通常の紙面ヘッダー） */
html[data-herov="d"] .hd:not(.is-scrolled){background:var(--wood-d);color:var(--txtL)}
html[data-herov="d"] .hd:not(.is-scrolled) .hd__reserve{border-color:var(--txtL)}
html[data-herov="d"] .hd:not(.is-scrolled) .hd__menu-line{border-color:var(--txtL)}
html[data-herov="d"] .hd:not(.is-scrolled) .gnav a::after{background:var(--lamp)}
html[data-herov="d"] .hd:not(.is-scrolled) .hd__reserve:hover{background:var(--txtL);color:#1d1b18}

/* 試作の印の中のHero切替（比較用。顧客向けの部品ではない） */
.d-proto__hero{display:inline-flex;gap:10px;align-items:center}
.d-proto__hero a{color:#e9e2d6;text-decoration:none;padding:0 6px;border:1px solid transparent}
.d-proto__hero a[aria-current="true"]{border-color:#f1c88d;color:#f1c88d}

/* ── ② 黒場のカウンター導入 ── */
.d-counter{position:relative;color:var(--txtL);padding:var(--edge) clamp(16px,4vw,56px) clamp(96px,14vh,160px);
  background:linear-gradient(to bottom,var(--paper) 0,var(--dusk) calc(var(--edge)*.55),var(--night) var(--edge),var(--night) 100%)}
html[data-herov="d"] .d-counter{background:linear-gradient(to bottom,var(--wood-d2) 0,#1a130d calc(var(--edge)*.5),var(--night) var(--edge),var(--night) 100%)}
html[data-herov="d"] .d-counter::before{content:"";position:absolute;left:50%;top:calc(var(--edge)*.45);width:min(240px,40vw);height:1px;transform:translateX(-50%);
  background:linear-gradient(to right,rgba(224,162,90,0),rgba(224,162,90,.7),rgba(224,162,90,0))}
.d-counter__inner{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(36px,5vw,88px);max-width:1280px;margin:0 auto;align-items:center}
.d-counter__fig{max-width:780px;justify-self:end;width:100%}
.d-counter__fig img{width:100%;aspect-ratio:636/426;object-fit:cover;
  -webkit-mask-image:radial-gradient(ellipse 78% 76% at 50% 50%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 78% 76% at 50% 50%,#000 62%,transparent 100%)}
.d-counter__fig figcaption{justify-content:flex-end}

/* 浮き出る（露光・ぼかし解除・透明度）：写真だけ。見出し・本文は最初から読める */
.mo [data-rv="emerge"] img{opacity:0;filter:blur(10px) brightness(.45);transform:scale(1.025);
  transition:opacity 1.4s ease,filter 2s cubic-bezier(.3,.6,.2,1),transform 2.2s cubic-bezier(.2,.7,.1,1)}
.mo [data-rv="emerge"].in img{opacity:1;filter:none;transform:none}
.no-hero-anim [data-rv="emerge"] img{transition:none}

/* ── ③ 名物：明るい生成りへ。写真を一回り大きく（原寸640×360を最大760pxで表示） ── */
.d-sig{padding-top:calc(var(--edge) + 24px);background:linear-gradient(to bottom,var(--night) 0,#6b5847 calc(var(--edge)*.45),var(--paper2) var(--edge),var(--paper2) 100%)}
.d-sig .a-sig__inner{grid-template-columns:minmax(0,760px) minmax(0,1fr)}
.d-sig .a-sig__fig img{max-width:760px}
html[data-sig="base"] .d-sig .a-sig__inner{grid-template-columns:minmax(0,640px) minmax(0,1fr)}
html[data-sig="base"] .d-sig .a-sig__fig img{max-width:640px}
.d-sig__fig{position:relative}
.d-glow{position:absolute;inset:-14% -10%;z-index:0;pointer-events:none;
  background:radial-gradient(closest-side,rgba(224,162,90,.34),rgba(224,162,90,.08) 62%,rgba(224,162,90,0) 100%)}
.d-sig__fig .mask{position:relative;z-index:1}
.d-sig{overflow:hidden}
.mo [data-rv="wipe"]{clip-path:inset(0 100% 0 0);transition:clip-path 1.4s cubic-bezier(.65,0,.2,1)}
.mo [data-rv="wipe"] img{transform:translateX(-3%) scale(1.03);transition:transform 1.9s cubic-bezier(.2,.7,.1,1)}
.mo [data-rv="wipe"].in{clip-path:inset(0 0 0 0)}
.mo [data-rv="wipe"].in img{transform:none}

/* ── ④ 料理：主役1皿を大きく＋3皿。写真は不透明度だけで置く（品名・説明は常に表示） ── */
.mo [data-rv="fade"]{opacity:0;transition:opacity 1.1s ease var(--d,0s)}
.mo [data-rv="fade"].in{opacity:1}
.d-dishes{max-width:1280px;margin:0 auto;padding:clamp(88px,14vh,160px) clamp(16px,4vw,56px) clamp(40px,6vh,72px)}
.d-dishes__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(40px,5vw,64px) clamp(24px,3vw,44px);max-width:1180px;margin:0 auto}
.d-dish h3{font-size:clamp(19px,1.5vw,22px);letter-spacing:.06em;line-height:1.55;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500}
.d-dish--main{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(28px,4vw,56px);align-items:end}
.d-dish--main .mask img{width:100%;aspect-ratio:1170/649;object-fit:cover}
.d-dish--main h3{font-size:clamp(22px,1.9vw,27px)}
.d-dish--sub .mask img{width:100%;aspect-ratio:4/3;object-fit:cover}
.d-dish--sub .d-dish__cap{margin-top:18px}

/* ── ⑤ お酒：料理から暖かい暗色へ。上段＝導入・写真・コピー／下段＝ループ映像を大きく ── */
.d-drink{position:relative;color:var(--txtL);padding:calc(var(--edge) + 40px) clamp(16px,4vw,56px) clamp(96px,14vh,160px);
  background:linear-gradient(to bottom,var(--paper) 0,#8b6a4c calc(var(--edge)*.35),var(--dusk) calc(var(--edge)*.7),var(--night) calc(var(--edge) + 80px),var(--night) 100%)}
.d-drink__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:clamp(40px,7vw,120px);max-width:1080px;margin:0 auto;align-items:end}
.d-drink__text{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"lab lab" "h p" "h l";column-gap:clamp(24px,3vw,44px);align-items:start}
.d-drink__text .a-label{grid-area:lab}
.d-drink .a-body{grid-area:p;margin-top:0}
.d-drink__lead{grid-area:l;margin-top:22px;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(16px,1.3vw,19px);letter-spacing:.1em;line-height:1.9;color:var(--txtL)}
.d-drink__still img{width:100%;aspect-ratio:1044/1300;object-fit:cover}
.d-drink__bottom{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:clamp(40px,7vw,120px);max-width:1080px;margin:clamp(72px,11vh,128px) auto 0;align-items:end}
.d-film__frame{position:relative;aspect-ratio:2/3;overflow:hidden;background:#0c0907;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.d-film__poster,.d-film__video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.d-film__video{opacity:0;transition:opacity .8s ease}
.d-film.is-playing .d-film__video,.d-film.is-paused .d-film__video{opacity:1}
html:not(.mo) .d-film__video{display:none}
.d-film figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px}
.d-film__toggle{min-height:44px;padding:0 2px;background:none;border:0;border-bottom:1px solid rgba(224,162,90,.6);color:var(--lamp);font-size:12px;letter-spacing:.12em}
.d-film__toggle[hidden]{display:none}
.d-kinds{display:flex;flex-direction:column;gap:6px;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(22px,2vw,30px);letter-spacing:.24em;line-height:1.6}
.d-kinds li{padding:10px 0;border-bottom:1px solid rgba(224,162,90,.28)}
.d-drink__kinds .a-body{margin-top:26px}
.d-drink__kinds .tlink{margin-top:18px}

/* ── ⑥ 店内：暗い余韻から木の質感へ戻る中間色 ── */
.d-space{padding:0 clamp(16px,4vw,56px) clamp(88px,13vh,150px);
  background:linear-gradient(to bottom,var(--night) 0,#4a3828 140px,#a88e70 300px,var(--mid) 460px,var(--mid) 100%)}
.d-space__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;max-width:1280px;margin:0 auto}
.d-space__wide{grid-column:1 / -1;max-width:1170px;justify-self:center;width:100%}
.d-space__wide img{width:100%;aspect-ratio:1170/640;object-fit:cover}
.d-space__wide figcaption{color:#e7dccb}
.d-space__text{grid-column:2 / span 6;padding-top:48px}
.d-space__text .tlink{margin-top:26px}
.d-space__side{grid-column:9 / span 3;margin-top:-90px}
.d-space__side img{aspect-ratio:3/4;object-fit:cover;width:100%}
.d-space .a-body{color:#4f463c}

/* ── ⑦ お席：カウンターを大きく、テーブル席・完全個室にも十分な面積（写真は原寸636px前後のため拡大しすぎない） ── */
.d-seats{padding:clamp(88px,13vh,150px) clamp(16px,4vw,56px);background:linear-gradient(to bottom,var(--mid) 0,var(--paper2) 160px,var(--paper2) 100%)}
.d-seats__grid{display:grid;gap:clamp(56px,8vh,96px);max-width:1180px;margin:0 auto}
.d-seat{display:grid;gap:clamp(24px,4vw,56px);align-items:end}
.d-seat h3{font-size:clamp(22px,1.9vw,27px);letter-spacing:.12em;line-height:1.5;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500}
.d-seat h3::after{content:"";display:block;width:44px;height:1px;background:var(--wood);margin-top:14px}
.d-seat--counter{grid-template-columns:minmax(0,680px) minmax(0,1fr)}
.d-seat--counter img{width:100%;aspect-ratio:633/420;object-fit:cover}
.d-seat--table{grid-template-columns:minmax(0,1fr) minmax(0,880px)}
.d-seat--table .d-seat__text{order:-1}
.d-seat--private{grid-template-columns:minmax(0,880px) minmax(0,1fr)}
.d-seat__pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,1.4vw,18px)}
.d-seat__pair img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* ── ⑧ Gallery：実際に横へ送るスライダー（写真の比率のまま・説明は同じスライド内） ── */
.d-gal{background:var(--paper);padding:clamp(80px,12vh,140px) 0 clamp(80px,12vh,140px)}
.d-gal .a-sechead{padding:0 clamp(16px,4vw,56px);margin-bottom:36px}
.d-gal{--gh:clamp(320px,58vh,560px)}
.d-gal__track{display:flex;gap:clamp(14px,1.6vw,24px);overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(16px,calc(50vw - 380px));
  scroll-padding:0 max(16px,calc(50vw - 380px));scrollbar-width:none;overscroll-behavior-x:contain}
.d-gal__track::-webkit-scrollbar{display:none}
.d-gal__track:focus-visible{outline-offset:-3px}
.d-slide{flex:0 0 auto;scroll-snap-align:center;opacity:.42;transition:opacity .5s ease}
.d-slide[data-cur]{opacity:1}
html:not(.mo) .d-slide{transition:none}
.d-slide img{height:var(--gh);width:auto;max-width:min(86vw,1000px);object-fit:contain;background:var(--paper2)}
.d-slide figcaption{margin-top:12px}
.d-gal__bar{display:flex;justify-content:space-between;align-items:center;gap:16px;max-width:1180px;margin:18px auto 0;padding:0 clamp(16px,4vw,56px)}
.d-gal__count{font-family:"Hiragino Mincho ProN",serif;font-size:15px;letter-spacing:.1em}
.d-gal__nav{display:flex;gap:8px}
.d-gal__nav button{width:52px;height:52px;border:1px solid var(--ink);background:none;font-size:18px}
.d-gal__nav button:hover{background:var(--ink);color:var(--paper)}
.d-gal__thumbs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:1180px;margin:22px auto 0;padding:0 clamp(16px,4vw,56px)}
.d-gal__thumbs li{flex:0 0 auto}
.d-gal__th{display:block;width:96px;padding:0;border:0;background:none;opacity:.5;transition:opacity .3s}
.d-gal__th[aria-current="true"],.d-gal__th:hover{opacity:1}
.d-gal__th[aria-current="true"]{box-shadow:0 3px 0 var(--wood)}
.d-gal__th img{aspect-ratio:1;object-fit:cover;width:100%}
.d-gal .a-more{max-width:1180px;margin:30px auto 0;padding:0 clamp(16px,4vw,56px)}

/* ── ⑨ コース：暗い背景に戻す。左に一覧、右に店の料理写真がじわりと浮き出て切り替わる ── */
.d-course{color:var(--txtL);padding:calc(var(--edge) + 24px) clamp(16px,4vw,56px) clamp(96px,14vh,160px);
  background:linear-gradient(to bottom,var(--paper) 0,#7a6150 calc(var(--edge)*.45),var(--dusk) calc(var(--edge)*.8),var(--night) var(--edge),var(--night) 100%)}
.d-course__inner{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(40px,6vw,96px);max-width:1180px;margin:0 auto;align-items:start}
.d-course .a-body{margin-bottom:36px}
.d-course__items{grid-template-columns:1fr}
.d-course__items li{border-top-color:rgba(224,162,90,.28)}
.d-course__items h3{color:var(--txtL)}
.d-course__items p{color:var(--txtL2)}
.d-course .a-course__tag{color:var(--lamp)}
.d-course__photo{position:sticky;top:96px}
.d-course__stage{position:relative;aspect-ratio:4/5;overflow:hidden;background:#0c0907}
.d-cph{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease}
.d-cph.is-on{opacity:1}
html:not(.mo) .d-cph{transition:none}
.d-cph img{width:100%;height:100%;object-fit:cover;transform:scale(1.03);transition:transform 6s linear,filter 1.6s ease;filter:brightness(.5)}
.d-cph.is-on img{transform:none;filter:none}
html:not(.mo) .d-cph img{transform:none;filter:none;transition:none}
.d-cph figcaption{position:absolute;left:0;right:0;bottom:0;margin:0;padding:28px 16px 12px;color:#efe6d6;background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,0))}
.d-course__bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}
.d-course__note{font-size:12px;letter-spacing:.06em;color:var(--txtL2)}
.d-course__ctl{display:flex;gap:6px}
.d-course__ctl button{min-height:44px;padding:0 12px;background:none;border:1px solid rgba(239,230,214,.45);color:var(--txtL);font-size:12px;letter-spacing:.1em}
.d-course__ctl button[hidden]{display:none}

/* ── ⑩ 予約・Footer：明るい紙面に戻し、静かに締める（第3案と同じ構成。動きは罫線だけ） ── */
.c-fin{background:var(--paper);padding:clamp(80px,13vh,150px) clamp(16px,4vw,56px) 0}
.d-fin{padding-top:calc(var(--edge) + 40px);background:linear-gradient(to bottom,var(--night) 0,#7d6754 calc(var(--edge)*.4),#e6dccd calc(var(--edge)*.85),var(--paper) var(--edge),var(--paper) 100%)}
.c-fin__main{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:clamp(40px,7vw,120px);max-width:1180px;margin:0 auto;align-items:center}
.c-fin__fig img{width:100%;aspect-ratio:1108/1400;object-fit:cover}
.c-fin__addr{margin-top:20px;font-size:15px;letter-spacing:.1em}
.c-fin__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.c-fin__dress{font-size:13px;line-height:1.95;color:var(--ink2);max-width:30em}
.c-fin__info{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;
  margin:clamp(72px,10vh,120px) calc(-1 * clamp(16px,4vw,56px)) 0;padding:32px max(clamp(16px,4vw,56px),calc((100% - 1180px)/2 + clamp(16px,4vw,56px))) 40px;background:var(--paper2)}
.c-fin__sig span{display:block;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:28px;letter-spacing:.3em}
.c-fin__sig small{display:block;font-size:12px;letter-spacing:.14em;color:var(--ink2);margin-top:6px}
.c-fin__info ul{display:flex;flex-wrap:wrap;gap:4px 24px;font-size:13px;letter-spacing:.1em}
.c-fin__info a{display:inline-flex;min-height:40px;align-items:center;text-decoration:none;color:var(--ink2)}
.c-fin__info a:hover{color:var(--ink)}

/* ── SP ── */
@media (max-width:1100px){
  .d-hero{min-height:0}
}
@media (max-width:767px){
  :root{--edge:clamp(120px,18vh,180px)}
  .d-hero{grid-template-columns:1fr}
  .d-hero .a-hero__name{font-size:clamp(30px,9vw,38px)}
  .d-lamp{inset:-8% -6%}
  .d-hero{overflow:hidden}
  .d-counter{padding:var(--edge) 16px 80px}
  .d-counter__inner{grid-template-columns:1fr;gap:28px}
  .d-counter__fig{justify-self:stretch;margin:0 -16px;width:auto}
  .d-counter__fig figcaption{padding:0 16px}
  .d-sig{padding:calc(var(--edge) + 16px) 16px 72px}
  .d-sig .a-sig__inner{grid-template-columns:1fr}
  .d-dishes{padding:80px 16px 32px}
  .d-dishes__grid{grid-template-columns:1fr;gap:40px}
  .d-dish--main{grid-template-columns:1fr;gap:18px}
  .d-dish--sub{display:grid;grid-template-columns:minmax(0,44%) minmax(0,1fr);gap:16px;align-items:end}
  .d-dish--sub .d-dish__cap{margin-top:0}
  .d-drink{padding:calc(var(--edge) + 24px) 16px 80px}
  .d-drink__top{grid-template-columns:1fr;gap:32px}
  .d-drink__text{column-gap:18px}
  .d-drink__still{width:72%;margin-left:auto}
  .d-drink__bottom{grid-template-columns:1fr;gap:32px;margin-top:64px}
  .d-film{width:100%;max-width:440px;margin:0 auto}
  .d-kinds{font-size:22px;flex-direction:row;flex-wrap:wrap;gap:0 18px}
  .d-kinds li{border-bottom:0;padding:4px 0}
  .d-space{padding:0 16px 80px;background:linear-gradient(to bottom,var(--night) 0,#4a3828 90px,#a88e70 200px,var(--mid) 300px,var(--mid) 100%)}
  .d-space__grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
  .d-space__wide img{aspect-ratio:4/3}
  .d-space__text{grid-column:1 / -1;padding-top:28px}
  .d-space__side{grid-column:3 / span 4;margin-top:16px}
  .d-seats{padding:80px 16px}
  .d-seat,.d-seat--counter,.d-seat--table,.d-seat--private{grid-template-columns:1fr;gap:18px}
  .d-seat--table .d-seat__text{order:0}
  .d-seat--counter .d-seat__main{margin:0 -16px}
  .d-seat__pair{gap:8px}
  .d-gal{padding:72px 0;--gh:clamp(240px,72vw,320px)}
  .d-gal .a-sechead{padding:0 16px}
  .d-gal__track{padding:0 16px;scroll-padding:0 16px;gap:12px}
  .d-slide{scroll-snap-align:start}
  .d-slide img{max-width:calc(100vw - 48px)}
  .d-gal__bar,.d-gal .a-more{padding:0 16px}
  .d-gal__thumbs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 16px 6px;scrollbar-width:thin}
  .d-gal__thumbs li{scroll-snap-align:start}
  .d-gal__th{width:80px}
  .d-course{padding:calc(var(--edge) + 16px) 16px 80px}
  .d-course__inner{grid-template-columns:1fr;gap:28px}
  .d-course__photo{position:static}
  .d-course__stage{aspect-ratio:4/3}
  .d-course__bar{flex-wrap:wrap}
  .c-fin{padding:80px 16px 0}
  .d-fin{padding-top:calc(var(--edge) + 24px)}
  .c-fin__main{grid-template-columns:1fr;gap:36px}
  .c-fin__fig{width:72%}
  .c-fin__cta .btn{flex:1 1 140px;white-space:nowrap;padding-left:14px;padding-right:14px;letter-spacing:.08em}
  .c-fin__info{margin:72px -16px 0;padding:28px 16px 32px}
  .c-fin__sig span{font-size:22px}
  .d-proto__hero a{padding:0 3px}
}
@media (max-width:359px){
  .d-dish--sub{grid-template-columns:1fr}
  .d-proto__hero{gap:4px}
}

/* ── 目視確認後の補修 ── */
/* 見出しを文節の途中で折り返さない（対応ブラウザのみ。非対応では従来どおり） */
#main h2,#main h3{word-break:auto-phrase}
/* 店内：中間色の上の写真説明を読める濃さに */
.d-space__wide figcaption{color:var(--ink2)}
/* お席：一覧へのリンクを本文の幅にそろえる */
.d-seats .a-more{max-width:1180px;margin:clamp(40px,6vh,64px) auto 0}
/* Gallery：一覧を1段に収める（11枚） */
.d-gal__th{width:84px}
/* コース名：明朝で他の区画とそろえる */
.d-course__items h3{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;letter-spacing:.06em}
/* 区画の境目のグラデーションを少し短く（茶色い帯が長く見えないように） */
:root{--edge:clamp(140px,19vh,210px)}
@media (max-width:767px){
  :root{--edge:clamp(110px,15vh,150px)}
  .d-gal__th{width:80px}
}
/* H-D：Heroの下端をカウンターの面（暗い木）へ溶かす */
html[data-herov="d"] .d-hero__wash{background:linear-gradient(to bottom,rgba(36,26,18,0) 72%,var(--wood-d2) 100%),
  radial-gradient(55% 75% at 72% 50%,rgba(224,162,90,.26),rgba(224,162,90,0) 72%),linear-gradient(100deg,var(--wood-d) 0%,#2f2218 55%,var(--wood-d2) 100%)}
html[data-herov="l"] .d-hero__wash{background:radial-gradient(60% 70% at 72% 52%,rgba(224,162,90,.20),rgba(224,162,90,0) 70%),var(--paper)}
/* カウンター写真の縁を黒へ溶かす（半径は箱の幅・高さに対する割合） */
.d-counter__fig img{-webkit-mask-image:radial-gradient(ellipse 58% 60% at 50% 50%,#000 58%,transparent 100%);mask-image:radial-gradient(ellipse 58% 60% at 50% 50%,#000 58%,transparent 100%)}
/* Heroの灯りを右へはみ出させない（PC1280で横あふれしていた） */
.d-lamp{inset:-18% -5% -12% -14%}
