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

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

.mainvisual_bg:before{
	content: "";
	display: block;
	width: 20vw;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 20;
	transform: translateX(-50%);
	background: linear-gradient(to right, #FFF 50%, transparent 100%);
}

.mainvisualSlideImage{
	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;
	text-align: left;
	font-size: 200%;
	line-height: 200%;
	color: #FFF;
	background-color: rgba(0,0,0,0.5);
}

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

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

/*---------------------------------
	supText start
---------------------------------*/

.supText{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-end;
	margin: 0.5em 0 0;
	padding: 0;
	color: #777;
}

.supText span{
	display: block;
	margin: 0;
}

/*---------------------------------
	supText end
---------------------------------*/

