header {
    position: relative !important;
    z-index: 0 !important;
}
main {
    margin-top: 0 !important;
}

button {
    cursor: pointer;
}

.contact-container {
    padding: 0 8.48vw;
}
@media only screen and (max-width:560px) {
    .policy_container {
        padding: 0px 5.917vw;
    }
}

.contact-container h1 {
    font-size: 4.3vw;
    text-align: center;
}
@media only screen and (max-width:560px) {
    .contact-container h1 {
        font-size: 7.0vw;
    }
}

.contact-container table {
    width: 100%;
    border-collapse:collapse;
    border: 1px solid #C2C1C1;
}
.contact-container table tr {
    border-top: 1px solid #C2C1C1;
}
.contact-container table tr:first-child {
    border-top: none;
}
.contact-container table tr:last-child {
    border-bottom: 1px solid #C2C1C1;
}
.contact-container table .no-border {
    border-top: 1px solid #F1F1F1;
}
@media only screen and (max-width:560px) {
    .contact-container table {
        border: none;
    }
    .contact-container table tr {
        border: none;
    }
    .contact-container table tr:last-child {
        border-bottom: none;
    }
}

.contact-container table th {
    position: relative;
    font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP";
    width: 33%;
    font-size: 1.6vw;
    background-color: #F1F1F1;
    text-align: left;
    padding: 20px;
}
.contact-container table th span.required {
    position: absolute;
    right: 15px;
    font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP";
    background-color: #9D2125;
    font-size: 1.4vw;
    padding: 5px 5px 5px 10px;
    color: #FFF;
    font-weight: normal;
    letter-spacing: 5px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}
@media only screen and (max-width:560px) {
    .contact-container table th {
        background-color: transparent;
        padding: 0;
    }
    .contact-container table th > div {
        width: 100%;
        display: flex;
        align-items: center;
    }

    .contact-container table th span {
        display: inline-block;
        font-size: 4.614vw;
        font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP";
        margin-right: 2.126vw;
        text-align: left;
    }
    .contact-container table th span.required {
        display: inline-block;
        position: relative;
        font-size: 2.325vw;
        right: initial;
        transform: initial;
        -webkit-transform: initial;
    }
    .contact-container table th span:last-of-type {
        display: inline-block;
        font-size: 2.285vw;
    }
}
.contact-container table td {
    position: relative;
    width: 33%;
    background-color: #FFF;
    padding: 20px;
}
@media only screen and (max-width:560px) {
    .contact-container table td {
        width: 100%;
        padding: 2.5vw 0;
        padding-bottom: 5vw;
        background-color: transparent;
    }
    .contact-container table tr:last-child td {
        padding-bottom: 0;
    }
    .contact-container table td.left {
        width: 50%;
        padding-right: 1.7vw;
    }
    .contact-container table td.right {
        width: 50%;
        padding-left: 1.7vw;
    }
}
.contact-container table td.with-label {
    width: 33%;
    background-color: #FFF;
    padding: 20px 10px 20px 5vw;
}

.contact-container table td span {
    font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP";
    font-size: 1.4vw;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);

}
.contact-container table td span:first-child {
    left: 10px;
}
.contact-container table td span:last-child {
    right: 10px;
}
.contact-container table td input,
.contact-container table td select,
.contact-container table td textarea {
    font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP" !important;
    width: 100%;
    font-size: 1.4vw;
    border: 1px solid #C2C1C1;
    border-radius: 5px;
    padding: 5px 5px;
}
@media only screen and (max-width:560px) {
    .contact-container table td input,
    .contact-container table td select,
    .contact-container table td textarea {
        font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP" !important;
        width: 100%;
        height: 8.75vw;
        font-size: 3.0vw;
        border: 1px solid #C2C1C1;
        border-radius: 1.7vw;
        padding: 5px 5px;
    }
    
    .contact-container table td textarea {
        height: initial;
    }
    .contact-container table td.multi {
        line-height: 10.5vw
    }
}


.contact-container table td select.w-pref {
    width: 10vw !important;
}
.contact-container table td input.w-zip {
    width: 10vw !important;
}
.contact-container table td input.w-phone {
    width: 15vw !important;
}
.contact-container table td input.w-mail {
    width: 30vw !important;
}

.contact-container p {
    width: 100%;
    margin-top: 50px;
    margin-bottom: 0px;
    font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP" !important;
    font-size: 1.68vw;
    text-align: center;
}
.contact-container div {
    text-align: center;
}
.contact-container button {
    margin-top: 35px;
    font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP" !important;
    font-weight: normal;
    font-size: 2.0vw;
    color: #FFF;
    width: 23.3vw !important;
    height: 4.5vw !important;
    text-align: center;
    background-color: #9D2125;
    border: none;
    letter-spacing: 0.4vw;
}
.contact-container button.white {
    border: 1px solid #9D2125;
    color: #9D2125;
    background-color: #FFF;
    margin-right: 5.5vw;
}
@media only screen and (max-width:560px) {
    .contact-container p {
        margin-top: 3.2vw;
        font-size: 2.56vw;
    }
    .contact-container button {
        font-size: 4.448vw;
        width: 46.75vw !important;
        height: 8.6264vw !important;
    }
    .contact-container button.white {
        margin: 0;
        margin-top: 6.0vw;
    }
}

@media only screen and (min-width:561px) {
    .validation-container:first-of-type {
        display: block;
    }
    .validation-container:last-of-type {
        display: none;
    }
    .validation-container {
        border: 1px solid #C2C1C1;
        background-color: #F7E5E5;
        padding: 4.3vw 3.7vw;
        margin-bottom: 3.6vw;
    }
    .validation-container h3 {
        text-align: left;
        font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP" !important;
        color: #C30D23;
        font-size: 2.378vw;
    }
    .validation-container h3 img {
        width: 3.755vw;
        height: 3.27vw;
        margin-right: 1.2vw;
        vertical-align: text-bottom;
    }
    .validation-container ul {
        text-align: left;
        margin: 0;
        padding: 0;
        padding: 1.73vw 4.4vw;
        list-style: none;
    }
    .validation-container ul li {
        font-size: 2.072vw;
        font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP" !important;
        color: #C30D23;
        padding: 0.5vw 0vw;  
    }
    .validation-container ul li:before {
        content: '・';
        margin-right: 0.5em;
    }
}
@media only screen and (max-width:560px) {
    .validation-container:first-of-type {
        display: none;
    }
    .validation-container:last-of-type {
        display: flex;
    }
    .validation-container {
        border: 1px solid #C2C1C1;
        background-color: #F7E5E5;
        padding: 5.5vw 6.875vw;
        margin-bottom: 8.6vw;
        justify-content: space-between;
    }
    .validation-container div:first-child {
        flex-grow: 1;
    }
    .validation-container div:first-child img {
        width: 10.125vw;
        height: 10.125vw;
    }
    .validation-container div:last-child {
        flex-grow: 3;
        text-align: left;
        padding: 0 4vw;
        padding-right: 0vw;
    }
    .validation-container div:last-child h3 {
        text-align: left;
        font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP" !important;
        color: #C30D23;
        font-size: 4.90vw;
        line-height: 7.57vw;
        margin-top: -2.5vw;
        margin-bottom: 4vw;
    }
    .validation-container div:last-child ul {
        text-align: left;
        margin: -0.5vw;
        padding: 0;
        list-style: none;
    }
    .validation-container div:last-child ul li {
        font-size: 3.0vw;
        font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP" !important;
        color: #C30D23;
        padding: 0.5vw 0vw;  
    }
    .validation-container div:last-child ul li:before {
        content: '・';
        margin-right: 0em;
    }
    input,
    textarea,
    select,
    option {
        font-size: 16px !important;
    }
}


.thanks-container {
    border: 1px solid #C2C1C1;
    background-color: #FFF;
    padding: 4vw 4vw;
}
.thanks-container h3 {
    font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP" !important;
    font-size: 3.44vw;
    color: #6FBA2C;
}
.thanks-container p {
    margin-top: initial;
    line-height: 3.2vw;
}

.thanks-container button {
    font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP";
    border: 0;
    border-radius: 2vw;
    padding: 0.5vw 5vw 0.65vw 5vw;
    color: white;
    font-size: 1.6vw;
    background-color: #91425B;
    vertical-align: text-top;
}
@media only screen and (max-width:560px) {
    .thanks-container h3 {
        font-size: 4.90vw;
    }
    .thanks-container p {
        margin-top: initial;
        line-height: 4.8vw;
    }
    .thanks-container button {
        font-weight: normal;
        font-size: 3.6vw;
        border-radius: 5vw;
    }
    
}