@font-face{font-family:"Noto Sans JP";src:url("fonts/NotoSansJP-VF.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
:root{--bg:#fafaf8;--paper:#fff;--ink:#1a1a1a;--muted:#777570;--line:#e5e3df;--accent:#1d3fb8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Sans JP",sans-serif;font-size:14px}header{max-width:1280px;margin:auto;height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px}header a{font-weight:800;font-size:22px;text-decoration:none;color:inherit}header a span{display:block;font:10px "Noto Sans JP",sans-serif;letter-spacing:.16em;margin-top:7px;color:var(--muted)}main{max-width:1280px;margin:auto;padding:55px 28px 25px}.eyebrow{font:11px "Noto Sans JP",sans-serif;letter-spacing:.13em;color:var(--accent)}h1{font-size:clamp(28px,4vw,50px);letter-spacing:-.055em;line-height:1.3;margin:17px 0}h2{font-size:21px;margin:8px 0 0}.lead{color:#64635f;line-height:1.9}.toolbar{display:flex;gap:20px;align-items:center;margin:30px 0}.toolbar>span{font-size:12px;color:var(--muted)}button,input,select{font:inherit}button{cursor:pointer;min-height:44px;border:1px solid var(--line);background:white;color:var(--ink);border-radius:9px;padding:10px 15px}button:hover{border-color:var(--accent);color:var(--accent)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a7b7ef;outline-offset:2px}.switch{display:flex;padding:4px;border:1px solid var(--line);border-radius:100px;background:#efeee9}.switch button{border:none;border-radius:100px;min-width:110px;background:transparent}.switch button[aria-pressed=true]{background:var(--ink);color:white}.switch small{font-size:9px;color:var(--muted);margin-left:5px}.layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;align-items:start}section{background:var(--paper);border:1px solid var(--line);border-radius:19px;padding:27px;margin-bottom:20px}.sectionhead{padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:23px}.sectionhead>span{font:10px "Noto Sans JP",sans-serif;letter-spacing:.1em;color:var(--accent)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 16px}label.field{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:bold}.field b{color:var(--accent);font-size:10px;margin-left:6px}.field.wide{grid-column:1/-1}input,select{min-width:0;width:100%;border:1px solid #dcdad4;border-radius:8px;background:#fcfcfa;min-height:46px;padding:11px;color:var(--ink)}input::placeholder{color:#aaa9a4;font-size:12px}input:focus,select:focus{background:white;border-color:var(--accent)}.hint{font-size:11px;color:var(--muted);line-height:1.8}.contractnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}#tabs{display:flex;gap:6px;flex-wrap:wrap}#tabs button{width:43px;padding:8px}#tabs button.active{background:var(--accent);color:white;border-color:var(--accent)}#add{font-size:12px}.detailhead{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.detailhead strong{margin-right:auto}.detailhead button{font-size:10px;padding:7px;min-height:36px}.check{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.9}.check input{width:18px;min-height:18px;flex-shrink:0;margin-top:4px;accent-color:var(--accent)}.textbutton{font-size:11px;background:none;border:none;color:var(--muted);padding-left:0;margin-top:12px}aside{position:sticky;top:22px;background:#f0eee9;border:1px solid var(--line);border-radius:20px;padding:24px}.previewhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.previewhead h2{font-size:18px}.tag{font:10px "Noto Sans JP",sans-serif;letter-spacing:.08em;color:var(--muted)}#preview{max-height:590px;overflow:auto;padding:2px 6px 12px}#preview canvas{width:100%;height:auto;display:block;margin-bottom:15px;box-shadow:0 6px 20px #0000000d}.export{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.export button{display:flex;justify-content:space-between;align-items:center;font-weight:bold;font-size:13px}.export .primary{background:var(--accent);color:white;border-color:var(--accent)}#status{font-size:11px;line-height:1.8;color:var(--muted)}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;margin-top:35px;color:var(--muted);font-size:11px}dialog{border:1px solid var(--line);border-radius:20px;padding:30px;max-width:440px;line-height:1.9}dialog::backdrop{background:#0006}dialog button{width:100%;margin-top:15px;background:var(--accent);color:white}.mobile{display:none}@media(max-width:900px){.layout{grid-template-columns:1fr}aside{position:static}#preview{max-height:550px}header{height:75px}main{padding-top:32px}}@media(max-width:520px){header,main{padding-left:18px;padding-right:18px}.grid{grid-template-columns:1fr}.field.wide{grid-column:auto}section{padding:20px}.toolbar{align-items:flex-start;flex-direction:column;gap:12px}.mobile{display:block}h1{font-size:33px}.lead{font-size:12px}aside{padding:18px}.export{position:sticky;bottom:8px;background:#f0eee9;padding:8px 0}footer span{font-size:9px}input,select{font-size:16px}}

.field[hidden]{display:none}.field input[name="applicant"],.field input[name="representative"]{text-align:center}.choice-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;grid-column:1/-1}.choice-pair>.field{min-width:0}@media(max-width:520px){.choice-pair{gap:12px}.choice-pair select{padding-left:8px;padding-right:5px;font-size:14px}}

input[readonly]{background:#eeede8;color:#555;cursor:default}
header.site-header{display:block;max-width:none;height:auto;padding:0;background:#fff;border-bottom:1px solid #bdbbb5}
.site-utility{background:#f2f1ed;border-bottom:1px solid var(--line)}.site-utility>div{max-width:1280px;min-height:31px;margin:auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:8px;letter-spacing:.16em}
.site-header-inner{max-width:1280px;min-height:96px;margin:auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:20px}.site-header-inner .brand img{display:block;width:220px;max-width:100%;height:auto;filter:brightness(0)}.site-header-inner .back-home{font-size:12px;font-weight:500;white-space:nowrap}
@media(max-width:520px){.site-utility>div{padding:0 20px;font-size:6px;letter-spacing:.08em}.site-header-inner{padding:0 20px;min-height:76px;gap:14px}.site-header-inner .brand img{width:175px}.site-header-inner .back-home{font-size:10px}}
 .field input[name="name"],.field input[name="kana"]{text-align:center}
.point-alert{font-size:11px;font-weight:400;color:var(--muted);line-height:1.7}.point-alert.is-error{color:#b3261e;font-weight:600}.field input[aria-invalid="true"]{border-color:#b3261e;background:#fff5f4}

.zero-alert{font-size:11px;line-height:1.7;color:#b3261e;font-weight:600}.zero-alert[hidden]{display:none}

.date-alert{font-size:11px;line-height:1.7;color:#b3261e;font-weight:600}.date-alert[hidden]{display:none}
