@charset 'UTF-8';

/*----------------------------------------

	+ recruit_top
	+ ideal
		- ideal_top
		- ideal_btm
	+ seniors
		- member

-----------------------------------------*/

/*----------------------------------------
	recruit_top
-----------------------------------------*/
.recruit_top {
	margin-bottom: 100px;
}

@media screen and (max-width: 768px) {
    .recruit_top {
        margin-bottom: 15.6vw;
    }
}
/*----------------------------------------
	ideal 求める人材
-----------------------------------------*/

.ideal {
	display: flex;
	flex-direction: column;
	position: relative;
}

.ideal::before {
	content: '';
	z-index: -1;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	max-width: 1056px;
	width: 82.5%;
	height: 100%;
	background: linear-gradient(#f2f4fb 0%, #d9f0f9 100%);
}

/* .ideal_top {
	padding: 0 68px;
} */

.ideal_top>div {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	padding: 135px 0 33px;
}

.ideal_top>div::after {
	content: '';
	display: block;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: 47%;
	height: 1px;
	background: var(--color_basicblue);
}

.ideal_top>div p.outfit {
	z-index: -1;
	position: absolute;
	top: 29%;
	color: var(--color_white);
	white-space: nowrap;
}

.ideal_top>div p.mincho {
	color: var(--color_basicblue);
	letter-spacing: 0.03em;
}

.ideal_top>p {
	width: 90%;
	margin: 76px auto 0;
	letter-spacing: 0.04em;
	text-align: center;
}

.ideal_top>p>span:first-of-type {
	padding-left: 0.1em;
}


.ideal_top>p>span {
	display: inline-block;
}

.ideal ul {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-top: 56px;
}

.ideal li {
	padding: 16px 0;
	background: var(--color_pointgold);
	color: var(--color_white);
	letter-spacing: 0.04em;
	text-align: center;
}

.ideal_btm {
	width: 80%;
	margin: auto;
	padding: 55px 0 94px 0;
}

.ideal_btm p {
	letter-spacing: 0.04em;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.ideal::before {
		max-width: initial;
		width: 89.744%;
	}

	.ideal_top {
		padding: 0;
	}

	.ideal_top>div {
		padding: 18.71vw 0 5.21vw;
	}

	.ideal_top>div::after {
		width: 86%;
	}

	.ideal_top>p {
		width: 79%;
		margin: 9.75vw auto 0 auto;
	}

	.ideal_top>div p.outfit {
		top: 31%;
	}

	.ideal_top>p>span:first-of-type {
		padding-left: 0;
	}

	.ideal_top>p span {
		display: block;
	}

	.ideal_top>p br {
		display: none;
	}

	.ideal ul {
		gap: 0.51vw;
		margin-top: 7.93vw;
	}

	.ideal li {
		padding: 2.27vw 0 1.9vw;
		font-weight: 500;
	}

	.ideal ul span {
		display: block;
	}

	.ideal_btm {
		margin: auto;
		padding: 8.33vw 0 14.18vw;
	}

	.ideal_btm span {
		display: block;
	}
}

/*----------------------------------------
	seniors (先輩紹介)
-----------------------------------------*/

.seniors {
	margin-top: 100px;
}

.member {
	overflow: hidden;
	position: relative;
	transition: opacity var(--transition02secEaseout);
}

/* hover */
@media (hover: hover) {
	.member:hover {
		opacity: 0.6;
	}
}

.member:nth-of-type(2) {
	margin-top: 80px;
}

.member:not(:nth-of-type(2)) {
	margin-top: 100px;
}

.member::before {
	content: '';
	z-index: -1;
	position: absolute;
	left: 0;
	width: calc((100% - 1124px) / 2 + 100px);
	height: 100%;
	background: var(--color_bg_silver);
}

.member:nth-of-type(odd)::before {
	right: 0;
	left: initial;
}

.member>a {
	display: flex;
	justify-content: flex-start;
	max-width: 1124px;
	width: 87.813%;
	margin: auto;
}

.member:nth-of-type(odd)>a {
	flex-flow: row-reverse;
}

.member>a figure {
	width: 46.325%;
}

.member>a>div {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	position: relative;
	max-width: calc(100% - 46.325% - 60px);
	margin-bottom: 60px;
	padding-top: 40px;
}

.member>a>div::before {
	content: '';
	z-index: -2;
	position: absolute;
	top: 0;
	width: 100vw;
	height: 100%;
	border-image-source: linear-gradient(var(--color_flashwhite), var(--color_flashwhite));
	border-image-slice: 0 fill;
	border-image-outset: 0 100vw;
}

.member>a>div::after {
	content: '';
	position: absolute;
	top: calc(100% + 30px);
	left: 50%;
	transform: translateX(-50%);
	max-width: 40px;
	width: 3.12vw;
	max-height: 30px;
	height: 2.34vw;
	background-image: url(../../img/c_ic_arw_r_s_basicblue.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.member>a>div p {
	letter-spacing: 0.04em;
}

.member>a>div p:first-of-type {
	position: relative;
	padding-top: 18px;
}

.member>a>div p:first-of-type::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 30px;
	height: 3px;
	background: var(--color_pointgold);
}

.member>a>div p:last-of-type {
	margin-top: 20px;
}

/* 中間サイズ */
@media screen and (min-width: 769px) and (max-width: 1280px) {
	.member>a>div {
		max-width: calc(100% - 46.325% - 4.68vw);
		margin-bottom: 4.68vw;
		padding-top: 3.12vw;
	}

	.member>a>div::after {
		top: calc(100% + 2.34vw);
	}

	.member>a>div p:first-of-type {
		padding-top: 1.4vw;
	}

	.member>a>div p:first-of-type::before {
		width: 2.34vw;
		height: 0.23vw;
	}

	.member>a>div p:last-of-type {
		margin-top: 1.56vw;
	}

	.member .font18_14 {
		font-size: 1.4vw;
	}

	.member .font32_20 {
		font-size: 2.5vw;
	}

	.member::before {
		width: calc((100% - 87.813%) / 2 + 7.8vw);
	}

	.member>a>div {
		margin-bottom: 4.68vw;
	}
}

@media screen and (max-width: 768px) {
	.seniors {
		margin-top: 15.38vw;
	}

	.member::before {
		display: none;
	}

	.member:nth-of-type(2) {
		margin-top: 12.05vw;
	}

	.member:not(:nth-of-type(2)) {
		margin-top: 15.38vw;
	}

	.member>a {
		flex-direction: column;
		max-width: initial;
		width: 100%;
	}

	.member:nth-of-type(odd)>a {
		flex-flow: initial;
		flex-direction: column;
	}

	.member>a figure {
		position: relative;
		width: 100%;
	}

	.member>a figure::before {
		content: '';
		z-index: -1;
		position: absolute;
		left: 0;
		width: 50%;
		height: 100%;
		background: var(--color_bg_silver);
	}

	.member:nth-of-type(odd)>a figure::before {
		right: 0;
		left: initial;
	}

	.member>a>div {
		max-width: initial;
		width: 89.744%;
		margin: auto;
		padding: 6vw 0 18vw;
	}

	.member>a>div::after {
		top: initial;
		bottom: 6.15vw;
		max-width: initial;
		width: 7.69vw;
		max-height: initial;
		height: 5.89vw;
	}

	.member>a>div p:first-of-type {
		padding-top: 4.16vw;
	}

	.member>a>div p:first-of-type::before {
		width: 7.69vw;
		height: 0.76vw;
	}

	.member>a>div p:last-of-type {
		margin-top: 2.26vw;
	}
}

/*----------------------------------------
	ページ下部ボタン
-----------------------------------------*/

.seniors+div {
	display: grid;
	gap: 40px 5.303%;
	grid-template-columns: 1fr 1fr;
	justify-items: center;
	margin-top: 120px;
}

.seniors+div {
	color: var(--color_white);
}

@media screen and (min-width: 769px) {
	.btn-l {
		width: 100%;
	}
}

@media screen and (max-width: 768px) {
	.seniors+div {
		grid-template-columns: 1fr;
		gap: 5.16vw;
		margin-top: 18.66vw;
	}

	.btn-ic-arw::after {
		width: 6.15vw;
		height: 4.35vw;
		margin-left: 2vw;
	}
}
