/* 株式会社リアル 下層（top.css の部品に足す。1920px幅のデザイン基準・767px以下はSPデザイン） */
.rl-page .rl-header { background: transparent; }
.rl-page .rl-nav { gap: 48px; }
.rl-page .rl-nav a { font-size: 14px; }
.rl-pixels { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.pc { display: inline; }

/* 上部帯 */
.rl-ph { position: relative; height: 540px; background: var(--rl-dark); color: #fff; overflow: hidden; }
.rl-ph__in { position: relative; z-index: 1; padding-top: 205px; text-align: center; }
.rl-ph__en { margin: 0; font-family: var(--rl-en); font-size: 26px; font-weight: 700; letter-spacing: .06em; line-height: 1; }
.rl-ph__ja { margin: 22px 0 0; font-size: 46px; font-weight: 700; letter-spacing: .08em; line-height: 1.2; }
.rl-bc { position: absolute; left: 0; bottom: -20px; z-index: 2; display: flex; gap: 16px; align-items: center; width: 310px; height: 56px; padding-left: 84px; background: #000; font-size: 14px; font-weight: 700; color: #fff; }
.rl-bc a { font-family: var(--rl-en); }

/* 見出しの日本語を大きく */
.rl-ttl__ja--l { font-size: 26px; margin-top: 22px; }
.rl-ttl__ja--xl { font-size: 40px; margin-top: 26px; }
.rl-ttl__en--m { font-size: 52px; }

/* About */
.rl-co-about { padding: 160px 20px 50px; }
.rl-co-about__txt { margin-top: 44px; text-align: center; font-size: 15px; font-weight: 500; }
.rl-co-about__txt p { margin: 0; }
.rl-co-real { position: relative; max-width: 1400px; height: 480px; margin: 20px auto 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.rl-co-real__lead { margin: 0; font-size: 24px; font-weight: 700; letter-spacing: .1em; }
.rl-co-real__word { margin: 36px 0 0; font-family: var(--rl-en); font-size: 40px; font-weight: 800; color: #ccc; letter-spacing: .01em; line-height: 1; }
.rl-co-real__word b { color: #111; }
.rl-co-real__sub { margin: 34px 0 0; font-size: 16px; font-weight: 500; line-height: 2.2; }
.rl-co-real__deco i { position: absolute; display: block; background: #ccc; }
.rl-co-real__deco i:nth-child(1) { left: 0; top: 135px; width: 90px; height: 1px; background: #bbb; }
.rl-co-real__deco i:nth-child(2) { left: 0; top: 270px; width: 80px; height: 1px; background: #bbb; }
.rl-co-real__deco i:nth-child(3) { left: 55px; top: 230px; width: 22px; height: 22px; background: #333; }
.rl-co-real__deco i:nth-child(4) { left: 300px; top: 107px; width: 22px; height: 22px; background: #ddd; }
.rl-co-real__deco i:nth-child(5) { left: 185px; top: 330px; width: 30px; height: 30px; background: #ddd; }
.rl-co-real__deco i:nth-child(6) { left: 155px; top: 370px; width: 1px; height: 45px; background: #bbb; }
.rl-co-real__deco i:nth-child(7) { right: 230px; top: 180px; width: 24px; height: 24px; background: #ddd; }
.rl-co-real__deco i:nth-child(8) { right: 230px; top: 164px; width: 76px; height: 1px; background: #bbb; }
.rl-co-real__deco i:nth-child(9) { right: 230px; top: 345px; width: 38px; height: 38px; background: #333; }
.rl-co-real__deco i:nth-child(10) { right: 0; top: 345px; width: 95px; height: 1px; background: #bbb; }

/* 各セクション */
.rl-co-sec { padding: 150px 20px; }
.rl-co-sec--gray { background: var(--rl-bg); }
.rl-co-lead { margin: 40px 0 0; text-align: center; font-size: 15px; font-weight: 500; line-height: 2.4; }

/* 会社情報の表 */
.rl-co-table { width: 100%; max-width: 1040px; margin: 70px auto 0; border-collapse: collapse; background: #fff; font-size: 15px; }
.rl-co-table th, .rl-co-table td { padding: 26px 26px; border: 1px solid var(--rl-line); text-align: left; vertical-align: top; line-height: 2.1; }
.rl-co-table th { width: 272px; background: #f5f5f5; font-weight: 700; }
.rl-co-table td { font-weight: 500; }
.rl-dots { margin: 0; padding: 0; list-style: none; }
.rl-dots li::before { content: "・"; }
.rl-ul { border-bottom: 1px solid #555; }

/* 沿革 */
.rl-hist { position: relative; max-width: 1000px; margin: 70px auto 0; padding: 0; list-style: none; }
.rl-hist::before { content: ""; position: absolute; left: 170px; top: 10px; bottom: 10px; width: 1px; background: var(--rl-line); }
.rl-hist li { position: relative; display: grid; grid-template-columns: 290px 1fr; align-items: baseline; padding: 20px 0; }
.rl-hist li::before { content: ""; position: absolute; left: 167px; top: 37px; width: 7px; height: 7px; border-radius: 50%; background: #ccc; }
.rl-hist__y { padding-left: 25px; font-family: var(--rl-en); font-size: 28px; font-weight: 800; line-height: 1; }
.rl-hist__y small { font-family: var(--rl-ja); font-size: 16px; font-weight: 700; }
.rl-hist__t { font-size: 15px; font-weight: 500; }

/* 事業紹介 */
.rl-biz { display: grid; grid-template-columns: repeat(3, 440px); justify-content: center; gap: 50px; margin-top: 60px; }
.rl-biz__card { display: flex; flex-direction: column; align-items: center; padding: 50px 50px 55px; background: #fff; }
.rl-biz__ic { width: 160px !important; height: 130px; object-fit: contain; }
.rl-biz__en { margin: 28px 0 0; font-family: var(--rl-en); font-size: 17px; font-weight: 700; color: #999; letter-spacing: .04em; }
.rl-biz__ttl { margin: 12px 0 0; text-align: center; font-size: 26px; font-weight: 700; line-height: 1.75; }
.rl-biz__txt { flex: 1; margin: 22px 0 0; font-size: 15px; font-weight: 700; line-height: 2.25; }
.rl-biz__btn { width: 340px; margin-top: 30px; }

/* 代表メッセージ */
.rl-msg { display: grid; grid-template-columns: 300px 670px; gap: 70px; justify-content: center; margin-top: 70px; }
.rl-msg__ph { width: 300px !important; }
.rl-msg__body > p { margin: 0; font-size: 15px; font-weight: 700; line-height: 2.45; }
.rl-msg__sign { margin-top: 10px !important; text-align: right; }
.rl-msg__dl { margin: 30px 0 0; }
.rl-msg__dl dt { padding-top: 28px; border-top: 1px solid var(--rl-line); font-size: 14px; font-weight: 700; color: #999; }
.rl-msg__dl dd { margin: 14px 0 28px; font-size: 15px; font-weight: 700; line-height: 2.45; }
.rl-msg__sns { display: flex; gap: 60px; }
.rl-msg__sns svg { width: 26px; height: 26px; }

/* メンバー */
.rl-mem { max-width: 1260px; margin: 90px auto 0; }
.rl-mem__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 80px; margin: 0; padding: 0; list-style: none; }
.rl-mem__item { display: flex; flex-direction: column; align-items: center; }
.rl-mem__ph { width: 150px !important; height: 150px; border-radius: 50%; background: #fff; object-fit: cover; }
.rl-mem__role { margin: 34px 0 0; font-size: 15px; font-weight: 700; color: #999; }
.rl-mem__name { margin: 2px 0 0; font-family: var(--rl-en); font-size: 22px; font-weight: 700; letter-spacing: .06em; }
.rl-mem__txt { margin: 20px 0 0; max-width: 340px; font-size: 15px; font-weight: 500; line-height: 2.4; }

/* 取引実績 */
.rl-clients { display: grid; grid-template-columns: repeat(6, 176px); justify-content: center; gap: 10px 20px; margin: 70px 0 0; padding: 0; list-style: none; }
.rl-clients img { width: 176px !important; }

/* 公式SNS */
.rl-snsbox { position: relative; height: 470px; background: var(--rl-dark); color: #fff; overflow: hidden; }
.rl-snsbox__in { position: relative; z-index: 1; padding-top: 100px; text-align: center; }
.rl-snsbox__en { margin: 0; font-family: var(--rl-en); font-size: 26px; font-weight: 700; color: #ddd; }
.rl-snsbox__ja { margin: 20px 0 0; font-size: 38px; font-weight: 700; letter-spacing: .08em; line-height: 1.3; }
.rl-snsbox__list { display: flex; justify-content: center; gap: 100px; margin: 50px 0 0; padding: 0; list-style: none; }
.rl-snsbox__list a { display: flex; flex-direction: column; align-items: center; gap: 8px; font-family: var(--rl-en); font-size: 12px; font-weight: 700; }
.rl-snsbox__list svg { width: 46px; height: 46px; }

/* アクセス */
.rl-co-mapbtn { width: 340px; margin-top: 60px; }

/* 相談の帯 */
.rl-consult { position: relative; padding: 130px 20px 130px; background: #f4f4f4; overflow: hidden; }
.rl-consult__in { position: relative; z-index: 1; text-align: center; }
.rl-consult__ttl { margin: 0; font-size: 42px; font-weight: 700; line-height: 1.55; letter-spacing: .06em; }
.rl-consult__txt { margin: 40px 0 0; font-size: 15px; font-weight: 500; line-height: 2.5; }
.rl-consult__note { margin: 50px 0 0; font-size: 16px; font-weight: 700; line-height: 1; }
.rl-consult__btn { display: inline-flex; align-items: center; justify-content: center; width: 400px; height: 80px; margin-top: 12px; background: var(--rl-accent); color: #fff !important; font-size: 21px; font-weight: 700; letter-spacing: .06em; }
.rl-consult__btn:hover { opacity: .85; }

@media (max-width: 767px) {
	.rl-top .pc { display: none; }
	.rl-ph { height: 72vw; margin: 0 2.7vw; }
	.rl-ph__in { padding-top: 26vw; }
	.rl-ph__en { font-size: 4.6vw; }
	.rl-ph__ja { margin-top: 2vw; font-size: 8.4vw; }
	.rl-bc { bottom: 0; width: 76vw; height: 10vw; padding-left: 4vw; gap: 2.5vw; font-size: 3vw; }
	.rl-ttl__ja--l { font-size: 6.4vw; margin-top: 3vw; }
	.rl-ttl__ja--xl { font-size: 6.4vw; }
	.rl-ttl__en--m { font-size: 7.4vw; }
	.rl-co-about { padding: 18vw 4vw 6vw; }
	.rl-co-about__txt { margin-top: 6vw; text-align: left; font-size: 4.2vw; font-weight: 500; line-height: 1.6; }
	.rl-co-about__txt .sp { display: block; }
	.rl-co-real { height: 44vw; margin-top: 8vw; }
	.rl-co-real__lead { font-size: 4.2vw; }
	.rl-co-real__word { margin-top: 5vw; font-size: 4.6vw; }
	.rl-co-real__sub { margin-top: 5vw; font-size: 3.4vw; line-height: 1.7; }
	.rl-co-real__deco { display: none; }
	.rl-co-sec { padding: 14vw 4vw; }
	.rl-co-lead { margin-top: 6vw; padding: 0; text-align: left; font-size: 4.1vw; font-weight: 500; line-height: 1.65; }
	.rl-co-table { margin-top: 7vw; font-size: 3.75vw; }
	.rl-co-table th, .rl-co-table td { padding: 3.6vw 3.4vw; line-height: 1.7; }
	.rl-co-table th { box-sizing: border-box; width: 26.7vw; }
	.rl-hist { margin-top: 7vw; padding: 0; }
	.rl-hist::before { left: 22vw; }
	.rl-hist li { grid-template-columns: 25vw 1fr; padding: 2.4vw 0; }
	.rl-hist li::before { left: 21.4vw; top: 4.4vw; width: 1.3vw; height: 1.3vw; }
	.rl-hist__y { padding-left: 1vw; font-size: 4.2vw; }
	.rl-hist__y small { font-size: 3vw; }
	.rl-hist__t { padding-left: 2vw; text-align: left; font-size: 3.9vw; line-height: 1.65; }
	.rl-biz { grid-template-columns: 1fr; gap: 6vw; margin-top: 7vw; padding: 0; }
	.rl-biz__card { padding: 8vw 5vw; }
	.rl-biz__ic { width: 26vw !important; height: 21vw; }
	.rl-biz__en { margin-top: 3vw; font-size: 2.8vw; }
	.rl-biz__ttl { margin-top: 1vw; font-size: 4.8vw; }
	.rl-biz__txt { margin-top: 2vw; text-align: left; font-size: 3.9vw; font-weight: 500; line-height: 1.65; }
	.rl-biz__btn { width: 100%; margin-top: 5vw; }
	.rl-msg { grid-template-columns: 1fr; gap: 7vw; margin-top: 7vw; padding: 0; text-align: left; }
	.rl-msg__ph { width: 56vw !important; margin: 0 auto; }
	.rl-msg__body > p, .rl-msg__dl dd { font-size: 4.1vw; font-weight: 500; line-height: 1.65; }
	.rl-msg__dl dt { padding-top: 5vw; font-size: 3vw; }
	.rl-msg__dl dd { margin: 2.6vw 0 5vw; }
	.rl-msg__sns { gap: 11vw; }
	.rl-msg__sns svg { width: 5vw; height: 5vw; }
	.rl-mem { margin-top: 8vw; }
	.rl-mem__list { display: flex; gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.rl-mem__list::-webkit-scrollbar { display: none; }
	.rl-mem__item { flex: 0 0 100%; padding: 0 4vw; scroll-snap-align: center; }
	.rl-mem__ph { width: 36vw !important; height: 36vw; }
	.rl-mem__role { margin-top: 5vw; font-size: 3vw; }
	.rl-mem__name { font-size: 4.4vw; }
	.rl-mem__txt { margin-top: 3vw; max-width: none; text-align: left; font-size: 4vw; font-weight: 500; line-height: 1.65; }
	.rl-mem__nav { display: flex !important; justify-content: center; gap: 5vw; margin-top: 7vw; }
	.rl-mem__nav button { width: 14vw; height: 14vw; border: 0; border-radius: 50%; background: #000; color: #fff; font-size: 6vw; line-height: 1; }
	.rl-clients { grid-template-columns: repeat(3, 1fr); gap: 1vw 2vw; margin-top: 7vw; padding: 0 3vw; }
	.rl-clients img { width: 100% !important; }
	.rl-snsbox { height: auto; padding-bottom: 10vw; }
	.rl-snsbox__in { padding-top: 12vw; }
	.rl-snsbox__en { font-size: 4.4vw; }
	.rl-snsbox__ja { margin-top: 2vw; font-size: 6.6vw; }
	.rl-snsbox__list { flex-wrap: wrap; gap: 6vw 0; margin-top: 7vw; }
	.rl-snsbox__list li { flex: 0 0 33.3%; }
	.rl-snsbox__list svg { width: 9vw; height: 9vw; }
	.rl-snsbox__list a { font-size: 3vw; }
	.rl-co-mapbtn { width: 81vw; margin-top: 8vw; }
	.rl-consult { padding: 12vw 6vw 14vw; text-align: left; }
	.rl-consult__in { text-align: left; }
	.rl-consult__ttl { font-size: 6.6vw; }
	.rl-consult__txt { margin-top: 6vw; font-size: 4vw; font-weight: 500; line-height: 1.65; }
	.rl-consult__note { margin-top: 10vw; text-align: center; font-size: 3vw; }
	.rl-consult__btn { display: flex; width: 100%; height: 13vw; margin-top: 2vw; font-size: 4.4vw; }
}

/* ============================================================
   LP3 人材派遣・キャスティング（/staffing/・body.rl-st）。色は緑。会社概要には効かない
   ============================================================ */
body.rl-st { --rl-accent: #00b968; --rl-st-line: #a8a8a8; }
.rl-st .rl-header:not(.is-scrolled):not(.is-open) .rl-logo,
.rl-st .rl-header:not(.is-scrolled):not(.is-open) .rl-nav a { color: #111; }
.rl-st .rl-cta a { background: var(--rl-accent); }
.rl-st-ttl .rl-ttl__en { font-size: 50px; }
.rl-st-ttl .rl-ttl__ja { margin-top: 30px; font-size: 38px; line-height: 1.58; letter-spacing: .08em; }
.rl-st-ttl .rl-ttl__ja small { font-size: 28px; }
.rl-st-sec { padding: 145px 20px; }
.rl-st-sec--gray { background: var(--rl-bg); }
.rl-st-lead { margin: 30px 0 0; text-align: center; font-size: 15px; font-weight: 700; line-height: 2.45; }
.rl-st-note { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.6; }
.rl-st-btn { display: inline-flex; align-items: center; justify-content: center; width: 448px; height: 80px; background: var(--rl-accent); color: #fff !important; font-size: 21px; font-weight: 700; letter-spacing: .06em; }
.rl-st-btn:hover { opacity: .85; }

/* ヒーロー（PSDから文字なしで書き出した全幅の写真。左の白いもやは写真に入っている） */
.rl-st-hero { position: relative; height: 1040px; background: #f4f7fb; }
.rl-st-hero__bg { position: absolute; inset: 0; overflow: hidden; }
.rl-st-hero__bg img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; object-position: right center; }
.rl-st-hero .rl-pixels { z-index: 1; opacity: .55; }
.rl-st-hero__in { position: relative; z-index: 2; padding: 164px 0 0 72px; }
.rl-st-hero__lead { margin: 0; color: var(--rl-accent); font-size: 26px; font-weight: 700; line-height: 1.5; letter-spacing: .06em; }
.rl-st-hero__ttl { margin: 24px 0 0; font-size: min(82px, 4.27vw); font-weight: 900; line-height: 1.25; letter-spacing: .04em; }
.rl-st-hero__txt { margin: 24px 0 0; font-size: 20px; font-weight: 700; line-height: 1.7; letter-spacing: .05em; }
.rl-st-hero .rl-st-note { width: 364px; margin-top: 30px; text-align: center; font-size: 15px; }
.rl-st-btn--hero { width: 364px; height: 78px; margin-top: 4px; }
.rl-st-bc { width: 404px; bottom: -20px; height: 54px; padding-left: 84px; }

/* 括弧の実績 */
.rl-st-stats { display: flex; gap: 16px; margin: 32px 0 0; padding: 0; list-style: none; }
.rl-st-stats li { position: relative; display: flex; align-items: center; justify-content: center; gap: 8px; width: 240px; height: 64px; line-height: 1.25; }
.rl-st-stats li::before, .rl-st-stats li::after { content: ""; position: absolute; top: 0; bottom: 0; width: 8px; border: 2px solid #111; }
.rl-st-stats li::before { left: 0; border-right: 0; }
.rl-st-stats li::after { right: 0; border-left: 0; }
.rl-st-stats span { font-size: 12px; font-weight: 700; }
.rl-st-stats b { font-family: var(--rl-en); font-size: 40px; font-weight: 800; line-height: 1; }
.rl-st-stats small { margin-left: 2px; font-size: 13px; font-weight: 700; }
.rl-st-stats strong { font-size: 30px; font-weight: 900; line-height: 1.1; letter-spacing: .06em; }
.rl-st-stats .is-col { flex-direction: column; gap: 2px; }
.rl-st-stats--c { justify-content: center; margin: 70px 0 0; gap: 22px; }
.rl-st-stats--c li { width: 236px; height: 66px; }

/* Issues */
.rl-st-issues { padding-top: 113px; }
.rl-st-need__ttl { margin: 52px 0 0; text-align: center; font-size: 16px; font-weight: 700; }
.rl-st-need { display: flex; justify-content: center; gap: 66px; margin: 26px 0 0; padding: 0; list-style: none; }
.rl-st-need li { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: space-between; width: 234px; height: 176px; padding: 16px 0 14px; border: 1px solid var(--rl-st-line); background: #fff; font-size: 16px; font-weight: 700; line-height: 1.5; }
.rl-st-need li + li::before { content: "×"; position: absolute; left: -46px; top: 50%; transform: translateY(-50%); font-size: 26px; font-weight: 300; color: #555; }
.rl-st-need img { width: auto !important; height: 92px; }
.rl-st-need__note { margin: 64px 0 0; text-align: center; font-size: 15px; font-weight: 700; }
.rl-st-down { display: block; width: 0; height: 0; margin: 58px auto 0; border-style: solid; border-width: 36px 26px 0; border-color: #00bc47 transparent transparent; }
.rl-st-h3 { margin: 40px 0 0; text-align: center; font-size: 36px; font-weight: 700; line-height: 1.66; letter-spacing: .08em; }
.rl-st-issue { display: grid; grid-template-columns: repeat(2, minmax(0, 690px)); justify-content: center; gap: 40px; margin: 40px 0 0; padding: 0; list-style: none; }
.rl-st-issue li { display: flex; justify-content: space-between; align-items: center; height: 240px; padding: 0 38px 0 50px; border: 1px solid var(--rl-st-line); background: #fff; }
.rl-st-issue li > div { align-self: flex-start; padding-top: 42px; max-width: 300px; }
.rl-st-issue img { width: 252px !important; }
.rl-st-num { position: relative; display: inline-block; margin: 0; padding-right: 20px; font-family: var(--rl-en); font-size: 26px; font-weight: 600; color: #999; line-height: 1; }
.rl-st-num::after { content: ""; position: absolute; right: 0; bottom: -4px; width: 1px; height: 34px; background: #999; transform: rotate(35deg); }
.rl-st-issue__txt { margin: 20px 0 0; font-size: 15px; font-weight: 700; line-height: 2.25; }
.rl-st-issue__note { display: flex; align-items: center; gap: 22px; max-width: 1420px; margin: 52px auto 0; font-size: 15px; font-weight: 700; }
.rl-st-issue__note .rl-arrow { flex: 0 0 26px; height: 26px; }

/* Support */
.rl-st-sup { max-width: 1040px; margin: 40px auto 0; padding: 0; list-style: none; }
.rl-st-sup li { display: flex; align-items: center; height: 292px; padding-left: 40px; border: 1px solid var(--rl-st-line); background: #fff; }
.rl-st-sup li + li { margin-top: 40px; }
.rl-st-sup img { flex: 0 0 360px; width: 360px !important; height: 230px; object-fit: contain; }
.rl-st-sup li > div { padding-left: 76px; max-width: 580px; }
.rl-st-sup__lb { margin: 0; font-size: 13px; font-weight: 700; color: #999; line-height: 1.4; }
.rl-st-sup__ttl { display: flex; align-items: center; gap: 30px; margin: 6px 0 0; font-size: 28px; font-weight: 700; line-height: 1.3; letter-spacing: .06em; }
.rl-st-sup__ttl b { font-family: var(--rl-en); font-size: 50px; font-weight: 600; color: #999; line-height: 1; }
.rl-st-sup__txt { margin: 16px 0 0; font-size: 15px; font-weight: 700; line-height: 2.25; }

/* 全幅写真 */
.rl-st-wide img { width: 100% !important; height: 580px; object-fit: cover; }

/* Strength */
.rl-st-strength { padding-top: 143px; }
.rl-st-str { margin-top: 83px; }
.rl-st-str__row { display: grid; grid-template-columns: 1fr 1fr; min-height: 640px; }
.rl-st-str__row img { width: 100% !important; height: 100%; object-fit: cover; }
.rl-st-str__row.is-rev img { order: 2; }
.rl-st-str__body { align-self: center; padding: 40px 6vw 40px 7.8vw; }
.rl-st-str__row.is-rev .rl-st-str__body { padding-left: 13vw; padding-right: 4vw; }
.rl-st-str__no { display: flex; align-items: baseline; gap: 10px; margin: 0; font-family: var(--rl-en); font-size: 30px; font-weight: 500; color: #999; line-height: 1; letter-spacing: .04em; }
.rl-st-str__no b { font-size: 40px; font-weight: 600; }
.rl-st-str__no i { display: inline-block; width: 1px; height: 40px; margin-left: 24px; background: #aaa; transform: rotate(30deg); }
.rl-st-str__ttl { margin: 30px 0 0; font-size: 26px; font-weight: 700; line-height: 1.75; letter-spacing: .06em; }
.rl-st-str__txt { max-width: 570px; margin: 18px 0 0; font-size: 15px; font-weight: 700; line-height: 2.45; }

/* Service */
.rl-st-service { padding-bottom: 122px; }
.rl-st-svc { display: grid; grid-template-columns: repeat(2, minmax(0, 690px)); justify-content: center; gap: 50px 40px; margin: 45px 0 0; padding: 0; list-style: none; }
.rl-st-svc li { display: flex; justify-content: space-between; height: 300px; padding: 34px 40px 0 46px; border: 1px solid var(--rl-st-line); background: #fff; }
.rl-st-svc li > div { max-width: 370px; }
.rl-st-svc img { width: 200px !important; height: 180px; object-fit: contain; }
.rl-st-svc__ttl { margin: 0; font-size: 24px; font-weight: 700; line-height: 1.9; letter-spacing: .04em; }
.rl-st-svc__txt { margin: 8px 0 0; font-size: 15px; font-weight: 700; line-height: 2.25; }
.rl-st-nav { display: none; }

/* 黒地に格子の相談帯 */
.rl-st-consult { position: relative; height: 630px; padding-top: 88px; background: var(--rl-dark); color: #fff; text-align: center; overflow: hidden; }
.rl-st-consult__in { position: relative; z-index: 1; }
.rl-st-consult__ttl { margin: 0; font-size: 40px; font-weight: 700; line-height: 1.55; letter-spacing: .08em; }
.rl-st-consult__txt { margin: 26px 0 0; font-size: 15px; font-weight: 700; line-height: 2.45; }
.rl-st-note--w { margin-top: 18px; }
.rl-st-consult .rl-st-btn { margin-top: 8px; }

/* Results（浮かぶ小さな写真はデザインから切った背景1枚） */
.rl-st-results { padding: 131px 20px 142px; background: #fff url(../img/sub/staffing/results-bg.webp) center top / cover no-repeat; }
.rl-st-results .rl-st-lead { margin-top: 74px; }

/* Case */
.rl-st-case { padding-top: 130px; }
.rl-st-case__item { display: grid; grid-template-columns: minmax(0, 560px) minmax(0, 600px); gap: min(80px, 4vw); justify-content: center; margin-top: 55px; }
.rl-st-case__item + .rl-st-case__item { margin-top: 90px; }
.rl-st-case__item img { width: 100% !important; height: 400px; object-fit: cover; }
.rl-st-case__tag { display: inline-block; margin: 0; padding: 0 26px; background: #e9e9e9; font-size: 16px; font-weight: 700; line-height: 34px; }
.rl-st-case__ttl { margin: 16px 0 0; font-size: 26px; font-weight: 700; line-height: 1.77; letter-spacing: .04em; }
.rl-st-case__txt { margin: 14px 0 0; font-size: 15px; font-weight: 700; line-height: 2.25; }
.rl-st-case__dl { display: grid; grid-template-columns: 88px 1fr; margin: 14px 0 0; font-size: 13px; font-weight: 700; color: #999; line-height: 30px; }
.rl-st-case__dl dt { position: relative; }
.rl-st-case__dl dt::after { content: "｜"; position: absolute; right: 8px; color: #bbb; }
.rl-st-case__dl dd { margin: 0; padding-left: 10px; }

/* Voice */
.rl-st-voice { padding: 130px 20px 176px; }
.rl-st-vc { display: grid; grid-template-columns: repeat(3, minmax(0, 340px)); justify-content: center; gap: min(110px, 5vw); margin: 88px 0 0; padding: 0; list-style: none; }
.rl-st-vc img { width: 126px !important; height: 144px; margin: 0 auto; object-fit: contain; }
.rl-st-vc__ttl { margin: 44px 0 0; font-size: 20px; font-weight: 700; line-height: 1.7; }
.rl-st-vc__txt { margin: 10px 0 0; font-size: 15px; font-weight: 500; line-height: 2.5; }

/* Flow */
.rl-st-flow { padding: 131px 20px 130px; }
.rl-st-step { max-width: 1040px; margin: 50px auto 0; padding: 0; list-style: none; }
.rl-st-step li { position: relative; display: flex; align-items: center; min-height: 190px; padding: 30px 40px 30px 0; border: 1px solid var(--rl-st-line); background: #fff; }
.rl-st-step li + li { margin-top: 60px; }
.rl-st-step li + li::before { content: ""; position: absolute; left: 50%; top: -38px; margin-left: -9px; border-style: solid; border-width: 14px 9px 0; border-color: #111 transparent transparent; }
.rl-st-step__no { flex: 0 0 144px; align-self: stretch; display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 0; border-right: 1px solid #ddd; font-family: var(--rl-en); font-size: 38px; font-weight: 700; line-height: 1; }
.rl-st-step__no small { margin-bottom: 4px; font-size: 11px; font-weight: 700; letter-spacing: .1em; }
.rl-st-step img { flex: 0 0 96px; width: 96px !important; height: 96px; margin: 0 40px; object-fit: contain; }
.rl-st-step__ttl { margin: 0; font-size: 24px; font-weight: 700; line-height: 1.6; letter-spacing: .04em; }
.rl-st-step__txt { margin: 6px 0 0; font-size: 14px; font-weight: 700; line-height: 2.4; }

/* Price */
.rl-st-price { padding: 131px 20px 143px; }
.rl-st-pr { display: grid; grid-template-columns: repeat(4, minmax(0, 330px)); justify-content: center; gap: 34px; margin: 60px 0 0; padding: 0; list-style: none; }
.rl-st-pr li { display: flex; flex-direction: column; align-items: center; height: 440px; padding-top: 28px; border: 1px solid var(--rl-st-line); background: #fff; }
.rl-st-pr img { width: auto !important; height: 210px; object-fit: contain; }
.rl-st-pr__ttl { margin: 40px 0 0; font-size: 24px; font-weight: 700; line-height: 1.4; }
.rl-st-pr__val { display: flex; align-items: center; gap: 16px; margin: 26px 0 0; font-size: 18px; font-weight: 700; line-height: 1; }
.rl-st-pr__val em { padding: 0 20px; background: #111; color: #fff; font-size: 13px; font-style: normal; line-height: 28px; }
.rl-st-pr__val b { margin-right: -10px; font-family: var(--rl-en); font-size: 58px; font-weight: 800; }
.rl-st-pr__note { margin: 82px 0 0; text-align: center; font-size: 14px; font-weight: 700; line-height: 2.4; }

/* Faq（details の開閉。デザインどおり最初は開いた状態） */
.rl-st-faq { padding: 131px 20px 145px; }
.rl-st-qa { max-width: 1040px; margin: 54px auto 0; }
.rl-st-qa details { margin-bottom: 54px; }
.rl-st-qa summary { position: relative; display: flex; align-items: center; gap: 20px; padding: 0 60px 22px 0; border-bottom: 1px solid #ddd; font-size: 17px; font-weight: 700; line-height: 1.6; cursor: pointer; list-style: none; }
.rl-st-qa summary::-webkit-details-marker { display: none; }
.rl-st-qa i { flex: 0 0 36px; display: flex; align-items: center; justify-content: center; height: 36px; background: #111; color: #fff; font-family: var(--rl-en); font-size: 16px; font-style: normal; font-weight: 700; }
.rl-st-qa summary b { position: absolute; right: 0; top: 0; width: 34px; height: 34px; border: 1px solid #333; }
.rl-st-qa summary b::before, .rl-st-qa summary b::after { content: ""; position: absolute; left: 9px; right: 9px; top: 15px; height: 2px; background: #111; }
.rl-st-qa summary b::after { transform: rotate(90deg); transition: transform .2s; }
.rl-st-qa details[open] summary b::after { transform: rotate(0); }
.rl-st-qa p { display: flex; align-items: flex-start; gap: 20px; margin: 22px 0 0; font-size: 15px; font-weight: 700; line-height: 2.2; }
.rl-st-qa p i { background: #e9e9e9; color: #333; }

/* Contact（LP3専用の項目） */
.rl-st-contact { padding: 128px 20px 150px; }
.rl-st-contact__ttl { margin: 40px 0 0; text-align: center; font-size: 28px; font-weight: 700; letter-spacing: .06em; line-height: 1.6; }
.rl-st-contact__lead { max-width: 840px; margin: 14px auto 0; font-size: 15px; font-weight: 700; }
.rl-st-checks { display: grid; grid-template-columns: 288px 320px 1fr; gap: 0; max-width: 840px; margin: 12px auto 30px; line-height: 2.3; }
.rl-st-contact .rl-f { margin-bottom: 20px; }
.rl-st-contact .rl-f__lb em.is-any { border-color: #555; color: #333; }
.rl-st-f__note { display: block; margin-top: 6px; font-size: 13px; color: #aaa; line-height: 1.7; }
.rl-st-cbs { display: grid; grid-template-columns: 340px 1fr; }
.rl-st-contact .rl-cb { margin: 10px 0; }
.rl-st-contact .rl-st-ta { height: 100px; padding-top: 14px; }

@media (max-width: 767px) {
	.rl-st .rl-header:not(.is-scrolled):not(.is-open) .rl-burger span { background: #111; }
	.rl-st-ttl .rl-ttl__en { font-size: 9vw; }
	.rl-st-ttl .rl-ttl__ja { margin-top: 4vw; font-size: 6.4vw; line-height: 1.5; }
	.rl-st-ttl .rl-ttl__ja small { font-size: 4.2vw; }
	.rl-st-sec { padding: 14vw 4vw; }
	.rl-st-lead { margin-top: 5vw; text-align: left; font-size: 3.9vw; font-weight: 500; line-height: 1.7; }
	.rl-st-note { font-size: 3.4vw; }
	.rl-st-btn { width: 100%; height: 14vw; font-size: 4.2vw; }

	/* ヒーロー：写真を全面の背景にして文字を重ねる（SPデザインどおり） */
	.rl-st-hero { height: auto; padding: 17vw 0 21vw; margin-bottom: 7vw; background: #fff; }
	.rl-st-hero__bg { bottom: 0; }
	.rl-st-hero__bg img { object-position: center top; }
	.rl-st-hero__in { padding: 0 4vw; }
	.rl-st-hero__lead { font-size: 5vw; line-height: 1.45; letter-spacing: .04em; }
	.rl-st-hero__ttl { margin-top: 2.5vw; font-size: 11.2vw; line-height: 1.24; letter-spacing: 0; }
	.rl-st-hero__txt { margin-top: 9vw; font-size: 3.8vw; line-height: 1.68; letter-spacing: .02em; }
	.rl-st-hero .rl-st-note { width: 100%; margin-top: 3vw; font-size: 3.4vw; }
	.rl-st-btn--hero { width: 100%; height: 12vw; margin-top: 1.5vw; font-size: 4vw; }
	.rl-st-bc { left: 4vw; bottom: -7vw; width: 92vw; height: 13vw; padding-left: 4.5vw; }

	.rl-st-stats { flex-wrap: wrap; justify-content: center; gap: 2.4vw; margin-top: 6vw; }
	.rl-st-stats li { width: 43vw; height: 14vw; gap: 1.5vw; }
	.rl-st-stats span { font-size: 2.6vw; }
	.rl-st-stats b { font-size: 7vw; }
	.rl-st-stats small { font-size: 2.8vw; }
	.rl-st-stats strong { font-size: 5vw; }
	.rl-st-stats--c { margin-top: 8vw; }
	/* ヒーローの括弧は3つを1列（小さめ） */
	.rl-st-hero .rl-st-stats { flex-wrap: nowrap; justify-content: space-between; gap: 1vw; margin-top: 2.5vw; }
	.rl-st-hero .rl-st-stats li { width: 30.4vw; height: 10.5vw; gap: 1vw; }
	.rl-st-hero .rl-st-stats li::before, .rl-st-hero .rl-st-stats li::after { width: 1.6vw; border-width: 1.5px; }
	.rl-st-hero .rl-st-stats span { font-size: 1.9vw; line-height: 1.2; }
	.rl-st-hero .rl-st-stats b { font-size: 5.4vw; }
	.rl-st-hero .rl-st-stats small { font-size: 2vw; }
	.rl-st-hero .rl-st-stats strong { font-size: 3.8vw; }

	.rl-st-issues { padding-top: 18vw; }
	.rl-st-need__ttl { margin-top: 8vw; font-size: 4vw; }
	/* 本来必要なこと：縦1列・間に × */
	.rl-st-need { flex-direction: column; align-items: center; gap: 13vw; margin-top: 6vw; }
	.rl-st-need li { width: 55vw; height: 37vw; padding: 4vw 0 3vw; font-size: 3.6vw; }
	.rl-st-need li + li::before { left: 50%; top: -6.5vw; transform: translate(-50%, -50%); font-size: 6vw; }
	.rl-st-need img { height: 19vw; }
	.rl-st-need__note { margin-top: 6vw; text-align: left; font-size: 3.8vw; font-weight: 500; line-height: 1.7; }
	.rl-st-down { margin-top: 8vw; border-width: 6vw 4.5vw 0; }
	.rl-st-h3 { margin-top: 6vw; font-size: 5.2vw; line-height: 1.6; }
	.rl-st-issue { grid-template-columns: 1fr; gap: 4vw; margin-top: 6vw; }
	/* 課題カード：縦長（番号→文→下にイラスト） */
	.rl-st-issue li { flex-direction: column; align-items: stretch; height: auto; padding: 6vw 5vw 7vw; gap: 5vw; }
	.rl-st-issue li > div { align-self: stretch; padding-top: 0; max-width: none; }
	.rl-st-issue img { align-self: center; width: 62vw !important; height: auto; }
	.rl-st-num { font-size: 5vw; }
	.rl-st-num::after { height: 6vw; }
	.rl-st-issue__txt { margin-top: 3vw; font-size: 3.7vw; line-height: 1.7; }
	.rl-st-issue__note { align-items: flex-start; gap: 3vw; margin-top: 6vw; font-size: 3.8vw; font-weight: 500; line-height: 1.7; }
	.rl-st-issue__note .rl-arrow { flex-basis: 5vw; height: 5vw; margin-top: .8vw; }

	.rl-st-sup { margin-top: 7vw; }
	/* 支援フロー：文が上・イラストが下 */
	.rl-st-sup li { flex-direction: column; align-items: stretch; height: auto; padding: 5vw 5vw 6vw; }
	.rl-st-sup li + li { margin-top: 5vw; }
	.rl-st-sup img { order: 2; flex: none; align-self: center; width: 66vw !important; height: auto; margin-top: 4vw; }
	.rl-st-sup li > div { padding: 0; max-width: none; }
	.rl-st-sup__lb { font-size: 3vw; }
	.rl-st-sup__ttl { gap: 4vw; font-size: 4.8vw; }
	.rl-st-sup__ttl b { font-size: 9vw; }
	.rl-st-sup__txt { margin-top: 3vw; font-size: 3.8vw; font-weight: 500; line-height: 1.7; }

	.rl-st-wide img { height: 56vw; }

	.rl-st-strength { padding-top: 14vw; }
	.rl-st-str { margin-top: 8vw; }
	.rl-st-str__row { grid-template-columns: 1fr; min-height: 0; }
	.rl-st-str__row img, .rl-st-str__row.is-rev img { order: 0; height: 60vw; }
	.rl-st-str__body, .rl-st-str__row.is-rev .rl-st-str__body { padding: 7vw 5vw 10vw; }
	.rl-st-str__no { font-size: 5vw; }
	.rl-st-str__no b { font-size: 7vw; }
	.rl-st-str__no i { height: 7vw; margin-left: 4vw; }
	.rl-st-str__ttl { margin-top: 4vw; font-size: 5vw; line-height: 1.6; }
	.rl-st-str__txt { margin-top: 3vw; font-size: 3.8vw; font-weight: 500; line-height: 1.7; }

	.rl-st-service { padding-bottom: 14vw; }
	/* Service と Voice はスマホだけ横送り（1枚ずつ・下に黒丸の ‹ ›） */
	.rl-st-svc, .rl-st-vc { display: flex; justify-content: flex-start; gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.rl-st-svc::-webkit-scrollbar, .rl-st-vc::-webkit-scrollbar { display: none; }
	.rl-st-svc > li, .rl-st-vc > li { flex: 0 0 100%; scroll-snap-align: start; }
	.rl-st-nav { display: flex !important; justify-content: center; gap: 5vw; margin-top: 7vw; }
	.rl-st-nav button { width: 14vw; height: 14vw; padding: 0; border: 0; border-radius: 50%; background: #000; color: #fff; font-size: 6vw; line-height: 1; cursor: pointer; }
	.rl-st-svc { margin-top: 7vw; }
	.rl-st-svc li { flex-direction: column; align-items: center; height: auto; padding: 6vw 5vw 7vw; }
	.rl-st-svc li > div { order: 2; max-width: none; width: 100%; }
	.rl-st-svc img { width: 36vw !important; height: 32vw; }
	.rl-st-svc__ttl { margin-top: 3vw; text-align: center; font-size: 4.4vw; line-height: 1.6; }
	.rl-st-svc__txt { margin-top: 3vw; font-size: 3.6vw; line-height: 1.7; }

	.rl-st-consult { height: auto; padding: 14vw 5vw; }
	.rl-st-consult__ttl { font-size: 5.6vw; }
	.rl-st-consult__txt { margin-top: 5vw; text-align: left; font-size: 3.8vw; font-weight: 500; line-height: 1.7; }
	.rl-st-note--w { margin-top: 7vw; }
	.rl-st-consult .rl-st-btn { margin-top: 2vw; font-size: 3.9vw; }

	.rl-st-results { padding: 16vw 4vw; }
	.rl-st-results .rl-st-lead { margin-top: 7vw; }

	.rl-st-case { padding-top: 14vw; }
	.rl-st-case__item, .rl-st-case__item + .rl-st-case__item { grid-template-columns: 1fr; gap: 5vw; margin-top: 8vw; }
	.rl-st-case__item img { width: 100% !important; height: 66vw; }
	.rl-st-case__tag { padding: 0 4vw; font-size: 3.4vw; line-height: 7vw; }
	.rl-st-case__ttl { margin-top: 3vw; font-size: 4.8vw; line-height: 1.6; }
	.rl-st-case__txt { margin-top: 2vw; font-size: 3.8vw; font-weight: 500; line-height: 1.7; }
	.rl-st-case__dl { grid-template-columns: 20vw 1fr; font-size: 3.2vw; line-height: 1.9; }

	.rl-st-voice { padding: 14vw 5vw 16vw; }
	.rl-st-vc { margin-top: 8vw; }
	.rl-st-vc li { padding: 0 1vw; }
	.rl-st-vc img { width: 32vw !important; height: 36vw; }
	.rl-st-vc__ttl { margin-top: 4vw; font-size: 4.4vw; line-height: 1.6; }
	.rl-st-vc__txt { margin-top: 2vw; font-size: 3.8vw; line-height: 1.75; }

	.rl-st-flow { padding: 14vw 4vw; }
	.rl-st-step { margin-top: 7vw; }
	/* 流れ：縦長カード（上に STEP番号｜アイコン、下に見出し中央・本文） */
	.rl-st-step li { display: grid; grid-template-columns: auto 1fr; align-items: center; min-height: 0; padding: 6vw 5vw 6vw; }
	.rl-st-step li + li { margin-top: 12vw; }
	.rl-st-step li + li::before { top: -7.5vw; }
	.rl-st-step__no { align-self: center; align-items: flex-start; padding-right: 5vw; border-right: 0; font-size: 7vw; }
	.rl-st-step__no small { font-size: 2.2vw; }
	.rl-st-step img { width: 17vw !important; height: 17vw; margin: 0; }
	.rl-st-step li > div { grid-column: 1 / -1; margin-top: 4vw; }
	.rl-st-step__ttl { text-align: center; font-size: 4.2vw; line-height: 1.5; }
	.rl-st-step__txt { margin-top: 1.5vw; font-size: 3.4vw; font-weight: 500; line-height: 1.7; }

	.rl-st-price { padding: 14vw 4vw; }
	/* 料金：1列の大きいカード */
	.rl-st-pr { grid-template-columns: 1fr; gap: 5vw; margin-top: 7vw; }
	.rl-st-pr li { height: auto; padding: 6vw 4vw 7vw; }
	.rl-st-pr img { height: 44vw; }
	.rl-st-pr__ttl { margin-top: 5vw; font-size: 4.2vw; }
	.rl-st-pr__val { gap: 3vw; margin-top: 3vw; font-size: 3.4vw; }
	.rl-st-pr__val em { padding: 0 3vw; font-size: 2.8vw; line-height: 5.4vw; }
	.rl-st-pr__val b { margin-right: -1.5vw; font-size: 10vw; }
	.rl-st-pr__note { margin-top: 7vw; text-align: left; font-size: 3.6vw; font-weight: 500; line-height: 1.7; }

	.rl-st-faq { padding: 14vw 4vw; }
	.rl-st-qa { margin-top: 7vw; }
	.rl-st-qa details { margin-bottom: 7vw; }
	.rl-st-qa summary { gap: 3vw; padding: 0 10vw 3vw 0; font-size: 3.9vw; line-height: 1.55; }
	.rl-st-qa i { flex-basis: 7vw; height: 7vw; font-size: 3.4vw; }
	.rl-st-qa summary b { width: 7vw; height: 7vw; }
	.rl-st-qa summary b::before, .rl-st-qa summary b::after { left: 1.6vw; right: 1.6vw; top: calc(3.5vw - 2px); }
	.rl-st-qa p { gap: 3vw; margin-top: 3vw; font-size: 3.7vw; font-weight: 500; line-height: 1.7; }

	.rl-st-contact { padding: 14vw 3vw 12vw; }
	.rl-st-contact__ttl { margin-top: 6vw; font-size: 5.8vw; line-height: 1.5; }
	.rl-st-contact__lead { margin-top: 3vw; padding: 0 1vw; font-size: 3.7vw; font-weight: 500; line-height: 1.7; }
	.rl-st-checks { grid-template-columns: 1fr;margin: 4vw 0 6vw; padding: 0 1vw; font-size: 3.6vw; line-height: 2.2; letter-spacing: 0; }
	.rl-st-cbs { grid-template-columns: 1fr; }
	.rl-st-f__note { font-size: 3vw; }
	.rl-st-contact .rl-st-ta { height: 26vw; }
}

/* ============================================================
   LP1 展示会・イベント（/events/・body.rl-ev）。色はオレンジ（top.css の --rl-accent）。会社概要・LP3には効かない
   ============================================================ */
body.rl-ev { --rl-ev-line: #dcdcdc; --rl-ev-card: #f7f7f7; }
.rl-ev .rl-cta a { background: var(--rl-accent); }
.rl-ev-ttl .rl-ttl__en { font-size: 50px; }
.rl-ev-ttl .rl-ttl__ja { margin-top: 30px; font-size: 38px; line-height: 1.58; letter-spacing: .08em; }
.rl-ev-ttl .rl-ttl__ja small { font-size: 28px; }
.rl-ev-en { display: block; font-family: var(--rl-en); font-size: 50px; font-weight: 800; letter-spacing: .02em; line-height: 1; }
.rl-ev-sec { padding: 138px 20px 140px; }
.rl-ev-sec--gray { background: var(--rl-bg); }
.rl-ev-lead { margin: 40px 0 0; text-align: center; font-size: 15px; font-weight: 700; line-height: 2; }
.rl-ev-note { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.6; }
.rl-ev-btn { display: inline-flex; align-items: center; justify-content: center; width: 404px; height: 83px; background: var(--rl-accent); color: #fff !important; font-size: 18px; font-weight: 700; letter-spacing: .06em; }
.rl-ev-btn:hover { opacity: .85; }

/* ヒーロー（PSDから文字なしで書き出した全幅の写真） */
.rl-ev-hero { position: relative; height: 1040px; background: #111; color: #fff; }
.rl-ev-hero__bg { position: absolute; inset: 0; overflow: hidden; }
.rl-ev-hero__bg img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; object-position: center center; }
.rl-ev-hero .rl-pixels { z-index: 1; opacity: .6; }
.rl-ev-hero__in { position: relative; z-index: 2; padding: 252px 0 0 72px; }
.rl-ev-hero__lead { margin: 0; color: var(--rl-accent); font-size: 28px; font-weight: 700; line-height: 1.4; letter-spacing: .04em; }
.rl-ev-hero__ttl { margin: 30px 0 0; font-size: min(70px, 3.65vw); font-weight: 900; line-height: 1.36; letter-spacing: .04em; }
.rl-ev-hero__txt { margin: 30px 0 0; font-size: 19px; font-weight: 700; line-height: 1.65; letter-spacing: .04em; }
.rl-ev-hero .rl-ev-note { width: 370px; margin-top: 44px; text-align: center; font-size: 16px; }
.rl-ev-btn--hero { width: 370px; height: 83px; margin-top: 8px; }
.rl-ev-bc { width: 342px; bottom: -22px; height: 57px; padding-left: 84px; }

/* 括弧の実績（ヒーローは白・Results は黒） */
.rl-ev-stats { display: flex; gap: 15px; margin: 32px 0 0; padding: 0; list-style: none; }
.rl-ev-stats li { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; width: 243px; height: 67px; line-height: 1.2; }
.rl-ev-stats li::before, .rl-ev-stats li::after { content: ""; position: absolute; top: 0; bottom: 0; width: 8px; border: 2px solid currentColor; }
.rl-ev-stats li::before { left: 0; border-right: 0; }
.rl-ev-stats li::after { right: 0; border-left: 0; }
.rl-ev-stats span { font-size: 12px; font-weight: 700; }
.rl-ev-stats b { font-family: var(--rl-en); font-size: 38px; font-weight: 800; line-height: 1; }
.rl-ev-stats small { margin-left: 3px; font-size: 12px; font-weight: 700; }
.rl-ev-stats strong { font-size: 30px; font-weight: 900; line-height: 1.1; letter-spacing: .04em; }

/* Problem */
.rl-ev-problem { padding: 68px 20px 120px; }
.rl-ev-problem__top { display: flex; justify-content: center; align-items: flex-start; gap: 50px; }
.rl-ev-problem__body { width: 560px; padding-top: 84px; }
.rl-ev-problem__ja { display: block; margin-top: 42px; font-size: 40px; font-weight: 700; line-height: 1.5; letter-spacing: .06em; }
.rl-ev-problem__txt { margin: 36px 0 0; font-size: 15px; font-weight: 700; line-height: 2; }
.rl-ev-problem__top img { width: 700px !important; height: 524px; }
.rl-ev-pb { display: flex; justify-content: center; max-width: 1420px; margin: 4px auto 0; padding: 0; list-style: none; }
.rl-ev-pb li { position: relative; width: 33.3%; padding: 0 40px 0 70px; }
.rl-ev-pb li:first-child { padding-left: 0; }
.rl-ev-pb li + li::before { content: ""; position: absolute; left: 0; top: 0; height: 140px; width: 1px; background: #999; transform: rotate(22deg); transform-origin: top left; margin-left: 50px; }
.rl-ev-pb__no { margin: 0; font-family: var(--rl-en); font-size: 28px; font-weight: 500; color: #999; line-height: 1; }
.rl-ev-pb__txt { margin: 16px 0 0; font-size: 24px; font-weight: 700; line-height: 1.65; letter-spacing: .04em; }
.rl-ev-problem__note { display: flex; align-items: center; gap: 26px; max-width: 1420px; margin: 100px auto 0; font-size: 17px; font-weight: 700; }
.rl-ev-problem__note .rl-arrow { flex: 0 0 28px; height: 28px; }

/* Approach */
.rl-ev-approach { padding: 110px 20px 100px; }
.rl-ev-approach .rl-ev-lead { margin-top: 44px; }
.rl-ev-ap { max-width: 1042px; margin: 40px auto 0; padding: 0; list-style: none; }
.rl-ev-ap li { display: flex; align-items: center; gap: 76px; padding: 12px 0; border-bottom: 1px solid #eee; }
.rl-ev-ap li:last-child { border-bottom: 0; }
.rl-ev-ap img { flex: 0 0 400px; width: 400px !important; height: 301px; object-fit: contain; }
.rl-ev-ap__lb { margin: 0; font-size: 14px; font-weight: 700; color: #999; line-height: 1.4; }
.rl-ev-ap__ttl { display: flex; align-items: center; gap: 22px; margin: 4px 0 0; font-size: 26px; font-weight: 700; line-height: 1.3; letter-spacing: .06em; }
.rl-ev-ap__ttl b { font-family: var(--rl-en); font-size: 46px; font-weight: 500; color: #999; line-height: 1; }
.rl-ev-ap__txt { margin: 18px 0 0; font-size: 15px; font-weight: 700; line-height: 2; }

/* 全幅の絵 */
.rl-ev-wide img { width: 100% !important; height: 583px; object-fit: cover; }

/* Strength */
.rl-ev-strength { padding-top: 140px; }
.rl-ev-str { margin-top: 82px; }
.rl-ev-str__row { display: grid; grid-template-columns: 1fr 1fr; min-height: 643px; }
.rl-ev-str__row img { width: 100% !important; height: 100%; object-fit: cover; }
.rl-ev-str__row.is-rev img { order: 2; }
.rl-ev-str__body { align-self: center; padding: 40px 6vw 40px 7.8vw; }
.rl-ev-str__row.is-rev .rl-ev-str__body { padding-left: 13vw; padding-right: 4vw; }
.rl-ev-str__no { display: flex; align-items: baseline; gap: 10px; margin: 0; font-family: var(--rl-en); font-size: 30px; font-weight: 500; color: #999; line-height: 1; letter-spacing: .04em; }
.rl-ev-str__no b { font-size: 40px; font-weight: 500; }
.rl-ev-str__no i { display: inline-block; width: 1px; height: 40px; margin-left: 24px; background: #aaa; transform: rotate(30deg); }
.rl-ev-str__ttl { max-width: 560px; margin: 30px 0 0; font-size: 26px; font-weight: 700; line-height: 1.6; letter-spacing: .04em; }
.rl-ev-str__txt { max-width: 560px; margin: 20px 0 0; font-size: 15px; font-weight: 700; line-height: 2.2; }

/* Service（3×2・灰色の箱） */
.rl-ev-service { padding: 140px 20px 145px; }
.rl-ev-svc { display: grid; grid-template-columns: repeat(3, minmax(0, 443px)); justify-content: center; gap: 46px 48px; margin: 95px 0 0; padding: 0; list-style: none; }
.rl-ev-svc li { display: flex; flex-direction: column; align-items: center; height: 443px; padding: 36px 52px 0; background: var(--rl-ev-card); }
.rl-ev-svc__lb { margin: 0; font-size: 17px; font-weight: 700; color: #999; line-height: 1.4; }
.rl-ev-svc img { width: auto !important; height: 120px; margin-top: 30px; object-fit: contain; }
.rl-ev-svc__ttl { margin: 30px 0 0; font-size: 24px; font-weight: 700; line-height: 1.5; letter-spacing: .04em; }
.rl-ev-svc__txt { align-self: stretch; margin: 22px 0 0; font-size: 15px; font-weight: 700; line-height: 2.1; }
.rl-ev-nav { display: none; }

/* 黒地に格子の相談帯 */
.rl-ev-consult { position: relative; height: 633px; padding-top: 125px; background: var(--rl-dark); color: #fff; text-align: center; overflow: hidden; }
.rl-ev-consult__in { position: relative; z-index: 1; }
.rl-ev-consult__ttl { margin: 0; font-size: 36px; font-weight: 700; line-height: 1.55; letter-spacing: .08em; }
.rl-ev-consult__txt { margin: 36px 0 0; font-size: 15px; font-weight: 700; line-height: 2; }
.rl-ev-consult .rl-ev-note { margin-top: 44px; font-size: 15px; }
.rl-ev-consult .rl-ev-btn { margin-top: 8px; }

/* Results（浮かぶ小さな写真はPSDの「背景効果」1枚） */
.rl-ev-results { height: 708px; padding: 140px 20px 0; background: #fff url(../img/sub/events/results-bg.webp) center top / 1920px auto no-repeat; }
.rl-ev-results .rl-ev-lead { margin-top: 56px; }
.rl-ev-results__box { width: 824px; max-width: 100%; margin: 26px auto 0; padding: 35px 0; background: #fff; }
.rl-ev-results .rl-ev-stats { justify-content: center; margin: 0; }

/* Case */
.rl-ev-case { padding-top: 138px; }
.rl-ev-case .rl-ev-lead { margin-top: 44px; }
.rl-ev-case__item { display: grid; grid-template-columns: 563px minmax(0, 600px); gap: 78px; justify-content: center; margin-top: 56px; }
.rl-ev-case__item + .rl-ev-case__item { margin-top: 88px; }
.rl-ev-case__item img { width: 100% !important; height: 403px; object-fit: cover; }
.rl-ev-case__tag { display: inline-block; margin: 0; padding: 0 16px; background: #e9e9e9; font-size: 15px; font-weight: 700; line-height: 38px; }
.rl-ev-case__ttl { margin: 22px 0 0; font-size: 26px; font-weight: 700; line-height: 1.6; letter-spacing: .04em; }
.rl-ev-case__txt { margin: 16px 0 0; font-size: 15px; font-weight: 700; line-height: 2; }
.rl-ev-case__dl { display: grid; grid-template-columns: 88px 1fr; margin: 18px 0 0; font-size: 13px; font-weight: 700; color: #999; line-height: 30px; }
.rl-ev-case__dl dt { position: relative; }
.rl-ev-case__dl dt::after { content: "｜"; position: absolute; right: 8px; color: #bbb; }
.rl-ev-case__dl dd { margin: 0; padding-left: 10px; }

/* Flow */
.rl-ev-flow { padding-bottom: 138px; }
.rl-ev-step { max-width: 1042px; margin: 50px auto 0; padding: 0; list-style: none; }
.rl-ev-step li { position: relative; display: flex; align-items: center; height: 193px; padding: 0 40px 0 0; background: var(--rl-ev-card); }
.rl-ev-step li + li { margin-top: 57px; }
.rl-ev-step li + li::before { content: ""; position: absolute; left: 50%; top: -36px; margin-left: -8px; border-style: solid; border-width: 12px 8px 0; border-color: #111 transparent transparent; }
.rl-ev-step__no { flex: 0 0 160px; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100px; margin: 0; border-right: 1px solid #ccc; font-family: var(--rl-en); font-size: 34px; font-weight: 700; line-height: 1; }
.rl-ev-step__no small { margin-bottom: 4px; font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.rl-ev-step img { flex: 0 0 110px; width: 110px !important; height: 92px; margin: 0 26px 0 32px; object-fit: contain; }
.rl-ev-step__ttl { margin: 0; font-size: 24px; font-weight: 700; line-height: 1.5; letter-spacing: .04em; }
.rl-ev-step__txt { margin: 10px 0 0; font-size: 14px; font-weight: 700; line-height: 2.2; }

/* Price */
.rl-ev-price { padding-bottom: 141px; }
.rl-ev-pr { display: grid; grid-template-columns: repeat(3, minmax(0, 443px)); justify-content: center; gap: 48px; margin: 50px 0 0; padding: 0; list-style: none; }
.rl-ev-pr li { display: flex; flex-direction: column; align-items: center; height: 443px; padding-top: 36px; border: 1px solid var(--rl-ev-line); background: #fff; }
.rl-ev-pr img { width: auto !important; height: 220px; object-fit: contain; }
.rl-ev-pr__ttl { margin: 22px 0 0; font-size: 24px; font-weight: 700; line-height: 1.4; }
.rl-ev-pr__val { display: flex; align-items: center; gap: 14px; margin: 30px 0 0; font-size: 18px; font-weight: 700; line-height: 1; }
.rl-ev-pr__val em { padding: 0 14px; background: #111; color: #fff; font-size: 14px; font-style: normal; line-height: 30px; }
.rl-ev-pr__val b { margin-right: -6px; font-family: var(--rl-en); font-size: 52px; font-weight: 800; }
.rl-ev-pr__note { margin: 64px 0 0; text-align: center; font-size: 15px; font-weight: 700; line-height: 2.1; }

/* Voice（丸い顔） */
.rl-ev-voice { padding-bottom: 148px; }
.rl-ev-vc { display: grid; grid-template-columns: repeat(3, minmax(0, 337px)); justify-content: center; gap: 113px; margin: 88px 0 0; padding: 0; list-style: none; }
.rl-ev-vc img { width: 162px !important; height: 163px; margin: 0 auto; border-radius: 50%; }
.rl-ev-vc__ttl { margin: 44px 0 0; font-size: 20px; font-weight: 700; line-height: 1.6; }
.rl-ev-vc__txt { margin: 16px 0 0; font-size: 15px; font-weight: 500; line-height: 2.2; }

/* Faq（details の開閉。デザインどおり最初は開いた状態） */
.rl-ev-faq { padding-bottom: 138px; }
.rl-ev-qa { max-width: 1042px; margin: 52px auto 0; }
.rl-ev-qa details { margin-bottom: 40px; }
.rl-ev-qa summary { position: relative; display: flex; align-items: center; gap: 18px; padding: 0 60px 18px 0; border-bottom: 1px solid #ddd; font-size: 17px; font-weight: 700; line-height: 1.6; cursor: pointer; list-style: none; }
.rl-ev-qa summary::-webkit-details-marker { display: none; }
.rl-ev-qa i { flex: 0 0 40px; display: flex; align-items: center; justify-content: center; height: 40px; background: #111; color: #fff; font-family: var(--rl-en); font-size: 18px; font-style: normal; font-weight: 700; }
.rl-ev-qa summary b { position: absolute; right: 0; top: 2px; width: 35px; height: 35px; border: 1px solid #333; }
.rl-ev-qa summary b::before, .rl-ev-qa summary b::after { content: ""; position: absolute; left: 9px; right: 9px; top: 16px; height: 2px; background: #111; }
.rl-ev-qa summary b::after { transform: rotate(90deg); transition: transform .2s; }
.rl-ev-qa details[open] summary b::after { transform: rotate(0); }
.rl-ev-qa p { display: flex; align-items: flex-start; gap: 18px; margin: 22px 0 0; font-size: 15px; font-weight: 700; line-height: 2; }
.rl-ev-qa p i { background: #e9e9e9; color: #333; }

/* Contact（LP1専用の項目） */
.rl-ev-contact { padding: 140px 20px 154px; }
.rl-ev-contact__ttl { margin: 40px 0 0; text-align: center; font-size: 28px; font-weight: 700; letter-spacing: .06em; line-height: 1.6; }
.rl-ev-contact__lead { max-width: 832px; margin: 22px auto 0; font-size: 15px; font-weight: 700; line-height: 2; }
.rl-ev-checks { gap: 0 24px; margin: 24px auto 50px; }
.rl-ev-contact .rl-form { max-width: 842px; }
.rl-ev-contact .rl-f { margin-bottom: 26px; }
.rl-ev-contact .rl-f__lb em.is-any { border-color: #555; color: #333; }
.rl-ev-f__note { display: block; margin-top: 6px; font-size: 13px; color: #aaa; line-height: 1.7; }
.rl-ev-contact .rl-cb { margin: 6px 0; }
.rl-ev-contact .rl-ev-ta { height: 104px; padding-top: 14px; }

@media (max-width: 767px) {
	.rl-ev-ttl .rl-ttl__en { font-size: 9vw; }
	.rl-ev-ttl .rl-ttl__ja { margin-top: 4vw; font-size: 6.4vw; line-height: 1.5; }
	.rl-ev-ttl .rl-ttl__ja small { font-size: 4.6vw; }
	.rl-ev-en { font-size: 9vw; }
	.rl-ev-sec { padding: 16vw 4vw; }
	.rl-ev-lead { margin-top: 5vw; text-align: left; font-size: 4.2vw; font-weight: 500; line-height: 1.8; }
	.rl-ev-note { font-size: 3.4vw; }
	.rl-ev-btn { width: 100%; height: 13vw; font-size: 4vw; }

	/* ヒーロー：写真を全面の背景にして文字を重ねる（SPデザインどおり） */
	.rl-ev-hero { height: auto; padding: 19vw 0 18vw; margin-bottom: 7vw; }
	.rl-ev-hero__bg img { object-position: center top; }
	.rl-ev-hero__in { padding: 0 4vw; }
	.rl-ev-hero__lead { font-size: 5.2vw; line-height: 1.5; letter-spacing: .02em; }
	.rl-ev-hero__ttl { margin-top: 4vw; font-size: 12.4vw; line-height: 1.33; letter-spacing: 0; }
	.rl-ev-hero__txt { margin-top: 5vw; font-size: 4.6vw; line-height: 1.6; letter-spacing: 0; }
	.rl-ev-hero .rl-ev-note { width: 100%; margin-top: 4vw; font-size: 3.4vw; }
	.rl-ev-btn--hero { width: 100%; height: 11.5vw; margin-top: 1.5vw; font-size: 4vw; }
	.rl-ev-bc { left: 1.5vw; bottom: -5vw; width: 67vw; height: 10vw; padding-left: 5vw; font-size: 3.2vw; }

	/* 括弧は3つを1列（小さめ） */
	.rl-ev-stats { justify-content: space-between; gap: 1vw; margin-top: 5vw; }
	.rl-ev-stats li { width: 30.4vw; height: 9vw; gap: .3vw; }
	.rl-ev-stats li::before, .rl-ev-stats li::after { width: 1.6vw; border-width: 1.5px; }
	.rl-ev-stats span { font-size: 1.7vw; line-height: 1.2; }
	.rl-ev-stats b { font-size: 4.6vw; }
	.rl-ev-stats small { font-size: 1.6vw; }
	.rl-ev-stats strong { font-size: 3.8vw; }

	/* Problem：見出し中央・文・絵・01〜03 を縦に */
	.rl-ev-problem { padding: 14vw 4vw 14vw; }
	.rl-ev-problem__top { flex-direction: column; align-items: stretch; gap: 4vw; }
	.rl-ev-problem__body { width: auto; padding-top: 0; }
	.rl-ev-problem__ttl { text-align: center; }
	.rl-ev-problem__ja { margin-top: 5vw; font-size: 6vw; line-height: 1.55; }
	.rl-ev-problem__txt { margin-top: 5vw; font-size: 4.2vw; font-weight: 500; line-height: 1.8; }
	.rl-ev-problem__top img { width: 92vw !important; height: auto; }
	.rl-ev-pb { flex-direction: column; margin-top: 4vw; }
	.rl-ev-pb li, .rl-ev-pb li:first-child { width: auto; padding: 0; }
	.rl-ev-pb li + li { margin-top: 5vw; }
	.rl-ev-pb li + li::before { display: none; }
	.rl-ev-pb__no { font-size: 4.2vw; }
	.rl-ev-pb__txt { margin-top: 1.5vw; font-size: 4.8vw; line-height: 1.6; }
	.rl-ev-problem__note { align-items: flex-start; gap: 3vw; margin-top: 7vw; font-size: 4.2vw; font-weight: 500; line-height: 1.8; }
	.rl-ev-problem__note .rl-arrow { flex-basis: 5vw; height: 5vw; margin-top: .6vw; }

	/* Approach：文が上・絵が下 */
	.rl-ev-approach { padding: 10vw 4vw 4vw; }
	.rl-ev-ap { margin-top: 7vw; }
	.rl-ev-ap li { flex-direction: column; align-items: stretch; gap: 0; padding: 4vw 0 6vw; }
	.rl-ev-ap img { order: 2; flex: none; align-self: center; width: 78vw !important; height: auto; margin-top: 4vw; }
	.rl-ev-ap__lb { font-size: 2.6vw; }
	.rl-ev-ap__ttl { gap: 4vw; font-size: 4.9vw; }
	.rl-ev-ap__ttl b { font-size: 7.4vw; }
	.rl-ev-ap__txt { margin-top: 4vw; font-size: 4.2vw; font-weight: 500; line-height: 1.8; }

	.rl-ev-wide img { height: 46vw; }

	.rl-ev-strength { padding-top: 16vw; }
	.rl-ev-str { margin-top: 8vw; }
	.rl-ev-str__row { grid-template-columns: 1fr; min-height: 0; }
	.rl-ev-str__row img, .rl-ev-str__row.is-rev img { order: 0; height: 67vw; }
	.rl-ev-str__body, .rl-ev-str__row.is-rev .rl-ev-str__body { padding: 7vw 4vw 10vw; }
	.rl-ev-str__no { justify-content: center; font-size: 4.6vw; }
	.rl-ev-str__no b { font-size: 5.8vw; }
	.rl-ev-str__no i { height: 6vw; margin-left: 2vw; }
	.rl-ev-str__ttl { margin-top: 6vw; font-size: 4.8vw; line-height: 1.6; }
	.rl-ev-str__txt { margin-top: 3vw; font-size: 4.2vw; font-weight: 500; line-height: 1.8; }

	/* Service：1列の灰色の箱 */
	.rl-ev-service { padding: 14vw 4vw 16vw; }
	.rl-ev-svc { grid-template-columns: 1fr; gap: 4vw; margin-top: 7vw; }
	.rl-ev-svc li { height: auto; padding: 9vw 6vw 10vw; }
	.rl-ev-svc__lb { font-size: 3vw; }
	.rl-ev-svc img { height: 26vw; margin-top: 6vw; }
	.rl-ev-svc__ttl { margin-top: 6vw; font-size: 4.8vw; }
	.rl-ev-svc__txt { margin-top: 3vw; font-size: 4.2vw; font-weight: 500; line-height: 1.8; }

	.rl-ev-consult { height: auto; padding: 14vw 5vw 16vw; text-align: left; }
	.rl-ev-consult__ttl { font-size: 6.2vw; }
	.rl-ev-consult__txt { margin-top: 5vw; font-size: 4.2vw; font-weight: 500; line-height: 1.8; }
	.rl-ev-consult .rl-ev-note { margin-top: 7vw; text-align: center; font-size: 3.4vw; }
	.rl-ev-consult .rl-ev-btn { margin-top: 2vw; font-size: 3.9vw; }

	.rl-ev-results { height: auto; padding: 16vw 4vw 12vw; background-size: 200% auto; }
	.rl-ev-results .rl-ev-lead { margin-top: 5vw; }
	.rl-ev-results__box { margin-top: 6vw; padding: 0; background: transparent; }

	.rl-ev-case { padding-top: 14vw; }
	.rl-ev-case__item, .rl-ev-case__item + .rl-ev-case__item { grid-template-columns: 1fr; gap: 5vw; margin-top: 7vw; }
	.rl-ev-case__item + .rl-ev-case__item { margin-top: 10vw; }
	.rl-ev-case__item img { width: 100% !important; height: 66vw; }
	.rl-ev-case__tag { padding: 0 2.5vw; font-size: 2.8vw; line-height: 6vw; }
	.rl-ev-case__ttl { margin-top: 3vw; font-size: 5vw; line-height: 1.6; }
	.rl-ev-case__txt { margin-top: 2vw; font-size: 4.2vw; font-weight: 500; line-height: 1.8; }
	.rl-ev-case__dl { grid-template-columns: 19vw 1fr; font-size: 3.6vw; line-height: 1.9; }

	.rl-ev-flow { padding: 14vw 4vw; }
	.rl-ev-step { margin-top: 7vw; }
	/* 流れ：縦長カード（上に STEP番号｜アイコン、下に見出し中央・本文） */
	.rl-ev-step li { display: grid; grid-template-columns: auto 1fr; align-items: center; height: auto; padding: 7vw 5vw 8vw; }
	.rl-ev-step li + li { margin-top: 12vw; }
	.rl-ev-step li + li::before { top: -7.5vw; }
	.rl-ev-step__no { height: 16vw; padding-right: 5vw; align-items: flex-start; font-size: 8vw; }
	.rl-ev-step__no small { font-size: 2.6vw; }
	.rl-ev-step img { width: 22vw !important; height: 20vw; margin: 0 0 0 7vw; }
	.rl-ev-step li > div { grid-column: 1 / -1; margin-top: 4vw; }
	.rl-ev-step__ttl { text-align: center; font-size: 4.8vw; line-height: 1.5; }
	.rl-ev-step__txt { margin-top: 2vw; font-size: 4vw; font-weight: 500; line-height: 1.75; }

	.rl-ev-price { padding: 14vw 4vw; }
	.rl-ev-pr { grid-template-columns: 1fr; gap: 5vw; margin-top: 7vw; }
	.rl-ev-pr li { height: auto; padding: 6vw 4vw 7vw; }
	.rl-ev-pr img { height: 44vw; }
	.rl-ev-pr__ttl { margin-top: 5vw; font-size: 4.6vw; }
	.rl-ev-pr__val { gap: 3vw; margin-top: 3vw; font-size: 3.4vw; }
	.rl-ev-pr__val em { padding: 0 3vw; font-size: 2.8vw; line-height: 5.4vw; }
	.rl-ev-pr__val b { margin-right: -1.5vw; font-size: 9vw; }
	.rl-ev-pr__note { margin-top: 7vw; text-align: left; font-size: 4.2vw; font-weight: 500; line-height: 1.8; }

	/* Voice：スマホだけ横送り（1枚ずつ・下に黒丸の ‹ ›） */
	.rl-ev-voice { padding: 14vw 5vw 16vw; }
	.rl-ev-vc { display: flex; justify-content: flex-start; gap: 0; margin-top: 8vw; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.rl-ev-vc::-webkit-scrollbar { display: none; }
	.rl-ev-vc > li { flex: 0 0 100%; scroll-snap-align: start; padding: 0 1vw; }
	.rl-ev-vc img { width: 30vw !important; height: auto; }
	.rl-ev-vc__ttl { margin-top: 6vw; font-size: 4.4vw; line-height: 1.6; }
	.rl-ev-vc__txt { margin-top: 3vw; font-size: 4.2vw; line-height: 1.8; }
	.rl-ev-nav { display: flex !important; justify-content: center; gap: 5vw; margin-top: 7vw; }
	.rl-ev-nav button { width: 14vw; height: 14vw; padding: 0; border: 0; border-radius: 50%; background: #000; color: #fff; font-size: 6vw; line-height: 1; cursor: pointer; }

	.rl-ev-faq { padding: 14vw 4vw; }
	.rl-ev-qa { margin-top: 7vw; }
	.rl-ev-qa details { margin-bottom: 7vw; }
	.rl-ev-qa summary { gap: 3vw; padding: 0 10vw 4vw 0; font-size: 4.2vw; line-height: 1.55; }
	.rl-ev-qa i { flex-basis: 7vw; height: 7vw; font-size: 3.4vw; }
	.rl-ev-qa summary b { width: 7vw; height: 7vw; }
	.rl-ev-qa summary b::before, .rl-ev-qa summary b::after { left: 1.6vw; right: 1.6vw; top: calc(3.5vw - 2px); }
	.rl-ev-qa p { gap: 3vw; margin-top: 4vw; font-size: 4vw; font-weight: 500; line-height: 1.75; }

	.rl-ev-contact { padding: 14vw 3vw 12vw; }
	.rl-ev-contact__ttl { margin-top: 6vw; font-size: 5.8vw; line-height: 1.5; }
	.rl-ev-contact__lead { margin-top: 3vw; padding: 0 1vw; font-size: 4vw; font-weight: 500; line-height: 1.75; }
	.rl-ev-checks { margin: 4vw 0 6vw; }
	.rl-ev-f__note { font-size: 3vw; }
	.rl-ev-contact .rl-ev-ta { height: 26vw; }
}

/* ============================================================
   LP2 メディアプランニング・デザイン（/media/・body.rl-md）。色は青 #0056e2（この中だけ --rl-accent を上書き）。会社概要・LP1・LP3には効かない
   ============================================================ */
body.rl-md { --rl-accent: #0056e2; --rl-md-card: #fff; }
.rl-md .rl-cta a { background: var(--rl-accent); }
.rl-md .rl-header:not(.is-scrolled):not(.is-open) .rl-logo,
.rl-md .rl-header:not(.is-scrolled):not(.is-open) .rl-nav a { color: #111; }
.rl-md-ttl .rl-ttl__en { font-size: 50px; }
.rl-md-ttl .rl-ttl__ja { margin-top: 30px; font-size: 40px; line-height: 1.5; letter-spacing: .06em; }
.rl-md-ttl .rl-ttl__ja small { font-size: 28px; }
.rl-md-en { display: block; font-family: var(--rl-en); font-size: 50px; font-weight: 800; letter-spacing: .02em; line-height: 1; }
.rl-md-sec { padding: 140px 20px 150px; }
.rl-md-sec--gray { background: var(--rl-bg); }
.rl-md-lead { margin: 40px 0 0; text-align: center; font-size: 16px; font-weight: 700; line-height: 2; }
.rl-md-note { margin: 0; font-size: 15px; font-weight: 700; line-height: 1.6; }
.rl-md-btn { display: inline-flex; align-items: center; justify-content: center; width: 404px; height: 83px; background: var(--rl-accent); color: #fff !important; font-size: 18px; font-weight: 700; letter-spacing: .06em; }
.rl-md-btn:hover { opacity: .85; }

/* ヒーロー（PSDから文字なしで書き出した全幅のモノクロ写真・黒文字） */
.rl-md-hero { position: relative; height: 1040px; background: #f2f2f2; color: #111; }
.rl-md-hero__bg { position: absolute; inset: 0; overflow: hidden; }
.rl-md-hero__bg img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; object-position: center center; }
.rl-md-hero .rl-pixels { z-index: 1; opacity: .55; }   /* 2026-11-11 /staffing/ と同じ白の四角を足して明滅させる */
.rl-md-hero__in { position: relative; z-index: 2; padding: 164px 0 0 72px; }
.rl-md-hero__lead { margin: 0; color: var(--rl-accent); font-size: 28px; font-weight: 700; line-height: 1.4; letter-spacing: .04em; }
.rl-md-hero__ttl { margin: 26px 0 0; font-size: min(80px, 4.17vw); font-weight: 900; line-height: 1.22; letter-spacing: .02em; }
.rl-md-hero__txt { margin: 30px 0 0; font-size: 20px; font-weight: 700; line-height: 1.5; letter-spacing: .02em; }
.rl-md-hero .rl-md-note { width: 370px; margin-top: 34px; text-align: center; font-size: 16px; }
.rl-md-btn--hero { width: 370px; height: 83px; margin-top: 8px; }
.rl-md-bc { width: 452px; bottom: -22px; height: 59px; padding-left: 84px; }

/* 括弧の実績（ヒーロー・Results） */
.rl-md-stats { display: flex; gap: 15px; margin: 30px 0 0; padding: 0; list-style: none; }
.rl-md-stats li { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; width: 243px; height: 66px; line-height: 1.2; }
.rl-md-stats li::before, .rl-md-stats li::after { content: ""; position: absolute; top: 0; bottom: 0; width: 8px; border: 2px solid currentColor; }
.rl-md-stats li::before { left: 0; border-right: 0; }
.rl-md-stats li::after { right: 0; border-left: 0; }
.rl-md-stats span { font-size: 12px; font-weight: 700; }
.rl-md-stats b { font-family: var(--rl-en); font-size: 38px; font-weight: 800; line-height: 1; }
.rl-md-stats small { margin-left: 3px; font-size: 12px; font-weight: 700; }
.rl-md-stats strong { font-size: 30px; font-weight: 900; line-height: 1.1; letter-spacing: .04em; }
.rl-md-stats strong.is-2 { font-size: 18px; line-height: 1.35; text-align: center; }

/* Strategy（図の上に3つの言葉） */
.rl-md-strategy { padding-top: 150px; padding-bottom: 148px; }
.rl-md-fig { position: relative; width: 1152px; max-width: 100%; margin: 0 auto; }
.rl-md-fig img { display: block; width: 100% !important; height: auto; }
.rl-md-fig figcaption span { position: absolute; top: 72.5%; transform: translateX(-50%); font-size: 18px; font-weight: 700; line-height: 1; white-space: nowrap; }
.rl-md-fig figcaption span:nth-child(1) { left: 19.7%; }
.rl-md-fig figcaption span:nth-child(2) { left: 50%; }
.rl-md-fig figcaption span:nth-child(3) { left: 79.8%; }
.rl-md-strategy__txt { margin-top: -18px; position: relative; }

/* Issues（灰色の地・左に見出し・右に文・2×2の箱） */
.rl-md-issues { padding-top: 151px; padding-bottom: 155px; }
.rl-md-issues__head { display: flex; justify-content: center; gap: 76px; max-width: 1424px; margin: 0 auto; }
.rl-md-issues__ttl { flex: 0 0 auto; margin: 0; }
.rl-md-issues__ja { display: block; margin-top: 42px; font-size: 45px; font-weight: 700; line-height: 1.5; letter-spacing: .04em; }
.rl-md-issues__txt { flex: 0 1 800px; margin: 70px 0 0; font-size: 16px; font-weight: 700; line-height: 2; }
.rl-md-is { display: grid; grid-template-columns: repeat(2, minmax(0, 693px)); justify-content: center; gap: 36px 38px; margin: 70px 0 0; padding: 0; list-style: none; }
.rl-md-is li { display: flex; align-items: center; justify-content: space-between; gap: 30px; height: 244px; padding: 0 40px 0 52px; background: #fff; }
.rl-md-is li > div { flex: 0 0 290px; }
.rl-md-is__no { display: flex; align-items: center; margin: 0; font-family: var(--rl-en); font-size: 26px; font-weight: 500; color: #999; line-height: 1; }
.rl-md-is__no i { display: inline-block; width: 1px; height: 30px; margin-left: 14px; background: #aaa; transform: rotate(30deg); }
.rl-md-is__txt { margin: 22px 0 0; font-size: 16px; font-weight: 700; line-height: 1.7; }
.rl-md-is img { width: 280px !important; height: 172px; object-fit: contain; }
.rl-md-issues__note { display: flex; align-items: center; gap: 26px; max-width: 1424px; margin: 54px auto 0; font-size: 18px; font-weight: 700; }
.rl-md-issues__note .rl-arrow { flex: 0 0 28px; height: 28px; }

/* Support（支援フロー 01〜04） */
.rl-md-support { padding-top: 145px; padding-bottom: 160px; }
.rl-md-support .rl-md-lead { margin-top: 44px; }
.rl-md-sp { max-width: 1042px; margin: 54px auto 0; padding: 0; list-style: none; }
.rl-md-sp li { display: flex; align-items: center; gap: 79px; padding: 12px 0 14px 40px; border-bottom: 1px solid #eee; }
.rl-md-sp li:last-child { border-bottom: 0; }
.rl-md-sp img { flex: 0 0 357px; width: 357px !important; height: 260px; object-fit: contain; }
.rl-md-sp__lb { margin: 0; font-size: 16px; font-weight: 700; color: #999; line-height: 1.4; }
.rl-md-sp__ttl { display: flex; align-items: center; gap: 30px; margin: 8px 0 0; font-size: 28px; font-weight: 700; line-height: 1.3; letter-spacing: .04em; }
.rl-md-sp__ttl b { font-family: var(--rl-en); font-size: 46px; font-weight: 500; color: #999; line-height: 1; }
.rl-md-sp__txt { margin: 24px 0 0; font-size: 16px; font-weight: 700; line-height: 2; }

/* 全幅の絵 */
.rl-md-wide img { width: 100% !important; height: 583px; object-fit: cover; }

/* Strength（6つ・左右交互） */
.rl-md-strength { padding-top: 147px; }
.rl-md-str { margin-top: 86px; }
.rl-md-str__row { display: grid; grid-template-columns: 1fr 1fr; min-height: 643px; }
.rl-md-str__row img { width: 100% !important; height: 100%; object-fit: cover; }
.rl-md-str__row.is-rev img { order: 2; }
.rl-md-str__body { align-self: center; padding: 40px 5vw 40px 7.8vw; }
.rl-md-str__row.is-rev .rl-md-str__body { padding-left: 13vw; padding-right: 4vw; }
.rl-md-str__no { display: flex; align-items: baseline; gap: 10px; margin: 0; font-family: var(--rl-en); font-size: 30px; font-weight: 500; color: #999; line-height: 1; letter-spacing: .04em; }
.rl-md-str__no b { font-size: 40px; font-weight: 500; }
.rl-md-str__no i { display: inline-block; width: 1px; height: 40px; margin-left: 24px; background: #aaa; transform: rotate(30deg); }
.rl-md-str__ttl { max-width: 560px; margin: 34px 0 0; font-size: 28px; font-weight: 700; line-height: 1.6; letter-spacing: .02em; }
.rl-md-str__txt { max-width: 560px; margin: 26px 0 0; font-size: 16px; font-weight: 700; line-height: 2.1; }

/* Service（2列×4段・白い箱・右にアイコン） */
.rl-md-service { padding-top: 148px; padding-bottom: 147px; }
.rl-md-svc { display: grid; grid-template-columns: repeat(2, minmax(0, 693px)); justify-content: center; gap: 47px 38px; margin: 94px 0 0; padding: 0; list-style: none; }
.rl-md-svc li { display: flex; justify-content: space-between; gap: 20px; height: 303px; padding: 40px 40px 0 49px; background: #fff; }
.rl-md-svc li > div { max-width: 382px; }
.rl-md-svc img { flex: 0 0 205px; width: 205px !important; height: 202px; object-fit: contain; }
.rl-md-svc__ttl { margin: 0; font-size: 26px; font-weight: 700; line-height: 1.5; letter-spacing: .02em; }
.rl-md-svc__txt { margin: 16px 0 0; font-size: 16px; font-weight: 700; line-height: 1.85; }
.rl-md-nav { display: none; }

/* 黒地に格子の相談帯（2回） */
.rl-md-consult { position: relative; height: 633px; padding-top: 100px; background: var(--rl-dark); color: #fff; text-align: center; overflow: hidden; }
.rl-md-consult__in { position: relative; z-index: 1; }
.rl-md-consult__ttl { margin: 0; font-size: 38px; font-weight: 700; line-height: 1.4; letter-spacing: .06em; }
.rl-md-consult__txt { margin: 36px 0 0; font-size: 16px; font-weight: 700; line-height: 2; }
.rl-md-consult .rl-md-note { margin-top: 32px; font-size: 15px; }
.rl-md-consult .rl-md-btn { margin-top: 8px; }

/* Results（浮かぶ小さな写真はPSDの「背景効果」1枚） */
.rl-md-results { height: 865px; padding: 138px 20px 0; background: #fff url(../img/sub/media/results-bg.webp) center top / 1920px auto no-repeat; }
.rl-md-results__box { width: 824px; max-width: 100%; margin: 42px auto 0; padding: 38px 0; background: #fff; }
.rl-md-results .rl-md-stats { justify-content: center; margin: 0; }
.rl-md-results .rl-md-lead { margin-top: 46px; }
.rl-md-results__note { margin: 16px 0 0; text-align: center; font-size: 13px; font-weight: 500; color: #666; line-height: 1.6; }

/* Case（2件） */
.rl-md-case { padding-top: 140px; padding-bottom: 145px; }
.rl-md-case .rl-md-lead { margin-top: 44px; }
.rl-md-case__item { display: grid; grid-template-columns: 563px minmax(0, 600px); gap: 78px; justify-content: center; margin-top: 60px; }
.rl-md-case__item + .rl-md-case__item { margin-top: 87px; }
.rl-md-case__item img { width: 100% !important; height: 403px; object-fit: cover; }
.rl-md-case__tag { display: inline-block; margin: 0; padding: 0 16px; background: #e9e9e9; font-size: 15px; font-weight: 700; line-height: 38px; }
.rl-md-case__ttl { margin: 22px 0 0; font-size: 26px; font-weight: 700; line-height: 1.6; letter-spacing: .04em; }
.rl-md-case__txt { margin: 16px 0 0; font-size: 16px; font-weight: 700; line-height: 1.9; }
.rl-md-case__dl { display: grid; grid-template-columns: 88px 1fr; margin: 18px 0 0; font-size: 13px; font-weight: 700; color: #999; line-height: 30px; }
.rl-md-case__dl dt { position: relative; }
.rl-md-case__dl dt::after { content: "｜"; position: absolute; right: 8px; color: #bbb; }
.rl-md-case__dl dd { margin: 0; padding-left: 10px; }

/* Voice（白地・丸い顔3つ） */
.rl-md-voice { padding-top: 135px; padding-bottom: 148px; }
.rl-md-vc { display: grid; grid-template-columns: repeat(3, minmax(0, 337px)); justify-content: center; gap: 113px; margin: 86px 0 0; padding: 0; list-style: none; }
.rl-md-vc img { width: 154px !important; height: 155px; margin: 0 auto; border-radius: 50%; }
.rl-md-vc__ttl { margin: 46px 0 0; font-size: 20px; font-weight: 700; line-height: 1.6; }
.rl-md-vc__txt { margin: 20px 0 0; font-size: 16px; font-weight: 500; line-height: 2.05; }

/* Flow（灰色の地・白い箱・STEP｜アイコン｜文） */
.rl-md-flow { padding-top: 139px; padding-bottom: 127px; }
.rl-md-step { max-width: 1042px; margin: 50px auto 0; padding: 0; list-style: none; }
.rl-md-step li { position: relative; display: flex; align-items: center; min-height: 193px; padding: 24px 50px 24px 50px; background: #fff; }
.rl-md-step li + li { margin-top: 57px; }
.rl-md-step li + li::before { content: ""; position: absolute; left: 50%; top: -36px; margin-left: -8px; border-style: solid; border-width: 12px 8px 0; border-color: #111 transparent transparent; }
.rl-md-step__no { flex: 0 0 64px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; height: 100px; margin: 0; font-family: var(--rl-en); font-size: 30px; font-weight: 700; line-height: 1; }
.rl-md-step__no small { margin: 0 0 4px 3px; font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.rl-md-step__no::after { content: ""; position: absolute; left: 136px; top: 50%; height: 100px; margin-top: -50px; border-left: 1px solid #ddd; }
.rl-md-step img { flex: 0 0 112px; width: 112px !important; height: 104px; margin: 0 22px 0 46px; object-fit: contain; }
.rl-md-step__ttl { margin: 0; font-size: 26px; font-weight: 700; line-height: 1.4; letter-spacing: .04em; }
.rl-md-step__txt { margin: 12px 0 0; font-size: 15px; font-weight: 700; line-height: 2.1; }

/* Price（2枚・説明・灰色の地に白い箱で割引5つ・※） */
.rl-md-price { padding-top: 135px; padding-bottom: 157px; }
.rl-md-pr { display: grid; grid-template-columns: repeat(2, minmax(0, 693px)); justify-content: center; gap: 38px; margin: 50px 0 0; padding: 0; list-style: none; }
.rl-md-pr li { display: grid; grid-template-columns: 249px 1fr; column-gap: 54px; align-items: center; height: 323px; padding: 36px 40px 30px 57px; background: #fff; }
.rl-md-pr img { width: 249px !important; height: 176px; object-fit: contain; }
.rl-md-pr__ttl { margin: 0; font-size: 26px; font-weight: 700; line-height: 1.4; }
.rl-md-pr__val { display: flex; align-items: center; gap: 14px; margin: 26px 0 0; font-size: 20px; font-weight: 700; line-height: 1; white-space: nowrap; }
.rl-md-pr__val em { padding: 0 20px; background: #111; color: #fff; font-size: 16px; font-style: normal; line-height: 32px; }
.rl-md-pr__val b { margin-right: -8px; font-family: var(--rl-en); font-size: 52px; font-weight: 800; }
.rl-md-pr__txt { grid-column: 1 / -1; align-self: end; margin: 20px 0 0; font-size: 16px; font-weight: 700; line-height: 1.8; }
.rl-md-pr__lead { margin-top: 56px; }
.rl-md-pl { display: grid; grid-template-columns: 420px 1fr; gap: 20px 0; max-width: 1042px; margin: 50px auto 0; padding: 30px 40px 30px 84px; background: #fff; list-style: none; }
.rl-md-pl li { display: flex; align-items: center; gap: 24px; font-size: 18px; font-weight: 700; line-height: 1.6; }
.rl-md-pl .rl-arrow { flex: 0 0 28px; height: 28px; }
.rl-md-pr__note { max-width: 1042px; margin: 38px auto 0; font-size: 13px; font-weight: 500; line-height: 1.6; }

/* Faq（10問。最初は開いた状態） */
.rl-md-faq { padding-top: 140px; padding-bottom: 157px; }
.rl-md-qa { max-width: 1042px; margin: 52px auto 0; }
.rl-md-qa details { margin-bottom: 38px; }
.rl-md-qa summary { position: relative; display: flex; align-items: center; gap: 18px; padding: 0 60px 18px 0; border-bottom: 1px solid #ddd; font-size: 18px; font-weight: 700; line-height: 1.6; cursor: pointer; list-style: none; }
.rl-md-qa summary::-webkit-details-marker { display: none; }
.rl-md-qa i { flex: 0 0 40px; display: flex; align-items: center; justify-content: center; height: 40px; background: #111; color: #fff; font-family: var(--rl-en); font-size: 18px; font-style: normal; font-weight: 700; }
.rl-md-qa summary b { position: absolute; right: 0; top: 2px; width: 35px; height: 35px; border: 1px solid #333; }
.rl-md-qa summary b::before, .rl-md-qa summary b::after { content: ""; position: absolute; left: 9px; right: 9px; top: 16px; height: 2px; background: #111; }
.rl-md-qa summary b::after { transform: rotate(90deg); transition: transform .2s; }
.rl-md-qa details[open] summary b::after { transform: rotate(0); }
.rl-md-qa p { display: flex; align-items: flex-start; gap: 18px; margin: 22px 0 0; font-size: 16px; font-weight: 700; line-height: 1.9; }
.rl-md-qa p i { background: #eaeaea; color: #333; }

/* Contact（LP2専用の項目。灰色の地に白い箱） */
.rl-md-contact { padding: 139px 20px 146px; }
.rl-md-contact .rl-ttl__ja { font-size: 19px; }
.rl-md-contact__ttl { margin: 40px 0 0; text-align: center; font-size: 28px; font-weight: 700; letter-spacing: .06em; line-height: 1.6; }
.rl-md-contact__lead { max-width: 842px; margin: 22px auto 0; font-size: 16px; font-weight: 700; line-height: 2; }
.rl-md-checks { display: grid; grid-template-columns: 289px 320px 1fr; gap: 10px 0; max-width: 842px; margin: 16px auto 62px; font-size: 15px; }
.rl-md-contact .rl-form { max-width: 842px; padding: 62px 80px 100px; }
.rl-md-contact .rl-f { margin-bottom: 22px; }
.rl-md-contact .rl-f__lb { margin-bottom: 8px; font-size: 17px; }
.rl-md-contact .rl-f__lb em.is-any { border-color: #555; color: #333; }
.rl-md-contact .rl-f input[type=text], .rl-md-contact .rl-f input[type=email] { height: 63px; }
.rl-md-f__note { display: block; margin-top: 6px; font-size: 13px; color: #aaa; line-height: 1.7; }
.rl-md-cbs { display: grid; grid-template-columns: 339px 1fr; }
.rl-md-contact .rl-cb { margin: 6px 0; font-size: 16px; }
.rl-md-contact .rl-md-ta { height: 103px; padding-top: 14px; }
.rl-md-contact .rl-submit { width: 403px; height: 73px; margin-top: 46px; }

@media (max-width: 767px) {
	.rl-md .rl-header:not(.is-scrolled):not(.is-open) .rl-burger span { background: #111; }
	.rl-md-ttl .rl-ttl__en { font-size: 9vw; }
	.rl-md-ttl .rl-ttl__ja { margin-top: 4vw; font-size: 6.4vw; line-height: 1.5; letter-spacing: .02em; }
	.rl-md-ttl .rl-ttl__ja small { font-size: 4.6vw; }
	.rl-md-en { font-size: 9vw; }
	.rl-md-sec { padding: 16vw 4vw; }
	.rl-md-lead { margin-top: 5vw; text-align: left; font-size: 4.1vw; font-weight: 500; line-height: 1.62; }
	.rl-md-note { font-size: 3.4vw; }
	.rl-md-btn { width: 100%; height: 13vw; font-size: 4vw; }

	/* ヒーロー：写真を全面の背景にして文字を重ねる（SPデザインどおり） */
	.rl-md-hero { height: auto; padding: 19vw 0 17vw; margin-bottom: 8vw; }
	.rl-md-hero__bg img { object-position: center top; }
	.rl-md-hero__in { padding: 0 4vw; }
	.rl-md-hero__lead { font-size: 5vw; line-height: 1.5; letter-spacing: .02em; }
	.rl-md-hero__ttl { max-width: 88vw; margin-top: 4vw; font-size: 11.6vw; line-height: 1.4; letter-spacing: 0; }
	.rl-md-hero__txt { max-width: 88vw; margin-top: 5vw; font-size: 3.9vw; line-height: 1.66; letter-spacing: 0; }
	.rl-md-hero .rl-md-note { width: 100%; margin-top: 4.5vw; font-size: 3.4vw; }
	.rl-md-btn--hero { width: 100%; height: 12.7vw; margin-top: 1.5vw; font-size: 4vw; }
	.rl-md-bc { left: 3.9vw; bottom: -7.9vw; width: 92.3vw; height: 13.7vw; padding-left: 5.5vw; font-size: 3.2vw; }

	/* 括弧は3つを1列（小さめ） */
	.rl-md-stats { justify-content: space-between; gap: 1vw; margin-top: 4vw; }
	.rl-md-stats li { width: 29vw; height: 8.4vw; gap: .3vw; }
	.rl-md-stats li::before, .rl-md-stats li::after { width: 1.6vw; border-width: 1.5px; }
	.rl-md-stats span { font-size: 1.8vw; line-height: 1.2; }
	.rl-md-stats b { font-size: 4.6vw; }
	.rl-md-stats small { font-size: 1.6vw; }
	.rl-md-stats strong { font-size: 3.8vw; }
	.rl-md-stats strong.is-2 { font-size: 2.1vw; }

	/* Strategy：縦の図（スマホPSDの図）に言葉を重ねる */
	.rl-md-strategy { padding: 18vw 4vw 14vw; }
	.rl-md-fig { width: 46.7vw; margin-top: 8vw; margin-bottom: 9vw; }
	.rl-md-fig figcaption span { font-size: 3.9vw; }
	.rl-md-fig figcaption span:nth-child(n) { left: 50%; }
	.rl-md-fig figcaption span:nth-child(1) { top: 25.4%; }
	.rl-md-fig figcaption span:nth-child(2) { top: 65.2%; }
	.rl-md-fig figcaption span:nth-child(3) { top: 102.1%; }
	.rl-md-strategy__txt { margin-top: 5vw; }

	/* Issues：見出し中央・文・箱は縦1列（文が上・絵が下） */
	.rl-md-issues { padding: 18vw 4vw 16vw; }
	.rl-md-issues__head { flex-direction: column; gap: 0; }
	.rl-md-issues__ttl { text-align: center; }
	.rl-md-issues__ja { margin-top: 5vw; font-size: 6.4vw; line-height: 1.5; }
	.rl-md-issues__txt { flex: none; margin-top: 6vw; font-size: 4.1vw; font-weight: 500; line-height: 1.62; }
	.rl-md-is { grid-template-columns: 1fr; gap: 6.4vw; margin-top: 8vw; }
	.rl-md-is li { flex-direction: column; align-items: stretch; height: auto; padding: 7vw 5.5vw 6vw; gap: 0; }
	.rl-md-is li > div { flex: none; }
	.rl-md-is__no { font-size: 4.6vw; }
	.rl-md-is__no i { height: 5vw; margin-left: 2.5vw; }
	.rl-md-is__txt { margin-top: 5vw; font-size: 4.1vw; line-height: 1.6; }
	.rl-md-is img { align-self: center; width: 66vw !important; height: 40vw; margin-top: 7vw; }
	.rl-md-issues__note { align-items: flex-start; gap: 3vw; margin-top: 10vw; font-size: 4.1vw; font-weight: 500; line-height: 1.62; }
	.rl-md-issues__note .rl-arrow { flex-basis: 5vw; height: 5vw; margin-top: .6vw; }

	/* Support：文が上・絵が下 */
	.rl-md-support { padding: 18vw 4vw 12vw; }
	.rl-md-sp { margin-top: 8vw; }
	.rl-md-sp li { flex-direction: column; align-items: stretch; gap: 0; padding: 4vw 0 7vw; }
	.rl-md-sp img { order: 2; flex: none; align-self: center; width: 76vw !important; height: auto; margin-top: 4vw; }
	.rl-md-sp__lb { font-size: 2.4vw; }
	.rl-md-sp__ttl { gap: 3vw; margin-top: 1.5vw; font-size: 5.2vw; }
	.rl-md-sp__ttl b { font-size: 5.4vw; }
	.rl-md-sp__txt { margin-top: 5vw; font-size: 4.1vw; font-weight: 700; line-height: 1.6; }

	.rl-md-wide img { height: 60vw; }

	/* Strength：写真が上・文が下 */
	.rl-md-strength { padding-top: 18vw; }
	.rl-md-str { margin-top: 10vw; }
	.rl-md-str__row { grid-template-columns: 1fr; min-height: 0; }
	.rl-md-str__row img, .rl-md-str__row.is-rev img { order: 0; height: 67vw; }
	.rl-md-str__body, .rl-md-str__row.is-rev .rl-md-str__body { padding: 9vw 4vw 13vw; }
	.rl-md-str__no { justify-content: center; font-size: 5.2vw; }
	.rl-md-str__no b { font-size: 6.4vw; }
	.rl-md-str__no i { height: 6vw; margin-left: 2vw; }
	.rl-md-str__ttl { margin-top: 6vw; font-size: 5.4vw; line-height: 1.5; }
	.rl-md-str__txt { margin-top: 3vw; font-size: 4.1vw; font-weight: 500; line-height: 1.62; }

	/* Service：横送り（1枚ずつ・下に黒丸の ‹ ›） */
	.rl-md-service { padding: 18vw 4vw 12vw; }
	.rl-md-svc { display: flex; justify-content: flex-start; gap: 0; margin-top: 7vw; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.rl-md-svc::-webkit-scrollbar { display: none; }
	.rl-md-svc > li { flex: 0 0 100%; scroll-snap-align: start; flex-direction: column; justify-content: flex-start; align-items: center; gap: 0; height: auto; padding: 6vw 5.5vw 8vw; }
	.rl-md-svc li > div { order: 2; max-width: none; width: 100%; }
	.rl-md-service .rl-ttl__ja { font-size: 5.8vw; }
	.rl-md-svc img { flex: none; width: 39vw !important; height: 38vw; }
	.rl-md-svc__ttl { margin-top: 4vw; text-align: center; font-size: 4.8vw; }
	.rl-md-svc__txt { margin-top: 3vw; font-size: 4.1vw; font-weight: 500; line-height: 1.62; }
	.rl-md-nav { display: flex !important; justify-content: center; gap: 5vw; margin-top: 7vw; }
	.rl-md-nav button { width: 14vw; height: 14vw; padding: 0; border: 0; border-radius: 50%; background: #000; color: #fff; font-size: 6vw; line-height: 1; cursor: pointer; }

	.rl-md-consult { height: auto; padding: 21vw 9.3vw 26vw; text-align: left; }
	.rl-md-consult__ttl { max-width: 78vw; font-size: 7.2vw; line-height: 1.57; }
	.rl-md-consult__txt { margin-top: 7vw; font-size: 4.1vw; font-weight: 500; line-height: 1.62; }
	.rl-md-consult .rl-md-note { margin-top: 10vw; text-align: center; font-size: 3.4vw; }
	.rl-md-consult .rl-md-btn { margin-top: 2vw; font-size: 4vw; }

	.rl-md-results { height: auto; padding: 10vw 4vw 15vw; background-size: 200% auto; }
	.rl-md-results__box { margin-top: 5vw; padding: 0; background: transparent; }
	.rl-md-results .rl-md-lead { margin-top: 6vw; }
	.rl-md-results__note { margin-top: 3vw; font-size: 3vw; }

	.rl-md-case { padding: 17vw 4vw 14vw; }
	.rl-md-case .rl-md-lead { margin-top: 6vw; }
	.rl-md-case__item, .rl-md-case__item + .rl-md-case__item { grid-template-columns: 1fr; gap: 5vw; margin-top: 7vw; }
	.rl-md-case__item + .rl-md-case__item { margin-top: 8vw; }
	.rl-md-case__item img { width: 100% !important; height: 66vw; }
	.rl-md-case__tag { padding: 0 2.5vw; font-size: 2.8vw; line-height: 6vw; }
	.rl-md-case__ttl { margin-top: 4vw; font-size: 5vw; line-height: 1.6; }
	.rl-md-case__txt { margin-top: 2vw; font-size: 4.1vw; font-weight: 500; line-height: 1.62; }
	.rl-md-case__dl { grid-template-columns: 22vw 1fr; margin-top: 2vw; font-size: 3.6vw; line-height: 1.95; }

	/* Voice：横送り */
	.rl-md-voice { padding: 25vw 5vw 18vw; }
	.rl-md-vc { display: flex; justify-content: flex-start; gap: 0; margin-top: 15vw; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.rl-md-vc::-webkit-scrollbar { display: none; }
	.rl-md-vc > li { flex: 0 0 100%; scroll-snap-align: start; padding: 0 1vw; }
	.rl-md-vc img { width: 37vw !important; height: auto; }
	.rl-md-vc__ttl { margin-top: 9vw; font-size: 5vw; line-height: 1.6; }
	.rl-md-vc__txt { margin-top: 5vw; font-size: 4.1vw; line-height: 1.62; }

	/* Flow：縦長カード（上に STEP番号｜アイコン、下に見出し中央・本文） */
	.rl-md-flow { padding: 20vw 3.7vw 16vw; }
	.rl-md-step { margin-top: 9vw; }
	.rl-md-step li { display: grid; grid-template-columns: auto 1fr; align-items: center; min-height: 0; padding: 9vw 5.7vw 7vw; }
	.rl-md-step li + li { margin-top: 11vw; }
	.rl-md-step li + li::before { top: -7vw; }
	.rl-md-step__no { flex: none; height: 16vw; padding-right: 5vw; border-right: 1px solid #ddd; font-size: 8.6vw; }
	.rl-md-step__no::after { display: none; }
	.rl-md-step__no small { font-size: 2.6vw; }
	.rl-md-step img { width: 22vw !important; height: 20vw; margin: 0 0 0 4vw; }
	.rl-md-step li > div { grid-column: 1 / -1; margin-top: 5vw; }
	.rl-md-step__ttl { text-align: center; font-size: 4.8vw; line-height: 1.5; }
	.rl-md-step__txt { margin-top: 2vw; font-size: 4.1vw; font-weight: 500; line-height: 1.62; }

	/* Price：1列（絵が上・名前・料金・説明） */
	.rl-md-price { padding: 25vw 3.7vw 20vw; }
	.rl-md-pr { grid-template-columns: 1fr; gap: 5.7vw; margin-top: 8vw; }
	.rl-md-pr li { grid-template-columns: 1fr; justify-items: center; height: auto; padding: 4vw 5.6vw 8vw; }
	.rl-md-pr img { width: 64vw !important; height: 44vw; }
	.rl-md-pr li > div { text-align: center; }
	.rl-md-pr__ttl { margin-top: 3vw; font-size: 4.8vw; }
	.rl-md-pr__val { justify-content: center; gap: 3vw; margin-top: 4vw; font-size: 3.8vw; }
	.rl-md-pr__val em { padding: 0 4vw; font-size: 3vw; line-height: 5vw; }
	.rl-md-pr__val b { margin-right: -1.5vw; font-size: 9vw; }
	.rl-md-pr__txt { justify-self: stretch; margin-top: 5vw; font-size: 4.1vw; font-weight: 500; line-height: 1.6; }
	.rl-md-pr__lead { margin-top: 8vw; }
	.rl-md-pl { grid-template-columns: 1fr; gap: 6vw; margin-top: 8vw; padding: 6vw 5.7vw; }
	.rl-md-pl li { gap: 5vw; font-size: 3.6vw; }
	.rl-md-pl .rl-arrow { flex-basis: 5vw; height: 5vw; }
	.rl-md-pr__note { margin-top: 5vw; font-size: 2.9vw; line-height: 1.7; }

	.rl-md-faq { padding: 20vw 3.7vw 14vw; }
	.rl-md-qa { margin-top: 10vw; }
	.rl-md-qa details { margin-bottom: 6vw; }
	.rl-md-qa summary { gap: 4vw; padding: 0 11vw 4vw 0; font-size: 4.1vw; line-height: 1.55; }
	.rl-md-qa i { flex-basis: 8.4vw; height: 8.4vw; font-size: 3.6vw; }
	.rl-md-qa summary b { width: 8.4vw; height: 8.4vw; }
	.rl-md-qa summary b::before, .rl-md-qa summary b::after { left: 2vw; right: 2vw; top: calc(4.2vw - 2px); }
	.rl-md-qa p { gap: 4vw; margin-top: 4vw; font-size: 4.1vw; font-weight: 500; line-height: 1.62; }

	.rl-md-contact { padding: 14vw 3.7vw 20vw; }
	.rl-md-contact .rl-ttl__ja { font-size: 3.6vw; }
	.rl-md-contact__ttl { margin-top: 5vw; font-size: 6.2vw; line-height: 1.5; }
	.rl-md-contact__lead { margin-top: 5vw; font-size: 4.1vw; font-weight: 500; line-height: 1.62; }
	.rl-md-checks { display: flex; margin: 5vw 0 8vw; font-size: 3.9vw; gap: 4vw; }
	.rl-md-contact .rl-form { padding: 9vw 5.5vw 10vw; }
	.rl-md-contact .rl-f { margin-bottom: 5vw; }
	.rl-md-contact .rl-f__lb { font-size: 3.9vw; }
	.rl-md-contact .rl-f input[type=text], .rl-md-contact .rl-f input[type=email] { height: 11vw; }
	.rl-md-cbs { grid-template-columns: 1fr; }
	.rl-md-contact .rl-cb { margin: 1.2vw 0; font-size: 3.9vw; }
	.rl-md-f__note { font-size: 3.6vw; }
	.rl-md-contact .rl-md-ta { height: 21vw; }
	.rl-md-contact .rl-submit { width: 100%; height: 13.4vw; margin-top: 8vw; }
}
/* ===== お問い合わせの確認・完了 /contact/confirm/・/contact/thanks/（body.rl-ct・TOPの .rl-contact／.rl-form に足す） ===== */
.rl-ct .rl-bc { width: auto; min-width: 310px; padding-right: 48px; }
.rl-contact.rl-ct { padding: 120px 20px 140px; }
.rl-ct-steps { display: flex; justify-content: center; gap: 0; max-width: 520px; margin: 0 auto 64px; padding: 0; list-style: none; counter-reset: rlct; }
.rl-ct-steps li { position: relative; flex: 1; text-align: center; font-size: 14px; font-weight: 700; color: #999; counter-increment: rlct; }
.rl-ct-steps li::before { content: counter(rlct, decimal-leading-zero); display: block; width: 44px; height: 44px; margin: 0 auto 10px; border: 1px solid #bbb; border-radius: 50%; background: #fff; font-family: var(--rl-en); font-size: 15px; line-height: 42px; color: #999; position: relative; z-index: 1; }
.rl-ct-steps li + li::after { content: ""; position: absolute; top: 22px; right: 50%; width: 100%; height: 1px; background: #bbb; }
.rl-ct-steps li.is-now { color: #111; }
.rl-ct-steps li.is-now::before { border-color: #000; background: #000; color: #fff; }
.rl-ct-ttl { margin: 0; text-align: center; font-size: 28px; font-weight: 700; letter-spacing: .06em; line-height: 1.5; }
.rl-ct-lead { margin: 22px 0 40px; text-align: center; font-size: 15px; font-weight: 500; }
.rl-ct-dl { margin: 0; }
.rl-ct-dl div { display: grid; grid-template-columns: 220px 1fr; gap: 24px; padding: 26px 0; border-bottom: 1px solid #ddd; }
.rl-ct-dl div:first-child { padding-top: 0; }
.rl-ct-dl dt { font-size: 15px; font-weight: 700; }
.rl-ct-dl dd { margin: 0; font-size: 15px; font-weight: 500; line-height: 1.9; word-break: break-word; }
.rl-ct-btns { display: flex; justify-content: center; gap: 24px; margin-top: 56px; }
.rl-ct-btns .rl-submit { width: 320px; margin: 0; text-decoration: none; color: #fff !important; }
.rl-ct-back { display: flex; align-items: center; justify-content: center; width: 200px; height: 70px; border: 1px solid #000; background: #fff; color: #000 !important; font-size: 16px; font-weight: 700; }
.rl-ct-back:hover, .rl-ct-btns .rl-submit:hover { opacity: .8; }
.rl-ct-done { text-align: center; }
.rl-ct-done p { margin: 0; font-size: 15px; font-weight: 500; line-height: 2.1; }
.rl-ct-done .rl-ct-ttl { margin-bottom: 30px; }
.rl-ct-tel { margin-top: 28px !important; }
.rl-ct-tel a { display: block; font-family: var(--rl-en); font-size: 32px; font-weight: 700; letter-spacing: .04em; color: #111 !important; line-height: 1.4; }
.rl-ct-tel small { display: block; font-size: 13px; color: #666; }
.rl-ct-top { margin-top: 48px; }

@media (max-width: 767px) {
	.rl-ct .rl-bc { width: auto; min-width: 76vw; max-width: 94.6vw; padding-right: 4vw; }
	.rl-contact.rl-ct { padding: 16vw 3vw 18vw; }
	.rl-ct-steps { margin-bottom: 10vw; }
	.rl-ct-steps li { font-size: 3.4vw; }
	.rl-ct-steps li::before { width: 10vw; height: 10vw; margin-bottom: 2vw; font-size: 3.6vw; line-height: calc(10vw - 2px); }
	.rl-ct-steps li + li::after { top: 5vw; }
	.rl-ct-ttl { font-size: 5.6vw; }
	.rl-ct-lead { margin: 4vw 1vw 7vw; font-size: 3.8vw; }
	.rl-ct-dl div { grid-template-columns: 1fr; gap: 1.5vw; padding: 4.5vw 0; }
	.rl-ct-dl dt { font-size: 3.6vw; }
	.rl-ct-dl dd { font-size: 3.9vw; line-height: 1.7; }
	.rl-ct-btns { flex-direction: column-reverse; gap: 3.5vw; margin-top: 8vw; }
	.rl-ct-btns .rl-submit { width: 100%; height: 14vw; }
	.rl-ct-back { width: 100%; height: 13vw; font-size: 4vw; }
	.rl-ct-done { text-align: left; }
	.rl-ct-done .rl-ct-ttl { margin-bottom: 5vw; text-align: center; }
	.rl-ct-done p { font-size: 3.9vw; line-height: 1.8; }
	.rl-ct-done p + p { margin-top: 3vw; }
	.rl-ct-tel { margin-top: 6vw !important; text-align: center; }
	.rl-ct-tel a { font-size: 7.4vw; }
	.rl-ct-tel small { font-size: 3.2vw; }
	.rl-ct-top { margin-top: 8vw; }
}

/* お問い合わせ確認：CF7（見えない入力欄で送る）・エラー表示（2026-11-08） */
.rl-ct-cf7 .rl-cf7-data, .rl-ct-cf7 .wpcf7-submit, .rl-ct-cf7 .wpcf7-spinner, .rl-ct-cf7 .wpcf7-not-valid-tip, .rl-ct-cf7 .screen-reader-response { display: none !important; }
.rl-ct-cf7 form > p { margin: 0; }
.rl-ct-cf7 .wpcf7-response-output { margin: 32px 0 0 !important; padding: 14px 18px !important; border: 1px solid #eb4603 !important; color: #eb4603; font-size: 14px; font-weight: 500; text-align: center; }
.rl-ct-cf7 form.init .wpcf7-response-output, .rl-ct-cf7 form.sent .wpcf7-response-output, .rl-ct-cf7 form.submitting .wpcf7-response-output { display: none; }
.rl-ct-send.is-busy { opacity: .5; pointer-events: none; }
.rl-ct-err { margin: 0; padding: 0; list-style: none; color: #eb4603; font-size: 15px; font-weight: 500; line-height: 1.9; text-align: center; }
@media (max-width: 767px) {
	.rl-ct-cf7 .wpcf7-response-output { margin-top: 6vw !important; font-size: 3.6vw; }
	.rl-ct-err { font-size: 3.8vw; text-align: left; }
}

/* 幅1280前後のPCで横にはみ出すのを止める（2026-11-09）
   会社概要の事業カード（440px×3＋間50px＝1420px固定）と、LP2 課題の箱（文290px＋絵280px固定）が、
   幅1420px未満で画面の外へ出ていた。1430px以上は前と同じ寸法になる式にしてある */
@media (min-width: 768px) {
	.rl-biz { grid-template-columns: repeat(3, minmax(0, 440px)); gap: clamp(20px, 3.5vw, 50px); }
	.rl-biz__card { padding-left: clamp(24px, 3.5vw, 50px); padding-right: clamp(24px, 3.5vw, 50px); }
	.rl-biz__btn { width: 100%; max-width: 340px; }
	.rl-md-is li { padding-left: clamp(28px, 3.6vw, 52px); padding-right: clamp(24px, 2.8vw, 40px); }
	.rl-md-is li > div { flex: 0 1 290px; min-width: 0; }
	.rl-md-is img { flex: 0 1 280px; min-width: 0; max-width: 280px; width: 100% !important; }
}

/* タブレット（768〜1199px）：PCの固定幅が入りきらない部品だけ縦に積む（2026-11-11 公開後点検。iPad縦で右へはみ出し・2文字ずつ折れていた） */
@media (min-width: 768px) and (max-width: 1199px) {
	.rl-msg { grid-template-columns: minmax(0, 670px); gap: 50px; padding: 0 20px; }
	.rl-msg__ph { margin: 0 auto; }
	.rl-clients { grid-template-columns: repeat(4, minmax(0, 176px)); padding: 0 20px; }
	.rl-clients img { width: 100% !important; }
	.rl-ev-problem__top { flex-direction: column; align-items: center; gap: 40px; }
	.rl-ev-problem__body { width: auto; max-width: 700px; padding-top: 0; }
	.rl-ev-problem__top img { width: 100% !important; max-width: 700px; height: auto; }
	.rl-ev-case__item, .rl-md-case__item { grid-template-columns: minmax(0, 600px); gap: 30px; padding: 0 20px; }
	.rl-md-svc, .rl-md-pr { grid-template-columns: minmax(0, 693px); padding: 0 20px; }
	.rl-page .rl-nav { gap: 28px; }
	.rl-page .rl-nav a { font-size: 13px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
	.rl-page .rl-nav { gap: 18px; }
	.rl-page .rl-nav a { font-size: 12px; letter-spacing: .04em; }
}

/* ===== LPのファーストビュー：文字が順に出る（2026-11-11・TOPの rl-fuIn を短くしたもの）=====
   html.rl-lpmo は各LPの本文の頭の1行がJSで付ける（JSが動かない・動きを減らす設定のときは付かず、最初から全部見える）。
   小見出し → 大見出し → 説明文 → 実績の枠 → 「〜ご相談OK」とボタン。0.45秒＋0.5秒で、1秒以内に出そろう。ボタンは透明の間も押せる */
@keyframes rl-lpIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.rl-lpmo :is(.rl-ev-hero__in, .rl-md-hero__in, .rl-st-hero__in) > * { animation: rl-lpIn .5s ease both; }
.rl-lpmo :is(.rl-ev-hero__in, .rl-md-hero__in, .rl-st-hero__in) > :nth-child(1) { animation-delay: 0s; }
.rl-lpmo :is(.rl-ev-hero__in, .rl-md-hero__in, .rl-st-hero__in) > :nth-child(2) { animation-delay: .1s; }
.rl-lpmo :is(.rl-ev-hero__in, .rl-md-hero__in, .rl-st-hero__in) > :nth-child(3) { animation-delay: .2s; }
.rl-lpmo :is(.rl-ev-hero__in, .rl-md-hero__in, .rl-st-hero__in) > :nth-child(4) { animation-delay: .3s; }
.rl-lpmo :is(.rl-ev-hero__in, .rl-md-hero__in, .rl-st-hero__in) > :nth-child(n+5) { animation-delay: .45s; }
@media (prefers-reduced-motion: reduce) {
	.rl-lpmo :is(.rl-ev-hero__in, .rl-md-hero__in, .rl-st-hero__in) > * { animation: none; opacity: 1; transform: none; }
}

/* ===== LP1〜3 の Results：写真が上へ流れる（2026-11-11 岩永さんの一覧。sub.js が .rl-resfl と写真を足したときだけ効く）=====
   背景の1枚絵（写真を焼いたもの）は外し、TOPの About と同じ部品（top.css の .rl-about__floats・.rl-float）で並べる */
.rl-resfl { position: relative; overflow: hidden; background-image: none !important; }
.rl-resfl > :not(.rl-about__floats) { position: relative; z-index: 2; }