@charset "UTF-8";

/* company ---------------------------------------*/

#company{
	background: #FBFBFB; /* Old browsers */
	background: -moz-linear-gradient(top, #FBFBFB 0%, #FBFBFB 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #FBFBFB 0%,#FBFBFB 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #FBFBFB 0%,#FBFBFB 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

#companyKeyvisual{
	background: url(../img/company/bg_mv_company.jpg) no-repeat center top;
	background-size: 100%;
	padding-top: 80px;
	height:290px;
	margin-bottom: 795px;
	box-sizing:border-box;
}

.companyOutlineSection{
	position: absolute;
	left:0px;
	top:250px;
	width:100%;
}

.companyOutlineBox,
.officeBox{
	padding:80px 50px 8px;
	background: #fff;
	box-sizing:border-box;
	position: relative;
}

.companyOutlineBox:before{
	display: block;
	z-index:10;
	content:'';
	position: absolute;
	left:0px;
	bottom:0px;
	width:100%;
	height:2px;
	background: #C0EC9F; /* Old browsers */
	background: -moz-linear-gradient(left, #C0EC9F 0%, #2ABBB2 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #C0EC9F 0%,#2ABBB2 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #C0EC9F 0%,#2ABBB2 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.companyOutlineBox h3,
.officeBox h3{
	text-align: center;
	margin-bottom: 50px;
	line-height: 1.0;
	font-size: 25px;
	letter-spacing: 3px;
	color:#0C3E59;
}

.companyOutlineBox h3 img,
.officeBox h3 img{
	display: block;
	width:97px;
	margin:0 auto 26px;
}

.companyOutlineTable{}
.companyOutlineTable th,
.companyOutlineTable td{
	border-top:1px solid #EEEEEE;
	padding:40px 0 40px;
}
.companyOutlineTable tr:first-child th,
.companyOutlineTable tr:first-child td{border-top:none;}


.companyOutlineTable th{
	text-align: left;
	font-weight: bold;
	font-size: 16px;
	width:170px;
	color:#2D3B3E;
	letter-spacing: 1px;
}

.companyOutlineTable td{
	width: 310px;
	font-size: 14px;
	line-height: 2.0;
	letter-spacing: 1px;
}

.companyOutlineTable td.colspan{
	vertical-align: top;
	padding-top: 45px;
}

.companyOutlineTable td h4{
	color:#2D3B3E;
	text-align: left;
	font-weight: bold;
	font-size: 16px;
	line-height: 1.0;
	margin-bottom: 25px;
}

.companyOutlineTable td li{
	line-height: 1.4;
	padding-top: 3px;
	margin-bottom: 6px;
}

.companyOffice{
	background: #EBF9FD;
	padding:180px 0 50px 0;
}

.officeBox{
	margin-bottom: 50px;
	padding-bottom: 90px;
}

.officeBox h3 img{width:70px;}

.mapArea{
	width:635px;
	margin:0 auto;
	position: relative;
}

.areaNames{
	position: absolute;
	left:0px;
	top:0px;
	width:100%;
	padding-top: 95.6%;
}

.areaNames a{
	position: absolute;
	text-indent: -9999px;
	height:0;
	padding-top: 4%;
}

.areaNames a.hokkaido{
	left:47%;
	top:9%;
	width: 22%;

}

.areaNames a.tohoku{
	left:73%;
	top:44%;
	width: 17%;
}

.areaNames a.tokyo{
	left:65%;
	top:61%;
	width: 16%;
}

.areaNames a.nagoya{
	left:43%;
	top:74%;
	width: 19%;
}

.areaNames a.osaka{
	left:35%;
	top:45%;
	width: 17%;
}

.areaNames a.hiroshima{
	left:13%;
	top:63%;
	width: 16%;
}
.areaNames a.kyusyu{
	left:9%;
	top:78.5%;
	width: 16%;
}

.accessBlock{
	overflow: hidden;
	margin-bottom: 50px;
	padding-top: 120px;
	margin-top: -120px;
}

.accessBlock .googlemap{
	float: right;
	width:700px;
	height:410px;
}

.accessBlock:nth-child(2n) .googlemap{
	float: left;
}

.accessBlock .addressArea{
	float: left;
	width:360px;
	height:410px;
	box-sizing:border-box;
	position: relative;
	color:#fff;
	background: #1DB4B5;
	letter-spacing: 2px;
}

.accessBlock:nth-child(2n) .addressArea{
	float: right;
	background: #fff;
	color:#1DB4B5;
}

.accessBlock .addressArea .addressText{
	position: absolute;
	left:0px;
	bottom:0px;
	padding:0 0 35px 50px;
	line-height: 1.8;
}

.accessBlock:nth-child(2n) .addressArea .addressText{
	left:auto;
	right:0px;
	text-align: right;
	padding:0 50px 35px 0;
}

.accessBlock .addressArea .addressText .address h4{
	font-size: 17px;
	font-weight: bold;
	margin-bottom: 10px;
}

.accessBlock .addressArea .addressText .address{margin-bottom: 15px;}

.accessBlock .addressArea .addressText .address p{
	letter-spacing: 2px;
	font-size: 17px;
}

.accessBlock .addressArea .addressText .number{
	font-size: 16px;
	letter-spacing: 1px;
}

.accessBlock .addressArea .addressText .number p{
	line-height: 1.0;
	margin-bottom: 15px;
}
.accessBlock .addressArea .addressText .number img{
	vertical-align: middle;
	margin-right: 9px;
}

.accessBlock .addressArea .addressText .number .tel img{
	margin-top: -5px;
}



@media screen and (max-width: 1060px){
	.accessBlock .addressArea{width:30%;}
	.accessBlock .googlemap{width:70%;}
}

@media screen and (max-width: 768px){

	#companyKeyvisual{
		background: url(../img/company/bg_mv_company.jpg) no-repeat center top;
		background-size: 150%;
		padding-top: 46px;
		height:160px;
		margin-bottom: 804px;
	}

	#companyKeyvisual h2{
		width:102px;
		margin-left: 35px;
	}

	.companyOutlineSection{
		position: absolute;
		left:0px;
		top:135px;
		width:100%;
	}

	.companyOutlineBox,
	.officeBox{
		padding:38px 18px 10px;
		margin:0 20px;
	}

	.companyOutlineBox:before{
		height:1px;
	}

	.companyOutlineBox h3,
	.officeBox h3{
		margin-bottom: 29px;
		font-size: 16px;
		letter-spacing: 1px;
	}

	.companyOutlineBox h3 img,
	.officeBox h3 img{
		width:67px;
		margin:0 auto 10px;
	}

	.companyOutlineTable,
	.companyOutlineTable tbody,
	.companyOutlineTable tbody,
	.companyOutlineTable tr{
		display: block;
		vertical-align: top;
		overflow: hidden;
		width:100%;
	}
	.companyOutlineTable th,
	.companyOutlineTable td{display: block;}

	.companyOutlineTable th,
	.companyOutlineTable td{
		padding:16px 0;
		vertical-align: left;
	}

	.companyOutlineTable tr:first-child th:nth-child(3),
	.companyOutlineTable tr:first-child td:nth-child(4){border-top:1px solid #eee;}

	.companyOutlineTable th{
		float: left;
		font-size: 11px;
		width:100px;
	}

	.companyOutlineTable td{
		margin-left: 90px;
		font-size: 10px;
		line-height: 1.8;
		width:auto;
	}

	.companyOutlineTable td.colspan{
		margin-left: 0;
		padding-top: 15px;
	}

	.companyOutlineTable td h4{
		font-size: 11px;
		padding-top: 5px;
		margin-bottom: 0px;
		float: left;
		width:100px;
	}

	.companyOutlineTable td.colspan p{
		margin-left: 100px;
		font-size: 11px;
		line-height: 2.0;
	}

	.companyOutlineTable td.colspan ul{margin-left: 100px;}
	
	.companyOutlineTable td.colspan ul li{
		line-height: 1.2;
		margin-bottom: 7px;
	}

	.companyOffice{
		padding:50px 0 40px 0;
	}

	.officeBox{
		margin-bottom: 15px;
		padding:38px 7px 45px 11px;
	}

	.officeBox h3 img{width:47.5px;}

	.mapArea{
		width:100%;
		padding: 5px 0 0 0;
	}

	.mapArea img{
		width: 100%;
	}

	.areaNames{
		height:100%;
	}

	.areaNames a{
		font-size: 12px;
	}

	.areaNames a.hokkaido{
		left:42%;
		top:9%;
		width: 26%;
	}
	.areaNames a.tohoku{
		left:73%;
		top:44%;
		width: 19%;
	}
	.areaNames a.tokyo{
		left:65%;
		top:61%;
		width: 19%;
	}
	.areaNames a.nagoya{
		left:43%;
		top:74%;
		width: 23%;
	}
	.areaNames a.osaka{
		left:35%;
		top:45%;
		width: 19%;
	}
	.areaNames a.hiroshima{
		left:12%;
		top:63%;
		width: 19%;
	}
	.areaNames a.kyusyu{
		left:9%;
		top:78%;
		width: 19%;
	}

	.accessList{margin:0 20px;}


	.accessBlock{
		margin-bottom: 15px;
		padding-top: 60px;
		margin-top: -60px;
	}

	.accessBlock .googlemap{
		float: none;
		width:auto;
		position: relative;
		width: 100%;
		height: 0;
		padding-bottom: 56.25%;
		overflow: hidden;
	}
	.accessBlock .googlemap iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.accessBlock:nth-child(2n) .googlemap{
		float: none;
	}

	.accessBlock .addressArea{
		float: none;
		width:auto;
		height:auto;
		letter-spacing: 0px;
	}

	.accessBlock:nth-child(2n) .addressArea{
		float: none;
	}

	.accessBlock .addressArea .addressText{
		position: static;
		padding:12px 10px 7px 20px;
		font-size: 11px;
		overflow: hidden;
	}

	.accessBlock:nth-child(2n) .addressArea .addressText{
		text-align: left;
		padding:12px 10px 8px 20px;
	}

	.accessBlock .addressArea .addressText .address{
		margin-bottom: 5px;
		float: left;
		width:63%;
	}

	.accessBlock .addressArea .addressText .address h4{
		font-size: 11px;
		margin-bottom: 7px;
		letter-spacing: 1px;
	}

	.accessBlock .addressArea .addressText .address p{
		font-size: 11px;
		line-height: 1.9;
	}

	.accessBlock .addressArea .addressText .number{
		float: right;
		width:36%;
		font-size: 10px;
		padding-top: 5px;
	}

	.accessBlock .addressArea .addressText .number p{
		margin-bottom: 10px;
	}
	.accessBlock .addressArea .addressText .number img{
		margin-right: 5px;
	}

	.accessBlock .addressArea .addressText .number .tel img{width:13px;}
	.accessBlock .addressArea .addressText .number .fax img{width:13px;}


}
