@charset "utf-8";
/* =======================================

	structure CSS

========================================== */
html,body {
	height:100%;}

#container {
	width:100%;}

#top_headerArea {
	position:fixed;
	top:0;
	left:0;
	z-index:200;
	margin:0 auto;
	width: 100%;
	height:130px;}

#headerArea {
	position:fixed;
	top:0;
	left:0;
	z-index:200;
	margin:0 auto;
	width: 100%;
	height:140px;}

#navArea {
	width:960px;
	height:auto;
	margin:0 auto 20px auto;}

#contentsArea {
	width: 100%;
	height:auto;
	margin:0 auto;}
	
#footerArea {
	width: 1300px;
	margin: 50px auto 0;
	border-top: 1px solid #ccc;
}

/* 【SP】 */
@media screen and (max-width: 769px) {
#container {
	padding:0;
	border:none;}

#top_headerArea,
#headerArea {
	position:static;
	width:100%;
	height:auto;
	margin:0;}

#contentsArea {
	width:100%;
	height:auto;}
	
#footerArea {
	width:100%;
	height:auto;
	position:static;
	bottom:0;
	border-top: 4px double #ccc;
	}
}




/* =======================================

	body

========================================== */
/*【PC】*/
@media screen and (min-width: 769px) {
body {
	min-width: 1500px;
	background-color:#fff;
	color:#000;
	font-size:1.5rem; line-height:2.2rem;/*140%*/}
}
/*【SP】*/
@media screen and (max-width: 770px) {
body {
	font-size:1.5rem; line-height:2.2rem;/*140%*/}
}
	
/* =======================================

	【01】#headerArea

========================================== */
#top_headerArea,
#headerArea {
	width: 100%;
	background:#fff url(images/h_border.png) repeat-x top;}

#header {
	position:relative;
	width: 1300px;
	margin: 0 auto 20px;
	overflow:hidden;}

.h_logoArea {
	display:block;
	width: 135px;
	height: 130px;
	text-align:center;
	padding: 0;
	margin: 0;
	float:left;}

.tagtxt {
	font-size: 12px;}

.h_iso{
	height: 54px;
	float: left}

.h_infoArea {
	overflow: hidden;
	width:350px;
	padding: 0;
	letter-spacing:1px;
	float:right;}

.h_contact {
	margin-bottom: 10px;}
.h_contact li {
	display: inline-block;
	margin-right: 6.5px;
	background: #9dbf55;
	font-size: 12px;}
.h_contact li a {
	display: block;
	padding: 15px 15px 5px;}

.h_contact li a:link, .h_contact li a:visited {
	color: #fff;
	text-decoration: none;}
.h_contact li a:hover {
	color: #ccc;
	text-decoration: none;}
.h_contact li:last-child {
	margin-right: 0;}

.h_infoArea dt {
	font-size:2.5rem; line-height:3.36rem;/*120%*/
	font-weight: bold;
	color: #D86C00;}
.h_infoArea dd {
	font-size: 1.5rem;}

.header_menu_area {
	clear: both;
}

/* header right
----------------------------------*/
.header_r{
	width: auto;
	height: auto;
/*	padding-right: 3%;*/
	float:right;
	text-align:right;}

.h_nav li {
	display: inline-block;
	margin: 5px 0;}


/*【SP】*/
@media screen and (max-width: 769px) {
	#header {
		width:96%;
		height:auto;
		margin: 20px auto;
	}
	
	.h_logoArea {
	}
	
	.tagtxt {
		float: left;
		width: 200px;}
	
	.tagtxt p{
		text-align:center;
	}
	
	.h_infoArea {
		height: auto;
		background:none;
		margin:0 auto;
	}
	
	.h_infoArea p {
		display:none;}
	
	.h_infoArea dt {
		font-size:2.2rem; line-height:1.92rem;/*120%*/
		font-weight:bold;
		margin:0 0 3px 0;}
	.h_infoArea dd {
		letter-spacing:0px;
		font-size: 1.4rem;
	}
	
	.h_logoArea {
	}
	
	.h_infoArea {
	}
	
	.h_iso{
		display:block;
		margin-bottom:10px;
		width:100%;
		height:auto;
		position:static;
		text-align:center;
		float: none;
	}
	
	.h_contact li a {
		display: block;
		padding: 5px 15px 5px;
	}
	
	.header_r{
		float: none;
		padding-right: 10px;
		padding-left: 10px;
		text-align: center;}

}
@media screen and (max-width: 760px) {
	.h_logoArea {
		float: none;
		margin: 0 auto;
	}
	
	.tagtxt {
		width: 100%;
		text-align: center;
		float: none;
		padding: 10px 0 10px 0;
	}
	
	.h_infoArea {
		float: none;
	}
	
	.h_contact li {
		display: inline-block;
		margin-right: 6.5px;
		background: #9dbf55;
		font-size: 12px;
	}
	
	.h_contact li a {
		display: block;
	}
}

@media screen and (max-width: 390px) {
	.h_infoArea {
		width: 100%;
	}
	
	.h_tel img {
		width: 100%;
		height: auto;
	}
	
	.h_contact li {
		display: block;
		margin-right: 0;
		margin-bottom: 10px;
		width: 100%;
		text-align: center;
	}
	
	.h_iso img{
		height:auto;
		margin-top: 10px;
	}

}
/* =======================================

	【02】#mvArea

========================================== */
#mv {
	padding-top:130px;
	position: relative;
	width: 100%;}

#mv img {
	width: 100%;
}

.mv_txt {
	width: 960px;
	margin: 0 auto;}

/*【SP】*/
@media screen and (max-width: 769px) {
	#mv {
		width: 100%;
		margin: 0px auto 40px;
		padding-top:0;
	}
	
	.mv_txt {
		width: auto;
		margin: 0 auto;
	}
}
@media screen and (max-width: 585px) {
	.mv_txt {
		width: auto;
		text-align: center;
	}
}
@media screen and (max-width: 351px) {
	.mv_txt img {
		width: 100%;
		height: auto;
	}
}


/* =======================================

	【03】#navArea

========================================== */
#navArea {}

.gNav li {
	display:block;
	float:left;}

/*.gNav li:first-child {
	display:block;
	border-left:none;
	float:left;}*/

/*【SP】*/
@media screen and (max-width: 769px) {
.spNav {
	background:#9dbf55;
	padding:10px 0 0 0;}

.spNavBtn {
	width:15%;
	height:auto;
	float:right;}

#btn_gnav {
	width:auto;
	height:26px;
	margin:0 15px 8px 0;
	float:right;}

#sp_gnav {
	display:none;
	background:#fff;
}

#sp_gnav li a {
	display:block;
	border-bottom:2px solid #ccc;
	padding:14px;}
}
/* =======================================

	【04】#contentsArea

========================================== */
#contentsArea {
	overflow: hidden;}

.top_contents_box {
	width: 1300px;
	margin: 0 auto;
	padding: 60px 0;
	padding-top: 130px;}

.top_contents_box h2 {
	text-align: center;}

.top_contents_box p.top_contents_p {
	width: 730px;
	margin: 0 auto;
	padding: 15px 10px 40px;
	line-height: 170%;}

.contents_box {
	width: 960px;
	margin: 0 auto;
	padding: 60px 0 30px;}

.contents_box .sub_txt {
	width: 100%;
	margin: 0 auto;
	padding:0 0 40px;
	line-height: 170%;}


.float_box {
	overflow: hidden;
	margin-top: 70px;}

.float_centerbox {
	float: left;
	margin-left: 15px;}

.float_box_recruit {
	float: left;
	margin-top: -300px;
	margin-left: 400px;}

.float_box_l {
	float: left;}
.float_box_r {
	float: right;}

ul.dis_ib2 li {
	display: inline-block;
	vertical-align: top;
	margin: 15px 0;
}

ul.dis_ib3 li {
	display: inline-block;
	vertical-align: top;
	margin: 15px 5px;
}

.bgblue1 {
	background:url(images/contents_img01.jpg) no-repeat;
	background-size: cover;
	height: 410px;
}

.bgblue2 {
	background:url(images/contents_img02.jpg) no-repeat;
	background-size: cover;
	height: 410px;
	margin-top: 350px;
}

.bgblue3 {
	background:url(images/contents_img03.jpg) no-repeat;
	background-size: cover;
	height: 410px;
	margin-top: 350px;
}

.bgblue4 {
	height: 410px;
}

.bgblue5 {
	height: 410px;
	margin-top: 250px;
}

.contents_title {
	width: 1300px;
	border-bottom: 1px solid #ffffff;
	margin: 0 auto;
	text-align: center;
	padding: 0 0 70px 0;
}

.contents_title h2{
	font-size: 30px;
	color: #fff;
	letter-spacing: 0.2em;
}

.contents_title h3 {
	font-size: 30px;
	color: #fff;
	letter-spacing: 0.2em;
	padding: 0 0 40px 0;
	text-align: center;
}

.contents_title p{
	color: #fff;
	letter-spacing: 0.1em;
}

.txtGreen {
	padding: 0!important;
	color: #9dbf55;
}

/*【SP】*/
@media screen and (max-width: 769px) {
	.bgblue1 {
		background: none;
		height: auto;
	}
	
	.contents_title p {
		color: #535353;
	}
	
	.float_box_recruit {
		height: auto;
		overflow: hidden;
		float: none;
		margin: 0 auto;
		text-align: right;
	}
	
	.contents_title h3 {
		font-size: 22px;
		color: #535353;
		padding: 5px 0 0 0;
		border-bottom: 1px solid #D7D7D7;
	}
}


/* 選ばれる理由 */
.top_reason_li {
	width: 365px;
	margin: 0 30px 0 60px;}
.top_reason_li dt {
	margin-bottom: 10px;
	text-align: center}
.top_reason_li dd {
	margin-bottom: 10px;
	text-align: left;
	font-size: 14px;
	letter-spacing: 1.4px;
	text-align: center;
}


/* 施工事例 */
.slider_box {
	overflow: hidden;}
.top_case {
	width: 276px;
	height: 330px;
	padding-top: 15px;
	color: #fff;
	text-shadow: 0 0 3px #000;}
.slider li h3 {
	width: 80px;
	margin: 0 auto 10px;
	padding: 4px 5px 2px;
	border: 1px solid #fff;
	text-align: center;
	font-weight: normal;}

.top_case_detail {
	width: 868px;
	margin: 0 auto;}

.top_case_li dt {
	height: 40px;
	vertical-align: middle;
	text-align: center;
	font-size:18px;
	border-bottom: 1px solid #fff;
	margin-top: 30px;}
.top_case_li dd {
	padding: 0 15px;
	margin-bottom: 10px;}
.top_case_li dd h4 {
	text-align: center;
	font-weight: normal;
	font-size: 18px;
	padding: 15px 0;}

.top_case_li {
	position: relative;
	margin: 0 auto;
	padding: 0 10px;
	}
.top_case h3 {
	position: relative;
	z-index: 10;}
.top_case_li {
	position: relative;
	z-index: 10;}
.top_case_img {
	position: absolute;
	z-index: 1;
	top: 0;}


/* メニュー */
.top_contents_box_l {
	width: auto;
	height: auto;
	float: left;}

.top_contents_box_r {
	width: auto;
	height: auto;
	float: right;}

.top_menu_bg1 {
	overflow: hidden;
	background: url(images/top_menu01_bg.jpg) no-repeat right;
	margin-bottom: 20px;}
.top_menu_bg2 {
	overflow: hidden;
	background: url(images/top_menu02_bg.jpg) no-repeat right;
	margin-bottom: 20px;}
.top_menu_bg3 {
	overflow: hidden;
	background: url(images/top_menu03_bg.jpg) no-repeat right;}
.top_menu_bg4 {
	overflow: hidden;
	background: url(images/top_menu04_bg.jpg) no-repeat right;}

.top_menu_txt {
	float: left;
	width: 50%;
	height:166px;
	padding: 10px;
	background: rgba(0,0,0,0.5);
	text-shadow: 0 0 3px #000;}
.top_menu_txt dt {
	font-size: 25px;
	text-align: center;
	padding: 10px;
	margin-bottom: 15px;
	border-bottom: 1px solid #fff;}
.top_menu_detail {
}

/*【SP】*/
@media screen and (max-width: 769px) {
	.top_menu_detail {
		width: 100%;
		text-align: center;
		margin: 0 auto;
	}
	
	.top_menu_detail img {
		width: 100%;
	}
}

/* ニュース */
.top_news_title {
	position: relative;}
.top_news_title h2 {
	position: relative;}
.top_news_more {
	position: absolute;
	right: 0;
	top: 0;}

.top_news dt {
	clear: both;
	float: left;
	width: 100px;
	padding: 15px 10px;}
.top_news dd.news_tag {
	float: left;
	padding: 10px 10px 10px 10px;
	width: 110px;}
.top_news dd.news_txt {
	padding: 15px 10px 15px 0px;}


.top_contact_btn {
	width: 460px;}


/*【SP】*/
@media screen and (max-width: 769px) {
	#contentsArea {
		width: 100%;
		margin: 0 auto 10px;
	}
	
	.top_contents_box {
		width: 96%;
		margin: 0px auto 40px;
		padding: 0 0 0px;
	}
	
	.top_contents_box h2 img {
		width: 100%;
		height: auto;
	}
	
	.top_contents_box p.top_contents_p {
		width: 100%;
		padding: 10px 5px 20px;
		line-height: 150%;
	}
	
	.contents_box {
		padding: 40px 0 30px;
		width: 96%;
	}
	
	.contents_box .sub_txt{
		width: 100%;
	}
	
	.float_centerbox {
		float: none;
		text-align: center;
		margin: 0 auto 10px;
	}
	
	.float_centerbox img {
		width: 100%;
	}
	
	.float_box_l {
		float: none;
		text-align: center;
		margin-bottom: 20px;
	}
	
	.float_box_r {
		float: none;
		text-align: center;
		margin-bottom: 10px;
	}
	
	.float_box_l img , 
	.float_box_r img {
		width: 100%;
	}
	
	ul.dis_ib3 li{
		width: 30%;
		margin: 15px 1%;}
	ul.dis_ib3 li img {
		width: 100%;
		height: auto;}
	
	.top_reason_li {
		width: 100%;}

	.slider_box {
		padding: 0 50px;}
	.top_case_detail {
		width: 100%;
		margin: 0 auto;}

	.top_news dt {
		clear: both;
		float: left;
		width: 100px;
		padding: 15px 10px;}
	.top_news dd.news_tag {
		float: left;
		padding: 10px 10px 10px 10px;
		width: 110px;}
	.top_news dd.news_txt {
		clear: both;
		padding: 5px 5px 15px 5px;
		border-bottom: 1px solid #C7C7C7;}

	.top_contents_box_l {
		width: auto;
		height: auto;
		float: none;
		margin: 0 auto 20px;}
	.top_contents_box_r {
		width: auto;
		height: auto;
		float: none;
		margin: 0 auto 20px;}

	.top_contact_btn {
		width: 460px;
		margin: 10px auto;}
	
	.contents_title {
		width: auto;
		padding: 0;
		margin: 0 auto 30px;
	}
	
	.float_box {
		margin: 0px auto;
	}
	
	.contents_title h2 {
		font-size: 22px;
		color: #535353;
		padding: 5px 0 0 0;
	}
	
	.bgblue2 {
		margin: 0 auto;
		background: none;
		height: auto;
		overflow: hidden;
	}

	.bgblue3 {
		margin-top: 0px;
		background: none;
		height: auto;
		overflow: hidden;
	}

	.bgblue4 {
		margin: 0 auto;
		height: auto;
		overflow: hidden;
	}

	.bgblue5 {
		margin: 0 auto;
		height: auto;
		overflow: hidden;
	}


}
@media screen and (max-width: 600px) {
	ul.dis_ib3 li{
		display: block;
		width: 305px;
		margin: 15px auto;}
	.top_reason_li dd.spmb30 {
		margin-bottom: 30px;}
}
@media screen and (max-width: 500px) {
	ul.dis_ib2 li img {
		width: 100%;
		height: auto;
	}
	
	/*
	.float_centerbox img {
		width: 100%;}
	*/
	
	.float_box_l img {
		width: 100%;}
	.float_box_r img {
		width: 100%;}

	.top_contents_box_l {
		width: 100%;
		height: auto;}
	.top_contents_box_r {
		width: 100%;
		height: auto;
	}
	
	.top_menu_bg1 {
		overflow: hidden;
	}
	
	.top_menu_bg2 {
		overflow: hidden;
	}
	
	.top_menu_bg3 {
		overflow: hidden;
	}
	.top_menu_bg4 {
		overflow: hidden;
	}
	
	.top_menu_txt {
		float: none;
		width: 100%;
		height:auto;
		padding: 10px;
		background: rgba(0,0,0,0.5);
		text-shadow: 0 0 3px #000;}
	.top_menu_txt dt {
		font-size: 25px;
		text-align: center;
		padding: 10px;
		margin-bottom: 15px;
		border-bottom: 1px solid #fff;
	}
	
	.top_menu_detail {
	}
	
	.top_contact_btn {
		width: 100%;
	}
	
	.top_contact_btn img {
		width: 100%;
		height: auto;
	}
}

@media screen and (max-width: 400px) {
	.slider_box {
		padding: 0;}

}

@media screen and (max-width: 330px) {
	ul.dis_ib3 li {
		width: 100%;}

	ul.dis_ib3 li img {
		width: 100%;
		height: auto;}


}

/* =======================================

	【05】#footerArea

========================================== */
#footerArea {
	
}
	
.footerContents {
	width:1300px;
	margin:0 auto 30px;}

.f_logoArea {
	width:151px;
	height:auto;
	margin:0;
	float:left;
	padding-top: 30px;
}

.f_logo {
	background: url(images/f_border_dot.png) no-repeat bottom;
	height: 46px;}

.f_logoArea dd.f_add {
	font-size: 1.4rem;
	margin-bottom: 10px;}
.f_logoArea dd.f_tel, .f_logoArea dd.f_fax {
	font-size: 2.4rem;
	line-height: 120%;}

.f_contentsArea {
	height:auto;
	padding-top: 40px;
	width: 780px;
	float:right;}

.f_contentsArea li {
	background:url(images/arrow.jpg) no-repeat 0 4px;
	padding:0 0 0 20px;
	margin: 10px 0 15px 0;
	float: left;}

.f_contentsArea li:not(:last-child) {
	margin-right: 20px;
}


/*【SP】*/
@media screen and (max-width: 769px) {
	.footerContents {
		width:100%;
		height:auto;
		padding: 0;
		margin:0 auto;
	}
	
	.f_logoArea {
		display: block;
		margin-bottom: 10px;
		width: 100%;
		height: auto;
		position: static;
		text-align: center;
		float: none;
	}
	
	.f_logoArea img {
	}
	
	.f_logoArea dd {
		padding-left: 0;}

	.f_logoArea dd.f_add {
		font-size: 1.3rem;
		margin-bottom: 10px;}
	.f_logoArea dd.f_tel, .f_logoArea dd.f_fax {
		font-size: 2.0rem;
		line-height: 120%;}
	
	.f_contentsArea {
		width:100%;
		height:auto;
		float:none;
		padding-top: 20px;
		margin: 0 auto;
	}
	
	.f_contentsArea li {
		margin: 0;
		background: url(images/arrow.jpg) no-repeat 10px 14px;
	}
	
	.f_contentsArea li a {
		display: block;
		padding: 10px 0;
	}
	
	.f_contentsArea li:last-child {
		border-bottom: none;
	}
	
	.f_contentsTitle {
		text-align: center;
		margin: 0;}
	
	.f_contentsTitle img {
		width:auto;
		height:auto;}
	
	.f_menu01 {
		width:200px;
		height:auto;
		margin:0 auto;
		float:none;}
	
	.f_menu02 {
		width:200px;
		height:auto;
		margin:0 auto;
		float:none;}
	
	.f_contentsArea li {
		border-bottom: 1px dotted #c7c7c7;
		width: 100%;
		float: none;
		padding: 0 0 0 30px;
	}
	
	.f_contentsArea li:first-child {
		border-top: 1px dotted #c7c7c7;
	}
	
	.f_menu01 {
		width:100%;
		height:auto;
		margin:0 auto;
		float:none;}
	
	.f_menu02 {
		width:100%;
		height:auto;
		margin:0 auto;
		float:none;}
}

@media screen and (max-width: 450px) {
	.f_contentsTitle img {
		width: 100%;
		height:auto;}

}


/* =======================================

	【06】.copyrightArea

========================================== */
.copyrightArea {
	width:auto;
	height:30px;
	color: #878787;
	text-align:center;
	font-size:1.3rem; line-height:1.56rem;/*120%*/
	padding:7px 0 0 0;
}

/*【SP】*/
@media screen and (max-width: 769px) {
	.copyrightArea {
		height: auto;
		padding: 15px 0;
		background: #9ebf56;
		color: #fff;
	}
}

/* =======================================

	【07】#pageTop

========================================== */
#pageTop{
	position:fixed;
	background: #9dbf55;
	/* Firefox v1.0+ */
	-moz-border-radius:7px ;
	/* Safari v3.0+ and by Chrome v0.2+ */
	-webkit-border-radius:7px ;
	/* Firefox v4.0+ , Safari v5.0+ , Chrome v4.0+ , Opera v10.5+  and by IE v9.0+ */
	border-radius:7px ;
	border: 2px solid #fff;
	bottom:20px;
	right:30px;
	padding:20px 20px 17px 20px;
	z-index: 100;}

#pageTop:hover{
	opacity: 0.6;}

/* 【SP】 */
@media screen and (max-width: 769px) {
#pageTop {
	bottom:10px;
	right:10px;
	padding:15px 15px 12px 15px;}
}


/*-------------------------------------------------------
	.mainContents
-------------------------------------------------------*/
.mainContents {
	float: left;
	width: 720px;
	margin-bottom: 30px;}


/*【SP】*/
@media screen and (max-width: 769px) {
	.mainContents {
		float: none;
		width: 96%;
		margin: 0 auto 30px;}
}
@media screen and (max-width: 600px) {
	.side_news dt {
		float: none;
		width: 100px;
		padding: 7px 10px 2px;}
	.side_news dd {
		padding: 2px 10px 7px 10px;
		border-bottom: 1px dotted #373737;}

}
@media screen and (max-width: 340px) {

}


/*-------------------------------------------------------
	.sideContents
-------------------------------------------------------*/
.sideContents {
	width:210px;
	height:auto;
	float: right;}
	
.sideContents li {
	margin:0 0 10px 0;}

/*【SP】*/
@media screen and (max-width: 769px) {
	.sideContents {
		width:440px;
		height:auto;
		margin: 0 auto;
		text-align:center;
		float:none;}
	
	.sideContents li {
		display: inline-block;
		margin:0 2px 10px 2px;}
}
@media screen and (max-width: 470px) {
	.sideContents {
		width:210px;}

}

