@font-face {
  font-family: "HCRDotum";
  src: local("HCRDotum"), url("/css/font/HCRDotum.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "HCRDotum-Bold";
  src: local("HCRDotum-Bold"), url("/css/font/HCRDotum-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "TimesNewerRoman-Bold";
  src: local("TimesNewerRoman Bold"), url("/css/font/TimesNewerRoman-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "TimesNewerRoman-Regular";
  font-weight: normal;
  font-display: swap;
  src: local("TimesNewerRoman Regular"), url("/css/font/TimesNewerRoman-Regular.otf") format("woff2");
}
/*****************
    Color Chips
*****************/
/*****************
    Font Size
*****************/
/*****************
    Space Size
*****************/
html, body {
  font-family: "Poppins", "Pretendard", sans-serif;
  font-size: 16px;
  background: #fff;
  color: #111 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: normal;
  overflow-x: clip;
  scroll-behavior: smooth;
  letter-spacing: -0.03rem;
}
html *, body * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.pre {
  font-family: "Pretendard", sans-serif;
}

.swiper-button-next,
.swiper-button-prev {
  margin-top: 0 !important;
  transform: translateY(-50%);
}

.swiper-button-next::after,
.swiper-button-prev::after {
  display: none;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body, h1, h2, h3, h4, h5, h6, p, div, input, nav, textarea, select, header, section, article, aside, footer, form, button, table, thead, tbody, tr, td, th,
ul, li, ol, dl, dt, dd {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

ul, ol {
  list-style: none;
}

a {
  text-decoration: none;
  color: inherit;
  display: block;
}

a, input, button {
  outline: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  vertical-align: middle;
  max-width: 100%;
}

figure {
  margin: 0;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff url(/img/select_arrow.png) no-repeat center right 15px;
  background-size: 16px;
}

select::-ms-expand {
  display: none;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input {
  font-family: inherit;
  font-size: inherit;
  border: 0;
  outline: 0;
  color: inherit;
  letter-spacing: inherit;
}

select {
  font-family: inherit;
  font-size: inherit;
  border: 0;
  outline: 0;
  color: inherit;
  letter-spacing: inherit;
}

button {
  font-family: inherit;
  background: none;
  border: 0;
  color: inherit;
  cursor: pointer;
  letter-spacing: inherit;
}

input:not([type=checkbox], [type=radio]),
select, textarea {
  color: inherit;
  font-size: inherit;
  border: 0;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
}

textarea {
  width: 100%;
  font-family: inherit;
  font-size: inherit;
  resize: none;
  outline: 0;
  color: inherit;
  line-height: 1.5;
}

textarea::-webkit-scrollbar {
  width: 5px;
}

textarea::-webkit-scrollbar-track {
  background-color: rgba(129, 124, 122, 0.3);
}

textarea::-webkit-scrollbar-thumb {
  background-color: rgba(221, 215, 211, 0.5);
}

/* textarea::-webkit-scrollbar-thumb:hover {background: #ccc;} */
/* textarea::-webkit-scrollbar-button:start:decrement,
textarea::-webkit-scrollbar-button:end:increment {width:3px;height:0px; background:transparent;}  */
*::placeholder {
  font-family: inherit;
  font-size: inherit;
  color: #adadad;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

[popover] {
  border: none;
  padding: 0;
  margin: 0;
  left: auto;
}

:focus {
  outline: none;
}

.br_1240,
.br_1024,
.br_768,
.br_540 {
  display: none;
}

@media screen and (max-width: 1240px) {
  .br_1240 {
    display: block;
  }
  .br_1240_none {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .br_1024 {
    display: block;
  }
  .br_1024_none {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  html, body {
    font-size: 15px;
  }
  .br_768 {
    display: block;
  }
  .br_768_none {
    display: none;
  }
}
@media screen and (max-width: 540px) {
  html, body {
    font-size: 14px;
  }
  .br_540 {
    display: block;
  }
  .br_540_none {
    display: none;
  }
}
/*****************
    Color Chips
*****************/
/*****************
    Font Size
*****************/
/*****************
    Space Size
*****************/
body.fixed .deemed {
  display: block;
}

main[id*=sub] {
  min-height: 600px;
}

.deemed {
  background: rgba(0, 0, 0, 0.8);
  display: none;
  height: 100vh;
  left: 0;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 999;
}

.hei100 {
  height: 100vh;
  height: 100dvh;
  overflow: clip;
}

.wrapper {
  width: 100%;
  max-width: 1480px;
  padding: 0 20px;
  margin: 0 auto;
}

.wrapper_1180 {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
}

.wrapper_1640 {
  width: 100%;
  max-width: 1680px;
  padding: 0 20px;
  margin: 0 auto;
}

.fadeAni {
  transform: translateY(60px);
  opacity: 0;
  transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.8s cubic-bezier(0.215, 0.61, 0.8, 1);
}
.fadeAni.active {
  transform: translateY(0);
  opacity: 1;
}

.LeftAni {
  transform: translateX(-80px);
  opacity: 0;
  transition: transform 1.25s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 1s cubic-bezier(0.215, 0.61, 0.8, 1);
}
.LeftAni.active {
  transform: translateX(0);
  opacity: 1;
}

.LeftTxt {
  position: relative;
  overflow: hidden;
}
.LeftTxt span {
  clip-path: polygon(0 100%, 0 100%, 0 0, 0 0);
  transition: clip-path 1.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.LeftTxt.active span {
  clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
}

.scroll_motion.active .fadeAni {
  transform: translateY(0);
  opacity: 1;
}
.scroll_motion.active .LeftAni {
  transform: translateX(0);
  opacity: 1;
}

.delay1 {
  transition-delay: 0.15s;
}

.delay2 {
  transition-delay: 0.3s;
}

.delay3 {
  transition-delay: 0.45s;
}

.delay4 {
  transition-delay: 0.6s;
}

.delay5 {
  transition-delay: 0.75s;
}

.delay6 {
  transition-delay: 0.9s;
}

html.noScroll,
body.noScroll {
  min-height: 100%;
  overflow: hidden !important;
  touch-action: none;
}

#header {
  background: transparent;
  left: 50%;
  position: fixed;
  top: 0;
  transform: translateX(-50%);
  transition: 0.4s ease;
  width: 100%;
  z-index: 1000;
}
#header.fixed {
  top: clamp(1.07rem, 1.5vw, 1.875rem);
  width: max-content;
  left: 50%;
  transform: translateX(-50%);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 140px;
  backdrop-filter: blur(50px);
}
#header.fixed .headerInner {
  padding: 16px 30px;
  height: 66px;
}
#header.fixed .headerInner .logo {
  margin-right: 12px;
  flex-shrink: 0;
}
#header.fixed .headerInner .logo .default {
  display: none;
}
#header.fixed .headerInner .logo .dark {
  display: none !important;
}
#header.fixed .headerInner .logo .fixed {
  display: block !important;
}
#header.fixed .headerInner .logo .fixed .white {
  display: none;
}
#header.fixed .headerInner .gnb {
  border-right: 1px solid rgba(0, 0, 0, 0.16);
  height: 36px;
  padding-right: 10px;
  position: unset;
  transform: none;
}
#header.fixed .headerInner .gnb ul.menu {
  display: flex;
}
#header.fixed .headerInner .gnb ul.menu > li.hasLnb {
  position: relative;
}
#header.fixed .headerInner .gnb ul.menu > li.hasLnb .lnb {
  transform: translate(-50%, 40px);
}
#header.fixed .headerInner .gnb ul.menu > li.hasLnb:hover .lnb {
  transform: translate(-50%, 20px);
}
#header.fixed .headerInner .gnb ul.menu > li.hasLnb::before {
  content: "";
  height: 20px;
  left: 0;
  position: absolute;
  top: 100%;
  width: 100%;
}
#header.fixed .headerInner .gnb ul.menu > li > a {
  color: #111;
  padding: 0 calc(clamp(1.25rem, 2vw, 2.1875rem) / 2);
}
#header.fixed .headerInner .hRight {
  position: unset;
  right: unset;
  top: unset;
  transform: unset;
}
#header.fixed .headerInner .hRight .hContact a.contactBtn {
  display: none;
}
#header.fixed .headerInner .hRight .hContact .contactIcon {
  display: block;
}
#header.fixed .headerInner .selectLangWrapper {
  margin-left: 32px;
}
#header.fixed .headerInner .selectLangWrapper span {
  color: #111;
  position: relative;
}
#header.fixed .headerInner .selectLangWrapper span::before {
  content: "";
  height: 20px;
  left: 0;
  position: absolute;
  top: 100%;
  width: 100%;
}
#header.fixed .headerInner .selectLangWrapper span .selectLang {
  transform: translate(-50%, 40px);
}
#header.fixed .headerInner .selectLangWrapper span:hover .selectLang {
  transform: translate(-50%, 20px);
}
#header.fixed .headerInner .selectLangWrapper span i img {
  filter: brightness(0);
}
#header.fixed.dark .headerInner .logo .default {
  display: none;
}
#header.fixed.dark .headerInner .logo .dark {
  display: none !important;
}
#header.fixed.dark .headerInner .logo .fixed {
  display: block !important;
}
#header.fixed.dark .headerInner .logo .fixed .primary {
  display: none;
}
#header.fixed.dark .headerInner .logo .fixed .white {
  display: block;
}
#header.fixed.dark .gnb {
  border-color: rgba(255, 255, 255, 0.16);
}
#header.fixed.dark .selectLangWrapper span {
  color: #fff;
}
#header.fixed.dark .selectLangWrapper span i img {
  filter: brightness(1);
}
#header.dark .headerInner .logo .default {
  display: none;
}
#header.dark .headerInner .logo .dark {
  display: block;
}
#header.dark .headerInner .logo .fixed {
  display: none;
}
#header.dark .headerInner .gnb ul.menu {
  display: flex;
}
#header.dark .headerInner .gnb ul.menu > li > a {
  color: #fff;
  padding: 0 calc(clamp(1.25rem, 2vw, 2.1875rem) / 2);
}
#header.dark .headerInner .selectLangWrapper span {
  color: #fff;
}
#header.dark .headerInner .selectLangWrapper span i {
  filter: brightness(1);
}
#header.dark .headerInner .selectLangWrapper .mobileSelectLang li a {
  color: #fff;
  opacity: 0.5;
}
#header.dark .headerInner .selectLangWrapper .mobileSelectLang li.selected a {
  color: #fff;
  opacity: 1;
}
#header.dark .headerInner .selectLangWrapper .menuToggle span {
  background: #fff;
  display: block;
  height: 1px;
  transition: all 0.4s ease;
}
#header .headerInner {
  align-items: center;
  display: flex;
  height: 94px;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1820px;
  padding: 20px 36px;
}
#header .headerInner .logo {
  max-width: 144px;
}
#header .headerInner .logo .fixed {
  display: none;
}
#header .headerInner .logo .dark {
  display: none;
}
#header .headerInner .gnb {
  height: 100%;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}
#header .headerInner .gnb ul.menu {
  display: flex;
  height: 100%;
}
#header .headerInner .gnb ul.menu > li {
  height: 100%;
  position: relative;
}
#header .headerInner .gnb ul.menu > li > a {
  align-items: center;
  color: #111;
  display: flex;
  font-size: clamp(0.857rem, 1.3vw, 1.0625rem);
  font-weight: 700;
  height: 100%;
  padding: 0 calc(clamp(1.786rem, 2.5vw, 3.125rem) / 2);
  text-align: center;
  transition: color 0.2s;
}
#header .headerInner .gnb ul.menu > li > a span {
  font-weight: 400;
  transition: font-weight 0.2s ease;
}
@media (hover: hover) and (pointer: fine) {
  #header .headerInner .gnb ul.menu > li:hover > a span {
    color: #397FC2;
    font-weight: 700;
  }
  #header .headerInner .gnb ul.menu > li:hover .lnb {
    clip-path: inset(-3% -3% -3% -3%);
    height: max-content;
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, -20px);
    visibility: visible;
    z-index: 1;
  }
}
@media (hover: none) and (pointer: coarse) {
  #header .headerInner .gnb ul.menu > li:hover > a span {
    color: #397FC2;
    font-weight: 700;
  }
  #header .headerInner .gnb ul.menu > li:hover .lnb {
    clip-path: inset(-3% -3% -3% -3%);
    height: max-content;
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, -20px);
    visibility: visible;
    z-index: 1;
  }
}
#header .headerInner .gnb ul.menu > li .lnb {
  align-items: center;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  clip-path: inset(0% 0% 100% 0%);
  display: flex;
  flex-direction: column;
  height: 0;
  justify-content: center;
  left: 50%;
  opacity: 0;
  padding: 14px clamp(1.07rem, 1.5vw, 1.875rem);
  pointer-events: none;
  position: absolute;
  top: 100%;
  transform: translate(-50%, 20px);
  transition: opacity 0.4s, transform 0.4s;
  visibility: hidden;
  z-index: -1;
}
#header .headerInner .gnb ul.menu > li .lnb li {
  width: 100%;
}
#header .headerInner .gnb ul.menu > li .lnb li a {
  display: block;
  font-weight: 400;
  padding: 4px 0;
  text-align: center;
  text-shadow: 0 0 1px transparent;
  transition: 0.2s;
  white-space: nowrap;
  width: 100%;
}
#header .headerInner .gnb ul.menu > li .lnb li:hover a {
  color: #397FC2;
  text-shadow: 0 0 1px #397FC2;
}
#header .headerInner .hRight {
  align-items: center;
  display: flex;
  gap: clamp(0.714rem, 1vw, 1.25rem);
  height: 100%;
  justify-content: flex-end;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 99999;
}
#header .headerInner .hRight .hContact a.contactBtn {
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 200px;
  color: #fff;
  display: flex;
  font-size: clamp(0.857rem, 1.3vw, 1.0625rem);
  font-weight: 600;
  height: 40px;
  justify-content: center;
  width: 140px;
}
#header .headerInner .hRight .hContact .contactIcon {
  cursor: pointer;
  display: none;
}
#header .headerInner .selectLangWrapper {
  align-items: center;
  color: #111;
  cursor: pointer;
  display: flex;
  height: 100%;
  justify-content: flex-end;
  position: relative;
}
#header .headerInner .selectLangWrapper span {
  align-items: center;
  display: flex;
  font-size: clamp(0.857rem, 1.3vw, 1.0625rem);
  font-weight: 400;
  height: 100%;
  justify-content: flex-end;
  position: relative;
}
#header .headerInner .selectLangWrapper span:hover .selectLang {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, -20px);
  z-index: 1;
}
#header .headerInner .selectLangWrapper span i {
  display: inline-block;
  filter: brightness(0);
  margin-left: 8px;
}
#header .headerInner .selectLangWrapper .selectLang {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  left: 50%;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  text-align: center;
  top: 100%;
  transform: translate(-50%, 20px);
  transition: opacity 0.4s, transform 0.4s;
  z-index: -1;
}
#header .headerInner .selectLangWrapper .selectLang li a {
  color: #ccc;
  transition: 0.2s;
  padding: calc(clamp(0.929rem, 1.5vw, 1.625rem) / 2) clamp(1.25rem, 2vw, 2.1875rem);
  border: 1px solid transparent;
}
#header .headerInner .selectLangWrapper .selectLang li:first-child a {
  padding-bottom: calc(clamp(0.929rem, 1.5vw, 1.625rem) / 4);
}
#header .headerInner .selectLangWrapper .selectLang li:last-child a {
  padding-top: calc(clamp(0.929rem, 1.5vw, 1.625rem) / 4);
}
#header .headerInner .selectLangWrapper .selectLang li.selected a {
  color: #397FC2;
}
#header .headerInner .selectLangWrapper .mobileSelectLang {
  display: none;
  margin-right: clamp(1.429rem, 2vw, 2.5rem);
  align-items: center;
  justify-content: center;
  gap: clamp(1.07rem, 1.5vw, 1.875rem);
  position: relative;
  z-index: 999999;
}
#header .headerInner .selectLangWrapper .mobileSelectLang li.selected a {
  color: #397FC2;
}
#header .headerInner .selectLangWrapper .mobileSelectLang li a {
  color: #cdcdcd;
  font-size: clamp(1.143rem, 2.2vw, 1.875rem);
}
#header .headerInner .selectLangWrapper.open .mobileSelectLang li a {
  color: #cdcdcd;
}
#header .headerInner .selectLangWrapper.open .mobileSelectLang li.selected a {
  color: #397FC2;
}
#header .headerInner .selectLangWrapper .menuToggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  width: 32px;
  height: 32px;
  background: none;
  border: none;
  cursor: pointer;
  position: relative;
  z-index: 999999;
}
#header .headerInner .selectLangWrapper .menuToggle span {
  display: block;
  height: 1px;
  width: 100%;
  background: #222;
  transition: all 0.4s ease;
}
#header .headerInner .selectLangWrapper .menuToggle.open span {
  position: absolute;
  top: 50%;
  left: 50%;
  background: #222 !important;
}
#header .headerInner .selectLangWrapper .menuToggle.open span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}
#header .headerInner .selectLangWrapper .menuToggle.open span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}
#header .mobileMenu {
  display: none;
  position: fixed;
  top: -2px;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #fff;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.4s ease;
  width: 100%;
  transform: translateX(130%);
  border-radius: clamp(1.429rem, 2vw, 2.5rem);
  height: calc(100vh - clamp(2.143rem, 3vw, 3.75rem));
  z-index: 9999;
}
#header .mobileMenu .mobileMenuHeader h1.logo a img {
  width: 144px;
}
#header .mobileMenu ul.mobileNav {
  text-align: center;
}
#header .mobileMenu ul.mobileNav li a, #header .mobileMenu ul.mobileNav li .lnbToggle {
  font-size: calc(clamp(1rem, 1.5vw, 1.25rem) * 2);
  padding: clamp(1.786rem, 2.5vw, 3.125rem);
}
#header .mobileMenu ul.mobileNav li .lnbToggle {
  position: relative;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
}
#header .mobileMenu ul.mobileNav li .lnbToggle::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  border-top: 1px solid #397FC2;
  width: 0;
  transition: 0.4s ease-in-out;
}
#header .mobileMenu ul.mobileNav li .lnbToggle .arrow {
  margin-left: 10px;
  display: inline-block;
  width: 14px;
  height: 9px;
  background: url("/img/common/btn_arr.png") no-repeat center/cover;
  transition: transform 0.4s;
}
#header .mobileMenu ul.mobileNav li .lnbToggle .arrow img {
  display: none;
}
#header .mobileMenu ul.mobileNav li .lnbToggle.active {
  color: #397FC2;
  font-weight: 700;
}
#header .mobileMenu ul.mobileNav li .lnbToggle.active::after {
  width: 100vw;
}
#header .mobileMenu ul.mobileNav li .lnbToggle.active .arrow {
  transform: rotate(180deg);
  background-image: url("/img/common/btn_arr_h.png");
}
#header .mobileMenu ul.mobileNav li .lnb {
  margin-bottom: 0;
  height: 0;
  clip-path: inset(0% 0% 100% 0%);
  overflow: hidden;
  transition: 0.2s linear;
}
#header .mobileMenu ul.mobileNav li .lnb li a {
  font-size: clamp(1.143rem, 2.2vw, 1.875rem);
  color: #666666;
  padding: clamp(0.714rem, 1vw, 1.25rem);
}
#header .mobileMenu ul.mobileNav li.open .lnb {
  height: 200px;
  clip-path: inset(0% 0% 0% 0%);
  margin-bottom: clamp(1.786rem, 2.5vw, 3.125rem);
  margin-top: clamp(1.786rem, 2.5vw, 3.125rem);
}
@media (max-width: 768px) {
  #header .gnb {
    display: none;
  }
  #header .headerInner .selectLangWrapper .menuToggle {
    display: flex;
  }
  #header .selectLangWrapper .menuToggle {
    display: flex;
  }
  #header .mobileMenu {
    display: flex;
  }
  #header .mobileMenu.open {
    transform: translateX(0);
  }
  #header .mobileMenu .mobileMenuHeader {
    padding: 16px 30px;
    height: 66px;
    display: flex;
    align-items: center;
  }
  #header .mobileMenu .mobileMenuBody {
    flex: 1;
    overflow-y: auto;
    padding: 20px 24px;
  }
  #header .mobileMenu .mobileMenuFooter {
    padding: 16px 24px clamp(5.357rem, 8vw, 9.375rem);
    font-size: clamp(1.071rem, 1.8vw, 1.625rem);
    color: #aaa;
    text-align: center;
  }
}

.innerWrapper {
  position: relative;
  max-width: 1520px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.innerWrapper.column {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: clamp(1.786rem, 2.5vw, 3.125rem);
}
.innerWrapper.fullWrapper {
  max-width: unset;
  width: 100vw;
  left: 50%;
  transform: translateX(-50vw);
}

.gradientTxt {
  background: linear-gradient(to right, #fff 45%, #397FC2);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.subBanner {
  background: no-repeat center bottom/cover;
  padding: clamp(4.286rem, 6vw, 7.5rem) clamp(3.571rem, 5vw, 6.25rem);
  max-height: 970px;
  aspect-ratio: 1/0.5;
  width: 100%;
}
.subBanner .innerWrapper {
  align-items: flex-end;
  justify-content: flex-start;
  min-height: auto;
  height: 100%;
  width: 100%;
}
.subBanner .innerWrapper .subTit {
  width: 100%;
}
.subBanner .innerWrapper .subTit span {
  color: rgba(255, 255, 255, 0.3);
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  font-weight: 700;
  line-height: 1;
}
.subBanner .innerWrapper .subTit strong {
  display: block;
  margin: clamp(1.07rem, 1.5vw, 1.875rem) 0 clamp(0.714rem, 1vw, 1.25rem);
  font-size: clamp(2.286rem, 6vw, 5rem);
  font-weight: 700;
  color: #fff;
  line-height: 1;
}
.subBanner .innerWrapper .subTit p {
  color: rgba(255, 255, 255, 0.8);
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  font-weight: 200;
}
@media screen and (max-width: 768px) {
  .subBanner {
    padding-top: 11rem !important;
    aspect-ratio: unset !important;
  }
}
@media screen and (max-width: 540px) {
  .subBanner .mb_br {
    display: none;
  }
}

.subBtnWrapper {
  max-width: 620px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(0.714rem, 1vw, 1.25rem);
  margin-top: clamp(1.786rem, 2.5vw, 3.125rem);
  padding: 2px 0;
}
.subBtnWrapper .subBtn {
  flex: 1;
}
.subBtnWrapper .subBtn a, .subBtnWrapper .subBtn button {
  padding: clamp(0.714rem, 1vw, 1.25rem);
  color: #fff;
  font-size: calc(clamp(1.071rem, 1.8vw, 1.625rem) - 1px);
  font-weight: 600;
  border-radius: 200px;
  border: 1px solid rgb(255, 255, 255);
  line-height: 1;
  text-align: center;
  transition: background 0.4s;
  backdrop-filter: blur(11px);
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
@media screen and (max-width: 540px) {
  .subBtnWrapper .subBtn a, .subBtnWrapper .subBtn button {
    height: 42px;
  }
}
.subBtnWrapper .subBtn a:hover, .subBtnWrapper .subBtn button:hover {
  background: #397FC2;
  border: 1px solid #397FC2;
}

[id*=sub] .subBtnWrapper:not(.subBanner .subBtnWrapper) .subBtn a,
[id*=sub] .subBtnWrapper:not(.subBanner .subBtnWrapper) .subBtn button {
  backdrop-filter: unset;
}

.filmWrapper {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  height: 0;
  border-radius: clamp(0.714rem, 1vw, 1.25rem);
  overflow: hidden;
}
.filmWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.btmBanner {
  background: #397FC2;
  position: relative;
  padding: clamp(3.571rem, 5vw, 6.25rem);
  cursor: pointer;
  height: 450px;
  transition: 0.4s ease-in-out;
  overflow: hidden;
}
.btmBanner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 130%;
  height: 130%;
  transition: 0.8s ease-in-out;
  background: linear-gradient(to left, #004383, #397FC2);
  opacity: 0;
}
.btmBanner.subSec::before {
  content: "";
  position: absolute;
  inset: 0;
  background-size: 150% 100%;
  background-position: left center;
  transition: background-position 0.5s ease;
  z-index: 0;
  width: unset;
  height: unset;
  opacity: 1;
}
.btmBanner a {
  display: block;
  width: 100%;
  height: 100%;
}
.btmBanner a .innerWrapper {
  position: relative;
  z-index: 1;
  min-height: auto;
  height: 100%;
}
.btmBanner a .innerWrapper .contact {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
}
.btmBanner a .innerWrapper .contact .left {
  color: #fff;
}
.btmBanner a .innerWrapper .contact .left strong {
  font-size: clamp(2.286rem, 6vw, 5rem);
  font-weight: 700;
}
.btmBanner a .innerWrapper .contact .left p {
  font-size: clamp(1.071rem, 1.8vw, 1.625rem);
  color: rgba(255, 255, 255, 0.8);
  font-weight: 400;
}
.btmBanner a .innerWrapper .contact .right {
  width: clamp(50px, 11vw, 134px);
  height: clamp(50px, 11vw, 134px);
  position: relative;
}
.btmBanner a .innerWrapper .contact .right i {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  transition: 0.4s ease-in-out;
}
.btmBanner a .innerWrapper .contact .right .default {
  opacity: 1;
  z-index: 1;
}
.btmBanner a .innerWrapper .contact .right .hover {
  opacity: 0;
  z-index: -1;
}
.btmBanner:hover::before {
  opacity: 1;
}
.btmBanner:hover a .innerWrapper .contact .right .default {
  opacity: 0;
  z-index: -1;
}
.btmBanner:hover a .innerWrapper .contact .right .hover {
  opacity: 1;
  z-index: 1;
}
@media (hover: none) and (pointer: coarse) {
  .btmBanner::before {
    opacity: 1;
  }
  .btmBanner a .innerWrapper .contact .right .default {
    opacity: 0;
    z-index: -1;
  }
  .btmBanner a .innerWrapper .contact .right .hover {
    opacity: 1;
    z-index: 1;
  }
}

.innerTxt {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1.786rem, 2.5vw, 3.125rem);
  flex-direction: column;
}
.innerTxt strong {
  font-size: clamp(2rem, 5vw, 4.125rem);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.innerTxt p {
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  font-weight: 300;
  line-height: 1.3;
  text-align: center;
  color: #333;
}

.fadeElem {
  opacity: 0;
}

.btn {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: all 0.4s ease-in-out, border 0s;
  border-radius: 140px;
}
.btn.ellipseBtn {
  background: transparent;
  width: 220px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.5);
  font-size: clamp(1.071rem, 1.8vw, 1.625rem);
  color: #fff;
  font-weight: 600;
}
.btn.circleBtn {
  aspect-ratio: 1/1;
  overflow: hidden;
}
.btn.plusBtn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 58px;
  width: 58px;
}
.btn.plusBtn > span {
  color: #fff;
  font-weight: 600;
  font-size: clamp(1.071rem, 1.8vw, 1.625rem);
  display: none;
  margin-left: 25px;
}
.btn.plusBtn button {
  position: relative;
  aspect-ratio: 1/1;
  height: 100%;
}
.btn.plusBtn button span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 20px;
  background: #111;
}
.btn.plusBtn button span:first-child {
  transform: translate(-50%, -50%) rotate(90deg);
}
.btn.plusBtn button span:last-child {
  transform: translate(-50%, -50%);
}
.btn a {
  display: block;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn:hover {
  background: #397FC2;
}

.btnWrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.857rem, 1.2vw, 0.875rem);
}
.btnWrapper span {
  font-size: clamp(1.071rem, 1.8vw, 1.625rem);
  color: #111;
  font-weight: 600;
  transition: all 0.4s ease-in-out;
}
.btnWrapper .circleBtn {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  position: relative;
}
.btnWrapper .circleBtn.arrBtn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(50% - 0.2rem);
  width: 0.5rem;
  height: 0.5rem;
  border-top: 1px solid #111;
  border-right: 1px solid #111;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: 0.4s ease-in-out;
}
.btnWrapper .circleBtn.moreBtn::before, .btnWrapper .circleBtn.moreBtn::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 0.75rem;
  top: 50%;
  left: 50%;
  background: #111;
  transform: translate(-50%, -50%);
  transition: 0.4s ease-in-out;
}
.btnWrapper .circleBtn.moreBtn::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.robotBox:hover:has(.plusBtn) .plusBtn {
  width: 220px;
  background: #397FC2;
}
.robotBox:hover:has(.plusBtn) .plusBtn > span {
  display: block;
}
.robotBox:hover:has(.plusBtn) .plusBtn button span {
  background: #fff;
}

#pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.714rem, 1vw, 1.25rem);
}
#pagination .page {
  width: clamp(1.429rem, 2vw, 2.5rem);
  height: clamp(1.429rem, 2vw, 2.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(1.071rem, 1.8vw, 1.625rem);
  color: #ccc;
}
#pagination .page.active {
  font-weight: 700;
  color: #397FC2;
  border-bottom: 2px solid #397FC2;
}
#pagination .pager-btn {
  width: clamp(1.429rem, 2vw, 2.5rem);
  height: clamp(1.429rem, 2vw, 2.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(1.143rem, 2.2vw, 1.875rem);
}
#pagination .pager-btn[disabled] {
  opacity: 0.2;
  cursor: not-allowed;
}

.robotBox:hover:has(.btnWrapper) .btnWrapper > span {
  color: #397FC2;
}
.robotBox:hover:has(.btnWrapper) .btnWrapper .btn {
  background: #397FC2;
}
.robotBox:hover:has(.btnWrapper) .btnWrapper .btn.arrBtn::before {
  border-color: #fff;
}
.robotBox:hover:has(.btnWrapper) .btnWrapper .btn.moreBtn::before, .robotBox:hover:has(.btnWrapper) .btnWrapper .btn.moreBtn::after {
  background: #fff;
}

.selectLangWrapper {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
}

#goTopBtn {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.15);
  transition: 0.4s ease-in-out;
  z-index: 999;
  opacity: 0;
}
#goTopBtn button {
  width: 100%;
  height: 100%;
}
#goTopBtn button img {
  width: 100%;
  height: 100%;
}

#footer {
  height: 100vh;
  background: url("/img/common/footer_bg.png") no-repeat center/cover;
  padding: clamp(5.357rem, 8vw, 9.375rem) clamp(3.571rem, 5vw, 6.25rem) clamp(3.571rem, 5vw, 6.25rem);
  color: #fff;
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  font-weight: 400;
  max-height: 1000px;
}
#footer .innerWrapper {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
  min-height: auto;
}
#footer .innerWrapper > div {
  display: flex;
  justify-content: space-between;
}
#footer .innerWrapper .fTit {
  font-size: clamp(0.857rem, 1.2vw, 0.875rem);
  color: #444;
  display: inline-block;
  margin-bottom: clamp(0.929rem, 1.5vw, 1.625rem);
  font-weight: 700;
}
#footer .innerWrapper .top {
  width: 100%;
  height: clamp(200px, 32vw, 300px);
}
#footer .innerWrapper .top .left {
  align-items: flex-start;
  max-width: 450px;
  width: 30%;
}
#footer .innerWrapper .top .right {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: clamp(4.286rem, 6vw, 7.5rem);
  height: 100%;
}
#footer .innerWrapper .top .right .infoWrapper {
  height: 100%;
}
#footer .innerWrapper .top .right .infoWrapper .infoList {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  height: 100%;
}
#footer .innerWrapper .top .right .infoWrapper .infoList .infoItem .snsList {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(0.929rem, 1.5vw, 1.625rem);
}
#footer .innerWrapper .top .right .infoWrapper .infoList .infoItem .snsList .snsItem a {
  background: url("/img/common/footer_sprite.png") no-repeat;
  background-size: cover;
  background-position-y: center;
  width: 28px;
  height: 28px;
}
#footer .innerWrapper .top .right .infoWrapper .infoList .infoItem .snsList .snsItem:first-child a {
  background-position-x: 0;
}
#footer .innerWrapper .top .right .infoWrapper .infoList .infoItem .snsList .snsItem:nth-child(2) a {
  background-position-x: 50%;
}
#footer .innerWrapper .top .right .infoWrapper .infoList .infoItem .snsList .snsItem:last-child a {
  background-position-x: 100%;
}
#footer .innerWrapper .top .right .fnb {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
}
#footer .innerWrapper .top .right .fnb ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  flex-grow: 1;
  gap: 1.2rem;
}
#footer .innerWrapper .bottom {
  width: 100%;
  align-items: center;
  opacity: 0.4;
  font-weight: 400;
}
#footer .innerWrapper .bottom .copyright {
  font-size: clamp(0.857rem, 1.4vw, 1.125rem);
}
#footer .innerWrapper .bottom .policies {
  font-size: clamp(0.857rem, 1.4vw, 1.125rem);
}
#footer .innerWrapper .bottom .policies ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(1.786rem, 2.5vw, 3.125rem);
}
#footer .innerWrapper .bottom .policies ul li a {
  text-decoration: underline;
}
/***************
      MODAL
***************/
.modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1000;
}

.modalContent {
  background: #fff;
  width: 500px;
  margin: 10% auto;
  padding: 20px;
  position: relative;
  z-index: 1001;
}

/*************************
          FORM
*************************/
form {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1.07rem, 1.5vw, 1.875rem);
}
form .formRow {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 8px;
  width: 100%;
}
form .formRow.col2 {
  width: calc(50% - clamp(1.07rem, 1.5vw, 1.875rem) / 2);
}
form .formRow.col3 {
  width: calc(33.3333% - clamp(1.07rem, 1.5vw, 1.875rem) / 1.5);
}
form .formRow label {
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  font-weight: 600;
}
form .formRow label[data-required]::after {
  content: "*";
  color: #397FC2;
  margin-left: 4px;
}
form .formRow textarea.inputBox {
  height: 200px;
}
form .formRow .inputBox {
  background: #f6f6f6;
  overflow: hidden;
  border-radius: 10px;
  height: 65px;
  width: 100%;
  padding: clamp(0.714rem, 1vw, 1.25rem);
  transition: 0.3s;
}
form .formRow .inputBox::placeholder {
  transition: 0.3s;
  opacity: 0;
  font-weight: 200;
}
form .formRow .inputBox:focus {
  background: #fff;
  border: 1px solid #397FC2;
}
form .formRow .inputBox:focus::placeholder {
  opacity: 1;
}
form .formRow .customSelect {
  position: relative;
  display: inline-block;
  width: 100%;
}
form .formRow .customSelect.readonly .selected {
  color: #aaa;
  cursor: not-allowed;
}
form .formRow .customSelect::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 7px;
  background: url("/img/common/select_arr.png") no-repeat center/cover;
  filter: invert(1);
  top: 50%;
  right: clamp(0.714rem, 1vw, 1.25rem);
  transform: translateY(-50%);
  pointer-events: none;
  transition: 0.3s;
}
form .formRow .customSelect .selected {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
form .formRow .customSelect .options {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  border: 1px solid transparent;
  display: none;
  list-style: none;
  padding: clamp(0.714rem, 1vw, 1.25rem) clamp(0.714rem, 1vw, 1.25rem);
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  z-index: 10;
}
form .formRow .customSelect .options li {
  cursor: pointer;
  padding: calc(clamp(0.714rem, 1vw, 1.25rem) / 2) 0;
}
form .formRow .customSelect.open::after {
  transform: translateY(-50%) rotate(180deg);
}
form .formRow .customSelect.open .inputBox {
  background: #fff;
  border: 1px solid #397FC2;
}
form .formRow .customSelect.open .options {
  display: block;
}
form .formRow.chkboxRow .customChkbox {
  font-weight: 400;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(0.714rem, 1vw, 1.25rem);
}
form .formRow.chkboxRow input {
  display: none;
}
form .formRow.chkboxRow a {
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  font-weight: 600;
}
form .formRow.chkboxRow a span {
  text-decoration: underline;
}
form .formRow.chkboxRow .inputBox {
  border-radius: 5px;
  overflow: auto;
  width: 30px;
  height: 30px;
  padding: 0;
  position: relative;
}
form .formRow.chkboxRow .inputBox::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 16.5px;
  height: 10px;
  background: url("/img/common/chk_ico.png") no-repeat center/cover;
  visibility: hidden;
}
form .formRow.chkboxRow input[type=checkbox]:checked + .inputBox {
  background: #397FC2;
}
form .formRow.chkboxRow input[type=checkbox]:checked + .inputBox::after {
  visibility: visible;
}

.errMsg {
  color: red;
}

@media screen and (max-width: 1024px) {
  .btn.plusBtn {
    width: 2rem;
    height: 2rem;
  }
  .btn.plusBtn button span {
    width: 1px;
    height: 12px;
  }
  .robotBox:hover:has(.plusBtn) .plusBtn {
    width: 120px;
  }
  .robotBox:hover:has(.plusBtn) .plusBtn span {
    margin-left: 12px;
    left: 0;
  }
}
@media screen and (max-width: 768px) {
  #header {
    top: clamp(1.07rem, 1.5vw, 1.875rem);
    width: 90%;
    left: 50%;
    transform: translateX(-50%);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 140px;
    backdrop-filter: blur(50px);
  }
  #header .headerInner {
    padding: 16px 30px;
    height: 66px;
  }
  #header .headerInner .logo {
    margin-right: 12px;
    max-width: 100px;
  }
  #header .headerInner .logo .default {
    display: block;
  }
  #header .headerInner .logo .fixed {
    display: none;
  }
  #header .headerInner .gnb ul.menu {
    display: flex;
  }
  #header .headerInner .gnb ul.menu > li > a {
    padding: 0 calc(clamp(1.25rem, 2vw, 2.1875rem) / 2);
  }
  #header .headerInner .hRight {
    gap: 0;
  }
  #header .headerInner .hRight .hContact {
    position: relative;
    z-index: 999999;
  }
  #header .headerInner .hRight .hContact a.contactBtn {
    display: none;
  }
  #header .headerInner .hRight .hContact a.contactIcon {
    display: block;
    margin-left: 0.75rem;
    flex-shrink: 0;
  }
  #header .headerInner .selectLangWrapper {
    margin-left: 32px;
  }
  #header .headerInner .selectLangWrapper span {
    display: none;
  }
  #header .headerInner .selectLangWrapper .mobileSelectLang {
    display: flex;
    margin-right: 12px;
  }
  #footer {
    position: relative;
    background-image: url("/img/common/footer_m_bg.png");
  }
  #footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
  }
  #footer .innerWrapper {
    position: relative;
    z-index: 1;
    justify-content: flex-end;
  }
  #footer .innerWrapper .top {
    flex-direction: column;
    align-items: center;
    gap: clamp(2.857rem, 4.3vw, 5rem);
    height: auto;
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #footer .innerWrapper .top .left {
    width: 50%;
  }
  #footer .innerWrapper .top .right {
    flex-direction: column;
    height: auto;
    gap: clamp(2.143rem, 3vw, 3.75rem);
  }
  #footer .innerWrapper .top .right .infoWrapper {
    width: 100%;
  }
  #footer .innerWrapper .top .right .infoWrapper .infoList {
    gap: clamp(1.786rem, 2.5vw, 3.125rem);
  }
  #footer .innerWrapper .top .right .infoWrapper .infoList .infoItem {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #footer .innerWrapper .top .right .infoWrapper .infoList .infoItem span, #footer .innerWrapper .top .right .infoWrapper .infoList .infoItem p {
    text-align: center;
  }
  #footer .innerWrapper .top .right .fnb {
    width: 100%;
    align-items: center;
  }
  #footer .innerWrapper .top .right .fnb ul {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.3rem 1rem;
  }
  #footer .innerWrapper .bottom {
    flex-direction: column;
    justify-content: flex-end;
    gap: clamp(0.714rem, 1vw, 1.25rem);
    text-align: center;
  }
  .btmBanner {
    height: 250px;
  }
  form .formRow.col2, form .formRow.col3 {
    width: 100%;
  }
  form .formRow .inputBox {
    height: 50px;
  }
}
@media screen and (max-width: 540px) {
  .subSec {
    padding-left: clamp(1.429rem, 2vw, 2.5rem) !important;
    padding-right: clamp(1.429rem, 2vw, 2.5rem) !important;
  }
  .robotBox:hover:has(.plusBtn) .plusBtn {
    width: 90px;
  }
  .innerTxt {
    width: 100%;
    text-align: center;
  }
  .btn.ellipseBtn {
    width: 120px;
    height: 40px !important;
  }
  #footer {
    padding: clamp(3.571rem, 5vw, 6.25rem) clamp(1.786rem, 2.5vw, 3.125rem);
  }
  #footer .innerWrapper .fTit {
    margin-bottom: 4px;
  }
  #footer .innerWrapper .top .left {
    width: 100%;
    max-width: 190px;
  }
  .btmBanner {
    height: auto;
  }
  .btmBanner .contact {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
}
@media (max-width: 400px) {
  #header .headerInner {
    height: 56px;
    padding: 16px;
  }
  #header .headerInner .logo {
    max-width: 100px;
  }
  #header .headerInner .selectLangWrapper {
    margin-left: 0;
  }
  #header .headerInner .selectLangWrapper .menuToggle {
    width: 24px;
    height: 24px;
  }
  #header .mobileMenu .mobileMenuHeader {
    height: 56px;
    padding: 16px;
  }
  #header .mobileMenu .mobileMenuHeader h1.logo a img {
    max-width: 100px;
  }
  .btmBanner .contact {
    flex-direction: column;
    gap: 1rem;
  }
}
section {
  overflow-x: clip;
}

#contactBanner {
  background: url("/img/sub/contact/contact_banner.png") no-repeat center/cover;
  padding: clamp(4.286rem, 6vw, 7.5rem) clamp(3.571rem, 5vw, 6.25rem);
  max-height: 700px;
  aspect-ratio: 1/0.36;
  width: 100%;
}
#contactBanner .innerWrapper {
  align-items: flex-end;
  justify-content: flex-start;
  min-height: auto;
  height: 100%;
}
#contactBanner .innerWrapper .subTit span {
  color: rgba(255, 255, 255, 0.2);
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  line-height: 1;
}
#contactBanner .innerWrapper .subTit strong {
  display: block;
  margin: clamp(1.786rem, 2.5vw, 3.125rem) 0 clamp(0.714rem, 1vw, 1.25rem);
  font-size: clamp(2.286rem, 6vw, 5rem);
  font-weight: 700;
  color: #fff;
  line-height: 1;
}
#contactBanner .innerWrapper .subTit p {
  color: rgba(255, 255, 255, 0.8);
  font-size: clamp(1rem, 1.5vw, 1.25rem);
}

#subSec1 {
  padding: clamp(5.357rem, 8vw, 9.375rem) clamp(3.571rem, 5vw, 6.25rem);
}
#subSec1 .innerWrapper .contactForm .subBtnWrapper {
  margin: clamp(1.07rem, 1.5vw, 1.875rem) auto 0;
  width: 100%;
  text-align: center;
}
#subSec1 .innerWrapper .contactForm .subBtnWrapper .subBtn {
  width: max-content;
}
#subSec1 .innerWrapper .contactForm .subBtnWrapper .subBtn button {
  background: #397FC2;
  color: #FFF;
  max-width: 360px;
  width: 100%;
  margin: 0 auto;
}
#subSec1 .innerWrapper .contactForm .subBtnWrapper .subBtn button:hover {
  background: #004383;
  border-color: #004383;
}

#modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  align-items: center;
  justify-content: center;
  display: none;
  z-index: 99999999;
}
#modal .modalBox {
  max-width: max-content;
  width: 90%;
  padding: clamp(2.143rem, 3vw, 3.75rem);
  text-align: center;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: clamp(2.143rem, 3vw, 3.75rem);
  align-items: center;
  justify-content: stretch;
}
#modal .modalBox .tit {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#modal .modalBox .tit span {
  font-size: clamp(1.571rem, 3.8vw, 3.125rem);
  font-weight: 700;
  line-height: 1;
}
#modal .modalBox .tit #closeBtn {
  position: relative;
  width: clamp(0.929rem, 1.5vw, 1.625rem);
  height: clamp(0.929rem, 1.5vw, 1.625rem);
}
#modal .modalBox .tit #closeBtn span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(1.25rem, 2vw, 2.1875rem);
  height: 2px;
  background: #aaa;
}
#modal .modalBox .tit #closeBtn span:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}
#modal .modalBox .tit #closeBtn span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}
#modal .modalBox .con {
  width: 100%;
  height: max-content;
  padding: clamp(3.571rem, 5vw, 6.25rem) clamp(1.786rem, 2.5vw, 3.125rem);
  display: flex;
  flex-direction: column;
  gap: clamp(1.429rem, 2vw, 2.5rem);
  align-items: center;
  justify-content: center;
  background: #f6f6f6;
}
#modal .modalBox .con .logo {
  max-width: 114px;
  width: 50%;
}
#modal .modalBox .con .logo img {
  width: 100%;
}
#modal .modalBox .con strong {
  font-size: clamp(1.571rem, 3.8vw, 3.125rem);
  font-weight: 700;
  color: #000;
  line-height: 1;
}
#modal .modalBox .con p {
  font-size: clamp(1.143rem, 2.2vw, 1.875rem);
  font-weight: 500;
  color: #333;
  line-height: 1;
}
#modal .modalBox .subBtnWrapper {
  max-width: 360px;
  width: 90%;
  margin-top: 0;
}
#modal .modalBox .subBtnWrapper .subBtn {
  width: 100%;
}
#modal .modalBox .subBtnWrapper .subBtn .confirmBtn {
  background: #397FC2;
  border-color: #397FC2;
}
#modal .modalBox .subBtnWrapper .subBtn .confirmBtn:hover {
  background: #004383;
  border-color: #004383;
}

@media screen and (max-width: 1024px) {
  #subSec1 .innerWrapper .contactForm .subBtnWrapper {
    max-width: 220px;
  }
}
@media screen and (max-width: 540px) {
  #subSec1 .innerWrapper .contactForm .subBtnWrapper {
    max-width: 140px;
  }
}

/*# sourceMappingURL=sub05.css.map */
