/* 採用ページ recruit.html（2026-10-05） */
.rc { --gold: #ffd54a; --navy: #0b1638; --ink: #1d2433; color: var(--ink); }
.rc .container { max-width: 1160px; margin: 0 auto; padding: 0 20px; }
.rc-hero { position: relative; overflow: hidden; padding: 120px 0 70px; color: #fff; text-align: center;
  background: radial-gradient(60% 70% at 50% 0%, #22307a 0%, transparent 70%), radial-gradient(40% 50% at 85% 80%, rgba(255, 79, 200, .25), transparent 70%), radial-gradient(40% 50% at 10% 85%, rgba(63, 208, 255, .22), transparent 70%), #04060f; }
.rc-hero::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .35) 1px, transparent 1px); background-size: 34px 34px; opacity: .18; -webkit-mask-image: radial-gradient(70% 70% at 50% 40%, #000, transparent); mask-image: radial-gradient(70% 70% at 50% 40%, #000, transparent); }
.rc-hero .container { position: relative; }
.rc-k { margin: 0; font: 800 13px/1 "Inter", sans-serif; letter-spacing: .4em; color: var(--gold); }
.rc-h1 { margin: 18px 0 16px; font-size: clamp(36px, 6.4vw, 76px); font-weight: 900; line-height: 1.18; letter-spacing: .01em; color: #fff; }
.rc-h1 span { background: linear-gradient(90deg, #ffe08a, #ffb300 30%, #ff4fc8 65%, #3fd0ff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rc-lead { max-width: 720px; margin: 0 auto; font-size: clamp(14px, 1.6vw, 17px); line-height: 1.95; color: rgba(232, 238, 255, .85); }
.rc-hero-btns { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.rc-btn { display: inline-flex; align-items: center; gap: 8px; padding: 15px 28px; border-radius: 999px; font-weight: 800; font-size: 15px; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.rc-btn--gold { background: linear-gradient(135deg, #fff1c6, #f2c46d 35%, #d39a2c 70%, #ffe39a); color: #1b1300 !important; box-shadow: 0 12px 34px -10px rgba(242, 180, 60, .9); }
.rc-btn--gold:hover { transform: translateY(-2px); box-shadow: 0 16px 40px -10px rgba(242, 180, 60, 1); }
.rc-btn--ghost { border: 1px solid rgba(255, 255, 255, .4); color: #fff !important; }
.rc-btn--ghost:hover { background: rgba(255, 255, 255, .08); }
.rc-badges { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.rc-badges li { padding: 6px 14px; border-radius: 999px; border: 1px solid rgba(255, 213, 74, .5); background: rgba(255, 213, 74, .08); font-size: 13px; font-weight: 800; color: #fff; }
.rc-badges small { font-size: 11px; color: rgba(255, 255, 255, .7); }
.rc-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; max-width: 900px; margin: 40px auto 0; padding: 0; list-style: none; }
.rc-stats li { padding: 18px 10px; border-radius: 18px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .12); }
.rc-stats b { display: block; font: 900 clamp(28px, 4vw, 40px)/1.1 "Inter", sans-serif; color: var(--gold); }
.rc-stats small { font-size: .45em; margin-left: 2px; }
.rc-stats span { display: block; margin-top: 6px; font-size: 12.5px; line-height: 1.5; color: rgba(232, 238, 255, .78); }
.rc-sec { padding: 84px 0; background: #fff; }
.rc-sec:nth-of-type(odd) { background: #f6f8fc; }
.rc-sec--dark, .rc-sec--dark:nth-of-type(odd) { background: #04060f; color: #e9eefc; }
.rc-en { margin: 0; font: 800 12px/1 "Inter", sans-serif; letter-spacing: .34em; color: #b8860b; }
.rc-sec--dark .rc-en { color: var(--gold); }
.rc-h2 { margin: 12px 0 30px; font-size: clamp(26px, 3.6vw, 40px); font-weight: 900; line-height: 1.35; color: var(--navy); border: 0 !important; padding: 0 !important; }
.rc-sec--dark .rc-h2 { color: #fff; }
.rc-h2 span { color: #2f6bff; }
.rc-sec--dark .rc-h2 span { background: linear-gradient(90deg, #3fd0ff, #8a3bff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rc-sub { margin: -14px 0 24px; font-size: 14px; color: #5b6577; }
.rc-why { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.rc-why > div { padding: 26px 22px; border-radius: 20px; background: #fff; border: 1px solid #e3e7ef; box-shadow: 0 10px 30px -18px rgba(11, 22, 56, .35); }
.rc-why i { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 14px; background: linear-gradient(135deg, #0b1638, #2f6bff); color: #fff; font-size: 20px; }
.rc-why h3 { margin: 16px 0 8px; font-size: 17px; font-weight: 900; color: var(--navy); }
.rc-why p { margin: 0; font-size: 13.5px; line-height: 1.85; color: #4a5468; }
.rc-cu { display: grid; grid-template-columns: 1.1fr 1fr; gap: 32px; align-items: center; }
.rc-cu img { width: 100%; height: auto; border-radius: 20px; box-shadow: 0 30px 80px -30px rgba(63, 208, 255, .5); }
.rc-cu-big { margin: 0 0 14px; font: 900 clamp(22px, 3vw, 32px)/1.4 "Inter", "Noto Sans JP", sans-serif; color: #fff; }
.rc-cu-big small { display: block; margin-bottom: 6px; font: 700 12.5px/1.5 "Noto Sans JP", sans-serif; color: rgba(232, 238, 255, .7); }
.rc-cu-big b { color: var(--gold); }
.rc-cu-tx p { font-size: 14.5px; line-height: 1.9; color: rgba(232, 238, 255, .82); }
.rc-note { font-size: 12px !important; color: rgba(232, 238, 255, .55) !important; }
.rj-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
.rj-filter button { padding: 9px 18px; border-radius: 999px; border: 1px solid #cfd6e4; background: #fff; color: var(--navy); font-weight: 800; font-size: 13.5px; cursor: pointer; }
.rj-filter button.on { background: var(--navy); border-color: var(--navy); color: #fff; }
.rj-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.rj-card { display: flex; flex-direction: column; padding: 26px 24px 22px; border-radius: 22px; background: #fff; border: 1px solid #e3e7ef; box-shadow: 0 14px 40px -24px rgba(11, 22, 56, .45); transition: transform .25s, box-shadow .25s; }
.rj-card[hidden] { display: none; }
.rj-card:hover { transform: translateY(-3px); box-shadow: 0 20px 50px -24px rgba(11, 22, 56, .6); }
.rj-tag { align-self: flex-start; margin: 0; padding: 4px 12px; border-radius: 999px; font-size: 12px; font-weight: 800; background: #eef2fb; color: var(--navy); }
.rj-tag--sales { background: #fff1e6; color: #b45309; }
.rj-tag--free { background: #f1ecff; color: #6d28d9; }
.rj-card[data-k~="new"] .rj-tag { background: #e8faf0; color: #047857; }
.rj-card h3 { margin: 12px 0 8px; font-size: 15px; font-weight: 800; color: #4a5468; }
.rj-en { display: block; margin-bottom: 4px; font: 900 clamp(19px, 2.2vw, 24px)/1.25 "Inter", sans-serif; letter-spacing: .04em; color: var(--navy); }
.rj-pay { margin: 4px 0 12px; padding: 12px 14px; border-radius: 14px; background: linear-gradient(135deg, #0b1638, #14205a); font: 900 clamp(18px, 2.2vw, 22px)/1.3 "Inter", "Noto Sans JP", sans-serif; color: var(--gold); }
.rj-pay small { display: block; margin-bottom: 2px; font: 700 11px/1.3 "Noto Sans JP", sans-serif; letter-spacing: .1em; color: rgba(232, 238, 255, .7); }
.rj-desc { margin: 0 0 12px; font-size: 14px; line-height: 1.85; color: #3a4356; }
.rj-card dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 12px; margin: 0 0 12px; font-size: 13px; }
.rj-card dt { padding: 1px 8px; border-radius: 6px; background: #f1f4fa; font-weight: 800; color: var(--navy); height: fit-content; }
.rj-card dd { margin: 0; line-height: 1.7; color: #4a5468; }
.rj-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; padding: 0; list-style: none; }
.rj-chips li { padding: 3px 10px; border-radius: 999px; border: 1px solid #d9c27a; background: #fffaf0; font-size: 12px; font-weight: 700; color: #7a5a10; }
.rj-btns { display: flex; gap: 10px; margin-top: auto; }
.rj-apply { flex: 1; padding: 12px; border-radius: 999px; text-align: center; font-weight: 800; background: linear-gradient(90deg, #f36f21, #ff9a3c); color: #fff !important; text-decoration: none; }
.rj-more { flex: 1; padding: 12px; border-radius: 999px; text-align: center; font-weight: 800; border: 1px solid #cfd6e4; color: var(--navy) !important; text-decoration: none; }
.rc-env { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
.rc-env > div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 12px; padding: 18px 20px; border-radius: 16px; background: #fff; border: 1px solid #e3e7ef; }
.rc-env dt { font-weight: 900; color: var(--navy); }
.rc-env dt i { margin-right: 6px; color: #b8860b; }
.rc-env dd { margin: 0; font-size: 14px; line-height: 1.8; color: #3a4356; }
.rc-env small { color: #6b7488; }
.rc-flow { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: rf; }
.rc-flow li { counter-increment: rf; position: relative; padding: 22px 12px 18px; border-radius: 16px; background: #fff; border: 1px solid #e3e7ef; text-align: center; }
.rc-flow li::before { content: counter(rf); display: grid; place-items: center; width: 30px; height: 30px; margin: 0 auto 10px; border-radius: 50%; background: var(--navy); color: var(--gold); font: 900 14px/1 "Inter", sans-serif; }
.rc-flow li:first-child { border-color: #f2c46d; background: #fffaf0; }
.rc-flow b { display: block; font-size: 15px; color: var(--navy); }
.rc-flow span { display: block; margin-top: 6px; font-size: 12px; line-height: 1.6; color: #5b6577; }
.rc-faq { display: grid; gap: 10px; max-width: 860px; }
.rc-faq details { border-radius: 14px; background: #fff; border: 1px solid #e3e7ef; padding: 0 18px; }
.rc-faq summary { cursor: pointer; padding: 16px 0; font-weight: 800; color: var(--navy); }
.rc-faq p { margin: 0 0 16px; font-size: 14px; line-height: 1.85; color: #3a4356; }
.rc-cta { padding: 90px 0; text-align: center; color: #fff; background: radial-gradient(60% 80% at 50% 0%, #22307a, transparent 70%), #04060f; }
.rc-cta h2 { margin: 12px 0 10px; font-size: clamp(26px, 4vw, 44px); font-weight: 900; color: #fff; border: 0 !important; }
.rc-cta h2 span { color: var(--gold); }
.rc-cta p { color: rgba(232, 238, 255, .8); }
.rc-cta .rc-en { color: var(--gold); }
.rc-tel { margin-top: 16px; font-size: 13px; }
.rc .fst { margin: 0 auto; }
@media (max-width: 960px) {
  .rc-why { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rc-cu { grid-template-columns: 1fr; }
  .rc-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .rc-hero { padding: 100px 0 56px; }
  .rc-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rc-why, .rj-grid, .rc-env { grid-template-columns: 1fr; }
  .rc-env > div { grid-template-columns: 1fr; gap: 4px; }
  .rc-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rc-sec { padding: 64px 0; }
}

.rc-msg { text-align: center; margin: 0 auto 56px; }
.rc-msg-big { margin: 0; font-size: clamp(34px, 6.6vw, 84px); font-weight: 900; line-height: 1.22; letter-spacing: .01em; color: #fff; }
.rc-msg-big span { background: linear-gradient(90deg, #ffe08a, #ffb300 35%, #ff4fc8 70%, #3fd0ff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rc-msg-sub { margin: 18px 0 0; font-size: clamp(22px, 3.4vw, 40px); font-weight: 900; color: #ffd54a; letter-spacing: .08em; text-shadow: 0 0 24px rgba(255, 190, 40, .45); }
.rc-msg-by { margin: 22px 0 0; font-size: 14px; font-weight: 800; color: rgba(232, 238, 255, .85); }
.rc-msg-by small { display: block; margin-top: 4px; font-size: 12px; font-weight: 500; color: rgba(232, 238, 255, .6); }
.rc-msg .sp { display: none; }
@media (max-width: 640px) { .rc-msg .sp { display: inline; } }
.rc .rc-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 40px auto 0; }
.rc .rc-stats b { color: #ffd54a; }
@media (max-width: 640px) { .rc .rc-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
