.scroll_on { opacity: 0; transition: all 1s;}
.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);}

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

/* head */
.head { position: relative; z-index: 99; width: 100%; border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
.head .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; height: 90px; }

.logo { position: absolute; top: 25px; left: 0; }

.menu { display: flex; flex-wrap: wrap; align-items: center; }
.menu_inr { display: flex; flex-wrap: wrap; }
.menu_inr li { padding: 0 30px; }
.menu_inr li a { color: #222; font-size: 19px; }

.dropdown_main { position: absolute; top: 25px; right: 0px; display: flex; flex-wrap: wrap; align-items: center; height: 40px; padding: 0 20px; background: #f4f4f4; border-radius: 500px; }
.dropdown_main i { margin-right: 5px; color: #888; font-size: 1.1em; }
.dropdown_bar { position: relative; padding-right: 30px; background: url('../image/top/lang_arrow01.png') center right no-repeat; color: #999; font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.3s; }
.dropdown_bar:after { content: "\e942"; position: absolute; right: 0px; top: 0px; font-family: 'xeicon' !important; }
.dropdown_content { position: absolute; top: 100%; left: 0%; display: none; margin-top: 0px; width: 100%; padding: 10px 0px; background: #f4f4f4; border-radius: 10px; box-shadow: 0 0px 5px rgba(0, 0, 0, 0.1); animation: fade-in 1s ease; z-index: 99; }
.dropdown_content a { display: block; padding: 5px 30px; color: #999; font-size: 14px; font-weight: 400; line-height: 1.5; text-decoration:none; transition: all 0.3s; }
.dropdown_content a:hover { color: #222; }

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

/* footer */
.footer { padding: 50px 0; background:#131313; font-size: 15px; }
.footer_menu { position: absolute; right: 0px; top: 0px; display: inline-flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; z-index:9; }
.footer_menu:after { content: ""; display: block; clear: both; }
.footer_menu li { position: relative; display: flex; flex-wrap: wrap; justify-content: flex-end; margin-right: 5px; }
.footer_menu li:last-child { margin-right: 0px; }
.footer_menu li 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.7); font-weight: 300; letter-spacing: -0.3px; transition: 0.3s; }
.footer_menu li a:hover { color: #2061d0; }
.footer_menu li a i { margin-right: 5px; }
.footer_copyright { position: relative; color: #888; font-weight: 400; line-height: 1.7em; }
.footer_copyright .ft_logo { margin-bottom: 15px; }
.footer_copyright .ft_logo a { color: #fff; font-size: 18px; }
.footer_copyright span { position: relative; display: inline-block; padding-right: 15px; margin-right: 15px; }
.footer_copyright span:after { content:''; position: absolute; right: 0px; top: 25%; width: 1px; height: 50%; background: #666; }
.footer_copyright span.noline { padding-right: 0px; margin-right: 0px; }
.footer_copyright span.noline:after { display: none; }
.footer_copyright p { margin-top: 20px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, 0.1); color: #555; }
.footer_copyright p a { color: #555; }

/* main */
.main_vis { width: 100%; height: 750px; background: url('../image/main/main_vis01.jpg') center top no-repeat; background-size: cover; }
.main_vis .wrap { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; height: 100%; }
.main_vis h2 { text-align: center; color: #fff; font-family: "NEXON Lv2 Gothic"; font-size: 48px; }
.main_vis h2 span { display: block; margin-bottom: 50px; font-size: 24px; font-weight: 400; letter-spacing: 0.03em; opacity: 0.5; }

.main_con { padding: 100px 0; color: #222; }
.main_con h3 { font-family: "NEXON Lv2 Gothic"; font-size: 36px; font-weight: 800; letter-spacing: -0.03em;  }

.main_con_title { text-align: center; margin-bottom: 50px; }
.main_con_title h3 { margin-bottom: 30px; }
.main_con_title p { color: #333; font-size: 1.15em; }

.main_more { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 180px; height: 55px; letter-spacing: -0.03em; transition: 0.3s; }
.main_more01 { background: #2061d0; color: #fff; }
.main_more01:hover {  }
.main_more02 { border: 1px solid #fff; color: #fff; }
.main_more02:hover { background: #fff; color: #222; }

.main_con01 { display: flex; flex-wrap: wrap; }
.main_con01_inr { width: 50%; }
.main_con01_left {  }
.main_con01_imgbox { width: 0%; height: 600px; background: url('../image/main/main_con01_img01.jpg') center left no-repeat; }
.main_con01_imgbox.active { width: 100%; }
.main_con01_right { display: flex; flex-wrap: wrap; align-items: center; }
.main_con01_right_in { width: 640px; padding-left: 80px; }
.main_con01 h3 { margin-bottom: 50px; color: #222; }
.main_con01 h3 span { color: #2061d0; }
.main_con01 p { margin-bottom: 80px; color: #555; font-size: 1.15em; line-height: 1.6; }

.main_con02 { padding-top: 0px; }
.tabs { display: flex; flex-wrap: wrap; justify-content: center; width: 100%; margin-bottom: 50px; }
.tabs li { margin: 0 5px; }
.tabs li a { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 160px; height: 50px; border: 1px solid #ddd; color: #777; font-size: 1.1em; font-weight: 500; letter-spacing: -0.03em; transition: 0.3s; }
.tabs li a:hover { border: 1px solid #2061d0; background: #2061d0; color: #fff; }
.tabs li.active a, .tabs li.active a:hover  { border: 1px solid #2061d0; background: #2061d0; color: #fff; }
.tab_container { overflow: hidden; width: 100%; }
.tab_content {  }

.main_con03 { text-align: center; padding: 120px 0; background: url('../image/main/main_con03_bg01.jpg') center top no-repeat; background-size: cover; color: #fff; }
.main_con03 h3 { margin-bottom: 50px; }
.main_con03 p { margin-bottom: 50px; color: rgba(255, 255, 255, 0.5); font-size: 1.15em; line-height: 1.6; word-break: keep-all; }

/* sub */
.sub_vis { width: 100%; height: 450px; background: #000 url('../image/sub/sub_vis01.jpg') center bottom no-repeat; background-size: cover; color: #fff; }
.sub_vis .wrap { display: flex; flex-wrap: wrap; align-content: center; justify-content: center; align-items: center; text-align: center; height: 100%; }
.sub_vis h2 { width: 100%; margin-bottom: 30px; font-size: 42px; font-weight: 500; letter-spacing: -0.03em; }
.sub_vis p { color: rgba(255, 255, 255, 0.5); font-size: 1.1em; font-weight: 300; word-break: keep-all; }

.sub_contents { padding: 100px 0; color: #333; }
.sub_contents02 { padding: 100px 0 0; color: #333; }

.sub_title { text-align: center; margin-bottom: 50px; }
.sub_title h2 { color: #333; font-size: 45px; font-weight: 700; }

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

.company_inr01 .wrap { display: flex; flex-wrap: wrap; }
.company_imgbox { width: 50%; }
.company_imgbox img { max-width: 100%; }
.company_textbox { display: flex; flex-wrap: wrap; align-content: center; width: 50%; padding-left: 80px; }
.company_textbox h3 { margin-bottom: 50px; color: #222; font-family: "NEXON Lv2 Gothic"; font-size: 36px; }
.company_textbox h3 span { color: #2061d0; }
.company_textbox p { color: #555; font-size: 1.15em; line-height: 1.6; word-break: keep-all; }

.company_inr02 { padding: 80px 0; background: #3059c7; color: #fff; }
.company_inr02 h3 { text-align: center; margin-bottom: 50px; font-family: "NEXON Lv2 Gothic"; font-size: 36px; }

.mission_list { display: flex; flex-wrap: wrap; }
.mission_list li { display: flex; flex-direction: column; align-items: center; text-align: center; width: 30%; margin-left: 5%; letter-spacing: -0.03em; }
.mission_list li:nth-child(3n+1) { margin-left: 0%; }
.mission_list li .iconbox { width: 200px; height: 200px; margin-bottom: 30px; border-radius: 500px; background: #fff; box-shadow: 5px 5px 0px rgba(255, 255, 255, 0.1); }
.mission_list li .iconbox img { max-width: 100%; }
.mission_list li h4 { margin-bottom: 20px; font-size: 25px; }
.mission_list li p { color: rgba(255, 255, 255, 0.8); line-height: 1.5; word-break: keep-all; }

p.contact_textbox { text-align: center; margin-bottom: 30px; color: #555; font-size: 1.1em; }
.contact_form { display: flex; flex-wrap: wrap; width: 1024px; max-width: 100%; margin: 0 auto; }
.contact_form li { width: 100%; margin-bottom: 15px; }
.contact_form li.wh50 { width: 49%; }
.contact_form li:first-child { margin-right: 2%; }
.contact_form li:last-child { margin-bottom: 0px; }
.contact_form li .frm_input { height: 55px; padding: 15px; background: #f4f4f4; border: none; }
.contact_form li textarea.frm_input { width: 100%; height: 200px; }

.contact_inr02 { padding: 80px 0; background: #f4f4f4; }
.contact iframe { margin-bottom: 30px; }
.contact_list li { margin-bottom: 10px; }
.contact_list li:last-child { margin-bottom: 0px; }
.contact_list dl { display: flex; flex-wrap: wrap; }
.contact_list dl dt, .contact_list dl dd { display: inline-flex; flex-wrap: wrap; align-items: center; }
.contact_list dl dt { justify-content: center; width: 120px; height: 35px; background: #555; border-radius: 500px; color: #fff; font-size: 0.9em; font-weight: 400; }
.contact_list dl dd { width: calc(100% - 120px); padding-left: 20px; }