/* 統合V2（TOP第4案の局所補修＋下層ページ）。common.css / a.css / d.css（いずれも無変更の複製）の上に重ねる差分だけ。
   赤は「予約」だけの役割色（深い赤。全面・蛍光の赤は使わない）。その他の下層リンクは輪郭線のボタン。
   動きの初期状態は html.mo のときだけ作る（静止・動き軽減・JSなしでは最初から完成状態）。 */
:root{--red:#7a2a21;--red-h:#5c1e17;--red-ink:#f8f0e5;--red-line:#9a4a3c}
.v2-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ── 予約：深い赤（ボタン・ヘッダー・SP固定バー・フッター共通） ── */
.btn.v2-red,.hd__reserve.v2-red,html[data-herov="d"] .d-hero .btn--fill.v2-red,.a-fin .btn--fill.v2-red{background:var(--red);color:var(--red-ink);border-color:var(--red)}
.btn.v2-red:hover,.hd__reserve.v2-red:hover,html[data-herov="d"] .d-hero .btn--fill.v2-red:hover{background:var(--red-h);border-color:var(--red-h);color:var(--red-ink)}
html[data-herov="d"] .hd:not(.is-scrolled) .hd__reserve.v2-red{border-color:var(--red-line)}
html[data-herov="d"] .hd:not(.is-scrolled) .hd__reserve.v2-red:hover{background:var(--red-h);color:var(--red-ink)}
.spbar.v2-spbar a.v2-red{background:var(--red);color:var(--red-ink)}

/* ── 下層への導線：輪郭線で囲んだ上品なボタン（赤くしない） ── */
.olink{display:inline-flex;align-items:center;gap:14px;min-height:48px;padding:10px 20px 10px 22px;border:1px solid rgba(29,27,24,.42);
  text-decoration:none;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:14px;letter-spacing:.14em;color:inherit;
  transition:background-color .3s,border-color .3s,color .3s}
.olink i{font-style:normal;font-family:"Hiragino Sans",sans-serif;font-size:13px;transition:transform .3s ease}
.olink:hover,.olink:focus-visible{border-color:currentColor;background:rgba(29,27,24,.05)}
.olink:hover i{transform:translateX(4px)}
.d-counter .olink,.d-drink .olink,.d-course .olink,.olink--light,.v2-ph .olink{border-color:rgba(239,230,214,.42)}
.d-counter .olink:hover,.d-drink .olink:hover,.d-course .olink:hover,.olink--light:hover{background:rgba(239,230,214,.08);border-color:var(--txtL)}
.a-sig__text .olink{margin-top:28px}
.d-space__text .olink{margin-top:26px}
.d-drink__kinds .olink{margin-top:22px}

/* ── ヘッダー：店名は明朝の太めで字間を広く、ナビは明朝で落ち着いて。折り返さない ── */
.v2-hd{gap:24px}
.v2-logo{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;line-height:1.2}
.v2-logo__ja{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:600;font-size:20px;letter-spacing:.34em}
.v2-logo__en{font-family:"Hiragino Mincho ProN",serif;font-size:9px;letter-spacing:.42em;opacity:.62}
.v2-gnav{gap:clamp(16px,1.7vw,26px);font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:14px;font-weight:500;letter-spacing:.12em}
.v2-gnav a{white-space:nowrap}
.v2-gnav a[aria-current="page"]::after{transform:scaleX(1)}
.hd__reserve.v2-red{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;letter-spacing:.2em;padding:6px 22px}
@media (max-width:1180px){.v2-gnav{display:none}.v2-hd .hd__act{margin-left:auto}.v2-hd .hd__menu{display:inline-flex}}
html[data-herov="d"] .hd:not(.is-scrolled) .v2-gnav a[aria-current="page"]::after{background:var(--lamp)}
.v2-proto a{margin-left:12px}
.v2-proto a[aria-current="true"]{text-decoration:underline}
.v2-proto .d-proto__hero a{margin-left:0}

/* ── ② カウンター：中央に大きく、縁は黒へ溶かす。枝ものは別の額として添える ── */
.v2-counter{overflow:hidden}
html[data-herov="d"] .v2-counter::before{display:none}
.v2-counter__head{max-width:38em;margin:0 auto;text-align:center;position:relative;z-index:2}
.v2-counter__head .a-label{justify-content:center}
.v2-counter__head .a-body{margin-left:auto;margin-right:auto}
.v2-counter__stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,880px) minmax(0,1fr);align-items:end;max-width:1440px;margin:clamp(36px,6vh,64px) auto 0;position:relative}
.v2-counter__main{grid-column:2;position:relative;z-index:1}
.v2-counter__main img{width:100%;aspect-ratio:636/426;object-fit:cover;
  -webkit-mask-image:radial-gradient(ellipse 60% 62% at 50% 50%,#000 60%,transparent 100%);mask-image:radial-gradient(ellipse 60% 62% at 50% 50%,#000 60%,transparent 100%)}
.v2-counter__main figcaption{justify-content:center;margin-top:0}
.v2-branch{grid-column:1;grid-row:1;justify-self:end;align-self:end;width:clamp(150px,14vw,220px);margin:0 -36px 56px 0;position:relative;z-index:2}
.v2-branch__frame{padding:8px;background:#1d150f;box-shadow:0 0 0 1px rgba(224,162,90,.34),0 24px 60px rgba(0,0,0,.55)}
.v2-branch img{width:100%;aspect-ratio:1108/1477;object-fit:cover}
.v2-branch figcaption{justify-content:flex-end}
/* 光線：上から一筋（横に走る光が中央で止まり、縦の糸が見出しへ降りる）。唯一の光線の見せ場 */
.v2-beam{position:absolute;inset:0;pointer-events:none;z-index:1}
.v2-beam__h,.v2-beam__v{position:absolute;display:block}
.v2-beam__h{top:calc(var(--edge)*.5);left:0;width:38%;height:1px;opacity:0;
  background:linear-gradient(90deg,rgba(240,190,120,0),rgba(244,200,135,.95) 60%,rgba(240,190,120,0))}
.v2-beam__v{top:calc(var(--edge)*.5);left:50%;width:1px;height:calc(var(--edge)*.42);transform-origin:top;
  background:linear-gradient(to bottom,rgba(240,190,120,.75),rgba(240,190,120,0))}
.mo .v2-beam__v{transform:scaleY(0);transition:transform 1.3s cubic-bezier(.3,.6,.2,1) 1.25s}
.mo .v2-beam.in .v2-beam__h{animation:v2beam 2.1s cubic-bezier(.45,0,.2,1) .1s both}
.mo .v2-beam.in .v2-beam__v{transform:none}
@keyframes v2beam{0%{opacity:0;transform:translateX(-100%)}18%{opacity:1}62%{opacity:1;transform:translateX(82%)}100%{opacity:0;transform:translateX(82%)}}
html:not(.mo) .v2-beam__h{display:none}

/* ── ⑧ Gallery：大きいメイン1枚＋正方形サムネを横に送る（PCで約6枚・SPで約2.5枚） ── */
.v2-gal .a-gal__stage{max-width:1180px;aspect-ratio:16/10;background:#d6ccbb}
.v2-gal .a-gal__bar,.v2-gal .a-more{max-width:1180px}
.v2-gal .a-gal__bar{margin-top:18px}
.v2-gal .a-gal__nav button{width:52px;height:52px;font-size:18px}
.v2-gal .a-gal__thumbs.v2-thumbs{display:flex;grid-template-columns:none;gap:12px;max-width:1180px;margin:22px auto 0;overflow-x:auto;
  scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--wood) transparent;padding-bottom:10px;overscroll-behavior-x:contain}
.v2-thumbs li{flex:0 0 auto;scroll-snap-align:start}
.v2-gal .a-gal__th{width:clamp(150px,13vw,184px);opacity:.62}
.v2-gal .a-gal__th[aria-current="true"]{opacity:1;box-shadow:inset 0 0 0 2px var(--wood);outline:0}
.v2-gal .a-gal__th[aria-current="true"] img{padding:4px}

/* ── ⑩ 締め：昼の外観を約1.5倍の印象で（横長トリミング既定／?fin=v で縦長1.5倍） ── */
.v2-fin__main{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(36px,5vw,80px)}
.v2-fin__fig img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:50% 57%}
html[data-fin="v"] .v2-fin__main{grid-template-columns:minmax(0,570px) minmax(0,1fr)}
html[data-fin="v"] .v2-fin__fig img{aspect-ratio:1108/1400;object-position:50% 50%}
.v2-fin .c-fin__cta{align-items:center}
.v2-fin{padding-bottom:clamp(80px,12vh,140px)}

/* ── フッター：暗い木の面に、店名・案内・所在地・Instagram ── */
.v2-ft{background:#16100b;color:#d9cdbb;padding:clamp(64px,10vh,104px) clamp(16px,4vw,56px) 28px;--focus:var(--lamp)}
.v2-ft__in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,.9fr);gap:clamp(28px,4vw,64px);max-width:1180px;margin:0 auto}
.v2-ft__name{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:600;font-size:clamp(24px,2.2vw,30px);letter-spacing:.32em;color:#f1e7d7}
.v2-ft__line{font-size:12px;letter-spacing:.16em;color:#a99a85;margin:10px 0 24px}
.v2-ft__h{font-family:"Hiragino Mincho ProN",serif;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--lamp);margin-bottom:14px}
.v2-ft__nav ul{display:grid;gap:2px}
.v2-ft a{color:#e7dccb;text-decoration:none}
.v2-ft__nav a,.v2-ft__more,.v2-ft__sns a{display:inline-flex;align-items:center;min-height:36px;font-size:13px;letter-spacing:.1em}
.v2-ft a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.v2-ft address{font-style:normal;font-size:14px;letter-spacing:.08em;line-height:1.8;color:#efe5d5}
.v2-ft__addr p{font-size:13px;line-height:1.8;margin-top:6px}
.v2-ft__more{margin-top:10px;border-bottom:1px solid rgba(224,162,90,.5)}
.v2-ft__copy{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;max-width:1180px;margin:clamp(48px,8vh,80px) auto 0;padding-top:20px;
  border-top:1px solid #3a2e24;font-size:11px;letter-spacing:.12em;color:#8f826f}
.v2-ft .btn.v2-red{min-width:180px}

/* ── 予約案内ダイアログ（候補の窓口） ── */
.v2-rsv{max-width:min(92vw,520px)}
.v2-rch{display:grid;gap:10px;margin:16px 0 8px}
.v2-rch__item{display:grid;grid-template-columns:1fr auto;grid-template-areas:"l b" "h b";align-items:center;gap:0 14px;padding:12px 0;border-top:1px solid #e1d6c4}
.v2-rch__label{grid-area:l;font-family:"Hiragino Mincho ProN",serif;font-size:16px;letter-spacing:.08em}
.v2-rch__how{grid-area:h;font-size:12px;color:#6a6156}
.v2-rch__btn{grid-area:b;min-height:44px;padding:8px 14px;font-size:13px;letter-spacing:.06em}
.v2-rch .rv-note{grid-column:1 / -1}

/* ── 掲載候補（?facts=cand のときだけ）と内部注記（?review=1 のときだけ） ── */
[data-cand]{display:none}
html[data-facts="cand"] [data-cand]{display:block}
html[data-facts="cand"] .v2-dl [data-cand]{display:grid}
.v2-cand__tag{display:inline-block;margin:0 8px 0 0;padding:0 6px;font-size:10px;letter-spacing:.08em;border:1px dashed #c98a3a;color:#c98a3a;vertical-align:middle}
.v2-dl .v2-cand__tag{margin:0 0 0 8px}
.rv-note{display:none}
html.review .rv-note{display:block;margin-top:8px;padding:6px 8px;border:1px dashed #3d7bd9;background:rgba(61,123,217,.08);color:#2b5fae;font-size:11px;line-height:1.6;letter-spacing:0;font-family:"Hiragino Sans",sans-serif}

/* ── 下層の見出し面（H-Dの暗い木の面と同じ素材） ── */
.v2-ph{position:relative;color:var(--txtL);--focus:var(--lamp);padding:clamp(64px,11vh,128px) clamp(16px,4vw,56px) clamp(72px,12vh,136px);
  background:radial-gradient(50% 80% at 78% 40%,rgba(224,162,90,.18),rgba(224,162,90,0) 70%),linear-gradient(100deg,var(--wood-d) 0%,#2f2218 55%,var(--wood-d2) 100%)}
.v2-ph::after{content:"";position:absolute;left:0;right:0;bottom:0;height:72px;background:linear-gradient(to bottom,rgba(244,239,230,0),var(--paper));pointer-events:none}
.v2-ph__in{max-width:1180px;margin:0 auto;position:relative;z-index:1}
.v2-ph .a-label{color:var(--lamp)}
.v2-ph__h{font-size:clamp(30px,3.4vw,50px);letter-spacing:.14em;line-height:1.5;color:var(--txtL);word-break:auto-phrase}
.v2-ph .a-rule{background:var(--lamp)}
.v2-ph__sub{font-size:15px;line-height:2.1;letter-spacing:.06em;color:var(--txtL2);max-width:36em}
.v2-crumb{font-size:12px;letter-spacing:.12em;color:var(--txtL2);margin-bottom:28px;display:flex;gap:8px}
.v2-crumb a{color:var(--txtL2)}
.v2-chips ul{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.v2-chips a{display:inline-flex;align-items:center;min-height:40px;padding:4px 14px;border:1px solid rgba(239,230,214,.32);color:var(--txtL);text-decoration:none;font-size:13px;letter-spacing:.1em;white-space:nowrap}
.v2-chips a:hover{border-color:var(--txtL);background:rgba(239,230,214,.07)}

/* 締めの帯（下層） */
.v2-close{padding:clamp(72px,11vh,120px) clamp(16px,4vw,56px);background:var(--paper2)}
.v2-close__in{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px}
.v2-close__act{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.v2-h3{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;font-size:clamp(19px,1.5vw,22px);letter-spacing:.06em;line-height:1.6}
.v2-note{font-size:12px;letter-spacing:.06em;color:var(--ink2);margin-top:12px}
.v2-dress{font-size:13px;line-height:1.95;color:var(--ink2);margin-top:28px;max-width:30em}

/* 料理名：意味の単位で改行（単位の途中で折り返さない） */
.nb{display:inline-block;white-space:nowrap}
@media (max-width:359px){.nb{white-space:normal;word-break:keep-all;overflow-wrap:anywhere}}

/* ── 店について：入店・料理・名物・空間を場面として ── */
.v2-scene{display:grid;gap:clamp(28px,5vw,80px);max-width:1280px;margin:0 auto;padding:clamp(72px,12vh,140px) clamp(16px,4vw,56px);align-items:center}
.v2-scene__text .a-h2{margin-bottom:4px}
.v2-scene__text .olink{margin:28px 12px 0 0}
.v2-scene--door{grid-template-columns:minmax(0,680px) minmax(0,1fr);max-width:none;color:var(--txtL);
  background:linear-gradient(to bottom,var(--paper) 0,var(--night) 120px,var(--night) calc(100% - 140px),var(--paper) 100%);padding-left:max(clamp(16px,4vw,56px),calc((100% - 1180px)/2));padding-right:max(clamp(16px,4vw,56px),calc((100% - 1180px)/2))}
.v2-scene--door .a-h2{color:var(--txtL)}
.v2-scene--door .a-body,.v2-scene--door figcaption{color:var(--txtL2)}
.v2-scene--door .num{color:var(--lamp)}
.v2-scene__door img{width:100%;max-width:680px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.v2-ph + .v2-scene--door{background:linear-gradient(to bottom,var(--paper) 0,var(--night) 120px,var(--night) calc(100% - 140px),var(--paper) 100%)}
.v2-scene--plate{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.v2-scene__plate img{width:100%;aspect-ratio:4/3;object-fit:cover}
.mo [data-rv="drift"] img{transform:translateX(-4%) scale(1.08);transition:transform 2.8s cubic-bezier(.2,.7,.1,1)}
.mo [data-rv="drift"].in img{transform:translateX(0) scale(1.08)}
html:not(.mo) [data-rv="drift"] img{transform:none}
.v2-scene--sig{grid-template-columns:minmax(0,5fr) minmax(0,640px);background:var(--paper2);max-width:none;
  padding-left:max(clamp(16px,4vw,56px),calc((100% - 1180px)/2));padding-right:max(clamp(16px,4vw,56px),calc((100% - 1180px)/2))}
.v2-scene__sig img{width:100%;max-width:640px}
.v2-scene--room{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}
.v2-scene__wide{grid-column:1 / -1}
.v2-scene__wide img{width:100%;aspect-ratio:1170/560;object-fit:cover}
.v2-scene--room .v2-scene__text{grid-column:2 / span 6}
.v2-scene__tall{grid-column:9 / span 3;margin-top:-110px}
.v2-scene__tall img{width:100%;aspect-ratio:3/4;object-fit:cover}

/* ── お料理 ── */
.v2-sigm{display:grid;grid-template-columns:minmax(0,640px) minmax(0,1fr);grid-template-areas:"f t" "s s";gap:clamp(32px,5vw,80px);max-width:1180px;margin:0 auto;padding:clamp(56px,9vh,104px) clamp(16px,4vw,56px)}
.v2-sigm__fig{grid-area:f;position:relative}
.v2-sigm__fig .mask{position:relative;z-index:1}
.v2-sigm__fig img{width:100%;max-width:640px}
.v2-sigm__text{grid-area:t;align-self:center}
.v2-points{margin-top:22px;display:grid;gap:6px;font-size:13px;line-height:1.8;color:var(--ink2)}
.v2-points li{padding-left:1.2em;position:relative}
.v2-points li::before{content:"";position:absolute;left:0;top:.9em;width:.6em;height:1px;background:var(--wood)}
.v2-sigm__season{grid-area:s;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,22em);gap:12px 40px;align-items:end;padding-top:36px;border-top:1px solid var(--line)}
.v2-sigm__thumbs{grid-row:span 2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.v2-sigm__thumbs img{width:100%;aspect-ratio:1;object-fit:cover}
.v2-featured{background:var(--paper2);padding:clamp(72px,11vh,128px) clamp(16px,4vw,56px)}
.v2-feat__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(36px,5vw,64px) clamp(20px,3vw,40px);max-width:1180px;margin:0 auto}
.v2-feat .mask img{width:100%;aspect-ratio:4/3;object-fit:cover}
.v2-feat h3{margin-top:16px}
.v2-feat--0{grid-column:1 / span 7}.v2-feat--0 .mask img{aspect-ratio:1170/649}
.v2-feat--1{grid-column:8 / span 5;align-self:end}
.v2-feat--2{grid-column:1 / span 4}.v2-feat--3{grid-column:5 / span 4}
.v2-feat--type{grid-column:9 / span 4;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,3vw,40px);
  background:var(--paper);box-shadow:inset 0 0 0 1px var(--line),inset 0 0 0 7px var(--paper),inset 0 0 0 8px rgba(122,82,50,.35)}
.v2-feat__mark{font-family:"Hiragino Mincho ProN",serif;font-size:12px;letter-spacing:.4em;color:var(--wood)}
.v2-feat--type h3{font-size:clamp(22px,1.9vw,27px);margin-top:12px}
.v2-feat__lead{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:15px;letter-spacing:.12em;color:var(--wood);margin-top:12px}
.v2-cats{max-width:1180px;margin:0 auto;padding:clamp(40px,6vh,72px) clamp(16px,4vw,56px)}
.v2-cat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:clamp(28px,5vw,80px);align-items:start;padding:clamp(48px,7vh,80px) 0;border-top:1px solid var(--line);scroll-margin-top:90px}
.v2-cat--rev{grid-template-columns:minmax(0,340px) minmax(0,1fr)}
.v2-cat--rev .v2-cat__fig{order:-1}
.v2-cat--nophoto{grid-template-columns:minmax(0,1fr)}
.v2-cat__en{font-family:"Hiragino Mincho ProN",serif;font-size:12px;letter-spacing:.32em;color:var(--wood);text-transform:uppercase}
.v2-cat__h{font-size:clamp(24px,2.2vw,32px);letter-spacing:.1em;line-height:1.5;margin-top:6px}
.v2-cat__lead{font-size:14px;line-height:1.9;color:var(--ink2);margin-top:10px}
.v2-items{margin-top:24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:0 36px}
.v2-cat--nophoto .v2-items{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.v2-item{padding:14px 0;border-bottom:1px dotted var(--line)}
.v2-item__n{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:16px;letter-spacing:.05em;line-height:1.7}
.v2-item__note{display:block;font-size:12px;color:var(--ink2);margin-top:2px}
.v2-cat__fig img{width:100%;aspect-ratio:4/5;object-fit:cover}
.v2-cat--rev .v2-cat__fig img{aspect-ratio:1}
.v2-price{max-width:1180px;margin:0 auto;padding:0 clamp(16px,4vw,56px)}

/* ── お飲み物 ── */
.v2-dk{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:clamp(40px,7vw,120px);max-width:1180px;margin:0 auto;align-items:center;
  padding:clamp(72px,11vh,128px) max(clamp(16px,4vw,56px),calc((100% - 1180px)/2));color:var(--txtL);max-width:none;
  background:linear-gradient(to bottom,var(--paper) 0,var(--night) 110px,var(--night) 100%)}
.v2-dk .d-film figcaption,.v2-dk figcaption{color:var(--txtL2)}
.v2-dk__kinds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,56px) clamp(24px,3vw,48px)}
.v2-kind{padding-top:20px;border-top:1px solid rgba(224,162,90,.32)}
.v2-kind__h{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;font-size:clamp(24px,2.3vw,34px);letter-spacing:.24em;color:var(--txtL)}
.v2-kind__p{font-size:14px;line-height:2;color:var(--txtL2);margin-top:12px}
.v2-dk2{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;
  padding:clamp(72px,11vh,128px) clamp(16px,4vw,56px);position:relative}
.v2-dk2::before{content:"";position:absolute;left:50%;top:0;width:100vw;height:160px;transform:translateX(-50%);background:linear-gradient(to bottom,var(--night),rgba(19,14,10,0));z-index:-1}
.v2-dk2__fig img{width:100%;aspect-ratio:1044/1300;object-fit:cover}
.v2-pair{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:32px}
.v2-pair a{display:block;text-decoration:none;font-size:13px;letter-spacing:.06em;line-height:1.6}
.v2-pair img{width:100%;aspect-ratio:1;object-fit:cover;margin-bottom:8px}

/* ── コース ── */
.v2-courses{max-width:1180px;margin:0 auto;padding:clamp(56px,9vh,104px) clamp(16px,4vw,56px)}
.v2-cc__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
.v2-cc{display:flex;flex-direction:column;padding:24px 20px;background:var(--paper2);border-top:2px solid var(--wood)}
.v2-cc__h{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;font-size:clamp(17px,1.35vw,19px);letter-spacing:.05em;line-height:1.6;margin:8px 0 10px;word-break:auto-phrase}
.v2-cc__p{font-size:13px;line-height:1.9;color:var(--ink2)}
.v2-cc__dl{margin:18px 0 0;padding-top:12px;border-top:1px solid var(--line);display:grid;gap:10px}
.v2-cc__dl div{display:grid;gap:2px}
.v2-cc__dl dt{font-size:11px;letter-spacing:.14em;color:var(--wood)}
.v2-cc__dl dd{margin:0;font-size:14px;line-height:1.7}
.v2-plate{background:linear-gradient(to bottom,var(--paper) 0,var(--night) 120px,var(--night) calc(100% - 120px),var(--paper) 100%);color:var(--txtL);
  padding:clamp(140px,20vh,200px) clamp(16px,4vw,56px)}
.v2-plate__in{max-width:760px;margin:0 auto;text-align:center;position:relative}
.v2-plate .a-label{justify-content:center;color:var(--lamp)}
.v2-plate .a-h2{color:var(--txtL)}
.v2-plate .a-body{color:var(--txtL2);margin-left:auto;margin-right:auto}
.v2-plate__ink{font-family:"Hiragino Mincho ProN",serif;font-style:italic;font-size:clamp(40px,6vw,76px);letter-spacing:.06em;color:rgba(224,162,90,.28);margin-top:28px;line-height:1}
.v2-cphotos{max-width:1180px;margin:0 auto;padding:clamp(56px,9vh,104px) clamp(16px,4vw,56px)}
.v2-cphotos__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.v2-cphotos__row img{width:100%;aspect-ratio:4/5;object-fit:cover}

/* ── ギャラリー（編集型）と拡大表示 ── */
.v2-gp-wrap{max-width:1280px;margin:0 auto;padding:clamp(40px,6vh,72px) clamp(16px,4vw,56px) clamp(72px,11vh,120px)}
.v2-flt{display:flex;flex-wrap:wrap;gap:8px}
.v2-flt__b{min-height:44px;padding:6px 18px;border:1px solid var(--line);background:none;font-family:"Hiragino Mincho ProN",serif;font-size:14px;letter-spacing:.12em}
.v2-flt__b[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.v2-flt__count{font-size:12px;letter-spacing:.1em;color:var(--ink2);margin:14px 0 24px}
.v2-gp-list{columns:3 280px;column-gap:clamp(14px,2vw,28px)}
.v2-gp{break-inside:avoid;margin-bottom:clamp(20px,3vw,40px)}
.v2-gp[hidden]{display:none}
.v2-gp--lead{column-span:all;margin-bottom:clamp(36px,5vw,64px)}
.v2-gp--lead img{aspect-ratio:1170/600;object-fit:cover}
.v2-gp__b{display:block;width:100%;padding:0;border:0;background:#e3d9c9;overflow:hidden}
.v2-gp__b img{width:100%;transition:transform .8s cubic-bezier(.2,.7,.1,1),opacity .4s}
.v2-gp__b:hover img{transform:scale(1.025)}
html:not(.mo) .v2-gp__b img{transition:none}
.v2-gp__cap{font-size:12px;letter-spacing:.08em;color:var(--ink2);margin-top:10px}
.v2-lb{width:min(96vw,1280px);max-width:none;max-height:96vh;padding:0;border:0;background:#0f0b08;color:#efe6d6}
.v2-lb::backdrop{background:rgba(10,8,6,.86)}
.v2-lb__fig{display:grid;place-items:center;padding:20px 20px 0}
.v2-lb__fig img{max-width:100%;max-height:calc(96vh - 140px);width:auto;height:auto;object-fit:contain}
.v2-lb__fig figcaption{display:flex;gap:16px;color:#d9cdbb;margin:12px 0 0;justify-self:start}
.v2-lb__nav{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 20px}
.v2-lb__nav button{min-width:52px;min-height:48px;border:1px solid rgba(239,230,214,.45);background:none;color:#efe6d6;font-size:16px}
.v2-lb__close{padding:0 16px;font-size:14px!important;letter-spacing:.12em}

/* ── 店内 ── */
.v2-room{display:grid;gap:clamp(28px,5vw,80px);max-width:1180px;margin:0 auto;padding:clamp(64px,10vh,120px) clamp(16px,4vw,56px);align-items:center}
.v2-room--counter{grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"m t" "m s";max-width:none;color:var(--txtL);
  padding-left:max(clamp(16px,4vw,56px),calc((100% - 1180px)/2));padding-right:max(clamp(16px,4vw,56px),calc((100% - 1180px)/2));
  background:linear-gradient(to bottom,var(--paper) 0,var(--night) 120px,var(--night) calc(100% - 140px),var(--paper) 100%)}
.v2-room--counter .a-label{color:var(--lamp)}
.v2-room--counter .a-h2{color:var(--txtL)}
.v2-room--counter .a-body{color:var(--txtL2)}
.v2-room__main{grid-area:m}
.v2-room__main img{width:100%;aspect-ratio:636/426;object-fit:cover;
  -webkit-mask-image:radial-gradient(ellipse 62% 64% at 50% 50%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 62% 64% at 50% 50%,#000 62%,transparent 100%)}
.v2-room--counter .v2-room__text{grid-area:t;align-self:end}
.v2-room__sub{grid-area:s;width:min(100%,320px);align-self:start}
.v2-room__sub img{width:100%;aspect-ratio:633/420;object-fit:cover}
.v2-room--table{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}
.v2-room--private{grid-template-columns:minmax(0,8fr) minmax(0,4fr);background:var(--paper2);max-width:none;
  padding-left:max(clamp(16px,4vw,56px),calc((100% - 1180px)/2));padding-right:max(clamp(16px,4vw,56px),calc((100% - 1180px)/2))}
.v2-room__pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,1.4vw,18px)}
.v2-room__pair img{width:100%;aspect-ratio:4/3;object-fit:cover}
.v2-scene-use{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:clamp(32px,6vw,96px);max-width:1180px;margin:0 auto;padding:clamp(64px,10vh,120px) clamp(16px,4vw,56px);align-items:center}
.v2-scene-use img{width:100%;aspect-ratio:3/4;object-fit:cover}
.v2-scene-use .olink{margin-top:24px}

/* ── アクセス・ご予約 ── */
.v2-acc{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"i m" "p p";gap:clamp(32px,5vw,72px);max-width:1180px;margin:0 auto;padding:clamp(48px,8vh,96px) clamp(16px,4vw,56px)}
.v2-acc__info{grid-area:i}
.v2-dl{margin:24px 0 0;display:grid}
.v2-dl > div{display:grid;grid-template-columns:7em 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--line)}
.v2-dl dt{font-family:"Hiragino Mincho ProN",serif;font-size:13px;letter-spacing:.14em;color:var(--wood)}
.v2-dl dd{margin:0;font-size:15px;line-height:1.85;letter-spacing:.04em}
.v2-map{grid-area:m;min-height:360px;background:#e3d9c9;position:relative;display:flex;flex-direction:column}
.v2-map__ph{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:32px;text-align:center;
  background:repeating-linear-gradient(0deg,rgba(122,82,50,.07) 0 1px,transparent 1px 48px),repeating-linear-gradient(90deg,rgba(122,82,50,.07) 0 1px,transparent 1px 48px)}
.v2-map__addr{font-family:"Hiragino Mincho ProN",serif;font-size:17px;letter-spacing:.1em}
.v2-map__note{font-size:12px;color:var(--ink2)}
.v2-map__link{font-size:13px;letter-spacing:.08em}
.v2-map iframe{display:block;width:100%;flex:1;min-height:360px;border:0}
.v2-map.is-loaded .v2-map__ph{flex:0;padding:10px;background:none}
.v2-map.is-loaded .v2-map__btn,.v2-map.is-loaded .v2-map__note,.v2-map.is-loaded .v2-map__addr{display:none}
.v2-acc__photos{grid-area:p;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:clamp(14px,2vw,24px);align-items:end}
.v2-acc__ext img{width:100%;aspect-ratio:2/1;object-fit:cover;object-position:50% 55%}
.v2-acc__door img{width:100%;aspect-ratio:3/4;object-fit:cover}
.v2-rsvsec{background:var(--paper2);padding:clamp(72px,11vh,128px) clamp(16px,4vw,56px);scroll-margin-top:70px}
.v2-rsvsec__in{max-width:1180px;margin:0 auto}
.v2-ch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px);margin-top:36px}
.v2-ch__item{display:flex;flex-direction:column;gap:6px;padding:28px 24px;background:var(--paper);border-top:2px solid var(--red)}
.v2-ch__label{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:21px;letter-spacing:.1em}
.v2-ch__how{font-size:13px;letter-spacing:.1em;color:var(--ink2)}
.v2-ch__btn{margin-top:18px;letter-spacing:.08em;font-size:14px}

/* ── SP ── */
@media (max-width:1100px){
  .v2-cc__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v2-ft__in{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  .v2-hd{padding:10px 16px}
  .v2-logo__ja{font-size:18px;letter-spacing:.28em}
  .v2-logo__en{font-size:8px}
  .v2-counter__stage{grid-template-columns:1fr;margin-top:28px}
  .v2-counter__main{grid-column:1;margin:0 -16px}
  .v2-counter__main figcaption{padding:0 16px}
  .v2-branch{grid-column:1;grid-row:2;justify-self:end;width:44%;margin:-28px 0 0}
  .v2-beam__h{width:60%}
  .v2-gal .a-gal__stage{aspect-ratio:4/3}
  .v2-gal .a-gal__th{width:calc((100vw - 32px - 24px) / 2.5)}
  .v2-fin__main,html[data-fin="v"] .v2-fin__main{grid-template-columns:1fr}
  .v2-fin__fig{width:auto;margin:0 -16px}
  html[data-fin="v"] .v2-fin__fig{width:86%;margin:0}
  .v2-ft__in{grid-template-columns:1fr;gap:32px}
  .v2-ft__nav ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v2-ft .btn.v2-red{width:100%}
  .v2-ph{padding:48px 16px 72px}
  .v2-ph__h{font-size:clamp(26px,7.6vw,34px);letter-spacing:.1em}
  .v2-chips ul{flex-wrap:nowrap;overflow-x:auto;margin-right:-16px;padding-right:16px;padding-bottom:4px}
  .v2-close__in{flex-direction:column;align-items:stretch}
  .v2-close__act{flex-direction:column;align-items:stretch}
  .v2-close__act .olink{justify-content:space-between}
  .v2-scene,.v2-scene--door,.v2-scene--plate,.v2-scene--sig{grid-template-columns:1fr;padding:64px 16px}
  .v2-scene--sig .v2-scene__text{order:2}
  .v2-scene--room{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
  .v2-scene__wide{margin:0 -16px}
  .v2-scene--room .v2-scene__text{grid-column:1 / -1}
  .v2-scene__tall{grid-column:3 / span 4;margin-top:8px}
  .v2-scene__wide img{aspect-ratio:4/3}
  .v2-sigm{grid-template-columns:1fr;grid-template-areas:"f" "t" "s";padding:48px 16px}
  .v2-sigm__season{grid-template-columns:1fr}
  .v2-sigm__thumbs{grid-row:auto}
  .v2-featured{padding:64px 16px}
  .v2-feat__grid{grid-template-columns:1fr;gap:40px}
  .v2-feat--0,.v2-feat--1,.v2-feat--2,.v2-feat--3,.v2-feat--type{grid-column:1}
  .v2-cats{padding:24px 16px}
  .v2-cat,.v2-cat--rev{grid-template-columns:1fr;gap:20px}
  .v2-cat__fig{order:-1;width:72%}
  .v2-cat--rev .v2-cat__fig{margin-left:auto}
  .v2-cat__fig img{aspect-ratio:4/3}
  .v2-dk{grid-template-columns:1fr;padding:56px 16px 72px}
  .v2-dk .d-film{max-width:360px}
  .v2-dk__kinds{grid-template-columns:1fr 1fr;gap:28px 18px}
  .v2-kind__h{font-size:22px;letter-spacing:.16em}
  .v2-dk2{grid-template-columns:1fr;padding:64px 16px}
  .v2-dk2__fig{width:72%}
  .v2-pair{gap:10px}
  .v2-courses{padding:48px 16px}
  .v2-cc__grid{grid-template-columns:1fr}
  .v2-plate{padding:120px 16px}
  .v2-cphotos{padding:56px 16px}
  .v2-cphotos__row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v2-gp-wrap{padding:32px 16px 64px}
  .v2-gp-list{columns:2;column-gap:12px}
  .v2-gp{margin-bottom:18px}
  .v2-gp--lead img{aspect-ratio:4/3}
  .v2-room,.v2-room--counter,.v2-room--table,.v2-room--private{grid-template-columns:1fr;grid-template-areas:none;padding:56px 16px}
  .v2-room--counter .v2-room__main,.v2-room--counter .v2-room__text,.v2-room__sub{grid-area:auto}
  .v2-room__main{margin:0 -16px}
  .v2-room__sub{width:62%;margin-left:auto}
  .v2-room--private .v2-room__pair{order:2}
  .v2-room__pair{gap:8px}
  .v2-scene-use{grid-template-columns:1fr;padding:56px 16px}
  .v2-scene-use figure{width:62%}
  .v2-acc{grid-template-columns:1fr;grid-template-areas:"i" "m" "p";padding:40px 16px}
  .v2-dl > div{grid-template-columns:5.5em 1fr;gap:10px}
  .v2-map{min-height:300px}
  .v2-acc__photos{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
  .v2-acc__ext img{aspect-ratio:4/3}
  .v2-rsvsec{padding:64px 16px}
  .v2-ch{grid-template-columns:1fr}
  .v2-proto a{margin-left:8px}
}
@media (max-width:359px){
  .v2-logo__en{display:none}
  .v2-dk__kinds{grid-template-columns:1fr}
  .v2-ft__nav ul{grid-template-columns:1fr}
}

/* ── 目視確認後の補修 ── */
/* 見出し面の直後が暗い区画のときは、紙色を挟まずに暗い木から夜へつなぐ（白い帯を出さない） */
.v2-ph:has(+ .v2-scene--door)::after,.v2-ph:has(+ .v2-dk)::after,.v2-ph:has(+ .v2-room--counter)::after{display:none}
.v2-ph + .v2-scene--door,.v2-ph + .v2-dk{background:linear-gradient(to bottom,var(--wood-d2) 0,var(--night) 120px,var(--night) 100%)}
.v2-ph + .v2-scene--door{background:linear-gradient(to bottom,var(--wood-d2) 0,var(--night) 120px,var(--night) calc(100% - 140px),var(--paper) 100%)}
.v2-ph + .v2-room--counter{background:linear-gradient(to bottom,var(--wood-d2) 0,var(--night) 120px,var(--night) calc(100% - 140px),var(--paper) 100%)}
/* 掲載候補は ?facts=cand のときだけ（表の行の display 指定より優先） */
.v2-dl > [data-cand]{display:none}
html[data-facts="cand"] .v2-dl > [data-cand]{display:grid}
/* 区切りのない長い品名は、文節の区切りで折り返す（対応ブラウザ）。それ以外は通常の折り返し */
.nb--long{white-space:normal;word-break:auto-phrase}
/* SP：カウンター写真の説明と枝ものの額を重ねない */
@media (max-width:767px){
  .v2-counter__main figcaption{justify-content:flex-start}
  .v2-branch{margin:14px 0 0}
  .v2-gal .a-gal__cap{flex-direction:column;gap:2px}
  .v2-gal .a-gal__cap span{white-space:nowrap}
}
/* QA後の補修：名物の灯りを区画内に収める／SPのGallery説明は折り返す／文字だけの一皿とコース名の大きさ */
.v2-sigm{overflow:hidden}
.v2-gal .a-gal__cap{min-width:0;flex:1 1 auto}
.v2-feat--type h3{font-size:clamp(19px,1.55vw,23px)}
.v2-cc__h{font-size:clamp(16px,1.25vw,18px)}
@media (max-width:767px){
  .v2-gal .a-gal__cap span{white-space:normal}
  .v2-gal .a-gal__cap span:first-child{white-space:nowrap}
  .d-dish--sub .dname__main{white-space:normal;word-break:keep-all}
}
.nb--long{overflow-wrap:anywhere}
