@charset "UTF-8";
/* LIS摂田屋 表示ページ スタイル */
:root{
  --paper:#F7F4ED;
  --clay:#EDE7DA;
  --ink:#14110D;
  --smoke:#3E382F;
  --mist:#6E6659;
  --gold:#A88A4F;          /* 罫・大きな数字などの装飾用 */
  --gold-text:#6E5730;     /* 文字に使う濃い金 */
  --line:#CFC6B2;
  --white:#FFFFFF;
  --serif:"Noto Serif JP",serif;                        /* 見出しだけに使う */
  --latin:"Cormorant Garamond",serif;                   /* 大きな数字だけに使う */
  --util:"Noto Sans JP",system-ui,-apple-system,sans-serif;
  --sans:"Noto Sans JP",system-ui,-apple-system,sans-serif;
  --wrap:1120px;
  --gut:clamp(20px,4vw,40px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-weight:400;line-height:1.85;
  font-size:16px;letter-spacing:.01em;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.band{padding:clamp(76px,9vw,132px) 0}
.band-clay{background:var(--clay)}
.band-ink{background:var(--ink);color:#EDE8DD}

/* ---------- 見出し ---------- */
.eyebrow{
  font-family:var(--latin);font-size:11px;letter-spacing:.44em;
  text-transform:uppercase;color:var(--gold);
  display:flex;align-items:center;gap:14px;margin-bottom:18px;
}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--gold);flex:none}
.band-ink .eyebrow{color:#C9A968}
.band-ink .eyebrow::before{background:#C9A968}

.title{
  font-size:clamp(23px,2.8vw,34px);font-weight:300;line-height:1.65;
  letter-spacing:.1em;margin-bottom:12px;
}
.subtitle{font-family:var(--latin);font-size:13px;letter-spacing:.3em;color:var(--mist);font-style:italic}
.body-text{font-size:15px;color:var(--smoke);line-height:2.15}
.body-text p + p{margin-top:1.3em}
.band-ink .body-text{color:#C3BCAF}

/* ---------- トラス（小屋組）の線画 ---------- */
.truss{width:100%;height:auto;display:block;margin:0 auto}
.truss path{fill:none;stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}
.truss .peak{stroke:var(--gold)}

/* ---------- 上部バー ---------- */
.topbar{
  position:fixed;top:0;left:0;right:0;z-index:60;
  transition:background .35s ease,border-color .35s ease,color .35s ease;
}
.topbar.over{background:transparent;border-bottom:1px solid rgba(255,255,255,.22);color:#fff}
.topbar.solid{background:rgba(247,244,237,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);color:var(--ink)}
/* 下層ページのバーは流れの中に置く。トップは写真に重ねるので固定のまま */
.topbar.fixedbar{position:sticky}
.topbar-inner{
  max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);
  height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.topbar-brand{display:flex;align-items:center;gap:12px}
.topbar-brand img{width:30px;height:30px}
.topbar-name{font-size:14px;letter-spacing:.16em}
.topnav{display:flex;gap:26px}
.topnav a{font-family:var(--util);font-size:12px;letter-spacing:.12em;color:var(--smoke);padding:4px 0;border-bottom:1px solid transparent;transition:.25s}
.topnav a:hover{color:var(--ink);border-bottom-color:var(--gold)}

.status{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--util);font-size:11px;letter-spacing:.12em;
  border:1px solid var(--line);padding:6px 13px;background:var(--white);
  white-space:nowrap;
}
.status-dot{width:6px;height:6px;background:var(--mist);flex:none}
.status.is-open .status-dot{background:#6B8E23}
.status.is-closed .status-dot{background:#A0522D}

/* ---------- ヒーロー ---------- */
.hero{position:relative;min-height:min(94vh,860px);display:flex;overflow:hidden;background:var(--ink)}
.hero-img{position:absolute;inset:0}
.hero-img img{width:100%;height:100%;object-fit:cover;filter:saturate(1.04)}
.hero-veil{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(20,17,13,.30) 0%,rgba(20,17,13,0) 16%),
    linear-gradient(0deg,rgba(20,17,13,.40) 0%,rgba(20,17,13,0) 26%);
}
.hero-inner{position:relative;z-index:2;width:100%;max-width:var(--wrap);margin:0 auto;padding:40px var(--gut) clamp(104px,13vh,132px);display:flex;flex-direction:column}
.hero-logo img{width:clamp(56px,7vw,78px)}
.hero-mid{flex:1;display:flex;justify-content:flex-end;align-items:center;padding:20px 0}
.hero-vert{
  writing-mode:vertical-rl;
  font-size:clamp(28px,4.4vw,54px);font-weight:300;color:var(--white);
  letter-spacing:.26em;line-height:1.5;
  text-shadow:0 1px 3px rgba(20,17,13,.55),0 2px 22px rgba(20,17,13,.45);
  padding-right:6px;border-right:1px solid rgba(255,255,255,.34);
}
.hero-vert .num{font-family:var(--latin);font-size:1.1em;font-weight:400;text-combine-upright:all;-webkit-text-combine:horizontal;letter-spacing:0}
.hero-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;color:var(--white)}
.hero-place-en{font-family:var(--latin);font-size:11px;letter-spacing:.46em;text-transform:uppercase;opacity:.9}
.hero-place-ja{font-family:var(--util);font-size:13px;letter-spacing:.2em;margin-top:6px}
.hero-scroll{font-family:var(--latin);font-size:10px;letter-spacing:.4em;text-transform:uppercase;opacity:.85;display:flex;align-items:center;gap:12px}
.hero-scroll::after{content:"";width:52px;height:1px;background:rgba(255,255,255,.7)}

/* ---------- 蔵のこと ---------- */
.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(36px,6vw,80px);align-items:start}
.year{
  font-family:var(--latin);font-size:clamp(64px,9vw,116px);line-height:.85;
  color:var(--gold);letter-spacing:.02em;font-weight:300;margin-bottom:6px;
}
.year-note{font-family:var(--util);font-size:12px;letter-spacing:.2em;color:var(--mist);margin-bottom:34px}
.specs{margin-top:38px;border-top:1px solid var(--line)}
.spec-row{display:grid;grid-template-columns:96px 1fr;gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}
.spec-key{font-family:var(--util);font-size:12px;letter-spacing:.14em;color:var(--gold)}
.spec-val{font-family:var(--util);font-size:13px;color:var(--smoke);line-height:1.9}
.about-fig img{aspect-ratio:3/4;object-fit:cover}
.about-fig figcaption{font-family:var(--util);font-size:11px;letter-spacing:.14em;color:var(--mist);margin-top:10px}

/* ---------- 断面フロアナビ ---------- */
.section-head{text-align:center;margin-bottom:clamp(32px,5vw,54px)}
.section-head .eyebrow{justify-content:center}
.section-head .eyebrow::before{width:24px}

.kura{max-width:940px;margin:0 auto}
.kura-roof{margin-bottom:-1px}
.kura-roof-note{font-family:var(--util);font-size:11px;letter-spacing:.16em;color:var(--mist);text-align:center;margin-top:10px}

.floor{
  display:grid;grid-template-columns:1fr 1fr;
  border:1px solid var(--line);background:var(--white);
  transition:border-color .3s;
}
.floor + .floor{border-top:none}
.floor:hover{border-color:var(--gold)}
.floor-fig{overflow:hidden;background:var(--clay);aspect-ratio:4/3;min-height:260px}
.floor-fig img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.3,1)}
.floor:hover .floor-fig img{transform:scale(1.045)}
.floor-body{padding:clamp(28px,4vw,44px);display:flex;flex-direction:column;justify-content:center}
.floor-no{font-family:var(--latin);font-size:52px;line-height:1;color:var(--gold);letter-spacing:.04em;margin-bottom:16px}
.floor-title{font-size:19px;font-weight:400;letter-spacing:.1em;margin-bottom:6px}
.floor-en{font-family:var(--latin);font-size:12px;letter-spacing:.22em;color:var(--mist);font-style:italic;margin-bottom:16px}
.floor-text{font-size:14px;color:var(--smoke);line-height:2}
.floor-link{
  font-family:var(--util);font-size:12px;letter-spacing:.16em;color:var(--ink);
  margin-top:22px;display:inline-flex;align-items:center;gap:10px;
}
.floor-link::after{content:"";width:26px;height:1px;background:var(--gold);transition:width .3s}
.floor:hover .floor-link::after{width:44px}
.floor-2f .floor-fig{order:1}
.floor-2f .floor-body{order:2}
.floor-1f .floor-fig{order:2}
.floor-1f .floor-body{order:1}
.kura-ground{height:1px;background:var(--ink);opacity:.5;margin-top:0}
.kura-ground-note{font-family:var(--util);font-size:11px;letter-spacing:.16em;color:var(--mist);text-align:right;padding-top:8px}

/* ---------- 酒みくじ ---------- */
.sig-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,68px);align-items:center}
.sig-fig{border:1px solid rgba(200,190,170,.28);overflow:hidden}
.sig-fig img{width:100%}
.sig-lead{
  font-size:clamp(24px,3.4vw,40px);font-weight:300;letter-spacing:.16em;
  color:#E8DFC9;margin:6px 0 22px;line-height:1.5;
}
.sig-price{
  font-family:var(--util);font-size:15px;letter-spacing:.1em;color:#E8DFC9;
  border-top:1px solid rgba(200,190,170,.28);padding-top:20px;margin-top:26px;
}
.sig-specs{margin-top:22px;display:grid;gap:1px;background:rgba(200,190,170,.2)}
.sig-spec{display:grid;grid-template-columns:92px 1fr;gap:16px;background:var(--ink);padding:11px 2px}
.sig-spec dt{font-family:var(--util);font-size:11px;letter-spacing:.14em;color:#C9A968}
.sig-spec dd{font-family:var(--util);font-size:13px;color:#C3BCAF;line-height:1.85}

/* ---------- 会期・お知らせ ---------- */
.two-col{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(36px,5vw,72px);align-items:start}
.group-label{
  font-family:var(--latin);font-size:12px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--gold);display:flex;align-items:center;gap:12px;margin:0 0 16px;
}
.group-label span{font-family:var(--util);font-size:11px;letter-spacing:.1em;color:var(--mist)}
.group + .group{margin-top:40px}

.ev{display:grid;grid-template-columns:132px 1fr;gap:22px;padding:18px 0;border-top:1px solid var(--line)}
.ev:last-child{border-bottom:1px solid var(--line)}
.ev-fig{aspect-ratio:4/3;overflow:hidden;background:var(--clay)}
.ev-fig img{width:100%;height:100%;object-fit:cover}
.ev-floor{font-family:var(--util);font-size:10px;letter-spacing:.18em;color:var(--gold);border:1px solid var(--line);padding:2px 8px;display:inline-block;margin-bottom:9px}
.ev-title{font-size:16px;font-weight:400;letter-spacing:.06em;line-height:1.7}
.ev-date{font-family:var(--latin);font-size:13px;letter-spacing:.13em;color:var(--mist);margin-top:5px}
.ev-desc{font-size:13px;color:var(--smoke);margin-top:8px;line-height:1.95}
.ev-past .ev-fig img{filter:grayscale(.45);opacity:.82}
.ev-past .ev-title{color:var(--mist)}

.news-row{display:block;padding:15px 0;border-top:1px solid var(--line)}
.news-row:last-of-type{border-bottom:1px solid var(--line)}
.news-meta{display:flex;align-items:center;gap:12px;margin-bottom:5px}
.news-date{font-family:var(--latin);font-size:13px;letter-spacing:.13em;color:var(--gold)}
.news-cat{font-family:var(--util);font-size:10px;letter-spacing:.14em;color:var(--mist);border:1px solid var(--line);padding:2px 8px}
.news-title{font-size:14px;line-height:1.85;letter-spacing:.04em}
.news-row:hover .news-title{color:var(--gold)}

/* ---------- 記録 ---------- */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gal{position:relative;overflow:hidden;background:var(--clay);aspect-ratio:4/3}
.gal.tall{grid-row:span 2;aspect-ratio:auto}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.3,1)}
.gal:hover img{transform:scale(1.05)}
.gal figcaption{
  position:absolute;left:0;right:0;bottom:0;
  font-family:var(--util);font-size:11px;letter-spacing:.12em;color:#fff;
  padding:22px 14px 12px;
  background:linear-gradient(0deg,rgba(20,17,13,.58),rgba(20,17,13,0));
}

/* ---------- 来店案内 ---------- */
.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,68px);align-items:start}
.info{border-top:1px solid var(--line)}
.info-row{display:grid;grid-template-columns:104px 1fr;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}
.info-row dt{font-family:var(--util);font-size:12px;letter-spacing:.14em;color:var(--gold)}
.info-row dd{font-family:var(--util);font-size:14px;color:var(--ink);line-height:1.95}
.info-note{font-size:12px;color:var(--mist);margin-top:4px;display:block}
.btn{
  display:inline-block;font-family:var(--util);font-size:13px;letter-spacing:.18em;
  background:var(--gold);color:var(--paper);padding:15px 40px;margin-top:28px;
  transition:opacity .25s;
}
.btn:hover{opacity:.86}
.access-fig figcaption{font-family:var(--util);font-size:11px;letter-spacing:.14em;color:var(--mist);margin-top:10px}

/* ---------- 脚部 ---------- */
.foot{background:var(--ink);color:#B8B0A2;padding:64px 0 40px}
.foot-inner{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:flex-start}
.foot-name{font-size:15px;letter-spacing:.16em;color:#EDE8DD}
.foot-en{font-family:var(--latin);font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:#8A8275;margin-top:8px}
.foot-nav{display:flex;flex-direction:column;gap:9px;font-family:var(--util);font-size:12px;letter-spacing:.1em}
.foot-nav a:hover{color:#C9A968}
.foot-base{
  margin-top:48px;padding-top:20px;border-top:1px solid rgba(200,190,170,.18);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-family:var(--latin);font-size:11px;letter-spacing:.2em;color:#7C7466;
}

/* ---------- 現れ方 ---------- */
.rise{opacity:0;transform:translateY(14px);transition:opacity .8s ease,transform .8s ease}
.rise.in{opacity:1;transform:none}

/* ---------- 狭い画面 ---------- */
@media (max-width:900px){
  .topnav{display:none}
  .about-grid,.sig-grid,.two-col,.access-grid{grid-template-columns:1fr}
  .floor{grid-template-columns:1fr}
  .floor-2f .floor-fig,.floor-1f .floor-fig{order:1}
  .floor-2f .floor-body,.floor-1f .floor-body{order:2}
  .floor-fig{min-height:0;aspect-ratio:16/10}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .gal.tall{grid-row:span 1;aspect-ratio:4/3}
  .ev{grid-template-columns:96px 1fr;gap:16px}
  .hero-vert{font-size:clamp(24px,7vw,34px);letter-spacing:.2em}
  .hero-scroll{display:none}
  .sig-spec{grid-template-columns:78px 1fr;gap:12px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rise{opacity:1;transform:none;transition:none}
  .floor-fig img,.gal img{transition:none}
}

/* ============================================================
   ここから：下層ページと詳細ページ
   ============================================================ */

/* 常時表示の上部バー（トップ以外） */
.topbar.fixedbar{position:sticky;top:0;transform:none}
body:has(.fixedbar) .fhero{margin-top:0}
.topnav a.on{color:var(--ink);border-bottom-color:var(--gold)}

.title-light{color:#EDE8DD}
.narrow{max-width:760px}
.empty{color:var(--mist);font-size:14px;border:1px dashed var(--line);padding:22px;text-align:center}
.link-line{font-family:var(--util);font-size:13px;letter-spacing:.1em;border-bottom:1px solid var(--gold);padding-bottom:3px}
.link-line:hover{color:var(--gold)}
.news-list{margin-top:26px}

/* ---------- フロアページのヒーロー ---------- */
.fhero{position:relative;height:min(46vh,380px);background:var(--clay);overflow:hidden}
.fhero-img{position:absolute;inset:0}
.fhero-img img{width:100%;height:100%;object-fit:cover;filter:saturate(1.04)}
.fhero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,17,13,.34) 0%,rgba(20,17,13,0) 22%)}
.fhero-top{position:relative;z-index:2;padding-top:28px;color:#fff}
.fhero-back{font-family:var(--util);font-size:12px;letter-spacing:.14em;color:rgba(255,255,255,.86);display:inline-flex;align-items:center;gap:10px;margin-bottom:26px}
.fhero-back::before{content:"";width:24px;height:1px;background:rgba(255,255,255,.6)}
.fhero-back:hover{color:#fff}
.fhead{background:var(--paper);border-bottom:1px solid var(--line)}
.fhead-inner{display:flex;align-items:baseline;gap:clamp(18px,3vw,34px);padding:clamp(30px,4vw,46px) var(--gut)}
.fhero-no{font-family:var(--latin);font-size:clamp(38px,6vw,64px);line-height:1;color:var(--gold);letter-spacing:.04em;flex:none}
.fhero-title{font-size:clamp(21px,3vw,32px);font-weight:300;letter-spacing:.12em;margin-bottom:6px}
.fhero-en{font-family:var(--latin);font-size:13px;letter-spacing:.24em;font-style:italic;color:var(--mist)}

.fabout-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,6vw,80px);align-items:center}
.fabout-fig img{width:100%;aspect-ratio:4/3;object-fit:cover}

.partner{max-width:720px}
.partner-body{margin-top:20px}

/* ---------- 扱っているもの ---------- */
.lineup{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:44px}
.lineup-item{background:var(--paper);padding:30px 26px}
.band-clay .lineup-item{background:var(--clay)}
.lineup-title{font-size:17px;font-weight:400;letter-spacing:.08em;margin-bottom:4px}
.lineup-en{font-family:var(--latin);font-size:12px;letter-spacing:.2em;color:var(--gold);font-style:italic;margin-bottom:12px}
.lineup-text{font-size:13px;color:var(--smoke);line-height:1.95}

/* ---------- 一覧の1件をリンクにする ---------- */
a.ev{color:inherit;text-decoration:none}
a.ev:hover .ev-title{color:var(--gold)}
a.ev:hover .ev-fig img{transform:scale(1.05)}
.ev-fig img{transition:transform .9s cubic-bezier(.2,.7,.3,1)}

/* ---------- 看板企画の補足 ---------- */
.sig-where{font-family:var(--util);font-size:12px;letter-spacing:.12em;color:#8A8275;margin-top:14px}

/* ---------- 詳細ページ ---------- */
.detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}
.detail-title{font-size:clamp(22px,3.2vw,34px);font-weight:300;line-height:1.6;letter-spacing:.08em;margin-bottom:10px}
.detail-date{font-family:var(--latin);font-size:15px;letter-spacing:.14em;color:var(--gold);margin-bottom:8px}
.detail-fig{margin:32px 0}
.detail-fig img{width:100%}
.detail-body{margin-top:28px;font-size:16px}
.detail-body p + p{margin-top:1.5em}
.detail-more-images{display:grid;gap:16px;margin-top:32px}
.detail-back{margin-top:44px;padding-top:24px;border-top:1px solid var(--line);display:flex;gap:24px;flex-wrap:wrap}
.phase{font-family:var(--util);font-size:11px;letter-spacing:.14em;padding:4px 12px;border:1px solid}
.phase-now{color:#43703B;border-color:#A8C39C;background:#F1F7EE}
.phase-upcoming{color:var(--gold);border-color:var(--gold)}
.phase-past{color:var(--mist);border-color:var(--line)}

/* ---------- 地図 ---------- */
.map{border:1px solid var(--line);background:var(--clay)}
.map iframe{display:block;width:100%;height:420px;border:0}

@media (max-width:900px){
  .fabout-grid{grid-template-columns:1fr}
  .lineup{grid-template-columns:repeat(2,1fr)}
  .detail-back{gap:16px}
  .map iframe{height:300px}
  .fhero{height:min(34vh,240px)}
  .fhead-inner{gap:14px;align-items:center}
}
@media (max-width:560px){
  .lineup{grid-template-columns:1fr}
}
.sig-en{font-family:var(--latin);font-size:13px;letter-spacing:.24em;font-style:italic;color:#C9A968;margin-top:-4px}

/* ============================================================
   メニュー（見つけやすさの改善）
   ============================================================ */
.topbar-brand .brand-white{display:none}
.topbar.over .topbar-brand img:not(.brand-white){display:none}
.topbar.over .topbar-brand .brand-white{display:block}
.topbar.over .topbar-name{color:#fff}
.topbar.over .topnav a{color:rgba(255,255,255,.86)}
.topbar.over .topnav a:hover,.topbar.over .topnav a.on{color:#fff;border-bottom-color:var(--gold)}
.topbar.over .status{background:rgba(20,17,13,.34);border-color:rgba(255,255,255,.32);color:#fff}
.topbar.over .menu-btn span{background:#fff}

.topbar-right{display:flex;align-items:center;gap:14px}

/* 1F・2Fだけ枠で囲って目立たせる */
.topnav a.nav-floor{
  border:1px solid var(--line);padding:6px 14px;border-bottom-width:1px;
  font-family:var(--latin);font-size:13px;letter-spacing:.16em;
}
.topnav a.nav-floor:hover{border-color:var(--gold);color:var(--ink)}
.topbar.over .topnav a.nav-floor{border-color:rgba(255,255,255,.4)}
.topbar.over .topnav a.nav-floor:hover{border-color:var(--gold);color:#fff}

/* ハンバーガー */
.menu-btn{
  display:none;width:40px;height:34px;padding:8px 6px;
  background:none;border:0;cursor:pointer;flex-direction:column;justify-content:space-between;
}
.menu-btn span{display:block;height:1px;width:100%;background:var(--ink);transition:transform .3s,opacity .3s}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* ヒーロー下のフロア入口 */
.hero-floors{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  display:grid;grid-template-columns:1fr 1fr;
  border-top:1px solid rgba(255,255,255,.28);
  background:linear-gradient(0deg,rgba(20,17,13,.52),rgba(20,17,13,.06));
  backdrop-filter:blur(2px);
}
.hero-floors a{
  display:flex;align-items:center;gap:16px;
  padding:20px clamp(20px,4vw,40px);color:#fff;
  transition:background .3s;
}
.hero-floors a + a{border-left:1px solid rgba(255,255,255,.28)}
.hero-floors a:hover{background:rgba(20,17,13,.42)}
.hf-no{font-family:var(--latin);font-size:26px;letter-spacing:.06em;color:var(--gold);line-height:1;flex:none}
.hf-text{font-size:14px;letter-spacing:.08em;line-height:1.6}
.hero-floors a::after{content:"";width:22px;height:1px;background:rgba(255,255,255,.6);margin-left:auto;flex:none;transition:width .3s}
.hero-floors a:hover::after{width:34px}

@media (max-width:900px){
  .menu-btn{display:flex}
  .topnav{
    position:absolute;top:100%;left:0;right:0;
    display:block;background:var(--paper);
    border-bottom:1px solid var(--line);
    max-height:0;overflow:hidden;transition:max-height .35s ease;
  }
  .topnav.open{max-height:400px}
  .topnav a{
    display:block;padding:16px 24px;font-size:15px;color:var(--ink);
    border-bottom:1px solid var(--line);border-radius:0;
  }
  .topnav a:last-child{border-bottom:0}
  .topnav a.nav-floor{border:0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:15px;letter-spacing:.1em;padding:16px 24px}
  .topbar.over .topnav a{color:var(--ink)}
  .topbar.over .topnav a.nav-floor{border-color:var(--line)}
  .status{font-size:10px;padding:5px 9px}
  .hero-floors{grid-template-columns:1fr}
  .hero-floors a + a{border-left:0;border-top:1px solid rgba(255,255,255,.28)}
  .hero-floors a{padding:14px 20px;gap:12px}
  .hf-no{font-size:20px}
  .hf-text{font-size:13px}
}
@media (max-width:420px){
  .topbar-name{display:none}
}

/* ============================================================
   看板企画：黒帯をやめ、明るい紙面に金の罫で見せる
   （元の黒帯に戻したいときは、index.php と inc/floor.php の
     band-sig を band-ink に書き換えるだけです）
   ============================================================ */
.band-sig{background:var(--clay)}
.band-sig .eyebrow{color:var(--gold)}
.band-sig .eyebrow::before{background:var(--gold)}
.band-sig .title,.band-sig .title-light{color:var(--ink)}
.band-sig .sig-en{color:var(--gold)}
.band-sig .sig-lead{color:var(--gold)}
.band-sig .body-text{color:var(--smoke)}
.band-sig .sig-price{color:var(--ink);border-top-color:var(--line)}
.band-sig .sig-where{color:var(--mist)}
.band-sig .sig-specs{background:var(--line)}
.band-sig .sig-spec{background:var(--clay)}
.band-sig .sig-spec dt{color:var(--gold)}
.band-sig .sig-spec dd{color:var(--smoke)}

/* 写真は色そのまま。背面にずらした金の罫を1本置く */
.band-sig .sig-fig{position:relative;border:0;background:none}
.band-sig .sig-fig img{position:relative;z-index:1;display:block}
.band-sig .sig-fig::before{
  content:"";position:absolute;z-index:0;
  top:16px;left:-16px;right:16px;bottom:-16px;
  border:1px solid var(--gold);
}
@media (max-width:900px){
  .band-sig .sig-fig::before{top:10px;left:-10px;right:10px;bottom:-10px}
}

/* ============================================================
   読みやすさの調整
   ・見出しと縦組みタグラインだけ明朝
   ・本文・メニュー・日付・表はゴシック
   ・11〜13pxだった文字を14〜16pxに引き上げ
   ・字間を詰め、色の濃さを上げる
   ============================================================ */

/* ---- 見出し ---- */
.title,.detail-title,.fhero-title,.hero-vert,.floor-title,.lineup-title,
.card-title,.ev-title,.news-title,.sig-lead,.foot-name{
  font-family:var(--serif);
}
.title{font-weight:400;letter-spacing:.05em;line-height:1.6}
.detail-title{font-weight:500;letter-spacing:.04em}
.fhero-title{font-weight:500;letter-spacing:.06em}
.floor-title{font-weight:500;font-size:20px;letter-spacing:.04em}
.lineup-title{font-weight:500;font-size:18px;letter-spacing:.04em}
.ev-title{font-weight:500;font-size:17px;letter-spacing:.02em;line-height:1.6}
.news-title{font-weight:500;font-size:15.5px;letter-spacing:.02em;line-height:1.7}
.hero-vert{font-weight:400;letter-spacing:.22em}

/* ---- 本文 ---- */
.body-text{font-size:16px;line-height:1.95;letter-spacing:.01em;color:var(--smoke)}
.detail-body{font-size:16.5px;line-height:2}
.floor-text,.ev-desc,.lineup-text,.card-text,.section-lead{
  font-family:var(--sans);font-size:15px;line-height:1.85;letter-spacing:.01em;color:var(--smoke);
}
.ev-desc{font-size:14.5px}

/* ---- ラベル（英字の小見出し） ---- */
.eyebrow{
  font-family:var(--sans);font-weight:500;font-size:12.5px;
  letter-spacing:.14em;text-transform:uppercase;
}
.eyebrow::before{width:26px}
.subtitle{font-family:var(--sans);font-style:normal;font-size:13.5px;letter-spacing:.06em;color:var(--mist)}
.group-label{font-family:var(--sans);font-weight:500;font-size:13px;letter-spacing:.12em}
.group-label span{font-family:var(--sans);font-size:12.5px;letter-spacing:.02em}
.floor-en,.fhero-en,.lineup-en,.sig-en,.brand-en,.foot-en,.hero-place-en{
  font-family:var(--sans);font-style:normal;letter-spacing:.08em;
}
.floor-en,.lineup-en{font-size:13px}
.fhero-en{font-size:14px}
.sig-en{font-size:13.5px;margin-top:2px}
.brand-en{font-size:11px;letter-spacing:.16em}
.foot-en{font-size:12px;letter-spacing:.14em}
.hero-place-en{font-size:12px;letter-spacing:.2em}

/* ---- 日付・数値はゴシックの等幅数字で ---- */
.news-date,.ev-date,.detail-date,.kura-roof-note,.kura-ground-note,.year-note{
  font-family:var(--sans);font-variant-numeric:tabular-nums;letter-spacing:.04em;
}
.news-date{font-size:14px;font-weight:500}
.ev-date{font-size:14px}
.detail-date{font-size:16px;font-weight:500}
.year-note{font-size:13px}
.kura-roof-note,.kura-ground-note{font-size:12.5px}

/* ---- 大きな数字だけ Cormorant を残す ---- */
.year,.floor-no,.hf-no,.hero-vert .num{font-family:var(--latin)}

/* ---- メニュー ---- */
.topbar-inner{min-height:70px}
.topbar-name{font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:.06em}
.topnav{gap:8px;align-items:center}
.topnav a{
  font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:.03em;
  color:var(--smoke);padding:8px 12px;border-bottom:2px solid transparent;
}
.topnav a:hover{color:var(--ink);border-bottom-color:var(--gold)}
.topnav a.nav-floor{
  font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:.04em;
  padding:8px 18px;border:1px solid var(--line);
}
.status{font-family:var(--sans);font-size:12.5px;letter-spacing:.03em;padding:7px 14px}
.hf-text{font-family:var(--sans);font-size:15px;letter-spacing:.03em}
.hf-no{font-size:28px}

/* ---- 表と一覧 ---- */
.spec-key,.info-row dt,.sig-spec dt{font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.06em}
.spec-val,.info-row dd,.sig-spec dd{font-family:var(--sans);font-size:15px;letter-spacing:.01em;line-height:1.8}
.info-note{font-size:13.5px;margin-top:2px}
.ev-floor,.news-cat,.phase{font-family:var(--sans);font-size:12px;letter-spacing:.06em;padding:3px 10px}
.gal figcaption{font-family:var(--sans);font-size:13px;letter-spacing:.03em}
.about-fig figcaption,.access-fig figcaption{font-family:var(--sans);font-size:13px;letter-spacing:.03em}
.sig-price{font-family:var(--sans);font-size:17px;font-weight:500;letter-spacing:.03em}
.sig-lead{font-weight:400;letter-spacing:.1em}
.sig-where{font-family:var(--sans);font-size:13px;letter-spacing:.03em}
.floor-link,.fhero-back,.btn,.link-line,.foot-nav,.empty{font-family:var(--sans);letter-spacing:.04em}
.floor-link{font-size:14px}
.fhero-back{font-size:14px}
.btn{font-size:15px;font-weight:500;letter-spacing:.08em;padding:16px 38px}
.link-line{font-size:14px}
.foot-nav{font-size:14px;gap:11px}
.foot-brand,.foot-name{font-size:16px;letter-spacing:.06em}
.foot-base{font-family:var(--sans);font-size:12.5px;letter-spacing:.06em}
.empty{font-size:15px}
.hero-place-ja{font-family:var(--sans);font-size:14px;letter-spacing:.08em}
.hero-scroll{font-family:var(--sans);font-size:11px;letter-spacing:.2em}

@media (max-width:900px){
  .topnav a,.topnav a.nav-floor{font-size:16px;padding:17px 24px;letter-spacing:.03em}
  .body-text{font-size:15.5px}
  .detail-body{font-size:16px}
}

/* ---- 文字として読ませるものは濃い色にする ---- */
.eyebrow{color:var(--gold-text);font-size:13px}
.band-clay .eyebrow,.band-sig .eyebrow{color:var(--gold-text)}
.spec-key,.info-row dt,.sig-spec dt{color:var(--gold-text)}
.lineup-en,.floor-en,.sig-en{color:var(--gold-text)}
.news-date{color:var(--smoke)}
.ev-date{color:var(--mist)}
.detail-date{color:var(--gold-text)}
.news-row:hover .news-title{color:var(--gold-text)}
.link-line:hover{color:var(--gold-text)}
.floor-link::after,.eyebrow::before{background:var(--gold)}

/* 小さすぎたラベルを底上げ */
.ev-floor,.news-cat,.phase{font-size:12.5px}
.foot-en,.hero-place-en,.kura-roof-note,.kura-ground-note{font-size:12.5px}
.hero-scroll{font-size:11.5px}

/* 上部バーは常に実体。写真の上に白文字を置かない */
.topbar.over{background:rgba(247,244,237,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);color:var(--ink)}
.topbar.over .topbar-brand img:not(.brand-white){display:block}
.topbar.over .topbar-brand .brand-white{display:none}
.topbar.over .topbar-name{color:var(--ink)}
.topbar.over .topnav a{color:var(--smoke)}
.topbar.over .topnav a.nav-floor{border-color:var(--line)}
.topbar.over .status{background:var(--white);border-color:var(--line);color:var(--ink)}
.topbar.over .menu-btn span{background:var(--ink)}

/* ---- Instagram ---- */
.ig-feed{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:44px}
.ig-post{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:var(--clay)}
.ig-post img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.3,1)}
.ig-post:hover img{transform:scale(1.05)}
.ig-post-cap{
  position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;
  font-family:var(--sans);font-size:13px;line-height:1.6;color:#fff;
  background:linear-gradient(0deg,rgba(20,17,13,.72),rgba(20,17,13,0));
  opacity:0;transition:opacity .3s;
}
.ig-post:hover .ig-post-cap{opacity:1}
.ig-more{margin-top:30px;text-align:right}
@media (max-width:900px){
  .ig-feed{grid-template-columns:repeat(2,1fr);gap:10px}
  .ig-post-cap{opacity:1;font-size:12px;padding:20px 10px 9px}
}

/* ---- お休み・特別営業の一覧 ---- */
.ex-line{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:5px 0}
.ex-line + .ex-line{border-top:1px solid var(--line)}
.ex-date{font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:14px;font-weight:500}
.ex-kind{font-family:var(--sans);font-size:12px;padding:2px 9px;border:1px solid}
.ex-closed{color:#8F3A26;border-color:#DDB8AE;background:#FBEDEA}
.ex-open{color:#3F6B36;border-color:#A5C199;background:#F1F7EE}
.ex-floor{font-family:var(--sans);font-size:12px;color:var(--gold-text);border:1px solid var(--line);padding:2px 9px}
.ex-note{font-family:var(--sans);font-size:14px;color:var(--smoke)}

/* ============================================================
   スマホでのヒーローの読みやすさ
   写真の切り抜きが変わり、白い文字が明るい部分に重なるため、
   文字が乗る帯だけを落とす（写真全体は暗くしない）
   ============================================================ */
@media (max-width:900px){
  .hero-veil{
    background:
      /* 縦組みが乗る右側 */
      linear-gradient(270deg,rgba(20,17,13,.62) 0%,rgba(20,17,13,.28) 26%,rgba(20,17,13,0) 52%),
      /* 下の地名とフロア入口 */
      linear-gradient(0deg,rgba(20,17,13,.60) 0%,rgba(20,17,13,0) 34%),
      /* 上のロゴ */
      linear-gradient(180deg,rgba(20,17,13,.34) 0%,rgba(20,17,13,0) 18%);
  }
  .hero-vert{
    text-shadow:0 1px 2px rgba(20,17,13,.7),0 2px 18px rgba(20,17,13,.6);
    border-right-color:rgba(255,255,255,.5);
  }
  .hero-place-en,.hero-place-ja{text-shadow:0 1px 3px rgba(20,17,13,.6)}
  .hero-floors{background:linear-gradient(0deg,rgba(20,17,13,.66),rgba(20,17,13,.22))}
}
/* PCでもフロア入口の帯だけ少し濃くする */
.hero-floors{background:linear-gradient(0deg,rgba(20,17,13,.60),rgba(20,17,13,.14))}
/* フロア入口の帯は、文字が中央に来るので上下の差を小さくする */
.hero-floors{background:linear-gradient(0deg,rgba(20,17,13,.70),rgba(20,17,13,.46))}
.hf-text,.hf-no{text-shadow:0 1px 3px rgba(20,17,13,.55)}