@charset "UTF-8";
@keyframes horizontal1 {
  0% {
    -webkit-transform: translateX(-5px);
  }
  100% {
    -webkit-transform: translateX(0px);
  }
}
@keyframes horizontal2 {
  0% {
    -webkit-transform: translateX(5px);
  }
  100% {
    -webkit-transform: translateX(0px);
  }
}
@keyframes vertical {
  0% {
    -webkit-transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0px);
  }
}
@keyframes jump {
  0% {
    transform: translate(0%, 80px) rotateX(30deg);
  }
  100% {
    transform: translate(0%, 0%);
    background-size: 0 0, contain;
  }
}
@keyframes mabataki {
  0% {
    background-size: 0 0, contain;
  }
  95% {
    background-size: contain, 0 0;
  }
  100% {
    background-size: 0 0, contain;
  }
}
@keyframes nav {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* =====================================================================
*    parallax
* =================================================================== */
#parallax02 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 76.1rem;
  background: url(../images/common/img_submv_view-sp.png) no-repeat top center/cover;
}
@media screen and (min-width: 768px) {
  #parallax02 {
    height: 79.5rem;
    background-image: url(../images/common/img_submv_view-pc.jpg);
  }
}
#parallax02.fixed {
  position: fixed;
}

/* =====================================================================
*    submein
* =================================================================== */
.sub {
  position: relative;
}
.sub > .inner {
  position: relative;
  width: 100%;
  padding-top: calc(141 / 750 * 100%);
  z-index: initial;
}
.sub > .inner > a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  cursor: pointer;
}
.sub_character {
  position: absolute;
  top: 0;
  left: 0;
  margin: calc(-45 / 750 * 100%) 0 0 calc(318 / 750 * 100%);
  width: calc(407 / 750 * 100%);
}
.sub_ttl {
  position: relative;
  margin: 0 0 0 calc(35 / 750 * 100%);
  width: calc(364 / 750 * 100%);
  filter: drop-shadow(0 2.4rem 2.4rem rgba(0, 0, 0, 0.1));
  will-change: filter;
  z-index: 3;
}
.sub_cloud {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  background: white;
  width: 100%;
  padding-bottom: calc(340 / 750 * 100%);
}
.sub_cloud:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: calc(100 / 750 * 100%);
  background: url(../images/common/bg_cloud_top.svg) no-repeat top center/cover;
  position: absolute;
  top: 0;
  left: 0;
  margin-top: calc(-100 / 750 * 100%);
}
.sub_date {
  position: relative;
  margin: calc(16 / 750 * 100%) auto 0;
  width: calc(609 / 750 * 100%);
  z-index: 3;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .sub > .inner {
    padding: 3.5rem 0 0;
  }
  .sub_character {
    margin: calc(-41 / 1024 * 100%) 0 0 calc(531 / 1024 * 100%);
    width: calc(407 / 1024 * 100%);
  }
  .sub_ttl {
    margin-left: calc(60 / 1024 * 100%);
    width: calc(420 / 1024 * 100%);
  }
  .sub_cloud {
    padding-bottom: 15rem;
  }
  .sub_cloud:before {
    padding-top: 10rem;
    margin-top: -10rem;
  }
  .sub_date {
    margin: calc(13 / 1024 * 100%) 0 0 calc(75 / 1024 * 100%);
    width: calc(395 / 1024 * 100%);
  }
}
.link_btn_box {
  padding: 4rem 0;
  z-index: 3;
}

ul.link_btn {
  display: flex;
  justify-content: center;
}
ul.link_btn li {
  margin: 0 calc(8 / 750 * 100%);
  width: calc(312 / 750 * 100%);
  background: #fff;
  padding: 5px;
  box-sizing: border-box;
  border-radius: 30px;
  box-shadow: 0 8px 8px rgba(0, 0, 0, 0.1);
  position: relative;
}
@media screen and (min-width: 768px) {
  ul.link_btn li {
    margin: 0 calc(10 / 1024 * 100%);
    width: calc(420 / 1024 * 100%);
  }
}
.c_about ul.link_btn li:first-child::after, .c_corner ul.link_btn li:last-child::after {
  content: "▼";
  font-size: 30px;
  line-height: 1;
  position: absolute;
  bottom: -16px;
  left: calc(50% - 0.5em);
  color: #65a7af;
}
ul.link_btn li a {
  display: block;
  width: 100%;
  font-size: 3.2rem;
  line-height: 1.2;
  border: 5px solid #65a7af;
  border-radius: 25px;
  font-weight: 900;
  text-align: center;
  color: #664e22;
  transition: all 0.3s;
  padding: 1em 0;
  transform: rotate(0.03deg);
}
@media screen and (min-width: 768px) {
  ul.link_btn li a {
    font-size: 2.4rem;
    padding: 1.3em 0;
  }
}
ul.link_btn li a span.iroiro {
  color: #f28f68;
}
ul.link_btn li a:hover {
  background: #73b2b8;
  color: white;
}
ul.link_btn li a:hover span.iroliro_color,
ul.link_btn li a:hover span.iroiro {
  color: #f4ff5f;
}
.c_about ul.link_btn li:first-child a, .c_corner ul.link_btn li:last-child a {
  background: #73b2b8;
  color: white;
}
.c_about ul.link_btn li:first-child a span, .c_corner ul.link_btn li:last-child a span {
  color: #f4ff5f;
}

/* =====================================================================
*    corner
* =================================================================== */
#corner .top_wrap {
  padding-bottom: 40rem;
  background: url(../images/common/img_view-sp.png) no-repeat bottom center/100% auto;
}
#corner .chara {
  width: 13.4rem;
  background: url(../images/common/img_pimpam01.png), url(../images/common/img_pimpam02.png);
  background-size: contain, 0 0;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto 25rem;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 1.5s;
  animation-name: jump;
  animation-duration: 0.6s;
  z-index: 100;
  pointer-events: none;
}
#corner .chara:before {
  content: "";
  display: block;
  padding-bottom: 156%;
}

.corner_box {
  padding-top: 5rem;
}
@media screen and (min-width: 768px) {
  .corner_box {
    padding-top: 10rem;
  }
}
.corner_box h2 {
  color: #664e22;
}
@media screen and (min-width: 768px) {
  .corner_box h2 {
    margin-bottom: 10rem;
  }
  .corner_box h2 .icon {
    bottom: -6rem;
    left: 1.5em;
  }
}

ul.corner_list {
  width: 90%;
  max-width: 1240px;
  margin: auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding-bottom: 60px;
}
ul.corner_list li {
  position: relative;
  width: calc((100% - 40px) / 2);
  margin: 10px;
  cursor: pointer;
  /*&:before {
  	content: "";
  	display: block;
  	padding-top: 109%;
  }*/
  /*a {
  	position: absolute;
  	top: 0;
  	left: 0;
  	display: flex;
  	justify-content: center;
  	align-items: center;
  	width: 100%;
  	height: 100%;
  	border: 1px solid red;
  	font-size: 2.1rem;
  	font-weight: 700;
  	z-index: 1;
  	text-align: center;
  	z-index: 10;
  }*/
}
ul.corner_list li:nth-of-type(4n+1) {
  background: url(../images/corner/bg_square.png) no-repeat center center/contain;
}
ul.corner_list li:nth-of-type(4n+2) {
  background: url(../images/corner/bg_star.png) no-repeat center center/contain;
}
ul.corner_list li:nth-of-type(4n+3) {
  background: url(../images/corner/bg_maru.png) no-repeat center center/contain;
}
ul.corner_list li:nth-of-type(4n+4) {
  background: url(../images/corner/bg_sankaku.png) no-repeat center center/contain;
}

.img_list {
  margin-top: 6rem;
}
.img_list li {
  margin: 0 auto 4rem;
  width: 90%;
  border: 0.8rem solid #f28f68;
  border-radius: 4rem;
  overflow: hidden;
}
.img_list li:not(:last-child) {
  margin-bottom: 5rem;
}

@media screen and (min-width: 768px) {
  #corner .top_wrap {
    background-image: url(../images/common/img_view-pc.png);
  }
  #corner .chara {
    margin-bottom: 18rem;
  }
  ul.corner_list {
    margin-left: calc(-108 / 1024 * 100%);
    width: calc(1240 / 1024 * 100%);
  }
  ul.corner_list li {
    width: calc((100% - 100px) / 5);
  }
  .img_list {
    display: flex;
    justify-content: space-around;
    align-items: center;
  }
  .img_list li {
    width: 60%;
  }
}
/*  モーダル  -----------------------------*/
.modal {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  overflow-y: auto;
  transition: all 0.4s;
  z-index: 1000;
}
.modal__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 100%;
  padding: calc(150 / 750 * 100%) 0 50px;
}
.modal__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(182, 232, 242, 0.9);
  cursor: pointer;
}
.modal__cont {
  position: relative;
  width: 85%;
  max-width: 1024px;
  margin: 0 auto;
  font-size: 3rem;
  background: white url(../images/corner/cloud_blue.png) no-repeat bottom left/100%;
  border-radius: 40px;
  padding: calc(80 / 750 * 100%) 0 calc(100 / 750 * 100%);
}
.modal__cont h2 {
  margin-bottom: 0.8em;
  color: #664e22;
  font-family: "M PLUS Rounded 1c", sans-serif;
}
@media screen and (min-width: 768px) {
  .modal__cont h2 {
    margin-left: auto;
    margin-right: auto;
    width: 73%;
  }
}
@media screen and (min-width: 768px) {
  .modal__cont h2 .icon {
    bottom: auto;
    top: -2rem;
    left: -12rem;
  }
}
.modal__cont h2 .icon::before {
  animation: none;
}
.modal__cont p {
  font-size: 3.2rem;
  font-weight: 700;
  height: 1.5;
  text-align: center;
  color: #664e22;
  font-family: "M PLUS Rounded 1c", sans-serif;
  transform: rotate(0.03deg);
}
.modal__cont .close {
  content: "";
  display: block;
  width: 50px;
  height: 50px;
  position: absolute;
  top: -70px;
  right: 10px;
  background: url(../images/corner/btn_close.png) no-repeat center center/contain;
}
.modal__text {
  color: #000;
  text-align: center;
}
.modal.is-show {
  opacity: 1;
  visibility: visible;
}

.cont_photo_text {
  position: relative;
  margin: 0 auto;
  padding-bottom: 1em;
  width: 90%;
}
.cont_photo_text::after {
  content: "";
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.25em;
  background: url(../images/corner/img_dot1.png) space center/auto 100%;
}

.cont_teacher {
  display: flex;
  flex-direction: column;
}
.cont_teacher_text {
  margin: 0 auto;
  width: calc(580 / 750 * 100%);
}
.cont_teacher_text p:nth-child(1) {
  color: #f28f68;
}
.cont_teacher_text p:nth-child(2) {
  font-size: 2.8rem;
}
.cont_teacher .img_list {
  margin-left: auto;
  margin-right: auto;
  width: calc(280 / 750 * 100%);
  order: -1;
}
.cont_teacher .img_list .img_teacher {
  width: 100%;
  border: 0;
}

@media screen and (min-width: 768px) {
  .modal__inner {
    padding: calc(150 / 1400 * 100%) 0 50px;
  }
  .modal__cont {
    padding: 6rem 0 15rem;
  }
  .modal__cont p {
    font-size: 2.4rem;
  }
  .cont_photo_text {
    padding-bottom: 1.5em;
    width: 60%;
  }
  .cont_teacher {
    flex-direction: row;
    justify-content: center;
  }
  .cont_teacher_text {
    margin: 4rem 0 0 3%;
    width: 36%;
  }
  .cont_teacher_text p:nth-child(1) {
    padding: 2rem 0;
    text-align: left;
  }
  .cont_teacher_text p:nth-child(2) {
    font-size: 1.6rem;
  }
  .cont_teacher .img_list {
    align-items: flex-start;
    margin: 4rem 0 0;
    width: 21%;
  }
  .cont_teacher .img_teacher {
    margin: 0;
  }
}
.under_cloud {
  height: 100px;
}

/* =====================================================================
*    about
* =================================================================== */
[class^=cloud],
[class^=ship],
[class^=kamome] {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
[class^=cloud] span,
[class^=ship] span,
[class^=kamome] span {
  display: block;
}

[class^=cloud] {
  animation: horizontal1 2s ease-in-out infinite alternate;
}
[class^=cloud] span {
  animation: vertical 2s ease-in-out infinite alternate;
}

[class^=kamome] {
  animation: horizontal1 1s ease-in-out infinite alternate;
}
[class^=kamome] span {
  animation: vertical 1.2s ease-in-out infinite alternate;
}

[class^=ship] {
  animation: horizontal1 1.8s ease-in-out infinite alternate;
}
[class^=ship] span {
  animation: vertical 1.8s ease-in-out infinite alternate;
}

.cloud01 {
  width: 12.7rem;
}

.cloud02 {
  width: 20.4rem;
  animation-name: horizontal2;
}

.kamome01 {
  width: 9.1rem;
}

.kamome02 {
  width: 10.2rem;
}

.kamome03 {
  width: 8.5rem;
}

.ship01 {
  width: 13.3rem;
}

.ship02 {
  width: 20.7rem;
}

.about_box {
  padding: 6rem 0;
}
.about_box .inner {
  width: calc(640 / 750 * 100%);
}
@media screen and (min-width: 768px) {
  .about_box .inner {
    width: calc(880 / 1400 * 100%);
    max-width: 880px;
  }
}
.about_box h2 {
  color: #664e22;
  width: 114%;
  margin-left: -6%;
}
@media screen and (min-width: 768px) {
  .about_box h2 .icon {
    left: 2em;
  }
}
.about_box h3 {
  font-size: 4.8rem;
  color: #f28f68;
  font-weight: 800;
  text-align: left;
  margin-bottom: 1.8em;
  line-height: 1.6;
}
.about_box h3 span {
  color: #65a7af;
}
.about_box p {
  color: #664e22;
  font-size: 3.2rem;
  line-height: 1.8;
  font-weight: 800;
  transform: rotate(0.03deg);
}

@media screen and (min-width: 768px) {
  .about_box {
    padding: 12rem 0;
  }
  .about_box h3 {
    font-size: 3.6rem;
    margin-bottom: 1.8em;
    text-align: center;
    width: 100%;
    margin-left: 0;
  }
  .about_box p {
    font-size: 2.4rem;
    text-align: center;
  }
}
.profile {
  position: relative;
  background: url(../images/common/img_view-sp.png) no-repeat bottom center/100% auto;
}
@media screen and (min-width: 768px) {
  .profile {
    background-image: url(../images/common/img_view-pc.png);
    background-size: 100% calc(100% - 17.7rem);
  }
}
.profile > .inner {
  padding: 12rem 0;
}
@media screen and (min-width: 768px) {
  .profile > .inner {
    padding: calc(285 / 1400 * 100vw) 0 calc(80 / 1400 * 100vw);
    padding: 28.5rem 0 8rem;
  }
}
.profile .deco_wrap {
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .profile .deco_wrap {
    top: 13rem;
  }
}
.profile .chara {
  position: relative;
  margin: auto;
  width: calc(488 / 690 * 100%);
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .profile .chara {
    margin: 0;
    width: 36.3829787234%;
  }
}
@media screen and (min-width: 768px) {
  .profile_wrap {
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: calc(940 / 1024 * 100%);
  }
}
.profile_wrap.riroriro {
  margin-bottom: 7.6rem;
}
@media screen and (min-width: 768px) {
  .profile_wrap.riroriro {
    margin-bottom: 4rem;
  }
}
.profile_wrap.riroriro .chara {
  background: url(../images/common/img_pimpam03.png), url(../images/common/img_pimpam04.png);
  background-size: contain, 0 0;
  background-repeat: no-repeat;
  animation: mabataki 3s ease infinite;
}
.profile_wrap.riroriro .chara:before {
  content: "";
  display: block;
  padding-bottom: 156%;
}
@media screen and (min-width: 768px) {
  .profile_wrap.okazaki {
    flex-direction: row-reverse;
  }
  .profile_wrap.okazaki .chara img {
    margin-left: -35.0877192982%;
    width: 133.0409356725%;
  }
}
.profile .comment {
  width: calc(560 / 690 * 100%);
  margin: calc(60 / 690 * 100% * -1) auto 0;
}
@media screen and (min-width: 768px) {
  .profile .comment {
    margin: 0;
    width: 56.5957446809%;
  }
}
.profile h2 {
  margin-bottom: 1rem;
  color: #664e22;
}
@media screen and (min-width: 768px) {
  .profile h2 {
    margin-bottom: 8rem;
  }
}
.profile h2 .icon {
  transform: scale(-1, 1);
}
@media screen and (min-width: 768px) {
  .profile h2 .icon {
    left: auto;
    right: 3.5em;
  }
}
.profile h2 span:nth-child(1) {
  color: #f46cd4;
}
.profile h2 span:nth-child(2) {
  color: #f99830;
}
.profile h2 span:nth-child(3) {
  color: #76c406;
}
.profile h2 span:nth-child(4) {
  color: #70b7f2;
}
@media screen and (min-width: 768px) {
  .profile h2 span:nth-child(4) {
    padding-right: 0.25em;
  }
}
.profile .cloud01 {
  margin: 190.4rem 0 0 -4.5rem;
}
@media screen and (min-width: 768px) {
  .profile .cloud01 {
    margin: 15.4rem 0 0 21.8rem;
  }
}
.profile .cloud02 {
  margin: 34.7rem 0 0 57.2rem;
}
@media screen and (min-width: 768px) {
  .profile .cloud02 {
    margin: 20rem 0 0 60.6rem;
  }
}
.profile .cloud02 span {
  animation-duration: 1.5s;
}
.profile .kamome01 {
  margin: 10.5rem 0 0 58rem;
}
@media screen and (min-width: 768px) {
  .profile .kamome01 {
    margin: 21.4rem 0 0;
  }
  .profile .kamome01 img {
    transform: scale(-1, 1);
  }
}
.profile .kamome02 {
  margin: 205.3rem 0 0 1rem;
}
@media screen and (min-width: 768px) {
  .profile .kamome02 {
    margin: 29.6rem 0 0 105rem;
  }
}
.profile .kamome02 span {
  animation-duration: 0.5s;
}
.profile .kamome03 {
  margin: 211.5rem 0 0 7rem;
}
@media screen and (min-width: 768px) {
  .profile .kamome03 {
    margin: 35.8rem 0 0 111rem;
  }
}
.profile .ship02 {
  margin: 61.3rem 0 0 0;
}
@media screen and (min-width: 768px) {
  .profile .ship02 {
    margin: 48.7rem 0 0 -10rem;
  }
}

/* =====================================================================
    message
======================================================================*/
.message {
  padding: 4rem 0 12rem;
  background-color: white;
}
.message > .inner {
  position: relative;
}
.message .ship01 {
  margin: 14.7rem 0 0 -17rem;
}
.message .kamome01 {
  margin: 4.5rem 0 0 108rem;
}
.message_box {
  position: relative;
  padding: 8rem 6rem;
  background-color: #fff;
  border: 0.8rem solid #f28f68;
  border-radius: 8rem;
}
@media screen and (min-width: 768px) {
  .message_box {
    display: flex;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    padding: calc(80 / 1024 * 100%) 0;
    border-radius: 5rem;
  }
}
.message_box figure {
  margin: 0 auto 3rem;
  width: 28rem;
}
@media screen and (min-width: 768px) {
  .message_box figure {
    margin: 0 3.5106382979% 0 0;
    width: 12.7659574468%;
  }
}
.message_box dl {
  transform: rotate(0.03deg);
}
@media screen and (min-width: 768px) {
  .message_box dl {
    width: 68.085106383%;
  }
}
.message_box dl dt {
  position: relative;
  margin-bottom: 0.6em;
  padding-bottom: 0.8em;
  font-size: 3.2rem;
  font-weight: 700;
  color: #f28f68;
  text-align: center;
  line-height: 1.312;
}
@media screen and (min-width: 768px) {
  .message_box dl dt {
    font-size: 2.4rem;
    text-align: left;
  }
}
.message_box dl dt::after {
  content: "";
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.25em;
  background: url(../images/about/img_dot1.png) space center/auto 100%;
}
.message_box dl dd {
  font-size: 2.8rem;
  font-weight: 700;
  color: #664e22;
}
@media screen and (min-width: 768px) {
  .message_box dl dd {
    font-size: 1.6rem;
    line-height: 1.625;
  }
}/*# sourceMappingURL=contents.css.map */=============================================================
    message
======================================================================*/
.message {
  padding: 4rem 0 12rem;
  background-color: white;
}
.message > .inner {
  position: relative;
}
.message .ship01 {
  margin: 14.7rem 0 0 -17rem;
}
.message .kamome01 {
  margin: 4.5rem 0 0 108rem;
}
.message_box {
  position: relative;
  padding: 8rem 6rem;
  background-color: #fff;
  border: 0.8rem solid #f28f68;
  border-radius: 8rem;
}
@media screen and (min-width: 768px) {
  .message_box {
    display: flex;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    padding: calc(80 / 1024 * 100%) 0;
    border-radius: 5rem;
  }
}
.message_box figure {
  margin: 0 auto 3rem;
  width: 28rem;
}
@media screen and (min-width: 768px) {
  .message_box figure {
    margin: 0 3.5106382979% 0 0;
    width: 12.7659574468%;
  }
}
.message_box dl {
  transform: rotate(0.03deg);
}
@media screen and (min-width: 768px) {
  .message_box dl {
    width: 68.085106383%;
  }
}
.message_box dl dt {
  position: relative;
  margin-bottom: 0.6em;
  padding-bottom: 0.8em;
  font-size: 3.2rem;
  font-weight: 700;
  color: #f28f68;
  text-align: center;
  line-height: 1.312;
}
@media screen and (min-width: 768px) {
  .message_box dl dt {
    font-size: 2.4rem;
    text-align: left;
  }
}
.message_box dl dt::after {
  content: "";
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.25em;
  background: url(../images/about/img_dot1.png) space center/auto 100%;
}
.message_box dl dd {
  font-size: 2.8rem;
  font-weight: 700;
  color: #664e22;
}
@media screen and (min-width: 768px) {
  .message_box dl dd {
    font-size: 1.6rem;
    line-height: 1.625;
  }
}
/*# sourceMappingURL=contents.css.map */