@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template: cocoon-master
Version: 1.2.0
*/

/*
 * SFCBlog site refresh v1
 * The sfc-design-v1 body class scopes the redesign away from wp-admin and
 * Cocoon's editor styles. Existing block class names and markup stay intact.
 */

.sfc-design-v1 {
	--sfc-ink: #293e49;
	--sfc-muted: #56646c;
	--sfc-accent: #16758b;
	--sfc-accent-hover: #105b6d;
	--sfc-paper: #fff;
	--sfc-wash: #f2fafc;
	--sfc-blue-wash: #e5f4f8;
	--sfc-line: #cee2e8;
	--sfc-control: #73838b;
	--sfc-focus: #875410;
	--sfc-radius: 4px;
	color: var(--sfc-ink);
	font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
	font-size: 16px;
	line-height: 1.8;
}

.sfc-design-v1 *,
.sfc-design-v1 *::before,
.sfc-design-v1 *::after {
	box-sizing: border-box;
}

.sfc-design-v1 a {
	color: var(--sfc-accent);
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.sfc-design-v1 a:hover {
	color: var(--sfc-accent-hover);
	text-decoration-thickness: 2px;
}

.sfc-design-v1 a:focus-visible,
.sfc-design-v1 button:focus-visible,
.sfc-design-v1 input:focus-visible,
.sfc-design-v1 summary:focus-visible,
.sfc-design-v1 [tabindex]:focus-visible {
	outline: 3px solid var(--sfc-focus);
	outline-offset: 4px;
}

.sfc-design-v1 img {
	height: auto;
	max-width: 100%;
}

.sfc-design-v1 .wrap,
.sfc-design-v1 #content-in {
	max-width: 1160px;
}

.sfc-design-v1 #content {
	margin-top: 0;
}

.sfc-design-v1 .mobile-footer-menu-buttons {
	display: none !important;
}

.sfc-design-v1 .sfc-skip-link {
	position: absolute;
	z-index: 1000;
	top: -100px;
	left: 16px;
	padding: 10px 14px;
	background: var(--sfc-paper);
	border: 2px solid var(--sfc-focus);
	color: var(--sfc-ink);
}

.sfc-design-v1 .sfc-skip-link:focus {
	top: 8px;
}

/* Header */
.sfc-design-v1 .sfc-site-header {
	background: var(--sfc-paper);
	border-bottom: 1px solid var(--sfc-line);
}

.sfc-design-v1 .sfc-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 86px;
	padding-inline: 24px;
}

.sfc-design-v1 .sfc-brand {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 12px;
	min-height: 44px;
	color: var(--sfc-ink);
	text-decoration: none;
}

.sfc-design-v1 .sfc-brand img {
	width: 48px;
	height: 48px;
}

.sfc-design-v1 .sfc-brand__text,
.sfc-design-v1 .sfc-brand__wordmark,
.sfc-design-v1 .sfc-brand__sub {
	display: block;
}

.sfc-design-v1 .sfc-brand__wordmark {
	display: flex;
	align-items: baseline;
	gap: 7px;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.25;
}

.sfc-design-v1 .sfc-brand__wordmark b {
	color: var(--sfc-accent);
	font-size: 24px;
	font-weight: 800;
	letter-spacing: .04em;
}

.sfc-design-v1 .sfc-brand__sub {
	color: var(--sfc-muted);
	font-size: 10px;
	letter-spacing: .055em;
	line-height: 1.5;
}

.sfc-design-v1 .sfc-desktop-nav,
.sfc-design-v1 .sfc-desktop-nav .sfc-nav-menu {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 20px;
	margin: 0;
	padding: 0;
}

.sfc-design-v1 .sfc-nav-menu {
	list-style: none;
}

.sfc-design-v1 .sfc-nav-menu li {
	margin: 0;
}

.sfc-design-v1 .sfc-desktop-nav a,
.sfc-design-v1 .sfc-mobile-menu a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--sfc-ink);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.sfc-design-v1 .sfc-desktop-nav a:hover,
.sfc-design-v1 .sfc-mobile-menu a:hover {
	color: var(--sfc-accent);
	text-decoration: underline;
}

.sfc-design-v1 .sfc-search-link {
	gap: 5px;
}

.sfc-design-v1 .sfc-mobile-menu {
	display: none;
}

/* Home */
.sfc-home #content-in,
.sfc-home #main {
	width: 100%;
}

.sfc-home #sidebar,
.sfc-home #sidebar-scroll,
.sfc-design-v1.author #sidebar,
.sfc-design-v1.author #sidebar-scroll,
.sfc-design-v1.search #sidebar,
.sfc-design-v1.search #sidebar-scroll {
	display: none;
}

.sfc-design-v1.author #main,
.sfc-design-v1.search #main {
	width: 100%;
}

.sfc-home #main {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0 32px;
}

.sfc-home #content {
	background: var(--sfc-paper);
}

.sfc-home-layout {
	max-width: 1096px;
	margin: 0 auto;
}

.sfc-hero {
	position: relative;
	padding: 28px 0 24px;
	background: var(--sfc-wash);
	box-shadow: 0 0 0 100vmax var(--sfc-wash);
	clip-path: inset(0 -100vmax);
	border-bottom: 1px solid var(--sfc-line);
}

.sfc-eyebrow,
.sfc-profile-intro__eyebrow,
.sfc-author-card__eyebrow {
	margin: 0;
	color: var(--sfc-accent);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
}

.sfc-hero h1 {
	margin: 8px 0 12px;
	font-size: clamp(30px, 3.1vw, 44px);
	font-weight: 750;
	letter-spacing: .01em;
	line-height: 1.5;
}

.sfc-hero h1 span {
	color: var(--sfc-accent);
}

.sfc-hero > p:last-child {
	max-width: 740px;
	margin: 0;
	color: var(--sfc-muted);
	font-size: 16px;
	line-height: 1.9;
}

.sfc-home-section {
	margin-top: 40px;
}

.sfc-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
}

.sfc-section-head h2 {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 24px;
	letter-spacing: .01em;
}

.sfc-section-head h2 > span {
	color: var(--sfc-accent);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .06em;
}

.sfc-section-head > a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	font-size: 14px;
}

.sfc-latest {
	display: grid;
	grid-template-columns: minmax(0, 1.16fr) minmax(0, 1fr);
	gap: 32px;
}

.sfc-lead-post,
.sfc-compact-post,
.sfc-purpose-grid > a,
.sfc-row-link {
	color: var(--sfc-ink);
	text-decoration: none;
}

.sfc-lead-post {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	background: var(--sfc-wash);
	border: 1px solid var(--sfc-line);
	border-top: 3px solid var(--sfc-accent);
}

.sfc-lead-post.has-image {
	display: grid;
	grid-template-columns: minmax(180px, .65fr) minmax(0, 1fr);
	align-items: start;
	gap: 16px;
	padding: 16px;
}

.sfc-lead-post__image {
	overflow: hidden;
	background: var(--sfc-blue-wash);
	aspect-ratio: 16 / 9;
}

.sfc-lead-post__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sfc-lead-post__copy {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 20px 24px;
}

.sfc-lead-post.has-image .sfc-lead-post__copy {
	min-width: 0;
	padding: 0;
}

.sfc-card-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px 14px;
	color: var(--sfc-muted);
	font-size: 13px;
}

.sfc-card-meta > span:first-child {
	padding: 2px 8px;
	background: var(--sfc-blue-wash);
	color: var(--sfc-accent);
	font-size: 12px;
	font-weight: 700;
}

.sfc-lead-post h3 {
	margin: 12px 0 6px;
	font-size: 23px;
	line-height: 1.55;
}

.sfc-lead-post p {
	margin: 0;
	color: var(--sfc-muted);
	font-size: 14px;
	line-height: 1.8;
}

.sfc-post-end {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid var(--sfc-line);
	color: var(--sfc-accent);
	font-size: 13px;
}

.sfc-lead-post:hover h3,
.sfc-compact-post:hover strong,
.sfc-row-link:hover strong {
	color: var(--sfc-accent);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.sfc-post-list {
	display: grid;
}

.sfc-compact-post {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 24px;
	align-items: center;
	gap: 14px;
	padding: 18px 0;
	border-bottom: 1px solid var(--sfc-line);
}

.sfc-compact-post:first-child {
	padding-top: 0;
}

.sfc-compact-post strong {
	display: block;
	margin: 8px 0 5px;
	font-size: 18px;
	line-height: 1.65;
}

.sfc-compact-post small {
	display: block;
	color: var(--sfc-muted);
	font-size: 14px;
	line-height: 1.7;
}

.sfc-arrow {
	flex: 0 0 auto;
	font-size: 23px;
	font-weight: 400;
	line-height: 1;
}

.sfc-purpose-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--sfc-line);
	border-bottom: 1px solid var(--sfc-line);
}

.sfc-purpose-grid > a {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 22px;
	align-items: center;
	gap: 10px;
	padding: 24px;
}

.sfc-purpose-grid > a + a {
	border-left: 1px solid var(--sfc-line);
}

.sfc-purpose-grid > a:hover {
	background: var(--sfc-wash);
}

.sfc-path-index {
	display: block;
	margin-bottom: 8px;
	color: var(--sfc-accent);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
}

.sfc-purpose-grid strong {
	display: block;
	font-size: 18px;
	line-height: 1.55;
}

.sfc-purpose-grid small {
	display: block;
	margin-top: 6px;
	color: var(--sfc-muted);
	font-size: 14px;
}

.sfc-home-bottom {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 56px;
	margin-bottom: 64px;
}

.sfc-row-link {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 19px 0;
	border-top: 1px solid var(--sfc-line);
}

.sfc-row-link:last-child {
	border-bottom: 1px solid var(--sfc-line);
}

.sfc-row-link .sfc-step {
	flex: 0 0 auto;
	color: var(--sfc-muted);
	font-size: 13px;
}

.sfc-row-link strong,
.sfc-row-link small {
	display: block;
}

.sfc-row-link strong {
	font-size: 17px;
	line-height: 1.6;
}

.sfc-row-link small {
	margin-top: 3px;
	color: var(--sfc-muted);
	font-size: 14px;
}

.sfc-row-link .sfc-arrow {
	margin-left: auto;
}

.sfc-about {
	align-self: start;
	margin-top: 4px;
	padding: 24px;
	background: var(--sfc-wash);
	border-top: 2px solid var(--sfc-ink);
}

.sfc-about h2 {
	margin: 0 0 14px;
	padding: 0;
	border: 0;
	font-size: 18px;
}

.sfc-about p {
	margin: 12px 0;
	color: var(--sfc-muted);
	font-size: 14px;
}

.sfc-about .sfc-about__name {
	color: var(--sfc-ink);
	font-size: 17px;
	font-weight: 700;
}

.sfc-about__name small {
	color: var(--sfc-muted);
	font-size: 12px;
	font-weight: 400;
}

.sfc-about a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: 14px;
}

/* Article and page content */
.sfc-design-v1.single #main {
	max-width: 1096px;
	margin-inline: auto;
	border: 0;
	background: var(--sfc-paper);
}

.sfc-design-v1.page #main {
	max-width: 900px;
	margin-inline: auto;
	border: 0;
	background: var(--sfc-paper);
}

.sfc-design-v1.single .article-header,
.sfc-design-v1.single .sfc-author-card,
.sfc-design-v1.single .article-footer {
	max-width: 760px;
}

.sfc-design-v1 .sfc-article-layout {
	display: grid;
	grid-template-columns: minmax(0, 760px) minmax(180px, 240px);
	align-items: start;
	gap: 64px;
}

.sfc-design-v1 .sfc-article-layout > .entry-content {
	min-width: 0;
}

.sfc-design-v1 .sfc-desktop-toc {
	position: sticky;
	top: 28px;
	padding-top: 18px;
	border-top: 2px solid var(--sfc-accent);
}

.sfc-design-v1 .sfc-desktop-toc > h2 {
	margin: 0 0 10px;
	padding: 0;
	background: transparent;
	border: 0;
	color: var(--sfc-ink);
	font-size: 15px;
}

.sfc-design-v1 .sfc-desktop-toc .toc {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
}

.sfc-design-v1 .sfc-desktop-toc .toc-checkbox,
.sfc-design-v1 .sfc-desktop-toc .toc-title {
	display: none;
}

.sfc-design-v1 .sfc-desktop-toc .toc-content {
	visibility: visible;
	height: auto;
	opacity: 1;
	padding: 0;
}

.sfc-design-v1 .sfc-desktop-toc .toc-list,
.sfc-design-v1 .sfc-desktop-toc .toc-list ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sfc-design-v1 .sfc-desktop-toc .toc-list ol {
	padding-left: 12px;
}

.sfc-design-v1 .sfc-desktop-toc .toc-list a {
	display: block;
	min-height: 44px;
	padding: 9px 0;
	border-bottom: 1px solid var(--sfc-line);
	color: var(--sfc-ink);
	font-size: 13px;
	line-height: 1.65;
	text-decoration: none;
}

.sfc-design-v1 .article-header .entry-title {
	margin: 8px 0 18px;
	color: var(--sfc-ink);
	font-size: clamp(29px, 3vw, 38px);
	font-weight: 750;
	letter-spacing: .015em;
	line-height: 1.55;
}

.sfc-design-v1 .date-tags,
.sfc-design-v1 .post-date,
.sfc-design-v1 .post-update {
	color: var(--sfc-muted);
	font-size: 13px;
}

.sfc-design-v1 .sfc-article-byline {
	display: flex;
	align-items: center;
	gap: 3px;
	margin: 5px 0 0;
	padding: 0;
	border-bottom: 1px solid var(--sfc-line);
	color: var(--sfc-muted);
	font-size: 13px;
}

.sfc-design-v1 .sfc-article-byline a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-weight: 700;
}

.sfc-design-v1 .entry-content {
	color: var(--sfc-ink);
	font-size: 16px;
	line-height: 1.95;
}

.sfc-design-v1 .entry-content > p {
	margin-block: 1.15em;
}

.sfc-design-v1 .entry-content > h2 {
	margin: 44px 0 20px;
	padding: 18px 0 0;
	background: transparent;
	border: 0;
	border-top: 2px solid var(--sfc-ink);
	color: var(--sfc-ink);
	font-size: 25px;
	line-height: 1.55;
}

.sfc-design-v1 .entry-content > h3 {
	margin: 30px 0 12px;
	padding: 0 0 8px;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--sfc-line);
	color: var(--sfc-ink);
	font-size: 20px;
	line-height: 1.6;
}

.sfc-design-v1 .toc {
	margin: 28px auto;
	padding: 20px 24px;
	background: var(--sfc-wash);
	border: 1px solid var(--sfc-line);
	border-top: 2px solid var(--sfc-ink);
}

.sfc-design-v1 .toc-title {
	font-size: 16px;
	font-weight: 700;
}

.sfc-design-v1 .toc a {
	color: var(--sfc-ink);
	font-size: 14px;
}

.sfc-design-v1 .entry-content .wp-block-table,
.sfc-design-v1 .entry-content .scrollable-table {
	max-width: 100%;
	overflow-x: auto;
	border: 1px solid var(--sfc-line);
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
}

.sfc-design-v1 .sfc-table-scroll-note {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

@media (min-width: 901px) {
	.sfc-design-v1 .sfc-article-layout > .entry-content > .toc {
		display: none;
	}
}

.sfc-design-v1 .entry-content .wp-block-table table,
.sfc-design-v1 .entry-content .scrollable-table table {
	width: 100%;
	margin: 0;
	min-width: 680px;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
}

.sfc-design-v1 .entry-content table caption {
	padding: 12px 16px;
	background: var(--sfc-wash);
	font-weight: 600;
	text-align: left;
}

.sfc-design-v1 .entry-content table th,
.sfc-design-v1 .entry-content table td {
	padding: 14px 12px;
	border-color: var(--sfc-line);
	line-height: 1.65;
}

.sfc-design-v1 .entry-content table thead th {
	background: var(--sfc-ink);
	color: #fff;
}

.sfc-design-v1 .blogcard,
.sfc-design-v1 .related-entry-card-wrap {
	border-color: var(--sfc-line);
	box-shadow: none;
}

.sfc-design-v1 .blogcard:hover,
.sfc-design-v1 .related-entry-card-wrap:hover {
	background: var(--sfc-wash);
}

.sfc-design-v1 .sfc-author-card {
	margin-top: 40px;
	padding: 24px 0 0;
	border-top: 1px solid var(--sfc-line);
}

.sfc-design-v1 .sfc-author-card h2 {
	margin: 6px 0 10px;
	padding: 0;
	background: transparent;
	border: 0;
	color: var(--sfc-ink);
	font-size: 19px;
}

.sfc-design-v1 .sfc-author-card p {
	margin: 8px 0;
	font-size: 14px;
	line-height: 1.8;
}

.sfc-design-v1 .sfc-author-card .sfc-author-card__name {
	color: var(--sfc-ink);
	font-size: 17px;
	font-weight: 700;
}

.sfc-design-v1 .sfc-author-card a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: 14px;
}

/* Keep the article category aligned with the refreshed metadata chips. */
.sfc-design-v1.single .entry-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 8px;
}

.sfc-design-v1.single .entry-categories .cat-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 36px;
	padding: 4px 10px;
	background: var(--sfc-blue-wash);
	border: 1px solid var(--sfc-line);
	border-radius: var(--sfc-radius);
	color: var(--sfc-accent);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
}

.sfc-design-v1.single .entry-categories .cat-link:hover {
	background: var(--sfc-wash);
	border-color: var(--sfc-accent);
	color: var(--sfc-accent-hover);
}

/* Archive and profile */
.sfc-design-v1.author #main {
	max-width: 900px;
	margin-inline: auto;
	border: 0;
}

.sfc-design-v1.search #main {
	max-width: 900px;
	margin-inline: auto;
	border: 0;
}

.sfc-search-lead {
	margin: 0 0 16px;
	color: var(--sfc-muted);
}

.sfc-profile-intro {
	margin-bottom: 36px;
	padding: 28px;
	background: var(--sfc-wash);
	border-top: 3px solid var(--sfc-accent);
}

.sfc-profile-intro .archive-title {
	margin: 5px 0 10px;
	font-size: 30px;
}

.sfc-profile-intro__name {
	margin: 0 0 8px;
	font-size: 20px;
	font-weight: 700;
}

.sfc-profile-intro > p:last-child {
	margin-bottom: 0;
}

.sfc-profile-posts-title {
	margin: 0 0 18px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--sfc-ink);
	font-size: 22px;
}

/* Footer */
.sfc-design-v1 #footer {
	background: var(--sfc-wash);
	color: var(--sfc-ink);
	border-top: 1px solid var(--sfc-line);
}

.sfc-design-v1 .sfc-footer-bottom {
	max-width: 1160px;
	margin: 0 auto;
	padding: 36px 32px 24px;
}

.sfc-footer-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 32px;
}

.sfc-footer-brand {
	display: inline-flex;
	flex-direction: column;
	min-height: 44px;
	color: var(--sfc-ink) !important;
	text-align: left;
	text-decoration: none;
}

.sfc-footer-brand strong {
	font-size: 19px;
	line-height: 1.5;
}

.sfc-footer-brand small {
	color: var(--sfc-muted);
	font-size: 10px;
	letter-spacing: .05em;
}

.sfc-footer-links,
.sfc-design-v1 .sfc-footer-top .navi-footer-in > .menu-footer {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0 24px;
}

.sfc-footer-links > a,
.sfc-design-v1 .sfc-footer-top .menu-footer a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0;
	color: var(--sfc-muted);
	font-size: 13px;
}

.sfc-footer-meta {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--sfc-line);
	color: var(--sfc-muted);
	font-size: 12px;
	text-align: left;
}

@media (max-width: 1000px) {
	.sfc-design-v1 .sfc-desktop-nav,
	.sfc-design-v1 .sfc-desktop-nav .sfc-nav-menu {
		gap: 12px;
	}

	.sfc-design-v1 .sfc-desktop-nav a {
		font-size: 13px;
	}

	.sfc-home-bottom {
		grid-template-columns: minmax(0, 1fr) 270px;
		gap: 32px;
	}

	.sfc-design-v1 .sfc-article-layout {
		grid-template-columns: minmax(0, 1fr) 190px;
		gap: 32px;
	}
}

@media (max-width: 900px) {
	.sfc-design-v1 {
		padding-bottom: 0 !important;
	}

	.sfc-design-v1 .sfc-header__inner {
		min-height: 76px;
		padding-inline: 24px;
	}

	.sfc-design-v1 .sfc-desktop-nav {
		display: none;
	}

	.sfc-design-v1 .sfc-mobile-menu {
		display: block;
		margin-left: auto;
	}

	.sfc-design-v1 .sfc-mobile-menu summary {
		min-height: 44px;
		padding: 9px 11px;
		list-style: none;
		border: 1px solid var(--sfc-control);
		border-radius: var(--sfc-radius);
		font-size: 13px;
		font-weight: 600;
		white-space: nowrap;
		cursor: pointer;
	}

	.sfc-design-v1 .sfc-mobile-menu summary::-webkit-details-marker {
		display: none;
	}

	.sfc-design-v1 .sfc-mobile-menu summary::before {
		content: "☰";
		margin-right: 7px;
	}

	.sfc-design-v1 .sfc-mobile-menu[open] {
		position: absolute;
		z-index: 20;
		top: 68px;
		right: 16px;
		left: 16px;
		padding: 14px 20px 18px;
		background: var(--sfc-paper);
		border: 1px solid var(--sfc-line);
		box-shadow: 0 12px 30px rgba(41, 62, 73, .12);
	}

	.sfc-design-v1 .sfc-mobile-menu[open] summary {
		width: max-content;
		margin-left: auto;
	}

	.sfc-design-v1 .sfc-mobile-menu nav,
	.sfc-design-v1 .sfc-mobile-menu .sfc-nav-menu {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin: 8px 0 0;
		padding: 0;
		list-style: none;
	}

	.sfc-design-v1 .sfc-mobile-menu li,
	.sfc-design-v1 .sfc-mobile-menu a {
		margin: 0;
	}

	.sfc-design-v1 .sfc-mobile-menu a {
		width: 100%;
		border-top: 1px solid var(--sfc-line);
	}

	.sfc-latest,
	.sfc-home-bottom {
		grid-template-columns: 1fr;
	}

	.sfc-design-v1.single .article-header,
	.sfc-design-v1.single .sfc-author-card,
	.sfc-design-v1.single .article-footer {
		max-width: none;
	}

	.sfc-design-v1 .sfc-article-layout {
		display: block;
	}

	.sfc-design-v1 .sfc-desktop-toc {
		display: none;
	}

	.sfc-design-v1 .sfc-table-scroll-note {
		position: static;
		width: auto;
		height: auto;
		margin: 0 0 8px;
		overflow: visible;
		clip: auto;
		clip-path: none;
		white-space: normal;
		color: var(--sfc-muted);
		font-size: 13px;
	}

	.sfc-lead-post.has-image {
		grid-template-columns: minmax(160px, .6fr) minmax(0, 1fr);
	}

	.sfc-post-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}

	.sfc-compact-post:first-child {
		padding-top: 18px;
	}

	.sfc-purpose-grid {
		grid-template-columns: 1fr;
	}

	.sfc-purpose-grid > a {
		padding: 18px 0;
	}

	.sfc-purpose-grid > a + a {
		border-top: 1px solid var(--sfc-line);
		border-left: 0;
	}

	.sfc-path-index {
		display: inline-block;
		margin: 0 12px 0 0;
	}

	.sfc-purpose-grid strong {
		display: inline;
	}

	.sfc-purpose-grid small {
		margin-left: 31px;
	}

	.sfc-about {
		margin-top: 0;
	}

	.sfc-footer-top,
	.sfc-footer-meta {
		flex-direction: column;
	}

	.sfc-footer-links,
	.sfc-design-v1 .sfc-footer-top .navi-footer-in > .menu-footer {
		justify-content: flex-start;
	}

	.sfc-footer-meta {
		gap: 6px;
	}
}

@media (max-width: 600px) {
	.sfc-design-v1 .sfc-header__inner {
		min-height: 72px;
		padding-inline: 20px;
	}

	.sfc-design-v1 .sfc-brand {
		gap: 8px;
	}

	.sfc-design-v1 .sfc-brand img {
		width: 40px;
		height: 40px;
	}

	.sfc-design-v1 .sfc-brand__wordmark {
		gap: 5px;
		font-size: 14px;
	}

	.sfc-design-v1 .sfc-brand__wordmark b {
		font-size: 20px;
	}

	.sfc-design-v1 .sfc-brand__sub {
		font-size: 9px;
	}

	.sfc-home #main {
		padding-inline: 20px;
	}

	.sfc-hero {
		padding: 20px 0;
	}

	.sfc-hero h1 {
		margin: 8px 0 12px;
		font-size: 30px;
	}

	.sfc-hero > p:last-child {
		font-size: 14px;
	}

	.sfc-home-section {
		margin-top: 28px;
	}

	.sfc-section-head {
		gap: 8px;
		margin-bottom: 14px;
	}

	.sfc-section-head h2 {
		gap: 8px;
		font-size: 20px;
	}

	.sfc-section-head > a {
		font-size: 13px;
		text-align: right;
	}

	.sfc-latest {
		gap: 16px;
	}

	.sfc-lead-post.has-image {
		grid-template-columns: 104px minmax(0, 1fr);
		gap: 10px 14px;
		padding: 16px;
	}

	.sfc-lead-post.has-image .sfc-lead-post__copy {
		display: contents;
	}

	.sfc-lead-post.has-image .sfc-card-meta {
		align-self: center;
		gap: 4px 8px;
		font-size: 12px;
	}

	.sfc-lead-post.has-image h3,
	.sfc-lead-post.has-image p,
	.sfc-lead-post.has-image .sfc-post-end {
		grid-column: 1 / -1;
		margin: 0;
	}

	.sfc-lead-post.has-image .sfc-post-end {
		padding-top: 8px;
	}

	.sfc-lead-post h3 {
		font-size: 20px;
	}

	.sfc-compact-post {
		padding: 16px 0;
	}

	.sfc-post-list {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.sfc-compact-post:first-child {
		padding-top: 4px;
	}

	.sfc-compact-post strong {
		font-size: 17px;
	}

	.sfc-compact-post small,
	.sfc-purpose-grid small,
	.sfc-row-link small {
		font-size: 13px;
	}

	.sfc-home-bottom {
		gap: 32px;
		margin-bottom: 40px;
	}

	.sfc-row-link {
		gap: 12px;
		padding: 17px 0;
	}

	.sfc-row-link strong {
		font-size: 16px;
	}

	.sfc-about {
		padding: 20px;
	}

	.sfc-design-v1.single #main,
	.sfc-design-v1.page #main,
	.sfc-design-v1.author #main {
		padding-inline: 20px;
	}

	.sfc-design-v1 .article-header .entry-title {
		font-size: 28px;
	}

	.sfc-design-v1 .entry-content > h2 {
		margin: 34px 0 16px;
		font-size: 22px;
	}

	.sfc-design-v1 .entry-content > h3 {
		font-size: 18px;
	}

	.sfc-design-v1 .toc,
	.sfc-profile-intro {
		padding: 20px;
	}

	.sfc-design-v1 .sfc-footer-bottom {
		padding-inline: 20px;
	}
}

@media (max-width: 374px) {
	.sfc-design-v1 .sfc-brand__sub {
		display: none;
	}
}

@media (max-width: 360px) {
	.sfc-design-v1 .sfc-header__inner,
	.sfc-home #main,
	.sfc-design-v1.single #main,
	.sfc-design-v1.page #main,
	.sfc-design-v1.author #main,
	.sfc-design-v1 .sfc-footer-bottom {
		padding-inline: 16px;
	}

	.sfc-design-v1 .sfc-brand__wordmark span,
	.sfc-design-v1 .sfc-brand__sub {
		display: none;
	}

	.sfc-hero h1 {
		font-size: 26px;
	}

	.sfc-section-head h2 {
		font-size: 18px;
	}

	.sfc-section-head h2 > span {
		display: none;
	}

	.sfc-purpose-grid small {
		margin-left: 0;
	}

	.sfc-design-v1 .sfc-mobile-menu[open] {
		right: 8px;
		left: 8px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sfc-design-v1 *,
	.sfc-design-v1 *::before,
	.sfc-design-v1 *::after {
		scroll-behavior: auto !important;
		transition: none !important;
	}
}

@media print {
	.sfc-design-v1 .sfc-desktop-nav,
	.sfc-design-v1 .sfc-mobile-menu,
	.sfc-design-v1 #footer {
		display: none;
	}

	.sfc-design-v1 .wrap,
	.sfc-design-v1 #content-in,
	.sfc-design-v1 #main {
		max-width: none;
		padding: 0;
	}

	.sfc-design-v1 a {
		color: inherit;
	}
}

/* Home section boundaries v2: approved local design, 2026-09-22. */
.sfc-section-boundary-v2 {
	--sfc-section-purpose: #eaf5f7;
	--sfc-section-reading: #f7fafb;
}

.sfc-section-boundary-v2 > .sfc-home-section {
	margin-top: 0;
	padding-block: 36px 40px;
}

.sfc-section-boundary-v2 .sfc-section-head {
	padding-top: 14px;
	border-top: 2px solid var(--sfc-line);
}

.sfc-section-boundary-v2 .sfc-section-head h2 {
	align-items: center;
}

.sfc-section-boundary-v2 .sfc-section-head h2 > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	border: 1px solid var(--sfc-accent);
	font-variant-numeric: tabular-nums;
}

.sfc-section-boundary-v2 > [aria-labelledby="sfc-latest-title"] .sfc-section-head {
	border-color: var(--sfc-accent);
}

.sfc-section-boundary-v2 > [aria-labelledby="sfc-latest-title"] h2 > span {
	color: white;
	background: var(--sfc-accent);
}

.sfc-section-boundary-v2 > [aria-labelledby="sfc-purpose-title"],
.sfc-section-boundary-v2 > .sfc-home-bottom {
	position: relative;
	isolation: isolate;
}

.sfc-section-boundary-v2 > [aria-labelledby="sfc-purpose-title"]::before,
.sfc-section-boundary-v2 > .sfc-home-bottom::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background: var(--section-fill);
	box-shadow: 0 0 0 100vmax var(--section-fill);
	clip-path: inset(0 -100vmax);
	pointer-events: none;
}

.sfc-section-boundary-v2 > [aria-labelledby="sfc-purpose-title"] {
	--section-fill: var(--sfc-section-purpose);
}

.sfc-section-boundary-v2 > .sfc-home-bottom {
	--section-fill: var(--sfc-section-reading);
	margin-bottom: 0;
	padding-bottom: 56px;
}

.sfc-section-boundary-v2 > [aria-labelledby="sfc-purpose-title"] .sfc-section-head,
.sfc-section-boundary-v2 .sfc-home-bottom .sfc-section-head {
	border-top-color: #a9c6ce;
}

.sfc-section-boundary-v2 .sfc-purpose-grid {
	border-top: 0;
	border-bottom: 0;
}

.sfc-section-boundary-v2 .sfc-purpose-grid > a {
	padding-block: 12px;
}

.sfc-section-boundary-v2 .sfc-purpose-grid > a:first-child {
	padding-left: 0;
}

.sfc-section-boundary-v2 .sfc-purpose-grid > a:last-child {
	padding-right: 0;
}

.sfc-section-boundary-v2 .sfc-about {
	margin-top: 0;
	background: transparent;
}

@media (max-width: 900px) {
	.sfc-section-boundary-v2 .sfc-purpose-grid > a {
		padding-block: 18px;
	}

	.sfc-section-boundary-v2 .sfc-about {
		padding-right: 0;
		padding-left: 0;
	}
}

@media (max-width: 600px) {
	.sfc-section-boundary-v2 > .sfc-home-section {
		padding-block: 28px;
	}

	.sfc-section-boundary-v2 .sfc-section-head {
		padding-top: 12px;
	}

	.sfc-section-boundary-v2 .sfc-section-head h2 > span {
		width: 24px;
		height: 24px;
		flex-basis: 24px;
		font-size: 11px;
	}

	.sfc-section-boundary-v2 > .sfc-home-bottom {
		gap: 28px;
		padding-bottom: 32px;
	}
}

@media (max-width: 360px) {
	.sfc-section-boundary-v2 > [aria-labelledby="sfc-latest-title"] .sfc-section-head {
		flex-wrap: wrap;
		gap: 0;
	}

	.sfc-section-boundary-v2 > [aria-labelledby="sfc-latest-title"] .sfc-section-head > a {
		margin-left: auto;
	}
}

/* Category, tag and date archives v1: approved local design, 2026-09-22. */
.sfc-archive-v1 #sidebar,
.sfc-archive-v1 #sidebar-scroll {
	display: none;
}

.sfc-archive-v1 #content-in {
	display: block;
}

.sfc-archive-v1 #main {
	width: 100%;
	margin: 0;
	padding: 0 32px 56px;
	border: 0;
	box-shadow: none;
	background: var(--sfc-paper);
}

.sfc-archive {
	max-width: 1096px;
	margin-inline: auto;
}

.sfc-archive-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 0 10px;
	padding-block: 12px;
	font-size: 13px;
	color: var(--sfc-muted);
}

.sfc-archive-breadcrumb a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

.sfc-archive-breadcrumb > span {
	display: flex;
	align-items: center;
	overflow-wrap: anywhere;
}

.sfc-archive-heading {
	padding: 16px 0 24px;
	border-bottom: 3px solid var(--sfc-accent);
}

.sfc-archive-kind {
	margin: 0 0 4px;
	color: var(--sfc-accent);
	font-size: 13px;
	font-weight: 700;
}

.sfc-archive-heading h1 {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	font-size: 32px;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.sfc-archive-heading > p:last-child,
.sfc-archive-description {
	margin: 12px 0 0;
	color: var(--sfc-muted);
	font-size: 14px;
}

.sfc-archive-description > :first-child {
	margin-top: 0;
}

.sfc-archive-description > :last-child {
	margin-bottom: 0;
}

.sfc-archive-status {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin: 0;
	padding: 18px 0;
	color: var(--sfc-muted);
	font-size: 13px;
}

.sfc-archive-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sfc-archive-list > li {
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--sfc-line);
}

.sfc-archive-list > li:last-child {
	border-bottom: 1px solid var(--sfc-line);
}

.sfc-archive-v1 .sfc-archive-card {
	display: grid;
	grid-template-columns: 216px minmax(0, 1fr) 24px;
	gap: 28px;
	align-items: start;
	padding: 28px 0;
	color: var(--sfc-ink);
	text-decoration: none;
}

.sfc-archive-card__image {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	background: var(--sfc-wash);
}

.sfc-archive-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 16px;
	font-size: 13px;
	color: var(--sfc-muted);
}

.sfc-archive-card__category {
	color: var(--sfc-accent);
	font-weight: 600;
	overflow-wrap: anywhere;
}

.sfc-archive-card h2 {
	margin: 8px 0 10px;
	padding: 0;
	border: 0;
	background: none;
	font-size: 22px;
	line-height: 1.6;
	overflow-wrap: anywhere;
}

.sfc-archive-card p {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	color: var(--sfc-muted);
	font-size: 14px;
	line-height: 1.85;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.sfc-archive-card__arrow {
	align-self: center;
	color: var(--sfc-accent);
	font-size: 24px;
}

.sfc-archive-card:hover h2 {
	color: var(--sfc-accent);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.sfc-archive-card.no-image {
	grid-template-columns: minmax(0, 1fr) 24px;
}

.sfc-archive-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 32px;
}

.sfc-archive-pagination a,
.sfc-archive-pagination [aria-current] {
	display: inline-flex;
	width: auto;
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 8px 12px;
	border: 1px solid var(--sfc-control);
	text-decoration: none;
	line-height: 1.5;
	font-size: 14px;
	white-space: nowrap;
}

.sfc-archive-pagination [aria-current] {
	background: var(--sfc-accent);
	border-color: var(--sfc-accent);
	color: white;
	font-weight: 700;
}

.sfc-archive-pagination .sfc-page-gap {
	display: inline-flex;
	align-items: center;
	padding-inline: 4px;
}

.sfc-archive-related {
	margin-top: 48px;
	padding: 24px;
	background: var(--sfc-wash);
	border-top: 1px solid var(--sfc-line);
}

.sfc-archive-related h2 {
	margin: 0 0 8px;
	padding: 0;
	border: 0;
	background: none;
	font-size: 17px;
}

.sfc-archive-related nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0 28px;
}

.sfc-archive-related a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: 14px;
}

.sfc-archive-empty {
	margin: 0;
	padding: 40px 0;
	border-bottom: 1px solid var(--sfc-line);
}

@media (max-width: 900px) {
	.sfc-archive-v1 .sfc-archive-card {
		grid-template-columns: 160px minmax(0, 1fr) 20px;
		gap: 20px;
	}

	.sfc-archive-v1 .sfc-archive-card.no-image {
		grid-template-columns: minmax(0, 1fr) 20px;
	}
}

@media (max-width: 600px) {
	.sfc-archive-v1 #main {
		padding: 0 20px 36px;
	}

	.sfc-archive-heading {
		padding: 8px 0 20px;
	}

	.sfc-archive-heading h1 {
		font-size: 28px;
	}

	.sfc-archive-v1 .sfc-archive-card {
		grid-template-columns: 96px minmax(0, 1fr) 20px;
		gap: 12px;
		padding: 24px 0;
	}

	.sfc-archive-card__body {
		display: contents;
	}

	.sfc-archive-card__meta {
		align-self: center;
		grid-column: 2 / -1;
		font-size: 12px;
	}

	.sfc-archive-card h2 {
		grid-column: 1 / 3;
		margin: 0;
		font-size: 18px;
	}

	.sfc-archive-card p {
		grid-column: 1 / -1;
		font-size: 13px;
	}

	.sfc-archive-card__arrow {
		grid-column: 3;
		grid-row: 2;
	}

	.sfc-archive-v1 .sfc-archive-card.no-image {
		grid-template-columns: minmax(0, 1fr) 20px;
	}

	.sfc-archive-card.no-image .sfc-archive-card__meta {
		grid-column: 1 / -1;
	}

	.sfc-archive-card.no-image h2 {
		grid-column: 1;
	}

	.sfc-archive-card.no-image .sfc-archive-card__arrow {
		grid-column: 2;
	}

	.sfc-archive-related {
		margin-top: 32px;
		padding: 20px;
	}

	.sfc-archive-related nav {
		display: grid;
	}
}

@media (max-width: 360px) {
	.sfc-archive-v1 #main {
		padding-inline: 16px;
	}
}
