/* ============================================================
   補助金のこり.jp
   「のこり」を測る計器を中心に据えた設計。
   本文は BIZ UDPゴシック（読みやすさ重視）、数字だけ Barlow Semi Condensed。
   ============================================================ */
:root{
  --ink:#16202B;          /* 墨 */
  --ink-2:#4A5764;        /* 弱い文字 */
  --ink-3:#78848F;        /* さらに弱い */
  --paper:#FFFFFF;
  --paper-2:#F4F6F8;      /* うすい面 */
  --rule:#D7DDE3;         /* 罫 */
  --rule-2:#E8ECEF;
  --ai:#17427A;           /* 藍：リンクと操作 */
  --ai-soft:#E7EDF5;

  --open:#0F6B45;  --open-bg:#E3F1EA;  --open-fill:#1E8A5B;
  --low:#8F4E06;   --low-bg:#FCEDD6;   --low-fill:#D98A0B;
  --closed:#5C6873;--closed-bg:#E9ECEF;
  --before:#4B3B86;--before-bg:#EBE7F6;
  --always:#17427A;--always-bg:#E7EDF5;
  --first:#A6231B; --first-bg:#FBE9E7;

  --w:min(100% - 40px, 720px);
  --step:1.5rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5.2rem}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"BIZ UDPGothic",system-ui,sans-serif;
  font-size:17px;line-height:1.85;
  font-feature-settings:"palt" 1;
}
.num{font-family:"Barlow Semi Condensed","BIZ UDPGothic",sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.01em}
a{color:var(--ai);text-underline-offset:.18em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--ai);outline-offset:3px}
[hidden]{display:none!important}
.wrap{width:var(--w);margin-inline:auto}

/* ---- 見出し ---- */
h1{font-size:clamp(27px,6.2vw,40px);line-height:1.32;margin:0 0 .5rem;letter-spacing:.005em}
h2{font-size:clamp(20px,3.4vw,24px);line-height:1.45;margin:0}
h3{font-size:17px;margin:0}

/* ---- ヘッダー ---- */
.site{background:var(--ai);border-bottom:4px solid var(--low-fill);position:sticky;top:0;z-index:20}
.site .wrap{padding:15px 0}
.brand{
  display:inline-flex;align-items:center;gap:.42em;
  font-weight:700;font-size:clamp(21px,5.4vw,25px);line-height:1.2;
  color:#fff;text-decoration:none;letter-spacing:.02em;padding:2px 0;
}
.brand-mark{width:1.22em;height:1.22em;flex:none;display:block}
.brand:hover{color:#fff;text-decoration:underline}


/* ---- メーター：このサイトの顔 ---- */
.gauge{
  --pct:0;
  position:relative;max-width:420px;margin:2px 0 0;
  height:26px;background:var(--paper-2);
  border:1px solid var(--rule);border-radius:2px;overflow:hidden;
}
.gauge i{
  position:absolute;inset:0 auto 0 0;width:calc(var(--pct) * 1%);
  background:var(--fill,var(--ink-3));
}
.gauge::after{ /* 10目盛り */
  content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 1px),rgba(255,255,255,.85) calc(10% - 1px),rgba(255,255,255,.85) 10%);
}
.gauge-scale{
  display:flex;justify-content:space-between;max-width:420px;
  font-size:11px;color:var(--ink-3);margin:1px 0 0;
}
.gauge-read{display:flex;align-items:baseline;gap:.3em;margin:.35rem 0 .9rem;font-weight:700}
.gauge-read b{font-size:40px;line-height:1;font-weight:600;margin-left:.15em}
.gauge-read em{font-style:normal;font-size:17px;margin-left:-.12em}
.gauge-read small{font-size:14px;font-weight:400;color:var(--ink-2);margin-left:.35em}
.st-open .gauge{--fill:var(--open-fill)} .st-open .gauge-read{color:var(--open)}
.st-low  .gauge{--fill:var(--low-fill)}  .st-low  .gauge-read{color:var(--low)}

/* ---- 状態の札 ---- */
.status{font-weight:700;font-size:15px;padding:3px 13px;border-radius:2px;white-space:nowrap}
.st-open .status,.s-open{background:var(--open-bg);color:var(--open)}
.st-low .status,.s-low{background:var(--low-bg);color:var(--low)}
.st-closed .status,.s-closed{background:var(--closed-bg);color:var(--closed)}
.st-before .status,.s-before{background:var(--before-bg);color:var(--before)}
.st-always .status,.s-always{background:var(--always-bg);color:var(--always)}
.tag{font-size:13px;padding:2px 9px;border-radius:2px;border:1px solid var(--rule);color:var(--ink-2);font-weight:400;white-space:nowrap}
.tag.first{border-color:var(--first);color:var(--first)}
.tag.pr{border-color:var(--ink-3);color:var(--ink-2)}

/* ---- ボタン ---- */
.btn{
  display:inline-block;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;
  padding:12px 20px;border-radius:3px;background:var(--ink);color:#fff;border:2px solid var(--ink);
}
.btn:hover{background:var(--ai);border-color:var(--ai);color:#fff}
.btn.sub{background:transparent;color:var(--ink)}
.btn.sub:hover{background:var(--ink);color:#fff}
.btn.line{background:#06C755;border-color:#06C755;color:#fff}
.btn.line:hover{background:#05a948;border-color:#05a948}
.btn2{
  display:inline-block;font-size:15px;text-decoration:none;padding:8px 14px;
  border-radius:3px;border:1px solid var(--ai);color:var(--ai);background:var(--paper);
}
.btn2:hover{background:var(--ai-soft)}

/* ============================================================
   申請のしかたのページ
   ============================================================ */
.crumb{margin:1.5rem 0 .7rem;font-size:15px;color:var(--ink-2)}
.crumb a{color:var(--ink-2)}
.head{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
h1{margin:.3rem 0 .4rem}
.amount{margin:0 0 .8rem;font-size:17px;color:var(--ink-2)}
.amount strong{font-size:23px;color:var(--ink);font-weight:700}
.note{margin:0 0 .5rem;max-width:38em}
.meta{font-size:14px;color:var(--ink-3);margin:0}

.subsidy-head{position:relative;padding-left:18px}
.subsidy-head::before{content:"";position:absolute;left:0;top:.35rem;bottom:.3rem;width:4px;background:var(--rule)}
.subsidy-head.st-low::before{background:var(--low-fill);width:6px}
.subsidy-head.st-open::before{background:var(--open-fill)}
.subsidy-head.st-always::before{background:var(--always)}
.subsidy-head.st-before::before{background:var(--before)}

/* 業者 */
.biz{margin:1.6rem 0 0;padding:1rem 1.1rem;background:var(--paper-2);border-radius:3px}
.biz h3{margin:0 0 .4rem}
.biz ul{list-style:none;margin:0;padding:0}
.biz-item{padding:.7rem 0;border-top:1px solid var(--rule-2)}
.biz-item:first-child{border-top:0;padding-top:.1rem}
.biz-name{font-weight:700;margin:0}
.biz-meta{font-size:14px;color:var(--ink-2);margin:0}
.biz-reg{font-size:14px;color:var(--open);margin:.1rem 0 0}
.biz-desc{font-size:15px;margin:.25rem 0 0}
.biz-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:.5rem}
.biz-more,.biz-empty-note{margin:.4rem 0 0;font-size:15px}

/* 目次 */
.toc{margin:1.9rem 0 .5rem;padding:1.1rem 1.3rem;background:var(--paper-2);border-radius:3px}
.toc p{margin:0 0 .3rem;font-weight:700}
.toc ol{margin:0;padding-left:1.4em;color:var(--ink-2)}
.toc li{padding:.1rem 0}

h2{margin:3.2rem 0 .3rem;padding-top:.8rem;border-top:2px solid var(--ink)}
.basis{font-size:15px;color:var(--ink-2);margin:0 0 1.2rem}
h3{font-size:18px;margin:1.7rem 0 .4rem}

/* 対象になる・ならない */
.yesno{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.yesno section{border-radius:3px;padding:1rem 1.1rem}
.yes{background:var(--open-bg);border-left:4px solid var(--open-fill)}
.no{background:var(--first-bg);border-left:4px solid var(--first)}
.yesno h3{margin:0 0 .3rem;font-size:16px}
.yes h3{color:var(--open)} .no h3{color:var(--first)}
.yesno ul{margin:0;padding-left:1.15em;font-size:16px}
.yesno li{margin-bottom:.2rem}
.aside{font-size:15px;color:var(--ink-2);background:var(--paper-2);padding:.8rem 1.1rem;border-radius:3px;margin:.9rem 0 0;max-width:44em}

/* 流れ */
.flow{list-style:none;margin:0;padding:0;counter-reset:step}
.flow li{position:relative;padding:0 0 1.5rem 3.2rem;counter-increment:step}
.flow li::before{
  content:counter(step);position:absolute;left:0;top:-1px;
  width:2.1rem;height:2.1rem;border-radius:50%;background:var(--paper);
  border:2px solid var(--ink);color:var(--ink);
  font-family:"Barlow Semi Condensed",sans-serif;font-size:19px;font-weight:600;
  display:flex;align-items:center;justify-content:center;
}
.flow li::after{content:"";position:absolute;left:calc(1.05rem - 1px);top:2.3rem;bottom:.2rem;width:2px;background:var(--rule)}
.flow li:last-child::after{display:none}
.flow b{display:block;font-size:18px;line-height:1.5}
.flow p{margin:.1rem 0 0;font-size:16px;color:var(--ink-2);max-width:36em}
.flow .stop::before{background:var(--first);border-color:var(--first);color:#fff}
.flow .stop b{color:var(--first)}
.flow .stop::after{background:var(--first-bg)}
.when{
  display:inline-block;font-size:14px;color:var(--ai);background:var(--ai-soft);
  padding:2px 10px;border-radius:2px;margin-top:.35rem;
}

/* 状況を選ぶ */
.picker{border:2px solid var(--ink);border-radius:3px;padding:1rem 1.2rem;margin:0 0 1.1rem}
.picker p{margin:0 0 .4rem;font-weight:700}
.picker label{display:flex;gap:11px;align-items:flex-start;padding:.35rem 0;font-size:16px;cursor:pointer}
.picker input{width:23px;height:23px;margin-top:3px;flex:none;accent-color:var(--ai)}
.picker label:hover{color:var(--ai)}

.keep{background:var(--paper-2);border-radius:3px;padding:1.1rem 1.2rem;margin:0 0 1.4rem}
.keep-title{font-weight:700;margin:0 0 .6rem}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 .6rem}
.hint{font-size:14px;color:var(--ink-2);margin:0;max-width:40em}

/* 書類 */
.legend{font-size:14px;color:var(--ink-3);margin:0 0 .3rem;display:flex;flex-wrap:wrap;gap:6px}
.count{font-size:15px;color:var(--ink-2);margin:0 0 .5rem}
.eapply{
  display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;
  background:var(--ai-soft);border-radius:3px;padding:.7rem 1rem;margin:0 0 .8rem;font-size:15px;
}
.eapply span{color:var(--ink-2)}
.eapply a{font-weight:700}
.docs{list-style:none;margin:0;padding:0}
.doc{display:grid;grid-template-columns:27px 1fr;gap:.15rem .9rem;padding:.85rem 0;border-top:1px solid var(--rule-2)}
.doc:first-child{border-top:1px solid var(--rule)}
.box{width:22px;height:22px;border:2px solid var(--ink-3);border-radius:2px;margin-top:5px}
.doc-name{font-weight:700;margin:0;line-height:1.5}
.form{font-weight:400;color:var(--ink-3);font-size:14px}
.who{display:inline-block;font-size:13px;font-weight:700;padding:1px 9px;border-radius:2px;margin:.2rem 0 0}
.who-self{background:var(--open-bg);color:var(--open)}
.who-office{background:var(--ai-soft);color:var(--ai)}
.who-contractor{background:var(--paper-2);color:var(--ink-2);border:1px solid var(--rule)}
.who-together{background:var(--low-bg);color:var(--low)}
.at{display:inline-block;font-size:13px;padding:1px 9px;border-radius:2px;margin:.2rem 0 0 6px;border:1px solid var(--ink);color:var(--ink)}
.doc-note{grid-column:2;margin:.1rem 0 0;font-size:15px;color:var(--ink-2);max-width:38em}
.dl{grid-column:2;display:flex;flex-wrap:wrap;gap:7px 8px;align-items:center;margin:.45rem 0 0;font-size:14px}
.dl span{color:var(--ink-3)}
.dl a{display:inline-block;padding:3px 12px;border:1px solid var(--ai);border-radius:2px;text-decoration:none;font-weight:700}
.dl a:hover{background:var(--ai-soft)}
.dl a.ex{border-color:var(--rule);color:var(--ink-2);font-weight:400}
.warn{font-size:15px;background:var(--first-bg);color:var(--first);padding:.8rem 1.1rem;border-radius:3px;margin:0 0 1rem;max-width:44em}

/* つまずき・ヒント */
.pit{margin:0;padding:0;list-style:none}
.pit li{padding:.85rem 0 .85rem 1.1rem;border-top:1px solid var(--rule-2);position:relative}
.pit li::before{content:"";position:absolute;left:0;top:1.4rem;width:5px;height:5px;border-radius:50%;background:var(--first)}
.pit li:first-child{border-top:1px solid var(--rule)}
.pit b{display:block;line-height:1.5}
.pit p{margin:.1rem 0 0;font-size:16px;color:var(--ink-2);max-width:38em}
.tips p{margin:0 0 .9rem;max-width:40em;color:var(--ink-2)}
.tips b{color:var(--ink)}
.links{list-style:none;padding:0;margin:0}
.links li{padding:.5rem 0;border-top:1px solid var(--rule-2)}
.links li:first-child{border-top:1px solid var(--rule)}
.contact{background:var(--paper-2);border-left:4px solid var(--ai);border-radius:3px;padding:1.1rem 1.3rem;margin-top:1.2rem}
.contact p{margin:0 0 .2rem}

.history{padding:1.3rem 0 0;border-top:1px solid var(--rule);margin-top:2.4rem}
.history h2{border:0;margin:0 0 .4rem;padding:0;font-size:19px}
.history ul{list-style:none;padding:0;margin:0}
.history li{padding:.35rem 0;font-size:15px;border-bottom:1px solid var(--rule-2)}
.history time{display:inline-block;min-width:9.5em;color:var(--ink-3);font-size:14px}
.ad{margin:1.6rem 0;padding:1rem 0;border-block:1px solid var(--rule-2)}
.ad-label{font-size:12px;color:var(--ink-3);margin:0 0 .4rem}
footer{border-top:2px solid var(--ink);margin-top:2.6rem;padding:1.4rem 0 2.5rem;font-size:14px;color:var(--ink-2)}
footer p{margin:0 0 .35rem;max-width:44em}

.print-only{display:none}
.memo{width:100%;border-collapse:collapse;margin:10px 0 0;font-size:11pt}
.memo th,.memo td{border:1px solid #999;padding:6px 8px;text-align:left}
.memo th{width:36%;background:#f2f2f2;font-weight:700}
.memo td{height:2.2em}
.memo small{display:block;font-weight:400;font-size:9pt;color:#555}

/* ---- 利用規約・プライバシーポリシー ---- */
.legal h1{margin:.4rem 0 1.4rem}
.legal-sec{padding:0 0 .4rem}
.legal-sec h2{font-size:19px;margin:1.9rem 0 .4rem;padding-top:.7rem;border-top:1px solid var(--rule)}
.legal-sec p{margin:0 0 .7rem;max-width:40em}
.legal-sec .facts{grid-template-columns:6em 1fr;margin-top:.3rem}
.legal-date{margin:2rem 0 0;font-size:14px;color:var(--ink-3);padding-top:.8rem;border-top:1px solid var(--rule)}
.foot-links a{color:var(--ink-2)}

/* ---- 業者向けページ・マイページ ---- */
.biz-page h1{margin:1.6rem 0 .6rem}
.biz-page h2{font-size:20px;margin:2.4rem 0 .4rem;padding-top:.8rem;border-top:2px solid var(--ink)}
.biz-page h3{font-size:17px;margin:1.4rem 0 .3rem}
.biz-page .lead{margin:0 0 1.2rem}
.biz-form{max-width:34em}
.biz-form label{display:block;margin:1.1rem 0 .2rem;font-weight:700}
.biz-form label.cb{display:flex;gap:10px;align-items:flex-start;margin:.2rem 0;font-weight:400;cursor:pointer}
.biz-form label.cb input{width:22px;height:22px;margin-top:3px;flex:none;accent-color:var(--ai)}
.biz-form input[type=text],.biz-form input[type=email],.biz-form input[type=password],.biz-form input[type=url],.biz-form textarea{
  font:inherit;width:100%;padding:10px 12px;border:1px solid var(--ink-3);border-radius:3px;background:var(--paper);color:var(--ink)}
.biz-form textarea{min-height:5.5em}
.biz-form input:focus,.biz-form textarea:focus{border-color:var(--ai)}
.req{font-size:12px;font-weight:700;color:var(--first);background:var(--first-bg);padding:1px 7px;border-radius:2px;margin-left:6px}
.fhelp{font-size:14px;color:var(--ink-2);margin:.25rem 0 0;max-width:34em}
.flash{background:var(--open-bg);color:var(--open);border-left:4px solid var(--open-fill);padding:.8rem 1.1rem;border-radius:3px;margin:1.2rem 0 0;font-weight:700}
.warn{background:var(--first-bg);color:var(--first);border-left:4px solid var(--first);padding:.8rem 1.1rem;border-radius:3px;margin:1rem 0;max-width:40em}
.biz-cta{background:var(--paper-2);border-radius:3px;padding:1.1rem 1.3rem;margin:2rem 0}
.biz-cta h2{border:0;margin:0 0 .3rem;padding:0;font-size:18px}
.biz-cta p{margin:0 0 .5rem}
.kpis{display:flex;flex-wrap:wrap;gap:12px;margin:.4rem 0 .4rem}
.kpi{background:var(--paper-2);border-left:4px solid var(--ai);border-radius:3px;padding:.9rem 1.2rem;min-width:9.5em}
.kpi b{display:block;font-size:38px;line-height:1;font-weight:600;color:var(--ai)}
.kpi span{font-size:14px;color:var(--ink-2)}
.where{list-style:none;padding:0;margin:.3rem 0 0}
.where li{padding:.35rem 0;border-bottom:1px solid var(--rule-2);font-size:15px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

@media (max-width:560px){
  body{font-size:16px}
  .yesno{grid-template-columns:1fr}
  .history time{display:block;min-width:0}
  .gauge-read b{font-size:34px}
}

/* ---- 印刷：チェックリストだけを出す ---- */
@media print{
  .subsidy-head::before{display:none}
  .site,.toc,.picker,.no-print,footer,.gauge,.gauge-scale,.gauge-read,.keep,.dl,.eapply,.history,.ad,#gyosha{display:none!important}
  main > *:not(.print-sheet):not(.phase-block){display:none!important}
  .print-only{display:block!important}
  body{font-size:12pt;line-height:1.5;color:#000}
  .print-sheet h1{font-size:16pt;margin:0 0 4pt}
  .ps-brand{font-size:9pt;color:#555;margin:0}
  .ps-conds{font-size:10pt;margin:4pt 0 8pt}
  .ps-row{display:flex;gap:12pt;align-items:center;font-size:9.5pt}
  .ps-row .qr{flex:none}
  .phase-block h2{border-top:2pt solid #000;margin-top:14pt;font-size:14pt}
  .phase-block + .phase-block{break-before:page}
  h2,.print-sub{break-after:avoid}
  .doc{padding:3.5pt 0;gap:0 8pt;break-inside:avoid;border-top:1px solid #ccc}
  .doc-name{display:inline;font-size:11pt}
  .who,.at{margin:0 0 0 6pt;vertical-align:1pt;font-size:8pt;border:0}
  .doc-note{font-size:9pt;line-height:1.4;color:#333}
  .box{width:13pt;height:13pt;margin-top:2pt;border-color:#000}
  .count,.basis{font-size:10pt;margin:0 0 4pt}
  .warn{font-size:9.5pt;padding:4pt 8pt;color:#000;background:#f2f2f2}
  .legend{display:none}
  a{color:inherit;text-decoration:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
