@charset "UTF-8";
/* CSS Document */

/*******************************
	         main
*******************************/
main #section01 {
  position: relative;
  width: 100%;
  height: inherit;
}
.ttl-text-wrap {
    color: #fff;
    padding-top: 20px;
}
.tab-pc2-box {
  padding-top: 20px;
}
.ttl-text-wrap h3 {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 2px;
  padding-bottom: 20px;
}
#construction-area img {
  width: 100%;
  vertical-align: bottom;
}
.inner-wrap {
  padding: 30px 0;
  color: #fff;
}
#section03 .construction-list-box-lead {
  text-align: left;
}
.ttl-text-wrap span {
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 1.5;
}
#construction-area .inner-wrap .lead {
  text-align: left;
}
.construction-list-box {
  color: #fff;
}
.construction-list-box li::before {
  content: "";
  display: block;
  width: 1.3rem;
  height: 1.3rem;
  background-color: #fff;
  top: 21px;
  transform: translateY(-50%);
  padding: 0;
  left: 0;
  position: absolute;
}
.construction-list-box li {
  position: relative;
  padding: 10px 0 30px 20px;
  font-size: 1.7rem;
}
.construction-list-box02 li {
    list-style: inside;
    font-size: 1.5rem;
    padding-top: 15px;
    line-height: 1.5;
    letter-spacing: 2px;
    padding-left: 16px;
    text-indent: -15px;
    color: #fff;
}

#section04 {
  width: 100%;
  padding: 50px 15px 50px;
    padding-top: 10px;
}
.construction-topics span {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  display: block;
  padding-bottom: 20px;
}
.construction-topics {
  padding: 20px;
  background-color: #fff;
}
.construction-topics h3 {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 2px;
}

#section04 .lead {
  color: #000;
  text-align: left;
  padding: 0;
  margin: 20px 0;
  font-weight: normal;
  line-height: 2;
  font-size: 1.4rem;
}
#section04 .img-wrap {
  width: 100%;
}
#section04 .img-wrap img {
  width: 100%;
}
#section04 .sub-photo {
  width: 100%;
}
#section04 .sub-photo img {
    width: 100%;
    padding-top: 20px;
}
/************************************************************section05**************************************************************************/
#section05 {
  color: #fff;
  background-color: #191919;
  padding: 50px 15px;
}
.contraction-works {
  width: 100%;
}
#section05 img {
    width: 100%;
}
.section05-ttl {
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 1px;
    padding-bottom: 35px;
    text-align: center;
}
.section05-subttl {
  font-size: 1.7rem;
  font-weight: bold;
}
.section05-subttl {
  font-size: 1.7rem;
  font-weight: bold;
  position: relative;
  padding-left: 50px;
}
.section05-subttl::before {
  content: "";
  position: absolute;
  width: 40px;
  height: 3px;
  left: 0;
  top: 7px;
  background-color: #fff;
}
.list-wrap:not(:last-child) {
  padding-bottom: 30px;
}
#section05 .place {
  font-size: 1.3rem;
  line-height: 1.5;
  letter-spacing: 1px;
  padding-top: 10px;
}
.constraction-list {
  padding: 30px 0;
}
.repair-list {
  padding: 30px 0;
}
.research-list {
  padding: 30px 0;
}
@media only screen and (min-width: 768px) {
.construction-topics {
  padding: 40px;
  background-color: #fff;
}
.construction-topics span {
  font-size: 2.7rem;
  padding-bottom: 40px;
}
.construction-topics span {
  font-size: 2.7rem;
  padding-bottom: 40px;
}
.construction-topics h3 {
  font-size: 2rem;
}
#section04 .lead {
  margin: 30px 0;
}
.construction-topics .sub-photo {
  display: flex;
  flex-flow: nowrap;
}
#section04 .sub-photo img {
  width: 25%;
}
/************************************************************section05**************************************************************************/
.section05-ttl {
  font-size: 2.9rem;
}
.section05-subttl {
  font-size: 2rem;
}
.section05-subttl::before {
  top: 9px;
}
#section05 .place {
  font-size: 1.5rem;
}
.constraction-list,
.repair-list,
.research-list{
    display: flex;
    flex-flow: wrap;
    justify-content: space-between
}
.list-wrap {
  width: 49%;
}
.repair-wrap,
.research-wrap{
  padding-top: 30px;
}
.section05-subttl::before {
  width: 50px;
}
.section05-subttl {
  font-size: 2rem;
  padding-left: 60px;
}
.section05-ttl {
  padding-bottom: 70px;
}
}
@media only screen and (min-width: 920px) {
main #section03 {
  padding: 100px 20px 50px 20px;
}
#section04 {
  padding: 50px 20px 50px;
}
.tab-pc2-box {
  flex-flow: nowrap;
  justify-content: space-between;
  display: flex;
}
#construction-area img {
  width: 50%;
}
.ttl-text-wrap {
  padding-top: 20px;
  width: 45%;
}
.ttl-text-wrap h3 {
  font-size: 2.9rem;
}
.inner-wrap span {
  font-size: 2.3rem;
}
.tab-pc2-box {
  display: flex;
  flex-flow: nowrap;
  justify-content: space-between;
}
#section03 #construction-area .lead {
  font-size: 1.6rem;
}
.tab-pc2-box {
  display: flex;
  flex-flow: nowrap;
  justify-content: space-between;
}
#construction-area img {
  width: 50%;
}
.ttl-text-wrap {
  padding-top: 20px;
  width: 45%;
}
.ttl-text-wrap h3 {
  font-size: 2.9rem;
}
.inner-wrap span {
  font-size: 2.3rem;
}
.construction-list-box li {
  font-size: 2.7rem;
  padding: 30px 0 30px 30px;
}
.construction-list-box li::before {
  top: 49px;
}
/************************************************************section05**************************************************************************/
.list-wrap {
  width: 33%;
}
.constraction-list::after {
  content: "";
  display: block;
  width: 32%;
}
.repair-list::after {
  content: "";
  display: block;
  width: 32%;
}
.research-list::after {
  content: "";
  display: block;
  width: 32%;
}
.list-wrap {
  width: 32%;
}
.section05-subttl {
  font-size: 2.2rem;
  padding-left: 60px;
}
}
@media only screen and (min-width: 1024px) {
main #section03 {
  max-width: 1280px;
}
#section04 {
  max-width: 1280px;
}
/************************************************************section05**************************************************************************/
.contraction-works {
  max-width: 1280px;
  margin: 0 auto;
}
}