@charset "UTF-8";
.p-mainArea {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  max-width: 2000px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-mainArea {
    display: block;
    max-width: 100%;
  }
}
.p-mainArea__first {
  width: 62.5%;
}
@media screen and (max-width: 767px) {
  .p-mainArea__first {
    width: 100%;
  }
}
.p-mainArea__last {
  width: 37.5%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-mainArea__last {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p-mainArea__last-inner {
    position: -webkit-sticky;
    position: sticky;
    right: 0;
    top: 0;
  }
}

.p-kv__contents {
  position: relative;
}
.p-kv__copy {
  width: 8%;
  position: absolute;
  left: 1.6%;
  top: 1%;
}
@media screen and (max-width: 767px) {
  .p-kv__copy {
    width: 27.8%;
    left: 6.6%;
    top: 28.6%;
  }
}
.p-kv__logo {
  width: 100%;
  position: relative;
  padding-top: 59.5%;
}
@media screen and (max-width: 767px) {
  .p-kv__logo {
    position: absolute;
    left: 50%;
    top: 0;
    padding-top: 40%;
    transform: translate(-50%, 0%);
  }
}
.p-kv__logo-img {
  width: 111%;
  max-width: none;
  position: absolute;
  right: 1.5%;
  top: 11.4%;
}
@media screen and (max-width: 767px) {
  .p-kv__logo-img {
    width: 88%;
    right: auto;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
.p-kv__road {
  position: relative;
  padding-top: 24%;
}
@media screen and (max-width: 767px) {
  .p-kv__road {
    width: 89.5%;
    position: absolute;
    left: 50%;
    bottom: 12px;
    margin: 0 auto;
    padding-top: 11%;
    transform: translate(-50%, 0%);
  }
}
.p-kv__road-pict {
  width: 114.3%;
  max-width: none;
  padding-top: 13.6%;
  position: absolute;
  right: 0%;
  top: 0;
  background-color: rgba(101, 198, 231, 0.8);
}
@media screen and (max-width: 767px) {
  .p-kv__road-pict {
    width: 100%;
    right: auto;
    left: 50%;
    padding-top: 12.1%;
    transform: translate(-50%, 0%);
  }
}
.p-kv__road-pict-img {
  width: 94.5%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -35%);
}
@media screen and (max-width: 767px) {
  .p-kv__road-pict-img {
    width: 94.5%;
    transform: translate(-50%, -45%);
  }
}

.p-news {
  padding: 0 0;
}
.p-news__inner {
  padding: 0 0;
}
@media screen and (max-width: 767px) {
  .p-news__inner {
    padding: 0 0;
  }
}
.p-news__contents {
  padding-top: 32px;
}
@media screen and (max-width: 767px) {
  .p-news__contents {
    padding-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-news__news {
    margin: 41px auto 0;
  }
}
.p-news__news-list {
  overflow: hidden;
}
.p-news__news-list-item {
  width: 100%;
}
.p-news__news-list-item + .p-news__news-list-item {
  margin-top: 4px;
}
@media screen and (max-width: 767px) {
  .p-news__news-list-item + .p-news__news-list-item {
    margin-top: 5px;
  }
}
.p-news__news-list-item:nth-of-type(n + 4) {
  display: none;
}
.p-news__news-list-link {
  display: block;
  padding: 27px 36px 29px;
  background-color: #effaff;
  text-decoration: none;
  transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@media screen and (min-width: 768px) {
  .p-news__news-list-link:hover {
    transform: scale(1.02);
  }
  .p-news__news-list-link:hover .p-news__news-list-day {
    letter-spacing: 0.08em;
  }
  .p-news__news-list-link:hover .p-news__news-list-txt {
    letter-spacing: 0.012em;
  }
}
@media screen and (max-width: 767px) {
  .p-news__news-list-link {
    padding: 18px 20px 19px;
  }
}
.p-news__news-list-day {
  font-size: 14px;
  color: #65c6e7;
  letter-spacing: 0.04em;
  transition: letter-spacing 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@media screen and (max-width: 767px) {
  .p-news__news-list-day {
    font-size: 11px;
    letter-spacing: 0.08em;
  }
}
.p-news__news-list-txt {
  margin: 9px 0 0;
  font-size: 15px;
  color: #333333;
  line-height: 1.45;
  letter-spacing: -0.025em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
  transition: letter-spacing 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@media screen and (max-width: 767px) {
  .p-news__news-list-txt {
    margin-top: 4px;
    font-size: 12px;
  }
}
.p-news__news-more {
  font-family: "Cormorant", "Noto Serif JP", -apple-system, BlinkMacSystemFont, sans-serif;
  font-style: normal;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 10px 0 0 auto;
}
@media screen and (max-width: 767px) {
  .p-news__news-more {
    margin-top: 9px;
  }
}
.p-news__news-more-link {
  display: block;
  padding: 0px 41px 2px;
  color: #fff;
  font-size: 0px;
  text-decoration: none;
  background-color: #65c6e7;
  transform-origin: right center;
  transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@media screen and (min-width: 768px) {
  .p-news__news-more-link:hover {
    transform: scale(1.03);
  }
}
@media screen and (max-width: 767px) {
  .p-news__news-more-link {
    padding: 1px 20px 3px;
  }
}
.p-news__news-more-txt {
  font-size: 26px;
  font-weight: 400;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-news__news-more-txt {
    font-size: 21px;
    letter-spacing: 0.08em;
    line-height: 0.8;
  }
}
.p-news__links {
  width: 83.35%;
  margin: 75px auto 0;
}
@media screen and (max-width: 767px) {
  .p-news__links {
    margin-top: 47px;
  }
}
.p-news__links-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.p-news__links-inner > div {
  margin-bottom: 16px;
}
.p-news__links-fa {
  font-family: "Cormorant", "Noto Serif JP", -apple-system, BlinkMacSystemFont, sans-serif;
  font-style: normal;
  font-size: 35px;
  font-size: min(2.7vw, 35px);
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-news__links-fa {
    font-size: 28px;
    letter-spacing: 0.065em;
  }
}
.p-news__links-fa-link {
  display: block;
  color: #65c6e7;
  text-decoration: none;
  transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.p-news__links-sns {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 22px 0 40px;
  margin-left: min(3.1vw, 40px);
  margin-right: min(1.7vw, 22px);
}
@media screen and (max-width: 767px) {
  .p-news__links-sns {
    margin: 0 16px 0 32px;
  }
}
.p-news__links-sns-list {
  display: flex;
}
.p-news__links-sns-list-item {
  width: 36px;
  width: min(2.78vw, 36px);
}
@media screen and (max-width: 767px) {
  .p-news__links-sns-list-item {
    width: 28px;
  }
}
.p-news__links-sns-list-item + .p-news__links-sns-list-item {
  margin-left: 23px;
  margin-left: min(1.78vw, 23px);
}
@media screen and (max-width: 767px) {
  .p-news__links-sns-list-item + .p-news__links-sns-list-item {
    margin-left: 18px;
  }
}
.p-news__links-sns-list-link {
  display: block;
  transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@media screen and (min-width: 768px) {
  .p-news__links-sns-list-link:hover {
    transform: scale(1.1);
  }
}
.p-news__links-lit {
  font-family: "Cormorant", "Noto Serif JP", -apple-system, BlinkMacSystemFont, sans-serif;
  font-style: normal;
  font-style: italic;
  font-size: 46px;
  font-size: min(3.55vw, 46px);
  letter-spacing: 0.04em;
  line-height: 0.6;
  vertical-align: baseline;
}
@media screen and (max-width: 767px) {
  .p-news__links-lit {
    font-size: 36px;
  }
}
.p-news__links-lit-link {
  display: block;
  color: #777777;
  transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@media screen and (min-width: 768px) {
  .p-news__links-lit-link:hover {
    transform: scale(1.06);
  }
}
.p-main-banner {
  margin: 100px auto 0;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .p-main-banner {
    margin-top: 59px;
  }
}
.p-main-banner__inner {
  padding: 0;
}
.p-main-banner__contents {
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-main-banner__contents {
    width: 100%;
  }
}
.p-main-banner__banners {
  position: relative;
  padding-bottom: 21px;
  overflow: visible;
}
@media screen and (max-width: 767px) {
  .p-main-banner__banners {
    width: 80%;
    padding-bottom: 21px;
  }
}
.p-main-banner__banners-list {
  position: relative;
}
.p-main-banner__banners-list-link {
  display: block;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-main-banner__banners-list-link:hover .p-main-banner__banners-list-img {
    transform: scale(1.06);
  }
}
.p-main-banner__banners-list-img {
  display: block;
  transform-origin: center center;
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}
.p-main-banner__banners .swiper-pagination {
  bottom: 0;
}
.p-main-banner__banners .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin: 0 2px;
  border-radius: 0%;
}
@media screen and (max-width: 767px) {
  .p-main-banner__banners .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 1px;
  }
}
.p-main-banner__banners .swiper-pagination-bullet-active {
  background-color: #65c6e7;
  opacity: 1;
}
.p-main-banner__staybanners {
  position: relative;
  margin: 100px auto 0;
  padding-bottom: 21px;
}
@media screen and (max-width: 767px) {
  .p-main-banner__staybanners {
    margin: 50px auto 0;
    padding-bottom: 21px;
  }
}
.p-main-banner__staybanners-list {
  display: flex;
  justify-content: center;
  position: relative;
  margin: 0 auto;
}
.p-main-banner__staybanners-list-item {
  width: calc((100% - 40px) / 3);
  margin-left: 20px;
}
.p-main-banner__staybanners-list-item:nth-of-type(3n + 1) {
  margin-left: 0;
}
.p-main-banner__staybanners-list-link {
  display: block;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}
.p-main-banner__staybanners-list-link::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  border: 2px solid #ccc;
  z-index: 1;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .p-main-banner__staybanners-list-link::before {
    border: 1px solid #ccc;
  }
}
.p-main-banner__staybanners-list-link::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: linear-gradient(90deg, #34bce3, #5280c1);
  opacity: 0;
  transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1);
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-main-banner__staybanners-list-link:hover::after {
    opacity: 0.2;
  }
  .p-main-banner__staybanners-list-link:hover .p-main-banner__staybanners-list-img {
    transform: scale(1.06);
  }
}
.p-main-banner__staybanners-list-img {
  display: block;
  transform-origin: center center;
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}
.p-main-banner__staybanners .swiper-pagination {
  bottom: 0;
}
.p-main-banner__staybanners .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin: 0 2px;
  border-radius: 0%;
}
@media screen and (max-width: 767px) {
  .p-main-banner__staybanners .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 1px;
  }
}
.p-main-banner__staybanners .swiper-pagination-bullet-active {
  background-color: #65c6e7;
  opacity: 1;
}

.p-whale-banner {
  width: 190px;
  position: fixed;
  left: 21px;
  bottom: 21px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-whale-banner {
    width: 123px;
    left: 5px;
    bottom: 5px;
  }
}
.p-whale-banner__link {
  display: block;
  transform-origin: center center;
  transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.p-whale-banner__link:hover {
  transform: scale(1.04);
}
.p-movie {
  max-width: 2000px;
  margin: 0 auto;
}
.p-movie__inner {
  padding: 99px 0 0px;
}
@media screen and (max-width: 767px) {
  .p-movie__inner {
    padding: 109px 0 115px;
  }
}
.p-movie__deco-star {
  position: absolute;
}
@media screen and (max-width: 767px) {
  .p-movie__deco-star {
    width: 48%;
    right: 0;
    top: 0;
    bottom: auto;
  }
}
.p-movie__deco-star-contents {
  position: relative;
  padding-top: 62%;
  transition: top 1.2s cubic-bezier(0.22, 1, 0.36, 1), bottom 1.2s cubic-bezier(0.22, 1, 0.36, 1), background-position-y 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.p-movie__deco-star-pict {
  position: absolute;
}
.p-movie__deco-star-pict.--star-01 {
  width: 40%;
  right: 9%;
  top: 0;
}
.p-movie__deco-star-pict.--star-02 {
  width: 15%;
  right: 60%;
  bottom: 0%;
}
.p-movie__deco-star-pict.--star-03 {
  width: 10%;
  left: 17%;
  top: 35%;
}
.p-movie__deco-star-pict.--star-04 {
  width: 6%;
  left: 0%;
  bottom: 0%;
}
.p-movie__deco-star-pict-img {
  width: 100%;
  height: 100%;
  margin: 0 auto;
}
.p-movie__contents {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-movie__contents {
    width: 100%;
  }
}
.p-introduction {
  max-width: 1600px;
  padding: 0;
}
.p-introduction__inner {
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-introduction__inner {
    padding-top: 39px;
  }
}
.p-introduction__deco-bg {
  width: 45.2%;
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(0%, 23.8%);
}
@media screen and (max-width: 767px) {
  .p-introduction__deco-bg {
    width: 81.3%;
    transform: translate(0%, 0%);
  }
}
.p-introduction__deco-bg-pict {
  position: relative;
  padding-top: 86.5%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-introduction__deco-bg-pict {
    padding-top: 130%;
  }
}
.p-introduction__deco-bg-pict-img {
  width: 100%;
  height: 120%;
  position: absolute;
  left: 0;
  top: 0;
  background: center center no-repeat;
  background-size: cover;
  opacity: 0;
  transform: translate(0%, 20px);
}
[data-scroll-sa].is-active .p-introduction__deco-bg-pict-img {
  opacity: 1;
  transform: translate(0%, 0%);
}
.p-introduction__deco-star {
  width: 29.4%;
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(0%, -4.2%);
}
.p-introduction__deco-star-contents {
  position: relative;
  padding-top: 45%;
  transition: top 1.2s cubic-bezier(0.22, 1, 0.36, 1), bottom 1.2s cubic-bezier(0.22, 1, 0.36, 1), background-position-y 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.p-introduction__deco-star-pict {
  position: absolute;
}
.p-introduction__deco-star-pict.--star-01 {
  width: 40%;
  right: 9%;
  top: 0;
}
.p-introduction__deco-star-pict.--star-02 {
  width: 15%;
  right: 60%;
  bottom: 0%;
}
.p-introduction__deco-star-pict.--star-03 {
  width: 10%;
  left: 17%;
  top: 35%;
}
.p-introduction__deco-star-pict.--star-04 {
  width: 6%;
  left: 0%;
  bottom: 0%;
}
.p-introduction__deco-star-pict-img {
  width: 100%;
  height: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-introduction__title {
    position: absolute;
    left: 0;
    top: 0;
    transform: translate(0%, calc(-59% + 20px)) !important;
  }
  [data-scroll-sa].is-active .p-introduction__title {
    transform: translate(0%, calc(-59% + 0px)) !important;
    transition: opacity 1s 0.2s cubic-bezier(0.25, 1, 0.5, 1), transform 1s 0.2s cubic-bezier(0.25, 1, 0.5, 1);
  }
}
.p-introduction__title-txt {
  text-indent: -0.045em;
}
@media screen and (max-width: 767px) {
  .p-introduction__title-txt {
    font-size: 100px;
    text-indent: 0.015em;
    letter-spacing: 0.057em;
  }
}
.p-introduction__lead {
  width: 85%;
  margin: -2px auto 0;
}
@media screen and (max-width: 767px) {
  .p-introduction__lead {
    width: 90%;
    margin: 0 auto 0;
  }
}

.p-story {
  max-width: 1600px;
}
.p-story__deco-star {
  width: 29.4%;
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(0%, 77.2%);
}
@media screen and (max-width: 767px) {
  .p-story__deco-star {
    width: 48%;
    transform: translate(0%, 14.2%);
  }
}
.p-story__deco-star-contents {
  position: relative;
  padding-top: 60%;
  transition: top 1.2s cubic-bezier(0.22, 1, 0.36, 1), bottom 1.2s cubic-bezier(0.22, 1, 0.36, 1), background-position-y 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.p-story__deco-star-pict {
  position: absolute;
}
.p-story__deco-star-pict.--star-01 {
  width: 42%;
  left: 5%;
  bottom: 0;
}
.p-story__deco-star-pict.--star-02 {
  width: 10.5%;
  left: 49%;
  top: 9.5%;
}
.p-story__deco-star-pict.--star-03 {
  width: 15%;
  right: 27%;
  bottom: 40%;
}
.p-story__deco-star-pict.--star-04 {
  width: 6%;
  right: 8%;
  top: 1%;
}
.p-story__deco-star-pict-img {
  width: 100%;
  height: 100%;
  margin: 0 auto;
}
.p-story__title {
  text-align: right;
}
.p-story__lead {
  width: 85%;
  margin: 68px auto 0;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-story__lead {
    width: 90%;
    margin-top: 25px;
  }
}
.p-story__visual {
  width: 96.6%;
  margin: 70px -4.2% 0 auto;
}
@media screen and (max-width: 767px) {
  .p-story__visual {
    width: 100%;
    margin: 35px auto 0;
  }
}
.p-story__visual-pict {
  position: relative;
  padding-top: 35.1%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-story__visual-pict {
    padding-top: 53.4%;
  }
}
.p-story__visual-pict-img {
  width: 100%;
  padding-top: 140%;
  position: absolute;
  left: 0;
  top: 50%;
  background: center center no-repeat;
  background-size: 101%;
  transition: top 1.2s cubic-bezier(0.22, 1, 0.36, 1), bottom 1.2s cubic-bezier(0.22, 1, 0.36, 1), background-position-y 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  transform: translate(0%, -68%);
}
@media screen and (max-width: 767px) {
  .p-story__visual-pict-img {
    background: 70% 67% no-repeat;
    background-size: 124.5%;
  }
}

.p-staff-cast {
  overflow: visible;
}
.p-staff-cast__inner {
  padding-top: 111px;
  padding-bottom: 178px;
}
@media screen and (max-width: 767px) {
  .p-staff-cast__inner {
    padding-top: 73px;
    padding-bottom: 127px;
  }
}
.p-staff-cast__deco-star {
  width: 29.4%;
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(0%, -60%);
}
@media screen and (max-width: 767px) {
  .p-staff-cast__deco-star {
    width: 48%;
    right: 0;
    top: 0;
    bottom: auto;
    transform: translate(-3%, -30%);
  }
}
.p-staff-cast__deco-star-contents {
  position: relative;
  padding-top: 62%;
  transition: top 1.2s cubic-bezier(0.22, 1, 0.36, 1), bottom 1.2s cubic-bezier(0.22, 1, 0.36, 1), background-position-y 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.p-staff-cast__deco-star-pict {
  position: absolute;
}
.p-staff-cast__deco-star-pict.--star-01 {
  width: 40%;
  right: 9%;
  top: 0;
}
.p-staff-cast__deco-star-pict.--star-02 {
  width: 15%;
  right: 60%;
  bottom: 0%;
}
.p-staff-cast__deco-star-pict.--star-03 {
  width: 10%;
  left: 17%;
  top: 35%;
}
.p-staff-cast__deco-star-pict.--star-04 {
  width: 6%;
  left: 0%;
  bottom: 0%;
}
.p-staff-cast__deco-star-pict-img {
  width: 100%;
  height: 100%;
  margin: 0 auto;
}
.p-staff-cast__contents {
  max-width: 1200px;
}
.p-staff-cast__title {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-staff-cast__title-txt {
    font-size: 91px;
    font-size: min(24.27vw, 91px);
    text-indent: -0.02em;
    letter-spacing: -0.025em;
  }
}
.p-member {
  width: 85%;
  margin: 39px auto 0;
  position: relative;
  padding-bottom: 295px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-member {
    margin: 16px auto 0;
    padding-bottom: 0;
  }
}
.p-member__bg {
  width: 100%;
  max-width: 1010px;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0%);
}
.p-member__bg-pict {
  width: 100%;
  padding-top: 100%;
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  top: 80px;
  border-radius: 50%;
}
.p-member__bg-pict-img {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 50%;
  overflow: hidden;
  background: url(../img/common/bg.jpg) center center repeat-y;
  background-size: 100%;
}
.p-member__staff {
  position: relative;
}
.p-member__cast {
  position: relative;
  margin-top: 79px;
}
@media screen and (max-width: 767px) {
  .p-member__cast {
    margin-top: 33px;
  }
}
.p-member__head {
  position: relative;
}
.p-member__cap {
  font-family: "Cormorant", "Noto Serif JP", -apple-system, BlinkMacSystemFont, sans-serif;
  font-style: normal;
  text-align: center;
  font-size: 0;
}
.p-member__cap-txt {
  font-size: 80px;
  font-weight: 300;
  color: #65c6e7;
  letter-spacing: 0.065em;
}
@media screen and (max-width: 767px) {
  .p-member__cap-txt {
    font-size: 40px;
  }
}
.p-member__body {
  position: relative;
}
.p-member__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 40px auto 0;
}
@media screen and (max-width: 767px) {
  .p-member__list {
    margin-top: 18px;
  }
}
.p-member__list-item {
  width: 30%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-member__list-item {
    width: 50%;
  }
}
.p-member__list-item + .p-member__list-item {
  margin-top: 49px;
}
@media screen and (max-width: 767px) {
  .p-member__list-item + .p-member__list-item {
    margin-top: 24px;
  }
}
.p-member__list-item.--member-single {
  width: 100%;
  margin-top: 0;
}
.p-member__list-item.--member-three {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .p-member__list-item.--member-three {
    margin-top: 24px;
  }
}
.p-member__list-post {
  font-size: 20px;
  font-weight: 500;
  color: #65c6e7;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-member__list-post {
    font-size: 12px;
  }
}
.p-member__list-name {
  margin: 15px auto 0;
  font-size: 25px;
  font-weight: 500;
  letter-spacing: 0.015em;
}
@media screen and (max-width: 767px) {
  .p-member__list-name {
    margin-top: 10px;
    font-size: 16px;
  }
}
.p-member__list-name .--name-s {
  vertical-align: baseline;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .p-member__list-name .--name-s {
    font-size: 12px;
  }
}

.p-character {
  padding: 0 0;
  background-color: rgba(101, 198, 231, 0.2);
}
.p-character__inner {
  padding: 117px 0 60px;
}
@media screen and (max-width: 767px) {
  .p-character__inner {
    padding: 58px 0 36px;
  }
}
.p-character__deco-star {
  width: 52%;
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(-9%, -137%);
}
.p-character__deco-star-contents {
  position: relative;
  padding-top: 60%;
  transition: top 1.2s cubic-bezier(0.22, 1, 0.36, 1), bottom 1.2s cubic-bezier(0.22, 1, 0.36, 1), background-position-y 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.p-character__deco-star-pict {
  position: absolute;
}
.p-character__deco-star-pict.--star-01 {
  width: 42%;
  left: 5%;
  bottom: 0;
}
.p-character__deco-star-pict.--star-02 {
  width: 10.5%;
  left: 49%;
  top: 9.5%;
}
.p-character__deco-star-pict.--star-03 {
  width: 15%;
  right: 27%;
  bottom: 40%;
}
.p-character__deco-star-pict.--star-04 {
  width: 6%;
  right: 8%;
  top: 1%;
}
.p-character__deco-star-pict-img {
  width: 100%;
  height: 100%;
  margin: 0 auto;
}
.p-character__contents {
  max-width: 1200px;
}
.p-character__head {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -65%);
}
.p-character__title {
  width: 100%;
  text-align: center;
}
.p-characters {
  width: 81.36%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-characters {
    width: 87%;
  }
}
.p-characters__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.p-characters__list-item {
  width: 31.3%;
}
@media screen and (max-width: 767px) {
  .p-characters__list-item {
    width: 45.8%;
  }
  .p-characters__list-item:nth-of-type(1) {
    margin: 0 auto;
    margin: 0 27.1%;
  }
  .p-characters__list-item + .p-characters__list-item {
    margin-top: 21px;
  }
}
.p-characters__list a {
  display: block;
  transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@media screen and (min-width: 768px) {
  .p-characters__list a:hover {
    transform: translate(0, -6px) scale(1.02);
  }
}
.p-characters__more {
  font-family: "Cormorant", "Noto Serif JP", -apple-system, BlinkMacSystemFont, sans-serif;
  font-style: normal;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 49px auto 0;
  font-size: 0;
}
@media screen and (max-width: 767px) {
  .p-characters__more {
    margin-top: 24px;
  }
}
.p-characters__more-link {
  display: block;
  text-decoration: none;
  padding: 1px 55px 10px;
  background-color: #fff;
  transition: background-color 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@media screen and (min-width: 768px) {
  .p-characters__more-link:hover {
    background-color: #65c6e7;
    transform: scale(1.05);
  }
  .p-characters__more-link:hover .p-characters__more-txt {
    color: #fff;
  }
}
@media screen and (max-width: 767px) {
  .p-characters__more-link {
    padding: 1px 28px 5px;
  }
}
.p-characters__more-txt {
  font-size: 42px;
  color: #65c6e7;
  letter-spacing: 0.03em;
  line-height: 0.6;
  transition: color 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@media screen and (max-width: 767px) {
  .p-characters__more-txt {
    font-size: 20px;
  }
}

.p-music__inner {
  padding: 82px 0 0px;
}
@media screen and (max-width: 767px) {
  .p-music__inner {
    padding: 81px 0 0px;
  }
}
.p-music__deco-star {
  width: 29.4%;
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(0%, 77.2%);
}
.p-music__deco-star-contents {
  position: relative;
  padding-top: 60%;
  transition: top 1.2s cubic-bezier(0.22, 1, 0.36, 1), bottom 1.2s cubic-bezier(0.22, 1, 0.36, 1), background-position-y 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.p-music__deco-star-pict {
  position: absolute;
}
.p-music__deco-star-pict.--star-01 {
  width: 42%;
  left: 5%;
  bottom: 0;
}
.p-music__deco-star-pict.--star-02 {
  width: 10.5%;
  left: 49%;
  top: 9.5%;
}
.p-music__deco-star-pict.--star-03 {
  width: 15%;
  right: 27%;
  bottom: 40%;
}
.p-music__deco-star-pict.--star-04 {
  width: 6%;
  right: 8%;
  top: 1%;
}
.p-music__deco-star-pict-img {
  width: 100%;
  height: 100%;
  margin: 0 auto;
}
.p-music__title {
  text-align: center;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-music__title-txt {
    letter-spacing: 0.054em;
  }
}
.p-song {
  width: 54.2%;
  position: relative;
  margin: -109px auto 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-song {
    width: 89.2%;
    margin-top: -50px;
  }
}
.p-song__list-item {
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .p-song__list-item:hover .p-song__artist-txt::before {
    transform: translate(115%, -50%) scale(1.15);
  }
}
.p-song__cap {
  text-align: center;
}
.p-song__cap-txt.--size-s {
  font-size: 25px;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-song__cap-txt.--size-s {
    font-size: 17px;
  }
}
.p-song__cap-txt.--size-b {
  margin-top: 27px;
  font-size: 43px;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-song__cap-txt.--size-b {
    margin-top: 12px;
    font-size: 26px;
  }
}
.p-song__artist {
  margin: 24px auto 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-song__artist {
    margin-top: 11px;
  }
}
.p-song__artist-txt {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  margin: 0 auto;
  font-size: 20px;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-song__artist-txt {
    font-size: 12px;
    letter-spacing: 0.08em;
  }
}
.p-song__artist-txt::before {
  content: "";
  display: block;
  width: 36px;
  height: 36px;
  position: absolute;
  right: 0%;
  top: 50%;
  background: url(../img/top/song_mordal-icon.png) center center no-repeat;
  background-size: contain;
  transform: translate(115%, -50%);
  transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  z-index: 1;
}
.p-song__pict {
  margin: 53px auto 0;
}
@media screen and (max-width: 767px) {
  .p-song__pict {
    margin-top: 34px;
  }
}
.p-song__pict-img {
  display: block;
  margin: 0 auto;
}

.p-song__modal {
  width: 97%;
  margin: 0 auto;
  padding: 100px 0 100px;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-song__modal {
    width: 95%;
    padding: 70px 0 50px;
  }
}
.p-song__modal-title {
  color: #65c6e7;
  font-size: 0;
}
.p-song__modal-title-txt {
  font-size: 36px;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-song__modal-title-txt {
    font-size: 28px;
    letter-spacing: -0.14em;
  }
}
.p-song__modal-title-txt-eg {
  margin-left: -0.3em;
  font-family: "Cormorant", "Noto Serif JP", -apple-system, BlinkMacSystemFont, sans-serif;
  font-style: normal;
  font-size: 30px;
  letter-spacing: 0.015em;
  vertical-align: baseline;
}
@media screen and (max-width: 767px) {
  .p-song__modal-title-txt-eg {
    font-size: 28px;
    letter-spacing: 0.03em;
  }
}
.p-song__modal-topic {
  margin: 32px auto 0;
}
@media screen and (max-width: 767px) {
  .p-song__modal-topic {
    margin-top: 37px;
  }
}
.p-song__modal-topic + .p-song__modal-topic {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .p-song__modal-topic + .p-song__modal-topic {
    margin-top: 34px;
  }
}
.p-song__modal-topic-cap {
  font-family: "Cormorant", "Noto Serif JP", -apple-system, BlinkMacSystemFont, sans-serif;
  font-style: normal;
  font-size: 0;
  color: #65c6e7;
}
.p-song__modal-topic-cap-txt {
  font-size: 34px;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-song__modal-topic-cap-txt {
    font-size: 28px;
  }
}
.p-song__modal-topic-detail {
  margin: 23px auto 0;
}
.p-song__modal-topic-detail-txt {
  font-size: 16px;
  letter-spacing: 0.01em;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-song__modal-topic-detail-txt {
    font-size: 12.5px;
    letter-spacing: 0.01em;
    line-height: 1.68;
  }
}

.m-modal {
  font-family: YakuHanMP, "Noto Serif JP", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ 明朝", "ＭＳ Ｐ明朝", serif;
}
.m-modal .m-modal__content {
  margin: 0 auto;
}

.m-modal__bg {
  background-color: #fff !important;
}

.m-modal__close-btn {
  position: absolute;
  right: 0 !important;
  top: 0 !important;
}
@media screen and (max-width: 767px) {
  .m-modal__close-btn {
    width: 40px !important;
    height: 40px !important;
    right: 8px !important;
    top: 6px !important;
  }
}
.m-modal__close-btn::before, .m-modal__close-btn::after {
  width: 2px !important;
  background-color: #65c6e7 !important;
}
@media screen and (max-width: 767px) {
  .m-modal__close-btn::before, .m-modal__close-btn::after {
    width: 1px !important;
    height: 40px !important;
  }
}

.p-op {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  background-color: #fff;
  z-index: 1;
  opacity: 1;
  pointer-events: all;
  transition: opacity 1.5s 4.5s cubic-bezier(0.34, 1.56, 0.64, 1);
  z-index: 10;
}
.js-load .p-op {
  opacity: 0;
  pointer-events: none;
}
.is-op-skip .p-op {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0s 0s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.p-op__inner {
  width: 100%;
  height: 100%;
}
.p-op__contents {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 2000px) {
  .p-op__contents {
    display: flex;
  }
}
.p-op__pict {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  opacity: 0;
  transition: opacity 1.5s 3s cubic-bezier(0.34, 1.56, 0.64, 1);
  overflow: hidden;
}
.js-load .p-op__pict {
  opacity: 1;
}
@media screen and (min-width: 2000px) {
  .p-op__pict {
    width: 55%;
  }
}
.p-op__pict-img {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: url(../img/top/hero_main.jpg) center center no-repeat;
  background-size: cover;
  transform: scale(1.05);
  transition: transform 1.2s 3s cubic-bezier(0.16, 1, 0.3, 1);
}
.js-load .p-op__pict-img {
  transform: scale(1);
}
.p-op__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -170%);
  opacity: 0;
  transition: opacity 1.5s 3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.js-load .p-op__title {
  opacity: 1;
}
@media screen and (min-width: 2000px) {
  .p-op__title {
    width: 45%;
    height: 100%;
    position: absolute;
    left: auto;
    right: 0;
    top: 0;
    transform: translate(0%, 0%);
  }
}
.p-op__title-logo {
  width: clamp(250px, 55vw, 800px);
}
@media screen and (min-width: 2000px) {
  .p-op__title-logo {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
.p-op__title-logo-img {
  display: block;
  transform: scale(0.95);
  transition: transform 1.2s 3s cubic-bezier(0.16, 1, 0.3, 1);
}
.js-load .p-op__title-logo-img {
  transform: scale(1);
}
.p-op__txt {
  width: clamp(250px, 31%, 420px);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 1.5s 3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.js-load .p-op__txt {
  opacity: 0;
}
.p-op__txt-img {
  display: block;
  opacity: 0;
  transition: opacity 1.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.p-op__txt-img.--op-catch--2 {
  position: absolute;
  left: 0;
  top: 0;
  transition-delay: 1s;
}
.p-op__txt-img.--op-catch--3 {
  position: absolute;
  left: 0;
  top: 0;
  transition-delay: 2s;
}
.js-load .p-op__txt-img {
  opacity: 1;
}