:root{--park-x:37.7192982456%;--park-y:39.4736842105%;--paper:#f6f1e6;--ink:#302d24;--red:#bd3c29;--green:#2d5143;--line:#d3c9b5}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #b67b14;outline-offset:5px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;z-index:20;top:8px;left:8px;padding:15px;background:white;transform:translateY(-150%)}.skip-link:focus{transform:none}
.wrap{width:min(1120px,100%);margin:auto;padding-left:48px;padding-right:48px}.section{padding-top:90px;padding-bottom:90px}.site-header{height:82px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{font-size:22px;font-weight:900;text-decoration:none;letter-spacing:-.04em;white-space:nowrap}.brand span{color:var(--red);margin-left:5px}.site-header nav{display:flex;gap:28px;font-size:12px;font-weight:700}.site-header nav a{text-decoration:none;padding:12px 0}.site-header nav a:hover{color:var(--red)}
.stage{height:clamp(500px,calc(100svh - 140px),950px);position:relative;overflow:hidden;isolation:isolate;background:#fbf7f1}.aerial-scene{position:absolute;inset:0;overflow:hidden;background:#6f695d}.aerial-camera{position:absolute;left:0;top:0;width:7168px;height:7168px;transform-origin:0 0;will-change:transform}.aerial-camera img{position:absolute;display:block;max-width:none;opacity:1;filter:sepia(.38) saturate(.58) contrast(1.1) brightness(.84)}.aerial-camera #wideAerial{left:0;top:0;width:7168px;height:7168px}.aerial-camera #detailAerial{left:2494px;top:2630px;width:1140px;height:1140px;mask-image:linear-gradient(to right,transparent,#000 1.2%,#000 98.8%,transparent),linear-gradient(to bottom,transparent,#000 1.2%,#000 98.8%,transparent);mask-composite:intersect;-webkit-mask-composite:source-in}.aerial-tone{position:absolute;inset:0;background:linear-gradient(140deg,#7e59293d,#211e0c10 50%,#10221b4a);box-shadow:inset 0 0 120px #191d134d}.stage-grain{position:absolute;inset:0;pointer-events:none;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.venue-stamp{position:absolute;left:var(--park-x);top:var(--park-y);transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff9e7;text-shadow:0 1px 7px #151c10;white-space:nowrap;pointer-events:none;z-index:2;opacity:0}.venue-stamp strong{font:700 15px "Yu Mincho",serif;letter-spacing:.12em;margin:0 0 11px;padding:5px 8px;background:#34392d8c}.venue-stamp>.park-dot{display:block;width:9px;height:9px;border:2px solid #fffbeb;border-radius:50%;background:#be452b;box-shadow:0 0 0 5px #fff8e72b,0 0 14px #fff9e391;margin-bottom:-4.5px}
.menu-flight{position:absolute;inset:0;z-index:3;pointer-events:none}.menu-slip{position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:flex-start;flex-direction:column;width:46px;min-height:96px;padding:10px 6px 12px;color:#312b22;background:linear-gradient(90deg,#e8dfc9,#f8f1de 22%,#f4edda 76%,#e5dbc4);box-shadow:1px 4px 10px #18221670;transform-origin:center;opacity:0;border-top:3px solid #ae3323;border-bottom:1px solid #b29b73;will-change:transform,opacity;backface-visibility:hidden}.menu-slip:before{content:"";position:absolute;top:-5px;left:30%;width:40%;height:10px;background:#d9c5988c;rotate:-4deg}.menu-slip b{writing-mode:vertical-rl;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:900;font-size:22px;letter-spacing:.05em;line-height:1.1}.menu-1{color:#9f3024}.menu-2{color:#294e40}.park-glow{position:absolute;left:var(--park-x);top:var(--park-y);width:160px;height:160px;transform:translate(-50%,-50%) scale(.1);background:radial-gradient(circle,#fff 0 10%,#fffef8f2 17%,#fffbe299 32%,#fffbd133 48%,#fff0 70%);border-radius:50%;opacity:0;pointer-events:none;z-index:4;will-change:transform,opacity;mix-blend-mode:screen}.white-transition{position:absolute;inset:0;z-index:6;background:#fffefb;opacity:0;pointer-events:none;will-change:mask-image,opacity}.kv-stage{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;background:#fbf7f1;pointer-events:none}.kv-stage img{display:block;width:100%;height:100%;object-fit:contain;filter:none;transform:none}.is-complete .aerial-scene,.is-complete .menu-flight{visibility:hidden}.is-complete .aerial-camera,.is-complete .menu-slip{will-change:auto}.motion-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:8px 40px;border-top:1px solid var(--line);font-size:11px}.motion-bar>span{font-family:"Yu Mincho",serif;font-weight:700;letter-spacing:.12em}.motion-actions{display:flex;gap:24px;align-items:center}.motion-actions button{border:0;background:none;padding:12px 0;color:var(--ink);font-size:11px}.motion-actions a{text-decoration:none;font-size:11px;padding:12px 0}.motion-actions a:hover,.motion-actions button:hover{color:var(--red)}
.date-band{background:var(--red);color:#fff8e7;display:flex;align-items:center;justify-content:center;gap:26px;padding:24px}.date-band .year{font:700 18px Georgia,serif;writing-mode:vertical-rl;letter-spacing:.1em}.date-band p{margin:0;display:flex;align-items:center;gap:18px;font:700 56px Georgia,serif}.date-band small{font:700 12px sans-serif;margin-left:8px}.date-dash{font-size:26px}.date-venue{margin-left:20px;font-size:16px;font-weight:700;letter-spacing:.08em}.section-label{display:block;font-size:11px;letter-spacing:.15em;font-weight:700;color:var(--red)}.introduction{text-align:center}.introduction h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(42px,5vw,68px);line-height:1.5;margin:24px 0;letter-spacing:-.05em}.introduction h2 em{font-style:normal;color:var(--red)}.introduction p{font-size:15px;line-height:2.2;margin:0}.information{display:grid;grid-template-columns:1fr 2fr;gap:65px;padding-top:20px}.section-heading h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:38px;margin:14px 0 24px;letter-spacing:.02em}.section-heading p{font-size:15px;line-height:1.8}.info-list{margin:0;border-top:2px solid var(--green)}.info-list>div{display:grid;grid-template-columns:90px 1fr;gap:15px;border-bottom:1px solid var(--line);padding:25px 0;font-size:15px;line-height:1.9}.info-list dt{font-size:12px;color:#6b6356;padding-top:3px}.info-list dd{margin:0;font-weight:700}.info-list small{display:block;font-size:12px;font-weight:400;margin-top:3px}.access-section{background:var(--green);color:var(--paper)}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.access-section .section-label{color:#ddbc77}.access-section .address{font-size:13px}.access-action{text-align:center;border:1px solid #c4cab44f;padding:38px 28px}.venue-badge{font-family:"Yu Mincho",serif;font-size:26px;font-weight:bold;letter-spacing:.05em}.access-action p{font-size:12px;margin:18px 0 25px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:56px;padding:16px 26px;background:var(--red);color:#fff;text-decoration:none;font-size:14px;font-weight:700;border:1px solid transparent}.button:hover{background:#a33121}.button.light-button{background:var(--paper);color:var(--green)}.button.light-button:hover{background:#fff}.contact{display:flex;align-items:center;justify-content:space-between;gap:32px}.contact .section-heading p{font-size:13px}.contact-action{display:flex;flex-direction:column;align-items:center;gap:14px}.contact-action .email{font-size:13px;text-underline-offset:4px}.contact-action small{font-size:11px;color:#6b6356}.site-footer{padding-top:32px;padding-bottom:32px;border-top:1px solid var(--line);display:flex;align-items:start;justify-content:space-between;gap:30px}.site-footer .brand{font-size:16px;margin-top:3px}.credits{font-size:10px;line-height:1.9;color:#716454}.credits p{margin:0 0 5px}.credits small{display:block;font-size:10px;margin-top:20px}
@media(max-width:760px){.wrap{padding-left:24px;padding-right:24px}.section{padding-top:58px;padding-bottom:58px}.site-header{height:auto;min-height:86px;padding:14px 20px;flex-direction:column;gap:8px}.site-header .brand{font-size:22px}.site-header nav{gap:26px;font-size:11px}.site-header nav a{padding:5px 0}.stage{height:clamp(430px,calc(100svh - 138px),820px)}.motion-bar{min-height:52px;padding:5px 20px}.motion-bar>span{display:none}.motion-actions{width:100%;justify-content:space-between;gap:15px}.menu-slip{width:31px;min-height:65px;padding:7px 4px 8px;border-top-width:2px}.menu-slip b{font-size:15px;letter-spacing:.025em}.menu-slip:before{height:8px;top:-4px}.venue-stamp strong{font-size:11px;letter-spacing:.05em;padding:4px 6px}.park-glow{width:105px;height:105px}.date-band{gap:13px;flex-wrap:wrap;padding:24px 18px}.date-band p{font-size:40px;gap:10px}.date-band .year{font-size:14px}.date-band small{font-size:10px;margin-left:4px}.date-dash{font-size:19px}.date-venue{width:100%;text-align:center;margin:0;font-size:13px}.introduction h2{font-size:40px;margin:22px 0}.introduction p{font-size:13px}.information{grid-template-columns:1fr;gap:10px;padding-top:0}.section-heading h2{font-size:31px;margin-bottom:20px}.info-list>div{font-size:13px;grid-template-columns:74px 1fr;gap:12px;padding:22px 0}.info-list dt{font-size:11px}.mobile-break{display:block}.access-grid{grid-template-columns:1fr;gap:15px}.access-action{padding:28px 16px}.venue-badge{font-size:23px}.contact{flex-direction:column;align-items:stretch;gap:15px}.contact-action .button{width:100%;gap:15px}.contact-action{align-items:center}.site-footer{flex-direction:column;gap:25px}.site-footer .brand{font-size:18px}.credits{font-size:9px}.credits small{margin-top:16px}.aerial-tone{box-shadow:inset 0 0 80px #191d134d}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
