@charset "utf-8";

/*--京home.css--*/
/* ##########PC########## */
.contents {
    overflow: hidden;
    background: #fff;
    padding-bottom: 0;
    line-height: 1.8;
}

/*mainvisual*/
.mainvisual {
    width: 100%;
    overflow: hidden;
    transition: 1s all ease;
    opacity: 0;
    filter: blur(20px);
}

.mainvisual.show {
    opacity: 1;
    filter: blur(0);
}

.mainvisual_inner {
    width: 68.75rem;
    height: 46.25rem;
    margin: 0 auto;
    position: relative;
}

.mainvisual_inner::before {
    content: "";
    display: block;
    width: 95.5rem;
    height: 37.5rem;
    background: url(../shared/bg_mv.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    left: -1.1rem;
    z-index: -1;
}

.mainvisual_inner img {
    max-width: 100%;
    height: auto;
}

.mainvisual_inner .fig_bg_mv01 {
    width: 14rem;
    position: absolute;
    top: 3.75rem;
    right: -17.125rem;
}

.mainvisual_inner .fig_bg_mv02 {
    width: 59rem;
    position: absolute;
    top: 0;
    left: -20rem;
}

.mainvisual_inner .fig_mv {
    width: 63.75rem;
    position: absolute;
    top: 0;
    left: -5.625rem;
}

.mainvisual_inner .lbl_mv_01 {
    width: 10rem;
    position: absolute;
    top: 1.5rem;
    right: 0;
    transition: 1s all ease;
    transition-delay: .5s;
    transform: translateY(-1rem);
    opacity: 0;
}

.show .mainvisual_inner .lbl_mv_01 {
    transform: translateY(0);
    opacity: 1;
}

.mainvisual_inner .lbl_mv_02 {
    width: 17.5rem;
    position: absolute;
    bottom: 3rem;
    right: 13rem;
    transition: 1s all ease;
    transition-delay: .7s;
    opacity: 0;
    transform: translateX(2rem);
}

.show .mainvisual_inner .lbl_mv_02 {
    opacity: 1;
    transform: translateX(0);
}

.mainvisual_inner .mv_text {
    padding: 1.5rem 2rem;
    background: #fff;
    position: absolute;
    bottom: 8.75rem;
    left: -1.1rem;
    line-height: 1.5;
    transition: 1s all ease;
    transition-delay: 1.5s;
    opacity: 0;
}

.show .mainvisual_inner .mv_text {
    opacity: 1;
}

.mainvisual_inner .mv_text .mv_text_ttl {
    font-size: 2rem;
    font-weight: 600;
    color: #2a2a5c;
    margin-bottom: 0.5rem;
}

.mainvisual_inner .mv_text dl {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.mainvisual_inner .mv_text dl dt {
    padding: 0.2rem 0.5rem;
    background: #eec7dc;
}

.mainvisual_inner .mv_text dl dd {
    padding: 0.2rem 0.5rem;
}

/*汎用*/
h2 {}

h2 .lbl_en {
    font-family: "Barlow", serif;
    display: block;
    font-weight: 600;
    font-size: 3rem;
    color: #252525;
    margin-bottom: 0.5rem;
    transition: .5s all ease;
    transition-delay: .3s;
    opacity: 0;
    transform: translateX(0.3em);
}

h2 .lbl_ja {
    display: block;
    font-size: 1.05rem;
    font-weight: 500;
    color: #222;
    transition: .5s all ease;
    transition-delay: .5s;
    opacity: 0;
    transform: translateX(0.3em);
}

.show h2 .lbl_en,
.show h2 .lbl_ja {
    opacity: 1;
    transform: translateX(0);
}

/*
.more{
    transition: .5s all ease;
    transition-delay: .9s;
    opacity: 0;
}

.show .more{
    opacity: 1;
}
*/

.more a {
    display: block;
    padding: 1rem 3.5rem;
    color: #fff;
    background: #3E5AAD;
    background: linear-gradient(90deg, rgba(62, 90, 173, 1) 0%, rgba(106, 127, 191, 1) 100%);
    text-decoration: none;
    position: relative;
    transition: all 0.4s ease;
}

.more a::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #3E5AAD;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    transition: .4s all ease;
    opacity: 0;
    transform: scaleX(0);
    transform-origin: left center;
}

.more a::after {
    content: "";
    width: 1.5rem;
    height: 1.5rem;
    background: url(../shared/icon_arrow_white.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(50% - 0.75rem);
    right: 1rem;
    z-index: 1;
}

.more a .lbl {
    position: relative;
    z-index: 1;
}

.more a:hover {
    box-shadow: 0 0 12px 1px rgba(0, 0, 0, 0.25);
}

.more a:hover::before {
    opacity: 1;
    transform: scaleX(1);
}

.about_box {
    margin-bottom: 3rem;
}

.about_box .box_inner {
    width: 68.75rem;
    margin: 0 auto;
    position: relative;
}

.about_box .box_inner .about_wrap {
    display: flex;
    justify-content: flex-end;
    gap: 5rem;
    position: relative;
}

.about_box .box_inner .about_wrap .about_img_wrapper{
    position: relative;
    transition: 1.5s all ease;
    transition-delay: .3s;
    opacity: 0;
    transform: translateX(-2rem);
}

.about_box .box_inner .about_wrap.show .about_img_wrapper{
    opacity: 1;
    transform: translateX(0);
}

.about_box .box_inner .about_wrap .about_img {
    position: absolute;
    top: 0;
    right: 0;
    width: 57.5rem;
}

    .about_box .box_inner .about_wrap .about_img  .slide_obj{
        width: 57.5rem;
        aspect-ratio: 1840 / 800;
    }

        .about_box .box_inner .about_wrap .about_img  .slide_obj img{
            max-width: 100%;
            height: auto;
        }

    .about_box .box_inner .about_wrap .about_img .slick-dotted.slick-slider{
        margin-bottom: 0;
    }

    .about_box .box_inner .about_wrap .about_img .slick-dots{
        display: flex;
        justify-content: flex-end;
        bottom: 0;
        z-index: 1;
        line-height: 1;
        background: rgba(0, 0, 0, 0.4);
        padding-right: 0.5rem;
    }

    .about_box .box_inner .about_wrap .about_img .slick-dots li{
        margin: 0;
        width: 1.5rem;
        height: 1.5rem;
    }

    .about_box .box_inner .about_wrap .about_img .slick-dots li button{
        width: 1.5rem;
        height: 1.5rem;
    }

    .about_box .box_inner .about_wrap .about_img .slick-dots li button:before{
        color: #fff;
        opacity: 0.5;
        width: 1.5rem;
        height: 1.5rem;
        line-height: 1.5rem;
        font-size: 0.5rem;
    }

    .about_box .box_inner .about_wrap .about_img .slick-dots li.slick-active button:before{
        opacity: 1;
        color: #fdd000;
    }

.about_box .box_inner .about_wrap .about_content {
    box-sizing: border-box;
    width: 29.5rem;
    padding-right: 4.625rem;
    transition: .7s all ease;
    transition-delay: .7s;
    opacity: 0;
    filter: blur(20px);
}

.about_box .box_inner .about_wrap.show .about_content {
    opacity: 1;
    filter: blur(0);
}

.about_box .box_inner .about_wrap .about_content h3 {
    font-size: 1.7rem;
    font-weight: 600;
    color: #354da3;
    margin-bottom: 1.5rem;
}

.about_box .box_inner .about_wrap .about_content p {
    margin-bottom: 3rem;
}

.about_box .box_inner .about_wrap .about_content .btn_link {
    display: flex;
}

.about_box .box_inner .about_wrap .about_content .btn_link a {
    display: block;
    padding: 1rem 3.5rem;
    color: #fff;
    background: #3E5AAD;
    background: linear-gradient(90deg, rgba(62, 90, 173, 1) 0%, rgba(106, 127, 191, 1) 100%);
    text-decoration: none;
    position: relative;
    transition: all 0.4s ease;
}

.about_box .box_inner .about_wrap .about_content .btn_link a::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #3E5AAD;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    transition: .4s all ease;
    opacity: 0;
    transform: scaleX(0);
    transform-origin: left center;
}

.about_box .box_inner .about_wrap .about_content .btn_link a::after {
    content: "";
    width: 1.5rem;
    height: 1.5rem;
    background: url(../shared/icon_arrow_white.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(50% - 0.75rem);
    right: 1rem;
    z-index: 1;
}

.about_box .box_inner .about_wrap .about_content .btn_link a .lbl {
    position: relative;
    z-index: 1;
}

.about_box .box_inner .about_wrap .about_content .btn_link a:hover {
    box-shadow: 0 0 12px 1px rgba(0, 0, 0, 0.25);
}

.about_box .box_inner .about_wrap .about_content .btn_link a:hover::before {
    opacity: 1;
    transform: scaleX(1);
}


.about_box .box_inner .event_bnr {
    margin: 6.875rem 2rem 0 0;
    display: flex;
    justify-content: flex-end;
    transition: .7s all ease;
    transition-delay: .5s;
    opacity: 0;
    transform: translateX(2rem);
}

.about_box .box_inner .event_bnr.show {
    opacity: 1;
    transform: translateX(0);
}

.about_box .box_inner .event_bnr a {
    box-sizing: border-box;
    display: block;
    width: 38rem;
    height: 11.5rem;
    text-decoration: none;
    transition: all 0.4s ease;
}

.about_box .box_inner .event_bnr a:hover {
    box-shadow: 4px 4px 0 0 rgba(53, 77, 163, 0.5);
}

.about_box .box_inner .event_bnr a .event_bnr_ttl_text {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    display: block;
    padding-left: 11.5rem;
    background: url(../shared/bn_event.png) no-repeat;
    background-size: contain;
    transition: all 0.4s ease;
}

.about_box .box_inner .event_bnr a:hover .event_bnr_ttl_text {
    filter: brightness(1.05);
}

.about_box .box_inner .event_bnr a .event_bnr_ttl {
    display: block;
    margin: 0 1.5rem 0.5rem 1.5rem;
    padding: 3.5rem 0 0.3rem 0;
    position: relative;
    border-bottom: 1px solid #2a2661;
}

.about_box .box_inner .event_bnr a .event_bnr_ttl .lbl_ja {
    font-size: 1.3rem;
    font-weight: 700;
    color: #2a2661;
}

.about_box .box_inner .event_bnr a .event_bnr_ttl .lbl_en {
    font-family: "Roboto", sans-serif;
    font-weight: 300;
    font-size: 4.2rem;
    color: #fff;
    line-height: 1;
    position: absolute;
    bottom: 0.5rem;
    right: 0;
}

.about_box .box_inner .event_bnr a .event_bnr_text {
    display: block;
    margin: 0 1.6rem;
    color: #2a2661;
    font-size: 1.1rem;
}

.about_box .box_inner .about_fig01 {
    width: 12.5rem;
    height: 12.5rem;
    position: absolute;
    top: 30rem;
    left: -5.625rem;
    z-index: -1;
}

.about_box .box_inner .about_fig01 img {
    max-width: 100%;
    height: auto;
}

.about_box .box_inner .about_fig02 {
    width: 12.5rem;
    height: 12.5rem;
    position: absolute;
    top: 8.125rem;
    right: -12.5rem;
    z-index: -1;
}

.about_box .box_inner .about_fig02 img {
    max-width: 100%;
    height: auto;
}

.about_box .box_inner .about_bg_fig01 {
    width: 17rem;
    height: 17rem;
    position: absolute;
    top: 16.875rem;
    left: 21.875rem;
    z-index: -1;
}

.about_box .box_inner .about_bg_fig01 img {
    max-width: 100%;
    height: auto;
}

.about_box .box_inner .about_bg_fig02 {
    width: 7.5rem;
    height: 7.5rem;
    position: absolute;
    top: 20.625rem;
    right: 0;
    z-index: -1;
}

.about_box .box_inner .about_bg_fig02 img {
    max-width: 100%;
    height: auto;
}

.about_box .box_inner .about_bg_fig03 {
    width: 7.5rem;
    height: 7.5rem;
    position: absolute;
    top: 33.875rem;
    left: 14.375rem;
    z-index: -1;
}

.about_box .box_inner .about_bg_fig03 img {
    max-width: 100%;
    height: auto;
}

.about_box .box_inner .about_bg_fig04 {
    width: 12.5rem;
    height: 12.5rem;
    position: absolute;
    top: 100%;
    right: -10.5rem;
    z-index: -1;
}

.about_box .box_inner .about_bg_fig04 img {
    max-width: 100%;
    height: auto;
}

.about_box .box_footer {
    width: 68.75rem;
    margin: 0 auto;
}

.about_box .box_footer .lbl_about {
    width: 42.5rem;
    padding: 3.5rem 0 0 0;
}

.about_box .box_footer .lbl_about img {
    max-width: 100%;
    height: auto;
}

/*お知らせ*/
.news_box {
    background: url(../shared/bg_news.png) no-repeat;
    background-size: 120rem auto;
    background-position: top center;
    padding: 5.625rem 0 5rem 0;
}

.news_box_wrap {
    width: 68.75rem;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: flex-start;
    gap: 2.5rem;
    transition: .7s all ease;
    transition-delay: .5s;
    transform: translateY(2rem);
    opacity: 0;
}

.show .news_box_wrap {
    transform: translateY(0);
    opacity: 1;
}

.news_box_wrap .box_header {
    box-sizing: border-box;
    width: 18.75rem;
    padding-left: 5.625rem;
    position: relative;
}

.news_box_wrap .box_header .en_ttl {
    font-family: "Roboto", sans-serif;
    font-weight: 300;
    font-size: 9rem;
    color: #fff;
    line-height: 1;
    position: absolute;
    top: 6.5rem;
    left: -8rem;
    z-index: 1;
    transform: rotate(90deg);
}

.news_box_wrap .box_header h2 {
    font-size: 2rem;
    font-weight: 600;
    color: #2a2661;
    position: relative;
    z-index: 2;
    margin: 2.5rem 0 0 0;
}

.news_box_wrap .box_inner {
    flex: 1;
    min-height: 31.25rem;
}

.news_box_wrap .box_inner .category_list {
    margin-bottom: 2rem;
}

.news_box_wrap .box_inner .category_list ul {
    display: flex;
    justify-content: flex-start;
    gap: 0.5rem;
}

.news_box_wrap .box_inner .category_list ul li {
    width: calc((100% - 2rem) / 5);
    padding: 0.7rem 0;
    background: #fff;
    text-align: center;
    color: #354da3;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

.news_box_wrap .box_inner .category_list ul li:hover {
    background: #e2eef7;
}

.news_box_wrap .box_inner .category_list ul li.active {
    background: #3E5AAD;
    background: linear-gradient(90deg, rgba(62, 90, 173, 1) 0%, rgba(106, 127, 191, 1) 100%);
    color: #fff !important;
}

.news_list {}

.news_list ul {
    display: none;
    transition: all 0.3s ease;
}

.news_list ul.active {
    display: block;
}


.news_list li {
    border-bottom: 1px dotted #b2bcbe;
    padding: 0.2rem 0;
}

.news_list li a {
    display: flex;
    justify-content: flex-start;
    padding: 1rem;
    color: #222;
    text-decoration: none;
    gap: 1.5rem;
    transition: all 0.3s ease;
}

.news_list li a:hover {
    background: rgba(53, 77, 163, 0.05);
}

.news_list li a .news_text {
    flex: 1;
    display: block;
}

.news_list li a .news_text .date_category {
    display: flex;
    justify-content: flex-start;
    gap: 2rem;
    margin-bottom: 0.5rem;
}

.news_list li a .news_text .entry_category {
    display: flex;
    justify-content: flex-start;
    gap: 1rem;
}

.news_list li a .news_text .entry_category span {
    padding-left: 1.5rem;
    position: relative;
}

.news_list li a .news_text .entry_category span::before {
    content: "";
    display: block;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    position: absolute;
    top: calc(50% - 0.5rem);
    left: 0;
    background: #d55995;
}

.news_list li a .news_text .entry_category span.cat_event {
    color: #d55995;
}

.news_list li a .news_text .entry_category span.cat_event::before {
    background: #d55995;
}

.news_list li a .news_text .entry_category span.cat_news {
    color: #0068b8;
}

.news_list li a .news_text .entry_category span.cat_news::before {
    background: #0068b8;
}

.news_list li a .news_text .entry_category span.cat_school_life {
    color: #028b91;
}

.news_list li a .news_text .entry_category span.cat_school_life::before {
    background: #028b91;
}

.news_list li a .news_text .entry_category span.cat_entrance_examination {
    color: #83469c;
}

.news_list li a .news_text .entry_category span.cat_entrance_examination::before {
    background: #83469c;
}

.news_list li a .news_img_sp {
    display: none;
}

.news_list li a .news_img {
    display: block;
    width: 10.5rem;
}

.news_list li a .news_img img {
    max-width: 100%;
    height: auto;
}

.news_box_wrap .more {
    position: absolute;
    bottom: 0;
    left: 0;
}

.label_new {
    display: inline-block;
    margin-left: 0.375rem;
    padding: 0 0.375rem;
    background-color: #c40026;
    color: #fff;
    font-size: 0.75em;
    border-radius: 0.1875rem;
    font-weight: 500;
}

.course_box {
    padding: 6.25rem 0 4.375rem 0;
    background: url(../shared/bg_course.png);
    background-size: 160rem auto;
    background-position: bottom -17.5rem center;
    background-repeat: no-repeat;
    overflow: hidden;
    transition: .5s all ease;
    transition-delay: .3s;
    opacity: 0;
    filter: blur(20px);
}

.course_box.show {
    opacity: 1;
    filter: blur(0);
}

.course_box .box_header {
    width: 68.75rem;
    margin: 0 auto 3rem auto;
    position: relative;
    padding-left: 3.125rem;
}

.course_box .box_header h3 {
    font-size: 2rem;
    font-weight: 700;
    color: #354da3;
    position: relative;
    z-index: 1;
}

.course_box .box_header .en_ttl {
    font-family: "Roboto", sans-serif;
    font-weight: 300;
    font-size: 9rem;
    color: #e6eff8;
    line-height: 1;
    position: absolute;
    top: -1.5rem;
    left: 12.75rem;
    z-index: 0;
}

.course_box .box_header .more {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
}

.course_box .box_inner {
    width: 68.75rem;
    margin: 0 auto;
}

.course_box .box_inner .course_list {}

.course_box .box_inner .course_list ul {
    display: flex;
    justify-content: center;
    gap: 2rem;
}

.course_box .box_inner .course_list ul li {
    width: 32.5rem;
    transition: .7s all ease;
    transition-delay: .5s;
    opacity: 0;
    transform: translateY(1rem);
}

.course_box .box_inner .course_list ul li:nth-child(1) {
    transition-delay: .6s;
}

.course_box .box_inner .course_list ul li:nth-child(2) {
    transition-delay: .9s;
}

.course_box.show .box_inner .course_list ul li {
    opacity: 1;
    transform: translateY(0);
}

.course_box .box_inner .course_list ul li .course_img {
    margin-bottom: 0.8rem;
}

.course_box .box_inner .course_list ul li a {
    display: block;
    width: 100%;
    text-decoration: none;
    color: #2e265f;
    position: relative;
    transition: all 0.4s ease;
}

.course_box .box_inner .course_list ul li a:hover {
    box-shadow: 4px 4px 0 0 rgba(53, 77, 163, 0.5);
}

.course_box .box_inner .course_list ul li a img {
    max-width: 100%;
    height: auto;
    transition: all 0.4s ease;
}

.course_box .box_inner .course_list ul li a:hover img {
    filter: brightness(1.1);
}

.course_box .box_inner .course_list ul li a .lbl {
    color: #2e265f;
    font-size: 1.2rem;
    padding-right: 2rem;
    position: absolute;
    bottom: 1rem;
    left: 2rem;
    font-weight: 500;
}

.course_box .box_inner .course_list ul li a .lbl::before {
    content: "";
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    background: #2e265f;
    position: absolute;
    top: calc(50% - 0.75rem);
    right: 0;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.course_box .box_inner .course_list ul li a .lbl::after {
    content: "";
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    background: url(../shared/icon_arrow_white.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(50% - 0.75rem);
    right: 0;
    transition: all 0.3s ease;
}

.course_box .box_inner .course_list ul li p {
    line-height: 1.5;
}

/*page_bnr_link_box*/
.page_bnr_link_box {
    padding: 6.25rem 0 3.75rem 0;
    border-bottom: 1px solid #e5e5e5;
}

.page_bnr_link_box .box_inner {
    width: 68.75rem;
    margin: 0 auto;
    position: relative;
}

.page_bnr_link_box .box_inner .page_bnr_list {
    margin-bottom: 4rem;
}

.page_bnr_link_box .box_inner .page_bnr_list ul {
    display: flex;
    justify-content: center;
    gap: 3.125rem;
}

.page_bnr_link_box .box_inner .page_bnr_list ul li {
    width: 20rem;
    transition: .7s all ease;
    opacity: 0;
    filter: blur(20px);
}

.page_bnr_link_box .box_inner .page_bnr_list ul li:nth-child(1) {
    transition-delay: .3s;
}

.page_bnr_link_box .box_inner .page_bnr_list ul li:nth-child(2) {
    transition-delay: .6s;
}

.page_bnr_link_box .box_inner .page_bnr_list ul li:nth-child(3) {
    transition-delay: .9s;
}

.page_bnr_link_box .box_inner .page_bnr_list.show ul li {
    opacity: 1;
    filter: blur(0);
}

.page_bnr_link_box .box_inner .page_bnr_list ul li a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    width: 100%;
    height: 12.5rem;
    text-decoration: none;
    position: relative;
}

.page_bnr_link_box .box_inner .page_bnr_list ul li a .figs_lbls {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}

.page_bnr_link_box .box_inner .page_bnr_list ul li a .figs {
    position: relative;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.page_bnr_link_box .box_inner .page_bnr_list ul li a .figs img {
    max-width: 100%;
    height: auto;
    transition: .4s all ease;
}

.page_bnr_link_box .box_inner .page_bnr_list ul li a .figs img[src$="_off.png"] {
    position: relative;
    z-index: 1;
}

.page_bnr_link_box .box_inner .page_bnr_list ul li a:hover .figs img[src$="_off.png"] {
    opacity: 0;
}

.page_bnr_link_box .box_inner .page_bnr_list ul li a .figs img[src$="_on.png"] {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
}

.page_bnr_link_box .box_inner .page_bnr_list ul li a .lbls {
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    width: 100%;
    height: 100%;
    padding: 0 0 1.25rem 2rem;
    line-height: 1;
}


.page_bnr_link_box .box_inner .page_bnr_list ul li a .lbl_en {
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-size: 2rem;
    color: #fff;
    margin-bottom: 1.5em;
}

.page_bnr_link_box .box_inner .page_bnr_list ul li a .lbl_ja {
    position: relative;
    color: #2e265f;
    font-weight: 500;
    font-size: 1.2rem;
    padding-right: 3rem;
    transition: all 0.4s ease;
}

.page_bnr_link_box .box_inner .page_bnr_list ul li a:hover .lbl_ja {
    color: #fff;
}

.page_bnr_link_box .box_inner .page_bnr_list ul li a .lbl_ja::before {
    content: "";
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    background: #2e265f;
    position: absolute;
    top: calc(50% - 0.75rem);
    right: 0;
    border-radius: 50%;
    transition: all 0.4s ease;
}

.page_bnr_link_box .box_inner .page_bnr_list ul li a .lbl_ja::after {
    content: "";
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    background: url(../shared/icon_arrow_white.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(50% - 0.75rem);
    right: 0;
    transition: all 0.4s ease;
}

.page_bnr_link_box .box_inner .page_bnr_list ul li a:hover .lbl_ja::before {
    background: #fff;
}

.page_bnr_link_box .box_inner .page_bnr_list ul li a:hover .lbl_ja::after {
    background: url(../shared/icon_arrow_blue.png) no-repeat;
    background-size: contain;
}

.page_bnr_link_box .box_inner .link_btn_list {
    transition: .7s all ease;
    transition-delay: 1s;
    opacity: 0;
}

.page_bnr_link_box .box_inner .link_btn_list.show {
    opacity: 1;
}

.page_bnr_link_box .box_inner .link_btn_list ul {
    display: flex;
    justify-content: center;
    gap: 2.5rem;
}

.page_bnr_link_box .box_inner .link_btn_list ul li {
    width: 21.25rem;
}

.page_bnr_link_box .box_inner .link_btn_list ul li a {
    box-sizing: border-box;
    display: block;
    width: 100%;
    padding: 1.5rem 2rem;
    font-size: 1.2rem;
    font-weight: 500;
    background: #fff;
    text-decoration: none;
    color: #2e265f;
    border: 2px solid #2e265f;
    border-radius: 3rem;
    position: relative;
    transition: all 0.3s ease;
}

.page_bnr_link_box .box_inner .link_btn_list ul li a::before {
    content: "";
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    background: #2e265f;
    position: absolute;
    top: calc(50% - 0.75rem);
    right: 2rem;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.page_bnr_link_box .box_inner .link_btn_list ul li a::after {
    content: "";
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    background: url(../shared/icon_arrow_white.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(50% - 0.75rem);
    right: 2rem;
    transition: all 0.3s ease;
}

.page_bnr_link_box .box_inner .link_btn_list ul li a:hover {
    background: #2e265f;
    color: #fff;
}

.page_bnr_link_box .box_inner .link_btn_list ul li a:hover::before {
    background: #fff;
}

.page_bnr_link_box .box_inner .link_btn_list ul li a:hover::after {
    background: url(../shared/icon_arrow_blue.png) no-repeat;
    background-size: contain;
}

/*関連サイト*/
.links_box {
    padding: 3.75rem 0;
}

.links_box .links_box_wrap {
    width: 68.75rem;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: flex-start;
    gap: 2.5rem;
    transition: .5s all ease;
    opacity: 0;
    transform: translateY(1rem)
}

.links_box .links_box_wrap.show {
    opacity: 1;
    transform: translateY(0)
}

.links_box .links_box_wrap .box_header {
    box-sizing: border-box;
    width: 18.75rem;
    padding-left: 5.625rem;
    position: relative;
}

.links_box .links_box_wrap .box_header .en_ttl {
    font-family: "Roboto", sans-serif;
    font-weight: 300;
    font-size: 5rem;
    color: #edc5dd;
    line-height: 1;
    position: absolute;
    top: 2.5rem;
    left: -4rem;
    z-index: 1;
    transform: rotate(90deg);
}

.links_box .links_box_wrap .box_header h2 {
    font-size: 2rem;
    font-weight: 600;
    color: #2a2661;
    position: relative;
    z-index: 2;
    margin: 2.5rem 0 0 0;
}

.links_box .links_box_wrap .box_inner {
    flex: 1;
}

.links_box .links_box_wrap .box_inner ul {
    display: flex;
    justify-content: center;
    gap: 2.5rem;
}

.links_box .links_box_wrap .box_inner ul li {
    width: 23.5rem;
}

.links_box .links_box_wrap .box_inner ul li a {
    display: block;
    transition: .4s all ease;
}

.links_box .links_box_wrap .box_inner ul li a:hover {
    box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.15);
}

.links_box .links_box_wrap .box_inner ul li a img {
    max-width: 100%;
    height: auto;
    transition: .4s all ease;
}

.links_box .links_box_wrap .box_inner ul li a:hover img {
    filter: brightness(1.15);
}

/*スライド*/
/*
.slick-list {
    overflow: unset;
}

.slick-slide{
    width: 34.375rem !important;
}

.slick-initialized .slick-slide {
    display: flex;
    justify-content: flex-end;
}

.slick-prev,
.slick-next{
    width: 2.5rem;
    height: 100%;
    opacity: 1;
    z-index: 10;
    background: rgba(0, 0, 0, 0.4);
}

.slick-prev{
    left: -23.125rem !important;
}

.slick-next{
    right: 0 !important;
}

.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus{
    opacity: 1;
    z-index: 10;
    background: rgba(0, 0, 0, 0.4);
}

.slick-prev:before,
.slick-next:before{
    opacity: 1;
    font-size: 1.25rem;
}
*/

@media screen and (min-width:1px) and (max-width:1400px) {}

@media screen and (min-width:1px) and (max-width:1200px) {}

/*ipad*/
@media screen and (min-width:1px) and (max-width:1024px) {
    .mainvisual_inner {
        width: 100%;
        height: 37rem;
    }

    .mainvisual_inner::before {
        width: 76.4rem;
        height: 30rem;
        position: absolute;
        top: 0;
        left: 0;
    }

    .mainvisual_inner .fig_bg_mv01 {
        width: 11.2rem;
        position: absolute;
        top: 3rem;
        right: -13.7rem;
    }

    .mainvisual_inner .fig_bg_mv02 {
        width: 47.2rem;
        position: absolute;
        top: 0;
        left: -16rem;
    }

    .mainvisual_inner .fig_mv {
        width: 51rem;
        position: absolute;
        top: 0;
        left: -4.5rem;
    }

    .mainvisual_inner .lbl_mv_01 {
        width: 8rem;
        position: absolute;
        top: 1.2rem;
        right: 1rem;
    }

    .mainvisual_inner .lbl_mv_02 {
        width: 14rem;
        position: absolute;
        bottom: 2.4rem;
        right: 10.4rem;
    }

    .mainvisual_inner .mv_text {
        padding: 1.5rem 1.6rem;
        background: #fff;
        position: absolute;
        bottom: 7rem;
        left: 0;
    }

    .mainvisual_inner .mv_text .mv_text_ttl {
        font-size: 1.6rem;
    }

    .mainvisual_inner .mv_text dl dt {
        font-size: 0.9rem;
    }

    .mainvisual_inner .mv_text dl dd {
        font-size: 0.9rem;
    }

    .about_box .box_inner {
        width: 97vw;
    }

    .about_box .box_inner .about_wrap{
        gap: 3rem;
    }

    .about_box .box_inner .about_wrap .about_img,
    .about_box .box_inner .about_wrap .about_img .slide_obj{
        width: 75vw;
    }

    .about_box .box_inner .about_wrap .about_img{
        top: 1rem;
    }

    .about_box .box_inner .about_wrap .about_content {
        padding-right: 2rem;
        width: 26rem;
    }

    .about_box .box_inner .about_wrap .about_content h3 {
        margin-bottom: 1rem;
    }

    .about_box .box_inner .about_wrap .about_content p {
        margin-bottom: 1.75rem;
    }

    .about_box .box_inner .event_bnr {
        margin: 5.5rem 1.6rem 0 0;
    }

    .about_box .box_inner .event_bnr a {
        width: 30.4rem;
        height: 9.2rem;
    }

    .about_box .box_inner .event_bnr a .event_bnr_ttl_text {
        padding-left: 9.2rem;
    }

    .about_box .box_inner .event_bnr a .event_bnr_ttl {
        padding: 2rem 0 0.3rem 0;
    }

    .about_box .box_inner .event_bnr a .event_bnr_ttl .lbl_en {
        font-size: 3.2rem;
    }

    .about_box .box_inner .event_bnr a .event_bnr_text {
        font-size: 0.9rem;
    }

    .about_box .box_inner .about_fig01 {
        width: 10rem;
        height: 10rem;
        position: absolute;
        top: 24rem;
        left: -4.5rem;
    }

    .about_box .box_inner .about_fig02 {
        width: 10rem;
        height: 10rem;
        position: absolute;
        top: 6.5rem;
        right: -10rem;
    }

    .about_box .box_inner .about_bg_fig01 {
        width: 13.6rem;
        height: 13.6rem;
        position: absolute;
        top: 13.5rem;
        left: 17.5rem;
    }

    .about_box .box_inner .about_bg_fig02 {
        width: 6rem;
        height: 6rem;
        position: absolute;
        top: 16.5rem;
        right: 0;
    }

    .about_box .box_inner .about_bg_fig03 {
        width: 6rem;
        height: 6rem;
        position: absolute;
        top: 27.1rem;
        left: 11.5rem;
    }

    .about_box .box_inner .about_bg_fig04 {
        width: 10rem;
        height: 10rem;
        position: absolute;
        top: 100%;
        right: -8.4rem;
    }

    .about_box .box_footer {
        width: 90vw;
    }

    .about_box .box_footer .lbl_about {
        width: 34em;
        padding: 2.8rem 0 0 0;
    }

    /*お知らせ*/
    .news_box {
        background: url(../shared/bg_news.png) no-repeat;
        background-size: 96rem auto;
        background-position: top center;
        padding: 4.5rem 0 4rem 0;
    }

    .news_box_wrap {
        width: 90vw;
        margin: 0 auto;
        position: relative;
        display: flex;
        justify-content: flex-start;
        gap: 2rem;
    }

    .news_box_wrap .box_header {
        width: 15rem;
        padding-left: 4.5rem;
    }

    .news_box_wrap .box_header .en_ttl {
        font-size: 7.2rem;
        top: 5.2rem;
        left: -6.4rem;
    }

    .news_box_wrap .box_header h2 {
        font-size: 1.6rem;
        margin: 2rem 0 0 0;
    }

    .news_box_wrap .box_inner .category_list {
        margin-bottom: 1.5rem;
    }

    .news_list li a .news_text .date_category {
        gap: 1.5rem;
    }

    .news_list li a .news_img {
        width: 8.4rem;
    }

    /*コース*/
    .course_box {
        padding: 5rem 0 3.5rem 0;
        background: url(../shared/bg_course.png);
        background-size: 128rem auto;
        background-position: bottom -14rem center;
    }

    .course_box .box_header {
        width: 90vw;
        margin: 0 auto 2.4rem auto;
        position: relative;
        padding-left: 2.5rem;
    }

    .course_box .box_header h3 {
        font-size: 1.6rem;
    }

    .course_box .box_header .en_ttl {
        font-size: 7.2rem;
        top: -1.2rem;
        left: 10.2rem;
    }

    .course_box .box_inner {
        width: 90vw;
        margin: 0 auto;
    }

    .course_box .box_inner .course_list ul li a .lbl {
        font-size: 1.1rem;
        padding-right: 1.6rem;
        bottom: 1rem;
        left: 1.6rem;
    }

    .course_box .box_inner .course_list ul li {
        width: calc((100% - 2rem) / 2);
    }

    .page_bnr_link_box {
        padding: 5rem 0 3rem 0;
    }

    .page_bnr_link_box .box_inner {
        width: 90vw;
    }

    .page_bnr_link_box .box_inner .page_bnr_list {
        margin-bottom: 3.2rem;
    }

    .page_bnr_link_box .box_inner .page_bnr_list ul {
        gap: 2rem;
    }

    .page_bnr_link_box .box_inner .page_bnr_list ul li {
        width: calc((100% - 4rem) / 3);
    }

    .page_bnr_link_box .box_inner .page_bnr_list ul li a {
        height: auto;
        aspect-ratio: 20 / 12.5;
    }

    .page_bnr_link_box .box_inner .page_bnr_list ul li a .lbls {
        padding-left: 1.5rem;
    }

    .page_bnr_link_box .box_inner .page_bnr_list ul li a .lbl_en {
        font-size: 1.8rem;
        margin-bottom: 1em;
    }

    .page_bnr_link_box .box_inner .page_bnr_list ul li a .lbl_ja {
        font-size: 1.1rem;
    }


    .page_bnr_link_box .box_inner .link_btn_list ul {
        gap: 2rem;
    }

    .page_bnr_link_box .box_inner .link_btn_list ul li {
        width: 17rem;
    }

    .page_bnr_link_box .box_inner .link_btn_list ul li a {
        padding: 1.2rem 1.6rem;
        font-size: 1rem;
    }

    .links_box {
        padding: 3rem 0;
    }

    .links_box .links_box_wrap {
        width: 90vw;
        gap: 2rem;
    }

    .links_box .links_box_wrap .box_header {
        width: 15rem;
        padding-left: 4.5rem;
    }

    .links_box .links_box_wrap .box_header .en_ttl {
        font-size: 3.8rem;
        top: 1.5rem;
        left: -3rem;
    }

    .links_box .links_box_wrap .box_header h2 {
        font-size: 1.6rem;
        margin: 2rem 0 0 0;
    }

    .links_box .links_box_wrap .box_inner ul {
        gap: 2rem;
    }

    .links_box .links_box_wrap .box_inner ul li {
        width: calc((100% - 2rem) / 2);
    }
}

/* ##########SP横向き########## */
@media screen and (min-width:1px) and (max-width:768px) {}

/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:479px) {

    .mainvisual_inner {
        height: 40.25rem;
    }

    .mainvisual_inner::before {
        content: "";
        display: block;
        width: 95.5rem;
        height: 37.5rem;
        background: url(../shared/bg_mv.png) no-repeat;
        background-size: contain;
        background-position: top center;
        position: absolute;
        top: 0;
        left: -19rem;
    }

    .mainvisual_inner .fig_bg_mv01 {
        width: 11.2rem;
        position: absolute;
        top: 3rem;
        right: -13.7rem;
    }

    .mainvisual_inner .fig_bg_mv02 {
        width: 47.2rem;
        position: absolute;
        top: 6rem;
        left: 9rem;
    }

    .mainvisual_inner .fig_mv {
        width: 56rem;
        position: absolute;
        top: 0;
        left: -23.5rem;
    }

    .mainvisual_inner .lbl_mv_01 {
        width: 6rem;
        position: absolute;
        top: 1.2rem;
        right: unset;
        left: 1rem;
    }

    .mainvisual_inner .lbl_mv_02 {
        width: 12rem;
        position: absolute;
        bottom: 7.4rem;
        right: 1.4rem;
    }

    .mainvisual_inner .mv_text {
        padding: 1rem;
        position: absolute;
        bottom: 0;
        left: 0;
    }

    .mainvisual_inner .mv_text .mv_text_ttl {
        font-size: 1.2rem;
    }

    .mainvisual_inner .mv_text dl {
        flex-direction: column;
        align-items: flex-start;
    }

    .about_box .box_inner {
        padding-top: 10rem;
    }

    .about_box .box_inner .event_bnr {
        margin: 0;
        position: absolute;
        top: 1rem;
        left: 2.5vw;
    }

    .about_box .box_inner .event_bnr a {
        width: 85vw;
        height: 25.7vw;
    }

    .about_box .box_inner .event_bnr a .event_bnr_ttl_text {
        padding-left: 27.5vw;
    }

    .about_box .box_inner .event_bnr a .event_bnr_ttl {
        padding: 1rem 0 0.3rem 0;
        margin: 0 0.5rem 0.5rem 0.5rem;
    }

    .about_box .box_inner .event_bnr a .event_bnr_ttl .lbl_ja {
        font-size: 1.2rem;
    }

    .about_box .box_inner .event_bnr a .event_bnr_ttl .lbl_en {
        font-size: 2.6rem;
        position: absolute;
        bottom: 0.5rem;
        right: 0.5rem;
    }

    .about_box .box_inner .event_bnr a .event_bnr_text {
        margin: 0 0.6rem;
        font-size: 0.8rem;
        line-height: 1.5;
    }

    .about_box .box_inner .about_wrap {
        flex-direction: column-reverse;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 9rem;
    }

    .about_box .box_inner .about_wrap .about_img_wrapper{
        width: 100%;
    }

    .about_box .box_inner .about_wrap .about_img,
    .about_box .box_inner .about_wrap .about_img .slide_obj{
        width: 90vw;
    }

    .about_box .box_inner .about_wrap .about_img{
        position: relative;
        margin: 0 auto;
        top: auto;
    }

    .about_box .box_inner .about_wrap .about_content {
        padding-right: 0;
        width: 85vw;
        margin: 0 auto;
    }

    .about_box .box_inner .about_wrap .about_content h3 {
        font-size: 1.5rem;
    }


    .about_box .box_inner .about_fig01 {
        width: 8rem;
        height: 8rem;
        position: absolute;
        top: auto;
        bottom: 11.8rem;
        left: 0.5rem;

    }

    .about_box .box_inner .about_fig02 {
        width: 8rem;
        height: 8rem;
        position: absolute;
        top: auto;
        bottom: 16.8rem;
        right: -0.2rem;
    }

    .about_box .box_inner .about_bg_fig01 {
        width: 10.88rem;
        height: 10.88rem;
        position: absolute;
        top: auto;
        bottom: 8.8rem;
        left: 4.8rem;
        z-index: -2;
    }

    .about_box .box_inner .about_bg_fig02 {
        width: 4.8rem;
        height: 4.8rem;
        position: absolute;
        top: auto;
        bottom: 12rem;
        right: 3rem;
    }

    .about_box .box_inner .about_bg_fig03 {
        width: 4.8rem;
        height: 4.8rem;
        position: absolute;
        top: auto;
        bottom: 4rem;
        left: 0;
    }

    .about_box .box_inner .about_bg_fig04 {
        width: 8rem;
        height: 8rem;
        position: absolute;
        top: 8.2rem;
        right: -7.2rem;
    }

    .about_box .box_footer .lbl_about {
        width: auto;
    }

    .about_box .box_inner .about_wrap .about_content .btn_link a {
        padding: 0.625rem 2rem;
    }

    .about_box .box_inner .about_wrap .about_content .btn_link a::after {
        right: 0.5rem;
    }

    .news_box {
        padding: 2.5rem 0 3rem 0;
        background: url(../shared/bg_news.png) no-repeat;
        background-size: 96rem auto;
        background-position: top center;
    }

    .news_box_wrap {
        flex-direction: column;
    }

    .news_box_wrap .box_header {
        width: auto;
        padding: 0;
    }

    .news_box_wrap .box_header .en_ttl {
        font-size: 5rem;
        top: auto;
        bottom: 0;
        right: 0;
        left: auto;
        transform: rotate(0deg);
    }

    .news_list li a {
        flex-direction: column;
        gap: 0;
        padding: 1em 0.5em;
    }

    .news_list li a .news_text {
        display: flex;
        flex-wrap: wrap;
    }

    .news_list li a .news_text .date_category {
        font-size: 0.9em;
        width: 100%;
        margin-bottom: 0.2em;
    }

    .news_list li a .news_text .entry_category span {
        padding-left: 1.3em;
    }

    .news_list li a .news_text .entry_category span::before {
        width: 1em;
        height: 1em;
    }

    .news_list li a .news_text {
        display: flex;
    }

    .news_list li a .news_text .date_ttl {
        flex: 1;
        padding-right: 1em;
    }

    .news_list li a .news_text .news_img_sp {
        display: block;
        width: 30%;
    }

    .news_list li a .news_text .news_img_sp img {
        max-width: 100%;
        height: auto;
    }

    .news_list li a .news_img {
        display: none;
    }

    .news_box_wrap .more {
        position: unset;
        display: flex;
        justify-content: center;
    }

    .more a {
        padding: 0.625rem 2rem;
    }

    .more a::after {
        right: 0.5rem;
    }

    .course_box {
        padding: 3rem 0 2.5rem 0;
    }

    .course_box .box_header {
        padding-left: 0;
    }

    .course_box .box_header h3 {
        font-size: 1.5rem;
    }

    .course_box .box_header .en_ttl {
        font-size: 6rem;
        top: -0.5rem;
        left: auto;
        right: 0;
    }

    .course_box .box_header .more {
        display: none;
    }

    .course_box .box_inner .course_list ul {
        flex-direction: column;
    }

    .course_box .box_inner .course_list ul li {
        width: 85vw;
        margin: 0 auto;
    }

    .page_bnr_link_box .box_inner .page_bnr_list {
        margin-bottom: 2rem;
    }

    .page_bnr_link_box {
        padding: 3rem 0 2rem 0;
    }

    .page_bnr_link_box .box_inner .page_bnr_list ul {
        gap: 1rem;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .page_bnr_link_box .box_inner .page_bnr_list ul li {
        width: calc((100% - 1rem) / 2);
    }

    .page_bnr_link_box .box_inner .page_bnr_list ul li a .lbls {
        padding-left: 0.75rem;
        padding-bottom: 0.75rem;
    }

    .page_bnr_link_box .box_inner .page_bnr_list ul li a .lbl_en {
        font-size: 1.64rem;
    }

    .page_bnr_link_box .box_inner .page_bnr_list ul li a .lbl_ja {
        padding-right: 2.5rem;
    }

    .page_bnr_link_box .box_inner .link_btn_list ul {
        gap: 1rem;
        flex-direction: column;
    }

    .page_bnr_link_box .box_inner .link_btn_list ul li {
        width: 70vw;
        margin: 0 auto;
    }

    .links_box {
        padding: 1rem 0 2rem 0;
    }

    .links_box .links_box_wrap {
        flex-direction: column;
        gap: 1.5rem;
    }

    .links_box .links_box_wrap .box_header {
        width: auto;
        padding: 0;
    }

    .links_box .links_box_wrap .box_header .en_ttl {
        font-size: 3.8rem;
        top: auto;
        bottom: 0;
        right: 1rem;
        left: auto;
        transform: rotate(0deg);
    }

    .links_box .links_box_wrap .box_header h2 {
        font-size: 1.5rem;
        margin: 1.5rem 0 0 0;
    }

    .links_box .links_box_wrap .box_inner {
        width: 90vw;
        margin: 0 auto;
    }

    .links_box .links_box_wrap .box_inner ul {
        gap: 1rem;
    }

    .links_box .links_box_wrap .box_inner ul li {
        width: calc((100% - 1rem) / 2);
    }

}


/* ##########印刷用########## */
@media print {}