.concept_contents section {
  background-color: #fff;
  padding: 120px 0;
}
.concept_contents section:first-child {
  padding: 0 0 120px 0;
}
.concept_contents video {
  width: 50%;
  border-radius: 10px;
}
.concept_contents section:nth-child(2),
.concept_contents section:nth-child(3) {
  position: relative;
  background-color: transparent;
}
.concept_contents section:nth-child(2)::before {
  /* 営業担当がいません */
  content: "";
  background-color: #f7f7f7;
  position: absolute;
  top: 0;
  left: 0;
  width: 60vw;
  height: 60em;
}
.concept_contents section:nth-child(3)::before {
  /* 社長は大工 */
  content: "";
  background-color: #cccccc;
  position: absolute;
  top: 0;
  right: 0;
  width: 62vw;
  height: 40em;
}
.concept_contents section:last-child {
  /* お気軽にご相談ください */
  background: url(../img/concept_contact.jpg) no-repeat center/cover;
  width: 100%;
}

.concept_contents section > div {
  max-width: 1100px;
  margin: 0 auto;
}
.concept_contents section h2 {
  font-size: 2em;
  letter-spacing: 0.3em;
  line-height: 200%;
  font-weight: 400;
  margin: 0 0 100px 0;
}
.flex {
  display: flex;
}
.row-reverse {
  flex-direction: row-reverse;
  justify-content: flex-end;
}
.flex dl,
.flex p {
  max-width: 50%;
  margin-right: 5%;
  line-height: 200%;
}
.row-reverse dl,
.row-reverse p {
  margin-right: 0;
  margin-left: 5%;
}
.concept_inner {
  z-index: 2;
  position: relative;
}
.concept_inner span {
  letter-spacing: 0.2em;
  line-height: 200%;
  display: block;
  margin: 0 0 42px 0;
}
.concept_inner span:last-child {
  margin: 0;
}
.concept_inner dt {
  margin-bottom: 60px;
  font-size: 1.6em;
  line-height: 170%;
  letter-spacing: 0.3em;
}
.concept_inner dd {
  letter-spacing: 0.2em;
  line-height: 200%;
}
.concept_inner figure {
  max-width: 50%;
}
.concept_inner img,
.concept_inner video {
  max-width: 100%;
}
.concept_inner .btn_standard {
  display: block;
  width: 60%;
  margin: 50px auto 0 auto;
}
.concept_cta {
  margin: 0 auto;
  text-align: center;
}
.concept_cta .flex {
  gap: 4%;
  justify-content: center;
}
.concept_cta p {
  margin-bottom: 54px;
  font-size: 1.6em;
  letter-spacing: 0.3em;
  color: #fff;
}
.btn_concept_cta {
  display: block;
  width: 30%;
  text-align: center;
  padding: 20px 0;
  border: 1px solid #fff;
  border-radius: 30px;
  background: transparent;
  color: #fff;
  text-decoration: none;
  transition: 0.8s;
}
.btn_concept_cta:hover {
  background-color: #fff;
  color: #4c4c4c;
}

@media screen and (max-width: 1080px) {
  .concept_contents section > div {
    /* display: block; */
    max-width: 90%;
  }
  .concept_contents section h2 {
    writing-mode: Horizontal-tb;
    width: 100%;
    text-align: center;
  }
  .concept_contents section:nth-child(2n) h2 {
    writing-mode: Horizontal-tb;
  }
}

@media screen and (max-width: 800px) {
  .concept_contents section {
    padding: 20% 0;
  }
  .concept_contents section:first-child {
    padding: 0 0 20% 0;
  }
  .concept_contents section:nth-child(2) {
    background-color: #f7f7f7;
  }
  .concept_contents section:nth-child(3) {
    background-color: #cccccc;
  }
  .concept_contents section:last-child {
    padding: 60px 0;
  }
  .concept_contents section h2 {
    font-size: 1.6em;
    margin: 0 0 80px 0;
  }
  .concept_inner {
    max-width: 100%;
  }
  .flex {
    flex-direction: column;
  }
  .concept_inner dl {
    max-width: 100%;
    margin: 0;
  }
  .concept_inner div:nth-child(2n) dl {
    margin-right: 0;
    margin-left: 0;
  }
  .concept_inner dt {
    text-align: center;
    margin-bottom: 40px;
  }
  .concept_inner p {
    max-width: 100%;
    width: fit-content;
    margin: 0 auto;
  }
  .concept_inner span {
    margin: 0 0 20px 0;
  }
  .concept_inner figure,
  .concept_contents video {
    max-width: 80%;
    margin: 10% 10% 0 10%;
  }
  .concept_contents video {
    width: 80%;
    min-width: 80%;
    margin: 10% 10% 0 10%;
  }
  .concept_inner .btn_standard {
    width: 80%;
    margin: 5% auto 0 auto;
  }
  .concept_cta .flex {
    gap: 20px;
    align-items: center;
  }
  .concept_cta p {
    margin-bottom: 40px;
  }
  .btn_concept_cta {
    width: 80%;
  }
}
