@charset "utf-8";
/* ------------------------------------- */
/*メインビジュアル*/
/* ------------------------------------- */
.mv{
  background: url(../img/waste/main_2509.jpg) no-repeat;
  background-position: bottom center;
  background-size: cover;
}
@media screen and (max-width: 600px) {
  .mv{
    background:url(../img/waste/main_2509_sp.jpg) no-repeat;
    background-position: center;
    background-size: cover;
  }
}
/* ------------------------------------- */
/*共通テーブルスタイル*/
/* ------------------------------------- */
.table-box h4{
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  color: #fff;
  background: #4595d2;
  padding: 12px;
  border-radius: 10px 10px 0 0;
}
table{
  width: 100%;
  border-collapse: separate;
  overflow: hidden;
  border-spacing: 0;
  border-radius: 10px;
  border: 1px solid #e5ebef;
  table-layout: fixed;
}
.table-box table{
  border-radius: 0 0 10px 10px;
}
table td,
table th {
	padding: 15px;
  vertical-align: middle;
  border-bottom: 1px solid #e5ebef;
}
table tr:last-of-type td,
table tr:last-of-type th{
  border-bottom:0;
}
table th{
	background: #f5f5f5;
  font-weight: bold;
}
table td{
  background:#fff;
  line-height: 1.8;
}
@media screen and (max-width: 600px) {
  table th{
    text-align: center;
  }
}
/* ------------------------------------- */
/*イントロ*/
/* ------------------------------------- */
section.intro{
  padding-bottom: 0;
}
.intro .flex-box{
  display: flex;
  flex-wrap: wrap;
  position: relative;
  margin-bottom: 40px;
}
.intro .flex-box:nth-of-type(even){
  flex-direction: row-reverse;
}
.intro .flex-box figure{
  width: 40%;
  position: absolute;
}
.intro .flex-box:nth-of-type(odd) figure{
  right: 0;
  top: 0;
}
.intro .flex-box:nth-of-type(even) figure{
  left:0;
  top:0;
}
.intro .flex-box .heading-border{
  width: calc(60% - 30px);
  margin-top:40px;
}
.intro .flex-box p{
  width: calc(60% - 30px);
  line-height: 1.7;
  min-height:120px;
}
.intro .bg-image{
  position: relative;
  top:-100px;
}
@media screen and (max-width: 600px) {
  section.intro{
    padding: 70px 0 40px;
  }
  .intro .sec-inner{
    padding:0 4%;
  }
  .intro .flex-box{
    display: block;
  }
  .intro .flex-box .heading-border,
  .intro .flex-box p{
    width:100%;
  }
  .intro .flex-box .heading-border{
    font-size: 2.4rem;
    margin-bottom: 20px;
    margin-top:0;
  }
  .intro .flex-box p{
    min-height:auto;
  }
  .intro .flex-box figure{
    width:100%;
    position: static;
    margin-bottom:20px;
  }
  .intro .bg-image{
    top: 0;
  }
}
/* ------------------------------------- */
/*実績*/
/* ------------------------------------- */
section.pastwork{
  padding:0 0 80px;
}
.pastwork .sec-inner{
  max-width:920px;
}
.pastwork .table-box table th{
  border-right: 1px solid #e5ebef;
}
.pastwork .table-box table td ul li{
  position: relative;
  padding-left:1em;
}
.pastwork .table-box table td ul li::before{
  content: "・";
  position: absolute;
  top:0;
  left:0;
}
@media screen and (max-width: 600px) {
  section.pastwork{
    padding:40px 4% 80px;
  }
  .pastwork .table-box table th,
  .pastwork .table-box table td{
    display: block;
    width:100%;
  }
  .pastwork .table-box table th{
    border-right:0;
  }
}
/* ------------------------------------- */
/*コンタクト*/
/* ------------------------------------- */
section.contact{
  padding: 70px 0 80px;
  background: url(../img/waste/contact_bg.jpg) no-repeat;
  background-size: cover;
  background-position: center;
}
.contact .ttl-wrap{
  margin-bottom:30px;
}
.contact .ttl-wrap .ttl-upper{
  font-size: 1.7rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  position: relative;
  margin-bottom:15px;
}
.contact .ttl-wrap .ttl-upper::before,
.contact .ttl-wrap .ttl-upper::after{
  position: relative;
  display: inline-block;
  content: "";
  background: #fff;
  width: 1px;
  height: 1.2em;
  margin: 0 1em;
  margin-top: -.2em;
  vertical-align: middle;
}
.contact .ttl-wrap .ttl-upper::before{
  transform: rotate(315deg);
}
.contact .ttl-wrap .ttl-upper::after{
  transform: rotate(45deg);
}
.contact .ttl-wrap h3{
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  color: #fff;
}
.contact .ttl-wrap h3 span{
  display: block;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.2rem;
  font-weight: bold;
  margin-top: 20px;
  letter-spacing: 3px;
}
.contact .btn-wrap{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.contact .btn-wrap li{
  width: 50%;
  max-width: 350px;
  margin-right:20px;
}
.contact .btn-wrap li:last-of-type{
  margin-right:0;
}
.contact .btn-wrap li .btn{
  width:100%;
}
.contact .btn-wrap li .btn.no-hover:hover{
  opacity: 1;
}
@media screen and (max-width: 600px) {
  section.contact{
    padding:70px 4%;
  }
  .contact .btn-wrap{
    display: block;
  }
  .contact .btn-wrap li{
    width:100%;
    margin-right: 0;
  }
  .contact .btn-wrap li .btn{
    margin:0 auto 15px;
  }
}