*{box-sizing:border-box}html{background:#020b18}body{margin:0;background:#020b18;color:#f5f7fb;font-family:"Helvetica Neue",Arial,"Noto Sans JP",sans-serif}a{color:inherit} .schedule-hero{position:relative;width:100%;line-height:0;background:#020a1c}.header-image{display:block;width:100%;height:auto}.hero-hotspots{position:absolute;inset:0;pointer-events:none}.hero-hotspots a,.hero-hotspots button,.hero-hotspots .line-menu{pointer-events:auto}.hero-hotspots .hotspot{position:absolute;display:flex;align-items:center;justify-content:center;text-decoration:none;background:none;border:0;padding:0;cursor:pointer}.hero-hotspots .brand-logo{left:3.2%;top:.4%;width:12%;height:48%}.hero-hotspots .home{left:46.3%;top:10.9%;width:4.5%;height:25.8%}.hero-hotspots .schedule{left:51.3%;top:10.9%;width:6.7%;height:25.8%}.hero-hotspots .artists{left:58.7%;top:10.9%;width:7.3%;height:25.8%}.hero-hotspots .studio{left:66.5%;top:10.9%;width:5%;height:25.8%}.hero-hotspots .contact{left:72.8%;top:10.9%;width:6.3%;height:25.8%}.hero-hotspots .x,.hero-hotspots .instagram,.hero-hotspots .menu{top:8.9%;width:3.6%;height:28%;color:#fff}.hero-hotspots .x{left:81.9%}.hero-hotspots .instagram{left:85.8%}.hero-hotspots .menu{left:93.6%}.hero-hotspots svg{display:block;width:76%;height:76%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.hero-hotspots .menu svg{width:85%;height:85%}.hero-hotspots .x:hover,.hero-hotspots .instagram:hover,.hero-hotspots .menu:hover,.hero-hotspots .line-trigger:hover{color:#9ed1ff}.hero-hotspots:after{content:"";position:absolute;left:79.8%;top:9%;height:29%;width:1px;background:rgba(255,255,255,.65)}.hero-hotspots .line-menu{position:absolute;left:89.7%;top:9%;width:3.6%;height:28%;z-index:20;display:flex;align-items:center;justify-content:center}.hero-hotspots .line-trigger{border:0;background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0;cursor:pointer}.hero-hotspots .line-trigger svg{width:90%;height:90%}.hero-hotspots .line-trigger text{stroke:none;fill:currentColor;paint-order:stroke}.line-popup{position:absolute;top:100%;right:0;width:300px;padding:10px;background:#05142c;box-shadow:0 12px 35px #0009;border:1px solid #406082;opacity:0;visibility:hidden;transition:opacity .18s;line-height:1.5}.line-popup a{display:block;text-decoration:none;padding:12px;background:#10253c;border:1px solid #264762;color:#fff}.line-popup a+a{margin-top:7px}.line-popup-title,.line-popup-url{display:block}.line-popup-title{font-size:13px;font-weight:bold}.line-popup-url{font-size:11px;color:#adc2d7}.line-menu:hover .line-popup,.line-menu:focus-within .line-popup,.line-menu.is-open .line-popup{opacity:1;visibility:visible}.line-popup a:hover{background:#164366}
.schedule-content{max-width:1180px;margin:0 auto;padding:12px 26px 70px}.month-navigation{min-height:110px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;border-bottom:1px solid #26364a}.month-navigation h1{margin:0;padding:6px 20px;display:flex;align-items:baseline;gap:12px;font-family:Georgia,"Noto Serif JP",serif;font-weight:400;background:transparent}.month-navigation h1 small{font-size:27px;font-weight:400}.month-navigation h1 span{font-size:56px;line-height:1.2}.month-link{font-size:17px;text-decoration:none;letter-spacing:.06em;justify-self:center;padding:12px}.month-link:hover{color:#9bd7ff}.month-link.unavailable{opacity:.32;cursor:default}.event-list{display:flex;flex-direction:column}.event-card{display:grid;grid-template-columns:125px 160px minmax(0,1fr) 148px;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid #2b3b51;min-height:260px}.event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;background:transparent;padding:16px 6px;gap:7px;font-family:Georgia,"Noto Serif JP",serif}.date-num{font-size:35px;line-height:1.2;white-space:nowrap}.date-weekday{font-size:26px;line-height:1.2}.date-weekday.sat{color:#82beff}.date-weekday.sun{color:#ff9696}.daypart{margin-top:6px;padding:6px 18px;min-width:80px;text-align:center;background:#1d5182;color:#e8f6ff;font-size:13px;font-family:Arial,sans-serif}.event-flyer{width:160px;align-self:center}.flyer-open{display:block}.flyer-image,.flyer-placeholder{display:block;width:100%;aspect-ratio:210/297;object-fit:cover;border:1px solid #59687a}.flyer-open:hover .flyer-image{border-color:#a5dcff;filter:brightness(1.08)}.flyer-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#1b2637;color:#8b9bb0;font-family:Georgia,serif}.flyer-placeholder span{font-size:23px}.flyer-placeholder small{font-size:10px;letter-spacing:.12em;margin-top:8px}.event-content{min-width:0;min-height:200px;padding:20px 22px;display:flex;flex-direction:column;align-items:flex-start;background:transparent}.title-tag{background:#505d70;color:white;font-weight:400;font-size:14px;padding:5px 11px;border-radius:3px}.event-content h2{font-size:clamp(20px,2.15vw,32px);line-height:1.4;margin:17px 0 8px;font-weight:700;overflow-wrap:anywhere}.event-subtitle{color:#bbc9d9;font-size:14px;margin:0 0 12px}.event-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:100%;margin-top:auto;padding-top:13px}.fact{display:flex;flex-direction:column;gap:10px;min-width:0}.fact-label{display:inline-block;background:#505d70;color:#fff;font-weight:400;font-size:14px;line-height:1;padding:5px 11px;border-radius:3px;width:max-content}.fact strong{font-size:clamp(14px,1.3vw,18px);font-weight:600;line-height:1.5;overflow-wrap:anywhere}.fact small{font-size:12px;color:#bcd1df;margin-top:-6px}.detail-area{height:80%;display:flex;align-items:center;justify-content:center;border-left:1px solid #2b3a52}.event-detail{display:flex;align-items:center;gap:10px;text-decoration:none;white-space:nowrap;font-size:14px}.event-detail:not(.muted):hover{color:#8dceff}.event-detail.muted{color:#8797ab}.detail-arrow{width:29px;height:29px;border:2px solid #3b9bdf;color:#b8e6ff;border-radius:50%;font-size:23px;display:flex;align-items:center;justify-content:center;line-height:1}.schedule-footer{text-align:center;font-size:12px;color:#a6b0be;letter-spacing:.08em;padding:0 20px 32px}
@media(max-width:1000px){.schedule-content{padding:10px 18px 50px}.event-card{grid-template-columns:105px 128px minmax(0,1fr);gap:15px;min-height:240px}.event-flyer{width:128px}.detail-area{grid-column:3;border:0;height:auto;justify-content:flex-start;margin-top:-12px}.event-content h2{font-size:clamp(19px,2.4vw,28px)}.date-num{font-size:30px}.date-weekday{font-size:22px}}
@media(max-width:650px){.schedule-hero{min-width:650px;left:50%;transform:translateX(-50%);width:650px;margin-bottom:0}.schedule-content{padding:12px 12px 42px}.month-navigation{min-height:86px}.month-navigation h1{padding:6px 12px;background:transparent}.month-navigation h1 small{font-size:18px}.month-navigation h1 span{font-size:37px}.month-link{font-size:14px;padding:7px}.event-card{grid-template-columns:88px minmax(0,1fr);gap:10px;padding:17px 0;align-items:start;min-height:0}.event-date{min-height:133px;padding:12px 4px}.date-num{font-size:25px}.date-weekday{font-size:19px}.daypart{min-width:64px;padding:5px 8px}.event-flyer{grid-column:1;width:88px;grid-row:2}.event-content{grid-column:2;grid-row:1 / span 2;min-height:230px;padding:15px 12px}.event-content h2{font-size:20px;margin:15px 0 8px}.event-facts{grid-template-columns:1fr;gap:12px;padding-top:12px}.fact{gap:5px}.fact strong{font-size:16px}.detail-area{grid-column:2;margin-top:0;padding:0 0 7px}.event-detail{font-size:13px}.flyer-placeholder span{font-size:17px}.flyer-placeholder small{font-size:8px}.schedule-footer{padding:0 8px 25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* 2026-10-12: blend schedule text area into page background */
.event-content{box-shadow:none;}
.event-content .event-subtitle{background:transparent;}

/* Schedule detail links: stable circular vector icon at all zoom levels */
.detail-arrow{width:30px;height:30px;min-width:30px;min-height:30px;flex:0 0 30px;box-sizing:border-box;border:2px solid #3b9bdf;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:0;vertical-align:middle;overflow:hidden;}
.detail-arrow svg{display:block;width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.event-detail{display:inline-flex;align-items:center;gap:10px;}

/* BLUE: the calendar hero may not force a 650px-wide page on phones. */
@media (max-width:650px) {
 html,body {max-width:100%;overflow-x:clip;}
 .schedule-hero {min-width:0!important;width:100%!important;left:auto!important;transform:none!important;}
 .schedule-content {max-width:100%;}
 .month-navigation {grid-template-columns:1fr auto 1fr;gap:4px;}
 .month-navigation h1 {padding:4px;gap:4px;}
 .month-navigation h1 span {font-size:clamp(26px,8vw,37px);}
 .month-navigation h1 small {font-size:15px;}
 .month-link {font-size:11px;padding:5px 2px;}
}
