.page-cover {
  padding: 3rem 2rem;
}

.page-content {
  background-color: #2b2b2b;
  color: #fff;
}

.page-intro:not(.page-intro--connextion) {
  max-width: 904px;
  margin: 0 auto;
  padding: 0 1.35rem 4rem;
  box-sizing: content-box;
}

.page-intro__title {
  text-align: left;
  font-size: clamp(2rem, 5.34vw, 3.2rem);
}

.page-intro__title span {
  font-weight: 500;
}

.page-intro__image {
  margin: 1rem auto 4rem;
}

.page-intro__text {
  font-size: 1.8rem;
  line-height: 3.2rem;
}

.page-content__title::after {
  content: "事業内容";
}

.service__wrapper {
  margin: 6.5rem auto 0;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.service__item-title {
  font-size: 2rem;
  line-height: 1.45;
  font-weight: 500;
  margin-bottom: 2rem;
}

.service__item-text {
  font-size: 1.8rem;
  line-height: 2.7rem;
}

.service__item--rentcar {
  margin-top: 27px;
}

.service__item-title--ss {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

.indent {
  display: none;
}

@media (min-width: 768px) {
  .page-intro__wrapper {
    display: flex;
    flex-direction: column-reverse;
    gap: 80px;
  }

  .page-intro__title {
    font-size: clamp(3.2rem, 4vw, 4.5rem);
    line-height: 1.44;
    text-align: left;
  }

  .page-intro__title span {
    font-size: 90%;
    margin-left: 10px;
  }

  .page-intro--connextion {
    padding-top: 80px;
    padding-bottom: min(393px, max(160px, calc(393px + 50vw - 683px)));
    padding-left: 231px;
    padding-left: min(231px, max(40px, calc(231px + 50vw - 683px)));
    position: relative;
    max-width: 1366px;
    margin: min(90px, max(0px, calc(90px + 50vw - 683px))) auto 0;
  }

  .page-intro--connextion .page-intro__image {
    margin: 0;
    position: absolute;
    top: 0;
    top: min(140px, max(0px, calc(341px - 25vw)));
    right: 0;
  }

  .page-intro:not(.page-intro--connextion) {
    margin: 160px auto 0;
    padding-bottom: 0;
  }

  .page-intro--justice {
    max-width: 830px !important;
  }

  .page-intro--justice .page-intro__wrapper {
    gap: 1.7rem;
  }

  .page-intro:not(.page-intro--connextion) .page-intro__image {
    margin: 0 auto;
  }

  .page-intro__image img {
    max-width: clamp(540px, 68vw, 928px);
  }

  .page-intro__text {
    margin-top: 41px;
    text-shadow: 0px 0px 20px #fff;
    position: relative;
  }

  .page-content {
    background-color: #fff;
    padding: 12rem 2rem 16rem;
  }

  .page-content * {
    color: #000;
  }

  .service__wrapper {
    margin: 7rem auto 0;
    max-width: 740px;
    box-sizing: content-box;
  }

  .service__item-title {
    font-size: 2.5rem;
  }

  @media (max-width: 880px) {
    .indent {
      display: block;
    }
  }
}