:root{--bg:#101013;--panel:#1c1b21;--fg:#f6f1e8;--muted:#c6bfb9;--line:#514a4c;--accent:#ffbc62;--head:'Dela Gothic One',sans-serif;--body:'Zen Kaku Gothic New',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.9 var(--body);overflow-wrap:anywhere}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{overflow-wrap:normal}h2{font:400 clamp(26px,5vw,46px)/1.6 var(--head);letter-spacing:.025em}h3{font-size:20px;line-height:1.6}p+p{margin-top:20px}small{font-size:12px}.wrap{width:min(1120px,calc(100% - 40px));margin-inline:auto}.section{padding-block:64px}.eyebrow{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.15em;margin-bottom:14px}.proposal-strip{padding:12px 20px;background:#eeeae1;color:#242832;font:12px/1.6 'Zen Kaku Gothic New',sans-serif}.proposal-strip>span{display:block}.proposal-strip nav{display:flex;flex-wrap:wrap;column-gap:20px}.proposal-strip a{display:inline-flex;align-items:center;min-height:44px}.shop-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:16px}.brand{text-decoration:none;line-height:1.2;flex-shrink:0}.brand>small{font-size:11px;letter-spacing:.12em}.brand>strong{display:flex;align-items:center;gap:8px;font-family:var(--head);font-size:30px;font-weight:400}.brand strong>span{font:12px var(--body)}.brand span small{display:block;font-size:11px;text-align:center}.shop-header nav{display:flex;gap:14px;font-size:12px}.shop-header nav a{display:flex;align-items:center;min-height:44px;text-decoration:none}.shop-header nav a:nth-child(2){display:none}.hero{position:relative;isolation:isolate;min-height:650px;height:calc(100svh - 170px);max-height:1000px;overflow:hidden}.hero>img{position:absolute;height:100%;object-fit:cover;object-position:60% center;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,#09090ded,transparent 85%),linear-gradient(90deg,#08090bc4,transparent 95%)}.hero-copy{position:relative;width:min(1120px,calc(100% - 40px));margin:auto;padding-block:52px 90px}.hero h1{font:400 clamp(54px,12vw,112px)/1.35 var(--head);letter-spacing:.025em}.hero h1 em{font-style:normal;color:var(--accent)}.hero-lead{font-size:15px;line-height:2;margin-block:22px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--accent);color:#11131a;padding:15px 24px;border:1px solid var(--accent);min-height:56px;text-decoration:none;font-weight:700;font-size:15px;transition:transform .3s,background .3s}.hero-caption{position:absolute;bottom:22px;left:20px;right:20px;font-size:11px;display:flex;justify-content:space-between;gap:15px;color:#e1d9cf}.hero-caption span{letter-spacing:.1em}.section-head>p{margin-top:12px;color:var(--muted)}.ticket{margin-top:28px;background:#f2e8d4;color:#19181c;position:relative;display:grid;grid-template-columns:1fr auto;border-radius:3px}.ticket>div:first-child{padding:24px 22px 12px;grid-column:1/-1}.ticket span{font-size:11px;letter-spacing:.14em}.ticket h3{margin:8px 0;font-family:var(--body);font-size:19px}.ticket p{font-size:13px}.ticket>strong{font:400 46px/1.2 var(--head);padding:0 18px 26px}.ticket strong small{font:700 17px var(--body);margin-left:5px}.stub{border-left:2px dashed #aaa18e;display:grid;place-content:center;text-align:center;font-size:11px;letter-spacing:.1em;padding:12px 20px}.setlist{margin-top:42px}.setlist h3{color:var(--accent);font:400 20px var(--head)}.menu-list{margin:20px 0 0}.menu-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 0;border-bottom:1px solid var(--line)}.menu-list dt{font-size:15px}.menu-list dt small{color:var(--accent);margin-right:12px}.menu-list dd{margin:0;white-space:nowrap;font-weight:700;font-size:25px;font-variant-numeric:tabular-nums}.menu-list dd span{font-size:13px;margin-left:5px}.feature{position:relative;background:var(--panel)}.feature>img{aspect-ratio:1.2;object-fit:cover;object-position:58%}.feature-copy{padding:32px 20px 48px}.feature-copy h2{font-size:27px}.feature-copy p{margin-top:20px}.feature-copy small{display:block;color:var(--muted);margin-top:16px}.first{background:var(--panel)}.three{display:grid;gap:28px;margin-top:30px}.three article{border-top:1px solid var(--line);padding-top:20px}.three article>span{color:var(--accent);font-size:12px;letter-spacing:.12em}.three h3{margin-block:10px}.three p{color:var(--muted);font-size:15px;line-height:1.9}.access{display:grid;gap:30px}.address{margin-top:24px}.address strong{font:400 35px var(--head);color:var(--accent);margin-left:8px}.text-link{display:inline-flex;align-items:center;min-height:48px;margin-top:14px}.details{margin:0}.details>div{display:grid;grid-template-columns:125px 1fr;gap:16px;border-bottom:1px solid var(--line);padding:13px 0;font-size:14px}.details dt{color:var(--muted)}.details dd{margin:0}.social{border-top:1px solid var(--line)}.social .button{margin-top:24px}.pending-note{display:block;margin-top:12px;color:var(--muted)}.footer{border-top:1px solid var(--line);padding-block:36px 110px;font-size:11px;color:var(--muted)}.footer-logo{font-size:20px;text-decoration:none;color:var(--fg)}.footer p{margin-top:12px}.footer>a:last-of-type{display:inline-flex;min-height:44px;align-items:center;margin-top:12px}.footer>small{display:block;font-size:11px}.fixed-action{position:fixed;z-index:10;bottom:0;left:0;right:0;background:var(--bg);padding:10px 20px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--line)}.fixed-action>a,.fixed-action>button{display:flex;align-items:center;justify-content:center;width:100%;border:0;background:var(--accent);color:#131722;font-weight:700;text-decoration:none;min-height:54px;font-size:14px}dialog{width:min(440px,calc(100% - 40px));border:1px solid var(--line);background:var(--panel);color:var(--fg);padding:28px}dialog::backdrop{background:#000b}dialog h2{font:700 23px/1.6 var(--body)}dialog p{margin-block:20px}dialog button{width:100%;min-height:48px;background:var(--accent);border:0;color:#141722}
/* B : 墨、藍、朱。余白と明朝で静かに。 */
.theme-b{--bg:#111a23;--panel:#1c2936;--line:#4b5661;--accent:#d9b88a;--fg:#f0eade;--muted:#c8c6c2;--head:'Shippori Mincho',serif}.theme-b .brand>strong{font-family:'Yuji Syuku',serif;font-size:38px}.theme-b .brand strong>span{font:11px var(--body)}.theme-b .hero-copy{z-index:1;padding-top:55px}.theme-b .hero h1{font-size:clamp(47px,11vw,86px);font-weight:500;line-height:1.6;letter-spacing:.18em}.theme-b .hero>img{object-position:80%;filter:brightness(.8)}.theme-b .hero-shade{background:linear-gradient(90deg,#101923c7,transparent),linear-gradient(0deg,#101923b3,transparent 70%)}.theme-b .hero .button{background:transparent;color:var(--fg);border-color:#d2c0a0}.hero-kanji{position:absolute;right:20px;top:24px;font:180px/1 'Yuji Syuku',serif;color:#f2e5cf;opacity:.2;z-index:-1}.concept{display:flex;gap:24px;align-items:flex-start}.seal{font:42px/1 'Yuji Syuku',serif;color:#df7a66;border:2px solid #bc5c49;padding:8px;flex-shrink:0}.concept h2{font-size:27px}.concept p:not(.eyebrow){margin-top:24px;font-family:var(--head);line-height:2.3;font-size:15px}.since{color:var(--accent);font:12px var(--body)!important}.menu-b{background:#e7e2d6;color:#202b33;--line:#a8a7a1;--accent:#824534}.b-menu-grid{display:grid;gap:30px;margin-top:30px}.bottle{padding:28px 24px;border:1px solid #858981;position:relative}.bottle:before{content:'';display:block;width:32px;height:3px;background:#a14a36;margin-bottom:24px}.bottle h3{font:500 28px var(--head);margin-top:10px}.bottle strong{font:500 44px var(--head);display:block;margin-block:12px}.bottle strong small{font-size:18px;margin-left:6px}.bottle p{font-size:13px}.bottle p:last-child{font-size:12px}.b-set{padding-bottom:18px;border-bottom:1px solid var(--line)}.b-set>span{font-size:13px}.b-set>strong{font:500 38px var(--head);display:block}.b-set small{font-size:16px}.menu-b .menu-list>div:nth-child(2){display:none}.story-b{display:grid;gap:32px}.story-photo{overflow:hidden}.story-photo img{aspect-ratio:1.1;object-fit:cover;object-position:50%}.story-b h2{font-size:36px}.story-b p:not(.eyebrow){margin-top:22px;font-family:var(--head);line-height:2.3}.theme-b .first h3{font:500 22px var(--head)}
/* C : 夜の紺と黄色。丸みは控えめに。 */
.theme-c{--bg:#101d38;--panel:#192b4a;--line:#4f607c;--accent:#f9d765;--fg:#f7f4eb;--muted:#d0d8e6;--head:'M PLUS Rounded 1c',sans-serif;--body:'M PLUS Rounded 1c',sans-serif}.theme-c h1,.theme-c h2,.theme-c h3{font-weight:900}.theme-c .hero h1{line-height:1.35;font-size:clamp(55px,13vw,108px);letter-spacing:.015em}.theme-c .hero>img{object-position:72%}.theme-c .hero-shade{background:linear-gradient(0deg,#0e1c36f2,transparent 90%),linear-gradient(90deg,#0e1c36a6,transparent)}.theme-c .button,.theme-c .fixed-action>button{border-radius:8px}.price-c{background:#f2dc86;color:#14223c;--accent:#14223c;--line:#9f965e}.price-c h2{font-size:clamp(26px,6.8vw,44px)}.price-c h2+p{margin-top:16px;font-size:14px}.calculator{display:grid;gap:24px;margin-top:30px;border:1px solid #9f965e;border-radius:14px;padding:24px 20px}.counter{display:flex;align-items:center;gap:10px;margin-top:12px}.counter button{width:44px;height:44px;border-radius:50%;border:1px solid #14223c;background:transparent;color:#14223c;font-size:24px}.counter input{appearance:textfield;-moz-appearance:textfield;border:0;border-bottom:1px solid #14223c;width:58px;text-align:center;background:transparent;color:#14223c;font-size:25px;font-weight:800;border-radius:0}.counter input::-webkit-inner-spin-button{appearance:none}.calculator label,.calc-result>span{font-size:13px}.calc-result>strong{display:block;font-size:45px;font-weight:900;line-height:1.4;white-space:nowrap}.calc-result small{font-size:19px;margin-left:5px}.calc-note{font-size:12px;margin-top:16px}.price-c .menu-list{margin-top:26px}.theme-c .three article>span{font-size:11px}.uses h2{font-size:26px}.private-note{padding:22px;background:var(--panel);border-radius:8px;font-size:15px;margin-top:30px}.private-note small{color:var(--muted)}.photo-c{position:relative;isolation:isolate}.photo-c:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#071126db,transparent)}.photo-c img{height:410px;object-fit:cover;object-position:60%;position:relative;z-index:-2}.photo-c>div{position:absolute;left:20px;bottom:30px}.photo-c p{font-size:14px}.photo-c strong{font-size:32px;font-weight:900;color:var(--accent)}.contact-c .button{margin-top:28px;min-width:min(100%,340px)}.contact-c>p:not(.eyebrow){margin-top:20px}.theme-c .access{border-top:1px solid var(--line)}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes curtain{from{clip-path:inset(0 0 100% 0);transform:scale(1.04)}to{clip-path:inset(0);transform:scale(1)}}@media(prefers-reduced-motion:no-preference){.hero>img{animation:curtain 1.4s cubic-bezier(.2,.6,.2,1) both}.hero-copy{animation:rise 1s .25s both}.motion-enter{animation:rise .8s both}@supports(animation-timeline:view()){.story-photo img,.feature>img{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 70%}}}@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-3px)}.shop-header a:hover{color:var(--accent)}}
@media(min-width:760px){.proposal-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-inline:32px}.proposal-strip nav{flex-shrink:0}.shop-header{padding-block:20px}.shop-header nav{font-size:14px;gap:30px}.shop-header nav a:nth-child(2){display:flex}.hero{height:calc(100svh - 150px);min-height:720px}.hero-copy{padding-top:65px}.hero-caption{left:max(32px,calc((100% - 1120px)/2));right:max(32px,calc((100% - 1120px)/2))}.section{padding-block:100px}.section-head{display:flex;justify-content:space-between;align-items:end}.ticket{grid-template-columns:1fr auto 140px;align-items:center;margin-top:40px}.ticket>div:first-child{grid-column:auto;padding:40px}.ticket>strong{padding:30px;font-size:55px}.stub{align-self:stretch}.setlist{display:grid;grid-template-columns:1fr 1.3fr;align-items:start;gap:80px}.feature>img{height:650px;aspect-ratio:auto;object-position:center}.feature:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#0b0b12d9);pointer-events:none}.feature-copy{position:absolute;right:max(40px,calc((100% - 1120px)/2));top:50%;transform:translateY(-50%);z-index:1;padding:0;max-width:470px}.feature-copy h2{font-size:38px}.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;margin-top:45px}.three h3{font-size:21px}.access{grid-template-columns:1fr 1fr;gap:80px}.social{text-align:center}.fixed-action{display:none}.footer{padding-block:45px}.theme-b .hero-copy{padding-top:40px}.hero-kanji{font-size:470px;right:10%;top:100px}.concept{gap:70px;justify-content:center;padding-block:120px}.seal{font-size:85px;padding:14px}.concept h2{font-size:40px}.concept p:not(.eyebrow){font-size:18px}.b-menu-grid{grid-template-columns:1fr 1fr;gap:70px;align-items:center}.bottle{padding:45px}.story-b{grid-template-columns:1.2fr 1fr;gap:75px;align-items:center}.story-b h2{font-size:44px}.theme-c .hero-copy{padding-top:45px}.calculator{grid-template-columns:1fr 1fr;align-items:center;padding:32px 40px;max-width:800px}.calc-result>strong{font-size:60px}.price-c .menu-list{max-width:800px}.uses h2{font-size:40px}.photo-c img{height:580px}.photo-c>div{left:max(40px,calc((100% - 1120px)/2));bottom:55px}.photo-c strong{font-size:60px}.contact-c{text-align:center}.theme-c .private-note{display:inline-block;min-width:50%}}
@media(max-width:374px){.hero h1{font-size:51px}.theme-c .hero h1{font-size:52px}.brand>strong{font-size:27px}.shop-header nav{gap:11px}.ticket>strong{font-size:40px}.concept{gap:16px}.seal{font-size:30px}.concept h2{font-size:24px}.theme-b .hero h1{font-size:46px}.hero-caption{font-size:11px}.theme-c .uses h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.map{grid-column:1/-1;border:1px solid var(--line);overflow:hidden}.map iframe{display:block;width:100%;height:320px;border:0}@media(min-width:760px){.map iframe{height:420px}}

.cds{border-top:1px solid var(--line)}
.cds h2{font-size:clamp(30px,8vw,54px);line-height:1.4}
.cds-shelf{height:56px;margin-top:30px;background:repeating-linear-gradient(90deg,var(--line) 0 6px,var(--panel) 6px 8px,var(--accent) 8px 11px,var(--muted) 11px 16px,var(--panel) 16px 18px,var(--fg) 18px 21px,var(--line) 21px 28px,var(--panel) 28px 30px,#5b6cff 30px 33px,var(--muted) 33px 37px,var(--panel) 37px 39px);border-bottom:3px solid #5b6cff;box-shadow:0 12px 26px -10px #5b6cffcc;opacity:.9}
.cds-lead{margin-top:26px;line-height:2}
.cds-tags{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0;padding:0;list-style:none}
.cds-tags li{border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:7px 16px;font-size:13px;font-weight:700;letter-spacing:.1em}
.theme-b .cds-tags li{border-radius:0;font-family:var(--head)}
.theme-b .cds-lead{font-family:var(--head);line-height:2.3}
.cds-note{margin-top:22px;color:var(--muted);font-size:14px}
@media(min-width:760px){.cds{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.cds-shelf{margin-top:0}}
