.mail-form .tbl_form, .mail-send, .tbl_form { width: 100%; }
.mail-form .tbl_form th, .tbl_form th { width: 25%; }
.mail-form input.txtbox, .mail-form textarea, .mail-form select {
    box-sizing: border-box;
    max-width: 100%;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.4;
}
.mail-form textarea { width: 100%; }
.mail-form .err_txt { margin-top: .5em; font-size: 14px; color: #a51919; }
.form-notice { border: 2px solid #a51919; padding: 1em; margin: 1em 0; background: #fff7f7; color: #6f1717; }
.form-notice ul { padding-left: 1.5em; }
.form-help { margin-top: .5em; font-size: 12px; line-height: 1.7; }
.form-options { border: 0; padding: 0; margin: 0; }
.form-options label { display: inline-block; margin: .25em .75em .25em 0; }
.form-trap, .form-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.form-confirm-value { overflow-wrap: anywhere; }
.btn_form button { padding: 10px 30px; margin: 1em 0; font-size: 16px; cursor: pointer; }
.mail-form input:focus-visible, .mail-form textarea:focus-visible, .mail-form select:focus-visible, .btn_form button:focus-visible { outline: 3px solid #326b98; outline-offset: 2px; }
@media screen and (min-width: 769px) {
    #contact .mail-form input.txtbox, #contact .mail-form select,
    #recruit .mail-form input.txtbox, #recruit .mail-form select {
        width: 100%;
        height: 36px;
        padding: 6px 8px;
        line-height: 1.4;
        vertical-align: middle;
    }
}
@media screen and (max-width: 767px) {
    .mail-form .tbl_form th, .tbl_form th { width: 100%; }
    .mail-form input.txtbox, .mail-form select { width: 100%; min-height: 40px; }
}
