/* === (20) 記事内モジュール(.aff-*) =======================================
   出所: Cocoon版 parts/b-legacy-modules.css(v1定義) + e-modules-v2.css(v2上書き)。
   連結順に意味がある(v2がv1を上書きする)。自前クラスが主体でDOM非依存のため、
   Cocoon DOM を指す数箇所のセレクタだけを Xwrite の実クラスへ機械変換して移設した。
   変換表: .entry-content→.articleBody / #main→.main / #sidebar→.side / .breadcrumb→.breadcrumbs
   このファイルは build-css.py が生成する。直接編集しないこと。
   ========================================================================== */

/* ---------- 出所: b-legacy-modules.css ---------- */
/* --------------------------------------------------------------------------
   既存 .aff-* モジュール定義(v1)。廃止トークンの参照のみ新トークンへ置換した。
   意匠の変更は後段の「Phase 0 掃除」「v2 モジュール」で上書きする。
   生成: parts/transform_legacy.py(再実行可能)
   -------------------------------------------------------------------------- */
/* ---- スコープ付きリセット(サイト全体への影響を避けるため.aff配下に限定) ---- */
.aff, .aff *{box-sizing:border-box;}
.aff img{max-width:100%;height:auto;display:block;}
.aff a{text-decoration:none;}
.aff :focus-visible{outline:2px solid var(--navy);outline-offset:2px;}

/* ---- 基本CSS ---- */
.aff{font-family:var(--font-body);color:var(--ink);line-height:1.8;max-width:760px;margin:0 auto;padding:8px 4px 40px;}
.aff h2{font-family:var(--font-head);font-size:22px;font-weight:700;color:var(--navy);
  margin:36px 0 18px;padding:12px 16px;background:var(--tint);border-left:6px solid var(--navy);border-radius:8px;}
.aff h3{font-family:var(--font-head);font-size:18px;font-weight:700;
  border-left:4px solid var(--navy);padding-left:10px;margin:28px 0 12px;}
.aff b{font-weight:700;}
.aff-note{font-size:11px;color:var(--sub);line-height:1.6;}

/* PR表記・カテゴリタグ・メタ・アイキャッチ */
.aff-pr{background:#fbf3e6;color:#8a6d1a;font-size:12px;font-weight:600;text-align:center;padding:8px;border:1px solid #f0e2c4;border-radius:8px;margin:0 0 20px;}
.aff-tags{display:flex;gap:8px;margin-bottom:10px;}
.aff-tag{font-size:11px;font-weight:700;color:var(--navy);background:#eaf1ff;border-radius:6px;padding:3px 9px;}
.aff-h1{font-family:var(--font-head);font-size:26px;line-height:1.5;font-weight:700;color:var(--ink);margin:0 0 12px;}
.aff-meta{font-size:12px;color:var(--sub);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:10px 0;margin-bottom:20px;}
.aff-eyecatch{border:2px dashed var(--line);border-radius:12px;background:var(--bg);color:var(--sub);font-size:13px;text-align:center;padding:70px 16px;margin-bottom:28px;}

/* 結論ボックス */
.aff-conc{border:1px solid #cfe0d8;border-left:6px solid var(--cta);border-radius:12px;background:#f2faf5;padding:16px 18px;margin-bottom:20px;}
.aff-conc .t{font-family:var(--font-head);font-weight:700;color:var(--cta-dk);margin-bottom:6px;}
.aff-conc p{margin:0;font-size:14px;}

/* 吹き出し(コメント)※Cocoon標準の吹き出し機能を使う場合はこのCSSは不要 */
.aff-balloon{display:flex;gap:12px;align-items:flex-start;margin:16px 0 28px;}
.aff-balloon .av{width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--font-head);font-size:13px;}
.aff-balloon .bubble{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:14px;}
.aff-balloon .bubble::before{content:"";position:absolute;left:-7px;top:16px;width:12px;height:12px;background:#fff;
  border-left:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg);}

/* 選定軸カード(6軸) */
.aff-crit{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:8px;}
.aff-crit .item{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--bg);}
.aff-crit .n{font-family:var(--font-head);font-weight:800;font-size:12px;color:var(--navy);display:block;margin-bottom:4px;}
.aff-crit .ttl{font-weight:700;font-size:13px;margin-bottom:4px;}
.aff-crit .desc{font-size:12px;color:var(--sub);line-height:1.5;}

/* 目次(手動TOCボックス。Cocoon自動目次と重複させないよう、記事側の
   自動目次生成はOFFのまま、このボックスのみで運用することを推奨) */
.aff-toc{border:1px solid #dfe4ea;border-radius:12px;background:#fafbfc;padding:16px 18px;margin:24px 0;}
.aff-toc .h{font-family:var(--font-head);font-weight:700;color:var(--navy);margin-bottom:10px;}
.aff-toc ol{margin:0;padding-left:20px;font-size:13px;line-height:2;}
.aff-toc a{color:var(--ink);}
.aff-toc a:hover{color:var(--navy);}

/* ランキングカード(1〜3位) */
.aff-rank{border:1px solid var(--line);border-radius:var(--r-2);overflow:hidden;margin-bottom:18px;box-shadow:0 2px 10px rgba(20,30,50,.05);}
.aff-rank .bar{display:flex;align-items:center;gap:10px;padding:10px 16px;font-family:var(--font-head);font-weight:700;}
.aff-rank .medal{width:26px;height:26px;border-radius:50%;color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:13px;}
.aff-rank.r1 .bar{background:#fbf3dc;color:#8a6a12;} .aff-rank.r1 .medal{background:var(--sub);}
.aff-rank.r2 .bar{background:#f2f5f8;color:var(--sub);} .aff-rank.r2 .medal{background:var(--sub);}
.aff-rank.r3 .bar{background:#f2f5f8;color:var(--sub);} .aff-rank.r3 .medal{background:var(--sub);}
.aff-rank .body{padding:18px;}
.aff-logo{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;font-family:var(--font-head);flex:0 0 56px;}
.aff-stars{position:relative;font-size:18px;letter-spacing:2px;line-height:1;color:#e2e6ec;display:inline-block;}
.aff-stars i{position:absolute;inset:0;overflow:hidden;color:#f5a623;white-space:nowrap;font-style:normal;}
.aff-pros{flex:1;min-width:200px;background:#f2faf5;border:1px solid #d7efe0;border-radius:10px;padding:10px 12px;}
.aff-cons{flex:1;min-width:200px;background:#fff8ec;border:1px solid #f2e2c0;border-radius:10px;padding:10px 12px;}
.aff-pros .h{font-size:11px;font-weight:700;color:var(--mk-good);margin-bottom:4px;}
.aff-cons .h{font-size:11px;font-weight:700;color:#8b600c;margin-bottom:4px;}

/* CTAボタン(グリーン・シャイン付き)+ 締めCTAバンド */
.aff-cta{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;padding:15px 20px;border-radius:12px;color:#fff;text-decoration:none;font-weight:700;font-size:16px;
  font-family:var(--font-head);background:linear-gradient(180deg,var(--cta),var(--cta));
  text-shadow:0 1px 2px rgba(0,40,15,.35);
  box-shadow:0 6px 16px rgba(15,146,71,.35);transition:.15s;}
.aff-cta:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,146,71,.42);}
.aff-cta.is-official{background:linear-gradient(180deg,#5c7590,#3d5875);box-shadow:0 6px 16px rgba(30,50,80,.25);}
.aff-cta .shine{position:absolute;top:0;left:0;width:36%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  transform:translateX(-140%) skewX(-20deg);animation:aff-shine 5.5s ease-in-out infinite;}
@keyframes aff-shine{0%{transform:translateX(-140%) skewX(-20deg);}55%,100%{transform:translateX(360%) skewX(-20deg);}}
.aff-micro{font-size:12px;font-weight:700;color:var(--cta);}
.aff-badge-pr{font-size:10px;font-weight:700;color:var(--sub);border:1px solid #dfe4ea;border-radius:4px;padding:1px 5px;}
.aff-band{background:linear-gradient(180deg,var(--cta),var(--cta-dk));border-radius:16px;padding:24px;color:#fff;text-align:center;margin:28px 0;}
.aff-band h3{color:#fff;border:none;padding:0;margin:0 0 6px;font-size:19px;}
.aff-band p{margin:0 0 16px;font-size:13px;opacity:.92;}
.aff-band .aff-cta{width:auto;display:inline-flex;padding:15px 40px;background:#fff;color:var(--cta-dk);text-shadow:none;box-shadow:0 8px 20px rgba(0,0,0,.18);}
.aff-band .pr-note{font-size:11px;opacity:.75;margin-top:10px;}

/* 比較表(横スクロール対応・flex実装) */
.aff-transparency{display:flex;gap:8px;font-size:11px;color:var(--sub);background:#eff3f8;border-radius:8px;padding:8px 12px;line-height:1.6;margin-bottom:10px;}
.aff-legend{font-size:11px;color:var(--sub);margin-bottom:10px;}
.aff-table{border:1px solid var(--line);border-radius:12px;overflow-x:auto;margin-bottom:24px;}
.aff-table .inner{min-width:560px;}
.aff-table .row{display:flex;border-top:1px solid var(--line2);}
.aff-table .row.head{border-top:0;}
.aff-table .c-label{flex:0 0 200px;padding:10px 14px;background:var(--bg);color:#37424f;font-weight:600;font-size:13px;}
.aff-table .c-label .g{display:block;font-size:10px;color:var(--sub);font-weight:700;}
.aff-table .head .c-label{background:var(--navy);color:#fff;font-size:12px;}
.aff-table .c{flex:1;min-width:120px;padding:10px;text-align:center;display:flex;align-items:center;justify-content:center;}
.aff-table .head .c{flex-direction:column;gap:5px;background:#eef2f6;color:#37424f;font-weight:800;font-family:var(--font-head);}
.aff-table .head .c.best{background:var(--cta);color:#fff;}
.aff-table .c.best{background:#f1faf5;}
.aff-table .best-tag{font-size:10px;background:rgba(255,255,255,.25);border-radius:4px;padding:1px 6px;font-weight:700;}
.mark-good{color:var(--mk-good);font-weight:700;font-size:16px;}
.mark-warn{color:var(--mk-part);font-weight:700;font-size:16px;}
.mark-bad{color:var(--mk-none);font-weight:700;font-size:16px;}
.aff-table .row.cta .c{padding:12px 8px;}

/* FAQ(トグル) */
details.aff-faq{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;overflow:hidden;}
details.aff-faq>summary{cursor:pointer;padding:14px 16px;font-weight:700;font-size:14px;background:#fafbfc;
  list-style:none;display:flex;gap:10px;align-items:center;}
details.aff-faq>summary::-webkit-details-marker{display:none;}
details.aff-faq .q-badge{flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font-size:12px;font-family:var(--font-head);display:flex;align-items:center;justify-content:center;}
details.aff-faq .chev{margin-left:auto;color:var(--sub);transition:transform .2s;font-size:12px;}
details.aff-faq[open] .chev{transform:rotate(180deg);}
details.aff-faq .a{padding:14px 16px 14px 48px;font-size:13px;border-top:1px solid var(--line2);position:relative;line-height:1.8;}
details.aff-faq .a::before{content:"A";position:absolute;left:16px;top:14px;width:22px;height:22px;border-radius:50%;background:var(--tint);color:var(--navy);font-size:12px;font-family:var(--font-head);font-weight:700;display:flex;align-items:center;justify-content:center;}

/* 内部リンク(ブログカード)※Cocoon標準のブログカード機能(URL貼付)を使う場合は
   このカードCSSは不要です。カスタムHTMLで組む場合のみ使用してください。 */
.aff-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px;}
.aff-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;display:block;}
.aff-card .th{height:80px;background:linear-gradient(135deg,var(--tint),var(--line2));display:flex;align-items:center;justify-content:center;color:var(--sub);font-size:11px;}
.aff-card .b{padding:10px 12px;}
.aff-card .kind{font-size:10px;color:var(--navy);font-weight:700;margin-bottom:4px;}
.aff-card .ttl{font-size:12.5px;font-weight:700;color:var(--ink);line-height:1.5;}

/* 出典・更新日ボックス */
.aff-author{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fbfcfd;margin-bottom:16px;}
.aff-author .row{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px;}
.aff-author .av{width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--font-head);font-size:12px;}
.aff-author .name{font-weight:700;font-size:13px;margin-bottom:2px;}
.aff-author .bio{font-size:12px;color:var(--sub);line-height:1.6;}
.aff-author .meta-list{font-size:11px;color:var(--sub);line-height:1.9;border-top:1px solid var(--line2);padding-top:10px;}

/* ---------- 出所: e-modules-v2.css ---------- */
/* === (E) v2 モジュール ==================================================== */

/* --- 診断ボックス --------------------------------------------------------- */
.aff-check{ border:1px solid var(--line); border-radius:var(--r-2); overflow:hidden; margin:var(--sp-5) 0; }
.aff-check .h{ background:var(--tint); border-bottom:1px solid var(--line);
  padding:10px 18px; font-family:var(--font-head); font-size:14px; font-weight:700; color:var(--navy); }
.aff-check .conds{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; padding:16px 18px; }
.aff-check .cond > span{ display:block; font-size:12px; color:var(--sub); margin-bottom:7px; }
.aff-check .opts{ display:flex; gap:6px; }
.aff-check .opts label{ flex:1; text-align:center; font-size:12.5px; color:#3c4654;
  border:1px solid var(--line); border-radius:6px; padding:8px 0; cursor:pointer; }
.aff-check input{ position:absolute; opacity:0; pointer-events:none; }
.aff-check input:checked + label{ background:var(--navy); border-color:var(--navy); color:#fff; font-weight:700; }
.aff-check .result{ border-top:1px solid var(--line); background:var(--bg);
  padding:14px 18px; display:flex; align-items:center; gap:16px; font-size:14.5px; line-height:1.75; }
/* 第1候補のラベル。flex の既定だと製品名が1文字ずつ折れて縦長になるため幅を与える */
.aff-check .result b{ font-family:var(--font-head); color:var(--navy);
  flex:0 0 232px; align-self:flex-start; line-height:1.6; }

/* --- 制度要件の対応表 / 期限帯 -------------------------------------------- */
.aff-req{ border:1px solid var(--line); border-radius:var(--r-2); overflow:hidden; margin:var(--sp-5) 0; }
.aff-req .grid{ display:grid; grid-template-columns:200px repeat(var(--n,3),1fr); font-size:13.5px; }
.aff-req .src{ background:var(--evid-bg); border-top:1px dashed var(--evid-line);
  padding:11px 16px; font-size:var(--fs-note); line-height:1.8; }
.aff-deadline .head{ background:var(--navy-dk); color:#fff; padding:14px 18px;
  display:flex; align-items:center; gap:18px; }
.aff-deadline .head .d{ font-family:var(--font-head); font-size:20px; font-weight:800; }
.aff-deadline.is-past .head{ background:var(--mk-none); }   /* 期限切れはグレー */

/* --- CTA(単色・shine廃止・2行許容)---------------------------------------- */
.aff-cta{ display:flex; align-items:center; justify-content:center; text-align:center;
  width:100%; min-height:46px; padding:12px 20px; border-radius:var(--r-2);
  background:var(--cta); color:#fff; font-family:var(--font-head); font-weight:700;
  font-size:15px; line-height:1.35; text-decoration:none; box-shadow:none; text-shadow:none; }
.aff-cta:hover{ background:var(--cta-dk); }
.aff-cta .shine{ display:none; }
.aff-cta.is-official{ background:var(--official); }          /* 非広告(公式・出典) */
.aff-cta.is-official:hover{ background:var(--official-dk); }
.aff-band{ background:var(--tint); border:1px solid var(--line); border-radius:var(--r-2);
  color:var(--ink); padding:22px; text-align:center; }       /* 緑グラデの帯を廃止 */
.aff-band .aff-cta{ width:auto; display:inline-flex; padding:12px 34px; }

/* --- 比較表 --------------------------------------------------------------- */
.aff-table{ border:1px solid var(--line); border-radius:var(--r-2); overflow:hidden; }
.aff-table .head .c-label{ background:var(--navy); color:#fff; }
.aff-table .head .c{ background:var(--tint); color:var(--navy); font-family:var(--font-head); font-weight:800; }
.aff-table .head .c.best{ background:var(--navy-tint); color:var(--navy); }  /* 緑地をやめる */
.aff-table .c.best{ background:#f7fafd; }
.aff-table .c-label{ background:#fbfcfd; color:#37424f; font-weight:600; font-size:13px; }
.aff-table .same-row{ background:var(--tint); font-size:13px; }  /* 「3社とも同じだった6項目」 */
.mark-good{ color:var(--mk-good); font-weight:700; }
.mark-warn{ color:var(--mk-part); font-weight:700; }
.mark-bad{ color:var(--mk-none); font-weight:700; }
.aff-table .num{ font-variant-numeric:tabular-nums; }

/* --- おすすめ(順位)------------------------------------------------------- */
.aff-rank{ border:1px solid var(--line); border-radius:var(--r-2); overflow:hidden;
  margin-bottom:18px; box-shadow:none; }
.aff-rank .bar{ background:var(--tint); border-bottom:1px solid var(--line);
  padding:10px 18px; display:flex; align-items:center; gap:12px;
  font-family:var(--font-head); font-size:14px; font-weight:700; color:var(--navy); }
.aff-rank .medal{ width:24px; height:24px; border-radius:50%; background:var(--sub); color:#fff;
  font-size:13px; font-weight:800; display:flex; align-items:center; justify-content:center; }
.aff-rank.r1 .medal{ background:var(--navy); }               /* 金銀銅を使わない */
.aff-rank.r2 .bar,.aff-rank.r3 .bar{ background:var(--tint); }
.aff-logo{ display:none; }                                   /* 「ロゴ」プレースホルダを廃止 */
.aff-pros,.aff-cons{ background:#fff; border:1px solid var(--line); border-radius:var(--r-2); padding:12px 14px; }
.aff-pros .h{ color:var(--mk-good); }
.aff-cons .h{ color:var(--mk-part); }

/* --- 記事情報 / 出典 ------------------------------------------------------- */
.aff-author{ background:var(--evid-bg); border:1px dashed var(--evid-line);
  border-radius:var(--r-2); padding:15px 18px; }
.aff-author .av{ display:none; }                              /* 監修者を作らない */
.aff-author .meta-list{ font-size:var(--fs-note); line-height:1.85; color:#3c4654; border-top:0; }
.aff-note{ display:flex; gap:10px; background:var(--tint); border-radius:var(--r-2); padding:12px 14px; }
.aff-note .av{ display:none; }                                /* 旧 .aff-balloon の「監」を撤去 */
.aff-note p{ margin:0; }
/* 掲載順の根拠(§10「記事情報に残す」)。記事末に自動で出す */
.aff-ranknote{ margin-top:var(--sp-5); }

/* --- 一覧(画像ゼロ)-------------------------------------------------------- */
.aff-list .item,.entry-card{ display:grid; grid-template-columns:1fr 150px;
  gap:16px; padding:14px 0; border-bottom:1px solid var(--line2); }
.aff-list .ttl{ font-family:var(--font-head); font-size:16px; font-weight:700; color:var(--navy); line-height:1.55; }
.aff-list .meta{ text-align:right; font-size:12px; color:var(--sub); line-height:1.9; }

/* --- 追従CTA(SPのみ。PCでは出さない)--------------------------------------- */
.aff-sticky{ display:none; }

/* === (E-2) v1 資産との衝突解消 ============================================
   v1 の規則のほうが特異度で勝ってしまう箇所を、明示的に上書きする。
   ここを書かないと「CSSは入れたのに金色の帯が残る」型の取りこぼしになる。
   ========================================================================== */
/* 金銀銅の廃止: .aff-rank.r1 .bar (クラス3個) は .aff-rank .bar (クラス2個) に勝つ */
.aff-rank.r1 .bar{ background:var(--tint); color:var(--navy); }
.aff-rank.r2 .bar,.aff-rank.r3 .bar{ color:var(--navy); }
.aff-rank.r2 .medal,.aff-rank.r3 .medal{ background:var(--sub); }
/* 結論ボックス: 緑地・緑罫をネイビーへ(緑は .aff-cta だけ) */
.aff-conc{ background:var(--tint); border:1px solid var(--line);
  border-left:6px solid var(--navy); border-radius:var(--r-2); }
.aff-conc .t{ color:var(--navy); }
/* 締めCTAバンド: 帯を淡色にしたぶん、中のボタンは緑単色へ戻す */
.aff-band h3{ color:var(--navy); }
.aff-band p,.aff-band .pr-note{ opacity:1; color:var(--sub); }
.aff-band .aff-cta{ background:var(--cta); color:#fff; text-shadow:none; box-shadow:none; }
.aff-band .aff-cta:hover{ background:var(--cta-dk); }
/* CTA: v1 のシャイン・影・浮き上がりを止める */
.aff-cta:hover{ filter:none; transform:none; box-shadow:none; }
.aff-cta.is-official{ box-shadow:none; }
/* 比較表: 白半透明の「編集部おすすめ」タグは淡色地の上で見えないためネイビーに */
.aff-table .head .c.best .best-tag{ background:var(--navy); color:#fff; }
/* 本文先頭のタグ行・メタ行は Cocoon のヘッダー(カテゴリ・日付)と二重に出ている。
   §5-D「ファーストビューがタイトルの3重反復で埋まる」の一部なので本文側を落とす。 */
.articleBody .aff > .aff-tags,
.articleBody .aff > .aff-meta,
.articleBody .aff > .aff-h1{ display:none; }
/* CTA脇のマイクロコピーが緑だった。緑は .aff-cta の面だけに使う */
.aff-micro{ color:var(--sub); }
/* ★とスコアは出さない */
.aff-stars{ display:none; }
/* 監修者を作らない(v1 の吹き出しアバター。6記事で使用中) */
.aff-balloon .av{ display:none; }
.aff-balloon .bubble{ border-radius:var(--r-2); }
/* 青リンク #2f6fed の名残 */
.aff-tag{ color:var(--navy); background:var(--navy-tint); }
.aff-card .kind{ color:var(--navy); }
/* v1 の .aff-note は小さすぎる注記だったので、v2 の枠に合わせて字送りを上げる */
.aff-note{ font-size:var(--fs-note); color:var(--sub); line-height:1.8; }
/* 記事331 のインライン装飾ボックス(青 #2b6cb0)。インラインstyleのため !important */
.aff-box{ border-color:var(--navy) !important; background:var(--tint) !important;
  border-radius:var(--r-2) !important; }
.aff-box h3{ color:var(--navy) !important; }

/* === モック実寸への追従(2026-08-13 実測比較で確定) ================== */
/* FAQ: 角丸8・設問14.5px/700・行padding 13px 16px・白地 */
details.aff-faq{ border-radius:var(--r-2); }
details.aff-faq>summary{ background:#fff; padding:13px 16px; font-size:14.5px; }
/* 比較表: ヘッダセル padding 11px・グリッド文字 13.5px */
.aff-table .head .c-label{ padding:11px 14px; }
.aff-table .head .c{ padding:11px 12px; }
.aff-table .c,.aff-table .c-label{ font-size:13.5px; }

/* === v2記事構造の部品(確定案の記事ページ実測・2026-08-13) ================== */
/* 同値行: tint帯・左寄せ */
.aff-table .same-row .c-label b{ color:var(--navy); }
.aff-table .same-row .c{ justify-content:flex-start; text-align:left; color:#3c4654; }
/* 凡例・出典 */
.aff-legend{ font-size:12.5px; color:var(--sub); margin:0 0 10px; }
.aff-src{ font-size:12.5px; line-height:1.8; color:var(--sub); margin:4px 0 0; }
.aff-src a{ color:var(--navy); }
/* 診断結果の「根拠の数値を見る ↓」 */
.aff-check .result .more{ margin-left:auto; white-space:nowrap;
  font-family:var(--font-head); font-size:13.5px; font-weight:700;
  color:var(--navy) !important; text-decoration:none !important; }
.aff-check .result .more:hover{ text-decoration:underline !important; }
/* 順位カード: 1位の名前行 / 2位3位の1行畳み(確定案: バー+1行) */
.aff-rank .bar .rk-note{ margin-left:auto; font-family:var(--font-body); font-size:12px;
  font-weight:400; color:var(--sub); }
.aff-rank .oneline{ padding:16px 18px; display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.aff-rank .oneline .nm{ font-family:var(--font-head); font-size:19px; font-weight:700; color:var(--navy); }
.aff-rank .oneline .sm{ font-size:13px; color:#3c4654; }
.aff-rank .oneline .pr{ margin-left:auto; font-family:var(--font-head); font-size:17px;
  font-weight:800; color:var(--navy); font-variant-numeric:tabular-nums; }
.aff-rank .oneline .rv{ font-size:13.5px; color:var(--navy); white-space:nowrap; }
.aff-rank .body .oneline{ padding:0 0 6px; }
.aff-rank .pc2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:8px 0 12px; }
.aff-rank .pc2 .aff-pros,.aff-rank .pc2 .aff-cons{ min-width:0; }
.aff-rank .ctarow{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.aff-rank .ctarow .aff-cta{ width:auto; display:inline-flex; padding:0 20px; min-height:44px; }
.aff-rank .ctarow .rv{ font-size:13.5px; font-weight:700; color:var(--navy); }
.aff-rank .ctarow .ad{ margin-left:auto; font-size:11px; color:var(--sub); }

/* 比較表: 旧 functions.php の word-break:break-all が数値を途中で折っていた */
.aff-table th,.aff-table td{ word-break:normal !important; overflow-wrap:break-word !important; }
.aff-table .c b{ white-space:nowrap; }
/* 画像ゼロ(v2決定): 本文の図解・スクショを出さない。1pxの計測ピクセルは
   display:none でも読み込まれるため、アフィ計測はそのまま生きる */
.articleBody img{ display:none !important; }
.articleBody figure{ margin:0; }
