﻿@media(max-width: 767px) {
    .header {
        padding-right: 1rem
    }
}

@media(min-width: 768px) {
    .header {
        background: #fff;
        border-bottom: 1px solid #a5a5a5
    }
}

.header .to-top {
    width: 8rem;
    color: #005bac;
    font-size: 1.5rem;
    text-align: center;
    line-height: 2.5rem;
    background: #fff;
    border-radius: 10rem;
    border: 2px solid #005bac
}

@media(min-width: 768px) {
    .header .to-top {
        width: 14rem;
        transition: .3s;
        font-size: 1.8rem;
        line-height: 4.6rem
    }

    .header .to-top:hover {
        color: #fff;
        background: #005bac
    }
}

.under-mv {
    margin: 9rem 0 3rem
}

@media(min-width: 768px) {
    .under-mv {
        margin: 17rem 0 6rem
    }
}

.under-mv .head-txt_size40 {
    margin-top: 1rem;
    font-weight: bold
}

.under-mv p:last-child {
    margin-top: 2rem
}

@media(min-width: 768px) {
    .under-mv p:last-child {
        margin-top: 5rem;
        text-align: center
    }
}

#form {
    padding-bottom: 5rem
}

@media(min-width: 768px) {
    #form {
        padding-bottom: 10rem
    }
}

@media(min-width: 768px) {
    #form .container {
        max-width: 91.4rem
    }
}

#form .error-txt {
    display: none;
    margin-top: .3em;
    color: red
}

#form .error-txt.show {
    display: block
}

#form .error-txt.show+.error-txt.show {
    display: none
}

#form .input-area:not(.show) {
    display: none
}

#form .input-area .input_item {
    margin-top: 3rem;
    font-size: 1.6rem
}

@media(min-width: 768px) {
    #form .input-area .input_item {
        display: flex;
        justify-content: space-between;
        margin-top: 3.5rem;
        font-size: 1.8rem
    }
}

#form .input-area .input_item .input_label {
    display: flex;
    align-items: center;
    font-weight: bold
}

@media(max-width: 767px) {
    #form .input-area .input_item .input_label {
        margin-bottom: .8rem
    }
}

@media(min-width: 768px) {
    #form .input-area .input_item .input_label {
        width: 24rem;
        height: 7.08rem
    }
}

#form .input-area .input_item .input_label.required::after {
    display: block;
    content: "必須";
    margin-left: 1em;
    padding: 0 .5em .1em;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.5;
    background: #005bac
}

@media(min-width: 768px) {
    #form .input-area .input_item .input_label.required::after {
        font-size: 1.4rem
    }
}

#form .input-area .input_item .input_field {
    font-size: 1.6rem
}

@media(min-width: 768px) {
    #form .input-area .input_item .input_field {
        width: calc(100% - 24rem);
        font-size: 18px
    }
}

#form .input-area .input_item .input_field input[type=text],
#form .input-area .input_item .input_field input[type=email],
#form .input-area .input_item .input_field input[type=tel],
#form .input-area .input_item .input_field input[type=date],
#form .input-area .input_item .input_field select,
#form .input-area .input_item .input_field textarea {
    display: block;
    width: 100%;
    padding: 1.5rem;
    line-height: 1.6;
    background-color: #e5f0f6;
    border: 1px solid #686868;
    border-radius: .7rem
}

@media(min-width: 768px) {

    #form .input-area .input_item .input_field input[type=text],
    #form .input-area .input_item .input_field input[type=email],
    #form .input-area .input_item .input_field input[type=tel],
    #form .input-area .input_item .input_field input[type=date],
    #form .input-area .input_item .input_field select,
    #form .input-area .input_item .input_field textarea {
        padding: 2rem
    }
}

#form .input-area .input_item .input_field input[type=text]::placeholder,
#form .input-area .input_item .input_field input[type=email]::placeholder,
#form .input-area .input_item .input_field input[type=tel]::placeholder,
#form .input-area .input_item .input_field input[type=date]::placeholder,
#form .input-area .input_item .input_field select::placeholder,
#form .input-area .input_item .input_field textarea::placeholder {
    color: #8e8e8e
}

#form .input-area .input_item .input_field textarea {
    height: 25rem
}

@media(min-width: 768px) {
    #form .input-area .input_item .input_field textarea {
        height: 40rem
    }
}

#form .input-area .privacy {
    margin-top: 3rem
}

@media(min-width: 768px) {
    #form .input-area .privacy {
        margin-top: 5rem
    }
}

#form .input-area .privacy>p {
    text-align: center
}

#form .input-area .privacy>p a {
    display: inline;
    color: #005bac;
    text-decoration: underline
}

#form .input-area .privacy_check {
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    margin: 0 auto;
    font-size: 1.6rem
}

@media(min-width: 768px) {
    #form .input-area .privacy_check {
        font-size: 2rem
    }
}

#form .input-area .privacy_check input[type=checkbox] {
    display: none
}

#form .input-area .privacy_check input[type=checkbox]:checked+label::after {
    display: block;
    content: "";
    position: absolute;
    top: .3em;
    left: .15em;
    width: 1em;
    height: 1em;
    background: url(../img/contact/checkbox.svg) no-repeat center/100%
}

#form .input-area .privacy_check label {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-top: 2rem;
    cursor: pointer
}

#form .input-area .privacy_check label::before {
    display: block;
    content: "";
    width: 1.2em;
    height: 1.2em;
    margin-right: .5em;
    border: 1px solid #a9a9a9;
    border-radius: .2rem
}

#form .input-area .recaptcha {
    margin-top: 3rem
}

@media(min-width: 768px) {
    #form .input-area .recaptcha {
        margin-top: 5rem
    }
}

#form .input-area .confirm-btn {
    margin-top: 3rem
}

@media(min-width: 768px) {
    #form .input-area .confirm-btn {
        margin-top: 5rem
    }
}

#form .confirm-area:not(.show) {
    display: none
}

#form .confirm-area .confirm_item {
    margin-top: 3rem;
    font-size: 1.6rem
}

@media(min-width: 768px) {
    #form .confirm-area .confirm_item {
        display: flex;
        justify-content: space-between;
        margin-top: 6.5rem;
        font-size: 1.8rem
    }
}

#form .confirm-area .confirm_item .confirm_label {
    display: flex;
    align-items: center;
    font-weight: bold
}

@media(max-width: 767px) {
    #form .confirm-area .confirm_item .confirm_label {
        margin-bottom: .8rem
    }
}

@media(min-width: 768px) {
    #form .confirm-area .confirm_item .confirm_label {
        width: 24rem;
        height: 2.88rem
    }
}

#form .confirm-area .confirm_item .confirm_label.required::after {
    display: block;
    content: "必須";
    margin-left: 1em;
    padding: 0 .5em .1em;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.5;
    background: #005bac
}

@media(min-width: 768px) {
    #form .confirm-area .confirm_item .confirm_label.required::after {
        font-size: 1.4rem
    }
}

#form .confirm-area .confirm_item .confirm_field {
    font-size: 1.6rem
}

@media(min-width: 768px) {
    #form .confirm-area .confirm_item .confirm_field {
        width: calc(100% - 24rem);
        font-size: 18px
    }
}

#form .confirm-area .submit {
    margin: 4rem auto 2rem
}

@media(min-width: 768px) {
    #form .confirm-area .submit {
        margin: 8rem auto 4rem
    }
}

#form .submit {
    display: block;
    width: 20rem;
    margin: 0 auto;
    padding-left: .05em;
    color: #005bac;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: .05em;
    line-height: 4rem;
    background: #fff;
    border-radius: 10rem;
    border: .2rem solid #005bac;
    cursor: pointer
}

@media(min-width: 768px) {
    #form .submit {
        width: 25rem;
        font-size: 1.8rem;
        line-height: 5.4rem;
        border-width: .3rem;
        transition: .3s
    }

    #form .submit:hover {
        color: #fff;
        background-color: #005bac
    }
}

.back-btn {
    display: block;
    width: 20rem;
    margin: 0 auto;
    padding-left: .05em;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: .05em;
    line-height: 4.6rem;
    background: #c7cde0;
    border-radius: 10rem;
    cursor: pointer
}

@media(min-width: 768px) {
    .back-btn {
        width: 25rem;
        font-size: 1.8rem;
        line-height: 6rem;
        transition: background-color .3s
    }

    .back-btn:hover {
        background: #949cb6
    }
}

.thanks-cnt {
    margin-bottom: 5rem;
    text-align: center
}

@media(min-width: 768px) {
    .thanks-cnt {
        margin-bottom: 10rem
    }
}

.thanks-cnt .title {
    margin: 3rem 0;
    font-size: 2rem
}

@media(min-width: 768px) {
    .thanks-cnt .title {
        margin: 6rem 0;
        font-size: 2.4rem
    }
}

.thanks-cnt .back-btn {
    margin-top: 3rem
}

@media(min-width: 768px) {
    .thanks-cnt .back-btn {
        margin-top: 6rem
    }
}