@charset "UTF-8";

/*
1.Reset
2.Common style
*/

/*
** 1.Reset
*/

@charset "UTF-8";

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}

body
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
-webkit-text-size-adjust:100%;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}

a:link {
      color: inherit;
      text-decoration: none;
}
a:visited {
      color: inherit;
      text-decoration: none;
}

a:hover {
      color: inherit;
      text-decoration: none;
}

a img {
      border-width: 0px;
      border-style: none;
      border-color: #fff;
      background: transparent;
}

a img, img {outline:none;}

*:focus {
  outline: none;
}
/*
** 2.Common style
*
*  center:1100px
*  basic-font-color: #2d2d2d
*  Japanese-font: Yu Gothic
*  English-font: Montserrat(google font)
*  color->white: #fff
*  color->blue: #58c1db
*  color->darkblue : #58c1db
*  color->yellow: #fbf575
*
*/

body{
  background-color: #fff;
  font-family: YuGothic,'Yu Gothic','Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ','Arial',sans-serif;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 26px;
  color: #2d2d2d;
  font-feature-settings : "palt";
}

main{
  padding-top: 110px;
}

.sp{display: none;}

.wrapper{
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}

.container{
  margin: 0 auto;
}

.overlay{
  background-image: url(../images/dot-overlay.png);
  width:100%;
  height:100%;
}

.clearfix:after {
    content:'';
    display:block;
    clear:both;
}

.video{
  position:relative;
  width:100%;
  padding-top:56.25%;
  /* width:50%;
  padding-top:28.125%; */
}

.video iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}
.video-2,.video-3 {
  width:50%;
}
.video-3 video{
  height: 420px;
  width: 350px;
  object-fit: cover;
}
.video-2 video{
  width: 100%;
  height: 100%;
}
/* .video video{
  width: 100%;
  height: 100%;
  border: 1px solid #ccc;
} */

/*
** common parts
*/
h2{
    padding: 10px;
    display: block;
    font-size: 2.5rem;
    letter-spacing: 3px;
    width: auto;
    margin: 0 auto;
    text-align: center;
    font-weight: bold;
}
h2:after{
  content: "";
  display: block;
  background-color: #fbf575;
  width: 45px;
  height: 3px;
  margin: 25px auto 0;
}

h3{
  color: #58c1db;
  /*border: solid 1px;*/
  text-align: center;
  letter-spacing: 2px;
  padding: 15px 0;
  position: relative;
  width: auto;
  margin: 0 auto;
  font-size: 1.3rem;
}



/*
** 3-1.Module - Groval navigation(header)
*/

header{
  width: 100%;
  height: 110px;
  position: fixed;
  top: 0;
  z-index: 99;
  background-color: #fff;
  border-bottom: solid 2px #58c1db;
}
header .wrapper{
  width: 1100px;
  height: 110px;
  display:flex;
  justify-content: space-between;
}

header .wrapper .container{
  /* margin-left: 10px; */
  padding-top: 21px;
}

header .wrapper .container img{
  height:16px;
}

header.container{
  padding-top: 5px;
}

.school-description{
  font-size: .8rem;
  line-height: 1;
}

.site-title{
  color: #58c1db;
  font-size: 1.3rem;
  font-weight: bold;
  margin-top: 8px;
  letter-spacing: 2px;
}

.logo{
  /* height: 70px; */
  width:100%;
  padding: 12px 4px 0 0;
  /* width: auto; */
  /* display: block; */
  /* float: left; */
}

.logo-box{
  width:17.5%;

}
header .container{
  width:36%;
}

.header-nav{
  /* width: 500px; */
  width: 46%;
  /* float: right; */
  display: flex;
  flex-wrap: wrap;
}

.header-nav div{
  height: 110px;
  box-sizing: border-box;
  background-color: #fbf575;
  color: #58c1db;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  letter-spacing: 1px;
  line-height: 22px;
  transition-duration: 0.3s;
  display: block;
  font-weight: bold;
}

.header-nav .other p{
  line-height: 18px
}

.header-nav div:hover{
  background-color: #FFF;
  color: #58c1db;
  transition-duration: 0.3s;
}

/* .header-nav a:first-child{
  width: 40%;
} */
.header-nav .active{
  background-color: #58c1db;
  border-left: 1px solid #58c1db;
  color: #fff;
  transition-duration: 0.3s;
}

.header-nav .active:hover{
  color: #58c1db;
  background-color: #fff;
  border-left: 1px solid #58c1db;
}

.header-nav div:before{
  content: "";
  display: block;
  transition-duration: 0.3s;
}
.header-nav .active:before{
  content: "";
  background: url(../images/header-school-y.svg) no-repeat center;
  background-size: 50px;
  height: 70px;
}
.header-nav .other:before{
  content: "";
  background: url(../images/header-check-b.svg) no-repeat center bottom;
  background-size: 30px;
  height: 52px;
  margin-bottom: 10px;
}
.header-nav .active:hover:before{
  background: url(../images/header-school-b.svg) no-repeat center;
  background-size: 50px;
}
/*.header-nav .other:hover:before{
  background: url(../images/header-check-w.svg) no-repeat center bottom;
  background-size: 30px;
}*/
/*IE表示崩れ対策*/
@media all and (-ms-high-contrast:none) {
.header-nav .active:before{background-size: 107px;}
.header-nav .other:before{background-size: 62px;}
.header-nav .active:hover:before{background-size:107px;}
.header-nav .other:hover:before{background-size:62px;}
}
@media all and (-ms-high-contrast:none) {
*::-ms-backdrop, .header-nav .active:before{background-size: 107px;}
*::-ms-backdrop, .header-nav .other:before{background-size: 62px;}
*::-ms-backdrop, .header-nav .active:hover:before{background-size:107px;}
*::-ms-backdrop, .header-nav .other:hover:before{background-size:62px;}
}

.header-nav a{
  width:25%;
  /* width: 120px; */
}
.header-nav a:first-child {
  /* width: 140px; */
  width:28%;
}
.header-nav a:last-child {
  /* width: 140px; */
  width:22%;
}
.header-nav a:nth-child(2) div{
    border-left: #FFF 1px solid;
}
.header-nav a:nth-child(3) div{
    border-left: #FFF 1px solid;
    border-right: #FFF 1px solid;
}
.header-nav a:last-child div{
  background-color: #eba845;
  color: #FFF;
}
.header-nav a:last-child .other:hover{
  background-color: #FFF;
  color: #eba845;
}
.header-nav a:last-child .other:before{
  content: "";
  background: url(../images/header-check-w.svg) no-repeat center bottom;
  background-size: 30px;
  height: 52px;
  margin-bottom: 10px;
}
.header-nav a:last-child .other:hover:before{
  background: url(../images/header-check-o.svg) no-repeat center bottom;
  background-size: 30px;
}

/*
** footer
*/

footer{
  min-width: 1200px;
}

footer a:hover{
  opacity: 0.8;
}

.footer-visual{
  background-image: url(../images/footer-visual.png);
  background-repeat: no-repeat;
  background-position: center;
  text-align: center;
}

.footer-visual img{
  margin: 50px;
}

.group-link{
  margin: 35px auto 5px;
}

.group-link h2 {
  color: #58c1db;
  font-family: Montserrat;
  letter-spacing: 3px;
  width: 300px;
  text-align: center;
  margin: 0 auto;
}
/*IE文字化け対策*/
@media all and (-ms-high-contrast:none) {
.group-link h2 {font-family: YuGothic,'Yu Gothic','Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ','Arial',sans-serif;}
}
@media all and (-ms-high-contrast:none) {
*::-ms-backdrop, .group-link h2 {font-family: YuGothic,'Yu Gothic','Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ','Arial',sans-serif;}
}


h2:after {
    margin: 10px auto 0;
}
.group-link h3{
    color: #005bac;
    text-align: center;
    letter-spacing: 3px;
    padding: 3px 1% 2px;
    border-radius: 25px;
    position: relative;
    width: auto;
    margin: auto;
}
.group-link .container{
  width: 1100px;
  padding: 30px 0 25px;
  display: flex;
  flex-wrap: wrap;
}

.group-link .container figure{
    width: 25%;
}

.group-link figcaption{
  line-height: 18px;
  margin: 0 auto 8px 0;
  width: 240px;
  font-feature-settings: "palt";
}

.footer-nav{
  background-image: url(../images/dot-gray.png);
  padding: 30px 0;
}

.footer-nav .container{
  width: 1100px;
  margin: 0 auto;
}

.footer-nav ul{
  line-height: 1.7rem;
  margin: 14px 0;
  font-size: .9rem;
}

.footer-nav ul li:before{
  content:'■';
  font-size: .8rem;
  position: relative;
}

.footer-nav .box h4{
  border-bottom: solid 1px #807f7f;
  font-size: 1.2rem;
  padding-bottom: 10px;
  font-weight: bold;
  text-align: center;
}

.footer-nav .container{
  display: flex;
  flex-wrap: wrap;
}

.footer-nav .right-panel{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-between;
}

.footer-nav .right-panel li.new:after{
  content:'NEW';
  color: red;
  font-family: Montserrat;
  font-size: .8rem;
  font-weight: bold;
  padding-left: 5px;
}

.footer-nav .right-panel li span{
  color: red;
  font-family: Montserrat;
  font-size: .8rem;
  font-weight: bold;
  padding-left: 5px;
}
/*IE文字化け対策*/
@media all and (-ms-high-contrast:none) {
.footer-nav .right-panel li.new:after{font-family: YuGothic,'Yu Gothic','Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ','Arial',sans-serif;}
}
@media all and (-ms-high-contrast:none) {
*::-ms-backdrop, .footer-nav .right-panel li.new:after{font-family: YuGothic,'Yu Gothic','Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ','Arial',sans-serif;}
}


.footer-nav .box:first-child{
  width: 22%;
}

.footer-nav .box:first-child .inner{
  width: 90%;
  padding: 10px;
}

.footer-nav .box:last-child{
    width: 75%;
    margin: 0 0 0 auto;
}


.footer-nav .box img{
  width: 60%;
  margin: 0 auto;
  display: block;
}

.footer-nav .box .button{
  background-color: #fbf575;
  border-right: solid 1px;
  border-bottom: solid 1px;
  color: #58c1db;
  font-weight: bold;
  font-size: 1.1rem;
  width: 200px;
  height: 69px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  transition-duration: .3s;
}

.footer-nav .box .button:hover {
    background-color: #fbf695;
    transition-duration: .3s;
    border: none;
}

.footer-nav .box:first-child li:before{
  color: #fbf575;
}

.footer-nav h5{
  display: inline-block;
  font-size: .9rem;
  border-radius: 15px;
  padding: 0 20px;
  height: 24px;
  line-height: 24px;
  margin-bottom: 10px;
}
.footer-nav .north h5{background-color : #58c1db; color: #fff;}
.footer-nav .north li:before,
.footer-nav .north li:hover{color: #58c1db;}

.footer-nav .mid h5{background-color : #4daa4f; color: #fff;}
.footer-nav .mid li:before,
.footer-nav .mid li:hover{color: #4daa4f;}

.footer-nav .south h5{background-color : #eba845; color: #fff;}
.footer-nav .south li:before,
.footer-nav .south li:hover{color: #eba845;}

.footer-nav .detailonly{display: none;}

.colophon {
  background-color: #005bac;
  color: #fff;
  padding: 10px 0 8px;
  font-size: .8rem;
  text-align: center;
}

.gotop{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 55px;
  bottom: 50px;
  background-color: #58c1db;
  z-index: 99;
  border-radius: 50%;
  visibility: hidden;
  opacity: 0;
  transition-duration: 0.3s;
}

.visible{
  opacity: 1;
  visibility: visible;
  transition-duration: 0.3s;
}

.visible:hover{
  opacity: 0.8;
}

.gotop span{
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 12px 18px 12px;
  border-color: transparent transparent #fbf575 transparent;
  position: absolute;
  top: -3px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}

.sp-cv{
  display: none;
}




@media all and (max-width: 1200px){

footer {
    min-width: auto;
    width: 100%;
}}


@media all and (max-width: 1100px){
.logo {
    /* height: 65px; */
    /* padding: 22px 1% 0 0; */
}
header .wrapper{
  width:100%;
}
.header-nav a {
  width:25%;
}
.header-nav a:first-child{
  width:25%;
}
header .wrapper .container {
    width: 30%;
}
header .wrapper nav{
  width:50%;
}

header .wrapper .container img{
  /* width: 90%; */
}
.school-description {
    margin-top: 0;
    line-height: 1rem;
}
.site-title {
    margin-top: 0;
}
.header-nav {
    width: 40%;
}
.header-nav a:first-child {
    /* width: 40%; */
}
.header-nav a {
    width: 25%;
}

}


@media all and (max-width: 770px){
.header-nav{display: none;}
header .wrapper .container{
  width:auto;
}
.logo-box{
  width:auto;
}

.footer-nav .container {
    display: initial;
}
.footer-nav .box:first-child {
    width: 50%;
    margin: auto;
}
.footer-nav .box:last-child {
    width: 80%;
    margin: 2% auto 0;
}
/* .career .face img{
  width: 100%;
} */
/* .career .container .box {
    margin: 0 auto 10%;
} */

}

@media all and (max-width: 599px){
  body{
    font-size: 1.1rem;
  }
  /*
  ** parts
  */
  .pc{display: none;}
  .sp{display: block;}
  section{width: 100%;}
  .wrapper{
    width: 90%;
    height: initial !important;
    padding-bottom: 50px;
    font-size: .8em;
    line-height: 1.8em;
  }

  h2{
    font-size: 1.6rem;
  }
  h2:after {
    margin: 20px auto 0;
  }

  /*
  ** header
  */

  header{height: 75px;}
  .logo-box{
    /* width:150px; */
  }
  .logo{
    padding: 6.5% 3% 0 6%;
    width: auto;
    height: auto;
    max-width: 145px;
  }
  header .wrapper{
    width: 100%;
    height: 110px;
  }
  header .wrapper .container{
    width: auto;
    height: auto;
    padding-top:0;
    /* float: none; */
    margin-left:15px;
  }
  .school-description {
    font-size: 2vw;
    margin-top: -1%;
    line-height: 1.5vh;
  }
  .site-title {
    font-size: 4vw;
    margin-top: 0;
    letter-spacing: 2px;
  }
  header .wrapper .container img{
    width: 60%;
    padding-top: 3%;
    max-width: 320px;
    height:auto;
  }
  header .wrapper .container .menu-button{width: 20%;float: right;padding-top: 14px;}
  header .bar{width:40px;height:4px;background-color: #58c1db;border-radius: 23px;margin: 9px auto;transition-duration: .3s;}

  /*
  ** main
  */

  main{
    padding-top: 75px;
  }
  /*
  ** footer
  */

  footer{
    min-width: initial;
  }
  .gotop{
    background-color: #eba845;
    width:70px;
    height:70px;
    right: 0;
    bottom: 35px;
  }
  .gotop span{
    font-size: 2rem;
    border-color: transparent transparent #FFF transparent;
    top: -30px;
  }
  .qa-link{
    background: #fff;
    color: #58c1db;
    border: 3px solid #58c1db;
    border-right:none;
    border-radius: 10px 0 0 10px;
    bottom: 155px;
    right:-2px;
    padding:5px;
  }



  .sp-cv{
    display: block;
    background: url(../images/dot-gray.png),#fbf575;
    border-radius: 0;
    width: 96%;
    bottom: 0;
    left: 0;
    margin: auto;
    height: auto;
    padding: 4% 2% 3%;
  }
  .sp-cv ul{
    text-align: center;
  }
  .sp-cv ul li{
    display: inline-block;
    vertical-align: middle;
    width: auto;
    background: #58c1db;
    color: #fbf575;
    padding: 10px 6% 6px;
    border-radius: 5px;
    border-bottom: solid 1px #398da2;
    border-right: solid 1px #398da2;
    /* font-size: 5.5vw; */
    font-size: 4vw;
    font-weight: bold;
  }
  .sp-cv ul li+li{
    margin-left: 2%;
  }
  .sp-cv ul li a{
    display: block;
  }
  .visible:hover {
    opacity: 1;
  }

  .footer-visual{height:160px;background-size: cover;}
  .footer-visual img{width: 60%;margin: 30px auto; max-width: 300px; }
  .footer-nav{padding: 0 0 30px;}
  .footer-nav .box img {
    display: none;
  }
  .footer-nav .container{display:block;width:100%;}
  .footer-nav .box h4 {
    font-weight: normal;
    border-radius: 0;
  }
  .footer-nav .box:first-child{width: 100%;border-right:none;}
  .footer-nav .box:first-child h4{width: 100%;text-align: center;padding: 11px 0;}
  .footer-nav ul{margin:0 auto;font-size: 1rem;}
  .footer-nav ul li{    line-height: 1.8rem;}
  .footer-nav .box:first-child ul{display: flex;flex-wrap: wrap;background-color:#fff;}
  .footer-nav .box:first-child li{
    width: 50%;
    text-align: center;
    border: 1px solid #a5a5a5;
    box-sizing: border-box;
  }

  .footer-nav .box:first-child{padding:0;}
  .footer-nav .box:first-child .inner {width: 100%;margin: 0px auto; padding: 4% 0;max-width: 600px;}
  .footer-nav .box:first-child li:before{content:none;}
  .footer-nav .box:last-child{margin: 0 auto; width: 100%;}
  .footer-nav .box:last-child h4{
    text-align: center;
    background: #807f7f;
    color: #FFF;
    margin-bottom: 20px;
    padding: 3% 0 2%;
  }
  .footer-nav .right-panel{display: block;width:90%;margin:0 auto;max-width: 600px;}
  /*
  ** section:group-link
  */
  .group-link{max-width: 600px; margin: 30px auto 60px;}
  .group-link h2{width: 90%;}
  .group-link h3 {margin: 0 auto 15px;}
  .group-link .container{width:90%; padding: 0; justify-content: space-around;}
  .group-link .container a{width: 45%;text-align: center;margin:5px 0}
  .group-link figure{width: 100%;}
  .group-link figure img,
  .group-link figcaption{width: 100%;font-size: .7rem;margin:auto;}
  .group-link figure img{margin-bottom: -3%;}
  .group-link figcaption{line-height: .9rem;}
}

@media all and (max-width: 599px){
  section .wrapper{max-width: 599px;}
}

@media all and (max-height: 399px){
.gotop{display: none;}
}
/* 20190523_小金井開校前の期間限定記述_2019年7月以降_hosokuデータ削除したら不要 */
.koganei{
  line-height: 2;
  font-size: 1rem;
}
