/* 案Aのみ。実写真の色を保ち、黒とアンバーで余白をつなぐ。 */
.theme-a{--bg:#111110;--panel:#1c1b18;--line:#4e4941;--accent:#ffbc62;--muted:#cec7bd}
.theme-a .wrap{width:min(1120px,calc(100% - 40px))}
.theme-a .section{padding-block:76px}
.theme-a h2{font-size:clamp(27px,6.8vw,50px);line-height:1.55;letter-spacing:0}
.theme-a .eyebrow{letter-spacing:.18em;font-size:11px}
.theme-a .hero{height:auto;min-height:530px;isolation:isolate}
.hero picture{position:absolute;inset:0;z-index:-3}
.hero picture img{width:100%;height:100%;object-fit:cover;object-position:58% 38%}
.theme-a .hero-shade{background:linear-gradient(0deg,#080808ed 0%,#080808ab 24%,transparent 67%),linear-gradient(90deg,#08080865,transparent 68%)}
.theme-a .hero-copy{padding-block:100px 66px}
.theme-a .hero h1{font-size:clamp(50px,13vw,104px);line-height:1.23}
.theme-a .hero-lead{font-size:14px;margin-block:24px;line-height:2}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.theme-a .actions .button{font-size:13px;padding:14px 18px;gap:12px}
.theme-a .hero .actions{max-width:390px;gap:8px}
.theme-a .hero .actions .button{width:auto;flex:1;padding-inline:10px;font-size:11px;white-space:nowrap}
.theme-a .button-outline{background:#111110b8;color:var(--fg);border-color:#a39783}
.open-tag{position:absolute;top:18px;right:20px;border:1px solid #ffbc6290;background:#111110d9;color:var(--accent);font-size:11px;letter-spacing:.08em;padding:6px 10px}
.theme-a .hero-caption{font-size:10px;bottom:20px;gap:8px}
.quick-facts{display:grid;grid-template-columns:1fr 1fr;padding:0;margin:0;list-style:none;border-bottom:1px solid var(--line);background:var(--panel)}
.quick-facts li{display:flex;gap:14px;align-items:center;justify-content:flex-start;min-height:80px;padding:14px 20px;font-size:12px;border-bottom:1px solid var(--line)}
.quick-facts li:nth-child(odd){border-right:1px solid var(--line)}
.quick-facts li:nth-last-child(-n+2){border-bottom:0}
.quick-facts svg{width:22px;height:22px;flex-shrink:0;color:var(--accent)}
.quick-facts li>span{display:flex;flex-direction:column;gap:2px;line-height:1.4;color:var(--muted)}
.quick-facts strong{font-size:16px;color:var(--accent);font-weight:700}
.backstage{display:grid;gap:28px;align-items:center}
.backstage-photo img{aspect-ratio:3/4;object-fit:cover;object-position:center 38%}
.story-text{font-size:15px;line-height:2.15;color:var(--muted)}
.section-intro{margin-top:18px;font-size:14px;color:var(--muted)}
.session{border-top:0}
.session-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:30px}
.session-grid img{height:100%;aspect-ratio:1;object-fit:cover}
.session-grid img:first-child{grid-column:1/-1;aspect-ratio:3/4;object-position:center}
.session-grid img:nth-child(2){object-position:center 65%}
.session-grid img:nth-child(3){object-position:center 60%}
.instrument-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:24px 0 0}
.instrument-tags li{padding:6px 10px;border:1px solid var(--line);font-size:12px;color:var(--muted)}
/* CDの棚をページいっぱいの主役に。 */
.library{padding-block:30px 65px}
.library-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:560px;height:72svh;max-height:1000px}
.library-hero>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:35% 75%}
.library-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#111110ed,transparent 65%),linear-gradient(90deg,#11111055,transparent 75%)}
.library-hero .section-heading{padding-block:55px}
.theme-a .library h2{font-size:clamp(28px,7.8vw,76px);line-height:1.5;text-shadow:0 2px 20px #0008}
.library-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:20px;align-items:center;padding-top:40px}
.library-body>img{aspect-ratio:3/4;object-fit:cover;object-position:50% 35%}
.library-copy{border-left:2px solid var(--accent);padding-left:20px}
.library .cds-lead{margin-top:0;font-size:14px;line-height:2.1}
.library .cds-tags{gap:8px;margin-top:22px}
.library .cds-tags li{border-radius:0;font-size:11px;padding:5px 12px}
.library .cds-note{font-size:13px}
.theme-a #price{border-top:0}
.theme-a .section-head{display:block}
.theme-a .section-head>.eyebrow{color:var(--accent)}
.theme-a .setlist{gap:24px}
.theme-a .menu-list dt{font-size:14px}
.theme-a .menu-list dt small{margin-right:6px}
.theme-a .menu-list dd{font-size:23px}
.drink-note{font-size:12px;color:var(--muted);margin-top:18px;line-height:1.9}
.solo{display:grid;gap:26px;border-top:0}
.solo>img{max-height:620px;aspect-ratio:3/4;object-fit:cover;object-position:50% 45%}
.gallery{border-top:0;min-width:0}
.gallery-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-block:20px}
.gallery-tools p{color:var(--muted);font-size:11px}
.gallery-buttons{display:flex;gap:8px;flex-shrink:0}
.gallery-buttons[hidden]{display:none}
.gallery-buttons button{width:48px;height:48px;background:transparent;border:1px solid var(--line);color:var(--accent);font-size:22px}
.gallery-buttons button:disabled{opacity:.35;cursor:default}
.gallery-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-color:var(--accent) var(--panel);scrollbar-width:thin;padding-bottom:20px;overscroll-behavior-x:contain}
.gallery-track:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.gallery-track figure{flex:0 0 88%;margin:0;scroll-snap-align:start;min-width:0}
.gallery-track img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.gallery-track .gallery-room img{aspect-ratio:1600/1305;object-fit:contain}
.gallery-track figcaption{padding-top:14px;font-size:12px;color:var(--muted)}
.gallery-track figcaption span{display:block;color:var(--accent);font-size:11px;letter-spacing:.12em;margin-bottom:4px}
.theme-a .first h2{font-size:clamp(26px,6.8vw,44px)}
.theme-a .three h3{font-size:19px}
.theme-a .details>div{grid-template-columns:100px minmax(0,1fr);gap:12px;font-size:13px}
.theme-a .access{gap:32px}
.theme-a .social .actions{justify-content:center;margin-top:26px}
.theme-a .social .button{margin-top:0}
.theme-a .footer{padding-bottom:130px}
.theme-a .fixed-action{display:grid;grid-template-columns:1.6fr 1fr;gap:8px;padding-inline:12px;background:#111110f5}
.theme-a .fixed-action a{font-size:12px;min-height:50px}
.theme-a .fixed-action a:last-child{background:transparent;color:var(--fg);border:1px solid var(--line)}
@media(min-width:760px){
 .theme-a .section{padding-block:88px}
 .theme-a .hero{min-height:600px;height:calc(100svh - 260px);max-height:900px}
 .theme-a .hero-copy{padding-block:28px 48px}
 .theme-a .hero h1{font-size:clamp(64px,7vw,76px);line-height:1.2}
 .theme-a .hero-lead{margin-block:16px}
 .hero picture img{object-position:50% 48%}
 .theme-a .hero-shade{background:linear-gradient(90deg,#090909e0,transparent 90%),linear-gradient(0deg,#090909c7,transparent 50%)}
 .theme-a .hero .actions{max-width:none}
 .theme-a .hero .actions .button{width:auto;min-width:190px;flex:initial;font-size:13px}
 .theme-a .hero-lead{font-size:16px}
 .open-tag{top:32px;right:40px;padding:10px 18px}
 .quick-facts{grid-template-columns:repeat(4,1fr);padding-inline:max(20px,calc((100% - 1120px)/2))}
 .quick-facts li{border-bottom:0;border-right:1px solid var(--line);padding:24px}
 .quick-facts li:last-child{border-right:0}
 .backstage{grid-template-columns:1.1fr 1fr;column-gap:80px;row-gap:24px}
 .backstage-photo{grid-column:1;grid-row:1/3}
 .backstage .section-heading,.backstage .story-text{grid-column:2}
 .backstage .section-heading{align-self:end}.backstage .story-text{align-self:start}
 .session-grid{grid-template-columns:1.2fr 1fr;grid-template-rows:280px 280px;gap:16px;margin-top:40px}
 .session-grid img:first-child{grid-column:1;grid-row:1/3;aspect-ratio:auto}
 .session-grid img{aspect-ratio:auto;min-height:0}
 .session-grid img:nth-child(2){object-position:center 68%}
 .library{padding-block:45px 70px}
 .library-hero{height:80vh;min-height:620px;max-height:1000px}
 .library-hero>img{object-position:50% 38%}
 .library-hero .section-heading{padding-block:65px}
 .library-body{grid-template-columns:1fr .65fr;gap:100px;padding-top:65px;max-width:1000px}
 .library .cds-lead{font-size:22px}
 .library-copy{padding-left:30px}
 .theme-a .setlist{grid-template-columns:minmax(0,1fr);gap:20px;max-width:800px;margin:48px auto 0}
 .setlist .menu-list{margin-top:0}
 .drink-note{grid-column:1;margin-top:0}
 .solo{grid-template-columns:1fr 1fr;gap:28px 80px}
 .solo>img{grid-column:2;grid-row:1/3}
 .solo .section-heading{align-self:end}.solo .story-text{align-self:start}
 .gallery-track figure{flex-basis:calc((100% - 32px)/2.6)}
 .theme-a .access{gap:55px}
 .theme-a .details>div{grid-template-columns:125px minmax(0,1fr);font-size:14px}
 .theme-a .fixed-action{display:none}
 .theme-a .footer{padding-block:45px}
}
@media(prefers-reduced-motion:reduce){.gallery-track{scroll-behavior:auto}.theme-a *, .theme-a *:before,.theme-a *:after{animation:none!important;transition:none!important}}
/* グリッド内の画像・文章が画面幅を押し広げないようにする。 */
.backstage>*,.session-grid>*,.library>*,.library-body>*,.solo>*,.access>*{min-width:0}

.solo-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:24px 0 0}
.solo-tags li{border:1px solid var(--line);padding:7px 12px;font-size:12px;color:var(--accent)}
.theme-a .social{border-top:0}
.library-body>*{min-width:0}
@media(max-width:759px){
 .library-body{grid-template-columns:1fr;gap:28px}
 .library-body>img{width:100%;aspect-ratio:4/3;max-height:none;object-position:50% 45%}
 .library-hero>img{object-position:30% 50%}
 .library .cds-lead{font-size:16px}
 .theme-a .hero .eyebrow{font-size:9px}
 .theme-a .hero-lead{font-size:15px;margin-block:18px}
}
.theme-a .hero .eyebrow,.theme-a .hero h1,.theme-a .hero-lead{text-shadow:0 2px 14px #000d,0 0 2px #0009}

/* 来店判断の情報と、固定導線に隠れないスクロール余白。 */
html{scroll-padding-bottom:calc(90px + env(safe-area-inset-bottom))}
.hero-summary{display:flex;flex-wrap:wrap;gap:0 14px;max-width:440px;margin:0 0 20px;font-size:12px;line-height:1.9;color:var(--fg);text-shadow:0 2px 8px #000}
.hero-summary span{white-space:nowrap}
.theme-a .social-instagram{font-size:13px;color:var(--muted);margin-top:18px}
@media(min-width:760px){
 html{scroll-padding-bottom:24px}
 .hero-summary{max-width:680px;font-size:14px}
 .gallery-track .gallery-room{flex-basis:66%}
}

.access .building{margin:32px 0 0}
.access .building img{width:100%;max-width:420px;aspect-ratio:4/5;object-fit:cover;object-position:40% 70%;display:block}
.access .building figcaption{margin-top:12px;font-size:13px;color:var(--muted)}
.social-note{margin-top:18px;color:var(--muted);font-size:14px}

/* 平日の貸切・レンタルスペース */
.rental{display:grid;gap:22px;margin-top:48px;padding:28px 22px;border:1px solid var(--line);background:var(--panel)}.rental h3{font:400 22px/1.6 var(--head);margin-bottom:12px}.rental p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.9}.rental .button{justify-self:start}@media(min-width:760px){.rental{grid-template-columns:1fr auto;align-items:center;gap:40px;padding:36px 40px;margin-top:64px}.rental h3{font-size:26px}}
