@charset "UTF-8";
/* ==========================================================================
   page-recruit.css ── 採用情報
   値は Figma の recruit_PC（2016:39778）／recruit_SP（2016:39913）＝2026-09-30 デザイナー修正版のもの
   ========================================================================== */

/* ---- 1. Message ---- */
.pw-rmsg { padding: 0 var(--pw-gutter) 76px; background: var(--pw-color-bg); }
.pw-rmsg__hero { width: calc(100% + var(--pw-gutter) * 2); margin-inline: calc(var(--pw-gutter) * -1); aspect-ratio: 1440 / 516; overflow: hidden; background: var(--pw-color-placeholder); }
.pw-rmsg__hero img { width: 100%; height: 100%; object-fit: cover; }
.pw-rmsg__inner { display: flex; justify-content: space-between; align-items: flex-start; gap: 72px; width: min(920px, 100%); margin: 98px auto 0; }
.pw-rmsg__ttl { flex: none; width: 390px; font-size: 26px; font-weight: 500; line-height: 47px; color: var(--pw-color-primary); }
.pw-rmsg__text { flex: 1 1 0; min-width: 0; max-width: 460px; font-size: 16px; line-height: 29px; }
.pw-rmsg__text p + p { margin-top: 29px; }

/* ---- 2. Our Philosophy ---- */
.pw-rphilo { padding: 56px var(--pw-gutter) 56px; background: var(--pw-color-bg-green10); }
.pw-rphilo__heading { width: min(364px, 100%); margin-inline: auto; }
.pw-rphilo__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; width: min(1056px, 100%); margin: 40px auto 0; }
.pw-rphilo__card { display: flex; flex-direction: column; align-items: center; padding: 24px 32px; background: var(--pw-color-white); border-radius: 4px; }
.pw-rphilo__num { align-self: flex-start; font-family: var(--pw-font-en); font-size: 24px; line-height: 29px; color: var(--pw-color-primary); }
.pw-rphilo__icon { display: flex; justify-content: center; align-items: center; height: 132px; margin-top: 8px; }
.pw-rphilo__icon img { max-height: 116px; width: auto; }
.pw-rphilo__ttl { margin-top: 8px; font-size: 18px; font-weight: 500; line-height: 32px; text-align: center; color: var(--pw-color-primary); }
.pw-rphilo__desc { margin-top: 8px; font-size: 16px; line-height: 29px; }

/* ---- 3. Ideal Person ---- */
.pw-rideal { padding: 56px var(--pw-gutter); background: var(--pw-color-bg); }
.pw-rideal__heading { width: min(364px, 100%); margin-inline: auto; }
.pw-rideal__list { margin-top: 48px; }

/* ---- 4. From Owner ---- */
.pw-rowner { padding: 56px 0 72px; background: var(--pw-color-bg); overflow: hidden; }
.pw-rowner__inner { width: min(920px, 100% - var(--pw-gutter) * 2); margin-inline: auto; }
.pw-rowner__heading { width: min(156px, 100%); margin-inline: auto; }
.pw-rowner__body { display: flex; align-items: flex-start; gap: 64px; margin-top: 40px; }
.pw-rowner__profile { flex: none; width: 285px; }
.pw-rowner__photo { width: 220px; aspect-ratio: 1; margin-inline: auto; overflow: hidden; border-radius: 50%; background: var(--pw-color-placeholder); }
.pw-rowner__photo img { width: 100%; height: 100%; object-fit: cover; }
.pw-rowner__box { margin-top: -16px; padding: 4px 24px; background: #F5F6E9; border-radius: 8px; }   /* 肩書と名前の枠（Figma 285×84・写真の下端に 16 重なる） */
.pw-rowner__role { color: var(--pw-color-text); }
.pw-rowner__name { display: flex; align-items: flex-end; gap: 16px; margin-top: 4px; font-size: 26px; line-height: 47px; }
.pw-rowner__en { padding-bottom: 7px; font-size: 16px; line-height: 24px; color: var(--pw-color-primary); }
.pw-rowner__text { flex: 1 1 0; min-width: 0; padding-top: 28px; font-size: 16px; line-height: 29px; }
.pw-rowner__text p + p { margin-top: 29px; }
/* 4枚の写真（画面いっぱい・互い違い） */
.pw-rowner__photos { position: relative; height: 379px; margin-top: 72px; }
.pw-rowner__pic { position: absolute; overflow: hidden; border-radius: 8px; background: var(--pw-color-placeholder); }   /* Figma：マスクの角丸 8 */
.pw-rowner__pic img { width: 100%; height: 100%; object-fit: cover; }
.pw-rowner__pic--1 { left: 0; top: 38px; width: calc(332.6 * var(--pw-unit)); height: calc(282 * var(--pw-unit)); }
.pw-rowner__pic--2 { left: calc(373.1 * var(--pw-unit)); top: 141px; width: calc(326.7 * var(--pw-unit)); height: calc(238 * var(--pw-unit)); }
.pw-rowner__pic--3 { left: calc(740.3 * var(--pw-unit)); top: 0; width: calc(332.6 * var(--pw-unit)); height: calc(282 * var(--pw-unit)); }
.pw-rowner__pic--4 { left: calc(1113.3 * var(--pw-unit)); top: 141px; width: calc(326.7 * var(--pw-unit)); height: calc(238 * var(--pw-unit)); }

/* ---- 5. Job & Schedule ---- */
.pw-rjob { padding: 64px var(--pw-gutter); background: var(--pw-color-bg); }
.pw-rjob__heading { width: min(364px, 100%); margin-inline: auto; }
.pw-rjob__body { display: flex; flex-direction: column; gap: 48px; width: min(922px, 100%); margin: 56px auto 0; }
.pw-rjob__row { display: flex; align-items: flex-start; gap: 140px; }
.pw-rjob__ttl { flex: none; width: 136px; height: 47px; padding: 0 16px 0 14px; font-size: 26px; font-weight: 500; line-height: 47px; border-left: 2px solid var(--pw-color-primary); }   /* Figma：左の縦線 2px だけ（individualStrokeWeights left 2・枠は無い） */
.pw-rjob__list { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.pw-rjob__list--2col { display: grid; grid-template-columns: 326.9px minmax(0, 1fr); gap: 16px 24px; }   /* Figma：326.9＋24＋294.9 */
.pw-rjob__list--2col li { padding-right: 0; white-space: nowrap; }   /* 文字が枠の幅ぎりぎり（Figma で 1px の余り）なので折り返さない */
.pw-rjob__list li { position: relative; min-height: 51px; padding: 10px 8px 10px 46.9px; font-size: 16px; line-height: 29px; background: var(--pw-color-white); border: 1px solid var(--pw-color-border); border-radius: 4px; }
.pw-rjob__list li::before { content: ""; position: absolute; left: 8px; top: 11px; width: 30.9px; height: 28px; background: url(../img/contact/we_accept.svg) no-repeat center / 19px 16px; }
.pw-rjob__list:not(.pw-rjob__list--2col) li { display: flex; align-items: center; min-height: 69.2px; padding: 5px 8px 5px 46.9px; }   /* Figma：1行でも 69.2 */
.pw-rjob__list:not(.pw-rjob__list--2col) li::before { top: 50%; margin-top: -14px; }

/* ---- 6. Work Style ---- */
.pw-rwork { padding: 56px var(--pw-gutter) 88px; background: var(--pw-color-bg); overflow: hidden; }
.pw-rwork__inner { width: min(1074px, 100%); margin-inline: auto; }
.pw-rwork__headwrap { position: relative; display: flex; flex-direction: column; align-items: center; }
.pw-rwork__bgword { align-self: stretch; text-align: center; color: var(--pw-color-bg-green10); }
.pw-rwork__heading { position: relative; width: min(364px, 100%); margin-top: -80px; }
.pw-rwork__cards { display: grid; grid-template-columns: 194px 208px 348px 240px; justify-content: space-between; gap: 27px; margin-top: 32px; }
.pw-rwork__card { padding: 16px 24px; text-align: center; background: var(--pw-color-bg-yellowgreen); border-radius: 8px; }
.pw-rwork__label { font-size: 18px; font-weight: 500; line-height: 32px; }
.pw-rwork__value { margin-top: 8px; font-size: 20px; line-height: 36px; color: var(--pw-color-primary); }
.pw-rwork__value--mid { margin-top: 19px; }
.pw-rwork__note { font-size: 12px; line-height: 22px; }

/* ---- 7. Apply ---- */
.pw-rapply { padding: 104px var(--pw-gutter); background: var(--pw-color-bg-green10); }
.pw-rapply__box { width: min(920px, 100%); margin-inline: auto; padding: 32px 88px 56px; background: var(--pw-color-white); border-radius: 8px; }
.pw-rapply__heading { width: min(364px, 100%); margin-inline: auto; }
.pw-rapply__list { margin-top: 48px; }
.pw-rapply__note { margin-top: 24px; }
.pw-rapply__note-ttl { font-size: 16px; font-weight: 500; line-height: 29px; color: var(--pw-color-primary); }
.pw-rapply__note .pw-mnote__text { margin-top: 10px; font-size: 14px; }
.pw-rapply__btn { display: flex; justify-content: center; margin-top: 32px; }

/* ==========================================================================
   タブレット（768〜1024px）
   ========================================================================== */
@media (min-width: 768px) and (max-width: 1024px) {
	.pw-rmsg__inner { flex-direction: column; gap: 24px; }
	.pw-rmsg__ttl { width: 100%; }
	.pw-rmsg__text { max-width: none; }
	.pw-rphilo__cards { grid-template-columns: minmax(0, 1fr); }
	.pw-rowner__body { gap: 32px; }
	.pw-rowner__photos { height: calc(379 * var(--pw-unit) * 1.4); }
	.pw-rjob__row { gap: 40px; }
	.pw-rwork__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.pw-rapply__box { padding: 32px 40px 48px; }
}

/* ==========================================================================
   SP（767px 以下）
   ========================================================================== */
@media (max-width: 767px) {
	.pw-rmsg { padding: 0 20px 64px; }
	.pw-rmsg__hero { width: calc(100% + 40px); margin-inline: -20px; aspect-ratio: 375 / 420; }
	.pw-rmsg__inner { flex-direction: column; gap: 24px; margin-top: 92px; }
	.pw-rmsg__ttl { width: 100%; font-size: 20px; line-height: 36px; }
	.pw-rmsg__text { max-width: none; }
	.pw-rphilo { padding: 72px 11.5px 72px; }
	.pw-rphilo__heading { width: 100%; }
	.pw-rphilo__cards { grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 32px; }
	.pw-rideal { padding: 56px 12px; }
	.pw-rideal__heading { width: 100%; }
	.pw-rideal__list { margin-top: 32px; padding: 31px 15px; }
	.pw-rowner { padding: 56px 0 56px; }
	.pw-rowner__inner { width: 100%; padding-inline: 20px; }
	.pw-rowner__body { flex-direction: column; align-items: center; gap: 24px; margin-top: 32px; }
	.pw-rowner__profile { width: 100%; align-self: stretch; }
	.pw-rowner__role, .pw-rowner__name { text-align: center; justify-content: center; }
	.pw-rowner__box { width: 251px; margin: 24px auto 0; padding: 4px 16px; }   /* Figma SP：251×73 */
	.pw-rowner__name { gap: 16px; font-size: 20px; line-height: 36px; }   /* SP は名前と英字が横並び（219 幅） */
	.pw-rowner__en { padding-bottom: 6px; }
	.pw-rowner__text { padding-top: 0; }
	.pw-rowner__photos { height: 381px; margin-top: 32px; }   /* Figma：4枚を 2列に互い違い（−21〜375） */
	.pw-rowner__pic--1 { left: -9px; top: 0; width: 188px; height: 160px; }
	.pw-rowner__pic--2 { left: 191px; top: 93px; width: 184px; height: 134px; }
	.pw-rowner__pic--3 { left: -21px; top: 184px; width: 188px; height: 160px; }
	.pw-rowner__pic--4 { left: 183px; top: 247px; width: 184px; height: 134px; }
	.pw-rjob { padding: 40px 20px 56px; }
	.pw-rjob__heading { width: 100%; }
	.pw-rjob__body { gap: 32px; margin-top: 32px; }
	.pw-rjob__row { flex-direction: column; gap: 16px; }
	.pw-rjob__ttl { width: 112px; height: 36px; padding: 0; font-size: 20px; line-height: 34px; }
	.pw-rjob__list--2col { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.pw-rjob__list--2col li { padding-right: 8px; white-space: normal; }
	.pw-rjob__list:not(.pw-rjob__list--2col) li { min-height: 60.7px; }
	.pw-rwork { padding: 40px 20px 56px; }
	.pw-rwork__heading { margin-top: -40px; }
	.pw-rwork__cards { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 36px; }
	.pw-rwork__value--mid { margin-top: 8px; margin-inline: -7px; white-space: nowrap; }   /* Figma：文字の箱 300 が 287 をはみ出す */
	.pw-rapply { padding: 56px 12px; }
	.pw-rapply__box { padding: 32px 16px; }
	.pw-rapply__heading { width: 100%; }
	.pw-rapply__list { margin-top: 48px; }
	.pw-rapply__note { margin-top: 24px; }
	.pw-rapply__btn { margin-top: 24px; }
	.pw-rapply__btn .pw-btn { display: flex; width: 100%; }
}
