:root{--pink:#fba1f5;--pink-pale:#fcc5e6;--pink-bg:#fff5fb;--magenta:#ed1566;--text:#605e5e;--round:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Hiragino Sans","Yu Gothic",sans-serif}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--round);font-weight:500;color:var(--text);background:#fff;line-height:1.9;-webkit-text-size-adjust:100%}
img{display:block;max-width:100%;height:auto}
a{color:var(--magenta)}
.wrap{width:min(100% - 32px,820px);margin-inline:auto}
.sh{border-top:10px solid var(--pink);background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.06);position:sticky;top:0;z-index:10}
.sh-bar{display:flex;align-items:center;gap:10px;padding-block:8px}
.sh-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--pink);font-weight:800;font-size:1.05rem;line-height:1.2}
.sh-brand img{width:46px;height:46px}
.sh-tel{margin-left:auto;color:var(--pink);font-weight:800;font-size:.9rem;text-decoration:none;white-space:nowrap}
.crumb{font-size:.78rem;padding-block:12px 0;color:#999}
.crumb a{color:#999}
.hero-sub{background:linear-gradient(90deg,#fbbde0,var(--pink-pale) 40%,#fdd6ec);padding-block:28px 30px;margin-top:10px}
.hero-sub h1{color:#fff;font-weight:800;font-size:clamp(1.45rem,5vw,2.2rem);line-height:1.45;margin:0;text-shadow:0 1px 4px rgba(210,110,170,.45)}
.hero-sub p{color:#fff;margin:.6em 0 0;font-size:.95rem;text-shadow:0 1px 3px rgba(210,110,170,.45)}
article{padding-block:24px 10px}
article h2{color:var(--magenta);font-size:1.3rem;line-height:1.5;margin:2em 0 .6em;padding-left:12px;border-left:6px solid var(--pink)}
article h3{color:var(--text);font-size:1.08rem;margin:1.4em 0 .4em}
article p{margin:0 0 1em}
article ul,article ol{padding-left:1.3em;margin:0 0 1em}
article li{margin-bottom:.35em}
.photo{margin:1.2em 0;border-radius:18px;overflow:hidden;box-shadow:0 6px 18px rgba(200,140,190,.28)}
.photo figcaption{font-size:.82rem;color:#999;padding:8px 12px;background:#fff}
.plans{display:grid;gap:14px;margin:1em 0}
.plan{background:var(--pink-bg);border:2px solid var(--pink-pale);border-radius:16px;padding:16px 18px}
.plan b{display:block;color:var(--magenta);font-size:1.05rem}
.plan .yen{color:var(--pink);font-weight:800;font-size:1.25rem}
@media(min-width:700px){.plans{grid-template-columns:repeat(3,1fr)}}
.check{list-style:none;padding:0}
.check li{position:relative;padding-left:1.7em}
.check li::before{content:"\2714";position:absolute;left:0;color:var(--pink)}
.qa{background:var(--pink-bg);border-radius:14px;padding:14px 16px;margin-bottom:12px}
.qa dt{font-weight:800;color:var(--magenta)}
.qa dd{margin:.3em 0 0}
.cta{background:var(--pink);color:#fff;text-align:center;padding:30px 18px;border-radius:24px;margin:36px 0}
.cta h2{color:#fff;border:0;padding:0;margin:0 0 .4em;font-size:1.3rem}
.cta p{margin:0 0 1em;font-size:.92rem}
.cta-btns{display:grid;gap:10px;max-width:360px;margin-inline:auto}
.btn{display:block;background:#fff;color:var(--magenta);font-weight:800;text-decoration:none;border-radius:999px;padding:12px 18px}
.btn--line{background:transparent;color:#fff;border:2px solid #fff}
.links{display:grid;gap:10px;margin:0 0 30px}
.links a{display:block;background:var(--pink-bg);border:2px solid var(--pink-pale);border-radius:14px;padding:12px 16px;text-decoration:none;font-weight:800}
.links a small{display:block;color:var(--text);font-weight:500;font-size:.82rem}
@media(min-width:700px){.links{grid-template-columns:1fr 1fr}}
.sf{text-align:center;font-size:.75rem;color:#999;padding-block:24px}
.sf a{color:#999}
