#mainvisual{
	position:relative;
	height:750px;
	padding:0 0 100px;
}
#mainvisual::before{
	position:absolute;
	top:-140px;
	left:calc(50% - 960px);
	width:600px;
	height:500px;
	background:#F2ED8F;
	content:"";
	z-index:-1;
}
#mainvisual::after{
	position:absolute;
	bottom:0px;
	right:calc(50% - 960px);
	width:600px;
	height:500px;
	background:#8ABEEF;
	content:"";
	z-index:-1;
}
.mainvisual_wrap{
	position:relative;
	height:100%;
}

#mainvisual .inner{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	width:1200px;
	height:100%;
}

/* キャッチフレーズ */
.mainvisual_catch{
	position:absolute;
	top:93px;
  text-align: center;
}
.mainvisual_catch p{
	color:#fff;
  font-size:60px;
	font-family: "Noto Sans JP", sans-serif;
  font-weight:600;
  animation: textUp 0.4s both cubic-bezier(0.23, 1, 0.59, 0.94);
  animation-delay: 1.6s;
	display:table;
	align-items: center;
	gap:10px;
	background:linear-gradient(to right,#0F7EDE,#044C8B);
	padding:15px 40px 20px;
	letter-spacing: 0.08em;
	line-height:1;
}
.mainvisual_catch p:nth-child(2){
	margin:25px 0 0;
}
.mainvisual_box{
	position:absolute;
	left:0;
	bottom:0;
	display:flex;
	flex-direction: column;
	gap:20px;
}
.mainvisual_box div{
	width:50px;
	height:50px;
	background:#8ABEEF;
}
.mainvisual_box div:nth-child(even){
	background:#F2ED8F;
}


/* メインスライド */
#slick_fade{
	position:absolute;
	right:calc(50% - 720px);
	width: 1040px;
	height: 650px;
}
#slick_fade li img{
	width: 100%;
	height: 650px;
	object-fit: cover;
	object-position: center;
}

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

#wrapper, html, body{
	min-height:500px;
}

#mainvisual{
	height:120vw;
	/* background:url(../images/mv_sp.jpg); */
	background-size:cover;
	background-position: center;
	padding: 0 0 9vw;
	margin:55px 0 0;
}
#mainvisual::before{
	position:absolute;
	top:-55px;
	left:0;
	width:100%;
	height:125px;
	background:#F2ED8F;
	content:"";
	z-index:-1;
}
#mainvisual::after{
	content:none;
}

.mainvisual_wrap{
	width:100%;
}

/* トップページキャッチフレーズ */
.mainvisual_catch {
	position: absolute;
	left: 0;
	top:auto;
	bottom:14vw;
	width:100%;
}
.mainvisual_catch p {
	font-size: 8vw;
	padding:4vw;
}
.mainvisual_catch p:nth-child(2){
	margin:4vw 0 0;
}

/* メインスライド */
#slick_fade{
	right:0;
	width:90%;
	height:90vw;
}
#slick_fade li img{
	width:100%;
	height: 90vw;
	object-position: 46%;
}

.mainvisual_box{
	flex-direction: row;
	gap:20px;
}
.mainvisual_box div{
	width:30px;
	height:30px;
}

}
