:root{
  --ground:#FFF4F8;--panel:#FFFFFF;--panel-2:#FFE6F1;--ink:#361F2B;--muted:#7a6470;
  --line:#FBD3E4;--accent:#FF2D87;--accent-ink:#DB1770;--accent-soft:#FFDBEC;--gold:#8B2FE0;--gold-soft:#F0E2FF;
  --sans:"Hiragino Maru Gothic ProN","Hiragino Maru Gothic Pro",YuGothic,"Yu Gothic","M PLUS Rounded 1c","Rounded Mplus 1c",Meiryo,system-ui,sans-serif;
}
@media (prefers-color-scheme:dark){:root{
  --ground:#1E1620;--panel:#291D2A;--panel-2:#35263A;--ink:#F6E9F0;--muted:#BFA3B4;
  --line:#3E2E42;--accent:#FF4C97;--accent-ink:#FF8FBB;--accent-soft:#3E2233;--gold:#A55CF0;--gold-soft:#2E2140;
}}
*{box-sizing:border-box;}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);line-height:1.85;
  -webkit-font-smoothing:antialiased;font-feature-settings:"palt" 1;}
.wrap{max-width:720px;margin:0 auto;padding:22px 20px 60px;}
.brand{font-size:.82rem;color:var(--muted);font-weight:700;padding:6px 0 16px;}
.brand a{color:var(--accent-ink);text-decoration:none;}
h1{font-size:clamp(1.5rem,5vw,2.05rem);line-height:1.32;margin:.2em 0 .5em;text-wrap:balance;}
.lead{color:var(--muted);font-size:1.02rem;margin:0 0 22px;}
h2{font-size:1.25rem;margin:1.8em 0 .5em;padding-left:12px;border-left:5px solid var(--accent);line-height:1.4;}
p{margin:.6em 0;} ul{margin:.6em 0;padding-left:1.25em;} li{margin:.38em 0;} li::marker{color:var(--accent);}
b{color:var(--accent-ink);}
.cta{display:block;text-decoration:none;background:linear-gradient(135deg,var(--accent),var(--gold));color:#fff;
  border-radius:22px;padding:22px 22px;margin:30px 0;box-shadow:0 18px 36px -18px rgba(255,45,135,.7);}
.cta b{display:block;font-size:1.22rem;color:#fff;line-height:1.4;margin-bottom:4px;}
.cta span{font-size:.9rem;opacity:.95;}
.related{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0;}
.related a{flex:1 1 42%;text-decoration:none;background:var(--panel);border:1.5px solid var(--line);border-radius:14px;
  padding:13px 15px;color:var(--accent-ink);font-weight:700;font-size:.92rem;transition:border-color .14s;}
.related a:hover{border-color:var(--accent);}
.shopl{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-weight:800;
  border-radius:999px;padding:11px 20px;margin:8px 8px 8px 0;font-size:.92rem;box-shadow:0 10px 22px -12px rgba(255,45,135,.6);}
.foot{margin-top:38px;border-top:1px solid var(--line);padding-top:16px;font-size:.85rem;color:var(--muted);}
.foot a{color:var(--accent-ink);}
a:focus-visible,.cta:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;}
