*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--text-main);min-height:100vh;font-family:Noto Sans JP,sans-serif;overflow-x:hidden}body:after{content:"";pointer-events:none;z-index:0;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");position:fixed;inset:0}nav{z-index:1000;align-items:center;gap:6px;display:flex;position:fixed;top:20px;right:28px}.nav-btn{letter-spacing:.05em;color:var(--purple-3);cursor:pointer;background:0 0;border:none;outline:none;padding:9px 18px;font-family:Zen Dots,sans-serif;font-size:.75rem;text-decoration:none;transition:color .3s;position:relative}.nav-btn:before{content:"";-webkit-backdrop-filter:blur(18px)saturate(1.8);opacity:0;background:0 0;border:1px solid #0000;border-radius:10px;transition:opacity .32s cubic-bezier(.22,1,.36,1),transform .32s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:scale(.88)translateY(4px);box-shadow:0 0 18px #ffffff1a,inset 0 1px #ffffff0d}.nav-btn:hover:before{opacity:1;transform:scale(1)translateY(0)}.nav-btn:hover{color:var(--purple-3)}.nav-btn span{z-index:1;position:relative}#nav-drawer{border-left:1px solid var(--glass-border);-webkit-backdrop-filter:blur(32px)saturate(1.8);z-index:999;pointer-events:none;background:#0a0818eb;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;width:min(320px,85vw);height:100dvh;padding:60px 40px;transition:transform .4s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-20px 0 60px #00000080}#nav-drawer.open{pointer-events:all;transform:translate(0)}.drawer-btn{letter-spacing:.08em;width:100%;color:var(--purple-3);opacity:0;border:1px solid #0000;border-radius:12px;padding:14px 20px;font-family:Zen Dots,sans-serif;font-size:1rem;text-decoration:none;transition:background .3s,border-color .3s,color .3s,transform .3s;display:block;transform:translate(30px)}#nav-drawer.open .drawer-btn{opacity:1;transform:translate(0)}#nav-drawer.open .drawer-btn:first-child{transition-delay:50ms}#nav-drawer.open .drawer-btn:nth-child(2){transition-delay:.1s}#nav-drawer.open .drawer-btn:nth-child(3){transition-delay:.15s}#nav-drawer.open .drawer-btn:nth-child(4){transition-delay:.2s}.drawer-btn:hover{background:var(--glass-hover-bg);border-color:var(--glass-hover-border);color:#fff;transform:translate(6px)}#nav-overlay{z-index:998;opacity:0;pointer-events:none;background:#00000080;transition:opacity .4s;position:fixed;inset:0}#nav-overlay.open{opacity:1;pointer-events:all}@media (width<=768px){.nav-btn{display:none}#hero{justify-content:center;padding:24px}.hero-content{text-align:center;flex-direction:column;align-items:center;gap:40px}.hero-left{text-align:center;width:100%;max-width:400px}.hero-right{align-items:center;width:100%;max-width:300px}.hero-btn{text-align:center;width:100%}}#hero{z-index:1;align-items:center;height:100vh;padding:0 24px;display:flex;position:relative}.hero-content{align-items:center;gap:60px;width:100%;max-width:1200px;margin:0 auto;display:flex}.hero-left{flex:1}.hero-right{flex-direction:column;flex:1;gap:16px;min-width:280px;display:flex}.hero-btn{letter-spacing:.08em;text-align:center;cursor:pointer;border:none;border-radius:12px;padding:20px 28px;font-family:Zen Dots,sans-serif;font-size:.9rem;text-decoration:none;transition:all .3s cubic-bezier(.22,1,.36,1);display:inline-block;position:relative;overflow:hidden}.primary-btn{color:#fff;background:#a855f7;box-shadow:0 4px 20px #a855f74d}.primary-btn:hover{color:#b5f472;background:#c084fc;transform:translateY(-4px);box-shadow:0 8px 30px #c084fc66}.primary-btn:active{transform:translateY(-2px);box-shadow:0 4px 15px #a855f740}.support-btn{color:#000;background:#fff;box-shadow:0 4px 20px #0000001a}.support-btn:hover{color:#fff;background:#22c55e;transform:translateY(-4px);box-shadow:0 8px 30px #22c55e4d}.support-btn:active{transform:translateY(-2px);box-shadow:0 4px 15px #22c55e40}.sponsor-text{color:var(--text-sub);text-align:center;margin-top:12px;font-size:.75rem;line-height:1.4}#sponsor-display{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px;display:flex}.sponsor-item{background:var(--glass-bg);border:1px solid var(--glass-border);cursor:pointer;border-radius:8px;width:48px;height:48px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 2px 12px #0000001a}.sponsor-item:hover{border-color:#a855f74d;transform:translateY(-2px)scale(1.05);box-shadow:0 4px 20px #a855f733}.sponsor-item img{object-fit:contain;width:100%;height:100%;display:block}#title-row{background:linear-gradient(135deg,#c084fc,#a855f7,#22d3ee,#f472b6,#818cf8,#e879f9,#38bdf8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;min-height:96px;font-family:Zen Dots,sans-serif;font-size:clamp(2.8rem,7vw,5.5rem);line-height:1}#subtitle{color:var(--text-sub);letter-spacing:.04em;max-width:520px;margin-top:22px;font-size:clamp(.85rem,2vw,1.1rem);font-weight:300;line-height:1.7}@keyframes popIn{0%{opacity:0;transform:scale(0)rotate(-25deg)}70%{opacity:1;transform:scale(1.18)rotate(4deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}@keyframes spinIn{0%{opacity:0;transform:rotate(-180deg)scale(.3)}80%{opacity:1;transform:rotate(12deg)scale(1.05)}to{opacity:1;transform:rotate(0)scale(1)}}@keyframes zoomBlur{0%{opacity:0;filter:blur(14px);transform:scale(2.5)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:translateY(-60px)}60%{opacity:1;transform:translateY(10px)}80%{transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes twistIn{0%{opacity:0;transform:scaleX(0)skew(30deg)}70%{opacity:1;transform:scaleX(1.1)skew(-4deg)}to{opacity:1;transform:scaleX(1)skew(0)}}@keyframes glitchIn{0%{opacity:0;filter:hue-rotate(90deg);transform:translate(-20px)}30%{opacity:1;filter:hue-rotate(180deg);transform:translate(8px)}60%{filter:hue-rotate();transform:translate(-4px)}to{opacity:1;filter:hue-rotate();transform:translate(0)}}.section{z-index:1;max-width:1100px;margin:0 auto;padding:120px 5vw;position:relative}.section-tag{letter-spacing:.22em;text-transform:uppercase;color:var(--cyan);opacity:.8;margin-bottom:18px;font-family:Zen Dots,sans-serif;font-size:.68rem}.section-title{color:var(--text-main);margin-bottom:16px;font-family:Zen Dots,sans-serif;font-size:clamp(1.5rem,3.5vw,2.4rem);line-height:1.25}.section-body{color:var(--text-sub);max-width:540px;font-size:clamp(.9rem,1.5vw,1.05rem);font-weight:300;line-height:1.9}.section-body strong{color:var(--purple-3);font-weight:700}.layout{align-items:center;gap:60px;display:flex}.layout.reverse{flex-direction:row-reverse}.layout-text,.layout-img{flex:1;min-width:260px}.img-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px)saturate(1.6);aspect-ratio:16/9;border-radius:20px;justify-content:center;align-items:center;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s;display:flex;position:relative;overflow:hidden;box-shadow:0 0 40px #7c3aed2e,inset 0 1px #ffffff14}.img-card:hover{transform:translateY(-6px)scale(1.015);box-shadow:0 0 70px #a855f74d,inset 0 1px #ffffff1f}.img-card img{object-fit:cover;width:100%;height:100%;display:block}.img-placeholder{color:#a855f766;letter-spacing:.1em;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;height:100%;font-family:Zen Dots,sans-serif;font-size:.75rem;display:flex}.img-placeholder svg{opacity:.35}.divider{z-index:1;background:linear-gradient(90deg,#0000,#a855f74d,#0000);height:1px;margin:0 5vw;position:relative}.glow-left{background:radial-gradient(60% 50% at 0%,#7c3aed2e 0%,#0000 70%)}.glow-right{background:radial-gradient(60% 50% at 100%,#22d3ee1f 0%,#0000 70%)}.section-accent{pointer-events:none;z-index:0;position:absolute;inset:0}.section>*{z-index:1;position:relative}#comingsoon{z-index:1;text-align:center;padding:100px 5vw 120px;position:relative}.cs-inner{max-width:620px;margin:0 auto}.cs-badge{letter-spacing:.2em;color:var(--pink);background:#f472b612;border:1px solid #f472b659;border-radius:999px;margin-bottom:28px;padding:5px 18px;font-family:Zen Dots,sans-serif;font-size:.7rem;display:inline-block}.cs-title{color:var(--text-main);margin-bottom:16px;font-family:Zen Dots,sans-serif;font-size:clamp(1.6rem,4vw,2.6rem)}.cs-sub{color:var(--text-sub);font-size:1rem;font-weight:300;line-height:1.8}.orbit-wrap{width:120px;height:120px;margin:40px auto 0;position:relative}.orbit-ring{border:1px dashed #a855f740;border-radius:50%;animation:10s linear infinite spin;position:absolute;inset:0}.orbit-ring:before{content:"";background:var(--purple-2);width:10px;height:10px;box-shadow:0 0 12px var(--purple-2);border-radius:50%;position:absolute;top:-5px;left:50%;transform:translate(-50%)}.orbit-ring.r2{border-color:#22d3ee33;animation-duration:7s;animation-direction:reverse;inset:18px}.orbit-ring.r2:before{background:var(--cyan);box-shadow:0 0 10px var(--cyan)}.orbit-center{justify-content:center;align-items:center;font-family:Zen Dots,sans-serif;font-size:1.8rem;display:flex;position:absolute;inset:0}@keyframes spin{to{transform:rotate(360deg)}}footer{z-index:1;color:#a78bca80;letter-spacing:.05em;border-top:1px solid #a855f726;justify-content:center;align-items:center;gap:8px;padding:32px 5vw;font-size:.82rem;display:flex;position:relative}footer span.brand{color:#c084fc99;font-family:Zen Dots,sans-serif}.reveal{opacity:0;transition:opacity .8s,transform .8s cubic-bezier(.22,1,.36,1);transform:translateY(36px)}.reveal.in{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.22s}.reveal-delay-3{transition-delay:.38s}@media (width<=768px){.layout,.layout.reverse{flex-direction:column;gap:36px}.section{padding:80px 5vw}}
