:root{--ink:#15151c;--blue:#2621a2;--lime:#d9ff29;--paper:#f3f0e8;--pink:#ef4e8a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Noto Sans JP',Arial,sans-serif;line-height:1.65}a{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--pink);outline-offset:4px}.skip{position:absolute;top:-60px;left:10px;background:#fff;padding:8px;z-index:100}.skip:focus{top:8px}.demo-banner{display:flex;justify-content:space-between;gap:10px;padding:5px clamp(20px,3vw,50px);background:var(--lime);color:var(--ink);font:900 .62rem Arial,sans-serif;letter-spacing:.1em}.header{height:82px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 clamp(20px,3vw,50px);background:var(--ink);color:#fff}.brand{display:flex;align-items:baseline;gap:16px;text-decoration:none;white-space:nowrap}.brand>span{font-weight:900;font-size:1.7rem;letter-spacing:-.08em}.brand small{font:900 .58rem Impact,'Arial Narrow',sans-serif;letter-spacing:.2em;color:var(--lime)}.header nav{display:flex;gap:clamp(18px,3vw,50px)}.header nav a,.back{text-decoration:none;font-size:.75rem;font-weight:800}.header nav a:hover,.back:hover{color:var(--lime)}.back{border-bottom:2px solid var(--lime);padding-bottom:5px;white-space:nowrap}.hero{position:relative;display:grid;grid-template-columns:48% 52%;min-height:690px;overflow:hidden;background:var(--blue);color:#fff}.poster-mark{position:absolute;top:23px;right:30px;z-index:3;font:900 clamp(3rem,8vw,8rem) Impact,'Arial Narrow',sans-serif;line-height:1;color:var(--lime);mix-blend-mode:screen}.poster-mark span{display:block;text-align:right;font-size:.11em;letter-spacing:.2em}.hero-type{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:65px 5vw 65px 8vw;min-width:0}.hero-type>span,.eyebrow,.hero-photo>span,.wall-screen>span,.route-controls b,.beats>article>span,.pass-list>article>span,.visit-card>span,.faq .eyebrow{font:900 .67rem Impact,'Arial Narrow',sans-serif;letter-spacing:.18em}.hero-type>span{color:var(--lime)}.hero h1{font-size:clamp(4.3rem,9vw,11rem);line-height:1.01;letter-spacing:-.12em;margin:32px 0 24px;font-weight:900;transform:scaleX(.87);transform-origin:left}.hero h1 em{font-style:normal;color:var(--lime)}.hero-type>p{max-width:450px;font-weight:700;font-size:.87rem}.hero-type>a{display:flex;justify-content:space-between;align-items:center;gap:50px;padding:14px 18px;min-width:260px;background:var(--lime);color:var(--ink);font-weight:900;text-decoration:none;margin-top:28px}.hero-photo{position:relative;overflow:hidden;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%)}.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:contrast(1.1) saturate(1.3);transform:scale(1.03);animation:wall-in 1.2s ease-out both}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(20deg,rgba(38,33,162,.68),transparent 55%)}.hero-photo>span{position:absolute;bottom:22px;right:25px;z-index:1;background:var(--ink);padding:7px;color:var(--lime)}.hero-diagonal{position:absolute;left:-5%;right:-5%;bottom:-18px;z-index:3;transform:rotate(-6deg);background:var(--lime);color:var(--ink);font:900 clamp(1.8rem,5vw,5.3rem) Impact,sans-serif;letter-spacing:.04em;text-align:center;white-space:nowrap}.wall{display:grid;grid-template-columns:37% 63%;background:#0f0e28;color:#fff;overflow:hidden}.wall-heading{padding:clamp(80px,8vw,140px) clamp(25px,5vw,85px);display:flex;flex-direction:column;justify-content:center}.eyebrow{color:var(--pink)}h2{font-weight:900;letter-spacing:-.08em;line-height:1.15;font-size:clamp(2.6rem,4.4vw,5rem);margin:25px 0}.wall-heading>p{font-size:.82rem;color:#ded9ef}.wall-stage{position:relative;min-height:650px;background:#3533ab;overflow:hidden;border-left:12px solid var(--lime)}.wall-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff16 1px,transparent 1px),linear-gradient(90deg,#ffffff16 1px,transparent 1px);background-size:70px 70px;transform:skewY(-8deg) scale(1.2)}.hold{position:absolute;width:9%;aspect-ratio:1.3;border-radius:45% 60% 45% 50%;box-shadow:inset -8px -7px 0 #0005,0 8px 0 #0005;transform:rotate(-25deg);background:var(--pink)}.h1{bottom:25%;left:14%}.h2{bottom:43%;left:34%;background:var(--lime)}.h3{bottom:62%;left:23%;background:#fff}.h4{bottom:34%;right:24%;background:var(--lime)}.h5{top:21%;right:30%;background:var(--pink)}.h6{top:10%;right:12%;background:#fff}.wall-path{position:absolute;left:18%;bottom:31%;width:47%;height:45%;border:5px dashed var(--lime);border-right:0;border-bottom:0;border-radius:50% 0 0 0;transform:rotate(15deg);opacity:.7;animation:path-pulse 2.5s ease-in-out infinite}.goal{position:absolute;right:12%;top:8%;display:grid;place-items:center;width:115px;height:115px;border:9px solid var(--lime);border-radius:50%;background:var(--ink);color:var(--lime);font:900 1.3rem Impact,sans-serif;line-height:1.1;text-align:center;transform:rotate(14deg);transition:top .6s,right .6s,transform .6s}.wall-stage[data-route=middle] .goal{top:34%;right:23%;transform:rotate(-12deg)}.wall-stage[data-route=start] .goal{top:58%;right:56%;transform:rotate(9deg)}.wall-screen{position:absolute;bottom:25px;right:20px;left:20px;max-width:530px;padding:25px 30px;background:#101020ee;border-left:6px solid var(--lime)}.wall-screen>span{color:var(--lime)}.wall-screen h3{font-size:clamp(1.4rem,2.4vw,2.4rem);line-height:1.25;margin:12px 0}.wall-screen p{font-size:.75rem;margin:0}.route-controls{grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);margin:0;background:#242075}.route-controls button{display:flex;align-items:center;gap:15px;min-height:95px;border:0;border-right:1px solid #6866b5;background:transparent;color:#fff;text-align:left;cursor:pointer;padding:15px;font:900 .75rem Arial,sans-serif}.route-controls button[aria-pressed=true]{background:var(--lime);color:var(--ink)}.route-controls b{font-size:2rem}.first{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);padding:clamp(90px,9vw,150px) clamp(20px,5vw,90px);gap:60px;background:var(--paper)}.first-title>p{max-width:440px;font-size:.83rem}.beats{border-top:7px solid var(--ink)}.beats article{display:grid;grid-template-columns:85px 1fr 100px;align-items:center;gap:17px;border-bottom:2px solid var(--ink);padding:25px 0}.beats b{font:900 3.5rem Impact,sans-serif;color:var(--blue)}.beats h3{font-size:1.35rem;letter-spacing:-.05em;margin:0}.beats p{font-size:.76rem;margin:4px 0}.beats>article>span{text-align:right;color:var(--blue)}.space{display:grid;grid-template-columns:56% 44%;min-height:580px;background:var(--lime)}.space-image{overflow:hidden;clip-path:polygon(0 0,100% 0,83% 100%,0 100%)}.space-image img{width:100%;height:100%;object-fit:cover;filter:saturate(1.3)}.space-copy{align-self:center;padding:50px 5vw 50px 1vw}.space-copy .eyebrow{color:var(--blue)}.space-copy p{font-weight:700;font-size:.84rem;max-width:440px}.passes{padding:clamp(100px,10vw,160px) clamp(20px,5vw,90px);background:var(--blue);color:#fff}.passes-title{display:grid;grid-template-columns:190px 1fr 280px;gap:25px;align-items:end;margin-bottom:60px}.passes-title .eyebrow{align-self:start;color:var(--lime)}.passes-title h2{margin:0}.passes-title>p{font-size:.8rem}.pass-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pass-list article{position:relative;min-height:340px;padding:30px;background:#fff;color:var(--ink);clip-path:polygon(0 0,100% 0,100% 91%,90% 100%,0 100%)}.pass-list article:nth-child(2){background:var(--lime)}.pass-list article:nth-child(3){background:#f5c2d4}.pass-list article>span{color:var(--blue)}.pass-list h3{font-size:clamp(1.8rem,2.4vw,3rem);line-height:1.1;margin:38px 0 20px;letter-spacing:-.06em}.pass-list p{font-size:.78rem}.pass-list b{position:absolute;left:30px;bottom:26px;font:900 2rem Impact,sans-serif}.pass-list small{font:700 .6rem Arial,sans-serif}.planner{padding:clamp(100px,10vw,160px) clamp(20px,5vw,90px);background:#e1e0e6}.planner-lead{display:grid;grid-template-columns:190px 1fr 280px;gap:25px;align-items:end;margin-bottom:60px}.planner-lead .eyebrow{align-self:start;color:var(--blue)}.planner-lead h2{margin:0}.planner-lead>p{font-size:.8rem}.planner-lead>p:last-child{grid-column:2/4;border-left:6px solid var(--pink);padding:12px 18px;background:#fff}.planner-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.selectors{padding:clamp(30px,4vw,60px);background:var(--ink);color:#fff}fieldset{border:0;border-bottom:1px solid #777;margin:0 0 27px;padding:0 0 27px}legend{font-weight:900;font-size:.83rem;margin-bottom:16px}.choices{display:flex;gap:7px;flex-wrap:wrap}.choices button{min-height:48px;border:2px solid #aaa;background:transparent;color:#fff;padding:9px 14px;cursor:pointer;font:inherit;font-size:.77rem;font-weight:700}.choices button[aria-pressed=true]{background:var(--lime);color:var(--ink);border-color:var(--lime)}.reset{background:none;border:0;border-bottom:2px solid var(--lime);color:var(--lime);padding:0 0 4px;font:inherit;font-size:.77rem;cursor:pointer}.visit-card{position:relative;padding:clamp(30px,4vw,60px);background:#fff;border:8px solid var(--blue)}.visit-card:before{content:'↗';position:absolute;right:20px;top:5px;font:900 5rem Impact,sans-serif;color:var(--pink)}.visit-card>span{color:var(--blue)}.visit-card h3{font-size:clamp(1.7rem,2.7vw,3rem);line-height:1.3;margin:35px 0 10px}.visit-card>p{font-size:.77rem}.visit-card dl{margin:30px 0;border-top:2px solid var(--ink)}.visit-card dl div{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #aaa}.visit-card dt{font-size:.7rem}.visit-card dd{margin:0;font-weight:900;font-size:.77rem;text-align:right}.faq{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:clamp(100px,10vw,160px) clamp(20px,5vw,90px);background:var(--ink);color:#fff}.faq .eyebrow{color:var(--lime)}.faq details{padding:15px 0;border-top:1px solid #777}.faq details:last-of-type{border-bottom:1px solid #777}.faq summary{cursor:pointer;font-size:.85rem;font-weight:700}.faq details p{font-size:.75rem;color:#ccc}.faq a{display:inline-block;margin-top:35px;text-decoration:none;border-bottom:2px solid var(--lime);font-size:.83rem}footer{display:flex;justify-content:space-between;gap:20px;padding:25px clamp(20px,5vw,90px);background:var(--lime);font:900 .7rem Impact,sans-serif;letter-spacing:.1em}footer a{text-decoration:none}@keyframes path-pulse{50%{opacity:.2;transform:rotate(15deg) scale(1.06)}}@keyframes wall-in{from{opacity:.6;transform:scale(1.14)}to{opacity:1;transform:scale(1.03)}}
@media(max-width:1050px){.header nav{display:none}.hero{grid-template-columns:1fr}.hero-type{min-height:560px;padding:70px 6vw}.hero-photo{height:500px;clip-path:polygon(0 9%,100% 0,100% 100%,0 100%)}.hero-diagonal{bottom:-10px}.wall{grid-template-columns:1fr}.wall-heading{padding:80px 6vw 50px}.wall-stage{border-left:0;min-height:560px}.route-controls{grid-column:1}.first{grid-template-columns:1fr;gap:25px}.passes-title,.planner-lead{grid-template-columns:1fr 2fr}.passes-title>p,.planner-lead>p{grid-column:2}.planner-lead>p:last-child{grid-column:2}.space{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.demo-banner{font-size:.5rem}.demo-banner span:last-child{display:none}.header{height:70px}.brand>span{font-size:1.35rem}.brand small{display:none}.back{font-size:.65rem}.hero-type{min-height:520px;padding:55px 24px}.hero h1{font-size:clamp(5rem,18vw,8rem)}.poster-mark{font-size:4rem;top:18px;right:15px}.poster-mark span{font-size:.1em}.hero-photo{height:330px}.hero-diagonal{font-size:1.8rem}.wall-heading{padding:80px 23px 35px}.wall-stage{min-height:500px}.wall-screen{padding:16px;bottom:15px;left:15px;right:15px}.wall-screen h3{font-size:1.35rem}.goal{width:80px;height:80px;font-size:.9rem;border-width:6px}.route-controls button{min-height:75px;gap:5px;padding:9px;font-size:.6rem}.route-controls b{font-size:1.3rem}.first,.passes,.planner,.faq{padding:85px 23px}.beats article{grid-template-columns:55px 1fr}.beats b{font-size:2.4rem}.beats>article>span{display:none}.space{grid-template-columns:1fr}.space-image{height:320px;clip-path:none}.space-copy{padding:50px 23px 70px}.passes-title,.planner-lead{display:block}.pass-list{grid-template-columns:1fr}.pass-list article{min-height:245px}.pass-list h3{margin:25px 0 12px}.planner-grid{grid-template-columns:1fr}.selectors,.visit-card{padding:28px 22px}.faq{grid-template-columns:1fr;gap:30px}footer{display:block}footer a{display:block;margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-photo img,.wall-path{animation:none}.goal{transition:none}}

/* Japanese reading rhythm: keep short sentence endings together. */
p{text-wrap:pretty;line-break:strict}h1,h2,h3{text-wrap:balance;line-break:strict}

/* Poster title: the sport is named at the edge of the climbing photograph. */
.hero-type{justify-content:flex-end;padding-bottom:115px}.hero-phrase{margin:24px 0 0;color:var(--lime);font-weight:900;font-size:clamp(1.2rem,2vw,1.9rem);letter-spacing:.04em}.hero h1{font-size:clamp(2.6rem,4.2vw,4.5rem);line-height:1.18;letter-spacing:-.08em;margin:9px 0 16px;transform:scaleX(.92)}
@media(max-width:1050px){.hero-type{min-height:390px;padding-bottom:55px}.hero-photo{order:-1;height:430px}}
@media(max-width:700px){.hero-photo{height:300px}.hero-type{min-height:0;padding:35px 24px 75px}.hero h1{font-size:clamp(2.5rem,11vw,3.5rem)}.hero-phrase{margin-top:10px}.poster-mark{font-size:3.5rem}.hero-type>a{margin-top:18px}}
