:root{--bg:#eef5fc;--card:#ffffff;--card-selected:#fff3e3;--text:#3c4458;--text-secondary:#8e99ad;--sun:#f28c2e;--sun-light:#ffab49;--mint:#3fae8f;--line:#dfe8f2;--shadow:rgba(120,150,190,0.16)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-zen-maru),"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:var(--mint);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:800px;margin:0 auto;padding:0 20px}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:rgba(238,245,252,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.site-header .container{justify-content:space-between;height:60px}.brand,.site-header .container{display:flex;align-items:center}.brand{gap:10px;font-weight:700;font-size:1.05rem;color:var(--text)}.brand:hover{text-decoration:none}.brand img{width:32px;height:32px;border-radius:8px}.header-nav{display:flex;gap:18px;font-size:.85rem}.header-nav a{color:var(--text-secondary)}.hero{position:relative;overflow:hidden;text-align:center;padding:72px 20px 56px;background:linear-gradient(180deg,#dcecfb 0,var(--bg) 100%)}.hero-icon{width:120px;height:120px;border-radius:28px;box-shadow:0 8px 24px var(--shadow)}.hero h1{font-size:2rem;font-weight:700;margin-top:24px;letter-spacing:.04em}.hero .catch{margin-top:12px;font-size:1.1rem;color:var(--text)}.hero .sub{margin-top:8px;font-size:.9rem;color:var(--text-secondary)}.badge-row{margin-top:24px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.badge{display:inline-block;padding:8px 18px;border-radius:999px;font-size:.85rem;font-weight:700}.badge-age{background:var(--card-selected);color:var(--sun);border:1.5px solid var(--sun-light)}.badge-status{background:var(--card);color:var(--mint);border:1.5px solid var(--mint)}.cloud{border-radius:999px;opacity:.9}.cloud,.cloud:after,.cloud:before{position:absolute;background:#ffffff}.cloud:after,.cloud:before{content:"";border-radius:50%}.cloud-1{width:110px;height:34px;top:48px;left:8%}.cloud-1:before{width:44px;height:44px;top:-20px;left:20px}.cloud-1:after{width:30px;height:30px;top:-12px;left:58px}.cloud-2{width:90px;height:28px;top:120px;right:6%}.cloud-2:before{width:36px;height:36px;top:-16px;left:16px}.cloud-2:after{width:24px;height:24px;top:-10px;left:48px}.section{padding:48px 0}.section h2{font-size:1.3rem;text-align:center;margin-bottom:28px}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:16px;gap:16px}.feature-card{background:var(--card);border-radius:18px;padding:22px 20px;box-shadow:0 4px 9px var(--shadow)}.feature-card .emoji{font-size:1.6rem}.feature-card h3{font-size:1rem;margin:8px 0 6px}.feature-card p{font-size:.85rem;color:var(--text-secondary);line-height:1.7}.support-card{background:var(--card);border-radius:18px;padding:28px 24px;box-shadow:0 4px 9px var(--shadow);text-align:center}.support-card p{font-size:.9rem;color:var(--text-secondary)}.support-card .mail{display:inline-block;margin-top:12px;font-size:1.05rem;font-weight:700;color:var(--sun)}.legal{background:var(--card);border-radius:18px;box-shadow:0 4px 9px var(--shadow);padding:40px 32px;margin:40px auto}.legal h1{font-size:1.5rem;margin-bottom:8px}.legal .enacted{font-size:.85rem;color:var(--text-secondary);margin-bottom:24px}.legal h2{font-size:1.05rem;margin:28px 0 8px;padding-left:10px;border-left:4px solid var(--sun-light)}.legal li,.legal p{font-size:.9rem}.legal ol,.legal ul{padding-left:1.6em}.legal .lead{margin-bottom:8px}.legal .signature{margin-top:32px;text-align:right;font-size:.9rem;color:var(--text-secondary)}.site-footer{border-top:1px solid var(--line);padding:32px 0 40px;text-align:center;font-size:.8rem;color:var(--text-secondary)}.footer-nav{display:flex;justify-content:center;gap:20px;margin-bottom:12px;flex-wrap:wrap}.footer-nav a{color:var(--text-secondary)}.footer-note{margin-top:8px}@media (max-width:480px){.hero h1{font-size:1.6rem}.legal{padding:28px 20px}}