@keyframes LoopTextPC {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-147.4rem);
  }
}
@keyframes LoopTextSP {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-73.7rem);
  }
}
@keyframes ArrowMove {
  0%, 100% {
    transform: translateX(0);
    opacity: 1;
  }
  49% {
    transform: translateX(0.8rem);
    opacity: 0;
  }
  50%, 51% {
    transform: translateX(-0.8rem);
    opacity: 0;
  }
}
.p-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 95rem;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .p-bg {
    height: 69.7rem;
  }
}
.p-bg::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 115%;
  background: url(../img/bg_sea.jpg) no-repeat center center/cover;
  transform: translate(-50%, -50%) scale(1.04);
  filter: blur(5px);
}
@media screen and (max-width: 750px) {
  .p-bg::before {
    height: 160%;
    transform: translate(-50%, -50%) scale(1.12);
  }
}
.is-loaded .p-bg::before {
  transform: translate(-50%, -50%);
  filter: blur(0);
  transition: transform 3s var(--ease-out-sine), filter 3s var(--ease-out-sine);
}
.p-bg::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 25rem;
  background: url(../img/bg_main-sea_grad.png) repeat-x left bottom/auto 100%;
}
@media screen and (max-width: 750px) {
  .p-bg::after {
    height: 6rem;
  }
}

.p-hero {
  z-index: 1;
}
.p-hero__inner {
  width: 89%;
  max-width: 116rem;
  margin: 0 auto;
  padding-top: 11rem;
  padding-bottom: 2rem;
}
@media screen and (max-width: 750px) {
  .p-hero__inner {
    padding-top: 5.5rem;
  }
}
.p-hero__title {
  width: 100%;
  max-width: 64rem;
  margin: 0 auto;
  transform: scale(1.05);
  filter: blur(5px);
  opacity: 0;
}
.is-loaded .p-hero__title {
  transform: scale(1);
  filter: blur(0);
  opacity: 1;
  transition: transform 1s var(--ease-out-cubic) 0.8s, filter 1s var(--ease-out-cubic) 0.8s, opacity 0.5s var(--ease-out-cubic) 0.8s;
}
.p-hero__lead {
  margin-top: 4.3rem;
  text-align: center;
  color: var(--color-white);
  font-size: 1.8rem;
  line-height: 1.8;
  letter-spacing: 0.1em;
  transform: translateY(0.8rem);
  filter: blur(5px);
  opacity: 0;
}
@media screen and (max-width: 750px) {
  .p-hero__lead {
    margin-top: 1.6rem;
    font-size: 1.5rem;
    line-height: 1.75;
  }
}
.is-loaded .p-hero__lead {
  transform: translateY(0);
  filter: blur(0);
  opacity: 1;
  transition: transform 1s var(--ease-out-cubic) 1.05s, filter 1s var(--ease-out-cubic) 1.05s, opacity 0.5s var(--ease-out-cubic) 1.05s;
}
.p-hero__catch {
  margin-top: 2.1rem;
  text-align: center;
  color: var(--color-white);
  font-size: 2.8rem;
  line-height: 1.4;
  transform: translateY(0.8rem);
  filter: blur(5px);
  opacity: 0;
}
@media screen and (max-width: 750px) {
  .p-hero__catch {
    margin-top: 2rem;
    font-size: 2.2rem;
  }
}
.is-loaded .p-hero__catch {
  transform: translateY(0);
  filter: blur(0);
  opacity: 1;
  transition: transform 1s var(--ease-out-cubic) 1.3s, filter 1s var(--ease-out-cubic) 1.3s, opacity 0.5s var(--ease-out-cubic) 1.3s;
}
.p-hero__nav {
  margin-top: 6rem;
  transform: translateY(0.8rem);
  filter: blur(5px);
  opacity: 0;
}
@media screen and (max-width: 750px) {
  .p-hero__nav {
    margin-top: 5rem;
  }
}
.is-loaded .p-hero__nav {
  transform: translateY(0);
  filter: blur(0);
  opacity: 1;
  transition: transform 1s var(--ease-out-cubic) 1.55s, filter 1s var(--ease-out-cubic) 1.55s, opacity 0.5s var(--ease-out-cubic) 1.55s;
}

.p-content {
  margin-top: -3rem;
}
@media screen and (max-width: 750px) {
  .p-content {
    margin-top: -15.9rem;
  }
}
.p-content__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-content__bg-inner {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: url(../img/bg.jpg) repeat-y top center/100% auto;
}
.p-content__deco {
  position: absolute;
  top: 11.2rem;
  left: 0;
  width: 100%;
  height: 6rem;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .p-content__deco {
    top: 18rem;
    height: 3rem;
  }
}
.p-content__deco::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 200%;
  min-width: 294.8rem;
  height: 100%;
  background: url(../img/doco_text.png) repeat-x left center/auto 100%;
}
@media screen and (min-width: 751px) {
  .is-loaded .p-content__deco::before {
    animation: LoopTextPC 60s linear infinite;
  }
}
@media screen and (max-width: 750px) {
  .is-loaded .p-content__deco::before {
    animation: LoopTextSP 60s linear infinite;
  }
}
.p-content__inner {
  padding-top: 27rem;
}
@media screen and (max-width: 750px) {
  .p-content__inner {
    padding-top: 25.7rem;
  }
}

.p-section__inner {
  display: flex;
  justify-content: stretch;
}
@media screen and (max-width: 750px) {
  .p-section__inner {
    display: block;
  }
}
.p-section__head {
  width: 42.8%;
  min-height: 100vh;
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media screen and (max-width: 750px) {
  .p-section__head {
    width: 100%;
    min-height: auto;
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
}
.p-section__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--bg);
}
.--soon .p-section__bg {
  background: none;
}
.p-section__bg-inner {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  -webkit-clip-path: inset(0);
  clip-path: inset(0);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  overflow: hidden;
  filter: blur(15px);
  mix-blend-mode: overlay;
}
@media screen and (max-width: 750px) {
  .p-section__bg-inner {
    height: 100%;
  }
}
.--soon .p-section__bg-inner {
  filter: none;
  mix-blend-mode: normal;
  background-image: url(../img/bg_comingsoon-bg.jpg);
}
.p-section__body {
  flex-basis: 0;
  flex-grow: 1;
  margin-left: 8.5%;
  margin-right: 8.5%;
  padding-top: 9.5rem;
  padding-bottom: 10rem;
  transform: translateX(1.2rem);
  filter: 8px;
  opacity: 0;
}
@media screen and (max-width: 750px) {
  .p-section__body {
    width: 90%;
    margin: 0 auto;
    padding-top: 4.9rem;
    padding-bottom: 11.7rem;
  }
}
.p-section.is-active .p-section__body {
  transform: translateX(0);
  filter: blur(0);
  opacity: 1;
  transition: transform 1s var(--ease-out-cubic) 0.4s, filter 1s var(--ease-out-cubic) 0.4s, opacity 0.5s var(--ease-out-cubic) 0.4s;
}
.p-section__thumbnail {
  position: -webkit-sticky;
  position: sticky;
  top: 6rem;
  left: 0;
  width: 79%;
  margin: 0 auto;
  transform: scale(1.04);
  filter: blur(6px);
  opacity: 0;
}
@media screen and (max-width: 750px) {
  .p-section__thumbnail {
    position: relative;
    top: 0;
    width: 82%;
  }
}
.p-section.is-active .p-section__thumbnail {
  transform: scale(1);
  filter: blur(0);
  opacity: 1;
  transition: transform 1s var(--ease-out-cubic), filter 1s var(--ease-out-cubic), opacity 0.5s var(--ease-out-cubic);
}
.p-section__thumbnail img {
  max-height: calc(100vh - 12rem);
  margin: 0 auto;
  box-shadow: var(--shadow);
}

.p-block {
  max-width: 60rem;
  margin: 0 auto;
}
.p-block__title {
  color: var(--color-blue);
  font-size: 4.7rem;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: 0.15em;
  width: 113.6%;
  transform: scaleX(0.88);
  transform-origin: left center;
}
@media screen and (max-width: 750px) {
  .p-block__title {
    font-size: 3.5rem;
    letter-spacing: 0.05em;
  }
}
.p-block__body {
  margin-top: 3.4rem;
}
@media screen and (max-width: 750px) {
  .p-block__body {
    margin-top: 2.2rem;
  }
}
.p-block__lead {
  font-size: 1.9rem;
}
@media screen and (max-width: 750px) {
  .p-block__lead {
    font-size: 1.6rem;
  }
}
.p-block__detail {
  margin-top: 5rem;
}
@media screen and (max-width: 750px) {
  .p-block__detail {
    margin-top: 2.4rem;
  }
}
.p-block__detail-item:nth-child(n+2) {
  margin-top: 5.9rem;
}
@media screen and (max-width: 750px) {
  .p-block__detail-item:nth-child(n+2) {
    margin-top: 3rem;
  }
}
.p-block__more {
  margin-top: 9.2rem;
}
@media screen and (max-width: 750px) {
  .p-block__more {
    margin-top: 7rem;
  }
}
.p-block__more-link {
  box-sizing: content-box;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  padding-right: 7rem;
  text-decoration: none;
  color: var(--color-blue);
  font-size: 1.6rem;
  letter-spacing: 0.11em;
}
@media screen and (max-width: 750px) {
  .p-block__more-link {
    padding-right: 6.9rem;
    font-size: 1.5rem;
  }
}
.p-block__more-link::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.2rem;
  right: 0.2rem;
  width: 6rem;
  height: 100%;
  background: url(../img/icon_arrow.svg) no-repeat center center/100% auto;
}
@media screen and (max-width: 750px) {
  .p-block__more-link::before {
    width: 6rem;
  }
}
@media (hover: hover) {
  .p-block__more-link:hover::before {
    animation: ArrowMove 1.2s var(--ease-out-cubic);
  }
}

.p-block__more-link-text {
  display: block;
  width: 113.6%;
  transform: scaleX(0.88);
  transform-origin: right center;
}

.p-detail__title {
  color: var(--color-blue);
  font-size: 2.8rem;
  line-height: 1.4;
  letter-spacing: 0.15em;
  width: 113.6%;
  transform: scaleX(0.88);
  transform-origin: left center;
}
@media screen and (max-width: 750px) {
  .p-detail__title {
    font-size: 2.4rem;
    letter-spacing: 0.02em;
  }
}
.p-detail__period {
  margin-top: 0.5rem;
  font-size: 2.1rem;
}
@media screen and (max-width: 750px) {
  .p-detail__period {
    margin-top: 0.1rem;
    font-size: 1.6rem;
  }
}
.p-detail__info {
  margin-top: 2.2rem;
}
@media screen and (max-width: 750px) {
  .p-detail__info {
    margin-top: 1.6rem;
  }
}
.p-detail__info-list {
  border-bottom: 1px solid var(--border);
}
.p-detail__lead {
  margin-top: 0.6rem;
  font-size: 1.9rem;
}
@media screen and (max-width: 750px) {
  .p-detail__lead {
    margin-top: 0.5rem;
    font-size: 1.6rem;
  }
}
.p-detail__text {
  font-size: 1.9rem;
  line-height: 1.86;
}
@media screen and (max-width: 750px) {
  .p-detail__text {
    font-size: 1.6rem;
    line-height: 1.9;
  }
}
.p-detail__text a {
  display: inline;
  vertical-align: baseline;
  color: var(--color-blue-sky);
  transition: opacity 0.6s var(--ease-out-cubic);
}
@media (hover: hover) {
  .p-detail__text a:hover {
    opacity: 0.5;
  }
}
.p-detail__notes {
  margin-top: 1rem;
}
@media screen and (max-width: 750px) {
  .p-detail__notes {
    margin-top: 0.8rem;
  }
}
.p-detail__notes-list-item {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 1.5rem;
  line-height: 1.86;
}
@media screen and (max-width: 750px) {
  .p-detail__notes-list-item {
    font-size: 1.2rem;
    line-height: 1.72;
  }
}

.p-detail_info {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  padding-top: 1.6rem;
  padding-bottom: 1.6rem;
  border-top: 1px solid var(--border);
}
@media screen and (max-width: 750px) {
  .p-detail_info {
    display: block;
    padding-top: 1.2rem;
    padding-bottom: 1.5rem;
  }
}
.p-detail_info__head {
  width: 11.8rem;
  padding-left: 0.2rem;
}
@media screen and (max-width: 750px) {
  .p-detail_info__head {
    width: 100%;
    padding-left: 0;
  }
}
.p-detail_info__label {
  color: var(--color-blue);
  font-size: 1.9rem;
  line-height: 1.86;
}
@media screen and (max-width: 750px) {
  .p-detail_info__label {
    margin-top: 0.1rem;
    font-size: 1.6rem;
    line-height: 2;
  }
}
.p-detail_info__body {
  flex-basis: 0;
  flex-grow: 1;
}
@media screen and (max-width: 750px) {
  .p-detail_info__body {
    margin-top: 0.1rem;
  }
}
.p-detail_info__text {
  font-size: 1.9rem;
  line-height: 1.86;
}
@media screen and (max-width: 750px) {
  .p-detail_info__text {
    font-size: 1.6rem;
    line-height: 1.9;
  }
}
.p-detail_info__text a {
  display: inline;
  vertical-align: baseline;
  color: var(--color-blue-sky);
  transition: opacity 0.6s var(--ease-out-cubic);
}
@media (hover: hover) {
  .p-detail_info__text a:hover {
    opacity: 0.5;
  }
}
.p-detail_info__text .p-in-more {
  display: inline-block;
  position: relative;
  box-sizing: content-box;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 2.2rem;
  vertical-align: baseline;
  cursor: pointer;
  transition: color 0.8s var(--ease-out-cubic);
}
@media screen and (max-width: 750px) {
  .p-detail_info__text .p-in-more {
    padding-right: 1.8rem;
  }
}
@media (hover: hover) {
  .p-detail_info__text .p-in-more:hover {
    color: var(--color-blue-sky);
  }
}
.p-detail_info__text .p-in-more::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 1.7rem;
  height: 100%;
  background: url(../img/icon_zoom.svg) no-repeat center center/100% auto;
}
@media screen and (max-width: 750px) {
  .p-detail_info__text .p-in-more::before {
    width: 1.3rem;
  }
}
.p-detail_info__list.--notes {
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
}
@media screen and (max-width: 750px) {
  .p-detail_info__list.--notes {
    padding-top: 0.1rem;
    padding-bottom: 0.3rem;
  }
}
.p-detail_info__list-item {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 1.9rem;
  line-height: 1.86;
}
@media screen and (max-width: 750px) {
  .p-detail_info__list-item {
    font-size: 1.4rem;
    line-height: 1.72;
  }
}
.--notes .p-detail_info__list-item {
  font-size: 1.5rem;
}
@media screen and (max-width: 750px) {
  .--notes .p-detail_info__list-item {
    font-size: 1.2rem;
  }
}

.p-official {
  position: fixed;
  bottom: 0.3rem;
  right: 0.7rem;
  z-index: 1;
  width: 20.8rem;
  opacity: 0;
}
@media screen and (max-width: 750px) {
  .p-official {
    right: 0.3rem;
    width: 10.5rem;
  }
}
.is-loaded .p-official {
  opacity: 1;
  transition: opacity 1s var(--ease-out-cubic) 1.8s;
}
.icon-none .p-official {
  pointer-events: none;
}
.p-official__link {
  width: 100%;
  transition: transform 0.8s var(--ease-out-cubic), opacity 0.8s var(--ease-out-cubic);
}
@media (hover: hover) {
  .p-official__link:hover {
    transform: scale(1.03);
  }
}
.icon-none .p-official__link {
  opacity: 0;
}
.p-official__link img {
  width: 100%;
}

.p-opening {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: url(../img/bg.jpg) repeat-y top center/100% auto;
  opacity: 0;
  transition: opacity 1s var(--ease-out-cubic), filter 1s var(--ease-out-cubic);
}
.on-load .p-opening {
  opacity: 1;
}
.is-loaded .p-opening {
  opacity: 0;
  filter: blur(5px);
  pointer-events: none;
}
.p-opening__title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  max-width: 80rem;
  -webkit-mask-image: linear-gradient(to right, #000 33.3333333333%, transparent 66.6666666667%);
  mask-image: linear-gradient(to right, #000 33.3333333333%, transparent 66.6666666667%);
  -webkit-mask-size: 300% 100%;
  mask-size: 300% 100%;
  -webkit-mask-position: 100% 0;
  mask-position: 100% 0;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
.on-load .p-opening__title {
  transition: -webkit-mask-position 2.4s var(--ease-out-cubic) 0.4s;
  transition: mask-position 2.4s var(--ease-out-cubic) 0.4s;
  transition: mask-position 2.4s var(--ease-out-cubic) 0.4s, -webkit-mask-position 2.4s var(--ease-out-cubic) 0.4s;
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
}