@charset "UTF-8";
/*----------------------------
全体
----------------------------*/
#header {
  z-index: 3;
  }
.contents {
  /*margin-bottom: 100px;*/
}
#kv_img {
  background-image: url("../img/kv.jpg");
}
#contents_inner {
  max-width: 100%;
  padding: 0;
  }


/*----------------------------
service_wrap
----------------------------*/
#contents_inner .service_wrap {
  padding: 60px 3%;
  }
#contents_inner .service_wrap:not(:first-of-type) {
  margin-top: 60px;
  }
#contents_inner .service_wrap:nth-of-type(2n+1) {
  background-color: #ebeff7;
  }
#contents_inner .service_wrap .box {
  width: 100%;
  max-width: 1050px;
  padding: 60px 0;
  margin: 0 auto;
  position: relative;
  }
#contents_inner .service_wrap .box::before {
  width: 72%;
  height: 100%;
  display: block;
  z-index: 1;
  position: absolute;
  top: 0;
  content: '';
  }
#contents_inner .service_wrap:nth-of-type(2n+1) .box::before {
  right: 0;
  }
#contents_inner .service_wrap:nth-of-type(2n) .box::before {
  left: 0;
  }
#contents_inner .service_wrap#service01 .box::before {
  background: url(../img/pht01.jpg) no-repeat center center / cover;
  }
#contents_inner .service_wrap#service02 .box::before {
  background: url(../img/pht02.jpg) no-repeat center bottom / cover;
  }
#contents_inner .service_wrap#service03 .box::before {
  background: url(../img/pht03.jpg) no-repeat center center / cover;
  }
#contents_inner .service_wrap#service04 .box::before {
  background: url(../img/pht04.jpg) no-repeat center center / cover;
  }
#contents_inner .service_wrap .box>div {
  width: 50%;
  min-height: 340px;
  padding: 90px 8%;
  z-index: 2;
  position: relative;
  background-color: #fff;
  box-shadow: 9px 9px 0 #e2e7f3;
  }
#contents_inner .service_wrap:nth-of-type(2n) .box>div {
  margin-left: auto;
  }
#contents_inner .service_wrap h2 {
  color: #124390;
  font-size: 26px;
  text-align: center;
  }
#contents_inner .service_wrap ol {
  margin-top: 30px;
  list-style: decimal;
  }
#contents_inner .service_wrap ol li {
  padding-left: 12px;
  margin: 8px 0 0 24px;
  font-size: 16px;
  }

/*sp（767px以下）*/
@media screen and (max-width: 767px) {

  #contents_inner .service_wrap {
    padding: 36px 4% 42px;
    }
  #contents_inner .service_wrap:not(:first-of-type) {
    margin-top: 0;
    }
  #contents_inner .service_wrap .box {
    padding: 45% 0 0;
    }
  #contents_inner .service_wrap .box::before {
    width: 94%;
    height: auto;
    margin: auto;
    aspect-ratio: 9 / 6;
    left: 0;
    right: 0;
    }
  #contents_inner .service_wrap .box>div {
    width: 80%;
    min-height: auto;
    padding: 30px 4% 36px;
    margin: 0 auto;
    }
  #contents_inner .service_wrap h2 {
    font-size: 21px;
    }
  #contents_inner .service_wrap ol li {
    font-size: 14px;
    }

}


/*----------------------------
service_flow
----------------------------*/
#service_flow {
  padding: 75px 3% 120px;
  background-color: #ebeff7;
  }
#service_flow .flow_wrap {
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
  }
#service_flow h2 {
  color: #124390;
  font-size: 39px;
  text-align: center;
  }
#service_flow ol {
  margin-top: 36px;
  }
#service_flow ol li {
  padding: 17px 0 18px 74px;
  position: relative;
  background-color: #124390;
  color: #fff;
  font-size: 20px;
  text-align: center;
  }
#service_flow ol li+li {
  margin-top: 20px;
  }
#service_flow ol li::before {
  width: 74px;
  height: 100%;
  padding-top: 6px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  color: #124390;
  font-size: 33px;
  letter-spacing: 0.06em;
  }
#service_flow ol li:nth-of-type(1)::before { content: '01'; }
#service_flow ol li:nth-of-type(2)::before { content: '02'; }
#service_flow ol li:nth-of-type(3)::before { content: '03'; }
#service_flow ol li:nth-of-type(4)::before { content: '04'; }
#service_flow ol li:nth-of-type(5)::before { content: '05'; }
#service_flow ol li:not(:last-of-type)::after {
  width: 0;
  height: 0;
  margin: auto;
  display: block;
  position: absolute;
  bottom: -8px;
  left: 74px;
  right: 0;
  border-style: solid;
  border-width: 8px 12px 0 12px;
  border-color: #124390 transparent transparent transparent;
  content: '';
  }

/*sp（767px以下）*/
@media screen and (max-width: 767px) {

  #service_flow {
    padding: 60px 8% 90px;
    }
  #service_flow h2 {
    font-size: 26px;
    }
  #service_flow ol li {
    padding: 15px 15px 16px 66px;
    font-size: 14px;
    text-align: left;
    }
  #service_flow ol li::before {
    width: 50px;
    padding-top: 10px;
    font-size: 20px;
    text-align: center;
    }
  #service_flow ol li:not(:last-of-type)::after {
    left: 50px;
    }

}
