/* ===== 働く ===== */

/* MV */
.page-mv--recruit::before { background-image: url(../images/recruit/mv-photo.webp); }
.page-mv--recruit .page-mv__bg::after { background-image: url(../images/recruit/mv-overlay.webp); }
@media (min-width: 768px) {
	/* 写真: 1440px幅で左200px。それより広い画面では右端に合わせる */
	.page-mv--recruit::before {
		top: -410px;
		left: max(calc(50% - 520px), calc(100% - 1240px));
		width: 1302px;
		height: 862px;
	}
	.page-mv--recruit .page-mv__bg::before {
		top: -49px;
		left: calc(50% - 738px);
		width: 1095px;
		background-image: linear-gradient(91.51deg, rgba(255, 255, 255, 0) 4.11%, #fff 21.09%, #fff 45.02%, rgba(255, 255, 255, 0) 98.61%);
	}
	.page-mv--recruit .page-mv__bg::after { top: -359px; left: -120px; }
	.page-mv--recruit .page-mv__inner { padding-top: 81px; }
}

/* 背景の写真・ぼかしを置くセクション共通 */
.recruit-day,
.recruit-cta {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.recruit-day::before,
.recruit-day::after,
.recruit-cta::before,
.recruit-cta::after,
.recruit-cta__inner::before {
	content: "";
	position: absolute;
	z-index: -1;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}

/* 数字で見る職場 */
.recruit-numbers {
	padding-bottom: 72px;
	background: var(--c-brown-light);
}
.recruit-numbers__list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px 34px;
	width: min(1002px, 100% - 40px);
	margin: 31px auto 0;
}
.recruit-numbers__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 178px;
	padding-top: 12px;
	border: 3px solid transparent;
	border-radius: 10px;
	background:
		linear-gradient(#fff, #fff) padding-box,
		linear-gradient(var(--c-pink-border), #f0e1cb) border-box;
	text-align: center;
}
.recruit-numbers__label {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-weight: 700;
	line-height: 28px;
}
.recruit-numbers__icon {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	height: 65px;
	margin-bottom: 1px;
}
.recruit-numbers__icon img { display: block; }
.recruit-numbers__value {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	margin-top: 6px;
	color: var(--c-red);
	white-space: nowrap;
}
.recruit-numbers__num {
	font-family: var(--f-serif);
	font-size: 35px;
	font-weight: 700;
	line-height: 32px;
}
.recruit-numbers__unit {
	margin-top: 7px;
	font-weight: 700;
	line-height: 28px;
}

/* 4つの担当ごとの、実際の一日です。 */
.recruit-day { padding-bottom: 69px; }
/* 写真: 1440px幅で左182px */
.recruit-day::before {
	top: 0;
	left: calc(50% - 538px);
	width: 1780px;
	height: 1258px;
	background-image: url(../images/recruit/day-bg.webp);
}
/* ぼかし2枚(1440px幅で左-190pxから幅762px、左330pxから幅761px) */
.recruit-day::after {
	top: 0;
	left: calc(50% - 910px);
	width: 1282px;
	height: 1258px;
	background-image:
		linear-gradient(95.7deg, #fff9fb 54.12%, rgba(255, 255, 255, 0) 91.22%),
		linear-gradient(264.29deg, #fff9fb 54.12%, rgba(255, 255, 255, 0) 91.22%);
	background-position: 520px 0, 0 0;
	background-size: 762px 100%, 763px 100%;
}
.recruit-day__lead {
	margin-top: -23px;
	color: #000;
}
.recruit-day__inner {
	width: min(1000px, 100% - 40px);
	margin: 60px auto 0;
}
.recruit-day__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.recruit-day__tabs[hidden],
.recruit-day__panel[hidden] { display: none; }
.recruit-day__tab {
	width: 131px;
	height: 47px;
	padding: 0;
	border: 2px solid var(--c-pink);
	border-radius: 5px;
	background: transparent;
	color: var(--c-pink-dark);
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	line-height: 28px;
	cursor: pointer;
	transition: background-color .2s, color .2s;
}
.recruit-day__tab:hover { background: var(--c-pink-light); }
.recruit-day__tab[aria-selected="true"] {
	background: var(--c-pink-dark);
	color: #fff;
}
.recruit-day__panel:focus-visible { outline: 3px solid #1a73e8; outline-offset: 2px; }
.recruit-day__panel + .recruit-day__panel { margin-top: 40px; }
.recruit-day__name {
	color: var(--c-brown);
	font-family: var(--f-serif);
	font-size: 22px;
	font-weight: 700;
	line-height: 32px;
}
/* タブ表示中は担当名をタブが兼ねるので、見出しは読み上げ用に残して隠す */
.is-tabs .recruit-day__name {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.recruit-day__list {
	position: relative;
	margin-top: 10px;
	padding: 35px 0 34px;
}
.is-tabs .recruit-day__list { margin-top: 46px; }
.recruit-day__list::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 54px;
	width: 9px;
	border-radius: 100px;
	background: linear-gradient(#f0e1cb, var(--c-pink-border));
}
.recruit-day__item {
	position: relative;
	display: grid;
	grid-template-columns: 83px 1fr;
}
.recruit-day__item + .recruit-day__item { margin-top: 35px; }
.recruit-day__item::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 53px;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: var(--c-pink-dark);
}
.recruit-day__time {
	color: var(--c-red);
	font-weight: 700;
	line-height: 28px;
}
.recruit-day__empty { margin-top: 10px; }
.is-tabs .recruit-day__empty { margin-top: 46px; }

/* 先輩の声 */
.recruit-voice { padding-bottom: 82px; }
.recruit-voice__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 48px 30px;
	width: min(1200px, 100% - 40px);
	margin: 5px auto 0;
}
.recruit-voice__photo {
	/* height: 320px;
	border-radius: 10px;
	background: #d9d9d9; */
}

.recruit-voice__photo img {
	width: 100%;
	height: 320px;
	object-fit: cover;
}

.recruit-voice__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin-top: 32px;
}
.recruit-voice__name {
	display: flex;
	align-items: flex-end;
	gap: 6px;
	color: var(--c-pink-dark);
	font-size: 16px;
	font-weight: 700;
	line-height: 28px;
}
.recruit-voice__name img { display: block; flex: none; width: 23px; }
.recruit-voice__years {
	width: 138px;
	height: 37px;
	padding-top: 3px;
	border-radius: 100px;
	background: linear-gradient(var(--c-pink-border), #f0e1cb);
	line-height: 32px;
	text-align: center;
}
.recruit-voice__text { margin-top: 13px; }

/* 募集要項 */
.recruit-req {
	padding-bottom: 93px;
	background: var(--c-brown-light);
}
.recruit-req__list {
	width: min(1004px, 100% - 40px);
	margin-inline: auto;
}
.recruit-req__row {
	display: grid;
	grid-template-columns: 95px 1fr;
	column-gap: 25px;
}
.recruit-req__row + .recruit-req__row { margin-top: 25px; }
.recruit-req__term {
	position: relative;
	height: 34px;
	color: var(--c-pink-dark);
	font-weight: 700;
	line-height: 28px;
	text-align: center;
}
.recruit-req__term::after {
	content: "";
	position: absolute;
	top: 30px;
	left: 2px;
	width: 93px;
	height: 4px;
	background: linear-gradient(var(--c-pink-border), #f0e1cb);
}

/* よくある質問 */
.recruit-faq {
	padding-bottom: 90px;
	background: rgba(251, 231, 231, .2);
}
.recruit-faq__list {
	width: min(997px, 100% - 40px);
	margin-inline: auto;
}
.recruit-faq__item + .recruit-faq__item { margin-top: 50px; }
.recruit-faq__summary {
	display: flex;
	align-items: center;
	gap: 15px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--c-pink-border);
	list-style: none;
	cursor: pointer;
}
.recruit-faq__summary::-webkit-details-marker { display: none; }
.recruit-faq__q {
	display: grid;
	place-items: center;
	flex: none;
	width: 58px;
	height: 58px;
	padding-top: 2px;
	border: 3px solid transparent;
	border-radius: 50%;
	background:
		linear-gradient(#fefafa, #fefafa) padding-box,
		linear-gradient(var(--c-pink-border), #f0e1cb) border-box;
	color: var(--c-pink-dark);
	font-family: var(--f-serif);
	font-size: 25px;
	font-weight: 700;
	line-height: 32px;
}
.recruit-faq__question {
	font-size: 16px;
	font-weight: 700;
	line-height: 28px;
}
.recruit-faq__answer { margin-top: 9px; }

/* 「まず見てみたい」も、歓迎です。(ページ内のエントリー先 #entry) */
.recruit-cta {
	padding: 120px 0 92px;
	background: #fff;
}
/* 写真: 1440px幅で左-258px。それより広い画面では左端に合わせる */
.recruit-cta::before {
	top: -158px;
	left: min(calc(50% - 978px), -258px);
	width: 1084px;
	height: 718px;
	background-image: url(../images/recruit/cta-photo.webp);
}
/* 光の玉: 1440px幅で左634px。それより広い画面では右端に合わせる */
.recruit-cta__inner::before {
	top: -7px;
	left: max(calc(50% - 86px), calc(100% - 806px));
	width: 1000px;
	height: 595px;
	background-image: url(../images/recruit/cta-bokeh.webp);
	mix-blend-mode: multiply;
}
.recruit-cta::after {
	top: -21px;
	left: calc(50% - 536px);
	width: 886px;
	height: 405px;
	background-image: linear-gradient(274.89deg, rgba(249, 245, 237, .473) 24.83%, #f9f5ed 50.8%, rgba(251, 248, 242, .703) 64.7%, rgba(255, 255, 255, 0) 83.82%);
}
.recruit-cta__inner {
	width: min(1200px, 100% - 40px);
	margin-inline: auto;
	padding-left: 476px;
}
.recruit-cta__title {
	font-family: var(--f-serif);
	font-size: 30px;
	font-weight: 700;
	line-height: 32px;
}
.recruit-cta__text { margin-top: 20px; }
.recruit-cta__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 32px;
	margin-top: 20px;
}
.recruit-cta__button {
	display: inline-flex;
	align-items: center;
	gap: 33px;
	height: 58px;
	padding: 0 19px 0 40px;
	border: 1px solid #fff;
	border-radius: 5px;
	background: linear-gradient(#ad8838, #d5ba8e);
	filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .25));
	color: #fff;
	font-weight: 700;
	line-height: 28px;
	text-decoration: none;
	white-space: nowrap;
	transition: opacity .2s;
}
.recruit-cta__button:hover { opacity: .85; }
.recruit-cta__button img { flex: none; }
.recruit-cta__tel {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 10px;
}
.recruit-cta__tel img { flex: none; }
.recruit-cta__tel-num {
	font-size: 20px;
	font-weight: 700;
	line-height: 45px;
	text-decoration: none;
	white-space: nowrap;
}
.recruit-cta__tel-num:hover { text-decoration: underline; }

/* ===== タブレット ===== */
@media (max-width: 1199px) {
	/* 文字が折り返してセクションが高くなるので、写真を拡大して下端まで届かせ、ぼかしは下端まで伸ばす */
	.recruit-cta::before { width: 1208px; height: 800px; }
	.recruit-cta::after,
	.recruit-cta__inner::before { right: 0; bottom: 0; width: auto; height: auto; }
	.recruit-cta__inner::before { left: 30%; }
	.recruit-cta__inner { padding-left: max(0px, calc(100% - 640px)); }
}

@media (max-width: 1023px) {
	.recruit-numbers__list { grid-template-columns: repeat(2, 1fr); width: min(484px, 100% - 40px); }
	.recruit-voice__list { grid-template-columns: 1fr; width: min(620px, 100% - 40px); }
	.recruit-voice__photo { height: auto; aspect-ratio: 585 / 320; }
	.recruit-cta::after { left: 0; width: 100%; height: 100%; top: 0; background-image: linear-gradient(90deg, rgba(249, 245, 237, .55), rgba(249, 245, 237, .92) 45%, rgba(249, 245, 237, .92)); }
}

/* ===== スマホ ===== */
@media (max-width: 767px) {
	.recruit-numbers { padding-bottom: 56px; }
	.recruit-numbers__list { gap: 12px; margin-top: 0; }
	.recruit-numbers__item { height: auto; padding: 8px 4px 16px; }
	.recruit-numbers__icon { height: 56px; }
	.recruit-numbers__icon img { width: auto; max-height: 48px; }
	.recruit-numbers__num { font-size: 30px; }
	.recruit-day { padding-bottom: 56px; }
	.recruit-day::before { left: auto; right: -900px; }
	.recruit-day::after { left: 0; width: 100%; background: rgba(255, 249, 251, .85); }
	.recruit-day__lead { margin-top: 0; }
	.recruit-day__inner { margin-top: 32px; }
	.recruit-day__tabs { display: grid; grid-template-columns: repeat(2, 1fr); }
	.recruit-day__tab { width: auto; }
	.is-tabs .recruit-day__list,
	.is-tabs .recruit-day__empty { margin-top: 24px; }
	.recruit-day__list { padding: 24px 0; }
	.recruit-day__list::before { left: 50px; width: 7px; }
	.recruit-day__item { grid-template-columns: 74px 1fr; }
	.recruit-day__item + .recruit-day__item { margin-top: 20px; }
	.recruit-day__item::before { left: 48px; }
	.recruit-day__text { line-height: 1.8; padding-top: 1px; }
	.recruit-voice { padding-bottom: 56px; }
	.recruit-voice__list { row-gap: 40px; margin-top: 0; }
	.recruit-voice__meta { margin-top: 20px; }
	.recruit-voice__text { margin-top: 10px; }
	.recruit-req { padding-bottom: 56px; }
	.recruit-req__row { grid-template-columns: 1fr; }
	.recruit-req__row + .recruit-req__row { margin-top: 20px; }
	.recruit-req__term { width: 95px; }
	.recruit-req__desc { margin-top: 6px; }
	.recruit-faq { padding-bottom: 56px; }
	.recruit-faq__item + .recruit-faq__item { margin-top: 32px; }
	.recruit-faq__summary { gap: 12px; }
	.recruit-faq__q { width: 46px; height: 46px; font-size: 22px; }
	.recruit-faq__question { line-height: 1.6; }
	.recruit-cta { padding: 56px 0; }
	.recruit-cta::before { content: none; }
	.recruit-cta__inner::before { left: 0; width: 100%; height: 100%; top: 0; }
	.recruit-cta__inner { padding-left: 0; }
	.recruit-cta__title { font-size: 24px; line-height: 1.5; }
	.recruit-cta__actions { flex-direction: column; align-items: flex-start; }
}


@media (min-width: 1550px) {
	.page-mv--recruit .page-mv__bg::before {
		left: 15%;
	}
}

@media (min-width: 1700px) {
	.page-mv--recruit .page-mv__bg::before {
		left: 20%;
	}
}