/* NextScale SEO・LLMO 改善 1.6.10 */

/* トップFV：p → h1 にした見出しを元の見た目のまま保つ */
h1.nsseo-fv-h1 {
	font-size: 16px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: #1a1a1a;
	font-weight: 700;
	letter-spacing: 1px;
	line-height: 1.4;
}
h1.nsseo-fv-h1::before,
h1.nsseo-fv-h1::after {
	content: none;
	display: none;
}

/* ロゴを h1 から div に戻したので余白だけ合わせる */
div.c-headLogo { margin: 0; }

/* コントラスト比 4.5:1 未満だった文字・見出しセル（テーマのCSSが後から読まれるため !important） */
.news-item__date,
.news-item__cat,
.p-why-fv__aside-caption-sub,
.p-price-cost__meta-label {
	color: #6b6560 !important;
}
.p-service-contact__caution span {
	color: #c8352b !important; /* #e74f44 は白地で 3.75:1 → 5.3:1 */
}
th.p-why-diff__cell--nextscale,
th.p-service-diff__cell--nextscale {
	background-color: #b04a0b !important;
}
th.p-why-diff__cell--general,
th.p-service-diff__cell--general {
	background-color: #6b6560 !important;
}

/* ---------------- 記事末尾の関連サービス ---------------- */
.nsseo-related {
	margin: 40px 0 8px;
	padding: 20px;
	border: 1px solid #d5dbe6;
	border-radius: 8px;
	background: #f5f7fb;
}
.nsseo-related__title {
	margin: 0 0 12px;
	font-size: 15px;
	font-weight: 700;
	color: #0e254d;
}
.nsseo-related__service {
	display: block;
	padding: 14px 16px;
	border-radius: 6px;
	background: #fff;
	border: 2px solid #0e254d;
	text-decoration: none;
	color: #1a1a1a;
}
.nsseo-related__service:hover { background: #eef2f8; }
.nsseo-related__name {
	display: block;
	font-weight: 700;
	color: #0e254d;
	margin-bottom: 4px;
}
.nsseo-related__name::after { content: " →"; }
.nsseo-related__desc { display: block; font-size: 14px; line-height: 1.7; }
.nsseo-related__links {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	font-size: 14px;
}
.nsseo-related__links li { margin: 0; padding: 0; }
.nsseo-related__links li::before { content: none; }
.nsseo-related__links a { color: #0e254d; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* ---------------- /reason/ 追加セクション ---------------- */
.nsseo-wrap {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 20px;
}
.nsseo-summary {
	padding: 40px 0 8px;
	background: #fff;
}
.nsseo-summary__title {
	font-size: 20px;
	font-weight: 700;
	color: #0e254d;
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	background: none;
}
.nsseo-summary__title::before,
.nsseo-summary__title::after { content: none; }
.nsseo-summary__list {
	margin: 0;
	border: 1px solid #d5dbe6;
	border-radius: 8px;
	overflow: hidden;
}
.nsseo-summary__row {
	display: grid;
	grid-template-columns: 9em 1fr;
	border-top: 1px solid #d5dbe6;
}
.nsseo-summary__row:first-child { border-top: 0; }
.nsseo-summary__row dt {
	background: #f2f5fa;
	color: #0e254d;
	font-weight: 700;
	padding: 12px 16px;
	margin: 0;
}
.nsseo-summary__row dd {
	margin: 0;
	padding: 12px 16px;
	color: #1a1a1a;
	line-height: 1.7;
}

.nsseo-section {
	padding: 72px 0;
	background: #fff;
	color: #1a1a1a;
}
.nsseo-section:nth-of-type(even) { background: #f5f7fb; }
.nsseo-eyebrow {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: #b04a0b;
	margin: 0 0 6px;
	text-align: center;
}
.nsseo-title {
	word-break: auto-phrase;
	text-wrap: balance;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.4;
	color: #0e254d;
	text-align: center;
	margin: 0 0 32px;
	padding: 0;
	border: 0;
	background: none;
}
.nsseo-title::before,
.nsseo-title::after { content: none; }
.nsseo-lead {
	text-align: center;
	margin: -16px 0 28px;
	line-height: 1.8;
}
.nsseo-note {
	font-size: 14px;
	color: #6b6560;
	margin: 20px 0 0;
	text-align: center;
}
.nsseo-note a { color: #0e254d; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.nsseo-more {
	text-align: center;
	margin: 28px 0 0;
}
.nsseo-more--left { text-align: left; }
.nsseo-more a,
.nsseo-card__link {
	color: #0e254d;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.nsseo-more a::after,
.nsseo-card__link::after { content: " →"; }

/* メソッド・比較・業種・最後のメッセージ */
.nsseo-cards.nsseo-cards--4 { grid-template-columns: repeat(4, 1fr); }
.nsseo-card__text { margin: 0; line-height: 1.75; font-size: 15px; }
.nsseo-subtitle { font-size: 20px; font-weight: 700; color: #0e254d; margin: 36px 0 14px; padding: 0; border: 0; background: none; text-align: center; }
.nsseo-subtitle::before, .nsseo-subtitle::after { content: none; }
.nsseo-steps { list-style: none; counter-reset: nsstep; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.nsseo-steps li { counter-increment: nsstep; background: #fff; border: 1px solid #d5dbe6; border-radius: 8px; padding: 18px; margin: 0; display: flex; flex-direction: column; gap: 6px; line-height: 1.7; }
.nsseo-steps li::before { content: "STEP " counter(nsstep); font-size: 13px; font-weight: 700; color: #b04a0b; }
.nsseo-steps strong { color: #0e254d; font-size: 17px; }
.nsseo-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.nsseo-table { width: 100%; min-width: 760px; border-collapse: collapse; background: #fff; font-size: 15px; line-height: 1.7; }
.nsseo-table th, .nsseo-table td { border: 1px solid #d5dbe6; padding: 12px 14px; text-align: left; vertical-align: top; }
.nsseo-table thead th { background: #0e254d; color: #fff; font-weight: 700; }
.nsseo-table thead th.nsseo-table__ours { background: #b04a0b; }
.nsseo-table tbody th { background: #f2f5fa; color: #0e254d; font-weight: 700; white-space: nowrap; }
.nsseo-table td.nsseo-table__ours { background: #fff7f1; font-weight: 700; color: #1a1a1a; }
.nsseo-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.nsseo-tags li { margin: 0; padding: 8px 16px; border-radius: 999px; background: #fff; border: 1px solid #0e254d; color: #0e254d; font-weight: 700; font-size: 15px; }
.nsseo-tags li::before { content: none; }
.nsseo-letter__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.nsseo-letter__box { background: #fff; border: 1px solid #d5dbe6; border-radius: 8px; padding: 24px; }
.nsseo-letter__box h3 { font-size: 18px; font-weight: 700; color: #0e254d; margin: 0 0 12px; padding: 0; border: 0; background: none; }
.nsseo-letter__box h3::before, .nsseo-letter__box h3::after { content: none; }
.nsseo-letter__box p { margin: 0 0 12px; line-height: 1.9; }
.nsseo-letter__sign { text-align: right; font-weight: 700; margin: 20px 0 0; }

/* サービスページの担当コンサルタント */
.nsseo-consultant { padding: 64px 0; background: #fff; }
.nsseo-consultant__card { display: grid; grid-template-columns: 240px 1fr; gap: 32px; align-items: start; max-width: 920px; margin: 0 auto; border: 1px solid #d5dbe6; border-radius: 8px; padding: 28px; }
.nsseo-consultant__photo { margin: 0; }
.nsseo-consultant__photo img { width: 100%; height: auto; border-radius: 8px; display: block; }
.nsseo-consultant__role { margin: 0 0 4px; font-size: 14px; font-weight: 700; color: #b04a0b; }
.nsseo-consultant__name { margin: 0 0 12px; font-size: 26px; font-weight: 700; color: #0e254d; }
.nsseo-consultant__name span { margin-left: 12px; font-size: 14px; font-weight: 500; color: #6b6560; }
.nsseo-consultant__lead { margin: 0 0 12px; line-height: 1.8; font-weight: 700; }
.nsseo-consultant__list { margin: 0 0 8px; padding-left: 1.2em; line-height: 1.8; font-size: 15px; }
.nsseo-consultant__list li { list-style: disc; margin: 0 0 4px; }
.nsseo-consultant .nsseo-more a + a { margin-left: 16px; }

/* 研修系サービスページの導入事例 */
.nsseo-svc-cases { padding: 64px 0; background: #f5f7fb; }
.nsseo-svc-cases__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.nsseo-svc-cases__list li { margin: 0; }
.nsseo-svc-cases__list li::before { content: none; }
.nsseo-svc-case { display: block; height: 100%; background: #fff; border: 1px solid #d5dbe6; border-radius: 8px; padding: 22px; text-decoration: none; color: #1a1a1a; }
.nsseo-svc-case:hover { border-color: #0e254d; }
.nsseo-svc-case__company { display: block; font-size: 14px; color: #6b6560; margin-bottom: 6px; }
.nsseo-svc-case__title { display: block; font-size: 17px; font-weight: 700; color: #0e254d; line-height: 1.6; margin-bottom: 10px; }
.nsseo-svc-case__meta { display: block; font-size: 14px; line-height: 1.7; }
.nsseo-svc-case__more { display: inline-block; margin-top: 10px; font-weight: 700; color: #0e254d; text-decoration: underline; text-underline-offset: 3px; }

/* 数字 */
.nsseo-stats {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
.nsseo-stats--3 { grid-template-columns: repeat(3, 1fr); }
.nsseo-stat {
	background: #fff;
	border: 1px solid #d5dbe6;
	border-radius: 8px;
	padding: 20px 16px;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
}
.nsseo-stat__label { font-weight: 700; color: #0e254d; font-size: 15px; }
.nsseo-stat__value { font-size: 36px; font-weight: 700; color: #0e254d; line-height: 1.2; }
.nsseo-stat__value small { font-size: 16px; margin: 0 2px; }
.nsseo-stat__note { font-size: 13px; color: #6b6560; }

/* 料金 */
.nsseo-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.nsseo-card {
	background: #fff;
	border: 1px solid #d5dbe6;
	border-radius: 8px;
	padding: 24px 22px;
	display: flex;
	flex-direction: column;
}
.nsseo-card--accent { border: 2px solid #0e254d; }
.nsseo-card__title {
	font-size: 18px;
	font-weight: 700;
	color: #0e254d;
	margin: 0 0 8px;
	padding: 0;
	border: 0;
	background: none;
}
.nsseo-card__title::before,
.nsseo-card__title::after { content: none; }
.nsseo-card__price { margin: 0 0 14px; font-size: 15px; }
.nsseo-card__price strong { font-size: 28px; color: #0e254d; }
.nsseo-card__list {
	margin: 0 0 18px;
	padding-left: 1.2em;
	line-height: 1.7;
	font-size: 15px;
	flex: 1;
}
.nsseo-card__list li,
.nsseo-fit__list li { list-style: disc; }
.nsseo-card__list li { margin: 0 0 6px; }

/* 相性 */
.nsseo-fit__grid {
	display: grid;
	grid-template-columns: 3fr 2fr;
	gap: 20px;
}
.nsseo-fit__box {
	border-radius: 8px;
	padding: 24px;
	background: #fff;
	border: 1px solid #d5dbe6;
}
.nsseo-fit__box--good { border: 2px solid #0e254d; }
.nsseo-fit__head {
	font-size: 18px;
	font-weight: 700;
	color: #0e254d;
	margin: 0 0 12px;
	padding: 0;
	border: 0;
	background: none;
}
.nsseo-fit__head::before,
.nsseo-fit__head::after { content: none; }
.nsseo-fit__list {
	margin: 0;
	padding-left: 1.2em;
	line-height: 1.8;
}
.nsseo-fit__list li { margin: 0 0 6px; }
.nsseo-fit__note { margin: 12px 0 0; font-size: 14px; color: #6b6560; }

/* 安心 */
.nsseo-safety__list {
	list-style: none;
	counter-reset: nsseo;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}
.nsseo-safety__list li {
	counter-increment: nsseo;
	background: #fff;
	border: 1px solid #d5dbe6;
	border-radius: 8px;
	padding: 20px 20px 20px 64px;
	position: relative;
	margin: 0;
}
.nsseo-safety__list li::before {
	content: counter(nsseo, decimal-leading-zero);
	position: absolute;
	left: 20px;
	top: 18px;
	font-size: 22px;
	font-weight: 700;
	color: #b04a0b;
}
.nsseo-safety__list h3 {
	font-size: 17px;
	font-weight: 700;
	color: #0e254d;
	margin: 0 0 6px;
	padding: 0;
	border: 0;
	background: none;
}
.nsseo-safety__list h3::before,
.nsseo-safety__list h3::after { content: none; }
.nsseo-safety__list p { margin: 0; line-height: 1.75; font-size: 15px; }

/* FAQ */
.nsseo-faq__list { margin: 0; }
.nsseo-faq__item {
	background: #fff;
	border: 1px solid #d5dbe6;
	border-radius: 8px;
	padding: 18px 20px;
	margin: 0 0 12px;
}
.nsseo-faq__q,
.nsseo-faq__a {
	display: flex;
	gap: 12px;
	line-height: 1.75;
	margin: 0;
}
.nsseo-faq__q { font-weight: 700; color: #0e254d; }
.nsseo-faq__a { margin-top: 10px; }
.nsseo-faq__mark {
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #0e254d;
	color: #fff;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	line-height: 1;
	margin-top: 1px;
}
.nsseo-faq__mark--a { background: #b04a0b; }

/* 代表メッセージ */
.nsseo-message__grid {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 40px;
	align-items: start;
}
.nsseo-message__photo { margin: 0; }
.nsseo-message__photo img {
	width: 100%;
	height: auto;
	border-radius: 8px;
	display: block;
}
.nsseo-message__body .nsseo-eyebrow,
.nsseo-message__body .nsseo-title { text-align: left; }
.nsseo-message__body .nsseo-title { margin-bottom: 16px; }
.nsseo-message__body p { line-height: 1.9; margin: 0 0 14px; }
.nsseo-message__lead { font-weight: 700; color: #0e254d; font-size: 18px; }
.nsseo-message__name { font-weight: 700; margin-top: 8px; }
.nsseo-message__profile-title {
	font-size: 16px;
	font-weight: 700;
	color: #0e254d;
	margin: 20px 0 8px;
	padding: 0;
	border: 0;
	background: none;
}
.nsseo-message__profile-title::before,
.nsseo-message__profile-title::after { content: none; }
.nsseo-message__profile {
	margin: 0 0 16px;
	padding-left: 1.2em;
	line-height: 1.8;
	font-size: 15px;
}
.nsseo-message__profile li { list-style: disc; margin: 0 0 4px; }

@media (max-width: 959px) {
	.nsseo-cards,
	.nsseo-cards.nsseo-cards--4 { grid-template-columns: 1fr 1fr; }
	.nsseo-steps,
	.nsseo-letter__grid,
	.nsseo-svc-cases__list,
	.nsseo-fit__grid,
	.nsseo-safety__list { grid-template-columns: 1fr; }
}
@media (max-width: 599px) {
	.nsseo-wrap { padding: 0 16px; }
	.nsseo-section { padding: 52px 0; }
	.nsseo-title { font-size: 22px; margin-bottom: 24px; }
	.nsseo-summary__row { grid-template-columns: 1fr; }
	.nsseo-summary__row dt { padding: 10px 14px 4px; background: #fff; }
	.nsseo-summary__row dd { padding: 0 14px 12px; }
	.nsseo-stats { grid-template-columns: 1fr 1fr; gap: 10px; }
	.nsseo-stats--3 { grid-template-columns: 1fr; }
	.nsseo-stat { padding: 16px 10px; }
	.nsseo-stat__value { font-size: 28px; }
	.nsseo-stat__label { font-size: 13px; }
	.nsseo-stat__note { font-size: 12px; }
	.nsseo-cards,
	.nsseo-cards.nsseo-cards--4 { grid-template-columns: 1fr; }
	.nsseo-tags li { font-size: 14px; padding: 6px 12px; }
	.nsseo-message__grid { grid-template-columns: 1fr; gap: 20px; }
	.nsseo-consultant__card { grid-template-columns: 1fr; padding: 20px; gap: 16px; }
	.nsseo-consultant__photo { max-width: 200px; }
	.nsseo-message__photo { max-width: 220px; }
	.nsseo-safety__list li { padding: 18px 16px 18px 56px; }
	.nsseo-safety__list li::before { left: 16px; }
}

/* 1.6.1：h1の補足・成果例・支援方針 */
.p-why-fv__title .nsseo-h1-lead {
	display: block;
	font-size: clamp(14px, 1.5vw, 18px);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .04em;
	margin: 0 0 .7em;
}
.nsseo-results { margin-top: 24px; }
.nsseo-cards.nsseo-price__cards { grid-template-columns: repeat(2, 1fr); }
.nsseo-card__tax { white-space: nowrap; font-size: 14px; }
.nsseo-safety__list.nsseo-policy__list { grid-template-columns: 1fr; }
.nsseo-policy__not { margin-top: 20px; }
@media (max-width: 599px) {
	.nsseo-cards.nsseo-price__cards { grid-template-columns: 1fr; }
}

/* 1.6.1：AI検索経由の受注実績 */
.nsseo-aio { margin-top: 20px; }
.nsseo-aio__body { display: grid; grid-template-columns: minmax(200px, 1fr) 2fr; gap: 24px; align-items: center; }
.nsseo-aio__stat { margin: 0; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; padding: 16px; border-radius: 8px; background: #f4f6fa; }
.nsseo-aio__label { font-size: 14px; font-weight: 700; color: #0e254d; }
.nsseo-aio__value { font-size: 36px; font-weight: 700; color: #0e254d; line-height: 1.2; }
.nsseo-aio__value small { font-size: 16px; margin-left: 2px; }
.nsseo-aio__note { font-size: 12px; color: #6b6560; }
.nsseo-aio__text { margin: 0; line-height: 1.8; font-size: 15px; }
.nsseo-aio__text a { color: #0e254d; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; margin-left: .3em; }
@media (max-width: 599px) {
	.nsseo-aio__body { grid-template-columns: 1fr; gap: 14px; }
}

/* 1.6.3：FVの実績とCTA・理由の根拠・BEFORE/AFTER・FAQの分類 */
.nsseo-fv-stats {
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
	max-width: 640px;
}
.nsseo-fv-stats li {
	margin: 0;
	padding: 10px 6px;
	background: rgba(255, 255, 255, .85);
	border: 1px solid #d5dbe6;
	border-radius: 8px;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.nsseo-fv-stats__value { font-size: 22px; font-weight: 700; color: #0e254d; line-height: 1.2; white-space: nowrap; }
.nsseo-fv-stats__value small { font-size: 12px; margin-left: 1px; }
.nsseo-fv-stats__label { font-size: 12px; font-weight: 700; color: #0e254d; line-height: 1.4; }
.nsseo-fv-stats__note { margin: 6px 0 0; font-size: 11px; color: #4b5563; line-height: 1.5; max-width: 640px; }
.nsseo-fv-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.nsseo-fv-cta__btn {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 240px;
	padding: 12px 20px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	color: #fff !important;
	text-decoration: none !important;
	border-radius: 4px;
}
.nsseo-fv-cta__btn small { font-size: 12px; font-weight: 500; opacity: .95; }
.nsseo-fv-cta__btn--primary { background: linear-gradient(#b4530a, #b91c1c); }
.nsseo-fv-cta__btn--secondary { background: #0e254d; }
.nsseo-fv-cta__btn:hover { opacity: .9; }

.nsseo-proof {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 4px 12px;
	margin: 14px 0 0;
	padding: 10px 14px;
	border-left: 4px solid #b04a0b;
	background: #fff7ed;
	border-radius: 0 6px 6px 0;
}
.nsseo-proof__value { font-size: 22px; font-weight: 700; color: #0e254d; line-height: 1.3; }
.nsseo-proof__label { font-size: 13px; color: #374151; line-height: 1.5; }

.nsseo-ba { margin-top: 24px; }
.nsseo-ba__target, .nsseo-ba__close { margin: 0; font-weight: 700; color: #0e254d; text-align: center; line-height: 1.7; }
.nsseo-ba__flow { display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: stretch; margin: 14px 0; }
.nsseo-ba__box { padding: 16px 18px; border: 1px solid #d5dbe6; border-radius: 8px; background: #fff; }
.nsseo-ba__box--after { border: 2px solid #0e254d; }
.nsseo-ba__label { margin: 0 0 4px; font-size: 13px; font-weight: 700; letter-spacing: .08em; color: #b04a0b; }
.nsseo-ba__text { margin: 0; line-height: 1.7; font-size: 15px; }
.nsseo-ba__arrow { margin: 0; align-self: center; color: #0e254d; font-size: 18px; }

.nsseo-faq__group {
	font-size: 18px;
	font-weight: 700;
	color: #0e254d;
	margin: 28px 0 10px;
	padding: 0 0 6px;
	border: 0;
	border-bottom: 2px solid #0e254d;
	background: none;
}
.nsseo-faq__group::before,
.nsseo-faq__group::after { content: none; }
.nsseo-faq__group:first-of-type { margin-top: 0; }

@media (max-width: 599px) {
	.nsseo-fv-stats { grid-template-columns: repeat(2, 1fr); }
	.nsseo-fv-cta__btn { min-width: 0; width: 100%; }
	.nsseo-ba__flow { grid-template-columns: 1fr; }
	.nsseo-ba__arrow { transform: rotate(90deg); justify-self: center; }
}
@media (max-width: 1199px) {
	.nsseo-fv-stats { grid-template-columns: repeat(2, 1fr); max-width: 460px; }
}
.nsseo-fv-cta__btn { flex: 1 1 200px; min-width: 0; max-width: 300px; }
@media (max-width: 599px) {
	.nsseo-fv-cta__btn { max-width: none; }
}
.nsseo-company-more { margin: 0 0 30px; font-size: 15px; }
.nsseo-company-more a { color: #0e254d; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* 1.6.4：画面外の追加セクションは、見えるまで描画計算を後回しにする（/reason/ のスタイル・レイアウト計算が約1.8秒あったため） */
.nsseo-section { content-visibility: auto; contain-intrinsic-size: auto 900px; }
.p-why > .p-why-reasons,
.p-why > .p-service-cta,
.p-why > .p-why-diff,
.p-why > .p-why-flow,
.p-why > .p-why-proof,
.p-why > .p-why-cases,
#before_footer_widget,
.l-footer { content-visibility: auto; contain-intrinsic-size: auto 900px; }
.p-service-intro,
.p-service-issue,
.p-service-features:not(.p-why-reasons),
.p-service-detail,
.p-service-flow,
.p-service-price,
.p-service-diff,
.p-service-consultant,
.nsseo-consultant,
.p-service-faq,
.p-service-blog,
.p-service-about,
.p-service-contact { content-visibility: auto; contain-intrinsic-size: auto 900px; }
/* 独立して置いたリンクは、押せる高さを 24px 以上にする（Lighthouse target-size） */
.nsseo-more a,
.nsseo-card__link,
.nsseo-company-more a { display: inline-block; padding: 4px 0; min-height: 24px; line-height: 1.6; }
/* 導入事例の「もっと見る」ボタンがあるブロックは除外（描画を後回しにすると Lighthouse がボタンの背景色を読み違え、コントラスト不足と判定するため） */
.nsseo-front > .swell-block-fullWide:nth-child(n+3):not(:has(.case-cards-more-btn)) { content-visibility: auto; contain-intrinsic-size: auto 900px; }

/* 1.6.8 事例詳細のパンくず（#948d89、白地で比3.26）→ #6b6560（5.6:1） */
.p-case-breadcrumb__item,
.p-case-breadcrumb__item a,
.p-case-breadcrumb__item span {
	color: #6b6560 !important;
}
