:root{
  --bg:#0d0e11;--bg2:#13151a;--panel:#171a20;--panel2:#20242c;--line:#2a2e37;
  --text:#eef0f3;--sub:#b8bdc6;--muted:#808692;
  --hot:#f2552c;--orange:#ff8a4c;--gold:#e9c46a;--ok:#5bc694;
  --link:#e9c46a;--navbg:rgba(13,14,17,.82);--hot-soft:rgba(242,85,44,.12);--gold-soft:rgba(233,196,106,.12);
  --shadow:0 1px 0 rgba(255,255,255,.04) inset,0 18px 40px rgba(0,0,0,.35);
  --radius:16px;
  --num:"Barlow Condensed","Arial Narrow",sans-serif;
}
/* コラム・ツールは白基調（読みやすさと信頼感） */
body.light{
  --bg:#f6f5f1;--bg2:#efede7;--panel:#ffffff;--panel2:#f3f1ec;--line:#e4e1d9;
  --text:#17191d;--sub:#464b53;--muted:#7a7f87;
  --gold:#a86f12;--link:#c2410c;--navbg:rgba(246,245,241,.88);--hot-soft:rgba(242,85,44,.08);--gold-soft:rgba(168,111,18,.08);
  --shadow:0 1px 2px rgba(20,20,20,.04),0 10px 30px rgba(20,20,20,.06);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Noto Sans JP",system-ui,-apple-system,sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--link)}
.hidden{display:none!important}
.container{max-width:760px;margin:0 auto;padding:0 18px}

/* nav */
.nav{position:sticky;top:0;z-index:5;background:var(--navbg);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .container{display:flex;align-items:center;justify-content:space-between;height:56px}
.brand{white-space:nowrap;font-family:"Noto Sans JP",sans-serif;font-weight:900;font-size:22px;letter-spacing:.5px;color:var(--text);text-decoration:none}
.brand small{font-family:"Inter",sans-serif;font-weight:600;font-size:11px;letter-spacing:2px;font-size:14px;color:var(--muted);margin-left:8px;letter-spacing:1px}
.brand span{color:var(--hot)}
.nav-links a{white-space:nowrap;color:var(--sub);text-decoration:none;font-size:14px;font-weight:700;margin-left:18px}
.nav-links a:hover{color:var(--text)}

/* hero */
.hero{text-align:center;padding:42px 0 10px;background:radial-gradient(700px 300px at 50% 0,rgba(242,85,44,.18),transparent)}
.hero .eyebrow{display:inline-block;font-size:12px;font-weight:700;color:var(--gold);border:1px solid rgba(233,196,106,.35);border-radius:999px;padding:4px 12px}
.hero h1{font-size:clamp(26px,7.4vw,46px);line-height:1.25;margin:14px 0 8px;font-weight:900;letter-spacing:-.5px}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--hot),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:var(--sub);margin:0}
.badges{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:14px}
.badges span{font-size:12px;color:var(--sub);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:4px 10px}

/* card */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-top:16px}
.app{box-shadow:0 20px 60px rgba(242,85,44,.08)}
.drop{border:2px dashed var(--line);border-radius:16px;padding:34px 16px;text-align:center;cursor:pointer;transition:.2s;background:var(--bg2)}
.drop:hover,.drop.over{border-color:var(--gold);background:var(--panel2)}
.drop .ico{font-size:46px;line-height:1}
.drop strong{display:block;font-size:18px;margin-top:8px}
.drop small{color:var(--muted)}
.drop img{max-height:380px;border-radius:12px;display:block;margin:0 auto}
details.more{margin-top:14px;font-size:14px;color:var(--sub)}
details.more summary{cursor:pointer;font-weight:700}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.grid3 input,.grid3 select,.field{width:100%;background:var(--bg2);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px 10px;font-size:16px;font-family:inherit}
.agree{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted);margin-top:16px}
.agree input{width:18px;height:18px;accent-color:var(--hot)}
.btn{display:block;width:100%;border:0;border-radius:14px;padding:17px;font-size:19px;font-weight:900;cursor:pointer;background:linear-gradient(90deg,var(--hot),var(--orange));color:#fff;margin-top:12px;font-family:inherit;transition:transform .1s,opacity .2s;text-align:center;text-decoration:none}
.btn:active{transform:scale(.98)}
.btn:disabled{opacity:.3;cursor:not-allowed}
.btn.ghost{background:var(--panel2);font-size:15px;border:1px solid var(--line)}
.err{color:#ff8a80;font-size:14px;margin-top:10px;text-align:center}
.note{font-size:12px;color:var(--muted);text-align:center;margin-top:10px}

/* thinking */
.think{text-align:center;padding:40px 10px}
.spinner{width:54px;height:54px;border:5px solid var(--line);border-top-color:var(--hot);border-radius:50%;animation:spin .9s linear infinite;margin:0 auto 16px}
@keyframes spin{to{transform:rotate(360deg)}}
.think .msg{font-weight:700}

/* result */
.score{text-align:center;padding:26px 16px;background:radial-gradient(400px 200px at 50% 30%,rgba(233,196,106,.12),transparent),var(--panel)}
.score .lbl{color:var(--muted);font-size:14px;font-weight:700}
.score .num{font-family:var(--num);font-weight:700;font-size:140px;line-height:.95;color:var(--gold)}
.score .num small{font-size:56px}
.score .tier{font-size:24px;font-weight:900}
.score .head{color:var(--sub);margin-top:4px}
.meter{position:relative;height:10px;border-radius:6px;background:linear-gradient(90deg,var(--ok),var(--gold),var(--hot));margin:18px 6px 4px}
.meter i{position:absolute;top:-5px;width:4px;height:20px;background:#fff;border-radius:2px;transform:translateX(-2px);transition:left 1s}
.meter-l{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin:0 6px}
h2.sec{font-size:22px;margin:44px 0 6px;font-weight:900}
h3.sub{font-size:16px;margin:0 0 12px}
.part{padding:11px 0;border-top:1px solid var(--line)}
.part:first-child{border-top:0;padding-top:0}
.part .row{display:flex;justify-content:space-between;font-weight:700;font-size:15px}
.part .row b{color:var(--gold)}
.bar{height:8px;background:var(--bg2);border-radius:6px;overflow:hidden;margin:6px 0}
.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--ok),var(--gold),var(--hot));width:0;transition:width 1s}
.part p{margin:0;font-size:14px;color:var(--sub)}
.grow{background:linear-gradient(135deg,var(--hot-soft),var(--panel));border-color:var(--line)}
.grow .big{font-size:20px;font-weight:900}
.share-img{width:100%;border-radius:12px;display:block}
.share{display:flex;gap:8px;margin-top:12px}
.share a,.share button{flex:1;text-align:center;text-decoration:none;border-radius:12px;padding:13px;font-weight:900;border:0;cursor:pointer;font-size:15px;font-family:inherit}
.share .x{background:#000;color:#fff;box-shadow:inset 0 0 0 1px #444}
.share .line{background:#06c755;color:#fff}
.share .copy{background:var(--panel2);color:#fff}

/* offers */
.pr{font-size:10px;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 5px;margin-left:6px;vertical-align:middle}
.offers{display:grid;gap:10px}
.offer{display:flex;gap:14px;align-items:center;background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:14px;text-decoration:none;color:var(--text);transition:.15s}
.offer:hover{border-color:var(--gold);transform:translateY(-1px)}
.offer .em{font-size:30px;width:52px;height:52px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--panel2);border-radius:12px}
.offer .t{font-weight:900}
.offer .d{font-size:13px;color:var(--sub);line-height:1.5}
.offer .go{margin-left:auto;flex:none;font-size:12px;font-weight:900;color:#111;background:var(--gold);border-radius:999px;padding:7px 12px;white-space:nowrap}
.offer .tag{display:inline-block;font-size:10px;font-weight:900;background:var(--hot);color:#fff;border-radius:4px;padding:0 5px;margin-left:6px;vertical-align:middle}

/* sections */
.tiers{display:grid;gap:8px}
.tier-row{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.tier-row .r{font-family:var(--num);font-weight:700;font-size:26px;color:var(--gold);width:78px;flex:none}
.tier-row b{display:block}
.tier-row span{font-size:13px;color:var(--sub)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.step{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;text-align:center}
.step .n{font-family:var(--num);font-weight:700;font-size:34px;color:var(--hot);line-height:1}
.step b{display:block;margin:6px 0 2px}
.step span{font-size:13px;color:var(--sub)}
table.t{width:100%;border-collapse:collapse;font-size:14px;background:var(--panel);border-radius:14px;overflow:hidden}
table.t th,table.t td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
table.t th{background:var(--panel2);font-weight:700}
.faq details{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:8px}
.faq summary{cursor:pointer;font-weight:700}
.faq p{margin:10px 0 0;color:var(--sub);font-size:14px}
.cols{display:grid;gap:10px}
.col-card{display:block;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;text-decoration:none;color:var(--text)}
.col-card:hover{border-color:var(--gold)}
.col-card b{display:block;font-size:16px}
.col-card span{font-size:13px;color:var(--sub)}
footer.site{border-top:1px solid var(--line);margin-top:60px;padding:28px 0 40px;text-align:center;font-size:12px;color:var(--muted)}
footer.site a{color:var(--sub);margin:0 8px}

/* modal */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;padding:16px;z-index:20}
.modal .box{background:var(--panel);border:1px solid var(--line);border-radius:16px;max-width:620px;max-height:85vh;overflow:auto;padding:22px;font-size:13px}
.modal ol{padding-left:18px}

/* article */
.article{padding-top:26px}
.crumb{font-size:12px;color:var(--muted)}
.crumb a{color:var(--muted)}
.article h1{font-size:clamp(24px,6vw,34px);line-height:1.35;margin:10px 0}
.article .meta{font-size:12px;color:var(--muted)}
.article h2{font-size:22px;margin:40px 0 10px;padding-left:12px;border-left:5px solid var(--hot)}
.article h3{font-size:18px;margin:26px 0 8px}
.article p,.article li{color:var(--text);font-size:16.5px;line-height:1.95}
.toc{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin:20px 0;font-size:14px}
.toc ol{margin:6px 0 0;padding-left:20px}
.toc a{color:var(--sub);text-decoration:none}
.lead{font-size:17px!important;color:var(--sub)!important}
.point{background:var(--panel);border-left:4px solid var(--gold);border-radius:8px;padding:12px 16px;margin:16px 0}
.cta-box{background:linear-gradient(135deg,var(--hot-soft),var(--panel));border:1px solid var(--line);border-radius:16px;padding:20px;text-align:center;margin:30px 0}
.cta-box b{font-size:18px;display:block;margin-bottom:4px}
.refs{font-size:12px;color:var(--muted)}
.refs li{color:var(--muted);font-size:12px}
.calc{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;margin:18px 0}
.calc .out{text-align:center;margin-top:12px}
.calc .out .v{font-family:var(--num);font-weight:700;font-size:64px;color:var(--gold);line-height:1}
@media (max-width:520px){.steps{grid-template-columns:1fr}.score .num{font-size:120px}}
#result{scroll-margin-top:70px}
@media (max-width:520px){.offer{gap:12px;padding:12px}.offer .em{width:44px;height:44px;font-size:26px}.offer .go{padding:6px 11px;font-size:16px}.offer .go-t{display:none}}
.fmt{display:flex;gap:6px;margin-bottom:10px;background:var(--bg2);border-radius:12px;padding:4px}
.fmt button{flex:1;border:0;background:transparent;color:var(--muted);font-weight:700;font-size:13px;padding:9px;border-radius:9px;cursor:pointer;font-family:inherit}
.fmt button.on{background:var(--panel2);color:var(--text)}
.share.big button{padding:15px;font-size:16px}
.share .primary{flex:2;background:linear-gradient(90deg,var(--hot),var(--orange));color:#fff}
#cardImg{max-height:560px;object-fit:contain;background:#000}
@media (max-width:480px){.brand small{display:none}}
@media (max-width:360px){.nav-links a{margin-left:12px;font-size:13px}}
.eyecatch{width:100%;height:auto;border-radius:14px;margin:14px 0 4px;display:block}
.fig{margin:20px 0}
.fig img{width:100%;height:auto;border-radius:14px;display:block;background:#121216}
.fig figcaption{font-size:12px;color:var(--muted);margin-top:6px;text-align:center}
.col-card img{width:100%;height:auto;border-radius:10px;margin-bottom:8px;display:block}
/* ===== バズ向けの演出 ===== */
.demo{display:grid;grid-template-columns:auto auto 1fr;grid-template-rows:auto auto auto;align-items:center;gap:2px 12px;max-width:340px;margin:18px auto 0;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:12px 16px;text-align:left}
.demo-lbl{grid-column:2/4;font-size:11px;color:var(--muted);font-weight:700}
.demo-num{grid-row:2/4;font-family:var(--num);font-weight:700;font-size:54px;line-height:1;color:var(--gold)}
.demo-num b{font-weight:400;transition:opacity .3s}
.demo-tier{font-weight:900;font-size:13px;line-height:1.35}
.demo-bar{position:relative;height:6px;border-radius:4px;background:linear-gradient(90deg,var(--ok),var(--gold),var(--hot))}
.demo-bar i{position:absolute;top:-4px;width:3px;height:14px;background:#fff;border-radius:2px;transition:left .8s cubic-bezier(.2,.8,.2,1)}
.chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:12px}
.chips span{font-size:13px;font-weight:700;background:rgba(233,196,106,.12);border:1px solid rgba(233,196,106,.35);color:var(--gold);border-radius:999px;padding:4px 10px}
.hist{font-size:13px;color:var(--sub);margin-top:12px}
.hist b{color:var(--gold)}
.score .num span.pop{animation:pop .5s ease}
@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.12)}100%{transform:scale(1)}}
.score .num span{display:inline-block}
.reveal{position:fixed;inset:0;z-index:30;background:rgba(5,5,7,.92);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px)}
.rv-in{text-align:center}
.rv-t{font-size:clamp(22px,6vw,32px);font-weight:900;animation:rv .65s ease}
@keyframes rv{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.rv-dots{display:flex;gap:8px;justify-content:center;margin-top:18px}
.rv-dots i{width:10px;height:10px;border-radius:50%;background:var(--hot);animation:dot 1s infinite}
.rv-dots i:nth-child(2){animation-delay:.15s;background:var(--orange)}
.rv-dots i:nth-child(3){animation-delay:.3s;background:var(--gold)}
@keyframes dot{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(-8px);opacity:1}}
.confetti{position:fixed;inset:0;z-index:25;pointer-events:none;display:none}
.sticky-cta{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:15;text-align:center;text-decoration:none;color:#fff;font-weight:900;font-size:17px;padding:15px;border-radius:14px;background:linear-gradient(90deg,var(--hot),var(--orange));box-shadow:0 10px 30px rgba(242,85,44,.35)}
@media (min-width:761px){.sticky-cta{left:50%;right:auto;transform:translateX(-50%);width:420px}}
.share{flex-wrap:wrap}
.share .threads{background:#101010;color:#fff;box-shadow:inset 0 0 0 1px #444}
.share:not(.big) a,.share:not(.big) button{flex:1 1 calc(50% - 8px)}
.btn.pulse{animation:pulse 1.8s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(242,85,44,.5)}50%{box-shadow:0 0 0 12px rgba(242,85,44,0)}}
.challenge{text-align:center;padding:26px 0 10px}
.eyebrow-s{display:inline-block;font-size:13px;font-weight:900;color:var(--gold);border:1px solid rgba(233,196,106,.35);border-radius:999px;padding:4px 12px}
.ch-q{font-size:clamp(26px,7vw,38px);font-weight:900;margin:22px 0 4px;line-height:1.3}
.ch-q em{font-style:normal;color:var(--gold)}
.challenge .score .num{font-size:120px}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}

/* ===== キャラ ===== */
.demo-chara{grid-row:1/4;grid-column:1;width:72px;height:72px}
.demo-num{grid-column:2}
.chara-big{display:block;width:190px;height:190px;margin:-6px auto 0;transform:scale(.4) translateY(30px);opacity:0;transition:transform .55s cubic-bezier(.2,1.6,.4,1),opacity .3s}
.chara-big.in{transform:none;opacity:1;animation:wobble 2.6s 1s ease-in-out infinite}
@keyframes wobble{0%,100%{transform:rotate(0)}10%{transform:rotate(-4deg) scale(1.03)}20%{transform:rotate(4deg) scale(1.03)}30%{transform:none}}
.chara-name{font-weight:900;font-size:16px;margin:2px 0 8px}
.tier-row img{width:64px;height:64px;flex:none}
.tier-row .r{width:64px;font-size:22px}
.tier-row .cn{display:block;font-style:normal;font-size:12px;color:var(--gold);font-weight:700}
.ch-chara{width:200px;height:200px;display:block;margin:0 auto -10px}

/* ===================== 2026-11 デザイン刷新 ===================== */
body{font-feature-settings:"palt" 1;letter-spacing:.01em}
.ic{width:1.1em;height:1.1em;vertical-align:-.18em;margin-right:.35em;flex:none}
.ic-lg{width:44px;height:44px;margin:0;color:var(--hot)}
.btn{background:var(--hot);box-shadow:0 10px 24px rgba(242,85,44,.28);letter-spacing:.04em;display:flex;align-items:center;justify-content:center;gap:.2em}
.btn .ic{margin:0 0 0 .4em}
.btn:hover{filter:brightness(1.06)}
.btn.ghost{box-shadow:none;color:var(--text)}
.card{box-shadow:var(--shadow)}
.badges span{display:inline-flex;align-items:center;font-weight:500}
.badges .ic{color:var(--ok)}
.hero h1{font-weight:900;letter-spacing:-.02em}
.hero h1 em{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--hot)}
.hero .eyebrow{font-family:"Inter","Noto Sans JP",sans-serif;letter-spacing:.12em;color:var(--gold);border-color:rgba(233,196,106,.35)}
.score .num,.demo-num,.tier-row .r,.step .n,.calc .out .v{font-family:var(--num);font-weight:700}
.score .num{color:var(--gold);letter-spacing:-.02em}
.chips span{display:inline-flex;align-items:center}
.share a,.share button{display:inline-flex;align-items:center;justify-content:center}
.share .primary{background:var(--hot)}
.sticky-cta{display:flex;align-items:center;justify-content:center;background:var(--hot)}
.drop{background:linear-gradient(180deg,var(--bg2),var(--panel))}
.drop strong{letter-spacing:.04em}

/* トップの写真・動画 */
.hero{position:relative;overflow:hidden;border-radius:0 0 24px 24px;margin:0 -18px;padding:46px 18px 20px;background:radial-gradient(800px 340px at 50% -10%,rgba(242,85,44,.20),transparent 70%),radial-gradient(600px 300px at 100% 10%,rgba(233,196,106,.10),transparent 70%)}
.hero>*:not(.hero-media){position:relative;z-index:1}
.hero-media{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;opacity:0;transition:opacity .8s}
.hero-media.has-media{opacity:1}
.hero-media video{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .8s}
.hero-media.has-video video{opacity:1}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,14,17,.55),rgba(13,14,17,.82) 60%,var(--bg))}

/* 商品カード */
.offers{display:grid;gap:12px}
.pcard{display:grid;grid-template-columns:96px 1fr;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow)}
.pimg{width:96px;height:96px;border-radius:12px;background:var(--panel2);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--hot)}
.pimg img{width:100%;height:100%;object-fit:contain;background:#fff}
.pimg .ic{width:40px;height:40px;margin:0}
.ptag{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.06em}
.ptag b{color:var(--hot);font-weight:700}
.pname{font-weight:900;font-size:16px;line-height:1.45;margin:2px 0 4px;color:var(--text)}
.pdesc{font-size:13.5px;color:var(--sub);line-height:1.65;margin:0}
.ppoints{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:3px}
.ppoints li{font-size:13px!important;color:var(--text);display:flex;gap:6px;align-items:flex-start;line-height:1.55!important}
.ppoints .ic{color:var(--ok);margin:2px 0 0;width:15px;height:15px}
.pbtns{display:flex;flex-wrap:wrap;gap:8px;grid-column:1/3;margin-top:4px}
.pbtn{flex:1 1 140px;text-align:center;text-decoration:none;font-weight:700;font-size:14px;padding:11px 10px;border-radius:10px;border:1px solid var(--line);color:var(--text);background:var(--panel2)}
.pbtn.main{background:var(--hot);border-color:var(--hot);color:#fff}
.pbtn.off{opacity:.55}
@media (max-width:420px){.pcard{grid-template-columns:72px 1fr}.pimg{width:72px;height:72px}}

/* 記事（白基調・雑誌風） */
body.light .nav{border-bottom-color:var(--line)}
body.light .brand{color:var(--text)}
body.light .card{background:var(--panel)}
body.light .cta-box{background:#17191d;color:#eef0f3;border:0}
body.light .cta-box p{color:#b8bdc6!important}
body.light table.t{background:var(--panel)}
body.light table.t th{background:var(--panel2)}
body.light footer.site{background:#111317;color:#9aa0a9;border-top:0}
body.light footer.site a{color:#cfd3d9}
.article .kicker{display:inline-block;font-family:"Inter","Noto Sans JP",sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--hot);margin-top:14px}
.article h1{font-weight:900;letter-spacing:-.01em}
.article .meta{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center}
.article .meta span{display:inline-flex;align-items:center}
.article h2{border-left:0;padding-left:0;position:relative;padding-top:18px;margin-top:48px}
.article h2::before{content:"";position:absolute;top:0;left:0;width:36px;height:4px;border-radius:2px;background:var(--hot)}
.article .lead{font-size:17.5px!important}
.photo-hero{width:100%;aspect-ratio:1200/630;object-fit:cover;border-radius:14px;display:block;margin:14px 0 4px}
.summary{background:var(--panel);border:1px solid var(--line);border-top:4px solid var(--hot);border-radius:12px;padding:16px 18px;margin:20px 0;box-shadow:var(--shadow)}
.summary b{display:block;font-size:14px;letter-spacing:.08em;color:var(--hot);margin-bottom:6px}
.summary ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.summary li{display:flex;gap:8px;font-size:15.5px!important;line-height:1.7!important}
.summary .ic{color:var(--ok);margin:4px 0 0}
.toc{background:var(--panel2);border:0}
.point{background:var(--gold-soft);border-left-color:var(--gold)}
.editor{display:flex;gap:14px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;margin:36px 0 10px}
.editor .av{width:52px;height:52px;border-radius:50%;background:var(--panel2);display:flex;align-items:center;justify-content:center;color:var(--hot);flex:none}
.editor .av .ic{margin:0;width:26px;height:26px}
.editor b{display:block}
.editor p{margin:4px 0 0;font-size:13.5px!important;color:var(--sub)!important;line-height:1.7!important}
.art-sticky{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:15;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#17191d;color:#fff;border-radius:14px;padding:10px 10px 10px 16px;box-shadow:0 12px 30px rgba(0,0,0,.25);transform:translateY(140%);transition:transform .3s;text-decoration:none}
.art-sticky.show{transform:none}
.art-sticky span{font-size:13px;font-weight:700;line-height:1.4}
.art-sticky em{font-style:normal;background:var(--hot);border-radius:10px;padding:9px 12px;font-weight:900;font-size:13px;white-space:nowrap}
@media (min-width:761px){.art-sticky{left:50%;right:auto;width:520px;margin-left:-260px}}
.col-card{transition:transform .15s,border-color .15s}
.col-card:hover{transform:translateY(-2px)}
.col-card b{line-height:1.5;margin-top:2px}

/* ===== 写真・動画（2026-11 追加） ===== */
.sec-lead{color:var(--sub);margin:0 0 14px;font-size:14px}
.steps.ph .step{padding:0 0 16px;overflow:hidden}
.step-ph{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;margin-bottom:12px;filter:saturate(.85) contrast(1.05)}
.steps.ph .step .n{font-size:28px}
.steps.ph .step b,.steps.ph .step span{padding:0 14px}
.steps.ph .step span{display:block}
.band{position:relative;overflow:hidden;margin:48px -18px 0;min-height:420px;display:flex;align-items:center;background:#08090b}
.band-media{position:absolute;inset:0}
.band-media video{width:100%;height:100%;object-fit:cover;display:block;opacity:.55}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,11,.92),rgba(8,9,11,.55) 60%,rgba(8,9,11,.3)),linear-gradient(0deg,rgba(8,9,11,.6),transparent 40%)}
.band-in{position:relative;z-index:1;padding:40px 24px;max-width:620px}
.band-k{font-family:"Inter",sans-serif;font-weight:700;letter-spacing:.22em;font-size:12px;color:var(--gold)}
.band-t{font-size:clamp(24px,5.6vw,36px);font-weight:900;line-height:1.35;margin:10px 0 12px;color:#fff}
.band-t em{font-style:normal;color:var(--hot)}
.band-s{color:#c9ccd3;font-size:14px;margin:0 0 20px}
.band-btns{display:flex;gap:10px;flex-wrap:wrap}
.band-btns .btn{width:auto;flex:0 0 auto;padding:14px 22px;margin:0}
.guide{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.g-card{display:block;position:relative;border-radius:16px;overflow:hidden;background:var(--panel);border:1px solid var(--line);text-decoration:none;color:var(--text);transition:transform .2s,border-color .2s}
.g-card:hover{transform:translateY(-2px);border-color:var(--gold)}
.g-card img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block}
.g-card>div{padding:14px 16px 16px}
.g-k{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--gold)}
.g-card b{display:block;font-size:16px;line-height:1.45;margin:4px 0 6px}
.g-card em{font-style:normal;font-size:13px;color:var(--hot);display:flex;align-items:center;gap:4px}
.g-card em .ic{width:14px;height:14px;margin:0}
@media (max-width:720px){.guide{grid-template-columns:1fr}.g-card{display:grid;grid-template-columns:120px 1fr}.g-card img{height:100%;aspect-ratio:auto}.g-card>div{padding:12px 14px}.g-card b{font-size:15px}}
@media (max-width:520px){.steps.ph{grid-template-columns:1fr}.steps.ph .step{display:grid;grid-template-columns:112px 1fr;grid-template-rows:auto auto auto;column-gap:12px;text-align:left;padding:0}
 .steps.ph .step-ph{grid-row:1/4;height:100%;aspect-ratio:auto;margin:0}.steps.ph .step .n{padding:12px 0 0;font-size:22px}.steps.ph .step b,.steps.ph .step span{padding:0 12px 0 0}.steps.ph .step span{padding-bottom:12px}
 .band{min-height:440px}.band::after{background:linear-gradient(0deg,rgba(8,9,11,.95),rgba(8,9,11,.6) 70%,rgba(8,9,11,.35))}.band-in{padding:32px 18px;align-self:flex-end}.band-btns .btn{flex:1 1 100%}}
/* 記事の写真 */
figure.photo-hero{margin:14px 0 4px}
figure.photo-hero img{width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;border-radius:14px;display:block}
figure.photo-hero figcaption,figure.photo figcaption small{font-size:11px;color:var(--sub);opacity:.8}
figure.photo-hero figcaption{text-align:right;margin-top:4px}
figure.photo{margin:24px 0}
figure.photo img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:12px;display:block}
figure.photo figcaption{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-top:6px;flex-wrap:wrap}
figure.photo figcaption span{font-size:13px;color:var(--sub)}
figure a,.credits a{color:inherit}
.col-card img{aspect-ratio:16/9;object-fit:cover}
/* 商品カードのイメージ写真 */
.pimg.has-ph{position:relative;background:#111}
.pimg.has-ph img.ph{object-fit:cover;background:none;filter:saturate(.9)}
.pimg .pic{position:absolute;right:4px;bottom:4px;width:26px;height:26px;border-radius:8px;background:rgba(13,14,17,.78);display:flex;align-items:center;justify-content:center;color:var(--gold)}
.pimg .pic .ic{width:16px;height:16px}
.credits{font-size:13px;color:var(--sub);padding-left:1.2em}
.credits li{margin:2px 0}
/* 全幅（写真・動画を画面いっぱいに） */
body{overflow-x:hidden}
.hero,.band{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-radius:0}
.hero{padding-left:calc(50vw - 50% + 18px);padding-right:calc(50vw - 50% + 18px)}
.band-in{width:100%;max-width:760px;margin:0 auto;padding:48px 18px}
.band-in>*{max-width:560px}
.band-t em{white-space:nowrap}
@media (max-width:520px){.band-media video{opacity:.8}.band-in{padding:150px 18px 32px}.band-t{font-size:24px}}

/* ===== コラム：だれでも分かる部品（2026-11-08） ===== */
.article .abody{counter-reset:sec}
.article .abody>h2{counter-increment:sec;padding-top:0;padding-left:0;display:flex;gap:12px;align-items:flex-start;font-size:23px;line-height:1.45;margin:56px 0 14px}
.article .abody>h2::before{content:counter(sec,decimal-leading-zero);position:static;width:auto;height:auto;background:var(--hot);color:#fff;font-family:var(--num);font-weight:700;font-size:20px;line-height:1;border-radius:8px;padding:7px 8px 5px;flex:none;margin-top:2px}
.article .abody>h2.no-n::before{display:none}
.article .abody>h2.no-n{counter-increment:none}
.article .abody>p{font-size:17px;line-height:2}
.article mark{background:linear-gradient(transparent 58%,rgba(242,85,44,.22) 58%);color:inherit;font-weight:700;padding:0 1px}
/* ひとことで */
.say{position:relative;background:#17191d;color:#fff;border-radius:14px;padding:18px 18px 18px 20px;margin:14px 0 18px;font-size:18px;font-weight:900;line-height:1.6}
.say::before{content:"ひとことで";display:block;font-size:11px;letter-spacing:.14em;color:var(--hot);font-weight:700;margin-bottom:4px}
.say em{font-style:normal;color:#ffb199}
/* 数字カード */
.nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:16px 0}
.nums>div{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 14px 12px;box-shadow:var(--shadow)}
.nums b{display:block;font-family:var(--num);font-weight:700;font-size:40px;line-height:1;color:var(--hot);letter-spacing:-.01em}
.nums b small{font-size:18px;margin-left:2px;color:var(--text)}
.nums span{display:block;font-size:13.5px;color:var(--sub);line-height:1.55;margin-top:6px}
/* やることリスト */
.todo{list-style:none;padding:0;margin:16px 0;display:grid;gap:8px;counter-reset:td}
.todo li{counter-increment:td;display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:16px!important;line-height:1.7!important}
.todo li::before{content:counter(td);width:30px;height:30px;border-radius:50%;background:var(--ok);color:#fff;font-family:var(--num);font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center}
.todo li b{display:block;font-size:16.5px}
.todo li span{color:var(--sub);font-size:14.5px}
/* 誤解 → 本当 */
.vs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.vs>div{border-radius:14px;padding:14px 16px;font-size:15.5px;line-height:1.7}
.vs .no{background:#f1efea;border:1px solid var(--line)}
.vs .yes{background:rgba(91,198,148,.10);border:1px solid rgba(91,198,148,.45)}
.vs i{display:block;font-style:normal;font-size:12px;font-weight:900;letter-spacing:.08em;margin-bottom:4px}
.vs .no i{color:#8a8f97}.vs .no i::before{content:"× "}
.vs .yes i{color:#2f9a68}.vs .yes i::before{content:"○ "}
.vs .no p,.vs .yes p{margin:0;font-size:15.5px!important;line-height:1.7!important}
.vs .no p{text-decoration:line-through;text-decoration-color:rgba(0,0,0,.25);color:var(--sub)}
@media (max-width:520px){.vs{grid-template-columns:1fr}}
/* 注意 */
.warn{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:12px 14px;margin:16px 0;font-size:14.5px;line-height:1.75}
.warn::before{content:"注意";display:inline-block;background:#c2410c;color:#fff;font-size:11px;font-weight:900;border-radius:5px;padding:1px 7px;margin-right:8px}
/* 結論ボックス（記事の最初） */
.summary{border-top:0;background:#17191d;color:#fff;border:0;padding:18px 18px 16px}
.summary b{color:var(--hot);font-size:12px}
.summary b::after{content:"　30秒で読める";color:#9aa0a9;letter-spacing:0;font-weight:500}
.summary ul{counter-reset:sm}
.summary li{counter-increment:sm;color:#fff;font-weight:700;font-size:16px!important}
.summary li .ic{display:none}
.summary li::before{content:counter(sm);flex:none;width:24px;height:24px;border-radius:50%;background:var(--hot);color:#fff;font-family:var(--num);font-size:15px;display:flex;align-items:center;justify-content:center;margin-top:3px}
/* 表を大きく */
.article table.t td,.article table.t th{font-size:15px;padding:12px}
.article table.t td:first-child{font-weight:700}
.article table.t .hl td{background:rgba(242,85,44,.07)}
@media (max-width:360px){.article .abody>h2{font-size:20px}.nums b{font-size:34px}.say{font-size:16.5px}}
.cta-chara{display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:center;text-align:left}
.cta-chara img{width:84px;height:84px}
.cta-chara p{margin:2px 0 10px;font-size:13.5px!important;line-height:1.6!important}
.cta-chara .btn{margin:0}
@media (max-width:420px){.cta-chara{grid-template-columns:64px 1fr}.cta-chara img{width:64px;height:64px}}
@media (max-width:520px){.nums{grid-template-columns:repeat(2,1fr)}.nums>div:last-child:nth-child(odd){grid-column:1/-1}.nums b{font-size:34px}}
.article table.t td:first-child{white-space:nowrap}
.article .cta-chara p{color:#b8bdc6!important}
.article .pcard .pdesc{font-size:13.5px!important;line-height:1.65!important}
.cta-chara .btn{font-size:16px;padding:14px 12px}
/* トップ背景：ムキムキのスライド */
.hero-slides{position:absolute;inset:0;overflow:hidden}
.hs{position:absolute;inset:-4%;background-size:cover;background-position:center 62%;opacity:0;transition:opacity 1.2s ease;filter:grayscale(.25) contrast(1.2)}
.hs.on{opacity:1;animation:kb 5.4s ease-out forwards}
@keyframes kb{from{transform:scale(1.12) translate3d(0,1.5%,0)}to{transform:scale(1) translate3d(0,0,0)}}
.hero-media.has-slides .hero-shade{background:radial-gradient(ellipse at 50% 40%,rgba(13,14,17,.55),rgba(13,14,17,.7) 75%),linear-gradient(180deg,rgba(242,85,44,.14),rgba(13,14,17,.2) 50%,var(--bg) 98%)}
.hero-stamp{position:absolute;right:7%;bottom:22%;z-index:1;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:clamp(22px,4.4vw,38px);letter-spacing:.06em;color:var(--hot);border:3px solid var(--hot);border-radius:8px;padding:2px 12px 0;transform:rotate(-12deg);opacity:0;text-shadow:0 0 18px rgba(242,85,44,.35);mix-blend-mode:screen}
.has-slides .hero-stamp{opacity:.85}
.hero-stamp.pop{animation:stamp .45s cubic-bezier(.2,1.6,.4,1)}
@keyframes stamp{0%{transform:rotate(-12deg) scale(1.9);opacity:0}100%{transform:rotate(-12deg) scale(1);opacity:.85}}
.hero{min-height:560px}
.hero-note{position:relative;z-index:1;font-size:10.5px!important;color:#8a909a!important;margin:14px 0 0!important}
@media (max-width:520px){.hero-stamp{bottom:auto;top:7%;right:4%}.hero{min-height:0}}
@media (prefers-reduced-motion:reduce){.hs.on{animation:none}}
.tips{font-size:12.5px;color:var(--sub);margin:12px 0 0;line-height:1.7}
.tips b{display:block;color:var(--text);font-size:12.5px}
.tips span{display:block}
.tips:empty{display:none}
@media (max-width:520px){.pc-only{display:none}.hero-stamp{top:auto;bottom:8px;right:10px;font-size:20px;border-width:2px}}
@media (max-width:380px){.demo{grid-template-columns:auto auto 1fr;gap:2px 8px;padding:12px}.demo-chara{width:52px!important;height:52px!important}.demo-num{font-size:42px!important}.demo-tier{font-size:12px;writing-mode:horizontal-tb;white-space:normal}}
@media (max-width:420px){.hero-stamp{display:none}}

/* ===== メニュー（ヘッダー）2026-11-08 デザイン強化 ===== */
.nav{background:linear-gradient(180deg,rgba(13,14,17,.92),rgba(13,14,17,.78));border-bottom:0}
.nav::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--hot) 25%,var(--gold) 50%,var(--hot) 75%,transparent);opacity:.55}
.nav .container{height:60px;gap:10px}
.brand{display:inline-flex;align-items:center;gap:9px;font-size:21px;letter-spacing:.02em;line-height:1}
.brand::before{content:"";flex:none;width:30px;height:30px;border-radius:9px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M6 19a9 9 0 0 1 18 0' fill='none' stroke='%23fff' stroke-opacity='.35' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M6 19a9 9 0 0 1 13.5-7.8' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M15 19l5.5-6' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/%3E%3Ccircle cx='15' cy='19' r='2.4' fill='%23fff'/%3E%3C/svg%3E") center/100% no-repeat,
  linear-gradient(135deg,#ff7a45,var(--hot) 55%,#c93a17);
  box-shadow:0 4px 14px rgba(242,85,44,.35),inset 0 1px 0 rgba(255,255,255,.25)}
.brand span{color:var(--hot);margin-left:-9px}
.brand small{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--gold);margin-left:2px;padding:4px 7px;border:1px solid rgba(233,196,106,.35);border-radius:999px;background:var(--gold-soft)}
.nav-links{display:flex;gap:8px}
.nav-links a{display:inline-flex;align-items:center;gap:6px;margin-left:0;padding:8px 14px;border-radius:999px;font-size:13.5px;letter-spacing:.04em;color:var(--text);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);transition:background .2s,border-color .2s,transform .2s}
.nav-links a::before{content:"";width:15px;height:15px;flex:none;background:currentColor;opacity:.85;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.nav-links a[href$="ffmi/"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='3'/%3E%3Cpath d='M8 7h8M8 12h2M14 12h2M8 16h2M14 16h2'/%3E%3C/svg%3E")}
.nav-links a[href$="column/"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5a2 2 0 0 1 2-2h12v16H6a2 2 0 0 0-2 2z'/%3E%3Cpath d='M4 19V5M8 7h6M8 11h6'/%3E%3C/svg%3E")}
.nav-links a:hover{color:#fff;background:var(--hot-soft);border-color:rgba(242,85,44,.55);transform:translateY(-1px)}
.nav-links a[aria-current],.nav-links a.on{border-color:var(--hot);color:#fff}
body.light .nav{background:rgba(246,245,241,.9)}
body.light .nav-links a{color:var(--text);background:#fff;border-color:var(--line)}
body.light .nav-links a:hover{color:var(--hot);border-color:var(--hot)}
@media (max-width:480px){.brand{font-size:19px;gap:8px}.brand::before{width:27px;height:27px}.nav-links{gap:6px}.nav-links a{padding:7px 11px;font-size:13px}}
@media (max-width:360px){.brand{font-size:17px;gap:7px}.brand::before{width:25px;height:25px}.nav-links a{padding:6px 9px;font-size:12px;gap:4px;margin-left:0}.nav-links a::before{width:13px;height:13px}}

/* ===== フッター 2026-11-08 デザイン強化 ===== */
footer.site{position:relative;background:linear-gradient(180deg,#0f1115,#08090b);border-top:0;padding:44px 0 110px}
footer.site::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--hot) 30%,var(--gold) 50%,var(--hot) 70%,transparent);opacity:.45}
footer.site .container>div:first-child{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 6px;max-width:640px;margin:0 auto 22px}
footer.site .container::before{content:"ナチュ判定";display:block;width:max-content;margin:0 auto 16px;font-family:"Noto Sans JP",sans-serif;font-weight:900;font-size:20px;letter-spacing:.04em;
  background:linear-gradient(90deg,#fff 0 56.5%,var(--hot) 56.5%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
footer.site .container>div:first-child a{margin:0;padding:7px 13px;border-radius:999px;font-size:12.5px;font-weight:700;color:#cfd3d9;text-decoration:none;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);transition:all .2s}
footer.site .container>div:first-child a:hover{color:#fff;border-color:rgba(242,85,44,.6);background:rgba(242,85,44,.1)}
footer.site p{max-width:520px;margin:0 auto 10px;line-height:1.8}
footer.site p:nth-of-type(1){padding:12px 16px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);color:#9aa0a9;font-size:11.5px}
footer.site p:last-child{margin-top:16px;font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.14em;color:#6b717c}
body.light footer.site{background:linear-gradient(180deg,#14161a,#0b0c0e)}
@media (max-width:360px){footer.site .container>div:first-child a{padding:6px 10px;font-size:12px}}
/* 「診断」ボタン（コラムなど）は目立つオレンジに */
.nav-links a:not([href$="ffmi/"]):not([href$="column/"]){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h3l2-3h6l2 3h3v11H4z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3C/svg%3E");
  color:#fff;background:linear-gradient(135deg,#ff7a45,var(--hot));border-color:transparent;box-shadow:0 4px 14px rgba(242,85,44,.3)}
.nav-links a:not([href$="ffmi/"]):not([href$="column/"]):hover{color:#fff;filter:brightness(1.08)}
body.light .nav-links a:not([href$="ffmi/"]):not([href$="column/"]){color:#fff;border-color:transparent}
@media (max-width:420px){.nav-links a:nth-last-child(3)~a::before{display:none}.nav-links a:nth-last-child(3),.nav-links a:nth-last-child(3)~a{padding:6px 10px;gap:4px}}
@media (max-width:340px){.nav-links{gap:4px}.nav-links a:nth-last-child(3),.nav-links a:nth-last-child(3)~a{padding:5px 8px;font-size:11.5px}.nav .container{gap:6px}}
@media (max-width:340px){.brand{font-size:16px;gap:6px}.brand::before{width:23px;height:23px;border-radius:7px}.nav-links a:nth-last-child(3)::before{display:none}}

/* ===== キャラ画像（イラスト版）2026-11-08 ===== */
.tier-row img,.demo-chara,.cta-chara img{border-radius:50%;object-fit:cover;background:radial-gradient(circle at 50% 40%,#2c3039,#15171c 72%);border:2px solid rgba(255,255,255,.12);box-shadow:0 6px 16px rgba(0,0,0,.35)}
img[src*="chara/5-s"]{border-color:rgba(242,85,44,.75)}
img[src*="chara/4-s"]{border-color:rgba(233,196,106,.75)}
img[src*="chara/3-s"]{border-color:rgba(255,138,76,.7)}
img[src*="chara/2-s"]{border-color:rgba(91,141,239,.7)}
img[src*="chara/1-s"]{border-color:rgba(91,198,148,.7)}
body.light .cta-chara img{background:radial-gradient(circle at 50% 40%,#fff,#ece8df 75%);border-color:rgba(242,85,44,.35);box-shadow:0 4px 12px rgba(0,0,0,.08)}
.chara-big,.ch-chara{width:240px;height:240px;object-fit:contain;filter:drop-shadow(0 14px 22px rgba(0,0,0,.45));background:radial-gradient(circle at 50% 55%,rgba(242,85,44,.22),transparent 62%)}
@media (max-width:360px){.chara-big,.ch-chara{width:210px;height:210px}}
.agree-note{margin:10px 0 0;text-align:center;font-size:12px;color:var(--muted)}
.agree-note a{color:var(--link)}
