/* Release 4. Layout is content-driven at every viewport, including short desktops. */
.hero-v2{display:flex;flex-direction:column;height:auto;min-height:max(720px,100svh);max-height:none;padding:160px 7vw 28px;gap:28px}
.hero-v2 .herocopy{position:relative;inset:auto;transform:none;margin:0;padding:0;flex:1;display:flex;flex-direction:column;justify-content:center}
.hero-v2 .herocopy h1{font-size:clamp(58px,7.1vw,108px);line-height:1.23;letter-spacing:-.065em;max-width:100%;overflow-wrap:anywhere}
.hero-v2 .herocopy h1>span{white-space:normal}
.hero-v2 .herotext{margin:20px 0;font-size:14px;line-height:2}
.hero-v2 .hero-actions{flex-wrap:wrap;gap:18px 28px;animation:controlin .45s .28s both}
.hero-v2 .hero-actions .btn{min-height:56px}
.hero-v2 .hero-bottom{position:relative;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:28px}
.hero-v2 .scene-console{position:relative;inset:auto;margin:0;width:min(570px,70%);flex-shrink:0;animation:controlin .5s .35s both}
.hero-v2 .scene-console>span{margin-bottom:14px;min-height:18px;line-height:1.8;font-size:11px}
.hero-v2 .hero-locate{position:relative;inset:auto;margin:0;line-height:1.7;font:700 14px 'Noto Sans JP',sans-serif;letter-spacing:.04em;text-align:right}
.hero-locate a{display:inline-flex;align-items:center;min-height:44px;font-size:11px;border-bottom:1px solid #ffffff50;margin-top:6px}
.hero-v2 .hero-locate span{line-height:1.8}
.hero-v2 .herotop{left:7vw;right:7vw}
.hero-v2 .hero-stage{background:#0d0221}
.hero-v2 .hero-frame{will-change:auto}
.herocopy h1>span{animation-name:headline-rise;animation-duration:.65s!important}
.hero-v2 .herocopy h1>span:nth-child(1){animation-delay:.05s}.hero-v2 .herocopy h1>span:nth-child(2){animation-delay:.15s}
.hero-v2 .herotext{animation:controlin .5s .2s both}
.hero-v2 .scene-key{animation-delay:.4s}.hero-v2 .scene-key:nth-child(2){animation-delay:.47s}.hero-v2 .scene-key:nth-child(3){animation-delay:.54s}
@keyframes headline-rise{from{opacity:0;translate:0 25px;clip-path:inset(0 0 100% 0)}to{opacity:1;translate:0 0;clip-path:inset(0)}}
.audience-tabs{gap:0}.audience-tabs button{text-align:center;font-size:13px;padding:18px 8px}
.audience-panel>div{min-width:0}.audience-panel>img{width:100%;height:100%;min-height:420px;object-fit:cover}
.audience-panel p{max-width:38em}.audience-panel .scene-voice blockquote p{font-size:13px}
.audience-panel .textlink{line-height:1.8}.store-photo-link{margin:0 7vw 60px;padding:20px 24px;border-left:2px solid var(--pink);background:linear-gradient(120deg,#3b0a5c88,transparent);display:flex;gap:12px 24px;align-items:center;flex-wrap:wrap}
.store-photo-link>span{font-size:13px}.store-photo-link .textlink{font-size:12px}.store-photo-link small{font-size:11px;color:var(--muted)}
.check-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 20px;min-height:64px}.check-status>span{font-size:12px;color:var(--electric)}
.check-status button{font-size:12px;background:linear-gradient(125deg,#2a1a3e,#1a0533);border:1px solid #7c3aed80;color:var(--electric);padding:10px 14px;min-height:44px;box-shadow:0 4px #0d0221;white-space:nowrap;border-radius:2px 12px 2px 2px}
#night-result{scroll-margin-top:28px}#night-result:focus{outline:2px solid var(--electric);outline-offset:6px}
.route-cards h4{font-size:14px}.route-cards article p{font-size:12px}.result-help{font-size:12px!important}.result #resultlink{font-size:13px}.result .save-night{font-size:12px;line-height:1.8}
.contact-section{position:relative}.consult-preview{grid-column:1/-1;display:grid;grid-template-columns:140px 1fr;align-items:center;gap:24px;background:linear-gradient(120deg,#2a1a3e,#0d0221);border:1px solid #7c3aed50;padding:18px 22px;border-radius:2px 24px 2px 2px}
.consult-preview>img{width:140px;height:120px;object-fit:cover;border-radius:2px}.consult-preview p{color:var(--electric);font-size:16px;font-weight:700;margin:0 0 7px}.consult-preview small{font-size:12px;line-height:1.8;display:block;color:var(--muted)}.consult-preview a{margin-top:10px;font-size:12px}
.venue-photos{display:table;margin:0 0 22px}.plan form{min-width:0}.plan input,.plan textarea,.plan select{font-size:16px}
#selected-plan{font-size:14px;line-height:1.8}.selected-thumbnails{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.selected-thumbnails img{width:60px;height:60px;object-fit:cover}
.scene-answer>p{font-size:13px!important}.scene-voice small{font-size:11px}.scene-answer summary,.scene-voice summary{font-size:13px}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--electric);outline-offset:5px}
a,button,summary{-webkit-tap-highlight-color:#7c3aed26}
button.pressed,a.pressed,summary.pressed{animation-play-state:paused;translate:0 3px!important;scale:.975;filter:brightness(.95)}
.checkitem[aria-pressed=true] .checkbox{animation:check-light .35s both}@keyframes check-light{0%{scale:.65}65%{scale:1.15}100%{scale:1}}
#dartboard{touch-action:manipulation}#dartboard.throwing{box-shadow:0 6px 0 #0d0221,0 0 45px #7c3aed70}#dartboard.throwing #aim-dot{animation-play-state:paused}
.board-caption{letter-spacing:.08em;font-family:'Noto Sans JP',sans-serif;font-size:12px}.game-result{scroll-margin-top:24px}
@media(min-width:681px) and (max-width:950px){.hero-v2{padding-top:175px}.hero-v2 .hero-bottom{align-items:start;flex-direction:column;gap:20px}.hero-v2 .scene-console{width:100%;max-width:570px}.hero-v2 .hero-locate{display:flex;align-items:center;gap:16px;text-align:left}.hero-v2 .hero-locate span,.hero-locate a{margin-top:0}.audience-tabs button{font-size:11px}.audience-panel{grid-template-columns:1fr 1fr}.scene-answer summary,.scene-voice summary{font-size:12px}}
@media(max-width:680px){
.hero-v2{min-height:100svh;padding:148px 24px 30px;gap:32px}.hero-v2 .herocopy{margin:0;padding:0;inset:auto;transform:none}.hero-v2 .herocopy h1{font-size:clamp(32px,9.8vw,64px);line-height:1.3}.hero-v2 .herotext{font-size:12px;line-height:2;margin:20px 0}.hero-v2 .hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:12px}.hero-v2 .hero-contact{margin:0;padding-top:0;min-height:44px;display:inline-flex;align-items:center}.hero-v2 .hero-bottom{display:block}.hero-v2 .scene-console{width:auto;margin:0;inset:auto}.hero-v2 .scene-console>span{font-size:11px;margin-bottom:12px}.hero-v2 .hero-locate{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 12px;text-align:left;inset:auto;font-size:11px;margin-top:18px}.hero-v2 .hero-locate span{font-size:10px;margin:0}.hero-locate a{margin-top:0;font-size:11px}.hero-v2 .herotop{left:24px;right:24px}.hero-v2 .eyebrow{margin-bottom:18px}
.audience-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0}.audience-tabs button{font-size:12px;text-align:left;padding:16px 10px}.audience-panel>img{height:230px;min-height:0;aspect-ratio:auto}.audience-panel>div{padding:24px 22px}.audience-panel p,.scene-answer summary,.scene-voice summary{font-size:12px}.scene-answer>p,.scene-voice blockquote p{font-size:12px!important}.audience-panel li{font-size:12px}
.store-photo-link{margin:0 24px 40px;padding:18px;display:block}.store-photo-link>span{display:block;font-size:12px}.store-photo-link a{margin:9px 0}.store-photo-link small{display:block;font-size:10px}
.check-status{position:sticky;top:0;z-index:4;background:#0d0221f5;backdrop-filter:blur(10px);padding:12px 8px;margin:0 -8px 16px;border-bottom:1px solid #ffffff25}.check-status>span{font-size:11px}.check-status button{font-size:11px;padding:9px 11px}
#night-result{scroll-margin-top:88px}.route-cards article{grid-template-columns:72px 1fr}.route-cards img{width:72px;height:84px}.route-cards h4{font-size:13px}.route-cards article p{font-size:12px}.result #resultlink{font-size:12px;line-height:1.8;white-space:normal}.questintro small{font-size:11px}.checkitem{font-size:13px}.questintro .score b{font-size:60px}.questintro .score{margin-top:12px}.questintro .night-lamps{margin-top:18px}
.consult-preview{grid-template-columns:80px 1fr;gap:14px;padding:16px}.consult-preview>img{width:80px;height:110px}.consult-preview p{font-size:14px}.consult-preview small{font-size:11px}.consult-preview a{font-size:11px}.contactnumber span{font-size:11px!important}.faq-visual a>span{font-size:16px}.faq-visual small{font-size:11px}.storystrip p{font-size:12px}.darts-game .footnote{font-size:11px!important}.darts-game .game-result{min-height:64px}.storycontent p{font-size:13px}.nightstory{padding-block:52px}
}
@media(max-width:360px){.hero-v2{padding-inline:20px}.hero-v2 .herocopy{margin:0}.hero-v2 .scene-console{margin:0}.hero-v2 .hero-locate span{font-size:9px}.scene-key{font-size:10px}.audience-tabs button{font-size:11px}.minifacts{gap:20px}.hero-v2 .herocopy h1{font-size:clamp(30px,9.6vw,35px)}}
@media(prefers-reduced-motion:reduce){.hero-v2 *,.checkitem .checkbox{animation:none!important;transition:none!important}.hero-v2 .herocopy h1>span{clip-path:none;opacity:1;translate:none}.hero-v2 .hero-actions,.hero-v2 .scene-console{opacity:1;translate:none}}

@media(min-width:681px){.hero-v2 .eyebrow{margin-bottom:16px}}
