@charset "UTF-8";

button, textarea, select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
div#mfp_hidden input {
    margin: 0 ;
}
div.mfp_thanks {
    padding: 0;
}
div.mfp_thanks p {
    line-height: 1.5;
}
form#mailformpro {
    padding: 0;
    display: table;
}
form#mailformpro dl dt {
    width: 30%;
    font-size: 16px;
    padding: 0;
    text-align: left;
    border-top: none;
    margin: 0px;
}
form#mailformpro dl dd {
    float: right;
    width: 70%;
    border-top: none;
    padding: 1em;
    font-size: 16px;
}
.must {
    display: inline-block;
    border: none;
    text-shadow: none;
    padding: 3px;
    font-size: 12px;
    color: #fff;
    float: none;
    border-radius: 0;
    box-shadow: none;
    background: red;
    margin: 0;
    line-height: 1;
}
form#mailformpro label {
    border-radius: 0;
    white-space: normal;
}
form#mailformpro label.mfp_checked {
    padding: 0;
    border: none;
    background: none;
    box-shadow: none;
}
form#mailformpro label.mfp_not_checked {
    padding: 0;
    border: none;
}
table#mfp_confirm_table tr.mfp_colored {
    background: none;
}
.mfp_colored {
    background: none;
}
.mfp_achroma {
    background: none;
}
.mfp_element_text,
.mfp_element_number,
.mfp_element_select-one,
.mfp_element_email,
.mfp_element_tel,
.mfp_element_textarea,
.mfp_element_date,
.mfp_element_password {
    border: solid 1px #CCC;
    border-radius: 0;
    box-shadow: none;
    padding: 0.5rem;
    margin: 0;
    vertical-align: middle;
}
form#mailformpro dl dd ul li,form#mailformpro dl dd ol li {
    margin: 0 0 1em 0;
    padding: 0;
    list-style: none;
}
.mfp_element_submit, .mfp_element_reset {
    border-radius: 0;
    padding: 0;
    border: none;
    background: none;
    text-shadow: none;
    font-size: 18px;
}
.mfp_element_submit:hover,.mfp_element_reset:hover {
    background: none;
    box-shadow: none;
    opacity: 0.8;
}
table#mfp_confirm_table tr th, table#mfp_confirm_table tr td {
    border: solid 1px #ccc;
}
.mfp.mfp_achroma {
    position: relative;
}
div.mfp_err {
    margin: 0;
    font-size: 16px;
    background: none;
    position: absolute;
    top: -3.5em;
    left: 0;
    padding: .5em 1em .4em;
    background-color: #f66;
    border: 1px solid #f66;
    border-radius: 5px;
    color: #fff;
}
div.mfp_err:after,
div.mfp_err:before {
    content: '';
    position: absolute;
    top: 100%;
    left: 15px;
    border: solid transparent;
}
div.mfp_err:after {
    margin-left: 1px;
    border-top-color: #f66;
    border-width: 7px;
}
div.mfp_err:before {
    border-top-color: #f00;
    border-width: 8px;
}

form#mailformpro dl {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
}
form#mailformpro dl dt,
form#mailformpro dl dd {
    float: none;
    font-size: 1.6rem;
    /*padding: 0 0 1rem 0;*/
    text-align: left;
}
form#mailformpro dl dt:nth-of-type(1),
form#mailformpro dl dd:nth-of-type(1) {
    border: none;
}
form#mailformpro dl dt {
    width: 20%;
    font-weight: bold;
    margin-top: 2rem;
}
form#mailformpro dl dd {
    position: relative;
}
form#mailformpro dl dt.mail_radio {
    margin-top: 0;
}
.mfp_element_text {
    width: 100%;
    padding: 2rem;
}
.mfp_element_email {
    padding: 2rem;
    width: 100%;
}
.mfp_element_select-one {
    width: 30%;
    padding: 2rem;
}
.mfp_element_tel {
    padding: 2rem;
}
.display_flex {
    display: flex;
}
form#mailformpro dl dt.mail_textarea {
    margin-top: 0;
}
#mfp_element_4,
form#mailformpro dl dd textarea {
    border: solid 1px #CCC !important;
    padding: 2rem;
    line-height: 1.6;
    width: 100%;
    border: none;
}
div.mfp_err {
    top: 0.5em;
    left: 2rem;
}
form#mailformpro dl dd textarea {
    height: 250px !important;
    width: 100% !important;
    font-size: 1rem;
}
form#mailformpro label.mfp_not_checked,form#mailformpro label.mfp_checked {
    display: inline-block;
    margin-right: 2rem;
    width: auto;
}
.mfp_element_submit:hover {
    opacity: 0.8;
    background: #000;
}
.mfp_element_all,.mfp_element_email {
    max-width: 100%;
    width: 100%;
    margin-bottom: 2rem;
}
.mfp_element_checkbox, .mfp_element_radio {
    width: auto;
    margin-bottom: 0.1rem;
}
.mfp_element_submit, .mfp_element_reset {
    background: url(../img/ic_arrow01.svg) 90% center no-repeat #ffe100;
    background-size: 10%;
    color: #444;
    padding: 2rem;
    width: 50%;
    margin: 0 auto;
    font-weight: bold;
}
.mfp_element_submit:hover, .mfp_element_reset:hover {
    background: url(../img/ic_arrow03.svg) 90% center no-repeat #ffe100;
    background-size: 10%;
    color: #fff;
    transition: .5s;
}
::placeholder{ /* Others */
    font-size: 1.2rem;
}
