/* 공통 */
#main_container .panel {
	display: flex;
	align-items: center;
}
#main_container .panel .content-wrapper {
	display: flex;
	justify-content: space-between;
	padding-top: 15rem;
	padding-bottom: 15rem;
}
#main_container .panel .text-area h4 {
	font-size:12rem;
	color:#000;
	line-height:1;
}
#main_container .panel .text-area h4 img {
	display: block;
	width: 100%;
}
#main_container .panel .text-area > p {
	margin-top: 1rem;
	width: 100%;
	font-family: 'SeoulNamsan CB', sans-serif;
	font-size: 2.4rem;
}

/*sec01*/
#main_container .sec01 {
	background: #ffffff url(../_img/main/sec01-bg.png) no-repeat center center / 100%;
}

#main_container .sec01 .text-area {
	width: 33.8%;
}
#main_container .sec01 .text-area > img,
#main_container .sec02 .text-area > img {
	display: block;
}
#main_container .sec01 .text-area > img.winta-festa,
#main_container .sec02 .text-area > img.winta-festa {
	width: 56rem;
}
#main_container .sec01 .text-area > img.period,
#main_container .sec02 .text-area > img.period {
	margin-top: 1rem;
	margin-bottom: 1.5rem;
	width: 53.2rem;
}
#main_container .sec01 .text-area .intro-link-btn,
#main_container .sec02 .text-area .intro-link-btn {
	display: inline-block;
	margin-top: 4rem;
	padding: 0.8rem 1.6rem;
	font-size: 2rem;
	font-family: "SeoulNamsan CBL", sans-serif;
	color: #ffffff;
}
#main_container .sec01 .video-area {
	width: 53.76%;
}
#main_container .sec01 .video-area .video {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	background-color: #cccccc;
}


/*sec02*/
#main_container .sec02 {
	background: #000000;
}
#main_container .sec02 .content-wrapper {
	align-items:center;
}
#main_container .sec02 .text-area {
	width: 50%;
}
#main_container .sec02 .text-area h2 {}
#main_container .sec02 .text-area h2 > img {
	width:90%;
}
#main_container .sec02 .text-area h3 {
	font-size:4.4rem;
	color:#fff;
	line-height:1;
	font-family:'SeoulNamsan CB', sans-serif;
	margin-top:2rem;
}
#main_container .sec02 .text-area h3 > span {
	font-size:5rem;
}
#main_container .sec02 .text-area p {
	color: #ffffff
}
#main_container .sec02 .text-area .intro-link-btn {
	border: 0.1rem solid #ffffff;
	color: #ffffff;
}
#main_container .sec02 .map-wrapper {
	position: relative;
	width: 50%;
}
#main_container .sec02 .map-wrapper .map-mobile {
	display: none;
}
#main_container .sec02 .map-wrapper .map {
	position: relative;
	left: 0;
	top: 0;
	background: #121212 url(../_img/main/sec02-map-2025.jpg) no-repeat center center / cover;
	width: 100%;
	height: 0;
	padding-top: 66.86%;
}
#main_container .sec02 .map-wrapper .map .map-link {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 15;
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 0.4rem;
}
#main_container .sec02 .map-wrapper .map .map-link.map-link-reserve {
	flex-direction:row-reverse;
}
#main_container .sec02 .map-wrapper .map .map-link:hover{
	animation: float .5s ease-in-out;
}

@keyframes float {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-1rem);
	}
	100% {
		transform: translateY(0);
	}
}
#main_container .sec02 .map-wrapper .map .map-link.luminous-axis {
	top: 21%;
	left: 8.7%;
}

#main_container .sec02 .map-wrapper .map .map-link.soul-town {
	top: 30%;
	left: 8.7%;
}
#main_container .sec02 .map-wrapper .map .map-link.luminous-ddp {
	top: 67%;
	left: 73%;
}
#main_container .sec02 .map-wrapper .map .map-link.seoulcon {
	top: 75.9%;
	left: 70.5%;
}
#main_container .sec02 .map-wrapper .map .map-link.soul-lantern {
	top: 62%;
	left: 13%;
}
#main_container .sec02 .map-wrapper .map .map-link.soul-lantern2 {
	top: 27%;
	left: 72.5%;
}
#main_container .sec02 .map-wrapper .map .map-link.snowflake-plaza {
	top: 82.5%;
	left: 11.5%;
}
#main_container .sec02 .map-wrapper .map .map-link.new-year-festa {
	top: 53.6%;
	left: 27%;
}
#main_container .sec02 .map-wrapper .map .map-link .char-wrapper {
	position: relative;
	width: 4.4rem;
	height: 4.4rem;
	overflow: hidden;
	top:0;
}
#main_container .sec02 .map-wrapper .map .map-link .char-wrapper .bg {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 10;
	border-radius: 50%;
	width: 100%;
	height: 100%;
	background-image:url(../_img/main/map_marker_wh.png);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:40%;
}
#main_container .sec02 .map-wrapper .map .map-link .char-wrapper .bg.bk {
	background-image:url(../_img/main/map_marker_bk.png);
}
#main_container .sec02 .map-wrapper .map .map-link .char-wrapper .char {
	position: absolute;
	left: 50%;
	top: 50.4%;
	z-index: 11;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
}#main_container .sec02 .map-wrapper .map .map-link .char-wrapper .char > img {
	width: 100%;
}
#main_container .sec02 .map-wrapper .map .map-link.luminous-axis .char-wrapper .bg {
	background-color: #ff7846;
}
#main_container .sec02 .map-wrapper .map .map-link.soul-town .char-wrapper .bg {
	background-color: #d33d46;
}
#main_container .sec02 .map-wrapper .map .map-link.luminous-ddp .char-wrapper .bg {
	background-color: #0078b4;
}
#main_container .sec02 .map-wrapper .map .map-link.seoulcon .char-wrapper .bg {
	background-color: #5abee1;
}
#main_container .sec02 .map-wrapper .map .map-link.soul-lantern .char-wrapper .bg {
	background-color: #f9be13;
}
#main_container .sec02 .map-wrapper .map .map-link.snowflake-plaza .char-wrapper .bg {
	background-color: #5096dc;
}
#main_container .sec02 .map-wrapper .map .map-link.new-year-festa .char-wrapper .bg {
	background-color: #ffffff;
}

#main_container .sec02 .map-wrapper .map .map-link .desc {
	position: relative;
	z-index: 10;
	display:flex;
	flex-direction:column;
	gap:0.2rem;
}
#main_container .sec02 .map-wrapper .map .map-link .desc span {
	display: block;
	padding: 1rem 1.2rem 0.8rem;
	/* width: 20.4rem; */
	height: auto;
	color: #ffffff;
	border-radius:1rem;
}
#main_container .sec02 .map-wrapper .map .map-link .desc span.place {
	font-family: "SeoulNamsan CBL", sans-serif;
	font-size: 1.6rem;
	line-height: 1;
}
#main_container .sec02 .map-wrapper .map .map-link .desc span.festa {
	font-family: "SeoulNamsan CB", sans-serif;
	font-size: 1.35rem;
	line-height: 138%;
}
#main_container .sec02 .map-wrapper .map .map-link.luminous-axis .desc span {
	background-color: #ff7846;
}
#main_container .sec02 .map-wrapper .map .map-link.soul-town .desc span {
	background-color: #d33d46;
}
#main_container .sec02 .map-wrapper .map .map-link.luminous-ddp .desc span {
	background-color: #0078b4;
}
#main_container .sec02 .map-wrapper .map .map-link.seoulcon .desc span {
	background-color: #5abee1;
}
#main_container .sec02 .map-wrapper .map .map-link.soul-lantern .desc span {
	background-color: #f9be13;
	color: #000;
}
#main_container .sec02 .map-wrapper .map .map-link.snowflake-plaza .desc span {
	background-color: #5096dc;
}
#main_container .sec02 .map-wrapper .map .map-link.new-year-festa .desc span {
	background-color: #ffffff;
	color: #000;
}


/*sec03*/
#main_container .sec03 {
	background-color: #ffffff;
}
#main_container .sec03 .swiper-button-next, 
#main_container .sec03 .swiper-button-prev {
	display: none;
    background-size: 100%;
    width: 6rem;
    height: 6rem;
}
#main_container .sec03 .program-poster-container .swiper-button-next {
    right: 2rem;
    background-image: url(../_img/sub/swiper-button-next.png);
}
#main_container .sec03 .program-poster-container .swiper-button-prev {
    left: 2rem;
    background-image: url(../_img/sub/swiper-button-prev.png);
}
#main_container .sec03 .text-area {
	width: 30%;
}
#main_container .sec03 .text-area h4 img {
	width: 36.3rem;
}
#main_container .sec03 .program-poster-container {
	width: 64%;
}
#main_container .sec03 .program-poster-container .poster-item-wrapper {
	display: grid;
	column-gap: 2.11%;
	grid-template-columns: repeat(auto-fill, 23.6rem);
	gap: 2rem;
	padding: 0;
}


/* sec04 */
#main_container .sec04 {
	background-color: #000000;
	color: #ffffff;
	height: 100vh;
}
#main_container .sec04 .text-area {
	width: 30%;
}
#main_container .sec04 .text-area h4 img {
	width: 41.9rem;
}
#main_container .sec04 .text-area h4 {
	color:#fff;
}
#main_container .sec04 .article-area {
	display: flex;
	column-gap: 2rem;
	width: 64%;
}
#main_container .sec04 .article-area > div {
	width: calc(50% - 1rem);
}
#main_container .sec04 .article-area .title-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1.5rem;
	font-family: "SeoulNamsan CBL", sans-serif;
}
#main_container .sec04 .article-area .title-wrapper h5 {
	font-size: 2.3rem;
}
#main_container .sec04 .article-area .title-wrapper .more-btn {
	display: inline-block;
	padding: 0.4rem 0.7rem;
	border: 0.1rem solid #ffffff;
	font-size: 1.6rem;
	color: #ffffff;
}
#main_container .sec04 .article-area .articles {
	list-style: none;
	padding: 0;
}
#main_container .sec04 .article-area .articles li {
	border: 0.1rem solid #ffffff;
	margin-bottom: 2rem;
	padding: 1rem;
	font-family: "SeoulNamsan CB", sans-serif;
	font-size: 2.2rem;
}
#main_container .sec04 .article-area .articles li.no-data {
	border: none;
	margin-top: 2rem;
	text-align: center;
}
#main_container .sec04 .article-area .articles li span {
	display: block;
	color: #ffffff;
}
#main_container .sec04 .article-area .articles li span.subject {
	font-size: 2.2rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
#main_container .sec04 .article-area .articles li span.datetime {
	margin-top: 0.8rem;
	font-size: 1.7rem;
}


@media(max-width:991.98px) {
	#main_container {
		margin-top: 15rem;
	}
	#main_container .panel .content-wrapper {
		flex-direction: column;
		row-gap: 5rem;
	}

	#main_container .panel .text-area {
		width: 100%;
		text-align:center;
	}
	#main_container .sec02 .text-area h2 {
		text-align:center;
	}
	#main_container .sec02 .text-area h2 > img {
		width:90%;
	}
	#main_container .sec02 .text-area h3 {
		font-size:5.4rem;
		margin-bottom:1rem;
		text-align:center;
	}
	#main_container .sec02 .text-area h3 > span {
		font-size:6rem;
	}
	#main_container .sec02 .text-area p {
		margin: 0 auto;
		text-align:center;
	}
	#main_container .sec02 .text-area img {
		margin: 0 auto;
	}
	#main_container .sec02 .text-area .intro-link-btn {
		display: inline-block;
		padding: 1.2rem 2rem 1rem;
		width: auto;
		font-size: 3rem;
	}
	#main_container .sec02 .map-wrapper .map {
		display: none;
	}
	#main_container .sec02 .map-wrapper .map-mobile {
		display: block;
		margin: 0 auto;
	}

	#main_container .sec02 .map-wrapper {
		width: 100%;
	}

	#main_container .sec03 .program-poster-container {
		width: 100%;
	}

	#main_container .sec03 .program-poster-container .poster-item-wrapper {
		display: flex;
		column-gap: 0;
	}

	#main_container .sec04 .article-area {
		flex-direction: column;
		row-gap: 5rem;
		width: 100%;
	}
	#main_container .sec04 .article-area > div {
		width: 100%;
	}
	#main_container .sec04 .article-area .title-wrapper {
		padding-left: 1rem;
		padding-right: 1rem;
	}
	#main_container .sec04 .article-area .articles li {
		border: none;
		border-bottom: 0.1rem solid #ffffff;
		margin-bottom: 0;
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
	#main_container .sec04 .article-area .articles li:first-child {
		border-top: 0.1rem solid #ffffff;
	}
	#main_container .sec04 .article-area .articles li > a {
		display: flex;
		justify-content: space-between;
	}
	#main_container .sec04 .article-area .articles li > a .subject {
		width: 80%;
	}
}
@media (max-width:575.98px) {
	#main_container {
		margin-top: 12rem;
	}
	#main_container .sec02 .text-area .intro-link-btn {
		padding: 1.2rem 1.5rem 1rem;
		font-size: 2rem;
		text-align:center;
	}
	#main_container .sec02 .text-area h2 > img {
		width:100%;
	}
	#main_container .sec02 .text-area h3 {
		font-size:3.4rem;
	}
	#main_container .sec02 .text-area h3 > span {
		font-size:4rem;
	}
	#main_container .panel .text-area h4 {
		font-size:8rem;
		line-height:1;
	}
}