@charset "utf-8";

.contact_link {
    color: #EAC36C;
}

.contact_link_img {
    width: 18px;
    vertical-align: text-top;
    margin-right: 10px;
}

.sub_mv img {
    margin-top: 75px;
    width: 100%;
    height: 250px;
    object-fit: cover;
}

/* .sub_mv {
    margin-top: 75px;
    position: relative;
    background-image: url(../image/04contact_main.jpeg);
    object-fit: cover;
    height: 250px;
    background-position-y: -260px;
} */

.contact.section {
    padding: 90px 0px;
}




.contact.container {
    max-width: 826px;
}

.contact_subtitle {
    font-size: 20px;
    letter-spacing: 0.05em;
    text-align: center;
}


.contact_btnarea {
    width: 90%;
    height: 20%;
    margin: 0 auto;
    justify-content: center;
    margin-top: 5em;
}


.contact_btn {
    position: relative;
    width: 300px;
    height: 80px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    padding: 1em 2em;
    font-size: 14px;
    position: relative;
}


.document_contact_btn {
    color: #FFF;
    background-color: #567088;
}

.document_contact_btn a {}

.counseling_contact_btn {

    color: #325277;
    background-color: #E8D274;
}

.document_contact_btn.contact_btn {
    margin-left: 7em;

}

.counseling_contact_icon {
    width: 25px;
    display: inline-block;
    position: absolute;
    top: 23px;
    left: 40px;
}



.document_contact_icon {
    width: 25px;
    position: absolute;
    top: 23px;
    left: 40px;
}

.yellow_circle {
    position: absolute;
    width: 17px;
    display: block;
    top: 32px;
    right: 29px;
}

.counseling_contact_btn::after {
    position: absolute;
    top: 50%;
    right: 2.5em;
    display: block;
    width: .5em;
    height: .5em;
    content: '';
    transform: translateY(-50%) rotate(-45deg);
    border: 2px solid #E8D274;
    border-top: 0;
    border-left: 0;
}

.document_contact_btn ::after {
    position: absolute;
    top: 50%;
    right: 2.5em;
    display: block;
    width: .5em;
    height: .5em;
    content: '';
    transform: translateY(-50%) rotate(-45deg);
    border: 2px solid #567088;
    border-top: 0;
    border-left: 0;
}

/* .contact_btn {
    transition: 0.4s;
} */

.contact_btn a {
    display: block;
}

.counseling_contact_btn:hover {
    background-color: #fad015;
}

.document_contact_btn:hover {
    background-color: #2B465C;
}

/* .contact_btn:hover {
    background-color: #2B465C;
} */


.message_img {
    border-radius: 20px;
    width: 300px;
    height: 200px;
    cursor: pointer;
    transition-duration: 0.3s;
}

.message_item {
    overflow: hidden;
    position: relative;
    background-color: #000;
    border-radius: 20px;
}

.contact_detail {
    text-align: center;
    align-items: center;
    justify-content: space-around;
    margin-left: 3em;
}

.contact_box {
    max-width: 95%;
    width: 900px;
    margin: 0 auto;
    justify-content: space-around;
    text-align: center;
    align-items: center;
    padding: 1em;
    border: 2px solid #dbeaf7;
    border-radius: 10px;
    margin-top: 100px;
}

.contact_box P {
    color: #325277;
}



.contact_text {
    font-size: 18px;
    font-weight: 500;
}

.contact_text::after {
    content: "00";
    display: block;
    width: 1px;
    height: 10px;
}



.tel_number {
    position: relative;
    font-size: 25px;
    font-weight: 500;
}

.tel_number_img {
    width: 14px;
    position: absolute;
    top: 0px;
    left: -30px;
}

.business_hour {
    font-size: 14px;
    margin-left: 2em;
}

.form.section {
    padding: 130px 0;
    background-color: #F2F7F8;
}

.form_container {
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
}

.form_text {
    flex-direction: column;
    align-items: center;
}

.form_mail_icon {
    display: block;
    width: 30px;
    align-items: center;
    text-align: center;
    justify-content: center;
}

.form_title {
    font-size: 18px;
    font-weight: bold;
    color: #325277;
    margin-top: 20px;
    font-weight: 500;
}

.form_detail {
    margin-top: 3em;
    font-size: 14px;
    color: #67655E;
    text-align: center;
    line-height: 2em;
}



.form_img {
    display: block;
    width: 100%;
    align-items: center;
    margin-top: 5em;
}

/* フォーム */

.contact_form {
    margin-top: 80px;
}

input[type='text'],
input[type='email'],
input[type='tel'],
textarea {
    width: 100%;
    padding: 0.5em;
    border: 1px solid #707070;
    background-color: #fff;
}

input[type='text']:focus,
input[type='email']:focus,
input[type='tel']:focus,
textarea:focus {
    background-color: #FAF4B0;
}

.label {
    display: block;
    font-size: 16px;
}

.form_parts {
    margin-bottom: 40px;
    line-height: normal;
}

.tel.form_parts {
    margin-bottom: 120px;
}

.form_parts span {
    font-size: 12px;
    display: inline-block;
    color: #FFF;
    background-color: #D50A38;
    padding: 0.06em 0.5em;
    margin-left: 1em;
    margin-bottom: 1.5em;
    text-align: center;
    vertical-align: text-top;
}

.form_comment {
    height: 20em;
}

.privacy_box {
    margin-top: 60px;
    padding: 1.8em 1.5em;
    border: 1px solid #707070;
}

.privacy_box strong {
    display: block;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
}

.privacy_text {
    margin-top: 20px;
}

.privacy_text P {
    font-size: 14px;
    line-height: normal;
}

.privacy_text span {
    color: #D50A38;
    text-decoration: underline;
    text-decoration-color: #D50A38;
    display: inline-block;
    text-underline-position: above;
}

.checkbox_area {
    display: flex;
    margin-top: 20px;
}

/* .privacy_chekbtn {
    display: flex;
    align-items: center;
} */

.checkbox_area p {
    font-size: 14px;
    margin-left: 2em;
}

.checkbox_area span {
    color: #D50A38;
}

.form_submit {
    margin-top: 70px;
}

.form_btn {
    width: 200px;
    font-size: 18px;
    color: #4E7898;
    background-color: #E8DF74;
    padding: 0.5em 1em;
    text-align: center;
    border-radius: 20px;
    transition: 0.4s;
}

.form_btn:hover {
    opacity: 0.5;
}


/* アクセス */
.access.section {
    background-color: #FFF;
    padding: 100px 0;
}

.access_container {
    width: 100%;
    margin: 0 auto;
    max-width: 890px;
}

.access_adress {
    justify-content: start;
    text-align: center;
    align-items: center;
}

.access_adress strong {
    display: inline-block;
    color: #325277;
    font-size: 16px;
    font-weight: 500;
    padding: 0.2em 0.6em;
    border: 1px solid #325277;
    /* margin-right: 2em;
    margin-top: 1em; */
}

.access_adress P {
    margin-left: 2em;
}

.map_place span {
    font-size: 14px;
}

.map_place {
    font-size: 18px;
    font-weight: 600;
}

.map_adress {
    font-size: 14px;
}

.map_hour {
    color: #4E7898;
    font-size: 14px;
}

.access_img {
    margin-top: 40px;
}



.access_btn {
    display: flex;
    display: block;
    text-align: end;
    font-size: 14px;
    position: relative;
    transition: 0.4s;
    margin-right: 2em;
    margin-top: 2em;
}

.access_btn:hover {
    opacity: 0.5;
}

.access_btn::after {
    position: absolute;
    top: 11px;
    right: -20px;
    display: block;
    width: .5em;
    height: .5em;
    content: '';
    transform: translateY(-50%) rotate(-45deg);
    border: 2px solid;
    border-top: 0;
    border-left: 0;
}

.access_btn::before {
    position: absolute;
    content: '';
    position: absolute;
    content: '';
    width: 9.3em;
    border: 1px solid #707070;
    bottom: -5px;
    right: -21px;
}


.contact_btnarea {
    align-items: center;
}



.contact_detail {
    align-items: center;
    text-align: center;
    margin-left: 0em;
}


/* .contact_box {
    align-items: center;
    text-align: center;
    justify-content: center;
    padding: 1em 0.5em;

} */

.business_hour {
    margin-left: 3em;
}

.contact_text::after {
    display: none;
}

.form_container {
    width: 80%;
}

/* .form_text {
    padding: 1em 1em;
} */



.font_img {
    width: 100px;
}

.checkbox_area {
    justify-content: center;
}

.checkbox_area p {
    margin-left: 0.5em;
}

.form_submit {
    text-align: center;
}




.address_detail {
    display: flex;
    margin-left: 1em;
}


.address_detail p {
    margin-left: 2em;
}

.access_img {
    text-align: center;
}


.map_img {
    width: 100%;
    height: 3 400px;
    object-fit: cover;
}



.access_btn {
    width: 100%;
}




/* スマホ */




@media (max-width: 880px) {
    .sub_mv {
        object-fit: cover;
        height: 300px;
        background-position-y: -304px;
        background-position-x: -170px;
    }





    .contact_text::after {
        display: none;
    }

    .access_adress {
        flex-direction: column;
        align-items: center;
        line-height: 2.5;
    }

    .access_adress P {
        margin-left: 0em;
    }

}

@media (max-width: 775px) {
    .document_contact_btn.contact_btn {
        margin-left: 4em;
    }

}

@media (max-width: 790px) {
    .contact_btn {
        width: 250px;
        height: 70px;
    }

    .document_contact_btn.contact_btn {
        margin-left: 3em;
    }

    .yellow_circle {
        position: absolute;
        top: 27px;
        right: 29px;
    }

}

@media (max-width: 690px) {
    .contact_text {
        font-size: 14px;
    }

    .tel_number {
        font-size: 20px;
    }

    .tel_number img {
        width: 13px;
        position: absolute;
        top: 0px;
        left: -20px;
    }

    .business_hour {
        font-size: 12px;
    }


    .contact_detail {
        margin-top: 0.2em;
    }
}

@media (max-width: 614px) {


    .contact_subtitle {
        font-size: 18px;
    }

    .section_titleWrap.tight {
        width: 70%;
    }



    .contact_btn {
        font-size: 12px;
        line-height: 1.5em;
    }

    .counseling_contact_icon {
        width: 20px;
        display: inline-block;
        position: absolute;
        top: 23px;
        left: 25px;
    }

    .document_contact_icon {
        width: 20px;
        position: absolute;
        top: 23px;
        left: 40px;

    }

    .yellow_circle {
        position: absolute;
        width: 17px;
        display: block;
        top: 27px;
        right: 23px;
    }


}

@media (max-width: 600px) {

    .contact_text::before,
    .contact_text::after {
        content: "\0274b";
        font-size: 12px;
        display: inline-block;
    }

    .contact_text::before {
        padding-right: 1em;
    }

    .contact_text::after {
        margin-left: 1em;
    }


    .contact_btnarea {
        flex-direction: column;
        justify-content: center;
    }

    .document_contact_btn.contact_btn {
        margin-top: 2em;
        margin-left: 0em;
    }

    .contact_btn {
        max-width: 400px;
        min-width: 200px;
    }

    .form_mail_icon {
        width: 25px;
    }

    .form_parts {
        margin-bottom: 25px;
    }

    .access_adress {
        line-height: 1.5em;
    }

}


@media (max-width: 555px) {
    .contact_box {
        flex-direction: column;
        padding: 0.5em;
    }

    .form_detail {
        font-size: 12px;
    }

    .privacy_text P {
        font-size: 12px;
    }

}



@media (max-width: 393px) {
    .contact_box {
        width: 90%;
    }

    .contact_detail {
        flex-direction: column;
        margin-top: 0.5em;
    }

    .business_hour {
        margin-left: 0em;
    }

    .business_hour {
        margin-top: 0.5em;
    }

    .tel_number img {
        width: 14px;
        position: absolute;
        top: 0px;
        left: -30px;
    }

    .contact_detail {
        margin-left: 1em;
    }

    .access_adress strong {
        font-size: 14px;
    }

    .form_btn {
        font-size: 14px;
    }

    .contact_subtitle {
        font-size: 16px;
    }

    .form_title {
        font-size: 16px;
    }

}