/* The form uses the same restrained type, generous rhythm, and forest/plum accents. */
.contact-shell{padding:0}.contact-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:72px;align-items:start;width:calc(100% - 80px);max-width:1110px;margin:0 auto;padding:63px 0 105px}.contact-guidance{padding-top:4px}.contact-guidance h2{font-family:'Noto Serif JP',serif;font-size:25px;line-height:1.85;letter-spacing:.025em;font-weight:400;color:#294b38;margin:0 0 25px}.contact-guidance p{font-size:13px;line-height:2.1;letter-spacing:.015em;color:#657168;margin:0 0 24px}.contact-guidance .contact-email-label{font-size:11px;letter-spacing:.065em;color:#725982;margin:33px 0 9px}.contact-email{display:inline-block;font-size:12px;line-height:2;letter-spacing:.015em;overflow-wrap:anywhere;color:#6c4d7d;text-decoration:underline;text-decoration-color:#c4b2cf;text-underline-offset:5px}.contact-email:hover{text-decoration-color:currentColor}.contact-form-area{min-width:0}.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:25px;align-items:start}.contact-form>*{grid-column:1/-1}.contact-form>.contact-field:nth-of-type(1),.contact-form>.contact-field:nth-of-type(2){grid-column:span 1}.contact-required-note{font-size:11px;line-height:1.9;letter-spacing:.025em;color:#657168;margin:0 0 31px}.contact-field{margin-bottom:31px;min-width:0}.contact-field label{display:flex;align-items:baseline;gap:12px;font-size:13px;font-weight:500;line-height:1.9;letter-spacing:.03em;color:#304d3b;margin-bottom:12px}.contact-field .required-word{font-size:10px;font-weight:400;color:#725982;letter-spacing:.04em}.contact-field .optional-word{font-size:10px;font-weight:400;color:#657168}.contact-field input,.contact-field select,.contact-field textarea{display:block;width:100%;border:1px solid #cbd1c5;border-radius:3px;background:#fbfaf6;padding:14px 15px;color:#2d4636;font:inherit;font-size:14px;line-height:1.8;outline-offset:3px;transition:border-color .2s,background .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{background:#fff;border-color:#647d6a;box-shadow:0 0 0 3px #72598214}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#687165;font-size:13px;opacity:1}.contact-field textarea{min-height:218px;resize:vertical}.contact-field select{padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23786782' stroke-width='1.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center}.contact-field [aria-invalid=true]{border-bottom-color:#b47874;background:#fbf0ec}.field-error{color:#99524e;font-size:12px;line-height:1.9;margin:8px 0 0}.field-error:empty{display:none}.contact-field-help{font-size:11px;line-height:1.9;letter-spacing:.015em;color:#657168;margin:10px 0 0}.contact-consent{margin:0 0 26px;padding-top:2px}.contact-consent label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:13px;line-height:2;color:#596a5e}.contact-consent input{width:18px;height:18px;min-width:18px;margin:4px 0 0;accent-color:#244c36}.contact-consent a{color:#6c4d7d;text-decoration:underline;text-decoration-color:#bca8c8;text-underline-offset:4px}.contact-submit{display:flex;align-items:center;justify-content:space-between;gap:35px;width:100%;max-width:355px;min-height:60px;border:1px solid #244b36;border-radius:3px;padding:19px 26px;background:linear-gradient(115deg,#244b36,#233d32 72%,#33283d);color:#fbfcf7;cursor:pointer;font:inherit;font-size:13px;letter-spacing:.05em;line-height:1.8;transition:background .2s,transform .2s,box-shadow .2s}.contact-submit:hover{background:#1e3e2d;transform:translateY(-1px);box-shadow:0 6px 18px #244b3516}.contact-submit:active{transform:translateY(0)}.contact-submit:disabled{opacity:.65;cursor:wait;transform:none;box-shadow:none}.contact-submit-arrow{font-size:20px;font-weight:400;line-height:1}.contact-status{font-size:12px;line-height:2;color:#99524e;margin:23px 0 0;scroll-margin-top:105px}.contact-status:empty{display:none}.contact-privacy-note{font-size:11px;line-height:1.9;letter-spacing:.01em;color:#657168;margin:20px 0 0}.contact-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-disclosure-note{border-left:2px solid #b4a2be;padding:2px 0 2px 16px;margin:0 0 30px;font-size:12px;line-height:2;color:#725e7e}.contact-disclosure-note[hidden]{display:none}
.contact-success{border-top:2px solid #49674b;padding:30px 0 0}.contact-success[hidden]{display:none}.contact-success h2{font-family:'Noto Serif JP',serif;font-size:25px;line-height:1.9;font-weight:400;color:#294b38;margin:0 0 23px}.contact-success p{font-size:13px;line-height:2.15;color:#596a5e;margin:0 0 20px}.contact-reference{display:block;margin:28px 0;font-size:11px;line-height:2;color:#725982;overflow-wrap:anywhere}.contact-success a{display:inline-flex;gap:40px;font-size:12px;line-height:2;color:#6c4d7d;padding:12px 0;border-bottom:1px solid #c6b9cd}.contact-form[hidden]{display:none}.contact-noscript{padding:15px 0;font-size:12px;line-height:2;color:#8b6e6e}
@media(max-width:950px){.contact-layout{grid-template-columns:210px minmax(0,1fr);gap:45px}.contact-guidance h2{font-size:22px}.contact-form{display:block}.contact-form>.contact-field{width:100%}}
@media(max-width:760px){.contact-layout{width:calc(100% - 48px);grid-template-columns:minmax(0,1fr);gap:36px;padding:32px 0 68px}.contact-guidance{order:1;border-top:1px solid #dadfd3;padding:28px 0 0}.contact-guidance h2{font-size:23px;line-height:1.8;margin-bottom:18px}.contact-guidance p{font-size:14px;line-height:2;margin-bottom:16px}.contact-guidance .contact-email-label{margin-top:22px;font-size:11px}.contact-email{font-size:13px}.contact-form-area{order:0;border:0;padding:0}.contact-required-note{font-size:11px;margin-bottom:25px}.contact-field{margin-bottom:27px}.contact-field label{font-size:13px;gap:12px;margin-bottom:11px}.contact-field input,.contact-field select,.contact-field textarea{font-size:16px;padding:13px 14px;line-height:1.65}.contact-field select{padding-right:42px}.contact-field input::placeholder,.contact-field textarea::placeholder{font-size:13px}.contact-field textarea{min-height:210px}.contact-field-help{font-size:11px}.contact-consent{margin-top:2px;margin-bottom:25px}.contact-consent label{font-size:12px;gap:11px}.contact-submit{max-width:none;min-height:58px;padding:17px 21px;font-size:13px}.contact-privacy-note{font-size:11px}.contact-success h2{font-size:22px}.contact-success p{font-size:13px}.contact-disclosure-note{font-size:12px;padding-left:13px;margin-bottom:26px}}
@media(prefers-reduced-motion:reduce){.contact-field input,.contact-field select,.contact-field textarea,.contact-submit{transition:none}.contact-submit:hover{transform:none}}

.contact-layout{grid-template-areas:"guidance form"}.contact-guidance{grid-area:guidance}.contact-form-area{grid-area:form}
@media(max-width:760px){.contact-layout{grid-template-areas:"form" "guidance"}.contact-guidance,.contact-form-area{order:initial}}

.contact-guidance .contact-help-link{color:#6c4d7d;text-decoration:underline;text-decoration-color:#c4b2cf;text-underline-offset:4px}.contact-guidance .contact-help-link:hover{text-decoration-color:currentColor}
