/*////////////////////////
///////////////////////*/
.mainvisual{
	background: url(../images/mainvisual.jpg) no-repeat center center;
	background-size: cover;
}
.mainvisual-logo{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../images/mainvisual-logo.png) no-repeat center center;
	background-size: 217px auto;
}
.company-single{
	padding-bottom: 0;
}
/*//////////////////////////////////////////////
	information
/////////////////////////////////////////////*/
h1.information{
	background-image: url(../images/information/h1-information.png);
	-webkit-background-size: auto 100%;
	     -o-background-size: auto 100%;
	        background-size: auto 100%;
	height: 58px;
}
@media (max-width:750px) {
	h1.information{
		height: 40px;
	}
}
/*///////////////////
	会社概要
///////////////////*/
.overview{
	padding: 0 0 100px;
}
.overview-ttl{
	position: relative;
	width: 100%;
	height: 23px;
	margin-bottom: 20px;
	text-align: center;
	background-image: url(../images/information/h2-overview.png);
	background-repeat: no-repeat;
	background-position:10px top;
	-webkit-background-size: auto 100%;
	     -o-background-size: auto 100%;
	        background-size: auto 100%;
}
.overview-table{
	width: 200%;
	border-collapse:collapse;
}
.overview-table th,
.overview-table td{
	border-bottom: 1px dotted #aaa;
}

.overview-table th{
	padding: 16px;
	width: 400px
	font-weight: normal;
	background: #e7f3ff;
	font-size: 14px;
	text-align: left;
	color: #242424;
	vertical-align: center;
}
.overview-table td{
	padding: 30px 60px;
	color: #242424;
}
.overview-table td a{
	color: #242424;
}

.overview-table td p{
	line-height: 40px;
	line-width: 100px;	
}
.overview-table .overview-line th{
	padding: 0;
	border-bottom: 4px solid #0a35e4;
}
.overview-table .overview-line td{
	padding: 0;
	border-bottom: 4px solid #aaa;
}


@media (max-width:750px) {
	.overview-ttl{
		height: 18px;
		margin-bottom: 10px;
	}
	.overview-table th{
		padding: 5px;
		width: 90px;
	}
	.overview-table td{
		padding: 5px;
	}
}



/*///////////////////
	会社概要
///////////////////*/
.history{
	position: relative;
	padding: 90px 0;
	background: url(../images/bg-pattern0.gif);
}
.history-detail{
	position: relative;
	width: 100%;
	overflow: hidden;
	background: url(../images/information/h2-history.png) no-repeat left center;
	-webkit-background-size: auto 60px;
	     -o-background-size: auto 60px;
	        background-size: auto 60px;
}
.history-table{
	float: right;
}
.history-line{
	position: relative;
	width: 100%;
	overflow: hidden;
	color: #FFF;
	padding-bottom: 35px;
	font-size: 14px;
	letter-spacing: 2px;
}
.history-line::before{
	content:"";
	position: absolute;
	bottom:0;
	left: 154px;
	width: 3px;
	height: 35px;
	background: url(../images/information/bg-line.gif) repeat-y;
}
.history-line:last-child::before{
	display: none;
}
.history-line .base{
	display: inline-block;
	padding: 0;
	background: rgba(0,0,0,0.2);
}
.history-line span{
	padding: 10px 25px;
}
.history-year{
	position: absolute;
	display: inline-block;
	width: 125px;
}
.history-line span.history-body{
	display: block;
	position: relative;
	margin-left: 175px;
	max-width: 400px;
}
.history-body::before{
	content:"";
	position: absolute;
	top: 0;
	left: -21px;
	width: 3px;
	height: 100%;
	background: url(../images/information/bg-line.gif) repeat-y;
}
.history-body::after{
	content:"";
	position: absolute;
	top: 0;
	left: -26px;
	width: 14px;
	height: 100%;
	background: url(../images/information/ic-history.png) no-repeat center center;
}
.history-line:first-child .history-body::before{
	top: 50%;
	height: 50%;
}
.history-line:last-child .history-body::before{
	top: 0;
	height: 50%;
}
.history-body p{
	display: inline;
}
@media (max-width:1000px) {
	.history-line span.history-body{
		max-width: 200px;
	}
}
@media (max-width:750px) {
	.history-detail{
		padding-top: 120px;
		background-position: center top;
	}
	.history-table{
		float: none;
		width: 100%;
	}
	.history-line span.history-body{
		max-width: none;
		margin-left: 125px;
	}
	.history-year{
		width: 95px;
	}
	.history-line span{
		padding: 10px 5px;
	}
	.history-line::before{
		left: 104px;
	}
}


/*/////////////////////////////////////////
	アクセス
/////////////////////////////////////////*/
.office-block{
}
.office-block h2{
	text-align: center;
	padding-bottom: 75px;
}
.office-block h2 img{
	width: 235px;
}
.office-detail{
	position: relative;
	width: 100%;
	overflow: hidden;
}
.office-photo{
	float: right;
}
.office-table-block{
	float: left;
}
.office-table{
	width: 100%;
	border-collapse:collapse;
}
.office-table a{
	color: #242424;
}
.office-table th,
.office-table td{
	border-bottom: 1px dotted #aaa;
}
.office-table th{
	padding: 10px 15px;
	font-weight: normal;
	background: #e7f3ff;
	font-size: 13px;
	text-align: left;
	color: #242424;
	vertical-align: top;
}
.office-table td{
	padding: 15px 60px;
	color: #242424;
}
.office-table td p{
	line-height: 24px;
}
.office-table .office-line th{
	padding: 0;
	border-bottom: 4px solid #0a35e4;
}
.office-table .office-line td{
	padding: 0;
	border-bottom: 4px solid #aaa;
}
.office-table .office-line th{
	padding: 0;
	border-bottom: 4px solid #0a35e4;
}
.office-table .office-line td{
	padding: 0;
	border-bottom: 4px solid #aaa;
}
.office-flow{
	position: relative;
	width: 100%;
	padding: 70px 0 80px;
	text-align: center;
}
.map-area{
	position: relative;
	width: 100%;
	overflow: hidden;
	margin-bottom: 70px;
}
.acf-map {
	width: 100%;
	height: 350px;
}
.sp-view{display: none;}
@media (max-width:950px) {
	.office-table-block{
		width: 45%;
	}
	.office-photo{
		width: 45%;
	}
	.office-flow img{
		max-width: 100%;
	}
	.office-table th{
		padding: 10px;
		width: 90px;
	}
	.office-table td{
		padding: 10px;
	}
}

@media (max-width:750px) {
	.office-block h2{
		padding-bottom: 30px;
	}
	.office-photo{
		width: 100%;
		float: none;
		text-align: center;
	}
	.office-photo img{
		width: 100%;
	}
	.office-table-block{
		float: none;
		padding-top: 30px;
		width: 100%;
	}
	.office-flow{
		padding: 30px 0;
	}
	.sp-view{display: block;}
	.pc-view{display: none;}
}
@media (max-width:750px) {
	.office-ttl{
		height: 18px;
		margin-bottom: 10px;
	}
	.office-table th{
		padding: 5px;
		width: 90px;
	}
	.office-table td{
		padding: 5px;
	}
}



/*/////////////////////////////////////////
	経営理念
/////////////////////////////////////////*/
h1.message{
	background-image: url(../images/philosophy/h1-message.png);
	height: 58px;
}
@media (max-width:750px) {
	h1.message{
		height: 40px;
	}
}


.main-message{
	width: 100%;
	text-align: center;
}
.main-message img{max-width: 100%;}
.main-message .pc-view{display: inline-block;}
.main-message .sp-view{display: none;}
@media (max-width:750px) {
	.main-message .pc-view{display: none;}
	.main-message .sp-view{display: inline-block;}
}

.main-message-txt{
	max-width: 800px;
	margin: 0 auto;
	padding: 80px 0px 30px;
	box-sizing: border-box;
	font-size: 15px;
	color: #242424;
	line-height: 32px;
}



/*経営理念*/
.philosophy{
	position: relative;
	background: url(../images/bg-pattern0.gif);
	overflow: hidden;
	padding: 95px 0;
	margin: 50px auto 0;
}
.philosophy .cnt-inner{
	overflow: hidden;
}
.philosophy-ttl{
	float: left;
	width: 38%;
}
.philosophy-txt{
	float: right;
	width: 62%;
	color: #FFF;
	font-size: 16px;
	line-height: 40px;
	letter-spacing: 1.5px;
	padding: 0 0 0 100px;
	box-sizing: border-box;
}
.philosophy-txt strong{
	padding: 3px;
	font-size: 160%;
	font-weight: normal;
	background: #0a35e4;
}

.philosophy-ttl h2{
	width: 100%;
	min-height: 59px;
	margin-top: 40px;
	background: url(../images/philosophy/h2-philosophy.png) no-repeat;
	background-size:auto 58px;
}
.bg-philosophy{
	position: absolute;
	top: 0;
	left: 0;
	width: 45%;
	height: 100%;
	background: #d13030;
}
@media (max-width:750px) {
	.main-message-txt{
		padding: 50px 0;
		line-height: 24px;
	}
	.bg-philosophy{
		display: none;
	}
	.philosophy{
		padding: 30px 0;
	}
	.philosophy-ttl h2{
		margin-top: 0;
		margin-bottom: 40px;
	}
	.philosophy-ttl{
		float: none;
		width: 100%;
	}
	.philosophy-txt{
		float: none;
		width: 100%;
		font-size: 15px;
		padding: 0;
		line-height: 24px;
	}
}




/* Vision */
.vision{
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #F9F9F9;
}
.vision-ttl{
	width: 100%;
	min-height: 57px;
	margin-top: 100px;
	background: url(../images/philosophy/h2-vision.png) no-repeat center top;
	background-size:auto 57px;
}
.vision-lead{
	margin: 20px auto 80px;
	width: 100%;
	max-width: 501px;
	padding-bottom: 70px;
	background: url(../images/philosophy/vision-lead.png) no-repeat center top;
	-webkit-background-size: 100% auto;
	     -o-background-size: 100% auto;
	        background-size: 100% auto;
}
.vision-inner{
	position: relative;
	width: 100%;
	overflow: hidden;
}
.vision-list{
	position: relative;
	width: 100%;
	overflow: hidden;
}
.vision-item{
	float: left;
	width: 50%;
	padding: 100px 0;
}
.vision-txt{
	width: 70%;
	margin: 0 auto;
	line-height: 26px;
}
.vision-item .icon{
	display: block;
	width: 100%;
	padding-bottom: 42%;
	background: no-repeat center top;
	background-size: 45% auto;
}

.vision-partnership .icon{
	background-image: url(../images/philosophy/ic-pertnership.png);
}
.vision-field .icon{
	background-image: url(../images/philosophy/ic-field.png);
}
.vision-education .icon{
	background-image: url(../images/philosophy/ic-education.png);
}
.vision-technology .icon{
	background-image: url(../images/philosophy/ic-technology.png);
}
.vision-bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.vison-bg-left{
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 100%;
	background: #FFF;
}
.vison-bg-left::before{
	content:"";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 50%;
	background: #ebebeb;
}

.vison-bg-right{
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	height: 100%;
	background: #FFF;
}
.vison-bg-right::before{
	content:"";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 50%;
	background: #ebebeb;
}

@media (max-width:750px) {
	.vision-bg{
		display: none;
	}
	.vision-lead{
		margin-bottom: 0;
	}
	.vision-txt{
		width: 100%;
	}
	.vision-item{
		float: none;
		width: 100%;
		padding:20px 5%;
		font-size: 13px;
		line-height: 20px;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}
	.vision-inner .cnt-inner{width: 100%;}
	.vision-item:nth-child(even){
		background: #FFF;
	}
}


