@charset "UTF-8"; /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
フッター
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

footer {
    padding: 10rem 0;
    background: #000;
}

main:has(> #recruit_area) + footer,
#entry_area + footer{
    padding-top: 20rem;
}

footer .footer_width {
    width: 100%;
    max-width: 140rem;
    margin-inline: auto; min-width: 110rem;
}

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

footer .f_inner .info_area {
    width: 50rem;
}

footer .f_inner .info_area p.logo {
    margin-bottom: 2.5rem;
    width: 44.1rem;
}

footer .f_inner .info_area .addr_wrap {
    font-size: 1.6rem;
    margin-bottom: 5rem;
}

footer .f_inner .info_area .addr {
    margin-bottom: 2rem;
}

footer .f_inner .info_area .addr:not(:last-child) {
    margin-bottom: 2rem;
}

footer .f_inner .info_area .addr_wrap h3.ttl {
    color: #BE96D2;
    font-size: 1.6rem;
}

footer .f_inner .info_area .addr_wrap p {
    color: #fff;
}

footer .f_inner .info_area .link_wrap {
    justify-content: space-between;
    width: 46rem;
    align-items: center;
}

footer .f_inner .info_area .link_wrap p.btn {
}

footer .f_inner .info_area .link_wrap p.btn a {
    font-size: 1.6rem;
    color: #fff;
    position: relative;
    width: 22rem;
    height: 5rem;
    border: 1px solid #fff;
    display: grid;
    align-items: center;
    padding: .5rem 1.5rem;
    border-radius: 5px;
}

footer .f_inner .info_area .link_wrap p.btn a::after {
    position: absolute;
    content: "";
    background: url("../images/common/arrow_white.svg") no-repeat 50% / contain;
    width: 1.2rem;
    height: 1.2rem;
    top: 50%;
    right: 1.5rem;
    transform: translateY(-50%);
}

footer .f_inner .info_area .link_wrap ul {
    gap: 1.5rem;
    grid-template-columns: repeat(3,1fr);
}

footer .f_inner .info_area .link_wrap ul li {
}

footer .f_inner .info_area .link_wrap ul li a {
    width: 5rem;
}


footer .f_inner .f_nav_wrap {
    width: calc(100% - 54rem);

}

footer .f_inner .f_nav_wrap .grid_layout {
	display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: auto;
    gap: 0 4rem;
    /*width: 71rem;*/
	width: 84rem;
    margin-left: auto;
}

footer .f_inner .f_nav_wrap a {
    color: #fff;

}

footer .f_inner .f_nav_wrap ul.f_nav_menu {
    
}

footer .f_inner .f_nav_wrap ul.f_nav_menu li {
	
}

footer .f_inner .f_nav_wrap ul.f_nav_menu > li > a {
    font-size: 1.8rem;
    color: #00B4EA;
    padding: 1.8rem 3rem 1.8rem .5rem;
    border-top: 1px solid #00B4EA;
    display: block;
}

footer .f_inner .f_nav_wrap ul.f_nav_menu > li > a:hover {
	color: #fff;
}

footer .f_inner .f_nav_wrap ul.f_nav_menu > li:not(.has-child) > a {
    position: relative;
}

footer .f_inner .f_nav_wrap ul.f_nav_menu > li:not(.has-child) > a::after {
    position: absolute;
    content: "";
    background: url("../images/common/arrow_white.svg") no-repeat 50% / contain;
    width: 1.2rem;
    height: 1.2rem;
    top: 50%;
    transform: translateY(-50%);
    right: 1rem;
}

footer .f_inner .f_nav_wrap ul.f_nav_menu > li > ul.child {
    padding-left: 2rem;
}

footer .f_inner .f_nav_wrap ul.f_nav_menu > li > ul.child > li {
}

footer .f_inner .f_nav_wrap ul.f_nav_menu > li > ul.child > li > a {
    font-size: 1.6rem;
    padding-left: 1em;
    position: relative;
}

footer .f_inner .f_nav_wrap ul.f_nav_menu > li > ul.child > li > a::after {
    position: absolute;
    content: "";
    width: .8em;
    height: 1px;
    background: #fff;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}

footer .f_bottom {
    justify-content: space-between;
	width: 100%;
}

	footer .f_bottom p,
	footer .f_bottom a{
		color: #666666;
		font-size: 1.6rem;
    }

@media screen and (min-width: 769px) {
	footer .f_inner .info_area .link_wrap p.btn a:hover{
		color: #000;
		background: #fff;
	}
	footer .f_inner .info_area .link_wrap p.btn a:hover::after {
		background-image: url("../images/common/arrow.svg");
	}
	
	footer .f_inner .info_area .link_wrap ul li a:hover,
	footer .f_bottom a:hover{
		opacity: .7;
	}
}

@media screen and (max-width: 768px) {
    footer {
        padding-bottom: 16rem;
    }

    footer .footer_width {
        min-width: auto;
        width: var(--base_width);
    }

    footer .f_inner {
        margin-bottom: 9rem;
    }

    footer .f_inner .info_area {
        width: 100%;
    }

    footer .f_inner .info_area p.logo {
        width: 65rem;
        margin-bottom: 5rem;
    }

    footer .f_inner .info_area .addr_wrap {
        font-size: 2.6rem;
        padding: 0 6rem;
        margin-bottom: 8rem;
    }

    footer .f_inner .info_area .addr {
    }

    footer .f_inner .info_area .addr:not(:last-child) {
        margin-bottom: 4rem;
    }

    footer .f_inner .info_area .addr_wrap h3.ttl {
        font-size: 2.6rem;
    }

    footer .f_inner .info_area .addr_wrap p {
        line-height: 1.5;
    }

    footer .f_inner .info_area .link_wrap {
        width: 100%;
        justify-content: center;
    }

    footer .f_inner .info_area .link_wrap p.btn {
        margin-bottom: 6rem;
    }

    footer .f_inner .info_area .link_wrap p.btn a {
        font-size: 2.8rem;
        margin: 0 auto;
        width: 55rem;
        height: 10rem;
        padding: 1rem 3rem;
    }

    footer .f_inner .info_area .link_wrap p.btn a::after {
        width: 3rem;
        height: 3rem;
        right: 4rem;
    }

    footer .f_inner .info_area .link_wrap ul {
        width: 34rem;
    }

    footer .f_inner .info_area .link_wrap ul li {
    }

    footer .f_inner .info_area .link_wrap ul li a {
    }

    footer .f_bottom {
        justify-content: center;
    }

    footer .f_bottom .copyright {
        font-size: 2.6rem;
        text-align: center;
    }

    footer .f_bottom .privacy {
        display: none;
    }
}

/**********************************
スマホ固定
**********************************/
.sp_fixed_bottom {
    opacity: 0;
    visibility: hidden;
    width: 65rem;
    height: 12rem;
    bottom: 3rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1500;
    position: fixed;
    transition: .2s ease-in;
}

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

.sp_fixed_bottom .sp_nav_menu02 {
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(3 ,1fr);
    margin: 0;
    padding: 0;
}

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

.sp_fixed_bottom .sp_nav_menu02 li a {
    font-size: 2.8rem;
    border: 2px solid #fff;
    letter-spacing: .08em;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #fff;
    height: 12rem;
}

.sp_fixed_bottom .sp_nav_menu02 li.guide a {
    border-top-left-radius: 6rem;
    border-bottom-left-radius: 6rem;
    background: #000;
}

.sp_fixed_bottom .sp_nav_menu02 li.intern a {
    border-right: none;
    border-left: none;
    background: #E75490;
}

.sp_fixed_bottom .sp_nav_menu02 li.info_session a {
    border-top-right-radius: 6rem;
    border-bottom-right-radius: 6rem;
    background: #E75490;
}

