@keyframes zoomOut {
	0% { transform: scale(1.2); }
	100% { transform: scale(1); /* 원래 크기로 */ }
}

.wrap { position: relative; width: 1340px; margin: 0 auto; }

/* head */
.head { position: absolute; top: 0px; left: 0px; z-index: 9; width: 100%; height: 90px; }
.head .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; height: 100%; }

.menu { display: flex; flex-wrap: wrap; align-items: center; }
.menu_inr { display: flex; flex-wrap: wrap; }
.menu_inr li { position: relative; display: flex; flex-wrap: wrap; align-items: center; height: 90px; padding: 0 40px; }
.menu_inr li a { color: #fff; font-size: 20px; font-weight: 600; }

.smenu_dl { overflow: hidden; position: absolute; left: 0px; top: 90%; padding: 10px 0px; width: 100%; background: #ff5057; border-radius: 3px; z-index: 999; display: none; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); }
.smenu_wh02 { width: 120%; left: -10%; }
.smenu_dl dd { padding: 8px 5px; text-align: center; transition: 0.5s; }
.smenu_dl dd:last-child { border-bottom: none; }
.smenu_dl dd:hover {  }
.smenu_dl dd a { display: block; color: #fff; font-size: 15px; font-weight: 400; transition: 0.5s; word-break: keep-all; }
.smenu_dl dd a:hover { color: #fff; text-decoration: underline; }

.member { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; height: 40px; padding: 0 25px; background: rgba(0, 0, 0, 0.3); border-radius: 500px; }
.member_inr { display: flex; flex-wrap: wrap; }
.member_inr li { position: relative; display: flex; flex-wrap: wrap; }
.member_inr li:first-child { padding-right: 15px; }
.member_inr li:last-child { padding-left: 15px; }
.member_inr li.round:after { content:''; position: absolute; right: 0px; top: 6px; width: 3px; height: 3px; background: rgba(255, 255, 255, 0.8); border-radius: 3px; }
.member_inr li a { color: rgba(255, 255, 255, 0.8); font-size: 13px; }

.menu-toggler, .mobile_menu { display: none; }

/* footer */
.footer { position: relative; background: #111; color: #fff; }
.footer_menu { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 100%; height: 80px; border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
.footer_menu_inr { display: flex; flex-wrap: wrap; }
.footer_menu_inr li { position: relative; padding: 0 25px; }
.footer_menu_inr li:after { content:''; position: absolute; right: -1px; top: 7px; width: 3px; height: 3px; background: rgba(255, 255, 255, 0.8); border-radius: 3px; }
.footer_menu_inr li:last-child:after { display: none; }
.footer_menu_inr li a { color: #fff; font-weight: 600; }

.footer_info { text-align: center; padding: 60px 0; }
.footer_info .info { line-height: 1.6; }
.footer_info .info span { position: relative; padding: 0 20px; color: rgba(255, 255, 255, 0.6); }
.footer_info .info span.point { color: rgba(255, 255, 255, 1); font-weight: 600; }
.footer_info .info span:after { content:''; position: absolute; top: 20%; right: 0px; width: 1px; height: 60%; background: #fff; }
.footer_info .info span.noline:after { display: none; }
.footer_info p { margin-top: 30px; color: rgba(255, 255, 255, 0.2); }

.quick { position: fixed; right: 20px; bottom: 20px; z-index: 99; }
.quick a { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 60px; height: 60px; background: #ffde00; border-radius: 15px; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); }
.quick a img { width: 35px; max-width: 100%; }

/* main */
.swiper { width: 100%; height: 100%; }
.swiper-slide {  }
.swiper-slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.swiper-slide .bg { position: absolute; left: 0%; top: 0%; width: 100%; height: 100%; transform:scale(1.1); transition:all 4s; }
.swiper-slide-active .bg { transform:scale(1); }

.main_vis { position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 100%; height: 100vh; z-index:1; }

.main_vis01 .bg { background: #222 url('../image/main/main_vis01.jpg') center top no-repeat; background-size: cover; }
.main_vis02 .bg { background: #222 url('../image/main/main_vis02.jpg') center top no-repeat; background-size: cover; }
.main_vis03 .bg { background: #222 url('../image/main/main_vis03.jpg') center top no-repeat; background-size: cover; }

.main_vis .swiper-pagingbox { position: relative; z-index: 999; display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; height: auto; margin-top: 80px; }
.main_vis .swiper-progress-bar { position: relative; display: block; width: 130px; height: 2px; }
.main_vis .swiper-progress-bar .slide_progress-bar { position: absolute; bottom: 0px; left: 0; right: 0; width: auto; height: 2px; background: rgba(255, 255, 255, 0.3); clear: both; opacity: 0; }
.main_vis .swiper-progress-bar.active .slide_progress-bar { opacity: 1; }
.main_vis .swiper-progress-bar .slide_progress-bar:after { content: ""; position: absolute; top: 0; left: 0; width: 0; height: 100%; background: #fff; transition: 0.1s width linear; }
.main_vis .swiper-progress-bar.animate .slide_progress-bar:after { width: 100%; transition: width linear; transition-delay: unset; transition-duration: 5s; }

.main_vis .swiper-pagination-fraction { position: relative; bottom: auto; text-align: center; margin: 0 10px 0 20px; width: 40px; color: #fff; }
.main_vis .swiper-pagination-fraction span { display: inline-block; width: 10px; }

.main_vis .swiper-button-prev, .main_vis .swiper-button-next { position: relative; width: auto; height: auto; top: auto; margin-top: 0; background: transparent; border-radius: 0px; color: rgba(255, 255, 255, 0.9); }
.main_vis .swiper-button-prev, .main_vis .swiper-rtl .swiper-button-next { left: auto; right: auto; }
.main_vis .swiper-button-next, .main_vis .swiper-rtl .swiper-button-prev { right: auto; left: auto; }
.main_vis .swiper-button-prev:after, .main_vis .swiper-button-next:after { font-family: 'xeicon' !important; font-size: 24px; }
.main_vis .swiper-button-prev:after { content: "\e93c"; }
.main_vis .swiper-button-next:after { content: "\e93f"; }

.main_text { position: absolute; top: 0px; left: 0px; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: center; align-items: center; text-align: left; width: 100%; height: 100%; padding-top: 80px; color: #fff; z-index: 9; }
.main_text h2 { position: relative; width: 100%; margin-bottom: 50px; background: url('../image/main/main_text_deco01.png') center bottom no-repeat; font-family: "Montserrat"; font-size: 85px; font-weight: 600; line-height: 1; text-shadow: 0 0px 5px rgba(0, 0, 0, 0.4); word-break: keep-all; }
.main_text h2 span { display: block; margin-top: 30px; font-size: 34px; }
.main_text h2 strong { font-weight: 600; }
.main_text h2 .mo_br { display: none; }
.main_text p { font-size: 22px; font-weight: 500; line-height: 1.8; text-shadow: 0 0px 5px rgba(0, 0, 0, 0.6); word-break: keep-all; }
.main_text p strong { font-weight: 700; }

.main_con { padding: 100px 0; }
.main_con_title { text-align: center; margin-bottom: 50px; }
.main_con_title h2 { font-size: 48px; font-weight: 800; line-height: 1; }
.main_con_title h2 span { display: block; margin-bottom: 30px; font-family: "Montserrat"; font-size: 18px; color: #ff5057; line-height: 1; }

.main_more01 { display: inline-flex; flex-wrap: wrap; justify-content: space-between; align-items: center; width: 180px; height: 55px; padding: 0 30px; border: 2px solid #222; border-radius: 5px; font-weight: 600; transition: all 0.3s; }
.main_more01 i { font-weight: bold; }
.main_more01:hover { background: #222; color: #fff; }

.main_more02 { display: inline-flex; flex-wrap: wrap; justify-content: space-between; align-items: center; width: 180px; height: 55px; padding: 0 30px; border: 2px solid #fff; border-radius: 5px; color: #fff; font-weight: 600; transition: all 0.3s; }
.main_more02 i { font-weight: bold; }
.main_more02:hover { background: #fff; color: #ff5057; }

.main_con01 .wrap { display: flex; flex-wrap: wrap; }
.main_con01_inr { width: 50%; }
.main_con01_inr01 {}
.main_con01_inr01 img { max-width: 100%; border-radius: 10px 10px 80px 10px; }
.main_con01_inr02 { display: flex; flex-wrap: wrap; align-content: center; align-items: center; padding-left: 80px; }
.main_con01_inr02 .main_con01_logo { margin-bottom: 50px; }
.main_con01_inr02 p { margin-bottom: 80px; font-size: 1.1em; line-height: 1.8; }

.main_con02 { background: #f4f4f4; }
.main_con02_list { padding-bottom: 50px; }
.main_con02_list img { border-radius: 15px 0; }
.main_con02_list h4 { text-align: center; margin-top: 30px; font-size: 20px; }
.main_con02 .swiper-pagination-progressbar { overflow: hidden; top: auto; bottom: 0px; border-radius: 5px; }
.main_con02 .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { background: #888; border-radius: 5px; }

.main_con02 .swiper-button-prev, .main_con02 .swiper-button-next { width: 50px; height: 50px; margin-top: 0px; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); }
.main_con02 .swiper-button-prev, .main_con02 .swiper-rtl .swiper-button-next { left: -60px; right: auto; }
.main_con02 .swiper-button-next, .main_con02 .swiper-rtl .swiper-button-prev { right: -60px; left: auto; }

.main_con03 { text-align: center; background: url('../image/main/main_con03_bg01.jpg') center center no-repeat; background-size: cover; color: #fff; }
.main_con03 h2 { margin-bottom: 50px; font-size: 52px; }
.main_con03 h2 span { display: block; margin-bottom: 40px; font-family: "Montserrat"; font-size: 18px; color: #ff5057; line-height: 1; }

/* sub */
.sub_vis { overflow: hidden; position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 100%; height: 550px; color: #fff; }

.sub_vis .bg {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%; /* 화면 전체 높이 */
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transform: scale(1.2); /* 처음엔 약간 확대 */
	animation: zoomOut 5s ease-out forwards; /* 로딩 시 애니메이션 실행 */
}

.sub_vis .bg01 { background: url('../image/sub/sub_vis01.jpg') center center no-repeat; background-size: cover; }

.sub_title { position: relative; z-index: 9; text-align: center; margin-top: 90px; }
.sub_title h2 { font-size: 58px; font-weight: 800; }
.sub_title p { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; margin-top: 30px; color: rgba(255, 255, 255, 0.7); font-size: 1.1em; }
.sub_title p span { margin: 0 5px; }

.sidebar { border-bottom: 1px solid #ddd; }
.sidebar_inr { display: flex; flex-wrap: wrap; justify-content: center; }
.sidebar_inr li { position: relative; height: 60px; }
.sidebar_inr li:after { content:''; position: absolute; left:0px; top: 25%; width: 1px; height: 50%; background: #ccc; }
.sidebar_inr li:first-child:after { display: none; }
.sidebar_inr li:before { content:''; position: absolute; left:0px; bottom: -1px; width: 0px; height: 2px; background: #ff5057; transition: 0.3s; }
.sidebar_inr li:hover:before, .sidebar_inr li.active:before { width: 100%; }

.sidebar_wh03 li { flex:1; }

.sidebar_inr li a { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; text-align: center; width: 100%; height: 100%; font-size: 1.1em; font-weight: 600; word-break: keep-all; }
.sidebar_wh03 li a:hover, .sidebar_wh03 li.active a { color: #ff5057; }

.sub_contents { font-size: 18px; }
.mg100 { margin: 100px 0; }

.subpage_inr { padding: 120px 0; }

.page_title { width: 300px; }
.page_title h3 { font-family: 'GmarketSans'; font-size: 42px; font-weight: 800; letter-spacing: -0.03em; }
.page_title h3 span { position: relative; }
.page_title h3 span:after { content:''; position: absolute; top: 0px; right: -30px; width: 10px; height: 10px; background: #ff5057; border-radius: 500px; }

.page_title02 { text-align: center; width: 100%; margin-bottom: 50px; }
.page_title02 h3 { font-family: 'GmarketSans'; font-size: 42px; font-weight: 800; letter-spacing: -0.03em; }
.page_title02 h3 span { position: relative; }
.page_title02 h3 span:after { content:''; position: absolute; top: 0px; right: -30px; width: 10px; height: 10px; background: #ff5057; border-radius: 500px; }

.page_cont { width: calc(100% - 300px); padding-left: 50px; }

.company_inr02, .company_inr04 { background: #f4f4f4; }
.company_inr .wrap { display: flex; flex-wrap: wrap; }

.overview_list { border-top: 2px solid #ff5057; }
.overview_list li { display: flex; flex-wrap: wrap; min-height: 80px; border-bottom: 1px solid #ddd; }
.overview_list li > div { display: flex; flex-wrap: wrap; align-content: center; align-items: center; padding: 20px; }
.overview_list li .overview_title { width: 200px; background: #ffedee; font-weight: 700; }
.overview_list li .overview_cont { gap: 10px 0; width: calc(100% - 200px); }
.overview_list li .overview_cont p { position: relative; width: 100%; padding-left: 15px; line-height: 1.4; }
.overview_list li .overview_cont p:after { content:''; position: absolute; top: 15%; left: 0px; width: 3px; height: 70%; background: #ff5057; }
.overview_list li .overview_cont p strong { font-size: 1.2em; }
.overview_list li .overview_cont p span { position: relative; }
.overview_list li .overview_cont p span:first-child { padding-right: 15px; margin-right: 15px; }
.overview_list li .overview_cont p span:first-child:after { content:''; position: absolute; right: 0px; top: 9px; width: 3px; height: 3px; background: rgba(0, 0, 0, 0.8); border-radius: 3px; }

.orgbox img { max-width: 100%; }

/* History :: Layout */
.center-history-wrap{position: relative;}
.center-history {position:relative;}
.center-history:before{position: absolute; content:''; width:1px; height:119px; left:50%; top:-100px; background:#ddd; display: none; }
.center-history-wrapper {position:relative; padding-bottom:80px;}
.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:"";}
.center-history-wrapper:last-child:before{display:none;}
.history-last { padding-bottom:0px;  }
.center-history-info-box {position:relative; width:50%; }
.center-history-info-box::before{ position:absolute; top:8px; width:25px; height:25px;  background-color:#ff5057; border: 1px solid #ff5057; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; content:""; opacity:0.2;}
.center-history-info-box::after{ position:absolute; top:16px; width:8px; height:8px; background-color:#ff5057; border: 2px solid #ff5057; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; content:""; }

/* History :: 정보 */
.center-history-info .history-item{position:relative; line-height: 1.6; font-weight:normal; color:#000; margin-bottom:20px; word-break:keep-all}
.center-history-info .history-month{ position:absolute; top:1px; color:#222; font-family:'PuradakGentleGothicR'; font-weight: normal; }
.center-history-info .history-txt{ position:relative; display:inline-block; width: 100%; color:#666; }
.center-history-year { position:absolute; top:-5px; width: 250px; text-align:left; color:#ff5057; font-family:'PuradakGentleGothicR'; font-size:36px; }

@media all and (min-width:801px){
	/* 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: 70px; }
	.about_history .history-left .center-history-info .history-item{padding-right: 100px; }
	.history-left .center-history-info .history-month{right:0;}
	.history-left .center-history-info .history-txt{/* padding-right:15px; */ }
	.history-left .center-history-info .history-txt::before{right:0;}
	.history-left .center-history-year {left:100%; padding-left:70px;}
	.history-left .center-history-year:before{left:0}
	.history-left .center-history-img-box{float:right;}
	.history-left .center-history-img-box span{margin-left:40px}

	/* 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: 70px;}
	.about_history .history-right .center-history-info .history-item{padding-left: 100px; }
	.history-right .center-history-info .history-month{left:0;}
	.history-right .center-history-info .history-txt{/* padding-left:15px; */ }
	.history-right .center-history-info .history-txt::before{left:0;}
	.history-right .center-history-list-wrap .center-history-year { text-align: right; right:100%; padding-right:70px; }
	.history-right .center-history-list-wrap .center-history-year:before{right:0}
	.history-right .center-history-img-box{float:left; text-align:right;}
	.history-right .center-history-img-box span{margin-right:40px}
}

@media all and (max-width:800px){	
	/* sub */
	.center-history-wrapper{padding-bottom:30px;}
	.history-last { padding-bottom: 0px; }
	.center-history:before{height:73px; left:10px; top:-60px;}

	/* History :: Layout */
	.center-history-wrapper:before{left:7px; top:14px;}
	.center-history-info-box{width:auto; padding-left:120px}
	.center-history-info-box::before{top:4px; left:0; width:15px; height:15px; border-width:3px;}
	.center-history-info-box::after { top: 9px; left: 5px; width: 5px; height: 5px; border-width: 1px; }

	/* History :: 정보 */
	.center-history-info .history-item{ padding-left:50px; margin-bottom:10px; font-size: 0.95em; }
	.center-history-info .history-txt { font-size: 14px; }
	.center-history-info .history-month{ left:0; }
	.center-history-info .history-txt:before{ display:none; }
	.center-history-year{ top:5px; font-size:20px; padding-left:30px; left:10px; }
	.center-history-year::before{width:20px; left:0; }
}

.certificate_list { display: flex; flex-wrap: wrap; gap: 20px 2%; }
.certificate_list li { width: 32%; }
.certificate_list li img{ max-width: 100%; border-radius: 5px; border: 1px solid #ddd; }

.root_daum_roughmap { max-width: 100% !important; }
.location_info { margin-bottom: 30px; font-size: 1.2em; font-weight: 600; }
.location_info p { margin-top: 10px; }
.location_info p span { position: relative; }
.location_info p span:first-child { padding-right: 15px; margin-right: 15px; }
.location_info p span:first-child:after { content:''; position: absolute; right: 0px; top: 12px; width: 3px; height: 3px; background: rgba(0, 0, 0, 0.8); border-radius: 3px; }

.business_inr02 { background: #f4f4f4; }

.business_inr01 .wrap { display: flex; flex-wrap: wrap; }

.business_imgbox, .business_textbox { width: 50%; }
.business_imgbox img { max-width: 100%; border-radius: 20px 0; box-shadow: 0 0px 20px rgba(0, 0, 0, 0.1); }
.business_textbox { display: flex; flex-wrap: wrap; align-content: center; align-items: center; padding-left: 80px; }
.business_textbox h3 { width: 100%; margin-bottom: 50px; font-family: 'GmarketSans'; font-size: 36px; font-weight: 800; letter-spacing: -0.03em; line-height: 1; }
.business_textbox h3 span { position: relative; }
.business_textbox h3 span:after { content:''; position: absolute; top: 0px; right: -30px; width: 10px; height: 10px; background: #ff5057; border-radius: 500px; }
.business_textbox p { color: #333; font-size: 1.05em; line-height: 1.8; }

.step_list { display: flex; flex-wrap: wrap; gap: 50px 2%; }
.step_list li { width: 32%; }
.step_list li img { max-width: 100%; border-radius: 0px 20px; }
.step_list li h4 { text-align: center; margin-top: 20px; font-size: 1.2em; }

.business_inr02 .imglist { display: flex; flex-wrap: wrap; gap: 10px 2%; }
.business_inr02 .imglist dd { width: 32%; }
.business_inr02 .imglist dd img { max-width: 100%; }

.business_inr02 .imglist.wh04 { gap: 10px 1.33%; }
.business_inr02 .imglist.wh04 dd { width: 24%; }

.inquiry_btnbox { text-align: center; margin-top: 80px; }
.inquiry_btn { display: inline-flex; flex-wrap: wrap; justify-content: space-between; align-items: center; width: 200px; height: 60px; padding: 0 30px; background: #ff5057; border-radius: 10px 0; color: #fff; font-weight: 600; transition: all 0.3s; }
.inquiry_btn i { font-weight: bold; }
.inquiry_btn:hover { background: #ff5057; color: #fff; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); }