@charset "utf-8";
/* CSS Document */
@media all{
	
/* ファーストビュー */
	#firstimage{
		width: 100%;
		height: 56vw;
	}
	#firstimage .text{
		position: absolute;
		width: 100%;
		top: 28vw;
		left: 0;
		transform: translateY(-55%);
		-webkit-transform: translateY(-55%);
		-ms-transform: translateY(-55%);
		color: #fff;
		text-align: center;
		letter-spacing: .1em;
	}
	#firstimage .text h2{
		font-size: 1.8rem;
		filter: drop-shadow(0 0 5px rgba(0,0,0,.6));
	}
	#firstimage .text p{
		font-size: 3.6rem;
		line-height: 1.5;
		margin-bottom: 1em;
		filter: drop-shadow(0 0 5px rgba(0,0,0,.6));
	}
	#firstimage .fvimage{
		width: 100%;
	}
	#firstimage video {
		position: absolute;
		top: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		z-index: -1;
	}
	
/* STORY */
	#story{
		padding: 120px 0;
	}
	#story .box{
		width: 100%;
		position: relative;
	}
	#story .box .image{
		width: 100%;
	}
	#story .box .text{
		position: absolute;
		top: 7vw;
		left: 7vw;
	}
	#story .box .text h3{
		width: 340px;
		margin-bottom: 2rem;
	}
	#story .box .text p{
		font-size: 1.3rem;
		color: #fff;
	}
	
/* プロデュース */
	#produce{
		padding: 0 0 80px;
	}
	#produce .box{
		width: calc(100% - 40px);
		max-width: 930px;
		margin: 0 auto;
		display: flex;
	}
	#produce .box .text{
		width: 50%;
		padding: 30px 30px 0 0;
	}
	#produce .box .text h3{
		font-size: 2rem;
		margin-bottom: 1em;
	}
	#produce .box .text p{
		font-size: 1.3rem;
		width: 100%;
		text-align: justify;
	}
	#produce .box .image{
		width: 50%;
	}
	
/*スタッフ紹介*/
	#staff{
		padding:20px 0 60px 0;
	}
	
	#staff h3{
		width: 340px;
		margin: 0 auto 5px;
	}
	
	#staff h3 img{
		width: 100%;
		height: auto;
		vertical-align: bottom;
	}
	
	#staff .title{
		font-size: 1.4rem;
		margin-bottom: 3em;
		text-align: center;
	}
	
	#staff ul{
		width: calc(100% - 20px);
		max-width: 960px;
		display: flex;
		flex-wrap: wrap;
		margin: 0 auto;
	}
	
	#staff li{
		width: 25%;
		padding: 0 15px 60px;
	}
	
	#staff li img{
		width: 100%;
	}
	
	#staff li .name{
		width: 100%;
		font-size: 2rem;
		padding: 0.3em 0;
		border-bottom: 1px solid #777;
		text-align: center;
	}
	#staff li .name span{
		display: block;
		font-size: 1.2rem;
	}
	
	#staff li .text{
		font-size: 1.3rem;
		padding: 0.7em 0;
	}
}

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

/* ファーストビュー */
	#firstimage{
		height:100%;
	}
	#firstimage .fvimage{
	height: 100vh;
}
	#firstimage .fvimage img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	
	#firstimage .text{
		top:50%;
	}

	#firstimage .text h2{
		font-size: 0.9rem;
	}
	#firstimage .text p{
		font-size: 1.7rem;
	}
	
	/* STORY */
	#story{
		padding: 60px 0;
		width: 100%;
		display: flex;
		flex-direction: column-reverse;
	}
	#story .image{
		width: 100%;
		margin-bottom: 40px;
	}
	#story .box .text{
		position:static;
	}
	#story .box .text h3{
		width: 100%;
		max-width: 340px;
		margin: 0 auto 20px;
	}
	#story .box .text p{
		font-size: 1.0rem;
		color: #000;
		padding: 0 10px;
		text-align: center;
	}
		
/* プロデュース */
	#produce{
		padding: 0 0 80px;
	}
	#produce .box{
		flex-direction: column-reverse;
	}
	#produce .box .text{
		width: 100%;
		padding: 30px 0 0 0;
	}
	#produce .box .text h3{
		font-size: 1.5rem;
		margin-bottom: 1em;
		text-align: center;
	}
	#produce .box .text p{
		font-size: 1.0rem;
		width: 100%;
	}
	#produce .box .image{
		width: 100%;
	}
		
/*スタッフ紹介*/
	#staff{
		padding:20px 0 60px;
	}
	#staff h3{
		width: 100%;
		max-width: 340px;
		margin: 0 auto 5px;
	}
	#staff .title{
		font-size: 1.1rem;
		margin-bottom: 3em;
		text-align: center;
	}
	#staff li{
		width: 50%;
		padding: 0 10px 30px;
	}
	
	#staff li .name{
		font-size: 1.2rem;
		padding: 0.3em 0;
	}
	#staff li .name span{
		display: block;
		font-size: 1rem;
	}
	
	#staff li .text{
		font-size: 1rem;
		padding: 0.7em 0;
	}
	
}

@media screen and (min-width: 568px) and (max-width: 1024px){

	
}

@media screen and (min-width: 1025px), print{

	
}
