@charset "UTF-8";



/*  ----------------------------------------------------------

kv

----------------------------------------------------------  */
.top-kv {
	position: relative;
}
.top-kv-slider > * {
	height: 56rem;
}
.slide-1 {
	background: url(../img/top-kv-1.jpg) no-repeat center / cover;
}
.slide-2 {
	background: url(../img/top-kv-2.jpg) no-repeat center / cover;
}
.slide-3 {
	background: url(../img/top-kv-3.jpg) no-repeat center / cover;
}
.top-kv .wrap {
	color: #fff;
	position: absolute;
	left: 10rem;
	bottom: 5rem;
	z-index: 99;
	line-height: 1;
	font-size: 3.6rem;
	font-weight: bold;
	letter-spacing: 0.15em;
	padding: 3.8rem 3rem;
	text-shadow: 0 0 1.5rem rgba(0,0,0,0.7);
}
.top-kv .wrap span {
	display: block;
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	font-size: 2rem;
	letter-spacing: 0.15em;
	margin-bottom: 2rem;
}
.top-kv .wrap::before {
	content: "";
	width: 15rem;
	height: 9rem;
	border-top: solid 0.25rem #fff;
	border-left: solid 0.25rem #fff;
	position: absolute;
	left: 0;
	top: 0;
}
.top-kv .wrap::after {
	content: "";
	width: 15rem;
	height: 9rem;
	border-bottom: solid 0.25rem #fff;
	border-right: solid 0.25rem #fff;
	position: absolute;
	right: 0;
	bottom: 0;
}
@media screen and (max-width: 767px) {
	.top-kv-slider > * {
		height: 36rem;
	}
	.top-kv .wrap {
		bottom: auto;
		font-size: 2rem;
		padding: 2rem 2rem;
		left: 2rem;
		bottom: 2rem;
		width: auto;
	}
	.top-kv .wrap span {
		font-size: 1.2rem;
		margin-bottom: 1.5rem;
	}
	.top-kv .wrap::before {
		width: 8rem;
		height: 3rem;
	}
	.top-kv .wrap::after {
		width: 8rem;
		height: 3rem;
	}
}



/*  ----------------------------------------------------------

slider

----------------------------------------------------------  */
.top-slider {
	padding: 10rem 0 9rem 0;
}
#loopslider {
	margin: 0 auto;
	width: 100%;
	height: 70px;
	text-align: left;
	position: relative;
	overflow: hidden;
	margin-bottom: 1rem;
}
#loopslider ul {
	height: 70px;
	float: left;
	display: inline;
	overflow: hidden;
	margin: 0 !important;
	padding: 0 !important;
}
#loopslider ul li {
	width: 218px;
	height: 70px;
	float: left;
	display: inline;
	overflow: hidden;
}
#loopslider ul:after {
	content: ".";
	height: 0;
	clear: both;
	display: block;
	visibility: hidden;
}
#loopslider ul {
	display: inline-block;
	overflow: hidden;
}
#loopslider2 {
	margin: 0 auto;
	width: 100%;
	height: 70px;
	text-align: left;
	position: relative;
	overflow: hidden;
}
#loopslider2 ul {
	height: 70px;
	float: left;
	display: inline;
	overflow: hidden;
	margin: 0 !important;
	padding: 0 !important;
}
#loopslider2 ul li {
	width: 218px;
	height: 70px;
	float: left;
	display: inline;
	overflow: hidden;
}
#loopslider2 ul:after {
	content: ".";
	height: 0;
	clear: both;
	display: block;
	visibility: hidden;
}
#loopslider2 ul {
	display: inline-block;
	overflow: hidden;
}
#loopslider img,
#loopslider2 img {
	padding: 0 2rem;
}
@media screen and (max-width: 767px) {
	#loopslider {
		height: 50px;
	}
	#loopslider ul {
		height: 50px;
	}
	#loopslider ul li {
		width: 155px;
		height: 50px;
	}
	#loopslider2 {
		height: 50px;
	}
	#loopslider2 ul {
		height: 50px;
	}
	#loopslider2 ul li {
		width: 155px;
		height: 50px;
	}
	#loopslider img,
	#loopslider2 img {
		padding: 0 1rem;
	}
}



/*  ----------------------------------------------------------

service

----------------------------------------------------------  */
.top-service ul {
	display: flex;
	flex-wrap: wrap;
}
.top-service ul li {
	width: 50%;
}
/* 
.top-service ul li a {
	display: flex;
	align-items: center;
	padding: 0 7rem;
	height: 40rem;
}
.top-service ul li a:hover {
	opacity: 1;
}
.top-service ul li span,
.top-service ul li h2,
.top-service ul li p {
	transition: all .3s;
}
.top-service ul li span {
	font-size: 1rem;
	margin-bottom: 4rem;
	display: block;
}
.top-service ul li h2 {
	font-family: 'Lato', sans-serif;
	font-weight: 900;
	line-height: 1;
	font-size: 4rem;
	letter-spacing: 0.15em;
	position: relative;
	padding-bottom: 2rem;
	margin-bottom: 2rem;
	display: flex;
	align-items: flex-end;
	height: 12rem;
}
.top-service ul li h2::before {
	content: "";
	width: 15rem;
	height: 0.25rem;
	position: absolute;
	left: 0;
	bottom: 0;
}
.top-service ul li h2::after {
	content: "";
	width: 6rem;
	height: 0.25rem;
	background: #000;
	position: absolute;
	left: 2rem;
	bottom: 0;
	z-index: 99;
}
.top-service ul li h2 span {
	letter-spacing: 0.2em;
	display: block;
	margin-bottom: 1.3rem;
}
.top-service ul li:nth-child(1) h2 {
	color: #CABDE2;
}
.top-service ul li:nth-child(1) h2::before {
	background: #CABDE2;
}
.top-service ul li:nth-child(2) h2 {
	color: #B5BDCC;
}
.top-service ul li:nth-child(2) h2::before {
	background: #B5BDCC;
}
.top-service ul li:nth-child(3) h2 {
	color: #AAA19A;
}
.top-service ul li:nth-child(3) h2::before {
	background: #AAA19A;
}
.top-service ul li:nth-child(4) h2 {
	color: #BBC5A9;
}
.top-service ul li:nth-child(4) h2::before {
	background: #BBC5A9;
}
.top-service ul li:nth-child(1) a {
	background: url(../img/top-bg-1.jpg) no-repeat center / cover;
}
.top-service ul li:nth-child(2) a {
	background: url(../img/top-bg-2.jpg) no-repeat center / cover;
}
.top-service ul li:nth-child(3) a {
	background: url(../img/top-bg-3.jpg) no-repeat center / cover;
}
.top-service ul li:nth-child(4) a {
	background: url(../img/top-bg-4.jpg) no-repeat center / cover;
}
.top-service ul li:nth-child(1) a:hover {
	background: url(../img/top-bg-1-on.jpg) no-repeat center / cover;
}
.top-service ul li:nth-child(2) a:hover {
	background: url(../img/top-bg-2-on.jpg) no-repeat center / cover;
}
.top-service ul li:nth-child(3) a:hover {
	background: url(../img/top-bg-3-on.jpg) no-repeat center / cover;
}
.top-service ul li:nth-child(4) a:hover {
	background: url(../img/top-bg-4-on.jpg) no-repeat center / cover;
}
.top-service ul li a:hover span,
.top-service ul li a:hover h2,
.top-service ul li a:hover p {
	color: #fff;
}
.top-service ul li a:hover h2::before {
	background: #fff;
}
*/
@media screen and (max-width: 767px) {
	.top-service ul {
		display: block;
	}
	.top-service ul li {
		width: 100%;
	}
	/*
	.top-service ul li a {
		padding: 4rem 4rem;
		height: auto;
	}
	.top-service ul li span {
		margin-bottom: 0;
	}
	.top-service ul li h2 {
		font-size: 3.6rem;
	}
	*/
}