.index {
  color: var(--c-white);
}
.index__contents {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  padding-top: 25rem;
}
.index__contents-item {
  position: relative;
}
.index__sticky {
  width: 40rem;
  position: sticky;
  top: 12rem;
  z-index: 1;
}
.index__sticky .index__links-list-item-link {
  padding: 2.6rem 3rem;
}
.index__catch {
  font-size: 5rem;
  line-height: 1.3;
}
.index__introduction .fz-text-ja-large {
  font-size: 2rem;
}
.index__text-link {
  display: block;
  color: var(--c-white);
  width: 16rem;
  padding: 0.2rem 0.8rem;
  box-sizing: border-box;

  position: relative;
}
.index__text-link::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  background: var(--c-white);
  height: 1px;
  width: 100%;
  transform: scaleX(1);
  transform-origin: left;
  transition: transform 950ms var(--transition-easeOutExpo);
  z-index: 1;
}
.index__text-link--inner {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  z-index: 1; /* 追加：塗り層の上にテキスト等を出す */
}
.btn__arrow--index {
  position: relative;
  width: 2.4rem;
  height: 2.4rem;
}
.index__2column {
  display: flex;
  align-items: flex-start;
  gap: 3rem;
  justify-content: space-between;
  box-sizing: border-box;
  padding: var(--p-30);
  opacity: 1;
  transition: opacity 750ms var(--transition-easeOutExpo);
}
.index__2column-items {
  position: relative;
  z-index: 0;
}
.index__2column-item {
  border-top: 1px solid var(--c-white);
  margin-inline: -3rem;
}
.index__2column-content {
  width: 49rem;
  flex-shrink: 0;
}
.index__2column-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
.index__2column-img {
  width: 58rem;
  height: auto;
  object-fit: cover;
}
.index__links-list-item {
  box-sizing: border-box;
}
.index__links-list-item-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-inline: -3rem;
  padding: var(--p-30);
  border-top: 1px solid var(--c-white);
  position: relative;
  z-index: 0;
  transition: color 750ms var(--transition-easeOutExpo);
}
.index__links-list-item-link::after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 750ms var(--transition-easeOutExpo);
  background-color: var(--c-white);
}
.index__links-list-item:last-child .index__links-list-item-link {
  border-bottom: 1px solid var(--c-white);
}
/* .index__links-list-item-link-maintext {
  font-size: 2.2rem;
} */
.index__links-list-item-link-subtext {
  margin-top: 1rem;
}
.index__links-list-item-link .btn__arrow {
  top: 50%;
  right: 3rem;
  transform: translateY(-50%);
}
@media (min-width: 768px) {
  .index__text-link:hover::after {
    transform-origin: right;
    transform: scaleX(0);
  }
  .btn__hover:hover .btn__arrow-img {
    transform: scale(0);
  }
  .btn__hover:hover .btn__arrow-img--hover {
    transform: scale(1);
  }
  .index__links-list-item-link:hover {
    color: var(--c-black);
  }
  .index__links-list-item-link:hover::after {
    transform-origin: top;
    transform: scaleY(1);
  }
  .index__2column:hover {
    opacity: 0.6;
  }
}
@media (max-width: 767px) {
  .index__contents {
    padding-top: 20rem;
  }
  .index__catch {
    font-size: 3.5rem;
  }
  .index__introduction .fz-text-ja-large {
    /* white-space: nowrap; */
    font-size: 1.6rem;
  }
  .index__2column {
    flex-direction: column-reverse;
    padding: var(--p-30) 2rem;
  }
  .index__2column-item {
    margin-inline: 0;
  }
  .index__2column-content {
    width: 100%;
  }
  .index__2column-img {
    width: 100%;
  }
  .index__text-link .btn__arrow {
    width: 2.4rem;
    height: 2.4rem;
  }
  .index__2column-item .btn__arrow {
    width: 3rem;
    height: 3rem;
  }
  .index__links-list-item-link {
    margin-inline: 0;
    padding: var(--p-30) 2rem;
  }
  /* .index__links-list-item-link-maintext {
    font-size: 1.8rem;
  } */
  .index__links-list-item-link-subtext {
    font-size: 1.4rem;
  }
  .index__links-list-item-link .btn__arrow {
    right: 2rem;
    width: 3rem;
    height: 3rem;
  }
}


.load h1 {
  opacity: 0;
  filter: blur(20px);
  transition:
    opacity 1400ms var(--transition-easeOutExpo),
    filter 1400ms var(--transition-easeOutExpo);
}
.load.is-loaded h1 {
  opacity: 1;
  filter: blur(0);
}
.load p {
  opacity: 0;
  filter: blur(5px);
  transition:
    opacity 1800ms 500ms var(--transition-easeOutExpo),
    filter 1800ms 500ms var(--transition-easeOutExpo);
}
.load.is-loaded p {
  opacity: 1;
  filter: blur(0);
}
/* .load.index__links-list-item-link span {
  opacity: 0;
  transition:
    opacity 1900ms 500ms var(--transition-easeOutExpo)
}
.load.is-loaded.index__links-list-item-link span {
  opacity: 1;
} */