/* CSS Document */
body > #wrap{
	overflow: hidden;
}
header{
	margin-top: 110px;
}
#mainVisual{
	height: 700px;
	background: url("../img/mainvisual_creation.jpg") no-repeat center;
	background-size: cover;
	position: relative;
}
	#mainVisual .top_logo{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		max-width: 367px;
		width: 30%;
		color: #fff;
	}

#contentsBlock .contents{
	max-width: 900px;
	margin: 100px auto;
}
#contentsBlock .contents02{
	max-width: 1500px;
	width: 100%;
	margin: 100px auto;
}
#contentsBlock .contents03{
	max-width: 1210px;
	width: 100%;
	margin: 100px auto;
}

.img_area .flex{
	justify-content: space-between;
	margin-bottom: 3.3%;
}
	.img_area .flex.align-start{
		align-items: flex-start;
	}
	.img_area .flex.align-end{
		align-items: flex-end;
	}
		.img_area .flex figure:first-child{
			margin-right: 3.3%;
		}

.img_area > figure{
	margin-bottom: 3.3%;
}

.img_area .img_01 img,
.img_area .img_02 img{
	max-width: 614px;
	width: 69%;
}

@media screen and (max-width:1440px){
	#mainVisual{
		height: 48.612vw;
	}
}
@media screen and (max-width:1120px){
	.img_area.sp_pd_area{
		padding: 0 20px;
	}
}
@media screen and (max-width:1080px){
	#mainVisual .top_logo{
		font-size: 7vw;
	}
}
@media screen and (max-width:767px){
	header{
		margin-top: 68px;
	}

	#mainVisual{
		background: url(../img/mainvisual_creation_sp.jpg) no-repeat center;
		background-size: cover;
		overflow: inherit;
		height: 70.405vw;
	}
	
	#mainVisual .top_logo{
		max-width: 734px;
		width: 50%;
		line-height: 1;
		top: 96%;
	}
	#contentsBlock .contents,
	#contentsBlock .contents02,
	#contentsBlock .contents03{
		margin: 50px auto 0;
	}
	.img_area .flex figure:first-child {
		margin-right: 5%;
	}
	.img_area .flex,
	.img_area > figure{
		margin-bottom: 5%;
	}
	.img_area.sp_pd_area02{
		padding: 0 20px;
	}
	.img_area .img_09{
		text-align: center !important;
	}
}
