.formmail-table { display: table; table-layout: fixed; width: 100%; background: #fff; border-top: 2px solid #333; border-collapse: collapse; }
#vue-app .formmail-table .row { display: table-row; margin-right: 0; margin-left: 0; border-bottom: 1px solid #e5e5e5; }
.formmail-table .th { display: table-cell; vertical-align: middle; padding: 28px 30px 30px; width: 250px; font-size: 15px; color: #555555; font-weight: 500; word-break: keep-all; }
.formmail-table .td { display: table-cell; vertical-align: middle; padding: 10px 0; height: 80px; font-size: 15px; color: #555555; }
.formmail-table .td textarea { padding: 20px 14px; width: 100%; height: 200px; font-size: 15px; color: #555555; background-color: #fff; border: 1px solid #e5e5e5; }
.formmail-table .td select { padding-left: 14px; }
.formmail-table .td input[type="text"] { padding-left: 14px; }
.formmail-table .td input[type="text"],
.formmail-table .td select { max-width: 330px; width: 100%; height: 50px; font-size: 15px; background-color: #fff; border: 1px solid #e5e5e5; }
.formmail-table .td p { margin-top: 5px; color: #999999; }
.formmail-table .td b { padding-left: 10px; font-weight: 500; }
.formmail-table .birth-box-wrap { font-size: 0; }
.formmail-table .birth-box-wrap > select { margin-right: 15px; width: 100px; }
.formmail-table .radio { margin-right: 50px; }
.formmail-table .check { margin-right: 50px; }
.formmail-table .td .input-file { position: relative; padding-right: 110px; }
.formmail-table .td .input-file [type="file"] { position: absolute; width: 1px; height: 1px;clip: rect(0, 0, 0, 0); border: 0 none; }
.formmail-table .td .input-file .file-label{
    display: inline-block; vertical-align: top; position: absolute; top: 0; right: 0; padding: 0 25px; width: 110px; height: 50px; line-height: 50px;
    color: #fff; text-align: center; font-size: 15px; background: #555555; border: 1px solid #222;
}
.formmail-table .td .input-file .file-name { max-width: 100%; width: 100%; height: 50px; line-height: 50px; text-indent: 5px; border: 1px solid #ddd; }
.formmail-table .td .file-focus { outline: 1px dotted #d2310e; }

.agree-table__box{ overflow-x: hidden; overflow-y: auto; margin-bottom: 15px; padding: 15px; width: 100%; height: 250px; background: #fff; border: 1px solid #ddd; }

.formmail-agreement { margin-top: 35px; padding: 30px 15px; text-align: center; border: 5px solid rgba(42,141,220,.3); }
.formmail-agreement .check { vertical-align: middle; }
.formmail-agreement .button { vertical-align: middle; margin-left: 10px; padding: 2px; font-size: 15px; color: #2a8ddc; font-weight: 500; cursor: pointer; }

.formmail-buttons{
    display: -webkit-box; display: -ms-flexbox; display: flex;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;
    -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
    margin: 30px -5px 0; text-align: center;
}
.formmail-buttons .button { margin: 0 5px; width: 150px; font-size: 15px; height: 50px; }
/* .form-title { padding-bottom: 10px; line-height: 20px; font-size: 20px; color: #333333; font-weight: 500; border-bottom: 1px solid #aaaaaa; }
.form-title .check { float: right; }
.form-caption { display: block; margin-top: 10px; } */
@media (max-width: 1024px){
    .formmail-table .th { display: block; padding: 15px 0 5px; width: 100%; font-size: 14px; border-right: none !important; }
    .formmail-table .td { display: block; padding: 5px 0 15px; width: 100%; height: auto; font-size: 14px; }
    .formmail-table .td input[type="text"], .formmail-table .td select { max-width: none; height: 40px; font-size: 14px; }
    .formmail-table .td textarea { height: 150px; }
    .formmail-table .birth-box-wrap > select { margin-right: 5px; width: calc(33.33333% - 4px); }
    .formmail-table .birth-box-wrap > select:last-child { margin-right: 0; }

    .formmail-agreement { padding: 18px 15px; border-width: 2px; }
    .formmail-agreement .button { font-size: 12px; }

    .formmail-buttons { margin: 30px -2px 0; }
    .formmail-buttons .button { margin: 0 2px; height: 40px; font-size: 14px; }
}
