.top-interview {
  padding-top: 20px;
  padding-left: min(100px, max(20px, calc(100px + 50vw - 400px)));
}

.top-interview__profile {
  max-width: 600px;
  margin: 0 auto;
}

.top-interview__image {
  display: block;
  margin-bottom: 20px;
}

.top-interview__role {
  font-size: 1rem;
  line-height: 1.5;
  width: fit-content;
  margin-left: auto;
  margin-top: 20px;
}

.top-interview__sign {
  display: block;
  width: 190px;
  height: 48px;
  margin-top: 10px;
  margin-left: auto;
}

.top-interview__greeting {
  position: relative;
  margin-top: 50px;
  width: calc(100% + 20px);
  padding: 50px min(50px, max(20px, calc(50px + 50vw - 300px))) 50px;
}

.top-interview__greeting-role {
  display: block;
  margin-top: 10px;
  text-align: right;
}

.top-interview__greeting-sign {
  margin-top: 10px;
  margin-left: auto;
  display: block;
  width: 173px;
  height: 44px;
  image-rendering: pixelated;
}

@media (min-width: 768px) {
  .top-interview {
    padding-top: 100px;
    overflow: hidden;
  }

  .top-interview__profile {
    display: flex;
    align-items: flex-end;
    gap: min(52px, max(30px, calc(52px + 50vw - 1200px)));
    max-width: 1081px;
  }

  .top-interview__image {
    width: min(467px, 50vw);
    position: relative;
    margin-bottom: 0;
    z-index: 2;
  }

  .top-interview__title {
    width: 52%;
    padding-right: min(80px, max(20px, calc(80px + 50vw - 683px)));
  }

  .page-title::after {
    width: calc(
      100vw - min(467px, 50vw) -
        min(100px, max(20px, calc(100px + 50vw - 467px)))
    );
    max-width: none;
    height: 4px;
    left: -52px;
    top: calc(50% + 8px);
    transform: translateY(-50%);
    border-bottom-right-radius: 2px;
    border-top-right-radius: 2px;
  }

  .top-interview .page-title span:first-child {
    font-size: clamp(2rem, 4vw, 3rem);
  }

  .top-interview {
    padding-left: min(100px, max(20px, calc(100px + 50vw - 467px)));
  }

  .top-interview__greeting {
    position: relative;
    margin-top: 100px;
    width: calc(100% + 20px);
    padding: 100px min(200px, max(100px, calc(200px + 50vw - 683px))) 100px
      100px;
  }

  @media (min-width: 1367px) {
    .top-interview__greeting {
      margin-left: calc(50vw - 683px);
      width: calc(100% - calc(50vw - 683px - 120px));
    }

    .top-interview__content {
      max-width: 1080px;
    }
  }
}
