@charset "UTF-8";
/* ===== RESET ===== */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
li {
  list-style: none;
}
p {
  margin: 0;
}
/* ===== end - RESET ===== */
body {
  font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color: transparent;
}
/* ===== MODULES ===== */
.bg_white {
  background-color: white;
}
.bg {
  background: #cef2eb;
}
.color_white {
  color: #fff;
}
.color01 {
  color: #d84036;
}
a {
  color: unset;
  cursor: pointer;
  -webkit-transition: ease-out .3s;
  transition: ease-out .3s;
}
a:link {
  color: #333;
  text-decoration: none;
}
a:visited {
  color: #333;
  text-decoration: none;
}
a:hover {
  color: #333;
  text-decoration: none;
  opacity: 0.7;
  filter: alpha(opacity=7);
}
/* アニメーション */
.fade {
  display: none;
}
/* 画面外にいる状態 */
.fadein {
  opacity: 0;
  transform: translate(0, 100px);
  transition: all 1000ms;
}
/* 2つ目の要素に200msのdelayをかける */
.fadein2 {
  opacity: 0.1;
  transform: translate(0, 100px);
  transition: all 1000ms;
  -moz-transition-delay: 200ms;
  -webkit-transition-delay: 200ms;
  -o-transition-delay: 200ms;
  -ms-transition-delay: 200ms;
}
/* 3つ目の要素に400msのdelayをかける */
.fadein3 {
  opacity: 0.1;
  transform: translate(0, 100px);
  transition: all 1000ms;
  -moz-transition-delay: 400ms;
  -webkit-transition-delay: 400ms;
  -o-transition-delay: 400ms;
  -ms-transition-delay: 400ms;
}
/* 4つ目の要素に400msのdelayをかける */
.fadein4 {
  opacity: 0.1;
  transform: translate(0, 100px);
  transition: all 1000ms;
  -moz-transition-delay: 600ms;
  -webkit-transition-delay: 600ms;
  -o-transition-delay: 600ms;
  -ms-transition-delay: 600ms;
}
.fadein-left {
  opacity: 0;
  transform: translate(-100px, 0);
  transition: all 1000ms;
}
.fadein-right {
  opacity: 0;
  transform: translate(100px, 0);
  transition: all 1000ms;
}
/* 画面内に入った状態 */
.fadein.scrollin, .fadein2.scrollin, .fadein3.scrollin, .fadein4.scrollin, .fadein-left.scrollin, .fadein-right.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}
/* アニメーション */
.link_txt:link, .link_txt:hover, .link_txt:active, .link_txt:visited {
  color: #2477C5;
  text-decoration: underline !important;
}
.f_normal {
  font-weight: normal;
}
.f_bold {
  font-weight: bold;
}
.text-center {
  text-align: center;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.blck {
  display: block;
}
.in-blck {
  display: inline-block;
  width: auto;
}
.center {
  margin-right: auto;
  margin-left: auto;
}
.wrap {
  overflow: hidden;
  height: auto;
}
.hide {
  display: none !important;
}
input[type="text"], input[type="tel"], input[type="email"], select, textarea {
  padding: 4px;
  border: 1px solid #c8c8c8;
  font-size: 100%;
}
input[type="text"]::-webkit-input-placeholder, input[type="tel"]::-webkit-input-placeholder, input[type="email"]::-webkit-input-placeholder, select::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #b2b2b2;
}
input[type="text"]:-ms-input-placeholder, input[type="tel"]:-ms-input-placeholder, input[type="email"]:-ms-input-placeholder, select:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #b2b2b2;
}
input[type="text"]::-moz-placeholder, input[type="tel"]::-moz-placeholder, input[type="email"]::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
  color: #b2b2b2;
}
input[type="radio"] {
  margin-right: 4px;
  vertical-align: middle;
}
img {
  border: 0;
}
.img-blck {
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.img-responsive {
  display: block;
  width: 100%;
  height: auto;
  text-align: center;
}
.img-square {
  position: relative;
  z-index: 2;
  display: block;
  overflow: hidden;
  width: 100%;
}
.img-square:before {
  display: block;
  padding: 75% 0 0;
  height: 0;
  content: "";
}
.img-square.sq2:before {
  padding: 66.6% 0 0;
}
.img-square img {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
}
.img-square img.oblong {
  width: 100%;
}
.img-square img.vertical {
  height: 100%;
}
img[src*=".svg"] {
  width: 100%;
}
.scroll-wrap {
  overflow-x: auto;
}
.scroll-wrap::-webkit-scrollbar {
  height: 10px;
}
.scroll-wrap::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background: #aaa;
}
.scroll-wrap::-webkit-scrollbar-track-piece {
  border-radius: 5px;
  background: white;
}
.tab, .sp {
  display: none;
}
.sp {
  display: none !important;
}
.pc, .pc.tab {
  display: block;
}
.colWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -js-display: flex;
}
.ie09 {
  display: none;
}
.newsSection {
  background-color: #cef2eb;
}
.school-select {
  margin: 0px auto 0px;
  text-align: center;
  background-color: #cef2eb;
  padding: 2% 0;
}
.school-select h1, .school-select h2 {
  color: #31c4b2;
  font-size: 170%;
  line-height: 150%;
  margin-bottom: 1%;
}



/* 学童保育コース　トップページ　新規開校などのお知らせ枠 */
.mini-news {
  margin: 1.5% auto;
  padding: 15px;
  font-size: 1.1em;
  background: #FFFFFF;
  width: 100%;
  max-width: 720px;
  border-radius: 5px;
}
.mini-news h3 {
  margin: 0 auto 15px;
  padding-bottom: 5px;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  font-size: 18px;
  color: #FF0000;
  border-bottom: solid 1px #FF0000;
  animation: blinking 1.5s ease-in-out infinite alternate;
}
.mini-news h3:before {
  padding-right: 0.25rem;
  content: "\ef49";
  font-family: "Material Symbols Outlined";
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0;
}
@keyframes blinking { /* .mini-news h3に点滅アニメーションを適用 */
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.mini-news h4 {
  margin: 30px auto 10px;
}
.mini-news .f_red {
  color: #FF0000;
  font-weight: bold;
}
.mini-news .f_emp {
  font-weight: bold;
}
.mini-news p+p {
  margin-top: 10px;
}
a.mini-btn {
  margin: 10px auto 0;
  padding: 7px 20px 8px;
  display: inline-block;
  line-height: 1;
  color: #FFFFFF;
  background: #FF0000;
  border: solid 1px #FF0000;
  border-radius: 5px;
  transition: 0.3s;
}
a.mini-btn:after {
  content: "";
  margin-left: 8px;
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}
a.mini-btn:hover {
  opacity: 1;
  color: #FF0000;
  background: #FFFFFF;
}
/* 学童保育コース　トップページ　新規開校などのお知らせ枠　ここまで */



.select-bt {
  margin: 10px auto 0;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  max-width: 720px;
}
.select-bt a {
  margin: 0;
  display: inline-block;
  padding: 1.25em 1.5em;
  text-decoration: none;
  text-align: center;
  font-weight: bold;
  line-height: 1;
  color: #FFFFFF;
  background: #FF0000; /*ボタン色*/
  border-bottom: solid 4px #b30000;
  border-radius: 3px;
  min-width: 140px;
}
.select-bt a:nth-child(2) {
  background: #FF8300; /*ボタン色*/
  border-bottom: solid 4px #b35c00;
}
.select-bt a:nth-child(3) {
  background: #FED501; /*ボタン色*/
  border-bottom: solid 4px #b39500;
}
.select-bt a:nth-child(4) {
  background: #7CC40E; /*ボタン色*/
  border-bottom: solid 4px #60990b;
}
.select-bt a:nth-child(5) {
  background: #43B1FF; /*ボタン色*/
  border-bottom: solid 4px #2e7bb3;
}
.select-bt a:nth-child(6) {
  background: #1A71E6; /*ボタン色*/
  border-bottom: solid 4px #0e3f80;
}
.select-bt a:nth-child(7) {
  background: #9121DD; /*ボタン色*/
  border-bottom: solid 4px #651799;
}
.select-bt a:hover {
  /* ボタンにマウスを載せたとき */
  opacity: 1; /* 透過しない */
}
.select-bt a:active {
  /*ボタンを押したとき*/
  -webkit-transform: translateY(4px);
  transform: translateY(4px); /*下に動く*/
  border-bottom: none; /*線を消す*/
}
.rainbowkids-mv-bg {
  background-image: url(../img/afterkids/index/mv01_pc.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  position: relative;
  height: 700px;
  background-position: top;
}
.rainbowkids-mv {
  width: 1040px;
  margin: 0 auto 2%;
  position: absolute;
  /* padding-top: 350px; */
  bottom: 0;
  right: 0;
  left: 0;
}
.rainbowkids-mv-left {
  width: 49%;
  padding-top: 0%;
  margin-top: 0;
  margin-right: 0 !important;
  padding-right: 0 !important;
}
.rainbowkids-mv-left img {
  width: 100%;
}
.rainbowkids-mv-right {
  position: absolute;
  bottom: 0;
  right: 5%;
  margin: 0;
  padding: 0;
  width: 44% !important;
}
/* トップページ */
/* ===== INDIVIDUAL STYLES ===== */
/* TOPPAGE STYLE */
header.logoFrame {
  background: none;
  position: absolute;
  width: 100%;
  z-index: 20;
}
header.logoFrame .logo {
  overflow: hidden;
  padding: 20px 60px 0 0;
  position: relative;
}
header.logoFrame .logo a {
  float: right;
}
/* VISUAL SECTION */ {
  position: relative;
}
.visualFrame {
  height: auto;
  overflow: hidden;
  position: relative;
}
.catchFrame {
  bottom: 0;
  left: 0;
  margin: 0 auto;
  position: absolute;
  width: 100%;
  z-index: 20;
}
.catchFrame > .container {
  padding: 0 6% 0 0;
}
.catchFrame .tbl {
  table-layout: fixed;
}
.catchFrame .tbl .td {
  vertical-align: bottom;
}
.catchFrame .navFrame {
  padding: 0 0 0 1%;
  width: 55.4%;
}
.catchFrame .navFrame .wrap {
  background: #fff;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
  border: 10px solid #fff;
  display: block;
  margin: 0 0 5%;
  overflow: hidden;
}
.catchFrame .navFrame .wrap:hover {
  filter: alpha(opacity=100);
  opacity: 1;
}
.catchFrame .navFrame .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets {
  bottom: auto;
  left: auto;
  right: 0;
  top: 3%;
  width: 6%;
}
.catchFrame .navFrame .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets .swiper-pagination-bullet {
  background: #fff;
  display: block;
  height: 18px;
  margin: 0 auto 10px;
  opacity: 1;
  width: 18px;
}
.catchFrame .navFrame .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets .swiper-pagination-bullet-active {
  filter: alpha(opacity=50);
  opacity: .5;
  display: none;
}
.menuFrame {
  clear: both;
  color: #fff;
  overflow: hidden;
  padding: 50px 0 50px;
  position: relative;
}
.menuFrame:before {
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.menuFrame .menuBox {
  margin: 0 auto;
}
.menuFrame .menuBox .listWrap {
  margin: 0 5px 0 -5px;
  position: relative;
  z-index: 10;
}
.menuFrame .menuBox .listWrap .list_h {
  padding: 0 0 4px;
}
.menuFrame .menuBox .li {
  padding: 5px 5px;
  position: relative;
  width: 16.666%;
}
.menuFrame .menuBox .li:before {
  content: "";
  background: #d31e1e;
  border: 8px solid #d31e1e;
  box-sizing: border-box;
  box-shadow: inset 0 0 0 1px #fff, 2px 2px 4px rgba(100, 100, 100, 0.6);
  display: block;
  height: 0;
  padding: 91.2% 0 0;
  width: 100%;
}
.pg_annex .menuFrame .menuBox .li:before {
  background-color: #31c4b2;
  border-color: #31c4b2;
  border-radius: 10px; /* CSS3草案 */
  -webkit-border-radius: 10px; /* Safari,Google Chrome用 */
  -moz-border-radius: 10px;
}
.menuFrame .menuBox .li:hover:before {
  filter: alpha(opacity=65);
  opacity: .65;
}
.menuFrame .menuBox .li .box {
  display: block;
  color: #fff;
  left: 0;
  line-height: 1.3;
  margin: -42px 0 0;
  position: absolute;
  top: 50%;
  text-align: center;
  width: 100%;
}
.menuFrame .menuBox .li .box:before {
  content: "";
  background: url(../images/index_menu-as.png) no-repeat center 0;
  background-size: 100px auto;
  display: block;
  height: 54px;
  margin: 0 auto;
  width: 100px;
}
/*
.menuFrame .menuBox-course .li .box:before {
	content: "";
	background: url(../images/index_menu-course.png) no-repeat center 0;
	background-size: 100px auto;
	display: block;
	height: 54px;
	margin: 0 auto;
	width: 100px;
}
*/
.menuFrame .menuBox .li .box:hover {
  color: #fff;
}
.menuFrame .menuBox .li .box .p {
  display: inline-block;
  margin: 11.5% 0 0;
  padding: 0 1em;
  position: relative;
  width: auto;
}
.menuFrame .menuBox .li .box .p:before {
  content: "";
  background: #fff;
  height: 1px;
  left: 0;
  position: absolute;
  top: 50%;
  width: .35em;
}
.menuFrame .menuBox .li .box .p:after {
  content: "";
  background: #fff;
  height: 1px;
  right: 0;
  position: absolute;
  top: 50%;
  width: .35em;
}
.annex-text {
  display: inline-block;
  margin: 13% 0 0;
  padding: 0 1em;
  position: relative;
  width: auto;
}
.annex-text:before {
  content: "";
  background: #fff;
  height: 1px;
  left: 0;
  position: absolute;
  top: 50%;
  width: .35em;
}
.annex-text:after {
  content: "";
  background: #fff;
  height: 1px;
  right: 0;
  position: absolute;
  top: 50%;
  width: .35em;
}
.menuFrame .menuBox .li.line2 .box .p {
  margin: 11% 0 0;
}
.menuFrame .menuBox .li.method .box:before {
  background-position: center -0px;
}
.menuFrame .menuBox .li.result .box:before {
  background-position: center -57px;
}
.menuFrame .menuBox .li.lecture .box:before {
  background-position: center -108px;
}
.menuFrame .menuBox .li.news .box:before {
  background-position: center -162px;
}
.menuFrame .menuBox .li.school .box:before {
  background-position: center -216px;
}
.menuFrame .menuBox .li.inquiry .box:before {
  background-position: center -270px;
}
.menuFrame .menuBox .li.promptreport .box:before {
  background-position: center -324px;
}
.menuFrame .menuBox .li.m-net .box:before {
  background-position: center -378px;
}
.menuFrame .menuBox .li.exam-i .box:before {
  background-position: center -447px;
}
.menuFrame .menuBox .li.experience .box:before {
  background-position: center -493px;
}
.menuFrame .menuBox .li.faq-i .box:before {
  background-position: center -551px;
}
.menuFrame .menuBox .li.experience-i .box:before {
  background-position: center -619px;
}
.menuFrame .menuBox .li.expert-i .box:before {
  background-position: center -694px;
}
.pg_annex .menuFrame .menuBox .li.lecture .box:before {
  background-position: center -108px;
}
.pg_annex .menuFrame .menuBox .li.news .box:before {
  background-position: center -162px;
}
.pg_annex .menuFrame .menuBox .li.school .box:before {
  background-position: center -216px;
}
.pg_annex .menuFrame .menuBox .li.inquiry .box:before {
  background-position: center -270px;
}
.pg_annex .menuFrame .menuBox .li.promptreport .box:before {
  background-position: center -324px;
}
.pg_annex .menuFrame .menuBox .li.m-net .box:before {
  background-position: center -378px;
}
.menuFrame .menuBox .li.m-net:before {
  background: #CECE2E;
  border-color: #CECE2E;
}
.menuFrame .menuBox .li.m-net .p {
  padding: 0;
}
.menuFrame .menuBox .li.m-net .p:before, .menuFrame .menuBox .li.m-net .p:after {
  display: none;
}
.menuFrame .menuBox .li.jhs:before {
  background-color: #D31E1E;
  border-color: #D31E1E;
}
.menuFrame .menuBox .li.ps:before {
  background-color: #9F79CF;
  border-color: #9F79CF;
}
.menuFrame .menuBox .li.hs:before {
  background-color: #0E2D6B;
  border-color: #0E2D6B;
}
.menuFrame .menuBox .li.annex:before {
  background-color: #15AA00;
  border-color: #15AA00;
}
.menuFrame .menuBox .li.afterschool:before {
  background-color: #8bbb42;
  border-color: #8bbb42;
}
.menuFrame .menuBox .li.afterschool a.box {
  top: 50%;
}
.menuFrame .menuBox .li.afterschool p {
  font-size: 22px;
}
.menuFrame .menuBox .txt .box {
  margin: 0 auto;
  top: 50%;
  transform: translateY(-50%);
}
.menuFrame .menuBox .txt .box:before {
  display: none;
}
.menuFrame .menuBox .txt .box .p {
  font-size: 20px;
  margin: 0 auto;
}
.menuFrame .menuBox .txt .box .p:before, .menuFrame .menuBox .txt .box .p:after {
  display: none;
}
.pg_annex .menuFrame {
  background-color: ;
}
.img-responsive {
  display: block;
  height: auto;
  width: 100%;
}
/* 幅1080px以上
------------------------------------------------------------*/
@media only screen and (min-width: 1080px) {
  /* VISUAL SECTION */
  .catchFrame > .container {
    padding: 0 80px 0 0;
  }
  .catchFrame .navFrame .wrap {
    margin: 0 0 15px;
  }
  .catchFrame .navFrame .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets {
    top: 22px;
  }
}
/* 幅1000px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 1000px) {
  .paging {
    margin: -35.5% 0 0;
  }
  .menuFrame .menuBox .listWrap {
    margin: 0 -1%;
    position: relative;
    z-index: 10;
  }
  .menuFrame .menuBox .li:before {
    border-width: 7px;
  }
  .menuFrame .menuBox .li .box {
    margin: -28.9px 0 0;
  }
  .menuFrame .menuBox .li .box:before {
    background-size: 70px auto;
    height: 37.8px;
    width: 70px;
  }
  .menuFrame .menuBox .li .box .p {
    font-size: 1.5vw;
    margin: 10% 0 0;
    padding: 0 .6em;
  }
  .menuFrame .menuBox .li.line2 .box .p {
    margin: 8% 0 0;
  }
  .menuFrame .menuBox .li.method .box:before {
    background-position: center -0px;
  }
  .menuFrame .menuBox .li.result .box:before {
    background-position: center -37.8px;
  }
  .menuFrame .menuBox .li.lecture .box:before {
    background-position: center -75.6px;
  }
  .menuFrame .menuBox .li.news .box:before {
    background-position: center -113.4px;
  }
  .menuFrame .menuBox .li.school .box:before {
    background-position: center -151.2px;
  }
  .menuFrame .menuBox .li.inquiry .box:before {
    background-position: center -189px;
  }
  .menuFrame .menuBox .li.promptreport .box:before {
    background-position: center -226.8px;
  }
  .menuFrame .menuBox .li.m-net .box:before {
    background-position: center -264.6px;
  }
  .menuFrame .menuBox .li.exam-i .box:before {
    background-position: center -312.0px;
  }
  .menuFrame .menuBox .li.experience .box:before {
    background-position: center -343.0px;
  }
  .pg_annex .menuFrame .menuBox .li.lecture .box:before {
    background-position: center -75.6px;
  }
  .pg_annex .menuFrame .menuBox .li.news .box:before {
    background-position: center -113.4px;
  }
  .pg_annex .menuFrame .menuBox .li.school .box:before {
    background-position: center -151.2px;
  }
  .pg_annex .menuFrame .menuBox .li.inquiry .box:before {
    background-position: center -189px;
  }
  .pg_annex .menuFrame .menuBox .li.promptreport .box:before {
    background-position: center -226.8px;
  }
  .pg_annex .menuFrame .menuBox .li.m-net .box:before {
    background-position: center -264.6px;
  }
  .menuFrame .menuBox .li.txt .box {
    margin: -2.4vw auto 0;
  }
  .menuFrame .menuBox .li.txt .box .p {
    font-size: 2.4vw;
  }
}
/* IE9 hack */
@media all and (min-width:0\0) and (min-resolution: .001dpcm) {
  .ie09 {
    display: inline-block !important;
  }
  .ie09none {
    display: none !important;
  }
  #g-navi {
    display: block;
    width: 1000px !important;
  }
  #g-navi li {
    display: inline-block;
    width: 185px;
  }
  #g-navi li:last-child {
    width: 200px;
  }
  #g-navi li:last-child a {
    width: 70%;
    padding-top: 5px;
  }
  .gnav .nav_mnet {
    position: relative;
    top: 0;
    right: 0;
    padding: 0 1.18%;
    width: 220px;
    height: 100%;
    background: #d8db3a;
  }
  .gnav .nav_mnet a {
    width: 100%;
    height: 100%;
    padding: 0 50px 70px 0;
  }
  #top-1 {
    width: 1080px;
  }
  #top-1 div {
    display: block;
    float: left;
  }
  #top-2 {
    width: 1080px;
  }
  #top-2 li {
    display: block;
    float: left;
  }
  #concept-1 {
    width: 100%;
    display: block;
  }
  #concept-1 div {
    display: block;
    float: left;
  }
  #service01 {
    display: table;
  }
  #service01 > div:first-child {
    display: table-cell;
    width: 500px;
    position: static;
  }
  #service01 > div:last-child {
    display: table-cell;
    width: 500px;
    position: static;
  }
  .learningSection {
    height: 700px;
  }
  header .navFrame {
    position: relative;
    display: block !important;
    width: 1000px;
  }
  .gnav .nav_mnet a {
    display: inline-block !important;
    width: 100%;
    height: 100%;
  }
  .tab-colWrap, .colWrap.tab-colWrap {
    display: block !important;
  }
  .colWrap.mdl .box, .colWrap .box.mdl {
    display: block !important;
  }
  .tab-colWrap, .colWrap.tab-colWrap {
    display: block !important;
  }
  .sp-colWrap, .colWrap.sp-colWrap {
    display: block !important;
  }
  .pg_learning .categoryFrame .cat02, .pg_learning .categoryFrame .cat03, .pg_learning .categoryFrame .cat04, .pg_learning .categoryFrame .cat05 {
    width: 1160px;
    overflow-x: auto;
  }
  .pg_learning .categoryFrame .cat02 .box, .pg_learning .categoryFrame .cat03 .box, .pg_learning .categoryFrame .cat05 .box {
    display: block;
    float: left;
    width: 500px;
    height: 800px;
    margin-right: 10px;
  }
  .pg_learning .categoryFrame .cat04 .box {
    float: left;
    position: static;
    width: 500px;
    height: 800px;
    margin-right: 10px;
  }
  .pg_learning .categoryFrame .cat04 .box:nth-child(3) {}
  .pg_learning .categoryFrame .cat02 .box .txt {
    display: block;
  }
  .service01 .imgFrame, .service03 .imgFrame, .service05 .imgFrame {
    position: static !important;
    margin-left: 500px !important;
    width: 500px !important;
    height: auto !important;
  }
  .service02 .txtFrame, .service04 .txtFrame {
    position: static !important;
    margin-left: 600px !important;
    width: 500px;
  }
  .service02 .imgFrame, .service04 .imgFrame {
    width: 500px !important;
    height: auto !important;
  }
  .container {
    max-width: 1200px !important;
  }
  .container {
    margin-left: auto;
    margin-right: auto;
    max-width: 1080px;
    overflow: hidden;
    padding-left: 30px;
    padding-right: 30px;
    position: relative;
  }
  .none-flex {
    display: inline-block !important;
    width: 700px;
  }
  .none-flex li {
    display: inline-block !important;
    position: static !important;
    width: 100px !important;
    height: 40px !important;
    padding: 20px 0 20px !important;
    text-align: center !important;
    float: left;
  }
  flex-item {
    position: static !important;
  }
  footer > div:first-child {
    padding-bottom: 200px;
  }
  .area01 {
    height: 1000px;
  }
  .pg_service .areaFrame .areaContent .inner {
    max-width: 1300px;
  }
  .area02, .area03 {
    height: 800px;
  }
  .pg_service .areaFrame .areaContent .inner {
    margin: 0 20px !important;
    max-width: 1300px;
  }
  .schoolList h3 {
    display: block;
    width: 300px;
  }
  .schoolList {
    display: block;
  }
  .stationList h3 {
    display: block;
    text-align: left;
    width: 300px;
  }
  .stationList {
    display: block;
    margin-top: 50px;
  }
  .area-table {
    height: 300px;
  }
  .pg_service .areaFrame .areaContent .mapFrame .imgFrame {
    max-height: 408px;
    display: inline-block !important;
  }
  .pg_service .areaFrame .areaContent .mapFrame .imgFrame img {
    height: 408px;
    /* object-fit: cover; */
    visibility: hidden;
    display: inline-block !important;
  }
  .pg_service .areaFrame .area02 .mapFrame .imgFrame {
    background: url(../img/afterkids/service/map02.jpg) no-repeat center center;
    background-size: cover;
  }
  .pg_service .areaFrame .area03 .mapFrame .imgFrame {
    background: url(../img/afterkids/service/map03.jpg) no-repeat center center;
    background-size: cover;
  }
  header .topNav {
    position: relative;
  }
}
/* ie09 */
/* plus detail-page 20180910 */
.colWrap.det-minipic {
  justify-content: start;
}
.colWrap.rtl {
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
}
.colWrap.wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.colWrap.col {
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
}
.colWrap.mdl .box, .colWrap .box.mdl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -js-display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}
.colWrap.mdl.ct .box, .colWrap .box.mdl.ct {
  -ms-flex-pack: center;
  -webkit-box-pack: center;
  justify-content: center;
}
.colWrap.boxAlign-left {
  -ms-flex-pack: start;
  -webkit-box-pack: start;
  justify-content: flex-start;
}
.colWrap.col2.full {
  margin-right: -1.4%;
  margin-left: -1.4%;
}
.colWrap.col2 .box {
  margin: 0 1.4%;
  width: 47.8409090909%;
  width: calc(calc(100% / 2) - 2.8%);
}
.colWrap.col2.sp0 .box {
  margin: 0;
  width: 50%;
}
.colWrap.col3.full {
  margin-right: -1.4%;
  margin-left: -1.4%;
}
.colWrap.col3 .box {
  margin: 0 1.4%;
  width: 31.1742424242%;
  width: calc(calc(100% / 3) - 2.8%);
}
.colWrap.col3.sp0 .box {
  margin: 0;
  width: 33.3333333333%;
}
.colWrap.col4.full {
  margin-right: -1.4%;
  margin-left: -1.4%;
}
.colWrap.col4 .box {
  margin: 0 0.9%;
  width: 22.8409090909%;
  width: calc(calc(100% / 4) - 2.8%);
}
.colWrap.col4.sp0 .box {
  margin: 0;
  width: 25%;
}
.colWrap.col5.full {
  margin-right: -1.4%;
  margin-left: -1.4%;
}
.colWrap.col5 .box {
  margin: 0 1.4%;
  width: 17.8409090909%;
  width: calc(calc(100% / 5) - 2.8%);
}
.colWrap.col5.sp0 .box {
  margin: 0;
  width: 20%;
}
.colWrap.col6.full {
  margin-right: -1.4%;
  margin-left: -1.4%;
}
.colWrap.col6 .box {
  margin: 0 1.4%;
  width: 14.8409090909%;
  width: calc(calc(100% / 6) - 2.8%);
}
.colWrap.col6.sp0 .box {
  margin: 0;
  width: 16.66%;
}
.colWrap.col2.sp20, .colWrap.col3.sp20, .colWrap.col4.sp20, .colWrap.col5.sp20, .colWrap.col6.sp20 {
  margin: 0 -1%;
}
.colWrap.col2.sp20 .box, .colWrap.col3.sp20 .box, .colWrap.col4.sp20 .box, .colWrap.col5.sp20 .box, .colWrap.col6.sp20 .box {
  margin: 0 1%;
}
.colWrap.col2.sp20 .box {
  width: 47%;
  width: calc(calc(100% / 2) - 2%);
}
.colWrap.col3.sp20 .box {
  width: 31%;
  width: calc(calc(100% / 3) - 2%);
}
.colWrap.col4.sp20 .box {
  width: 23%;
  width: calc(calc(100% / 4) - 2%);
}
.colWrap.col5.sp20 .box {
  width: 18%;
  width: calc(calc(100% / 5) - 2%);
}
.colWrap.col6.sp20 .box {
  width: 15%;
  width: calc(calc(100% / 6) - 2%);
}
.colWrap.wrap.sp20 .box {
  margin-bottom: 2%;
}
table {
  width: 100%;
  border-collapse: collapse;
}
table th, table td {
  padding: 10px 10px 8px;
  vertical-align: top;
  font-weight: normal;
  line-height: 1.8;
}
table th {
  width: 28%;
  text-align: left;
}
ul, dl {
  margin: 0;
}
ul.list_disc li, ol.list_disc li {
  margin: 0 0 0 1.5em;
  list-style-type: disc;
}
ul ul {
  margin: 0 1em;
}
dl dt, dl dd {
  font-weight: normal;
  line-height: 1.8;
}
dl.indent dd {
  margin-left: 1em;
}
dl dd {
  padding: 5px 0 25px;
}
dl dd:last-child {
  padding-bottom: 0;
}
.list_h {
  overflow: hidden;
  height: auto;
}
.list_h li, .list_h .li {
  float: left;
}
.mt0 {
  margin-top: 0px !important;
}
.mb0 {
  margin-bottom: 0px !important;
}
.ml0 {
  margin-left: 0px !important;
}
.mr0 {
  margin-right: 0px !important;
}
.pt0 {
  padding-top: 0px !important;
}
.pb0 {
  padding-bottom: 0px !important;
}
.pl0 {
  padding-left: 0px !important;
}
.pr0 {
  padding-right: 0px !important;
}
.mt5 {
  margin-top: 5px !important;
}
.mb5 {
  margin-bottom: 5px !important;
}
.ml5 {
  margin-left: 5px !important;
}
.mr5 {
  margin-right: 5px !important;
}
.pt5 {
  padding-top: 5px !important;
}
.pb5 {
  padding-bottom: 5px !important;
}
.pl5 {
  padding-left: 5px !important;
}
.pr5 {
  padding-right: 5px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.ml10 {
  margin-left: 10px !important;
}
.mr10 {
  margin-right: 10px !important;
}
.pt10 {
  padding-top: 10px !important;
}
.pb10 {
  padding-bottom: 10px !important;
}
.pl10 {
  padding-left: 10px !important;
}
.pr10 {
  padding-right: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.ml15 {
  margin-left: 15px !important;
}
.mr15 {
  margin-right: 15px !important;
}
.pt15 {
  padding-top: 15px !important;
}
.pb15 {
  padding-bottom: 15px !important;
}
.pl15 {
  padding-left: 15px !important;
}
.pr15 {
  padding-right: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.ml20 {
  margin-left: 20px !important;
}
.mr20 {
  margin-right: 20px !important;
}
.pt20 {
  padding-top: 20px !important;
}
.pb20 {
  padding-bottom: 20px !important;
}
.pl20 {
  padding-left: 20px !important;
}
.pr20 {
  padding-right: 20px !important;
}
.mt25 {
  margin-top: 25px !important;
}
.mb25 {
  margin-bottom: 25px !important;
}
.ml25 {
  margin-left: 25px !important;
}
.mr25 {
  margin-right: 25px !important;
}
.pt25 {
  padding-top: 25px !important;
}
.pb25 {
  padding-bottom: 25px !important;
}
.pl25 {
  padding-left: 25px !important;
}
.pr25 {
  padding-right: 25px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.ml30 {
  margin-left: 30px !important;
}
.mr30 {
  margin-right: 30px !important;
}
.pt30 {
  padding-top: 30px !important;
}
.pb30 {
  padding-bottom: 30px !important;
}
.pl30 {
  padding-left: 30px !important;
}
.pr30 {
  padding-right: 30px !important;
}
.mt35 {
  margin-top: 35px !important;
}
.mb35 {
  margin-bottom: 35px !important;
}
.ml35 {
  margin-left: 35px !important;
}
.mr35 {
  margin-right: 35px !important;
}
.pt35 {
  padding-top: 35px !important;
}
.pb35 {
  padding-bottom: 35px !important;
}
.pl35 {
  padding-left: 35px !important;
}
.pr35 {
  padding-right: 35px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.ml40 {
  margin-left: 40px !important;
}
.mr40 {
  margin-right: 40px !important;
}
.pt40 {
  padding-top: 40px !important;
}
.pb40 {
  padding-bottom: 40px !important;
}
.pl40 {
  padding-left: 40px !important;
}
.pr40 {
  padding-right: 40px !important;
}
.mt45 {
  margin-top: 45px !important;
}
.mb45 {
  margin-bottom: 45px !important;
}
.ml45 {
  margin-left: 45px !important;
}
.mr45 {
  margin-right: 45px !important;
}
.pt45 {
  padding-top: 45px !important;
}
.pb45 {
  padding-bottom: 45px !important;
}
.pl45 {
  padding-left: 45px !important;
}
.pr45 {
  padding-right: 45px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.ml10 {
  margin-left: 10px !important;
}
.mr10 {
  margin-right: 10px !important;
}
.pt10 {
  padding-top: 10px !important;
}
.pb10 {
  padding-bottom: 10px !important;
}
.pl10 {
  padding-left: 10px !important;
}
.pr10 {
  padding-right: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.ml15 {
  margin-left: 15px !important;
}
.mr15 {
  margin-right: 15px !important;
}
.pt15 {
  padding-top: 15px !important;
}
.pb15 {
  padding-bottom: 15px !important;
}
.pl15 {
  padding-left: 15px !important;
}
.pr15 {
  padding-right: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.ml20 {
  margin-left: 20px !important;
}
.mr20 {
  margin-right: 20px !important;
}
.pt20 {
  padding-top: 20px !important;
}
.pb20 {
  padding-bottom: 20px !important;
}
.pl20 {
  padding-left: 20px !important;
}
.pr20 {
  padding-right: 20px !important;
}
.mt25 {
  margin-top: 25px !important;
}
.mb25 {
  margin-bottom: 25px !important;
}
.ml25 {
  margin-left: 25px !important;
}
.mr25 {
  margin-right: 25px !important;
}
.pt25 {
  padding-top: 25px !important;
}
.pb25 {
  padding-bottom: 25px !important;
}
.pl25 {
  padding-left: 25px !important;
}
.pr25 {
  padding-right: 25px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.ml30 {
  margin-left: 30px !important;
}
.mr30 {
  margin-right: 30px !important;
}
.pt30 {
  padding-top: 30px !important;
}
.pb30 {
  padding-bottom: 30px !important;
}
.pl30 {
  padding-left: 30px !important;
}
.pr30 {
  padding-right: 30px !important;
}
.mt35 {
  margin-top: 35px !important;
}
.mb35 {
  margin-bottom: 35px !important;
}
.ml35 {
  margin-left: 35px !important;
}
.mr35 {
  margin-right: 35px !important;
}
.pt35 {
  padding-top: 35px !important;
}
.pb35 {
  padding-bottom: 35px !important;
}
.pl35 {
  padding-left: 35px !important;
}
.pr35 {
  padding-right: 35px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.ml40 {
  margin-left: 40px !important;
}
.mr40 {
  margin-right: 40px !important;
}
.pt40 {
  padding-top: 40px !important;
}
.pb40 {
  padding-bottom: 40px !important;
}
.pl40 {
  padding-left: 40px !important;
}
.pr40 {
  padding-right: 40px !important;
}
.mt45 {
  margin-top: 45px !important;
}
.mb45 {
  margin-bottom: 45px !important;
}
.ml45 {
  margin-left: 45px !important;
}
.mr45 {
  margin-right: 45px !important;
}
.pt45 {
  padding-top: 45px !important;
}
.pb45 {
  padding-bottom: 45px !important;
}
.pl45 {
  padding-left: 45px !important;
}
.pr45 {
  padding-right: 45px !important;
}
.pt50 {
  padding-top: 50px !important;
}
.pb50 {
  padding-bottom: 50px !important;
}
.pl50 {
  padding-left: 50px !important;
}
.pr50 {
  padding-right: 50px !important;
}
.font_xs {
  font-size: 1.2rem !important;
}
.f_sans {
  font-family: 'Josefin Sans', sans-serif;
  font-weight: 400;
}
/* animation */
.fadeIn0 {
  position: relative;
  opacity: 0;
  -webkit-transform: translate(0, 50px);
  -moz-transform: translate(0, 50px);
  -o-transform: translate(0, 50px);
  transform: translate(0, 50px);
  -webkit-transition: all 1400ms cubic-bezier(0.23, 1, 0.32, 1);
  -moz-transition: all 1400ms cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: all 1400ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: all 1400ms cubic-bezier(0.23, 1, 0.32, 1);
  /* easeOutQuint */
  -webkit-transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
  -moz-transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
  /* easeOutQuint */
}
.fadeIn, .fadeIn_delay {
  position: relative;
  opacity: 0;
  -webkit-transform: translate(0, 50px);
  -moz-transform: translate(0, 50px);
  -o-transform: translate(0, 50px);
  transform: translate(0, 50px);
  -webkit-transition: all 1400ms cubic-bezier(0.23, 1, 0.32, 1);
  -moz-transition: all 1400ms cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: all 1400ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: all 1400ms cubic-bezier(0.23, 1, 0.32, 1);
  /* easeOutQuint */
  -webkit-transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
  -moz-transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
  /* easeOutQuint */
}
.fadeIn_delay {
  -webkit-transform: translate(0, 200px);
  -moz-transform: translate(0, 200px);
  -o-transform: translate(0, 200px);
  transform: translate(0, 200px);
}
.fadeIn0.active {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
.fadeIn.active, .fadeIn_delay.active {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
.tel_link {
  color: #333;
}
.tel_link:hover {
  opacity: 1;
  cursor: text;
}
.commonTbl th, .commonTbl td {
  padding: 20px 30px;
  border-top: 1px solid #c6c6c6;
  border-bottom: 1px solid #c6c6c6;
}
.commonTbl th {
  background: #e0e3e8;
}
/* ===== end - MODULES =====*/
/* ===== COMMON STYLES ===== */
html {
  font-size: 62.5%;
}
body {
  background: #fff;
  color: #333;
  content: 'pc';
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 500;
  font-family: "YakuHanJP", "Noto Sans JP", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Helvetica Neue", "Helvetica", sans-serif;
  line-height: 1.8;
}
.current-title {
  font-family: 'HiraMinProN-W3', "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro W3", "Hiragino Mincho Pro", "平成明朝", "細明朝体", "ＭＳ Ｐ明朝", "MS P Mincho", serif;
  text-decoration: underline;
  font-size: 105%;
  margin-bottom: 2%;
  font-weight: normal;
}
.wrapper {
  position: relative;
  overflow: hidden;
}
.container {
  position: relative;
  overflow: hidden;
  margin-right: auto;
  margin-left: auto;
  padding-right: 30px;
  padding-left: 30px;
  max-width: 1140px;
  width: auto;
}
.container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1080px;
  overflow: hidden;
  padding-left: 30px;
  padding-right: 30px;
  position: relative;
}
footer.type2 .container {
  max-width: 1500px;
}
.container.visible {
  overflow: visible;
}
.content {
  position: relative;
}
/* header */
header {
  background-color: #fff;
}
header.index-head {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 99;
  background-color: rgba(255, 255, 255, 0);
}
header .container {
  max-width: 100%;
  padding: 0;
}
header .colWrap {
  margin: 0 auto;
  -ms-flex-align: center;
  -webkit-box-align: center;
  align-items: center;
  height: 130px;
}
header .logoFrame {
  position: relative;
  flex: 0 1 auto;
  margin: 0 0 0 30px;
  width: 245px;
  height: auto;
}
header .logo {
  width: 100%;
}
header .logo a {
  display: inline-block;
  width: 158px;
  vertical-align: middle;
}
header .logo img {
  display: block;
}
header .logo .category {
  display: block;
  margin: 8px auto 0;
  height: 22px;
  line-height: 23px;
  font-size: 14px;
  background: #22c4b0;
  color: #fff;
  text-align: center;
}
header .topNav {
  display: block;
  position: absolute;
  left: 180px;
  top: 30%;
  width: 300px;
  margin: -10px 0 0;
}
header .navFrame {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -js-display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  justify-content: space-between;
  /* flex: 1 0 auto; */
  width: 840px;
}
/* gnav */
.gnav {
  width: 100%;
  z-index: 3;
}
.gnav ul {
  margin: 0 auto;
  padding-right: 20%;
  width: 100%;
  height: 130px;
}
.gnav li {
  position: relative;
  overflow: hidden;
  margin: 0;
  width: 14.2%;
  width: calc(100%/7);
  text-align: center;
}
.gnav li a {
  display: inline-block;
  position: relative;
  padding: 15px 0 0;
  color: #333;
  text-align: center;
  text-decoration: none;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.4;
  letter-spacing: -0.03em;
  white-space: nowrap;
}
.gnav li a:before {
  /*content: "";
	display: block;
	position: relative;
	overflow: hidden;
	margin: 0 auto 7px;
	height: 25px;
	line-height: 25px;
	font-size: 25px;
	font-weight: bold;
	font-family: "Font Awesome 5 Free";
	color: #22c4b0;*/
}
/*
.gnav li:nth-child(1) a:before {
	content: "\f015";
}

.gnav li:nth-child(2) a:before {
	content: "\f004";
}

.gnav li:nth-child(3) a:before {
	content: "\f017";
}

.gnav li:nth-child(4) a:before {
	content: "\f303";
}

.gnav li:nth-child(5) a:before {
	content: "\f518";
}

.gnav li:nth-child(6) a:before {
	content: "\f059";
}

.gnav li:nth-child(7) a:before {
	content: "\f005";
}
*/
.gnav .nav_mnet {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0 1.18%;
  width: 20%;
  height: 100%;
  background: #d8db3a;
}
.gnav .nav_mnet a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -js-display: flex;
  align-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
}
.gnav .nav_mnet a:before {
  display: none;
}
/* nav button */
.menuBtn {
  position: fixed;
  display: none;
  text-align: center;
  font-size: 1.0rem;
  top: 15px;
  right: 15px;
  z-index: 120;
  width: 40px;
  height: 40px;
  background: #22C4B0;
  transition: all .3s ease-out;
  cursor: pointer;
}
.menuBtn div {
  position: relative;
  margin: 8px auto 0;
  height: 24px;
  opacity: 0;
  top: -50px;
  transition: all .75s ease-out;
}
.menuBtn div:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  margin-top: -2px;
  margin-left: -15px;
  width: 30px;
  height: 4px;
  background: #fff;
  border-radius: 2px;
  opacity: 1;
  -webkit-transition: .35s ease-in-out;
  -webkit-transition: 0.35s ease-in-out;
  transition: 0.35s ease-in-out;
}
.gnav2 {
  max-width: 1080px;
  margin: 0 auto;
}
.gnav2 ul {
  display: table;
  height: auto;
  margin: 0;
  padding: 8px 0 7px;
  width: 100%;
}
.gnav2 ul li {
  display: table-cell;
  margin: 0;
  position: relative;
  vertical-align: middle;
}
.gnav2 > ul > li a {
  border-right: 1px solid #cccccc;
  color: #333333;
  display: block;
  font-size: 12px;
  line-height: 1.1;
  overflow: hidden;
  padding: 5px 10px 4px;
  text-align: center;
  text-decoration: none;
}
.headBtnFrame {
  max-width: 150%;
  min-width: 50%;
}
.headBtnFrame a {
  border: 1px solid #fff;
  box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1), 1px 1px 2px rgba(0, 0, 0, 0.3);
  background-color: #a01220;
  border-radius: 0px;
  color: #fff;
  font-size: 12px;
  display: inline-block;
  position: relative;
  height: auto;
  line-height: 1.3;
  overflow: hidden;
  padding: 0 10px 0 28px;
  text-align: center;
  text-decoration: none;
  height: 70px;
  line-height: 50px;
  position: relative;
}
.headBtnFrame a.btn_mnet {
  background-color: #d7e207;
  max-width: 160px;
  padding: 10px 10px 0 35px;
  width: 44.5%;
  line-height: 186%;
  font-size: 11px;
}
.headBtnFrame a.btn_inquiry {
  margin: 0 0 0 3%;
  max-width: 190px;
  width: 52.5%;
  padding-top: 10px;
  background-color: #22c4b0;
}
.headBtnFrame a:before {
  content: "";
  display: block;
  height: 21px;
  left: 10px;
  margin: -10.5px 0 0 0;
  position: absolute;
  top: 50%;
  width: 21px;
}
.headBtnFrame a.btn_inquiry:before {
  border: 7px solid transparent;
  border-left: 12px solid #fff;
  height: 0;
  left: 15px;
  margin: -7px 0 0;
  width: 0;
}
@-webkit-keyframes menu-bar01 {
  0% {
    -webkit-transform: translateY(10px) rotate(45deg);
  }
  50% {
    -webkit-transform: translateY(10px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}
@keyframes menu-bar01 {
  0% {
    transform: translateY(10px) rotate(45deg);
  }
  50% {
    transform: translateY(10px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
@-webkit-keyframes menu-bar03 {
  0% {
    -webkit-transform: translateY(-10px) rotate(-45deg);
  }
  50% {
    -webkit-transform: translateY(-10px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}
@keyframes menu-bar03 {
  0% {
    transform: translateY(-10px) rotate(-45deg);
  }
  50% {
    transform: translateY(-10px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
@-webkit-keyframes active-menu-bar01 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(10px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(10px) rotate(45deg);
  }
}
@keyframes active-menu-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(10px) rotate(0);
  }
  100% {
    transform: translateY(10px) rotate(45deg);
  }
}
@-webkit-keyframes active-menu-bar03 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(-10px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(-10px) rotate(-45deg);
  }
}
@keyframes active-menu-bar03 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-10px) rotate(0);
  }
  100% {
    transform: translateY(-10px) rotate(-45deg);
  }
}
.menuBtn span {
  display: block;
  margin: 0 auto;
  padding: 35px 0 0;
  height: 0;
  line-height: 100%;
  color: #333;
  font-size: 1.0rem;
  font-family: Helvetica, Arial, sans-serif;
}
.menuBtn span:before, .menuBtn span:after {
  position: absolute;
  left: 50%;
  display: block;
  margin-left: -15px;
  width: 30px;
  height: 4px;
  border-radius: 2px;
  background: #fff;
  content: "";
}
.menuBtn span:before {
  top: 0;
}
.menuBtn span:after {
  bottom: 0;
}
.menuBtn.close span:before {
  -webkit-animation: menu-bar01 .75s forwards;
  animation: menu-bar01 .75s forwards;
}
.menuBtn.close span:after {
  -webkit-animation: menu-bar03 .75s forwards;
  animation: menu-bar03 .75s forwards;
}
.menuBtn.open span:before {
  -webkit-animation: active-menu-bar01 .75s forwards;
  animation: active-menu-bar01 .75s forwards;
}
.menuBtn.open span:after {
  -webkit-animation: active-menu-bar03 .75s forwards;
  animation: active-menu-bar03 .75s forwards;
}
.menuBtn.open div:before {
  opacity: 0;
}
/* directory */
.directoryFrame {
  overflow: hidden;
}
.directoryFrame ul {
  margin: 20px 0 0;
}
.directoryFrame li:first-child:before {
  content: "\f015";
  display: inline-block;
  position: relative;
  top: -4px;
  overflow: hidden;
  margin: 0 5px 0 0;
  font-weight: bold;
  font-family: "Font Awesome 5 Free";
  color: #22c4b0;
  vertical-align: middle;
}
.directoryFrame li:not(:last-child) {
  padding: 0 5px 0 0;
}
.directoryFrame li:not(:last-child):after {
  content: ">";
  margin: 0 5px;
}
.directoryFrame li:not(:last-child) a {
  margin: 0 5px 0 0;
}
/* pageTop */
.pageTop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 150;
  width: 30px;
}
.pageTop a {
  position: relative;
  display: block;
  overflow: hidden;
  margin: -15px auto 0;
  padding: 30px 0 0;
  width: 30px;
  height: 0;
  outline: none;
  border-top: 1px solid #c0c0c0;
  text-align: center;
  text-decoration: none;
}
.pageTop a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -2px 0 0 -8px;
  width: 16px;
  height: 16px;
  border-top: 2px solid #c0c0c0;
  border-right: 2px solid #c0c0c0;
  transform: rotate(-45deg);
}
/* footer */
footer {
  overflow: hidden;
  margin: 4% auto 0;
  line-height: 1.8;
  background: #22c4b0;
}
footer .footerFrame {
  padding: 30px 0 20px;
  font-size: 12px;
  font-size: 1.2rem;
  color: #fff;
}
footer .fnavFrame {
  max-width: 428px;
}
footer .fnavFrame .logo_footer a {
  display: block;
  max-width: 167px;
  height: 92px;
}
footer .fnavFrame .logo_footer .category {
  display: block;
  margin: 8px auto 0;
  height: 22px;
  line-height: 23px;
  font-size: 14px;
  font-weight: bold;
  background: #fff;
  color: #22c4b0;
  text-align: center;
}
footer .inquiryFrame {
  width: 415px;
}
footer .fnavFrame a, footer .fnavFrame a:link, footer .fnavFrame a:hover, footer .fnavFrame a:visited {
  color: #fff;
}
footer .fnavFrame .fnav {
  overflow: hidden;
}
footer .fnavFrame .fnav li a {
  display: block;
  position: relative;
  padding-left: 13px;
  font-size: 13px;
  font-size: 1.3rem;
}
footer .fnavFrame .fnav li a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  margin: -4px 0 0 0;
  width: 5px;
  height: 5px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}
footer .fnavFrame .inner .fnav {
  max-width: 310px;
  padding-left: 20px;
  font-size: 12px;
}
footer .fnavFrame .inner .fnav li {
  float: left;
  width: 50%;
}
footer .fnavFrame .inner + .fnav {
  margin: 20px 0 0;
}
footer .fnavFrame .fnav_btm {
  margin: 15px 0 0;
  font-size: 13px;
  font-size: 1.3rem;
  justify-content: flex-start;
}
footer .fnavFrame .fnav_btm .box:first-child {
  position: relative;
  padding-right: 45px;
}
footer .fnavFrame .fnav_btm .box:nth-child(1) .img {
  padding: 4% 10px;
  max-width: 126px;
}
footer .fnavFrame .fnav_btm .box:nth-child(2) .img {
  max-width: 256px;
}
footer .fnavFrame .fnav_btm .img img {
  display: block;
}
footer .inquiryFrame .inqWrap {
  margin: 10px 0 0;
}
footer .inquiryFrame .inqWrap .box {
  position: relative;
  padding-left: 45px;
  line-height: 1.3;
}
footer .inquiryFrame .inqWrap .box:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  margin: -19px 0 0;
  width: 38px;
  height: 38px;
  line-height: 38px;
  font-size: 22px;
  font-weight: bold;
  font-family: "Font Awesome 5 Free";
  background: #d8db3a;
  border-radius: 5px;
  text-align: center;
}
footer .inquiryFrame .inqWrap .telFrame:before {
  content: "";
  background: #d8db3a url(../img/ico_tel.png) no-repeat center center;
}
footer .inquiryFrame .inqWrap .inqFrame:before {
  content: "\f0e0";
}
footer .inquiryFrame .inqWrap a {
  display: block;
  color: #fff;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  width: 100%;
}
footer .inquiryFrame .inqWrap .tel {
  font-size: 20px;
  font-size: 2.0rem;
}
footer .inquiryFrame .inqWrap .telFrame span {
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
}
footer .btmNavFrame {
  padding: 15px 0;
  background: #fafafa;
}
footer .btmNavFrame li a {
  font-size: 13px;
  font-size: 1.3rem;
}
footer .copyright {
  padding: 15px 0;
  font-size: 12px;
  font-size: 1.2rem;
  border-top: 1px solid #f1f1f1;
  background: #fff;
}
footer.type2 {
  margin: 0;
  padding: 0;
  height: 40px;
  background: #333;
}
footer.type2 .footerFrame {
  padding: 10px 0;
}
footer.type2 a {
  color: #fff;
}
footer.type2 .btmNavFrame {
  flex: 1 1 auto;
  margin: 0;
  padding: 0 3% 0 0;
  background: none;
}
footer.type2 .btmNavFrame .colWrap {
  margin: 0 -0.5%;
}
footer.type2 .btmNavFrame .box {
  margin: 0 0.5%;
}
footer.type2 .btmNavFrame a {
  font-size: 1.084vw;
}
footer.type2 .copyright {
  margin: 0;
  padding: 0;
  font-size: 1.084vw;
  background: none;
  color: #fff;
  border: 0;
}
.school-course {
  margin-top: 20px;
  margin-bottom: 40px;
  color: #fff;
}
.school-course h3 {
  font-size: 14px;
}
.school-course a, .school-course a:link, .school-course a:visited {
  color: #fff;
}
.school-course ul {
  display: flex;
  font-size: 12px;
  margin-bottom: 12px;
}
.school-course ul li:not(:first-child) {
  padding-left: 12px;
}
.section {
  overflow: hidden;
  padding: 5.3% 0;
}
.section.visible {
  overflow: visible;
}
.article {
  padding: 0 0 30px;
}
.article:last-of-type {
  padding: 0;
}
h1, h2, h3, h4, h5 {
  clear: both;
  margin: 0;
  font-weight: bold;
}
.pg_ttl {
  position: relative;
  overflow: hidden;
  margin: 10px auto;
  padding: 0;
  text-align: center;
  font-weight: 600;
  font-size: 34px;
  font-size: 3.4rem;
  line-height: 1.4;
  color: #22c4b0;
}
.pg_ttl:before, .pg_ttl:after {
  content: "-";
  display: inline-block;
  position: relative;
  margin: 0 10px;
}
.pg_ttl + .lead {
  position: relative;
  overflow: hidden;
  margin: 0 auto 20px;
  padding: 0;
  text-align: center;
  font-weight: 600;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.4;
  color: #22c4b0;
}
.pg_ttl + .lead.font_l {
  font-size: 30px;
  font-size: 3.0rem;
}
.ttl {
  position: relative;
  overflow: hidden;
  margin: 0 auto 20px;
  padding: 0;
  text-align: center;
  font-weight: 600;
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1.65;
}
.ttl .sub {
  display: block;
  margin: 3px auto 0;
  font-weight: 500;
  font-size: 14px;
  font-size: 1.4rem;
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}
.ttl.f_sans {
  font-weight: 400;
}
.ttl_m {
  position: relative;
  overflow: hidden;
  margin: 10px auto 25px;
  padding: 0;
  text-align: center;
  font-weight: 600;
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1.4;
  color: #22c4b0;
}
.ttl_m + .txt {
  margin: -25px auto 20px;
  text-align: center;
  font-size: 17px;
  font-size: 1.7rem;
}
.ttl_m.font_l {
  font-size: 36px;
  font-size: 3.6rem;
}
.ttl_m.font_s {
  font-size: 30px;
  font-size: 3.0rem;
}
.ttl_s {
  position: relative;
  overflow: hidden;
  margin: 20px 0;
  font-weight: 600;
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.4;
  color: #22c4b0;
}
.ttl.text-left, .ttl_m.text-left {
  text-align: left;
}
.btn {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0 auto;
  padding: 10px 10px;
  max-width: 220px;
  background: #22c4b0;
  color: #fff;
  font-weight: 500;
  border-radius: 6px;
  text-align: center;
  text-decoration: none;
  font-size: 20px;
  font-size: 2.0rem;
  line-height: 1.3;
  letter-spacing: 0;
}
.btn i {
  position: absolute;
  top: 50%;
  right: 12px;
  display: block;
  margin: -7px 0 0;
  width: 14px;
  height: 14px;
  line-height: 14px;
  font-size: 14px;
  color: #009fb7;
}
.btn.arrw {
  padding-left: 20px;
}
.btn.arrw:before, .btn.arrw:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 30px;
  margin: -4px 0 0 0;
  width: 5px;
  height: 5px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}
.btn.arrw:after {
  left: 25px;
}
.btn:link, .btn:visited, .btn:hover {
  color: #fff;
  text-decoration: none;
}
.btn:hover {
  opacity: .5;
}
.btn01, .btn02 {
  border: 0;
  border-radius: 6px;
}
.btn01:link, .btn01:hover, .btn01:visited, .btn02:link, .btn02:hover, .btn02:visited {
  color: #fff;
}
.btn01 {
  background: #016db8;
}
.btn02 {
  background: #00a0b8;
}
/* 幅1200px以上から
------------------------------------------------------------*/
@media only screen and (min-width: 1200px) {
  footer {
    margin: 50px auto 0;
  }
  footer.type2 .btmNavFrame a, footer.type2 .copyright {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .section {
    padding: 65px 0;
  }
  .mainvisual {
    padding: 10px 0 10px !important;
  }
}
/* 幅1100px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 1100px) {
  header .logoFrame {
    width: 19%;
    min-width: 235px;
  }
  header .topNav {
    font-size: 1.3vw;
  }
  .gnav li a {
    letter-spacing: -0.08em
  }
  .mainvisual {
    padding: 10px 0 10px !important;
  }
}
/* 幅1000px以下から
------------------------------------------------------------*/
@media only screen and (min-width: 1000px) {
  .headBtnFrame {
    max-width: 150%;
    min-width: 39%;
  }
}
/* 幅1010px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 1010px) {
  /* ===== MODULES (sp) ===== */
  img {
    max-width: 100%;
    height: auto;
  }
  header {
    position: relative;
    background: #fff;
  }
  header.index-head {
    background: #fff;
    display: block;
    width: 100%;
    position: fixed;
  }
.appearance-bg h1 {
	font-size: 18px;
	margin-bottom: 20px;
	color: #31c4b2;
	}
  .mainvisual {
    padding: 0px 0 0px !important;
  }
  .pc {}
  .tab, .tab.sp {
    display: block !important;
  }
  .colWrap {
    display: block;
  }
  .colWrap:not(.tab-colWrap).col2 .box {
    width: auto;
  }
  .colWrap:not(.tab-colWrap).col2.sp0 .box {
    width: auto;
  }
  .colWrap:not(.tab-colWrap).col3 .box {
    width: auto;
  }
  .colWrap:not(.tab-colWrap).col3.sp0 .box {
    width: auto;
  }
  .colWrap:not(.tab-colWrap).col4 .box {
    width: auto;
  }
  .colWrap:not(.tab-colWrap).col4.sp0 .box {
    width: auto;
  }
  .colWrap:not(.tab-colWrap).col5 .box {
    width: auto;
  }
  .colWrap:not(.tab-colWrap).col5.sp0 .box {
    width: auto;
  }
  .colWrap:not(.tab-colWrap).col6 .box {
    width: auto;
  }
  .colWrap:not(.tab-colWrap).col6.sp0 .box {
    width: auto;
  }
  .tab-colWrap, .colWrap.tab-colWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -js-display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  /* plus detail-page 20180910 */
  .colWrap.tab-colWrap.det-minipic {
    justify-content: start;
  }
  .tab-colWrap.tab-rtl {
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
  }
  .tab-colWrap.tab-wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .tab-colWrap.tab-boxAlign-left {
    -ms-flex-pack: start;
    -webkit-box-pack: start;
    justify-content: flex-start;
  }
  .tab-colWrap.tab-boxAlign-center {
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  .colWrap.tab-colWrap.tab-col2.full {
    margin-right: -1.4%;
    margin-left: -1.4%;
  }
  .colWrap.tab-colWrap.tab-col2 .box, .colWrap.tab-colWrap.tab-col2 .tab-box {
    margin-right: 1.4%;
    margin-left: 1.4%;
    width: 47.8409090909%;
    width: calc(calc(100% / 2) - 2.8%);
  }
  .colWrap.tab-colWrap.tab-col2.sp0 .box {
    margin-right: 0;
    margin-left: 0;
  }
  .colWrap.tab-colWrap.tab-col2.sp0 .box, .colWrap.tab-colWrap.tab-col2.sp0 .tab-box {
    width: 50%;
  }
  .colWrap.tab-colWrap.tab-col3.full {
    margin-right: -1.4%;
    margin-left: -1.4%;
  }
  .colWrap.tab-colWrap.tab-col3 .box, .colWrap.tab-colWrap.tab-col3 .tab-box {
    margin-right: 1.4%;
    margin-left: 1.4%;
    width: 31.1742424242%;
    width: calc(calc(100% / 3) - 2.8%);
  }
  .colWrap.tab-colWrap.tab-col3.sp0 .box {
    margin-right: 0;
    margin-left: 0;
  }
  .colWrap.tab-colWrap.tab-col3.sp0 .box, .colWrap.tab-colWrap.tab-col3.sp0 .tab-box {
    width: 33.3333333333%;
  }
  .colWrap.tab-colWrap.tab-col4.full {
    margin-right: -1.4%;
    margin-left: -1.4%;
  }
  .colWrap.tab-colWrap.tab-col4 .box, .colWrap.tab-colWrap.tab-col4 .tab-box {
    margin-right: 1.4%;
    margin-left: 1.4%;
    width: 22.8409090909%;
    width: calc(calc(100% / 4) - 2.8%);
  }
  .colWrap.tab-colWrap.tab-col4.sp0 .box {
    margin-right: 0;
    margin-left: 0;
  }
  .colWrap.tab-colWrap.tab-col4.sp0 .box, .colWrap.tab-colWrap.tab-col4.sp0 .tab-box {
    width: 25%;
  }
  .colWrap.tab-colWrap.tab-col5.full {
    margin-right: -1.4%;
    margin-left: -1.4%;
  }
  .colWrap.tab-colWrap.tab-col5 .box, .colWrap.tab-colWrap.tab-col5 .tab-box {
    margin-right: 1.4%;
    margin-left: 1.4%;
    width: 17.8409090909%;
    width: calc(calc(100% / 5) - 2.8%);
  }
  .colWrap.tab-colWrap.tab-col5.sp0 .box {
    margin-right: 0;
    margin-left: 0;
  }
  .colWrap.tab-colWrap.tab-col5.sp0 .box, .colWrap.tab-colWrap.tab-col5.sp0 .tab-box {
    width: 20%;
  }
  .colWrap.tab-colWrap.tab-col6.full {
    margin-right: -1.4%;
    margin-left: -1.4%;
  }
  .colWrap.tab-colWrap.tab-col6 .box, .colWrap.tab-colWrap.tab-col6 .tab-box {
    margin-right: 1.4%;
    margin-left: 1.4%;
    width: 14.8409090909%;
    width: calc(calc(100% / 6) - 2.8%);
  }
  .colWrap.tab-colWrap.tab-col6.sp0 .box {
    margin-right: 0;
    margin-left: 0;
  }
  .colWrap.tab-colWrap.tab-col6.sp0 .box, .colWrap.tab-colWrap.tab-col6.sp0 .tab-box {
    width: 16.66%;
  }
  .colWrap.col2.sp20, .colWrap.col3.sp20, .colWrap.col4.sp20, .colWrap.col5.sp20, .colWrap.col6.sp20 {
    margin: 0 -1%;
  }
  .colWrap.col2.sp20 .box, .colWrap.col3.sp20 .box, .colWrap.col4.sp20 .box, .colWrap.col5.sp20 .box, .colWrap.col6.sp20 .box {
    margin: 0 1%;
  }
  .colWrap.col2.sp20 .box, .colWrap.tab-colWrap.tab-col2.sp20 .box {
    width: 47%;
    width: calc(calc(100% / 2) - 2%);
  }
  .colWrap.col3.sp20 .box, .colWrap.tab-colWrap.tab-col3.sp20 .box {
    width: 31%;
    width: calc(calc(100% / 3) - 2%);
  }
  .colWrap.col4.sp20 .box, .colWrap.tab-colWrap.tab-col4.sp20 .box {
    width: 23%;
    width: calc(calc(100% / 4) - 2%);
  }
  .colWrap.col5.sp20 .box, .colWrap.tab-colWrap.tab-col5.sp20 .box {
    width: 18%;
    width: calc(calc(100% / 5) - 2%);
  }
  .colWrap.col6.sp20 .box, .colWrap.tab-colWrap.tab-col6.sp20 .box {
    width: 15%;
    width: calc(calc(100% / 6) - 2%);
  }
  .colWrap.wrap.sp20 .box {
    margin-bottom: 2%;
  }
  /*table:not(.tab-table) th,
	table:not(.tab-table) td {
		display: block;
		width: 100% !important;
	}*/
  table:not(.tab-table) tr:last-child td {
    border-bottom: 1px solid #dcdcdc;
  }
  .ipad table:not(.tab-table) tr:last-child td {
    /*ipadのみ*/
    padding: 0% 2% 7% 14%;
    height: auto;
  }
  table:not(.tab-table) th {
    font-weight: bold;
  }
  table:not(.tab-table) td {
    padding-left: 1.8em;
  }
  table.tab-table th, table.tab-table td {
    padding: 10px 10px 8px;
    font-weight: normal;
  }
  input[type="text"].tab-max, input[type="tel"].tab-max, input[type="email"].tab-max, select.tab-max, textarea.tab-max {
    width: 100%;
  }
  /* ===== COMMON STYLES ===== */
  body {
    clear: both;
    content: 'tab';
  }
  header .logoFrame {
    margin: 0 10px 0 20px;
    /* width: 14%; */
    width: 22%;
    max-width: 220px;
    min-width: 1px;
  }
  header .logoFrame a {
    width: 65%;
  }
  /* gnav */
  header .navFrame {
    max-width: 740px;
  }
  header .colWrap, .gnav ul {
    height: 100px;
  }
  .gnav ul {
    padding-right: 15%;
  }
  .gnav li a {
    padding: 0;
    font-size: 12px;
    font-size: 1.2rem;
    font-size: 1.4vw;
    letter-spacing: -0.09em;
  }
  .gnav li a:before {
    height: 2.5vw;
    line-height: 2.5vw;
    font-size: 2.5vw;
  }
  .gnav .nav_mnet {
    padding: 0 1%;
    width: 15%;
    max-width: 168px;
  }
  .content {
    /*margin-top: 100px;*/
  }
  footer .inquiryFrame {
    width: 40%;
    text-align: center;
  }
  footer .inquiryFrame > p {
    display: inline-block;
    margin: 0 auto;
    text-align: left;
    width: 200px;
    line-height: 1.6;
  }
  footer .inquiryFrame .inqWrap {
    margin: 10px auto 0;
    max-width: 200px;
  }
  footer .inquiryFrame .inqWrap p {
    text-align: left;
  }
  footer .inquiryFrame .inqWrap .sp0 .box {
    margin: 10px auto 30px;
    text-align: left;
  }
  footer .btmNavFrame a {
    font-size: 1.5vw;
  }
  footer.type2 .container {
    padding: 0 15px;
  }
  footer.type2 .copy {
    flex: 0 1 auto;
    max-width: 160px;
    line-height: 1.2;
  }
  footer.type2 .copyright {
    font-size: 10px;
  }
  .ttl {
    font-size: 3.6vw;
  }
  .ttl_m {
    font-size: 4.0vw;
  }
  .ttl_m.font_s {
    font-size: 3.0vw;
  }
  .rainbowkids-mv {
    width: 100%;
    margin: 0 auto 2%;
    position: absolute;
    /* padding-top: 350px; */
    bottom: 0;
    right: 0;
    left: 0;
  }
  .school-course {
    display: none;
  }
}
@media only screen and (max-width: 930px) {
  .rainbowkids-mv {
    width: 100%;
    margin: 0 auto 2%;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
  }
}
/* 幅767px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 768px) {
  /* ===== MODULES (sp) ===== */
  .school-select h1, .school-select h2 {
    font-size: 130%;
    margin-bottom: 1%;
  }
  img {
    max-width: 100%;
    height: auto;
  }
  .pc, .tab, .pc.tab {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  table:not(.tab-table) td {
    display: block;
    width: 100% !important;
  }
  .colWrap, .colWrap.tab-colWrap {
    display: block;
  }
  .colWrap.col2, .colWrap.col3, .colWrap.col4, .colWrap.col5, .colWrap.col6.full, .colWrap.col2.full, .colWrap.col3.full, .colWrap.col4.full, .colWrap.col5.full, .colWrap.col6.full {
    margin-left: auto;
    margin-right: auto;
  }
  .colWrap:not(.sp-colWrap).col2 > .box, .colWrap.tab-colWrap:not(.sp-colWrap).col2 > .box {
    width: auto;
  }
  .colWrap:not(.sp-colWrap).col2.sp0 > .box, .colWrap.tab-colWrap:not(.sp-colWrap).col2.sp0 > .box {
    width: auto;
  }
  .colWrap:not(.sp-colWrap).col3 > .box, .colWrap.tab-colWrap:not(.sp-colWrap).col3 > .box {
    width: auto;
  }
  .colWrap:not(.sp-colWrap).col3.sp0 > .box, .colWrap.tab-colWrap:not(.sp-colWrap).col3.sp0 > .box {
    width: auto;
  }
  .colWrap:not(.sp-colWrap).col4 > .box, .colWrap.tab-colWrap:not(.sp-colWrap).col4 > .box {
    width: auto;
  }
  .colWrap:not(.sp-colWrap).col4.sp0 > .box, .colWrap.tab-colWrap:not(.sp-colWrap).col4.sp0 > .box {
    width: auto;
  }
  .colWrap:not(.sp-colWrap).col5 > .box, .colWrap.tab-colWrap:not(.sp-colWrap).col5 > .box {
    width: auto;
  }
  .colWrap:not(.sp-colWrap).col5.sp0 > .box, .colWrap.tab-colWrap:not(.sp-colWrap).col5.sp0 > .box {
    width: auto;
  }
  .colWrap:not(.sp-colWrap).col6 > .box, .colWrap.tab-colWrap:not(.sp-colWrap).col6 > .box {
    width: auto;
  }
  .colWrap:not(.sp-colWrap).col6.sp0 > .box, .colWrap.tab-colWrap:not(.sp-colWrap).col6.sp0 > .box {
    width: auto;
  }
  .sp-colWrap, .colWrap.sp-colWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -js-display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  .sp-colWrap.sp-rtl {
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
  }
  .sp-colWrap.sp-wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .sp-colWrap.sp-boxAlign-left {
    -ms-flex-pack: start;
    -webkit-box-pack: start;
    justify-content: flex-start;
  }
  .sp-colWrap.sp-boxAlign-center {
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  .colWrap.sp-colWrap.sp-col2.full {
    margin-right: -2.0746268657%;
    margin-left: -2.0746268657%;
  }
  .colWrap.sp-colWrap.sp-col2 .box, .colWrap.sp-colWrap.sp-col2 .sp-box {
    margin-right: 2.0746268657%;
    margin-left: 2.0746268657%;
    width: 45.8507462687%;
    width: calc(calc(100% / 2) - 4.1492537313%);
  }
  .colWrap.sp-colWrap.sp-col2.sp0 .box, .sp-colWrap.sp-col2.sp-sp0 .box {
    margin-right: 0;
    margin-left: 0;
  }
  .colWrap.sp-colWrap.sp-col2.sp0 .box, .colWrap.sp-colWrap.sp-col2.sp0 .sp-box, .sp-colWrap.sp-col2.sp-sp0 .box {
    width: 50%;
  }
  .colWrap.sp-colWrap.sp-col3.full {
    margin-right: -2.0746268657%;
    margin-left: -2.0746268657%;
  }
  .colWrap.sp-colWrap.sp-col3 .box, .colWrap.sp-colWrap.sp-col3 .sp-box {
    margin-right: 2.0746268657%;
    margin-left: 2.0746268657%;
    width: 29.184079602%;
    width: calc(calc(100% / 3) - 4.1492537313%);
  }
  .colWrap.sp-colWrap.sp-col3.sp0 .box {
    margin-right: 0;
    margin-left: 0;
  }
  .colWrap.sp-colWrap.sp-col3.sp0 .box, .colWrap.sp-colWrap.sp-col3.sp0 .sp-box {
    width: 33.3333333333%;
  }
  .colWrap.sp-colWrap.sp-col4.full {
    margin-right: -2.0746268657%;
    margin-left: -2.0746268657%;
  }
  .colWrap.sp-colWrap.sp-col4 .box, .colWrap.sp-colWrap.sp-col4 .sp-box {
    margin-right: 2.0746268657%;
    margin-left: 2.0746268657%;
    width: 20.8507462687%;
    width: calc(calc(100% / 4) - 4.1492537313%);
  }
  .colWrap.sp-colWrap.sp-col4.sp0 .box {
    margin-right: 0;
    margin-left: 0;
  }
  .colWrap.sp-colWrap.sp-col4.sp0 .box, .colWrap.sp-colWrap.sp-col4.sp0 .sp-box {
    width: 25%;
  }
  .colWrap.sp-colWrap.sp-col5.full {
    margin-right: -2.0746268657%;
    margin-left: -2.0746268657%;
  }
  .colWrap.sp-colWrap.sp-col5 .box, .colWrap.sp-colWrap.sp-col5 .sp-box {
    margin-right: 2.0746268657%;
    margin-left: 2.0746268657%;
    width: 15.8507462687%;
    width: calc(calc(100% / 5) - 4.1492537313%);
  }
  .colWrap.sp-colWrap.sp-col5.sp0 .box {
    margin-right: 0;
    margin-left: 0;
  }
  .colWrap.sp-colWrap.sp-col5.sp0 .box, .colWrap.sp-colWrap.sp-col5.sp0 .sp-box {
    width: 20%;
  }
  .colWrap.sp-colWrap.sp-col6.full {
    margin-right: -2.0746268657%;
    margin-left: -2.0746268657%;
  }
  .colWrap.sp-colWrap.sp-col6 .box, .colWrap.sp-colWrap.sp-col6 .sp-box {
    margin-right: 2.0746268657%;
    margin-left: 2.0746268657%;
    width: 14.8507462687%;
    width: calc(calc(100% / 6) - 4.1492537313%);
  }
  .colWrap.sp-colWrap.sp-col6.sp0 .box {
    margin-right: 0;
    margin-left: 0;
  }
  .colWrap.sp-colWrap.sp-col6.sp0 .box, .colWrap.sp-colWrap.sp-col6.sp0 .sp-box {
    width: 16.66%;
  }
  .colWrap.col2.sp20, .colWrap.col3.sp20, .colWrap.col4.sp20, .colWrap.col5.sp20, .colWrap.col6.sp20 {
    margin: 0 -1%;
  }
  .colWrap.col2.sp20 .box, .colWrap.col3.sp20 .box, .colWrap.col4.sp20 .box, .colWrap.col5.sp20 .box, .colWrap.col6.sp20 .box {
    margin: 0 1%;
  }
  .colWrap.col2.sp20 .box, .colWrap.sp-colWrap.sp-col2.sp20 .box {
    width: 47%;
    width: calc(calc(100% / 2) - 2%);
  }
  .colWrap.col3.sp20 .box, .colWrap.sp-colWrap.sp-col3.sp20 .box {
    width: 31%;
    width: calc(calc(100% / 3) - 2%);
  }
  .colWrap.col4.sp20 .box, .colWrap.sp-colWrap.sp-col4.sp20 .box {
    width: 23%;
    width: calc(calc(100% / 4) - 2%);
  }
  .colWrap.col5.sp20 .box, .colWrap.sp-colWrap.sp-col5.sp20 .box {
    width: 18%;
    width: calc(calc(100% / 5) - 2%);
  }
  .colWrap.col6.sp20 .box, .colWrap.sp-colWrap.sp-col6.sp20 .box {
    width: 15%;
    width: calc(calc(100% / 6) - 2%);
  }
  .colWrap.wrap.sp20 .box {
    margin-bottom: 2%;
  }
  table:not(.sp-table) th, table:not(.sp-table) td, table.tab-table:not(.sp-table) th, table.tab-table:not(.sp-table) td {
    display: block;
    width: 100% !important;
    border-bottom: 0;
  }
  table:not(.sp-table) th {
    font-weight: bold;
    border-bottom: 0;
  }
  table:not(.sp-table) td {
    padding: 10px 1em 25px;
    border-top: 0;
  }
  table.sp-table th, table.sp-table td {
    padding: 8px 8px 4px;
    font-weight: normal;
  }
  input[type="text"].sp-max, input[type="tel"].sp-max, input[type="email"].sp-max, select.sp-max, textarea.sp-max {
    width: 100%;
  }
  .mt5 {
    margin-top: 3.5px !important;
  }
  .mb5 {
    margin-bottom: 3.5px !important;
  }
  .ml5 {
    margin-left: 3.5px !important;
  }
  .mr5 {
    margin-right: 3.5px !important;
  }
  .pt5 {
    padding-top: 3.5px !important;
  }
  .pb5 {
    padding-bottom: 3.5px !important;
  }
  .pl5 {
    padding-left: 3.5px !important;
  }
  .pr5 {
    padding-right: 3.5px !important;
  }
  .mt10 {
    margin-top: 7px !important;
  }
  .mb10 {
    margin-bottom: 7px !important;
  }
  .ml10 {
    margin-left: 7px !important;
  }
  .mr10 {
    margin-right: 7px !important;
  }
  .pt10 {
    padding-top: 7px !important;
  }
  .pb10 {
    padding-bottom: 7px !important;
  }
  .pl10 {
    padding-left: 7px !important;
  }
  .pr10 {
    padding-right: 7px !important;
  }
  .mt15 {
    margin-top: 10.5px !important;
  }
  .mb15 {
    margin-bottom: 10.5px !important;
  }
  .ml15 {
    margin-left: 10.5px !important;
  }
  .mr15 {
    margin-right: 10.5px !important;
  }
  .pt15 {
    padding-top: 10.5px !important;
  }
  .pb15 {
    padding-bottom: 10.5px !important;
  }
  .pl15 {
    padding-left: 10.5px !important;
  }
  .pr15 {
    padding-right: 10.5px !important;
  }
  .mt20 {
    margin-top: 14px !important;
  }
  .mb20 {
    margin-bottom: 14px !important;
  }
  .ml20 {
    margin-left: 14px !important;
  }
  .mr20 {
    margin-right: 14px !important;
  }
  .pt20 {
    padding-top: 14px !important;
  }
  .pb20 {
    padding-bottom: 14px !important;
  }
  .pl20 {
    padding-left: 14px !important;
  }
  .pr20 {
    padding-right: 14px !important;
  }
  .mt25 {
    margin-top: 17.5px !important;
  }
  .mb25 {
    margin-bottom: 17.5px !important;
  }
  .ml25 {
    margin-left: 17.5px !important;
  }
  .mr25 {
    margin-right: 17.5px !important;
  }
  .pt25 {
    padding-top: 17.5px !important;
  }
  .pb25 {
    padding-bottom: 17.5px !important;
  }
  .pl25 {
    padding-left: 17.5px !important;
  }
  .pr25 {
    padding-right: 17.5px !important;
  }
  .mt30 {
    margin-top: 21px !important;
  }
  .mb30 {
    margin-bottom: 21px !important;
  }
  .ml30 {
    margin-left: 21px !important;
  }
  .mr30 {
    margin-right: 21px !important;
  }
  .pt30 {
    padding-top: 21px !important;
  }
  .pb30 {
    padding-bottom: 21px !important;
  }
  .pl30 {
    padding-left: 21px !important;
  }
  .pr30 {
    padding-right: 21px !important;
  }
  .mt35 {
    margin-top: 24.5px !important;
  }
  .mb35 {
    margin-bottom: 24.5px !important;
  }
  .ml35 {
    margin-left: 24.5px !important;
  }
  .mr35 {
    margin-right: 24.5px !important;
  }
  .pt35 {
    padding-top: 24.5px !important;
  }
  .pb35 {
    padding-bottom: 24.5px !important;
  }
  .pl35 {
    padding-left: 24.5px !important;
  }
  .pr35 {
    padding-right: 24.5px !important;
  }
  .mt40 {
    margin-top: 28px !important;
  }
  .mb40 {
    margin-bottom: 28px !important;
  }
  .ml40 {
    margin-left: 28px !important;
  }
  .mr40 {
    margin-right: 28px !important;
  }
  .pt40 {
    padding-top: 28px !important;
  }
  .pb40 {
    padding-bottom: 28px !important;
  }
  .pl40 {
    padding-left: 28px !important;
  }
  .pr40 {
    padding-right: 28px !important;
  }
  .mt45 {
    margin-top: 31.5px !important;
  }
  .mb45 {
    margin-bottom: 31.5px !important;
  }
  .ml45 {
    margin-left: 31.5px !important;
  }
  .mr45 {
    margin-right: 31.5px !important;
  }
  .pt45 {
    padding-top: 31.5px !important;
  }
  .pb45 {
    padding-bottom: 31.5px !important;
  }
  .pl45 {
    padding-left: 31.5px !important;
  }
  .pr45 {
    padding-right: 31.5px !important;
  }
  .mt50 {
    margin-top: 35px !important;
  }
  .mb50 {
    margin-bottom: 35px !important;
  }
  .ml50 {
    margin-left: 35px !important;
  }
  .mr50 {
    margin-right: 35px !important;
  }
  .pt50 {
    padding-top: 35px !important;
  }
  .pb50 {
    padding-bottom: 35px !important;
  }
  .pl50 {
    padding-left: 35px !important;
  }
  .pr50 {
    padding-right: 35px !important;
  }
  .sp-mt0 {
    margin-top: 0 !important;
  }
  .sp-mb0 {
    margin-bottom: 0 !important;
  }
  .sp-pt0 {
    padding-top: 0 !important;
  }
  .sp-pb0 {
    padding-bottom: 0 !important;
  }
  .sp-mt10 {
    margin-top: 10px !important;
  }
  .sp-mb10 {
    margin-bottom: 10px !important;
  }
  .sp-pt10 {
    padding-top: 10px !important;
  }
  .sp-pb10 {
    padding-bottom: 10px !important;
  }
  .sp-mt15 {
    margin-top: 15px !important;
  }
  .sp-mb15 {
    margin-bottom: 15px !important;
  }
  .sp-pt15 {
    padding-top: 15px !important;
  }
  .sp-pb15 {
    padding-bottom: 15px !important;
  }
  /* ===== end - MODULES (sp) ===== */
  .sp-text-center {
    text-align: center !important;
  }
  .sp-text-left {
    text-align: left !important;
  }
  .sp-text-right {
    text-align: right !important;
  }
  .sp-blck {
    display: block;
  }
  .sp-in-blck {
    display: inline-block;
  }
  /* ===== COMMON STYLES ===== */
  body {
    clear: both;
    content: 'sp';
  }
  body:before {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    display: block;
    visibility: hidden;
    width: 100%;
    height: 100vh;
    background-color: black;
    opacity: 0;
    -webkit-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out;
  }
  body.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
  }
  body.fixed:before {
    visibility: visible;
  }
  /* header */
  header .container {
    padding: 0;
  }
  header.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 75px;
    background: rgba(255, 255, 255, 1);
    z-index: 100;
  }
  header.open {
    height: 50px;
  }
  header .colWrap {
    padding: 0;
    height: 75px;
  }
  header .logoFrame, header .navFrame {
    padding: 0;
    width: auto;
  }
  header .logoFrame {
    position: relative;
    margin: 0;
    padding: 0;
    max-width: 100%;
    text-align: left;
    z-index: 20;
  }
  header .logoFrame a {
    display: block;
    width: 110px;
    margin: 5px 0 0 10px;
  }
  header .logoFrame .logo {
    transition: all 0.3s ease;
    opacity: 1;
  }
  header.open .logoFrame .logo {
    /*	display: none; */
    opacity: 0;
  }
  header .topNav {
    font-size: 1.4vw;
  }
  header .logoFrame .catNav {
    padding: 0;
    position: absolute;
    /* display: none !important; */
    height: auto;
    left: 15px;
    top: 15px;
    opacity: 0;
    overflow: hidden;
    transition: all 0.6s ease;
  }
  header.open .logoFrame .catNav {
    /* display: block !important; */
    opacity: 1;
  }
  header .logoFrame .catNav li {
    float: left;
    margin: 0;
    padding: 0 5px 0 0;
  }
  header .logoFrame .catNav li:last-child {
    padding: 0;
  }
  header .logoFrame .catNav li a {
    margin: 0 auto;
    position: relative;
    display: table;
    text-align: center;
    font-size: 10px;
    line-height: 1.2;
    color: #FFFFFF;
    width: 40px;
    height: 40px;
    overflow: hidden;
  }
  header .logoFrame .catNav li a .sp {
    display: table-cell!important;
    vertical-align: middle;
  }
  header .logoFrame .catNav li.nav_jhs a {
    background-color: #E21B1B;
  }
  header .logoFrame .catNav li.nav_ps a {
    background-color: #9F79CF;
  }
  header .logoFrame .catNav li.nav_hs a {
    background-color: #172f6b;
  }
  header .logoFrame .catNav li.nav_sougou a {
    background-color: #005bab;
  }
  header .logoFrame .catNav li.nav_annex a {
    background-color: #15AA00;
  }
  header .logoFrame .catNav li.nav_rainbow a {
    background-color: #22c4b0;
  }
  header .logoFrame .catNav li.nav_others a {
    background-color: #005bab;
  }
  header .logoFrame .catNav li.nav_afterSchool a {
    background-color: #22c4b0;
  }
  /* 
  header .headBtnFrame {
    display: none !important;
  }
   */
  header .navFrame {
    display: block;
    position: static;
    width: auto;
    max-width: 100%;
  }
  .gnav {
    position: fixed;
    overflow: hidden;
    top: 50px;
    left: 0;
    width: 100%;
    height: 100vh;
    min-width: 1px;
    max-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition: max-height .3s ease-out;
    z-index: 10;
  }
  header .gnav nav {
    min-height: 567px;
  }
  .gnav.open {
    max-height: 100vh !important;
  }
  .gnav ul {
    display: block;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    background: rgba(255, 255, 255, 1);
  }
  .gnav ul, .gnav li {
    display: block;
    padding: 0;
    width: auto;
  }
  .gnav li a {
    display: block;
    padding: 13px 20px !important;
    font-size: 14px;
    font-size: 1.4rem;
    border-top: 1px solid #ddd;
    text-align: left;
  }
  .gnav li:first-child a {
    margin-top: 25px;
  }
  .gnav li a:before {
    display: none;
  }
  .gnav .nav_mnet {
    display: none;
  }
  .gnav .headBtnFrame {
    display: table;
    width: 100%;
  }
  .gnav .headBtnFrame a {
    border: 0;
    box-shadow: none;
    display: table-cell;
    font-size: 13px;
    line-height: 1;
    margin: 0;
    padding: 11px 0 9px 24px;
    position: relative;
    text-align: left;
    width: 50%;
    vertical-align: middle;
  }
  .gnav .headBtnFrame a.btn_inquiry {
    color: #fff;
    background: #db2a2a;
  }
  .gnav .headBtnFrame a.btn_inquiry:before {
    content: "";
    display: block;
    position: absolute;
    border: 6px solid transparent;
    border-left: 10px solid #fff;
    height: 0;
    top: 50%;
    left: 7px;
    margin: -6px 0 0;
    width: 0;
  }
  .gnav .headBtnFrame a.btn_mnet {
    padding: 11px 10px 9px;
    background: #d8db3a;
  }
  .gnav .headBtnFrame a.btn_mnet img, .gnav .headBtnFrame a.btn_mnet .img {
    margin: 0;
    width: 100px;
  }
  .gnav .telFrame {
    background: #fff;
    font-size: 11px;
    line-height: 1.1;
    padding: 18px 5px;
    text-align: center;
  }
  .gnav .telFrame .txt {
    font-weight: bold;
    font-size: 14px;
  }
  .gnav .telFrame .tel {
    color: #22c4b0;
    display: block;
    margin: 0 auto;
    text-decoration: none;
    width: auto;
  }
  .gnav .telFrame .tel .num {
    /*background: url(../img/ico_freedial.png) no-repeat 0 center;*/
    background-size: 40px auto;
    font-size: 30px;
    font-weight: bold;
    padding: 0 0 0 0px;
  }
  .gnav .telFrame .tel .num i {
    font-size: 28px;
    padding-right: 1%;
  }
  .menuBtn.open {
    /* top: 5px; */
  }
  .menuBtn div {
    opacity: 1;
    top: 0;
  }
  .container {
    padding-right: 4%;
    padding-left: 4%;
  }
  .content {}
  .content.spc {
    margin-top: 0 !important;
  }
  /* footer */
  footer {
    margin: 25px auto 0;
  }
  footer .footerFrame {
    padding: 20px 0;
  }
  footer .fnavFrame {
    max-width: 100%;
  }
  footer .fnavFrame .logo_footer {
    margin: 0 auto 20px;
    max-width: 194px;
  }
  footer .btmNavFrame, footer.type2 .btmNavFrame {
    padding: 0;
  }
  footer .btmNavFrame .container, footer.type2 .container, footer.type2 .btmNavFrame .container {
    padding: 0;
  }
  footer .btmNavFrame li a, footer.type2 .btmNavFrame li a {
    display: block;
    /* padding: 14px 10px; */
    padding: 0 3px;
    height: 40px;
    line-height: 40px;
    font-size: 10px;
    border-bottom: 1px solid #f1f1f1;
  }
  footer .btmNavFrame li:nth-child(1) a, footer .btmNavFrame li:nth-child(4) a, footer .btmNavFrame li:nth-child(6) a, footer.type2 .btmNavFrame li:nth-child(1) a, footer.type2 .btmNavFrame li:nth-child(4) a, footer.type2 .btmNavFrame li:nth-child(6) a {
    border-right: 1px solid #f1f1f1;
  }
  footer .copyright {
    padding: 0;
    height: 30px;
    line-height: 30px;
    border: 0;
    font-size: 11px;
    font-size: 1.1rem;
  }
  footer.type2 {
    height: auto;
  }
  footer.type2 .footerFrame {
    padding: 0;
  }
  footer.type2 .btmNavFrame {
    background: #fafafa;
  }
  footer.type2 .btmNavFrame .colWrap {
    margin: 0;
  }
  footer.type2 .btmNavFrame li a {
    color: #333;
  }
  footer.type2 .copy {
    max-width: 100%;
  }
  footer.type2 .copyright {
    background: #333;
    font-size: 11px;
    font-size: 1.1rem;
  }
  /* directory */
  .directoryFrame {
    margin: 20px 0 15px;
  }
  .directoryFrame ul {
    margin: 0;
  }
  .directoryFrame li {
    font-size: 12px;
  }
  .directoryFrame li:first-child:before {
    top: -2px;
  }
  /* pageTop */
  .pageTop {
    right: 10px;
    bottom: 10px;
  }
  .pg_ttl {
    font-size: 23px;
    font-size: 2.3rem;
  }
  .pg_ttl + .lead {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .pg_ttl + .lead.font_l {
    font-size: 17px;
    font-size: 1.7rem;
  }
  .ttl {
    margin: 0 auto 15px;
    font-size: 25px;
    font-size: 2.5rem !important;
    letter-spacing: -0.07em;
    line-height: 1.5;
  }
  .ttl_m {
    margin: 0 auto 15px;
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: -0.07em;
    line-height: 1.5;
  }
  .ttl_m + .txt {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .ttl_m.font_l {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .ttl_m.font_s {
    /*	font-size: 18px;
		font-size: 1.8rem; */
    font-size: 22px;
    font-size: 2.2rem;
  }
  .ttl_s {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .btn {
    padding: 12px 10px;
    max-width: 240px;
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media all and (-ms-high-contrast: none) {
  .btn {
    padding: 19px 10px 15px;
  }
}
@media only screen and (min-width: 769px) {
  #index-header {
    top: 0;
    left: 0;
    z-index: 99;
    position: absolute;
    background-color: rgba(0, 0, 0, 0);
  }
  .headBtnFrame a.btn_mnet:before {
    background: url(../images/ico_mnet.png) no-repeat 0 center;
  }
}
/* 幅768px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 768px) {
  header.fixed {
    position: fixed;
    width: 100%;
    z-index: 100;
    top: 0;
    left: 0;
  }
  .mainvisual {
    padding: 80px 0 0px !important;
  }
  .school-select {
    width: 100%;
    padding: 2% 2% 2%;
    margin: 25% auto 5%;
  }
  .mini-news {
    margin: 15px auto;
  }
  .select-bt {
    margin: 10px auto 0;
  }
  .select-bt a {
    padding: 1em 0em;
    width: 22.5%;
    min-width: auto;
  }
  .rainbowkids-mv-left {
    width: 100%;
  }
  .rainbowkids-mv-left img {
    width: 100%;
  }
  .rainbowkids-mv-right {
    width: 100%;
    position: relative !important;
    padding-left: 14%; /* ipad */
    right: 0;
  }
  /* TOPPAGE STYLE */
  .visualFrame {
    overflow: visible;
  }
  .rainbowkids-mv-bg {
    background-image: url(../img/afterkids/index/mv01_sp.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    position: relative;
    height: 700px;
    background-position: 60% top;
  }
  .pg_jhs .visualFrame {
    background: #a01220;
  }
  .pg_hs .visualFrame {
    background: #091b48;
  }
  .pg_annex .visualFrame {
    background: #106B10;
  }
  .pg_others .visualFrame {
    background: #005bab;
  }
  .catchFrame {
    padding: 0 3%;
    position: relative;
    margin: -45% auto 0;
  }
  .catchFrame .container {
    padding: 0;
  }
  .pg_hs .catchFrame {
    margin: -38% auto 0;
  }
  .pg_annex .catchFrame {
    margin: -38% auto 0;
  }
  .catchFrame .catch {
    margin: 0 auto 10px;
  }
  .catchFrame .navFrame {
    padding: 0 0 45px;
    position: relative;
    width: auto;
  }
  .catchFrame .navFrame .wrap {
    border-width: 7px;
    margin: 0 auto;
  }
  .catchFrame .navFrame .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets {
    bottom: 0;
    right: auto;
    top: auto;
    width: 100%;
  }
  .catchFrame .navFrame .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets .swiper-pagination {
    float: none;
    margin: 0 auto;
    width: auto;
  }
  .catchFrame .navFrame .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets .swiper-pagination-bullet {
    display: inline-block;
    height: 15px;
    margin: 0 4px;
    width: 15px;
    display: none;
  }
  .menuFrame {
    padding: 0% 0 30px;
  }
  .menuFrame .menuBox .listWrap {
    margin: 0 -1%;
  }
  .menuFrame .menuBox .li {
    width: 33.333%;
    padding: 0.75% 1%;
  }
  .menuFrame .menuBox .li:before {
    border-width: 5px;
  }
  .menuFrame .menuBox .li .box {
    margin: -28.9px 0 0;
  }
  .menuFrame .menuBox .li .box:before {
    background-size: 70px auto;
    height: 37.8px;
    width: 70px;
  }
  .menuFrame .menuBox .li .box .p {
    font-size: 12px;
    margin: 10% 0 0;
    padding: 0 .5em;
  }
  .menuFrame .menuBox .li.line2 .box .p, .menuFrame .menuBox .li.sp-line2 .box .p {
    margin: 3% 0 0;
  }
  .menuFrame .menuBox .li:nth-child(1) .box:before {
    background-position: center -0px;
  }
  .menuFrame .menuBox .li:nth-child(2) .box:before {
    background-position: center -37.8px;
  }
  .menuFrame .menuBox .li:nth-child(3) .box:before {
    background-position: center -75.6px;
  }
  .menuFrame .menuBox .li:nth-child(4) .box:before {
    background-position: center -113.4px;
  }
  .menuFrame .menuBox .li:nth-child(5) .box:before {
    background-position: center -151.2px;
  }
  .menuFrame .menuBox .li:nth-child(6) .box:before {
    background-position: center -189px;
  }
  .menuFrame .menuBox .li:nth-child(7) .box:before {
    background-position: center -226.8px;
  }
  .menuFrame .menuBox .li:nth-child(8) .box:before {
    background-position: center -264.6px;
  }
  /* カスタマイズ */
  .method .box:before {
    background-position: center -0px !important;
  }
  .result .box:before {
    background-position: center -37.8px !important;
  }
  .lecture .box:before {
    background-position: center -75.6px !important;
  }
  .news .box:before {
    background-position: center -113.4px !important;
  }
  .school .box:before {
    background-position: center -151.2px !important;
  }
  .inquiry .box:before {
    background-position: center -189.6px !important;
  }
  .promptreport .box:before {
    background-position: center -226.8px !important;
  }
  .m-net .box:before {
    background-position: center -264.6px !important;
  }
  .exam-i .box:before {
    background-position: center -313.6px !important;
  }
  .experience .box:before {
    background-position: center -344.6px !important;
  }
  .faq-i .box:before {
    background-position: center -384.6px !important;
  }
  .experience-i .box:before {
    background-position: center -434.6px !important;
  }
  .expert-i .box:before {
    background-position: center -486.6px !important;
  }
  /* ここまで */
  .menuFrame .menuBox .li.txt .box {
    margin: -5.5% auto 0;
  }
  .menuFrame .menuBox .li.txt .box .p {
    font-size: 15px;
  }
  /* NEWS SECTION */
  .newsSection .ttl_index span {
    padding: 5px 0 0 45px;
    position: relative;
  }
  .newsSection .ttl_index span:before {
    content: "";
    display: block;
    height: 35px;
    position: absolute;
    left: 0;
    margin: -17.5px 0 0 0;
    top: 50%;
    width: 35px;
  }
  .newsSection .ttl_index span:before {
    background: url(../images/ico_ttl.png) no-repeat 0 -105px;
    background-size: 35px auto;
  }
  .pg_jhs .newsSection .container:after, .pg_hs .newsSection .container:after {
    bottom: 30px;
    height: 0;
    max-width: 164px;
    min-height: initial;
    padding: 35.9164634146% 0 0;
    position: relative;
    width: 19.7%;
  }
  .newsSection .newsFrame {
    padding: 0;
  }
  .newsSection .newsFrame:before {
    float: right;
    height: 104.5px;
    min-height: 100%;
    position: relative;
    right: 0;
    top: 5px;
    width: 30.5px;
  }
  .newsSection .iframe li {
    padding: 0 0 0 105px;
  }
  .newsSection .iframe .cat {
    font-size: 11px;
    margin: 0 10px 0 0;
    width: 95px !important;
  }
  .newsSection .iframe a .date {
    padding: 0 10px 0 0;
  }
  .pg_annex .newsSection .ttl_index {
    padding: 0 0 15px;
  }
  .pg_annex .newsSection .newsFrame, .pg_annex .newsSection .btnFrame {
    padding: 0;
  }
  .annex-text {
    font-size: 12px;
  }
  .rainbowkids-mv {
    width: 100% !important;
    padding: 22% 0% 0;
    position: absolute !important;
    bottom: -30%;
  }
  #main_slider {
    margin: 0;
    padding: 0;
  }
}
@media only screen and (max-width: 700px) {
  .rainbowkids-mv {
    width: 96%;
    padding: 35% 2% 0;
    position: absolute !important;
    bottom: -25%;
  }
  .rainbowkids-mv-right {
    width: 100%;
    position: relative !important;
    padding-left: 10%;
    right: 0;
  }
}
@media only screen and (max-width: 600px) {
  .rainbowkids-mv {
    width: 96%;
    padding: 40% 2% 0;
    position: absolute !important;
    bottom: -25%;
  }
  .rainbowkids-mv-right {
    width: 100%;
    position: relative !important;
    padding-left: 5%;
    right: 0;
  }
}
@media only screen and (max-width: 500px) {
  .rainbowkids-mv {
    width: 96%;
    padding: 0% 2% 0;
    position: absolute !important;
    bottom: -5%;
  }
  .rainbowkids-mv-right {
    width: 100%;
    position: relative !important;
    padding-left: 0%;
  }
  .menuFrame {
    padding: 0% 0 30px;
  }
  .school-select {
    width: 100%;
    padding: 8% 2% 4%;
    margin: 0% auto 5%;
  }
}
/* 幅375px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 375px) {
  .rainbowkids-mv-right {
    width: 100%;
    position: relative !important;
    padding-left: 0%;
    right: 0;
  }
  /* VISUAL SECTION */
  .visualFrame {
    padding: 0 0 35px;
  }
  .visualFrame .catchFrame .navFrame .nav .tbl .button a {
    padding: 22px 5px 20px;
  }
  .paging .swiper-pagination-bullet {
    height: 10px;
    width: 10px;
  }
  .menuFrame {
    padding: 5px 0 20px;
  }
  .menuFrame .container {
    padding: 0 10px;
  }
  .menuFrame .menuBox .listWrap {
    margin: 0 -3px;
  }
  .menuFrame .menuBox .li {
    padding: 3px;
  }
  .menuFrame .menuBox .li:before {
    border-width: 3px;
  }
  .menuFrame .menuBox .li .box {
    margin: -35px 0 0;
  }
  .menuFrame .menuBox .li .box .p {
    font-size: 11px;
    line-height: 1.2;
    margin: 12% 0 0;
  }
  .menuFrame .menuBox .li.line2 .box .p, .menuFrame .menuBox .li.sp-line2 .box .p {
    margin: 2px 0 0;
  }
  .menuFrame .menuBox .li.txt .box .p {
    font-size: 15px;
  }
  .rainbowkids-mv {
    width: 96%;
    padding: 0% 2% 0;
    position: absolute !important;
    bottom: 10%;
  }
  .school-select {
    width: 100%;
    padding: 6% 2% 4%;
    margin: 0% auto 5%;
  }
}