*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--cloud:#fff5f7;--pink:#f687b3;--lav:#b794f4;--text:#4a5568;--font:'M PLUS Rounded 1c','Noto Sans JP',sans-serif}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--cloud);color:var(--text);line-height:1.75}
img{max-width:100%;display:block;object-fit:cover}
a{color:var(--pink)}
.baby-head{display:flex;align-items:center;gap:1.5rem;padding:1rem 2rem;background:rgba(255,255,255,.85);backdrop-filter:blur(10px);position:sticky;top:0;z-index:50;flex-wrap:wrap}
.baby-head .logo{font-size:1.35rem;font-weight:700;text-decoration:none;color:var(--pink)}
.baby-head nav{display:flex;gap:1.2rem;flex-wrap:wrap}
.baby-head nav a{text-decoration:none;color:var(--text);font-size:.9rem}
.menu{display:none;background:none;border:none;font-size:1.3rem;cursor:pointer;margin-left:auto}
.blob-section{position:relative;padding:5rem 2rem;overflow:hidden}
.blob-bg{position:absolute;inset:0;z-index:0;opacity:.35}
.blob-content{position:relative;z-index:2;max-width:1100px;margin:0 auto}
.blob-section.alt .blob-fill{fill:var(--lav)}
.blob-section.alt{background:linear-gradient(180deg,#faf5ff 0%,var(--cloud) 100%)}
.hero-blob{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center;padding:3rem 0}
.hero-blob h1{font-size:clamp(1.8rem,4vw,2.6rem);color:var(--pink);line-height:1.4}
.hero-blob .tag{font-size:.85rem;color:var(--lav)}
.hero-blob .cta{display:inline-block;margin-top:1rem;background:linear-gradient(135deg,var(--pink),var(--lav));color:#fff;padding:.9rem 2rem;text-decoration:none;border-radius:999px;box-shadow:0 8px 24px rgba(246,135,179,.35)}
.hero-blob img{border-radius:60% 40% 55% 45% / 45% 55% 45% 55%;box-shadow:0 16px 40px rgba(183,148,244,.25)}
.blob-section h2{text-align:center;font-size:1.8rem;margin-bottom:.5rem;color:var(--pink)}
.blob-section .lead{text-align:center;margin-bottom:2rem;max-width:560px;margin-left:auto;margin-right:auto}
.cloud-products{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.cloud-products article{background:#fff;border-radius:40px 12px 40px 12px;padding:1.25rem;box-shadow:0 12px 32px rgba(246,135,179,.12);transition:transform .25s}
.cloud-products article:hover{transform:scale(1.02)}
.cloud-products img{aspect-ratio:1;border-radius:50%;margin-bottom:1rem}
.cloud-products h3{font-size:.95rem}
.cloud-products .price{font-weight:700;color:var(--pink);margin:.35rem 0}
.cloud-products button{width:100%;border:none;background:var(--pink);color:#fff;padding:.6rem;border-radius:999px;cursor:pointer;font-family:inherit}
.cloud-products button:hover{filter:brightness(1.05)}
.safety-blobs{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-top:2rem}
.safety-blobs div{flex:1 1 220px;max-width:280px;padding:2rem 1.5rem;text-align:center;background:#fff;border-radius:50% 30% 50% 30% / 30% 50% 30% 50%;box-shadow:0 8px 20px rgba(0,0,0,.05)}
.safety-blobs strong{display:block;font-size:1.8rem;color:var(--lav);margin-bottom:.5rem}
.guide{padding:4rem 2rem;max-width:900px;margin:0 auto}
.guide ol{counter-reset:g;padding-left:0;list-style:none}
.guide li{counter-increment:g;padding:1.25rem 1.25rem 1.25rem 4rem;margin-bottom:1rem;background:#fff;border-radius:24px;position:relative}
.guide li::before{content:counter(g);position:absolute;left:1.25rem;top:50%;transform:translateY(-50%);width:2rem;height:2rem;background:var(--pink);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}
.voices{padding:3rem 2rem}
.voices blockquote{max-width:680px;margin:0 auto 1.5rem;padding:1.5rem;background:#fff;border-radius:32px 8px 32px 8px}
.voices cite{display:block;margin-top:.75rem;font-size:.85rem;opacity:.7}
.faq{padding:3rem 2rem;max-width:700px;margin:0 auto 3rem}
.faq details{margin-bottom:1rem;border:none;padding:1.25rem;border-radius:20px;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.04)}
.faq summary{cursor:pointer;font-weight:600;color:var(--pink)}
.legal{padding:3rem 2rem;background:linear-gradient(135deg,var(--pink),var(--lav));color:#fff;font-size:.88rem}
.legal dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem .75rem;margin:1rem 0}
.legal h3,.legal h4{margin:1.25rem 0 .5rem}
.legal a{color:#fff;text-decoration:underline}
.copy{margin-top:2rem;opacity:.75}
.toast{position:fixed;bottom:1.5rem;right:1.5rem;background:var(--pink);color:#fff;padding:1rem 1.5rem;border-radius:999px;transform:translateY(150%);transition:transform .3s;z-index:99}
.toast.show{transform:translateY(0)}
@media(max-width:768px){
  .menu{display:block}
  .baby-head nav{display:none;width:100%;flex-direction:column}
  .baby-head nav.open{display:flex}
  .hero-blob,.cloud-products{grid-template-columns:1fr}
  .cloud-products{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){.cloud-products{grid-template-columns:1fr}}
