@charset "UTF-8";
:root{--blue:#243f67;--red:#d75035;--line:#c7d1dc;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:#fff;color:var(--blue);font-family:var(--serif);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}p{line-height:2.3}a:focus-visible{outline:3px solid var(--red);outline-offset:5px}.skip{position:fixed;top:-80px;left:15px;background:var(--blue);color:#fff;padding:12px;z-index:20}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.event-header{display:flex;align-items:center;justify-content:space-between;padding:32px 6%;gap:30px}.brand{font-size:25px;letter-spacing:.3em;font-weight:600}.brand small{display:block;font:8px/1.5 Arial,sans-serif;letter-spacing:.2em;margin-top:7px}.event-header nav{display:flex;flex-wrap:wrap;gap:30px;font:11px var(--sans)}.event-header nav a{padding:10px 0}.event-header nav a:hover{color:var(--red)}.label{font:10px/1.7 Arial,sans-serif;letter-spacing:.16em}.event-hero{display:grid;grid-template-columns:1fr .8fr;gap:10%;margin:35px 8% 0;align-items:start}.event-art{aspect-ratio:1/1.07;overflow:hidden;position:relative;background:#d64a32}.event-art img{position:absolute;top:0;left:0;width:100%;height:auto}.event-hero-copy{padding:18px 0 0}.event-hero h1{font:500 clamp(42px,5.1vw,76px)/1.02 Arial,sans-serif;letter-spacing:-.04em;margin:27px 0 25px}.event-hero h1 span{font-size:.65em;margin-left:5px}.event-hero h1 i{font-style:normal;color:var(--red)}.event-tagline{font-size:18px;line-height:2;letter-spacing:.08em}.hero-date{margin-top:30px;padding-top:23px;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:15px}.hero-date time{font:31px Arial,sans-serif;letter-spacing:-.02em}.hero-date>span{font:10px var(--sans)}.hero-date strong{grid-column:1/-1;font:18px Arial;margin-top:13px}.hero-date small{grid-column:1/-1;font:12px var(--sans);margin-top:13px}.down-link{display:flex;align-items:center;justify-content:space-between;max-width:280px;margin-top:32px;padding-bottom:15px;font:11px var(--sans)}.down-link span{font-size:24px}.event-index{margin:65px 8% 0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.event-index a{display:flex;gap:15px;align-items:center;padding:24px 10px;font-size:13px}.event-index small{font:9px Arial;color:var(--red)}.event-index a:hover{color:var(--red)}.section{margin:100px 10% 0}.intro{display:grid;grid-template-columns:.8fr 1fr;gap:15%}h2{font-size:34px;font-weight:400;letter-spacing:.08em;line-height:1.85}.intro h2{margin-top:25px;line-height:2}.intro-body>p{font-size:13px;margin-bottom:24px;line-height:2.6}.event-facts{font-family:var(--sans);margin:35px 0 0;font-size:12px}.event-facts>div{display:grid;grid-template-columns:90px 1fr;border-top:1px solid var(--line);padding:16px 0;gap:15px;line-height:1.9}.event-facts dt{font-weight:500}.event-facts dd{margin:0}.event-facts small{font-size:10px}.scenes{padding:40px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.scene-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:27px}.scene-grid span{font:9px Arial;letter-spacing:.12em;color:var(--red)}.scene-grid h3{font-size:21px;font-weight:400;line-height:1.9;margin:18px 0}.scene-grid p{font:12px/2.2 var(--sans);color:#506580}.shop-anchor{scroll-margin-top:20px}.directory{padding-top:40px;border-top:1px solid var(--line)}.section-heading{display:flex;gap:27px;align-items:start}.section-number{font:12px Arial;color:var(--red);padding-top:8px}.section-heading .label{margin-bottom:10px}.section-lead{font-size:14px;line-height:2.3;margin:25px 0 35px 42px}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 35px}.directory-pending{grid-column:1/-1;display:flex;align-items:baseline;gap:35px;border-top:1px solid #e1e7ed;padding:30px 0 10px;font:12px/2 var(--sans)}.pending-label{font:9px Arial;letter-spacing:.14em;color:#6a7e94;white-space:nowrap}.shop-image{aspect-ratio:4/3;margin-bottom:20px;background:#f4f6f8}.shop-category{font:10px var(--sans);margin-bottom:12px;color:#6a7e94}.shop-card h3{font-size:23px;font-weight:400;line-height:1.7}.shop-description{font:12px/2.2 var(--sans);margin-top:15px;white-space:pre-line}.shop-hours{font:11px/2 var(--sans);margin-top:15px}.shop-links{display:flex;gap:15px;flex-wrap:wrap;margin-top:20px}.shop-links a{font:11px/1.8 var(--sans);border-bottom:1px solid var(--line);padding-bottom:3px}.shop-links a:hover{color:var(--red)}.fine-print{font:10px/2 var(--sans);color:#65788e;margin-top:25px}.stage{padding-top:40px;border-top:1px solid var(--line)}.stage h2{font-size:30px}.schedule-notice{font:12px/2 var(--sans);margin-bottom:25px}.schedule-scroll{overflow-x:auto}.schedule{width:100%;border-collapse:collapse;text-align:left;font-family:var(--sans)}.schedule thead{border-top:1px solid var(--blue);border-bottom:1px solid var(--line)}.schedule th,.schedule td{padding:25px 15px 25px 0;vertical-align:top}.schedule thead th{font:10px Arial;letter-spacing:.12em;padding-top:16px;padding-bottom:16px}.schedule tbody tr{border-bottom:1px solid var(--line)}.schedule-time{width:110px;font-size:13px;font-weight:400}.program-type{font:9px Arial;color:var(--red);letter-spacing:.12em}.schedule h3{font:400 17px/1.9 var(--serif);margin-top:8px}.schedule-description{width:38%;font-size:12px;line-height:2.2}.performers{margin-top:38px}.performers h3{font-size:20px;font-weight:400;margin-top:14px}.performers ul{display:flex;gap:15px 35px;list-style:none;padding:0;margin:22px 0;font-size:15px}.event-access{padding-top:50px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:13%}.event-access h2{margin:20px 0 25px}.event-access p{font:12px/2.3 var(--sans)}.text-link{display:flex;justify-content:space-between;max-width:300px;font:12px var(--sans);padding:18px 0;margin-top:25px;border-bottom:1px solid var(--blue)}.access-notes>div{padding:22px 0;border-bottom:1px solid var(--line)}.access-notes h3{font-size:16px;font-weight:400;margin-bottom:15px}footer{margin:90px 6% 0;border-top:1px solid var(--line);padding:40px 0;display:flex;justify-content:space-between;align-items:center;gap:25px}footer p{font:12px/2 Arial}footer p span{font-size:10px}footer>a:last-child{font:10px var(--sans)}
@media(min-width:1500px){body{max-width:1600px;margin:auto}.event-hero h1{font-size:80px}.event-art{max-height:740px}}@media(max-width:900px){.event-hero{gap:6%;margin-left:6%;margin-right:6%}.event-hero-copy{padding-top:0}.event-hero h1{margin:20px 0;font-size:49px}.event-tagline{font-size:16px}.hero-date{margin-top:20px;padding-top:18px}.hero-date time{font-size:26px}.event-index{margin-left:6%;margin-right:6%}.event-index a{gap:8px;font-size:11px;padding:20px 4px}.section{margin-left:7%;margin-right:7%}.intro{gap:8%}.scene-grid{gap:25px}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-header nav{gap:18px}}
@media(max-width:600px){.event-header{padding:24px 6%;align-items:start;gap:20px}.brand{font-size:23px}.brand small{font-size:7px}.event-header nav{justify-content:flex-end;gap:8px 16px;max-width:220px;font-size:10px}.event-header nav a{padding:3px 0}.event-hero{margin:15px 6% 0;display:flex;flex-direction:column;gap:30px}.event-art{width:100%;aspect-ratio:1/1.05}.event-hero-copy{width:100%;position:relative}.event-hero h1{font-size:56px;margin:20px 0 25px}.event-hero .label{font-size:8px}.event-tagline{position:absolute;top:38px;right:3%;writing-mode:vertical-rl;font-size:17px;letter-spacing:.1em;line-height:1.9}.hero-date{grid-template-columns:auto 1fr;margin-top:20px}.hero-date time{font-size:33px}.hero-date strong{font-size:20px}.hero-date small{font-size:12px}.down-link{margin-top:25px;max-width:none}.event-index{grid-template-columns:repeat(2,1fr);margin-top:30px}.event-index a{font-size:12px;padding:19px 8px;border-bottom:1px solid #e5eaf0}.event-index a:last-child{grid-column:1/-1;border-bottom:0}.event-index small{font-size:9px}.section{margin-top:65px;margin-left:8%;margin-right:8%}.intro{display:block}.intro h2{font-size:30px;line-height:1.9}.intro-body{margin-top:35px}.intro-body>p{font-size:13px}.event-facts{font-size:12px}.event-facts>div{grid-template-columns:75px 1fr;gap:12px}.scene-grid{grid-template-columns:1fr;gap:32px}.scene-grid h3{font-size:23px;margin:12px 0}.scene-grid p{font-size:12px}.section-heading{gap:18px}.section-heading h2{font-size:28px}.section-heading .label{font-size:9px}.section-number{font-size:11px}.section-lead{margin-left:0;font-size:13px;margin-top:22px;margin-bottom:25px}.directory-pending{display:block;padding:22px 0 5px}.directory-pending p{margin-top:12px;font-size:12px}.shop-grid{grid-template-columns:1fr;gap:35px}.shop-image{aspect-ratio:4/3}.stage .section-heading h2{font-size:24px;letter-spacing:.03em}.schedule th,.schedule td{padding:20px 10px 20px 0}.schedule-time{width:65px;font-size:12px}.schedule-description{width:40%;font-size:11px}.schedule h3{font-size:15px}.performers ul{flex-wrap:wrap;gap:14px 25px;font-size:14px}.event-access{display:block}.access-notes{margin-top:30px}.event-access h2{font-size:29px}.fine-print{font-size:10px}footer{margin:65px 8% 0;align-items:start;flex-wrap:wrap;padding:30px 0}footer>a:last-child{width:100%;text-align:right;margin-top:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Headings keep each Japanese phrase together at every width. */
.intro{grid-template-columns:minmax(290px,.95fr) minmax(0,1fr);gap:8%}
.intro h2{font-size:clamp(24px,2.7vw,34px);letter-spacing:.05em}
.intro h2 span{display:block;white-space:nowrap}
.section-heading>div,.intro>div,.shop-card{min-width:0}
.sample-notice{margin-top:65px;border-left:2px solid var(--red);padding:5px 0 5px 22px}
.sample-notice .label{color:var(--red)}
.sample-notice p{font:12px/2.1 var(--sans);margin-top:10px}
.sample-label{font:9px/1.5 var(--sans);letter-spacing:.08em;color:var(--red);margin:0 0 12px}
.shop-card .shop-image{overflow:hidden}
.shop-card .shop-image img{transition:transform .5s ease}
.shop-card:hover .shop-image img{transform:scale(1.025)}
.shop-card:nth-child(2) .shop-image img[src$="books.webp"]{object-position:70% 35%}
.shop-card:nth-child(3) .shop-image img[src$="books.webp"]{object-position:20% 75%}
.shop-card h3{font-size:21px;overflow-wrap:anywhere}
.preview-link{font:10px/1.8 var(--sans);color:#65788e;border-bottom:1px solid var(--line);padding-bottom:3px}
.shop-links{gap:10px 15px}
.stage .section-heading h2 span{display:inline-block}
.schedule-time{width:145px;white-space:nowrap;font:13px/2 Arial,sans-serif}
.performers{margin-top:65px;padding-top:40px;border-top:1px solid var(--line)}
.performers .performer-title{font-size:28px;margin:15px 0 20px}
.performer-lead{font-size:14px;margin-bottom:35px}
@media(max-width:800px){.intro{grid-template-columns:1fr;gap:0}.intro-body{margin-top:35px}.intro h2{font-size:30px}.sample-notice{margin-top:45px}.shop-grid{gap:40px 25px}}
@media(max-width:600px){.intro h2{font-size:clamp(21px,6.2vw,30px);letter-spacing:.04em}.stage .section-heading h2{font-size:clamp(19px,5.3vw,24px);line-height:1.8}.stage .section-heading h2 span{display:block;white-space:nowrap}.sample-notice{padding-left:16px}.sample-notice p{font-size:11px}.sample-notice br{display:none}.schedule thead{display:none}.schedule tbody,.schedule tr{display:block}.schedule tbody tr{display:grid;grid-template-columns:85px minmax(0,1fr);gap:0 14px;padding:22px 0}.schedule th,.schedule td{display:block;padding:0;width:auto}.schedule-time{font-size:11px;grid-column:1;grid-row:1/3;padding-top:3px!important}.schedule td:nth-child(2){grid-column:2}.schedule .schedule-description{grid-column:2;margin-top:10px;font-size:12px}.schedule h3{font-size:17px}.performers{margin-top:45px;padding-top:30px}.performers .performer-title{font-size:26px}.performer-lead{font-size:13px}.shop-card h3{font-size:23px}.shop-links{gap:15px}.preview-link{font-size:11px}}
@media(prefers-reduced-motion:reduce){.shop-card .shop-image img{transition:none}.shop-card:hover .shop-image img{transform:none}}

@media(max-width:600px){.event-hero h1{font-size:clamp(46px,14vw,56px)}.event-tagline{position:static;writing-mode:horizontal-tb;font-size:16px;margin-bottom:26px}.schedule tbody tr{grid-template-columns:minmax(0,1fr);gap:12px}.schedule-time{grid-column:1;grid-row:auto;padding-top:0!important}.schedule td:nth-child(2),.schedule .schedule-description{grid-column:1}.schedule .schedule-description{margin-top:0}.schedule h3{margin-top:6px}}

.schedule tbody .schedule-time{vertical-align:middle}


.shop-card .shop-image{aspect-ratio:4/5}


.event-hero .event-art{aspect-ratio:4/5;max-height:none}
.event-art img{clip-path:inset(0 0 24% 0)}
.event-art-date{position:absolute;left:7%;right:7%;bottom:5%;display:flex;align-items:center;justify-content:center;gap:14px;color:#fff;font-family:Arial,sans-serif}
.event-art-date strong{font-size:clamp(23px,2.8vw,42px);font-weight:400;letter-spacing:.01em}
.event-art-date span{font-size:10px;line-height:1.6;letter-spacing:.04em}
@media(max-width:600px){.event-art-date strong{font-size:clamp(25px,7vw,38px)}.event-art-date span{font-size:11px}}

.schedule tbody th,.schedule tbody td{vertical-align:middle}


.event-hero .event-art{background:#db382c}.event-art img{position:static;width:100%;height:100%;object-fit:contain;clip-path:none}
