:root{--wine:#0b318f;--wine2:#0b318f;--pink:#bdd4ff;--cream:#f7f9ff;--gold:#b8ceff;--green:#0b318f}body{overflow-wrap:anywhere}.brand{font-family:"Noto Sans JP",sans-serif;font-size:21px;letter-spacing:.01em}.brand span{font-size:12px;margin-bottom:2px;letter-spacing:.1em}.topbar nav{gap:24px;font-size:14px}.hero{min-height:740px}.hero h1{font-family:"Noto Sans JP",sans-serif;font-size:clamp(48px,6.8vw,88px);font-weight:900;line-height:1.22;letter-spacing:.015em}.hero h1 em{color:#ffffff;text-shadow:0 0 35px #759cff44}.title-dot{color:var(--gold)}.hero-shade{background:linear-gradient(90deg,#061638f0,#0b318f99 60%,#06163822),linear-gradient(0deg,#0b318fa8,transparent 60%)}.concept-label{font-weight:700;letter-spacing:.17em;margin-top:30px}.eyebrow,.section-kicker{font-size:14px}.hero-credit{position:absolute;bottom:20px;right:5vw;font-size:12px;color:#eee}.open-note{font-size:14px;margin-top:24px}.line-btn{box-shadow:0 8px 24px #0b318f33}.intro h2,.section>h2{font-family:"Noto Sans JP",sans-serif;font-weight:900;line-height:1.5}.hours-card{display:grid;grid-template-columns:1fr 1fr;max-width:800px;margin:0 auto;border-top:1px solid #ffffff55;border-bottom:1px solid #ffffff55;padding:30px 0}.hours-card>div+div{border-left:1px solid #ffffff55}.hours-card>div>span{font-size:14px;letter-spacing:.12em;color:#d2dfff}.hours-card h3{font-size:23px;margin:8px 0}.hours-card p{font-size:48px;font-weight:800;margin:0}.hours-card p span{font-size:20px}.schedule-note{margin:28px 0 36px}.price .ghost-btn{display:inline-flex}.info{max-width:1280px}.info-grid{gap:40px}.info dd{margin-left:8px}.socials{gap:12px;flex-wrap:wrap;text-decoration:none;max-width:800px;margin:35px auto 45px}.socials a{padding:16px 26px;border:1px solid #ffffff66;border-radius:8px;flex:1;white-space:nowrap;font-weight:700}.socials a:hover{background:#ffffff17}.phone small{font-size:14px}.phone strong{font-size:32px}.contact{background:#0b318f}a:focus-visible,button:focus-visible{outline:3px solid #efae48;outline-offset:6px}.topbar nav.open{background:#0b318ff7}footer p{font-size:12px}.menu{padding:8px 2px;min-height:44px}.scroll{font-size:12px}.lead{font-size:17px}@media(max-width:1000px){.topbar nav{gap:16px}.topbar .small{display:none}.topbar nav{margin-left:auto;margin-right:0}}@media(max-width:760px){.brand{font-size:18px}.brand span{font-size:12px}.hero{min-height:720px;height:94svh;max-height:900px}.hero-copy{width:100%;padding:68px 24px 35px}.hero h1{font-size:clamp(36px,8.6vw,64px)}.concept-label{font-size:14px}.hero-actions{flex-wrap:wrap}.hero-actions .ghost-btn{display:inline-flex}.hero-actions a{padding:12px 19px;font-size:14px}.hero-credit{font-size:12px;bottom:12px}.open-note{font-size:14px}.hours-card{grid-template-columns:1fr;padding:0}.hours-card>div{padding:24px 0}.hours-card>div+div{border-left:0;border-top:1px solid #ffffff55}.hours-card p{font-size:44px}.info dl div{grid-template-columns:82px 1fr}.info dd{font-size:16px}.socials{display:grid;grid-template-columns:1fr 1fr}.socials a{padding:14px 10px}.intro-photo{width:100%;max-width:400px}.section>h2,.intro h2{font-size:30px}.mobile-cta a:first-child{color:#0b318f}.topbar nav{margin:0}.phone strong{font-size:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;transform:none!important}}

:root{--ink:#142447}.hero{background:#081e50}footer{background:#061638}.intro-photo{box-shadow:18px 20px 0 #dce5fa}.intro-photo:after{background:linear-gradient(transparent,#081e50e6)}.intro-photo figcaption{background:linear-gradient(transparent,#081e50dd)}.intro-photo figcaption small{color:#d2dfff}.info dl div{border-color:#d3dced}.intro .section-kicker,.info .section-kicker{color:#0b318f}@media(max-width:760px){.intro-photo{box-shadow:10px 12px 0 #dce5fa}}

.cast{max-width:1280px;margin:auto}.cast .section-kicker{color:#0b318f}.cast>h2{margin-bottom:16px}.cast-note{font-size:14px;color:#526384;margin-bottom:32px}.cast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.cast-card{background:white;border:1px solid #dce5fa;border-radius:20px;overflow:hidden}.cast-card img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block}.cast-card>div{padding:22px}.cast-card h3{font-size:22px;margin:0 0 10px;color:#0b318f}.cast-card p{font-size:16px;margin:0}.topbar nav{gap:16px}.intro-photo img{object-position:center 55%}@media(max-width:1050px) and (min-width:761px){.topbar{padding:0 24px}.topbar nav{gap:12px;font-size:14px}.topbar .brand{font-size:18px}}@media(max-width:760px){.cast-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cast-card>div{padding:16px}.cast-card h3{font-size:18px}.cast-card p{font-size:16px}}@media(max-width:420px){.cast-grid{grid-template-columns:1fr}.cast-card{max-width:340px;width:100%;margin:auto}}
.hero h1{font-size:clamp(1rem,7vw,5.5rem);white-space:nowrap;letter-spacing:0;line-height:1.4}.intro-photo figcaption strong{font-family:"Noto Sans JP",sans-serif;font-size:clamp(1rem,1.7vw,1.35rem);text-align:center}.intro-copy p{line-height:2.1}@media(max-width:760px){.hero h1{font-size:7.1vw}.hero .lead{font-size:16px;letter-spacing:0}.intro-photo figcaption strong{font-size:1.05rem}}
.cast-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.cast-heading h3{margin:0;min-width:0}.cast-x{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border:1px solid #d3dced;border-radius:50%;color:#0b318f;background:#f7f9ff;transition:background .2s,color .2s}.cast-x svg{width:18px;height:18px}.cast-x:hover{background:#0b318f;color:white}.cast-x:focus-visible{outline:3px solid #0b318f;outline-offset:3px}
.opening-calendar{max-width:960px;margin:48px auto 0}.opening-calendar h3{font-size:24px;margin:0 0 20px}.calendar-frame{background:white;border-radius:16px;overflow:hidden;position:relative}.calendar-frame iframe{display:block;width:100%;min-width:0;height:600px;border:0;transform-origin:top left}.calendar-link{display:inline-block;margin-top:16px;font-size:16px;text-decoration:underline;text-underline-offset:4px}@media(max-width:760px){.opening-calendar{margin-top:36px}.calendar-frame{border-radius:10px}.calendar-frame iframe{height:540px}}

.calendar-frame iframe{width:var(--calendar-width,100%);height:600px;transform:scale(var(--calendar-scale,1))!important}.calendar-frame{height:var(--calendar-height,600px)}
