@charset "UTF-8";
/*
Theme Name: l

*/
/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
a {
  word-break: break-all; }

body {
  font-size: 16px;
  line-height: 1.7;
  color: #2b2b2b;
  font-family: "Noto Sans JP",Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo,sans-serif; }

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden; }

.alignleft {
  float: left;
  margin: 0px 15px 15px 0; }

.alignright {
  float: right;
  margin: 0px 0px 15px 15px; }

.aligncenter {
  display: block;
  margin: auto; }

p {
  font-size: 16px;
  line-height: 1.7; }

li {
  list-style: none; }

h2, h3 {
  clear: both; }

.bold {
  font-weight: bold; }

caption {
font-size: 1.3em;
font-weight: bold;
caption-side: top;
}

/*********** パーツ*******************/
/*********** グーグルマップのIFLAME*******************/
.google_map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%; }

.google_map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.scroll-table {
  overflow: auto;
  white-space: nowrap; }

/*********** パーツ*******************/
.note_list {
  padding-left: 1rem; }

.note_list li {
  padding: 5px 0px 5px 5px;
  position: relative; }

.note_list li:before {
  position: absolute;
  top: 15px;
  left: -10px;
  content: "";
  width: 7px;
  height: 7px;
  background: #B0938A;
  border-radius: 7px;
  background-size: 10%; }

.line {
  border-bottom: solid 1px #BC8F8F; }

a.links {
  position: relative;
  padding-right: 13px; }

a.links:after {
  position: absolute;
  content: '\f24d';
  font-family: 'Font Awesome 5 Free';
  font-weight: 400;
  top: 5px;
  right: 1px;
  font-size: 0.5em; }

.scroll-table {
  overflow: auto;
  white-space: nowrap; }

/*********** ヘッダー*******************/
header{
  
 }



/*********** ナビゲーション*******************/

#navi{
  background: rgba(255,255,255,0.6);
  position: fixed;
  z-index: 999;
}

#navmenu1 ul li a{
  font-size: 0.9em;
  color: #202020;
  font-family: 'Montserrat', sans-serif;
}

#navmenu1 ul li span{
  display: block;
  font-size: .5em;
  text-align: center;
  color: #d8d8d8;
}

#navmenu1 .dropdown-menu{
  top:35px;
}

.contact a{
background-color: rgba(113, 113, 113,0.5);
} 


/*********** メインイメージ*******************/

#main {
  position:relative;
  background-size: 50%;
  padding:15em 0 30em;
  background: url(images/bg_main.jpg) no-repeat center center;
}



#main h1{
  font-weight: bold;
   font-size: 36px;
   text-shadow    : 
        2px  2px 5px rgba(255, 255, 255, 0.83),
      -2px  2px 5px rgba(255, 255, 255, 0.83),
       2px -2px 5px rgba(255, 255, 255, 0.83),
      -2px -2px 5px rgba(255, 255, 255, 0.83),
       2px  0px 5px rgba(255, 255, 255, 0.83),
       0px  2px 5px rgba(255, 255, 255, 0.83),
      -2px  0px 5px rgba(255, 255, 255, 0.83),
       0px -2px 5px rgba(255, 255, 255, 0.83);      /* 文字の影 */
}


#main h1 span{
  display:block;
     
}

#main p{
 text-shadow    : 
        2px  2px 5px rgba(255, 255, 255, 0.83),
      -2px  2px 5px rgba(255, 255, 255, 0.83),
       2px -2px 5px rgba(255, 255, 255, 0.83),
      -2px -2px 5px rgba(255, 255, 255, 0.83),
       2px  0px 5px rgba(255, 255, 255, 0.83),
       0px  2px 5px rgba(255, 255, 255, 0.83),
      -2px  0px 5px rgba(255, 255, 255, 0.83),
       0px -2px 5px rgba(255, 255, 255, 0.83);      /* 文字の影 */ 
}


/*********** アイコンエリア色*******************/

/***********font*******************/

.heading h2{
  font-weight: bold;
  font-size: 3em;
  text-align: center;
  position: relative;
   font-family: 'Anton', sans-serif;
}

/*.heading h2:before,.heading h2:after{
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: .7em;
    height: 3px;
    background-color: #2b2b2b;
}

.heading h2:before{
  left:-50px;
}

.heading h2:after{
  right:-50px;
}*/


.heading {
  text-align: center;
}


/*video#top_back {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -1;
}*/


/*********** visionArea*******************/
#visionArea {
background: url(images/bg_vision.png);
}





/****************campaign**********************/

#campaign {
background: url(images/bg_campaign.jpg) no-repeat center;
background-size: 100%;
}

#campaign .p-4{
 background: rgba(255,255,255,0.6);
}
.price{
  font-family: 'Anton', sans-serif;
  font-weight: bold;
}

/****************business**********************/
.clean {
background: url(images/bg_clean.jpg) no-repeat center;
background-size: cover;
padding: 200px 30px 200px;
}


.koukin {
padding: 200px 30px 200px;
background: url(images/bg_koukin.jpg) no-repeat center;
background-size: cover;
}

/*****************news*********************/

table.news tr{
  border-bottom:1px solid #ccc;
}

table.news tr a{
  text-decoration: none;
}


/*****************WORK*********************/

#work {
background: url(images/bg_work.png);
}

#work h2:before,#work h2:after{
background-color: #fff;
}


#work ul li a{
  position: relative;
 display: inline-block;
}

#work ul li img{
  max-width: 100%;
  height:auto;
}

#work ul li p a{
  color: #fff;
 
}

 ul.work li .work {
    position: absolute;
    display:block;
    padding: .2em;
    left: 0px;
    background: rgba(0,0,0,0.5);
    color: #fff;
    bottom:0;
    width:100%;
    text-align:center;
}


a.btn-more{
display: inline-block;
position: relative;
border:1px solid #000;
padding:.5em 4em;
font-family: 'Montserrat', sans-serif;
font-size: 18px;
color: #000;
font-weight: bold;
}

a.btn-more:hover{
background: #000;
color:#fff;
text-decoration: none;
}

a.btn-more.bk{
display: inline-block;
position: relative;
border:1px solid #000;
padding:.5em 4em;
font-family: 'Montserrat', sans-serif;
font-size: 18px;
background: #000;
color:#fff;
font-weight: bold; 
}

a.btn-more.bk:hover{
background: transparent;
color:#000;
text-decoration: none;
}

.bg-opa{
  background: rgba(255,255,255,0.6);
}




/*****************contact*********************/

a.btntel {
    font-family: 'Anton', sans-serif;
    display: inline-block;
    font-size: 24px;
    border-radius: 40px;
    background: #000;
    text-decoration: none;
    color: #fff;
    position: relative;
    box-sizing: border-box;
    line-height: 40px;
    letter-spacing: 1.4px;
    text-align: center;
    padding: .2em 2.5em;
}


a.tellink {
    font-size: 40px;
    font-family: 'Anton', sans-serif;
    color: #000;
}

/*****************blog*********************/

#blog ul li a{
  position: relative;
  color:#333;
}

#blog ul li a:hover{
  text-decoration: none;
}

#blog ul li a img{
  max-width: 100%;
  height:auto;
  width:100%;
}


#blog ul li a p.blog{
  position: absolute;
  display: inline-block;
  padding:.2em;
  right:0px;
  background-color: #fa0046;
  color:#fff;
}

#blog ul li a p.column{
  position: absolute;
  display: inline-block;
  padding:.2em;
  right:0px;
  background-color: #fa0046;
  color:#fff;
}

.blog_ttl_bg{
  background: url(images/blog_ttl_bg.png);
  padding: 0 1em;
}

.blog_ttl_bg a{
  color:#333333;
  text-decoration: none;
}

.blogcol h4{
  font-size: 1.2rem;
}

.blogcol p{
  margin-bottom: 0;
}




form table input[type='text'],form table input[type='tel'],form table input[type='email']{
  width:90%;
}

textarea{
 width:90%;
}



@media (min-width: 992px)  {
#top  #allArea .heading.text-center.mb-4{
  margin-bottom: 50px !important;
 }

#allArea .textarea{
      width:70%;
    }
}



#contactArea{
  background: url(images/bg_contact.png);
 background-size: cover; 

}




/**************footer************************/

#footerMenu li{
  display: inline-block;
}

#footer{
  background: #141414;
  padding-bottom: 2em;
}


#company p{
  color:#fff;
  margin-bottom: .7em;

}


#footer li a{
  color:#fff;
}


#footer ul li a {
    display: block;
    margin: 5px;
    padding-left:15px;
    text-decoration: none;
    color: #fff;
    position: relative;
}

#footer ul li a:before {
    position: absolute;
    left: -5px;
    content: "";
    width: 5px;
    height: 15px;
    border-right: 1px solid #fff;
    top:7px;    
}




/****************下層ページ**********************/

.headerBg{
background: url(images/naisoukouji.jpg);
padding-bottom: 10em;
}

.headerBg.contact{
background: url(images/header_contact.jpg) no-repeat center;
background-size: cover;
}

.headerBg.cleanning{
background: url(images/header_cleanning.png)no-repeat 0 center;
background-size: cover;
}

.headerBg.work{
background: url(images/work_bg.png) no-repeat 0 center;
background-size: cover;
}

.headerBg.common{
background: url(images/bg_main.jpg) center 50%;
}


.headerBg h1{
  padding-top: 70px;
   padding-bottom: 10px;
  font-family: 'Anton', sans-serif;
 
}



.news h1{
border-bottom: 1px solid #000;
}



.kasou h2 {
}

.kasou h3 {
  
  padding: 1rem 0 1rem .5rem;
 
}

.kasou aside h3{
  border-bottom: 1px solid #000;
}




#contactArea h2{
  display: inline-block;
}



.thumbnail img{
  max-width: 100%;
}


/***************下層ページのレイアウト***********************/

.kasou .post{
padding:1em 3em;
}

/*************step****************/

.step_area h3{
  font-weight: bold;
position: relative;
 background: url(images/h3_bg.png) left top;
padding:.5em 0 .5em 4em;
margin-bottom: 1em;
}

.kasou .step_area h3 span{
position: absolute;
border-radius: 20px;
background: #fff;
padding: .2em .5em;
font-size: .7em;
left:2%;
top:30%;
}



/*********** lp*******************/



.headerBg.lp{
  background: url(images/bg_lpmain.jpg);
  background-size: cover;
  padding: 100px 0 100px;
}

.bg-main{
  background: rgba(8,217,255,0.7);
  padding:1em;
 }

.lpread{
  color: #fff;
  font-weight: bold;
  font-size:36px;
}
.lpsmall{
  color:#fff;
 font-weight: bold;
  font-size:16px; 
}



#nano{
  background: url(images/bg_nano.png);
}


.bg-aqua{
  background: #daf9ff;
  padding: 1em;
   border-radius:10px;
}


.bg-aqua h2{
  margin-top: -50px;
}



/***********パンくず調整***************************/
.post.post-page,.post.post-post{
  padding:0; 
}



/**************************************/




/**************************************/


/***********汎用パーツ*******************/
.listStyle li:before {
  content: "\f14a";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #fa0046;
  position: absolute;
  top: 1.0em;
  left: 1.0em; }

ul.listStyle li {
  font-weight: 600;
  line-height: 1.2;
  padding: 1.0em;
  padding-left: 2.25em;
  position: relative;
  }



/**************************************/
/*********** 下層ページ*******************/
/**************************************/
/*************下層テンプレート****************/

/*************step****************/

.step_area h4{
  font-weight: bold;
position: relative;
 background: url(images/h3_bg.png) left top;
padding:.5em 0 .5em 4em;
margin-bottom: 1em;
}

.kasou .step_area h4 span{
position: absolute;
border-radius: 20px;
background: #fff;
padding: .2em .5em;
font-size: .7em;
left:2%;
top:30%;
}

/*************bg-end****************/

.bg-end{
  background: #fffcf7;
}



/*************form****************/
.form {
  width: 70%;
  margin: 2em auto; }

.form input[type="submit"] {
  padding: 0.5em 1rem; }

form table th span{
  font-size:70%;
  color: red; 
}


/*# sourceMappingURL=style.css.map */


#inq{
  background:url(images/bg_inq.png);
  background-size: cover;
}

#inq .grayout{
  padding:4em 0 4em;

}


/***********pagenation*******************/


ul.page-numbers{
  border:none;
}

ul.page-numbers li{
   margin-right: 10px;
  display: inline-block;

}

ul.page-numbers li .page-numbers {
    padding: 1px 10px;
    color: #000;
    font-size: 1.19em;
    border: 1px solid #000;
    display: inline-block;
  }



ul.page-numbers li .page-numbers.current {
    padding: 1px 10px;
    color: #ffffff;
    font-size: 1.19em;
    background-color: #000;
    border: 1px solid #000;
    display: inline-block;
  }


.screen-reader-text{
  display: none;
}


.btn.btn-danger.long{
  padding-left:3em !important
  ;
  padding-right:3em !important;
}


/***********swiper*******************/

 .swiper-button-next, .swiper-button-prev {
top:30% !important;
  }
 .swiper-container-horizontal>.swiper-pagination-bullets{
   bottom: -1px !important;
  }


/***********会社概要ページ*******************/
.companyArea table{
  margin-bottom: 2rem !important;

}

.companyArea .row{
  border-bottom:1px solid #ccc;
  margin-bottom: 1rem;
}


.companyArea table{
  width:90%;
}


.companyArea table th{
 width:40px;
 border-right:2px solid #ccc;
 white-space: nowrap;
 padding:5px 15px 
}

.companyArea table td{
 padding:5px 15px 
}





@media(min-width:992px){
.headerBg h1{
  font-size:60px; 
}

} 






/***********スマホ*******************/
@media (max-width: 575.98px) {
/*トップページ*/

img{
  max-width: 100%;
  height:auto;
}

 #main h1 {
    font-weight: bold;
    font-size: 5vw;
}

#main h1 span {
    display: block;
    font-size: 6vw;
}

#navmenu1 ul li{
  text-align: center;

}

#navmenu1 ul li a {
   display: block;
       
}


#main {
      padding: 2em 0 2em;
}

.left1 {
    margin: 1.5em 0;
    width: auto; 
    padding: 1em 1em 1em 1em;
    z-index: 2;
    left: auto;
}

.right1 {
    width: auto;
    position: static;
    }
.right2 {
    margin: 1.5em 0;
    width: auto; 
    position: static;
    padding: 1em 1em 1em 1em;
    z-index: 2;
    left: 0%;
}

.left2 {
    width: auto;
    position: relative;
    right: auto;
}
 #top h3{
  font-size: 1.5rem;

 }

#top .heading h2{
  font-size: 1.7em;
}
#top .heading span{
  font-size: .7em;
}


#top .heading h2 span.d-block{
  font-size: 1em;
  font-weight: bold;
}
#top .heading h2 span.d-block:before{
  content: none;
}
#top .heading h2 span.d-block:after{
  content: none;
}


.kasou .post {
     padding:.5em .5em; 
}


.kasou h1 {
     font-size: 1.5rem;
    }
.kasou h1:before {
   top: 7px;
}


#top #allArea h2:before,#top #allArea h2:after{
  content: none;
}

.bg-black:before,.bg-black:after{
  background-size: 50%;
}

.bg-black:before{
  left:-8px;
  top:-8px;
}

.bg-black:after{
  right:-8px;
  bottom:-8px;
}



/*タイポの調整*/
.kasou h2 {
    font-size: 1.2rem;
   padding-bottom: .5em;
}

.kasou h3 {
    font-size: 1.1rem;
}

.kasou h4 {
    font-size: 1rem;
}
/*ブログ調整*/

.blogcol h4{
  text-align: center;
}





form table.table th,form table.table td{
  display: block;
}


form table.table input[type="text"],form table.table input[type="email"],
form table.table input[type="tel"]{
width:90%;
padding: .4em;
}

textarea{
  width:90%;
}
.form {
     width: 100%;
 
}

.thumbnail img {
  height:auto;
} 

.arrow{
  transform: rotate(90deg);
}



}/*end*/






