.about {
  padding-bottom: 0;
}

.recruit-banner {
  display: block;
  width: 100%;
  max-width: 900px;
  margin: 0 auto 50px;
}

.recruit-banner img {
  width: 100%;
}

h2.section-title {
  margin-bottom: 50px;
}

.about-container {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 25px;
}

.about__item {
  position: relative;
  width: min(89.33vw, 335px);
}

.about__item-text {
  display: block;
  position: absolute;
  top: 35%;
  width: 51.64%;
  right: 0;
  color: var(--white);
  font-size: min(1rem, 4.27vw);
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  font-family: var(--font-en);
}

.business {
  padding-left: 30px;
  padding-right: 30px;
}

.business-container {
  margin: 50px auto 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, min(83vw, 311px));
  gap: 25px;
  justify-content: center;
}

.business__item {
  width: min(84vw, 315px);
  aspect-ratio: 311 / 180;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  align-items: center;
  position: relative;
}

.business__item-image {
  image-rendering: pixelated;
}

.business__item-title {
  position: absolute;
  font-size: 1rem;
  line-height: 1.44;
  color: var(--white);
  top: 30.83%;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.5);
}

.business__item-title::after {
  content: "";
  display: block;
  width: 64px;
  height: 64px;
  background-image: url(/wp-content/themes/okinawa-jtb/images/common/icon-circled-arrow-2.svg);
  background-size: contain;
  position: relative;
  top: -3px;
}

.banner {
  width: 84vw;
  aspect-ratio: 315 / 100;
  max-height: 180px;
  max-width: 1018px;
  margin: 0 auto;
  background: var(--gradient-carmine);
  border-radius: 8px;
  padding-left: 3.2%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  gap: 4px;
}

.banner--interview::before {
  content: "";
  display: block;
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background-image: url(/wp-content/themes/okinawa-jtb/images/common/string-wave.svg);
  background-size: auto 100%;
  background-position: 20%;
}

.banner--interview::after {
  content: "";
  display: block;
  position: absolute;
  width: min(37.33vw, 200px);
  aspect-ratio: 140 / 80;
  height: auto;
  bottom: -5px;
  right: 3.2%;
  background-image: url(/wp-content/themes/okinawa-jtb/images/recruit/interview.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

.banner span {
  color: var(--white);
  font-weight: 700;
}

.banner span:first-child {
  font-size: 1.25rem;
  line-height: 1.45;
}

.banner--requirements:last-child {
  font-family: var(--font-en);
  font-size: 0.875rem;
  line-height: 1.36;
  font-weight: 900;
}

.banner--requirements {
  border: 2px solid #dc326e;
  margin-bottom: 50px;
}

.banner--requirements * {
  position: relative;
}

.banner--requirements::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(/wp-content/themes/okinawa-jtb/images/recruit/bubbles.svg);
  background-size: auto 100%;
  background-position: left;
  background-repeat: no-repeat;
  left: 0px;
  top: 0;
  z-index: 0;
}

.banner--requirements::after {
  content: "";
  display: block;
  position: absolute;
  width: min(31.73vw, 200px);
  height: auto;
  aspect-ratio: 119 / 80;
  background-image: url(/wp-content/themes/okinawa-jtb/images/recruit/couple.svg);
  background-size: contain;
  background-repeat: no-repeat;
  right: 2.1%;
  bottom: 0px;
}

.banner--requirements span:first-child {
  display: flex;
  align-items: center;
  gap: 8px;
}

.banner--requirements span:first-child::after {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background-image: url(/wp-content/themes/okinawa-jtb/images/recruit/icon-link.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

.banner--requirements .staff {
  padding-left: 25px;
}

.staff-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, min(89.33vw, 335px));
  gap: 25px;
  justify-content: center;
}
.staff-container a{
  color: rgb(50, 50, 50);
}
.staff__item-content {
  display: flex;
  flex-direction: column;
}
.staff__item-content .text_type_body:first-child{
  font-weight: bold;
}
.staff__item {
  display: flex;
  gap: 26.5px;
  align-items: center;
}

.staff__item-image {
  position: relative;
  width: min(140px, 37.33vw);
  min-width: min(140px, 37.33vw);
}

.staff__item-image img {
  border-radius: 70px 28px 70px 70px;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  position: relative;
}

.staff__item-image::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 70px 28px 70px 70px;
  background: linear-gradient(#96003c 0%, #dc326e 59.84%, #ffa0dc 100%);
  top: 5px;
  left: -5px;
  z-index: 0;
}

.staff__item-content {
  padding-left: 7.5px;
  border-left: 2px solid #dc326e;
  height: fit-content;
}

@media (min-width: 768px) {
  .section-title {
    margin-bottom: 60px;
  }

  .about {
    padding-bottom: 70px;
  }

  .business {
    padding-top: 0;
  }

  .recruit-banner {
    margin: 0 auto 100px;
  }

  .about-container {
    max-width: 962px;
    margin: 0 auto;
    gap: 28px;
  }

  .about__item {
    position: relative;
    width: calc(50% - 14px);
  }

  .about__item-text {
    width: 51.6%;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.25rem;
  }

  .business-container {
    max-width: 962px;
    box-sizing: content-box;
    margin: 50px auto 0;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 15px;
    justify-content: center;
  }

  .business__item {
    width: auto;
  }

  .business__item:first-child {
    border-radius: 16px 0px 0px 16px;
  }

  .business__item:nth-child(2) {
    border-radius: 0;
  }

  .business__item:last-child {
    border-radius: 0 16px 16px 0;
  }

  .business__item-title::after {
    display: none;
  }

  .business__item-title {
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.25rem;
  }

  .banner span:first-child {
    position: relative;
    font-size: 1.5rem;
  }

  .banner--interview {
    padding-left: min(80px, max(30px, calc(80px + 25vw - 300px)));
  }

  .banner--interview::before {
    background-position: min(280px, max(-50px, calc(280px + 50vw - 600px)));
    background-repeat: no-repeat;
  }

  .banner--interview::after {
    width: min(max(24.75vw, 220px), 297px);
    aspect-ratio: 297 / 159;
    height: auto;
    bottom: auto;
    top: 0;
    right: 28px;
  }

  .staff-container {
    display: grid;
    row-gap: 69.5px;
    column-gap: 35px;
    justify-content: center;
    max-width: 962px;
    margin: 0 auto;
    box-sizing: content-box;
    position: relative;
    left: 15px;
  }

  @media (min-width: 1024px) {
    .staff-container {
      grid-template-columns: 1fr 1fr 1fr;
      left: 0;
    }

    /* .staff__item:last-child {
      display: none;
    } */
  }

  .staff__item {
    width: 307px;
    flex-direction: column;
    gap: 20px;
    padding-left: 10px;
    align-items: flex-start;
  }

  .staff__item-image {
    width: calc(100% - 10px);
  }

  .staff__item-image img {
    border-radius: 148.5px 59.4px 148.5px 148.5px;
    aspect-ratio: 1;
  }

  .staff__item-image::before {
    border-radius: 148.5px 59.4px 148.5px 148.5px;
    top: 9px;
    left: -9px;
  }

  .banner--requirements {
    margin-top: 63px;
    margin-bottom: 100px;
    /* max-width: 764px; */
    max-width: 600px;
    padding-left: min(103px, max(30px, calc(103px + 50vw - 600px)));
  }

  .banner--requirements::after {
    width: 358px;
    height: 242px;
    aspect-ratio: 358 / 242;
    /* right: 10px; */
    right: -10%;
  }

  .banner--requirements span:first-child {
    gap: 12px;
  }
}