.concept h1 {
  margin-bottom: 0.5em;
}

#mainImg {
    overflow: hidden;
    display: flex;
    justify-content: center;
}

#mainImg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


/* 料金
----------------------------------------------- */
#contents .price ul li {
  border: 2px #007cab solid;
  border-radius: 3px;
}
#contents .price ul li > span {
  display: block;
  padding: 0.5em 0;
}
#contents .price ul li span span {
  display: inline-block;
  font-size: 1.2em;
  font-weight: bold;
  padding-left: 1em;
}
#contents .price ul li > span + span {
  border-top: 1px #CCC dotted;
}

#contents .price ul li span.type {
  background: #007cab;
  color: #FFF;
  font-size: 1.5em;
  text-align: center;
}
#contents .price ul li span.cost span {
  color: #C00;
}
#contents .price ul li img ~ span {
  margin: 0 1em;
}

@media (min-width:730px) {
  #contents .price ul {
    display: flex;
    flex-wrap: wrap;
  }
} /* Eo min730 */


/* 原因
----------------------------------------------- */
#contents .cause ul li > span {
  display: block;
  padding: 0.5em 0;
  background: #297a00;
  color: #FFF;
  font-size: 1.5em;
  text-align: center;
  max-width: 315px;
  margin: 0 auto;
}
#contents .cause ul + p {
  color: #C33;
  font-size: 1.5em;
  font-weight: bold;
}


/* 施工方法
----------------------------------------------- */
#contents .sekou ol li {
  list-style: none;
}
#contents .sekou ol li + li {
  padding-top: 40px;
  position: relative;
}
#contents .sekou ol li + li:before {
  content: "";
  position: absolute;
  top: 10px;
  border-top: 12px solid #09F;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
}

#contents .sekou dl dt {
  border-bottom: 1px #CCC dotted;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.2em;
  margin-bottom: 0.5em;
  padding: 0.5em 0;
}
#contents .sekou dl dt img {
  vertical-align: bottom;
  margin-right: 0.5em;
}

@media (max-width:729px) {
  #contents .sekou ol li > img {
    display: block;
    margin: 0 auto;
  }
  #contents .sekou ol li + li:before {
    left: 45%;
  }
  #contents .sekou dl dt {
    font-size: 1.2em;
}

} /* Eo max729 */

@media (min-width:730px) {
  #contents .sekou {
    background: #f3f7fb;
    border: 2px #c8e3f8 solid;
    border-radius: 0.1em;
/*
*/
    box-shadow: rgba(65, 65, 65, 0.2) 0 0 8px -1px;
    -moz-box-shadow: rgba(65, 65, 65, 0.2) 0 0 8px -1px;
    -webkit-box-shadow: rgba(65, 65, 65, 0.2) 0 0 8px -1px;
    padding: 1.5em;
    margin-top: 2em;
    margin-bottom: 2em;
  }
  #contents .sekou ol li {
    clear: both;
  }
  #contents .sekou ol li > img {
    float: left;
    width: 20%;
  }
  #contents .sekou ol li > dl {
    float: right;
    width: 77%;
  }
  #contents .sekou ol li + li:before {
    left: 10%;
  }
} /* Eo min730 */


/* 失敗しない方法
----------------------------------------------- */
#contents .point ul li {
  list-style: none;
}
#contents .point ul li + li {
  padding-top: 30px;
}

#contents .point dl dt {
  border-bottom: 1px #CCC dotted;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.2em;
  margin-bottom: 0.5em;
  padding: 0.5em 0;
}
#contents .point dl dt img {
  vertical-align: bottom;
  margin-right: 0.5em;
}

@media (max-width:729px) {
  #contents .point ul li > img {
    display: block;
    margin: 0 auto;
  }
  #contents .point dl dt {
  font-size: 1.2em;
}

} /* Eo max729 */

@media (min-width:730px) {
  #contents .point ul li {
    clear: both;
  }
  #contents .point ul li > img {
    float: left;
    width: 20%;
  }
  #contents .point ul li > dl {
    float: right;
    width: 77%;
  }
} /* Eo min730 */
