.practical-hero{min-height:clamp(500px,54vh,650px);padding-top:var(--header-height);isolation:isolate;background:url(/images/03_brick_wall.png) 50%/cover no-repeat;align-items:center;display:flex;position:relative;overflow:hidden}.practical-hero:before{content:"案内";z-index:-1;color:#fff;opacity:.035;font:900 clamp(150px,22vw,330px)/1 serif;position:absolute;right:7%;transform:rotate(4deg)}.practical-hero:after{content:"";z-index:-1;background:radial-gradient(circle at 18% 45%,#ff005c16,#0000 28%),radial-gradient(circle at 82% 45%,#00d9ff17,#0000 28%),linear-gradient(#0000 58%,#050505);position:absolute;inset:0}.practical-hero__lines{border-block:1px solid #ffffff12;height:46px;position:absolute;inset:18% -3% auto;transform:rotate(-3deg)}.practical-hero__content{text-align:center}.practical-hero h1{font:900 clamp(58px,8vw,108px)/.82 var(--font-display);letter-spacing:-4px;text-transform:uppercase;text-shadow:0 4px 20px #000;margin:10px 0 16px}.practical-hero p{color:#ccc;margin:0 auto 16px;font-size:18px}.practical-hero__meta{color:var(--color-cyan);font:800 15px var(--font-display);letter-spacing:2px;margin-bottom:24px}.date-venue{background:url(/images/02_splash_bar.png) 50%/cover no-repeat}.date-venue__layout{grid-template-columns:.75fr 1.25fr;align-items:center;gap:80px;display:grid}.date-venue__panel{background:#070709d9;border:1px solid #ffffff1f;grid-template-columns:1fr 1fr;display:grid;box-shadow:0 0 35px #000}.date-venue__panel>div{min-height:190px;padding:32px;position:relative}.date-venue__panel>div+div{border-left:1px solid #ffffff1f}.date-venue__panel span{color:var(--color-cyan);font:800 12px var(--font-display);letter-spacing:3px;display:block}.date-venue__panel strong{color:#fff;font:900 clamp(30px,4vw,48px)/.9 var(--font-display);text-transform:uppercase;margin-top:20px;display:block}.date-venue__panel p{color:#888;font-size:13px}.practical-grid-section{background:#080809;position:relative}.practical-grid-section--pink{background:#080809 url(/images/05_grunge_splash.png) 50%/cover no-repeat}.practical-cards{grid-template-columns:repeat(2,1fr);gap:16px;max-width:930px;margin-inline:auto;display:grid}.practical-cards--wide{grid-template-columns:repeat(4,1fr);max-width:none}.practical-card{border:1px solid #ffffff18;border-left:2px solid var(--color-cyan);background:linear-gradient(135deg,#0e0e11ee,#070708ee);min-height:190px;padding:30px 26px;position:relative;overflow:hidden}.practical-grid-section--pink .practical-card{border-left-color:var(--color-pink)}.practical-card>span{color:#ffffff0d;font:900 64px/.8 var(--font-display);position:absolute;top:12px;right:15px}.practical-card h3{color:var(--color-cyan);font:800 23px/1 var(--font-display);text-transform:uppercase;margin:27px 0 10px;position:relative}.practical-grid-section--pink .practical-card h3{color:var(--color-pink)}.practical-card p{color:#999;margin:0;font-size:13px;position:relative}.practical-feature{background:#070708;overflow:hidden}.practical-feature__layout{grid-template-columns:.8fr 1.2fr;align-items:center;gap:80px;display:grid}.practical-feature__visual{background:radial-gradient(circle,#00d9ff18,#0000 55%);border:1px solid #ffffff17;place-items:center;min-height:300px;display:grid;position:relative}.practical-feature__visual span{color:var(--color-cyan);font:900 150px/1 var(--font-display);text-shadow:0 0 35px #00d9ff55}.practical-feature__visual i{border:1px dashed #00d9ff35;position:absolute;inset:20px;transform:rotate(-3deg)}.practical-feature .section-heading p{margin-inline:0}.practical-feature small{color:#666;letter-spacing:1.5px;text-transform:uppercase}.visitor-services{background:url(/images/03_brick_wall.png) 50%/cover no-repeat}.visitor-services__grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.visitor-service{background:#070709d9;border:1px solid #ffffff18;min-height:300px;padding:48px}.visitor-service:first-child{border-top:3px solid var(--color-pink)}.visitor-service:last-child{border-top:3px solid var(--color-cyan)}.visitor-service h2{font:900 clamp(42px,5vw,68px)/.85 var(--font-display);text-transform:uppercase;margin:12px 0 18px}.visitor-service p{color:#999}.practical-faq{background:linear-gradient(145deg,#0b0b0d,#050505)}.practical-faq__layout{grid-template-columns:.75fr 1.25fr;align-items:start;gap:70px;display:grid}.practical-faq .faq-list{border-top:1px solid #ffffff24}.practical-faq .faq-list details{border-bottom:1px solid #ffffff24}.practical-faq .faq-list summary{cursor:pointer;font:800 19px var(--font-display);text-transform:uppercase;padding:22px 46px 22px 4px;list-style:none;position:relative}.practical-faq .faq-list summary::-webkit-details-marker{display:none}.practical-faq .faq-list summary:after{content:"+";color:var(--color-pink);font-size:28px;transition:transform .2s;position:absolute;right:8px}.practical-faq .faq-list details[open] summary:after{transform:rotate(45deg)}.practical-faq .faq-list p{color:#aaa;margin:0;padding:0 50px 23px 4px}.practical-faq .faq-list a{color:var(--color-cyan)}.practical-final{text-align:center;background:url(/images/06_bottom_cta.png) 50%/cover no-repeat;align-items:center;min-height:450px;display:flex}.practical-final h2{color:#080808;font:900 clamp(58px,7vw,90px)/.85 var(--font-display);text-transform:uppercase;margin:10px 0 12px}.practical-final p{color:#161616;font-weight:700}.practical-final .kicker{color:#111}.practical-final__actions{justify-content:center;gap:14px;margin-top:25px;display:flex}.practical-final .button{box-shadow:5px 5px #080808,0 0 25px #ff005c55}.practical-final .button--ghost{color:#fff;box-shadow:none}@media (width<=980px){.date-venue__layout,.practical-feature__layout,.practical-faq__layout{grid-template-columns:1fr;gap:38px}.practical-cards--wide{grid-template-columns:repeat(2,1fr)}.visitor-services__grid{grid-template-columns:1fr}}@media (width<=640px){.practical-hero{min-height:650px}.practical-hero__content{width:calc(100% - 30px);max-width:calc(100% - 30px)}.practical-hero h1{letter-spacing:-2px;overflow-wrap:anywhere;font-size:clamp(43px,13vw,58px)}.practical-hero p{font-size:16px}.date-venue__panel,.practical-cards,.practical-cards--wide{grid-template-columns:1fr}.date-venue__panel>div+div{border-top:1px solid #ffffff1f;border-left:0}.practical-card{min-height:165px}.visitor-service{min-height:260px;padding:34px 25px}.practical-final{min-height:520px}.practical-final h2{font-size:48px}.practical-final__actions{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){.practical-faq .faq-list summary:after{transition:none}}
