@charset "UTF-8";

/* ------------------------------------------------
                  採用情報 トップ
--------------------------------------------------- */
header {
	border-bottom: 4px solid #0093D9;
}
header::before {
	content: '';
	width: 45%;
	max-width: 550px;
	height: 4px;
	background: var(--color-blue-green);
	position: absolute;
	bottom: -4px;
	left: 0;
}
.main {
	padding-top: 0;
}
@media (max-width: 1100px) {
	header {
		position: fixed;
		top: 0 !important;
		border-bottom: none;
	}
	header::before {
		content: none;
	}
	.main {
		padding-top: 80px;
	}
}
@media (max-width: 768px) {
	header {
		position: fixed;
	}
	.main {
		padding-top: 17vw;
	}
}


/*---------- 共通 ----------*/

/* ページタイトル */
.sec-page-ttl {
	width: 100%;
	height: calc(27.77vw + 109px);
	min-height: 300px;
	/*max-height: 509px;*/
	padding: 109px 0 0;
	background: url("../../img/recruit/img_mv_pc.jpg") center right no-repeat;
	background-size: auto 100%;
	position: fixed;
	top: 0;
	left: 0;
}


.sec-page-ttl .breadcrumb-wrap {
	margin-bottom: 65px;
}

.sec-page-ttl .cont-inn {
	height: 100%;
	padding: 20px 0;
}
.page-ttl-wrap {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.page-ttl-en {
	margin-bottom: 10px;
	color: var(--color-txt-green);
	font-size: 2.3rem;
    font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.05em;
	font-family: "Roboto", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-variation-settings:
	"wdth" 100;
}
.page-ttl {
	margin-bottom: 30px;
	color: var(--color-black);
	font-size: 3.8rem;
    font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
}
.page-copy {
	color: var(--color-txt-darkgray);
	font-size: 1.7rem;
    font-weight: 600;
	line-height: 1.70;
}


@media (max-width: 1100px) {
	.sec-page-ttl {
		width: 100%;
		height: 27.77vw;
		min-height: 300px;
		/*max-height: 509px;*/
		padding: 0;
		background: url("../../img/recruit/img_mv_pc.jpg") center right no-repeat;
		background-size: auto 100%;
		border-top: 4px solid #0093D9;
		position: fixed;
		top: 80px;
		left: 0;
	}
	.sec-page-ttl::before {
		content: '';
		width: 45%;
		max-width: 550px;
		height: 4px;
		background: var(--color-blue-green);
		position: absolute;
		top: -4px;
		left: 0;
	}
}


@media (max-width: 768px) {
	/* ページタイトル */
	.sec-page-ttl {
		width: 100%;
		height: auto;
		min-height: 1px;
		max-height: initial;
		padding: 2.66vw 0 0;
		background: #fff;
		position: fixed;
		top: 17vw;
		left: 0;
	}
	.sec-page-ttl .breadcrumb-wrap {
		margin-bottom: 5.33vw;
	}

	.sec-page-ttl .cont-inn {
		height: 100%;
	}
	.page-ttl-wrap {
		position: relative;
		top: auto;
		left: auto;
		transform: none;
	}
	.page-ttl-en {
        margin-bottom: 0;
		font-size: var(--fs-sp-17);
        line-height: 1.73;
	}
	.page-ttl {
		margin-bottom: 12.26vw;
		font-size: var(--fs-sp-23);
		line-height: 1.73;
	}
	.page-copy {
		font-size: var(--fs-sp-17);
		line-height: 1.78;
	}
	
	.sec-page-ttl .recruit-mv-img {
		width: calc(100% + 11.73vw);
		height: 60vw;
		margin: 0 0 10.66vw -5.866vw;
		background: url("../../img/recruit/img_mv_sp.jpg") center bottom no-repeat;
		background-size: cover;
	}

}





/*---------- リンク ----------*/
.sec-recruit {
	width: 100%;
	padding: 110px 0 90px;
	margin-top: calc(27.77vw + 109px - 4px);
	position: relative;
	background: var(--color-lightyellow);
}

/* リスト */
.recruit-link-wrap {
	width: 100%;
	max-width: 790px;
	margin: 0 auto;
	justify-content: space-between;
}
.recruit-link-item {
	width: calc((100% - 30px) / 2);
	margin-bottom: 110px;
	padding: 43px 40px;
	display: block;
	aspect-ratio: 76/47;
	border-radius: 0 0 27.5px 0;
	overflow: hidden;
	position: relative;
	transition: 0.3s ease-in-out;
}
.recruit-link-item::before {
	content: '';
	width: 55px;
	height: 55px;
	background: #fff;
	border-radius: 50%;
	position: absolute;
	bottom: 0;
	right: 0;
	transition: 0.3s ease-in-out;
	z-index: 2;
}
.recruit-link-item::after {
	content: '';
	width: 55px;
	height: 55px;
	background: url("../../img/common/icon_arrow_b.svg") center center no-repeat;
	background-size: 22px;
	position: absolute;
	bottom: 0;
	right: 0;
	transition: 0.3s ease-in-out;
	z-index: 3;
}

@media (min-width: 769px) {
	.recruit-link-item:hover {
		border-radius: 0 0 0 0;
	}
}


.recruit-link-ttl-en {
	color: #fff;
	font-size: 1.7rem;
    font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.05em;
	font-family: "Roboto", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-variation-settings:
	"wdth" 100;
	position: relative;
	z-index: 3;
}
.recruit-link-ttl {
	color: #fff;
	font-size: 2.3rem;
    font-weight: 500;
	line-height: 1.53;
	transition: 0.3s ease-in-out;
	position: relative;
	z-index: 3;
}


.recruit-link-development {
	width: 80%;
	max-width: 790px;
	margin: 0 auto;
	padding: 54px 30px;
	border: 1px solid var(--color-blue);
	overflow: hidden;
	position: relative;
	transition: 0.3s ease-in-out;
}
.recruit-link-development::before {
	content: '';
	width: 55px;
	height: 55px;
	background: var(--color-blue);
	border-radius: 50%;
	position: absolute;
	top: calc(50% - 28px);
	right: 25px;
	transition: 0.3s ease-in-out;
	z-index: 2;
}
.recruit-link-development::after {
	content: '';
	width: 55px;
	height: 55px;
	background: url("../../img/common/icon_arrow_w.svg") center center no-repeat;
	background-size: 22px;
	position: absolute;
	top: calc(50% - 28px);
	right: 25px;
	transition: 0.3s ease-in-out;
	z-index: 3;
}

@media (min-width: 769px) {
	.recruit-link-development:hover::before {
		background: #fff;
	}
	.recruit-link-development:hover::after {
		background: url("../../img/common/icon_arrow_b.svg") center center no-repeat;
		background-size: 22px;
	}
}

.recruit-link-development .recruit-link-ttl-en {
	color: var(--color-darkblue);
}
.recruit-link-development .recruit-link-ttl {
	color: var(--color-black);
}

/* 背景画像 */
.recruit-link-item-bg {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	transition: 0.3s ease-in-out;
	z-index: 1;
}
.recruit-graduate .recruit-link-item-bg {
	background: url("../../img/recruit/img_graduate.jpg") center center no-repeat;
	background-size: cover;
}
.recruit-career .recruit-link-item-bg {
	background: url("../../img/recruit/img_career.jpg") center center no-repeat;
	background-size: cover;
}
.recruit-development .recruit-link-item-bg {
	background: url("../../img/recruit/img_development.jpg") center center no-repeat;
	background-size: cover;
}

@media (min-width: 769px) {
	.recruit-link-item:hover .recruit-link-item-bg {
		transform: scale(1.08,1.08);
	}
	.recruit-link-development:hover .recruit-link-item-bg {
		transform: scale(1.08,1.08);
	}
}

@media (max-width: 1100px) {
	.sec-recruit {
		margin-top: calc(27.77vw);
	}
}

@media (max-width: 768px) {
	.sec-recruit {
		width: 100%;
		padding: 16vw 0 29.33vw;
		margin-top: 100vw;
		position: relative;
	}
	/* .sec-recruit::before {
		content: '';
		width: 100%;
		height: 26.66vw;
		background: #fff;
		position: absolute;
		top: 0;
		left: 0;
	} */
	
	.page-copy {
		margin-bottom: 16vw;
	}

	/* リスト */
	.recruit-link-wrap {
		width: 100%;
		flex-direction: column;
		justify-content: flex-start;
	}
	.recruit-link-item {
		width: 100%;
		margin-bottom: 0;
		padding: 4.8vw 5.8666vw;
		display: block;
		aspect-ratio: 335/207;
		border-radius: 0 0 6.666vw 0;
	}
	.recruit-link-item + .recruit-link-item {
		margin-top: 10.66vw;
	}
	.recruit-link-item::before {
		content: '';
		width: 14.666vw;
		height: 14.666vw;
		position: absolute;
		bottom: -1.333vw;
		right: -1.333vw;
	}
	.recruit-link-item::after {
		content: '';
		width: 14.666vw;
		height: 14.666vw;
		background: url("../../img/common/icon_arrow_b.svg") center center no-repeat;
		background-size: 5.866vw;
		bottom: -1.333vw;
		right: -1.333vw;
	}
	

	.recruit-link-ttl-en {
		font-size: var(--fs-sp-17);
	}
	.recruit-link-ttl {
		font-size: var(--fs-sp-23);
		line-height: 1.73;
	}


	.recruit-link-development {
		width: 89.866vw;
		margin: 21.33vw auto 0;
		padding: 39.2vw 5.33vw 5.33vw;
		background: #fff;
	}
	.recruit-link-development::before {
		content: '';
		width: 14.666vw;
		height: 14.666vw;
		top: auto;
		bottom: 8vw;
		right: 5.333vw;
	}
	.recruit-link-development::after {
		content: '';
		width: 14.666vw;
		height: 14.666vw;
		background: url("../../../assets/img/common/icon_arrow_w.svg") center center no-repeat;
		background-size: 5.866vw;
		top: auto;
		bottom: 8vw;
		right: 5.333vw;
	}
	.recruit-development .recruit-link-item-bg {
		background: url("../../img/recruit/img_development_sp.jpg") center top no-repeat;
		background-size: 100%;
	}
	.recruit-development .recruit-link-ttl-en {
		margin-bottom: 5.333vw;
	}
}



/*---------- エントリー ----------*/
.sec-entry {
	width: 100%;
	padding: 50px 0 110px;
	background: #fff;
	position: relative;
	z-index: 1;
}

.entry-ttl-en {
	margin-bottom: 10px;
	color: #999;
	font-size: 1.4rem;
    font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
	font-family: "Roboto", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-variation-settings:
	"wdth" 100;
	position: relative;
	z-index: 3;
}
.entry-ttl {
	display: inline-block;
	font-size: 1.9rem;
    font-weight: 400;
	line-height: 2;
	position: relative;
}
.entry-ttl::after {
	content: '';
	width: 0;
	height: 1.5px;
	background: #987A5A;
	position: absolute;
	bottom: -3px;
	left: 0;
	transition: 1s ease-in-out;
}
.entry-ttl.is-effect-on::after, 
.entry-ttl.is-inview::after {
	width: 100%;
}

/* リスト */
.entry-link-wrap {
	width: 100%;
	margin: 40px auto 0;
	text-align: center;
}
.entry-link-caption {
	margin-bottom: 10px;
	color: var(--color-black);
	font-size: 1.5rem;
}
.entry-link-item {
	width: 80%;
	max-width: 350px;
	margin: 0 auto;
	display: block;
	border: 1px solid var(--color-sghblue);
}
.entry-link-item + .entry-link-item {
	margin-top: 40px;
}

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

	.entry-ttl-en {
		margin-bottom: 2.66vw;
		font-size: var(--fs-sp-14);
	}
	.entry-ttl {
		font-size: var(--fs-sp-19);
	}

	/* リスト */
	.entry-link-wrap {
		width: 100%;
		margin: 10.66vw auto 0;
		text-align: center;
	}
	.entry-link-caption {
		margin-bottom: 2.666vw;
		font-size: var(--fs-sp-15);
	}
	.entry-link-item {
		width: 100%;
		max-width: initial;
	}
	.entry-link-item + .entry-link-item {
		margin-top: 10.66vw;
	}
}
