/*! v3.css — stnv3-* (DESIGN.md §10, docs/design-2026-09-28/HANDOFF.md「v3 デザイン決定」). Loaded after v2.css. The important flag is used only for the H1/H2 font-size / font-weight / line-height in section 10 (the plugin inline CSS and v2.css lock them with it; 頭脳承認 2026-09-28, DESIGN.md §10.2). */

/* 00 tokens — fonts + brand colour chips. Brand colours are approximations of each
   company's associated colour, used only inside .stnv3-brand (never as UI tokens).
   -bg = 11% of the dot colour over white, -ink = dot darkened until >= 5.5:1 on -bg
   (checked by scripts/dev/check-v2-contrast.mjs). */
:root{
--stnv3-font-display:"Zen Kaku Gothic New",-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
--stnv3-font-amount:var(--stnv2-font-num,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif);
--stnv3-brand-other:var(--stn-muted,#64748b);--stnv3-brand-other-bg:var(--stnv2-chip-bg,#eef2f6);--stnv3-brand-other-ink:var(--stnv2-muted-strong,#526579);
--stnv3-brand-docomo:#cc0033;--stnv3-brand-docomo-bg:#f9e3e9;--stnv3-brand-docomo-ink:#b8002e;
--stnv3-brand-au:#eb5505;--stnv3-brand-au-bg:#fdece4;--stnv3-brand-au-ink:#a73c04;
--stnv3-brand-softbank:#6b7280;--stnv3-brand-softbank-bg:#efeff1;--stnv3-brand-softbank-ink:#5a606c;
--stnv3-brand-ymobile:#e6002d;--stnv3-brand-ymobile-bg:#fce3e8;--stnv3-brand-ymobile-ink:#ba0024;
--stnv3-brand-rakuten:#bf0000;--stnv3-brand-rakuten-bg:#f8e3e3;--stnv3-brand-rakuten-ink:#b90000;
--stnv3-brand-ahamo:#1f2d4d;--stnv3-brand-ahamo-bg:#e6e8eb;--stnv3-brand-ahamo-ink:#1f2d4d;
--stnv3-brand-povo:#1a1a1a;--stnv3-brand-povo-bg:#e6e6e6;--stnv3-brand-povo-ink:#1a1a1a;
--stnv3-brand-linemo:#00b900;--stnv3-brand-linemo-bg:#e3f7e3;--stnv3-brand-linemo-ink:#007100;
--stnv3-brand-uq:#0090d9;--stnv3-brand-uq-bg:#e3f3fb;--stnv3-brand-uq-ink:#006598;
--stnv3-brand-iijmio:#1f5fbf;--stnv3-brand-iijmio-bg:#e6edf8;--stnv3-brand-iijmio-ink:#1e5bb7;
--stnv3-brand-mineo:#00a950;--stnv3-brand-mineo-bg:#e3f6ec;--stnv3-brand-mineo-ink:#007035;
--stnv3-brand-nuro:#4a2d7a;--stnv3-brand-nuro-bg:#ebe8f0;--stnv3-brand-nuro-ink:#4a2d7a;
--stnv3-brand-flets:#00857a;--stnv3-brand-flets-bg:#e3f2f0;--stnv3-brand-flets-ink:#006a62;
--stnv3-brand-otegaru:#f08300;--stnv3-brand-otegaru-bg:#fdf1e3;--stnv3-brand-otegaru-ink:#925000;
--stnv3-brand-dti:#0068b7;--stnv3-brand-dti-bg:#e3eef7;--stnv3-brand-dti-ink:#0060a8;
--stnv3-brand-nifty:#2f9e44;--stnv3-brand-nifty-bg:#e8f4ea;--stnv3-brand-nifty-ink:#206d2f;
--stnv3-brand-docomo-hikari:var(--stnv3-brand-docomo);--stnv3-brand-docomo-hikari-bg:var(--stnv3-brand-docomo-bg);--stnv3-brand-docomo-hikari-ink:var(--stnv3-brand-docomo-ink);
--stnv3-brand-au-hikari:var(--stnv3-brand-au);--stnv3-brand-au-hikari-bg:var(--stnv3-brand-au-bg);--stnv3-brand-au-hikari-ink:var(--stnv3-brand-au-ink);
--stnv3-brand-softbank-hikari:var(--stnv3-brand-softbank);--stnv3-brand-softbank-hikari-bg:var(--stnv3-brand-softbank-bg);--stnv3-brand-softbank-hikari-ink:var(--stnv3-brand-softbank-ink)
}

/* 10 type — display font for headings, site name, verdict headings. Body keeps the
   system stack. Specificity beats the inline `.wp-site-blocks h1{font-family:inherit}`
   (printed after this file at wp_head 30). Sizes: see DESIGN.md §10.2. */
body .wp-site-blocks :is(h1,h2),body .stnv2-h1,body .stnv2-h2,body .stnv2-verdict :is(h1,h2,.stnv2-h1){font-family:var(--stnv3-font-display)}
body .sn-site-title a{font-weight:700}
body .wp-site-blocks .stnv2-deal__month{font-family:var(--stnv3-font-amount);font-weight:700;letter-spacing:0}
/* Heading sizes (DESIGN.md §10.2 exception): H1 28 / <=359px 24 / >=1024 36, w700 (2026-09-29: 900 -> 700; only 700/900 of Zen Kaku Gothic are enqueued), lh 1.4 (9/29 density: 1.25 -> 1.4), letter-spacing .01em; H2 22 / >=1024 26, w700,
   lh 1.3; letter-spacing -.01em. Each selector out-ranks (or equals and follows) the rule that locks it: inline
   `.wp-site-blocks h1/h2` and the hero h1 rules, v2.css `.stnv2-deal__h1` / single-post title / flow-hero h1.
   Money pages keep their own `.stnv2m .stnv2m-h1` size (v2-money.css, more specific). */
body .wp-site-blocks h1,body .wp-site-blocks h1.stnv2-deal__h1,body.single-post .wp-site-blocks .sn-single-title h1,body.stn-edge20 .stn-flow-hero__inner>h1,body.stn-edge20 .stn-outage-hero__inner>h1{font-size:28px!important;font-weight:700!important;line-height:1.4!important;letter-spacing:.01em!important}
body .wp-site-blocks h2{font-size:22px!important;font-weight:700!important;line-height:1.55!important;letter-spacing:.01em!important}
@media (max-width:359px){body .wp-site-blocks h1,body .wp-site-blocks h1.stnv2-deal__h1,body.single-post .wp-site-blocks .sn-single-title h1,body.stn-edge20 .stn-flow-hero__inner>h1,body.stn-edge20 .stn-outage-hero__inner>h1{font-size:24px!important}}
@media (min-width:1024px){
  body .wp-site-blocks h1,body .wp-site-blocks h1.stnv2-deal__h1,body.single-post .wp-site-blocks .sn-single-title h1,body.stn-edge20 .stn-flow-hero__inner>h1,body.stn-edge20 .stn-outage-hero__inner>h1{font-size:36px!important}
  body .wp-site-blocks h2{font-size:26px!important}
}

/* 20 amount display — 2026-10-09 (1.0.349 書体整理): digits AND unit use the body number stack
   (--stnv2-font-num, tnum on) at w700. The local "stnv3-num" face and Zen Kaku for amounts are gone
   (Zen Kaku Gothic New has no tnum feature; mixing two faces in one amount read as unrefined).
   Unit: same family/weight, ~0.55em of the digits (never below 14px), and never wraps away from the digits.
   The deal-table cell (list row, 1.0.350) keeps the unit at the digits' size: same size/700/nowrap only. */
body .stnv2-deal__amount .stnv2-amount,body .stnv2-kv--verdict .stnv2-amount,.stnv3-summary__value{font-family:var(--stnv3-font-amount);font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums lining-nums}
body .stnv2-deal__amount .stnv2-amount{font-weight:700;letter-spacing:-.01em}
:is(.stnv2-kv--verdict .stnv2-amount,.stnv3-summary__value) .stnv2-unit{margin-left:1px;font-family:inherit;font-weight:700;font-size:max(.55em,14px);color:inherit;white-space:nowrap}
.stnv2-deal__amount .stnv2-amount .stnv2-unit{margin-left:0;font-family:inherit;font-weight:700;font-size:inherit;color:inherit;white-space:nowrap}
.stnv2-amount__fig{white-space:nowrap}
/* 2026-10-09 (1.0.350): the child theme (theme.css .sn-table-scroll thead/tbody th) sets 900 on table headings; keep them at 700 */
body .sn-table-scroll :is(thead,tbody) th{font-weight:700}

/* 30 brand chip — 10px dot + company name (always text). Neutral when the company is unknown. */
.stnv3-brand{--stnv3-c:var(--stnv3-brand-other);--stnv3-bg:var(--stnv3-brand-other-bg);--stnv3-ink:var(--stnv3-brand-other-ink);display:inline-flex;align-items:center;gap:6px;box-sizing:border-box;max-width:100%;min-height:24px;padding:3px 10px 3px 8px;border-radius:9999px;background:var(--stnv3-bg);color:var(--stnv3-ink);font-family:var(--stnv4-font-body,inherit);font-size:14px;font-weight:700;line-height:1.3;white-space:nowrap;vertical-align:middle;overflow:hidden;text-overflow:ellipsis}
.stnv3-brand__dot{flex:none;width:10px;height:10px;border-radius:9999px;background:var(--stnv3-c)}
.stnv3-brand--docomo{--stnv3-c:var(--stnv3-brand-docomo);--stnv3-bg:var(--stnv3-brand-docomo-bg);--stnv3-ink:var(--stnv3-brand-docomo-ink)}
.stnv3-brand--au{--stnv3-c:var(--stnv3-brand-au);--stnv3-bg:var(--stnv3-brand-au-bg);--stnv3-ink:var(--stnv3-brand-au-ink)}
.stnv3-brand--softbank{--stnv3-c:var(--stnv3-brand-softbank);--stnv3-bg:var(--stnv3-brand-softbank-bg);--stnv3-ink:var(--stnv3-brand-softbank-ink)}
.stnv3-brand--ymobile{--stnv3-c:var(--stnv3-brand-ymobile);--stnv3-bg:var(--stnv3-brand-ymobile-bg);--stnv3-ink:var(--stnv3-brand-ymobile-ink)}
.stnv3-brand--rakuten{--stnv3-c:var(--stnv3-brand-rakuten);--stnv3-bg:var(--stnv3-brand-rakuten-bg);--stnv3-ink:var(--stnv3-brand-rakuten-ink)}
.stnv3-brand--ahamo{--stnv3-c:var(--stnv3-brand-ahamo);--stnv3-bg:var(--stnv3-brand-ahamo-bg);--stnv3-ink:var(--stnv3-brand-ahamo-ink)}
.stnv3-brand--povo{--stnv3-c:var(--stnv3-brand-povo);--stnv3-bg:var(--stnv3-brand-povo-bg);--stnv3-ink:var(--stnv3-brand-povo-ink)}
.stnv3-brand--linemo{--stnv3-c:var(--stnv3-brand-linemo);--stnv3-bg:var(--stnv3-brand-linemo-bg);--stnv3-ink:var(--stnv3-brand-linemo-ink)}
.stnv3-brand--uq{--stnv3-c:var(--stnv3-brand-uq);--stnv3-bg:var(--stnv3-brand-uq-bg);--stnv3-ink:var(--stnv3-brand-uq-ink)}
.stnv3-brand--iijmio{--stnv3-c:var(--stnv3-brand-iijmio);--stnv3-bg:var(--stnv3-brand-iijmio-bg);--stnv3-ink:var(--stnv3-brand-iijmio-ink)}
.stnv3-brand--mineo{--stnv3-c:var(--stnv3-brand-mineo);--stnv3-bg:var(--stnv3-brand-mineo-bg);--stnv3-ink:var(--stnv3-brand-mineo-ink)}
.stnv3-brand--nuro{--stnv3-c:var(--stnv3-brand-nuro);--stnv3-bg:var(--stnv3-brand-nuro-bg);--stnv3-ink:var(--stnv3-brand-nuro-ink)}
.stnv3-brand--flets{--stnv3-c:var(--stnv3-brand-flets);--stnv3-bg:var(--stnv3-brand-flets-bg);--stnv3-ink:var(--stnv3-brand-flets-ink)}
.stnv3-brand--otegaru{--stnv3-c:var(--stnv3-brand-otegaru);--stnv3-bg:var(--stnv3-brand-otegaru-bg);--stnv3-ink:var(--stnv3-brand-otegaru-ink)}
.stnv3-brand--dti{--stnv3-c:var(--stnv3-brand-dti);--stnv3-bg:var(--stnv3-brand-dti-bg);--stnv3-ink:var(--stnv3-brand-dti-ink)}
.stnv3-brand--nifty{--stnv3-c:var(--stnv3-brand-nifty);--stnv3-bg:var(--stnv3-brand-nifty-bg);--stnv3-ink:var(--stnv3-brand-nifty-ink)}
.stnv3-brand--docomo-hikari{--stnv3-c:var(--stnv3-brand-docomo-hikari);--stnv3-bg:var(--stnv3-brand-docomo-hikari-bg);--stnv3-ink:var(--stnv3-brand-docomo-hikari-ink)}
.stnv3-brand--au-hikari{--stnv3-c:var(--stnv3-brand-au-hikari);--stnv3-bg:var(--stnv3-brand-au-hikari-bg);--stnv3-ink:var(--stnv3-brand-au-hikari-ink)}
.stnv3-brand--softbank-hikari{--stnv3-c:var(--stnv3-brand-softbank-hikari);--stnv3-bg:var(--stnv3-brand-softbank-hikari-bg);--stnv3-ink:var(--stnv3-brand-softbank-hikari-ink)}

/* 40 chip inside the deal table (brand_chip="1": home, /campaign/). The <b> keeps its
   v2 layout; the chip carries the colour. "(スマホ乗り換え.com)" stays plain text. */
body .stnv2-table--board .stnv2-deal__brand .stnv3-brand{font-size:14.5px}
.stnv2-deal__brand>.stnv3-brand+.stnv2-deal__via{margin-left:6px}
@media (max-width:1023px){
  body .stnv2-table__row>.stnv2-deal__name .stnv2-deal__brand .stnv3-brand{font-size:15px;min-height:26px}
}

/* 50 3点要約 — label-left / value-right definition-list rows (2026-09-29: the SaaS-style icon tiles are gone; .stnv3-summary--plain is the same look for a <dl>). */
.stnv3-summary,.stnv3-summary--plain{display:block;margin:20px 0;padding:0;list-style:none}
.stnv3-summary__tile,.stnv3-summary--plain>div{display:grid;grid-template-columns:5.2em minmax(0,1fr);column-gap:24px;align-items:baseline;box-sizing:border-box;min-width:0;margin:0;padding:var(--stnv4-row,18px) 0;border:0;border-top:1px solid var(--stnv2-line,#dbe7f3);border-radius:0;background:none;color:var(--stnv2-ink,#102033)}
.stnv3-summary__tile:first-child,.stnv3-summary--plain>div:first-child{border-top:0}
.stnv3-summary__icon{display:none}
.stnv3-summary__label,.stnv3-summary--plain dt{grid-column:1;margin:0;font-family:var(--stnv4-font-body,inherit);font-size:14px;font-weight:600;line-height:1.5;color:var(--stnv2-muted-strong,#526579)}
.stnv3-summary__value,.stnv3-summary--plain dd{grid-column:2;display:block;min-width:0;margin:0;font-size:22px;font-weight:700;line-height:1.25;color:var(--stnv2-navy,#0b2545);overflow-wrap:break-word}
.stnv3-summary__value .stnv2-unit{margin-left:1px;color:var(--stnv2-navy,#0b2545)}
.stnv3-summary__value .stnv2-qual{font-family:inherit;font-size:14px;font-weight:700}
.stnv3-summary__sub{grid-column:2;font-family:inherit;font-size:14px;font-weight:700;line-height:1.4;color:var(--stnv2-muted-strong,#526579)}
.stnv3-summary__tile--target .stnv3-summary__value,.stnv3-summary__tile--deadline .stnv3-summary__value:not(:has(small)){font-family:inherit;font-size:16px;font-weight:700;line-height:1.5}
.stnv3-summary__tile--deadline:has(.stnv3-summary__sub){padding:16px;margin:4px 0;border:1px solid var(--stnv2-amber,#b45309);border-radius:8px;background:var(--stnv2-white,#fff)}
.stnv3-summary__tile--deadline:has(.stnv3-summary__sub) .stnv3-summary__sub{color:var(--stnv2-amber-text,#9a3f05)}
body .stnv3-judge{margin:0 0 20px;font-weight:700}

/* 60 offer box (/campaign/ hero): chip → 3点要約 → 対象外(畳まない)→ PR+CTA → 条件の詳細 */
.stnv3-offer{box-sizing:border-box;max-width:560px;margin-top:16px;padding:14px 0;border:0;border-top:3px double var(--stnv2-navy,#0b2545);border-bottom:3px double var(--stnv2-navy,#0b2545);border-radius:0;background:var(--stnv2-white,#fff);box-shadow:none}
.stnv3-offer__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}
body .stnv3-offer__head .stnv3-brand{font-size:15px;min-height:28px}
.stnv3-offer__kind{font-size:15px;font-weight:700;line-height:1.3;color:var(--stnv2-navy,#0b2545)}
.stnv3-offer .stnv3-summary{margin:10px 0}
body .stnv3-offer .stnv3-except{margin:0 0 4px;font-size:14px;line-height:1.6;color:var(--stnv2-ink,#102033)}
.stnv3-except__label{display:inline-block;margin-right:6px;padding:1px 6px;border-radius:4px;background:var(--stnv2-amber-bg,#fef3c7);color:var(--stnv2-amber-text,#9a3f05);font-size:12px;font-weight:700;line-height:1.5;vertical-align:1px}
.stnv3-offer .affiliate-text-slot-wrap{margin:10px 0 0}

/* 70 折りたたみ「条件の詳細を読む」— 長文だけを入れる(対象外・PR・確認日・出典は入れない) */
.stnv3-more{margin:10px 0 0;border-top:1px solid var(--stnv2-line,#dbe7f3)}
.stnv3-more>summary{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 2px;color:var(--stnv2-blue-press,#085aa9);font-size:15px;font-weight:700;line-height:1.4;cursor:pointer;list-style:none}
.stnv3-more>summary::-webkit-details-marker{display:none}
.stnv3-more>summary::after{content:"";flex:none;width:8px;height:8px;margin-left:auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform 160ms}
.stnv3-more[open]>summary::after{transform:translateY(2px) rotate(-135deg)}
.stnv3-more__kv{display:grid;grid-template-columns:3.5em 1fr;gap:6px 10px;margin:0 0 6px;font-size:14px;line-height:1.6}
.stnv3-more__kv dt{margin:0;font-weight:700;color:var(--stnv2-muted-strong,#526579)}
.stnv3-more__kv dd{margin:0;color:var(--stnv2-ink,#102033);overflow-wrap:anywhere}

/* 90 responsive */
@media (max-width:430px){.stnv3-summary__value,.stnv3-summary--plain dd{font-size:20px}}
@media (max-width:359px){
  .stnv3-summary__tile,.stnv3-summary--plain>div{grid-template-columns:4.6em minmax(0,1fr);column-gap:24px}
  .stnv3-summary__value,.stnv3-summary--plain dd{font-size:18px}
  .stnv3-summary__tile--target .stnv3-summary__value,.stnv3-summary__tile--deadline .stnv3-summary__value:not(:has(small)){font-size:15px}
  .stnv3-offer{padding:12px 0}
}
@media (min-width:1024px){
  .stnv3-summary__value,.stnv3-summary--plain dd{font-size:26px}
}
@media (prefers-reduced-motion:reduce){.stnv3-more>summary::after{transition:none}}

/* 50 money-pages (2B) — /hikari/, /ahamo/ ほかキャリア別、楽天・SoftBank の収益ページ(2026-09-28 段階2B)。
   結論ボックスの3点要約、確認日の行(畳まない)、比較カード・申込窓口のブランド色チップ、本文の折りたたみ。 */
.stnv2m-hero .stnv3-summary{margin:12px 0 14px}
body .stnv3-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin:0 0 20px;font-size:14px;line-height:1.5}
.stnv2-plan__name .stnv3-brand{font-size:16px;min-height:28px}
body .stnv3-hikari-brand{margin:0 0 4px;line-height:1}
.stnv3-more__note{margin:0 0 8px;font-size:14px;line-height:1.6;color:var(--stnv2-muted-strong,#526579)}
.stnv2-section>.stnv3-more{margin:4px 0 12px}
.stnv2-section>.stnv3-more .stnv2-list{margin-top:4px}

/* 70 brand-logo (3B) — 提携済み案件の ASP 配布素材(data/brand-assets.json)を原寸で出すチップ(2026-09-28 段階3B)。
   素材は縮小・切り抜きしない(A8「バナーサイズ変更不可」): max-width:none、角丸で欠けないよう画像側は角丸なし・overflow は見せる。
   白地+hairline 枠、社名テキストは残す。 */
.stnv3-brand--logo{gap:8px;min-height:0;padding:3px 10px 3px 3px;border:1px solid var(--stnv2-line,#dbe7f3);border-radius:8px;background:var(--stnv2-white,#fff);overflow:visible;white-space:normal;flex-wrap:wrap}
.stnv3-brand--logo .stnv3-brand__logo{display:block;flex:none;max-width:none;height:auto;margin:0;border:0;border-radius:0;box-shadow:none}
.stnv3-brand--logo .stnv3-brand__name{white-space:nowrap}
.stnv2-plan__name .stnv3-brand--logo{min-height:0}

