

/*
.common
===================================================*/
.forSMP{display:none;}
.forPC{display:inline;}

/*
body.home
===================================================*/
body.home{
	position: relative;
}


body.home #main{
	width:1200px;
	margin:0 auto;
	padding:0 0 0 0;/*220*/
	background:url(../img/bg_concrete.png);

	height:650px;
}
body.home #main #page_header_wrapper{
	position:relative;
}
/*svg*/
body.home #main #svg_box{
	width:1200px;
	height:650px;
	overflow: hidden;
	position: relative;
}
body.home #main #svg_box #svg_left{
	width:560px;
	height:560px;

	position: absolute;
	top:-100px;
	left:-240px;

	transform: rotate(7deg);
	-moz-transform: rotate(7deg);
	-webkit-transform: rotate(7deg);
	-o-transform: rotate(7deg);
	-ms-transform: rotate(7deg);
}
body.home #main #svg_box #svg_center{
	width:560px;
	height:560px;

	position: absolute;
	top:40px;
	left:320px;

	transform: rotate(-9deg);
	-moz-transform: rotate(-9deg);
	-webkit-transform: rotate(-9deg);
	-o-transform: rotate(-9deg);
	-ms-transform: rotate(-9deg);
}
body.home #main #svg_box #svg_right{
	width:560px;
	height:560px;
	position: absolute;
	top:160px;
	right:-240px;

	transform: rotate(11deg);
	-moz-transform: rotate(11deg);
	-webkit-transform: rotate(11deg);
	-o-transform: rotate(11deg);
	-ms-transform: rotate(11deg);
}

body.home #main #page_header{
	position:absolute;
	top:0px;
	margin:0 0 130px 0;
	width:1200px;
}
body.home #main #page_header strong{
	width:100%;
	display: block;
	margin:0 auto 0 auto;
	text-align: center;
}
body.home #main #page_header h1{
	text-align: center;
}


/*
#nav_wrapper
===================================================*/
body.home #main #nav_wrapper{
	width:100%;
	margin:0 auto 30px auto;
}
body.home #main #nav_wrapper nav{
	width:100%;
	text-align: center;
}
body.home #main #nav_wrapper nav a{
	color:#222;
}
body.home #main #nav_wrapper nav span{
	padding:0 1.4em;
}


/*
.b_vi
===================================================*/
body.home #main .b_vi{
	position: absolute;
	bottom:30px;
	right:30px;
	width:178px;
	height:auto;
}
body.home #main .b_vi a:hover{
	opacity: 0.6
}



/*
.#titleWrapper
===================================================*/
body.home .titleWrapper{
	width:100%;
	position: fixed;
	left:0;
	height:0px;
}
/* see js on .html
body.home .titleWrapper.about{
	top:650px;
}
body.home .titleWrapper.service{
	top:1810px;
}
body.home .titleWrapper.achievements{
	top:2970px;
}

body.home .titleWrapper.company{
	top:4130px;
}
*/

body.home .titleWrapper .t_box{
	width:1200px;
	margin:0 auto 900px auto;
	height:260px;
	position: relative;
	overflow: hidden;
}
body.home .titleWrapper .t_box img{
	position: relative;
}
body.home .titleWrapper .t_box .h1_wrapper{
	width:100%;
	margin:90px auto 0 auto;
	position: absolute;
	top:0;
	left:0;
	font-weight:bold;
}
body.home .titleWrapper .t_box .h1_wrapper p{
	height:60px;
	width:400px;
	margin:0 auto 0 auto;
	padding-top:20px;
	border:4px solid #fff;
	background:url(../img/bg_titletext.png) no-repeat;
	text-align: center;
	font-size:200%;
	color:#fff;
}




/*
section.cont
---------*/
body.home #sectWrapper{
}
body.home section.sect{
	position: relative;
	width:1200px;
	margin:0 auto;
}
body.home section.sect header{
	height:260px;
	position: relative;
	overflow: hidden;
}
body.home section.sect header img{
	position: relative;
}
body.home section.sect header .h1_wrapper{
	width:100%;
	margin:90px auto 0 auto;
	position: absolute;
	top:0;
	left:0;
}
body.home section.sect header .h1_wrapper h1{
	height:60px;
	width:400px;
	margin:0 auto 0 auto;
	padding-top:20px;
	border:4px solid #fff;
	background:url(../img/bg_titletext.png) no-repeat;
	text-align: center;
	font-size:200%;
	color:#fff;
}



/*
#about
---------*/
body.home #about{
	height:auto;
}
body.home #about header img{
	top:0;
}
body.home #about .cont{
	width:100%;
	background:url(../img/bg_service.png) repeat-y;
	position: relative;

	height:900px;
}
body.home #about .cont img{
	}
body.home #about .cont p{
	position:absolute;
	top:0;
	left:0;
	padding:60px 0 0 54px;
	font-size:120%;
	line-height: 1.7;

	}

/*
#service
---------*/
body.home #service header img{
	top:0px;/*220px*/
}
body.home #service .cont{
	width:1200px;
	background:url(../img/bg_service.png) repeat-y;
	padding-top:70px;

	position:relative;
	height:830px;
}
body.home #service .cont .image{
	margin:0 auto 20px auto;
	display: block;
}
body.home #service .cont h2{
	text-align: center;
	margin:0 auto 36px auto;
}
body.home #service .cont .lead{
	text-align: center;
	margin:0 auto 50px auto;

}
body.home #service .cont .serviceType{
	overflow: hidden;
	width:1086px;
	margin:0 auto 0 auto;
	padding:0 0 50px 0;
}
body.home #service .cont .serviceType dl{
	width:330px;
	border:6px solid #fff;
	margin:0 10px;
	float:left;
}
body.home #service .cont .serviceType dl dt{
	width:330px;
	height:36px;
	padding:12px 0 0 0;
	border-bottom:6px solid #fff;
	font-weight:bold;
	text-align: center;
}
body.home #service .cont .serviceType dl dd{
	width:302px;
	height:314px;
	margin:-80px 0 0 0;
	padding:96px 14px 12px 14px;
	color:#777;
}
body.home #service .cont .serviceType dl dd ul{
	padding-top:20px;
}
body.home #service .cont .serviceType dl dd ul li{
	padding: 0 0 0 16px;
	background:url(../img/i_list.png) no-repeat 0px 4px;
	line-height: 1.2;
	margin:0 0 4px 0;
	font-size:90%;
}
body.home #service .cont .serviceType dl dd ul li.etc{
	background:none;
}



/*
#achievements
---------*/
body.home #achievements header img{
	margin-top:0;/*530px*/

}
body.home #achievements .cont{
	width:1200px;
	padding-top:2px;
	background:url(../img/bg_concrete.png) repeat-y;

	position:relative;
	height:898px;
}
body.home #achievements .cont ul{
	width:1196px;
	overflow: hidden;
	margin:0 2px 0px 2px;
	padding:0 0 50px 0;

}
body.home #achievements .cont ul li{
	width:255px;
	height:260px;
	padding:20px 20px 0 20px;
	margin:2px;
	float:left;
	font-size:90%;
	background:#fff;
}
body.home #achievements .cont ul li span.type{
	background:url(../img/work_blue_line.png) bottom repeat-x;
	font-weight:bold;
}
body.home #achievements .cont ul li strong{
	display:block;
	font-weight:bold;
	padding:12px 0 0 0;
	height:3em;
}
body.home #achievements .cont ul li p{
	padding:10px 0 0 0;
}
body.home #achievements .cont ul li.null{
	width:295px;
	height:280px;
	padding:0;

}



/*
#company
---------*/
body.home #company header img{
	margin-top:0px;/*870px*/
}
body.home #company .cont{
	width:1200px;
	padding:50px 0 0 0;
	background:#fff;
	font-size:90%;

	position:relative;
	height:850px;
}
body.home #company .cont .data_wrapper{
	width:900px;
	margin:0 auto 0px auto;
	overflow: hidden;

}
body.home #company .cont .floatLeft{
	width:456px;
	float:left;
}
body.home #company .cont .floatRight{
	width:410px;
	float:right;
}
body.home #company .cont .floatLeft dl{
	width:456px;
	overflow: hidden;
	margin:0 0 28px 0;
	position: relative;
}
body.home #company .cont .floatLeft dl dt{
	width:106px;
	margin:0 0 0 0;
	float: left;
	font-weight: bold;
}
body.home #company .cont .floatLeft dl dd{
	width:350px;
	margin:0 0 0 0;
	float: left;
}

body.home #company .cont .floatRight dl{
	width:410px;
	overflow: hidden;
	margin:0 0 28px 0;
	position: relative;
}
body.home #company .cont .floatRight dl dt{
	width:70px;
	margin:0 0 0 0;
	float: left;
	font-weight: bold;
}
body.home #company .cont .floatRight dl dd{
	width:340px;
	margin:0 0 0 0;
	float: left;
}
body.home #company .cont .floatRight dl.outline dd{
	width:302px;
	padding:0 0 0 38px;
}
body.home #company .cont .floatRight dl.office dt{
	padding:7px 0 0 0;
}
body.home #company .cont .floatRight dl.office dd p.vi{
	padding:7px 0 0 38px;
	background:url(../img/i_vi.png) no-repeat;
}
body.home #company .cont .floatRight dl.office dd p.mc{
	padding:7px 0 0 38px;
	background:url(../img/i_mc.png) no-repeat;
}
body.home #company .cont .floatRight .dep_name{
	font-weight:bold;
}
body.home #company .cont .floatRight .dep_name a{
	color:#333; text-decoration: underline;
}
body.home #company .cont .floatRight .dep_name img{
	margin-left: 3px;
}
/*map*/
body.home #company .cont .b_map{
	text-align: right;
	width:96%;
	margin:0 auto 2px auto;
}
body.home #company .cont #map{
	height:500px;
	width:96%;
	margin:0 auto 6px auto;
}

/*
#footer
-------------------*/
body.home #page_footer{
	padding-top:30px;
}
body.home #page_footer .footer_menu{
	text-align: center;
}
body.home #page_footer .footer_menu span{
	padding:0 1.2em;
}

/*
.b_top
===================*/
body.home .b_top{
	position: fixed;
	bottom:5px;
	right:5px;
}


/*=========================
Privacy Policy
===========================*/
body.privacy{
	margin:0;
	padding:0;
	background:url(../img/bg_concrete.png);
	position: relative;
}
body.privacy header#page_header{
	width:1120px;
	padding:40px 0 0 0;
	margin:0 auto 50px auto;
	overflow: hidden;
}
body.privacy header#page_header h1{
	width:142px;
	float:left;
}
body.privacy header#page_header p.b_back{
	width:62px;
	height:18px;
	padding:0 0 0 10px;
	float:left;
	
}
body.privacy section{
	width:800px;
	margin:0 auto;
}
body.privacy section header{
	font-size:100%;
	border-bottom:2px solid #333;
	padding:0 0 4px 0;
	margin:0 0 22px 0;
}

body.privacy section header h1{
	font-size:118%;
}
body.privacy section .lead{
	margin:0 0 20px 0;
}
body.privacy section ul{
}
body.privacy section ul li{
	margin:0 0 20px 0;
}
body.privacy section ul li h2{
	font-size:100%;
	margin:0 0 0 0;
	font-weight:normal;
}
body.privacy section ul li ul.inside_list{
	margin:12px 0 4px 1em;
}
body.privacy section ul li ul.inside_list li{
	margin:0 0 4px 0;
}
body.privacy section .otoiawase{
	margin:20px 0 50px 0;
}
body.privacy section .otoiawase h3{
	font-weight:normal;
	font-size:100%;
}
body.privacy section .otoiawase address{
	margin:16px 0 0 0;
}
body.privacy footer#page_footer{
	background:none;
	border-top:1px solid #333;
	width:100%;
	height:auto;
}
body.privacy .b_top{
	width:71px;
	height:71px;
	position: absolute;
	bottom:76px;
	right:20px;
}



/*=========================
otoiawase
===========================*/
body.otoiawase{
	margin:0;
	padding:0;
	background:url(../img/bg_concrete.png);
	position: relative;
}
body.otoiawase header#page_header{
	width:1120px;
	padding:10px 0 0 0;
	margin:0 auto 50px auto;
	overflow: hidden;
}
body.otoiawase header#page_header h1{
	width:142px;
	float:left;
}
body.otoiawase header#page_header p.b_back{
	width:62px;
	height:18px;
	padding:0 0 0 10px;
	float:left;
}
body.otoiawase section{
	width:800px;
	margin:0 auto;
}
body.otoiawase section header{
	font-size:100%;
	border-bottom:2px solid #333;
	padding:0 0 4px 0;
	margin:0 0 38px 0;
	overflow: hidden;
}
body.otoiawase section header h1{
	font-size:118%;
	width:200px;
	float:left;
}
body.otoiawase section header span{
	float:right;
	color:red;
	font-size:90%;
}
body.otoiawase section #txt_explain{
	margin:0 0 30px 0;
}
body.otoiawase section .red_txt{
	color:#ee1111;
	margin:0 0 30px 0;
}
body.otoiawase section table{
	width:666px;
	margin:0 auto;
}
body.otoiawase section table th,
body.otoiawase section table td{
	padding-bottom: 12px;
}
body.otoiawase section table th{
	width:150px;
	text-align: right;
	font-weight: normal;
	padding-right: 16px;
	vertical-align: top;
	font-size:96%;
	padding-top:4px;
}
body.otoiawase.kakunin section table td{
	padding-top: 4px;
	vertical-align: top;
}
body.otoiawase section table th.txt{
	vertical-align: top;
}
body.otoiawase section table th span{
	color:red;
}
body.otoiawase section table td input{
	width:480px;
}
body.otoiawase section table td select{
	width:200px;
}
body.otoiawase section table td textarea{
	width:480px;
	border:1px solid #ccc;
	height:200px;
	resize:none;
	resize:vertical;
}
body.otoiawase footer#page_footer{
	background:none;
	border-top:1px solid #333;
	width:100%;
	height:auto;
}
body.otoiawase .b_top{
	width:71px;
	height:71px;
	position: absolute;
	bottom:76px;
	right:20px;
}
body.otoiawase section .b_kakunin,
body.otoiawase section .b_touroku,
body.otoiawase section .b_modoru{
	width:250px;
	height:66px;
	cursor: pointer;
	margin:10px auto 80px auto;
	padding:0 10px;
}

body.otoiawase section .f_b_wrapper{
	width:540px;
	margin:0 auto 80px auto;
	padding-top: 40px;
	overflow: hidden;
}
body.otoiawase section .f_b_wrapper .b_modoru{
	float:left;
	margin:0;
}
body.otoiawase section .f_b_wrapper .b_touroku{
	float:right;
	margin:0;
}
body.otoiawase.finish section .finish_msg{
	margin-bottom: 30px;
}
body.otoiawase.finish section .b_return_top{
	margin-bottom: 100px;
}

body.otoiawase #nav_wrapper{
	text-align: center;
	padding:20px;
}
body.otoiawase #nav_wrapper a{
	color:#222;
}
body.otoiawase #nav_wrapper nav span{
	padding:0 1.4em;
}






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

	/*
	.home
	===================================================*/
	img.fullsize{width:100%; height:auto;}
	object.fullsize{width:100%; height:auto;}
	.forSMP{display:inline;}
	.forPC{display:none;}



	/*
	body.home
	===================================================*/
	body.home #main{
		width:100%;
		height:auto;
		padding:0;
	}
	#page_header_wrapper{padding:0; margin:0;}
	#page_header_wrapper img{vertical-align: bottom}
	/*svg*/
	body.home #main #svg_box{
		width:100%;
		display:none;
	}
	body.home #main #page_header{
		width:100%;
		height:400px;

	}
	body.home #main #page_header strong{
		width:100%;
		margin:0 auto 0 auto;
	}
	body.home #main #page_header strong img{
		width:38%;
		height:auto;
	}
	body.home #main #page_header h1{
		text-align: center;
	}
	body.home #main #page_header h1 img{
		width:20%;
		height:auto;
	}


	/*
	#nav_wrapper
	===================================================*/
	body.home #main #nav_wrapper{
		position:absolute;
		top:10px;
		margin:0 auto 0 auto;
	}
	body.home #main #nav_wrapper nav span{
		padding:0 10px;
	}


	/*
	.b_vi
	===================================================*/
	body.home #main .b_vi{width:14.8%; height:auto;}
	body.home #main .b_vi img{width:100%; height:auto;}



	/*
	section.cont
	---------*/
	body.home section.sect{
		width:100%;
	}
	body.home section.sect header{
		height:auto;

		position: relative;
		overflow: hidden;
		width:100%;
	}
	body.home section.sect header img{
		position: relative;
	}
	body.home section.sect header .h1_wrapper{
		width:100%;
		margin:90px auto 0 auto;
		position: absolute;
		top:0;
		left:0;
	}
	body.home section.sect header .h1_wrapper h1{
		height:60px;
		width:400px;
		margin:0 auto 0 auto;
		padding-top:20px;
		border:4px solid #fff;
		background:url(../img/bg_titletext.png) no-repeat;
		text-align: center;
		font-size:200%;
		color:#fff;
	}



	/*
	#about
	---------*/
	body.home #about header img{
		top:0;
	}
	body.home #about .cont{
		width:100%;
		height:auto;
		background:url(../img/bg_service.png) no-repeat; fixed}
/*	body.home #about .cont p{
		padding:60px 54px 0 54px;
		font-size:120%;
		line-height: 1.7;
		}*/

	body.home #about .cont p.forSMP{
		position:relative;
		top:auto;
		left:auto;
		padding:30px 6% 0 6%;
		font-size:120%;
		line-height: 1.7;
		margin:0;
		display:block;
		}
	body.home #about .cont img{
		margin-top:10px;	
	}



	/*
	#service
	---------*/
	body.home #service header img{
/*		margin-top:220px;*/
	}
	body.home #service .cont{
		width:100%;
		height:auto;
		background:url(../img/bg_service.png) repeat-y;
		padding-top:70px;
	}
	body.home #service .cont .image{
		margin:0 auto 20px auto;
		display: block;
	}
	body.home #service .cont h2{
		text-align: center;
		margin:0 auto 36px auto;
	}
	body.home #service .cont .lead{
		text-align: center;
		margin:0 6% 50px 6%;

	}
	body.home #service .cont .serviceType{
		overflow: hidden;
		width:90%;
		margin:0 auto 0 auto;
		padding:0 0 50px 0;
	}
	body.home #service .cont .serviceType dl{
		width:96%;

		border:6px solid #fff;
		margin:0 auto 20px auto;
		float:none;
	}
	body.home #service .cont .serviceType dl dt{
		width:auto;
		height:36px;
		padding:12px 0 0 0;
		border-bottom:6px solid #fff;
		font-weight:bold;
		text-align: center;
	}
	body.home #service .cont .serviceType dl dd{
		width:auto;/**/
		height:auto;

		margin:-80px 0 0 0;
		padding:96px 14px 12px 14px;
		color:#777;
	}
	body.home #service .cont .serviceType dl dd ul{
		padding-top:20px;
	}
	body.home #service .cont .serviceType dl dd ul li{
		padding: 0 0 0 16px;
		background:url(../img/i_list.png) no-repeat 0px 4px;
		line-height: 1.2;
		margin:0 0 4px 0;
		font-size:90%;
	}
	body.home #service .cont .serviceType dl dd ul li.etc{
		background:none;
	}



	/*
	#achievements
	---------*/
	body.home #achievements header img{
/*		margin-top:530px;*/
	}
	body.home #achievements .cont{
		width:100%;
		height:auto;
		padding-top:2px;
		background:url(../img/bg_concrete.png) repeat-y;
	}
	body.home #achievements .cont ul{
		width:90%;
		overflow: hidden;
		margin:0 auto;
		padding:20px 0 50px 0;

	}
	body.home #achievements .cont ul li{
		width:92%;
		height:auto;
		margin:0 auto 2px auto;
		padding:20px 4% 20px 4%;
		float:left;
		font-size:90%;
		background:#fff;
	}
	body.home #achievements .cont ul li span.type{
		background:url(../img/work_blue_line.png) bottom repeat-x;
		font-weight:bold;
	}
	body.home #achievements .cont ul li strong{
		display:block;
		font-weight:bold;
		padding:12px 0 0 0;
		height:3em;
	}
	body.home #achievements .cont ul li p{
		padding:0 0 0 0;
	}
	body.home #achievements .cont ul li.null{
		width:295px;
		height:280px;
		padding:0;

		display:none;/*!*/
	}



	/*
	#company
	---------*/
	body.home #company header img{
/*		margin-top:870px;*/
	}
	body.home #company .cont{
		width:100%;
		height:auto;
		padding:50px 0 0 0;
		background:#fff;
		font-size:90%;
	}
	body.home #company .cont .data_wrapper{
		width:80%;
		margin:0 auto 0px auto;
		overflow: hidden;

	}
	body.home #company .cont .floatLeft{
		width:100%;
		float:none;
	}
	body.home #company .cont .floatRight{
		width:100%;
		float:none;
	}
	body.home #company .cont .floatLeft dl{
		width:100%;
		overflow: hidden;
		margin:0 0 28px 0;
		position: relative;
	}
	body.home #company .cont .floatLeft dl dt{
		width:20%;
		margin:0 0 0 0;
		float: left;
		font-weight: bold;
	}
	body.home #company .cont .floatLeft dl dd{
		width:80%;
		margin:0 0 0 0;
		float: left;
	}

	body.home #company .cont .floatRight dl{
		width:100%;
		overflow: hidden;
		margin:0 0 28px 0;
		position: relative;
	}
	body.home #company .cont .floatRight dl dt{
		width:20%;
		margin:0 0 0 0;
		float: left;
		font-weight: bold;
	}
	body.home #company .cont .floatRight dl dd{
		width:70%;
		margin:0 0 0 0;
		float: left;
	}
	body.home #company .cont .floatRight dl.outline dd{
		width:80%;
		padding:0 0 0 0;
	}
	body.home #company .cont .floatRight dl.office dt{
		padding:7px 0 0 0;
	}
	body.home #company .cont .floatRight dl.office dd p.vi{
		padding:7px 0 0 38px;
		background:url(../img/i_vi.png) no-repeat;
	}
	body.home #company .cont .floatRight dl.office dd p.mc{
		padding:7px 0 0 38px;
		background:url(../img/i_mc.png) no-repeat;
	}
	body.home #company .cont .floatRight .dep_name{
		font-weight:bold;
	}
	/*map*/
	body.home #company .cont .b_map{
		text-align: right;
		width:96%;
		margin:0 auto 2px auto;
	}
	body.home #company .cont #map{
		height:500px;
		width:96%;
		margin:0 auto 6px auto;
	}

	/*
	#footer
	-------------------*/
	body.home #page_footer .footer_menu{
		text-align: center;
	}
	body.home #page_footer .footer_menu span{
		padding:0 1.2em;

	}
}





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

	/*=========================
	Privacy Policy
	===========================*/
	body.privacy header#page_header{
		width:96%;
		padding:40px 0 0 0;
		margin:0 auto 30px auto;
	}
	body.privacy section{
		width:96%;
		margin:0 auto 120px auto;
	}


	/*=========================
	otoiawase
	===========================*/
	body.otoiawase header#page_header{
		width:96%;
		padding:40px 0 0 0;
		margin:0 auto 30px auto;
	}
	body.otoiawase section{
		width:96%;
		margin:0 auto 120px auto;
	}
	body.otoiawase section table{
		width:100%;

	}
	body.otoiawase section table th,
	body.otoiawase section table td{
		width:100%;
		display: block;
		height:auto;
	}
	body.otoiawase section table th{
		text-align:left;
		vertical-align: bottom;

		padding:4px 0 2px 0;
		margin:0 0 5px 0;
		text-indent: 8px;
		font-weight: bold;
		color:#666;
/*		background:#cdcdcd;*/
	}
	body.otoiawase section table td{
		margin:0 0 10px 0;
	}
	body.otoiawase section table th.txt{
		vertical-align: middle;
	}
	body.otoiawase section table td input{
		width:100%;
	}
	body.otoiawase section table td textarea{
		width:100%;
	}
	body.otoiawase.kakunin section table td{
		padding-left:30px;
	}

	body.otoiawase section .f_b_wrapper{
		width:100%;
		margin:0 auto 80px auto;
		padding-top: 40px;
		overflow: hidden;
	}
	body.otoiawase section .f_b_wrapper .b_modoru{
		float:none;
		margin:0 auto 20px auto;
	}
	body.otoiawase section .f_b_wrapper .b_touroku{
		float:none;
		margin:0 auto 20px auto;
	}
	body.otoiawase section table td input,
	body.otoiawase section table td textarea{
		width:98%;
	}

}

