.top-bg,.top-bg2{
    display: inline-block;
    width: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    /* height: 100vh; */
    height: 700px;
    position: relative;
}
.top-bg{
    background-image: url(../img/main_bg.jpg);
    background-position: left 0% top 32%;
}
.top-bg2{
    background-image: url(../img/cont_bg.jpg);
    background-position: left 10% top 34%;
}

.top_text1,.top_text1-2{
    position: absolute;
    left: 0;
    right: 0px;
    color: #ffffff;
    /* text-shadow: 0 0 3px #000000; */
    display: block;
    font-weight: bold;
    line-height: 2;
    letter-spacing: 2px; 
}

.top_text1{
    top: 90px;
}
.top_text1-2{
    top: 90px;
}
.sub-text p{ 
    font-size: 18px;
    width: 440px;
    margin: 0 auto;
    font-weight: bold;
}

.main-text{
    text-align: center;
    padding: 0 0 20px 0;
}
.main-text h2{
    font-size: 62px !important;
    letter-spacing: 12px;
    line-height: 0.8;
    color:#0099cc;
      text-shadow:1px 0 0 #ffffff,
      0 1px 0 #ffffff,
      -1px 0 0 #ffffff,
      0 -1px 0 #ffffff;
}

.main-text p{
    font-size: 24px;
    font-weight: bold;
}

.top_text2,
.top_text2-2{
    position: absolute;
    left: 0;
    right: 0px;
    color: #ffffff;
    /* text-shadow: 0 0 3px #000000; */
    display: block;
    font-weight: bold;
    line-height: 2;
    letter-spacing: 2px;
    width: 440px;
    margin: 0 auto;
}
.top_text2{
    top: 220px;
}
.top_text2-2{
    top: 220px;
}

.curriculum{
    border: 1px solid #ffffff;
    padding: 20px;
}
.top_text2 h3,
.top_text2-2 h3{
    font-weight: bold;
    text-shadow: 1px 1px 2px #808080;
}
.top_text2 dl{
    text-shadow: 1px 1px 2px #062464;
}
.top_text2 dt{
    font-weight: bold;
}
.top_text2 dd{
    margin: 0 0 10px 20px;
}


.about{
    width: 100%;
    border-top: 1px solid #e4e4e4;
    background-color: #e4e4e4;
    padding: 60px 0;
}
.about h2{
    font-size: 20px;
    padding: 0 0 14px 0;
    text-align: center;
}
.about p{
    margin: 0 auto;
    width: 400px;
    line-height: 2;
    letter-spacing: 2px;
    letter-spacing: 1px;
}

.cont .contbg{
    position: relative;
    width: 100%;
    height: 60vh;
    background-image: url(../img/online_img_pc.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left 0% top 30%;
}

.cont h2{
    text-align: center;
    color: #ffffff;
    font-weight: bold;
    font-size: 26px;
    position:absolute;
     top: 50%;
	left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}
.cont .titles{
    height: 40vh;
    position: relative;
    text-align: center;
}
.cont .titles div{
    position:absolute;
    top: 50%;
	left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}


.t_purple{
    color: #474747;
    /* color: #996699; */
    text-align: center;
    letter-spacing: 2px;
    padding: 20px 0 0 0;
}
.t_blue{
    color: #0099cc;
    text-align: center;
    font-size: 60px;
}


.cont2_wrap1,
.cont2_wrap2{
    width: calc(100%/2);
    display: inline-block;
    padding: 60px 0px;
}
.cont2_wrap1 figure,
.cont2_wrap2 figure{
    text-align: center;
}


.cont2_wrap1 figure img,
.cont2_wrap2 figure img{
    max-width: 400px;
    width: 100%;
}
.cont2_wrap1{
    padding-left:60px;
    padding-right:4px;
}
.cont2_wrap2{
    padding-left:4px;
    padding-right:60px;
}


.cont2_wrap1 h2,
.cont2_wrap2 h2{
    max-width: 530px;
    width: 100%;

    font-weight: bold;
    border-bottom: 1px solid #003399;
    color: #003399;
    font-size: 20px;
    padding: 0 0 10px 0;
    margin: 0 0 10px 0;
    
}
.en_blue{
    color: #0099cc;
    padding: 20px 0 40px 0;
    font-size: 70px;
    text-align: center;
    letter-spacing: 6px;
}
.cont2 p{
    padding: 20px 0 0 0;
    line-height: 1.8;
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
}



/* 会員ボタン */
.member_btn{
    width: 686px;
    padding: 10px 0 10px 0;
    margin:0 auto;
    font-size: 0;
}
.member_btn_01,
.member_btn_02{
    width: 340px;
    display: inline-block;
    box-sizing: border-box;
    text-align: center;
}

.member_btn_01{
    background-color: #004fc5;
    border: 1px solid #004fc5;
    margin: 0 6px 0 0;
}
.member_btn_02{
    background-color: #ffffff;
    border: 1px solid #ffffff;
}

.member_btn_01 a,
.member_btn_02 a{
    display: block;
    font-size: 16px;
    padding: 20px;
    transition: 0.4s;
    letter-spacing: 2px;
}
.member_btn_01 a:hover,
.member_btn_02 a:hover{
    opacity: 0.4;
}
.member_btn_01 a{
    border: 1px solid #ffffff;
    color: #ffffff;
}
.member_btn_02 a{
    border: 1px solid #004fc5;
    color: #004fc5;
}

/* ----------------------------------------------- */
@media screen and (max-width:1010px) {
    .top-bg{
        height: 100vh;
    }
 
    .top-bg,.top-bg2{
        width: 100%;
        height: 100vh;
    }
    .curriculum{
        border: none;
        padding: 0px;
    }
}

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



    .top-bg,.top-bg2{
        width: 100%;
        height: 100vh;
    }
    .top-bg{
        height: 100vh;
        background-position: left 20% top 0%;
    }
    .top-bg2{
        height: 100vh;
        background-position: left 50% top 20%;
    }
  
    .top_text1{
        top: 60px;
    }
    .top_text1-2{
        top: 60px;
    }
    .top_text1 .sub-text p{
       width: 80%;
       /* font-size: 6vw; */
        margin: 0 auto;
        line-height: 1.6;
    }
    .top_text1-2 .sub-text p{
        width: 80%;
        /* font-size: 6vw; */
        font-size: 20px;
         margin: 0 auto;
         line-height: 1.6;
     }

    .main-text h2{
        width: 100%;
        padding: 60px 0 0 0;
        /* font-size: 18vw; */
         margin: 0 auto;
        }
    .main-text p{
        width: 80%;
        /* font-size: 6vw; */
         margin: 0 auto;
        }

    .top_text2{
        bottom: 26px;
        top: inherit;
        width: 80%;
        border: none;
        padding: 0px;
    }
    .top_text2-2{
        top: inherit;
        bottom: 26px;
        width: 80%;
        border: none;
        padding: 0px;
    }
    .top_text2 h3,
    .top_text2-2 h3{
         font-size: 4vw; 
        font-weight: bold;
        text-shadow: 2px 2px 4px #000000;
    }
    .curriculum{
        border: none;
        padding: 0px;
    }
    .curriculum figure{
        text-align: center;
    }
    .curriculum figure img{
        max-width: 400px;
        width: 100%;
    }
    .about{
        padding: 60px 10%;
        }
    .about h2{
        text-align: left;
        font-size: 22px;
        padding: 0 0 14px 0;
    }
    .about p{
        width: 100%;
        font-size: 14px;
        letter-spacing: 1px;
    }

    .cont {
        width: 100%;
    }
    
    .cont .contbg{
        height: 40vh;
        background-image: url(../img/online_img.jpg);
    }
    .cont h2{
        font-size: 20px;
    }
   
    .cont .titles{
        height: 60vh;
    }


    
    .cont2_wrap1,.cont2_wrap2{
        width: 100%;
        padding: 40px 10%;
    }
    .cont2_wrap1 h2,.cont2_wrap2 h2{
        font-size: 20px;
    }
    .cont2_wrap1 figure img,
    .cont2_wrap2 figure img{
    width: 100%;
}
.t_purple{
    font-size: 12px;
}
.t_blue{
    font-size: 40px;
}


    .en_blue{
        color: #0099cc;
        padding: 20px 0;
        font-size: 30px;
        text-align: center;
        letter-spacing: 6px;
    }
    .cont2 p{
        padding: 20px 0 0 0;
        letter-spacing: 1.6px;
        line-height: 1.8;
    }

/* 会員ボタン */
.member_btn{
    width: 100%;
    padding: 0px 0 10px 0;
}
.member_btn_01,
.member_btn_02{
    display: block;
    width: 80%;
    margin: 10px auto;
    padding: 0;
}

.member_btn_01 a,
.member_btn_02 a{
    width: 100%;
    padding: 20px 0;
}

/* ---------------------- */
    .flexbox{
        display: -webkit-box;
        display: -webkit-flex;
        display:-ms-flexbox;
        display: flex;
        -webkit-flex-wrap:wrap;
        -ms-flex-wrap:wrap;
        flex-wrap:wrap;
        }
        .box1{
        -webkit-box-ordinal-group:1;
        -ms-flex-order:1;
        -webkit-order:1;
        order:1;
        }
        .box2{
        -webkit-box-ordinal-group:2;
        -ms-flex-order:2;
        -webkit-order:2;
        order:2;
        }
        .box3{
        -webkit-box-ordinal-group:3;
        -ms-flex-order:3;
        -webkit-order:3;
        order:3;
        }
        .box4{
        -webkit-box-ordinal-group:4;
        -ms-flex-order:4;
        -webkit-order:4;
        order:4;
        }
        .box5{
        -webkit-box-ordinal-group:5;
        -ms-flex-order:5;
        -webkit-order:5;
        order:5;
        }
}