/* 新A｜静かな余韻 — 生成りの紙面に、写真を一枚ずつ置いていく編集 */
:root{--paper:#f4efe6;--paper2:#ebe3d5;--ink:#1d1b18;--ink2:#5b544b;--wood:#7a5232;--line:#cdbfa9;--focus:#7a5232}
body{background:var(--paper);color:var(--ink)}
.a-h2{font-size:clamp(24px,2.3vw,34px);line-height:1.65;letter-spacing:.08em}
.a-h2--lg{font-size:clamp(26px,2.7vw,40px)}
.a-body{font-size:15px;line-height:2.1;letter-spacing:.04em;color:var(--ink2);margin-top:22px;max-width:30em}
.a-body--narrow{max-width:34em}
.a-label{display:flex;align-items:baseline;gap:14px;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:12px;letter-spacing:.32em;
  text-transform:uppercase;color:var(--wood);margin-bottom:22px}
.num{font-size:12px;letter-spacing:.1em;color:var(--wood)}
.a-label .num{font-size:22px;letter-spacing:0;color:var(--ink)}
.a-rule{display:block;width:72px;height:1px;background:var(--wood);margin:26px 0}
.a-more{margin-top:34px}
.tlink{color:var(--ink)}
.btn{color:var(--ink)}
.btn--fill{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn--fill:hover{background:var(--wood);border-color:var(--wood)}
.btn:not(.btn--fill):hover{background:var(--ink);color:var(--paper)}
figcaption{font-size:12px;letter-spacing:.08em;color:var(--ink2);margin-top:12px;display:flex;gap:12px;align-items:baseline}

/* ヘッダー */
.hd{position:sticky;top:0;z-index:80;display:flex;align-items:center;gap:28px;padding:18px clamp(16px,4vw,56px);
  background:rgba(244,239,230,0);transition:background-color .4s,box-shadow .4s}
.hd.is-scrolled{background:rgba(244,239,230,.94);box-shadow:0 1px 0 var(--line)}
.hd__logo{text-decoration:none;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:19px;letter-spacing:.24em;white-space:nowrap}
.gnav{display:flex;gap:26px;margin-left:auto;font-size:13px;letter-spacing:.12em}
.gnav a{text-decoration:none;padding:10px 0;position:relative}
.gnav a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--wood);transform:scaleX(0);transform-origin:right;transition:transform .35s ease}
.gnav a:hover::after,.gnav a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.hd__act{display:flex;align-items:center;gap:14px}
.hd__reserve{display:inline-flex;align-items:center;min-height:42px;padding:6px 20px;border:1px solid var(--ink);text-decoration:none;font-size:13px;letter-spacing:.16em}
.hd__reserve:hover{background:var(--ink);color:var(--paper)}
.hd__menu{display:none;align-items:center;gap:10px;min-height:44px;min-width:44px;background:none;border:0;padding:6px}
.hd__menu-line{width:26px;height:7px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.hd__menu-label{font-size:12px;letter-spacing:.14em}
@media (max-width:1100px){.gnav{display:none}.hd__act{margin-left:auto}.hd__menu{display:inline-flex}}

/* ① Hero：文字を左に孤立させず、縦書きの一言・店名・罫線・写真を一つの紙面に組む */
.a-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,680px);gap:clamp(32px,5vw,88px);align-items:center;
  max-width:1280px;margin:0 auto;padding:clamp(28px,5vh,64px) clamp(16px,4vw,56px) clamp(56px,9vh,104px);position:relative}
.a-hero__text{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"v k" "v n" "v r" "v l" "v c";column-gap:clamp(24px,3vw,48px);align-content:center}
.a-hero__kicker{grid-area:k;font-size:12px;letter-spacing:.24em;color:var(--wood)}
.a-hero__vertical{grid-area:v;writing-mode:vertical-rl;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(20px,1.8vw,26px);
  letter-spacing:.32em;line-height:1;padding-top:6px;border-right:1px solid var(--line);padding-right:clamp(16px,2vw,28px);align-self:stretch}
.a-hero__name{grid-area:n;font-size:clamp(40px,4.4vw,64px);letter-spacing:.16em;line-height:1.25;margin-top:18px;white-space:nowrap}
.a-hero .a-rule{grid-area:r}
.a-hero__line{grid-area:l;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(15px,1.2vw,17px);letter-spacing:.12em;line-height:2;color:var(--ink2)}
.a-hero__cta{grid-area:c;display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center;margin-top:34px}
.a-hero__fig{position:relative}
.a-hero__fig .mask{background:var(--paper2);padding:14px;box-shadow:0 0 0 1px var(--line)}
.a-hero__fig img{width:100%;max-width:652px}
.a-hero__fig figcaption{justify-content:flex-end}

/* プロローグ：本文＋大小2枚の非対称配置 */
.a-pro{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;max-width:1280px;margin:0 auto;padding:clamp(56px,10vh,120px) clamp(16px,4vw,56px)}
.a-pro__text{grid-column:2 / span 5;align-self:center}
.a-pro__f1{grid-column:8 / span 2;align-self:start;margin-top:40px}
.a-pro__f2{grid-column:10 / span 3;align-self:end}
.a-pro__text .tlink{margin-top:28px}

/* ② 名物：写真の質感を、額装と余白で */
.a-sig{background:var(--paper2);padding:clamp(72px,12vh,140px) clamp(16px,4vw,56px)}
.a-sig__inner{display:grid;grid-template-columns:minmax(0,640px) minmax(0,1fr);grid-template-areas:"l l" "f t";gap:0 clamp(40px,6vw,96px);max-width:1180px;margin:0 auto;align-items:center}
.a-sig .a-label{grid-area:l}
.a-sig__fig{grid-area:f}
.a-sig__fig img{width:100%;max-width:640px}
.a-sig__text{grid-area:t}
.a-sig__name{font-size:clamp(18px,1.5vw,21px);letter-spacing:.08em;line-height:1.7;margin-top:18px}
.a-sig__text .tlink{margin-top:28px}

/* ③ 料理：主役1皿＋2皿（料理名は主名・副題で改行位置を固定） */
.a-dishes{max-width:1280px;margin:0 auto;padding:clamp(80px,13vh,150px) clamp(16px,4vw,56px) clamp(40px,6vh,72px)}
.a-sechead{max-width:1180px;margin:0 auto 48px}
.a-sechead--row{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 40px}
.a-dishes__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4vw,64px);max-width:1180px;margin:0 auto;align-items:start}
.a-dish h3{font-size:clamp(20px,1.6vw,23px);letter-spacing:.06em;line-height:1.55;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500}
.a-dish__p{font-size:14px;line-height:1.95;color:var(--ink2);margin-top:10px}
.a-dish--main .mask img{width:100%;aspect-ratio:1170/649;object-fit:cover}
.a-dish--main .a-dish__cap{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;margin-top:22px}
.a-dish--main .a-dish__p{margin-top:4px}
.a-dishes__side{display:grid;gap:clamp(36px,5vw,56px);padding-top:clamp(40px,8vw,120px)}
.a-dish--sub{display:grid;grid-template-columns:minmax(0,46%) minmax(0,1fr);gap:22px;align-items:end}
.a-dish--sub .mask img{width:100%;aspect-ratio:4/5;object-fit:cover}
.a-dish--sub h3{font-size:clamp(18px,1.4vw,20px)}

/* お酒：料理の流れから一杯へ。縦長写真を大きく */
.a-drink{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(36px,6vw,104px);max-width:1180px;margin:0 auto;
  padding:clamp(48px,8vh,96px) clamp(16px,4vw,56px) clamp(80px,12vh,140px);align-items:center}
.a-drink__main img{width:100%;max-width:520px;aspect-ratio:1045/1400;object-fit:cover}
.a-drink__text{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"lab lab" "h p" "h k" "h a" "s s";grid-template-rows:auto auto auto minmax(0,1fr) auto;column-gap:clamp(24px,3vw,44px);align-items:start}
.a-drink .a-label{grid-area:lab}
.a-h2--vertical{grid-area:h;writing-mode:vertical-rl;letter-spacing:.24em;line-height:1.8;font-size:clamp(24px,2.2vw,32px)}
.a-drink .a-body{grid-area:p;margin-top:0}
.a-drink__kinds{grid-area:k;display:flex;flex-wrap:wrap;gap:8px 0;margin-top:22px;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;letter-spacing:.14em}
.a-drink__kinds li+li::before{content:"・";color:var(--wood);margin:0 .5em}
.a-drink__text .tlink{grid-area:a;margin-top:18px;align-self:start}
.a-drink__sub{grid-area:s;width:min(220px,48%);margin:40px 0 0 auto}
.a-drink__sub img{aspect-ratio:3/4;object-fit:cover;width:100%}

/* 店内：横長の写真を版面いっぱいに（原寸1170pxを上限） */
.a-space{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;max-width:1280px;margin:0 auto;padding:0 clamp(16px,4vw,56px) clamp(80px,12vh,140px)}
.a-space__wide{grid-column:1 / -1;max-width:1170px;justify-self:center;width:100%}
.a-space__wide img{width:100%;aspect-ratio:1170/620;object-fit:cover}
.a-space__text{grid-column:2 / span 6;padding-top:48px}
.a-space__text .tlink{margin-top:26px}
.a-space__side{grid-column:9 / span 3;margin-top:-80px}
.a-space__side img{aspect-ratio:3/4;object-fit:cover;width:100%}

/* ⑤ ギャラリー：一枚を鑑賞する */
.a-gal{background:var(--paper2);padding:clamp(72px,12vh,140px) clamp(16px,4vw,56px)}
.a-gal .a-sechead{margin-bottom:36px}
.a-gal__stage{position:relative;max-width:960px;margin:0 auto;aspect-ratio:3/2;background:#d9cfbf;overflow:hidden}
.a-gal__stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .5s ease}
.a-gal__stage img.is-on{opacity:1}
html:not(.mo) .a-gal__stage img{transition:none}
.a-gal__bar{display:flex;justify-content:space-between;align-items:center;gap:16px;max-width:960px;margin:16px auto 0}
.a-gal__cap{display:flex;gap:18px;font-size:13px;letter-spacing:.08em;color:var(--ink2)}
.a-gal__cap span:first-child{font-family:"Hiragino Mincho ProN",serif;color:var(--ink)}
.a-gal__nav{display:flex;gap:8px}
.a-gal__nav button{width:46px;height:46px;border:1px solid var(--ink);background:none}
.a-gal__nav button:hover{background:var(--ink);color:var(--paper)}
.a-gal__thumbs{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px;max-width:960px;margin:18px auto 0}
.a-gal__th{display:block;width:100%;padding:0;border:0;background:none;opacity:.55;transition:opacity .3s}
.a-gal__th[aria-current="true"],.a-gal__th:hover{opacity:1}
.a-gal__th[aria-current="true"]{box-shadow:0 2px 0 var(--wood)}
.a-gal__th img{aspect-ratio:1;object-fit:cover;width:100%}
.a-gal .a-more{max-width:960px;margin:28px auto 0}

/* コース */
.a-course{max-width:1180px;margin:0 auto;padding:clamp(80px,13vh,150px) clamp(16px,4vw,56px)}
.a-course__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px;counter-reset:c}
.a-course__list li{padding:28px 0;border-top:1px solid var(--line)}
.a-course__list h3{font-size:clamp(18px,1.5vw,21px);letter-spacing:.06em;line-height:1.6;margin:6px 0 10px}
.a-course__list p{font-size:14px;line-height:1.95;color:var(--ink2)}
.a-course__tag{font-size:12px;letter-spacing:.16em;color:var(--wood)}

/* ⑥ 最終章＋フッター：写真・言葉・予約・アクセス・署名を一つの面に */
.a-fin{background:var(--ink);color:var(--paper);padding:clamp(80px,13vh,150px) clamp(16px,4vw,56px) 40px}
.a-fin .a-label,.a-fin .num,.a-fin .a-label .num{color:#c9a27a}
.a-fin .a-body,.a-fin figcaption{color:#cfc6b8}
.a-fin__main{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:clamp(40px,7vw,120px);max-width:1180px;margin:0 auto;align-items:center}
.a-fin__fig img{width:100%;aspect-ratio:1108/1400;object-fit:cover}
.a-fin__addr{margin-top:20px;font-size:15px;letter-spacing:.1em}
.a-fin__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.a-fin .btn{color:var(--paper)}
.a-fin .btn--fill{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.a-fin .btn--fill:hover{background:#c9a27a;border-color:#c9a27a}
.a-fin .btn:not(.btn--fill):hover{background:var(--paper);color:var(--ink)}
.a-fin .a-rule{background:#c9a27a}
.a-fin__dress{font-size:13px;line-height:1.95;color:#bdb3a4;max-width:30em}
.a-fin__info{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;max-width:1180px;margin:clamp(72px,10vh,120px) auto 0;padding-top:28px;border-top:1px solid #4a443d}
.a-fin__sig span{display:block;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:28px;letter-spacing:.3em}
.a-fin__sig small{display:block;font-size:12px;letter-spacing:.14em;color:#a99f90;margin-top:6px}
.a-fin__info ul{display:flex;flex-wrap:wrap;gap:4px 24px;font-size:13px;letter-spacing:.1em}
.a-fin__info a{display:inline-flex;min-height:40px;align-items:center;text-decoration:none;color:#ddd4c6}
.a-fin__info a:hover{color:#fff}
.a-fin .rv-slot{color:#e8eef9}

/* ドロワー：右から紙が差し込まれる */
.dr__scrim{background:rgba(29,27,24,.45);opacity:0;transition:opacity .4s}
.dr__panel{position:absolute;top:0;right:0;bottom:0;width:min(420px,88vw);background:var(--paper);padding:24px 32px;overflow:auto;
  transform:translateX(100%);transition:transform .45s cubic-bezier(.2,.7,.1,1)}
.dr.is-open .dr__scrim{opacity:1}
.dr.is-open .dr__panel{transform:none}
.dr__close{display:block;margin-left:auto;border-color:var(--ink)}
.dr__list{margin-top:28px}
.dr__list li{border-bottom:1px solid var(--line);opacity:0;transform:translateX(16px);transition:opacity .4s,transform .45s}
.dr.is-open .dr__list li{opacity:1;transform:none}
.dr.is-open .dr__list li:nth-child(2){transition-delay:.05s}.dr.is-open .dr__list li:nth-child(3){transition-delay:.1s}
.dr.is-open .dr__list li:nth-child(4){transition-delay:.15s}.dr.is-open .dr__list li:nth-child(5){transition-delay:.2s}
.dr.is-open .dr__list li:nth-child(6){transition-delay:.25s}.dr.is-open .dr__list li:nth-child(7){transition-delay:.3s}
.dr__en{font-family:"Hiragino Mincho ProN",serif;font-size:12px;letter-spacing:.2em;color:var(--wood);min-width:64px}
.dr__ja{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:19px;letter-spacing:.12em}
.dr__foot{margin-top:28px}
.dr__foot .btn{width:100%}
html:not(.mo) .dr__scrim,html:not(.mo) .dr__panel,html:not(.mo) .dr__list li{transition:none}

.spbar{background:rgba(244,239,230,.96);box-shadow:0 -1px 0 var(--line)}
.spbar a:first-child{background:var(--ink);color:var(--paper)}
.spbar a:last-child{border:1px solid var(--ink)}

/* ── SP：縦の読み物として組み替え ── */
@media (max-width:767px){
  body{font-size:15px}
  .hd{padding:12px 16px}
  .hd__logo{font-size:17px}
  .hd__reserve{display:none}
  .a-hero{grid-template-columns:1fr;padding:8px 16px 64px;gap:28px}
  .a-hero__fig{order:-1}
  .a-hero__fig .mask{padding:8px}
  .a-hero__text{grid-template-columns:auto 1fr;column-gap:20px}
  .a-hero__vertical{font-size:19px;padding-right:14px}
  .a-hero__name{font-size:clamp(30px,9vw,38px);letter-spacing:.14em;margin-top:12px}
  .a-hero .a-rule{margin:18px 0}
  .a-hero__cta{margin-top:24px}
  .a-pro{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;padding:56px 16px 72px}
  .a-pro__text{grid-column:1 / -1;margin-bottom:28px}
  .a-pro__f1{grid-column:1 / span 2;margin-top:48px}
  .a-pro__f2{grid-column:3 / span 4}
  .a-sig{padding:72px 16px}
  .a-sig__inner{grid-template-columns:1fr;grid-template-areas:"l" "f" "t";gap:0}
  .a-sig__text{margin-top:30px}
  .a-dishes{padding:80px 16px 32px}
  .a-sechead{margin-bottom:32px}
  .a-dishes__grid{grid-template-columns:1fr;gap:48px}
  .a-dish--main .a-dish__cap{grid-template-columns:1fr;gap:4px}
  .a-dishes__side{padding-top:0;gap:44px}
  .a-dish--sub{grid-template-columns:minmax(0,44%) minmax(0,1fr);gap:16px}
  .a-drink{grid-template-columns:1fr;padding:40px 16px 80px;gap:36px}
  .a-drink__main img{max-width:none}
  .a-drink__text{grid-template-columns:auto 1fr;column-gap:18px}
  .a-drink__sub{width:56%;margin-top:32px}
  .a-space{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;padding:0 16px 80px}
  .a-space__wide img{aspect-ratio:4/3}
  .a-space__text{grid-column:1 / -1;padding-top:36px}
  .a-space__side{grid-column:3 / span 4;margin-top:20px}
  .a-gal{padding:72px 16px}
  .a-gal__thumbs{grid-template-columns:repeat(5,minmax(0,1fr))}
  .a-course{padding:80px 16px}
  .a-course__list{grid-template-columns:1fr}
  .a-fin{padding:80px 16px 32px}
  .a-fin__main{grid-template-columns:1fr;gap:36px}
  .a-fin__fig{width:72%}
  .a-fin__cta .btn{flex:1 1 140px}
  .a-fin__sig span{font-size:22px}
}
@media (max-width:359px){
  .a-hero__vertical{display:none}
  .a-hero__text{grid-template-columns:1fr;grid-template-areas:"k" "n" "r" "l" "c"}
  .a-dish--sub{grid-template-columns:1fr}
}
.a-sig__h{font-size:clamp(26px,2.5vw,36px)}
.a-sig__h .dname__sub{font-size:.56em;color:var(--wood);margin-top:.6em}
