:root{--bg: #ffffff;--bg-alt: #faf9f6;--ink: #1b1b1b;--ink-soft: #5a5a5a;--ink-faint: #8a8a8a;--accent: #e8a317;--accent-deep: #c9871a;--accent-light: rgba(232, 163, 23, .08);--accent-tint: #fff6da;--bg-deep: #13110f;--discord: #5865f2;--hairline: rgba(0, 0, 0, .08);--maxw: 1000px;--font-display: "Montserrat", "Noto Sans JP", sans-serif;--font-body: "Noto Sans JP", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);line-height:1.85;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.scroll-progress{position:fixed;top:0;left:0;height:3px;background:var(--accent);z-index:200;width:0;pointer-events:none}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.scroll-progress{display:none}}.label{font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);text-align:center}section{padding:64px 0}section:nth-of-type(2n){background:var(--bg-alt)}.sec-head{text-align:center;margin-bottom:8px}.sec-h{font-family:var(--font-display);font-weight:800;font-size:clamp(24px,4.4vw,36px);letter-spacing:.03em;line-height:1.35;margin:14px 0 0;text-wrap:balance}.sec-h:after{content:"";display:block;width:36px;height:3px;background:var(--accent);margin:14px auto 12px}.sec-lead{color:var(--ink-soft);max-width:40em;margin:0 auto;font-size:15px;text-align:center;text-wrap:pretty}.btn{font-family:var(--font-body);font-weight:700;font-size:14px;letter-spacing:.02em;padding:14px 28px;border-radius:6px;text-decoration:none;transition:transform .2s,box-shadow .25s,background .25s,color .25s,border-color .25s;display:inline-block}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 16px -4px #e8a31766}.btn-primary:hover{background:var(--accent-deep);transform:translateY(-2px);box-shadow:0 6px 20px -4px #e8a31780}.btn-ghost{color:var(--ink);border:1px solid var(--hairline)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px -4px #0000001a}.btn-discord{background:var(--discord);color:#fff;box-shadow:0 4px 16px -4px #5865f266}.btn-discord:hover{background:#4752c4;transform:translateY(-2px);box-shadow:0 6px 20px -4px #5865f280}.hl{background:linear-gradient(transparent 60%,var(--accent-tint) 60%)}.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}@media(max-width:480px){.cta{flex-direction:column;align-items:stretch}.cta .btn{text-align:center}}.legal-nav{max-width:var(--maxw);margin:0 auto;padding:20px}.legal-nav .brand{font-family:var(--font-display);font-weight:900;font-size:18px;letter-spacing:.14em;color:var(--ink);text-decoration:none;transition:color .2s}.legal-nav .brand:hover{color:var(--accent)}.legal-main{padding-top:16px;padding-bottom:40px;max-width:720px}.legal-main h1{font-family:var(--font-display);font-weight:800;font-size:clamp(22px,3.5vw,30px);letter-spacing:.03em;line-height:1.4;color:var(--ink);margin-bottom:8px;border-bottom:1px solid var(--hairline);padding-bottom:16px}.legal-main h2{font-weight:700;font-size:clamp(17px,2.5vw,20px);margin-top:2.5em;margin-bottom:.6em;color:var(--ink)}.legal-main p{font-size:15px;line-height:1.9;color:var(--ink);margin-bottom:1.2em}.legal-main a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;transition:color .2s}.legal-main a:hover{color:var(--accent-deep)}.legal-main ul{list-style:none;padding-left:0;margin-bottom:1.2em}.legal-main ul li{font-size:15px;line-height:1.9;color:var(--ink);margin-bottom:.3em;padding-left:1.2em;position:relative}.legal-main ul li:before{content:"・";position:absolute;left:0}.legal-main h1+p{font-size:13px;color:var(--ink-faint);margin-bottom:2em}.legal-back{max-width:720px;padding-bottom:40px}.legal-back a{font-size:13px;font-weight:500;color:var(--ink-soft);text-decoration:none;transition:color .2s}.legal-back a:hover{color:var(--accent)}.legal-footer{max-width:720px;border-top:1px solid var(--hairline);padding-top:20px;padding-bottom:40px;font-size:12px;color:var(--ink-faint)}
