@charset "UTF-8";


/*共通*/
.u_mainimg{
	margin-bottom: 100px;
}
.u_main_tit{
	max-width: 100%;
    margin: 0 auto;
    padding: 60px 0 40px;
    text-align: center;
	background: #58758542;
}
.u_main_tit h1{
	font-size: 2rem;
    font-weight: 600;
    color: #092431;
	margin-bottom: 10px;
}
.u_content_wrap{
	max-width: 100%;
    margin: 0 auto;
    padding: 100px 0 100px;
}
.u_content{
	max-width: 980px;
	margin: 0 auto;
}
.u_content h2{
	font-size: 1.6em;
    letter-spacing: 3px;
    color: #165f6c;
	text-align: center;
	max-width: 500px;
    margin: 50px auto 20px;
	font-weight: 600;
}
.u_content h3{
	position: relative;
    line-height: 1.4;
    padding:0.25em 1em;
    top:0;
	font-size: 1.3em;
    letter-spacing: 3px;
    text-align: center;
	margin: 50px auto 40px;
	font-weight: 600;
	max-width: 800px;
}
.u_content h3:before, h3:after {
  position: absolute;
  top: 0;
  content:'';
  width: 8px;
  height: 100%;
  display: inline-block;
}
.u_content h3:before {
  border-left: solid 1px #3F51B5;
  border-top: solid 1px #3F51B5;
  border-bottom: solid 1px #3F51B5;
  left: 0;
}
.u_content h3:after {
  content: '';
  border-top: solid 1px #3F51B5;
  border-right: solid 1px #3F51B5;
  border-bottom: solid 1px #3F51B5;
  right: 0;
}
.u_content h4{
	letter-spacing: 3px;
    color: #165f6c;
	text-align: center;
    margin: 50px auto 20px;
	font-weight: 600;
}
section.u_content_wrap p {
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0.8px;
    margin: 0 0 30px;
}
.u_content .service_box{
	margin-bottom: 100px;
}
.u_content .service_box02{
	margin-bottom: 50px;
}
p.tit{font-weight: 700;}
.telbox{font-size: 1.5em;
    margin-right: 10px;}
.dlbtn_box{
	margin: 150px auto 0;
}
.dlbtn_box .button a {
    position: relative;
    overflow: hidden;
    border-radius: 3px;
    text-decoration: none;
    display: block;
    max-width: 300px;
    background: #333;
    margin: auto;
    padding: 30px;
    font-family: "Noto Sans Japanese";
    text-align: center;
    line-height: 1.8;
    text-decoration: none;
    font-weight: 500;
    outline: none;
    color: #fff;
    transition: ease .2s;
}
.button a::before {
  content: '';
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
  transform: skewX(-25deg);
}

.button a:hover::before {
  animation: shine 0.7s;
}

@media only screen and (max-width: 1024px) {
	.u_main_tit {
    margin: 23px auto 0;
	}
}

@media only screen and (max-width: 980px) {
	.u_content{
	width: 100%;
    }
	.u_content .service_box{
	width: 90%;
	margin: 0 auto;
    }
}
@media only screen and (max-width: 768px) {
	section.u_content_wrap p {
	   font-size: 15px;
	}
	.telbox{margin-right: 0;}
	.u_mainimg {
    margin-bottom: 50px;
}
	.dlbtn_box{
	width: 90%;
    margin: 100px auto 0;
}
	.dlbtn_box .button a {
    font-size: 0.8em;
}

}
@media only screen and (max-width: 479px) {
	.u_content_wrap{
	padding: 50px 0 100px;
}
	.u_main_tit h1 {
    font-size: 1.8rem;
}
	.u_content h2{
	font-size: 1.4em;
}
	section.u_content_wrap p {
		 font-size: 13px;
		 line-height: 25px;
		 margin-bottom: 20px;
	}
	.u_mainimg {
    margin-bottom: 15px;
}
}
@media only screen and (max-width: 375px) {
	.u_main_tit h1 {
    font-size: 1.5rem;
}
	.u_content h2{
	font-size: 1.2em;
}
}


/*----------------------------

グリストラップ清掃#greasetrap

------------------------------*/
#greasetrap .u_main_tit{
	/*background: url("../images/service02.jpg");
	background-size: cover;*/
}
#greasetrap .list_2col{
	gap: 30px 40px;border: 1px solid #ccc;
    margin-bottom: 30px;
    padding: 3%;
}
#greasetrap .list_l{width:30%;}
#greasetrap .list_r{width:70%;}




/*----------------------------

コンサルティング事業#consulting

------------------------------*/
#consulting .u_main_tit{
	/*background: url("../images/service02.jpg");
	background-size: cover;*/
}
#consulting .list_2col{
	border: 1px solid #ccc;
    margin-bottom: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#consulting .list_l{
	width: 30%;
    font-weight: 600;
    font-size: 1.1rem;
    text-align: center;
    background: #337093;
	color: #fff;
    padding: 35px;
}
#consulting .list_r{
	width:70%;
    padding: 24px;
    line-height: 1.5;
}
@media only screen and (max-width: 980px) {
	#consulting .u_content_wrap {
    padding: 0 0 100px;
	}
	.u_content .text_box {
		width: 90%;
		margin: 0 auto;
	}
}
@media only screen and (max-width: 768px) {
	#consulting .list_2col{
		display: block;
	}
	#consulting .list_l,#consulting .list_r {
		width: 100%;
		padding: 10px 30px;
	}

}
/*----------------------------

ドローン事業#drone_survey

------------------------------*/
.table-wrapper {
    overflow-x: auto;
}

.comparison-table {
    width: 100%;
    table-layout: auto;
    border-collapse: collapse;
}

.table-header {
    background-color: #3b82f6;
    color: #ffffff;
    text-align: left;
    font-size: 0.875rem;
}
.table-data {
padding: 1rem ;
font-size: 0.75rem;
line-height: 1.3;
}
.sanko p.tit{margin: 0;}
.sanko a:link {
    color: #03A9F4;
    text-decoration: underline;
}
#drone_survey .flexbox{display: -webkit-box;  display: -ms-flexbox;  display: flex;}
#drone_survey .l_box{width: 40%}
#drone_survey .r_box{width: 60%}





@media (max-width: 768px) {
.table-data {
padding: 0.5rem 0.5rem;
font-size: 0.75rem;
line-height: 1.3;
}
.sanko{margin-top: 30px;}
.sanko p.tit {
margin: 50px 0 0;
}
.sanko li {
line-height: 1.5rem;
margin-bottom: 15px;
}
.sanko a:link {
font-size: 0.8rem;
}
.service_box h2{margin-top: 80px;}
#drone_survey .flexbox{display: block;}
#drone_survey .l_box{width: 60%; margin: 0 auto;}
#drone_survey .r_box{width: 90%; margin: 0 auto;}
#drone_survey th {
    background-color: #3b82f6;
    text-align: center;
        font-size: 0.7rem;
}
}
@media (max-width: 479px) {
            
}
















/*----------------------------

会社情報#company

------------------------------*/
#company .u_main_tit{
	/*background: url("../images/service02.jpg");
	background-size: cover;*/
}
#company dl dt, #company dl dd {
  font-size: 18px;
  line-height: 2;
  border-bottom: 1px solid #C4C4C4;
  padding: 30px;
}
#company dl dt {
  width: 25%;
  padding-left: 50px;
}
#company dl dd {
  width: 75%;
}
@media only screen and (max-width: 768px) {
	#company dl dt, #company dl dd {
    font-size: 1rem;
    padding: 20px;
    padding-left: 0;
	line-height: 1.5;
}
	#company dl dt {
  width: 34%;
}
#company dl dd {
  width: 66%;
}
}

/*----------------------------

お知らせ#info

------------------------------*/
#info.u_main_tit{
	/*background: url("../images/service02.jpg");
	background-size: cover;*/
}
#info .infobox{
	border-bottom: 1px solid #ccc;
	margin-bottom: 50px;
}
#info .infobox .tit {
	font-size: 20px;
	font-weight: bold;
}



@media only screen and (max-width: 768px) {
	#info .infobox .tit {
		font-size: 16px;
	}
}

@media only screen and (max-width: 768px) {
	#info .infobox {
		margin-bottom: 20px;
	}
	#info .infobox .tit {
		font-size: 16px;
	}
}

/*----------------------------

問合せ#contact

------------------------------*/
#contact form#mail_form * {
  box-sizing: border-box;
}
#contact form#mail_form {
  border: none;
  padding: 20px;
margin: 0 auto 50px;

}
#contact form#mail_form dl {
  width: 95%;
}
#contact form#mail_form dl dt,
#contact form#mail_form dl dd {
  font-size: 18px;
  padding: 20px 0;
}
#contact form#mail_form textarea {
  font-size: 18px;
}
#contact form#mail_form dl dt {
  width: 30%;
  float: unset;
  display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
  text-align: left;
  /*padding: 30px 20px 30px 0;*/
  border-top: none;
}
#contact form#mail_form dl dd {
  width: 70%;
  border-top: none;
  /*padding: 30px 0 30px 20px;*/
}
#contact form#mail_form dl dt span.required,
#contact form#mail_form dl dt span.optional {
  float: unset;
  font-size: 14px;
  padding: 3px 8px 2px;
  font-style: normal;
  margin-right: 20px;
}
#contact form#mail_form dl dt span.required {
  background: #008D1F;
  border: 1px solid #008D1F;
}
#contact form#mail_form dl dt span.optional {
  background: #666;
  border: 1px solid #666;
}
#contact form#mail_form input#name_1, #contact form#mail_form input#read_1,
#contact form#mail_form input#phone, #contact form#mail_form input#fax,
#contact form#mail_form input#company {
  width: 50%;
  width: calc( 100% - 4% - 2px );
}
#contact form#mail_form input#address, #contact form#mail_form input#mail_address {
  width: calc( 100% - 4% - 2px );
}
#contact form#mail_form input#postal {
  width: 30%;
}
#contact form#mail_form input {
  background-color: #fff;
  font-size: 18px;
}
#contact form#mail_form textarea {
  background-color: #fff;
}
#contact form#mail_form p#form_submit {
  width: 100%;
  text-align: center;
}
#contact form#mail_form input[type="button"] {
  max-width: 300px;
  width: 80%;
  padding: 20px 0;
  border-radius: 15px;
  border: 1px solid #cccccc;
  color: #06062C;
  background-color: #F4F6F1;
  font-size: 20px;
  font-weight: bold;
  transition: 0.3s ease;
  margin-left: 0;
}
#contact form#mail_form input[type="button"]:hover {
  cursor: pointer;
  color: #fff;
  background-color: #008D1F;
  transition: 0.3s ease;
}
#contact form#mail_form input[type="text"],
#contact form#mail_form input[type="email"],
#contact form#mail_form input[type="tel"] {
  height: 50px;
}
#contact form#mail_form input[name="postal"] + a {
  background: #34372A;
  border-color: #34372A;
}
#contact form#mail_form input[name="postal"] + a:hover {
  background: #34372A;
  border-color: #34372A;
  opacity: 0.8;
}

#contact .contact_waku {
	text-align: center;
  border: 1px solid #ccc;
  padding: 2em 2em;
}
#contact .contact_waku .tel {
	font-size: 30px;
	font-weight: bold;
	margin: 20px 20px;
}
#contact .contact_waku .tel span {
	font-size: 40px;
	font-weight: bold;
}
#contact .contact_waku > p:last-of-type {
	margin: 0;
}



@media only screen and (max-width: 1024px) {
  #contact .u_sec {
    padding: 80px 0 100px;
  }
  #contact .contact_tel li,
  #contact .contact_tel li a {
    font-size: 25px;
  }
  #contact form#mail_form dl dt,
  #contact form#mail_form dl dd {
    font-size: 16px;
  }
  #contact form#mail_form input {
    font-size: 16px;
  }
  #contact form#mail_form textarea {
    font-size: 16px;
  }
}

@media only screen and (max-width: 768px) {
  #contact .sec_p {
    width: 100%;
  }
#contact .sec_p span {
	font-size: 0.8rem;
}
  #contact form#mail_form {
    margin: 0 auto;
  }
  #contact form#mail_form dl {
    width: 100%;
  }
  #contact form#mail_form dl dt {
    width: 100%;
    padding: 20px 0 0;
  }
  #contact form#mail_form dl dd {
    width: 100%;
    padding: 15px 0 20px;
  }
  #contact form#mail_form dl dt span.required,
  #contact form#mail_form dl dt span.optional {
    margin-bottom: 0;
    font-size: 11px;
  }
  #contact form#mail_form input#postal {
    width: 40%;
  }
  #contact form#mail_form input#name_1, #contact form#mail_form input#read_1,
  #contact form#mail_form input#phone, #contact form#mail_form input#fax,
  #contact form#mail_form input#company {
    width: 100%;
  }
  #contact form#mail_form input#address, #contact form#mail_form input#mail_address {
    width: 100%;
  }
  #contact form#mail_form textarea {
    width: 100%;
  }
  #contact form#mail_form input[type="button"] {
    font-size: 18px;
  }
	#contact .contact_waku {
		width: 90%;
		margin: 0 auto;
	}
	#contact .contact_waku > div {
		-webkit-box-orient: vertical;
	  -webkit-box-direction: normal;
	  -ms-flex-direction: column;
	  flex-direction: column;
	}
	#contact .contact_waku .tel {
		font-size: 20px;
		margin: 10px 0px;
	}
	#contact .contact_waku .tel span {
		font-size: 35px;
	}
}

@media only screen and (max-width: 650px) {
  #contact .contact_tel {
    -webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: column;
  	flex-direction: column;
  }
  #contact form#mail_form dl dt,
  #contact form#mail_form dl dd {
    font-size: 14px;
  }
  #contact form#mail_form input {
    font-size: 14px;
  }
  #contact form#mail_form textarea {
    font-size: 14px;
  }
}

@media only screen and (max-width: 479px) {
  #contact .u_sec {
    padding: 50px 0 100px;
  }
  #contact .contact_tel li,
  #contact .contact_tel li a {
    font-size: 20px;
  }
  /*#contact form#mail_form dl dt span.required,
  #contact form#mail_form dl dt span.optional {
    font-size: 10px;
  }*/
  #contact form#mail_form dl dt {
    padding: 15px 0 0;
  }
  #contact form#mail_form dl dd {
    padding: 10px 0 15px;
  }
  #contact form#mail_form p#form_submit {
    margin: 10px auto 0;
  }
  #contact form#mail_form input[type="button"] {
    font-size: 16px;
    padding: 15px 0;
  }
  #contact form#mail_form input[type="text"],
  #contact form#mail_form input[type="email"],
  #contact form#mail_form input[type="tel"] {
    height: 35px;
  }
  #contact_send .btn {
    margin-top: 50px;
  }

	#contact .contact_waku {
		padding: 1.5em 1em;
	}
	#contact .contact_waku .tel {
		font-size: 20px;
		margin: 10px 0px;
	}
	#contact .contact_waku .tel span {
		font-size: 26px;
	}
}






@media only screen and (max-width: 980px) {}
@media only screen and (max-width: 768px) {}
@media only screen and (max-width: 479px) {}
@media only screen and (max-width: 375px) {}
