.wrap { width: 1280px; margin: 0 auto; }

/* head */
.head { position: relative; top: 0; left: 0; z-index: 9; width: 100%; }
.head .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; height: 90px; }
.menu_inr { display: flex; flex-wrap: wrap; gap: 0 0px; }
.menu_inr li { position: relative; padding: 0 30px; }
.menu_inr li:last-child { padding-right: 0px; }
.menu_inr li a { display: inline-flex; flex-wrap: wrap; align-items: center; height: 90px; font-size: 20px; font-weight: 600; }

.smenu_dl { overflow: hidden; position: absolute; left: 0%; top: 95%; padding: 25px 0px; width: 100%; background: #1d2088; border-radius: 3px; z-index: 999; display: none; }
.smenu_dl dd { margin-bottom: 15px; text-align: center; transition: 0.5s; }
.smenu_dl dd:last-child { margin-bottom: 0px; border-bottom: none; }
.smenu_dl dd:hover {  }
.smenu_dl dd a { display: block; height: auto; color: rgba(255, 255, 255, 0.8); font-size: 0.95em; letter-spacing: -0.03em; transition: 0.3s; }
.smenu_dl dd a:hover { color: #fff; text-decoration: underline; }

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

/* footer */
.footer { position: relative; padding: 60px 0; background: #151515; color: rgba(255, 255, 255, 0.5); font-size: 0.9em; line-height: 1.7; }
.footer .wrap { position: relative; }
.footer_menu { position: absolute; top: 0px; right: 0px; display: flex; flex-wrap: wrap; gap: 0 5px; }
.footer_menu a { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 150px; height: 50px; background: #000; color: rgba(255, 255, 255, 0.6); transition: all 0.3s; }
.footer_menu a:hover { color: rgba(255, 255, 255, 1); }
.footer_info span { position: relative; display: inline-block; padding: 0 15px; }
.footer_info span.pl00 { padding-left: 0px; }
.footer_info span:after { content:''; position: absolute; right: 0px; top: 20%; width: 1px; height: 60%; background: rgba(255, 255, 255, 0.2); }
.footer_info span.noline:after { display: none; }
.footer_info p { margin-top: 25px; padding-top: 25px; border-top: 1px solid rgba(255, 255, 255, 0.1); color: rgba(255, 255, 255, 0.2); }

/* main */
.swiper { width: 100%; height: 100%; }
.swiper-slide { display: flex; justify-content: center; align-items: center; }
.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: calc(100vh - 90px); background: #010005; background-size: cover; }

.swiper-slide .main_vis_bg { position: absolute; left: 0%; top: 0%; width: 100%; height: 100%; transform: scale(1.1); transition: all 4s; }
.swiper-slide-active .main_vis_bg { transform:scale(1); }

.main_vis_bg01 { background: #010005 url('../image/main/main_vis01.jpg') center bottom no-repeat; background-size: cover; }
.main_vis_bg02 { background: #010005 url('../image/main/main_vis02.jpg') center bottom no-repeat; background-size: cover; }
.main_vis_bg03 { background: #010005 url('../image/main/main_vis03.jpg') center bottom no-repeat; background-size: cover; }
.main_vis_bg04 { background: #010005 url('../image/main/main_vis04.jpg') center bottom 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; z-index: 8; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: center; text-align: left; width: 100%; height: 100%; color: #fff; }
.main_text .wrap { display: flex; flex-direction: column; flex-wrap: wrap; align-content: flex-start; justify-content: center; align-items: flex-start; text-align: left; }
.main_text h2 { margin-bottom: 50px; font-size: 92px; line-height: 1; }
.main_text p { color: rgba(255, 255, 255, 0.8); font-size: 22px; line-height: 1.6; }

.scrolldown { position: absolute; right: 2%; bottom: 0px; width: 16px; height: 280px; z-index: 99; opacity: 1; transition: 0.5s; }
.scrolldown p { position: absolute; top: 0px; left: 50%; width: 120px; margin-left: 9px; margin-top: 0px; color: #fff; font-size: 14px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; transform: rotate(90deg); transform-origin: 0% 0%; transition: margin 0.3s; }
.scrolldown i { position:absolute; left:50%; bottom:0; overflow:hidden; width:2px; height:150px; border-radius:0; background-color: rgba(255,255,255,0.3); transition:height 0.1s; }
.scrolldown i:after{ position: absolute; top: 50%; left: 0%; display: block; content: ""; width: 100%; height: 30px; background: #fff; border-radius:0; animation: scrollDown 2s infinite; }

@keyframes scrollDown {
    0%{ top: 0; }
	100% { top: 150%; }
}

.main_con { position: relative; padding: 100px 0; }

.main_con01_inr { width: 50%; }
.main_con01_left { height: 550px; }
.main_con01_left .main_con01_img { width: 100%; height: 100%; }
.main_con01_left .main_con01_img01 {}
.main_con01_left .main_con01_img02 {}
.main_con01_left .main_con01_img03 {}
.main_con01_right { width: 50%; padding: 0 80px; }
.main_con01_right .main_con01_text { width: 640px; max-width: 100%; }
.main_con01_right h3 { margin-bottom: 50px; font-size: 38px; word-break: keep-all; }
.main_con01_right h3 span { display: block; margin-bottom: 30px; color: #1d2088; font-size: 18px; }
.main_con01_right p { text-align: justify; color: #555; line-height: 1.7; }
.main_con01_arrow { position: absolute; left: 0; bottom: 130px; display: flex; flex-wrap: wrap; justify-content: center; gap: 0 4px; width: 100%; }
.main_con01_arrow .swiper-button-prev, .main_con01_arrow .swiper-button-next { position: relative; top: auto; left: auto; right: auto; width: 60px; height: 60px; margin-top: 0px; background: #1d2088; }
.main_con01_arrow .swiper-button-prev:after, .main_con01_arrow .swiper-button-next:after { color: #fff; font-size: 20px; }

.main_con02 { text-align: center; background: #010005 url('../image/main/main_con02_bg01.jpg') center bottom no-repeat; background-size: cover; color: #fff; }
.main_con02 h2 { margin-bottom: 50px; font-size: 42px; }
.main_con02 h2 span { display: block; margin-bottom: 20px; color: rgba(255, 255, 255, 0.4); font-size: 18px; }
.main_con02 p { margin-bottom: 50px; color: rgba(255, 255, 255, 0.7); line-height: 1.7; }
.main_con02_more { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0 5px; width: 210px; height: 55px; background: #fff; border-radius: 500px; color: #333; font-weight: 700; transition: all 0.3s; }
.main_con02_more:hover { background: #1d2088; color: #fff; }
.main_con02_more i { font-size: 15px; font-weight: bold; }

.main_con03 .wrap { display: flex; flex-wrap: wrap; gap: 0 60px; }
.main_con03 .wrap .main_con03_inr { flex:1; }
.main_con03 h3 { margin-bottom: 30px; color: #222; font-size: 36px; }

/* sub */
.sub_vis { overflow: hidden; position: relative; width: 100%; height: 400px; background: #eee; }
.sub_vis .bg { position: relative; width: 100%; height: 100%; background: #010005; animation: zoomOut 5s ease-out forwards;}
.sub_vis .bg01 { background: url('../image/sub/sub_vis01.jpg') center center no-repeat; background-size: cover; }
.sub_vis .bg02 { background: url('../image/sub/sub_vis01.jpg') center center no-repeat; background-size: cover; }
.sub_vis .bg03 { background: url('../image/sub/sub_vis01.jpg') center center no-repeat; background-size: cover; }
.sub_vis .bg04 { background: url('../image/sub/sub_vis01.jpg') center center no-repeat; background-size: cover; }

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

.sub_text { position: absolute; left: 0; bottom: 0; text-align: right; display: flex; flex-wrap: wrap; align-items: flex-end; width: 100%; height: 100%; padding-bottom: 80px; color: #fff; }
.sub_text h2 { margin-bottom: 30px; font-size: 52px; line-height: 1; }
.sub_text p { display: block; font-size: 18px; font-weight: 400; line-height: 1.7; }

.sub_contents { margin: 100px 0; line-height: 1.7; }

.sidebar { position: relative; z-index: 90; display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; width: 100%; border-bottom: 1px solid #ddd; }
.sidebar .wrap { display: flex; flex-wrap: wrap; justify-content: flex-start;background: #fff; }
.sidebar .home { width: 64px; height: 64px; background: #1d2088; }
.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.5s; }
.sidebar .depth { position: relative; }
.sidebar .depth_1 { width: 280px; }
.sidebar .depth_2 { width: 280px; }
.sidebar .depth:before { content:''; position: absolute; left: 0px; top: 0%; width: 1px; height: 100%; background: #ddd; }
.sidebar .depth_2:after { content:''; position: absolute; right: 0px; top: 0%; width: 1px; height: 100%; background: #ddd; }
.sidebar .depth_title { position: relative; width: 100%; height: 64px; padding-left: 30px; text-align: left; background: transparent; border: none; color: #333; font-size: 1em; font-weight: 600; transition:0.5s; }
.sidebar .depth_title:after { content:"\e942"; position: absolute; top: calc(50% - 9px); right: 30px; width: 12px; height: auto; font-family: 'xeicon' !important; color: #ccc; transition: 0.5s; }
.sidebar .depth_title:hover:after { color: #1d2088; }
.sidebar .depth .sub_ul { position: absolute; left: 0px; top: 100%; padding: 20px 0px; border-width: medium 1px 1px; border-style: none solid solid; border-color: currentColor rgb(215, 219, 224) rgb(215, 219, 224); border-image: none; border-top: 1px solid rgb(215, 219, 224); width: 100%; background-color: #f7f7f7; }
.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: #888; font-size: 0.95em; }
.sidebar .depth .sub_ul li a:hover { color: #000; text-decoration: underline; }

.sub_title { position: relative; display: flex; flex-direction: column; flex-wrap: wrap; align-content: center; align-items: center; text-align: center; width: 100%; margin-bottom: 80px; }
.sub_title h2 { font-size: 42px; font-weight: 800; }
.sub_title h2 span { position: relative; z-index: 1; }
.sub_title p { position: relative; margin-top: 20px; display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; gap: 0 5px; color: #666; font-size: 15px; line-height: 1; }
.sub_title p span { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; }

.subpage_inr { margin-bottom: 80px; }
.subpage_inr:last-child { margin-bottom: 0px; }

.greeting {  }
.greeting_imgbox { width: 400px; }
.greeting_imgbox img { max-width: 100%; box-shadow: 10px 10px 0px rgb(0 44 165 / 8%); border-radius: 0 10px; }
.greeting_textbox { width: calc(100% - 400px); padding-left: 80px; }
.greeting_title { margin-bottom: 30px; font-family: 'Marcellus'; font-size: 42px; font-weight: bold; line-height: 1.5; }
.greeting_textbox p { text-align: justify; margin-bottom: 80px; line-height: 1.8; }
.greeting_textbox p strong { color: #1d2088; }
.greeting_textbox p .sign { display: block; text-align: right; margin-top: 50px; font-family: 'MaruBuri'; font-weight: bold; }
.greeting_textbox h4 { position: relative; margin-bottom: 30px; padding-left: 20px; color: #1d2088; font-size: 1.3em; line-height: 1; }
.greeting_textbox h4:after { content:''; position: absolute; top: 10%; left: 0px; width: 3px; height: 80%; background: #1d2088; }
.career_list li { position: relative; margin-bottom: 10px; padding-left: 220px; color: #444; }
.career_list li:last-child { margin-bottom: 0px; }
.career_list li:after { content:''; position: absolute; top: 12px; left: 0px; width: 4px; height: 4px; background: #1d2088; border-radius: 4px; }
.career_list li strong { position: absolute; top: 0px; left: 20px; display: inline-block; width: 190px; color: #222; font-weight: 600; letter-spacing: -0.02em; }


.intro-box { padding: 50px; margin-bottom: 50px; border-radius: 5px; background-color: #f3f3f9; font-size: 1.05em; }
.intro-box p { text-align: justify; }

.greeting h3 { margin-bottom: 30px; color:#1d2088; font-size: 32px; font-weight: 800; line-height: 1; }
.greeting h4 { margin-bottom: 30px; padding-bottom: 15px; font-size: 25px; font-weight: 800; border-bottom: 1px solid #ddd; line-height: 1; }

.section-title {
	background-color: #1a4d7a;
	color: white;
	padding: 12px 20px;
	border-radius: 8px;
	font-size: 16px;
	font-weight: bold;
	margin: 30px 0 20px 0;
	text-align: center;
}

.profile-card {
	display: flex;
	gap: 50px;
	margin-bottom: 50px;
	align-items: flex-start;
}

.profile-image {
	flex-shrink: 0;
    width: 300px;
	text-align: center;
}

.profile-image img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.profile-name { text-align: center; margin-top: 10px; color: #333; font-size: 1.05em; font-weight: bold; }

.profile-details { flex: 1; }

.profile-details li {
	padding: 6px 0;
	color: #444;
	position: relative;
	padding-left: 15px;
}

.profile-details li:before {
	content: "•";
	position: absolute;
	left: 0;
	color: #1a4d7a;
	font-weight: bold;
}

.highlight {
	text-decoration: underline;
	color: #d32f2f;
}

@media (max-width: 600px) {
	.profile-card {
		flex-direction: column;
		align-items: center;
	}

}

.location_info { margin-top: 50px; }
.location_info li { display: flex; line-height: 1; align-items: center; margin-top: 1.25rem; }
.location_info li:first-child { margin-top: 0; }
.location_info li strong { display: flex; align-items: center; width: 170px; gap: 1rem; font-size: 20px; font-weight: 500; }
.location_info li .icon { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; background: #eee; border-radius: 100%; }
.location_info li .icon i { color: #3a4952; font-size: 22px; }
.location_info li p { width: calc(100% - 170px); font-size: 20px; color: #666; line-height: 1.4; }

.technology_inr { display: flex; flex-wrap: wrap; }
.technology_inr:nth-child(even) { flex-direction: row-reverse; }
.technology_imgbox { width: 560px; }
.technology_imgbox img { max-width: 100%; box-shadow: 10px 10px 0px rgb(0 44 165 / 8%); border-radius: 0 10px; }
.technology_textbox { display: flex; flex-direction: column; justify-content: center; width: calc(100% - 560px); padding-left: 80px; }
.technology_inr:nth-child(even) .technology_textbox { padding-left: 0px; padding-right: 80px; }
.technology_textbox h3 { position: relative; margin-bottom: 50px; padding-bottom: 30px; border-bottom: 1px solid #ccc; font-size: 36px; letter-spacing: -0.03em; line-height: 1; }
.technology_textbox h3:after { content: ''; position: absolute; right: 0px; bottom: -5px; width: 10px; height: 10px; background: #1d2088; border: 2px solid #1d2088; border-radius: 10px; }
.technology_textbox h3 span.en_title { display: block; margin-bottom: 20px; color: #1d2088; font-size: 16px; font-weight: 600; letter-spacing: 0; }
.technology_textbox p { text-align: justify; color: #444; line-height: 1.7; word-break: keep-all; letter-spacing: -0.03em; }

/* 구글 번역 */
#google_translate_element { position: fixed; right: 2%; top: 30px; z-index: 99; }
.goog-te-gadget-simple { width: 110px; height: 25px; border: 1px solid #aaa !important; border-radius: 0px; }

/* 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:#1d2088; border: 1px solid #1d2088; -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:#1d2088; border: 2px solid #1d2088; -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:30px; word-break:keep-all}
.center-history-info .history-item:last-child { margin-bottom:0px; }
.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:#1d2088; 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: 12px; }
	.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; }

}