@charset "UTF-8"; /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
フッター
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
footer {
    background: #5ABD52;
    padding: 10rem 0 5rem;
    color: #fff;
}

footer .f_inner {
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 7.5rem;
}

footer .f_inner .info_area {
}

footer .f_inner .info_area p.name_top {
    letter-spacing: .1em;
    font-size: 2rem;
}

footer .f_inner .info_area p.school_name {
    font-size: 3.8rem;
    letter-spacing: .1em;
    margin-bottom: 1rem;
}

footer .f_inner .info_area .info_grid {
    width: 51rem;
    grid-template-columns: 1fr 8rem;
    gap: 2rem;
}

footer .f_inner .info_area .info_grid .contact_info {
}

footer .f_inner .info_area .info_grid .contact_info .addr {
}

footer .f_inner .info_area .info_grid .contact_info .addr p {
    font-size: 2rem;
}

footer .f_inner .info_area .info_grid .contact_info .tel {
}

footer .f_inner .info_area .info_grid .contact_info .tel p {
    font-size: 3.2rem;
    letter-spacing: .06em;
    display: flex;
    align-items: center;
}

footer .f_inner .info_area .info_grid .contact_info .tel p .TEL {
    font-size: 70%;
}

footer .f_inner .info_area .info_grid .contact_info .tel p .num {
    font-family: "Jost", sans-serif;
}

footer .f_inner .info_area .info_grid p.insta {
}

footer .f_inner .info_area .info_grid p.insta a {
    width: 8rem;
    display: block;
}

footer .f_inner .info_area .info_grid p.insta a:hover {
    opacity: .7;
}

footer .f_inner .info_area .info_grid p.insta a img {
}

footer .f_inner .f_btn_wrap {
    margin-top: 1rem;
    display: grid;
    gap: 2rem;
}

footer .f_inner .f_btn_wrap p.btn.cmn_btn {
}

footer .f_inner .f_btn_wrap p.btn.cmn_btn a {
    width: 40rem;
    padding: 1rem 3.5rem;
}

footer .f_nav_wrap {
    /* justify-content: space-between; */
    gap: 6rem;
    margin-bottom: 11.5rem;
}

footer .f_nav_wrap .f_nav_item {
}

footer .f_nav_wrap .f_nav_item h3.ttl {
    font-size: 2rem;
    letter-spacing: .1em;
    margin-bottom: 2rem;
}

footer .f_nav_wrap .f_nav_item ul.f_nav_menu {
    display: grid;
    gap: .8rem;
}

footer .f_nav_wrap .f_nav_item ul.f_nav_menu li {
}

footer .f_nav_wrap .f_nav_item ul.f_nav_menu li a {
    font-size: 1.6rem;
    color: #fff;
    padding-left: 1em;
    position: relative;
}

footer .f_nav_wrap .f_nav_item ul.f_nav_menu li a::before {
    position: absolute;
    content: "";
    width: .5em;
    height: 1px;
    top: 50%;
    left: -0.3em;
    transform: translateY(-50%);
    background: #fff;
}

footer .f_nav_wrap .f_nav_item ul.f_nav_menu li a:hover {
    opacity: .7;
}

footer .f_bottom {
}

footer .f_bottom > .f_wrap {
    justify-content: space-between;
    align-items: center;
}

footer .f_bottom p.privacy {
}

footer .f_bottom p.privacy a {
    font-size: 1.8rem;
    color: #fff;
}

footer .f_bottom ul.other_scool {
    gap: 3rem;
}

footer .f_bottom ul.other_scool li {
}

footer .f_bottom ul.other_scool li a {
    font-size: 1.8rem;
    color: #fff;
    padding-left: 2rem;
    position: relative;
}

footer .f_bottom ul.other_scool li a::before {
    position: absolute;
    content: "";
    background: url("../images/common/f_arrow.svg") no-repeat 50% / contain;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 1rem;
    height: 1rem;
}

footer .f_bottom p.copyright {
    font-size: 1.4rem;
    text-align: center;
    margin-top: 5rem;
}

footer .f_bottom a:hover{
	opacity: .7;
}

@media screen and (max-width: 768px) {
    footer {
        padding: 11rem 0 14rem;
    }

    footer .f_inner {
        gap: 6rem;
        margin-bottom: 11rem;
    }

    footer .f_inner .info_area {
        padding: 0 2rem;
        width: 100%;
    }

    footer .f_inner .info_area p.name_top {
        font-size: 2.8rem;
        letter-spacing: .12em;
    }

    footer .f_inner .info_area p.school_name {
        letter-spacing: .12em;
        font-size: 4.6rem;
        margin-bottom: 0;
    }

    footer .f_inner .info_area .info_grid {
        grid-template-columns: 1fr 13rem;
        width: 100%;
        align-items: flex-end;
        padding-right: 2rem;
    }

    footer .f_inner .info_area .info_grid .contact_info {
    }

    footer .f_inner .info_area .info_grid .contact_info .addr {
        font-size: 2.8rem;
    }

    footer .f_inner .info_area .info_grid .contact_info .addr p {
        font-size: 3rem;
    }

    footer .f_inner .info_area .info_grid .contact_info .tel {
    }

    footer .f_inner .info_area .info_grid .contact_info .tel p {
        align-items: center;
    }

    footer .f_inner .info_area .info_grid .contact_info .tel p .TEL {
        font-size: 2.2rem;
        margin-right: 1rem;
        display: block;
        margin-top: 1rem;
    }

    footer .f_inner .info_area .info_grid .contact_info .tel p .num {
        font-size: 3.8rem;
        display: block;
    }

    footer .f_inner .info_area .info_grid p.insta {
        margin-bottom: 1.5rem;
    }

    footer .f_inner .info_area .info_grid p.insta a {
        width: 13rem;
    }

    footer .f_inner .info_area .info_grid p.insta a:hover {
    }

    footer .f_inner .info_area .info_grid p.insta a img {
    }

    footer .f_inner .f_btn_wrap {
        gap: 3rem;
    }

    footer .f_inner .f_btn_wrap p.btn.cmn_btn {
    }

    footer .f_inner .f_btn_wrap p.btn.cmn_btn a {
        width: 60rem;
        min-height: 14rem;
        border-radius: 7rem;
        font-size: 3.6rem;
        padding: 1rem 4.5rem;
    }

    footer .f_nav_wrap {
        display: grid;
        grid-template-columns: repeat(2 , 1fr);
        grid-template-areas: "area01 area02" "area03 area04" "area03 area05";
        gap: 5rem 2rem;
        width: 100vw;
        margin: 0 calc(50% - 50vw) 10rem;
        padding: 0 5rem;
    }

    footer .f_nav_wrap .f_nav_item {
    }

    .sp_grid_items01 {
        grid-area: area01;
    }

    .sp_grid_items02 {
        grid-area: area02;
    }

    .sp_grid_items03 {
        grid-area: area03;
    }

    .sp_grid_items04 {
        grid-area: area04;
    }

    .sp_grid_items05 {
        grid-area: area05;
    }

    footer .f_nav_wrap .f_nav_item h3.ttl {
        font-size: 3rem;
    }

    footer .f_nav_wrap .f_nav_item ul.f_nav_menu {
    }

    footer .f_nav_wrap .f_nav_item ul.f_nav_menu li {
    }

    footer .f_nav_wrap .f_nav_item ul.f_nav_menu li a {
        font-size: 2.8rem;
    }

    footer .f_nav_wrap .f_nav_item ul.f_nav_menu li a::before {
        left: 0;
    }

    footer .f_nav_wrap .f_nav_item ul.f_nav_menu li a:hover {
    }

    footer .f_bottom {
    }

    footer .f_bottom > .f_wrap {
        flex-direction: column-reverse;
        align-items: flex-start;
    }

    footer .f_bottom p.privacy {
        width: 100%;
    }

    footer .f_bottom p.privacy a {
        font-size: 3rem;
        display: table;
        margin: 0 auto;
    }

    footer .f_bottom ul.other_scool {
        gap: 1rem 6rem;
        margin-bottom: 6rem;
    }

    footer .f_bottom ul.other_scool li {
    }

    footer .f_bottom ul.other_scool li a {
        font-size: 3rem;
        padding-left: 3rem;
    }

    footer .f_bottom ul.other_scool li a::before {
        width: 1.5rem;
        height: 1.5rem;
    }

    footer .f_bottom p.copyright {
        font-size: 2.2rem;
    }

    footer .f_bottom a:hover {
    }
}

/**********************************
スマホ固定
**********************************/
.sp_fixed_bottom {
    opacity: 0;
    visibility: hidden;
    width: 100%;
    bottom: 0;
    left: 0;
    z-index: 1500;
    position: fixed;
    transition: .2s ease-in;
}

.sp_fixed_bottom.active {
    opacity: 1;
    visibility: visible;
}

.sp_fixed_bottom .sp_nav_menu02 {
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0;
}

.sp_fixed_bottom .sp_nav_menu02 li {
    list-style: none;
    flex: 1;
}

.sp_fixed_bottom .sp_nav_menu02 li a {
    font-size: 2.8rem;
    width: 100%;
    height: 14rem;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    position: relative;
    padding: 7rem 0 2.5rem;
    font-weight: 500;
}

.sp_fixed_bottom .sp_nav_menu02 li.topics a {
    color: #D482D0;
}

.sp_fixed_bottom .sp_nav_menu02 li.exam a {
    color: #00B8DC;
}

.sp_fixed_bottom .sp_nav_menu02 li.web-info a {
    color: #FF8A88;
}

.sp_fixed_bottom .sp_nav_menu02 li a::before {
    content: "";
    position: absolute;
    mask: no-repeat 50%/ contain;
    top: 3rem;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.sp_fixed_bottom .sp_nav_menu02 li.topics a::before {
    width: 4rem;
    height: 3.2rem;
    mask-image: url("../images/common/tab_icon_topics.svg");
    background-color: #D482D0;
}

.sp_fixed_bottom .sp_nav_menu02 li.exam a::before {
    width: 4rem;
    height: 3.7rem;
    mask-image: url("../images/common/tab_icon_toexam.svg");
    background-color: #00B8DC;
}

.sp_fixed_bottom .sp_nav_menu02 li.web-info a::before {
    width: 4rem;
    height: 3.6rem;
    mask-image: url("../images/common/tab_icon_online.svg");
    background-color: #FF8A88;
}

.sp_fixed_bottom .sp_nav_menu02 li:not(:last-child) a::after {
    position: absolute;
    content: "";
    width: 1px;
    height: 60%;
    background: #CCCCCC;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: 0;
}
