/*
 * sKnow / sKnow integration layer.
 * sKnow feature selectors are retained for content compatibility while
 * sKnow remains the authority for the site shell, typography and colours.
 */
:root {
	--sknow-color-main: var(--sknow-accent);
	--sknow-color-link: var(--sknow-link);
	--sknow-color-text: var(--sknow-text);
	--sknow-color-bg: var(--sknow-bg);
	--sknow-color-border: var(--line, rgba(22, 24, 29, .14));
}

/* Prevent imported content styles from redefining sKnow's outer layout. */
body,
.site,
.site-content,
.content-area,
.site-main {
	font-family: var(--sknow-font-family);
	color: var(--sknow-text);
}

/* Archive cards use sKnow's spacing without sKnow's single-entry margins. */
.entry--archive .entry-header {
	margin-bottom: 0;
}

/* Keep the listing date and categories in one inline meta row. On following
   lines, categories can use the full width from the start of the row. */
.entry--archive .entry-meta--listing {
	display: block;
}

.entry--archive .entry-meta__row {
	display: block;
	overflow-wrap: anywhere;
}

.entry--archive .entry-meta__row .meta-date {
	display: inline;
	margin-right: 16px;
}

.entry--archive .entry-meta__row .meta-cats {
	display: inline;
}

.entry--archive .entry-meta--listing > .meta-author {
	display: block;
	margin-top: 4px;
}

/* ヘッダーは position:sticky で通常フロー内に場所を確保するため、
   旧・固定ヘッダー用の「ヘッダー高さ分の padding」クリアランスは不要。
   一覧・トップとも通常の上余白のみとする。 */
.site-container.sknow-list-page,
.site-container.sknow-front-page {
	padding-top: 40px;
}

/* sKnow header controls adapted to sKnow's existing header markup. */
.site-header .custom-logo {
	height: var(--sknow-logo-height-pc, 50px);
	max-height: none;
	width: auto;
}

.site-header .site-branding {
	padding-top: var(--sknow-logo-pad-y, 0px);
	padding-bottom: var(--sknow-logo-pad-y, 0px);
}

.site-header.is-solid {
	/* 追従前は必ず不透明。透過度は main.v6.css の `.is-stuck` にだけ適用する。 */
	background-color: var(--sknow-header-bg, #f5f3ee);
	color: var(--sknow-header-text, var(--header-text, var(--ink)));
}

.site-header.is-solid a {
	color: var(--sknow-header-link, var(--header-text, var(--ink)));
}

.site-header .primary-nav .mi-icon,
.site-header .primary-nav .mi-label {
	color: inherit;
	opacity: 1;
}

.site-header .mi-menu-text {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 0;
	line-height: 1.15;
}

.site-header .mi-menu-text .mi-label {
	font-size: 1.1em;
	line-height: 1.15;
}

.site-header .mi-sub-label {
	display: block;
	margin-top: 5px;
	color: inherit;
	font-size: .78em;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .12em;
	white-space: nowrap;
	opacity: .72;
}

.site-header .primary-nav .sub-menu .mi-menu-text,
.site-header .global-nav__list--drawer .mi-menu-text {
	align-items: flex-start;
	text-align: left;
}

.site-header .global-nav__list--drawer .mi-sub-label {
	margin-top: 5px;
	font-size: .76em;
}

.site-header .global-nav__list--drawer > li > a {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
}

.site-header .global-nav__list--drawer > li > a > .mi-icon {
	flex: 0 0 1.25em;
	width: 1.25em;
	margin: 0;
	font-size: 1em;
	line-height: 1;
	text-align: center;
}

.site-header .primary-nav a:hover,
.site-header .primary-nav .current-menu-item > a,
.site-header .primary-nav .current-menu-ancestor > a,
.site-header .primary-nav .current-menu-parent > a {
	color: var(--sknow-header-link-hover, var(--sknow-link-hover));
}

.site-header .primary-nav a:hover .mi-icon,
.site-header .primary-nav a:hover .mi-label,
.site-header .primary-nav .current-menu-item > a .mi-icon,
.site-header .primary-nav .current-menu-item > a .mi-label,
.site-header .primary-nav .current-menu-ancestor > a .mi-icon,
.site-header .primary-nav .current-menu-ancestor > a .mi-label,
.site-header .primary-nav .current-menu-parent > a .mi-icon,
.site-header .primary-nav .current-menu-parent > a .mi-label {
	color: inherit;
}

/* PCグローバルメニューのホバーアクション。
 * 色は既存のヘッダー用ホバー色を共有し、形状変化は transform / shadow で
 * レイアウトを動かさずに表現する。カレント項目とキーボードフォーカスにも適用。 */
@media (min-width: 1025px) {
	.site-header .primary-nav > ul > li > a {
		transition:
			color var(--sknow-nav-hover-duration, .25s) ease,
			background-color var(--sknow-nav-hover-duration, .25s) ease,
			box-shadow var(--sknow-nav-hover-duration, .25s) ease,
			transform var(--sknow-nav-hover-duration, .25s) ease,
			letter-spacing var(--sknow-nav-hover-duration, .25s) ease;
	}

	.site-header .primary-nav > ul > li > a .mi-icon {
		transform: none;
		transition:
			color var(--sknow-nav-hover-duration, .25s) ease,
			transform var(--sknow-nav-hover-duration, .25s) ease,
			opacity var(--sknow-nav-hover-duration, .25s) ease;
	}

	body:not(.sknow-nav-hover-none) .site-header .primary-nav > ul > li > a:focus-visible {
		color: var(--sknow-header-link-hover, var(--sknow-link-hover));
	}

	body.sknow-nav-hover-underline-center .site-header .primary-nav > ul > li > a::after,
	body.sknow-nav-hover-underline-left .site-header .primary-nav > ul > li > a::after {
		display: block;
		left: 18px;
		bottom: 4px;
		width: calc(100% - 36px);
		height: 1px;
		transform: scaleX(0);
		transition: transform var(--sknow-nav-hover-duration, .25s) ease;
	}

	body.sknow-nav-hover-underline-center .site-header .primary-nav > ul > li > a::after {
		transform-origin: center;
	}

	body.sknow-nav-hover-underline-left .site-header .primary-nav > ul > li > a::after {
		transform-origin: left;
	}

	body.sknow-nav-hover-underline-center .site-header .primary-nav > ul > li > a:is(:hover, :focus-visible)::after,
	body.sknow-nav-hover-underline-center .site-header .primary-nav > ul > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent) > a::after,
	body.sknow-nav-hover-underline-left .site-header .primary-nav > ul > li > a:is(:hover, :focus-visible)::after,
	body.sknow-nav-hover-underline-left .site-header .primary-nav > ul > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent) > a::after {
		transform: scaleX(1);
	}

	body.sknow-nav-hover-lift .site-header .primary-nav > ul > li > a:is(:hover, :focus-visible),
	body.sknow-nav-hover-lift .site-header .primary-nav > ul > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent) > a {
		transform: translateY(-3px);
	}

	body.sknow-nav-hover-background .site-header .primary-nav > ul > li > a:is(:hover, :focus-visible),
	body.sknow-nav-hover-background .site-header .primary-nav > ul > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent) > a {
		background-color: color-mix(in srgb, var(--sknow-header-link-hover, var(--sknow-link-hover)) 12%, transparent);
		border-radius: var(--sknow-radius, 0);
	}

	body.sknow-nav-hover-icon-scale .site-header .primary-nav > ul > li > a:is(:hover, :focus-visible) .mi-icon,
	body.sknow-nav-hover-icon-scale .site-header .primary-nav > ul > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent) > a .mi-icon {
		transform: scale(1.12);
	}

	body.sknow-nav-hover-letter-spacing .site-header .primary-nav > ul > li > a:is(:hover, :focus-visible),
	body.sknow-nav-hover-letter-spacing .site-header .primary-nav > ul > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent) > a {
		letter-spacing: .18em;
	}

	body.sknow-nav-hover-outline .site-header .primary-nav > ul > li > a:is(:hover, :focus-visible),
	body.sknow-nav-hover-outline .site-header .primary-nav > ul > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent) > a {
		border-radius: var(--sknow-radius, 0);
		box-shadow: inset 0 0 0 1px currentColor;
	}

	/* 背景・囲み線は隣の項目と連結して見えないよう、常時同じ間隔を確保する。 */
	body.sknow-nav-hover-background .site-header .primary-nav > ul > li,
	body.sknow-nav-hover-outline .site-header .primary-nav > ul > li {
		padding-inline: 3px;
	}

	/* 「なし」は通常項目のホバー色も変えない。カレント項目の色は維持する。 */
	body.sknow-nav-hover-none .site-header .primary-nav > ul > li:not(.current-menu-item):not(.current-menu-ancestor):not(.current-menu-parent) > a:is(:hover, :focus-visible) {
		color: var(--sknow-header-link, var(--header-text, var(--ink)));
	}

	/* シンプルメニューでも下線が文字幅に近く見えるよう内側へ収める。 */
	body.sknow-nav-simple.sknow-nav-hover-underline-center .site-header .primary-nav > ul > li > a::after,
	body.sknow-nav-simple.sknow-nav-hover-underline-left .site-header .primary-nav > ul > li > a::after {
		left: 14px;
		bottom: -6px;
		width: calc(100% - 28px);
	}
}

/* PCヘッダーの3配置：左＋右メニュー／左＋下メニュー／中央＋下メニュー。 */
@media (min-width: 861px) {
	body.sknow-header-menu-below .site-header.is-solid {
		padding-bottom: 0;
	}

	body.sknow-header-menu-below .site-header .header-inner {
		flex-wrap: wrap;
		row-gap: 0;
	}

	body.sknow-header-menu-below .site-header .site-branding {
		flex: 0 0 100%;
		width: 100%;
	}

	body.sknow-header-layout-left-below .site-header .site-branding {
		align-items: flex-start;
		text-align: left;
	}

	body.sknow-header-layout-center .site-header .site-branding {
		align-items: center;
		text-align: center;
	}

	body.sknow-header-menu-below .site-header .primary-nav {
		position: relative;
		flex: 0 0 100%;
		width: 100%;
		margin: var(--sknow-header-pad-y, 22px) 0 0;
		padding-top: 0;
		padding-bottom: 0;
	}

	/* スクロール開始と同時に、2段目のメニューだけを隠してヘッダーを縮める。 */
	body.sknow-header-menu-below .site-header.is-stuck {
		padding-bottom: 14px;
	}

	body.sknow-header-menu-below .site-header.is-stuck .primary-nav {
		display: none;
	}

	body.sknow-header-menu-below .site-header .primary-nav::before {
		content: "";
		position: absolute;
		inset: 0 auto 0 50%;
		width: 100vw;
		margin-left: -50vw;
		background-color: var(--sknow-nav-bg, transparent);
		background-image: var(--sknow-nav-bg-image, none);
		background-position: center;
		background-size: cover;
		z-index: 0;
	}

	body.sknow-header-menu-below.sknow-nav-bg-contained .site-header .primary-nav::before {
		left: 0;
		width: 100%;
		margin-left: 0;
	}

	body.sknow-front-nav-transparent .site-header .primary-nav::before {
		display: none;
	}

	body.sknow-header-menu-below .site-header .primary-nav > ul {
		position: relative;
		width: 100%;
		z-index: 1;
	}

	body.sknow-header-menu-below.sknow-navalign-center .site-header .primary-nav > ul {
		justify-content: center;
	}

	body.sknow-header-menu-below.sknow-navalign-left .site-header .primary-nav > ul {
		justify-content: flex-start;
	}

	body.sknow-header-menu-below.sknow-nav-equal .site-header .primary-nav > ul {
		gap: 0;
	}

	body.sknow-header-menu-below.sknow-nav-equal .site-header .primary-nav > ul > li {
		flex: 1 1 0;
		min-width: 0;
	}

	body.sknow-header-menu-below.sknow-nav-equal .site-header .primary-nav > ul > li > a {
		width: 100%;
	}

	/* シンプル表示はアイコンを隠し、日本語＋英語サブラベルをコンパクトに見せる。 */
	body.sknow-nav-simple .site-header .primary-nav > ul > li > a > .mi-icon {
		display: none;
	}

	body.sknow-nav-simple .site-header .primary-nav > ul > li > a {
		min-width: 0;
		height: auto;
		padding: 8px 18px;
		font-size: var(--sknow-nav-font-size, 13px);
		border-left: 0;
		border-right: 0;
	}

	body.sknow-nav-simple.sknow-header-menu-below .site-header .primary-nav {
		padding-top: var(--sknow-nav-pad-y, 10px);
		padding-bottom: var(--sknow-nav-pad-y, 10px);
	}
}

.site-header .burger span {
	background: var(--sknow-header-text, var(--header-text, var(--ink)));
}

.footer-top .footer-col .widget-title {
	font-size: clamp(18px, 1.3vw, 22px);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--sknow-footer-text, var(--paper));
	margin-bottom: 20px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

/* sKnowの3カラム構成を維持しながら、sKnowのフッター設定用セレクターを有効化する。 */
.footer-widgets.sknow-footer-widgets {
	display: grid;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	gap: clamp(30px, 5vw, 70px);
}
.footer-widgets.sknow-footer-widgets.has-1-columns { grid-template-columns: minmax(0, 1fr); }
.footer-widgets.sknow-footer-widgets.has-2-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.footer-widgets.sknow-footer-widgets.has-3-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* フッターの配色・本文サイズ・コピーライトもカスタマイザー値へ統一。 */
.site-footer {
	background: var(--sknow-footer-bg);
	color: var(--sknow-footer-text);
	font-size: var(--sknow-footer-font-size-sp);
}
.site-footer .footer-col li,
.site-footer .footer-bottom { font-size: inherit; }
.site-footer .footer-bottom { color: var(--sknow-footer-text); }

.site-footer .footer-nav {
	padding-top: 30px;
}

.site-footer .footer-nav__list {
	margin-bottom: 0;
}

.site-footer .footer-nav + .footer-bottom {
	padding-top: 22px;
}
.site-footer a:not(.wp-block-button__link):not(.sknow-btn) { color: var(--sknow-footer-link); }
.site-footer a:not(.wp-block-button__link):not(.sknow-btn):hover { color: var(--sknow-footer-link-hover); }

/* テキストに付随するアイコンは、その場所の通常色／リンク色／ホバー色に追従。 */
body.sknow-fwcat-icon .site-footer .footer-widgets .widget_categories li > a::before,
body.sknow-fwcat-icon .site-footer .footer-widgets .wp-block-categories li > a::before,
body.sknow-fwcat-arrow .site-footer .footer-widgets .widget_categories li > a::before,
body.sknow-fwcat-arrow .site-footer .footer-widgets .wp-block-categories li > a::before,
.site-footer .widget a .mi-icon,
.site-footer .widget a > i,
.site-footer .widget a > svg {
	color: currentColor;
}

/* フッターウィジェット見出しデザイン。見出し文字色は常にフッターテキスト色。 */
body.sknow-fwtitle-underline .footer-top .footer-col .widget-title {
	padding-bottom: 8px;
	border-bottom: 2px solid var(--sknow-fwtitle-accent, var(--sknow-accent));
}
body.sknow-fwtitle-border-left .footer-top .footer-col .widget-title {
	padding-left: 12px;
	border-left: 4px solid var(--sknow-fwtitle-accent, var(--sknow-accent));
}
body.sknow-fwtitle-fill .footer-top .footer-col .widget-title {
	padding: 6px 12px;
	background: var(--sknow-fwtitle-accent, var(--sknow-accent));
	color: var(--sknow-footer-text);
	border-radius: var(--sknow-radius);
}
body.sknow-fwtitle-lines .footer-top .footer-col .widget-title {
	display: flex;
	align-items: center;
	gap: 12px;
	text-align: center;
}
body.sknow-fwtitle-lines .footer-top .footer-col .widget-title::before,
body.sknow-fwtitle-lines .footer-top .footer-col .widget-title::after {
	content: "";
	flex: 1;
	height: 2px;
	background: var(--sknow-fwtitle-accent, var(--sknow-accent));
}

@media (min-width: 768px) {
	.site-footer { font-size: var(--sknow-footer-font-size-pc); }
}

@media (max-width: 1024px) {
	.footer-widgets.sknow-footer-widgets.has-3-columns { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
	.footer-widgets.sknow-footer-widgets.has-2-columns { grid-template-columns: 1fr; }
}

/* Every page starts at the full header size and contracts on the first scroll.
 * `is-stuck` is controlled by sKnow's lightweight scroll handler. */
.site-header.is-solid:not(.is-stuck) {
	padding-top: 22px;
	padding-bottom: 22px;
}

.site-header.is-stuck {
	padding-top: 14px;
	padding-bottom: 14px;
}

@media (min-width: 1025px) {
	.site-header .header-search-toggle,
	.site-header .header-icon-link,
	.site-header .menu-toggle,
	#global-nav,
	.global-nav-overlay {
		display: none !important;
	}
	body.sknow-sticky-pc .site-header {
		position: sticky;
		top: 0;
	}
	body.logo-center .site-header .header-inner {
		flex-wrap: wrap;
		justify-content: center;
	}
	body.logo-center .site-header .site-branding {
		flex: 0 0 100%;
		text-align: center;
	}
	body.logo-center .site-header .primary-nav {
		flex: 0 0 100%;
	}
	body.logo-center .site-header .primary-nav > ul {
		justify-content: center;
	}
	body:not(.sknow-sticky-pc) .site-header {
		position: relative;
	}
}

@media (max-width: 1024px) {
	body.sknow-sticky-sp .site-header {
		position: sticky;
		top: 0;
	}
	.site-header .custom-logo {
		height: var(--sknow-logo-height-sp, 40px);
	}
	.site-header .primary-nav {
		display: none;
	}
	.site-header .global-nav {
		background: color-mix(in srgb, var(--sknow-drawer-bg, var(--sknow-header-bg)) 92%, transparent);
		color: var(--sknow-drawer-text, var(--sknow-header-text));
	}
	.site-header .global-nav__list a,
	.site-header .drawer-widgets,
	.site-header .drawer-widgets a,
	.site-header .drawer-widgets .widget-title {
		color: var(--sknow-drawer-text, var(--sknow-header-text));
	}
	.site-header .global-nav__list a:hover,
	.site-header .global-nav__list .current-menu-item > a,
	.site-header .drawer-widgets a:hover {
		color: var(--sknow-header-link-hover, var(--sknow-link-hover));
	}
	.site-header .global-nav__list li,
	.site-header .drawer-widgets {
		border-color: color-mix(in srgb, var(--sknow-drawer-text, var(--sknow-header-text)) 12%, transparent);
	}
	body.sp-center-sm .site-header .header-inner,
	body.sp-center-ms .site-header .header-inner {
		position: relative;
		justify-content: center;
	}
	body.sp-center-sm .site-header .site-branding,
	body.sp-center-ms .site-header .site-branding {
		margin: 0 auto;
		text-align: center;
	}
	body:not(.sknow-sticky-sp) .site-header {
		position: relative;
	}
}

/* Preserve the WordPress admin-bar offset after overriding sKnow's sticky
 * positioning with sKnow's fixed-header model. */
body.admin-bar.sknow-sticky-pc .site-header,
body.admin-bar.sknow-sticky-sp .site-header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar.sknow-sticky-sp .site-header {
		top: 46px;
	}
}

/* 600px以下ではWordPress管理ツールバーがスクロールアウトするため、
   stickyヘッダーに管理バー分のオフセットを残さない。 */
@media screen and (max-width: 600px) {
	body.admin-bar.sknow-sticky-sp .site-header {
		top: 0;
	}
}

.entry-content .sknow-post-list,
.entry-content .sknow-tabs,
.entry-content .sknow-table-wrap,
.entry-content .sknow-toc,
.entry-content .sknow-capbox,
.entry-content .sknow-button-wrap {
	max-width: 100%;
}

/*
 * Keep sKnow's reading measure consistent. sKnow normally gives ordinary
 * content, TOC, quotes and wide galleries different widths; in sKnow that
 * makes otherwise related blocks jump horizontally within the article.
 */
.entry-content > p,
.entry-content > h2,
.entry-content > h3,
.entry-content > h4,
.entry-content > h5,
.entry-content > h6,
.entry-content > blockquote,
.entry-content > .wp-block-quote,
.entry-content > .wp-block-gallery,
.entry-content > .blocks-gallery-grid,
.entry-content > .sknow-toc,
.entry-content > .sknow-toc {
	width: 100%;
	max-width: 100%;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

/* Component text should start from the same size as ordinary article text. */
.entry-content > p,
.entry-content > blockquote,
.entry-content > .wp-block-quote {
	font-size: 1em;
}

/* 目次は本文より一段小さくし、情報量が多くても読みやすく収める。 */
.entry-content > .sknow-toc {
	font-size: .9em;
}

/*
 * sKnow centres every direct child of .entry-content. Core blocks such as
 * quote, pullquote, gallery, table and embed later use margin shorthand, which
 * cancels only the horizontal auto margins and leaves the max-width in place.
 * The result is a narrower block pinned to the left. Reassert one consistent
 * content alignment for every ordinary direct child, regardless of block type.
 */
.entry-content > :where(
	:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright)
) {
	margin-left: auto !important;
	margin-right: auto !important;
}

/* 記事本文最上段のアイキャッチを、本文余白を越えて記事枠の左右端まで広げる。 */
.entry-content > .entry-thumbnail--content-main {
	width: auto;
	max-width: none;
	margin-left: calc(-1 * var(--sknow-content-pad-x)) !important;
	margin-right: calc(-1 * var(--sknow-content-pad-x)) !important;
	border-radius: 0;
}
.entry-content > .entry-thumbnail--content-main img {
	border-radius: 0;
}

/* WordPress標準「検索」ウィジェットを確実にコンパクト化する。 */
.widget.widget_search .search-form {
	display: flex !important;
	align-items: stretch !important;
	gap: 8px !important;
}
.widget.widget_search .search-form > label {
	display: block !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	margin: 0 !important;
}
.widget.widget_search .search-form .search-field {
	box-sizing: border-box !important;
	width: 100% !important;
	height: 38px !important;
	min-height: 38px !important;
	max-height: 38px !important;
	margin: 0 !important;
	padding: 5px 10px !important;
	font-size: 13px !important;
	line-height: 1.2 !important;
}
.widget.widget_search .search-form .search-submit {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-width: 58px !important;
	height: 38px !important;
	min-height: 38px !important;
	max-height: 38px !important;
	margin: 0 !important;
	padding: 0 14px !important;
	font-size: 13px !important;
	line-height: 1.2 !important;
}

/* Wide/full blocks fill sKnow's article column without negative padding compensation. */
.entry-content > .alignwide,
.entry-content > .alignfull {
	width: 100%;
	max-width: 100%;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Preserve WordPress' floated image/block alignment semantics. */
.entry-content > .alignleft {
	margin-left: 0 !important;
}

.entry-content > .alignright {
	margin-right: 0 !important;
}

/* Nested galleries must size from their own row, not from article alignment. */
.entry-content .wp-block-gallery > .wp-block-image,
.entry-content .blocks-gallery-grid > .blocks-gallery-item {
	margin-left: 0;
	margin-right: 0;
}

.sknow-toc,
.sknow-table-wrap,
.sknow-profile-widget,
.sknow-banner-widget {
	border-color: var(--line);
	background: var(--white);
}

.sknow-related,
.sknow-author-box {
	border-color: var(--line);
}

.sknow-toc a,
.sknow-post-list a,
.sknow-related a,
.sknow-author-box a {
	color: inherit;
}

.sknow-toc a:hover,
.sknow-post-list a:hover,
.sknow-related a:hover,
.sknow-author-box a:hover {
	color: var(--sknow-link-hover);
}

/* Vertical table headings remain opt-in and scroll safely on small screens. */
.entry-content .sknow-table-scroll,
.entry-content .wp-block-table {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

@media (max-width: 767px) {
	.entry-content .sknow-post-list,
	.entry-content .sknow-tabs,
	.entry-content .sknow-table-wrap {
		width: 100%;
	}
}
