/* inner */
.inner{
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 20px;
}

/* button */
.btn-white{
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  align-self: center;
  color: #0057A6;
  background-color: #ffffff;
  padding: 20px 40px 20px 20px;
  font-size: 20px;
  font-weight: 700;
}
.btn-blue{
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  align-self: center;
  color: #ffffff;
  background-color: #0057A6;
  padding: 20px 40px 20px 20px;
  font-size: 20px;
  font-weight: 700;
}
@media screen and (max-width: 767px){
  .btn-white,
  .btn-blue{
    padding: 20px 40px 20px 20px;
    font-size: 15px;
  }
}

.btn-white::after,
.btn-blue::after{
  position: absolute;
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  right: 20px;
}

/* youtube */
.youtube-box{
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube-box iframe{
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.img-center{
  display: flex;
  align-items: center;
  justify-content: center;
}

.img-play{
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}
.img-play::after{
  content: "";
  background: url("/lp/images/play_btn.png") center/contain;
  position: absolute;
  width: 90px;
  height: 90px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px){
  .img-play::after{
    width: 60px;
    height: 60px;
  }
}

/* modal */
.mfp-iframe-scaler button.mfp_close1{
  top: -50px;
  font-size: 60px;
}
@media screen and (max-width: 767px){
  .mfp-iframe-scaler button.mfp_close1{
    top: -40px;
    font-size: 50px;
  }
}
.mfp-iframe-scaler button.mfp_close2{
  top: auto;
  bottom: -60px;
  text-align: center;
}
@media screen and (max-width: 767px){
  .mfp-iframe-scaler button.mfp_close2{
    bottom: -50px;
    font-size: 24px;
  }
}
.mfp-iframe-scaler button.mfp_close2::before{
  content: "×";
  margin-right: 10px;
  font-size: 50px;
  vertical-align: bottom;
}
@media screen and (max-width: 767px){
  .mfp-iframe-scaler button.mfp_close2::before{
    font-size: 40px;
  }
}

.mfp-figure button.mfp_close1{
  top: 0;
  font-size: 60px;
}
@media screen and (max-width: 767px){
  .mfp-figure button.mfp_close1{
    font-size: 50px;
  }
}
.mfp-figure button.mfp_close2{
  top: auto;
  bottom: -20px;
  text-align: center;
}
@media screen and (max-width: 767px){
  .mfp-figure button.mfp_close2{
    bottom: -15px;
    font-size: 24px;
  }
}
.mfp-figure button.mfp_close2::before{
  content: "×";
  margin-right: 10px;
  font-size: 50px;
  vertical-align: bottom;
}
@media screen and (max-width: 767px){
  .mfp-figure button.mfp_close2::before{
    font-size: 40px;
  }
}

.modal_panel button.mfp_close1{
  top: -50px;
  font-size: 60px;
  color: #ffffff;
  opacity: 0.65;
}
.modal_panel button.mfp_close1:hover{
  opacity: 1;
}
@media screen and (max-width: 767px){
  .modal_panel button.mfp_close1{
    font-size: 50px;
  }
}
.modal_panel button.mfp_close2{
  top: auto;
  bottom: -60px;
  width: 100%;
  text-align: center;
  color: #ffffff;
  opacity: 0.65;
}
.modal_panel button.mfp_close2:hover{
  opacity: 1;
}
@media screen and (max-width: 767px){
  .modal_panel button.mfp_close2{
    bottom: -50px;
    font-size: 24px;
  }
}
.modal_panel button.mfp_close2::before{
  content: "×";
  margin-right: 10px;
  font-size: 50px;
  vertical-align: bottom;
}
@media screen and (max-width: 767px){
  .modal_panel button.mfp_close2::before{
    font-size: 40px;
  }
}

.modal_panel{
  position: relative;
  background: #FFF;
  padding: 30px 20px;
  width: 100%;
  /*max-height: 80vh;*/
}

/* stripe */
.stripe-left,
.stripe-right{
  position: relative;
  z-index: 1;
}
.stripe-left::before,
.stripe-right::before{
  position: absolute;
  content: "";
  width: 100%;
  z-index: -1;
  background: repeating-linear-gradient(45deg, #0057A6, #0057A6 5px, #ffffff 5px, #ffffff 10px);
}
.stripe-left::before{
  top: 20px;
  bottom: -20px;
  left: 20px;
}
.normal_slider.stripe-left::before,
.white_slider.stripe-left::before{
  bottom: 24px;
}
.stripe-right::before{
  top: 20px;
  bottom: -20px;
  right: 20px;
}
.normal_slider.stripe-right::before,
.white_slider.stripe-right::before{
  bottom: 24px;
}
@media screen and (max-width: 767px){
  .stripe-left::before{
    top: 10px;
    bottom: -10px;
    left: 10px;
  }
  .stripe-right::before{
    top: 10px;
    bottom: -10px;
    right: 10px;
  }
  .normal_slider.stripe-left::before,
  .white_slider.stripe-left::before{
    bottom: 24px;
  }
  .normal_slider.stripe-right::before,
  .white_slider.stripe-right::before{
    bottom: 24px;
  }
}

.slider ul.slick-dots{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 20px;
}
@media screen and (max-width: 767px){
  .slider ul.slick-dots{
    margin-top: 10px;
  }
}
.slider ul.slick-dots li{
  margin: 0 10px;
}
.slider ul.slick-dots li button{
  width: 15px;
  height: 15px;
  font-size: 0;
  line-height: 0;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #0057A6;
  outline: 0;
  cursor: pointer;
}
.slider ul.slick-dots li.slick-active button{
  background: #0057A6;
}
.slider.white_slider ul.slick-dots li button{
  background: #0057A6;
  border: 1px solid #ffffff;
}
.slider.white_slider ul.slick-dots li.slick-active button{
  background: #ffffff;
}
/* If you have one slide, delete the button. */
.slider ul.slick-dots > li:first-child:last-child {
  /*display: none;*/
  visibility: hidden;
}
.slider{
  width: 100%;
}
.slider li img{
  width: 100%;
}

/* responsive */
@media screen and (max-width: 767px){
  .pc{
    display: none;
  }
}
@media screen and (min-width: 768px){
  .sp{
    display: none;
  }
}


/* --------------------------- */


.topkv{
  width: 100%;
  background: #000000;
  padding-top: 130px;
  padding-bottom: 30px;
  position: relative;
}
@media screen and (max-width: 767px){
  .topkv{
    padding-top: 40px;
    padding-bottom: 30px;
  }
}
.logo{
  position: absolute;
  top: 0;
  left: 0;
  width: 500px;
  height: 200px;
  padding-top: 20px;
  padding-left: 20px;
  background: linear-gradient(to top left, transparent 60%, #ffffff 40%);
  z-index: 1;
}
@media screen and (max-width: 767px){
  .logo{
    width: 250px;
    height: 100px;
    padding-top: 10px;
    padding-left: 10px;
  }
}
.logo_img{
  max-width: 200px;
}
@media screen and (max-width: 767px){
  .logo_img{
    max-width: 100px;
  }
}
.topkv_wrapper{
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}
.topkv_imgs{
  position: relative;
  height: 500px;
  pointer-events: none;
}
@media screen and (max-width: 1300px){
  .topkv_imgs{
    height: 40vw;
  }
}
.topkv_img{
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
.topkv_txt{
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 52%;
}
.topkv_title{
  color: #ffffff;
  font-size: 28px;
  text-align: center;
}
@media screen and (max-width: 767px){
  .topkv_title{
    font-size: 16px;
  }
}

.sticky_area{
  background: rgba(51,51,51,0.95);;
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 999;
}
.sticky_area_wrapper{
  display: flex;
  padding: 20px 0;
}
.sticky_button{
  display: inline-flex;
  width: 100%;
  max-width: 100%;
  font-size: 20px;
  font-weight: 700;
  padding: 20px 40px 20px 20px;
  background: #00AFCB;
  color: #ffffff;
  text-decoration: none;
  justify-content: center;
  align-items: center;
  position: relative;
}
.sticky_button::after{
  position: absolute;
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  right: 20px;
}
.sticky_button:not(:first-child){
  margin-left: 20px;
}
@media screen and (max-width: 767px){
  .sticky_button{
    font-size: 14px;
    padding: 15px 30px 15px 15px;
  }
  .sticky_button::after{
    right: 15px;
  }
  .sticky_button:not(:first-child){
  }
}

.about{
  background: url("/lp/images/background_1.png") center/cover;
  position: relative;
  overflow-x: hidden;
  z-index: 0;
  padding-top: 200px;
  padding-bottom: 80px;
}
@media screen and (max-width: 767px){
  .about{
    padding-top: 100px;
    padding-bottom: 50px;
  }
}
.about::before,
.about::after{
  content: "";
  position: absolute;
  width: 100%;
  z-index: -1;
}
.about::before{
  /*background: linear-gradient(-5deg, transparent 50%, #ffffff 50%);*/
  border-left: 100vw solid #ffffff;
	border-bottom: 100px solid transparent;
  top: 0;
  height: 160px;
}
.about::after{
  /*background: linear-gradient(-5deg, #ffffff 50%, transparent 50%);*/
  border-right: 100vw solid #ffffff;
	border-top: 100px solid transparent;
  bottom: 0;
  height: 300px;
}
@media screen and (max-width: 767px){
  .about::before{
    border-bottom: 50px solid transparent;
    height: 100px;
  }
  .about::after{
    border-top: 50px solid transparent;
    height: 200px;
  }
}
.about_main{
  display: flex;
  justify-content: center;
  align-items: start;
  width: 75%;
  max-width: 400px;
  margin: 0 auto;
  pointer-events: none;
}
.about_main_img{
  padding: 20px;
  max-width: 50%;
  width: 100%;
}
.about_slider{
  margin-top: 30px;
}

.message{
  color: #ffffff;
}
.message1{
  background: url("/lp/images/campus_bg.png") center/cover;
  position: relative;
  overflow: hidden;
}
.message1::before{
  content: "";
  position: absolute;
  width: 100%;
  z-index: 1;
  /*background: linear-gradient(to top left, transparent 50%, #ffffff 50%);*/
  border-left: 100vw solid #ffffff;
	border-bottom: 100px solid transparent;
  top: 0;
  height: 100px;
}
.message1::after{
  content: "";
  position: absolute;
  width: 100%;
  z-index: 1;
  background: linear-gradient(to bottom right, transparent 50%, #0057A6 50%);
  bottom: 0;
  height: 10vw;
  max-height: 130px;
}
.message1.top-bottom-flat::before,
.message1.top-bottom-flat::after{
  content: none;
}
@media screen and (max-width: 767px){
  .message1::before{
    border-bottom: 50px solid transparent;
    height: 50px;
  }
  .message1::after{
    content: "";
    position: absolute;
    width: 100%;
    z-index: 1;
    background: linear-gradient(to bottom right, transparent 50%, #0057A6 50%);
    bottom: 0;
    height: 10vw;
    max-height: 130px;
  }
}
.message1_wrapper{
  background: rgba(0, 0, 0, 0.65);
  width: 100%;
  height: 100%;
  position: relative;
  padding-top: 130px;
  padding-bottom: 130px;
}
.message1_wrapper::before{
  position: absolute;
  content: "OPEN\A CAMPUS";
  white-space: pre;
  opacity: 0.15;
  text-align: right;
  font-size: 200px;
  font-weight: 700;
  line-height: 1;
  top: 0;
  right: 0;
  font-family: 'Oswald', sans-serif;
}
@media screen and (max-width: 767px){
  .message1_wrapper::before{
    font-size: 100px;
  }
}
.message1_title{
  font-size: 64px;
}
@media screen and (max-width: 767px){
  .message1_title{
    font-size: 32px;
  }
}
.message1_txt1{
  font-size: 20px;
  font-weight: 700;
}
@media screen and (max-width: 767px){
  .message1_txt1{
    font-size: 16px;
  }
}
.message1_txt2{
  font-weight: 700;
  line-height: 2.0;
}
@media screen and (max-width: 767px){
  .message1_txt2{
    font-size: 15px;
  }
}

.message2{
  background: #0057A6;
  padding-top: 70px;
  padding-bottom: 130px;
  position: relative;
  overflow-x: hidden;
}
.message2::after{
  content: "";
  position: absolute;
  width: 100%;
  z-index: 1;
  /*background: linear-gradient(to bottom right, transparent 50%, #EAEAEA 50%);*/
  border-left: 100vw solid transparent;
	border-bottom: 100px solid #ffffff;
  bottom: 0;
  height: 100px;
}
.message2.bottom-gray::after{
	border-bottom: 100px solid #E0E0E0;
}
@media screen and (max-width: 767px){
  .message2::after{
    border-bottom: 50px solid #ffffff;
    height: 50px;
  }
  .message2.bottom-gray::after{
    border-bottom: 100px solid #E0E0E0;
  }
}

.message2_textarea{
}
.message2_title{
  font-size: 90px;
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
}
@media screen and (max-width: 767px){
  .message2_title{
    font-size: 50px;
  }
}
.message2_txt{
  font-size: 24px;
  font-weight: 700;
  background: #ffffff;
  color: #0057A6;
  display: inline;
}
@media screen and (max-width: 767px){
  .message2_txt{
    font-size: 16px;
  }
}

.schedule{
  background: #EFEFEF;
  padding-top: 70px;
  padding-bottom: 140px;
  text-align: center;
  position: relative;
  overflow-x: hidden;
  z-index: 1;
}
.schedule::before{
  content: "";
  position: absolute;
  width: 100%;
  border-right: 100vw solid #ffffff;
	border-bottom: 150px solid transparent;
  top: 0;
  left: 0;
  height: 300px;
  z-index: -1;
}
.schedule.top-gray::before{
  border-right: 100vw solid #E0E0E0;
}
@media screen and (max-width: 767px){
  .schedule::before{
    border-bottom: 100px solid transparent;
    height: 200px;
  }
}
.schedule::after{
  content: "";
  position: absolute;
  width: 100%;
  border-left: 100vw solid transparent;
	border-bottom: 100px solid #ffffff;
  bottom: 0;
  left: 0;
  height: 100px;
  z-index: -1;
}
@media screen and (max-width: 767px){
  .schedule::before{
    border-bottom: 100px solid transparent;
    height: 200px;
  }
}
.schedule_title{
  font-size: 90px;
  font-weight: 700;
  text-align: center;
  font-family: 'Oswald', sans-serif;
}
@media screen and (max-width: 767px){
  .schedule_title{
    font-size: 45px;
  }
}
.schedule_sub{
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px){
  .schedule_sub{
    font-size: 16px;
  }
}
.schedule_lists{
  margin-top: 40px;
}
@media screen and (max-width: 767px){
  .schedule_lists{
    margin-top: 20px;
  }
}
.schedule_list{
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.schedule_list:not(:first-child){
  margin-top: 15px;
}
.schedule_day,
.schedule_time,
.schedule_place{
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: #0057A6;
  padding: 10px;
  font-weight: 700;
  color: #ffffff;
  text-align: center;
  justify-content: center;
}
.schedule_day{
  font-size: 28px;
  flex: 0 0 25%;
  max-width: 25%;
  position: relative;
}
.schedule_day::after{
  content: "";
  position: absolute;
  width: 1.5px;
  right: 0;
  top: 10px;
  bottom: 10px;
  background: #ffffff;
}
.schedule_time{
  font-size: 20px;
  flex: 0 0 25%;
  max-width: 25%;
  position: relative;
}
@media screen and (min-width: 768px){
  .schedule_time::after{
    content: "";
    position: absolute;
    width: 1.5px;
    right: 0;
    top: 10px;
    bottom: 10px;
    background: #ffffff;
  }
}
.schedule_place{
  font-size: 20px;
  flex: 0 0 50%;
  max-width: 50%;
  position: relative;
}
@media screen and (max-width: 767px){
  .schedule_place::after{
    content: "";
    position: absolute;
    height: 1.5px;
    top: 0;
    left: 10px;
    right: 10px;
    background: #ffffff;
  }
}
.schedule_place span{
  font-size: 16px;
  display: block;
}
@media screen and (max-width: 767px){
  .schedule_day{
    font-size: 16px;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .schedule_time{
    font-size: 13px;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .schedule_place{
    font-size: 16px;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .schedule_place span{
    font-size: 13px;
  }
}
.schedule_button{
  margin: 60px auto 0;
}
@media screen and (max-width: 767px){
  .schedule_button{
    margin: 30px auto 0;
  }
}

.event{
  min-height: 700px;
  padding-top: 50px;
  padding-bottom: 50px;
  position: relative;
  overflow-x: hidden;
}
.event::before{
  content: "";
  position: absolute;
  width: 100%;
  border-right: 100vw solid #EFEFEF;
  border-top: 200px solid transparent;
	border-bottom: 150px solid transparent;
  top: 100px;
  left: 0;
  height: 600px;
  z-index: -1;
}
@media screen and (max-width: 767px){
  .event::before{
    border-top: 100px solid transparent;
    border-bottom: 75px solid transparent;
  }
}
.event_title{
  font-size: 90px;
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px){
  .event_title{
    font-size: 50px;
  }
}
.event_lists{
  margin-top: 60px;
}
@media screen and (max-width: 767px){
  .event_lists{
    margin-top: 40px;
  }
}
.event_list{
  padding: 60px;
  background: #ffffff;
  border: #E8E8E8;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px){
  .event_list{
    padding: 30px;
  }
}
.event_list:not(:first-child){
  margin-top: 30px;
}

.information{
  background: #0057A6;
  color: #ffffff;
  padding-top: 100px;
  padding-bottom: 100px;
  position: relative;
}
@media screen and (max-width: 767px){
  .information{
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
.information::before,
.information::after{
  position: absolute;
  content: "";
  width: 100%;
  background: #ffffff;
}
.information::before{
  top: 0;
  left: 0;
  height: 30px;
}
.information::after{
  bottom: 0;
  left: 0;
  height: 50px;
}
@media screen and (max-width: 767px){
  .information::before{
    height: 20px;
  }
  .information::after{
    height: 30px;
  }
}
.information_grid{
  display: grid;
  display: -ms-grid;
  grid-template-columns: 45% 55%;
  -ms-grid-columns: 45% 55%;
  grid-template-rows: auto auto auto;
  -ms-grid-rows: auto auto auto;
}
.information_1{
  grid-column: 1 / 2;
  grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-row: 1;
}
.information_2{
  grid-column: 1 / 2;
  grid-row: 2;
  -ms-grid-column: 1;
  -ms-grid-row: 2;
}
.information_3{
  grid-column: 2 / 3;
  grid-row: 1 / 3;
  -ms-grid-column: 2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  padding-left: 40px;
}
@media screen and (max-width: 767px){
  .information_1{
    grid-column: 1 / 3;
    grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-row: 1;
    -ms-grid-column-span: 2;
  }
  .information_2{
    grid-column: 1 / 3;
    grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-row: 4;
    -ms-grid-column-span: 2;
  }
  .information_3{
    grid-column: 1 / 3;
    grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-row: 2;
    -ms-grid-column-span: 2;
    padding-left: 0px;
  }
}
.information_title{
  font-size: 75px;
  font-weight: 700;
  font-family: 'Oswald', sans-serif;
  white-space: nowrap;
}
@media screen and (max-width: 767px){
  .information_title{
    font-size: 45px;
  }
}
.information_sub{
  font-size: 24px;
  font-weight: 700;
  background: #ffffff;
  color: #0057A6;
  display: inline-block;
  padding: 3px;
}
.information_btnlist{
  margin-top: 30px;
  margin-bottom: -10px;
}
.information_btnlist li{
  padding-top: 10px;
  padding-bottom: 10px;
}
.information_btnlist li a{
  width: 100%;
  height: 100%;
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 16px;
  font-weight: 400;
}

.course{

}
.course_top{
  padding-top: 40px;
  position: relative;
}
.course_top_title{
  font-size: 48px;
  background: #0057A6;
  color: #ffffff;
  display: inline;
}
@media screen and (max-width: 767px){
  .course_top_title{
    font-size: 27px;
  }
}
.course_top_txt{
  font-size: 24px;
  color: #ffffff;
  margin-top: 30px;
}
@media screen and (max-width: 767px){
  .course_top_txt{
    font-size: 16px;
    margin-top: 20px;
  }
}
.course_top::before{
  position: absolute;
  content: "";
  width: 100%;
  height: 550px;
  top: 0;
  left: 0;
  z-index: -1;
  background: linear-gradient(-110deg, #ffffff 50%, transparent 50%), url("/lp/images/background_1.png") center/cover;
}
@media screen and (max-width: 767px){
  .course_top::before{
    height: 240px;
    background: linear-gradient(-110deg, #ffffff 20%, transparent 20%), url("/lp/images/background_1.png") center/cover;
  }
}
.course_card{
  padding: 40px;
  margin-top: 50px;
  background: #ffffff;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px){
  .course_card{
    padding: 30px 20px;
    margin-top: 25px;
  }
}
input[type="radio"]{display:none;}
.tab_area{
  display: flex;
  position: relative;
}
.tab_area label{
  width:50%;
  display:inline-block;
  padding:12px 0;
  color:#0057A6;
  background:#ffffff;
  border: 1px solid #0057A6;
  text-align:center;
  font-size:24px;
  font-weight: 700;
  cursor:pointer;
  transform: skewX(15deg);
}
.tab_area label span{
  display: inline-block;
  transform: skewX(-15deg);
}
.tab_panel{
  width:100%; 
  padding:30px 0; 
  display:none;
}
#tab1:checked ~ .tab_area .tab1_label,
#tab2:checked ~ .tab_area .tab2_label{
  background:#0057A6;
  color:#ffffff;
}
#tab1:checked ~ .panel_area #panel1{display:block;}
#tab2:checked ~ .panel_area #panel2{display:block;}
.tab_panel h3 small{
  font-weight: 400;
  margin-left: 20px;
}
.panel_btnlist{
  display: flex;
  flex-wrap: wrap;
  margin-top: -5px;
  margin-bottom: -5px;
  margin-left: -5px;
  margin-right: -5px;
}
.panel_btn{
  flex: 0 0 33.333%;
  max-width: 33.333%;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 5px;
  padding-right: 5px;
}
@media screen and (max-width: 767px){
  .panel_btn{
    flex: 0 0 50%;
    max-width: 50%;
  }
}
.panel_btn > a{
  display: inline-flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  align-self: center;
  background: #F6F6F6;
  color: #333333;
  font-size: 18px;
  padding: 25px 20px 25px 10px;
  position: relative;
}
@media screen and (max-width: 767px){
  .panel_btn > a{
    font-size: 15px;
    padding: 15px 20px 15px 10px;
  }
}
.panel_btn > a:hover{
  opacity: 0.7;
}
.panel_btn > a::after{
  position: absolute;
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  right: 10px;
}
.course_title_sp{
  font-size: 18px;
  text-align: center;
  background: #D8D8D8;
  display: inline-block;
  width: 100%;
  padding: 10px 20px;
  position: relative;
}
.course_title_sp::before,
.course_title_sp::after{
  content: "";
  position: absolute;
  width: 15px;
  top: 0;
  bottom: 0;
}
.course_title_sp::before{
  left: 0;
  background: linear-gradient(to top right, #ffffff 50% ,#D8D8D8 50%);
}
.course_title_sp::after{
  right: 0;
  background: linear-gradient(to bottom left, #ffffff 50% ,#D8D8D8 50%);
}
.course_exp{
  margin-top: 80px;
  padding-top: 50px;
  padding-bottom: 80px;
  position: relative;
}
@media screen and (max-width: 767px){
  .course_exp{
    margin-top: 50px;
    padding-top: 20px;
    padding-bottom: 50px;
  }
}
.course_exp::before{
  position: absolute;
  content: "";
  width: 100%;
  height: 550px;
  top: 0;
  left: 0;
  z-index: -1;
  background: linear-gradient(-70deg, transparent 50%, #ffffff 50%), url("/lp/images/background_1.png") center/cover;
}
@media screen and (max-width: 767px){
  .course_exp::before{
    height: 240px;
    background: linear-gradient(-70deg, transparent 80%, #ffffff 80%), url("/lp/images/background_1.png") center/cover;
  }
}

.campus{
  padding-top: 20px;
  padding-bottom: 50px;
  position: relative;
  overflow-x: hidden;
}
.campus::before{
  content: "";
  position: absolute;
  width: 100%;
  border-left: 100vw solid #EFEFEF;
  border-top: 250px solid transparent;
	border-bottom: 200px solid transparent;
  top: 0;
  left: 0;
  height: 600px;
  z-index: -1;
}
@media screen and (max-width: 767px){
  .campus::before{
    border-top: 125px solid transparent;
    border-bottom: 100px solid transparent;
  }
}
.campus_title{
  font-size: 90px;
  font-weight: 700;
  text-align: center;
  font-family: 'Oswald', sans-serif;
}
@media screen and (max-width: 767px){
  .campus_title{
    font-size: 45px;
  }
}
.campus_sub{
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px){
  .campus_sub{
    font-size: 16px;
  }
}
.campus_panel{
  display: flex;
  flex-wrap: wrap;
  margin-left: -5px;
  margin-right: -5px;
  margin-top: 25px;
  margin-bottom: -5px;
}
.campus_panel > li{
  flex: 0 0 20%;
  max-width: 20%;
  padding-left: 5px;
  padding-right: 5px;
  padding-top: 5px;
  padding-bottom: 5px;
}
.campus_panel > li.hidden{

}
.campus_panel > li p{
  text-align: center;
  color: #333333;
  font-size: 14px;
  margin-top: 10px;
  padding: 0 5px;
}
button.campus_more,
button.campus_less{
  display: block;
  margin: 0 auto;
  margin-top: 90px;
  border: 0;
  outline: 0;
  cursor: pointer;
  background: #ffffff;
  position: relative;
}
button.campus_more::before,
button.campus_less::before{
  position: absolute;
  width: 45px;
  height: 45px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  background-color: #0057A6;
  color: #ffffff;
  border-radius: 50%;
  left: 50%;
  bottom: 30px;
  transform: translateX(-50%);
}
button.campus_more::before{
  content: "\f067";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
button.campus_less::before{
  content: "\f068";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
.campus_slider{
  margin-top: 20px;
}

.club{
  padding-top: 150px;
  padding-bottom: 100px;
  position: relative;
  overflow-x: hidden;
}
.club::before{
  content: "";
  position: absolute;
  width: 100%;
  border-right: 100vw solid #E0E0E0;
  border-top: 100px solid transparent;
	border-bottom: 150px solid transparent;
  top: 0;
  left: 0;
  height: 500px;
  z-index: -1;
}
.club::after{
  content: "";
  position: absolute;
  width: 100%;
  border-left: 100vw solid #EFEFEF;
	border-bottom: 100px solid transparent;
  bottom: 0;
  left: 0;
  height: 80%;
  z-index: -2;
}
@media screen and (max-width: 767px){
  .club::before{
    border-top: 50px solid transparent;
    border-bottom: 75px solid transparent;
    height: 300px;
  }
  .club::after{
    border-bottom: 50px solid transparent;
  }
}
.club_title{
  font-size: 90px;
  font-weight: 700;
  font-family: 'Oswald', sans-serif;
  line-height: 1;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px){
  .club_title{
    font-size: 45px;
  }
}
.club_sub{
  font-size: 24px;
  font-weight: 700;
  display: inline;
  background: #ffffff;
}
@media screen and (max-width: 767px){
  .club_sub{
    font-size: 16px;
  }
}
.club_images{
  display: flex;
  flex-wrap: wrap;
  margin: -10px;
}
.club_images > li{
  flex: 0 0 33.333%;
  max-width: 33.333%;
  padding: 10px;
}
.club_images > li img{
  width: 100%;
}
.club_snsbtn{
  display: flex;
  flex-wrap: wrap;
  margin-left: -5px;
  margin-right: -5px;
  margin-top: 35px;
}
.club_snsbtn li{
  flex: 0 0 50%;
  max-width: 50%;
  padding-left: 5px;
  padding-right: 5px;
}
.club_snsbtn li a.btn-blue{
  padding: 15px;
  width: 100%;
}
.club_snsbtn li a.btn-blue::after{
  content: "";
}
#facebook_timeline > .fb-page{
  width: 100%;
}
#facebook_timeline > .fb-page > span,
#facebook_timeline iframe {
    width: 100% !important;
}
.twitter-ie{
  display: none;
  width: 100%;
  height: 500px;
  overflow-y: auto;
  background: #ffffff;
  padding: 20px;
}
@media all and (-ms-high-contrast:none) {
  .twitter-timeline{
    display: none;
  }
  .twitter-ie{
    display: block;
  }
}

.map{
  padding-top: 50px;
  padding-bottom: 100px;
}
.map_title{
  font-size: 90px;
  font-weight: 700;
  font-family: 'Oswald', sans-serif;
  text-align: center;
  line-height: 1;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px){
  .map_title{
    font-size: 50px;
    margin-bottom: 20px;
  }
}
.google_map {
  height: 0;
  overflow: hidden;
  padding-bottom: 500px;
  position: relative;
}
@media screen and (max-width: 767px){
  .google_map {
    
  }
}
.gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

footer{
  background: #F1F1F1;
  padding-top: 30px;
  padding-bottom: 30px;
  position: relative;
}
.to_top{
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  right: 0;
  bottom: 110px;
  font-size: 50px;
  color: #ffffff;
  background: #00AFCB;
  opacity: 0.8;
  transition: opacity .2s;
  border: 0;
  outline: 0;
  cursor: pointer;
  z-index: 999;
}
.to_top:hover{
  opacity: 1.0;
}
@media screen and (max-width: 767px){
  .to_top{
    width: 60px;
    height: 60px;
    font-size: 40px;
    bottom: 91px;
  }
}
.footer_grid{
  display: grid;
  display: -ms-grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  -ms-grid-columns: 1fr 1fr;
  -ms-grid-rows: auto;
}
.footer_logo{
  grid-column: 1;
  grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-row: 1;
}
.footer_navi{
  text-align: right;
  grid-column: 2;
  grid-row: 1;
  -ms-grid-column: 2;
  -ms-grid-row: 1;
}
.footer_sns{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 20px;
  grid-column: 2;
  grid-row: 2;
  -ms-grid-column: 2;
  -ms-grid-row: 2;
}
.footer_sns a:not(:first-child){
  margin-left: 40px;
}
.footer_copyright{
  display: flex;
  align-items: flex-end;
  grid-column: 1;
  grid-row: 2;
  -ms-grid-column: 1;
  -ms-grid-row: 2;
}
@media screen and (max-width: 767px){
  .footer_logo{
    grid-column: 1 / 3;
    grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-row: 1;
    -ms-grid-column-span: 2;
  }
  .footer_navi{
    text-align: left;
    margin-top: 30px;
    grid-column: 1 / 3;
    grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-row: 2;
    -ms-grid-column-span: 2;
  }
  .footer_sns{
    justify-content: flex-start;
    grid-column: 1 / 3;
    grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-row: 3;
    -ms-grid-column-span: 2;
  }
  .footer_copyright{
    justify-content: center;
    margin-top: 30px;
    grid-column: 1 / 3;
    grid-row: 4;
    -ms-grid-column: 1;
    -ms-grid-row: 4;
    -ms-grid-column-span: 2;
  }
}
.footer_logo img{
  max-width: 220px;
}
@media screen and (max-width: 767px){
  .footer_logo img{
    max-width: 170px;
  }
}

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

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