.KeyVisual{
	position: relative;
	width: 100%;
	background: #3e9f34;
	overflow: hidden;
}

.KeyVisual::before{
	content: "";
	display: block;
	padding-top: 53.3333%;
}

.KeyVisual__image{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.KeyVisual__inner{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 2;
	width: 100%;
	color: #fff;
}

.KeyVisual__header{
	text-align: left;
	font-size: 7vw;
	line-height: 1.2;
	letter-spacing: .1em;
}


.KeyVisual__line{
	position: absolute;
	left: 0;
	width: 3px;
	z-index: 3;
}

.KeyVisual__line.-red{
	top: 0;
	height: 35%;
	background: #e87722;
}

.KeyVisual__line.-blue{
	top: 35%;
	height: 65%;
	background: #671e75;
}

@media (min-width:768px){

	.KeyVisual::before{
		padding-top: 0;
	}

	.KeyVisual__image{
		position: static;
		float: right;
		width: 50.5%;
		height: auto;
	}

	.KeyVisual__inner{
		padding: 0 40px;
	}

	.KeyVisual__header{
		width: calc(52.5% - 40px);
		font-size: 2.7vw;
	}

	.KeyVisual__eyebrow{
		font-size: 2rem;
	}

	.KeyVisual__line{
		width: 1vw;
	}

	.KeyVisual__line.-red{
		height: 40%;
	}

	.KeyVisual__line.-blue{
		top: 40%;
		height: 60%;
	}

	.-hidden-pc{
		display: none !important;
	}
}

@media (max-width:767px){
	.KeyVisual__header{
		color:#3e9f34;
		text-shadow:
		/* シャープな縁 */
		2px 0 0 #fff,
		-2px 0 0 #fff,
		0 2px 0 #ffff,
		0 -2px 0 #fff,
		2px 2px 0 #fff,
		-2px 2px 0 #fff,
		2px -2px 0 #fff,
		-2px -2px 0 #fff,

		/* ガウスっぽいぼかし */
		0 0 10px rgba(255,255,255,.8),
		0 0 10px rgba(255,255,255,.6);
	}

	.-hidden-sp{
		display: none !important;
	}
}