:root{--ink:#18392e;--muted:#62736a;--green:#276347;--line:#dfe7e0;--paper:#fff;--bg:#f5f7f3}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.8 "Yu Gothic UI","Meiryo",sans-serif}a{color:var(--green);text-underline-offset:4px}h1{font-size:30px;line-height:1.4;margin:8px 0 12px}h2{font-size:20px;margin:0 0 15px;line-height:1.6}h3{font-size:16px;margin:15px 0 6px}p{margin:8px 0 16px}.site-header{background:white;border-bottom:1px solid var(--line)}.header-content{max-width:1040px;min-height:96px;margin:auto;padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{color:var(--green);text-decoration:none;font:700 24px/1.5 Georgia,serif;letter-spacing:.04em}.brand span{display:block;font:13px/1.6 "Yu Gothic UI","Meiryo",sans-serif;letter-spacing:0}.demo-banner{padding:10px 20px;background:#fff2cf;text-align:center;font-size:14px;color:#6d4b15}.main-nav{max-width:1040px;margin:0 auto;display:flex;gap:26px;padding:16px 28px;flex-wrap:wrap}.main-nav a{text-decoration:none;font-weight:600}.page{max-width:1040px;padding:35px 28px 55px;margin:auto;min-height:65vh}.page-heading{margin-bottom:26px;overflow-wrap:anywhere}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--green);margin:0}.card{padding:27px 30px;background:var(--paper);border:1px solid var(--line);border-radius:10px;margin-bottom:22px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.status-card{border-top:4px solid var(--green)}.status{display:inline-block;background:#e7f1e8;color:var(--green);border-radius:5px;padding:4px 12px;font-size:14px;font-weight:700;margin-bottom:14px}.price{font-size:28px;font-weight:700;line-height:1.5}.muted{color:var(--muted);font-size:14px}dl{display:grid;grid-template-columns:130px 1fr;margin:0}dt,dd{margin:0;padding:13px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}dt{color:var(--muted);font-size:14px}dd{padding-left:14px}.link-card{display:block;text-decoration:none;color:var(--ink)}.link-card:hover,.link-card:focus-visible{border-color:var(--green)}.link-card h2{display:flex;justify-content:space-between}.link-card p{color:var(--muted);font-size:14px}.login-card{max-width:530px;margin:25px auto}.login-card form{margin-top:24px}label{display:block;font-weight:600;font-size:14px;margin:18px 0 7px}input{font:inherit;display:block;width:100%;padding:12px;border:1px solid #99afa0;border-radius:5px}.button{display:inline-block;background:var(--green);color:white;border:1px solid var(--green);border-radius:6px;padding:12px 22px;font:600 15px/1.5 "Yu Gothic UI","Meiryo",sans-serif;cursor:pointer;text-decoration:none}.login-card .button{width:100%;margin-top:15px}.secondary{background:white;color:var(--green);font-size:13px;padding:8px 14px}.validation{color:#9b2727;font-size:14px}.validation:empty{display:none}.validation-summary-valid{display:none}.notice{padding:15px;background:#f4f4ed;border-left:3px solid #b0a666}.multiline{white-space:pre-wrap;overflow-wrap:anywhere}.answer{border-top:1px solid var(--line);margin-top:20px;padding-top:10px}.site-footer{text-align:center;border-top:1px solid var(--line);padding:24px;color:var(--muted);font-size:13px}.skip-link{position:absolute;left:16px;top:-80px;background:white;padding:10px;z-index:10}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #d69635;outline-offset:3px}@media(max-width:650px){.header-content{padding:15px 18px;min-height:85px}.brand{font-size:19px}.brand span{font-size:11px}.main-nav{gap:12px 20px;padding:13px 18px;font-size:13px}.page{padding:24px 16px 38px}h1{font-size:25px}h2{font-size:18px}.grid{grid-template-columns:1fr;gap:0}.card{padding:22px 20px}.price{font-size:25px}dl{grid-template-columns:100px 1fr}dt,dd{font-size:14px}.header-content form{flex-shrink:0}.secondary{padding:7px 9px;font-size:12px}}

/* 入力・確認画面 */
.flow-nav{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0 2rem}.flow-nav.stacked{flex-direction:column;align-items:flex-start;gap:.75rem}.form-field{margin:1.5rem 0}.form-field label:not(.choice){display:block;font-weight:600;margin-bottom:.5rem}.form-field input:not([type=radio]):not([type=checkbox]),.form-field textarea,.form-field select{width:100%;max-width:40rem;padding:.75rem;border:1px solid #98a5ad;border-radius:6px;font:inherit;box-sizing:border-box}.form-field fieldset{border:1px solid #d9e0e5;border-radius:6px;padding:1rem}.choice{display:inline-flex;align-items:baseline;gap:.5rem;margin:.5rem 1rem .5rem 0}.choice input{accent-color:#145b50}.field-error,.validation-errors{color:#9d2020}.field-error:empty{margin:0}.notice{padding:1rem;border-left:4px solid #b47820;background:#fff7e8}.form-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin:2rem 0}.review-panel{border:2px solid #236a5b}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;vertical-align:top;padding:.8rem;border-bottom:1px solid #d9e0e5;white-space:pre-wrap;overflow-wrap:anywhere}.changed{background:#fff7e8}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.contract-video{min-height:200px;width:100%;max-width:800px;aspect-ratio:16/9;border:0}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:3px solid #76a99d;outline-offset:2px}

.button:disabled{background:#a8b4af;cursor:not-allowed;opacity:.65}

.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:1rem 0}.photo-grid img{width:100%;max-width:400px;height:220px;object-fit:contain;background:#f4f6f8;border:1px solid #ccd5de;border-radius:8px}input[type=file]{max-width:100%}
@media print{.site-header,.site-footer,.flow-nav,.form-actions,button{display:none!important}.card{box-shadow:none;break-inside:avoid}.photo-grid img{height:150px}}
input[type=radio],input[type=checkbox]{display:inline-block;width:auto;padding:0;flex:0 0 auto}.choice{align-items:center}

.guidance summary,.notice-item summary{cursor:pointer;font-weight:600;padding:.8rem 0}.guidance-image{display:block;max-width:100%;height:auto;margin:1.5rem auto}.notice-item{border-bottom:1px solid var(--line)}.notice-body{overflow-wrap:anywhere}.notice-body p,.notice-body div{white-space:pre-wrap}.notice-body a{overflow-wrap:anywhere}.notice-body{padding:0 0 1rem}
@media print{.main-nav,.demo-banner,.no-print,.skip-link{display:none!important}.page{max-width:none;margin:0;padding:0}body{background:white;color:#000;font-size:10pt}.card{border:0;border-radius:0;padding:0;margin:0 0 6mm;break-inside:auto}h1,h2,h3,dt{break-after:avoid}dl{grid-template-columns:40mm 1fr}dt,dd{padding:2mm 0;font-size:10pt}dd{padding-left:3mm}details>*{display:block}iframe{display:none}a{color:inherit}.price{font-size:16pt}@page{size:A4;margin:15mm}}
