@charset "UTF-8";

/**
 * artist
 */
.main-artist {

  section {
    margin-bottom: 6.4rem;
  }
  p {
    margin: 0 auto;
    padding: 0;
  }

  /* メイン画像・名前など */
  .section-mainimage {
    position: relative;

    article {
      position: relative;

      /* 黒グラデーション */
      &::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
          to top,
          rgba(0, 0, 0, 0.85) 0%,
          rgba(0, 0, 0, 0.55) 30%,
          rgba(0, 0, 0, 0.15) 60%,
          rgba(0, 0, 0, 0) 80%
        );
        pointer-events: none;
        z-index: 1;
      }

    }

    /* アーティスト名・都道府県などwrap */
    .name-area-wrap {
      position: absolute;
      left: clamp(16px, -0.901px + 4.507vw, 64px);
      bottom: 24px;
      z-index: 10;
      color: var(--color-white);
      font-family: "Oswald", "Noto Sans JP", sans-serif;
    }
    /* INTERVIEW */
    .interview-title {
      font-size: clamp(10px, 7.887px + 0.563vw, 16px);
    }
    /* アーティスト名 */
    .artist-name {
      margin: 0 auto;
      font-size: clamp(32px, 17.915px + 3.756vw, 72px);
      font-weight: 700;
    }
    /* 都道府県 */
    .area {
      font-size: clamp(12px, 7.775px + 1.127vw, 24px);
      font-weight: 300;
    }
    /* キャッチコピー */
    .catchphrase {
      font-size: clamp(11px, 7.479px + 0.939vw, 21px);
    }
  }

  /* プロフィール */
  .section-profile {
    .profile-content {
      margin-bottom: 1.6rem;
      line-height: 1.8;
      letter-spacing: 0.04rem;
    }
  }

  /* インタビュー */
  .survey-questions {
    font-family: "Oswald", "Noto Sans JP", sans-serif;
    dl {
      margin: 0 auto 3.2rem auto;
      padding: 0;
      font-size: clamp(14px, 12.592px + 0.376vw, 18px);
    }
    dt {
      margin: 0 auto 0.4rem auto;
      padding: 0;
      font-weight: 500;
    }
    dd {
      margin: 0 auto;
      padding: 0 0 0 1.6rem;
      font-weight: 300;
      line-height: 1.8;
      letter-spacing: 0.04rem;
      p {
        margin: 0 auto 1.2rem 0;
        padding: 0;
      }
    }
  }

  /* LOCAL GUIDE */
  .section-localguide {
    .localguide-wrap {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1.6rem;
    }
    dl, dt, dd {
      margin: 0 auto;
      padding: 0;
    }
    figure {
      position: relative;
      margin: 0 auto 0.8rem auto;
      /* 黒グラデーション */
      &::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
          to top,
          rgba(0, 0, 0, 0.85) 0%,
          rgba(0, 0, 0, 0.55) 8%,
          rgba(0, 0, 0, 0.15) 24%,
          rgba(0, 0, 0, 0) 48%
        );
        pointer-events: none;
        z-index: 1;
      }
    }
    img {
      width: 100%;
      aspect-ratio:  1 / 1.16;
      object-fit: cover;
    }
    .localguide-title {
      position: absolute;
      bottom: 0.8rem;
      right: 0.8rem;
      color: var(--color-white);
      font-size: clamp(16px, 13.183px + 0.751vw, 24px);
      font-weight: 500;
      z-index: 10;
      @media screen and (min-width:768px) {
        right: 1.6rem;
      }
    }
  }

  /* MUSIC */
  .section-music {
    .streaming-services {
      @media screen and (min-width:768px) {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.6rem;
      }
      a {
        display: block;
        margin-bottom: 0.8rem;
        padding: 0.8rem;
        color: var(--body-color);
        transition: all var(--transtion-duration);
        border: 1px dotted rgba(0, 0, 0, 0.8);
        &:hover {
          color: var(--color-white);
          background-color: var(--body-color);
        }
      }
      dl {
        margin: 0 auto;
        padding: 0;
      }
      dt, dd {
        margin: 0 auto;
        padding: 0;
        text-align: center;
      }
      dt {
        font-weight: 500;
      }
    }
  }

  /* SNS */
  .section-sns {
    .sns-list {
      margin: 0 auto;
      padding: 0;
      display: inline-flex;
      flex-flow: row;
      justify-content: flex-start;
      align-items: flex-start;
      gap: 2.4rem;
      /* row-gap: 1.6rem; */
      li {
        margin: 0 auto;
        padding: 0;
        list-style-type: none;
        text-align: center;
      }
      a {
        transition: all var(--transtion-duration);
        &:hover {
          opacity: 0.64;
        }
      }
      img {
        margin: 0 auto;
        width: 56px;
        height: auto;
        max-height: 56px;
      }
    }
  }

}
