.cases-heading {
  background: linear-gradient(333deg, #006535 0%, #066634 30%, #46b336 100%);
  padding: 205px 0 102px;
}
.cases-heading__thum {
  border-radius: 8px;
  overflow: hidden;
}
.cases-heading__thum-caption {
  font-size: 1.4rem;
  color: #FFF;
  margin-top: 10px;
  line-height: 1.3;
}
.cases-heading__unit {
  display: grid;
  align-items: center;
  gap: 24px;
}
.cases-heading__ttl {
  font-size: 3.2rem;
  font-weight: 700;
  color: #FFF;
}
.cases-heading__data .data__ttl {
  font-size: 1.8rem;
  font-weight: 700;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  margin-top: 24px;
  margin-bottom: 16px;
  color: #FFF;
}
.cases-heading__data .data__list-item {
  display: grid;
  grid-template-columns: 5.5em 1fr;
}
.cases-heading__data .data__list-item dt, .cases-heading__data .data__list-item dd {
  font-size: 1.6rem;
  padding: 0 0.5em 0 0;
  color: #FFF;
}
.cases-heading__data .data__list-item dd {
  font-weight: 500;
}

.point__ttl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 24px;
  align-items: center;
  color: #FFF;
  font-size: 2.8rem;
  font-weight: 700;
  margin-bottom: 4rem;
}
.point__ttl-circle {
  font-size: 1.8rem;
  display: grid;
  place-items: center;
  font-weight: 700;
  color: #FFF;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background-color: #006535;
}
.point__list {
  display: grid;
  gap: 8px;
}
.point__list > li {
  border-radius: 8px;
  line-height: 1.3;
  padding: 16px;
  background-color: #FFF;
  color: #006535;
  font-size: 2rem;
  display: block;
  font-weight: 500;
  border-radius: 8px;
}
.point__list > li b {
  font-weight: 700;
}
.point__txt {
  color: #FFF;
  margin-top: 4rem;
  font-size: 1.8rem !important;
}

.cases-contents .section {
  padding-bottom: 120px;
  margin-top: 40px;
}
.cases-contents p {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 500;
}
.cases-contents p b {
  font-weight: 700;
  text-decoration: underline;
}
.cases-contents p + p {
  margin-top: 1.75em;
}
.cases-contents .title {
  margin-bottom: 4rem;
  display: grid;
  gap: 10px;
}
.cases-contents .title__sub {
  font-size: 1.6rem;
  color: #FFF;
  background-color: #EA7916;
  line-height: 1;
  width: -moz-fit-content;
  width: fit-content;
  padding: 15px 12px 14px;
  border-radius: 8px;
}
.cases-contents .title__main {
  font-size: 2.4rem;
  font-weight: 700;
  color: #066634;
}
.cases-contents .unit {
  display: grid;
  margin: 3.2rem 0;
  gap: 33px;
}
.cases-contents .unit__item-txt {
  max-width: 500px;
}
.cases-contents .unit__item figcaption {
  text-align: center;
  font-size: 1.6rem;
  display: block;
  margin-top: 8px;
}
.cases-contents .images {
  text-align: center;
  margin: 50px 0;
}
.cases-contents .images figcaption {
  text-align: center;
  font-size: 1.6rem;
  display: block;
  margin-top: 8px;
}

.prev {
  display: inline-grid;
  font-size: 1.6rem;
  font-weight: 700;
  align-items: center;
  gap: 8px;
  color: #FFF;
  grid-template-columns: 1fr auto;
  background-color: #006535;
  border-radius: 12px;
  padding: 24px 44px;
  text-align: left;
}
.prev::after {
  content: "";
  width: 24px;
  height: 24px;
  -webkit-mask: url(/fooveplus/assets/img/cases/icon_prev.svg) no-repeat center/contain;
          mask: url(/fooveplus/assets/img/cases/icon_prev.svg) no-repeat center/contain;
  background-color: #FFF;
}
.prev__wrap {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cases-heading {
    padding: 120px 0 50px;
  }
  .cases-heading__unit {
    margin-bottom: 10px;
  }
  .cases-heading__data .data__ttl {
    font-size: 2rem;
  }
  .cases-heading__data .data__list-item dt, .cases-heading__data .data__list-item dd {
    font-size: 1.8rem;
  }
  .point__ttl {
    gap: 16px;
  }
  .point__ttl-circle {
    font-size: 2.4rem;
    width: 80px;
    height: 80px;
  }
  .cases-contents .section {
    padding-bottom: 40px;
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .cases-heading__unit {
    gap: 33px;
    grid-template-columns: repeat(2, 1fr);
  }
  .point__list > li {
    padding: 32px 24px;
    border-radius: 12px;
  }
  .cases-contents .unit {
    grid-template-columns: 1fr auto;
  }
}