.contact-main{padding:0 clamp(25px,6.4vw,108px) 160px}.contact-lead{padding:clamp(95px,10vw,160px) 0 95px;border-bottom:1px solid #aba79e}.contact-en{font:500 clamp(75px,13vw,205px)/.9 Outfit,sans-serif;letter-spacing:-.07em;margin:0 0 60px}.contact-lead h1{font-size:clamp(46px,5vw,75px);font-weight:500;line-height:1.5;margin:0 0 35px}.contact-lead>p:last-child{font-size:16px;line-height:2.25}.contact-form-area{max-width:1050px;margin:90px auto 0}.preview-notice{background:#e6e3dc;padding:17px 22px;font-size:13px;line-height:1.8;margin-bottom:45px}.preview-notice strong{font-weight:600}.contact-steps{list-style:none;display:flex;gap:0;margin:0 0 100px;padding:0;border-bottom:1px solid #a9a59c}.contact-steps li{flex:1;padding:14px 0;color:#888;font:500 12px Outfit,sans-serif;letter-spacing:.1em}.contact-steps li.current{color:#181817;border-bottom:2px solid #181817}.contact-stage-head{margin-bottom:65px}.contact-stage-head>span{font:500 12px Outfit,sans-serif;letter-spacing:.22em}.contact-stage-head h2{font-size:clamp(32px,3.5vw,50px);font-weight:500;line-height:1.5;margin:25px 0 10px}.contact-stage-head p{font-size:15px;line-height:2}.form-row{display:grid;grid-template-columns:250px 1fr;align-items:start;gap:20px;border-top:1px solid #c7c3ba;padding:25px 0}.form-row label,.theme-field legend{font-size:14px;padding-top:14px}.form-row label em{font:500 10px Outfit,sans-serif;color:#7b4938;font-style:normal;padding-left:12px}.form-row label small,.theme-field legend small{font-size:11px;color:#777;padding-left:12px}.form-row input,.form-row textarea{width:100%;border:1px solid #b8b3a9;background:#fff;padding:15px 17px;border-radius:0;color:#181817;font:400 15px "Noto Sans JP",sans-serif;line-height:1.6}.form-row input:focus,.form-row textarea:focus{outline:2px solid #8e796b;outline-offset:2px}.form-row textarea{resize:vertical;min-height:220px}.theme-field{border:0;border-top:1px solid #c7c3ba;padding:25px 0;display:grid;grid-template-columns:250px 1fr;gap:20px}.theme-field legend{float:left;width:250px}.theme-list{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:12px}.theme-list label{display:flex;align-items:center;gap:9px;font-size:13px;border:1px solid #b8b3a9;padding:14px;background:#fff}.theme-list input{accent-color:#272725;width:16px;height:16px}.form-message{border-bottom:1px solid #c7c3ba}.privacy-note{font-size:13px;line-height:1.9;margin:40px 0}.privacy-note small{color:#67625b}.form-actions{display:flex;justify-content:flex-end;margin-top:50px;gap:20px}.form-actions button{min-width:250px;background:#1e1f1d;color:#fff;border:1px solid #1e1f1d;padding:18px 24px;text-align:left;display:flex;justify-content:space-between;font:400 14px "Noto Sans JP",sans-serif;cursor:pointer}.form-actions button:hover{background:#444}.review-actions button:first-child{background:transparent;color:#111;min-width:160px}.review-actions button:first-child:hover{background:#eae7df}#review-list{margin:0;border-top:1px solid #aaa}#review-list div{display:grid;grid-template-columns:250px 1fr;gap:20px;border-bottom:1px solid #c7c3ba;padding:22px 0}#review-list dt{font-size:13px}#review-list dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px}#complete-step{min-height:50vh}.contact-return{display:inline-block;border-bottom:1px solid #111;padding:12px 0;margin-top:25px;font-size:14px}
@media(max-width:700px){.contact-main{padding:0 23px 110px}.contact-lead{padding:90px 0 70px}.contact-en{font-size:18vw;margin-bottom:45px}.contact-lead h1{font-size:38px}.contact-lead>p:last-child{font-size:13px}.contact-form-area{margin-top:50px}.contact-steps{margin-bottom:65px}.contact-steps li{font-size:10px}.form-row,.theme-field,#review-list div{display:block;padding:20px 0}.form-row label,.theme-field legend{display:block;padding:0 0 13px}.theme-field legend{float:none;width:auto}.theme-list{display:grid;grid-template-columns:1fr;gap:8px}.form-row input,.form-row textarea{font-size:16px}.form-actions{display:block}.form-actions button{width:100%;margin-top:12px}.review-actions button:first-child{min-width:0}.contact-stage-head h2{font-size:33px}#review-list dt{margin-bottom:8px}}

/* Quiet, field-specific validation in the owner preview. */
.v3-contact-page .form-row .contact-field-error{
  grid-column:2;
  margin:.45rem 0 0;
  color:#9b4037;
  font-size:.875rem;
  line-height:1.6;
  text-align:left;
}
.v3-contact-page .form-row .contact-field-error[hidden]{display:none}
.v3-contact-page .form-row [aria-invalid="true"]{border-color:#a45147}
@media(max-width:700px){
  .v3-contact-page .form-row .contact-field-error{
    display:block;
    margin:.5rem 0 0;
    font-size:.875rem;
  }
}

/* One focus ring at the input edge, including when validation is visible. */
.v3-contact-page .form-row input:focus,
.v3-contact-page .form-row textarea:focus{
  border-color:transparent;
  outline:2px solid #6d6258;
  outline-offset:0;
}
.v3-contact-page .form-row input[aria-invalid="true"]:focus,
.v3-contact-page .form-row textarea[aria-invalid="true"]:focus{
  outline-color:#a45147;
}

/* Review-only privacy route and acknowledgement, set below the final field. */
.v3-contact-page .contact-privacy{max-width:720px;margin:2.7rem 0 0;color:#181817}
.v3-contact-page .contact-privacy h3{font-size:1.05rem;font-weight:500;line-height:1.6;margin:0 0 .8rem}
.v3-contact-page .contact-privacy>p{font-size:.9rem;line-height:1.85;margin:0 0 1.4rem;max-width:37rem}
.v3-contact-page .contact-privacy-link{display:inline-flex;align-items:center;gap:1.2rem;min-height:44px;padding:.6rem .15rem;color:#181817;border-bottom:1px solid #6c6963;font-size:.9rem;text-decoration:none;line-height:1.5}
.v3-contact-page .contact-privacy-link:hover{opacity:.65}
.v3-contact-page .contact-privacy-link:focus-visible{outline:2px solid #514e49;outline-offset:4px}
.v3-contact-page .contact-consent{margin-top:2rem}
.v3-contact-page .contact-consent label{display:flex;align-items:flex-start;gap:.85rem;width:fit-content;max-width:100%;font-size:.9rem;line-height:1.7;cursor:pointer}
.v3-contact-page .contact-consent input{flex:0 0 auto;width:18px;height:18px;margin:.25rem 0 0;accent-color:#1e1f1d}
.v3-contact-page .contact-consent input:focus-visible{outline:2px solid #514e49;outline-offset:3px}
.v3-contact-page .contact-consent .contact-field-error{color:#9b4037;font-size:.875rem;line-height:1.6;margin:.55rem 0 0 1.95rem}
.v3-contact-page .contact-consent .contact-field-error[hidden]{display:none}
.v3-contact-page .contact-privacy+.form-actions{margin-top:2.5rem}
.contact-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:700px){
 .v3-contact-page .contact-privacy{margin-top:2.3rem}
 .v3-contact-page .contact-privacy>p{font-size:.88rem;line-height:1.8}
 .v3-contact-page .contact-privacy-link{font-size:.86rem;gap:.65rem}
 .v3-contact-page .contact-consent{margin-top:1.7rem}
 .v3-contact-page .contact-consent label{font-size:.88rem}
 .v3-contact-page .contact-privacy+.form-actions{margin-top:2.2rem}
}
