/* #wrap{width:100%;max-width:2560px;height:100%;margin:0 auto;min-width:100%;position:absolute;left:50%;top:50%;transform:translate(-50%, -50%) translate(-1px, -1px)} */
#wrap {
  width: 100%;
  max-width: 2560px;
  height: 100%;
  margin: 0 auto;
  min-width: 100%;
}

section .inner {
  max-width: 1600px;
  margin: 0 auto;
}
/* header_info */
.header_info {
  text-align: center;
  position: absolute;
  top: 30px;
  right: 50px;
}

/*.header_info a{position:relative;border:1px solid #ddd;color:#999;font-size:13px;padding:0 17px;border-radius:3px;line-height:35px;font-weight:300;margin:0 2px;display:inline-block;position:relative} 
.header_info a:hover{text-decoration:none}
*/

/* section */
.sec_box {
  max-width: 1500px;
  margin: 0 auto;
}
.sec-wrap,
.header,
.sec-content,
.sec-footer {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
}

/* header */
.header {

  height: 100px;
  text-align: center;
  transition: all ease 0.5s;
  -webkit-transition: all ease 0.5s;
  -o-transition: all ease 0.5s;
  -moz-transition: all ease 0.5s;
  -ms-transition: all ease 0.5s;
  overflow: hidden;
}
/*.header .logo{display:block;width:116px;height:25px;background:url(../img/logo.png) no-repeat 50%;position:fixed;left:50px;top:40px;z-index:999}   
*/

.header:after {
  opacity: 0;
  transition: all ease 0.6s;
  -webkit-transition: all ease 0.6s;
  -o-transition: all ease 0.6s;
  -moz-transition: all ease 0.6s;
  -ms-transition: all ease 0.6s;
}
.header:before {
  content: "";
  width: 100%;
  height: 100px;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  opacity: 0;
  transition: all ease 0.6s;
  -webkit-transition: all ease 0.6s;
  -o-transition: all ease 0.6s;
  -moz-transition: all ease 0.6s;
  -ms-transition: all ease 0.6s;
}

.top_reserve_btn {
  display: block;
  align-items: center;
  /* justify-content: space-between; */
  width: 174px;
  height: 51px;
  padding: 16px;
  background: none;
  color: #fff !important;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.04em;
  border:1px solid rgba(250,250,250,0.7) !important;
  text-decoration: none !important;
  box-sizing: border-box;
  transition: all 0.35s ease;
}

.top_reserve_btn span {
  display: block;
  line-height: 1;
}

.top_reserve_btn em {
  font-style: normal;
  font-size: 18px;
  font-weight: 300;
  line-height: 1;
  transition: transform 0.35s ease;
}

.top_reserve_btn:hover {
  background: #b4925b;
  color: #fff !important;
}

.menu_wrap:hover .top_reserve_btn{  background: #b4925b;
  color: #fff !important;
}

.menu_wrap.is-scroll .top_reserve_btn{  background: #b4925b;
  color: #fff !important;
}

.top_reserve_btn:hover em {
  transform: translateX(5px);
}

/* menu */
.menu {
  display: inline-block;

  
}

.menu > li {
  float: left;
}

.menu > li h2 {
  position: relative;
  font-weight: 500;
  cursor: pointer;
  color: #fff;
  font-size: 18px;
  padding: 0 35px;
  line-height: 100px;
  letter-spacing: -0.03em;
  transition: color 0.4s ease;
}

.menu > li h2:hover:before,
.menu > li.on h2:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: #ddac03;

}

.menu > li > a {
  color: #666;
  font-size: 16px;
}

.menu_wrap {
	height:100px;
  padding: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;

  z-index: 999;
  background: transparent;
  border-bottom: 1px solid rgba(250, 250, 250, 0.2);
  transition:
    background-color 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease;
}

/* 마우스 오버 또는 스크롤했을 때 */
.menu_wrap:hover,
.menu_wrap.is-scroll {
  background: #fff;
  border-bottom-color: #eee;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}

/* 메뉴 글자색 변경 */
.menu_wrap:hover .menu > li h2,
.menu_wrap.is-scroll .menu > li h2 {
  color: #222;
}

/* 메뉴 전체 영역 오버 */
.menu_wrap:hover {
  background: #fff;
  border-bottom-color: #eee;
}

/* 흰색 배경에서 메뉴 글자색 변경 */
.menu_wrap:hover .menu > li h2 {
  color: #222;
  padding: 0px 35px;
  transition: all 0.4s ease;
}

.menu > li > ul {
  width: 100%;

  text-align: center;
  display: none;
  padding: 20px 0;
}

.menu > li > ul > li > a {
  display: block;
  padding: 5px 0;
  font-size: 15px;
  color: #666;
  transition: all 0.3s ease;
}

.menu > li > ul > li > a:hover {
  color: #222;
  font-weight: 700;
}

.menu > li.open ul > li {
  opacity: 1;
}

.menu > li.open {
  background: #fff;
}

/* 로고는 항상 표시 */
.menu_wrap .logo {
  position: absolute;
  top:0px;
  left:40px;
  z-index: 1001;
  display: block;
  opacity: 1;
  visibility: visible;
}

.menu_wrap .logo img {
  display: block;
  opacity: 1;
  visibility: visible;
  transition: all 0.3s ease;
  width:300px; height:100px;
}

/* 마우스 오버 및 스크롤 상태에서도 로고 유지 */
.menu_wrap:hover .logo,
.menu_wrap.is-scroll .logo,
.menu_wrap:hover .logo img,
.menu_wrap.is-scroll .logo img {
  display: block;
  opacity: 1;
  visibility: visible;
}

.logo {
  position: relative;
  z-index: 20;
}

.logo a {
  border: 0px solid red;

  position: relative;
  display: block;
  width: auto; /* 로고 가로 사이즈 */
   /* 헤더 높이에 맞게 조절 */
}

.logo img {
  position: absolute;
  left: 0px;
  top: 0px;
  height: auto;
  transition: opacity 0.3s ease;
}

@media (max-width: 1024px) {
  .logo a {
    width: 240px !important;  height:80px !important;
  }
  .logo img {
    width: 240px !important;
    height:80px !important;
    left: 0px;
    top:0px;
  }
}

/* 처음 접속 시: 화이트 로고만 보이기 */
.menu_wrap:not(.scrolled) .logo-white {
  display: block !important;
}

.menu_wrap:not(.scrolled) .logo-dark {
  display: none !important;
}

/* 스크롤 후: 다크 로고만 보이기 */
.menu_wrap.scrolled .logo-white {
  display: none !important;
}

.menu_wrap.scrolled .logo-dark {
  display: block !important;
}

.logo:hover .logo-white {
  display: none !important;
}

.logo:hover .logo-dark {
  display: block !important;
}

.menu_wrap:hover .logo-dark {
  display: block !important;
}

/* banner */
.section_banner {
  width: 100%;
  overflow: hidden;
  padding: 45px 0 100px 0;
}
.section_banner ul {
  display: flex;
  max-width: 1400px;
  margin: 0 auto;
}
.section_banner li {
  flex: 1;
  width: 25%;
  padding: 0 10px;
  background-repeat: no-repeat;
}
.section_banner li a {
  display: block;
  height: 250px;
  background-color: #fff;
  box-shadow: 2px 2px 4px rgba(220, 220, 220, 1);
  background-size: auto 55px;
  background-repeat: no-repeat;
  background-position: right 25px bottom 25px;
}
.section_banner li a:hover {
  text-decoration: none;
}
.section_banner li a h2 {
  color: #000000;
}
.section_banner li a:hover h2 {
  color: #f5ba3b;
}
.section_banner div {
  padding: 40px 25px 0;
}
.section_banner li p {
  color: #999;
  padding-top: 10px;
}
.section_banner li:first-child {
  margin-left: 0;
}
.section_banner li:nth-child(1) a {
  background-image: url("../img/icon_banner_company.svg");
}
.section_banner li:nth-child(2) a {
  background-image: url("../img/icon_banner_business.svg");
}
.section_banner li:nth-child(3) a {
  background-image: url("../img/icon_banner_goal.svg");
}
.section_banner li:nth-child(4) a {
  background-image: url("../img/icon_banner_news.svg");
}

/* visual swiper */
.swiper {
  width: 100%;
  height: 100%;
}
.swiper-slide {
  text-align: center;
  font-size: 18px;
  background: #fff;

  /* Center slide text vertically */
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

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

/* visual */
#visual {
  position: relative;
  width: 100%;
  height: 860px;
  overflow: hidden;
  margin-top: -100px;
}
#visual .imgBox {
  width: 100%;
  height: 860px;
  background-size: cover !important;
}
#visual .img1 {
  background: url(../img/visual/visual_img1.jpg) center top no-repeat;
}
#visual .img2 {
  background: url(../img/visual/visual_img2.jpg) center top no-repeat;
}
#visual .img3 {
  background: url(../img/visual/visual_img3.jpg) center top no-repeat;
}

.visualList .txtBox {
  position: absolute;
  border: 0px solid red;

  top: 280px;
  left: 6%;
  width: 100%;
  text-align: left;
  color: #fff;
  font-size: 60px;
  color: #fff;
}

.visualList .txtBox .txt1 {
  font-size: 20px;
  font-weight: 800 !important;
  letter-spacing: 0.5px;
  color: #ff3300;
}
.visualList .txtBox .txt2 {
  font-size: 60px;
  font-weight: 700;
  letter-spacing: -3px !important;
  line-height: 75px;
  padding-top: 20px;
}
.visualList .txtBox .txt3 {
  font-size: 19px;
  font-weight: 700;
  color: #fff;
  padding-top: 30px;
  text-align: left;
}
#visual .btn_prev,
.btn_next {
  color: #fff !important;
}

.grand_visual_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  width: 220px;
  height: 64px;
  margin-top: 48px;
  border: 1px solid #f36f21;
  color: #fff;
  background: #f36f21;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.04em;
  text-decoration: none;
  transition: all 0.35s ease;

  transform: translateY(25px);
  animation: grandTextUp 0.8s ease forwards;
  animation-delay: 1.15s;
}

.grand_visual_btn span {
  font-size: 20px;
  line-height: 1;
  transition: transform 0.35s ease;
}

.grand_visual_btn:hover {
  background: transparent;
  color: #f36f21;
}

.grand_visual_btn:hover span {
  transform: translateX(6px);
}

@media (max-width: 1024px) {
  .grand_visual_btn {
    width: 170px;
    height: 50px;
    margin-top: 35px;
  }
  .grand_visual_btn {
  }
}

/* .swiper-pagination {
    bottom: 20px;
    left: 50%;
}

.swiper-pagination-bullet {
	margin: 4px;
} */

#visual.swiper-pagination {
  color: #fff;
  bottom: 20px;
  left: 50%;
}

/* common */
.main_tit {
  width: 100%;
  text-align: center;
  margin-bottom: 25px;
}
.main_tit h3 {
  color: #000;
  font-size: 32px;
  letter-spacing: -0.8px;
}
.main_tit p {
  color: #999;
  font-size: 16px;
}

.main_tit2 {
  padding: 100px 0 100px;
  text-align: center;
}
.main_tit2 h3 {
  font-size: 40px;
  color: #555;
  letter-spacing: -1px;
}
.main_tit2 h3 span {
  color: #0078ff;
}
.main_tit2 p {
  padding-top: 20px;
  color: #999;
  font-size: 18px;
  font-weight: 500;
}

/* company */
#company .photo_list {
  display: flex;
}
#company .photo_list li {
  width: 25%;
  height: 500px;
  margin-right: 10px;
}
#company .photo_list li:nth-child(4) {
  margin-right: 0;
}

#company .photo_box {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
#company .photo_box img {
  width: 100%;
  top: 0;
  height: 100%;
  position: relative;
  left: 0;
  -webkit-transition: -webkit-transform 0.3s;
  -moz-transition: -moz-transform 0.3s;
  -o-transition: -o-transform 0.3s;
  transition: transform 0.3s;
}
#company .photo_box .sub_title {
  text-align: left;
  color: #fff;
  letter-spacing: -1px;
  position: absolute;
  left: 35px;
  bottom: 80px;
  overflow: hidden;
}
#company .photo_box .sub_title strong {
  font-size: 24px;
  padding-bottom: 20px;
  display: block;
}
#company .photo_box .sub_title p {
  font-size: 16px;
  width: 74%;
}
#company .photo_box .ovrly {
  background: rgba(0, 0, 0, 0.3);
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  width: 100%;
  opacity: 0.9;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
#company .photo_box:hover img {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
  transform: scale(1.1);
}
#company .photo_box:hover .ovrly {
  opacity: 0.2;
}

/* gallery */
#gallery {
  width: 100%;
  padding: 0 0 100px 0;
  background: #f8f8f8;
  overflow: hidden;
  margin-top: 100px;
}
.gallery_list {
  display: flex;
}
.gallery_list {
  width: 100%;
  position: relative;
}
.gallery_list dl {
  margin: 0 1% 0 0;
  box-shadow: 0 5px 10px #ddd;
  background: #fff;
  min-height: 380px;
}
.gallery_list dl:nth-child(5) {
  margin: 0;
}
.gallery_list dt {
  position: relative;
  height: 185px;
  overflow: hidden;
}
.gallery_list dt span.label {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0 20px;
  height: 35px;
  line-height: 35px;
  color: #fff;
  font-weight: 500;
  font-size: 12px;
  background: #007572;
}
.gallery_list dt img {
  width: 100%;
  height: 100%;
}
.gallery_list dd {
  background: #fff;
  padding: 23px 30px 55px 34px;
  font-size: 14px;
}
.gallery_list dd p.date {
  font-size: 14px;
  color: #0078ff;
  padding-bottom: 10px;
  font-weight: 700;
}
.gallery_list dd h3 {
  font-size: 20px;
  line-height: 30px;
  font-weight: 500;
  color: #000;
  max-height: 54px;
  overflow: hidden;
  margin-bottom: 10px;
  white-space: normal;
}
.gallery_list dd p.cont {
  font-size: 13px;
  line-height: 21px;
  max-height: 62px;
  overflow: hidden;
  white-space: normal;
}

/* business */
.section_business {
  position: relative;
  width: 100%;
  height: 800px;
  margin: 0 auto;
  background: url(../img/visual/visual_img4.jpg) 50% 50% no-repeat;
  background-size: cover !important;
  padding: 200px 0 130px 0;
  text-align: center;
  overflow: hidden;
}
.section_business:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/visual/gradient_bg.png) 50% 50% no-repeat;
  background-size: cover;
}
.section_business h3 {
  font-size: 34px;
  font-weight: 300;
  color: #fff;
}
.section_business h3 strong {
  font-weight: 600;
}
.section_business ul {
  display: flex;
  padding: 60px 100px 0;
  max-width: 1400px;
  margin: 0 auto;
  overflow: hidden;
}
.section_business ul li {
  width: 25%;
  position: relative;
  padding: 60px 30px;
  margin-right: 1%;
  list-style: none;
}
.section_business ul li div {
  color: #fff;
  display: block;
}
.section_business ul li div.icons span {
  font-size: 40px;
  padding-bottom: 20px;
}
.section_business ul li::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 130px;
  background: #fff;
  opacity: 0.2;
  top: 50%;
  right: 0;
  margin-top: -60px;
}
.section_business ul li:last-child::before {
  content: none;
}
.section_business ul li .title {
  display: inline-block;
  padding: 5px 40px;
  font-size: 52px;
  font-weight: 700;
  position: relative;
  border: 1px solid transparent;
  color: #fff;
  transition: background-color 0.3s ease-in-out;
  -webkit-transition: background-color 0.3s ease-in-out;
  -moz-transition: background-color 0.3s ease-in-out;
  -o-transition: background-color 0.3s ease-in-out;
  -ms-transition: background-color 0.3s ease-in-out;
}

.section_business ul li .title em {
  font-size: 15px;
}
.section_business ul li .title .bottom,
.section_business ul li .title .top {
  height: 1px;
  left: 0;
  right: 0;
  transform: scaleX(0);
}
.section_business ul li .title .left,
.section_business ul li .title .right {
  width: 1px;
  top: 0;
  bottom: 0;
  transform: scaleY(0);
}
.section_business ul li .title .top {
  top: 0;
}
.section_business ul li .title .bottom {
  bottom: 0;
}
.section_business ul li .title .left {
  left: 0;
}
.section_business ul li .title .right {
  right: 0;
}
.section_business ul li:hover .top,
.section_business ul li:hover .bottom {
  transform: scaleX(1);
}
.section_business ul li:hover .left,
.section_business ul li:hover .right {
  transform: scaleY(1);
}
.section_business ul li p {
  color: #fff;
  font-size: 19px;
}

/* board */
#section_board {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 100px 0;
  display: flex;
}
#section_board > div {
  flex: 1;
  margin: 0 80px 0 0;
  position: relative;
}
#section_board > div:nth-child(2) {
  margin: 0;
}
#section_board > div h3 {
  font-size: 20px;
  color: #000;
  padding-bottom: 15px;
  border-bottom: 1px solid #ddd;
}
#section_board > div ul {
  margin-top: 20px;
}
#section_board > div ul li {
  position: relative;
  padding-left: 15px;
}
#section_board > div ul li:before {
  content: "";
  position: absolute;
  top: 14px;
  left: 0;
  width: 4px;
  height: 4px;
  background: #3e85df;
  display: block;
}
#section_board > div ul li a {
  display: block;
  color: #666;
  font-size: 16px;
  line-height: 30px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
#section_board > div ul li a:hover {
  color: #1c4cb9;
  font-weight: bold;
}
#section_board > div a.btn_more {
  position: absolute;
  top: 10px;
  right: 0;
  color: #999;
  font-size: 13px;
  background: url(../img/board_btn_plus.png) center top no-repeat;
  width: 25px;
  height: 25px;
}

/* sub_visual */
.subv_top {
  padding: 180px 20px;
}
.location {
  overflow: hidden;
  margin: 0 auto;
  text-align: center;
  padding-bottom: 10px;
}
.location li {
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  font-size: 16px;
}
.location li a.home {
  background: url(../img/sub/icon_location_home.png) no-repeat;
  width: 13px;
  height: 12px;
  display: inline-block;
}
.location li:before {
  display: inline-block;
  content: ">";
  position: relative;
  top: -1px;
  vertical-align: middle;
  margin: 0px 20px 0 17px;
  color: #fff;
  font-size: 12px;
}
.location li:first-child:before {
  display: none;
}
.location li:last-child {
  color: #fff;
}

.sub_visual {
  width: 100%;
  height: 480px;
  position: relative;
  overflow: hidden;
  margin-top: -100px;
  border: 0px solid red;
}
.sub_visual:before {
  content: "";
  background-color: rgba(0, 0, 0, 0.1);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.sub_visual:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  background-size: cover;
  background-position: center center;
  animation-duration: 3s;
  animation-fill-mode: both;
  animation-iteration-count: 1;
  animation-timing-function: ease;
  -webkit-animation-duration: 3s;
  -webkit-animation-fill-mode: both;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-timing-function: ease;
  animation-delay: 0.4s;
  -webkit-animation-delay: 0.4s;
  animation-name: visual-zoom;
  -webkit-animation-name: visual-zoom;
}
.sub_visual:after {
  background-size: cover !important;
  width: 100%;
  height: 100%;
}
.sub_bg1:after {
  background: url(../img/sub/sub_visual1.jpg);
}
.sub_bg2:after {
  background: url(../img/sub/sub_visual2.jpg);
}
.sub_bg3:after {
  background: url(../img/sub/sub_visual3.jpg);
}
.sub_bg4:after {
  background: url(../img/sub/sub_visual4.jpg);
}
.sub_bg5:after {
  background: url(../img/sub/sub_visual5.jpg);
}
.sub_bg6:after {
  background: url(../img/sub/sub_visual6.jpg);
}
.sub_visual h1 {
  font-size: 4.3em;
  color: #fff;
  text-align: center;
  font-weight: 700;
}
.sub_visual ul,
.sub_visual h1 span,
.sub_visual h1 p {
  animation-duration: 0.7s;
  animation-fill-mode: both;
  animation-iteration-count: 1;
  animation-timing-function: ease;
  -webkit-animation-duration: 0.7s;
  -webkit-animation-fill-mode: both;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-timing-function: ease;
  animation-delay: 0.3s;
  -webkit-animation-delay: 0.3s;
  animation-name: visual-tit;
  -webkit-animation-name: visual-tit;
}
.sub_visual h1 span,
.sub_visual h1 p {
  animation-delay: 0.8s;
  -webkit-animation-delay: 0.8s;
}

@keyframes visual-zoom {
  0% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
@-webkit-keyframes visual-zoom {
  0% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes visual-tit {
  0% {
    opacity: 0;
    -webkit-opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-opacity: 1;
    transform: translateY(0px);
  }
}
@-webkit-keyframes visual-tit {
  0% {
    opacity: 0;
    -webkit-opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-opacity: 1;
    transform: translateY(0px);
  }
}

.sub-depth-wrap {
  position: relative;
  margin-top: -70px;
}
.sub_visual h1 p {
  font-size: 16px;
  font-weight: 300;
  margin: 10px 0 0;
}

.sub-depth-1 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.1);
}
.sub-depth-1 ul {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  border: 0px solid #ccc;
}
.sub-depth-1 li {
  float: left;
}
.sub-depth-1 li:only-child {
  width: 100%;
}
.sub-depth-1 li:first-child:nth-last-child(2),                       /* 메뉴가 둘 일 때, 1번 메뉴 선택 */
.sub-depth-1 li:first-child:nth-last-child(2)+li {
  width: 50%;
} /* 메뉴가 둘 일 때, 2번 메뉴 선택 */
.sub-depth-1 li:first-child:nth-last-child(3),                       /* 메뉴가 셋 일 때, 1번 메뉴 선택 */
.sub-depth-1 li:first-child:nth-last-child(3)~li {
  width: 33.33%;
} /* 메뉴가 셋 일 때, 2~3번째 메뉴 선택 */
.sub-depth-1 li:first-child:nth-last-child(4),                       /* 메뉴가 넷 일 때, 1번 메뉴 선택 */
.sub-depth-1 li:first-child:nth-last-child(4)~li {
  width: 25%;
} /* 메뉴가 넷 일 때, 2~4번째 메뉴 선택 */
.sub-depth-1 li:first-child:nth-last-child(5),                       /* 메뉴가 넷 일 때, 1번 메뉴 선택 */
.sub-depth-1 li:first-child:nth-last-child(5)~li {
  width: 20%;
} /* 메뉴가 넷 일 때, 2~4번째 메뉴 선택 */
.sub-depth-1 li a {
  cursor: pointer;
  display: block;
  color: #fff;
  text-align: center;
  line-height: 70px;
  position: relative;
  transition: all ease 0.4s;
  -webkit-transition: all ease 0.4s;
  -ms-transition: all ease 0.4s;
  -o-transition: all ease 0.4s;
  font-size: 18px;
}
.sub-depth-1 li a:hover {
  color: #fff000;
}
.sub-depth-1 li.active a {
  background: #fff;
  color: #ff6600;
  font-weight: 500;
}
.sub-depth-1 li a:before {
  content: "";
  width: 1px;
  height: 12px;
  background: rgba(255, 255, 255, 0.2);
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -6px;
}
.sub-depth-1 li:last-child a:before,
.sub-depth-1 li.active a:before {
  display: none;
}
.sub-depth-2 {
  text-align: center;
  border-bottom: 1px solid #ddd;
  display: none;
}
.sub-depth-2 a {
  display: inline-block;
  line-height: 70px;
  margin: 0 20px;
  padding: 0 10px;
  font-size: 18px;
  color: #666;
  position: relative;
}
.sub-depth-2 a.active {
  color: #333;
  background: #f8f8f8;
}
.sub-depth-2 a.active:after {
  content: "";
  width: 0;
  height: 3px;
  background: #1ac0e4;
  position: absolute;
  left: 50%;
  bottom: -1px;
  animation-duration: 0.3s;
  animation-fill-mode: both;
  animation-iteration-count: 1;
  animation-timing-function: ease;
  -webkit-animation-duration: 0.3s;
  -webkit-animation-fill-mode: both;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-timing-function: ease;
  animation-delay: 0.3s;
  -webkit-animation-delay: 0.3s;
  animation-name: sub-tab-line;
  -webkit-animation-name: sub-tab-line;
}

.sub-depth-2 a.active,
.sub-depth-2 a:hover {
  color: #333;
  background: #f8f8f8;
  font-weight: bold;
}

@keyframes sub-tab-line {
  0% {
    width: 0%;
    left: 50%;
  }
  100% {
    width: 100%;
    left: 0;
  }
}
@-webkit-keyframes sub-tab-line {
  0% {
    width: 0%;
    left: 50%;
  }
  100% {
    width: 100%;
    left: 0;
  }
}

/* allmenu */
.btn_menu {
  display: none;
  position: absolute;
  top: 30px;
  right: 50px;
  width: 40px;
  height: 24px;
  cursor: pointer;
}
.btn_menu .bar {
  position: absolute;
  left: 0;
  width: 100%;
  width: 100%;
  height: 2px;
  border: 0;
  background: #555;
  transition:
    opacity 0.3s,
    top 0.3s,
    transform 0.5s;
  transition-delay: 0.3s, 0.3s, 0s;
}
.on .btn_menu .bar {
  background: #000;
}
.btn_menu .bar:nth-child(1) {
  top: 0;
  transform: rotate(0);
}
.btn_menu .bar:nth-child(2) {
  top: 11px;
  opacity: 1;
}
.btn_menu .bar:nth-child(3) {
  top: 22px;
  transform: rotate(0);
}
.btn_menu.map {
  right: 67px;
}
.btn_menu.map .bar {
  background: #000;
  transition:
    background 1s,
    opacity 0.3s,
    top 0.3s,
    transform 0.5s;
  transition-delay: 0s, 0s, 0s, 0.3s;
}
.btn_menu.map .bar:nth-child(1) {
  top: 11px;
  background: #000;
  transform: rotate(-45deg);
}
.btn_menu.map .bar:nth-child(2) {
  opacity: 0;
}
.btn_menu.map .bar:nth-child(3) {
  top: 11px;
  background: #000;
  transform: rotate(45deg);
}

#sitemap {
  display: none;
  position: fixed;
  top: -50px;
  right: -100%;
  width: 100%;
  height: calc(120%);
  background: #fff;
  padding: 50px 20px;
  z-index: 25;
  transition: all ease 0.5s;
  -webkit-transition: all ease 0.5s;
  o-transition: all ease 0.5s;
  -moz-transition: all ease 0.5s;
  -ms-transition: all ease 0.5s;
  overflow: hidden;
  overflow-y: auto;
}
#sitemap .top_info {
  display: none;
}
#sitemap > ul {
  max-width: 1280px;
  overflow: hidden;
  margin: 0 auto;
}
#sitemap > ul > li {
  float: left;
  width: 20%;
  padding: 0 10px;
}
#sitemap > ul > li h2 {
  font-size: 24px;
  color: #333;
}
#sitemap > ul > li h3 {
  font-size: 18px;
  color: #333;
  font-weight: 500;
  margin: 0 0 10px;
}
#sitemap > ul > li > ul > li {
  margin: 30px 0;
}
#sitemap > ul > li > ul > li > a {
  color: #999;
  font-size: 16px;
  padding: 7px 0;
  display: block;
}
#sitemap > ul > li h3 > a:hover {
  color: #014099;
}
#sitemap > ul > li > ul > li > a:hover {
  color: #014099;
}
#sitemap .top_info {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 45px;
  overflow: hidden;
  z-index: 10;
  border-bottom: 1px solid #ddd;
}
#sitemap .top_info a {
  display: inline-block;
  width: 50%;
  height: 45px;
  float: left;
  background: #f8f8f8;
  text-align: center;
  color: #666;
  line-height: 45px;
}
#sitemap.open {
  display: block;
  right: 0;
}
.header.stm-hd {
  background: #fff;
}
.header.stm-hd .logo {
  background-image: url(../img/logo.png);
}
.header.stm-hd .nav {
  display: none;
}
.header.stm-hd .lang {
  display: none;
}
.scr {
  overflow-y: hidden;
}

/* footer */
#footer {
  clear: both;
  overflow: hidden;
  width: 100%;
  border-top: 1px solid #ddd;
}
#footer .foot_wrap {
  position: relative;
  max-width: 1500px;
  margin: 0 auto;
  padding-top: 25px;
}
#footer .foot_menu {
  width: 100%;
  position: relative;
}
.foot_menu li {
  display: inline-block;
  float: left;
  position: relative;
}
.foot_menu li a {
  font-size: 17px;
  color: #555;
  padding: 5px 15px 0 0;
  margin-left: 15px;
}
.foot_menu li a:before {
  content: "";
  position: absolute;
  left: 0px;
  top: 5px;
  width: 1px;
  height: 15px;
  background: #444;
}
.foot_menu li:first-child a:before {
  display: none;
}
.foot_menu li:first-child a {
  margin: 0;
}
.foot_menu li a:hover {
  text-decoration: underline;
}
.copyright {
  float: left;
  width: 100%;
  padding: 22px 0 70px 0px;
}
.copyright address {
  font-size: 17px;
}
.foot_sns {
  position: absolute;
  top: 25px;
  right: 0;
}
.foot_sns a {
  float: left;
  display: inline-block;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  vertical-align: middle;
  margin-left: 15px;
}
.foot_sns a:first-child {
  background: #999 url(../img/sns1.png) 50% 50% no-repeat;
  margin-left: 0;
}
.foot_sns a:nth-child(2) {
  background: #999 url(../img/sns2.png) 50% 50% no-repeat;
}
.foot_sns a:nth-child(3) {
  background: #999 url(../img/sns3.png) 50% 50% no-repeat;
}
.foot_sns a:hover {
  background-color: #666;
}

#top_btn {
  border-radius: 30px;
  position: fixed;
  bottom: 20px;
  right: 25px;
  width: 50px;
  height: 50px;
  line-height: 50px;
  border: 0;
  background: red;
  color: #fff;
  font-weight: 800;
  text-align: center;
  font-size: 1.4em;
  z-index: 99;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
}
#top_btn:hover {
  background-color: #cc0000;
}

/* contents */
#contents_wrap {
  max-width: 1400px;
  margin: 0px auto 0;
  padding: 0px 20px 80px 20px;
}

/**************************** responsive ****************************/

@media screen and (max-width: 690px) {
  /******* mobile ******/

  /* layout */
  html {
    font-size: 14px;
  }

  /* header */
  .header .logo {
    left: 20px;
    position: absolute;
  }

  .menu_wrap {
    position: relative;
  }
  .btn_menu,
  .btn_menu.map {
    right: 20px;
    display: block;
    color: #fff;
    width: 30px;
  }
  .btn_menu .bar {
    background: #fff;
  }
  .btn_menu {
    color: #fff;
    position: absolute;
    z-index: 444;
  }
  .header_info {
    display: none;
    right: 80px;
  }
  .menu {
    display: none;
  }

  /* sitemap */
  #sitemap .top_info {
    z-index: 35;
    display: block;
    border: none;
  }
  #sitemap {
    background: rgba(0, 0, 0, 0.5);
  }
  #sitemap > ul > li {
    width: 100%;
    float: none;
    margin: 0 0 30px;
  }
  #sitemap > ul > li h2 {
    color: #222;
    text-align: left;
    font-size: 20px;
  }
  #sitemap > ul > li > ul > li {
    padding: 10px 0;
    margin: 0;
    border-bottom: 1px solid #ddd;
    text-align: left;
  }
  #sitemap > ul > li > ul > li.m-open {
    height: auto;
  }
  #sitemap > ul > li > ul > li > h3 > a {
    display: block;
    background: #fff;
  }
  #sitemap > ul {
    padding: 100px 20px 20px 20px;
    background: #fff;
    position: absolute;
    right: 0;
    width: 100%;
  }

  /* visual */
  #visual {
    height: 500px;
  }
  #visual .imgBox {
    height: 500px;
  }
  .visualList .txtBox {
    width: 75%;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 26%;
  }
  .visualList .txtBox .txt1 {
    display: none;
  }
  .visualList .txtBox .txt2 {
    font-size: 32px;
    line-height: 42px;
  }
  .visualList .txtBox .txt3 {
    width: 100%;
    font-size: 16px;
  }
  .visualList video {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
  }

  /* common */
  .main_tit h3 {
    font-size: 20px;
  }
  .main_tit p {
    font-size: 14px;
  }
  .main_tit2 {
    padding: 70px 20px 70px;
  }
  .main_tit2 h3 {
    font-size: 20px;
  }
  .main_tit2 p {
    font-size: 14px;
  }

  /* company */
  #company .photo_list {
    display: block;
  }
  #company .photo_list li {
    width: 100%;
    height: 300px;
    margin-bottom: 10px;
  }

  /* gallery */
  .gallery_list {
    display: block;
    padding: 0 20px;
  }
  .gallery_list dl {
    width: 49%;
    float: left;
    margin: 0 2px 10px 0;
  }
  .gallery_list dl:nth-child(5) {
    display: none;
  }
  .gallery_list dt {
    height: 130px;
  }
  .gallery_list dd {
    padding: 15px 20px 35px 20px;
  }
  .gallery_list dd h3 {
    font-size: 16px;
    line-height: 20px;
  }
  .gallery_list dd p.cont {
    font-size: 12px;
  }

  /* business */
  .section_business {
    padding: 70px 20px;
    height: auto;
  }
  .section_business h3 {
    font-size: 20px;
    line-height: 33px;
  }
  .section_business ul {
    max-width: 100%;
    padding: 20px 0;
    margin-top: 20px;
    display: block;
  }
  .section_business ul li::before {
    display: none;
  }
  .section_business ul li p {
    font-size: 14px;
  }
  .section_business ul li a .icons span {
    font-size: 35px;
  }
  .section_business ul li .title {
    font-size: 36px;
  }
  .section_business ul li {
    width: 48%;
    float: left;
    padding: 20px 0;
  }

  /* board */
  #section_board {
    display: inherit;
    padding: 50px 30px;
  }
  #section_board > div {
    width: 100%;
    margin-bottom: 30px;
  }
  #section_board > div h3 {
    font-size: 20px;
  }
  #section_board > div ul li a {
    width: 90%;
  }

  /* sub_visual */
  .sub_visual {
    height: auto;
    overflow: hidden;
  }
  .sub_visual h1 {
    font-size: 30px;
  }
  .sub_visual h1 p {
    font-size: 1.1rem;
  }
  .subv_top {
    padding: 130px 20px;
    height: 360px;
    overflow: hidden;
  }
  .location {
    display: none;
  }
  .sub-depth-wrap {
    margin-top: 0;
  }
  .sub-depth-1 {
    position: absolute;
    bottom: 0;
    top: auto !important;
    background: none;
  }
  .sub-depth-1 li.active a {
    text-align: left;
    padding-left: 20px;
    line-height: 50px;
    background: #254ca4 url(../img/icon_select_arrow.png) center right no-repeat;
    transition: none;
  }

  .sub-depth-2 {
    position: absolute;
    top: 0px;
    width: 100%;
    left: 0;
    z-index: 99;
    background: #fff;
    display: none;
  }
  .sub-depth-2 a {
    width: 100%;
    display: block;
    margin: 0;
    background: #f5f5f5;
    color: #222;
    line-height: 45px;
    border-bottom: 1px solid #ddd;
    text-align: left;
    padding-left: 20px;
  }

  .sub-depth-1 li {
    width: 100% !important;
  }
  .sub-depth-1 li.active a {
    display: block;
  }
  .sub-depth-1 li a {
    font-size: 18px;
    display: none;
  }

  /* contents */
  #contents_wrap {
    max-width: 100%;
    padding: 0px 10px 40px 10px;
    margin: 0;
  }

  /* footer */
  #footer {
    padding: 0 20px 20px 20px;
  }
  .foot_sns {
    position: static;
    margin: 0 auto;
  }
  .foot_menu li a {
    font-size: 14px;
  }
  .copyright address {
    font-size: 13px;
  }
}
/****** tablet ******/
@media screen and (min-width: 691px) and (max-width: 1023px) {
  /* layout */
  html {
    font-size: 14px;
  }

  /* common */
  .main_tit h3 {
    font-size: 24px;
  }
  .main_tit p {
    font-size: 16px;
  }
  .main_tit2 {
    padding: 70px 20px 70px;
  }
  .main_tit2 h3 {
    font-size: 24px;
  }
  .main_tit2 p {
    font-size: 16px;
  }

  /* header */
  .header .logo {
    left: 20px;
    position: absolute;
  }
  .menu_wrap {
    position: relative;
  }
  .btn_menu,
  .btn_menu.map {
    right: 20px;
    display: block;
  }
  .btn_menu {
    color: #222;
    display: block;
  }
  .header_info {
    display: none;
    right: 80px;
  }
  .menu {
    display: none;
  }

  /* sitemap */
  #sitemap .top_info {
    display: block;
    border: none;
  }
  #sitemap {
    background: rgba(0, 0, 0, 0.5);
  }
  #sitemap > ul > li {
    width: 100%;
    float: none;
    margin: 0 0 30px;
  }
  #sitemap > ul > li h2 {
    color: #222;
    text-align: left;
    font-size: 20px;
  }
  #sitemap > ul > li > ul > li {
    padding: 10px 0;
    margin: 0;
    border-bottom: 1px solid #ddd;
    text-align: left;
  }
  #sitemap > ul > li > ul > li.m-open {
    height: auto;
  }
  #sitemap > ul > li > ul > li > h3 > a {
    display: block;
    background: #fff;
  }
  #sitemap > ul {
    padding: 20px;
    background: #fff;
    position: absolute;
    right: 0;
    top: 45px;
    width: 100%;
  }

  /* visual */
  .visualList .txtBox {
    width: 75%;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 35%;
  }
  .visualList .txtBox .txt1 {
    padding-bottom: 20px;
  }
  .visualList .txtBox .txt2 {
    font-size: 50px;
    line-height: 60px;
  }
  .visualList .txtBox .txt3 {
    width: 100%;
  }
  .visualList video {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
  }

  /* company */
  #company .photo_list {
    display: inherit;
  }
  #company .photo_list li {
    float: left;
    width: 50%;
    margin: 0 0 2px 0;
  }

  /* gallery */
  #gallery .galleryList .swiper-slide {
    height: 250px;
  }
  .gallery_list {
    display: inherit;
  }
  .gallery_list dl {
    width: 50%;
    margin: 0;
    float: left;
  }
  .gallery_list dd p.cont {
    max-height: 200px;
    overflow: hidden;
  }
  .gallery_list dl:nth-child(5) {
    display: none;
  }

  /* business */
  .section_business {
    padding: 100px 30px 70px 30px;
  }
  .section_business h3 {
    font-size: 30px;
    line-height: 40px;
  }
  .section_business ul {
    display: inherit;
    max-width: 100%;
    padding: 20px 0;
    margin-top: 20px;
  }
  .section_business ul li {
    width: 48%;
    padding: 20px 0;
    display: inline-block;
  }
  .section_business ul li::before {
    bottom: 0;
    height: 1px;
  }

  /* board */
  #section_board {
    display: block;
    width: 100%;
    padding: 50px 30px;
  }
  #section_board > div {
    width: 100%;
    margin-bottom: 30px;
  }

  /* sub_visual */
  .sub_visual {
    height: auto;
    overflow: hidden;
  }
  .sub_visual h1 {
    font-size: 3em;
  }
  .sub_visual h1 p {
    font-size: 1.1rem;
  }
  .subv_top {
    padding: 130px 20px;
    height: 360px;
    overflow: hidden;
  }
  .location {
    display: none;
  }
  .sub-depth-wrap {
    margin-top: 0;
  }
  .sub-depth-1 {
    position: absolute;
    bottom: 0;
    top: auto !important;
    background: none;
  }
  .sub-depth-1 li.active a {
    text-align: left;
    padding-left: 20px;
    line-height: 50px;
    background: #254ca4 url(../img/icon_select_arrow.png) center right no-repeat;
    transition: none;
  }

  .sub-depth-2 {
    position: absolute;
    top: 0px;
    width: 100%;
    left: 0;
    z-index: 99;
    background: #fff;
    display: none;
  }
  .sub-depth-2 a {
    width: 100%;
    display: block;
    margin: 0;
    background: #f5f5f5;
    color: #222;
    line-height: 45px;
    border-bottom: 1px solid #ddd;
    text-align: left;
    padding-left: 20px;
  }

  .sub-depth-1 li {
    width: 100% !important;
  }
  .sub-depth-1 li.active a {
    display: block;
  }
  .sub-depth-1 li a {
    font-size: 18px;
    display: none;
  }

  .sub-depth-2 {
    display: none;
  }

  /* contents */
  #contents_wrap {
    max-width: 100%;
    padding: 30px 20px 40px 20px;
    margin: 0;
  }

  /* footer */
  #footer {
    padding: 0 20px 20px 20px;
  }
  .foot_sns {
    position: static;
    margin: 0 auto;
  }
}

/****** Desktop Device ******/
@media screen and (min-width: 1024px) and (max-width: 1599px) {
  /* header */
  .menu {
    margin-left: -30px;
  }
  .menu > li h2 {
    padding: 0 15px;
  }
  .menu > li > ul > li {
    padding: 0 20px;
  }
  .btn_menu {
    right: 20px;
  }
  .header .logo {
    left: 20px;
  }
  .header_info {
    right: 82px;
  }
  .header_info a {
    border: none;
    padding: 16px;
    margin: 0 4px;
  }

  /* business */
  .section_business {
    padding: 180px 30px;
  }
  .section_business ul {
    padding: 60px 0;
  }
  .section_business ul li {
    width: 48%;
    padding: 20px 10px;
    display: inline-block;
  }
  .section_business h3 {
    font-size: 40px;
  }

  /* visual */
  .visualList video {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
  }
  .visualList .txtBox .txt2 {
    font-size: 50px;
    line-height: 70px;
  }
  .visualList .txtBox .txt3 {
    width: 100%;
    font-size: 14px;
  }

  /* sub_visual */
  .sub-depth-2 {
    display: none;
  }

  /* board */
  #section_board {
    padding: 70px 30px;
    width: 100%;
    display: block;
  }
  #section_board > div {
    margin: 0 0 40px 0;
  }

  /* footer */
  #footer {
    padding: 0 30px;
  }

  /* sitemap */
  #sitemap .top_info {
    display: none;
  }
}

/* 모바일 메뉴 강제 보정 */
@media screen and (max-width: 1024px) {
  .header {
    height: 80px;
    overflow: visible !important;
  }

  .menu_wrap {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px;
    z-index: 9999 !important;
    background: transparent;
  }

  .btn_menu {
    display: block !important;
    position: fixed !important;
    top: 28px;
    right: 22px;
    width: 32px;
    height: 24px;
    z-index: 10002 !important;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .btn_menu .bar {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: #fff;
    transition: all 0.35s ease;
  }

  .btn_menu .bar:nth-child(1) {
    top: 0;
  }
  .btn_menu .bar:nth-child(2) {
    top: 11px;
  }
  .btn_menu .bar:nth-child(3) {
    top: 22px;
  }

  .btn_menu.map .bar {
    background: #111;
  }
  .menu_wrap:hover .btn_menu .bar {
    background: #000;
  }

  .btn_menu.map .bar:nth-child(1) {
    top: 11px;
    transform: rotate(45deg);
  }

  .btn_menu.map .bar:nth-child(2) {
    opacity: 0;
  }

  .btn_menu.map .bar:nth-child(3) {
    top: 11px;
    transform: rotate(-45deg);
  }

  #sitemap {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    right: -100%;
    width: 100%;
    height: 100dvh;
    padding: 0 !important;
    background: rgba(0, 0, 0, 0.55);
    z-index: 10000 !important;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transition:
      right 0.4s ease,
      opacity 0.4s ease,
      visibility 0.4s ease;
  }

  #sitemap.open {
    right: 0;
    opacity: 1;
    visibility: visible;
  }

  #sitemap > ul {
    position: absolute !important;
    top: 0 !important;
    right: 0;
    width: 82%;
    max-width: 420px;
    height: 100%;
    margin: 0;
    padding: 95px 24px 40px !important;
    background: #fff;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  #sitemap > ul > li {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #eee;
  }

  #sitemap > ul > li h2 {
    margin: 0;
    padding: 20px 0;
    font-size: 21px;
    font-weight: 800;
    color: #111;
  }

  #sitemap > ul > li > ul > li {
    margin: 0 !important;
    padding: 0 0 14px !important;
    border-bottom: 0 !important;
  }

  #sitemap > ul > li > ul > li > a {
    display: block;
    padding: 6px 0 !important;
    font-size: 15px;
    color: #666;
  }

  html.scr,
  body.scr {
    overflow: hidden !important;
    height: 100%;
  }
}
