@charset "utf-8";
/* *************************
* Browser Style Reset
* ************************** */

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
pre,form,fieldset,input,textarea,p,blockquote,figure,th,td { margin:0; padding:0; -webkit-box-sizing: border-box; box-sizing: border-box;}

html { overflow-y:scroll;scroll-behavior: smooth; }

img {
 border:none;
 vertical-align: bottom;
}

a img { border:none; text-decoration:none; outline:0; }

h1,h2,h3,h4,h5,h6 { font-size:100%; font-weight:normal; }

ul,ol { list-style-type:none; }
a {
	outline: none;
}
/* a:link */
a:link {
	color: #000;
	text-decoration: none;
}
/* a:active */
a:active {
	color: #000;
	text-decoration: none;
}
/* a:visited */
a:visited {
	color: #000;
	text-decoration: none;
}
/* a:hover */
a:hover {
	color: #000;
	opacity: .5;
  -webkit-transition: all 0.3s ;
  -o-transition: all 0.3s ;
  transition: all 0.3s ;
}
.nolink {
	opacity: 0.4;
}
body {
	position: relative;
	line-height: 1.6;
	overflow-x: hidden;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  display: none;
}
main {
  display: block;
	width: 100%;
  color: #222222;
  background: #fff;
	margin-top: 60px;
}
img{
	max-width: 100%;
}
.popup main{
	padding: 90px 0 30px;
}
* {
	outline: none;
}
.pc {
  display: none;
}
.sp {
  display: block;
}
.spBTN{
  display: none;
}
.inner{
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
.en{
  font-family: 'Rubik', sans-serif;
}
.fadein {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(30px);
  -ms-transform: translateY(30px);
  transform: translateY(30px);
  -webkit-transition: opacity 1s, visibility 1s, -webkit-transform 1s;
  transition: opacity 1s, visibility 1s, -webkit-transform 1s;
  -o-transition: opacity 1s, visibility 1s, transform 1s;
  transition: opacity 1s, visibility 1s, transform 1s;
  transition: opacity 1s, visibility 1s, transform 1s, -webkit-transform 1s;
}
.is-fadein {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
}
/* ================== header ================== */
header{
  position: fixed;
  width: 100%;
  height: 60px;
  background-color: #e0002a;
  z-index: 999;
  -webkit-box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.2);
}
.head_bar{
  display: flex;
  align-items: center;
  justify-content: space-between;padding: 17px 2%;
}
.head_bar .logo{
  width: 20%;
  max-width: 200px;
}
.head_bar .logo img{
  width: 100%;
}
#nav-container {
	position: fixed;
	height: 100vh;
	width: 100%;
	pointer-events: none;
}
#nav-container .bg {
	position: absolute;
	top: 80px;
	left: 0;
	width: 100%;
	height: calc(100% - 70px);
	visibility: hidden;
	opacity: 0;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
	background: #000;
}
#nav-container:focus-within .bg {
	visibility: visible;
	opacity: .6;
}
#nav-drawer {
  position: relative;
}
.nav-unshown {
  display:none;
}
#nav-open{
  display: inline-block;
  position: fixed;
	cursor: pointer;
  width: 50px;
  height:50px;
  top: 5px;
  right: 5px;
	border-radius: 5px;
  z-index: 1000;
}
#nav-open  span{
  display: inline-block;
  -webkit-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s;
  position: absolute;
  left: 15%;
  height: 2px;
  background: #fff;
  width: 70%;
}
#nav-open span:nth-of-type(1) {
	top:15px;	
}
#nav-open span:nth-of-type(2) {
	top:23px;
}
#nav-open span:nth-of-type(3) {
	top:31px;
}
#nav-open.closebtn span:nth-of-type(1) {
  top: 18px;
  left: 18px;
  -webkit-transform: translateY(6px) rotate(-45deg);
  -ms-transform: translateY(6px) rotate(-45deg);
  transform: translateY(6px) rotate(-45deg);
  width: 50%;
  background: #a8001f;
}
#nav-open.closebtn span:nth-of-type(2) {
opacity: 0;
}
#nav-open.closebtn span:nth-of-type(3){
  top: 30px;
  left: 18px;
  -webkit-transform: translateY(-6px) rotate(45deg);
  -ms-transform: translateY(-6px) rotate(45deg);
  transform: translateY(-6px) rotate(45deg);
  width: 50%;
  background: #a8001f;
}
#nav-close {
  display: none;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0;
  -webkit-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  pointer-events: none;
}
#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 998;
  width: 90%;
  max-width: 330px;
  height: 100%;
  background: #dddddd;
  color: #fff;
  -webkit-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  -webkit-transform: translateX(200%);
  -ms-transform: translateX(200%);
  transform: translateX(200%);
}
#nav-input:checked ~ #nav-close {
  display: block;
  opacity: .5;
}
#nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0%);
  -ms-transform: translateX(0%);
  transform: translateX(0%);
  -webkit-box-shadow: 6px 0 25px rgba(0,0,0,.15);
  box-shadow: 6px 0 25px rgba(0,0,0,.15);
}
#nav-content ul {
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
  padding: 90px 5% 0;
}
#nav-content li a {
  color: #222222;
	padding: 20px 5px;
  font-size: 16px;
  letter-spacing: .1em;
  border-bottom: solid 1px #bbbbbb;
	display: block;
	-webkit-transition: color .1s;
	-o-transition: color .1s;
	transition: color .1s;
}
#nav-content li a:hover {
	color: #e0002a;
  opacity: 1;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.fixed_btn_pc{
  position: fixed;
  width: 45px;
  top: 15vh;
  right: 0;
  text-align: center;
  font-size: 16px;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  line-height: 45px;
}
.fixed_btn_pc a{
  background-color: rgba(0, 0, 0, 0.6);
  padding: 20px 17px 20px 12px ;
  color: #fff;
  margin-bottom: 10px;
  border-left: 4px solid #e0002a;
}
.fixed_btn_pc .fixed_btn_red{
  background-color: rgba(224, 0, 42,0.9);
  padding: 20px 17px 20px 12px ;
  color: #fff;
  margin-bottom: 10px;
  border-left: 4px solid #4d4d4d;
}
.head_bar .student-btn {
  color: #fff;
  border: 1px solid #fff;
  padding: 6px 12px;
  border-radius: 20px;
  text-decoration: none;
  font-size: 13px;
  margin-right: 30px;
  margin-top: -4px;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .student-btn {
     transform: translate(-10px, -3px);
  }
}
/* ================== main ================== */
/* ====== slider ====== */
.slide-items {
  width: 100%;
  height: 100%;
}
.slide-items img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.slick-prev:before {
  position: absolute;
  content: '';
  top: 50%;
  left: -10px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 9px solid transparent;
  border-right: 14px solid #e0002a;
}
.slick-next:before {
  position: absolute;
  content: '';
  top: 50%; 
  right: -10px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 9px solid transparent;
  border-left: 14px solid #e0002a;
}
.slick-prev:before, .slick-next:before{
  font-family: 'slick';
  opacity: 1;
}
/* ====== mv ====== */
.mv{
  width: 100%;
  height: 680px;
  background: url(../img/mv_pc.jpg) center center / cover;
  position: relative;
}
.mv img{
  position: absolute;
  bottom: 100px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  width:60%;
  max-width: 800px;
}
.mv p{
  font-size: 18px;
  font-weight: 400;
  color: #fff;
  letter-spacing: 1.2px;
}
/* ====== スクロールアニメーション ====== */
.scrolldown1{
  position:absolute;
  left:50%;
  bottom: -2vh;
  height:50px;
}
.scrolldown1 span{
  position: absolute;
  left:-20px;
  top: -15px;
  color: #eee;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
}
.scrolldown1::after{
  content: "";
  position: absolute;
  top: 0;
  width: 1px;
  height: 30px;
  background: #222;
  -webkit-animation: pathmove 1.4s ease-in-out infinite;
  animation: pathmove 1.4s ease-in-out infinite;
  opacity:0;
}
@-webkit-keyframes pathmove{
0%{
  height:0;
  top:0;
  opacity: 0;
}
30%{
  height:30px;
  opacity: 1;
}
100%{
  height:0;
  top:50px;
  opacity: 0;
}
}
@keyframes pathmove{
0%{
  height:0;
  top:0;
  opacity: 0;
}
30%{
  height:30px;
  opacity: 1;
}
100%{
  height:0;
  top:50px;
  opacity: 0;
}
}
#container{
  position: relative;
  z-index:1;
}
/* ====== 共通パーツ ====== */
h2{
  position: relative;
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 60px;
}
h2::after{
  position: absolute;
  font-size: 90px;
  font-weight: 100;
  letter-spacing: 5px;
  top:-80px;
  left:0;
  width:100%;
  height: 100%;
}
h2 span{
  font-size: 40px;
}
.inner{
  width: 100%;
  max-width: 1100px;
  padding: 0 2%;
  margin: 0 auto;
}
/* ====== first information ====== */
.fst_info{
  text-align: center;
  margin: 70px 0 70px;
}
.fst_info_box{
  background-color: #eeeeee;
  padding: 40px;
  -webkit-box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.2);
  margin-bottom: 60px;
}
.fst_info_box:last-of-type{
  margin-bottom: 0;
}
.fst_info_slider_box{
  margin-bottom: 80px;
}
.fst_info_slider_box .slide-items{
  width: 60%;
  margin: 0 auto;
}
.fst_info_box h3{
  font-size: 18px;
  font-weight: bold;
  line-height: 40px;
  margin-bottom: 40px;
}
.fst_info_box h3 span{
  font-size: 30px;
}
.fst_info_box .red_circle{
  color: #e0002a;
  font-size: 20px;
  font-weight: bold;
  padding: 10px;
  border: solid 1px #e0002a;
  max-width: 200px;
  border-radius: 50px;
  margin: 0 auto;
}
.fst_info_box .fst_info_copy{
  margin: 0 auto 40px;
}
.fst_info_box .info_ttl{
  font-weight: bold;
  color: #e0002a;
  font-size: 36px;
  margin-bottom: 20px;
}
.fst_info_box .info_ttl span{
  color: #222;
  font-size: 18px;
}
.fst_info_box .info_date{
  color: #e0002a;
  font-weight: bold;
  font-size: 20px;
  padding: 8px;
  background-color: #ddd;
}
.fst_info_box .wht_box{
  background-color: #ffffff;
  padding: 30px;
  text-align: left;
  margin-bottom: 40px;
}
.fst_info_box .map_link{
  font-size: 12px;
  color: #e0002a;
  text-decoration: underline;
}
.fst_info_box table{
  width: 100%;
  text-align: left;
  margin-bottom: 40px;
}
.fst_info_box table tr{
  border-bottom: solid 1px #cccccc;
}
.fst_info_box table th{
  text-align: center;
  padding: 20px;
  width: 15%;
  font-weight: bold;
}
.fst_info_box table td{
  padding: 20px;
}
.fst_info_box .cell_item{
  width: 60%;
}
.fst_info_box .cell_image p{
  margin-top: 10px;
  text-align: center;
  font-size: 14px;
}
.fst_info_box .info_teacher{
  font-size: 14px;
  width: 60%;
}
.fst_info_box .info_teacher span{
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 10px;
  display: inline-block;
}
.fst_info_box .cell_image{
  width: 15%;
}
.fst_info_box .fst_info_att{
  font-size: 13px;
}
.fst_info_box .fst_info_btn{
  display: block;
  width: 300px;
  margin: 0 auto;
  padding: 15px 2%;
  color: #fff;
  font-weight: bold;
  background-color: #e0002a;
  border-radius: 5px;
  -webkit-box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.2);
}
.book_image{
  position: relative;
}
.book_image::before{
  position: absolute;
  content: "";
  width: 80px;
  height: 114px;
  top: 215px;
  right: 120px;
  background-image: url(../img/fst_book01.jpg);
  background-size: contain;
  background-repeat: no-repeat;
  -webkit-transform: rotate(-10deg);
  -ms-transform: rotate(-10deg);
  transform: rotate(-10deg);
  -webkit-box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.2);
}
.book_image::after{
  position: absolute;
  content: "";
  width: 80px;
  height: 111px;
  top: 300px;
  right: 10px;
  background-image: url(../img/fst_book02.jpg);
  background-size: contain;
  background-repeat: no-repeat;
  -webkit-transform: rotate(10deg);
  -ms-transform: rotate(10deg);
  transform: rotate(10deg);
  -webkit-box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.2);
}
/* ====== sec_worries ====== */
.sec_worries{
  background: url(../img/bg_01.png) top 120px right / contain;
  background-size: 26% 70%;
  background-repeat: no-repeat;
  padding: 180px 0%;
}
.sec_worries h2::after{
  content: "WORRIES";
  color: #eeeeee;
  z-index: -1;
}
.sec_worries h2 span{
  border-bottom: solid 3px #e0002a;
}
.sec_worries ul{
  width:100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.sec_worries li{
  width: 32%;
  padding: 20px 2%;
  background-color: #fff;
  -webkit-box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.2);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 15px;
  border-left: solid 5px #e0002a;
}
/* ====== sec_copy ====== */
.sec_copy{
  position: relative;
  background: url(../img/bg_red.jpg) center / cover;
  background-repeat: no-repeat;
  z-index: -10;
}
.sec_copy::before{
  position: absolute;
  content: "";
  background-image: url(../img/triangle01.png);
  background-repeat: no-repeat;
  background-size: contain;
  top: 0px;
  left: 0px;
  width: 180px;
  height: 120px;
  z-index: -9;
}
.sec_copy::after{
  position: absolute;
  content: "";
  background-image: url(../img/triangle02.png);
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0px;
  right: 0px;
  width: 173px;
  height: 118px;
  z-index: -9;
}
.sec_copy .inner{
  position: relative;
  padding: 160px 2%;
  z-index: -8;
}
.sec_copy .inner::before{
  position: absolute;
  content: "";
  width: 0px;
  height: 0px;
  top: 0px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: -7;
  border-top: 40px solid #fff;
  border-right: 50px solid transparent;
  border-left: 50px solid transparent;
}
.sec_copy p{
  position: relative;
  width: 80%;
  z-index: -6;
  margin: 0 auto;
}
.sec_copy p span{
  font-size: 32px;
}
/* ====== sec_feat ====== */
.sec_feat{
  padding: 180px 0 100px;
  background: url(../img/bg_gray.png) top 270px left / cover;
  background-size: 40%;
  background-repeat: no-repeat;
}
.sec_feat h2{
  margin-bottom: 60px;
}
.sec_feat h2::after{
  content: "FEATURE";
  color: #eeeeee;
  z-index: -1;
  padding: 0 2%;
}
.sec_feat h2 span{
  border-bottom: solid 3px #e0002a;
}
.sec_feat .image_box{
  width: 80%;
  max-width: calc(1100px - 4%);
  margin: 0 auto 60px;
}
.sec_feat ul{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.sec_feat li{
  width: 48%;
  padding: 20px 2%;
  margin-bottom: 30px;
  background-color: #fff;
  -webkit-box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.2);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.sec_feat .number{
  font-weight: 500;
  color: #e0002a;
  font-size: 18px;
  margin-right: 5%;
}
.sec_feat .number span{
  font-weight: 700;
  font-size: 36px;
  margin-top: -15px;
  display: inline-block;
}
.sec_feat ul > div{
  display: block;
}
.sec_feat .point_ttl{
  display: block;
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: solid 1px #dddddd;
}
.sec_feat .point_txt{
  font-size: 14px;
}
/* ====== sec_pho ====== */
.sec_pho {
  background-image: url(../img/bg_gray_L.png);
  background-size: cover;
  background-repeat: repeat;
  padding: 160px 0 110px;
}
.sec_pho .inner{
  width: calc( 1100px - 4%);
  padding: 0;
}
.sec_pho h2{
  margin-bottom: 60px;
}
.sec_pho h2 span{
  border-bottom: solid 3px #e0002a;
}
.sec_pho h2::after{
  content: "PHONICS";
  color: #d7d7d7;
  z-index: -1;
}
.sec_pho p span{
  font-size: 13px;
}
/* ====== sec_movie ====== */
.sec_movie{
  background: url(../img/bg_red_gray.png) top 180px right / cover;
  background-size: 34%;
  background-repeat: no-repeat;
  padding: 180px 0 180px;
}
.sec_movie h2{
  margin-bottom: 60px;
}
.sec_movie h2::after{
  content: "MOVIE";
  color: #eeeeee;
  z-index: -1;
}
.movie {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  border: solid 3px #000;
}
.movie iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
/* ====== sec_course ====== */
.sec_course{
  position: relative;
  background-image: url(../img/bg_gray_L.png);
  background-size: cover;
  background-repeat: repeat;
  z-index: -9;
  padding: 180px 0 90px;
}
.sec_course::after{
  position: absolute;
  content: "";
  background-image: url(../img/bg_red.jpg);
  background-repeat: repeat-y;
  background-size: cover;
  top: 0px;
  right: 0px;
  width: 100%;
  height: 50%;
  z-index: -8;
}
.sec_course h2{
  margin-bottom: 60px;
  color: #fff;
}
.sec_course h2::after{
  content: "PROGRAM";
  color: #b70022;
  z-index: -7;
}
.sec_course h2 span{
  border-bottom: solid 3px #fff;
}
.sec_course .txt,
.sec_mate .txt{
  color: #fff;
  margin-bottom: 60px;
}
.sec_course ul{
  display: block;
}
.sec_course li{
  padding: 50px 1% 50px 2%;
  width: 100%;
  margin-bottom: 30px;
  background-color: #fff;
  -webkit-box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.2);
}
.sec_course li h3{
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 10px;
}
.sec_course li p{
  font-size: 14px;
}
.phonics{
  position: relative;
  border-left: solid 4px #e0002a;
}
.phonics::before{
  position: absolute;
  content: "フォニックスコース";
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  top: 0px;
  right: 0;
  width: 20%;
  height: 20px;
  color: #a8001f;
  background-color: #eeeeee;
  padding: 4px 1%;
  z-index: 0;
}
.reading{
  position: relative;
  border-left: solid 4px #222222
}
.reading::before{
  position: absolute;
  content: "読解力育成コース";
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  top: 0px;
  right: 0;
  width: 20%;
  height: 20px;
  color: #ffffff;
  background-color: #222222;
  padding: 4px 1%;
  z-index: 0;
}
/* ====== sec_mate ====== */
.sec_mate{
  position: relative;
  background-image: url(../img/bg_pic.png);
  background-size: cover;
  background-repeat: repeat;
  z-index: -9;
  padding: 180px 0 90px;
}
.sec_mate h2{
  color: #fff;
}
.sec_mate h2::after{
  content: "MATERIALS";
  color: #5a5a5a;
  z-index: -7;
}
.sec_mate::before{
  position: absolute;
  content: "";
  background-image: url(../img/triangle03.png);
  background-repeat: no-repeat;
  background-size: contain;
  top: 0px;
  left: 0px;
  width: 180px;
  height: 120px;
  z-index: -9;
}
.sec_mate::after{
  position: absolute;
  content: "";
  background-image: url(../img/triangle04.png);
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0px;
  right: 0px;
  width: 167px;
  height: 93px;
  z-index: -9;
}
/* ====== sec_flow ====== */
.sec_flow{
  position: relative;
  background-image: url(../img/bg_gray_L.png);
  background-size: cover;
  background-repeat: repeat;
  z-index: -5;
  padding: 180px 0 140px;
}
.sec_flow h2::after{
  content: "FLOW";
  color: #d6d6d6;
  z-index: -4;
}
.sec_flow h2 span{
  border-bottom: solid 3px #e0002a;
}
.sec_flow button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
}
/* ====== sec_voice ====== */
.sec_voice{
  position: relative;
  color: #fff;
  background: url(../img/bg_voice_pc.png) center center #e0002a;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -5;
  padding: 180px 0 120px;
}
.sec_voice h2::after{
  content: "VOICE";
  color: #b70022;
  z-index: -4;
}
.sec_voice h2{
  display: inline-block;
}
.sec_voice h2 span{
  border-bottom: solid 3px #fff;
}
.sec_voice li{
  width: 100%;
  margin-bottom: 60px;
}
.sec_voice h3{
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 20px;
  padding: 0 0 20px 80px;
  border-bottom: solid 1px #fff;
}
.icon01,.icon02{
  position: relative;
}
.icon01::before{
  position: absolute;
  content: "";
  background-image: url(../img/icon01.png);
  background-repeat: no-repeat;
  background-size: contain;
  top: 0px;
  left: 0;
  width: 60px;
  height: 60px;
  z-index: -3;
}
.icon02::before{
  position: absolute;
  content: "";
  background-image: url(../img/icon02.png);
  background-repeat: no-repeat;
  background-size: contain;
  top: 0px;
  left: 0;
  width: 60px;
  height: 60px;
  z-index: -3;
}
.sec_voice h3 span{
  font-weight: 400;
  font-size: 16px;
}
.sec_voice p span{
  font-size: 12px;
}
/* ====== sec_qa ====== */
.sec_qa{
  padding: 180px 0;
  background: url(../img/bg_gray_slim.png) top 70px right / cover,
  url(../img/bg_gray_slim.png) bottom 0px left / cover;
  background-size: 40%;
  background-repeat: no-repeat;
}
.sec_qa h2{
  margin-bottom: 60px;
}
.sec_qa h2::after{
  content: "Q&A";
  color: #eeeeee;
  z-index: -1;
}
.sec_qa h2 span{
  border-bottom: solid 3px #e0002a;
}
/* === アコーディオン === */
.sec_qa .accordion-area{
  list-style: none;
  width: 100%;
}
.sec_qa .accordion-area li{
  margin: 0px 0 20px;
}
.sec_qa .accordion-area section {
  -webkit-box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.2);
}
.sec_qa .title {
  position: relative;
  cursor: pointer;
  font-size: 1rem;
  font-weight: normal;
  padding: 8px 2%;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 18px;
}
.sec_qa .title span{
  font-size: 40px;
  font-weight: 500;
  margin-right: 16px;
  color: #e0002a;
}
.sec_qa .title::before,
.sec_qa .title::after{
  position: absolute;
  content:'';
  width: 20px;
  height: 3px;
  background-color: #e0002a;
  margin-right: 10px;
}
.sec_qa .title::before{
  top:48%;
  right: 25px;
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
}
.sec_qa .title::after{    
  top:48%;
  right: 25px;
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: all 0.3s ;
  -o-transition: all 0.3s ;
  transition: all 0.3s ;
}
.sec_qa .title.close::before{
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
}
.sec_qa .title.close::after{
  -webkit-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition: all 0.3s ;
  -o-transition: all 0.3s ;
  transition: all 0.3s ;
}
.sec_qa .box {
  display: none;/*はじめは非表示*/
  background: #fff;
  padding: 0 2% 20px 2%;
}
.sec_qa .box_area{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.sec_qa .box_area .en{
  font-size: 40px;
  font-weight: 500;
  margin-right: 16px;
  color: #838383;
}
.sec_qa .box_area P{
  font-size: 15px;
}
/* ================== footer ================== */
footer{
  padding: 180px 0 30px;
  background-image: url(../img/bg_blk.jpg);
  background-size: cover;
  background-repeat: repeat;
  text-align: left;
  color: #fff;
}
footer h2{
  margin-bottom: 60px;
  padding: 0;
}
footer h2::after{
  content: "INFORMATION";
  color: #505050;
  z-index: -1;
}
footer .map{
  margin-bottom: 60px;
}
footer .map iframe{
  width: 100%;
}
footer .info_area{
  margin-bottom: 60px;
}
footer .info_area li{
  border-bottom: 1px solid #838383;
  padding-bottom: 30px;
  margin-bottom: 30px;
}
footer .info_area h3{
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 5px;
}
footer .info_area p{
  font-size: 15px;
}
footer .btn_tel{
display: block;
  width: 400px;
  margin: 0 auto 60px;
  padding: 15px 2%;
  background-color: #fff;
  border-radius: 5px;
  -webkit-box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.2);
}
footer .btn_tel span{
  display: block;
  font-size:14px ;
  width: 100%;
  text-align: center;
}
footer .btn_tel div{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
footer .btn_tel p:first-child{
  font-size: 18px;
  font-weight: 700;
}
footer .btn_tel p:last-child{
  font-size: 28px;
  font-weight: 700;
  position: relative;
}
footer .btn_tel p:last-child::before{
  position: absolute;
  content: "";
  background-image: url(../img/icon_tel.png);
  background-repeat: no-repeat;
  background-size: contain;
  top: 5px;
  left: -35px;
  width: 25px;
  height: 33px;
  z-index: 1;
}
footer .sns_area{
  width: 60%;
  max-width: 300px;
  margin: 0 auto 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
footer .sns_area li{
  width: 14%;
}
footer .link_area{
  width: 30%;
  margin: 0 auto 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  font-size: 14px;
}
footer .link_area a{
  color: #fff;
}
footer .copyright{
  font-size: 12px;
  text-align: center;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  .sec_pho .inner{
    width: 96%;
    padding: 0;
  }
}
@media(min-width: 768px){
  /* === PCはtelボタンリンク無効化 === */
  footer .btn_tel[href^="tel:"]{
    pointer-events: none;
  }
}
@media screen and (min-width: 751px) {
	.pc {
		display: block;
	}
	.sp {
		display: none;
	}
  .spBTN{
    display: none;
  }
}
@media screen and (max-width:1024px) {
  .fixed_btn_pc{
    top: 15vh;
  }
  .fst_info_box table::before{
    display: none;
  }
  .fst_info_box table::after{
    display: none;
  }
  .sec_worries ul{
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .sec_worries li:first-child, 
  .sec_worries li:nth-child(2),
  .sec_worries li:last-child{
    width: 48%;
    margin-bottom: 20px;
  }
  .sec_feat .image_box {
    width: 96%;
  }
  .sec_copy .inner{
    padding: 160px 2%;
  }
  .sec_copy .inner::before{
    top: -2px;
  }
  .phonics::before,
  .reading::before{
    width: 45%;
  }
  .sec_flow .slide-items {
    width: 92%;
    margin: 0 auto;
  }
  footer .link_area{
    width: 50%;
  }
}
@media screen and (max-width:750px) {
  body{
    font-size: 16px;
  }
  #nav-content{
    width:70%;
  }
	#nav-content ul {
		height: auto;
    padding: 60px 5% 0;
	}
  #nav-content li a{
    font-size: 14px;
    padding: 15px 5px;
  }
  .fixed_btn_sp {
    position: fixed;
    bottom: 0 !important;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 70px;
    text-align: center;
    font-size: 14px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: inherit;
    writing-mode: inherit;
    line-height: 70px;
  }
  .fixed_btn_sp a {
    display: block;
    background-color: rgba(0, 0, 0, 0.6);
    padding: 0px 3%;
    color: #fff;
    margin-bottom: 0px;
    border-left: none;
    border-bottom: 4px solid red;
  }
  .fixed_btn_sp .fixed_btn_red{
    display: block;
    background-color: rgba(224, 0, 42, 0.9);
    padding: 0px 3%;
    color: #fff;
    margin-bottom: 0px;
    border-left: none;
    border-bottom: 4px solid #5a5a5a;
  }
  .fixed_btn_sp a:first-child{
    width:60%;
    border-right: 1px solid #838383;
  }
  .fixed_btn_sp a:last-child{
    width:40%;
  }
  .head_bar {
    padding: 20px 4%;
  }
  .head_bar .logo {
    width: 60%;
    max-width: 180px;
  }
  .mv {
    height: 75vh;
    background: url(../img/mv_sp.jpg) top center / cover;
  }
  .mv img {
    width: 70%;
    bottom: 10vh;
  }
  .scrolldown1 {
    position: absolute;
    left: 50%;
    height: 50px;
    z-index: 99;
  }
  .scrolldown1 span{
    top: -20px;
    left: -28px;
    font-size: 14px;
  }
  .inner {
    width: 100%;
    max-width: none;
    padding: 0 4%;
    margin: 0 auto;
  }
  h2{
    font-size: 20px;
    margin-bottom: 40px;
  }
  h2 span{
    font-size: 26px;
  }
  h2::after{
    font-size: 60px;
    top: -55px;
  }
  .sec_worries,
  .sec_feat,
  .sec_course,
  .sec_mate,
  .sec_flow{
    padding: 100px 0 60px;
  }
  .sec_feat h2,
  .sec_course h2,
  .sec_qa h2,
  .sec_movie h2,
  .sec_course .txt, 
  .sec_mate .txt{
    margin-bottom: 40px;
  }
  .fst_info{
    font-size: 15px;
    margin: 30px 0 30px;
  }
  .fst_info_box{
    padding: 20px 2% 40px;
  }
  .fst_info_slider_box{
    margin-bottom: 60px;
  }
  .fst_info_slider_box .slide-items{
    width: 90%;
    margin: 0 auto;
  }
  .fst_info_box h3{
    font-size: 14px;
    line-height: 30px;
    margin-bottom: 20px;
  }
  .fst_info_box h3 span {
    font-size: 20px;
  }
  .fst_info_box .red_circle{
    font-size: 16px;
    padding: 5px
  }
  .fst_info_box .info_ttl{
    font-size: 19px;
  }
  .fst_info_box .info_ttl span{
    font-size: 15px;
  }
  .fst_info_box .info_date{
    font-size: 18px;
    padding: 4px;
  }
  .fst_info_box .fst_info_copy {
    margin: 0 auto 30px;
  }
  .fst_info_box .wht_box{
    padding: 20px 4%;
    margin-bottom: 20px;
  }
  .fst_info_box table::before{
    display: block;
    top: 455px;
    right: auto;
    left: 5%;
  }
  .fst_info_box table::after{
    display: block;
    top: 455px;
    right: 5%;
    left: auto;
  }
  .fst_info_box table th,
  .fst_info_box .info_teacher{
    display: block;
    width: 100%;
    padding: 10px 2%;
  }
  .fst_info_box table td{
    display: block;
    width: 100%;
    padding: 20px 2%;
  }
  .fst_info_box table th{
    background-color: #ddd;
    text-align: center;
  }
  .fst_info_box .cell_image{
    text-align: center;
    display: block;
    width: 100%;
    padding: 10px 2% 30px;
  }
  .fst_info_box .cell_image img{
    width: 50%;
    margin: 0 auto;
  }

  .sec_worries {
    background: url(../img/bg_01.png) top 190px right / contain;
    background-size: 40% 55%;
    background-repeat: no-repeat;
  }
  .sec_worries h2::before{
    left: 0;
    width: 8em;
    height: 50%;
  }
  .sec_worries ul{
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .sec_worries li{
    margin-bottom: 20px;
    padding: 20px 1em;
  }
  .sec_worries li:first-child{
    width: 20em;
  }
  .sec_worries li:nth-child(2){
    width: 17em;
  }
  .sec_worries li:last-child{
    width: 85%;
  }
  .sec_worries li:first-child::after{
    top: -20px;
    left: 18em;
    width: 30px;
    height: 30px;
  }
  .sec_worries li:nth-child(2)::after{
    top: -12px;
    left: 16em;
  }
  .sec_worries li:last-child:after{
    top: -20px;
    right: -10%;
    width: 40px;
    height: 35px;
  }
  .sec_copy .inner::before{
    top: -2px;
    border-top: 16px solid #fff;
    border-right: 20px solid transparent;
    border-left: 20px solid transparent;
  }
  .sec_copy .inner {
    padding: 60px 0;
  }
  .sec_copy::before{
    width: 80px;
    height: 50px;
  }
  .sec_copy::after{
    width: 78px;
    height: 52px;
  }
  .sec_copy .sp{
    width: 90%;
    margin: 0 auto;
  }
  .sec_feat{
    background: url(../img/bg_gray.png) top 170px left / cover;
    background-size: 40% 50%;
    background-repeat: no-repeat;
  }
  .sec_feat h2 span::before{
    bottom: -12px;
    left: -10px;
    height: 50%;
  }
  .sec_feat .image_box {
    width: 90%;
    max-width: none;
    margin: 0px 0 40px 10%;
  }
  .sec_feat ul{
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }
  .sec_feat li{
    width: 100%;
    padding: 15px 5%;
    margin-bottom: 20px;
    font-size: 15px;
    -webkit-box-align:start;
    -ms-flex-align:start;
    align-items:flex-start;
  }
  .sec_feat .number{
    font-size: 14px;
    margin-right: 5%;
  }
  .sec_feat .number span{
    font-size: 30px;
    margin-top: -10px
  }
  .sec_pho{
    width: 100%;
    margin: 0 auto;
    padding: 100px 0 60px;
  }
  .sec_pho .inner{
    width: 90%;
  }
  .sec_pho h2 {
    margin: 0;
    margin-bottom: 40px;
  }
  .sec_pho h2 span {
    font-size: 24px;
  }
  .sec_movie{
    background: url(../img/bg_red_gray.png) top 30px right / cover;
    background-repeat: no-repeat;
    background-size: 60% 87%;
    padding: 100px 0;
  }
  .sec_course::after{
    height: 30%;
  }
  .sec_course ul{
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .sec_course li{
    width: 100%;
    padding: 30px 3% 30px 4%;
  }
  .sec_mate::before{
    width: 80px;
    height: 50px;
  }
  .sec_mate::after{
    width: 78px;
    height: 43px;
  }
  .sec_flow .slide-items{
    width: 86%;
    margin: 0 auto;
  }
  .sec_flow .slick-prev:before{
    border: 7px solid transparent;
    border-right: 10px solid #e0002a;
  }
  .sec_flow .slick-next:before{
    border: 7px solid transparent;
    border-left: 10px solid #e0002a;
  }
  .sec_voice{
    background: url(../img/bg_voice_sp.png) center center #e0002a;
    background-size: 100% 50%;
    background-repeat: no-repeat;
    padding: 100px 0 10px;
  }
  .sec_voice h2::before{
    width: 60%;
    height: 24px;
  }
  .sec_voice h3{
    font-size: 18px;
    padding: 0 0 20px 15%;
  }
  .icon01::before{
    top: 6px;
    width: 40px;
    height: 40px;
  }
  .icon02::before{
    top: 6px;
    width: 40px;
    height: 40px;
  }
  .sec_qa{
    padding: 100px 0 60px;
  }
  .sec_qa h2 span::before{
    bottom: -10px;
    left: -10px;
    width: 140%;
    height: 10px;
  }
  .sec_qa .box_area{
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .sec_qa .box_area p{
    line-height: 22px;
  }
  .sec_qa .title span,
  .sec_qa .box_area .en{
    font-size: 22px;
    margin-right: 3%;
  }
  .sec_qa .title{
    font-size: 15px;
    padding: 8px 13% 8px 3%;
  }
  .sec_qa .box{
    padding: 0 3% 20px 3%;
  }
  .sec_qa .title::before{
    right: 2%;
  }
  .sec_qa .title::after{
    right: 2%;
  }
  footer{
    padding: 100px 0 100px;
  }
  footer h2::after {
    content: "INFORMATION";
    color: #505050;
    z-index: -1;
    font-size: 42px;
    top: -34px;
  }
  footer .map {
    margin-bottom: 40px;
  }
  footer .info_area {
    margin-bottom: 40px;
  }
  footer .btn_tel{
    width: 100%;
    padding: 12px 0%;
    margin: 0 auto 40px;
  }
  footer .sns_area{
    width: 74%;
    margin: 0 auto 40px;
  }
  footer .sns_area li {
    width: 16%;
  }
  footer .link_area{
    width: 80%;
  }
}