@charset "utf-8";

 body {
  font-size: 14px;
  line-height: 1.6;
  overflow-x: hidden;
  width: 100%;
  position: relative;
}

/* メイン */
main{overflow: hidden;height: 36.45833vw;border-top: 5px solid #023793;border-bottom: 5px solid #023793;}
main .slider-wrapper{background: url("../img/main_slide_img01_pc.webp") center top/100% no-repeat;height: 100%;}
main .nivoSlider{}
main .main_copy{position: absolute;width: 100%;left: 0;top: 50%;transform: translateY(-50%);z-index: 100;filter: drop-shadow(0px 0px 0.3vw rgba(0,0,0,0.5));text-align: center;}
main .main_copy .main_logo{width: 14.5vw;}
main .main_copy h2{font-size: 1.5vw;color: #fff;margin: 1.5vw auto 0;line-height: 1.6;max-width:1024px;}
main .main_copy h2 + p{font-size: 1vw;color: #fff;margin: 1.0vw auto 0;line-height: 1.6;max-width:1024px;}
main img{width: 100%;}
main .main_bnr{position: absolute;width: 43.792%;left: 50%;bottom: 3%;transform: translateX(-50%);z-index: 100;text-align: center;margin: 0 auto;}
main .main_bnr ul{display: flex;justify-content: space-evenly;}
main .main_bnr li{width:48%;}

@media (min-width: 769px) and (max-width: 1600px){
main{height: 593px;}
main .nivoSlider{left: 50%;transform: translateX(-50%);width: 1600px;}
main .nivoSlider img{width: 1600px;}
main .main_copy{filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.5));}
main .main_copy .main_logo{width: 230px;}
main .main_copy h2{font-size: 24px;margin-top: 25px;}
main .main_copy h2 + p{font-size: 16px;margin-top: 15px;}
main .main_bnr{width: 700px;}
}

@media (max-width: 768px){
main{height: calc(59.89vw + 50px);border-top: 3px solid #023793;border-bottom: 3px solid #023793;}
main .slider-wrapper{background: url("../img/main_slide_img01_sp.webp") center top/100% no-repeat;}
main .nivoSlider img{width: 100%;}
main .main_copy{position: relative;left: auto;top: auto;transform: translateY(0);background: #f2f5ee;filter: none;padding: 15px 30px;}
main .main_copy .main_logo{position: absolute;width: 40vw;left: 0;right: 0;bottom: calc(100% + 70vw);margin: 0 auto;filter: drop-shadow(0px 0px 0.3vw rgba(0,0,0,0.5));}
main .main_copy h2{font-size: 18px;color: #333;margin-top: 0;line-height: 1.6;}
main .main_copy h2 + p{font-size: 13px;color: #333;margin-top: 10px;line-height: 1.6;text-align: left;}
main .main_bnr{top: 65%;bottom: unset;width: 96%;}
/* main .main_bnr li{width:100%;} */
main .open_etc{width: 100%;display: flex;}
main .open_etc a{flex: 1;height: 50px;display: flex;justify-content: center;align-items: center;flex-direction: column;text-decoration: none;}
main .open_etc a > span{font-size: 12px;line-height: 1.1;color: #fff;text-align: center;}
main .open_etc a > small{display: none; font-size: 9px;margin-top: 3px;line-height: 1.2;}
}

#topics{background: #e4ebf5;padding: 35px 0 45px;animation-name: fadeInUp;}
.topics_slide_wrap{max-width: 1280px;margin: 20px auto 0;padding: 0 70px;}
.topics_slide2{max-width: 1060px;margin: 0 auto;}
.topics_slide2 a{text-decoration: none;margin-right: 25px;}
.topics_slide2 p{line-height: 1.6;margin-top: 5px;color: #333;text-align: left;}
.topics_slide2 .slick-dots{max-width: 1300px;bottom: -30px;}
.topics_slide2 .slick-dots li{width: 14px;height: 14px;}
.topics_slide2 .slick-dots li button{background-color: #888;width: 100%;height: 100%;border-radius: 50%;}
.topics_slide2 .slick-dots li.slick-active button{background-color: #023893;width: 100%;height: 100%;border-radius: 50%;}
.topics_slide2 .slick-dots li button:hover{opacity: 0.7;}
.topics_slide2 .slick-dots li button::before{display: none!important;}
.topics_slide2 .slick-arrow{position: absolute;top: calc(50% - 13px);cursor: pointer;z-index: 10;}
.topics_slide2 .slick-arrow.prev{left: -65px;}
.topics_slide2 .slick-arrow.next{right: -50px;}


@media (max-width: 768px){
#topics{padding: 20px 0;}
.topics_slide_wrap{padding: 0;}
.topics_slide2{}
.topics_slide2 a{margin: 0 15px;width: 78vw;}
.topics_slide2 p{line-height: 1.6;margin-top: 3px;color: #333;text-align: left;}
.topics_slide2 .slick-arrow{position: absolute;top: calc(50% - 11px);cursor: pointer;}
.topics_slide2 .slick-arrow img{width: 12px;}
.topics_slide2 .slick-arrow.prev{left: 20px;}
.topics_slide2 .slick-arrow.next{right: 20px;}

}

/* main */
#main{
  max-width: 1920px;
  width: 100%;
  margin: 0 auto;
}
.mainimg{
  position: relative;
}
.mainimg_over{
  position: absolute;
  top: 0;
  width: 100%;
  opacity: 0;
  z-index: 2;
  animation:1s linear mvover;
  animation-delay: 2s;
  animation-fill-mode:forwards;
}

/* open campus */
.op_ttl{
  font-size: 28px;
  font-weight: bold;
  text-align: center;
}
.op_ttl strong,.op_ttl span{
  font-size: 36px;
  font-weight: bold;
}
.op_ttl strong{
  color: #B88C00;
}
.op_ttl span{
  color: #BD1F2B;
}
.op_centertext{
  font-size: 18px;
  text-align: center;
}
.opencampus_cta{
  padding: 30px 0 20px;
  text-align: center;
}
.opencampus_cta a img{
  width: 384px;
}
.opencampus_cta a{
  position: relative;
  display: inline-block;
}
.opencampus_cta a .ocbtn_click,.opencampus_cta a .ocbtn_ico{
  position: absolute;
  top: 0;
  width: 100%;
}
.opencampus_cta a .ocbtn_click{
  animation:3s linear infinite clickico;
}
.opencampus_cta a .ocbtn_ico{
  animation:3s linear infinite ctaico;
}

/* point */
#point{
  max-width: 1920px;
  width: 100%;
  margin: 0 auto 40px;
}
.point_container{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.point_contents{
  background: #F7F7F7;
  width: calc(50% - 10px);
  margin-bottom: 20px;
}
.point_contents:nth-child(2n){
  margin-left: 20px;
}
.point_image{
  position: relative;
}
.point_image .pzwap{
  top: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 2;
}

.point_image .pzwap div{
  opacity: 0;
  position: absolute;
  transition: 1s;
  transition-delay: 1s;
}
.piece01{transform: translate(-40px, -60px);}
.piece02{transform: translate(-20px, -50px);}
.piece03{transform: translate(0px, -60px);}
.piece04{transform: translate(20px, -50px);}
.piece05{transform: translate(40px, -60px);}
.piece06{transform: translate(-40px, 40px);}
.piece07{transform: translate(-20px, 50px);}
.piece08{transform: translate(0px, 40px);}
.piece09{transform: translate(20px, 50px);}
.piece10{transform: translate(40px, 40px);}
.point_contents.on .piece01,.point_contents.on .piece02,.point_contents.on .piece03,.point_contents.on .piece04,.point_contents.on .piece05,.point_contents.on .piece06,.point_contents.on .piece07,.point_contents.on .piece08,.point_contents.on .piece09,.point_contents.on .piece10{transform: translate(0px, 0px);opacity: 1;}
.point_ttl{
  background: #E60021;
  color: #FFF;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80px;
}
.pointclass{
  position: relative;
}
.pointclass .point06anime{
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
}
.pointclass .point06anime div{
  position: absolute;
}
.class01,.class02,.class03{
  opacity: 0;
  transition: 1s;
  transform: translate(0px, 20px);
}
.class01{
  transition-delay: 1s;
}
.class02{
  transition-delay: 2s;
}
.class03{
  transition-delay: 3s;
}
.on .pointclass .point06anime div.class01,.on .pointclass .point06anime div.class02,.on .pointclass .point06anime div.class03{
  opacity: 1;
  transform: translate(0px, 0px);
}

.point_ttl strong{
  font-size: 36px;
  font-weight: bold;
  font-style: italic;
  margin: 0 20px;
}
.point_ttl p{
  font-size: 24px;
  line-height: 120%;
}
.point07 .point_ttl p{
  font-size: 20px;
}
.point_info{
  padding: 20px;
  text-align: center;
  font-size: 18px;
}
.point_info p.notetext{
  text-align: center;
  font-size: 16px;
}
.scslider{
  position: relative;
}
.scslider .prev{
  position: absolute;
  left: 20px;
  top: calc(50% - 22px);
  z-index: 2;
}
.scslider .next{
  position: absolute;
  right: 20px;
  top: calc(50% - 22px);
  z-index: 2;
}
@media screen and (max-width: 1601px){
  .point_ttl strong{
    font-size: 30px;
    font-weight: bold;
    font-style: italic;
    margin: 0 10px;
  }
  .point_ttl p{
    font-size: 20px;
    line-height: 120%;
  }
  .point07 .point_ttl p{
    font-size:18px;
  }
  .point_info{
    padding: 18px;
    text-align: center;
  }
  .point_info p{
    font-size: 16px;
  }
  .point_info p.notetext{
    text-align: center;
    font-size: 13px;
  }
}
@media screen and (max-width: 1300px){
  .point_ttl strong{
    font-size: 24px;
    font-weight: bold;
    font-style: italic;
    margin: 0 10px;
  }
  .point_ttl p{
    font-size: 16px;
    line-height: 120%;
  }
  .point07 .point_ttl p{
    font-size:16px;
  }
  .point_info p{
    font-size: 14px;
  }
  .point_info p.notetext{
    text-align: center;
    font-size: 12px;
  }
}
@media (min-width: 768px) and (max-width: 1210px) {
  .point08 .point_ttl p{
    font-size: 14px;
  }
}



/* banner */
#banner{
  background: #F7F7F7;
  padding: 30px 0 90px;
  position: relative;
  margin: 0 5px;
}
#banner::before{
  content: "";
  background: url("../img/oc_detailicon_left.png") no-repeat;
  background-size: 80px auto;
  width: 80px;
  height: 80px;
  position: absolute;
  top: -5px;
  left: -5px;
}
#banner::after{
  content: "";
  background: url("../img/oc_detailicon_right.png") no-repeat;
  background-size: 80px auto;
  width: 80px;
  height: 80px;
  position: absolute;
  bottom: -5px;
  right: -5px;
}
.bnrhead{
  text-align: center;
}
.bnr_ttl{
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  border-bottom: 1px solid #000;
  display: inline-block;
  position: relative;
  padding: 0 20px 0 10px;
}
.bnr_ttl::before{
  content: "";
  background: url("../img/oc_ico.png") no-repeat;
  background-size: 50px auto;
  width: 50px;
  height: 60px;
  display: inline-block;
  position: absolute;
  top: 5px;
  right: -40px;
  animation:6s linear infinite rotation;
}
.bnr_ttl strong,.bnr_ttl span{
  font-size: 36px;
  font-weight: bold;
}
.bnr_ttl strong{
  color: #B88C00;
}
.bnr_ttl span{
  color: #BD1F2B;
}
.bnr_centertext{
  color: #B98C00;
  font-family: "EB Garamond", serif;
  font-size: 24px;
  text-align: center;
}
.bnrslider_wap{
  margin-top: 30px;
}
.bnrslider  li{
  margin: 0 10px;
}

/* footer */
.copy{
  background: #E6E6E6;
  font-size: 13px;
  padding: 10px;
  text-align: center;
  margin-top: 30px;
}

@media (max-width: 768px){
  body{
    padding-top: 0px;
    overflow-x: hidden;
  }
  
  /* header */
  header {
    height: 60px;
  }
  header h1 {
    margin: 10px auto;
    display: block;
    text-align: center;
  }
  header h1 a img {
    transition: all 0.3s;
    width: 250px;
  }
  header .header_wrap .h_link_area{
    display: none;
  }
  
  .op_ttl{
    font-size: 18px;
  }
  .op_ttl strong,.op_ttl span{
    font-size: 20px;
  }
  .op_centertext{
    font-size: 18px;
    text-align: center;
  }
  .opencampus_cta{
    padding: 30px 20px 20px;
    text-align: center;
  }
  .point_contents:nth-child(2n){
    margin-left: 0px;
  }
  .point_contents{
    width: 100%;
    margin-bottom: 20px;
  }
  
  .point_ttl {
    height: auto;
    padding: 10px 5px;
  }
  .ico img{
    height: 30px;
  }
  .point_ttl strong {
    font-size: 22px;
    margin: 0 10px;
  }
  .point_ttl p {
    font-size: 16px;
  }
  .point07::before{
    content: "";
    background: url("../img/point08_spbgleft.png") no-repeat;
    background-size: 105px auto;
    top: calc(50% - 52px);
    left: -10px;
    width: 105px;
    height: 144px;
    position: absolute;
    display: block;
    z-index: 2;
  }
  .point07::after{
    content: "";
    background: url("../img/point08_spbgright.png") no-repeat;
    background-size: 105px auto;
    top: calc(50% - 52px);
    right: -10px;
    width: 105px;
    height: 144px;
    position: absolute;
    display: block;
    z-index: 2;
  }
  .point07 .point_ttl {
    flex-wrap: wrap;
  }
  .point07 p{
    display: block;
    width: 100%;
    text-align: center;
    margin: 10px auto;
  }
  .point_info p{
    font-size: 14px;
  }
  .scimages li{
    margin-top: 20px;
  }
  
  .bnr_ttl{
    font-size: 18px;
  }
  .bnr_ttl strong,.bnr_ttl span{
    font-size: 20px;
  }
  .bnr_ttl::before{
    content: "";
    background: url("../img/oc_ico.png") no-repeat;
    background-size: 30px auto;
    width: 30px;
    height: 40px;
    display: inline-block;
    position: absolute;
    top: 5px;
    right: -20px;
    animation:6s linear infinite rotation;
  }
  .bnr_centertext{
    font-size: 14px;
  }
  .bnrslider_wap{
    width: 84%;
    margin: 30px auto 0;
  }
  .bnrslider .prev{
    left: -15px;
  }
  .bnrslider .next{
    right: -15px;
  }
  .bnrslider .slick-arrow {
    position: absolute;
    top: calc(50% - 13px);
    cursor: pointer;
    width: 12px;
  }
  #banner::before{
    content: "";
    background: url("../img/oc_detailicon_left.png") no-repeat;
    background-size: 60px auto;
    width: 60px;
    height: 60px;
    position: absolute;
    top: -5px;
    left: -5px;
  }
  #banner::after{
    content: "";
    background: url("../img/oc_detailicon_right.png") no-repeat;
    background-size: 60px auto;
    width: 60px;
    height: 60px;
    position: absolute;
    bottom: -5px;
    right: -5px;
  }
  /* footer */
  footer{
    margin-bottom: 40px;
  }
  .copy{
    font-size: 10px;
  }
  
  /* spbottom */
  .spbottom{
    width: 100%;
  }
  .spbtns{
    display: flex;
    justify-content: space-between;
    height: 40px;
    width: 100%;
    position: fixed;
    bottom: 0;
    z-index: 10;
  }
  .spbtns li,.spbtns li a{
    width: 100%;
    display: block;
    text-align: center;
    color: #FFF;
    text-decoration: none;
    height: 40px;
  }
  .spbtns li a{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
  }
  .ocbtn{
    background: #FF0000;
  }
  .ocbtn a::before{
    content: "";
    background: url("../img/ico_oc.gif") no-repeat;
    background-size: 20px auto;
    width: 20px;
    height: 20px;
    margin-right: 10px;
    display: inline-block;
  }
  .linebtn{
    background: #f38200;
  }
  .linebtn a::before{
    content: "";
    background: url("../img/ico_request.svg") no-repeat;
    background-size: 20px auto;
    width: 20px;
    height: 20px;
    margin-right: 10px;
    display: inline-block;
  }
}
.detaillink{
  text-align: center;
  margin-top: 10px;
}
.detaillink a{
  font-size: 15px;
  width: 13.5em;
  text-align: center;
  color: #fff;
  background: #e3101e;
  border-radius: 7px;
  padding: 7px 0;
  margin: 10px auto 0;
  text-decoration: none;
  display: block;
  transition: 0.3s all;
}
.bnrslider a video,.bnrslider a img{
  width: 400px;
  max-width: 100%;
}
@media (max-width: 768px){
  .roc_reservation_btn{width: 100%}
  .detaillink a{
    width: 100%;
  }
  .bnrslider a video,.bnrslider a img{
    max-width: 100%;
  }
}
@keyframes rotation{
  0%{ transform:rotate(0deg);}
  80%{ transform:rotate(0deg);}
  85%{ transform:rotate(30deg);}
  90%{ transform:rotate(-10deg);}
  95%{ transform:rotate(5deg);}
  100%{ transform:rotate(0deg);}
}
@keyframes mvover{
  0%{ opacity: 0;}
  100%{ opacity: 1}
}
@keyframes clickico{
  0%{ opacity: 0;}
  20%{ opacity: 0;}
  25%{ opacity: 1;}
  80%{ opacity: 1;}
  85%{ opacity: 0;}
  100%{ opacity: 0;}
}
@keyframes ctaico{
  0%{ opacity: 0;transform: translateY(10px)}
  5%{ opacity: 1;transform: translateY(10px);}
  10%{ opacity: 1;transform: translateY(0px);}
  80%{ opacity: 1;transform: translateY(0px);}
  85%{ opacity: 0;transform: translateY(0px);}
  100%{ opacity: 0;transform: translateY(10px);}
}
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}
.scroll_left {
  -webkit-transition: 0.8s ease-in-out;
  -moz-transition: 0.8s ease-in-out;
  -o-transition: 0.8s ease-in-out;
  transition: 0.8s ease-in-out;
  transform: translateX(-30px);
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
}
.scroll_left.on {
  opacity: 1.0;
  filter: alpha(opacity=100);
  -moz-opacity: 1.0;
  transform: translateX(0);
}
.scroll_right {
  -webkit-transition: 0.8s ease-in-out;
  -moz-transition: 0.8s ease-in-out;
  -o-transition: 0.8s ease-in-out;
  transition: 0.8s ease-in-out;
  transform: translateX(30px);
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  transition-delay: .25s;
}
@media (max-width: 768px){
.scroll_right {
  -webkit-transition: 0.8s ease-in-out;
  -moz-transition: 0.8s ease-in-out;
  -o-transition: 0.8s ease-in-out;
  transition: 0.8s ease-in-out;
  transform: translateX(30px);
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  transition-delay: 0s;
}
}
.scroll_right.on {
  opacity: 1.0;
  filter: alpha(opacity=100);
  -moz-opacity: 1.0;
  transform: translateX(0);
}


a.re_roleover{display: block;text-align: center;box-sizing: border-box;padding:6px 0;color:#fff;font-size:13px;overflow: hidden;position: relative;transition: .3s;letter-spacing: 0.1em;}
a.re_roleover::before{content: "";position: absolute;top: 0;left: 0;z-index: -1; width: 150%;height: 100%;transform-origin: right top;transform: skewX(-30deg) scale(0, 1);transition: transform .3s;background: #fff;}
a.re_roleover::after{content: "";position: absolute; z-index: -2;top: 0;left: 0;width: 100%;height: 100%;display: block;}
a.re_roleover:hover::before{content: "";transform-origin: right top;transform: skewX(-30deg) scale(1, 1);}
a.re_roleover span{font-size: 17px;display: block;border-bottom: 1px solid #fff;width: calc(100% - 18px);margin: 0 auto;letter-spacing: 0.2em;padding-left: 0.2em;}

.tokyo_btn a{border:1px solid #E60122;border-image: linear-gradient(to right, #E60122, #E60122);border-image-slice: 1;text-decoration:none;}
.tokyo_btn a::after{width: 100%;height: 100%; position: absolute;top: 0;left: 0;background: #E60122;background-size: 100% 100%;display: block;}
.tokyo_btn a:hover{color:#E60122;border-image: linear-gradient(to right, #E60122, #E60122);border-image-slice: 1;}
.tokyo_btn a:hover span{border-bottom: 1px solid #E60122;}

.site_cta{padding: 50px 0 0;background: none;}
.site_cta .footer_wrap{margin: 0 auto;max-width: 1044px;padding: 0 10px;}
.site_cta .footer_wrap > p{font-size: 12px;margin-bottom: 50px;}
.site_cta .footer_re_btn{display: flex;justify-content: space-around;max-width:920px;margin: 0 auto;}
.site_cta .footer_re_btn li{width: 48%;}
.site_cta .footer_re_btn a.re_roleover{display: block;width: 100%;margin: 0 auto;text-align: center;}
.site_cta .footer_re_btn a.re_roleover::before{z-index: 2;}
.site_cta .footer_re_btn a.re_roleover::after{z-index: 1;}
.site_cta .footer_re_btn a.re_roleover span{display: block;padding: 15px 5px;border: 1px solid #fff;font-size: 20px;letter-spacing: 0.1em;z-index: 3;}
.site_cta .footer_re_btn a.re_roleover i{font-size: 14px;}
.site_cta .footer_re_btn a.re_roleover small{display: block;font-size: 12px;border-top: none;margin-top: 7px;}
.site_cta .note{margin-bottom: 50px;}
.site_cta a.re_roleover span {width: calc(100% - 12px);}


@media only screen and (min-width: 769px) and (max-width: 900px) {
.site_cta .footer_re_btn a.re_roleover small{letter-spacing: 0;}
}

@media only screen and (max-width: 768px) {
.site_cta{padding: 30px 15px 0;}
.site_cta .footer_wrap > p{font-size: 10px;margin-bottom: 30px;}
.site_cta .footer_re_btn{width:100%;flex-wrap: wrap;}
.site_cta .footer_re_btn li{width: 100%;}
.site_cta .footer_re_btn a.re_roleover{margin: 0 auto;font-size: 18px;background: url("../img/btn_bk_sp.png") no-repeat;background-position: top right 130%;}
.site_cta .footer_re_btn a.re_roleover span{font-size: 18px;padding: 7px 5px;line-height: 1.4;}
.site_cta .footer_re_btn a.re_roleover i{font-size: 15px;}
.site_cta .footer_re_btn a.re_roleover small{font-size: 12px;padding: 3px 0 3px 0;margin-top: 4px;letter-spacing: 0em;}
.site_cta .note{margin-bottom: 30px;}
.site_cta a.re_roleover span {width: calc(100% - 8px);height: calc(100% - 8px);}
.site_cta .footer_re_btn li:nth-of-type(n+2){margin-top: 10px;}
}
/* style.css ここまで */



/* メイン */
main{background: #c2d6ee;height: calc(41.666vw - 10px);overflow: hidden;}
main img{width: 100%;}
main figure{position: absolute;left: 0;top: 0;width: 100%;height: 100%;opacity: 0;}

@media (min-width: 769px) and (max-width: 1600px){

}

@media (max-width: 768px){
main{height: 130vw;}
}


/* 共通ボタン */
.detail_btn{font-size: 16px;display: inline-block;line-height: 1;padding: 0.5em 0.7em;border: 1px solid #000;color: #fff;background: #000;text-decoration: none;transition: 0.3s all;}

@media (min-width: 769px){
.detail_btn:hover{background: none;color: #000;}
}

@media (max-width: 768px){
.detail_btn{font-size: 14px;}
}

/* オープンキャンパス　バナー */
#topics{animation-name: fadeInUp;}
.topics_slide_wrap{max-width: 1280px;margin: 20px auto 0;padding: 0 70px;}
.topics_slide2{padding: 20px 0 40px;background: #f7f7f7;margin-bottom: 0!important;}
.topics_slide2 a{text-decoration: none;margin-right: 25px;}
.topics_slide2 a img{width:330px;}
.topics_slide2 a video{width:330px;}
.topics_slide2 p{line-height: 1.6;margin-top: 5px;color: #333;text-align: left;}
.topics_slide2 .slick-dots{bottom: 20px;}
.topics_slide2 .slick-dots li{width: 10px;height: 10px;}
.topics_slide2 .slick-dots li button{background-color: #888;width: 100%;height: 100%;border-radius: 50%;}
.topics_slide2 .slick-dots li.slick-active button{background-color: var(--common_color);width: 100%;height: 100%;border-radius: 50%;}
.topics_slide2 .slick-dots li button:hover{opacity: 0.7;}
.topics_slide2 .slick-dots li button::before{display: none!important;}
.topics_slide2 .slick-arrow{position: absolute;top: calc(50% - 13px);cursor: pointer;z-index: 10;}
.topics_slide2 .slick-arrow.prev{left: -65px;}
.topics_slide2 .slick-arrow.next{right: -50px;}
#topics .BnrArea{padding: 30px 0;text-align:center;}
#topics .BnrArea a{display: inline-block;}
#topics .BnrArea a:nth-of-type(n+2){margin-top: 20px;}
.slick-slide{height: auto!important;}

@media (max-width: 768px){
#topics{}
.topics_slide_wrap{padding: 0;}
.topics_slide2{}
.topics_slide2 a{margin: 0 15px;width: 78vw;}
.topics_slide2 a video{width: 78vw;}
.topics_slide2 p{line-height: 1.6;margin-top: 3px;color: #333;text-align: left;}
.topics_slide2 .slick-arrow{position: absolute;top: calc(50% - 11px);cursor: pointer;}
.topics_slide2 .slick-arrow img{width: 12px;}
.topics_slide2 .slick-arrow.prev{left: 20px;}
.topics_slide2 .slick-arrow.next{right: 20px;}
#topics .BnrArea{width: 100%;padding: 25px 0;}
#topics .BnrArea a:nth-of-type(n+2){margin-top: 15px;}
}

/* オープンキャンパス　DAICHO OPEN CAMPUS */
#recent_oc{padding: 60px 0;animation-name: fadeInUp;height: 620px;}
#recent_oc::before{content: "";position: absolute;left: 0;top: 0;width: 100%;height: 100%;background: linear-gradient(to right,#e4e1e0 50%,#f7f7f7 50%); z-index: 0;}
#recent_oc::after{content: "";position: absolute;left: 0;top: 0;width: 100%;height: 100%;background: url("../img/open_campus_bk.webp") no-repeat center center; z-index: 1;}
.open_campus_area{max-width: 760px;margin-left: auto;z-index: 2;}
.open_campus_tit{text-align: center;}
.open_campus_tit span{font-size: 50px;font-family: "Oswald", sans-serif;font-weight: 400;line-height: 0.9;display: inline-block;letter-spacing: 0.2em;}
.open_campus_tit span::before{content: "";display: block;width: calc(100% - 0.2em);height: 1px;position: absolute;left: 0;bottom: 0;background: #000;}
.open_campus_tit + p{text-align: center;font-size: 28px;letter-spacing: 0.1em;margin-top: 0.5em;}
.open_campus_tit + p .detail_btn{margin-left: 1em;vertical-align: 0.2em;letter-spacing: 0;}
.open_campus_list{margin: 20px -10px 0 0;}
.open_campus_list a{width: 240px;text-decoration: none;color: #000;margin: 0 10px;}
.open_campus_list a .eligibility{width: 85%;line-height: 1.2;background: #fff;text-align: center;border: 1px solid #000;border-radius: 1.5em;height: 2.8em;display: flex;justify-content: center;align-items: center;position: absolute;left: 0;right: 0;bottom: -1.4em;margin: 0 auto;}
.open_campus_list a p{font-size: 16px;text-align: center;line-height: 1.4;}
.open_campus_list a p.date{margin-top: 1.7em;}
.open_campus_list a p.name{margin-top: 0.7em;}
.open_campus_list a p big{font-size: 1.3em;}
.open_campus_list a p small{font-size: 0.875em;}
.ao_qualification{color: #d90000;font-size: 15px;line-height: 1;padding: 0.7em 0;width: 14em;background: #fff;border: 1px solid #d90000;text-align: center;margin: 0.5em auto 0 auto;}

@media (max-width: 768px){
#recent_oc{padding: 30px 0 40px;height: auto; margin-bottom: 50px;}
#recent_oc::after{background: url("../img/open_campus_bk.webp") no-repeat 25% center/cover;}
.open_campus_tit{margin: 0 -25px;width: 100vw;}
.open_campus_tit span{font-size: 28px;}
.open_campus_tit + p{font-size: 19px;margin-top: 0.2em;position: static;}
.open_campus_tit + p .detail_btn{margin-left: 0;vertical-align: 0;position: absolute;bottom: -58px;width: 60vw;left: 0;right: 0;margin: 0 auto;padding: 0.7em 0;}
.open_campus_list{margin: 15px 0 0 0;width: 48vw;margin-left: auto;}
.open_campus_list a{width: 48vw;margin: 0 2vw;}
.open_campus_list a p{font-size: 15px;}
.open_campus_list .slick-arrow{position: absolute;top: 20vw;cursor: pointer;z-index: 1;}
.open_campus_list .slick-arrow img{width: 3vw;}
.open_campus_list .slick-arrow.prev{left: -5vw;}
.open_campus_list .slick-arrow.next{right: -5vw;}
.ao_qualification{font-size: 13px;margin: 1em 0 0 auto;}
}


/* 学科／クラス一覧 */
#course{padding-bottom: 50px;animation-name: fadeInUp;}
.course_wrap{padding: 50px 20px 0;}
.course_list_tit{text-align: center;font-size: 20px;padding-bottom: 0.1em;}
.course_list_tit span{animation-name: fadeIn;animation-delay: 0.3s;}
.course_list_tit i{display: block;width: 100%;height: 1px;position: absolute;left: 0;bottom: 0;animation-name: scale_x;}
.course_list_tit big{font-size: 1.2em;}
.course_item{max-width: 1024px;margin: 35px auto 0;display: flex;flex-wrap: wrap;gap: 35px 3.125%;}
.course_item > *{width: 31.25%;display: flex;flex-direction: column;}
.course_item > * figure{animation-name: fadeInUp;margin-top: 10px;}
.course_item > * a{text-decoration: none;color: #000;font-size: 15px;margin-top: 0.2em;}
.course_item > * a::before{content: "≫";padding-right: 0.5em;transition: 0.1s all;display: inline-block;}
.course_item > * a[href=""]{pointer-events: none;color: #ccc;;}
.course_link{padding: 0.5em 0 0 0.7em;display: flex;flex-direction: column;animation-name: fadeInUp;}

#confectionery .course_list_tit{color: #ed75a9;}
#confectionery .course_list_tit i{background: #ed75a9;}
#cooking .course_list_tit{color: #33b2f3;}
#cooking .course_list_tit i{background: #33b2f3;}
#cooking_confectionery .course_list_tit{color: #b35901;}
#cooking_confectionery .course_list_tit i{background: #b35901;}


@keyframes scale_x {
0%{transform: scaleX(0);}
100% {transform: scaleX(1);}
}

@media (min-width: 769px){
.course_item > * a:hover{text-decoration: underline;}
.course_item > * a:hover::before{transform: translateX(0.4em);}
.course_item > *:nth-of-type(3n-1) i,
.course_item > *:nth-of-type(3n-1) figure,
.course_item > *:nth-of-type(3n-1) .course_link{animation-delay: 0.2s;}
.course_item > *:nth-of-type(3n-1) span{animation-delay: 0.5s;}
.course_item > *:nth-of-type(3n) i,
.course_item > *:nth-of-type(3n) figure,
.course_item > *:nth-of-type(3n) .course_link{animation-delay: 0.4s;}
.course_item > *:nth-of-type(3n) span{animation-delay: 0.7s;}
.course_item a:hover img{transform: scale(1.1);opacity: 1;}
}

@media (max-width: 768px){
#course{padding-bottom: 30px;}
.course_wrap{padding: 50px 20px 30px;}
.course_list_tit{font-size: 18px;}
.course_item{margin: 15px auto 0;gap: 20px 0;}
.course_item > *{width: 100%;}
.course_item > * a{font-size: 14px;}
}

@media (max-width: 400px){
.course_item a .copy{font-size: 2.65vw;}
.course_item a .copy h4 span{display: block;}
}




#hotnews{padding: 60px 0;text-align: center;background: #f7f7f7;animation-name: fadeInUp;}
#hotnews .topics_slide_wrap{margin-top: 25px;}
#hotnews .topics_slide .slick-dots{display: none!important;color: #333;}
#hotnews .topics_slide h4{font-size: 16px;text-align: left;line-height: 1.5;color: #333;margin-top: 7px;height: 3em;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;overflow: hidden;}
.topics_slide{max-width: 1060px;margin: 0 auto;}
.topics_slide a{text-decoration: none;margin-right: 20px;}
.topics_slide p{line-height: 1.6;margin-top: 5px;color: #333;text-align: left;}
.topics_slide .slick-dots{max-width: 1300px;bottom: -30px;}
.topics_slide .slick-dots li{width: 14px;height: 14px;}
.topics_slide .slick-dots li button{background-color: #888;width: 100%;height: 100%;border-radius: 50%;}
.topics_slide .slick-dots li.slick-active button{background-color: #DD5411;width: 100%;height: 100%;border-radius: 50%;}
.topics_slide .slick-dots li button:hover{opacity: 0.7;}
.topics_slide .slick-dots li button::before{display: none!important;}
.topics_slide .slick-arrow{position: absolute;top: calc(50% - 13px);cursor: pointer;}
.topics_slide .slick-arrow.prev{left: -65px;}
.topics_slide .slick-arrow.next{right: -50px;}
.topics_slide .slideimg{
  max-height: 200px;
  overflow: hidden;
}
#hotnews .detail_btn{margin-top: 30px;}

#hotnews .topics_slide .copy{height: 3em;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;overflow: hidden;}
.more_btn{background: #bb8c00;color: #fff;font-size: 16px;display: block;width: 280px;border-radius: 10px;margin: 50px auto 0;text-decoration: none;padding: 10px 0 10px 15px;line-height: 1;border: 1px solid #bb8c00;transition: 0.6s all;text-align: center;}
.more_btn::before{content: "";display: block;width: 20px;height: 20px;background: url('data:image/svg+xml;utf8,<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 505 504.24" fill="rgb(255,255,255)" stroke="rgb(255,255,255)"><path d="m432.67,75.91c-92.96-99.99-264.36-101.46-358.83-2.82-5,5-5,13.11,0,18.11s13.11,5,18.11,0C154.37,27.32,254.57,7.52,336.95,41.52c186.79,74.55,186.44,344.73,0,419.14C180.65,526.09,5.48,392.99,27.25,224.81c1.95-16.62-23.47-19.58-25.43-2.97-27.34,234.43,258.99,376.51,428.03,210.04,99.09-97.52,100.33-256.9,2.82-355.98h0Z"/><path d="m251.87,151.78c-7.07,0-12.8,5.73-12.8,12.8v73.71h-73.71c-7.07,0-12.8,5.73-12.8,12.8s5.73,12.8,12.8,12.8h73.69v73.69c0,7.07,5.73,12.8,12.8,12.8s12.8-5.73,12.8-12.8v-73.69h73.71c7.07,0,12.8-5.73,12.8-12.8s-5.73-12.8-12.8-12.8h-73.71v-73.71c0-7.07-5.72-12.8-12.78-12.8Z"/></svg>') center center/cover;position: absolute;left: 15px;top: 0;bottom: 0;margin: auto 0;transition: 0.6s all;}

@media (min-width: 769px){
.more_btn:hover{background: #fff;color: #bb8c00;}
.more_btn:hover::before{background: url('data:image/svg+xml;utf8,<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 505 504.24" fill="rgb(187,140,0)" stroke="rgb(187,140,0)"><path d="m432.67,75.91c-92.96-99.99-264.36-101.46-358.83-2.82-5,5-5,13.11,0,18.11s13.11,5,18.11,0C154.37,27.32,254.57,7.52,336.95,41.52c186.79,74.55,186.44,344.73,0,419.14C180.65,526.09,5.48,392.99,27.25,224.81c1.95-16.62-23.47-19.58-25.43-2.97-27.34,234.43,258.99,376.51,428.03,210.04,99.09-97.52,100.33-256.9,2.82-355.98h0Z"/><path d="m251.87,151.78c-7.07,0-12.8,5.73-12.8,12.8v73.71h-73.71c-7.07,0-12.8,5.73-12.8,12.8s5.73,12.8,12.8,12.8h73.69v73.69c0,7.07,5.73,12.8,12.8,12.8s12.8-5.73,12.8-12.8v-73.69h73.71c7.07,0,12.8-5.73,12.8-12.8s-5.73-12.8-12.8-12.8h-73.71v-73.71c0-7.07-5.72-12.8-12.78-12.8Z"/></svg>') center center/cover;}
}

@media (max-width: 768px){
#hotnews{padding: 25px 0;}
#hotnews .topics_slide_wrap{margin-top: 15px;padding: 0 40px;}
#hotnews .topics_slide h4{font-size: 14px;line-height: 1.5;margin-top: 5px;height: 1.5em;-webkit-line-clamp: 1;}
.topics_slide{}
.topics_slide a{width: 100%;margin: 0 5px;}
.topics_slide p{line-height: 1.6;margin-top: 3px;color: #333;text-align: left;}
.topics_slide .slick-arrow{position: absolute;top: calc(50% - 11px);cursor: pointer;}
.topics_slide .slick-arrow img{width: 12px;}
.topics_slide .slick-arrow.prev{left: -20px;}
.topics_slide .slick-arrow.next{right: -20px;}
.more_btn{font-size: 14px;width: 250px;margin: 30px auto 0;padding: 7px 0;}
.more_btn::before{width: 16px;height: 16px;left: 10px;}
}



footer .sitemap_wrap{background: #fff;}
@media screen and (max-width: 768px){
footer .sitemap_wrap{background: #eb6100;}
}


.cpBnr{max-width:1024px;margin: 50px auto 0;}
@media screen and (max-width: 768px){
.cpBnr{max-width:96%;margin: 50px auto 20px;}
}

main .floatingBnr{position: absolute;right: 1%;top: 15%;z-index: 101;width: 150px;}
main .floatingBnr ul{display:flex;flex-direction: column;}
main .floatingBnr li:nth-child(1){z-index:101;}
main .floatingBnr li:nth-child(2){z-index: 100;margin-top:-29%;}
main .floatingBnr li:nth-child(3){z-index: 99;margin-top:-29%;}

@media (max-width: 768px){
main .floatingBnr{top: 6%;right: 2%;width: 30%;}
}

@media screen and (min-width: 769px) {
  #recent_oc .wrap1024 {
    max-width: 1024px;
    margin: 0 auto;
  }
}
@media (max-width: 768px) {
  #recent_oc .wrap1024 {
    padding: 0 25px;
  }
}