@charset "utf-8";

#container{	padding-top: 90vh;}

#main_visual{
	width: 100%;
	position: fixed;
	top: 0;
}
#main_visual .catch{
	position: absolute;
	left: 13.076%;
  top: 36vh;
	color: #FFFFFF;
	z-index: 2;
}
#main_visual .catch h2{
	font-size: 52px;
	font-size: 5.2rem;
}
#main_visual .catch p{
	font-size: 20px;
	font-size: 2.0rem;	
}

#main_visual ul{
	position: absolute;
	z-index: 1;
}
#main_visual ul li img{
	width: 100vw;
	height: auto;
}


#main_visual ul::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.2);
	z-index: 2;
}

#main {
	padding: 120px 0 50px;
	position: relative;
	z-index: 10;
	background: #FFFFFF;
	overflow: hidden;
}


/**************************************************
 top_menu
**************************************************/
.top_menu{
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto -80px;
	padding: 10px;
	background: #FFFFFF;
	z-index: 11;
}

.top_menu ul{
	display: -webkit-box;
	display: -ms-flexbox;
	display:flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;/*--- IE10 ---*/
	-webkit-justify-content: space-between; /* Safari */
	justify-content: space-between;
	-webkit-box-align: stretch;/*--- Androidブラウザ用 ---*/
	-ms-flex-align: stretch;/*--- IE10 ---*/
	-webkit-align-items: stretch;/*--- safari（PC）用 ---*/
	align-items: stretch;
  flex-wrap: nowrap;	
}
.top_menu ul li{
	position: relative;
	width: calc(100% / 3);
	margin: 0 1px 0 0;
	padding: 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	font-size: 30px;
	font-size: 3.0rem;
	text-align: center;
}
.top_menu ul li span{
	display: block;
	font-size: 15px;
	font-size: 1.5rem;	
}
.top_menu ul li:nth-child(1){	background-image: url("../img/top/menu01.jpg");}
.top_menu ul li:nth-child(2){	background-image: url("../img/top/menu02.jpg");}
.top_menu ul li:nth-child(3){	background-image: url("../img/top/menu03.jpg");}
.top_menu ul li:last-child{ margin: 0;}

.top_menu ul li::before{
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.4);
	z-index: 2;
	-webkit-transition: 0.2s ease-out;
	-moz-transition: 0.2s ease-out;
	-o-transition: 0.2s ease-out;
	-ms-transition: 0.2s ease-out;
}

.top_menu ul li a{
	position: relative;
	display: block;
	padding: 4em 0;
	color: #FFFFFF;
	z-index: 3;
}

.top_menu ul li:hover::before{
	background: rgba(0,0,0,0.1);	
}


/**************************************************
 business
**************************************************/
.business{
	padding: 20px 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display:flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;/*--- IE10 ---*/
	-webkit-justify-content: space-between; /* Safari */
	justify-content: space-between;
	-webkit-box-align: center;/*--- Androidブラウザ用 ---*/
	-ms-flex-align: center;/*--- IE10 ---*/
	-webkit-align-items: center;/*--- safari（PC）用 ---*/
	align-items: center;
  flex-wrap: nowrap;	
}
.business:nth-child(even){ flex-direction: row-reverse;}

.bus_image{
	width: 70%;
	position: relative;
	z-index: -1;
}
.bus_image img{
	width: 100%;
	height: auto;
  transition : all 800ms;
}

.business.staffing .bus_image img,
.business.solar .bus_image img{
	transform : translate(-100px, 0);
}

.business.abroad .bus_image img{
	transform : translate(100px, 0);
}

.business.staffing.scrollin .bus_image img,
.business.abroad.scrollin .bus_image img,
.business.solar.scrollin .bus_image img{ transform : translate(0, 0);}

.bus_text{
	width: 35%;
	margin: 0 0 0 -10%;
	padding: 8% 3%;
	background: #FFFFFF;
}
.business:nth-child(even) .bus_text{
	flex-direction: row-reverse;
	margin: 0 -10% 0 0;
}

.bus_text .bus_en{
	font-size: 18px;
	font-size: 1.8rem;
	font-family: 'Open Sans', sans-serif;
}
.business.staffing .bus_text .bus_en{ color: #22a573;}
.business.abroad .bus_text .bus_en{ color: #3a6da4;}
.business.solar .bus_text .bus_en{ color: #9E660B;}

.bus_text h2{
	margin: 0 0 10px 0;
	font-size: 30px;
	font-size: 3.0rem;	
}

.bus_text p{
	font-size: 15px;
	font-size: 1.5rem;	
}

.business.staffing .bus_text .more a:hover{ color: #22a573;}
.business.abroad .bus_text .more a:hover{ color: #0071ac;}
.business.solar .bus_text .more a:hover{ color: #9E660B;}


/**************************************************
 Responsive
**************************************************/

@media screen and (max-width: 744px){
	
	#container{ height: 100vh;}
	
	#main_visual ul li{
		width: 100%;
		height: 100vh;
		text-align: center;
	}
	
	#main_visual ul li img{
		width: 100vw;
		max-width: 640px;
		height: auto;
	}
	
	#main_visual .catch{
		position: relative;
		padding: 15vh 30px 30px 30px;
		top: 0;
		left: auto;
		background: #22a573;
	}
	
	#main_visual .catch h2{
		font-size: 30px;
		font-size: 3.0rem;		
	}
	
	#main_visual .catch p {
    font-size: 18px;
    font-size: 1.8rem;
	}
	#main_visual .catch p br{ display: none;}
	
	#main_visual ul{ position: relative;}
	
	#main{ padding: 30px 0;}
	
	.top_menu{
		margin: 0;
	}
	.top_menu ul{ flex-wrap: wrap;}
	.top_menu ul li{
		width: 100%;
		margin: 0 0 1px 0;
	}
	.top_menu ul li a{ padding: 2em 0;}
	
	.business,
	.business:nth-child(even){
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}
	.bus_image{	width: 100%;}
	.bus_text,
	.business:nth-child(even) .bus_text{
		width: 100%;
		margin: 0;
		padding: 20px;
	}
	
}
