@charset "UTF-8";

/* ------------------------------------------------
                    SERVICES
--------------------------------------------------- */

/*---------- 共通 ----------*/
.main {
	position: relative;
	z-index: 2;
}
body::before {
	content: '';
	width: 100%;
	height: 100vh;
	background: url("../../img/services/bg_service_pc.jpg") center center no-repeat;
	background-size: cover;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1;
}

@media (max-width: 768px) {
	body::before {
		content: '';
		width: 100%;
		height: 100vh;
		background: url("../../img/services/bg_service_sp.jpg") center center no-repeat;
		background-size: cover;
	}
	
}


/*---------- page title ----------*/
.sec-page-ttl {
	width: 100%;
	padding: 80px 0;
	background: #fff;
	text-align: center;
	border-top: 1px solid rgba(68, 68, 68, 0.2);
	border-bottom: 1px solid rgba(68, 68, 68, 0.2);
}
.page-ttl {
	margin-bottom: 20px;
	color: var(--color-darkgray);
	font-size: 3.8rem;
    font-weight: 600;
	line-height: 1;
}
.page-ttl-en {
	color: var(--color-blue);
	font-size: 2.3rem;
    font-weight: 400;
	line-height: 1;
	letter-spacing: 0.05em;
}


@media (max-width: 768px) {
	.sec-page-ttl {
		width: 100%;
		padding: 14vw 0;
	}
	.page-ttl {
		margin-bottom: 5vw;
		font-size: 7.2vw;
	}
	.page-ttl-en {
		font-size: 3.8vw;
    	font-weight: 500;
	}
	
    
}
    


/*---------- アンカーリンク ----------*/
.sec-anchor-links {
	width: 100%;
	padding-bottom: 260px;
	background: #fff;
}
.anchor-links {
	width: 100%;
}
.anchor-links li {
	width: 25%;
	padding: 0 30px;
	display: flex;
	text-align: center;
}
.anchor-link-item {
	width: 100%;
	padding: 100px 0 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	position: relative;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
.anchor-link-01 {
	background: url("../../img/services/icon_service_01_off.svg") top 20px center no-repeat;
	background-size: 84px;
}

.anchor-link-02 {
	background: url("../../img/services/icon_service_02_off.svg") top 20px center no-repeat;
	background-size: 84px;
}
.anchor-link-03 {
	background: url("../../img/services/icon_service_03_off.svg") top 20px center no-repeat;
	background-size: 84px;
}
.anchor-link-04 {
	background: url("../../img/services/icon_service_04_off.svg") top 20px center no-repeat;
	background-size: 84px;
}
.anchor-link-item::after {
	content: '';
	width: 100%;
	height: 1px;
	background: var(--color-black);
	position: absolute;
	bottom: 0;
	left: 0;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.anchor-link-ttl {
	margin-bottom: 10px;
	color: var(--color-darkgray);
	font-size: 1.9rem;
    font-weight: 500;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
.anchor-link-ttl-en {
	color: var(--color-blue);
	font-size: 1.6rem;
    font-weight: 400;
	line-height: 1;
}


@media (min-width: 769px) {
	.anchor-link-item:hover::after {
		height: 3px;
	}
	.anchor-link-01:hover::before {
		opacity: 1;
	}
	.anchor-link-item:hover .anchor-link-ttl {
		color: var(--color-skyblue);
	}

    
}


@media (max-width: 768px) {
	.sec-anchor-links {
		width: 100%;
		padding: 22vw 0 26vw;
	}
	.anchor-links {
		width: 90%;
		margin: 0 auto;
		justify-content: space-between;
	}
	.anchor-links li {
		width: 23%;
		padding: 0;
		display: flex;
		text-align: center;
	}
	.anchor-link-item {
		width: 100%;
		padding: 18vw 0 2vw;
	}
	.anchor-link-01 {
		background: url("../../img/services/icon_service_01_off.svg") top 4vw center no-repeat;
		background-size: 70%;
	}
	.anchor-link-01::before {
		content: none;
	}
	.anchor-link-02 {
		background: url("../../img/services/icon_service_02_off.svg") top 4vw center no-repeat;
		background-size: 70%;
	}
	.anchor-link-03 {
		background: url("../../img/services/icon_service_03_off.svg") top 4vw center no-repeat;
		background-size: 70%;
	}
	.anchor-link-04 {
		background: url("../../img/services/icon_service_04_off.svg") top 4vw center no-repeat;
		background-size: 70%;
	}
	.anchor-link-item::after {
		content: none;
	}

	.anchor-link-ttl {
		margin-bottom: 0;
		font-size: 3.4vw;
	}
	.anchor-link-ttl-en {
		display: none;
	}
    
}
    


/*---------- エムズラインの強み ----------*/
.sec-strengths {
	width: 100%;
	padding: 110px 0 160px;
}
.strengths-sec-ttl {
	margin-bottom: 10px;
	color: #fff;
	text-align: center;
	font-size: 4.0rem;
    font-weight: 600;
	line-height: 1;
}
.strengths-sec-ttl-en {
	color: #fff;
	text-align: center;
	font-size: 2.3rem;
    font-weight: 400;
	line-height: 1;
	letter-spacing: 0.05em;
}

.strengths-box {
	width: 100%;
	margin-top: 40px;
	padding: 130px 0;
	background: rgba(255, 255, 255, 0.85);
}
.strengths-lead-txt {
	text-align: center;
	font-size: 1.9rem;
    font-weight: 500;
	line-height: 2;
	letter-spacing: 0.05em;
}

.strengths-box.flex-box {
	margin-top: 50px;
	padding: 70px 70px 70px 100px;
	align-items: center;
}
.strengths-box.flex-box img {
	width: 370px;
	margin-right: 105px;
}
.strengths-txt-wrap {
	width: calc(100% - 475px);
	text-align: left;
}
.strengths-ttl {
	margin-bottom: 40px; 
	color: var(--color-blue);
	font-size: 1.9rem;
    font-weight: 500;
	letter-spacing: 0.05em;
}
.strengths-txt {
    font-weight: 500;
	line-height: 2;
	letter-spacing: 0.04em;
}


@media (max-width: 768px) {
	.sec-strengths {
		width: 100%;
		padding: 26vw 0 32vw;
	}
	.strengths-sec-ttl {
		margin-bottom: 4vw;
		font-size: 7.8vw;
	}
	.strengths-sec-ttl-en {
		font-size: 4.4vw;
	}

	.strengths-box {
		width: 100%;
		margin-top: 14vw;
		padding: 13vw 6vw;
	}
	.strengths-lead-txt {
		font-size: 3.8vw;
	}

	.strengths-box.flex-box {
		margin-top: 22vw;
		padding: 13vw 6vw 18vw;
		align-items: center;
		flex-direction: column-reverse;
	}
	.strengths-box.flex-box picture, 
	.strengths-box.flex-box img {
		width: 100%;
		margin-right: 0;
	}
	.strengths-txt-wrap {
		width: 100%;
		margin-bottom: 10vw;
	}
	.strengths-ttl {
		margin-bottom: 8vw; 
		text-align: center;
		font-size: 4.9vw;
		font-weight: 500;
		line-height: 1.6;
	}
	.strengths-txt {
		font-size: 3.6vw;
	}
    
}
    


/*---------- お仕事をお探しの方・スタッフ登録の方  ----------*/
.sec-job-staff {
	width: 100%;
	padding: 0 0 95px;
	background: #fff;
	border: 4px solid var(--color-yellow); /* 準備中のみ */
}

.job-staff-links {
	width: 100%;
	justify-content: space-between;
}
.job-staff-links li {
	width: 48%;
	padding-top: 70px;
	text-align: center;
	position: relative;
}
.job-staff-links li::before {
	content: '';
	width: 14vw;
	max-width: 200px;
	height: 14vw;
	max-height: 200px;
	background: url("../../img/services/img_preparing_pc.png") center center no-repeat;
	background-size: 100%;
	position: absolute;
	top: 65px;
	left: -50px;
}
.job-staff-links li img {
	width: 90%;
	max-width: 115px;
	margin: 0 auto 30px;
}
.job-staff-sec-ttl {
	margin-bottom: 10px;
	color: var(--color-darkgray);
	font-size: 3.0rem;
    font-weight: 500;
}
.job-staff-sec-ttl-en {
	margin-bottom: 30px;
	color: var(--color-blue);
	font-size: 2.3rem;
    font-weight: 400;
	line-height: 1;
	letter-spacing: 0.05em;
}
.job-staff-links li .btn-blue {
	margin-top: 30px;
}


@media (max-width: 1100px) {
	.job-staff-links li::before {
		position: absolute;
		top: 4vw;
		left: -3vw;
	}
}


@media (max-width: 768px) {
	.sec-job-staff {
		width: 100%;
		/* padding: 30vw 0 30vw; */
		padding: 0 0 12vw;
	}

	.job-staff-links {
		width: 100%;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}
	.job-staff-links li {
		width: 90%;
		padding-top: 50vw;
		text-align: center;
		position: relative;
	}
	.job-staff-links li + li {
		margin-top: 10vw;
	}
	.job-staff-links li::before {
		content: '';
		width: 40vw;
		max-width: initial;
		height: 45vw;
		max-height: initial;
		background: url("../../img/services/img_preparing_sp.png") center center no-repeat;
		background-size: 100%;
		position: absolute;
		top: 4vw;
		left: -4vw;
	}
	.job-staff-links li img {
		width: 45%;
		max-width: initial;
		margin: 0 auto 8vw;
	}
	.job-staff-sec-ttl {
		margin-bottom: 2vw;
		font-size: 7.6vw;
	}
	.job-staff-sec-ttl-en {
		margin-bottom: 10vw;
		font-size: 4.6vw;
	}
	.job-staff-txt {
		font-size: 3.6vw;
	}
	.job-staff-links li .btn-blue {
		margin-top: 10vw;
	}
    
}
    


/*---------- FAQ ----------*/
.sec-faq {
	width: 100%;
	padding: 130px 0 0;
	background: #fff;
}
.sec-faq .cont-inn {
	padding-bottom: 130px;
	border-bottom: 1px solid rgba(68, 68, 68, 0.2);
}

.faq-sec-ttl {
	margin-bottom: 10px;
	color: var(--color-darkgray);
	font-size: 3.0rem;
    font-weight: 500;
	text-align: center;
}
.faq-sec-ttl-en {
	margin-bottom: 60px;
	color: var(--color-blue);
	font-size: 2.3rem;
    font-weight: 400;
	line-height: 1;
	text-align: center;
}

.faq-list dt {
	width: 100%;
	padding: 15px 30px;
	color: var(--color-blue);
	font-size: 2.3rem;
    font-weight: 400;
	text-align: center;
	border-top: 1px solid rgba(85, 85, 85, 0.2);
	position: relative;
	cursor: pointer;
}
.faq-list dt::after {
	content: '';
	width: 18px;
	height: 18px;
	background: url("../../img/services/icon_arrow_accordion.svg") center center no-repeat;
	background-size: 100%;
	position: absolute;
	top: calc(50% - 9px);
	right: 10px;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
.faq-list dt.is-open::after {
	transform: rotate(180deg);
}
.faq-list dd {
	width: 100%;
	padding: 40px 0 50px;
	display: none;
	line-height: 2;
}
.faq-list dd p {
	width: 100%;
	max-width: 660px;
	margin: 0 auto;
}

@media (max-width: 768px) {
	.sec-faq {
		width: 100%;
		padding: 45vw 0 0;
	}
	.sec-faq .cont-inn {
		padding-bottom: 25vw;
	}
	
	.faq-sec-ttl {
		margin-bottom: 2vw;
		font-size: 7.6vw;
	}
	.faq-sec-ttl-en {
		margin-bottom: 12vw;
		font-size: 4.4vw;
	}

	.faq-list dt {
		width: 100%;
		padding: 4vw 8vw 6vw 2vw;
		font-size: 4.4vw;
		text-align: left;
	}
	.faq-list dt::after {
		content: '';
		width: 5vw;
		height: 5vw;
		background: url("../../img/services/icon_arrow_accordion.svg") center center no-repeat;
		background-size: 100%;
		position: absolute;
		top: calc(50% - 2.5vw);
		right: 2vw;
	}
	.faq-list dd {
		width: 100%;
		padding: 4vw 2vw 10vw;
		line-height: 2;
	}
	.faq-list dd p {
		width: 100%;
		max-width: initial;
		margin: 0 auto;
	}
    
}

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

/* strengths-lead-txt アニメーション */
.strengths-lead-txt {
  opacity: 1; /* ← 最初から非表示だと中身が見えないので 1 に */
}

.strengths-lead-txt .line {
  display: inline-block;
  opacity: 0;
  transform: translateY(20px);
}

.strengths-lead-txt.is-visible .line {
  animation: fadeLineUp 0.8s ease forwards;
}

@keyframes fadeLineUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

