@keyframes transform {
    0%, 100% { border-radius: 63% 37% 54% 46% / 55% 48% 52% 45%; }
    14% { border-radius: 40% 60% 54% 46% / 49% 60% 40% 51%; }
    28% { border-radius: 54% 46% 38% 62% / 49% 70% 30% 51%; }

    14% { border-radius: 61% 39% 55% 45% / 61% 38% 62% 39%; }
    56% { border-radius: 61% 39% 67% 33% / 70% 50% 50% 30%; }

    70% { border-radius: 50% 50% 34% 66% / 56% 68% 32% 44%; }
    84% { border-radius: 46% 54% 50% 50% / 35% 61% 39% 65%; }
}
@keyframes morph{
	0%,100%{
		border-radius: 42% 58% 70% 30% / 45% 45% 55% 55%;
		transform: translate3d(0,0,0) rotateZ(0.01deg);
	}
	34%{
		border-radius: 70% 30% 46% 54% / 30% 29% 71% 70%;
		transform:  translate3d(0,5px,0) rotateZ(0.01deg);
	}
	50%{
		opacity: .89;
		transform: translate3d(0,0,0) rotateZ(0.01deg);
	}
	67%{
		border-radius: 100% 60% 60% 100% / 100% 100% 60% 60% ;
		transform: translate3d(0,-3px,0) rotateZ(0.01deg);
	}
}
@keyframes ani01 {
    0% { transform: translate(0, 0px); }
    100% { transform: translate(10px, 0px); }
}
@keyframes ani02 {
    0% { transform: translate(0, 0px); }
    100% { transform: translate(0px, -10px); }
}
@keyframes rotate_image{
    100% { transform: rotate(360deg); }
}
@keyframes popIn {
	0% { transform: scaleY(0); opacity: 0; }
	100% { transform: scaleY(1); opacity: 1; }
}

@keyframes fadein {
    from {
        opacity: 0; transform: translateY(1rem);
    }
    to {
        opacity: 1; transform: translateY(0);
    }
}

.scroll_on { opacity: 0; transition: all 2s;}
.scroll_on.active {opacity: 1 !important; transform: translate(0, 0) !important;}
.scroll_on.type_top {transform: translate(0, -50px);}
.scroll_on.type_bottom {transform: translate(0, 50px);}
.scroll_on.type_left {transform: translate(-50px, 0);}
.scroll_on.type_right {transform: translate(50px, 0);}

.scroll_on02 { transition: all 1s; }
.scroll_on02.active {  }

.wrap { position: relative; width: 96%; margin: 0 auto; }
.sub_vis .wrap, .sub_contents .wrap { position: relative; width: 1440px; margin: 0 auto; }

/* head */
.head { position: absolute; top: 0px; left: 0px; width: 100%; z-index: 999; }
.head.scrolled { position: fixed; left: 0; top: 0; width: 100%; z-index: 999; }
.head.on { background: #fff; }

.head_inr { position: static; display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; height: 100px;}
.head.scrolled .head_inr { height: 100px; background: rgba(255, 255, 255, 1); border: none; backdrop-filter: blur(10px); }

.brand_logo { position: relative; margin: 0 50px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: auto; }
.brand_logo a { color: #fff; font-size: 26px; font-weight: 800; letter-spacing: -0.02em; }
.head.scrolled .brand_logo a, .head.on .brand_logo a { color: #222; }

.snsbox { position: absolute; top: 30px; right: 90px; z-index: 9; transition: transform 0.4s ease; }
.sns_list { display: flex; flex-wrap: wrap; }
.sns_list li { margin: 0 5px; }
.sns_list li:first-child { margin-left: 0px; }
.sns_list li:last-child { margin-right: 0px; }
.sns_list li a { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 40px; height: 40px; background:rgba(255, 255, 255, 0.1); border-radius: 500px; color: #fff; font-size: 20px; transition: transform 0.4s ease; }
.head.on .sns_list li a, .head.scrolled .sns_list li a { background: rgba(0, 0, 0, 0.1); color: #333; }

/* .sns_list li a.icon_facebook:hover { background: #3b5998; }
.sns_list li a.icon_naver:hover { background: #2db400; }
.sns_list li a.icon_insta:hover { background: linear-gradient(0deg, #f9ce34, #ee2a7b, #6228d7); }
.sns_list li a.icon_youtube:hover { background: #ff0000; } */
.sns_list li a:hover { animation: ani02 0.3s infinite alternate; /* box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1); */ }

.head.on .head_inr { background: transparent; backdrop-filter: none; border-bottom: 1px solid rgba(0, 0, 0, 0.1); }

.menu_inr { display: flex; flex-wrap: wrap; }
.menu_inr li { padding: 0 30px; }
.menu_inr li > a { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; height: 100px; color: #fff; font-size: 1em; font-weight: 600; transition: 0.3s; }
.menu_inr li:hover > a {  }
.head.scrolled .menu_inr li > a, .head.on .menu_inr li > a { color: #222; }

.smenu { overflow: hidden; display: block; position: fixed; top: 99px; left: 0; z-index: 99; width: 100%; height: 0px; padding: 0px 50px; background: #fff url('../image/top/smenu_bg01.png') top -80px center no-repeat; border-top: 0px solid #ddd; border-radius: 0px; transition: 0.3s; }
.menu_inr li:hover > .smenu { display: flex; height: auto; padding: 50px 50px; box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1); border-top: 1px solid #ddd; }

.smenu_title { display: flex; flex-direction: column; flex-wrap: wrap; justify-content: center; width: 30%; min-height: 130px; padding-right: 50px; }
.smenu_title h3 { margin-bottom: 15px; color: #22282d; font-size: 35px; font-weight: 800; letter-spacing: -0.025em; }
.smenu_title p { color: #aaa; font-size: 1em; word-break: keep-all; line-height: 1.5; letter-spacing: -0.03em; }

.smenu_innr { align-content: center; justify-content: flex-start; align-items: center; display: none; width: 70%; }
.menu_inr li:hover > .smenu > .smenu_innr { display: flex; z-index: 9; }

.smenu_innr dl { display: flex; flex-wrap: wrap; gap: 10px 1.33%; width: 100%; }
.smenu_innr dl dd { position: relative; display: flex; flex-wrap: wrap; align-items: center; width: 24%; height: 60px; }
.smenu_innr dl dd:nth-child(3n+1) { margin-left: 0%; }
.smenu_innr dl dd a { overflow: hidden; position: relative; display: flex; flex-wrap: wrap; align-items: center; width: 100%; height: 100%; padding: 0 20px; background: #f4f4f4; border-radius: 3px; color: #222; font-size: 0.9em; font-weight: 500; letter-spacing: -0.03em; transition: 0.3s; }
.smenu_innr dl dd a:hover, .smenu_innr dl dd a:hover:after { color: #222; }
.smenu_innr dl dd a:hover { background: #222; color: #fff; box-shadow: 0 0px 30px rgba(0, 0, 0, 0.2); }
.smenu_innr dl dd a:after { content: '\e907'; display: flex; flex-wrap: wrap; align-items: center; position: absolute; top: 20px; right: 10px; height: auto; font-family: 'xeicon'; color: #666; font-size: 20px; transition: 0.3s; transform: rotate(315deg); }
.smenu_innr dl dd a:hover:after { color: #fff; }

.smenu_innr dl dd.pic_menu { height: 120px; }
.smenu_innr dl dd.pic_menu a { padding: 0; background: #000; border: none !important;}
.smenu_innr dl dd.pic_menu a img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: grayscale(60%); opacity: 0.8; transition: 0.3s; }
.smenu_innr dl dd.pic_menu:hover a img { filter: grayscale(0%); opacity: 1; }
.smenu_innr dl dd.pic_menu a span { position: absolute; left: 0px; bottom: 0px; width: 100%; padding: 20px; background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent); color: #fff; font-size: 1.1em; font-weight: 600; }
.smenu_innr dl dd.pic_menu a:after { top: 10px; color: #fff; font-size: 25px; }
.smenu_innr dl dd.pic_menu a:hover:after { color: #fff; }

nav.mobile_menu { position: fixed; top: -100vh; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; width: 100%; height: 100vh; z-index: 9001; background: rgba(0, 0, 0, 0.95); border-bottom-right-radius: 100%; border-bottom-left-radius: 100%; transition: all 650ms cubic-bezier(1,0,0,1); }
nav.mobile_menu.open { top: 0; border-radius: initial; }

.menu-toggler { position: fixed; top: 40px; right: 2%; width: 30px; height: 19px; display: flex; flex-direction: column; justify-content: space-between; z-index: 9999; transition: all 650ms ease-out; cursor: pointer; }
.menu-toggler.open { position: fixed; transform: rotate(-45deg); }
.bar { background-color: #fff; width: 100%; height: 2px; border-radius: 0.8rem; }
.menu-toggler.on .bar, .scrolled .menu-toggler .bar, .body_on .menu-toggler .bar { background-color: #222; }
.open .bar, .scrolled .open .bar, .body_on .open .bar { background-color: #fff; }
.bar.half { width: 50%; }
.bar.top { transform-origin: right; transition: transform 650ms cubic-bezier(0.54, -0.81, 0.57, 0.57); }
.open .bar.top { transform: rotate(-450deg) translateX(0.45rem); }
.bar.bottom { align-self: flex-end; transform-origin: left; transition: transform 650ms cubic-bezier(0.54, -0.81, 0.57, 0.57); }
.open .bar.bottom { transform: rotate(-450deg) translateX(-0.45rem); }

.nav-inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; width: 90%; height: 100%; margin: 0 auto; }
.nav-inner .sns_list { position: absolute; right: 110px; bottom: 20px; }

.nav-list { display: flex; flex-wrap: wrap; width: 100%; height: 100%; }
.nav-list > li { flex: 1; display: flex; flex-wrap: wrap; align-content: center; text-align: left; position: relative; padding: 0 30px; border-left: 1px solid rgba(255, 255, 255, 0.1); }
.nav-list > li:first-child { border-left: none; }
.nav-list > li:last-child { margin-bottom: 0px; }
.nav-list > li > a { position: relative; width: auto; color: #fff; font-size: 32px; font-weight: 600; }
.nav-link { padding: 1rem; font-size: 2rem; }
.nav-link:hover, .nav-link:focus { color: #fff; }

.nav-inner ul ul { /* display: none;*/ display: block; width: 100%; height: 360px; margin-top: 30px; }
.nav-inner ul ul li { margin-bottom: 15px; }
.nav-inner ul ul li a { display: inline-block; padding: 0px; color: rgba(255, 255, 255, 0.5); font-size: 20px; font-weight: 400; line-height: 1.8; text-decoration: none; transition: all 0.3s; }
.nav-inner ul ul li a:hover { color: rgba(255, 255, 255, 1); animation: ani01 0.3s infinite alternate; }
.nav-inner ul ul li a:before { display: none; height: 1px; }

/* footer */
.footer_banner { position: relative; display: flex; flex-wrap: wrap; background: #111; }
.sub_body .footer_banner { border-top: 1px solid #ddd; }
.footer_banner:after { content:''; position: absolute; top: 0px; left: 0px; width: 100%; height: 1px; background: rgba(255, 255, 255, 0.15); z-index: -1; }
.footer_banner:before { content:''; position: absolute; bottom: 0px; left: 0px; width: 100%; height: 1px; background: rgba(255, 255, 255, 0.15); z-index: -1; }
.footer_banner .banner_inr { width: 50%; }
.footer_banner .banner_inr01 { display: flex; flex-wrap: wrap; justify-content: flex-end; }
.footer_banner .banner_inr02 {  }
.footer_banner .banner_inr .banner_inr_in { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; width: 800px; height: 180px; }
.footer_banner .banner_inr01 .banner_inr_in { padding-right: 50px; }
.footer_banner .banner_inr02 .banner_inr_in { padding-left: 50px; }
.footer_banner .banner_inr .banner_inr_in .textbox h3 { color: #fff; font-size: 32px; font-weight: 900; margin-bottom: 10px; }
.footer_banner .banner_inr .banner_inr_in .textbox p { color: rgba(255, 255, 255, 0.6); }
.footer_banner .banner_inr .banner_inr_in .footer_banner_btn {
	position: relative;
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: 200px;
	height: 60px;
	padding: 0 20px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 3px;
	color: #fff;
	font-size: 1em;
	font-weight: 600;
	letter-spacing: -0.03em;
	transition: all 0.3s;
}
.footer_banner .banner_inr .banner_inr_in .footer_banner_btn:hover { background: #fff; color: #222; }
.footer_banner .banner_inr .banner_inr_in .footer_banner_btn i { font-weight: bold; transition: all 0.3s; transform: rotate(0deg); }
.footer_banner .banner_inr .banner_inr_in .footer_banner_btn:hover i { transform: rotate(315deg); }

.link_list { display: flex; flex-wrap: wrap; }
.link_list li { margin: 0 5px; }
.link_list li:first-child { margin-left: 0px; }
.link_list li:last-child { margin-right: 0px; }
.link_list li a { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 50px; height: 50px; background:rgba(255, 255, 255, 0.1); border-radius: 500px; color: #fff; font-size: 25px; transition: transform 0.4s ease; }
.link_list li a:hover { animation: ani02 0.3s infinite alternate; }
.link_list li a.icon_facebook:hover { background: #3b5998; }
.link_list li a.icon_naver:hover { background: #2db400; }
.link_list li a.icon_insta:hover { background: linear-gradient(0deg, #f9ce34, #ee2a7b, #6228d7); }
.link_list li a.icon_youtube:hover { background: #ff0000; }

.footer_partner { padding: 25px 0; border-bottom: 1px solid #ddd; }

.footer { position: relative; padding: 50px 0; color: #666; font-size: 0.9em; }
.footer .wrap { display: flex; flex-direction: row-reverse; flex-wrap: wrap; justify-content: space-between; align-items: center; max-width: 1600px; }
.footer_info {  }
.footer_logo { margin-bottom: 20px; }
.footer_info_in { margin-bottom: 10px; }
.footer_info_in span { position: relative; display: inline-block; padding: 0 10px; }
.footer_info_in span:first-child{ padding-left: 0px; }
.footer_info_in span:last-child{ padding-right: 0px; }
.footer_info_in span:after { content:''; position: absolute; top: 20%; right: 0px; width: 1px; height: 60%; background: #888; }
.footer_info_in span:last-child:after { display: none; }
.footer_info_in span.strong_txt { font-weight: 500; }
.footer_info p { color: #aaa; }

.footer_menubox { display: flex; flex-direction: column; flex-wrap: wrap; gap: 10px 0; }
.footer_menu { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 160px; height: 45px; background: #f4f4f4; border-radius: 3px; color: #555; font-size: 0.9em; }
.footer_menu:hover { animation: ani02 0.3s infinite alternate; }

.fixed_quick { position: fixed; z-index: 99999; bottom: 20px; right: 20px; }
.quick {
	display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; text-align: center;
	width: 70px; /* 크기 */
	height: 70px; /* 크기 */		
	background: #222;
	box-sizing: border-box;
	box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
	border-radius: 10px;
	color: #fff;
	cursor: pointer;
}
.quick i { font-size: 28px; }
.quick:hover { }
.quick:hover i {  } /* 마우스오버시 svg 아이콘의 fill 변경 */

/* 퀵메뉴 개별 스타일 */
.quick1 { display: none; background: #F7E600; }
.quick2 { display: none; background: #fff; margin-top: 8px; }
.quick3 { display: none; height: auto; padding: 20px 5px; background: #fff; }
.quick4 { margin-top: 10px; }

.quick_btn { display: inline-flex; flex-direction: column; flex-wrap: wrap; justify-content: center; align-items: center; text-align: center; width: 100%; color: rgba(0, 0, 0, 0.6); font-size: 13px; font-weight: 600; line-height: 1.1; letter-spacing: -0.03em; transition: all 0.3s; }
.quick_btn01, .quick_btn02 { margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
.quick_btn .icon { display: inline-flex; flex-wrap: wrap; width: 24px; height: 21px; margin-bottom: 5px; }
.quick_btn01 .icon { background: url('../image/footer/quick_icon01_bl.png') top center no-repeat; background-size: 24px; }
.quick_btn02 .icon { background: url('../image/footer/quick_icon02_bl.png') top center no-repeat; background-size: 24px; }
.quick_btn03 .icon { background: url('../image/footer/quick_icon03_bl.png') top center no-repeat; background-size: 24px; }
.quick_btn01:hover .icon { background: url('../image/footer/quick_icon01_bl.png') bottom center no-repeat; background-size: 24px; }
.quick_btn02:hover .icon { background: url('../image/footer/quick_icon02_bl.png') bottom center no-repeat; background-size: 24px; }
.quick_btn03:hover .icon { background: url('../image/footer/quick_icon03_bl.png') bottom center no-repeat; background-size: 24px; }
.quick_btn:hover { color: #333; }

/* main */
.swiper { width: 100%; height: 100%; }
.swiper-slide {  }
.swiper-slide img { display: block; width: 100%; height: 100%; object-fit: cover; }

.main_vis { position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 100%; height: 100vh; margin-bottom: 180px; z-index:1; }
.main_vis:after { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 50%; background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent); z-index: 9; }

.main_vis .pc_mainvis_box, .main_vis .m_mainvis_box { width: 100%; height: 100%; }
.m_mainvis_box { display: none; }

.main_btn { position: relative; display: inline-flex; flex-wrap: wrap; justify-content: space-between; align-items: center; color: #444; font-size: 72px; font-weight: 600; transition:all 0.3s; transform: rotate(0deg); }
.swiper-slide-active .main_btn { animation:fadein 1s ease-in-out 1 forwards }
.main_btn:hover { color: #000; transform: rotate(315deg); }
.main_btn span { position: absolute; top: 5px; right: 5px; display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 50px; height: 50px; background: rgba(255, 255, 255, 1); border-radius: 500px; color: #e4007f; font-size: 19px; transition:all 0.3s; }
.main_btn:hover span { background: rgba(255, 255, 255, 1); }

.waves_box { position: absolute; bottom: 0; left: 0; width: 100%; z-index: 9; }
.waves { position:relative; width: 100%; margin-bottom:-7px; min-height:100px; max-height:150px; height:15vh; }

/* Animation */
.parallax > use { animation: move-forever 25s cubic-bezier(.55,.5,.45,.5) infinite; }
.parallax > use:nth-child(1) { animation-delay: -2s; animation-duration: 7s; }
.parallax > use:nth-child(2) { animation-delay: -3s; animation-duration: 10s; }
.parallax > use:nth-child(3) { animation-delay: -4s; animation-duration: 13s; }
.parallax > use:nth-child(4) { animation-delay: -5s; animation-duration: 20s; }
@keyframes move-forever {
	0% { transform: translate3d(-90px,0,0); }
	100% { transform: translate3d(85px,0,0); }
}

.main_con { padding: 0px 0 180px; }
.main_con_title { position: relative; margin-bottom: 80px; }
.main_con_title.left_title { text-align: left; }
.main_con_title h3 { font-size: 55px; font-weight: 800; line-height: 1; }
.main_con_title h3 span { display: block; margin-bottom: 20px; color: rgba(0, 0, 0, 0.2); font-size: 20px; font-weight: 800; }
.main_con_title p { margin-top: 30px; color: rgba(0, 0, 0, 0.5); font-size: 20px; }
.main_con_title p.color_wh { color: rgba(255, 255, 255, 0.5); }
.main_con_more { position: absolute; right: 0px; bottom: 0px; z-index: 9; display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 70px; height: 70px; background: linear-gradient(315deg, rgba(188, 0, 228, 1), rgba(228, 0, 127, 1)); border-radius: 500px; color: #fff; font-size: 23px; animation: morph 3s linear infinite; }
.main_con_more:hover {  }

.main_title { text-align: center; padding: 0px 0 150px; }
.main_title h2 { margin-bottom: 50px; font-size: 75px; font-weight: 800; letter-spacing: -0.03em; }
.main_title h2 span { display: inline-block; animation: waveLoop 3s ease-in-out infinite; }
.main_title h2 span:nth-child(1) { animation-delay: 0s; }
.main_title h2 span:nth-child(2) { animation-delay: 0.1s; }
.main_title h2 span:nth-child(3) { animation-delay: 0.2s; }
.main_title h2 span:nth-child(4) { animation-delay: 0.3s; }
.main_title h2 span:nth-child(5) { animation-delay: 0.4s; }
.main_title h2 span:nth-child(6) { animation-delay: 0.5s; }
.main_title h2 span:nth-child(7) { animation-delay: 0.6s; }
.main_title h2 span:nth-child(8) { animation-delay: 0.7s; }
.main_title h2 span:nth-child(9) { animation-delay: 0.8s; }
.main_title h2 span:nth-child(10) { animation-delay: 0.9s; }
.main_title h2 span:nth-child(11) { animation-delay: 1s; }
.main_title h2 span:nth-child(12) { animation-delay: 1.1s; }
.main_title h2 span:nth-child(13) { animation-delay: 1.2s; }
.main_title h2 span:nth-child(14) { animation-delay: 1.3s; }
.main_title h2 span:nth-child(15) { animation-delay: 1.4s; }
.main_title h2 span:nth-child(16) { animation-delay: 1.5s; }
.main_title h2 span:nth-child(17) { animation-delay: 1.6s; }
.main_title h2 span:nth-child(18) { animation-delay: 1.7s; }
.main_title h2 span:nth-child(19) { animation-delay: 1.8s; }
.main_title h2 span:nth-child(20) { animation-delay: 1.9s; }
.main_title h2 span:nth-child(21) { animation-delay: 2s; }
.main_title h2 span:nth-child(22) { animation-delay: 2.1s; }
.main_title h2 span:nth-child(23) { animation-delay: 2.2s; }
.main_title h2 span:nth-child(24) { animation-delay: 2.3s; }
.main_title h2 span:nth-child(25) { animation-delay: 2.4s; }
.main_title h2 span:nth-child(26) { animation-delay: 2.5s; }
.main_title h2 span:nth-child(27) { animation-delay: 2.6s; }
.main_title h2 span:nth-child(28) { animation-delay: 2.7s; }
.main_title h2 span:nth-child(29) { animation-delay: 2.8s; }
.main_title h2 span:nth-child(30) { animation-delay: 2.9s; }
.main_title h2 span:nth-child(31) { animation-delay: 3s; }
.main_title h2 span:nth-child(32) { animation-delay: 3.1s; }
.main_title h2 span:nth-child(33) { animation-delay: 3.2s; }
.main_title h2 span:nth-child(34) { animation-delay: 3.3s; }
.main_title h2 span:nth-child(35) { animation-delay: 3.4s; }
.main_title h2 span:nth-child(36) { animation-delay: 3.5s; }
.main_title h2 span:nth-child(37) { animation-delay: 3.6s; }
.main_title h2 span:nth-child(38) { animation-delay: 3.7s; }
.main_title h2 span:nth-child(39) { animation-delay: 3.8s; }

@keyframes waveLoop {
	0%, 33%, 100% {
		transform: translateY(0);
	}
	16.5% {
		transform: translateY(-30px);
	}
}

.main_title p { font-size: 32px; font-weight: 400; }

.main_con01_cont { max-width: 100%; }

.main_con02 { position: relative; margin-bottom: 180px; padding: 180px 0 180px; background: #f7f7f7; }
.main_con02_cont { position: relative; z-index: 9; display: flex; flex-wrap: wrap; }
.main_con02_cont > div { position: relative; }
.main_con02_left { overflow: hidden; position: relative; display: inline-flex; flex-wrap: wrap; width: 32%; margin-right: 2%; }
.main_con02_textbox { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; }
.main_con02_left h4 { position: absolute; top: 30px; left: 30px; z-index: 9; }
.main_con02_left h4 span { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; height: 40px; padding: 0 30px; background: linear-gradient(270deg, rgba(188, 0, 228, 1), rgba(228, 0, 127, 1)); border-radius: 500px; font-size: 18px; }
.main_con02_right { width: 66%; padding: 50px; }
.main_con02_right h4 { margin-bottom: 30px; }
.main_con02_right h4 span { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; height: 40px; padding: 0 30px; background: linear-gradient(270deg, rgba(188, 0, 228, 1), rgba(228, 0, 127, 1)); border-radius: 500px; font-size: 18px; }
.main_con02_deco { position: absolute; right: 5%; bottom: -100px; animation: rotate_image 20s linear infinite; transform-origin: 50% 50%; z-index: 1; }

.main_con03 { position: relative; }
.main_con03_banner { position: absolute; bottom: 50px; z-index:-1; overflow: hidden; width: 100%; height: 135px; }
.main_con03_banner span { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; margin: 0 10px; color: rgba(0, 0, 0, 0.05); font-size: 152px; font-weight: 900; line-height: 1; }

.main_con05 { padding-bottom: 180px; }
.main_con05_cont { display: flex; flex-wrap: wrap; align-items: flex-start; padding-bottom: 50px; }
.main_con05_inr { position: relative; width: 32%; margin-left: 2%; }
.main_con05_inr:first-child { margin-left: 0%; }
.main_con05_inr01, .main_con05_inr02 { position:relative; background: rgba(255, 255, 255, 0.1); border-radius: 10px; }
.main_con05_inr01:after, .main_con05_inr02:after { content: ""; display: block; padding-bottom: 100%; }
.main_con05_inr01 { background: url('../image/main/main_con04_bg01.jpg') center center no-repeat; background-size: cover; }
.main_con05_inr02 { overflow: hidden; top: 30px; transform: translateY(20px); transition: box-shadow 0.3s, transform 0.3s, background-color 0.3s; }
.main_con05_inr02:hover { transform: unset; }
.main_con05_inr03 { top: -40px; }
.main_con05_inr h4 { margin-bottom: 20px; }
.main_con05_inr02 h4 { position: absolute; top: 30px; left: 30px; z-index: 9; }
.main_con05_inr h4 span { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; height: 40px; padding: 0 30px; background: linear-gradient(270deg, rgba(188, 0, 228, 1), rgba(228, 0, 127, 1)); border-radius: 500px; font-size: 18px; }

.main_con05_textbox { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; padding: 30px; }
.main_con05_inr02 .main_con05_textbox { padding: 0; }
.main_con05_list01 { display: flex; flex-wrap: wrap; }
.main_con05_list01 li { position:relative; width: 50%; }
.main_con05_list01 li:after { content: ""; display: block; padding-bottom: 80%; }
.main_con05_list01 li:nth-child(1), .main_con05_list01 li:nth-child(2) { margin-bottom: 15px; }
.main_con05_list01 li a { position: absolute; top: 0px; left: 0px; display: flex; flex-wrap: wrap; align-content: center; justify-content: center; align-items: center; width: 100%; height: 100%; }
.main_con05_list01 li a:hover { animation: ani02 0.3s infinite alternate; }
.main_con05_list01 li a h5 { display: block; text-align: center; width: 100%; font-size: 24px; }

.main_con05_list01 li a .icon { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 110px; height: 91px; margin-bottom: 20px; transition:all 0.3s; }
.main_con05_list01 li a .icon01 { background: url('../image/main/main_con04_icon01.png') center top no-repeat; }
.main_con05_list01 li a .icon02 { background: url('../image/main/main_con04_icon02.png') center top no-repeat; }
.main_con05_list01 li a .icon03 { background: url('../image/main/main_con04_icon03.png') center top no-repeat; }
.main_con05_list01 li a .icon04 { background: url('../image/main/main_con04_icon04.png') center top no-repeat; }
.main_con05_list01 li a:hover .icon01, .main_con05_list01 li a .icon01:hover { background: url('../image/main/main_con04_icon01.png') center bottom no-repeat; }
.main_con05_list01 li a:hover .icon02, .main_con05_list01 li a .icon02:hover { background: url('../image/main/main_con04_icon02.png') center bottom no-repeat; }
.main_con05_list01 li a:hover .icon03, .main_con05_list01 li a .icon03:hover { background: url('../image/main/main_con04_icon03.png') center bottom no-repeat; }
.main_con05_list01 li a:hover .icon04, .main_con05_list01 li a .icon04:hover { background: url('../image/main/main_con04_icon04.png') center bottom no-repeat; }

.main_con05_inr03 .banner { position: relative; padding: 50px 50px; padding-right: 28%; background-color: #1e1f23; border-radius: 10px; transform: translateY(20px); transition: box-shadow 0.3s, transform 0.3s, background-color 0.3s; }
.main_con05_inr03 .banner:hover { transform: unset; }
.main_con05_inr03 .banner01 { margin-bottom: 30px; }
.main_con05_inr03 .banner:after { content:''; position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; border: 5px solid transparent; border-radius: 10px; }
.main_con05_inr03 .banner:hover:after { background-image: linear-gradient(#1e1f23, #1e1f23), linear-gradient(270deg, rgba(188, 0, 228, 1), rgba(228, 0, 127, 1)); background-origin: border-box; background-clip: content-box, border-box; }
.main_con05_inr03 .banner:before { content:''; position: absolute; right: 30px; top: 30px; width: 80px; height: 70px; z-index: 8; }
.main_con05_inr03 .banner01:before { background: url('../image/main/main_con04_icon05.png') center center no-repeat; }
.main_con05_inr03 .banner02:before { background: url('../image/main/main_con04_icon06.png') center center no-repeat; }

.main_con05_inr03 .banner h4 { position: relative; z-index: 9; font-size: 36px; font-weight: 800; }
.main_con05_inr03 .banner p { position: relative; z-index: 9; color: rgba(255, 255, 255, 0.6); font-size: 1.15em; letter-spacing: -0.03em; word-break: keep-all; line-height: 1.5; }
.main_con05_inr03 .banner .main_con04_more { position: absolute; right: 40px; bottom: 30px; z-index: 9; display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 60px; height: 60px; background: #2d2f35; border-radius: 500px; font-size: 23px; transition:all 0.3s; animation: ani02 0.3s infinite alternate; }
.main_con05_inr03 .banner:hover .main_con04_more, .main_con05_inr03 .banner .main_con04_more:hover { background: linear-gradient(315deg, rgba(188, 0, 228, 1), rgba(228, 0, 127, 1)); border-color: transparent; }

.main_con06 { position: relative; }
.main_con06 .wrap { display: flex; flex-wrap: wrap; }
.main_con06 .main_con_title, .main_con03 .main_con_title { position: relative; width: 100%; }
.main_con06 .main_con_title .main_btn, .main_con03 .main_con_title .main_btn { position: absolute; right:0px; bottom: 0px; z-index: 9; margin-top: 0px; }
.main_con06 .main_con06_cont { width: 100%; }

.main_con07 { position: relative; }
.main_con07_list { display: flex; flex-wrap: wrap; justify-content: center; }
.main_con07_list li { margin: 0 50px; }
.main_con07_list .imgbox { display: inline-block; position: relative; margin-bottom: 30px; padding: 15px; border: 2px dashed rgba(255, 255, 255, 0.3); border-radius: 500px; }
.main_con07_list .imgbox:after { content: ''; position: absolute; left: calc(50% - 5px); bottom: -6px; width: 10px; height: 10px; background: #fff; border-radius: 10px; }
.main_con07_list .imgbox img { max-width: 100%; }
.main_con07_list .textbox { text-align: center; }
.main_con07_list .textbox h4 { margin-bottom: 15px; color: #fff; font-size: 32px; }
.main_con07_list .textbox p { color: rgba(255, 255, 255, 0.8); font-size: 1.1em; line-height: 1.5; word-break: keep-all; }

/* 아코디언 슬라이드 */
.accordion-slider {
	display: flex;
	gap: 20px;
	height: 600px;
	/* overflow: hidden; */
}

.accordion-item {
	position: relative;
	flex: 1;
	overflow: hidden;
	cursor: pointer;
	border-radius: 15px;
	transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* 비활성 상태 - 흑백 필터 */
.accordion-item:not(.active) {
	filter: grayscale(100%);
}

/* 활성 상태 */
.accordion-item.active {
	flex: 4;
	filter: grayscale(0%);
}

.accordion-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s;
}

.accordion-item:hover img {
	transform: scale(1.05);
}

.accordion-item .goto-btn { right: 40px; bottom: 40px; }
.accordion-item.active .goto-btn {
	opacity: 1;
	transform: scale(1);
}

/* 텍스트 오버레이 */
.accordion-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 40px;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
	color: #fff;
	opacity: 0;
	transform: translateY(20px);
	transition: all 0.4s;
}

.accordion-item.active .accordion-content {
	opacity: 1;
	transform: translateY(0);
}

.accordion-content h3 {
	font-size: 45px;
	font-weight: 700;
	margin-bottom: 15px;
	line-height: 1.3;
}

.accordion-content p { font-size: 1.1em; line-height: 1.5; opacity: 0.95; }

/* sub */
.sub_vis { position: relative; display: flex; flex-wrap: wrap; align-items: center; width: 100%; height: 550px; padding-top: 90px; background: url('../image/sub/sub_vis_img01.jpg') center top no-repeat; background-size: cover; color: #fff; }
.sub_vis .wrap { display: flex; flex-wrap: wrap; align-items: center; height: 100%; }
.sub_title { position: relative; z-index: 9; }
.sub_title p { display: flex; flex-wrap: wrap; align-items: center; margin-bottom: 30px; color: rgba(255, 255, 255, 0.3); font-size: 1em; text-transform: uppercase; letter-spacing: -0.02em; }
.sub_title p > i { margin: 0 5px; }
.sub_title p .title { color: #fff; font-weight: 800; }
.sub_title h2 { font-size: 65px; font-weight: 900; line-height: 1; }

.sidebar { position: absolute; left: 0; bottom: 10px; z-index: 90; display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; width: 100%; margin-bottom: 0px; }
.sidebar .sidebar_inr { position: relative; display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 0 5px; }
.sidebar .home { position: relative; z-index: 9; width: 60px; height: 60px; background: linear-gradient(270deg, rgba(188, 0, 228, 1), rgba(228, 0, 127, 1)); border-radius: 10px; box-shadow: 0 0px 20px rgba(0, 0, 0, 0.1); }
.sidebar .home a { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 100%; height: 100%; font-size: 1.3em; color: #fff; transition: 0.3s; }
.sidebar .depth { position: relative; }
.sidebar .depth_1 { width: 250px; }
.sidebar .depth_2 { width: 250px; margin-left: -2px; }
.sidebar .depth_1:before { display: none; }
.sidebar .depth_2:after { content:''; position: absolute; right: 0px; top: 0%; width: 1px; height: 100%; background: #ddd; display: none; }
.sidebar .depth_title { position: relative; width: 100%; height: 60px; padding: 0 30px; text-align: left; background: #fff; border: none; border-radius: 10px; color: #121212; font-weight: 600; transition: 0.3s; box-shadow: 0 0px 20px rgba(0, 0, 0, 0.1); }
.sidebar .depth_title:after { content:"\e942"; position: absolute; top: calc(50% - 7px); right: 15px; font-family: 'xeicon' !important; color: #666; transition: 0.3s; }
.sidebar .depth_title:hover:after { color: #222; }
.sidebar .depth .sub_ul { position: absolute; left: 0px; top: calc(100% - 2px); width: 100%; padding: 20px 0px; background-color: #fff; border-radius: 10px; box-shadow: 0 0px 20px rgba(0, 0, 0, 0.1); }
.sidebar .depth .sub_ul li { padding: 8px 30px; }
.sidebar .depth .sub_ul li a { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; text-align: left; color: #444; font-size: 0.95em; font-weight: 400; transition: 0.3s; }
.sidebar .depth .sub_ul li a:hover { color: #222; text-decoration: underline; }

.sub_contents { font-size: 18px; }
.page_wrap { padding: 100px 0 150px; line-height: 1.6; letter-spacing: -0.025em; }
.board_wrap { padding: 100px 0 150px; }

.menu_tab { margin-bottom: 80px; }
.menu_tab_inr { display: flex; flex-wrap: wrap; align-content: center; justify-content: center; }
.menu_tab_inr li { position: relative; border-bottom: 1px solid #ddd; }
.menu_tab_inr li a { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 240px; height: 60px; color: #888; font-size: 24px; }
.menu_tab_inr li a:hover { color: #222; }
.menu_tab_inr li.active:after { content:''; position: absolute; left: 0px; bottom: -1px; width: 100%; height: 3px; background: #222; }
.menu_tab_inr li.active a { color: #222; font-weight: 700; }

.subpage_inr { position: relative; margin-bottom: 150px; }
.subpage_inr_last { margin-bottom: 0px; }

.subpage_title { margin-bottom: 80px; }
.subpage_title h3 { text-align: center; font-size: 63px; font-weight: 800; line-height: 1; }
.subpage_title h3 span { display: block; margin-bottom: 30px; color: #e4007f; font-size: 20px; text-transform: uppercase; }
.subpage_title p { text-align: center; margin-top: 30px; color: rgba(0, 0, 0, 0.5); font-size: 20px; }

.mb00 { margin-bottom: 0px !important; }

.guide_list01 { display: flex; flex-wrap: wrap; gap: 0 50px; }
.guide_list01 li { position: relative; flex:1; border: 5px solid transparent; border-radius: 25px; transition:all 0.3s; }
.guide_list01 li:hover { border: 5px solid transparent; border-radius: 25px; background-image: linear-gradient(#1e1f23, #1e1f23), linear-gradient(270deg, rgba(188, 0, 228, 1), rgba(228, 0, 127, 1)); background-origin: border-box; background-clip: content-box, border-box; }
.guide_list01 li:after { content: ""; display: block; padding-bottom: 130%; }
.guide_list01 li .guide_contents { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; padding: 80px 50px; background: #222; border-radius: 20px; }
.guide_list01 li .guide_contents.guide_bg01 { background: url('../image/sub/guide_img01.jpg') center center no-repeat; }
.guide_list01 li .guide_contents.guide_bg02 { background: url('../image/sub/guide_img02.jpg') center center no-repeat; }
.guide_list01 li .guide_contents.guide_bg03 { background: url('../image/sub/guide_img03.jpg') center center no-repeat; }
.guide_list01 li .guide_contents .stitle { display: block; margin-bottom: 20px; color: rgba(255, 255, 255, 0.5); }
.guide_list01 li .guide_contents h4 { color: #fff; font-size: 45px; font-weight: 800; letter-spacing: -0.02em; word-break: keep-all; }

.guide_btn { position: absolute; left: calc(50% - 80px); bottom: -30px; display: inline-flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; width: 160px; height: 60px; padding: 0 25px; background: #eee; border-radius: 500px; color: #888; font-weight: 600; transition:all 0.3s; }
.guide_list01 li:hover .guide_btn, .guide_list02 li:hover .guide_btn { color: #222; animation: ani02 0.3s infinite alternate; }
.guide_btn:hover { color: #222; }
.guide_btn span { position: absolute; top: 5px; right: 5px; display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 50px; height: 50px; background: linear-gradient(270deg, rgba(188, 0, 228, 1), rgba(228, 0, 127, 1)); border-radius: 500px; color: #fff; font-size: 19px; transition:all 0.3s; }
.guide_btn:hover span {  }

.guide_inr02_inr { display: flex; flex-wrap: wrap; justify-content: space-between; }
.guide_title { display: flex; flex-wrap: wrap; align-content: center; width: 25%; padding-right: 50px; }
.guide_title h3 { position: relative; margin-bottom: 30px; padding-bottom: 30px; width: 100%; background: linear-gradient(270deg, rgba(188, 0, 228, 1), rgba(228, 0, 127, 1)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; font-size: 65px; font-weight: 900; line-height: 1.1; }
.guide_title h3:after { content:''; position: absolute; left: 0px; bottom: 0px; z-index: 1; width: 100%; height: 1px; background: rgba(0, 0, 0, 0.3); }
.guide_title h3:before { content:''; position: absolute; right: 0px; bottom: -5px; z-index: 2; width: 10px; height: 10px; border-radius: 10px; background: linear-gradient(270deg, rgba(188, 0, 228, 1), rgba(228, 0, 127, 1)); }
.guide_title p { color: rgba(0, 0, 0, 0.6); line-height: 1.6; }
.guide_list02 { display: flex; flex-wrap: wrap; gap: 0 30px; width: 100%; }
.guide_list02 li { position: relative; flex:1; border: 5px solid transparent; border-radius: 25px; transition:all 0.3s; }
.guide_list02 li:hover { border: 5px solid transparent; border-radius: 25px; background-image: linear-gradient(#1e1f23, #1e1f23), linear-gradient(270deg, rgba(188, 0, 228, 1), rgba(228, 0, 127, 1)); background-origin: border-box; background-clip: content-box, border-box; }
.guide_list02 li:after { content: ""; display: block; padding-bottom: 130%; }
.guide_list02 li .guide_contents { position: absolute; top: 0px; left: 0px; text-align: center; width: 100%; height: 100%; padding: 50px 30px; background: #222; border-radius: 20px; }
.guide_list02 li .guide_contents.guide_bg01 { background: url('../image/sub/guide_img01.jpg') center center no-repeat; background-size: cover; }
.guide_list02 li .guide_contents.guide_bg02 { background: url('../image/sub/guide_img02.jpg') center center no-repeat; background-size: cover; }
.guide_list02 li .guide_contents.guide_bg03 { background: url('../image/sub/guide_img03.jpg') center center no-repeat; background-size: cover; }
.guide_list02 li .guide_contents.guide_bg04 { background: url('../image/sub/guide_img04.jpg') center center no-repeat; background-size: cover; }
.guide_list02 li .guide_contents.guide_bg05 { background: url('../image/sub/guide_img05.jpg') center center no-repeat; background-size: cover; }
.guide_list02 li .guide_contents.guide_bg06 { background: url('../image/sub/guide_img06.jpg') center center no-repeat; background-size: cover; }
.guide_list02 li .guide_contents .stitle { display: block; margin-bottom: 20px; color: rgba(255, 255, 255, 0.5); font-size: 16px; word-break: keep-all; }
.guide_list02 li .guide_contents h4 { color: #fff; font-size: 38px; font-weight: 800; letter-spacing: -0.02em; }

/*TAB CSS*/
.tabs { position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0 30px; width: 100%; min-height: 70px; margin-bottom: 50px; padding: 20px 0; background: rgba(0, 0, 0, 0.1); border-radius: 10px; }
.tabs li { position: relative; }
.tabs li a { position: relative; display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; height: 100%; color: #aaa; transition: all 0.3s; }
.tabs li a:hover { color: #fff; }
.tabs li a:before { content: ''; position: absolute; left: 0px; bottom: 0px; width: 0px; height: 1px; background: rgba(255, 255, 255, 0.5); transition: all 0.3s; }
.tabs li a:focus:before, .tabs li a:hover:before, .tabs li a:active:before { width: 100%; }
.tabs li.active a { z-index: 2; color: #fff; }
.tabs li.active a:after { content: ''; display: block; position: absolute; z-index: 5; top: -25px; width: 10px; height: 10px; background: #e4007f; box-shadow: 0 0px 10px #e4007f; border-radius: 10px; transform: translateX(-50%); }
.tabs li.active, .tabs li.active a:hover  { z-index: 2; color: #fff; }

.main_tabs { position: absolute; right: 0; bottom: 0; display: flex; flex-wrap: wrap; gap: 0 0px; width: auto; min-height: auto; margin-bottom: 0; padding: 0; background: transparent; }
.main_tabs li { overflow: hidden; position: relative; padding: 0 20px; }
.main_tabs li:last-child { padding-right: 0px; }
.main_tabs li:after { content:''; position: absolute; top: 15%; right: 0px; width: 2px; height: 70%; background: #bbb; }
.main_tabs li:last-child:after { display: none; }
.main_tabs li a { color: #bbb; font-size: 32px; font-weight: 800; }
.main_tabs li a:hover { color: #222; }
.main_tabs li.active a, .main_tabs li.active a:hover { color: #222; }


/*Tab Conent CSS*/
.tab_container { }
.tab_content { }

.volunteer_list { display: flex; flex-wrap: wrap; justify-content: center; }
.volunteer_list li { position: relative; width: 23%; margin-left: 2.66%; }
.volunteer_list li:nth-child(4n+1) { margin-left: 0%; }
.volunteer_list li:nth-child(-n+4) { margin-bottom: 80px; }
.volunteer_list li:after { content: ""; display: block; padding-bottom: 100%; }
.volunteer_imgbox { overflow: hidden; position: absolute; top: 0px; left: 0px; z-index:1; border-radius: 30px; }
.volunteer_imgbox img { max-width: 100%; }
.volunteer_inr { position: absolute; top: 0px; left: 0px; z-index:3; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 100%; height: 100%; padding: 30px; border-radius: 30px; transition:all 0.3s; }
.volunteer_inr:hover { background: rgba(0, 0, 0, 0.2); backdrop-filter: blur(5px); }
.volunteer_inr h4 { text-align: center; color: #fff; font-size: 32px; font-weight: 800; }
.volunteer_inr h4 .eng_txt { display: block; margin-bottom: 10px; font-size: 14px; text-transform: uppercase; color: rgba(255, 255, 255, 0.7); }
.volunteer_btn { position: absolute; left: calc(50% - 80px); bottom: -30px; z-index:9; display: inline-flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; width: 160px; height: 60px; padding: 0 25px; background: #eee; border-radius: 500px; color: #888; font-weight: 600; transition:all 0.3s; }
.volunteer_list li:hover .volunteer_btn { color: #222; animation: ani02 0.3s infinite alternate; }
.volunteer_btn:hover { color: #222; }
.volunteer_btn span { position: absolute; top: 5px; right: 5px; display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 50px; height: 50px; background: linear-gradient(270deg, rgba(188, 0, 228, 1), rgba(228, 0, 127, 1)); border-radius: 500px; color: #fff; font-size: 19px; transition:all 0.3s; }

.noemail { word-break: keep-all; line-height: 1.6; letter-spacing: -0.02em; }
.noemail_textbox { margin-bottom: 50px; padding: 50px; background: rgba(0, 0, 0, 0.05); border-radius: 10px; }
.noemail h4 { margin-bottom: 30px; font-size: 1.15em; font-weight: 600; }
.noemail p { margin-bottom: 30px; word-break: keep-all; }

.event_seach_noti { margin-bottom: 50px; padding: 50px 50px; background: #f1f4f7; border-radius: 5px; }
.event_seach_noti li { position: relative; margin-bottom: 10px; padding-left: 20px; }
.event_seach_noti li:after { content:''; position: absolute; left: 0px; top: 7px; width: 7px; height: 7px; border: 2px solid #e4007f; border-radius: 500px; }

.event_seach_form { display: flex; flex-wrap: wrap; margin-bottom: 50px; border-top: 1px solid #222; }
.event_seach_form li { width: 50%; padding: 15px 30px; border-bottom: 1px solid #ddd; }
.event_seach_form dl { display: flex; flex-wrap: wrap; }
.event_seach_form dl dt, .event_seach_form dl dd { display: flex; flex-wrap: wrap; align-items: center; }
.event_seach_form dl dt { width: 220px; font-weight: 600; }
.event_seach_form dl dd { width: calc(100% - 220px); }
.event_seach_form dl dd input { width: 100%; }

.event_seach_btnbox { text-align: center; margin-bottom: 80px; }
.event_seach_btn { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 200px; height: 60px; background: linear-gradient(300deg, rgba(188, 0, 228, 1), rgba(228, 0, 127, 1)); color: #fff; font-weight: 600; cursor: pointer; }

.event_seach_list { border-top: 2px solid #222; }
.event_seach_list li { display: flex; flex-wrap: wrap; align-content: center; justify-content: center; text-align: center; width: 100%; min-height: 60px; border-bottom: 1px solid #ddd; }
.event_seach_list li.list_title { border-bottom: 1px solid #aaa; }
.event_seach_list li > div { flex: 1; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; text-align: center; gap: 0 5px; }
.event_seach_list li.list_title > div { font-weight: 700; }
.event_seach_list li .s_btn { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: auto; height: 35px; padding: 0 20px; border-radius: 3px; border: 1px solid #ddd; color: #666; font-size: 14px; transition:all 0.3s; cursor: pointer; }
.event_seach_list li .s_btn:hover { border: 1px solid #aaa; color: #333; }

.registration h3 { text-align: left; margin-bottom: 30px; }
.registration h3 span { position: relative; font-size: 32px; font-weight: 800; line-height: 1; }
.registration h3 span:after { content:''; position: absolute; top: 0; right: -25px; z-index: 2; width: 10px; height: 10px; border-radius: 10px; background: linear-gradient(270deg, rgba(188, 0, 228, 1), rgba(228, 0, 127, 1)); }

.registration_check_box { margin-bottom: 80px; }
.registration_check_inr { display: flex; flex-wrap: wrap; border-top: 2px solid #000; margin-bottom: 30px; }
.registration_check_inr li { width: 50%; }
.registration_check_inr .form_box_inner { display: flex; flex-wrap: wrap; width: 100%; padding: 20px; border-bottom: 1px solid #aaa; }
.registration_check_inr .form_box_inner label { display: inline-flex; flex-wrap: wrap; align-items: center; text-align:left; width:200px; height:50px; font-weight: 800; }
.registration_check_inr .form_box_inner input.gw_input{ width: calc(100% - 200px); padding:0 8px; border-radius:0; }
.registration_check_box .form_btnbox { text-align: center; }
.registration_check_box .form_btn { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 200px; height: 60px; background: #222; border: none; font-family: 'Paperlogy'; color: #fff; font-size: 20px; font-weight: 500; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); cursor:pointer;}

.registration_check .gw_tb01 { border-top:2px solid #000; }
.registration_check .gw_tb01 > ul { display:table; table-layout:auto; width:100%; border-collapse:collapse; }
.registration_check .gw_tb01 > ul > li { display:table-row; width:100%; height:70px; border-bottom:1px solid #aaa; font-size: 0.95em; }
.registration_check .gw_tb01 > ul > li.gw_tb_title { text-align:center; }
.registration_check .gw_tb01 > ul > li.gw_tb_title > div { text-align:center; border-bottom:1px solid #aaa; font-weight: 700; }
.registration_check .gw_tb01 > ul > li > div { display:table-cell; padding:10px 5px; vertical-align:middle; text-align:center; -webkit-transition:all .1s ease; transition:all .1s ease; }
.registration_check .gw_tb01 > ul > li > .num { width:60px; }
.registration_check .gw_tb01 > ul > li > .title { margin: 0; font-weight:800}
.registration_check .gw_tb01 > ul > li > .personnel { width:120px; }
.registration_check .gw_tb01 > ul > li > .date { width:150px; }
.registration_check .gw_tb01 > ul > li.empty_tr { display: block; width: 100%; height: auto; padding: 30px 0; }
.registration_check .gw_tb01 > ul > li > div.empty_box { display: block; width: 100%; }
.registration_check .gw_tb01 > ul > li .view_btn { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 60px; height: 40px; background: #eee; border-radius: 5px; font-size: 15px; font-weight: 500; color: #555; }

.greetings { display: flex; flex-wrap: wrap; align-items: flex-start; }
.greetings_imgbox { overflow: hidden; width: 500px; border-radius: 0 20px; }
.greetings_imgbox img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.greetings_textbox { width: calc(100% - 500px); padding-left: 80px; }
.greetings_title { text-align: center; margin: 10px 0 50px; font-family: 'PuradakGentleGothic'; font-size: 1.8em; font-weight: 400; letter-spacing: -0.02em; line-height: 1.4; word-break: keep-all; }
.greetings_title strong { color: #e4007f; font-weight: 400; letter-spacing: -0.02em; line-height: 1.4; word-break: keep-all; }
.greetings_subtitle{ text-align:center; font-family: 'PuradakGentleGothic'; font-size: 1.8em;}
.greetings_text { font-size: 1em; line-height: 1.5; }
.greetings_text p { margin-bottom: 50px; text-align: justify; color: #444; font-size: 1.05em; word-break: keep-all; }
.greetings_sign { text-align: right; color: #555; }
.greetings_sign span { display: block; font-family: 'Hamchorom'; font-weight: bold; }

.history_title { text-align: center; margin: 0px 0 80px; font-family: 'PuradakGentleGothic'; font-size: 1.8em; font-weight: 400; letter-spacing: -0.02em; line-height: 1.4; word-break: keep-all; }
.history_title strong { color: #e4007f; font-weight: 400; }

/* 년도 탭 네비게이션 */
.year-tabs-box { position: relative; margin-bottom: 80px; }
.year-tabs-wrapper {
    position: relative;
    padding: 10px 30px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.year-tabs {
    position: relative;
}

.history .swiper-wrapper {
    display: flex;
}

.history .swiper-slide {
    width: auto !important;
}

.year-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 100px;
    height: 60px;
    padding: 0 25px;
    background: #fff;
    border: none;
    color: #666;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    white-space: nowrap;
	border-radius: 10px;
}

.year-tab:hover {
    background: #f0f0f0;
    color: #e4007f;
}

.year-tab.active {
    background: #e4007f;
    color: #fff;
}

/* 네비게이션 버튼 */
.year-tabs-box .swiper-button-prev, .year-tabs-box .swiper-button-next {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.year-tabs-box .swiper-button-prev::after, .year-tabs-box .swiper-button-next::after {
    font-size: 18px;
    font-weight: 700;
    color: #e4007f;
}

.year-tabs-box .swiper-button-prev { left: -20px; }
.year-tabs-box .swiper-button-next { right: -20px; }

/* 히스토리 콘텐츠 */
.history-content {
    display: none;
}

.history-content.active {
    display: block;
    animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* History Layout */
.center-history-wrap {
    position: relative;
}

.center-history { position: relative; }
.center-history-wrapper { position: relative; }
.center-history-wrapper:after { clear: both; display: block; content: ""; }
.center-history-wrapper:before {
    position: absolute;
    top: 19px;
    height: 100%;
    width: 1px;
    left: 50%;
    background-color: #ddd;
    content: "";
}

.history-last {
    padding-bottom: 0;
}

.center-history-list-wrap {
    position: relative;
}

.center-history-list-wrap:after {
    clear: both;
    display: block;
    content: "";
}

.center-history-img-box {
    overflow: hidden;
    position: relative;
    width: 50%;
    margin-top: 80px;
    padding-right: 70px;
}

.center-history-img-box img {
    display: inline-block;
    width: 480px;
    max-width: 100%;
    border-radius: 0 10px;
}

.center-history-info-box {
    position: relative;
    width: 50%;
}

.center-history-info-box::before {
    position: absolute;
    top: 3px;
    width: 25px;
    height: 25px;
    background-color: rgba(228, 0, 127, 1);
    border: none;
    border-radius: 50%;
    content: "";
    opacity: 0.2;
}

.center-history-info-box::after {
    position: absolute;
    top: 12px;
    width: 8px;
    height: 8px;
    background-color: rgba(228, 0, 127, 1);
    border: 2px solid rgba(228, 0, 127, 1);
    border-radius: 50%;
    content: "";
}

/* History 정보 */
.center-history-info .history-item {
    position: relative;
    line-height: 1.6;
    font-weight: normal;
    color: #000;
    margin-bottom: 15px;
    word-break: keep-all;
}

.center-history-info .history-item:last-child {
    margin-bottom: 0;
}

.center-history-info .history-month {
    position: absolute;
    top: 1px;
    color: #222;
	font-family: 'PuradakGentleGothic';
    font-size: 0.9em;
    font-weight: normal;
}

.center-history-info .history-txt {
    position: relative;
    display: inline-block;
    width: 100%;
    color: #666;
    font-weight: 500;
}

.center-history-year {
    position: absolute;
    top: -5px;
    width: 250px;
    text-align: left;
    color: #e4007f;
	font-family: 'PuradakGentleGothic';
    font-size: 36px;
}

/* History 왼쪽 */
.history-left .center-history-info-box {
    float: left;
}

.history-left .center-history-info-box::before,
.history-left .center-history-info-box::after {
    left: 100%;
    transform: translatex(-50%);
}

.history-left .center-history-info {
    text-align: right;
    padding-right: 70px;
}

.history-left .center-history-info .history-item {
    padding-right: 210px;
}

.history-left .center-history-info .history-month {
    right: 0;
}

.history-left .center-history-year {
    left: 100%;
    padding-left: 70px;
}

.history-left .center-history-img-box {
    float: right;
    padding-right: 0;
    padding-left: 70px;
}

/* History 오른쪽 */
.history-right .center-history-info-box {
    float: right;
}

.history-right .center-history-info-box::before,
.history-right .center-history-info-box::after {
    right: 100%;
    transform: translatex(50%);
}

.history-right .center-history-info {
    padding-left: 70px;
}

.history-right .center-history-info .history-item {
    padding-left: 210px;
}

.history-right .center-history-info .history-month {
    left: 0;
}

.history-right .center-history-list-wrap .center-history-year {
    text-align: right;
    right: 100%;
    padding-right: 70px;
}

.history-right .center-history-img-box {
    float: left;
    text-align: right;
}

/* 1024px 이하 */
@media (max-width: 1024px) {
    .center-history-info .history-month {
        position: relative;
        top: 0;
        display: block;
        margin-bottom: 5px;
    }

    .center-history-info .history-item {
        padding-left: 0 !important;
    }

    .history-left .center-history-info .history-item {
        padding-right: 0 !important;
    }
}

/* 800px 이하 */
@media (max-width: 800px) {
    .center-history-wrapper {
        padding-bottom: 0px;
    }

    .history-last {
        padding-bottom: 0;
    }

    .center-history-wrapper:before {
        left: 7px;
        top: 14px;
    }

    .center-history-img-box {
        width: 100%;
        height: 250px;
        margin-top: 0;
        margin-bottom: 40px;
        padding-right: 0;
        padding-left: 7px;
        float: none !important;
        text-align: left !important;
    }

	.history-left .center-history-img-box { padding-left: 7px; }

    .center-history-img-box img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .center-history-info-box {
        width: auto;
        padding-left: 120px;
        float: none !important;
    }

    .center-history-info-box::before {
        top: 4px;
        left: -7px;
        width: 15px;
        height: 15px;
        border-width: 3px;
    }

    .center-history-info-box::after {
        top: 9px;
        left: 3px;
        width: 5px;
        height: 5px;
        border-width: 1px;
    }

	.history-left .center-history-info-box::before, .history-left .center-history-info-box::after { left: 7px; }

    .center-history-info {
        padding-left: 0 !important;
        padding-right: 0 !important;
        text-align: left !important;
    }

    .center-history-info .history-item {
        margin-bottom: 10px;
        font-size: 0.95em;
    }

    .center-history-info .history-month {
        left: 0 !important;
        right: auto !important;
    }

    .center-history-year {
        top: 5px;
        font-size: 20px;
        padding-left: 20px !important;
        padding-right: 0 !important;
        left: 10px !important;
        right: auto !important;
        text-align: left !important;
    }

    .year-tab {
        min-width: 80px;
        height: 50px;
        padding: 0 20px;
        font-size: 16px;
    }

    .year-tabs-box .swiper-button-prev,
    .year-tabs-box .swiper-button-next {
        width: 35px;
        height: 35px;
    }

    .year-tabs-box .swiper-button-prev::after,
    .year-tabs-box .swiper-button-next::after {
        font-size: 16px;
    }
}

/* 480px 이하 */
@media (max-width: 480px) {
	.year-tabs-box { position: relative; margin-bottom: 50px; }

	.year-tabs-box .swiper-button-prev { left: -5%; }
	.year-tabs-box .swiper-button-next { right: -5%; }
	
	.center-history-img-box {
        height: 150px;
    }

    .year-tab {
        min-width: 70px;
		height: 40px;
        font-size: 14px;
    }

    .center-history-info .history-item {
        padding-left: 0 !important;
    }

    .center-history-info .history-month {
        position: relative;
        display: block;
        margin-bottom: 5px;
    }
}

.root_daum_roughmap_landing {
    width: 100% !important;
    height: 100% !important;
}

.location .info-list { margin-top: 50px; }
.info-list { display: flex; flex-direction: column; gap: 25px; }
.info-item { display: flex; align-items: center; gap: 20px; }
.info-icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 45px; height: 45px; background: linear-gradient(300deg, rgba(188, 0, 228, 1), rgba(228, 0, 127, 1)); border-radius: 50%; color: #fff; font-size: 20px; }
.info-icon img { max-width: 100%; }

.info-content { flex: 1; display: flex; flex-wrap: wrap; align-items: center; }
.info-label { width: 150px; color: #333; font-size: 1.1em; font-weight: 700; }
.info-text { width: calc(100% - 150px); color: #555; font-size: 1.1em; line-height: 1.6; }

.organization h3 { position: relative; margin-bottom: 50px; padding-left: 50px; font-size: 38px; font-weight: 800; letter-spacing: 0.03em; line-height: 1; }
.organization h3:after { content:''; position: absolute; top: 2px; left: 0px; width: 35px; height: 35px; background: linear-gradient(300deg, rgba(188, 0, 228, 1), rgba(228, 0, 127, 1)); border-radius: 4px; }
.organization h3:before { content:''; position: absolute; top: 9px; left: 7px; z-index: 9; width: 21px; height: 21px; background: #fff; border-radius: 2px; }

.organization_tabs {
	position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0 10px;
    width: 100%;
    min-height: auto;
    margin-bottom: 50px;
    padding: 0px 0;
    background: transparent;
    border-radius: 10px;
}

.organization_tabs li a { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; text-align: center; min-width: 150px; height: 60px; padding: 0px 30px; border-radius: 5px; background: #fff; border: 1px solid #ddd; color: #888; font-weight: 600; -webkit-transition: all .3s ease; transition: all .3s ease; }
.organization_tabs li.active a, .organization_tabs li:hover a { background-color: #e4007f; border: 1px solid #e4007f; color: #fff; }
.organization_tabs li a:after, .organization_tabs li a:before { display: none !important; }

#bo_cate a { border-radius: 5px !important; }

.organization_title { text-align: justify; margin-bottom: 50px; padding: 50px; background: #f1f1f5; border-radius: 5px; color: #444; font-weight: 500; line-height: 1.5; word-break: keep-all; }

.organization_table01 { border-top: 2px solid #e4007f; }
.organization_table01 th, .organization_table01 td { text-align: center; height: 60px; padding: 0px 10px; border-bottom: 1px solid #e1e1e5; }
.organization_table01 thead th { background: #f1f1f5; border-left: 1px solid #e1e1e5; }
.organization_table01 thead th:first-child { border-left: none; }
.organization_table01 tbody th { font-weight: 500; }
.organization_table01 tbody td { border-left: 1px solid #e1e1e5; }

.organization_member01 { display: flex; flex-wrap: wrap; gap: 30px 2%; margin-bottom: 80px; }
.organization_member01:last-child { margin-bottom: 0px; }
.organization_member01 li { display: flex; flex-direction: column; flex-wrap: wrap; align-content: center; justify-content: center; align-items: center; text-align: center; width: 32%; height: 180px; padding: 0 10px; border: 2px solid #e2e2e5; border-radius: 10px; transition: all .3s ease; }
.organization_member01 li:hover { background: #f1f1f5; border: 2px solid #f1f1f5; box-shadow: 0 10px 10px rgba(28, 34, 79, 0.1); }
.organization_member01 li span.cate { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: auto; height: 35px; margin-bottom: 10px; padding: 0 25px; background: linear-gradient(300deg, rgba(188, 0, 228, 1), rgba(228, 0, 127, 1)); border-radius: 500px; color: #fff; font-size: 0.9em; font-weight: 600; }
.organization_member01 li span.name { font-size: 1.3em; font-weight: 800; }
.organization_member01 li span.name i { display: block; width: 100%; margin-top: 10px; color: #888; font-size: 16px; font-style: normal; font-weight: 500; word-break: keep-all; }