@charset "UTF-8";

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

/*---------- 共通 ----------*/
.sec-ttl-wrap {
	text-align: center;
}
.sec-ttl-en {
	color: var(--color-green);
	font-size: 6.8rem;
    font-weight: 700;
	line-height: 1.2;
}
.sec-ttl {
	margin-top: 5px;
	font-size: 2.4rem;
    font-weight: 600;
}


@media (max-width: 768px) {
	.sec-ttl-en {
		font-size: 8.66vw;
		font-weight: 700;
	}
	.sec-ttl {
		margin-top: 1vw;
		font-size: 4.8vw;
	}
	
	
}


/*---------- メインエリア ----------*/
.hero-area {
	width: 100%;
	padding: 20px;
	position: relative;
}

@media (max-width: 768px) {
	.hero-area {
		width: 100%;
		padding: 3vw;
	}
}


/*---------- MV ----------*/
.sec-mv {
	width: 100%;
	position: relative;
	z-index: 2;
}

.mv-copy-wrap {
	width: 100%;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 3;
}
.mv-copy {
	margin-bottom: 5px;
	font-size: 5.2rem;
	font-weight: 400;
}
.mv-sub-copy {
	font-size: 2.0rem;
	font-weight: 400;
}

.mv-slide-wrap {
	width: 100%;
	position: relative;
	z-index: 2;
}


/* slider dots */
.mv-slide-wrap .slick-dots {
	width: 100%;
	margin: 0 auto 0;
	display: flex;
	justify-content: center;
	position: absolute;
	bottom: 30px;
	left: 0;
	z-index: 3;
}
.mv-slide-wrap .slick-dots li {
	display: block;
}
.mv-slide-wrap .slick-dots li + li {
	margin-left: 20px;
}
.mv-slide-wrap .slick-dots li button {
	width: 6px;
	height: 6px;
	display: block;
	margin: 0;
	border: none;
	background: #fff;
	opacity: 0.6;
	border-radius: 0;
	font-size: 0;
	color: transparent;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
	box-sizing: border-box;
}
.mv-slide-wrap .slick-dots li.slick-active button {
	opacity: 1;
}


@media (max-width: 1100px) {
	.mv-copy {
		font-size: 5.2vw;
	}
	.mv-sub-copy {
		font-size: 1.8vw;
	}
	
}


@media (max-width: 768px) {
	.sec-mv {
		width: 100%;
	}
	.mv-copy {
		margin-bottom: 1vw;
		font-size: 6.33vw;
	}
	.mv-sub-copy {
		font-size: 3.0vw;
	}
	
	.mv-slide {
		width: 100%;
		height: 58vw;
	}
	.mv-slide-01 {
		background: url("../../img/top/img_mv_01.jpg") center center no-repeat;
		background-size: cover;
	}
	.mv-slide-02 {
		background: url("../../img/top/img_mv_02.jpg") center center no-repeat;
		background-size: cover;
	}


	/* slider dots */
	.mv-slide-wrap .slick-dots {
		bottom: 3vw;
	}
	.mv-slide-wrap .slick-dots li + li {
		margin-left: 3vw;
	}
	.mv-slide-wrap .slick-dots li button {
		width: 1.2vw;
		height: 1.2vw;
	}
}



/*---------- head news ----------*/
.sec-head-news {
	width: 100%;
	padding: 20px;
	background: var(--color-light-green01);
	position: relative;
	z-index: 2;
}
.head-news-list {
	width: 100%;
}

.head-news-list li a {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.head-news-date {
	margin-right: 55px;
	font-size: 2.0rem;
	font-weight: 600;
}
.head-news-txt {
	font-size: 1.8rem;
	font-weight: 700;
}


@media (max-width: 768px) {
	.sec-head-news {
		width: 100%;
		padding: 4vw;
	}
	.head-news-list {
		width: 100%;
	}

	.head-news-list li a {
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
	}
	.head-news-date {
		width: 100%;
		margin-right: 0;
		font-size: var(--fs-sp-14);
	}
	.head-news-txt {
		width: 100%;
		margin-top: 2vw;
		font-size: var(--fs-sp-14);
	}
	
}
    


/*---------- お知らせ ----------*/
.sec-news {
	width: 100%;
	padding: 30px 0;
	position: relative;
	z-index: 2;
}
.sec-news .cont-inn {
	align-items: center;
	justify-content: space-between;
}
.sec-news .sec-ttl-wrap {
	
}
.sec-news .sec-ttl-en {
	color: var(--color-greige);
	font-size: 4.8rem;
}


/* リスト */
.news-list {
	width: calc(100% - 188px);
}
.news-list li {
	width: 100%;
	padding: 20px 0;
	display: flex;
	align-items: flex-start;
	border-bottom: 1px solid var(--color-gray);
	text-align: left;
}
.news-list li:last-child {
	border-bottom: none;
}
.news-list li a {
	width: 100%;
	display: flex;
	align-items: center;
	font-weight: 500;
}
.news-date {
	width: 100px;
}
.news-tag {
	width: 88px;
	height: 20px;
	margin: 0 20px 0 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	color: #fff;
	font-size: 1.2rem;
}
.tag-green { background: var(--color-yellow-green);}
.tag-red { background: var(--color-red);}

.news-txt {
	width: calc(100% - 195px);
	transition: 0.3s ease-in-out;
}


@media (min-width: 769px) {
	.news-list a.green:hover .news-txt {
		color: var(--color-yellow-green);
	}
	.news-list a.red:hover .news-txt {
		color: var(--color-red);
	}
}


@media (max-width: 768px) {
	.sec-news {
		width: 100%;
		padding: 6vw 0;
		position: relative;
		z-index: 2;
	}
	.sec-news .cont-inn {
		align-items: center;
		justify-content: space-between;
	}
	.sec-news .sec-ttl-wrap {
		width: 100%;
	}
	.sec-news .sec-ttl-en {
		color: var(--color-greige);
		font-size: 4.8rem;
		text-align: left;
	}


	/* リスト */
	.news-list {
		width: 100%;
	}
	.news-list li {
		width: 100%;
		padding: 4vw 0;
		display: flex;
		align-items: flex-start;
		border-bottom: 1px solid var(--color-gray);
		text-align: left;
	}
	.news-list li a {
		flex-wrap: wrap;
	}
	.news-date {
		width: 20vw;
	}
	.news-tag {
		width: 18vw;
		height: 6vw;
		margin: 0 0 0 6vw;
		border-radius: 3vw;
		font-size: var(--fs-sp-12);
	}

	.news-txt {
		width: 100%;
		margin-top: 3vw;
	}
}



/*---------- 事業紹介 ----------*/
.sec-service {
	width: 100%;
	padding: 80px 0 120px;
	background: url("../../img/top/bg_service.jpg") center center no-repeat;
	position: relative;
} 
.sec-service .sec-ttl-en, 
.sec-service .sec-ttl {
	color: #fff;
}

.service-link-wrap {
	width: 100%;
	margin: 60px auto 0;
	justify-content: space-between;
}
.service-link {
	width: calc((100% - 60px) / 3);
	padding-top: 265px;
}
.service-link-01 {
	background: url("../../img/top/img_service_01.jpg") center center no-repeat;
	background-size: cover;
}
.service-link-02 {
	background: url("../../img/top/img_service_02.jpg") center center no-repeat;
	background-size: cover;
}
.service-link-03 {
	background: url("../../img/top/img_service_03.jpg") center center no-repeat;
	background-size: cover;
}
.service-link-04 {
	width: 100%;
	margin-top: 30px;
	padding: 0 0 0 40%;
	background: url("../../img/top/img_service_04.jpg") center center no-repeat;
	background-size: cover;
}

.service-link-txt-wrap {
	padding: 20px 30px;
	background: rgba(255, 255, 255, 0.86);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.service-link-ttl {
	margin-bottom: 8px;
	font-size: 2.2rem;
	font-weight: 700;
}
.service-link-txt-wrap .btn-green {
	margin: 10px 0 0 auto;
}

.service-link-04 .service-link-txt-wrap {
	padding: 40px 50px 50px;
}
.service-link-04 .service-link-txt-wrap .btn-green {
	margin: 20px 0 0 auto;
}

@media (max-width: 768px) {
	.sec-service {
		width: 100%;
		padding: 12vw 0;
	}

	.service-link-wrap {
		width: 100%;
		margin: 2vw auto 0;
		justify-content: space-between;
	}
	.service-link {
		width: 100%;
		margin: 8vw auto 0;
		padding-top: 40vw;
	}
	.service-link-01 {
		background: url("../../img/top/img_service_01.jpg") center center no-repeat;
		background-size: cover;
	}
	.service-link-02 {
		background: url("../../img/top/img_service_02.jpg") center center no-repeat;
		background-size: cover;
	}
	.service-link-03 {
		background: url("../../img/top/img_service_03.jpg") center center no-repeat;
		background-size: cover;
	}
	.service-link-04 {
		width: 100%;
		margin: 8vw auto 0;
		padding: 40vw 0 0;
		background: #fff url("../../img/top/img_service_04.jpg") top left 12% no-repeat;
		background-size: auto 80%;
	}

	.service-link-txt-wrap, 
	.service-link-04 .service-link-txt-wrap {
		padding: 5vw;
	}
	.service-link-ttl {
		margin-bottom: 1.5vw;
		font-size: 4.53vw;
		font-weight: 700;
	}
	.service-link-txt-wrap .btn-green, 
	.service-link-04 .service-link-txt-wrap .btn-green {
		margin: 3vw 0 0 auto;
	}
    
}



/*---------- 会社情報 ----------*/
.sec-company {
	width: 100%;
	padding: 90px 0 120px;
	position: relative;
}

.company-link-wrap {
	width: 100%;
	margin: 60px auto 0;
	justify-content: space-between;
}


.company-link-message {
	width: 100%;
	height: auto;
	margin-bottom: 30px;
	background: #fff;
	align-items: center;
	justify-content: space-between;
}
.message-img-wrap {
	width: 38%;
}
.message-txt-wrap {
	width: 62%;
	padding: 0 50px;
}
.message-ttl-en {
	color: var(--color-greige);
	font-size: 4.8rem;
	font-weight: 600;
}
.message-ttl {
	margin-bottom: 30px;
	font-size: 1.8rem;
	font-weight: 600;
}
.message-txt-wrap .btn-green {
	margin: 30px 0 0 auto;
}



.company-link {
	width: calc((100% - 30px) / 2);
	height: 220px;
	position: relative;
}
.company-link::after {
	content: '';
	width: 24px;
	height: 24px;
	background: url("../../img/common/icon_arrow_circle_w.svg") center center no-repeat;
	background-size: cover;
	position: absolute;
	bottom: 26px;
	right: 30px;
}

.company-link-01 {
	background: url("../../img/top/img_company_01.jpg") center center no-repeat;
	background-size: cover;
}
.company-link-02 {
	background: url("../../img/top/img_company_02.jpg") center center no-repeat;
	background-size: cover;
}

.company-link-ttl {
	color: #fff;
	font-size: 2.2rem;
	font-weight: 600;
	position: absolute;
	bottom: 20px;
	left: 30px;
}


@media (max-width: 768px) {
	.sec-company {
		width: 100%;
		padding: 12vw 0 20vw;
	}

	.company-link-wrap {
		width: 100%;
		margin: 10vw auto 0;
		justify-content: space-between;
	}


	.company-link-message {
		width: 100%;
		height: auto;
		margin-bottom: 0;
		background: #fff;
		align-items: center;
		justify-content: space-between;
	}
	.message-img-wrap {
		width: 100%;
		margin: 0 auto;
	}
	.message-txt-wrap {
		width: 100%;
		padding: 4vw;
	}
	.message-ttl-en {
		font-size: 9.66vw;
	}
	.message-ttl {
		margin-bottom: 6vw;
		font-size: 4vw;
	}
	.message-txt-wrap .btn-green {
		margin: 6vw 0 0 auto;
	}



	.company-link {
		width: 100%;
		height: 40vw;
		margin: 8vw auto 0;
		position: relative;
	}
	.company-link::after {
		width: 6vw;
		height: 6vw;
		background: url("../../img/common/icon_arrow_circle_w.svg") center center no-repeat;
		background-size: cover;
		position: absolute;
		bottom: 4vw;
		right: 4vw;
	}

	.company-link-ttl {
		font-size: 4.66vw;
		bottom: 4vw;
		right: 4vw;
	}
    
}





/*---------- 採用情報・お問い合わせ ----------*/
.sec-bottom {
	width: 100%;
	padding-bottom: 200px;
}

.bottom-link {
	width: 100%;
	padding: 0 30px;
	justify-content: space-between;
	align-items: center;
	position: relative;
}
.bottom-link-txt-wrap {
	width: 300px;
	padding: 45px 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	text-align: center;
	background: rgba(255, 255, 255, 0.8);
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
}
.bottom-link-ttl-en {
	color: var(--color-green);
	font-size: 3.6rem;
    font-weight: 600;
}
.bottom-link-ttl {
	margin-bottom: 20px;
    font-weight: 600;
}

.cont-recruit {
	margin-bottom: 20px;
	background: url("../../img/top/bg_recruit.jpg") center center no-repeat;
	background-size: cover;
}
.cont-contact {
	background: url("../../img/top/bg_contact.jpg") center center no-repeat;
	background-size: cover;
}


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

	.bottom-link {
		width: 100%;
		padding: 2vw 0 6vw;
		flex-direction: column;
	}
	.bottom-link-txt-wrap {
		width: 100%;
		margin-bottom: 28vw;
		padding: 4vw 4vw;
	}
	.bottom-link-ttl-en {
		font-size: 7.66vw;
		line-height: 1.4;
	}
	.bottom-link-ttl {
		margin-bottom: 2vw;
		font-weight: 600;
	}

	.cont-recruit {
		margin-bottom: 8vw;
		background: url("../../img/top/bg_recruit_sp.jpg") center center no-repeat;
		background-size: cover;
	}
	.cont-contact {
		background: url("../../img/top/bg_contact_sp.jpg") center center no-repeat;
		background-size: cover;
	}
    
}
