/* Refund Japan 日本語版。日本語の本文組みに合わせて作った独立のスタイル。
   ⛔ 外部フォント・外部画像は読み込まない（プライバシー方針と検査で担保）。
   欧文＋和文の混植は OS 標準の書体に任せる（ライセンスの要らない構成）。 */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fbfaf8;color:#16181d;
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic Medium","Yu Gothic",
    "Noto Sans JP",Meiryo,system-ui,sans-serif;
  font-size:16px;line-height:1.9;letter-spacing:.02em;
  font-feature-settings:"palt" 1;text-spacing-trim:trim-start}
img,svg{max-width:100%;height:auto}
a{color:#1b3a6b}
a:hover{color:#b8352c}
h1,h2,h3{line-height:1.5;letter-spacing:.01em;font-weight:700;
  word-break:auto-phrase;overflow-wrap:anywhere}
p{margin:0 0 1.1em}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}

/* ---- リボン ---- */
.ribbon{background:#16181d;color:#e9e6df;font-size:12px;line-height:1.6}
.ribbon__in{max-width:1080px;margin:0 auto;padding:7px 20px;display:flex;gap:16px;
  align-items:center;white-space:nowrap;overflow-x:auto;scrollbar-width:none}
.ribbon__in::-webkit-scrollbar{display:none}
.ribbon b{color:#fff;font-weight:700}
.ribbon__k{background:#b8352c;color:#fff;padding:2px 8px;border-radius:3px;font-weight:700}
.ribbon__r{margin-left:auto;color:#f0c9c5}

/* ---- マスト ---- */
.mast{background:#fff;border-bottom:1px solid #d9dee7}
.mast__in{max-width:1080px;margin:0 auto;padding:16px 20px;display:flex;gap:16px;
  align-items:center;justify-content:space-between;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:9px;text-decoration:none;color:#16181d;
  font-size:23px;font-weight:400;letter-spacing:.04em;
  font-family:"Hiragino Mincho ProN","Yu Mincho","YuMincho",serif}
.logo b{font-weight:700}
.logo__m{width:30px;height:30px;flex:0 0 auto;display:block}
.logo__s{display:block;width:100%;font-size:12px;color:#5c6270;letter-spacing:.06em;
  font-family:inherit;margin-top:2px}
.lang{display:flex;gap:2px;flex-wrap:wrap;font-size:13px}
.lang a{padding:4px 10px;border:1px solid #d9dee7;border-radius:3px;text-decoration:none;
  color:#4a5162;background:#fff}
.lang a:hover{border-color:#1b3a6b;color:#1b3a6b}
.lang a[aria-current]{background:#1b3a6b;border-color:#1b3a6b;color:#fff;font-weight:700}

/* ---- セクションナビ ---- */
.nav{background:#1b3a6b}
.nav__in{max-width:1080px;margin:0 auto;padding:0 20px;display:flex;
  overflow-x:auto;scrollbar-width:none}
.nav__in::-webkit-scrollbar{display:none}
.nav a{color:#d8e0ee;text-decoration:none;padding:12px 16px;font-size:14px;
  white-space:nowrap;border-bottom:3px solid transparent}
.nav a:hover{color:#fff;background:#24487f}
.nav a[aria-current]{color:#fff;border-bottom-color:#e8b23a;font-weight:700}
.nav__b{margin-left:auto;color:#a9b7cd;font-size:13px}

/* ---- パンくず ---- */
.crumb{background:#fff;border-bottom:1px solid #e6e9ef;font-size:12.5px;color:#5c6270}
.crumb__in{max-width:1080px;margin:0 auto;padding:9px 20px;display:flex;gap:7px;
  flex-wrap:wrap;align-items:center}
.crumb a{color:#5c6270}
.crumb__s{color:#aeb4c0}

/* ---- ヒーロー ---- */
.hero{padding:40px 0 8px;max-width:44em}
.hero h1{font-size:31px;margin:0 0 18px;letter-spacing:.005em}
.lede{font-size:17px;line-height:2;margin:0 0 16px}
.who{font-size:14px;line-height:1.95;color:#3f4551;background:#fff;
  border-left:3px solid #1b3a6b;padding:14px 16px;margin:0 0 8px}

/* ---- 見出し ---- */
main h2{font-size:22px;margin:44px 0 14px;padding:0 0 9px;border-bottom:2px solid #16181d}
main h3{font-size:17px;margin:26px 0 8px;color:#1b3a6b}
main{padding-bottom:56px}

/* ---- 直行入口 ---- */
.start{list-style:none;margin:0 0 8px;padding:0;counter-reset:s}
.start li{counter-increment:s;border-bottom:1px solid #e0e4ec}
.start a{display:block;padding:16px 8px 16px 46px;position:relative;text-decoration:none;
  color:#16181d}
.start a::before{content:counter(s);position:absolute;left:6px;top:16px;width:26px;height:26px;
  border-radius:50%;background:#1b3a6b;color:#fff;font-size:13px;font-weight:700;
  display:flex;align-items:center;justify-content:center}
.start a:hover{background:#f2f5fa}
.start b{display:block;font-size:17px;color:#1b3a6b}
.start span{display:block;font-size:14px;color:#4a5162;line-height:1.8}

/* ---- 読者分岐 ---- */
.doors{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(258px,1fr))}
.door{display:block;background:#fff;border:1px solid #d9dee7;border-top:4px solid #b8352c;
  padding:18px 18px 20px;text-decoration:none;color:#16181d}
.door:hover{border-color:#b8352c;box-shadow:0 2px 0 #e6e9ef}
.door b{display:block;font-size:16.5px;margin-bottom:6px;color:#16181d}
.door span{display:block;font-size:13.5px;color:#4a5162;line-height:1.85}

/* ---- 表 ---- */
.tw{overflow-x:auto;margin:0 0 20px;border:1px solid #d9dee7;background:#fff}
.cmp{border-collapse:collapse;width:100%;min-width:520px;font-size:14.5px}
.cmp caption{text-align:left;padding:12px 14px;font-size:13px;color:#5c6270;
  border-bottom:1px solid #e6e9ef}
.cmp th,.cmp td{padding:11px 14px;border-bottom:1px solid #eceff4;text-align:left;
  vertical-align:top;line-height:1.75}
.cmp thead th{background:#f2f5fa;font-size:13px;color:#1b3a6b;white-space:nowrap}
.cmp tbody th{font-weight:700;width:10.5em;color:#16181d}
.cmp .td-new{background:#fdf6f5;font-weight:700}

/* ---- 図 ---- */
.fig{margin:0 0 22px}
.fig__box{background:#fff;border:1px solid #d9dee7;padding:16px;overflow-x:auto}
.fig__svg{display:block;min-width:520px}
.fig__cap{font-size:12.5px;color:#5c6270;margin:7px 0 0;
  padding-left:10px;border-left:2px solid #d9dee7}
.fg-box{fill:#f2f5fa;stroke:#c6d0e2;stroke-width:1}
.fg-hi{fill:#fdf0ee;stroke:#e2b3ad;stroke-width:1}
.fg-t{font-size:15px;font-weight:700;fill:#16181d}
.fg-d{font-size:13px;fill:#4a5162}
.fg-n{font-size:12px;font-weight:700;fill:#b8352c}
.fg-c{font-size:12px;fill:#7b8291}
.fg-ar{stroke:#8b95a8;stroke-width:2;fill:none}
.fg-hd{fill:#8b95a8}
.fg-ln{stroke:#b8352c;stroke-width:2;stroke-dasharray:4 4}

/* ---- 数字 ---- */
.facts{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:12px;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.facts li{background:#fff;border:1px solid #d9dee7;padding:16px}
.facts b{display:block;font-size:25px;line-height:1.3;color:#1b3a6b;
  font-family:"Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;font-weight:600}
.facts span{display:block;font-size:13px;color:#4a5162;margin-top:5px;line-height:1.7}

/* ---- 未発表 ---- */
.unann{background:#fff;border:1px solid #e2b3ad;border-left:5px solid #b8352c;
  padding:18px 18px 6px;margin:0 0 20px}
.unann__h{font-weight:700;font-size:15px;margin:0 0 10px;color:#8f2820}
.unann__l{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:9px;
  grid-template-columns:repeat(auto-fit,minmax(248px,1fr))}
.unann__l li{border-top:1px solid #eceff4;padding-top:9px}
.unann__l b{display:block;font-size:14.5px}
.unann__l span{display:block;font-size:13px;color:#4a5162;line-height:1.8}
.unann__f{font-size:13px;color:#4a5162;margin:0 0 12px}

/* ---- 本文 ---- */
.art{max-width:44em}
.art__head{padding:34px 0 4px;border-bottom:1px solid #e0e4ec;margin-bottom:26px}
.art__k{font-size:12px;color:#b8352c;font-weight:700;letter-spacing:.1em;margin:0 0 8px}
.art h1{font-size:29px;margin:0 0 16px}
.art__u{font-size:12.5px;color:#5c6270;margin:0 0 18px}
.list{margin:0 0 1.2em;padding-left:1.35em}
.list li{margin-bottom:.55em;line-height:1.9}
.cite{font-size:12.5px;color:#5c6270;background:#fff;border:1px solid #e6e9ef;
  padding:9px 12px;margin:-.3em 0 1.4em}
.src{color:#1b3a6b}
.src__d{color:#7b8291;margin-left:8px}
.qa h3{margin-top:22px}
.qa h3::before{content:"Q. ";color:#b8352c;font-weight:700}
.steps{margin:0 0 1.4em;padding-left:1.45em}
.steps li{margin-bottom:1em}
.steps h3{margin:0 0 4px}
.cta{display:inline-block;background:#1b3a6b;color:#fff;text-decoration:none;
  padding:11px 20px;font-size:15px;font-weight:700;border-radius:3px}
.cta:hover{background:#142d55;color:#fff}

/* ---- 目次 ---- */
.toc{background:#fff;border:1px solid #d9dee7;padding:16px 20px 8px;margin:0 0 30px}
.toc__h{font-weight:700;font-size:14px;margin:0 0 8px;color:#1b3a6b}
.toc ol{margin:0 0 10px;padding-left:1.4em}
.toc li{font-size:14.5px;margin-bottom:.4em}

/* ---- 索引・出口 ---- */
.idx{margin:0 0 8px;padding-left:1.45em}
.idx li{margin-bottom:.9em}
.idx a{text-decoration:none}
.idx b{display:block;font-size:16.5px}
.idx span{display:block;font-size:13.5px;color:#4a5162;line-height:1.8}
.after{border-top:1px solid #e0e4ec;margin-top:46px}
.next{list-style:none;margin:0;padding:0;display:grid;gap:12px;
  grid-template-columns:repeat(auto-fit,minmax(258px,1fr))}
.next a{display:block;background:#fff;border:1px solid #d9dee7;padding:16px 18px;
  text-decoration:none;color:#16181d}
.next a:hover{border-color:#1b3a6b}
.next b{display:block;font-size:16px;color:#1b3a6b;margin-bottom:4px}
.next span{display:block;font-size:13.5px;color:#4a5162;line-height:1.8}

/* ---- 記事一覧（自動投稿の差し込み先）----
   記事0本のときは li が1つも無いので、見出しごと消える。
   「準備中」と書かずに、記事が入った瞬間だけ現れる。 */
.alist:not(:has(li)){display:none}
.ai__n{font-size:13.5px;color:#4a5162;margin:-6px 0 14px}
.ai__l{list-style:none;margin:0 0 18px;padding:0;border-top:1px solid #e0e4ec}
.ai{border-bottom:1px solid #e0e4ec}
.ai a{display:block;padding:14px 4px;text-decoration:none;color:#16181d}
.ai a:hover{background:#f2f5fa}
.ai b{display:block;font-size:16.5px;color:#1b3a6b;line-height:1.65}
.ai span{display:block;font-size:13.5px;color:#4a5162;line-height:1.8;margin-top:3px}

/* ---- ブログ一覧（2カラム）---- */
.art--wide{max-width:none}
.blog{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:40px;align-items:start}
.blog__m{min-width:0}
.ac__l{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:12px}
.ac{background:#fff;border:1px solid #d9dee7;border-left:4px solid #1b3a6b}
.ac a{display:block;padding:16px 18px;text-decoration:none;color:#16181d}
.ac a:hover{background:#f2f5fa}
.ac__c{display:inline-block;font-size:11.5px;font-weight:700;color:#b8352c;
  letter-spacing:.08em;margin-bottom:6px}
.ac__t{display:block;font-size:18px;line-height:1.6;color:#1b3a6b}
.ac__s{display:block;font-size:13.5px;color:#4a5162;line-height:1.85;margin-top:5px}
.promo{background:#fff;border:1px solid #d9dee7;border-top:4px solid #b8352c;padding:20px}
.promo__t{font-size:16.5px;font-weight:700;margin:0 0 8px}
.promo__d{font-size:13.5px;color:#4a5162;margin:0 0 14px}
.promo__n{font-size:12.5px;color:#5c6270;margin:12px 0 0}

/* ---- サイドバー ---- */
.side{min-width:0;font-size:14px}
.side h2{font-size:15px;margin:0 0 8px;padding:0 0 7px;border-bottom:2px solid #16181d}
.side h2:not(:first-of-type){margin-top:30px}
.side__n{font-size:12px;color:#5c6270;margin:0 0 8px}
.cats{list-style:none;margin:0;padding:0}
.cats li{border-bottom:1px solid #e0e4ec}
.cats a{display:flex;justify-content:space-between;align-items:baseline;gap:8px;
  padding:9px 2px;text-decoration:none;color:#16181d;font-size:13.5px;line-height:1.6}
.cats a:hover{color:#1b3a6b}
.cnt{flex:0 0 auto;font-size:12px;color:#5c6270;font-weight:400}
.cnt::before{content:"("}
.cnt::after{content:")"}
.side__l{list-style:none;margin:0;padding:0}
.side__l li{border-bottom:1px solid #e0e4ec;padding:9px 0;font-size:12.5px;line-height:1.75}
.side__l .cite{background:none;border:0;padding:0;margin:0;font-size:12.5px}
.side__f{font-size:12.5px;margin:14px 0 0}

/* ---- アーカイブ ---- */
.jump{background:#fff;border:1px solid #d9dee7;padding:16px 20px 8px;margin:0 0 34px}
.jump__h{font-weight:700;font-size:13px;color:#1b3a6b;margin:0 0 8px}
.jump ul{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px}
.jump li{font-size:13.5px}
.arch{margin:0 0 36px}
.arch h2{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.arch__n{font-size:13px;color:#5c6270;font-weight:400}
.arch__n::before{content:"("}
.arch__n::after{content:"件)"}
.arch__d{font-size:14px;color:#4a5162;margin:0 0 14px}
.arch__f{font-size:13.5px;margin:0}

/* ---- 試算 ---- */
.calc{background:#fff;border:1px solid #d9dee7;border-top:4px solid #1b3a6b;
  padding:20px;margin:0 0 26px}
.calc__lb{display:block;font-size:13px;color:#4a5162;margin-bottom:6px;font-weight:700}
.calc__in{width:100%;font-size:24px;padding:10px 12px;border:1px solid #b9c2d2;
  border-radius:3px;font-family:inherit;color:#16181d;background:#fbfaf8}
.calc__out{margin-top:16px;border-top:1px solid #eceff4}
.calc__row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  padding:11px 0;border-bottom:1px solid #eceff4;font-size:14px;color:#4a5162}
.calc__row b{font-size:21px;color:#1b3a6b;
  font-family:"Hiragino Mincho ProN","Yu Mincho","YuMincho",serif}
.calc__n{font-size:12.5px;color:#5c6270;margin:12px 0 0}

/* ---- フッター ---- */
.foot{background:#16181d;color:#c8ccd4;margin-top:0;font-size:14px}
.foot__in{max-width:1080px;margin:0 auto;padding:36px 20px 8px;display:grid;gap:26px;
  grid-template-columns:repeat(auto-fit,minmax(228px,1fr))}
.foot__h{color:#fff;font-size:13px;font-weight:700;letter-spacing:.06em;margin:0 0 10px;
  padding-bottom:8px;border-bottom:1px solid #34383f}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin-bottom:.5em}
.foot a{color:#c8ccd4;text-decoration:none}
.foot a:hover{color:#fff;text-decoration:underline}
.foot__b{max-width:1080px;margin:0 auto;padding:16px 20px 30px;border-top:1px solid #2a2e35}
.site-note{font-size:12px;color:#8f959f;line-height:1.85;margin:0 0 8px}
.site-note a{color:#c8ccd4;text-decoration:underline}
.foot__cp{font-size:12px;color:#6d737d;margin:0}

/* ---- 小さい画面 ---- */
@media(max-width:960px){
.blog{grid-template-columns:minmax(0,1fr)}
.side{border-top:1px solid #e0e4ec;padding-top:22px}
}
@media(max-width:760px){
.ac__t{font-size:16.5px}

.hero{padding:26px 0 4px}
.hero h1{font-size:25px}
.lede{font-size:16px}
main h2{font-size:19.5px;margin:34px 0 12px}
.art h1{font-size:24px}
.cmp{min-width:460px}
.fig__svg{min-width:460px}
.calc__in{font-size:21px}
.facts b{font-size:22px}
.mast__in{padding:12px 16px}
.logo{font-size:20px}
.logo__s{display:none}
.wrap{padding:0 16px}
.ribbon__in{padding:6px 16px;gap:12px}
.nav__in{padding:0 16px}
.nav a{padding:11px 13px;font-size:13.5px}
.nav__b{margin-left:0}
}
