:is(html:has(.contact-page),body:has(.contact-page)){height:auto;min-height:100%;overflow:hidden auto}body:has(.contact-page){display:block}.contact-page{box-sizing:border-box;color:#102c40;background:radial-gradient(circle at 12% 18%,#9ce0b133,#0000 28%),radial-gradient(circle at 86% 8%,#81b9e92b,#0000 24%),#fbfbfa;width:100%;min-height:100dvh;padding:22px 22px 60px;font-family:Inter,Noto Sans JP,sans-serif}.contact-page *{box-sizing:border-box}.contact-shell{width:min(880px,100%);margin:0 auto}.contact-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.contact-logo img{width:146px;height:auto;display:block}.contact-language{color:#415a68;align-items:center;gap:10px;font-size:13px;display:flex}.contact-language select{color:#123d5b;max-width:190px;font:inherit;background:#ffffffe6;border:1px solid #5d91b96b;border-radius:10px;padding:9px 30px 9px 12px}.contact-panel{-webkit-backdrop-filter:blur(22px)saturate(150%);backdrop-filter:blur(22px)saturate(150%);background:linear-gradient(145deg,#fffffff0,#e2f0f8c2);border:1px solid #5d91b959;border-radius:24px;margin-top:38px;padding:clamp(24px,4vw,52px);box-shadow:0 28px 65px #0419251a,inset 0 1px #fffffffa}.contact-eyebrow{color:#075e9c;letter-spacing:.14em;font-size:12px;font-weight:800}.contact-panel h1{margin:12px 0 10px;font-size:clamp(28px,3.5vw,42px);line-height:1.25}.contact-intro{color:#456273;margin:0 0 24px;line-height:1.65}.contact-preview-notice{color:#234e69;background:#ddeff9b8;border:1px solid #5d91b973;border-radius:10px;margin:10px 0 20px;padding:11px 14px;font-size:13px;line-height:1.5}.contact-required-note{color:#536c78;margin:0 0 13px;font-size:12px}.contact-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.contact-field{min-width:0}.contact-field--wide{grid-column:1/-1}.contact-field label{align-items:center;gap:8px;margin-bottom:8px;font-size:14px;font-weight:750;display:flex}.contact-required{color:#c94d57;font-weight:850}.contact-optional{color:#456273;background:#5d91b91f;border-radius:4px;padding:2px 6px;font-size:11px}.contact-field input,.contact-field textarea,.contact-field select{color:#11314a;width:100%;min-width:0;font:inherit;background:#fffffff0;border:1px solid #5d91b961;border-radius:10px;outline:none;padding:13px 14px;font-size:15px;line-height:1.5}.contact-field select{min-height:50px}.contact-country-other{margin-top:12px}.contact-field textarea{resize:vertical;display:block}.contact-field input:focus-visible,.contact-field textarea:focus-visible,.contact-field select:focus-visible,.contact-language select:focus-visible,.contact-submit:focus-visible,.contact-back:focus-visible{outline-offset:3px;outline:3px solid #4aabd9}.contact-field input[aria-invalid=true],.contact-field textarea[aria-invalid=true],.contact-field select[aria-invalid=true]{border-color:#c94d57;box-shadow:0 0 0 2px #c94d5729}.contact-field-error,.contact-submit-error{color:#a73a45;font-size:12px}.contact-field-error{margin:6px 0 0}.contact-submit-error{margin:18px 0 0;font-size:13px;line-height:1.5}.contact-submit{color:#fff;width:min(320px,100%);min-height:51px;font:inherit;cursor:pointer;background:linear-gradient(105deg,#1674b6,#2896c9);border:1px solid #65bce2;border-radius:999px;justify-content:space-between;align-items:center;gap:20px;margin-top:25px;padding:11px 20px;font-size:15px;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 12px 24px #0419252e}.contact-submit:disabled{color:#d7e5ec;cursor:not-allowed;box-shadow:none;background:#477086;border-color:#718b9b}.contact-submit>span{font-size:23px}.contact-privacy{color:#075e9c;text-underline-offset:3px;width:fit-content;margin:18px 0 0;font-size:13px;display:block}.contact-back{color:#075e9c;margin-top:22px;font-size:14px;text-decoration:none;display:inline-block}.contact-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.contact-thanks-panel{min-height:320px}.contact-thanks-panel>p{line-height:1.7}.contact-return{margin-top:24px}@media (width<=600px){.contact-page{padding:15px 12px 40px}.contact-logo img{width:116px}.contact-language{gap:5px;font-size:11px}.contact-language select{max-width:135px;padding:7px;font-size:12px}.contact-panel{border-radius:18px;margin-top:24px;padding:22px 16px}.contact-fields{grid-template-columns:1fr;gap:16px}.contact-field--wide{grid-column:1}.contact-submit{width:100%}}.contact-success{color:#215c4f;background:#f1faf7;border:1px solid #a5d4c7;border-radius:12px;padding:16px 18px;line-height:1.7}
