/* ==========================================================================
   採用情報（リニューアル） — Figma「リニューアル 採用情報」(285:25219 / 285:25380 / 285:25541) を実装
   基準: PC は 944px コンテナ（1080/1280 共通）、SP は 375px 基準・左右 24px（画面幅に追従）
   ========================================================================== */
:root {
	--rc-red: #CF1B1B;
	--rc-ink: #23232C;
	--rc-gray: #62626D;
	--rc-line: #DDDDE0;
	--rc-off: #F7F7F4;
	--rc-white: #FFFFFF;
	--rc-muted: #BABAC4;
	--rc-rule: #51515C;
	--rc-jp: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;
	--rc-en: "Archivo", "Helvetica Neue", Arial, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
.rc-body { margin: 0; font-family: var(--rc-jp); color: var(--rc-ink); background: var(--rc-white); -webkit-font-smoothing: antialiased; line-height: 1.7; }
/* リセットは :where() で詳度ゼロにし、各コンポーネントのクラス指定が常に勝つようにする */
:where(.rc-body) img { display: block; max-width: 100%; height: auto; }
:where(.rc-body) a { color: inherit; text-decoration: none; }
:where(.rc-body) :is(p, ul, ol, h1, h2, h3, figure, dl, dd) { margin: 0; padding: 0; }
:where(.rc-body) :is(ul, ol) { list-style: none; }
.rc-container { width: 100%; max-width: 944px; margin: 0 auto; padding: 0 24px; }
.rc-en { font-family: var(--rc-en); }
.rc-pc-only { display: none; }
.rc-sp-only { display: inline; }
[id] { scroll-margin-top: 24px; }

/* ボタン */
.rc-btn { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 58px; padding: 0 20px; font-size: 14px; font-weight: 700; line-height: 1; white-space: nowrap; transition: opacity .2s; }
.rc-btn:hover { opacity: .85; }
.rc-btn--red { background: var(--rc-red); color: var(--rc-white); }
.rc-btn--outline { background: var(--rc-white); color: var(--rc-ink); border: 1px solid var(--rc-line); }
.rc-btn--ghost { background: transparent; color: var(--rc-white); border: 1px solid var(--rc-gray); height: 54px; padding: 0 18px; }
.rc-arrow { flex: none; }

/* ヘッダー */
.rc-header { background: var(--rc-white); border-bottom: 1px solid var(--rc-line); }
.rc-header__in { max-width: 944px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: auto 1fr auto; grid-template-areas: "logo label contact" "nav nav nav"; align-items: center; column-gap: 18px; }
.rc-header__logo { grid-area: logo; display: block; padding: 20px 0 0; position: relative; }
.rc-header__logo img { width: 99px; height: auto; }
.rc-header__logo-sub { display: none; }
.rc-header__label { grid-area: label; font-family: var(--rc-en); font-size: 12px; font-weight: 700; letter-spacing: .04em; padding-top: 4px; }
.rc-header__contact { grid-area: contact; height: 40px; padding: 0 10px; font-size: 12px; gap: 0; margin-top: 17px; }
.rc-header__contact .rc-arrow { display: none; }
.rc-header__nav { grid-area: nav; display: flex; align-items: center; gap: 44px; height: 54px; margin-top: 13px; font-size: 12.5px; font-weight: 700; position: relative; }
.rc-header__nav .is-current { color: var(--rc-red); }
.rc-header__search { margin-left: auto; display: flex; align-items: center; }
.rc-header::after { content: ""; display: block; }
.rc-header__in::before { content: ""; grid-area: nav; height: 3px; width: 99px; background: var(--rc-red); align-self: start; margin-top: -1px; }

/* ヒーロー */
.rc-hero { padding: 41px 0 0; }
.rc-hero__label { color: var(--rc-red); font-size: 12px; font-weight: 700; letter-spacing: .02em; }
.rc-hero__label span { margin: 0 8px; }
.rc-hero__title { margin-top: 22px; font-weight: 700; line-height: 1.25; }
.rc-hero__title-top { display: block; font-size: 35px; letter-spacing: .02em; }
.rc-hero__title-em { display: block; margin-top: 8px; font-size: 52px; color: var(--rc-red); line-height: 1.2; }
.rc-hero__lead { margin-top: 15px; color: var(--rc-gray); font-size: 15px; line-height: 1.85; }
.rc-hero__actions { margin-top: 36px; display: flex; flex-direction: column; gap: 12px; }
.rc-hero__photo { position: relative; margin-top: 38px; height: 282px; overflow: hidden; border-left: 3px solid var(--rc-red); }
.rc-hero__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rc-hero__photo-pc { display: none; }
.rc-hero__caption { margin-top: 18px; }
.rc-hero__team { font-family: var(--rc-en); font-size: 12px; font-weight: 700; }
.rc-hero__intro { margin-top: 22px; color: var(--rc-gray); font-size: 14px; line-height: 1.85; padding-bottom: 42px; }

/* ページ内ナビ */
.rc-pagenav { background: var(--rc-ink); color: var(--rc-white); }
.rc-pagenav ul { display: grid; grid-template-columns: 1fr 1fr; row-gap: 14px; padding: 18px 0 20px; }
.rc-pagenav a { display: block; }
.rc-pagenav__en { display: block; font-family: var(--rc-en); font-size: 11px; font-weight: 700; white-space: pre; }
.rc-pagenav__jp { display: block; font-size: 11px; color: var(--rc-muted); margin-top: 6px; }

/* セクション共通 */
.rc-section { padding: 48px 0 56px; }
.rc-people { padding-bottom: 31px; }
.rc-work { padding-bottom: 95px; }
.rc-culture { padding-bottom: 81px; }
.rc-insta { padding-bottom: 64px; }
.rc-inside { padding-bottom: 76px; }
.rc-heading { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 14px; border-bottom: 1px solid var(--rc-line); position: relative; }
.rc-heading::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 48px; height: 2px; background: var(--rc-red); }
.rc-heading__en { font-family: var(--rc-en); font-size: 30px; font-weight: 700; line-height: 1.05; letter-spacing: -.01em; }
.rc-heading__no { font-family: var(--rc-en); font-size: 26px; font-weight: 700; color: var(--rc-red); line-height: 1.1; }
.rc-title { margin-top: 36px; font-size: 27px; font-weight: 700; line-height: 1.5; letter-spacing: .02em; }
.rc-title--work { font-size: 29px; }
.rc-work .rc-lead { margin-top: 8px; }
.rc-lead { margin-top: 20px; color: var(--rc-gray); font-size: 15px; line-height: 1.9; }

/* PEOPLE */
.rc-people__grid { margin-top: 36px; display: grid; gap: 6px; }
.rc-people__item img { width: 100%; height: 252px; object-fit: cover; }
.rc-people__ttl { margin-top: 17px; font-size: 18px; font-weight: 700; line-height: 1.5; }
.rc-people__txt { margin-top: 10px; color: var(--rc-gray); font-size: 14px; line-height: 1.9; }

/* WORKPLACE */
.rc-work { background: var(--rc-off); }
.rc-work__photos { margin-top: 27px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.rc-work__main { grid-column: 1 / -1; width: 100%; height: 248px; object-fit: cover; }
.rc-work__sub { width: 100%; height: 140px; object-fit: cover; }
.rc-work__office { margin-top: 24px; color: var(--rc-red); font-family: var(--rc-en); font-size: 12px; font-weight: 700; }
.rc-work__desc { margin-top: 12px; color: var(--rc-gray); font-size: 14px; line-height: 1.9; }
.rc-work__access { margin-top: 34px; padding-top: 24px; border-top: 1px solid var(--rc-line); }
.rc-work__address { font-size: 14px; font-weight: 700; line-height: 1.8; }
.rc-work__hours { margin-top: 12px; color: var(--rc-gray); font-size: 13px; }
.rc-work__hours span { margin: 0 8px; }

/* CULTURE & SUPPORT */
.rc-culture__values { margin-top: 44px; display: grid; gap: 28px; }
.rc-culture__values li { border-top: 2px solid var(--rc-red); padding-top: 20px; }
.rc-culture__no { display: block; color: var(--rc-red); font-family: var(--rc-en); font-size: 12px; font-weight: 700; }
.rc-culture__ttl { margin-top: 8px; font-size: 25px; font-weight: 700; line-height: 1.4; }
.rc-culture__txt { margin-top: 14px; color: var(--rc-gray); font-size: 14px; line-height: 1.9; }
.rc-support { margin-top: 46px; background: var(--rc-ink); color: var(--rc-white); padding: 23px 24px 39px; }
.rc-support__label { font-family: var(--rc-en); font-size: 12px; font-weight: 700; }
.rc-support__cols { margin-top: 20px; display: grid; gap: 28px; }
.rc-support__ttl { font-size: 18px; font-weight: 700; }
.rc-support__txt { margin-top: 12px; color: var(--rc-muted); font-size: 13px; line-height: 1.9; }
.rc-culture__note { margin-top: 20px; color: var(--rc-gray); font-size: 12px; line-height: 1.8; }

/* INSTAGRAM */
.rc-insta__account { display: inline-block; margin-top: 16px; color: var(--rc-gray); font-size: 13px; font-weight: 700; }
.rc-insta__account span { margin-left: 6px; }
.rc-insta__grid { margin: 28px auto 0; max-width: 944px; padding: 0 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.rc-insta__grid a { display: block; position: relative; aspect-ratio: 1 / 1; overflow: hidden; }
.rc-insta__grid img { width: 100%; height: 100%; object-fit: cover; }
.rc-play { position: absolute; left: 50%; top: 50%; width: 46px; height: 46px; margin: -23px 0 0 -23px; border-radius: 50%; background: rgba(255,255,255,.7); }
.rc-play::after { content: ""; position: absolute; left: 50%; top: 50%; margin: -8px 0 0 -5px; border-style: solid; border-width: 8px 0 8px 14px; border-color: transparent transparent transparent var(--rc-ink); }
.rc-insta__more { margin-top: 36px; }
.rc-insta__more .rc-btn { width: 100%; }

/* INSIDE iXlab */
.rc-inside { background: var(--rc-off); }
.rc-inside__grid { margin-top: 43px; display: grid; gap: 28px; }
.rc-card { background: var(--rc-white); padding: 24px 22px 22px; }
.rc-card__ch { font-family: var(--rc-en); font-size: 26px; font-weight: 700; line-height: 1.3; }
.rc-card__sub { margin-top: 10px; color: var(--rc-gray); font-size: 12px; }
.rc-card__sub span { margin-left: 4px; }
.rc-card__thumbs { margin-top: 20px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.rc-card__thumbs img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.rc-card__txt { margin-top: 20px; color: var(--rc-gray); font-size: 14px; line-height: 1.85; }
.rc-card__btn { margin-top: 43px; height: 52px; }
.rc-card__articles { margin-top: 7px; }
.rc-card__articles + .rc-card__btn { margin-top: 27px; }
.rc-card__articles li { border-bottom: 1px solid var(--rc-line); }
.rc-card__articles a { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "date arrow" "ttl arrow"; align-items: center; column-gap: 16px; padding: 15px 0 14px; }
.rc-card__date { grid-area: date; font-family: var(--rc-en); font-size: 11px; font-weight: 700; color: var(--rc-gray); }
.rc-card__ttl { grid-area: ttl; margin-top: 8px; font-size: 16px; font-weight: 700; line-height: 1.65; }
.rc-card__articles .rc-arrow { grid-area: arrow; }

/* RECRUIT */
.rc-recruit { background: var(--rc-ink); color: var(--rc-white); padding-bottom: 78px; }
.rc-recruit__band { background: var(--rc-red); padding: 22px 0; }
.rc-recruit__band p { font-family: var(--rc-en); font-size: 29px; font-weight: 700; line-height: 1.15; }
.rc-recruit__title { margin-top: 40px; font-size: 30px; font-weight: 700; line-height: 1.45; letter-spacing: .02em; }
.rc-recruit__lead { margin-top: 22px; color: var(--rc-muted); font-size: 15px; line-height: 1.9; }
.rc-recruit__cards { margin-top: 50px; display: grid; gap: 28px; }
.rc-rcard--ent .rc-rcard__ttl { font-size: 22px; }
.rc-rcard--ent .rc-rcard__lead { margin-top: 23px; }
.rc-rcard { min-width: 0; background: var(--rc-white); color: var(--rc-ink); border-top: 4px solid var(--rc-red); padding: 27px 24px 24px; display: flex; flex-direction: column; }
.rc-rcard__en { color: var(--rc-red); font-family: var(--rc-en); font-size: 12px; font-weight: 700; }
.rc-rcard__tag { margin-top: 18px; color: var(--rc-gray); font-size: 12px; font-weight: 700; }
.rc-rcard__ttl { margin-top: 22px; font-size: 30px; font-weight: 700; line-height: 1.3; }
.rc-rcard__lead { margin-top: 12px; font-size: 20px; font-weight: 700; line-height: 1.6; }
.rc-rcard__txt { margin-top: 20px; color: var(--rc-gray); font-size: 14px; line-height: 1.9; }
.rc-rcard__btn { margin-top: 60px; white-space: normal; line-height: 1.5; gap: 8px; }
.rc-career { margin-top: 56px; padding-top: 44px; border-top: 1px solid var(--rc-rule); }
.rc-career__label { color: var(--rc-muted); font-family: var(--rc-en); font-size: 12px; font-weight: 700; }
.rc-career__ttl { margin-top: 12px; font-size: 16px; font-weight: 700; }
.rc-career__links { margin-top: 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.rc-career__all { grid-column: 1 / -1; }
.rc-hero--career .rc-hero__intro { padding-bottom: 48px; }

/* フッター */
.rc-footer { background: var(--rc-ink); color: var(--rc-white); }
.rc-footer__in { max-width: 944px; margin: 0 auto; padding: 0 24px; border-top: 1px solid var(--rc-rule); }
.rc-footer__top { padding-top: 40px; }
.rc-footer__logo img { width: 120px; height: 32px; }
.rc-footer__links { margin-top: 32px; display: grid; grid-template-columns: 1fr 1fr; row-gap: 26px; column-gap: 30px; font-size: 14px; font-weight: 700; }
.rc-footer__contact { margin-top: 28px; width: 100%; }
.rc-footer__info { margin-top: 53px; display: grid; grid-template-columns: 1fr auto; grid-template-areas: "company company" "tel mark" "insta mark"; grid-template-rows: auto 26px auto; column-gap: 16px; align-items: start; }
.rc-footer__company { grid-area: company; color: var(--rc-muted); font-size: 12px; line-height: 1.8; }
.rc-footer__tel { grid-area: tel; margin-top: 20px; color: var(--rc-white); font-weight: 700; }
.rc-footer__company .rc-footer__tel { color: var(--rc-white); }
.rc-footer__insta { grid-area: insta; margin-top: 0; font-size: 12px; font-weight: 700; }
.rc-footer__pmark { grid-area: mark; margin-top: 0; align-self: start; }
.rc-footer__pmark img { width: 96px; height: 96px; }
.rc-footer__copy { margin-top: 17px; padding: 24px 0; border-top: 1px solid var(--rc-rule); color: var(--rc-muted); font-size: 12px; }

/* ==========================================================================
   PC（768px〜）: 944px コンテナ
   ========================================================================== */
@media screen and (min-width: 768px) {
	.rc-pc-only { display: inline; }
	.rc-sp-only { display: none; }
	.rc-container { padding: 0; width: calc(100% - 48px); }
	.rc-btn { padding: 0 20px 0 24px; }
	.rc-btn--ghost { padding: 0 18px; }

	/* ヘッダー */
	.rc-header__in { width: calc(100% - 48px); padding: 0; height: 86px; grid-template-columns: auto auto 1fr auto; grid-template-areas: "logo label nav contact"; column-gap: 0; }
	.rc-header__logo { padding: 0; height: 86px; display: flex; flex-direction: column; justify-content: center; }
	.rc-header__logo-sub { display: block; margin-top: 6px; font-size: 9.5px; font-weight: 700; letter-spacing: .28em; color: var(--rc-gray); line-height: 1.3; }
	.rc-header__in::before { grid-area: logo; align-self: end; margin: 0; height: 3px; width: 99px; }
	.rc-header__label { margin-left: 33px; padding: 0; }
	.rc-header__nav { justify-self: end; height: auto; margin: 0 0 0 auto; gap: 48px; font-size: 14px; padding-right: 48px; }
	.rc-header__search { margin-left: 4px; }
	.rc-header__contact { height: 58px; width: 186px; padding: 0 20px 0 24px; font-size: 14px; margin: 0; gap: 16px; }
	.rc-header__contact .rc-arrow { display: block; }

	/* ヒーロー */
	.rc-hero { padding-top: 48px; }
	.rc-hero__title { margin-top: 29px; }
	.rc-hero__title-em { margin-top: 8px; }
	.rc-hero__title-top { font-size: 64px; line-height: 1.3; }
	.rc-hero__title-em { font-size: 88px; line-height: 1.2; }
	.rc-hero__lead { margin-top: 12px; font-size: 16px; line-height: 1.85; }
	.rc-hero__actions { flex-direction: row; gap: 16px; margin-top: 32px; }
	.rc-hero__btn { width: 274px; }
	.rc-hero__btn.rc-btn--outline { width: 310px; }
	.rc-hero__photo { margin-top: 45px; height: 314px; }
	.rc-hero__photo-sp { display: none; }
	.rc-hero__photo-pc { display: block; }
	.rc-hero__caption { margin-top: 16px; display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 44px; }
	.rc-hero__intro { margin: 0; padding: 0; padding-right: 168px; font-size: 14px; }

	/* ページ内ナビ */
	.rc-pagenav ul { grid-template-columns: repeat(4, 1fr); padding: 23px 0 22px; }
	.rc-pagenav__en { font-size: 12px; }
	.rc-pagenav__jp { margin-top: 4px; }

	/* セクション共通 */
	.rc-section { padding: 60px 0 72px; }
	.rc-people { padding-bottom: 52px; }
	.rc-work { padding-bottom: 95px; }
	.rc-culture { padding-bottom: 40px; }
	.rc-insta { padding-bottom: 67px; }
	.rc-inside { padding-bottom: 50px; }
	.rc-heading { padding-bottom: 12px; }
	.rc-heading__en { font-size: 40px; }
	.rc-heading__no { font-size: 34px; }
	.rc-title { margin-top: 37px; font-size: 34px; }
	.rc-lead, .rc-work .rc-lead { margin-top: 22px; }
	.rc-heading { align-items: flex-start; }
	.rc-heading__no { margin-top: 2px; }

	/* PEOPLE */
	.rc-people__grid { margin-top: 44px; grid-template-columns: 1fr 1fr; gap: 28px; }
	.rc-people__item img { height: 286px; }
	.rc-people__ttl { margin-top: 20px; font-size: 21px; }

	/* WORKPLACE */
	.rc-title--work { font-size: 36px; }
	.rc-work__photos { margin-top: 40px; grid-template-columns: 604px 1fr; grid-template-rows: 171px 171px; gap: 24px; }
	.rc-work__main { grid-column: 1; grid-row: 1 / 3; height: 366px; }
	.rc-work__sub { height: 171px; }
	.rc-work__office { margin-top: 26px; }
	.rc-work__detail { display: grid; grid-template-columns: 1fr 1fr; column-gap: 34px; align-items: start; }
	.rc-work__desc { margin-top: 20px; font-size: 15px; line-height: 1.8; }
	.rc-work__access { margin-top: 20px; padding-top: 0; border-top: 0; }
	.rc-work__address { font-size: 14px; }
	.rc-work__hours { margin-top: 6px; }

	/* CULTURE */
	.rc-culture .rc-title { font-size: 36px; }
	.rc-culture__values { margin-top: 44px; grid-template-columns: repeat(3, 1fr); gap: 28px; }
	.rc-culture__ttl { font-size: 28px; }
	.rc-support { margin-top: 111px; padding: 23px 24px 58px; }
	.rc-support__cols { grid-template-columns: 1fr 1fr; column-gap: 62px; }
	.rc-culture__note { margin-top: 28px; }

	/* INSTAGRAM */
	.rc-insta__grid { max-width: none; padding: 0; grid-template-columns: repeat(6, 1fr); gap: 16px; }
	.rc-insta__more { margin-top: 46px; display: flex; justify-content: flex-end; }
	.rc-insta__more .rc-btn { width: 254px; }

	/* INSIDE */
	.rc-inside__grid { margin-top: 50px; grid-template-columns: 1fr 1fr; gap: 28px; }
	.rc-card { padding: 24px 22px 22px; }
	.rc-card__btn { margin-top: 28px; }
	.rc-card__articles { margin-top: 8px; }
	.rc-card__articles a { padding: 22px 0 20px; }
	.rc-card__articles + .rc-card__btn { margin-top: 28px; }

	/* RECRUIT */
	.rc-recruit__band { padding: 25px 0; }
	.rc-recruit__band p { font-size: 43px; }
	.rc-recruit__title { margin-top: 52px; font-size: 40px; }
	.rc-recruit { padding-bottom: 97px; }
	.rc-recruit__cards { margin-top: 40px; grid-template-columns: 1fr 1fr; gap: 28px; }
	.rc-rcard { padding: 31px 24px 24px; }
	.rc-rcard__ttl { margin-top: 32px; font-size: 34px; }
	.rc-rcard--ent .rc-rcard__lead { margin-top: 20px; }
	.rc-rcard__lead { font-size: 25px; }
	.rc-rcard--ent .rc-rcard__ttl { font-size: 28px; }
	.rc-rcard__txt { margin-top: 21px; }
	.rc-rcard__btn { margin-top: auto; padding-top: 0; }
	.rc-rcard__txt { margin-bottom: 44px; }
	.rc-career { margin-top: 60px; padding-top: 32px; display: grid; grid-template-columns: 1fr auto; align-items: center; }
	.rc-career__links { margin-top: 0; grid-template-columns: 213px 213px; gap: 12px; }
	.rc-career__links:has(.rc-career__all) { grid-template-columns: 150px 150px auto; }
	.rc-career__all { grid-column: auto; }

	/* フッター */
	.rc-footer__in { width: calc(100% - 48px); padding: 0; }
	.rc-footer__top { padding-top: 44px; display: grid; grid-template-columns: 210px 1fr auto; align-items: start; }
	.rc-footer__links { margin: 4px 0 0; display: grid; grid-template-columns: repeat(3, minmax(116px, auto)); row-gap: 24px; column-gap: 24px; }
	.rc-footer__links-sub { white-space: nowrap; }
	.rc-footer__links-sub { font-size: 12px; font-weight: 700; color: var(--rc-muted); }
	.rc-footer__contact { margin: 0; width: 190px; height: 54px; }
	.rc-footer__info { margin-top: 34px; grid-template-columns: 1fr auto auto; grid-template-areas: "company insta mark"; grid-template-rows: auto; column-gap: 56px; align-items: start; }
	.rc-footer__insta { margin-top: 58px; }
	.rc-footer__pmark { margin-top: -22px; }
	.rc-footer__insta { margin: 0; }
	.rc-footer__pmark { margin: 0; }
	.rc-footer__copy { margin-top: 40px; }
}

/* ==========================================================================
   新卒採用トップ（Figma 17:2 / 34:2 / 28:4） — prefix: rs-
   ========================================================================== */
.rs-container { width: 100%; max-width: 944px; margin: 0 auto; padding: 0 24px; }
.rs-pc-only { display: none; }
.rs-sp-only { display: inline; }
.rs-btn { display: flex; align-items: center; justify-content: center; height: 56px; padding: 0 16px; font-size: 14px; font-weight: 700; line-height: 1; white-space: nowrap; transition: opacity .2s; }
.rs-btn:hover { opacity: .85; }
.rs-btn--red { background: var(--rc-red); color: var(--rc-white); }
.rs-btn--outline { background: transparent; color: var(--rc-ink); border: 1px solid var(--rc-ink); }
.rs-btn--white { background: var(--rc-white); color: var(--rc-red); }
.rs-btn--arrow { justify-content: space-between; gap: 16px; padding: 0 20px 0 24px; }
.rs-btn--arrow::before { content: ""; width: 20px; }
.rs-btn--arrow.rs-btn--outline, .rs-btn--arrow.rs-btn--white { min-width: max-content; }
.rs-btn--arrow .rc-arrow { width: 20px; height: 12px; flex: none; }
.rs-cta .rs-btn--white { background: transparent; color: var(--rc-white); border: 1px solid var(--rc-white); }

/* ヘッダー（新卒） */
.rs-header { background: var(--rc-white); border-bottom: 1px solid #E8E8E3; }
.rs-header__in { max-width: 944px; margin: 0 auto; padding: 0 24px; height: 74px; display: grid; grid-template-columns: 92px minmax(48px, 1fr) 122px; align-items: center; }
.rs-header__logo { position: relative; display: flex; flex-direction: column; justify-content: center; height: 100%; }
.rs-header__logo img { width: 92px; height: auto; }
.rs-header__logo::after { content: ""; position: absolute; left: 0; bottom: 0; width: 92px; height: 3px; background: var(--rc-red); }
.rs-header__logo-sub { display: none; }
.rs-header__requirements { justify-self: center; display: flex; align-items: center; min-height: 44px; white-space: nowrap; font-size: 12px; font-weight: 700; }
.rs-header__nav { display: none; }
.rs-header__entry { margin-left: auto; display: flex; align-items: center; justify-content: center; width: 122px; height: 42px; background: var(--rc-red); color: var(--rc-white); font-size: 12.5px; font-weight: 700; }

/* FV */
.rs-fv { padding: 40px 0 0; }
.rs-fv__label { color: var(--rc-red); font-size: 12px; font-weight: 700; letter-spacing: .02em; white-space: pre; }
.rs-fv__title { margin-top: 58px; font-weight: 700; color: var(--rc-ink); line-height: 1.25; }
.rs-fv__word { font-size: 84px; color: var(--rc-red); letter-spacing: -.01em; margin-left: -4px; }
.rs-fv__wo { font-size: 36px; }
.rs-fv__line2 { display: block; margin-top: 32px; font-size: 35px; line-height: 1.4; }
.rs-fv__lead { margin-top: 11px; color: #55555F; font-size: 14px; line-height: 1.9; }
.rs-fv__bar { display: block; width: 44px; height: 2px; background: var(--rc-red); margin-top: 40px; }
.rs-fv__actions { margin-top: 28px; display: flex; flex-direction: column; gap: 18px; }
.rs-fv__foot { margin-top: 37px; padding-top: 24px; border-top: 1px solid #DEDEE1; display: flex; justify-content: space-between; align-items: baseline; font-family: var(--rc-en); font-weight: 700; font-size: 10px; padding-bottom: 28px; }

/* 募集概要 */
.rs-summary { background: var(--rc-ink); color: var(--rc-white); padding: 40px 0 44px; }
.rs-summary__list { display: grid; gap: 28px; }
.rs-summary__list dt { color: #C3C3CB; font-size: 12px; line-height: 1.85; }
.rs-summary__list dd { margin: 0; }
.rs-summary__list strong { display: block; font-size: 19px; font-weight: 700; line-height: 1.85; }
.rs-summary__list small { display: block; margin-top: 4px; color: #DBDBE1; font-size: 12px; line-height: 1.85; }
.rs-summary__salary { font-size: 27px !important; }

/* 章共通 */
.rs-section { padding: 20px 0 56px; }
.rs-values { padding-bottom: 40px; }
.rs-values .rs-card { padding-bottom: 18px; }
.rs-why .rs-card { padding-bottom: 76px; }
.rs-real__list { margin-top: 15px; }
.rs-numbers { padding-bottom: 32px; }
.rs-info { padding-bottom: 86px; }
.rs-chapter { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 12px; border-bottom: 1px solid #E8E8E3; position: relative; }
.rs-chapter::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 38px; height: 3px; background: var(--rc-red); }
.rs-chapter__en { font-family: var(--rc-en); font-size: 26px; font-weight: 700; line-height: 1; }
.rs-chapter__no { font-family: var(--rc-en); font-size: 30px; font-weight: 700; line-height: 1; color: var(--rc-red); }
.rs-real .rs-chapter { border-bottom-color: #55555D; }
.rs-label { margin-top: 42px; color: var(--rc-red); font-size: 12px; font-weight: 700; line-height: 1.85; white-space: pre; }
.rs-label--pink { color: #FF7979; }
.rs-title { margin-top: 12px; font-size: 26px; font-weight: 700; line-height: 1.85; }
.rs-lead { margin-top: 20px; font-size: 14.5px; line-height: 1.85; color: var(--rc-ink); }
.rs-text { font-size: 14.5px; line-height: 1.85; }
.rs-h3 { margin-top: 65px; font-size: 21px; font-weight: 700; line-height: 1.85; }
.rs-h4 { margin-top: 16px; font-size: 16px; font-weight: 700; line-height: 1.85; }
.rs-note { font-size: 12.5px; line-height: 1.85; }

/* カード */
.rs-cards { display: grid; gap: 16px; }
.rs-card { position: relative; background: #F8F8F5; padding: 20px 18px 35px; border-top: 1px solid #D4D4D0; }
.rs-card::before { content: ""; position: absolute; left: 0; top: -1px; width: 32px; height: 3px; background: var(--rc-red); }
.rs-values .rs-card { background: var(--rc-white); }
.rs-card__no { display: block; font-family: var(--rc-en); font-size: 12px; font-weight: 700; color: var(--rc-red); line-height: 1.85; }
.rs-card__ttl { margin-top: 8px; font-size: 19px; font-weight: 700; line-height: 1.85; }
.rs-card__ttl--s { font-size: 18px; }
.rs-card__txt { margin-top: 15px; font-size: 13px; line-height: 1.85; }
.rs-business .rs-cards, .rs-why .rs-cards { margin-top: 38px; }
.rs-values .rs-cards { margin-top: 16px; }
.rs-why .rs-card { padding-bottom: 22px; }

/* 数字 */
.rs-stats { margin-top: 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 32px 12px; }
.rs-stats li { position: relative; padding-top: 12px; border-top: 1px solid #D4D4D0; }
.rs-stats li::before { content: ""; position: absolute; left: 0; top: -1px; width: 32px; height: 3px; background: var(--rc-red); }
.rs-stats__label { display: block; color: var(--rc-gray); font-size: 11.5px; line-height: 1.85; }
.rs-stats__num { display: block; font-size: 28px; font-weight: 700; color: var(--rc-red); line-height: 1.85; }
.rs-stats__num small { font-size: 28px; }

/* 事業 */
.rs-market { margin-top: 35px; }
.rs-market__box { background: #F8F8F5; padding: 20px 18px; }
.rs-market__label { font-size: 13px; line-height: 1.85; }
.rs-market__num { margin-top: 11px; font-size: 19px; font-weight: 700; line-height: 1.85; }
.rs-market__src { margin-top: 15px; font-size: 13px; line-height: 1.85; }
.rs-market__ttl { margin-top: 16px; font-size: 20px; font-weight: 700; line-height: 1.85; }
.rs-market__desc { margin-top: 16px; font-size: 14.5px; line-height: 1.85; }
.rs-sales { margin-top: 16px; padding-top: 22px; border-top: 1px solid #E9E9E9; }
.rs-sales__ttl { font-size: 17px; font-weight: 700; line-height: 1.85; }
.rs-sales__list { margin-top: 7px; display: grid; gap: 12px; }
.rs-sales__list li { display: grid; grid-template-columns: 166px 1fr; align-items: baseline; }
.rs-sales__list span { color: var(--rc-gray); font-size: 14px; }
.rs-sales__list strong { font-size: 24px; font-weight: 700; color: var(--rc-red); line-height: 1.85; }
.rs-sales__history { margin-top: 25px; font-size: 13px; line-height: 1.85; }

/* 求める人 */
.rs-values { background: #F8F8F5; }
.rs-vision { margin-top: 28px; background: var(--rc-ink); color: var(--rc-white); padding: 20px 18px 22px; }
.rs-vision__label { color: #CBCBD2; font-size: 11px; font-weight: 700; line-height: 1.85; }
.rs-vision__txt { margin-top: 8px; font-size: 22px; font-weight: 700; line-height: 1.85; }
.rs-mission__label { margin-top: 31px; color: var(--rc-red); font-size: 11.5px; font-weight: 700; }
.rs-mission__txt { margin-top: 18px; font-size: 16px; font-weight: 700; line-height: 1.85; }
.rs-skills { margin-top: 26px; border-top: 1px solid #E9E9E9; }
.rs-values .rs-h3 { margin-top: 0; }
.rs-growth { padding-bottom: 134px; }
.rs-real { padding-bottom: 73px; }
.rs-skills li { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: baseline; padding: 26px 0 20px; border-bottom: 1px solid #E9E9E9; }
.rs-skills__txt { grid-column: 1 / -1; }
.rs-skills__no { font-family: var(--rc-en); color: var(--rc-ink); font-size: 16px; font-weight: 700; line-height: 1.85; }
.rs-skills__ttl { font-size: 18px; font-weight: 700; line-height: 1.85; }
.rs-skills__txt { margin-top: 8px; font-size: 14.5px; line-height: 1.85; }
.rs-support { margin-top: 0; background: var(--rc-ink); color: var(--rc-white); padding: 20px 18px 24px; display: flex; flex-direction: column-reverse; gap: 12px; }
.rs-support__ttl { font-size: 19px; font-weight: 700; line-height: 1.85; }
.rs-support__txt { font-size: 13px; line-height: 1.85; }
.rs-values__btn { margin-top: 22px; height: 52px; }

/* 成長環境 */
.rs-steps { margin-top: 16px; border-top: 1px solid #E9E9E9; }
.rs-steps li { padding: 22px 0 20px; border-bottom: 1px solid #E9E9E9; }
.rs-steps__period { font-family: var(--rc-en); color: var(--rc-red); font-weight: 700; font-size: 24px; line-height: 1.85; }
.rs-steps__period small { font-family: var(--rc-jp); font-size: 24px; }
.rs-steps__ttl { margin-top: 16px; font-size: 19px; font-weight: 700; line-height: 1.85; }
.rs-steps__txt { margin-top: 16px; font-size: 14.5px; line-height: 1.85; }
.rs-mentor { margin-top: 1px; background: #F8F8F5; padding: 20px 18px 30px; display: flex; flex-direction: column-reverse; gap: 61px; }
.rs-mentor__ttl { font-size: 19px; font-weight: 700; line-height: 1.85; }
.rs-mentor__txt { font-size: 13px; line-height: 1.85; }
.rs-growth__after { margin-top: 16px; font-size: 14px; }
.rs-training { margin-top: 16px; display: grid; gap: 16px; }
.rs-training__box { background: #F8F8F5; padding: 20px 18px 30px; }
.rs-training__ttl { font-size: 19px; font-weight: 700; line-height: 1.85; }
.rs-training__terms { margin-top: 12px; font-size: 15px; font-weight: 700; line-height: 1.85; }
.rs-training__txt { margin-top: 12px; font-size: 13px; line-height: 1.85; }
.rs-growth__note { margin-top: 16px; }

/* 3つの理由 */
.rs-why { background: #F8F8F5; }
.rs-why .rs-card { background: #F8F8F5; }
.rs-card__no--l { font-size: 13px; }
.rs-card__txt--l { font-size: 13px; }
.rs-photo { position: relative; border-left: 4px solid var(--rc-red); }
.rs-photo img { width: 100%; height: 100%; object-fit: cover; }
.rs-photo__tag { position: absolute; left: 0; bottom: 0; background: var(--rc-ink); color: var(--rc-white); font-family: var(--rc-en); font-size: 11px; font-weight: 700; padding: 8px 14px; line-height: 1; }
.rs-why__photo { margin-top: 16px; height: 114px; }

/* 正直な話 */
.rs-real { background: var(--rc-ink); color: var(--rc-white); }
.rs-real__list { display: grid; }
.rs-real__list li { padding: 25px 0 21px; border-top: 1px solid #53535D; }
.rs-real__ttl { font-size: 19px; font-weight: 700; line-height: 1.85; }
.rs-real__txt { margin-top: 8px; color: #DBDBE1; font-size: 14.5px; line-height: 1.85; }

/* 給与・働き方 */
.rs-salary { margin-top: 32px; }
.rs-salary__ttl { font-size: 14px; font-weight: 700; line-height: 1.85; }
.rs-salary__num { margin-top: 8px; font-family: var(--rc-en); font-size: 44px; font-weight: 700; color: var(--rc-red); line-height: 1.85; }
.rs-salary__num small { font-family: var(--rc-jp); font-size: 44px; }
.rs-salary__detail { margin-top: 16px; }
.rs-salary__detail .rs-salary__ttl { font-size: 16px; }
.rs-salary__rows { margin-top: 8px; }
.rs-salary__rows div { padding: 10px 0; }
.rs-salary__rows dt { color: var(--rc-gray); font-size: 13px; line-height: 1.85; }
.rs-salary__rows dd { margin: 0; font-size: 19px; font-weight: 700; line-height: 1.85; }
.rs-salary__note { margin-top: 16px; font-size: 12.5px; line-height: 1.85; }
.rs-stats--ink { margin-top: 24px; padding-top: 32px; border-top: 1px solid #E9E9E9; }
.rs-work { margin-top: 44px; display: grid; gap: 16px; }
.rs-work__box { background: #F8F8F5; padding: 20px 18px 41px; }
.rs-work__label { font-size: 13px; line-height: 1.85; }
.rs-work__num { margin-top: 4px; font-size: 19px; font-weight: 700; line-height: 1.85; }
.rs-work__num small { display: block; font-size: 13px; font-weight: 400; margin: 18px 0 0; }
.rs-work__year { margin-top: 17px; font-size: 13px; line-height: 1.85; }
.rs-company__ttl { margin-top: 0; padding-top: 9px; border-top: 1px solid #E9E9E9; }
.rs-numbers .rs-table { margin-top: 0; }
.rs-numbers .rs-table div { padding: 18px 0 16px; }
.rs-table { margin-top: 16px; border-top: 1px solid #E9E9E9; }
.rs-table div { padding: 20px 0 18px; border-bottom: 1px solid #E9E9E9; }
.rs-table dt { font-size: 12px; font-weight: 700; color: var(--rc-gray); line-height: 1.85; }
.rs-table dd { margin: 8px 0 0; font-size: 14px; line-height: 1.85; }

/* 代表メッセージ */
.rs-message { background: #F8F8F5; }
.rs-message__body { margin-top: 22px; }
.rs-message__photo { width: 220px; height: 330px; margin: 0 auto; }
.rs-message__quote { margin-top: 20px; font-size: 19px; font-weight: 700; line-height: 1.85; }
.rs-message__name { margin-top: 24px; display: flex; flex-direction: column; gap: 17px; }
.rs-message__name span { font-size: 12px; }
.rs-message__name strong { font-size: 23px; font-weight: 700; }
.rs-culture { margin-top: 16px; padding-top: 22px; border-top: 1px solid #E9E9E9; }
.rs-culture__ttl { font-size: 21px; font-weight: 700; line-height: 1.85; }
.rs-culture__txt { margin-top: 16px; font-size: 14.5px; line-height: 1.85; }
.rs-culture__ttl2 { margin-top: 34px; font-size: 21px; font-weight: 700; line-height: 1.85; }
.rs-name { margin-top: 16px; }
.rs-name li { padding: 22px 0 16px; border-top: 1px solid #E9E9E9; }
.rs-name__word { display: block; font-family: var(--rc-en); font-size: 32px; font-weight: 700; color: var(--rc-red); line-height: 1.85; }
.rs-name p { margin-top: 12px; font-size: 14.5px; line-height: 1.85; }

/* 募集要項 */
.rs-req { margin-top: 29px; }
.rs-req div { padding: 22px 0 20px; }
.rs-req div:nth-child(6) { padding-bottom: 53px; }
.rs-req dt { font-size: 14px; color: var(--rc-ink); }
.rs-req dd { margin-top: 10px; font-size: 14.5px; }
.rs-req__salary { background: #F8F8F5; padding: 20px 18px 70px !important; border-bottom: 0 !important; }
.rs-req__salary dt { font-size: 13px; }
.rs-req__salary strong { display: block; margin-top: 16px; color: var(--rc-red); font-size: 26px; font-weight: 700; line-height: 1.85; }
.rs-req__salary span { display: block; margin-top: 16px; font-size: 13px; line-height: 1.85; }
.rs-flow__heading { margin-top: 18px; }
.rs-flow { margin-top: 38px; display: grid; }
.rs-flow li { display: grid; grid-template-columns: 52px 1fr; grid-template-areas: "no ttl" "no sub"; padding: 14px 0; }
.rs-flow__no { grid-area: no; font-family: var(--rc-en); font-size: 18px; font-weight: 700; color: var(--rc-red); line-height: 1.85; }
.rs-flow__ttl { grid-area: ttl; font-size: 14.5px; font-weight: 700; line-height: 1.85; }
.rs-flow__sub { grid-area: sub; color: var(--rc-gray); font-size: 11.5px; line-height: 1.85; }

/* 会社説明会 */
.rs-seminar { background: #F5F5F7; padding: 32px 0 40px; }
.rs-seminar__label { font-family: var(--rc-en); color: #D61518; font-size: 13px; font-weight: 700; }
.rs-seminar__ttl { margin-top: 14px; font-size: 24px; font-weight: 700; line-height: 1.5; color: #25252D; }
.rs-seminar__txt { margin-top: 12px; color: #5E5E69; font-size: 15px; line-height: 1.73; }
.rs-btn--seminar { margin-top: 28px; background: #D61518; color: var(--rc-white); justify-content: space-between; padding: 0 18px 0 24px; font-size: 15px; }
.rs-btn--seminar span { font-size: 18px; font-weight: 400; }

/* CTA */
.rs-cta { background: var(--rc-ink); color: var(--rc-white); padding-bottom: 34px; }
.rs-cta__band { background: var(--rc-red); padding: 24px 0; }
.rs-cta__band p { font-family: var(--rc-en); font-size: 30px; font-weight: 700; line-height: 1; display: flex; justify-content: space-between; align-items: center; }
.rs-cta__band-arrow { width: 28px; height: 17px; }
.rs-cta__in { padding-top: 40px; display: flex; flex-direction: column-reverse; }
.rs-cta__photo { height: 228px; }
.rs-cta__ttl { margin-top: 20px; font-size: 27px; font-weight: 700; line-height: 1.85; }
.rs-cta__sub { margin-top: 16px; font-size: 14px; }
.rs-cta__actions { margin-top: 16px; display: flex; flex-direction: column; gap: 14px; }
.rs-cta__actions .rs-btn { height: 52px; font-size: 15px; }

/* 共通ナビ・フッター（新卒） */
.rs-menu { background: #F6F5F3; padding: 26px 0 43px; }
.rs-menu__label { font-family: var(--rc-en); color: var(--rc-red); font-size: 12px; font-weight: 700; line-height: 1.7; }
.rs-menu__list { margin-top: 10px; }
.rs-menu__list a { display: flex; justify-content: space-between; align-items: center; height: 60px; padding: 4px 0; border-bottom: 1px solid #DFDDDA; color: #191919; font-size: 15px; font-weight: 700; }
.rs-menu__list a span { color: var(--rc-red); font-size: 18px; font-weight: 400; }
/* Figma Footer: PC 178px / SP 286px。プライバシーマークは常に100×100px。 */
.rs-footer { background: #23232C; color: #FFFFFF; padding: 12px 0; }
.rs-footer .rs-container { display: grid; grid-template-columns: 1fr 100px; grid-template-areas: "logo mark" "links links" "copy copy"; column-gap: 20px; align-items: start; }
.rs-footer__logo { grid-area: logo; width: 120px; margin-top: 10px; }
.rs-footer__logo img { width: 120px; height: auto; }
.rs-footer__links { grid-area: links; margin-top: 12px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; font-size: 13px; font-weight: 700; line-height: 22px; }
.rs-footer__links a { color: #FFFFFF; }
.rs-footer__pmark { grid-area: mark; width: 100px; height: 100px; background: #FFFFFF; }
.rs-footer__pmark img { width: 100px; height: 100px; max-width: none; object-fit: contain; }
.rs-footer__copy { grid-area: copy; margin-top: 18px; padding-top: 13px; border-top: 1px solid #53535D; color: #BABAC1; font-size: 12px; font-weight: 400; line-height: 20px; }
.rs-footer a:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 4px; }

@media screen and (min-width: 1024px) {
	.rs-footer { padding-top: 16px; }
	.rs-footer .rs-container { grid-template-columns: 120px minmax(0, 1fr) 100px; grid-template-areas: "logo links mark" "copy copy copy"; column-gap: 64px; }
	.rs-footer__logo { margin-top: 12px; }
	.rs-footer__links { margin: 8px 0 0; width: 100%; max-width: 530px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 4px; font-size: 14px; }
	.rs-footer__copy { margin-top: 10px; padding-top: 19px; }
}

@media screen and (min-width: 768px) {
	.rs-pc-only { display: inline; }
	.rs-sp-only { display: none; }
	.rs-container { padding: 0; width: calc(100% - 48px); }

	.rs-header__in { width: calc(100% - 48px); padding: 0; height: 86px; display: flex; gap: 0; }
	.rs-header__requirements { display: none; }
	.rs-header__logo img { width: 99px; height: auto; }
	.rs-header__logo::after { width: 99px; }
	.rs-header__logo-sub { display: block; margin-top: 4px; font-size: 9.5px; font-weight: 700; color: var(--rc-gray); letter-spacing: .1em; line-height: 1.3; }
	.rs-header__nav { display: flex; gap: 24px; margin-left: 173px; font-size: 12.5px; font-weight: 700; }
	.rs-header__entry { width: 156px; height: 58px; font-size: 15px; }

	.rs-fv { padding-top: 92px; }
	.rs-fv .rs-container { position: relative; }
	.rs-fv__label { font-size: 13px; padding-left: 24px; }
	.rs-fv__title { margin-top: 75px; padding-left: 16px; }
	.rs-fv__word { font-size: 132px; line-height: 1.2; }
	.rs-fv__wo { font-size: 62px; margin-left: 4px; }
	.rs-fv__line2 { margin-top: 20px; font-size: 62px; line-height: 1.3; padding-left: 5px; }
	.rs-fv__lead { position: absolute; left: 502px; top: 474px; width: 438px; margin: 0; font-size: 15px; }
	.rs-fv__bar { width: 60px; margin: 56px 0 0 26px; }
	.rs-fv__actions { flex-direction: column; gap: 20px; margin: 65px 0 0 26px; }
	.rs-fv__actions .rs-btn { width: 240px; }
	.rs-fv__foot { margin: 111px 0 0 24px; width: 896px; padding-top: 22px; font-size: 14px; padding-bottom: 34px; }

	/* Figma: labels at 40px, values at 76px, notes at 126px; 27px below the salary note. */
	.rs-summary { padding: 40px 0 27px; min-height: 210px; }
	.rs-summary__list { grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: 16px; }
	.rs-summary__list dt { font-size: 11.5px; font-weight: 700; color: #BEBEC6; line-height: 18px; }
	.rs-summary__list strong { margin-top: 18px; min-height: 35px; font-size: 20px; line-height: 30px; }
	.rs-summary__list small { margin-top: 15px; font-size: 11.5px; color: #D1D1D7; line-height: 19px; }
	.rs-summary__salary { font-size: 23px !important; line-height: 35px !important; }

	.rs-section { padding: 25px 0 100px; }
	.rs-business { padding-top: 40px; padding-bottom: 61px; }
	.rs-business .rs-h3 { margin-top: 75px; }
	.rs-values .rs-h3 { margin-top: 62px; }
	.rs-numbers { padding-bottom: 85px; }
	.rs-growth { padding-bottom: 88px; }
	.rs-why { padding-bottom: 60px; }
	.rs-real { padding-bottom: 48px; }
	.rs-message { padding-bottom: 150px; }
	.rs-info { padding-bottom: 61px; }
	.rs-values { padding-bottom: 39px; }
	.rs-chapter { padding-bottom: 16px; }
	.rs-chapter::after { width: 64px; }
	.rs-chapter__en { font-size: 46px; }
	.rs-chapter__no { font-size: 54px; }
	.rs-label { margin-top: 64px; font-size: 13px; line-height: 1.5; }
	.rs-title { margin-top: 22px; font-size: 34px; line-height: 1.5; }
	.rs-lead { margin-top: 26px; font-size: 16px; line-height: 1.9; color: var(--rc-gray); }
	.rs-text { font-size: 15px; line-height: 1.9; color: var(--rc-gray); }
	.rs-h3 { margin-top: 60px; font-size: 24px; line-height: 1.5; }
	.rs-h4 { margin-top: 32px; font-size: 14px; line-height: 1.5; }
	.rs-note { font-size: 13px; line-height: 1.8; color: var(--rc-gray); }

	.rs-cards--3 { grid-template-columns: repeat(3, 1fr); gap: 16px; }
	.rs-cards--5 { grid-template-columns: repeat(5, 1fr); gap: 16px; }
	.rs-card { padding: 20px 24px 22px; }
	.rs-card__no { font-size: 13px; line-height: 1.5; }
	.rs-card__ttl { margin-top: 16px; font-size: 23px; line-height: 1.5; }
	.rs-card__ttl--s { font-size: 17px; line-height: 1.6; }
	.rs-card__txt { margin-top: 20px; font-size: 14px; color: var(--rc-gray); line-height: 1.6; }
	.rs-business .rs-cards { margin-top: 22px; }
	.rs-values .rs-cards { margin-top: 16px; }
	.rs-values .rs-card { padding: 16px 18px 24px; }
	.rs-why .rs-cards { margin-top: 52px; }
	.rs-why .rs-card { background: var(--rc-white); border-top: 3px solid var(--rc-red); padding: 22px 24px 26px; }
	.rs-why .rs-card::before { display: none; }
	.rs-card__no--l { font-size: 15px; }
	.rs-card__ttl { line-height: 1.5; }
	.rs-card__txt--l { margin-top: 19px; font-size: 15px; line-height: 1.75; }

	.rs-stats { margin-top: 61px; padding-top: 28px; border-top: 1px solid #E9E9E9; grid-template-columns: repeat(4, 1fr); gap: 0; }
	.rs-stats li { padding-top: 0; border-top: 0; }
	.rs-stats li::before { display: none; }
	.rs-stats__label { font-size: 11.5px; line-height: 1.5; }
	.rs-stats__num { margin-top: 14px; font-family: var(--rc-en); font-size: 48px; line-height: 1.25; }
	.rs-stats__num small { font-family: var(--rc-jp); font-size: 16px; color: var(--rc-ink); margin-left: 8px; }
	.rs-stats--ink { padding-top: 34px; }
	.rs-stats--ink .rs-stats__num { font-size: 46px; color: var(--rc-ink); }
	.rs-stats--ink .rs-stats__label { font-size: 12px; }

	.rs-market { margin-top: 34px; display: grid; grid-template-columns: 300px 1fr; column-gap: 38px; align-items: start; }
	.rs-market__box { padding: 22px 22px 22px; }
	.rs-market__label { font-size: 12px; color: var(--rc-gray); line-height: 1.5; }
	.rs-market__num { margin-top: 25px; font-size: 42px; color: var(--rc-red); line-height: 1.3; }
	.rs-market__src { margin-top: 16px; font-size: 11px; color: var(--rc-gray); line-height: 1.5; }
	.rs-market__ttl { margin-top: 5px; font-size: 23px; line-height: 1.55; }
	.rs-market__desc { margin-top: 20px; font-size: 15px; line-height: 1.8; color: var(--rc-gray); }
	.rs-sales { margin-top: 26px; padding-top: 28px; }
	.rs-sales__ttl { font-size: 14px; line-height: 1.5; }
	.rs-sales__list { margin-top: 24px; grid-template-columns: repeat(5, 1fr); gap: 0; }
	.rs-sales__list li { display: block; }
	.rs-sales__list span { font-size: 12px; }
	.rs-sales__list strong { display: block; margin-top: 12px; font-family: var(--rc-en); font-size: 27px; color: var(--rc-ink); line-height: 1.4; }
	.rs-sales__list .is-latest strong { color: var(--rc-red); }
	.rs-sales__history { margin-top: 38px; font-size: 14px; color: var(--rc-gray); }

	.rs-vision { margin-top: 46px; padding: 17px 24px 22px; }
	.rs-vision__label { font-size: 12px; line-height: 1.5; }
	.rs-vision__txt { margin-top: 12px; font-size: 26px; line-height: 1.5; }
	.rs-mission__label { margin-top: 32px; font-size: 12px; }
	.rs-mission__txt { margin-top: 15px; font-size: 18px; line-height: 1.8; }
	.rs-skills { margin-top: 20px; }
	.rs-skills li { grid-template-columns: 77px 1fr; padding: 19px 0 20px; }
	.rs-skills__no { font-size: 22px; line-height: 1.5; color: var(--rc-red); }
	.rs-skills__ttl { font-size: 19px; line-height: 1.5; }
	.rs-skills__txt { margin-top: 6px; font-size: 14px; line-height: 1.7; color: var(--rc-gray); }
	.rs-support { margin-top: 17px; flex-direction: row; gap: 28px; padding: 34px 28px; align-items: start; }
	.rs-support__ttl { flex: 0 0 414px; font-size: 24px; line-height: 1.6; }
	.rs-support__txt { font-size: 14px; line-height: 1.9; }
	.rs-values__btn { margin-top: 28px; width: 260px; height: 58px; font-size: 15px; padding: 0 20px 0 24px; }
	.rs-values__btn::before { width: 0; }

	.rs-steps { margin-top: 44px; }
	.rs-steps li { display: grid; grid-template-columns: 162px 280px 1fr; grid-template-areas: "period ttl txt"; padding: 28px 0 12px; }
	.rs-steps__period { grid-area: period; font-size: 31px; line-height: 1.4; }
	.rs-steps__period span { display: block; }
	.rs-steps__period small { display: block; font-size: 12px; font-weight: 400; color: var(--rc-gray); line-height: 1.5; }
	.rs-steps__ttl { grid-area: ttl; margin-top: 7px; font-size: 18px; line-height: 1.6; }
	.rs-steps__txt { grid-area: txt; margin: 0; font-size: 14px; line-height: 1.9; color: var(--rc-gray); }
	.rs-mentor { margin-top: 50px; flex-direction: row; gap: 26px; padding: 26px 24px 28px; align-items: start; }
	.rs-mentor__ttl { flex: 0 0 306px; font-size: 21px; line-height: 1.65; }
	.rs-mentor__txt { font-size: 14px; line-height: 1.8; color: var(--rc-gray); }
	.rs-growth__after { margin-top: 24px; font-size: 14px; }
	.rs-training { margin-top: 48px; grid-template-columns: 456px 464px; gap: 24px; }
	.rs-training__box { padding: 24px 24px 40px; }
	.rs-training__ttl { font-size: 20px; line-height: 1.6; }
	.rs-training__terms { margin-top: 25px; font-size: 16px; }
	.rs-training__txt { margin-top: 24px; font-size: 14px; line-height: 1.95; color: var(--rc-gray); }
	.rs-training__txt--s { font-size: 12.5px; }
	.rs-growth__note { margin-top: 44px; padding-top: 26px; border-top: 1px solid #E9E9E9; }

	.rs-why__photo { margin-top: 38px; height: 315px; }
	.rs-photo__tag { font-size: 13px; padding: 9px 14px 10px; }

	.rs-real__list { margin-top: 64px; grid-template-columns: 1fr 1fr; column-gap: 32px; row-gap: 0; }
	.rs-real__list li { padding: 22px 0 53px; }
	.rs-real__txt { margin-top: 12px; font-size: 15px; line-height: 1.8; }

	.rs-salary { margin-top: 44px; padding-top: 30px; border-top: 1px solid #E9E9E9; display: grid; grid-template-columns: 1fr 436px; column-gap: 58px; }
	.rs-salary__ttl { font-size: 14px; line-height: 1.5; }
	.rs-salary__num { margin-top: 10px; font-size: 78px; line-height: 1.2; display: flex; align-items: baseline; gap: 16px; }
	.rs-salary__num small { font-size: 23px; }
	.rs-salary__detail { margin-top: 0; }
	.rs-salary__detail .rs-salary__ttl { font-size: 14px; }
	.rs-salary__rows { margin-top: 24px; }
	.rs-salary__rows div { display: flex; justify-content: space-between; align-items: baseline; padding: 0 0 12px; margin-bottom: 11px; border-bottom: 1px solid #E9E9E9; }
	.rs-salary__rows dt { font-size: 14px; line-height: 1.7; }
	.rs-salary__rows dd { font-family: var(--rc-en); font-size: 16px; line-height: 1.5; }
	.rs-salary__note { margin-top: 21px; font-size: 12.5px; color: var(--rc-gray); line-height: 1.85; }
	.rs-stats--ink { margin-top: 61px; }
	.rs-stats--ink .rs-stats__num { margin-top: 23px; }
	.rs-work { margin-top: 57px; grid-template-columns: 1fr 1fr; gap: 32px; }
	.rs-work__box { padding: 22px 24px 32px; }
	.rs-work__label { font-size: 13px; color: var(--rc-gray); line-height: 1.6; }
	.rs-work__num { margin-top: 20px; font-family: var(--rc-en); font-size: 46px; color: var(--rc-red); line-height: 1.2; }
	.rs-work__num small { display: inline; font-family: var(--rc-jp); font-size: 15px; font-weight: 700; color: var(--rc-ink); margin: 0 0 0 14px; }
	.rs-work__year { margin-top: 12px; font-size: 11px; color: var(--rc-gray); }
	.rs-company__ttl { margin-top: 36px; padding-top: 32px; font-size: 22px; }
	.rs-table { margin-top: 5px; }
	.rs-table div { display: grid; grid-template-columns: 214px 1fr; padding: 19px 0 21px; }
	.rs-table dt { font-size: 13px; color: var(--rc-ink); line-height: 1.7; }
	.rs-table dd { margin: 0; font-size: 14px; color: var(--rc-gray); line-height: 1.7; }

	.rs-message__body { margin-top: 66px; display: grid; grid-template-columns: 244px 1fr; column-gap: 64px; }
	.rs-message__photo { width: 244px; height: 366px; margin: 0; }
	.rs-message__quote { margin-top: 27px; font-size: 19px; line-height: 1.8; }
	.rs-message__name { margin-top: 69px; flex-direction: row; align-items: baseline; gap: 24px; }
	.rs-message__name span { font-size: 13px; color: var(--rc-gray); }
	.rs-message__name strong { font-size: 24px; }
	.rs-culture { margin-top: 53px; padding-top: 38px; }
	.rs-culture__ttl { font-size: 22px; line-height: 1.6; }
	.rs-culture__txt { margin-top: 16px; font-size: 15px; line-height: 1.85; color: var(--rc-gray); }
	.rs-culture__ttl2 { margin-top: 48px; font-size: 23px; line-height: 1.6; }
	.rs-name { margin-top: 28px; display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 16px; }
	.rs-name li { padding: 20px 0 0; }
	.rs-name__word { font-size: 34px; line-height: 1.4; }
	.rs-name p { margin-top: 16px; font-size: 13px; line-height: 1.9; color: var(--rc-gray); }

	.rs-req { margin-top: 52px; }
	.rs-req div { padding: 20px 0 22px; grid-template-columns: 190px 1fr; }
	.rs-req dt { font-size: 13px; }
	.rs-req dd { margin-top: -2px; font-size: 14.5px; color: var(--rc-ink); line-height: 1.9; }
	.rs-req__salary { padding: 26px 20px 66px !important; grid-template-columns: 190px 1fr !important; }
	.rs-req__salary strong { margin-top: 0; font-size: 26px; line-height: 1.5; }
	.rs-req__salary span { margin-top: 14px; font-size: 14px; line-height: 1.85; }
	.rs-flow__heading { margin-top: 87px; font-size: 25px; }
	.rs-req div:nth-child(6) { padding-bottom: 52px; }
	.rs-flow__sub { font-weight: 500; }
	.rs-flow { margin-top: 32px; grid-template-columns: repeat(5, 1fr); border: 1px solid #E9E9E9; background: #E9E9E9; gap: 1px; }
	.rs-flow li { display: block; background: var(--rc-white); padding: 17px 18px 0; height: 138px; }
	.rs-flow li.is-first { background: var(--rc-red); }
	.rs-flow li.is-first .rs-flow__no, .rs-flow li.is-first .rs-flow__ttl { color: var(--rc-white); }
	.rs-flow li.is-first .rs-flow__sub { color: rgba(255,255,255,.85); }
	.rs-flow__no { font-size: 19px; font-weight: 800; line-height: 1.1; }
	.rs-flow__ttl { margin-top: 6px; font-size: 14.5px; font-weight: 900; color: #5F5F69; line-height: 1.45; }
	.rs-flow__sub { margin-top: 8px; font-size: 11px; color: #73737E; line-height: 1.45; }

	.rs-seminar { padding: 42px 0 62px; }
	.rs-seminar .rs-container { display: flex; justify-content: space-between; align-items: flex-start; }
	.rs-seminar__ttl { font-size: 28px; }
	.rs-seminar__txt { margin-top: 10px; }
	.rs-btn--seminar { margin: 48px 0 0; width: 268px; height: 56px; }

	.rs-cta { padding-bottom: 81px; }
	.rs-cta__band { padding: 29px 0; }
	.rs-cta__band p { font-size: 60px; }
	.rs-cta__band-arrow { width: 40px; height: 24px; }
	.rs-cta__in { padding-top: 66px; flex-direction: row; justify-content: space-between; align-items: start; }
	.rs-cta__text { width: 568px; }
	.rs-cta__ttl { margin: 0; font-size: 40px; line-height: 1.45; }
	.rs-cta__sub { margin-top: 30px; font-size: 15px; color: #DBDBE1; }
	.rs-cta__actions { margin-top: 43px; flex-direction: row; gap: 16px; }
	.rs-cta__actions .rs-btn { width: 210px; height: 58px; padding: 0 16px 0 20px; }
	.rs-cta__actions .rs-btn--arrow::before { width: 0; }
	.rs-cta .rs-btn--white { background: var(--rc-white); color: var(--rc-red); border: 0; }
	.rs-cta__photo { width: 344px; height: 286px; }

	.rs-menu { padding: 26px 0 45px; }
	.rs-menu__list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px; }
	.rs-menu__list a { font-size: 16px; height: 60px; }
}

/* ==========================================================================
   新卒採用エントリー（Figma 17:975 / 28:5 / 148:3026 / 148:3183） — prefix: rf-
   ========================================================================== */
.rf-btn { display: flex; align-items: center; justify-content: center; height: 52px; padding: 0 16px; font-size: 15px; font-weight: 700; line-height: 1; white-space: nowrap; border: 0; cursor: pointer; font-family: var(--rc-jp); transition: opacity .2s; }
.rf-btn:hover { opacity: .85; }
.rf-btn--red { background: var(--rc-red); color: var(--rc-white); }
.rf-btn--outline { background: var(--rc-white); color: var(--rc-ink); border: 1px solid #CCCCCC; }
.rf-en { font-family: var(--rc-en); }
.rf-error { margin-top: 8px; color: #B01818; font-size: 12.5px; font-weight: 700; line-height: 1.6; }
.rf-error--block { margin: 0 0 20px; padding: 14px 16px; background: #FCEDED; border: 1px solid #F0B9B9; font-size: 13.5px; }
.rf-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

/* ヒーロー */
.rf-hero__band { background: var(--rc-red); padding: 20px 0 8px; }
.rf-hero__en { font-family: var(--rc-en); color: var(--rc-white); font-size: 55px; font-weight: 700; line-height: 1; }
.rf-hero__bar { display: block; width: 64px; height: 5px; background: var(--rc-white); margin-top: 12px; }
.rf-hero__year { margin-top: 40px; color: var(--rc-red); font-size: 12px; font-weight: 700; line-height: 1.85; }
.rf-hero__title { margin-top: 16px; font-size: 28px; font-weight: 700; line-height: 1.85; }
.rf-hero__lead { margin-top: 16px; color: #5F5F69; font-size: 15px; font-weight: 500; line-height: 1.93; }
.rf-docs { margin-top: 12px; background: #F8F8F5; padding: 20px 18px 22px; }
.rf-docs__tag { display: block; font-size: 13px; font-weight: 700; line-height: 1.85; }
.rf-docs__ttl { margin-top: 12px; font-size: 16px; font-weight: 700; line-height: 1.85; }
.rf-docs__txt { margin-top: 8px; font-size: 13px; line-height: 1.85; }

/* 選考の流れ */
.rf-selection { padding-top: 52px; padding-bottom: 0; }
.rf-chapter { display: none; }
.rf-chapter--sp { display: block; margin-top: 40px; }
.rf-summary .rf-chapter--sp { margin: 0 0 24px; }
.rf-flow { margin-top: 0; }

/* フォーム全体 */
.rf-application { padding-top: 0; }
.rf-layout { display: flex; flex-direction: column; }
.rf-form { order: 2; }
.rf-aside { display: contents; }
.rf-summary { order: 1; }
.rf-chapter--next { order: 3; }
.rf-guide__box--docs { display: none; }
.rf-guide { order: 4; }
.rf-group { margin-top: 56px; color: #B01818; font-size: 17px; font-weight: 700; line-height: 1.45; padding-bottom: 12px; border-bottom: 2px solid var(--rc-ink); }
.rf-group:first-of-type { margin-top: 45px; }
.rf-field { margin-top: 50px; }
.rf-group + .rf-field { margin-top: 31px; }
.rf-group--consent { margin-top: 36px; }
.rf-label { display: flex; align-items: center; gap: 10px; font-size: 14.5px; font-weight: 700; line-height: 1.45; }
.rf-req, .rf-opt { display: inline-block; font-size: 10.5px; font-weight: 700; line-height: 1; padding: 5px 8px; }
.rf-req { background: var(--rc-red); color: var(--rc-white); }
.rf-opt { background: #F1F1EF; color: #73737E; }
.rf-field input[type=text], .rf-field input[type=email], .rf-field input[type=tel], .rf-field input[type=url], .rf-field select, .rf-field textarea { width: 100%; height: 52px; padding: 0 14px; border: 1px solid #CCCCD2; border-radius: 0; background: var(--rc-white); font-family: var(--rc-jp); font-size: 16px; color: var(--rc-ink); -webkit-appearance: none; appearance: none; }
.rf-field textarea { height: 150px; padding: 16px 14px; line-height: 1.7; resize: vertical; }
.rf-field input::placeholder, .rf-field textarea::placeholder { color: #73737E; font-size: 14px; font-weight: 500; }
.rf-field input:focus, .rf-field select:focus, .rf-field textarea:focus { outline: 2px solid var(--rc-ink); outline-offset: -1px; }
.is-error input, .is-error select, .is-error textarea, .is-error .rf-tile { border-color: #B01818; }
.rf-field > input, .rf-field > textarea, .rf-row2, .rf-select, .rf-tiles, .rf-file { margin-top: 12px; }
.rf-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rf-row2--stack { grid-template-columns: 1fr; gap: 14px; }
.rf-select { position: relative; }
.rf-select::after { content: ""; position: absolute; right: 16px; top: 50%; width: 8px; height: 8px; border-right: 1.5px solid #5F5F69; border-bottom: 1.5px solid #5F5F69; transform: translateY(-70%) rotate(45deg); pointer-events: none; }
.rf-select select { color: var(--rc-ink); }
.rf-select select:invalid, .rf-select select option[value=""] { color: #73737E; }
.rf-hint { margin-top: 10px; color: #73737E; font-size: 12px; font-weight: 400; line-height: 1.5; }
.rf-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rf-field > .rf-tiles { margin-top: 26px; }
.rf-tile { display: flex; align-items: center; gap: 10px; height: 52px; padding: 0 14px; border: 1px solid #CCCCD2; background: var(--rc-white); font-size: 13.5px; font-weight: 500; color: #73737E; cursor: pointer; }
.rf-tile input { width: 15px; height: 15px; margin: 0; accent-color: var(--rc-red); }
.rf-tile:has(input:checked) { color: var(--rc-ink); border-color: var(--rc-ink); }
.rf-file { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 66px; padding: 0 14px; border: 1px solid #CCCCD2; background: var(--rc-white); cursor: pointer; }
.rf-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.rf-file__name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #73737E; font-size: 14px; font-weight: 400; }
.rf-file__btn { flex: none; display: flex; align-items: center; justify-content: center; width: 55px; height: 38px; border: 1px solid #CCCCD2; color: #5F5F69; font-size: 12.5px; font-weight: 500; }
.rf-portfolio-url { margin-top: 12px; }
.rf-field--motivation { margin-top: 82px; }
.rf-consent { margin-top: 2px; padding: 24px 20px 22px; background: #F8F8F5; border: 1px solid #E9E9E9; }
.rf-consent__txt { color: #5F5F69; font-size: 13.5px; font-weight: 400; line-height: 2; padding-bottom: 8px; border-bottom: 1px solid #E9E9E9; }
.rf-consent__check { display: flex; align-items: center; gap: 10px; margin-top: 8px; font-size: 14.5px; font-weight: 700; cursor: pointer; }
.rf-consent__check input { width: 17px; height: 17px; margin: 0; accent-color: var(--rc-ink); flex: none; }
.rf-consent__check a { color: #B01818; text-decoration: underline; }
.rf-submit { margin-top: 40px; }
.rf-btn--lg { width: 100%; height: 52px; }

/* サイドバー（募集概要・案内） */
.rf-summary { margin-top: 36px; background: #F8F8F5; padding: 24px 18px 28px; }
.rf-summary__label { font-size: 20px; font-weight: 700; line-height: 1.85; }
.rf-summary dl { margin-top: 12px; }
.rf-summary dl div { padding: 5px 0; }
.rf-summary dt { font-size: 13px; font-weight: 700; color: #62626D; }
.rf-summary dd { margin-top: 4px; font-size: 17px; font-weight: 700; }
.rf-summary__num { font-family: var(--rc-en); }
.rf-summary__salary { margin-top: 12px; padding-top: 16px; border-top: 1px solid #DDDDE0; }
.rf-summary__salary dt { color: #B01818; font-size: 13px; font-weight: 500; }
.rf-summary__salary dd { margin-top: 6px; font-size: 14px; font-weight: 700; }
.rf-summary__num--l { font-size: 22px; color: #B01818; }
.rf-summary__salary p { margin-top: 8px; color: #62626D; font-size: 11.5px; }
.rf-summary__salary a { display: inline-block; margin-top: 12px; font-size: 12px; font-weight: 700; color: #B01818; text-decoration: underline; }
.rf-summary__salary .rf-summary__details-pc { display: none; }
.rf-summary__details-sp { margin-top: 16px; justify-content: space-between; }
@media screen and (min-width: 768px) {
	.rf-summary__salary .rf-summary__details-pc { display: inline-block; }
	.rf-summary__details-sp { display: none; }
}
.rf-guide { margin-top: 19px; background: #F8F8F5; padding: 24px 18px 28px; }
.rf-guide__txt { margin-top: 16px; }
.rf-chapter--sp.rf-chapter--next { margin-top: 42px; }
.rf-guide__box + .rf-guide__box { margin-top: 3px; padding-top: 0; border-top: 0; }
.rf-guide__ttl { font-size: 20px; font-weight: 700; line-height: 1.85; }
.rf-guide__txt { margin-top: 10px; color: #5F5F69; font-size: 14.5px; font-weight: 400; line-height: 1.85; }
.rf-guide__txt a { text-decoration: underline; }

/* 確認・完了 */
.rf-page { padding: 48px 0 60px; }
.rf-narrow { width: 100%; max-width: 800px; margin: 0 auto; padding: 0 24px; }
.rf-eyebrow { font-family: var(--rc-en); color: var(--rc-red); font-size: 12px; font-weight: 700; line-height: 1.7; }
.rf-h1 { margin-top: 8px; font-size: 28px; font-weight: 700; line-height: 1.7; color: #191919; }
.rf-progress { margin-top: 24px; display: grid; grid-template-columns: repeat(3, 1fr); background: #F6F5F3; padding: 12px 14px; font-size: 13px; color: #666666; }
.rf-progress .is-current { color: var(--rc-red); font-weight: 700; }
.rf-confirm__ttl { margin-top: 30px; font-size: 18px; font-weight: 700; line-height: 1.7; color: #191919; }
.rf-confirm__lead { margin-top: 12px; color: #666666; font-size: 14px; line-height: 1.7; }
.rf-confirm__group { margin-top: 36px; padding-bottom: 6px; border-bottom: 1px solid #DFDDDA; font-size: 21px; font-weight: 700; line-height: 1.7; color: #191919; }
.rf-confirm__rows div { padding: 14px 0 12px; border-bottom: 1px solid #DFDDDA; }
.rf-confirm__rows dt { font-size: 14px; font-weight: 700; color: #666666; line-height: 1.7; }
.rf-confirm__rows dd { margin-top: 4px; font-size: 16px; line-height: 1.7; color: #191919; overflow-wrap: anywhere; }
.rf-confirm__actions { margin-top: 40px; display: flex; flex-direction: column-reverse; gap: 16px; }
.rf-confirm__actions .rf-btn { width: 100%; height: 60px; font-size: 16px; }
.rf-check { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin-top: 30px; background: var(--rc-red); color: var(--rc-white); font-size: 30px; font-weight: 700; }
.rf-done__ttl { margin-top: 28px; font-size: 24px; font-weight: 700; line-height: 1.7; color: #191919; }
.rf-done__txt { margin-top: 16px; font-size: 16px; line-height: 1.7; color: #191919; }
.rf-done__box { margin-top: 32px; background: #F6F5F3; padding: 18px 20px 20px; }
.rf-done__box-ttl { font-size: 15px; font-weight: 700; line-height: 1.7; }
.rf-done__box-txt { margin-top: 8px; color: #666666; font-size: 14px; line-height: 1.7; }
.rf-done__btn { margin-top: 32px; width: 100%; height: 60px; font-size: 16px; }

@media screen and (min-width: 768px) {
	.rf-hero__band { padding: 20px 0 0; height: 146px; }
	.rf-hero__en { font-size: 104px; }
	.rf-hero__bar { width: 128px; margin-top: 12px; }
	.rf-hero__year { margin-top: 73px; font-size: 13px; color: #B01818; line-height: 1.54; }
	.rf-hero__title { margin-top: 24px; font-size: 40px; font-weight: 900; line-height: 1.5; }
	.rf-hero__lead { margin-top: 27px; }
	.rf-docs { margin-top: 72px; width: 640px; background: transparent; border: 2px solid var(--rc-ink); padding: 24px 28px; display: flex; align-items: center; gap: 20px; }
	.rf-docs__tag { flex: none; background: var(--rc-ink); color: var(--rc-white); font-size: 11px; padding: 8px 11px; line-height: 1; }
	.rf-docs__ttl { margin: 0; font-size: 14px; line-height: 1.78; }
	.rf-docs__txt { margin-top: 2px; color: #5F5F69; font-weight: 500; line-height: 1.77; }
	.rf-selection { padding-top: 52px; padding-bottom: 0; }
	.rf-chapter { display: block; }
	.rf-chapter--sp { display: none; }
	.rf-flow { margin-top: 65px; }
	.rf-application { padding-top: 25px; padding-bottom: 150px; }
	.rf-layout { display: grid; grid-template-columns: minmax(0, 1fr) 268px; column-gap: clamp(24px, 7vw, 72px); align-items: start; margin-top: 74px; }
	.rf-form, .rf-summary, .rf-guide { order: 0; }
	.rf-aside { display: block; position: sticky; top: 24px; }
	.rf-group { margin-top: 76px; padding-bottom: 14px; font-size: 14.5px; }
	.rf-group + .rf-field { margin-top: 48px; }
	.rf-group--consent { margin-top: 34px; }
	.rf-row2--stack { grid-template-columns: 1fr 1fr; }
	.rf-field textarea { height: 116px; }
	.rf-field > .rf-tiles { margin-top: 12px; }
	.rf-field--portfolio { display: flex; flex-wrap: wrap; column-gap: 12px; }
	.rf-field--portfolio > .rf-label, .rf-field--portfolio > .rf-hint, .rf-field--portfolio > .rf-error { width: 100%; }
	.rf-field--portfolio .rf-file { width: calc(55% - 6px); }
	.rf-field.rf-field--portfolio input[type=url].rf-portfolio-url { width: calc(45% - 6px); margin: 12px 0 0; }
	.rf-field--motivation { margin-top: 36px; }
	.rf-consent__check { margin-top: 20px; }
	.rf-consent__txt { padding-bottom: 16px; }
	.rf-guide__box--docs { display: block; }
	.rf-guide__ttl { line-height: 1.6; }
	.rf-hint, .rf-file__name, .rf-consent__txt { font-weight: 500; }
	.rf-summary dt { font-weight: 500; }
	.rf-group:first-of-type { margin-top: 0; }
	.rf-field { margin-top: 36px; }
	.rf-field input[type=text], .rf-field input[type=email], .rf-field input[type=tel], .rf-field input[type=url], .rf-field select { height: 55px; }
	.rf-row2 { gap: 14px; }
	.rf-tiles { gap: 12px; }
	.rf-tile { height: 55px; }
	.rf-consent { margin-top: 32px; padding: 30px 28px 30px; }
	.rf-submit { margin-top: 72px; display: flex; justify-content: center; }
	.rf-btn--lg { width: 309px; height: 72px; font-size: 16.5px; }
	.rf-summary { margin: 0; background: var(--rc-ink); color: var(--rc-white); padding: 27px 22px 30px; }
	.rf-summary__label { color: #898995; font-size: 11px; font-weight: 500; line-height: 1.64; }
	.rf-summary dl { margin-top: 12px; }
	.rf-summary dl div { padding: 8px 0 10px; }
	.rf-chapter--next { display: none; }
	.rf-summary dt { color: #898995; font-size: 13px; }
	.rf-summary dd { color: var(--rc-white); font-size: 14.5px; }
	.rf-summary__salary { margin-top: 10px; padding-top: 18px; border-top-color: #30303A; }
	.rf-summary__salary dt { color: #FF7979; }
	.rf-summary__salary dd { color: var(--rc-white); }
	.rf-summary__num--l { color: #FF7979; }
	.rf-summary__salary p { color: #A1A1B1; }
	.rf-summary__salary a { color: #D6A4A4; text-decoration: none; }
	.rf-guide { margin-top: 44px; background: transparent; padding: 0; }
	.rf-guide__box { border: 1px solid #E9E9E9; padding: 24px 22px 26px; }
	.rf-guide__box + .rf-guide__box { margin-top: 44px; padding-top: 24px; border-top: 1px solid #E9E9E9; }
	.rf-guide__txt { margin-top: 14px; }
	.rf-guide__ttl { font-size: 13.5px; font-weight: 900; }
	.rf-guide__txt { font-size: 12.5px; font-weight: 500; }
	.rf-guide__txt { margin-top: 14px; }
	.rf-guide__txt--loose { line-height: 2; }

	.rf-page { padding: 56px 0 80px; }
	.rf-narrow { padding: 0; width: calc(100% - 48px); }
	.rf-h1 { margin-top: 12px; font-size: 40px; }
	.rf-progress { margin-top: 24px; padding: 12px 14px; font-size: 14px; }
	.rf-confirm__ttl { margin-top: 30px; }
	.rf-confirm__group { margin-top: 36px; }
	.rf-confirm__rows div { display: grid; grid-template-columns: 268px 1fr; padding: 12px 0; }
	.rf-confirm__rows dd { margin: 0; }
	.rf-confirm__actions { margin-top: 56px; flex-direction: row; gap: 16px; }
	.rf-confirm__actions .rf-btn, .rf-confirm__actions form { flex: 1; }
	.rf-done__ttl { font-size: 30px; }
	.rf-done__box { padding: 18px 20px 20px; }
	.rf-done__btn { width: 360px; }
}

/* ==========================================================================
   成長環境（自立型価値創造人材）Figma 17:1577 / 28:6 — prefix: rg-
   ========================================================================== */
.rg-hero__band { background: var(--rc-ink); padding: 20px 0 8px; }
.rg-hero__en { font-family: var(--rc-en); color: var(--rc-white); font-size: 55px; font-weight: 700; line-height: 1; }
.rg-hero__bar { display: block; width: 64px; height: 5px; background: var(--rc-white); margin-top: 12px; }
.rg-hero__crumb { margin-top: 40px; font-size: 11.5px; color: #73737E; line-height: 1.85; }
.rg-hero__crumb a { color: var(--rc-red); }
.rg-hero__title { margin-top: 16px; font-size: 30px; font-weight: 700; line-height: 1.85; }
.rg-hero__sub { margin-top: 16px; font-size: 18px; font-weight: 700; line-height: 1.85; }
.rg-hero__sub-bar { display: none; }
.rg-hero__lead { margin-top: 16px; font-size: 15px; line-height: 1.85; padding-bottom: 40px; }
.rg-support { background: var(--rc-ink); color: var(--rc-white); padding: 40px 0 56px; }
.rg-support__ttl { font-size: 24px; font-weight: 700; line-height: 1.85; }
.rg-support__txt { margin-top: 16px; font-size: 14.5px; line-height: 1.85; }
.rg-h2 { margin-top: 42px; font-size: 25px; font-weight: 700; line-height: 1.85; }
.rg-list { margin-top: 16px; border-top: 1px solid #E9E9E9; }
.rg-list li { padding: 24px 0 17px; border-bottom: 1px solid #E9E9E9; }
.rg-list__no { display: block; font-family: var(--rc-en); font-size: 43px; font-weight: 700; color: var(--rc-red); line-height: 1.1; }
.rg-list__ttl { margin-top: 16px; font-size: 20px; font-weight: 700; line-height: 1.85; }
.rg-list__txt { margin-top: 12px; font-size: 14.5px; line-height: 1.85; }
.rg-team { background: #F8F8F5; }
.rg-team__txt { margin-top: 16px; font-size: 14.5px; line-height: 1.85; }
.rg-steps { margin-top: 28px; display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 12px; }
.rg-steps span { display: block; font-family: var(--rc-en); font-size: 20px; font-weight: 700; color: var(--rc-red); line-height: 1.85; }
.rg-steps p { font-size: 12px; font-weight: 700; line-height: 1.85; }
.rg-values { background: #F8F8F5; padding-bottom: 64px; }
.rg-values__lead { margin-top: 16px; font-size: 14.5px; line-height: 1.85; }
.rg-vision { margin-top: 16px; background: var(--rc-ink); color: var(--rc-white); padding: 20px 18px 24px; }
.rg-vision__label { color: #CBCBD2; font-size: 11px; font-weight: 700; line-height: 1.85; }
.rg-vision__txt { margin-top: 16px; font-size: 22px; font-weight: 700; line-height: 1.85; }
.rg-mission__label { margin-top: 30px; color: var(--rc-red); font-size: 11.5px; font-weight: 700; line-height: 1.85; }
.rg-mission__txt { margin-top: 16px; font-size: 16px; font-weight: 700; line-height: 1.85; }
.rg-values__label { margin-top: 16px; font-size: 16px; font-weight: 700; line-height: 1.85; }
.rg-cards { margin-top: 16px; display: grid; gap: 16px; }
.rg-cards li { position: relative; background: var(--rc-white); border-top: 1px solid #D4D4D0; padding: 20px 18px 16px; }
.rg-cards li::before { content: ""; position: absolute; left: 0; top: -1px; width: 32px; height: 3px; background: var(--rc-red); }
.rg-cards span { display: block; font-family: var(--rc-en); font-size: 12px; font-weight: 700; color: var(--rc-red); line-height: 1.85; }
.rg-cards p { margin-top: 4px; font-size: 18px; font-weight: 700; line-height: 1.85; }
.rg-cta__ttl { margin-top: 20px; font-size: 25px; font-weight: 700; line-height: 1.85; }
.rg-btn--white { background: var(--rc-red); color: var(--rc-white); }
.rg-cta .rs-cta__actions .rs-btn { height: 52px; font-size: 15px; }

@media screen and (min-width: 768px) {
	.rg-hero__band { padding: 20px 0 0; height: 146px; }
	.rg-hero__en { font-size: 104px; }
	.rg-hero__bar { width: 128px; margin-top: 12px; }
	.rg-hero__crumb { margin-top: 81px; font-size: 12.5px; font-weight: 500; line-height: 1.44; }
	.rg-hero__crumb a { color: #B01818; }
	.rg-hero__title { margin-top: 30px; font-size: 46px; font-weight: 900; line-height: 1.45; }
	.rg-hero__sub { margin-top: 28px; display: flex; align-items: center; gap: 20px; font-size: 21px; line-height: 1.45; }
	.rg-hero__sub-bar { display: block; width: 46px; height: 4px; background: var(--rc-red); }
	.rg-hero__lead { margin-top: 74px; font-size: 17px; font-weight: 500; line-height: 2.3; padding-bottom: 130px; }
	.rg-support { padding: 118px 0 126px; }
	.rg-support .rs-container { display: grid; grid-template-columns: 440px 1fr; column-gap: 68px; align-items: start; }
	.rg-support__ttl { font-size: 30px; font-weight: 900; line-height: 1.65; margin-top: 16px; }
	.rg-support__txt { margin: 0; color: #E9E9E9; font-size: 15.5px; font-weight: 500; line-height: 2.2; }
	.rg-h2 { margin-top: 116px; font-size: 33px; font-weight: 900; line-height: 1.5; }
	.rg-list { margin-top: 70px; border-top: 2px solid var(--rc-ink); }
	.rg-list li { display: grid; grid-template-columns: 118px 1fr; padding: 42px 0 40px; }
	.rg-list__no { font-size: 52px; font-weight: 800; }
	.rg-list__ttl { margin-top: 11px; font-size: 26px; font-weight: 900; line-height: 1.44; }
	.rg-list__txt { margin-top: 24px; font-size: 16px; font-weight: 500; line-height: 2.15; color: #5F5F69; }
	.rg-standard { padding-bottom: 72px; }
	.rg-team { background: transparent; padding-bottom: 0; }
	.rg-team .rs-chapter { position: relative; z-index: 1; }
	.rg-team__body { margin-top: 0; padding: 112px 0 100px; display: grid; grid-template-columns: 470px 1fr; column-gap: 38px; align-items: start; position: relative; }
	.rg-team__body::before { content: ""; position: absolute; left: 50%; top: 0; width: 100vw; height: 100%; transform: translateX(-50%); background: #F8F8F5; z-index: -1; }
	.rg-team .rg-h2 { margin-top: 0; }
	.rg-team__txt { margin-top: 32px; font-size: 16px; font-weight: 500; line-height: 2.25; color: #5F5F69; }
	.rg-steps { margin-top: 5px; column-gap: 12px; }
	.rg-steps li { border-bottom: 3px solid var(--rc-ink); padding-bottom: 8px; }
	.rg-steps li.is-last { border-bottom-color: var(--rc-red); }
	.rg-steps span { font-family: var(--rc-jp); font-size: 23px; line-height: 1.5; }
	.rg-steps p { margin-top: 20px; font-size: 16px; line-height: 1.5; }
	.rg-values { background: transparent; padding-bottom: 0; }
	.rg-values .rg-h2 { margin-top: 116px; }
	.rg-values__lead { margin-top: 29px; font-size: 15px; font-weight: 500; line-height: 2.1; color: #5F5F69; }
	.rg-values__in { width: 860px; }
	.rg-vision { margin-top: 40px; padding: 15px 24px 22px; }
	.rg-vision__label { color: var(--rc-white); font-size: 12px; line-height: 1.5; }
	.rg-vision__txt { margin-top: 8px; font-size: 27px; line-height: 1.5; }
	.rg-mission__label { margin-top: 28px; font-size: 12px; line-height: 1.5; }
	.rg-mission__txt { margin-top: 9px; font-size: 18px; line-height: 1.5; padding-bottom: 23px; border-bottom: 1px solid #E9E9E9; }
	.rg-values__label { margin-top: 20px; color: var(--rc-red); font-size: 13px; line-height: 1.5; }
	.rg-cards { margin-top: 14px; grid-template-columns: repeat(5, 1fr); gap: 8px; }
	.rg-cards li { background: #F1F1EF; border-top: 0; padding: 11px 14px 14px; }
	.rg-cards li::before { display: none; }
	.rg-cards span { font-family: var(--rc-jp); font-size: 13px; line-height: 1.5; }
	.rg-cards p { margin-top: 16px; font-size: 17px; line-height: 1.5; }
	.rg-growth { margin-top: 14px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
	.rg-growth li { font-size: 14px; font-weight: 700; line-height: 1.5; padding-bottom: 31px; border-bottom: 2px solid var(--rc-ink); }
	.rg-cta { margin-top: 96px; padding-bottom: 187px; }
	.rg-values__label.rs-pc-only { display: block; margin-top: 57px; }
	.rg-cta .rs-cta__in { padding-top: 115px; }
	.rg-cta__ttl { margin: 0; font-size: 36px; font-weight: 900; line-height: 1.5; }
	.rg-cta .rs-cta__sub { margin-top: 36px; font-size: 15.5px; font-weight: 500; color: var(--rc-white); }
	.rg-cta .rs-cta__actions { margin-top: 56px; gap: 12px; }
	.rg-cta .rs-cta__actions .rs-btn { width: 197px; height: 69px; font-size: 15.5px; padding: 0 16px 0 20px; }
	.rg-cta .rs-btn--arrow::before { width: 0; }
	.rg-btn--white { background: var(--rc-white); color: var(--rc-red); }
	.rg-cta .rs-btn--white { width: 180px; background: transparent; color: var(--rc-white); border: 1.5px solid var(--rc-white); }
	.rg-cta__photo { width: 380px; height: 219px; margin-top: 74px; }
}

/* ==========================================================================
   説明会予約（Figma 242:2 / 242:202 / 完了 242:82） — prefix: rsm-
   ========================================================================== */
.rsm-band { background: #D71618; padding: 26px 0 26px; }
.rsm-band__en { font-family: var(--rc-en); color: var(--rc-white); font-size: 54px; font-weight: 700; line-height: 1.1; }
.rsm-band__bar { display: block; width: 70px; height: 3px; background: var(--rc-white); margin-top: 8px; }
.rsm-fv__label { margin-top: 40px; color: #D71618; font-size: 14px; font-weight: 700; line-height: 1.7; white-space: pre; }
.rsm-fv__tag { margin-top: 16px; display: inline-block; background: var(--rc-ink); color: var(--rc-white); font-size: 14px; font-weight: 700; line-height: 1.7; padding: 6px 12px; }
.rsm-fv__ttl { margin-top: 22px; font-size: 28px; font-weight: 900; line-height: 1.45; color: var(--rc-ink); }
.rsm-fv__sub { margin-top: 14px; font-size: 21px; font-weight: 700; line-height: 1.5; color: var(--rc-ink); }
.rsm-fv__lead { margin-top: 26px; font-size: 15px; line-height: 1.7; color: var(--rc-ink); }
.rsm-btn { display: flex; align-items: center; justify-content: center; width: 100%; height: 56px; background: #D71618; color: var(--rc-white); font-size: 16px; font-weight: 700; line-height: 1.6; border: 0; cursor: pointer; transition: opacity .2s; }
.rsm-btn:hover { opacity: .85; }
.rsm-fv .rsm-btn { margin-top: 10px; }
.rsm-notice { margin-top: 22px; background: #F6F5F3; border-left: 3px solid #D71618; padding: 16px 20px 16px 20px; margin-bottom: 38px; }
.rsm-notice p { font-size: 14px; line-height: 1.7; color: var(--rc-ink); }
.rsm-section { padding: 32px 0 32px; }
.rsm-section--gray { background: #F6F5F3; }
.rsm-en { font-family: var(--rc-en); color: #D71618; font-size: 15px; font-weight: 700; line-height: 1.1; }
.rsm-h2 { margin-top: 15px; font-size: 25px; font-weight: 700; line-height: 1.7; color: var(--rc-ink); }
.rsm-h3 { margin-top: 28px; font-size: 18px; font-weight: 700; line-height: 1.7; color: var(--rc-ink); }
.rsm-h3 + .rsm-txt, .rsm-h3 + .rsm-list { margin-top: 12px; }
.rsm-h2 + .rsm-h3 { margin-top: 14px; }
#participation .rsm-h2 + .rsm-h3 { margin-top: 27px; }
#information .rsm-h2 + .rsm-h3 { margin-top: 28px; }
#program { padding-bottom: 51px; }
.rsm-form__step:first-of-type { margin-top: 32px; }
#participation { padding-bottom: 39px; }
.rsm-notice { margin-top: 40px; }
.rsm-flow { margin-top: 19px; }
.rsm-flow__cta { margin-top: 41px; }
.rsm-card__ttl { margin-top: 0; }
#information { padding-bottom: 59px; }
#flow { padding-bottom: 48px; }
.rsm-form { margin-top: 0; }
.rsm-slots { margin-top: 8px; }
.rsm-fv__label { margin-top: 22px; }
.rsm-band__en { font-size: 49px; }
.rsm-txt { font-size: 14px; line-height: 1.7; color: var(--rc-ink); }
.rsm-txt--gap { margin-top: 24px; }
.rsm-txt a { color: var(--rc-ink); text-decoration: underline; }
.rsm-list li { list-style: none; font-size: 14px; line-height: 1.95; color: var(--rc-ink); }
.rsm-hr { margin: 28px 0 0; border: 0; border-top: 1px solid #DDDDDF; }
.rsm-hr + .rsm-h3 { margin-top: 24px; }
.rsm-note { margin-top: 22px; font-size: 13px; line-height: 1.7; color: #5F5F69; }
.rsm-card { margin-top: 31px; background: #F7F6F3; border: 1px solid #E5E3DE; padding: 20px 20px 28px; }
.rsm-card__accent { display: block; width: 40px; height: 3px; background: #E30606; }
.rsm-card__ttl { margin-top: 12px; }
.rsm-card__hr { margin-top: 24px; border-top-color: #DBD9D1; }
.rsm-card__cols { display: grid; gap: 0; }
.rsm-card__cols .rsm-h3 { margin-top: 24px; }
.rsm-flow { margin-top: 28px; display: grid; gap: 24px; }
.rsm-flow li { list-style: none; display: grid; grid-template-columns: 40px 1fr; column-gap: 16px; align-items: center; }
.rsm-flow__no { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: #E00808; color: var(--rc-white); font-size: 18px; font-weight: 700; }
.rsm-flow li p { font-size: 15px; font-weight: 700; line-height: 1.67; color: var(--rc-ink); }
.rsm-flow__cta { margin-top: 32px; }
.rsm-reserve { padding-bottom: 60px; }
.rsm-form { margin-top: 28px; }
.rsm-form__step { margin-top: 32px; font-size: 20px; font-weight: 700; line-height: 1.7; color: var(--rc-ink); }
.rsm-form__hint { margin-top: 8px; font-size: 14px; line-height: 1.7; color: #5F5F69; }
.rsm-form__note { margin-top: 16px; font-size: 13px; line-height: 1.7; color: #5F5F69; }
.rsm-form__confirm { margin-top: 24px; font-size: 14px; line-height: 1.7; color: var(--rc-ink); }
.rsm-slots { margin-top: 20px; display: grid; gap: 12px; }
.rsm-slot { position: relative; display: flex; align-items: center; gap: 12px; min-height: 92px; padding: 16px 16px; background: var(--rc-white); border: 1px solid #DDDDDF; cursor: pointer; }
.rsm-slot input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rsm-slot__mark { flex: none; width: 18px; height: 18px; border: 1.5px solid #8B8B93; border-radius: 50%; background: var(--rc-white); position: relative; }
.rsm-slot input:checked + .rsm-slot__mark { border-color: #D71618; }
.rsm-slot input:checked + .rsm-slot__mark::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: #D71618; }
.rsm-slot:has(input:checked) { border-color: #D71618; }
.rsm-slot input:focus-visible + .rsm-slot__mark { outline: 2px solid #D71618; outline-offset: 2px; }
.rsm-slot__body strong { display: block; font-size: 16px; font-weight: 700; line-height: 1.7; color: var(--rc-ink); }
.rsm-slot__body small { display: block; font-size: 13px; line-height: 1.7; color: #5F5F69; white-space: pre; }
.rsm-slots.is-error .rsm-slot { border-color: #B01818; }
.rsm-field { margin-top: 22px; }
.rsm-field__label { display: flex; justify-content: space-between; align-items: baseline; font-size: 15px; font-weight: 700; line-height: 1.7; color: var(--rc-ink); }
.rsm-field__label small { font-size: 12px; font-weight: 700; color: #D71618; }
.rsm-field input { width: 100%; height: 54px; margin-top: 6px; padding: 0 16px; border: 1px solid #C9C9CE; border-radius: 0; background: var(--rc-white); font-size: 16px; color: var(--rc-ink); -webkit-appearance: none; appearance: none; }
.rsm-field input::placeholder { color: #8B8B93; }
.rsm-field.is-error input { border-color: #B01818; }
.rsm-btn--submit { margin-top: 18px; }
.rsm-btn[disabled] { opacity: .4; cursor: default; }
.rsm-done { padding: 40px 0 60px; }
.rsm-done__en { font-family: var(--rc-en); color: #D71618; font-size: 44px; font-weight: 700; line-height: 1.1; }
.rsm-done__ttl { margin-top: 24px; font-size: 26px; font-weight: 700; line-height: 1.5; color: var(--rc-ink); }
.rsm-done__lead { margin-top: 24px; font-size: 15px; line-height: 1.7; color: var(--rc-ink); }
.rsm-done__box { margin-top: 28px; background: #F6F5F3; padding: 18px 20px 20px; }
.rsm-done__box-label { font-size: 13px; font-weight: 700; line-height: 1.7; color: #5F5F69; }
.rsm-done__box-txt { margin-top: 4px; font-size: 17px; font-weight: 700; line-height: 1.7; color: var(--rc-ink); }
.rsm-done__note { margin-top: 24px; font-size: 14px; line-height: 1.7; color: var(--rc-ink); }
@media screen and (min-width: 768px) {
	.rsm-band { padding: 26px 0 24px; }
	.rsm-band__en { font-size: 78px; }
	.rsm-band__bar { margin-top: 8px; }
	.rsm-fv__label { margin-top: 50px; }
	#program { padding-bottom: 58px; }
	#participation { padding-bottom: 39px; }
	.rsm-card { margin-top: 0; }
	.rsm-form__step:first-of-type { margin-top: 18px; }
	#information { padding-bottom: 67px; }
	#flow { padding-bottom: 48px; }
	.rsm-form { margin: 0 auto 0; }
	.rsm-notice { margin-top: 22px; }
	.rsm-flow { margin-top: 28px; }
	.rsm-flow__cta { margin-top: 32px; }
	.rsm-slots { margin-top: 12px; }
	.rsm-band__en { font-size: 78px; }
	.rsm-fv__tag { margin-top: 14px; }
	.rsm-fv__ttl { margin-top: 22px; font-size: 38px; }
	.rsm-fv__sub { margin-top: 14px; font-size: 27px; }
	.rsm-fv__lead { margin-top: 26px; font-size: 16px; }
	.rsm-fv .rsm-btn { width: 320px; margin-top: 24px; }
	.rsm-notice { margin-top: 22px; padding: 16px 20px 16px 20px; margin-bottom: 56px; }
	.rsm-notice p { font-size: 15px; }
	.rsm-section { padding: 40px 0 40px; }
	.rsm-h2 { font-size: 30px; }
	.rsm-h3 { margin-top: 28px; font-size: 21px; }
	.rsm-txt { font-size: 16px; }
	.rsm-list li { font-size: 16px; }
	.rsm-card { margin-top: 32px; padding: 32px 32px 32px; }
	.rsm-card__cols { grid-template-columns: 1fr 1fr; column-gap: 40px; }
	.rsm-flow { grid-template-columns: repeat(4, 1fr); column-gap: 16px; }
	.rsm-flow li { display: block; }
	.rsm-flow li p { margin-top: 16px; font-size: 16px; }
	.rsm-flow__cta { margin-top: 32px; display: flex; justify-content: center; }
	.rsm-flow__cta .rsm-btn { width: 320px; }
	.rsm-form { max-width: 640px; margin: 28px auto 0; }
	.rsm-slots { grid-template-columns: 1fr 1fr; column-gap: 30px; row-gap: 12px; }
	.rsm-slot__body strong { font-size: 15px; }
	.rsm-done { padding: 56px 0 40px; }
	.rsm-done__en { font-size: 64px; }
	.rsm-done__ttl { margin-top: 24px; font-size: 34px; }
	.rsm-done__lead { font-size: 16px; }
	.rsm-done__box { padding: 18px 20px 14px; }
	.rsm-done__box-txt { font-size: 18px; }
}

/* Instagram Feed: the Figma company grid and representative card stay separate. */
.rc-instagram-feed--company { max-width: 944px; margin: 28px auto 0; padding: 0 24px; }
.rc-instagram-feed--ceo { margin-top: 20px; }
.rc-instagram-feed #sb_instagram { width: 100% !important; padding: 0 !important; background: transparent !important; }
.rc-instagram-feed #sb_instagram #sbi_images { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 16px !important; padding: 0 !important; }
.rc-instagram-feed--ceo #sb_instagram #sbi_images { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 12px !important; }
.rc-instagram-feed #sb_instagram #sbi_images .sbi_item { width: 100% !important; min-width: 0; padding: 0 !important; float: none !important; }
.rc-instagram-feed #sb_instagram #sbi_images .sbi_photo { display: block; width: 100%; height: auto !important; aspect-ratio: 1; overflow: hidden; }
.rc-instagram-feed #sb_instagram #sbi_images .sbi_photo img { width: 100%; height: 100%; object-fit: cover; }
.rc-instagram-feed .sbi_header, .rc-instagram-feed .sb_instagram_header, .rc-instagram-feed #sbi_load { display: none !important; }
.rc-instagram-feed--company #sb_instagram #sbi_images .sbi_item:nth-child(n+7), .rc-instagram-feed--ceo #sb_instagram #sbi_images .sbi_item:nth-child(n+4) { display: none !important; }
@media screen and (min-width: 768px) {
	.rc-instagram-feed--company { max-width: none; padding: 0; }
	.rc-instagram-feed--company #sb_instagram #sbi_images { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
}

/* Fixed-width desktop compositions must also fit the space between SP and PC. */
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.rs-fv__lead { position: static; width: auto; margin: 40px 26px 0; }
	.rs-fv__foot { width: calc(100% - 48px); }
	.rs-training { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rs-salary { grid-template-columns: minmax(0, 1fr); row-gap: 28px; }
	.rg-values__in { max-width: 100%; }
}

/* 2026-09-25 新卒採用TOPへの集約: 同期プロジェクト・コース別選考フロー */
.rs-project { margin-top: 48px; }
.rs-project__ttl { font-size: 20px; font-weight: 700; line-height: 1.8; }
.rs-project__en { display: block; margin-top: 4px; font-family: var(--rc-en); font-size: 10px; font-weight: 700; color: var(--rc-gray); letter-spacing: .04em; }
.rs-project__grid { margin-top: 18px; display: grid; gap: 13px; }
.rs-project__item { display: grid; grid-template-columns: 36px 1fr; gap: 14px; padding: 22px 20px; background: var(--rc-off); }
.rs-project__no { font-family: var(--rc-en); font-size: 28px; font-weight: 600; color: var(--rc-red); line-height: 1.3; }
.rs-project__name { font-size: 16px; font-weight: 700; line-height: 1.7; }
.rs-project__txt { margin-top: 10px; color: var(--rc-gray); font-size: 13px; line-height: 1.95; }
.rs-project__tag { display: inline-block; margin-top: 12px; padding-bottom: 3px; border-bottom: 1px solid #EEB8BD; color: var(--rc-red); font-size: 11px; }
.rs-project__note { margin-top: 16px; color: var(--rc-gray); font-size: 12px; line-height: 1.9; }
.rs-flow__heading--ent { margin-top: 56px; }
.rs-flow__link { display: inline-flex; align-items: center; gap: 12px; margin-top: 24px; padding-bottom: 4px; border-bottom: 1px solid currentColor; color: var(--rc-red); font-size: 14px; font-weight: 700; }
@media screen and (min-width: 768px) {
	.rs-project { margin-top: 72px; }
	.rs-project__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
	.rs-project__ttl { font-size: 23px; }
	.rs-project__en { margin: 0 0 8px; }
	.rs-project__grid { margin-top: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
	.rs-project__item { grid-template-columns: 48px 1fr; gap: 19px; padding: 26px 27px; }
	.rs-project__no { font-size: 34px; }
	.rs-project__name { font-size: 17px; }
	.rs-project__txt { font-size: 13px; }
	.rs-flow__heading--ent { margin-top: 64px; }
	.rs-flow--ent { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rs-flow--ent li { height: auto; min-height: 138px; padding-bottom: 20px; }
}
/* 一般／エンターテイナーの2ボタン: 長い方の文言に合わせる */
@media screen and (min-width: 768px) {
	.rs-fv__actions .rs-btn { width: 344px; }
	.rs-cta__actions { flex-wrap: wrap; }
	.rs-cta__actions .rs-btn, .rg-cta .rs-cta__actions .rs-btn { width: auto; gap: 12px; padding: 0 16px 0 20px; font-size: 14px; }
}
@media screen and (max-width: 767px) {
	.rs-fv__actions .rs-btn--arrow, .rs-cta__actions .rs-btn--arrow, .rg-cta .rs-cta__actions .rs-btn--arrow { gap: 12px; padding: 0 16px 0 20px; font-size: 13.5px; white-space: normal; line-height: 1.4; text-align: left; }
	.rs-fv__actions .rs-btn--arrow::before, .rs-cta__actions .rs-btn--arrow::before { display: none; }
	.rs-fv__actions .rs-btn--arrow .rc-arrow, .rs-cta__actions .rs-btn--arrow .rc-arrow { flex: none; }
	.rc-career__links { grid-template-columns: minmax(0, 1fr); }
}
