@font-face {
	font-family: "Pretendard Variable";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/pretendard/PretendardVariable.woff2") format("woff2-variations");
}


:root {
	--fkmtu-font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;
	--fkmtu-font-size-caption: 11px;
	--fkmtu-font-size-small: 12px;
	--fkmtu-font-size-meta: 13px;
	--fkmtu-font-size-body: 15px;
	--fkmtu-font-size-content: 16px;
	--fkmtu-font-size-lead: 17px;
	--fkmtu-font-size-menu: 18px;
	--fkmtu-font-size-card-title: 18px;
	--fkmtu-font-size-subheading: 20px;
	--fkmtu-font-size-heading: 22px;
	--fkmtu-font-size-section-title: 24px;
	--fkmtu-font-size-page-title: 32px;
	--fkmtu-font-weight-light: 300;
	--fkmtu-font-weight-regular: 400;
	--fkmtu-font-weight-medium: 500;
	--fkmtu-font-weight-semibold: 600;
	--fkmtu-font-weight-bold: 700;
	--fkmtu-font-weight-extrabold: 800;
	--fkmtu-color-primary: #111111;
	--fkmtu-color-text: #111111;
	--fkmtu-color-text-secondary: #505050;
	--fkmtu-color-divider: #e2e6eb;
	--fkmtu-color-card-border: #d5dce4;
	--fkmtu-color-card-border-strong: #bec9d5;
	--fkmtu-color-surface: #ffffff;
	--fkmtu-color-selected: #f2f4f6;
	--fkmtu-color-hover-neutral: #f5f5f5;
	--fkmtu-color-danger: #b83a3a;
	--fkmtu-color-danger-soft: #fff1f1;
	--fkmtu-color-link: #2f5f9f;
	--fkmtu-color-link-hover: #143b6f;
	--fkmtu-content-max-width: 1200px;
	--fkmtu-article-padding-inline: 8px;
	--fkmtu-mobile-page-gutter: 16px;
	--fkmtu-control-height: 40px;
	--fkmtu-control-height-small: 36px;
	--fkmtu-control-height-compact: 30px;
	--fkmtu-touch-target-min: 44px;
	--fkmtu-control-radius: 6px;
	--fkmtu-control-radius-large: 8px;
	--fkmtu-border-width: 1px;
	--fkmtu-motion-fast: 0.15s;
	--fkmtu-button-gap: 5px;
	--fkmtu-button-radius-strong: 999px;
	--fkmtu-button-radius-soft: 4px;
	--fkmtu-button-padding-inline: 14px;
	--fkmtu-button-padding-inline-compact: 10px;
	--fkmtu-shadow-overlay: 0 8px 30px rgba(20, 40, 65, 0.22);
}

html,
body {
	font-family: var(--fkmtu-font-family);
}

h1,
h2,
h3,
h4,
h5,
h6,
button,
input,
select,
textarea {
	font-family: var(--fkmtu-font-family) !important;
}


body:not(.wp-admin) {
	color: var(--fkmtu-color-text);
	font-family: var(--fkmtu-font-family) !important;
	font-size: var(--fkmtu-font-size-body);
	font-weight: var(--fkmtu-font-weight-regular);
	line-height: 1.65;
}

body:not(.wp-admin) :where(h1, h2, h3, h4, h5, h6, p, a, li, td, th, label, button, input, select, textarea) {
	font-family: var(--fkmtu-font-family) !important;
}

body:not(.wp-admin) .has-fkmtu-pretendard-font-family {
	font-family: var(--fkmtu-font-family) !important;
}

body:not(.wp-admin) .has-fkmtu-myeongjo-font-family {
	font-family: "Noto Serif KR", "Nanum Myeongjo", "AppleMyungjo", Batang, serif !important;
}

body:not(.wp-admin) .has-fkmtu-nanum-gothic-font-family {
	font-family: var(--wp--preset--font-family--fkmtu-nanum-gothic) !important;
}

body:not(.wp-admin) .has-fkmtu-gowun-dodum-font-family {
	font-family: var(--wp--preset--font-family--fkmtu-gowun-dodum) !important;
}

body:not(.wp-admin) .has-fkmtu-gowun-batang-font-family {
	font-family: var(--wp--preset--font-family--fkmtu-gowun-batang) !important;
}

body:not(.wp-admin) .has-fkmtu-song-myung-font-family {
	font-family: var(--wp--preset--font-family--fkmtu-song-myung) !important;
}

body:not(.wp-admin) :is(.has-fkmtu-myeongjo-font-family, .has-fkmtu-nanum-gothic-font-family, .has-fkmtu-gowun-dodum-font-family, .has-fkmtu-gowun-batang-font-family, .has-fkmtu-song-myung-font-family) :where(a, span, em, strong) {
	font-family: inherit !important;
}

body:not(.wp-admin) .dashicons,
body:not(.wp-admin) .dashicons::before {
	font-family: dashicons !important;
}

.single .entry-content {
	font-size: var(--fkmtu-font-size-content);
	font-weight: var(--fkmtu-font-weight-regular);
	line-height: 1.7;
}

/* 홈페이지 전역 공통 작업 버튼 */
.fkmtu-secretariat-ui-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--fkmtu-button-gap, 5px);
	width: auto;
	margin: 0;
	border: var(--fkmtu-border-width, 1px) solid transparent;
	font-family: inherit;
	font-weight: var(--fkmtu-font-weight-medium, 500);
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	box-shadow: none;
	transform: none;
}

.fkmtu-secretariat-ui-button.is-round-soft {
	height: var(--fkmtu-control-height-small, 36px);
	min-height: var(--fkmtu-control-height-small, 36px);
	padding: 0 var(--fkmtu-button-padding-inline, 14px);
	border-color: var(--fkmtu-color-card-border-strong, #c8cdd3);
	border-radius: var(--fkmtu-button-radius-soft, 6px);
	color: var(--fkmtu-secretariat-text, var(--fkmtu-color-text, #111));
	background: var(--fkmtu-secretariat-card-bg, #fff);
	font-size: var(--fkmtu-font-size-body, 15px);
}

.fkmtu-secretariat-ui-button.is-round-soft:hover,
.fkmtu-secretariat-ui-button.is-round-soft:focus-visible {
	color: var(--fkmtu-secretariat-text, var(--fkmtu-color-text, #111));
	background: var(--fkmtu-color-hover-neutral, #f2f4f6);
	text-decoration: none;
}

.fkmtu-secretariat-ui-button.is-round-soft.is-compact {
	height: var(--fkmtu-control-height-compact, 30px);
	min-height: var(--fkmtu-control-height-compact, 30px);
	padding: 0 var(--fkmtu-button-padding-inline-compact, 10px);
	font-size: var(--fkmtu-font-size-small, 12px);
}

.fkmtu-secretariat-ui-button.is-round-soft.is-primary {
	border-color: var(--fkmtu-color-text-secondary, #505050);
	color: var(--fkmtu-color-surface, #fff);
	background: var(--fkmtu-color-text-secondary, #505050);
}

.fkmtu-secretariat-ui-button.is-round-soft.is-primary:hover,
.fkmtu-secretariat-ui-button.is-round-soft.is-primary:focus-visible {
	border-color: var(--fkmtu-color-text, #111);
	color: var(--fkmtu-color-surface, #fff);
	background: var(--fkmtu-color-text, #111);
}

.fkmtu-secretariat-ui-button.is-round-soft.is-danger {
	border-color: #b42318;
	color: #b42318;
	background: var(--fkmtu-secretariat-card-bg, #fff);
}

.fkmtu-secretariat-ui-button.is-round-soft.is-danger:hover,
.fkmtu-secretariat-ui-button.is-round-soft.is-danger:focus-visible {
	border-color: #b42318;
	color: #fff;
	background: #b42318;
}

.fkmtu-detail-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	gap: 8px;
	margin: 12px 0 60px;
	padding-top: 12px;
	border-top: 1px solid #222;
}

.fkmtu-detail-actions form {
	display: inline-flex;
	margin: 0;
}

/* 헤더·페이지 기능에서 함께 사용하는 내부 돋보기 검색 필드 */
.fkmtu-search-field {
	position: relative;
	display: flex;
	width: 100%;
	margin: 0;
}

body:not(.wp-admin) :where(.fkmtu-search-field) > input[type="search"] {
	display: block;
	width: 100%;
	min-width: 0;
	height: 38px;
	margin: 0;
	padding: 0 42px 0 14px;
	border: var(--fkmtu-border-width) solid var(--fkmtu-color-link-hover);
	border-radius: 5px;
	outline: 0;
	color: var(--fkmtu-color-text);
	background: var(--fkmtu-color-surface);
	font-size: var(--fkmtu-font-size-body);
	line-height: 1;
	box-shadow: none;
}

body:not(.wp-admin) :where(.fkmtu-search-field) > input[type="search"]:focus {
	border-color: var(--fkmtu-color-link-hover);
	box-shadow: 0 0 0 1px var(--fkmtu-color-link-hover);
}

body:not(.wp-admin) :where(.fkmtu-search-field) > .fkmtu-search-field-submit {
	position: absolute;
	top: 0;
	right: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	min-height: 38px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 5px;
	color: var(--fkmtu-color-link-hover);
	background: transparent;
	box-shadow: none;
	cursor: pointer;
}

body:not(.wp-admin) :where(.fkmtu-search-field) > .fkmtu-search-field-submit:hover,
body:not(.wp-admin) :where(.fkmtu-search-field) > .fkmtu-search-field-submit:focus-visible {
	color: var(--fkmtu-color-link-hover);
	background: transparent;
	outline: 0;
	box-shadow: none;
}

.fkmtu-search-field-submit svg {
	display: block;
	width: 22px;
	height: 22px;
	pointer-events: none;
}

/* 상세화면 공통 첨부파일 */
body:not(.wp-admin) :where(.fkmtu-detail-attachments,
	.xe-attachments,
		.fkmtu-attach-box:has(> :is(h3, strong) + ul)
	.fkmtu-attachments) {
	margin: 28px 0 0;
	padding: 24px 0 28px;
	border-top: 1px solid var(--fkmtu-color-divider);
	background: transparent;
}

body:not(.wp-admin) :where(.fkmtu-detail-attachments,
	.xe-attachments,
		.fkmtu-attach-box:has(> :is(h3, strong) + ul)
	.fkmtu-attachments)> :where(h3, h4, strong) {
	display: block;
	margin: 0 0 14px;
	color: var(--fkmtu-color-text);
	font-size: var(--fkmtu-font-size-menu);
	font-weight: var(--fkmtu-font-weight-bold);
	line-height: 1.4;
}

body:not(.wp-admin) :where(.fkmtu-detail-attachments,
	.fkmtu-attach-box:has(> :is(h3, strong) + ul))>ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(.wp-admin) :where(.fkmtu-detail-attachments,
	.fkmtu-attach-box:has(> :is(h3, strong) + ul))>ul>li,
body:not(.wp-admin) :where(.xe-attachments,
	.fkmtu-attachments)>p {
	margin: 0 0 8px;
	padding: 0;
	list-style: none;
	line-height: 1.5;
}

body:not(.wp-admin) :where(.fkmtu-detail-attachments,
	.fkmtu-attach-box:has(> :is(h3, strong) + ul))>ul>li:last-child,
body:not(.wp-admin) :where(.xe-attachments,
	.fkmtu-attachments)>p:last-child {
	margin-bottom: 0;
}

body:not(.wp-admin) :where(.fkmtu-detail-attachments,
	.xe-attachments,
	.fkmtu-attach-box:has(> :is(h3, strong) + ul),
	.fkmtu-attachments) a {
	color: var(--fkmtu-color-link);
	text-decoration: underline;
	text-underline-offset: 2px;
}

body:not(.wp-admin) :where(.fkmtu-detail-attachments,
	.xe-attachments,
	.fkmtu-attach-box:has(> :is(h3, strong) + ul),
	.fkmtu-attachments) a:is(:hover, :focus-visible) {
	color: var(--fkmtu-color-link-hover);
}

/* 홈페이지 전역 공통 상태 배지 */
.fkmtu-ui-status-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: var(--fkmtu-control-height-small);
	min-height: var(--fkmtu-control-height-small);
	padding: 2px var(--fkmtu-button-padding-inline) 0;
	border: var(--fkmtu-border-width) solid var(--fkmtu-color-card-border);
	border-radius: var(--fkmtu-button-radius-strong);
	color: var(--fkmtu-color-text);
	background: var(--fkmtu-color-surface);
	font-size: var(--fkmtu-font-size-body);
	font-weight: var(--fkmtu-font-weight-medium);
	line-height: 1;
	white-space: nowrap;
	cursor: default;
	box-shadow: none;
}

@media (max-width: 768px) {
	:root {
		--fkmtu-font-size-page-title: 24px;
	}
}
