@charset "UTF-8"; 
/* 「直後に .important を持っていない」 .promo_frame にスタイルを当てる */
.promo_frame:not(:has(+ .important)) {
    margin-bottom: 10rem;
}

.home_maintenace > * {
    text-align: center;
}
.home_maintenace h2.ttl {
    font-size: 4.4rem;
    text-align: center;
    margin-bottom: 8rem;
}
.home_maintenace p.lead {
    font-size: 2.4rem;
    margin-bottom: 3rem;
}
.home_maintenace p.close {
    font-size: 2.4rem;
    color: #F15A24;
    line-height: 1.5416666;
    margin-bottom: 3rem;
}
.home_maintenace p.txt {
    font-size: 2.2rem;
    line-height: 1.5416666;
}
.home_maintenace p.tel {
    font-size: 2.2rem;
    margin-bottom: 5rem;
}


/*****contents*****/
.cmn_slug {
    position: relative;
    z-index: 0;
}

.cmn_slug::before {
    position: absolute;
    content: "";
    font-family: "Jost", sans-serif;
    font-size: 18.8rem;
    line-height: 1;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: table;
    color: rgb(242 242 242 / 60%);
    z-index: -1;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
プロモ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.promo_frame {
    position: relative;
    color: #fff;
    text-align: center;
    height: 92rem;
}

.promo_frame::before,
.promo_frame::after {
    position: absolute;
    content: "";  
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;  
}

.promo_frame::before {
    background: url("../../images/home/index_main_hane.png") no-repeat 50% / cover;
    z-index: 2;
}

.promo_frame::after {
    background: rgba(0,0,0,.05);
    z-index: 3;
}

.promo_frame .promo_txt {
    position: relative;
    z-index: 2;
}

.promo_frame .promo_txt p.main_txt {
    position: absolute;
    bottom: 13rem;
    left: 27rem;
    margin: auto 0;
    z-index: 1;
    width: 74.5rem;
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
大切なお知らせ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.important {
    max-width: 91rem;
    margin: -8rem auto 0;
	z-index: 4;
    position: relative;
}

.important .inner {
    background: #fff;
    padding: 4rem 4.5rem 3rem;
}

.important .inner h2.main_ttl {
    font-size: 2.6rem;
    text-align: center;
    color: #E21F48;
    letter-spacing: .04em;
    margin-bottom: 4.5rem;
    font-weight: 600;
}

.important .inner ul.cmn_post_list {
    align-items: flex-start;
    gap: 0;
    display: flex;
    flex-direction: column;
    height: 12rem;
    gap: 1rem;
}

.important .inner ul.cmn_post_list li {
    width: 100%;
    grid-template-columns: none;
    align-items: flex-start;
    padding-right: 6rem;
}


.important .inner ul.cmn_post_list li .contents {
    display: flex;
    width: 100%;
    align-items: flex-start;
}

.important .inner ul.cmn_post_list li .contents .f_wrap {
    align-items: center;
    gap: 2rem;
    margin-right: 2rem;
}

.important .inner ul.cmn_post_list li .contents .f_wrap p.date {
    font-size: 1.8rem;
}

.important .inner ul.cmn_post_list li .contents .f_wrap p.cat {
    font-size: 1.2rem;
    border: 1px solid #E21F48;
    min-width: 8rem;
    min-height: 2.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 1.1rem;
    background: #E21F48;
    color: #fff;
}

.important .inner ul.cmn_post_list li .contents h3.ttl {
    width: 50%;
    flex-grow: 1;
}

.important .inner ul.cmn_post_list li .contents h3.ttl a {
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    font-size: 2rem;
    line-height: 1.5;
    font-weight: 600;
}

.important .inner ul.cmn_post_list li a:hover {
    opacity: .7;
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
カテゴリー一覧「投稿」・プロジェクト一覧「カスタム投稿」
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_news {
    padding: 7rem 0 12rem;
    position: relative;
}

#home_news::before {
    position: absolute;
    content: "SCHOOL NEWS";
    font-family: "Jost", sans-serif;
    font-size: 18.8rem;
    line-height: 1;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: table;
    color: rgb(242 242 242 / 60%);
    z-index: -1;
}

#home_news .inner {
    grid-template-columns: repeat(2 , 55rem);
    gap: 4.5rem 3rem;
    margin: 1.5rem 3rem 0 0;
    justify-content: space-between;
}

#home_news .inner .post_wrap .sec_head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2.5rem;
}

#home_news .inner .post_wrap .sec_head h2.main_ttl {
    display: flex;
    gap: 1rem;
    align-items: center;
}

#home_news .inner .post_wrap .sec_head h2.main_ttl span.en {
    font-family: "Jost", sans-serif;
    font-size: 5.4rem;
    color: var(--theme_m_color);
    letter-spacing: .08em;
    font-weight: 300;
}

#home_news .inner .post_wrap .sec_head h2.main_ttl span.ja {
    font-size: 1.8rem;
    margin-top: 1.5rem;
    font-weight: 600;
}

#home_news .inner .post_wrap .sec_head p.btn a {
    font-size: 1.4rem;
    color: var(--theme_m_color);
    padding-right: 3rem;
    position: relative;
}

#home_news .inner .post_wrap .sec_head p.btn a:hover {
    opacity: .7;
}

#home_news .inner .post_wrap .sec_head p.btn a::after {
    position: absolute;
    content: "";
    background: url("../../images/common/main_arrow.svg") no-repeat 50% / contain;
    width: 1rem;
    height: 1rem;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto 0;
}

#home_news .inner .post_wrap .scroll_wrap ul.cmn_post_list {
    margin-left: 2.5rem;
}

#home_news .inner .post_wrap .scroll_wrap ul.cmn_post_list li {
    gap: 3rem;
    padding-bottom: 3rem;
    transition: .3s ease-in;
}

#home_news .inner .post_wrap .scroll_wrap ul.cmn_post_list li:hover {
    opacity: 0.7;
}

#home_news .inner .post_wrap .scroll_wrap ul.cmn_post_list li:not(:last-of-type) {
    border-bottom: 1px solid #E6E6E6;
}

#home_news .inner .post_wrap .scroll_wrap ul.cmn_post_list li .area_b h3.ttl {
    margin-top: 1.5rem;
}

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

#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 #CEBD69;
    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_bold.svg") no-repeat center / contain;
    mask: url("../../images/common/main_arrow_bold.svg") no-repeat center / contain;
    background-color: #CEBD69;
    width: 1.5rem;
    height: 2.5rem;
    right: 4rem;
    transition: .2s ease-in;
}

@media (min-width: 769px) { 
   #home_news .insta_btn a:hover {
       background: #CEBD69;
       color: #fff;
}
    
    #home_news .insta_btn a:hover span::before {
    background: #fff;
    mask:url("../../images/common/index_insta_icon.svg") no-repeat 50% /contain;
}
    
#home_news .insta_btn a:hover span::after {
    background-color: #fff;
}
 
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ポリシー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_policy {
    position: relative;
    padding: 19.5rem 0 7rem;
}

#home_policy::before {
    content: "SCHOOL POLICY";
}

#home_policy .feather_bg::before {
    background-image: url("../../images/home/index_policy_hane1.png");
    width: 19.2rem;
    height: 24rem;
    top: 25rem;
    left: 10rem;
    z-index: 1;
}

#home_policy .feather_bg::after {
    background-image: url("../../images/home/index_policy_hane2.png");
    width: 19.6rem;
    height: 18.5rem;
    top: 17rem;
    right: 16rem;
    z-index: 1;
}

@media (max-width: 1700px) {
    #home_policy .feather_bg::after {
        right: 3rem;
    }
}

#home_policy .gallery_wrap {
    position: absolute;
}

#home_policy .gallery_wrap .gallery_inner {
    position: relative;
    height: 100%;
}

#home_policy .gallery_wrap .gallery_inner::before {
    position: absolute;
    content: "";
    width: 48rem;
    height: 63rem;
    background: var(--theme_m_color);
    top: 0;
    left: 0;
    z-index: -1;
}

#home_policy .gallery_wrap.left {
    top: -5rem;
    left: calc(50% - 96rem);
    width: 75.7rem;
    height: 78.8rem;
}

#home_policy .gallery_wrap.left p.img {
    position: absolute;
}

#home_policy .gallery_wrap.left p.img.gallery01 {
    top: 4.5rem;
    right: 5.5rem;
}

#home_policy .gallery_wrap.left p.img.gallery01 img {
    width: 56rem;
    border-radius: 4rem 0 4rem 0;
}

#home_policy .gallery_wrap.left p.img.gallery02 {
    bottom: 13rem;
    right: 0;
}

#home_policy .gallery_wrap.left p.img.gallery02 img {
    width: 31rem;
    border-radius: 4rem 0 4rem 0;
}

#home_policy .gallery_wrap.left p.img.gallery03 {
    bottom: 0;
    left: 18rem;
}

#home_policy .gallery_wrap.left p.img.gallery03 img {
    width: 22rem;
}

#home_policy .grid.inner {
    justify-content: flex-end;
    grid-template-columns: 18rem 44rem;
    gap: 8rem;
    position: relative;
    z-index: 1;
    margin-right: -2rem;
    margin-bottom: 15rem;
}

#home_policy .grid.inner h2.main_ttl {
    width: 15.5rem;
}

#home_policy .grid.inner p.main_txt {
    font-size: 2.2rem;
    line-height: 2.8181818;
    margin-top: 4.5rem;
}

#home_policy p.btn a {
    font-size: 3.4rem;
    width: 56rem;
    height: 14rem;
    border-radius: 7rem;
    padding: 2rem 10rem 2rem 15rem;
    line-height: 1;
    font-weight: 700;
}

#home_policy p.btn a::before {
    background: url("../../images/home/index_granddesign_icon.png") no-repeat 50% / contain;
    width: 8rem;
    height: 4rem;
    left: 4rem;
    transition: none;
}

#home_policy p.btn a::after {
    right: 4rem;
}

@media (min-width:769px) {
    
    #home_policy p.btn a:hover {
        background: var(--theme_m_color);
        color: #fff;   
    }
     #home_policy p.btn a:hover::before {
        background: #fff;
        mask: url("../../images/home/index_granddesign_icon.svg") no-repeat 50% / contain;
    }   
    
    #home_policy p.btn a:hover::after {
        background: #fff;
    }
}

#home_policy p.btn a span {
    display: block;
}

#home_policy p.btn a span.small {
    font-size: 2.2rem;
    margin-bottom: -2rem;
}

#home_policy .gallery_wrap.right {
    top: 0rem;
    right: calc(50% - 95.5rem);
}

#home_policy .gallery_wrap.right p.img.gallery04 img {
    width: 44rem;
    border-radius: 0 4rem 0 4rem;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
学校の・・・・
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_schools {
    padding: 10rem 14rem;
}

#home_schools .inner {
    grid-template-columns: repeat(2,1fr);
    gap: 6rem;
}

#home_schools .inner .box {
    background: no-repeat 50% / cover;
    height: 66rem;
    border-radius: 8rem 0 8rem 0;
    position: relative;
    transition: .2s ease-in;
}

#home_schools .inner .box::before {
    position: absolute;
    top: 0;
    font-size: 19rem;
    line-height: 1;
    font-family: "Jost", sans-serif;
    color: #F2F2F299;
    z-index: -1;
}

#home_schools .inner .box.about::before {
    content: "ABOUT";
    writing-mode: sideways-lr;
    left: -.85em;
}

#home_schools .inner .box.active::before {
    content: "ACTIVE";
    writing-mode: sideways-rl;
    right: -.85em;
}

#home_schools .inner .box p.lead {
    position: absolute;
    top: -3rem;
    right: 4rem;
    width: 12rem;
}

#home_schools .inner .box .contents_area {
    position: absolute;
    bottom: 6rem;
    left: 6rem;
    color: #fff;
    width: 88%;
}

#home_schools .inner .box .contents_inner {
    position: relative;
}

#home_schools .inner .box .contents_inner::before, #home_schools .inner .box .contents_inner::after {
    position: absolute;
    content: "";
    width: 8rem;
    height: 8rem;
    bottom: 0rem;
    right: 3rem;
}

#home_schools .inner .box .contents_inner::before {
    border: 2px solid #fff;
    border-radius: 100%;
    transition: .2s ease-in;
}

#home_schools .inner .box .contents_inner::after {
    mask: url("../../images/common/main_arrow.svg") no-repeat 50% / 1.8rem auto;
    background-color: #fff;
    transition: .2s ease-in;
}

@media (min-width: 769px) { 
    #home_schools .inner .box:hover .contents_inner::before {
        background: #fff;
    }
    
    #home_schools .inner .box:hover .contents_inner::after {
        background-color: var(--theme_m_color);
    }

}

#home_schools .inner .box .contents_area h3.ttl {
    margin-bottom: 1rem;
}

#home_schools .inner .box .contents_area h3.ttl a {
    font-size: 6rem;
    color: #fff;
    letter-spacing: .1em;
    font-weight: 600;
}

#home_schools .inner .box .contents_area p.txt {
    padding-right: 12rem;
}

@media (max-width : 1700px) {
#home_schools .inner .box .contents_area p.txt {
    padding-right: 12rem;
    font-size: 1.8rem;
}    
}

#home_schools .inner .box.about {
    background-image: url("../../images/home/index_aboutschool_img01.jpg");
}

#home_schools .inner .box.active {
    background-image: url("../../images/home/index_schoollife_img01.jpg");
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
学習指導
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_guidance {
    position: relative;
    padding-top: 2.5rem;
    padding-bottom: 22rem;
}

#home_guidance::before, #home_guidance::after {
    position: absolute;
    content: "";
    background: no-repeat 50% / contain;
    bottom: 0;
    height: 35rem;
    z-index: 1;
}

#home_guidance::before {
    background-image: url("../../images/home/index_guidance_bg01.png");
    width: 49.5rem;
    left: 10rem;
}

#home_guidance::after {
    background-image: url("../../images/home/index_guidance_bg02.png");
    width: 62.5rem;
    right: 6rem;
}

#home_guidance .wide_width {
    max-width: 130rem;
}

#home_guidance fieldset {
    position: relative;
    border: 2px solid var(--theme_m_color);
    padding: 0 0 11rem 0;
}

#home_guidance fieldset::before, #home_guidance fieldset::after {
    position: absolute;
    content: "";
    background: no-repeat 50% / contain;
    border-radius: 4rem 0 4rem 0;
}

#home_guidance fieldset::before {
    background-image: url("../../images/home/index_guidance_img01.jpg");
    width: 34rem;
    height: 25.5rem;
    top: -14.5rem;
    left: -11.5rem;
}

#home_guidance fieldset::after {
    background-image: url("../../images/home/index_guidance_img02.jpg");
    width: 36rem;
    height: 26rem;
    top: -5rem;
    right: -12rem;
}

#home_guidance fieldset legend {
    text-align: center;
}

#home_guidance fieldset legend h2.main_ttl {
    font-size: 6.6rem;
    color: var(--theme_m_color);
    display: table;
    margin: 0 auto;
    padding-top: 9rem;
    position: relative;
    min-width: 77rem;
    font-weight: 300;
    white-space: nowrap;
    letter-spacing: .1em;
}

#home_guidance fieldset legend h2.main_ttl::before {
    position: absolute;
    content: "Guidance";
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    font-family: "Jost", sans-serif;
    font-size: 18rem;
    color: #F2F2F299;
    line-height: 1;
    z-index: -1;
    font-weight: 400;
    letter-spacing: normal;
}

#home_guidance fieldset p.main_txt {
    text-align: center;
    margin-bottom: 7rem;
    margin-top: 3.5rem;
}

#home_guidance fieldset ul.items {
    grid-template-columns: repeat(2 , 1fr);
    width: 94rem;
    margin: 0 auto;
    justify-content: space-between;
    gap: 3rem 5rem;
}

#home_guidance fieldset ul.items li {
    padding: 0 0 3.5rem 2rem;
}

#home_guidance fieldset ul.items li:not(:nth-last-child(-n+2)) {
    border-bottom: 1px solid #CCCCCC;
}

#home_guidance fieldset ul.items li .ttl_wrap {
    grid-template-columns: 3.5rem 1fr;
    align-items: center;
    gap: 2rem;
    margin-bottom: 2rem;
}

#home_guidance fieldset ul.items li .ttl_wrap p.icon {
    width: 3.5rem;
}

#home_guidance fieldset ul.items li .ttl_wrap p.icon img {
}

#home_guidance fieldset ul.items li .ttl_wrap h3.ttl {
}

#home_guidance fieldset ul.items li .ttl_wrap h3.ttl a {
    font-size: 3.6rem;
    color: var(--theme_m_color);
    letter-spacing: .1em;
    margin-bottom: 2rem;
    font-weight: 600;
}

#home_guidance fieldset ul.items li p.txt {
    line-height: 1.5;
    position: relative;
    padding-right: 12rem;
}

#home_guidance fieldset ul.items li p.txt::before, #home_guidance fieldset ul.items li p.txt::after {
    position: absolute;
    content: "";
    width: 6rem;
    height: 6rem;
    top: 0;
    right: 3rem;
    bottom: 1rem;
    margin: auto 0;
}

#home_guidance fieldset ul.items li p.txt::before {
    background: var(--theme_m_color);
    border-radius: 100%;
    transition: .2s ease-in;
    border: 1px solid var(--theme_m_color);
}

#home_guidance fieldset ul.items li p.txt::after {
    mask: url("../../images/common/main_arrow.svg") no-repeat 50% / 1.8rem auto;
    background-color: #fff;
    transition: .2s ease-in;
}

@media (min-width: 769px) { 
    #home_guidance fieldset ul.items li:hover p.txt::before {
    background: #fff;
}

#home_guidance fieldset ul.items li:hover p.txt::after {
    background-color: var(--theme_m_color);
}
    
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
受験生の方へ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_exam{
    background: var(--theme_m_color);
    padding-top: 6.5rem;
    padding-bottom: 13rem;
}

#home_exam .feather_bg::before {
    background-image: url("../../images/home/index_exam_hane2.png");
    width: 18.5rem;
    height: 19.5rem;
    top: 42rem;
    left: 11rem;
    z-index: 1;
}

@media (max-width : 1700px) {
     #home_exam .feather_bg::before {
        left: -4rem;
    }   
}

#home_exam .feather_bg::after {
    background-image: url("../../images/home/index_exam_hane1.png");
    width: 21rem;
    height: 21rem;
    top: -13rem;
    right: 11rem;
    z-index: 1;
}

#home_exam .base_width {
    max-width: 132rem;
}

#home_exam h2.main_ttl {
    font-size: 6.6rem;
    color: var(--theme_m_color);
    display: block;
    text-align: center;
    padding-top: 10rem;
    position: relative;
    font-weight: 300;
    color: #fff;
    margin-bottom: 5rem;
    letter-spacing: .1em;
    z-index: 0;
}

#home_exam h2.main_ttl::before {
    position: absolute;
    content: "Entrance exams";
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    font-family: "Jost", sans-serif;
    font-size: 18rem;
    font-weight: 400;
    color: #2985bc;
    line-height: 1;
    letter-spacing: normal;
    z-index: -1;
}

#home_exam ul.items {
    grid-template-columns: repeat( 3, 1fr);
    gap: 3rem;
    margin-bottom: 7.5rem;
}

#home_exam ul.items li {
    border-radius: 4rem 0 4rem 0;
    overflow: hidden;
    position: relative;
}

#home_exam ul.items li p.main_bg {
}

#home_exam ul.items li p.main_bg img {
}

#home_exam ul.items li .contents_area {
    position: absolute;
    bottom: 3rem;
    left: 3rem;
    right: 0;
    margin: 0 auto;
    width: 90%;
}

#home_exam ul.items li .contents_area h3.ttl {
    margin-bottom: 1rem;
}

#home_exam ul.items li .contents_area h3.ttl a {
    font-size: 3.6rem;
    color: #fff;
}

#home_exam ul.items li .contents_area p.txt {
    color: #fff;
    position: relative;
    padding-right: 10rem;
}

#home_exam ul.items li .contents_area p.txt::before, #home_exam ul.items li .contents_area p.txt::after {
    position: absolute;
    content: "";
    width: 6rem;
    height: 6rem;
    top: 0;
    bottom: -1rem;
    right: 1.5rem;
    margin: auto 0;
}

#home_exam ul.items li .contents_area p.txt::before {
    border: 2px solid #fff;
    border-radius: 100%;
    transition: .2s ease-in;
}

#home_exam ul.items li .contents_area p.txt::after {
    mask: url("../../images/common/main_arrow.svg") no-repeat 50% / 1.8rem auto;
    background-color: #fff;
    transition: .2s ease-in;
}

@media (min-width: 769px) { 
#home_exam ul.items li:hover .contents_area p.txt::before {
    background: #fff;
}

#home_exam ul.items li:hover .contents_area p.txt::after {
    background-color: var(--theme_m_color);
}
}

#home_exam ul.btn_list {
    grid-template-columns: repeat(3 , 1fr);
    gap: 5rem;
    padding: 0 1rem 2rem;
}

#home_exam ul.btn_list li {
}

#home_exam ul.btn_list li a {
    font-size: 2.8rem;
    color: #fff;
    line-height: 1.5;
    position: relative;
    display: flex;
    height: 100%;
    align-items: center;
    padding: 0 1rem 2rem;
}

#home_exam ul.btn_list li a::before, #home_exam ul.btn_list li a::after {
    position: absolute;
    content: "";
    width: 6rem;
    height: 6rem;
    top: 0;
    bottom: 2rem;
    right: 1rem;
    margin: auto 0;
}

#home_exam ul.btn_list li a::before {
    border: 2px solid #fff;
    border-radius: 100%;
}

#home_exam ul.btn_list li a::after {
    mask: url("../../images/common/main_arrow.svg") no-repeat 50% / 1.8rem auto;
    background-color: #fff;
}

#home_exam ul.btn_list li a span::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    bottom: 0;
    left: 0;
}

@media (min-width: 769px) { 
    #home_exam ul.btn_list li a:hover::before {
        background: #fff;
    }

    #home_exam ul.btn_list li a:hover::after {
        background-color: var(--theme_m_color);
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ボタンエリア
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_btns {
    padding: 10rem 0;
}

#home_btns ul.items.grid {
    max-width: 110rem;
    margin: 0 auto;
    grid-template-columns: repeat(3 , 1fr);
    gap: 3rem 2rem;
}

#home_btns ul.items.grid li {
}

#home_btns ul.items.grid li a {
    font-size: 2.2rem;
    line-height: 1.25;
    min-height: 10.2rem;
    border-radius: 5.1rem;
    display: grid;
    align-items: center;
    padding: 1rem 7.5rem 1rem 4.5rem;
    border: 2px solid var(--theme_m_color);
    position: relative;
}

#home_btns ul.items.grid li a::after {
    position: absolute;
    content: "";
    width: 2.2rem;
    height: 2.2rem;
    top: 0;
    bottom: 0;
    right: 4rem;
    margin: auto 0;
    mask: url("../../images/common/main_arrow.svg") no-repeat 50% / contain;
    background-color: var(--theme_m_color);
}

@media (min-width: 769px) { 
    #home_btns ul.items.grid li a:hover {
        color: #fff;
        background: var(--theme_m_color);
    }

    #home_btns ul.items.grid li a:hover::before {
        
    }
    #home_btns ul.items.grid li a:hover::after {
        background-color: #fff;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
スライダー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_slider {
}

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

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

#home_slider .slider-wrap p.main_ttl {
    font-family: "Jost", sans-serif;
	font-size: 9.3rem;
	color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
}

#home_slider .slider-wrap p.main_ttl span {
	display: table;
	margin: 0 auto;
	text-align: center;
}

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

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