/*---------------------------------
	mainvisual start
---------------------------------*/
.mainvisual{
	position: relative;
	width: 100%;
	height: 80vh;
	overflow: hidden;
}

.mainvisual_bg{
	position: absolute;
	top: 0;
	right: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
}

.mainvisualImage{
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mainvisual_inner{
	position: absolute;
	z-index: 20;
	max-width: 90%;
}

@media(min-width: 601px){
	.mainvisual_inner{
		top: 50%;
		left: 5%;
		padding: 35vh 1em;
		transform: translateY(-50%);
	}
}

@media(max-width: 600px){
	.mainvisual_inner{
		bottom: 2em;
		left: 5%;
		transform: translateY(-50%);
	}
}

.mainvisual_catch{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 0;
	padding: 0.25em 1em 0.25em 0.5em;
	text-align: left;
	font-size: 250%;
	line-height: 200%;
	background-color: rgba(255,255,255,0.5);
}

@media(max-width: 600px){
	.mainvisual_catch{
		font-size: 5vw;
	}
}

/*---------------------------------
	mainvisual end
---------------------------------*/