/* ===============================================
# animation
=============================================== */
.ani.anit {
  opacity: 0 !important;
  transform: translateY(30px);
  transition: all 1s 0s ease;
}

.ani.anit.active {
  opacity: 1 !important;
  transform: translateY(0);
}

.ani.anir {
  opacity: 0 !important;
  transform: translateX(-30px);
  transition: all 1s 0s ease;
}

.ani.anir.active {
  opacity: 1 !important;
  transform: translateX(0);
}

.ani.anil {
  opacity: 0 !important;
  transform: translateX(30px);
  transition: all 1s 0s ease;
}

.ani.anil.active {
  opacity: 1 !important;
  transform: translateX(0);
}

.animation02 {
  overflow: hidden;
  position: relative;
}

.animation02 img {
  display: block;
  opacity: 0;
  position: relative;
  transition: all 1s 0.3s ease;
  width: 100%;
  z-index: 0;
}

.animation02::before {
  background: rgb(255, 255, 255);
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  transform: translateX(0);
  transition: all 0.8s 0.4s ease;
  width: 100%;
  z-index: 1;
}

.animation02.active:before {
  transform: translateX(100%);
}

.animation02.active img {
  opacity: 1;
}

@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  body {
    background-color: #f9f9f9;
  }
  body img {
    height: auto;
    max-width: 100%;
  }
  body .image img,
  body .question img,
  body .answer img {
    width: 100%;
  }
  body .wrap {
    background-color: #fff;
    margin: 0 auto;
    width: 100%;
  }
  body .wrap #fv {
    height: 100vh;
    height: 100svh;
    margin-bottom: 80px;
    position: relative;
  }
  body .wrap #fv:before {
    background-color: #f7f5f4;
    content: "";
    display: block;
    height: 50vh;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
  }
  body .wrap #fv .images .image {
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 100%;
    height: 100svh;
    width: 100%;
  }
  body .wrap #fv .logo {
    left: 50%;
    top: 8vh;
    position: absolute;
    text-align: center;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    z-index: 3;
    width: 74vw;
  }
  body .wrap #concept .image img {
    width: 100%;
  }
  body .wrap #point {
    background-image: url(../images/point09@2x.png?12222);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 100%;
    padding: 0 0 124px 33px;
  }
  body .wrap #point .image01 {
    padding: 0 0 16px 3px;
  }
  body .wrap #point .image02,
  body .wrap #point .image03 {
    padding-bottom: 8px;
  }
  body .wrap #point .image04 {
    padding-bottom: 36px;
  }
  body .wrap #point .image05 {
    padding: 0 0 26px 58px;
  }
  body .wrap #point .image06 {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    margin: 0 45px 32px 8px;
    padding: 0 0 55px 16px;
  }
  body .wrap #point .image07 {
    padding: 0 0 26px 59px;
  }
  body .wrap #point .image08 {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    margin: 0 45px 0 8px;
    padding: 0 0 33px 22px;
  }
  body .wrap #children {
    background-image: url(../images/children01@2x.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100%;
    padding: 155vw 0 200px 0;
  }
  body .wrap #children .block {
    background-image: url(../images/children15@2x.png);
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: 100%;
    margin-bottom: 22px;
    padding: 9px 0;
  }
  body .wrap #children .block.last {
    margin-bottom: 0;
  }
  body .wrap #children .block .question {
    cursor: pointer;
    padding-bottom: 8px;
  }
  body .wrap #children .block .answer {
    display: none;
  }
  body .wrap #children .notice {
    padding: 0;
  }
  body .wrap #program {
    overflow: hidden;
  }
  body .wrap #program .group {
    padding-left: 8.7vw;
  }
  body .wrap #program .group .slick-list {
    padding-right: 90px;
  }
  body .wrap #program .group .slick-list .slick-slide {
    padding-right: 16px;
  }
  body .wrap #program .group .slick-list .slick-slide img {
    width: 100%;
  }
  body .wrap #program .group .slick-dots {
    bottom: -35px;
    padding-right: 50px;
  }
  body .wrap #program .group .slick-dots li {
    height: 15px;
    width: 26px;
  }
  body .wrap #program .group .slick-dots li.slick-active {
    background-image: url(../images/slick-active01@2x.png);
    background-position: center;
    background-position: center;
    background-size: contain;
  }
  body .wrap #program .group .slick-dots li.slick-active button:before {
    display: none;
  }
  body .wrap #program .group .slick-dots li:nth-child(odd) button:before {
    color: #f1db35;
    opacity: 1;
  }
  body .wrap #program .group .slick-dots li:nth-child(even) button:before {
    color: #63aed8;
    opacity: 1;
  }
  body .wrap #program .group .slick-dots li:nth-child(4) button:before {
    color: #63aed8;
    opacity: 1;
  }
  body .wrap #program .slick-dotted.slick-slider {
    margin-bottom: 90px;
  }
  body .wrap #class {
    padding-bottom: 15px;
  }
  body .wrap #class .block {
    padding-bottom: 70px;
  }
  body .wrap #class .block .question {
    cursor: pointer;
  }
  body .wrap #class .block .answer {
    display: none;
  }
  body .wrap #papamama {
    padding: 0;
  }
  body .wrap #slider .group02 {
    margin-top: -1px;
  }
  body .wrap #flow {
    padding-bottom: 80px;
  }
  body .wrap #faq {
    padding-bottom: 55px;
  }
  body .wrap #faq .block {
    border-bottom: 1px solid rgba(0, 0, 0, 0.3);
    padding: 20px 0;
  }
  body .wrap #faq .block .question {
    cursor: pointer;
  }
  body .wrap #faq .block .answer {
    display: none;
    padding: 10px 0 0 0;
  }
  body .wrap #contact {
    padding-bottom: 65px;
  }
  body .wrap #contact .image {
    text-align: center;
  }
  body .wrap #footer {
    background-color: #faf8f6;
  }
  body .wrap #footer .image05 {
    background-color: #fff;
    padding: 0 0 70px;
    text-align: center;
  }
  body .wrap #footer-contact {
    display: none;
    bottom: 0;
    margin: 0 auto;
    text-align: right;
    position: fixed;
    width: 100%;
  }
  body .wrap #footer-contact.is-show {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  body {
    background-color: #f9f9f9;
  }
  body img {
    height: auto;
    max-width: 100%;
  }
  body .wrap {
    background-color: #fff;
    margin: 0 auto;
    width: 400px;
  }
  body .wrap #fv {
    padding-bottom: 40px;
    position: relative;
  }
  body .wrap #fv:before {
    background-color: #f7f5f4;
    content: "";
    display: block;
    height: 50vh;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
  }
  body .wrap #fv .images .image {
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 100%;
    height: 100vh;
    height: 100svh;
    width: 100%;
  }
  body .wrap #fv .logo {
    left: 50%;
    top: 160px;
    position: absolute;
    text-align: center;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    z-index: 3;
    width: 74vw;
  }
  body .wrap #point {
    background-image: url(../images/point09@2x.png?12222);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 100%;
    padding: 0 0 124px 33px;
  }
  body .wrap #point .image01 {
    padding: 0 0 16px 3px;
  }
  body .wrap #point .image02,
  body .wrap #point .image03 {
    padding-bottom: 8px;
  }
  body .wrap #point .image04 {
    padding-bottom: 36px;
  }
  body .wrap #point .image05 {
    padding: 0 0 26px 58px;
  }
  body .wrap #point .image06 {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    margin: 0 45px 32px 8px;
    padding: 0 0 55px 16px;
  }
  body .wrap #point .image07 {
    padding: 0 0 26px 59px;
  }
  body .wrap #point .image08 {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    margin: 0 45px 0 8px;
    padding: 0 0 33px 22px;
  }
  body .wrap #children {
    background-image: url(../images/children01@2x.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100%;
    padding: 620px 0 332px 0;
  }
  body .wrap #children .block {
    background-image: url(../images/children15@2x.png);
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: 100%;
    margin-bottom: 22px;
    padding: 0;
  }
  body .wrap #children .block.last {
    margin-bottom: 0;
  }
  body .wrap #children .block .question {
    cursor: pointer;
    padding-bottom: 8px;
  }
  body .wrap #children .block .answer {
    display: none;
  }
  body .wrap #children .notice {
    padding: 0;
  }
  body .wrap #program {
    overflow: hidden;
  }
  body .wrap #program .group {
    padding-left: 50px;
  }
  body .wrap #program .group .slick-list {
    padding-right: 90px;
  }
  body .wrap #program .group .slick-dots {
    bottom: -35px;
    padding-right: 50px;
  }
  body .wrap #program .group .slick-dots li {
    height: 15px;
    width: 26px;
  }
  body .wrap #program .group .slick-dots li.slick-active {
    background-image: url(../images/slick-active01@2x.png);
    background-position: center;
    background-position: center;
    background-size: contain;
  }
  body .wrap #program .group .slick-dots li.slick-active button:before {
    display: none;
  }
  body .wrap #program .group .slick-dots li:nth-child(odd) button:before {
    color: #f1db35;
    opacity: 1;
  }
  body .wrap #program .group .slick-dots li:nth-child(even) button:before {
    color: #63aed8;
    opacity: 1;
  }
  body .wrap #program .group .slick-dots li:nth-child(4) button:before {
    color: #63aed8;
    opacity: 1;
  }
  body .wrap #program .slick-dotted.slick-slider {
    margin-bottom: 90px;
  }
  body .wrap #class {
    padding-bottom: 15px;
  }
  body .wrap #class .block {
    padding-bottom: 70px;
  }
  body .wrap #class .block .question {
    cursor: pointer;
  }
  body .wrap #class .block .answer {
    display: none;
  }
  body .wrap #papamama {
    padding: 0;
  }
  body .wrap #slider {
    padding-bottom: 38px;
  }
  body .wrap #slider .group02 {
    margin-top: -1px;
  }
  body .wrap #flow {
    padding-bottom: 80px;
  }
  body .wrap #faq {
    padding-bottom: 55px;
  }
  body .wrap #faq .block {
    border-bottom: 1px solid rgba(0, 0, 0, 0.3);
    padding: 20px 0;
  }
  body .wrap #faq .block .question {
    cursor: pointer;
  }
  body .wrap #faq .block .answer {
    display: none;
    padding: 10px 0 0 0;
  }
  body .wrap #contact {
    padding-bottom: 65px;
  }
  body .wrap #contact .image {
    text-align: center;
  }
  body .wrap #footer {
    background-color: #faf8f6;
  }
  body .wrap #footer .image05 {
    background-color: #fff;
    padding: 0 0 70px;
    text-align: center;
  }
  body .wrap #footer-contact {
    display: none;
    bottom: 0;
    margin: 0 auto;
    text-align: right;
    position: fixed;
    width: 400px;
  }
  body .wrap #footer-contact.is-show {
    display: block;
  }
}/*# sourceMappingURL=style.css.map */