@charset "UTF-8";
/* ==========================================================================
  Home
========================================================================== */
.home .fvMedia {
  height: 105dvh;
}
.home .fvMedia__inner video,
.home .fvMedia__inner source,
.home .fvMedia__inner img {
  height: 105dvh;
}

.homeFv {
  position: relative;
  color: #fff;
}
.homeFv__inner {
  position: relative;
  width: 100%;
  max-width: 1440px;
  height: 100dvh;
  margin-inline: auto;
}
@media (900px <= width) {
  .homeFv__inner {
    max-width: 1440px;
  }
}
@keyframes fv-slide-in {
  from {
    opacity: 0;
    transform: translateY(100%);
  }
  to {
    opacity: 1;
    transform: translateY(-20%);
  }
}
.homeFv__contents {
  position: absolute;
  bottom: 0;
  animation: fv-slide-in 0.8s ease forwards;
}
@media (width < 900px) {
  .homeFv__contents {
    left: max(4.2666666667vw, 16px);
    width: max(91.4666666667vw, 343px);
  }
}
@media (900px <= width) {
  .homeFv__contents {
    left: min(7.6388888889vw, 110px);
  }
}
@keyframes fv-tagline-slide-in {
  from {
    opacity: 0;
    transform: translateY(-49%) scaleX(0);
  }
  to {
    opacity: 1;
    transform: translateY(-49%) scaleX(1);
  }
}
.homeFv__tagline {
  display: flex;
  flex-direction: column;
  gap: max(1.8666666667vw, 7px);
  align-items: flex-start;
  font-size: max(8.5333333333vw, 32px);
  font-weight: 700;
  color: #000;
}
.homeFv__tagline span {
  position: relative;
  z-index: 1;
  padding-inline: max(0.2666666667vw, 1px);
  font-feature-settings: "palt";
  line-height: 1.1;
}
.homeFv__tagline span::after {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 102%;
  content: "";
  background-color: #fff;
  opacity: 0;
  transform: translateY(-49%);
  transform-origin: left;
  animation: fv-tagline-slide-in 0.6s ease forwards;
  animation-delay: 1s;
}
@media (900px <= width) {
  .homeFv__tagline {
    gap: min(0.6944444444vw, 10px);
    padding-inline: min(0.0694444444vw, 1px);
    font-size: min(3.75vw, 54px);
  }
}
.homeFv__host {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-block: max(2.6666666667vw, 10px) max(3.2vw, 12px);
}
.homeFv__host dt {
  flex-shrink: 0;
  font-size: max(3.2vw, 12px);
  font-weight: 700;
}
.homeFv__host dt::after {
  content: "：";
}
.homeFv__host dd {
  height: max(6.6666666667vw, 25px);
  aspect-ratio: 187/38;
}
.homeFv__host dd img {
  display: block;
}
@media (900px <= width) {
  .homeFv__host {
    margin-block: min(0.8333333333vw, 12px) min(0.6944444444vw, 10px);
  }
  .homeFv__host dt {
    font-size: min(1.1111111111vw, 16px);
  }
  .homeFv__host dd {
    height: min(2.6388888889vw, 38px);
  }
}
.homeFv__cta {
  padding-block: 0 !important;
}
.homeFv__cta.cta__list {
  gap: max(4.2666666667vw, 16px);
}
@media (900px <= width) {
  .homeFv__cta.cta__inner {
    padding-bottom: min(0.5555555556vw, 8px);
  }
  .homeFv__cta.cta__list {
    gap: min(0.5555555556vw, 8px);
  }
  .homeFv__cta.cta__link {
    gap: min(1.1111111111vw, 16px);
    width: min(20.8333333333vw, 300px);
    height: min(3.6111111111vw, 52px);
    font-size: min(1.3888888889vw, 20px);
    border-radius: min(0.2083333333vw, 3px);
  }
}
.homeFv__note {
  margin-top: max(4vw, 15px);
  font-size: max(3.2vw, 12px);
  font-weight: 500;
  line-height: 1.33;
}
@media (900px <= width) {
  .homeFv__note {
    margin-top: min(0.4861111111vw, 7px);
    font-size: min(0.9722222222vw, 14px);
    line-height: 1.28;
  }
}

.homeFvCatch {
  position: absolute;
  top: max(19.4666666667vw, 73px);
  right: 0;
  display: block;
  width: fit-content;
  padding: max(0.2666666667vw, 1px) max(2.1333333333vw, 8px) max(1.8666666667vw, 7px) max(4.2666666667vw, 16px);
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  letter-spacing: -0.05em;
  background-color: #333;
  border-left: solid max(1.0666666667vw, 4px) #d39906;
}
@media (900px <= width) {
  .homeFvCatch {
    top: min(7.9861111111vw, 115px);
    padding: min(0.625vw, 9px) min(2.7777777778vw, 40px) min(0.6944444444vw, 10px) min(0.9722222222vw, 14px);
    border-width: min(0.3472222222vw, 5px);
  }
}
.homeFvCatch__title {
  font-size: max(3.4666666667vw, 13px);
  line-height: 1.92;
  color: #d39906;
}
@media (900px <= width) {
  .homeFvCatch__title {
    font-size: min(0.9722222222vw, 14px);
    line-height: 1.56;
  }
}
.homeFvCatch__text {
  font-size: max(3.2vw, 12px);
  line-height: 1.33;
  color: #fff;
}
@media (900px <= width) {
  .homeFvCatch__text {
    margin-top: min(0.2777777778vw, 4px);
    font-size: min(0.9722222222vw, 14px);
    line-height: 1.5;
  }
}

.concept__text {
  position: relative;
  z-index: 111;
  font-size: max(4.2666666667vw, 16px);
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media (900px <= width) {
  .concept__text {
    font-size: 1.25rem;
    line-height: 1.8;
  }
}
.concept__shape {
  position: absolute;
  right: 0;
  bottom: calc(-1 * max(21.3333333333vw, 80px));
  width: max(52vw, 195px);
}
@media (900px <= width) {
  .concept__shape {
    bottom: -5.25rem;
    width: 23.8125rem;
  }
}
.concept__shape.parallax-slide-to-left {
  opacity: 0;
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.concept__shape.parallax-slide-to-left.visible {
  opacity: 1;
}
@media (width < 900px) {
  .concept__shape.parallax-slide-to-left {
    transform: 0;
  }
  .concept__shape.parallax-slide-to-left.visible {
    transform: translateX(0);
  }
}
@media (900px <= width) {
  .concept__shape.parallax-slide-to-left {
    transform: translateX(0);
  }
  .concept__shape.parallax-slide-to-left.visible {
    transform: translateX(-6.75rem);
  }
}
@media (1440px <= width) {
  .concept__shape.parallax-slide-to-left {
    transform: translateX(0);
  }
  .concept__shape.parallax-slide-to-left.visible {
    transform: translateX(-23.8125rem);
  }
}

.details {
  padding-block: max(21.3333333333vw, 80px) max(10.6666666667vw, 40px);
}
@media (900px <= width) {
  .details {
    padding-block: 5rem;
  }
  .details .container {
    max-width: 1020px;
    padding-inline: 10px;
  }
}
.details__list {
  display: flex;
  flex-direction: column;
  gap: max(5.3333333333vw, 20px);
}
.details__list .detailsCard.--cxo .detailsCard__text {
  margin-bottom: 1em;
}
@media (900px <= width) {
  .details__list {
    flex-direction: row;
    gap: 0.625rem;
    justify-content: space-between;
    width: 100%;
  }
  .details__list > li {
    flex: 1;
    max-width: 30rem;
  }
  .details__list > li > a,
  .details__list > li .detailsCard {
    height: 100%;
  }
}
.details__note {
  margin-top: max(4.8vw, 18px);
  font-size: max(3.7333333333vw, 14px);
  font-weight: 500;
  line-height: 1.28;
}
@media (900px <= width) {
  .details__note {
    margin-top: 1.125rem;
    font-size: 0.875rem;
    text-align: center;
  }
}

.privacy {
  padding-block: max(10.6666666667vw, 40px);
  font-family: "Noto Serif JP", serif;
  font-size: max(3.4666666667vw, 13px);
  font-weight: 700;
  line-height: 1.46;
}
.privacy__title::before {
  content: "■";
}
.privacy__list {
  margin-bottom: 1em;
}
@media (900px <= width) {
  .privacy {
    padding-block: 5rem;
    font-size: 0.875rem;
    line-height: 1.35;
  }
}

.homeSponsor {
  padding-block: max(10.6666666667vw, 40px);
}
@media (900px <= width) {
  .homeSponsor {
    padding-block: 5rem;
  }
}

.flow {
  padding-block: max(10.6666666667vw, 40px);
}
.flow .container {
  display: flex;
  flex-direction: column;
  gap: max(6.4vw, 24px);
}
@media (900px <= width) {
  .flow {
    padding-block: 3.4375rem 3.8125rem;
  }
  .flow .container {
    flex-direction: row;
    gap: 0;
    align-items: stretch;
    justify-content: space-between;
  }
}
.flow__title {
  font-size: max(5.6vw, 21px);
  font-weight: 700;
}
.flow__title::before {
  content: "＊";
}
@media (900px <= width) {
  .flow__title {
    font-size: 1.5rem;
  }
}
@keyframes flow-line-grow {
  from {
    transform: scaleY(0);
  }
  to {
    transform: scaleY(1);
  }
}
.flow__list > li {
  position: relative;
  display: flex;
  align-items: center;
  padding-block: max(1.6vw, 6px) max(9.0666666667vw, 34px);
}
.flow__list > li::before {
  aspect-ratio: 1/1;
  content: "";
  background: center/contain no-repeat;
  filter: invert(89%) sepia(86%) saturate(0%) hue-rotate(257deg) brightness(102%) contrast(101%);
  display: inline-block;
  width: max(8.5333333333vw, 32px);
  background-image: url("../img/icon_check.svg");
}
.flow__list > li::after {
  position: absolute;
  bottom: 0;
  left: max(4.2666666667vw, 16px);
  width: max(0.2666666667vw, 1px);
  height: max(9.3333333333vw, 35px);
  content: "";
  background-color: currentcolor;
  transform: scaleY(0);
  transform-origin: top;
}
.flow.visible .flow__list > li::after {
  animation: flow-line-grow 0.5s ease forwards;
}
.flow.visible .flow__list > li:nth-child(1)::after {
  animation-delay: 0.3s;
}
.flow.visible .flow__list > li:nth-child(2)::after {
  animation-delay: 0.8s;
}
.flow.visible .flow__list > li:nth-child(3)::after {
  animation-delay: 1.3s;
}
.flow.visible .flow__list > li:nth-child(4)::after {
  animation-delay: 1.8s;
}
.flow.visible .flow__list > li:nth-child(5)::after {
  animation-delay: 2.3s;
}
@media (900px <= width) {
  .flow__list > li {
    padding-block: 0.375rem 2.125rem;
  }
  .flow__list > li::before {
    width: 2rem;
  }
  .flow__list > li::after {
    left: 1rem;
    width: 0.0625rem;
    height: 2.1875rem;
  }
}
@keyframes flow-slide-in {
  from {
    opacity: 0;
    transform: translateY(100%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.flow .cta {
  animation: flow-slide-in 0.8s ease forwards;
}
@media (width < 900px) {
  .flow .cta {
    padding-block: 0;
  }
}
@media (900px <= width) {
  .flow .cta__inner {
    justify-content: flex-end;
    height: 100%;
  }
}

.homeEligibility .eligibility {
  padding-block: 0;
}
@media (width < 900px) {
  .homeEligibility {
    padding-block: 0 max(7.4666666667vw, 28px);
  }
}
@media (900px <= width) {
  .homeEligibility {
    padding-block: 0 2.5rem;
  }
}

.homeNews {
  padding-block: max(10.6666666667vw, 40px);
}
@media (900px <= width) {
  .homeNews {
    padding-block: 5rem;
  }
}