@charset "UTF-8";
/* 全ページ共通 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Kiwi+Maru:wght@400;500&family=Yusei+Magic&display=swap");
/* tag setting */
* {
  margin: 0;
  padding: 0;
}

body {
  min-width: 1050px;
  /* tablets */
  font-family: "Noto Sans JP", serif;
  font-weight: 500;
  color: #231815;
  text-align: center;
}

li {
  list-style-type: none;
}

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

em {
  font-style: normal;
}

a {
  color: #00f;
  text-decoration: underline;
}

a:hover {
  color: #ed6c00;
  transition: all 0.4s;
}

a:hover img {
  opacity: 0.7;
  transition: all 0.4s;
}

header,
footer,
main,
section,
article,
aside,
nav,
address {
  display: block;
}

.pc {
  display: inline-block;
}

.sp {
  display: none;
}

.fit {
  width: 100%;
  height: auto;
}

/* header area */
.site-header {
  z-index: 9999;
  background: url(/common/img/wavebg001.png) repeat-x top;
  position: fixed;
  justify-content: space-between;
  width: 100%;
}

.lpheader {
  z-index: 9999;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 1050px;
  height: 90px;
  margin: 0 auto;
}
.lpheader__logo {
  width: 324px;
  padding: 24px 179px 24px 29px;
}
.lpheader__logo a {
  height: 57px;
  background: url(https://www.eqwel.jp/img/common/logo.png) no-repeat left top;
  background-size: contain;
  font-family: "Kiwi Maru", serif;
  font-size: 0;
  line-height: 0;
  text-indent: -9999px;
  text-align: left;
  display: block;
}
.lpheader__logo a:hover {
  opacity: 0.7;
  transition: all 0.4s;
}
.lpheader__trial {
  width: 302px;
  padding: 0 40px 0 14px;
}
.lpheader__trial a {
  padding: 0 0 0 24px;
  height: 33px;
  background: url(../img/hd_btn.png) no-repeat left top;
  font-size: 22px;
  font-weight: 700;
  line-height: 30px;
  color: #fff;
  text-decoration: none;
  display: block;
  font-family: "Kiwi Maru", serif;
}
.lpheader__trial a:hover {
  color: #f8be1e;
  transision: all 0.4s;
}
.lpheader__sns {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 162px;
}
.lpheader__sns li {
  width: 30px;
  padding: 0 12px;
}
.lpheader__sns li a:hover img {
  opacity: 0.7;
  transition: all 0.4s;
}

.globalnav__btn,
#gnav,
.globalnav .gn-close {
  display: none;
}

.globalnav {
  position: sticky;
  top: 85px;
  z-index: 9999;
  width: 100%;
  padding: 8px 0;
  background: #fff;
  font-family: "Kiwi Maru", serif;
}
.globalnav__menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 1050px;
  margin: 0 auto;
}
.globalnav__menu__page {
  width: 175px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.8em;
}
.globalnav__menu__page .globalnav__menu__page__btn {
  position: relative;
  transform: translateZ(0px);
  padding: 0.5em 0;
  border-left: 2px dashed #d54140;
  color: #717071;
  text-decoration: none;
  display: block;
}
.globalnav__menu__page:last-child {
  position: relative;
  transform: translateZ(0px);
  padding: 0.5em 0;
  /* border-right: 2px dashed #d54140; */
  border-right: none;
  color: #717071;
  text-decoration: none;
  display: block;
}
.globalnav__menu__page .globalnav__menu__page__btn:hover {
  opacity: 0.6;
  transition: all 0.4s;
}
.globalnav__menu__page .globalnav__menu__page__btn:before {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: 0;
  height: 4px;
  background: #f6c4aa none repeat scroll 0 0;
  transition-duration: 0.3s;
  transition-property: left, right;
  transition-timing-function: ease-out;
}
.globalnav__menu__page .globalnav__menu__page__btn:hover:before {
  left: 0;
  right: 0;
}
.globalnav__menu__page .globalnav__menu__page__btn:active:before,
.globalnav__menu__page .globalnav__menu__page__btn:focus:before {
  left: 50%;
  right: 50%;
}
.globalnav__menu.school {
  width: 940px;
}
.globalnav__menu.school__page {
  width: 188px;
}

.globalnav__btn,
#gnav,
.gn-close {
  display: none;
}

.globalnav2 {
  width: 100%;
  padding: 15px 0 20px;
  background: #fff;
  font-family: "Kiwi Maru", serif;
}
.globalnav2__menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 1050px;
  margin: 0 auto;
}
.globalnav2__menu__page {
  width: 175px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.8em;
}
.globalnav2__menu__page .globalnav2__menu__page__btn {
  position: relative;
  transform: translateZ(0px);
  padding: 0.5em 0;
  border-left: 2px dashed #d54140;
  color: #717071;
  text-decoration: none;
  display: block;
}
.globalnav2__menu__page .globalnav2__menu__page__btn:hover {
  opacity: 0.6;
  transition: all 0.4s;
}
.globalnav2__menu__page .globalnav2__menu__page__btn:before {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: 0;
  height: 4px;
  background: #f6c4aa none repeat scroll 0 0;
  transition-duration: 0.3s;
  transition-property: left, right;
  transition-timing-function: ease-out;
}
.globalnav2__menu__page .globalnav2__menu__page__btn:hover:before {
  left: 0;
  right: 0;
}
.globalnav2__menu__page .globalnav2__menu__page__btn:active:before,
.globalnav2__menu__page .globalnav2__menu__page__btn:focus:before {
  left: 50%;
  right: 50%;
}
.globalnav2__menu.school {
  width: 940px;
}
.globalnav2__menu.school__page {
  width: 188px;
}

/* contents area */
.green {
  color: #41a39e;
}

.red {
  color: #e6413e;
}

.orange {
  color: #f5a900;
}

.blue {
  color: #00a3e2;
}

.gray {
  color: #717071;
}

.inner {
  width: 1050px;
  margin: 0 auto;
}

.contents__ttl {
  position: relative;
  display: inline-block;
  margin: 1em 0 0.8em;
  font-size: 38px;
  font-weight: 700;
  line-height: 1em;
}
.contents__ttl:before,
.contents__ttl:after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  transform: translateY(-50%);
  width: 139px;
  height: 18px;
}
.contents__ttl:before {
  left: -150px;
  background: url(../img/ttlbg01.png) no-repeat left center;
}
.contents__ttl:after {
  right: -150px;
  background: url(../img/ttlbg02.png) no-repeat right center;
}

/* page-top */
#page-top {
  position: fixed;
  bottom: 3%;
  right: 3%;
  z-index: 9999;
}

#page-top a {
  padding: 30px 0 0;
  background: url(../img/pagetop.png) no-repeat center top;
  border-radius: 50%;
  font-size: 19px;
  font-weight: 700;
  line-height: 1em;
  color: #036eb6;
  text-decoration: none;
  display: inline-block;
}

#page-top a:hover {
  -ms-filter: "alpha( opacity=70 )";
  filter: alpha(opacity=70);
  opacity: 0.7;
  transition: all 0.4s;
}

#page-top a span {
  font-size: 24px;
  display: block;
}

/* footer */
.lpfooter {
  margin: 30px 0 0;
  padding: 15px 0;
  background: #eeecde;
}
.lpfooter__nav {
  padding: 0 0 28px;
}
.lpfooter__nav__page {
  display: inline;
  margin: 0 1em;
  font-size: 17px;
  line-height: 1em;
}
.lpfooter__nav__page a {
  font-family: "Kiwi Maru", serif;
  color: #231815;
  text-decoration: none;
}
.lpfooter__nav__page a:before {
  content: "●";
  color: #b3b3b4;
}
.lpfooter__nav__page a:hover {
  color: #ed7f5b;
}
.lpfooter__txt {
  font-size: 10px;
  font-style: normal;
  line-height: 2em;
}
.lpfooter__txt small {
  font-size: 9px;
}

/* トップページ */
.mv {
  position: relative;
  padding: 23px 0 45px;
  border-top: 5px solid #f6c4aa;
  border-bottom: 5px solid #f6c4aa;
  overflow: hidden;
}
.mv__ttl {
  position: relative;
  width: 844px;
  padding: 130px 256px 0.5em 0;
  margin: 0 auto;
  background: url(../img/mv_bg.png) no-repeat left center;
  background-position: left 50px top 180px;
  font-size: 27px;
  font-family: "Kiwi Maru", sans-serif;
  font-weight: 700;
  line-height: 61px;
  color: #41a39e;
}
.mv__ttl__illust {
  position: absolute;
  right: 50px;
  bottom: -22px;
  z-index: 4;
}
.mv .swiper-container {
  width: 1030px;
  margin: 0 auto;
}
.mv__txt {
  position: absolute;
  left: 50%;
  top: 23px;
  transform: translateX(-50%);
  width: 1050px;
  z-index: 2;
}
.mv .swiper-button-prev {
  content: "";
  position: absolute;
  display: block;
  left: 50%;
  transform: translateX(-550px);
  width: 25px;
  height: 29px;
  background: url(../img/swiper-button-prev.png) no-repeat center center;
}
.mv .swiper-button-next {
  content: "";
  position: absolute;
  display: block;
  right: 50%;
  transform: translateX(550px);
  width: 23px;
  height: 26px;
  background: url(../img/swiper-button-next.png) no-repeat center center;
}

.outline {
  margin: 0 0 0 0;
  padding: 20px 0 0;
  background: url(../img/wavebg01.png) repeat-x top;
}
.outline .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 50px 0;
}
.outline__detail {
  width: 565px;
  box-sizing: border-box;
  text-align: left;
}
.point01 .outline__detail {
  padding: 0 0 0 0px;
  border-bottom: 2px dashed #e6413e;
}
.point02 .outline__detail {
  padding: 0 0 0 20px;
  border-bottom: 2px dashed #fff;
}
.point03 .outline__detail {
  padding: 0 0 0 20px;
  border-bottom: 2px dashed #f5a900;
}
.outline__detail__ttl {
  position: relative;
  height: 38px;
  margin: 43px 0 0.5em 127px;
  padding: 0 0 0 24px;
  font-family: "Kiwi Maru", serif;
  font-size: 25px;
  font-weight: 700;
  line-height: 36px;
  color: #fff;
}
.outline__detail__ttl__icon {
  position: absolute;
  left: -125px;
  top: -43px;
}
.point01 .outline__detail__ttl {
  background: url(../img/outline_title01.png) no-repeat left top;
}
.point02 .outline__detail__ttl {
  background: url(../img/outline_title02.png) no-repeat left top;
  letter-spacing: -0.08em;
}
.point03 .outline__detail__ttl {
  background: url(../img/outline_title03.png) no-repeat left top;
}
.outline__detail__ttl small {
  position: absolute;
  left: 30px;
  top: -40px;
  font-size: 16px;
  color: #231815;
  display: inline-block;
}
.outline__detail__ttl small:before,
.outline__detail__ttl small:after {
  content: "";
  width: 1px;
  height: 19px;
  background: #e6413e;
  display: inline-block;
  vertical-align: text-bottom;
}
.outline__detail__ttl small:before {
  margin: 0 0.5em 0 0;
  transform: rotate(-30deg);
}
.outline__detail__ttl small:after {
  margin: 0 0 0 0.5em;
  transform: rotate(30deg);
}
.outline__detail__txt {
  width: 320px;
  padding: 0 0 1.5em 150px;
  font-size: 17px;
  line-height: 1.6em;
  text-align: justify;
  text-justify: inter-ideograph;
}
.point02 .outline__detail {
  order: 2;
}
.outline__photo {
  width: 468px;
}
.point02 .outline__photo {
  order: 1;
}
.outline .point02 {
  position: relative;
  padding: 9px 0 15px;
  background: #a0d5d2 url(../img/wavebg02.png) repeat-x top;
}
.outline .point02:after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 9px;
  background: #a0d5d2 url(../img/wavebg03.png) repeat-x bottom;
}
.outline__ability {
  width: 565px;
  padding: 0 0 0 65px;
}
.outline__ability__ttl {
  background: url(../img/ability_bg01.png) no-repeat center center;
  font-size: 30px;
  line-height: 2em;
  font-family: "Kiwi Maru", serif;
}
.outline__ability__ttl small {
  font-size: 18px;
}
.outline__ability__txt {
  padding: 2em 0 0;
  font-size: 15px;
  line-height: 31px;
}
.outline__award {
  padding: 26px 0;
  background: #ccdc67;
}
.outline__award__banner {
  position: relative;
  padding: 10px 15px;
  background: #fff;
  display: inline-block;
}
.outline__award__banner__img {
  width: 808px;
  height: auto;
}
.outline__award__banner__illust {
  position: absolute;
  right: -73px;
  bottom: -26px;
}
.outline + .outline {
  position: relative;
  margin: 0 0 48px;
  padding: 0 0 26px;
}
.outline + .outline:after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 22px;
  background: url(../img/wavebg04.png) repeat-x bottom;
}

.points {
  padding: 0 0 30px;
  background: url(../img/wavebg05.png) repeat-x top;
  overflow: hidden;
  margin: -40px 0 0 0;
}
.points .contents__ttl {
  color: #036eb6;
  margin: 70px 0 50px;
  font-family: "Kiwi Maru", serif;
}
.points__box {
  position: relative;
  padding: 0 0 25px;
  background: #ffe359 url(../img/wavebg06.png) repeat-x top;
}
.points__box:after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg07.png) repeat-x top;
}
.points__detail {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  width: 1050px;
  margin: 0 auto;
  padding: 30px 0 60px;
}
.points__detail__item {
  width: 50%;
  padding: 40px 15px 30px;
  box-sizing: border-box;
}
.points__detail__hd {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.points__detail__icon {
  width: 146px;
}
.points__detail__cont {
  width: 350px;
  text-align: left;
  padding: 0 40px 0 10px;
}
.points__detail__cont__ttl {
  padding: 0 0 0.2em;
  border-bottom: 2px dashed #ed7f5b;
  font-size: 20px;
  font-weight: 700;
  font-family: "Kiwi Maru", serif;
  line-height: 30px;
}
.points__detail__cont__txt {
  padding: 0.5em 0 0;
  font-size: 15px;
  line-height: 23px;
  text-align: justify;
  text-justify: inter-ideograph;
}
.points__detail__cont__txt.ovflow {
  margin-right: -1em;
}
.points__detail__photo {
  width: 343px;
  margin: 15px auto 0;
}
.points__detail__photo img {
  box-shadow: 6px 6px 0 #afd6fb;
}
.points .img-box {
  position: relative;
}
.points .img-box .active {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  transition: 0.5s;
}
.points .img-box:hover .active {
  opacity: 1;
  left: 0;
  top: 0;
}
.points__btn {
  background-image: linear-gradient(
    -45deg,
    #ed7f5b 20%,
    transparent 20%,
    transparent 50%,
    #ed7f5b 50%,
    #ed7f5b 70%,
    transparent 70%,
    transparent
  );
  background-size: 7px 7px;
}
.points__btn img {
  margin: -30px 0 -22px 35px;
}
.points__btn img .active {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  transition: 0.5s;
}
.points__btn img:hover .active {
  opacity: 1;
}

.course {
  padding: 0 0 30px;
  background: url(../img/wavebg01.png) repeat-x top;
  overflow: hidden;
  margin: -20px 0 0 0;
}
.course .contents__ttl {
  color: #ed7f5b;
  margin: 70px 0 50px;
  font-family: "Kiwi Maru", serif;
}
.course__box {
  position: relative;
  padding: 0 0 25px;
  background: #ed7f5b url(../img/wavebg04.png) repeat-x top;
}
.course__box:after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg07.png) repeat-x top;
}
.course__lineup {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 1050px;
  margin: 0 auto;
  padding: 74px 60px 10px;
  background: url(../img/course_bg.png) no-repeat center top;
  box-sizing: border-box;
}
.course__lineup__class {
  position: relative;
  width: 270px;
  margin: 0 20px 60px;
  border-radius: 20px;
  box-shadow: 8px 9px 0 #b96448;
}
.course__lineup__class:before {
  content: "";
  position: absolute;
  display: block;
  left: 28px;
  top: -25px;
  z-index: 2;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.2);
}
.course__lineup__class:nth-child(1) {
  background: #ffaab5;
}
.course__lineup__class:nth-child(1):before {
  background: #e9b552;
}
.course__lineup__class:nth-child(2) {
  background: #f7bf58;
}
.course__lineup__class:nth-child(2):before {
  background: #dd7346;
}
.course__lineup__class:nth-child(3) {
  background: #e9aab5;
}
.course__lineup__class:nth-child(3):before {
  background: #e9b552;
}
.course__lineup__class:nth-child(4) {
  background: #3fa347;
}
.course__lineup__class:nth-child(4):before {
  background: #e9b450;
}
.course__lineup__class:nth-child(5) {
  background: #649cbb;
}
.course__lineup__class:nth-child(5):before {
  background: #dd7346;
}
.course__lineup__class:nth-child(6) {
  background: #7b93c6;
}
.course__lineup__class:nth-child(6):before {
  background: #e9b552;
}
.course__lineup__class:nth-child(7) {
  background: #d84c47;
}
.course__lineup__class:nth-child(7):before {
  background: #453f1e;
}
.course__lineup__class:nth-child(8) {
  background: #7b93c6;
}
.course__lineup__class:nth-child(8):before {
  background: #e9b552;
}
.course__lineup__class:nth-child(9) {
  background: #e9b450;
}
.course__lineup__class:nth-child(9):before {
  background: #de7147;
}
.course__lineup__class:nth-child(10) {
  background: #a0d5d2;
}
.course__lineup__class:nth-child(10):before {
  background: #e9b450;
}
.course__lineup__class:nth-child(11) {
  background: #c3d968;
}
.course__lineup__class:nth-child(11):before {
  background: #dd7346;
}
.course__lineup__class a {
  position: relative;
  padding: 6px 40px 17px;
  color: #fff;
  text-decoration: none;
  display: block;
}
.course__lineup__class a:hover {
  opacity: 0.8;
  transition: all 0.4s;
}
.course__lineup__class a:after {
  content: "";
  position: absolute;
  display: block;
  position: absolute;
  right: 40px;
  bottom: 12px;
  width: 20px;
  height: 23px;
  background: url(../img/arrow_white.png) no-repeat right center;
}
.course__lineup__ttl {
  padding: 0.4em 0 0.3em;
  border-bottom: 2px dashed #fff;
  font-size: 28px;
  line-height: 1em;
  font-family: "Kiwi Maru", serif;
}
.course__lineup__txt {
  padding: 0.5em 0 0;
  font-size: 15px;
  line-height: 1em;
}
.course__btn {
  padding: 0 0 21px;
  background-image: linear-gradient(
    -45deg,
    #f5a900 20%,
    transparent 20%,
    transparent 50%,
    #f5a900 50%,
    #f5a900 70%,
    transparent 70%,
    transparent
  );
  background-size: 7px 7px;
}
.course__btn img {
  margin: -13px 0 0;
}

.flow {
  padding: 0 0 30px;
  background: url(../img/wavebg08.png) repeat-x top;
  overflow: hidden;
  margin: -20px 0 0 0;
}
.flow .contents__ttl {
  color: #66bd99;
  margin: 70px 0 50px;
  font-family: "Kiwi Maru", serif;
}
.flow .contents__ttl img {
  margin: -25px 0 -25px 5px;
  vertical-align: middle;
}
.flow__box {
  position: relative;
  padding: 0 0 25px;
  background: #e2e780 url(../img/wavebg09.png) repeat-x top;
}
.flow__box:after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg07.png) repeat-x top;
}
.flow__steps {
  counter-reset: number;
  padding: 60px 0 70px;
  background: url(../img/flow_bg.png) repeat-y center top;
}
.flow__steps__point2 {
  position: relative;
  width: 560px;
  margin: 0 auto 94px;
  text-align: left;
}
.flow__steps__point2:after {
  content: "";
  position: absolute;
  display: block;
  left: 50%;
  bottom: -78px;
  transform: translateX(-50%);
  width: 50px;
  height: 54px;
  background: url(../img/flow_arrow.png) no-repeat center bottom;
}
.flow__steps__point2:last-child {
  margin: 0 auto;
  padding: 0 0 0 0px;
  box-sizing: border-box;
}
.flow__steps__point2:last-child:after {
  display: none;
}
.flow__steps__point {
  position: relative;
  width: 560px;
  height: 45px;
  margin: 0 auto 10px;
  background: #fff;
  border-radius: 10px;
  font-size: 20px;
  color: #036eb6;
  font-weight: 700;
  line-height: 45px;
  font-family: "Kiwi Maru", serif;
}
.flow__steps__point:before {
  counter-increment: number;
  content: counter(number);
  position: absolute;
  left: 0;
  top: 0;
  width: 50px;
  background: #66bd99;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  font-size: 26px;
  color: #fff;
  display: inline-block;
}

.review {
  padding: 0 0 30px;
  background: url(../img/wavebg10.png) repeat-x top;
  overflow: hidden;
  margin: -20px 0 0 0;
}
.review .contents__ttl {
  margin: 80px 0 1em;
  color: #ee8c98;
  font-family: "Kiwi Maru", serif;
}
.review__illust01 {
  position: absolute;
  left: -270px;
  top: 0;
  margin: -0.7em 0 0;
}
.review__illust02 {
  position: absolute;
  right: -240px;
  top: 0;
  margin: -0.7em 0 0;
}
.review__box {
  position: relative;
  padding: 0 0 25px;
  background: #f8dadd;
}
.review__box:before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: -9px;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg11.png) repeat-x top;
}
.review__box:after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg07.png) repeat-x top;
}
.review__message {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  width: 1050px;
  margin: 0 auto;
  padding: 50px 0 0;
}
.review__voice {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 310px;
  margin: 0 20px 40px;
  padding: 20px;
  background: #fff;
  border-radius: 20px;
  box-sizing: border-box;
}
.review__voice__photo {
  width: 46%;
}
.review__voice__photo img {
  width: 100%;
  height: auto;
}
.review__voice__detail {
  width: 50%;
  text-align: left;
}
.review__voice__ttl {
  padding: 0 0 0.6em;
  font-size: 16px;
  line-height: 1.4em;
}
.review__voice__txt {
  font-size: 14px;
  line-height: 1.4em;
}
.review__voice__txt em {
  color: #ee8c98;
}

.news {
  padding: 0 0 30px;
  background: url(../img/wavebg12.png) repeat-x top;
  overflow: hidden;
  margin: -20px 0 0 0;
}
.news .contents__ttl {
  margin: 70px 0 50px;
  color: #22b5be;
  font-family: "Kiwi Maru", serif;
}
.news__illust {
  position: absolute;
  left: -256px;
  top: 0;
  margin: -0.7em 0 0;
}
.news__box {
  position: relative;
  padding: 60px 0;
  background: #c2e2d4 url(../img/news_bg.png) repeat-y center top;
}
.news__box:before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: -9px;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg13.png) repeat-x top;
}
.news__box:after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg07.png) repeat-x top;
}
.news__topics {
  width: 598px;
  margin: 0 auto;
  padding: 0 20px;
  background: #fff;
  border-radius: 20px;
}
.news__topics__txt {
  border-bottom: 2px dashed #609d91;
  font-size: 20px;
  line-height: 1.75em;
  text-align: left;
  padding: 30px;
  color: #231815;
}
.news__topics__txt:last-child {
  border-bottom: none;
}
.news__topics__txt a {
  color: #231815;
  text-decoration: none;
  display: block;
}
.news__topics__txt a:hover {
  background: #eaf2eb;
  color: #22b5be;
  transition: all 0.4s;
}
.news__topics__txt small {
  font-size: 18px;
}

.search {
  padding: 26px 0 30px;
  background: url(../img/wavebg14.png) repeat-x top;
  margin: -20px 0 0 0;
}
.search .contents__ttl {
  position: relative;
  margin: 0 0 0.5em;
  font-family: "Kiwi Maru", serif;
  color: #ed7f5b;
  text-shadow: 3px 3px 1px #ffffff, -3px 3px 1px #ffffff, 3px -3px 1px #ffffff,
    -3px -3px 1px #ffffff, 3px 0px 1px #ffffff, 0px 3px 1px #ffffff,
    -3px 0px 1px #ffffff, 0px -3px 1px #ffffff;
}
.search__box {
  position: relative;
  padding: 80px 0 20px;
  background: #fff594;
}
.search__box:after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg07.png) repeat-x top;
}
.search__copy {
  padding: 0 0 0.5em;
  font-size: 17px;
  font-weight: 700;
  line-height: 1em;
  color: #036eb6;
  text-shadow: 2px 2px 1px #ffffff, -2px 2px 1px #ffffff, 2px -2px 1px #ffffff,
    -2px -2px 1px #ffffff, 2px 0px 1px #ffffff, 0px 2px 1px #ffffff,
    -2px 0px 1px #ffffff, 0px -2px 1px #ffffff;
}
.search__form {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 0 50px;
}
.search__form span {
  margin: 0 0.2em 0 0;
  font-size: 50px;
  font-weight: 700;
  line-height: 52px;
  color: #717071;
}
.search__form input {
  width: 473px;
  height: 52px;
  padding: 0 0 0 1em;
  background: #fff;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  border: none;
  font-size: 30px;
  line-height: 52px;
  letter-spacing: 0.1em;
  text-align: center;
}
.search__form button {
  width: 70px;
  height: 52px;
  background: #f7bf58 url(../img/search_icon.png) no-repeat center center;
  border: none;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
  font-size: 0;
  line-height: 0;
  text-indent: -9999px;
  text-align: left;
  display: block;
}
.search__result {
  display: inline-block;
  padding: 0 0 55px;
  text-align: left;
}
.search__result__ttl {
  padding: 0 0 1em;
  font-size: 21px;
  line-height: 1em;
}
.search__result__txt {
  list-style: disc outside;
  margin: 0 0 0.8em 2em;
  font-size: 20px;
  line-height: 1em;
}
.search__result__txt a {
  color: #036eb6;
}
.search__result__txt a:hover {
  color: #ed7f5b;
}
.search__result__notice {
  margin: 0 0 0 1em;
  padding: 1em 0 0;
  text-indent: -1em;
  font-size: 12px;
  line-height: 1em;
  font-weight: 300;
}
.search__trial {
  margin: 0px 0 0 0;
  padding: 10px 0 30px;
  background-image: linear-gradient(
    -45deg,
    #f5a900 20%,
    transparent 20%,
    transparent 50%,
    #f5a900 50%,
    #f5a900 70%,
    transparent 70%,
    transparent
  );
  background-size: 7px 7px;
}
.school .search__trial {
  width: auto;
  background-image: linear-gradient(
    -45deg,
    #f5ad54 20%,
    #fff695 20%,
    #fff695 50%,
    #f5ad54 50%,
    #f5ad54 70%,
    #fff695 70%,
    #fff695
  );
}
.search__trial small {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.6em;
  font-family: "Kiwi Maru", serif;
  color: #036eb6;
  text-shadow: 2px 2px 1px #ffffff, -2px 2px 1px #ffffff, 2px -2px 1px #ffffff,
    -2px -2px 1px #ffffff, 2px 0px 1px #ffffff, 0px 2px 1px #ffffff,
    -2px 0px 1px #ffffff, 0px -2px 1px #ffffff;
}
.search__trial__btn {
  position: relative;
  width: 710px;
  margin: 8px 0 0;
  padding: 20px 0 16px 140px;
  background: #fff url(../img/search_illust.png) no-repeat left 28px bottom;
  border-radius: 80px;
  box-sizing: border-box;
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.6em;
  letter-spacing: 0.1em;
  color: #e9615d;
  text-decoration: none;
  display: inline-block;
  font-family: "Kiwi Maru", serif;
}
.search__trial__btn strong {
  font-size: 50px;
  font-family: "Kiwi Maru", serif;
  color: #3aa4a0;
}
.search__trial__btn:hover {
  background: #fff594 url(../img/search_illust.png) no-repeat left 28px bottom;
  transition: all 0.4s;
}
.search__trial__btn:after {
  content: "";
  position: absolute;
  display: block;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  width: 21px;
  height: 21px;
  background: url(../img/search_arrow.png) no-repeat center center;
}

.aboutus {
  padding: 120px 0 116px;
  background: url(../img/wavebg15.png) repeat-x top;
  margin: -20px 0 0 0;
}
.aboutus__ttl {
  position: relative;
  font-size: 29px;
  font-weight: 700;
  font-family: "Kiwi Maru", serif;
  line-height: 78px;
  color: #231815;
}
.aboutus__ttl:after {
  content: "";
  position: absolute;
  display: block;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 538px;
  height: 1px;
  border-top: 2px dashed #d54140;
}
.aboutus__txt {
  padding: 30px 0 100px;
  font-size: 15px;
  line-height: 40px;
}
.aboutus__logo {
  width: 160px;
  height: auto;
  padding: 0 0 42px;
}
.aboutus__btn {
  width: 559px;
  height: 78px;
  background: url(../img/aboutus_arrow.png) no-repeat right 20px center;
  border: 2px solid #7db9f2;
  border-radius: 41px;
  font-size: 22px;
  font-weight: 700;
  line-height: 78px;
  font-family: "Kiwi Maru", serif;
  color: #036eb6;
  text-decoration: none;
  display: inline-block;
}
.aboutus__btn:hover {
  background: #b2dcfb url(../img/aboutus_arrow.png) no-repeat right 20px center;
  color: #fff;
}

.kojin {
  padding: 0 0 30px;
  background: url(../img/wavebg01.png) repeat-x top;
  overflow: hidden;
}
.kojin .contents__ttl {
  margin: 300px 0 2.5em;
  color: #ed7f5b;
  font-family: "Kiwi Maru", serif;
}
.kojin a {
  color: #41a39e;
  text-decoration: none;
}
.kojin__illust {
  position: absolute;
  left: -256px;
  top: 0;
  margin: -0.7em 0 0;
}
.kojin__box {
  position: relative;
  padding: 60px 0;
  margin: 0 0 0 0;
  background: #f8dadd;
}
.kojin__box:before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: -9px;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg11.png) repeat-x top;
}
.kojin__box:after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg07.png) repeat-x top;
}
.kojin__topics {
  width: 1080px;
  margin: 0 auto;
  padding: 100px 40px;
  background: #fff;
  border-radius: 20px;
  font-size: 100%;
  text-align: left;
}
.kojin__topics__privacy_text {
  color: #333;
  font-size: 100%;
  text-align: left;
  font-weight: bold;
  padding: 40px 0 1px 0;
  border-bottom: 3px solid #e7e6e5;
}
.kojin__topics__privacy_text p {
  font-weight: normal;
}
.kojin__topics__privacy_text__text_right {
  float: right;
  text-align: right;
}
.kojin__topics__privacy_text__ol {
  list-style-type: disc;
}
.kojin__topics__text_right {
  float: right;
  text-align: right;
}

.mt10 {
  margin: 10px 0 0;
}

.mt15 {
  margin: 15px 0 0;
}

.mt20 {
  margin: 20px 0 0;
}

.faq {
  padding: 0 0 30px;
  background: url(../img/wavebg01.png) repeat-x top;
  overflow: hidden;
}
.faq .contents__ttl {
  margin: 300px 0 2.5em;
  color: #ed7f5b;
  font-family: "Kiwi Maru", serif;
}
.faq__illust {
  position: absolute;
  left: -256px;
  top: 0;
  margin: -0.7em 0 0;
}
.faq__box {
  position: relative;
  padding: 60px 0;
  background: #c2e2d4 url(../img/news_bg.png) repeat-y center top;
}
.faq__box:before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: -9px;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg13.png) repeat-x top;
}
.faq__box:after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg07.png) repeat-x top;
}
.faq__topics {
  width: 598px;
  margin: 0 auto;
  padding: 0 20px;
  background: #fff;
  border-radius: 20px;
}
.faq__topics__txt {
  border-bottom: 2px dashed #609d91;
  font-size: 20px;
  line-height: 1.75em;
  text-align: left;
  padding: 30px;
}
.faq__topics__txt:last-child {
  border-bottom: none;
}
.faq__topics__txt small {
  font-size: 18px;
}
.faq__topics__txt small:before {
  content: "Q";
}

.howteach {
  padding: 0 0 30px;
  background: url(../img/wavebg01.png) repeat-x top;
  overflow: hidden;
}
.howteach .contents__ttl {
  margin: 300px 0 2.5em;
  color: #ed7f5b;
  font-family: "Kiwi Maru", serif;
}
.howteach__illust {
  position: absolute;
  left: -256px;
  top: 0;
  margin: -0.7em 0 0;
}
.howteach__box {
  position: relative;
  padding: 60px 0;
  margin: 0 0 0px 0;
  background: #f8dadd;
}
.howteach__box:before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: -9px;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg11.png) repeat-x top;
}
.howteach__box:after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg07.png) repeat-x top;
}
.howteach__topics2 {
  width: 1080px;
  margin: 100px auto;
  padding: 40px 40px;
  background: #63c195;
  border-radius: 10px;
  font-size: 100%;
  text-align: left;
  outline: dashed 2px #fff;
  outline-offset: -20px;
  position: relative;
}
.howteach__topics {
  width: 1080px;
  margin: 100px auto;
  padding: 40px 40px;
  background: #fff;
  border-radius: 10px;
  font-size: 100%;
  text-align: left;
  outline: dashed 2px #b1dcda;
  outline-offset: -20px;
  position: relative;
}
.howteach__topics:after {
  content: "";
  position: absolute;
  display: block;
  left: 50%;
  bottom: -78px;
  transform: translateX(-50%);
  width: 50px;
  height: 54px;
  background: url(../img/flow_arrow.png) no-repeat center bottom;
}
.howteach__les2 {
  margin: -60px 0 10px 0;
}
.howteach__voice {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  border-radius: 20px;
  box-sizing: border-box;
}
.howteach__voice__photo {
  width: 46%;
}
.howteach__voice__photo img {
  width: 100%;
  height: auto;
}
.howteach__voice__detail {
  width: 50%;
  text-align: left;
}
.howteach__voice__ttl {
  padding: 0 0 0.3em;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4em;
  font-family: "Kiwi Maru", serif;
}
.howteach__voice__txt {
  font-size: 20px;
  line-height: 1.4em;
}
.howteach__voice__txt em {
  color: #ee8c98;
}
.howteach__voice2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  border-radius: 20px;
  box-sizing: border-box;
}
.howteach__voice2__photo {
  width: 46%;
}
.howteach__voice2__photo img {
  width: 100%;
  height: auto;
}
.howteach__voice2__detail {
  width: 50%;
  text-align: left;
}
.howteach__voice2__ttl {
  padding: 0 0 0.3em;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4em;
  font-family: "Kiwi Maru", serif;
}
.howteach__voice2__dx {
  background-color: #fff;
  border-radius: 5px;
  padding: 2px 5px;
  color: #6682bd;
  margin: 0 10px 5px 0;
}
.howteach__voice2__ttl {
  padding: 0 0 0.3em;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4em;
  color: #fff;
}
.howteach__voice2__txt {
  font-size: 20px;
  line-height: 1.4em;
  color: #fff;
}

.out01 {
  padding: 0 0 30px;
  background: url(../img/wavebg01.png) repeat-x top;
  overflow: hidden;
}
.out01 .contents__ttl {
  margin: 300px 0 2.5em;
  color: #ed7f5b;
  font-family: "Kiwi Maru", serif;
}
.out01__illust {
  position: absolute;
  left: -256px;
  top: 0;
  margin: -0.7em 0 0;
}
.out01__box {
  position: relative;
  padding: 60px 0;
  margin: 0 0 0 0;
  background: #f8dadd;
}
.out01__box:before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: -9px;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg11.png) repeat-x top;
}
.out01__box:after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg07.png) repeat-x top;
}
.out01__topics {
  width: 1080px;
  margin: 0 auto;
  padding: 50px 40px;
  background: #fff;
  border-radius: 20px;
  font-size: 100%;
  text-align: left;
}
.out01__table {
  margin: 1em 0;
  width: 100%;
  max-width: 100%;
  border-spacing: 0 24px;
}
.out01__table tr > *:first-child {
  padding-left: 0;
}
.out01__table tr th {
  width: 13%;
  padding: 0.25em 0.8em;
  font-size: 16px;
  line-height: 1.4;
}
.out01__table tr th,
.out01 .bg_sky_4 .inner table tr td {
  padding: 1em;
  text-align: left;
  vertical-align: top;
}
.out01__table tr > *:last-child {
  padding-right: 0;
}
.out01__tr {
  display: table-row;
  vertical-align: inherit;
  border-color: inherit;
}
.out01__table tr th + td {
  border-left: 1px solid #ddd;
}
.out01__table tr td {
  padding: 0.3em 2.7em 0.3em 1.6em;
  line-height: 1.47;
}
.out01__table tr th,
.out01 .bg_sky_4 .inner table tr td {
  padding: 1em;
  text-align: left;
  vertical-align: top;
  display: table-cell;
  vertical-align: inherit;
}
.out01 .bk_yellow {
  background-color: #feefd9;
  padding: 0.2% 1%;
  font-size: 90%;
  margin: 5px 0 0 0;
}
.out01 .mb10 {
  margin: 0 0 20px;
}

.start {
  width: 1050px;
  padding: 26px 0 30px;
  background: url(../img/wavebg14.png) repeat-x top;
  margin: 0 auto;
}
.start .ccontents__ttl {
  margin: 3em 0 1.5em;
  color: #ed7f5b;
  font-size: 38px;
  font-family: "Kiwi Maru", serif;
  position: relative;
}
.start .ccontents__ttl:before {
  content: "";
  position: absolute;
  display: block;
  left: 25%;
  transform: translateX(-50%);
  top: -10px;
  width: 70px;
  height: 74px;
  background: url(../img/zou-8.png) no-repeat left bottom;
}
.start .contents__txt {
  text-align: left;
}
.start .start__topics {
  width: 600px;
  margin: 0 auto;
  padding: 0px;
  background: #fff;
  font-size: 100%;
  text-align: left;
}
.start .start__topics .ttl {
  margin: 2em 0 0.2em;
  color: #ed7f5b;
  font-size: 20px;
  font-family: "Kiwi Maru", serif;
}
.start__table03 {
  width: 100%;
  border-collapse: collapse;
  color: #717071;
  border: solid 2px #d54140;
  font-size: 90%;
}
.start__table03 th {
  border: dashed 1px #d54140;
  padding: 5px 10px;
  text-align: center;
}
.start__table03 td {
  border: dashed 1px #d54140;
  padding: 5px 10px;
  text-align: center;
}
.start__table02 span {
  font-size: 80%;
}

.law {
  padding: 0 0 30px;
  background: url(../img/wavebg01.png) repeat-x top;
  overflow: hidden;
}
.law .contents__ttl {
  margin: 300px 0 2.5em;
  color: #ed7f5b;
  font-family: "Kiwi Maru", serif;
}
.law__illust {
  position: absolute;
  left: -256px;
  top: 0;
  margin: -0.7em 0 0;
}
.law__box {
  position: relative;
  padding: 60px 0;
  margin: 0 0 0 0;
  background: #f8dadd;
}
.law__box:before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: -9px;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg11.png) repeat-x top;
}
.law__box:after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg07.png) repeat-x top;
}
.law__topics {
  width: 1080px;
  margin: 0 auto;
  padding: 50px 40px;
  background: #fff;
  border-radius: 20px;
  font-size: 100%;
  text-align: left;
}
.law__table {
  margin: 1em 0;
  width: 100%;
  max-width: 100%;
  border-spacing: 0 24px;
}
.law__table tr > *:first-child {
  padding-left: 0;
}
.law__table tr th {
  width: 20%;
  padding: 0.25em 0.8em;
  font-size: 16px;
  line-height: 1.4;
  vertical-align: top;
}
.law__table tr th,
.law .bg_sky_4 .inner table tr td {
  padding: 1em;
  text-align: left;
  vertical-align: top;
}
.law__table tr > *:last-child {
  padding-right: 0;
}
.law__tr {
  display: table-row;
  border-color: inherit;
}
.law__table tr th + td {
  border-left: 1px solid #ddd;
}
.law__table tr td {
  padding: 0.3em 2.7em 0.3em 1.6em;
  line-height: 1.47;
}
.law__table tr td a {
  color: #41a39e;
  text-decoration: none;
}
.law__table tr th,
.law .bg_sky_4 .inner table tr td {
  padding: 1em;
  text-align: left;
  vertical-align: top;
  display: table-cell;
}
.law .maru ol {
  position: relative;
  margin: 0;
  padding: 0;
}
.law .maruol li {
  list-style: none;
  list-style-position: outside;
  margin: 0;
  padding-left: 1.25em;
}
.law .maru ol li span {
  position: absolute;
  left: 0;
  margin: 0;
}
.law .pan {
  padding: 0;
  position: relative;
  list-style-type: none !important;
  /*ポチ消す*/
  padding: 0.5em 0.5em 0.5em 0.5em;
  margin-bottom: 5px;
  line-height: 1.5;
  background: #dbebf8;
  vertical-align: middle;
  color: #505050;
  border-radius: 15px 0px 0px 15px;
  /*左側の角丸く*/
}
.law .pan::after {
  display: inline-block;
  vertical-align: middle;
  /*以下白丸つくる*/
  content: "";
  width: 1em;
  height: 1em;
  background: #fff;
  border-radius: 50%;
  margin-right: 8px;
}
.law .bk_yellow {
  background-color: #feefd9;
  padding: 0.2% 1%;
  font-size: 90%;
  margin: 5px 0 0 0;
}
.law .mb10 {
  margin: 0 0 20px;
}
.law .mt10 {
  margin: 10px 0 0;
}

.pay {
  width: 1050px;
  padding: 26px 0 30px;
  background: url(../img/wavebg15.png) repeat-x top;
  margin: 100px auto 0;
}
.pay .ccontents__ttl {
  margin: 3em 0 2em;
  color: #66ba95;
  font-size: 38px;
  font-family: "Kiwi Maru", serif;
  position: relative;
}
.pay .ccontents__ttl:before {
  content: "";
  position: absolute;
  display: block;
  right: 25%;
  transform: translateX(-50%);
  top: -30px;
  width: 70px;
  height: 98px;
  background: url(../img/illust03.png) no-repeat left bottom;
}
.pay .pay__topics {
  width: 600px;
  margin: 0 auto;
  padding: 0px;
  background: #fff;
  font-size: 100%;
  text-align: left;
}
.pay .pay__topics .ttl {
  margin: 2em 0 0.2em;
  color: #ed7f5b;
  font-size: 20px;
  font-family: "Kiwi Maru", serif;
}
.pay .pay__line {
  border-bottom: 2px dotted #66ba95;
  padding: 20px 0;
  margin: 0 0 20px;
}
.pay .pay__line2 {
  border-bottom: 2px dotted #66ba95;
  padding: 20px 0 5px;
  font-size: 120%;
  margin: 20px 0 0;
  font-family: "Kiwi Maru", serif;
}

.kankyo {
  width: 1050px;
  padding: 26px 0 30px;
  background: url(../img/wavebg23.png) repeat-x top;
  margin: 100px auto 0;
}
.kankyo .ccontents__ttl {
  margin: 3em 0 2.5em;
  color: #ee8c98;
  font-size: 38px;
  font-family: "Kiwi Maru", serif;
  position: relative;
}
.kankyo .ccontents__ttl:before {
  content: "";
  position: absolute;
  display: block;
  left: 25%;
  transform: translateX(-50%);
  top: -30px;
  width: 81px;
  height: 99px;
  background: url(../img/illust02.png) no-repeat left bottom;
}
.kankyo .kankyo__topics {
  width: 600px;
  margin: 0 auto;
  padding: 0px;
  background: #fff;
  font-size: 100%;
  text-align: left;
}
.kankyo .kankyo__topics .ttl {
  margin: 2em 0 0.2em;
  color: #ed7f5b;
  font-size: 20px;
  font-family: "Kiwi Maru", serif;
}
.kankyo .kankyo__line {
  border-bottom: 2px dotted #ee8c98;
  padding: 10px 0;
  margin: 0 0 20px;
}
.kankyo .kankyo__line2 {
  border-top: 2px dotted #ee8c98;
  border-bottom: 2px dotted #ee8c98;
  padding: 20px 0 20px;
  font-size: 120%;
  margin: 20px 0;
}

.fees {
  padding: 0 0 30px;
  background: url(../img/wavebg01.png) repeat-x top;
  overflow: hidden;
}
.fees .contents__ttl {
  margin: 300px 0 2.5em;
  color: #ed7f5b;
  font-family: "Kiwi Maru", serif;
}
.fees__illust {
  position: absolute;
  left: -256px;
  top: 0;
  margin: -0.7em 0 0;
}
.fees__box {
  position: relative;
  padding: 60px 0;
  margin: 0 0 100px 0;
  background: #f8dadd;
}
.fees__box:before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: -9px;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg11.png) repeat-x top;
}
.fees__box:after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg07.png) repeat-x top;
}
.fees__topics {
  width: 1080px;
  margin: 0 auto;
  padding: 50px 40px;
  background: #fff;
  border-radius: 20px;
  font-size: 100%;
  text-align: left;
}
.fees__table02 {
  width: 100%;
  border-collapse: collapse;
  color: #717071;
  border: solid 2px #d54140;
  font-size: 90%;
}
.fees__table02 th {
  border: dashed 1px #d54140;
  padding: 5px 10px;
  text-align: center;
}
.fees__table02 td {
  border: dashed 1px #d54140;
  padding: 5px 10px;
  text-align: center;
}
.fees__table02 span {
  font-size: 80%;
}
.fees .price_title {
  font-size: 160%;
  color: #717071;
  font-weight: bold;
  margin: 0 0 10px;
  position: relative;
  font-family: "Kiwi Maru", serif;
  text-align: center;
}
.fees .price_title::after {
  content: "";
  display: inline-block;
  width: 71px;
  /*アイコン画像横サイズ*/
  height: 71px;
  /*アイコン画像縦サイズ*/
  background: url(../img/zou-8.png) no-repeat;
  /*アイコン画像*/
  position: absolute;
  top: -30px;
}
.fees table th.cs02 {
  color: #f39700;
}
.fees table th.cs03 {
  color: #6682bd;
}
.fees table th.cs04 {
  color: #46ada8;
}
.fees table th.cs05 {
  color: #8fcc00;
}
.fees table th.cs06 {
  color: #c06ea6;
}
.fees table th.cs02 a {
  color: #f39700;
}
.fees table th.cs03 a {
  color: #6682bd;
}
.fees table th.cs04 a {
  color: #46ada8;
}
.fees table th.cs05 a {
  color: #8fcc00;
}
.fees table th.cs06 a {
  color: #c06ea6;
}

/* 教室ページ */
.school__hd {
  width: 940px;
  margin: auto;
  text-align: left;
}
.school__hd__branch {
  position: relative;
  display: inline-block;
  min-width: 418px;
  padding: 46px 40px 0 50px;
  background: url(../img/school_title01.png) no-repeat left bottom;
  box-sizing: border-box;
  font-size: 36px;
  font-weight: 700;
  line-height: 50px;
  color: #fff;
}
.school__hd__branch:after {
  content: "";
  position: absolute;
  display: block;
  right: 0;
  bottom: 0;
  width: 418px;
  height: 46px;
  background: url(../img/school_title02.png) no-repeat right bottom;
  z-index: -1;
}
.school__hd__lead {
  padding: 0.8em 0 1em 50px;
  font-size: 20px;
  line-height: 35px;
}
.school__banner img {
  width: 100%;
  height: auto;
}
.school__pagenav {
  width: 940px;
  margin: auto;
  padding: 30px 0 50px;
  text-align: left;
}
.school__pagenav__subj {
  display: inline-block;
  padding: 0 2em 0 19px;
  background: url(../img/arrow_yellow.svg) no-repeat left center;
  background-size: 14px 14px;
  font-size: 17px;
  line-height: 1em;
}
.school__pagenav__subj a {
  color: #231815;
  text-decoration: none;
}
.school__pagenav__subj a:hover {
  color: #ed7f5b;
}
.school__intro {
  width: 940px;
  margin: 0 auto 20px;
  padding: 0 35px 25px;
  border: 3px solid #a1d6d3;
  border-radius: 20px;
  zoom: 100%;
}
.school__intro:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.school__intro__ttl {
  width: 295px;
  height: 60px;
  margin: -27px auto 0;
  background: url(../img/school_frame.png) no-repeat center bottom;
  font-size: 33px;
  line-height: 58px;
  color: #036eb7;
}
.school__intro__photo {
  max-width: 300px;
  margin: 16px 0 0 10px;
  float: right;
}
.school__intro__photo img {
  /*dth: 100%;*/
  height: auto;
}
.school__intro__detail {
  padding: 16px 0 0;
  overflow: hidden;
  text-align: left;
}
.school__intro__detail__ttl,
.school__intro__detail__txt {
  padding: 8px 0;
  border-bottom: 2px dashed #a1d6d3;
  line-height: 30px;
  float: left;
}
.school__intro__detail__ttl {
  width: 5.5em;
  font-size: 22px;
  clear: both;
}
.school__intro__detail__txt {
  font-size: 17px;
}
.school__intro__detail__txt strong {
  font-size: 22px;
  font-weight: 700;
  line-height: 26px;
}
.school__intro__detail__txt span {
  margin: -0.2em 0.7em 0 0;
  padding: 0 0.2em;
  border-radius: 5px;
  font-size: 22px;
  color: #fff;
  display: inline-block;
}
.school__intro__detail__txt .courseTA {
  background: #8eb8ff;
}
.school__intro__detail__txt .courseHB {
  background: #ffb6c1;
}
.school__intro__detail__txt .course01 {
  background: #d94c47;
}
.school__intro__detail__txt .course02 {
  background: #f8b755;
}
.school__intro__detail__txt .course03 {
  background: #3aa5a1;
}
.school__intro__detail__txt .course04 {
  background: #9170aa;
}
.school__intro__txt {
  margin: 0.5em 0 0;
  font-size: 22px;
  line-height: 1em;
  text-align: left;
}
.school__intro__txt a {
  padding: 0 24px 0 0;
  background: url(../img/arrow_yellow.svg) no-repeat right center;
  background-size: 19px 19px;
  color: #00978c;
  text-decoration: none;
}
.school__intro__txt a:hover {
  color: #ed7f5b;
}

.movie {
  padding: 80px 0 0;
  overflow: hidden;
}
.movie .contents__ttl {
  margin: 1em 0;
  color: #036eb7;
}
.movie__box {
  position: relative;
  padding: 60px 0;
  background: #cddd67 url(../img/movie_bg.png) no-repeat center center;
}
.movie__box:before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: -9px;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg16.png) repeat-x top;
}
.movie__box:after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg07.png) repeat-x top;
}

.info {
  padding: 50px 0 0;
  overflow: hidden;
}
.info .contents__ttl {
  margin: 1em 0;
  color: #036eb7;
}
.info__ttl {
  position: relative;
  margin: 0 auto;
  padding: 0 0 1em;
  font-size: 32px;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: 0.2em;
  display: inline-block;
}
.info__ttl .before {
  position: absolute;
  left: 0;
  bottom: 10px;
  transform: translateX(-130%);
}
.info__ttl .after {
  position: absolute;
  right: 0;
  bottom: 10px;
  transform: translateX(130%);
}
.info__box {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 867px;
  margin: 0 auto;
  padding: 20px 20px 20px 70px;
  background: #fff;
  border-radius: 30px;
  box-sizing: border-box;
}
.info__box__txt {
  width: 520px;
  font-size: 18px;
  line-height: 2em;
  color: #364794;
  text-align: left;
}
.info__box__photo {
  width: 213px;
}
.info__box__photo img {
  max-width: 100%;
  height: auto;
}
.info__box__photo img + img {
  margin: 40px 0 0;
}
.info__box__photo img.vertical {
  max-width: 80%;
}
.info__intro {
  position: relative;
  margin: 0 0 56px;
  padding: 30px 0 50px;
  background: #ffe459;
}
.info__intro:before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: -9px;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg17.png) repeat-x top;
}
.info__intro:after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg07.png) repeat-x top;
}
.info__intro .info__ttl {
  color: #ee835c;
}
.info__teacher {
  position: relative;
  margin: 0 0 56px;
  padding: 30px 0 50px;
  background: #a1d6d3;
}
.info__teacher:before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: -9px;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg18.png) repeat-x top;
}
.info__teacher:after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg07.png) repeat-x top;
}
.info__teacher .info__ttl {
  color: #249dba;
}
.info__insta {
  position: relative;
  margin: 0 0 56px;
  padding: 30px 0 50px;
  background: #ee7f5b;
}
.info__insta:before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: -9px;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg19.png) repeat-x top;
}
.info__insta:after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg07.png) repeat-x top;
}
.info__insta .info__ttl {
  color: #ffe797;
}
.info__insta .info__box {
  padding: 40px 0;
}
.info__insta .swiper-container {
  width: 653px;
  margin: 0 auto;
}
.info__insta .swiper-container .swiper-slide img {
  width: 100%;
  height: auto;
}
.info__insta .swiper-button-prev {
  content: "";
  position: absolute;
  display: block;
  left: 50%;
  transform: translateX(-380px);
  width: 25px;
  height: 29px;
  background: url(../img/swiper-button-prev.png) no-repeat center center;
}
.info__insta .swiper-button-next {
  content: "";
  position: absolute;
  display: block;
  right: 50%;
  transform: translateX(380px);
  width: 23px;
  height: 26px;
  background: url(../img/swiper-button-next.png) no-repeat center center;
}
.info__review {
  position: relative;
  margin: 0 0 25px;
  padding: 30px 0 50px;
  background: #cddd67;
}
.info__review:before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: -9px;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg20.png) repeat-x top;
}
.info__review:after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 9px;
  background: url(../img/wavebg07.png) repeat-x top;
}
.info__review .info__ttl {
  color: #5ab26d;
}

/* ------------------ */
/* スマートフォン */
/* ------------------ */
@media screen and (max-width: 767px) {
  body {
    min-width: unset;
    background-size: 5vw auto;
  }

  img {
    width: 100%;
    height: auto;
  }

  .pc {
    display: none;
  }

  .sp {
    display: inline-block;
  }

  /* header area */
  .lpheader {
    width: auto;
    height: auto;
  }
  .lpheader__logo {
    width: 42%;
    padding: 3vw 0 3vw 3%;
  }
  .lpheader__logo a {
    height: 8vw;
  }
  .lpheader__trial {
    width: 38%;
    padding: 0 12% 0 0;
  }
  .lpheader__trial a {
    padding: 0 0 0 8%;
    height: 4.5vw;
    background-size: contain;
    font-size: 2.7vw;
    line-height: 3.8vw;
  }
  .lpheader__sns {
    display: none;
  }

  .site-header {
    z-index: 990;
    background: url(../img/wavebg011.png) repeat-x top;
    position: fixed;
    justify-content: space-between;
    width: 100%;
  }

  .globalnav {
    position: fixed;
    left: 0;
    top: -300vh;
    z-index: 9999;
    opacity: 0;
    transition: top 0.6s, opacity 0.3s;
    -webkit-transition: top 0.6s, opacity 0.3s;
    height: 13vw;
    padding: 0;
    background: #fcede5;
    border-top: none;
  }
  .globalnav__btn {
    position: fixed;
    right: 0;
    top: 0;
    z-index: 997;
    width: 8%;
    margin: 6vw 3% 0 0;
    border-top: 1.2vw solid #ed7f5b;
    display: block;
    opacity: 0.5;
  }
  .globalnav__btn:before,
  .globalnav__btn:after {
    content: "";
    position: absolute;
    left: 0;
    border-top: 1.2vw solid #ed7f5b;
    width: 100%;
    height: 1vw;
    display: block;
  }
  .globalnav__btn:before {
    top: -3.7vw;
  }
  .globalnav__btn:after {
    top: 1.5vw;
  }
  .globalnav__menu {
    display: block;
    justify-content: unset;
    align-items: unset;
    border-top: 0.7vw dashed #d54140;
    width: 100%;
  }
  .globalnav__menu__page {
    width: auto;
    border-bottom: 0.7vw dashed #d54140;
    font-size: 4vw;
    font-weight: bold;
    line-height: 1.6em;
  }
  .globalnav__menu__page .globalnav__menu__page__btn {
    padding: 1em 0;
    border-left: unset;
  }
  .globalnav__menu__page .globalnav__menu__page__btn:before {
    display: none;
  }

  .gn-bg {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 998;
    background-color: rgba(0, 0, 0, 0.5);
  }

  .gn-bg label {
    display: block;
    width: 100%;
    height: 100%;
  }

  .globalnav .gn-close {
    position: fixed;
    right: 0;
    top: 0;
    background: #ed7f5b;
    font-size: 15vw;
    font-weight: 100;
    line-height: 1em;
    color: #fff;
    text-align: center;
    z-index: 999999;
    display: block;
  }

  #gnav:checked + .gn-bg + .globalnav {
    top: 0;
    opacity: 1;
    z-index: 99999;
    height: 100%;
    padding: 15vw 0 0;
    box-sizing: border-box;
    overflow: scroll;
    display: block;
  }

  #gnav:checked + .gn-bg {
    display: block;
  }

  #gnav {
    display: none;
  }

  /* contents area */
  .inner {
    width: auto;
    margin: auto;
  }

  .contents__ttl {
    font-size: 6vw;
  }
  .contents__ttl:before,
  .contents__ttl:after {
    width: 20vw;
    height: 3vw;
  }
  .contents__ttl:before {
    left: -22vw;
    background-size: 100% auto;
  }
  .contents__ttl:after {
    right: -22vw;
    background-size: 100% auto;
  }

  /* page-top */
  #page-top {
    bottom: 3vw;
  }

  #page-top a {
    padding: 9vw 0 0;
    background-size: auto 8vw;
    font-size: 4vw;
  }

  #page-top a span {
    font-size: 4vw;
  }

  /* footer */
  .lpfooter {
    margin: 5vw 0 0;
    padding: 0 0 5vw;
  }
  .lpfooter__nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    padding: 3vw 5% 5vw;
    text-align: left;
  }
  .lpfooter__nav__page {
    display: block;
    width: 40%;
    margin: 0;
    padding: 0.5em 0;
    font-size: 3.6vw;
    line-height: 1em;
  }
  .lpfooter__nav__page:nth-child(2n) {
    width: 60%;
  }
  .lpfooter__txt {
    font-size: 3.4vw;
    font-style: normal;
    line-height: 1.6em;
  }
  .lpfooter__txt small {
    font-size: 2.4vw;
  }

  /* トップページ */
  .mv {
    margin: 0 0 3vw;
    padding: 3vw 0 5vw;
    border-top: 1vw solid #f6c4aa;
    border-bottom: 1vw solid #f6c4aa;
  }
  .mv__ttl {
    width: auto;
    padding: 70px 0 0.5em 0;
    background: transparent;
    font-size: 5vw;
    line-height: 1.4em;
  }
  .mv__ttl__illust {
    position: absolute;
    right: 2%;
    bottom: 35%;
    transform: translateY(30%);
    width: 13vw;
    height: auto;
  }
  .mv .swiper-container {
    width: auto;
  }
  .mv__txt {
    position: absolute;
    left: 0;
    top: 4vw;
    transform: unset;
    width: 100%;
  }
  .mv .swiper-button-prev {
    left: 0.5%;
    transform: unset;
    width: 4vw;
    height: 5vw;
    background-size: contain;
  }
  .mv .swiper-button-next {
    right: 0.5%;
    transform: unset;
    width: 4vw;
    height: 5vw;
    background-size: contain;
  }

  .outline {
    margin: -30px 0 0 0;
    padding: 3vw 0 0;
    background-size: 5vw auto;
  }
  .outline .inner {
    display: block;
    justify-content: unset;
    align-items: unset;
    padding: 5vw 5%;
  }
  .outline__detail {
    width: auto;
  }
  .point01 .outline__detail {
    padding: 0;
    border-bottom: 0.7vw dashed #e6413e;
  }
  .point02 .outline__detail {
    padding: 0;
    border-bottom: 0.7vw dashed #fff;
  }
  .point03 .outline__detail {
    padding: 0;
    border-bottom: 0.7vw dashed #f5a900;
  }
  .outline__detail__ttl {
    height: 7.5vw;
    margin: 3vw 0 0.5em 16vw;
    padding: 0 0 0 1em;
    font-size: 4.5vw;
    line-height: 6.8vw;
  }
  .outline__detail__ttl__icon {
    position: absolute;
    left: -16vw;
    top: unset;
    bottom: 0;
    width: 15vw;
  }
  .point01 .outline__detail__ttl {
    background: url(../img/outline_title01.png) no-repeat right bottom;
    background-size: contain;
  }
  .point02 .outline__detail__ttl {
    background: url(../img/outline_title02.png) no-repeat right bottom;
    background-size: contain;
    letter-spacing: -0.08em;
  }
  .point03 .outline__detail__ttl {
    background: url(../img/outline_title03.png) no-repeat right bottom;
    background-size: contain;
  }
  .outline__detail__ttl small {
    left: 1em;
    top: -2em;
    font-size: 3.4vw;
  }
  .outline__detail__ttl small:before,
  .outline__detail__ttl small:after {
    width: 0.4vw;
    height: 4vw;
  }
  .outline__detail__txt {
    width: auto;
    padding: 0 0 1em;
    font-size: 3.8vw;
  }
  .point02 .outline__detail {
    order: unset;
  }
  .outline__photo {
    width: auto;
    padding: 3vw 0 0;
  }
  .point02 .outline__photo {
    order: unset;
  }
  .outline .point03 {
    padding: 60px 5% 4vw;
  }
  .outline .point02 {
    position: relative;
    padding: 30px 0 4vw;
    background-size: 5vw auto;
  }
  .outline .point02:after {
    height: 3vw;
    background-size: 5vw auto;
  }
  .outline__ability {
    width: auto;
    padding: 0 0 3vw;
    background: url(../img/ability_bg02.png) no-repeat left bottom;
    background-size: 15vw auto;
  }
  .outline__ability__ttl {
    background-size: 80vw auto;
    font-size: 5vw;
  }
  .outline__ability__ttl small {
    font-size: 4vw;
  }
  .outline__ability__txt {
    padding: 1em 0 0;
    font-size: 3.8vw;
    line-height: 1.6em;
  }
  .outline__award {
    padding: 5vw 3vw;
  }
  .outline__award__banner {
    padding: 2vw;
  }
  .outline__award__banner__img {
    width: 100%;
  }
  .outline__award__banner__illust {
    position: absolute;
    right: -2vw;
    bottom: -5vw;
    width: 20%;
  }
  .outline + .outline {
    margin: 0 0 10vw;
    padding: 0 0 8vw;
  }
  .outline + .outline:after {
    height: 2vw;
    background-size: 5vw auto;
  }

  .points {
    padding: 0 0 10vw;
    background-size: 5vw auto;
    margin: -20px 0 0 0;
  }
  .points .contents__ttl {
    margin: 50px 0 30px;
  }
  .points__box {
    padding: 0 0 3.6vw;
    background-size: 5vw auto;
  }
  .points__box:after {
    height: 2vw;
    background-size: 5vw auto;
  }
  .points__detail {
    display: block;
    justify-content: unset;
    align-items: unset;
    flex-wrap: unset;
    width: auto;
    padding: 8vw 0 3vw;
  }
  .points__detail__item {
    width: auto;
    padding: 0 5% 8vw 2%;
  }
  .points__detail__hd {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .points__detail__icon {
    width: 20%;
  }
  .points__detail__cont {
    width: 78%;
  }
  .points__detail__cont__ttl {
    border-bottom: 0.7vw dashed #ed7f5b;
    font-size: 4vw;
    line-height: 1.4em;
  }
  .points__detail__cont__txt {
    font-size: 3.8vw;
    line-height: 1.6em;
  }
  .points__detail__cont__txt.ovflow {
    margin-right: 0;
  }
  .points__detail__photo {
    width: 80%;
    margin: 3vw auto 0;
  }
  .points__detail__photo img {
    box-shadow: 2vw 2vw 0 #afd6fb;
  }
  .points__btn {
    width: auto;
    background-size: 1.4vw 1.4vw;
  }
  .points__btn img {
    margin: -5vw 0 -3vw;
  }

  .course {
    padding: 0 0 3vw;
    background-size: 5vw auto;
  }
  .course .contents__ttl {
    margin: 50px 0 30px;
  }
  .course__box {
    padding: 0 0 3.6vw;
    background-size: 5vw auto;
  }
  .course__box:after {
    height: 2vw;
    background-size: 5vw auto;
  }
  .course__lineup {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: auto;
    padding: 10vw 2% 0;
    background-size: 100% auto;
  }
  .course__lineup__class {
    width: 46%;
    margin: 0 2% 10vw;
    border-radius: 5vw;
    box-shadow: 2vw 2vw 0 #b96448;
  }
  .course__lineup__class:before {
    left: 3vw;
    top: -5vw;
    width: 10vw;
    height: 10vw;
    box-shadow: 1vw 1vw 0 rgba(0, 0, 0, 0.2);
  }
  .course__lineup__class a {
    padding: 2vw 3vw 3vw;
  }
  .course__lineup__class a:after {
    right: 3vw;
    bottom: 2vw;
    width: 4vw;
    height: 4.5vw;
    background-size: 100% auto;
  }
  .course__lineup__ttl {
    border-bottom: 0.7vw dashed #fff;
    font-size: 5vw;
  }
  .course__lineup__txt {
    font-size: 3.8vw;
  }
  .course__btn {
    width: auto;
    padding: 0 20% 5vw;
    background-size: 1.4vw 1.4vw;
  }
  .course__btn img {
    margin: -1vw 0 0;
  }

  .flow {
    padding: 0 0 3vw;
    background-size: 5vw auto;
    margin: 0 0 0 0;
  }
  .flow .contents__ttl {
    margin: 50px 0 30px;
  }
  .flow .contents__ttl img {
    position: relative;
    z-index: 2;
    margin: -6vw -0.8em -3vw 0.1em;
    width: 12vw;
  }
  .flow .contents__ttl:before {
    left: -15vw;
    background: url(../img/ttlbg01_sp.png) no-repeat left center;
    height: 4vw;
    width: 15vw;
  }
  .flow .contents__ttl:after {
    right: -20vw;
    background: url(../img/ttlbg02_sp.png) no-repeat left center;
    height: 4vw;
    width: 15vw;
  }
  .flow__box {
    padding: 0 0 3.6vw;
    background-size: 5vw auto;
  }
  .flow__box:after {
    height: 2vw;
    background-size: 5vw auto;
  }
  .flow__steps {
    padding: 7vw 0 5vw;
    background: url(../img/flow_bg.png) repeat-y center top;
    background-size: 100% auto;
  }
  .flow__steps__point2 {
    width: auto;
    height: auto;
    margin: 0 auto 94px;
    padding: 0 20px 2px 20px;
    line-height: 1.6em;
  }
  .flow__steps__point2:last-child {
    margin: 0 5%;
    padding: 0;
  }
  .flow__steps__point {
    width: auto;
    height: auto;
    margin: 5px 4vw 10px;
    padding: 0.5em 0.5em 0.5em 12vw;
    border-radius: 2vw;
    font-size: 4vw;
    line-height: 1.4em;
  }
  .flow__steps__point:before {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 12vw;
    height: 100%;
    border-top-left-radius: 2vw;
    border-bottom-left-radius: 2vw;
    font-size: 7vw;
  }
  .flow__steps__point:after {
    bottom: -12vw;
    transform: translateX(-5%);
    width: 10vw;
    height: 11vw;
    background-size: contain;
  }
  .flow__steps__point:last-child {
    margin: 0 5%;
    padding: 0.5em 0.5em 0.5em 12vw;
  }

  .review {
    padding: 0 0 3vw;
    background-size: 5vw auto;
    margin: 0 0 0 0;
  }
  .review .contents__ttl {
    margin: 50px 0 30px;
  }
  .review .contents__ttl:before {
    width: 20vw;
    height: 3vw;
  }
  .review .contents__ttl:after {
    width: 20vw;
    height: 3vw;
  }
  .review__illust01 {
    left: -27vw;
    width: 16vw;
  }
  .review__illust02 {
    right: -27vw;
    width: 12vw;
    z-index: 2;
  }
  .review__box {
    padding: 0 0 3.6vw;
  }
  .review__box:before {
    top: -2vw;
    height: 2vw;
    background-size: 5vw auto;
  }
  .review__box:after {
    height: 2vw;
    background-size: 5vw auto;
  }
  .review__message {
    display: block;
    justify-content: unset;
    align-items: unset;
    flex-wrap: unset;
    width: auto;
    padding: 5vw 5% 0;
  }
  .review__voice {
    width: auto;
    margin: 0 0 5vw;
    padding: 3vw;
    border-radius: 3vw;
  }
  .review__voice__photo {
    width: 34%;
  }
  .review__voice__detail {
    width: 62%;
  }
  .review__voice__ttl {
    font-size: 4vw;
  }
  .review__voice__txt {
    font-size: 3.8vw;
  }

  .news {
    padding: 0 0 3vw;
    background-size: 5vw auto;
    margin: 0 0 0 0;
  }
  .news .contents__ttl {
    margin: 50px 0 30px;
  }
  .news__illust {
    left: -36vw;
    width: 17vw;
  }
  .news__box {
    padding: 8vw 0;
    background: #c2e2d4 url(../img/news_bg.png) repeat-y center top;
  }
  .news__box:before {
    top: 0;
    height: 2vw;
    background-size: 5vw auto;
  }
  .news__box:after {
    height: 2vw;
    background-size: 5vw auto;
  }
  .news__topics {
    width: auto;
    margin: 0 5%;
    padding: 0 5%;
    border-radius: 3vw;
  }
  .news__topics__txt {
    border-bottom: 0.7vw dashed #609d91;
    font-size: 4vw;
  }
  .news__topics__txt a {
    padding: 1em 0;
  }
  .news__topics__txt small {
    font-size: 3.8vw;
  }

  .search {
    padding: 5vw 0;
    background-size: 5vw auto;
    margin: 0 0 0 0;
  }
  .search__box {
    position: relative;
    padding: 5vw 0;
  }
  .search__box:after {
    height: 2vw;
    background-size: 5vw auto;
  }
  .search__copy {
    font-size: 3.8vw;
  }
  .search__form {
    padding: 0 0 8vw;
  }
  .search__form span {
    font-size: 6vw;
    line-height: 8vw;
  }
  .search__form input {
    width: 50%;
    height: 8vw;
    border-top-left-radius: 3vw;
    border-bottom-left-radius: 3vw;
    border: none;
    font-size: 6vw;
    line-height: 8vw;
  }
  .search__form button {
    width: 20%;
    height: 8vw;
    background-size: 6vw auto;
    border-top-right-radius: 3vw;
    border-bottom-right-radius: 3vw;
  }
  .search__result {
    padding: 0 10% 5vw;
  }
  .search__result__ttl {
    font-size: 5vw;
  }
  .search__result__txt {
    font-size: 4.5vw;
  }
  .search__result__notice {
    font-size: 3.6vw;
    line-height: 1.4em;
  }
  .search__trial {
    width: auto;
    padding: 3vw 0 5vw;
    background-size: 1.4vw 1.4vw;
  }
  .search__trial small {
    font-size: 6vw;
    line-height: 1.6em;
  }
  .search__trial__btn {
    width: 90%;
    margin: 2vw 0 0;
    padding: 3vw 0 3vw 18%;
    background: #fff url(../img/search_illust.png) no-repeat left 5% bottom;
    background-size: 23% auto;
    border-radius: 18vw;
    box-shadow: 0.4vw 0.4vw 1vw rgba(0, 0, 0, 0.5);
    font-size: 5vw;
    letter-spacing: 0;
  }
  .search__trial__btn strong {
    font-size: 7vw;
  }
  .search__trial__btn:after {
    content: "";
    position: absolute;
    display: block;
    right: 2%;
    width: 5vw;
    height: 5vw;
    background-size: contain;
  }

  .aboutus {
    margin: 00 0 0;
  }

  .kojin {
    padding: 0 0 30px;
    background: url(../img/wavebg01.png) repeat-x top;
    overflow: hidden;
  }
  .kojin .contents__ttl {
    margin: 3em 0 1.5em;
    color: #ed7f5b;
  }
  .kojin__illust {
    position: absolute;
    left: -256px;
    top: 0;
    margin: -0.7em 0 0;
  }
  .kojin__box {
    position: relative;
    padding: 60px 0;
    margin: 0 0 0 0;
    background: #f8dadd;
  }
  .kojin__box:before {
    content: "";
    position: absolute;
    display: block;
    left: 0;
    top: -9px;
    width: 100%;
    height: 9px;
    background: url(../img/wavebg11.png) repeat-x top;
  }
  .kojin__box:after {
    content: "";
    position: absolute;
    display: block;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 9px;
    background: url(../img/wavebg07.png) repeat-x top;
  }
  .kojin__topics {
    width: auto;
    padding: 50px 3% 120px 3%;
    margin: 0 20px;
  }
  .kojin__topics__privacy_text {
    color: #333;
    font-size: 100%;
    text-align: left;
    font-weight: bold;
    padding: 40px 0 1px 0;
    border-bottom: 3px solid #e7e6e5;
  }
  .kojin__topics__privacy_text p {
    font-weight: normal;
  }
  .kojin__topics__privacy_text__text_right {
    float: right;
    text-align: right;
  }
  .kojin__topics__privacy_text__ol {
    list-style-type: disc;
  }
  .kojin__topics__text_right {
    float: right;
    text-align: right;
  }

  .law {
    padding: 0 0 30px;
    background: url(../img/wavebg01.png) repeat-x top;
    overflow: hidden;
  }
  .law .contents__ttl {
    margin: 3em 0 1.5em;
    color: #ed7f5b;
  }
  .law__illust {
    position: absolute;
    left: -256px;
    top: 0;
    margin: -0.7em 0 0;
  }
  .law__box {
    position: relative;
    padding: 60px 0;
    margin: 0 0 0px 0;
    background: #f8dadd;
  }
  .law__box:before {
    content: "";
    position: absolute;
    display: block;
    left: 0;
    top: -9px;
    width: 100%;
    height: 9px;
    background: url(../img/wavebg11.png) repeat-x top;
  }
  .law__box:after {
    content: "";
    position: absolute;
    display: block;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 9px;
    background: url(../img/wavebg07.png) repeat-x top;
  }
  .law__topics {
    width: auto;
    padding: 0px 3% 10px 3%;
    margin: -50px 20px 0;
  }
  .law__table {
    margin: 1em 0;
    width: 100%;
    max-width: 100%;
    border-spacing: 0 24px;
  }
  .law__table tr > *:first-child {
    padding-left: 0;
    display: block;
    width: 100%;
  }
  .law__table tr th,
  .law td {
    　border-left: none;
    display: block;
    width: 100%;
  }
  .law__table tr th,
  .law .bg_sky_4 .inner table tr td {
    padding: 1em 0 0;
    text-align: left;
    vertical-align: top;
  }
  .law__table tr > *:last-child {
    padding-right: 0;
  }
  .law__tr {
    display: table-row;
  }
  .law__table tr th + td {
    border-left: none;
  }
  .law__table tr td {
    padding: 0 0em 0.3em 0em;
    line-height: 1.47;
  }

  .out01 {
    padding: 0 0 30px;
    background: url(../img/wavebg01.png) repeat-x top;
    overflow: hidden;
  }
  .out01 .contents__ttl {
    margin: 3em 0 1.5em;
    color: #ed7f5b;
  }
  .out01__illust {
    position: absolute;
    left: -256px;
    top: 0;
    margin: -0.7em 0 0;
  }
  .out01__box {
    position: relative;
    padding: 60px 0;
    margin: 0 0 0px 0;
    background: #f8dadd;
  }
  .out01__box:before {
    content: "";
    position: absolute;
    display: block;
    left: 0;
    top: -9px;
    width: 100%;
    height: 9px;
    background: url(../img/wavebg11.png) repeat-x top;
  }
  .out01__box:after {
    content: "";
    position: absolute;
    display: block;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 9px;
    background: url(../img/wavebg07.png) repeat-x top;
  }
  .out01__topics {
    width: auto;
    padding: 50px 3% 120px 3%;
    margin: 0 20px;
  }
  .out01__table {
    margin: 1em 0;
    width: 100%;
    max-width: 100%;
    border-spacing: 0 24px;
  }
  .out01__table tr > *:first-child {
    padding-left: 0;
  }
  .out01__table tr th {
    width: 15%;
    padding: 0.25em 0.8em;
    font-size: 16px;
    line-height: 1.4;
  }
  .out01__table tr th,
  .out01 .bg_sky_4 .inner table tr td {
    padding: 1em;
    text-align: left;
    vertical-align: top;
  }
  .out01__table tr > *:last-child {
    padding-right: 0;
  }
  .out01__tr {
    display: table-row;
    vertical-align: inherit;
    border-color: inherit;
  }
  .out01__table tr th + td {
    border-left: 1px solid #ddd;
  }
  .out01__table tr td {
    padding: 0.3em 2.7em 0.3em 1.6em;
    line-height: 1.47;
  }
  .out01__table tr th,
  .out01 .bg_sky_4 .inner table tr td {
    padding: 1em;
    text-align: left;
    vertical-align: top;
    display: table-cell;
    vertical-align: inherit;
  }
  .out01 .bk_yellow {
    background-color: #feefd9;
    padding: 0.5% 1%;
    font-size: 90%;
  }

  .aboutus {
    padding: 10vw 0;
    background-size: 5vw auto;
  }
  .aboutus__ttl {
    font-size: 5vw;
    line-height: 2em;
  }
  .aboutus__ttl:after {
    width: 80%;
    height: 0.4vw;
    border-top: 0.7vw dashed #d54140;
  }
  .aboutus__txt {
    padding: 10vw 0;
    font-size: 4vw;
    line-height: 1.8em;
  }
  .aboutus__logo {
    width: 30%;
    padding: 0 0 10vw;
  }
  .aboutus__btn {
    width: 90%;
    height: auto;
    padding: 0.5em 0;
    background: url(../img/aboutus_arrow.png) no-repeat right 3vw center;
    background-size: 6vw auto;
    border: 0.7vw solid #7db9f2;
    border-radius: 14vw;
    font-size: 4.6vw;
    line-height: 1.6em;
  }

  .start {
    width: auto;
    padding: 26px 0 30px;
    background: url(../img/wavebg14.png) repeat-x top;
    margin: 0 auto;
  }
  .start .ccontents__ttl {
    margin: 0.5em 0 0.5em;
    color: #ed7f5b;
    font-size: 38px;
    font-family: "Kiwi Maru", serif;
    position: relative;
  }
  .start .ccontents__ttl:before {
    content: "";
    position: absolute;
    display: block;
    left: 10%;
    transform: translateX(-50%);
    top: -10px;
    width: 70px;
    height: 74px;
    background: url(../img/zou-8.png) no-repeat left bottom;
  }
  .start .contents__txt {
    text-align: left;
  }
  .start .start__topics {
    width: auto;
    margin: 0 auto;
    padding: 0px 10px 0 15px;
    background: #fff;
    font-size: 100%;
    text-align: left;
  }
  .start .start__topics .ttl {
    margin: 2em 0 0.2em;
    color: #ed7f5b;
    font-size: 20px;
    font-family: "Kiwi Maru", serif;
  }

  .pay {
    width: auto;
    padding: 26px 0 30px;
    background: url(../img/wavebg15.png) repeat-x top;
    margin: 100px auto 0;
  }
  .pay .ccontents__ttl {
    margin: 0.5em 0 0.5em;
    color: #66ba95;
    font-size: 38px;
    font-family: "Kiwi Maru", serif;
    position: relative;
  }
  .pay .ccontents__ttl:before {
    content: "";
    position: absolute;
    display: block;
    right: 25%;
    transform: translateX(-50%);
    top: -30px;
    width: 70px;
    height: 98px;
    background: none;
  }
  .pay .pay__topics {
    width: auto;
    margin: 0 auto;
    padding: 0px 10px 0 15px;
    background: #fff;
    font-size: 100%;
    text-align: left;
  }
  .pay .pay__topics .ttl {
    margin: 2em 0 0.2em;
    color: #ed7f5b;
    font-size: 20px;
    font-family: "Kiwi Maru", serif;
  }
  .pay .pay__line {
    border-bottom: 2px dotted #66ba95;
    padding: 20px 0;
    margin: 0 0 20px;
  }
  .pay .pay__line2 {
    border-bottom: 2px dotted #66ba95;
    padding: 20px 0 5px;
    font-size: 120%;
    margin: 20px 0 0;
    font-family: "Kiwi Maru", serif;
  }

  .kankyo {
    width: auto;
    padding: 26px 0 30px;
    background: url(../img/wavebg23.png) repeat-x top;
    margin: 10px auto 0;
  }
  .kankyo .ccontents__ttl {
    margin: 0.5em 0 0.5em;
    color: #ee8c98;
    font-size: 38px;
    font-family: "Kiwi Maru", serif;
    position: relative;
  }
  .kankyo .ccontents__ttl:before {
    content: "";
    position: absolute;
    display: block;
    left: 25%;
    transform: translateX(-50%);
    top: -30px;
    width: 81px;
    height: 99px;
    background: none;
  }
  .kankyo .kankyo__topics {
    width: auto;
    margin: 0 auto;
    padding: 0px 10px 0 15px;
    background: #fff;
    font-size: 100%;
    text-align: left;
  }
  .kankyo .kankyo__topics .ttl {
    margin: 2em 0 0.2em;
    color: #ed7f5b;
    font-size: 20px;
    font-family: "Kiwi Maru", serif;
  }
  .kankyo .kankyo__line {
    border-bottom: 2px dotted #ee8c98;
    padding: 10px 0;
    margin: 0 0 20px;
  }
  .kankyo .kankyo__line2 {
    border-top: 2px dotted #ee8c98;
    border-bottom: 2px dotted #ee8c98;
    padding: 20px 0 20px;
    font-size: 120%;
    margin: 20px 0;
  }

  .fees {
    padding: 0 0 30px;
    background: url(../img/wavebg01.png) repeat-x top;
    overflow: hidden;
  }
  .fees .contents__ttl {
    margin: 3em 0 2.5em;
    color: #ed7f5b;
  }
  .fees__illust {
    position: absolute;
    left: -256px;
    top: 0;
    margin: -0.7em 0 0;
  }
  .fees__box {
    position: relative;
    padding: 60px 0;
    margin: 0 0 0 0;
    background: #f8dadd;
  }
  .fees__box:before {
    content: "";
    position: absolute;
    display: block;
    left: 0;
    top: -9px;
    width: 100%;
    height: 9px;
    background: url(../img/wavebg11.png) repeat-x top;
  }
  .fees__box:after {
    content: "";
    position: absolute;
    display: block;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 9px;
    background: url(../img/wavebg07.png) repeat-x top;
  }
  .fees__topics {
    width: auto;
    margin: 0px 20px 0 20px;
    padding: 20px 20px;
    background: #fff;
    border-radius: 20px;
    font-size: 100%;
    text-align: left;
  }
  .fees__table02 {
    width: 100%;
    border-collapse: collapse;
    color: #717071;
    border: solid 2px #d54140;
    font-size: 90%;
  }
  .fees__table02 thead th {
    display: none;
  }
  .fees__table02 th {
    background: #d54140;
    color: #fff;
    padding: 4px 12px;
    display: block;
  }
  .fees__table02　th.cs02 {
    color: #fff;
  }
  .fees__table02 td {
    padding: 4px 12px;
    display: block;
  }
  .fees__table02 td[data-title]::before {
    color: #666;
    content: attr(data-title) " :";
    font-weight: bold;
    padding: 0 10px 0 0;
    display: inline;
  }
  .fees__table02 span {
    font-size: 80%;
  }
  .fees table th.cs02 a {
    color: #fff;
  }
  .fees table th.cs03 a {
    color: #fff;
  }
  .fees table th.cs04 a {
    color: #fff;
  }
  .fees table th.cs05 a {
    color: #fff;
  }
  .fees table th.cs06 a {
    color: #fff;
  }
  .fees table th.cs02 {
    color: #fff;
  }
  .fees table th.cs03 {
    color: #fff;
  }
  .fees table th.cs04 {
    color: #fff;
  }
  .fees table th.cs05 {
    color: #fff;
  }
  .fees table th.cs06 {
    color: #fff;
  }

  .howteach {
    padding: 0 0 30px;
    background: url(../img/wavebg01.png) repeat-x top;
    overflow: hidden;
  }
  .howteach .contents__ttl {
    margin: 3em 0 1.5em;
    color: #ed7f5b;
  }
  .howteach__illust {
    position: absolute;
    left: -256px;
    top: 0;
    margin: -0.7em 0 0;
  }
  .howteach__box {
    position: relative;
    padding: 1px 0 100px;
    margin: 0 0 0;
    background: #f8dadd;
  }
  .howteach__box:before {
    content: "";
    position: absolute;
    display: block;
    left: 0;
    top: -9px;
    width: 100%;
    height: 9px;
    background: url(../img/wavebg11.png) repeat-x top;
  }
  .howteach__box:after {
    content: "";
    position: absolute;
    display: block;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 9px;
    background: url(../img/wavebg07.png) repeat-x top;
  }
  .howteach__topics2 {
    width: auto;
    margin: 100px 20px 0 20px;
    padding: 20px 20px;
    background: #63c195;
    border-radius: 10px;
    font-size: 100%;
    text-align: left;
    outline: dashed 2px #fff;
    outline-offset: -10px;
    position: relative;
  }
  .howteach__topics {
    width: auto;
    padding: 24px;
    margin: 20px 20px 0 20px;
    outline-offset: -10px;
  }
  .howteach__topics:after {
    content: "";
    position: absolute;
    display: block;
    left: 50%;
    bottom: -78px;
    transform: translateX(-50%);
    width: 50px;
    height: 54px;
    background: url(../img/flow_arrow.png) no-repeat center bottom;
  }
  .howteach__les2 {
    margin: -20px 0 10px 0;
    width: 30%;
  }
  .howteach__les3 {
    margin: 0px 0 10px 0;
    width: 30%;
  }
  .howteach__voice {
    display: block;
    width: auto;
    border-radius: 20px;
    box-sizing: border-box;
    padding: 10px 0 0;
  }
  .howteach__voice__photo {
    width: 100%;
  }
  .howteach__voice__photo img {
    width: 100%;
    height: auto;
    margin: 10px 0 0 0;
  }
  .howteach__voice__detail {
    width: 100%;
    text-align: left;
  }
  .howteach__voice__ttl {
    padding: 0 0 0.3em;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.4em;
  }
  .howteach__voice__txt {
    font-size: 3.8vw;
    line-height: 1.4em;
  }
  .howteach__voice__txt em {
    color: #ee8c98;
  }
  .howteach__voice2 {
    display: block;
    width: auto;
    border-radius: 20px;
    box-sizing: border-box;
  }
  .howteach__voice2__photo {
    width: 100%;
  }
  .howteach__voice2__photo img {
    width: 100%;
    height: auto;
  }
  .howteach__voice2__detail {
    width: 100%;
    text-align: left;
  }
  .howteach__voice2__dx {
    background-color: #fff;
    border-radius: 5px;
    padding: 2px 5px;
    color: #6682bd;
    margin: 0 10px 5px 0;
    font-size: 3.8vw;
  }
  .howteach__voice2__ttl {
    padding: 0 0 0.3em;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.4em;
    color: #fff;
  }
  .howteach__voice2__txt {
    font-size: 3.8vw;
    line-height: 1.8em;
    color: #fff;
  }

  .faq {
    padding: 0 0 3vw;
    background-size: 5vw auto;
    margin: 0 0 0 0;
  }
  .faq .contents__ttl {
    margin: 100px 0 36px;
  }
  .faq__illust {
    left: -36vw;
    width: 17vw;
  }
  .faq__box {
    position: relative;
    padding: 10px 0;
  }

  /* 教室ページ */
  .school__hd {
    width: auto;
    margin: auto;
    padding: 0 5% 5vw;
  }
  .school__hd__branch {
    min-width: 60vw;
    padding: 6vw 3% 0 5%;
    background-size: 60vw auto;
    font-size: 5vw;
    line-height: 8vw;
  }
  .school__hd__branch:after {
    width: 60vw;
    height: 8vw;
    background-size: 60vw auto;
  }
  .school__hd__lead {
    padding: 0.8em 0 1em 5%;
    font-size: 4vw;
    line-height: 1.6em;
  }
  .school__pagenav {
    width: auto;
    margin: auto;
    padding: 3vw 5% 10vw;
  }
  .school__pagenav__subj {
    padding: 0 1em 0 5vw;
    background-size: 3.4vw auto;
    font-size: 3.8vw;
    line-height: 1em;
  }
  .school__intro {
    width: auto;
    margin: 0 5% 5vw;
    padding: 0 5% 5vw;
    border: 1vw solid #a1d6d3;
    border-radius: 3vw;
  }
  .school__intro__ttl {
    width: 100%;
    height: 14vw;
    margin: -6.2vw auto 0;
    background-size: auto 14vw;
    font-size: 6vw;
    line-height: 14vw;
  }
  .school__intro__photo {
    max-width: unset;
    margin: 3vw 0 0;
    float: none;
  }
  .school__intro__detail {
    padding: 5vw 0 0;
  }
  .school__intro__detail__ttl,
  .school__intro__detail__txt {
    float: none;
  }
  .school__intro__detail__ttl {
    width: auto;
    padding: 0.5em 0 0.2em;
    border-bottom: 0.4vw dotted #a1d6d3;
    font-size: 4vw;
    line-height: 1.2em;
    clear: unset;
    display: inline-block;
  }
  .school__intro__detail__txt {
    padding: 0.2em 0 0.5em;
    border-bottom: 0.7vw dashed #a1d6d3;
    font-size: 3.8vw;
    line-height: 1.6em;
  }
  .school__intro__detail__txt strong {
    font-size: 8vw;
    line-height: 1.1em;
  }
  .school__intro__detail__txt span {
    border-radius: 2vw;
    font-size: 4vw;
  }
  .school__intro__txt {
    font-size: 4vw;
  }
  .school__intro__txt a {
    padding: 0 5vw 0 0;
    background-size: 3.8vw 3.8vw;
  }

  .movie {
    padding: 10vw 0 5vw;
  }
  .movie__box {
    position: relative;
    padding: 5vw 5%;
  }
  .movie__box:before {
    top: -2vw;
    height: 2vw;
    background-size: 5vw auto;
  }
  .movie__box:after {
    height: 2vw;
    background-size: 5vw auto;
  }
  .movie__box iframe {
    width: 100%;
    height: 50.6vw;
  }

  .info {
    padding: 10vw 0 5vw;
  }
  .info__ttl {
    font-size: 6vw;
  }
  .info__ttl .before,
  .info__ttl .after {
    bottom: 1vw;
    width: 16vw;
  }
  .info__ttl .before {
    transform: translateX(-110%);
  }
  .info__ttl .after {
    transform: translateX(110%);
  }
  .info__box {
    display: block;
    justify-content: unset;
    align-items: unset;
    width: auto;
    margin: auto;
    padding: 5vw 5%;
    border-radius: 3vw;
  }
  .info__box__txt {
    width: auto;
    font-size: 4vw;
    line-height: 1.8em;
  }
  .info__box__photo {
    width: auto;
    padding: 5vw 0 0;
  }
  .info__box__photo img + img {
    margin: 5vw 0 0;
  }
  .info__intro,
  .info__teacher,
  .info__insta,
  .info__review {
    position: relative;
    margin: 0 0 10vw;
    padding: 5vw 5%;
  }
  .info__intro:before,
  .info__teacher:before,
  .info__insta:before,
  .info__review:before {
    top: -2vw;
    height: 2vw;
    background-size: 5vw auto;
  }
  .info__intro:after,
  .info__teacher:after,
  .info__insta:after,
  .info__review:after {
    height: 2vw;
    background-size: 5vw auto;
  }
  .info__insta .swiper-container {
    width: 80%;
  }
  .info__insta .swiper-button-prev {
    left: 0.5%;
    transform: unset;
    width: 4vw;
    height: 5vw;
    background-size: contain;
  }
  .info__insta .swiper-button-next {
    right: 0.5%;
    transform: unset;
    width: 4vw;
    height: 5vw;
    background-size: contain;
  }
}
