@charset "UTF-8";
:root{--green:#4A6947;--deep:#272d27;--orange:#FF6B00;--paper:#F4F1EB;--white:#fff;--ink:#272d27;--line:#D8D0C1;--display:Impact,"Arial Narrow",sans-serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.8}body.dialog-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}button,a,summary{touch-action:manipulation}img{display:block;max-width:100%;height:auto}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:6px}button:disabled{cursor:default}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.35}button{color:inherit}::selection{background:var(--orange);color:#fff}section{scroll-margin-top:96px}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.skip{position:fixed;top:-80px;left:16px;z-index:100;background:#fff;padding:12px}.skip:focus{top:10px}.kicker{font:16px/1.2 var(--display);letter-spacing:.13em}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 28px;background:var(--orange);color:var(--white);border:2px solid transparent;text-decoration:none;font-weight:800;line-height:1.45;transition:background .2s,transform .2s}.button:hover{background:var(--orange);transform:translateY(-2px)}.button.secondary{background:transparent;border-color:currentColor;color:var(--green)}.button.secondary:hover{background:var(--green);color:var(--paper)}.text-link{text-underline-offset:6px;text-decoration-thickness:1px;font-weight:700}.text-link:hover{color:var(--orange)}
.site-header{height:88px;background:var(--paper);border-bottom:1px solid var(--green);position:sticky;top:0;z-index:20}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:28px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;line-height:1.25;flex-shrink:0}.brand-mark{font:46px/1 var(--display);letter-spacing:-.07em;color:var(--green)}.brand-jp{font-size:14px;font-weight:900}.brand-jp small{display:block;font-size:12px;letter-spacing:.14em;margin-top:4px}.main-nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:800}.main-nav a{text-decoration:none}.main-nav a:not(.nav-ticket):hover{color:var(--orange)}.main-nav .nav-ticket{padding:12px 20px;background:var(--green);color:var(--paper)}.menu-toggle{display:none;background:none;border:1px solid var(--green);padding:8px 12px;font-weight:700;min-height:44px}
.brand-logo{display:block;width:auto;height:68px}
@media(max-width:760px){.brand-logo{height:54px}}
.hero{background:var(--green);color:var(--paper);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;min-height:760px;padding:54px 0 64px}.hero-kicker{display:flex;align-items:center;gap:16px;margin-bottom:22px}.hero-kicker .edition{background:var(--orange);color:var(--white);padding:5px 12px;font:18px/1.4 var(--display);letter-spacing:.05em}.hero-title{font:clamp(84px,8.5vw,128px)/.91 var(--display);letter-spacing:-.025em;max-width:100%}.hero-title span{display:block}.hero-title .outline{-webkit-text-stroke:1.5px var(--paper);color:transparent}.hero-title .fest-line{display:flex;align-items:baseline;gap:14px}.hero-title .year{font-size:.43em;letter-spacing:0;color:var(--orange);-webkit-text-stroke:0}.hero h1{font-size:clamp(21px,2.4vw,32px);font-weight:900;margin:26px 0 16px;letter-spacing:.02em}.hero-description{font-size:16px;line-height:1.9;max-width:32em;opacity:.93}.hero-actions{display:flex;gap:25px;align-items:center;margin-top:26px;flex-wrap:wrap}.hero-actions .text-link{font-size:14px}.hero-actions .button{min-width:206px}.hero-art{position:relative;padding:28px 25px 10px 15px}.hero-poster{width:100%;max-width:440px;transform:rotate(4deg);position:relative;z-index:2;margin:auto;box-shadow:16px 20px 0 var(--deep);border:1px solid rgba(255,255,255,.25)}.poster-back{position:absolute;width:71%;right:-5%;top:5%;transform:rotate(-7deg);opacity:.46;z-index:1;border:1px solid rgba(255,255,255,.3)}.hero-art .vertical{position:absolute;right:-22px;top:36%;writing-mode:vertical-rl;font:14px/1 var(--display);letter-spacing:.22em;z-index:4}.date-sticker{position:absolute;left:-25px;bottom:0;z-index:5;background:var(--orange);color:var(--white);padding:13px 22px;transform:rotate(-6deg);font:42px/1 var(--display);box-shadow:5px 5px 0 var(--deep)}.date-sticker span{display:block;font:13px/1.5 var(--sans);font-weight:800;letter-spacing:.08em;margin-top:6px}.hero-meta{border-top:1px solid rgba(244,241,235,.4);display:grid;grid-template-columns:1.1fr 1fr 1.2fr;padding:26px 0 30px;gap:32px}.hero-meta .label{display:block;font:13px/1.2 var(--display);letter-spacing:.12em;margin-bottom:10px}.hero-meta .value{font-size:19px;line-height:1.5;font-weight:800}.hero-meta .date-value{font:40px/1 var(--display);letter-spacing:.025em}.hero-meta .date-value small{font-size:20px}.genre-band{position:relative;overflow:hidden;background:var(--orange);color:var(--white);padding:14px 0;font:clamp(14px,1.9vw,24px)/1.2 var(--display);letter-spacing:.075em}.genre-band span{display:inline-block}
.scenery{--parallax-range:100px;position:relative;isolation:isolate;overflow:hidden;background:var(--deep);min-height:660px}
.scenery-layer{position:absolute;top:calc(0px - var(--parallax-range));bottom:calc(0px - var(--parallax-range));left:0;right:0;transform:translate3d(0,var(--scenery-shift,0px),0);pointer-events:none}
.scenery-layer img{width:100%;height:100%;object-fit:cover;object-position:50% 75%}
.scenery.is-parallax-active .scenery-layer{will-change:transform}
.photo-credit{font-size:12px;color:var(--ink);margin-top:13px;line-height:1.7}.photo-credit a{text-underline-offset:3px}
@media(max-width:760px){.scenery{--parallax-range:55px;min-height:560px}.scenery-layer img{object-position:53% 75%}}
.intro{padding:94px 0 88px;display:grid;grid-template-columns:.85fr 1.15fr;gap:68px}.intro h2{color:var(--green);font-size:clamp(31px,3.5vw,48px);font-weight:900;letter-spacing:.01em;line-height:1.55}.intro .kicker{color:var(--green);margin-bottom:23px}.intro-text{display:flex;align-items:flex-end;padding-bottom:7px;max-width:41em;font-size:18px;line-height:2}.section-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:30px}.section-head .kicker{color:var(--green);margin-bottom:8px}.section-head h2{color:var(--green);font:clamp(58px,6vw,88px)/1 var(--display);letter-spacing:-.02em}.section-head h2 small{font:18px/1.4 var(--sans);font-weight:800;letter-spacing:.03em;display:inline-block;margin-left:18px;vertical-align:middle}.section-head .section-note{font-size:14px;max-width:24em}.lineup{border-top:1px solid var(--line);padding:76px 0 92px}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 35px}.filter{border:1px solid var(--green);background:transparent;color:var(--green);padding:10px 21px;font-size:14px;font-weight:800;min-height:44px}.filter[aria-pressed=true]{background:var(--green);color:var(--paper)}.filter:hover{background:var(--orange);color:var(--white);border-color:var(--orange)}.artist-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 20px}.artist-card{min-width:0}.poster-button{display:block;background:var(--green);width:100%;padding:0;border:0;text-align:left;overflow:hidden;position:relative}.poster-button img{width:100%;aspect-ratio:1144/1418;object-fit:contain;transition:transform .35s}.poster-button:hover img{transform:scale(1.035)}.poster-button .expand{position:absolute;bottom:12px;right:12px;background:var(--paper);color:var(--green);padding:5px 10px;font-size:12px;font-weight:700;opacity:0;transition:opacity .2s}.poster-button:hover .expand,.poster-button:focus-visible .expand{opacity:1}.artist-role{display:block;font:12px/1.5 var(--display);letter-spacing:.12em;margin-top:15px;color:var(--ink)}.artist-card h3{font-size:clamp(19px,2.1vw,27px);font-weight:900;overflow-wrap:anywhere;margin-top:3px}.artist-card .sub-name{font-size:13px;color:var(--ink);margin-top:4px}.extra-group{margin-top:40px;padding-top:26px;border-top:1px solid var(--line)}.extra-group h3{font:18px/1.2 var(--display);letter-spacing:.1em;color:var(--green);margin-bottom:16px}.name-list{display:flex;flex-wrap:wrap;gap:12px 28px;list-style:none;padding:0;margin:0}.name-list li{font-size:clamp(18px,2vw,25px);line-height:1.5;font-weight:800}.name-list li small{font-size:13px;font-weight:500;color:var(--ink);white-space:nowrap}.studios{margin-top:42px;padding:26px 30px;background:#ECE6DB}.studios .name-list li{font-size:18px}.studios h3{color:var(--green);font:18px/1.2 var(--display);letter-spacing:.09em;margin-bottom:16px}.lineup-status{font-size:14px;margin-left:auto;align-self:center}.lineup-foot{font-size:13px;color:var(--ink);margin-top:30px}
.harvest{background:var(--green);color:var(--paper);padding:80px 0 90px}.harvest .section-head .kicker{color:var(--paper)}.harvest .section-head h2{color:var(--paper);font-size:clamp(57px,6vw,83px)}.harvest-lead{color:var(--paper);font-size:18px;margin-bottom:40px;max-width:41em}.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.experience{background:var(--paper);color:var(--ink);padding:29px 28px 32px;position:relative;border-top:8px solid var(--green)}.experience:nth-child(2){background:var(--green);color:var(--paper);border:1px solid var(--paper);border-top-width:8px}.experience:nth-child(2) h3{color:var(--paper)}.experience .place-label{font:16px/1 var(--display);letter-spacing:.1em}.experience .place-number{font:83px/1 var(--display);letter-spacing:-.02em;margin:17px 0 14px}.experience h3{color:var(--green);font-size:24px;font-weight:900;margin-bottom:16px}.experience p{font-size:16px;line-height:1.9}.experience ul{padding-left:1.1em;margin:20px 0 0;line-height:1.9}.experience .vendors{font-size:14px;line-height:1.85;border-top:1px solid currentColor;padding-top:16px;margin-top:22px}.experience .vendors strong{display:block;font-size:14px;margin-bottom:6px}.harvest-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:35px;padding-top:25px;border-top:1px solid rgba(39,45,39,.5)}.harvest-footer strong{font-size:26px;font-weight:900}.harvest-footer p{font-size:14px}
.tickets{padding:87px 0 90px}.ticket-intro{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:30px}.bonus{display:flex;align-items:center;gap:13px;font-size:16px}.bonus b{background:var(--green);color:var(--paper);padding:6px 12px;font-size:14px;white-space:nowrap}.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--green)}.price-card{padding:29px 30px;border-right:1px solid var(--green)}.price-card:last-child{border:0}.price-label{font-size:16px;font-weight:800}.price-card .price{font:clamp(50px,5.5vw,75px)/1.15 var(--display);letter-spacing:-.025em;margin-top:14px}.price .yen{font:18px/1 var(--sans);font-weight:800;margin-left:6px}.price-card .price-note{font-size:14px;margin-top:13px}.price-card:first-child{background:var(--green);color:var(--paper)}.ticket-perks{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:26px 0}.perk{border-left:4px solid var(--orange);padding:9px 0 9px 20px}.perk h3{color:var(--green);font-size:18px;font-weight:800;margin-bottom:5px}.perk p{font-size:14px}.student-note{border:1px solid var(--line);padding:22px 26px;margin-top:24px}.student-note strong{color:var(--green);font-size:17px;display:block;margin-bottom:8px}.student-note p{font-size:14px;margin:3px 0}.purchase{background:#ECE6DB;margin-top:34px;padding:35px 36px}.purchase h3{color:var(--green);font-size:24px;margin-bottom:20px}.purchase-buttons{display:grid;grid-template-columns:1fr 1fr;gap:14px}.purchase-buttons .button{min-height:60px}.code-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:19px;font-size:14px}.code-row b{font:26px/1 var(--display);letter-spacing:.1em}.copy-button{border:1px solid var(--green);padding:6px 12px;background:transparent;font-size:13px;min-height:40px}.copy-button:hover{background:var(--green);color:var(--paper)}.copy-result{font-size:13px;min-height:1.5em}.local-ticket{padding-top:24px;border-top:1px solid #D8D0C1;margin-top:24px;font-size:14px}.local-ticket h4{font-size:16px;margin:0 0 6px}.ticket-note{font-size:13px;margin-top:20px;color:var(--ink)}.ticket-flyer{margin-top:21px;font-size:14px;background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:5px;color:var(--green)}
.access{background:var(--green);color:var(--paper);padding:80px 0}.access .section-head .kicker{color:var(--paper)}.access .section-head h2{color:var(--paper)}.access-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px}.venue-name{font-size:clamp(26px,3vw,40px);font-weight:900;margin:16px 0}.venue-address{font-size:16px;line-height:1.9;margin-bottom:26px}.access .button.secondary{color:var(--paper)}.venue-index{border:1px solid rgba(244,241,235,.4);padding:28px 30px;display:flex;flex-direction:column;justify-content:space-between}.venue-index .index-kicker{font:16px/1 var(--display);letter-spacing:.12em}.venue-index .index-date{font:64px/1 var(--display);letter-spacing:-.02em;margin:25px 0 15px}.venue-index .index-date small{font-size:24px}.venue-index .time-row{display:flex;gap:30px;font-size:14px;margin-bottom:25px}.time-row strong{display:block;font:25px/1.4 var(--display)}.venue-index .venue-line{border-top:1px solid rgba(244,241,235,.4);padding-top:19px;font-size:14px}.contact-row{margin-top:37px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.contact-row p{font-size:14px}.phone{font:28px/1.3 var(--display);letter-spacing:.05em;text-underline-offset:6px}
.faq{padding:75px 0 80px;display:grid;grid-template-columns:.6fr 1.4fr;gap:60px}.faq .kicker{color:var(--green);margin-bottom:12px}.faq h2{color:var(--green);font:62px/1 var(--display)}.faq .subheading{font-size:18px;font-weight:700;margin-top:18px}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{position:relative;cursor:pointer;font-size:17px;font-weight:800;padding:21px 36px 21px 0;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"＋";position:absolute;right:2px;top:21px;color:var(--green);font-size:22px;line-height:1.4}.faq details[open] summary::after{content:"−"}.faq details p{font-size:15px;padding:0 0 23px;line-height:1.9}.final-cta{background:var(--green);color:var(--paper);padding:64px 0}.final-inner{display:flex;align-items:center;justify-content:space-between;gap:36px}.final-cta .kicker{margin-bottom:14px}.final-cta h2{font-size:clamp(29px,3.2vw,45px);font-weight:900}.final-cta .button{min-width:245px}.footer{background:var(--deep);color:var(--white);padding:40px 0 35px}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;padding-bottom:25px;border-bottom:1px solid #ffffff33}.footer-title{font-weight:900;font-size:20px}.footer-links{display:flex;gap:25px;flex-wrap:wrap;font-size:14px}.footer .copyright,.footer .photo-credit,.footer .map-credit{color:inherit}.credits{font-size:13px;line-height:1.9;padding-top:22px}.credits p{margin-bottom:4px}.credits b{font-weight:700;margin-right:12px}.copyright{font-size:12px;letter-spacing:.04em;margin-top:25px;color:var(--ink)}.mobile-ticket{display:none}
.image-dialog{padding:0;border:0;background:var(--paper);color:var(--ink);max-width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;width:auto}.image-dialog::backdrop{background:rgba(39,45,39,.88)}.dialog-top{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;background:var(--paper);padding:12px 18px;gap:22px;z-index:2;border-bottom:1px solid var(--line)}.dialog-top h2{font-size:18px}.dialog-close{background:var(--green);color:var(--paper);border:0;padding:9px 14px;font-size:14px;min-height:42px}.dialog-image{width:100%;max-width:650px;max-height:none;object-fit:contain}.dialog-note{padding:12px 18px;font-size:13px}.noscript{padding:12px;background:#ECE6DB;font-size:14px}
@media(min-width:1500px){.hero-grid{min-height:790px}.hero-title{font-size:138px}.hero-poster{max-width:465px}}
@media(max-width:1100px){.wrap{width:calc(100% - 60px)}.main-nav{gap:18px}.brand-jp{display:none}.hero-grid{gap:28px;min-height:650px}.hero-title{font-size:clamp(80px,10.2vw,112px)}.hero-art{padding-right:22px}.hero-art .vertical{right:-12px}.date-sticker{left:-8px;font-size:34px}.intro{gap:36px}.experience{padding-inline:22px}.experience h3{font-size:21px}.access-grid{gap:40px}.section-head h2 small{display:block;margin:10px 0 0}.price-card{padding-inline:24px}}
@media(max-width:760px){html{scroll-padding-top:82px}.wrap{width:calc(100% - 40px)}.site-header{height:72px}.brand-mark{font-size:39px}.brand-jp{display:block;font-size:12px}.brand-jp small{font-size:12px}.menu-toggle{display:block;font-size:13px}.main-nav{display:none;position:absolute;left:0;right:0;top:72px;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--green);padding:10px 20px 20px;box-shadow:0 15px 20px #272d2720}.main-nav.is-open{display:flex}.main-nav a{padding:14px 10px;font-size:16px}.main-nav .nav-ticket{text-align:center;margin-top:8px;padding:14px}.hero-grid{grid-template-columns:1fr;gap:26px;padding:34px 0 40px;min-height:0}.hero-title{font-size:clamp(79px,19vw,139px)}.hero-kicker{margin-bottom:20px;gap:12px}.hero-kicker .kicker{font-size:13px}.hero-kicker .edition{font-size:16px}.hero h1{font-size:22px;margin:22px 0 14px}.hero-description{font-size:15px;line-height:1.9}.hero-actions{gap:22px;margin-top:22px}.hero-actions .button{padding:13px 22px;min-width:190px}.hero-art{width:min(370px,87%);margin:12px auto 8px;padding:0 12px 16px}.hero-poster{box-shadow:10px 12px 0 var(--deep)}.poster-back{right:-5%;top:2%}.hero-art .vertical{right:-23px;font-size:12px}.date-sticker{left:-17px;bottom:5px;font-size:32px;padding:11px 18px}.date-sticker span{font-size:12px}.hero-meta{grid-template-columns:1fr 1fr;gap:22px;padding:25px 0}.hero-meta>div:last-child{grid-column:1/-1}.hero-meta .date-value{font-size:36px}.hero-meta .value{font-size:16px}.hero-meta .date-value small{font-size:17px}.genre-band{font-size:14px;line-height:1.6;min-height:44px;padding:10px 0;letter-spacing:.04em}.intro{padding:57px 0;grid-template-columns:1fr;gap:22px}.intro .kicker{margin-bottom:16px}.intro h2{font-size:32px;line-height:1.55}.intro-text{font-size:16px}.lineup{padding:50px 0 56px}.section-head{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:22px}.section-head h2{font-size:61px}.section-head h2 small{display:inline-block;font-size:15px;margin:0 0 0 13px}.section-head .section-note{font-size:13px}.filter-row{margin:23px 0 26px;gap:7px}.filter{font-size:13px;padding:9px 15px}.lineup-status{width:100%;margin:5px 0 0;font-size:13px}.artist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 13px}.artist-card h3{font-size:21px}.artist-role{font-size:12px;margin-top:10px;letter-spacing:.06em}.artist-card .sub-name{font-size:12px}.poster-button .expand{display:none}.extra-group{margin-top:27px;padding-top:22px}.name-list{gap:11px 22px}.name-list li{font-size:20px}.studios{margin-top:27px;padding:23px 21px}.studios .name-list li{font-size:16px}.lineup-foot{font-size:12px}.harvest{padding:52px 0}.harvest .section-head h2{font-size:57px}.harvest-lead{font-size:16px;margin-bottom:27px}.experience-grid{grid-template-columns:1fr;gap:18px}.experience{padding:26px}.experience .place-number{font-size:70px;margin:14px 0 14px}.experience h3{font-size:24px}.experience .vendors{font-size:14px}.harvest-footer{display:block;margin-top:27px}.harvest-footer strong{font-size:24px}.harvest-footer p{margin-top:12px}.tickets{padding:53px 0}.ticket-intro{display:block}.bonus{font-size:14px;align-items:flex-start}.bonus b{font-size:12px}.price-grid{grid-template-columns:1fr}.price-card{padding:24px 25px;border-right:0;border-bottom:1px solid var(--green);display:grid;grid-template-columns:1fr auto;gap:3px 14px;align-items:center}.price-card .price{font-size:54px;grid-column:2;grid-row:1/3;margin:0}.price .yen{font-size:16px;margin-left:3px}.price-card .price-note{margin-top:4px;font-size:13px}.ticket-perks{grid-template-columns:1fr;gap:17px}.perk h3{font-size:17px}.student-note{padding:20px}.student-note strong{font-size:16px}.purchase{padding:26px 21px}.purchase h3{font-size:21px}.purchase-buttons{grid-template-columns:1fr;gap:12px}.code-row{gap:12px}.copy-result{width:100%}.ticket-note{font-size:12px}.access{padding:53px 0}.access-grid{grid-template-columns:1fr;gap:30px}.venue-name{font-size:27px}.venue-address{font-size:15px}.venue-index{padding:24px}.venue-index .index-date{font-size:61px;margin-top:20px}.contact-row{margin-top:29px;gap:12px}.phone{font-size:27px}.faq{padding:53px 0;grid-template-columns:1fr;gap:29px}.faq h2{font-size:55px}.faq .subheading{display:inline-block;margin:0 0 0 12px;font-size:16px}.faq summary{font-size:16px}.faq details p{font-size:14px}.final-cta{padding:42px 0}.final-inner{display:block}.final-cta h2{font-size:29px}.final-cta .button{margin-top:26px;width:100%}.footer{padding:32px 0 102px}.footer-top{display:block}.footer-title{font-size:18px}.footer-links{margin-top:20px;gap:15px;font-size:13px}.credits{font-size:12px;line-height:1.9}.copyright{font-size:12px}.mobile-ticket{display:flex;align-items:center;justify-content:space-between;gap:15px;position:fixed;bottom:0;left:0;right:0;z-index:19;background:var(--paper);border-top:1px solid var(--green);padding:11px 20px max(11px,env(safe-area-inset-bottom));box-shadow:0 -4px 20px #272d270c}.mobile-ticket small{display:block;font-size:12px;line-height:1.3}.mobile-ticket strong{font:27px/1.2 var(--display)}.mobile-ticket strong span{font:13px/1 var(--sans)}.mobile-ticket .button{min-height:45px;padding:10px 20px;font-size:14px}.image-dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.dialog-top{padding:10px 13px}.dialog-top h2{font-size:16px}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.brand-jp{font-size:12px}.brand-jp small{letter-spacing:.04em}.hero-title{font-size:20vw}.hero-actions{gap:15px}.hero-actions .button{min-width:0;font-size:14px}.hero-actions .text-link{font-size:13px}.hero h1{font-size:20px}.section-head h2{font-size:55px}.section-head h2 small{font-size:14px;margin-left:10px}.price-card .price{font-size:47px}.artist-card h3{font-size:18px}.mobile-ticket{padding-inline:16px}}
@media(max-width:760px){.hero-description,.venue-address,.faq details p{font-size:16px}.menu-toggle,.filter,.copy-button{font-size:14px}.experience .vendors{font-size:16px}.section-head h2 small{vertical-align:baseline}}
@media(max-width:380px){.hero-meta{grid-template-columns:1fr}.hero-meta>div:last-child{grid-column:auto}.section-head h2 small{display:block;margin:10px 0 0}.hero-title .fest-line{gap:10px}}
.hero{position:relative;isolation:isolate}
.hero-grid,.hero-meta{position:relative;z-index:2}
.hero-art{width:76%;max-width:460px;justify-self:end}
.hero-map{position:absolute;z-index:1;width:min(980px,86vw);aspect-ratio:1000/900;left:50%;top:12px;transform:translateX(-65%);pointer-events:none}
.hero-map-shape{width:100%;height:100%}
.map-location{position:absolute;left:var(--honbetsu-x);top:var(--honbetsu-y);width:0;height:0}
.map-point{position:absolute;left:-7px;top:-7px;width:14px;height:14px;border:3px solid var(--paper);border-radius:50%;background:var(--orange);box-shadow:0 0 0 7px #FF6B0030,0 2px 8px #272d274d}
.map-label{position:absolute;bottom:22px;left:16px;color:var(--paper);font:24px/1.25 var(--display);white-space:nowrap;text-shadow:0 2px 5px #272d27;letter-spacing:.04em}
.map-label::before{content:"";width:19px;height:1px;background:var(--paper);position:absolute;left:-16px;bottom:-9px;transform:rotate(-45deg);transform-origin:left center}
.map-label small{display:block;font:14px/1.4 var(--display);letter-spacing:.18em;margin-top:4px}
.map-credit{font-size:12px;color:var(--ink);margin-top:13px;line-height:1.7}
.map-credit a{text-underline-offset:3px}
@media(min-width:1500px){.hero-map{width:1080px;top:-20px;transform:translateX(-65%)}.hero-art{max-width:470px}}
@media(max-width:1100px) and (min-width:761px){.hero-map{width:850px;top:12px;transform:translateX(-67%)}.hero-art{width:72%}.map-label{font-size:21px;left:12px}.map-label small{font-size:13px}}
@media(max-width:760px){.hero-map{width:min(330px,90vw);left:auto;right:-5px;top:35px;transform:none}.hero-title{font-size:clamp(52px,16vw,98px);max-width:75%}.hero-title .fest-line{gap:8px}.hero-art{width:min(370px,87%);max-width:none;justify-self:auto}.map-point{width:11px;height:11px;left:-5.5px;top:-5.5px;border-width:2px;box-shadow:0 0 0 5px #FF6B0025}.map-label{font-size:16px;left:5px;bottom:25px;text-shadow:0 1px 3px #272d27}.map-label small{font-size:12px;letter-spacing:.1em;margin-top:3px}.map-label::before{width:17px;left:-5px;bottom:-10px}.map-credit{font-size:12px}}
@media(max-width:380px){.hero-title{font-size:clamp(50px,16vw,60px)}.hero-map{top:33px;right:-8px}.map-label{font-size:15px;left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scenery-layer{transform:none!important;will-change:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
.menu-toggle{width:44px;height:44px;padding:10px;border:0;flex-shrink:0}
.menu-icon{display:flex;flex-direction:column;gap:5px;width:24px}
.menu-icon span{display:block;width:24px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
.menu-toggle[aria-expanded=true] .menu-icon span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-icon span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] .menu-icon span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.artist-profile-link{display:block;text-decoration:none}
.artist-profile-link:hover .expand,.artist-profile-link:focus-visible .expand{opacity:1}
.artist-profile-link:hover .poster-button img{transform:scale(1.035)}
.artist-card.has-photo .artist-profile-link .poster-button img{object-fit:cover;object-position:var(--photo-position,50% 25%);transform:none}
.artist-details-link{display:inline-block;font-size:14px;font-weight:700;margin-top:12px;border-bottom:1px solid var(--line);padding-bottom:3px}
.artist-profile-link:hover .artist-details-link{color:var(--orange);border-color:var(--orange)}
.profile-heading{background:var(--green);color:var(--paper);padding:30px 0 50px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;line-height:1.7;margin-bottom:43px;color:#F4F1EBc9}
.breadcrumbs a{text-underline-offset:4px}.profile-heading .kicker{color:var(--paper);margin-bottom:15px}
.profile-heading h1{font:clamp(49px,6.5vw,94px)/1.15 var(--display);letter-spacing:-.02em;overflow-wrap:anywhere}
.profile-subtitle{font-size:17px;font-weight:700;margin-top:15px;line-height:1.8}
.profile-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:75px;padding:65px 0 60px;align-items:start}
.profile-poster{margin:0;position:sticky;top:116px}
.profile-poster img{aspect-ratio:auto}
.profile-poster figcaption{font-size:12px;margin-top:12px;color:var(--ink)}
.profile-copy{min-width:0}
.profile-biography>h2,.profile-socials>h2{color:var(--green);font:24px/1.3 var(--display);letter-spacing:.08em;padding-bottom:17px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.profile-biography>h2 small{font:14px/1.6 var(--sans);letter-spacing:0;margin-left:15px}
.profile-biography p,.profile-biography li{font-size:18px;line-height:2.1;letter-spacing:.02em;overflow-wrap:anywhere}
.profile-biography p+p{margin-top:22px}
.profile-subsection{margin-top:30px}
.profile-subsection h3{color:var(--green);font:18px/1.5 var(--display);letter-spacing:.09em;margin-bottom:13px}
.profile-subsection ul{margin:0;padding-left:1.2em}.profile-subsection li+li{margin-top:9px}
.profile-biography .profile-source{font-size:12px;line-height:1.8;color:var(--ink);margin-top:25px}.profile-source a{text-underline-offset:4px}
.profile-socials{margin-top:39px}
.social-grid{display:flex;flex-wrap:wrap;gap:12px}
.social-link{display:flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid var(--green);min-height:66px;padding:13px 20px;text-decoration:none;font-size:16px;font-weight:800;background:transparent;transition:background .2s,color .2s}
.social-link small{display:block;font-size:12px;line-height:1.7;font-weight:500;overflow-wrap:anywhere}
.social-link>span:last-child{font-size:24px}.social-link:hover{background:var(--green);color:var(--paper)}
.profile-return{display:inline-block;font-size:14px;padding:10px 0;text-align:center;white-space:nowrap}
.profile-pagination{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:35px;padding:27px 0 39px;border-top:1px solid var(--line)}
.profile-pagination a{text-decoration:none;min-width:0}.profile-pagination a:last-child{text-align:right}
.profile-pagination small{display:block;font:13px/1.5 var(--display);letter-spacing:.12em;color:var(--ink);margin-bottom:9px}
.profile-pagination span{font-size:18px;font-weight:800;overflow-wrap:anywhere}.profile-pagination a:hover span{color:var(--orange)}
@media(max-width:1100px){.profile-layout{gap:40px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}}
@media(max-width:760px){.profile-heading{padding:24px 0 34px}.breadcrumbs{margin-bottom:29px;font-size:12px;gap:8px}.profile-heading .kicker{font-size:14px}.profile-heading h1{font-size:clamp(37px,10vw,66px);line-height:1.2}.profile-subtitle{font-size:15px;margin-top:12px}.profile-layout{grid-template-columns:1fr;gap:32px;padding:35px 0 36px}.profile-poster{position:static;width:min(270px,70%);margin-inline:auto}.profile-poster figcaption{text-align:center}.profile-biography>h2,.profile-socials>h2{font-size:23px;padding-bottom:14px;margin-bottom:21px}.profile-biography>h2 small{font-size:14px}.profile-biography p,.profile-biography li{font-size:17px;line-height:2.05;letter-spacing:.01em}.profile-biography p+p{margin-top:20px}.profile-socials{margin-top:31px}.social-grid{flex-direction:column}.social-link{width:100%;min-height:66px;font-size:16px}.social-link small{font-size:13px}.profile-pagination{gap:12px;padding:24px 0 30px}.profile-pagination span{font-size:16px;line-height:1.7}.profile-pagination small{font-size:12px}.profile-return{font-size:14px}}

/* Shared event header: the combined wordmark and menu work at every width. */
.site-header{--header-height:88px;height:var(--header-height);position:fixed;top:0;left:0;right:0;background:var(--green);color:var(--paper);border-bottom:1px solid #F4F1EB26;transform:translateY(-100%);visibility:hidden;pointer-events:none;transition:transform .28s ease,visibility .28s}
.site-header.is-visible{transform:translateY(0);visibility:visible;pointer-events:auto}
.header-inner{gap:16px}
.brand{min-width:0;flex-shrink:1}
.brand-logo{height:68px;width:auto}
.menu-toggle{display:inline-flex;align-items:center;justify-content:center;color:var(--paper)}
.main-nav{display:none;position:absolute;left:auto;right:max(48px,calc((100vw - 1280px)/2));top:var(--header-height);width:340px;max-width:calc(100vw - 32px);max-height:calc(100dvh - var(--header-height));overflow-y:auto;flex-direction:column;align-items:stretch;gap:0;background:var(--green);color:var(--paper);border:1px solid #F4F1EB26;border-top:0;padding:12px 20px 20px;box-shadow:0 15px 24px #272d2720}
.main-nav.is-open{display:flex}
.main-nav a{padding:14px 10px;font-size:16px}
.main-nav a:not(.nav-ticket):hover{background:#F4F1EB12;color:var(--paper)}
.main-nav .nav-ticket{text-align:center;margin-top:8px;padding:14px;background:var(--orange);color:var(--white)}
@media(max-width:1100px) and (min-width:761px){.main-nav{right:30px}}
@media(max-width:760px){
  .site-header{--header-height:64px}
  .header-inner{gap:12px}
  .brand-logo{width:min(300px,calc(100vw - 100px));height:auto;max-height:54px}
  .main-nav{left:0;right:0;width:auto;max-width:none;border-inline:0;padding:10px 20px 20px}
  html{scroll-padding-top:76px}
}

.mc-heading-jp{font-family:var(--sans);font-weight:800;letter-spacing:.03em}
.studios .studio-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 24px;list-style:none;margin:0;padding:0}
.studios .studio-list li{min-width:0}
.studio-link{display:flex;align-items:center;gap:14px;min-height:94px;padding:8px 0;color:var(--ink);text-decoration:none}
.studio-logo-frame{display:grid;place-items:center;flex:none;width:96px;height:96px;aspect-ratio:1;padding:7px;background:var(--white);border:1px solid var(--line)}
.studio-logo-frame.supplied-logo{padding:0}
.studio-logo-frame img{width:100%;height:100%;object-fit:contain}
.studio-text-placeholder{display:block;max-width:100%;font:800 12px/1.4 var(--sans);color:var(--ink);text-align:center;white-space:nowrap;overflow-wrap:normal;word-break:normal}
.studio-identity{display:block;min-width:0}
.studio-name{display:block;font-size:18px;font-weight:800;line-height:1.4;overflow-wrap:anywhere}
.studio-city{display:block;font-size:13px;font-weight:500;line-height:1.5}
.studio-instagram-label{display:block;margin-top:3px;color:var(--green);font-size:14px;font-weight:700;line-height:1.5;text-decoration:underline;text-underline-offset:3px}
.studio-link:hover .studio-logo-frame,.studio-link:focus-visible .studio-logo-frame{border-color:var(--orange)}
.studio-link:hover .studio-name{color:var(--green)}
.studio-link:focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media(max-width:1100px){.studios .studio-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.studios .studio-list{gap:22px 14px}.studio-link{flex-direction:column;gap:10px;text-align:center;padding:6px 0}.studio-logo-frame{width:104px;height:104px}.studio-name{font-size:17px}}

/* Two equal copies make the activity strip loop without a visible reset. */
.section-head .kicker,.intro .kicker,.faq .kicker,.harvest .section-head .kicker,.access .section-head .kicker{color:var(--orange)}
.faq summary::after{color:var(--orange)}
.genre-track{display:flex;width:max-content;animation:genre-scroll 25s linear infinite}
.genre-sequence{display:flex;flex:none;align-items:center;min-width:100vw;gap:26px;padding-right:26px;white-space:nowrap}
.genre-item[lang="ja"]{font-family:var(--sans);font-weight:800}
.genre-band.is-paused .genre-track{animation-play-state:paused}
.genre-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;padding:0;background:var(--orange);color:var(--white);border:1px solid currentColor;border-radius:50%;box-shadow:0 0 0 6px var(--orange)}
.genre-toggle::before{content:"";width:10px;height:14px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.genre-toggle[aria-pressed="true"]::before{width:0;height:0;border-left:11px solid currentColor;border-right:0;border-top:7px solid transparent;border-bottom:7px solid transparent}
.genre-toggle:focus-visible{outline-color:var(--white);outline-offset:3px}
@keyframes genre-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:760px){.genre-sequence{gap:20px;padding-right:20px}.genre-toggle{right:10px}}
@media(prefers-reduced-motion:reduce){
  .genre-track{width:100%;animation:none}
  .genre-sequence{min-width:0;width:100%;flex-wrap:wrap;justify-content:center;white-space:normal;gap:10px 14px;padding:0 16px}
  .genre-sequence+.genre-sequence,.genre-toggle{display:none}
}

.name-list a{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}.name-list a:hover{color:var(--orange)}.name-list .artist-social-extra{font-size:12px;margin-left:6px}
