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

	common.css

========================================== */
/*pc*/
@media screen and (min-width: 769px) {
	.sp {display:none;}
}

/*sp*/
@media screen and (max-width: 768px) {
	.pc {display:none;}
}


/* Link
========================================== */
a:link {color:#24830E;}
a:visited {color:#24830E;}
a:hover {color:#24830E; text-decoration:none;}
a:hover img.ImgOn {opacity: 0.7;}
a.zoomin{
	display: block;
	position: relative;}

a.zoomin::after{
	content: "";
	z-index: 100;
	position: absolute;
	right:5px;
	bottom:5px;
	background: url(../images/icon_zoomin.png) 0 0 no-repeat;
	width: 30px;
	height: 30px;
}

a.zoomin:hover{
	opacity: 0.7;}

/* Clear
========================================== */
.clear:after{
	content:".";
	display:block;
	clear:both;
	height:0px;
	visibility:hidden;
	font-size:0;
}

/* Margin
========================================== */
.mb10{margin-bottom:10px!important;}
.mb20{margin-bottom:20px!important;}
.mb30{margin-bottom:30px!important;}
.mb40{margin-bottom:40px!important;}
.mb50{margin-bottom:50px!important;}



/* Padding
========================================== */


/* Text
========================================== */
.acenter{text-align:center;}
.aright{text-align:right;}
.txt_red {color:#ad0000;}

.contents_inner p{
	margin-bottom:10px;
	line-height:1.8em;}

.caption{
	display:block;
	margin-top:10px;}

.caption.center{
	text-align: center;}

/* Font
========================================== */

/* Heading
========================================== */
.ttl_type01{
	line-height:1.2;
	display:table;
	width:100%;
	height:200px;
	background-size:cover;}

.ttl_type01 span{
	display:table-cell;
	color:#fff;
	font-size:36px;
	font-weight:bold;
	vertical-align:middle;
	text-align:center;
	letter-spacing:0.5em;
	text-shadow: 1px 1px 5px #000;}

.ttl_type01 span.txt01{
	display:inline;
	text-align:center;
	letter-spacing:0.1em;}

/*タイトル背景*/
.ttl_type01.company{
	background:url(../images/company/ttl_company.png) center 0 no-repeat;
	background-size:cover;}
.ttl_type01.landscape{
	background:url(../images/landscape/ttl_landscape.png) center 0 no-repeat;
	background-size:cover;}
.ttl_type01.manage{
	background:url(../images/manage/ttl_manage.png) center 0 no-repeat;
	background-size:cover;}
.ttl_type01.flower{
	background:url(../images/flower_green/ttl_flower.png) center 0 no-repeat;
	background-size:cover;}
.ttl_type01.recruit{
	background:url(../images/recruit/ttl_recruit.png) center 0 no-repeat;
	background-size:cover;}
.ttl_type01.facility{
	background:url(../images/facility/ttl_facility.png) center 0 no-repeat;
	background-size:cover;}
.ttl_type01.sitemap{
	background:url(../images/sitemap/ttl_sitemap.png) center 0 no-repeat;
	background-size:cover;}
.ttl_type01.news{
	background:url(../images/news/ttl_news.png) center 0 no-repeat;
	background-size:cover;}
.ttl_type01.contact{
	background:url(../images/contact/ttl_contact.png) center 0 no-repeat;
	background-size:cover;}
.ttl_type01.policy{
	background:url(../images/policy/ttl_policy.png) center 0 no-repeat;
	background-size:cover;}
.ttl_type01.civil{
	background:url(../images/civil/ttl_civil_engineering.png) center 0 no-repeat;
	background-size:cover;}
.ttl_type01.sdgs{
	background:url("../images/sdgs/ttl_sdgs.png") center 0 no-repeat;
	background-size:cover;}
.ttl_type01.course{
	background:url(../images/course/ttl_course.png) center 0 no-repeat;
	background-size:cover;}

.ttl_type02{
	margin:30px 0;
	padding-bottom:20px;
	background:url(../images/bg_ttltype02.png) left bottom repeat-x;
	font-size:22px;
	font-weight:normal;}

.ttl_type03{
	margin: 0 0 20px;
	padding-top:4px;
	padding-left:35px;
	min-height:30px;
	background:url(../images/bg_ttltype03.png) left top no-repeat;
	color:#267c13;
	font-size:20px;
	font-weight:normal;}

.ttl_type04{
	position:relative;
	margin:0 0 15px;
	padding:8px 10px;
	border-left: 5px solid #267c13;
	font-size:16px;
	font-weight:normal;}

.ttl_type04::after {
	position: absolute;
	left: 0;
	bottom: 0;
	content: '';
	width: 100%;
	height: 0;
	border-bottom: 1px solid #dadcad;
}

.ttl_type05{
	margin-bottom:15px;
	padding:10px 15px;
	background-color:#267C13;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	color:#fff;
	font-size:100%;
	font-weight:normal;}

.ttl_type06{
	margin-bottom:15px;
	padding:10px 10px;
	background-color:#DADCAD;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	font-size:100%;
	font-weight:normal;}

@media screen and (max-width: 768px) {
	.ttl_type01{
		height:auto;}

	.ttl_type01 span{
		padding:30px 0 20px 10px;
		font-size:20px;
		letter-spacing:normal;
		text-align:left;}



}


/* Banner
========================================== */
.bnr_type01{}


/* List
========================================== */
.list_type01{
	margin-bottom:20px;}

.list_type01 li{
	margin-bottom:10px;
	padding-left:18px;
	background:url(../images/arrow_01.png) 0 5px no-repeat;
}

.list_type01 li ul{
	margin-top:10px;
}


.list_type02{margin-bottom:0;}

.list_type02 li{
	float:left;
	margin-right:20px;
	margin-bottom:10px;
	padding-left:18px;
	background:url(../images/arrow_01.png) 0 4px no-repeat;
}

/* clear */
.list_type02:after{
	content:".";
	display:block;
	clear:both;
	height:0px;
	visibility:hidden;
	font-size:0;
}

/* number */
.list_number01{
	margin-top:20px;
	margin-bottom:20px;
	margin-left:25px;
}

.list_number01 li{
	margin-bottom:10px;
	list-style-type:decimal;
}

/* Link
========================================== */
.link_type01{
	margin-bottom:20px;}

.link_type01 li{
	margin-bottom:10px;
	padding-left:18px;
	background:url(../images/arrow_link.png) 0 4px no-repeat;
}


/*外部リンク*/
.pdfLink{
	zoom:1;
	padding-right:26px;
	background:url(../images/icon_pdf.gif) 100% 0.3em no-repeat;
	_background-position:100% 0.4em;}

.winLink{
	zoom:1;
	padding-right:22px;
	background:url(../images/icon_win.gif) 100% 0.3em no-repeat;
	_background-position:100% 0.4em;}

.arrowLink{
	padding-left:18px;
	background:url(../images/arrow_link.png) 0 4px no-repeat;}


/*アンカーリンク*/
.anchor {
	margin-top: -140px;
	padding-top: 140px;
}

@media screen and (max-width: 768px) {
	.anchor {
		margin-top:-60px;
		padding-top:60px;
	}
}

/* Button
========================================== */
.btn_detail{
	margin-top:20px;
	margin-bottom:20px;
	text-align:center;
}

.btn_detail a{
	padding:5px 40px 5px 30px;
	background-color:#000;
	background-image:url(../images/arrow_detail.png);
	background-position:right 10px top 50%;
	background-repeat:no-repeat;
	color:#fff;
	text-decoration:none;}

.btn_detail a:hover{
	background-color:#929292;}


/* Image
========================================== */
@media screen and (max-width: 768px) {
	.img100,
	.img100 img{
		width:100%;
	}

	.img90,
	.img90 img{
		margin:0 auto;
		width:90%;
	}
}


/* 画像とテキスト
========================================== */
.imageAndText{
	width: 100%;
	overflow:hidden;
	margin-bottom:15px;
}

.imageAndText .imageBlockLeft{
	float:left;
	margin-right:20px;
}

.imageAndText .imageBlockRight{
	float:right;
	margin-left:20px;
}

.imageAndText .textBlock{
	overflow: hidden;
}

/* clear */
.imageAndText:after{
	content:".";
	display:block;
	clear:both;
	height:0px;
	visibility:hidden;
	font-size:0;
}

@media screen and (max-width: 768px) {
	.imageAndText .imageBlockLeft,
	.imageAndText .imageBlockRight{
		width: 30%;
	}
	.imageAndText .imageBlockLeft img,
	.imageAndText .imageBlockRight img{
		max-width: 100%;
		height: auto;
	}
	
}

@media screen and (max-width: 599px) {
	.imageAndText .imageBlockLeft,
	.imageAndText .imageBlockRight{
		float:none;
		width: 100%;
		margin:0 0 10px 0;
		margin-bottom:10px;
		text-align:center;
	}
}

@media screen and (max-width: 480px) {
	.imageAndText .imageBlockLeft img,
	.imageAndText .imageBlockRight img{
		width:100%;
	}
}

/* Block
========================================== */
.block_container{
	margin-bottom:20px;
	overflow:hidden;
	width:970px;
}

.block_container .block_col2{
	float:left;
	margin-right:10px;
	width:475px;
}

.block_container .block_col2:nth-child(even){
	margin-right:0;
}

.block_container .block_col3{
	float:left;
	margin-right:15px;
	width:310px;
}
.block_container .block_col3:nth-child(3n){
	margin-right:0;
}

.block_container .block_col4{
	float:left;
	margin-right:12.5px;
	width:230px;
}
.block_container .block_col3:nth-child(4n){
	margin-right:0;
}

.block_container .block_col2 img,
.block_container .block_col3 img,
.block_container .block_col4 img{
	max-width:100%;
	height:auto;
}
	
/* clear */
.block_container:after{
	content:".";
	display:block;
	clear:both;
	height:0px;
	visibility:hidden;
	font-size:0;
}

@media screen and (max-width: 768px) {
	.block_container{
		margin-bottom:20px;
		overflow:hidden;
		width:100%;
	}

	.block_container .block_col2{
		margin-right:4%;
		width:48%;
	}

	.block_container .block_col3{
		margin-right:2%;
		width:32%;
	}
	
	.block_container .block_col4{
		margin-right:2%;
		margin-bottom: 10px;
		width:49%;
	}
	
	.block_container .block_col2:nth-child(even),
	.block_container .block_col3:nth-child(3n),
	.block_container .block_col4:nth-child(even){
		margin-right:0;
	}
	
	.block_container .block_col2 img,
	.block_container .block_col3 img,
	.block_container .block_col4 img{
		width: 100%;
		height: auto;
	}

}

@media screen and (max-width: 480px) {
	.block_container{
		margin-bottom:20px;
		overflow:hidden;
		width:100%;
	}

	.block_container .block_col2,
	.block_container .block_col3,
	.block_container .block_col4{
		float:none;
		margin-right:0;
		margin-bottom:10px;
		width:100%;
	}

}


/* Table
========================================== */
.table_type01{
	width:100%;
	margin-bottom:20px;
	border-collapse: separate;
	border-spacing: 6px;
}

.table_type01 th,
.table_type01 td{
	text-align:left;
	vertical-align:middle;
	padding:10px 15px;
}

.table_type01 th{
	background-color:#267C13;
	color:#fff;
	font-weight:normal;
}

.table_type01 td{
	border-bottom:1px dashed #D5E6AB;}

.table_type02{
	width:100%;
	margin-bottom:20px;
	border-collapse: separate;
	border-spacing: 6px;
}

.table_type02 th,
.table_type02 td{
	text-align:left;
	vertical-align:middle;
	padding:10px;
}

.table_type02 th{
	background-color:#D5E6AB;
	font-weight:normal;
}

.table_type02 td{
	border-bottom:1px dashed #D5E6AB;}


@media screen and (max-width: 480px) {
	.table_type01,
	.table_type01 tbody,
	.table_type01 tr,
	.table_type01 th,
	.table_type01 td{
		display:block;
		width:100%;
	}

	.table_type02,
	.table_type02 tbody,
	.table_type02 tr,
	.table_type02 th,
	.table_type02 td{
		display:block;
		width:100%;
	}

	.table_type01 td,
	.table_type02 td{
		border-bottom:none;}

	.table_type01 tr:last-child td,
	.table_type02 tr:last-child td{
		border-bottom:1px dashed #D5E6AB;}

}


/* Box
========================================== */
.box_type01{}


.business_list{
	overflow:hidden;
	margin-bottom:30px;
	width: 100%;
}

.business_list .imageBlock{
	float:left;
	margin-right:25px;
}

.business_list .textBlock{
	overflow: hidden;
}

.business_list .textBlock p{
	line-height:1.5;}

/* clear */
.business_list:after{
	content:".";
	display:block;
	clear:both;
	height:0px;
	visibility:hidden;
	font-size:0;
}


@media screen and (max-width: 768px) {
	.business_list .imageBlock{
		margin-right:20px;
		width: 30%;
	}

	.business_list .imageBlock img{
		max-width:100%;
		height: auto;
	}
}

@media screen and (max-width: 599px) {
	.business_list .imageBlock{
		float:none;
		margin:0 0 10px 0;
		margin-bottom:10px;
		text-align:center;
		width: 100%;
	}

	.business_list .imageBlock img{
		width:100%;
		height: auto;
	}
}

/* Movie
========================================== */

.movie_container{
	position: relative;
	width: 100%;
	padding-top: 75%;
}
.movie_container iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}



