@charset "UTF-8";
/*==================================================================
	Style setting
===================================================================*/
#keyv {
	opacity: 0;
	visibility: hidden;
	position: relative;
	-webkit-transition: all ease-in-out 0.3s;
	-o-transition: all ease-in-out 0.3s;
	transition: all ease-in-out 0.3s;
	overflow: hidden;
	height: 100vh;
}
#keyv.on {
	opacity: 1;
	visibility: visible;
}
#keyv .mv-bg {
	height: 100%;
}
#keyv video {
	-webkit-transform: scale(1.015);
	    -ms-transform: scale(1.015);
	        transform: scale(1.015);
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center;
	   object-position: center;
}
#keyv .mv-arrow {
	position: absolute;
	top: 0;
	left: 0;
	width: 42%;
}
#keyv .mv-p {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 27%;
	text-align: right;
}
#keyv .mv-text {
	color: #fff;
	font-size: 4.8rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	line-height: 1.7;
	position: absolute;
	top: 50%;
	left: 15px;
	right: 15px;
	text-align: center;
	transform: translateY(-50%);
	margin-top: 30px;
	z-index: 3;
}
@media only screen and (max-width: 1200px) {
	#keyv .mv-text {
		font-size: 3.8rem;
	}
}
@media only screen and (max-width: 767px) {
	#keyv .mv-text {
		font-size: 8vw;
		letter-spacing: 0.1em;
		line-height: 1.5;
	}
	#keyv .mv-arrow {
		width: 85%;
	}
	#keyv .mv-p {
		width: 60%;
	}
}


/*==================================================================
	Contents setting
===================================================================*/
.bg-about {
	background: url('../imgs/top/img_about01.png') no-repeat center center;
	background-size: cover;
	background-attachment: fixed;
	height: 1000px;
	position: relative;
}
@media screen and (max-width: 767px) {
	.bg-about {
		background: url('../imgs/top/img_about01-sp.png') no-repeat center center;
		background-size: cover;
	}
}
.sec-ttl .read-more:hover {
	color: #003472;
}
.sec-about .sec-ttl {
	left: 50%;
	top: 10%;
	transform: translateX(-50%);
}
.slider-wrap {
	background: #1D4E7A;
	padding: 110px 0 90px;
	overflow: hidden;
}
@media screen and (max-width: 1200px) {
	.bg-about {
		height: 600px;
	}
}
@media screen and (max-width: 767px) {
	.bg-about {
		height: 500px;
	}
	.sec-about .sec-ttl {
		left: 0;
		transform: none;
	}
}
.bg-service {
	background: url('../imgs/top/img_service01.jpg') no-repeat center;
	background-size: cover;
	background-attachment: fixed;
	position: relative;
	height: 960px;
}
.sec-service .sec-ttl {
	top: 10%;
	left: 22%;
	max-width: 440px;
	width: 100%;
}
.sec-service .slider-wrap {
	background: url('../imgs/top/img_service05.jpg') no-repeat center center;
	background-size: cover;
	padding:  105px 0;
}
.slide-service {
	width: 80%;
	max-width: 490px;
	margin: 0 auto;
}
.slide-service .slick-list {
	overflow: visible;
}
.slide-service a {
	display: block;
	transition: all ease 0.25s;
}
.slide-service  .slick-slide {
	margin: 0 20px;
}
.slide-service .slick-list {
	margin: 0 -20px;
}
.item-service {
	position: relative;
}
.item-service .head-slide .en {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
}
.item-service .head-slide .en img {
	max-height: 100%;
	width: auto !important;
}
.item-service .head-slide .txt {
	color: #fff;
	font-size: 2.2rem;
	position: absolute;
	top: 20px;
	left: 40px;
}
.item-service .jp {
	color: #fff;
	font-size: 2.2rem;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	display: flex;
	justify-content: center;
}
.item-service .read-more {
	position: absolute;
	right: 65px;
	bottom: 45px;
	z-index: 1;
}
p.read-more {
	pointer-events: none;
}
.ic-white::after {
    content: url('../imgs/top/ic_arrow03.svg');
}
@media screen and (max-width: 1200px){
	.sec-service .sec-ttl {
		left: 8%;
	}
	.item-service .head-slide .en img {
		/* width: 5vw; */
	}
	.slide-service .slick-slide {
		margin: 0 15px;
	}
}
@media screen and (max-width: 767px) {
	.bg-service {
		background: url('../imgs/top/img_service01-sp.jpg') no-repeat center top;
		background-size: cover;
		min-height: 600px;
		height: auto;
	}
	.sec-service .sec-ttl {
		left: 0;
		width: 100%;
	}
	.sec-service .slider-wrap {
		padding: 50px 0;
	}
	.slide-service .slick-slide {
		margin: 0 10px;
	}
	.item-service .jp {
		font-size: 1.2rem;
		padding: 0 30px;
	}
	.item-service .head-slide .txt {
		font-size: 1.2rem;
		top: 10px;
		left: 20px;
	}
	.sec-service .slick-slide {
		margin: 0 10px;
	}
	.sec-service .slick-list {
		margin: 0 -15px;
	}
	.item-service .read-more {
		right: 35px;
		bottom: 20px;
	}
}

.bg-company {
	background: url('../imgs/top/img_company01.jpg') no-repeat center;
	background-size: cover;
	background-attachment: fixed;
	position: relative;
	height: 960px;
}
.sec-company .sec-ttl {
	right: 20%;
	bottom: 10%;
}
.sec-company .sec-ttl .headline:before {
	border-color: #65BCE6;
}
@media screen and (max-width: 1200px){
	.sec-company .sec-ttl {
		right: 8%;
	}
}
@media screen and (max-width: 767px) {
	.bg-company {
		background: url('../imgs/top/img_company01-sp.jpg') no-repeat center;
		background-size: cover;
		min-height: 600px;
		height: auto;
	}
	.sec-company .sec-ttl {
		right: 0;
		left: 0;
		top: auto;
		bottom: 30px;
	}
}