:root{--bg:#fff;--tint:#fff5f7;--tint-2:#fdeef2;--ink:#2b2430;--ink-2:#4f4752;--muted:#776e7d;--line:#f0e3e7;--line-2:#e6d5db;--accent:#d9506f;--accent-ink:#b23a5c;--accent-soft:#fde8ee;--gold:#c9a23f;--silver:#98a2ad;--bronze:#b07a55;--mint:#2a9384;--mint-soft:#e2f3f0;--up:#16803c;--down:#c0392b;--round:var(--font-round), "Hiragino Maru Gothic ProN", "Meiryo", sans-serif;--sans:var(--font-sans), "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);letter-spacing:.02em;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.85}a{color:inherit}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.container{width:min(1120px,100% - 40px);margin-inline:auto}.narrow{width:min(780px,100% - 40px);margin-inline:auto}h1,h2,h3{font-family:var(--round);letter-spacing:.01em;text-wrap:balance;font-weight:700}.topbar{background:linear-gradient(90deg, #f28aa3, var(--accent), #e8a06c);height:4px}.mast{border-bottom:1px solid var(--line);background:#fff}.mast .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block:14px;display:flex}.brand{align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{background:var(--accent);color:#fff;width:40px;height:40px;font-family:var(--round);border-radius:12px;place-items:center;font-size:20px;font-weight:700;display:grid}.brand-text b{font-family:var(--round);font-size:22px;line-height:1.2;display:block}.brand-text small{color:var(--muted);letter-spacing:.06em;font-size:11.5px;display:block}.mainnav{gap:8px;display:flex}.mainnav a{color:var(--ink-2);border-radius:999px;padding:8px 18px;font-size:15px;font-weight:700;text-decoration:none}.mainnav a:hover{background:var(--tint);color:var(--accent-ink)}.mainnav a.on{background:var(--accent);color:#fff}.sample-banner{color:#6b4d00;text-align:center;background:#fff8e8;border-bottom:1px solid #f2dfb0;padding:9px 20px;font-size:13.5px}.crumbs ol{color:var(--muted);flex-wrap:wrap;gap:4px 6px;margin:0 0 16px;padding:0;font-size:12.5px;list-style:none;display:flex}.crumbs li+li:before{content:"›";margin-right:6px}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--accent-ink);text-decoration:underline}main{padding-block:0 72px}.hero{background:var(--tint);border-bottom:1px solid var(--line);padding-block:36px 32px}.update-pill{border:1px solid var(--line-2);color:var(--accent-ink);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:3px 12px;font-size:13px;font-weight:700;display:inline-flex}.pulse{background:var(--accent);border-radius:50%;width:8px;height:8px;position:relative}.motion .pulse:after{content:"";border:2px solid var(--accent);border-radius:50%;animation:2.2s ease-out infinite pulse;position:absolute;inset:-4px}@keyframes pulse{0%{opacity:.8;transform:scale(.5)}to{opacity:0;transform:scale(1.8)}}.hero h1{margin:14px 0 10px;font-size:clamp(26px,4.2vw,40px);line-height:1.35}.hero h1 .yr{color:var(--accent);white-space:nowrap}.lead{color:var(--ink-2);max-width:720px;margin:0;font-size:16.5px}.criteria{flex-wrap:wrap;gap:8px;margin-top:18px;padding:0;list-style:none;display:flex}.criteria li{border:1px solid var(--line-2);background:#fff;border-radius:10px;padding:4px 12px;font-size:13.5px}.criteria b{color:var(--accent-ink);font-variant-numeric:tabular-nums;margin-left:4px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:760px;margin-top:22px;display:grid}.stats div{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px}.stats b{font-family:var(--round);color:var(--accent-ink);font-variant-numeric:tabular-nums;font-size:28px;line-height:1.1;display:block}.stats span{color:var(--muted);font-size:12.5px}.sec{margin-top:56px}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:18px;display:flex}.sec-head h2{border-left:5px solid var(--accent);margin:0;padding-left:14px;font-size:clamp(21px,2.6vw,26px);line-height:1.4}.sec-head a{color:var(--accent-ink);font-size:14px;font-weight:700;text-decoration:none}.sec-head a:hover{text-decoration:underline}.rank-rows{gap:14px;margin:0;padding:0;list-style:none;display:grid}.rrow{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 22px;transition:box-shadow .25s,border-color .25s;display:grid;box-shadow:0 2px 10px #b23a5c0d}.rrow:hover{border-color:var(--line-2);box-shadow:0 10px 26px #b23a5c1a}.rrow.top{border-color:#efd9a8}.crown{place-items:center;width:56px;height:56px;display:grid;position:relative}.crown svg{width:56px;height:56px;position:absolute;inset:0}.crown span{font-family:var(--round);color:#fff;margin-top:8px;font-size:20px;font-weight:700;position:relative}.crown.r1 svg path{fill:var(--gold)}.crown.r2 svg path{fill:var(--silver)}.crown.r3 svg path{fill:var(--bronze)}.crown.plain{background:var(--tint-2);border-radius:50%}.crown.plain span{color:var(--accent-ink);margin-top:0}.rmain{gap:8px;min-width:0;display:grid}.rname{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.avatar{color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:grid}.rname h3{margin:0;font-size:19px;line-height:1.3}.rname small{color:var(--muted);font-size:13px}.partner{color:var(--accent-ink);border:1px solid var(--accent);letter-spacing:.04em;border-radius:4px;padding:0 6px;font-size:11px;font-weight:700}.bestfor{background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;justify-self:start;padding:2px 12px;font-size:13px;font-weight:700}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{color:var(--ink-2);background:#f7f3f5;border-radius:6px;padding:1px 9px;font-size:12.5px}.chip.ok{background:var(--mint-soft);color:var(--mint);font-weight:700}.rside{justify-items:center;gap:8px;display:grid}.mv{font-variant-numeric:tabular-nums;border-radius:6px;padding:1px 8px;font-size:12px;font-weight:700}.mv.up{color:var(--up);background:#e7f5ec}.mv.down{color:var(--down);background:#fbeceb}.mv.same{color:var(--muted);background:#f4f1f3}.mv.new{color:var(--accent-ink);background:var(--accent-soft)}.rcta{color:#fff;background:var(--accent);white-space:nowrap;border-radius:999px;padding:5px 14px;font-size:13px;font-weight:700;text-decoration:none}.rcta:hover{background:var(--accent-ink)}.rcta.muted{color:var(--muted);border:1px dashed var(--line-2);background:0 0;font-weight:500}.ring{width:70px;height:70px;position:relative}.ring svg{width:70px;height:70px;display:block}.ring-track{fill:none;stroke:var(--tint-2);stroke-width:6px}.ring-fill{fill:none;stroke:var(--accent);stroke-width:6px;stroke-linecap:round;stroke-dasharray:var(--circ);stroke-dashoffset:var(--off)}.ring-num{font-family:var(--round);font-variant-numeric:tabular-nums;place-items:center;font-size:16px;font-weight:700;display:grid;position:absolute;inset:0}.ring small{text-align:center;color:var(--muted);font-size:9px;position:absolute;bottom:10px;left:0;right:0}.disc{color:var(--muted);font-size:13px}.disc a{color:inherit}.btn{background:var(--ink);color:#fff;border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:0 22px;font-size:14.5px;font-weight:700;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.btn:hover{background:var(--accent-ink);transform:translateY(-1px)}.btn.line{color:var(--ink);border:1px solid var(--line-2);background:#fff}.cta-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;display:flex}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.tab{font:inherit;border:1px solid var(--line-2);color:var(--ink-2);cursor:pointer;background:#fff;border-radius:999px;padding:6px 16px;font-size:14px;font-weight:700}.tab.on{background:var(--accent);border-color:var(--accent);color:#fff}[role=tabpanel]:not([hidden]){animation:.35s panel-in}@keyframes panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.tr3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.tcol{border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px 18px 8px}.tcol h3{justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 6px;font-size:18px;display:flex}.tcol h3 a{font-family:var(--sans);color:var(--accent-ink);white-space:nowrap;font-size:12.5px;text-decoration:none}.t3{margin:0;padding:0;list-style:none}.t3 li{border-bottom:1px dashed var(--line-2);grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;display:grid}.t3 li:last-child{border-bottom:0}.t3 .n{font-family:var(--round);color:var(--accent-ink);font-size:20px;font-weight:700}.t3 b{font-size:14.5px;display:block}.t3 small{color:var(--muted);font-size:12px;line-height:1.5;display:block}.t3 .s{font-family:var(--round);font-variant-numeric:tabular-nums;font-weight:700}.minibar{background:var(--tint-2);border-radius:2px;max-width:160px;height:4px;margin-top:6px;display:block;overflow:hidden}.minibar.wide{max-width:280px}.minibar i{background:var(--accent);border-radius:2px;height:100%;display:block}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.acard{border:1px solid var(--line);background:#fff;border-radius:18px;transition:box-shadow .25s,transform .25s;overflow:hidden}.acard:hover{transform:translateY(-3px);box-shadow:0 12px 28px #b23a5c1a}.acard a{grid-template-rows:auto 1fr;height:100%;text-decoration:none;display:grid}.thumb{color:#fff;background-position:0 0;background-size:140% 140%;flex-direction:column;justify-content:flex-end;height:128px;padding:14px 16px;transition:background-position .6s;display:flex}.acard:hover .thumb{background-position:100% 100%}.thumb b{font-family:var(--round);font-size:20px;line-height:1.3}.thumb small{opacity:.9;font-size:11.5px}.th-price{background-image:linear-gradient(135deg,#f6a8bb,#c84a6c)}.th-guide{background-image:linear-gradient(135deg,#9fd5cc,#2a8d7f)}.th-news{background-image:linear-gradient(135deg,#f3cf98,#c8873a)}.th-other{background-image:linear-gradient(135deg,#c9c3d6,#6c6380)}.abody{align-content:start;gap:6px;padding:14px 16px 16px;display:grid}.cat{color:var(--accent-ink);background:var(--accent-soft);border-radius:4px;justify-self:start;padding:0 8px;font-size:11.5px;font-weight:700}.abody h3,.abody h2{font-family:var(--sans);margin:0;font-size:15.5px;font-weight:700;line-height:1.6}.abody p{color:var(--muted);margin:0;font-size:12.5px}.pillar{border:1px solid var(--line);background:#fff;border-radius:20px;grid-template-columns:220px minmax(0,1fr);gap:0;text-decoration:none;display:grid;overflow:hidden}.pillar .thumb{height:auto;min-height:160px}.pillar div.pbody{align-content:center;gap:8px;padding:20px 24px;display:grid}.pillar h3{margin:0;font-size:20px;line-height:1.5}.pillar p{color:var(--ink-2);margin:0;font-size:14.5px}.trust{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.trust a{background:var(--tint);border:1px solid var(--line);border-radius:16px;padding:18px;text-decoration:none;display:block}.trust a:hover{border-color:var(--accent)}.trust b{font-family:var(--round);margin-bottom:4px;font-size:17px;display:block}.trust span{color:var(--ink-2);font-size:13.5px}.page-head{padding-block:28px 8px}.page-head h1{margin:6px 0 10px;font-size:clamp(25px,3.8vw,34px);line-height:1.4}.weights{gap:8px;max-width:600px;margin-top:10px;display:grid}.weights div{grid-template-columns:140px 1fr 48px;align-items:center;gap:10px;font-size:14px;display:grid}.weights .t{background:var(--tint-2);border-radius:5px;height:10px;overflow:hidden}.weights .t i{background:var(--accent);border-radius:5px;height:100%;display:block}.weights .v{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.pill-links{flex-wrap:wrap;gap:8px;display:flex}.pill-links a{border:1px solid var(--line-2);border-radius:999px;padding:6px 16px;font-size:14px;font-weight:700;text-decoration:none}.pill-links a:hover{border-color:var(--accent);color:var(--accent-ink)}.read-progress{top:env(safe-area-inset-top,0px);z-index:20;height:3px;position:sticky}.read-progress div{background:var(--accent);transform-origin:0;height:100%;transform:scaleX(0)}.art-head{padding-top:24px}.art-head h1{margin:10px 0 12px;font-size:clamp(24px,3.6vw,33px);line-height:1.5}.meta{color:var(--muted);flex-wrap:wrap;gap:4px 14px;font-size:13px;display:flex}.meta b{color:var(--ink-2);font-weight:700}.notice{border:1px solid var(--line);border-left:4px solid var(--accent);color:var(--ink-2);background:#fbf8f9;border-radius:10px;margin:20px 0;padding:12px 16px;font-size:14px}.notice a{color:var(--accent-ink);font-weight:700}.points{background:var(--tint);border:2px solid var(--accent-soft);border-radius:16px;margin:24px 0;padding:18px 22px}.points h2{color:var(--accent-ink);margin:0 0 8px;font-size:17px}.points ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.points li{grid-template-columns:22px 1fr;gap:8px;font-size:15px;line-height:1.7;display:grid}.points li:before{content:"✓";color:#fff;background:var(--accent);border-radius:50%;place-items:center;width:20px;height:20px;margin-top:4px;font-size:12px;font-weight:700;display:grid}.toc{border:1px solid var(--line-2);background:#fff;border-radius:16px;margin:0 0 28px;padding:16px 22px}.toc h2{margin:0 0 8px;font-size:16px}.toc ol{gap:4px;margin:0;padding-left:22px;font-size:14.5px;display:grid}.toc a{color:var(--ink-2);text-decoration:none}.toc a:hover{color:var(--accent-ink);text-decoration:underline}.prose{font-size:16.5px;line-height:1.95}.prose h2{background:var(--tint);border-left:6px solid var(--accent);border-radius:0 10px 10px 0;margin:52px 0 16px;padding:12px 16px;scroll-margin-top:16px;font-size:clamp(21px,2.8vw,24px);line-height:1.5}.prose h3{border-bottom:2px dotted var(--line-2);margin:32px 0 10px;padding-bottom:6px;font-size:18.5px}.prose p,.prose ul,.prose ol{margin:0 0 20px}.prose li{margin:6px 0}.prose a{color:var(--accent-ink);text-underline-offset:3px}.prose strong{background:linear-gradient(#0000 62%,#ffdbe4 62%);font-weight:700}.prose blockquote{color:var(--ink-2);background:#f7f5f8;border-radius:12px;margin:24px 0;padding:12px 18px}.table-wrap{border:1px solid var(--line-2);border-radius:12px;margin:22px 0 26px;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:14.5px;line-height:1.6}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}.prose th{background:var(--tint-2);white-space:nowrap;font-weight:700}.prose tr:last-child td{border-bottom:0}.faq{margin-top:52px}.faq h2,.sources h2,.related h2{margin:0 0 14px;font-size:22px}.qa{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:12px;padding:14px 18px}.qa h3{font-family:var(--sans);grid-template-columns:28px 1fr;gap:6px;margin:0 0 8px;font-size:16px;line-height:1.6;display:grid}.qa h3:before{content:"Q";color:#fff;background:var(--accent);width:26px;height:26px;font-family:var(--round);border-radius:8px;place-items:center;font-size:14px;display:grid}.qa p{color:var(--ink-2);grid-template-columns:28px 1fr;gap:6px;margin:0;font-size:15px;display:grid}.qa p:before{content:"A";color:var(--accent-ink);background:var(--accent-soft);width:26px;height:26px;font-family:var(--round);border-radius:8px;place-items:center;font-size:14px;font-weight:700;display:grid}.rank-cta{border:1px solid var(--line-2);background:linear-gradient(135deg,#fff1f4,#fff7ef);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:36px 0;padding:20px 22px;display:flex}.rank-cta b{font-family:var(--round);font-size:18px;display:block}.rank-cta span{color:var(--ink-2);font-size:14px}.sources{color:var(--ink-2);margin-top:44px;font-size:13.5px}.sources ol{padding-left:22px}.sources li{overflow-wrap:anywhere;margin:4px 0;line-height:1.6}.sources a{color:var(--ink-2)}.disclaimer{color:var(--muted);border-top:1px solid var(--line);margin-top:28px;padding-top:14px;font-size:13px}.related{margin-top:52px}.page-body{font-size:16px;line-height:1.95}.page-body h2{margin:32px 0 10px;font-size:21px}.page-body a{color:var(--accent-ink)}.site-footer{background:var(--tint);border-top:1px solid var(--line);color:var(--ink-2);padding-block:36px 24px;font-size:13.5px}.f-top{flex-wrap:wrap;justify-content:space-between;gap:28px;display:flex}.f-top p{max-width:460px;color:var(--muted);margin:10px 0 0}.f-links{grid-template-columns:repeat(2,auto);align-content:start;gap:6px 28px;display:grid}.f-links a{text-decoration:none}.f-links a:hover{color:var(--accent-ink);text-decoration:underline}.f-bottom{border-top:1px solid var(--line-2);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:24px;padding-top:14px;font-size:12px;display:flex}.motion [data-anim] [data-count]{visibility:hidden}.motion [data-anim].in [data-count]{visibility:visible}.motion [data-anim=rise]{opacity:0}.motion [data-anim=rise].in{animation:.7s cubic-bezier(.2,.7,.2,1) both rise-in;animation-delay:calc(var(--i,0) * 80ms)}@keyframes rise-in{0%{opacity:0;translate:0 18px}to{opacity:1;translate:0}}.motion [data-anim] .fill-x{transform-origin:0;transition:transform 1.3s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 90ms + .25s);transform:scaleX(0)}.motion [data-anim].in .fill-x{transform:scaleX(1)}.motion [data-anim] .ring-fill{stroke-dashoffset:var(--circ);transition:stroke-dashoffset 1.5s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 80ms + .15s)}.motion [data-anim].in .ring-fill{stroke-dashoffset:var(--off)}.motion [data-anim] .crown svg{opacity:0;transition:transform .6s cubic-bezier(.3,1.6,.5,1),opacity .3s;transition-delay:calc(var(--i,0) * 80ms + .3s);transform:scale(.4)rotate(-12deg)}.motion [data-anim].in .crown svg{opacity:1;transform:none}.motion [data-anim] .mv{opacity:0;transition:opacity .4s,transform .5s cubic-bezier(.3,1.6,.5,1);transition-delay:calc(var(--i,0) * 80ms + .9s);transform:scale(.6)}.motion [data-anim].in .mv{opacity:1;transform:none}.motion .points[data-anim=rise] li{opacity:0;transition:opacity .5s,translate .5s;translate:-8px}.motion .points[data-anim=rise].in li{opacity:1;translate:0}.motion .points li:nth-child(2){transition-delay:80ms}.motion .points li:nth-child(3){transition-delay:.16s}.motion .points li:nth-child(4){transition-delay:.24s}.motion .points li:nth-child(5){transition-delay:.32s}@media (max-width:900px){.tr3,.cards,.trust{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.container,.narrow{width:calc(100% - 32px)}.tr3,.cards,.trust{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.rrow{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:16px}.rside{grid-column:1/3;grid-template-columns:auto auto 1fr;place-items:center start}.crown,.crown svg{width:46px;height:46px}.pillar{grid-template-columns:1fr}.pillar .thumb{min-height:110px}.weights div{grid-template-columns:110px 1fr 42px;font-size:13px}.prose{font-size:16px}.mainnav a{padding:6px 14px;font-size:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
