:root{--ink:#263a42;--accent:#1d6471;--line:#dce4e6;--muted:#5b6b70}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:#f5f7f7;line-height:1.8}a{color:var(--accent);text-underline-offset:4px}header{background:white;display:flex;justify-content:space-between;align-items:center;padding:24px max(24px,calc((100vw - 1100px)/2));gap:30px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:20px;text-decoration:none;color:var(--ink);font-size:13px}.brand img{object-fit:contain;height:auto}nav{display:flex;gap:24px;font-size:13px;white-space:nowrap}main{max-width:880px;margin:auto;padding:0 24px 80px}.intro{padding:56px 0 30px}.eyebrow{letter-spacing:.2em;font-size:12px;color:var(--accent);font-weight:700}h1{font-size:34px;letter-spacing:.08em;margin:8px 0 18px}h2{font-size:20px;margin:0 0 24px;line-height:1.6}p{margin:0 0 14px}.guide{background:#eaf0f0;padding:24px 28px;border-left:3px solid var(--accent);font-size:14px}.guide h2{font-size:17px;margin-bottom:12px}.guide p:last-child{margin-bottom:0}.steps{display:flex;padding:0;list-style:none;margin:36px 0 28px;gap:6px}.steps li{flex:1;text-align:center;background:#e4e9e9;padding:12px;font-size:14px;color:var(--muted)}.steps [aria-current]{background:var(--accent);color:white}.card{background:white;border:1px solid var(--line);padding:32px;margin:0 0 24px;min-width:0;border-radius:4px}.field{display:grid;grid-template-columns:210px minmax(0,1fr);align-items:start;gap:12px 24px;padding:18px 0;border-bottom:1px solid #edf0f1}.field>label{padding-top:8px;font-weight:600;font-size:14px}.badge,.optional{display:inline-block;font-size:11px;font-weight:500;line-height:1.6;padding:1px 6px;margin-left:9px;vertical-align:middle;white-space:nowrap}.badge{background:#a43f3a;color:white;border-radius:2px}.optional{background:#eef1f1;color:#637176}input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea{width:100%;font:inherit;font-size:16px;border:1px solid #bfcdd1;border-radius:3px;padding:10px 12px;color:var(--ink);background:#fcfdfd;min-width:0}textarea{resize:vertical;min-height:150px}.pair{display:flex;gap:12px}.pair input{min-width:0}.field small{grid-column:2;font-size:12px;color:var(--muted)}input:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,.upload:focus-within{outline:3px solid #8ebec8;outline-offset:3px}.choices{border:1px solid var(--line)}.choices legend{font-size:18px;font-weight:600}.choices legend small{display:block;font-size:12px;font-weight:400;color:var(--muted)}.choices label{display:flex;gap:12px;align-items:flex-start;padding:12px 6px;cursor:pointer}.choices input{width:19px;height:19px;margin:5px 0 0;accent-color:var(--accent);flex-shrink:0}.question .choices{padding:16px;margin:0 0 20px}.notice{color:#9a302f;background:#fff3f0;padding:16px;font-size:14px}.hint,small{font-size:13px;color:var(--muted)}.upload{display:block;border:1px dashed #87a6ad;background:#f2f7f7;padding:20px;text-align:center;cursor:pointer;margin:24px 0 16px}.upload input{display:block;margin:12px auto 0;max-width:100%;font-size:14px}.file-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.file-row img{height:64px;width:64px;object-fit:cover;border-radius:3px}.file-row .file-info{flex:1;min-width:0;overflow-wrap:anywhere;font-size:14px}.file-row button{padding:8px 12px;background:white;color:var(--accent);border:1px solid var(--line);font-size:13px}.privacy{font-size:13px;padding:6px 8px}.privacy h2{font-size:16px;margin-bottom:10px}.actions{display:flex;justify-content:center;gap:16px;margin:30px 0 8px}button{border:0;background:var(--accent);color:white;font:inherit;font-weight:600;padding:16px 34px;border-radius:3px;cursor:pointer;min-height:48px}button span{margin-left:24px}.secondary{background:#edf2f2;color:var(--accent)}button:disabled{opacity:.55;cursor:wait}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#status{background:#fff0ed;color:#922a26;border:1px solid #e9bdb3;padding:18px;margin-bottom:24px;white-space:pre-line}#summary{margin:24px 0}#summary dt{font-size:13px;color:var(--muted);margin-top:18px}#summary dd{margin:4px 0 0;padding-bottom:16px;border-bottom:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere}#sending,#file-status{text-align:center;font-size:13px}footer{text-align:center;background:#e9eeee;padding:36px 24px;font-size:12px}[hidden]{display:none!important}#complete h2{color:var(--accent)}@media(max-width:600px){header{padding:18px 20px;display:block}.brand{gap:14px}.brand span{font-size:11px}nav{margin-top:16px;gap:20px;font-size:12px}main{padding:0 16px 48px}.intro{padding:34px 4px 22px}h1{font-size:27px}.intro p{font-size:14px}.guide{padding:20px;font-size:13px}.card{padding:24px 18px}.field{grid-template-columns:1fr;gap:8px;padding:16px 0}.field>label{padding:0}.field small{grid-column:1}.choices legend{font-size:16px}.choices label{font-size:14px;padding:12px 0}.question .choices{padding:12px}.actions{flex-wrap:wrap;gap:12px}button{padding:14px 22px;flex:1}#review{flex:none;width:100%}.steps{margin:26px 0 22px}.steps li{padding:10px 4px;font-size:12px}h2{font-size:18px}.upload{padding:16px 10px}}
/* NTT版：家具メーカーのロゴに合わせた落ち着いたグリーン */
:root{--ink:#2c3830;--accent:#486b31;--line:#dce3da;--muted:#606d62}body{background:#f6f7f3}.guide{background:#edf2e8;border-left-color:var(--accent)}.guide-lead{font-weight:600}.guide details{margin:12px 0}.guide summary{cursor:pointer;font-weight:600;min-height:36px;display:list-item}.guide details>div{padding:12px 0 0}.contact-phone{border-top:1px solid #d6dfcf;margin-top:16px;padding-top:14px}.contact-phone a{font-weight:700;font-size:19px;margin-left:12px;text-decoration:none}.contact-phone span{font-size:12px;margin-left:12px}#inquiry-types{border-top:3px solid var(--accent)}.intro{padding-bottom:20px}.intro p:last-child{margin-bottom:0}.upload{background:#f4f7ef}.reply-note{padding:16px;background:#edf2e8;font-size:14px}.steps [aria-current]{background:var(--accent)}.brand img{max-width:120px}nav{gap:18px}.field small{margin:0}footer{background:#eaf0e5}#confirmation{scroll-margin-top:24px}@media(max-width:600px){nav{gap:20px;flex-wrap:wrap}.contact-phone a{display:inline-block;margin-left:0;margin-right:10px}.contact-phone span{margin-left:0;white-space:nowrap}.guide{padding:18px}.guide-lead{font-size:14px}.question h2{font-size:17px}.intro{padding-top:30px}.card{margin-bottom:18px}}
h2[tabindex="-1"]:focus{outline:none}
/* 項目名と修正方法がわかる入力エラー */
.validation-summary{border:2px solid #ad352d;background:#fff5f3;padding:22px 24px;margin:0 0 26px;border-radius:4px;color:#77231f;scroll-margin-top:150px}.validation-summary h2{font-size:19px;margin:0 0 10px;color:#922a24}.validation-summary p{font-size:14px;margin:0 0 12px}.validation-summary ul{padding:0 0 0 22px;margin:0}.validation-summary li{margin:7px 0;line-height:1.6}.validation-summary a{color:#922a24;text-decoration:underline;font-weight:600;font-size:14px;overflow-wrap:anywhere}.validation-summary:focus{outline:none}.field-error{color:#a32923!important;font-size:14px!important;line-height:1.65!important;font-weight:600;margin:0!important;padding:2px 0 0;grid-column:2}.choices>.field-error{margin:12px 0 0!important;padding:10px 12px;background:#fff5f3}.has-field-error.choices{border-color:#b13e36}.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border:2px solid #b13e36!important;background:#fff8f6!important}.choices input[aria-invalid="true"]{outline:1px solid #b13e36;outline-offset:2px}.field,.choices{scroll-margin-top:150px}@media(max-width:600px){.validation-summary{padding:18px 16px}.validation-summary h2{font-size:17px}.validation-summary a,.validation-summary p{font-size:13px}.field-error{grid-column:1;font-size:13px!important}}

/* 確認画面：送信する実ファイルの画像プレビュー */
#summary .confirmation-attachments{white-space:normal;min-width:0}
.confirmation-attachment-note{font-size:14px;margin:0 0 14px;line-height:1.7}
.confirmation-attachment{margin:0 0 16px;padding:12px;border:1px solid #dce3da;border-radius:6px;background:#fff;min-width:0}
.confirmation-attachment:last-child{margin-bottom:0}
.confirmation-attachment img{display:block;width:auto;height:auto;max-width:100%;max-height:360px;object-fit:contain;margin:0 auto 10px}
.confirmation-attachment figcaption{font-size:14px;line-height:1.6;overflow-wrap:anywhere;white-space:normal}
.confirmation-file-type{display:inline-block;padding:12px 20px;background:#edf2e8;color:#486b31;font-weight:700;border-radius:4px;margin-bottom:10px}
@media(max-width:600px){.confirmation-attachment img{max-height:260px}.confirmation-attachment{padding:10px}}
