@charset "UTF-8";
:root{
  --navy:#17395f;--blue:#0d5eb8;--sky:#edf6ff;--ink:#223d5a;--muted:#6a7c8e;
  --line:#dce7f0;--white:#fff;--shadow:0 18px 48px rgba(25,70,116,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button{font:inherit}
.container{width:min(1180px,calc(100% - 36px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:44px;height:44px;display:grid;place-items:center;color:white;background:var(--blue);border-radius:50%;font-family:"Yu Mincho",serif;font-size:21px}.brand strong,.brand small{display:block}.brand strong{font-size:17px}.brand small{color:var(--muted);font-size:8px}
.header-nav{display:flex;gap:24px;font-size:12px;font-weight:900}.header-nav .active{color:var(--blue)}
.hero{padding:80px 0;background:linear-gradient(135deg,#eef7ff,#fff5f8)}
.hero-inner{display:flex;align-items:end;justify-content:space-between;gap:40px}.kicker{margin:0 0 12px;color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.2em}.hero h1,.section-heading h2,.cta h2{margin:0;color:var(--navy);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;line-height:1.4}.hero h1{font-size:clamp(40px,5vw,64px)}.lead{margin:20px 0 0;color:var(--muted)}
.season-pills{display:grid;grid-template-columns:1fr 1fr;gap:10px}.season-pills a{min-width:110px;padding:12px 16px;background:white;border:1px solid var(--line);border-radius:999px;text-align:center;font-size:12px;font-weight:900;box-shadow:0 8px 20px rgba(25,70,116,.05)}
.notice{padding:14px 0;color:white;background:var(--blue)}.notice .container{display:flex;justify-content:center;gap:15px;text-align:center;font-size:11px}.notice span{color:#d9ebff}
.section{padding:90px 0}.section-heading{max-width:760px;margin:0 auto 44px;text-align:center}.section-heading.small{max-width:680px}.section-heading h2{font-size:clamp(34px,4vw,50px)}.section-heading>p:last-child{margin:14px 0 0;color:var(--muted)}
.event-stack{display:grid;gap:30px}.event-row{display:grid;grid-template-columns:390px 1fr;overflow:hidden;background:white;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}.poster-area{position:relative;min-height:540px;background:#eef3f8}.poster-area img{width:100%;height:100%;object-fit:cover}.real-chip{position:absolute;left:15px;top:15px;padding:6px 10px;color:white;background:rgba(15,55,90,.75);border-radius:999px;font-size:9px;font-weight:900}.poster-placeholder{height:100%;min-height:540px;display:grid;place-content:center;gap:10px;text-align:center;color:#6e8398;background:linear-gradient(135deg,#eef7ff,#fff9e9)}.poster-placeholder span{font-size:54px}.poster-placeholder strong{font-size:16px}
.event-content{padding:44px}.event-topline{display:flex;justify-content:space-between;gap:12px}.season{font-size:10px;font-weight:900;letter-spacing:.16em}.status{padding:5px 9px;background:#f2f6fa;border-radius:999px;color:#677a8d;font-size:9px;font-weight:900}.month{margin:22px 0 5px;color:var(--blue);font-weight:900}.event-content h3{margin:0;color:var(--navy);font-family:"Yu Mincho",serif;font-size:36px;font-weight:500}.summary{color:var(--muted)}.event-content dl{margin:24px 0 0;border-top:1px solid var(--line)}.event-content dl div{display:grid;grid-template-columns:90px 1fr;padding:12px 0;border-bottom:1px solid var(--line)}.event-content dt{font-size:11px;font-weight:900}.event-content dd{margin:0;font-size:11px}.event-actions{display:flex;align-items:center;gap:12px;margin-top:24px}.detail-btn{padding:11px 20px;color:white;background:var(--blue);border:0;border-radius:999px;font-size:11px;font-weight:900}.event-actions span{color:#8796a4;font-size:9px}
.spring{border-top:5px solid #e97da2}.summer{border-top:5px solid #63b87c}.autumn{border-top:5px solid #e59b31}.winter{border-top:5px solid #6f98d9}
.other-section{background:#f6faff}.other-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.other-grid article{position:relative;min-height:185px;padding:24px;background:white;border:1px solid var(--line);border-radius:20px}.other-icon{font-size:28px}.other-grid h3{margin:13px 0 7px;color:var(--navy);font-size:16px}.other-grid p{margin:0;color:var(--muted);font-size:11px}.confirm{position:absolute;right:14px;top:14px;padding:4px 8px;color:#8b6b00;background:#fff4c9;border-radius:999px;font-size:8px;font-weight:900}
.flow-section{background:white}.flow{display:flex;align-items:center;justify-content:center;gap:10px}.flow>div{flex:1;min-height:145px;padding:20px;text-align:center;background:#f4f8fc;border-radius:18px}.flow span{width:34px;height:34px;display:grid;place-items:center;margin:0 auto 10px;color:white;background:var(--blue);border-radius:50%;font-weight:900}.flow b,.flow small{display:block}.flow b{font-size:13px}.flow small{margin-top:5px;color:var(--muted);font-size:9px}.flow i{font-style:normal;color:#8fa5ba}
.cta{padding:75px 0;color:white;background:linear-gradient(135deg,#163e70,#0c65c6)}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta .kicker.light{color:#c7e1ff}.cta h2{color:white;font-size:clamp(30px,3.5vw,44px)}.cta a{padding:12px 22px;color:var(--blue);background:white;border-radius:999px;font-size:11px;font-weight:900}
footer{padding:26px 0;background:#0c2949;color:white}footer .container{display:flex;justify-content:space-between;gap:20px;font-size:10px}footer span{color:#8eb5dd}
.toast{position:fixed;left:50%;bottom:25px;z-index:99;transform:translateX(-50%) translateY(20px);padding:12px 18px;color:white;background:#183d64;border-radius:999px;font-size:11px;opacity:0;visibility:hidden;transition:.25s}.toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
@media(max-width:900px){.event-row{grid-template-columns:320px 1fr}.poster-area{min-height:450px}.other-grid{grid-template-columns:1fr 1fr}.flow{flex-wrap:wrap}.flow>div{min-width:180px}.flow i{display:none}}
@media(max-width:700px){.header-nav{display:none}.hero{padding:55px 0}.hero-inner{display:block}.season-pills{margin-top:28px}.notice .container{display:block}.notice span{display:block;margin-top:3px}.event-row{grid-template-columns:1fr}.poster-area{min-height:auto}.poster-area img{height:auto;max-height:none}.poster-placeholder{min-height:360px}.event-content{padding:28px 22px}.event-content h3{font-size:31px}.event-content dl div{grid-template-columns:75px 1fr}.event-actions{display:block}.event-actions span{display:block;margin-top:8px}.other-grid{grid-template-columns:1fr}.flow{display:grid}.flow>div{min-height:120px}.cta-inner{display:block}.cta a{display:inline-flex;margin-top:24px}footer .container{display:grid}}

/* Premium Version 2.2.3 - Typography Final Balance Edition */
.flow-title{max-width:none!important;white-space:nowrap;font-size:clamp(32px,3.25vw,46px)!important;letter-spacing:.01em}
.cta-title span{display:block;white-space:nowrap}
@media(max-width:700px){
  .section-heading.small{max-width:100%;padding:0 10px}
  .flow-title{white-space:normal;font-size:clamp(28px,8.2vw,38px)!important;line-height:1.45!important;word-break:keep-all;overflow-wrap:normal}
  .cta-title{font-size:clamp(27px,8vw,36px)!important;line-height:1.55!important}
  .cta-title span{white-space:normal;word-break:keep-all;overflow-wrap:normal}
}
@media(min-width:701px) and (max-width:1100px){
  .section-heading.small{max-width:900px}
  .flow-title{font-size:clamp(30px,3.6vw,42px)!important}
}
/* Production Version 1.0 */
.detail-link{display:inline-flex;padding:11px 20px;color:white;background:var(--blue);border-radius:999px;font-size:11px;font-weight:900}.other-grid article{min-height:170px}.event-row img{object-position:center}.poster-area{overflow:hidden}
/* Premium V1.3 Poster Archive */
.poster-archive{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}.poster-card{display:block;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}.poster-card:hover{transform:translateY(-5px);box-shadow:0 22px 55px rgba(28,72,120,.18)}.poster-image{position:relative;padding:18px;background:#f3f6f9}.poster-image img{width:100%;height:520px;object-fit:contain;background:#fff;border-radius:12px}.poster-image span{position:absolute;right:28px;top:28px;padding:7px 11px;color:#fff;background:rgba(14,93,184,.9);border-radius:999px;font-size:9px;font-weight:900}.poster-copy{padding:22px 24px 26px}.poster-copy p{margin:0;color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.1em}.poster-copy h3{margin:6px 0 12px;color:var(--navy);font-family:"Yu Mincho",serif;font-size:22px;line-height:1.5}.poster-copy small{color:var(--blue);font-weight:900}.archive-note{margin-top:34px;padding:26px 30px;background:#f7faff;border:1px solid var(--line);border-radius:20px}.archive-note strong{color:var(--navy);font-size:18px}.archive-note p{margin:6px 0 0;color:var(--muted)}@media(max-width:980px){.poster-archive{grid-template-columns:1fr 1fr}.poster-image img{height:480px}}@media(max-width:650px){.poster-archive{grid-template-columns:1fr}.poster-image img{height:auto;max-height:none}.poster-copy h3{font-size:20px}}
