
.header_item{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:1000px;
	overflow: hidden;
	z-index:-1;
}
.header_item::before{
	position:absolute;
	top:-788px;
	left:calc(50% - 373px);
	width:1534px;
	height:1534px;
	border-radius:100%;
	background:#009FE6;
	content:"";
	z-index:-1;
}
.header_item::after{
	position:absolute;
	top:-441px;
	right:calc(50% - 215px);
	width:1434px;
	height:1434px;
	border-radius:100%;
	background:#DEF5FF;
	content:"";
	z-index:-2;
}

#mainvisual{
	/* height: calc(100vh - 200px);
	max-height:756px; */
	height:auto;
	background:none;
	overflow: hidden;
	width:100%;
	border-radius:0;
	padding:0 0 140px;
}
.mainvisual_wrap{
	position:relative;
	/* height: calc(100vh - 200px);
	max-height:756px; */
	background:none;
	z-index:1;
}
.top .mainvisual_wrap::before{
	position:absolute;
	bottom:-40px;
	right:calc(50% - 865px);
	width:400px;
	height:400px;
	border-radius:400px;
	background:#DEF5FF;
	content:"";
	z-index:-1;
}
.top .mainvisual_wrap::after{
	position:absolute;
	bottom:-138px;
	left:calc(50% - 865px);
	width:400px;
	height:400px;
	border-radius:400px;
	background:#009FE6;
	content:"";
	z-index:-1;
}
.top .mainvisual_wrap::before{
	position:absolute;
	bottom:43px;
	right:calc(50% - 865px);
	width:400px;
	height:400px;
	border-radius:400px;
	background:#DEF5FF;
	content:"";
	z-index:-1;
}
.mainvisual_video{
	width:100%;
	height:100%;
}
.mainvisual_video video{
	width:100%;
	height:100%;
	border-radius:0 80px 0 80px;
}

#mainvisual .inner{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	display:flex;
	flex-direction: column;
	align-items: flex-start;
}

/* キャッチフレーズ */
.mainvisual_catch{
	display:flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
  text-align: center;
	padding:100px 0 0 6px;
}
.mainvisual_catch p{
	position:relative;
  font-size:56px;
  letter-spacing: 0.05em;
  /* animation: textUp 0.4s both cubic-bezier(0.23, 1, 0.59, 0.94); */
	/* animation: bg 2.6s cubic-bezier(0.22, 1, 0.36, 1) forwards; */
  animation-delay: 1.6s;
  background: #fff;
	font-weight:bold;
	padding:9px 15px;
	line-height:1;
	z-index:1;
	border-radius:0 20px 0 20px;
	color:#fff;
}
.mainvisual_catch p:not(:last-child){
	margin:0 0 12px;
}
.mainvisual_catch p::before {
  animation: bg 3.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
	animation-delay: 1.4s;
	background:#009FE6;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform-origin: left center;
	border-radius:0 20px 0 20px;
	z-index:-1;
}
@keyframes bg {
  0% {
    opacity: 0;
    transform: scaleX(0) translateX(-5%);
  }
  30% {
    transform: scaleX(1) translateX(0);
  }
  100% {
    transform: scaleX(1) translateX(0);
  }
  30%, 100% {
    opacity: 1;
  }
}
@keyframes textUp {
    0% {
      transform: translateY(100px);
			opacity: 0;
    }
    
    100% {
			opacity: 1;
      transform: translateY(0);
    }
}
.mainvisual_catch p.sub {
	font-size:21px;
	border-radius:0 10px 0 10px;
	background:#009FE6;
	color:#333;
}
.mainvisual_catch p.sub::before {
  animation: bg 3.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
	animation-delay: 1.4s;
	background:#fff;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform-origin: left center;
	border-radius:0 10px 0 10px;
	z-index:-1;
}
.mainvisual_catch p.sub span{ 
	font-size:26px;
}

.mv_bannar{
	position:absolute;
	left:0;
	bottom:50px;
	width:400px;
}
.mv_bannar img{
	border-radius:0 15px 0 15px;
}

/* メインスライド */
#slick_fade{
	width: 100%;
	height: 850px;
}
#slick_fade li img{
	width: 100%;
	height: 850px;
	object-fit: cover;
	object-position: center;
}

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

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

#mainvisual{
	height:478px;
	/* background:url(../images/mv_sp.jpg); */
	/* background:url(../images/mv_sp.jpg);
	background-size:cover;
	background-position: center; */
	background:none;
	padding:10px 0 25px;
	margin:0 0 30px;
}
#mainvisual::after{
	bottom:-16px;
}

.mainvisual_wrap{
	height: 100%;
}
.top .mainvisual_wrap::after{
	position: absolute;
  bottom: 0;
  left: calc(50% - 70px);
  width: 320px;
  height: 320px;
  border-radius: 100%;
  background: #DEF5FF;
  content: "";
  z-index: -1;
}
.mainvisual_video{
	width:90%;
	height:320px;
	margin:15px auto 0;
	text-align: center;
}
.mainvisual_video video{
	width:100%;
	height:320px;
	display:inline-block;
	object-fit: cover;
	object-position: center;
	border-radius:0 25px 0 25px;
}

#mainvisual .inner{
	position:static;
	padding:20px 0;
	background:none;
}

/* トップページキャッチフレーズ */
.mainvisual_catch {
	position: absolute;
	left: 0;
	right:0;
	bottom:0;
	margin:auto;
	width:84%;
	justify-content: center;
	padding:0;
	gap:6px;
}
.mainvisual_catch h2 {
	margin-bottom: 10px;
	font-size: 22px;
}
.mainvisual_catch p {
	font-size: 7.4vw;
	line-height:1.2;
	flex-direction: column;
	gap:5px;
	padding:5px 10px;
	border-radius:0 10px 0 10px;
	color:#fff;
	margin:0;
	text-align:left;
}
.mainvisual_catch p:not(:last-child) {
	margin:0;
}
.mainvisual_catch p::before{
	background:#009FE6;
	border-radius:0 10px 0 10px;
}
.mainvisual_catch p:nth-child(2){
	font-size: 5vw;
}
.mainvisual_catch p span{
	font-size:7vw;
}
.mainvisual_catch p.sub{
	font-size:4vw;
	color:#fff;
	background:#fff;
}
.mainvisual_catch p.sub::before{
	background:#009FE6;
	border-radius:0 10px 0 10px;
}
.mainvisual_catch p.sub span{
	font-size:5.5vw;
}

.mv_bannar{
	position: static;
	width:300px;
	margin:0 auto;
}

/* メインスライド */
#slick_fade{
	height: 450px;
}
#slick_fade li img{
	height: 448px;
}

}
