/* ==========================================================================
  Project / LP 20251218
========================================================================== */
.p-home .p-section {
  padding-block: max(12.2133333333vw, 45.8px);
}
.p-home .p-section__title--sub {
  text-transform: none;
}
@media (928px <= width) {
  .p-home .p-section {
    padding-block: 3rem;
  }
}
.p-home .p-section__text {
  letter-spacing: 0.06em;
}

.p-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
@media (width < 928px) {
  .p-hero {
    aspect-ratio: 786/686;
  }
}
@media (928px <= width) {
  .p-hero {
    height: calc(100dvh - 4.5rem);
  }
}
.p-hero__inner {
  z-index: 1;
  color: #fff;
}
@media (928px <= width) {
  .p-hero__inner {
    width: min(100vw, 928px);
  }
}
.p-hero__title {
  width: max(85.3333333333vw, 320px);
}
@media (928px <= width) {
  .p-hero__title {
    width: min(86.3146551724vw, 801px);
  }
}
.p-hero__video {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 0;
  min-width: 100%;
  height: 100%;
  transform: translateX(-50%);
}
.p-hero__video .c-embed {
  min-width: 100%;
  min-height: 100%;
}
.p-hero__eventLink__wrap {
  position: fixed;
}
@media (928px <= width) {
  .p-hero__eventLink__wrap {
    right: min(5.1724137931vw, 48px);
    bottom: min(3.2327586207vw, 30px);
  }
}
.p-hero__eventLink {
  display: block;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  background: #4A4A4A;
  border-radius: 100vmax;
}
.p-hero__eventLink:hover, .p-hero__eventLink:focus {
  background: linear-gradient(180deg, #2B8EFF 0%, #FF0019 100%);
}
@media (928px <= width) {
  .p-hero__eventLink {
    width: min(17.2413793103vw, 160px);
  }
  .p-hero__eventLink span {
    width: min(13.4698275862vw, 125px);
    filter: drop-shadow(0 min(0.2155172414vw, 2px) min(0.8620689655vw, 8px) rgba(0, 0, 0, 0.5));
  }
}

@media (width < 928px) {
  .p-eventBanner {
    margin-block: max(-0.2666666667vw, -1px) max(-0.5333333333vw, -2px);
  }
}
@media (928px <= width) {
  .p-eventBanner {
    padding-block: 1.5rem;
  }
}

.p-prevScroll span {
  display: block;
  width: 100%;
  height: max(48vw, 180px);
  background-image: url("../img/previous_scroll.webp");
  background-repeat: repeat-x;
  background-size: auto 100%;
  animation: prev-scroll-sp 60s infinite linear;
}
@media (928px <= width) {
  .p-prevScroll span {
    height: 17.5rem;
    animation: prev-scroll-pc 60s infinite linear;
  }
}
@keyframes prev-scroll-sp {
  from {
    background-position-x: 0;
  }
  to {
    background-position-x: max(-209.0666666667vw, -784px);
  }
}
@keyframes prev-scroll-pc {
  from {
    background-position-x: 0;
  }
  to {
    background-position-x: max(-492.8vw, -1848px);
  }
}
.p-prevScroll__note {
  margin-block: max(2.1333333333vw, 8px);
  font-size: max(2.6666666667vw, 10px);
  line-height: 2;
  text-align: center;
  letter-spacing: 0.03em;
}
@media (928px <= width) {
  .p-prevScroll__note {
    margin-block: 0.5rem;
    font-size: 0.6875rem;
  }
}

.p-homeArchive {
  background: #ECECEC;
}
.p-homeArchive__note {
  font-size: max(3.0533333333vw, 11.45px);
  font-weight: 400;
  line-height: 1.4;
  text-align: right;
}
@media (928px <= width) {
  .p-homeArchive__note {
    font-size: 0.875rem;
  }
}

.p-homeFaq {
  background: #EFF4FF;
}

.p-faq__list {
  display: flex;
  flex-direction: column;
  gap: max(3.0533333333vw, 11.45px);
}
@media (928px <= width) {
  .p-faq__list {
    gap: 0.75rem;
  }
}
.p-faq__item {
  background: #fff;
  overflow: hidden;
  border-radius: max(1.0186666667vw, 3.82px);
  box-shadow: 0 max(1.0186666667vw, 3.82px) max(2.0346666667vw, 7.63px) max(0.2533333333vw, 0.95px) rgba(0, 0, 0, 0.25);
}
@media (928px <= width) {
  .p-faq__item {
    border-radius: 0.25rem;
  }
}
@media (928px <= width) {
  .p-faq__item {
    box-shadow: 0 0.25rem 0.5rem 0.0625rem rgba(0, 0, 0, 0.25);
  }
}
.p-faq__q, .p-faq__a {
  display: flex;
  gap: max(2.6666666667vw, 10px);
  justify-content: space-between;
  line-height: 1.4;
}
.p-faq__q::before, .p-faq__a::before {
  width: max(4.5813333333vw, 17.18px);
  font-size: max(4.5813333333vw, 17.18px) !important;
  font-weight: 900;
  color: #1E4FB1;
  text-align: center;
}
@media (928px <= width) {
  .p-faq__q, .p-faq__a {
    gap: 0.625rem;
  }
  .p-faq__q::before, .p-faq__a::before {
    width: 1.375rem;
    font-size: 1.125rem !important;
  }
}
.p-faq__q {
  align-items: center;
  width: 100%;
  padding: max(3.3066666667vw, 12.4px) max(4.072vw, 15.27px) max(2.544vw, 9.54px);
  font-size: max(4.5813333333vw, 17.18px);
  font-weight: 700;
  line-height: 1.2;
  color: #1E4FB1;
  cursor: pointer;
}
.p-faq__q::before {
  content: "Q.";
}
.p-faq__q::after {
  aspect-ratio: 1/1;
  content: "";
  background: center/contain no-repeat;
  width: 1em;
  background-image: url("../img/icon_chevron-d.svg");
}
.p-faq__q span {
  flex: 1;
}
@media (928px <= width) {
  .p-faq__q {
    padding: 0.8125rem 1.5rem 0.625rem;
    font-size: 1.125rem;
  }
  .p-faq__q::after {
    width: 1.125rem;
  }
}
.p-faq__a {
  position: relative;
  align-items: center;
  padding: max(2.544vw, 9.54px) max(4.072vw, 15.27px) max(3.3066666667vw, 12.4px);
  font-size: max(4.072vw, 15.27px);
  font-weight: 400;
  line-height: 1.5;
}
.p-faq__a::before {
  content: "A.";
}
.p-faq__a::after {
  position: absolute;
  top: 0;
  right: 0;
  height: max(0.2666666667vw, 1px);
  content: "";
  background: #DADADA;
}
@media (928px <= width) {
  .p-faq__a {
    padding: 0.625rem 1.5rem 0.8125rem;
    font-size: 1rem;
  }
  .p-faq__a::after {
    width: calc(100% - 1.5rem);
    height: 0.0625rem;
  }
}
.p-faq__a__body {
  flex: 1;
}
.p-faq__a__body p {
  line-height: 1.4;
}
.p-faq__item.is-open .p-faq__q::after {
  background-image: url("../img/icon_chevron-u.svg");
}
.p-faq .accordion__panel[aria-hidden=true] .p-faq__a {
  padding-block: 0;
}

.p-cta {
  color: #fff;
  background: #777;
}
.p-cta .l-container__inner {
  display: flex;
  flex-direction: column;
  gap: max(3.7333333333vw, 14px);
  align-items: center;
  padding-block: max(10.6666666667vw, 40px);
}
@media (928px <= width) {
  .p-cta .l-container__inner {
    flex-direction: row;
    gap: 3.5rem;
    justify-content: center;
    padding-block: 2.5rem;
  }
}
.p-cta .c-cta__list {
  padding-block: 0;
}
.p-cta__catch {
  font-size: max(5.3333333333vw, 20px);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
@media (928px <= width) {
  .p-cta__catch {
    font-size: 1.5rem;
  }
}

.p-lp #ctaArea {
  display: flex;
  flex-direction: column;
}