@charset "utf-8";
/* ==========================================================
   利回り図鑑 共通スタイル
   ルールは デザインルール.md に準拠する
   ・有彩色は濃紺と赤の2色のみ
   ・明朝はロゴ・記事タイトル・セクション見出しのみ
   ・罫線は1px 1種類、角丸・影・グラデーションは使わない
   ・数字に専用書体を使わない
   ========================================================== */

:root{
  --navy:#1F3D56;
  --red:#B8342A;
  --ink:#22262A;
  --gray1:#5E656B;
  --gray2:#8C939A;
  --gray3:#C9CED2;
  --line:#E1E4E6;
  --bg:#F4F5F3;
  --white:#FFFFFF;
  --mincho:"Yu Mincho","游明朝","Hiragino Mincho ProN","MS PMincho",serif;
}

*{box-sizing:border-box}
html{background:var(--bg)}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:"Hiragino Sans","ヒラギノ角ゴシック","Yu Gothic Medium","游ゴシック Medium",YuGothic,Meiryo,sans-serif;
  font-size:14px;line-height:1.85;
  -webkit-text-size-adjust:100%;
}
img{max-width:100%;height:auto}
a{color:var(--navy);text-decoration:none}
a:hover{color:var(--red)}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.w{max-width:1060px;margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ── ヘッダー ───────────────────────────── */
.hd{background:var(--white);border-bottom:1px solid var(--line)}
.hd-in{display:flex;align-items:center;gap:16px;padding:16px 0;flex-wrap:wrap}
.lg{display:flex;align-items:center;gap:11px}
.lg-jp{font-family:var(--mincho);font-size:24px;font-weight:600;color:var(--navy);line-height:1.2}
.lg-en{font-size:8.5px;color:var(--gray2);letter-spacing:.16em;display:block;margin-top:2px}
.hd-r{margin-left:auto;display:flex;align-items:center;gap:18px}
.hd-nav{display:flex;gap:20px;flex-wrap:wrap}
.hd-nav a{font-size:13px;color:var(--gray1)}
.hd-nav a:hover{color:var(--red)}
.srch{display:flex;border:1px solid var(--gray3)}
.srch input{border:0;padding:5px 9px;font-size:12px;width:120px;font-family:inherit;background:transparent;color:var(--ink)}
.srch input:focus{outline:none}
.srch button{border:0;background:var(--navy);color:var(--white);padding:0 12px;font-size:11px;cursor:pointer;font-family:inherit}
.crumb{font-size:11px;color:var(--gray2);padding:10px 0}
.crumb a{color:var(--gray2)}

/* ── ヒーロー（トップ） ─────────────────── */
.hero{padding:56px 0 44px;border-bottom:1px solid var(--line);background:var(--white)}
.hero h1{font-family:var(--mincho);font-size:clamp(26px,4.8vw,42px);line-height:1.5;margin:0 0 18px;font-weight:600;color:var(--navy)}
.hero h1 em{font-style:normal;color:var(--red)}
.hero p{margin:0;font-size:14px;color:var(--gray1);max-width:44em;line-height:2}

/* ── レイアウト ─────────────────────────── */
.cols{display:grid;grid-template-columns:1fr;gap:34px;padding:32px 0 44px}
@media(min-width:960px){.cols{grid-template-columns:minmax(0,1fr) 250px}}

/* ── セクション見出し ───────────────────── */
h2.sec{
  font-family:var(--mincho);font-size:22px;font-weight:600;margin:0 0 20px;color:var(--navy);
  border-bottom:1px solid var(--navy);padding-bottom:12px;
  display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
}
h2.sec .en{font-size:11.5px;color:var(--gray2);font-weight:400;font-family:inherit;font-family:"Hiragino Sans",sans-serif}
h2.sec .more{margin-left:auto;font-size:12px;color:var(--gray1);font-weight:400}
h2.sec .more:hover{color:var(--red)}
.blk{margin-bottom:44px}

/* ── 比較表 ─────────────────────────────── */
.tabs{display:flex;border-bottom:1px solid var(--line);overflow-x:auto}
.tabs button{
  border:0;background:transparent;cursor:pointer;font-family:inherit;
  font-size:12.5px;color:var(--gray1);padding:8px 16px;white-space:nowrap;
  border-bottom:2px solid transparent;margin-bottom:-1px;
}
.tabs button:hover{color:var(--ink)}
.tabs button[aria-selected="true"]{color:var(--red);border-bottom-color:var(--red);font-weight:600}
.tsc{overflow-x:auto;background:var(--white);border:1px solid var(--line);border-top:0}
table.c{border-collapse:collapse;width:100%;min-width:800px}
table.c th,table.c td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:12.5px;white-space:nowrap}
table.c thead th{color:var(--gray2);font-size:10.5px;font-weight:400;padding-bottom:8px;padding-top:12px}
table.c tbody tr:last-child td{border-bottom:0}
table.c tbody tr:hover{background:var(--bg)}
.nm{font-size:13px;color:var(--ink)}
.nm small{display:block;font-size:10.5px;color:var(--gray2);margin-top:1px}
td.n{color:var(--gray1)}
td.y{width:130px}
.ybar{display:flex;align-items:center;gap:9px}
.ybar .v{font-size:14px;font-weight:600;color:var(--ink);width:52px;text-align:right}
.ybar .t{flex:1;height:2px;background:var(--line);position:relative}
.ybar .t i{position:absolute;left:0;top:0;bottom:0;width:var(--w);background:var(--red);opacity:var(--o)}
.tnote{font-size:11px;color:var(--gray2);line-height:1.8;margin-top:10px}

/* ── ボタン ─────────────────────────────── */
.btn{display:inline-block;background:var(--navy);color:var(--white);font-size:11.5px;padding:5px 13px;white-space:nowrap}
.btn:hover{background:var(--red);color:var(--white)}
.btn-lg{font-size:13.5px;padding:11px 26px}

/* ── 予算から探す ───────────────────────── */
.bud{display:none;background:var(--white);border:1px solid var(--line);border-top:0;padding:16px 18px}
.bud.on{display:block}
.bud-l{font-size:11.5px;color:var(--gray2);margin-bottom:9px}
.bud-b{display:flex;gap:6px;flex-wrap:wrap}
.bud-b button{border:1px solid var(--gray3);background:var(--white);cursor:pointer;font-family:inherit;font-size:12.5px;color:var(--gray1);padding:6px 14px}
.bud-b button:hover{border-color:var(--navy);color:var(--navy)}
.bud-b button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--white)}
.bud-r{margin-top:14px;padding-top:13px;border-top:1px solid var(--line);font-size:14px;color:var(--ink);line-height:1.8}
.bud-r b{color:var(--red);font-weight:600;font-size:17px}
.bud-r .sub{display:block;font-size:11.5px;color:var(--gray2);margin-top:4px}

/* ── 収録状況 ───────────────────────────── */
.idx{background:var(--white);border:1px solid var(--line);padding:22px 24px;margin-bottom:20px;display:grid;gap:24px;grid-template-columns:1fr}
@media(min-width:640px){.idx{grid-template-columns:auto 1fr;align-items:center}}
.idx-grid{display:grid;grid-template-columns:repeat(20,1fr);gap:3px;max-width:340px}
@media(max-width:400px){.idx-grid{grid-template-columns:repeat(10,1fr)}}
.cell{aspect-ratio:1;border:1px solid var(--gray3);background:transparent}
.cell.done{border-color:var(--navy);background:var(--navy)}
.cell.next{border-color:var(--red);border-width:2px}
.idx-txt .n{font-family:var(--mincho);font-size:34px;color:var(--navy);line-height:1;font-weight:600}
.idx-txt .n span{font-size:15px;color:var(--gray2)}
.idx-txt .l{font-size:11.5px;color:var(--gray2);margin:6px 0 12px}
.idx-txt p{font-size:12.5px;color:var(--gray1);line-height:1.85;margin:0;max-width:26em}
.idx-txt .next-t{margin-top:10px;font-size:12px;color:var(--ink)}
.idx-txt .next-t b{color:var(--red);font-weight:600}
@media(prefers-reduced-motion:no-preference){
  .cell.done{animation:fill .45s ease backwards;animation-delay:calc(var(--i)*.05s)}
  @keyframes fill{from{background:transparent;border-color:var(--gray3)}}
}

/* ── 記事カード（トップ） ───────────────── */
.lead{display:grid;grid-template-columns:1fr;background:var(--white);border:1px solid var(--line);margin-bottom:14px}
@media(min-width:580px){.lead{grid-template-columns:196px 1fr}}
.lead:hover{border-color:var(--navy)}
.lead:hover h3{color:var(--red)}
.th{background:var(--bg);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:20px}
@media(min-width:580px){.th{border-bottom:0;border-right:1px solid var(--line)}}
.th svg{width:100%;max-width:120px;height:auto;display:block}
.lead .b{padding:20px 22px}
.meta1{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.fno,.dt{font-size:10px;color:var(--gray2)}
.lead h3{font-family:var(--mincho);font-size:22px;margin:0 0 11px;font-weight:600;line-height:1.55;color:var(--navy)}
.lead p{margin:0;font-size:12.5px;color:var(--gray1);line-height:1.9}
.kpi{display:flex;gap:24px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);flex-wrap:wrap}
.kpi div{display:flex;flex-direction:column;gap:1px}
.kpi .k{font-size:10px;color:var(--gray2)}
.kpi .v{font-size:15px;font-weight:600;color:var(--red)}
.kpi .v.q{color:var(--gray1);font-weight:400;font-size:13px}

.rows{display:flex;flex-direction:column}
.row{display:grid;grid-template-columns:64px 1fr;gap:16px;background:var(--white);border:1px solid var(--line);border-top:0;padding:15px 18px;align-items:center}
.rows .row:first-child{border-top:1px solid var(--line)}
.row:hover{background:var(--bg)}
.row:hover h3{color:var(--red)}
.row .ic svg{width:100%;height:auto;display:block}
.row h3{font-size:15px;margin:3px 0 4px;font-weight:600;line-height:1.6;color:var(--navy)}
.row p{margin:0;font-size:11.5px;color:var(--gray1);line-height:1.75}
.row .st{display:flex;gap:16px;margin-top:7px;font-size:10.5px;color:var(--gray2);flex-wrap:wrap}
.row .st b{color:var(--ink);font-size:12px;font-weight:600}

/* ── 金融商品カード ─────────────────────── */
.fin{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.fc{background:var(--white);border:1px solid var(--line);padding:18px 20px;display:flex;flex-direction:column;gap:9px}
.fc h3{font-size:14px;margin:0;font-weight:600;color:var(--navy)}
.fc p{margin:0;font-size:11.5px;color:var(--gray1);line-height:1.85}
.fc .kv{display:flex;gap:18px;padding-top:11px;border-top:1px solid var(--line);margin-top:auto}
.fc .kv div{display:flex;flex-direction:column;gap:1px}
.fc .kv .v{font-weight:600;font-size:14px;color:var(--ink)}
.fc .kv .k{font-size:10px;color:var(--gray2)}
.fc .btn{text-align:center;margin-top:5px}

/* ── 記事本文 ───────────────────────────── */
article{background:var(--white);border:1px solid var(--line);padding:28px 22px 40px}
@media(min-width:700px){article{padding:44px 52px 52px}}
.file{font-size:11px;color:var(--gray2);margin-bottom:14px;letter-spacing:.06em}
article h1{font-family:var(--mincho);font-size:27px;line-height:1.5;margin:0 0 18px;font-weight:600;color:var(--navy)}
@media(min-width:700px){article h1{font-size:35px;line-height:1.45}}
.byline{font-size:11.5px;color:var(--gray2);border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:30px}
.lede{font-size:15.5px;line-height:2.05}
.lede p{margin:0 0 17px}
.hook{font-family:var(--mincho);font-size:21px;line-height:1.75;color:var(--navy);font-weight:600;border-left:3px solid var(--red);padding-left:18px;margin:28px 0}
@media(min-width:700px){.hook{font-size:24px}}
.toc{border:1px solid var(--line);padding:20px 22px;margin:34px 0 44px}
.toc h2{font-size:12px;font-weight:600;color:var(--gray1);margin:0 0 12px;border:0;padding:0;letter-spacing:.06em;font-family:inherit}
.toc ol{margin:0;padding-left:20px;font-size:13.5px;line-height:2.05;color:var(--gray1)}
.toc a{color:var(--gray1)}
article h2{font-family:var(--mincho);font-size:23px;font-weight:600;line-height:1.55;color:var(--navy);margin:56px 0 20px;padding-bottom:12px;border-bottom:1px solid var(--navy)}
@media(min-width:700px){article h2{font-size:27px}}
article h3{font-size:16px;font-weight:600;margin:36px 0 12px;color:var(--ink)}
article p{margin:0 0 17px;font-size:15px;line-height:1.95}
strong{font-weight:600}
.mk{background:linear-gradient(transparent 64%,rgba(31,61,86,.14) 64%);font-weight:600}
.rd{color:var(--red);font-weight:600}

.spec{width:100%;border-collapse:collapse;margin:26px 0 34px;border-top:2px solid var(--navy)}
.spec th,.spec td{border-bottom:1px solid var(--line);padding:11px 4px;font-size:14px;text-align:left}
.spec th{width:46%;font-weight:400;color:var(--gray1)}
.spec td{text-align:right;font-weight:600}
.spec tr.hl th{color:var(--navy);font-weight:600}
.spec tr.hl td{color:var(--red);font-size:24px;line-height:1.3}

.fig{margin:34px 0 40px}
.fig-t{font-size:12px;color:var(--gray1);font-weight:600;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.fig-t span{font-weight:400;color:var(--gray2);margin-left:8px}
.fig-n{font-size:12.5px;color:var(--gray1);line-height:1.85;margin-top:14px}
.wf{display:flex;flex-direction:column}
.wf-r{display:grid;grid-template-columns:74px 1fr 68px;align-items:center;gap:12px;min-height:36px}
.wf-l{font-size:12px;color:var(--gray1);text-align:right;line-height:1.4}
.wf-t{position:relative;height:24px;background:var(--bg)}
.wf-t i{position:absolute;left:0;top:0;bottom:0;width:var(--w);background:var(--c)}
.wf-v{font-size:15px;font-weight:600;text-align:right;color:var(--c)}
.wf-a{grid-column:1/-1;font-size:12px;color:var(--gray1);padding:6px 0 6px 86px}
.bep{padding:26px 0 4px;position:relative}
.bep-b{height:32px;background:var(--bg);position:relative;overflow:hidden}
.bep-l{position:absolute;left:0;top:0;bottom:0;width:79%;background:repeating-linear-gradient(135deg,rgba(31,61,86,.10) 0 7px,transparent 7px 14px)}
.bep-k{position:absolute;top:-22px;bottom:-2px;width:2px;background:var(--red);left:79%}
.bep-k::after{content:attr(data-label);position:absolute;top:-2px;left:8px;font-size:11.5px;color:var(--red);font-weight:600;white-space:nowrap}
@media(max-width:520px){.bep-k::after{left:auto;right:8px}}
.bep-s{display:flex;justify-content:space-between;font-size:11px;color:var(--gray2);padding-top:6px}
.cmp{display:flex;flex-direction:column;gap:9px}
.cmp-r{display:grid;grid-template-columns:128px 1fr 58px;gap:11px;align-items:center;font-size:12.5px}
.cmp-r.me .cmp-n{color:var(--red);font-weight:600}
.cmp-n{line-height:1.35;color:var(--gray1)}
.cmp-n small{display:block;font-size:10.5px;color:var(--gray2)}
.cmp-t{height:14px;background:var(--bg);position:relative}
.cmp-t i{position:absolute;left:0;top:0;bottom:0;width:var(--w);background:var(--c)}
.cmp-v{font-weight:600;text-align:right;color:var(--c);font-size:13px}

.case{border-left:3px solid var(--navy);padding:4px 0 4px 22px;margin:34px 0}
.case-h{font-size:12px;color:var(--gray2);margin-bottom:10px}
.case p{margin:0 0 14px;font-size:14.5px}
.case p:last-child{margin:0}

.tw{overflow-x:auto;margin:22px 0 30px}
table.d{width:100%;border-collapse:collapse;min-width:400px;font-size:14px;border-top:2px solid var(--navy)}
table.d th,table.d td{border-bottom:1px solid var(--line);padding:10px 4px;text-align:left}
table.d thead th{font-size:11.5px;color:var(--gray2);font-weight:400;padding-bottom:8px}
table.d td.n{text-align:right;font-weight:600;color:var(--ink)}
table.d tfoot td,table.d tfoot th{font-weight:600;border-bottom:2px solid var(--navy)}

.cta{border:1px solid var(--navy);padding:24px 26px;margin:44px 0}
.cta h3{font-family:var(--mincho);font-size:19px;margin:0 0 14px;color:var(--navy);font-weight:600}
.cta .fg{display:flex;gap:28px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.cta .fg div{display:flex;flex-direction:column;gap:2px}
.cta .fg .v{font-size:20px;font-weight:600;color:var(--ink)}
.cta .fg .k{font-size:10.5px;color:var(--gray2)}
.cta p{font-size:13.5px;color:var(--gray1);margin:0 0 16px}

.rel{margin:48px 0 0;border-top:1px solid var(--line);padding-top:26px}
.rel h3{font-size:12px;color:var(--gray1);margin:0 0 14px;letter-spacing:.06em}
.rel a{display:grid;grid-template-columns:58px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}
.rel a:last-child{border-bottom:0}
.rel .v{font-size:16px;font-weight:600;color:var(--navy);text-align:center;line-height:1.2}
.rel .v small{display:block;font-size:9.5px;color:var(--gray2);font-weight:400}
.rel .t{font-size:14px;font-weight:600;line-height:1.55;color:var(--navy)}
.rel a:hover .t{color:var(--red)}
.rel .d{font-size:12px;color:var(--gray1);line-height:1.65;margin-top:3px}

.src{border-top:1px solid var(--line);margin-top:44px;padding-top:22px}
.src h3{font-size:12px;color:var(--gray1);margin:0 0 10px;letter-spacing:.06em}
.src ul{margin:0;padding-left:18px;font-size:12.5px;line-height:2;color:var(--gray1)}
.note{font-size:11.5px;color:var(--gray2);line-height:1.9;margin-top:20px}

/* ── 固定ページ ─────────────────────────── */
.page{background:var(--white);border:1px solid var(--line);padding:28px 22px 40px}
@media(min-width:700px){.page{padding:44px 52px 52px}}
.page h1{font-family:var(--mincho);font-size:28px;margin:0 0 26px;font-weight:600;color:var(--navy);border-bottom:1px solid var(--navy);padding-bottom:16px}
.page h2{font-family:var(--mincho);font-size:20px;margin:44px 0 16px;font-weight:600;color:var(--navy)}
.page h3{font-size:15px;margin:28px 0 10px;font-weight:600}
.page p{margin:0 0 16px;font-size:14.5px;line-height:1.95}
.page ul,.page ol{margin:0 0 18px;padding-left:22px;font-size:14.5px;line-height:1.95}
.page li{margin-bottom:5px}
.page table{width:100%;border-collapse:collapse;margin:20px 0 26px;font-size:14px;border-top:2px solid var(--navy)}
.page th,.page td{border-bottom:1px solid var(--line);padding:10px 4px;text-align:left}
.page th{width:32%;font-weight:400;color:var(--gray1)}
.page dl{margin:0 0 20px;font-size:14.5px}
.page dt{font-weight:600;margin-top:14px}
.page dd{margin:0 0 6px;color:var(--gray1)}

/* ── サイドバー ─────────────────────────── */
aside{display:flex;flex-direction:column;gap:32px}
.sb h4{font-size:12px;font-weight:600;color:var(--navy);margin:0 0 12px;border-bottom:1px solid var(--navy);padding-bottom:6px}
.sb p{font-size:11.5px;color:var(--gray1);line-height:1.9;margin:0}
.prof{display:flex;flex-direction:column;gap:1px;margin-bottom:12px;padding-bottom:11px;border-bottom:1px solid var(--line)}
.prof .n2{font-size:13px;color:var(--navy);font-weight:600;line-height:1.5}
.prof .r2{font-size:10.5px;color:var(--gray2)}
.rk{display:flex;flex-direction:column}
.rk a{display:grid;grid-template-columns:16px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);align-items:start}
.rk a:first-child{padding-top:0}
.rk a:last-child{border-bottom:0}
.rk .n{font-size:12px;color:var(--gray3)}
.rk a:nth-child(-n+3) .n{color:var(--gray1);font-weight:600}
.rk .t{font-size:12px;line-height:1.7;color:var(--gray1)}
.rk a:hover .t{color:var(--red)}
.prbox{border:1px solid var(--navy);padding:16px 17px}
.prl{font-size:9px;color:var(--gray2);letter-spacing:.16em;margin-bottom:8px}
.prbox h5{font-size:13.5px;margin:0 0 10px;font-weight:600;color:var(--navy);line-height:1.6}
.prbox .fg{display:flex;gap:16px;margin-bottom:11px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.prbox .fg div{display:flex;flex-direction:column;gap:1px}
.prbox .fg .v{font-weight:600;font-size:14px;color:var(--ink)}
.prbox .fg .k{font-size:9.5px;color:var(--gray2)}
.prbox .btn{display:block;text-align:center;margin-top:11px;padding:9px;font-size:12.5px}
.upd{font-size:11.5px;line-height:1.9;margin:0}
.upd dt{font-size:10px;color:var(--gray2);float:left;width:46px;line-height:1.9}
.upd dd{margin:0 0 5px 46px;color:var(--gray1)}

/* ── フッター ───────────────────────────── */
footer{background:var(--navy);color:#B4C3CE;padding:32px 0 28px;font-size:12px;line-height:1.9}
.fg2{display:grid;gap:24px;grid-template-columns:1fr}
@media(min-width:640px){.fg2{grid-template-columns:1.6fr 1fr 1fr}}
footer h4{font-size:12px;margin:0 0 9px;color:var(--white);font-weight:600}
footer ul{list-style:none;margin:0;padding:0}
footer li{line-height:2}
footer a{color:#B4C3CE;font-size:11.5px}
footer a:hover{color:var(--white)}
footer p{margin:0;font-size:11.5px}
.fn{border-top:1px solid rgba(255,255,255,.16);margin-top:26px;padding-top:14px;font-size:10.5px;color:#8DA2B2;line-height:1.9}
.fn a{color:#B4C3CE;text-decoration:underline}
.cp{font-size:10px;color:#7C93A5;margin-top:12px}

/* ── 対比図（2案を並べて比べる） ────────── */
.vs{display:grid;gap:14px;grid-template-columns:1fr;margin:6px 0 0}
@media(min-width:560px){.vs{grid-template-columns:1fr 1fr}}
.vs > div{border:1px solid var(--line);padding:16px 18px}
.vs .h{font-size:12.5px;font-weight:600;color:var(--gray1);margin-bottom:12px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.vs .big{font-size:30px;font-weight:600;color:var(--c);line-height:1.15}
.vs .big small{font-size:14px;font-weight:400}
.vs .k{font-size:11px;color:var(--gray2);margin-top:3px}
.vs dl{margin:14px 0 0;font-size:12.5px;line-height:1.9}
.vs dt{color:var(--gray2);float:left}
.vs dd{margin:0 0 2px;text-align:right;color:var(--ink)}

/* ── 推移図（時系列で1本の数字が動く） ──── */
.trend{display:flex;align-items:flex-end;gap:2px;height:120px;margin:8px 0 4px}
.trend div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}
.trend i{display:block;width:100%;background:var(--c);min-height:2px}
.trend .v{font-size:10.5px;color:var(--gray1);font-weight:600}
.trend .y{font-size:10px;color:var(--gray2)}

/* ==========================================================
   スマートフォン対応（760px以下）
   検索流入の大半はスマホ。Googleもスマホ版を評価対象にする。
   ========================================================== */
@media (max-width:760px){

  /* 基本 ─ 文字を大きく、余白を詰める */
  body{font-size:15px}
  .w{padding:0 16px}

  /* ヘッダー */
  .hd-in{padding:13px 0;gap:10px}
  .lg-jp{font-size:21px}
  .hd-r{width:100%;margin-left:0;flex-direction:column;align-items:stretch;gap:10px}
  .hd-nav{gap:0;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:8px}
  .hd-nav a{font-size:13.5px;padding:9px 14px 9px 0}
  .srch{width:100%}
  .srch input{flex:1;width:auto;padding:9px}
  .srch button{padding:0 18px}

  /* ヒーロー */
  .hero{padding:30px 0 26px}
  .hero h1{font-size:24px;line-height:1.55;margin-bottom:14px}
  .hero p{font-size:14px;line-height:1.9}

  /* セクション見出し */
  h2.sec{font-size:19px;padding-bottom:10px;margin-bottom:16px}
  h2.sec .en{font-size:10.5px}
  .blk{margin-bottom:34px}
  .cols{gap:28px;padding:24px 0 34px}

  /* タブ ─ タップ領域を確保 */
  .tabs button{padding:13px 15px;font-size:13px}

  /* 比較表 ─ 横スクロールをやめてカード表示にする */
  .tsc{overflow:visible;border:0;background:transparent}
  table.c{min-width:0;display:block}
  table.c thead{display:none}
  table.c tbody,table.c tr,table.c td{display:block;width:100%}
  table.c tr{
    background:var(--white);border:1px solid var(--line);
    margin-bottom:10px;padding:14px 16px;
  }
  table.c tbody tr:hover{background:var(--white)}
  table.c td{
    border:0;padding:6px 0;white-space:normal;
    display:flex;justify-content:space-between;align-items:baseline;gap:14px;font-size:13.5px;
  }
  table.c td::before{
    content:attr(data-label);color:var(--gray2);font-size:11.5px;flex:none;
  }
  table.c td.nm{
    display:block;font-size:16px;font-weight:600;color:var(--navy);
    border-bottom:1px solid var(--line);padding:0 0 10px;margin-bottom:8px;
  }
  table.c td.nm::before{display:none}
  table.c td.nm small{font-size:11.5px;margin-top:2px}
  table.c td.y{display:block}
  table.c td.y::before{display:block;margin-bottom:4px}
  .ybar .v{font-size:19px;width:auto;text-align:left}
  .ybar .t{margin-left:4px}
  table.c td.act{padding-top:12px}
  table.c td.act::before{display:none}
  table.c td.act .btn{display:block;text-align:center;padding:12px;font-size:13.5px}
  .tnote{margin-top:4px}

  /* 予算から探す */
  .bud{padding:16px}
  .bud-b button{padding:11px 16px;font-size:13.5px;flex:1 0 auto}
  .bud-r{font-size:14px}

  /* 収録状況 */
  .idx{padding:18px 16px;gap:18px}
  .idx-grid{grid-template-columns:repeat(10,1fr);max-width:100%;gap:4px}
  .idx-txt .n{font-size:30px}

  /* 記事カード（トップ） */
  .lead .b{padding:16px 17px}
  .lead h3{font-size:19px;line-height:1.6}
  .th{padding:16px}
  .th svg{max-width:96px}
  .kpi{gap:16px;flex-wrap:wrap}
  .row{grid-template-columns:52px 1fr;gap:12px;padding:13px 15px}
  .row h3{font-size:14.5px}
  .row .st{gap:12px;font-size:10.5px}

  /* 金融商品カード */
  .fc{padding:16px 17px}
  .fc .btn{display:block;text-align:center;padding:11px;font-size:13px}

  /* 記事本文 ─ 読みやすさを最優先 */
  article{padding:24px 18px 34px}
  article h1{font-size:23px;line-height:1.5;margin-bottom:14px}
  article h2{font-size:20px;margin:42px 0 16px;padding-bottom:10px}
  article h3{font-size:15.5px;margin:30px 0 10px}
  article p{font-size:15.5px;line-height:1.95;margin-bottom:16px}
  .lede{font-size:15.5px;line-height:2}
  .hook{font-size:18px;padding-left:14px;margin:24px 0;line-height:1.7}
  .byline{padding-bottom:16px;margin-bottom:24px}
  .toc{padding:16px 18px;margin:26px 0 34px}
  .toc ol{font-size:13.5px;line-height:1.95;padding-left:18px}

  /* 結論テーブル */
  .spec th,.spec td{font-size:13.5px;padding:10px 2px}
  .spec th{width:52%}
  .spec tr.hl td{font-size:21px}

  /* 図解 */
  .fig{margin:26px 0 32px}
  .fig-t{font-size:11.5px}
  .fig-t span{display:block;margin-left:0;margin-top:3px}
  .fig-n{font-size:12px}
  .wf-r{grid-template-columns:62px 1fr 56px;gap:8px;min-height:32px}
  .wf-l{font-size:11px}
  .wf-v{font-size:13.5px}
  .wf-a{padding-left:70px;font-size:11px}
  .cmp-r{grid-template-columns:1fr auto;gap:3px 10px}
  .cmp-n{grid-column:1;font-size:12.5px}
  .cmp-v{grid-column:2;align-self:center}
  .cmp-t{grid-column:1 / -1;margin-top:2px}
  .vs > div{padding:14px 16px}
  .vs .big{font-size:26px}
  .bep-k::after{font-size:10.5px}

  /* 記事内テーブル */
  table.d{min-width:0;font-size:13.5px}
  table.d th,table.d td{padding:9px 2px}
  table.d thead th{font-size:11px}

  /* ケース・CTA */
  .case{padding-left:16px;margin:26px 0}
  .case p{font-size:14.5px}
  .cta{padding:20px 18px;margin:34px 0}
  .cta h3{font-size:17px}
  .cta .fg{gap:20px}
  .cta .fg .v{font-size:18px}
  .cta .btn,.cta .btn.dis{display:block;text-align:center;padding:13px;font-size:14px}

  /* 関連記事 */
  .rel a,.relsoon{grid-template-columns:50px 1fr;gap:12px;padding:13px 0}
  .rel .t{font-size:13.5px}
  .rel .d{font-size:11.5px}

  /* 固定ページ */
  .page{padding:24px 18px 34px}
  .page h1{font-size:24px;margin-bottom:20px;padding-bottom:14px}
  .page h2{font-size:19px;margin:34px 0 14px}
  .page p,.page li{font-size:15px;line-height:1.95}
  .page th{width:38%}
  .page table{font-size:13.5px}

  /* サイドバー */
  aside{gap:26px}

  /* フッター */
  footer{padding:26px 0 24px}
  .fg2{gap:22px}
  footer li{line-height:2.2}
  footer a{font-size:13px}
}

/* さらに狭い端末（iPhone SE 等） */
@media (max-width:380px){
  .w{padding:0 13px}
  .hero h1{font-size:22px}
  article h1{font-size:21px}
  article h2{font-size:18.5px}
  .hook{font-size:17px}
  .wf-r{grid-template-columns:56px 1fr 50px;gap:6px}
  .wf-a{padding-left:62px}
  .vs .big{font-size:23px}
}
