@charset "utf-8";
.kv {
		min-height: 400px;
		position: relative;
		display: flex;
		align-items: center;
		background-color: #F5F8FD
}
.kv::before {
		content: '';
		display: block;
		position: absolute;
		top: 150px;
		left: 0;
		width: 100%;
		height: calc(100% - 200px);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		background-image: url("../images/kv_pc-2.jpg");
		z-index: 0;
		box-sizing: border-box;
		pointer-events: none
}
@media (max-width: 1400px) {
		.kv::before {
				top: 110px;
				height: calc(100% - 140px);
		}
}
@media(min-width: 768px) {
		.kv {
				min-height: 600px;
		}
}
@media(max-width: 840px) {
		.kv::before {
				display: none
		}
		.kv {
				background-position: center top;
				background-size: cover;
				background-image: url("../images/kv_mid.jpg");
				background-color: #c0cecf;
		}
}
@media(max-width: 767px) {
		.kv {
				background-position: 0 0;
				background-size: 100%;
				background-image: url("../images/kv_sp.jpg");
				background-repeat: no-repeat;
		}
}
.kv .kv_catch_gr {
		color: #022F7A;
		position: relative;
		top: 10vh;
		margin-left: 80px;
}
.kv_catch_hdr {
		display: flex;
		flex-direction: column-reverse;
		font-weight: 800;
		line-height: 1;
		margin-bottom: 30px;
}
.kv_catch_hdr p {
		/* 960-1920 22/56*/
		font-size: clamp(1.375rem, 3.542vw + -0.75rem, 3.5rem);
		font-weight: 900;
		position: relative;
		z-index: 2;
		line-height: 1;
}
.kv_catch_hdr h1 {
		/* 960-1920 55/110*/
		font-size: clamp(2.375rem, 7.5vw + -2.125rem, 6.875rem);
		font-weight: 900;
		position: relative;
		z-index: 2;
		line-height: 1;
}
.kv_caption_gr {
		/* 960-1920 24/40*/
		font-size: clamp(1.5rem, 1.667vw + 0.5rem, 2.5rem);
		font-weight: 900;
}
.kv_catch_bg_wrap {
		display: flex;
		margin: 0 0 60px;
}
.kv_caption_wrap {
		display: flex;
		margin: 0 0 30px;
}
.kv_catch_bg {
		position: relative;
}
.kv_catch_bg::before {
		content: '';
		display: block;
		position: absolute;
		top: -15px;
		left: -15px;
		width: calc(100% + 30px);
		height: calc(100% + 35px);
		background: #fff;
		transform-origin: left center;
		transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
		box-shadow: rgba(0, 0, 0, 0.02) 0px 3px 5px;
}
.kv_caption_bg::before {
		content: '';
		display: block;
		position: absolute;
		top: -8px;
		left: -15px;
		width: calc(100% + 30px);
		height: calc(100% + 20px);
		background: #fff;
		transform-origin: left center;
		transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
		box-shadow: rgba(0, 0, 0, 0.02) 0px 3px 5px;
}
@media(max-width: 1500px) {
		.kv_catch_hdr {
				margin-bottom: 20px;
		}
		.kv_catch_bg_wrap {
				margin: 0 0 35px;
		}
		.kv_caption_wrap {
				margin: 0 0 25px;
		}
		.kv_catch_bg::before {
				top: -8px;
				height: calc(100% + 24px);
		}
		.kv_caption_bg::before {
				top: -6px;
				left: -15px;
				width: calc(100% + 30px);
				height: calc(100% + 16px);
		}
}
@media(max-width: 840px) {
		.kv {
				display: flex;
				align-items: flex-start;
		}
		.kv .kv_catch_gr {
				top: 50vh;
				margin-left: 30px;
				margin-bottom: 10vh;
		}
		.kv_catch_hdr p {
				font-size: 30px;
		}
		.kv_catch_hdr h1 {
				font-size: 60px;
		}
		.kv_caption_gr {
				font-size: 24px;
		}
}
@media(max-width: 767px) {
		.kv .kv_catch_gr {
				top: 45vh;
				margin-left: 10px;
				margin-bottom: 60px;
		}
		.kv_catch_hdr p {
				font-size: 18px;
		}
		.kv_catch_hdr h1 {
				font-size: 32px;
		}
		.kv_caption_gr {
				font-size: 18px;
		}
		.kv_catch_bg_wrap {
				margin: 0px 0 27px;
		}
		.kv_catch_bg::before {
				top: -6px;
				left: -7px;
				width: calc(100% + 15px);
				height: calc(100% + 16px);
		}
		.kv_caption_bg::before {
				top: -6px;
				left: -7px;
				width: calc(100% + 15px);
				height: calc(100% + 14px);
		}
		.kv_catch_bg::before, .kv_caption_bg::before {
				box-shadow: none;
		}
		.kv_caption_wrap {
				margin: 0 0 23px;
		}
}
@media(max-width: 400px) {
		.kv_catch_hdr p {
				font-size: 18px;
		}
		.kv_catch_hdr h1 {
				font-size: 30px;
		}
		.kv_caption_gr {
				font-size: 18px;
		}
}
.fSky {
		color: #54C3C3;
}
.kv_caption_bg {
		position: relative;
}
.kv_caption_bg p {
		position: relative;
		z-index: 2
}
.kv .kv_scrollDown {
		font-size: 20px;
		font-family: "Poppins", sans-serif;
		font-weight: 700;
		position: absolute;
		bottom: 100px;
		right: 60px;
		display: none
}
.kv_scrollDown a {
		color: #fff;
		text-decoration: none;
		display: inline-block;
		position: relative;
}
.kv_scrollDown a::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: -32px;
		width: 17px;
		height: 21px;
		background-image: url("../images/scroll_arw.png");
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 17px;
}
.kv_scrollDown span {
		position: relative;
		display: inline-block;
}
.kv_scrollDown span::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -8px;
		left: 0;
		width: 100%;
		height: 1px;
		background: #fff;
		transform-origin: left center;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		transform: scaleX(0);
}
@media(max-width: 1300px) {
		.kv .kv_scrollDown {
				font-size: 18px;
				bottom: 40px;
				right: 40px;
		}
}
@media(max-width: 767px) {
		.kv .kv_scrollDown {
				font-size: 14px;
				bottom: 40px;
				right: 25px;
		}
		.kv_scrollDown a::before {
				top: 0;
				left: -23px;
				width: 14px;
				height: 17px;
				background-size: 14px;
		}
}
@media (hover: hover) {
		.kv_scrollDown a:hover span::after {
				transform: scaleX(1)
		}
}
@media(min-width: 1921px) {
		.kv_lead {
				font-size: 46px;
		}
		.kv_catch {
				font-size: 112px;
				font-weight: 900;
		}
}
@media(max-width: 840px) {
		.kv .kv_catch_gr {
				left: 40px;
		}
		.kv_lead {
				font-size: 22px;
				margin: 0 0 20px;
		}
		.kv_catch {
				font-size: 56px;
		}
}
@media(min-width: 768px) {
		.kv_lead br {
				display: none
		}
}
@media(max-width: 767px) {
		.kv .kv_catch_gr {
				left: 20px;
		}
		.kv_lead {
				font-size: 16px;
				line-height: 1.5;
				margin: 0 0 10px;
		}
		.kv_catch {
				font-size: 36px;
		}
}
@media(max-width: 390px) {
		.kv_lead {
				font-size: 15px;
		}
		.kv_catch {
				font-size: 32px;
		}
}