/* 초기화 */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  overflow-x: hidden;
  color: #191919;
  font-family: "WantedSans", sans-serif;
  font-size: 62.5% !important;
  letter-spacing: -0.01em;
  word-break: keep-all;
  word-wrap: break-word;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  -webkit-tap-highlight-color: transparent !important;
  animation: entry 0.3s ease forwards;
  opacity: 0;
}
html::-webkit-scrollbar {
  display: none;
}
html {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
body {
  font-size: 1.6rem;
}
a {
  color: inherit;
  outline: none;
  text-decoration: none;
}
ol,
ul {
  list-style: none;
}
b,
strong {
  font-weight: 700;
}
img {
  max-width: 100%;
}
button {
  font-family: inherit;
  border: none;
  outline: none;
  cursor: pointer;
  color: inherit;
  -webkit-appearance: none;
  background: none;
}
select {
  outline: none;
  border: 1px solid transparent;
  font-family: inherit;
  -webkit-appearance: none;
  appearance: none;
  background-color: #fff;
}
input,
textarea {
  font-family: inherit;
  outline: none;
  border: 1px solid transparent;
}
:focus {
  outline: none;
}
::placeholder {
  color: #888888;
}
em,
i {
  font-style: normal;
}
@-webkit-keyframes entry {
  to {
    opacity: 1;
  }
}
@keyframes entry {
  to {
    opacity: 1;
  }
}
@media screen and (max-width: 1200px) {
}
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 576px) {
}
/* 블라인드 */
.blind {
  overflow: hidden;
  position: absolute;
  width: 1px;
  height: 1px;
  clip: rect(1px, 1px, 1px, 1px);
}
/* 디스플레이 */
.d-block {
  display: block;
}
/* 줄바꿈 */
.md {
  display: block;
}
@media screen and (max-width: 1200px) {
}
@media screen and (max-width: 1024px) {
  .md {
    display: none;
  }
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 576px) {
}
/* 버튼 */
.btn {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0px 30px;
  border-radius: 10px;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  font-family: "Spoqa Han Sans Neo", "sans-serif";
  font-size: 2rem;
}
.btn i {
  display: inline-block;
  width: 26px;
  height: 16px;
  background: url("../img/icon/ico_arr01.png") no-repeat center;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.btn--white {
  color: #222;
  background-color: #fff;
}
.btn--white i {
  background-image: url("../img/icon/ico_arr02.png");
}
@media screen and (min-width: 1201px) {
  .btn:hover i {
    transform: translateX(15px);
  }
}
@media screen and (max-width: 1200px) {
  .btn {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 1024px) {
  .btn {
    padding: 0px 20px;
  }
  .btn i {
    width: 22px;
    background-size: 22px auto;
  }
}
@media screen and (max-width: 768px) {
  .btn {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 576px) {
  .btn {
    padding: 0px 16px;
    font-size: 1.2rem;
  }
  .btn i {
    width: 17px;
    background-size: 17px auto;
  }
}
/* 랩 */
.wrap--policy {
  padding-top: 80px;
}
@media screen and (max-width: 1200px) {
  .wrap--policy {
    padding-top: 70px;
  }
}
/* 컨테이너 */

.container {
  max-width: 1280px;
  width: 95%;
  margin: 0 auto;
}
#main .container {
  max-width: 1600px;
  width: 95%;
  margin: 0 auto;
}
/* 메인 */
#main {
  min-height: calc(100vh - 280px);
  overflow: hidden;
}
/* 상단 */

#header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  background-color: transparent;
  transition: background-color 0.3s ease;
}

#header::after {
  content: "";
  display: block;
  position: absolute;
  top: 92px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.5);
  z-index: 6;
}

#header:hover,
#header.scrolled {
  background-color: #fff;
}

#header:hover .h_menu__link,
#header.scrolled .h_menu__link {
  font-weight: 600;
  transition: color 0.3s ease;
}

.h_navbar {
  width: 100%;
  height: 9.2rem;
  margin-inline: auto;
}

.h-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
}

/* 모바일 전체 메뉴 열기 */
.h_navbar__block {
  position: absolute;
  left: 0;
  width: 100%;
  height: calc(100vh - 9.2rem);
  opacity: 0;
  overflow: auto;
  pointer-events: none;
  background-color: #fff;
  transition: opacity 0.4s ease;
}

.h_navbar__block.is-active {
  opacity: 1;
  pointer-events: initial;
}

.h_menu {
  height: 9.2rem;
}

.h_menu__li {
  cursor: pointer;
}

.h_menu__link {
  font-size: 2rem;
  white-space: nowrap;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1.5rem;
  color: #555;
  transition: color 0.3s ease;
}

#header:hover .h_menu__li span,
#header.scrolled .h_menu__li span {
  color: #222;
}

/* 드롭다운 toggle */
.h_dropdown__toggle {
  cursor: pointer;
  user-select: none;
}

.h_dropdown__toggle i.bx {
  font-size: 1.5rem;
  transition: rotate 0.4s ease;
}

.is-open > .h_dropdown__toggle i.bx {
  rotate: 180deg;
}

/* 서브메뉴 (2depth) */
.h_submenu {
  /* height: 0; */
  overflow: hidden;
  background-color: #fff;
  transition: height 0.5s ease;
}

.h_submenu .container {
  display: flex;
  justify-content: space-between;
}

.h_submenu .menu__img {
  height: 490px;
  position: absolute;
  left: 50%;
  float: right;
  right: 0;
}

.h_submenu__group,
.h_submenu__items {
  display: grid;
}

.h_submenu__group {
  padding-top: 5.5rem;
  font-weight: 500;
}

.dropdown-title {
  display: flex;
  column-gap: 1rem;
  align-items: center;
  font-size: 2rem;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid #aaa;
}

.dropdown-icon i.bx {
  font-size: 1.5rem;
  color: #000;
}

.h_submenu__group.company .h_submenu__link {
  font-size: 2rem;
  color: #191919;
  transition: color 0.3s ease;
  line-height: 4rem;
}

.h_submenu__group.pump .h_submenu__link {
  font-size: 2rem;
  color: #aaaaaa;
  transition: color 0.3s ease;
  line-height: 4rem;
}

.h-menu__img {
  position: absolute;
  float: right;
  right: 0;
  left: 50%;
  width: 100%;
}

.h-menu__img img {
  height: 100%;
}

/* 3depth 메뉴 */
.h_submenu__3depth {
  overflow: hidden;
  transition: all 0.3s ease;
  display: none;
}

.h_submenu__3depth.open {
  display: block;
}

/* 모바일 메뉴 버튼 */
.h_mobile__btn {
  display: block;
  position: relative;
  z-index: 10;
  width: 2.4rem;
  height: 2rem;
  cursor: pointer;
  visibility: visible;
}

.h_mobile__btn-line {
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #222;
  transition: all 0.3s ease;
}

.h_mobile__btn-line:nth-child(1) {
  top: 0;
}

.h_mobile__btn-line:nth-child(2) {
    top: 50%;
    width: 70%;
    transform: translateY(-50%);
}

.h_mobile__btn-line:nth-child(3) {
top: 100%;
}

.h_mobile__btn.is-active > .h_mobile__btn-line:nth-child(1) {
  top: 0.5rem;
  rotate: 135deg;
}

.h_mobile__btn.is-active > .h_mobile__btn-line:nth-child(2) {
  opacity: 0;
}

.h_mobile__btn.is-active > .h_mobile__btn-line:nth-child(3) {
  top: 0.5rem;
  rotate: -135deg;
}

.h_menu__li:hover > .h_menu__link,
.h_menu__li:hover > .h_dropdown__toggle {
  color: #213274 !important;
}

.h_submenu__items .h_submenu__link:hover {
  color: #213274;
  font-weight: 700;
  position: relative;
}

.h_submenu__items .h_submenu__link:hover::before {
  content: "";
  position: absolute;
  bottom: 0;
  background: #213274;
  height: 2px;
  width: 100%;
}

.h_submenu__3depth li a:hover {
  color: #213274;
  background-color: transparent;
}

/*  PC (1200px 이상부터 적용) */
@media screen and (min-width: 1200px) {
  .h_navbar {
    display: flex;
    justify-content: space-between;
    padding: 0 2rem;
  }

  .h_navbar__block {
    position: initial;
    height: auto;
    opacity: 1;
    pointer-events: auto;
    background: none;
    overflow: visible;
    transition: none;
  }

  .h_menu {
    display: flex;
    justify-content: flex-end;
    column-gap: 10rem;
    padding: 0;
  }

  .h_menu__li {
    display: flex;
    padding: 0 0.5rem;
  }

  .h_menu__li span {
    color: #fff;
    transition: rotate 0.4s ease;
  }

  .h_menu__link {
    padding: 0;
  }

  .h_dropdown__toggle {
    column-gap: 0.35rem;
    pointer-events: none;
  }

  .h_submenu {
    position: absolute;
    top: 11rem;
    left: 0;
    right: 0;
    opacity: 0;
    height: 510px;
    pointer-events: none;
    background-color: #fff;
    border-top: 1px solid #c7c7c7;
    transition: top 0.4s, opacity 0.3s ease;
  }

  .dropdown:hover > .h_submenu {
    top: 9.2rem;
    opacity: 1;
    pointer-events: auto;
  }

  .dropdown:hover > .h_dropdown__toggle i.bx {
    rotate: 180deg;
  }

  .h_mobile__btn {
    display: none;
    visibility: hidden;
  }

  .h_submenu__group {
    position: relative;
  }

  .h_submenu__3depth {
    position: absolute;
    top: 4.3rem;
    left: 25rem;
    width: 25rem;
    background: #fff;
    max-height: none;
    padding: 1rem;
  }
  .h_submenu__3depth li {
    line-height: 3rem;
  }
}

@media screen and (max-width: 1200px) {
  #header::after {
    display: none;
  }

  .h_navbar {
    height: 7.2rem;
  }

  .h_navbar__block {
    height: calc(100vh - 7.2rem);
    border-top: 1px solid #c7c7c7;
    padding-top: 2rem;
  }

  .h-inner {
    padding: 0 20px;
    box-sizing: border-box;
  }

  .h-inner a,
  .h-inner a img {
    height: 30px;
  }

  .h_menu {
    height: auto;
  }

  .h_submenu {
    left: 0;
    position: relative;
    overflow: hidden;
    transition: height 0.3s ease;
    max-height: 0;
  }

  .h_submenu__items {
    padding: 0 2rem;
    margin-bottom: 3rem;
  }

  .h_submenu .container {
    display: block;
    height: auto;
    overflow: visible;
  }

  .h_submenu .h-menu__img {
    display: none;
  }

  .h_submenu__group {
    padding-top: 1rem;
  }

  .h_submenu {
    overflow: hidden;
    transition: height 0.3s ease;
  }

  .dropdown-title {
    display: none;
  }

  .dropdown.is-open > .h_submenu {
    max-height: 1000px;
  }

  .h_submenu__3depth {
    display: none;
    padding: 0.6rem 0;
  }

  .h_submenu__3depth.open {
    display: block;
  }
  .h_submenu__items .h_submenu__link:hover,
  .h_submenu__group.pump .h_submenu__link:active {
    color: #213274;
  }
}
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 576px) {
}
/* 하단 */
#footer {
  padding: 40px 0px;
  background-color: #fff;
  border-top: 1px solid #d2d2d2;
}
#footer .f-container {
  max-width: 1600px;
  width: 95%;
  margin: 0 auto;
}
#footer .f-inner {
  position: relative;
}
#footer span {
  position: relative;
  padding: 0 1rem;
}
#footer .line::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 1px;
  height: 16px;
  background-color: #707070;
}
#footer .f_logo {
  margin: 0 auto 30px auto;
  width: 120px;
  height: 24px;
  background: url("../img/common/f_logo.png") no-repeat center / cover;
}
#footer .f_info {
  font-size: 0px;
  text-align: center;
}
#footer .f_info li {
  position: relative;
  margin: 8px 0px;
  padding: 0px 12px;
  font-size: 1.4rem;
  line-height: 1;
  color: #707070;
}
#footer .f_info li:last-child {
  width: 100%;
}
.f-policy {
  max-width: 1280px;
  /* margin-top: 30px; */
}
.f-policy .link-box {
  padding-top: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  /* justify-content: end; */
  /* border-top: 1px solid #d2d2d2; */
  gap: 6px;

}
.f-policy .link-box a {
  display: block;  font-size: 1.4rem;
  font-weight: 600;
  color: #707070;
}

@media screen and (min-width: 769px) {
}
@media screen and (max-width: 1200px) {
  #footer .line::after {
    height: 14px;
  }
}
@media screen and (max-width: 1024px) {
  #footer .f_info {
    margin: -6px -8px;
  }
  #footer .f_info li {
    padding: 0px 8px;
  }
  #footer .f_copy {
    margin-top: 14px;
  }
}
@media screen and (max-width: 768px) {
  #footer {
    padding: 40px 0px;
  }
  #footer .f-inner {
    padding: 0px;
  }
  #footer .line::after {
    height: 12px;
  }
  #footer .f_logo {
    margin: 0 auto 30px;
  }
  #footer .f_info li {
    font-size: 1.4rem;
  }
  .f-policy .link-box a{
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 576px) {
  #footer {
    padding: 30px 0px;
  }
  #footer .line--mo::after {
    display: none;
  }
  #footer .f_info {
    text-align: center;
    margin: -4px;
  }
  #footer .f_info li {
    width: 100%;
    margin: 4px 0px;
    padding: 0px 4px;
    line-height: 1.2;
    font-size: 1.2rem;
  }
  #footer .f_info li .last {
    display: block;
  }
  #footer span {
    padding: 0 0.4rem;
  }
}
#floating-banner {
  position: absolute;
  top: 50%;
  right: 30px;
  width: 96px;
  height: 382px;
  background-color: #637dff;
  border-radius: 10px;
  text-align: center;
  color: #fff;
  font-family: sans-serif;
  z-index: 999;
  transition: top 0.3s ease;
  padding: 15px 0;
}
.banner-link,
#scrollTopBtn {
  width: 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin: 0 auto;
  padding: 14px 0;
  color: white;
  text-decoration: none;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: background-color 0.4s ease-in-out;
  border-radius: 20px;
}
.banner-link:hover,
#scrollTopBtn:hover {
  background: rgba(255, 255, 255, 0.2);
}
.banner-link img,
#scrollTopBtn img {
  width: 24px;
  height: 24px;
}
.divider {
  height: 1px;
  background-color: rgba(255, 255, 255, 0.5);
  margin: 6px 20px;
}
@media screen and (max-width: 1200px) {
  #floating-banner {
    display: none;
  }
}

.sub-visual {
  width: 100%;
  height: 700px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background: url(../img/sub/about_visual.jpg);
  padding-top: 280px;
}
.sub-visual.about {
  background: url(../img/sub/about_visual.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.sub-visual.contact {
  background: url(../img/sub/contact_visual.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.sub-visual.domestic {
  background: url(../img/sub/domestic_visual.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.sub-visual.industrial {
  background: url(../img/sub/industrial_visual.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.sub-visual.performance {
  background: url(../img/sub/performance_visual.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.sub-visual .container {
  display: flex;
  align-items: center;
  flex-direction: column;
}

.sub-visual h2 {
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 4.4rem;
  margin-bottom: 51px;
}

.total-num span {
  color: #5d76d8;
}
@media screen and (max-width: 768px) {
  .sub-visual {
    width: 100%;
    height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 50px;
  }
  .sub-visual h2 {
    font-size: 2.4rem;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 576px) {
  .sub-visual {
    width: 100%;
    height: 300px;
    padding-top: 50px;
  }
  .sub-visual h2 {
    font-size: 2rem;
    
  }
}


/* #footer .f-re-work .f_info{
  text-align: left;
} */
/* #footer .f-re-work .f_info li span:nth-child(1){
  padding-left: 0;
} */
#footer .f-re-work .f_logo{
  background: url("../img/common/h_logo_b.png") no-repeat center / cover;
  width: 175px;
  height: 52px;
} 

#footer .f-re-work .f_info li{
  padding: 0;
}

#footer .f-re-work .f-policy{

}