<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";

@media screen and (max-width:1279px){

  body {
  	font-size: 1.3rem;
  }

  .sp-only {
  	display: block;
  }

  .pc-only {
  	display: none !important;
  }


  /*========================================
  		common-heading
  =========================================*/

  h1 {
    font-size: 1.2rem;
  	line-height: 1.41;
  }

  h2 {
  	font-size: 1.6rem;
  	line-height: 1.5;
  }

  .reason h3,
  .about h3 {
  	font-size: 1.6rem;
  	line-height: 1.5;
  }

  .about .h3-sub {
  	font-size: 1.6rem;
  	line-height: 1.87;
  }


  /*========================================
  		header
  =========================================*/

  header .header-inner {
    width: 88%;
  	margin: 10px auto;
  }

  header .logo-wrap {
  	display: flex;
    flex-direction: column;
  	align-items: flex-start;
  }

  header .logo-wrap .logo {
  	width: 72px;
  	height: auto;
  }

  header .text-wrap {
  	margin-left: 4px;
    margin-top: 6px;
  }

  header .text-wrap p {
  	font-size: 1.2rem;
  	font-weight: 700;
  	letter-spacing: 0;
  	line-height: 1.41;
  }


  /*========================================
      hamburger-menu
  =========================================*/

  .h-menu-btn {
    display: flex;
    align-items: center;
    position: fixed;
    width: 37px;
    height: 35px;
    right: 5.6%;
    top: 30px;
    z-index: 200;
    cursor: pointer;
  }

  .h-menu-btn .btn-line {
    width: 100%;
    height: 3px;
    background-color: var(--white);
    position: relative;
    transition: background-color 0.5s;
  }

  .h-menu-btn .btn-line::before,
  .h-menu-btn .btn-line::after {
    content: '';
    width: 100%;
    height: 3px;
    background-color: var(--white);
    position: absolute;
    transition: transform 0.5s;
  	z-index: 100;
  }

  .h-menu-btn .btn-line::before{
    transform: translateY(-12px);
  }

  .h-menu-btn .btn-line::after{
    transform: translateY(12px);
  }

  .h-menu-btn.open .btn-line{
    background-color: transparent;
  	z-index: 100;
  }

  .h-menu-btn.open .btn-line::before{
    transform: rotate(45deg);
  	z-index: 100;
  }

  .h-menu-btn.open .btn-line::after{
    transform: rotate(-45deg);
  	z-index: 100;
  }

  .gnav-sp-wrap {
    color: var(--white);
    line-height: 1.46;
    text-align: center;
    width: 100%;
    min-height: 100vh;
    height: 100%;
    padding: 20vh 0 150px;
    background: var(--mv-bg);
    display: flex;
    flex-direction: column;
    align-items: center;
    position:fixed;
  	top: 0;
    right: 0;
  	z-index: 90;
    transition: visibility .3s, opacity .3s;
    visibility: hidden;
    opacity: 0;
  	overflow-y: scroll;
  }

  .gnav-sp-wrap.panelactive {
    cursor: pointer;
    visibility: visible;
    opacity: 1;
  }

  body.no-scroll {
    overflow-y: hidden;
  }

  .gnav-sp a {
    letter-spacing: .015em;
    display: block;
    padding: 10px 0;
  }

  .gnav-sp-wrap .tel-wrap {
    letter-spacing: 0;
    margin-top: 10px;
  }

  .gnav-sp-wrap .tel-wrap .tel {
    display: flex;
    align-items: center;
  }

  .gnav-sp-wrap .item img {
    width: 11px;
    height: auto;
    margin-right: 3px;
  }

  .gnav-sp-wrap .item:not(:first-of-type) {
    margin-top: 20px;
  }


  /*========================================
  		mainvisual
  =========================================*/

  .mainvisual {
  	padding-top: calc(87px + 14px);
    padding-bottom: 74px;
  }

  .mainvisual .mv-inner {
    width: 88%;
    max-width: 700px;
  }

  .mainvisual .item {
  	width: 100%;
    text-align: center;
  	grid-template-columns: 100%;
  }

  .mainvisual .text-wrap {
  	margin-top: 0;
  	order: 1;
  }

  .mainvisual .text-wrap::before,
  .mainvisual .text-wrap::after {
  	display: none;
  }

  .mainvisual .copy {
  	width: 51.8%;
  }

  .mainvisual .copy2 {
  	width: 72.1%;
  	margin-top: 20px;
  }

  .mainvisual .copy3 {
  	width: 83%;
  	margin-top: 5px;
  }

  .mainvisual .mv-cta {
    margin-top: 35px;
  }

  .mainvisual .experience {
  	width: 60.6%;
  }

  .mainvisual .kids-swimming {
  	width: 53%;
  	margin-top: 0;
  }

  .mainvisual .price-text {
  	width: 37.2%;
  	margin-top: 25px;
  }

  .mainvisual .btn-wrap {
    width: 100%;
  	margin-top: 55px;
  }

  .mainvisual .mv-btn {
  	width: 93%;
    max-width: 500px;
    min-width: 307px;
    margin: 0 auto 0;
    display: inline-block;
  }

  @media screen and (max-width:899px) {
    .mainvisual .btn-wrap {
    	margin-top: 35px;
    }

    .mainvisual::after {
    	height: 44px;
    	background-image: url(../images/mv-wave-sp.png);
    }
  }

  @media screen and (max-width:599px) {
    .mainvisual .copy2 {
    	margin-top: 12px;
    }

    .mainvisual .copy3 {
    	margin-top: 3px;
    }

    .mainvisual .mv-cta {
      margin-top: 20px;
    }

    .mainvisual .price-text {
    	margin-top: 11px;
    }

    .mainvisual .btn-wrap {
    	margin-top: 24px;
    }
  }

  /*========================================
  		campaign
  =========================================*/

  .campaign .wrap1 {
  	width: 88%;
    max-width: 700px;
  	margin: 96px 0 123px;
  }

  .campaign .wrap1::before {
  	display: none;
  }

  .campaign .wrap2::before {
  	content: "";
    background: url(../images/campaign-bg-motif2-sp.svg) no-repeat;
    background-size: contain;
    display: block;
    width: 18.7%;
    height: 28.9%;
  	top: -7%;
  	right: -6.6%;
  }

  .campaign .wrap1::after {
    content: "";
    background: url(../images/campaign-bg-motif3-sp.svg) no-repeat;
    background-size: contain;
    display: block;
    width: 38.4%;
    height: 59.2%;
  	bottom: -24%;
  	left: -11.2%;
  }

  .campaign .wrap2::after {
    content: "";
    background: url(../images/campaign-bg-motif4-sp.svg) no-repeat;
    background-size: contain;
    display: block;
    width: 25.4%;
    height: 39.8%;
  	bottom: -19.9%;
  	right: 0.1%;
  }


  @media screen and (max-width:899px) {
    .campaign {
      margin-top: 44px;
    }

    .campaign::after {
    	height: 61px;
    	background-image: url(../images/campaign-wave-sp.png);
    	left: 0;
    	bottom: 1px;
      z-index: 5;
    }

    .campaign .wrap1 {
    	width: 88%;
      max-width: 700px;
    	margin: 25.6vw 0 32.8vw;
    }
  }

  /*========================================
  		reason
  =========================================*/

  .reason .h2-wrap {
  	background-image: url(../images/reason-title-bg-sp.png);
  	width: 353px;
    height: 43px;
  }

  .reason .h2-wrap::before {
    background-image: url(../images/reason-title-motif2.svg);
  	width: 57px;
  	height: 63px;
  	top: -71px;
  	left: 6px;
  }

  .reason .h2-wrap::after {
    background-image: url(../images/reason-title-motif1.svg);
  	width: 42px;
  	height: 53px;
  	top: 46px;
  	right: -16px;
  }

  .reason .item-wrap {
  	width: 77.3%;
    max-width: 630px;
  	margin: 57px auto 0;
  	grid-template-columns: repeat(auto-fill, 290px);
    grid-column-gap: 50px;
  	grid-row-gap: 40px;
    justify-content: center;
  }

  .reason .item p {
  	line-height: 1.84;
  	width: 100%;
  	margin-top: 5px;
  }

  @media screen and (max-width:899px) {
    .reason {
    	padding: 124px 0 155px;
    }

    .reason::after {
    	height: 64px;
    	background-image: url(../images/campaign-wave-sp.png);
    }

  }


  /*========================================
  		about
  =========================================*/

  .about {
  	padding: 80px 0 55px;
  }

  .about .h2-wrap {
  	width: 250px;
    height: 54px;
  }

  .about h2 {
    font-size: 1.5rem;
  }

  .about .h2-wrap::before {
  	background-image: url(../images/about-title-motif.svg);
    width: 62px;
    height: 62px;
  	top: 2px;
  	left: -62px;
  }

  .about .h2-wrap::after {
  	background-image: url(../images/about-title-motif.svg);
    width: 62px;
    height: 62px;
  	top: 2px;
  	right: -62px;
  }

  .about .swiper-wrap {
    width: 700px;
    margin-top: 60px;
  }

  .about .swiper-slide {
    padding: 20px;
    display: flex;
    justify-content: center;
  }

  .about .item {
    width: 290px;
    height: 361px;
  	border-radius: 20px;
  	padding: 26px 25px;
  }

  .about .item img {
  	width: 219px;
  }

  .about .item .text {
  	line-height: 1.84;
  	margin-top: 13px;
  }

  .about .swiper-button-prev:after {
    content: url(../images/slider-prev-sp.svg);
  	transform: translate(-100%, 0);
  	position: absolute;
  	left: 5px;
  }

  .about .swiper-button-next:after {
  	content: url(../images/slider-next-sp.svg);
  	transform: translate(100%, 0);
  	position: absolute;
  	right: 5px;
  }

  .about .swiper-wrap::before {
    content: "";
  	background: url(../images/about-bg-motif1.svg) no-repeat;
  	background-size: contain;
  	width: 79px;
  	height: 77px;
  	position: absolute;
  	right: -9px;
  	top: -14px;
    z-index: -1;
  }

  .about .swiper-wrap::after {
    content: "";
  	background: url(../images/about-bg-motif2.svg) no-repeat;
  	background-size: contain;
  	width: 107px;
  	height: 111px;
  	position: absolute;
    left: -12px;
  	bottom: -9px;
    z-index: -1;
  }

  @media screen and (max-width:815px) {
    .about .swiper-wrap {
      width: 330px;
    }

    .about .swiper-button-prev:after {
    	left: 0;
    }

    .about .swiper-button-next:after {
    	right: 0;
    }
  }


  /*========================================
  		price
  =========================================*/

  .price {
  	padding: 55px 0 40px;
  }

  .price .h2-wrap {
  	width: 140px;
    height: 58px;
  }

  .price .price-list {
  	width: 88%;
  	max-width: 700px;
  	margin-top: 70px;
  }


  /*========================================
  		schedule
  =========================================*/

  .schedule {
  	padding: 40px 0;
  }

  .schedule .h2-wrap {
  	width: 261px;
    height: 67px;
  }

  .schedule .h2-wrap::after {
  	width: 73px;
  	height: 55px;
  	top: 100px;
  	right: -35px;
  }

  .schedule .item-wrap {
    width: 88%;
    max-width: 700px;
    margin-top: 60px;
  }

  .schedule .item:not(:first-child) {
    margin-top: 50px;
  }

  .schedule .item .title {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.5;
    text-align: center;
  }

  .schedule .item .schedule-img {
  	width: 100%;
  	height: auto;
  	margin-top: 12px;
  }


  /*========================================
  		voice
  =========================================*/

  .voice {
  	padding: 40px 0 80px;
  }

  .voice .h2-wrap {
  	width: 158px;
    height: 65px;
  }

  .voice .h2-wrap::before {
  	width: 90px;
  	height: 45px;
  	top: 18px;
  	left: -98px;
  }

  .voice .item-wrap {
  	width: 88%;
  	max-width: 700px;
  	margin-top: 60px;
  	grid-row-gap: 80px;
  }

  .voice .text-wrap {
  	width: 120%;
  	padding: 40px 20px;
  }

  .voice .text-wrap .title {
  	font-size: 1.6rem;
  	line-height: 1.5;
  }

  .voice .text-wrap .content {
  	line-height: 1.84;
  	width: 100%;
  	margin-top: 13px;
  }

  .voice .voice1::after {
    transform: scale(0.7);
  	top: 150px;
  	right: -64px;
  }

  .voice .voice2::after {
    transform: scale(-0.7, 0.7);
  	top: 180px;
  	left: -76px;
  }

  .voice .img-wrap {
  	width: 100%;
    margin-top: 33px;
  }

  .voice .img1 {
  	width: 169px;
  }

  .voice .img2 {
  	width: 169px;
  	margin-left: 10px;
    margin-top: 10px;
  }

  .voice .name {
  	font-size: 1.6rem;
  	line-height: 1.5;
  }

  @media screen and (max-width:899px) {
    .voice::after {
    	height: 110px;
    	background-image: url(../images/voice-wave-sp.png);
    	background-size: auto 100%;
    	transform: translateY(100%);
    	position: absolute;
    	left: 0;
    	bottom: 1px;
    }
  }

  @media screen and (max-width:815px) {
    .voice .item-wrap {
    	grid-row-gap: 40px;
    }

    .voice .item {
      width: 100%;
      flex-direction: column;
    	align-items: center;
    }

    .voice .text-wrap {
    	width: 100%;
    }

    .voice .voice1::after,
    .voice .voice2::after {
    	content: url(../images/voice-triangle-sp.svg);
      transform: translate(50%, 0);
    	top: auto;
      left: auto;
      bottom: -33px;
    	right: 50%;
    }

    .voice .voice2 {
    	order: 0;
    }
  }


  /*========================================
  		school
  =========================================*/

  .school .h2-wrap {
  	width: 330px;
    height: 61px;
  }

  .school .h2-wrap::before {
  	display: none;
  }

  .school .item-wrap {
  	width: 77.3%;
  	max-width: 630px;
  	margin-top: 60px;
  	grid-template-columns: 100%;
  	grid-row-gap: 50px;
  	justify-content: center;
  }

  .school .item-small {
    grid-column: 1 / 3;
  }

  .school .item-title {
  	font-size: 1.6rem;
  	line-height: 1.5;
  }

  .school .item-top {
  	margin-top: 19px;
  }

  .school .top-large {
  	margin-top: 19px;
  	display: grid;
  	grid-template-columns: repeat(auto-fill, 290px);
    grid-column-gap: 28px;
    grid-row-gap: 28px;
    justify-content: center;
  }

  .school .item-top .img-large,
  .school .item-top .img-small {
  	width: 290px;
  	height: 236px;
  }

  .school .map {
  	width: 290px;
  	height: 236px;
  }

  .school .info {
    width: 100%;
    max-width: 290px;
    height: auto;
  	border: 5px solid var(--main);
  	border-radius: 20px;
    padding: 30px 48px;
  	margin: 34px auto 0;
    display: flex;
  	flex-direction: column;
    align-items: flex-start;
  }

  .school .adress,
  .school .tel {
  	font-size: 1.3rem;
  	line-height: 1.53;
    margin-top: 3px;
  }

  .school .info-small .adress-wrap {
  	text-align: left;
  }

  .school .info-small .tel {
  	margin-top: 3px;
  	justify-content: flex-start;
  }

  .school .tel-black {
  	width: 17px;
  	margin-top: 2px;
  }

  .school .open-wrap {
  	font-size: 1.3rem;
    line-height: 1.84;
  	margin-left: 0;
    margin-top: 17px;
  	grid-template-columns: 93px 1fr;
  	grid-column-gap: 0;
  	grid-row-gap: 8px;
  }

  .school .open-wrap .title {
  	line-height: 1.5;
  }

  .school .info-small .open-wrap .title {
  	text-align: left;
  }

  .school .item-wrap::after {
  	display: none;
  }

  @media screen and (max-width:899px) {
    .school {
    	padding: 180px 0 244px;
    }

    .school::after {
    	height: 144px;
    	background-image: url(../images/school-wave-sp.png);
    	bottom: 0;
    }
  }


  /*========================================
  		question
  =========================================*/

  .question {
    padding: 130px 0 40px;
  }

  .question .h2-wrap {
  	width: 145px;
    height: 45px;
  }

  .question .item-wrap {
  	width: 88%;
  	max-width: 700px;
  	margin-top: 50px;
  }

  .question .accordion-area li {
  	font-size: 1.3rem;
    border-radius: 15px;
  }

  .question .accordion-area li:not(:last-of-type) {
    margin-bottom: 20px;
  }

  .question .question-title-wrap {
  	padding: 20px 6%;
  }

  .question .question-title-wrap::before {
    width: 13px;
  	height: 16px;
  	left: 6%;
  }

  .question .question-title::before,
  .question .question-title::after{
    width: 14px;
    height: 2px;
    right: 3px;
  }

  .question .question-title::after{
  	top: 48.5%;
  }

  .question .box {
    padding: 24px 0;
  }

  .question .box-inner img {
  	display: none;
  }

  .question .accordion-area::before {
  	width: 91px;
  	height: 89px;
  	top: -16px;
  	right: -11px;
  }

  .question .accordion-area::after {
  	width: 107px;
  	height: 111px;
  	top: 230px;
  	left: -21px;
  }

  .question .item-wrap::after {
  	width: 103px;
  	height: 120px;
  	top: 480px;
  	right: -21px;
  }

  @media screen and (max-width:899px) {
    .question {
    	padding: 144px 0 75px;
    }
  }


  /*========================================
  		contact
  =========================================*/

  .contact {
  	padding: 40px 0 80px;
  }

  .contact .h2-wrap {
  	width: 330px;
    height: 64px;
  }

  .mw_wp_form {
  	width: 88%;
  	max-width: 700px;
  }

  .form-table {
  	line-height: 1.46;
  	margin-top: 60px;
  	display: grid;
  	grid-template-columns: 100%;
  	grid-row-gap: 11px;
  }

  .form-table .label-wrap:not(:first-child) {
    margin-top: 22px;
  }

  .form-table .input,
  .form-table .select,
  .form-table .textarea {
  	padding: 12px 19px;
  }

  .form-table .input,
  .form-table .select {
  	height: 43px;
  }

  .form-table .select-wrap {
  	width: 100%;
    max-width: 387px;
  }

  .form-table .select-wrap::after {
  	width: 26px;
  	height: 17px;
  	left: auto;
    right: 20px;
  	top: 52%;
  }

  .form-btn-wrap {
  	margin-top: 40px;
  }

  .form-btn {
  	font-size: 1.3rem;
  	padding: 20px 118px;
  }

  .mw_wp_form .error {
  	font-size: 1.2rem !important;
    transform: translate(100%, -50%);
  	top: 50%;
    right: -60px;
  }


  /*========================================
  		contact - complete
  =========================================*/

  .complete {
  	padding: 70px 0 90px;
  }

  .complete .title {
  	font-size: 1.6rem;
  	margin-bottom: 30px;
  }


  /*========================================
  		footer
  =========================================*/

  footer {
  	padding-bottom: 40px;
  	margin: 194px auto 105px;
  }

  @media screen and (max-width:899px) {
    footer::before {
    	height: 50px;
    	background-image: url(../images/footer-wave-sp.png);
      top: -49px;
    }

    footer {
    	margin-top: 50px;
      padding-top: 20px;
    }
  }

  footer .footer-inner {
  	width: 88%;
  }

  footer .footer-top {
  	flex-direction: column;
    align-items: center;
  }

  footer .logo-wrap .logo {
  	width: 135px;
  }

  footer .logo-wrap .text-wrap {
  	font-size: 1.3rem;
    line-height: 1.77;
    margin-left: 3px;
  	margin-bottom: 2px;
  }

  footer .logo-wrap .name {
    font-size: 1.3rem;
    margin-top: 0;
  }

  footer .footer-ul-wrap {
  	align-items: center;
  }

  footer .footer-ul {
    text-align: center;
    flex-direction: column;
    margin-top: 18px;
  }

  footer .footer-ul a {
  	padding: 10px 10px;
  }

  footer .gnav-pc-sub {
  	margin-top: 0;
  }

  footer .cta-btn {
  	display: none;
  }

  footer .footer-bottom {
  	flex-direction: column;
  	margin-top: 47px;
  }

  footer .footer-bottom .item:not(:first-of-type) {
  	margin-left: 0;
    margin-top: 55px;
  }

  footer .footer-bottom .school-name {
  	font-size: 1.6rem;
    text-align: center;
  }

  footer .footer-bottom .tel {
    font-size: 1.4rem;
    display: flex;
    justify-content: center;
  	margin-top: 15px;
  }

  footer .open {
  	margin-top: 15px;
  	grid-template-columns: 95px 92px;
  	grid-row-gap: 5px;
  }

  footer .open .title {
    font-size: 1.6rem;
  	line-height: 1.68;
    text-align: center;
  	margin-bottom: 15px;
  }


  /*========================================
      follow-area
  =========================================*/

  .pc-follow {
    display: none;
  }

  .sp-follow {
    width: 100%;
    height: 105px;
    background-color: rgba(250,243,63,.8);
    padding: 8px 22px;
    display: flex;
    justify-content: center;
    position: fixed;
    bottom: 0;
    z-index: 50;
    opacity: 0;
    transform: translateY(105px);
  }

  .sp-follow a {
    display: block;
  }

  .sp-follow img {
    width: 159px;
    height: auto;
  }

  .sp-follow a:not(:first-of-type) {
    margin-left: 12px;
  }

  .sp-follow.UpMove{
  animation: UpAnime 0.5s forwards;
  }

  @keyframes UpAnime{
    from {
      opacity: 0;
  	transform: translateY(105px);
    }
    to {
      opacity: 1;
  	transform: translateY(0);
    }
  }

  .sp-follow.DownMove{
  	animation: DownAnime 0.5s forwards;
  }
  @keyframes DownAnime{
    from {
    	opacity: 1;
  	transform: translateY(0);
    }
    to {
    	opacity: 1;
  	transform: translateY(105px);
    }
  }
}
</pre></body></html>