.insight-wrapper {
  padding-bottom: 80px;

  @media screen and (min-width: 768px) {
    padding-bottom: 160px;
  }

  .entry-nav {
    width: min(100%, 750px);
    margin-inline: auto;
  }
}

/* Top Banner */
.insight-top-banner {
  padding-block: 40px;
  @media screen and (min-width: 768px) {
    padding-block: 80px;
  }

  .insight-top-banner__inner {
    position: relative;
    width: min(100%, 1080px);
    margin-inline: auto;
    @media screen and (min-width: 768px) {
      padding-inline: 20px;
    }
  }

  .insight-top-banner__overlay {
    margin-bottom: 24px;

    > span {
      display: block;
      font-weight: 700;

      &:nth-child(1) {
        font-size: 24px;
        font-family: var(--font-en);
        display: flex;
        flex-flow: row wrap;
        align-items: start;
        gap: 8px;
        margin-bottom: -8px;

        img {
          display: block;
          position: relative;
          top: -4px;

          @media screen and (min-width: 768px) {
            width: 114px;
          }
        }

        @media screen and (min-width: 768px) {
          font-size: 32px;
        }
      }

      &:nth-child(2) {
        font-size: 14px;

        @media screen and (min-width: 768px) {
          margin-top: 10px;
        }
      }
    }

    @media screen and (min-width: 768px) {
      position: absolute;
      left: 0;
      top: 0;
    }
  }

  .insight-top-banner__wrapper {
    display: flex;
    flex-flow: column;
    gap: 40px;

    @media screen and (min-width: 768px) {
      flex-flow: row-reverse;
    }
  }

  .insight-top-banner__content {
    flex: 1 1 0%;

    h1 {
      font-feature-settings: 'palt';
      font-size: 24px;
      line-height: 1.7;
      margin-bottom: 40px;
    }

    ul {
      font-weight: 700;

      li {
        &:not(:last-child) {
          margin-bottom: 8px;
        }
      }

      .position {
        font-size: 14px;
        line-height: 1.7;
        margin-bottom: 4px;
      }

      .initial-join {
        display: flex;
        align-items: center;
        gap: 16px;
      }

      .initial {
        font-size: 24px;
        font-family: var(--font-en);
      }

      .join {
        font-size: 12px;
        border: 1px solid;
        padding: 2px 4px;
      }
    }

    @media screen and (min-width: 768px) {
      flex: 1 1 0%;
      padding-left: 40px;
      padding-top: 180px;
    }

    @media screen and (min-width: 1024px) {
      padding-left: 60px;
    }
  }

  .insight-top-banner__img {
    flex: 1 1 0%;
    img {
      display: block;
      width: 100%;
    }

    @media screen and (min-width: 768px) {
      max-width: 550px;
      img {
        width: min(100%, 360px);
        margin-inline: auto;
      }
    }

    @media screen and (min-width: 1024px) {
      flex: auto;
    }
  }

  .person-info {
    font-weight: 700;
    font-size: 14px;
    line-height: 1.7;

    .person-info__job-title {
      margin-bottom: 4px;
    }

    .person-info__name {
      display: flex;
      align-items: center;
      gap: 16px;

      .person-info__name-jp {
        font-size: 24px;
      }
    }
  }
}

body.is-page-insight-1 .insight-top-banner {
  @media screen and (min-width: 768px) {
    padding-block: 60px 80px;

    .insight-top-banner__img img {
      width: min(calc(100% - 4px), 386px);
      margin-left: 4px;
      margin-right: auto;
    }
  }
}

body.is-page-insight-2 .insight-top-banner {
  @media screen and (min-width: 768px) {
    padding-block: 60px 80px;
  }
}

/* Text Content */
.insight-content {
  width: min(100%, 750px);
  margin-inline: auto;
  line-height: 2;

  .en {
    font-weight: 400;
  }

  > *:not(:last-child) {
    margin-bottom: 40px;
  }
}

/* Profile */
.insight-profile {
  padding: 20px;
  background-color: #f2f2f2;
  width: min(100%, 960px);
  margin-inline: auto;

  @media screen and (min-width: 768px) {
    padding: 40px;
  }

  @media screen and (min-width: 1024px) {
    padding: 80px;
  }

  .insight-profile__wrapper {
    display: flex;
    flex-flow: column;
    gap: 20px;

    .insight-profile__content {
      flex: 1 1 0%;

      > *:not(:last-child) {
        margin-bottom: 40px;
      }
    }

    @media screen and (min-width: 768px) {
      flex-flow: row wrap;
      gap: 40px;

      .insight-profile__img {
        max-width: 240px;
      }
    }

    @media screen and (min-width: 1024px) {
      gap: 40px 80px;
    }
  }

  .profile-header {
    + hr {
      &::before {
        background-color: #f2f2f2;
      }
    }

    h4 {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .job-title {
      font-size: 12px;
    }

    .name-jp {
      font-size: 19px;
    }
  }

  .profile-career {
    ul {
      span {
        &:first-child {
          min-width: 80px;
        }
      }
    }
  }

  .profile-comment {
    background-color: #fff;
  }
}
