.page__title .title__inner span {
  line-height: 1.4;
}

@media only screen and (max-width: 767px) {
  .page__title .title__inner span {
    font-size: clamp(calc(18 / 16 * 1rem), calc(24 / 1440 * 100vw), calc(24 / 16 * 1rem));
    font-size: 24px;
  }
}

section:has(.contact__box) + section .section__box {
  padding-top: 0;
}

.case__lead {
  font-size: 20px;
}
@media only screen and (max-width: 767px) {
  .case__lead {
    font-size: 16px;
  }
}
.case__body {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media only screen and (max-width: 767px) {
  .case__body {
    gap: 24px;
  }
}
.case__list {
  display: grid;
  column-gap: 24px;
  row-gap: 40px;
}
@media only screen and (max-width: 767px) {
  .case__list {
    column-gap: 20px;
    row-gap: 20px;
    margin-top: 20px;
  }
}
.case__list--col2 {
  grid-template-columns: repeat(2, 1fr);
}
.case__list--col3 {
  grid-template-columns: repeat(3, 1fr);
}
@media only screen and (max-width: 767px) {
  .case__list--col3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.case__list--portrait {
  justify-content: start;
}
.case__list--portrait.case__list--col2 {
  grid-template-columns: repeat(2, minmax(0, 300px));
}
.case__list--portrait.case__list--col3 {
  grid-template-columns: repeat(3, minmax(0, 300px));
}
@media only screen and (max-width: 767px) {
  .case__list--portrait.case__list--col3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .case__list--portrait {
    justify-content: normal;
  }
}
.case__list > li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  row-gap: 8px;
  min-width: 0;
}
.case__list--landscape .case__list-image {
  aspect-ratio: 4/3;
}
.case__list--portrait .case__list-image {
  aspect-ratio: 3/4;
}
.case__list-image {
  width: 100%;
}
.case__list-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.case__list-caption {
  font-size: clamp(calc(12 / 16 * 1rem), calc(14 / 1440 * 100vw), calc(14 / 16 * 1rem));
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .case__list-caption {
    font-size: clamp(calc(10 / 16 * 1rem), calc(12 / 1440 * 100vw), calc(12 / 16 * 1rem));
  }
}/*# sourceMappingURL=cases_pickup.css.map */