@charset "UTF-8";
/**
 * 人材業界LP スタイル
 * デザイントークンは既存サイト（--mh-- 名前空間）に合わせています。
 */

/* ----------------------------------------------------------------------
 * 【要調整】テーマ共通ヘッダー/フッター使用時のコンテンツ幅リセット
 *
 * LPは全幅（背景色が画面端まで届く）前提のデザインです。
 * テーマ側の <main> や .content-area に max-width / padding が指定されていると
 * セクション背景が中央に収まってしまうため、下記のコメントを外し、
 * セレクタを実際のテーマの構造に合わせて書き換えてください。
 * body には .hr-industry-lp クラスが付与されています。
 * -------------------------------------------------------------------- */
/*
body.hr-industry-lp .site-main,
body.hr-industry-lp .content-area,
body.hr-industry-lp #content,
body.hr-industry-lp .l-content {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0;
	float: none;
}

body.hr-industry-lp .sidebar,
body.hr-industry-lp #secondary {
	display: none;
}
*/

/* ====================================================================== */
/* トークン                                                                */
/* ====================================================================== */
.hrlp {
	/* Color */
	--mh--color--primary-100: rgb(216 219 232);
	--mh--color--primary-300: rgb(85 108 166);
	--mh--color--primary-500: rgb(50 45 99);
	--mh--color--primary-700: rgb(38 34 75);
	--mh--color--accent-300: rgb(255 232 232);
	--mh--color--accent-500: rgb(167 30 65);
	--mh--color--surface-400: rgb(242 244 246);
	--mh--color--surface-500: rgb(238 240 242);
	--mh--color--grayscale-100: rgb(255 255 255);
	--mh--color--grayscale-500: rgb(183 187 204);
	--mh--color--grayscale-700: rgb(140 144 165);
	--mh--color--grayscale-800: rgb(117 121 146);
	--mh--color--grayscale-900: rgb(60 61 66);
	--mh--color--wine-300: rgb(255 232 233);
	--mh--color--wine-500: rgb(196 42 56);

	--color-primary: var(--mh--color--primary-500);
	--color-primary-hover: var(--mh--color--primary-300);
	--color-primary-tint: var(--mh--color--primary-100);
	--color-primary-deep: var(--mh--color--primary-700);
	--color-accent: var(--mh--color--accent-500);
	--color-wine: var(--mh--color--wine-500);

	--surface-muted: var(--mh--color--surface-500);
	--surface-fill: var(--mh--color--surface-400);
	--text-heading: var(--mh--color--primary-500);
	--text-body: var(--mh--color--grayscale-900);
	--text-muted: var(--mh--color--grayscale-800);
	--border-default: var(--mh--color--grayscale-500);
	--border-strong: var(--mh--color--grayscale-700);

	/* Typography */
	--font-base: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", meiryo, sans-serif;
	--font-en: "Roboto", sans-serif;

	/* Radius / shadow */
	--radius-sm: 4px;
	--radius-md: 10px;
	--radius-lg: 16px;
	--shadow-card: 8px 8px 30px 0 rgba(0, 0, 0, 0.07);

	--container: 1100px;
	--container-wide: 1400px;

	font-family: var(--font-base);
	color: var(--text-body);
	background: #fff;
	max-width: 100vw;
	overflow-x: hidden;
	line-height: 1.8;
}

.hrlp *,
.hrlp *::before,
.hrlp *::after {
	box-sizing: border-box;
}

.hrlp img {
	max-width: 100%;
	height: auto;
}

.hrlp a {
	color: var(--color-primary);
}

.hrlp a:hover {
	color: var(--color-primary-hover);
}

/* ----------------------------------------------------------------------
 * 既存テーマCSSとの干渉を防ぐための最小限のリセット（.hrlp 内のみ）
 * -------------------------------------------------------------------- */
.hrlp h1,
.hrlp h2,
.hrlp h3,
.hrlp p,
.hrlp ul,
.hrlp ol,
.hrlp li,
.hrlp figure {
	margin: 0;
	padding: 0;
}
.hrlp .hrlp-lead{
 margin: 0px 0px 20px 0px;
}
.hrlp .hrlp-lead.strong{
 font-weight: bold;
	    font-size: 18px;
	margin: 10px 0px 20px 0px;
	    color: var(--color-primary);
}
.hrlp .hrlp-lead.strong .b{
 background: linear-gradient(transparent 70%,#d8dbe8 70%);
}

.hrlp ul,
.hrlp ol {
	list-style: none;
}

.hrlp h1,
.hrlp h2,
.hrlp h3 {
	font-weight: 700;
	border: 0;
	background: none;
}

.hrlp section::before,
.hrlp section::after,
.hrlp h2::before,
.hrlp h2::after {
	content: none;
}

/* 画像未設定時のプレースホルダー */
.hrlp-ph {
	display: flex;
	align-items: center;
	justify-content: center;
	background: repeating-linear-gradient(45deg, #eef1f5, #eef1f5 10px, #e6eaf0 10px, #e6eaf0 20px);
	color: var(--text-muted);
	font-size: 12px;
	text-align: center;
	padding: 8px;
}

/* ====================================================================== */
/* 共通パーツ                                                              */
/* ====================================================================== */
.hrlp-inner {
	max-width: var(--container);
	margin: 0 auto;
}
.hrlp-inner.w {
	max-width: 1200px;
}

.hrlp-section {
	padding: clamp(40px, 5vw, 64px) 24px;
	/* 固定ヘッダーの高さは JS が --hrlp-header-h に実測値を入れます */
	scroll-margin-top: calc(var(--hrlp-header-h, 90px) + 12px);
}

.hrlp-section--muted {
	background: var(--surface-muted);
}

.hrlp-h2 {
	margin: 0 0 10px;
	font-size: clamp(22px, 2.6vw, 28px);
	font-weight: 700;
	color: var(--color-primary);
	line-height: 1.5;
}

.hrlp-lead {
	margin: 0 0 26px;
	font-size: 15px;
	color: var(--text-muted);
	line-height: 1.9;
	max-width: 800px;
}

.hrlp-h2 + .hrlp-grid,
.hrlp-h2 + .hrlp-list {
	margin-top: 24px;
}

.hrlp-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(var(--min, 260px), 1fr));
	gap: var(--gap, 16px);
	/*align-items: start;*/
}

.hrlp-grid--160 { --min: 160px; --gap: 12px; }
.hrlp-grid--180 { --min: 180px; --gap: 12px; }
.hrlp-grid--240 { --min: 240px; }
.hrlp-grid--280 { --min: 280px; }
.hrlp-grid--300 { --min: 300px; }
.hrlp-grid--320 { --min: 320px; --gap: 18px; }
.hrlp-grid--360 { --min: 360px; --gap: 18px; }

/* ボタン */
.hrlp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-decoration: none;
	font-weight: 700;
	line-height: 1.4;
	border: 0;
	border-radius: var(--radius-md);
	cursor: pointer;
	text-align: center;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.hrlp-btn:hover {
	opacity: 0.88;
	color: #fff;
}

body .hrlp-btn--accent {
	background: var(--color-accent);
	color: #fff;
}

body .hrlp-btn--accent:hover {
	color: #fff;
}

body .hrlp-btn--primary {
	background: var(--color-primary);
	color: #fff;
}
body .hrlp-btn--primary:hover {
	color: #fff;
}
.hrlp-btn--sm { padding: 12px 20px; font-size: 13.5px; }
.hrlp-btn--md { padding: 16px 28px; font-size: 15px; }
.hrlp-btn--lg { padding: 20px 32px; font-size: 16px; }
.hrlp-btn--block { display: flex; width: 100%; }

/* カード */
.hrlp-card {
	border: 1px solid var(--border-default);
	border-radius: var(--radius-lg);
	background: #fff;
	overflow: hidden;
}


.hrlp-card--shadow {
	box-shadow: var(--shadow-card);
}

.hrlp-card--muted {
	background: var(--surface-muted);
}

.hrlp-card__media {
	width: 100%;
	height: 130px;
	object-fit: cover;
	display: block;
}

.hrlp-card__body {
	padding: 22px;
}

.hrlp-card__eyebrow {
	font-family: var(--font-en);
	font-size: 13px;
	font-weight: 700;
	color: var(--color-primary);
	margin-bottom: 10px;
	letter-spacing: 0.04em;
}

.hrlp-card__title {
	font-size: 15.5px;
	font-weight: 700;
	color: var(--text-heading);
	margin-bottom: 10px;
	line-height: 1.6;
}

.hrlp-card__desc {
	font-size: 13px;
	color: var(--text-muted);
	line-height: 1.9;
}

.hrlp-card__link {
	margin-top: 14px;
	font-size: 12.5px;
	color: var(--color-primary);
	font-weight: 700;
	text-decoration: none;
	display: inline-block;
}

.hrlp-card__link:hover {
	text-decoration: underline;
}

/* 注釈ボックス */
.hrlp-note {
	margin-top: 22px;
	padding: 18px 22px;
	border-left: 4px solid var(--color-primary);
	background: #fff;
	border-radius: 0 var(--radius-md) var(--radius-md) 0;
	font-size: 14px;
	line-height: 1.9;
	color: var(--text-body);
}

.hrlp-note--wine {
	border-left-color: var(--color-wine);
	background: var(--mh--color--wine-300);
}

.hrlp-note__title {
	font-size: 15px;
	font-weight: 700;
	color: var(--text-heading);
	margin-bottom: 8px;
}

.hrlp-note__small {
	display: block;
	margin-top: 6px;
	font-size: 11.5px;
	color: var(--text-muted);
}

/* ====================================================================== */
/* ヘッダー                                                                */
/* ====================================================================== */
.hrlp-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: #fff;
	box-shadow: 0 2px 10px rgba(50, 45, 99, 0.08);
}

.hrlp-header__inner {
	max-width: var(--container-wide);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 14px 24px;
}

.hrlp-header__logo img,
.hrlp-header__logo .hrlp-ph {
	height: 38px;
	width: auto;
	display: block;
}

.hrlp-header__right {
	display: flex;
	align-items: center;
	gap: 20px;
}

.hrlp-tel {
	text-align: right;
}

.hrlp-tel__label {
	font-size: 11px;
	color: var(--text-muted);
}

.hrlp-tel__num {
	font-family: var(--font-en);
	font-size: 22px;
	font-weight: 700;
	color: var(--color-primary);
	text-decoration: none;
	line-height: 1.2;
	display: block;
}

/* ====================================================================== */
/* ファーストビュー                                                        */
/* ====================================================================== */
.hrlp-fv {
	background: linear-gradient(180deg, #f8fbfe 0%, #ecf1f7 100%);
	padding: clamp(30px, 4vw, 54px) 24px clamp(34px, 4vw, 58px);
}

.hrlp-fv__inner {
	max-width: var(--container);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: clamp(26px, 3.4vw, 50px);
	align-items: center;
}

.hrlp-badge {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	background: #fff;
	border-radius: 9999px;
	padding: 8px 18px;
	box-shadow: 0 2px 10px rgba(50, 45, 99, 0.08);
	font-size: 13.5px;
	font-weight: 700;
	color: var(--color-primary);
	margin-bottom: 22px;
}

.hrlp-fv__title {
	margin: 0 0 18px;
	font-size: clamp(30px, 4vw, 46px);
	line-height: 1.35;
	font-weight: 700;
	color: var(--color-primary);
	letter-spacing: 0.02em;
}

.hrlp-fv__lead {
	margin: 0 0 24px;
	font-size: clamp(15px, 1.5vw, 16.5px);
	line-height: 1.95;
	font-weight: 500;
	color: var(--text-body);
	max-width: 34em;
}

.hrlp-checks {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 26px;
}

.hrlp-check {
	display: flex;
	gap: 10px;
	align-items: center;
	font-size: 14px;
	color: var(--text-body);
}

.hrlp-check::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--color-primary);
	flex: none;
}

.hrlp-fv__visual,
.hrlp-fv__visual.hrlp-ph {
	width: 100%;
	height: clamp(280px, 32vw, 400px);
	border-radius: 18px;
	object-fit: cover;
	box-shadow: 0 14px 40px rgba(30, 42, 85, 0.12);
}

/* ====================================================================== */
/* 数字                                                                    */
/* ====================================================================== */
.hrlp-stats {
	padding: 40px 24px;
	background: #fafaf8;
	border-top: 1px solid var(--border-default);
}

.hrlp-stats__title {
	font-size: 17px;
	font-weight: 700;
	color: var(--color-primary);
	margin-bottom: 18px;
}

.hrlp-stat {
	border: 1px solid var(--border-default);
	border-radius: var(--radius-md);
	padding: 18px 12px;
	text-align: center;
	background: #fff;
}

.hrlp-stat__label {
	font-size: 12px;
	color: var(--text-muted);
	margin-bottom: 6px;
}

.hrlp-stat__value {
	font: 700 28px var(--font-base);
	color: var(--color-primary);
	line-height: 1.3;
}

/* ====================================================================== */
/* ページ内ナビ                                                            */
/* ====================================================================== */
.hrlp-nav {
	padding: 18px 24px;
	border-bottom: 1px solid var(--border-default);
	background: #fff;
}

body .hrlp-nav__list {
	max-width: var(--container);
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	padding: 0;
}

.hrlp-nav__link {
	display: inline-block;
	padding: 8px 16px;
	border: 1px solid var(--border-default);
	border-radius: 9999px;
	font-size: 12.5px;
	color: var(--text-body);
	text-decoration: none;
	background: var(--surface-muted);
}

.hrlp-nav__link:hover {
	background: var(--color-primary-tint);
	color: var(--color-primary);
}

/* ====================================================================== */
/* お悩み                                                                  */
/* ====================================================================== */
.hrlp-problem__title {
	font-size: 14px;
	font-weight: 700;
	color: var(--text-heading);
	margin-bottom: 10px;
	line-height: 1.6;
}

.hrlp-problem__desc {
	font-size: 13.5px;
	color: var(--text-muted);
	line-height: 1.8;
}

/* ====================================================================== */
/* ファネル                                                                */
/* ====================================================================== */
.hrlp-funnel {
	margin-top: 14px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
	font-family: var(--font-en);
	font-size: 10.5px;
	color: var(--text-body);
}

.hrlp-funnel__item {
	padding: 5px 9px;
	border: 1px solid var(--border-default);
	border-radius: 4px;
	background: var(--surface-fill);
}

.hrlp-funnel__item--strong {
	border-color: var(--color-primary);
	background: var(--color-primary-tint);
}

/* ====================================================================== */
/* 中間CTA                                                                 */
/* ====================================================================== */
.hrlp-midcta {
	padding: clamp(30px, 3.5vw, 44px) 24px;
	background: var(--color-primary-tint);
}

.hrlp-midcta__inner {
	max-width: var(--container);
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.hrlp-midcta__title {
	font-size: 19px;
	font-weight: 700;
	color: var(--color-primary);
	margin-bottom: 8px;
	line-height: 1.6;
}

.hrlp-midcta__desc {
	font-size: 13px;
	color: var(--text-body);
	line-height: 1.8;
}

/* ====================================================================== */
/* 4つの視点                                                               */
/* ====================================================================== */
.hrlp-point {
	display: flex;
	gap: 18px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-lg);
	padding: 22px;
	background: #fff;
	box-shadow: var(--shadow-card);
}

.hrlp-point__num {
	width: 52px;
	height: 52px;
	flex: none;
	border-radius: 50%;
	background: var(--color-primary);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-en);
	font-size: 18px;
	font-weight: 700;
}

/* ====================================================================== */
/* 事例                                                                    */
/* ====================================================================== */
.hrlp-case__media {
	width: 100%;
	height: 160px;
	object-fit: cover;
	display: block;
}

.hrlp-case__body {
	padding: 26px;
}

.hrlp-case__label {
	font-family: var(--font-en);
	font-size: 12px;
	font-weight: 700;
	color: var(--color-primary);
	margin-bottom: 14px;
	letter-spacing: 0.04em;
}

.hrlp-case__rows {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.hrlp-case__label-sm {
	font-size: 11.5px;
	color: var(--text-muted);
	margin-bottom: 4px;
}

.hrlp-case__text {
	font-size: 13.5px;
	color: var(--text-body);
	line-height: 1.85;
}

.hrlp-metrics {
	display: flex;
	gap: 12px;
	margin-top: 4px;
}

.hrlp-metric {
	flex: 1;
	border: 1px solid var(--color-primary);
	border-radius: var(--radius-md);
	padding: 12px;
	background: var(--color-primary-tint);
}

.hrlp-metric__label {
	font-size: 11px;
	color: var(--text-muted);
}

.hrlp-metric__value {
	font: 700 22px var(--font-base);
	color: var(--color-primary);
	line-height: 1.3;
}

/* ====================================================================== */
/* CPA比較                                                                 */
/* ====================================================================== */
.hrlp-kpi__grid {
	max-width: 760px;
}

.hrlp-kpi {
	border: 1px solid var(--border-default);
	border-radius: var(--radius-lg);
	padding: 22px;
	background: #fff;
}

.hrlp-kpi--hl {
	border: 2px solid var(--color-primary);
}

.hrlp-kpi__label {
	font-family: var(--font-en);
	font-size: 11px;
	font-weight: 700;
	color: var(--text-muted);
	margin-bottom: 12px;
	letter-spacing: 0.04em;
}

.hrlp-kpi--hl .hrlp-kpi__label {
	color: var(--color-primary);
}

.hrlp-kpi__lines {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 14px;
	color: var(--text-body);
}

.hrlp-kpi__arrow {
	color: var(--border-strong);
}

.hrlp-kpi__result {
	margin-top: 14px;
	padding: 12px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-md);
	background: var(--surface-muted);
}

.hrlp-kpi--hl .hrlp-kpi__result {
	border-color: var(--color-primary);
	background: var(--color-primary-tint);
}

.hrlp-kpi__result-label {
	font-size: 11px;
	color: var(--text-muted);
}

.hrlp-kpi__result-value {
	font: 700 22px var(--font-base);
	line-height: 1.3;
}

.hrlp-kpi--hl .hrlp-kpi__result-value {
	color: var(--color-primary);
}

.hrlp-kpi__summary {
	margin-top: 18px;
	font-size: 14px;
	line-height: 1.9;
	color: var(--text-body);
}

.hrlp-chips {
	margin-top: 14px;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
}

.hrlp-chips__label {
	font-size: 12.5px;
	color: var(--text-muted);
}

.hrlp-chip {
	padding: 6px 14px;
	border: 1px solid var(--border-default);
	border-radius: 9999px;
	font-size: 12.5px;
}

/* ====================================================================== */
/* 予算                                                                    */
/* ====================================================================== */
.hrlp-price {
	border: 1px solid var(--border-default);
	border-radius: var(--radius-lg);
	padding: 24px;
	background: #fff;
}

.hrlp-price--hl {
	border: 2px solid var(--color-primary);
	background: var(--color-primary-tint);
}

.hrlp-price__badge {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 9999px;
	background: var(--color-primary);
	color: #fff;
	font-family: var(--font-en);
	font-size: 10.5px;
	font-weight: 700;
	margin-bottom: 10px;
}

.hrlp-price__caption {
	font-size: 13px;
	color: var(--text-muted);
	margin-bottom: 10px;
}

.hrlp-price__value {
	font: 700 24px var(--font-base);
	margin-bottom: 12px;
	color: var(--text-heading);
	line-height: 1.4;
}

.hrlp-price--hl .hrlp-price__value {
	color: var(--color-primary);
}

.hrlp-price__desc {
	font-size: 13px;
	color: var(--text-muted);
	line-height: 1.85;
}

/* ====================================================================== */
/* 媒体                                                                    */
/* ====================================================================== */
.hrlp-media-item {
	border: 1px solid var(--border-default);
	border-radius: var(--radius-md);
	padding: 16px;
	background: #fff;
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

.hrlp-media-item__icon,
.hrlp-media-item__icon.hrlp-ph {
	width: 36px;
	height: 36px;
	flex: none;
	border-radius: 6px;
	object-fit: cover;
	font-size: 9px;
}

.hrlp-media-item__title {
	font-size: 14px;
	font-weight: 700;
	color: var(--text-heading);
	margin-bottom: 6px;
}

.hrlp-media-item__desc {
	font-size: 12.5px;
	color: var(--text-muted);
	line-height: 1.8;
}

/* ====================================================================== */
/* 流れ                                                                    */
/* ====================================================================== */
.hrlp-flow__media {
	width: 100%;
	height: 80px;
	object-fit: cover;
	display: block;
}

.hrlp-flow__body {
	padding: 18px;
}

.hrlp-flow__step {
	font-family: var(--font-en);
	font-size: 11px;
	font-weight: 700;
	color: var(--color-primary);
	margin-bottom: 8px;
}

.hrlp-flow__title {
	font-size: 14px;
	font-weight: 700;
	color: var(--text-heading);
	margin-bottom: 8px;
}

.hrlp-flow__desc {
	font-size: 12.5px;
	color: var(--text-muted);
	line-height: 1.75;
}

/* ====================================================================== */
/* FAQ                                                                     */
/* ====================================================================== */
.hrlp-faq__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: 820px;
	margin:  0 auto;
}

.hrlp-faq__item {
	border: 1px solid var(--border-default);
	border-radius: var(--radius-md);
	background: #fff;
	overflow: hidden;
}

.hrlp-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 18px 20px;
	font-size: 14.5px;
	font-weight: 700;
	color: var(--text-heading);
	cursor: pointer;
	list-style: none;
	line-height: 1.6;
}

.hrlp-faq__q::-webkit-details-marker {
	display: none;
}

.hrlp-faq__q::after {
	content: "";
	flex: none;
	width: 10px;
	height: 10px;
	border-right: 2px solid var(--color-primary);
	border-bottom: 2px solid var(--color-primary);
	transform: rotate(45deg) translateY(-2px);
	transition: transform 0.3s ease;
}

.hrlp-faq__item[open] .hrlp-faq__q::after {
	transform: rotate(225deg) translateY(-2px);
}

.hrlp-faq__a {
	padding: 0 20px 20px;
	font-size: 13.5px;
	color: var(--text-muted);
	line-height: 1.9;
}

/* ====================================================================== */
/* ノウハウ記事                                                            */
/* ====================================================================== */
.hrlp-blog__media {
	width: 100%;
	height: 150px;
	object-fit: cover;
	display: block;
}

.hrlp-blog__body {
	padding: 16px;
}

.hrlp-blog__title {
	font-size: 14px;
	font-weight: 700;
	color: var(--text-heading);
	margin-bottom: 8px;
	line-height: 1.6;
}

.hrlp-blog__desc {
	font-size: 12.5px;
	color: var(--text-muted);
	line-height: 1.75;
}

/* ====================================================================== */
/* 最終CTA                                                                 */
/* ====================================================================== */
.hrlp-contact {
	padding: clamp(44px, 6vw, 72px) 24px;
	background: #fafaf8;
	border-top: 1px solid var(--border-default);
	scroll-margin-top: calc(var(--hrlp-header-h, 90px) + 12px);
}

.hrlp-contact__inner {
	max-width: var(--container);
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
	gap: 32px;
	align-items: start;
}

.hrlp-contact__body {
	margin: 0 0 20px;
	font-size: 14px;
	line-height: 1.9;
	color: var(--text-body);
}

.hrlp-contact__checks {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 13.5px;
	color: var(--text-body);
	list-style: none;
	padding: 0;
	margin: 0;
}

.hrlp-contact__checks li::before {
	content: "・";
}

.hrlp-contact__note {
	margin-top: 18px;
	font-size: 12.5px;
	color: var(--text-muted);
}

.hrlp-telcard {
	margin-top: 22px;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 20px;
	background: #fff;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
	max-width: 340px;
}

.hrlp-telcard__num {
	font-family: var(--font-en);
	font-size: 24px;
	font-weight: 700;
	color: var(--color-primary);
	text-decoration: none;
	line-height: 1.25;
	display: block;
}

.hrlp-telcard__label,
.hrlp-telcard__hours {
	font-size: 11px;
	color: var(--text-muted);
}

.hrlp-formbox {
	border: 1px solid var(--border-default);
	border-radius: var(--radius-lg);
	padding: 26px;
	background: #fff;
	box-shadow: var(--shadow-card);
}

.hrlp-formbox__title {
	font-size: 15px;
	font-weight: 700;
	color: var(--text-heading);
	margin-bottom: 16px;
}

/* ダミーフォーム（ショートコード未設定時） */
.hrlp-form {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.hrlp-form label {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: var(--text-heading);
	margin-bottom: 6px;
}

.hrlp-form .hrlp-req {
	color: var(--color-accent);
	font-size: 11px;
	margin-left: 6px;
}

.hrlp-form input[type="text"],
.hrlp-form input[type="email"],
.hrlp-form input[type="tel"],
.hrlp-form textarea {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-sm);
	font-size: 14px;
	font-family: inherit;
	background: #fff;
	color: var(--text-body);
}

.hrlp-form input:focus,
.hrlp-form textarea:focus {
	outline: none;
	border-color: var(--color-primary);
	box-shadow: 0 0 0 2px rgba(50, 45, 99, 0.25);
}

/* ====================================================================== */
/* MW WP Form                                                              */
/* ====================================================================== */
/* MW WP Form は <div class="mw_wp_form"><form>…</form></div> の構造 */
.hrlp-formbox .mw_wp_form > form {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.hrlp-formbox .mw_wp_form p,
.hrlp-formbox .mw_wp_form .hrlp-formrow {
	margin: 0;
}

.hrlp-formbox .mw_wp_form .hrlp-formrow--submit {
	margin-top: 6px;
}

.hrlp-formbox .mw_wp_form label {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: var(--text-heading);
	margin-bottom: 6px;
}

.hrlp-formbox .mw_wp_form input[type="text"],
.hrlp-formbox .mw_wp_form input[type="email"],
.hrlp-formbox .mw_wp_form input[type="tel"],
.hrlp-formbox .mw_wp_form input[type="url"],
.hrlp-formbox .mw_wp_form input[type="number"],
.hrlp-formbox .mw_wp_form input[type="date"],
.hrlp-formbox .mw_wp_form select,
.hrlp-formbox .mw_wp_form textarea {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-sm);
	font-size: 14px;
	font-family: inherit;
	line-height: 1.6;
	background: #fff;
	color: var(--text-body);
	-webkit-appearance: none;
	appearance: none;
}

.hrlp-formbox .mw_wp_form select {
	background-image: linear-gradient(45deg, transparent 50%, var(--text-muted) 50%),
		linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);
	background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	padding-right: 36px;
}

.hrlp-formbox .mw_wp_form input:focus,
.hrlp-formbox .mw_wp_form select:focus,
.hrlp-formbox .mw_wp_form textarea:focus {
	outline: none;
	border-color: var(--color-primary);
	box-shadow: 0 0 0 2px rgba(50, 45, 99, 0.25);
}

/* ラジオ・チェックボックス */
.hrlp-formbox .mw_wp_form .horizontal-item,
.hrlp-formbox .mw_wp_form .vertical-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-right: 16px;
	font-size: 14px;
}

.hrlp-formbox .mw_wp_form .vertical-item {
	display: flex;
	margin: 0 0 8px;
}

.hrlp-formbox .mw_wp_form .horizontal-item label,
.hrlp-formbox .mw_wp_form .vertical-item label {
	font-weight: 400;
	margin: 0;
	color: var(--text-body);
}

/* 必須ラベル（フォーム側で <span class="hrlp-req">必須</span> を入れてください） */
.hrlp-req {
	display: inline-block;
	margin-left: 6px;
	padding: 2px 8px;
	border-radius: 3px;
	background: var(--color-accent);
	color: #fff;
	font-size: 10.5px;
	font-weight: 700;
	vertical-align: middle;
}

.hrlp-any {
	display: inline-block;
	margin-left: 6px;
	padding: 2px 8px;
	border-radius: 3px;
	background: var(--surface-fill);
	color: var(--text-muted);
	font-size: 10.5px;
	font-weight: 700;
	vertical-align: middle;
}

/* エラー表示 */
.hrlp-formbox .mw_wp_form .error {
	display: block;
	margin-top: 6px;
	color: var(--color-accent);
	font-size: 12.5px;
	font-weight: 700;
}

/* 送信・確認・戻るボタン */
.hrlp-formbox .mw_wp_form input[type="submit"],
.hrlp-formbox .mw_wp_form button[type="submit"] {
	display: block;
	width: 100%;
	padding: 18px 24px;
	border: 0;
	border-radius: var(--radius-md);
	background: var(--color-accent);
	color: #fff;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: opacity 0.3s ease;
}

.hrlp-formbox .mw_wp_form input[type="submit"]:hover,
.hrlp-formbox .mw_wp_form button[type="submit"]:hover {
	opacity: 0.88;
}

/* 「戻る」ボタンは控えめに */
.hrlp-formbox .mw_wp_form input[name="submitBack"] {
	background: var(--surface-fill);
	color: var(--text-body);
	margin-bottom: 10px;
}

/* 確認画面 */
.hrlp-formbox .mw_wp_form_confirm .mw-wp-form_input-block {
	display: none;
}

.hrlp-formbox .mw_wp_form_confirm .mw-wp-form_confirm-block {
	font-size: 14px;
	line-height: 1.9;
	color: var(--text-body);
	padding: 10px 0;
	border-bottom: 1px solid var(--border-default);
}

/* 完了画面 */
.hrlp-formbox .mw_wp_form_complete {
	font-size: 14px;
	line-height: 1.9;
	color: var(--text-body);
	text-align: center;
	padding: 20px 0;
}

/* ====================================================================== */
/* 追従CTA / フッター                                                      */
/* ====================================================================== */
.hrlp-sticky {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 60;
	display: none;
	grid-auto-flow: column;
	grid-auto-columns: 1fr;
}

.hrlp-sticky a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: #fff;
	text-decoration: none;
	padding: 16px 10px;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
}

.hrlp-sticky__tel { background: var(--color-primary); }
.hrlp-sticky__cta { background: var(--color-accent); }

.hrlp-footer {
	background: var(--color-primary-deep);
	color: #fff;
	padding: 36px 24px;
	text-align: center;
}

.hrlp-footer__logo {
	height: 34px;
	width: auto;
	margin: 0 auto 14px;
	display: block;
	filter: brightness(0) invert(1);
}

.hrlp-footer__tel {
	color: #fff;
	text-decoration: none;
	font-family: var(--font-en);
	font-size: 20px;
	font-weight: 700;
	display: block;
	margin-bottom: 4px;
}

.hrlp-footer__hours {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.7);
	margin-bottom: 16px;
}

.hrlp-footer__copy {
	font-size: 11.5px;
	color: rgba(255, 255, 255, 0.55);
}

/* ====================================================================== */
/* レスポンシブ                                                            */
/* ====================================================================== */
@media (max-width: 900px) {
	.hrlp-fv__inner {
		grid-template-columns: 1fr;
	}

	.hrlp-header__right .hrlp-tel {
		display: none;
	}
}

@media (max-width: 767px) {
	.hrlp-sticky {
		display: grid;
	}

	.hrlp-footer {
		padding-bottom: 90px;
	}

	.hrlp-header__right .hrlp-btn {
		padding: 10px 14px;
		font-size: 12.5px;
	}

	.hrlp-metrics {
		flex-direction: column;
	}

	.hrlp-contact__inner {
		grid-template-columns: 1fr;
	}
}

/*追記*/

#sec-faq h2{
 text-align: center;
}
#sec-faq .hrlp-lead{
 text-align: center;
	margin: 0 auto 20px;
}
