header {
	position: sticky;
	opacity: 1 !important;
}

main.sub {
	padding-bottom: 5rem;
}

.section+.section {
	margin-top: 4rem;
}

.section.bg-gray:has(.board-search-filters_wrap) {
	padding-bottom: 2.5rem;
	margin-bottom: 2.5rem;
}
@media screen and (max-width: 800px) {
	.section+.section {
		margin-top: 3.5rem;
	}
}

/* Sub Visual
--------------------------------- */
.sub_visual {
	display: flex;
	align-items: center;
	padding: 5rem 0;
	background-repeat: no-repeat;
	background-size: cover;
}

.sub_visual .inner2 {
	position: relative;
	display: flex;
	align-items: flex-end;
	z-index: 2;
}

.sub_visual_title {
	font-family: 'KVHi', serif;
	font-size: var(--font-title1-size);
	font-weight: 600;
	line-height: 150%;

}

.sub_visual_desc {
	margin-top: 0.5rem;
	font-size: var(--font-body1-size);
	color: var(--color-gray-900);
	font-weight: 400;
	line-height: 150%;
}

.sub_visual_text {
	margin-right: auto;
	word-break: keep-all;
}

.allSearch .sub_visual .inner2,
.type2 .sub_visual .inner2 {
	flex-direction: column-reverse;
	align-items: center;
}

.allSearch .sub_visual_text,
.type2 .sub_visual_text {
	margin-left: auto;
	text-align: center;
}
.allSearch .sub_visual_desc,
.type2 .sub_visual_desc {
	text-align: center;
}

@media screen and (max-width: 1200px) {
	.sub_visual {
		padding-block: 2rem;
		display: block;
		height: auto;
	}
}

@media screen and (max-width: 800px) {
	.sub_visual .inner2 {
		flex-direction: column-reverse;
		align-items: flex-start;
	}

	.sub_visual_text {
		margin-left: 0;
	}
}

/* breadcrumb
--------------------------------- */
.breadcrumb {
	position: absolute;
	top: 2rem;
	right: 1rem;
	color: var(--color-gray-700);
	font-size: var(--font-body4-size);
	font-weight: 700;
}

.breadcrumb .d1-list {
	display: flex;
	align-items: center;
	width: fit-content;
	margin-left: auto;
}

.breadcrumb .d1 {
	position: relative;
	display: flex;
	align-items: center;
}

.breadcrumb .d1:not(:last-child)::after {
	content: '';
	display: block;
	width: 1px;
	height: 0.75rem;
	margin-inline: 0.5rem;
	background-color: var(--color-gray-300);
}

.breadcrumb_home {
	line-height: 1;
}

.breadcrumb_home i.ic-home {
	background-color: var(--color-gray-400);
}

.breadcrumb_btn {
	display: flex;
	gap: 0.5rem;
	font-size: var(--font-body4-size);
	font-weight: 400;
	color: var(--color-gray-500);
	white-space: nowrap;
}

.breadcrumb_btn:has(~ .d2-list)::after {
	content: '';
	display: block;
	min-width: 1rem;
	width: 1rem;
	height: 1rem;
	background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M4%207L8%2011L12%207%22%20stroke%3D%22%23585856%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22square%22/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	transition: transform 0.3s;
}

.breadcrumb_btn.is-active:has(~ .d2-list)::after {
	transform: rotate(-180deg);
}

.breadcrumb .d1:last-of-type .breadcrumb_btn {
	color: var(--color-gray-800);
	font-weight: 700;
}

.allSearch .breadcrumb,
.type2 .breadcrumb {
	position: static;
	margin-bottom: 1rem;
}

@media screen and (max-width: 800px) {
	.breadcrumb {
		position: static;
		margin-bottom: 1rem;
	}

	.breadcrumb .d1:not(:last-child)::after {
		height: 0.5rem;
		margin-inline: 0.5rem;
	}
}

.tab-list {
	margin-inline: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-bottom: 2.5rem;
}

.tab-list__item {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 100%;
	flex: 1 1 100%;
	position: relative;
	z-index: 0;
	text-align: center
}

.tab-list__btn, .tab-list__link {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	height: 100%;
	word-break: keep-all;
	font-size: .875rem;
	font-weight: 400;
	line-height: 1.5;
	font-weight: 700
}

@media(min-width: 48em) {
	.tab-list__btn, .tab-list__link {
		font-size: 1rem
	}
}

@media(min-width: 80em) {
	.tab-list__btn, .tab-list__link {
		font-size: 1.125rem
	}
}

.tab-list__btn::before, .tab-list__link::before {
	content: "";
	z-index: -1;
	display: block;
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0)
}

.tab-list__btn.is-current, .tab-list__link.is-current {
	color: var(--color-primary)
}

.tab-list--sm .tab-list__btn, .tab-list--sm .tab-list__link {
	font-size: .8125rem;
	font-weight: 400;
	line-height: 1.5;
	line-height: 1.3;
	font-weight: 700
}

@media(min-width: 48em) {
	.tab-list--sm .tab-list__btn, .tab-list--sm .tab-list__link {
		font-size: .9375rem
	}
}

@media(min-width: 80em) {
	.tab-list--sm .tab-list__btn, .tab-list--sm .tab-list__link {
		font-size: 1rem
	}
}

.tab-list--text {
	gap: 2.5rem;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center
}

.tab-list--text .tab-list__item {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 auto;
	flex: 0 1 auto;
	color: var(--color-gray-500)
}

.tab-list--text .tab-list__btn, .tab-list--text .tab-list__link {
	padding-bottom: .5rem;
	white-space: nowrap
}

.tab-list--text .tab-list__btn::before, .tab-list--text .tab-list__link::before {
	border-bottom: 2px solid rgba(0, 0, 0, 0)
}

.tab-list--text .tab-list__btn.is-current, .tab-list--text .tab-list__link.is-current {
	color: var(--color-primary)
}

.tab-list--text .tab-list__btn.is-current::before, .tab-list--text .tab-list__link.is-current::before {
	border-color: var(--color-primary)
}

@media(max-width: 63.99em) {
	.tab-list--text {
		row-gap: .25rem;
		-webkit-column-gap: 1rem;
		-moz-column-gap: 1rem;
		column-gap: 1rem
	}
}

.tab-list--round {
	position: relative;
	width: 100%
}

.tab-list--round::before {
	content: "";
	/* z-index: -1; */
	display: block;
	position: absolute;
	inset: 0;
	background-color: #f3f3f3;
	border-radius: 6.25rem
}

.tab-list--round .tab-list__item {
	text-align: center;
	-webkit-box-flex: 1;
	-ms-flex: 1 1 100%;
	flex: 1 1 100%
}

.tab-list--round .tab-list__btn, .tab-list--round .tab-list__link {
	padding-block: 1rem;
	width: 100%;
	color: var(--color-gray-700)
}

.tab-list--round .tab-list__btn::before, .tab-list--round .tab-list__link::before {
	border: 2px solid rgba(0, 0, 0, 0);
	border-radius: 6.25rem
}

.tab-list--round .tab-list__btn.is-current, .tab-list--round .tab-list__link.is-current {
	color: var(--color-primary)
}

.tab-list--round .tab-list__btn.is-current::before, .tab-list--round .tab-list__link.is-current::before {
	background-color: var(--color-white);
	border-color: var(--color-primary)
}

[data-tab-panel]:not(.is-current) {
	display: none
}


/* 세자해 소개
----------------------- */
.about-intro {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 200000;
	video {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

[class*="about-sec"] {
	padding: 7.5rem 0;
}
.about-sec1 {
	padding: 0 !important;
}
.about-sec2 {
	word-break: keep-all;
	.img {
		img {
			width: 10rem;
		}
	}
	.about_text-fill {
		position: relative;
		width: fit-content;
		margin: 1.5rem auto;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		h2 {
			margin: 0;
			padding: 0;
			white-space: nowrap;
			&.text-base {
				color: var(--color-primary);
				opacity: 0.1;
				z-index: 1;
			}
			&.text-fill {
				position: absolute;
				color: var(--color-primary); /* 채워질 색상 */
				-webkit-clip-path: polygon(0% 100%, 0% 100%, 0% 100%, 0% 100%); /* 초기 상태: 완전히 가려짐 */
				clip-path: polygon(0% 100%, 0% 100%, 0% 100%, 0% 100%); /* 초기 상태: 완전히 가려짐 */
				z-index: 2;
			}
		}
	}
}
.about-sec3 {
	overflow: hidden;
	padding: 0 !important;
	.thumb-list {
		display: flex;
		align-items: flex-start;
		justify-content: center;
		gap: 1.5rem;
		.thumb-item {
			overflow: hidden;
			display: flex;
			flex-direction: column;
			flex-shrink: 0;
			position: relative;
			gap: 1.5rem;
			width: 29rem;
			min-height: 42.5rem;
			&:has(.thumb-body:nth-child(2)) {
				margin-top: 5rem;
			}
			.thumb-body {
				.thumb-figure {
					overflow: hidden;
					width: 100%;
					height: 100%;
					border-radius: 1rem;
					img {
						width: 100%;
						height: 100%;
						object-fit: cover;
					}
				}
				.thumb-inform {
					display: flex;
					align-items: center;
					justify-content: center;
					position: absolute;
					width: 100%;
					height: 100%;
					color: var(--color-white);
					border-radius: 1rem;
					background-color: rgba(0, 0, 0, 0.5);
					opacity: 0;
					.thumb-inform-inner {
						width: 100%;
						max-width: 580px;
						transform: translateY(100%);
						opacity: 0;
						p {
							margin-bottom: 1rem;
							word-break: keep-all;
						}
					}
				}
			}

			&.thumb-main {
				.thumb-body {
					.thumb-figure {
						position: absolute;
						top: 0;
						left: 0;
					}
				}
			}
		}
	}
}
.about-sec4 {
	overflow: hidden;
	.about-list {
		display: flex;
		position: relative;
		gap: 1.5rem;
		margin-top: 3.5rem;
		.line {
			position: absolute;
			top: 50%;
			left: 50%;
			width: 100vw;
			height: 1px;
			margin-left: -50vw;
			&:before {
				position: absolute;
				top: 0;
				left: 0;
				width: 0;
				height: 1px;
				background-color: var(--color-gray-300);
				transition: width 2s;
				z-index: 1;
				content:'';
			}
		}
		&.active{
			.line:before {
				width: 100%;
			}
		}
		.about-item {
			display: flex;
			justify-content: center;
			align-items: center;
			flex-direction: column;
			position: relative;
			width: 100%;
			aspect-ratio: 1/1;
			border: 1px solid var(--color-gray-300);
			border-radius: 100%;
			background-color: var(--color-white);
			z-index: 2;
			img {
				margin-bottom: 1.5rem;
			}
			p {
				margin-bottom: 0.5rem;
			}
		}
	}
}

.about-sec5 {
	height: 100vh;
	padding: 0 !important;
	.about-spacing {
		padding: 7.5rem 0;
	}
	/* height: auto; */
	.inner {
		max-width: calc(100% - 3rem);
	}
	.about-title {
		z-index: 10;
	}
	.about-bnnr {
		position: relative;
		margin-top: 3.5rem;
		.about-bnnr-item {
			overflow: hidden;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100%;
			height: 480px;
			border-radius: 1rem;
			&:nth-of-type(2),
			&:nth-of-type(3) {
				position: absolute;
				top: 100vh;
			}
			img {
				max-width: 1000vw;
				height: 100%;
			}
			p {
				display: flex;
				align-items: center;
				justify-content: center;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				border-radius: 1rem;
				background-color: rgba(0, 0, 0, 0.4);
			}
		}
	}
}

.about-sec6 {
	margin: 7.5rem auto;
	background-image: url("/resource/images/about/text-01.png"), url("/resource/images/about/text-02.png");
	background-repeat: no-repeat;
	background-position: top left 2.5rem, bottom right 2.5rem;
	.inner {
		max-width: calc(100% - 3rem);
		margin: 2rem auto;
	}
}
@media screen and (max-width: 1280px) {
	.about-sec4 {
		.about-list {
			flex-wrap: wrap;
			justify-content: center;
			max-width: 80%;
			margin:3.5rem auto 0;
			.line {
				opacity: 0;
			}
			.about-item {
				width: calc(50% - 0.75rem);
				padding: 0 2rem;
				* {
					word-break: keep-all;
				}
			}
		}
	}
	.about-sec6 {
		background-position: top left -2.5rem, bottom right -2.5rem;
	}
}
@media screen and (max-width: 1024px) {
	.about-sec4 {
		.about-list {
			max-width: 100%;
			.about-item {
				width: calc(50% - 0.75rem);
				padding: 0 2rem;
			}
		}
	}
	.about-sec6 {
		background-size: auto 6.25rem, auto 6.25rem;
	}
}
@media screen and (max-width: 800px) {
	[class*="about-sec"] {
		padding: 5rem 0;
	}
	.about-sec2 {
		.img {
			img {
				width: 8rem;
			}
		}
	}
	.about-sec3 {
		.thumb-list {
			.thumb-item {
				.thumb-body {
					.thumb-inform {
						.thumb-inform-inner {
							max-width: 380px;
							padding: 0 1rem;
						}
					}
				}
			}
		}
	}
	.about-sec4 {
		.about-list {
			gap: 1rem;
			margin-top: 2.5rem;
			.about-item {
				width: 100%;
				max-width: 21.5rem;
			}
		}
	}
	.about-sec5 {
		.about-spacing {
			padding: 5rem 0;
		}
		.inner {
			max-width: calc(100% - 2rem);
		}
		.about-bnnr {
			margin-top: 2.5rem;
			.about-bnnr-item {
				height: 65vh;
				picture {
					width: 100%;
					height: 100%;
					img {
						object-fit: cover;
						width: 100%;
						max-width: 1000vw;
						height: 100%;
					}
				}
			}
		}
	}
	.about-sec6 {
		margin: 5rem auto;
		background-position: top left -1.5rem, bottom right -1.5rem;
		background-size: auto 4.5rem, auto 4.5rem;
		.inner {
			max-width: 100%;
		}
	}
}
@media screen and (max-width: 480px) {
	.about-sec3 {
		.thumb-list {
			.thumb-item {
				width: calc(100% - 2rem);
				margin:0 auto;
				&:not(.thumb-main) {
					display: none;
				}
			}
		}
	}
	.about-sec5 {
		.about-bnnr {
			.about-bnnr-item {
				height: 50vh;
			}
		}
	}
	.about-sec6 {
		margin: 2.5rem auto;
		background-position: top left -1.5rem, bottom right -2.5rem;
		background-size: auto 3.5rem, auto 3.5rem;
	}
}


/* login
---------------------- */
.partner {
	padding-block: 5rem;
	background-image: url("/resource/images/sub/partner-bg.png");
	background-repeat: no-repeat;
	background-position: bottom 2.125rem center;

	.inner2 {
		max-width: calc(464px + 2rem);
	}

	.partner_wrap {
		margin-top: 2.5rem;
		padding: 3.5rem 3.75rem;
		border-radius: 1rem;

		.id-box, .pw-box {
			>p {
				margin-bottom: 1rem;
			}
		}

		.id-box {
			margin-bottom: 2rem;
		}

		.pw-box {
			margin-bottom: 2.5rem;
		}

		.login_info {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 1rem;
			margin-top: 2rem;
			line-height: 1;

			>a {
				display: inline-flex;
				align-items: center;
				gap: 0.25rem;
			}
		}
	}
}

@media screen and (max-width: 800px) {
	.partner {
		background-image: none;
		padding-block: 2.5rem 3.5rem;

		.partner_wrap {
			padding: 2rem 1rem;

			.id-box, .pw-box {
				>p {
					margin-bottom: 0.5rem;
				}
			}

			.id-box {
				margin-bottom: 1.5rem;
			}

			.pw-box {
				margin-bottom: 1.5rem;
			}

			.login_info {
				flex-direction: column;
				gap: 0.75rem;
				margin-top: 1.5rem;

				>a {
					gap: 0.125rem;
				}
			}
		}
	}
}

.img-upload-wrap {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(16.25rem, 1fr));
	gap: 1rem;
	width: 100%;
}

.img-upload {
	position: relative;
	width: 100%;
	max-width: 382px;

	/* background-image: url("/resource/images/sub/partner-join-img.png");
	background-size: cover; */
	label {
		overflow: hidden;
		display: block;
		position: relative;
		width: 100%;
		aspect-ratio: 382/255;
		border-radius: 0.5rem;
		cursor: pointer;

		img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}

		&:hover {
			&:after {
				content: '';
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0, 0, 0, 0.5);
				background-image: url("/resource/images/sub/partner-ic-upload.png");
				background-repeat: no-repeat;
				background-position: center;
				background-size: 3rem 3rem;
			}
		}
	}

	input {
		position: absolute;
		width: 0;
		height: 0;
		opacity: 0;
	}

	.rep {
		position: absolute;
		top: 1rem;
		right: 1rem;
		padding: 0.375rem 0.75rem;
		color: var(--color-white);
		border-radius: 16px;
		background-color: #2D5198;
	}

	.del {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		gap: 0.25rem;
		margin-top: 0.25rem;
		padding: 0.5rem 0.75rem;
		font-size: var(--font-body4-size);
		border-radius: 0.25rem;
		border: 1px solid var(--color-gray-200);
		background-color: var(--color-bg2);

		&:hover {
			color: var(--color-white);
			background-color: var(--color-primary);

			i.ic-delet {
				background-color: var(--color-white);
			}
		}
	}
}

@media screen and (max-width: 580px) {
	.img-upload-wrap {
		grid-template-columns: repeat(2, 1fr);
	}

	.img-upload {
		.rep {
			position: absolute;
			top: 0.75rem;
			right: 0.75rem;
			padding: 0.25rem 0.5rem;
			background-color: #2D5198;
		}
	}
}

.fields-group {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(11.25rem, 1fr));
	gap: 1rem;
	width: 100%;

	label {
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 0;
		padding: 1rem 0.5rem;
		height: 3.5rem;
		font-size: var(--font-body3-size);
		text-align: center;
		word-wrap: break-word;
		border-radius: 0.5rem;
		border: 1px solid var(--color-gray-200);
		cursor: pointer;

		input {
			overflow: hidden;
			position: absolute;
			width: 0;
			height: 0;
			opacity: 0;
		}

		&:has(input:checked) {
			border: 2px solid var(--color-secondary);
		}
	}
}

@media screen and (max-width: 800px) {
	.fields-group {
		grid-template-columns: repeat(auto-fill, minmax(6.25rem, 1fr));
		gap: 0.5rem;

		label {
			/* height: 4.5rem; */
			padding: 0.5rem 0;
		}
	}
}

.sdg_hidden {
	overflow: hidden;
	width: 0;
	height: 0;
	opacity: 0;
}

.sdg_list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(6.5rem, 1fr));
	gap: 1rem;
	width: 100%;

	label {
		/* display: flex;
		align-items: center;
		justify-content: center; */
		min-width: 0;
		padding: 1rem 0.5rem;
		font-size: var(--font-body3-size);
		text-align: center;
		word-wrap: break-word;
		border-radius: 0.5rem;
		border: 1px solid var(--color-gray-200);
		cursor: pointer;

		input {
			overflow: hidden;
			position: absolute;
			width: 0;
			height: 0;
			opacity: 0;
		}

		p {
			display: flex;
			align-items: center;
			justify-content: center;
			height: 2.5rem;
			margin-top: 1rem;
			text-align: center;
		}

		&:has(input:checked) {
			border: 2px solid var(--color-secondary);
		}
	}
}

@media screen and (max-width: 800px) {
	.sdg_list {
		grid-template-columns: repeat(auto-fill, minmax(6.25rem, 1fr));
		gap: 0.5rem;

		label {
			img {
				width: 3rem;
			}

			p {
				margin-top: 0.5rem;
			}
		}
	}
}


/* 통합검색
----------------------- */
.search-box {
	margin-inline: auto;
	margin-top: -1.125rem;
	margin-bottom: 2.5rem;
	max-width: 44.25rem;
}

.search-box-input {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 1rem;
	max-width: 49.25rem;
	margin-inline: auto;
	border-bottom: 2px solid var(--color-gray-900);
	background: var(--color-white);
	-webkit-transition: border 0.3s;
	transition: border 0.3s;
}

.search-box-input:has(*:focus-visible) {
	border-color: var(--color-gray-900);
}

.search-box-input__clear {
	border-radius: 6.25rem;
	padding: 0;
	width: 1rem;
	height: 1rem;
	margin-right: 0.75rem;
	background-color: var(--color-bg2);
	background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='8' y1='8' x2='32' y2='32' stroke='black' stroke-width='4' stroke-linecap='round'/%3E%3Cline x1='8' y1='32' x2='32' y2='8' stroke='black' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E%0A");
	background-size: 0.825rem;
	background-repeat: no-repeat;
	background-position: center;
	display: none;
}

.search-box-input__clear.is-show {
	display: block;
}

.search-box-input__input {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	border: 0;
	outline: 0;
	padding: 0;
	background-color: transparent;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.5;
}

@media (min-width: 48em) {
	.search-box-input__input {
		font-size: 1rem;
	}
}

@media (min-width: 80em) {
	.search-box-input__input {
		font-size: 1.125rem;
	}
}

.search-box-input__input::-webkit-input-placeholder {
	color: var(--color-gray-700);
}

.search-box-input__input::-moz-placeholder {
	color: var(--color-gray-700);
}

.search-box-input__input:-ms-input-placeholder {
	color: var(--color-gray-700);
}

.search-box-input__btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	max-width: 1.5rem;
	min-width: 1.5rem;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 6.25rem;
}

.search-box-input__btn i.ic-search {
	background-color: var(--color-primary);
}

.search-box-input__btn:before::before, .search-box-input__btn:before::after {
	line-height: 1;
}

.search-box__desc {
	text-align: center;
	margin: 0;
	padding-top: 1rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
}

@media (min-width: 48em) {
	.search-box__desc {
		font-size: 1.125rem;
	}
}

@media (min-width: 80em) {
	.search-box__desc {
		font-size: 1.25rem;
	}
}

.search-box__desc em {
	font-weight: 700;
}

.search__title {
	display: block;
	margin-top: 2rem;
	margin-bottom: 0.5rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	font-weight: 700;
}

@media (min-width: 48em) {
	.search__title {
		font-size: 1.125rem;
	}
}

@media (min-width: 80em) {
	.search__title {
		font-size: 1.25rem;
	}
}

.search__title em {
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.5;
	font-weight: 700;
}

@media (min-width: 48em) {
	.search__title em {
		font-size: 1rem;
	}
}

@media (min-width: 80em) {
	.search__title em {
		font-size: 1.125rem;
	}
}

.search-list {
	border-top: 2px solid var(--color-gray-900);
	width: 100%;
	display: block;
}

.search-list__item {
	border-bottom: 1px solid var(--color-gray-200);
}

.search-list__link {
	padding: 1rem 0.5rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 0.25rem;
}

@media (hover: hover) and (pointer: fine) {
	.search-list__link:hover, .search-list__link:focus-visible {
		background-color: var(--color-gray-50);
	}
}

.search-list__title {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	display: block;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

@media (min-width: 48em) {
	.search-list__title {
		font-size: 1.125rem;
	}
}

@media (min-width: 80em) {
	.search-list__title {
		font-size: 1.25rem;
	}
}

.search-list .category1,
.search-list .category2 {
	top: 0;
	left: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: 0.125rem 0.375rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	white-space: nowrap;
	gap: 1rem;
	border-radius: 0.25rem;
	font-size: 0.6875rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: 0;
}

.search-list .category1 {
	border: 0.0625rem solid var(--color-gray-200);
	background-color: var(--color-white);
	color: var(--color-gray-600);
}

.search-list .category2 {
	border: 0.0625rem solid var(--color-primary);
	background-color: var(--color-white);
	color: var(--color-primary);
}

.search .empty {
	padding: 1rem;
	border-radius: 1.875rem;
	background-color: var(--color-bg2);
}

.search .empty__img {
	width: 12.5rem;
	display: block;
	margin-inline: auto;
}

.search .empty__desc {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	text-align: center;
}

@media (min-width: 48em) {
	.search .empty__desc {
		font-size: 1.125rem;
	}
}

@media (min-width: 80em) {
	.search .empty__desc {
		font-size: 1.25rem;
	}
}

@media (min-width: 64em) {
	.search .empty {
		padding: 5rem 2rem;
	}
}

@media (min-width: 64em) {
	.search-box {
		margin-top: -3.5rem;
		margin-bottom: 5rem;
	}

	.search-box-input {
		padding: 1.3125rem 2rem;
	}

	.search-box__desc {
		padding-top: 2rem;
	}

	.search__title {
		margin-top: 2.5rem;
		margin-bottom: 1rem;
	}

	.search-list__link {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		padding: 1.5rem;
		gap: 0.5rem;
	}

	.search-list .category {
		padding: 0.375rem 0.5rem;
		font-size: 0.875rem;
	}

	.search__link {
		padding: 1.5rem;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
	}
}

/* 세자해 소개
--------------------------- */
.about-card-wrap {
	overflow: hidden;
	width: 100%;

	&:after {
		display: block;
		clear: both;
		content: '';
	}

	.card_list {
		display: flex;
		position: relative;
		width: 100%;

		&:after {
			display: block;
			clear: both;
			content: '';
		}

		.card {
			flex-shrink: 0;
			width: 17.9375rem;
			padding: 0.5rem;
			aspect-ratio: 1/1.254;

			.card_inner {
				position: relative;
				width: 100%;
				height: 100%;
				border-radius: 1.5rem;
				box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
				transform-style: preserve-3d;
				perspective: 1000px;

				&:hover {
					transform: rotateY(180deg);
				}

				.front,
				.back {
					position: absolute;
					width: 100%;
					height: 100%;
					backface-visibility: hidden;
				}

				.back {
					transform: rotateY(180deg);
				}
			}

			@media screen and (max-width: 800px) {
				& {
					width: 14rem;
				}
			}
		}
	}
}

/* Partner info
------------------------- */
.partner-info-header-img {
	position: relative;
	padding: 5rem 12.5rem;
	margin: auto;
	max-width: calc((100% - 2.5rem));
	background: url(/resource/images/sub/parther-info-header-img.jpg) no-repeat center/cover;
	aspect-ratio: 92/29;
	border-radius: 20px;
	z-index: 1;
}

.partner-info-header-img::after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.60) 0%, rgba(0, 0, 0, 0.60) 100%);
	z-index: -1;
	border-radius: 20px;
}

.partner-info-header-strong {
	line-height: 150%;
}

.partner-info-header-strong .br-m {
	display: none;
}

.partner-info-header-p {
	margin: 1rem 0 2.5rem 0;
	font-size: var(--font-body1-size);
}

.partner-header-img-list {
	display: flex;
	gap: 1.5rem;
}

.partner-header-img-list li {
	padding: 1.5rem;
	width: 100%;
	max-width: 15.5rem;
	border-radius: 1rem;
	background-color: var(--color-white);
}

.partner-header-img-list li div {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 1rem;
	padding-top: 5.5rem;
}

.partner-header-img-list li div::before {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	content: "";
	width: 5.5rem;
	height: 5.5rem;
}

.partner-header-img-list li.par-share div::before {
	background: url(/resource/images/sub/partner-info-header-ic1.webp) no-repeat center/cover;
}

.partner-header-img-list li.par-cooperation div::before {
	background: url(/resource/images/sub/partner-info-header-ic2.webp) no-repeat center/cover;
}

.partner-header-img-list li.par-diffusion div::before {
	background: url(/resource/images/sub/partner-info-header-ic3.webp) no-repeat center/cover;
}

.partner-header-img-list p {
	font-size: var(--font-body1-size);
	color: var(--color-primary);
}

.partner-header-img-list span {
	font-size: var(--font-body2-size);
	letter-spacing: -1.5px;
}

.partner-filter-title {
	margin-top: 5rem;
	line-height: 3.75rem;
}

.partner-filters-wrap {
	margin: 2.5rem 0;
}

.partner-filters-wrap .board-search-filters_input {
	grid-template-columns: repeat(2, 1fr);
}

.partner-filters-wrap .board-search-filters_area select,
.partner-filters-wrap .board-search-filters_field select {
	max-width: inherit;
}

.board-partner__ul .badge-location {
	color: var(--color-gray-900);
	border: 1px solid var(--color-gray-300);
	background-color: var(--color-white);
}

.board-partner__ul .ic-map {
	background-color: var(--color-primary);
}

.board-partner__ul .volunteer-swiper__flex {
	margin-bottom: 1rem;
}
/* .board-partner__ul .board-gallery__thumbnail {
	display: flex;
	align-items: center;
	justify-content: center;
} */
.board-partner__ul .board-gallery__thumbnail img {
	object-fit: contain;
	object-position: center;
}

.board-partner__ul .board-gallery__title {
	height: auto;
}

.board-partner__ul .volunteer .badge, .board-partner__ul .volunteer .badge-num {
	font-size: 0.8125rem;
}

.partnership {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 3rem 5rem;
	border-radius: 1.25rem;
	background-color: var(--color-bg4);
}

.partnership-title span {
	line-height: 170%;
}

.partnership img {
	position: absolute;
	bottom: 0;
	right: 27.3125rem;
}

.partnership-btn {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	padding: 1rem 2rem;
	border-radius: 1.5938rem;
}

.partnership-btn .ic-arrow-right {
	background-color: var(--color-white);
}

@media screen and (max-width: 1400px) {
	.partnership img {
		right: 20.3125rem;
	}
}

@media screen and (max-width: 1280px) {
	.partner-info-header-img {
		padding: 4rem 4.5rem;
	}

	.partnership {
		flex-direction: column;
		align-items: flex-start;
		gap: 1.5rem;
		padding: 2rem 1.5rem;
	}

	.partnership img {
		right: 0.5rem;
	}
}

@media screen and (max-width: 1024px) {
	.partnership img {
		width: 7.75rem;
	}
}

@media screen and (max-width: 800px) {
	.partner-header-img-list {
		flex-wrap: wrap;
		gap: 0.5rem;
	}

	.partner-info-header-img {
		padding: 3.5rem 1rem;
		background: url(/resource/images/sub/parther-info-header-img_m.jpg) no-repeat center/cover;
		border-radius: 16px;
	}

	.partner-info-header-img::after {
		border-radius: 16px;
	}

	.partner-info-header-strong .br-m {
		display: block;
	}

	.partner-header-img-list li {
		padding: 1rem;
		width: 100%;
		max-width: calc(50% - 0.25rem);
	}

	.partner-header-img-list li div {
		padding-top: 4rem;
	}

	.partner-header-img-list li.par-cooperation {
		transform: translateY(50%);
	}

	.partner-header-img-list li div::before {
		width: 4rem;
		height: 4rem;
	}

	.partnership-btn {
		padding: 0.75rem 1.5rem;
	}

	.partner-filter-title {
		margin-top: 3.5rem;
	}

	.partner-filters-wrap .board-search-filters_input {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}

	.board-partner__ul {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}

@media screen and (max-width: 600px) {
	.partner-info-header-img {
		aspect-ratio: auto;
	}
}

/* Partner detail
---------------------------- */
.partner-sub_visual {
	padding: 2.5rem 0;
	/* margin-bottom: 2.5rem; */
	/* border-bottom: 1px solid var(--color-gray-200); */
}

.partner-inner {
	width: 100%;
}

.partner-sub_visual_text a {
	display: block;
	width: 2.5rem;
	height: 2.5rem;
	background: url(/resource/images/sub/partner-ic-home.png) no-repeat;
	background-size: 2.5rem auto;
}

.partner-sub_visual_text div, .partner-introduction {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.partner-sub_visual_text div, .partner-introduction div > span {
	padding: 1rem 0;
}

.partner-introduction {
	gap: 2.5rem;
}

.partner-introduction .img {
	overflow: hidden;
	flex-shrink: 0;
	width: 100%;
	max-width: 342px;
	aspect-ratio: 3/2;
	/* padding: 1rem;
	border: 1px solid var(--color-gray-200); */
	border-radius: 1rem;
	/* background-image: url(/resource/images/sub/partner-join-img.png);
	background-size: cover; */
}

.partner-introduction .img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.partner-introduction div:not(.img) {
	width: 100%;
}
.partner-introduction div:not(.img) > span {
	display: block;
	line-height: 170%;
	word-break: keep-all;
}

.phone-number span {
	padding-left: 0.5rem;
}

.partner-section-tab {
	margin: 4rem 0;
}

@media screen and (max-width: 1024px) {
	.partner-sub_visual {
		padding: 2rem 0 2.5rem;
	}

	.partner-introduction {
		flex-direction: column;
		gap: 1.5625rem;
	}

	.partner-sub_visual_text div {
		padding: 0.5rem 0 1rem 0;
	}

	.partner-section-tab {
		margin: 3.5rem 0;
	}
}

/* 참여하기 
----------------------- */
.sub_visual-banner {
	padding: 0 1rem 2.5rem 1rem;
}

.sub_visual-banner .inner2 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 3rem 5rem;
	background-color: var(--color-bg3);
	border-radius: 1.25rem;
}

.banner-desc p {
	padding-bottom: .5rem;
	font-size: var(--font-title4-size);
	color: var(--color-secondary);
	font-weight: 700;
}

.banner-desc p .br-m {
	display: none;
}

.banner-desc span {
	line-height: 170%;
}

.banner-img {
	width: 13.25rem;
	height: 10rem;
	background: url(/resource/images/sub/sub_attend-visual-banner-img.webp) no-repeat;
	background-size: 13.25rem auto;
	flex-shrink: 0;
}

@media screen and (max-width: 1024px) {
	.sub_visual-banner .inner2 {
		flex-direction: column;
		align-items: flex-end;
	}

	.banner-desc p .br-m {
		display: block;
	}

	.banner-img {
		width: 9.9375rem;
		height: 7.5rem;
		background-size: 9.9375rem auto;
	}
}

@media screen and (max-width:800px) {
	.sub_visual-banner .inner2 {
		padding: 2rem 1.5rem;
	}
}

/* 개인정보처리방침
-------------------------- */
.etc-wrap *{
	scroll-margin-top: calc(var(--hv) + 3rem);
}

.etc-wrap *:is(p, ul, ol, .table-wrap, dl):not(:first-child){
	margin-top: 1.5rem;
}

.etc-wrap [class*="ft-body"]:not(:first-child){
	margin-top: 3.5rem;
}

.etc-wrap :is(ul, ol){
	width: 100%;
	display: flex;
	flex-direction: column;
	counter-reset: number 0;
	gap: 0.25rem;
}

.etc-wrap :is(ul, ol):has(ul, ol, p, table, dl){
	gap: 1rem;
}


.etc-wrap :is(ul, ol) > li{
	width: 100%;
	position: relative;
	/* padding-left: 0.75rem; */
}
/* 
.etc-wrap :is(ul, ol) > li::before{
	content: "\00B7";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	font-weight: 800;
	line-height: 1.5em;
}

.etc-wrap ol > li{
	padding-left: 1.2rem;
}

.etc-wrap ol > li::before{
	counter-increment: number 1;
	content: counter(number) '. ';
	font-weight: 400;
} */

.etc-wrap :is(ul, ol) > li > :is(ul, p, ol):not(:first-child) {
	margin-top: 0.5rem;
}
.etc-wrap a {
	color: #2D5198;
	text-decoration: underline;
	text-underline-position: under;
}
.etc-wrap a:hover {
	font-weight: 700;
}

.box-gray{
	padding: 2.5rem;
	border-radius: 1rem;
	background-color: var(--color-bg2);
}

.box-gray *:is(p, ul, ol, table, dl):not(:first-child){
	margin-top: 1rem;
}
.box-gray  [class*="ft-body"]:not(:first-child){
	margin-top: 2.5rem;
}

@media screen and (max-width: 768px) {
	.etc-wrap *:is(p, ul, ol, table, dl):not(:first-child){
		margin-top: 1rem;
	}

	.etc-wrap [class*="ft-body"]:not(:first-child){
		margin-top: 2rem;
	}

	.etc-wrap :is(ul, ol):has(ul, ol, p, table, dl){
		gap: 0.5rem;
	}

	.etc-wrap :is(ul, ol) > li > :is(ul, p, ol):not(:first-child) {
		margin-top: 0.5rem;
	}

	.box-gray{
		padding: 2rem 1rem;
	}
	
	.box-gray  [class*="ft-body"]:not(:first-child){
		margin-top: 1.5rem;
	}
}