/* head */
.main_head { position: absolute; left: 5%; top: 10%; z-index: 9; }
.menu_inr li { margin-bottom: 20px; }
.menu_inr li:last-child { margin-bottom: 0px; }
.menu_inr li a { position: relative; display: inline-flex; flex-wrap: wrap; color: #fff; font-size: 1.5em; font-weight: 500; letter-spacing: -0.02em; }
.menu_inr li a:after { content:''; position: absolute; left: 0px; bottom: 0; width: 0%; height: 3px; background: #fff; transition: 0.5s; }
.menu_inr li a:hover:after { width: 100%; }

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: 90; background: rgba(0, 0, 0, 0.9); 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; padding: 80px 0px; border-radius: initial; }

.nav-inner { display: flex; width: 100%; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.nav-list { display: flex; justify-content: center; align-items: flex-start; flex-direction: column; width: 100%; height: 100%; }
.nav-list li { margin-bottom: 50px; width: 100%; text-align: center; }
.nav-list li:last-child { margin-bottom: 0px; }
.nav-list li a { position: relative; color: #fff; font-family: 'GmarketSans'; font-size: 2em; font-weight: 500; letter-spacing: -0.02em; line-height: 1; }

.nav-link { padding: 1rem; font-size: 2rem; }
.nav-link:hover, .nav-link:focus { color: #fff; }

.menu-toggler { position: absolute; top: 100px; right: 5%; width: 50px; height: 35px; display: flex; flex-direction: column; justify-content: space-between; z-index: 99; transition: all 650ms ease-out; cursor: pointer; }
.menu-toggler.open { width: 45px; transform: rotate(-45deg); }

.bar { background-color: #000; width: 100%; height: 4px; border-radius: 0.8rem; }
.about_menu .bar { background-color: #fff; }
.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 ul ul { display: none; margin-top: 10px; }
.nav-inner ul ul li { margin-bottom:0px; }
.nav-inner ul ul li a { display: inline-block; padding: 0px; color: rgba(255, 255, 255, 0.7); font-size: 1.1em; font-weight: 300; line-height: 1.8; text-decoration: none; -webkit-transition: all 0.5s; -moz-transition: all 0.5s; -o-transition: all 0.5s; -ms-transition: all 0.5s; transition: all 0.5s; }
.nav-inner ul ul li a:hover { color: rgba(255, 255, 255, 1); }
.nav-inner ul ul li a:before { display: none; height: 1px; }

/* footer */
.footer { display: flex; flex-wrap: wrap; align-items: center; position: relative; width: 100%; padding: 60px 5%; background: #000; color: #fff; }
.footer_logo { margin-right: 20px; }
.footer_logo img { width: 100px; }
.footer_info { line-height: 1.6; }
.footer_info strong { display: block; margin-bottom: 10px; font-size: 1.1em; }
.footer_info p span { position: relative; display: inline-block; padding: 0 20px; }
.footer_info p span.pl00 { padding-left: 0px; }
.footer_info p span.copyright { color: #797979; }
.footer_info p span:after { content:''; position: absolute; right: 0px; top: 20%; width: 1px; height: 60%; background: #fff; }
.footer_info p span.noline:after { display: none; }

.footer_iconlist { position: absolute; top: 60px; right: 5%; }
.footer_iconlist ul { display: flex; flex-wrap: wrap; }
.footer_iconlist ul li { margin: 0 10px; }
.footer_iconlist ul li img { width: 40px; }

/* main */
.main_vis { position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 100%; height: 100vh; margin-bottom: 150px; background: #063391; }
.main_text { animation: fadein 1s ease-in-out; }
.main_text img { width: 575px; max-width: 100%; }

@keyframes fadein{
	0% {
		opacity: 0;
		transform: translateY(100px);
	}
	100% {
		opacity: 1;
		transform: none;
	}
}

/* 움직이는 텍스트 */
.animated-title { position: absolute; bottom: 20px; width: 100%; max-width: 100%; height: auto; padding: 15px 0; overflow-x: hidden; overflow-y: hidden; }
.animated-title .track { position: absolute; top: 0; white-space: nowrap;will-change: transform;animation: marquee 20s linear infinite; }
@keyframes marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
@media (hover: hover) and (min-width: 700px){
	/* .animated-title .content {-webkit-transform: translateY(calc(100% - 8rem)); transform: translateY(calc(100% - 8rem));} */
}

.animated-title .content span { position: relative; padding: 0 20px; font-family: 'GmarketSans'; color: #fff; font-size: 25px; font-weight: 400; }
.animated-title .content span:after { content:''; position: absolute; top: calc(50% - 2px); right: -2px; width: 4px; height: 4px; background: #fff; border-radius: 16px; }
.animated-title .content span:last-child:after { display: none; }

.main_con { margin-bottom: 150px; }

.main_con01_list { overflow: hidden; width: 90%; margin: 0 auto; border-top: 1px solid #000; }
.main_con01_list li { display: flex; flex-wrap: wrap; align-items: center; width: 100%; height: 130px; border-bottom: 1px solid #000; }
.main_con01_list li:first-child { justify-content: flex-end; }
.main_con01_list li:last-child { justify-content: flex-start; }

@keyframes marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

@keyframes marquee02 {
	from { transform: translateX(0); }
	to { transform: translateX(50%); }
}

.main_con01_list li dl { display: flex; flex-wrap: wrap; }

.main_con01_list li:first-child dl { transform;animation: marquee 20s linear infinite; }
.main_con01_list li:last-child dl { transform;animation: marquee02 20s linear infinite; }

.main_con01_list li dl dd { position: relative; padding: 0 30px; font-family: 'GmarketSans'; font-size: 68px; font-weight: 500; letter-spacing: -0.03em; line-height: 1; }
.main_con01_list li dl dd:after { content:''; position: absolute; top: calc(50% - 8px); right: -8px; width: 16px; height: 16px; background: #000; border-radius: 16px; }
.main_con01_list li dl dd:last-child:after { display: none; }

.main_con01_list li dl.main_con01_slist01 dd:first-child:before { content:'▶'; position: absolute; top: calc(50% - 19px); left: -19px; font-size: 32px; }
.main_con01_list li dl.main_con01_slist02 dd:last-child:before { content:'◀'; position: absolute; top: calc(50% - 19px); right: -19px; font-size: 32px; }

.main_con h2 { text-align: center; margin-bottom: 80px; font-size: 42px; }
.main_con h2 span { position: relative; display: inline-block; padding-top: 40px; font-family: 'GmarketSans'; font-weight: 500; letter-spacing: -0.03em; }
.main_con h2 span:after { content:''; position: absolute; top: 0; left: calc(50% - 60px); width: 120px; height: 5px; background: #000; }

/* sub */
.page_title { text-align: left; padding: 0 5%; color: #fff; letter-spacing: -0.03em; }
.page_title h3 { margin-bottom: 20px; font-family: 'GmarketSans'; font-size: 42px; }
.page_title h4 { font-family: 'GmarketSans'; font-size: 25px; font-weight: 500; line-height: 1; }
.board_title { margin-bottom: 50px; padding: 0; color: #000; letter-spacing: -0.03em; }

#sub_page img { max-width: 100%; }

.about_inr01 { position: relative; text-align: center; padding: 100px 0 200px; background: #000; }
.about_inr01 img { width: 768px; max-width: 75% !important; margin: 0 auto; }

.about_inr02 { margin-bottom: 150px; background: url('../image/sub/about_img02_bg.jpg') center top no-repeat; background-size: cover; text-align: center; }
.about_inr02 img { width: 1180px; max-width: 75% !important; margin: 0 auto; margin-top: 17%; }

.about_inr03 { margin-bottom: 100px; }
.about_inr03 .page_title { margin-bottom: 80px; }
.about_inr03 .page_title h4 { color: #000; }

.swiper { width: 100%; height: 100%; }
.swiper-slide { display: flex; justify-content: center; align-items: center; text-align: center; }
.swiper-slide img { display: block; width: 100%; height: 100%; object-fit: cover; }

.client_box { position: relative; }
.client_list { display: flex; flex-wrap: wrap; justify-content: center; width: 90%; margin: 0 auto; }
.client_list li { width: 15%; margin-left: 2%; margin-bottom: 1.25%; }
.client_list li:nth-child(6n+1) { margin-left: 0%; }

.board_wrap { width: 90%; margin: 0 auto; padding: 100px 0 100px; }