*{box-sizing:border-box}body{margin:0;font-family:"Hiragino Sans","Noto Sans JP",sans-serif;color:#1f2937;background:#f6f7f9;line-height:1.7}
header{background:#123c69;color:#fff;padding:14px 16px}header a{color:#fff;text-decoration:none;font-weight:bold}
main{max-width:980px;margin:auto;padding:16px}h1{font-size:22px;margin:8px 0}h2{font-size:18px;border-left:5px solid #123c69;padding-left:8px;margin-top:32px}
.ad{border:2px dashed #b0b7c3;color:#7a8394;text-align:center;padding:18px;margin:16px 0;background:#fff;font-size:13px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:760px){.grid{grid-template-columns:1fr}}
.card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 4px #0001}
label{display:block;font-size:13px;font-weight:bold;margin-top:8px}input,select,textarea{width:100%;padding:8px;border:1px solid #cbd2dc;border-radius:8px;font:inherit}
table{width:100%;border-collapse:collapse}td,th{padding:6px;border-bottom:1px solid #e5e7eb;text-align:left;font-size:14px}td.num,th.num{text-align:right}
.items input{padding:6px}.btn{background:#123c69;color:#fff;border:0;border-radius:8px;padding:10px 16px;font:inherit;cursor:pointer;margin:4px 4px 0 0}.btn.sub{background:#e5e7eb;color:#1f2937}
.total{font-size:20px;font-weight:bold}.warn{color:#b45309;font-size:13px}.small{font-size:12px;color:#6b7280}
#preview{background:#fff;padding:24px;border:1px solid #ddd}#preview h3{text-align:center;letter-spacing:.4em}
footer{text-align:center;font-size:13px;padding:24px;color:#6b7280}footer a{color:#6b7280}
@media print{header,footer,.noprint,.ad{display:none!important}body{background:#fff}main{padding:0}#preview{border:0}}
