@charset "UTF-8";

/* ------------------------------------------------
                    TOP
--------------------------------------------------- */

/*---------- MV ----------*/
.sec-mv {
	width: 100%;
	margin-bottom: 120px;
}
.mv-slide {
	width: 100%;
	position: relative;
}

.mv-slide-cont {
	width: 40%;
	min-width: 550px;
	height: 100%;
	padding: 0 20px 0 50px;
	flex-direction: column;
	justify-content: center;
	background: var(--color-skyblue);
	color: #fff;
	position: absolute;
	top: 0;
	right: 0;
}

.mv-ttl {
	margin-bottom: 50px;
	font-size: 4.3rem;
	font-weight: 600;
}
.mv-ttl-sub {
	padding-top: 20px;
	font-weight: 700;
	position: relative;
}
.mv-ttl-sub::before {
	content: '';
	width: 100%;
	max-width: 23.8vw;
	height: 1px;
	background: #fff;
	position: absolute;
	top: 0;
	left: 0;
}

/* slider */
.slick-dots {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: flex-end;
}
.slick-dots li + li {
	margin-left: 10px;
}
.slick-dots li button {
	width: 43px;
	height: 10px;
	margin: 25px 0 0;
	border: 1px solid var(--color-darkgray);
	background: #fff;
	font-size: 0;
	color: transparent;
}
.slick-dots li.slick-active button {
	background: var(--color-darkgray);
}


@media (max-width: 768px) {
	.sec-mv {
		width: 100%;
		margin-bottom: 30vw;
	}
	.mv-slide {
		width: 100%;
		position: relative;
	}

	.mv-slide-cont {
		width: 100%;
		min-width: initial;
		height: auto;
		padding: 0;
		flex-direction: column;
		justify-content: center;
		background: var(--color-skyblue);
		color: #fff;
		position: relative;
		top: auto;
		right: auto;
	}

	.mv-ttl {
		width: 100%;
		margin-bottom: 0;
		padding: 2.5vw 4vw;
		font-size: 5.6vw;
		font-weight: 600;
		line-height: 2;
	}
	.mv-ttl-sub {
		width: 100%;
		padding-top: 4vw;
		background: #fff;
		color: var(--color-blue);
		text-align: center;
	}
	.mv-ttl-sub::before {
		content: none;
	}

	/* slider */
	.slick-dots {
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
		display: flex;
		justify-content: center;
	}
	.slick-dots li + li {
		margin-left: 2vw;
	}
	.slick-dots li button {
		width: 8vw;
		height: 2.5vw;
		margin: 8vw 0 0;
	}
    
}



/*---------- 共通 ----------*/
.sec-ttl {
	margin-bottom: 20px;
	color: #000;
	font-size: 3.8rem;
    font-weight: 600;
	line-height: 1;
}
.sec-ttl-en {
	margin-bottom: 50px;
	color: var(--color-blue);
	font-size: 2.3rem;
    font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.05em;
}
.sec-txt {
	margin-bottom: 50px;
	font-size: 1.9rem;
    font-weight: 500;
	line-height: 2;
	font-feature-settings: "palt";
}

@media (max-width: 768px) {
	.sec-ttl {
		margin-bottom: 4vw;
		font-size: 8.6vw;
		font-weight: 500;
	}
	.sec-ttl-en {
		margin-bottom: 10vw;
		font-size: 4.2vw;
		font-weight: 400;
	}
	.sec-txt {
		margin-bottom: 12vw;
		font-size: 5.2vw;
	}
	
}
    


/*---------- 事業内容 ----------*/
.sec-service {
	width: 100%;
	padding-bottom: 130px;
}

.service-text-wrap {
	width: 415px;
}
.service-img-wrap {
	width: calc(100% - 415px);
	overflow: hidden;
}

.service-img-slide-wrap {
	width: calc((100% - 40px) / 2);
}
.service-img-slide-wrap + .service-img-slide-wrap {
	margin-left: auto;
}
.sec-service .slider{
  display: none;
}
.sec-service .slider.slick-initialized{
  display: block;
}

@media (max-width: 768px) {
	.sec-service {
		width: 100%;
		padding-bottom: 30vw;
	}
	.sec-service .cont-inn {
		width: 100%;
	}

	.service-wrap {
		width: 100%;
		margin: 0 auto;
		flex-direction: column-reverse;
	}
	.service-text-wrap {
		width: 80%;
		margin: 12vw auto 0;
	}
	.service-img-wrap {
		width: 100%;
		overflow: hidden;
	}

	.service-img-slide-wrap {
		width: 50%;
	}
	.service-img-slide-wrap + .service-img-slide-wrap {
		margin-left: 0;
	}
    
}



/*---------- 会社概要 ----------*/
.sec-company {
	width: 100%;
	padding: 110px 0 120px;
	background: #ECECEC;
}

.company-outline {
	width: 100%;
}
.company-outline dt {
	width: 415px;
	padding: 20px 0 20px 5px;
	border-top: 1px solid #fff;
}
.company-outline dd {
	width: calc(100% - 415px);
	padding: 20px 0 20px;
	border-top: 1px solid #fff;
	font-weight: 600;
}

@media (max-width: 768px) {
	.sec-company {
		width: 100%;
		padding: 30vw 0;
	}
	.sec-company .sec-ttl, 
	.sec-company .sec-ttl-en {
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}

	.company-outline {
		width: 100%;
		border-top: 1px solid #fff;
		border-bottom: 1px solid #fff;
		padding: 0 10%;
	}
	.company-outline dt {
		width: 30%;
		padding: 6vw 0 10vw 0;
	}
	.company-outline dd {
		width: 60%;
		padding: 6vw 0 10vw;
	}
	.company-outline dt:first-child, 
	.company-outline dd:first-of-type {
		border-top: none;
	}
    
}

/*アニメーション追加ここから*/

/*--------------------------------
    MV テキストアニメーション
---------------------------------*/
.mv-ttl span {
  display: inline-block;
  opacity: 0;
  transition: opacity 0.8s ease;
}
.mv-ttl-sub {
  transition: opacity 1s ease;
}

