:root{--ink:#222;--muted:#666;--line:#ddd2c4;--bg:#fbf6ef;--card:#fff;--accent:#b5531f}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Hiragino Sans","Yu Gothic UI",Meiryo,sans-serif;line-height:1.7}
main{max-width:900px;margin:0 auto;padding:16px}
main.doc{max-width:760px}
h1{font-size:1.6rem;line-height:1.35;margin:.4em 0}
h2{font-size:1.2rem;margin-top:1.8em}
a{color:#2b5d8f}
.small{font-size:.85rem;color:var(--muted)}
.pr-notice{font-size:.8rem;color:var(--muted);margin:0}
.box{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px;margin:14px 0;min-width:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
label.f{display:block;font-size:.88rem;font-weight:700;min-width:0}
input,select,textarea{font:inherit;font-size:1rem;padding:7px;border:1px solid #bbb;border-radius:6px;background:#fff;color:var(--ink);min-width:0}
label.f input,label.f select{display:block;width:100%;margin-top:2px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}
.card{background:#fff8f1;border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:0}
.card b{display:block;font-size:1.3rem;line-height:1.3}
.card span{font-size:.82rem;color:var(--muted)}
.tw{overflow-x:auto}
table.t{border-collapse:collapse;width:100%;background:#fff;font-size:.92rem}
.t th,.t td{border:1px solid var(--line);padding:5px 7px;text-align:left;vertical-align:middle}
.t td.n,.t th.n{text-align:right;white-space:nowrap}
.t td.c{text-align:center}
.t input.g{width:4.6em;padding:3px 4px;text-align:right}
.t input[type=checkbox]{width:18px;height:18px}
tr.off td{color:#aaa}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
button{font:inherit;font-size:.95rem;padding:8px 14px;border:1px solid var(--accent);border-radius:8px;background:#fff;color:var(--accent);cursor:pointer}
button.main{background:var(--accent);color:#fff;font-weight:700}
textarea{width:100%;height:7.5em;font-size:.9rem}
.warn{color:#b00020}
.pr{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:20px 0}
.pr-label{margin:0;font-size:.85rem;color:var(--muted)}
.pr ul{margin:.3em 0;padding-left:1.2em}
footer{max-width:900px;margin:30px auto 0;padding:16px;border-top:1px solid var(--line);font-size:.85rem;display:flex;flex-wrap:wrap;gap:12px}
footer p{width:100%;margin:0;color:var(--muted)}
#sheet{display:none}
@media (max-width:520px){.t th,.t td{padding:4px 4px;font-size:.85rem}.t input.g{width:3.8em}}
@media print{
  @page{size:A4 portrait;margin:14mm}
  body{background:#fff}
  body>*:not(main),main>*:not(#sheet){display:none!important}
  #sheet{display:block;font-size:11pt}
  #sheet h2{margin:0 0 4pt;font-size:15pt}
  #sheet td{height:9mm}
}
