#contact-form-container { color: #5e4e4a; font-family: "Zen Kaku Gothic New", sans-serif; }
#contact-form-container [hidden] { display: none !important; }
#contact-form .inquiry { width: 100%; table-layout: fixed; }
#contact-form .inquiry th { width: 32%; vertical-align: middle; }
#contact-form label { display: block; font-size: 16px; font-weight: 500; line-height: 1.8; }
#contact-form .contact-required, #contact-form .contact-optional { display: inline-block; margin-left: 10px; font-size: 13px; line-height: 1.6; }
#contact-form .contact-required { color: #9a4242; }
#contact-form .contact-optional { color: #716865; }
#contact-form input:not([type="hidden"]), #contact-form select, #contact-form textarea { width: 100%; min-width: 0; min-height: 48px; padding: 12px; border: 1px solid #cfc7c4; border-radius: 5px; background: #fff; color: #5e4e4a; font: inherit; font-size: 16px; line-height: 1.6; }
#contact-form textarea { resize: vertical; }
#contact-form select { appearance: auto; }
#contact-form .contact-weight { display: flex; align-items: center; gap: 10px; font-size: 16px; }
#contact-form .contact-weight input { max-width: 200px; }
#contact-form .contact-submit-wrap { margin: 28px 0 0; text-align: center; }
#contact-submit { display: inline-block; width: min(100%, 420px); min-height: 58px; padding: 16px 20px; border: 0; border-radius: 40px; background: #f69696; color: #362a27; font-family: inherit; font-size: 16px; font-weight: 700; line-height: 1.6; letter-spacing: .04em; text-transform: none; cursor: pointer; }
#contact-submit:hover { background: #f8aaaa; }
#contact-submit:disabled { opacity: .65; cursor: wait; }
#contact-error, #contact-form .contact-feedback { margin-top: 18px; padding: 14px 16px; border: 1px solid #bd7676; border-radius: 5px; background: #fff9f8; color: #873f3f; font-size: 16px; line-height: 1.8; }
#contact-status { min-height: 1.8em; margin: 12px 0 0; text-align: center; font-size: 14px; }
#contact-success { padding: 28px 20px; border: 1px solid #f69696; border-radius: 8px; background: #fff9f8; font-size: 16px; line-height: 2; scroll-margin-top: 32px; }
#contact-success p { margin: 0; }
#contact-success strong { font-size: 19px; }
@media (max-width: 767px) {
  #contact-form .inquiry, #contact-form .inquiry tbody, #contact-form .inquiry tr, #contact-form .inquiry th, #contact-form .inquiry td { display: block; width: 100%; }
  #contact-form .inquiry th { padding: 14px 0 5px; border: 0; text-align: left; }
  #contact-form .inquiry td { padding: 0 0 10px; border: 0; }
  #contact-form .inquiry tr { border: 0; }
}
