@charset "utf-8";


/* ----------------
 共通
------------------- */
.small_t{
 font-size: 15px !important;
}
.red{
 color: #CC3300;
}
/* -----------------
 home
-------------------- */
.ichiran{
 max-width: 250px;
 margin-left: auto;
 margin-right: auto;
 margin-bottom: 20px;
 text-align: center;
}
.ichiran a{
 display: block;
 color: #fff;
 padding: 15px 0;
 font-size: 120%;
 background: #00913a url(images/arrow-10.png) no-repeat 92% center;
}
.ichiran a:hover{
 opacity: 0.7;  
}
.new_ul li{
 width: 100%;
}
.home .main .group_3{
 overflow: hidden;
}


#inner_col{
 width: 100%;
}
.post_thumb{
 width: 300px;
 margin-bottom: 10px;
 overflow: hidden;
 height: 200px; 
}
.post_thumb img{
 background-size: cover;
}
.thumb_box li{
 width: 300px;
 padding: 1.5%;
 min-height: 200px;
 overflow: hidden;
}
.thumb_box .title a{
 color: #333;
 font-size: 110%;
 font-weight: bold;
}
.thumb_box .date{
 font-size: 80%;
 text-align: left; 
}
.post_thumb img {
    -moz-transition: -moz-transform 0.5s linear;
    -webkit-transition: -webkit-transform 0.5s linear;
    -o-transition: -o-transform 0.5s linear;
    -ms-transition: -ms-transform 0.5s linear;
    transition: transform 0.5s linear;
}
.post_thumb img:hover {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}
.transitions-enabled{
 margin-bottom: 20px;
}
video{
 max-width: 100%;
 width: auto;
}
.main-img{
 position: relative;
 z-index: 1;
 width: 100%;
 height: 100%; 
}
.main-img .title_group{
 z-index: 3; 
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 -webkit-transform: translate(-50%, -50%);
 -ms-transform: translate(-50%, -50%);
 font-size: clamp(1rem, 0.3824rem + 2.8235vw, 2.5rem);
 color: #fff;
 line-height: 1.6;
 font-weight: 500;
 text-align: left;
 text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4); 
}

@media screen and (min-width: 770px) {/* まで */
.home .main article{
 padding: 5vw 0 5vw 0;
}
.home h2.title{
  position: relative;
  text-align: center;
  font-size: clamp(1.875rem, 1.25rem + 1.25vw, 2.188rem);
  font-weight: 500;
  color: #333;
  padding: 0px 0 20px 0;
}
.home h2.title span{
  font-size: 60%;
  font-weight: 400;
  text-align: center;
  margin-top: 20px;
  display: block;
  color: #808080; 
}
.home h2.title::after{
 content: ""; 
 display: inline-block; 
 position: absolute;
 bottom: 0;
 left: 50%;
 -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
 width: 300px;
 height: 5px;
 background: #009245; 
}
.home h2{
 margin-bottom: 30px;
}
.home .sub_title_box{
 min-width: 400px;
 max-width: 530px;
 padding: 20px;
 background-color: #fff;
 margin-bottom: 30px;
 display: inline-block;
}

.home .sub_title_box p{
 font-size: 150%;
 line-height:160%;
}

.home .youtube{
 width: 558px;
 height: 315px;
 margin:50px auto 80px auto; 
}

.home .main .group_1{
 width: 100%;
 overflow: hidden;
 padding-bottom: 80px;
}
.home .main .group_3 .inner,
.home .main .group_2 .inner,
.home .main .group_1 .inner{ 
 max-width: 1200px;
 margin-left: auto;
 margin-right: auto;
 padding: 0px 10px 0 10px; 
}
.home .group_1 .sub_group{
 display: grid;
 grid-template-columns: repeat(auto-fill, 30%);
 justify-content: space-between;
 margin-bottom: 4vw; 
}
.home .group_3 .sub_group{
  margin-top: 5vw; 
  display: grid;
  grid-template-columns: repeat(auto-fill, 30%);
  justify-content: space-between;
}
.home .group_1 .text{
 text-align: center;
 font-size: 110%;
 margin-bottom: 25px; 
}

.home .btn_01 a{
 font-size: 110%; 
 width: 200px;   
 display: block;
 margin: 0 auto 0 auto;
 padding: 9px 10px 10px 10px;
 background-color: #009245;
 color: #fff;
 border-radius: 15px;
 text-align: center;
}
.home .btn_01 a:hover{
 background-color: rgba(0, 146, 69, .9);
}  
.home .btn_01.mgb{
 margin-bottom: 14px;
} 

.home .group_1 .link a{
 width: 100%;
 padding: 18px 0;
 background-color: #009ff6;
 text-align: center;
 font-size: 160%;
 color: #fff;
 display: block;
 border-radius: 10px;
}
.home .group_1 .link a:hover{
 background-color: #009ff6;
}
.home .group_2{
 background-color: #f3fdf6; 
}
.home .group_2 .link a{
 width: 100%;
 padding: 18px 0;
 background-color: #fe8177;
 text-align: center;
 font-size: 160%;
 color: #fff;
 display: block;
 border-radius: 10px;
}
.home .group_2 .link a:hover{
 background-color: #fe8177;
}


.home .group_3 .link_box {
 max-width: 300px;
 margin: 20px auto 0 auto;
}
.home .group_3 .link_box span{
  width: 45px;
  float: right;  
 }
.home a.btn_02{
 float: left; 
 text-align: center; 
 width: 200px; 
 display: inline-block;
 background-color: #000;
 padding: 9px 20px;
 color: #fff;
 border-radius: 10px;  
}
.home a.btn_02:hover{
background-color: rgba(0, 0, 0, .7);
}  
.expand {
  cursor: pointer;
  max-width: 500px;
  overflow: hidden;
  width: 100%;
  display: inline-block;
}
.expand img {
  height: auto;
  transition: transform .6s ease; /* ゆっくり変化させる */
}
.expand:hover img {
  transform: scale(1.1); /* 拡大 */
}



/* ------------------------------------------------------- */
.home .main-img{ 
 width: 100%;
 margin: 0 auto 0px auto;
}

ul.g5{
 display: flex;
 justify-content: space-between; 
}
ul.g5 li{
 width: 33.3333%;
}
/* ------------------------------- news */

.home .news_box{
 margin-bottom: 40px;
}

.home .news_box ul{
 display: flex;
 width: 95%;
 max-width: 1200px;
 margin-left: auto;
 margin-right: auto;
 flex-wrap:wrap;
 justify-content: space-around;  
}
.home .news_box li{
 width: 30%;
 min-height: 100px;
 margin-bottom: 40px;
}


.home .news_box li .title a{
 color: #333;
}
.home .news_box li img{
 width: auto;
 height: 9vw;
 object-fit: cover;
 border-radius: 20px;
}
.news_list .img{
 width: 40%;
 float: left;  
}
.news_list .title_group{
 position: relative; 
 float: right;
 width: 55%;
 height: 100%;
 padding-right: 10px;  
}
.news_list .title{
  min-height: 5vw;
  display: block;
  font-size: clamp(0.8125rem, 0.4375rem + 0.75vw, 1rem);
 }
.news_list .title a{
 line-height: 1.3;
}
 .news_list .cat_name{
 display: inline-block;
}
.news_list .cat_name a{
 border-radius: 7px;
 color: #fff;
 background-color: #77b12a;
 padding: 5px 10px;
 font-size: 80%;
}  
.news_list li:nth-child(2),
.news_list li:nth-child(1){
 border-right: 1px dotted #333; 
}
/*------------------------------------------------ step*/
ul.step{
 margin-bottom: 30px; 
}

ul.step li{
 position: relative;
 background: url(images/home/step-bg.jpg) no-repeat;
 background-size:100% 94%;
 background-position: top;
 margin-bottom: 3vw;
 overflow: hidden;
 min-height: 30vw;  
}
.step li .arrow_1{
  width: 100px;
  min-height: 28vw;
  position: relative;
  background: #0a7a28 url(images/home/2-1.png) no-repeat center 20px;
  background-size: 90% auto;
  float: left;
}
.step li .arrow_1:after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  bottom: -40px;
  left: 0;
  border-style: solid;
  border-color: #0a7a28 transparent transparent transparent;
  border-width: 40px 50px 0 50px;
  z-index: 1;
}
.step li .arrow_2{
  width: 100px;
  min-height: 28vw;
  position: relative;
  background: #1a8856 url(images/home/2-2.png) no-repeat center 20px;
  background-size: 90% auto;
  float: left;
}
.step li .arrow_2:after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  bottom: -40px;
  left: 0;
  border-style: solid;
  border-color: #1a8856 transparent transparent transparent;
  border-width: 40px 50px 0 50px;
  z-index: 1;
}
.step li .arrow_3{
  width: 100px;
  min-height: 28vw;
  position: relative;
  background: #22b573 url(images/home/2-3.png) no-repeat center 20px;
  background-size: 90% auto;
  float: left;
}
.step li .arrow_3:after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  bottom: -40px;
  left: 0;
  border-style: solid;
  border-color: #22b573 transparent transparent transparent;
  border-width: 40px 50px 0 50px;
  z-index: 1;
}
.step li .arrow_4{
  width: 100px;
  min-height: 28vw;
  position: relative;
  background: #4ec48f url(images/home/2-4.png) no-repeat center 20px;
  background-size: 90% auto;
  float: left;
}
.step li .arrow_4:after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  bottom: -40px;
  left: 0;
  border-style: solid;
  border-color: #4ec48f transparent transparent transparent;
  border-width: 40px 50px 0 50px;
  z-index: 1;
}
.step li .arrow_5{
  width: 100px;
  min-height: 28vw;
  position: relative;
  background: #71d0a5 url(images/home/2-5.png) no-repeat center 20px;
  background-size: 90% auto;
  float: left;
}
.step li .arrow_5:after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  bottom: -40px;
  left: 0;
  border-style: solid;
  border-color: #71d0a5 transparent transparent transparent;
  border-width: 40px 50px 0 50px;
  z-index: 1;
}

.step li .sub_group{
 width: 85%; 
 float: right; 
 display: grid;
 grid-template-columns: 48% 48%;
 justify-content: space-between;
 padding-bottom: 5vw;
 margin-top: 3vw;
 margin-right: 3vw; 
}
.step li .sub_group h3{
 font-size: 160%;
 font-weight: 600;
 margin-bottom: 3vw;
}
/*---------------------------------------------------- 新着情報*/  
.news_box_1{
 background-color: #f3f3f3; 
}

.news_box_1 ul{
 max-width: 1200px;
 width: 95%;
 margin: 0 auto 0 auto;
 background-color: #fff;
 padding: 3vw; 
}
.news_box_1 ul li{
  padding: 15px 0;
  border-bottom: 1px dotted #333;
}
.news_box_1 ul li span{
 color: #4ec48f;
 font-weight: bold;
}  
.news_box_1 ul li a{
 color: #333;
 margin-left: 20px;
}  

}/*------------------------------------- PC end */

/* 
----------------------------------------- SP Start */
@media screen and (max-width: 769px) {

.home #inner_col{
 margin-left: auto;
 margin-right: auto;
}

/* --------------------------------------- 2022*/
.home article.event{
 margin-bottom: 80px;
}


.home .news_box ul{
 display: flex;
 width: 100%;
 margin-left: auto;
 margin-right: auto;
 justify-content: center;
 flex-wrap:wrap; 
}

.home .news_box li{
 width: 280px;
 margin-bottom: 40px;
}

.home .conpe_box li a,
.home .news_box li a{
 color: #333;
}
.home .news_box li img{
 width: 100%;
 height: 200px;
 object-fit: cover;
 margin-bottom: 10px;
}

/* ------------------------------------- 2025 */
.home article {
 padding: 30px 0;
}
.home h2{
 text-align: center;
 line-height: 130%;
}


.home h2.title{
  position: relative;
  text-align: center;
  font-size: clamp(1.875rem, 1.25rem + 1.25vw, 2.188rem);
  font-weight: 500;
  color: #333;
  padding: 0px 0 20px 0;
}
.home h2.title span{
  font-size: 60%;
  font-weight: 400;
  text-align: center;
  margin-top: 0px;
  display: block;
  color: #808080; 
}
.home h2.title::after{
 content: ""; 
 display: inline-block; 
 position: absolute;
 bottom: 0;
 left: 50%;
 -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
 width: 300px;
 height: 5px;
 background: #009245; 
}
.home h2{
 margin-bottom: 30px;
}
.home .sub_title_box{
 min-width: 400px;
 max-width: 530px;
 padding: 20px;
 background-color: #fff;
 margin-bottom: 30px;
 display: inline-block;
}

.home .sub_title_box p{
 font-size: 150%;
 line-height:160%;
}

.home .main .group_1{
 width: 100%;
 overflow: hidden;
 padding-bottom: 80px;
}
.home .main .group_3 .inner,
.home .main .group_2 .inner,
.home .main .group_1 .inner{ 
 max-width: 1200px;
 margin-left: auto;
 margin-right: auto;
 padding: 0px 10px 0 10px; 
}
.home .group_1 .sub_group{
 margin-bottom: 4vw; 
}

.home .group_3 .sub_group{
  margin-top: 5vw; 
}
.home .group_3 .sub_group li,
.group_1 .sub_group li{
 margin-bottom: 30px;
}


.home .group_1 .text{
 text-align: center;
 font-size: 110%;
 margin-bottom: 25px; 
}

.home .btn_01 a{
 font-size: 110%; 
 width: 200px;   
 display: block;
 margin: 0 auto 0 auto;
 padding: 9px 10px 10px 10px;
 background-color: #009245;
 color: #fff;
 border-radius: 15px;
 text-align: center;
}
.home .btn_01 a:hover{
 background-color: rgba(0, 146, 69, .9);
}  
.home .btn_01.mgb{
 margin-bottom: 14px;
} 

.home .group_1 .link a{
 width: 100%;
 padding: 18px 0;
 background-color: #009ff6;
 text-align: center;
 font-size: 130%;
 color: #fff;
 display: block;
 border-radius: 10px;
}
.home .group_1 .link a:hover{
 background-color: #b3b3b3;
}
.home .group_2{
 background-color: #f3fdf6; 
}
.home .group_3 .link_box {
 max-width: 300px;
 margin: 20px auto 0 auto;
}
.home .group_3 .link_box span{
  width: 45px;
  float: right;  
 }
.home a.btn_02{
 float: left; 
 text-align: center; 
 width: 200px; 
 display: inline-block;
 background-color: #000;
 padding: 9px 20px;
 color: #fff;
 border-radius: 10px;  
}
.home a.btn_02:hover{
background-color: rgba(0, 0, 0, .7);
}  

.home .group_2 .link a{
 width: 100%;
 padding: 18px 0;
 background-color: #fe8177;
 text-align: center;
 font-size: 130%;
 color: #fff;
 display: block;
 border-radius: 10px;
}
.home .group_2 .link a:hover{
 background-color: #fe8177;
}


/*------------------------------------------------ step*/
ul.step li{
 position: relative;
 background: url(images/home/step-bg.jpg) no-repeat;
 background-size:100% 93%;
 background-position: top;
 overflow: hidden;
 padding-bottom: 40px;
 margin-bottom: 3vw;
   
}
.step li .arrow_1{
  width: 40px;
  min-height: 105vw;
  position: relative;
  background: #0a7a28 url(images/home/2-1.png) no-repeat center 20px;
  background-size: 90% auto;
  float: left;
}
.step li .arrow_1:after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  bottom: -20px;
  left: 0;
  border-style: solid;
  border-color: #0a7a28 transparent transparent transparent;
  border-width: 20px 20px 0 20px;
  z-index: 1;
}
.step li .arrow_2{
  width: 40px;
  min-height: 125vw;
  position: relative;
  background: #1a8856 url(images/home/2-2.png) no-repeat center 20px;
  background-size: 90% auto;
  float: left;
}
.step li .arrow_2:after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  bottom: -20px;
  left: 0;
  border-style: solid;
  border-color: #1a8856 transparent transparent transparent;
  border-width: 20px 20px 0 20px;
  z-index: 1;
}
.step li .arrow_3{
  width: 40px;
  min-height: 113vw;
  position: relative;
  background: #22b573 url(images/home/2-3.png) no-repeat center 20px;
  background-size: 90% auto;
  float: left;
}
.step li .arrow_3:after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  bottom: -20px;
  left: 0;
  border-style: solid;
  border-color: #22b573 transparent transparent transparent;
  border-width: 20px 20px 0 20px;
  z-index: 1;
}
.step li .arrow_4{
  width: 40px;
  min-height: 118vw;
  position: relative;
  background: #4ec48f url(images/home/2-4.png) no-repeat center 20px;
  background-size: 90% auto;
  float: left;
}
.step li .arrow_4:after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  bottom: -20px;
  left: 0;
  border-style: solid;
  border-color: #4ec48f transparent transparent transparent;
  border-width: 20px 20px 0 20px;
  z-index: 1;
}
.step li .arrow_5{
  width: 40px;
  min-height: 98vw;
  position: relative;
  background: #71d0a5 url(images/home/2-5.png) no-repeat center 20px;
  background-size: 90% auto;
  float: left;
}
.step li .arrow_5:after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  bottom: -20px;
  left: 0;
  border-style: solid;
  border-color: #71d0a5 transparent transparent transparent;
  border-width: 20px 20px 0 20px;
  z-index: 1;
}

.step li .sub_group{
  padding-bottom: 3vw;
 margin-top: 20px;
 margin-right: 20px;
 float: right;
 width: 75%; 
}
.step li .sub_group .left{
 margin-bottom: 20px;
}  
.step li .sub_group h3{
 font-size: clamp(1rem, 1rem + 0.6vw, 1.8rem);
 font-weight: 600;
 margin-bottom: 3vw;
}
/*---------------------------------------------------- 新着情報*/  
.news_box_1{
 background-color: #f3f3f3; 
}

.news_box_1 ul{
 max-width: 1200px;
 width: 95%;
 margin: 0 auto 0 auto;
 background-color: #fff;
 padding: 3vw; 
}
.news_box_1 ul li{
  padding: 15px 0;
  border-bottom: 1px dotted #333;
}
.news_box_1 ul li span{
 color: #4ec48f;
 font-weight: bold;
 display: block;
}  
.news_box_1 ul li a{
 color: #333;
}  




}/*------------------------------------- SP end */

/* ----------------------
 home 新着情報
-----------------------*/
ul.new_ul li{
 text-align: left;
 padding: 8px 0 8px 0px;
 border-bottom: 1px dashed #ccc;
 }
.new_ul{
 width: 100%;
 background-color: #fff;
 margin: 0px;
 overflow: auto;
 -webkit-overflow-scrolling: touch;
}
.new_ul li a{
 color: #603813;
}
.newsbox h3{
 font-size: 130%;
 font-weight: bold;
 margin-bottom: 10px;
}

/* カテゴリータイトル */

.new_ul span.name{
 margin-right: 10px;
 display: block;
 float: left;
 text-align: center;
 width: 100px;
 font-size: 11px;
 background-color: #eee;
}
.new_ul .jirei{
 background-color: #d6f1d2;
}
.new_ul span.name.information{
 background-color: #b8d200;
 color: #fff;
}
.new_ul span.name.event{
 background-color: #ee94ae;
 color: #fff;
}
.new_ul .other{
 background-color: #eee;
}
.new_ul .faq{
 background-color: #d5f7fb;
}

@media screen and (min-width: 770px) {/* pc */
.home .newsbox{
 width: 65%;
 float: left;
}
.home .insta_btn{
 float: right;
}
}/* end */

@media screen and (max-width: 769px) {/* スマホ */
.new_ul li a{
 display: block;
 margin-top: 5px;
}
.newsbox{
 overflow: hidden;
 background-color: #fff;
 padding: 20px 10px 0px 10px;
 margin-left: auto;
 margin-right: auto;
 margin-bottom: 25px;
}

}

/* ----------------------
  ページ
------------------------- */
/* 施工事例カテゴリー */
.works .thumb_box li{
 border: 1px solid #ccc;
 min-height: 335px;
 background-color: #fff;
 margin: 10px;
 width: 280px;
}
.works .post_thumb{
 width: 280px;
}
.works .thumb_box li a.text_link{
 color: #333;
}

/* 施工事例ページ */
@media screen and (min-width: 770px) {/* まで */
.works_p li{
 width: 30.3%;
 float: left;
 padding: 1.5%;
 text-align: center;
 margin-bottom: 10px;
}
.works_p li:last-child{
 width: 30.3%;
 float: right;
}
}/* end */

@media screen and (max-width: 769px) {/* 以下 */
.works_p li{
 padding: 1.5%;
 text-align: center;
 margin-bottom: 10px;
 display: table;
 margin-left: auto;
 margin-right: auto;
}
.works_p li a{
 display: block;
}
}/*  */

table.table_02{
 border: 1px solid #ccc;
}
.table_02 td{
 padding: 8px !important;
 border-right: 1px solid #ccc; 
 border-bottom: 1px solid #ccc;
}
.table_02 th{
 background-color: #efefef;
 padding: 8px;
 border-right: 1px solid #ccc; 
 border-bottom: 1px solid #ccc;
}

/* -----------------
 お問い合わせ
 ------------------- */
table.contact_t{
 margin-left: auto;
 margin-right: auto;
} 
table.contact_t th{
 padding: 7px;
 font-weight: bold;
 text-align: left;
 border-bottom: 1px solid #ccc;
}
table.contact_t td{
 padding: 7px;
 text-align: left;
 border-bottom: 1px solid #ccc;
}

.jyusho select{
 margin-top: 5px;
 margin-bottom: 5px;
}
.jyusho input{
 margin-bottom: 5px !important;
}

  
@media screen and (min-width: 770px) {/* まで */
table.contact_t{
 width: 90%;
}
} 

@media screen and (max-width: 769px) {/* 以下 */
table.contact_t{
 width: 100%;
}
table.contact_t td,
table.contact_t th,
table.contact_t tr{
 display: block;
 width: auto;
}
table.contact_t th{
 background-color: #efefef;

}
ul.siki li._1{
 width: 30%;
 float: left;
}
ul.siki li._2{
 width: 40%;
 float: left;
}
ul.siki li._3{
 width: 30%;
 float: right;
}
}
