/* 制度融資ナビ の見た目。共通の style.css の上に重ねる。
   コンセプトは「金利表」。紙の白と墨の紺だけで組み、色を使うのは
   グラフの「利率（青）」と「信用保証料（橙）」だけ。保証料を足すと順番が
   変わる、というこのサイトの主張を色の役割と一致させている。
   角は2px。ピル型は使わない。書体はヒラギノ角ゴのW7/W6/W3。 */

:root{
  --paper:#fbfaf7; --ink:#14171f; --ink2:#4a4f59; --ink3:#7b808a;
  --rule:#e4e2dc; --rule2:#cfccc4; --tint:#f2f1ec;
  --rate:#2f6cb3; --fee:#e2702c;
  --bg:var(--paper); --fg:var(--ink); --muted:var(--ink2); --line:var(--rule);
  --card:#ffffff; --accent:#1f4f8a; --soft:var(--tint);
  --r:2px;
}
html{background:var(--paper)}
body{background:var(--paper);color:var(--ink);
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",-apple-system,"Yu Gothic",sans-serif;
  font-weight:300;font-size:16px;line-height:1.85;letter-spacing:.02em;
  font-feature-settings:"tnum";-webkit-font-smoothing:antialiased}
strong,b{font-weight:600}
a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--rule2);
  text-underline-offset:.22em;text-decoration-thickness:1px}
a:hover{text-decoration-color:var(--ink)}
.wrap{max-width:1080px;padding-inline:24px}

/* ---- ヘッダー ---- */
header.site{background:var(--paper);border-bottom:1px solid var(--rule)}
header.site .wrap{min-height:64px;padding-block:12px}
header.site .logo{text-decoration:none;color:var(--ink)}
header.site .logo b{font-weight:700;font-size:17px;letter-spacing:.04em}
header.site .logo span{font-size:11px;color:var(--ink3);letter-spacing:.06em;margin-top:2px}
header.site nav{gap:28px;font-size:14px}
header.site nav a{color:var(--ink2);text-decoration:none;font-weight:300;padding:6px 0}
header.site nav a:hover{color:var(--ink)}
header.site nav a.hcta{background:var(--ink);color:#fff;border-radius:var(--r);
  padding:9px 18px;font-weight:600;letter-spacing:.06em}
header.site nav a.hcta:hover{background:#000;opacity:1}
.mtoggle{border-radius:var(--r)!important;border-color:var(--rule2)!important;background:var(--paper)!important}

main{padding-block:40px 80px}

/* ---- 文字 ---- */
h1{font-weight:700;font-size:32px;line-height:1.4;letter-spacing:.02em;margin:0 0 14px}
h2{font-weight:600;font-size:20px;line-height:1.5;letter-spacing:.03em;
  border:0;border-top:1px solid var(--ink);padding:18px 0 0;margin:64px 0 20px}
h3{font-weight:600;font-size:16px;letter-spacing:.03em;margin:32px 0 10px}
p{margin:0 0 16px}
.lead{font-size:17px;color:var(--ink2);max-width:42em;line-height:1.95}
.muted{color:var(--ink3)}
.small{font-size:13px;line-height:1.8}
.crumbs{font-size:12px;color:var(--ink3);letter-spacing:.04em;margin:0 0 20px}
.crumbs a{color:var(--ink3);text-decoration:none}
.crumbs a:hover{color:var(--ink)}

/* ---- 数字の列（KPI） ---- */
.phead .kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:28px 0 8px;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.phead .kpi li{background:none;border:0;border-left:1px solid var(--rule);border-radius:0;
  padding:16px 20px 18px}
.phead .kpi li:first-child{border-left:0;padding-left:0}
.phead .kpi .k{font-size:12px;color:var(--ink3);letter-spacing:.06em;margin:0 0 6px}
.phead .kpi .v{font-size:26px;font-weight:600;letter-spacing:.01em;line-height:1.2;color:var(--ink)!important}
.phead .kpi .v small{font-size:12px;font-weight:300;color:var(--ink3);margin-left:4px}

/* ---- 表 ---- */
.tablewrap{border:0;border-radius:0;background:none;margin:18px 0 26px;
  border-top:1px solid var(--ink)}
table{font-size:14px}
th,td{padding:13px 14px;border-bottom:1px solid var(--rule)}
th:first-child,td:first-child{padding-left:0}
th:last-child,td:last-child{padding-right:0}
th{background:none;font-weight:300;font-size:12px;color:var(--ink3);letter-spacing:.06em;
  border-bottom:1px solid var(--rule2);padding-top:12px;padding-bottom:10px}
tbody tr:hover td{background:var(--tint)}
td a{text-decoration:none;color:var(--ink);font-weight:600}
td a:hover{text-decoration:underline;text-decoration-color:var(--ink)}

/* 比較表の「実質」の列：内訳の積み上げ棒＋数字 */
.cmp td.jit,.cmp th.jit{width:1%;white-space:nowrap}
.jv{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.jv b{font-size:16px;font-weight:600;min-width:3.6em;text-align:right}
.jv .na{color:var(--ink3);font-weight:300;font-size:13px}
.sb{display:flex;align-items:center;gap:2px;width:120px;height:10px;position:relative}
.sb i{display:block;height:10px}
.sb .r{background:var(--rate);border-radius:0}
.sb .f{background:var(--fee);border-radius:0 var(--r) var(--r) 0}
.sb .r:last-child{border-radius:0 var(--r) var(--r) 0}
.sb .u{height:9px;border:1px dashed var(--rule2);border-left:0;border-radius:0 var(--r) var(--r) 0;
  flex:0 0 18px}
.lgd{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;font-size:12px;color:var(--ink2);
  letter-spacing:.04em;margin:22px 0 -6px}
.lgd i{display:inline-block;width:14px;height:8px;margin-right:6px;vertical-align:1px}
.lgd .r{background:var(--rate)} .lgd .f{background:var(--fee)}
.lgd .u{border:1px dashed var(--rule2);height:7px}
.lgd .eq{color:var(--ink3)}
.cmp .kindchip{border-radius:var(--r)!important;background:none!important;color:var(--ink2)!important;
  border:1px solid var(--rule2);font-weight:600!important;padding:1px 6px!important;margin-right:8px}
.cmp td.s-hide:first-child{color:var(--ink2);font-size:13px}

/* 項目／内容の表 */
.tablewrap table tbody th{color:var(--ink2);font-size:13px;font-weight:600;letter-spacing:.04em;
  width:9.5em;border-bottom:1px solid var(--rule);vertical-align:top;padding-top:14px}

/* ---- 市の一覧（タイル） ---- */
.tiles{gap:0;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  border-top:1px solid var(--ink);border-left:1px solid var(--rule)}
.tiles li{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.tiles a{border:0;border-radius:0;background:none;padding:18px 18px 20px;align-items:flex-start;
  text-align:left;gap:6px;text-decoration:none;transition:background .15s}
.tiles a:hover{background:#fff;transform:none}
.tiles .t{font-size:16px;font-weight:600;letter-spacing:.04em}
.tiles .n{font-size:12px;color:var(--ink3);white-space:normal;line-height:1.7;letter-spacing:.03em}
.tiles .n b{color:var(--ink);font-size:15px;font-weight:600}

/* ---- タグ（旧ピル型） ---- */
.chips{gap:8px}
.chips li a{border-radius:var(--r);border:1px solid var(--rule2);background:none;padding:7px 14px;
  font-size:14px;text-decoration:none;color:var(--ink)}
.chips li a:hover{border-color:var(--ink);background:#fff}
.chips .n{color:var(--ink3);margin-left:8px}

/* ---- 注記 ---- */
.note{background:var(--tint);border:0;border-left:2px solid var(--ink);border-radius:0;
  color:var(--ink2);padding:16px 20px;font-size:14px;line-height:1.9}
.note strong{color:var(--ink)}
.infobox{border-radius:0;border:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  background:none;padding:18px 0}

/* ---- 相談への導線 ---- */
.cta{margin:72px 0 0;padding:36px 40px;border:0;border-radius:0;background:var(--ink);color:#fff;
  display:grid;grid-template-columns:1fr auto;gap:8px 40px;align-items:center}
.cta h3{color:#fff;font-size:20px;font-weight:600;margin:0}
.cta p{color:#c9ccd3;margin:0;font-size:15px;grid-column:1}
.cta .btn{grid-column:2;grid-row:1/span 2;background:#fff;color:var(--ink);border-radius:var(--r);
  padding:14px 26px;font-weight:600;letter-spacing:.06em;text-decoration:none}
.cta .btn:hover{opacity:.92}

/* ---- よくある質問 ---- */
.faq{border-top:1px solid var(--ink);margin:18px 0 26px}
.faq details{border:0;border-bottom:1px solid var(--rule);border-radius:0;background:none;
  padding:18px 0;margin:0}
.faq summary{font-weight:600;font-size:16px;display:flex;justify-content:space-between;gap:16px}
.faq summary::before{content:none}
.faq summary::after{content:"＋";color:var(--ink3);font-weight:300}
.faq details[open] summary::after{content:"−"}
.faq p{color:var(--ink2);font-size:15px;margin:12px 0 0;max-width:46em}

/* ---- フッター ---- */
footer.site{background:var(--paper);border-top:1px solid var(--ink);margin-top:0}
footer.site .wrap{padding-block:36px 56px;font-size:12px;color:var(--ink3);line-height:1.9}
footer.site a{color:var(--ink2)}

/* ---- トップのヒーロー ---- */
.hero-sy{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;align-items:center;
  padding:32px 0 24px}
.hero-sy .eyebrow{font-size:12px;letter-spacing:.12em;color:var(--ink3);margin:0 0 18px}
.hero-sy h1{font-size:40px;line-height:1.45;letter-spacing:.03em;margin:0 0 22px}
.hero-sy .sub{font-size:16px;color:var(--ink2);line-height:2;margin:0 0 28px;max-width:30em}
.pick{display:flex;gap:0;max-width:440px;border:1px solid var(--ink);border-radius:var(--r);background:#fff}
.pick select{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:16px;padding:14px 14px;
  color:var(--ink);-webkit-appearance:none;appearance:none;border-radius:var(--r) 0 0 var(--r)}
.pick button{border:0;background:var(--ink);color:#fff;font:inherit;font-weight:600;font-size:15px;
  padding:0 24px;letter-spacing:.06em;cursor:pointer;border-radius:0 1px 1px 0}
.pick button:hover{background:#000}
.hero-sy .alt{font-size:13px;margin:14px 0 0;color:var(--ink3)}
.hero-sy .alt a{color:var(--ink2)}
figure.fig{margin:0;padding:0}
.fig .cap{font-size:12px;color:var(--ink3);letter-spacing:.04em;margin:0 0 14px;display:flex;
  justify-content:space-between;gap:12px;flex-wrap:wrap}
.fig .cap b{color:var(--ink);font-weight:600}
.frows{list-style:none;margin:12px 0 0;padding:0;border-top:1px solid var(--ink)}
.fig .lgd{margin:0}
.frows .nm a{text-decoration:none;font-weight:600;color:var(--ink)}
.frows .nm a:hover{text-decoration:underline}
.frows li{display:grid;grid-template-columns:minmax(0,1fr) 3.4em;gap:4px 14px;align-items:center;
  padding:12px 0;border-bottom:1px solid var(--rule);position:relative}
.frows .nm{font-size:13px;color:var(--ink2);grid-column:1/-1;display:flex;gap:8px;align-items:baseline;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.frows .nm em{font-style:normal;font-size:11px;color:var(--ink3);border:1px solid var(--rule2);
  border-radius:var(--r);padding:0 5px;flex:0 0 auto}
.frows .fbar{display:flex;gap:2px;height:14px;min-width:0}
.frows .fbar i{display:block;height:14px;flex:0 0 auto}
.frows .fbar .r{background:var(--rate)}
.frows .fbar .f{background:var(--fee)}
.frows .fbar i:last-child{border-radius:0 var(--r) var(--r) 0}
.frows .v{font-size:16px;font-weight:600;text-align:right}
.frows li:hover{background:#fff}
.frows li .tip{display:none;position:absolute;right:0;top:-6px;transform:translateY(-100%);z-index:3;
  background:var(--ink);color:#fff;font-size:12px;line-height:1.7;padding:8px 12px;border-radius:var(--r);
  white-space:nowrap;pointer-events:none}
.frows li:hover .tip{display:block}
.fig .foot{font-size:12px;color:var(--ink3);margin:14px 0 0;line-height:1.8}

/* ---- 診断フォーム ---- */
.ask2{border-top:1px solid var(--ink);padding-top:8px}
.ask2 .q{display:grid;grid-template-columns:12em 1fr;gap:12px 24px;align-items:center;
  padding:16px 0;border-bottom:1px solid var(--rule)}
.ask2 label{font-weight:600;font-size:14px}
.ask2 select,.ask2 input{font:inherit;font-size:16px;padding:12px;border:1px solid var(--rule2);
  border-radius:var(--r);background:#fff;color:var(--ink);width:100%;max-width:360px}
.ask2 .go{margin:22px 0 0}
.ask2 .go button{border:0;background:var(--ink);color:#fff;font:inherit;font-weight:600;font-size:15px;
  padding:14px 30px;border-radius:var(--r);letter-spacing:.06em;cursor:pointer}

/* ---- 狭い画面 ---- */
@media (max-width:860px){
  .hero-sy{grid-template-columns:1fr;gap:40px;align-items:start}
  .hero-sy h1{font-size:30px}
  .cta{grid-template-columns:1fr;padding:28px 24px}
  .cta .btn{grid-column:1;grid-row:auto;justify-self:start;margin-top:12px}
}
@media (max-width:680px){
  .wrap{padding-inline:20px}
  main{padding-block:28px 64px}
  h1{font-size:24px}
  .hero-sy h1{font-size:26px;line-height:1.5}
  h2{font-size:18px;margin-top:48px}
  .phead .kpi{grid-template-columns:repeat(2,minmax(0,1fr))}
  .phead .kpi li{padding:14px 14px 16px}
  .phead .kpi li:nth-child(odd){border-left:0;padding-left:0}
  .phead .kpi li:nth-child(n+3){border-top:1px solid var(--rule)}
  .phead .kpi .v{font-size:22px}
  .sb{width:64px}
  .jv{gap:8px}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tiles a{padding:14px 12px 16px}
  .tablewrap table tbody th{width:6.5em}
  .ask2 .q{grid-template-columns:1fr;gap:8px}
}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
header.site .logo .lw{display:flex;flex-direction:column;gap:2px;color:var(--ink);font-size:inherit}
header.site .logo .lw b{font-size:18px;font-weight:700;letter-spacing:.05em;color:var(--ink);line-height:1.3}
header.site .logo .lw small{font-size:11px;color:var(--ink3);letter-spacing:.06em;font-weight:300;line-height:1.4}
.sb i{flex:0 0 auto}

/* 数字は欧文書体で組む。和文書体の数字は字幅が広く、桁が並んだときに締まらない */
.jv b,.frows .v,.phead .kpi .v,.tiles .n b,td.num,.lgd,.hero-sy .eyebrow{
  font-family:"SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",
  "Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif;font-variant-numeric:tabular-nums}
.phead .kpi .v{font-weight:500;letter-spacing:0}
.jv b,.frows .v{font-weight:600;letter-spacing:0}
.cmp td,.cmp th{vertical-align:middle}
.cmp td.nm a{line-height:1.6}
@media (max-width:680px){
  .cmp td.nm,.cmp th.nm{padding-left:0}
  .cmp td.jit,.cmp th.jit{padding-right:0}
  .hero-sy{padding-top:4px}
}
/* 診断フォーム：選択欄は四角く、矢印は自前で描く */
.ask2 select{-webkit-appearance:none;appearance:none;padding-right:40px;cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2314171f' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 14px center}
.ask2 select:focus,.ask2 input:focus{outline:2px solid var(--ink);outline-offset:1px;border-color:var(--ink)}
.ask2 .amt{display:flex;align-items:center;gap:10px;max-width:360px}
.ask2 .amt input{max-width:200px}
.ask2 .amt span{font-size:14px;color:var(--ink2)}
.ask2 .go button:hover{background:#000}
#out h2{margin-top:48px}
/* フッター */
.fgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:32px 56px;margin:0 0 28px}
.fname{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:.05em;margin:0 0 6px}
.fb p{margin:0 0 4px}
.fnav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 24px;font-size:13px}
.fnav a{color:var(--ink2);text-decoration:none}
.fnav a:hover{color:var(--ink);text-decoration:underline}
footer.site .fine{border-top:1px solid var(--rule);padding-top:18px;margin:0;font-size:11.5px;line-height:1.9}
@media (max-width:680px){.fgrid{grid-template-columns:1fr}.fnav{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 制度ページの内訳 */
.bd{margin:22px 0 8px}
.bdbar{display:flex;gap:2px;height:16px}
.bdbar i{display:block;min-width:0}
.bdbar .r{background:var(--rate)}
.bdbar .f{background:var(--fee);border-radius:0 var(--r) var(--r) 0}
.bdbar i:only-child{border-radius:0 var(--r) var(--r) 0}
.bdbar span{color:#fff;font-size:12px;font-weight:600;letter-spacing:.04em;padding:0 10px;white-space:nowrap;
  font-family:"SF Pro Text",-apple-system,"Hiragino Kaku Gothic ProN",sans-serif}
.bdn{font-size:13px;color:var(--ink3);margin:10px 0 0;line-height:1.8}
tbody tr:last-child td,tbody tr:last-child th{border-bottom:1px solid var(--rule)}
.bdk{display:flex;flex-wrap:wrap;gap:6px 22px;margin:12px 0 0;font-size:13px;color:var(--ink2)}
.bdk i{display:inline-block;width:12px;height:8px;margin-right:7px;vertical-align:1px}
.bdk i.r{background:var(--rate)} .bdk i.f{background:var(--fee)}
.bdk b{color:var(--ink);font-weight:600;font-family:"SF Pro Text",-apple-system,"Hiragino Kaku Gothic ProN",sans-serif}
.bdk .eq{color:var(--ink2)}
.wide-k table{min-width:640px}
.wide-k{overflow-x:auto}
.wide-k td:first-child{font-weight:600;color:var(--ink);white-space:nowrap}
/* トップの図の動き。利率の棒が伸びたあとに保証料が足される順で描き、
   「足すと順番が変わる」をそのまま見せる。動きを減らす設定の人には出さない。 */
@media (prefers-reduced-motion:no-preference){
  .frows .fbar i{transform-origin:left center;animation:grow .7s cubic-bezier(.2,.7,.2,1) both}
  .frows .fbar .f{animation-delay:.55s}
  .frows li:nth-child(2) .fbar i{animation-delay:.08s} .frows li:nth-child(2) .fbar .f{animation-delay:.63s}
  .frows li:nth-child(3) .fbar i{animation-delay:.16s} .frows li:nth-child(3) .fbar .f{animation-delay:.71s}
  .frows li:nth-child(4) .fbar i{animation-delay:.24s} .frows li:nth-child(4) .fbar .f{animation-delay:.79s}
  .frows li:nth-child(5) .fbar i{animation-delay:.32s} .frows li:nth-child(5) .fbar .f{animation-delay:.87s}
  .frows li:nth-child(6) .fbar i{animation-delay:.40s} .frows li:nth-child(6) .fbar .f{animation-delay:.95s}
  .frows .v{animation:fade .4s ease both;animation-delay:1.2s}
  @keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  @keyframes fade{from{opacity:0}to{opacity:1}}
}
.jv b{min-width:64px}
.jv b.na{font-size:16px;color:var(--ink3)}
.ptiles{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
