/* all */
body {
    position: relative;
    display: block;
    margin: 0px;
    font-family: "noto-sans-cjk-jp", sans-serif;
    color:#333333;
}

/* ターゲットの要素に適用 */
:target {
    scroll-margin-top: 140px; /* ヘッダーの高さと同じに設定 */
}

a{
    text-decoration: none;
   
}

a:hover{
    opacity: 0.5;
    transition: .3s;
}

@media screen and (max-width: 768px) {
.sp_none{
display: none !important;
}
    
}
@media screen and (min-width: 768px) {
    .pc_none{
    display: none !important;
    }
        
}

.w_1600{
max-width: 1600px;
width: 90%;
margin: 0 auto;
}

.w_1200{
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
 }

 .mt_90{
margin-top: 90px;
 }

 header {
    scroll-behavior: smooth;
}

.center {
    text-align: center;
    display: block;
}


/* font */

.termina{
    font-family: "termina", sans-serif;
    font-style: normal;
}


/* root */

:root {
    --green-color: #14AA52; 
    --blue-color: #7DBFE9; 
    --darkblue-color: #5D94D8; 
    --red-color: #D60E4C; 
    --orange-color: #FF2222; 
    --darkgreen-color: #87BC9D; 
    --lightgreen-color: #7EC439; 
    --yellow-color:#fcb500;
    --lightorenge-color:#FFBB77;
    --purple-color:#9514ff;
}


/* header */
#scrollUpBtn{
    padding: 0;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    display: none; /* 最初は非表示 */
    position: fixed;
    bottom: 1vw;
    right: 10px;
    z-index: 100;
    cursor: pointer;
}

.activ .header_all{
  background-color: white;
}

.header_all{
    z-index: 10;
    width: 100%;
    display: flex;
    position: fixed;
    /*height: 120px;*/
    height: 100px;
    justify-content: space-between;
    align-items: center;
}

.header_logo,.header_logo_white{
    max-width: 170px;
    padding-left: 30px;
}
.header_logo img,.header_logo_white img {
    width: 100%;
}


.header_main{
    display: flex
    ;
        margin: 0 20px;  
        align-items: center;
}

.header_main a{
    display: inline-block;
    color: white;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    margin: 0 25px;
}

.header_main_cont_green{
    width: 150px;
    line-height: 19px;
    padding: 10px 0;
    /* margin: 0; */
    background-color: var(--green-color);
    border-radius: 30px;
    border: 1px solid white;
}

.header_main_cont{
    color: white;
}

.active .header_main_cont{
    color: #333333;
}




.active .header_main a{
    color: #333333;
}

.active .header_main_cont_green{
    color: white !important;
}


/* index */

.top_mv{
    height: 590px;
    width: 100%;
    overflow-x: hidden;
    position: relative;
   
}

.top_mv_slide{
    width: 100%;
    height: 100%;
}

.top_mv_text{
    color: white;
    position: absolute;
    bottom: 140px;
    left: 150px;
}

.top_mv_text_h3{
   font-size: 23px; 
   font-family: "termina", sans-serif;
    font-weight: 700;
    font-style: normal;
    margin-bottom: 20px;
}

.top_mv_text_h2{
    font-size: 55px; 
    font-weight: bold;
     margin-bottom: 40px;

 }

.top_mv_text_p{
    font-size: 16px; 
}

.top_mv_info{
    position: absolute;
    right: 0;
    bottom:10px;
    width: 660px;
    height: 110px;
    background-color: white;
    border-radius: 10px 0 0 10px;
    display: flex;
    align-items: center;
    gap:90px;
    justify-content: center;
}

.top_mv_info_left{
    font-size: 18px ;
    font-weight: bold;
    text-align: center;
    line-height: 40px;
}

.top_mv_info_left span{
    font-family: "termina", sans-serif;
    font-weight: 700;
    font-size:14px;
    color: var(--green-color);
    opacity: 0.5;
}

.top_mv_info_right_news{
    display: flex
    ;
        font-size: 16px;
        font-weight: bold;
        line-height: 30px;
}

.top_mv_info_right_news span{
display: block;
margin: 0 20px;
color:#707070;
font-size: 16px;
}

.top_slide{
    width: 100%;
    overflow: hidden;
    margin-top: 80px;
}

.top_slide_under{
    font-size: 9vw;
    font-family: "termina", sans-serif;
    font-weight: 700;
    text-align: center;
    text-wrap: nowrap;
    color: #EAEAEA;
    opacity: 0.7;
}

.top_support{
    display: flex;
    position: relative;
}

.top_support_left{
    width: 50%;
    min-height: 550px;
    object-fit: cover;
    border-radius: 0 45px 0 0;
}

.top_support_text{
    left: 45%;
    bottom: 0;
    position: absolute;
    background-color: white;
    border-radius: 40px 0 0 0;
  padding-top: 4vw;  
  padding-left: 3vw;

  height: 85%;
}

.top_support_text_h3{
    font-family: "termina", sans-serif;
    font-weight: 700;
    font-size:20px;
    margin-bottom: 30px;
    opacity: 0.25;
    color:var(--red-color);
}

.top_support_text_h2{
    font-size: 34px;
    font-weight: bold;
    margin-bottom:60px ;
    color: var(--red-color);
}

.top_support_text_p{
    font-size: 16px;
    margin-bottom:60px ;
}

.top_support_text_button{
    padding: 0 20px;
    display: block;
    width: 200px;
    border-radius: 20px;
    line-height: 42px;
    background-color: var(--red-color);
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    color: #fff;
}

.top_support_text_button img{
    display: none;
}

.top_support_absol{
    position: absolute;
    right: 2vw;
    font-size: 9vw;
    font-family: "termina", sans-serif;
    font-weight: 700;
    bottom: 0px;
    transform: translate(0px, 50%);
    color: var(--red-color);
    opacity: 0.35;
}

.top_school{
margin-top: 120px;
position: relative;
overflow: hidden;
}

.top_school_h3{
font-family: "termina", sans-serif;
font-weight: 700;
font-size: 20px;
margin-bottom: 20px;
color: var(--blue-color);
opacity: 0.35;
}

.top_school_h2{
    font-size: 40px;
    margin-bottom: 50px;
    font-weight: bold;   
    color: var(--darkblue-color);
}

.top_school_main{
    margin-bottom: 90px;
    display: flex;
    flex-wrap: wrap; /* アイテムを折り返して2行にする */
    gap: 3vw; /* アイテム間の隙間を1vwに設定 */  
    justify-content: space-between;
}

.top_school_main_cont{
    width: calc(33.33% - 3vw); /* 3列にするため、アイテム幅を計算 */
    box-sizing: border-box; /* パディングやボーダーを含めて幅を計算 */
    position: relative;
}

.top_school_main_cont_img{
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 45px;
    height: 17vw;
    max-height: 250px;
}
.sub_page_content1_button{
    max-width: 300px;
    font-weight: bold;
    font-size: 18px;
    margin-top: 20px;
    text-align: center;
    color: white;
    border-radius: 30px;
    background-color: var(--lightgreen-color);
    padding: 10px;
}
.top_school_main_cont_flex_p{
    opacity: 0.5;
    font-family: "termina", sans-serif;
    font-weight: 700;
    font-size: 16px;   
    color: var(--darkblue-color);
    position: absolute;
    transform: rotate(90deg);
    left: -15px;
    text-wrap: nowrap;
    width: 1px;
    top: -10px;
    position: absolute;
}

.top_school_main_cont_img_detail{
    padding: 0 20px;
    display: block;
    width: 200px;
    border-radius: 20px;
    line-height: 42px;
    background-color: var(--darkblue-color);
    color: white;
    position: absolute;
    font-size: 16px;
    font-weight: bold;
    right: 20px;
    bottom: 15px;
    text-align: center;
}

.top_school_main_cont_img_detail img{
    display: none;
}

.top_school_main_cont_text{
   margin-top: 20px;

}

.top_school_main_cont_text_h3{
    opacity: 0.5;
    font-size: 16px;
    color: var(--darkblue-color);
font-weight: bold;
}

.top_school_main_cont_text_h2{
    font-size: 24px;
    color: var(--darkblue-color);
    font-weight: bold;
    margin-bottom: 20px;
}

.top_school_main_cont_text_p{
font-size: 16px;
line-height: 30px;
}

.top_school_main_cont_img img{
    height: 100%;
    object-fit: cover; 
width: 100%;
}

.top_school_main_cont_img_detail img{
    height: auto;
width: auto;
}

.top_school_absol{
    position: absolute;
    right: 4vw;
    width: 1px;
    font-size: 9vw;
    font-family: "termina", sans-serif;
    font-weight: 700;
    top: 15%;
    transform: rotate(90deg);
    color: var(--darkblue-color);
    opacity: 0.35;
    
    }

.top_junior{
    margin-top: 190px;
}

.top_junior_back img{
    display: block;
    margin-left: auto; 
    width: 75vw;
}

.top_junior_back{
    position: relative; 
}

.top_junior_back_text{
    display: flex
    ;
        flex-direction: column;
        position: absolute;
        top: 4vw;
        right: 75vw;
        transform: translate(50%, 0px);
        z-index: 5;
}

.top_junior_back_text_h3{
    display: inline-block;
    background-color: white;
    padding: 4px 12px;
    font-size: 20px; 
    font-family: "termina", sans-serif;
    font-weight: 700;
    color: #7ec4398c;
    margin-bottom: 20px;
    width: fit-content;
    text-wrap: nowrap;
   
}

.top_junior_back_text_h2{
    display: inline-block;
    background-color: white;
    color: var(--lightgreen-color);
    padding: 4px 12px;
    font-size: 40px; 
    width: fit-content;
   margin-bottom: 40px;
   text-wrap: nowrap;
   font-weight: bold;
}

.top_junior_back_h{
    position: absolute;
    top: 14vw;
    left: 10px;
}

.top_junior_back_h img{
    max-width: 130px;
    width: auto;
    margin-left: 0;
}

.top_junior_back_h_green{
    line-height: 8vw;
font-size: 9vw;
font-family: "termina", sans-serif;
font-weight: 700;
color: #D6F2BC;
opacity: 0.6;
z-index: 5;
}

.top_junior{
    position: relative;
    margin-bottom: 650px;
}

.top_junior_main{
    position: absolute;
    top: 30vw;
    left: 6vw;
}

.top_junior_main-flex{
    display: flex;
    gap:3vw;
}

.top-junior-link {
  margin-top: 80px;
  display: flex;
  justify-content: center;
}

.top-junior-link picture {
  width: 80%;
  max-width: 760px;
}

.top-junior-link picture img {
  width: 100%;
  border-radius: 6px;
}

.top_junior_main_cont_img{
position: relative;
display: block;
overflow: hidden;
border-radius: 45px;
height: 25vw;
}

.top_blog_main_cont_img{
    position: relative;
display: block;
overflow: hidden;
border-radius: 30px;
}
.top_junior_main_cont{
    width: 40%;
}
.top_junior_main_cont_img img{
   
    object-fit: cover;
    width: 100%;
    }

.top_junior_main_cont_img_detail{
    padding: 0 20px;
    display: block;
    width: 200px;
    border-radius: 20px;
    line-height: 42px;
    background-color: var(--lightgreen-color);
    color: white;
    position: absolute;
    font-size: 16px;
    font-weight: bold;
    right: 20px;
    bottom: 15px;
    text-align: center;
}

.top_junior_main_cont_img_detail img{
    display: none;
}

.top_junior_main_cont_text .top_school_main_cont_text_h3,.top_junior_main_cont_text .top_school_main_cont_text_h2{
    color: var(--lightgreen-color);
}

.top_junior_main_cont_text{
    margin-top: 30px;
}

.top_blog_h3{
    opacity: 0.5;
    font-family: "termina", sans-serif;
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 20px;
    color: var(--lightorenge-color);
   
}
.top_blog .top_blog_main_cont_text_h{
    font-size: 20px;
    color: var(--lightorenge-color);
    }

.top_blog_h2{
    font-size: 40px;
   color: var(--lightorenge-color);
    font-weight: bold; 
}

.top_blog_h1{
    line-height: 8vw;
    font-size: 9vw;
    font-family: "termina", sans-serif;
    font-weight: 700;
    font-weight: 700;
    color: var(--lightorenge-color);
    opacity: 0.25;
    text-align: right;
}

.top_blog_main{
    display: flex
    ;
        flex-wrap: wrap;
        gap: 30px;
        
        margin-bottom: 100px;
        position: relative;
}

.top_blog_main_cont{
    width: calc((100% - 60px)/3);
    box-sizing: border-box;
}

.top_blog_main_cont_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top_blog_main_cont_img_detail img{
display: none;
}
.top_service_main_cont_img_detail img{
    height: auto;
}

.top_blog_main_cont_text_h{
font-size: 24px;
font-weight: bold;
margin-top: 30px;
}

.top_blog_main_cont_text_p{
margin-top: 30px;
font-size: 16px;
}

.top_blog_main_cont_img_detail{
    padding: 0 20px;
    display: block;
    width: 200px;
    border-radius: 20px;
    line-height: 42px;
    background-color: var(--lightorenge-color);
    color: white;
    position: absolute;
    font-size: 16px;
    font-weight: bold;
    right: 20px;
    bottom: 15px;
    text-align: center;
    font-family: "termina", sans-serif;
    font-weight: 500;
}

.top_blog_main_cont_img_detail img{
    display: none;
}

.top_blog_main_cont_img{
    position: relative;
    height:15vw;
}

.top_blog_last{
    position: relative;
    margin: 0 auto;
    bottom: 0;  
    right: 0;
}

.top_blog_corch{
    width: fit-content;
    margin: 70px auto;
    text-align: center;
}

.top_blog_corch_h{
    font-size: 24px;
    margin-bottom: 20px;
    font-weight: bold;
}

.top_blog_corch_button{
    font-size: 24px;
    display: flex
;
    font-weight: bold;
    align-items: center;
    justify-content: center;
    gap: 30px;
    max-width: 470px;
    height: 100px;
    background-color: var(--green-color);
    color: white;
    margin-bottom: 20px;
    border-radius: 50px;
}

.top_blog_corch_p{
font-size: 16px;
margin-top: 30px;
}



.top_service_h3{
    font-family: "termina", sans-serif;
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 20px;
    color: var(--red-color);
    opacity: 0.5;
    text-align: center;
}


.top_service_h2{
    font-size: 40px;
   text-align: center;
    font-weight: bold; 
}

.top_service_main_cont_img_detail img{
    display: none;
}

.top_service_main_cont_img_detail{
    padding: 0 20px;
    display: block;
    width: 200px;
    border-radius: 20px;
    line-height: 42px;
    background-color: var(--red-color);
    color: white;
    position: absolute;
    font-size: 16px;
    font-weight: bold;
    right: 20px;
    bottom: 15px;
    text-align: center;
}

.top_service{
    margin-top: 80px;
    margin-bottom: 200px;
    position: relative;
}

.top_service_h{
margin-bottom: 60px;
}

.top_service_img_absol{
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(50%, -50%);

}

.top_service_text_absol{
    position: absolute;
    /* right: 0px; */
    width: 1px;
    top: 0;
    left: 80px;
    font-size: 8vw;
    font-family: "termina", sans-serif;
    font-weight: 700;
    top: -6vw;
    transform: rotate(90deg);
    color: var(--red-color);
    opacity: 0.35;  
}

.top_slide_main_cont{
    width: fit-content; 
    position: relative;
    margin: 0 20px;
    display: block;
}

.top_slide_main_cont img{
    width: 100%; 
}

.top_slide_bar{
    display: inline-block;
    position: absolute;
    bottom: 20px;
    left: 20px;
    padding: 10px 15px;
    background-color: rgba(0, 0, 0, 0.75);
    color: white;
    font-weight: bold;
}


/* footer */

.footer_accese{
    display: flex;
    margin-bottom: 100px;
}

.footer_accese iframe{
 width: 50%;
    height: 100%;
}

.footer_accese_main{
    background-color: #F7F7F7;
    width: 50%;
    padding: 3vw 5vw;
    box-sizing: border-box;
    /*height: 500px;*/
}

.footer_logo{
    margin-bottom: 40px; 
}

.footer_accese_main_p{
    font-size: 17px;
    font-weight: bold;
    margin-bottom: 30px;
}

.footer_accese_main_tel{
    font-size: 45px;
    font-weight: bold;
    display: flex
;
    align-items: center;
    gap: 15px;  
    line-height: 60px;
}

.footer_accese_main_button{
    display: flex
    ;
        gap: 20px;
}

.footer_accese_main_button1{
    width: 190px;
    line-height: 50px;
    text-align: center;
    background-color: var(--green-color);
    color: white;
    font-size: 18px;
    font-weight: bold;
}

.footer_accese_main_button2{
    width: 190px;
    line-height: 50px;
    text-align: center;
    background-color: var(--red-color);
    color: white;
    font-size: 18px;
    font-weight: bold;
}

.footer_main img{
width: 100%;
}

.footer_main{
    background-color: var(--green-color);
   
}

.footer_flex{
    align-items: flex-start;
    display: flex
;
    margin-top: 70px;
    margin-bottom: 90px;
    color: white;
    justify-content: space-between;
}

.footer_flex_main{
    display: flex
    ;
        justify-content: space-between;
        /* gap: 10px; */
        width: 100%;
        max-width: 70%;
}

.footer_logo{
    width: auto !important;
}

.footer_flex_main_cont{
    display: flex
;
    flex-direction: column;
}

.footer_flex_main_cont a,.footer_main_under_flex a{
  font-size: 16px;
  font-weight: bold;
  color: white;
}

.footer_flex_main_cont_h{
    font-size: 16px;
    margin-bottom: 30px;
}

.footer_main_under_flex{
text-align: center;
margin-bottom: 40px;
}

.footer_main_under_c{
    text-align: center;
    font-size: 12px;
  font-weight: bold;
  line-height: 80px;
    background-color: white;
    color: #333333;
}

.blog_detail_page_main .sub_page_content1_day{
    font-size: 16px;
    margin-bottom: 10px;
    color: var(--blue-color);
}

.share_blog_cont{
    display: flex
    ;
        height: 40px;
        /* width: 100px; */
        gap: 10px;
        /* box-shadow: 1px 1px 5px #333; */
        border: 1px solid #cacaca;
        border-radius: 10px;
        align-items: center;
        padding: 10px 10px;
}
.share_blog_cont img{
height: 100%;
}
.share_blog{
    display: flex
    ;
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
        margin-top: 30px;
}
/* imdex レスポンシブ*/

@media screen and (max-width: 768px) {

    .top_mv{
        height: 590px;
        width: 100%;
       
        position: relative;
        background-size: cover;
    }

    .top_mv_text_h3 {
        font-size: 16px;
        font-family: "termina", sans-serif;
        font-weight: 700;
        font-style: normal;
        margin-bottom: 20px;
    }

    .top_mv_text_p {
        font-size: 16px;
    }

    .top_mv_text_h2 {
        font-size: 30px;
    }
    .top_mv_info_sp{
        width: 90%;
    margin: 50px auto;
    }

    .top_mv_info_sp .top_mv_info_left{
        margin-bottom: 40px;
    }
        
    .top_mv_info_right{
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .top_support {
       
        flex-direction: column;
    }
    .top_support_left {
        width: 100%;
        margin: 0 auto;
        height: 200px;
        border-radius: 0;
        min-height: 200px;
    }

    .top_support_text{
        width: 90%;
        position: relative;
        margin: 0 auto;
        padding: 50px 0 0 0;
        left: 0;
    }

    .top_school_main_cont {
        width: 100%;
        box-sizing: border-box;
    }

    .top_school_main_cont_flex_p{
        display: none;
    }

    .top_school_main {
        display: flex
    ;
        flex-wrap: wrap;
        gap: 50px;
        justify-content: space-between;
    }

    .top_junior_back_text_h3{
        font-size: 16px; 
        
    }
    .top_junior_back_text {
        top: 20vw;
    }
    .top_junior_back_text_h2{
        color:var(--lightgreen-color);
        font-size: 24px; 
        
    }
    .top_support{
margin-top: 60px !important;
    }

    .top_slide_main{
        margin-bottom: 60px !important;
    }

    .top_junior_back_h {
        position: absolute;
        top:auto;
        left: 10px;
        bottom: 5vw;
    }

    .top_junior_main{
    position: relative;
    width: 90%;
    margin: 50px auto;
    left: 0vw;
    top:0;
    }

    .top_junior_main-flex{
    flex-wrap: wrap;
    gap:50px;
    }

    .top_junior_main_cont {
        width: 100%;
    }

    .top_junior {
        position: relative;
        margin-bottom: 150px;
    }

    .top_blog_main_cont {
        width: 100%;
        box-sizing: border-box;
    }
    .top_blog_main {
        display: flex
    ;
        flex-wrap: wrap;
        gap: 80px;
        justify-content: space-between;
        margin-bottom: 100px;
        position: relative;
    }

    .top_blog_corch_button{
        height: 80px;
        width: 100%;
        margin: 0 auto;
    }

    .top_blog_corch {
        margin-top: 80px;
        width: 100%;
        margin: 0px auto;
        text-align: center;
    }
    .top_slide_main_cont{
        margin: 0;
    }

    .top_junior_back img {
        display: block;
        margin-left: auto;
        width: 75vw;
        height: 250px;
        object-fit: cover;
        border-radius: 45px 0 0 45px;
    }

    .top_junior_main_cont_img img,.top_school_main_cont_img img,.top_blog_main_cont_img img,.top_service_main_cont_img img{
        height: 250px;
        object-fit: cover;
        border-radius: 30px;
    }

    .top_school_main_cont_img_detail img,.top_junior_main_cont_img_detail img,.top_blog_main_cont_img_detail img,.top_service_main_cont_img_detail img{
        height: auto    ;
    }

    .top_school_main_cont_img,.top_blog_main_cont_img,.top_junior_main_cont_img{
        height: 250px;
    }

    .top_blog_last {
        margin-bottom: 50px;
    }
    .top_blog_h2 {
        font-size: 24px;
        font-weight: bold;
        text-align: center;
    }

    .top_blog_h3 {
       text-align: center;
        font-size: 16px;
       
    }
    .top_blog_h{
        margin-bottom: 50px;
    }

    .top_service_h3{
        font-size: 16px;
    }

    .top_service_h2{
        font-size: 24px;
        color: var(--red-color);
    }

    .top_blog .top_blog_main_cont_text_h{
    font-size: 20px;
    }

    .top_blog .top_blog_main_cont_text_p{
        font-size: 16px;
        margin-top: 20px;
    }

    .top_service .top_blog_main_cont_text_h{
        font-size: 20px;
        color: var(--red-color);
            }
        
    .top_service .top_blog_main_cont_text_p{
        font-size: 16px;
     }

     .footer_accese_main {
        background-color: white;
        width: 100%;
        padding: 3vw 5vw;
        box-sizing: border-box;
        margin-top: 60px;
    }

    .footer_accese_main_tel {
        font-size: 8vw;
    }

    .footer_flex,.footer_flex_main {
      
        flex-direction: column;
    }

    .footer_flex_main {
      gap:30px;
    }

    .footer_main_img{
        width: 100%;
        object-fit: cover;
        height: 200px;
    }
    .footer_main_under_flex {
        text-align: left;
        display: flex
    ;
        flex-direction: column;
        margin-bottom: 40px;
        width: 90%;
        margin: 0 auto;
    }

    .footer_flex {
       
        margin-bottom: 30px;
    
    }

    .footer_main_under_flex{
margin-bottom: 200px;
    }

    .top_mv_text_h3 {
        font-size: 16px;
        
    }

    .top_mv_text_h2 {
        font-size: 30px;
        font-weight: bold;
        margin-bottom: 40px;
    }

    .top_mv_text_p {
        font-size: 16px;
    }

    .top_mv_text{
        color: white;
        position: absolute;
        top: 260px;
        left: 5%;
        width: 90%; 
    }


    /* ハンバーガーメニューのスタイル */
    .hamburger-icon {
        display: inline-block;
        cursor: pointer;
        z-index: 100;
        background: none;
        box-shadow: none;
        border: none;
    }

    .hamburger-bar {
        display: block;
        width: 25px;
        height: 3px;
        margin: 5px 0;
        background-color: #ffffff;
        border-radius: 5px;
    }

    /* モーダルのスタイル */
    .modal {
        display: none; /* 初期状態では非表示 */
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.7);
        z-index: 50;
        padding-top: 0px;
    }

    .modal-content {
        background-color: #15aa52;
        margin: auto;
        padding: 20px;
        height: 100%;
        width: 100%;
        max-width: 100%;
        text-align: center;
    }

    .close {
        color: #ffffff;
        font-size: 28px;
        font-weight: bold;
        position: absolute;
        top: 20px;
        right: 25px;
    }

    .close:hover,
    .close:focus {
        color: black;
        text-decoration: none;
        cursor: pointer;
    }

    /* メニュー項目のスタイル */
    .header_main_cont {
        display: block;
        font-size: 16px;
        text-decoration: none;
        color: #333;
        margin-bottom: 10px;
    }

    .header_main_cont_green {
        width: 150px;
        line-height: 19px;
        padding: 10px 0;
        margin: 0 auto;
        background-color: var(--green-color);
        border-radius: 30px;
        border: 1px solid white;
        display: block;
        color: white;
    }

}

/* blog */

/* Bootstrap 4 text input with search icon */

.has-search .form-control {
    padding-left: 2.375rem;
}

.has-search .form-control-feedback {
    position: absolute;
    z-index: 2;
    display: block;
    width: 2.375rem;
    height: 2.375rem;
    line-height: 2.375rem;
    text-align: center;
    pointer-events: none;
    color: #aaa;
}

.blog_h1{
    color: var(--darkblue-color);
    margin-top: 50px;
    font-size: 30px;
}

.blog_h3{
    margin-top: 10px;
    font-size: 16px;
}

.input-group{
    width: 90%;
    margin: 0 auto;
    display:flex;
    justify-content: center;
}
.form-control{
    width: 100%;
    display: block;
    line-height: 40px;
   
}

.btn-secondary{
    color: #333;
    font-weight: bold;
    cursor: pointer;
    font-size: 18px;
    justify-content: center;
    gap: 20px;
    width: 150px;
    display: flex
;
    align-items: center;
    line-height: 40px;
    background-color: white;
}

.btn-secondary img{
    width: 30px;
}

.blog_search{
    margin: 40px 0 80px 0;
}

.blog_detail_main{
    margin-top: 80px;
}

.blog_detail_h2{
    font-size: 30px;
    font-weight: bold;
   
}

.blog_detail_h3{
    font-size: 24px;
    font-weight: bold;
   margin-top: 40px;
}

.blog_detail_p{
    font-size: 18px;
    
   margin-top: 10px;
}

/* blog レスポンシブ*/

@media screen and (max-width: 768px) {
    .blog_h1 {
        color: var(--darkblue-color);
      
        font-size: 20px;
    }


}

.scale_up{
    transition:transform 0.5s ease; /* 画像の拡大縮小をスムーズに */
}
.scale_up:hover{
   /* transform: scale(1.2); /* ホバー時に画像を1.2倍に拡大 */  
  
    opacity: 1;
}

.top_slide_main_cont{
overflow: hidden;

}

.top_slide_main_cont:hover,.top_school_main_cont_img:hover,.top_junior_main_cont_img:hover,.top_blog_main_cont_img:hover,.top_blog_main_cont_img:hover{
opacity: 1;
}

.blog_page,.blog_detail_page{
    margin: 100px auto;
    display: flex
    ;
        flex-direction: row-reverse;  
        justify-content: space-between; 
        gap: 40px;
}

.table-condensed td{
    text-align: center;
    padding: 0;
    font-size: 16px;
    font-weight: bold;
    border: none;
}

.table-condensed th{
    font-size: 18px;
    padding: 10px;
    border: solid 1px #e9e9e9;
    background-color: #7DBFE9;
    color: #fff;
}

.LeftMenuWrap {
    width: 100%;
    margin-bottom: 20px;
    padding: 20px;
    background-color: #f9f9f9;
    border-radius: 10px;
}

.LeftMenuTtlJp{
    font-size: 18px;
}

.LeftMenuTtlEn{
    font-size: 24px;
    font-family: "termina", sans-serif;
    font-weight: 700;
    color: var(--darkblue-color);
}

.article_cont img{
    width: 100px;
}

.article_cont_day{
font-weight: bold;
font-size: 16px;
color: var(--darkblue-color);
}

.article_cont_p{
    font-weight: bold;
    font-size: 16px;
    
}

.article_cont {
    margin-bottom: 30px;
    display: flex
;
    gap: 15px;
}

.tag_all{
    display: flex;
    flex-wrap: wrap;
}

.tag_text{
    margin: 0 10px;
    display: inline-block;
    padding: 5px 20px;
    background-color: var(--darkblue-color);
    border-radius: 20px;
    color:white;
    font-weight: bold;
}

.blog_all .top_blog_main_cont_img{
    height: 270px;
}

.blog_all .top_blog_main_cont {
    width: 320px;
    box-sizing: border-box;
}

.pager{
    display: flex
    ;
        gap: 20px;
        justify-content: right;   
        align-items: center;
}

.pager_text{
    width: 40px;
    line-height: 40px;
    text-align: center;
    background-color: #f9f9f9;
    border-radius: 40px;
    font-weight: bold;
}

.active.pager_text{
    width: 40px;
    line-height: 40px;
    text-align: center;
    background-color: var(--darkblue-color);
    border-radius: 40px;
    font-weight: bold;
    color: white;
}


.school_lesson_mv{
    width: 100%;
    height: 400px;
}

.school_lesson_mv a,.school_lesson_mv .slick-list,.school_lesson_mv .slick-track{
    width: 100%;
    height: 100%;
}

.school_lesson_mv img{
    width: 100%;
    height: 100%;
object-fit: cover;
}

@keyframes fadezoom {
    0% {
      transform: scale(1);
    }
    100% {
      transform: scale(1.1); /* 拡大率 */
    }
  }
  .add-zoom {
    animation: fadezoom 10s 0s forwards;
  }

@media screen and (max-width: 1150px) {
    .blog_page,.blog_detail_page {
        flex-direction: column-reverse;
        
    }

    .table-condensed td{
        padding: 10px 4vw;
    }
    
   .table-condensed{
        margin: 0 auto;
   }

   .blog_all .top_blog_main .top_blog_main_cont {
    width: 47%;
    box-sizing: border-box;
}

    

}

@media screen and (max-width: 768px) {
    .top_blog_main_cont_img {
        height: 250px;
        position: relative;
    }
   
    .blog_all .top_blog_main  .top_blog_main_cont {
        width: 100%; 
        box-sizing: border-box;
        display: flex
    ;
    gap: 30px;
    }
    .top_blog_main_cont_text{
        position: relative;
    }

    .blog_all .top_blog_main {
        display: flex
;
        flex-wrap: wrap;
        gap: 30px;
        justify-content: space-between;
        margin-bottom: 100px;
        position: relative;
    }

    .blog_all .top_blog_main_cont_img img {
        height: 150px;
      
    }

    .blog_all  .top_blog_main_cont_img {
        height: 150px;
        width: 300px;
    }

    .blog_all .top_blog_main_cont_text_h {
        font-size: 18px;
        font-weight: bold;
        margin-top: 10px;
    }

    .blog_all .top_blog_main_cont_text_p {
        margin-top: 0px;
        font-size: 16px;
        height: 60px;
        overflow: hidden;
        line-height: 20px;
    }

    .blog_all .top_blog_main_cont_img_detail{
        bottom: 0;
    }

    .blog_all .top_blog_main_cont_img_detail {
        padding: 0 20px;
        /* padding-left: 20px; */
        display: block;
        width: 170px;
        font-size: 16px;
    }

    .table-condensed td {
        padding: 10px 0vw;
    }
}

@media screen and (max-width: 400px) {

    .table-condensed th {
        font-size: 18px;
        padding: 5px;}
}



@keyframes fadezoom {
    0% {
      transform: scale(1);
    }
    100% {
      transform: scale(1.2); /* 拡大率 */
    }
  }

  /*.top_mv_slide img{
    animation: fadezoom 10s 0s forwards; 
    }
*/
  .add-zoom {
    animation: fadezoom 12s 0s forwards !important;
  }

  /* ズーム効果をリセット */
.remove-zoom {
    animation: none ; /* ズームを解除 */
  }

.sub_page_content7_main{
    display: flex
    ; 
    margin-top: 40px;
    gap:20px;
}

.footer_main_img{
    height: 420px;
    object-fit: cover;
    width: 100%;
}
.sub_page_content7{
    margin: 90px auto;
}

.sub_page_content7_img .top_slide_main_cont{
    margin: 0;
}

.sub_page_content7_img,.sub_page_content7_p{
    width: 50%;
}

.mono_absol_img{
    position: absolute;
    z-index: -1;
    opacity: 0.3;
    right: 0;
    width: 50%;
    top: 900px;
}

.mono_absol_img img{
width: 100%;
}
@media screen and (max-width: 768px) {

    .sub_page_content7_p{
        width: 100%;
    }

    .sub_page_content7_main{
        display: flex
        ; 
        flex-direction: column;
        
    }

    .sub_page_content7_img{
        width: 100%;
        
    }

    .header_main_cont span{
        font-size: 16px;  
        font-weight: 100;
      }
      
      .header_main_cont{
      font-weight: bold;
      }
}

.sub_page_content8_step{
    width: 100px;
    padding-top: 10px;
    /* line-height: 100px; */
    text-align: center;
    height: 100px;
    border-radius: 50px;
    border: 5px solid #333;
    font-size: 20px;
    font-weight: bold;
}

.sub_page_content8_cont{
    display: flex
    ;
        align-items: center;
        gap: 40px;
}

.sub_page_content8_h{
    margin-bottom: 40px;
}
.sub_page_content8_text_h {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 20px;
}
.sub_page_content8{
    margin-bottom: 80px; 
}

.down_arrow{
    display: block;
    width: 80px;
    margin: 20px 0 20px 10px; 
}

.sub_page_content9{
    margin-bottom: 90px;
}

.sub_page_content9_main{
    display: flex
;
flex-wrap: wrap;
    margin-bottom: 40px;
}

.sub_page_content9_h{
    width: 230px;
font-size: 18px;
font-weight: bold;
color: #333;
margin-bottom: 20px;
}

.sub_page_content9_flex{
    display: flex
;
    flex-wrap: wrap;
    gap: 30px;
    max-width: 730px;
    margin: 0 auto;
}

.sub_page_content9_flex_cont{
    width: calc(50% - 30px); 
    border: 1px solid #ccc;
      padding: 20px;
      box-sizing: border-box;
    text-align: center;
}

.sub_page_content9_flex_cont_h{
font-size: 18px;
font-weight: bold;
}

.sub_page_content10_under{
    text-align: center;  
}

.back_gray{
    background-color: #f5f5f5; 
}

.back_list{
    display: block;
    /* margin: 0 auto; */
    /* text-align: center; */
    padding: 10px 20px;
    border-radius: 50px;
    width: 350px;
    background-color: gray;
    font-weight: bold;
    color: white;
    /* display: flex
; */
    justify-content: center;
    font-size: 20px;
    text-align: center;
    margin: 0 auto;
    margin-top: 80px;
}

.sub_page_content8_main{
    width: fit-content;
    margin: 50px 0;
}

.modal-content .header_main_cont{
    width: fit-content;
    margin: 20px auto;
    padding: 0 10px 5px 10px;
    line-height: 25px; 
    
}

.modal-content .header_main_cont_green{
    border-radius: 10px; 
    margin-top: 30px;
}



.footer_flex_main_cont_h{
    padding-right: 10px;
    border-bottom: 1px solid white;
}

@media screen and (max-width:1100px) {

    .footer_flex, .footer_flex_main {
        flex-direction: column;
        max-width: 100%;
    }

}

.sub_page_content15{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
}

.sub_page_content15_cont_h1{
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
}

.sub_page_content15_cont{
    padding: 30px 20px;
    
    border-radius: 20px;
    max-width: 350px;
}

.sub_page_content15_cont img{
    width: 200px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
    height: 200px;
    margin: 0 auto;
    display: block;
}

.sub_page_content15_cont_h2{
    margin-top: 10px;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
}

.sub_page_content15_cont_p{
    margin-top: 10px;
    text-align: center;
}
.sub_page_content1.about{
    margin-top: 90px;  
}

.footer_main_under_flex a{
    display: inline-block;
    margin: 0 10px;
}

.sub_page_content3_flex_a{
    display:inline-block;
     margin-top:30px;
     border-bottom: 1px solid #333;
}

.sub_page_content4 img{
    margin: 0 auto;
    width: 100%;
    display: block;
}

.sub_page_content_caution{
    font-size: 16px; 
}

.sub_page_content_caution{
    margin-top: 30px;
}

.couch_flex_text_h{
    font-weight: bold;
    font-size: 20px;
    border-bottom: 2px solid var(--green-color);
}

.sub_page_content4{
    margin-bottom: 90px; 
}

.coach_p{
    margin-bottom: 90px;
}

.coach_flex .top_slide_main_cont{
    width: calc((100% - 60px) / 4);
    margin: 0;
    min-width: 230px;
}

.coach_flex{
    gap: 20px;
    display: flex
;
    flex-wrap: wrap;  
}

.coach_flex{
margin-top: 40px;
}

.couch_flex_text{
    width: 48%; 
}

.couch_flex_text_p{
    line-height: 25px;  
    margin-top: 10px;
}

.couch_play_img{
    width: 100%;
    margin-bottom: 40px;
}

.couch_play_img .couch_flex_text_h{
    margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
    .coach_flex .top_slide_main_cont{
        width: calc((100% - 20px) / 2);
        margin: 0;
        min-width: 200px;
    }

    .couch_flex_text{
width: 100%;
    }

}

@media screen and (max-width: 480px) {
    .coach_flex .top_slide_main_cont{
        width: 100%;
        margin: 0;
        min-width: 0px;
    }

}

.slick-slider{
    display: flex
    ;
        align-items: center; 
}

.sub_page_content12{
    margin-top: 90px;
}

.sub_page_content5_main img,.facility_w img,.sub_page_content10_main img{
    border-radius: 20px;
}

.feature_flex_img{
    display: flex
    ;
        flex-wrap: wrap;
        gap: 20px;
        
        margin: 0 auto;
        margin-top: 40px;
}

.feature_flex_img img{
    width: calc((100% - 60px) / 4);
    border-radius: 20px;
}

.sub_page_content15{
    margin-top: 90px;
}

@media screen and (max-width: 768px) {
    .feature_flex_img img{
        width: calc((100% - 20px) / 2);
        border-radius: 20px;
    }
}
.sub_page_content20_img{
    display: flex
    ;
        gap: 80px; 
        margin-bottom: 90px;
}

.sub_page_content20_img img{
    height: 350px;
    width: 50%;
    object-fit: cover;
    border-radius: 20px;
}

.sub_page_content20_text {
    font-size: 20px;
    font-weight: bold;
    line-height: 50px;
    padding: 50px;
    position: relative;
}

.sub_page_content21_text {
    font-size: 20px;
    font-weight: bold;
    line-height: 50px;
    padding: 50px;
    position: relative;
}

.sub_page_content22_text {
    font-size: 20px;
    font-weight: bold;
    line-height: 50px;
    padding: 50px;
    position: relative;
}

.sub_page_content20_text::before {
    content: 'Junior \A \0020\0020School';
    white-space: pre-wrap;
    display: block;
    font-size: 7vw;
    font-weight: bold;
    font-family: "termina", sans-serif;
    position: absolute;
    right: 0;
    bottom: 11%;
    color: #f5f5f5;
    z-index: -5;
    line-height: 95px;
}

.sub_page_content22_text::before {
    content: 'Soft \A \0020\0020Tennis ';
    white-space: pre-wrap;
    display: block;
    font-size: 7vw;
    font-weight: bold;
    font-family: "termina", sans-serif;
    position: absolute;
    right: 0;
    bottom: 11%;
    color: #f5f5f5;
    z-index: -5;
    line-height: 95px;
}

.sub_page_content20_first{
    width: 100%;
        position: relative;
        margin-bottom: 90px;
}

@media screen and (max-width: 1000px) {
    .sub_page_content20_first img{
        position: absolute;
        opacity: 0.3;
    }
    .sub_page_content20_img img {
        height: auto; 
        width: 48%;
        object-fit: cover;
        border-radius: 20px;
    }
    .sub_page_content20_img {
      
            justify-content: space-between;
            gap: 0px;
            position: relative;
    }

    .sub_page_content20_text {
        font-size: 20px;
        line-height: 50px;
        width: 100%;
    }
}

@media screen and (max-width: 780px) {

.header_logo,.header_logo_white{
    padding-left: 20px;
    padding-top: 10px;
    max-width: 130px;
    }

    .header_all{
        width: 100%;
        height: 80px;
    } 
    .header_logo img,.header_logo_white img{
        width: 100%;
    }
    .top_mv_info_right_news {
        display: block;
    }
    .top_slide_under {
        width: 90%;
        margin: 0 auto;
        text-align: center;
        font-size: 7vw;
    }
    .top_support_text_h2 {
        font-size: 24px;
        margin-bottom: 30px;
    }
    .top_junior {
        margin-top: 50px;
        margin-bottom: 50px;
    }
    .top_school_h2 {
        font-size: 28px;
    }
    .top_school_h3 {
        font-size: 16px;
        margin-bottom: 10px;
    }
    .top_junior_back_text_h3 {
        margin-bottom: 0;
    }
    .top_blog_main {
        gap: 30px;
        margin-bottom: 50px;
    }
    .top_service {
        margin-bottom: 70px;
    }
    .top_support_text_p {
        font-size: 16px;
  }
  .footer_logo {
    max-width: 130px;
    margin-bottom: 20px;
  }
  .footer_accese_main_p {
    font-size: 16px;
    margin-bottom: 20px;
  }
  .footer_accese_main {
    padding: 0;
    margin-top: 30px;
  }
  .footer_main_img {
    height: 290px;
  }
  .footer_main_under_flex {
    margin-bottom: 60px;
  }
  .footer_main_under_flex a {
    margin: 0;
  }
  .sub_page_content8_cont {
    gap: 30px;
  }
  .down_arrow {
        display: block;
        width: 80px;
        margin: 0;
    } 
    .sub_page_content8_text_h {
        font-size: 16px;
    }
    .sub_page_content8_text_p {
        font-size: 16px;
    }
    .sub_page_content8_step {
        width: 80px;
        padding-top: 10px;
        height: 80px;
        border: 3px solid #333;
        font-size: 16px;
    }
    .sub_page_content9_flex {
        display: block;
    }
    .sub_page_content9_flex_cont {
        width: 100%;
        margin-top: -1px;
    }
    .top_school{
        margin-top: 50px;
        }
        .sub_page_content22_text,.sub_page_content21_text {
            font-size: 18px;
            font-weight: bold;
            line-height: 2;
            padding: 30px 20px;
            position: relative;
        }
}
@media screen and (max-width: 1080px) {
    .header_main a {
        margin: 0 15px;
        font-size: 14px;
    }
    .header_main a:last-child {
        margin: 0 0 0 15px;
    }
}

/* TOP floot button*/

.float-button__wrap {
    display: none;/*最初は隠す*/
    width: 60px;
    height: auto;
    position: fixed;
    bottom: 120px!important; 
    right: 10px;
    z-index: 10;
    overflow: hidden;
    border-radius: 10px;
}
.float-button__wrap li {
  display: flex;
  flex-direction: column;
}
.float-button__wrap a {
    display: flex
    ;
        /* flex-direction: column; */
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        text-decoration: none;
        background-color: #0069b3;
        color: #fff;
        font-weight: bold;
        border-radius: 10px;
        font-family: "termina", sans-serif;
}
.float-button__wrap a.float-free {
    display: flex
    ;
        /* flex-direction: column; */
        writing-mode: vertical-rl;
        width: 100%;
        height: 200px;
        text-decoration: none;
        background-color: #0069b3;
        color: #fff;
        font-weight: bold;
        margin-bottom: 20px;
}
.float-button__wrap a.float-reserve {
    display: flex
    ;
        /* flex-direction: column; */
        writing-mode: vertical-rl!important;
        text-orientation: upright!important;
        width: 100%;
        height: 260px;
        text-decoration: none;
        background-color: #D60E4C;
        color: #fff;
        font-weight: bold;
}

.float-button__wrap img{
    width: 30px;
}

@media screen and (max-width: 768px) {
    .float-button__wrap {
        display: none;
        max-width: 280px;
        width: 100%;
        height: 60px;
        position: fixed;
        bottom: 10px!important;
        left: 10px;
        z-index: 10;
        overflow: hidden;
        border-radius: 10px;
        font-size: 0.75rem;
    }
    .float-button__wrap li {
      display: flex;
      flex-direction: row;
    }

    .float-button__wrap a {
        display: flex
    ;
        /* flex-direction: column; */
        justify-content: flex-start;
        align-items: center;
        text-decoration: none;
        background-color: #0069b3;
        color: #fff;
        font-weight: bold;
    }

.float-button__wrap a.float-free {
    display: flex
    ;
        /* flex-direction: column; */
        writing-mode: unset!important;
        width: 100%;
        height: 60px;
        margin-bottom: 0px;
        margin-right: 8px;
}
.float-button__wrap a.float-reserve {
    display: flex
    ;
        /* flex-direction: column; */
        writing-mode: unset!important;
        width: 100%;
        height: 60px;
    }
.float-button__wrap img {
        margin: 0 5px 0 10px;
    }
}

/* 01/10 更新*/

.schedule_all{
    padding: 20px;
    background-color: #f2f2f2;
    border-radius: 10px;
    margin-bottom: 80px;
}

.schedule_h{
    font-weight: bold;
    font-size: 25px;
    margin-bottom: 30px;
    border-bottom: 1px solid #333333;
}

.schedule_main_flex{
    display: flex
;
    flex-wrap: wrap;
    gap:20px;
}

.schedule_main{
    width: calc((100% - 20px) / 2); 
}

.schedule_main_h{
    font-size: 18px;
    border-bottom: 1px solid #333;
    margin-bottom: 20px;
}

.schedule_main_cont{
    width: 100%;
    display: block;
    padding: 15px;
    text-align: center;
    position: relative;
    font-size: 18px;
    background-color: var(--green-color);
    font-weight: bold;
    color: white;
    margin-bottom: 20px; 
    border-radius: 10px;
}

.schedule_main_cont span{
    position: absolute;
    right: 10px;

}

.small_text{
    line-height: 15px !important;
}

.sub_page_content20_img img {
    height: 350px;
    width: calc((100% - 80px) / 2);
    object-fit: cover;
    border-radius: 20px;
}

.active .header_logo {
    height: 100%;
    display: flex !important;

}

.header_logo img, .header_logo_white img {
    margin: auto 0;
    width: 100%;
}

.sub_page_content26_img img {
    height: auto;
    width: calc((100% - 80px) / 2);
    object-fit: contain;
 

}

.sub_page_content26_img {
    display: flex
;
    gap: 80px;
    margin: 80px 0 40px 0;
}

@media screen and (max-width: 780px) {
    .sub_page_content26_img {
        flex-direction: column;
    }

    .sub_page_content26_img img {
        height: auto;
        width: 100%;
        object-fit: cover;
        border-radius: 20px;
    }
}

.couch_flex_text_h {
    padding-bottom: 10px;
}
.coach_img_wrap {
    max-width: 560px;
}
ul.maker-logo_area {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 10px;
}
li.maker-logo {
    max-width: 280px;
}
li.maker-logo img {
    width: 100%;
}