@charset "utf-8";

.ofi {
	object-fit: cover;
	font-family: 'object-fit: cover;'
}
.first-view.ie {
	display: none;
}
/*================================================================================================

* IE FIRST VIEW *

================================================================================================*/
html.ie .first-view.ie {
	display: block;
}
html.ie .first-view.normal {
	display: none;
}
.first-view.ie {
	width: 100%;
	height: calc(100vh - 90px);
	padding: 1rem;
	position: relative;
	background: url(../../img/hero-img/02.jpg)no-repeat center / cover;
}
.first-view.ie .img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	opacity: 0;
	transition-delay: 2.5s;
}
	.first-view.ie .img.nom01 {
		background: url(../../img/hero-img/00.jpg)no-repeat center / cover;
		z-index: 1;
	}
	.first-view.ie .img.nom02 {
		background: url(../../img/hero-img/01.jpg)no-repeat center / cover;
		z-index: 2;
	}
	.first-view.ie .img.nom03 {
		background: url(../../img/hero-img/02.jpg)no-repeat center / cover;
		z-index: 3;
		transition-delay: 0s;
	}
.first-view.ie .img.on {
	opacity: 1;
	transition: 3s;
}
.first-view.ie .logo {
	width: 100%;
	max-width: 420px;
	z-index: 99;
	position: absolute;
	margin: auto;
	top: 25%;
	right: 0;
	bottom: 0;
	left: 0;
}

/*================================================================================================

* FIRST VIEW *

================================================================================================*/

.first-view {
	width: 100%;
	height: calc(100vh - 90px);
	padding: 1rem;
}

.first-view .logo {
	width: 100%;
	max-width: 420px;
	transform: translateY(-20%);
}

/*================================================================================================

* FIRST VIEW BG *

================================================================================================*/

.first-view-bg {
	width: 100%;
	height: 100vh;
	position: fixed;
	z-index: -1;
	top: 0;
	left: 0;
	pointer-events: none;
	background: #fff;
}
	.heroimg-pc {
	overflow: hidden;
		width: 100%;
		min-height: 100%;
		background-color: #999;
		opacity: 1;
	}

/*================================================================================================

* NEWS *

================================================================================================*/
.news-wrap {
	width: 100%;
	padding: 0rem 1rem 0rem 1rem;
	background: #fafafc;
	z-index: 600;
	position: relative;
}
.news-wrap .p1024 {
	background: #fff;
	transform: translateY(-4rem);
	padding: 2rem 1rem 3rem 1rem;
}

.news-wrap .link-wrap {
	width: 100%;
	max-width: 580px;
	margin: 0 auto;
}

ul.news-list {
	width: 100%;
	max-width: 580px;
	margin: 0 auto;
	margin-bottom: 2rem;
}
ul.news-list li {
	width: 100%;
}
ul.news-list li a {
	padding: 1rem 3rem 1rem 1rem;
	display: block;
	border-bottom: 1px solid #e7e7e7;
	color: #37474F;
	position: relative;
	transition: 0.35s ease;
}
		ul.news-list li a .time {
			width: 100%;
			max-width: 100px;
			font-size: 0.8rem;
			font-weight: 700;
			font-family: "Roboto";
			color: #37474F;
		}

/*================================================================================================

* INTRO *

================================================================================================*/
.top-intro-wrap {
	width: 100%;
	padding: 6rem 0rem;
	background: url(../../img/smp-img/intro01.jpg)no-repeat center / cover;
	position: relative;
}
.top-intro-wrap.achievement {
	background: url(../../img/smp-img/achievement01.jpg)no-repeat center / cover;
}
			.top-intro-wrap::after {
				width: 100%;
				height: 100%;
				background: rgba(0,0,0,0.2);
				content: "";
				margin: auto;position: absolute;top: 0;right: 0;bottom: 0;left: 0;
				pointer-events: none;
				z-index: 1;
			}
					.top-intro-wrap.achievement::after {
						background: rgba(0,0,0,0.3);
					}
			.top-intro-wrap::before {
				width: 100%;
				height: 100%;
				background: url(../../00-component/css/overlays/black/02.png);
				content: "";
				margin: auto;position: absolute;top: 0;right: 0;bottom: 0;left: 0;
				pointer-events: none;
				z-index: 2;
			}

body.index .swiper-container,
body.index .swiper-wrapper,
body.index .swiper-slide {
	height: 100%;
}
body.index .swiper-slide {
	width: 25%;
	max-width: 360px;
}
.swiper-dot-wrap {
	width: 100%;
	padding: 1rem;
	position: relative;
	margin-bottom: 3rem;
}
.swiper-pagination-bullets {
    width: 100%;
    margin: auto;position: absolute;top: 50%;right: 0;left: 0;
}
.swiper-pagination-bullet {
	width: 15px;
	height: 15px;
	margin: 0 8px;
	background: #fff;
	opacity: 0.5;
}
.swiper-pagination-bullet-active {
	background: #40C4FF;
	opacity: 1;
}

@media only screen and (max-width: 480px) {
body.index .swiper-slide {
	width: 77%;
	max-width: 77%;
}
/********************/}


/*================================================================================================

* RECRUIT *

================================================================================================*/
.recruit-wrap {
	width: 100%;
	padding: 6rem 1rem;
	background: #fff;
}

.recruit-wrap .item-wrap {
	width: 100%;
	margin-bottom: 2rem;
}

.recruit-wrap .sentence {
	width: 40%;
	padding: 2rem 0rem;
}
		.recruit-wrap .sentence h3 {
			margin-bottom: 2rem;
		}
		.recruit-wrap .sentence h3 p {
			font-size: 2rem;
			opacity: 0;
			transform: translateX(-50px);
		}
		.recruit-wrap .sentence h3 p:nth-child(2) {
			text-align: right;
			opacity: 0;
			transform: translateX(50px);
		}

				.recruit-wrap .sentence .on + h3 p {
					transform: translateX(0px);
					opacity: 1;
					transition: 0.5s ease;
				}
				.recruit-wrap .sentence .on + h3 p:nth-child(2) {
					transform: translateX(0px);
					opacity: 1;
					transition: 0.5s ease;
				}

		.recruit-wrap .sentence p.main {
			opacity: 0;
		}
				.recruit-wrap .sentence .on + p.main {
					opacity: 1;
					transition: 0.5s ease;
				}


.recruit-wrap .img {
	width: calc(60% - 2rem);
	background: url(../../img/smp-img/04.jpg)no-repeat center / cover;
	transform: translateX(50px);
	opacity: 0;
}
		.recruit-wrap .on + .img {
			opacity: 1;
			transition: 0.5s ease;
		}

/*================================================================================================

* GOOGLE MAP *

================================================================================================*/
section.google-map {
	width: 100%;
}
section.google-map iframe {
	width: 100%;
	vertical-align: bottom;
}


/*================================================================================================

* メディアクエリ *

================================================================================================*/
/* 小見出し ================================================*/

@media only screen and (max-width: 1024px) {
/********************/}
@media only screen and (max-width: 768px) {
/********************/}
@media only screen and (max-width: 480px) {
/********************/}