@charset "UTF-8"; :root {
    --pt01_color: #2F8EC3;
    --pt02_color: #6ABD78;
    --pt03_color: #CCB935;
    --pt04_color: #CF5353;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
プロモ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_promo {
    background-image: url("../../images/page/guidance/guidance_title_bg.jpg");
}

@media (max-width: 768px) {
    .page_promo {
        background-image: url("../../images/page/guidance/guidance_title_bg_sp.jpg");
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
学習指導
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_guide > .page_width {
    max-width: 120rem;
}

ol.guidance_point_list {
    display: flex;
    gap: 10rem;
    flex-direction: column;
}

ol.guidance_point_list > li .ttl_wrap {
    position: relative;
    border-top-left-radius: 4rem;
    display: grid;
    grid-template-columns: 13rem 1fr;
    gap 5rem; min-height: 22rem;
    padding: 2rem 6rem;
    align-items: center;
    gap: 3rem;
}

ol.guidance_point_list > li:nth-child(1) .ttl_wrap {
    background: var(--pt01_color);
}

ol.guidance_point_list > li:nth-child(2) .ttl_wrap {
    background: var(--pt02_color);
}

ol.guidance_point_list > li:nth-child(3) .ttl_wrap {
    background: var(--pt03_color);
}

ol.guidance_point_list > li:nth-child(4) .ttl_wrap {
    background: var(--pt04_color);
}

ol.guidance_point_list > li .ttl_wrap p.point {
    background: #fff;
    width: 13rem;
    height: 13rem;
    border-radius: 100%;
    text-align: center;
    padding: 2.5rem 0;
}

ol.guidance_point_list > li:nth-child(1) .ttl_wrap p.point {
    color: var(--pt01_color)
}

ol.guidance_point_list > li:nth-child(2) .ttl_wrap p.point {
    color: var(--pt02_color)
}

ol.guidance_point_list > li:nth-child(3) .ttl_wrap p.point {
    color: var(--pt03_color)
}

ol.guidance_point_list > li:nth-child(4) .ttl_wrap p.point {
    color: var(--pt04_color)
}

ol.guidance_point_list > li .ttl_wrap p.point span.en {
    font-family: "Jost", sans-serif;
}

ol.guidance_point_list > li .ttl_wrap p.point span.num::after {
    content: counter(ol_cnt, decimal-leading-zero) " ";
    display: block;
    font-size: 5.6rem;
    font-family: "Jost", sans-serif;
    text-align: center;
    line-height: 1;
}

ol.guidance_point_list > li:nth-child(1) .ttl_wrap h2.main_ttl {
    width: 62.2rem;
}

ol.guidance_point_list > li:nth-child(2) .ttl_wrap h2.main_ttl {
    width: 59.5rem;
}

ol.guidance_point_list > li:nth-child(3) .ttl_wrap h2.main_ttl {
    width: 56.8rem;
}

ol.guidance_point_list > li:nth-child(4) .ttl_wrap h2.main_ttl {
    width: 61.4rem;
}

ol.guidance_point_list > li .ttl_wrap p.ttl_img {
    width: 35rem;
    position: absolute;
    bottom: 0;
    right: 0rem;
}

ol.guidance_point_list > li ul.zigzag_items {
    border: 2px solid ;
    padding: 6.5rem 10rem 9.5rem 9.5rem;
    display: grid;
    gap: 6rem;
    border-bottom-right-radius: 4rem;
}

ol.guidance_point_list > li:nth-child(1) ul.zigzag_items {
    border-color: var(--pt01_color);
}

ol.guidance_point_list > li:nth-child(2) ul.zigzag_items {
    border-color: var(--pt02_color);
}

ol.guidance_point_list > li:nth-child(3) ul.zigzag_items {
    border-color: var(--pt03_color);
}

ol.guidance_point_list > li:nth-child(4) ul.zigzag_items {
    border-color: var(--pt04_color);
}

ol.guidance_point_list > li ul.zigzag_items li {
    display: flex;
    gap: 5rem;
    justify-content: space-between;
}


ol.guidance_point_list > li ul.zigzag_items li:nth-child(even) {
    flex-direction: row-reverse;
}

ol.guidance_point_list > li ul.zigzag_items li .contents_area {
    width: 50%;
    flex-grow: 1;
    max-width: 50rem;
}

ol.guidance_point_list > li:nth-child(2) ul.zigzag_items li .contents_area h3.ttl {
    color: var(--pt02_color);
}

ol.guidance_point_list > li:nth-child(3) ul.zigzag_items li .contents_area h3.ttl {
    color: var(--pt03_color);
}

ol.guidance_point_list > li:nth-child(4) ul.zigzag_items li .contents_area h3.ttl {
    color: var(--pt04_color);
}

ol.guidance_point_list > li:nth-child(1) ul.zigzag_items li .contents_area h3.ttl::after {
    background: var(--pt01_color);
}

ol.guidance_point_list > li:nth-child(2) ul.zigzag_items li .contents_area h3.ttl::after {
    background: var(--pt02_color);
}

ol.guidance_point_list > li:nth-child(3) ul.zigzag_items li .contents_area h3.ttl::after {
    background: var(--pt03_color);
}

ol.guidance_point_list > li:nth-child(4) ul.zigzag_items li .contents_area h3.ttl::after {
    background: var(--pt04_color);
}

ol.guidance_point_list > li ul.zigzag_items li p.img {
    width: 44rem;
    margin-top: 1.5rem;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
進路指導
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.sec_course .grid.inner_half {
    grid-template-columns: 52rem 52rem;
    justify-content: space-between;
    gap: 3rem;
    margin-bottom: 11rem;
}

.sec_course .grid.inner_half:last-child {
    margin-bottom: 5rem;
}

.sec_course .grid.inner_half .list_mb {
    margin-bottom: 10rem;
}

.sec_course .grid.inner_half .contents_area h3.ttl {
    font-size: 3rem;
    letter-spacing: .04em;
    color: var(--theme_m_color);
    margin-bottom: 1.5rem;
    font-weight: 600;
}

.sec_course .grid.inner_half p.img {
    margin-top: 1rem;
}

.sec_course .box h3.ttl {
    font-size: 3rem;
    letter-spacing: .04em;
    text-align: center;
    margin-bottom: 2.5rem;
}

.sec_course .box dl.dl_course_list {
    margin-bottom: 11rem;
}

.sec_course .box dl.dl_course_list .dl_list {
    display: grid;
    grid-template-columns: 20rem 1fr;
}

.sec_course .box dl.dl_course_list .dl_list > * {
    border-bottom: 1px solid;
    padding: 2.5rem 2rem;
}

.sec_course .box dl.dl_course_list .dl_list dt {
    display: grid;
    align-items: center;
    border-color: var(--theme_m_color);
}

.sec_course .box dl.dl_course_list .dl_list:first-child dt {
    border-top: 1px solid var(--theme_m_color);
}

.sec_course .box dl.dl_course_list .dl_list dd {
    border-color: #CCCCCC;
}

.sec_course .box dl.dl_course_list .dl_list:first-child dd {
    border-top: 1px solid #CCCCCC;
}

.sec_course ul.items {
    display: grid;
    gap: 3.5rem;
    margin-bottom: 11rem;
}

.sec_course ul.items li h3.ttl {
    font-size: 3rem;
    letter-spacing: .04em;
    color: var(--theme_m_color);
    margin-bottom: 1.5rem;
}

.sec_course ul.items li p.txt {
}

.sec_course .grid.inner_half .half_box h3.ttl {
    margin-top: 2.5rem;
    font-size: 3rem;
    color: var(--theme_m_color);
    padding: 0 2rem;
}


.sec_course .grid.inner_half .half_box p.txt {
    padding: 0 2rem;
    margin-top: 1.5rem;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
大学合格実績
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.pass_box:not(:last-child) {
    margin-bottom: 7rem;
}

.pass_box h2.cmn_page_ttl {
}

.pass_box p.txt {
    margin-bottom: 2.5rem;
}

.pass_box p.btn.pdf a {
    font-size: 3rem;
    color: #fff;
    background: var(--theme_m_color);
    line-height: 1.25;
    border-radius: 1rem;
    display: grid;
    width: 48rem;
    min-height: 13rem;
    align-items: center;
    position: relative;
    padding: 1rem 4rem;
}

.pass_box p.btn.pdf a::after {
    position: absolute;
    content: "";
    mask: url("../../images/common/main_arrow.svg") no-repeat 50% / contain;
    width: 2.2rem;
    height: 2.2rem;
    top: 0;
    bottom: 0;
    right: 4rem;
    margin: auto 0;
    background-color: #fff;
}

.pass_box p.sub_txt {
    font-size: 1.8rem;
    line-height: 1.5;
    padding-left: 1em;
    text-indent: -1em;
    margin-top: 1.5rem;
}

.pass_box p.sub_txt span {
    display: block;
}

.pass_box p.sub_txt  a {
    color: #0071BC;
    text-decoration: underline;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
プロジェクト
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_project > .page_width {
    max-width: 140rem;
}

:root {
    --cat01_color: #CF5353;
    --cat02_color: #2F8EC3;
    --cat03_color: #6ABD78;
    --cat04_color: #996C9F;
    --cat05_color: #CCB935;
}

.project_cat_wrap {
    gap: 12.5rem;
}

.project_cat_area h2.cmn_page_ttl {
    max-width: 110rem;
    margin: 0 auto 3.5rem;
}

.project_cat_area .grid.inner {
    grid-template-columns: 1fr 56rem;
    margin: 0 auto;
    max-width: 118rem;
    padding-left: 4rem;
    gap: 5rem;
}

.project_cat_area .grid.inner h3.ttl {
    font-size: 3rem;
    letter-spacing: .04em;
    margin-bottom: 1.5rem;
    line-height: 1.5;
}

.project_cat_area .grid.inner p.img {
    margin-top: 1rem;
}

.project_cat_area .grid.inner p.img img {
    border-radius: 4rem 0 4rem 0;
}

.project_cat_area .latest_wrap {
    margin-top: -3rem;
    padding: 9rem 15rem 8rem;
    border-radius: 4rem 0 4rem 0;
}

.project_cat_area .latest_wrap h2.main_ttl {
    font-size: 3.4rem;
    letter-spacing: .04em;
    text-align: center;
    color: #fff;
    margin-bottom: 3rem;
    font-weight: 600;
}

.project_cat_area .latest_wrap p.btn a {
    font-size: 1.8rem;
    color: #fff;
    width: 21rem;
    height: 6rem;
    border-radius: 3rem;
    border: 1px solid #fff;
    position: relative;
    display: grid;
    margin: 0 auto;
    align-items: center;
    padding: 0 4rem;
}

.project_cat_area .latest_wrap p.btn a::after {
    position: absolute;
    content: "";
    mask: url("../../images/common/main_arrow.svg") no-repeat 50% / contain;
    width: 1.2rem;
    height: 1.2rem;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: 2.5rem;
    background-color: #fff;
}

.project_cat_area.cat_gap h2.cmn_page_ttl {
    color: var(--cat01_color);
}

.project_cat_area.cat_gap h2.cmn_page_ttl::after {
    background: var(--cat01_color);
}

.project_cat_area.cat_gap .grid.inner h3.ttl {
    color: var(--cat01_color);
}

.project_cat_area.cat_gap .latest_wrap {
    background: var(--cat01_color);
}

.project_cat_area.cat_medipro h2.cmn_page_ttl {
    color: var(--cat02_color);
}

.project_cat_area.cat_medipro h2.cmn_page_ttl::after {
    background: var(--cat02_color);
}

.project_cat_area.cat_medipro .grid.inner h3.ttl {
    color: var(--cat02_color);
}

.project_cat_area.cat_medipro .latest_wrap {
    background: var(--cat02_color);
}

.project_cat_area.cat_spro h2.cmn_page_ttl {
    color: var(--cat03_color);
}

.project_cat_area.cat_spro h2.cmn_page_ttl::after {
    background: var(--cat03_color);
}

.project_cat_area.cat_spro .grid.inner h3.ttl {
    color: var(--cat03_color);
}

.project_cat_area.cat_spro .latest_wrap {
    background: var(--cat03_color);
}

.project_cat_area.cat_mirai h2.cmn_page_ttl {
    color: var(--cat04_color);
}

.project_cat_area.cat_mirai h2.cmn_page_ttl::after {
    background: var(--cat04_color);
}

.project_cat_area.cat_mirai .grid.inner h3.ttl {
    color: var(--cat04_color);
}

.project_cat_area.cat_mirai .latest_wrap {
    background: var(--cat04_color);
}

.project_cat_area.cat_bunbun h2.cmn_page_ttl {
    color: var(--cat05_color);
}

.project_cat_area.cat_bunbun h2.cmn_page_ttl::after {
    background: var(--cat05_color);
}

.project_cat_area.cat_bunbun .grid.inner h3.ttl {
    color: var(--cat05_color);
}

.project_cat_area.cat_bunbun .latest_wrap {
    background: var(--cat05_color);
}

ul.page_project_list {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 4rem;
    margin-bottom: 4.5rem;
}

ul.page_project_list li.biggerlink.grid {
    display: flex;
    flex-direction: column;
}

ul.page_project_list li.biggerlink.grid .area_a p.img {
    margin-bottom: 2rem;
}

ul.page_project_list li.biggerlink.grid .area_b {
    padding: 0 1rem;
}

ul.page_project_list li.biggerlink.grid .area_b .f_wrap {
    align-items: center;
    gap: 1.5rem;
}

ul.page_project_list li.biggerlink.grid .area_b .f_wrap p.date {
    font-size: 1.8rem;
    color: #fff;
}

ul.page_project_list li.biggerlink.grid .area_b .f_wrap p.cat {
    font-size: 1.3rem;
    background: #fff;
    min-height: 2.5rem;
    border-radius: 1.25rem;
    padding: .1rem 3rem;
}

ul.page_project_list li.biggerlink.grid .area_b h3.ttl a {
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 2.4rem;
    line-height: 1.5;
    color: #fff;
    font-weight: 600;
}


@media (max-width: 768px) {
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
学習指導
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

    ol.guidance_point_list {
        width: 100vw;
        margin: 6.5rem calc(50% - 50vw);
        gap: 2rem;
    }

    ol.guidance_point_list > li .ttl_wrap {
        border-radius: 0;
        grid-template-columns: 1fr;
        padding: 0 0 4.5rem;
    }

    ol.guidance_point_list > li .ttl_wrap p.point {
        margin: -2rem auto 0;
        padding: 1.5rem 0;
        border: 1px solid;
    }

    ol.guidance_point_list > li .ttl_wrap p.point span.en {
        font-size: 2rem;
    }

    ol.guidance_point_list > li .ttl_wrap h2.main_ttl {
        margin: 0 auto;
    }

    ol.guidance_point_list > li:nth-child(1) .ttl_wrap h2.main_ttl {
        width: 64.2rem;
    }

    ol.guidance_point_list > li:nth-child(2) .ttl_wrap h2.main_ttl {
        width: -317.2rem;
    }

    ol.guidance_point_list > li:nth-child(3) .ttl_wrap h2.main_ttl {
        width: 60.1rem;
    }

    ol.guidance_point_list > li:nth-child(4) .ttl_wrap h2.main_ttl {
        width: 64.9rem;
    }

    ol.guidance_point_list > li .ttl_wrap p.ttl_img {
        display: none;
    }

    ol.guidance_point_list > li ul.zigzag_items {
        border: none;
        border-radius: 0;
        padding: 6.5rem 6.5rem 9.5rem;
    }

    ol.guidance_point_list > li ul.zigzag_items li {
        flex-direction: column;
    }

    ol.guidance_point_list > li ul.zigzag_items li:nth-child(even) {
        flex-direction: column;
    }

    ol.guidance_point_list > li ul.zigzag_items li .contents_area {
        width: auto;
        max-width: none;
    }

    ol.guidance_point_list > li ul.zigzag_items li .contents_area h3.ttl {
        font-size: 4.8rem;
        line-height: 1.5;
    }

    ol.guidance_point_list > li ul.zigzag_items li p.img {
        width: 100%;
        margin: 0;
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
進路指導
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .sec_course h2.cmn_page_ttl {
        font-size: 4.8rem;
        line-height: 1.5;
        margin-bottom: 3.5rem;
    }

    .sec_course .grid.inner_half {
        grid-template-columns: 1fr;
    }

    .sec_course .grid.inner_half .contents_area h3.ttl {
        font-size: 4rem;
    }

    .sec_course .grid.inner_half p.img {
        margin-top: 2rem;
    }

    .sec_course .box h3.ttl {
        font-size: 3.8rem;
        margin-bottom: 3rem;
    }

    .sec_course .box dl.dl_course_list .dl_list {
        grid-template-columns: 17rem 1fr;
    }

    .sec_course .box dl.dl_course_list .dl_list > * {
        padding: 3.5rem 3rem;
    }

    .sec_course .box dl.dl_course_list .dl_list dd ul.cmn_maru_list li::before {
        margin: 0;
        top: 1.5rem;
        left: -1rem;
    }

    .sec_course ul.items li h3.ttl {
        font-size: 4rem;
    }

    .sec_course .grid.inner_half .half_box h3.ttl {
        font-size: 4rem;
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
大学合格実績
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .pass_box:not(:last-child) {
    }

    .pass_box h2.cmn_page_ttl {
        margin-bottom: 2rem;
    }

    .pass_box p.btn.pdf a {
        font-size: 3.6rem;
        line-height: 1.5;
        width: 100%;
        min-height: 16rem;
    }

    .pass_box p.btn.pdf a::after {
        right: 5rem;
    }

    .pass_box p.sub_txt {
        font-size: 2.8rem;
    }
    
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
プロジェクト
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .page_project > .page_width {
        width: 100%;
    }

    .page_project .child_page_btns {
        width: var(--base_width02);
    }

    .project_cat_area h2.cmn_page_ttl {
        width: calc(100% - 13rem);
        margin: 0 auto 3rem;
    }

    .project_cat_area .grid.inner {
        grid-template-columns: 1fr;
        padding: 0;
        gap: 4rem;
        width: calc(100% - 13rem);
    }

    .project_cat_area .grid.inner h3.ttl {
        font-size: 3.6rem;
        margin-bottom: 2.5rem;
    }

    .project_cat_area .grid.inner p.img {
        margin: 0;
    }

    .project_cat_area .latest_wrap {
        padding: 11rem 0 0;
        width: 100%;
        margin: -5rem 0 0;
        border-radius: 0;
        padding: 12rem 4rem 9rem;
    }

    .project_cat_area .latest_wrap h2.main_ttl {
        font-size: 4rem;
    }

    .project_cat_area .latest_wrap p.btn a {
        font-size: 2.6rem;
        width: 26rem;
        height: 8rem;
        border-radius: 4rem;
    }

    .project_cat_area .latest_wrap p.btn a::after {
        width: 1.6rem;
        height: 1.6rem;
    }


    ul.page_project_list {
        grid-template-columns: repeat(2 , 1fr);
        gap: 5rem 3rem;
        margin-bottom: 5rem;
    }


    ul.page_project_list li.biggerlink.grid .area_b .f_wrap p.date {
        font-size: 2.6rem;
    }

    ul.page_project_list li.biggerlink.grid .area_b .f_wrap p.cat {
        font-size: 2rem;
        min-height: 3.4rem;
        border-radius: 1.7rem;
        padding: 0.2rem 4rem;
    }

    ul.page_project_list li.biggerlink.grid .area_b h3.ttl {
        margin-top: 1rem;
    }

    ul.page_project_list li.biggerlink.grid .area_b h3.ttl a {
        font-size: 2.8rem;
        -webkit-line-clamp: 3;
    }
}

