#wrapper {
  --font-zenkaku: "Zen Kaku Gothic New", sans-serif;
  --font-penletter: "vdl-penletter", sans-serif;
  padding-top: 0;
  font-family: var(--font-zenkaku);
  letter-spacing: 0.1em;
}

#mainvisual {
  display: flex;
  flex-direction: column;
  position: relative;
  padding-top: 5svh;
  padding-bottom: 18svh;
  height: 90svh;
  min-height: 55vw;
  &::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 2;
    height: 15svh;
    background: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 1) calc(100% * (5 / 15)),
      rgba(0, 0, 0, 0) 100%
    );
  }
  &::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: 5svh;
    left: 0;
    z-index: 2;
    height: 8svh;
    background-image: url(../../img/welcome/arrow.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }

  .logo {
    position: absolute;
    top: 5svh;
    right: 0;
    left: 0;
    z-index: 3;
    margin-right: auto;
    margin-left: auto;
    width: 24rem;
    @media screen and (max-width: 767px) {
      width: 18rem;
    }

    & img {
      width: 100%;
      filter: brightness(0) invert(1);
    }
  }

  .mv-content {
    display: flex;
    flex-direction: column-reverse;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    padding-top: 5%;
    padding-bottom: 8%;
    /* padding-left: 10%; */
    @media screen and (max-width: 767px) {
      padding-top: 10%;
      padding-bottom: 13%;
      /* padding-left: 5%; */
    }

    .copy {
      font-family: var(--font-penletter);
      font-size: 4.2rem;
      letter-spacing: 0.25em;
      line-height: 2em;
      @media screen and (max-width: 767px) {
        font-size: 2.6rem;
      }

      & span {
        padding-right: 0.5em;
        padding-left: 0.5em;
        background-color: #fff;
      }
    }

    .logo {
      width: 24rem;
      @media screen and (max-width: 767px) {
        width: 18rem;
      }

      & img {
        width: 100%;
        filter: brightness(0) invert(1);
      }
    }
  }

  .pht-wrapper {
    flex-grow: 1;
    width: 100%;
    &::before {
      content: "";
      display: block;
      position: absolute;
      top: -1px;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 2;
      background-color: rgba(0,0,0,0.3);
    }
    &::after {
      content: "";
      display: block;
      position: absolute;
      right: 0;
      bottom: -1px;
      left: 0;
      z-index: 2;
      height: 20svh;
      background: linear-gradient(
        to top,
        rgba(255, 253, 229, 1) 0,
        rgba(255, 253, 229, 0.8) 30%,
        rgba(255, 253, 229, 0) 100%
      );
    }

    .splide__list {
      width: 100% !important;
    }

    & img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }
  }

  .copy {
    position: relative;
    z-index: 1;
    margin-top: -5svh;
    font-family: var(--font-penletter);
    font-size: 4.2rem;
    letter-spacing: 0.25em;
    line-height: 2em;
    text-align: center;
    @media screen and (max-width: 767px) {
      font-size: 2.6rem;
    }

    .transform {
      display: inline-block;
      transform: translateX(0.5em);
    }

    /* & span {
      padding-right: 0.5em;
      padding-left: 0.5em;
      background-color: #fff;
    } */
  }
}

.inner {
  margin-right: auto;
  margin-left: auto;
  width: min(96rem, calc(100% - 6rem));
}

.section-title {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  .ja {
    font-family: var(--font-penletter);
    font-size: 2rem;
    letter-spacing: 0.2em;
    line-height: 2em;
  }
  .en {
    margin-left: 2rem;
    font-weight: 700;
    font-size: 2rem;
    letter-spacing: 0.1em;
    color: #ede1a3;
  }
}

#profile {
  /* padding-top: 5rem; */
  .inner {
    .text {
      margin-top: 2rem;
      font-weight: 400;
      font-size: 1.6rem;
      line-height: 180%;
      & p:first-child {
        margin-bottom: 1em;
        font-size: 2rem;
        line-height: 200%;
      }
      & p + p {
        margin-top: 0.5em;
      }
      .highlight {
        font-weight: 500;
        text-decoration: underline;
        text-decoration-color: #ede1a3;
        text-decoration-thickness: 0.8em;
        text-decoration-skip-ink: none;
        text-underline-offset: -0.4em;
      }
    }
  }
}

#music {
  padding-top: 5rem;
  .inner {
    .music-list {
      margin-top: 3rem;
      > li {
        display: flex;
        justify-content: space-between;
        align-items: center;
        @media screen and (max-width: 767px) {
          flex-direction: column;
          justify-content: flex-start;
          align-items: flex-start;
        }
        + li {
          margin-top: 2rem;
        }

        .info-area {
          display: flex;
          justify-content: flex-start;
          align-items: center;
          .jacket {
            margin-right: 3rem;
            width: 12rem;
            @media screen and (max-width: 767px) {
              margin-right: 1rem;
              width: 8rem;
            }
          }
          .text {
            .detail {
              font-family: var(--font-penletter);
              font-size: 1.6rem;
              letter-spacing: 0.1em;
              line-height: 150%;
            }
            .title {
              margin-top: 1rem;
              font-weight: 700;
              font-size: 1.6rem;
              color: var(--accent-color);
            }
          }
        }
        .play-area {
          margin-top: 1rem;
          @media screen and (max-width: 767px) {
            width: 100%;
          }
          & audio {
            width: 52rem;
            @media screen and (max-width: 767px) {
              width: 100%;
            }
          }
        }
      }
    }
    & iframe {
      display: block;
      margin-top: 3rem;
      margin-right: auto;
      margin-left: auto;
      width: min(calc(4rem * 16), 100%);
      height: min(calc(4rem * 9), calc((100vw - 6rem) / 16 * 9));
    }
  }
}

#next {
  padding-top: 8rem;
  .inner {
    .cv-list {
      display: flex;
      justify-content: space-between;
      align-items: stretch;
      margin-top: 3rem;
      @media screen and (max-width: 767px) {
        flex-direction: column;
        justify-content: flex-start;
      }
      > li {
        width: calc((100% - 2rem * 2) / 3);
        @media screen and (max-width: 767px) {
          width: 100%;
        }
        + li {
          margin-left: 2rem;
          @media screen and (max-width: 767px) {
            margin-top: 1rem;
            margin-left: 0;
          }
        }

        & a {
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
          position: relative;
          padding-top: 2rem;
          padding-right: 3rem;
          padding-bottom: 2rem;
          padding-left: 3rem;
          width: 100%;
          height: 100%;
          border-radius: 1.4rem;
          overflow: hidden;
          @media screen and (max-width: 767px) {
            /* flex-direction: row;
            justify-content: flex-start;
            align-items: center; */
            padding-right: 2rem;
            padding-left: 2rem;
          }
          &::after {
            content: "";
            display: block;
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            z-index: 1;
            background-color: rgba(0,0,0,0.5);
            backdrop-filter: blur(2px);
          }
          .bg {
            display: block;
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
          }
          .icon {
            display: flex;
            justify-content: center;
            align-items: center;
            position: relative;
            z-index: 2;
            width: 5rem;
            height: 5rem;
            background-color: #fff;
            border-radius: 50%;
            overflow: hidden;
            @media screen and (max-width: 767px) {
              flex-shrink: 0;
            }
            & img {
              width: 80%;
            }

            &.icon-x {
              & img {
                width: 40%;
              }
            }
            &.icon-hp {
              & img {
                width: 100%;
              }
            }
            &.icon-youtube {
              & img {
                width: 50%;
              }
            }
          }
          .text-area {
            position: relative;
            z-index: 2;
            margin-top: 1.6rem;
            color: #fff;
            text-align: center;
            @media screen and (max-width: 767px) {
              /* margin-top: 0;
              margin-right: 1rem;
              margin-left: 1rem;
              text-align: left; */
            }
            .title {
              font-weight: 500;
              font-size: 2rem;
              @media screen and (max-width: 767px) {
                /* font-size: 1.6rem; */
              }
            }
            .detail {
              margin-top: 0.6rem;
              font-weight: 400;
              font-size: 1.6rem;
              line-height: 180%;
              @media screen and (max-width: 767px) {
                /* font-size: 1.4rem; */
              }
              & br {
                @media screen and (max-width: 425px) {
                  /* display: none; */
                }
              }
            }
          }
          .button {
            display: flex;
            justify-content: center;
            align-items: center;
            position: relative;
            z-index: 2;
            margin-top: 2rem;
            margin-right: auto;
            margin-left: auto;
            padding-right: 2em;
            padding-left: 2em;
            height: 4.4rem;
            color: #fff;
            font-size: 1.6rem;
            border: solid 1px #fff;
            border-radius: 2.2rem;
            @media screen and (max-width: 767px) {
              /* flex-shrink: 0;
              margin-right: 0;
              margin-left: auto; */
              /* padding-right: 0;
              padding-left: 0;
              width: 4.4rem;
              height: 4.4rem; */
              /* font-size: 1.3rem; */
            }
          }
        }
      }
    }
  }
}