:root{--ink:#1d2433;--mute:#5b6475;--line:#d9dde5;--bg:#f6f7f9;--acc:#0b5cad;--ok:#e7f5ec;--al:#fff6dc;--no:#fde8e8}
*{box-sizing:border-box}body{margin:0;font:15px/1.7 "Hiragino Sans","Yu Gothic UI","Noto Sans JP",system-ui,sans-serif;color:var(--ink);background:var(--bg)}
.top,main,.foot{max-width:920px;margin:0 auto;padding:16px}.top h1{font-size:1.5rem;line-height:1.4;margin:.6em 0}.lead{color:var(--mute)}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:14px 0}.card h2{font-size:1.1rem;margin:.2em 0 .6em}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
label{display:block;font-size:.88rem;color:var(--mute);margin:6px 0}input,textarea,select{display:block;width:100%;font:inherit;color:var(--ink);padding:7px 9px;border:1px solid var(--line);border-radius:6px;margin-top:3px;background:#fff}
fieldset.job{border:1px solid var(--line);border-radius:8px;margin:10px 0;padding:8px 12px}legend{font-weight:600;color:var(--ink)}
button,.buy,.file{font:inherit;cursor:pointer;border:0;border-radius:6px;padding:8px 14px;background:var(--acc);color:#fff;text-decoration:none;display:inline-block}
button.ghost,.file{background:#eef2f8;color:var(--acc)}.file input{display:none}.row label{display:inline-block;width:auto}.row input{display:inline-block;width:260px}
.hint{color:var(--mute);font-size:.88rem}.big{font-size:1.25rem;font-weight:700;margin:.2em 0 .5em}.yrs{padding:8px 10px;border-radius:6px}.yrs.good{background:var(--ok)}.yrs.bad{background:var(--no)}
table.req{width:100%;border-collapse:collapse;margin:10px 0;font-size:.9rem}table.req th,table.req td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
tr.ok td:nth-child(2){background:var(--ok)}tr.alias td:nth-child(2){background:var(--al)}tr.part td:nth-child(2){background:var(--al)}tr.none td:nth-child(2){background:var(--no)}
.tag{display:inline-block;font-size:.75rem;background:#eef2f8;color:var(--acc);border-radius:4px;padding:0 6px;margin-right:6px}
.upsell{border-top:1px dashed var(--line);padding-top:10px;margin-top:12px}.price{font-size:1.05rem}.warn{color:#a33}
.sheet{max-width:920px;margin:14px auto;background:#fff;border:1px solid var(--line);padding:24px 32px;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:14px}
.sheet .s-title{text-align:center;font-size:20px;letter-spacing:.3em}.sheet .s-right{text-align:right}.sheet h3{font-size:15px;margin:14px 0 4px}.sheet .s-head{font-weight:700;border-bottom:1px solid #999;margin-bottom:2px}.sheet ul{margin:2px 0 8px;padding-left:1.2em}.sheet p{margin:2px 0}
.foot{color:var(--mute);font-size:.8rem}
@media print{@page{size:A4;margin:16mm}body{background:#fff}body>*:not(.sheet){display:none!important}.sheet{border:0;margin:0;padding:0;max-width:none;font-size:10.5pt}}
