:root{--bg:#0F0B22;--violet:#7C4DDB;--ink:#fff}
*{box-sizing:border-box}
html{background:var(--bg);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",system-ui,sans-serif;line-height:1.8}
h1,h2,h3{word-break:auto-phrase;text-wrap:balance;line-break:strict}
main{width:100%;max-width:560px;margin:0 auto;background:var(--bg)}
@media (min-width:600px){body{background:radial-gradient(1200px 800px at 50% 0,#2B1766 0,var(--bg) 70%)}main{box-shadow:0 0 60px rgba(124,77,219,.25)}}
.sec{position:relative;display:block}
.sec img{display:block;width:100%;height:auto}
.sr-only{position:absolute;left:-9999px;top:0;width:480px}
.cta{position:absolute;left:4.5%;width:91%;border-radius:2px;-webkit-tap-highlight-color:rgba(124,77,219,.3)}
.cta-fv{top:87.2%;height:7.4%}
.cta-end{top:77.8%;height:9.6%}
.cta:focus-visible,.bar:focus-visible{outline:3px solid #D9CCFF;outline-offset:2px}
.bar{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);width:min(calc(100% - 32px),528px);min-height:48px;display:flex;align-items:center;justify-content:center;background:var(--violet);color:#fff;font-weight:700;font-size:16px;text-decoration:none;border-radius:999px;box-shadow:0 4px 20px rgba(0,0,0,.5);z-index:10}
.bar[hidden]{display:none}
.toast{position:fixed;left:50%;bottom:76px;transform:translateX(-50%) translateY(8px);background:#fff;color:#1B1040;padding:10px 18px;border-radius:8px;font-size:15px;line-height:1.5;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:20;width:max-content;max-width:calc(100% - 32px);text-align:center}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
@media (prefers-reduced-motion:reduce){.toast{transition:none}}
