/* caboui.com — フェーズ 2 UI（Showcase 寄せ暫定） */

body {
	font-family: var(--caboui-font-family);
	background: var(--caboui-color-bg);
	color: var(--caboui-color-text);
	-webkit-font-smoothing: antialiased;
}

a {
	color: var(--caboui-color-link);
}

a:hover {
	color: var(--caboui-color-link-hover);
}

/* header */

#header {
	background: var(--caboui-color-header-bg);
	border-bottom: 1px solid var(--caboui-color-border);
}

.header_layout {
	padding: var(--caboui-space-lg) var(--caboui-space-xl);
	align-items: center;
}

.header_menu_body {
	display: flex;
	flex-wrap: wrap;
	gap: var(--caboui-space-md) var(--caboui-space-xl);
	grid-template-columns: none;
}

.header_menu_row--primary .header_menu_li:not(:first-child),
.header_menu_row--machines .header_menu_li:not(:first-child) {
	border-left: none;
}

.header_menu_link,
.header_menu_button {
	padding: var(--caboui-space-xs) 0;
}

.header_menu_link::before,
.header_menu_link::after {
	display: none;
}

.header_menu_link:hover,
.header_menu_button:hover {
	background: transparent;
	opacity: 1;
}

.header_menu_link:hover .header_menu_text,
.header_menu_button:hover .header_menu_text {
	color: var(--caboui-color-accent);
}

.header_menu_text {
	font-size: var(--caboui-font-size-sm);
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: none;
	color: var(--caboui-color-text);
}

.header_menu_button_icon svg {
	fill: var(--caboui-color-text);
}

.header_search {
	flex: 0 1 250px;
	min-width: 0;
	max-width: 260px;
	margin: 0 var(--caboui-space-lg) 0 0;
}

.header_search--mobile {
	display: none;
	flex: none;
	max-width: none;
	margin: var(--caboui-space-lg) 0;
	padding: 0;
}

.caboui_header_search_form {
	display: flex;
	align-items: stretch;
	width: 100%;
	min-height: 38px;
	border: 1px solid var(--caboui-color-border);
	background: var(--caboui-color-bg);
}

.caboui_header_search_label.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.caboui_header_search_field {
	flex: 1;
	min-width: 0;
	width: 100%;
	padding: 0.5em 0.75em;
	font-family: inherit;
	font-size: var(--caboui-font-size-sm);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.04em;
	color: var(--caboui-color-text);
	background: transparent;
	border: none;
	border-radius: 0;
}

.caboui_header_search_field:focus {
	outline: none;
}

.caboui_header_search_form:focus-within {
	border-color: var(--caboui-color-accent);
}

.caboui_header_search_field::placeholder {
	color: var(--caboui-color-text-muted);
	opacity: 0.85;
}

.caboui_header_search_submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2.5rem;
	min-width: 2.5rem;
	padding: 0;
	font-family: inherit;
	color: var(--caboui-color-text-muted);
	background: transparent;
	border: none;
	border-left: 1px solid var(--caboui-color-border);
	cursor: pointer;
	transition: color var(--caboui-transition), background-color var(--caboui-transition);
}

.caboui_header_search_submit:hover {
	color: var(--caboui-color-accent);
	background: rgba(139, 115, 85, 0.08);
}

.caboui_header_search_submit_icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	line-height: 1;
}

.caboui_header_search_submit_icon .svg_container,
.caboui_header_search_submit_icon .caboui_header_search_svg {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
}

.caboui_header_search_submit_icon svg {
	display: block;
	width: 18px;
	height: 18px;
}

.caboui_header_search_form--mobile {
	max-width: none;
	min-height: 38px;
}

.caboui_header_search_form--mobile .caboui_header_search_field {
	padding: 0.5em 0.75em;
}

/* breadcrumb nav */

.nav_container {
	background: var(--caboui-color-bg-subtle);
	border-bottom: 1px solid var(--caboui-color-border);
}

.nav_contents {
	padding: var(--caboui-space-md) var(--caboui-space-xl);
}

.nav_link {
	margin: 0 var(--caboui-space-md) 0 0;
	color: var(--caboui-color-text-muted);
	font-size: var(--caboui-font-size-sm);
	line-height: 1.5;
	border-bottom: 1px solid transparent;
	transition: color var(--caboui-transition), border-color var(--caboui-transition);
}

.nav_link:hover {
	color: var(--caboui-color-accent);
	border-bottom-color: var(--caboui-color-accent);
}

.nav_span_next {
	margin: 0 var(--caboui-space-md) 0 0;
}

.nav_span_next::after {
	width: 1px;
	height: 0.875em;
	background: var(--caboui-color-border);
}

/* footer */

.footer_container {
	background: var(--caboui-color-bg-subtle);
	border-top: 1px solid var(--caboui-color-border);
}

.footer_layout {
	padding: var(--caboui-space-2xl) var(--caboui-space-xl);
}

.footer_list_link {
	color: var(--caboui-color-text-muted);
}

.footer_list_link:hover {
	color: var(--caboui-color-accent);
	border-bottom-color: var(--caboui-color-accent);
	opacity: 1;
}

/* section headings */

.mgf_heading_inner {
	padding: var(--caboui-space-3xl) 0 var(--caboui-space-lg);
}

.mgf_heading_text {
	font-size: var(--caboui-font-size-lg);
	font-weight: 500;
	letter-spacing: 0.16em;
}

.mgf_heading_text::before {
	width: 2px;
	height: 1.1em;
	background: var(--caboui-color-accent);
}

/* showmore */

.showmore_inner {
	padding: var(--caboui-space-xl) 0 var(--caboui-space-2xl);
}

.showmore_link {
	font-size: var(--caboui-font-size-sm);
	font-weight: 500;
	letter-spacing: 0.08em;
	color: var(--caboui-color-text-muted);
}

.showmore_link::before,
.showmore_link::after {
	background: var(--caboui-color-accent);
}

.showmore_link:hover {
	color: var(--caboui-color-accent);
	border-bottom-color: var(--caboui-color-accent);
}

/* front hero */

#front_hero {
	background: var(--caboui-color-bg);
}

#front_hero .front_hero_container {
	padding: var(--caboui-space-3xl) 0 var(--caboui-space-2xl);
	text-align: left;
}

#front_hero .front_hero_title {
	margin: 0;
	font-size: var(--caboui-font-size-hero);
	font-weight: 500;
	letter-spacing: 0.2em;
	line-height: 1.2;
}

#front_hero .front_hero_lead {
	margin: var(--caboui-space-lg) 0 0;
	max-width: 36em;
	font-size: var(--caboui-font-size-base);
	font-weight: 400;
	line-height: 1.8;
	color: var(--caboui-color-text-muted);
}

#front_work,
#front_article,
#front_news {
	padding-bottom: var(--caboui-space-md);
}

#front_work .mgf_heading_inner {
	padding-top: var(--caboui-space-2xl);
}

.layout_inner {
	padding: 0 var(--caboui-space-xl) var(--caboui-space-xl);
}

/* work grid — Showcase */

.work_list_ul--grid {
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: var(--caboui-space-xl);
}

.work_list_link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.work_list_link:hover {
	opacity: 1;
}

.work_list_media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--caboui-color-bg-subtle);
	line-height: 0;
}

.work_list_thumbnail {
	position: absolute;
	inset: 0;
	overflow: hidden;
	line-height: 0;
}

.work_list_media .work_list_thumbnail_img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--caboui-transition);
}

.work_list_link:hover .work_list_media .work_list_thumbnail_img {
	transform: scale(1.04);
}

.work_list_overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: var(--caboui-space-lg);
	background: linear-gradient(to top, rgba(17, 17, 17, 0.72) 0%, rgba(17, 17, 17, 0) 55%);
	opacity: 0;
	transition: opacity var(--caboui-transition);
}

.work_list_link:hover .work_list_overlay,
.work_list_link:focus-visible .work_list_overlay {
	opacity: 1;
}

.work_list_overlay_date {
	margin: 0 0 var(--caboui-space-xs);
	font-size: var(--caboui-font-size-sm);
	color: rgba(255, 255, 255, 0.75);
	line-height: 1.4;
}

.work_list_overlay_title {
	margin: 0;
	font-size: var(--caboui-font-size-base);
	font-weight: 500;
	line-height: 1.5;
	color: #ffffff;
}

.work_list_main {
	padding: var(--caboui-space-md) 0 0;
}

.work_list_date_text {
	font-size: var(--caboui-font-size-sm);
	color: var(--caboui-color-text-muted);
}

.work_list_title_text {
	font-size: var(--caboui-font-size-base);
	font-weight: 500;
	line-height: 1.5;
	transition: color var(--caboui-transition);
}

.work_list_link:hover .work_list_title_text {
	color: var(--caboui-color-accent);
}

/* work single */

.work_single_date_text {
	font-size: var(--caboui-font-size-sm);
	color: var(--caboui-color-text-muted);
	letter-spacing: 0.04em;
}

/* archive — page title (topic type1) */

.topic_inner {
	padding: var(--caboui-space-3xl) 0 var(--caboui-space-md);
}

.topic_text {
	display: inline-flex;
	align-items: center;
	gap: var(--caboui-space-md);
	margin: 0;
	padding: 0;
	background: transparent;
	color: var(--caboui-color-text);
	font-size: var(--caboui-font-size-lg);
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0.16em;
}

.topic_text::before {
	position: static;
	transform: none;
	width: 2px;
	height: 1.1em;
	background: var(--caboui-color-accent);
}

.work_search_result_text,
.article_search_result_text,
.news_search_result_text {
	font-size: var(--caboui-font-size-sm);
	color: var(--caboui-color-text-muted);
	line-height: 1.6;
}

.work_search_result_container,
.article_search_result_container,
.news_search_result_container {
	padding: 0 0 var(--caboui-space-lg);
}

#work_search_result,
#article_search_result,
#news_search_result {
	padding-bottom: var(--caboui-space-md);
}

.work_list_container,
.article_list_container,
.news_list_container {
	padding-bottom: var(--caboui-space-md);
}

/* singles & static pages — page header */

.layout_inner--single {
	padding-top: var(--caboui-space-xl);
	padding-bottom: var(--caboui-space-2xl);
}

.caboui_single_column {
	width: 100%;
	max-width: var(--caboui-single-content-width);
	margin: 0 auto;
}

#article_top,
#work_top {
	padding-top: 0;
	padding-bottom: var(--caboui-space-md);
}

#work_main,
#article_main,
#work_bottom,
#article_bottom,
#article_recommend,
#work_recommend {
	padding-top: var(--caboui-space-md);
}

#common_main {
	padding: var(--caboui-space-2xl) 0 var(--caboui-space-xl);
	max-width: 720px;
}

.article_single_date_text,
.work_single_date_text {
	font-size: var(--caboui-font-size-sm);
	color: var(--caboui-color-text-muted);
	letter-spacing: 0.04em;
}

.article_single_title_text,
.work_single_title_text {
	font-size: clamp(1.5rem, 4vw, 1.75rem);
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: 0.02em;
	color: var(--caboui-color-text);
}

.article_single_title_container,
.work_single_title_container {
	padding: 0 0 var(--caboui-space-lg);
}

.article_single_thumbnail_container,
.work_single_thumbnail_container {
	margin: 0 0 var(--caboui-space-2xl);
	padding: 0;
	line-height: 0;
	overflow: hidden;
	background: var(--caboui-color-bg-subtle);
}

.article_single_thumbnail_img,
.work_single_thumbnail_img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

.article_single_main_container,
.work_single_main_container {
	max-width: 720px;
}

.caboui_single_column .article_single_main_container,
.caboui_single_column .work_single_main_container,
.caboui_single_column .caboui_recommend_container {
	max-width: none;
}

.caboui_recommend_container {
	max-width: 720px;
}

.caboui_recommend_container .mgf_heading_inner {
	padding-top: var(--caboui-space-2xl);
	padding-bottom: var(--caboui-space-xl);
}

.caboui_recommend_container .article_list_container,
.caboui_recommend_container .work_list_container {
	padding-top: 0;
	padding-bottom: 0;
}

.caboui_recommend_container .article_list_link:first-child {
	padding-top: var(--caboui-space-xs);
}

#work_recommend .work_list_ul--grid {
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: var(--caboui-space-lg);
}

/* article / news list */

.article_list_link {
	align-items: stretch;
	gap: var(--caboui-space-lg);
	padding: var(--caboui-space-lg) 0;
	border-bottom: 1px solid var(--caboui-color-border);
	text-decoration: none;
	color: inherit;
	transition: border-color var(--caboui-transition);
}

.article_list_link:hover {
	opacity: 1;
	border-bottom-color: var(--caboui-color-accent);
}

.article_list_thumbnail {
	flex: 0 0 160px;
	max-width: 160px;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background: var(--caboui-color-bg-subtle);
}

.article_list_thumbnail_img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.article_list_date {
	padding: 0 0 var(--caboui-space-xs);
}

.article_list_date_text {
	font-size: var(--caboui-font-size-sm);
	color: var(--caboui-color-text-muted);
}

.article_list_title_text {
	font-size: var(--caboui-font-size-base);
	font-weight: 500;
	line-height: 1.55;
	transition: color var(--caboui-transition);
}

.article_list_link:hover .article_list_title_text {
	color: var(--caboui-color-accent);
}

.article_list_link--external .article_list_title_text::after {
	color: var(--caboui-color-accent);
}

.news_list_container .article_list_link {
	padding: var(--caboui-space-md) 0;
}

.news_single_link_only_note {
	color: var(--caboui-color-text-muted);
	font-size: var(--caboui-font-size-base);
}

.news_single_external_link {
	color: var(--caboui-color-accent);
	border-bottom: 1px solid transparent;
	text-decoration: none;
}

.news_single_external_link:hover {
	border-bottom-color: var(--caboui-color-accent);
}

.article_list_next,
.work_list_next {
	padding: 0;
}

/* archive search */

.caboui_search_box {
	margin: 0 0 var(--caboui-space-xl);
	padding: var(--caboui-space-lg);
	background: var(--caboui-color-bg-subtle);
	border: 1px solid var(--caboui-color-border);
}

.caboui_search_form {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--caboui-space-md);
	align-items: end;
}

.caboui_search_form_row--keyword {
	grid-column: 1 / -1;
}

.caboui_search_filters {
	display: grid;
	gap: var(--caboui-space-lg);
	margin-top: var(--caboui-space-lg);
	padding-top: var(--caboui-space-lg);
	border-top: 1px solid var(--caboui-color-border);
}

.caboui_search_active_filters {
	margin-top: var(--caboui-space-md);
}

.caboui_search_active_filters_label {
	margin: 0 0 var(--caboui-space-xs);
	font-size: var(--caboui-font-size-sm);
	font-weight: 500;
	color: var(--caboui-color-text-muted);
	letter-spacing: 0.06em;
}

.caboui_search_active_filters_flow {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--caboui-space-sm);
}

.caboui_search_active_group {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--caboui-space-xs);
}

.caboui_search_active_join,
.caboui_search_active_or {
	flex-shrink: 0;
	font-size: var(--caboui-font-size-sm);
	font-weight: 500;
	line-height: 1;
	color: var(--caboui-color-text-muted);
	user-select: none;
}

.caboui_search_active_join {
	padding: 0 0.1em;
}

.caboui_search_active_or {
	padding: 0 0.05em;
	opacity: 0.7;
}

.caboui_search_active_filter {
	gap: 0.4em;
	padding-right: 0.65em;
	text-decoration: none;
	border-bottom: 1px solid var(--caboui-color-accent);
}

.caboui_search_active_filter:hover,
.caboui_search_active_filter:focus-visible {
	text-decoration: none;
	border: 1px solid var(--caboui-color-accent-hover);
	border-bottom: 1px solid var(--caboui-color-accent-hover);
	background: var(--caboui-color-accent-hover);
	color: var(--caboui-color-bg);
	box-shadow: none;
}

.caboui_search_active_filter_remove {
	font-size: 13px;
	line-height: 1;
	opacity: 0.85;
}

.caboui_search_filter_group {
	min-width: 0;
}

.caboui_search_chips,
.caboui_post_terms_list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--caboui-space-sm);
	list-style: none;
	margin: 0;
	padding: 0;
}

.caboui_term_chip {
	display: inline-flex;
	align-items: center;
	padding: 0.4em 0.85em;
	font-size: var(--caboui-font-size-sm);
	font-weight: 500;
	line-height: 1.4;
	color: var(--caboui-color-text);
	text-decoration: none;
	background: var(--caboui-color-bg);
	border: 1px solid var(--caboui-color-border);
	border-bottom: 1px solid var(--caboui-color-border);
	border-radius: 999px;
	box-shadow: none;
	transition:
		background-color var(--caboui-transition),
		border-color var(--caboui-transition),
		color var(--caboui-transition),
		box-shadow var(--caboui-transition);
}

.caboui_term_chip--tag {
	color: var(--caboui-color-text-muted);
}

.caboui_term_chip:hover,
.caboui_term_chip:focus-visible {
	text-decoration: none;
	border: 1px solid var(--caboui-color-accent);
	border-bottom: 1px solid var(--caboui-color-accent);
	background: rgba(139, 115, 85, 0.14);
	color: var(--caboui-color-accent-hover);
	box-shadow: 0 0 0 1px rgba(139, 115, 85, 0.08);
}

.caboui_term_chip.is-active {
	background: var(--caboui-color-accent);
	border: 1px solid var(--caboui-color-accent);
	border-bottom: 1px solid var(--caboui-color-accent);
	color: var(--caboui-color-bg);
	box-shadow: none;
}

.caboui_term_chip.is-active:hover,
.caboui_term_chip.is-active:focus-visible {
	background: var(--caboui-color-accent-hover);
	border: 1px solid var(--caboui-color-accent-hover);
	border-bottom: 1px solid var(--caboui-color-accent-hover);
	color: var(--caboui-color-bg);
	box-shadow: none;
}

.caboui_post_terms {
	padding: 0 0 var(--caboui-space-lg);
}

.caboui_post_terms--single {
	margin-top: var(--caboui-space-2xl);
	padding-top: var(--caboui-space-xl);
	border-top: 1px solid var(--caboui-color-border);
}

.caboui_post_terms_group + .caboui_post_terms_group {
	margin-top: var(--caboui-space-md);
}

.caboui_post_terms_label {
	margin: 0 0 var(--caboui-space-xs);
	font-size: var(--caboui-font-size-sm);
	font-weight: 500;
	color: var(--caboui-color-text-muted);
	letter-spacing: 0.06em;
}

.caboui_search_label {
	display: block;
	margin: 0 0 var(--caboui-space-xs);
	font-size: var(--caboui-font-size-sm);
	font-weight: 500;
	color: var(--caboui-color-text-muted);
	letter-spacing: 0.06em;
}

.caboui_search_field {
	width: 100%;
	box-sizing: border-box;
	padding: var(--caboui-space-sm) var(--caboui-space-md);
	font-family: inherit;
	font-size: var(--caboui-font-size-base);
	color: var(--caboui-color-text);
	background: var(--caboui-color-bg);
	border: 1px solid var(--caboui-color-border);
	border-radius: 0;
	transition: border-color var(--caboui-transition);
}

.caboui_search_field:focus {
	outline: none;
	border-color: var(--caboui-color-accent);
}

.caboui_search_form_actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--caboui-space-md);
	grid-column: 1 / -1;
}

.caboui_search_submit {
	padding: var(--caboui-space-sm) var(--caboui-space-xl);
	font-family: inherit;
	font-size: var(--caboui-font-size-sm);
	font-weight: 500;
	letter-spacing: 0.08em;
	color: var(--caboui-color-bg);
	background: var(--caboui-color-text);
	border: 1px solid var(--caboui-color-text);
	cursor: pointer;
	transition: background-color var(--caboui-transition), color var(--caboui-transition), border-color var(--caboui-transition);
}

.caboui_search_submit:hover {
	background: var(--caboui-color-accent);
	border-color: var(--caboui-color-accent);
}

.caboui_search_reset {
	font-size: var(--caboui-font-size-sm);
	color: var(--caboui-color-text-muted);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.caboui_search_reset:hover {
	color: var(--caboui-color-accent);
}

.caboui_search_result_container {
	padding: 0 0 var(--caboui-space-lg);
}

.caboui_search_result_text {
	font-size: var(--caboui-font-size-sm);
	color: var(--caboui-color-text-muted);
	line-height: 1.6;
}

.caboui_search_empty {
	margin: 0 0 var(--caboui-space-xl);
	padding: var(--caboui-space-xl);
	text-align: center;
	font-size: var(--caboui-font-size-base);
	color: var(--caboui-color-text-muted);
	background: var(--caboui-color-bg-subtle);
	border: 1px solid var(--caboui-color-border);
}

.caboui_search_score_debug {
	margin: var(--caboui-space-xs) 0 0;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--caboui-color-text-muted);
	opacity: 0.65;
}

/* pagination */

.pg_inner {
	padding: var(--caboui-space-xl) 0;
}

.pg_link {
	background: var(--caboui-color-bg);
	color: var(--caboui-color-text);
	border: 1px solid var(--caboui-color-border);
	border-radius: 0;
	transition: background-color var(--caboui-transition), color var(--caboui-transition), border-color var(--caboui-transition);
}

.pg_span,
.pg_link:hover {
	background: var(--caboui-color-text);
	color: var(--caboui-color-bg);
	border-color: var(--caboui-color-text);
}

.pg_span {
	background: var(--caboui-color-text);
	color: var(--caboui-color-bg);
	border-color: var(--caboui-color-text);
}

/* markdown — refined typography */

.markdown p {
	color: var(--caboui-color-text);
	line-height: 1.85;
}

.markdown strong {
	color: var(--caboui-color-text);
	font-weight: 700;
	background: linear-gradient(transparent 60%, rgba(139, 115, 85, 0.15) 40%);
}

.markdown h2 {
	color: var(--caboui-color-text);
	background: transparent;
	font-size: var(--caboui-font-size-lg);
	font-weight: 500;
	line-height: 1.5;
	margin: var(--caboui-space-2xl) 0 var(--caboui-space-lg);
	padding: 0 0 var(--caboui-space-sm);
	border-bottom: 1px solid var(--caboui-color-border);
	letter-spacing: 0.06em;
}

.markdown h2::before {
	display: none;
}

.markdown h3 {
	color: var(--caboui-color-text);
	font-size: var(--caboui-font-size-base);
	font-weight: 500;
	margin: var(--caboui-space-xl) 0 var(--caboui-space-md);
	padding: 0;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.markdown h3::after {
	content: '';
	display: block;
	width: 2rem;
	height: 1px;
	margin-top: var(--caboui-space-sm);
	background: var(--caboui-color-accent);
}

.markdown h4 {
	font-size: var(--caboui-font-size-base);
	font-weight: 500;
	margin: var(--caboui-space-lg) 0 var(--caboui-space-md);
	padding: 0 0 0 var(--caboui-space-md);
	color: var(--caboui-color-text);
}

.markdown h4::before {
	left: 0;
	width: 2px;
	height: 1em;
	background: var(--caboui-color-accent);
	transform: translateY(0);
	top: 0.15em;
}

.markdown a {
	color: var(--caboui-color-accent);
	border-bottom-color: rgba(139, 115, 85, 0.35);
}

.markdown a:hover {
	color: var(--caboui-color-accent-hover);
	border-bottom-color: var(--caboui-color-accent-hover);
}

.markdown blockquote,
.markdown pre {
	background: var(--caboui-color-bg-subtle);
	color: var(--caboui-color-text);
	border-radius: 0;
	border-left: 2px solid var(--caboui-color-accent);
	padding: var(--caboui-space-lg) var(--caboui-space-xl);
}

.markdown blockquote p,
.markdown pre p {
	color: var(--caboui-color-text);
}

.markdown code {
	background: var(--caboui-color-bg-subtle);
	color: var(--caboui-color-text);
	border: 1px solid var(--caboui-color-border);
	border-radius: 0;
}

.markdown table {
	border: 1px solid var(--caboui-color-border);
	border-radius: 0;
}

.markdown table th,
.markdown table td {
	border: 1px solid var(--caboui-color-border);
}

.markdown table thead tr {
	background: var(--caboui-color-bg-subtle);
}

.markdown table thead {
	border-bottom: 1px solid var(--caboui-color-border);
}

/* admin (/admin/) */

#admin_explain {
	padding-top: var(--caboui-space-2xl);
}

.admin_ensure_container .admin_msg_container {
	margin: 0 0 var(--caboui-space-2xl);
	padding: 0;
	border: 1px solid var(--caboui-color-border);
	background: var(--caboui-color-bg-subtle);
}

.admin_ensure_container .admin_msg_container.st_success {
	border-color: #b8dfc8;
	background: #f4fbf7;
}

.admin_ensure_container .admin_msg_container.st_failed {
	border-color: #e8b4b4;
	background: #fdf5f5;
}

.admin_ensure_container .admin_msg_inner {
	padding: var(--caboui-space-lg);
	background: transparent;
}

.admin_ensure_container .markdown.admin_ensure_tool > h2:first-child {
	margin-top: 0;
}

.admin_container {
	padding: 0 0 var(--caboui-space-xl);
}

.admin_title_text {
	color: var(--caboui-color-text);
	background: transparent;
	font-size: var(--caboui-font-size-lg);
	font-weight: 500;
	line-height: 1.25;
	margin: var(--caboui-space-2xl) 0 var(--caboui-space-lg);
	padding: 0;
	letter-spacing: 0.12em;
	border-bottom: 1px solid var(--caboui-color-border);
	padding-bottom: var(--caboui-space-sm);
}

.admin_title_text::before {
	display: none;
}

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

.admin_main_li {
	border-bottom: 1px solid var(--caboui-color-border);
}

.admin_main_li:last-child {
	border-bottom: none;
}

.admin_value {
	padding: var(--caboui-space-lg) 0;
}

.admin_value_title {
	padding: 0;
}

.admin_value_title_text {
	display: flex;
	align-items: center;
	gap: var(--caboui-space-md);
	margin: 0;
	padding: 0;
	position: static;
	font-size: var(--caboui-font-size-base);
	font-weight: 500;
	line-height: 1.5;
	color: var(--caboui-color-text);
}

.admin_value_title_text::before {
	position: static;
	flex-shrink: 0;
	width: 2px;
	height: 1em;
	margin: 0;
	transform: none;
	background: var(--caboui-color-accent);
}

.admin_value_title_link {
	display: inline;
	margin: 0;
	color: var(--caboui-color-accent);
	text-decoration: underline;
	text-decoration-color: rgba(139, 115, 85, 0.5);
	text-underline-offset: 0.22em;
	border-bottom: none;
	transition: color var(--caboui-transition), text-decoration-color var(--caboui-transition);
}

.admin_value_title_link:hover {
	color: var(--caboui-color-accent-hover);
	text-decoration-color: var(--caboui-color-accent-hover);
	border-bottom: none;
}

.admin_value_main_text {
	color: var(--caboui-color-text-muted);
	line-height: 1.7;
}

.admin_value_li {
	color: var(--caboui-color-text-muted);
	font-size: var(--caboui-font-size-sm);
	border-left-color: var(--caboui-color-border);
}

.admin_list_value {
	border: 1px solid var(--caboui-color-border);
	margin: var(--caboui-space-md) 0;
	padding: var(--caboui-space-md);
}

.admin_table_link_1,
.admin_table_link_2 {
	color: var(--caboui-color-accent);
}

.admin_table_link_1:hover,
.admin_table_link_2:hover {
	color: var(--caboui-color-accent-hover);
}

.admin_table_parts_label_link {
	border-color: var(--caboui-color-border);
	color: var(--caboui-color-text);
}

.admin_search_zero_summary {
	margin: var(--caboui-space-lg) 0 var(--caboui-space-md);
	color: var(--caboui-color-text-muted);
	font-size: var(--caboui-font-size-sm);
}

.admin_search_zero_toolbar {
	margin: 0 0 var(--caboui-space-lg);
}

.admin_search_zero_tool_link {
	color: var(--caboui-color-accent);
	font-size: var(--caboui-font-size-sm);
	text-decoration: underline;
	text-underline-offset: 0.22em;
}

.admin_search_zero_tool_link:hover {
	color: var(--caboui-color-accent-hover);
}

.admin_search_zero_empty {
	color: var(--caboui-color-text-muted);
}

.admin_search_zero_table_wrap {
	overflow-x: auto;
	margin: 0 0 var(--caboui-space-xl);
	border: 1px solid var(--caboui-color-border);
}

.admin_search_zero_table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--caboui-font-size-sm);
}

.admin_search_zero_table th,
.admin_search_zero_table td {
	padding: var(--caboui-space-sm) var(--caboui-space-md);
	border-bottom: 1px solid var(--caboui-color-border);
	text-align: left;
	vertical-align: top;
}

.admin_search_zero_table th {
	background: var(--caboui-color-bg-subtle);
	color: var(--caboui-color-text-muted);
	font-weight: 500;
}

.admin_search_zero_table tr.is-dismissed td {
	opacity: 0.55;
}

.admin_search_zero_table code {
	font-size: 12px;
	word-break: break-all;
}

.admin_search_zero_actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--caboui-space-xs);
}

.admin_search_zero_inline_form {
	display: inline-flex;
	margin: 0;
}

.admin_search_zero_action_button,
.admin_search_zero_maint_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 3.25em;
	appearance: none;
	border: 1px solid var(--caboui-color-border);
	background: var(--caboui-color-bg);
	color: var(--caboui-color-text);
	font-family: inherit;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	padding: 0.45em 0.8em;
	cursor: pointer;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	transition:
		background-color var(--caboui-transition),
		border-color var(--caboui-transition),
		color var(--caboui-transition);
}

.admin_search_zero_action_button:hover,
.admin_search_zero_maint_button:hover {
	border-color: var(--caboui-color-text-muted);
	color: var(--caboui-color-text);
	background: var(--caboui-color-bg-subtle);
}

.admin_search_zero_action_button--primary {
	border-color: var(--caboui-color-accent);
	color: var(--caboui-color-accent);
}

.admin_search_zero_action_button--primary:hover {
	border-color: var(--caboui-color-accent);
	background: var(--caboui-color-accent);
	color: var(--caboui-color-bg);
}

.admin_search_zero_maint_button--danger:hover {
	border-color: #b44;
	color: #b44;
}

.admin_search_zero_guide {
	margin: 0 0 var(--caboui-space-xl);
}

.admin_search_zero_guide h3 {
	margin: 0 0 var(--caboui-space-sm);
	font-size: var(--caboui-font-size-base);
}

.admin_search_zero_maintenance {
	display: flex;
	flex-wrap: wrap;
	gap: var(--caboui-space-md);
	margin-top: var(--caboui-space-xl);
	padding-top: var(--caboui-space-lg);
	border-top: 1px solid var(--caboui-color-border);
}

.admin_search_zero_maintenance_form {
	margin: 0;
}

.admin_post_button_inner {
	background: var(--caboui-color-text);
	color: var(--caboui-color-bg);
	box-shadow: none;
	border-radius: 0;
	transition: background-color var(--caboui-transition), opacity var(--caboui-transition);
}

.admin_post_button_inner .admin_post_button_text_1,
.admin_post_button_inner .admin_post_button_text_2,
.markdown .admin_post_button_inner p {
	color: inherit;
}

.admin_post_button_inner:hover {
	opacity: 0.88;
	background: var(--caboui-color-accent);
}

.admin_post_button_inner_preview {
	background: var(--caboui-color-bg);
	border: 1px solid var(--caboui-color-text);
	color: var(--caboui-color-text);
}

.admin_post_button_inner_sub {
	background: var(--caboui-color-bg-subtle);
	color: var(--caboui-color-text);
	border: 1px solid var(--caboui-color-border);
}

.admin_ensure_scope_box {
	border: 1px solid var(--caboui-color-border);
	background: var(--caboui-color-bg);
}

.admin_ensure_filter_mode li:hover,
.admin_ensure_artist_checks li:hover {
	background: var(--caboui-color-bg-subtle);
}

.admin_ensure_row_input:focus {
	border-color: var(--caboui-color-accent);
}

.st_success {
	background: #eef6f0;
	color: var(--caboui-color-text);
}

.st_failed {
	background: #fdf0f0;
	color: var(--caboui-color-text);
}

/* SP drawer */

.shadow_menu_container {
	background: var(--caboui-color-bg);
}

.shadow_menu_top .header_layout {
	padding-bottom: 0;
}

.shadow_menu_main {
	padding: 0 var(--caboui-space-lg) var(--caboui-space-lg);
}

.shadow_menu_li {
	border-bottom-color: var(--caboui-color-border);
}

.shadow_menu_text {
	font-size: var(--caboui-font-size-base);
	font-weight: 500;
	color: var(--caboui-color-text);
	letter-spacing: 0.06em;
}

.shadow_menu_text::before,
.shadow_menu_text::after {
	background: var(--caboui-color-accent);
}

.shadow_menu_link:hover .shadow_menu_text {
	color: var(--caboui-color-accent);
}

.shadow_menu_button_icon::before,
.shadow_menu_button_icon::after {
	background: var(--caboui-color-text-muted);
}

/* responsive */

@media screen and (max-width: 768px) {
	.header_layout {
		padding: var(--caboui-space-md) var(--caboui-space-lg);
	}

	.header_menu {
		padding: 0;
		flex-shrink: 0;
		margin-left: auto;
	}

	.header_menu_body {
		display: none;
	}

	.header_menu_sp {
		display: block;
	}

	.header_search--desktop {
		display: none;
	}

	.header_search--mobile {
		display: block;
	}

	.nav_contents {
		padding: var(--caboui-space-sm) var(--caboui-space-lg);
	}

	.nav_container {
		padding: 0;
	}

	.layout_inner {
		padding: 0 var(--caboui-space-lg) var(--caboui-space-lg);
	}

	#front_hero .front_hero_container {
		padding: var(--caboui-space-2xl) 0 var(--caboui-space-xl);
	}

	.work_list_ul--grid {
		grid-template-columns: 1fr;
		gap: var(--caboui-space-lg);
	}

	.work_list_overlay {
		opacity: 1;
		background: linear-gradient(to top, rgba(17, 17, 17, 0.55) 0%, rgba(17, 17, 17, 0) 45%);
	}

	.mgf_heading_inner {
		padding-top: var(--caboui-space-2xl);
	}

	.topic_inner {
		padding-top: var(--caboui-space-2xl);
	}

	.article_list_link {
		flex-direction: column;
		gap: var(--caboui-space-md);
	}

	.article_list_thumbnail {
		flex: none;
		max-width: 100%;
		width: 100%;
	}

	#common_main,
	.work_single_main_container {
		max-width: none;
	}

	.caboui_single_column {
		max-width: none;
	}

	.layout_inner--single {
		padding-top: var(--caboui-space-lg);
		padding-bottom: var(--caboui-space-xl);
	}

	.markdown h2 {
		margin-top: var(--caboui-space-xl);
	}

	.caboui_search_form {
		grid-template-columns: 1fr;
	}
}
