
:root{--ink:#202326;--muted:#60656b;--line:#d5d8dc;--field:#f3f4f5;--accent:#2758c7;--ja:"Noto Sans JP","Hiragino Sans",Meiryo,sans-serif;--en:"Space Grotesk",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:var(--ja);font-weight:400;-webkit-text-size-adjust:100%}
.review{padding:10px 24px;background:#f4f5f7;color:#525860;font-size:12px;line-height:1.6;text-align:center}
main{max-width:1296px;margin:auto;padding:76px 48px 108px}.heading{display:flex;align-items:baseline;gap:28px;margin-bottom:30px}h1{font-family:var(--en);font-size:48px;font-weight:500;letter-spacing:.025em;line-height:1.15;margin:0}.heading p{font-size:15px;font-weight:500;color:var(--muted);margin:0;letter-spacing:.04em}.lead{max-width:800px;margin:0;font-size:17px;line-height:1.95;letter-spacing:.02em}.lead span{display:block}
.rule{border:0;border-top:1px solid var(--line);margin:58px 0 20px}
.required-note{font-size:13px;color:var(--muted);margin:0 0 38px}.asterisk{color:#ad2828;margin-left:6px}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 48px}
.field{min-width:0}.field.full{grid-column:1/-1}
label.title{display:flex;gap:10px;align-items:baseline;margin-bottom:12px;font-size:15px;font-weight:500;line-height:1.7;letter-spacing:.025em}.badge{font-size:11px;letter-spacing:0;color:#ad2828;font-weight:500}.optional{font-size:11px;font-weight:400;color:var(--muted)}
input:not([type=checkbox]),textarea{appearance:none;width:100%;border:1px solid #e4e6e9;border-radius:3px;background:var(--field);font:400 16px/1.7 var(--ja);color:var(--ink);padding:15px 18px;transition:border-color .16s,box-shadow .16s;min-height:58px}
textarea{min-height:228px;resize:vertical;display:block}
input:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.confirm{display:flex;align-items:flex-start;gap:12px;margin:32px 0 28px;font-size:14px;line-height:1.9;max-width:830px}
.confirm input{width:20px;height:20px;flex-shrink:0;margin:3px 0 0;accent-color:var(--ink)}
button{border:1px solid var(--ink);border-radius:3px;min-height:62px;width:256px;padding:16px 28px;display:flex;justify-content:space-between;align-items:center;color:white;background:var(--ink);font:500 16px/1.5 var(--ja);cursor:pointer;transition:background .16s}
button:hover{background:#3c4248}button span:last-child{font:500 24px/1 var(--en)}
.footer{margin-top:72px;padding-top:20px;border-top:1px solid #e6e8eb;display:flex;justify-content:space-between;color:var(--muted);font-size:12px;letter-spacing:.01em}.footer span:last-child{font-family:var(--en)}
#preview-status{font-size:12px;line-height:1.8;color:var(--muted);margin:18px 0 0;max-width:720px}
@media(max-width:767px){main{padding:44px 20px 60px}.heading{display:block;margin-bottom:24px}h1{font-size:36px}.heading p{margin-top:12px;font-size:14px}.lead{font-size:16px;line-height:1.9}.lead span{display:inline}.rule{margin-top:36px}.required-note{margin-bottom:28px}.fields{grid-template-columns:1fr;gap:26px}.field.full{grid-column:auto}label.title{font-size:14px;margin-bottom:10px}.confirm{font-size:14px;margin-top:28px}button{width:100%}textarea{min-height:210px}.footer{margin-top:48px;gap:16px;flex-wrap:wrap}.review{font-size:11px;padding:9px 20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
[hidden]{display:none!important}.step-title{font-size:24px;line-height:1.6;margin:0 0 24px}.actions{display:flex;gap:20px;flex-wrap:wrap}.secondary{background:white;color:var(--ink)}.secondary:hover{background:var(--field)}.summary{margin:0 0 32px}.summary-row{display:grid;grid-template-columns:220px 1fr;gap:24px;border-bottom:1px solid var(--line);padding:24px 0}.summary dt{font-size:14px;font-weight:500}.summary dd{margin:0;font-size:16px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.notice{font-size:16px;line-height:1.9;margin:28px 0}.policy-link{color:var(--accent);text-decoration:underline}dialog{max-width:600px;width:calc(100% - 40px);border:1px solid var(--line);border-radius:4px;padding:28px;font-size:16px;line-height:1.9}dialog::backdrop{background:#0006}.thanks{padding:16px 0 48px}.thanks h2{font-family:var(--en);font-size:44px;font-weight:500;margin:0 0 22px}.thanks p{line-height:1.9}.demo-note{font-size:13px;color:var(--muted)}@media(max-width:767px){.summary-row{grid-template-columns:1fr;gap:8px;padding:20px 0}.actions{flex-direction:column}.thanks h2{font-size:34px}}

/* Shared navigation, scoped to avoid affecting the form's heading header. */
.contact-site-header{max-width:1336px;margin:auto;padding:30px 48px;display:flex;align-items:center;justify-content:space-between;gap:30px;line-height:1.9;letter-spacing:.02em}
.contact-site-header a{color:inherit;text-decoration:none}
.contact-site-header .wordmark{font-family:var(--en);font-size:36px;font-weight:600;letter-spacing:-.07em}
.contact-site-header nav{display:flex;gap:30px;align-items:center;flex-wrap:wrap;font:500 13px var(--en);letter-spacing:.02em}
.contact-site-header nav a{padding:12px 0}
.contact-site-header .nav-contact{border-bottom:1px solid var(--ink)}
@media(max-width:960px){.contact-site-header nav{gap:19px}}
@media(max-width:640px){.contact-site-header{align-items:flex-start;flex-direction:column;gap:12px;padding:20px}.contact-site-header .wordmark{font-size:32px}.contact-site-header nav{gap:18px;width:100%;font-size:11px;justify-content:space-between}.contact-site-header nav a{padding:10px 0}}
