:root{--ink:#453e52;--ink-2:#5a5268;--ink-3:#7d7590;--ink-4:#b3aabf;--line:#f1ecf9;--purple:#b98cf5;--pink:#ffa8cd;--blue:#a5e3ff;--teal:#5fd3c4;--radius:24px;--font:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "M PLUS Rounded 1c", "Hiragino Sans", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth}body{font-family:var(--font);color:var(--ink-2);-webkit-font-smoothing:antialiased;background:linear-gradient(170deg,#fbf8ff 0%,#f6fbff 45%,#fdf6fa 100%) fixed;margin:0;line-height:1.9}main{max-width:720px;margin:0 auto;padding:0 16px 64px}a{color:inherit}img{max-width:100%;height:auto}.site-head{align-items:center;gap:16px;max-width:720px;margin:0 auto;padding:14px 16px;display:flex}.site-head .logo{letter-spacing:.08em;background:linear-gradient(100deg,#b98cf5,#ffa8cd 45%,#a5e3ff);-webkit-text-fill-color:transparent;background-clip:text;font-size:22px;font-weight:900;text-decoration:none}.site-head .nav-wide{gap:14px;margin-left:auto;display:flex}.site-head nav a{color:var(--ink-3);font-size:13px;font-weight:700;text-decoration:none}.site-head nav a:hover{color:var(--purple)}.site-head .nav-sp{margin-left:auto;display:none;position:relative}.site-head .nav-sp>summary{cursor:pointer;border:1.5px solid var(--line);background:#fff;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;list-style:none;display:flex}.site-head .nav-sp>summary::-webkit-details-marker{display:none}.bars,.bars:before,.bars:after{background:var(--ink-3);content:"";border-radius:2px;width:18px;height:2px;transition:transform .18s,opacity .18s;display:block}.bars:before{transform:translateY(-6px)}.bars:after{transform:translateY(4px)}.nav-sp[open] .bars{background:0 0}.nav-sp[open] .bars:before{transform:translateY(0)rotate(45deg)}.nav-sp[open] .bars:after{transform:translateY(-2px)rotate(-45deg)}.site-head .nav-sp nav{z-index:20;border:2px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:2px;min-width:168px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 30px #7864a029}.site-head .nav-sp nav a{border-radius:10px;padding:10px 12px;font-size:14px}.site-head .nav-sp nav a:hover{background:#faf7fe}@media (width<=560px){.site-head{gap:8px;padding:12px 14px}.site-head .logo{letter-spacing:.04em;font-size:19px}.site-head .nav-wide{display:none}.site-head .nav-sp{display:block}}@media (width<=340px){.site-head .logo{font-size:17px}}.site-foot{border-top:2px dashed var(--line);text-align:center;max-width:720px;margin:48px auto 0;padding:28px 16px 40px}.site-foot .tagline{color:var(--ink-3);margin:0 0 14px;font-size:13px;font-weight:700}.site-foot nav{flex-wrap:wrap;justify-content:center;gap:8px 16px;display:flex}.site-foot nav a{color:var(--ink-3);font-size:12px}.site-foot .note{color:var(--ink-4);margin:16px 0 6px;font-size:11px;line-height:1.8}.site-foot .copy{color:var(--ink-4);margin:0;font-size:11px}h1{color:var(--ink);margin:24px 0 10px;font-size:28px;font-weight:900;line-height:1.5}h2{color:var(--ink);margin:32px 0 12px;font-size:19px;font-weight:900}h3{color:var(--ink);margin:20px 0 8px;font-size:15px;font-weight:900}p{margin:0 0 14px}.card{border:2px solid var(--line);border-radius:var(--radius);background:#fff;padding:20px;box-shadow:0 4px 18px #8c78b414}.btn{width:100%;font-family:var(--font);color:#fff;text-align:center;cursor:pointer;background:linear-gradient(100deg,#b98cf5,#ffa8cd 55%,#a5e3ff);border:none;border-radius:999px;padding:16px;font-size:17px;font-weight:900;text-decoration:none;display:block;box-shadow:0 8px 20px #b98cf559}.btn:active{transform:scale(.97)}.btn-ghost{color:var(--ink-3);text-align:center;cursor:pointer;background:#fff;border:2px solid #ddd4ee;border-radius:999px;padding:13px;font-size:14px;font-weight:800;text-decoration:none;display:block}.pill{color:#fff;letter-spacing:.1em;border-radius:999px;padding:3px 12px;font-size:12px;font-weight:800;display:inline-block}.muted{color:var(--ink-4);font-size:12px}:focus-visible{outline:3px solid var(--purple);outline-offset:2px}.dot:active{transform:scale(.9)}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
