/*
 Hero
-----------------------------------------------------*/
.p-hero {
  position: relative;
}
.p-hero__main {
  position: relative;
}
.p-hero__cover {
  position: relative;
  border-radius: 62px;
  overflow: hidden;
  aspect-ratio: 315/482;
}
@supports not (aspect-ratio: 1/1) {
  .p-hero__cover {
    position: relative;
    padding-top: 153.0158730159%;
  }
}
@media all and (-ms-high-contrast: none) {
  .p-hero__cover {
    position: relative;
    padding-top: 153.0158730159%;
  }
}
.p-hero__cover > img,
.p-hero__cover > iframe {
  width: 100%;
  height: 100%;
}
@supports not (aspect-ratio: 1/1) {
  .p-hero__cover > img,
  .p-hero__cover > iframe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
}
@media all and (-ms-high-contrast: none) {
  .p-hero__cover > img,
  .p-hero__cover > iframe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
}
.p-hero__cover > img {
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 1024px) {
  .p-hero__cover {
    aspect-ratio: 1032/585;
  }
  @supports not (aspect-ratio: 1/1) {
    .p-hero__cover {
      position: relative;
      padding-top: 56.6860465116%;
    }
  }
  .p-hero__cover {
    border-radius: 100px;
  }
}
@media screen and (min-width: 1024px) and (-ms-high-contrast: none) {
  .p-hero__cover {
    position: relative;
    padding-top: 56.6860465116%;
  }
}
@media screen and (min-width: 1024px) {
  .p-hero__cover > img,
  .p-hero__cover > iframe {
    width: 100%;
    height: 100%;
  }
  @supports not (aspect-ratio: 1/1) {
    .p-hero__cover > img,
    .p-hero__cover > iframe {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
    }
  }
}
@media screen and (min-width: 1024px) and (-ms-high-contrast: none) {
  .p-hero__cover > img,
  .p-hero__cover > iframe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
}
@media screen and (min-width: 1024px) {
  .p-hero__cover > img {
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.p-hero__cover picture {
  width: 100%;
  height: 100%;
}
.p-hero__cover img {
  width: 100%;
  height: 100%;
  transform: scale(1);
  -o-object-fit: cover;
     object-fit: cover;
}
.swiper-slide-active .p-hero__cover img {
  animation: heroZoomOut 5.5s linear forwards;
}
.p-hero__cover::after {
  content: "";
  position: absolute;
  width: 108%;
  height: 39.4666666667vw;
  left: 50%;
  transform: translateX(-50%);
  bottom: -5%;
  background: url("../img/top/bg_hero-sp.png") center center/cover;
}
@media screen and (min-width: 1024px) {
  .p-hero__cover::after {
    background: url("../img/top/bg_hero.png") center center/cover;
    height: 14.5833333333vw;
    bottom: 0;
  }
}
.p-hero__content {
  position: absolute;
  left: 5%;
  bottom: 15%;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  .p-hero__content {
    left: 8%;
    bottom: 15%;
  }
}
.p-hero__copy .l-display {
  width: -moz-fit-content;
  width: fit-content;
  white-space: nowrap;
  background: #fff;
  font-size: clamp(1.5rem, 1.324rem + 0.75vw, 2rem);
  padding: 0 0.25em;
  line-height: 1.5;
}
@media screen and (min-width: 1024px) {
  .p-hero__copy .l-display {
    letter-spacing: 0.1em;
  }
}
.p-hero__copy .l-display + .l-display {
  margin-top: 0.5em;
}
.p-hero__text {
  color: #fff;
  font-size: clamp(0.875rem, 0.787rem + 0.38vw, 1.125rem);
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .p-hero__text {
    letter-spacing: 0.1em;
  }
}
.p-hero__news {
  position: absolute;
  z-index: 1;
  bottom: 0;
  right: 0;
  background: #fff;
  border-radius: 78px 0 0 78px;
  padding: 1em 5% 1em 1.5em;
  width: 84.8%;
}
@media screen and (min-width: 1024px) {
  .p-hero__news {
    width: 45.2083333333%;
  }
}
.p-hero__news .-head {
  width: 16.5333333333vw;
  max-width: 164px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #b26462;
}
.p-hero__news h3 {
  font-size: clamp(1rem, 0.736rem + 1.13vw, 1.75rem);
  color: #b26462;
  font-family: var(--l-en-font-set);
}
.p-hero__news .-body {
  flex-grow: 1;
  padding-left: 1em;
}
@media screen and (min-width: 1024px) {
  .p-hero__news .-body {
    padding-left: 1.5em;
  }
}
.p-hero__news .-title {
  color: #707070;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-size: clamp(0.688rem, 0.577rem + 0.47vw, 1rem);
}
.p-hero__news .-date {
  color: #707070;
  letter-spacing: 0.05em;
  font-size: clamp(0.688rem, 0.577rem + 0.47vw, 1rem);
}

@keyframes heroZoomOut {
  0% {
    transform: scale(1.06);
  }
  100% {
    transform: scale(1);
  }
}
/*=============================
TOP
=============================*/
.p-top-about {
  position: relative;
  padding-bottom: 14.4vw;
}
@media screen and (min-width: 1024px) {
  .p-top-about {
    padding-bottom: 8.8888888889vw;
  }
}
.p-top-about .c-heading__en {
  font-size: clamp(1.375rem, 0.935rem + 1.88vw, 2.625rem);
}
.p-top-about .c-heading__ja {
  position: relative;
}
.p-top-about .c-heading__ja::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 1em;
  border-left: 1px solid var(--l-primary-text-color);
  height: clamp(1.625rem, 1.075rem + 2.35vw, 3.188rem);
}
.p-top-about .c-heading__ja::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 1em;
  border-left: 1px solid var(--l-primary-text-color);
  height: clamp(1.625rem, 1.075rem + 2.35vw, 3.188rem);
}
@media screen and (min-width: 1024px) {
  .p-top-about .c-heading__ja::after {
    bottom: 2em;
  }
}
.p-top-about__content {
  position: relative;
}
.p-top-about__copy {
  font-size: clamp(1.125rem, 0.861rem + 1.13vw, 1.875rem);
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.p-top-about__text {
  text-align: center;
  letter-spacing: 0.07em;
  line-height: 2.7;
}
@media screen and (min-width: 1024px) {
  .p-top-about__text {
    letter-spacing: 0.05em;
    line-height: 3.6;
  }
}
.p-top-about__map .-wrap {
  max-width: 864px;
  margin: 0 auto;
}
.p-top-about__map figure {
  margin-top: -3em;
}
.p-top-about__map h3 {
  font-size: clamp(1.5rem, 1.148rem + 1.5vw, 2.5rem);
  font-family: var(--l-en-font-set);
}
.p-top-about::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 305.0666666667vw;
  height: 358.6666666667vw;
  max-width: 1144px;
  max-height: 1345px;
  top: 9%;
  background: url("../img/top/bg_about-sp.png") center center/cover;
  opacity: 0.92;
}
@media screen and (min-width: 1024px) {
  .p-top-about::before {
    width: 142.1527777778vw;
    height: 132.9861111111vw;
    max-width: 1858px;
    max-height: 1894px;
    background: url("../img/top/bg_about.png") center center/cover;
  }
}
.p-top-about::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  left: 51%;
  top: 0;
  z-index: -1;
  background: url("../img/top/bg_about-dark-sp.svg") center center/cover;
  width: 119.7333333333vw;
  height: 398.1333333333vw;
  mix-blend-mode: multiply;
}
@media screen and (min-width: 1024px) {
  .p-top-about::after {
    background: url("../img/top/bg_about-dark.svg") center center/cover;
    width: 108.2638888889vw;
    height: 148.3759502419vw;
  }
}

.p-top-service {
  position: relative;
}
@media screen and (min-width: 1480px) {
  .p-top-service {
    padding-top: 5.5555555556vw;
  }
}
.p-top-service__copy {
  text-align: center;
  font-size: clamp(1.125rem, 0.861rem + 1.13vw, 1.875rem);
  letter-spacing: 0.05em;
  line-height: 1.66;
  font-weight: 500;
}
.p-top-service__section {
  border: 2px solid #fff;
  border-radius: 170px 170px 30px 30px;
  position: relative;
  z-index: 1;
  background: url("../img/top/bg_service01.jpg") center center/cover;
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .p-top-service__section {
    border-radius: 173px 0 0 173px;
  }
}
.p-top-service__section::before, .p-top-service__section::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 170px 170px 30px 30px;
}
@media screen and (min-width: 1024px) {
  .p-top-service__section::before, .p-top-service__section::after {
    border-radius: 173px 0 0 173px;
  }
}
.p-top-service__section::before {
  transition: transform 0.3s ease-in-out;
  opacity: 0.25;
  z-index: -1;
  background: url("../img/top/bg_service01.jpg") center center/cover;
}
.p-top-service__section::after {
  z-index: -2;
  background: rgb(255, 255, 255);
}
.p-top-service__section:nth-child(2)::before {
  background: url("../img/top/bg_service02.jpg") center center/cover;
}
.p-top-service__section:nth-child(3)::before {
  background: url("../img/top/bg_service03.jpg") center center/cover;
}
.p-top-service__section:has(.p-top-service__link:hover)::before {
  transform: scale(1.1);
}
.p-top-service__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 1024px) {
  .p-top-service__head {
    width: 38.0610412926%;
    flex-shrink: 0;
  }
}
.p-top-service__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: clamp(1.125rem, 0.993rem + 0.56vw, 1.5rem);
  font-weight: 500;
}
.p-top-service__body {
  background: rgba(255, 255, 255, 0.8);
  padding: 1em;
}
@media screen and (min-width: 1024px) {
  .p-top-service__body {
    padding: 3em;
    padding-right: 16%;
  }
}
.p-top-service__body p {
  font-size: clamp(0.875rem, 0.831rem + 0.19vw, 1rem);
  line-height: 2.28;
}
.p-top-service::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 91.2vw;
  height: 344.8vw;
  bottom: -25%;
  right: -7%;
  background: url("../img/top/bg_service-sp.svg") center center/cover;
  mix-blend-mode: multiply;
}
@media screen and (min-width: 1024px) {
  .p-top-service::before {
    top: auto;
    bottom: -80%;
    right: -15%;
    width: 80.0694444444vw;
    height: 205.4166666667vw;
    max-width: none;
    max-height: none;
    background: url("../img/top/bg_service.svg") center center/cover;
  }
}

.p-top-wrapper {
  position: relative;
}
.p-top-wrapper::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--l-dark-color);
  border-radius: 45.1388888889vw 0 0 0;
}

.p-top-equipment {
  position: relative;
}
.p-top-equipment__content {
  max-width: 893px;
  margin-inline: auto;
  position: relative;
}
.p-top-equipment__item {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 1280px) {
  .p-top-equipment__item {
    flex-direction: row;
    gap: 1em;
  }
}
.p-top-equipment__icon {
  flex-shrink: 0;
  width: clamp(4.875rem, 4.391rem + 2.07vw, 6.25rem);
}
.p-top-equipment__text {
  color: #fff;
  line-height: 1.4;
  margin-top: 0.25em;
  font-size: clamp(0.875rem, 0.721rem + 0.66vw, 1.313rem);
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-top-equipment__text {
    text-align: left;
  }
}
.p-top-equipment__text a {
  display: inline-block;
  text-decoration: underline;
}
.p-top-equipment::before {
  content: "";
  position: absolute;
  width: 80.8vw;
  height: 376.5333333333vw;
  top: -110%;
  left: -5%;
  background: url("../img/top/bg_equipment-sp.svg") center center/cover;
  mix-blend-mode: overlay;
}
@media screen and (min-width: 1024px) {
  .p-top-equipment::before {
    top: -180%;
    left: -10%;
    width: 86.5972222222vw;
    height: 206.7361111111vw;
    max-width: none;
    max-height: none;
    background: url("../img/top/bg_equipment.svg") center center/cover;
  }
}

.p-top-volunteer {
  position: relative;
}
.p-top-volunteer::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  width: 74.1333333333vw;
  height: 74.1333333333vw;
  max-width: 478px;
  max-height: 478px;
  border-radius: 50%;
  background: var(--l-accent-color);
  z-index: -1;
}
@media screen and (min-width: 1024px) {
  .p-top-volunteer::before {
    top: 8%;
    width: 33.1944444444vw;
    height: 33.1944444444vw;
  }
}

.p-top-instagram {
  position: relative;
}
.p-top-instagram::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 24.8vw;
  top: 100%;
  left: 0;
  background: url("../img/top/bg_instagram-sp.png") center center/cover;
}
@media screen and (min-width: 1024px) {
  .p-top-instagram::after {
    height: 14.6527777778vw;
    background: url("../img/top/bg_instagram.png") center center/cover;
  }
}
.p-top-instagram .-content {
  max-width: 812px;
  margin-inline: auto;
}
.p-top-instagram .l-grid__item {
  background: #e0e0e0;
  aspect-ratio: 136/152;
}
@supports not (aspect-ratio: 1/1) {
  .p-top-instagram .l-grid__item {
    position: relative;
    padding-top: 111.7647058824%;
  }
}
@media all and (-ms-high-contrast: none) {
  .p-top-instagram .l-grid__item {
    position: relative;
    padding-top: 111.7647058824%;
  }
}
.p-top-instagram .l-grid__item > img,
.p-top-instagram .l-grid__item > iframe {
  width: 100%;
  height: 100%;
}
@supports not (aspect-ratio: 1/1) {
  .p-top-instagram .l-grid__item > img,
  .p-top-instagram .l-grid__item > iframe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
}
@media all and (-ms-high-contrast: none) {
  .p-top-instagram .l-grid__item > img,
  .p-top-instagram .l-grid__item > iframe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
}
.p-top-instagram .l-grid__item > img {
  -o-object-fit: cover;
     object-fit: cover;
}/*# sourceMappingURL=top.css.map */