@charset "utf-8"; /* LMILAB */
.sub_visual_txt .busi_top::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 52%;
  transform: translateY(-50%);
  background: #fff;
  width: var(--ani-width);
  height: 2px;
  animation: line_left 1s;
  animation-fill-mode: forwards;
}
.sub_visual_txt .busi_top::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 52%;
  transform: translateY(-50%);
  background: #fff;
  width: var(--ani-width);
  height: 2px;
  animation: line_right 1s;
  animation-fill-mode: forwards;
}
.sub_visual_txt .h_box {
  overflow: hidden;
  color: #999;
  font-size: 1.8rem;
  display: flex;
  align-items: center;
  font-weight: 400;
}
.sub_visual_txt .h_box small {
  font-weight: 500;
  font-size: inherit;
}
.sub_visual_txt .h_box h2 {
  animation: text-up 1.5s cubic-bezier(0.4, 0, 0.2, 1) both;
  animation-delay: 0.5s;
}
.sub_visual_txt .sub_txt_p1 {
  animation: text-up 1.5s cubic-bezier(0.4, 0, 0.2, 1) both;
  animation-delay: 1s;
  display: block;
}
.sub_visual_txt .sub_txt_p2 {
  animation: text-up 1.5s cubic-bezier(0.4, 0, 0.2, 1) both;
  animation-delay: 1.5s;
}
.sub_visual_txt .h_box h2.no_busi_h2 {
  animation: text-up 1.5s cubic-bezier(0.4, 0, 0.2, 1) both;
  animation-delay: 0s;
}
.sub_visual_txt .sub_txt_p1m,
.sub1_2 .sub_visual_txt .sub_txt_p1,
.sub1_4 .sub_visual_txt .sub_txt_p1,
.sub_visual_txt .sub_txt_p1.no_busi_span {
  animation: text-up 1.5s cubic-bezier(0.4, 0, 0.2, 1) both;
  animation-delay: 0.5s;
  display: block;
}
.business .tit_box h1 {
  text-transform: uppercase;
}
.main_wrapper p {
  letter-spacing: 0;
  line-height: 1.5;
}
.sub_com {
  line-height: 1.5;
  position: relative;
  font-size: 1.8rem;
  padding-top: 10rem;
  color: #333;
}
.sub_inner_wrap img {
  display: block;
  margin: 0 auto;
  max-width: fit-content;
  width: 100%;
}
.container {
  margin-bottom: 10rem;
  position: relative;
}
.contain1.tit1 {
  position: relative;
  padding-top: 8rem;
}
.sub_tit {
  font-size: 3rem;
  padding-top: 1rem;
  padding-bottom: 8rem;
  font-weight: 500;
  position: relative;
}
.sub_tit::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 25px;
  height: 2px;
  background: var(--main-color);
  top: 4px;
}
.tit_bar::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 1px;
  height: 2rem;
  background: #000;
}
.sub_com .sub_tit_36.tri {
  padding-left: 3rem;
}
.tri {
  position: relative;
  padding-left: 4.5rem;
  word-break: keep-all;
}
.tri::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 0;
  height: 0;
  top: 0.5rem;
  border-bottom: 2rem solid transparent;
  border-right: 2rem solid var(--main-color);
}
.center {
  text-align: center;
}
.bor_b {
  border-bottom: 1px solid #dcdcdc;
}
/* sub visual */
.sub_visual_wrap {
  position: relative;
  z-index: 1;
}
.sub_visual_box {
  width: 100%;
  overflow: hidden;
  position: relative;
  margin-top: 18rem;
}
.sub_img_wrap {
  border-radius: 20px;
  overflow: hidden;
  position: relative;
}
.sub_top_wrap {
  position: relative;
}
.sub_top_wrap .cir_txt {
  position: absolute;
  right: 5rem;
  top: -6rem;
  z-index: 1;
  animation: cursor_circle 8s linear infinite;
  animation-delay: 0s;
  transition: 5s linear infinite;
}
.sub_page_visual {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  height: 100%;
  height: 47rem;
  overflow: hidden;
}
.sub_page_visual1,
.sub_page_visual3,
.sub_page_visual4,
.sub_page_visual5 {
  animation: bg-active 5s;
}
.sub_page_visual1 {
  background-image: url(../../img/sub_visual_1.png);
}
.sub_page_visual1.sub_img1_2 {
  background-image: url(../../img/sub_visual_1_2.jpg);
}
.sub_page_visual1.sub_img1_3 {
  background-image: url(../../img/sub_visual_1_3.jpg);
}
.sub_page_visual1.sub_img1_4 {
  background-image: url(../../img/sub_visual_1_4.jpg);
}
.sub_page_visual1.sub_img1_5 {
  background-image: url(../../img/sub_visual_1_5.jpg);
}

.sub_page_visual2 {
  background-image: url(../../img/sub_visual_2_1.jpg);
}
.sub_page_visual2.sub_img2_1 {
  background-image: url(../../img/sub_visual_2_1.jpg);
}
.sub_page_visual2.sub_img2_2 {
  background-image: url(../../img/sub_visual_2_2.jpg);
}
.sub_page_visual2.sub_img2_3 {
  background-image: url(../../img/sub_visual_2_3.jpg);
}

.sub_page_visual3 {
  background-image: url(../../img/sub_visual_3.jpg);
}
.sub_page_visual4 {
  background-image: url(../../img/sub_visual_4.jpg);
}
.sub_page_visual5 {
  background-image: url(../../img/sub_visual_5.jpg);
}
.sub_page_visual6 {
  background-image: url(../../img/sub_visual_6.jpg);
}
@keyframes bg-active {
  0% {
    transform: scale(1.09);
    opacity: 0.9;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
/* sub_visual */
.top_letter {
  font-size: 16rem;
  color: #ffffff1a;
  position: absolute;
  right: 6%;
  bottom: -10%;
  z-index: 100;
  font-family: var(--font-eng);
  font-weight: 600;
  letter-spacing: -3px;
}
.sub_visual_txt {
  margin-bottom: 2rem;
}
.sub_visual_txt h1 {
  color: #fff;
  font-size: 7.2rem;
  font-weight: 700;
  letter-spacing: 3px;
}
.sub_visual_txt h2 {
  font-weight: 400;
}
.sub_visual_txt p {
  color: #fff;
  font-size: 1.88em;
  text-align: center;
  overflow: hidden;
}
.tit_box {
  text-align: center;
}
.tit_box .tit_bar {
  width: 1px;
  display: block;
  margin: 3rem auto 2rem;
  height: 5rem;
  background: #dadada;
  position: relative;
}
.tit_box h2 {
  font-size: 2.6em;
  font-family: inherit;
  font-weight: 300;
  letter-spacing: -1px;
  line-height: 1.5;
}
.tit_box h2 strong {
  font-weight: 500;
}
.tit_box2 h1 {
  font-weight: 500;
  font-size: 2.7em;
  font-family: "GmarketSans";
  padding-bottom: 4rem;
  padding-top: 6rem;
}
/* top menu */
.mobile_sub_menu {
  display: none;
}
.visual_menu_wrap {
  position: relative;
  width: 100%;
  border-top: 1px solid #ffffff85;
}
.visual_menu_wrap .tab_sub_menu {
  margin-bottom: 7rem;
}
.visual_menu_wrap .tab_sub_menu .tab_menu_list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: flex-start;
}
.visual_menu_wrap .tab_sub_menu .tab_menu_list li {
  position: relative;
  z-index: 10;
  max-width: 300px;
  margin-right: 4rem;
  order: 1;
}
.visual_menu_wrap .tab_sub_menu .tab_menu_list li.on {
  order: 0;
  max-width: unset;
}
.visual_menu_wrap .tab_sub_menu .tab_menu_list li.on span::before {
  opacity: 1;
}
.visual_menu_wrap .tab_sub_menu .tab_menu_list li.on a {
  font-size: 5.5rem;
  color: #111;
  font-weight: 500;
}
.visual_menu_wrap .tab_sub_menu .tab_menu_list li a {
  color: #999;
  font-size: 1.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 400;
}
.visual_menu_wrap .tab_sub_menu .tab_menu_list li a i {
  display: none;
}
.visual_menu_wrap .tab_sub_menu .tab_menu_list li a span {
  position: relative;
  display: inline-block;
}
.visual_menu_wrap .tab_sub_menu .tab_menu_list li.on::before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  background: #fff;
  width: 110%;
  height: 2px;
  opacity: 1;
}
/* TAB MENU */
.tab_list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: row;
  width: 100%;
  max-width: 700px;
  position: relative;
  border-radius: 50px;
  border: 1px solid #ededed;
  margin: 0 auto;
}
.tab_list a {
  display: flex;
  align-items: center;
  justify-content: center;
}
.tab_list div {
  cursor: pointer;
  background: #f5f5f5;
  color: #808080;
  flex: 0 1 24.5%;
  font-weight: 400;
  transition: all 0.4s;
  text-align: center;
  height: 8.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-weight: 500;
  border-radius: 1rem;
}
.tab_list div:hover {
  color: #fff;
  background: #003a61;
}
.tab_content {
  opacity: 0;
}
.tab_content.current {
  opacity: 1;
}
.tab_list .tab_link.current {
  border: unset;
  color: #fff;
  background: #003a61;
}
.tab_list.nav-fixed {
  position: fixed;
  top: 100px;
  background: #fff;
  z-index: 10;
  width: 100%;
  margin: 0;
}
/* SUB PAGE CSS */
.top_sub_tit,
.top_tit1 {
  font-size: 4.8rem;
  font-weight: 600;
  font-family: var(--font-fam);
}
.sub_tit2 h2 {
  font-size: 3em;
  font-weight: 600;
  white-space: nowrap;
}
.tit_box .hr {
  background: var(--main-color);
  margin: 3rem auto;
}
.tit_box p {
  font-size: 1.5em;
  color: #111;
  font-weight: 500;
}
.hr {
  background: #444;
  width: 8rem;
  display: block;
  height: 2px;
  margin-top: 3rem;
  margin-bottom: 5rem;
}
/* GREETING */
.container .title {
  margin-bottom: 8rem;
}
.container .title h3 {
  color: #111;
}
.container .title h4 {
  color: #333;
  padding-bottom: 1rem;
}
.p_wrap p {
  margin-bottom: 4rem;
  color: #333;
  line-height: 1.7;
}
b {
  font-weight: 500;
}
.sub_com .container .left_box {
  flex: 0 0 16%;
  margin-right: 5%;
}
.sub_com .container .right_box {
  flex: 1;
}
.sub_com .container .right_box .inner .img_box:hover::before {
  opacity: 1;
}
.sub_com .container .right_box .inner .img_box:hover i {
  opacity: 1;
}
.sub_com .container .right_box .inner .img_box {
  position: relative;
  cursor: pointer;
}
.sub_com .container .right_box .inner .img_box i {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  color: #fff;
  font-size: 3rem;
  opacity: 0;
  transition: all 0.3s;
}
.sub_com .container .right_box .inner .img_box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #11111169;
  opacity: 0;
  transition: all 0.4s;
}
.frame1 .inner {
  margin-bottom: 4rem;
}
.frame1 .inner:last-child {
  margin-bottom: 0;
}
.frame1 .img_wrap {
  display: flex;
  justify-content: flex-start;
  margin-bottom: 4rem;
}
.frame1 .img_wrap .img_box {
  flex: 0 1 auto;
}
.frame1 .part {
  padding-bottom: 4rem;
}
.frame1 .part > p {
  margin-bottom: 0.5rem;
}
.dot_list.list2 {
  padding-left: 2rem;
}
.dot_list.list2 li::before {
  width: 0.8rem;
  height: 2px;
  border-radius: unset;
  top: 1.4rem;
  background: #333;
}
.dot_list li {
  position: relative;
  padding-left: 1.5rem;
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
  word-break: keep-all;
}
.dot_list li::before {
  content: "";
  display: block;
  position: absolute;
  top: 1.2rem;
  left: 0;
  border-radius: 50%;
  width: 0.5rem;
  height: 0.5rem;
  background: #444;
}
.down_wrap {
  max-width: 800px;
}
.down_wrap .box {
  border: 1px solid #444;
  height: 10rem;
}
.down_wrap:nth-child(2) {
  padding-top: 2rem;
}
.down_wrap .box1 {
  background: #111;
  color: #fff;
}
.down_wrap .box a {
  color: inherit;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.down_wrap .box a i {
  padding-left: 0.5rem;
  font-size: 2.4rem;
}
.pop_z > a {
  max-width: 470px;
}

#solution3 .container {
  position: relative;
}
#solution3 .container .inner_wrap {
  max-width: unset;
  width: unset;
  margin: unset;
}
#solution3 .container1 .left_box {
  /* width: 34%; */ /* flex: unset; */ /* margin-right: unset; */
}
#solution3 .container .right_box {
  /* width: 75%; */
  position: relative;
}
.slider_wrap {
  overflow: hidden;
}
.slider_wrap .swiper-pagination {
  position: relative;
  top: -14px;
}

#greeting .contain1 .p_wrap {
  flex: 1;
}
#greeting .contain1 .left_box .slogan_img {
  margin-top: 2rem;
  max-width: 329px; /* 로고(dmap_logo.png 원본 329px)와 동일 폭으로 제한 */
}
#certi .contain1 .box {
  display: flex;
  margin-bottom: 4rem;
}
#certi .contain1 .box .img_box {
  margin-right: 4%;
  border: 1px solid #dcdcdc;
  overflow: hidden;
  border-radius: 15px;
  flex: 0 1 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
#certi .contain1 .box .info_box {
  flex: 1;
}
#certi .contain1 .box .info_box .flex_box {
  border-top: 1px solid #444;
  display: flex;
  align-items: stretch;
}
#certi .contain1 .box .info_box .tit {
  flex: 100%;
  text-align: center;
  text-align: left;
  font-size: 2rem;
  font-weight: 500;
}
#certi .contain1 .box .info_box li {
  padding: 1rem;
  border-bottom: 1px solid #444;
  flex: 1 0 33%;
  text-align: center;
}
#certi .contain1 .box .info_box li:nth-child(3) {
  border-left: 1px solid #444;
  border-right: 1px solid #444;
}
#certi .contain2 .certi_wrap .img_box {
  height: 100%;
  aspect-ratio: 127 / 180;
}

#certi .contain2 .certi_wrap .img_box img {
  max-width: none;
}

#award .certi_wrap {
  align-items: end;
}
#award .certi_wrap .img_box img {
  max-width: none;
}
#award .certi_wrap .award_caption {
  margin-top: 1.2rem;
  text-align: center;
  font-weight: 500;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

#issue {
}
.step_wrap {
}
.step_circle {
  background: url(../img/step3_bg.png) no-repeat center center / contain;
  height: 38.3rem;
  width: 100%;
  display: flex;
}
.step_circle ul {
  display: flex;
  align-items: center;
  width: 90%;
  margin: 0 auto;
  flex-wrap: nowrap;
}
.step_circle ul i {
  font-size: 4rem;
}
.step_circle ul li {
  color: #fff;
  flex: 0 1 26%;
  border-radius: 50%;
  position: relative;
  text-align: center;
}
.step_circle ul li::before {
  content: "";
  display: block;
  padding-bottom: 100%;
}
.step_circle ul li span {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
.step_circle ul li:nth-of-type(1) {
  background: #00a0e9;
}
.step_circle ul li:nth-of-type(2) {
  background: #014099;
}
.step_circle ul li:nth-of-type(3) {
  background: #052046;
}
.step_info {
}
.step_info ul {
  display: flex;
  justify-content: space-between;
  width: 91%;
  margin: 0 auto;
}
.step_info ul li {
  flex: 0 1 30%;
  text-align: center;
  border-top: 1px solid #444;
  padding-top: 3rem;
  margin-top: 4rem;
}

/* history */
#history .img_box {
  position: absolute;
  margin-top: 7rem;
}
#history .right .img_box {
  right: 0;
}
#history .left .img_box {
  left: 0;
}
#history .left .img_box img {
  margin-left: 0;
}
#history.sub_com {
  padding: 0;
}
#history article:last-child {
  margin-bottom: 0;
}
#history .contain2 {
  background: url(../../img/history_bg.jpg);
  height: 48rem;
  color: #fff;
  margin-bottom: 0;
}
#history .contain2 .p_wrap {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
.right .ball_wrap {
  left: -9.8rem;
  bottom: -2rem;
}
.left .ball_wrap {
  right: -10rem;
  bottom: -2rem;
}
.ball_wrap {
  border-radius: 50%;
  background: #fff;
  width: 3.8rem;
  height: 3.8rem;
  position: absolute;
}
.ball_wrap .dot {
  width: 0.5rem;
  height: 0.5rem;
  display: block;
  background: var(--main-color);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
}
#history .tit_box p {
  color: #b1b1b1;
}
.history_wrap {
  border-bottom: 1px #ddd solid;
  position: relative;
  width: 100%;
}
.history_wrap::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 100%;
  border-right: 1px solid #ddd;
  position: absolute;
  left: 50%;
  top: 0;
}
.history_wrap .month {
  font-weight: 600;
  font-size: 2rem;
  color: #111; /* width: 140px; */
  width: fit-content;
}
.history_wrap .month_now {
  color: #b6d7f4;
  font-size: 12px;
}
.history_wrap > ul {
  padding-top: 4rem;
  max-width: 1480px;
  width: 100%;
  margin: 0 auto;
}
.history_wrap > ul .impo {
  color: #111;
  font-weight: 500;
}
.history_wrap > ul > li {
  position: relative;
  width: 100%;
  margin-bottom: 10rem;
}
.history_wrap > ul > li.left > div {
  width: 50%;
  margin-right: auto;
  padding-right: 8rem;
  position: relative;
}
.history_wrap > ul > li.right > div {
  width: 50%;
  margin-left: auto;
  padding-left: 8rem;
  position: relative;
}
.history_wrap > ul > li.left div li {
  display: flex;
  justify-content: flex-end;
  flex-wrap: nowrap;
  flex-direction: row;
}
#history .history_wrap > ul > li.left div li a {
  display: flex;
  justify-content: flex-end;
  flex-wrap: nowrap;
  flex-direction: row;
}
#history .history_wrap > ul > li div li a {
  transition: all 0.4s;
}
#history .history_wrap > ul > li div li a:hover {
  color: var(--main-color);
}
.history_wrap > ul > li.left div li .month {
  order: 2;
}
.history_tit {
  position: relative;
}
/* left before */
.history_wrap > ul > li::before {
  display: block;
  content: "";
  width: 6px;
  height: 6px;
  border: 4px solid #f34747;
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  box-sizing: content-box;
  border-radius: 50%;
  display: none;
}
.history_wrap > ul > .right::after {
  left: calc(50% + 3.6rem);
  display: none;
}
.history_wrap > ul > .right {
  margin-left: auto;
}
.history_wrap > ul > .left {
  text-align: right;
  position: relative;
}
.history_wrap > ul > .left::before {
  right: -9px;
}
.history_wrap > ul > li.left h4 {
  color: #ec2128;
}
.history_wrap > ul > li.right h4 {
  color: #ff6a4a;
}
.history_wrap > ul > li h4 {
  font-size: 3em;
  padding-bottom: 3rem;
  margin-bottom: 3rem;
  font-weight: 600;
  position: relative;
}
.history_wrap > ul > li.right h4::after {
  content: "";
  display: block;
  width: calc(100% + 8rem);
  height: 1px;
  background: #dcdcdc;
  position: absolute;
  bottom: 0;
  left: -8rem;
}
.history_wrap > ul > li.left h4::after {
  content: "";
  display: block;
  width: calc(100% + 8rem);
  height: 1px;
  background: #dcdcdc;
  position: absolute;
  bottom: 0;
  right: -8rem;
}
.history_wrap > ul > li > div ul > li {
  font-size: 2rem;
  position: relative;
  line-height: 1.9;
  font-family: "Pretendard", sans-serif;
  word-break: keep-all;
  display: flex;
  color: #808080;
}
.history_wrap > ul > li > ul > li.emph {
  font-size: 24px;
  font-weight: 600;
}
.history_wrap > ul > li > ul > li.emph::after {
  top: 18px;
}
.history_wrap > ul > .right span.month {
  padding-right: 2.8rem;
}
.history_wrap > ul > .left span.month {
  padding-left: 2.8rem;
}
.history_wrap > ul span.dot_line {
  width: 2.4rem;
  height: 2.4rem;
  display: block;
  background: #fff;
  padding-right: 0;
  border: 1px dotted var(--main-color);
  border-radius: 50%;
  padding: 0.5rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* PARTNER */
.partner_list {
  margin: 0 auto;
  display: flex;
  align-items: stretch;
}
.partner_list li {
  flex: 0 0 25%;
  text-align: center;
  padding: 2rem;
  border: 1px solid #ededed;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.partner_list li p {
  padding-top: 2rem;
  font-size: 1.6rem;
  font-weight: 500;
}

/* LOCATION */
#location .contain2 .sub_inner_wrap > div:not(.current) {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  overflow: hidden;
}
#location .contain2 .sub_inner_wrap > div.current {
  position: relative;
}
#location {
  position: relative;
}
#location .sub_inner_wrap {
  max-width: 1390px;
}
#location .location_tit {
  margin-bottom: 3rem;
}
#location .loca_wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 5rem;
  box-shadow: 0 0 9px 0px #dcdcdcad;
  align-items: stretch;
  margin-bottom: 9rem;
}
#location .location_tit h3 {
  font-size: 2.25em;
  font-weight: 700;
  position: relative;
  padding-left: 2rem;
}
.location_info {
  margin-right: 5rem;
  width: 28%;
}
.location_map {
  flex-grow: 1;
  flex-basis: 0;
}
.loca_list {
  margin-top: 4rem;
}
.loca_list li {
  font-size: 1.8rem;
  color: #808080;
  display: flex;
  padding-bottom: 0.7rem;
}
.loca_list li span {
  display: block;
  flex: 1;
}
.loca_list li:last-child {
  padding-bottom: 0;
}
.loca_list li b {
  color: #222;
  font-weight: 600;
  flex: 0 1 12%;
  word-break: keep-all;
}
.loca_list li b i {
  font-size: 3rem;
}
.location_map > div {
  width: 100% !important;
  height: 100% !important;
}
.location_map > div .wrap_map {
  height: 100% !important;
}
#location .location_tit h3.vl::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 2px;
  height: 70%;
  background: var(--main-color);
}
#location #map a,
#location #map2 a {
  width: auto;
}
.root_daum_roughmap .wrap_controllers {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  display: none;
}
.root_daum_roughmap .wrap_controllers .wrap_btn_roadview {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 300px;
  justify-content: flex-end;
  align-items: center;
}
.root_daum_roughmap .wrap_controllers .wrap_btn_roadview a.txt {
  text-align: center;
}

/* INQUIRY */
#inquiry2 p.in2_p {
  padding-bottom: 2rem;
  color: #000;
  opacity: 0.4;
}
#inquiry2 .new_in_1 {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#inquiry2 .inquiry_wrap section {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: center;
  width: calc(100% / 2 - 1rem);
  margin-bottom: 2rem;
  background: #f7f7f7;
  align-items: center;
  padding: 0.5rem 3rem;
}
#inquiry2 .inquiry_wrap section h4 {
  margin-right: 1rem;
  min-width: 94px;
}
#inquiry2 .inquiry_wrap section div {
  flex-grow: 1;
  flex-basis: 0;
  margin-bottom: 0;
}
#inquiry2 .inquiry_wrap section div.file_wrap {
  display: flex;
  align-content: center;
  align-items: center;
}
#inquiry2 .inquiry_wrap section .filebox input {
  flex-grow: 1;
  flex-basis: 0;
}
#inquiry2 .inquiry_wrap section input {
  border: unset;
  padding: 0.5rem;
  background: unset;
  height: 6rem;
  width: 100%;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #b7b7b7;
  font-weight: 400;
}
#inquiry2 .inquiry_wrap section input::placeholder {
  font-weight: 400;
  color: #b7b7b7;
}
#inquiry2 input:focus,
#inqruiy2 {
  outline: none;
  box-shadow: unset;
  border: unset !important;
}
#inquiry2 textarea:focus {
  outline: none;
  box-shadow: unset;
  border: unset !important;
}
#inquiry2 .width100 {
  width: 100% !important;
}
#inquiry2 .inquiry_wrap section textarea {
  border: unset;
  background: unset;
  height: 200px;
  width: 100%;
  padding: 2rem 0;
}
#inquiry2 .inquiry_wrap section div.check_wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  height: 7rem;
  justify-content: space-between;
}
#inquiry2 .inquiry_wrap section div.check {
  flex-grow: unset;
  flex-basis: auto;
  border: 1px solid #6b6b6b;
  padding: 1rem;
  margin-left: 1rem;
  display: flex;
  align-items: center;
  cursor: pointer;
}
#inquiry2 .inquiry_wrap section div.check i {
  margin-left: 1rem;
}
#inquiry2 .inquiry_wrap section div.check_wrap .agree_txt {
  display: flex;
  align-content: center;
  flex-direction: row;
  align-items: center;
}
#inquiry2 .inquiry_wrap section div.check_wrap .agree_txt input {
  display: none;
}
#inquiry2 .inquiry_wrap section div.check_wrap .agree_txt i {
  margin-right: 1rem;
  font-size: 2rem;
}
#inquiry2 .inquiry_wrap section div.check_wrap input i {
  height: auto;
  width: auto;
  display: none;
}
#inquiry2 .inquiry_wrap section div.check_wrap label {
  display: flex;
  align-items: flex-start;
  cursor: pointer;
}
.agree_txt input[id="agree1"] + label i::before {
  content: "\e92c";
}
.agree_txt input[id="agree1"]:checked + label i::before {
  content: "\e92b";
  color: #000;
}
#inquiry2 .inquiry_wrap section.message_wrap h4 {
  margin-top: 2rem;
}
.file_wrap input::file-selector-button {
  margin-right: 1rem;
  background: #222;
  color: #fff;
  font-family: "GmarketSans";
  padding: 1rem;
  border: unset;
}
#inquiry2 .inquiry_wrap section div.file_wrap input {
  height: 100%;
  margin: 0.5rem;
}
.btn_submit1:hover {
  background: var(--main-color);
}
.btn_submit1 {
  border: unset;
  background: var(--main-color);
  background: #111;
  color: #fff;
  text-align: center;
  width: 220px;
  height: 60px;
  font-size: 18px;
  display: block;
  margin: 4rem auto;
  transition: all 0.4s;
}
/************************************* RESPONSIVE *******************************************/
@media (max-width: 1700px) {
  #inquiry .inquiry_wrap {
    width: 87%;
    margin: 0 auto;
  }
  .write-tbl th {
    width: 20%;
  }
}
@media (max-width: 1360px) {
}
@media (max-width: 1270px) {
  #history .contain2 {
    height: 34rem;
  }
}
@media (max-width: 1080px) {
  .sub_visual_box {
    margin-top: 12rem;
  }
  .sub_top_wrap .cir_txt {
    top: -6rem;
  }
  .sub_top_wrap .cir_txt img {
    width: 17rem;
  }
  .visual_menu_wrap .tab_sub_menu .tab_menu_list li.on a {
    font-size: 4.5rem;
  }
  .sub_page_visual {
    height: 34rem;
  }
  .sub_com {
    padding-top: 7rem;
  }

  /* HISTORY */
  .history_wrap > ul > li {
    margin-bottom: 7rem;
  }
  /* LOCATION */
  .loca_list li b {
    width: fit-content;
    margin-right: 2rem;
  }
  .loca_list li {
    font-size: 1.9rem;
  }
  .loca_list li br {
    display: none;
  }
  .location_info {
    width: 40%;
  }
  .ci_info_wrap2 li .app_box {
    height: 18rem;
  }
  .ci_info_wrap2 li p {
    font-size: 1.8rem;
    padding: 1rem;
  }
  .q_inno_wrap .img_box h3 {
    font-size: 2.4rem;
    border-radius: 50%;
    background: #fff;
    z-index: 5;
  }
}
@media (max-width: 840px) {
  .visual_menu_wrap .tab_sub_menu {
    margin-bottom: 6rem;
  }
  .visual_menu_wrap .tab_sub_menu .tab_menu_list li.on a {
    font-size: 1.8rem;
  }
  .visual_menu_wrap .tab_sub_menu .tab_menu_list li {
    margin-right: 0;
    border: 1px solid #dcdcdc;
    flex: 1 1 33%;
    text-align: center;
    height: 5rem;
    max-width: unset;
    margin: 0 -1px -1px 0;
    word-break: keep-all;
    order: unset;
  }
  .visual_menu_wrap .tab_sub_menu .tab_menu_list {
    border-right: 1px solid #dcdcdc;
    display: flex;
    align-items: stretch;
  }
  .visual_menu_wrap .tab_sub_menu .tab_menu_list li.on {
    /* background: #6dba44; */
    background: linear-gradient(
      94deg,
      rgba(36, 163, 220, 1) 0%,
      rgba(73, 126, 229, 1) 53%,
      rgba(110, 89, 238, 1) 100%
    );
    color: #fff;
    order: unset;
  }
  .visual_menu_wrap .tab_sub_menu .tab_menu_list li.on::before {
    display: none;
  }
  .visual_menu_wrap .tab_sub_menu .tab_menu_list li.on a {
    color: #fff;
    font-weight: 300;
  }
  .sub_top_wrap .cir_txt img {
    width: 15rem;
  }
  .sub_top_wrap .cir_txt {
    top: -4rem;
  }
  .container {
    margin-bottom: 6rem;
  }
  /* 특허 */
  .sub_com .container .left_box {
    flex: 100%;
    margin-bottom: 3rem;
  }
  .step_circle ul li span {
    width: 90%;
    margin: 0 auto;
    word-break: keep-all;
  }
  .step_circle {
    height: 27rem;
  }
  .step_info ul {
    width: 100%;
  }
  .down_wrap .box {
    height: 7rem;
  }
  /* 문의하기 */
  #inquiry2 .inquiry_wrap section {
    width: 100%;
  }
  #inquiry2 .inquiry_wrap section div.check_wrap {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: flex-start;
  }
  #inquiry2 .inquiry_wrap section div.check {
    padding: 0.5rem;
    margin: 1rem 0;
  }
  .agree_txt label {
    padding-left: 0;
  }
  #inquiry2 .inquiry_wrap section div.check_wrap .agree_txt input {
  }
  #inquiry2 section.in_check_sec {
    display: flex;
    flex-direction: row;
    padding-top: 2rem;
    padding-bottom: 3rem;
  }
  #inquiry2 section.in_check_sec h4 {
    width: 100%;
    padding-bottom: 0rem;
  }
  /* 문의끝 */
  /* HISTORY */
  .history_wrap > ul {
    padding-top: 10rem;
  }
  .history_wrap > ul > li {
    margin-bottom: 4rem;
  }
  .history_wrap > ul > li.left > div {
    padding-right: 4rem;
  }
  .history_wrap > ul > li.right > div {
    padding-left: 4rem;
  }
  .history_wrap > ul > li h4 {
    font-size: 2.5em;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
  }
  .history_wrap > ul > .left span.month {
    padding-left: 2rem;
  }
  .history_wrap > ul > .right span.month {
    padding-right: 2rem;
  }
  .right .ball_wrap {
    left: -5.8rem;
  }
  .history_wrap > ul > li.left h4::after {
    width: calc(100% + 4rem);
    right: -4rem;
  }
  .history_wrap > ul > li.right h4::after {
    width: calc(100% + 4rem);
    left: -4rem;
  }
  .left .ball_wrap {
    right: -6rem;
  }
  /* LOCATION */
  .loca_list li {
    font-size: 1.8rem;
  }
  .loca_list {
    margin-top: 2rem;
  }
  .location_info {
    margin-right: 3rem;
  }
  #location .loca_wrap {
    padding: 3rem;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
  }
  #solution3 .container .right_box {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .down_wrap:nth-child(2) {
    padding-top: 1rem;
  }
  .sub_visual_box {
    margin-top: 10rem;
  }
  .frame1 .part {
    padding-bottom: 2rem;
  }
  .visual_menu_wrap .tab_sub_menu {
    margin-bottom: 4rem;
  }
  .sub_page_visual {
    height: 18rem;
  }
  .sub_top_wrap .cir_txt {
    top: -2rem;
    right: 2rem;
  }
  .sub_top_wrap .cir_txt img {
    width: 10rem;
  }
  .visual_menu_wrap .tab_sub_menu .tab_menu_list li {
    flex: 1 1 50%;
    height: 4.4rem;
  }
  .visual_menu_wrap .tab_sub_menu .tab_menu_list li a {
    font-size: 1.4rem;
    text-align: center;
    word-break: keep-all;
  }
  .visual_menu_wrap .tab_sub_menu .tab_menu_list li.on a {
    font-size: 1.4rem;
    font-weight: 400;
  }
  .visual_menu_wrap .tab_sub_menu .tab_menu_list {
    display: flex;
    align-items: stretch;
  }
  .sub_com {
    padding-top: 4rem;
  }
  .container .title {
    margin-bottom: 1rem;
  }
  .sub_com .container .left_box {
    margin-right: 0;
    flex: 100%;
    margin-bottom: 2rem;
  }
  .p_wrap p {
    margin-bottom: 2rem;
  }
  .container {
    margin-bottom: 4rem;
  }
  #greeting .contain1 .info_box .img_box img {
    max-width: 180px;
    margin-bottom: 3rem;
    border: 1px solid #ededed;
    padding: 2rem;
    border-radius: 10px;
  }
  #greeting .contain1 .info_box .img_box img.slogan_img {
    max-width: 180px;
    margin-top: 0;
    margin-bottom: 0;
    border: none;
    padding: 0;
    border-radius: 0;
  }
  #certi .contain1 .box .img_box {
    max-width: 70px;
  }
  #certi .contain1 .box .info_box .tit {
    font-size: 1.6rem;
    text-align: center;
  }
  #certi .contain1 .box .info_box li {
    padding: 1rem 1.5rem;
    font-size: 1.4rem;
  }
  #certi .contain1 .box {
    margin-bottom: 2rem;
  }
  .step_info ul li {
    padding-top: 2rem;
    margin-top: 2rem;
  }
  .step_circle ul i {
    font-size: 2rem;
  }
  .step_circle {
    height: 120px;
  }
  .step_circle ul li {
    font-size: 1.3rem;
  }
  #solution3 .container {
    margin-left: 4%;
    margin-right: 4%;
  }
  .bo_notice {
    padding-top: 0;
  }
  /* HISTORY */
  #history .contain2 {
    height: 24rem;
    background-size: cover;
  }
  .history_wrap::before {
    left: 9.2%;
  }
  .history_wrap > ul {
    margin-left: 5%;
    margin-right: 4%;
    padding-top: 8rem;
  }
  .left .ball_wrap {
    right: unset;
    left: 0;
  }
  .right .ball_wrap {
    left: 0;
  }
  .history_wrap > ul > li::before {
    left: 5%;
  }
  .history_wrap > ul > .right::after {
    left: 9%;
  }
  .history_wrap > ul > .left {
    text-align: left;
    padding-left: 0.5rem;
    margin-bottom: 8rem;
  }
  .history_wrap > ul > .left::after {
    right: unset;
    left: 10%;
  }
  .history_wrap > ul > li.left div li .month {
    order: unset;
    padding-left: unset;
    padding-right: 1rem;
  }
  .history_wrap > ul > li.left div li {
    justify-content: flex-start;
  }
  .history_wrap > ul > .left > div ul > li::after {
    right: unset;
    left: -1.8rem;
    width: 0.7rem;
    height: 0.7rem;
    top: 11px;
  }
  .history_wrap > ul > li ul {
    padding-left: 6rem;
  }
  .history_wrap::after {
    font-size: 60px;
  }
  #history .tit_wrap {
    text-align: left;
    padding: 30px 30px 10px;
  }
  .history_wrap .month {
    font-size: 15px;
  }
  .history_wrap > ul > li > div ul > li {
    font-size: 1.7rem;
  }
  .history_wrap > ul > .right > div ul > li::after {
    top: 11px;
    width: 0.7rem;
    height: 0.7rem;
  }
  .history_wrap > ul > li.left > div {
    padding-right: 0;
    width: 94%;
  }
  .history_wrap > ul > li.right > div {
    width: 95%;
    padding-left: 0;
    margin-left: 0;
  }
  .history_wrap > ul > li h4 {
    padding-left: 6rem;
    font-size: 1.6em;
  }
  .history_wrap > ul > li.right h4::after {
    left: 0;
  }
  .tab_list div {
    flex: 0 1 49%;
    margin-bottom: 2%;
    height: 5.4rem;
  }
  .tab_disap .tab_list > div {
    margin-right: 2%;
  }
  .frame_wrap3 .box2 ul {
    display: flex;
    flex-direction: column;
  }
  .frame_wrap3 .box2 ul li {
    margin-bottom: 4rem;
  }
  .frame_wrap3 .box2 {
    margin-bottom: 4rem;
  }
  .frame_wrap3 .ci_info_wrap .color_box_wrap {
    margin-right: 0;
    flex: 1 0 100%;
    margin-bottom: 2rem;
  }
  .frame_wrap3 .ci_info_wrap .color_box_wrap .color_box {
    height: 18rem;
    width: 40%;
  }
  .location_info {
    margin-right: 0;
    width: 100%;
    margin-bottom: 3rem;
  }
  .loca_list li b {
    min-width: 4rem;
    margin-right: 0;
  }
  .loca_list li span {
    font-size: 1.6rem;
  }
  .location_map {
    width: 100%;
    height: 280px;
    flex: 1 1 100%;
  }
  #location .loca_wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin-bottom: 0;
  }

  /* 문의하기 */
  #inquiry2 p.in2_p {
    font-size: 1.5rem;
  }
  #inquiry2 .inquiry_wrap section {
    padding: 1rem 2rem;
  }
  #inquiry2 .inquiry_wrap section h4 {
    min-width: fit-content;
    font-size: 1.5rem;
  }
  #inquiry2 .inquiry_wrap section input {
    height: 5rem;
  }
  #inquiry2 .inquiry_wrap section textarea {
    height: 120px;
  }
  #inquiry2 .inquiry_wrap section div.check {
    font-size: 1.4rem;
  }
  #inquiry2 .inquiry_wrap section div.check_wrap label {
    font-size: 1.4rem;
  }
  .btn_submit1 {
    width: 17rem;
    font-size: 1.6rem;
    height: auto;
    padding: 1.4rem;
    margin: 3rem auto;
  }
  .down_wrap .box {
    height: 5rem;
    border-radius: 10px;
  }
  .down_wrap .box a i {
    font-size: 1.8rem;
  }

  #solution3 .container .right_box {
    width: 100%;
  }
}
