@charset "UTF-8"; /*****contents*****/
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
プロモ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.promo_frame {
	position: relative;
    z-index: 0;
}

/* 各スライドを基準にする */
.promo_slider .swiper-slide {
    position: relative;
}

/* 初期は非表示 */
.promo_slider {
    opacity: 0;
    transition: opacity 1.5s ease;
}

/* 表示状態 */
.promo_slider.is-loaded {
    opacity: 1;
}

.promo_slider img {
    width: 100%;
    display: block;
}

/* overlayを各slideに置く */
.promo_slider .swiper-slide::before {
    content:"";
    position:absolute;
    inset:0;
    background:rgba(102,102,102,.15);
    z-index:1;
    pointer-events:none;
}

/* テキストを上に重ねる */
.promo_frame .slide_contents {
    position: absolute;
    top: 55%;
    left: 17%;
    transform: translateY(-50%);
    z-index: 2;
}

.promo_frame .txt01 {
	width: 65.3rem;
}

.promo_frame .txt02 {
    position: absolute;
    top: 39%;
    opacity: 0;
    clip-path: inset(0 100% 0 0);
    transition: clip-path .5s ease-in;
    left: 4%;
}

.promo_frame .txt02.yourself {
    width: 38.2rem;
}

.promo_frame .txt02.years6 {
    width: 29.8rem;
    left: 11%;
}

.promo_frame .txt02.study {
    width: 25rem;
    left: 14%;
}

.promo_frame .txt02.is-animate {
    /*animation:revealMask .3s ease forwards;
  animation-delay:.8s;*/
    clip-path: inset(0 0 0 0);
    opacity: 1;
}

@media (max-width: 1800px) {
    .promo_frame .slide_contents {
        left: 11%;
    }

    .promo_frame .txt01 {
        width: 56.3rem;
    }

    .promo_frame .txt02.yourself {
        width: 34.2rem;
    }

    .promo_frame .txt02.years6 {
        width: 26.8rem;
        left: 10%;
    }

    .promo_frame .txt02.study {
        width: 24rem;
        left: 13%;
    }
}
/*@keyframes revealMask{
  0%{
    opacity:0;
    clip-path: inset(0 100% 0 0);
  }
  100%{
    opacity:1;
    clip-path: inset(0 0 0 0);
  }
}*/
/*============================
#home_news
============================*/
#home_news {
    background: url("../../images/home/index_news_bg_blue.png") no-repeat left -21rem top 40rem / 63.9rem 59.2rem, url("../../images/home/index_news_bg_pink.png") no-repeat right -11rem top 2.5rem / 52.4rem 44.1rem;
    padding-bottom: 5rem;
}

#home_news .post_cat:not(:last-of-type) {
    margin-bottom: 5rem;
}

#home_news .post_cat .inner {
    grid-template-columns: 22rem 1fr;
    gap : 5rem;
}

#home_news .post_cat .inner .ttl_area h2.main_ttl {
    display: grid;
    gap: 1.5rem;
    margin-bottom: 6rem;
}

#home_news .post_cat .inner .ttl_area h2.main_ttl span {
    display: table;
}

#home_news .post_cat .inner .ttl_area h2.main_ttl span.en {
    font-family: "Outfit", sans-serif;
    font-size: 7.6rem;
    line-height: 1;
    font-weight: 500;
    letter-spacing: .04em;
}

#home_news .post_cat.topics_cat .inner .ttl_area h2.main_ttl span.en {
    color: #FF8A88;
}

#home_news .post_cat.exam_cat .inner .ttl_area h2.main_ttl span.en {
    color: #00B8DC;
}

#home_news .post_cat .inner .ttl_area h2.main_ttl span.ja {
    font-size: 2rem;
    font-weight: 600;
    padding-left: 1rem;
}

#home_news .post_cat .inner .ttl_area p.btn a {
    font-size: 2rem;
    font-weight: 500;
    padding: 1rem 7rem 1rem 1rem;
    position: relative;
}

#home_news .post_cat .inner .ttl_area p.btn a::before, #home_news .post_cat .inner .ttl_area p.btn a::after {
    position: absolute;
    content: "";
    width: 5rem;
    height: 5rem;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

#home_news .post_cat .inner .ttl_area p.btn a::before {
    border-radius: 100%;
    border: 2px solid;
}

#home_news .post_cat.topics_cat .inner .ttl_area p.btn a::before {
    border-color: #FF8A88;
}

#home_news .post_cat.exam_cat .inner .ttl_area p.btn a::before {
    border-color: #00B8DC;
}

#home_news .post_cat .inner .ttl_area p.btn a::after {
    -webkit-mask: url("../../images/common/main_arrow.svg") no-repeat center / .8rem 1.3rem;
    mask: url("../../images/common/main_arrow.svg") no-repeat center / .8rem 1.3rem;
}

#home_news .post_cat.topics_cat .inner .ttl_area p.btn a::after {
    background-color: #FF8A88;
}

#home_news .post_cat.exam_cat .inner .ttl_area p.btn a::after {
    background-color: #00B8DC;
}

#home_news .insta_btn {
    margin-top: 7rem;
}

#home_news .insta_btn a {
    font-size: 2.2rem;
    position: relative;
    line-height: 1.5;
    display: grid;
    width: 47rem;
    height: 12rem;
    border-radius: 6rem;
    border: .4rem solid #F7931E;
    align-items: center;
    background: #fff;
    justify-content: center;
    margin: 0 auto;
    padding: 1rem 6rem 1rem 9rem;
    font-weight: 500;
}

#home_news .insta_btn a::before {
    position: absolute;
    content: "";
    z-index: -1;
    background: url("../../images/common/index_insta_daruma.png") no-repeat 50% / contain;
    width: 9.1rem;
    height: 11.4rem;
    transform: rotate(-15deg);
    top: 0;
    left: -8rem;
}

#home_news .insta_btn a span::before, #home_news .insta_btn a span::after {
    position: absolute;
    content: "";
    background: no-repeat 50% / contain;
    top: 50%;
    transform: translateY(-50%);
}

#home_news .insta_btn a span::before {
    background-image: url("../../images/common/index_insta_icon.svg");
    width: 4.4rem;
    height: 4.4rem;
    left: 4rem;
}

#home_news .insta_btn a span::after {
    -webkit-mask: url("../../images/common/main_arrow.svg") no-repeat center / contain;
    mask: url("../../images/common/main_arrow.svg") no-repeat center / contain;
    background-color: #F7931E;
    width: 1.5rem;
    height: 2.5rem;
    right: 4rem;
}

@media (min-width: 769px) { 
    #home_news .post_cat.topics_cat .inner .ttl_area p.btn a:hover::before {
        background: #FF8A88;
    }

    #home_news .post_cat.exam_cat .inner .ttl_area p.btn a:hover::before {
        background: #00B8DC;
    }
    
    #home_news .post_cat .inner .ttl_area p.btn a:hover::after {
        background-color: #fff;
    }
    
    #home_news .insta_btn a:hover {
        background: #F7931E;
        color: #fff;
        
        
    }
    
    #home_news .insta_btn a:hover span::before  {
        mask: url("../../images/common/index_insta_icon.svg") no-repeat 50% / contain;
        background: #fff;
    }
    
    #home_news .insta_btn a:hover span::after {
        background-color: #fff;
    }
}


/*============================
#home_about
============================*/
#home_about {
    background: url("../../images/home/index_about_bg.jpg") no-repeat left 50% top 0 / 100% 147rem;
    position: relative;
    padding-top: 7rem;
    padding-bottom: 8rem;
}

#home_about .slug_wrap {
    position: relative;
    left: -3rem;
    display: grid;
    gap: 4rem;
    margin-bottom: 5rem;
}

#home_about .slug_wrap p.en {
    width: 46.7rem;
    margin-left: -8rem;
}

#home_about .slug_wrap p.num {
    width: 34.8rem;
}

#home_about h2.main_ttl {
    font-size: 4.8rem;
    font-weight: 500;
    font-family: "Zen Maru Gothic", sans-serif;
    letter-spacing: .08em;
    margin-bottom: 4rem;
    line-height: 1.5;
}

#home_about h2.main_ttl .minus_space {
    margin-left: -2.1rem;
    display: inline-block;
}

#home_about p.main_txt {
    font-size: 2.2rem;
    line-height: 2.75;
    font-weight: 600;
}

#home_about .img_wrap {
    position: absolute;
    top: 9rem;
    right: calc(50% - 85rem);
    display: grid;
    grid-template-columns: 1fr 1fr;
}

#home_about .img_wrap p.img.gallary01 {
    width: 68.4rem;
    grid-column: 1 / -1;
}


#home_about .img_wrap p.img.gallary02 {
    width: 37.4rem;
}

#home_about .img_wrap p.img.gallary02 img {
    margin-left: -11rem;
    margin-top: 1rem;
}

#home_about .img_wrap p.img.gallary03 {
    width: 33.8rem;
    margin-top: 13rem;
    margin-left: -4rem;
}

#home_about .video_wrap {
    margin-top: 9rem;
}

#home_about .video_wrap h3.ttl {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 4.8rem;
    letter-spacing: .12em;
    text-align: center;
    color: #5ABD52;
    margin-bottom: 2rem;
    font-weight: 500;
}

#home_about .video_wrap .video_border {
    position: relative;
    width: 94rem;
    height: 52.8rem;
    z-index: 0;
    margin: 0 auto;
    cursor: pointer;
}

#home_about .video_wrap .video_border::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    outline: 4px solid #5ABD52;
    top: 0;
    z-index: -1;
}

#home_about .video_wrap iframe, #home_about .video_wrap video {
    display: block;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*============================
#home_school_info
============================*/
#home_school_info h2.main_ttl {
    position: relative;
}

#home_school_info h2.main_ttl::before, #home_school_info h2.main_ttl::after {
    position: absolute;
    content: "";
    width: 9rem;
    height: 9rem;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

#home_school_info h2.main_ttl::before {
    border-radius: 100%;
    border: 2px solid #fff;
}

#home_school_info h2.main_ttl::after {
    -webkit-mask: url("../../images/common/main_arrow.svg") no-repeat center / 1.2rem auto;
    mask: url("../../images/common/main_arrow.svg") no-repeat center / 1.2rem auto;
    background-color: #fff;
}

#home_school_info h2.main_ttl a {
    display: table;
    color: #fff;
}

#home_school_info h2.main_ttl span {
    display: table;
}

#home_school_info h2.main_ttl span.ja {
    font-size: 6.2rem;
    letter-spacing: .08em;
    font-weight: 500;
    font-family: "Zen Maru Gothic", sans-serif;
}

#home_school_info h2.main_ttl span.en {
    font-size: 2rem;
    letter-spacing: .08em;
    font-weight: 600;
    font-family: "Outfit", sans-serif;
    margin-top: 1rem;
}

#home_school_info p.main_txt {
    font-size: 2rem;
}

#home_school_info {
    padding-top: 16rem;
}

#home_school_info .half_bg {
    background: linear-gradient( to right, #5ABD52 50%, #FF8A88 50% );
    padding-bottom: 9.5rem;
    margin-bottom: 10rem;
}

@media (min-width: 768px) and (max-width: 1800px) {
    #home_school_info .half_bg {
        padding-left: 5rem;
        padding-right: 5rem;

    }
}


#home_school_info .inner {
    grid-template-columns: repeat(2,1fr);
    gap: 6.5rem;
    justify-content: center;
    position: relative;
}

#home_school_info .inner .box {
    position: relative;
}

#home_school_info .inner .box p.main_img {
    border-radius: 4rem;
    overflow: hidden;
    margin-bottom: 3.5rem;
    margin-top: -14rem;
}

#home_school_info .inner .box .txt_wrap {
    padding: 0 8rem 0 7rem;
}

#home_school_info .inner .box h2.main_ttl {
    color: #fff;
    display: grid;
    gap: 1rem;
    margin-bottom: 2rem;
}

#home_school_info .inner .box h2.main_ttl span.en {
    padding-left: 0.5rem;
}

#home_school_info .inner .box p.main_txt {
    color: #fff;
    line-height: 1.925;
    padding-left: 0.5rem;
}

#home_school_info .box02 {
    width: 90rem;
    height: 30rem;
    border: .4rem solid #5ABD52;
    border-radius: 4rem;
    position: relative;
    margin: 0 auto;
    padding: 5rem 41rem 5rem 7.5rem;
}

#home_school_info .box02 h2.main_ttl {
    gap: 1rem;
    display: grid;
    margin-bottom: 1rem;
}

#home_school_info .box02 h2.main_ttl::before, #home_school_info .box02 h2.main_ttl::after {
    width: 7rem;
    height: 7rem;
}

#home_school_info .box02 h2.main_ttl::before {
    border-color: #5ABD52;
}

#home_school_info .box02 h2.main_ttl::after {
    background-color: #5ABD52;
}

#home_school_info .box02 h2.main_ttl span.ja {
    font-size: 4.8rem;
    color: #333333;
}

#home_school_info .box02 h2.main_ttl span.en {
    color: #5ABD52;
}

#home_school_info .box02 p.main_txt {
    line-height: 1.75;
}

#home_school_info .box02 p.main_img {
    position: absolute;
    bottom: 0;
    right: 5rem;
    width: 30rem;
}


@media (min-width: 769px) { 
    #home_school_info .box h2.main_ttl::before,
    #home_school_info .box h2.main_ttl::after,
    #home_school_info .box02 h2.main_ttl::before,
    #home_school_info .box02 h2.main_ttl::after{
        transition: .2s ease-in;
    }
    #home_school_info .box:hover h2.main_ttl::before {
        background: #fff;
    }
    
    #home_school_info .school_intro:hover h2.main_ttl::after {
        background: #5ABD52;
        
    }
    #home_school_info .school_life:hover h2.main_ttl::after {
        background: #FF8A88;
        
    }
    #home_school_info .box02:hover h2.main_ttl::before {
        background: #5ABD52;
    }
    
    #home_school_info .box02:hover h2.main_ttl::after {
        background-color: #fff;
    }
}

/*============================
#home_examinees
============================*/
#home_examinees {
    padding-top: 4rem;
    padding-bottom: 3.5rem;
}

@media (min-width: 768px) and (max-width: 1800px) {
    #home_examinees {
            padding-left: 5rem;
            padding-right: 5rem;

        }
}



#home_examinees .wide_l_width {
    max-width: 170rem;
}

#home_examinees .outer_bg {
    background: #E5F8FB;
    position: relative;
    background: linear-gradient( to bottom, #E5F8FB 0%, #E5F8FB calc(100% - 8rem), #ffffff calc(100% - 8rem), #ffffff 100% );
    z-index: 0;
}

#home_examinees .outer_bg::before, #home_examinees .outer_bg::after {
    position: absolute;
    content: "";
    background: no-repeat 50% / contain;
    z-index: -1;
}

#home_examinees .outer_bg::before {
    background-image: url("../../images/home/index_forene_img01.png");
    width: 43.1rem;
    height: 40.8rem;
    top: -3rem;
    left: -6rem;
}

#home_examinees .outer_bg::after {
    background-image: url("../../images/home/index_forene_img02.png");
    width: 40.6rem;
    height: 37rem;
    top: -2rem;
    right: -3rem;
}

#home_examinees .outer_bg h2.main_ttl {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 6.2rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-align: center;
    padding-top: 10rem;
    position: relative;
    margin-bottom: 7rem;
    display: table;
    margin: 0 auto 5.5rem;
}

#home_examinees .outer_bg h2.main_ttl::before {
    position: absolute;
    content: "";
    background: url("../../images/home/index_toexam_title.svg") no-repeat 50%/ contain;
    width: 46.7rem;
    height: 10.5rem;
    top: -3rem;
    left: -22.5rem;
}

#home_examinees .outer_bg ul.items {
    grid-template-columns: repeat(3,1fr);
    max-width: 109.8rem;
    margin: 0 auto;
    gap: .9rem;
    border-radius: 4rem;
    overflow: hidden;
    margin-bottom: 9.5rem;
}

#home_examinees .outer_bg ul.items li {
    background: #fff;
    display: grid;
    justify-content: center;
    position: relative;
    padding: 5.5rem 0 9rem;
    transition: .2s ease-in;
}

#home_examinees .outer_bg ul.items li::after {
    position: absolute;
    content: "";
    -webkit-mask: url("../../images/common/main_arrow.svg") no-repeat center / 1.2rem auto;
    mask: url("../../images/common/main_arrow.svg") no-repeat center / contain;
    transform: rotate(90deg) translateX(-50%);
    bottom: 3rem;
    left: 47%;
    background-color: #00B8DC;
    width: 1.2rem;
    height: 2.5rem;
    transition: .2s ease-in;
}

#home_examinees .outer_bg ul.items li p.icon {
    width: 4.8rem;
    height: 4.8rem;
    margin: 0 auto 1rem;
    mask: no-repeat 50% / cover;
    background-color: #00B8DC;
    transition: .2s ease-in;
}

#home_examinees .outer_bg ul.items li:nth-child(1) p.icon {
    mask-image: url("../../images/home/index_toexam_icon01.svg");
}

#home_examinees .outer_bg ul.items li:nth-child(2) p.icon {
    mask-image: url("../../images/home/index_toexam_icon02.svg");
}

#home_examinees .outer_bg ul.items li:nth-child(3) p.icon {
    mask-image: url("../../images/home/index_toexam_icon03.svg");
}

#home_examinees .outer_bg ul.items li:nth-child(4) p.icon {
    mask-image: url("../../images/home/index_toexam_icon04.svg");
}

#home_examinees .outer_bg ul.items li:nth-child(5) p.icon {
    mask-image: url("../../images/home/index_toexam_icon05.svg");
}

#home_examinees .outer_bg ul.items li:nth-child(6) p.icon {
    mask-image: url("../../images/home/index_toexam_icon06.svg");
}

#home_examinees .outer_bg ul.items li h3.ttl a {
    font-size: 3.6rem;
    font-family: "Zen Maru Gothic", sans-serif;
    line-height: 2;
    color: #00B8DC;
    display: table;
    margin: 0 auto;
}

#home_examinees .outer_bg ul.items li p.txt {
    font-size: 1.8rem;
    text-align: center;
    transition: .2s ease-in;
}

@media (min-width: 769px) { 
    #home_examinees .outer_bg ul.items li:hover {
        background: #00B8DC;
    }

    #home_examinees .outer_bg ul.items li:hover::after {
        background-color: #fff;
    }

    #home_examinees .outer_bg ul.items li:hover p.icon {
        background-color: #fff;
    }

    #home_examinees .outer_bg ul.items li:hover h3.ttl a {
        color: #fff;
    }

    #home_examinees .outer_bg ul.items li:hover p.txt {
        color: #fff;
    }
}

#home_examinees .outer_bg .inner .box {
    grid-template-columns: repeat(2,1fr);
    max-width: 136rem;
    margin: 0 auto;
    justify-content: center;
}

#home_examinees .outer_bg .inner .box .ima_area {
    position: relative;
}

#home_examinees .outer_bg .inner .box .ima_area p.slug {
    width: 55rem;
    position: absolute;
    top: -5rem;
    left: 3rem;
}

#home_examinees .outer_bg .inner .box .ima_area p.img img {
    border-radius: 4rem 0 0 4rem
}

#home_examinees .outer_bg .inner .box .contents_area {
    background: #00B8DC;
    border-radius: 0 4rem 4rem 0;
    position: relative;
    padding: 9rem 3rem 0;
}

#home_examinees .outer_bg .inner .box .contents_area::after {
    position: absolute;
    content: "";
    background: url("../../images/home/index_toexam_online_fuki.svg") no-repeat 50% / contain;
    width: 26.8rem;
    height: 16.8rem;
    top: -2rem;
    right: 1rem;
}

#home_examinees .outer_bg .inner .box .contents_area h3.ttl {
    font-size: 5.2rem;
    letter-spacing: .04em;
    font-weight: bold;
    color: #fff;
    padding-top: 8rem;
    position: relative;
    margin-bottom: 1.5rem;
    text-align: center;
    font-family: "Zen Maru Gothic", sans-serif;
}

#home_examinees .outer_bg .inner .box .contents_area h3.ttl::before {
    position: absolute;
    content: "";
    background: url("../../images/home/index_toexam_icon_online.svg") no-repeat 50% / contain;
    width: 6.2rem;
    height: 5.6rem;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

#home_examinees .outer_bg .inner .box .contents_area p.main_txt {
    font-size: 2rem;
    text-align: center;
    color: #fff;
    margin-bottom: 3.54rem;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
スライダー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_slider {
    background: url("../../images/home/index_loop_bg.jpg") no-repeat left top / 100% 99rem;
    padding: 14rem 0 10rem;
}

#home_slider .slider-wrap {
    overflow: hidden;
    width: 100%;
    height: 66rem;
    position: relative;
}

#home_slider .slider-bg {
    height: 100%;
    width: calc(244rem * 2);
    background-image: url("../../images/home/index_loop_img.png");
    background-repeat: repeat-x;
    background-size: 244rem 66rem;
    animation: slide 60s linear infinite;
}

#home_slider .slider-wrap p.main_ttl {
    width: 104rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

@keyframes slide {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-244rem);
    }
}

#home_slider div.btn_wrap.grid {
    grid-template-columns: repeat(3,1fr);
    gap: 2rem;
    max-width: 118rem;
    margin: 14rem auto 0;
}

#home_slider div.btn_wrap.grid p.btn a {
    border: 2px solid #5ABD52;
    min-height: 12rem;
    border-radius: 6rem;
    line-height: 1.25;
}
}