/* -----------------------------------------------
= page_title
----------------------------------------------- */
.page_title .text {
	width: 4600px;
}
.page_title .text .set {
	width: 2300px;
}
@keyframes infinityScroll03 {
	0% {
		transform: translateX(2300px);
	}
	100% {
		transform: translateX(-2300px);
	}
}
@keyframes infinityScroll04 {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-4600px);
	}
}
@media print, screen and (min-width: 768px) {/* PC */
.page_title .text {
	width: 7700px;
}
.page_title .text .set {
	width: 3850px;
}
@keyframes infinityScroll03 {
	0% {
		transform: translateX(3850px);
	}
	100% {
		transform: translateX(-3850px);
	}
}
@keyframes infinityScroll04 {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-7700px);
	}
}
}/* @media */
/* -----------------------------------------------
= contents
----------------------------------------------- */
@media print, screen and (min-width: 768px) {/* PC */
.contents {
	display: flex;
	justify-content: space-between;
	max-width: 1360px;
	margin: 0 auto;
	padding: 0 40px;
}
.contents .pickup {
	order: 2;
}
.contents .main_contents {
	order: 1;
	width: calc(960 / 1360 * 100%);
}
}/* @media */
/* -----------------------------------------------
= pickup
----------------------------------------------- */
.pickup .swiper-slide {
	width: 236px;
}
.pickup .swiper-slide a {
	display: block;
	height: 100%;
	border-radius: 5px;
}
.pickup .topblog.swiper-slide a {
	background: url(../../img/index/pickup_topblog.png) no-repeat 50% / cover;
}
.pickup .atoz.swiper-slide a {
	background: url(../../img/index/pickup_atoz.png) no-repeat 50% / cover;
}
.pickup .swiper-slide .jp {
	display: block;
	padding: 50px 0;
	font-size: calc(2rem / 1.6);
	font-weight: 700;
	text-align: center;
	letter-spacing: .02em;
}
.pickup .swiper-slide .en {
	display: block;
	padding: 50px 0;
	font-family: var(--fontEn);
	font-size: calc(2rem / 1.6);
	font-weight: 700;
	text-align: center;
	letter-spacing: .03em;
}
@media print, screen and (min-width: 768px) {/* PC */
.pickup {
	order: 2;
	margin: 20px 0 0;
}
.pickup .swiper-slide {
	width: 100%;
	overflow: hidden;
}
.pickup .swiper-slide + .swiper-slide {
	margin-top: 10px;
}
.pickup .swiper-slide .jp {
	font-size: calc(2.4rem / 1.6);
}
.pickup .swiper-slide .en {
	font-size: calc(2.4rem / 1.6);
}
}/* @media */
/* -----------------------------------------------
= parts(title/btn)
----------------------------------------------- */
.contents .title {
	text-align: center;
}
.contents .title .en {
	margin-bottom: 16px;
	font-size: calc(1.4rem / 1.6);
	letter-spacing: .02em;
}
.contents .title .jp {
	font-size: calc(3rem / 1.6);
	font-weight: 700;
	letter-spacing: .05em;
}
.contents .btn a {
	display: block;
	position: relative;
	max-width: calc(26.5rem / 1.6);
	margin: 0 auto;
	padding: 18px 0;
	color: #1e1e1e;
	background: var(--lime);
	border: 1px solid var(--lime);
	border-radius: 5px;
	font-size: calc(1.4rem / 1.6);
	font-weight: 700;
	text-align: center;
}
.contents .btn a::before,
.contents .btn a::after {
	content: "";
	position: absolute;
	top: calc(50% - 15px);
	right: -15px;
}
.contents .btn a::before {
	width: 28px;
	height: 28px;
	background: var(--navy);
	border: 1px solid var(--lime);
	border-radius: 50%;
}
.contents .btn a::after {
	width: 13px;
	height: 9px;
	margin: 11px 8px;
	background: url(../../img/shared/icon_arrow_link.svg) no-repeat 50% / 100% auto;
	filter: var(--filterLime);
}
.contents .btn a[target="_blank"]::after {
	width: 12px;
	height: 12px;
	margin: 8px;
	background: url(../../img/shared/icon_external.svg) no-repeat 50% / 100% auto;
}
@media print, screen and (min-width: 768px) {/* PC */
.contents .title {
	display: block;
	margin-bottom: 80px;
}
.contents .title .en {
	margin-bottom: 10px;
	font-size: calc(2rem / 1.6);
}
.contents .title .jp {
	font-size: calc(3.2rem / 1.6);
}
.contents .btn a {
	max-width:  calc(28rem / 1.6);
	padding: 28px 0;
	font-size: calc(1.8rem / 1.6);
	transition: .3s;
}
.contents .btn a::before {
	width: 38px;
	height: 38px;
}
.contents .btn a::after {
	width: 20px;
	height: 12px;
	margin: 12px 7px;
}
.contents .btn a:hover {
	color: var(--lime);
	background: var(--navy);
	opacity: 1;
}
.contents .btn a::before,
.contents .btn a::after {
	top: calc(50% - 20px);
	right: -20px;
}
.contents .btn a:hover::before {
	background: var(--lime);
	border-color: var(--navy);
	transition: .3s;
}
.contents .btn a:hover::after {
	filter: var(--filterNavy);
}
.contents .btn a[target="_blank"]::after {
	width: 16px;
	height: 16px;
	margin: 11px;
}
}/* @media */
/* -----------------------------------------------
= about
----------------------------------------------- */
.about {
	padding: 60px 10px 20px;
}
.about .lead {
	padding: 0 15px 20px;
	font-size: calc(1.4rem / 1.6);
	line-height: calc(24 / 14);
	letter-spacing: .02em;
}
.about .box {
	margin-bottom: 40px;
	padding: 35px 5px 15px;
	border: 1px solid #fff;
	border-radius: 5px;
	text-align: center;
}
.about .box h3 {
	margin-bottom: 20px;
	font-size: calc(2rem / 1.6);
	font-weight: 700;
	letter-spacing: .02em;
}
.about .box h3 span {
	color: var(--lime);
}
.about .box li {
	position: relative;
	font-weight: 700;
	letter-spacing: .02em;
}
.about .box li + li {
	padding-top: 20px;
}
.about .box li + li::before {
	content: "";
	position: absolute;
	top: 0;
	left: calc(50% - 90px);
	width: 180px;
	height: 1px;
	border-top: 1px dashed #fff;
}
.about .box li p:first-child {
	margin-bottom: 10px;
	font-family: var(--fontEn);
	font-size: calc(1.8rem / 1.6);
}
.about .box li p:last-child {
	margin-bottom: 20px;
	font-size: calc(1.6rem / 1.6);
	line-height: calc(28 / 16);
}
.about .box li p:last-child span {
	color: var(--lime);
}
@media print, screen and (min-width: 768px) {/* PC */
.about {
	padding: 0 0 120px;
}
.about .lead {
	padding: 0 0 40px;
	font-size: calc(1.6rem / 1.6);
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: .03em;
	text-align: center;
}
.about .box {
	margin-bottom: 60px;
	padding: 40px 5px;
	border-radius: 10px;
}
.about .box h3 {
	margin-bottom: 40px;
	font-size: calc(2.4rem / 1.6);
}
.about .box ol {
	display: flex;
}
.about .box li {
	width: 100%;
	padding: 0 10px;
}
.about .box li + li {
	padding-top: 0;
}
.about .box li + li::before {
	top: 0;
	left: 0;
	width: 1px;
	height: 100%;
	border-left: 1px dashed #fff;
}
.about .box li p:first-child {
	margin-bottom: 10px;
	font-size: calc(2rem / 1.6);
}
.about .box li p:last-child {
	margin-bottom: 0;
	font-size: calc(1.8rem / 1.6);
	line-height: calc(36 / 18);
}
}/* @media */
@media print, screen and (max-width: 1130px) and (min-width: 768px) {/* TABLET */
.about .box ol {
	display: block;
}
.about .box li + li {
	margin-top: 20px;
	padding-top: 20px;
}
.about .box li + li::before {
	top: 0;
	left: calc(50% - 90px);
	width: 180px;
	height: 1px;
	border-top: 1px dashed #fff;
}
}/* @media */
/* -----------------------------------------------
= flow
----------------------------------------------- */
.flow {
	padding: 60px 10px 20px;
}
.flow .step .item {
	padding: 25px 10px;
	border: 1px solid var(--lime);
	border-radius: 5px;
	text-align: center;
}
.flow .step .item + .item {
	position: relative;
	margin-top: 44px;
}
.flow .step .item + .item::before {
	content: "";
	position: absolute;
	top: -31px;
	left: calc(50% - 7.5px);
	width: 15px;
	height: 20px;
	background: url(../../img/recruitment-info/icon_arrow_flow.svg) no-repeat 50% / 100% auto;
}
.flow .step .item .num {
	position: relative;
	margin-bottom: 16px;
	padding-bottom: 12px;
	color: var(--lime);
	font-family: var(--fontEn);
	font-size: calc(1.8rem / 1.6);
	letter-spacing: .02em;
}
.flow .step .item .num::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: calc(50% - 20px);
	width: 40px;
	height: 0.5px;
	background: var(--lime);
}
.flow .step .item img {
	width: 40px;
}
.flow .step .item h3 {
	margin: 20px 0 18px;
	color: var(--lime);
	font-size: calc(2rem / 1.6);
	font-weight: 700;
}
.flow .step .item .text {
	font-size: calc(1.4rem / 1.6);
	letter-spacing: .03em;
}
@media print, screen and (min-width: 768px) {/* PC */
.flow {
	padding: 0 0 120px;
}
.flow .step {
	display: flex;
}
.flow .step .item {
	width: 100%;
	padding: 40px 10px;
	border-radius: 10px;
}
.flow .step .item + .item {
	margin: 0 0 0 60px;
}
.flow .step .item + .item::before {
	top: calc(50% - 10px);
	left: -40px;
	width: 20px;
	height: 30px;
	transform: rotate(-90deg);
}
.flow .step .item .num {
	margin-bottom: 20px;
}
.flow .step .item h3 {
	margin: 20px 0 18px;
	font-size: calc(2.4rem / 1.6);
}
.flow .step .item .text {
	font-size: calc(1.6rem / 1.6);
	line-height: 2;
}
}/* @media */
@media print, screen and (max-width: 1130px) and (min-width: 768px) {/* TABLET */
.flow .step {
	display: block;
}
.flow .step .item + .item {
	margin: 44px 0 0;
}
.flow .step .item + .item::before {
	top: -31px;
	left: calc(50% - 7.5px);
	width: 15px;
	height: 20px;
	transform: rotate(0);
}
}/* @media */
/* -----------------------------------------------
= benefits
----------------------------------------------- */
.benefits {
	padding: 60px 10px 20px;
}
.benefits ol {
	margin-bottom: 40px;
}
.benefits li {
	padding: 15px;
	color: #fff;
	background: rgba(0,44,69,.8);
	border-radius: 5px;
}
.benefits li + li {
	margin-top: 16px;
}
.benefits li p:first-child {
	margin-bottom: 15px;
	padding-bottom: 7px;
	border-bottom: 1px solid #fff;
	color: var(--lime);
	font-family: var(--fontEn);
	font-size: calc(1.8rem / 1.6);
	text-align: center;
	letter-spacing: .02em;
}
.benefits li p:last-child {
	margin-bottom: 5px;
	font-size: calc(1.6rem / 1.6);
	font-weight: 700;
	line-height: calc(28 / 16);
}
.benefits li p:last-child span {
	color: var(--lime);
}
@media print, screen and (min-width: 768px) {/* PC */
.benefits {
	padding: 0 0 120px;
}
.benefits ol {
	margin-bottom: 60px;
}
.benefits li {
	display: flex;
	align-items: center;
	padding: 14px 30px 14px 0;
}
.benefits li + li {
	margin-top: 25px;
}
.benefits li p:first-child {
	margin: 0 30px 0 0;
	padding: 10px 30px;
	border-bottom: none;
	border-right: 1px solid #fff;
	font-size: calc(2rem / 1.6);
}
.benefits li p:last-child {
	flex: 1;
	margin-bottom: 0;
	font-size: calc(2rem / 1.6);
	line-height: 1.5;
}
}/* @media */
/* -----------------------------------------------
= notes
----------------------------------------------- */
.notes {
	padding: 60px 25px 20px;
}
.notes li {
	font-size: calc(1.4rem / 1.6);
	font-weight: 400;
	line-height: calc(24 / 14);
}
@media print, screen and (min-width: 768px) {/* PC */
.notes {
	padding: 0 0 120px;
}
.notes li {
	margin: 0 40px;
	font-size: calc(1.6rem / 1.6);
	line-height: calc(28 / 16);
}
}/* @media */
/* -----------------------------------------------
= group_info
----------------------------------------------- */
.group_info {
	margin: 60px 25px 80px;
}
@media print, screen and (min-width: 768px) {/* PC */
.group_info {
	margin: 0 0 150px;
}
}/* @media */

