@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Syncopate:wght@400;700&display=swap');

body{
	display:none;
}

#mainImg{
	width:100%;
	min-width: 1280px;
	position: absolute;
	top:0;
	left:0;
	z-index:1;
}

#mainImg img{
	width: 100%;
}

.backBlock{
	width: 100%;
	min-width: 1280px;
	background: rgba(0,0,0,0.6);
	color:#FFF;
	padding:80px 0 30px;
	height:auto;
	position: relative;
}

.backBlock .lineBox{
	width:1px;
	height:80px;
	position: absolute;
	left:50%;
	top:-40px;
	overflow: hidden;
}

.backBlock .lineBox::before{
	content: "";
	display:block;
	width:1px;
	height:80px;
	background: rgb(0,0,0);
	background: -moz-linear-gradient(top,  rgba(0,0,0,1) 0%, rgba(0,0,0,1) 50%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 100%);
	background: -webkit-linear-gradient(top,  rgba(0,0,0,1) 0%,rgba(0,0,0,1) 50%,rgba(255,255,255,1) 50%,rgba(255,255,255,1) 100%);
	background: linear-gradient(to bottom,  rgba(0,0,0,1) 0%,rgba(0,0,0,1) 50%,rgba(255,255,255,1) 50%,rgba(255,255,255,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#ffffff',GradientType=0 );
}

.backBlock h2.eng{
	text-align: center;
	font-family: 'Michroma','Arial Black',Arial;
	font-size:110%;
	letter-spacing: 0.4em;
}

.backBlock h2.eng img{
	display: inline-block;
	max-width:90%;
}

.backBlock h2.jp{
	text-align: center;
	font-size:85%;
	font-weight: normal;
	letter-spacing: -2px;
}

.backBlock p{
	text-align: center;
	margin-top:20px;
	font-size:90%;
	letter-spacing: -1px;
}

#mainContainer{
	height:auto;
	padding-top:100vh;
	position: relative;
	overflow: hidden;
}

#mainContainer .scroll {
	width:100px;
	height:80px;
	position: absolute;
	top:90vh;
	left:50%;
	margin-left:-50px;
	z-index:2;
}

#mainContainer .scroll p{
	text-align: center;
	width:100%;
	hegiht:auto;
	position: relative;
}

#mainContainer .scroll p::before{
	content: "";
	display:block;
	width:50px;
	height:1px;
	position: absolute;
	right:50%;
	top:-5px;
	transform: rotate(30deg);
	background: #000;
	transform-origin: right center;
}

#mainContainer .scroll p::after{
	content: "";
	display:block;
	width:50px;
	height:1px;
	position: absolute;
	left:50%;
	top:-5px;
	transform: rotate(-30deg);
	background: #000;
	transform-origin: left center;
}

.secBlock{
	height:auto;
	position: relative;
}

.bigImage .backBlock{
	position: absolute;
	left:0;
	top:0;
	z-index:8;
}

.bigImage .backImg{
	width:100%;
	min-width: 1280px;
	position: relative;
	z-index:7;
}

.bigImage .backImg img{
	width:100%;
}

.smallImage{
	padding-bottom:120px;
}

.smallImage .backBlock{
	background: none;
	color:#000;
	position: relative;
	z-index:8;
}

.smallImage .backBlock .lineBox::before{
	background: rgb(255,255,255);
	background: -moz-linear-gradient(top,  rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(0,0,0,1) 50%, rgba(0,0,0,1) 100%);
	background: -webkit-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(255,255,255,1) 50%,rgba(0,0,0,1) 50%,rgba(0,0,0,1) 100%);
	background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(255,255,255,1) 50%,rgba(0,0,0,1) 50%,rgba(0,0,0,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#000000',GradientType=0 );
}

.smallImage .backImg{
	width:1200px;
	margin:0 auto;
}

.smallImage .backImg img{
	width:100%;
}

.linkBlock{
	cursor: pointer;
}

/* project */
#project{
	width:100%;
	position: relative;
	left:0;
	bottom:0;
	padding-bottom:80px;
	z-index: 15;
}

/*#project .backBlock{
	background: rgba(43,98,142,0.6);
}

#project .backBlock .lineBox::before{
	background: rgb(43,98,142);
	background: -moz-linear-gradient(top,  rgba(43,98,142,1) 0%, rgba(43,98,142,1) 50%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 100%);
	background: -webkit-linear-gradient(top,  rgba(43,98,142,1) 0%,rgba(43,98,142,1) 50%,rgba(255,255,255,1) 50%,rgba(255,255,255,1) 100%);
	background: linear-gradient(to bottom,  rgba(43,98,142,1) 0%,rgba(43,98,142,1) 50%,rgba(255,255,255,1) 50%,rgba(255,255,255,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2b628e', endColorstr='#ffffff',GradientType=0 );
}*/

#pflex{
	width:980px;
	margin:120px auto 0;
	justify-content: space-between;
}

#pflex .projectBox{
	width:465px;
	background: rgba(255,255,255,0.9);
	padding-bottom:15px;
	cursor: pointer;
}

#pflex .projectBox p{
	text-align: center;
	/*font-family: Arial;*/
    font-family: 'Syncopate', sans-serif;
	font-size:90%;
	letter-spacing: 0.1em;
}

.projectBox .pNum{
	margin: 20px 0 5px;
}

.projectBox .pNum span{
	padding:0 10px;
	border-left:1px solid #000;
	border-right:1px solid #000;
	line-height:1em;
}

.projectBox .pName img{
	display:inline-block;
}

.andMore{
	text-align: center;
	margin-top:80px;
}

.andMore a{
	display:inline-block;
	padding:10px 50px;
	background: #2b628e;
	color:#FFF;
}
/* END project */

/* contact */
#contact.smallImage .backImg{
	width:57px;
	margin:0 auto;
}
/* END contact */



/* animate */
header h1{
	opacity: 0;
	transform: translateY(50px);
	transition: all 500ms;
}

header.inview h1{
	opacity: 1;
	transform: translateY(0);
}

header ul.nav li{
	opacity: 0;
	transform: translateY(50px);
	transition: all 500ms;
}

header ul.nav li:nth-child(1){transition-delay: 250ms;}
header ul.nav li:nth-child(2){transition-delay: 300ms;}
header ul.nav li:nth-child(3){transition-delay: 350ms;}
header ul.nav li:nth-child(4){transition-delay: 400ms;}
header ul.nav li:nth-child(5){transition-delay: 450ms;}
header ul.nav li:nth-child(6){transition-delay: 500ms;}
header ul.nav li:nth-child(7){transition-delay: 550ms;}
header ul.nav li:nth-child(8){transition-delay: 600ms;}

header.inview ul.nav li{
	opacity: 1;
	transform: translateY(0);
}


.secBlock .backBlock,
.secBlock .backImg{
	opacity: 0;
	transform: translateY(50px);
	transition: all 500ms;
}

.secBlock.inview .backBlock,
.secBlock.inview .backImg{
	opacity: 1;
	transform: translateY(0);
}

.secBlock .backBlock .lineBox{
	height:0;
	transition: height 500ms 500ms;
}

.secBlock.inview .backBlock .lineBox{
	height:80px;
}

#pflex .projectBox,
#project .andMore{
	opacity: 0;
	transform: translateY(50px);
	transition: all 500ms;
}

#pflex .projectBox.inview,
#project .andMore.inview{
	opacity: 1;
	transform: translateY(0);
}

/* END animate */


/* slide */
#cutout_body .hover{
	cursor: pointer;
}


.slide_superbox{
	position:relative;
}

.slide_superbox div.slideObj{
	position:absolute;
	top:0;
	left:0;
	display:none;
	z-index:1;
	width:100%;
	height:100%;
}

.slide_superbox div.slideObj img{
	width:100%;
	opacity: 0;
}

.slide_superbox div.slideObj:nth-of-type(1){
	background: url(../img/top/main2.jpg) center center no-repeat;
	background-size: cover;
}

.slide_superbox div.slideObj:nth-of-type(2){
	background: url(../img/top/main4.jpg) center center no-repeat;
	background-size: cover;
}

.slide_superbox div.slideObj:nth-of-type(3){
	background: url(../img/top/main3.jpg) center center no-repeat;
	background-size: cover;
}

.slide_superbox div.slideObj:nth-of-type(4){
	background: url(../img/top/main1.jpg) center center no-repeat;
	background-size: cover;
}

.slide_superbox div.slideObj.slActiveOn{
	z-index:5;
}

.slide_superbox div.slideObj.slActive{
	z-index:10;
}

/* END animate */
@media only screen and (max-width:640px){
	
	#mainContainer{
		height:auto;
	}
	
	#mainContainer .scroll{
		top:80vh;
	}
	
	
	#mainImg{
		min-width: 320px;
	}
	
	.backBlock{
		min-width: 320px;
	}
	
	.backBlock h2.eng {
		font-size: 5vmin;
	}
	
	.backBlock h2.jp {
		font-size: 3vmin;
	}
	
	.backBlock p {
		font-size: 2.6vmin;
	}
	
	.slide_superbox div.slideObj:nth-of-type(2){
		background-position: center right;
	}
	
	.bigImage .backImg{
		min-width: 320px;
		background-size: cover;
		height:500px;
	}
	
	.bigImage .backImg img{
		display:none;
	}
	
	#service.bigImage .backImg{
		background: url(../img/top/service_img1_sp.jpg) center 0 no-repeat;
		background-size: cover;
	}
	
	#about.bigImage .backImg{
		background: url(../img/top/aboutus_img1_sp.jpg) center 0 no-repeat;
		background-size: cover;
	}
	
	#recruit.bigImage .backImg{
		background: url(../img/top/recruit_img1_sp.jpg) center 0 no-repeat;
		background-size: cover;
	}
	
	.smallImage .backImg{
		width:100%;
		min-width: 320px;
		height:300px;
		background-size: cover;
	}
	
	.smallImage .backImg img{
		display:none;
	}
	
	#mission.smallImage .backImg{
		background: url(../img/top/mission_img1_sp.jpg) center 0 no-repeat;
		background-size: cover;
	}
	
	#group.smallImage .backImg{
		background: url(../img/top/group_img1_sp.jpg) center 0 no-repeat;
		background-size: cover;
	}
	
	/* project */
	#project{
		width:100%;
		min-width: 320px;
	}

	#pflex{
		width:100%;
		margin:120px auto 0;
		display:block;
	}
	
	#pflex .projectBox{
		width:90%;
		max-width:465px;
		margin:0 auto;
	}
	
	#pflex .projectBox:nth-of-type(2){
		margin-top:30px;
	}
	
	#pflex .projectBox img{
		width:100%;
	}
	
	#pflex .projectBox p {
		font-size: 3vmin;
	}
	
	#pflex .projectBox .pName img{
		width:85%;
	}
	/* END project */
	
	
	/* contact */
	#contact.smallImage .backImg{
		width:57px;
		min-width: inherit;
		height:auto;
		margin:0 auto;
	}
	
	#contact.smallImage .backImg img{
		display:block;
		width:100%;
	}
	/* END contact */
}