@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
/* CSS Document */
* { margin: 0; padding: 0; }
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}



body {
position: relative;
  font-family:'Noto Sans JP',"游ゴシック Medium", "游ゴシック", "游ゴシック体", "Yu Gothic Medium", "YuGothic", "メイリオ", sans-serif;
  font-size: 18px ;
  font-weight: 500;
	line-height: 1.9em;
  color: #000000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

/*-----------------------------------------
  共通で使える
-----------------------------------------*/
section{text-align: left; padding:2em 0;}
.w1200 {  max-width: 1200px; margin: 0 auto; position: relative;}
.text {  text-align: left; }
@media screen and (max-width: 1199px){
.w1200 { width: 95%; margin: 0 auto;padding: 0;}
}
.gradation1{background: linear-gradient(90deg, #21a392 0%, #1e7aa1 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
.pink {color:#eb576f;}
.yellow {color:#ed7908;}
.highl {background: linear-gradient(transparent 50%, rgba(253, 248, 176, 0.9) 50%);}
.b {font-weight: bold;}
.img_c { display: block; margin-left: auto; margin-right: auto; max-width: 100%; }
.img_l{display: block; float:left; margin-right: 20px;}
.img_r{display: block; float:right; margin-left: 20px;}
li {list-style: none;}
::selection
{    background: #ebdbb6;}

/* for Firefox */
::-moz-selection
{    background: #ebdbb6;}

/* フッター部分 */
.totop {
  position: fixed;
  bottom: 3em;
  right: calc(4.375em + 1em);
  z-index: 9;
}
@media screen and (max-width: 768px) {
  .totop {
    right: calc(9.3vw + 1em);
	  bottom: 1em;
  }
}
.totop a {
  box-sizing: border-box;
  display: -ms-flexbox;
  /* prefix -> -webkit- */
  display: -webkit-flex;
  -webkit-justify-content: center;
  -webkit-align-items: center;
  /* no prefix */
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #afd7ee;
  width: 4.375em;
  height: 4.375em;
  border-radius: 50%;
}
.totop a:after {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  margin-top: 0.5em;
  transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .totop a {
    width: 9.3vw;
    height: 9.3vw;
  }
  .totop a:after {
    width: 0.5em;
    height: 0.5em;
    margin-top: 0.25em;
  }
}

footer.footer .copyBox {
  background-color: #fff7e2;
  text-align: center;
  padding: 1em 0;
  font-size: 0.8em;
}
@media screen and (max-width: 768px) {
  footer.footer .copyBox {
    font-size: 0.6em;
  }
}

/* コンテンツ内 */
.mainVisual {
  background: url(../images/main.jpg) no-repeat top center/cover;
	height: 50vw; position: relative;
}
@media screen and (max-width: 768px) {
  .mainVisual {
    background: url(../images/main_sp.jpg) top center/100%; height: 112vw;
  }
}
.mainVisual .maininner {
  display: flex;
  justify-content: center;
  align-items: center;
flex-direction: column;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 1101px) {.only_tab {display:none;}}
@media (min-width: 769px) {.only_sp {display:none;}}
@media screen and (max-width: 768px) {
	.only_pc {display:none;}
}
.mainVisual h1 {  display: inline-block;}
.mainVisual h1 img {  width: 100%; margin-bottom:1em;}
@media screen and (max-width: 768px) {
.mainVisual h1 img {margin-bottom:0;width: 100%; margin-right: 0; margin-left: 0; }
}

.kvbtn {z-index: 50; position: absolute;top:35px; right:10%; width:320px;}
.mainbtn { width:100%; text-align: center; position: relative; margin:20px 0; }

@media screen and (max-width: 768px) {
.mainbtn {}
}

.formbtn a {width:320px; margin:0 auto; display: block; background-color: #228099; font-size: 1.6em; line-height: 1.4em; padding: 22px 25px 22px 20px;border-radius: 50px;color:#fff; position: relative; text-align: center;box-shadow: 0px 0px 10px 5px rgba(40, 40, 40, .2);
	text-decoration: none; -webkit-transition: 0.3s cubic-bezier(0.18, 0.45, 0.25, 1);
    -o-transition: 0.3s cubic-bezier(0.18, 0.45, 0.25, 1);
    transition: 0.3s cubic-bezier(0.18, 0.45, 0.25, 1);}

.kvbtn .formbtn a {width:300px;padding: 17px 22px 17px 15px;font-size: 1.4em;}

.formbtn a::after {
    content: "";
    width: 14px;
    height: 14px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 7px);
    right: 10px;
}
.formbtn a:hover{
	background-color: #eb576f;
	text-decoration: none;
	transform: scale(1.03);
}
@media screen and (max-width: 1260px) {
	.formbtn a {font-size: 1.3em;padding: 15px 18px 17px 10px;}
	.formbtn a::after {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 5px);
    right: 10px;
}
}
@media screen and (max-width: 1200px) {
.kvbtn {position: absolute;top:35px; right:10px; width:300px;}
.kvbtn .formbtn a {font-size: 1.0em;padding: 15px 18px 17px 10px;}
}
@media screen and (max-width: 960px) {
	.formbtn a { font-size: 0.9em; line-height: 1.3em;}
	.kvbtn {width:260px;}
	.kvbtn .formbtn a {width:260px;}
}
@media screen and (max-width: 768px) {
.formbtn a {width:80%; font-size: 1.2em;line-height: 1.3em;}
.kvbtn {z-index: 50; position: relative; margin-top:27vw; width:100%; right:0;}
}
@media screen and (max-width: 520px) {
	.kvbtn {margin-top:22vw;}
	.kvbtn .formbtn a {padding: 10px 18px 12px 10px;}
}
@media screen and (max-width: 420px) {
.formbtn a {width:75%; font-size: 1.0em;line-height: 1.2em;}
.kvbtn {}
}
@media screen and (max-width: 369px) {
.formbtn a {width:80%; font-size: 0.9em;line-height: 1.1em;}

}
/*-----------------------------------------
  manzoku
-----------------------------------------*/
.manzoku {width:100%; text-align: center;}
.manzokuCatch { font-size: 1.5em; font-weight: bold;font-family: 'Kiwi Maru'; margin-top:-50px; }
.manzokuH2 {font-size: 2.4em; line-height: 1.8em; }
.manzokuImg img {width:90%;}
.manzokuCopy {margin:20px 0 30px; font-size: 1.6em;line-height: 1.8em; color:#404040;}
@media screen and (max-width: 768px){
.manzokuCatch { font-size: 1.2em; margin-top:-20px; }
.manzokuH2 {font-size: 1.6em; line-height: 1.2em; }
.manzokuImg img {width:100%;}
.manzokuCopy {margin:10px 0 15px; font-size: 1.2em;line-height: 1.4em; }
	}

/*-----------------------------------------
  metoo
-----------------------------------------*/
.metoo {width:100%; text-align: center; background-color: #f6f5f4;}
.metoo h2 {margin-top:20px;}
.metooWrap {display: flex; justify-content: space-between;}
.metooFlameRight {width:50%;}
.metooFlameRight p {margin:20px 0; font-size: 1.2em;}
.metooFlameLeft {width:45%;}
.metooFlameLeft p {margin:20px 0; color: #424242;}
.metooFlameLeft p span {font-size: 1.8em;}
.metooCopy {font-size: 1.5em; line-height: 1.8em; margin:20px 0;}
@media screen and (max-width: 1000px){
	.metooWrap img,.metooFlameRight img,.metooFlameLeft img,.metoo h2 img{width:100%;}
}
@media screen and (max-width: 768px){
.metooWrap {flex-direction: column;}
.metooFlameRight {width:100%;}
.metooFlameRight p {font-size: 1.0em; line-height: 1.7em;}
.metooFlameLeft {width:100%;}
	.metooFlameLeft p {font-size: 0.8em;}
.metoo img{width:100%;} 
.metoo h2 {margin-top:10px;}
.metooWrap img,.metooFlameRight img,.metooFlameLeft img,.metoo h2 img{width:100%;}
.metooCopy {font-size: 0.9em; line-height: 1.6em; margin:20px 0 10px;}
}
/*-----------------------------------------
  point
-----------------------------------------*/
.point {width:100%; text-align: center;}
.pointWrapG,.pointWrapG {width:100%; padding:30px; background-color: #52c2ab; margin:20px 0;}

.pointFlame {display: flex; justify-content: space-between; }
.pointChild01 {width:32%; background-color: #fff; border-radius: 10px; padding: 20px;}
.pointChild01 img {width:100%;}
.pointH4 {width:100%; border-bottom: solid 1px #52c2ab; padding-bottom: 8px; font-size: 1.4em;}
.pointP {margin:10px 0 0; line-height: 1.6em;}
.pointWrapW {width:100%; padding:30px 0;margin:20px 0;}
.pointChild02 {width:30%; background-color: #cff7f1; border-radius: 10px; padding: 20px; border: solid 1px #52c2ab;}
.pointChild02 img {width:100%;}
.pointFlame03 {display: flex; justify-content: center; }
.pointChild03 {width:28%; background-color: #fff; border-radius: 10px; padding: 30px;margin:15px;}
.pointH5 {font-size: 1.2em; font-weight: bold; color:#424242;}
.pointChild03Img {width:45%; margin: 30px auto 0;}
.pointChild03Img img {width:100%;}
.point03Copy {font-size: 1.6em; color: #fff; line-height: 1.8em;margin:30px 0;}

@media screen and (max-width: 1000px){
	.pointSubtitle img {width:100%;}
}
@media screen and (max-width: 768px){
.point h2 img{width:100%;}
.pointFlame {flex-direction: column;}
.pointChild01 {width:100%;margin:10px 0;}
.pointChild01 img {width:100%;}
.pointH4 { padding-bottom: 8px; font-size: 1.2em;}
.pointP {font-size: 0.9em; margin:10px 0 0; line-height: 1.6em;}	
.pointChild02 {width:100%;margin:10px 0;}
.pointChild02 img {width:100%;}
.pointWrapG {padding:30px 10px;}
.pointChild03 {width:30%; padding: 20px 10px;margin:2%;}
.pointH5 {font-size: 0.8em; line-height: 1.4em; }
.pointChild03Img {width:60%; margin: 20px auto 0;}
.point03Copy {font-size: 1.1em;}
}

/*-----------------------------------------
  step
-----------------------------------------*/
.stepBefore {font-size: 2.5em; text-align: center; line-height: 1.4em; margin:40px 0 20px;}
.step {width:100%; background: linear-gradient(180deg, #fccba2 0%, #fcbcb4 100%); }
.step h2 { width:100%; text-align: center; position: relative;}
.step_wrap {width:100%; margin:50px auto 40px; display: flex; justify-content: center;flex-wrap: wrap;}
.stepbox {width:17%; text-align: center; margin:0 1%; background-color: #fff;}
.stepnum { width:80px;height:80px; margin: -40px auto 20px; font-size: 0.9em; font-weight: bold;background-color: #ed9a48; border-radius: 60px; color: #fff; padding:15px 5px; line-height: 1.5em;}
.stepnum b {font-size: 1.5em;}
.stepbox img {width:100%; max-width: 190px;}

@media screen and (max-width: 768px){
.stepBefore {font-size: 1.5em;}
.step h2 img{width:100%;}
.step_wrap {width:100%; margin:40px auto 20px; }
.stepbox {width:40%;margin:0 2% 30px;font-size: 0.9em;}
.stepnum { width:60px;height:60px; margin: -20px auto 10px; font-size: 0.9em; line-height: 1.4em; padding:15px 5px;}

}
.m30 {margin:60px 0;}
/*-----------------------------------------
  voice
-----------------------------------------*/
.voice {width:100%; background: #dcedf6;  }
.voiceWrap {width:100%; margin:20px auto 20px; background-color: #ffffff; padding: 20px; position: relative;}
.voiceTitle {display: flex; justify-content: center; margin:20px 0;}

.voiceTitle h3 {font-size: 1.3em; font-weight: bold;text-align: center;}
.voiceVoice { width:90%; background: #dcedf6; padding: 30px; margin: 20px auto; position: relative; }
.voiceVoice p {font-size: 0.95em; line-height: 1.9em;text-align: center;}
.voiceVoice p b {background: linear-gradient(transparent 50%, rgba(252, 234, 134, 0.9) 50%);}
.voiceVoice:before{
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-bottom: 15px solid #e0edff;
}
.voiceTable {display: flex; justify-content: center; flex-wrap: wrap;}
.voiceTableChild {margin:20px; width:30%; text-align: center; border: solid 2px #dcedf6; }
.voiceTableChild2 {margin:20px; width:50%; text-align: center; border: solid 2px #dcedf6;}
.voiceTableHead {background:#dcedf6; color: #228099; padding: 4px; font-size: 0.9em;}
.voiceTableTxt {font-weight: bold;padding: 4px;font-size: 0.9em; display: flex; justify-content: center; align-items: center; height: 63%;}
.voiceTableTxt1 {height: 50%;}
.voiceTbleTxtFlex {display: flex; justify-content: center; align-items: center;}
.voiceTbleTxtFlex p {margin: 0 10px; line-height: 1.6em;}
.voiceTableTxt .pro:before {
	content: "";
  display: inline-block;
  width: 1.4em;
  height: 1.4em;
  background: url("../images/voice_icon04.png") no-repeat;
  background-size: contain;
  margin-right: 0.2em;
}
.voiceTableTxt .douga:before {
	content: "";
  display: inline-block;
  width: 1.9em;
  height: 1.5em;
  background: url("../images/voice_icon05.png") no-repeat;
  background-size: contain;
  margin-right: 0;
}
.voiceTableTxt2 {flex-direction: column; line-height: 1.4em;position: relative; }
.voiceImg {text-align: center;}
.voiceExp {width:80%; display: flex; flex-wrap: wrap; margin: 20px auto;}
.voiceExp dt {width:20%; padding: 15px; border-bottom: solid 1px #c1ddea;}
.voiceExp dt b {padding: 1px 6px; border: solid 1px #228099; color: #228099;}
.voiceExp dd {font-size: 0.9em; width:80%;padding: 10px; border-bottom: solid 1px #c1ddea; margin-top:10px;}
.voiceExp li {list-style: disc; line-height: 1.4em; margin-bottom: 10px;}
.voiceExp .dtlast {border-bottom: none;}
.voiceExp .ddlast {border-bottom: none;}
.voiceExp dd b {background: linear-gradient(transparent 50%, rgba(252, 234, 134, 0.9) 50%);}

@media screen and (max-width: 1080px){
.voiceImg img {width:100%;}
}
@media screen and (max-width: 768px){
	.voiceTitleImg {width:20%;}
	.voiceTitleImg img {width:100%;}
.voiceTitle h3 {font-size: 1.0em; line-height: 1.4em; }
.voiceVoice { padding: 20px; width:100%; }
.voiceVoice p {font-size: 0.8em; line-height: 1.9em;}
.voiceVoice:before{
  content: "";
  position: absolute;
  top: -28px;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-bottom: 15px solid #e0edff;
}
.voiceTable {flex-direction: column;}
.voiceTableChild {margin:10px 0; width:100%; }
.voiceTableChild2 {margin:10px 0; width:100%; }
.voiceTableHead {font-size: 0.8em;}
.voiceTableTxt {font-size: 0.8em; line-height: 1.6em;}
.voiceTbleTxtFlex {display: flex; justify-content: center; align-items: center;}
.voiceTbleTxtFlex p {margin: 0 10px; line-height: 1.6em;}
.voiceExp {width:100%; margin: 20px auto;}
.voiceExp dt {width:100%; padding: 15px 5px 0 0; text-align: center; border-bottom: none;}
.voiceExp dt b {font-size: 0.9em;}
.voiceExp dd {width:100%;font-size: 0.8em; padding: 10px 10px 10px 20px; }
}
@media screen and (max-width: 500px){
	.voiceTitleImg1 {width:30%;}
	.voiceTitle h3 {font-size: 0.9em; }
}
/*-----------------------------------------
  curriculum
-----------------------------------------*/
.curriculum {width:100%; text-align: center;position: relative;background-color: #e7f7f4;}
.Reccomend {width:100%; display: flex; justify-content: flex-end; margin: 30px 0 -20px;}
.ReccomendChild {width:33%;}
.ReccomendChild2 {width:25%;}
.curriWrap { display: flex; justify-content: center;}
/*テーブル*/
.curri_table1 {table-layout:fixed;width:33%; margin: 1.5em 0 3em; background-color: #fff;border: solid 1px #52c2ab; border-spacing:0;}
.curri_table2 {table-layout:fixed;width:66%; margin: 1.5em 0 3em; background-color: #fff;border: solid 5px #20a1ca; border-spacing:0;}
.curriculum_title01{ background-color: #52c2ab;height:100px; }
.curriculum_title02{ background-color: #20a1ca;height:96px; }
.curriculum_title03{ background-color: #228099;height:96px; }
.curriculum_title01 img,.curriculum_title02 img,.curriculum_title03 img {width:100%;}
.curri_table1 td,.curri_table2 td{ padding: 10px 0; line-height: 1.5; border-bottom: solid 1px #5e5e5e;}

.curristyletd1, .curristyletd2 {height: 100px;}
.curristyle2 img {width:450px;}
.curriculum1,.curriculum2 {border-bottom: none!important;}
.curriculum3 {border-left:solid 1px #5e5e5e; border-bottom: none!important;}
.curriculum1 h4 { color: #52c2ab; font-weight: bold; margin: 20px 0; text-align: center;}
.curriculum2 h4 { color: #20a1ca; font-weight: bold; margin: 20px 0; text-align: center;}
.curriculum3 h4 { color: #228099; font-weight: bold; margin: 20px 0; text-align: center;}
.curriculum1 ul,.curriculum2 ul,.curriculum3 ul {text-align: left; width:90%; margin:0 auto;}
.curriculum1 li {background: url("../images/curriculum_check01.png") no-repeat top left; padding-left: 28px; line-height: 1.4em; margin-bottom: 10px; font-size: 0.9em;}
.curriculum2 li {background: url("../images/curriculum_check02.png") no-repeat top left; padding-left: 28px; line-height: 1.4em; margin-bottom: 10px; font-size: 0.9em;}
.curriculum3 li {background: url("../images/curriculum_check03.png") no-repeat top left; padding-left: 28px; line-height: 1.4em; margin-bottom: 10px; font-size: 0.9em;}
.curriculum1 li b,.curriculum2 li b,.curriculum3 li b{background: linear-gradient(transparent 50%, rgba(254, 255, 163, 0.9) 50%);}
@media screen and (max-width: 1124px){
	.curriAbs {font-size: 0.9em;}
}
@media screen and (max-width: 768px){
.curriculum_title01 {height: 80px;}
.curriculum_title02 {height: 76px;}
.curriculum_title03 {height: 76px;}
.curristyletd1, .curristyletd2 {height: 80px; }
.curri_table2 td {padding: 0;}
.curristyletd2 img {width:100%;}
.curriAbs {font-size: 0.7em;}
.curriculum1 h4,.curriculum2 h4,.curriculum3 h4 {font-size: 0.8em!important;}
.curriculum1 ul,.curriculum2 ul,.curriculum3 ul {width:100%;}
.curriculum1 li,.curriculum2 li,.curriculum3 li {font-size: 0.7em!important;padding-left: 15px; background-size: 15px;}
}
@media screen and (max-width: 430px){
	.curriculum_title01 {height: 50px;}
.curriculum_title02 {height: 46px;}
.curriculum_title03 {height: 46px;}
.curristyletd1, .curristyletd2 {height: 50px; }
	.curriAbs {font-size: 0.6em;}
	.curri_table2 .curriAbs {padding: 10px 0;}
	.curriculum1 li,.curriculum2 li,.curriculum3 li {font-size: 0.6em!important;padding-left: 12px; background-size: 10px;}
}


.curriFlame {width:80%; margin: 30px auto; background: #fff; padding: 20px;box-shadow: 0px 0px 10px 5px rgba(40, 40, 40, .2);}
.curriFlame h3 {font-size: 1.5em; text-align: center; margin: 10px 0 30px 0;}
.curriFlameWrap {display: flex;}
.curriFlameWrapImg {width:30%;}
.curriFlameWrapTxt {width:70%;}
.curriFlameWrapTxt p {font-size: 1.1em; line-height: 1.6em; text-align: left; margin: 20px 0;}
.curriFlameWrapTxt p span {border:solid 1px #228099; padding: 0 2px; font-size: 0.9em; font-weight: bold;}

@media screen and (max-width: 768px){
.curriFlame {width:100%; margin: 10px auto; }
.curriFlame h3 {font-size: 1.2em; margin: 0 0 10px 0;}
.curriFlameWrap {flex-direction: column;}
.curriFlameWrapImg {width:100%;}
.curriFlameWrapImg img {width:40%;}
.curriFlameWrapTxt {width:100%;}
.curriFlameWrapTxt p {font-size: 0.9em; }
}

.curri_table3 {table-layout:fixed;width:100%; margin: 1.5em 0 ; background-color: #fff;border: solid 1px #333; border-spacing:0;}
.curri_table3 th {border-bottom: solid 1px #333; }
.curri_table3 td {padding: 15px; border-bottom: solid 1px #333; border-right: solid 1px #333; line-height: 1.4em;}
.curri_table3 tr:last-child td {border-bottom: none;}
.curri_table3 td:last-child { border-right:none;}
.price {background-color: #ffec6e;}
a img:hover{opacity: 0.7;}

@media screen and (max-width: 768px){
	.curri_table3 td {padding: 10px 2px; font-size: 0.8em;}
}
@media screen and (max-width: 430px){
	.curri_table3 td {padding: 5px 2px; font-size: 0.7em;}
}

.curriFlow {margin: 30px 0; background-color: #52c2ab; padding: 25px;}
.curriFlow h3 {font-size: 1.6em; color: #fff; text-align: center; margin:20px 0;}
.curriFlowCopy { width:60%; background: #228099; color: #fff; text-align: center;margin:10px auto; font-size: 1.5em; padding: 20px;}

@media screen and (max-width: 768px){
.curriFlow h3 {font-size: 1.4em; }
.curriFlowCopy { width:90%; font-size: 0.9em; padding: 10px;}
}

.curriFlowWrap {width:100%; display: flex;margin:20px 0; justify-content: space-between;}
.curriFlowChild{width:15%; position: relative; margin-right: 2%;}

.curriFlowNum {font-size: 1.7em; font-weight: bold;color:#e7f7f4; font-family: Montserrat, sans-serif; text-align: left; margin:10px 0;}
.curriFlowFlame {background:#e7f7f4; padding: 15px; }
.curriFlowFlame:before {
	content: "";
  position: absolute;
  top: 45%;
  left: 100%;
  margin-top: -15px;
  border: 15px solid transparent;
  border-left: 15px solid #e7f7f4;
}
.curriFlowFlame h4 {font-size: 1.3em;}
.curriFlowFlame h4 b {background: linear-gradient(transparent 70%, rgba(255, 205, 32, 0.9) 30%);}
.curriFlowChild p {margin-top:10px;line-height: 1.5em; font-size: 1.0em; font-weight: bold; text-align: left;}
.curriFlowChild p b {background: linear-gradient(transparent 90%, rgba(255, 255, 255, 0.9) 5%);}
.curriFlowChild p span {background-color: #228099;color: #fff; padding: 0 5px; border-radius: 2px; font-size: 0.9em;}
@media screen and (max-width: 1100px){
.curriFlowFlame h4 {font-size: 1.1em;}
.curriFlowChild p {font-size: 0.9em;}
}
@media screen and (max-width: 1000px){
	.curriFlowFlame img{width:60%; margin:0 auto;}
	.curriFlowFlame h4 {font-size: 0.8em; line-height: 1.4em;}
.curriFlowChild p {font-size: 0.7em;}
}
@media screen and (max-width: 768px){
.curriFlowWrap {flex-wrap: wrap; }	
.curriFlowFlame {padding: 5px; }
.curriFlowNum {font-size: 1.4em; margin:10px 0 0;}
.curriFlowChild{width:30%; position: relative; margin-right: 3%;}
.curriFlowFlame h4 {font-size: 1.2em;}
.curriFlowChild p {font-size: 1.1em;}
}
@media screen and (max-width: 570px){
.curriFlowFlame h4 {font-size: 0.9em;}
.curriFlowChild p {font-size: 0.8em;}
.curriFlowFlame:before {
content: "";
  position: absolute;
  top: 90px;
  left: 100%;
  margin-top: -15px;
  border: 15px solid transparent;
  border-left: 15px solid #e7f7f4;
}
}
/*-----------------------------------------
  teacher
-----------------------------------------*/
.teacher {width:100%; background: #faefc5; text-align: center; }
.teacher_wrap {width:100%; margin:20px auto 40px; padding: 30px 40px 30px 50px; background-color: #fff; display: flex; justify-content: space-between; box-shadow: 0px 0px 20px 10px rgba(40, 40, 40, .2); }
.teacher_txt{width:55%;}
.teacher_txt p{font-size: 0.9em;}
.teacher_img {width:40%; text-align: center; padding-top:20px;}
.teacher_img img {max-width: 460px;}
.teacher_img p { width:100%; font-family: 'Kiwi Maru'; line-height: 1.5em;}
.teacher_img p span {font-size: 1.3em;}
.teacher_catch {font-size: 1.5em; line-height: 1.7em; font-weight: bold;background: linear-gradient(90deg, #7be8d7 0%, #29a7dc 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
.teacher_catch span {font-size:1.2em;}
.teacher_wrap p {margin: 20px 0;}
@media screen and (max-width: 1200px){
	.teacher_img img {width:100%;}
}
@media screen and (max-width: 768px){
.teacher h2 img{width:100%;}
.teacher_wrap { padding: 20px 10px; flex-direction: column;}
.teacher_txt{width:100%; flex-direction: column;}
.teacher_txt p{font-size: 0.9em;}
.teacher_img {width:100%; padding-top:5px;}

.teacher_catch {font-size: 1.3em; line-height: 1.5em; }
.teacher_wrap p {margin: 20px 0;}
}


/*-----------------------------------------
  faq
-----------------------------------------*/
.faq {width:100%; padding:80px 0; }

.faqs  {width:100%; background-color: #fff7e2; margin: 0 0 30px;}
.faqs dt{background: url("../images/q.png") 55px 50px no-repeat;padding: 50px 60px 50px 110px;position: relative;font-weight: 600; color: #404040;font-size: 1.4em;}
.faqs dt:hover{	cursor: pointer;}
.faqs dt:before{content:"";width: 30px;height: 30px;background: url("../images/faq_open.png") no-repeat;background-size:cover;position: absolute;right:23px;top:55px;transition:transform 0.15s linear;		}
.faqs dt.open:before{content:"";width: 30px;height: 30px;background: url("../images/faq_close.png") no-repeat;background-size:cover;position: absolute;right:23px;top:55px;transition:transform 0.15s linear; z-index: 10;}

.faqs dd{background: url("../images/a.png") 105px 0 no-repeat;padding: 8px 65px 50px 160px;position: relative;
font-size: 1.0em;display: none;}
.faqs dd a {color:#1cc0e6; text-decoration: underline;}
.faqs .hover{color: #4d5f69;text-decoration: none;}
#dd1 {display: block;}

@media screen and (max-width: 912px){
.faq { padding:50px 0; }
}
@media screen and (max-width: 767px){
.faq h2 img{width:100%;}
.faq {padding:40px 0 0; }
.faqs dt{background: url("../images/q.png") 10px 14px no-repeat; background-size: 4%;padding: 15px 15px 15px 50px;font-size: 0.9em; line-height: 1.4em;}
.faqs dt:before{content:"";width: 15px;height: 15px;position: absolute;right:10px;top:22px;}
.faqs dt.open:before{content:"";width: 15px;height: 15px;position: absolute;right:10px;top:22px; z-index: 10;}
.faqs dd{background: url("../images/a.png") 10px 15px no-repeat;background-size: 4%;padding: 17px 35px 25px 52px;font-size: 0.8em;line-height: 1.4em;}
}

@media screen and (max-width: 539px){
.faqs dt{background: url("../images/q.png") 10px 16px no-repeat; background-size: 6%;padding: 15px 40px 15px 50px;font-size: 0.8em;}
.faqs dd{background: url("../images/a.png") 10px 0 no-repeat;background-size: 6%;padding: 2px 35px 25px 52px;font-size: 0.8em;}
}
@media screen and (max-width: 412px){
.faq h2 {font-size: 1.2em; line-height: 1.4em;}
}
@media screen and (max-width: 375px){
.faqs dt{padding: 15px 35px 15px 45px;font-size: 0.8em;}
.faqs dd{padding: 0 30px 25px 47px;font-size: 0.75em;}
}
@media screen and (max-width: 280px){
.faqs dt{background: url("../images/q.png") 10px 18px no-repeat; background-size: 6%;padding: 15px 35px 15px 35px;line-height: 1.4em;font-size: 0.75em;}
.faqs dt:before{position: absolute;right:8px;top:18px;}
.faqs dt.open:before{position: absolute;right:8px;top:18px;}
.faqs dd{padding: 0 30px 25px 37px;line-height: 1.5em;}
}



/*-----------------------------------------
  message
-----------------------------------------*/
.message {width:100%;  text-align: center;background: url("../images/message_bg.jpg") no-repeat center center ; background-size: cover; padding-bottom: 0;}
.message_wrap {width:100%; margin:20px auto -20px; text-align: center; background: url("../images/message_bg.png") no-repeat right bottom; background-size: 30%;padding-bottom:3em;}
.message_wrap p{font-size: 1.1em; line-height: 1.9em;}
.white{font-weight: bold; background: linear-gradient(transparent 50%, rgba(255, 255, 255, 0.9) 50%);}
@media screen and (max-width: 768px){
.message {width:100%; }
.message_wrap { font-size: 0.9em; padding-bottom: 0; background:none;margin:20px auto -10px;}
	.message_wrap img {width:50%;}
}

/* フェードイン用のCSS */
.animation {
   opacity: 0;
   transform: translateY(20px);
   transition: all 1.3s 0s ease-out;
 }

