:root{--box-border: rgba(255, 255, 255, .15);--accent: #a78bfa;--accent-glow: rgba(167, 139, 250, .4)}body{background-color:#0a0a0f;background-image:radial-gradient(ellipse 100% 80% at 50% -20%,rgba(120,80,255,.15),transparent 60%),linear-gradient(rgba(167,139,250,.06) 2px,transparent 2px),linear-gradient(90deg,rgba(167,139,250,.06) 2px,transparent 2px),linear-gradient(rgba(167,139,250,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(167,139,250,.03) 1px,transparent 1px);background-size:100% 100%,100px 100px,100px 100px,20px 20px,20px 20px;background-position:center top,-2px -2px,-2px -2px,-1px -1px,-1px -1px;background-attachment:fixed}.hero{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:100svh;padding:4rem var(--gutter);overflow:hidden}.hero__inner{text-align:center}.hero__kicker{margin:0 0 2rem;font-family:Montserrat Variable,sans-serif;font-size:1.2rem;font-weight:600;letter-spacing:.3em;color:var(--accent);text-transform:uppercase}.hero__title{margin:0 0 2.5rem;font-family:Montserrat Variable,sans-serif;font-size:clamp(6rem,15vw,16rem);font-weight:800;line-height:.9;letter-spacing:-.04em;color:#fff;text-transform:uppercase}.hero__lead{margin:0 0 4rem;font-family:Noto Sans JP Variable,sans-serif;font-size:1.6rem;font-weight:400;line-height:2;letter-spacing:.1em;color:#fff6}.hero__scroll{display:flex;flex-direction:column;align-items:center;gap:1rem;font-family:Montserrat Variable,sans-serif;font-size:1.1rem;font-weight:600;letter-spacing:.3em;color:#ffffff4d;text-transform:uppercase}.hero__scroll-line{position:relative;width:2px;height:5rem;background:#ffffff14;overflow:hidden;border-radius:2px}.hero__scroll-line:after{content:"";position:absolute;top:0;left:0;width:100%;height:40%;background:linear-gradient(to bottom,var(--accent),transparent);animation:scrollLine 2s cubic-bezier(.65,0,.35,1) infinite}@keyframes scrollLine{0%{transform:translateY(-100%)}to{transform:translateY(300%)}}.hero__cube-wrap{position:absolute;right:5%;bottom:10%;pointer-events:none}.hero__cube{width:clamp(200px,25vw,350px);height:clamp(200px,25vw,350px);border-radius:20px;animation:heroCubeFloat 4s ease-in-out infinite}@keyframes heroCubeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.journey{position:relative;padding:0 var(--gutter);overflow:hidden}.journey__inner{position:relative;max-width:1400px;margin:0 auto;height:450svh}.stop{position:absolute;display:flex;flex-direction:column;gap:2rem}.stop--1{top:5%;left:5%;align-items:flex-start}.stop--2{top:30%;right:5%;align-items:flex-end}.stop--2 .stop__content{order:1;text-align:right}.stop--2 .container{order:2;align-self:flex-end}.stop--3{top:55%;left:5%;align-items:flex-start}.stop--4{top:80%;right:5%;align-items:flex-end}.stop--4 .stop__content{order:1;text-align:right}.stop--4 .container{order:2;align-self:flex-end}.stop__bg-num{position:absolute;font-family:Montserrat Variable,sans-serif;font-size:clamp(15rem,35vw,30rem);font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.04);pointer-events:none;z-index:0;user-select:none}.stop--1 .stop__bg-num{left:0;top:50%;transform:translateY(-50%)}.stop--2 .stop__bg-num{right:0;top:50%;transform:translateY(-50%)}.stop--3 .stop__bg-num{left:0;top:50%;transform:translateY(-50%)}.stop--4 .stop__bg-num{right:0;top:50%;transform:translateY(-50%)}.stop__content{position:relative;z-index:2}.stop__num{display:block;font-family:Montserrat Variable,sans-serif;font-size:clamp(2rem,4vw,4rem);font-weight:600;letter-spacing:.2em;color:var(--accent);margin-bottom:.8rem}.stop__title{margin:0;font-family:Montserrat Variable,sans-serif;font-size:clamp(5rem,12vw,12rem);font-weight:700;letter-spacing:-.02em;color:#fff;text-transform:uppercase}.container{position:relative;z-index:2;flex-shrink:0;width:clamp(200px,25vw,350px);height:clamp(200px,25vw,350px);margin:0;border:1px solid var(--box-border);border-radius:20px;background:#ffffff05}.marker{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:18px}canvas.box{position:absolute;top:0;left:0;width:100%;height:100%;display:block;border-radius:18px;background:transparent;z-index:10;box-shadow:0 0 80px var(--accent-glow),0 20px 60px #0006}.footer-section{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;padding:12rem var(--gutter)}.back-btn{display:inline-flex;align-items:center;gap:1.5rem;padding:1.6rem 3.5rem;font-family:Montserrat Variable,sans-serif;font-size:1.3rem;font-weight:600;letter-spacing:.15em;color:#fff9;text-decoration:none;text-transform:uppercase;background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:100px;transition:all .3s ease}.back-btn:hover{background:var(--accent);border-color:var(--accent);color:#0a0a0f}.back-btn__arrow{font-size:1.6rem;transition:transform .3s ease}.back-btn:hover .back-btn__arrow{transform:translate(-6px)}@media(max-width:767px){.hero__title{font-size:clamp(4.5rem,18vw,7rem)}.hero__lead{font-size:1.4rem}.journey__inner{height:300svh}.stop{gap:1.5rem}.stop--1,.stop--3{left:var(--gutter)}.stop--2,.stop--4{right:var(--gutter)}.stop__bg-num{font-size:clamp(8rem,30vw,12rem)}.container,.hero__cube{width:clamp(120px,35vw,160px);height:clamp(120px,35vw,160px)}.stop__title{font-size:clamp(2.8rem,10vw,4rem)}.stop__num{font-size:1.6rem}.footer-section{padding:8rem var(--gutter)}}
