/* お金の学び場 — ニュースサイト型（Yahoo!ニュース・東洋経済・ザイ・日経の型を参考）
   色: 濃紺 #12305a（ロゴ）／差し色 オレンジ #e67e00（ロゴ）。角丸・グラデーション・影は使わない */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:#222;font:15px/1.7 "Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic UI",Meiryo,sans-serif}
a{color:#12305a;text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;vertical-align:middle}
ul,ol{margin:0;padding:0}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;background:#fff;padding:6px;z-index:10}

/* 最上段（PR表記・サイト情報） */
.util{background:#f2f3f5;border-bottom:1px solid #e1e4e8;font-size:12px;color:#555}
.util-in{display:flex;justify-content:space-between;align-items:center;min-height:28px;gap:12px}
.util-pr{margin:0}
.util-links{list-style:none;display:flex;gap:14px}
.util-links a{color:#555}
.pr-tag{display:inline-block;border:1px solid #777;color:#444;font-size:11px;font-weight:700;line-height:1.3;padding:0 4px;margin-right:6px;vertical-align:1px;background:#fff}

/* ヘッダー */
.hdr{border-bottom:1px solid #e1e4e8}
.hdr-in{display:flex;align-items:center;gap:18px;padding-top:10px;padding-bottom:10px}
.logo img{display:block;width:auto;height:48px}
.tagline{margin:0;font-size:12px;color:#666;flex:1}
.hdr-cmp{border:1px solid #e67e00;color:#b35f00;font-weight:700;font-size:13px;padding:6px 12px;white-space:nowrap}
.hdr-cmp:hover{background:#fff4e6;text-decoration:none}

/* カテゴリナビ */
.gnav{background:#12305a}
.gnav ul{list-style:none;display:flex;overflow-x:auto;scrollbar-width:none}
.gnav ul::-webkit-scrollbar{display:none}
.gnav a{display:block;color:#fff;font-weight:700;font-size:14px;padding:10px 16px 8px;border-bottom:4px solid transparent;white-space:nowrap}
.gnav a:hover{background:#0c2445;text-decoration:none}
.gnav a.on{border-bottom-color:#e67e00;background:#0c2445}

/* パンくず */
.bc ol{list-style:none;display:flex;flex-wrap:wrap;font-size:12px;color:#666;padding:8px 0}
.bc li+li::before{content:"›";margin:0 6px;color:#999}
.bc a{color:#555}

/* 2段組 */
.layout{display:grid;gap:36px;padding-top:6px;padding-bottom:40px}
.layout.with-side{grid-template-columns:minmax(0,1fr) 300px}
.main{min-width:0}

/* ブロック見出し（一覧） */
.blk{margin:0 0 28px}
.blk-h{display:flex;justify-content:space-between;align-items:baseline;font-size:17px;margin:0 0 4px;padding:0 0 6px 10px;border-left:5px solid #12305a;border-bottom:1px solid #d5d9df;line-height:1.4}
.blk-more{font-size:12px;font-weight:400}
.pg-h1{font-size:24px;margin:6px 0 8px}
.pg-lead{color:#444;margin:0 0 20px}

/* 記事一覧（サムネイル左・ラベル・日付） */
.list{list-style:none}
.li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #e6e8eb}
.li-thumb{flex:0 0 160px}
.li-thumb img{display:block;width:160px;height:90px;object-fit:cover;border:1px solid #e3e5e8}
.li-body{min-width:0}
.li-meta{font-size:12px;color:#777;margin-bottom:2px}
.li-meta time{margin-left:2px}
.li-title{font-size:16px;font-weight:700;color:#111;line-height:1.5}
.li-desc{margin:4px 0 0;font-size:13px;color:#555;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.empty{padding:16px 0;color:#777}
.lbl{display:inline-block;color:#fff;font-size:11px;font-weight:700;line-height:1.5;padding:0 6px;margin-right:6px}
.lbl:hover{text-decoration:none;opacity:.9}
.lbl-sample{background:#b3261e}

/* トップのリード記事 */
.lead{display:grid;grid-template-columns:400px 1fr;gap:18px;padding:4px 0 18px;margin-bottom:22px;border-bottom:1px solid #d5d9df}
.lead-img img{display:block;width:100%;border:1px solid #e3e5e8}
.lead-title{display:block;font-size:22px;font-weight:700;line-height:1.45;color:#111;margin:4px 0 8px}
.lead-desc{margin:0;font-size:14px;color:#444}

/* 記事 */
.art-cat{font-size:13px;margin:4px 0 6px}
.art-cat a:not(.lbl){color:#555}
.art-h1{font-size:26px;line-height:1.45;margin:0 0 8px;color:#111;letter-spacing:.01em}
.art-meta{font-size:13px;color:#666;margin-bottom:12px}
.art-meta .sep{margin:0 8px;color:#bbb}
.pr-box{font-size:15px;line-height:1.6;color:#222;border:1px solid #c8ccd2;background:#fafafa;padding:8px 12px;margin:0 0 14px}
.pr-box .pr-tag{font-size:12px}
.sample-box{border:2px solid #b3261e;background:#fff5f4;color:#7a1a14;padding:8px 12px;margin:0 0 14px;font-size:14px}
.def{border-top:3px solid #12305a;background:#f3f5f8;padding:12px 16px;margin:0 0 18px;font-size:16px;line-height:1.8}
.def-h{display:block;font-size:12px;font-weight:700;color:#12305a;margin-bottom:2px}
.fig{margin:20px 0 24px}
.fig img{display:block;width:100%;border:1px solid #e3e5e8}
.fig figcaption{font-size:13px;color:#666;padding-top:6px;line-height:1.6}
.fig-slot{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;background:#f2f3f5;border:1px dashed #b8bec6;color:#777;font-size:13px}
.toc{border:1px solid #cfd4da;background:#fbfbfc;padding:12px 18px 12px;margin:0 0 24px}
.toc-h{margin:0 0 4px;font-weight:700;font-size:14px}
.toc ol{padding-left:1.6em;font-size:15px}
.toc li{padding:2px 0}
.art-body{font-size:16.5px;line-height:1.9}
.art-body p{margin:0 0 1.1em}
.art-body h2,.art h2{font-size:20px;line-height:1.5;margin:40px 0 16px;padding:9px 12px;background:#f2f4f7;border-left:6px solid #12305a;color:#111}
.art-body h3{font-size:17px;margin:28px 0 10px;padding-bottom:4px;border-bottom:1px solid #d5d9df}
.art-body ul,.art-body ol{padding-left:1.5em;margin:0 0 1.1em}
.art-body li{margin:.2em 0}
.art-body strong{background:linear-gradient(transparent 62%,#ffe2bd 62%)}
.art-body a{text-decoration:underline;text-underline-offset:2px}
.sub-h{font-weight:700;margin:16px 0 4px}

/* 表 */
.tbl-wrap{overflow-x:auto;margin:0 0 1.2em}
.tbl{border-collapse:collapse;width:100%;font-size:14.5px;line-height:1.6}
.tbl th,.tbl td{border:1px solid #d5dbe3;padding:7px 10px;text-align:left;vertical-align:top}
.tbl thead th{background:#e9eef4;font-size:13.5px;white-space:nowrap}
.tbl tbody th{background:#f6f8fa;font-weight:700}
.tbl .num{text-align:right;white-space:nowrap}
.tbl-cmp td,.tbl-cmp th{white-space:nowrap}
.rk{text-align:center;font-weight:700;width:3em}

/* 記事冒頭の比較表（PR） */
.cmp-mini{border:1px solid #c9d1dc;margin:0 0 22px;font-size:14px}
.cmp-mini-h{background:#e9eef4;padding:7px 12px;font-weight:700;font-size:14px}
.cmp-mini table{border-collapse:collapse;width:100%}
.cmp-mini th,.cmp-mini td{border-top:1px solid #dde3ea;padding:7px 10px;text-align:left}
.cmp-mini thead th{white-space:nowrap;font-size:12px;color:#555;font-weight:400;background:#f8f9fb}
.cmp-mini tbody th{font-weight:700}
.td-cta{text-align:right;width:1%;white-space:nowrap}
.cmp-note{font-size:12px;color:#666;margin:6px 10px 8px}

/* ボタン */
.btn-cta{display:inline-block;background:#e67e00;color:#fff;font-weight:700;padding:10px 20px;border-radius:3px;border-bottom:3px solid #b05f00;line-height:1.3;text-align:center}
.btn-cta:hover{background:#f08a0a;text-decoration:none}
.btn-cta .ext{margin-left:6px}
.td-cta .btn-cta,.sd .btn-cta{padding:5px 12px;font-size:13px;border-bottom-width:2px}
.btn-sub{display:inline-block;border:1px solid #12305a;color:#12305a;font-weight:700;padding:9px 16px;line-height:1.3}
.btn-sub:hover{background:#eef2f7;text-decoration:none}

/* もっと詳しく・やってみよう */
.more{border:1px solid #d5dbe3;padding:9px 12px;margin:0 0 1.4em;font-size:15px;line-height:1.6}
.more-h{display:inline-block;background:#12305a;color:#fff;font-size:11px;font-weight:700;padding:0 6px;margin-right:8px;vertical-align:2px}
.more a{font-weight:700;text-decoration:none}
.try-box{border:2px solid #e67e00;margin:28px 0;font-size:15px}
.try-h{background:#fff3e3;padding:8px 14px;font-weight:700}
.try-box p{margin:10px 14px}
.try-camp{background:#fffaf2;border-top:1px dashed #e9b46b;padding:4px 0 12px}
.try-camp .btn-cta{margin:0 14px;font-size:14px;padding:7px 14px}
.try-act{display:flex;flex-wrap:wrap;gap:10px;margin:12px 14px 14px}

/* FAQ */
.faq dl{margin:0}
.qa{border-bottom:1px solid #e3e6ea;padding:10px 0}
.qa dt{font-weight:700;display:flex;gap:10px;line-height:1.6}
.qa dd{margin:6px 0 0;display:flex;gap:10px;line-height:1.8}
.q,.a{flex:0 0 24px;height:24px;line-height:24px;text-align:center;color:#fff;font-weight:700;font-size:13px}
.q{background:#12305a}
.a{background:#e67e00}

/* リスク・出典・著者 */
.risk-box{border:1px solid #d9aaa6;background:#fffaf9;padding:4px 14px;margin:28px 0 18px;font-size:13.5px;line-height:1.7}
.art .risk-h{font-size:14px;background:none;border:0;padding:0;margin:8px 0 2px;color:#8a1f17}
.srcs{font-size:13px;color:#444;margin:18px 0}
.art .srcs-h{font-size:14px;background:none;border:0;padding:0;margin:0 0 4px}
.srcs ul{padding-left:1.3em}
.share a{display:inline-block;border:1px solid #111;color:#111;padding:5px 12px;font-size:13px;font-weight:700}
.author{border-top:1px solid #d5d9df;border-bottom:1px solid #d5d9df;padding:12px 0;margin:18px 0 28px;font-size:14px}
.author-h{margin:0;font-size:12px;color:#777}
.author-n{margin:2px 0;font-weight:700}
.author-b{margin:0;color:#444}
.rel{margin-top:10px}
.tbd{color:#999}

/* 比較・会社別 */
.co{border:1px solid #d5dbe3;padding:14px 16px;margin:0 0 18px}
.art .co-h{display:flex;align-items:center;gap:10px;font-size:18px;background:none;border:0;border-bottom:2px solid #12305a;padding:0 0 6px;margin:0 0 10px}
.rank-badge{background:#12305a;color:#fff;font-size:13px;padding:2px 8px}
.co-score{margin-left:auto;font-size:14px;color:#b35f00}
.co-catch{font-weight:700;margin:0 0 6px}
.dots{list-style:none;margin:0 0 12px}
.dots li{padding-left:1.1em;text-indent:-1.1em;margin:3px 0}
.dots li::before{content:"●";color:#12305a;font-size:10px;margin-right:6px;vertical-align:2px}
.dots-caution li::before{color:#b3261e}
.camp{border:1px solid #e9b46b;background:#fffaf2;padding:8px 12px;margin:0 0 12px}
.camp-h{margin:0;font-size:12px;font-weight:700;color:#b35f00}
.camp-t{margin:0;font-weight:700}
.camp-c{margin:2px 0 0;font-size:13px;color:#555}
.co-act{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}
.co-reg{font-size:12px;color:#666;margin:6px 0 0}
.co-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid #d5dbe3;padding:10px 14px;margin:0 0 10px}
.co-sum-rank{margin:0}

/* サイドバー */
.side{min-width:0}
.sd{margin:0 0 26px}
.sd-h{font-size:15px;margin:0 0 6px;padding:0 0 5px 8px;border-left:4px solid #12305a;border-bottom:1px solid #d5d9df}
.sd-rank{list-style:none}
.sd-rank li{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #e6e8eb}
.sd-rank .rk{flex:0 0 26px;height:26px;line-height:26px;background:#12305a;color:#fff;font-size:14px;width:auto}
.sd-rank .rk1{background:#e67e00}
.sd-co{font-weight:700;font-size:14px;display:block;line-height:1.5}
.sd-sub{margin:2px 0 6px;font-size:12px;color:#555}
.sd-more{font-size:12px;margin:6px 0 0;text-align:right}
.sd-pick{list-style:none}
.sd-pick li{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid #e6e8eb;font-size:14px;line-height:1.5;font-weight:700}
.sd-pick a{color:#111}
.pk-n{flex:0 0 20px;font-size:18px;font-weight:700;color:#12305a;line-height:1.2;font-family:Georgia,"Times New Roman",serif}
.sd-cal{border-collapse:collapse;width:100%;font-size:13px}
.sd-cal td{border-bottom:1px solid #e6e8eb;padding:6px 4px;vertical-align:top}
.sd-cal td:first-child{white-space:nowrap;color:#555;width:70px}
.ctry{display:inline-block;border:1px solid #999;font-size:11px;padding:0 3px;margin-right:4px;line-height:1.3}
.sd-note{font-size:11px;color:#888;margin:4px 0 0}
.sd-cats{list-style:none;font-size:14px}
.sd-cats li{border-bottom:1px solid #e6e8eb;padding:7px 0}

/* フッター */
.ftr{background:#12305a;color:#d6dde8;font-size:13px;margin-top:20px}
.ftr a{color:#fff}
.ftr-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:26px;padding-bottom:16px}
.ftr-h{font-weight:700;color:#fff;margin:0 0 6px;padding-bottom:4px;border-bottom:1px solid #2d4a75}
.ftr ul{list-style:none}
.ftr li{padding:3px 0}
.ftr .soon{color:#8fa0b8}
.ftr-notes{border-top:1px solid #2d4a75;padding-top:12px;padding-bottom:14px;font-size:12px;line-height:1.7;color:#c3cddb}
.ftr-notes p{margin:0 0 6px}
.ftr-copy{background:#0b2242;padding:10px 0;font-size:12px;color:#aab7ca}

/* スマホ */
@media (max-width:860px){
  .layout.with-side{grid-template-columns:1fr}
  .side{border-top:3px solid #12305a;padding-top:16px}
}
@media (max-width:700px){
  body{font-size:15px}
  .util-links{display:none}
  .tagline{display:none}
  .hdr-in{justify-content:space-between}
  .logo img{height:38px}
  .gnav a{padding:9px 12px 7px;font-size:14px}
  .wrap{padding:0 12px}
  .lead{grid-template-columns:1fr;gap:8px}
  .lead-title{font-size:19px}
  .li-thumb{flex-basis:112px}
  .li-thumb img{width:112px;height:63px}
  .li-title{font-size:15px}
  .li-desc{display:none}
  .art-h1{font-size:21px}
  .art-body{font-size:16px}
  .art-body h2,.art h2{font-size:18px;margin-top:32px}
  .cmp-mini td:nth-child(4),.cmp-mini th:nth-child(4){display:none}
  .ftr-cols{grid-template-columns:1fr 1fr}
}
.cell-note{display:inline-block;margin-top:2px;font-size:12px;color:#555;line-height:1.5}
/* はじめての人へ（トップ・/fx/ の先頭） */
.bg{border:2px solid #12305a;background:#f4f7fb;margin:0 0 22px;padding:10px 14px 12px}
.bg-h{font-size:16px;margin:0 0 8px;line-height:1.45}
.bg-list{list-style:none;counter-reset:bg;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.bg-list li{counter-increment:bg}
.bg-list a{display:block;height:100%;background:#fff;border:1px solid #c9d1dc;padding:8px 10px;color:#111}
.bg-list a:hover{border-color:#12305a;text-decoration:none}
.bg-l{display:block;font-weight:700;color:#12305a}
.bg-l::before{content:counter(bg) ". "}
.bg-n{display:block;font-size:12px;color:#555;line-height:1.5;margin-top:2px}
/* 記事上部の1行案内 */
.cmp-line{font-size:14px;margin:0 0 16px;padding:6px 10px;background:#f8f9fb;border-left:3px solid #c9d1dc}
/* 記事末尾の申込案内 */
.try-sub{font-weight:700;font-size:14px}
.try-top,.try-pick{margin:0 14px 8px;padding-left:1.2em}
.try-top li{margin:4px 0}
.try-top .btn-cta{margin-left:8px;padding:5px 12px;font-size:13px;border-bottom-width:2px}
.try-pick li{font-size:14px;margin:2px 0}
/* 目的別おすすめ */
.pk-wrap{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px}
.pk{border:1px solid #c9d1dc;padding:8px 12px}
.pk-h{font-weight:700;margin:0 0 4px;color:#12305a}
.pk-list{margin:0;padding-left:1.1em;font-size:14px}
.pk-list li{margin:4px 0}
.pk-cta .btn-cta{margin-left:8px;padding:4px 10px;font-size:12px;border-bottom-width:2px}
.pk-rule{font-size:12px;color:#555;margin:6px 0 0;line-height:1.5}
@media (max-width:700px){
  .bg-list{grid-template-columns:1fr 1fr}
  .pk-wrap{grid-template-columns:1fr}
}
