/*// _START HP-DESIGN-2026-10 //*/
/* ============================================================
   Relief HP デザイン更新 2026-10（提案書 docs/proposal-relief-hp-design-update-20261011.md 案 A）
   読み込み: functions.php の HP-DESIGN-2026-10 ブロック（子テーマ style.css の後）。
   注意: カスタマイザー CSS（wp-custom-css）と固定ページ内 <style> は本ファイルより後に出力されるため、
         それらで定義済みのクラス（.relief-*, .rlf2 *）を上書きする行は `body` を前置して詳細度を上げている。
   ロールバック: functions.php の同ブロックを外す（本ファイルと hp-design.js は読み込まれなくなる）。
   ============================================================ */

:root {
	--rv-ink: #1f2a32;
	--rv-muted: #4a5560;
	--rv-brown: #531b09;
	--rv-acc: #c95029;
	--rv-acc-dk: #a0421f;
	--rv-sand: #faf6f0;
	--rv-cream: #f1e8d7;
	--rv-line: #e6dfd4;
	--rv-line-strong: #d9cfbf;
	--rv-serif: "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
	--rv-ease: cubic-bezier(.22, .61, .36, 1);
	--rv-shadow: 0 1px 2px rgba(31, 42, 50, .04), 0 8px 24px rgba(31, 42, 50, .06);
}

/* ------------------------------------------------------------
   1. 土台（サイト全体）: 見出しの明朝・ボタン・ヘッダー・フッター
   ------------------------------------------------------------ */

/* 見出し: 明朝の大見出し（Serif display）。左罫線をやめ、下に短いアクセント線 */
body .relief-lp-h2,
body .sec_wrapper h2.relief-lp-h2 {
	font-family: var(--rv-serif);
	font-weight: 600;
	font-size: clamp(24px, 2.8vw, 34px);
	line-height: 1.45;
	letter-spacing: .02em;
	color: var(--rv-brown);
	margin: 0 0 32px;
	padding: 0 0 16px;
	border-left: 0;
	position: relative;
	text-wrap: balance;
}
body .relief-lp-h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 40px;
	height: 2px;
	background: var(--rv-acc);
}
body #works_lp_links h2.relief-lp-h2,
body #voices_full h2.relief-lp-h2 {
	margin: 0 0 32px;
	padding: 0 0 16px;
	border-left: 0;
	font-size: clamp(24px, 2.8vw, 34px);
}
body #works_lp_links h2.relief-lp-h2::after,
body #voices_full h2.relief-lp-h2::after {
	content: "";
}
body .relief-lp-hero__title,
body .relief-hero__title {
	font-family: var(--rv-serif);
	font-weight: 600;
	letter-spacing: .02em;
}
body .sec_wrapper h2.relief-lp-h2.rv-h2-gap {
	margin-top: clamp(48px, 6vw, 80px);
}
/* 濃茶の帯の中の見出しは白（.sec_wrapper h2 の指定より強くする） */
body .rv-band--brown .sec_wrapper h2.relief-lp-h2 {
	color: #fff;
}

/* ボタン: ピル維持・押すと少し縮む（Press scale）・ゴースト追加 */
body .relief-button {
	min-height: 52px;
	padding: 0 30px;
	font-size: 15px;
	letter-spacing: .04em;
	transition: background-color .25s var(--rv-ease), color .25s var(--rv-ease), border-color .25s var(--rv-ease), transform .15s var(--rv-ease), opacity .25s;
}
body .relief-button:hover,
body .relief-button:focus-visible {
	opacity: 1;
	background: var(--rv-acc-dk);
}
body .relief-button:active {
	transform: scale(.97);
}
body .relief-button:focus-visible {
	outline: 3px solid rgba(201, 80, 41, .35);
	outline-offset: 2px;
}
body .relief-button--secondary,
body .relief-button--ghost {
	background: transparent;
	border: 1.5px solid var(--rv-brown);
	color: var(--rv-brown);
}
body .relief-button--secondary:hover,
body .relief-button--secondary:focus-visible,
body .relief-button--ghost:hover,
body .relief-button--ghost:focus-visible {
	background: var(--rv-brown);
	color: #fff;
}
body .relief-button--line {
	background: #06c755;
	color: #fff;
}
body .relief-button--line:hover,
body .relief-button--line:focus-visible {
	background: #05a847;
	color: #fff;
}
body .relief-button--white {
	background: #fff;
	color: var(--rv-brown);
}
body .relief-button--white:hover,
body .relief-button--white:focus-visible {
	background: var(--rv-cream);
	color: var(--rv-brown);
}

/* ヘッダー: 砂色＋下罫線・72px・隠れるヘッダー（Hide-on-scroll header） */
body .siteHeader {
	background: var(--rv-sand);
	border-bottom: 1px solid var(--rv-line);
	transition: transform .25s var(--rv-ease), box-shadow .25s var(--rv-ease);
	will-change: transform;
}
body .siteHeader.fixed {
	box-shadow: 0 1px 0 var(--rv-line), 0 8px 24px rgba(31, 42, 50, .06);
}
body .siteHeader.fixed.rv-hide {
	transform: translateY(-100%);
	box-shadow: none;
}
body .siteHeader.fixed.rv-hide:focus-within {
	transform: none;
}
@media screen and (min-width: 992px) {
	body .siteHeader {
		height: 72px;
		padding-top: 6px;
		padding-bottom: 6px;
	}
	body .siteHeader_logo img {
		height: 54px;
		max-height: 54px;
	}
	/* グローバルナビ最後の項目（お問い合わせ）をピルボタン（Pill button）に */
	body .glonav.flex_wrapper > li:last-child > a {
		display: inline-flex;
		align-items: center;
		min-height: 40px;
		padding: 0 20px;
		border-radius: 999px;
		background: var(--rv-acc);
		color: #fff;
		font-size: 14px;
		font-size: 1.4rem;
		font-weight: 700;
		transition: background-color .25s var(--rv-ease), transform .15s var(--rv-ease);
	}
	body .glonav.flex_wrapper > li:last-child > a:hover,
	body .glonav.flex_wrapper > li:last-child > a:focus-visible {
		background: var(--rv-acc-dk);
		color: #fff;
	}
	body .glonav.flex_wrapper > li:last-child > a:active {
		transform: scale(.97);
	}
	body .glonav.flex_wrapper > li:last-child > a:focus-visible {
		outline: 3px solid rgba(201, 80, 41, .45);
		outline-offset: 2px;
	}
	body .glonav.flex_wrapper > li:last-child {
		margin-left: 6px;
	}
}

/* フッター: 砂色・上罫線を細く */
body .siteFooter {
	background: var(--rv-sand);
	border-top: 1px solid var(--rv-line);
}

/* ------------------------------------------------------------
   2. トップページ共通: セクションの余白・全幅帯・出現アニメーション
   ------------------------------------------------------------ */
.container section.rv .sec_wrapper {
	padding-top: clamp(56px, 7vw, 104px);
	padding-bottom: clamp(56px, 7vw, 104px);
}
@media screen and (min-width: 992px) {
	.container section.rv .sec_wrapper {
		max-width: 1040px;
	}
}

/* 全幅帯（Full-bleed band）: 横はみ出しを起こさない box-shadow 方式 */
.rv-band {
	position: relative;
	background: var(--rv-band, transparent);
	box-shadow: 0 0 0 100vmax var(--rv-band, transparent);
	clip-path: inset(0 -100vmax);
}
.rv-band--sand {
	--rv-band: var(--rv-sand);
}
.rv-band--brown {
	--rv-band: var(--rv-brown);
	color: #fff;
}
.rv-band--brown .relief-lp-h2,
body .rlf2.rv-band--brown .rlf2-note,
.rv-band--brown .relief-cta-note {
	color: #fff;
}
body .rv-band--brown .relief-lp-h2::after {
	background: #f1af99;
}
body .rlf2.rv-band--brown .rlf2-note {
	color: rgba(255, 255, 255, .82);
}
/* 濃茶帯の上ではフォーカス枠を白に */
body .rv-band--brown .relief-button:focus-visible,
body .rv-band--brown .rv-tabs__list > button:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 2px;
}

/* 出現（Scroll-triggered fade-in）: JS が html.rv-js を付けたときだけ初期状態を透明にする */
html.rv-js .rv-r:not(.rv-in) {
	opacity: 0;
	transform: translateY(16px);
}
.rv-r {
	transition: opacity .7s var(--rv-ease), transform .7s var(--rv-ease);
	transition-delay: calc(var(--rv-i, 0) * 80ms);
}
.rv-r.rv-in {
	opacity: 1;
	transform: none;
}

/* 中央寄せの注記 */
body .rv-note--center {
	text-align: center;
}
body .rv-textlink {
	margin: 14px 0 0;
	font-size: 14.5px;
}
body .rv-textlink a {
	color: var(--rv-acc);
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding-bottom: 1px;
}
body .rv-textlink a::before {
	content: "→ ";
}
body .rv-textlink a:hover {
	color: var(--rv-acc-dk);
}

/* ------------------------------------------------------------
   3. ヒーロー（Hero section）
   ------------------------------------------------------------ */
body #fv.rv-fv .relief-hero {
	padding-top: clamp(28px, 4vw, 56px);
	padding-bottom: clamp(24px, 3vw, 40px);
}
@media screen and (min-width: 768px) {
	body #fv.rv-fv .relief-hero {
		grid-template-columns: minmax(0, 1.15fr) minmax(240px, .85fr);
	}
}
body .rv-fv .relief-hero__title {
	font-size: clamp(24px, 2.8vw, 40px);
	line-height: 1.32;
	color: var(--rv-brown);
}
@media screen and (max-width: 767px) {
	body .rv-fv .relief-hero__title {
		font-size: clamp(24px, 7.2vw, 32px);
	}
	/* スマホ: イラストを上に、CTA 2 本は横並び */
	body #fv.rv-fv .relief-hero {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}
	body #fv.rv-fv .relief-hero__visual {
		order: -1;
		max-width: 420px;
		margin: 0 auto;
	}
	body .rv-fv .relief-hero__actions {
		flex-direction: row;
		gap: 10px;
	}
	body .rv-fv .relief-hero__actions .relief-button {
		width: calc(50% - 5px);
		min-height: 48px;
		padding: 0 10px;
		font-size: 14px;
	}
}
body .rv-fv .relief-hero__title .rv-line {
	display: block;
}
body .rv-fv .relief-hero__lead {
	color: var(--rv-muted);
	font-size: clamp(15px, 1.6vw, 17px);
	margin-top: 22px;
}
body .rv-fv .relief-hero__actions {
	margin-top: 28px;
}
body .rv-fv .relief-cta-note {
	margin-top: 18px;
}

/* ヒーローの動き: 見出しはテキストリビール（Split text・行ごと）、イラストはマスクリビール（Clip-path reveal） */
@media (prefers-reduced-motion: no-preference) {
	.rv-fv .relief-hero__title .rv-line {
		overflow: hidden;
	}
	.rv-fv .relief-hero__title .rv-line > span,
	.rv-fv .rv-line-in {
		display: block;
	}
	html.rv-js .rv-fv .relief-hero__title .rv-line {
		clip-path: inset(0 0 100% 0);
		transform: translateY(.3em);
		animation: rvLine .7s var(--rv-ease) forwards;
	}
	html.rv-js .rv-fv .relief-hero__title .rv-line:nth-child(2) {
		animation-delay: .15s;
	}
	html.rv-js .rv-fv .relief-hero__lead,
	html.rv-js .rv-fv .relief-hero__actions,
	html.rv-js .rv-fv .rv-textlink,
	html.rv-js .rv-fv .relief-cta-note {
		opacity: 0;
		animation: rvFade .6s var(--rv-ease) .45s forwards;
	}
	html.rv-js .rv-fv .relief-hero__visual {
		clip-path: inset(0 100% 0 0);
		animation: rvMask .8s var(--rv-ease) .2s forwards;
	}
}
@keyframes rvLine {
	to {
		clip-path: inset(0 0 -0.2em 0);
		transform: none;
	}
}
@keyframes rvFade {
	to {
		opacity: 1;
	}
}
@keyframes rvMask {
	to {
		clip-path: inset(0 0 0 0);
	}
}

/* ------------------------------------------------------------
   4. 実績バー（Social proof strip）: 数字は置かず、4 つの事実と公認バッジだけ
   ------------------------------------------------------------ */
.container section.rv-proof .sec_wrapper {
	padding-top: 0;
	padding-bottom: clamp(40px, 5vw, 64px);
}
.rv-proof__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px 32px;
	padding: 22px 0;
	border-top: 1px solid var(--rv-line-strong);
	border-bottom: 1px solid var(--rv-line-strong);
}
.rv-proof__trust {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, auto));
	gap: 10px 28px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--rv-brown);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
}
.rv-proof__trust > li {
	position: relative;
	padding-left: 24px;
	margin: 0;
	min-width: 0;
}
.rv-proof__trust > li > i {
	position: absolute;
	left: 0;
	top: 2px;
	color: var(--rv-acc);
	font-size: 16px;
}
.rv-proof__badges {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.rv-proof__badges > li {
	margin: 0;
	line-height: 0;
}
.rv-proof__badges img {
	height: 44px;
	width: auto;
	display: block;
}
@media screen and (max-width: 767px) {
	.rv-proof__inner {
		padding: 18px 0;
		gap: 14px;
	}
	.rv-proof__trust {
		grid-template-columns: 1fr;
		gap: 8px;
		font-size: 13.5px;
	}
	.rv-proof__badges {
		gap: 12px;
	}
	.rv-proof__badges img {
		height: 36px;
	}
}

/* ------------------------------------------------------------
   5. 6 つの成果（Icon + label・Stagger）
   ------------------------------------------------------------ */
.rv-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--rv-sand);
	color: var(--rv-acc);
	font-size: 19px;
	margin-bottom: 14px;
}
.rv-band--sand .rv-ico {
	background: var(--rv-cream);
}
body .rlf2 .rlf2-card.rv-pain {
	border-radius: 12px;
	box-shadow: var(--rv-shadow);
	padding: 26px 26px 24px;
}
body .rlf2 .rlf2-close.rv-close {
	max-width: 760px;
	margin: 40px auto 0;
	background: none;
	border: 0;
	border-radius: 0;
	padding: 0;
	text-align: center;
	font-size: 16.5px;
	line-height: 2;
}
body .rlf2 .rlf2-close.rv-close strong {
	font-family: var(--rv-serif);
	font-weight: 600;
	font-size: 1.3em;
	color: var(--rv-brown);
	line-height: 1.6;
}

/* ------------------------------------------------------------
   6. 入口 A／B のアコーディオン（Accordion）・ご利用の流れ（Step indicator）
   ------------------------------------------------------------ */
body #programs .rlf2-grid {
	align-items: start;
}
body .rlf2 .rlf2-prog.rv-prog {
	border-radius: 12px;
	box-shadow: var(--rv-shadow);
}
body .rlf2 .rlf2-prog.rv-prog .rlf2-tag {
	font-family: var(--rv-serif);
	letter-spacing: .1em;
}
.rv-acc {
	margin: 14px 0 0;
	border-top: 1px solid var(--rv-line);
	border-bottom: 1px solid var(--rv-line);
}
.rv-acc > summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 2px;
	font-size: 15px;
	font-weight: 700;
	color: var(--rv-brown);
	user-select: none;
}
.rv-acc > summary::-webkit-details-marker {
	display: none;
}
.rv-acc > summary::after {
	content: "";
	flex: 0 0 auto;
	width: 10px;
	height: 10px;
	border-right: 2px solid var(--rv-acc);
	border-bottom: 2px solid var(--rv-acc);
	transform: rotate(45deg);
	transition: transform .3s var(--rv-ease);
	margin-right: 4px;
	margin-top: -4px;
}
.rv-acc[open] > summary::after {
	transform: rotate(-135deg);
	margin-top: 4px;
}
.rv-acc > summary:hover {
	color: var(--rv-acc-dk);
}
.rv-acc > summary:focus-visible {
	outline: 2px solid var(--rv-acc);
	outline-offset: 2px;
	border-radius: 4px;
}
.rv-acc__body {
	padding: 0 0 16px;
}
body .rlf2 .rlf2-prog .rv-acc__body ul {
	margin: 4px 0 0;
}
body .rlf2 .rlf2-prog .rv-acc__body p {
	margin-top: 8px;
}

/* ご利用の流れ: 番号つきステップを 1 本の線でつなぐ（線は .rv-in で伸びる） */
body .rlf2 .rlf2-flow.rv-flow {
	position: relative;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	margin-top: 8px;
	counter-reset: rvstep;
}
/* 各ステップから次のステップへ 1 本ずつ線を引き、順番に伸ばす */
body .rlf2 .rlf2-flow.rv-flow > div:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 48px;
	right: -20px;
	top: 23px;
	height: 2px;
	background: var(--rv-line-strong);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .5s var(--rv-ease);
}
body .rlf2 .rlf2-flow.rv-flow > div:nth-child(2)::after {
	transition-delay: .45s;
}
body .rlf2 .rlf2-flow.rv-flow > div:nth-child(3)::after {
	transition-delay: .9s;
}
body .rlf2 .rlf2-flow.rv-flow.rv-in > div::after {
	transform: scaleX(1);
}
body .rlf2 .rlf2-flow.rv-flow > div {
	position: relative;
	background: none;
	border: 0;
	border-radius: 0;
	padding: 0;
	counter-increment: rvstep;
}
body .rlf2 .rlf2-flow.rv-flow > div::before {
	content: counter(rvstep);
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid var(--rv-acc);
	color: var(--rv-acc);
	font-family: var(--rv-serif);
	font-weight: 700;
	font-size: 20px;
	letter-spacing: 0;
	margin: 0 0 14px;
}
body .rlf2 .rlf2-flow.rv-flow h4 {
	font-size: 16.5px;
}
@media screen and (max-width: 767px) {
	body .rlf2 .rlf2-flow.rv-flow {
		grid-template-columns: 1fr;
		gap: 22px;
		padding-left: 0;
	}
	body .rlf2 .rlf2-flow.rv-flow > div:not(:last-child)::after {
		left: 23px;
		right: auto;
		top: 48px;
		bottom: -22px;
		width: 2px;
		height: auto;
		transform: scaleY(0);
		transform-origin: top center;
	}
	body .rlf2 .rlf2-flow.rv-flow.rv-in > div::after {
		transform: scaleY(1);
	}
	body .rlf2 .rlf2-flow.rv-flow > div {
		display: grid;
		grid-template-columns: 48px minmax(0, 1fr);
		column-gap: 14px;
	}
	body .rlf2 .rlf2-flow.rv-flow > div::before {
		grid-row: 1 / span 2;
		margin: 0;
	}
	body .rlf2 .rlf2-flow.rv-flow h4 {
		margin: 12px 0 6px;
	}
}

/* ------------------------------------------------------------
   7. 支援事例（濃茶の帯・Tabs）
   ------------------------------------------------------------ */
.rv-case {
	display: grid;
	grid-template-columns: minmax(240px, 34%) minmax(0, 1fr);
	gap: clamp(24px, 4vw, 56px);
	align-items: start;
	margin-top: 8px;
}
.rv-case__aside,
.rv-case__main {
	min-width: 0;
}
body .rv-case .rlf2-tag {
	display: inline-block;
	background: rgba(255, 255, 255, .1);
	color: #f5d3c4;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 999px;
	padding: 3px 14px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	margin-bottom: 14px;
}
.rv-case__aside h3 {
	font-family: var(--rv-serif);
	font-weight: 600;
	font-size: clamp(19px, 2vw, 23px);
	line-height: 1.6;
	color: #fff;
	margin: 0 0 24px;
}
.rv-case__figs {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 18px 0 0;
	border-top: 1px solid rgba(255, 255, 255, .2);
}
.rv-case__figs > div {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}
.rv-case__figs dt {
	font-size: 13px;
	font-weight: 400;
	color: rgba(255, 255, 255, .8);
	line-height: 1.5;
}
.rv-case__figs dd {
	margin: 0;
	color: #fff;
	white-space: nowrap;
}
.rv-fig {
	font-family: var(--rv-serif);
	font-weight: 700;
	font-size: clamp(30px, 3vw, 40px);
	line-height: 1;
	font-variant-numeric: tabular-nums;
}
.rv-case__figs small {
	font-size: 13px;
	margin-left: 3px;
}
.rv-tabs__list {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	border-bottom: 1px solid rgba(255, 255, 255, .25);
	margin-bottom: 20px;
}
.rv-tabs__list > button {
	appearance: none;
	background: none;
	border: 0;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	padding: 10px 14px;
	color: rgba(255, 255, 255, .72);
	font-size: 14.5px;
	font-weight: 700;
	cursor: pointer;
	transition: color .2s, border-color .2s;
}
.rv-tabs__list > button:hover {
	color: #fff;
}
.rv-tabs__list > button[aria-selected="true"] {
	color: #fff;
	border-bottom-color: #f1af99;
}
.rv-tabs__list > button:focus-visible {
	outline: 2px solid #f1af99;
	outline-offset: -2px;
	border-radius: 4px;
}
.rv-tabs__panel h4 {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
body .rlf2 .rv-tabs__panel p,
body .rlf2 .rv-tabs__panel li {
	font-size: 16px;
	line-height: 1.95;
	color: rgba(255, 255, 255, .92);
	margin: 0;
	text-wrap: pretty;
}
body .rlf2 .rv-tabs__panel ul {
	margin: 0;
	padding-left: 1.3em;
}
body .rlf2 .rv-tabs__panel li {
	margin-bottom: 6px;
}
body .rlf2 .rv-tabs__panel .rlf2-after {
	margin: 0;
	padding: 16px 20px;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 10px;
	color: #fff;
	font-size: 16px;
	line-height: 1.95;
}
.rv-tabs__panel {
	animation: rvFade .35s var(--rv-ease);
}
html:not(.rv-js) .rv-tabs__list {
	display: none;
}
html:not(.rv-js) .rv-tabs__panel[hidden] {
	display: block !important;
}
html:not(.rv-js) .rv-tabs__panel {
	margin-bottom: 20px;
	animation: none;
}
html:not(.rv-js) .rv-tabs__panel h4 {
	position: static;
	width: auto;
	height: auto;
	overflow: visible;
	clip: auto;
	white-space: normal;
	margin: 0 0 6px;
	font-size: 15px;
	font-weight: 700;
	color: #f5d3c4;
}
html:not(.rv-js) .rv-car__head {
	display: none;
}
@media screen and (max-width: 767px) {
	.rv-case {
		grid-template-columns: minmax(0, 1fr);
	}
	.rv-case__figs {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 10px;
	}
	.rv-case__figs > div {
		flex-direction: column-reverse;
		align-items: flex-start;
		gap: 4px;
	}
	.rv-case__figs dt {
		font-size: 12px;
	}
	.rv-tabs__list {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.rv-tabs__list::-webkit-scrollbar {
		display: none;
	}
	.rv-tabs__list > button {
		white-space: nowrap;
		padding: 10px 12px;
		font-size: 14px;
	}
}

/* ------------------------------------------------------------
   8. サービス 11 枚（Horizontal scroll・scroll snap・Filter chips・Hover lift）
   ------------------------------------------------------------ */
.rv-car {
	margin-top: 8px;
}
.rv-car__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 18px;
}
.rv-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.rv-chip {
	appearance: none;
	border: 1px solid var(--rv-line-strong);
	background: #fff;
	color: var(--rv-muted);
	border-radius: 999px;
	padding: 7px 14px;
	font-size: 13.5px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s;
}
.rv-chip:hover {
	border-color: var(--rv-acc);
	color: var(--rv-acc-dk);
}
.rv-chip[aria-pressed="true"] {
	background: var(--rv-brown);
	border-color: var(--rv-brown);
	color: #fff;
}
.rv-chip:focus-visible {
	outline: 2px solid var(--rv-acc);
	outline-offset: 2px;
}
.rv-car__nav {
	display: flex;
	gap: 8px;
}
.rv-car__btn {
	appearance: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid var(--rv-line-strong);
	background: #fff;
	color: var(--rv-brown);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	transition: background-color .2s, color .2s, border-color .2s;
}
.rv-car__btn:hover {
	background: var(--rv-brown);
	border-color: var(--rv-brown);
	color: #fff;
}
.rv-car__btn:focus-visible {
	outline: 2px solid var(--rv-acc);
	outline-offset: 2px;
}
.rv-car__btn[disabled] {
	opacity: .35;
	cursor: default;
	background: #fff;
	color: var(--rv-brown);
	border-color: var(--rv-line-strong);
}
.rv-car__track {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-padding-left: 2px;
	-webkit-overflow-scrolling: touch;
	padding: 4px 2px 18px;
	margin: 0 -2px;
	scrollbar-width: thin;
	scrollbar-color: var(--rv-line-strong) transparent;
}
.rv-car__track:focus-visible {
	outline: 2px solid var(--rv-acc);
	outline-offset: 2px;
}
body .rlf2 .rv-car__track .rlf2-card {
	flex: 0 0 clamp(270px, 30%, 330px);
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	border-radius: 12px;
	box-shadow: var(--rv-shadow);
	transition: transform .2s var(--rv-ease), box-shadow .2s var(--rv-ease);
}
body .rlf2 .rv-car__track .rlf2-card p {
	flex: 1 0 auto;
}
@media (hover: hover) {
	body .rlf2 .rv-car__track .rlf2-card:hover {
		transform: translateY(-4px);
		box-shadow: 0 2px 4px rgba(31, 42, 50, .05), 0 16px 32px rgba(31, 42, 50, .1);
	}
}
.rv-thumb {
	margin: -24px -26px 16px;
	aspect-ratio: 2 / 1;
	overflow: hidden;
	border-radius: 12px 12px 0 0;
	background: var(--rv-sand);
}
.rv-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
@media screen and (max-width: 767px) {
	body .rlf2 .rv-car__track .rlf2-card {
		flex-basis: 84%;
	}
	.rv-thumb {
		margin: -24px -24px 14px;
	}
	.rv-car__nav {
		display: none;
	}
}

/* ------------------------------------------------------------
   9. 代表メッセージ・お客様の声（Bento grid）・業種別サポート
   ------------------------------------------------------------ */
body .relief-daihyo.rv-r {
	border: 0;
	border-radius: 0;
	background: none;
	padding: 0;
}
@media screen and (min-width: 768px) {
	body .relief-daihyo.rv-r {
		grid-template-columns: minmax(170px, 260px) minmax(0, 1fr);
	}
}
body .relief-daihyo .relief-daihyo__name span {
	font-family: var(--rv-serif);
	font-weight: 600;
	font-size: 26px;
}
body .relief-daihyo .relief-daihyo__text {
	font-size: 15.5px;
}
body .relief-daihyo .relief-daihyo__photo img {
	border-radius: 12px;
	box-shadow: var(--rv-shadow);
}
@media screen and (max-width: 767px) {
	body .relief-daihyo .relief-daihyo__name span {
		display: block;
		margin-left: 0;
		font-size: 24px;
	}
}

body .relief-voices.rv-bento {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}
body .relief-voice.rv-r {
	border-radius: 12px;
	box-shadow: var(--rv-shadow);
	padding: 30px 26px 20px;
}
body .relief-voice.rv-r::before {
	font-family: var(--rv-serif);
	color: #ead9c7;
	font-size: 64px;
	top: 6px;
	left: 16px;
}
body .relief-voice.rv-r .relief-voice__text {
	font-size: 14.5px;
}
body .relief-voice.rv-r .rv-pull {
	font-family: var(--rv-serif);
	font-weight: 600;
	font-size: 1.18em;
	color: var(--rv-brown);
	line-height: 1.8;
}
@media screen and (max-width: 991px) {
	body .relief-voices.rv-bento {
		grid-template-columns: 1fr;
		gap: 14px;
	}
}

body #industry_support .relief-svc-grid--industry.rv-ind {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}
body .rv-ind .relief-svc-card {
	border-radius: 12px;
	padding: 26px 24px 24px;
	box-shadow: var(--rv-shadow);
	display: flex;
	flex-direction: column;
}
body .rv-ind .relief-svc-card p {
	flex: 1 0 auto;
}
@media screen and (max-width: 991px) {
	body #industry_support .relief-svc-grid--industry.rv-ind {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media screen and (max-width: 599px) {
	body #industry_support .relief-svc-grid--industry.rv-ind {
		grid-template-columns: 1fr;
	}
}

/* ------------------------------------------------------------
   10. 大切にしていること（Split: 左見出し／右本文）・CTA 帯（CTA band）
   ------------------------------------------------------------ */
body .rlf2 .rlf2-policy.rv-policy {
	max-width: 100%;
	margin-top: 0;
}
body .rlf2 .rlf2-policy.rv-policy li {
	display: grid;
	grid-template-columns: minmax(200px, 30%) minmax(0, 1fr);
	gap: 12px clamp(20px, 4vw, 48px);
	background: none;
	border: 0;
	border-top: 1px solid var(--rv-line);
	border-radius: 0;
	padding: 28px 0;
	margin: 0;
}
body .rlf2 .rlf2-policy.rv-policy li:last-child {
	border-bottom: 1px solid var(--rv-line);
}
body .rlf2 .rlf2-policy.rv-policy li strong {
	font-family: var(--rv-serif);
	font-weight: 600;
	font-size: clamp(18px, 1.8vw, 21px);
	line-height: 1.6;
}
body .rlf2 .rlf2-policy.rv-policy li span {
	font-size: 15.5px;
	line-height: 1.95;
}
@media screen and (max-width: 767px) {
	body .rlf2 .rlf2-policy.rv-policy li {
		grid-template-columns: 1fr;
		gap: 6px;
		padding: 22px 0;
	}
}

.container section.rv-cta .sec_wrapper {
	text-align: center;
	padding-top: clamp(48px, 6vw, 80px);
	padding-bottom: clamp(48px, 6vw, 80px);
}
.rv-cta__title {
	font-family: var(--rv-serif);
	font-weight: 600;
	font-size: clamp(22px, 2.6vw, 30px);
	line-height: 1.6;
	color: #fff;
	margin: 0 0 22px;
	text-wrap: balance;
}
body .rv-cta .relief-stats__more {
	margin-top: 0;
}
body .rv-cta .relief-cta-note {
	color: rgba(255, 255, 255, .82);
	margin-top: 16px;
}

/* ------------------------------------------------------------
   11. コラム・ニュース（2 列・見出しを他と同じ書式に）
   ------------------------------------------------------------ */
.rv-news__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(32px, 5vw, 72px);
}
body #shittok_wrapper .shittok_column__wrap {
	display: block;
}
body #shittok_wrapper .shittok__ttl {
	width: auto;
	min-width: 0;
}
body #shittok_wrapper .shittok__ttl > h3,
body #info_wrapper > h3 {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	height: auto;
	background: none;
	margin: 0 0 18px;
	padding: 0 0 14px;
	position: relative;
	line-height: 1.3;
}
body #shittok_wrapper .shittok__ttl > h3::after,
body #info_wrapper > h3::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 40px;
	height: 2px;
	background: var(--rv-acc);
}
body #shittok_wrapper .shittok__ttl > h3 span.en,
body #info_wrapper > h3 span.en {
	order: 1;
	font-family: "Roboto", sans-serif;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--rv-acc);
}
body #shittok_wrapper .shittok__ttl > h3 span.jp,
body #info_wrapper > h3 span.jp {
	order: 2;
	font-family: var(--rv-serif);
	font-weight: 600;
	font-size: clamp(22px, 2.4vw, 28px);
	font-size: 2.6rem;
	color: var(--rv-brown);
	letter-spacing: .02em;
}
body #shittok_wrapper .shittok__ttl > h3 span.line {
	display: none;
}
body #shittok_wrapper .shittok__ttl > p {
	padding: 0 0 14px;
	font-size: 14px;
	color: var(--rv-muted);
}
body #shittok_wrapper .shittok__list {
	max-width: none;
	margin: 0;
	padding: 0;
	list-style: none;
}
body #shittok_wrapper .shittok__list > li {
	border-bottom: 1px solid var(--rv-line);
}
body #shittok_wrapper .shittok__list > li::before {
	display: none;
}
body #shittok_wrapper .shittok__list > li a {
	padding: 14px 36px 14px 0;
}
body #shittok_wrapper .shittok__list > li a::after {
	width: 22px;
	height: 22px;
	opacity: .7;
}
body #shittok_wrapper .shittok__list > li time,
body #info_wrapper .info__list time {
	font-family: "Roboto", sans-serif;
	font-variant-numeric: tabular-nums;
	letter-spacing: .04em;
	color: var(--rv-muted);
	font-size: 12.5px;
	font-size: 1.25rem;
}
body #shittok_wrapper .shittok__list > li h3,
body #info_wrapper .info__list h3 {
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: .02em;
	line-height: 1.6;
	margin: 4px 0 0;
}
body #info_wrapper .info__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
body #info_wrapper .info__list > li {
	border-bottom: 1px solid var(--rv-line);
	padding: 12px 0;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 2px 14px;
}
body #info_wrapper .info__list > li a {
	color: var(--rv-ink);
}
body #info_wrapper .info__list h3 {
	margin: 0;
}
body .rv-news .viewmore__link {
	margin-top: 14px;
}
body .rv-news .viewmore__link a {
	color: var(--rv-acc);
	font-weight: 700;
	text-decoration: none;
	font-size: 14px;
}
body .rv-news .viewmore__link a::after {
	content: none;
}
body .rv-news .viewmore__link a::before {
	content: "→ ";
}
body #shittok_wrapper .at_pc,
body #shittok_wrapper .at_sp {
	display: block;
}
@media screen and (max-width: 767px) {
	.rv-news__grid {
		grid-template-columns: 1fr;
	}
}

/* ------------------------------------------------------------
   12. 追従 CTA バー（Sticky CTA bar・スマホのみ）
   ------------------------------------------------------------ */
.rv-sticky {
	display: none;
}
@media screen and (max-width: 767px) {
	.rv-sticky {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 900;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
		background: rgba(250, 246, 240, .96);
		backdrop-filter: blur(8px);
		-webkit-backdrop-filter: blur(8px);
		border-top: 1px solid var(--rv-line);
		transform: translateY(110%);
		visibility: hidden;
		transition: transform .25s var(--rv-ease), visibility 0s linear .25s;
	}
	.rv-sticky.is-on {
		transform: none;
		visibility: visible;
		transition: transform .25s var(--rv-ease), visibility 0s;
	}
	body.rv-nav-open .rv-sticky {
		transform: translateY(110%);
		visibility: hidden;
	}
	.rv-sticky__btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 46px;
		border-radius: 999px;
		font-size: 14.5px;
		font-weight: 700;
		text-decoration: none;
		letter-spacing: .03em;
	}
	.rv-sticky__btn--main {
		background: var(--rv-acc);
		color: #fff;
	}
	.rv-sticky__btn--line {
		background: #06c755;
		color: #fff;
	}
	.rv-sticky__btn:hover,
	.rv-sticky__btn:focus {
		color: #fff;
		text-decoration: none;
	}
	body.rv-has-sticky {
		padding-bottom: 72px;
	}
}

/* ------------------------------------------------------------
   12b. 日本語の文節折り返し（JPBREAK 2026-08-06 の対象外だった要素を追加）
   ------------------------------------------------------------ */
body .rlf2 .rlf2-after,
body .rlf2 .rlf2-close,
body .rv-cta__title,
body .rv-acc > summary,
body .rv-chip,
body .rv-tabs__list > button,
body .rlf2-tag,
body .rv-proof__trust > li,
body .rv-textlink {
	word-break: keep-all;
	word-break: auto-phrase;
	overflow-wrap: anywhere;
}
/* カード見出しの字間を詰めて、カタカナ複合語が収まりやすくする */
body .rlf2 .rlf2-card h3,
body .rv-ind .relief-svc-card h3,
body .rv-pain h3 {
	letter-spacing: .04em;
}

/* ------------------------------------------------------------
   13. 動きを減らす設定（prefers-reduced-motion）
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
	.rv-r,
	.rv-sticky,
	body .siteHeader,
	body .rlf2 .rlf2-flow.rv-flow > div::after,
	body .rlf2 .rv-car__track .rlf2-card,
	.rv-acc > summary::after {
		transition: none !important;
	}
	html.rv-js .rv-r:not(.rv-in) {
		opacity: 1;
		transform: none;
	}
	body .rlf2 .rlf2-flow.rv-flow > div::after {
		transform: none;
	}
	.rv-tabs__panel {
		animation: none;
	}
}
/*// _END HP-DESIGN-2026-10 //*/

/* ------------------------------------------------------------
   14. 下層ページ（2026-10-12 追加・阪本「下層ページについても進めてほしい」）
   HTML は変えず CSS だけで土台を揃える。上書きは `body` 前置（詳細度の方針は冒頭と同じ）
   ------------------------------------------------------------ */

/* 14-1. ページヘッダー帯: オレンジ一色・白ゴシック → 砂色・明朝の茶文字・下罫線 */
body .page-header,
body .page-header[class] {
	background-color: var(--rv-sand);
	color: var(--rv-brown);
	border-bottom: 1px solid var(--rv-line);
}
body .page-header .page-header_pageTitle,
body .page-header h1.page-header_pageTitle:first-child,
body .page-header h1 {
	font-family: var(--rv-serif);
	font-weight: 600;
	font-size: clamp(22px, 2.6vw, 32px);
	line-height: 1.4;
	letter-spacing: .03em;
	color: var(--rv-brown);
	padding: clamp(28px, 4vw, 48px) 16px;
	margin: 0 auto;
	text-wrap: balance;
	word-break: keep-all;
	word-break: auto-phrase;
	overflow-wrap: anywhere;
}
body .breadSection {
	border-bottom: 0;
}
body .breadSection .breadcrumb {
	color: var(--rv-muted);
}
body .breadSection .breadcrumb a {
	color: var(--rv-muted);
}
body .breadSection .breadcrumb a:hover {
	color: var(--rv-acc);
}

/* 14-2. ハブ／LP 共通部品（relief-* ・ 6 業種ハブ・料金の考え方・各 LP） */
body .relief-lp-hero__eyebrow {
	letter-spacing: .1em;
}
body .relief-lp-hero__title {
	font-size: clamp(26px, 3.2vw, 38px);
	line-height: 1.4;
}
/* 信頼ボックス 4 個 → 枠なしのチェック付き事実（トップの実績バーと同じ見せ方） */
body .relief-trust-list {
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 10px 24px;
	margin-top: 26px;
}
body .relief-trust-list > li {
	position: relative;
	padding: 0 0 0 24px;
	border: 0;
	border-radius: 0;
	background: none;
	text-align: left;
	font-size: 14px;
	line-height: 1.6;
}
body .relief-trust-list > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	width: 14px;
	height: 14px;
	border: 1.5px solid var(--rv-acc);
	border-radius: 50%;
	box-sizing: border-box;
}
body .relief-trust-list > li::after {
	content: "";
	position: absolute;
	left: 5px;
	top: 7px;
	width: 4px;
	height: 7px;
	border-right: 1.5px solid var(--rv-acc);
	border-bottom: 1.5px solid var(--rv-acc);
	transform: rotate(45deg);
}
/* カード類: 角丸 12・薄い影（トップと同じ） */
body .relief-svc-card,
body .relief-check-list > li,
body .relief-reason-list > li,
body .relief-flow > li {
	border-color: var(--rv-line);
	border-radius: 12px;
	box-shadow: var(--rv-shadow);
}
body .relief-svc-card {
	padding: 24px 22px 22px;
}
body .relief-svc-card h3 {
	letter-spacing: .04em;
}
body .relief-reason-list > li::before {
	font-family: var(--rv-serif);
	font-size: 22px;
	top: 13px;
}
body .relief-flow > li::before {
	font-family: var(--rv-serif);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .12em;
}
body .relief-flow > li strong {
	font-size: 15.5px;
}
/* FAQ: Q の帯を砂色・角丸に、A の黄色を茶に */
body .relief-faq dt {
	background: var(--rv-sand);
	border: 1px solid var(--rv-line);
	border-bottom: 0;
	border-radius: 12px 12px 0 0;
	padding: 16px 18px 14px 48px;
}
body .relief-faq dt::before,
body .relief-faq dd::before {
	font-family: var(--rv-serif);
	font-weight: 700;
	font-size: 19px;
	top: 13px;
	left: 18px;
}
body .relief-faq dd {
	border-color: var(--rv-line);
	border-radius: 0 0 12px 12px;
	padding: 16px 18px 16px 48px;
	margin-bottom: 14px;
}
body .relief-faq dd::before {
	color: var(--rv-acc-dk);
}
body .relief-case-list > li {
	border-left-color: var(--rv-acc);
	background: var(--rv-sand);
}
/* 記事末尾・ハブ末尾の CTA 箱 → トップの CTA 帯と同じ濃茶 */
body .relief-cta-box {
	background: var(--rv-brown);
	border: 0;
	border-radius: 14px;
	padding: clamp(28px, 4vw, 40px) clamp(22px, 4vw, 40px);
	text-align: center;
}
body .relief-cta-box__title {
	font-family: var(--rv-serif);
	font-weight: 600;
	font-size: clamp(20px, 2.4vw, 26px);
	line-height: 1.55;
	color: #fff;
	text-wrap: balance;
}
body .relief-cta-box__text {
	color: rgba(255, 255, 255, .86);
	font-size: 15px;
	line-height: 1.95;
	margin-top: 12px;
}
body .relief-cta-box__actions {
	justify-content: center;
	margin-top: 22px;
}
body .relief-cta-box .relief-button {
	background: #fff;
	color: var(--rv-brown);
}
body .relief-cta-box .relief-button:hover,
body .relief-cta-box .relief-button:focus-visible {
	background: var(--rv-cream);
	color: var(--rv-brown);
}
body .relief-cta-box .relief-button--secondary {
	background: transparent;
	border-color: rgba(255, 255, 255, .7);
	color: #fff;
}
body .relief-cta-box .relief-button--secondary:hover,
body .relief-cta-box .relief-button--secondary:focus-visible {
	background: rgba(255, 255, 255, .12);
	color: #fff;
}
body .relief-cta-box .relief-button--line {
	background: #06c755;
	color: #fff;
}
body .relief-cta-box .relief-cta-note {
	color: rgba(255, 255, 255, .82);
	text-align: center;
}
body .relief-cta-box .relief-button:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 2px;
}
/* ハブの「新着記事」「お役立ち記事」一覧 */
body .relief-article-list a,
body .relief-hub-latest__title a {
	color: var(--rv-acc-dk);
}

/* 14-3. 事業紹介（/works/）の rw2 見出し */
body .rw2 h2.rw2-h2 {
	font-family: var(--rv-serif);
	font-weight: 600;
	font-size: clamp(24px, 2.8vw, 32px);
	letter-spacing: .02em;
}
body .rw2 .rw2-h2sub {
	font-family: "Roboto", sans-serif;
	letter-spacing: .16em;
}
body .rw2 .rw2-anchors a:hover {
	border-color: var(--rv-brown);
	color: var(--rv-brown);
}

/* 14-4. 企業概要（page-id-65）・代表あいさつ（262）・アライアンス（161）の子テーマ既定見出し。
   ページを body クラスで限定する（R1 指摘: 広い選択子がトップの事例帯や MF 導入支援の料金帯を壊した） */
body.page-id-65 #underpages .sec_wrapper h2,
body.page-id-262 #underpages .sec_wrapper h2,
body.page-id-161 #underpages .sec_wrapper h2:not(.our_thought) {
	font-family: var(--rv-serif);
	font-weight: 600;
	color: var(--rv-brown);
	letter-spacing: .03em;
}
body.page-id-65 #underpages .sec_wrapper h2:not(.svc_type) > span {
	font-family: "Roboto", sans-serif;
	font-weight: 700;
	font-size: 110%;
	letter-spacing: .14em;
	color: var(--rv-acc);
}
body.page-id-65 #underpages .sec_wrapper h3,
body.page-id-262 #underpages .sec_wrapper h3,
body.page-id-161 #underpages .sec_wrapper h3:not(.text_2) {
	font-family: var(--rv-serif);
	font-weight: 600;
	color: var(--rv-brown);
	letter-spacing: .04em;
	border-bottom: 1px solid var(--rv-line);
	padding-bottom: .4em;
}
body #underpages table th,
body #underpages table td {
	border-color: var(--rv-line);
}
body #underpages table th {
	background: var(--rv-sand);
	color: var(--rv-brown);
}

/* 14-5. しっ得情報（記事一覧・記事ページ） */
body .postList > .media {
	border-bottom-color: var(--rv-line);
	padding: 26px 0;
}
body .media .media-body h1.media-heading.entry-title {
	font-family: var(--rv-serif);
	font-weight: 600;
	font-size: clamp(17px, 1.6vw, 20px);
	line-height: 1.55;
	letter-spacing: .02em;
}
body .media .media-body .media-heading a {
	color: var(--rv-brown);
}
body .media .media-body .media-heading a:hover {
	color: var(--rv-acc);
}
body .media .postList_thumbnail img {
	border: 1px solid var(--rv-line);
	border-radius: 8px;
}
body .entry-meta_items_term > a,
body .entry-meta_items_term_button {
	background: var(--rv-sand) !important;
	color: var(--rv-acc-dk) !important;
	border-radius: 999px;
}
body ul.page-numbers li a,
body ul.page-numbers li span.page-numbers {
	border-color: var(--rv-line);
	color: var(--rv-brown);
	padding: 8px 14px;
}
body ul.page-numbers li span.page-numbers.current {
	background: var(--rv-brown);
	border-color: var(--rv-brown);
	color: #fff;
}
/* 記事ページ: タイトル・H2・H3 を明朝に。H2 の上下罫線 → 下の短いアクセント線、H3 のオレンジ丸帯 → 左の細い線 */
body .single-post .mainSection h1,
body #underpages.post_single h1 {
	font-family: var(--rv-serif);
	font-weight: 600;
	font-size: clamp(24px, 2.8vw, 34px);
	line-height: 1.45;
	letter-spacing: .02em;
	color: var(--rv-brown);
	margin: 10px 0 0;
}
body #underpages.post_single .sec_wrapper > h2 {
	font-family: var(--rv-serif);
	font-weight: 600;
	font-size: clamp(22px, 2.4vw, 28px);
	line-height: 1.5;
	letter-spacing: .02em;
	color: var(--rv-brown);
	border-top: 0;
	border-bottom: 0;
	padding: 0 0 14px;
	margin: 2.2em 0 1em;
	position: relative;
}
body #underpages.post_single .sec_wrapper > h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 40px;
	height: 2px;
	background: var(--rv-acc);
}
body #underpages.post_single .sec_wrapper > h3 {
	font-family: var(--rv-serif);
	font-weight: 600;
	font-size: clamp(18px, 2vw, 22px);
	line-height: 1.5;
	letter-spacing: .02em;
	color: var(--rv-brown);
	background: none;
	border-radius: 0;
	border-left: 3px solid var(--rv-acc);
	padding: 2px 0 2px 14px;
	margin: 1.8em 0 .8em;
}
body #underpages.post_single .sec_wrapper > h4 {
	color: var(--rv-brown);
}

/* 14-6. お問い合わせ: オレンジの太枠 → 砂色の箱 */
body #inquiry form {
	background: var(--rv-sand);
	border: 1px solid var(--rv-line);
	border-radius: 14px;
}
body #inquiry input[type="text"],
body #inquiry input[type="email"],
body #inquiry input[type="tel"],
body #inquiry input[type="url"],
body #inquiry select,
body #inquiry textarea {
	border-color: var(--rv-line-strong);
	border-radius: 8px;
	background: #fff;
}
body #inquiry input[type="text"]:focus,
body #inquiry input[type="email"]:focus,
body #inquiry input[type="tel"]:focus,
body #inquiry input[type="url"]:focus,
body #inquiry textarea:focus {
	border-color: var(--rv-acc);
	box-shadow: 0 0 0 3px rgba(201, 80, 41, .18);
	outline: 2px solid transparent;
}
body #inquiry form a {
	color: var(--rv-acc-dk);
}
body #inquiry .forms_btn input[type="submit"] {
	background: var(--rv-acc);
	border-color: var(--rv-acc);
	color: #fff;
	letter-spacing: .06em;
}
body #inquiry .forms_btn input[type="submit"]:hover,
body #inquiry .forms_btn input[type="submit"]:focus-visible {
	background: var(--rv-acc-dk);
	border-color: var(--rv-acc-dk);
}
body #inquiry .forms_btn input[type="submit"]:disabled {
	background: rgba(201, 80, 41, .4);
	border-color: transparent;
}

/* 14-7. アライアンス／MF 導入支援の黄色ボタン → テラコッタのピル */
body .reg_btn > a {
	background: var(--rv-acc);
	padding: 18px 0;
}
body .reg_btn > a::before {
	background: linear-gradient(135deg, rgba(255, 255, 255, .35) 0%, rgba(255, 255, 255, .05) 50%, rgba(255, 255, 255, .35) 100%) border-box border-box;
}
body .reg_btn > a:hover {
	background: var(--rv-acc-dk);
}
body #alliance h2.our_thought {
	font-family: var(--rv-serif);
	font-weight: 600;
	letter-spacing: .06em;
}
