@charset "UTF-8";
/* ==========================================================================
   hal-service.css — 調査項目詳細8ページ専用スタイル
   Build ID: v1.0.56_Content_0to8_Preview2
   --------------------------------------------------------------------------
   分離条件
   - すべてのセレクタを .hal-svc 配下へ限定する（ページ固有クラスで名前空間化）
   - body / h1 / h2 / h3 / a / p / ul / ol / li への無条件グローバル指定は行わない
   - :root へのカスタムプロパティ定義も行わない（.hal-svc へ限定）
   - トップページ・/guide/・/cost/・/case-01/ へは1件も適用されない
   - !important は使用しない
   - 新色を定義せず、既存Premium LPの黒・消炭・墨・白（--hal-* トークン）のみを使用する
   ========================================================================== */

.hal-svc {
	/* 既存承認済みトークンの参照のみ。新色は定義しない。 */
	--svc-ink: var(--hal-ink);
	--svc-sumi: var(--hal-sumi);
	--svc-body: var(--hal-body);
	--svc-deep: var(--hal-body-deep);
	--svc-muted: var(--hal-muted);
	--svc-bg: var(--hal-bg);
	--svc-box: var(--hal-bg-box);
	--svc-line: var(--hal-line);
	--svc-line-card: var(--hal-line-card);
	--svc-gold: var(--hal-gold-deep);
	--svc-gold-line: var(--hal-gold-line);
	--svc-on-ink: var(--hal-on-ink);
	--svc-on-ink-sub: var(--hal-on-ink-sub);
	--svc-on-ink-mut: var(--hal-on-ink-mut);
}

/* --------------------------------------------------------------------------
   1. 本文
   -------------------------------------------------------------------------- */
.hal-svc .hal-svc__body {
	padding: 64px 0 40px;
}

.hal-svc .hal-svc__h2 {
	margin-top: 56px;
}

.hal-svc .hal-svc__prose > .hal-svc__h2:first-of-type {
	margin-top: 0;
}

.hal-svc .hal-svc__ol {
	margin: 0 0 22px;
	padding-left: 1.4em;
}

.hal-svc .hal-svc__oli {
	font-family: var(--hal-sans);
	font-size: 14px;
	line-height: 2.05;
	color: var(--svc-body);
	margin: 0 0 8px;
}

/* --------------------------------------------------------------------------
   2. パンくず
   -------------------------------------------------------------------------- */
.hal-svc .hal-svc-crumb {
	margin: 0 0 40px;
}

.hal-svc .hal-svc-crumb__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-family: var(--hal-sans);
	font-size: 12px;
	line-height: 1.8;
	color: var(--svc-muted);
}

.hal-svc .hal-svc-crumb__item + .hal-svc-crumb__item::before {
	content: "／";
	margin-right: 8px;
	color: var(--svc-line-card);
}

.hal-svc .hal-svc-crumb__link {
	color: var(--svc-gold);
	text-decoration: none;
	border-bottom: 1px solid var(--svc-gold-line);
	padding-bottom: 2px;
}

.hal-svc .hal-svc-crumb__link:hover,
.hal-svc .hal-svc-crumb__link:focus-visible {
	color: var(--svc-sumi);
}

/* --------------------------------------------------------------------------
   3. 写真（JPEG原本を原比率で表示。切り抜き・フィルターは行わない）
   -------------------------------------------------------------------------- */
.hal-svc .hal-svc-photo {
	margin: 48px 0;
}

.hal-svc .hal-svc-photo__img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
}

/* --------------------------------------------------------------------------
   4. 法務・受任不可範囲
   -------------------------------------------------------------------------- */
.hal-svc .hal-svc-legal {
	margin: 64px 0 0;
	padding: 28px;
	background: var(--svc-box);
	border: 1px solid var(--svc-line-card);
	box-sizing: border-box;
}

.hal-svc .hal-svc-legal__ttl {
	margin: 0 0 12px;
	font-family: var(--hal-sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: var(--svc-sumi);
}

.hal-svc .hal-svc-legal__text {
	margin: 0;
	font-family: var(--hal-sans);
	font-size: 13px;
	line-height: 2.05;
	color: var(--svc-deep);
}

/* --------------------------------------------------------------------------
   5. FAQ（初期HTMLへ全文保持。JS停止時は全展開）
   -------------------------------------------------------------------------- */
.hal-svc .hal-svc-faq {
	margin: 64px 0 0;
}

.hal-svc .hal-svc-faq__item {
	border-top: 1px solid var(--svc-line);
}

.hal-svc .hal-svc-faq__item:last-child {
	border-bottom: 1px solid var(--svc-line);
}

.hal-svc .hal-svc-faq__qwrap {
	margin: 0;
	font-size: inherit;
	font-weight: inherit;
}

.hal-svc .hal-svc-faq__q {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 18px 0;
	background: none;
	border: 0;
	text-align: left;
	cursor: pointer;
	font-family: var(--hal-sans);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.8;
	color: var(--svc-sumi);
}

.hal-svc .hal-svc-faq__q:focus-visible {
	outline: 2px solid var(--svc-gold);
	outline-offset: 2px;
}

.hal-svc .hal-svc-faq__icon {
	position: relative;
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
	margin-top: 6px;
}

.hal-svc .hal-svc-faq__icon::before,
.hal-svc .hal-svc-faq__icon::after {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	width: 14px;
	height: 1px;
	background: var(--svc-sumi);
}

.hal-svc .hal-svc-faq__icon::after {
	transform: rotate(90deg);
}

.hal-svc-js .hal-svc .hal-svc-faq__q[aria-expanded="true"] .hal-svc-faq__icon::after {
	transform: rotate(0deg);
}

.hal-svc .hal-svc-faq__a {
	padding: 0 0 20px;
}

.hal-svc .hal-svc-faq__atext {
	margin: 0;
	font-family: var(--hal-sans);
	font-size: 14px;
	line-height: 2.05;
	color: var(--svc-body);
}

/* JavaScript有効時のみ初期状態を閉じる。停止時は全問が展開されたままとなる。 */
.hal-svc-js .hal-svc .hal-svc-faq__a[hidden] {
	display: none;
}

/* --------------------------------------------------------------------------
   6. 関連リンク
   -------------------------------------------------------------------------- */
.hal-svc .hal-svc__linkwrap {
	padding: 0 0 88px;
}

.hal-svc .hal-svc-links__ttl {
	margin: 0 0 14px;
	font-family: var(--hal-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
	color: var(--svc-muted);
}

.hal-svc .hal-svc-links__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 24px;
}

.hal-svc .hal-svc-links__item {
	margin: 0;
}

.hal-svc .hal-svc-links__link {
	display: block;
	min-height: 44px;
	padding: 14px 16px;
	box-sizing: border-box;
	background: var(--svc-box);
	border: 1px solid var(--svc-line-card);
	font-family: var(--hal-sans);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.7;
	color: var(--svc-gold);
	text-decoration: none;
}

.hal-svc .hal-svc-links__link:hover,
.hal-svc .hal-svc-links__link:focus-visible {
	color: var(--svc-sumi);
	border-color: var(--svc-gold-line);
}

/* --------------------------------------------------------------------------
   7. CTA（1ページ3ユニット）
   -------------------------------------------------------------------------- */
.hal-svc .hal-svc-cta {
	padding: 48px 0;
	background: var(--svc-ink);
	color: var(--svc-on-ink);
}

.hal-svc .hal-svc-cta--2 {
	margin: 56px 0;
}

.hal-svc .hal-svc-cta__label {
	margin: 0 0 16px;
	font-family: var(--hal-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	color: var(--svc-gold-line);
}

.hal-svc .hal-svc-cta__head {
	margin: 0 0 14px;
	font-family: var(--hal-serif);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.04em;
	color: var(--svc-on-ink);
}

.hal-svc .hal-svc-cta__body {
	margin: 0;
	font-family: var(--hal-sans);
	font-size: 14px;
	line-height: 2;
	color: var(--svc-on-ink-sub);
}

.hal-svc .hal-svc-cta__note {
	margin: 10px 0 0;
	font-family: var(--hal-sans);
	font-size: 13px;
	line-height: 1.9;
	color: var(--svc-on-ink-mut);
}

.hal-svc .hal-svc-cta__buttons {
	margin: 26px 0 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.hal-svc .hal-svc-cta__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 14px 18px;
	box-sizing: border-box;
	font-family: var(--hal-sans);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
	text-decoration: none;
	border: 1px solid var(--svc-gold-line);
	color: var(--svc-on-ink);
}

.hal-svc .hal-svc-cta__btn:hover,
.hal-svc .hal-svc-cta__btn:focus-visible {
	background: var(--svc-gold-line);
	color: var(--svc-ink);
}

.hal-svc .hal-svc-cta__btn:focus-visible {
	outline: 2px solid var(--svc-on-ink);
	outline-offset: 2px;
}

.hal-svc .hal-svc-cta__info {
	margin: 18px 0 0;
	font-family: var(--hal-sans);
	font-size: 13px;
	line-height: 1.9;
	color: var(--svc-on-ink-mut);
}

/* --------------------------------------------------------------------------
   8. Tablet（1023px以下）
   -------------------------------------------------------------------------- */
@media (max-width: 1023px) {
	.hal-svc .hal-svc__body {
		padding: 56px 0 32px;
	}

	.hal-svc .hal-svc__h2 {
		margin-top: 48px;
	}

	.hal-svc .hal-svc-cta__buttons {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 12px;
	}

	.hal-svc .hal-svc-cta__btn {
		font-size: 13px;
		padding: 14px 12px;
	}
}

/* --------------------------------------------------------------------------
   9. Mobile（767px以下）
   1列・左右余白20px・本文16px・タップ領域44px以上。
   端末別の本文削除およびクランプは行わない。
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	.hal-svc .hal-container {
		padding-inline: 20px;
	}

	.hal-svc .hal-svc__body {
		padding: 44px 0 24px;
	}

	.hal-svc .hal-svc__h2 {
		margin-top: 40px;
	}

	.hal-svc .hal-svc__p,
	.hal-svc .hal-svc__oli,
	.hal-svc .hal-svc-faq__atext {
		font-size: 16px;
		line-height: 2;
	}

	.hal-svc .hal-svc-faq__q {
		font-size: 16px;
		padding: 16px 0;
	}

	.hal-svc .hal-svc-legal {
		padding: 20px;
	}

	.hal-svc .hal-svc-legal__text {
		font-size: 14px;
	}

	.hal-svc .hal-svc-links__list {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.hal-svc .hal-svc-links__link {
		font-size: 15px;
	}

	.hal-svc .hal-svc-cta {
		padding: 36px 0;
	}

	.hal-svc .hal-svc-cta--2 {
		margin: 44px 0;
	}

	.hal-svc .hal-svc-cta__head {
		font-size: 18px;
	}

	.hal-svc .hal-svc-cta__body {
		font-size: 15px;
	}

	.hal-svc .hal-svc-cta__buttons {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.hal-svc .hal-svc-photo {
		margin: 36px 0;
	}
}

/* ==========================================================================
   10. 法人調査の具体的5項目（v1.0.56_R1 §7）
   ========================================================================== */
.hal-svc .hal-svc-corp {
	margin: 64px 0 0;
}

.hal-svc .hal-svc-corp__item {
	margin: 32px 0 0;
	padding: 26px;
	box-sizing: border-box;
	background: var(--svc-box);
	border: 1px solid var(--svc-line-card);
}

.hal-svc .hal-svc-corp__name {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin: 0 0 16px;
	font-family: var(--hal-serif);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.04em;
	color: var(--svc-ink);
}

.hal-svc .hal-svc-corp__no {
	flex: 0 0 auto;
	font-family: var(--hal-mono);
	font-size: 12px;
	letter-spacing: 0.12em;
	color: var(--svc-gold);
}

.hal-svc .hal-svc-corp__dl {
	margin: 0;
}

.hal-svc .hal-svc-corp__dt {
	margin: 14px 0 4px;
	font-family: var(--hal-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	color: var(--svc-sumi);
}

.hal-svc .hal-svc-corp__dd {
	margin: 0;
	font-family: var(--hal-sans);
	font-size: 14px;
	line-height: 2;
	color: var(--svc-body);
}

.hal-svc .hal-svc-corp__model {
	margin: 22px 0 0;
	padding: 18px 20px;
	box-sizing: border-box;
	background: var(--svc-bg);
	/* TOPMinatoFix5 §7.1：左2pxの装飾縦棒を撤去し、四辺均一1px hairline とする。 */
	border: 1px solid var(--svc-line-card);
}

.hal-svc .hal-svc-corp__modelttl {
	margin: 0 0 8px;
	font-family: var(--hal-mono);
	font-size: 11px;
	letter-spacing: 0.16em;
	color: var(--svc-gold);
}

.hal-svc .hal-svc-corp__modeltext {
	margin: 0;
	font-family: var(--hal-sans);
	font-size: 14px;
	line-height: 2;
	color: var(--svc-body);
}

.hal-svc .hal-svc-corp__modelnote {
	margin: 12px 0 0;
	font-family: var(--hal-sans);
	font-size: 12px;
	line-height: 1.85;
	color: var(--svc-muted);
}

@media (max-width: 767px) {
	.hal-svc .hal-svc-corp__item {
		padding: 20px;
	}

	.hal-svc .hal-svc-corp__name {
		font-size: 17px;
	}

	.hal-svc .hal-svc-corp__dd,
	.hal-svc .hal-svc-corp__modeltext {
		font-size: 15px;
	}

	.hal-svc .hal-svc-corp__model {
		padding: 16px;
	}
}

/* ==========================================================================
   11. 写真を持たないページ（v1.0.56_R1 §6.3）
   --------------------------------------------------------------------------
   追加4ページには承認写真が存在しないため写真ブロックを出力しない。
   写真の有無でレイアウトが崩れないよう、写真前提の余白指定は置いていない。
   ヒーロー直下のCTAから本文へそのまま連続する。
   ========================================================================== */
.hal-svc--background .hal-svc__body,
.hal-svc--person-search .hal-svc__body,
.hal-svc--stalker .hal-svc__body,
.hal-svc--bug-sweep .hal-svc__body {
	padding-top: 64px;
}

@media (max-width: 767px) {
	.hal-svc--background .hal-svc__body,
	.hal-svc--person-search .hal-svc__body,
	.hal-svc--stalker .hal-svc__body,
	.hal-svc--bug-sweep .hal-svc__body {
		padding-top: 44px;
	}
}

/* FAQ回答内リンク（v1.0.56_R1 §11.2） */
.hal-svc .hal-svc-faq__alink {
	color: var(--svc-gold);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.hal-svc .hal-svc-faq__alink:hover,
.hal-svc .hal-svc-faq__alink:focus-visible {
	color: var(--svc-sumi);
}

/* ==========================================================================
   12. FV写真（v1.0.56_R2 §3.2）
   --------------------------------------------------------------------------
   DOM順は copy → media → cta。Mobileはこの順序のまま縦に積む
   （H1・導入文の直後、CTAより前に写真）。
   PCは Grid で media を右カラムへ移し、copy と cta を左カラムへ置く。
   H1・導入文・CTAが写真に隠れることはない。
   aspect-ratio と width/height の併用でCLSを発生させない。
   ========================================================================== */
.hal-svc .hal-svc-fv__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
}

.hal-svc .hal-svc-fv__media {
	margin: 28px 0 0;
}

.hal-svc .hal-svc-fv__figure {
	margin: 0;
	width: 100%;
	overflow: hidden;
	background: var(--svc-ink);
}

.hal-svc .hal-svc-fv__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* ページごとの焦点位置。--hal-fv-focus は PHP から実測値を出力する。 */
	object-position: var(--hal-fv-focus, 50% 50%);
}

/* FV内のCTAは余白のみ調整し、CTAブロック自体の構造は変更しない */
.hal-svc .hal-svc-fv__cta .hal-svc-cta {
	margin: 28px 0 0;
	padding: 0;
	background: transparent;
}

.hal-svc .hal-svc-fv__cta .hal-svc-cta .hal-container {
	padding-inline: 0;
}

/* ---- PC（1024px以上）：2カラム ---- */
@media (min-width: 1024px) {
	.hal-svc .hal-svc-fv__inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 0.86fr);
		column-gap: 48px;
		align-items: start;
	}

	/* v1.0.56_Content_0to8_Preview3 §7.5：Preview2の .hal-svc-fv__copy を
	   heading と intro へ分割したため、同値で再接続する。
	   左列の縦積み順（KICKER・H1 → 副題・導入文 → CTA）と行間（row-gap 0）は
	   Preview2と同一で、PCの見た目は再設計していない。 */
	.hal-svc .hal-svc-fv__heading {
		grid-column: 1;
		grid-row: 1;
	}

	.hal-svc .hal-svc-fv__intro {
		grid-column: 1;
		grid-row: 2;
	}

	.hal-svc .hal-svc-fv__media {
		grid-column: 2;
		grid-row: 1 / span 3;
		margin: 0;
		align-self: stretch;
	}

	.hal-svc .hal-svc-fv__cta {
		grid-column: 1;
		grid-row: 3;
	}

	.hal-svc .hal-svc-fv__figure {
		aspect-ratio: 4 / 5;
		height: 100%;
		min-height: 420px;
	}
}

/* ---- Tablet（768〜1023px） ---- */
@media (min-width: 768px) and (max-width: 1023px) {
	.hal-svc .hal-svc-fv__figure {
		aspect-ratio: 16 / 9;
	}
}

/* ---- Mobile（767px以下） ----
   被写体の意味が判別できる表示高を確保する。375pxでも主要被写体を切らないよう、
   3:2 より縦を確保した 4:3 とし、object-position をページ別に指定する。 */
@media (max-width: 767px) {
	.hal-svc .hal-svc-fv__media {
		margin: 22px 0 0;
	}

	.hal-svc .hal-svc-fv__figure {
		aspect-ratio: 4 / 3;
	}

	.hal-svc .hal-svc-fv__cta .hal-svc-cta {
		margin: 22px 0 0;
	}
}

/* ==========================================================================
   13. CTAの主従（v1.0.56_R2 §7）
   --------------------------------------------------------------------------
   各ブロックで主CTA 1つを塗り、残る2つは白枠（線のみ）へ弱める。
   新色は追加せず、既存の --hal-* トークンのみを使用する。
   3つの連絡方法はすべて残している。
   ========================================================================== */
.hal-svc .hal-svc-cta__btn--primary {
	background: var(--svc-gold-line);
	border-color: var(--svc-gold-line);
	color: var(--svc-ink);
	font-weight: 600;
}

.hal-svc .hal-svc-cta__btn--primary:hover,
.hal-svc .hal-svc-cta__btn--primary:focus-visible {
	background: var(--svc-on-ink);
	border-color: var(--svc-on-ink);
	color: var(--svc-ink);
}

.hal-svc .hal-svc-cta__btn--sub {
	background: transparent;
	border-color: var(--svc-on-ink-mut);
	color: var(--svc-on-ink-sub);
	font-weight: 400;
}

.hal-svc .hal-svc-cta__btn--sub:hover,
.hal-svc .hal-svc-cta__btn--sub:focus-visible {
	background: transparent;
	border-color: var(--svc-on-ink);
	color: var(--svc-on-ink);
}

/* FV内CTAは暗色背景を持たないため、主従の配色を反転させる */
.hal-svc .hal-svc-fv__cta .hal-svc-cta__label,
.hal-svc .hal-svc-fv__cta .hal-svc-cta__head {
	color: var(--svc-on-ink);
}

.hal-svc .hal-svc-fv__cta .hal-svc-cta__body {
	color: var(--svc-on-ink-sub);
}

@media (max-width: 767px) {
	/* Mobileでボタン同士の誤タップ余白を確保する */
	.hal-svc .hal-svc-cta__buttons {
		gap: 14px;
	}

	.hal-svc .hal-svc-cta__btn {
		min-height: 56px;
	}
}

/* ==========================================================================
   14. 法人調査の目次（v1.0.56_R2 §10）
   ========================================================================== */
.hal-svc-toc {
	margin: 0 0 48px;
	padding: 22px 24px;
	box-sizing: border-box;
	background: var(--svc-box);
	border: 1px solid var(--svc-line-card);
}

.hal-svc-toc__ttl {
	margin: 0 0 14px;
	font-family: var(--hal-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	color: var(--svc-muted);
}

.hal-svc-toc__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 8px 20px;
}

.hal-svc-toc__item {
	margin: 0;
}

.hal-svc-toc__link {
	display: flex;
	align-items: baseline;
	gap: 10px;
	min-height: 44px;
	padding: 10px 0;
	font-family: var(--hal-sans);
	font-size: 14px;
	line-height: 1.7;
	color: var(--svc-gold);
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.hal-svc-toc__link:hover,
.hal-svc-toc__link:focus-visible {
	color: var(--svc-sumi);
	border-bottom-color: var(--svc-gold-line);
}

.hal-svc-toc__link:focus-visible {
	outline: 2px solid var(--svc-gold);
	outline-offset: 2px;
}

.hal-svc-toc__no {
	flex: 0 0 auto;
	font-family: var(--hal-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
}

/* 固定ヘッダーで見出しが隠れないようにする */
.hal-svc .hal-svc-corp__item {
	scroll-margin-top: 96px;
}

@media (max-width: 767px) {
	.hal-svc-toc {
		padding: 18px 20px;
	}

	.hal-svc-toc__list {
		grid-template-columns: minmax(0, 1fr);
		gap: 4px;
	}

	.hal-svc-toc__link {
		font-size: 15px;
	}

	.hal-svc .hal-svc-corp__item {
		scroll-margin-top: 76px;
	}
}

/* ==========================================================================
   10. v1.0.56_Content_0to8_Preview2 — 長文ページの視認性・可読性
   --------------------------------------------------------------------------
   実装条件（実装指示 Preview2 §6〜§10・§17）
   - すべて .hal-svc 配下へ限定する。トップページ・/guide/・/cost/・/case-01/ へ
     1件も適用しない。
   - 新色を定義せず、既存の --hal-* / --svc-* トークンだけを使用する。
   - !important は使用しない。
   - 固定height・white-space: nowrap・文字の切り詰め・clamp・非表示は使用しない。
   - 見出しの文言・順序・id・アンカー・Hタグ階層は変更していない。
   ========================================================================== */

/* --------------------------------------------------------------------------
   10.1 本文H2の背景ブロック（§6）
   薄い既存背景（--svc-box）＋既存ゴールド系の左罫線（--svc-gold-line）。
   対象は本文用 .hal-svc__h2 のみ。CTA見出しは <p class="hal-svc-cta__head"> の
   ため一致せず、ヘッダー・フッターにも .hal-svc__h2 は存在しない。
   FAQセクション見出し（よくあるご質問）はH2として同じ背景を持つ。
   FAQの質問行は .hal-svc-faq__q のため一致しない。
   -------------------------------------------------------------------------- */
.hal-svc .hal-svc__h2 {
	padding: 20px 24px;
	background: var(--svc-box);
	/* TOPMinatoFix5 §7.1：左4pxの装飾縦棒を撤去する。
	   PCは背景のみで階層を示し、Mobileは後段の 767px ブロックで
	   四辺均一1pxの操作枠を与える（左辺だけを強くしない）。 */
	border: 0;
	color: var(--svc-ink);
	margin-bottom: 26px;
	overflow-wrap: anywhere;
	word-break: normal;
	line-break: strict;
}

/* 前節本文と次節本文が一塊に見えないよう、H2の上余白を確保する。 */
.hal-svc .hal-svc__prose > .hal-svc__h2 {
	margin-top: 64px;
}

.hal-svc .hal-svc__prose > .hal-svc__h2:first-of-type {
	margin-top: 0;
}

/* --------------------------------------------------------------------------
   10.2 本文H3の背景ブロック（§7）
   H2より一段弱い背景・罫線・padding で階層差を維持する。
   .hal-svc-faq__qwrap / .hal-svc-faq__q / .hal-svc-corp__name / CTA見出し・
   フッター見出しへは適用しない（クラスが異なるため一致しない）。
   -------------------------------------------------------------------------- */
.hal-svc .hal-svc__h3 {
	margin: 44px 0 16px;
	padding: 12px 16px;
	background: var(--svc-bg);
	/* TOPMinatoFix5 §7.1：左2pxの装飾縦棒を撤去する。
	   階層は背景差・余白・文字階層で示す。 */
	border: 0;
	color: var(--svc-sumi);
	overflow-wrap: anywhere;
	word-break: normal;
}

/* H2直後のH3は上余白を詰め、階層のまとまりを保つ。 */
.hal-svc .hal-svc__h2 + .hal-svc__h3 {
	margin-top: 28px;
}

/* --------------------------------------------------------------------------
   10.3 本文・リストの可読性（§8）
   PC／Tablet／Mobile とも 16px / line-height 2 で統一する。
   順序付きリストと順序なしリストの書体・文字サイズ・行間・左インデントを揃える。
   -------------------------------------------------------------------------- */
.hal-svc .hal-svc__p {
	font-size: 16px;
	line-height: 2;
	margin: 0 0 20px;
	overflow-wrap: anywhere;
	word-break: normal;
}

.hal-svc .hal-svc__ul,
.hal-svc .hal-svc__ol {
	margin: 0 0 24px;
	padding-left: 1.5em;
}

.hal-svc .hal-svc__ul {
	list-style: disc;
}

.hal-svc .hal-svc__uli,
.hal-svc .hal-svc__oli {
	font-family: var(--hal-sans);
	font-size: 16px;
	line-height: 2;
	color: var(--svc-body);
	margin: 0 0 10px;
	overflow-wrap: anywhere;
	word-break: normal;
}

.hal-svc .hal-svc__uli:last-child,
.hal-svc .hal-svc__oli:last-child {
	margin-bottom: 0;
}

/* 見出し直後のリストは上余白を持たせ、段落と同じリズムにする。 */
.hal-svc .hal-svc__h2 + .hal-svc__ul,
.hal-svc .hal-svc__h3 + .hal-svc__ul,
.hal-svc .hal-svc__h2 + .hal-svc__ol,
.hal-svc .hal-svc__h3 + .hal-svc__ol {
	margin-top: 4px;
}

/* --------------------------------------------------------------------------
   10.4 強調行（§8）
   金額・人数・時間・回数・文章そのものは変更していない。
   -------------------------------------------------------------------------- */
.hal-svc .hal-svc__emph {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.9;
	color: var(--svc-ink);
	margin: 0 0 6px;
	/* TOPMinatoFix5 §7.1：左2pxの装飾縦棒と、それに連動していた
	   padding-left: 14px を撤去する。強調はウェイトと余白だけで示す。 */
	padding-left: 0;
	border: 0;
	overflow-wrap: anywhere;
}

.hal-svc .hal-svc__emph:first-of-type {
	margin-top: 6px;
}

.hal-svc .hal-svc__emph + .hal-svc__p {
	margin-top: 22px;
}

.hal-svc .hal-svc__emph strong {
	font-weight: 600;
}

/* --------------------------------------------------------------------------
   10.5 引用（§8）
   ブラウザ既定の margin: 1em 40px に依存しない。
   -------------------------------------------------------------------------- */
.hal-svc .hal-svc__quote {
	margin: 0 0 24px;
	padding: 18px 22px;
	background: var(--svc-box);
	/* TOPMinatoFix5 §7.1：左3pxの装飾縦棒を四辺均一1px hairline へ置換する。 */
	border: 1px solid var(--svc-line-card);
}

.hal-svc .hal-svc__quote .hal-svc__p {
	margin: 0;
	color: var(--svc-deep);
}

/* --------------------------------------------------------------------------
   10.6 副題（§8）
   H1と導入文の中間であることが分かる階層感。H1より強くしない。
   -------------------------------------------------------------------------- */
.hal-svc .hal-svc__subhead {
	font-family: var(--hal-serif);
	font-weight: 500;
	font-size: 19px;
	line-height: 1.85;
	letter-spacing: .05em;
	color: var(--svc-on-ink-sub);
	margin: -8px 0 20px;
	overflow-wrap: anywhere;
}

/* FV内のH1・導入文は既存規則で中央揃えのため、副題も同じ軸へ揃える。
   （実ブラウザ検証で副題だけが左揃えになる不整合を検出したため） */
.hal-svc .hal-sub__hero .hal-svc__subhead {
	text-align: center;
}

/* --------------------------------------------------------------------------
   10.7 詳細緊急案内（§9）
   FV外・本文開始前の全幅警告ブロック。警告性は罫線・背景・太さ・余白で表現し、
   新色は使用しない。110番・警察の案内が支店CTAより後段に見えないよう、
   本ブロックはCTA-2およびCTA-3より前に位置する。
   -------------------------------------------------------------------------- */
.hal-svc .hal-svc-emgwrap {
	padding: 40px 0 0;
	background: var(--svc-bg);
}

.hal-svc .hal-svc-emg {
	margin: 0;
	padding: 26px 28px;
	background: var(--svc-box);
	/* TOPMinatoFix5 §7.1：四辺1pxに重ねていた左5pxの装飾縦棒を撤去し、
	   四辺均一1px hairline のみとする。 */
	border: 1px solid var(--svc-line-card);
}

.hal-svc .hal-svc-emg__ttl {
	font-family: var(--hal-serif);
	font-weight: 600;
	font-size: 19px;
	line-height: 1.8;
	letter-spacing: .04em;
	color: var(--svc-ink);
	margin: 0 0 16px;
	overflow-wrap: anywhere;
}

.hal-svc .hal-svc-emg__text {
	font-family: var(--hal-sans);
	font-size: 16px;
	line-height: 2;
	color: var(--svc-deep);
	margin: 0 0 16px;
	overflow-wrap: anywhere;
}

.hal-svc .hal-svc-emg__list {
	margin: 18px 0 0;
	padding: 16px 0 0;
	border-top: 1px solid var(--svc-line-card);
	list-style: none;
}

.hal-svc .hal-svc-emg__item {
	font-family: var(--hal-sans);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.9;
	color: var(--svc-ink);
	margin: 0 0 8px;
	overflow-wrap: anywhere;
}

.hal-svc .hal-svc-emg__item:last-child {
	margin-bottom: 0;
	font-weight: 400;
	color: var(--svc-body);
}

/* 緊急案内があるページでは、直後の本文セクションの上余白を詰める。 */
.hal-svc .hal-svc-emgwrap + .hal-svc__body {
	padding-top: 40px;
}

/* --------------------------------------------------------------------------
   10.8 Mobile／Tablet縦方向のFV表示順（§10）
   DOM順は copy → media → cta のまま維持し、1023.98px以下でのみ
   Grid の order によって copy → CTA → image へ入れ替える。
   1024px以上は既存の grid-column / grid-row 指定が優先されるため、
   PCの2カラム構成と画像位置は変更されない。
   DOMの複製・削除、画像のファイル・alt・srcset・loading・fetchpriority・
   width・height・aspect-ratio はいずれも変更していない。
   -------------------------------------------------------------------------- */
@media (max-width: 1023.98px) {
	/* v1.0.56_Content_0to8_Preview3 §7.2：768〜1023.98pxはPreview2と同じ
	   heading → intro → CTA → media。767px以下は後段の @media (max-width: 767px) で
	   heading → media → intro → CTA へ上書きする。判定は幅ごとに1か所へ集約している。 */
	.hal-svc .hal-svc-fv__heading {
		order: 1;
	}

	.hal-svc .hal-svc-fv__intro {
		order: 2;
	}

	.hal-svc .hal-svc-fv__cta {
		order: 3;
	}

	.hal-svc .hal-svc-fv__media {
		order: 4;
	}

	.hal-svc .hal-svc-fv__media {
		margin-top: 32px;
	}

	.hal-svc .hal-svc__h2 {
		padding: 18px 20px;
		margin-bottom: 22px;
		/* TOPMinatoFix5 §7.1：MobileのH2はアコーディオンの操作対象になるため、
		   四辺均一1px hairline の操作枠を与える。左辺だけを太く／別色にしない。 */
		border: 1px solid var(--svc-line-card);
	}

	.hal-svc .hal-svc__prose > .hal-svc__h2 {
		margin-top: 52px;
	}

	.hal-svc .hal-svc-emgwrap {
		padding-top: 32px;
	}

	.hal-svc .hal-svc-emg {
		padding: 22px 20px;
	}
}

/* --------------------------------------------------------------------------
   10.9 Mobile（767px以下）
   375pxでも見出しが1文字ずつに折れないよう、左右paddingを抑える。
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	.hal-svc .hal-svc__h2 {
		padding: 16px 14px;
		margin-bottom: 20px;
	}

	.hal-svc .hal-svc__prose > .hal-svc__h2 {
		margin-top: 44px;
	}

	.hal-svc .hal-svc__h3 {
		margin: 34px 0 14px;
		padding: 10px 12px;
	}

	.hal-svc .hal-svc__h2 + .hal-svc__h3 {
		margin-top: 22px;
	}

	.hal-svc .hal-svc__uli {
		font-size: 16px;
		line-height: 2;
	}

	.hal-svc .hal-svc__ul,
	.hal-svc .hal-svc__ol {
		padding-left: 1.35em;
	}

	.hal-svc .hal-svc__emph {
		font-size: 17px;
	}

	.hal-svc .hal-svc__quote {
		padding: 16px 16px;
	}

	.hal-svc .hal-svc__subhead {
		font-size: 16px;
		margin: -4px 0 18px;
	}

	/* FV導入文もMobileで 16px / line-height 2 とする（§8）。 */
	.hal-svc .hal-sub__lead {
		font-size: 16px;
		line-height: 2;
	}

	.hal-svc .hal-svc-emg {
		padding: 20px 16px;
	}

	.hal-svc .hal-svc-emg__ttl {
		font-size: 17px;
	}
}

/* ==========================================================================
   11. v1.0.56_Content_0to8_Preview3 — モバイルFVと本文H2アコーディオン
   --------------------------------------------------------------------------
   実装条件（実装指示 Preview3 §7・§8・§10）
   - すべて .hal-svc 配下へ限定する。
   - 新規モバイル規則は @media (max-width: 767px) へ限定する。
   - 新色リテラル 0件。既存 --hal-* / --svc-* トークンのみ。
   - !important 0件。固定widthによる位置合わせなし。
   - 文字切り詰め・line-clamp・nowrap なし。横方向overflowなし。
   - 見出し文言・順序・既存id・Hタグ階層は変更していない。
   ========================================================================== */

/* --------------------------------------------------------------------------
   11.1 本文H2アコーディオンの土台（全幅共通）
   H2の既存の背景・左罫線・padding・文字色はそのまま使用し、
   その内側へ全幅のbuttonを置く。文字位置はPreview2と同一。
   -------------------------------------------------------------------------- */
.hal-svc .hal-svc-acc {
	margin: 0;
}

.hal-svc .hal-svc-acc__trigger {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	text-align: left;
	-webkit-appearance: none;
	appearance: none;
}

.hal-svc .hal-svc-acc__label {
	display: block;
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: normal;
}

/* 768px以上では開閉アイコンを出さず、Preview2の通常H2表示と一致させる。 */
.hal-svc .hal-svc-acc__icon {
	display: none;
}

.hal-svc .hal-svc-acc__trigger:focus {
	outline: none;
}

.hal-svc .hal-svc-acc__trigger:focus-visible {
	outline: 2px solid var(--svc-gold);
	outline-offset: 3px;
}

/* panelは hidden 属性が付いたときだけ非表示にする。
   クラス・data属性・ARIA値を根拠に本文を先回りで隠さない（§8.4）。 */
.hal-svc .hal-svc-acc__panel[hidden] {
	display: none;
}

/* --------------------------------------------------------------------------
   11.1b panel先頭要素の上余白（Preview2の隣接セレクタと同値で再接続）
   Preview2では h2 と h3／ul／ol が兄弟だったため
   `.hal-svc__h2 + .hal-svc__h3`（28px）と `.hal-svc__h2 + .hal-svc__ul`（4px）が効いていた。
   Preview3ではH2とこれらの間に panel が入り隣接関係が切れるため、同値で再接続する。
   PCの縦位置をPreview2と一致させるための回帰防止であり、新しい余白設計ではない。
   -------------------------------------------------------------------------- */
.hal-svc .hal-svc-acc__panel > .hal-svc__h3:first-child {
	margin-top: 28px;
}

.hal-svc .hal-svc-acc__panel > .hal-svc__ul:first-child,
.hal-svc .hal-svc-acc__panel > .hal-svc__ol:first-child {
	margin-top: 4px;
}

/* --------------------------------------------------------------------------
   11.2 767px以下：FVの視覚順を heading → media → intro → CTA にする（§7.2）
   DOM順も同一のため、H1の次の主要要素がFV画像になる。
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	.hal-svc .hal-svc-fv__heading {
		order: 1;
	}

	.hal-svc .hal-svc-fv__media {
		order: 2;
		margin-top: 22px;
	}

	.hal-svc .hal-svc-fv__intro {
		order: 3;
		margin-top: 24px;
	}

	.hal-svc .hal-svc-fv__cta {
		order: 4;
	}

	.hal-svc .hal-svc-fv__cta .hal-svc-cta {
		margin-top: 24px;
	}

	/* ---- 11.3 モバイル文字組み（§7.4） ---- */
	.hal-svc .hal-svc-fv__heading .hal-sub__eyebrow {
		text-align: center;
		letter-spacing: 0.10em;
	}

	/* v1.0.56_Content_0to8_Preview3_OwnerDesignFix1 §5：Mobile H1のP0回帰修正。
	   Preview3の `overflow-wrap: anywhere` は任意位置での分断を許すため、
	   /person-search/ の「探す」が「探」／「す」へ割れていた。
	   また `text-wrap: balance` が行長を均そうとして /stalker/ の `｜` を次行頭へ送っていた。
	   両者を外し `word-break: keep-all` で日本語の意味単位を保持する。
	   H1文言・件数・DOMは変更していない。768px以上へは適用しない。 */
	.hal-svc .hal-svc-fv__heading .hal-sub__h1 {
		text-align: center;
		/* clampの下限だけを 22px → 19px にした。6vw が下限を下回るのは 317px 未満のみで、
		   375／390／430px の実効値（22.5／23.4／24px）はPreview3と同一である。
		   320px で意味単位を保ったまま横overflowを出さないための最小差分。 */
		font-size: clamp(19px, 6vw, 24px);
		line-height: 1.45;
		letter-spacing: 0.02em;
		text-wrap: wrap;
		word-break: keep-all;
		overflow-wrap: normal;
		margin-bottom: 0;
	}

	.hal-svc .hal-svc-fv__intro .hal-svc__subhead {
		text-align: left;
		font-size: 16px;
		line-height: 1.9;
		margin: 0 0 16px;
	}

	.hal-svc .hal-svc-fv__intro .hal-sub__lead {
		text-align: left;
		font-size: 16px;
		line-height: 1.95;
		margin: 0 0 16px;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.hal-svc .hal-svc-fv__intro .hal-sub__lead:last-child {
		margin-bottom: 0;
	}

	/* ---- 11.4 本文H2アコーディオンの表示（§8.6） ---- */
	.hal-svc .hal-svc-acc__trigger {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		min-height: 56px;
		cursor: pointer;
	}

	.hal-svc .hal-svc-acc__icon {
		display: block;
		position: relative;
		flex: 0 0 auto;
		width: 18px;
		height: 18px;
	}

	/* 開閉状態を色だけで表さない。collapsed は ＋、open は − で示す。 */
	.hal-svc .hal-svc-acc__icon::before,
	.hal-svc .hal-svc-acc__icon::after {
		content: "";
		position: absolute;
		left: 0;
		top: 8px;
		width: 18px;
		height: 2px;
		background: var(--svc-gold);
	}

	.hal-svc .hal-svc-acc__icon::after {
		transform: rotate(90deg);
	}

	.hal-svc .hal-svc-acc__trigger[aria-expanded="true"] .hal-svc-acc__icon::after {
		transform: rotate(0deg);
	}

	/* section間の余白はPreview2のH2上余白をそのまま使う。 */
	.hal-svc .hal-svc__prose > .hal-svc-acc > .hal-svc__h2 {
		margin-top: 44px;
	}

	.hal-svc .hal-svc__prose > .hal-svc-acc:first-of-type > .hal-svc__h2 {
		margin-top: 0;
	}

	.hal-svc .hal-svc-acc__panel > .hal-svc__h3:first-child {
		margin-top: 22px;
	}
}

/* --------------------------------------------------------------------------
   11.5 768px以上の回帰防止（§7.5・§8.6・§12.5）
   triggerは開閉操作対象にせず、H2の見た目と本文間隔をPreview2と一致させる。
   -------------------------------------------------------------------------- */
@media (min-width: 768px) {
	.hal-svc .hal-svc-acc__trigger {
		cursor: default;
	}

	.hal-svc .hal-svc__prose > .hal-svc-acc > .hal-svc__h2 {
		margin-top: 64px;
	}

	.hal-svc .hal-svc__prose > .hal-svc-acc:first-of-type > .hal-svc__h2 {
		margin-top: 0;
	}
}

@media (min-width: 768px) and (max-width: 1023.98px) {
	.hal-svc .hal-svc__prose > .hal-svc-acc > .hal-svc__h2 {
		margin-top: 52px;
	}

	.hal-svc .hal-svc__prose > .hal-svc-acc:first-of-type > .hal-svc__h2 {
		margin-top: 0;
	}
}

/* ==========================================================================
   12. OwnerDesignFix1 §I — 調査項目詳細8ページ Mobile の本文H3視認性
   --------------------------------------------------------------------------
   対象は max-width: 767px かつ .hal-svc-acc__panel 内の本文H3のみ。
   H2アコーディオンを開いた直後の階層差を明確にする。
   H3はH3のまま。button化・accordion化・複製はしていない。
   H2、FAQ質問（.hal-svc-faq__q）、CTA見出し（.hal-svc-cta__head）、
   緊急案内、フッター見出しへは波及しない（クラスが一致しないため）。
   PC／TabletのH3表示は変更していない。
   ========================================================================== */
@media (max-width: 767px) {
	.hal-svc .hal-svc-acc__panel > .hal-svc__h3,
	.hal-svc .hal-svc-acc__panel .hal-svc__h3 {
		background: var(--svc-box);
		/* TOPMinatoFix5 §7.1：左3pxの装飾縦棒を撤去する。
		   階層は背景差と余白で示す。 */
		border: 0;
		border-radius: 0;
		box-shadow: none;
		padding: 14px 15px;
		margin-top: 26px;
		margin-bottom: 16px;
		font-size: 17px;
		font-weight: 600;
		line-height: 1.7;
		color: var(--svc-ink);
		word-break: keep-all;
		overflow-wrap: break-word;
	}

	/* panel先頭H3にも同じブロックを適用し、H2直下の階層差を明確にする。 */
	.hal-svc .hal-svc-acc__panel > .hal-svc__h3:first-child {
		margin-top: 22px;
	}
}

/* ==========================================================================
   13. OwnerDesignFix2 — M-03 / M-06（Mobile限定・.hal-svc 配下のみ）
   ========================================================================== */
@media (max-width: 767px) {
	/* ---- M-06 アコーディオン二重装飾の撤去（§9） ----
	   外側ブロックから内側triggerへ継承されていた丸みと影を撤去する。
	   左ゴールド罫線・上下罫線・開閉記号・open時の濃背景・
	   appearance・focus-visible・ARIA・Enter／Space操作は維持する。 */
	.hal-svc .hal-svc-acc__trigger {
		border-radius: 0;
		box-shadow: none;
		min-height: 56px;
	}

	/* ---- M-03 調査詳細accordion内H3（§6.1） ----
	   320px 18px ／ 375〜390px 19px ／ 430px 20px 相当。背景ブロックは維持する。 */
	.hal-svc .hal-svc-acc__panel > .hal-svc__h3,
	.hal-svc .hal-svc-acc__panel .hal-svc__h3 {
		font-size: clamp(18px, 4.7vw, 20px);
		line-height: 1.65;
		margin-bottom: 18px;
	}

	/* ---- M-03 密度の高いaccordion見出し（H2 trigger）（§6.1） ----
	   320px 24px ／ 375〜390px 25px ／ 430px 26px 相当。タップ領域44px以上。 */
	.hal-svc .hal-svc-acc__trigger .hal-svc-acc__label {
		font-size: clamp(24px, 6.2vw, 26px);
		line-height: 1.45;
	}

	.hal-svc .hal-svc__h2 {
		line-height: 1.45;
		margin-bottom: 22px;
	}
}

/* ==========================================================================
   14. LowerPageFix1 §4 — /person-search/ ・/stalker/ ・/bug-sweep/ の
       Mobile H1を確定位置で正確に2行にする
   --------------------------------------------------------------------------
   H1の強制改行は inc/hal-service-data.php の2要素配列（既存レンダラーの <br> 出力）
   で行う。ここでは次の2点だけをCSSで担保する。

   (1) 768px以上では <br> を非表示にし、PC／Tabletの文字列と行構成を従来のまま保つ。
       対象は上記3ページのみ。/infidelity/ など他ページのH1改行へは波及しない。
   (2) 767px以下では、2行が320pxでもコンテナ内へ収まる字送りへ下げる。

   フォントファミリー・色・ウェイト・中央配置・行間・word-break は §11.3 の
   既存指定を継承し、ここでは font-size だけを上書きする。
   overflow-x: hidden、固定幅、transform、負のmargin、position による
   押し込みは使用しない。サイト全体の .hal-sub__h1 は変更していない。
   ========================================================================== */
@media (min-width: 768px) {
	.hal-svc.hal-svc--person-search .hal-svc-fv__heading .hal-sub__h1 br,
	.hal-svc.hal-svc--stalker .hal-svc-fv__heading .hal-sub__h1 br,
	.hal-svc.hal-svc--bug-sweep .hal-svc-fv__heading .hal-sub__h1 br {
		display: none;
	}
}

@media (max-width: 767px) {
	/* 320px＝16px ／ 375px＝18px ／ 390px＝18.72px ／ 430px＝20px 相当。
	   §11.3 の clamp(19px, 6vw, 24px) を、本3ページに限り下げる。 */
	.hal-svc.hal-svc--person-search .hal-svc-fv__heading .hal-sub__h1,
	.hal-svc.hal-svc--stalker .hal-svc-fv__heading .hal-sub__h1,
	.hal-svc.hal-svc--bug-sweep .hal-svc-fv__heading .hal-sub__h1 {
		font-size: clamp(16px, 4.8vw, 20px);
	}
}

/* ==========================================================================
   15. v1.0.56_Pricing23_Preview1 — 23モデルのモデルカード（§6.5）
   --------------------------------------------------------------------------
   すべて `.hal-svc-models` 以下へ完全スコープする。グローバル要素セレクタは使わない。
   既存トークン（黒・消炭・墨・白）のみを参照し、新色・新フォント・外部CDNは追加しない。
   PCは最大2列、1024px以下は1列。320pxで横スクロール0。
   価格と `＋別途実費` は縦積みで重ならない。日本語見出しは keep-all で途中切断しない。
   `<summary>` のタップ対象は44px以上。focus-visible は既存ゴールド系で明示する。
   既存FV・CTA・FAQ・フッターへは漏らさない。
   ========================================================================== */
.hal-svc .hal-svc-models {
	margin: 28px 0 0;
}

.hal-svc .hal-svc-models__intro,
.hal-svc .hal-svc-models__outro {
	margin: 0 0 24px;
}

.hal-svc .hal-svc-models__outro {
	margin: 24px 0 0;
	color: var(--svc-deep);
}

.hal-svc .hal-svc-models__list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
}

.hal-svc .hal-svc-model {
	box-sizing: border-box;
	min-width: 0;
	padding: 20px;
	background: var(--svc-box);
	/* TOPMinatoFix5 §7.1：左3pxの装飾縦棒を四辺均一1px hairline へ置換する。 */
	border: 1px solid var(--svc-line-card);
}

.hal-svc .hal-svc-model__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin: 0;
	font-size: 13px;
	line-height: 1.7;
	color: var(--svc-deep);
}

.hal-svc .hal-svc-model__id {
	font-family: var(--hal-mono, inherit);
	letter-spacing: 0.06em;
}

.hal-svc .hal-svc-model__title {
	margin: 10px 0 0;
	padding: 0;
	background: none;
	border-left: 0;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.6;
	color: var(--svc-ink);
	/* 日本語見出しは keep-all を基本とし、文節境界（、・／など）で折り返す。
	   1文節が行幅に収まらない場合だけ anywhere が働き、320pxでも横スクロールを出さない。 */
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.hal-svc .hal-svc-model__price {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	margin: 14px 0 0;
}

.hal-svc .hal-svc-model__amount {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--svc-ink);
	overflow-wrap: anywhere;
}

.hal-svc .hal-svc-model__expense {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.7;
	color: var(--svc-sumi);
}

.hal-svc .hal-svc-model__pricenote {
	margin: 10px 0 0;
	font-size: 13px;
	line-height: 1.9;
	color: var(--svc-deep);
	overflow-wrap: anywhere;
}

.hal-svc .hal-svc-model__details {
	margin: 16px 0 0;
}

.hal-svc .hal-svc-model__summary {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	min-height: 44px;
	padding: 10px 12px;
	background: var(--svc-bg);
	/* TOPMinatoFix5 §7.1：左2pxの装飾縦棒を四辺均一1px hairline へ置換する。 */
	border: 1px solid var(--svc-line-card);
	font-size: 15px;
	line-height: 1.7;
	color: var(--svc-ink);
	cursor: pointer;
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.hal-svc .hal-svc-model__summary:focus-visible {
	outline: 2px solid var(--svc-gold);
	outline-offset: 2px;
}

.hal-svc .hal-svc-model__body {
	margin: 14px 0 0;
}

.hal-svc .hal-svc-model__row {
	margin: 0 0 12px;
	font-size: 15px;
	line-height: 1.95;
	color: var(--svc-body);
	overflow-wrap: anywhere;
}

.hal-svc .hal-svc-model__label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.8;
	color: var(--svc-deep);
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.hal-svc .hal-svc-model__value {
	display: block;
}

.hal-svc .hal-svc-model__fiction {
	margin: 14px 0 0;
	font-size: 13px;
	line-height: 1.9;
	color: var(--svc-deep);
}

/* PCは最大2列。カード内容量が不均等なため、1列を優先する余地を残す。 */
@media (min-width: 1025px) {
	.hal-svc .hal-svc-models__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
	}
}

/* ==========================================================================
   16. v1.0.56_Pricing23_COST23_Preview2 — サービスページのモデル要約（§7）
   --------------------------------------------------------------------------
   サービスページは補助ページとし、常時表示はモデル名・価格＋実費・主要範囲／期間・
   COST該当アンカーへのリンクとする。COSTと同じ6項目長文は二重掲載しない。
   タップ対象44px以上、focus-visible明示、320pxで横スクロール0を維持する。
   ========================================================================== */
.hal-svc .hal-svc-model__method {
	padding: 2px 8px;
	background: var(--svc-bg);
}

.hal-svc .hal-svc-model__spec {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 12px;
	margin: 10px 0 0;
	font-size: 13px;
	line-height: 1.9;
	color: var(--svc-deep);
	overflow-wrap: anywhere;
}

.hal-svc .hal-svc-model__costlink {
	margin: 12px 0 0;
}

.hal-svc .hal-svc-model__costlinka {
	display: inline-block;
	box-sizing: border-box;
	min-height: 44px;
	padding: 11px 0;
	font-size: 14px;
	line-height: 1.6;
	color: var(--svc-ink);
	text-decoration: underline;
	overflow-wrap: anywhere;
}

.hal-svc .hal-svc-model__costlinka:focus-visible {
	outline: 2px solid var(--svc-gold);
	outline-offset: 2px;
}

/* ==========================================================================
   v1.0.56_..._OwnerFix4 §4.1・§5.2・§7.3
   8調査詳細ページの23モデルカードにおける価格ブロック共通ラベルと、
   浮気・不倫8モデルだけ価格欄へ置く別途費用ブロック。
   セレクタは .hal-svc 配下のモデルカードへ限定する。
   新色リテラルは追加せず、既存トークンのみを使用する。
   ========================================================================== */
.hal-svc .hal-svc-model__pricelabel {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.8;
	color: var(--svc-deep);
	word-break: keep-all;
}

.hal-svc .hal-svc-model__expblock {
	display: block;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid var(--hal-line);
}

.hal-svc .hal-svc-model__explabel {
	display: block;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
	color: var(--svc-deep);
	word-break: keep-all;
}

.hal-svc .hal-svc-model__expitems {
	display: block;
	font-size: 14px;
	line-height: 1.9;
	color: var(--svc-body);
	overflow-wrap: anywhere;
}

.hal-svc .hal-svc-model__expnote {
	display: block;
	margin-top: 4px;
	font-size: 14px;
	line-height: 1.9;
	color: var(--svc-body);
	overflow-wrap: anywhere;
}

/* §7.3：詳細内の「別途費用（発生時のみ）」を太字にする。 */
.hal-svc .hal-svc-model__label--strong {
	font-weight: 700;
}

.hal-svc .hal-svc-model__value--note {
	display: block;
	margin-top: 4px;
}

/* ==========================================================================
   v1.0.56_..._OwnerFix5 §10.1：浮気・不倫8モデルの料金ブロックをコンパクト化
   内容は1件も削らず、重複していた上下margin・padding・gapだけを整理する。
   文字サイズの縮小による解決は行わない。
   ========================================================================== */
.hal-svc .hal-svc-model__price {
	gap: 2px;
}

.hal-svc .hal-svc-model__amount {
	line-height: 1.4;
}

.hal-svc .hal-svc-model__expblock {
	margin-top: 10px;
	padding-top: 8px;
}

.hal-svc .hal-svc-model__explabel {
	line-height: 1.6;
}

.hal-svc .hal-svc-model__expitems {
	line-height: 1.8;
}

.hal-svc .hal-svc-model__expnote {
	margin-top: 2px;
	line-height: 1.8;
}

/* ==========================================================================
   v1.0.56_..._OwnerFix5 §11：PCで詳細を開いたカードと1モデルカテゴリを全幅化
   セレクタは .hal-svc .hal-svc-models__list 配下へ完全スコープする。
   ========================================================================== */
@media (min-width: 1025px) {
	.hal-svc .hal-svc-models__list > .hal-svc-model:has(details[open]) {
		grid-column: 1 / -1;
	}

	.hal-svc .hal-svc-models__list > .hal-svc-model:only-child {
		grid-column: 1 / -1;
	}

	.hal-svc .hal-svc-models__list > .hal-svc-model:has(details[open]) .hal-svc-model__body,
	.hal-svc .hal-svc-models__list > .hal-svc-model:only-child .hal-svc-model__body {
		max-width: 62em;
	}

	.hal-svc .hal-svc-models__list > .hal-svc-model:has(details[open]) .hal-svc-model__price,
	.hal-svc .hal-svc-models__list > .hal-svc-model:only-child .hal-svc-model__price {
		max-width: 40em;
	}
}

/* ==========================================================================
   v1.0.56_..._OwnerFix6 §6：8調査項目ページ 23モデルカードの視覚品質を統一是正
   /cost/ と同じ編集的な外装原則へ揃える。左縦棒の疑似要素再現は行わない。
   カード幅とグリッドは比較性を優先して維持する。新色は追加しない。
   ========================================================================== */
.hal-svc .hal-svc-model {
	padding: 28px;
	background: var(--svc-box);
	/* TOPMinatoFix5 §12.3 VB-07：左辺だけ 0px で他辺と異なる状態を解消し、
	   四辺完全均一の1px hairline とする。 */
	border: 1px solid var(--svc-line-card);
	border-radius: 0;
	box-shadow: none;
}

.hal-svc .hal-svc-model::before,
.hal-svc .hal-svc-model::after {
	content: none;
}

.hal-svc .hal-svc-model__title {
	font-size: 18px;
}

.hal-svc .hal-svc-model__label {
	font-size: 13px;
}

.hal-svc .hal-svc-model__value {
	font-size: 14px;
	line-height: 1.8;
}

.hal-svc .hal-svc-model__pricelabel {
	font-size: 13px;
}

/* §6.2：開閉UIを左罫線付きの内箱にしない */
.hal-svc .hal-svc-model__summary {
	min-height: 48px;
	padding: 14px 0;
	background: transparent;
	border: 0;
	border-top: 1px solid var(--svc-line-card);
	border-radius: 0;
	box-shadow: none;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

.hal-svc .hal-svc-model__summary::before,
.hal-svc .hal-svc-model__summary::after {
	content: none;
}

.hal-svc .hal-svc-model__summary:hover {
	background: transparent;
	box-shadow: none;
	text-decoration: none;
}

.hal-svc .hal-svc-model__details {
	margin-top: 18px;
}

.hal-svc .hal-svc-model__body {
	padding-top: 4px;
}

@media (max-width: 767.98px) {
	.hal-svc .hal-svc-model {
		padding: 20px;
	}

	.hal-svc .hal-svc-model__title {
		font-size: 17px;
	}
}


/* ==========================================================================
   Stage5ChuoFix7-R1 §2 — 初期state制御のみ（表示意匠の変更ではない）
   JS-capability flag が付いている＝JavaScript有効時だけ、初期化完了（ready）までの間
   開閉panelを非表示にする。これにより最初の可視描画から closed になり、
   初期open flash と layout shift が発生しない。
   JavaScript無効時は flag が付かないため本ルールは一切作用せず、全本文へ到達できる。
   色・余白・罫線・書体・カード意匠・DOM階層・copy はいずれも変更していない。
   ========================================================================== */
/* 調査項目詳細8ページ：本文H2 panel と FAQ 回答 */
.hal-svc-js .hal-svc:not([data-hal-svc-ready]) .hal-svc-acc__panel,
.hal-svc-js .hal-svc:not([data-hal-svc-ready]) .hal-svc-faq__a {
	display: none;
}
