@charset "utf-8";

/* top keyvisual */
.kv{
	width: 100%;
    height: 100vh;
	margin:auto;
	background-color:transparent;
}
.kv_slide {
	width: inherit;
	height: inherit;
	max-height:inherit;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
	margin:auto;
	z-index: -1; 
	overflow: hidden;
}
.kv_slide .active{
	transform:scale(1.2,1.2);
	transition-property:transform;
	transition-duration:0.35s;
	transition-timing-function: ease-in-out;
}
.keyVisual_text{
    position: absolute;
    top: 45%;
    transform: translate(-50%,-50%);
    width:100%;
    color:white;
    z-index: 98;
}
.keyVisual_text p{
    font-size:4vw;
    line-height: 1.2;
    text-align: left;
	font-family: serif;
	margin-left: 5vw;
}
.fade-text{
	display: block;
	color: transparent;
	font-size: 30px;
	line-height: 1.4;
	margin-bottom: 40px;
	background-clip: text;
	-webkit-background-clip: text;
	background-size: 300% 300%;
}
.fade-text.to__right {
	background-image: linear-gradient(to right, #fff 30%, rgba(255, 255, 255, 0) 60%);
	background-position: left 100% center;
	transform: translate(-20px, 0);
	-webkit-animation: toRight var(--duration, 2.4s) var(--ease) var(--delay, 0.6s) forwards;
			animation: toRight var(--duration, 2.4s) var(--ease) var(--delay, 0.6s) forwards;
}
@keyframes toRight {
	100% {
	  transform: translate(0, 0);
	  background-position: left 0% center;
	}
}
.contact_banner{
	position: absolute;
	bottom: 6rem;
	right: 4.8rem;
	width: 40rem;
	height: 20rem;
	background: rgba(11, 112, 243, 0.822);
	border: 1px solid #fff;
}
@media screen and (max-width:432px) {
	.keyVisual_text p{
		font-size:6vw;
	}
	.contact_banner{
		left: 50%;
        transform: translate(-50%, -0%);
		width: 80vw;
	}
}
h2.contact_banner_title{
	color: #fff;
	font-size: 2.0rem;
	padding: 1rem 0;
	text-align: center;
	font-weight: bold;
}
.contact_banner_text{
	color: #fff;
	font-size: 1.6rem;
	padding: 0 0 1.4rem 0;
	text-align: center;
	font-weight: bold;
}
.contact_banner_btn{
	text-align: center;
}
.contact_banner_btn h4{
	color: #000;
	font-size: 1.6rem;
	box-shadow: 0 4px 0 #cecece;
	background-color: #fff;
	display: inline-block;
	font-weight: bold;
	margin: 0 auto;
	padding: 1rem 4rem;
	border-radius: 20px;
}
.contact_banner_btn h4:hover{
	color: #64CCBF;
	transform: translateY(4px);
	transition: .4s;
  	box-shadow: none;
}
.contact_banner_btn i{
	padding-right: 5px;
}
.kv_scroll{
	position: absolute;
	left: 50%;
	transform: translate(-50%);
	bottom: 1.4rem;
    font-weight: bold;
	color: #fff;
	font-size: 2.0rem;
}
/* 点滅 */
@keyframes blinking {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
/* 要素にアニメーションを適用 */
.blink {
	animation: blinking 2s ease-in-out infinite alternate;
}
/* フェードインスライドショー */
.kv_slide_inner,
.kv_slide_inner::before{
    width: 100% !important;
    height: 100% !important;
	height:inherit !important;
	max-height:inherit !important;
}
.kv_slide_inner{
    position: absolute;
	top:0;
    left: 50%;
    right: 0;
	transform:translate(-50%,0%);
    margin: auto;
	background-size:cover;
	background-position: center;
}
.kv_slide_inner::before{
	position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: inherit;
	right:0;
    top: 0;
    z-index: 10;
}

/* フェードイン */
.kv_slide_inner{
	opacity:0; 
	transition-property:opacity;
	transition-duration:.85s;
	transition-timing-function:ease-in-out;
}
.contents{
	overflow:hidden;
}

/* top_banner スライドショー ここから */
.sliderArea {
	max-width: 100%;
	margin: 0 auto;
	padding: 50px 50px;
}
.sliderArea.w300 {
  max-width: 300px;
}
.slick-slide {
  margin: 0 10px;
}
.slick-slide img {
  width: 100%;
  height: auto;
}
.slick-prev, .slick-next {
  z-index: 1;
}
.slick-prev:before, .slick-next:before {
  color: #000;
}
.slick-slide {
  transition: all ease-in-out .3s;
  opacity: .2;
}
.slick-active {
  opacity: 1;
}
.slick-current {
  opacity: 1;
}
.thumb {
  margin: 20px 0 0;
}
.thumb .slick-slide {
  cursor: pointer;
}
.thumb .slick-slide:hover {
  opacity: .7;
} 
.slide-arrow {
	background-color: #fff;
	bottom: 0;
	height: 0;
	margin: auto;
	position: absolute;
	top: 0;
	width: 0;
}
.prev-arrow {
	border-bottom: 10px solid  #fff;
	border-left: 0;
	border-right: 10px solid #ccc;
	border-top: 10px solid  #fff;
	left: -25px;
}
.next-arrow {
	border-bottom: 10px solid  #fff;
	border-left: 10px solid #ccc;
	border-right: 0;
	border-top: 10px solid  #fff;
	right: -25px;
}
.slick-prev:before,
.slick-next:before {
  color: #000 !important;
}
/* top_banner スライドショー ここまで */

@media screen and (max-width:1330px) {
	.kv::after,
	.kv::before{
		display:none;
	}
	.kv_slide{
		width:100%;
	}
}

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

	.kv {
		height: calc(100vh - 160px);
		max-height: 708px;
	}


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

		.kv {
			height: calc(100vh - 160px);
				max-height: 708px;
			padding-top: 60px;
				overflow: hidden;
				min-height:600px;
		}
		.kv_slide{
			height: calc(100vh - 160px);
			min-height: inherit;
			top: 60px;
		}
		.kv_slide_inner,
		.kv_slide_inner::before{
			min-height: inherit !important;
		}

	}

	@media screen and (max-width:640px) {
		/* スマホ */
		.kv{
			width:100%;
			height:100vh;
			max-height: none;
			padding-top:0;
		}
		.android .kv,
		.ios .kv {
			height: 100vh;
		}
		.kv::before{
			top:0;
			width:100%;
			height: 100vh;
			background-color: rgba(0, 15, 79, .2);
		}
		.kv_slide {
			top: 60px;
			height: calc(100vh - 60px);
		}

		.kv_slide_inner {
			background-position: 76% 50%;
		}
		.sp_navi_list li.sp_navi_list_home a.active{
			border-bottom:1px solid #fff;
		}
	}
}

@media (max-width: 435px) {
	.sliderArea {
		padding: 20px 30px;
	}
	h2.contact_banner_title {
		font-size: 1.8rem;
	}
	h4.contact_banner_text {
		font-size: 1.4rem;
	}
	.contact_banner_btn h4 {
		font-size: 1.4rem;
	}
}