/* このファイルは scripts/preview.py --wp-assets が生成する。直接編集しない。 */
@import url("https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&family=BIZ+UDPMincho:wght@400;700&display=swap");
#kasuhara-db{
  --ink:#1b1b1f; --sub:#5a5f6b; --line:#dcdfe6; --bg:#f6f7f9; --card:#fff;
  --obligation:#b3261e; --support:#0f766e; --money:#1d4ed8; --muted:#8b909c;
  --warn:#9a6400; --warn-bg:#fdf6e3;
  
  --obligation-bg:#fdecea; --support-bg:#e6f4f1;
  --money-bg:#e8eefb; --muted-bg:#f1f2f5;
  --icon-print:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.4' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M4.5 5.5v-3h7v3'/%3E%3Cpath d='M4.5 11.5H2.5v-5h11v5h-2'/%3E%3Crect x='4.5' y='9.5' width='7' height='4'/%3E%3C/svg%3E");
  --gothic:"BIZ UDPGothic","Hiragino Sans","Noto Sans JP",system-ui,sans-serif;
  --mincho:"BIZ UDPMincho","Hiragino Mincho ProN",serif;
}
#kasuhara-db,#kasuhara-db *{box-sizing:border-box}
#kasuhara-db #kasuhara-db{max-width:100%;overflow-wrap:break-word}
#kasuhara-db #kasuhara-db img,#kasuhara-db #kasuhara-db table{max-width:100%}
#kasuhara-db{margin:0;background:var(--bg);color:var(--ink);font-family:var(--gothic);
  font-size:16px;line-height:1.8;-webkit-text-size-adjust:100%}
#kasuhara-db .kdb-wrap{width:100%;max-width:min(940px,100%);margin:0 auto;padding:24px 16px 72px}
#kasuhara-db .kdb-header h1{font-family:var(--mincho);font-size:1.65rem;line-height:1.5;margin:0 0 8px}
#kasuhara-db .kdb-header p{margin:0;color:var(--sub);font-size:.92rem}
#kasuhara-db .filters{background:var(--card);border:1px solid var(--line);border-radius:10px;
  padding:16px;margin:20px 0 8px}
#kasuhara-db .grid{display:grid;gap:12px;
  grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}
#kasuhara-db .grid>*{min-width:0}
#kasuhara-db label{display:block;font-size:.85rem;font-weight:700;margin-bottom:4px}
#kasuhara-db select{width:100%;padding:9px 10px;font-family:inherit;font-size:1rem;
  border:1px solid var(--line);border-radius:6px;background:#fff;color:inherit}
#kasuhara-db .hint{margin:10px 0 0;font-size:.82rem;color:var(--sub)}
#kasuhara-db .count{margin:14px 0 0;font-size:.9rem;color:var(--sub)}
#kasuhara-db .layer{margin:34px 0 0}
#kasuhara-db .layer h2{font-family:var(--mincho);font-size:1.3rem;margin:0;padding:0 0 4px;
  border-bottom:3px solid currentColor;display:inline-block}
#kasuhara-db .layer[data-layer=obligation] h2{color:var(--obligation)}
#kasuhara-db .layer[data-layer=support] h2{color:var(--support)}
#kasuhara-db .layer[data-layer=money] h2{color:var(--money)}
#kasuhara-db .layer .lead{margin:8px 0 14px;color:var(--sub);font-size:.9rem}
#kasuhara-db .cards{display:flex;flex-direction:column}
#kasuhara-db [hidden]{display:none!important}
#kasuhara-db .kdb-dyn-badge:empty{display:none}
#kasuhara-db .empty{background:var(--card);border:1px dashed var(--line);border-radius:10px;
  padding:16px;color:var(--sub);font-size:.92rem}
#kasuhara-db .card{position:relative;background:var(--card);border:1px solid var(--line);
  border-left:8px solid var(--muted);border-radius:10px;padding:16px 18px;margin:0 0 12px}
#kasuhara-db .card[data-layer=obligation]{border-left-color:var(--obligation)}
#kasuhara-db .card[data-layer=support]{border-left-color:var(--support)}
#kasuhara-db .card[data-layer=money]{border-left-color:var(--money)}
#kasuhara-db .card.is-closed,#kasuhara-db .card.is-out{border-left-color:var(--muted);background:#fafbfc}
#kasuhara-db .card.is-closed .name,#kasuhara-db .card.is-out .name{color:var(--sub)}
#kasuhara-db .who{font-size:.85rem;color:var(--sub);margin:0 0 2px}
#kasuhara-db .name{font-family:var(--mincho);font-size:1.18rem;font-weight:700;margin:0 0 2px;line-height:1.5}
#kasuhara-db .official{font-size:.8rem;color:var(--sub);margin:0 0 10px}
#kasuhara-db .kdb-badges{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
#kasuhara-db .card>summary{list-style:none;cursor:pointer;display:block;padding:0;margin:0}
#kasuhara-db .card>summary::-webkit-details-marker{display:none}
#kasuhara-db .card>summary:focus-visible{outline:3px solid var(--money);outline-offset:4px;
  border-radius:6px}
#kasuhara-db .head-line{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;
  margin:2px 0 0}
#kasuhara-db .head-line .k{font-size:.8rem;color:var(--sub)}
#kasuhara-db .head-line .v{font-family:var(--mincho);font-size:1.1rem;font-weight:700}
#kasuhara-db .head-line .due{font-size:.92rem;font-weight:700;color:var(--warn);
  background:var(--warn-bg);border-radius:6px;padding:1px 8px}
#kasuhara-db .more{display:inline-flex;align-items:center;gap:6px;margin:10px 0 0;
  font-size:.86rem;font-weight:700;color:var(--money)}
#kasuhara-db .more::before{content:"";width:0;height:0;border-left:6px solid currentColor;
  border-top:5px solid transparent;border-bottom:5px solid transparent;
  transition:transform .12s}
#kasuhara-db .card[open]>summary .more::before{transform:rotate(90deg)}
#kasuhara-db .more::after{content:"詳しく見る"}
#kasuhara-db .card[open]>summary .more::after{content:"閉じる"}
#kasuhara-db .panel{border-top:1px solid var(--line);margin:12px 0 0;padding:12px 0 0}
#kasuhara-db .block{margin:0 0 12px}
#kasuhara-db .block>h3{font-size:.85rem;color:var(--sub);font-weight:700;margin:0 0 4px}
#kasuhara-db .kdb-single{border-left:4px solid var(--line);padding-left:16px}
#kasuhara-db .kdb-single[data-layer=obligation]{border-left-color:var(--obligation)}
#kasuhara-db .kdb-single[data-layer=support]{border-left-color:var(--support)}
#kasuhara-db .kdb-single[data-layer=money]{border-left-color:var(--money)}
#kasuhara-db .kdb-print-only{display:none}
#kasuhara-db .kdb-print-btn-wrap{text-align:right;margin:0 0 12px}
#kasuhara-db .kdb-print-btn{font-family:inherit;font-size:.85rem;font-weight:700;
  color:var(--sub);background:var(--card);border:1px solid var(--line);
  border-radius:6px;padding:6px 14px;cursor:pointer;line-height:1.6}
#kasuhara-db .kdb-print-btn:hover{color:var(--ink);border-color:var(--sub)}
#kasuhara-db .to-single{margin:10px 0 0;text-align:right}
#kasuhara-db .to-single a{font-size:.88rem;font-weight:700;
  display:inline-flex;align-items:center;gap:5px}
#kasuhara-db .to-single a::before{
  content:"";width:14px;height:14px;flex:0 0 auto;
  background-color:currentColor;
  -webkit-mask:var(--icon-print) no-repeat center/contain;
  mask:var(--icon-print) no-repeat center/contain}
#kasuhara-db .kdb-single .who{font-size:.8rem;color:var(--sub);margin:0 0 4px}
#kasuhara-db .kdb-single .head-line{margin:0 0 14px}
#kasuhara-db .kdb-single .kdb-munis{margin:4px 0 0;padding-left:1.2em;font-size:.92rem;
  columns:2;column-gap:20px}
#kasuhara-db .block ul{margin:0;padding-left:1.2em;font-size:.92rem}
#kasuhara-db .block li{margin:0 0 4px}
#kasuhara-db .measures{margin:0;padding:0;list-style:none;font-size:.92rem;
  counter-reset:measure}
#kasuhara-db .measures li{counter-increment:measure;position:relative;padding-left:2.1em;
  margin:0 0 8px;white-space:pre-line}
#kasuhara-db .measures li::before{content:counter(measure);position:absolute;left:0;top:.15em;
  width:1.5em;height:1.5em;border-radius:50%;background:var(--obligation);
  color:#fff;font-size:.76rem;font-weight:700;display:flex;
  align-items:center;justify-content:center;line-height:1}
#kasuhara-db .measures .g{display:block;font-size:.78rem;color:var(--sub);font-weight:700}
#kasuhara-db .block a.u{word-break:break-all}
#kasuhara-db .sources a{overflow-wrap:break-word}
#kasuhara-db .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
#kasuhara-db .prices{width:100%;border-collapse:collapse;font-size:.88rem}
#kasuhara-db .prices th,#kasuhara-db .prices td{border-bottom:1px solid var(--line);padding:5px 8px;
  text-align:left;vertical-align:top}
#kasuhara-db .prices td.m{white-space:nowrap;font-weight:700}
#kasuhara-db .prices .n{display:block;font-size:.8rem;color:var(--sub)}
#kasuhara-db .kdb-badge{font-size:.76rem;font-weight:700;padding:2px 9px;border-radius:999px;
  border:1px solid currentColor;line-height:1.7;background:var(--card)}
#kasuhara-db .kdb-badge.obligation{color:var(--obligation);background:var(--obligation-bg)}
#kasuhara-db .kdb-badge.support{color:var(--support);background:var(--support-bg)}
#kasuhara-db .kdb-badge.money{color:var(--money);background:var(--money-bg)}
#kasuhara-db .kdb-badge.warn{color:var(--warn);background:var(--warn-bg)}
#kasuhara-db .kdb-badge.muted{color:var(--muted);background:var(--muted-bg)}
#kasuhara-db .kdb-badge.check{color:var(--warn);background:var(--warn-bg)}
#kasuhara-db .kdb-badge.in{color:var(--support);background:var(--support-bg)}
#kasuhara-db .kdb-badge.out{color:var(--muted);background:var(--muted-bg)}
#kasuhara-db dl.facts{display:grid;grid-template-columns:minmax(0,7.5em) minmax(0,1fr);
  gap:4px 12px;margin:0 0 10px;font-size:.92rem}
#kasuhara-db dl.facts dt{color:var(--sub);font-size:.85rem;min-width:0}
#kasuhara-db dl.facts dd{margin:0;white-space:pre-line;min-width:0}
#kasuhara-db dl.facts dd.amount{font-family:var(--mincho);font-size:1.12rem;font-weight:700}
#kasuhara-db .notes{white-space:pre-line;font-size:.92rem;background:#fbfbfc;border-radius:8px;
  padding:12px 14px;margin:0 0 10px}
#kasuhara-db .services{font-size:.85rem;color:var(--sub);margin:0 0 10px}
#kasuhara-db .foot{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;
  border-top:1px solid var(--line);padding-top:10px;font-size:.83rem}
#kasuhara-db .foot .verified{color:var(--sub)}
#kasuhara-db .sources{display:flex;flex-wrap:wrap;gap:8px 12px;margin:0;padding:0;list-style:none}
#kasuhara-db .sources a{color:var(--money);text-decoration:underline;text-underline-offset:2px}
#kasuhara-db .sources .ext::after{content:"（外部）";font-size:.9em;color:var(--sub)}
#kasuhara-db .kdb-footer{margin:40px 0 0;padding-top:16px;border-top:1px solid var(--line);
  font-size:.82rem;color:var(--sub)}
#kasuhara-db .kdb-reply-note{font-size:.82rem;color:var(--sub);line-height:1.7}
#kasuhara-db .kdb-single .kdb-reply-note{margin:32px 0 0;padding-top:16px;
  border-top:1px solid var(--line)}
#kasuhara-db .kdb-footer .kdb-reply-note{margin:12px 0 0;padding:0;border:0}
@media (max-width:600px){
#kasuhara-db{font-size:15px}
#kasuhara-db .kdb-wrap{padding:16px 12px 56px}
#kasuhara-db .kdb-header h1{font-size:1.35rem}
#kasuhara-db dl.facts{grid-template-columns:1fr;gap:0 0}
#kasuhara-db dl.facts dt{margin-top:8px}
#kasuhara-db .card{padding:14px;border-left-width:6px}
}

/* ------------------------------------------------------------------
   印刷用。制度の詳細を紙で持つための指定。
   申請を検討する担当者が社内で回覧したり、
   交付要綱と突き合わせたりする場面を想定している。
   scripts/preview.py が生成する。直接編集しない。
   ------------------------------------------------------------------ */
/* 印刷用のロゴとタイトル行は本文の中（#kasuhara-db 配下）にあり、
   .kdb-print-only が画面で display:none にしている。
   この規則は、万一 .kdb-print-only が外れた場合の保険。 */
#kasuhara-db .kdb-print-logo { display: none; }

@media print {
  /* 用紙はA4縦。余白は綴じしろを見て15mm。 */
  @page { size: A4 portrait; margin: 15mm; }

  /* 【残すもの以外を全部消す】
     2026-09-12 に、消す要素を列挙する方式で3回失敗した。
     go-to-top、copy-info、スライドインメニュー、モバイルの
     フッターボタン……と潰しても、次のものが出てくる。
     Cocoon とプラグインが body 直下に要素を足し続けるため、
     列挙では終わらない。

     本文までの経路だけを残し、各階層でそれ以外を消す。
     経路は実ページのDOMから確認した。
       body > #container > #content > #content-in > #main
            > article.article > div.entry-content > #kasuhara-db

     header.article-header（h1.entry-title を含む）は経路から外し、
     丸ごと隠す。制度名は本文先頭の div.kdb-print-head で出す。

     これで、将来 Cocoon やプラグインが何を足しても紙には出ない。 */
  body > *:not(#container),
  #container > *:not(#content),
  #content > *:not(#content-in),
  #content-in > *:not(#main),
  #main > *:not(.article),
  .article > *:not(.entry-content),
  .entry-content > *:not(#kasuhara-db) { display: none !important; }

  /* 本文の中で消すもの。上の経路の内側にあるため個別に指定する。 */
  .kdb-print-btn-wrap,
  .kdb-print-hide { display: none !important; }

  /* 印刷のときだけ出す要素。画面では display:none にしてある。
     **この規則を消すとロゴと出所が出なくなる。**
     2026-09-12 に、非表示リストを書き換えたときに巻き込んで削除し、
     ロゴと出所が消えた。生成物を目で確認すること。 */
  #kasuhara-db .kdb-print-only { display: block !important; }
  #kasuhara-db .kdb-print-source {
    margin: 18px 0 0;
    padding-top: 8px;
    border-top: 1px solid #999;
    font-size: .75rem;
    color: #333;
    word-break: break-all;
  }

  /* 【タイトルとロゴを横並びにする】
     本文の先頭にある div.kdb-print-head（PHP が出す）を flex にし、
     制度名（span.kdb-print-title）とロゴを左右に分ける。
     align-items: flex-start で上端が揃う。

     **本物の h1.entry-title は印刷時に隠し、この行で置き換える。**
     2026-09-12 に the_title フィルタでロゴを h1 の中へ入れる方式を
     試したが、Cocoon の SNS シェアボタンが get_the_title() を呼ぶため、
     シェア用のURLに span と img のHTMLが入り込んだ。
     タイトルは本文の外にも使われる値なので加工してはならない。

     position も使わない。2026-09-12 に position: absolute で
     揃えたところ、印刷が複数ページにわたると基準の矩形が
     ページ分割で割れ、最終ページの右下にロゴが描画されて
     本文に重なった。flex なら通常のフローのままで揃う。 */
  .article-header { display: none !important; }
  #kasuhara-db .kdb-print-head {
    display: flex !important;
    justify-content: space-between;
    align-items: flex-start;
    gap: 5mm;
    margin: 0 0 10px;
  }
  #kasuhara-db .kdb-print-title {
    flex: 1 1 auto;
    min-width: 0;
    font-family: var(--mincho);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.45;
  }
  #kasuhara-db .kdb-print-logo {
    display: block !important;
    flex: 0 0 auto;
    height: 20mm;
    width: auto;
  }

  /* 本文を紙幅いっぱいに広げる */
  #container, #content, #content-in, #main {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    border: none !important;
    box-shadow: none !important;
  }
  body { background: #fff !important; }

  #kasuhara-db .kdb-single {
    border-left: none;
    padding-left: 0;
  }
  /* 見出しと本文を分けない。
     見出しだけがページ末尾に残る状態を避ける。 */
  #kasuhara-db .kdb-print-head,
  #kasuhara-db h2,
  #kasuhara-db h3,
  #kasuhara-db .kdb-single .who,
  #kasuhara-db .block > h3 {
    page-break-after: avoid;
    break-after: avoid;
  }
  /* 区切りの途中で改ページさせない */
  #kasuhara-db .block,
  #kasuhara-db dl.facts,
  #kasuhara-db .foot,
  #kasuhara-db .kdb-scope {
    page-break-inside: avoid;
    break-inside: avoid;
  }
  /* 段落が1行だけ次ページに残るのを防ぐ */
  #kasuhara-db p, #kasuhara-db li { orphans: 3; widows: 3; }

  /* リンクのURLを紙に展開する。申請時に一次情報へ辿る必要があるため。
     内部リンク（/ 始まり）、アンカー、javascript: は展開しない。
     紙の上で意味を持たないうえ、行が無駄に長くなる。 */
  #kasuhara-db a[href^="http"]::after {
    content: " <" attr(href) ">";
    font-size: .78em;
    color: #444;
    word-break: break-all;
  }
  #kasuhara-db a[href^="#"]::after,
  #kasuhara-db a[href^="/"]::after,
  #kasuhara-db a[href^="javascript:"]::after { content: ""; }

  #kasuhara-db a { color: #000; text-decoration: underline; }
  #kasuhara-db .notes, #kasuhara-db dl.facts dd { white-space: pre-line; }
}

