@charset "UTF-8";
@import url("/art/css/animated.css"); /* 애니메이션 관련 CSS 파일을 가져옵니다. */

/* ==============================================
 * 기본 스타일 및 레이아웃
 * ============================================== */

/* HTML 및 BODY 기본 설정 */
html {}

body {
	position: relative;
	min-height: 630px;
	background-color: #fff;
}

/* 콘텐츠 최대 너비 설정 */
.inner {
	position: relative;
	margin: 0 auto;
	width: 1550px;
}

/* 전체 감싸는 요소 (Wrap) */
#Wrap {
	position: relative;
	display: flex;
	width: 100%;
	min-height: 100%;
	padding: 0;
	margin: 0;
	background: url(/art/images/bg_top_items.png) no-repeat top center;
	background-size: contain;
	overflow-x: hidden;
	overflow-y: hidden;
}

/* 헤더 영역 */
#Wrap_header {
	position: absolute;
	width: 100%;
	z-index: 2;
}

#Wrap_header header {
	transition: all 0.3s;
}

/* 메인 콘텐츠 영역 (Container) */
#container {
	position: relative;
	min-height: 600px;
	margin-top: 120px;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
}

/* 메인 페이지의 컨테이너 배경 */
.main_container {
	background: url("/art/images/re_main_bg0.png") no-repeat center/cover;
}

/* 모든 섹션에 공통으로 적용되는 패딩 */
#container > section {
	padding: 100px 0;
}

/* 첫 번째 섹션 스타일 (주석 비어있음) */
#container > section:first-child {}

/* ==============================================
 * 배경 애니메이션 요소
 * ============================================== */

/* 메인 래퍼 배경 요소 */
.main_Wrap .bg1 {
	position: absolute;
	top: 22.5%;
	left: 23%;
	width: 190px;
	height: 190px;
	z-index: 1;
}

.main_Wrap .bg1 span {
	display: block;
	width: 100%;
	height: 100%;
	background: url(/kid_art2022/images/re_main_img02.png) no-repeat;
	background-size: 100%;
	animation: bgMotion8 7s linear forwards infinite alternate;
}

.main_Wrap .bg2 {
	position: absolute;
	top: 0;
	left: 0;
	width: 30%;
	height: 16%;
	z-index: 1;
}

.main_Wrap .bg2 span {
	display: block;
	width: 100%;
	height: 100%;
	background: url(/art/images/re_main_img01.png) no-repeat;
	background-size: 100%;
	animation: bgMotion11 5s linear forwards infinite alternate;
}

/* 정보 섹션 배경 요소 */
.information_Wrap .bg1 {
	position: absolute;
	top: 30px;
	left: 10px;
	width: 250px;
	height: 250px;
	z-index: -1;
}

.information_Wrap .bg1 span {
	display: block;
	width: 100%;
	height: 100%;
	background: url(/art/images/bg_top_1.png) no-repeat;
	background-size: 100%;
	animation: bgMotion8 7s linear forwards infinite alternate;
}

.information_Wrap .bg2 {
	position: absolute;
	top: -50px;
	left: 33%;
	width: 164px;
	height: 164px;
	z-index: -1;
}

.information_Wrap .bg2 span {
	display: block;
	width: 100%;
	height: 100%;
	background: url(/art/images/bg_top_3.png) no-repeat;
	background-size: 100%;
	animation: bgMotion11 5s linear forwards infinite alternate;
}

/* Wrap 내부 배경 요소 */
#Wrap .bg3 {
	position: absolute;
	top: -100px;
	right: -30px;
	width: 368px;
	height: 368px;
	z-index: -1;
}

#Wrap .bg3 span {
	display: block;
	width: 100%;
	height: 100%;
	background: url(/art/images/bg_top_2.png) no-repeat;
	background-size: 100%;
	animation: bgMotion11 5s linear forwards infinite alternate;
}

#Wrap .bg4 {
	position: absolute;
	top: 200px;
	right: 10%;
	width: 222px;
	height: 222px;
	z-index: -1;
}

#Wrap .bg4 span {
	display: block;
	width: 100%;
	height: 100%;
	background: url(/art/images/bg_top_4.png) no-repeat;
	background-size: 100%;
	animation: bgMotion8 5s linear forwards infinite alternate;
}

/* ==============================================
 * 헤더 (Header)
 * ============================================== */

header {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	padding: 30px 0;
	background: rgba(255, 255, 255, 0); /* 초기 배경은 투명 */
}

/* 헤더 내부 박스 (로고, 메뉴 등) */
header .box {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* 로고 영역 */
header .logo {}

header .logo a {
	display: block;
	width: 300px;
	height: 60px;
	background-image: url('/art/images/logo.svg');
	background-repeat: no-repeat;
}

/* 아이콘 메뉴 (숨김) */
header .icons {
	display: none;
}

header .icons ul {
	display: flex;
}

header .icons ul li {
	background: #e95951;
	width: 50px;
	height: 50px;
	padding: 10px;
	margin-left: 10px;
	border-radius: 100pt;
	display: flex;
	justify-content: center;
	align-items: center;
}

header .icons ul li.ico_menu a {
	width: 100%;
	height: 100%;
}

/* 스크롤 시 헤더 스타일 변경 */
header.scroll-to-fixed-fixed {
	background: rgba(255, 255, 255, 1);
	padding: 10px 0;
}

header.scroll-to-fixed-fixed .logo a {
	height: 45px;
}

/* 헤더 및 컨테이너 너비 지정 */
header,
#container {
	width: calc(100% - 200px);
}

/* ==============================================
 * 메인 섹션 (Main)
 * ============================================== */

main {
	position: relative;
	margin-top: 0;
	height: calc(100% - 120px);
	top: 120px;
}

main > .inner {
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* 메인 비주얼 텍스트 */
main .visual_Txt {
	flex: 0;
	position: relative;
	z-index: 1;
	top: -45px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

main .visual_txt .samll_txt {
	display: block;
	margin-bottom: 20px;
	text-align: left;
	font-family: 'GmarketSansBold';
	color: #333;
	font-size: 35px;
}

main .visual_txt h1 {
	display: block;
	margin: 0 0 0 -8px;
	font-family: 'GmarketSansBold';
	font-size: 50px;
	letter-spacing: 0px;
	line-height: 100%;
	color: #333;
}

main .visual_txt h2 {
	display: block;
	margin: 10px 0 10 -5px;
	font-family: 'GmarketSansLight';
	font-size: 70px;
	line-height: 1.2;
	color: #333;
}

main .visual_txt h2 > span {
	display: block;
	font-size: 40px;
	font-weight: 800;
	font-family: 'GmarketSansLight';
}

main .visual_txt h3 {
	display: block;
	margin-top: 30px;
	font-weight: 400;
	font-size: 18px;
	letter-spacing: -.7px;
	line-height: 140%;
	color: #333;
	word-break: keep-all;
	word-wrap: break-word;
}

main .visual_txt h3 strong {
	font-weight: 600;
}

main .visual_txt h5 {
	display: block;
	font-family: 'Barlow', sans-serif;
	font-size: 20px;
	font-weight: 400;
	letter-spacing: 2.7px;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.3);
	line-height: 1.3;
}

/* 메인 비주얼 날짜 영역 */
main .visual_Date {
	position: relative;
	z-index: 1;
	padding-bottom: 3%;
	padding-top: 50px;
	margin-top: 80px;
	color: #222;
}

main .visual_Date:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 120px;
	height: 3px;
	background: #222;
}

main .visual_Date > .Tit {
	display: block;
	margin-bottom: 10px;
	padding: 10px 0 6px;
	font-family: 'GmarketSansBold';
	font-size: xx-large;
	line-height: 100%;
}

main .visual_Date em {
	display: block;
	margin-top: -10px;
	font-family: 'Barlow', sans-serif;
	font-size: 60px;
	font-weight: 700;
	line-height: 100%;
	letter-spacing: 3px;
}

main .visual_Date em span.day {
	display: inline-block;
	padding-left: 10px;
	font-family: 'GmarketSansLight';
	font-size: 60%;
	font-weight: 700;
	vertical-align: 5px;
	letter-spacing: -3px;
}

/* 메인 비주얼 버튼 그룹 */
main .visual_Btns {
	width: 280px;
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

main .visual_Btns a {
	display: inline-block;
	background: #babff7;
	padding: 12px 15px 7px;
	border-radius: 5px;
	margin-right: 0px;
	font-family: 'GmarketSansBold';
	color: #fff;
	font-size: 140%;
	line-height: 100%;
	letter-spacing: 1.5px;
}

main .visual_Btns a.apply {
	background: #472E96;
}

main .visual_Btns a:hover,
main .visual_Btns a.apply:hover {
	background: #f15a29;
	box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.15);
}

main .visual_Btns a:last-child {
	margin-right: 0;
}

main .visual_Btns a i {
	font-size: 80%;
	margin-right: 10px;
}

main .visual_Btns .info {
	width: 100%;
	margin-bottom: 10px;
	padding: 9px 15px 6px;
	background: #fff;
	border: 2px solid #472E96;
	text-align: center;
	color: #472E96;
}

main .visual_Btns .info:hover {
	background: #fff;
}

/* 메인 비주얼 이미지 */
main .visual_img {
	position: absolute;
	right: 0px;
	bottom: 3%;
	z-index: 0;
	width: 100%;
	max-width: 978px;
}

main .visual_img .img3 {
	animation: bgMotion6 5s linear forwards infinite alternate;
}

/* 스폰서 영역 */
main .visual_img .sponsor {
	right: 6%;
	position: relative;
	z-index: 10;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-content: center;
	align-items: center;
}

main .visual_img .sponsor .sponsor_box > div {
	margin-left: 20px;
}

main .visual_img .sponsor .sponsor_box {
	display: flex;
	align-items: center;
}

main .visual_img .sponsor_sy > img {
	height: 35px;
}

main .visual_img .sponsor_kj > img {
	height: 33px;
}

main .visual_img .sponsor_kj {
	margin-right: 20px;
}

main .visual_img .sponsor h3 {
	min-width: 87.11px;
	background: #222;
	font-family: 'GmarketSansMedium';
	color: #fff;
	font-size: 90%;
	line-height: 100%;
	padding: 5px 10px;
	border-radius: 10px;
}

/* 추가된 메인 스타일 */
main .visual_Txt.w {
	width: 100%;
	max-width: 750px;
}

main .visual_Btns.result {
	width: 100%;
	max-width: 650px;
	margin-top: 45px;
}

main .visual_Btns.result a {
	margin-bottom: 1vw;
	padding-top: 13px;
	padding-bottom: 11px;
	border-radius: 30px;
	background: #fff;
	border: 2px solid #976aa3;
	text-align: center;
	color: #fff;
	background-color: #976aa3;
}

main .visual_Btns.result a i {
	font-size: 105%;
	vertical-align: -2.5px;
}

main .visual_Btns.result a:nth-child(1) {
	width: 49%;
	background: #e95951;
	color: #fff;
	border-color: #e95951;
}

main .visual_Btns.result a:nth-child(2) {
	width: 49%;
	background: #ed8c19;
	color: #fff;
	border-color: #ed8c19;
}

main .visual_Btns.result a:nth-child(3) {
	width: 100%;
	background: #e95951;
	color: #fff;
	border-color: #e95951;
}

/* 플라크 (Plaque) 섹션 */
.main_plaque .plaque,
.main_schedule .schedule {
	padding: 100px 0;
	width: calc(100% - 200px);
}

.main_plaque {
	background: #ece1f9;
}

.plaque {
	background: #fbfbfb;
}

.main_plaque .plaque {
	background: #ece1f9;
}

.plaque .page_title_sub:before {
	background: #fff;
	opacity: 0.5;
}

.plaque .tt1 {
	margin-top: -2vw;
	margin-bottom: 3vw;
	font-family: 'GmarketSansMedium';
	font-weight: normal;
	font-size: x-large;
	letter-spacing: 0;
}

.plaque .tt1 strong {
	font-family: 'GmarketSansBold';
}

/* 플라크 컨테이너 박스 */
.plaque .con {
	background: #fff;
	border-radius: 20px;
	padding: 4vw;
	box-shadow: 0px 5px 5px 0px rgba(87, 35, 35, 0.15);
}

.plaque .con .box {
	border-top: 1px dashed #ddd;
	margin-top: 3vw;
	padding-top: 4vw;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}

.plaque .tt {
	width: 100%;
	text-align: center;
	margin-bottom: 2vw;
}

.plaque .tt span {
	display: inline-block;
	font-size: x-large;
	color: #fff;
	font-family: 'GmarketSansLight';
	line-height: 1;
	background: #472E96;
	padding: 17px 20px 12px;
	border-radius: 50px;
}

.plaque .tt span strong {
	font-family: 'GmarketSansBold';
}

/* 썸네일 영역 */
.plaque .thumb {
	width: 47%;
	text-align: center;
}

.plaque .thumb span {
	display: block;
	font-size: 110%;
}

.plaque .thumb span strong {
	font-weight: 700;
}

/* 설명 영역 */
.plaque .desc {
	width: 100%;
	text-align: center;
}

.plaque .desc h3 {
	display: block;
	font-family: 'GmarketSansMedium';
	font-weight: normal;
	font-size: xx-large;
	line-height: 150%;
	letter-spacing: -1px;
}

.plaque .desc h3 strong {
	font-family: 'GmarketSansBold';
}

.plaque .desc span {
	display: block;
	color: #888;
	margin-top: .5vw;
}

/* 버튼 영역 */
.plaque .btn {
	border-top: 1px dashed #ddd;
	margin-top: 3vw;
	padding-top: 4vw;
	text-align: center;
}

.plaque .btn a {
	display: inline-block;
	background: #f15a29;
	color: #fff;
	padding: 20pt 25pt 17pt;
	border-radius: 10px;
	font-family: 'GmarketSansBold';
	font-size: xxx-large;
}

.plaque .btn a i {
	font-size: 90%;
	margin-right: 10px;
}

.plaque .winner-info {
	text-align: left;
	margin-top: 7vw;
}

/* ==============================================
 * 사이드바 (Sidebar)
 * ============================================== */

#sidebar {
	position: absolute;
	top: 0;
	right: 0;
	width: 200px;
	height: 100%;
	overflow: hidden;
	background: #e95951;
	color: #fff;
	padding: 50px 0;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

#sidebar > nav {
	width: 100%;
}

#sidebar > nav > ul {
	width: 100%;
}

/* 사이드바 메뉴 리스트 */
#sidebar > nav > ul > li {
	position: relative;
	line-height: 1.1;
}

#sidebar > nav > ul > li:before {
	content: "";
	position: absolute;
	left: -20px;
	top: 50%;
	width: 20px;
	height: 4px;
	margin-top: -2px;
	background: #fff;
	transform: translate(0, -50%);
	transition: all 0.3s ease-in-out;
}

#sidebar > nav > ul > li:hover:before {
	left: 0;
}

#sidebar > nav > ul > li > a {
	display: block;
	padding: 12px 0 12px 30px;
	font-family: 'GmarketSansBold';
	color: rgba(255, 255, 255, 0.5);
	font-size: 20px;
	letter-spacing: 0.5px;
	transition: all 0.3s ease-in-out;
}

#sidebar > nav > ul > li > a:hover {
	color: rgba(255, 255, 255, 1);
	transform: scale(1.1);
	transform-origin: left;
}

#sidebar > nav > ul > li.active:before {
	left: 0;
}

#sidebar > nav > ul > li.active > a {
	color: rgba(255, 255, 255, 1);
	transform: scale(1.1);
	transform-origin: left;
	padding-left: 27px;
}

/* 상단 영역 (area_t)과 하단 영역 (area_b) */
#sidebar .area_t ul li {
	margin: 30px 0;
}

#sidebar .area_t ul li img {
	width: 30px;
	height: auto;
}

#sidebar .area_b {
	display: flex;
	align-items: flex-end;
}

#sidebar .area_b ul li img {
	width: 55px;
	height: auto;
}

#sidebar .ico_box > li {
	margin: 20px 0;
}

#sidebar .ico_box > li:first-child {
	margin-top: 0;
}

#sidebar .ico_box > li:last-child {
	margin-bottom: 0;
}

#sidebar .ico_box > li > a {
	display: block;
}

/* 사이드바 하단 버튼 */
#sidebar .h_btn {
	margin-top: 30px;
	padding: 0px 30px;
}

#sidebar .h_btn > a {
	width: 100%;
	height: 40px;
	border-radius: 5px;
	background-color: #fae100;
	color: #333;
	font-size: 17px;
	font-family: 'GmarketSansBold';
	text-align: center;
	line-height: 40px;
}

/* ==============================================
 * 오버레이 및 모바일 메뉴
 * ============================================== */

/* 햄버거 메뉴 아이콘 */
#nav-icon {
	position: relative;
	margin: 0 auto;
	width: 30px;
	height: 30px;
	z-index: 100;
	cursor: pointer;
	transform: rotate(0deg);
	transition: .5s ease-in-out;
}

#nav-icon span {
	position: absolute;
	left: 0;
	display: block;
	width: 100%;
	height: 4px;
	background: #fff;
	border-radius: 9px;
	opacity: 1;
	transform: rotate(0deg);
	transition: .25s ease-in-out;
}

#nav-icon span:nth-child(1) {
	top: 0px;
}

#nav-icon span:nth-child(2) {
	top: 50%;
	margin-top: -2px;
}

#nav-icon span:nth-child(3) {
	bottom: 0px;
}

/* 아이콘 애니메이션 효과 */
#nav-icon.animate-icon span:nth-child(1) {
	top: 12px;
	left: -4px;
	width: 36px;
	transform: rotate(135deg);
}

#nav-icon.animate-icon span:nth-child(2) {
	opacity: 0;
	left: -60px;
}

#nav-icon.animate-icon span:nth-child(3) {
	top: 12px;
	left: -4px;
	width: 36px;
	transform: rotate(-135deg);
}

/* 전체 화면 오버레이 메뉴 */
#nav-overlay,
#privacy-overlay,
#terms-overlay {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1001;
	background: #e95951;
}

/* 오버레이 내부 콘텐츠 박스 */
.overlay-con > div {
	padding: 30px 200px 20px 100px;
	max-width: 1280px;
	height: 100%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* 오버레이 상단 영역 (제목 및 버튼) */
.overlay-con .area_t {
	position: relative;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	padding: 30px 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-end;
}

.overlay-con .area_t > h1 {
	font-family: 'GmarketSansLight';
	color: #fff;
	font-size: 30px;
	line-height: 160%;
}

.overlay-con .area_t > h1 > strong {
	display: block;
	font-family: 'GmarketSansBold';
	font-size: 50px;
	letter-spacing: 3px;
	margin-left: 0px;
}

.overlay-con .area_t > .btns {
	padding-left: 18px;
}

.overlay-con .area_t > .btns > a {
	display: inline-block;
	font-family: 'GmarketSansBold';
	font-size: 18px;
	color: #fff;
	background: #976aa3;
	padding: 20px 20px 15px;
	border-radius: 50pt;
	margin-right: 6px;
}

.overlay-con .area_t > .btns br {
	display: none;
}

.overlay-con .area_t > .btns > a:last-child {
	margin-right: 0;
}

.overlay-con .area_t > .btns > a:hover {
	background: rgba(255, 255, 255, 1);
	color: rgba(151, 106, 163, 1);
}

/* 오버레이 메뉴 컨테이너 */
.overlay-con .nav-container {
	flex: 1;
	margin-top: 30px;
	overflow: auto;
}

/* 오버레이 메뉴 리스트 */
.overlay-con nav > ul > li {
	position: relative;
}

.overlay-con nav > ul > li:before {
	content: "";
	position: absolute;
	left: -20px;
	top: 50%;
	width: 20px;
	height: 4px;
	margin-top: -5px;
	background: #fff;
	transform: translate(0, -50%) scaleX(0);
	transition: all 0.3s ease-in-out;
}

.overlay-con nav > ul > li > a {
	display: block;
	padding: 20px 0;
	font-family: 'GmarketSansBold';
	font-size: x-large;
	letter-spacing: 1px;
	color: rgba(255, 255, 255, 0.5);
	line-height: 100%;
}

.overlay-con nav > ul > li:hover:before {
	left: 0;
	transform: scaleX(1);
}

.overlay-con nav > ul > li:hover > a {
	color: rgba(255, 255, 255, 1);
	padding-left: 30px;
}

/* 메뉴 드롭다운 */
.overlay-con nav .nav-dropdown {
	display: none;
	position: absolute;
	top: 5px;
	left: 350px;
	z-index: 1;
	animation-duration: 0.5s;
	animation-name: slidein;
}

@keyframes slidein {
	from {
		margin-top: 20px;
		opacity: 0;
	}
	to {
		margin-top: 0%;
		opacity: 1;
	}
}

.overlay-con nav .nav-dropdown a {
	position: relative;
	display: inline-block;
	padding: 15px 0;
	font-family: 'GmarketSansMedium';
	font-size: 130%;
	letter-spacing: 1px;
	color: #fff;
}

.overlay-con nav .nav-dropdown a:after {
	content: "";
	position: absolute;
	bottom: 5px;
	width: 100%;
	left: 0;
	height: 2px;
	background: #fff;
	transform: scale(0);
	transition: all 0.3s;
}

.overlay-con nav .nav-dropdown a:hover:after {
	transform: scale(1);
	transition: all 0.3s;
}

/* 닫기 버튼 */
.overlay-con .btn_close {
	position: absolute;
	right: 50px;
	top: 50px;
	width: 50px;
	height: 50px;
	cursor: pointer;
	animation-duration: 1s;
	animation-name: close_rotation;
}

@keyframes close_rotation {
	from {
		transform: scale(0) rotate(0deg);
		opacity: 0;
	}
	to {
		transform: scale(1) rotate(360deg);
		opacity: 1;
	}
}

/* 전체 화면 오버레이 스타일 */
.overlay-full {
	height: 90%;
}

.overlay-full .area_t > h1 {
	text-align: left !important;
}

아래는 제공된 CSS 소스를 가독성 좋게 정리하고, 각 섹션의 역할을 한국어로 주석 처리한 내용입니다.

CSS

/* ==============================================
 * 네비게이션 푸터 (Nav-footer)
 * ============================================== */

/* 네비게이션 푸터 컨테이너 (모바일용) */
#nav-footer {
	display: none;
	position: fixed;
	z-index: 2;
	width: 100%;
	min-width: 350px;
	bottom: 0;
	background: #f7f7f7;
}

#nav-footer ul {
	display: flex;
	flex-wrap: nowrap;
}

#nav-footer ul li {
	width: 20%;
	border-right: 1px solid #eee;
	border-top: 1px solid #eee;
}

#nav-footer ul li a {
	width: 100%;
	height: 60px;
	color: #777;
	font-size: 12px;
	padding-top: 5px;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
}

#nav-footer ul li a > .ico img {
	display: block;
	width: 18px;
}

#nav-footer ul li a > .txt {
	display: block;
	margin-top: 3px;
}

/* ==============================================
 * 푸터 (Footer)
 * ============================================== */

footer {
	background: #252525;
	width: 100%;
	padding: 30pt 0;
	padding-right: 200px;
}

/* 푸터 상단 영역 */
footer .area_t {
	display: flex;
	align-items: flex-end;
}

footer .logo {
	margin-bottom: 3px;
}

footer .logo img {
	width: 180px;
}

footer .btns {
	margin-left: 30px;
}

footer .btns a {
	display: inline-block;
	margin-right: 10px;
	padding: 5px 10px;
	font-size: 14px;
	color: #000;
	background: rgba(255, 255, 255, 0.2);
	border-radius: 5px;
}

footer .btns a:hover {
	background: rgba(255, 255, 255, 0.7);
}

/* 저작권 정보 */
footer .copyright {
	margin-top: 30px;
	padding-left: 3px;
	height: auto;
	font-weight: 300;
	font-size: 14px;
	color: #999;
	line-height: 140%;
	overflow: hidden;
}

footer .copyright a {
	font-size: 14px;
	color: #999;
	font-weight: 400;
}

footer .copyright a:hover {
	color: #fff;
}

footer .copyright .c1 {
	display: flex;
	flex-wrap: wrap;
	margin-left: -25px;
}

footer .copyright .c1 li {
	letter-spacing: 0.5px;
}

footer .copyright .c1 li:before {
	content: "|";
	color: #ccc;
	font-size: 11px;
	vertical-align: 1.5px;
	padding: 0 10px;
}

footer .copyright .c1 li:last-child:after {
	display: none;
}

footer .copyright address {
	margin-top: 10px;
}

footer .copyright p {
	display: block;
	margin-top: 10px;
	font-size: 12px;
}

/* 푸터 고정 버튼 (footer_fix) */
.footer_fix {
	display: none;
	position: fixed;
	right: 3%;
	bottom: 3%;
	z-index: 1;
}

.footer_fix .ico_box {}

.footer_fix .ico_box > li {
	margin-top: 10px;
}

.footer_fix .ico_box > li:first-child {
	margin-top: 0;
}

.footer_fix .ico_box > li > a {
	display: block;
	width: 50px;
}

/* ==============================================
 * 정책 및 약관 모달/페이지 (Policy)
 * ============================================== */

/* 정책 콘텐츠 */
.policy_con {
	margin-top: 0px;
	padding: 30pt;
	height: 100%;
	background: #fff;
	font-size: 14px;
	color: #333;
	overflow-y: scroll;
}

.policy_con h1,
.policy_con h2,
.policy_con h3,
.policy_con h4 {
	display: block;
	color: #222;
	line-height: 100%;
	letter-spacing: .5px;
}

.policy_con h1 {
	font-family: 'GmarketSansMedium';
	font-size: xx-large;
	margin-bottom: 10px;
}

.policy_con h2 {
	margin: 10px 0;
	font-size: large;
	line-height: 100%;
}

.policy_con span {
	display: block;
	margin-bottom: 20px;
	word-break: keep-all;
	word-wrap: break-word;
	line-height: 140%;
}

.policy_con .box {
	margin: 50px 0;
}

.policy_con .box > span {
	padding-left: 20px;
}

.policy_con .box ul {
	padding-left: 20px;
}

.policy_con .box ul > li > h3 {
	font-size: 110%;
	font-weight: 500;
	margin-bottom: 5px;
}

.policy_con .box ul > li > span {
	padding-left: 20px;
	color: #888;
}

.policy_con .box ul > li > span > span {
	padding-left: 15px;
	margin: 5px 0;
}

.policy_con .box h4 {
	font-weight: 500;
	line-height: 150%;
}

/* ==============================================
 * 서브 페이지 공통 스타일
 * ============================================== */

/* 페이지 타이틀 */
.page_title {
	position: relative;
	padding: 80px 0 80px;
}

.page_title h1 {
	display: inline-block;
	position: relative;
	font-family: 'GmarketSansBold';
	color: #333;
	font-size: 70px;
	line-height: 1.1;
	letter-spacing: 3px;
}

.page_title h1 i {
	color: #222;
	font-style: normal;
	font-size: 5rem;
	margin-left: .5rem;
}

/* 탭 메뉴 */
.page_title .tab {
	margin: 30px 0 0 3px;
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.page_title .tab > li {
	margin-right: 0;
	margin-bottom: 0;
}

.page_title .tab > li:last-child {
	margin-right: 0px;
}

.page_title .tab > li > a {
	border: 2px solid #EEE;
	min-width: 180px;
	padding: 14px 10px 10px;
	background: #fff;
	font-family: 'GmarketSansMedium';
	font-size: large;
	text-align: Center;
	color: #999;
	letter-spacing: 1px;
}

.page_title .tab > li > a:hover {
	background: #ddd;
	border: 2px solid #ddd;
	color: #999;
}

.page_title .tab > li.active > a {
	border: 2px solid rgba(255, 255, 255, 0);
	background: #ddd;
	color: #fff;
}

/* 페이지 타이틀 이미지 */
.page_title_img {
	position: absolute;
	top: -40px;
	right: 3%;
	width: 450px;
	max-width: 40%;
	z-index: -1;
	animation: bounceIn 0.5s;
}

.page_title_img img {
	animation: bgMotion1 3s linear forwards infinite alternate;
}

/* 서브 페이지 타이틀 */
.page_title_sub {
	position: relative;
	display: flex;
	align-items: flex-end;
	margin-top: 30px;
	margin-bottom: 50px;
}

.page_title_sub > h1 {
	font-family: 'GmarketSansBold';
	font-size: 50px;
	color: #222;
	line-height: 100%;
	letter-spacing: -0.5px;
	margin-right: 30px;
}

.page_title_sub > p {
	font-family: 'GmarketSansBold';
	font-size: 18px;
	color: #222;
	line-height: 100%;
	letter-spacing: -0.5px;
	line-height: 1.5;
}

.page_title_sub:before {
	content: '';
	display: block;
	position: absolute;
	z-index: 0;
	top: -1.5rem;
	left: -1rem;
	width: 4rem;
	height: 4rem;
	background: #f2eaf6;
	border-radius: 50%;
}

.page_con {
	min-height: 100%;
}

/* ==============================================
 * 대회 안내 (Infomation)
 * ============================================== */

/* 컨테이너별 색상 및 스타일 */
#container.infomation .page_title h1 i {
	color: #ed7a74;
}

#container.infomation .page_title .tab > li.active > a {
	background: #ed7a74;
}

#container.infomation .page_title_sub:before {
	background: #fbe7d0;
}

#container.infomation .page_title_sub_green:before {
	background: #fbe7d0;
}

#container.infomation .page_tab {
	display: flex;
}

#container.infomation .page_tab > li {
	width: 170px;
	height: 48px;
	background-color: #c8c8c8;
	border-radius: 5px;
	margin-right: 15px;
}

#container.infomation .page_tab > li:last-child {
	margin-right: 0px;
}

#container.infomation .page_tab > li.color {
	background-color: #e83a65;
}

#container.infomation .page_tab > li > a {
	display: block;
	height: 100%;
	text-align: center;
	line-height: 48px;
	color: #fff;
	font-size: 20px;
}

/* 대회 소개 (Introduction) */
.introduction {
	background: #fbf7ef;
}

.introduction .con {
	display: table;
	width: 100%;
}

.introduction .con > div {
	display: table-cell;
	vertical-align: top;
}

.introduction .con .poster_box {
	width: 33%;
}

.introduction .con .poster {
	background: #fef3c5;
	width: 100%;
	text-align: center;
	vertical-align: middle;
}

.introduction .con .txt {
	padding-left: 5rem;
}

.introduction .con .txt .txt1 {}

.introduction .con .txt .txt1 span {
	display: block;
	line-height: 110%;
	font-size: 3.5rem;
}

.introduction .con .txt .txt1 .year {
	font-family: 'GmarketSansLight';
	line-height: 1;
	margin-bottom: 10px;
}

.introduction .con .txt .txt1 .t1,
.introduction .con .txt .txt1 .t2 {
	font-family: 'GmarketSansBold';
}

.introduction .con .txt .txt1 .t2 .st2 {
	display: block;
	font-size: 40px;
}

.introduction .con .txt .txt2 {
	margin-top: 3rem;
}

.introduction .con .txt .txt2 span {
	display: block;
	font-size: 120%;
	line-height: 140%;
}

.introduction .con .txt .txt2 ul {
	margin-top: 1.5rem;
	background: rgba(255, 255, 255, 0.7);
	border-radius: 15px;
	padding: 15px 20px;
}

.introduction .con .txt .txt2 ul li {
	position: relative;
	padding: 5px 0 5px 10px;
}

.introduction .con .txt .txt2 ul li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 13px;
	width: 4px;
	height: 4px;
	background: #ea5c2c;
	border-radius: 50px;
}

.square_dot {
	position: relative;
	padding-left: 15px;
}

.square_dot:after {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	background: #000;
	position: absolute;
	top: 5px;
	left: 0px;
	border-radius: 3px;
}

.txt3 {
	margin-top: 3rem;
}

.txt3 span {
	display: block;
	font-size: 120%;
	line-height: 140%;
	font-weight: 700;
}

.txt3 ul {
	margin-top: 1.5rem;
	background: rgba(255, 255, 255, 0.7);
	border-radius: 15px;
	padding: 15px 20px;
}

.txt3 ul li {
	position: relative;
	padding: 5px 0 5px 10px;
	font-weight: 400;
	line-height: 1.5;
	color: #000;
	text-align: left;
}

.txt3 ul li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 15px;
	width: 4px;
	height: 4px;
	background: #ea5c2c;
	border-radius: 50px;
}

.txt3 .louvre_img_logo {
	display: inline-block;
	vertical-align: top;
	margin-left: 15px;
}

.txt3 .louvre_img_logo > img {
	width: 130px;
}

.txt3 ul li .l_sub_img {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	margin-top: 10px;
}

.txt3 ul li .l_sub_img > div {
	width: 49.5%;
	margin-right: 1%;
	border: 1px solid #f1f1f1;
	margin-bottom: 10px;
}

.txt3 ul li .l_sub_img > div:nth-child(2n) {
	margin-right: 0px;
}

.txt3 ul li .l_sub_img > div > img {
	width: 100%;
}

.txt3 ul li .l_sub_img > div:last-child {
	margin-right: 0px;
}

.txt3 ul li .l_sub_img_f {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	margin-top: 10px;
}

.txt3 ul li .l_sub_img_f > div {
	width: 49.5%;
	margin-right: 1%;
	border: 1px solid #f1f1f1;
	margin-bottom: 10px;
}

.txt3 ul li .l_sub_img_f > div:nth-child(2n) {
	margin-right: 0px;
}

.txt3 ul li .l_sub_img_f > div > img {
	width: 100%;
}

.txt3 ul li .l_sub_img_f > div:last-child {
	margin-right: 0px;
}

.txt3 ul li .l_sub_img2 {
	display: flex;
	align-items: center;
	width: 70%;
	margin-top: 10px;
}

.txt3 ul li .l_sub_img2 .left {
	width: 37%;
	margin-right: 1.5%;
}

.txt3 ul li .l_sub_img2 .right {
	width: 36%;
}

.txt3 ul li .l_sub_img2 .right > div {
	margin-bottom: 10px;
}

.txt3 ul li .l_sub_img2 .right > div:last-child {
	margin-bottom: 0px;
}

.txt .txt3 ul li .square_dot {
	position: relative;
	padding-left: 15px;
}

.txt3 ul li .square_dot:after {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	background: #000;
	position: absolute;
	top: 8px;
	left: 0px;
	border-radius: 3px;
}

.txt3 ul li .y_btn_wrap {
	margin-top: 10px;
}

.txt3 ul li .y_btn_wrap > a {
	display: inline-block;
	padding: 5px 30px 5px 15px;
	color: #fff;
	background: #e95951;
	border-radius: 5px;
	transition: all .5s;
}

.txt3 ul li .y_btn_wrap > a:hover {
	background: #8551a7;
}

.txt3 ul li .y_btn_wrap > a > img {
	position: relative;
	top: -2px;
	margin-right: 5px;
}

.relative_box {
	position: relative;
	    display: table;
		    display: table-cell;
    vertical-align: top;
}

/* 버튼 스타일 */
.introduction .con .txt .btn {
	margin-top: 3rem;
}

.introduction .con .txt .btn a {
	display: inline-block;
	background: #222;
	min-width: 180px;
	line-height: 100%;
	padding: 20px;
	padding-top: 24px;
	margin-right: 10px;
	font-family: 'GmarketSansBold';
	font-size: x-large;
	color: #fff;
	text-align: center;
	border-radius: 5px;
	letter-spacing: 2px;
}

.introduction .con .txt .btn a.apply {
	background: #e95951;
	display: none;
}

.introduction .con .txt .btn a:hover {
	background: #fd6f23;
}

.introduction .in_btn {
	text-align: center;
	margin-top: 30px;
}

.introduction .in_btn > a {
	display: inline-block;
	background: #222;
	min-width: 180px;
	line-height: 100%;
	padding: 20px;
	padding-top: 24px;
	margin-right: 10px;
	font-family: 'GmarketSansBold';
	font-size: x-large;
	color: #fff;
	text-align: center;
	border-radius: 5px;
	letter-spacing: 2px;
}

.introduction .in_btn > a:hover {
	background: #fd6f23;
}

/* 대회 스케치 갤러리 (Sketch) */
.sketch {}

.sketch .list {
	margin: 0 0 0 -25px;
	width: calc(100% + 25px);
	display: flex;
	flex-wrap: wrap;
}

.sketch .list > li {
	width: 25%;
	padding-left: 25px;
	margin-bottom: 25px;
}

.sketch .list > li img {
	transition: transform .15s ease;
	position: relative;
}

.sketch .list > li:hover img {
	transform: scale(1.05);
	z-index: 5;
}

.sketch .list > li.mi > a {
	position: relative;
	width: 100%;
	height: 280px;
	overflow: hidden;
	background-color: #f5f5f5;
}

.sketch .list > li.mi > a > img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transform: translate(-50%, -50%);
}

/* 반응형 디자인을 위한 미디어 쿼리 (Sketch 갤러리) */
@media only screen and (max-width: 1440px) {
	.sketch .list > li.mi > a {
		height: 250px;
	}
}

@media only screen and (max-width: 1200px) {
	.sketch .list > li.mi > a {
		height: 180px;
	}
}

@media only screen and (max-width: 980px) {
	.sketch .list > li.mi > a {
		height: 170px;
	}
}

@media only screen and (max-width: 768px) {
	.sketch .list > li.mi > a {
		height: 220px;
	}
}

@media only screen and (max-width: 600px) {
	.sketch .list > li.mi > a {
		height: 170px;
	}
}

@media only screen and (max-width: 480px) {
	.sketch .list > li.mi > a {
		height: 120px;
	}
}

/* 대회 일정 (Schedule) */
.schedule {
	background-image: url('/art/images/bg_plottingpeper.png');
}

.schedule_bg {
	background-color: #fbfbfb !important;
	background-image: url("/");
}

.schedule h3 {
	display: inline-block;
	background: #e95951;
	padding: 15px 20px 10px;
	min-width: 145px;
	font-family: 'GmarketSansBold';
	color: #fff;
	font-size: 120%;
	text-align: center;
	border-radius: 50pt;
}

.schedule dl {
	display: table;
	margin-bottom: 30px;
}

.schedule dl dt {
	display: table-cell;
	vertical-align: top;
	padding-right: 30px;
}

.schedule dl dd {
	font-family: 'GmarketSansMedium';
	font-size: 100%;
	line-height: 150%;
	margin-top: 12px;
	color: #383838;
}

.schedule dl dd a {
	display: inline-block;
	padding: 5px 15px 4px;
	background: #333;
	color: #fff;
	border-radius: 5px;
	margin-top: 10px;
	font-size: 90%;
}

.schedule dl dd a:hover {
	background: #e95951;
}

.schedule span {
	display: block;
}

.schedule span strong {
	font-family: 'GmarketSansBold';
	letter-spacing: 0.5px;
}

.schedule span.s_text {
	font-family: 'Spoqa Han Sans';
	font-size: 90%;
	color: rgba(0, 0, 0, 0.6);
	line-height: 120%;
	margin-top: 5px;
}

.schedule span.s_text ol {
	position: relative;
	margin-top: 5px;
	padding-left: 10px;
	display: block;
}

.schedule span.s_text ol:before {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	width: 5px;
	height: 5px;
	background: rgba(0, 0, 0, 0.25);
	border-radius: 10px;
}

/* ==============================================
 * 시상내역 (Award)
 * ============================================== */

#container.award .page_title h1 i {
	color: #ed7a74;
}

#container.award .page_title .tab > li.active > a {
	background: #ed7a74;
}

#container.award .page_title_sub:before {
	background: #f2eaf6;
}

#container.award .page_title_img {
	margin-top: -2rem;
}

/* 수상자 정보 (Winner) */
.winner {
	background: #fbfbfb;
}

.winner .list {
	margin-left: -2rem;
	width: calc(100% + 2rem);
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	align-items: stretch;
}

.winner .list > li {
	position: relative;
	width: 25%;
	margin-bottom: 3rem;
}

.winner .list:nth-of-type(2) li {
	width: 25%;
}

.winner .list > li > .box {
	margin-left: 2rem;
	height: 220px;
	background: #999;
	border: 3px solid #999;
	border-radius: 1.5rem;
	overflow: hidden;
	transition: all .5s ease-in-out;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.winner .list > li > .box > span {
	width: 100%;
	text-align: center;
}

.winner .list > li > .box .t1 {
	padding: 18px 0 15px;
	background: #999;
	color: #fff;
	line-height: 1;
	font-size: 150%;
	font-family: 'GmarketSansBold';
}

.winner .list > li > .box .t2 {
	flex: 1;
	background: #fff;
	font-weight: 700;
	color: #222;
	font-size: 120%;
	line-height: 1.5;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.winner .list > li > .box .t2 > p {
	font-size: small;
	font-weight: 400;
}

.winner .list > li > .box .t3 {
	background: #fff;
	padding-bottom: 2rem;
	color: #999;
	border-radius: 0 0 1.3rem 1.3rem;
}

/* 등급별 박스 색상 */
.winner .list > li > .box.g1 {
	background: #f1383e;
	border-color: #f1383e;
}

.winner .list > li > .box.g1 .t1 {
	background: #f1383e;
}

.winner .list > li > .box.g2 {
	background: #e7b704;
	border-color: #e7b704;
}

.winner .list > li > .box.g2 .t1 {
	background: #e7b704;
}

.winner .list > li > .box.g3 {
	background: #a7b4bf;
	border-color: #a7b4bf;
}

.winner .list > li > .box.g3 .t1 {
	background: #a7b4bf;
}

.winner .list > li > .box.g4 {
	background: #b79c75;
	border-color: #b79c75;
}

.winner .list > li > .box.g4 .t1 {
	background: #b79c75;
}

.winner .list_france_award > li {
	margin-bottom: 8rem !important;
}

/* 수상자 정보 목록 */
.winner-info {
	background: #f6f6f6;
	padding: 1rem 1.5rem;
}

.winner-info li {
	position: relative;
	padding: 3px 0 3px 10px;
	color: #666;
	line-height: 1.6;
	font-size: 100%;
}

.winner-info li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 14px;
	width: 4px;
	height: 4px;
	background: #f1383e;
	border-radius: 50%;
}

/* 심사위원 소개 (Judge) */
.judge {
	background: #fafafa;
}

.judge_list {}

.judge_list > li {
	padding: 50px 0 40px;
	border-bottom: 1px dashed #ddd;
}

.judge_list > li:first-child {
	padding-top: 0;
}

.judge_list > li:last-child {
	padding-bottom: 0;
	border: 0;
}

.judge_list .box {
	display: flex;
	align-items: flex-start;
}

.judge_list .box .thumb {
	margin-right: 50px;
	max-width: 190px;
}

.judge_list .box .desc {}

.judge_list .box .desc span {
	display: block;
	line-height: 140%;
}

.judge_list .box .desc .cate {
	display: inline-block;
	margin: 0 0 10px -8px;
	font-size: 90%;
	color: #fff;
	padding: 5px 10px;
	padding-top: 3px;
	border-radius: 5px;
}

.judge_list .box .desc .cate.c1 {
	background: #222;
}

.judge_list .box .desc .cate.c2 {
	background: #ccc;
}

.judge_list .box .desc .name {
	font-size: x-large;
	font-weight: 300;
}

.judge_list .box .desc .name strong {
	font-weight: 600;
}

.judge_list .box .desc .history {
	margin-top: 20px;
}

.judge_list .box .desc .history > li {
	position: relative;
	padding: 3px 0 3px 10px;
	font-size: 90%;
}

.judge_list .box .desc .history > li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 12px;
	width: 5px;
	height: 5px;
	background: #f1383e;
	border-radius: 10px;
}

.judge_list .box .desc .history > li:first-child {
	font-weight: 600;
	font-size: medium;
	padding-left: 0;
	padding-bottom: 7px;
}

.judge_list .box .desc .history > li:first-child:before {
	display: none;
}



네, 제공된 CSS 소스를 가독성 좋게 정리하고, 각 섹션의 역할을 한국어 주석으로 상세하게 정리해 드릴게요.

CSS

/* ==============================================
 * 참가 신청 페이지 (Apply)
 * ============================================== */

/* 페이지 타이틀 스타일 */
#container.apply .page_title h1 i {
	color: #5492ff;
}

#container.apply .page_title .tab > li.active > a {
	background: #5492ff;
}

#container.apply .page_title_sub:before {
	background: #5492ff;
	opacity: 0.25;
}

/* iframe 컨테이너 */
.apply_iframe_container {
	background: #ccc;
	position: relative;
	width: 100%;
	height: calc(100%);
}

.apply_iframe_container .apply_iframe {
	position: absolute;
	width: 100%;
	height: calc(100%);
	top: 0;
	left: 0;
}

/* --- 참가 부문 (Apply Part) --- */
.apply_part {
	background: #f5f7fd;
}

.apply_part .t1 {
	text-align: center;
}

.apply_part .t1 h1 {
	display: block;
	font-family: 'GmarketSansBold';
	font-size: 270%;
	color: #5492ff;
	line-height: 1;
}

.apply_part .t1 h3 {
	display: block;
	font-family: 'GmarketSansLight';
	font-size: x-large;
	margin-bottom: 1rem;
}

.apply_part ul {
	margin: 5rem auto 0;
	width: 100%;
	max-width: 850px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}

.apply_part ul > li {
	margin: 0 1rem;
	width: 44.5%;
}

.apply_part ul > li > a {
	display: block;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 8px;
	border: 2px solid #f9f9f9;
	box-shadow: 2px 2px 10px 0 rgb(212 213 226 / 50%);
}

.apply_part ul > li > a:hover {
	border: 2px solid #5492ff;
	box-sizing: border-box;
	box-shadow: 2px 2px 10px 0 rgb(212 213 226 / 100%);
}

.apply_part ul > li > a > div {
	text-align: center;
}

.apply_part .dec {
	flex: 1;
	padding: 2rem;
	display: flex;
	align-content: center;
	justify-content: center;
	flex-direction: column;
}

.apply_part .dec h3 {
	font-size: xx-large;
	line-height: 100%;
	margin: 1rem 0;
}

.apply_part .dec p {
	display: block;
	font-size: small;
	color: #555;
	line-height: 1.2;
}

.apply_part .thumb img {
	width: 80%;
}

.apply_part .notice {
	width: 100%;
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid #ddd;
}

.apply_part .notice p {
	position: relative;
	display: block;
	font-size: small;
	color: #555;
	margin: 5px 0;
	padding-left: 10px;
}

.apply_part .notice p:before {
	content: "";
	position: absolute;
	left: 0;
	top: 7px;
	width: 5px;
	height: 5px;
	background: #5492ff;
	border-radius: 10pt;
}

/* --- 참가 신청 폼 (Apply Form) --- */
.apply_form {
	border-top: 1px solid #ddd;
}

.apply_form .sec-tit {
	display: none;
}

/* 폼 탭 메뉴 */
.apply_form .tab-menu {
	position: relative;
	display: flex;
	align-content: stretch;
}

.apply_form .tab-menu:before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0px;
	width: 100%;
	height: 1px;
	background: #5492ff;
}

.apply_form .tab-menu > li a {
	min-width: 150px;
	padding: 1rem;
	text-align: center;
	font-size: large;
	font-weight: 700;
	background: #f5f7fd;
	border: 2px solid #f5f7fd;
	border-bottom: 0;
	color: #666;
	letter-spacing: 0;
}

.apply_form .tab-menu > li.active a {
	position: relative;
	background: #fff;
	border-color: #5492ff;
	color: #5492ff;
}

.apply_form .tab-menu > li.active a:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0px;
	width: 100%;
	height: 1px;
	background: #fff;
}

/* 폼 콘텐츠 */
.apply_form .apply-cont {
	margin-top: 3.5rem;
}

.apply_form .apply-cont h3 {
	background: #f5f6f9;
	padding: 25px 25px;
	font-weight: 600;
	font-size: 100%;
}

.apply_form .apply-cont table th,
.apply_form .apply-cont table td {
	border-bottom: 1px solid #f5f6f9;
}

.apply_form .apply-cont table {
	width: 100%;
	border: 0;
}

.apply_form .apply-cont table th {
	padding: 25px 20px 0;
	text-align: left;
	vertical-align: top;
	width: 180px;
	color: #000;
	font-weight: 500;
}

.apply_form .apply-cont table th.pd0 {
	padding: 0 25px;
}

.apply_form .apply-cont table th.pdb25 {
	padding-bottom: 25px;
}

.apply_form .apply-cont table th.line_none {
	border: none;
}

.apply_form .apply-cont table td {
	padding: 7px 0;
	height: 66px;
}

.apply_form .apply-cont.img-pb table td {}

.apply_form .apply-cont.img-pb table td.imgfile {}

/* 폼 입력 필드 */
.apply_form .apply-cont input[name="rep_name"],
.apply_form .apply-cont input[name="student_school"],
.apply_form .apply-cont input[name="pay_account_name"],
.apply_form .apply-cont input[name="rep_company_name"],
.apply_form .apply-cont input[name="student_name"],
.apply_form .apply-cont input[name="etcText"],
.apply_form .apply-cont input[name="rep_phone"] {
	width: 280px;
}

.apply_form .apply-cont .email select {
	margin-left: 7px;
	font-size: 90%;
	vertical-align: 1px;
}

.apply_form .apply-cont .phone input {
	margin-left: 7px;
	width: 90px;
}

.apply_form .apply-cont .phone2 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 8px;
}

.apply_form .apply-cont .phone2 input {
	width: 30%;
}

.apply_form .apply-cont .address {
	padding: 7px 0;
}

.apply_form .apply-cont .address button {
	height: 45px;
	padding: 0 20px;
	margin-left: 7px;
	vertical-align: 1px;
	background: #333;
	border-radius: 5px;
	font-size: 90%;
	color: #fff;
}

.apply_form .apply-cont input[name="addr1"],
.apply_form .apply-cont input[name="addr2"] {
	width: 405px;
}

.apply_form .apply-cont input[name="article_title"] {
	width: 405px;
}

.apply_form .apply-cont input[name="chanl"] {
	width: 405px;
}

.apply_form .apply-cont textarea[name="article_desc"] {
	width: 405px;
	height: 200px;
	padding: 10px;
}

/* 이미지 파일 업로드 */
.apply_form .apply-cont .imgfile {
	line-height: 1.4;
	padding-bottom: 20px;
}

.apply_form .apply-cont .imgfile img {
	display: block;
	margin-top: 10px;
	margin-bottom: 20px;
}

.apply_form .apply-cont .imgfile i {
	display: block;
	width: 24px;
	height: 24px;
	background-position: center;
	margin: 0 auto;
}

.apply_form .apply-cont .imgfile button {
	display: block;
	width: 405px;
	padding: 15px;
	border-radius: 5px;
	margin-top: -10px;
	font-size: large;
	font-weight: 700;
	letter-spacing: 2px;
	background: #5492ff;
	color: #fff;
}

.apply_form .apply-cont .imgfile button:hover {
	background: #0066cc;
}

.apply_form .apply-cont .imgfile span {
	display: block;
	margin-top: 10px;
	font-size: small;
}

.apply_form .apply-cont .imgfile .file_comment {
	font-weight: 900;
	margin-top: 20px;
	margin-bottom: 10px;
	font-size: 95%;
	background-position: 0 3px;
}

.apply_form .apply-cont .imgfile .file_comment a {
	display: inline-block;
	padding: 7px 20px;
	margin: 7px 0;
	background: #333;
	border-radius: 5px;
	font-size: 110%;
	color: #fff;
	font-weight: 400;
}

.apply_form .apply-cont .imgfile a:hover {
	background: #e02020;
}

.apply_form .apply-cont .hare_file_button {
	display: inline-block;
	padding: 7px 20px;
	margin: 7px 0;
	margin-right: 10px;
	background: #5492ff;
	border-radius: 5px;
	font-size: 90%;
	color: #fff;
}

.apply_form .apply-cont .hare_file_button:hover {
	background: #222;
}

.apply_form .apply-cont #list_file_name,
.apply_form .apply-cont #student_art_name {
	font-size: 90%;
	color: #999;
}

/* 폼 하단 영역 (약관 동의 등) */
.apply_form .apply-bot {
	margin-top: 3.5rem;
}

.apply_form .apply-bot .box {
	border: 1px solid #e1e1e1;
	padding: 20px 25px;
	margin-top: -1px;
}

.apply_form .apply-bot .box label {
	display: inline-block;
	width: 240px;
}

.apply_form .apply-bot .box textarea {
	width: 100%;
	height: 150px;
	margin-top: 15px;
	padding: 10px;
	background: #f5f5f5;
	font-size: 12px;
	line-height: 1.5;
	border: 0;
	border-radius: 0;
}

.apply_form .apply-bot .box.box_property {
	background: #f5f6f9;
}

.apply_form .apply-bot .box.box_property h3 {
	display: inline-block;
	background: #5492ff;
	color: #fff;
	font-size: 100%;
	padding: 7px;
	border-radius: 10px;
}

.apply_form .apply-bot .box.box_property .txt {
	margin: 20px 0;
	border-bottom: 1px solid #ddd;
}

.apply_form .apply-bot .box.box_property .txt span {
	display: block;
	line-height: 1.5;
}

.apply_form .apply-bot .box.box_property .txt .t1 {
	margin-top: 10px;
}

.apply_form .apply-bot .box.box_property .txt .t1 img {
	display: inline-block;
	height: 25px;
}

.apply_form .apply-bot .box.box_property .txt .t1 span {
	display: inline-block;
	font-family: 'GmarketSansBold';
	color: #2b2850;
	font-size: large;
	margin-left: 4px;
}

.apply_form .apply-bot .box.box_property .txt .t2 {
	margin: 15px 0;
	color: #666;
	font-size: 90%;
}

.apply_form .apply-bot .box.box_property .txt .t3 {
	font-weight: 500;
}

.apply_form .apply-bot .box.box_property .txt .t3 strong {
	font-weight: 700;
	color: #5492ff;
	text-decoration: underline;
}

.apply_form .apply-bot .box.box_property .txt .t4 {
	color: #666;
	font-size: small;
	margin-bottom: 20px;
}

.apply_form .apply-bot .box.box_property label {
	width: auto;
	font-weight: 600;
}

.apply_form .apply-bot .show_hide {
	display: inline-block;
	padding: 5px;
	min-width: 60px;
	font-size: 12px;
	line-height: 1;
	color: #3d4ed7;
	text-align: center;
	border: 1px solid #d7d7d7;
	border-radius: 4px;
	cursor: pointer;
}

/* 슬라이딩 약관 박스 */
.apply_form .apply-bot .slidingDiv {
	height: 180px;
	overflow-y: scroll;
	background: #f5f5f5;
	margin-top: .8rem;
}

.apply_form .apply-bot .slidingDiv > .overlay-con {
	padding: 25px 25px 10px;
	display: block !important;
	position: relative !important;
	background: none !important;
	height: auto !important;
}

.apply_form .apply-bot .slidingDiv > .overlay-con > div {
	padding: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}

.apply_form .apply-bot .slidingDiv > .overlay-con .area_t,
.apply_form .apply-bot .slidingDiv > .overlay-con .btn_close,
.apply_form .apply-bot .slidingDiv > .overlay-con > .overlay-full .area_t > h1 {
	display: none !important;
}

.apply_form .apply-bot .slidingDiv > .overlay-con > .overlay-full {
	line-height: 1.5;
}

.apply_form .apply-bot .slidingDiv .policy_con {
	margin-top: 0;
	padding: 0;
	background: none;
	font-size: 12px;
	overflow: inherit;
}

.apply_form .apply-bot .slidingDiv .policy_con h1 {
	font-size: 17px;
	font-family: 'Spoqa Han Sans Neo', '맑은고딕', sans-serif;
}

.apply_form .apply-bot .slidingDiv .policy_con h2 {
	font-size: 14px;
	font-weight: 500;
	margin: 15px 0 5px;
}

.apply_form .apply-bot .slidingDiv .policy_con .box {
	border: 0;
	padding: 0;
	margin-bottom: 20px;
}

.apply_form .apply-bot .slidingDiv .policy_con .box ul > li > span {
	padding-left: 0;
}

.apply_form .apply-bot .slidingDiv .policy_con span {
	margin-bottom: 5px;
}

/* 버튼 영역 */
.apply_form .apply-bot .btn_area {
	margin-top: 3rem;
	text-align: center;
}

.apply_form .apply-bot .btn_area .btn {
	display: inline-block;
	width: 300px;
	max-width: 45%;
	margin: 0 5px;
	padding: 25px;
	border-radius: 5px;
	font-size: x-large;
	font-weight: 700;
	letter-spacing: 2px;
	background: #5492ff;
	color: #fff;
}

.apply_form .apply-bot .btn_area .btn:hover {
	background: #0066cc;
}

/* 참가 가이드 (Howto) */
.apply-cont .howto {
	padding: 25px;
}

.apply-cont .howto li {
	display: flex;
	margin-bottom: 20px;
}

.apply-cont .howto .no span {
	background: #5492ff;
	width: 20px;
	height: 20px;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	color: #fff;
	font-size: 15px;
	border-radius: 50px;
}

.apply-cont .howto .doc {
	flex: 1;
	padding: 1px 0 0 7px;
}

.apply-cont .howto .doc span {
	display: inline-block;
	background: #d5e4ff;
	color: #000;
	font-weight: 700;
	padding: 0 5px;
}

.apply-cont .howto .doc .btn_down {
	display: inline-block;
	padding: 7px 20px;
	margin: 10px 0;
	background: #333;
	border-radius: 5px;
	font-size: 90%;
	color: #fff;
}

.apply-cont .howto .doc .btn_down:hover {
	background: #e02020;
}

.ip_chanl {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* 일반 알림 텍스트/버튼 */
.text-notice-type1 {
	margin: 5px 0;
	padding: 0 0 0 20px;
	line-height: 1.4;
	font-size: small;
	font-weight: 400;
	background: url(/kid_art2022/images/icon_exclamation.png) no-repeat left 1px;
	background-size: 16px auto;
}

.text-notice-btn1 {
	display: inline-block;
	padding: 5px 7px;
	min-width: 60px;
	font-size: 12px;
	line-height: 1;
	color: #3d4ed7;
	text-align: center;
	background: #fff;
	border: 1px solid #d7d7d7;
	border-radius: 4px;
	cursor: pointer;
}

.text-notice-btn1:hover {
	background: #eee;
}

/* --- 사진 가이드 (Photo Guide) --- */
.apply .guide {
	border-top: 1px solid #ddd;
}

.apply .guide .txt_notice {
	margin-top: -20px;
}

.apply .guide .txt_notice p {
	display: block;
	margin-bottom: 10px;
}

.apply .guide .txt_notice .p1 {
	font-size: 110%;
	font-weight: 600;
	color: #e02020;
}

.apply .guide .photo_guide {
	background: #f1f1f1;
	padding: 3rem;
	margin-top: 3rem;
}

.apply .guide .photo_guide .list {
	display: flex;
	padding-bottom: 2rem;
	margin-bottom: 2rem;
	border-bottom: 1px dashed #ddd;
}

.apply .guide .photo_guide .list:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: 0;
}

.apply .guide .photo_guide .list .ico {
	background: #fff;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.apply .guide .photo_guide .list .ico img {
	width: 50%;
	height: auto;
}

.apply .guide .photo_guide .list .txt {
	flex: 1;
	padding-top: 1.2rem;
	padding-left: 1rem;
}

.apply .guide .photo_guide .list .txt p {
	padding: 3px 0;
	font-weight: 500;
	text-indent: -1rem;
	margin-left: 1rem;
	line-height: 1.5;
}

.apply .guide .photo_guide .list .txt p.p1 {
	font-size: large;
	font-weight: 700;
	color: #5492ff;
	margin-bottom: 10px;
}

/* 사진 가이드 예시 */
.photo_guide_ex {
	margin-top: 5rem;
}

.photo_guide_ex .ex_tit {
	text-align: center;
}

.photo_guide_ex .ex_tit img {
	display: block;
	width: 100px;
	margin: 0 auto;
}

.photo_guide_ex .ex_tit h1 {
	display: inline-block;
	background: #222;
	padding: 1rem 2rem;
	margin-top: -1px;
	border-radius: 50pt;
	font-family: 'GmarketSansBold';
	color: #fff;
	font-size: x-large;
}

.photo_guide_ex .ex_list {
	margin: 2rem 0 0 -25px;
	width: calc(100% + 25px);
	display: flex;
}

.photo_guide_ex .ex_list > div {
	width: 33.33%;
	padding-left: 25px;
	text-align: center;
}

.photo_guide_ex .ex_list img {
	border: 3px dashed #555;
	padding: 5px;
}

.photo_guide_ex .ex_list span {
	display: inline-block;
	background: #e02020;
	margin-top: 20px;
	padding: 8px 20px 5px;
	border-radius: 50pt;
	font-family: 'GmarketSansMedium';
	color: #fff;
	font-size: 90%;
	letter-spacing: 1px;
	line-height: 1;
}

.photo_guide_ex .ex_list p {
	text-align: center;
	font-weight: 500;
	margin-top: 10px;
}

.photo_guide_ex .good {
	padding-bottom: 5rem;
	margin-bottom: 5rem;
	border-bottom: 1px dashed #ddd;
}

.photo_guide_ex .good .ex_tit h1 {
	background: #5492ff;
}

.photo_guide_ex .good .ex_list {
	display: block;
}

.photo_guide_ex .good .ex_list > div {
	width: 100%;
}

.photo_guide_ex .good .ex_list img {
	display: block;
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
}

.photo_guide_ex .good .ex_list span {
	background: #5492ff;
}

.photo_guide_ex .good .ex_list p {
	font-size: 120%;
}

/* ==============================================
 * 수상작 갤러리 (Gallery)
 * ============================================== */

/* 페이지 타이틀 스타일 */
#container.gallery .page_title h1 i {
	color: #ed7a74;
}

#container.gallery .page_title .tab > li.active > a {
	background: #ed8c19;
}

#container.gallery .page_title_sub:before {
	background: #fbe7d0;
}

#container.gallery .page_title_img {
	margin-top: -1rem;
}

#container.gallery .baby {
	font-family: 'GmarketSansBold';
	font-size: 18px;
	color: #222;
	line-height: 1.5;
}

/* 갤러리 인사말 */
.gallery .greeting {
	background: #fbf7ef;
	text-align: center;
}

.gallery .greeting h1 {
	font-family: 'GmarketSansBold';
	font-size: 200%;
	letter-spacing: -1px;
	margin-bottom: 1.5rem;
	line-height: 1.2;
}

.gallery .greeting span {
	display: block;
	margin: 0 auto;
	width: 80%;
	line-height: 1.7;
	color: #555;
}

.gallery .greeting .video {
	max-width: 800px;
	margin: 0 auto;
	margin-top: 5rem;
}

/* 수상작 목록 */
.gallery .winning_works {
	margin-bottom: 3rem;
	border-bottom: 1px solid #ddd;
}

.gallery .winning_works:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}

.gallery .winning_works h1 {
	display: inline-block;
	background: #222;
	padding: 12px 30px 10px;
	border-radius: 50pt;
	font-family: 'GmarketSansBold';
	font-size: 180%;
	line-height: 1;
	color: #fff;
	letter-spacing: 3px;
}

/* 수상 등급별 색상 */
.gallery .winning_works.g_1 h1 {
	background: #f1383e;
}

.gallery .winning_works.g_2 h1 {
	background: #f1383e;
}

.gallery .winning_works.g_grand h1 {
	background: #472E96;
}

.gallery .winning_works.g_special h1 {
	background: #f58220;
}

.gallery .winning_works.g_gold h1 {
	background: #e7b704;
}

.gallery .winning_works.g_silver h1 {
	background: #a7b4bf;
}

.winning_works > .list {
	margin: 2rem 0 0 -25px;
	width: calc(100% + 25px);
	display: flex;
	flex-wrap: wrap;
}

.winning_works > .list > li {
	width: 33.33%;
	padding-left: 25px;
	margin-bottom: 5rem;
}

.winning_works > .list > li > a {
	position: relative;
	width: 100%;
	height: 280px;
	overflow: hidden;
	background-color: #f5f5f5;
}

.winning_works > .list > li > a > img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transform: translate(-50%, -50%);
}

.winning_works > .list .desc {}

.winning_works > .list .desc > h3 {
	display: block;
	margin: 1rem 0 .5rem;
	font-size: large;
	font-weight: 500;
	line-height: 1.25;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.winning_works > .list .desc .info {
	font-size: small;
}

.winning_works > .list .desc .info > span {
	display: inline-block;
}

.winning_works > .list .desc .info .name {
	display: inline-block;
	font-weight: 500;
}

.winning_works > .list .desc .info .name:after {
	content: "|";
	display: inline-block;
	padding: 0 7px;
	font-size: x-small;
	vertical-align: 0.7px;
}

.winning_works > .list .desc .info .area {
	display: inline-block;
}

.winning_works > .list .desc .txt {
	border-top: 1px solid #ddd;
	margin-top: 1rem;
	padding-top: 1rem;
	display: block;
	font-size: small;
	color: #666;
}

/* 수상 등급별 세부 스타일 (Grand/Special Award 등) */
.winning_works.g_1 {}

.winning_works.g_1 > .list {}

.winning_works.g_1 > .list > li {
	width: 100%;
	display: flex;
	align-items: center;
}

.winning_works.g_1 > .list > li > a {
	width: 50%;
	max-width: 600px;
	height: auto;
}

.winning_works.g_1 > .list > li > a img {
	position: relative;
	top: 0;
	left: 0;
	transform: translate(0, 0);
}

.winning_works.g_1 > .list .desc {
	padding-left: 3rem;
	flex: 1;
	text-align: left;
}

.winning_works.g_1 > .list .desc > h3 {
	font-size: x-large;
	font-weight: 600;
}

.winning_works.g_1 > .list .desc .info {
	font-size: 100%;
}

.winning_works.g_2 {}

.winning_works.g_2 > .list {}

.winning_works.g_2 > .list > li {
	width: 50%;
	display: flex;
	align-items: center;
}

.winning_works.g_2 > .list > li > .vod {
	display: block;
	width: 100%;
}

.winning_works.g_2 > .list > li > .vod p {
	margin: 10px;
	0 0 0;
}

.winning_works.g_2 > .list > li > a {
	width: 100%;
	max-width: 600px;
	height: auto;
}

.winning_works.v > .list > li > a img {
	position: relative;
	top: 0;
	left: 0;
	transform: translate(0, 0);
}

.winning_works.g_2 > .list .desc {
	padding-left: 3rem;
	flex: 1;
	text-align: left;
}

.winning_works.g_2 > .list .desc > h3 {
	font-size: x-large;
	font-weight: 600;
}

.winning_works.g_2 > .list .desc .info {
	font-size: 100%;
}

/* 반응형 미디어 쿼리 */
@media screen and (max-width:800px) {
	.winning_works.g_2 > .list > li {
		width: 100%;
	}
}

/* 심사평 (Commentary) */
.gallery .commentary {
	background: #f5f5f5;
}

.gallery .commentary .con {
	display: flex;
	width: 100%;
}

.gallery .commentary .con .photo {
	width: 200px;
}

.gallery .commentary .con .txt {
	margin-left: 3rem;
	color: #333;
	flex: 1;
}

.gallery .commentary .con .txt p {
	display: block;
	line-height: 1.5;
	margin-bottom: 1rem;
}

.gallery .commentary .con .txt p:last-child {
	width: 100%;
	text-align: right;
	margin-top: 2rem;
	margin-bottom: 0;
}

/* ==============================================
 * 커뮤니티 (Community)
 * ============================================== */
#container.community .page_title h1 i {
	color: #6e45bd;
}

#container.community .page_title .tab > li.active > a {
	background: #6e45bd;
}

#container.community .page_title_sub:before {
	background: #6e45bd;
	opacity: 0.25;
}

#container.community .page_title_img {
	margin-top: -1rem;
}

#Wrap_bbs {
	border-top: 1px solid #ddd;
}

/* ==============================================
 * 수상 결과 (Prize Result)
 * ============================================== */

/* 수상 결과 찾기 (Prize Find) */
.prize_find {
	border: 1px solid #fff;
	background: #fff;
	text-align: center;
	width: 80%;
	max-width: 550px;
	margin: 0 auto;
}

.prize_find > h1 {
	display: block;
	text-align: center;
	font-family: 'GmarketSansBold';
	font-size: 50px;
	color: #222;
	line-height: 100%;
	letter-spacing: -0.5px;
}

.prize_find > span {
	display: block;
	background: #f1f1f1;
	margin: 15px 0 20px;
	border-radius: 10px;
	padding: 10px;
}

.btn_prize_find {
	text-align: center;
	margin-top: -30px;
}

.btn_prize_find a {
	display: inline-block;
	padding: 17pt 20pt 15pt;
	border-radius: 10px;
	border: 3px solid #95ca46;
	background: #95ca46;
	color: #fff;
	font-family: 'GmarketSansBold';
	font-size: x-large;
}

.btn_prize_find a.search {
	background: #fff;
	color: #333;
	margin-right: 1vw;
}

.btn_prize_find a i {
	font-size: 90%;
	margin-right: 10px;
}

/* 결과 없음 알림 */
.apply_form .apply-cont.result-no {
	width: 100%;
	max-width: 600px;
	text-align: center;
	margin: 5vw auto 0 auto;
	background: #f1f1f1;
	border-radius: 10pt;
	padding: 3vw;
}

.apply_form .apply-cont.result-no h3 {
	background: transparent;
	padding: 0 0 15px;
	font-weight: 600;
	font-size: 120%;
}

/* 수상 결과 상세 */
.prize_result {}

.prize_result .title_winner {
	margin: 5vw 0;
	padding: 3vw 0 2.5vw;
	background-image: url('http://edu.chosun.com/kid_art2022/images/prize_result_title_bg.png');
	background-color: #f5f6f9;
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: top center;
	border: 3px solid #f5f6f9;
	border-radius: 10pt;
	font-size: 1em;
}

.prize_result .title_winner h1,
.prize_result .title_winner h2 {
	display: block;
	text-align: center;
	line-height: 1.5;
}

.prize_result .title_winner h1 {
	font-family: 'GmarketSansMedium';
	font-size: 150%;
}

.prize_result .title_winner h2 {
	font-family: 'GmarketSansBold';
	font-size: 270%;
	color: #032771;
}

.apply_form .prize-cont {
	border: 1px solid #ddd;
	padding: 30pt;
	border-radius: 10pt;
	margin-bottom: 80px;
}

.apply_form .prize-cont .apply-cont {
	margin: 0;
}

.apply_form .prize-cont .apply-cont h3 {
	background: transparent;
	padding: 0 0 20px;
	border-bottom: 2px solid #222;
	font-size: 150%;
}

.apply_form .prize-cont .apply-cont table th {
	background: #f8f8f8;
	border-bottom: 1px solid #ddd;
}

.apply_form .prize-cont .apply-cont table td {
	border-bottom: 1px solid #ddd;
	padding-left: 20px;
}

.apply_form .prize-cont .apply-cont .imgfile img {
	width: 320px;
	margin-bottom: 0px;
}

.apply_form .prize-cont .null {
	height: 80px;
}

/* 상패 선택 */
.plaque_select {
	display: flex;
}

.plaque_select li {
	text-align: center;
	padding: 10px 50px 10px 0;
}

.plaque_select li:last-child {
	padding-right: 0;
}

/* --- 심사평 (Review) --- */
.con_bot {
	line-height: 1.5;
	margin-top: 2rem;
}

.con_bot > li:after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	border-top: 1px solid #fff;
	margin: 1rem 0px;
}

.con_bot > li > strong {
	font-size: 17px;
}

.con_bot > li > ul > li {
	position: relative;
	padding-left: 18px;
}

.con_bot > li > ul > li:after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	background-color: #333;
	position: absolute;
	top: 7px;
	left: 0px;
	border-radius: 50%;
}

.con_bot .box {
	padding-left: 25px;
}

.btn_Review {
	position: absolute;
	top: 0px;
	right: 0px;
	display: inline-block;
	padding: 15px 20px;
	background-color: #00225a;
	color: #fff !important;
	font-weight: 500;
	border-radius: 5px;
}

/* --- 참가 리스트 (Participant List) --- */
.re_tit {
	font-size: 1em;
	color: #000;
	display: block;
	font-weight: 500;
}

.check {
	color: #5492ff;
	font-size: 15px;
	margin-bottom: 15px;
	width: 100%;
	margin-top: 15px;
	font-family: 'Noto Sans Korean', sans-serif;
	font-weight: 350;
}

.check::before {
	color: #5492ff;
	font-family: "Font Awesome 5 free";
	content: "\f058";
	margin-right: 10px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-weight: bold;
}

.check_tb {
	padding: 0;
	border-spacing: 0px;
	background-color: #ffffff;
	width: 70% !important;
	border-radius: 0px;
	margin-top: 0px;
	border-left: 1px solid #dddddd;
	border-top: 1px solid #dddddd;
	box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0), 0 5px 15px 0 rgba(0, 0, 0, 0);
}

.check_tb th {
	font-size: 15px;
	color: #000000;
	font-weight: 700;
	border-bottom: 1px solid #dddddd;
	border-right: 1px solid #dddddd;
	background-color: #f0f0f0;
	text-align: center !important;
	vertical-align: middle !important;
	padding: 10px !important;
}

.check_tb td {
	padding: 10px !important;
	font-size: 15px;
	line-height: 25px;
}

.check_tb td input[type=text] {
	padding: 20px;
	border: 1px solid #cccccc;
	border-radius: 5px;
	margin-bottom: 0px;
	display: block;
	font-size: 15px;
	width: 350px;
}

.check_tb td {
	width: calc(100% - 0px);
	padding: 18px;
	border-radius: 5px;
	margin-bottom: 0px;
	display: block;
	font-size: 15px;
	height: auto !important;
}

.check_al > a {
	width: 150px;
	height: 35px;
	float: left;
	margin-right: 10px;
	background-color: #5492ff;
	color: #ffffff;
	border-radius: 30px;
	line-height: 35px;
	text-align: center;
	font-size: 13px !important;
	cursor: pointer;
}

.check_al > a > i {
	color: #ffffff;
	margin-right: 5px;
	font-size: 13px;
}

.check_al > a.del {
	color: #5492ff;
	border: 1px solid #5492ff;
	background-color: #fff;
}

.check_al > a.del > i {
	color: #5492ff;
}






.luv_check_al > a {
	width: 150px;
	height: 35px;
	float: left;
	margin-right: 10px;
	background-color: #5492ff;
	color: #ffffff;
	border-radius: 30px;
	line-height: 35px;
	text-align: center;
	font-size: 13px !important;
	cursor: pointer;
}

.luv_check_al > a > i {
	color: #ffffff;
	margin-right: 5px;
	font-size: 13px;
}

.luv_check_al > a.del {
	color: #5492ff;
	border: 1px solid #5492ff;
	background-color: #fff;
}

.luv_check_al > a.del > i {
	color: #5492ff;
}

.chpd30 {
	padding: 25px 25px 25px !important;
}

.apply-cont .wid405 {
	width: 405px;
}

/* ==============================================
 * 미술대회 영역
 * ============================================== */

.page_title_sub_art {
	margin-top: 100px;
}

.page_title_sub_art h1 {
	line-height: 1.3 !important;
}

.art_boon_list {
	display: flex;
	justify-content: space-between;
	margin-bottom: 3rem;
	gap: 30px;
}

.art_boon_list > li {
	width: 25%;
}

.art_boon_list > li > b {
	display: block;
	margin-bottom: 15px;
	font-size: 20px;
	font-weight: 550;
	text-align: center;
}

.art_boon_list > li .b_img {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 0px 20px 90%;
	border: 1px dashed #d5d5d5;
	background: #fff;
	border-radius: 10px;
	box-sizing: border-box;
}

.art_boon_list > li .b_img > img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.art_boon_list > li .b_img > img {
	height: 80%;
}

.art_boon_list > li:nth-child(1) .b_img > img {
	height: 80%;
}

/* ==============================================
 * 루브르 영역
 * ============================================== */

.france_wrap {}

.france_wrap .france_tit {
	display: block;
	margin: 50px 0px 25px;
	font-size: 20px;
	font-family: 'GmarketSansBold';
	letter-spacing: 0.5px;
}

.france_wrap .france_tit:nth-of-type(1) {
	margin: 0px 0px 25px;
}

.france_wrap .france_text {
	margin-bottom: 25px;
	font-family: 'GmarketSansBold';
	letter-spacing: 0.5px;
	line-height: 1.5;
}

.france_wrap .france_dot_text {
	font-family: 'GmarketSansMedium';
	letter-spacing: 0.5px;
	font-weight: 400;
	line-height: 1.3;
}

.france_wrap .france_dot_text > li {
	margin-bottom: 5px;
}

.france_wrap .france_dot_text > li:last-child {
	margin-bottom: 0px;
}

.france_wrap .pdlbox {
	display: flex;
}

.france_wrap .pdlbox > strong {
	white-space: nowrap;
}

.france_wrap .pdlbox > b {
	white-space: nowrap;
}

.france_wrap .pdlbox > span {
	padding-left: 5px;
}

.france_wrap .no_bold {
	font-weight: inherit !important;
}

.france_wrap .font_pink {
	padding-left: 20px;
	margin-top: 0px !important;
	margin-bottom: 5px !important;
	color: #ff0000 !important;
	line-height: 1.5 !important;
}

/* 심사위원 박스 */
.judge_box {
	display: flex;
	flex-wrap: wrap;
}

.judge_box > li {
	width: 20%;
	margin-top: 70px;
}

.judge_box > li:nth-child(1) {
	width: 100%;
	margin-top: 0px;
}

.judge_box > li .j_tit {
	display: inline-block;
	margin-bottom: 15px;
	width: 80px;
	height: 30px;
	font-size: 14px;
	color: #fff;
	background: #222;
	border-radius: 5px;
	text-align: center;
	line-height: 30px;
}

.judge_box > li .j_name {
	font-size: 24px;
	line-height: 1.5;
}

.judge_box > li .j_name > b {
	font-weight: 550;
}

/* 루브르 참가 부문 리스트 */
.france_boon_list {
	display: flex;
	justify-content: space-between;
}

.france_boon_list > li {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0px 20px 30%;
	width: 31.333333%;
	border: 1px dashed #d5d5d5;
	background: #fff;
	border-radius: 10px;
	box-sizing: border-box;
}

.france_boon_list > li > img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.france_boon_list > li > img {
	height: 85%;
}

.france_boon_list > li:nth-child(1) > img {
	height: 60%;
}

.france_apply_wrap ul > li {
	width: 100% !important;
}

.france_apply_wrap ul {
	max-width: 500px !important;
}

.faq_poster {
	width: 70%;
}

/* ==============================================
 * 반응형 미디어 쿼리 (Responsive Media Queries)
 * ============================================== */

@media screen and (max-width:1500px) {
	.art_boon_list {
		margin-bottom: 2rem;
	}
}

@media screen and (max-width:980px) {
	.winner .list_france_award {
		margin-bottom: 5rem;
	}
	.winner .list_france_award > li {
		margin-bottom: 2rem !important;
	}
	.winner .list_france_award > li:last-child {
		margin-bottom: 0px !important;
	}
	.faq_poster {
		width: 100%;
	}
}

@media screen and (max-width:768px) {
	.judge_box > li .j_name {
		font-size: 20px;
	}
	.judge_box > li {
		width: 33.333333%;
		margin-top: 50px;
	}
}

@media screen and (max-width:600px) {
	.judge_box > li .j_tit {
		margin-bottom: 10px;
	}
	.judge_box > li .j_name {
		font-size: 18px;
	}
	.judge_box > li {
		width: 33.333333%;
		margin-top: 30px;
	}
	.france_boon_list {
		flex-wrap: wrap;
	}
	.france_boon_list > li {
		width: 100%;
		margin-bottom: 15px;
		padding: 0px 20px 50%;
	}
	.france_boon_list > li > img {
		height: 95%;
	}
	.france_boon_list > li:nth-child(1) > img {
		height: 80%;
	}
	.art_boon_list {
		flex-wrap: wrap;
	}
	.art_boon_list > li {
		width: 100%;
		margin-bottom: 15px;
	}
	.art_boon_list > li .b_img {
		padding: 0px 20px 50%;
	}
	.art_boon_list > li .b_img > img {
		height: 85%;
	}
	.art_boon_list > li:nth-child(1) .b_img > img {
		height: 85%;
	}
}

@media screen and (max-width:500px) {
	.judge_box > li .j_tit {
		margin-bottom: 5px;
	}
	.judge_box > li .j_name {
		font-size: 17px;
	}
	.judge_box > li {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 50%;
	}
}

.france_gray_box {
  padding: 15px 20px;;
  margin-bottom: 50px;
  background: #FFF;
  border-radius: 8px;
  /*font-size: 1.125rem;*/
  box-sizing: border-box;
  line-height: 1.6;
}

.france_gray_box > p {
  margin-bottom: 25px;
  word-break: initial !important;
}

.f_check_dot {
  /* This is an empty rule set, consider removing it if it's not needed. */
}

.f_check_dot > li {
  position: relative;
  padding-left: 35px;
}

.f_check_dot > li:last-child {
  margin-bottom: 0px;
}

.f_check_dot > li:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url("/art/images/re_sub_dot_check_img.png") no-repeat center;
  position: absolute;
  top: 6px;
  left: 0px;
}

.pd47 {
	padding-left:47px;
}

@media screen and (max-width: 1024px) {
  .france_gray_box {
    padding: 20px 25px;
	margin-bottom: 20px;
    font-size: 1.125rem;
  }
	 .pd47 {
		padding-left:0;
	}
}

@media screen and (max-width: 600px) {
  .france_gray_box {
    font-size: 1.0625rem;
  }
}

.poster_flex {
	display: flex;
	gap: 50px;
}