.lead {
  padding-top: 8rem;
  padding-bottom: 8rem;
  padding-left: 2rem;
  padding-right: 2rem;
  position: relative;
}
@media (768px <= width) {
  .lead {
    padding-top: 12rem;
    padding-bottom: 16rem;
    padding-left: max(50% - 80rem, 6rem);
    padding-right: max(50% - 80rem, 6rem);
  }
}
.lead::after {
  content: "";
  position: absolute;
  top: 0;
  left: 2rem;
  right: 2rem;
  height: 1px;
  background-image: linear-gradient(to right, black 50%, transparent 50%);
  background-size: 9px 1px;
  background-repeat: repeat-x;
  background-position: left top;
}
@media (768px <= width) {
  .lead::after {
    left: max(50% - 80rem, 6rem);
    right: max(50% - 80rem, 6rem);
  }
}
.lead::before {
  content: "";
  width: 100%;
  background: var(--color-bg);
  position: absolute;
  top: 47.1rem;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  border-radius: 2rem 0 0 12rem;
}
@media (768px <= width) {
  .lead::before {
    top: 56.6rem;
    right: 0;
    left: max(50% - 70rem, 6rem);
    border-radius: 3rem 0 0 16rem;
    width: auto;
  }
}
@media (768px <= width) {
  .lead__header {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15.2rem;
  }
}
.lead__label {
  width: 16rem;
  margin: 0 auto;
}
@media (768px <= width) {
  .lead__label {
    width: 24rem;
    margin: 0;
  }
}
.lead__copy {
  margin-top: 3rem;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 140%;
  text-align: center;
}
@media (768px <= width) {
  .lead__copy {
    margin-top: 0;
    font-size: 5.2rem;
    text-align: left;
  }
}
.lead__img-wrap {
  margin-top: 4rem;
}
@media (768px <= width) {
  .lead__img-wrap {
    margin-top: 10rem;
  }
}
.lead__text {
  margin-top: 4rem;
  line-height: 250%;
}
@media (768px <= width) {
  .lead__text {
    margin-top: 10rem;
    margin-left: 20rem;
    margin-right: 20rem;
    font-size: 2rem;
  }
  .lead__text p + p {
    margin-top: 2em;
  }
}

.after-service {
  padding: 8rem 0;
  position: relative;
}
@media (768px <= width) {
  .after-service {
    padding: 16rem 0;
  }
}
.after-service::before {
  content: "";
  position: absolute;
  left: 2rem;
  right: 0;
  bottom: 11rem;
  z-index: -1;
  height: 18rem;
  border-radius: 12rem 0 0 2rem;
  background: var(--color-bg);
}
@media (768px <= width) {
  .after-service::before {
    border-radius: 16rem 0 0 3rem;
    left: auto;
    bottom: 34rem;
    width: 36rem;
    height: 39rem;
  }
}
.after-service__headline {
  margin: 0 2rem;
}
@media (768px <= width) {
  .after-service__headline {
    margin: 0 max(50% - 80rem, 6rem);
  }
}
.after-service__content {
  margin-top: 3.5rem;
}
@media (768px <= width) {
  .after-service__content {
    display: grid;
    grid-template-columns: 800fr 54rem 500fr;
  }
}
.after-service__img-wrap.img-01 {
  margin-right: 2rem;
}
@media (768px <= width) {
  .after-service__img-wrap.img-01 {
    margin: 0;
    padding-right: 20%;
  }
}
.after-service__img-wrap.img-02 {
  margin-top: 9rem;
  margin-left: 7rem;
  margin-right: 2rem;
}
@media (768px <= width) {
  .after-service__img-wrap.img-02 {
    margin: 0 0 6rem;
    padding-left: 6rem;
    align-self: end;
    text-align: right;
  }
}
.after-service__textbox {
  margin-top: 4rem;
  margin-left: 2rem;
  margin-right: 2rem;
}
@media (768px <= width) {
  .after-service__textbox {
    margin: 0;
    align-self: center;
  }
}
.after-service__title {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 166%;
}
@media (768px <= width) {
  .after-service__title {
    font-size: 3.2rem;
  }
}
.after-service__text {
  margin-top: 3rem;
  line-height: 200%;
}
@media (768px <= width) {
  .after-service__text {
    margin-top: 5rem;
  }
}

.renovation {
  padding: 8rem 0;
  position: relative;
}
@media (768px <= width) {
  .renovation {
    padding: 16rem 0;
  }
}
.renovation::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-bg);
  z-index: -1;
  width: 100%;
  height: 100%;
  border-radius: 0 12rem 2rem 0;
}
@media (768px <= width) {
  .renovation::before {
    border-radius: 0 16rem 3rem 0;
    width: auto;
    right: max(50% - 70rem, 9rem);
  }
}
.renovation__headline {
  margin: 0 2rem;
}
@media (768px <= width) {
  .renovation__headline {
    margin: 0 max(50% - 80rem, 6rem);
    position: absolute;
  }
}
.renovation__img-wrap {
  margin-top: 3.5rem;
  margin-right: 2rem;
}
@media (768px <= width) {
  .renovation__img-wrap {
    margin: 0 max(50% - 80rem, 6rem);
  }
}
.renovation__textbox {
  margin-top: 4rem;
  margin-left: 2rem;
  margin-right: 2rem;
}
@media (768px <= width) {
  .renovation__textbox {
    margin: 10rem max(50% - 80rem, 6rem) 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.renovation__title {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 166%;
}
@media (768px <= width) {
  .renovation__title {
    font-size: 3.2rem;
  }
}
.renovation__text {
  margin-top: 3rem;
  line-height: 200%;
}
@media (768px <= width) {
  .renovation__text {
    margin-top: 0;
  }
}

.faq {
  padding: 8rem 2rem;
  position: relative;
}
@media (768px <= width) {
  .faq {
    padding: 16rem max(50% - 80rem, 6rem);
  }
}
.faq::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 2rem;
  right: 2rem;
  height: 1px;
  background-image: linear-gradient(to right, black 50%, transparent 50%);
  background-size: 9px 1px;
  background-repeat: repeat-x;
  background-position: left top;
}
@media (768px <= width) {
  .faq::after {
    left: max(50% - 80rem, 6rem);
    right: max(50% - 80rem, 6rem);
  }
}
.faq__content {
  margin-top: 3.5rem;
}
@media (768px <= width) {
  .faq__content {
    margin-top: 10rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.faq__item {
  display: grid;
  gap: 1rem;
  font-weight: 700;
  line-height: 166%;
}
@media (768px <= width) {
  .faq__item {
    gap: 3rem;
  }
}
.faq__question, .faq__answer {
  position: relative;
  display: grid;
  grid-template-columns: 4rem auto;
  align-items: center;
  gap: 0 2rem;
  border-radius: 1rem;
  padding: 2rem;
}
@media (768px <= width) {
  .faq__question, .faq__answer {
    grid-template-columns: 8rem auto;
    gap: 3rem;
    padding: 3.2rem 3rem;
    font-size: 2.6rem;
    line-height: 166%;
  }
}
.faq__question::before, .faq__answer::before {
  aspect-ratio: 1;
  color: #fff;
  font-size: 2rem;
  border-radius: 100%;
  display: grid;
  place-content: center;
}
@media (768px <= width) {
  .faq__question::before, .faq__answer::before {
    font-size: 3.6rem;
  }
}
.faq__question {
  background: var(--color-bg);
}
.faq__question::before {
  content: "Q";
  background: var(--color-gray);
}
.faq__answer {
  background: var(--color-green);
  color: #fff;
}
.faq__answer::before {
  content: "A";
  border: 1px solid #fff;
}
.faq__description {
  margin-top: 4rem;
  line-height: 200%;
}
@media (768px <= width) {
  .faq__description {
    margin-top: 0;
    padding-left: 20%;
  }
}
.faq__description .bold {
  background: var(--color-bg);
}