#mainvisual{
	height: 600px;
	max-height:756px;
	background:none;
}
.mainvisual_wrap{
	height: 600px;
	overflow: hidden;
	background:none;
}
.mainvisual_video{
	width:100%;
	height:100%;
}
.mainvisual_video video{
	width:100%;
	height:100%;
}

#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:50px 0 0 6px;
}
.mainvisual_catch p{
	position:relative;
  color:#fff;
  font-size:36px;
  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:#1c75b6;
	font-weight:bold;
	padding:25px 30px 15px;
	line-height:1;
	z-index:1;
}
.mainvisual_catch p::before {
  animation: bg 3.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
	animation-delay: 1.4s;
  background: #EB9343;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform-origin: left center;
	z-index:-1;
}
.mainvisual_catch p:first-child{
	margin:0 0 17px;
}
.mainvisual_catch p:nth-child(2){
	font-size:28px;
}
.mainvisual_catch p.small{
	font-size:21px;
	padding:10px;
	margin:17px 0 0;
}
@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 span{
	position:relative;
	font-size:42px;
}
.mainvisual_catch p span::before{
	position:absolute;
	top:-12px;
	left:0;
	right:0;
	margin:auto;
	width:8px;
	height:8px;
	border-radius:100%;
	background:#fff;
	content:"";
}
.mainvisual_catch p.com_name{
	margin:60px 0 0;
	font-size:20px;
	text-align:center;
	line-height:1.6;
}

.mainvisual_catch p .bi{
	font-size:42px;
}

.mv_bannar{
	position:absolute;
	left:0;
	bottom:50px;
	width:400px;
}

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

#mainvisual .splide {
  width: 100%;
  height: 600px;
  overflow: hidden;
}

#mainvisual .splide__track {
  height: 100%;
}

#mainvisual .splide__list {
  height: 100%;
}

#mainvisual .splide__slide {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

#mainvisual .splide__slide picture {
  width: 100%;
  height: 100%;
}

#mainvisual .splide__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* フェード効果のためのスタイル */
#mainvisual .splide__slide {
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

#mainvisual .splide__slide.is-active {
  opacity: 1;
}

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

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

#mainvisual{
	/* height:448px; */
	height:auto;
	/* background:url(../images/mv_sp.jpg); */
	/* background:url(../images/mv_sp.jpg);
	background-size:cover;
	background-position: center; */
	background:none;
}

.mainvisual_wrap{
	height: auto;
}
.mainvisual_video{
	height:228px;
	text-align: center;
}
.mainvisual_video video{
	width:100%;
	height:350px;
	display:inline-block;
	object-fit: cover;
	object-position: center;
}

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

/* トップページキャッチフレーズ */
.mainvisual_catch {
	/* position: absolute; */
	left: 0;
	top:90px;
	width:100%;
	justify-content: center;
	padding:0;
	margin:-135px 0 0;
	gap:10px;
}
.mainvisual_catch h2 {
	margin-bottom: 10px;
	font-size: 22px;
}
.mainvisual_catch p {
	font-size: 5.5vw;
	line-height:1.4;
	flex-direction: column;
	gap:5px;
	padding:15px 10px 5px;
	color:#fff;
}
.mainvisual_catch p::before{
	background:#dd8140;
}
.mainvisual_catch p span::before{
	width:6px;
	height:6px;
	background:#fff;
}
.mainvisual_catch p:nth-child(2){
	font-size: 5vw;
}
.mainvisual_catch p span{
	font-size:7vw;
}
.mainvisual_catch p.com_name{
	font-size:18px;
	margin:40px 0 0;
}
.mainvisual_catch p.small{
	font-size:4vw;
	margin:0;
}

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

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


  #mainvisual .splide {
    height: 400px; /* スマホ用の高さ調整 */
  }

}