:root{
  --cream:#fffaf8; --blush:#fbeef1; --blush-2:#f7e3e8; --petal:#f1cfd8;
  --rose:#e39ab0; --rose-deep:#c46f8b; --rose-ink:#9a4f68;
  --plum:#5b3c49; --ink:#4a3d43; --gray:#8d7d84;
  --shadow:0 14px 40px rgba(196,111,139,.14); --shadow-sm:0 6px 18px rgba(196,111,139,.10); --r:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;color:var(--ink);background:var(--cream);line-height:2;font-size:16px;-webkit-font-smoothing:antialiased;padding-bottom:76px}
img{max-width:100%;display:block}
a{color:var(--rose-ink)}
h1,h2,h3{font-family:"Shippori Mincho B1","Hiragino Mincho ProN",serif;color:var(--plum);letter-spacing:.01em}
.en{font-family:"Cormorant Garamond",serif;font-style:italic;color:var(--rose-deep);letter-spacing:.08em;font-weight:500}
.head{position:sticky;top:0;z-index:60;background:rgba(255,250,248,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--petal)}
.head .in{max-width:1180px;margin:0 auto;padding:0 18px;height:64px;display:flex;align-items:center;gap:22px}
.head .logo{display:flex;align-items:center;gap:11px;text-decoration:none;white-space:nowrap}
.head .logo .mk{height:32px;width:auto;filter:invert(1) sepia(1) saturate(3) hue-rotate(290deg) brightness(.75)}
.head .logo .wd img{height:15px;width:auto;display:block;filter:invert(1) sepia(1) saturate(3) hue-rotate(290deg) brightness(.75)}
.head .logo small{display:block;font-size:9px;letter-spacing:.34em;color:var(--rose-deep);font-weight:700;margin-top:4px}
.head nav{margin-left:auto;display:flex;align-items:center;gap:18px}
.head nav a{color:var(--plum);text-decoration:none;font-size:13px;font-weight:500;white-space:nowrap}
.btn{display:inline-block;background:linear-gradient(135deg,var(--rose),var(--rose-deep));color:#fff;text-decoration:none;font-weight:700;border-radius:999px;padding:14px 30px;font-size:14.5px;letter-spacing:.04em;box-shadow:0 8px 22px rgba(196,111,139,.3);font-family:"Shippori Mincho B1","Hiragino Mincho ProN",serif}
.head .btn{padding:10px 20px;font-size:13px}
@media(max-width:820px){.head nav a:not(.btn){display:none}}
.a-hero{background:linear-gradient(180deg,#fff6f8 0%,var(--cream) 100%);padding:52px 0 40px;border-bottom:1px solid var(--blush-2)}
.a-hero .in{max-width:800px;margin:0 auto;padding:0 22px}
.a-hero .k{font-size:15px}
.a-hero h1{font-weight:700;font-size:clamp(23px,4.2vw,34px);line-height:1.55;margin:12px 0 0}
.a-hero .sub{margin:18px 0 0;color:var(--gray);font-size:15px;line-height:1.95}
main{max-width:800px;margin:0 auto;padding:16px 22px 70px}
.bc{font-size:12.5px;color:var(--gray);margin:24px 0 30px}
.bc a{color:var(--gray)}
article h2{font-weight:700;font-size:clamp(20px,3.2vw,25px);line-height:1.6;margin:56px 0 14px;padding-left:16px;border-left:4px solid var(--rose)}
article h2:first-child{margin-top:0}
article h3{font-size:17.5px;font-weight:700;margin:36px 0 8px;line-height:1.7;padding-bottom:8px;border-bottom:1px dotted var(--petal)}
article p{margin:0 0 1.3em}
article strong{font-weight:700;background:linear-gradient(transparent 62%,#fbd3de 62%);border-radius:3px}
article ul{margin:0 0 1.4em;padding-left:1.4em}
article li{margin-bottom:.5em}
article table{width:100%;border-collapse:separate;border-spacing:0;margin:0 0 1.6em;font-size:15px;background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm)}
article th,article td{text-align:left;vertical-align:top;padding:13px 16px;border-bottom:1px solid var(--blush-2);line-height:1.85}
article th{background:var(--blush);color:var(--rose-ink);font-weight:700;font-size:14px;white-space:nowrap}
.tbl-wrap{overflow-x:auto}
.cta-band{background:linear-gradient(135deg,#fff 0%,var(--blush) 100%);border:1px solid var(--blush-2);border-radius:var(--r);padding:34px 32px;margin:52px 0;text-align:center;box-shadow:var(--shadow-sm)}
.cta-band h3{font-size:clamp(18px,3vw,23px);margin:0 0 12px;line-height:1.6;border:0;padding:0;font-weight:700;color:var(--plum)}
.cta-band p{margin:0 0 20px;font-size:14.5px;color:var(--ink);line-height:1.9}
.cta-band a{display:inline-block;background:linear-gradient(135deg,var(--rose),var(--rose-deep));color:#fff;text-decoration:none;font-weight:700;padding:14px 34px;border-radius:999px;font-size:15px;box-shadow:0 8px 22px rgba(196,111,139,.3)}
.related{margin-top:56px;background:#fff;border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow-sm)}
.related b{display:block;font-family:"Shippori Mincho B1","Hiragino Mincho ProN",serif;color:var(--rose-ink);font-size:13px;letter-spacing:.12em;margin-bottom:10px}
.related a{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--blush-2);text-decoration:none;color:var(--plum);font-size:14.5px;line-height:1.7}
.related a .ar{color:var(--rose)}
footer{background:#fff;color:var(--gray);font-size:12.5px;padding:40px 0 100px;border-top:1px solid var(--blush-2)}
footer .in{max-width:1080px;margin:0 auto;padding:0 22px;display:flex;flex-wrap:wrap;gap:16px 30px;align-items:center}
footer .lg{height:56px;width:auto;filter:invert(1) sepia(1) saturate(3) hue-rotate(290deg) brightness(.75)}
footer nav{margin-left:auto;display:flex;gap:16px;flex-wrap:wrap}
footer a{color:var(--rose-ink);text-decoration:none}
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:70;background:rgba(255,250,248,.96);border-top:1px solid var(--petal);padding:10px 14px;display:flex;gap:10px;backdrop-filter:blur(10px)}
.sticky a{flex:1;text-align:center;padding:14px 8px;text-decoration:none;font-weight:700;font-size:13.5px;border-radius:999px;font-family:"Shippori Mincho B1","Hiragino Mincho ProN",serif}
.sticky .p{background:linear-gradient(135deg,var(--rose),var(--rose-deep));color:#fff}
.sticky .s{border:1.5px solid var(--rose);color:var(--rose-deep);background:#fff}
/* index list */
.list{display:grid;gap:16px;margin-top:10px}
.list a{display:block;background:#fff;border-radius:18px;padding:22px 24px;text-decoration:none;color:var(--plum);box-shadow:var(--shadow-sm)}
.list a b{display:block;font-family:"Shippori Mincho B1","Hiragino Mincho ProN",serif;font-size:17px;line-height:1.6;margin-bottom:6px}
.list a span{font-size:14px;color:var(--gray);line-height:1.8}
h2.grp{font-size:15px;letter-spacing:.14em;color:var(--rose-ink);margin:34px 0 12px;padding-left:12px;border-left:3px solid var(--rose)}
.list{margin-bottom:8px}
.points{background:#fff;border-radius:16px;padding:20px 24px;margin:28px 0 26px;box-shadow:var(--shadow-sm);border-left:4px solid var(--rose)}
.points b{display:block;font-family:"Shippori Mincho B1","Hiragino Mincho ProN",serif;color:var(--rose-ink);font-size:14px;letter-spacing:.12em;margin-bottom:8px}
.points ul{margin:0;padding-left:1.3em;font-size:14.5px;line-height:1.9}
.points li{margin-bottom:4px}
.lead-visual{margin:0 0 40px}
.lead-visual img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r);box-shadow:var(--shadow)}
