#wrap.recruit_psychologist{
    padding-top: 84px;
}

#header{
    background-color: #ffffff;
}
#header .header_logo{
    width: 234px;
}
#header .header_logo a{
    color: rgba(0, 0, 0, 0);
    display: block;
    width: 234px;
    height: 84px;
    background-image: url(../img/recruit_logo.png);
    background-repeat: no-repeat;
    background-size: 234px 28px;
    background-position: center;
}

.section_title{
    font-family: sofia-pro, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 24px;
    padding-bottom: 30px;
    position: relative;
    margin-bottom: 40px;
}
    .section_title:before,
    .section_title:after {
        content: "";
        display: block;
        background-color: #0E2631;
        height: 6px;
        width: ;
        position: absolute;
        bottom: 0;
        border-radius: 3px;
    }
    .section_title:before {
        left: 0;
        width: 34px;
    }
    .section_title:after {
        left: 50px;
        width: 134px;
    }




/*
title_section
*/
.title_section{
    background-color: #2BB6A6;
    padding-top: 50px;
    padding-bottom: 50px;
}
    .title_section h2{
        color: #fff;
        font-size: 30px;
        font-weight: 600;
    }
    .title_section p{
        color: #fff;
        font-size: 16px;
        font-weight: 400;
        margin-top: 20px;
    }


/* 
Intro Section 
*/
.intro-section {
    padding: 70px 0px;
    position: relative;
    overflow: hidden;
}
    .intro-section-back{
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        background-image: url(../img/recruit_docter/mainvisual.jpeg);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        z-index: -1;
        opacity: 0.8;
    }
    .intro-section::before,
    .intro-section::after {
        content: '';
        position: absolute;
        border-radius: 50%;
        background: rgba(26, 188, 156, 0.15);
        z-index: 0;
    }
    .intro-section::before {
        width: 400px;
        height: 400px;
        top: -100px;
        right: -100px;
        animation: float 20s ease-in-out infinite;
    }
    .intro-section::after {
        width: 300px;
        height: 300px;
        bottom: -80px;
        left: -80px;
        animation: float 15s ease-in-out infinite reverse;
    }
    @keyframes float {
        0%, 100% {
            transform: translate(0, 0) scale(1);
        }
        50% {
            transform: translate(30px, -30px) scale(1.1);
        }
    }
    .intro-section .container {
        position: relative;
        z-index: 1;
    }
    .intro-title {
        color: #2BB6A6;
        font-size: clamp(18px, 4vw, 28px);
        line-height: 1.8;
        margin-bottom: 10px;
        font-weight: 700;
    }
    .intro-subtitle{
        color: #2BB6A6;
        font-size: clamp(15px, 3vw, 20px);
        line-height: 1.8;
        margin-bottom: 40px;
        font-weight: 600;
    }
    .intro-text {
        font-size: clamp(14px, 2.5vw, 16px);
        line-height: 2.5;
        margin-bottom: 15px;
    }


/*
purpose_emol_section
*/
.purpose_emol_section{
}
    .purpose_emol_message_area{
        background-color: #ECF0F4;
        padding-top: 80px;
        padding-bottom: 80px;
    }
        .purpose_emol_text-1,
        .purpose_emol_text-3{
            font-size: 17px;
            font-weight: 400;
            line-height: 38px;
        }
        .purpose_emol_text-2{
            font-size: 24px;
            font-weight: 700;
            line-height: 38px;
            margin: 25px auto;
        }
    .purpose_emol_howto_area{
        position: relative;
        text-align: center;
    }
        .purpose_emol_howto_background_img{
            background-color: #fff;
            position: absolute;
            width: 100%;
            height: 400px;
            background-image: url(../img/recruit_psychologist/purpose_emol_howto_background_img.jpeg);
            background-size: cover;
            background-repeat: no-repeat;
            background-position: center;
            opacity: 0.4;
        }
        .purpose_emol_howto_text_img{
            width: 90%;
            max-width: 821px;
            margin: 50px auto;
        }
        .purpose_emol_howto_box_wrap{
            overflow: hidden;
            padding-left: 50px;
            padding-right: 50px;
            padding-bottom: 100px;
        }
        [class^="purpose_emol_howto_box-"] {
            text-align: left;
            background-color: #fff;
            box-shadow: 0 10px 24px 0 rgba(0, 0, 0, 0.1);
            border-radius: 8px;
            width: calc(50% - 10px);
            padding: 50px 30px;
            min-height: 243px;
        }
        .purpose_emol_howto_box-left{
            float: left;
        }
        .purpose_emol_howto_box-right{
            float: right;
        }
        .purpose_emol_howto_box_wrap h5{
            font-size: 17px;
            font-weight: 600;
        }
        .purpose_emol_howto_box_wrap h4{
            color: #2BB6A6;
            font-size: 26px;
            font-weight: 700;
            margin: 15px auto 20px;
        }
        .purpose_emol_howto_box_wrap p{
            font-size: 16px;
            line-height: 32px;
        }


/*
work_merits_section
*/
.work_merits_section{
    padding-bottom: 80px;
}
    .work_merits_list{
        text-align: center;
    }
    .work_merits_list li{
        display: inline-block;
        border-radius: 8px;
        border: 4px solid #2BB6A6;
        padding: 36px 10px;
        width: calc(33% - 14px);
        margin-left: 20px;
    }
    .work_merits_list li:first-child{
        margin-left: 0px;
    }
    .work_merits_list li h4{
        font-size: 30px;
        font-weight: 700;
        color: #2BB6A6;
    }
    .work_merits_list li p{
        line-height: 30px;
        font-size: 18px;
        font-weight: 400;
        margin-top: 20px;
    }


/*
Consultation Section 
*/
.consultation-section {
    background-color: #ECF0F4;
    padding: 40px 20px;
}
    .consultation-title {
        text-align: center;
/*        color: #ffffff;*/
        font-size: clamp(20px, 4vw, 28px);
        margin-bottom: 40px;
        font-weight: 700;
        line-height: 1.5;
    }
    .consultation-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 30px;
        max-width: 1000px;
        margin: 0 auto;
    }
    .consultation-card {
        background: white;
        border-radius: 8px;
        overflow: hidden;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    .consultation-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 8px 25px rgba(0,0,0,0.15);
    }
    .consultation-card-header {
        background: #0E2631;
        color: white;
        padding: 15px;
        text-align: center;
        font-family: 'GenJyuuGothic-P-Medium';
        font-size: clamp(15px, 3vw, 18px);
        transition: background 0.3s ease;
    }
    .consultation-card:hover .consultation-card-header {
        background: #34495e;
    }
    .consultation-card-image {
        width: 100%;
        height: 200px;
        background: linear-gradient(135deg, #e0e0e0 0%, #f5f5f5 100%);
        position: relative;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
    }
    .consultation-card-image-1{
        background-image: url(../img/recruit_docter/consultation-image-1.jpeg);
    }
    .consultation-card-image-2{
        background-image: url(../img/recruit_docter/consultation-image-2.jpeg);
    }
    .consultation-card-body {
        padding: 20px;
    }
    .consultation-card-body ul {
        list-style: none;
        padding-left: 0;
    }
    .consultation-card-body li {
        padding-left: 20px;
        position: relative;
        margin-bottom: 10px;
        font-size: clamp(14px, 2.5vw, 15px);
        font-weight: bold;
        line-height: 1.8;
    }
    .consultation-card-body li:before {
        content: "・";
        position: absolute;
        left: 0;
    }


/*
support_system_section
*/
.support_system_section{
    background-color: #ECF0F4;
    padding-top: 80px;
    padding-bottom: 80px;
}
    .support_system_box_wrap{
        overflow: hidden;
    }
    [class^="support_system_box-"] {
        text-align: left;
        width: calc(50% - 40px);
    }
    .support_system_box-left{
        float: left;
    }
    .support_system_box-right{
        float: right;
    }
    [class^="support_system_box-"] h3{
        background-color: #0E2631;
        display: block;
        width: 100%;
        height: 70px;
        line-height: 70px;
        font-size: 30px;
        font-weight: 600;
        border-radius: 35px;
        color: #fff;
        text-align: center;
    }
    [class^="support_system_box-"] > p{
        line-height: 32px;
        font-size: 16px;
        font-weight: 400;
        margin-top: 30px;
    }
    .support_system_detail_box{
        background-color: #fff;
        border-radius: 8px;
        padding: 40px;
        margin-top: 30px;
        min-height: 428px;
    }
    .support_system_detail_box h4{
        font-size: 18px;
        font-weight: 600;
    }
    .support_system_detail_list{
        margin-top: 10px;
    }
    .support_system_detail_list li{
        position: relative;
        padding-left: 40px;
        font-size: 18px;
        line-height: 30px;
        margin-top: 28px;
    }
    .support_system_detail_list li:before{
        content: "";
        display: block;
        background-image: url(../img/recruit_docter/icon_checkbox.png);
        background-size: 24px 22px;
        background-repeat: no-repeat;
        background-position: center;
        width: 24px;
        height: 22px;
        top: 0;
        bottom: 0;
        margin: auto;
        left: 0;
        position: absolute;
    }
    .support_system_detail_box p{
        font-size: 16px;
        line-height: 28px;
        margin-top: 5px;
        margin-bottom: 20px;
        padding-left: 10px;
    }
    .support_system_detail_box p:last-child{
        margin-bottom: 0px;
    }


/*
application_section
*/
.application_section{
    background-color: #2BB6A6;
    padding-top: 60px;
    padding-bottom: 60px;
}
    .application_box{
        border-radius: 8px;
        background-color: #fff;
        padding: 50px;
        margin: 20px 80px;
        overflow: hidden;
        text-align: center;
    }
    .application_title{
        font-weight: 600;
        font-style: normal;
        font-size: 24px;
        padding-bottom: 30px;
        position: relative;
        margin-bottom: 40px;
        text-align: center;
    }
    .application_title:before{
        content: "";
        display: block;
        background-color: #0E2631;
        height: 6px;
        width: ;
        position: absolute;
        bottom: 0;
        border-radius: 3px;
        width: 80px;
        left: 0;
        right: 0;
        margin: auto;
    }
    [class^="application_work_type_box-"] {
        border-radius: 8px;
        border: 2px solid #0E2631;
        padding: 35px 30px;
        width: calc(50% - 15px);
        min-height: 645px;
        text-align: left;
    }
    .application_work_type_box-left{
        float: left;
    }
    .application_work_type_box-right{
        float: right;
    }
    [class^="application_work_type_box-"] h4{
        font-size: clamp(22px, 3vw, 28px);
        font-weight: 600;
    }
    [class^="application_work_type_box-"] span{
        font-size: clamp(15px, 2.5vw, 20px);
        font-weight: 500;
    }
    [class^="application_work_type_box-"] h5{
        background-color: #0E2631;
        display: block;
        width: 120px;
        height: 36px;
        line-height: 36px;
        font-size: 15px;
        font-weight: 500;
        border-radius: 18px;
        color: #fff;
        text-align: center;
        margin-top: 30px;
    }
    .compatibility_box{
        text-align: center;
    }
    .compatibility_list{
        display: inline-block;
        text-align: left;
        margin-top: 15px;
    }
    .compatibility_list li{
        background-image: url(../img/recruit_docter/icon_checkbox.png);
        background-size: 24px 24px;
        background-repeat: no-repeat;
        background-position: left top;
        padding-left: 34px;
        list-style-position: inside;
        font-size: clamp(17px, 2vw, 20px);
        font-weight: 500;
        line-height: 24px;
        margin-bottom: 24px;
    }
    .compatibility_list li:last-child{
        margin-bottom: 0;
    }
    .application_work_type_list{
        margin-top: 15px;
    }
    .application_work_type_list li{
        list-style: disc;
        padding-left: 15px;
        list-style-position: inside;
        font-size: clamp(14px, 2vw, 15px);
        line-height: 20px;
        margin-top: 10px;
    }
    .step_list{
        display: inline-block;
        margin: auto;
    }
    .step_list li{
        text-align: left;
        height: 17px;
        position: relative;
        font-size: 18px;
        font-weight: 600;
        padding-left: 90px;
        margin-bottom: 45px;
    }
    .step_list li:last-child{
        margin-bottom: 0;
    }
    .step_list li:before{
        content: "";
        display: block;
        background-size: auto 17px;
        background-repeat: no-repeat;
        background-position: left center;
        width: 80px;
        height: 20px;
        top: 0;
        bottom: 0;
        margin: auto;
        left: 0;
        position: absolute;
    }
    .step_list li:nth-child(1):before{
        background-image: url(../img/recruit_psychologist/step_img-1.png);
    }
    .step_list li:nth-child(2):before{
        background-image: url(../img/recruit_psychologist/step_img-2.png);
    }
    .step_list li:nth-child(3):before{
        background-image: url(../img/recruit_psychologist/step_img-3.png);
    }
    .step_list li:nth-child(4):before{
        background-image: url(../img/recruit_psychologist/step_img-4.png);
    }
    .step_list li:after{
        content: "";
        display: block;
        background-image: url(../img/recruit_psychologist/arrow_down_img.png);
        background-size: 20px 25px;
        background-repeat: no-repeat;
        background-position: center;
        width: 20px;
        height: 25px;
        bottom: -35px;
        left: 28px;
        position: absolute;
    }
    .step_list li:last-child:after{
        display: none;
    }
    .application_text{
        font-size: 16px;
        font-weight: 500;
        margin-bottom: 30px;
    }
    .application_btn{
        background-color: #0E2631;
        display: block;
        width: 90%;
        max-width: 800px;
        height: 80px;
        line-height: 80px;
        font-size: 30px;
        font-weight: 600;
        border-radius: 40px;
        color: #fff;
        text-align: center;
        margin: auto;
    }






/*============================

SP

============================*/
@media screen and (max-width: 768px) {

#wrap.recruit_psychologist{
    padding-top: 60px;
}

#header .header_logo{
    width: 46%;
}
#header .header_logo a{
    width: 100%;
    background-size: 100%;
    height: 60px;
}
    .heaader_menu_btn_bar{
        background-color: #0E2631;
    }
    .heaader_menu_btn:after,
    .heaader_menu_btn:before{
        background-color: #0E2631;
    }

/*
section_title
*/
.section_title {
    font-size: 24px;
    padding-bottom: 20px;
    margin-bottom: 30px;
}

/*
title_section
*/
.title_section{
    padding-top: 30px;
    padding-bottom: 30px;
}
    .title_section h2{
        font-size: 20px;
        line-height: 30px;
    }
    .title_section p{
        font-size: 11px;
        line-height: 16px;
        margin-top: 10px;
    }


/*
intro-section 
*/
.intro-section{
    padding-top: 50px;
    padding-bottom: 50px;
} 
    .intro-section::before {
        width:250px;
        height: 350px;
        top: -100px;
        right: -100px;
    }
    .intro-section::after {
        width: 200px;
        height: 200px;
        bottom: -80px;
        left: -80px;
    }
    .intro-title {
        font-size: clamp(24px, 4vw, 28px);
        line-height: 1.7;
        margin-bottom: 36px;
        font-weight: 700;
        max-width: 360px;
    }
    .intro-subtitle{
        display: none;
    }
    .intro-text {
        font-size: clamp(15px, 2.5vw, 16px);
        line-height: 2.0;
        margin-bottom: 0px;
        font-weight: 400;
    }
    .intro-text br{
        display: none;
    }



/*
lead_message_section
*/
.lead_message_section{
}
    .lead_message_section p{
        font-size: 18px;
        font-weight: 600;
        letter-spacing: 0px;
        line-height: 40px;
        padding-top: 50px;
        padding-bottom: 270px;
    }
        .lead_message_background_circle-1{
            width: 300px;
            height: 300px;
            left: -50px;
            top: -100px;
        }
        .lead_message_background_circle-2{
            width: 250px;
            height: 250px;
            left: -50px;
            right: inherit;
            margin: auto;
            bottom: -50px;
        }
        .lead_message_background_circle-3{
            width: 200px;
            height: 200px;
            right: -50px;
            top: 150px;
        }
    .lead_message_img{
        right: -30px;
        top: inherit;
        bottom: -20px;
        height: 350px;
        width: 350px;
    }


/*
about_emol_counseling_section
*/
.about_emol_counseling_section{
    padding-top: 60px;
    padding-bottom: 60px;
}
    .about_emol_counseling_section p{
        font-size: 15px;
        font-weight: 400;
        line-height: 30px;
    }


/*
purpose_emol_section
*/
.purpose_emol_section{
}
    .purpose_emol_message_area{
        padding-top: 50px;
        padding-bottom: 50px;
    }
        .purpose_emol_text-1,
        .purpose_emol_text-3{
            font-size: 14px;
            font-weight: 400;
            line-height: 28px;
        }
        .purpose_emol_text-2{
            font-size: 18px;
            line-height: 30px;
            margin: 16px auto;
        }
    .purpose_emol_howto_area{
    }
        .purpose_emol_howto_background_img{
            width: 100%;
            height: 300px;
        }
        .purpose_emol_howto_text_img{
            width: 100%;
            margin: 50px auto;
        }
        .purpose_emol_howto_box_wrap{
            overflow: hidden;
            padding-left: 0px;
            padding-right: 0px;
            padding-bottom: 50px;
        }
        [class^="purpose_emol_howto_box-"] {
            background-color: #e3f5f2;
            width: 100%;
            padding: 30px 20px;
            min-height: inherit;
            box-shadow: inherit;
        }
        .purpose_emol_howto_box-left{
            float: inherit;
        }
        .purpose_emol_howto_box-right{
            float: inherit;
            margin-top: 15px;
        }
        .purpose_emol_howto_box_wrap h5{
            font-size: 15px;
            font-weight: 600;
            line-height: 22px;
        }
        .purpose_emol_howto_box_wrap h4{
            font-size: 24px;
            font-weight: 700;
            margin: 15px auto 20px;
        }
        .purpose_emol_howto_box_wrap p{
            font-size: 15px;
            line-height: 22px;
        }


/*
work_merits_section
*/
.work_merits_section{
    padding-bottom: 40px;
}
    .work_merits_list li{
        display: block;
        padding: 22px 15px 18px;
        width: 100%;
        margin-left: 0px;
        margin-bottom: 15px;
    }
    .work_merits_list li:last-child{
        margin-bottom: 0px;
    }
    .work_merits_list li h4{
        font-size: 24px;
    }
    .work_merits_list li p{
        line-height: 22px;
        font-size: 15px;
        margin-top: 10px;
    }


/*consultation-section*/
.consultation-section{

}
    .consultation-card-body {
        padding: 20px 20px 15px;
    }
    .consultation-card-body li {
        padding-left: 20px;
        margin-bottom: 8px;
        font-size: clamp(14px, 2.5vw, 15px);
        line-height: 1.6;
    }

/*
support_system_section
*/
.support_system_section{
    padding-top: 50px;
    padding-bottom: 60px;
}
    [class^="support_system_box-"] {
        text-align: left;
        width: 100%;
    }
    .support_system_box-left{
        float: inherit;
    }
    .support_system_box-right{
        float: inherit;
        margin-top: 30px;
    }
    [class^="support_system_box-"] h3{
        background-color: #0E2631;
        width: 100%;
        height: 60px;
        line-height: 60px;
        font-size: 24px;
        font-weight: 600;
        border-radius: 30px;
    }
    [class^="support_system_box-"] > p{
        line-height: 22px;
        font-size: 15px;
        font-weight: 400;
        margin-top: 20px;
    }
    .support_system_detail_box{
        padding: 25px 20px;
        margin-top: 20px;
        min-height: inherit;
    }
    .support_system_detail_box h4{
        font-size: 17px;
        font-weight: 600;
    }
    .support_system_detail_list{
        margin-top: 10px;
    }
    .support_system_detail_list li{
        padding-left: 40px;
        font-size: 16px;
        line-height: 24px;
        margin-top: 15px;
    }
    .support_system_detail_box p{
        font-size: 15px;
        line-height: 24px;
        margin-top: 5px;
        margin-bottom: 20px;
        padding-left: 10px;
    }
    .support_system_detail_box p:last-child{
        margin-bottom: 0px;
    }


/*
application_section
*/
.application_section{
    padding-top: 30px;
    padding-bottom: 30px;
}
    .compatibility_list li{
        margin-bottom: 18px;
    }
    .compatibility_list li:last-child{
        margin-bottom: 0px;
    }
    .application_box{
        padding: 30px 20px;
        margin: 20px 0px;
    }
    .application_title{
        margin-bottom: 30px;
    }
    [class^="application_work_type_box-"] {
        padding: 25px 15px;
        width: 100%;
        min-height: inherit;
    }
    .application_work_type_box-left{
        float: inherit;
    }
    .application_work_type_box-right{
        float: inherit;
        margin-top: 20px;
    }
    [class^="application_work_type_box-"] h4{
        font-size: 20px;
    }
    [class^="application_work_type_box-"] h5{
        margin-top: 15px;
        width: 100px;
        height: 30px;
        line-height: 30px;
        font-size: 14px;
        border-radius: 15px;
    }
    .application_work_type_list{
        margin-top: 10px;
    }
    .application_work_type_list li{
        padding-left: 10px;
        font-size: 14px;
        line-height: 18px;
        margin-top: 5px;
    }
    .step_list li{
        height: 15px;
        font-size: 15px;
        padding-left: 80px;
        margin-bottom: 40px;
    }
    .step_list li:last-child{
        margin-bottom: 0;
    }
    .step_list li:before{
        background-size: auto 15px;
        width: 80px;
        height: 20px;
    }
    .step_list li:after{
        background-size: 18px auto;
        width: 20px;
        height: 22px;
        bottom: -30px;
        left: 26px;
    }
    .step_list li:last-child:after{
        display: none;
    }
    .application_text{
        font-size: 15px;
        line-height: 22px;
        font-weight: 500;
        margin-bottom: 30px;
    }

}