/* wwpp2 標準テンプレ v1 — 画面モックv2(2026-09-16)より起こし */

:root{
  --ink:#1a1d23; --sub:#565d6b; --ac:#2f5d8f; --ac-dark:#254a73;
  --bg:#f6f7f9; --line:#e4e7ec; --wrap:960px; --body:960px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",Meiryo,sans-serif;
  color:var(--ink);line-height:1.85;font-size:15px;background:#fff}
a{color:var(--ac)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}

/* ヘッダー */
header{border-bottom:1px solid var(--line)}
.hd{display:flex;align-items:center;justify-content:space-between;max-width:var(--wrap);margin:0 auto;padding:16px 24px}
.sitename{font-weight:700;font-size:1.05rem;color:var(--ink);text-decoration:none;line-height:1.4}
.sitename small{display:block;font-size:.7rem;font-weight:400;color:var(--sub);letter-spacing:.06em}
.user{font-size:.82rem;color:var(--sub)}
.user a{margin-left:14px}
nav{border-bottom:1px solid var(--line);background:var(--bg)}
nav .wrap{display:flex;gap:4px}
nav a{display:block;padding:10px 18px;font-size:.9rem;color:var(--ink);text-decoration:none;border-bottom:2px solid transparent}
nav a.on{border-bottom-color:var(--ac);color:var(--ac);font-weight:700}
nav a:hover{color:var(--ac)}

/* 本文 */
main{max-width:var(--body);margin:0 auto;padding:36px 24px 64px}
h1{font-size:1.5rem;font-weight:700;margin-bottom:20px;line-height:1.5}
h2{font-size:1.12rem;font-weight:700;margin:36px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
h2 .more{float:right;font-size:.8rem;font-weight:400}
p{margin:.6em 0}
.meta{font-size:.82rem;color:var(--sub);margin-bottom:20px}
.cat{display:inline-block;border:1px solid var(--ac);color:var(--ac);font-size:.72rem;padding:0 8px;border-radius:2px;margin-right:10px;vertical-align:1px}

/* 一覧行 */
.rows{list-style:none}
.rows li{display:flex;align-items:baseline;gap:14px;padding:12px 2px;border-bottom:1px solid var(--line)}
.rows time{flex:0 0 6.2em;font-size:.85rem;color:var(--sub)}
.rows a{text-decoration:none}
.rows a:hover{text-decoration:underline}

/* 資料カード */
.docs{list-style:none}
.docs li{display:flex;align-items:center;gap:16px;padding:14px 2px;border-bottom:1px solid var(--line)}
.fico{flex:0 0 40px;height:48px;border:1px solid var(--line);background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:.66rem;color:var(--sub);letter-spacing:.05em}
.docs .t{flex:1}
.docs .t a{text-decoration:none;font-weight:700}
.docs .t small{display:block;font-size:.78rem;color:var(--sub);font-weight:400}
.btn{display:inline-block;background:var(--ac);color:#fff;text-decoration:none;padding:8px 22px;border-radius:3px;font-size:.88rem;border:none;cursor:pointer}
.btn:hover{background:var(--ac-dark)}
.btn.line{background:#fff;color:var(--ac);border:1px solid var(--ac)}
.chipbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.chipbar a{border:1px solid var(--line);background:#fff;padding:3px 14px;font-size:.82rem;border-radius:14px;text-decoration:none;color:var(--ink)}
.chipbar a.on{border-color:var(--ac);color:var(--ac);font-weight:700}

/* ページャ */
.pager{display:flex;gap:6px;justify-content:center;margin-top:28px}
.pager a{border:1px solid var(--line);min-width:32px;text-align:center;padding:3px 0;font-size:.85rem;text-decoration:none;color:var(--ink)}
.pager a.on{background:var(--ac);border-color:var(--ac);color:#fff}

/* フォーム・テーブル */
.fld{margin:0 0 18px}
.fld label{display:block;font-size:.85rem;font-weight:700;margin-bottom:4px}
.fld label em{font-style:normal;color:#c0392b;font-size:.75rem;margin-left:6px}
.fld input,.fld select,.fld textarea{width:100%;border:1px solid #c9cfda;border-radius:3px;padding:9px 12px;font-size:.95rem;font-family:inherit;background:#fff}
.fld input[readonly]{background:var(--bg);color:var(--sub)}
.fld small{display:block;font-size:.78rem;color:var(--sub);margin-top:3px}
table.def{width:100%;border-collapse:collapse;margin:.8em 0}
table.def th,table.def td{border:1px solid var(--line);padding:9px 14px;text-align:left;font-size:.92rem}
table.def th{width:11em;background:var(--bg);font-weight:700;white-space:nowrap}
.state{display:inline-block;font-size:.75rem;padding:1px 10px;border-radius:10px;border:1px solid var(--line);color:var(--sub)}
.state.ok{border-color:#3a8f5d;color:#3a8f5d}
table.hist{width:100%;border-collapse:collapse;margin:.8em 0}
table.hist th,table.hist td{border-bottom:1px solid var(--line);padding:9px 10px;text-align:left;font-size:.9rem}
table.hist thead th{background:var(--bg);font-weight:700;font-size:.8rem;white-space:nowrap}
table.hist td.no,table.hist td.dt{white-space:nowrap;color:var(--sub);font-variant-numeric:tabular-nums}
p.empty{color:var(--sub);font-size:.9rem}

/* ログイン */
.loginbox{max-width:420px;margin:56px auto;border:1px solid var(--line);padding:32px 32px 28px}
.loginbox h1{font-size:1.2rem;text-align:center}
.loginbox .btn{width:100%;text-align:center;padding:11px 0;margin-top:6px}
.loginbox .links{margin-top:18px;font-size:.83rem;text-align:center}
.loginbox .links a{display:block;margin:.3em 0}

/* トップの申請ボタン列 */
.actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:.6em 0}
.actions a{display:block;border:1px solid var(--line);text-align:center;padding:20px 10px;text-decoration:none;color:var(--ink);font-weight:700;font-size:.95rem}
.actions a:hover{border-color:var(--ac);color:var(--ac)}
@media(max-width:600px){.actions{grid-template-columns:1fr}}

footer{border-top:1px solid var(--line);margin-top:20px}
footer .wrap{display:flex;gap:24px;padding:20px 24px;font-size:.78rem;color:var(--sub)}
footer a{color:var(--sub);text-decoration:none}

/* ページ注記（PAGE_NOTE・h1直下） */
.pagenote{border:1px solid var(--line);background:var(--bg);padding:12px 18px;margin:0 0 22px;font-size:.9rem}
.pagenote .md-out p{margin:.4em 0}

/* MD本文（renderMarkdownの出力 .md-out） */
.md-out h2{font-size:1.12rem;font-weight:700;margin:32px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.md-out h3{font-size:1rem;font-weight:700;margin:24px 0 8px;border-left:3px solid var(--sub);padding-left:12px;line-height:1.5}
.md-out ul,.md-out ol{margin:.6em 0 .6em 1.6em}
.md-out img{max-width:100%;max-height:320px;width:auto;height:auto;display:block;margin:24px auto}
.md-out pre{background:var(--bg);border:1px solid var(--line);padding:12px 14px;overflow-x:auto;font-size:.88rem}
.md-out blockquote{margin:14px 0;padding:8px 14px;border-left:3px solid #9ca3af;background:var(--bg);color:var(--sub);font-size:.92rem}
.md-out blockquote p{margin:0}
.md-out blockquote p + p{margin-top:8px}
.table-wrap{overflow-x:auto}
table.md-table{width:100%;border-collapse:collapse;margin:.8em 0}
table.md-table th,table.md-table td{border:1px solid var(--line);padding:9px 14px;text-align:left;font-size:.92rem}
table.md-table th{background:var(--bg);font-weight:700}
table.md-table th:first-child,table.md-table td:first-child{min-width:7em}

/* ===== 入力フォーム（Plain描画 pz-*）のwwpp2上書き ===== */
.pz-form{margin:8px 0 32px}
.pz-title{font-size:1.2rem;font-weight:700;margin:0 0 16px}
.pz-guide{font-size:.9rem;color:var(--sub);margin:0 0 18px}
.pz-messages{border:1px solid #c0392b;background:#fdf3f2;color:#c0392b;padding:10px 14px;margin:0 0 18px;font-size:.9rem}
.pz-messages p{margin:.2em 0}
.pz-field{margin:0 0 18px}
.pz-label{display:block;font-size:.85rem;font-weight:700;margin-bottom:4px}
.pz-required{font-style:normal;background:#c0392b;color:#fff;font-size:.7rem;padding:1px 6px;border-radius:2px;margin-left:6px;font-weight:400;vertical-align:1px}
.pz-hint{font-weight:400;font-size:.75rem;color:var(--sub);margin-left:6px}
.pz-help{display:block;font-size:.78rem;color:var(--sub);margin-top:3px}
.pz-input{border:1px solid #c9cfda;border-radius:3px;padding:9px 12px;font-size:.95rem;font-family:inherit;background:#fff}
input.pz-input,textarea.pz-input{width:100%}
.pz-textarea{min-height:6em}
select.pz-select{width:auto;min-width:12em}
.pz-date .pz-input,.pz-time .pz-input,.pz-parts .pz-input{width:6em;display:inline-block}
.pz-date__sep,.pz-time__sep,.pz-parts__sep{margin:0 4px;color:var(--sub);font-size:.9rem}
.pz-choice{border:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.pz-choice__item{font-size:.92rem;display:inline-flex;align-items:center;gap:6px}
.pz-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media(max-width:600px){.pz-row{grid-template-columns:1fr}}
.pz-actions{margin:26px 0 0;display:flex;gap:10px}
.pz-btn{display:inline-block;background:#fff;color:var(--ac);border:1px solid var(--ac);text-decoration:none;padding:9px 26px;border-radius:3px;font-size:.92rem;cursor:pointer;font-family:inherit}
.pz-btn--primary{background:var(--ac);color:#fff}
.pz-btn--primary:hover{background:var(--ac-dark)}
.pz-confirm__list{display:grid;grid-template-columns:11em 1fr;margin:.8em 0;border:1px solid var(--line);border-bottom:none}
.pz-confirm__list dt{background:var(--bg);font-weight:700;font-size:.92rem;padding:9px 14px;border-bottom:1px solid var(--line)}
.pz-confirm__list dd{margin:0;font-size:.92rem;padding:9px 14px;border-bottom:1px solid var(--line);border-left:1px solid var(--line)}
.pz-complete{font-size:1rem;margin:24px 0}
.pz-heading{font-size:1rem;font-weight:700;margin:26px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.pz-static{color:var(--sub)}
.pz-link-aside{font-size:.82rem;margin:4px 0}
.has-error .pz-input,.has-danger .pz-input{border-color:#c0392b}

/* 認証系（LOGIN器）はモックのloginbox見た目 */
.authbox{max-width:420px;margin:32px auto}
.authbox .pz-form{border:1px solid var(--line);padding:32px 32px 28px;margin:0}
.authbox .pz-title{text-align:center}
.authbox .pz-actions{display:block}
.authbox .pz-btn--primary{width:100%;text-align:center;padding:11px 0}
.authbox .pagenote{margin-top:18px}
