/* =============================================================
   lacks-site-ui ／ スタッフ紹介
   [lj_staff_org] [lj_staff_members] [lj_staff_partners] が本文にあるページでだけ読み込む。

   ブレークポイントはテーマと同じ 600px / 960px。
   冒頭の2カラムだけは見出しの文字数に合わせて 1100px で切り替える。
   色・余白・角丸は本番サイトの実測値（SWELLカスタマイザーと既存プラグインの値）。
   ============================================================= */

.lj-st-sec,
.lj-st-org,
.lj-st-members,
.lj-st-partners {
	--lj-st-ink: #12003e;
	--lj-st-ink-2: #082c65;
	--lj-st-cyan: #00abcd;
	--lj-st-cyan-d: #0090ad;
	--lj-st-surface: #fff;
	--lj-st-bg: #fdfdfd;
	--lj-st-wash: #f4f7fa;
	--lj-st-text: #1d1b2b;
	--lj-st-muted: #6d6b84;
	--lj-st-line: rgba(18, 0, 62, .12);
	--lj-st-line-2: rgba(18, 0, 62, .06);
	--lj-st-radius: 4px;
}

.lj-st-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* ---------------------------------------------------------------
   テーマ（SWELL）の本文装飾を、この部品の中だけ打ち消す
   --------------------------------------------------------------- */
.post_content .lj-st-sec h1.lj-st-hero__label,
.post_content .lj-st-sec h2.lj-st-flow__h,
.post_content .lj-st-org h3,
.post_content .lj-st-members h3,
.post_content .lj-st-partners h3 {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	letter-spacing: normal;
}

.post_content .lj-st-sec h1.lj-st-hero__label::before,
.post_content .lj-st-sec h1.lj-st-hero__label::after,
.post_content .lj-st-sec h2.lj-st-flow__h::before,
.post_content .lj-st-sec h2.lj-st-flow__h::after,
.post_content .lj-st-org h3::before,
.post_content .lj-st-org h3::after,
.post_content .lj-st-members h3::before,
.post_content .lj-st-members h3::after,
.post_content .lj-st-partners h3::before,
.post_content .lj-st-partners h3::after {
	content: none;
	display: none;
}

.post_content .lj-st-org ul,
.post_content .lj-st-members ul,
.post_content .lj-st-partners ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.post_content .lj-st-org li,
.post_content .lj-st-members li,
.post_content .lj-st-partners li {
	margin: 0;
	padding: 0;
}

.post_content .lj-st-org li::before,
.post_content .lj-st-members li::before,
.post_content .lj-st-partners li::before {
	content: none;
	display: none;
}

.post_content .lj-st-org p,
.post_content .lj-st-members p,
.post_content .lj-st-partners p {
	margin: 0;
}

.post_content .lj-st-members dl,
.post_content .lj-st-members dt,
.post_content .lj-st-members dd {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

.post_content .lj-st-org a,
.post_content .lj-st-members a,
.post_content .lj-st-partners a {
	box-shadow: none;
	background: none;
}

/* ---------------------------------------------------------------
   セクション共通（ブロックで組んだ見出し・導入文）
   --------------------------------------------------------------- */
.post_content .lj-st-sec .lj-st-mark {
	float: none;
	width: 44px;
	margin: 0 0 10px;
}

.post_content .lj-st-sec .lj-st-mark img {
	width: 100% !important;
	height: auto !important;
}

.post_content .lj-st-seclead {
	margin: 14px 0 0;
	max-width: 48em;
	font-size: 14.5px;
	line-height: 1.9;
	color: var(--lj-st-muted);
	word-break: auto-phrase;
}

.post_content .lj-st-orglead {
	margin: 22px 0 0;
	font-size: 14.5px;
	line-height: 1.95;
	color: var(--lj-st-text);
	word-break: auto-phrase;
}

.post_content .lj-st-orglead strong {
	color: var(--lj-st-ink);
}

.post_content .lj-st-note {
	margin: 16px 0 0;
	font-size: 12px;
	line-height: 1.9;
	color: var(--lj-st-muted);
}

@media (min-width: 960px) {
	.post_content .lj-st-sec .lj-st-mark {
		width: 57px;
		margin-bottom: 12px;
	}
}

/* ---------------------------------------------------------------
   冒頭：ラベル → 主見出し → 本文
   写真ブロック（クラス lj-st-hero__ph）を入れると、広い幅で右に写真を置く形へ切り替わる
   --------------------------------------------------------------- */
.post_content .lj-st-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas: "head" "ph" "body";
	margin: 0;
}

.lj-st-hero > .wp-block-group__inner-container {
	display: contents;
}

.post_content .lj-st-hero__head {
	grid-area: head;
	min-width: 0;
	margin: 0;
}

.post_content h1.lj-st-hero__label {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .04em;
	color: var(--lj-st-muted);
}

.post_content .lj-st-hero__lead {
	margin: 12px 0 0;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.55;
	color: var(--lj-st-ink);
}

.post_content .lj-st-hero__ph {
	grid-area: ph;
	margin: 22px 0 0;
	min-width: 0;
}

.post_content .lj-st-hero__ph img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: var(--lj-st-radius);
}

.post_content .lj-st-hero__body {
	grid-area: body;
	min-width: 0;
	max-width: min(40em, 100%);
	margin: 22px 0 0;
}

.post_content .lj-st-hero__body p {
	margin: 0 0 1.2em;
	font-size: 14.5px;
	line-height: 1.95;
	color: var(--lj-st-text);
	word-break: auto-phrase;
}

.post_content .lj-st-hero__body p:last-child {
	margin-bottom: 0;
}

.post_content .lj-st-hero__body strong {
	color: var(--lj-st-ink);
}

@media (min-width: 600px) {
	.post_content .lj-st-hero__lead {
		margin-top: 14px;
		font-size: 36px;
		line-height: 1.5;
	}

	.post_content .lj-st-hero__body p {
		font-size: 15px;
	}
}

@media (min-width: 1100px) {
	.post_content .lj-st-hero {
		grid-template-columns: minmax(0, 540px) minmax(0, 1fr);
		grid-template-areas: "head body";
		gap: 0 56px;
		align-items: start;
	}

	.post_content h1.lj-st-hero__label {
		font-size: 16px;
	}

	.post_content .lj-st-hero__lead {
		margin-top: 18px;
		font-size: 44px;
		line-height: 1.42;
	}

	.post_content .lj-st-hero__body {
		max-width: none;
		margin-top: 6px;
	}

	.post_content .lj-st-hero__body p {
		font-size: 15.5px;
		line-height: 2;
	}

	.post_content .lj-st-hero:has(.lj-st-hero__ph) {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-areas: "head ph" "body ph";
	}

	.post_content .lj-st-hero:has(.lj-st-hero__ph) .lj-st-hero__ph {
		margin: 0;
	}

	.post_content .lj-st-hero:has(.lj-st-hero__ph) .lj-st-hero__ph img {
		aspect-ratio: 4 / 3;
	}

	.post_content .lj-st-hero:has(.lj-st-hero__ph) .lj-st-hero__body {
		margin-top: 26px;
	}
}

/* ---------------------------------------------------------------
   支援体制
   --------------------------------------------------------------- */
.lj-st-org {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	margin: 20px 0 0;
}

@media (min-width: 600px) {
	.lj-st-org {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}
}

@media (min-width: 960px) {
	.lj-st-org {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px;
	}

	/* 人数がいちばん多い領域を左の縦長に置く。箱の高さがそのまま層の厚みになる */
	.lj-st-area--lead {
		grid-column: 1;
		grid-row: span 2;
	}
}

.lj-st-area {
	padding: 17px 15px 15px;
	background: var(--lj-st-surface);
	border: 1px solid var(--lj-st-line);
	border-radius: var(--lj-st-radius);
}

.post_content .lj-st-org .lj-st-area__h {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--lj-st-ink);
}

.post_content .lj-st-org .lj-st-area__link {
	display: inline-flex;
	align-items: baseline;
	gap: 7px;
	min-height: 28px;
	color: var(--lj-st-ink);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color .18s ease, border-color .18s ease;
}

.post_content .lj-st-org .lj-st-area__link:hover {
	color: var(--lj-st-cyan-d);
	border-bottom-color: var(--lj-st-cyan-d);
}

.lj-st-area__link:focus-visible {
	outline: 2px solid var(--lj-st-cyan);
	outline-offset: 3px;
}

.lj-st-area__arw {
	font-size: 13px;
	font-weight: 400;
	color: var(--lj-st-cyan-d);
}

.post_content .lj-st-org .lj-st-area__d {
	margin: 5px 0 0;
	font-size: 12px;
	line-height: 1.8;
	color: var(--lj-st-muted);
	word-break: auto-phrase;
}

.post_content .lj-st-org .lj-st-area__l {
	display: grid;
	gap: 6px;
	margin: 12px 0 0;
}

.post_content .lj-st-org .lj-st-mem {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 10px;
	padding: 8px 11px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--lj-st-ink);
	background: var(--lj-st-bg);
	border: 1px solid var(--lj-st-line);
	border-radius: 3px;
}

.lj-st-mem__n {
	white-space: nowrap;
}

.lj-st-mem__r {
	font-size: 12px;
	font-weight: 500;
	line-height: 1.6;
	color: var(--lj-st-muted);
}

/* ---------------------------------------------------------------
   カード（社員・パートナー共通）
   --------------------------------------------------------------- */
.lj-st-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	align-items: stretch;
	margin-top: 22px;
}

@media (min-width: 600px) {
	.lj-st-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 22px;
	}
}

@media (min-width: 960px) {
	.lj-st-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.post_content .lj-st-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	overflow: hidden;
	color: inherit;
	text-align: left;
	text-decoration: none;
	background: var(--lj-st-surface);
	border: 1px solid var(--lj-st-line);
	border-radius: var(--lj-st-radius);
	box-shadow: 0 1px 2px rgba(18, 0, 62, .04);
}

/* JavaScript が動くとボタン、動かないとページ内リンク。どちらも同じ見た目にする */
.post_content button.lj-st-card {
	margin: 0;
	padding: 0;
	font: inherit;
	-webkit-appearance: none;
	appearance: none;
}

.post_content a.lj-st-card,
.post_content button.lj-st-card {
	cursor: pointer;
	transition: background-color .18s ease, border-color .18s ease;
}

.post_content a.lj-st-card:hover,
.post_content button.lj-st-card:hover {
	color: inherit;
	background: var(--lj-st-wash);
	border-color: rgba(18, 0, 62, .2);
}

.post_content a.lj-st-card:focus-visible,
.post_content button.lj-st-card:focus-visible {
	outline: 2px solid var(--lj-st-cyan);
	outline-offset: 2px;
}

.post_content button.lj-st-card[aria-expanded="true"] {
	background: var(--lj-st-wash);
	border-color: var(--lj-st-ink);
}

.lj-st-card__ph {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #e9edf2;
}

.post_content .lj-st-card__ph img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

/* 写真が無い人は淡い地に姓の1文字。写真のある人より目立たせない */
.lj-st-card__ph--none {
	display: grid;
	place-items: center;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: .04em;
	color: rgba(18, 0, 62, .28);
	background: var(--lj-st-wash);
	border-bottom: 1px solid var(--lj-st-line-2);
}

.lj-st-card__b {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 6px;
	padding: 13px 12px 14px;
}

@media (min-width: 600px) {
	.lj-st-card__b {
		gap: 8px;
		padding: 16px 16px 18px;
	}
}

.post_content .lj-st-card__n {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.55;
	color: var(--lj-st-ink);
}

/* 肩書きは語の途中で割らない。「／」前後の空白で折り返し、入らない語だけ強制的に折る */
.post_content .lj-st-card__r {
	font-size: 12px;
	line-height: 1.6;
	color: var(--lj-st-muted);
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.lj-st-card__s {
	margin-top: 2px;
	font-size: 12.5px;
	line-height: 1.8;
	color: var(--lj-st-text);
	word-break: auto-phrase;
}

@media (min-width: 600px) {
	.post_content .lj-st-card__n {
		font-size: 16px;
	}

	.lj-st-card__s {
		font-size: 13px;
	}
}

/* 担当領域。丸いタグ（ピル）にしない。余白だけで並べる */
.lj-st-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0 14px;
}

.lj-st-tags__i {
	white-space: nowrap;
	font-size: 11.5px;
	font-weight: 700;
	line-height: 1.8;
	color: var(--lj-st-ink-2);
}

@media (min-width: 600px) {
	.lj-st-tags__i {
		font-size: 12px;
	}
}

.lj-st-card__f {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-height: 34px;
	margin-top: auto;
	padding-top: 10px;
	font-size: 12px;
	font-weight: 700;
	color: var(--lj-st-cyan-d);
	border-top: 1px solid var(--lj-st-line);
}

/* ＋／− ＝ その場で開く（→ ＝ 別ページへ移動、と区別する） */
.lj-st-pm {
	position: relative;
	flex: none;
	width: 13px;
	height: 13px;
}

.lj-st-pm::before,
.lj-st-pm::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background: var(--lj-st-cyan-d);
	border-radius: 1px;
	transform: translate(-50%, -50%);
	transition: opacity .2s ease, transform .2s ease;
}

.lj-st-pm::before {
	width: 13px;
	height: 1.5px;
}

.lj-st-pm::after {
	width: 1.5px;
	height: 13px;
}

/* JavaScript が無いときはページ内リンクなので、開閉の記号を出さない */
.lj-st-members:not(.is-js) .lj-st-pm {
	display: none;
}

.lj-st-card[aria-expanded="true"] .lj-st-pm::after {
	opacity: 0;
	transform: translate(-50%, -50%) rotate(90deg);
}

/* ---------------------------------------------------------------
   プロフィール
   JavaScript が無いとき：カードの下に全員ぶん並ぶ
   JavaScript があるとき：開いたカードの行の直下へ移して1人ぶんだけ出す
   --------------------------------------------------------------- */
.lj-st-profiles {
	display: grid;
	gap: 16px;
	margin-top: 24px;
}

.lj-st-members.is-js .lj-st-profiles {
	display: none;
}

.lj-st-profile {
	padding: 22px 18px;
	background: var(--lj-st-surface);
	border: 1px solid var(--lj-st-line);
	border-radius: var(--lj-st-radius);
	scroll-margin-top: 100px;
}

.lj-st-panel .lj-st-profile {
	padding: 0;
	border: 0;
}

.lj-st-panel {
	grid-column: 1 / -1;
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .24s ease-in-out; /* 状態変化：開閉 */
}

.lj-st-panel.is-open {
	grid-template-rows: 1fr;
}

.lj-st-panel__clip {
	min-height: 0;
	overflow: hidden;
}

.lj-st-panel__box {
	position: relative;
	margin: 14px 0 2px;
	padding: 22px 18px;
	background: var(--lj-st-surface);
	border: 1px solid var(--lj-st-ink);
	border-radius: var(--lj-st-radius);
}

/* 開いたカードを指す▲ */
.lj-st-panel__box::before {
	content: "";
	position: absolute;
	top: -8px;
	left: var(--lj-st-arrow-x, 40px);
	width: 14px;
	height: 14px;
	margin-left: -7px;
	background: var(--lj-st-surface);
	border-top: 1px solid var(--lj-st-ink);
	border-left: 1px solid var(--lj-st-ink);
	transform: rotate(45deg);
}

@media (min-width: 600px) {
	.lj-st-profile,
	.lj-st-panel__box {
		padding: 28px 28px 24px;
	}
}

.lj-st-pn {
	display: grid;
	gap: 20px;
}

@media (min-width: 960px) {
	.lj-st-pn {
		grid-template-columns: 250px minmax(0, 1fr);
		gap: 40px;
	}
}

.lj-st-pn__id {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.post_content .lj-st-members .lj-st-pn__n {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--lj-st-ink);
}

.post_content .lj-st-members .lj-st-pn__r {
	font-size: 12.5px;
	line-height: 1.7;
	color: var(--lj-st-muted);
}

.post_content .lj-st-members .lj-st-pn__lead {
	margin-top: 10px;
	font-size: 14px;
	line-height: 1.95;
	color: var(--lj-st-text);
	word-break: auto-phrase;
}

.lj-st-dl {
	display: grid;
	gap: 18px;
}

@media (min-width: 960px) {
	.lj-st-dl {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px 36px;
	}
}

.lj-st-dl__i {
	display: grid;
	align-content: start;
	gap: 5px;
}

.post_content .lj-st-members .lj-st-dl dt {
	padding-bottom: 5px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.6;
	color: var(--lj-st-ink-2);
	border-bottom: 1px solid var(--lj-st-line);
}

.post_content .lj-st-members .lj-st-dl dd {
	font-size: 13.5px;
	line-height: 1.95;
	color: var(--lj-st-text);
	word-break: auto-phrase;
}

.post_content .lj-st-members .lj-st-dl dd ul {
	padding-left: 1.15em;
	list-style: disc;
}

.post_content .lj-st-members .lj-st-dl dd li {
	margin: 0 0 .25em;
}

.lj-st-dl dd li::marker {
	color: var(--lj-st-ink-2);
}

.post_content .lj-st-members .lj-st-dl dd a {
	font-weight: 700;
	color: var(--lj-st-ink);
	text-decoration: underline;
	text-decoration-color: rgba(18, 0, 62, .35);
	text-underline-offset: 3px;
}

.post_content .lj-st-members .lj-st-dl dd a:hover {
	color: var(--lj-st-cyan-d);
}

.lj-st-panel__close {
	min-height: 40px;
	margin-top: 22px;
	padding: 9px 16px;
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	color: var(--lj-st-muted);
	cursor: pointer;
	background: none;
	border: 1px solid var(--lj-st-line);
	border-radius: 3px;
}

.lj-st-panel__close:hover {
	color: var(--lj-st-ink);
	background: var(--lj-st-wash);
}

.lj-st-panel__close:focus-visible {
	outline: 2px solid var(--lj-st-cyan);
	outline-offset: 2px;
}

/* ---------------------------------------------------------------
   パートナー：社員より一段小さく、開閉しない
   --------------------------------------------------------------- */
.lj-st-grid--sm {
	gap: 12px;
}

@media (min-width: 600px) {
	.lj-st-grid--sm {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 18px;
	}
}

.lj-st-card--sm .lj-st-card__b {
	gap: 5px;
	padding: 11px 11px 13px;
}

.post_content .lj-st-card--sm .lj-st-card__n {
	font-size: 14px;
}

.post_content .lj-st-card--sm .lj-st-card__r {
	font-size: 11.5px;
}

.lj-st-card--sm .lj-st-card__ph--none {
	font-size: 22px;
}

@media (min-width: 600px) {
	.lj-st-card--sm .lj-st-card__b {
		padding: 13px 13px 15px;
	}

	.post_content .lj-st-card--sm .lj-st-card__n {
		font-size: 15px;
	}
}

/* 活動名：本名の下に小さく */
.post_content .lj-st-card__alias {
	margin-top: -3px;
	font-size: 11.5px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--lj-st-ink-2);
}

/* フォロワー数の行＝本人のプロフィールへのリンク。タップ領域は高さ40px以上＋間隔8px */
.post_content .lj-st-partners .lj-st-stats {
	display: grid;
	gap: 8px;
	margin: 4px 0 6px;
}

.post_content .lj-st-partners .lj-st-stats__a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-height: 40px;
	padding: 0 9px;
	font-size: 11.5px;
	line-height: 1.75;
	color: var(--lj-st-muted);
	text-decoration: none;
	background: var(--lj-st-bg);
	border: 1px solid var(--lj-st-line);
	border-radius: 3px;
	font-variant-numeric: tabular-nums;
	transition: border-color .18s ease;
}

.post_content .lj-st-partners a.lj-st-stats__a:hover {
	border-color: var(--lj-st-cyan-d);
}

.post_content .lj-st-partners a.lj-st-stats__a:hover b {
	color: var(--lj-st-cyan-d);
}

.lj-st-stats__a:focus-visible {
	outline: 2px solid var(--lj-st-cyan);
	outline-offset: 2px;
}

.lj-st-stats__a b {
	font-weight: 700;
	white-space: nowrap;
	color: var(--lj-st-ink);
}

.lj-st-stats__ext {
	margin-left: 4px;
	font-weight: 400;
	color: var(--lj-st-cyan-d);
}

/* 狭い幅（カード2列）では「サービス名／人数」を縦に積む。横並びだと↗だけが次の行に落ちるため */
@media (max-width: 599px) {
	.post_content .lj-st-partners .lj-st-stats__a {
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		gap: 0;
		padding: 5px 9px;
		line-height: 1.45;
	}
}

/* ---------------------------------------------------------------
   ご相談の流れ（CONTACT の手前）
   --------------------------------------------------------------- */
.post_content .lj-st-flow {
	max-width: 44em;
	margin: 0;
}

.post_content h2.lj-st-flow__h {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.55;
	color: var(--lj-st-ink);
}

.post_content .lj-st-flow__p {
	margin: 12px 0 0;
	font-size: 14.5px;
	line-height: 1.95;
	color: var(--lj-st-text);
	word-break: auto-phrase;
}

.post_content .lj-st-next {
	margin: 20px 0 0;
}

.post_content .lj-st-next a {
	display: flex;
	align-items: center;
	gap: 9px;
	min-height: 44px;
	padding: 13px 0;
	font-size: 14.5px;
	font-weight: 700;
	color: var(--lj-st-ink);
	text-decoration: none;
	box-shadow: none;
	border-top: 1px solid var(--lj-st-line);
	border-bottom: 1px solid var(--lj-st-line);
}

.post_content .lj-st-next a::after {
	content: "→" / "";
	font-weight: 400;
	color: var(--lj-st-cyan-d);
}

.post_content .lj-st-next a:hover {
	color: var(--lj-st-cyan-d);
}

.post_content .lj-st-next a:focus-visible {
	outline: 2px solid var(--lj-st-cyan);
	outline-offset: 2px;
}

@media (min-width: 960px) {
	.post_content h2.lj-st-flow__h {
		font-size: 24px;
	}

	.post_content .lj-st-flow__p {
		font-size: 15px;
	}
}

/* ---------------------------------------------------------------
   実画面で見つけた調整（2026-09-15 ローカルQA）
   --------------------------------------------------------------- */

/* 冒頭セクションが本文の先頭にあるとき、テーマが本文の上に足す余白を詰める（会社概要ページと同じ扱い） */
.l-content:has(.lj-st-sec--hero) {
	padding-top: 0;
}

.post_content:has(> .lj-st-sec--hero:first-child) {
	margin-top: 0;
}

/* 英字の大見出し（64px）はスマホ幅に収まらず「PARTNER / S」と語の途中で折れるため、狭い幅だけ小さくする */
@media (max-width: 599px) {
	.post_content .lj-st-sec .is-style-section_ttl .swl-fz[style*="64px"] {
		font-size: 44px !important;
	}
}

/* プロフィールの導入文は列が細い。文節で折ると固有名詞の前で行が大きく空くため、普通に折り返して行を埋める */
.post_content .lj-st-members .lj-st-pn__lead {
	word-break: normal;
}

@media (min-width: 960px) {
	.lj-st-pn {
		grid-template-columns: 290px minmax(0, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	.lj-st-panel,
	.lj-st-pm::before,
	.lj-st-pm::after,
	.lj-st-card,
	.lj-st-area__link,
	.lj-st-stats__a {
		transition: none !important;
	}
}
