/*===========================================================================
unique
単一ページで使用するCSS
接頭辞【.u-】

【予測変換用 _base.css記述】
:root {
	--font-color-base: #000;
	--font-family-base: "Noto Sans JP", sans-serif;
	--back-color-base: #fff;
	--design-size-pc: 1400;
	--design-size-sp: 750;
}
===========================================================================*/
.l-main {
  background: #fff;
}

.u-sec + .u-sec {
	margin-top: 120rem;
}
.m-secTtl + .u-txt {
	margin-top: 34rem;
}
.u-txt {
	line-height: 1.8;
	letter-spacing: 0.04em;
}
.u-note {
	font-size: 14rem;
	line-height: 1.8;
	letter-spacing: 0.04em;
}
/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
	.u-sec + .u-sec {
		margin-top: 80rem;
	}
	.m-secTtl + .u-txt {
		margin-top: 16rem;
	}
}




.u-secFuture__inr {
	padding-top: 228rem;
	padding-bottom: 354rem;
	text-align: center;
	position: relative;
}
.u-secFuture__inr::before {
	content: " ";
	width: 1545rem;
	height: 624rem;
	background: url(/recruit/strengths/images/future_img01.png) no-repeat center / contain;
	position: absolute;
	top: 0;
	left: -320rem;
	pointer-events: none;
}
.u-secFuture__inr::after {
	content: " ";
	width: 1510rem;
	height: 616rem;
	background: url(/recruit/strengths/images/future_img02.png) no-repeat center / contain;
	position: absolute;
	left: 0;
	bottom: 0;
	pointer-events: none;
}
.u-secFuture__inr > *:first-child {
	margin-top: 0;
}
.u-secFuture .u-txt {
	line-height: 2.5;
}
/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
	.u-secFuture__inr {
		padding-top: 318rem;
		padding-bottom: 374rem;
		text-align: left;
	}
	.u-secFuture__inr::before {
		width: calc(100% + 40rem);
		height: 286rem;
		background: url(/recruit/strengths/images/sp_future_img01.png) no-repeat center / contain;
		left: -20rem;
	}
	.u-secFuture__inr::after {
		width: calc(100% + 40rem);
		height: 318rem;
		background: url(/recruit/strengths/images/sp_future_img02.png) no-repeat center / contain;
		left: -20rem;
		bottom: 0;
	}
	.u-secFuture__inr > *:first-child {
		margin-top: 0;
	}
	.u-secFuture .u-txt {
		line-height: 2;
	}
}



.u-secStrong {
	height: 776rem;
	margin-inline: var(--negative-margin);
	padding-inline: abs(var(--negative-margin));
	position: relative;
}
.u-secStrong::before {
	content: " ";
	width: 1980rem;
	height: 100%;
	background: url(/recruit/strengths/images/strong_bg.png) no-repeat center / contain;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.u-secStrong__inr {
	box-sizing: border-box;
	padding: 80rem 0;
	color: #fff;
	position: relative;
	z-index: 1;
}
.u-secStrong .m-secTtl__en::before {
	background: #fff;
}
.u-secCts {
	display: flex;
	gap: 92rem;
}
.u-secCts .m-secTtl {
	margin-top: 0;
	margin-left: 20rem;
}
.u-secCts .u-txt {
	flex: 1;
	margin-top: 32rem;
}
.u-ancWrap {
	margin-top: 56rem;
	text-align: center;
}
.u-ancCts {
	display: flex;
	justify-content: center;
	gap: 40rem;
	margin-top: 16rem;
	position: relative;
}
.u-ancCts__item {
	position: relative;
}
.u-ancCts__item:not(:first-child)::after {
	content: " ";
	width: 40rem;
	height: 1rem;
	background: #fff;
	position: absolute;
	top: 50%;
	left: -40rem;
}
.u-ancCts__item a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 230rem;
	height: 230rem;
	border-radius: 100%;
	border: 1px solid #fff;
	background: rgba(250,250,250,0.2);
	position: relative;
}
.u-ancCts__item a::before {
	content: " ";
	width: 80rem;
	height: 66rem;
	background: no-repeat center / contain;
	position: absolute;
	top: -6rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
}
.u-ancCts__item.--item01 a::before {
	background-image: url(/recruit/strengths/images/strong_icn01.svg);
}
.u-ancCts__item.--item02 a::before {
	background-image: url(/recruit/strengths/images/strong_icn02.svg);
}
.u-ancCts__item.--item03 a::before {
	background-image: url(/recruit/strengths/images/strong_icn03.svg);
}
.u-ancCts__item a::after {
	content: " ";
	width: 26rem;
	height: 26rem;
	-webkit-mask: url(/recruit/common/images/icn_btn_arw_blue.svg) no-repeat center / contain;
	mask: url(/recruit/common/images/icn_btn_arw_blue.svg) no-repeat center / contain;
	background: var(--back-color-sub);
	position: absolute;
	left: 50%;
	bottom: 36rem;
	transform: translateX(-50%) rotate(90deg);
	transition: all 0.3s linear;
}
.u-ancCts__txt {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 8rem;
	width: 190rem;
	height: 190rem;
	box-sizing: border-box;
	padding: 10rem;
	border-radius: 100%;
	background: #fff;
	color: var(--font-color-sub);
	position: relative;
	transition: all 0.3s linear;
}
.u-ancCts__txt dt {
	font-size: 13rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.08em;
}
.u-ancCts__txt dd {
	font-size: 16rem;
	font-weight: 500;
	line-height: 1.5;
}
@media (any-hover: hover) {
	.u-ancCts__item a {
		opacity: 1;
	}
.u-ancCts__item a:hover::after {
	background: #fff;
}
	.u-ancCts__item a:hover .u-ancCts__txt {
		width: 100%;
		height: 100%;
		background: var(--back-color-sub);
	color: #fff;
	}
	.u-ancCts__item a:hover .u-ancCts__txt::after {
	}
}

/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
	.u-secStrong {
		height: 918rem;
	}
	.u-secStrong::before {
		width: 100%;
		height: 100%;
		background: url(/recruit/strengths/images/sp_strong_bg.png) no-repeat center / contain;
		left: 0;
		transform: translateX(0);
	}
	.u-secStrong__inr {
		padding: 64rem 0;
	}
	.u-secCts {
		flex-direction: column;
		gap: 0;
	}
	.u-secCts .m-secTtl {
		margin-left: 0;
	}
	.u-secCts .u-txt {
		flex: 0 1 auto;
		margin-top: 16rem;
	}
	.u-ancWrap {
		margin-top: 40rem;
	}
	.u-ancCts {
		gap: 8rem;
	}
	.u-ancCts__item:not(:first-child)::after {
		width: 8rem;
		left: -8rem;
	}
	.u-ancCts__item a {
		width: 110rem;
		height: 110rem;
	}
	.u-ancCts__item a::before {
		content: " ";
		width: 44rem;
		height: 36rem;
		top: -15rem;
	}
	.u-ancCts__item a::after {
		width: 14rem;
		height: 14rem;
		bottom: 12rem;
	}
	.u-ancCts__txt {
		gap: 2rem;
		width: 104rem;
		height: 104rem;
		padding: 2rem;
	}
	.u-ancCts__txt dt {
		font-size: 10rem;
	}
	.u-ancCts__txt dd {
		font-size: 10rem;
	}
}






.u-secDtail__inr {
	position: relative;
}
.u-secDtail__inr::before,
.u-secDtail__item01 .u-secDtail__inr::after,
.u-secDtail__item03 .u-secDtail__inr::after {
	content: " ";
	background: no-repeat center / contain;
	position: absolute;
	z-index: 0;
}
.u-secDtail__item01 .u-secDtail__inr::before {
	width: 808rem;
	height: 228rem;
	background-image: url(/recruit/strengths/images/sec_element01.png);
	top: -80rem;
	right: -450rem;
}
.u-secDtail__item01 .u-secDtail__inr::after {
	width: 906rem;
	height: 350rem;
	background-image: url(/recruit/strengths/images/sec_element02.png);
	left: -370rem;
	bottom: -24rem;
}
.u-secDtail__item02 .u-secDtail__inr::before {
	width: 538rem;
	height: 552rem;
	background-image: url(/recruit/strengths/images/sec_element03.png);
	right: 82rem;
	bottom: 16rem;
}
.u-secDtail__item03 .u-secDtail__inr::before {
	width: 930rem;
	height: 376rem;
	background-image: url(/recruit/strengths/images/sec_element04.png);
	top: 28rem;
	left: -402rem;
}
.u-secDtail__item03 .u-secDtail__inr::after {
	width: 800rem;
	height: 210rem;
	background-image: url(/recruit/strengths/images/sec_element05.png);
	right: -366rem;
	bottom: -120rem;
}

/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
	.u-secDtail__item01 .u-secDtail__inr::before {
		width: 304rem;
		height: 104rem;
		background-image: url(/recruit/strengths/images/sp_sec_element01.png);
		top: -80rem;
		right: -20rem;
	}
	.u-secDtail__item01 .u-secDtail__inr::after {
		width: 324rem;
		height: 140rem;
		background-image: url(/recruit/strengths/images/sp_sec_element02.png);
		top: auto;
		left: -20rem;
		bottom: -46rem;
	}
	.u-secDtail__item02 .u-secDtail__inr::before {
		width: 282rem;
		height: 288rem;
		background-image: url(/recruit/strengths/images/sp_sec_element03.png);
		top: auto;
		left: 24rem;
		right: auto;
		bottom: 0;
	}
	.u-secDtail__item03 .u-secDtail__inr::before {
		width: 270rem;
		height: 135rem;
		background-image: url(/recruit/strengths/images/sp_sec_element04.png);
		top: auto;
		left: -20rem;
		bottom: 280rem;
	}
	.u-secDtail__item03 .u-secDtail__inr::after {
		width: 355rem;
		height: 92rem;
		background-image: url(/recruit/strengths/images/sp_sec_element05.png);
		left: 0;
		right: auto;
		bottom: -80rem;
	}
}



.u-detailCts {
	display: flex;
	gap: 80rem;
	position: relative;
	z-index: 1;
}
.u-detailCts__col {
	flex: 1;
}
.u-detailTtl__jp {
	padding-left: 14rem;
	color: var(--font-color-sub);
	font-size: 13rem;
	line-height: 1.5;
	letter-spacing: 0.08em;
	position: relative;
}
.u-detailTtl__jp::before {
	content: " ";
	width: 6rem;
	height: 6rem;
	margin-top: -4rem;
	border-radius: 100%;
	background: var(--back-color-sub);
	position: absolute;
	top: 50%;
	left: 0;
}
.u-detailTtl__jp + .m-ttlLv4 {
	margin-top: 8rem;
}
.u-detailCts .u-txt {
	margin-top: 32rem;
}
.u-detailCts .u-txt + .u-txt {
	margin-top: 36rem;
}
.u-detailCts__col .u-note {
	margin-top: 36rem;
}
.u-detailCts__img {
	width: 560rem;
}
.u-secImg {
	display: block;
}
/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
	.u-detailCts {
		flex-direction: column;
		gap: 56rem;
	}
	.u-detailCts__col {
		flex: 0 1 auto;
	}
	.u-detailTtl__jp + .m-ttlLv4 {
		margin-top: 6rem;
	}
	.u-detailCts .u-txt {
		margin-top: 16rem;
	}
	.u-detailCts .u-txt + .u-txt {
		margin-top: 20rem;
	}
	.u-detailCts__col .u-note {
		margin-top: 20rem;
	}
	.u-detailCts__img {
		width: 100%;
	}
}

.u-secDtail {
	margin-top: 80rem;
}
.u-secDtail__item02 {
	margin-inline: var(--negative-margin);
	padding-inline: abs(var(--negative-margin));
	margin-top: 80rem;
	background: #F3F9FF;
}
.u-secDtail__item02 .u-secDtail__inr {
	box-sizing: border-box;
	padding: 80rem 0;
}
.u-secDtail__item01 .u-detailCts__col,
.u-secDtail__item03 .u-detailCts__col  {
	order: 1;
}
.u-secImg.--img01_1 {
	margin-top: 108rem;
}
.u-secImg.--img01_2 {
	width: 668rem;
	margin-top: 118rem;
	transform: translateX(-108rem);
}
.u-secImg.--img02_1 {
	width: 602rem;
	margin-top: 118rem;
	transform: translateX(40rem);
}
.u-secImg.--img03_1 {
	width: 390rem;
	height: 352rem;
	margin-top: 115rem;
	transform: translateX(152rem);
}
.u-secImg.--img03_2 {
	width: 564rem;
	height: 350rem;
	margin-top: 50rem;
	transform: translateX(-114rem);
}

/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
	.u-secDtail {
		margin-top: 64rem;
	}
	.u-secDtail__item02 .u-secDtail__inr {
		padding: 64rem 0;
	}
	.u-secDtail__item01 .u-detailCts__col,
	.u-secDtail__item03 .u-detailCts__col {
		order: 0;
	}
	.u-secImg.--img01_1 {
		margin-top: 0;
	}
	.u-secImg.--img01_2 {
		width: 100%;
		margin-top: 48rem;
		transform: translateX(0);
	}
	.u-secImg.--img02_1 {
		width: 100%;
		margin-top: 0;
		transform: translateX(0);
	}
	.u-secImg.--img03_1 {
		width: 200rem;
		height: auto;
		margin-top: 0;
		transform: translateX(135rem);
	}
	.u-secImg.--img03_2 {
		width: 288rem;
		height: auto;
		margin-top: 24rem;
		transform: translateX(0);
	}
}