*{box-sizing:border-box}body{margin:0;font-family:"Noto Sans JP","Hiragino Sans",sans-serif;color:#253b4b;background:#f4f8fb;font-size:15px;line-height:1.9}a{color:#1765a3}header{background:#fff;border-bottom:1px solid #e2eaf0;padding:22px max(24px,calc((100vw - 1120px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px}header img{width:205px;display:block}header>a:last-child{font-size:13px;text-decoration:none}main{max-width:1120px;margin:auto;padding:38px 24px 60px}.intro{text-align:center;margin-bottom:34px}.eyebrow{font-size:13px;letter-spacing:.14em;color:#2477b5;margin:0 0 8px}h1{font-size:31px;line-height:1.6;color:#174f7b;margin:0 0 14px}.intro>p:last-child{margin:0}.layout{display:grid;grid-template-columns:390px minmax(0,1fr);gap:32px;align-items:start}.promise{border-top:4px solid #267bb7;background:#e9f3fa;padding:24px;border-radius:8px}h2{font-size:20px;line-height:1.7;margin:0 0 15px;color:#174f7b}.promise ul{list-style:none;margin:0;padding:0}.promise li{position:relative;padding:0 0 0 24px;margin:12px 0;font-size:14px}.promise li:before{content:'✓';position:absolute;left:0;color:#217fb9;font-weight:700}.representative{margin-top:24px;padding:24px;background:#fff;border:1px solid #e0e9f0;border-radius:10px}.portrait{display:flex;align-items:center;gap:20px;margin-bottom:18px}.portrait img{width:122px;height:166px;object-fit:cover;object-position:top;background:#edf5fa;border-radius:8px}.portrait p{margin:0;font-size:12px}.portrait strong{display:block;font-size:26px;color:#174f7b}.representative>p{font-size:14px;margin:0}.form-card{padding:28px 30px;background:#fff;border:1px solid #dae5ed;border-radius:12px;box-shadow:0 12px 32px #254c6810}.form-card h2{margin-bottom:5px}.form-intro{font-size:12px;color:#647b8c;margin:0 0 22px}.contact-form{display:grid;gap:18px}label.field{display:block;font-weight:600;font-size:14px}.tag{display:inline-block;vertical-align:middle;font-size:10px;line-height:1.7;padding:1px 7px;background:#e9f3fa;color:#1765a3;border-radius:3px;margin-left:8px}.tag.optional{background:#f0f2f4;color:#687985}input,textarea{display:block;width:100%;font:400 16px/1.5 inherit;font-family:inherit;font-size:16px;margin-top:7px;padding:12px 13px;border:1px solid #cbdbe7;border-radius:5px;background:#fcfdfe;color:#253b4b}textarea{min-height:155px;resize:vertical}input::placeholder,textarea::placeholder{font-size:13px;color:#8b9ba7}input:focus,textarea:focus{outline:2px solid #80b9df;outline-offset:1px}.privacy{padding:14px 16px;background:#f5f8fb;border-radius:6px;font-size:12px}.privacy p{margin:0}.consent{display:flex;align-items:flex-start;gap:9px;font-size:13px;font-weight:400;margin-top:12px}.consent input{width:17px;height:17px;flex:none;margin:4px 0 0}.send-note{font-size:12px;color:#5c7181;margin:0}.submit{border:0;border-radius:40px;width:100%;min-height:60px;background:#ed7900;color:#fff;font:700 16px/1.5 inherit;font-family:inherit;font-size:16px;cursor:pointer;padding:16px;transition:background .2s}.submit:hover{background:#c65d00}.submit:focus-visible{outline:3px solid #174f7b;outline-offset:3px}.honeypot{display:none}.form-status{margin:0;font-size:13px}.is-error{color:#ad3232}.is-success{color:#1765a3}footer{text-align:center;padding:24px;background:#303030;color:#ddd;font-size:12px}footer a{color:#fff;text-decoration:none}@media(max-width:850px){.layout{grid-template-columns:1fr}.side{display:grid;grid-template-columns:1fr 1fr;gap:16px}.representative{margin:0}.portrait{gap:12px}.portrait img{width:90px;height:125px}.portrait strong{font-size:23px}}@media(max-width:600px){header{padding:18px 20px}header img{width:150px}header>a:last-child{font-size:11px}main{padding:28px 18px 38px}h1{font-size:24px}.intro{text-align:left;margin-bottom:24px}.intro>p:last-child{font-size:14px}.side{display:block}.promise,.representative{padding:20px}.representative{margin-top:16px}.form-card{padding:22px 18px}.layout{gap:22px}h2{font-size:18px}}

.submit:disabled{opacity:.65;cursor:wait}.form-status.is-error{color:#b42318}.intro a.submit{display:inline-flex;text-decoration:none;margin-top:24px} .intro a{overflow-wrap:anywhere}

/* Thank-you page: compact, centered return button. */
.thanks-page .intro{text-align:center;}
.thanks-page .intro a.submit{display:flex;align-items:center;justify-content:center;width:min(320px,100%);min-height:58px;margin:32px auto 0;padding:16px 24px;text-align:center;font-weight:700;line-height:1.5;}

body{font-family:"Noto Sans JP",sans-serif;}h1,h2{font-weight:700;} .intro p,.representative>p{letter-spacing:.03em;}
