/* タイトル -----------------------------------*/
.area_title {
    width: 100%;
    height: calc(30rem - 8rem);
    font-size: 3.5rem;
    font-weight: 900;
    background-color: #172a88;
    color: #FFFFFF;
    padding: 0 12rem 0 12rem;
    margin-top: 8rem;
    display: flex;
    align-items: center;
    font-weight: 900;
}

.area_title::before {
    content: "";
    display: inline-block;
    width: 0.4rem;
    height: 11rem;
    background-color: #FFFFFF;
    margin-right: 4rem;
}


.service_area {
    padding-top: 7rem;
    padding-left: 12rem;
    padding-right: 12rem;
    padding-bottom: 17rem;
}

.service_area_item {
    margin-bottom: 10.7rem;
}

.service_title {
    display: flex;
    align-items: center;
    gap: 6rem;
}

.title_num {
    font-size: 10rem;
    font-weight: 500;
    line-height: calc(100 / 60);
    color: #172a88;
    font-family: var(--Alegreya);
}

.title_item {
    font-size: 3rem;
    font-weight: 900;
    line-height: calc(45 / 30);
}

.service_item_img {
    width: 28.58rem;
    height: 23rem;
    object-fit: contain;
    display: block;
    margin: 0 auto 2rem;
}

.service_text {
    font-size: 1.7rem;
    font-weight: 500;
    line-height: calc(30 / 17);
    margin-bottom: 4.8rem;
    text-align: center;
}

.service_item_area {
    background-color: #DBDCE5;
    padding: 6rem;
    margin-bottom: 3rem;
}

.service_item_text {
    font-size: 1.7rem;
    font-weight: 400;
    line-height: calc(35 / 17);
}

.service_item_text02 {
    font-size: 1.7rem;
    font-weight: 400;
    line-height: calc(35 / 17);
    margin-bottom: 4rem;
}

.service_text_blue {
    font-size: 2rem;
    font-weight: 700;
    color: #0D1250;
    line-height: calc(30 / 20);
    margin-bottom: 2rem;
}

.service_text_item {
    font-size: 1.7rem;
    font-weight: calc(17 / 30);
    font-weight: 500;
    margin-bottom: 1.2rem;
}

.last_text {
    margin-bottom: 4rem;
}

.school_text {
    color: #172a88;
    font-size: 4rem;
    font-weight: bold;
    line-height: calc(70 / 40);
    display: block;
    margin-top: 1.3rem;
    text-align: center;
    position: relative;

}

.school_text::after {
    content: "";
    width: 7.6rem;
    position: absolute;
    height: 0.3rem;
    left: 50%;
    background-color: #172a88;
    bottom: -0.5rem;
}

.school_img_text {
    display: flex;
    align-items: start;
    margin-top: 3.6rem;
}

.school_img {
    width: 34rem;
    height: 21.5rem;
    flex-shrink: 0;
}

.school_right_text {
    font-size: 1.7rem;
    font-weight: 400;
    line-height: calc(35 / 17);
    width: 59.2rem;
    margin-left: 4.5rem;
}

.fornt_btn_wrap {
    width: 23.4rem;
    border-radius: 4.4rem;
    color: #172a88;
    border: 0.1rem solid #707070;
    margin: 0 auto;
}

.fornt_btn_wrap a {
    display: block;
    width: 100%;
    padding: 2rem 6.2rem 2rem 2.8rem;
    font-size: 1.7rem;
    line-height: calc(24 / 17);
    font-weight: bold;
    position: relative;
}

.fornt_btn_wrap a::before {
    content: "";
    width: 5.5rem;
    height: 5.5rem;
    background-color: #172a88;
    border: 0.1rem solid #172a88;
    border-radius: 10rem;
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    transition: .5s;
}

.fornt_btn_wrap a::after {
    content: "→";
    color: #FFFFFF;
    font-size: 2rem;
    position: absolute;
    top: 1.7rem;
    right: 2.3rem;
}

@media screen and (max-width: 699.98px) {

    .area_title {
        font-size: 2.2rem;
        padding-left: 4.5rem;
        padding-right: 4.5rem;
        height: 14rem;
    }

    .area_title::before {
        height: 5.2rem;
        margin-right: 1.9rem;
    }

    .service_area {
        padding-top: 4.8rem;
        padding-left: 2rem;
        padding-right: 2rem;
        padding-bottom: 10rem;
    }

    .service_title {
        flex-direction: column;
        align-items: start;
        gap: 0.5rem;
    }

    .title_item {
        font-size: 1.8rem;
        text-align: center;
        white-space: nowrap;
        width: 100%;
    }

    .title_num {
        font-size: 7rem;
        line-height: calc(60 / 70);
    }

    .service_item_img {
        width: 19.38rem;
        height: 15.6rem;
        margin-top: 3.6rem;
        margin-bottom: 2rem;
    }

    .service_text {
        font-size: 1.4rem;
        line-height: calc(28 / 14);
        margin-bottom: 3.6rem;
    }

    .service_item_area {
        padding: 4.4rem 2rem;
    }

    .service_item_text {
        font-size: 1.4rem;
        font-weight: 400;
        line-height: calc(30 /14);
    }

    .service_area_item {
        margin-bottom: 4.8rem;
    }

    .service_item_text02 {
        font-size: 1.4rem;
        font-weight: 400;
        line-height: calc(32 / 14);
        margin-bottom: 3.6rem;
    }

    .service_text_blue {
        font-size: 1.7rem;
        line-height: calc(30 / 17);
        margin-bottom: 1.6rem;
    }

    .service_text_item {
        font-size: 1.4rem;
        line-height: calc(30 / 14);
        font-weight: 500;
        margin-bottom: 1.6rem;
    }

    .last_text {
        margin-bottom: 3.6rem;
    }

    .school_text {
        font-size: 2rem;
    }

    .school_img_text {
        flex-direction: column;
    }
    .school_text::after{
        transform: translate(-50% , 0)
    }
    .school_img{
        width: 100%;
    }
    .school_right_text{
        margin-left: 0;
        font-size: 1.4rem;
        width: 100%;
        line-height: calc(30 / 14);
        margin-top: 2rem;
    }

    .fornt_btn_wrap a {
        display: block;
        width: 100%;
        padding: 1.5rem 7rem 1.5rem 3rem;
        font-size: 1.7rem;
        font-weight: bold;
        position: relative;
    }

    .fornt_btn_wrap a::before {
        width: 4.5rem;
        height: 4.5rem;
        top: 0.5rem;
        right: 0.5rem;
        transition: .5s;
    }

    .fornt_btn_wrap a::after {
        top: 1.3rem;
        right: 1.7rem;
    }
}