.contact-page .contact-main { max-width:1440px; margin:0 auto; padding:168px 3.8vw 100px; }
.contact-page .contact-intro { border-bottom:1px solid #555; padding-bottom:44px; }
.contact-page .contact-eyebrow { font-size:12px; letter-spacing:.16em; margin:0 0 22px; color:#b8b8b8; }
.contact-page .contact-intro h1 { font-size:clamp(60px,8vw,116px); font-weight:500; line-height:1; letter-spacing:-.045em; margin:0 0 32px; }
.contact-page .contact-intro h2 { font-family:'Yu Mincho','Hiragino Mincho ProN',serif; font-size:28px; font-weight:400; line-height:1.65; letter-spacing:.03em; margin:0 0 16px; }
.contact-page .contact-description { max-width:650px; font-size:14px; line-height:1.95; margin:0; }
.contact-page .contact-form { max-width:800px; margin:52px auto 0; }
.contact-page .contact-field { margin-bottom:32px; min-width:0; }
.contact-page .contact-field > label,.contact-page .contact-consent-title { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; font-size:15px; line-height:1.8; margin:0 0 13px; }
.contact-page .contact-number { color:#999; font-size:12px; letter-spacing:.05em; margin-right:4px; }
.contact-page .contact-requirement { font-size:11px; color:#aaa; margin-left:auto; }
.contact-page .contact-field input:not([type=checkbox]),.contact-page .contact-field select,.contact-page .contact-field textarea { display:block; width:100%; min-width:0; max-width:100%; border:1px solid #555; border-radius:0; background:#020405; color:#f7f7f7; font:16px/1.6 Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif; padding:15px 17px; }
.contact-page .contact-field input::placeholder { color:#777; opacity:1; }
.contact-page .contact-field select { min-height:58px; }
.contact-page .contact-field textarea { resize:vertical; min-height:200px; }
.contact-page .contact-field input:focus-visible,.contact-page .contact-field select:focus-visible,.contact-page .contact-field textarea:focus-visible,.contact-page summary:focus-visible,.contact-page .contact-back-home:focus-visible { outline:2px solid #ddd; outline-offset:3px; }
.contact-page .contact-privacy { border-top:1px solid #555; border-bottom:1px solid #555; padding:15px 0; margin-bottom:20px; font-size:14px; line-height:1.85; }
.contact-page .contact-privacy summary { cursor:pointer; }
.contact-page .contact-privacy p { color:#bbb; margin:16px 0 0; }
.contact-page .contact-field .contact-checkbox { display:flex; flex-wrap:nowrap; align-items:flex-start; gap:12px; font-size:14px; line-height:1.85; margin:0; }
.contact-page .contact-mobile-break { display:none; }
.contact-page .contact-checkbox input { width:20px; height:20px; margin:3px 0 0; flex-shrink:0; accent-color:#fff; }
.contact-page .contact-submit-area { margin-top:42px; }
.contact-page .contact-submit { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:64px; padding:18px 24px; border:0; border-radius:0; background:#f7f7f7; color:#080808; font:15px/1.5 Arial,sans-serif; letter-spacing:.06em; opacity:1; cursor:not-allowed; }
.contact-page #contact-send-note { color:#aaa; font-size:14px; line-height:1.8; margin:15px 0 0; }
.contact-page .contact-back-home { color:inherit; font-size:11px; letter-spacing:.05em; text-decoration:none; }
.contact-page .contact-error,.contact-page .contact-form-error,.contact-page .contact-form-success { font-size:14px; line-height:1.8; }
@media(max-width:700px) {
  .contact-page .contact-mobile-break { display:initial; }
  .contact-page .contact-main { padding:142px 20px 56px; }
  .contact-page .contact-intro { padding-bottom:30px; }
  .contact-page .contact-eyebrow { font-size:11px; letter-spacing:.1em; margin-bottom:20px; }
  .contact-page .contact-intro h1 { font-size:clamp(48px,14vw,80px); margin-bottom:25px; }
  .contact-page .contact-intro h2 { font-size:23px; line-height:1.65; max-width:14em; }
  .contact-page .contact-form { margin-top:32px; }
  .contact-page .contact-field { margin-bottom:27px; }
  .contact-page .contact-field > label,.contact-page .contact-consent-title { font-size:14px; gap:6px; }
  .contact-page .contact-field input:not([type=checkbox]),.contact-page .contact-field select,.contact-page .contact-field textarea { padding:14px 12px; }
  .contact-page .contact-submit-area { margin-top:30px; }
}
