:root{color-scheme:dark;--bg:#090910;--paper:#f5ecdc;--muted:#c5becb;--gold:#e3b679;--line:#352e40;--serif:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px;background:#030409}body{width:480px;max-width:100%;margin:auto;background:var(--bg);color:var(--paper);font:400 15px/1.95 'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif;isolation:isolate;box-shadow:0 0 100px #0009}a{color:inherit;text-decoration:none}button,input{font:inherit}a,button,summary{touch-action:manipulation}button,summary{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:5px}[hidden]{display:none!important}p{margin:0 0 22px}p:last-child{margin-bottom:0}h1,h2,h3{margin:0 0 20px;font-weight:600;line-height:1.7;letter-spacing:-.025em}h2{font-size:25px}h3{font-size:19px}strong,b{font-weight:700}em{font-style:normal;color:var(--gold)}.eyebrow{font:600 11px/1.7 'Noto Sans JP',sans-serif;letter-spacing:.12em;color:var(--gold);margin-bottom:17px}.section{padding:60px 26px;border-bottom:1px solid #231e2a}.section>p{color:var(--muted)}.small-note{font-size:12px;line-height:1.85;color:var(--muted);margin-top:16px}.skip{position:absolute;top:-100px;left:10px;z-index:100;background:var(--gold);padding:10px;color:#111}.skip:focus{top:10px}.preview-bar{padding:7px 18px;background:#27202e;font-size:10px;letter-spacing:.08em;color:#dfd2e7;display:flex;justify-content:space-between}.preview-bar span{color:var(--gold)}header{padding:17px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#0d0b13}.brand{font:600 20px/1 var(--serif);letter-spacing:.07em}.brand small{display:block;font-size:11px;letter-spacing:.22em;color:var(--gold);margin-top:5px}.nav-link{font-size:12px;border-bottom:1px solid var(--gold);padding:8px 0}.hero{position:relative;padding:40px 26px 45px;overflow:hidden;background:linear-gradient(#09091170,#090911b0 35%,#090910ec 80%,#090910),url('./assets/haunted-town.webp') center top/auto 900px no-repeat}.hero-content{position:relative;text-align:center}.hero .eyebrow{font-size:11px;letter-spacing:.05em}.hero h1{font:600 clamp(44px,12vw,67px)/.92 var(--serif);letter-spacing:-.025em;margin:28px 0 27px;color:#f4e4c8;text-shadow:0 2px 24px #000}.hero h1>span{display:block;font-size:.58em;letter-spacing:.23em;margin-bottom:6px;padding-left:.23em}.hero-title{font-size:15px;line-height:1.8;letter-spacing:-.035em}.hero-title strong{font-size:20px;color:#f5cd91}.hero-message{margin:24px 0 22px;padding-top:20px;border-top:1px solid #b18a4e5c}.hero-message h2{font-size:21px;line-height:1.7;margin-bottom:12px}.hero-message p{font-size:13px;color:#dfd8e4;line-height:1.9}.hero-value{font-size:16px;line-height:1.6;margin-bottom:22px}.date-card{display:flex;align-items:center;justify-content:center;gap:20px;padding:14px 10px;border:1px solid #826347;background:#100e16bf;border-radius:4px;text-align:left}.date-card>strong{font:600 53px/1 var(--serif);color:var(--gold)}.date-card div{display:grid;gap:2px}.date-card b{font-size:12px;letter-spacing:.16em}.date-card span{font-size:14px;font-weight:600}.date-card small{font-size:10px;color:var(--muted)}.event-mode{font-size:11px;letter-spacing:.04em;margin:12px 0 23px}.hero-prices{margin:20px 0 23px;display:grid;gap:8px}.hero-prices p{font-size:12px;margin:0}.hero-prices strong{font-size:23px;display:inline-block;margin-left:8px;color:var(--gold);line-height:1.4;white-space:nowrap}.hero-prices strong span{font-size:13px;margin-left:3px}.hero-prices small{font-size:10px}.button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 19px;min-height:54px;border:1px solid #b69c75;border-radius:5px;font-weight:700;line-height:1.6;font-size:14px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.primary{background:#e5b676;color:#21192a;border-color:#e5b676}.primary:hover{background:#f3cc96}.outline{background:transparent;color:var(--paper)}.hero-note{margin:14px 0 14px;font-size:11px;line-height:1.8;color:var(--muted)}.text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--gold);font-size:12px;text-decoration:underline;text-underline-offset:5px}.ticker{display:flex;align-items:center;justify-content:center;gap:14px;background:#141019;color:#c5a67a;padding:17px 16px;border-block:1px solid var(--line);font:600 10px/1.4 var(--serif);letter-spacing:.08em;overflow:hidden}.ticker i{font-style:normal}.pain-list{list-style:none;padding:0;margin:28px 0;display:grid;gap:12px}.pain-list li{padding:16px 18px;border:1px solid #342e3c;border-left:2px solid #bd935d;background:#121018;border-radius:0 7px 7px 0;font-size:14px}.sound-words{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:27px 0}.sound-words>span{text-align:center;padding:16px 3px;background:#191522;border:1px solid #4c3e5a;color:#f2c887;font-size:16px;font-weight:600}.sound-words small{display:block;font-size:10px;letter-spacing:0;font-weight:400;color:var(--muted);margin-top:4px}.journey{background:linear-gradient(140deg,#181320,#0a0910)}.journey-list{list-style:none;padding:0;margin:29px 0;display:grid;gap:0}.journey-list li{display:grid;grid-template-columns:34px 1fr;gap:15px;padding:23px 0;border-top:1px solid #47374e}.step-number{font:600 28px/1.5 var(--serif);color:var(--gold)}.journey-list .eyebrow{font-size:10px;margin-bottom:9px}.journey-list h3{font-size:17px;margin-bottom:9px}.journey-list p:not(.eyebrow){font-size:13px;color:var(--muted)}.quiet-card{padding:23px 20px;background:#16121e;border:1px solid #3c3148;border-radius:8px;margin-top:19px}.quiet-card h3{font-size:16px;margin-bottom:10px}.quiet-card p{font-size:13px;color:var(--muted)}.classes{background:#0b0e14}.foundation-grid{display:grid;gap:18px;margin-top:27px}.class-card{border:1px solid #352e41;background:#15111c;border-radius:10px;overflow:hidden;margin-bottom:22px}.class-card img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}.class-card>div:not(.main-class-label){padding:23px 20px}.class-card .eyebrow{font-size:11px;margin-bottom:13px}.class-card h3{font-size:20px;margin-bottom:14px}.class-card p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.95}.main-class{border:1px solid #be9a58;background:linear-gradient(145deg,#14241c,#12151c);box-shadow:0 0 34px #a9a86a10;margin:20px -8px 27px}.main-class-label{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;background:#ddbd7b;color:#17231c;font-size:12px}.main-class-label span{letter-spacing:.14em;font-weight:700}.main-class-label b{font-size:11px}.main-class>div:not(.main-class-label){padding:27px 25px}.main-class h3{font-size:23px;line-height:1.8}.main-class p:not(.eyebrow){font-size:14px}.main-class .class-callout{color:#ecdfb9!important;border-top:1px solid #5b5838;padding-top:18px;font-weight:600}.graduation{margin-bottom:0}.host{background:linear-gradient(140deg,#1a1022,#0b0911)}.host-name{font:500 49px/1 var(--serif);color:var(--gold);margin:30px 0 25px}.host-name small{font:400 12px/1.5 'Noto Sans JP',sans-serif;display:inline-block;margin-left:13px;color:var(--muted)}.teaching-flow{list-style:none;padding:0;margin:30px 0;display:grid;gap:10px}.teaching-flow li{display:flex;align-items:center;gap:14px;padding:16px;background:#201828;border:1px solid #4a3853;border-radius:7px;font-size:14px}.teaching-flow span{color:var(--gold);font:600 24px var(--serif)}.music-section h2{font-size:23px}.music-player{padding:18px;border:1px solid #49344e;border-radius:10px;background:#18111f}.music-player button{width:100%;background:none;border:0;color:var(--paper);display:flex;align-items:center;gap:14px;text-align:left;padding:0}.play-disc{width:46px;height:46px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#281731;font-size:19px}.music-player strong{font-size:14px}.music-player small{display:block;font:400 10px/1.7 'Noto Sans JP',sans-serif;letter-spacing:.05em;color:var(--muted);margin-top:4px}.music-player p{font-size:11px;line-height:1.8;margin:14px 0 0;color:var(--muted)}.equalizer{display:flex;gap:3px;align-items:center;margin-left:auto;height:24px}.equalizer i{display:block;width:3px;height:9px;background:var(--gold);border-radius:2px}.equalizer i:nth-child(2){height:18px}.music-playing .equalizer i{animation:equalize .7s ease-in-out infinite alternate}.music-playing .equalizer i:nth-child(2){animation-delay:-.3s}.music-playing .equalizer i:nth-child(3){animation-delay:-.5s}.seats{background:#0d0b13}.plan-card{padding:26px 22px;margin:30px 0 0;background:#ede3d2;color:#2b2233;border-radius:12px;border:1px solid #d3b99c;box-shadow:0 8px 30px #0005}.plan-kicker{font-size:11px;line-height:1.8;color:#735b75;margin-bottom:14px}.plan-card h3{font-size:27px;margin-bottom:18px}.plan-card h3 span{display:block;font-size:12px;line-height:1.8;margin-top:8px;color:#705876;font-weight:500}.price{font-size:15px;line-height:1.4;margin:20px 0 27px}.price strong{font-size:48px;letter-spacing:-.04em;font-family:'Noto Sans JP',sans-serif;white-space:nowrap}.price small{font-size:11px;margin-left:4px}.plan-card>p:not(.price):not(.plan-kicker):not(.small-note){font-size:13px}.included{padding:0;list-style:none;margin:24px 0}.included li{padding:13px 0 13px 23px;border-top:1px solid #bca5aa70;position:relative;font-size:13px;line-height:1.8}.included li:before{content:'✦';position:absolute;left:0;top:13px;color:#926a40}.plan-note{padding:17px;background:#dacbb850;border-radius:5px;font-size:12px!important;color:#604769}.plan-card .small-note{color:#76617d;font-size:11px;margin:12px 0 0}.plan-button{background:#3e3051;border-color:#3e3051;color:#fff2db}.plan-button:hover{background:#514168}.practice-plan{background:#21162c;color:var(--paper);border:1px solid #a8865c}.practice-plan .plan-kicker{color:#d6b58b}.practice-plan h3 span,.practice-plan .small-note{color:#c5b4cd}.practice-plan .price{color:#f4cd92}.practice-plan .included li{border-color:#584366}.practice-plan .included li:before{color:var(--gold)}.practice-plan .plan-note{background:#100d19;color:#d1bfd8}.comparison{margin-top:36px;padding-top:10px}.comparison h3{font-size:18px}.comparison table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px}.comparison th,.comparison td{padding:14px 7px;border-bottom:1px solid #3c3346;text-align:center;overflow-wrap:anywhere;line-height:1.8}.comparison th:first-child{text-align:left;width:32%}.comparison thead th{background:#251b30;color:#f2d1a3;font-size:12px}.comparison tbody th{font-weight:500;color:#d8cedd}.comparison td{color:#c4b8cd}.comparison .difference{background:#372831}.comparison .difference td{font-weight:700;color:#fff0d3}.level .quiet-card{background:#111019}.level h2{font-size:22px}.faq{background:#100d17}.faq details{border-top:1px solid #49364e;padding:0}.faq details:last-child{border-bottom:1px solid #49364e}.faq summary{list-style:none;position:relative;font-size:14px;font-weight:500;line-height:1.9;padding:22px 25px 22px 0;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:2px;top:20px;font-size:22px;color:var(--gold)}.faq details[open] summary:after{content:'−'}.faq details p{color:var(--muted);font-size:13px;line-height:1.9;padding:0 0 20px;margin:0}.closing{text-align:center;background:linear-gradient(#090910db,#090910f5),url('./assets/haunted-town.webp') center/cover}.closing .eyebrow{font-size:10px}.closing h2{font-size:25px}.closing>p{font-size:14px}.closing .archive-badge{font-size:12px;color:var(--gold);margin-bottom:22px}footer{padding:43px 26px 140px;text-align:center;background:#08080d;color:#8d8296;border-top:1px solid var(--line)}footer .brand{color:var(--paper)}footer p{font:500 16px var(--serif);letter-spacing:.2em;margin:18px 0 25px}footer nav{display:grid;gap:13px;margin:25px 0;font-size:11px}footer nav a{text-decoration:underline;text-underline-offset:4px}footer>small{font-size:10px}.dock{display:grid;grid-template-columns:37px minmax(0,1fr) auto;align-items:center;gap:9px;position:fixed;left:50%;bottom:12px;transform:translateX(-50%);width:min(456px,calc(100% - 24px));z-index:20;background:#15121bf5;border:1px solid #806246;padding:11px;border-radius:9px;box-shadow:0 10px 35px #000a}.dock>button{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#33243d;border:1px solid #7d6689;color:var(--gold);padding:0;font-size:21px}.dock>button[aria-pressed=true]{background:var(--gold);color:#24182b}.dock>div strong{display:block;font-size:12px;color:var(--gold);line-height:1.7}.dock strong span{font-size:10px;margin-left:3px}.dock small{display:block;font-size:9px;line-height:1.5;color:var(--muted)}.dock>a{background:var(--gold);color:#261a30;font-weight:600;font-size:11px;padding:12px 10px;border-radius:4px;white-space:nowrap}.night-wings{display:none}.apply-main,.document-main{padding:40px 26px 55px}.page-title{font-size:28px}.apply-main>p,.document-main>p{color:var(--muted);font-size:14px}.apply-main fieldset{margin:30px 0;padding:0;border:0}.apply-main legend{font-size:18px;font-weight:600;margin-bottom:17px}.plan-option{display:flex;align-items:center;gap:15px;padding:23px 18px;border:1px solid #574068;border-radius:8px;margin-bottom:13px;background:#18121f;cursor:pointer}.plan-option:has(input:checked){border-color:var(--gold);background:#2b2032}.plan-option input{width:20px;height:20px;accent-color:var(--gold);flex-shrink:0}.plan-option span{display:grid;gap:5px;min-width:0}.plan-option b{font-size:20px}.plan-option small{font-size:11px;color:var(--muted)}.plan-option strong{font-size:19px;color:var(--gold)}.apply-main .quiet-card h2{font-size:20px}.apply-main .included li{border-color:#483553}.apply-main .included li:before{color:var(--gold)}.preview-ticket{margin:32px 0;padding:28px 24px;background:#f2e7d1;color:#312339;border:1px solid #c0a178;border-radius:14px}.preview-ticket .eyebrow{color:#795b7f}.preview-ticket h2{font-size:27px}.preview-ticket dl{margin:25px 0}.preview-ticket dl>div{display:grid;grid-template-columns:60px 1fr;gap:13px;padding:12px 0;line-height:1.8;font-size:13px}.preview-ticket dt{color:#8b7492}.preview-ticket dd{margin:0;font-weight:600}.preview-ticket dd small{display:block;font-weight:400;font-size:11px}.ticket-price{border-top:1px dashed #ad8fac;margin-top:20px;padding-top:24px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.ticket-price strong{font-size:34px;letter-spacing:-.04em}.preview-ticket button{display:block;width:100%;border:0;border-radius:6px;background:#776384;color:#fff1d9;padding:17px;font-size:14px;font-weight:600;opacity:.7}.preview-ticket>p:last-child{font-size:11px;line-height:1.9;color:#705e79;margin-top:17px}.document-list{margin:30px 0}.document-list>div{border-top:1px solid var(--line);padding:23px 0}.document-list dt{font-size:16px;color:var(--gold);font-weight:600;margin-bottom:12px}.document-list dd{font-size:13px;line-height:2;color:var(--muted);margin:0;overflow-wrap:anywhere}.document-list a{color:var(--gold);text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:761px){.night-wings{display:block;position:fixed;inset:0;pointer-events:none;z-index:-1}.night-wing{position:fixed;top:0;bottom:0;width:calc((100vw - 480px)/2);overflow:hidden;background:linear-gradient(#030409f5,#030409fa),url('./assets/haunted-town.webp') center/cover}.night-wing.left{right:calc(50% + 240px)}.night-wing.right{left:calc(50% + 240px)}.night-moon{position:absolute;width:140px;height:140px;border-radius:50%;top:12%;left:15%;background:radial-gradient(circle at 35% 30%,#ffe8b7,#dda665);opacity:.06}.night-wing.right .night-moon{top:28%;left:38%;width:80px;height:80px;opacity:.035}.night-spark{position:absolute;color:#ffcd82;left:var(--x);top:var(--y);font-size:var(--size);animation:night-drift var(--time) ease-in-out infinite alternate;animation-delay:var(--delay);opacity:.1}.wing-label{position:absolute;bottom:10%;left:0;width:100%;text-align:center;color:#b8aec326;font:14px Georgia,serif;letter-spacing:.2em}.night-mist{position:absolute;inset:65% -60% -20%;background:radial-gradient(ellipse,#7b719b0a,transparent 65%);animation:night-mist 16s ease-in-out infinite alternate}}
@media(max-width:360px){.section{padding:48px 21px}.hero{padding:30px 21px 37px}.hero-title{font-size:13px}.hero-title strong{font-size:17px}.hero-message h2{font-size:19px}.date-card{gap:12px}.date-card>strong{font-size:46px}.date-card span{font-size:12px}.hero-prices p{font-size:10px}.hero-prices strong{font-size:21px;margin-left:5px}.main-class h3{font-size:20px}.main-class>div:not(.main-class-label){padding:23px 21px}.price strong{font-size:42px}.plan-card{padding:23px 19px}.dock{gap:6px;padding:9px;grid-template-columns:34px minmax(0,1fr) auto}.dock>button{width:34px;height:34px}.dock>a{font-size:10px;padding:11px 8px}.dock strong{font-size:11px!important}.apply-main,.document-main{padding:35px 21px}.ticket-price strong{font-size:29px}}
@keyframes equalize{to{height:22px}}@keyframes night-drift{from{transform:translate(0,0) rotate(-12deg);opacity:.025}to{transform:translate(14px,-30px) rotate(10deg);opacity:.12}}@keyframes night-mist{to{transform:translateX(50px) translateY(-25px)}}.arrived{animation:arrive .6s ease-out}@keyframes arrive{from{opacity:.65;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.plan-option .seat-tag{display:inline-block;font-style:normal;padding:.1em .55em;border:1px solid currentColor;border-radius:999px;font-size:.6em;font-weight:600;letter-spacing:.1em;vertical-align:.25em;opacity:.75;white-space:nowrap}
.plan-option b .seat-p{display:inline;margin:0;font-size:.72em;font-weight:600;white-space:nowrap;opacity:.85}
.plan-option strong s{display:inline-block;margin-left:8px;font-weight:500;font-size:.75em;opacity:.7}
.plan-option b .seat-p{display:block}
.po-price{display:block;margin-top:8px}
.po-reg{display:flex;align-items:center;gap:6px}
.po-reg s{font-size:12px;opacity:.7;margin:0!important;display:inline!important}
.pb-off{padding:3px 7px;border-radius:20px;background:#c2412b;color:#fff;font-size:10.5px;font-weight:700}
.po-now{display:flex;align-items:baseline;gap:3px;margin-top:4px}
.po-now em{font-style:normal;margin-right:6px;padding:3px 7px;border-radius:4px;background:#7d2417;color:#fff1dc;font-size:10.5px;font-weight:700;align-self:center}
.po-now strong{font-size:28px;line-height:1;color:#f3cf8f}
.po-now small{margin-left:4px;font-size:10px;opacity:.7}
.plan-option .po-price{display:block;margin-top:6px;padding-top:10px;border-top:1px solid #57406888}
.plan-option .po-reg{display:flex;align-items:center;gap:8px}
.plan-option .po-reg .pb-off{display:inline-block;width:auto}
.plan-option .po-now{display:flex;align-items:baseline;gap:3px;margin-top:6px;color:#f3cf8f;font-weight:700;font-size:14px}
.plan-option .po-now em{display:inline-block;align-self:center}
.plan-option .po-now strong{font-size:30px;line-height:1}
.plan-option .po-now small{font-size:10px}
