.br-sp {
  display: block;
}

@media (max-width: 768px) {
  .br-sp {
    display: none;
  }
}
section .sec_wrp {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto 100px;
}
@media screen and (max-width: 768px) {
  section .sec_wrp {
    margin: 0 auto 60px;
  }
}
section .sec_wrp.sec_inner {
  padding: 0 4%;
}
section .sec_wrp .contents_box {
  display: flex;
  width: 100%;
  margin: 0 auto;
  align-items: center;
  margin-bottom: 90px;
}
section .sec_wrp .contents_box:last-child {
  margin-bottom: 0px;
}
@media screen and (max-width: 768px) {
  section .sec_wrp .contents_box {
    flex-direction: column;
  }
}
section .sec_wrp .contents_box .img_contents {
  width: 40%;
  position: relative;
}
@media screen and (max-width: 768px) {
  section .sec_wrp .contents_box .img_contents {
    width: 100%;
    margin-bottom: 20px;
  }
}
section .sec_wrp .contents_box .img_contents .number {
  position: absolute;
  top: -50px;
  right: 10px;
}
section .sec_wrp .contents_box .img_contents #number_re {
  left: 10px;
}
section .sec_wrp .contents_box .txt_contents {
  width: 60%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  section .sec_wrp .contents_box .txt_contents {
    width: 100%;
  }
}
section .sec_wrp .contents_box .txt_contents h3 {
  line-height: 52px;
}
@media screen and (max-width: 768px) {
  section .sec_wrp .contents_box .txt_contents h3 {
    line-height: 4rem;
    margin-bottom: 20px !important;
  }
}
section .sec_wrp .contents_box .txt_contents .txt {
  line-height: 34px;
}
section .sec_wrp .contents_box .txt_contents .txt_inner {
  width: 71%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  section .sec_wrp .contents_box .txt_contents .txt_inner {
    width: 100%;
  }
}
section .sec_wrp .reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  section .sec_wrp .reverse {
    flex-direction: column;
  }
}
section .flow_bg {
  width: 95%;
  background-color: #faf5ed;
  margin-bottom: 160px;
}
section .flow_bg .contents_flow {
  margin: 0 auto;
  padding: 60px 4% 60px 12%;
}
@media screen and (max-width: 768px) {
  section .flow_bg .contents_flow {
    width: 90%;
    padding: 60px 0;
  }
}
section .flow_bg .contents_flow .contents_flow_inner {
  display: flex;
  justify-content: space-between;
  position: relative;
}
section .flow_bg .contents_flow .contents_flow_inner::before {
  content: "";
  position: absolute;
  width: 80%;
  height: 1px;
  background: var(--clr-black);
  left: 0;
  right: 0;
  top: 31%;
  margin: auto;
}
@media screen and (max-width: 768px) {
  section .flow_bg .contents_flow .contents_flow_inner::before {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  section .flow_bg .contents_flow .contents_flow_inner {
    flex-direction: column;
  }
}
section .flow_bg .contents_flow .contents_flow_inner .flow {
  width: 30%;
  position: relative;
}
@media screen and (max-width: 768px) {
  section .flow_bg .contents_flow .contents_flow_inner .flow {
    width: 100%;
    margin-bottom: 30px;
  }
}
section .flow_bg .contents_flow .contents_flow_inner .flow:last-child {
  margin-bottom: 0px;
}
section .flow_bg .contents_flow .contents_flow_inner .flow img {
  margin-bottom: 30px;
}
section .flow_bg .contents_flow .contents_flow_inner .flow .title {
  font-size: 20px;
  margin-bottom: 10px;
}
section .title_box {
  margin-bottom: 110px;
  position: relative;
}
@media screen and (max-width: 768px) {
  section .title_box {
    margin-bottom: 200px;
  }
}
section .title_box .title_contents {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-end;
  max-width: 1000px;
  width: 100%;
  height: 600px;
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
section .title_box .title_contents .txt_contents {
  background-color: #fff;
  padding: 30px 50px;
  position: relative;
  z-index: 5;
  height: 300px;
}
@media screen and (max-width: 768px) {
  section .title_box .title_contents .txt_contents {
    padding: 20px 40px;
    height: 100px;
    width: 90%;
    margin: 0;
  }
}
section .title_box .title_contents .txt_contents.reversible {
  background-color: #fff;
  padding: 30px 50px 30px 0;
  position: relative;
  z-index: 5;
  height: 300px;
  max-width: 500px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  section .title_box .title_contents .txt_contents.reversible {
    padding: 20px 40px;
    height: 100px;
    width: 90%;
    margin: 0;
  }
}
section .title_box .title_contents .txt_contents .txt_inner {
  position: relative;
  top: -48px;
}
@media screen and (max-width: 768px) {
  section .title_box .title_contents .txt_contents .txt_inner {
    top: -30px;
  }
}
section .title_box .title_contents .txt_contents .txt_inner .txt {
  color: #808080;
  line-height: 34px;
}
section .title_box .title_re {
  flex-direction: row;
}
@media screen and (max-width: 768px) {
  section .title_box .title_re {
    justify-content: flex-end;
  }
}
section .title_box .img_ttl {
  position: relative;
  left: 0;
  width: 60%;
}
@media screen and (max-width: 768px) {
  section .title_box .img_ttl {
    width: 100%;
  }
}
section .title_box .img_ttl_re {
  display: flex;
  flex-direction: row-reverse;
  right: 0;
}
section .title_box .img_ttl_re img {
  width: 60%;
}
@media screen and (max-width: 768px) {
  section .title_box .img_ttl_re img {
    width: 100%;
  }
}

hr {
  border-width: 1px 0 0 0;
  border-style: solid;
  border-color: #d9d9d9;
  margin-bottom: 90px;
}