@charset "utf-8";

/* Variables */
:root {
	--container-width: 1400px;
	--container-padding: 1rem;

	--base-text-family: "Elice DX Neolli", sans-serif;
	--base-text-color: #393939;

	--primary-color: #682cde;
	--violet-02: #a77cff;
	--bg-navy: #0c183e;
	--bg-gray: #f1f4f8;
	--bg-deep-gray: #424242;
	--bg-gray-box: #f6f7fb;
	--line-gray: #dcdcdc;
	--txt-gray: #656565;
	--gradient-blue: linear-gradient(123deg, #3159ea 19.57%, #635ef8 101.86%);

	--forum-color: #1d92ff;
	/* --show-color: #ff6e1d; */
	--show-color: #ee661a;
	--exhibition-color: #9a5dff;
	/* --sport-color: #4fc831; */
	--sport-color: #3ca823;
	--etc-color: #f740b9;
}

@media (max-width: 740px) {
	:root {
		--container-padding: 1.5rem;
	}
}

html {
	font-size: 20px;
}

@media (max-width: 1300px) {
	html {
		font-size: 1.4vw;
	}
}
@media (max-width: 1000px) {
	html {
		font-size: 1.5vw;
	}
}
@media (max-width: 740px) {
	html {
		font-size: 3.5vw;
	}
}

/* placeholder */
::placeholder {
	color: #a2a2a2;
	opacity: 1;
}

/* scrollbar */
::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}
::-webkit-scrollbar-track {
	background-color: #efefef;
}
::-webkit-scrollbar-thumb {
	border-radius: 3px;
	background-color: #bcbcbc;
}
::-webkit-scrollbar-button {
	width: 0;
	height: 0;
}

@media (max-width: 740px) {
	::-webkit-scrollbar {
		width: 6px;
		height: 6px;
	}

	::-webkit-scrollbar-thumb {
		border-radius: 0;
	}
}

/* resets */
* {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}

*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

a {
	cursor: pointer;
	color: inherit;
	text-decoration: none !important;
}

a:hover {
	text-decoration: none !important;
}

a:visited {
	text-decoration: none !important;
}

a:link {
	text-decoration: none !important;
}

a:active {
	text-decoration: none !important;
}

button {
	cursor: pointer;
}

ul {
	list-style: none;
	padding: 0px;
	margin: 0px;
}

ol {
	list-style: none;
	padding: 0;
}

img {
	max-width: 100%;
	border: none;
	box-sizing: border-box;
	vertical-align: middle;
	border: 0;
}

html,
body {
	color: var(--base-text-color);
	line-height: 1.4;
	word-break: keep-all;
	letter-spacing: -0.01em;
	margin: 0;
	padding: 0;
	font-family: var(--base-text-family);
	position: relative;
	/* overflow-x: hidden; */
}

.blind,
.hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px 1px 1px 1px);
	font-size: 2px;
	line-height: 0.5;
	margin: 0 !important;
}

.hide {
	display: none;
}

.hidden-scroll {
	overflow: hidden;
}

table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}

caption {
	overflow: hidden;
	width: 0.1rem;
	height: 0.1rem;
	margin-top: -0.1rem;
}

input {
	font-family: var(--base-text-family);
	overflow-wrap: break-word;
	word-wrap: break-word;
	word-break: keep-all;
	line-break: normal;
}

select,
button {
	font-family: inherit;
}

/* skip */
.skip a {
	display: block;
	position: absolute;
	left: 0;
	top: -9999em;
	z-index: 9999;
	overflow: hidden;
	width: 100%;
	background-color: #333;
	color: #fff;
	font-size: 1.2em;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	line-height: 2.2;
}

.skip a:hover,
.skip a:active,
.skip a:focus {
	top: 0;
}

/* 공통 */
.area {
	display: table;
	width: 100%;
	border-top: 0.1rem solid #e2e2e2;
}

.area-max {
	display: table;
	width: 100%;
	max-width: 1800px;
	margin-left: auto;
	margin-right: auto;
}

.area-basic {
	display: table;
	width: 100%;
	max-width: var(--container-width);
	margin-left: auto;
	margin-right: auto;
	table-layout: fixed;
}

.area-container,
.area-main {
	max-width: var(--container-width);
	margin: 0 auto;
}

@media (max-width: 1460px) {
	.area-container,
	.area-main {
		padding-left: var(--container-padding);
		padding-right: var(--container-padding);
	}
}

.arrow {
	position: relative;
	width: 2rem;
	height: 2rem;
}

.arrow span {
	position: absolute;
	text-indent: -100px;
	overflow: hidden;
}

.arrow:after {
	font-family: "Material Icons";
	content: "\e5e0";
	position: absolute;
	display: block;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.arrow.left:after {
	content: "\e5e0";
	left: 60%;
}

.arrow.right:after {
	content: "\e5e1";
}

.arrow.down:after {
	content: "\e313";
}

.nav-sub {
	display: table;
	width: auto;
}

.nav-sub li {
	display: table-cell;
	padding: 0 1rem;
	border-bottom: 2px solid #ccc;
	padding-bottom: 0.5rem;
	opacity: 0.5;
	font-weight: 600;
}

.nav-sub li.on {
	opacity: 1;
	border-bottom: 2px solid #333;
}

.nav-sub li:nth-child(2).on {
	color: #229bd0;
	border-bottom: 2px solid #229bd0;
}

.nav-sub li:nth-child(3).on {
	color: #70b641;
	border-bottom: 2px solid #70b641;
}

.nav-sub li:nth-child(4).on {
	color: var(--show-color);
	border-bottom: 2px solid var(--show-color);
}

.nav-sub li:nth-child(5).on {
	color: var(--exhibition-color);
	border-bottom: 2px solid var(--exhibition-color);
}

.usr-button-1 {
	display: inline-block;
	width: auto;
	padding: 0.83rem 1.5rem;
	position: relative;
	width: 18.75rem;
	background-color: var(--forum-color);
	color: #fff;
	font-size: 1.15rem;
	font-weight: bold;
	border-radius: 0.63775rem;
}

.usr-button-1.home {
	width: 6rem;
	padding: 0.5rem 0rem 0.5rem 1rem;
	line-height: 110%;
	font-size: 0.7rem;
	float: right;
	margin-right: 0.2rem;
}

.usr-button-1:after {
	content: "\f1df";
	font-family: "Material Icons";
	position: absolute;
	right: 1rem;
}

.usr-button-more {
	display: flex;
	align-items: center;
	padding: 0.5rem 1.45rem;
	margin: 0 auto;
	background-color: #fff;
	font-size: 1rem;
	border: 1px solid #333;
	position: relative;
	/* width: 7rem; */
	text-align: left;
	margin-top: 3rem;
	font-family: "Pretendard";
	font-weight: 500;
}

.usr-button-more:after {
	content: "\e145";
	font-family: "Material Icons";
	display: block;
	margin-left: 0.4rem;
}

.usr-button-1.download {
	background-color: var(--primary-color);
	text-align: left;
}
.usr-button-1.download:after {
	content: "\f019";
	font-family: "Font Awesome 6 Pro";
	font-weight: bold;
	position: absolute;
	right: 1.5rem;
	font-size: 1.2rem;
}

.usr-button-list {
	display: inline-block;
	padding: 1.2rem 2rem;
	background-color: #fff;
	font-size: 1rem;
	border: 1px solid #333;
	line-height: 0;
	text-align: center;
	margin-top: 3rem;
	font-weight: 700;
}

@media (max-width: 740px) {
	.usr-button-list {
		padding: 1rem 2rem;
	}
}

thead.thead-hidden {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
}

/* 로딩중 */
#loader {
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
	width: 100%;
	height: 100%;
	background: #fff;
}
#loader img {
	width: 500px;
	max-width: 80%;
	animation: fadeInUp 2s;
}

@keyframes fadeInUp {
	0% {
		opacity: 0;
		transform: translateY(-50px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

/* modal ---------------------------------------------------------------- */
.modal {
	display: none;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1004;
}
.modal.on {
	display: block;
}
.modal .modal-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: row;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1001;
	animation: fadeInTop 0.4s;
	width: 100%;
}
.modal .modal-contents {
	max-width: calc(100% - var(--container-padding) * 2);
	max-height: calc(100vh - 2rem);
	overflow: hidden;
	position: relative;
	display: flex;
	flex-direction: column;
	width: 20rem;
	background: #fff;
	border-radius: 0.5rem;
	border: 1px solid var(--primary-color);
}
.modal .modal-contents.modal-small {
	width: 16rem;
}
.modal .modal-contents.modal-medium {
	width: 30rem;
}
.modal .modal-contents.modal-large {
	width: 48.5rem;
}
.modal .modal-head {
	flex: 0 0 auto;
	text-align: center;
	padding: 0.7rem 0 0.5rem;
	border-bottom: 0.05rem solid var(--line-gray);
	background: #f6f7fb;
}
.modal .modal-title {
	font-size: 0.9rem;
	font-weight: bold;
}
.modal .modal-body {
	padding: 1rem var(--container-padding);
	flex: 1 1 auto;
	min-width: 0;
	overflow-y: auto;
}
.modal:not(:has(.modal-head)) .modal-body {
	padding-top: 1.8rem;
}
.modal .modal-desc {
	text-align: center;
	margin-bottom: 0.85rem;
	font-size: 0.9rem;
	color: #4a4a4a;
	font-weight: bold;
}
.modal .modal-button {
	margin-top: 1.25rem;
	text-align: center;
}
.modal .modal-button .btn {
	margin: 0 0.25rem;
	height: 1.85rem;
	min-width: 5.25rem;
	border-radius: 5rem;
	font-size: 0.7rem;
}
.modal .btn-modal-close {
	position: absolute;
	top: 0.55rem;
	right: 0.75rem;
	width: 1.5rem;
	height: 1.5rem;
	color: var(--txt-gray);
	font-size: 1.1rem;
	line-height: 1;
	border: 0;
	background: none;
}
.modal .btn-modal-close i {
	line-height: 1;
	vertical-align: top;
}
.modal .board-write {
	border-top: 2px solid var(--gray-line);
}

@media (max-width: 740px) {
	/*  .modal .modal-wrap {
        animation: none;
    }

    .modal .modal-title {
        font-size: 1.6rem;
    }
	
    .modal .modal-body {
        font-size: 1.4rem;
    }

    .modal .modal-desc {
        margin-bottom: 1.2rem;
        font-size: 1.6rem;
    }
    .modal .modal-button {
        margin-top: 2rem;
    }
    .modal .modal-button .btn {
        height: 3.2rem;
        font-size: 1.2rem;
        min-width: 8rem;
    }
    .modal .check-box-form {
        width: calc((100% - 6rem) / 3);
    }
    .modal .board-write {
        border-top: 0;
        border-bottom: 0;
        padding-top: 0;
        padding-bottom: 0;
    } */
}

.modal-bg {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
	background: rgba(0, 0, 0, 0.5);
}

/* 공유하기 */
.share-list {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: row;
	text-align: center;
	gap: 0.75rem;
}
.share-list li {
	flex: 1 1 100%;
	min-width: 0;
}
.share-list a {
	display: block;
	margin: 0 auto;
}
.share-list .txt {
	display: block;
	margin-top: 0.5rem;
	color: #656565;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: -0.01rem;
}

/* header ---------------------------------------------------------------- */
header {
	display: block;
	width: 100%;
	padding-left: var(--container-padding);
	padding-right: var(--container-padding);
	height: 5rem;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	font-size: 1rem;
	background: #fff;
	font-family: var(--base-text-family);
	border-bottom: 1px solid #e2e2e2;
	transition: background 0.4s;
}

body:has(.top-notice) header {
	top: 2.35rem;
}

header:after {
	content: "";
	position: absolute;
	width: 100%;
	left: 0;
	top: 5rem;
	height: 0rem;
	background-color: rgba(255, 255, 255, 0.9);
	transition: height 0.3s linear;
}

header > div.pc {
	display: flex;
	align-items: center;
	position: relative;
	max-width: 1400px;
	height: 100%;
	margin-left: auto;
	margin-right: auto;
}

header > div.pc > h1,
header > div.pc > nav,
header > div.pc > div {
	vertical-align: middle;
}

header > div.pc > h1 {
	flex: 0 0 21.5%;
	margin-right: 1rem;
}
header > div.pc > h1 .white {
	display: none;
}

header > div.pc > nav {
	/* white-space: nowrap; */
	display: flex;
	align-items: center;
	margin-left: auto;
}

header > div.pc > nav > ul {
	display: flex;
	height: 100%;
	width: auto;
}

header > div.pc > nav > .program {
	border-radius: 12rem;
	background: #e9e9e9;
	border: 1px solid rgba(255, 255, 255, 0.72);
	font-weight: 500;
}
header > div.pc > nav > .program > li {
	margin-left: 0;
}
header > div.pc > nav > .program > li > a {
	display: block;
	border-radius: 12rem;
	padding: 0.6rem 1.55rem;
}
header > div.pc > nav > .program > li.active > a,
header > div.pc > nav > .program > li > a:hover,
header.on > div.pc > nav > .program > li.on > a {
	color: #fff !important;
	background-color: var(--primary-color);
	font-weight: 600;
}
header > div.pc > nav > .etc {
	margin-left: 1.4rem;
	font-weight: bold;
}

header > div.pc > nav > ul > li {
	vertical-align: middle;
	line-height: 1.3;
	text-align: center;
}
header > div.pc > nav > .etc > li {
	position: relative;
}
header > div.pc > nav > .etc > li.active > a,
header > div.pc > nav > .etc > li > a:hover,
header.on > div.pc > nav > .etc > li.on > a {
	color: var(--primary-color) !important;
}

header > div.pc > nav > ul > li + li {
	margin-left: 1.3rem;
}

header nav a {
	display: block;
	position: relative;
}
header > div.pc > nav > ul > li > a {
	text-wrap: balance;
}
/* header > div.pc > nav > ul > li > a.strong {
	color: var(--primary-color);
} */
header > div.pc > nav > ul > li > ul {
	display: none;
	position: absolute;
	top: 3.2rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 101;
	height: 3.5rem;
	white-space: nowrap;
	align-items: center;
}

header > div.pc > nav > ul > li > ul > li {
	margin-right: 1.6rem;
	flex: 0 0 auto;
}
header > div.pc > nav > ul > li > ul > li > a {
	font-size: 0.9rem;
	font-weight: 500;
}
header > div.pc > nav > ul > li > ul > li > a:hover {
	color: var(--primary-color) !important;
	font-weight: 600;
}

header > div.pc > nav > ul > li > ul > li:last-child {
	margin-right: 0;
}

/* header > div.pc > nav > .etc > li:last-child > ul {
	left: auto;
	right: 0;
	transform: none;
} */
[lang="en"] header > div.pc > nav > ul > li:last-child > ul > li {
	max-width: 7rem;
}

header .depth-2-wrap {
	display: none;
	position: absolute;
	top: 5rem;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	max-width: 2000px;
	margin: 0 auto;
	z-index: 101;
	/* height: 16.75rem; */
	height: 0;
	padding: 2rem var(--container-padding);
	text-align: left;
}

header .depth-2-wrap > ul > li + li {
	margin-top: 1rem;
}

header .depth-2-wrap li > a {
	position: relative;
	display: flex;
	align-items: center;
	width: 22.875rem;
	height: 3.6rem;
	background: #fff;
	padding: 0 2rem;
	border-radius: 5rem;
	border: 0.2rem solid var(--base-text-color);
	color: var(--base-text-color);
	background: #fff;
	font-size: 1.1rem;
	font-weight: bold;
	letter-spacing: 0.011rem;
}
header .depth-2-wrap li > a::after {
	content: "\f14c";
	margin-left: auto;
	padding-left: 1rem;
	font-family: "Font Awesome 6 Pro";
	font-weight: 400;
	font-size: 1.3rem;
}

header .depth-2-wrap li.on > a {
	background: var(--primary-color);
	color: #fff;
}
header .depth-2-wrap li.on > a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 100%;
	width: 10rem;
	height: 0.2rem;
	margin-top: -0.1rem;
	background: var(--base-text-color);
}

header .depth-2-program {
	display: none;
	align-items: center;
	position: absolute;
	top: 1rem;
	left: 30.375rem;
	right: var(--container-padding);
	bottom: 1rem;
	z-index: 1;
	border-radius: 1rem;
	border: 0.2rem solid var(--base-text-color);
	background: #fff;
	padding: 1.5rem 2rem;
	overflow: hidden;
}
header li.on > .depth-2-program {
	display: flex;
}
header .depth-2-program .item-image {
	flex: 0 0 18rem;
	height: 100%;
	border-radius: 0.4rem;
	overflow: hidden;
	margin-right: 2rem;
}
header .depth-2-program .item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
header .depth-2-program .item-body {
	flex: 1 1 100%;
	min-width: 0;
}
header .depth-2-program .item-meta {
	font-size: 1.1rem;
	line-height: 1.5;
}
header .depth-2-program .item-meta div {
	display: flex;
}
header .depth-2-program .item-meta div + div {
	margin-top: 0.2rem;
}
header .depth-2-program .item-meta dt {
	font-weight: bold;
	flex: 0 0 auto;
	margin-right: 1rem;
}
header .depth-2-program .item-meta dd {
	font-weight: 500;
	flex: 1 1 100%;
	min-width: 0;
}
header .depth-2-program .item-desc {
	margin-top: 1rem;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	font-size: 0.95em;
	font-weight: 500;
	line-height: 1.8;
}

header .languages {
	margin-left: 1.4rem;
}

header .languages a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.45rem;
	height: 2.45rem;
	border-radius: 50%;
	background: #fff;
	border: 1px solid var(--line-gray);
	font-size: 0.8rem;
	font-weight: bold;
	transition: 0.3s;
	padding-top: 0.1rem;
}
header .languages a:hover {
	color: #fff;
	background: var(--primary-color);
	border-color: var(--primary-color);
}

header .search {
	margin-left: 0.65rem;
}
header:not(:has(.languages)) .search {
	margin-left: 1.6rem;
}

header .search .btn-search {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.45rem;
	height: 2.45rem;
	border-radius: 50%;
	background: var(--primary-color);
	color: #fff;
	font-size: 0.9rem;
	border: 0;
}

header .search-box {
	display: none;
	align-items: center;
	position: absolute;
	top: 0.8rem;
	left: 23%;
	right: 0;
	gap: 0.6rem;
	padding: 0.5rem 0 0.5rem 5.5rem;
}
header .search-box.on {
	display: flex;
	background: #fff;
	transition: all 0.4s;
}
header .search-box .input {
	flex: 1 1 100%;
	min-width: 0;
	height: 2.5rem;
	border: 0;
	border-bottom: 0.2rem solid var(--primary-color);
	font-size: 0.9rem;
	font-weight: 500;
	padding: 0 1rem;
	background: none;
}
header .search-box .input:focus {
	/* outline-color: var(--primary-color); */
}
header .search-box .input::placeholder {
	color: #a2a2a2;
}
header .search-box .input::-webkit-search-cancel-button {
	appearance: none;
	width: 1rem;
	height: 1rem;
	background: url("../images/circle-xmark.svg") no-repeat 50% 50% / contain;
	cursor: pointer;
}
header .search-box .btn-search {
	flex: 0 0 auto;
}
header .search-box .btn-close {
	flex: 0 0 auto;
	font-size: 2.1rem;
	border: 0;
	background: none;
	display: flex;
	align-items: center;
	justify-content: center;
}

header.on {
}

header.on:has(li.on ul):after {
	content: "";
	box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.16);
}

header.on:has(.program li.on ul):after {
	height: 16.75rem;
	transition: all 0.4s;
}

header.on:has(.etc li.on ul):after {
	height: 3.5rem;
	transition: all 0.2s;
}

header.on > div.pc > nav > ul > li.on > ul {
	display: flex;
}
header.on li.on > .depth-2-wrap {
	display: block;
	animation: menuDown 0.4s forwards;
}

@keyframes menuDown {
	0% {
		height: 0;
	}

	100% {
		height: 16.75rem;
	}
}

/* 메인 헤더 */
body:has(.main) header {
	background: transparent;
	border-bottom-color: rgba(255, 255, 255, 0.35);
}
body:has(.main) header > div.pc > h1 .default {
	display: none;
}
body:has(.main) header > div.pc > h1 .white {
	display: inline;
}
body:has(.main) header > div.pc > nav > .program {
	background: transparent;
}
body:has(.main) header > div.pc > nav > ul > li > a {
	color: #fff;
}
body:has(.main) #app-view {
	margin-top: 0;
}

/* 메인 헤더 스크롤시 */
body:has(.main) header.scroll,
body:has(.main) header.white {
	background: #fff;
	border-bottom-color: #e2e2e2;
}
body:has(.main) header.scroll > div.pc > h1 .default,
body:has(.main) header.white > div.pc > h1 .default {
	display: inline;
}
body:has(.main) header.scroll > div.pc > h1 .white,
body:has(.main) header.white > div.pc > h1 .white {
	display: none;
}
body:has(.main) header.scroll > div.pc > nav > .program,
body:has(.main) header.white > div.pc > nav > .program {
	background: #e9e9e9;
}
body:has(.main) header.scroll > div.pc > nav > ul > li > a,
body:has(.main) header.white > div.pc > nav > ul > li > a {
	color: var(--base-text-color);
}

@media (max-width: 1500px) {
	header .depth-2-wrap li > a {
		width: 20rem;
	}

	header .depth-2-program {
		left: 24rem;
	}

	/* header .depth-2-program .item-desc {
		-webkit-line-clamp: 2;
	} */
}

@media (max-width: 1300px) {
	header .search-box {
		padding-left: 2rem;
	}
}
@media (max-width: 740px) {
	header {
		height: 4.8rem;
	}

	header > div.pc {
		position: static;
	}

	header > div.pc > h1 {
		flex-basis: auto;
	}

	header > div.pc > h1 img {
		height: 1.2rem;
	}

	header > div.pc > nav {
		display: none;
	}

	header .languages {
		margin-left: auto;
	}

	header .search-box {
		left: 0;
		right: 0;
		top: 0;
		height: 4.8rem;
		padding-left: var(--container-padding);
		padding-right: var(--container-padding);
		gap: 1rem;
	}

	header .search-box .btn-close {
		font-size: 2.85rem;
		width: 2.625rem;
	}

	.toggle-mnu {
		display: block;
		width: 2.625rem;
		height: 1.95rem;
		background: url(../images/icon_menu.svg) no-repeat 50% 50% / contain;
		margin-left: 1rem;
	}

	/* 메인 헤더 */
	body:has(.main) header {
		background: #fff;
	}
	body:has(.main) #app-view {
		margin-top: 4.8rem;
	}

	body:has(.main) header > div.pc > h1 .default {
		display: inline;
	}

	body:has(.main) header > div.pc > h1 .white {
		display: none;
	}
}

.menu-mobile {
	display: none;
}

@media (max-width: 740px) {
	html.open .menu-mobile {
		transform: translateX(0);
		overflow-y: auto;
		transition: all 0.8s;
		/*-webkit-overflow-scrolling: touch;*/
		overscroll-behavior: none;
	}

	.menu-mobile {
		z-index: 10000;
		transition: all 0.8s;
		overflow: hidden;
		height: 100%;
		position: fixed;
		background-color: #fff;
		width: 100%;
		top: 0;
		right: 0;
		transform: translateX(100%);
		display: flex;
		flex-direction: column;
	}

	.menu-mobile .header {
		display: table;
		width: 100%;
		padding: 0.97rem 0;
		border-bottom: 1px solid #e2e2e2;
		font-size: 1.2rem;
		font-weight: 500;
	}

	.menu-mobile .header .area-sub {
		display: table-cell;
		vertical-align: middle;
	}

	.menu-mobile .header .area-sub.order-1 {
		padding-left: 1.5rem;
		color: #949494;
	}

	.menu-mobile .header .area-sub.order-2 {
		text-align: right;
		padding-right: 0.8rem;
	}

	.menu-mobile .header .area-sub.order-2 .menu-mobile-close-cl {
		display: inline-block;
		position: relative;
		vertical-align: top;
	}
	.menu-mobile .header .area-sub.order-2 .menu-mobile-close-cl:after {
		font-family: "Material Icons";
		content: "\e5cd";
		font-size: 2.8rem;
		vertical-align: top;
		line-height: 1;
	}

	.menu-mobile nav > ul {
		display: table;
		width: 100%;
	}

	.menu-mobile nav > ul > li {
		display: block;
		width: 100%;
		font-size: 1.65rem;
		border-bottom: 1px solid #e2e2e2;
	}

	.menu-mobile nav > ul > li > a {
		display: block;
		width: 100%;
		position: relative;
		padding: 1.4rem 4.5rem 1.4rem 1.5rem;
		font-weight: bold;
	}

	.menu-mobile nav > ul > li:has(ul) > a:after {
		content: "\f078";
		font-family: "Font Awesome 6 Pro";
		font-weight: bold;
		color: var(--primary-color);
		font-size: 1.5rem;
		position: absolute;
		top: 50%;
		right: 1.5rem;
		transform: translateY(-50%);
	}

	.menu-mobile nav > ul > li:has(ul).on > a {
		color: var(--primary-color);
	}

	.menu-mobile nav > ul > li:has(ul).on > a:after {
		content: "\f077";
	}

	.menu-mobile nav > ul > li > ul {
		display: none;
		padding: 1rem 1.5rem;
		background: var(--bg-gray);
		font-size: 1.35rem;
		font-weight: 500;
	}
	.menu-mobile nav > ul > li.on ul {
		display: block;
		border-top: 1px solid #e2e2e2;
	}

	.menu-mobile nav > ul > li > ul > li {
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
	}

	.menu-mobile nav > ul > li > ul > li > a:hover {
		color: var(--primary-color);
	}

	.menu-mobile .sns-wrap {
		margin-top: auto;
		text-align: center;
		padding-top: 2rem;
	}

	.menu-mobile .copy {
		color: #818181;
		text-align: center;
		font-size: 1.05rem;
		font-weight: 500;
		padding: 1.2675rem 0;
	}
}

footer {
	background: url("../images/bg_footer.png") no-repeat 50% 50% / cover;
	text-align: center;
}

footer .area-main {
	position: relative;
}

footer .footer-top {
	padding-top: 3.75rem;
	padding-bottom: 2.95rem;
	text-align: center;
	color: #e4e1d7;
	font-family: var(--base-text-family);
}
footer .footer-top .talk-text {
	font-size: 1.3524rem;
	letter-spacing: -0.02705rem;
	font-weight: 300;
	line-height: 1.79;
	opacity: 0.71;
}
footer .footer-top .talk-button {
	margin-top: 2rem;
	border-radius: 3rem;
	background: var(--gradient-blue);
	padding: 0.6762rem 3.9rem;
	color: #fff;
	font-family: var(--base-text-family);
	font-size: 1.127rem;
	font-weight: 700;
	line-height: 1.3524rem;
	border: 0;
}
footer .footer-top .talk-text strong {
	font-weight: bold;
}
footer .sns-wrap {
	margin-top: 2rem;
}

footer .footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.39);
	padding: 3.2rem 0 2.3rem;
}

footer .footer-left img {
	margin: 0 1rem;
}
footer .footer-left a:first-child img {
	height: 2.3637rem;
}
footer .footer-left a:last-child img {
	height: 3.45rem;
}

footer p.copy {
	margin-top: 1.63rem;
	color: #d8d8d8;
	font-size: 1.2rem;
	line-height: normal;
}

footer .footer-right {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	text-align: right;
}
footer .footer-right .item-wrap + .item-wrap {
	margin-top: 1.5rem;
}

footer .sns {
	opacity: 0.7;
	margin-left: 0.3rem;
}
footer .sns img {
	height: 2.397rem;
}
footer .mark img {
	width: 4.5rem;
}

@media (max-width: 740px) {
	footer {
	}

	footer .area-main {
		padding-left: var(--container-padding);
		padding-right: var(--container-padding);
	}

	footer .footer-top {
		padding: 2.7rem 0 2rem;
	}
	footer .footer-top .talk-button {
		margin-top: 1rem;
	}

	footer .footer-bottom {
		padding-top: 2rem;
		padding-bottom: 1.65rem;
	}

	footer .footer-left img {
	}
	footer .footer-right {
		position: static;
		transform: none;
		text-align: center;
		margin-top: 2rem;
	}

	footer p.copy {
		margin-top: 1.8rem;
		text-align: center;
	}

	footer .sns img {
		width: 2.86755rem;
		height: 2.86755rem;
	}

	footer .mark img {
		width: 6rem;
	}
}

.pc-view {
	display: block;
}

.mobile-view {
	display: none;
}

@media (max-width: 740px) {
	.pc-view {
		display: none;
	}

	.mobile-view {
		display: block;
	}
}

#app-view {
	margin-top: 5rem;
}

#app-view:has(.main) {
	overflow-x: hidden;
}

body:has(.top-notice) #app-view {
	margin-top: 7.35rem;
}
body:has(.top-notice):has(.main) #app-view {
	margin-top: 0;
}

@media (max-width: 740px) {
	#app-view {
		margin-top: 4.8rem;
	}

	body:has(.top-notice) #app-view,
	body:has(.top-notice):has(.main) #app-view {
		margin-top: 7.15rem;
	}
}

/* 메인 */
.main {
	background: #0c173c;
	position: relative;
}

@media (max-width: 1240px) {
	.main .area-container {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

/* 메인 > 비주얼 -------------------------*/
.main-banner {
	position: relative;
}

.visual {
	overflow: hidden;
	position: relative;
	height: 53.95rem;
}
.visual .area-main {
	height: 100%;
	position: relative;
}
.visual .text {
	position: absolute;
	left: 0;
	right: 0;
	z-index: 2;
	padding-top: 14rem;
	color: #fff;
	font-family: var(--base-text-family);
	text-align: center;
}
.visual .text1 {
	font-size: 6.5rem;
	font-weight: 600;
	line-height: 1.2;
	overflow: hidden;
}
.visual .text1 div {
	transform: translateY(100%);
}
.visual .text2 {
	margin-top: 2rem;
	font-size: 1.55rem;
	letter-spacing: 0.0155rem;
	text-shadow: 0px 4px 56.1px rgba(0, 0, 0, 0.28);
	font-weight: 600;
	line-height: 1.5;
	opacity: 0;
	text-wrap: balance;
}

.visual .more {
	text-align: center;
	margin-top: 1rem;
}
.visual .more a {
	display: inline-flex;
	align-items: center;
	gap: 0.42rem;
	opacity: 0.79;
	color: #fff;
	font-size: 0.8573rem;
	font-weight: 700;
	letter-spacing: 0.00855rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.68);
}
.visual .more a:hover {
	opacity: 1;
	border-bottom-color: #fff;
}

.visual.ready .text1 div {
	animation: showUp 1.4s forwards;
}
.visual.ready .text2,
.visual.ready .more {
	animation: fadeIn 1s 0.4s forwards;
}

.visual .image {
	height: 100%;
}

.visual-swiper {
	height: 100%;
}

.visual-swiper .swiper-slide > img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: top center;
}

.visual-swiper .visual-controls {
	position: absolute;
	bottom: 14rem;
	z-index: 2;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
}
.visual-swiper .visual-button-next,
.visual-swiper .visual-button-prev {
	color: #fff;
	border: 0;
	font-size: 1.4rem;
	background: none;
}
.visual-swiper .visual-button-pause,
.visual-swiper .visual-button-play {
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
	width: 0.9rem;
	height: 0.9rem;
	background-color: transparent;
	border: none;
}
.visual-swiper .visual-button-play {
	background-image: url("../images/icon_visual_play.svg");
	display: none;
}
.visual-swiper .visual-button-pause {
	background-image: url("../images/icon_visual_pause.svg");
}
.visual-swiper .visual-pagination {
	width: auto;
}
.visual-swiper .visual-pagination .swiper-pagination-bullet {
	width: 0.5122rem;
	height: 0.5122rem;
	border: 2px solid #fff;
	border-radius: 50%;
	opacity: 1;
	background: none;
}
.visual-swiper .visual-pagination .swiper-pagination-bullet-active {
	width: 2.68915rem;
	height: 0.38415rem;
	border-radius: 1.92085rem;
	background: #97a7c1;
	border: 0;
	position: relative;
	overflow: hidden;
}
.visual-swiper .visual-pagination .swiper-pagination-bullet-active::before {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	transform-origin: left;
	transform: scaleX(var(--per));
}

@media (max-width: 1450px) {
	.visual .text1 {
		font-size: 6rem;
	}
}

@media (max-width: 1024px) {
	.visual .text1 {
		font-size: 5.4rem;
	}
}

@media (max-width: 740px) {
	.visual {
		height: 30.3rem;
	}
	.visual .text {
		padding-top: 4rem;
	}
	.visual .text1 {
		font-size: 3.8rem;
		margin-bottom: 1rem;
		line-height: 1.2;
	}
	.visual .text2 {
		margin-bottom: 1.2rem;
		font-size: 0.9rem;
		line-height: 1.45;
	}

	.visual-swiper .visual-controls {
		bottom: 1.1rem;
	}
}

/* 메인 프로그램 */
.main-program {
	position: relative;
	z-index: 2;
}
.main-program::before {
	content: "";
	position: absolute;
	top: -11.25rem;
	left: 50%;
	transform: translateX(-50%);
	width: 150rem;
	height: 11.25rem;
	/* border-radius: 124.7rem;
	background: linear-gradient(180deg, #0d183d -4.05%, #0c173c 35.05%); */
	background: url("../images/bg_program.png") no-repeat top center;
}
.main-program::after {
	content: "";
	position: absolute;
	bottom: -1rem;
	right: -3.5rem;
	width: 26.1rem;
	height: 26.1rem;
	background: url("../images/deco_program_right.png") no-repeat 50% 50% / contain;
}
.main-program .swiper {
	perspective-origin: 50% -300px;
	overflow: visible;
	z-index: 1;
}
.main-program .swiper::before {
	content: "";
	position: absolute;
	bottom: 6.6rem;
	left: 7.8rem;
	width: 8.45rem;
	height: 2.55315rem;
	background: url("../images/deco_program_left.png") no-repeat 50% 50% / contain;
}
.main-program .swiper::after {
	content: "";
	position: absolute;
	bottom: -16.87rem;
	right: -4rem;
	width: 17.6rem;
	height: 4.851rem;
	background: url("../images/deco_program_right2.png") no-repeat 50% 50% / contain;
}

.main-program .swiper-slide .image {
	transition: transform 1.8s, border-color 0.4s;
	position: relative;
	aspect-ratio: 34 / 45;
	border: 1px solid #8b869b;
	overflow: hidden;
	border-radius: 2.3955rem;
}

.main-program .swiper-slide-active .image {
	transform: scale(1.1);
	z-index: 1;
	border-color: #682cde;
	border-width: 6px;
}

.main-program .swiper-slide .image a {
	display: block;
	height: 100%;
	position: relative;
}

.main-program .swiper-slide .image:focus-within {
	outline: 4px solid red;
}

.main-program .swiper-slide:not(.swiper-slide-active) .image a::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(93, 93, 93, 0.5) 0%, rgba(93, 93, 93, 0.5) 100%);
	mix-blend-mode: multiply;
	border-radius: 2rem;
}

.main-program img {
	object-fit: cover;
	object-position: center;
	display: block;
	transition: all 0.35s cubic-bezier(0.6, 0, 0.4, 1);
	width: 100%;
	height: 100%;
}
.main-program .image a:hover img {
	transform: scale(1.07);
}

.main-program .image .category {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 50%;
	min-width: 4rem;
	transform: translateX(-50%);
	color: #fff;
	background: var(--primary-color);
	font-size: 0.9rem;
	font-weight: bold;
	border-radius: 0 0 5rem 5rem;
	padding: 0.6rem 0.5rem 1.2rem;
	transition: 0.3s;
	text-align: center;
}
.main-program .image .status {
	opacity: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	bottom: 0.84rem;
	right: 0.98rem;
	color: #1c1c1c;
	background: rgba(255, 255, 255, 0.95);
	border: 1px solid #fff;
	border-radius: 50%;
	font-size: 0.9rem;
	font-weight: bold;
	width: 3.5rem;
	height: 3.5rem;
	transition: 0.3s;
}
.main-program .image .status.ing {
	color: var(--primary-color);
}
.main-program .image .status.end {
	color: var(--txt-gray);
}
.main-program .swiper-slide-active .image .category,
.main-program .swiper-slide-active .image .status {
	opacity: 1;
}

.main-program .text {
	display: none;
	position: absolute;
	top: calc(100% + 4rem);
	left: -3%;
	right: -100%;
	color: #fff;
	line-height: 1.6;
}

.main-program .text a {
	display: block;
}

.main-program .text a:hover {
	color: var(--violet-02);
}

.main-program .swiper-slide-active .text {
	display: block;
	animation: fadeIn 1s;
}

.main-program .title {
	font-size: 2.8rem;
	font-weight: bold;
	letter-spacing: 0.028rem;
}

.main-program .info {
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.01145rem;
}

.main-program .program-controls {
	position: absolute;
	bottom: 15%;
	left: 50%;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0 0.25rem;
	transform: translateX(-50%);
}
.main-program .program-controls button {
	border: 0;
	background: none;
	width: 1.8rem;
	height: 1.8rem;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}
.main-program .program-controls .program-prev {
	background-image: url("../images/sns_prev.svg");
}
.main-program .program-controls .program-next {
	background-image: url("../images/sns_next.svg");
}
.main-program .program-controls .program-pause {
	background-image: url("../images/sns_pause.svg");
}
.main-program .program-controls .program-play {
	background-image: url("../images/sns_play.svg");
	display: none;
}

@media (max-width: 1300px) {
	.main-program .swiper::after {
		display: none;
	}
}
@media (max-width: 1024px) {
	.main-program {
		padding-top: 3rem;
	}
}
@media (max-width: 840px) {
	.main-program .program-controls {
		bottom: 23%;
	}
}
@media (max-width: 740px) {
	.main-program {
		padding-top: 10rem;
		margin-bottom: -3rem;
	}
	.main-program::before,
	.main-program::after,
	.main-program .swiper::before {
		display: none;
	}

	.main-program .text {
		left: 0;
		right: 0;
	}

	.main-program .swiper-slide-active img {
		border-width: 4px;
	}
	.main-program .title {
		font-size: 2.1rem;
	}
	.main-program .info {
		font-size: 1.5rem;
	}

	.main-program .program-controls {
		bottom: 16%;
	}
}
@media (max-width: 480px) {
	.main-program {
		padding-top: 13rem;
		margin-bottom: -7rem;
	}

	.main-program .program-controls {
		bottom: 30%;
	}
}

/* 메인 공통 */
.main-title {
	margin-bottom: 1.5rem;
	color: #fff;
	font-size: 4rem;
	font-weight: bold;
	letter-spacing: 0.04rem;
	line-height: 1.4;
}

.main-title .deco {
	color: #8c47fc;
	font-size: 1.85rem;
	font-weight: 500;
	letter-spacing: 0.0185rem;
	margin-right: 1.25rem;
}

.main-title-container {
	display: flex;
	align-items: flex-end;
	margin-bottom: 1.5rem;
}
.main-title-container .main-title {
	margin-bottom: 0;
}
.main-title-container .title-option {
	margin-left: auto;
	padding-bottom: 1rem;
}
.main-title-container .btn-more {
	color: #fff;
	font-size: 1.1rem;
	font-weight: 500;
}
.main-title-container .btn-more:hover {
	color: var(--violet-02);
}
.main-title-container .btn-more i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: 0.85rem;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid var(--bg-gray);
	color: var(--primary-color);
	font-size: 0.78415rem;
}

@media (max-width: 740px) {
	.main-title {
		margin-bottom: 1rem;
		text-align: center;
		font-size: 2.85rem;
	}
	.main-title .deco {
		display: none;
	}

	.main-title-container {
		display: block;
	}
	.main-title-container .title-option {
		margin-left: 0;
		padding-bottom: 0;
		text-align: right;
	}
}

/* 메인 > 일정 */
.main-schedule {
	position: relative;
}
.main-schedule::before {
	content: "";
	position: absolute;
	top: 12.4rem;
	left: -4.65rem;
	width: 13.5rem;
	height: 13.5rem;
	background: url("../images/deco_schedule_left.png") no-repeat 50% 50% / contain;
}
.main-schedule::after {
	content: "";
	position: absolute;
	bottom: 5.35rem;
	right: 0;
	width: 9.65rem;
	height: 12.15rem;
	background: url("../images/deco_schedule_right.png") no-repeat 50% 50% / contain;
}

.main-schedule .area-main {
	position: relative;
	z-index: 1;
}

.main-schedule .schedule-head {
	display: flex;
	align-items: flex-end;
	margin-bottom: 1.6rem;
}

.main-schedule .schedule-tab {
	display: flex;
	gap: 0 1rem;
}
.main-schedule .schedule-tab .btn-tab {
	/* margin-right: -1.4rem; */
	min-width: 8.85rem;
	height: 3.05rem;
	padding: 0 1rem;
	font-size: 1.2rem;
	color: var(--line-gray);
	background: none;
	border: 0;
	border: 0.1rem solid var(--bg-gray);
	font-weight: 300;
	border-radius: 5rem;
	background: #0b1840;
	position: relative;
}
/* .main-schedule .schedule-tab .btn-tab:nth-child(1) {
	z-index: 4;
}
.main-schedule .schedule-tab .btn-tab:nth-child(2) {
	z-index: 3;
}
.main-schedule .schedule-tab .btn-tab:nth-child(3) {
	z-index: 2;
}
.main-schedule .schedule-tab .btn-tab:nth-child(4) {
	z-index: 1;
}
.main-schedule .schedule-tab .btn-tab:last-child {
	margin-right: 0;
} */
.main-schedule .schedule-tab .btn-tab.on {
	/* z-index: 5; */
	background: #fff;
	border-width: 0.2rem;
	border-color: #7e3dff;
	color: #7e3dff;
	font-size: 1.5rem;
	font-weight: bold;
}

.main-schedule .schedule-more {
	margin-left: auto;
}
.main-schedule .schedule-more a {
	color: #fff;
	font-size: 1.1rem;
	font-weight: 500;
}
.main-schedule .schedule-more a:hover {
	color: var(--violet-02);
}
.main-schedule .schedule-more i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: 0.85rem;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid var(--bg-gray);
	color: var(--primary-color);
	font-size: 0.78415rem;
}

.main-schedule .schedule-list > li {
	display: flex;
	gap: 2rem;
	padding: 2.4rem 0;
	border-bottom: 1px solid rgba(138, 179, 255, 0.4);
}
.main-schedule .schedule-list .item-body {
	flex: 1 1 100%;
	min-width: 0;
	line-height: 1.5;
}
.main-schedule .schedule-list .item-category {
	color: #8c47fc;
	font-size: 1.3rem;
	font-weight: bold;
	margin-bottom: 0.1rem;
}
.main-schedule .schedule-list .item-title {
	color: #fff;
	font-size: 1.9rem;
	font-weight: bold;
}
.main-schedule .schedule-list .item-title:hover {
	text-decoration: underline;
	text-underline-offset: 0.5rem;
}
.main-schedule .schedule-list .item-meta {
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.6;
}
.main-schedule .schedule-list .item-meta div {
	display: flex;
	gap: 0.4rem;
}
.main-schedule .schedule-list .item-meta dt {
	flex: 0 0 auto;
}
.main-schedule .schedule-list .item-meta dd {
	min-width: 0;
	font-weight: bold;
}
.main-schedule .schedule-list .item-image {
	flex: 0 0 auto;
	width: 23.7rem;
	height: 13.5rem;
	border-radius: 1rem;
	overflow: hidden;
}
.main-schedule .schedule-list .item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: all 0.35s cubic-bezier(0.6, 0, 0.4, 1);
}
.main-schedule .schedule-list .item-image a:hover img {
	transform: scale(1.07);
}
.main-schedule .schedule-list .item-image:focus-within {
	outline: 2px solid var(--primary-color);
}

.main-schedule .schedule-list .item-link:not(:empty) {
	margin-top: 2.5rem;
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
}
.main-schedule .schedule-list .item-link a {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #f6f7fb;
	border-radius: 10rem;
	color: #f6f7fb;
	font-size: 0.7rem;
	font-weight: 500;
	height: 1.85rem;
	padding: 0 1.22rem;
}
.main-schedule .schedule-list .item-link a:hover {
	color: var(--primary-color);
	border-color: var(--primary-color);
	background: #fff;
}

@media (max-width: 1300px) {
	.main-schedule::before,
	.main-schedule::after {
		display: none;
	}
}
@media (max-width: 740px) {
	.main-schedule .schedule-head {
		display: block;
	}

	.main-schedule .schedule-tab .btn-tab {
		flex: 1 1 100%;
		min-width: 0;
		font-size: 1.5rem;
	}

	.main-schedule .schedule-more {
		margin-left: 0;
		text-align: right;
		margin-top: 1.2rem;
	}

	.main-schedule .schedule-list {
		margin: 0 calc(var(--container-padding) * -1);
		border-top: 1px solid rgba(138, 179, 255, 0.4);
	}

	.main-schedule .schedule-list > li {
		display: block;
		padding: 2.2rem var(--container-padding);
	}

	.main-schedule .schedule-list .item-title {
		font-size: 1.8rem;
	}

	.main-schedule .schedule-list .item-meta {
		font-size: 1.35rem;
	}

	.main-schedule .schedule-list .item-image {
		margin-top: 1rem;
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 9;
	}

	.main-schedule .schedule-list .item-link:not(:empty) {
		margin-top: 1rem;
		gap: 0.75rem;
	}

	.main-schedule .schedule-list .item-link a {
		font-size: 1.05rem;
		height: 2.7rem;
		padding: 0 1.8rem;
	}
}

/* 메인 > sns */
.main-sns {
	overflow: hidden;
	padding: 5.2rem 0 6.5rem;
	position: relative;
}

.main-sns .area-main {
	position: relative;
}

.main-sns .area-main::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 2;
	right: 100%;
	width: 300rem;
	background: #0c173c;
}

.main-sns .main-sns-wrap {
	position: relative;
}

.main-sns .btn-category {
	position: absolute;
	top: 19.85rem;
	width: 2.9rem;
	height: 2.9rem;
	z-index: 5;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
	background-color: transparent;
	border: 0;
}
.main-sns .btn-category.instagram {
	background-image: url("../images/icon_sns_in.svg");
	right: 10.63rem;
}
.main-sns .btn-category.instagram.on {
	background-image: url("../images/icon_sns_in_on.svg");
}
.main-sns .btn-category.youtube {
	background-image: url("../images/icon_sns_you.svg");
	right: 7.09rem;
}
.main-sns .btn-category.youtube.on {
	background-image: url("../images/icon_sns_you_on.svg");
}
.main-sns .btn-category.facebook {
	background-image: url("../images/icon_sns_face.svg");
	right: 3.54rem;
}
.main-sns .btn-category.facebook.on {
	background-image: url("../images/icon_sns_face_on.svg");
}
.main-sns .btn-category.blog {
	background-image: url("../images/icon_sns_blog.svg");
	right: 0;
}
.main-sns .btn-category.blog.on {
	background-image: url("../images/icon_sns_blog_on.svg");
}

.sns-swiper {
	display: none;
}
.sns-swiper.on {
	display: flex;
}
.sns-swiper .big-swiper {
	flex: 0 0 19.85rem;
	height: 24.95rem;
	margin-right: 30px;
	z-index: 2;
	background: #081a47;
	position: relative;
	border-radius: 0 0.5rem 0.5rem 0;
}
.sns-swiper .big-swiper li {
	position: absolute;
	inset: 0;
	overflow: hidden;
	border-radius: 0.5rem;
}
.sns-swiper .big-swiper li:first-child {
	z-index: 2;
}
.sns-swiper .big-swiper li.prev {
	z-index: 1;
}
.sns-swiper .big-swiper li.on {
	z-index: 2;
	animation: fadeIn 1s forwards;
}
.sns-swiper .swiper-wrapper {
	align-items: flex-start;
}
.sns-swiper .small-swiper {
	overflow: visible;
	min-width: 0;
}
.sns-swiper .small-swiper .swiper-slide {
	width: 14rem;
	height: 17.5rem;
}
.sns-swiper .swiper-slide a {
	overflow: hidden;
	display: block;
	position: relative;
	border-radius: 0.5rem;
	height: 100%;
}
.sns-swiper a::after {
	content: "\f14c";
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: 0.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Font Awesome 6 Pro";
	font-weight: bold;
	color: #fff;
	font-size: 2.1rem;
	background: rgba(0, 106, 245, 0.8);
	transition: 0.3s;
}
.sns-swiper a:hover::after {
	opacity: 1;
}
.sns-swiper .big-swiper img,
.sns-swiper .swiper-slide img {
	width: 100%;
	height: 100%;
	object-position: center;
	object-fit: cover;
}

.main-sns .sns-controls {
	position: absolute;
	top: 20rem;
	left: 21.15rem;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0 0.25rem;
}
.main-sns .sns-controls button {
	border: 0;
	background: none;
	width: 1.8rem;
	height: 1.8rem;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}
.main-sns .sns-controls .sns-prev {
	background-image: url("../images/sns_prev.svg");
}
.main-sns .sns-controls .sns-next {
	background-image: url("../images/sns_next.svg");
}
.main-sns .sns-controls .sns-pause {
	background-image: url("../images/sns_pause.svg");
}
.main-sns .sns-controls .sns-play {
	background-image: url("../images/sns_play.svg");
	display: none;
}

@media (max-width: 740px) {
	.main-sns {
		padding-top: 3rem;
		padding-bottom: 7.64rem;
	}
	.main-sns .area-main::before {
		right: calc(100% - var(--container-padding));
	}

	.main-sns .main-sns-wrap {
		padding-top: 6rem;
	}

	.main-sns .btn-category {
		top: 0;
		width: 4.35rem;
		height: 4.35rem;
	}

	.main-sns .btn-category.instagram {
		margin-right: 5.80125rem;
		right: 50%;
	}

	.main-sns .btn-category.youtube {
		margin-right: 0.48375rem;
		right: 50%;
	}

	.main-sns .btn-category.facebook {
		margin-left: 0.48375rem;
		left: 50%;
		right: auto;
	}

	.main-sns .btn-category.blog {
		margin-left: 5.80125rem;
		left: 50%;
		right: auto;
	}

	.sns-swiper .big-swiper {
		margin-right: 20px;
	}

	.main-sns .sns-controls {
		top: auto;
		bottom: -3.525rem;
		left: 50%;
		transform: translateX(-50%);
	}
}

/* 메인 > NEWS */
.main-news {
	position: relative;
}

.main-news::before {
	content: "";
	position: absolute;
	top: 16.35rem;
	left: -0.95rem;
	width: 7.4849rem;
	height: 8.71225rem;
	background: url("../images/deco_news_left.png") no-repeat 50% 50% / contain;
}
.main-news::after {
	content: "";
	position: absolute;
	bottom: -14.45rem;
	left: 50%;
	margin-left: 24.3rem;
	width: 21.35rem;
	height: 21.2276rem;
	background: url("../images/deco_news_right.png") no-repeat 50% 50% / contain;
}

.main-news .dmz-news-wrap {
	display: flex;
}

.main-news .news-image-wrap {
	flex: 0 0 auto;
	margin-right: 2.85rem;
	position: relative;
}

.main-news .news-image-wrap .badge {
	position: absolute;
	top: 1.15rem;
	right: 1.25rem;
	z-index: 2;
	border-radius: 2.8823rem;
	border: 1px solid #fff;
	background: rgba(255, 255, 255, 0.95);
	font-size: 0.80705rem;
	color: #1c1c1c;
	font-weight: bold;
	padding: 0 0.88rem;
	height: 2.1rem;
	display: flex;
	align-items: center;
}

.main-news .dmz-news-swiper {
	width: 30.65rem;
	height: 17.45rem;
	border-radius: 1.1rem;
	overflow: hidden;
}

.main-news .dmz-news-swiper a {
	display: block;
	height: 100%;
}
.main-news .dmz-news-swiper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: all 0.35s cubic-bezier(0.6, 0, 0.4, 1);
}
.main-news .dmz-news-swiper a:hover img {
	transform: scale(1.07);
}
.main-news .dmz-news-swiper:focus-within {
	outline: 2px solid var(--primary-color);
}

.main-news .news-text-wrap {
	flex: 1 1 100%;
	min-width: 0;
	display: flex;
	flex-direction: column;
}
.main-news .news-text-list li {
	display: none;
}
.main-news .news-text-list li.on {
	display: block;
	animation: fadeIn 1s forwards;
}
.main-news .news-text-list a {
	display: block;
}
.main-news .news-text-list .badge {
	display: flex;
	align-items: center;
	width: fit-content;
	margin-bottom: 0.62rem;
	padding: 0 0.75rem;
	height: 2.05rem;
	border-radius: 0.13785rem;
	background: #35488c;
	color: #fff;
	font-size: 0.8731rem;
	font-weight: 500;
}
.main-news .news-text-list .title {
	color: #fff;
	font-size: 1.9rem;
	font-weight: bold;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	letter-spacing: -0.057rem;
}
.main-news .news-text-list a:hover .title {
	text-decoration: underline;
	text-underline-offset: 0.4rem;
}
.main-news .news-text-list .date {
	color: var(--bg-gray);
	font-size: 1.25rem;
	margin-top: 0.4rem;
}

.main-news .news-controls {
	display: flex;
	align-items: center;
	gap: 0 0.25rem;
	margin-top: auto;
}
.main-news .news-controls:has(.swiper-button-lock) {
	display: none;
}
.main-news .news-controls button {
	border: 0;
	background: none;
	width: 1.8rem;
	height: 1.8rem;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}
.main-news .news-controls .news-prev {
	background-image: url("../images/sns_prev.svg");
}
.main-news .news-controls .news-next {
	background-image: url("../images/sns_next.svg");
}
.main-news .news-controls .news-pause {
	background-image: url("../images/sns_pause.svg");
}
.main-news .news-controls .news-play {
	background-image: url("../images/sns_play.svg");
	display: none;
}

.main-news .main-board-wrap {
	margin-top: 3.6rem;
}
.main-news .main-board-tab {
	display: flex;
	justify-content: flex-end;
	gap: 0 1rem;
	margin-bottom: 1.65rem;
}
.main-news .main-board-tab .btn-tab {
	/* margin-right: -1.1rem; */
	min-width: 9.1278rem;
	height: 3.05rem;
	padding: 0 1rem;
	font-size: 1.2rem;
	color: var(--txt-gray);
	background: none;
	border: 0;
	border: 0.1rem solid var(--primary-color);
	font-weight: 700;
	border-radius: 5rem;
	background: #fff;
	position: relative;
}
/* .main-news .main-board-tab .btn-tab:nth-child(1) {
	z-index: 4;
}
.main-news .main-board-tab .btn-tab:nth-child(2) {
	z-index: 3;
}
.main-news .main-board-tab .btn-tab:nth-child(3) {
	z-index: 2;
}
.main-news .main-board-tab .btn-tab:nth-child(4) {
	z-index: 1;
}
.main-news .main-board-tab .btn-tab:last-child {
	margin-right: 0;
} */
.main-news .main-board-tab .btn-tab.on {
	/* z-index: 5; */
	background: #1c1c1c;
	color: #fff;
}

.main-news .main-board-list {
	border-top: 0.1rem solid #fff;
	color: #fff;
}

.main-news .main-board-list li {
	border-bottom: 0.1rem solid #fff;
}

.main-news .main-board-list a {
	display: flex;
	align-items: center;
	padding: 1.2rem 2rem;
}
.main-news .main-board-list .category {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 2.35rem;
	height: 2.25rem;
	font-size: 1rem;
	padding: 0 1rem;
	min-width: 6.55rem;
	border: 0.1rem solid #fff;
	text-align: center;
	border-radius: 0.3rem;
}
.main-news .main-board-list .title {
	flex: 1 1 100%;
	min-width: 0;
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1.4;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.main-news .main-board-list a:hover .title {
	text-decoration: underline;
	text-underline-offset: 0.4rem;
}
.main-news .main-board-list .date {
	flex: 0 0 auto;
	margin-left: 2.35rem;
	font-size: 1.2rem;
}

@media (max-width: 1300px) {
	.main-news::before,
	.main-news::after {
		display: none;
	}
}
@media (max-width: 740px) {
	.main-news .dmz-news-wrap {
		display: block;
	}

	.main-news .news-image-wrap {
		margin-right: 0;
	}

	.main-news .dmz-news-swiper {
		aspect-ratio: 16 / 9;
		width: 100%;
		height: auto;
	}

	.main-news .news-text-wrap {
		margin-top: 1.62rem;
	}
	.main-news .news-text-list .badge {
		font-size: 0.825rem;
	}
	.main-news .news-text-list .title {
		font-size: 1.8rem;
	}
	.main-news .news-text-list .date {
		font-size: 1.2rem;
	}

	.main-news .news-controls {
		margin-top: 1.5rem;
		justify-content: center;
	}

	.main-news .main-board-tab .btn-tab {
		flex: 1 1 100%;
		min-width: 0;
	}

	.main-news .main-board-list {
		margin: 0 calc(var(--container-padding) * -1);
	}

	.main-news .main-board-list a {
		padding: 1.05rem var(--container-padding);
	}

	.main-news .main-board-list .category {
		margin-right: 1.0125rem;
		height: 2.1rem;
		padding: 0 0.85rem;
		min-width: 4.95rem;
		font-size: 0.9rem;
	}
	.main-news .main-board-list .date {
		display: none;
	}
}

.main-now {
	position: relative;
	text-align: center;
	padding-bottom: 5.75rem;
	margin-top: 7.3rem;
}
.main-now .area-main {
	position: relative;
	z-index: 1;
}
.main-now::before {
	content: "";
	position: absolute;
	bottom: 8.45rem;
	left: -5.35rem;
	width: 30.75rem;
	height: 30.75rem;
	background: url("../images/deco_now_left.png") no-repeat 50% 50% / contain;
}
.main-now::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 7.55rem;
	height: 18rem;
	background: url("../images/deco_now_right.png") no-repeat 50% 50% / contain;
}
.main-now .title {
	margin-bottom: 2.5rem;
}
.main-now .image {
	position: relative;
	width: fit-content;
	margin: 0 auto;
	background: #82c44e;
	border-radius: 1.5rem;
}
.main-now .image iframe {
	border-radius: 1.5rem;
	vertical-align: top;
	aspect-ratio: 1268 / 714;
	width: 63.4rem;
	height: auto;
	max-width: 100%;
}

@media (max-width: 740px) {
	.main-now {
		margin-top: 4.455rem;
		padding-bottom: 4.5rem;
	}
	.main-now::before,
	.main-now::after {
		display: none;
	}
}

/* 지난 사이트 보기 */
.section-link {
	border-top: 2px solid var(--txt-gray);
	background: #fff;
	display: flex;
}
.section-link .main-link-title {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 27.6875%;
	padding: 1.5rem 0;
	background: var(--gradient-blue);
	color: #fff;
	text-align: center;
	font-family: var(--base-text-family);
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.03rem;
}
.section-link .main-link-list {
	flex: 1 1 100%;
	min-width: 0;
	padding: 1.5rem 2.85rem;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.section-link .main-link-list a {
	display: inline-flex;
	margin-right: 2rem;
	align-items: center;
	font-family: var(--base-text-family);
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: -0.032rem;
	line-height: 1.4;
}
.section-link .main-link-list a:hover span {
	text-decoration: underline !important;
	text-underline-offset: 0.4rem;
}
.section-link .main-link-list a::after {
	content: "\f14c";
	font-family: "Font Awesome 6 Pro";
	font-weight: bold;
	margin-left: 0.95rem;
	font-size: 1.8rem;
}

@media (max-width: 740px) {
	.section-link {
		display: block;
	}
	.section-link .main-link-title {
		padding: 1.2rem 0;
	}
	.section-link .main-link-list {
		padding: 1.3rem 0;
		text-align: center;
		justify-content: center;
	}
}

/* 알림톡 */
.fixed-menu {
	position: fixed;
	top: 7.8rem;
	right: 0;
	z-index: 10;
	border-radius: 1.3rem 0rem 0rem 1.3rem;
	border: 1.5px solid #6eba36;
	border-right: 0;
	background: #fff;
	box-shadow: 4px 7px 11.3px 0px rgba(0, 0, 0, 0.17);
	padding: 0.6rem 0.55rem 0.85rem 1.2rem;
	text-align: center;
}
.fixed-menu .btn-menu {
	border: 0;
	background: none;
	vertical-align: top;
}
.fixed-menu .text {
	margin-top: 0.35rem;
	color: #404040;
	font-family: var(--base-text-family);
	font-size: 0.7299rem;
	font-weight: 700;
	line-height: normal;
	padding-right: 0.4rem;
}
.fixed-menu img {
	width: 3.2rem;
}

@media (max-width: 740px) {
	.fixed-menu {
		top: 12rem;
		box-shadow: 3.315px 5.801px 9.364px 0px rgba(0, 0, 0, 0.17);
		padding: 0.5rem 0.45rem 0.75rem 1rem;
	}
	.fixed-menu img {
		width: 2.6rem;
	}
	.fixed-menu .text {
		font-size: 0.7rem;
	}
}

/* sub header ---------------------------------------------------------------- */

.sub-header {
	position: relative;
	height: 13.9rem;
	background-color: var(--bg-gray);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
.sub-header.forum {
	background-image: url("../images/sub_visual_01.jpg");
}
.sub-header.show {
	background-image: url("../images/sub_visual_02.jpg");
}
.sub-header.sport {
	background-image: url("../images/sub_visual_03.jpg");
}
.sub-header.exhibition {
	background-image: url("../images/sub_visual_04.jpg");
}
.sub-header.news {
	background-image: url("../images/sub_visual_05.jpg");
}
.sub-header.festival {
	background-image: url("../images/sub_visual_06.jpg");
}
.sub-header.etc {
	background-image: url("../images/sub_visual_etc.jpg");
}

.sub-header .area-container {
	height: 100%;
}

.sub-header h1 {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 100%;
	margin-right: 2.6rem;
	color: #fff;
	font-size: 3.75rem;
	font-weight: bold;
	line-height: 1.2;
}
.sub-header .menu {
	flex: 1 1 100%;
	min-width: 0;
}
.sub-header .menu ul {
	display: flex;
	align-items: center;
	gap: 1.8rem;
	overflow: hidden;
}

.sub-header .menu ul li {
	position: relative;
	flex: 0 1 100%;
	min-width: 0;
	max-width: 17.2rem;
}
.sub-header .menu a {
	position: relative;
	display: flex;
	align-items: center;
	height: 6.95rem;
	padding: 1.15rem 3rem 1.15rem 2rem;
	border-radius: 0.5rem;
	border: 0.15rem solid var(--bg-gray);
	background: rgba(255, 255, 255, 0.32);
	font-size: 1.1rem;
	color: #fff;
	font-weight: bold;
	transition: 0.3s;
}
.sub-header .menu a::after {
	content: "\f14c";
	position: absolute;
	right: 0.7rem;
	bottom: 0.7rem;
	font-family: "Font Awesome 6 Pro";
	font-weight: 400;
	font-size: 1.3rem;
	color: #fff;
	line-height: 1;
}
.sub-header .menu li.on a,
.sub-header .menu a:hover {
	background: var(--primary-color);
	color: #fff;
	border-color: var(--primary-color);
}
.sub-header .menu li.on a::after,
.sub-header .menu a:hover::after {
	font-weight: bold;
}

/* 프로그램 서브비주얼 */
.sub-header:has(.menu) .area-container {
	display: flex;
	align-items: center;
}
.sub-header:has(.menu) h1 {
	text-align: left;
	justify-content: normal;
}
.sub-header:has(.menu) h1::after {
	content: "";
	width: 3.4rem;
	height: 0.45rem;
	background: #fff;
	margin-left: 1.8rem;
}

/* .sub-header.news .menu ul li {
	flex: 1 1 100%;
	min-width: 0;
}

.sub-header.news .menu a {
	width: auto;
} */

@media (max-width: 740px) {
	.sub-header {
		height: 15.975rem;
		padding-top: 2rem;
		padding-bottom: 1.5rem;
	}
	.sub-header::after {
		inset: -1rem;
	}
	.sub-header .area-container {
		flex-direction: column;
		gap: 2rem;
	}

	.sub-header h1 {
		font-size: 3rem;
		margin-right: 0;
		text-align: center;
	}
	.sub-header h1::after {
		display: none;
	}

	.sub-header .menu ul {
		gap: 0.75rem;
	}
	.sub-header .menu ul li {
		flex: 0 1 100%;
	}

	.sub-header .menu a {
		height: 5.475rem;
		width: auto;
		padding: 0.9rem 2.85rem 0.9rem 1.275rem;
	}
}

/* sub content ----------------------------------------------------------------*/

.contents-body {
	padding: 3.5rem 0 4rem;
}

@media (max-width: 740px) {
	.contents-body {
		padding: 2rem 0 3rem;
	}
}

h2.contents-title {
	margin-bottom: 0.8rem;
	font-size: 2.1rem;
	font-weight: bold;
	line-height: normal;
}

@media (max-width: 740px) {
	h2.contents-title {
		margin-bottom: 0.5625rem;
		font-size: 1.8rem;
	}
}

.contents-section + .contents-section {
	margin-top: 3rem;
}

.usr-list-1 {
	display: table;
	width: 100%;
	max-width: var(--container-width);
	margin: 0 auto;
}

.usr-list-1 > li {
	display: table;
	width: 100%;
	text-align: left;
	padding: 3.5rem 0;
	border-bottom: 1px solid #ccc;
}

.usr-list-1 > li:last-child {
	border-bottom: none;
}

.usr-list-1 > li.view {
	border-bottom: none;
}

.usr-list-1 > li .img {
	margin-bottom: 3rem;
}

.usr-list-1 > li .area-sub {
	vertical-align: top;
}

.usr-list-1 > li .area-sub.right {
	text-align: left;
}

.usr-list-1 > li .detail dt {
	display: block;
	width: 100%;
	font-weight: 700;
	font-size: 1.9rem;
	font-family: "GmarketSans";
}

.usr-list-1 > li .detail dd {
	display: block;
	width: 100%;
	font-weight: 400;
	font-size: 1rem;
	margin-top: 1.5rem;
	word-break: keep-all;
	white-space: normal;
}

.usr-list-1 > li .sebu {
	display: flex;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 0.7rem 0;
}
.usr-list-1 > li .sebu + .sebu {
	border-top: none;
}
.usr-list-1 > li .sebu > div {
	display: flex;
	width: 100%;
}

.usr-list-1 > li .sebu dt {
	flex: 0 0 auto;
	font-weight: 600;
	font-size: 1.1rem;
	padding-right: 1rem;
	white-space: nowrap;
	vertical-align: top;
}

.usr-list-1 > li .sebu dd {
	flex: 1 1 auto;
	min-width: 0;
	font-weight: 400;
	font-size: 1rem;
	color: #4a4a4a;
}

.usr-list-1 .usr-button-1 {
	margin-top: 2rem;
}

.usr-list-1 > li .area-sub.left {
	width: 50%;
	padding-right: 2rem;
}

.usr-list-1 > li .area-sub.right {
	padding-left: 2rem;
	width: 50%;
}

.usr-list-1 > li .area-sub.right .detail {
	margin-bottom: 2rem;
}

@media (max-width: 740px) {
	.usr-list-1 > li {
		padding: 1rem 0;
	}

	.usr-list-1 > li .area-sub.left {
		display: table;
		width: 100%;
		padding-right: 0;
	}

	.usr-list-1 > li .area-sub.right {
		display: table;
		width: 100%;
		padding-left: 0;
		padding-top: 2rem;
	}
}

.usr-list-2 {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2rem;
}

.usr-list-2 > li {
	background: #fff;
}

.usr-list-2 > li > div {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	display: block;
	width: 100%;
	position: relative;
	overflow: hidden;
	border: 1px solid #c2c2c2;
	padding-bottom: 5rem;
}

.usr-list-2 > li > div .img-zoom img {
	width: 100%;
	height: 100%;
	transform: scale(1);
	aspect-ratio: 1 / 0.8;
	margin: 0;
	object-fit: cover;
	object-position: center;
}

.usr-list-2 > li:hover > div img {
	transform: scale(1.05);
	transition: transform 0.6s;
}
.usr-list-2 > li a {
	display: block;
	height: 100%;
}
.usr-list-2 > li a:focus-visible {
	border: 3px solid #000;
}
.usr-list-2 > li a:focus:not(:focus-visible) {
	border: none;
}

.usr-list-2 > li > div > dl {
	position: absolute;
	bottom: 1rem;
	left: 2.6rem;
	right: 2.6rem;
	display: block;
	padding: 1.2rem 1.9rem;
	background-color: #fff;
	color: #393939;
}

.usr-list-2 > li > div > dl > dt {
	font-weight: 600;
	font-size: 1.2rem;
	font-family: "GmarketSans";
	word-break: keep-all;
	overflow-wrap: break-word;
	line-height: 1.4;
	min-height: 2.8em;
}

.usr-list-2 > li > div > dl > dd {
	font-weight: 300;
	font-size: 0.9rem;
	margin-top: 0.2rem;
}

@media (max-width: 740px) {
	.usr-list-2 {
		grid-template-columns: repeat(1, minmax(0, 1fr));
		gap: 1rem;
	}
}

.usr-list-3 {
	border-top: 2px solid var(--sport-color);
	border-bottom: 2px solid var(--sport-color);
	margin-bottom: 2rem;
}

.usr-list-3 > ul > li {
	padding: 1rem;
	border-bottom: 1px solid #ccc;
}

.usr-list-3 > ul.area-devide.num-2 > li:nth-of-type(2n + 0) {
	margin-right: 0%;
}
.usr-list-3 > ul.area-devide.num-2 > li:nth-of-type(2n + 1) {
	margin-top: 0rem;
	clear: both;
}
.usr-list-3 > ul.area-devide.num-2 > li:nth-of-type(2n + 2) {
	margin-top: 0rem;
}

.usr-list-3 > ul > li > dl {
	display: table;
	width: 100%;
	font-size: 1.2rem;
}

.usr-list-3 > ul > li > dl > dt {
	display: table-cell;
	width: 30%;
	word-break: break-all;
	font-weight: 700;
	vertical-align: top;
}

.usr-list-3 > ul > li > dl > dd {
	display: table-cell;
	width: 70%;
	word-break: break-all;
}

.usr-list-3 > ul > li > dl.double {
	width: 45%;
	display: inline-block;
}

.usr-list-3 > ul > li > dl.double dt {
	width: 100%;
	display: block;
}
.usr-list-3 > ul > li > dl.double dd {
	width: 100%;
	display: block;
}

.usr-list-3 > ul > li > dl.double dd img {
	height: 4rem;
	float: left;
}

.usr-list-3 > ul > li > dl.double.custom2 {
	width: 100%;
	display: block;
}

.usr-list-3 > ul > li > dl.double.custom2 dt {
	width: 100%;
	display: block;
}

.usr-list-3 > ul > li > dl.double.custom2 dd {
	width: 100%;
	display: block;
}

.usr-list-3 > ul > li > dl.double.custom2 dd img {
	height: 4rem;
	display: inline-block;
}

.usr-list-3 > ul > li > dl.double.custom2 dd img.right {
	float: right;
}

.usr-list-4 {
	display: table;
	width: 100%;
}

.usr-list-4 h5 {
	font-size: 1.5rem;
	color: #e37331;
}

.usr-list-4 > ul {
	display: table;
	width: 100%;
}

.usr-list-4 > ul > li {
	padding-left: 1rem;
	padding-right: 1rem;
	display: table-cell;
	float: none;
	vertical-align: top;
}
.usr-list-4 > ul > li:nth-child(1) {
	padding-top: 0;
}

.usr-list-4 > ul > li:nth-child(2) {
	padding-top: 2rem;
}

.usr-list-4 > ul > li:nth-child(3) {
	padding-top: 0;
}

.usr-list-4.custom-1 > ul > li:nth-child(1) {
	padding-top: 2rem;
}

.usr-list-4.custom-1 > ul > li:nth-child(2) {
	padding-top: 0;
}

.usr-list-4.custom-1 > ul > li:nth-child(3) {
	padding-top: 2rem;
}

.usr-list-4 > ul > li img {
	box-shadow: 10px 10px 23px -2px rgba(0, 0, 0, 0.45);
	-webkit-box-shadow: 10px 10px 23px -2px rgba(0, 0, 0, 0.45);
	-moz-box-shadow: 10px 10px 23px -2px rgba(0, 0, 0, 0.45);
	border-radius: 30px;
}

/* 공공누리 저작물 표시 */
.kogle-box {
	width: fit-content;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 3rem;
	border: 1px solid var(--line-gray);
	padding: 0.45rem 0.55rem;
	gap: 0.85rem;
}
.kogle-box .item-image {
	flex: 0 0 auto;
}
.kogle-box img {
	height: 1.8rem;
}
.kogle-box .item-text {
	font-size: 0.7rem;
	color: var(--base-text-color);
	line-height: normal;
	padding-right: 0.3rem;
}

@media (max-width: 740px) {
	.kogle-box .item-text {
		font-size: 0.8rem;
	}
}

/* ckeditor */
.ck-content {
	font-size: 0.9rem;
	line-height: 1.8;
}

.ck-content ol,
.ck-content ul {
	padding: 0 0 0 0.75rem;
}

.ck-content h1,
.ck-content h2,
.ck-content h3,
.ck-content h4,
.ck-content h5,
.ck-content h6 {
	margin: revert;
	font-size: revert;
	line-height: normal;
}

.ck-content a {
	all: revert;
	font-family: inherit;
}

.ck-content figcaption {
	overflow: hidden;
	width: 0.1rem;
	height: 0.1rem;
	margin-top: -0.1rem;
}

/* .cont-view h1,
.ck-content h1 {
	font-weight: 600;
	font-size: 2rem;
	text-align: center;
	width: 100%;
	margin-bottom: 2rem;
}

.cont-view h2,
.ck-content h2 {
	font-weight: 600;
	font-size: 1.8rem;
	text-align: center;
	width: 100%;
	color: #219bd0;
	margin-bottom: 2rem;
}

.cont-view h2.bg-blue,
.ck-content h2.bg-blue {
	background-color: #219bd0;
	color: #fff;
	padding: 1rem;
	font-weight: 300;
	text-align: center;
}

.cont-view h3,
.ck-content h3 {
	font-weight: 600;
	font-size: 1.6rem;
	text-align: center;
	width: 100%;
	margin-bottom: 2rem;
	margin-top: 5rem;
}

.cont-view .bg-title,
.ck-content .bg-title {
	display: table;
	width: 100%;
}

.cont-view h4,
.ck-content h4 {
	font-weight: 600;
	font-size: 1.4rem;
	text-align: center;
	width: 100%;
	margin-bottom: 2rem;
	margin-top: 3rem;
}

.cont-view h5,
.ck-content h5 {
	font-weight: 600;
	font-size: 1.2rem;
	text-align: center;
	width: 100%;
	margin-bottom: 2rem;
	margin-top: 3rem;
}

.cont-view h6,
.ck-content h6 {
	font-weight: 600;
	font-size: 1rem;
	text-align: center;
	width: 100%;
	margin-bottom: 1rem;
	margin-top: 2rem;
	color: #83c44e;
}

.cont-view h6.blue,
.ck-content h6.blue {
	color: #26a4dc;
}

.cont-view p.usr-font-1,
.ck-content p.usr-font-1 {
	font-size: 1.2rem;
} */

@media (max-width: 740px) {
	.ck-content {
		font-size: 1.05rem;
	}
	/* .cont-view,
	.ck-content {
		padding-top: 3rem;
	}

	.cont-view h5,
	.ck-content h5 {
		font-size: 1.3rem;
		margin-bottom: 1rem;
		margin-top: 1rem;
	} */

	/* 0801수정 */
	/* .cont-view iframe,
	.ck-content iframe {
		width: 100%;
		height: 15rem;
	} */
}

.usr-table-1 {
	width: 100%;
	position: relative;
	border: none;
	border-collapse: collapse;
	margin-bottom: 4rem;
}
.usr-table-1 caption {
	position: absolute;
	width: 0px;
	height: 0px;
	overflow: hidden;
}

.usr-table-1 th {
	border-spacing: 0px;
}

.usr-table-1 td,
.usr-table-1 th {
	border-spacing: 0px;
	padding: 0.5rem;
	font-size: 0.9rem;
	padding-left: 2rem;
	font-weight: 300;
	line-height: 130%;
}

.usr-table-1.gradient tbody tr {
	display: block;
	width: var(--container-width);
}

.usr-table-1.gradient tbody tr td:nth-child(1) {
	text-align: center;
	width: 200px;
}

.usr-table-1.gradient tbody tr td:nth-child(2) {
	text-align: left;
	width: 300px;
}

.usr-table-1.gradient tbody tr td:nth-child(3) {
	text-align: left;
	width: 700px;
}

.usr-table-1.gradient tbody tr:nth-child(even) {
	background: -khtml-gradient(linear, left top, right top, from(#cde8db), to(#dbeef7));
	background: -moz-linear-gradient(left, #cde8db, #dbeef7);
	background: -ms-linear-gradient(left, #cde8db, #dbeef7);
	background: -webkit-gradient(linear, left top, right top, color-stop(0%, #cde8db), color-stop(100%, #dbeef7));
	background: -webkit-linear-gradient(left, #cde8db, #dbeef7);
	background: -o-linear-gradient(left, #cde8db, #dbeef7);
}

.usr-table-1.gradient tbody tr:nth-child(odd) {
	background: -khtml-gradient(linear, left top, right top, from(#a3dbf4), to(#c0e3ce));
	background: -moz-linear-gradient(left, #a3dbf4, #c0e3ce);
	background: -ms-linear-gradient(left, #a3dbf4, #c0e3ce);
	background: -webkit-gradient(linear, left top, right top, color-stop(0%, #a3dbf4), color-stop(100%, #c0e3ce));
	background: -webkit-linear-gradient(left, #a3dbf4, #c0e3ce);
	background: -o-linear-gradient(left, #a3dbf4, #c0e3ce);
}

.usr-table-1.green tbody tr:nth-child(even) {
	background: #cee8bb;
}

.usr-table-1.green tbody tr:nth-child(odd) {
	background: #acd58d;
}

.usr-table-1.blue.thead thead tr {
	display: block;
	background: -khtml-gradient(linear, left top, right top, from(#3744aa), to(#835fcc));
	background: -moz-linear-gradient(left, #3744aa, #835fcc);
	background: -ms-linear-gradient(left, #3744aa, #835fcc);
	background: -webkit-gradient(linear, left top, right top, color-stop(0%, #3744aa), color-stop(100%, #835fcc));
	background: -webkit-linear-gradient(left, #3744aa, #835fcc);
	background: -o-linear-gradient(left, #3744aa, #835fcc);
	color: #fff;
	font-weight: 300;
}

.usr-table-1.blue.thead thead th:nth-child(1) {
	text-align: center;
	width: calc(var(--container-width) * 0.25);
}

.usr-table-1.blue.thead thead th:nth-child(2) {
	text-align: center;
	width: calc(var(--container-width) * 0.2);
}

.usr-table-1.blue.thead thead th:nth-child(3) {
	text-align: center;
	width: calc(var(--container-width) * 0.15);
}

.usr-table-1.blue.thead thead th:nth-child(4) {
	text-align: center;
	width: calc(var(--container-width) * 0.4);
}

.usr-table-1.blue.thead tbody tr {
	display: block;
}

.usr-table-1.blue.thead tbody td:nth-child(1) {
	text-align: center;
	width: calc(var(--container-width) * 0.25);
}

.usr-table-1.blue.thead tbody td:nth-child(2) {
	text-align: center;
	width: calc(var(--container-width) * 0.2);
}

.usr-table-1.blue.thead tbody td:nth-child(3) {
	text-align: center;
	width: calc(var(--container-width) * 0.15);
}

.usr-table-1.blue.thead tbody td:nth-child(4) {
	text-align: left;
	width: calc(var(--container-width) * 0.4);
}

.usr-table-1.blue.thead tbody tr {
	display: block;
}

.usr-table-1.blue tbody tr:nth-child(even) {
	background: #cbecfb;
}

.usr-table-1.blue tbody tr:nth-child(odd) {
	background: #a3dbf4;
}

.usr-table-1.last {
	margin-bottom: 1rem;
}

@media (max-width: 740px) {
	.usr-table-1 td {
		padding: 0.2rem;
		font-size: 0.8rem;
		padding-left: 0.5rem;
		white-space: normal;
		word-break: break-all;
	}

	.usr-table-1.gradient tbody tr {
		width: 93vw;
	}
}

.jusok {
	color: var(--show-color);
}

.cont-view .down {
	background-color: #f1693e;
	color: #000;
	padding: 1rem 3rem;
	border: none;
	font-size: 1.2rem;
	display: block;
	margin: 0 auto;
	border-radius: 0.5rem;
	margin-top: 1rem;
}

/* 탭 메뉴 */
.contents-tab {
	border-bottom: 0.1rem solid var(--line-gray);
	background: #fff;
	display: flex;
	justify-content: center;
}
.contents-tab a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 11rem;
	height: 4.2rem;
	padding: 0 2rem;
	text-align: center;
	font-size: 1.2rem;
	font-weight: 500;
}
.contents-tab a:hover {
	color: var(--primary-color);
}
.contents-tab a:hover,
.contents-tab a.on {
	font-weight: bold;
}
.contents-tab a.on::after {
	content: "";
	position: absolute;
	bottom: -0.1rem;
	left: 0;
	right: 0;
	height: 0.4rem;
	background: var(--primary-color);
}

@media (max-width: 740px) {
	.contents-tab a {
		flex: 1 1 100%;
		min-width: 0;
		font-size: 1.05rem;
	}
	.contents-tab a.on::after {
		height: 0.3rem;
	}
}

.page-tab {
	--tab-height: 6rem;
	border-top: 1px solid #e3e3e3;
	border-bottom: 1px solid #e3e3e3;
	margin-top: 3.45rem;
	text-align: center;
}

@media (max-width: 740px) {
	.page-tab {
		margin: 0 -1rem 0;
		border-top: 0;
	}
}

.page-tab .swiper-container,
.page-tab .embla {
	height: 3.75rem;
	padding: 0 3.8rem;
}
@media screen and (max-width: 1024px) {
	.page-tab .swiper-container,
	.page-tab .embla {
		padding: 0 3rem;
	}
}
@media (max-width: 740px) {
	.page-tab .swiper-container,
	.page-tab .embla {
		padding: 0;
	}
}
.page-tab .tab-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: row;
	height: 6rem;
	padding: 0;
}
.page-tab .tab-container > li {
	flex: 1 1 100%;
	height: 100%;
	position: relative;
}
.page-tab .tab-container > li span {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	font-size: 1.6rem;
	font-weight: 600;
	letter-spacing: -0.048rem;
}
@media (max-width: 740px) {
	.page-tab .tab-container > li span {
		position: relative;
	}
}
.page-tab .tab-container > li.on span {
	color: #3365c7;
	padding: 0 2rem;
	font-weight: 800;
}
@media (max-width: 740px) {
	.page-tab .tab-container > li.on span {
		padding: 0;
	}
}
.page-tab .tab-container > li.on span::after {
	content: "";
	position: absolute;
	bottom: -0.1rem;
	left: 0;
	right: 0;
	height: 0.6rem;
	background: currentColor;
}
.page-tab .swiper-wrapper,
.page-tab .embla__container {
	justify-content: space-between;
	height: 100%;
}
@media (max-width: 740px) {
	.page-tab .swiper-wrapper,
	.page-tab .embla__container {
	}
}
.page-tab .swiper-slide,
.page-tab .embla__slide {
	width: auto;
	height: 100%;
	flex: 1 1 auto;
}
@media (max-width: 740px) {
	.page-tab .swiper-slide,
	.page-tab .embla__slide {
	}
}
.page-tab .swiper-slide.on a,
.page-tab .embla__slide.on a {
	position: relative;
	color: #3365c7;
	font-weight: 700;
	font-size: 1.1rem;
}
.page-tab .swiper-slide.on a::after,
.page-tab .embla__slide.on a::after {
	content: "";
	position: absolute;
	bottom: -0.1rem;
	left: 0;
	right: 0;
	height: 0.3rem;
	background: currentColor;
}
.page-tab a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	min-width: 6.48rem;
	height: 100%;
	font-size: 0.9rem;
	font-family: "GmarketSans";
	font-weight: 500;
	letter-spacing: -0.011rem;
	padding: 0 1.5rem;
	line-height: 1.3;
}
@media (max-width: 740px) {
	.page-tab a {
		min-width: 0;
		padding: 0;
	}
}
.page-tab a:hover {
	color: #3365c7;
}

.tab-contents {
	display: none;
}
.tab-contents.on {
	display: block;
}

/* .select-tab {
	margin-bottom: 5rem;
	position: relative;
}
@media (max-width: 740px) {
	.select-tab {
		margin-bottom: 3.1rem;
	}
}
.select-tab .tab-button {
	position: relative;
	width: 100%;
	height: 6rem;
	border-radius: 0.4rem;
	border: 0.1rem solid #3365c7;
	background: #fff;
	box-shadow: 0.4rem 0.4rem 0.5rem 0rem rgba(96, 108, 152, 0.09);
	color: #4c4e55;
	font-size: 2.2rem;
	letter-spacing: -0.066rem;
	font-weight: bold;
}
@media (max-width: 740px) {
	.select-tab .tab-button {
		height: 4.8rem;
		font-size: 1.6rem;
	}
}
.select-tab .tab-button:hover {
	color: #3365c7;
}
.select-tab .tab-button::after {
	font-family: "Font Awesome 6 Pro";
	font-weight: bold;
	content: "";
	position: absolute;
	top: 50%;
	right: 2.8rem;
	color: #6f6f6f;
	font-size: 1.4rem;
	line-height: 1;
	margin-top: -0.7rem;
}
.select-tab .tab-button.on {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
.select-tab .tab-button.on::after {
	transform: rotate(180deg);
}
.select-tab .tab-button.on ~ .tab-list {
	display: block;
}
.select-tab .tab-list {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 2;
	border: 0.1rem solid #c5d2e1;
	border-top: 0;
	border-radius: 0 0 0.4rem 0.4rem;
	text-align: center;
	background: #fff;
}
.select-tab .tab-list > li + li {
	border-top: 0.1rem solid #c5d2e1;
}
.select-tab .tab-list a {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: row;
	height: 5.2rem;
	font-weight: 500;
	font-size: 1.8rem;
}
@media (max-width: 740px) {
	.select-tab .tab-list a {
		height: 4rem;
		font-size: 1.4rem;
	}
}
.select-tab .tab-list a:hover {
	color: #0080ea;
} */

/* 프로그램 탭 */
.program-tab {
	margin-bottom: 3.5rem;
}
.program-tab .tab-pc {
	display: flex;
	gap: 0.8rem;
}
.program-tab .tab-mobile {
	display: none;
}

.program-tab .btn-tab {
	flex: 1 1 100%;
	min-width: 0;
	height: 3.4rem;
	background: #fff;
	border: 1px solid var(--line-gray);
	border-radius: 0.5rem;
	color: var(--txt-gray);
	font-size: 1rem;
	text-align: center;
	letter-spacing: 0.011rem;
}
.program-tab .btn-tab:hover {
	color: var(--primary-color);
	font-weight: bold;
}
.program-tab .btn-tab.on {
	background: var(--primary-color);
	color: #fff;
	font-weight: bold;
}

.program-tab .select-tab {
	width: 100%;
	height: 3.9rem;
	border: 0;
	border-radius: 0.5rem;
	color: #fff;
	font-size: 1.35rem;
	font-weight: bold;
	text-align: center;
	background: var(--primary-color) url("../images/angle-down-white.svg") no-repeat top 50% right 1.425rem / 0.9rem auto;
	appearance: none;
	padding: 0 2.6rem;
	white-space: normal;
}

@media (max-width: 740px) {
	.program-tab .tab-pc {
		display: none;
	}

	.program-tab .tab-mobile {
		display: block;
	}
}

/* 프로그램 상단 */
.program-top-container {
	/* margin-bottom: 3rem; */
}
.program-top-container .program-meta {
	padding: 2.5rem var(--container-padding) 1.8rem;
	background: url("../images/bg_program_top.png") no-repeat bottom center / cover;
	text-align: center;
	border-bottom: 1px solid var(--line-gray);
}
.contents-tab ~ .program-top-container .program-meta {
	background-color: var(--bg-gray);
}
.program-top-container .program-meta .area-container {
	position: relative;
}
.program-top-container .item-head {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.5rem 1.8rem;
	margin-bottom: 2rem;
	font-size: 1rem;
	font-weight: bold;
	padding: 0 3rem;
}
.program-top-container .item-head i,
.program-top-container .item-head span {
	vertical-align: middle;
}
.program-top-container .item-head i {
	margin-top: -0.15rem;
	margin-right: 0.5rem;
	font-size: 110%;
}
.program-top-container .item-title {
	font-size: 3.9rem;
	font-weight: bold;
	line-height: normal;
}
.program-top-container .item-title.title-small {
	font-size: 2.25rem;
}
.program-top-container .item-option {
	margin-top: 1.75rem;
	display: flex;
	gap: 0.75rem 1rem;
	justify-content: center;
	flex-wrap: wrap;
	position: relative;
	z-index: 1;
}
.program-top-container .item-option a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 10.5rem;
	height: 2.6rem;
	padding: 0 1.5rem;
	background: #fff;
	border-radius: 10rem;
	border: 1px solid #a2a2a2;
	font-size: 0.95rem;
	color: var(--txt-gray);
	font-weight: 500;
	transition: 0.3s;
}
.program-top-container .item-option a:hover {
	background: var(--primary-color);
	border-color: var(--primary-color);
	color: #fff;
}
.program-top-container .item-share {
	position: absolute;
	top: -0.5rem;
	right: 0;
}
.program-top-container .btn-share {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 0.5rem;
	color: #fff;
	font-size: 1.4rem;
	border: 0;
	background: var(--primary-color);
}
.program-top-container .btn-share:hover i {
	font-weight: bold;
}

.program-top-container .program-desc {
	color: var(--txt-gray);
	font-size: 1rem;
	font-weight: 500;
	text-align: center;
	padding: 1.5rem var(--container-padding);
	line-height: 1.6;
	border-bottom: 1px solid var(--line-gray);
}

.program-file {
	border-bottom: 1px solid var(--line-gray);
	padding: 1rem 0;
}
.program-file .area-container {
	padding-left: var(--container-padding);
	padding-right: var(--container-padding);
}
.program-file a {
	display: flex;
	align-items: center;
	color: var(--txt-gray);
	font-size: 0.9rem;
	font-weight: 500;
}
.program-file a:hover {
	color: var(--primary-color);
}
.program-file a::before {
	content: "\f15c";
	font-family: "Font Awesome 6 Pro";
	font-weight: 400;
	color: var(--primary-color);
	font-size: 110%;
	margin-right: 0.5rem;
	margin-top: -0.2rem;
	flex: 0 0 auto;
}
.program-file a + a {
	margin-top: 0.8rem;
}

.program-top-container .program-data {
	border-bottom: 1px solid var(--line-gray);
	padding: 2rem 0;
}
.program-top-container .program-data .area-container {
	display: flex;
}
.program-top-container .program-data .item-col {
	padding-left: 4rem;
}
.program-top-container .program-data .item-col:first-child {
	flex: 1 1 42%;
	min-width: 0;
	padding-right: 2rem;
}
.program-top-container .program-data .item-col + .item-col {
	border-left: 1px solid var(--line-gray);
	flex: 1 1 58%;
	min-width: 0;
}

.program-top-container .program-data .item-wrap {
	display: flex;
	font-size: 1rem;
	font-weight: 500;
}
.program-top-container .program-data .item-wrap + .item-wrap {
	margin-top: 0.6rem;
}
.program-top-container .program-data i {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--bg-gray);
	color: var(--txt-gray);
	font-size: 0.9rem;
	margin-right: 1rem;
}
.program-top-container .program-data i.fa-user-music {
	color: var(--primary-color);
}
.program-top-container .title,
.program-top-container .text {
	margin-top: 0.3rem;
}
.program-top-container .title {
	margin-right: 0.3rem;
	font-weight: bold;
}

.program-body {
	padding: 0 3rem 3rem;
	border-bottom: 1px solid var(--line-gray);
}
.program-body img {
	display: block;
	width: 960px;
	margin: 0 auto;
}
.contents-section .program-body {
	padding: 0;
	border-bottom: 0;
}

@media (max-width: 740px) {
	.program-top-container .program-meta {
		padding-top: 2rem;
		padding-bottom: 1.5rem;
		background-image: none;
		position: relative;
	}
	.program-top-container .program-meta::before {
		content: "";
		position: absolute;
		bottom: 0.5625rem;
		left: -0.4rem;
		width: 3.404775rem;
		height: 3.428475rem;
		background: url("../images/deco_news_left.png") no-repeat 50% 50% / contain;
	}
	.program-top-container .program-meta::after {
		content: "";
		position: absolute;
		bottom: 0;
		right: 0;
		width: 2.25rem;
		height: 5.55rem;
		background: url("../images/deco_now_right.png") no-repeat 50% 50% / contain;
	}

	.program-top-container .item-head {
		margin-bottom: 1.2rem;
	}

	.program-top-container .item-title {
		font-size: 2.1rem;
	}
	.program-top-container .item-title.title-small {
		font-size: 1.65rem;
	}

	.program-top-container .item-share {
		top: 0.5rem;
	}

	.program-file a {
		font-size: 1.05rem;
	}
	.program-file a + a {
		margin-top: 0.5rem;
	}

	.program-top-container .program-data {
		padding: 0;
	}
	.program-top-container .program-data .area-container {
		display: block;
		padding: 0;
	}
	.program-top-container .program-data .item-col {
		padding: 1.5rem var(--container-padding) !important;
	}
	.program-top-container .program-data .item-col + .item-col {
		border-left: 0;
		border-top: 1px solid var(--line-gray);
	}

	.program-body {
		padding: 0 var(--container-padding) 2rem;
		margin: 0 calc(var(--container-padding) * -1);
	}

	.program-body::after {
		width: auto;
		left: calc(var(--container-padding) * -1);
		right: calc(var(--container-padding) * -1);
		transform: none;
	}

	.contents-section .program-body {
		margin: 0;
	}
}

/* 하단 DMZ News */
.sub-news-swiper a {
	display: block;
	border: 1px solid #b8c2d5;
	background: #fff;
}
.sub-news-swiper .item-category {
	position: absolute;
	top: 1.05rem;
	right: 0;
	z-index: 1;
	background: #fff;
	padding: 0 0.7rem;
	min-width: 5.2rem;
	height: 1.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.675rem;
	font-weight: bold;
	letter-spacing: -0.027rem;
}
.sub-news-swiper .item-image {
	aspect-ratio: 15.9 / 9.95;
	overflow: hidden;
}
.sub-news-swiper .item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: all 0.35s cubic-bezier(0.6, 0, 0.4, 1);
}
.sub-news-swiper a:hover img {
	transform: scale(1.07);
}
.sub-news-swiper .item-title {
	padding: 0.7rem 1.2rem;
}
.sub-news-swiper .item-title span {
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.5;
	height: 3em;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
.sub-news-swiper a:hover span {
	color: var(--primary-color);
}

.sub-news-swiper .sub-news-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 0.25rem;
	margin-top: 1.5rem;
}
.sub-news-swiper .sub-news-controls:has(.swiper-button-lock) {
	margin-top: 0;
}
.sub-news-swiper .sub-news-controls button {
	border: 0;
	background: none;
	width: 1.8rem;
	height: 1.8rem;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}
.sub-news-swiper .sub-news-controls .sub-news-prev {
	background-image: url("../images/icon_slider_prev.svg");
}
.sub-news-swiper .sub-news-controls .sub-news-next {
	background-image: url("../images/icon_slider_next.svg");
}
.sub-news-swiper .sub-news-controls .sub-news-pause {
	background-image: url("../images/icon_slider_pause.svg");
}
.sub-news-swiper .sub-news-controls .sub-news-play {
	background-image: url("../images/icon_slider_play.svg");
	display: none;
}
.sub-news-swiper .sub-news-controls .swiper-button-lock ~ button {
	display: none;
}

@media (max-width: 740px) {
	.sub-news-swiper .item-category {
		font-size: 1.0125rem;
		height: 2.25rem;
		min-width: 7.8rem;
	}
	.sub-news-swiper .item-title span {
		font-size: 1.65rem;
	}
	.sub-news-swiper .sub-news-controls button {
		width: 2.1rem;
		height: 2.1rem;
	}
}

.search-area {
	margin-bottom: 2rem;
}
.search-area .area-container {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.85rem;
}
.search-area .select {
	min-width: 10.95rem;
	height: 3.4rem;
	padding: 0 1.4rem;
	border-radius: 0.5rem;
	border: 0.1rem solid var(--line-gray);
	background: #fff url("../images/angle-down.svg") no-repeat top 50% right 0.84rem;
	color: #a2a2a2;
	font-size: 0.9rem;
	appearance: none;
}
.search-area .input-wrap {
	display: flex;
	align-items: center;
}
.search-area .inp-search {
	flex: 0 0 auto;
	width: 18.7rem;
	height: 3.4rem;
	padding: 0 1.4rem;
	border-radius: 0.5rem 0 0 0.5rem;
	color: #a2a2a2;
	font-size: 0.9rem;
	border: 0.1rem solid var(--line-gray);
	border-right: 0;
}
.search-area .inp-search::-webkit-search-cancel-button {
	appearance: none;
	width: 1rem;
	height: 1rem;
	background: url("../images/circle-xmark.svg") no-repeat 50% 50% / contain;
	cursor: pointer;
}
.search-area .btn-search {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 3.4rem;
	width: 3.45rem;
	border-radius: 0 0.5rem 0.5rem 0;
	font-size: 1.35rem;
	color: #fff;
	background: var(--bg-deep-gray);
	border: 0;
}

@media (max-width: 740px) {
	.search-area {
		margin-bottom: 1.5rem;
	}
	.search-area .area-container {
		display: block;
	}

	.search-area .select {
		width: 100%;
		margin-bottom: 0.825rem;
		font-size: 1rem;
	}

	.search-area .inp-search {
		flex: 1 1 100%;
		min-width: 0;
		font-size: 1rem;
	}

	.search-area .btn-search {
		width: 4.575rem;
	}
}

/* 데이터가 없을 경우 */
.no-data-box {
	border-top: 4px solid var(--primary-color);
	border-bottom: 1px solid var(--line-gray);
	padding: 4rem var(--container-padding);
	text-align: center;
}
.no-data-box i {
	margin-bottom: 1rem;
	opacity: 0.46;
	color: var(--primary-color);
	font-size: 3rem;
}
.no-data-box p {
	text-wrap: balance;
	font-weight: 500;
	line-height: 1.5;
}
.no-data-box p + p {
	margin-top: 0.25rem;
}

@media (max-width: 740px) {
	.no-data-box {
		padding-top: 4rem;
		padding-bottom: 4rem;
		margin: 0 calc(var(--container-padding) * -1);
	}
	.no-data-box i {
		margin-bottom: 2rem;
	}
}

/* pagination */
.pagination {
	margin-top: 3rem;
	text-align: center;
}
.pagination .pagination-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
}
.pagination a {
	display: inline-block;
	width: 2.1rem;
	height: 2.1rem;
	border-radius: 0.25rem;
}
.pagination a:last-child {
	margin-right: 0;
}
.pagination a:not(.disabled):hover {
	background-color: #ededed;
}
.pagination a.num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 2.1rem;
	padding-top: 0.2rem;
	font-size: 1rem;
	font-weight: 500;
}
.pagination a.num + .num {
	margin-left: 0.8rem;
}
.pagination a.num.on {
	background-color: var(--primary-color);
	color: #fff;
}
.pagination .pg-btn {
	display: block;
}
.pagination .pg-btn::before {
	font-family: "Font Awesome 6 Pro";
	font-weight: bold;
	line-height: 2.1rem;
}
.pagination .pg-btn.disabled {
	cursor: default;
	pointer-events: none;
}
.pagination .pg-btn.disabled::before {
	color: #d4d4d4;
}
.pagination .pg-btn.pg-first {
	margin-right: 0.5rem;
}
.pagination .pg-btn.pg-first::before {
	content: "";
	letter-spacing: -0.3rem;
}
.pagination .pg-btn.pg-prev {
	margin-right: 2rem;
}
.pagination .pg-btn.pg-prev::before {
	content: "";
}
.pagination .pg-btn.pg-next {
	margin-left: 2rem;
}
.pagination .pg-btn.pg-next::before {
	content: "";
}
.pagination .pg-btn.pg-last {
	margin-left: 0.5rem;
}
.pagination .pg-btn.pg-last::before {
	content: "";
	letter-spacing: -0.3rem;
}

@media (max-width: 740px) {
	.pagination {
		margin-top: 2rem;
	}

	.pagination a {
		width: 2.4rem;
		height: 2.4rem;
	}
	.pagination a.num {
		min-width: 2.4rem;
		font-size: 1.2rem;
	}

	.pagination a.num + .num {
		margin-left: 0.8rem;
	}

	.pagination .pg-btn::before {
		line-height: 2.4rem;
	}

	.pagination .pg-btn.pg-first {
		margin-right: 0;
	}

	.pagination .pg-btn.pg-prev {
		margin-right: 0.5rem;
	}

	.pagination .pg-btn.pg-next {
		margin-left: 0.5rem;
	}

	.pagination .pg-btn.pg-last {
		margin-left: 0;
	}
}

/* 게시판 목록 */
.text-link:hover {
	color: var(--primary-color);
	text-decoration: underline !important;
	text-underline-offset: 0.3rem;
}

.board-list {
	border-top: 4px solid var(--primary-color);
	table-layout: fixed;
}

.board-list td {
	padding: 1rem 0;
	height: 3.5rem;
	font-size: 0.9rem;
	font-weight: 500;
	letter-spacing: -0.018rem;
	border-bottom: 1px solid var(--line-gray);
	text-align: center;
}

.board-list .bbs-title {
	text-align: left;
	padding: 0 2rem;
}
.board-list tr.notice {
	background: var(--bg-gray-box);
}
.board-list tr.notice .bbs-title {
	font-weight: bold;
}
.board-list .bbs-category,
.board-list .bbs-category2 {
	font-size: 0.8rem;
	font-weight: bold;
	color: var(--txt-gray);
}
.board-list .fa-thumbtack {
	color: var(--primary-color);
}
.board-list .text-link {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (max-width: 740px) {
	.board-list {
		display: block;
		width: auto;
		margin: 0 calc(var(--container-padding) * -1);
	}
	.board-list colgroup,
	.board-list thead {
		display: none;
	}

	.board-list tbody,
	.board-list tr {
		display: block;
	}

	.board-list tr {
		position: relative;
		padding: 1.25rem var(--container-padding);
		border-bottom: 0.1rem solid var(--line-gray);
	}

	.board-list td {
		height: auto;
		display: inline-flex;
		vertical-align: middle;
		border-bottom: 0;
		padding: 0;
		font-size: 1.05rem;
		text-align: left;
	}

	.board-list td:has(.num) {
		display: none;
	}

	.board-list .bbs-num:has(i),
	.board-list .bbs-category,
	.board-list .bbs-category2 {
		margin-right: 1rem;
		margin-bottom: 0.8rem;
	}

	.board-list .bbs-category,
	.board-list .bbs-category2 {
		font-size: 1.05rem;
	}

	.board-list .bbs-title {
		padding: 0;
		display: block;
	}

	.board-list .bbs-date {
		display: block;
		font-size: 0.9rem;
		margin-top: 0.8rem;
	}

	.board-list .bbs-link {
		display: block;
		text-align: right;
		margin-top: 0.8rem;
	}
}

/* 게시판 상세 */
.board-detail {
	border-top: 4px solid var(--primary-color);
	border-bottom: 1px solid var(--line-gray);
}

.board-detail .detail-head {
	display: flex;
	justify-content: center;
	flex-direction: column;
	padding: 1.45rem var(--container-padding) 1.25rem;
	background: var(--bg-gray-box);
	text-align: center;
	border-bottom: 1px solid var(--line-gray);
	min-height: 7.2rem;
}

.board-detail .item-title {
	width: 100%;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.5;
}
.board-detail .item-text {
	width: 100%;
	color: var(--txt-gray);
	font-size: 0.9rem;
	line-height: 1.5;
	margin-top: 1rem;
}

.board-detail .detail-meta {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	border-bottom: 1px solid var(--line-gray);
	color: var(--txt-gray);
	font-size: 0.9rem;
	padding: 1rem var(--container-padding);
	gap: 0.5rem 1.5rem;
}

.board-detail .detail-meta i {
	font-size: 110%;
	margin-right: 0.65rem;
	margin-top: -0.2rem;
}
.board-detail .detail-meta i,
.board-detail .detail-meta .text {
	vertical-align: middle;
}
.board-detail .detail-meta a:hover {
	color: var(--primary-color);
}

.board-detail .detail-body {
	padding: 2.5rem 2rem;
}
.board-detail .detail-body img {
	display: block;
	width: 960px;
	margin: 0 auto;
}
.board-detail .program-file {
	border-bottom: 0;
	border-top: 1px solid var(--line-gray);
	padding-left: 2rem;
	padding-right: 2rem;
}

@media (max-width: 740px) {
	.board-detail {
		margin: 0 calc(var(--container-padding) * -1);
	}

	.board-detail .item-title {
		font-size: 1.65rem;
	}

	.board-detail .item-text {
		font-size: 1.2rem;
	}

	.board-detail .detail-meta {
		font-size: 1.05rem;
	}

	.board-detail .detail-body {
		padding: 2rem var(--container-padding);
		font-size: 1.05rem;
	}

	.board-detail .program-file {
		padding-left: var(--container-padding);
		padding-right: var(--container-padding);
	}
}

/* 통합검색 */
.search-form-container {
	background: var(--bg-gray-box);
	padding: 3rem 2rem;
	border-radius: 1rem;
	text-align: center;
}
.search-form-container p {
	margin-top: 1.2rem;
	color: #4c4e55;
	font-size: 0.8rem;
	font-weight: 500;
	text-wrap: balance;
}
.search-form {
	--search-height: 3.75rem;
	position: relative;
	margin: 0 auto;
	background: var(--primary-color);
	border-radius: 5rem;
	padding: 0.25rem;
}
.search-form .inp-search {
	min-width: 0;
	width: 100%;
	height: var(--search-height);
	border-radius: 5rem;
	border: 0;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 600;
	padding: 0 7rem;
}
.search-form .inp-search::-webkit-search-cancel-button {
	-webkit-appearance: none;
	width: 0.9rem;
	height: 0.9rem;
	background: url(../images/search_delete_btn.png) no-repeat 50% 50% / cover;
	cursor: pointer;
	position: absolute;
	right: 4.65rem;
	cursor: pointer;
}
.search-form .btn-search {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 0.35rem;
	right: 0.35rem;
	width: 5.4rem;
	height: var(--search-height);
	color: var(--primary-color);
	font-size: 1.8rem;
	border: 0;
	background: none;
}

.search-result {
	margin-top: 3.5rem;
}
.search-result .result-head {
	display: flex;
	justify-content: normal;
	align-items: flex-end;
	flex-direction: row;
	margin-bottom: 0.7rem;
}
.search-result .result-title {
	font-size: 0.9rem;
	letter-spacing: -0.027rem;
	padding-right: 1.5rem;
	font-weight: 400;
}
.search-result .result-title .primary {
	color: var(--primary-color);
}
.search-result .btn-link {
	margin-left: auto;
	font-size: 0.7rem;
	font-weight: 500;
	line-height: 1.6;
	padding: 0.25rem 0.75rem;
	border: 1px solid #a2a2a2;
	border-radius: 0.15rem;
}
.search-result .btn-link:hover {
	color: var(--text-deep-blue-color);
}
.search-result .board-list,
.search-result .no-data-box {
	border-top-color: var(--base-text-color);
	border-top-width: 3px;
}

@media (max-width: 740px) {
	.search-form-container {
		padding: 2rem var(--container-padding);
		margin: 0 calc(var(--container-padding) * -1);
		border-radius: 0;
	}

	.search-form-container p {
		margin-top: 1.6rem;
		font-size: 1.4rem;
	}

	.search-form {
		--search-height: 4.5rem;
	}
	.search-form .inp-search {
		font-size: 1.6rem;
		padding: 0 5rem;
	}
	.search-form .inp-search::-webkit-textfield-decoration-container {
		padding-right: 1rem;
	}
	.search-form .btn-search {
		width: 6rem;
		font-size: 2rem;
	}
	.search-result {
		margin-top: 4.5rem;
	}
	.search-result .result-title {
		font-size: 1.35rem;
	}
	.search-result .btn-link {
		font-size: 1rem;
	}

	.search-result .board-list,
	.search-result .no-data-box {
		border-top-width: 2px;
	}
}

.program-title {
	font-size: 2rem;
	margin-bottom: 1rem;
	line-height: 1.5;
}
.program-title span {
	display: inline-block;
	margin-right: 1.5rem;
}
.program-title small {
	display: inline-block;
	font-weight: 400;
	font-size: 60%;
	color: var(--txt-gray);
}

.program-schedule-list {
	border-top: 1px solid var(--line-gray);
}

.program-schedule-list > li {
	border-bottom: 1px solid var(--line-gray);
	padding: 2rem 0;
}

.program-schedule-list .area-container {
	display: flex;
}
.program-schedule-list .item-category {
	margin-bottom: 0.9rem;
}
.program-schedule-list .item-category .category {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.9rem;
	height: 2.9rem;
	border-radius: 50%;
	color: #fff;
	font-size: 0.7rem;
	font-weight: bold;
}
.program-schedule-list .item-category .category.forum {
	background: var(--forum-color);
}
.program-schedule-list .item-category .category.show {
	background: var(--show-color);
}
.program-schedule-list .item-category .category.exhibition {
	background: var(--exhibition-color);
}
.program-schedule-list .item-category .category.sport {
	background: var(--sport-color);
}
.program-schedule-list .item-category .category.etc {
	background: var(--etc-color);
}

.program-schedule-list .item-image {
	flex: 0 0 auto;
	margin-right: 2rem;
	width: 14.76rem;
	aspect-ratio: 295.32/298;
	overflow: hidden;
	border: 1px solid var(--line-gray);
	border-radius: 0.5rem;
}
.program-schedule-list .item-image a {
	display: block;
	height: 100%;
}
.program-schedule-list .item-image a:focus {
	border: 3px solid red;
}
.program-schedule-list .item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: all 0.35s cubic-bezier(0.6, 0, 0.4, 1);
}
.program-schedule-list .item-image a:hover img {
	transform: scale(1.07);
}

.program-schedule-list .item-contents {
	flex: 1 1 100%;
	min-width: 0;
	display: flex;
	flex-direction: column;
}
.program-schedule-list:not(:has(.item-link)) .item-contents {
	padding: 0.7rem 0;
}
.program-schedule-list i {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--bg-gray);
	color: var(--txt-gray);
	font-size: 0.9rem;
	margin-right: 1rem;
}
.program-schedule-list .text {
	flex: 1 1 100%;
	min-width: 0;
}

.program-schedule-list .item-date,
.program-schedule-list .item-artist,
.program-schedule-list .item-location {
	display: flex;
	align-items: center;
	font-size: 1rem;
	font-weight: 500;
	margin-bottom: 1.15rem;
}

.program-schedule-list:not(:has(.item-link)) .item-date {
	margin-top: auto;
}
.program-schedule-list .item-date:last-child,
.program-schedule-list .item-artist:last-child,
.program-schedule-list .item-location:last-child {
	margin-bottom: 0;
}

.program-schedule-list .item-title {
	font-size: 1.4rem;
	font-weight: bold;
	margin-bottom: 1rem;
}
.program-schedule-list .item-title a:hover,
.program-schedule-list .item-artist a:hover {
	color: var(--primary-color);
}

.program-schedule-list .item-artist i {
	color: var(--primary-color);
}

.program-schedule-list .item-link {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.program-schedule-list .item-link a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 9.35rem;
	height: 2.55rem;
	border-radius: 5rem;
	background: #fff;
	border: 1px solid #a2a2a2;
	font-size: 0.7rem;
	color: var(--txt-gray);
	padding: 0 1.92rem;
	transition: 0.3s;
}
.program-schedule-list .item-link a:hover {
	background: var(--primary-color);
	border-color: var(--primary-color);
	color: #fff;
}

@media (max-width: 740px) {
	.program-title {
		font-size: 1.65rem;
	}

	.program-schedule-list {
		/* border-top: 0; */
	}
	.program-schedule-list > li {
		padding: 2.25rem 0;
	}
	.program-schedule-list > li:first-child {
		/* padding-top: 0; */
	}
	.program-schedule-list .area-container {
		display: block;
	}

	.program-schedule-list .item-image {
		width: auto;
		margin-right: 0;
		margin-bottom: 1.35rem;
	}
	.program-schedule-list:not(:has(.item-link)) .item-contents {
		padding: 0;
	}

	.program-schedule-list .item-title {
		font-size: 1.4rem;
	}

	.program-schedule-list .item-link a {
		min-width: 10.2rem;
		height: 2.775rem;
		font-size: 0.9rem;
	}

	/* 페스티벌 일정 */
	.calendar-container ~ .program-schedule-list {
		margin: 0 calc(var(--container-padding) * -1);
		border-top: 0;
	}
}

/* forum ----------------------------------------------------------------------*/

/* forum 에코피스 포럼 > 대주제 -------------------------------------------------*/
.topic-container {
	display: flex;
	gap: 0 2.5rem;
	margin: 4rem 0 2.55rem;
}

.topic-container .img-box {
	width: 20.35rem;
	height: 16.05rem;
	flex: 0 0 auto;
	position: relative;
	border: 1px solid #c2c2c2;
}
.topic-container .img-box::before {
	content: "";
	position: absolute;
	top: -0.7rem;
	left: 0.7rem;
	width: 3.9rem;
	height: 3.7rem;
	background: url(../images/icon_issue.png) no-repeat 50% 50% / contain;
}

.topic-container .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

.topic-wrap .text-box {
	border: 10px solid #eee;
	padding: 1.5rem 2.5rem;
}

.topic-wrap .info-list {
	margin-top: 1.35rem;
}

.topic-wrap .info-item {
	display: flex;
}
.topic-wrap .info-item + .info-item {
	margin-top: 0.6rem;
}
.topic-wrap .info-item .title {
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: -0.04rem;
	margin-right: 1rem;
}
.topic-wrap .info-item .text {
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: -0.01rem;
}

@media (max-width: 740px) {
	.topic-container {
		flex-direction: column;
		align-items: center;
		gap: 1rem 0;
		margin: 1.95rem 0 1.67rem;
	}

	.topic-container .img-box {
		width: 100%;
		height: 14rem;
	}

	.topic-wrap .text-box {
		padding: 1rem 1.3rem;
	}
}

/* forum 에코피스 포럼 > 포럼일정 -----------------------------------------------*/
.attached-file {
	padding: 1.35rem 1rem;
	border-bottom: 1px solid #e2e2e2;
}

.attached-file-download {
	padding-left: 1.4rem;
	position: relative;
	font-size: 0.95rem;
	font-weight: 600;
	color: #475998;
	letter-spacing: -0.0285rem;
}
.attached-file-download::after {
	content: "\e873";
	font-family: "Material Icons";
	font-size: 1rem;
	font-weight: 400;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.attached-file-download:hover {
	color: #3365c7;
}

.attached-file ~ .editor,
.page-tab + .editor,
.info-title + .editor {
	margin: 1.5rem 0;
}

@media (max-width: 740px) {
	.attached-file {
		margin: 0 -1rem;
		padding: 1.1rem 1rem;
	}
}

/* forum 에코피스 포럼 > 프로그램 > 목록 -----------------------------------------------*/
.org-container {
	position: relative;
	margin-top: 3.55rem;
}
.org-container .btn-org {
	display: none;
}
@media (max-width: 740px) {
	.org-container {
		margin-top: 1.05rem;
	}

	.org-container .btn-org {
		display: block;
		width: 100%;
		height: 2.95rem;
		line-height: 3.25rem;
		border: none;
		background: #3864d4;
		color: #fff;
		padding: 0 2rem;
		font-size: 0.9rem;
		font-family: "GmarketSans";
		font-weight: 700;
		letter-spacing: -0.032rem;
		position: relative;
	}

	.org-container .btn-org::after {
		content: "\e313";
		font-family: "Material Symbols Outlined";
		position: absolute;
		top: 50%;
		right: 1.1rem;
		transform: translateY(-50%);
		font-size: 1.6rem;
		font-weight: 400;
	}

	.org-container .btn-org.on::after {
		transform: translateY(-50%) rotate(180deg);
	}
}
.org-container .btn-org i {
	margin-left: auto;
	color: var(--text-input-color);
}
.org-container .btn-org.on {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
.org-container .btn-org.on i {
	transform: rotate(180deg);
}
.org-container .btn-org.on ~ .org-list {
	display: block;
}

.org-list {
	display: flex;
	/* 2024-10-21 YHS 수정 */
	/* grid-template-columns: repeat(3, minmax(0, auto)); */
	/* row-gap: 0.8rem; */
	border: 0.1rem solid #e2e2e2;
}
@media (max-width: 740px) {
	.org-list {
		display: none;
		grid-template-columns: repeat(2, minmax(0, auto));
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		max-height: 30rem;
		overflow-y: auto;
		background: #fff;
		z-index: 3;
		border: 0.2rem solid #3864d4;
		border-top: none;
		row-gap: 0.4rem;
		padding: 0;
		overscroll-behavior: contain;
	}
	.org-list > li + li {
		border-top: 0.1rem solid #e3e3e3;
	}
}
.org-list li {
	flex: 1 1 auto;
	min-width: 0;
}

.org-list .org-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0.9rem 0 0.7rem;
	color: #777;
	font-family: "GmarketSans";
	font-size: 0.9rem;
	font-weight: 500;
	letter-spacing: -0.009rem;
	width: 100%;
	border-right: 0.1rem solid #e2e2e2;
	border-bottom: none;
	border-top: none;
	border-left: none;
	background-color: #fff;
}
.org-list li:last-child .org-btn {
	border-right: none;
}
.org-list .org-btn:hover {
	color: #3365c7;
}
.org-list .org-btn.on {
	background-color: #3864d4;
	font-weight: 700;
	color: #fff;
}
@media (max-width: 740px) {
	.org-list .org-btn {
		padding-left: 2rem;
		padding-right: 2rem;
		border: none;
	}
}

.program-info {
	display: flex;
	align-items: center;
	padding: 1.9rem 0;
	gap: 0 4.5rem;
}

.program-info li {
	display: flex;
}

.program-info li .title {
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: -0.04rem;
	margin-right: 1.5rem;
}

.program-info li .text {
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: -0.03rem;
}

@media (max-width: 740px) {
	.program-info {
		flex-direction: column;
		align-items: normal;
		gap: 0.8rem 0;
	}

	.program-info li .title {
		margin-right: 1.6rem;
	}
}

/* 기본 테이블 */
.table-basic {
	table-layout: fixed;
	background-color: #fff;
}

.table-basic th,
.table-basic td {
	border-bottom: 1px solid #e2e2e2;
	border-right: 1px solid #e2e2e2;
	text-align: center;
	padding: 1rem 1.5rem;
}
@media (max-width: 740px) {
	.table-container {
		margin: 0 -1rem;
	}

	.table-basic th,
	.table-basic td {
		padding-left: 0.8rem;
		padding-right: 0.8rem;
	}
}
.table-basic td:last-child {
	border-right: 0;
}
.table-basic th {
	background: #f1f1f1;
	height: 3.05rem;
	border: 1px solid #e2e2e2;
	font-family: "GmarketSans";
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: -0.009rem;
}
.table-basic td {
	height: 3.5rem;
	font-size: 0.95rem;
	font-weight: 500;
	text-wrap: balance;
}
.table-basic .border-right {
	border-right: 1px solid #e2e2e2 !important;
}
@media (max-width: 740px) {
	.table-basic .no-border-right {
		border-right: 0;
	}
}
.table-basic .text-left {
	text-align: left;
	padding-left: 3rem;
	padding-right: 2rem;
}
.table-basic a:hover {
	color: #3365c7;
}

/* 테이블 스크롤 */
.table-scroll {
	overflow-x: auto;
	/* overscroll-behavior: contain;
    background: linear-gradient(to right, rgb(255, 255, 255) 30%, rgba(255, 255, 255, 0)), linear-gradient(to right, rgba(255, 255, 255, 0), #fff 70%) 0 100%, radial-gradient(farthest-side at 0 50%, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0)) 0 100%;
    background-color: #fff;
    background-position: 0 0, 100%, 0 0, 100%;
    background-repeat: no-repeat;
    background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
    background-attachment: local, local, scroll, scroll; */
}
.table-scroll::-webkit-scrollbar {
	width: 0.4rem;
	height: 0.4rem;
}
.table-scroll::-webkit-scrollbar-thumb {
	background: #a7a7a7;
	border: 0.1rem solid #fff;
	background-clip: padding-box;
	border-radius: 2rem;
}
@media (max-width: 740px) {
	.table-scroll {
		margin: 0 -1rem;
	}
}

/* forum 에코피스 포럼 > 프로그램 > 자세히보기 -----------------------------------------------*/
.info-title {
	padding: 1.4rem 1.1rem;
	color: #393939;
	text-align: center;
	font-family: "GmarketSans";
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.033rem;
	border-bottom: 1px solid #e2e2e2;
	text-wrap: balance;
}

.info-text-container {
	display: flex;
	padding: 1.1rem;
}

.info-text-container .title {
	flex: 0 0 auto;
	font-size: 1.2082rem;
	font-weight: 700;
	letter-spacing: -0.04835rem;
	max-width: 2.691rem;
	width: 100%;
	margin-right: 0.55rem;
}
.info-text-inner ul {
	flex: 1 1 auto;
	min-width: 0;
}
.info-text-container .text {
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: -0.03rem;
}

.info-text-container .text br {
	display: none;
}

.info-text-wrap {
	flex: 1 1 37%;
	min-width: 0;
	position: relative;
}

.info-text-wrap + .info-text-wrap {
	padding-left: 1.55rem;
	flex: 1 1 63%;
}

.info-text-wrap + .info-text-wrap::after {
	content: "";
	display: block;
	width: 0.05rem;
	height: 100%;
	background-color: #e2e2e2;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
}

.info-text-inner {
	display: flex;
}

.info-text-inner + .info-text-inner {
	margin-top: 0.83rem;
}

.text-container {
	padding: 1.5rem;
	border-top: 1px solid #e2e2e2;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: -0.03rem;
	line-height: 1.8;
}

@media (max-width: 740px) {
	.info-title {
		padding-top: 1.2rem;
		padding-bottom: 1.2rem;
		margin: 0 -1rem;
	}
	.info-text-container {
		flex-direction: column;
		margin: 0 -1rem;
		padding: 0;
		border: none;
	}

	.info-text-container + .text-container {
		border-top: none;
	}

	.info-text-container .title {
		margin-bottom: 0.65rem;
		margin-right: 0;
	}

	.info-text-container .text br {
		display: block;
	}

	.info-text-wrap {
		padding: 1.4rem 1rem;
		border-bottom: 1px solid #e2e2e2;
	}

	.info-text-wrap + .info-text-wrap {
		padding-left: 1rem;
	}

	.info-text-wrap + .info-text-wrap::after {
		display: none;
	}

	.info-text-inner {
		flex-direction: column;
	}

	.text-container {
		padding: 1rem 1rem;
		margin: 0 -1rem;
	}
}

/* forum 에코피스 포럼 > 연사소개 -----------------------------------------------*/
.search-container {
	margin-top: 3.55rem;
}

.search-container + .orator-container {
	margin-top: 1.1rem;
}

.search-wrap {
	display: flex;
	justify-content: flex-end;
}

.search-wrap .search-btn {
	width: 2.7rem;
	height: 2.7rem;
	background-color: #3864d4;
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}

.search-wrap .search-icon {
	color: #fff;
	font-size: 1.6rem;
	font-weight: 500;
}

.search-inner {
	border: 1px solid #e2e2e2;
	position: relative;
	display: flex;
}

.search-inner .inp-search {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 12.1rem;
	width: 100%;
	height: 100%;
	padding: 0.7rem 2.2rem 0.7rem 0.95rem;
	font-size: 0.9rem;
	font-weight: 500;
	letter-spacing: -0.009rem;
	border: none;
	position: relative;
	background-color: #fff;
	appearance: none;
}
.search-inner .inp-search::-webkit-search-cancel-button {
	-webkit-appearance: none;
	width: 0.9rem;
	height: 0.9rem;
	background: url(../images/search_delete_btn.png) no-repeat 50% 50% / cover;
	cursor: pointer;
	position: absolute;
	right: 0.7rem;
	cursor: pointer;
}
.search-inner .inp-search::placeholder {
	color: #8f8e8e;
}

.orator-container {
	padding: 2rem 0;
	border-top: 1px solid #e2e2e2;
	border-bottom: 1px solid #e2e2e2;
}

.orator-container + .orator-container {
	border-top: none;
}

.orator-title {
	font-size: 1.1rem;
	font-family: "GmarketSans";
	font-weight: 700;
	letter-spacing: -0.033rem;
	text-align: center;
	margin-bottom: 1.85rem;
	text-wrap: balance;
}

.orator-list {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 22rem));
	gap: 2rem 1.25rem;
}

.orator-item {
	text-align: center;
}

.orator-item a {
	display: block;
}

.orator-item .img-box {
	width: 11rem;
	height: 12.5rem;
	border: 1px solid #e2e2e2;
	margin: 0 auto 0.65rem;
}
.orator-item .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

.orator-item .title {
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: -0.027rem;
	line-height: 1.6;
}
.orator-item .text {
	font-size: 0.9rem;
	font-weight: 400;
	letter-spacing: -0.027rem;
	line-height: 1.6;
}
.orator-item a:hover .title,
.orator-item a:hover .text {
	color: #3365c7;
}

@media (max-width: 740px) {
	.search-container {
		margin-top: 1.55rem;
	}

	.search-inner {
		width: 100%;
	}

	.search-inner .inp-search {
		max-width: 100%;
	}

	.orator-container {
		margin: 0 -1rem;
		padding: 2rem 1rem;
	}

	.orator-list {
		grid-template-columns: repeat(2, minmax(0, 22rem));
	}

	.orator-item .img-box {
		width: 100%;
		margin: 0 0 0.65rem;
	}

	.orator-item .title {
		line-height: 1.4;
		margin-bottom: 0.2rem;
	}
}

/* forum 에코피스 포럼 > 연사소개 > 상세보기 -------------------------------------*/
.orator-detail {
	display: flex;
	padding: 2rem 0;
	gap: 0 1.45rem;
}

/* 2024-10-21 YHS 수정 */
/* .orator-detail + .text-container {
	border-bottom: 1px solid #e2e2e2;
} */

.orator-detail .left .img-box {
	width: 15.05rem;
	height: 16.05rem;
	border: 1.359px solid #e2e2e2;
}

.orator-detail .left .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

.orator-detail .right {
	width: 100%;
}

.orator-detail .right .title-container {
	border-bottom: 1px solid #e2e2e2;
}

.orator-detail .right .title {
	font-size: 1.2rem;
	font-weight: 800;
	letter-spacing: -0.012rem;
}

.orator-detail .right .title-wrap {
	display: flex;
	align-items: center;
	font-size: 0.9rem;
	font-weight: 400;
	letter-spacing: -0.027rem;
	line-height: 1.6;
	padding: 0.7rem 0;
}

.orator-detail .right .job {
	margin-right: 0.5rem;
	padding-right: 0.5rem;
	position: relative;
}
.orator-detail .right .job::after {
	content: "";
	width: 0.05rem;
	height: 0.85rem;
	background-color: #393939;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

.orator-detail .day-item {
	padding: 0.5rem 0;
	border-bottom: 1px solid #e2e2e2;
}

.orator-detail .day-item:last-child {
	border-bottom: none;
}

.orator-detail .day-item .text-wrap {
	display: flex;
	font-size: 0.9rem;
	font-weight: 400;
	letter-spacing: -0.027rem;
	line-height: 1.6;
}

.orator-detail .day-item .sub-title {
	margin-right: 0.3rem;
}

.btn-group {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: row;
	position: relative;
	margin-top: 3rem;
}
.btn-group.fixed-group {
	position: sticky;
	bottom: 30px;
}

.btn-group [class*="group"] {
	display: flex;
	justify-content: normal;
	align-items: center;
	flex-direction: row;
}

.btn-group .left-group {
	margin-right: auto;
}

.btn-group .right-group {
	margin-left: auto;
}

.btn {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	min-width: 16.15rem;
	line-height: 4rem;
	text-align: center;
	background-color: var(--base-text-color);
	border-radius: 10rem;
	font-size: 1.2rem;
	font-weight: 700;
	color: #fff;
}

@media (max-width: 740px) {
	.orator-detail {
		flex-direction: column;
		gap: 1.85rem 0;
		padding-top: 1.55rem;
		padding-bottom: 0;
		margin: 0 -1rem;
	}

	.orator-detail .left .img-box {
		margin: 0 auto;
	}

	.orator-detail .day-item {
		padding: 0.75rem 1rem;
	}

	.orator-detail .right .title-container {
		padding: 0 1rem;
	}

	.btn-group {
		margin-top: 1.5rem;
	}

	.btn-group.fixed-group {
		bottom: 1.2rem;
	}

	.btn-group .btn {
		min-width: 15rem;
		line-height: 3.45rem;
		font-size: 1.05rem;
	}
}

/* forum 에코피스 포럼 > 부대행사 ----------------------------------------------*/
.event-container {
	margin-top: 2.05rem;
}

.event-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 37.4rem));
	gap: 2rem 1.95rem;
}

.event-item {
	text-align: center;
}
.event-item a {
	display: block;
}
.event-item .img-box {
	width: 18.7rem;
	height: 18rem;
	border: 1px solid #e2e2e2;
}

.event-item .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

.event-item .title {
	font-size: 1rem;
	font-family: "GmarketSans";
	font-weight: 700;
	letter-spacing: -0.03rem;
	margin-top: 0.9rem;
}

.event-item a:hover .title {
	color: #3365c7;
}

@media (max-width: 740px) {
	.event-list {
		grid-template-columns: repeat(1, minmax(0, auto));
		gap: 1.7rem 0;
	}

	.event-item .img-box {
		width: 100%;
		height: 100%;
		aspect-ratio: 1 / 1;
	}
}

/* sport ----------------------------------------------------------------------*/

/* show ----------------------------------------------------------------------*/

/* exhibition ----------------------------------------------------------------------*/

/* dmz ----------------------------------------------------------------------------------*/
.dmz-news-list {
	padding-top: 2rem;
	border-top: 1px solid var(--line-gray);
}
.dmz-news-list ul {
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.dmz-news-list a {
	display: flex;
	flex-direction: column;
	height: 100%;
	position: relative;
	border-radius: 0.5rem;
	border: 1px solid var(--line-gray);
}
.dmz-news-list a::after {
	content: "";
	opacity: 0;
	position: absolute;
	inset: 0;
	border: 0.3rem solid var(--primary-color);
	border-radius: 0.5rem;
	transition: 0.3s;
}
.dmz-news-list a:hover::after {
	opacity: 1;
}
.dmz-news-list .item-image {
	border-radius: 0.5rem 0.5rem 0 0;
	aspect-ratio: 16/ 10.3;
	overflow: hidden;
	width: 100%;
	flex: 0 0 auto;
}
.dmz-news-list .item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: all 0.35s cubic-bezier(0.6, 0, 0.4, 1);
}
.dmz-news-list a:hover .item-image img {
	transform: scale(1.07);
}

.dmz-news-list .item-contents {
	flex: 1 1 100%;
	min-height: 0;
	display: flex;
	flex-direction: column;
	padding: 1.25rem 1.25rem 1rem;
	width: 100%;
}

.dmz-news-list .item-category {
	margin-bottom: 0.55rem;
	color: var(--txt-gray);
	font-size: 0.7rem;
	font-weight: bold;
}
.dmz-news-list .item-category span + span::before {
	content: "·";
	margin: 0 0.2rem;
	color: var(--primary-color);
}
.dmz-news-list .item-category .strong {
	color: var(--primary-color);
}

.dmz-news-list .item-title {
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.6;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
.dmz-news-list a:hover .item-title {
	color: var(--primary-color);
}

.dmz-news-list .item-text {
	margin-top: 0.45rem;
	font-size: 0.9rem;
	line-height: 1.8;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.dmz-news-list .item-date {
	margin-top: auto;
	padding-top: 1rem;
	color: var(--txt-gray);
	font-size: 0.7rem;
}

@media (max-width: 740px) {
	.dmz-news-list {
		padding-top: 0;
		border-top: 0;
	}

	.dmz-news-list ul {
		grid-template-columns: repeat(1, minmax(0, 1fr));
		gap: 1.5rem;
	}

	.dmz-news-list .item-image {
		aspect-ratio: 16 / 10.3;
	}

	.dmz-news-list .item-category {
		font-size: 1.05rem;
	}

	.dmz-news-list .item-title {
		font-size: 1.5rem;
	}

	.dmz-news-list .item-text {
		font-size: 1.35rem;
	}

	.dmz-news-list .item-date {
		font-size: 1.05rem;
	}
}

/* DMZ OPEN 페스티벌 소개 ---------------------------------------------------------------*/
/* 공통 */
.festival h2 {
	width: fit-content;
	margin: 0 auto 3.5rem;
	font-size: 1.5rem;
	font-weight: 400;
	padding: 0.7rem 3.2rem;
	min-width: 12.8rem;
	border-radius: 5rem;
	border: 2px solid var(--line-gray);
	background: var(--bg-gray-box);
}
.festival h3 {
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 3.5rem;
}
.festival section {
	padding: 5rem 0;
	text-align: center;
}
.festival section + section {
	border-top: 1px solid var(--line-gray);
}
.festival section.blue {
	background: var(--bg-gray-box);
}
.festival section.blue h2 {
	background: #fff;
}

@media (max-width: 740px) {
	.festival h2 {
		min-width: 7.05rem;
		font-size: 1rem;
		margin-bottom: 3rem;
		padding: 0.4rem 1.8rem;
	}
	.festival h3 {
		font-size: 2.1rem;
		margin-bottom: 2rem;
	}

	.festival section {
		padding: 3rem 0;
	}
}

/* 인사말 */
.greeting-section {
	display: flex;
}
.greeting-section + .greeting-section {
	margin-top: 7rem;
}
.greeting-section .greeting-image {
	flex: 0 0 auto;
	text-align: center;
}
.greeting-section .image-wrap {
	width: 25.7rem;
	height: 33rem;
	position: relative;
}
.greeting-section .image-wrap::after {
	content: "";
	position: absolute;
	top: 2rem;
	left: 2rem;
	z-index: -1;
	width: 100%;
	height: 100%;
}
.greeting-section .image-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.greeting-section .image1 {
	margin-right: 6.2rem;
}
.greeting-section .image1 .image-wrap::after {
	background: #7c50d6;
	border-top-right-radius: 4.5rem;
}
.greeting-section .image1 img {
	border-top-right-radius: 4.5rem;
}
.greeting-section .image2 {
	margin-left: 4.75rem;
	margin-right: 2rem;
}
.greeting-section .image2 img {
	border-top-left-radius: 4.5rem;
}
.greeting-section .image2 .image-wrap::after {
	background: #7ac939;
	border-top-left-radius: 4.5rem;
}

.greeting-section .image2 ~ .team,
.greeting-section .image2 ~ .from {
	padding-left: 2rem;
}

.greeting-section .greeting-image .team {
	margin-top: 3.3rem;
	font-weight: bold;
	font-size: 0.9rem;
	color: var(--txt-gray);
}
.greeting-section .greeting-image .from {
	margin-top: 1rem;
	font-size: 1.1rem;
	font-weight: bold;
	color: var(--txt-gray);
}
.greeting-section .greeting-image .from .ceo {
	font-family: "tvN Enjoystories";
	font-size: 4.2rem;
	font-weight: 400;
	color: #1c1c1c;
	vertical-align: middle;
	margin-left: 0.5rem;
}

.greeting-section .title {
	font-size: 2.1rem;
	font-weight: bold;
	margin-bottom: 2rem;
}
.greeting-section .greeting-text p {
	font-size: 1rem;
	line-height: 1.8;
	margin-bottom: 2.5rem;
}
.greeting-section .greeting-text p.last {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 0;
}
.greeting-section .greeting-text p .mid {
	font-size: 1.4rem;
	font-weight: bold;
	display: block;
	background: linear-gradient(123deg, #476cef 0.01%, #7946f2 72.76%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

@media (max-width: 740px) {
	.greeting-section {
		flex-direction: column;
	}
	.greeting-section + .greeting-section {
		margin-top: 3rem;
	}

	.greeting-section .image1 {
		margin-right: 0;
	}
	.greeting-section .image2 {
		margin-left: 0;
		margin-right: 0;
	}

	.greeting-section .image-wrap {
		width: 19.275rem;
		height: 24.75rem;
		margin: 0 auto;
	}
	.greeting-section .image-wrap::after {
		top: 1.5rem;
		left: 1.5rem;
	}

	.greeting-section:has(.image2) .greeting-text {
		order: 2;
	}
	.greeting-section:has(.image2) .greeting-image {
		order: 1;
	}

	.greeting-section .greeting-image .from {
		margin-top: 0;
	}

	.greeting-section .greeting-text {
		margin-top: 1.5rem;
	}
}

/* 소개 */
.festival.guide .section1,
.festival.guide .section2,
.festival.guide .section3 {
	position: relative;
}
.festival.guide .section1::after {
	content: "";
	position: absolute;
	top: -1rem;
	right: 0;
	width: 19.2rem;
	height: 26.15rem;
	z-index: -1;
	background: url("../images/deco_section2.png") no-repeat 50% 50% / contain;
}
.festival.guide .section2::after {
	content: "";
	position: absolute;
	bottom: -12.9rem;
	left: 0;
	width: 13.85rem;
	height: 21.5rem;
	background: url("../images/deco2_section4.png") no-repeat 50% 50% / contain;
}
.festival.guide .section3::after {
	content: "";
	position: absolute;
	bottom: 2.4rem;
	right: 0;
	width: 9.45rem;
	height: 12.65rem;
	background: url("../images/intro_deco.png") no-repeat 50% 50% / contain;
}

.dmz-intro-title {
	font-size: 2rem;
	line-height: 2;
}
.dmz-intro-title .top {
	display: block;
	margin-bottom: 1rem;
}
.dmz-intro-title .bottom {
	display: block;
}
.dmz-intro-title img {
	vertical-align: text-bottom;
	max-width: calc(100% - 2.4rem);
}
.dmz-intro-title .primary {
	color: var(--primary-color);
	font-size: 135%;
	font-weight: bold;
}

.dmz-intro-desc {
	margin-top: 3.45rem;
	text-align: left;
}
.dmz-intro-desc h3 {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 0.4rem;
}
.dmz-intro-desc h3:not(:first-child) {
	margin-top: 3.35rem;
}
.dmz-intro-desc p {
	font-size: 1rem;
	line-height: 1.8;
}

.dmz-intro-image {
	margin: 4.55rem 0;
}

.dmz-intro-program ul {
	display: flex;
	gap: 1.6rem;
}
.dmz-intro-program ul li {
	flex: 1 1 100%;
	min-width: 0;
	display: flex;
	flex-direction: column;
}
.dmz-intro-program h4 {
	margin-bottom: 1.45rem;
	font-size: 2.25rem;
	font-weight: bold;
	line-height: normal;
}
.dmz-intro-program ul li:nth-child(1) h4 {
	color: #1a8442;
}
.dmz-intro-program ul li:nth-child(2) h4 {
	color: #0067a8;
}
.dmz-intro-program ul li:nth-child(3) h4 {
	color: #c93f27;
}
.dmz-intro-program p {
	display: flex;
	justify-content: center;
	align-items: center;
	flex: 1 1 100%;
	min-height: 0;
	background: var(--bg-gray-box);
	border-radius: 1rem;
	padding: 1.6rem 2rem;
	text-align: left;
	font-size: 1rem;
	line-height: 1.8;
}

.dmz-intro-goal {
	display: flex;
	gap: 1.5rem;
	color: #fff;
}
.dmz-intro-goal li {
	flex: 1 1 100%;
	min-width: 0;
	border-radius: 1rem;
	background-position: 50% 1.9rem;
	background-repeat: no-repeat;
	padding: 6.4rem 2rem 2rem;
}

.dmz-intro-goal li:nth-child(1) {
	background-color: var(--show-color);
	background-image: url("../images/sub_dmz_fe_guide_icon_1.png");
}

.dmz-intro-goal li:nth-child(2) {
	background-color: var(--sport-color);
	background-image: url("../images/sub_dmz_fe_guide_icon_2.png");
}

.dmz-intro-goal li:nth-child(3) {
	background-color: #219bd0;
	background-image: url("../images/sub_dmz_fe_guide_icon_3.png");
}

.dmz-intro-goal li:nth-child(4) {
	background-color: var(--exhibition-color);
	background-image: url("../images/sub_dmz_fe_guide_icon_4.png");
}

.dmz-intro-goal li dt {
	font-size: 1.8rem;
	letter-spacing: -0.018rem;
	margin-bottom: 2.5rem;
}
.dmz-intro-goal li dd {
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.6;
}

.dmz-intro-info {
	display: flex;
	justify-content: space-around;
}
.dmz-intro-info p {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.8;
}

.usr-list-sns {
	text-align: left;
	border-top: 2px solid var(--line-gray);
}
.usr-list-sns > li {
	padding: 1.05rem 3rem;
	font-size: 1.15rem;
	border-bottom: 2px solid var(--line-gray);
}

.usr-list-sns > li span {
	color: var(--primary-color);
	padding-left: 2.5rem;
	font-weight: 400;
}

.usr-list-sns > li:before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	background-size: cover;
	background-repeat: no-repeat;
	width: 2.6rem;
	height: 2.6rem;
	margin-right: 2.5rem;
}

.usr-list-sns > li.home:before {
	background-image: url(../images/icon_b_home.png);
}

.usr-list-sns > li.face:before {
	background-image: url(../images/icon_b_face.png);
}

.usr-list-sns > li.insta:before {
	background-image: url(../images/icon_b_inster.png);
}

.usr-list-sns > li.utube:before {
	background-image: url(../images/icon_b_you.png);
}

.usr-list-sns > li.blog:before {
	background-image: url(../images/icon_b_blog.png);
}

.usr-list-sns a:hover span {
	font-weight: bold;
}

@media (max-width: 740px) {
	.festival.guide .section1::after,
	.festival.guide .section2::after,
	.festival.guide .section3::after {
		display: none;
	}

	.dmz-intro-title {
		font-size: 1.2rem;
		line-height: 1.6;
	}

	.dmz-intro-desc {
		margin-top: 1.5rem;
	}
	.dmz-intro-desc h3 {
		font-size: 1.35rem;
	}
	.dmz-intro-desc h3:not(:first-child) {
		margin-top: 1.5rem;
	}
	.dmz-intro-desc p {
		font-size: 1.05rem;
		word-break: break-all;
	}

	.dmz-intro-program {
		margin-top: 1.5rem;
	}
	.dmz-intro-program ul {
		flex-direction: column;
		gap: 2rem;
	}
	.dmz-intro-program div {
		margin: 0 calc(var(--container-padding) * -1) 1.5rem;
	}
	.dmz-intro-program h4 {
		font-size: 1.65rem;
	}
	.dmz-intro-program p {
		font-size: 1.05rem;
		word-break: break-all;
	}

	.dmz-intro-goal {
		flex-direction: column;
	}
	.dmz-intro-goal li {
		background-position-y: 2.5rem;
		padding-top: 8.4rem;
	}
	.dmz-intro-goal li dt {
		font-size: 2.7rem;
	}
	.dmz-intro-goal li dd {
		font-size: 1.5rem;
	}

	.dmz-intro-info {
		flex-direction: column;
		gap: 3rem;
	}
	.dmz-intro-info img {
		width: 15rem;
	}

	.usr-list-sns > li span {
		color: #1984b9;
		padding-left: 3rem;
		display: block;
		font-size: 0.9rem;
	}

	.usr-list-sns > li {
		padding: 0.5rem 0rem;
		font-size: 1rem;
	}

	.usr-list-sns > li:before {
		margin-right: 1rem;
		background-size: 2rem;
		width: 2rem;
		height: 2rem;
	}
}

/* BI/키비주얼 */
.festival.bi {
	text-align: center;
}
.festival.bi .bi-logo {
	text-align: center;
	margin-bottom: 3.75rem;
}

.festival.bi .bi-logo figcaption {
	margin-top: 3.63rem;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.5;
}
.festival.bi .bi-logo figcaption .green {
	color: var(--sport-color);
}
.festival.bi .bi-logo figcaption .orange {
	color: var(--show-color);
}
.festival.bi .bi-logo figcaption .blue {
	color: #004097;
}

.usr-box-1 {
	display: flex;
	gap: 2rem;
	border-radius: 2rem;
	background: var(--bg-gray-box);
	padding: 3rem 2.8rem;
	border: 1px solid #ccc;
}
.usr-box-1 .area-sub {
	flex: 1 1 100%;
	min-width: 0;
}
.usr-box-1 figure {
	text-align: center;
}

.usr-box-1 figure figcaption {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2rem;
}

.usr-box-1 figure figcaption dl {
	flex: 1 1 100%;
	min-width: 0;
	padding: 1rem 1.45rem;
	vertical-align: top;
	color: #fff;
	border-radius: 1rem;
}

.usr-box-1 figure figcaption dl dt {
	font-size: 1.4rem;
	font-weight: bold;
	margin-bottom: 1rem;
	display: block;
}

.usr-box-1 figure figcaption dl dd {
	font-size: 0.8rem;
	display: block;
	text-align: left;
	line-height: 1.6;
}

.usr-box-1 .logo {
	padding: 1.2rem;
	border-radius: 1rem;
	margin-bottom: 3rem;
}
.usr-box-1 .white {
	background: #fff;
	border: 1px solid var(--line-gray);
}

.usr-box-1 .orange {
	background-color: var(--show-color);
}

.usr-box-1 .blue {
	background-color: #09408a;
}

.usr-box-1 .green {
	background-color: var(--sport-color);
}

.usr-box-1 .black {
	background-color: #000;
}

.festival.bi .usr-button-1.download {
	margin-top: 3rem;
}

.bi-poster-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem;
}

.bi-poster-list li {
	border: 1px solid var(--line-gray);
}

.bi-poster-list li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50%;
}

@media (max-width: 740px) {
	.festival.bi .bi-logo figcaption {
		font-size: 1.2rem;
		margin-top: 2.5rem;
	}

	.usr-box-1 {
		flex-direction: column;
		gap: 2rem;
		padding: 1.5rem 1.125rem;
	}
	.usr-box-1 .logo {
		margin-bottom: 1.5rem;
	}
	.usr-box-1 figure figcaption {
		flex-direction: column;
		gap: 1.5rem;
	}
	.usr-box-1 figure figcaption dl {
		width: 100%;
	}
	.usr-box-1 figure figcaption dl dt {
		font-size: 1.8rem;
	}
	.usr-box-1 figure figcaption dl dd {
		font-size: 1.2rem;
	}

	.festival.bi .usr-button-1.download {
		margin-top: 1.5rem;
	}

	.bi-poster-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* 조직위원회 */
.usr-table-2 {
	width: 100%;
	position: relative;
	border-collapse: collapse;
	margin-bottom: 4rem;
	border-top: 0.2rem solid var(--primary-color);
}
/* .usr-table-2:last-child {
	margin-bottom: 0 !important;
} */

.usr-table-2 th {
	border-bottom: 1px solid var(--line-gray);
	background-color: var(--bg-gray-box);
	font-size: 0.9rem;
	padding: 0.8rem 0;
	height: 3.5rem;
}

.usr-table-2 td {
	text-align: center;
	border-bottom: 1px solid var(--line-gray);
	font-size: 0.9rem;
	padding: 0.8rem 0;
	height: 3.5rem;
}

.usr-table-2 td.bold {
	font-weight: 600;
}

.usr-table-2 td:nth-child(2) {
	text-align: left;
}

.usr-table-2.custom-2 {
	margin-bottom: 2rem;
	border-collapse: initial;
}

.usr-table-2.custom-2 td {
	text-align: left;
}

.usr-table-2.custom-2 td.center {
	text-align: center;
}

@media (max-width: 740px) {
	.usr-table-2 {
		margin: 0 calc(var(--container-padding) * -1) 2.5rem;
		width: calc(100% + (var(--container-padding) * 2));
	}
}

/* 페스티벌 일정 */
.calendar-container {
	border: 1px solid var(--line-gray);
	border-radius: 0.5rem;
	margin-bottom: 2rem;
}
.calendar-header {
	display: flex;
	align-items: center;
	padding: 1.45rem 2.5rem;
	border-bottom: 1px solid var(--line-gray);
}
.calendar-header .calendar-date {
	display: flex;
	align-items: center;
	gap: 0 1.5rem;
}
.calendar-header .calendar-date .date-year {
	font-size: 1.2rem;
	font-weight: 500;
}
.calendar-header .calendar-date .date-month {
	font-size: 2.02625rem;
	color: var(--primary-color);
	font-weight: bold;
}
.calendar-header .calendar-date button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.6725rem;
	height: 1.6725rem;
	background: #fff;
	border: 1px solid var(--line-gray);
	border-radius: 50%;
	font-size: 0.8rem;
	transition: 0.3s;
}
.calendar-header .calendar-date button:hover {
	color: #fff;
	background: var(--primary-color);
	border-color: var(--primary-color);
}
.calendar-header .calendar-info {
	display: flex;
	align-items: center;
	gap: 0 1.5rem;
	margin-left: auto;
}
.calendar-header .calendar-info .item-wrap {
	display: flex;
	align-items: center;
}
.calendar-header .calendar-info .dot {
	flex: 0 0 auto;
	width: 1rem;
	height: 1rem;
	margin-top: -0.1rem;
	margin-right: 0.5rem;
	border-radius: 50%;
}
.calendar-header .calendar-info .dot.forum {
	background: var(--forum-color);
}
.calendar-header .calendar-info .dot.show {
	background: var(--show-color);
}
.calendar-header .calendar-info .dot.exhibition {
	background: var(--exhibition-color);
}
.calendar-header .calendar-info .dot.sport {
	background: var(--sport-color);
}
.calendar-header .calendar-info .dot.etc {
	background: var(--etc-color);
}
.calendar-header .calendar-info .dot.today {
	background: var(--primary-color);
	border-radius: 0.2rem;
}
.calendar-header .calendar-info .text {
	font-size: 0.8rem;
	color: var(--txt-gray);
}

.calendar-body {
	padding: 1.6rem 2.5rem;
	position: relative;
}

.calendar-swiper .calendar-item {
	text-align: center;
}
.calendar-swiper .calendar-item .btn-day {
	display: block;
	margin: 0 auto;
	border-radius: 0.6rem;
	width: 3rem;
	height: 2.6rem;
	line-height: 2.6rem;
	text-align: center;
	font-weight: bold;
	font-size: 1.1rem;
	border: 0;
	background: none;
	transition: 0.3s;
}
.calendar-swiper .calendar-item .weekday {
	font-size: 0.9rem;
	color: var(--txt-gray);
	margin-bottom: 0.8rem;
}
.calendar-swiper .calendar-item.sunday .btn-day,
.calendar-swiper .calendar-item.sunday .weekday {
	color: #f45151;
}
.calendar-swiper .calendar-item.saturday .btn-day,
.calendar-swiper .calendar-item.saturday .weekday {
	color: #517aff;
}

.calendar-swiper .calendar-item .btn-day:hover {
	color: #fff;
	background: var(--primary-color);
}

.calendar-swiper .calendar-item .event-dots {
	display: flex;
	justify-content: center;
	gap: 0 0.13rem;
	margin-top: 0.4rem;
}

.calendar-swiper .calendar-item .event-dot {
	width: 0.4795rem;
	height: 0.4795rem;
	border-radius: 50%;
}

.calendar-swiper .calendar-item .event-dot.forum {
	background: var(--forum-color);
}
.calendar-swiper .calendar-item .event-dot.exhibition {
	background: var(--exhibition-color);
}
.calendar-swiper .calendar-item .event-dot.sport {
	background: var(--sport-color);
}
.calendar-swiper .calendar-item .event-dot.show {
	background: var(--show-color);
}
.calendar-swiper .calendar-item .event-dot.etc {
	background: var(--etc-color);
}
.calendar-swiper .calendar-item.today .btn-day {
	background: var(--primary-color);
	color: #fff;
}

.calendar-body .calendar-slide-next,
.calendar-body .calendar-slide-prev {
	border-radius: 50%;
	border: 1px solid var(--line-gray);
	background: #fff;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.07075rem;
	width: 2.4rem;
	height: 2.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 0.3s;
}
.calendar-body .calendar-slide-prev {
	left: -1.2rem;
}
.calendar-body .calendar-slide-next {
	right: -1.2rem;
}
.calendar-body .calendar-slide-next:not(.swiper-button-disabled):hover,
.calendar-body .calendar-slide-prev:not(.swiper-button-disabled):hover {
	color: #fff;
	background: var(--primary-color);
	border-color: var(--primary-color);
}

.calendar-no-data {
	border-top: 1px solid var(--line-gray);
	border-bottom: 1px solid var(--line-gray);
	text-align: center;
	padding: 4rem var(--container-padding);
}
.calendar-no-data p {
	color: var(--txt-gray);
	font-size: 1.1rem;
	line-height: 1.8;
}

@media (max-width: 740px) {
	.calendar-container {
		border-left: 0;
		border-right: 0;
		border-radius: 0;
		margin: 0 calc(var(--container-padding) * -1) 1.5rem;
	}

	.calendar-container .calendar-header {
		display: block;
		padding: 1.5rem var(--container-padding);
	}

	.calendar-container .calendar-header .calendar-date {
		justify-content: center;
	}

	.calendar-container .calendar-header .calendar-info {
		justify-content: center;
		gap: 0 0.8625rem;
		margin-top: 1.65rem;
	}

	.calendar-body {
		padding: 1.65rem 1rem 2.7rem;
	}

	.calendar-body .calendar-slide-next,
	.calendar-body .calendar-slide-prev {
		top: auto;
		bottom: -1.63rem;
		width: 3.26rem;
		height: 3.26rem;
		transform: none;
		font-size: 1.5rem;
	}

	.calendar-body .calendar-slide-next {
		left: 50%;
		margin-left: 1rem;
	}
	.calendar-body .calendar-slide-prev {
		right: 50%;
		margin-right: 1rem;
		left: auto;
	}

	.calendar-no-data {
		margin: 3rem calc(var(--container-padding) * -1) 0;
	}
	.calendar-no-data p {
		font-size: 1.2rem;
	}
}

.material-symbols-rounded {
	font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
	padding-top: 8px;
}

.top_btn {
	position: fixed;
	bottom: 30px;
	left: 50%;
	margin-left: 740px;
	width: 4rem;
	height: 4rem;
	text-align: center;
	z-index: 999;
	background: url("../images/btn_top.svg") no-repeat 50% 50% / cover;
}

@media (max-width: 1620px) {
	.top_btn {
		left: auto;
		margin-left: 0;
		right: 30px;
	}
}
@media (max-width: 740px) {
	.top_btn {
		right: 1rem;
		bottom: 1rem;
	}
}

/* 팝업 */
.popup-container {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	justify-content: center;
	align-items: center;
	flex-direction: row;
	display: none;
	z-index: 1000;
	background: rgba(0, 0, 0, 0.7);
}

.popup-container.on {
	display: flex;
}

.popup-container .area-basic {
	padding: 0 30px;
}

.popup-wrap {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	padding: 2rem;
}

.popup-slider {
	position: relative;
}

.popup-slider .swiper-container {
	margin: 0 auto;
	position: relative;
	overflow: hidden;
	list-style: none;
	padding: 0;
	z-index: 1;
}

.popup-slider .swiper-container.center .swiper-wrapper {
	justify-content: center;
}

.popup-slider .swiper-container.center .swiper-slide:last-child {
	margin-right: 0 !important;
}

.popup-slider a {
	display: block;
	height: 100%;
}

.popup-slider a:focus-visible {
	border: 3px dotted #000;
	outline: none;
}

.popup-slider img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.popup-next,
.popup-prev {
	position: absolute;
	top: 50%;
	z-index: 2;
	margin-top: -25px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.16);
	border: 0;
	cursor: pointer;
}

.popup-next .material-icons,
.popup-prev .material-icons {
	font-size: 28px;
}

.popup-next.swiper-button-disabled,
.popup-prev.swiper-button-disabled {
	display: none;
}

.popup-prev {
	left: -25px;
}

.popup-next {
	right: -25px;
}

.popup-option {
	display: flex;
	text-align: center;
	margin-top: 30px;
	align-items: center;
	justify-content: center;
}

.popup-option .input {
	width: 15px;
	height: 15px;
	margin-top: -3px;
	margin-right: 10px;
	vertical-align: middle;
}

.popup-option .label {
	color: #fff;
	font-size: 16px;
	vertical-align: middle;
	cursor: pointer;
}

.popup-option .btn-close {
	border: 0;
	cursor: pointer;
	background: none;
	margin-left: 20px;
}

.popup-option .btn-close .material-icons {
	color: #fff;
	font-size: 24px;
}

@media (max-width: 740px) {
	.popup-wrap {
		padding: 0 15px;
	}

	.popup-next,
	.popup-prev {
		width: 30px;
		height: 30px;
		margin-top: -15px;
	}

	.popup-next .material-icons,
	.popup-prev .material-icons {
		font-size: 24px;
	}

	.popup-prev {
		left: -15px;
	}

	.popup-next {
		right: -15px;
	}
}

/* video */
.video-container {
	display: flex;
	flex-wrap: wrap;
}

.video-container iframe {
	width: calc(50% - 20px);
	height: 325px;
	border: 0;
	margin: 10px;
}

@media (max-width: 767px) {
	.video-container iframe {
		width: 100%;
	}
}

/* ckeditor */
.ck-editor ol,
.ck-editor ul,
.ck-content ol,
.ck-content ul {
	padding: revert;
}

.ck-content figcaption {
	display: block;
	overflow: hidden;
	position: absolute;
	left: 0;
	top: -9999em;
}

/* 긴급 공지 알림 */
.top-notice {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	background-color: var(--primary-color);
	animation: topToBottom 0.8s;
	height: 2.35rem;
}
.top-notice a {
	display: block;
	height: 100%;
}
.top-notice .text {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: row;
	height: 100%;
	padding: 0 var(--container-padding);
	color: #fff;
	font-size: 0.8rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.2;
}
.top-notice .text:hover {
	text-decoration: underline;
	text-underline-offset: 0.3rem;
}

@media (max-width: 740px) {
	.top-notice {
		animation: none;
	}
	.top-notice .text {
		font-size: 0.7rem;
		padding: 0 var(--container-padding);
	}
}
/* animation */
[data-aos="fade-up"] {
	transform: translate3d(0, 100px, 0);
}

@keyframes topToBottom {
	0% {
		transform: translateY(-100%);
	}
	100% {
		transform: translateY(0);
	}
}

@keyframes floating {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-25px);
	}
	100% {
		transform: translateY(0);
	}
}

@keyframes rotate {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

@keyframes marquee {
	from {
		transform: translateX(0%);
	}
	to {
		transform: translateX(-109%);
	}
}

@keyframes showUp {
	0% {
		/* opacity: 0; */
		transform: translateY(100%);
	}

	100% {
		/* opacity: 1; */
		transform: translateY(0);
	}
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}
