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

body.wrapper{
  font-family: YuGothic,'Yu Gothic','ヒラギノ角ゴシック','Hiragino Sans','Yu Gothic UI',sans-serif;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 1px;
  color: #333333;
}
.container{
  width: 100%;
  max-width: 1080px;
  position: relative;
  margin: 0 auto;
}
a{
  color: #333333;
	text-decoration: none;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
	transition: 0.5s;
}
a:hover{
  color: #333333;
	opacity: 0.6;
}
.cnt_wrapper{
  padding: 50px 0;
}
.cnt_wrapper h2{
  padding: 20px 0;
  text-align: center;
  margin-bottom: 50px;
}
.btn_toPrice{
  display: block;
  width: 90%;
  max-width: 300px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  color: #ffffff;
  margin: 50px 0 0;
  background-color: #40bfb0;
}

/* =================================
header
================================= */
header#header{
  background-color: #ffffff;
  box-shadow: 0px 5px 16px -6px rgba(0,0,0,0.6);
}
#masthead{
  overflow: hidden;
}
h1#site-title{
  width: 190px;
  height: 20px;
  text-indent: -9999px;
  background: url('../images/logo.png') no-repeat center;
  background-size: contain;
  float: left;
  margin: 20px 0 20px 30px;
}
#mainMenu{
  float: left;
  margin: 15px 0 18px 35px;
}
#mainMenu ul{
  display: flex;
}
#mainMenu ul li{
  padding: 0 15px;
}
#mainMenu ul li a{
  font-size: 16px;
  font-weight: bold;
}
#ex_btn{
  float: right;
  display: flex;

}
#ex_btn li a{
  display: block;
  width: 180px;
  text-align: center;
  color: #ffffff;
}
#ex_btn li#btn_tel a{
  background-color: #51a9e9;
  padding: 7.5px 0;
}
#ex_btn li#btn_tel a span{
  display: block;
}
#ex_btn li#btn_tel a span:last-child{
  font-size: 12px;
}
#ex_btn li#btn_line a{
  background-color: #23be1d;
  padding: 16.5px 0;
}



/* =================================
footer
================================= */
.bg_gray{
  background-color: #f5f5f5;
  padding: 30px 0;
}
.footer_inner{
  display: flex;
  flex-wrap: wrap;
}
.footer_left{
  flex-basis: 21%;
  margin: 0 2%;
}
.footer_center{
  flex-basis: 37.67%;
  margin: 0 2%;
}
.footer_right{
  flex-basis: 29.33%;
  margin: 0 2%;
}
#footer_btn li{
  margin: 10px 0 0;
}
#footer_btn li:first-child{
  margin: 0;
}
#footer_btn li a{
  display: block;
  width: 300px;
  text-align: center;
  color: #ffffff;
}
#footer_btn li#footer_tel a{
  background-color: #51a9e9;
  padding: 7.5px 0;
}
#footer_btn li#footer_tel a span{
  display: block;
}
#footer_btn li#footer_tel a span:last-child{
  font-size: 12px;
}
#footer_btn li#footer_line a{
  background-color: #23be1d;
  padding: 16.5px 0;
}
#copy{
  text-align: center;
  font-size: 0.85rem;
  padding: 15px 0;
}

/* =================================
contents
================================= */
#mainVisual{
  padding: 50px 30px 140px;
  background: url('../images/bg_mv.png') no-repeat center;
  background-size: cover;
}
#feature{
  margin-top: -100px;
}
#feature ul{
  display: flex;
}
#feature ul li{
  flex-basis: calc(33.33% - 60px);
  margin: 0 30px;
  background-color: #e6fffe;
  position: relative;
  padding: 30px 0;
}
#feature ul li::before{
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  background: url('../images/triangle_01.png') no-repeat center;
  background-size: cover;
  position: absolute;
  bottom: 10px;
  left: 10px;
}
#feature ul li::after{
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  background: url('../images/triangle_02.png') no-repeat center;
  background-size: cover;
  position: absolute;
  top: 10px;
  right: 10px;
}
#feature ul li figure{
  text-align: center;
  margin-bottom: 20px;
  position: relative;
}
#feature ul li:first-child figure{
  margin-bottom: 40px;
}
#feature ul li figure::before{
  content: "";
  display: block;
  width: 31px;
  height: 31px;
  background: url('../images/circle.png') no-repeat center;
  background-size: contain;
  position: absolute;
  top: -8px;
  left: 30px;
}
#feature ul li p{
  font-size: 1.77rem;
  text-align: center;
  font-weight: bold;
}
#service{
  background: url('../images/bg_ttl_service.png') no-repeat left 140px;
}
#service h2{
  background-color: #51a9e9;
}
.svc_cnt{
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 50px;
}
#svc_01{
  background: url('../images/icon_aircon.png') no-repeat right top;
}
#svc_02{
  background: url('../images/icon_wifi.png') no-repeat right top;
}
#svc_03{
  background: url('../images/icon_antena.png') no-repeat right top;
}
.svc_cnt:last-child{
  margin-bottom: 0;
}
.svc_img{
  flex-basis: 46%;
  margin: 0 2%;
}
.svc_img figure{
  text-align: center;
}
.svc_img figure img{
  box-shadow: 5px 5px 15px -5px rgba(0,0,0,0.6);
}
.svc_text{
  flex-basis: 46%;
  margin: 0 2%;
}
.svc_text h3{
  margin-bottom: 50px;
}
.svc_text p{
  margin-top: 20px;
}
.svc_text p:first-child{
  margin-top: 0;
}
#price{
  background: url('../images/bg_ttl_price.png') no-repeat left 140px;
}
#price h2{
  background-color: #40bfb0;
}
.prc_cnt{
  margin-bottom: 50px;
}
.prc_cnt h3{
  padding: 0 30px;
  margin-bottom: 30px;
}
.prc_cnt h4{
  font-size: 1.44rem;
  font-weight: bold;
  padding-left: 20px;
  border-left: solid 6px #40bfb0;
  margin-bottom: 30px;
}
.price_table{
  width: 100%;
}
.price_table tr{
  border-top: dotted 1px #565656;
  border-left: solid 1px #565656;
  border-right: solid 1px #565656;
}
.price_table tr:first-child{
  border-top: solid 1px #565656;
  background-color: #f5f5f5;
}
.price_table tr:first-child td{
  text-align: center;
  font-size: 1.1rem;
  font-weight: bold;
}
.price_table tr:last-child{
  border-bottom: solid 1px #565656;
}
.price_table tr td{
  padding: 20px;
}
.price_table tr td:first-child{
  width: 66.66%;
}
.price_table tr td:last-child{
  width: 33.33%;
}
.aboutAttachment{
  border: solid 1px #f5f5f5;
}
.aboutAttachment > p{
  background-color: #f5f5f5;
  font-weight: bold;
  font-size: 1.1rem;
  padding: 20px;
}
.aboutAttachment ul{
  display: flex;
  flex-wrap: wrap;
  padding: 20px;
}
.aboutAttachment ul li{
  flex-basis: 29.33%;
  margin: 0 2%;
  font-size: 0.9rem;
}
.caution_text{
  font-size: 0.9rem;
}
.guarantee{
  background-color: #f5f5f5;
  padding: 20px 30px;
}
.guarantee h5{
  text-align: center;
  font-weight: bold;
  font-size: 1.22rem;
  margin-bottom: 30px;
}
.guarantee h5::after{
  content: "";
  display: block;
  width: 90%;
  max-width: 390px;
  height: 1px;
  background-color: #000000;
  margin: 20px auto 0;
}
.action{
  margin-bottom: 70px;
}
.action .container{
  text-align: center;
}

.sp_only{
  display: none;
}

/* =================================
responsive
================================= */
@media only screen and (max-width: 768px) {
  .pc_only{
    display: none;
  }
  .sp_only{
    display: block;
  }
  .container{
    width: 90%;
  }
  .cnt_wrapper{
    padding: 30px 0;
  }
  .cnt_wrapper h2 img{
    width: auto;
    height: 30px;
  }
  .btn_toPrice{
    margin: 30px auto 0;
  }
  h1#site-title{
    float: none;
    margin: 20px auto;
  }
  #ex_btn{
    float: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1111;
  }
  #ex_btn li a{
    width: 100vw;
  }
  #ex_btn li#btn_tel a{
    padding: 9px 0;
  }
  #ex_btn li#btn_tel a span:last-child{
    font-size: 10px;
  }
  #feature ul{
    flex-wrap: wrap;
  }
  #feature ul li{
    flex-basis: 100%;
    margin: 0 0 30px;
  }
  #feature ul li figure{
    margin-bottom: 10px;
  }
  #feature ul li:first-child figure{
    margin-bottom: 20px;
  }
  #feature ul li p{
    font-size: 1.2rem;
  }
  .svc_cnt{
    flex-wrap: wrap-reverse;
    margin-bottom: 30px;
  }
  .svc_img{
    flex-basis: 100%;
    margin: 0;
  }
  .svc_text{
    flex-basis: 100%;
    margin: 0 0 30px;
  }
  .svc_text h3{
    margin-bottom: 30px;
  }
  .svc_text h3 img{
    width: auto;
    height: 25px;
  }
  .prc_cnt h3{
    padding: 0;
  }
  .prc_cnt h3 img{
    width: auto;
    height: 25px;
  }
  .aboutAttachment ul li{
    flex-basis: 100%;
    margin: 0 0 20px;
  }
  .price_table tr td{
    width: 50% !important;
  }
  .footer_left,
  .footer_center,
  .footer_right{
    flex-basis: 100%;
    margin: 10px 0;
  }
  #footer_btn li a{
    margin: 0 auto;
  }
  #copy{
    margin-bottom: 60px;
  }
}
