@charset "UTF-8";
:root {
  --font-family-base: "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
  --font-family-montserrat: "Montserrat", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
  --font-family-noto-sans-jp: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
}

:root {
  --font-weight-base: 400;
}

:root {
  --color-base: #222;
  --color-placeholder: #959595;
}

:root {
  --z-index-level-top: 2147483647;
}

:root {
  --leading-trim: calc((1em - 1lh) / 2);
}

/* 言語が英語（ラテン系言語）の場合、cap-heightベースにする */
:root:lang(en) {
  --leading-trim: calc((1cap - 1lh) / 2);
}

/* もし lh が未対応のブラウザであれば fallback */
@supports not (top: 1lh) {
  :root {
    --leading-trim: 0px;
  }
}
:root {
  --width-pc-design: 1920;
  --width-pc-design-content: 1200;
  --width-pc-design-content-percent: calc(var(--width-pc-design-content) / (--width-pc-design-content * 1.05) * 100%);
  --width-pc-design-content-vw: calc(var(--width-pc-design-content) / (--width-pc-design-content * 1.05) * 100vw);
  --width-pc-design-content-rem: calc((var(--width-pc-design-content) / 10) * 1rem);
  --width-sp-design: 414;
  --width-sp-design-content: 340;
  --width-sp-design-content-percent: calc(var(--width-sp-design-content) / var(--width-sp-design) * 100%);
  --width-sp-design-content-vw: calc(var(--width-sp-design-content) / var(--width-sp-design) * 100vw);
  --width-sp-design-content-rem: calc((var(--width-sp-design-content) / 10) * 1rem);
}

:root {
  --border-radius-infinity: calc(1px / 0);
}

:root {
  --opacity-base: .6;
}

:root {
  --transition-base: .4s;
  --transition-sub: .6s;
}

.p-index-fv {
  position: relative;
  height: calc(100svh - 9rem);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-index-fv {
    height: calc(100svh - var(--header-height));
  }
}
.p-index-fv__bgMovie {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-index-fv__title {
  position: absolute;
  z-index: 1;
  width: 61.4rem;
}
@media screen and (min-width: 768px) {
  .p-index-fv__title {
    left: 8.4375vw;
    bottom: 13.488372093svh;
  }
}
@media screen and (max-width: 767px) {
  .p-index-fv__title {
    top: 6.976744186svh;
    right: calc(38 / var(--width-sp-design) * 100vw);
    width: 27.5rem;
  }
}
.p-index-fv__state {
  position: absolute;
  right: 2.0833333333vw;
  bottom: 2.0833333333vw;
  z-index: 1;
  padding: 1.7rem 2rem 2rem;
  width: max-content;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0.8rem 1.6rem rgba(34, 34, 34, 0.16);
  transition: opacity var(--transition-base);
}
@media screen and (max-width: 767px) {
  .p-index-fv__state {
    right: 50%;
    bottom: 13.0170316302svh;
    translate: 50% 0;
    padding: 1.4rem 2.8rem 1.5rem;
  }
}
.p-index-fv__state:has(.is-close) {
  opacity: 0;
  pointer-events: none;
}
.p-index-fv__state-close {
  position: absolute;
  top: -2.9rem;
  right: 2rem;
  z-index: 1;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0.4rem 1rem rgba(34, 34, 34, 0.12);
}
@media screen and (min-width: 768px) {
  .p-index-fv__state-close {
    display: none;
  }
}
.p-index-fv__state-close::before, .p-index-fv__state-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 2.1rem;
  height: 0.2rem;
  background: #1797F4;
}
.p-index-fv__state-close::before {
  rotate: -39deg;
}
.p-index-fv__state-close::after {
  rotate: 39deg;
}
@media screen and (min-width: 768px) {
  .p-index-fv__state-title {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .p-index-fv__state-title {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 1.5rem;
  }
}
.p-index-fv__state-title-text {
  font-size: 2.2rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-family: var(--font-family-noto-sans-jp);
}
@media screen and (max-width: 767px) {
  .p-index-fv__state-title-text {
    font-size: 2rem;
    line-height: 1.45;
  }
}
.p-index-fv__state-title-date-text {
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 400;
  font-family: var(--font-family-noto-sans-jp);
}
@media screen and (max-width: 767px) {
  .p-index-fv__state-title-date-text {
    font-size: 1.1rem;
    line-height: 1.5454545455;
  }
}
.p-index-fv__state-eventLabel {
  font-size: 1.8rem;
  line-height: 1.4444444444;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #FA2D2C;
  text-align: center;
  margin-top: 1.9rem;
  padding: 0.5rem 1rem;
  border: 0.2rem solid #FA2D2C;
  border-radius: 1rem;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .p-index-fv__state-eventLabel {
    font-size: 1.6rem;
    line-height: 1.5;
    margin-top: 1.7rem;
    padding: 0.7rem 1rem;
    border-width: 1px;
  }
}
.p-index-fv__state-box {
  display: grid;
  grid-template-columns: 21rem 1fr;
  column-gap: 1.8rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-index-fv__state-box {
    align-items: center;
    grid-template-columns: 16.5rem 1fr;
    column-gap: 1.4rem;
    margin-top: 1.7rem;
  }
}
.p-index-fv__state-entry {
  display: flex;
  flex-direction: column;
}
.p-index-fv__state-entry-restricted {
  display: flex;
  align-items: center;
  column-gap: 0.8rem;
  margin-inline: auto;
  width: fit-content;
}
.p-index-fv__state-entry-restricted-theme {
  font-size: 1.4rem;
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
  font-weight: 500;
  font-family: var(--font-family-noto-sans-jp);
  text-align: center;
  display: grid;
  place-content: center;
  width: 9rem;
  height: 3rem;
  border-radius: 0.5rem;
  background: #eee;
}
@media screen and (max-width: 767px) {
  .p-index-fv__state-entry-restricted-theme {
    font-size: 1.1rem;
    line-height: 1.5454545455;
    width: 8rem;
    height: 2.6rem;
  }
}
.p-index-fv__state-entry-restricted-des {
  font-size: 1.8rem;
  line-height: 1.5555555556;
  letter-spacing: 0.05em;
  font-weight: 500;
  font-family: var(--font-family-noto-sans-jp);
}
@media screen and (max-width: 767px) {
  .p-index-fv__state-entry-restricted-des {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}
.p-index-fv__state-entry-time {
  margin-top: auto;
  padding-block: 1.5rem 1.9rem;
  border-block: 1px solid #C7C7C7;
}
@media screen and (max-width: 767px) {
  .p-index-fv__state-entry-time {
    margin-top: 1.7rem;
    padding-block: 0.2rem 1.2rem;
  }
}
.p-index-fv__state-entry-time-value {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-index-fv__state-entry-time-value-num {
  font-size: 3rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-family: var(--font-family-noto-sans-jp);
}
@media screen and (max-width: 767px) {
  .p-index-fv__state-entry-time-value-num {
    font-size: 2.5rem;
    line-height: 1.48;
  }
}
.p-index-fv__state-entry-time-value-text {
  font-size: 1.4rem;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-family: var(--font-family-noto-sans-jp);
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-index-fv__state-entry-time-value-text {
    font-size: 1.1rem;
    line-height: 1.5454545455;
  }
}
.p-index-fv__state-entry-time-text {
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 500;
  font-family: var(--font-family-noto-sans-jp);
  margin: 0.2rem auto 0;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .p-index-fv__state-entry-time-text {
    font-size: 0.9rem;
    line-height: 1.4444444444;
  }
}
.p-index-fv__state-holiday {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-index-fv__state-holiday {
    margin-top: 1.4rem;
  }
}
.p-index-fv__state-holiday-title {
  font-size: 4rem;
  line-height: 1.475;
  letter-spacing: 0.05em;
  font-weight: 500;
  font-family: var(--font-family-noto-sans-jp);
  color: #FA2D2B;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-index-fv__state-holiday-title {
    font-size: 3.2rem;
    line-height: 1.46875;
  }
}
.p-index-fv__state-holiday-tomorrow {
  margin: 1.3rem auto 0;
  padding-bottom: 0.8rem;
  width: 28rem;
  border-block: 1px solid #C7C7C7;
}
@media screen and (max-width: 767px) {
  .p-index-fv__state-holiday-tomorrow {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 1rem;
    padding-block: 1rem 0.9rem;
    width: 32rem;
  }
}
.p-index-fv__state-holiday-tomorrow-time {
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-index-fv__state-holiday-tomorrow-time-text {
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 500;
  font-family: var(--font-family-noto-sans-jp);
  margin: 1.5rem 0.5rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-index-fv__state-holiday-tomorrow-time-text {
    margin: 1rem 0.3rem 0 0;
  }
}
.p-index-fv__state-holiday-tomorrow-time-num {
  font-size: 3rem;
  line-height: 1.3666666667;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-family: var(--font-family-noto-sans-jp);
}
@media screen and (max-width: 767px) {
  .p-index-fv__state-holiday-tomorrow-time-num {
    font-size: 2.4rem;
    line-height: 1.5;
  }
}
.p-index-fv__state-holiday-tomorrow-time-separator {
  font-size: 1.4rem;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
  font-weight: 500;
  font-family: var(--font-family-noto-sans-jp);
  margin: 0.5rem 0.2rem 0;
}
@media screen and (max-width: 767px) {
  .p-index-fv__state-holiday-tomorrow-time-separator {
    font-size: 1.2rem;
    line-height: 1.5;
  }
}
.p-index-fv__state-holiday-tomorrow-text {
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 500;
  font-family: var(--font-family-noto-sans-jp);
}
@media screen and (min-width: 768px) {
  .p-index-fv__state-holiday-tomorrow-text {
    text-align: center;
    margin-top: 0.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-index-fv__state-holiday-tomorrow-text {
    line-height: 1.4166666667;
    margin-left: 0.6rem;
  }
}
.p-index-purpose {
  position: relative;
  z-index: 1;
  padding-block: 18.8rem 18.5rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-index-purpose {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-index-purpose {
    padding-block: 14rem 8rem;
  }
}
.p-index-purpose::before, .p-index-purpose::after {
  content: "";
  position: absolute;
  z-index: -1;
}
.p-index-purpose::before {
  top: 6rem;
  left: 50%;
  translate: -50% 0;
  width: max(208rem, 108.3333333333vw);
  height: max(84.1rem, 43.8020833333vw);
  border-radius: 50%;
  background: #F6F4ED;
  box-shadow: 0 -6rem 0 #FAF9F5;
}
@media screen and (max-width: 767px) {
  .p-index-purpose::before {
    top: 0;
    width: 94.3rem;
    height: 84.1rem;
    box-shadow: 0 -5rem 0 #FAF9F5;
  }
}
.p-index-purpose::after {
  inset: max(42rem, 21.875vw) 0 0;
  background: #F6F4ED;
}
@media screen and (max-width: 767px) {
  .p-index-purpose::after {
    inset: 42rem 0 0;
  }
}
.p-index-purpose .c-wrap {
  max-width: 152rem;
}
@media screen and (max-width: 767px) {
  .p-index-purpose .c-wrap {
    width: 100%;
  }
}
.p-index-purpose__title {
  position: relative;
  margin-inline: auto;
  width: fit-content;
}
.p-index-purpose__title::after {
  content: "";
  position: absolute;
  top: -2.2rem;
  right: -13.9rem;
  width: 10rem;
  height: 16.1rem;
  background: url(../img/index/purpose_illustration_person.svg) center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .p-index-purpose__title::after {
    top: -10.6rem;
    right: 0;
    width: 5.7rem;
    height: 9.2rem;
  }
}
.p-index-purpose__title-en {
  position: relative;
  margin-inline: auto;
  width: 48.1rem;
}
@media screen and (max-width: 767px) {
  .p-index-purpose__title-en {
    width: 29.7rem;
  }
}
.p-index-purpose__title-en::before, .p-index-purpose__title-en::after {
  content: "";
  position: absolute;
}
.p-index-purpose__title-en::before {
  top: -0.8rem;
  left: -20.6rem;
  width: 6.6rem;
  height: 6.6rem;
  background: url(../img/index/purpose_illustration_beach_ball.svg) center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .p-index-purpose__title-en::before {
    top: -7.2rem;
    left: -1.2rem;
    width: 3.3rem;
    height: 3.3rem;
  }
}
.p-index-purpose__title-en::after {
  top: 4.3rem;
  left: -13.6rem;
  width: 9.2rem;
  height: 7.3rem;
  background: url(../img/index/purpose_illustration_float_ring.svg) center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .p-index-purpose__title-en::after {
    top: -4.7rem;
    left: 2.4rem;
    width: 4.5rem;
    height: 3.6rem;
  }
}
.p-index-purpose__title-jp {
  font-size: 3.6rem;
  line-height: 1.4444444444;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-index-purpose__title-jp {
    font-size: 2.2rem;
    line-height: 1.4545454545;
  }
}
.p-index-purpose .splide {
  margin-top: 6.4rem;
}
@media screen and (max-width: 767px) {
  .p-index-purpose .splide {
    margin-top: 3.1rem;
  }
}
.p-index-purpose .splide__arrows {
  display: flex;
  justify-content: space-between;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
  translate: 0 -50%;
  padding-inline: 0.5rem;
  width: 100%;
  pointer-events: none;
}
.p-index-purpose .splide__arrow {
  position: relative;
  width: 4.6rem;
  height: 4.6rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0.4rem 0.8rem rgba(0, 0, 0, 0.16);
  pointer-events: all;
}
.p-index-purpose .splide__arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: -50% -50%;
  width: 1.2rem;
  height: 1.4rem;
  background: #A7A7A7;
}
.p-index-purpose .splide__arrow svg {
  display: none;
}
.p-index-purpose .splide__arrow--prev::before {
  left: calc(50% - 0.2rem);
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
.p-index-purpose .splide__arrow--next::before {
  left: calc(50% + 0.2rem);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media screen and (max-width: 767px) {
  .p-index-purpose .splide__track {
    padding-inline: 3.7rem !important;
  }
}
@media screen and (min-width: 768px) {
  .p-index-purpose .splide__list {
    height: auto;
  }
}
.p-index-purpose .splide__slide {
  padding-top: 2.3rem;
}
@media screen and (max-width: 767px) {
  .p-index-purpose .splide__slide {
    padding-top: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .p-index-purpose .splide__list {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr);
    gap: 6.3rem 2.6315789474%;
  }
}
.p-index-purpose .splide__link {
  display: block;
  padding-block: 9.6rem 5rem;
  border-radius: 1rem;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .p-index-purpose .splide__link {
    padding-block: 10rem 5rem;
  }
}
.p-index-purpose .splide__icon {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  translate: -50% 0;
  width: 12rem;
}
.p-index-purpose .splide__title {
  font-size: 2.4rem;
  line-height: 1.4583333333;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  display: grid;
  place-content: center;
  min-height: 11.5rem;
}
@media screen and (max-width: 767px) {
  .p-index-purpose .splide__title {
    font-size: 2.2rem;
    line-height: 1.4545454545;
    min-height: 11.2rem;
  }
}
.p-index-purpose .splide__button {
  margin: 1rem auto 0;
  width: 73.5294117647%;
  padding-bottom: 1.6rem;
  border-bottom: 1px solid #222;
}
@media screen and (max-width: 767px) {
  .p-index-purpose .splide__button {
    width: 70.5882352941%;
  }
}
.p-index-purpose .splide__button-text {
  font-size: 1.4rem;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
  font-weight: 500;
  display: block;
  position: relative;
  margin-inline: auto;
  padding-right: 4.8rem;
  width: fit-content;
}
.p-index-purpose .splide__button-text::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  width: 3.8rem;
  height: 2rem;
  border-radius: var(--border-radius-infinity);
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 8"><path d="M-.62-13.891H-2.411l2.224,3.282h-6.57v1.417h6.57l-2.224,3.3H-.62L2.243-9.91Z" transform="translate(6.757 13.891)" fill="white"/></svg>') center/0.9rem auto no-repeat #222;
}
.p-index-event {
  position: relative;
  z-index: 1;
  background: #fff;
  container-type: inline-size;
  overflow-x: clip;
}
.p-index-event::before {
  content: "";
  position: absolute;
  inset: -0.5rem 0 25.6rem;
  z-index: -1;
  background: #F6F4ED;
}
@media screen and (max-width: 767px) {
  .p-index-event::before {
    inset: -0.5rem 0 0;
  }
}
.p-index-event .c-wrap {
  position: relative;
  z-index: 1;
  padding-top: 6rem;
  max-width: 160rem;
}
@media screen and (max-width: 767px) {
  .p-index-event .c-wrap {
    padding-top: 11rem;
    width: calc(365 / var(--width-sp-design) * 100vw);
  }
}
.p-index-event .c-wrap::before {
  content: "";
  position: absolute;
  inset: 0 calc(50% - 50cqi) 0 0;
  border-radius: var(--border-radius-infinity) 0 0 var(--border-radius-infinity);
  background: #fff;
}
@media screen and (max-width: 767px) {
  .p-index-event .c-wrap::before {
    inset: 0 calc(50% - 50cqi);
    border-radius: 15rem 0 0 0;
  }
}
.p-index-event__title {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-index-event__title {
    display: flex;
    column-gap: 2.4rem;
    width: fit-content;
  }
}
@media screen and (max-width: 767px) {
  .p-index-event__title {
    text-align: center;
  }
}
.p-index-event__title::after {
  content: "";
  position: absolute;
  top: -10.5rem;
  right: -41.1rem;
  width: 38rem;
  height: 22.5rem;
  background: url(../img/index/event_illustration_swimming.svg) center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .p-index-event__title::after {
    top: -13rem;
    right: 1.3rem;
    width: 15rem;
    height: 8.9rem;
  }
}
.p-index-event__title-en {
  font-size: 9.8rem;
  line-height: 1.2244897959;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-family: var(--font-family-montserrat);
  color: #4394CE;
}
@media screen and (max-width: 767px) {
  .p-index-event__title-en {
    font-size: 5.6rem;
    line-height: 1.2142857143;
  }
}
.p-index-event__title-jp {
  font-size: 3.6rem;
  line-height: 1.4444444444;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-index-event__title-jp {
    margin-top: 4.7rem;
  }
}
@media screen and (max-width: 767px) {
  .p-index-event__title-jp {
    font-size: 2.2rem;
    line-height: 1.4545454545;
  }
}
.p-index-event .splide {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 9rem auto 0;
  max-width: 120rem;
}
@media screen and (max-width: 767px) {
  .p-index-event .splide {
    margin-top: 4.2rem;
  }
}
.p-index-event .splide + .splide {
  margin-top: 11.9rem;
}
@media screen and (max-width: 767px) {
  .p-index-event .splide + .splide {
    margin-top: 7.2rem;
  }
}
.p-index-event .splide__title {
  font-size: 2.8rem;
  line-height: 1.4285714286;
  letter-spacing: 0.12em;
  font-weight: 700;
  text-indent: 0.12em;
  position: relative;
  z-index: 1;
  margin: 0 0 1.6rem -2.1rem;
}
@media screen and (max-width: 767px) {
  .p-index-event .splide__title {
    font-size: 1.2rem;
    line-height: 1.4166666667;
    margin: 0 0 1.1rem 3.4rem;
  }
}
.p-index-event .splide__title::before {
  content: "";
  position: absolute;
  top: calc(50% + 0.5rem);
  left: 50%;
  z-index: -1;
  translate: -50% -50%;
  width: 16.8rem;
  height: 16.8rem;
}
@media screen and (max-width: 767px) {
  .p-index-event .splide__title::before {
    top: 50%;
    width: 8.1rem;
    height: 8.1rem;
  }
}
.p-index-event .splide__title.--in-progress::before {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 168 168"><defs><clipPath id="clip-path"><rect width="168" height="168" fill="none"/></clipPath></defs><g clip-path="url(%23clip-path)"><path d="M84,0A84,84,0,1,1,0,84,84.04,84.04,0,0,1,84,0" transform="translate(0 0)" fill="%23fecd19" fill-rule="evenodd"/><path d="M80.449,6.4A74.052,74.052,0,1,1,6.4,80.45,74.088,74.088,0,0,1,80.449,6.4" transform="translate(3.551 3.55)" fill="%23fecd19" fill-rule="evenodd"/><path d="M80.449,6.4A74.052,74.052,0,1,1,6.4,80.45,74.088,74.088,0,0,1,80.449,6.4Z" transform="translate(3.551 3.55)" fill="none" stroke="%23fff" stroke-linecap="round" stroke-linejoin="round" stroke-dashoffset="22.625" stroke-width="2" stroke-dasharray="36.625 12.113"/></g></svg>') center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .p-index-event .splide__title.--in-progress::before {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 81 81"><defs><clipPath id="clip-path"><rect width="81" height="81" fill="none"/></clipPath></defs><g clip-path="url(%23clip-path)"><path d="M40.866,0A40.866,40.866,0,1,1,0,40.866,40.886,40.886,0,0,1,40.866,0" transform="translate(0 0)" fill="%23fecd19" fill-rule="evenodd"/><path d="M42.424,6.4A36.027,36.027,0,1,1,6.4,42.424,36.044,36.044,0,0,1,42.424,6.4" transform="translate(-1.558 -1.558)" fill="%23fecd19" fill-rule="evenodd"/><path d="M42.424,6.4A36.027,36.027,0,1,1,6.4,42.424,36.044,36.044,0,0,1,42.424,6.4Z" transform="translate(-1.558 -1.558)" fill="none" stroke="%23fff" stroke-linecap="round" stroke-linejoin="round" stroke-dashoffset="22.625" stroke-width="2" stroke-dasharray="36.625 12.113"/></g></svg>') center/contain no-repeat;
  }
}
.p-index-event .splide__title.--before {
  color: #fff;
}
.p-index-event .splide__title.--before::before {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 168 168"><defs><clipPath id="clip-path"><rect width="168" height="168" fill="none"/></clipPath></defs><g clip-path="url(%23clip-path)"><path d="M84,0A84,84,0,1,1,0,84,84.04,84.04,0,0,1,84,0" transform="translate(0 0)" fill="%23295b8a" fill-rule="evenodd"/><path d="M80.449,6.4A74.052,74.052,0,1,1,6.4,80.45,74.088,74.088,0,0,1,80.449,6.4" transform="translate(3.551 3.55)" fill="%23295b8a" fill-rule="evenodd"/><path d="M80.449,6.4A74.052,74.052,0,1,1,6.4,80.45,74.088,74.088,0,0,1,80.449,6.4Z" transform="translate(3.551 3.55)" fill="none" stroke="%23fff" stroke-linecap="round" stroke-linejoin="round" stroke-dashoffset="22.625" stroke-width="2" stroke-dasharray="36.625 12.113"/></g></svg>') center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .p-index-event .splide__title.--before::before {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 81 81"><defs><clipPath id="clip-path"><rect width="81" height="81" fill="none"/></clipPath></defs><g clip-path="url(%23clip-path)"><path d="M40.866,0A40.866,40.866,0,1,1,0,40.866,40.886,40.886,0,0,1,40.866,0" transform="translate(0 0)" fill="%23295b8a" fill-rule="evenodd"/><path d="M42.424,6.4A36.027,36.027,0,1,1,6.4,42.424,36.044,36.044,0,0,1,42.424,6.4" transform="translate(-1.558 -1.558)" fill="%23295b8a" fill-rule="evenodd"/><path d="M42.424,6.4A36.027,36.027,0,1,1,6.4,42.424,36.044,36.044,0,0,1,42.424,6.4Z" transform="translate(-1.558 -1.558)" fill="none" stroke="%23fff" stroke-linecap="round" stroke-linejoin="round" stroke-dashoffset="22.625" stroke-width="2" stroke-dasharray="36.625 12.113"/></g></svg>') center/contain no-repeat;
  }
}
.p-index-event .splide__arrows {
  display: flex;
  gap: 0.4rem;
}
@media screen and (max-width: 767px) {
  .p-index-event .splide__arrows {
    justify-content: center;
    gap: 2rem;
    order: 1;
    margin-top: 3rem;
    width: 100%;
  }
}
.p-index-event .splide__arrow {
  position: relative;
  width: 6rem;
  height: 3rem;
  border-radius: var(--border-radius-infinity);
}
.p-index-event .splide__arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 1.3rem;
  height: 1.2rem;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 12"><path d="M-2.622-13.891H-.034L-3.247-8.969h9.49v2.126h-9.49L-.034-1.891H-2.622L-6.757-7.92Z" transform="translate(6.757 13.891)" fill="white"/></svg>') center/contain no-repeat;
}
.p-index-event .splide__arrow--prev {
  background: #222;
}
.p-index-event .splide__arrow--next {
  background: #FF9501;
}
.p-index-event .splide__arrow--next::before {
  scale: -1 1;
}
.p-index-event .splide-wrapper {
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-index-event .splide-wrapper {
    margin-right: calc(50% - 50cqi);
  }
}
.p-index-event .splide__link {
  display: block;
  border-radius: 2rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-index-event .splide__link {
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-index-event .splide__link {
    aspect-ratio: 365/207;
  }
}
.p-index-event .splide__link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-index-event .splide__pagination {
  font-size: 0;
  display: grid;
  grid-template-columns: repeat(var(--_js-event-slider-pagination-value), 1fr);
  margin-top: 4rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-index-event .splide__pagination {
    margin-top: 2rem;
  }
}
.p-index-event .splide__pagination button {
  width: 100%;
  height: 1px;
  background: #B1B1B1;
}
.p-index-event .splide__pagination button.is-active {
  background: #222;
}
.p-index-topics {
  margin: 16rem auto 0;
  padding-block: 12rem;
  max-width: 144rem;
  border-radius: 4rem;
  background: #F6F4ED;
}
@media screen and (max-width: 767px) {
  .p-index-topics {
    margin-top: 8rem;
    padding-block: 8rem 10rem;
  }
}
.p-index-topics .c-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-index-topics__title {
    display: flex;
    column-gap: 2.4rem;
    position: relative;
  }
  .p-index-topics__title::before {
    content: "";
    position: absolute;
    top: -16.7rem;
    right: -14.6rem;
    width: 23.4rem;
    height: 15.1rem;
    background: url(../img/index/topics_illustration_swimming.svg);
  }
}
@media screen and (max-width: 767px) {
  .p-index-topics__title {
    text-align: center;
    width: 100%;
  }
}
.p-index-topics__title-en {
  font-size: 6.4rem;
  line-height: 1.21875;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-family: var(--font-family-montserrat);
  color: #A7A7A7;
}
@media screen and (max-width: 767px) {
  .p-index-topics__title-en {
    font-size: 5.6rem;
    line-height: 1.2142857143;
  }
}
.p-index-topics__title-jp {
  font-size: 2.4rem;
  line-height: 1.4583333333;
  font-weight: 700;
  margin-top: 2.6rem;
}
@media screen and (max-width: 767px) {
  .p-index-topics__title-jp {
    font-size: 2.2rem;
    line-height: 1.4545454545;
    margin-top: 0;
  }
}
.p-index-topics .c-button-01 {
  width: 32rem;
}
@media screen and (max-width: 767px) {
  .p-index-topics .c-button-01 {
    order: 1;
    margin-top: 5rem;
    width: 100%;
  }
}
.p-index-topics__list {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-index-topics__list {
    margin-top: 2.4rem;
  }
}
.p-index-topics__list-item {
  padding-block: 4rem;
  background: repeating-linear-gradient(to right, #222 0 0.2rem, transparent 0.2rem 1rem) left bottom/100% 0.2rem repeat-x;
}
@media screen and (min-width: 768px) {
  .p-index-topics__list-link {
    display: grid;
    align-items: flex-start;
    grid-template-columns: 24rem 1fr;
    column-gap: 4rem;
  }
}
.p-index-topics__list-image {
  aspect-ratio: 240/140;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-index-topics__list-image {
    aspect-ratio: 340/180;
  }
}
.p-index-topics__list-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-index-topics__list-box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-index-topics__list-box {
    gap: 0.5rem 1rem;
    margin-top: 3rem;
  }
}
.p-index-topics__list-category {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-index-topics__list-category {
    gap: 0.5rem;
  }
}
.p-index-topics__list-category-label {
  font-size: 1.4rem;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
  font-weight: 500;
  text-indent: 0.05em;
  text-align: center;
  padding: 0.5rem 1.2rem 0.7rem;
  min-width: 10rem;
  border-radius: var(--border-radius-infinity);
}
.p-index-topics__list-category-label.--topics {
  color: #fff;
  background: #1797F4;
}
.p-index-topics__list-category-label.--event {
  background: #FECD19;
}
.p-index-topics__list-category-label.--school {
  color: #fff;
  background: #3F8A3F;
}
.p-index-topics__list-category-label.--other {
  color: #fff;
  background: #A7A7A7;
}
.p-index-topics__list-date {
  font-size: 1.4rem;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.p-index-topics__list-title {
  font-size: 2.4rem;
  line-height: 1.4583333333;
  letter-spacing: 0.05em;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  margin-top: 0.8rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-index-topics__list-title {
    font-size: 1.6rem;
    line-height: 1.5;
    -webkit-line-clamp: 2;
    margin-top: 1.5rem;
  }
}
.p-index-topics__list-text {
  font-size: 1.4rem;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-top: 0.5rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-index-topics__list-text {
    margin-top: 1.1rem;
  }
}
.p-index-sns {
  margin-top: 14rem;
  overflow-x: clip;
}
@media screen and (max-width: 767px) {
  .p-index-sns {
    margin-top: 8rem;
  }
}
.p-index-sns .c-wrap {
  width: 100%;
  max-width: 100%;
}
.p-index-sns__title {
  text-align: center;
}
.p-index-sns__title-en {
  font-size: 6.4rem;
  line-height: 1.21875;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-family: var(--font-family-montserrat);
  color: #A7A7A7;
}
@media screen and (max-width: 767px) {
  .p-index-sns__title-en {
    font-size: 5.6rem;
    line-height: 1.2142857143;
  }
}
.p-index-sns__title-jp {
  font-size: 3.2rem;
  line-height: 1.4375;
  letter-spacing: 0.12em;
  font-weight: 700;
  text-indent: 0.12em;
  margin-top: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-index-sns__title-jp {
    font-size: 2.2rem;
    line-height: 1.4545454545;
    letter-spacing: 0.05em;
    text-indent: 0.05em;
    margin-top: 0;
  }
}
.p-index-sns__loop {
  display: flex;
  margin-top: 5.3rem;
}
@media screen and (max-width: 767px) {
  .p-index-sns__loop {
    margin-top: 4.5rem;
  }
}
.p-index-sns__loop-item {
  --_item-padding-inline: 20;
  --_item-width: 320;
  --_item-val: 6;
  --_design-window-width: 1920;
  --_animation-time: 30s;
  display: flex;
  flex-shrink: 0;
  column-gap: calc(var(--_item-padding-inline) * 2 / 10 * 1rem);
  width: calc((var(--_item-padding-inline) * 2 + var(--_item-width)) * var(--_item-val) / 10 * 1rem);
}
@media screen and (max-width: 767px) {
  .p-index-sns__loop-item {
    --_item-padding-inline: 9.5;
    --_item-width: 155;
    --_design-window-width: 414;
  }
}
.p-index-sns__loop-item:first-of-type {
  animation: loop-slide1 var(--_animation-time) calc(var(--_animation-time) / 2 * -1) linear infinite;
}
.p-index-sns__loop-item:last-of-type {
  animation: loop-slide2 var(--_animation-time) linear infinite;
}
@keyframes loop-slide1 {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes loop-slide2 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-200%);
  }
}
.p-index-sns__loop-image {
  width: calc(var(--_item-width) / 10 * 1rem);
  border-radius: 1rem;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.p-index-sns__loop-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-index-sns .c-button-01 {
  margin-top: 6.4rem;
}
@media screen and (max-width: 767px) {
  .p-index-sns .c-button-01 {
    margin-top: 4.5rem;
  }
}
@media screen and (min-width: 768px) {
  .p-index-sns .c-button-01__link {
    font-size: 2.2rem;
    line-height: 1.4545454545;
    letter-spacing: 0.05em;
    font-weight: 500;
    padding: 1.4rem 6rem;
    max-width: 40rem;
  }
}
.p-index-sns__card {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
  margin: 10rem auto 0;
  width: 96%;
  max-width: 116rem;
}
@media screen and (max-width: 767px) {
  .p-index-sns__card {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 8rem;
    width: var(--width-sp-design-content-percent);
    max-width: 34rem;
  }
}
.p-index-sns__card-link {
  display: grid;
  grid-template-columns: 14rem 1fr;
  position: relative;
  border-radius: 1rem;
}
@media screen and (max-width: 767px) {
  .p-index-sns__card-link {
    grid-template-columns: 8.5rem 1fr;
  }
}
.p-index-sns__card-link::after {
  content: "";
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  width: 3.8rem;
  height: 2rem;
  border-radius: var(--border-radius-infinity);
  background: url('data:image/svg+xml;utf8,<svg viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.10429 0L0.784227 1.32226L4.84245 2.10336L0 6.95386L1.04441 8L5.88686 3.1495L6.67993 7.22776L8 5.9055L7.1487 0.825397L2.10429 0Z" fill="%23222"/></svg>') center/0.8rem auto no-repeat #fff;
}
@media screen and (max-width: 767px) {
  .p-index-sns__card-link::after {
    right: 1.2rem;
    bottom: 1.2rem;
    width: 2.3rem;
    height: 1.2rem;
    background-size: 0.4rem auto;
  }
}
.p-index-sns__card-link.--youtube {
  --_title-main-font-size: 3.6rem;
  --_title-main-line-height: calc(52 / 36);
  --_title-sub-margin-top: 0.8rem;
  column-gap: 3rem;
  align-items: center;
  padding: 4rem;
  background: #eee;
}
@media screen and (max-width: 767px) {
  .p-index-sns__card-link.--youtube {
    --_title-main-font-size: 2.2rem;
    --_title-main-line-height: calc(32 / 22);
    --_title-sub-margin-top: 0.5rem;
    column-gap: 1.9rem;
    padding: 2.4rem;
  }
}
.p-index-sns__card-link.--line {
  --_title-main-font-size: 3.6rem;
  --_title-main-line-height: calc(52 / 36);
  --_text-color: #fff;
  --_title-sub-margin-top: 1rem;
  column-gap: 1.5rem;
  padding: 4rem 2rem;
  background: #06C755;
}
@media screen and (max-width: 767px) {
  .p-index-sns__card-link.--line {
    --_title-main-font-size: 2rem;
    --_title-main-line-height: calc(29 / 20);
    --_title-sub-margin-top: 0.8rem;
    column-gap: 1rem;
    padding: 2.4rem 1.2rem;
  }
}
.p-index-sns__card-title-main {
  font-weight: 700;
  font-size: var(--_title-main-font-size);
  line-height: var(--_title-main-line-height);
  letter-spacing: 0.05em;
  color: var(--_text-color);
}
.p-index-sns__card-title-sub {
  font-size: 2.4rem;
  line-height: 1.4583333333;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: var(--_text-color);
  margin-top: var(--_title-sub-margin-top);
}
@media screen and (max-width: 767px) {
  .p-index-sns__card-title-sub {
    font-size: 1.4rem;
    line-height: 1.4285714286;
  }
}
.p-index-sns__card-text {
  font-size: 1.4rem;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-top: 1.6rem;
}
@media screen and (min-width: 768px) {
  .p-index-sns__card-text {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .p-index-sns__card-text {
    font-size: 1.3rem;
    line-height: 1.4615384615;
    margin-top: 1.2rem;
  }
}

.c-section-faq {
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  .c-section-faq {
    margin-top: 8rem;
  }
}

.c-section-cta-01 {
  margin-top: 10rem;
  padding-bottom: 8.4rem;
}
@media screen and (max-width: 767px) {
  .c-section-cta-01 {
    margin-top: 8rem;
    padding-bottom: 10rem;
  }
}

/*# sourceMappingURL=index.css.map */
