@charset "utf-8";
/* CSS Document */



body{
	padding-top:0
}

#header{
	background-color:rgba(255,255,255,0.9);
}
#contents_area{
	padding-bottom:100px;
}





/* メイン */
#main{
	position:relative;
	height:0;
	padding-bottom:56%;
	overflow:hidden
}
#main img{
	width:100%;
	height:auto;
}

#main_text,
#main_slide,
#main_slide li,
#main_bnr{
	position:absolute;
}


#main_text{
	top:35%;
	left:50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);

	width:100%;
	color:#fff;
	text-align:center;
	z-index:100;
}
#main_text em{
	display: block;
	padding-bottom:1.2%;
	font-size:16px;
}
#main_text strong{
	font-size:45px;

}


/* スライド */
#main_slide{
	transform: rotate(0.1deg)
}
#main_slide li{
}
#main_slide,
#main_slide li{
	left:0;
	top:0;
	width:100%;
	height:100%;

	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
}
/*
#main_slide img{

	top:50%;
	left:50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}
*/
#main_slide li#slide_01{
	background-image:url(../images/img_main_01.jpg)
}
#main_slide li#slide_02{
	background-image:url(../images/img_main_02.jpg)
}
#main_slide li#slide_03{
	background-image:url(../images/img_main_03.jpg)
}


#main_bnr{
	left:50%;
	bottom: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);

	padding-bottom:7.1%;
	/* width:1026px; */
	width:64.1%;
}
#main_bnr .main_bnr_item{
	float:left;
	/* width:256px; */
	width:24.9%;
}
#main_bnr .main_bnr_item a{
	display: block;
	margin:0 auto;
	/* :230px; */
	width:89.8%;
	background-color:#fff;
}

.slick-dots{
	bottom:0;
	margin-bottom:-12%;
}
.slick-dots li,
.slick-dots li button{
	width:16px;
	height:16px;
}
.slick-dots li{
	margin:0 12px;
}
.slick-dots li button{
	display: block;
	padding: 0;
	border-radius:8px;
	background-color:#aaa
}
.slick-dots li.slick-active button{
	background-color:#00A1E9
}
.slick-dots li button:before,
.slick-prev:before,
.slick-next:before{
	content:none
}

.slick-prev,
.slick-next{
	width:4.3%;
	height:100%;
}
.slick-prev,
.slick-prev:hover,
.slick-prev:focus{
	background:url(../images/icon_top_prev.png) no-repeat center center
}
.slick-next,
.slick-next:hover,
.slick-next:focus{
	background:url(../images/icon_top_next.png) no-repeat center center
}
.slick-prev{
	left:-4.3%
}
.slick-next{
	right:-4.3%
}






.title{
	margin:0 auto;
	padding-bottom:45px;
	width:370px;
	text-align:center;
	line-height:1.2
}
.title strong{
	font-size:45px;
}
.tech_navi .title strong{
	padding-bottom: 0;
}


.title span{
	display:block;
	margin-top:5px;
	padding-top:15px;
	font-size:13px;
	border-top:1px solid #000
}

.title.blue{
	color: #0095D9
}
.title.blue span{
	border-top-color: #0095D9
}
.title.white{
	color: #fff
}
.title.white span{
	border-top-color: #fff
}









/*
工事事業
*/
#to_tech.tech_navi{
	padding:115px 0 0;
}
#to_tech.tech_navi ul li > .photo{
	font-size:38px
}
@media screen and (max-width: 1000px) {
	#to_tech.tech_navi ul li > .photo{
		font-size:35px
	}
}

.tech_navi ul li p{
	float:left;
	width:50%
}
.tech_navi ul li p a{
	font-size:18px;
	line-height:3;
	background-color:#1698d2;
}
.tech_navi ul li p a:hover{
	background-color:#5cb7e0;
}

.tech_navi ul li p:last-of-type a{
	background-color:#88b32f
}
.tech_navi ul li p:last-of-type a:hover{
	background-color:#acca6e
}















/* 会社概要 */
#to_company{
	margin-top:125px;
	padding:90px 0 75px;

	background:#000 url(../images/bg_photo.jpg) no-repeat center top;
	background-position: center 70%
}

#to_company a{
	display:block;
	color:#fff;
	font-weight:bold;
}

#to_company ul{
	display:flex;
	justify-content: center;
	gap: 25px;
	flex-wrap: wrap;
}
#to_company ul li{
	width: 310px;
}
#to_company ul li a{
	border:1px solid #fff;
	line-height:3;
	font-size:30px;
	text-align:center
}
#to_company ul li a:hover{
	text-decoration:none;
	background-color:rgba(255,255,2555,0.2)
}



#to_company ol{
	padding-top:88px;
	text-align:center;
	font-size:22px;
}
#to_company ol:before{
	content:"";
	display:block;
	margin:0 auto 30px;
	width:68px;
	height:67px;
	background:url(../images/icon_doc.png) no-repeat;
}

#to_company ol li{
	display:inline-block
}
#to_company ol li a{
	padding:0 35px;
	line-height:2;
}




/* 更新情報 */
#topics{
	padding-top:95px;
}

#topics .flL{
	position:relative;
	width:470px;
	height:360px;
	border:3px solid #ddd;
	overflow:hidden;
	overflow-y:scroll
}
#topics .flL dl{
	margin:0 auto;
	padding:20px 0;
	width:410px;
	line-height:1.2
}
#topics .flL dt{
	padding-top:15px;
	font-size:13px;
	color:#1798d1
}
#topics .flL dd{
	padding:10px 0 15px;
	font-size:15px;
	border-bottom:1px dotted #999
}
#topics .flL dd a{
	color:#00468C
}





/* facebook */

#topics .flR{
	width:500px
}
#topics .flR #facebook_frame{
	position:relative;
	height:360px;
	overflow:hidden
}
#topics .flR #facebook_frame iframe{
	position:absolute;
	left:0;
	top:0;
	width:100% !important;
	height:100% !important;
}













/* マップ */

#map_frame{
	position:relative;
	height:644px;
}
#map_frame iframe{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
