@charset "utf-8";
/* CSS Document */

/*----------------------------------------------------------------------------
 ***                                                              contentsArea
----------------------------------------------------------------------------*/

.pageMenu{ max-width: 880px; margin: 30px auto 40px; }
.pageMenu ul li{ border-left:1px solid #888888; width: calc( 100% / 4 );}
.pageMenu ul li:last-child{ border-right:1px solid #888888;}
.pageMenu ul li a{ text-decoration: none; text-align: center; font-size: 112.5%; position: relative; display: block;}
.pageMenu ul li a:hover { opacity: 0.7;}
.pageMenu ul li:nth-child(1) a{ color: #80a143;}
.pageMenu ul li:nth-child(2) a{ color: #4d94b3;}
.pageMenu ul li:nth-child(3) a{ color: #d76969;}
.pageMenu ul li:nth-child(4) a{ color: #d07686;}
.pageMenu ul li:hover a::after{
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 9px 0 9px;
  border-color: #ccd8b4 transparent transparent transparent;
  position: absolute;
  bottom: -1em;
  left: 0;
  right: 0;
  margin: 0 auto;
  transition:all 0.3s ease;
  
}
.pageMenu ul li:nth-child(2):hover a::after{
  border-style: solid;
  border-width: 10px 9px 0 9px;
  border-color: #b8d5e3 transparent transparent transparent;
  }
.pageMenu ul li:nth-child(3):hover a::after{ 
  border-style: solid;
  border-width: 10px 9px 0 9px;
  border-color: #efc2c4 transparent transparent transparent;
  }
.pageMenu ul li:nth-child(4):hover a::after{ 
  border-style: solid;
  border-width: 10px 9px 0 9px;
  border-color: #ebc8ce transparent transparent transparent;
  }



#topSec {
  height: 305px;
  max-width: 1900px;
  /*background: url(../feature/images/img_main.jpg) no-repeat;*/
  margin: 0 auto;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}

#topSec #topSliderBox{max-width: 1900px;}
#topSec #titleBox {}
#topSec #titleBox h2 img{position: absolute;top: 14%;right: 50%;transform: translateX(50%);}
#topSec #titleBox .pagelinkBox {
  display: flex;
  margin: 50px auto 0;
}
#topSec #titleBox .pagelinkBox li {
  width: 208px;
}
#topSec #titleBox .pagelinkBox li:first-child a {
  background: #86bc43;
  margin-right: 1em;
}
#topSec #titleBox .pagelinkBox li:last-child a {
  background: #eb76a1;
}
#topSec #titleBox .pagelinkBox a {
  display: block;
  border: 1px solid #fff;
  box-shadow: 3px 3px 5px rgba(100, 100, 100, 0.7);
  font-size: 115%;
  padding: 0.2em 0;
  text-decoration: none;
}
#topSec #titleBox .pagelinkBox a:hover {
  opacity: 0.7;
}

.sectionInner {
  max-width: 880px;
  margin: 0 auto;
}

#kyoikuSec {
  margin: 60px auto 80px;
}
#kyoikuSec .sectionInner {
}
#kyoikuSec h3 {
  font-size: 250%;
  line-height: 1em;
}
#kyoikuSec p {
  font-size: 112.5%;
  margin-top: 0.5em;
}

#kyoikuSec #programList {
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 40px 0;
}

#kyoikuSec .programListBox {
  width: calc(100% / 3);
  padding-right: 1em;
  margin-bottom: 2em;
}
#kyoikuSec .programListBox dl {
}
#kyoikuSec .programListBox dt {
  margin-bottom: 0.5em;
}
#kyoikuSec .programListBox dt p {
  font-size: 115%;
  line-height: 1.4em;
}
#kyoikuSec .programListBox dt ul {
  float: right;
  margin: 1.9em 2em 0 0;
}
#kyoikuSec .programListBox dt li {
  float: left;
  font-size: 81.25%;
  color: #fff;
  font-weight: normal;
  background-color: #e8373d;
}
#kyoikuSec .programListBox dt ul.oneDay li {
  padding: 0 1.2em 0.1em;
  border-radius: 20px;
}
#kyoikuSec .programListBox dt ul.twoDays li {
  padding: 0 0.4em 0.1em;
  margin-left: 0.3em;
  border-radius: 50%;
}
#kyoikuSec .programListBox dd {
}
#kyoikuSec .programListImg {
  margin-bottom: 1em;
}
#kyoikuSec .programListText {
  font-size: 75%;
  width: calc(100% - 2em);
}
#kyoikuSec .programListText img {
  display: block;
  margin-bottom: 10px;
}

#kyoikuSec #programInfoBox {
  padding: 50px 60px;
  margin-bottom: 60px;
  background: #feffeb;
}
#kyoikuSec #programInfoBox dt {
  font-size: 125%;
  line-height: 1.5em;
  margin-bottom: 0.3em;
  text-align: left;
}
#kyoikuSec #programInfoBox dd.txtArea {
  max-width: 490px;
  font-size: 90%;
}
#kyoikuSec #programInfoBox dd span {
  font-weight: bold;
  background: #f1ecb9;
}

#engProgram{ border: 10px solid #fff0e6; position: relative; padding: 70px 90px 60px; margin: 60px 0;}
#engProgram h4::before{
  content: "";
  background: url(../feature/images/img_pr_contents01.png) no-repeat;
  width: 67px;
  height: 80px;
  background-size: contain;
  position: absolute;
  left: 0;
  top:0;
  }
  #engProgram h4::after{
  content: "";
  background: url(../feature/images/img_pr_contents01.png) no-repeat;
  width: 67px;
  height: 80px;
  background-size: contain;
  position: absolute;
  right: -0;
  top:0;
  transform:scale(-1, 1);
  }
#engProgram h4{ position: absolute; top: -2em; color: #333; font-size: 162.5%; left: 0; right: 0; margin: 0 auto; max-width: 600px; background: #FFF;}
#engProgram h4 .subTxt{ color: #5e3b1c; font-size: 73%; margin-bottom: -0.3em; font-weight: normal; display: block;}
#engProgram h4 .underline{ background:url(../images/img_line01.png) repeat-x; background-position:bottom; padding:0 0.5em 0.4em; }
#engProgram h4 strong{ color: #e88e26; font-size: 115%;}

#engProgram .pointBox{ margin: 0 2em 40px;}
#engProgram .pointBox > p{ margin: 0;}
#engProgram .pointBox ul li::before{
  content: "";
  background: url(../feature/images/img_pr_ico01.jpg) no-repeat;
  width: 1.5em;
  height: 1em;
  background-size: contain;
  padding-top: 0.2em;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.5em;
}
#engProgram .pointBox ul li{ font-size: 106.25%; line-height: 2em; } 
#engProgram .pointBox ul li span{ font-size: 123.5%; font-weight: bold; color: #e88e26;}
#engProgram table{ margin: 0 auto;}
#engProgram table th{ color: #FFF; font-size: 131.25%;}
#engProgram table th span{ font-size: 86%;}
#engProgram table th:nth-child(1){ background:#333; font-size: 112.5%;}
#engProgram table th:nth-child(2){ background:#509944; width: 260px;}
#engProgram table th:nth-child(3){ background:#e88e26; width: 320px;}
#engProgram table td{ font-weight: bold; text-align: center; vertical-align: middle;}
#engProgram table td span{ display: block; font-size: 14px; color: #000; font-weight: normal;}
#engProgram table td:nth-child(1){ color: #333; font-size: 87.5%; line-height: 2.3em; border-right:none ;}
#engProgram table td:nth-child(2){ font-size: 112.5%; padding: 10px 30px; line-height: 1.4em; border-right: 2px dotted #808080; border-left: 2px dotted #808080;}
#engProgram table td:nth-child(3){ color: #e88e26; font-size: 125%;  padding: 10px 30px; line-height: 1.4em; border-left:none ;}

#engProgram table tr:last-child td:nth-child(2){ font-weight: normal; font-size: 100%;}
#engProgram table tr:last-child td:nth-child(3){ font-size: 112.5%; }
#engProgram table tr:last-child td:nth-child(3) .smallTxt{ display: inline-block; font-size: 88.889%; color: #e88e26; font-weight: bold;}
#engProgram table tr:last-child td:nth-child(3) .plusTxt{ background: #f9f8e8; border-radius: 5px; color:#e21b1b; font-size: 88.889%; padding: 0.4em 0; position: relative; margin-top: 1.5em;}
#engProgram table tr:last-child td:nth-child(3) .plusTxt::before{
  content: "";
  background: url(../feature/images/img_pr_contents03.png) no-repeat;
  width: 1.9em;
  height: 1.9em;
  background-size: contain;
  position: absolute;
  left: 0;
  right: 0;
  top: -1.5em;
  margin: 0 auto;
}
#engProgram p.smallTxt{ font-size: 75%; text-align: right; margin: 0.2em 0 0;}
#engProgram .programBox{ margin: 30px 0 0;}
#engProgram .programBox .TxtArea{ max-width: 390px;}
#engProgram .programBox h5::before{
  content: "";
  background: url(../feature/images/img_pr_contents04.jpg) no-repeat;
  width: 70px;
  height: 70px;
  background-size: contain;
  position: absolute;
  top: 0.2em;
  left: 0;
}
#engProgram .programBox h5{ font-size: 187.5%; color: #e88e26; text-align: left; padding-left: 2.3em; position: relative; line-height: 1.2em; margin-bottom: 0.5em;}
#engProgram .programBox h5 span{ color: #5e3b1c; font-size: 70%; display: block; margin-left: 0.3em; font-weight: normal;}
#engProgram .programBox p{ font-size: 87.5%; line-height: 1.8em;}
#engProgram .programBox p span{ color: #e88e26;}

hr {
max-width: 1200px;
background: url(../feature/images/img_line02.png) repeat-x;
border: none;
height: 86px;
background-size: contain;
margin: 5em auto 3em;
}

#seikatsuSec{} 
#seikatsuSec h3{ color: #5299ca; font-size: 250%;}
#seikatsuSec > p{ font-size: 112.5%; margin-top: 0.5em;}
#seikatsuSec .sectionInner{ margin: 60px auto;}
#seikatsuSec h4{ color: #36518d; font-size: 175%; text-align: center; }
#seikatsuSec h4::before{
  content: "";
  background: url(../feature/images/img_fr_ico01.jpg) no-repeat;
  display: inline-block;
  width: 1.4em;
  height: 0.7em;
  background-size: contain;
  margin-right: 1em;
  vertical-align: middle;
}
#seikatsuSec h4::after{
  content: "";
  background: url(../feature/images/img_fr_ico01.jpg) no-repeat;
  display: inline-block;
  width: 1.4em;
  height: 0.7em;
  background-size: contain;
  margin-left: 1em;
  vertical-align: middle;
  transform:scale(-1, 1);
}
#seikatsuSec #onedayBox{ background: #fcfae4; border-radius: 15px; position: relative; padding: 50px 0; margin: 50px auto 0;}
#seikatsuSec #onedayBox > p:first-child{ background: #36518d; border-radius: 100vh; text-align: center; color: #FFF; font-size: 112.5%; max-width: 300px; position: absolute; top: -1em; left: 0; right: 0; margin: 0 auto; padding: 0.3em 0 0.5em;}
#seikatsuSec #onedayBox .readTxt{ font-size: 87.5%; max-width: 740px; border-bottom:1px dashed #7a7a7a; padding: 20px 0 30px; margin: 0 auto 30px;}
#seikatsuSec #onedayBox .engTeacher{ max-width: 270px; margin: 0 auto;}
#seikatsuSec #onedayBox .engTeacher dl{ max-width: 170px; }
#seikatsuSec #onedayBox .engTeacher dt{ 
  color: #629e5a;
  font-size: 137.5%;
  border-bottom: 2px solid #629e5a;
  padding-bottom: 0.1em;
}
#seikatsuSec #onedayBox .engTeacher dd{ font-size: 112.5%; line-height: 1.4em; margin-top: 0.3em;}
#seikatsuSec #onedayBox .engTeacher dd span{ display: block; font-size: 77.8%;}
#seikatsuSec #onedayBox .engTeacher dd span::before{
  content: "";
  background: url(../feature/images/img_fr_ico02.jpg) no-repeat;
  width: 1.7em;
  height: 1.2em;
  background-size: contain;
  margin-right: 0.3em;
  vertical-align: middle;
  display: inline-block;
}


#seikatsuSec #lessonBox h4{ color: #7f633b; margin: 0 0 50px;}
#seikatsuSec #eventBox h4{ color: #408c4b; margin:0 0 20px;}
#seikatsuSec .movieList{ margin: 40px 0;}
#seikatsuSec .movieList h5{ background: #ffebf0; color: #e2406e; width: 7em; border-radius: 100vh; margin: 0 auto 1.5em; text-align: center; font-size: 137.5%; padding: 0.1em 0 0.3em;}
#seikatsuSec .movieList:last-child h5{ background: #e6f9dc; color: #6fb524;}
#seikatsuSec .movieList ul{ margin: 1em 0 0;}
/* #seikatsuSec .movieList:last-child ul{ max-width: 656px; margin: 1em auto 0;} */
#seikatsuSec .movieList ul li:hover{ opacity: 0.7;}

#seikatsuSec #eventBox p{ font-size: 87.5%;}
#seikatsuSec #eventBox .eventPhoto{ position: relative; margin-top: 30px;}
#seikatsuSec #eventBox .eventPhoto dt{ font-size: 112.5%; color: #75432a; text-align: center; margin-left: -1.5em;}
#seikatsuSec #eventBox .eventPhoto dt.monthEvent::before{
  content: "毎月";
  background: url(../feature/images/img_fr_ico03.png) no-repeat;
  display: inline-block;
  width: 3.2em;
  height: 3.2em;
  background-size: contain;
  margin-right: 0.3em;
  vertical-align: middle;
  color: #FFF;
  font-size: 75%;
  text-align: center;
  line-height: 3.2em;
}

#seikatsuSec #eventBox .eventPhoto dt.yearEvent::before{
  content: "毎年";
  background: url(../feature/images/img_fr_ico04.png) no-repeat;
  display: inline-block;
  width: 3.2em;
  height: 3.2em;
  background-size: contain;
  margin-right: 0.3em;
  vertical-align: middle;
  color: #FFF;
  font-size: 75%;
  text-align: center;
  line-height: 3.2em;
}
#seikatsuSec #eventBox .eventPhoto dd{ margin-top: 1em;}
#seikatsuSec #eventBox .eventPhoto .abImg{ position: absolute; right: -50px; bottom: -35px;}

/* 保護者様の声 */
#voiceSec{}
#voiceSec h3{ color: #c74c4c; margin-bottom: 40px; font-size: 250%;}
#voiceSec > p{ font-size: 112.5%; margin: 0;}
#voiceCBlock:nth-child(2n-1){}
#voiceSec .ImageBox{}
#voiceSec .comentBox{}
.voiceCBlock{ margin: 30px 0;}
.voiceCBlock .comentBox{ font-size: 81.25%; background: #fcf1ec; position: relative; max-width: 680px; padding: 30px; color:#544a43; border-radius: 15px;}
.voiceCBlock .comentBox::before{
  content: "";
  position: absolute;
  background: url(../feature/images/img_voice_contents01.png) no-repeat;
  display: inline-block;
  width: 3.2em;
  height: 3.2em;
  background-size: contain;
  top: 50%;
  left: -25px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  }
.voiceCBlock:nth-child(2n) .comentBox::before{
  content: "";
  background: url(../feature/images/img_voice_contents02.png) no-repeat;
  }
.voiceCBlock .comentBox strong{ display: block; text-align: right; font-size: 107.692%; color: #e1824c;}
.voiceCBlock .comentBox strong span{ font-size: 85.714%; margin-right: 0.3em;}
.voiceCBlock .ImageBox p{ text-align: center; }
.voiceCBlock .ImageBox .vName{ font-size: 125%; margin: 0; color: #e1824c;}
.voiceCBlock .ImageBox .vName span{ font-size: 65%;}
.voiceCBlock .ImageBox .vClass{ margin: 1em auto 0; font-size: 81.25%; padding: 0.2em 0; width: 10em; background: #e1824c; border-radius: 100vh; color: #FFF;}
.voiceCBlock:nth-child(2n) .vClass{ background: #d17474; border-radius: 100vh; color: #FFF;}
.voiceCBlock:nth-child(2n) .vName{ color: #d17474;}
.voiceCBlock:nth-child(2n) .comentBox{ background: #faeaec; }
.voiceCBlock:nth-child(2n) .comentBox strong{ color: #d17474;}
.voiceCBlock:last-child{ margin-bottom:60px;}

#keitaiSec { margin: 60px auto 80px;}
#keitaiSec .sectionInner {}
#keitaiSec h3 { font-size: 250%; line-height: 1em;}
#keitaiSec p { font-size: 112.5%; margin-top: 0.5em;}

#keitaiSec .pagelinkBox { display: flex; justify-content: center; margin: 40px auto;}
#keitaiSec .pagelinkBox li { width: 208px;}
#keitaiSec .pagelinkBox li:first-child { margin-right: 1em;}
#keitaiSec .pagelinkBox a { display: block; text-decoration: none; font-size: 115%; padding: 0.2em 0;}
#keitaiSec .pagelinkBox .txtColor_syokibo { border: 1px solid #f77957;}
#keitaiSec .pagelinkBox li:hover .txtColor_syokibo { background: #f77957; color: #fff !important;}
#keitaiSec .pagelinkBox .txtColor_Kigyo { border: 1px solid #52b2cc;}
#keitaiSec .pagelinkBox li:hover .txtColor_Kigyo { background: #52b2cc; color: #fff !important;}

#syokiboBox { padding: 30px 40px; border-radius: 30px;}
#syokiboBox h4 { font-size: 190%; margin-bottom: 0.5em;}
#syokiboBox h4:before {
  content: "";
  background: url(../feature/images/img_ico02.png) no-repeat;
  width: 30px;
  height: 30px;
  background-size: contain;
  padding-top: 0.2em;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.2em;
}
#syokiboBox .txtArea { max-width: 760px; margin: 0 auto; background: url(../feature/images/img_contents02.png) no-repeat; background-size: 100%;}
#syokiboBox .txtArea p { font-size: 85%; margin-bottom: 2em;}
#syokiboBox .txtArea .photoBox { text-align: center;}
#syokiboBox .txtArea .photoBox img { margin: 0 15px;}

#kigyoBox { padding: 30px 40px 40px; border-radius: 30px; margin-top: 20px;}
#kigyoBox h4 { font-size: 190%; margin-bottom: 0.5em;}
#kigyoBox h4:before {
  content: "";
  background: url(../feature/images/img_ico01.png) no-repeat;
  width: 30px;
  height: 30px;
  background-size: contain;
  padding-top: 0.2em;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.2em;
}
#kigyoBox .txtArea { max-width: 760px; margin: 0 auto;}

#kigyoBox .txtArea p { font-size: 85%;}
#kigyoBox .txtArea .txtP { margin-bottom: 2em;}

#comLinkIntro {
  font-size: 100% !important;
  font-weight: bold;
  line-height: 1.3em;
  position: absolute;
  left: 0.2em;
}
#comLinkIntro .txtBtnLink {
  padding: 0.4em 2em 0.5em;
  border-radius: 5px;
  position: relative;
  transition: all 0.3s ease;
}
#comLinkIntro .txtBtnLink::after {
  content: "";
  border-left: 0.8em solid transparent;
  border-top: 0.4em solid transparent;
  border-bottom: 0.4em solid transparent;
  position: absolute;
  right: -0.7em;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s ease;
}
#comLinkIntro .txtBtnLink:hover { box-shadow: 3px 3px 5px rgba(100, 100, 100, 0.7);}

#comLinkIntro .txtBtnLink:hover::after { border-left: 0.8em solid #fff; right: 0.7em;}

#keitaiSec #kigyoBox {}
#introPoint { position: relative; margin-bottom: 5em;}

#introPointBox_1 { position: absolute; bottom: 0em; left: 5em;}
#introPointBox_2 { position: absolute; bottom: 0em; right: 5.5em;}
#posiAbu_Intro01 { position: absolute; bottom: 3em; left: 17.2em;}
#posiAbu_Intro02 { position: absolute; bottom: 3em; right: 17.2em;}

.introPointList { margin-top: 2em; justify-content: space-between;}
.introListCover { padding: 1em; border: 1px solid #b3b3b3; background: #fff;}
.introListCover h5 { font-size: 137.5%; padding: 0.1em 0 0.2em 1.5em; margin-bottom: 0.5em; background: url(../feature/images/img_ico03.jpg) left top no-repeat; background-size: auto 1.3em;}
.introListCover p { margin-bottom: 1em; font-size: 80% !important;}

.introListCover dl { align-items: center;}
.introListCover dt { font-size: 80%; padding-left: 1.2em; margin-right: 0.2em; position: relative;}
.introListCover dt::before {
  content: "";
  width: 0.8em;
  height: 0.8em;
  background-color: #ed1e79;
  position: absolute;
  left: 0;
  top: 0.5em;
}
.introListCover dd { font-size: 75%; font-weight: normal;}
.introListCover ul {}
.introListCover li { font-size: 93.75%; font-weight: bold;}
.introListCover li:first-of-type { line-height: 1.4em;}
.introListCover li span { font-weight: normal;}
.introListCover .txtBtn { padding-left: 0.5em;}
.introListCover .txtBtnLink { display: inline-block; width: auto; line-height: 1em; padding: 0.1em 1em 0.2em;}

.introPointList01 { width: 46%;}
.introPointList02 { width: 52%; position: relative;}
#posiAbu_Baby { position: absolute; right: -3em; bottom: -2.8em;}
#posiAbu_Fukidashi { position: absolute; right: -6em; bottom: -0.3em; background: #52b2cc; border-radius:100vh; width: 150px; height: 150px;}
#posiAbu_Fukidashi::after{
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -15px;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 20px 6px 0;
  border-color: transparent #52b1cc transparent transparent;
}
#posiAbu_Fukidashi p { text-align:center; color: #FFF; margin: 0 0 -15px 0;}
#posiAbu_Fukidashi p span{ font-weight:bold;}
#posiAbu_Fukidashi p .kakomi{
  background: #FFF;
  padding: 0.1em 0.3em;
  color: #ff7f00;
  line-height: 1.6em;
  width: 8em;
  display: inline-block;
  margin: 0.3em 0 0 0;
}
#posiAbu_Fukidashi p .txtColor_Yellow{ color: #ffe100; font-size: 16px;}


#keitaiSec .detailBtn { margin: 105px auto 50px;}
#keitaiSec .detailBtn span:before {
  content: "";
  background: url(../feature/images/img_contents06.png) no-repeat;
  width: 238px;
  height: 50px;
  background-size: 238px;
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: -35px;
  margin: 0 auto;
}
#keitaiSec .detailBtn span { max-width: 352px; display: block; margin: 0 auto; position: relative;}
#keitaiSec .detailBtn a:hover { opacity: 0.7;}

/* faqボタン */
.faqBtn{ margin: 4em auto -1em;}
.faqBtn a{ 
	display: block;
	max-width: 480px;
	border-radius: 100vh;
	border: 1px solid #83b943;
	background:#f6ffe6; 
	margin:0 auto;
	padding: 0.5em 0 0.3em;
	text-decoration: none;
	position: relative;
  z-index: 0;
}
.faqBtn a:hover{ opacity: 0.7;}
.faqBtn a::after{
	content: "";
	position: absolute;
	width: 7px;
	height: 7px;
	border-top: solid 1px #89c33f;
	border-right: solid 1px #89c33f;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	    transform: rotate(45deg);
	top: 50%;
	right: 2em;
	margin-top: -3px;
}
.faqBtn a span{ color: #efc307; font-weight: bold; font-size: 112.5%; }
.faqBtn a span strong{ color: #89c33f; font-size: 122.222%; display: block;}
.faqBtn a span::before{
	content: "";
	background: url(../schools/images/icon_faq.png) no-repeat;
	width: 2.6em;
	height: 2.3em;
	background-size: contain;
  position: absolute;
  left: 3.5em;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  z-index: -1;
}

/* お問い合わせボタン */
.formLinkBox {margin-top: 60px;}
.formLinkTitle { font-size: 156.25%; font-weight: bold; line-height: 1.4em; margin-bottom: 0.4em;}
.formLinkComment { margin-bottom: 0.5em;}
.formLinkBox .txtBtn { max-width: 484px; margin: 0 auto; position: relative;}
.formLinkBox .txtBtn::after {
  content: "";
  width: 0.8em;
  height: 0.8em;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  position: absolute;
  right: -1em;
  top: 50%;
  transform: scale(1, 0.7) translateY(-70%) rotate(-45deg);
  transition: all 0.3s ease;
}
.formLinkBox .txtBtn:hover::after { right: 4em;}

.formLinkBox .txtBtnLink { font-size: 168.75%; font-weight: bold; border-radius: 50px; transition: all 0.3s ease;}
.formLinkBox .txtBtnLink:hover { box-shadow: 3px 3px 5px rgba(100, 100, 100, 0.7);}

#seikatsuSec .formLinkBox .txtBtn a{ background: #5297c8;}
#voiceSec .formLinkBox .txtBtn a{ background: #c54c4c;}
#voiceSec .formLinkBox { margin-top: 60px;}

/* お問い合わせセクション */
#formLinkSec { margin: 60px auto 80px;}
#formLinkSec .sectionInner { border-bottom: none;}
#formLinkSec h3 { font-size: 250%; margin-bottom: 0.5em; line-height: 1.1em;}
#formLinkSec .h3Text {}
#formLinkList { justify-content: center; margin-top: 50px;}
#formLinkList li { width: 40%; margin: 0 1em;}
#formLinkList .txtBtnLink { border-radius: 5px; padding: 0.5em 0 0.7em; transition: all 0.3s ease;}
#formLinkList .txtBtnLink span { color: #fff;}
#formLinkList .txtBtnLink:hover { box-shadow: 3px 3px 5px rgba(100, 100, 100, 0.7);}


/*----------------------------------------------------------------------------
 ***                                                          contentsArea(SP)
----------------------------------------------------------------------------*/


/* 640px以下*/
@media screen and (max-width: 640px) {
  body { font-size: 90%;}
  .pageMenu{ margin: 5% auto; width: 95%;}
  .pageMenu ul li{ margin: 1%; width: calc( 96% / 2 );}
  .pageMenu ul li a{}
  .pageMenu ul li:first-child,
  .pageMenu ul li:nth-child(3){ border: none;}
  .pageMenu ul li:last-child{ border-right: none;}
  .pageMenu ul li:hover a::after{ display: none;}
  #topSec {
    background-position: top;
    background-size: cover;
    position: relative;
    height: 260px;
    padding: 4em 0 0;
    margin-bottom: 5em;
    display: block;
  }
  #topSec #topSliderBox{background-position: top;background-size: cover;position: relative;max-width: 500px;}
  #topSec #titleBox h2 img { width: 9em; margin: 0 auto 0.2em;top: 46%;}
  #topSec #titleBox h2 span { font-size: 120%;}
  #topSec #titleBox .pagelinkBox { margin: 2em 0 0;}
  #topSec #titleBox .pagelinkBox li a { font-size: 100%;}
  .sectionInner {}

  #kyoikuSec { margin: 8% auto; width: 90%;}
  #kyoikuSec .sectionInner {}

  #kyoikuSec #programIntroBox { margin-bottom: 5em;}
  #kyoikuSec #programIntroBoxInner {}
  #kyoikuSec #programIntroBox h4 { margin-bottom: 1em;}
  #kyoikuSec #programList { flex-wrap: wrap; justify-content: space-between; margin: 5% 0;}

  #kyoikuSec .programListBox { margin-bottom: 2em; width: 100%;}
  #kyoikuSec .programListBox:last-child { margin-bottom: 0;}
  #kyoikuSec .programListBox dl {}
  #kyoikuSec .programListBox dt { margin-bottom: 0.5em; display: inline-block; margin-top: 1.5em;}
  #kyoikuSec .programListBox dt p { float: left; font-size: 137.5%; line-height: 1.4em;}
  #kyoikuSec .programListBox dt p img { width: 80%;}
  #kyoikuSec .programListBox dt ul { float: right; margin: 1.7em 1em 0 0;}
  #kyoikuSec .programListBox dt li { float: left; color: #fff; font-weight: normal; background-color: #e8373d;}
  #kyoikuSec .programListBox dt ul.oneDay li { padding: 0 1.2em 0.1em; border-radius: 20px;}
  #kyoikuSec .programListBox dt ul.twoDays li { padding: 0 0.4em 0.1em; margin-left: 0.3em; border-radius: 50%;}
  #kyoikuSec .programListBox dd {}  
  #kyoikuSec .programListImg { float: right; width: 40%; margin: 0.3em 0 0.5em 0.5em;}
  #kyoikuSec .programListText { width: calc(100% - 1em);}
  #kyoikuSec #programInfoBox { padding: 5%;}
  #kyoikuSec #programInfoBox dt { margin-bottom: 3%;}
  #kyoikuSec #programInfoBox dd { text-align: center;}
  #kyoikuSec #programInfoBox dd.txtArea { text-align: left;}

  #engProgram{ padding: 8% 5% 5%; border:7px solid #fff0e6; margin: 30% 0 5%;}
  #engProgram .pointBox{ margin: 0;}
  #engProgram h4{ top: -9%; width: 90%;}
  #engProgram h4 .subTxt{ font-size: 64%; line-height: 1.6em;}
  #engProgram h4 .underline{ font-size: 75%; padding:0 0 0.4em;}
  #engProgram h4::before{ width: 1.3em; height: 1.5em; left: -1em; bottom:0; top: auto;}
  #engProgram h4::after{ width: 1.3em; height: 1.5em; right: -1em; bottom:0; top: auto;}
  #engProgram .pointBox > p{ display: none;}
  #engProgram .pointBox ul{ margin-top: 3%;}
  #engProgram .pointBox ul li{ text-indent: -1.7em; padding-left: 1.7em; line-height: 1.6em;}
  #engProgram .pointBox ul li span{ font-size: 110%;}
  #engProgram .tableBox{ margin: 5% 0 0;}
  #engProgram .tableBox div{ overflow-x: scroll;}
  #engProgram table { width: 420px;}
  #engProgram table th, table td{ padding: 3% !important;}
  #engProgram table th{ font-size: 100%;}
  #engProgram table th:nth-child(1){ font-size: 100%;}
  #engProgram table td:nth-child(2){ font-size: 110%;}
  #engProgram table th:nth-child(2) span{ display: block;}
  #engProgram table td:nth-child(3){ font-size: 120%;}
  #engProgram table th:nth-child(2),
  #engProgram table th:nth-child(3){ width: 40%;}
  #engProgram table td span{ font-size: 75%;}
  #engProgram table tr:last-child td:nth-child(3) .plusTxt::before{ width: 1em; height: 1em; top: -0.5em;}
  #engProgram table tr:last-child td:nth-child(3) .plusTxt{ margin-top:0.8em;}
  #engProgram .programBox{ margin-top: 5%; display: block;}
  #engProgram .programBox h5{ font-size: 170%;}
  #engProgram .programBox h5::before{ width: 2em; height: 2em;}
  #engProgram .programBox h5 span{ font-size: 60%;}
  #engProgram .programBox > p{ width: 70%; margin: 1em auto 0;} 

  hr{ 
    height: 25px;
    background-size: cover;
    background-position: center;
    margin: 12% auto;
  }

  #seikatsuSec{ width: 90%; margin: 8% auto;}
  #seikatsuSec .sectionInner{ margin: 5% 0 13%;}
  #seikatsuSec #onedayBox{ padding: 10% 5% 8%; margin: 13% 0 5%;}
  #seikatsuSec #onedayBox .readTxt{ padding: 1em 0; margin: 0 auto 1.5em;}
  #seikatsuSec #lessonBox h4{ margin: 0 0 5%;}
  #seikatsuSec .movieList p{ width: 90%; margin: 0 auto;}
  #seikatsuSec .movieList ul{ display: block;}
  #seikatsuSec .movieList ul li{ margin: 1%;}
  #seikatsuSec .movieList ul li iframe{ width: 100%;}
  #seikatsuSec #eventBox > p{ margin-top: 1em;}
  #eventBox .eventPhoto dl{ width: calc( 96% / 2 ); margin: 3% 1%;}
  #seikatsuSec #eventBox .eventPhoto{ margin-top: 5%;}
  #seikatsuSec #eventBox .eventPhoto dt{ margin: 0;}
  #seikatsuSec #eventBox .eventPhoto dt.monthEvent::before{ line-height: 3.2em;}
  #seikatsuSec #eventBox .eventPhoto .abImg{ right: -5%; bottom: -5%; width: 25%;}
  #voiceSec{ width: 90%; margin: 8% auto;}
  #voiceSec h3{ margin-bottom: 1em;}
  .voiceCBlock{ display: block; margin: 5% 0;}
  .voiceCBlock .comentBox{ padding: 5%; margin-top: 7%;}
  .voiceCBlock .comentBox::before{ top: -2em; left: 0; right: 0; margin: 0 auto; transform:  scale(-1, 1) rotate(95deg);-webkit-transform: scale(-1, 1) rotate(95deg);-ms-transform: scale(-1, 1) rotate(95deg);}
  .voiceCBlock .comentBox strong{ margin-top: 1em;}
  .voiceCBlock .ImageBox{ display: flex;}
  .voiceCBlock .ImageBox div{ margin: 2em 0 0;}
  .voiceCBlock .ImageBox .vImage{ width: 50%; margin-right: 1em;}

  #syokiboBox { padding: 5%;}
  #syokiboBox .txtArea .photoBox { width: 50%; display: flex;}
  #syokiboBox .txtArea .photoBox img { margin: 0;}
  #kigyoBox { padding: 5%;}

  .introPointList { display: block;}
  .introPointList01 { width: 100%;}
  .introPointList02 { width: 100%;}

  #introPoint { padding-bottom: 45%; position: relative; margin-bottom: calc(1em + 12%);}
  #introPoint p.tw90_sp { width: 90%; margin: 0 auto;}
  #introPointBox_1,
  #introPointBox_2 { width: 45%; position: absolute;}
  #introPointBox_1 { left: 0em;}
  #introPointBox_2 { right: 0em;}
  #posiAbu_Intro01,
  #posiAbu_Intro02 { width: 20%; position: absolute;}
  #posiAbu_Intro01 { transform: rotate(-130deg); right: 5%; left: unset; bottom: 40%;}
  #posiAbu_Intro02 { transform: rotate(130deg); left: 5%; right: unset; bottom: 40%;}

  #comLinkIntro {
    font-size: 112.5%;
    font-weight: bold;
    line-height: 1.3em;
    position: absolute;
    left: 1.2em;
    bottom: -11%;
  }
  #comLinkIntro .txtBtnLink {
    padding: 0.4em 2em 0.5em;
    border-radius: 5px;
    position: relative;
    transition: all 0.3s ease;
  }
  #comLinkIntro .txtBtnLink::after {
    content: "";
    border-left: 0.8em solid #fff;
    border-top: 0.4em solid transparent;
    border-bottom: 0.4em solid transparent;
    position: absolute;
    right: 0.7em;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.3s ease;
  }

  .introPointList { margin: 1em auto; flex-wrap: wrap;}
  .introListCover { padding: 1em; border: 1px solid #b3b3b3;}
  .introListCover h4 {
    font-size: 125%;
    padding: 0.1em 0 0.2em 1.5em;
    margin-bottom: 0.5em;
    background: url(../images/icon_01.jpg) left 40% no-repeat;
    background-size: auto 1.3em;
  }
  .introListCover p { margin-bottom: 1em;}

  .introListCover dl { align-items: center;}
  .introListCover dt {
    font-size: 87.5%;
    padding-left: 1.2em;
    margin-right: 0.2em;
    position: relative;
  }
  .introListCover dt::before {
    content: "";
    width: 0.8em;
    height: 0.8em;
    background-color: #ed1e79;
    position: absolute;
    left: 0;
    top: 0.5em;
  }
  .introListCover dd { font-size: 75%; font-weight: normal;}
  .introListCover ul {}
  .introListCover li { font-size: 93.75%; font-weight: bold;}
  .introListCover li:first-of-type { line-height: 1.4em;}
  .introListCover li span { font-weight: normal;}
  .introListCover .txtBtn { padding-left: 0.5em;}
  .introListCover .txtBtnLink { display: inline-block; width: auto; line-height: 1em; padding: 0.1em 1em 0.2em;}

  .introPointList01 { margin-bottom: 1em;}
  .introPointList02 {}
  #posiAbu_Baby { display: none;}
  #posiAbu_Fukidashi { position: static; background: #52b2cc; width: auto; height: auto; border-radius: 0; display: block; padding:0.5em; margin-top: 0.5em;}
  #posiAbu_Fukidashi::after{ content: none;}
  #posiAbu_Fukidashi p { text-align:left; color: #FFF; margin: 0 0 0 0;}
  #posiAbu_Fukidashi p span{ font-weight:bold;}
  #posiAbu_Fukidashi p .kakomi{
  background: #FFF;
  padding: 0.1em 0.3em;
  color: #ff7f00;
  line-height: 1.6em;
  width: 8em;
  display: inline-block;
  margin: 0 0.3em 0 0;
  }
  #posiAbu_Fukidashi p .txtColor_Yellow{ color: #ffe100; font-size: 110%;}


  #keitaiSec { margin: 8% auto; width: 90%;}
  #keitaiSec .sectionInner {}
  #keitaiSec h3 { margin-bottom: 5%;}
  #keitaiSec .pagelinkBox { margin: 2em 0;}
  #keitaiSec .pagelinkBox a { font-size: 100%; width: auto;}

  .formLinkBox {}
  .formLinkTitle {
    font-size: 156.25%;
    font-weight: bold;
    line-height: 1.4em;
    margin-bottom: 0.4em;
  }
  .formLinkComment { font-size: 87.5%; margin-bottom: 0.5em;}
  .formLinkBox .txtBtn { width: 90%; margin: 0 auto; position: relative;}
  .formLinkBox .txtBtn::after {
    content: "";
    width: 0.8em;
    height: 0.8em;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    position: absolute;
    right: 1.2em;
    top: 50%;
    transform: scale(1, 0.7) translateY(-70%) rotate(-45deg);
  }
  .formLinkBox .txtBtnLink { font-size: 130%; font-weight: bold; border-radius: 50px;}

  #formLinkSec { width: 90%; margin: 8% auto;}
  #formLinkSecInner { border-bottom: none;}
  #formLinkSec h3 {
  }
  #formLinkSec .h3Text {
  }

  #formLinkList { flex-wrap: wrap; justify-content: center;}
  #formLinkList li { width: 70%;}
  #formLinkList li:first-child { margin-bottom: 1.5em;}
  #formLinkList .txtBtnLink { border-radius: 5px; padding: 0.5em 0 0.7em;}
  #formLinkList .txtBtnLink span { color: #fff;}
}

/*----------------------------------------------------------------------------
 ***                                                                  footer
----------------------------------------------------------------------------*/
footer {
}
footer .footerInner {
}

/* 640px以下*/
@media screen and (max-width: 640px) {
}
