:root{--pink:#e2607a;--pink-soft:#fdeff1;--pink-mid:#f6c9d1;--navy:#3f6aa6;--navy-dark:#2c4f80;--ink:#2b2b33;--ink-sub:#5d5d68;--line-g:#06c755;--hpb:#e8424f;--bg-alt:#faf6f4;--border:#ece6e3;--r:14px}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:#fff;line-height:1.9;font-size:16px}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy-dark)}
.wrap{max-width:720px;margin:0 auto;padding:0 18px}
.top{background:var(--pink);color:#fff}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:52px}
.brand{font-weight:800;font-size:1.05rem;text-decoration:none;color:#fff}
.brand span{font-size:.78rem;margin-left:6px}
.top-tel{font-weight:700;font-size:.9rem;text-decoration:none;color:#fff}
.crumb{font-size:.78rem;color:var(--ink-sub);padding:14px 0 0}
.crumb a{color:var(--ink-sub)}
article{padding:18px 0 40px}
article h1{font-size:1.5rem;line-height:1.5;margin:6px 0 10px}
.meta{font-size:.8rem;color:var(--ink-sub);margin-bottom:16px}
.eyecatch{border-radius:var(--r);margin-bottom:20px;width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--bg-alt)}
.lead{background:var(--bg-alt);border-radius:var(--r);padding:16px 18px;margin-bottom:24px}
article h2{font-size:1.22rem;line-height:1.5;margin:34px 0 12px;padding:8px 0 8px 14px;border-left:5px solid var(--pink);background:linear-gradient(90deg,var(--pink-soft),#fff)}
article h3{font-size:1.05rem;margin:22px 0 6px;color:var(--navy-dark)}
article p{margin:0 0 14px}
article ul{margin:0 0 16px;padding:14px 18px 14px 34px;background:#fff;border:1px solid var(--border);border-radius:12px}
article li{margin:4px 0}
.toc{border:1px solid var(--border);border-radius:12px;padding:14px 18px;margin:0 0 20px;font-size:.92rem}
.toc b{display:block;margin-bottom:6px}
.toc ol{padding-left:1.3em}
.cta{background:var(--pink-soft);border:2px solid var(--pink);border-radius:var(--r);padding:20px 18px;margin:34px 0 8px;text-align:center}
.cta p.t{font-weight:800;font-size:1.05rem;margin-bottom:4px}
.cta p.s{font-size:.88rem;color:var(--ink-sub);margin-bottom:12px}
.cta .price{font-size:.9rem;margin-bottom:12px}
.cta .price b{color:#d81f3f;font-size:1.5rem}
.btn{display:flex;align-items:center;justify-content:center;min-height:54px;border-radius:999px;text-decoration:none;font-weight:800;color:#fff;margin-top:10px;box-shadow:0 4px 0 rgba(0,0,0,.14)}
.btn-hpb{background:var(--hpb)}.btn-line{background:var(--line-g)}.btn-free{background:var(--navy)}
.btn-lp{background:#fff;color:var(--pink);border:2px solid var(--pink);box-shadow:none}
.note{font-size:.78rem;color:var(--ink-sub)}
.related{padding:30px 0 40px;background:var(--bg-alt)}
.related h2{font-size:1.15rem;margin-bottom:14px;text-align:center}
.cards{display:grid;gap:12px}
.card{display:flex;gap:12px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:10px;text-decoration:none;color:var(--ink);align-items:center}
.card img{width:96px;height:72px;object-fit:contain;background:var(--bg-alt);border-radius:8px;flex:none}
.card span{font-weight:700;font-size:.92rem;line-height:1.5}
.card small{display:block;font-weight:400;color:var(--ink-sub);font-size:.78rem;margin-top:2px}
footer{background:#2b2b33;color:#cfcfd6;font-size:.8rem;padding:26px 0 30px;text-align:center;line-height:1.9}
footer a{color:#fff}
@media (min-width:760px){body{font-size:17px}article h1{font-size:1.8rem}.cards{grid-template-columns:1fr 1fr}}
