/* CSS Document */
.clearfix:after {
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video{
	font-size:32px;
}
img{
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}
html,body{
  width:100%;
  font-family:"ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , 'Noto Sans Japanese', "Meiryo UI" , "メイリオ" , Meiryo , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
}
/* For modern browsers */
.clearfix:before,
.clearfix:after {
    content:"";
    display:block;
    overflow:hidden;
}
.clearfix:after {
    clear:both;
}
/* For IE 6/7 (trigger hasLayout) */
.clearfix {
    zoom:1;
}
* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
  line-height:150%;
}
.over:hover{
  filter:alpha(opacity=60);
  -moz-opacity: 0.6;
  opacity: 0.6;
}
.linkBox:hover{
	cursor:pointer;
  filter:alpha(opacity=80);
  -moz-opacity: 0.8;
  opacity: 0.8;
}
.flexbox-container {
  display:-webkit-box;
  display:-moz-box;
  display:-ms-box;
  display:-webkit-flexbox;
  display:-moz-flexbox;
  display:-ms-flexbox;
  display:-webkit-flex;
  display:-moz-flex;
  display:-ms-flex;
  display:flex;
  -webkit-box-lines:multiple;
  -moz-box-lines:multiple;
  -webkit-flex-wrap:wrap;
}
.flex{
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -webkit-flex-pack: justify;
  -moz-flex-pack: justify;
  -moz-justify-content: space-between;
  justify-content: space-between;
  flex-direction: row;
  -moz-flex-wrap:wrap;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
}
.visible_pc{
  display: block;
}
.visible_sp{
  display: none;
}
html,body{
  max-width: 768px;
  margin:auto;
  position: relative;
}
header{
  width: 100%;
  padding:8px 10px;
  position: fixed;
  top:0;
  width:100%;
  z-index:99;
  left:0;
  right:0;
  margin:auto;
  background-color: #fff;
}
header .inner{
  max-width: 768px;
  margin: auto;
}
header .logo{
  float:left;
  padding:25px 0;
}
header .btnBlock{
  display: block;
  float: right;
}

#mv h1 img{
	width: 100%;
}
@media screen and (min-width:768px){
  #mv{
    margin-top: 113px;
  }
}
#mv .date{
  position: relative;
  z-index: 10;
}
#mv .girl{
  position: absolute;
  right:0;
  bottom:0;
  z-index: 2;
}
.cv_box{
  padding:60px 0;
}
.cv_box h2{
  margin-bottom:22px;
  text-align: center;
}
.cv_box .box{
  width:50%;
  float: left;
  text-align: center;
  padding:0;
}
#nayami{
  border-top:8px #008cd6 solid;
  background-image: url(../img/bg_nayami.jpg);
  position: relative;
  margin-bottom: 160px;
  padding-bottom: 80px;
  text-align: center;
}
#nayami h2{
  text-align: center;
  margin-top:72px;
  padding-bottom: 45px;
}
#nayami .text{
  position: absolute;
  text-align: center;
  left:0;
  width:100%;
  bottom:-170px;
}
#answer .arrow{
  padding:45px 0 30px 0;
  text-align: center;
}
#point{
  background-color: #fffedf;
  padding:60px 30px 30px 30px;
}
#point h2{
  text-align: center;
  margin-bottom: 45px;
}
#point .box{
  background-color: #fff;
  padding:15px;
  border:2px #fff45c solid;
  margin-bottom: 30px;
}
#point .point_img{
  float: left;
  padding:0 20px 0 0; 
}
#point h3{
  float: left;
  padding:15px 0 15px 0;
  background-image: url(../img/line.gif);
  background-repeat: repeat-x;
  background-position: left bottom;
  width:540px;
}
#point .box .text{
  padding:15px 15px 0 15px;
}
#no1{
	margin-top: 60px;
	
	border:5px solid #0054a7;
  background-color: #fff;
  text-align: center;
  padding:30px 10px;
}
@media screen and (max-width: 767px){
	#no1{
		margin: 15px 15px 0;
	}
}
@media screen and (max-width: 400px){
	#no1 img{
		width: 100%;
	}
}
#no1 h2{
  margin-bottom: 28px;
}

#year{
  padding:60px 15px 0 15px;
}
#year ul.tab{
  list-style: none;
}
#year ul.tab li{
  float: left;
  width:33%;
  text-align: center;
}
#year .tab_content ul{
  list-style: none;
  margin-top:16px;
  padding:30px 30px 50px 30px;
}
#year .tab_content ul.mss{
  border:2px #008cd6 solid;
}
#year .tab_content ul.mss.ess{
  border:2px #028f35 solid;
}
#year .tab_content ul.mss.hss{
  border:2px #e95324 solid;
}
#year .tab_content ul li{
  position: relative;
  padding-left:30px;
  text-align: left;
}
#year .tab_content ul li:before{
  content:"";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 9.5px 0 9.5px 10px;
  border-color: transparent transparent transparent #007bff;
  position: absolute;
  top:15px;
  left:0;
}
#year .tab_content ul.ess li:before{
  border-color: transparent transparent transparent #028f35;
}
#year .tab_content ul.hss li:before{
  border-color: transparent transparent transparent #e95324;
}
#year .mss{
  width:100%;
  text-align: center;
  margin-top:-42px;
}
#year p{
  margin-top:20px;
}
#schedule{
  padding:60px 0;
  text-align: center;
}
#vzemi h2{
  margin-bottom:45px;
  text-align: center;
}
#vzemi .box{
  padding:10px 15px 15px 15px;
  margin-bottom: 20px;
}
#vzemi .pg_course{
  background-color: #71bbe2;
}
#vzemi .english_course{
  background-color: #64ba6d;
}
#vzemi .hama_course{
  background-color: #5f90cc;
}
#vzemi .hw_course{
  background-color: #f19ec2;
}
#vzemi h3{
  margin-left:-25px;
  margin-top:5px;
  margin-bottom: 10px;
}
#vzemi .white{
  background-color: #fff;
}
#vzemi .pg_course .white img,
#vzemi .hw_course .white img{
  float: left;
  padding:15px;
  margin-top:-30px;
}
#vzemi .english_course .white img{
  float: right;
  padding:15px 15px 0 15px;
  margin-top:-30px;
}
#vzemi .hw_course .white img{
  padding:15px 15px 0 15px;
}
#vzemi .english_course .white strong{
  display: block;
}
#vzemi .white p{
  padding:20px 20px;
}
.arrow2{
  background-image: url(../img/arrow.jpg);
  background-repeat: no-repeat;
  background-position: center bottom;
  text-align: center;
  font-weight: bold;
  padding:20px 0 40px 0;
  margin-bottom: 40px;
}
.arrow2 span{
  display: block;
  font-size:26px;
}
#school{
  padding:30px 30px 0 30px;
}
#school .box{
  border:1px #003d96 solid;
}
#school .box h2{
  color:#003d96;
  border-bottom:2px #003d96 solid;
  padding:10px 10px 0 10px;
}
#school .box .mapWrap{
  padding:15px;
}
#school .box #map{
  width:100%;
  height:350px;
}
#school .box #map p,
#school .box #map strong{
  font-size:16px;
}
footer{
  background-color: #0054a7;
  padding:15px 0;
}
footer p{
  color:#fff;
  text-align: center;
}
#school h3{
  background-color: #003d96;
  color:#fff;
  text-align: center;
  margin-top:10px;
}
#list{
  height:300px;
  overflow-y: auto;
  padding:0 10px 10px 0;
}
#list .name{
  float: left;
  width:25%;
  color:#0054a7;
  font-weight: bold;
  font-size:24px;
}
#list .clearfix{
  padding:10px;
  border-bottom:1px #ccc solid;
}
#list .addr{
  float:left;
  width:75%;
  font-size:20px;
}
#list .addr p{
  font-size:20px;
}
#list .addr a{
  color:#0054a7;
  font-size:18px;
}

@media screen and (max-width: 767px){
  .visible_pc{
    display: none;
  }
  .visible_sp{
    display: block;
  }
  header .inner{
    max-width: 100%;
  }
  img{
    zoom:.5;
  }
  .cv_box{
    padding:20px 3% 30px 3%;
  }
  .cv_box .box{
    padding:0 5px;
  }
  #nayami{
    padding-bottom: 57px;
    margin-bottom: 75px;
    border-top: 4px #008cd6 solid;
  }
  #nayami h2{
    margin-top:35px;
    padding-bottom: 20px;
  }
  #nayami .text{
    bottom: -75px
  }
  #answer .arrow{
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 3%;
    padding-right: 3%;
  }
  #answer img{
    width: 100%;
  }
  #point .box{
    margin-bottom: 3%;
  }
  #point{
    padding:30px 3%;
  }
  #point h2{
    margin-bottom: 20px;
  }
  #point h3{
    width:247px;
    padding-top:0;
    line-height: 100%;
  }
  *{
    font-size:16px !important;
  }
  #point .box .text{
    padding-left:0;
    padding-right: 0;
  }
  #point .box:last-child{
    margin-bottom: 0;
  }
  #year .tab_content ul{
    margin-top: 5px;
  }
  #no1{
    padding:20px 3%;
  }
  #no1 h2{
    margin-bottom: 0px;
  }
  #year{
    padding:15px;
  }
  #year .tab_content ul{
    padding:15px 15px 30px 15px;
  }
  #year .tab_content ul li:before{
    border-width: 4px 0 4px 5px;
    top: 6px;
  }
  #year .tab_content ul li{
    padding-left:15px;
  }
  #year .mss{
    margin-top: -24px;
  }
  #schedule{
    padding:15px 0 30px 0;
  }
  #vzemi{
    padding-left:3%;
    padding-right: 3%;
  }
  #vzemi h2{
    margin-bottom: 20px;
  }
  #vzemi .box{
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
  }
  #voice img,
  .vzemi_main img{
    width:100%;
  }
  .cv_box img{
    width:100%;
  }
  #vzemi h3{
    margin-left: -15px;
  }
  #vzemi .white p{
    padding:10px;
  }
  .arrow2{
    margin-bottom: 15px;
    background-size: 50% auto;
    padding: 10px 0 20px 0;
  }
  #mv{
    margin-top: 63px;
  }
  #year ul.tab li{
    padding:0 2px;
  }
  #year ul.tab li img{
    width:100%;
  }
  #school .box #map{
    height:250px;
  }
  #school{
    padding:15px 15px 0 15px;
  }
  footer p{
    font-size:24px;
  }
  #list_sp .area{
    list-style: none;
  }
  #list_sp .area{
    background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f9f5f5));
    font-weight: bold;
    padding:10px;
    border-bottom: 1px #ccc solid;
    position: relative;
    font-size:14px;
  }
  #school .box h2{
    font-size: 18px !important;
    padding-bottom: 5px;
  }
  #list_sp .area:before{
    content: "";
    display: block;
    width:6px;
    height:6px;
    border-right:2px #003d96 solid;
    border-bottom:2px #003d96 solid;
    transform: rotate(-45deg);
    position: absolute;
    top:17px;
    right:15px;
    transition: .1s;
  }
  #list_sp .area.open:before{
    transform: rotate(45deg);
  }
  #list_sp ul.child{
    list-style: none;
    padding:10px;
  }
  #list_sp ul.child li{
    margin-bottom: 10px;
  }
  #list_sp ul.child li p.name{
    font-weight: bold;
    color: #003d96;
    margin-bottom: 5px;
  }
  #list_sp ul.child li p.addr,
  #list_sp ul.child li p.tel{
    font-size:14px !important;
    line-height: 130%;
  }
  #list_sp ul.child{
    display: none;
  }
  #list_sp a.apply{
    display: inline-block;
    background-color: #003d96;
    color:#fff;
    font-size:12px !important;
    text-decoration: none;
    padding:2px 5px;
    border-radius: 2px;
    margin-left: 10px;
  }
  #point .point_img{
    padding-right:10px;
    width:20%;
  }
  #point h3{
    width:80%;
  }
}

@media screen and (max-width: 390px){
	#mv h1 img{
    zoom: normal;
	}
	#mv:after{
		height: 58vw;
	}
	#point h3 img{
		width: 80%;
	}
}

#new_vzemi{
	padding: 60px 15px 0 15px;
}
@media screen and (max-width: 767px){
	#new_vzemi{
		padding: 15px 0;
	}
}

#new_vzemi h2 img, #new_vzemi h3 img{
	width: 100%;
}
#new_vzemi h3{
	margin-top: 40px;
}

#new_vzemi .con_course{
	padding: 40px 30px 0 30px;
}
@media screen and (max-width: 767px){
	#new_vzemi .con_course{
	padding: 20px 15px 0;
	}
}

#new_vzemi .con_course p img{
	width: 100%;
}
#new_vzemi .con_course p:not(:last-child){
	margin-bottom: 30px;
}
#campaign{
  margin: 30px 20px 0;
}
#campaign p{
  text-align: center;
}
#campaign p img{
  width: 100%;
}
@media screen and (max-width: 767px){
  #campaign{
    margin: 20px 10px 0;
  }
}