@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (max-width: 1024px) {
  body {
    padding-top: 90px;
  }
}

ul, li {
  list-style: none;
}

a {
  color: black;
  text-decoration: none;
}

img {
  display: block;
}

span {
  display: inline-block;
}

header, nav, main, article, section, aside, footer {
  display: block;
}

:root {
  /* color */
  --white-color: #fff;
  --black-color: #000;
  --gray-color: #555;
  --light-gray-color: #9c9c9c;
  --menu-back-color: #eee;
  --slideBtn-hover-color: #344964;
  --inquire-span-color: #11486f;
  --consulting-color: #93b9df;
  --makeSolution-color: #b7b7b7;
  --systemIntegration-color: #ef8398;
  --itService-color: #94c9db;
  --businesTitle-color: #fb4545;
  --businessTeam-color: #93b9df;
  --solutionTeam-color: #b7b7b7;
  --serviceTeam-color: #ef8398;
  --lab-color: #94c9db;
  --leader-color: #fb4545;
  --year2020-color: #93b9df;
  --year2019-color: #b7b7b7;
  --year2021-color: #ef8398;
  --year2022-color: #94c9da;
  --year2023-color: #4AD953;
  --year2024-color: #E59EDD;
  --menuList-color: #fb4545;
  --say-back-color: #ebebeb;
  --submit-start-color: #fb4545;
  --submit-hover-color: #c1001d;
  --start-color: #fb4545;
  /* font-size */
  --font-size-16px: 16px;
  --font-size-18px: 18px;
  --font-size-20px: 20px;
  --fontM-size-16px: 16px;
  --fontM-size-18px: 18px;
  --fontM-size-20px: 20px;
}

.confix {
  position: relative;
  margin: 0 auto;
  max-width: 1400px;
}

/* header */
@media screen and (max-width: 1024px) {
  header {
    position: fixed;
    top: 0;
    width: 100%;
    background-color: var(--white-color);
    z-index: 1000;
  }
}

header .headerArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 20px 0;
}

@media screen and (max-width: 1024px) {
  header .headerArea {
    padding: 25px 3%;
    z-index: 1000;
  }
}

header .headerArea .logoContent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

header .headerArea .logoContent h1 a img {
  width: 90%;
}

header .headerArea .gnb {
  position: relative;
  text-align: center;
  z-index: 51;
}

@media screen and (max-width: 1024px) {
  header .headerArea .gnb {
    display: none;
  }
}

header .headerArea .gnb .gnbList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

header .headerArea .gnb .gnbList > li {
  width: 130px;
  position: relative;
  font-size: var(--font-size-18px);
}

header .headerArea .gnb .gnbList > li::after {
  display: none;
  content: "";
  position: absolute;
  top: 50px;
  left: 0;
  width: 100%;
  height: 5px;
  z-index: 3;
  background-color: var(--black-color);
}

header .headerArea .gnb .gnbList > li:hover::after {
  display: block;
}

header .headerArea .gnb .gnbList > li:hover a {
  color: var(--black-color);
}

header .headerArea .gnb .gnbList > li > a {
  color: var(--gray-color);
  font-weight: 600;
  padding: 30px 0;
}

header .headerArea .gnb .gnbList > li ul {
  display: none;
  position: absolute;
  top: 50px;
  width: 100%;
  z-index: 2;
  padding: 20px 0 0;
}

header .headerArea .gnb .gnbList > li ul > li {
  margin-bottom: 10px;
}

header .headerArea .gnb .gnbList > li ul > li > a {
  color: var(--gray-color);
}

header .headerArea .gnb .gnbList > li ul > li > a:hover {
  color: var(--black-color);
  font-weight: 600;
}

header .headerArea .gnb .gnbList .underLine::after {
  display: block;
}

header .headerArea .gnb .gnbList .underLine .hover a {
  font-weight: 600;
}

header .headerArea .hambergerBtn {
  display: none;
}

@media screen and (max-width: 1024px) {
  header .headerArea .hambergerBtn {
    display: block;
    z-index: 1000;
  }
}

header .headerArea .hambergerBtn .hambergerIcon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  width: 35px;
  height: 30px;
  cursor: pointer;
}

header .headerArea .hambergerBtn .hambergerIcon span {
  display: inline-block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 5px;
  border-radius: 5px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  background-color: var(--black-color);
}

header .headerArea .hambergerBtn .hambergerIcon .ham02 {
  margin-top: 12px;
}

header .headerArea .hambergerBtn .hambergerIcon .ham03 {
  margin-top: 24px;
}

header .headerArea .hambergerBtn .active .ham01 {
  -webkit-transform: translateX(0) translateY(15.5px) rotate(45deg) !important;
          transform: translateX(0) translateY(15.5px) rotate(45deg) !important;
}

header .headerArea .hambergerBtn .active .ham02 {
  opacity: 0;
}

header .headerArea .hambergerBtn .active .ham03 {
  -webkit-transform: translateX(0px) translateY(-9px) rotate(-45deg) !important;
          transform: translateX(0px) translateY(-9px) rotate(-45deg) !important;
}

header .menuBg {
  display: none;
  position: absolute;
  top: 80px;
  width: 100%;
  height: 150px;
  background-color: var(--menu-back-color);
  z-index: 50;
}

@media screen and (max-width: 1024px) {
  header .menuBg {
    height: 100%;
  }
}

header .menuBgMo {
  display: none;
  position: absolute;
  top: 83px;
  width: 100%;
  height: 800px;
  background-color: var(--white-color);
  z-index: 1;
}

header .mobileMenu {
  display: none;
  position: absolute;
  margin-top: 30px;
  margin-left: 40px;
  z-index: 10;
}

header .mobileMenu .gnbMo .gnbListMo > li {
  margin-bottom: 20px;
}

header .mobileMenu .gnbMo .gnbListMo > li > a {
  font-size: var(--font-size-20px);
  font-weight: 600;
}

header .mobileMenu .gnbMo .gnbListMo > li ul {
  margin-top: 10px;
  margin-left: 5px;
  font-size: var(--font-size-18px);
}

header .mobileMenu .gnbMo .gnbListMo > li ul li {
  margin-bottom: 10px;
}

header .mobileMenu .gnbMo .gnbListMo > li ul li a {
  color: var(--gray-color);
}

header .mobileMenu .gnbMo .gnbListMo > li ul li a:hover {
  font-weight: 600;
}

header .mobileMenu .gnbMo .gnbListMo > li ul .hover {
  font-weight: 600;
}

/* main */
main {
  width: 100%;
  height: 100%;
  /* ========== 메인 ========== */
  /* ========== 메인 공통 ========== */
  /* ========== 회사개요 ========== */
  /* ========== 조직도 ==========*/
  /* ========== 회사연혁 ========== */
  /* ========== 사업소개 ========== */
  /* ========== 파트너 ========== */
  /* ========== 문의하기 ========== */
  /* ========== 오시는길 ========== */
}

@media screen and (max-width: 1024px) {
  main .indexMain {
    margin-top: -90px;
  }
}

main .mySwiper01 {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  margin-bottom: 90px;
}

@media screen and (max-width: 1024px) {
  main .mySwiper01 {
    margin-bottom: 45px;
    height: 100vh;
  }
}

main .mySwiper01 .swiper-wrapper {
  width: 100%;
}

@media screen and (max-width: 1024px) {
  main .mySwiper01 .swiper-wrapper {
    width: 100%;
    height: 100vh;
  }
}

main .mySwiper01 .swiper-wrapper .swiper-slide {
  position: relative;
  width: 100%;
  height: 550px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

@media screen and (max-width: 1024px) {
  main .mySwiper01 .swiper-wrapper .swiper-slide {
    width: 100%;
    height: 100vh;
  }
}

main .mySwiper01 .swiper-wrapper .swiper-slide p {
  position: absolute;
  font-size: 45px;
  color: var(--white-color);
  font-weight: 600;
}

main .mySwiper01 .swiper-wrapper .swiper-slide1 {
  background-image: url("../images/slide01.jpg");
}

@media screen and (max-width: 1024px) {
  main .mySwiper01 .swiper-wrapper .swiper-slide1 {
    background-image: url("../images/slideMo01.jpg");
    background-position-y: 90px;
  }
}

main .mySwiper01 .swiper-wrapper .swiper-slide1 p {
  width: 100%;
  top: 55%;
  left: 20%;
  -webkit-transition: all 1s;
  transition: all 1s;
}

@media screen and (max-width: 1024px) {
  main .mySwiper01 .swiper-wrapper .swiper-slide1 p {
    text-align: center;
    font-size: 35px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

main .mySwiper01 .swiper-wrapper .swiper-slide1 p span {
  position: relative;
  opacity: 0;
}

main .mySwiper01 .swiper-wrapper .swiper-slide1 p .eduTxt {
  margin-bottom: 20px;
}

main .mySwiper01 .swiper-wrapper .swiper-slide2 {
  background-image: url("../images/slide02.jpg");
}

@media screen and (max-width: 1024px) {
  main .mySwiper01 .swiper-wrapper .swiper-slide2 {
    background-image: url("../images/slideMo02.jpg");
  }
}

main .mySwiper01 .swiper-wrapper .swiper-slide2 p {
  text-align: center;
  width: 100%;
  height: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: all 1s;
  transition: all 1s;
}

@media screen and (max-width: 1024px) {
  main .mySwiper01 .swiper-wrapper .swiper-slide2 p {
    font-size: 35px;
  }
}

main .mySwiper01 .swiper-wrapper .swiper-slide2 p span {
  position: relative;
  opacity: 0;
}

main .mySwiper01 .swiper-wrapper .swiper-slide3 {
  background-image: url("../images/slide03.jpg");
}

@media screen and (max-width: 1024px) {
  main .mySwiper01 .swiper-wrapper .swiper-slide3 {
    background-image: url("../images/slideMo03.jpg");
  }
}

main .mySwiper01 .swiper-wrapper .swiper-slide3 p {
  text-align: center;
  width: 100%;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  line-height: 2;
  font-size: var(--font-size-20px);
  font-weight: normal;
  -webkit-transition: all 1s;
  transition: all 1s;
}

main .mySwiper01 .swiper-wrapper .swiper-slide3 p span {
  opacity: 0;
}

main .mySwiper01 .swiper-wrapper .swiper-slide3 p .slide03Txt1 {
  width: 100%;
  font-size: 45px;
  font-weight: 600;
}

@media screen and (max-width: 1024px) {
  main .mySwiper01 .swiper-wrapper .swiper-slide3 p .slide03Txt1 {
    font-size: 35px;
  }
}

main .mySwiper01 .swiper-wrapper .swiper-slide3 p .slide03Txt2 {
  width: 100%;
}

main .mySwiper01 .swiper-wrapper .swiper-slide3 p .slide03Txt3 {
  width: 100%;
}

main .mySwiper01 .swiper-wrapper .swiper-slide-active .eduTxt {
  opacity: 0;
  left: 400px;
  -webkit-animation: leftMain 2s forwards ease-in-out;
          animation: leftMain 2s forwards ease-in-out;
}

main .mySwiper01 .swiper-wrapper .swiper-slide-active .eduTxt2 {
  opacity: 0;
  left: 400px;
  -webkit-animation: leftMain 2s forwards ease-in-out;
          animation: leftMain 2s forwards ease-in-out;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

main .mySwiper01 .swiper-wrapper .swiper-slide-active .solTxt {
  opacity: 0;
  top: 0;
  -webkit-animation: bottomMain 1.5s forwards ease-in-out;
          animation: bottomMain 1.5s forwards ease-in-out;
  -webkit-transform: rotate(0.001deg);
          transform: rotate(0.001deg);
}

@media screen and (max-width: 1024px) {
  main .mySwiper01 .swiper-wrapper .swiper-slide-active .solTxt {
    -webkit-animation: bottomMainMobile 1.5s forwards ease-in-out;
            animation: bottomMainMobile 1.5s forwards ease-in-out;
  }
}

main .mySwiper01 .swiper-wrapper .swiper-slide-active .solTxt2 {
  opacity: 0;
  top: 400px;
  -webkit-animation: topMain 1.5s forwards ease-in-out;
          animation: topMain 1.5s forwards ease-in-out;
  -webkit-transform: rotate(0.001deg);
          transform: rotate(0.001deg);
}

@media screen and (max-width: 1024px) {
  main .mySwiper01 .swiper-wrapper .swiper-slide-active .solTxt2 {
    top: 700px;
    -webkit-animation: topMainMoblie 1.5s forwards ease-in-out;
            animation: topMainMoblie 1.5s forwards ease-in-out;
  }
}

main .mySwiper01 .swiper-wrapper .swiper-slide-active .slide03Txt1 {
  opacity: 0;
  -webkit-animation: block 3s forwards;
          animation: block 3s forwards;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

@media screen and (max-width: 1024px) {
  main .mySwiper01 .swiper-wrapper .swiper-slide-active .slide03Txt1 {
    font-size: 35px;
  }
}

main .mySwiper01 .swiper-wrapper .swiper-slide-active .slide03Txt2 {
  opacity: 0;
  -webkit-animation: block 3s forwards;
          animation: block 3s forwards;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

@media screen and (max-width: 1024px) {
  main .mySwiper01 .swiper-wrapper .swiper-slide-active .slide03Txt2 {
    font-size: var(--fontM-size-18px);
  }
}

main .mySwiper01 .swiper-wrapper .swiper-slide-active .slide03Txt3 {
  opacity: 0;
  -webkit-animation: block 3s forwards;
          animation: block 3s forwards;
  -webkit-animation-delay: 1.4s;
          animation-delay: 1.4s;
}

@media screen and (max-width: 1024px) {
  main .mySwiper01 .swiper-wrapper .swiper-slide-active .slide03Txt3 {
    font-size: var(--fontM-size-18px);
  }
}

@-webkit-keyframes leftMain {
  from {
    left: 400px;
    opacity: 0;
  }
  to {
    left: 0;
    opacity: 1;
  }
}

@keyframes leftMain {
  from {
    left: 400px;
    opacity: 0;
  }
  to {
    left: 0;
    opacity: 1;
  }
}

@-webkit-keyframes bottomMain {
  form {
    top: 0;
    opacity: 0;
  }
  to {
    top: 38%;
    opacity: 1;
  }
}

@keyframes bottomMain {
  form {
    top: 0;
    opacity: 0;
  }
  to {
    top: 38%;
    opacity: 1;
  }
}

@-webkit-keyframes bottomMainMobile {
  form {
    top: 0;
    opacity: 0;
  }
  to {
    top: 48%;
    opacity: 1;
  }
}

@keyframes bottomMainMobile {
  form {
    top: 0;
    opacity: 0;
  }
  to {
    top: 48%;
    opacity: 1;
  }
}

@-webkit-keyframes topMain {
  form {
    top: 400px;
    opacity: 0;
  }
  to {
    top: 40%;
    opacity: 1;
  }
}

@keyframes topMain {
  form {
    top: 400px;
    opacity: 0;
  }
  to {
    top: 40%;
    opacity: 1;
  }
}

@-webkit-keyframes topMainMoblie {
  form {
    top: 400px;
    opacity: 0;
  }
  to {
    top: 50%;
    opacity: 1;
  }
}

@keyframes topMainMoblie {
  form {
    top: 400px;
    opacity: 0;
  }
  to {
    top: 50%;
    opacity: 1;
  }
}

@-webkit-keyframes block {
  0% {
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}

@keyframes block {
  0% {
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}

main .mySwiper01 .swiper-pagination {
  text-align: center;
  margin-bottom: 10px;
}

@media screen and (max-width: 1024px) {
  main .mySwiper01 .swiper-pagination {
    margin-bottom: 30px;
    margin-right: 200px;
  }
}

main .mySwiper01 .swiper-pagination span {
  display: inline-block;
  border-radius: 0;
  width: 50px;
  height: 8px;
}

main .mySwiper01 .swiper-pagination .swiper-pagination-bullet {
  background-color: var(--white-color);
  opacity: 1;
  margin-right: 10px;
}

main .mySwiper01 .swiper-pagination .swiper-pagination-bullet-active {
  background-color: var(--slideBtn-hover-color);
}

main .businessArea {
  margin-bottom: 90px;
}

@media screen and (max-width: 1024px) {
  main .businessArea {
    margin-bottom: 45px;
  }
}

@media screen and (max-width: 1024px) {
  main .businessArea {
    padding: 0 3%;
  }
}

main .businessArea h2 {
  width: 100%;
  font-size: 48px;
  margin-bottom: 80px;
  -webkit-transition: all 1s;
  transition: all 1s;
}

@media screen and (max-width: 1024px) {
  main .businessArea h2 {
    margin-bottom: 36px;
  }
}

@media screen and (max-width: 1024px) {
  main .businessArea h2 {
    font-size: 30px;
  }
}

main .businessArea .icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 1024px) {
  main .businessArea .icon {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

main .businessArea .icon ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  margin-bottom: 15px;
}

main .businessArea .icon ul > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  margin-right: 15px;
  border: 1px solid var(--light-gray-color);
  cursor: pointer;
  -webkit-transition: all 1s;
  transition: all 1s;
}

main .businessArea .icon ul > li:hover::after, main .businessArea .icon ul > li:hover::before {
  height: 100%;
}

main .businessArea .icon ul > li:hover .borderHover::after, main .businessArea .icon ul > li:hover .borderHover::before {
  width: 100%;
}

main .businessArea .icon ul > li::before, main .businessArea .icon ul > li::after {
  content: "";
  display: block;
  position: absolute;
  background-color: var(--gray-color);
  width: 3px;
  height: 0;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

@media screen and (max-width: 1024px) {
  main .businessArea .icon ul > li::before, main .businessArea .icon ul > li::after {
    display: none;
  }
}

main .businessArea .icon ul > li::before {
  left: -1px;
}

main .businessArea .icon ul > li::after {
  right: -1px;
}

main .businessArea .icon ul > li .borderHover {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  padding: 12% 8%;
}

@media screen and (max-width: 1024px) {
  main .businessArea .icon ul > li .borderHover {
    padding: 10% 3%;
  }
}

main .businessArea .icon ul > li .borderHover::before, main .businessArea .icon ul > li .borderHover::after {
  content: "";
  display: block;
  position: absolute;
  background-color: var(--gray-color);
  width: 0;
  height: 3px;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

@media screen and (max-width: 1024px) {
  main .businessArea .icon ul > li .borderHover::before, main .businessArea .icon ul > li .borderHover::after {
    display: none;
  }
}

main .businessArea .icon ul > li .borderHover::before {
  top: -1px;
}

main .businessArea .icon ul > li .borderHover::after {
  bottom: -1px;
}

main .businessArea .icon ul > li .borderHover .iconImg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  margin-bottom: 20px;
}

@media screen and (max-width: 1024px) {
  main .businessArea .icon ul > li .borderHover .iconImg {
    margin-bottom: 0px;
    width: 100px;
    height: 100px;
  }
}

main .businessArea .icon ul > li .borderHover .iconImg img {
  text-align: center;
}

@media screen and (max-width: 1024px) {
  main .businessArea .icon ul > li .borderHover .iconImg img {
    width: 80%;
    height: 80%;
  }
}

main .businessArea .icon ul > li .borderHover .iconTxt p {
  width: 100%;
  font-size: 30px;
}

@media screen and (max-width: 1024px) {
  main .businessArea .icon ul > li .borderHover .iconTxt p {
    font-size: 25px;
  }
}

@media screen and (max-width: 375px) {
  main .businessArea .icon ul > li .borderHover .iconTxt p {
    font-size: var(--fontM-size-16px);
  }
}

@media screen and (max-width: 1024px) {
  main .businessArea .icon .iconListFrist li:last-child {
    margin-right: 0;
  }
}

main .businessArea .icon .iconListSecond li:last-child {
  margin-right: 0;
}

main .mapArea {
  position: relative;
}

@media screen and (max-width: 1024px) {
  main .mapArea {
    margin-bottom: 45px;
  }
}

main .mapArea h2 {
  font-size: 0;
}

main .mapArea #map {
  width: 100%;
  height: 600px;
}

@media screen and (max-width: 1024px) {
  main .mapArea #map {
    display: none;
  }
}

main .mapArea #map .customoverlay {
  position: relative;
  bottom: 55px;
  border-radius: 6px;
  border: 1px solid #ccc;
  border-bottom: 2px solid #ddd;
  float: left;
}

main .mapArea #map .customoverlay::after {
  content: '';
  position: absolute;
  margin-left: -12px;
  left: 50%;
  bottom: -12px;
  width: 22px;
  height: 12px;
  background: url("../images/bottom_arrow.png");
}

main .mapArea #map .customoverlay:nth-child(n) {
  border: 0;
  -webkit-box-shadow: 0px 1px 2px #888;
          box-shadow: 0px 1px 2px #888;
}

main .mapArea #map .customoverlay a {
  display: block;
  text-decoration: none;
  color: #000;
  text-align: center;
  border-radius: 6px;
  font-size: 14px;
  font-weight: bold;
  overflow: hidden;
  background: blue url("../images/right_arrow.png") no-repeat right 14px center;
}

main .mapArea #map .customoverlay .title {
  display: block;
  text-align: center;
  background: #fff;
  margin-right: 35px;
  padding: 10px 15px;
  font-size: 14px;
  font-weight: bold;
}

@media screen and (max-width: 1024px) {
  main .mapArea .inquire {
    padding: 0 3%;
  }
}

main .mapArea .inquire .inquireBox {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  top: 6%;
  right: 14%;
  width: 360px;
  height: 520px;
  color: var(--gray-color);
  background-color: var(--white-color);
  z-index: 10;
}

@media screen and (max-width: 1024px) {
  main .mapArea .inquire .inquireBox {
    position: relative;
    width: 100%;
    height: 100%;
    top: 0%;
    right: 0%;
    border: 1px solid var(--light-gray-color);
  }
}

main .mapArea .inquire .inquireBox .inquireTitle {
  text-align: center;
  padding: 20px 0;
  font-size: var(--font-size-20px);
  font-weight: 600;
  color: var(--white-color);
  background-color: var(--light-gray-color);
}

main .mapArea .inquire .inquireBox .inquireAdr {
  font-size: var(--font-size-16px);
  font-weight: 600;
  padding: 20px 0;
  margin: 0 30px;
  border-bottom: 1px solid var(--light-gray-color);
}

@media screen and (max-width: 1024px) {
  main .mapArea .inquire .inquireBox .inquireAdr {
    font-size: var(--fontM-size-18px);
    margin: 0 15px;
  }
}

main .mapArea .inquire .inquireBox .inquireAdr .blue {
  color: var(--inquire-span-color);
  margin-bottom: 5px;
}

main .mapArea .inquire .inquireBox .inquireTel {
  font-size: var(--font-size-16px);
  font-weight: 600;
  padding: 20px 0;
  margin: 0 30px;
  border-bottom: 1px solid var(--light-gray-color);
}

@media screen and (max-width: 1024px) {
  main .mapArea .inquire .inquireBox .inquireTel {
    font-size: var(--fontM-size-18px);
    margin: 0 15px;
  }
}

main .mapArea .inquire .inquireBox .inquireTel .blue {
  color: var(--inquire-span-color);
  margin-bottom: 5px;
}

main .mapArea .inquire .inquireBox .inquireFax {
  font-size: var(--font-size-16px);
  font-weight: 600;
  padding: 20px 0;
  margin: 0 30px;
  border-bottom: 1px solid var(--light-gray-color);
}

@media screen and (max-width: 1024px) {
  main .mapArea .inquire .inquireBox .inquireFax {
    font-size: var(--fontM-size-18px);
    margin: 0 15px;
  }
}

main .mapArea .inquire .inquireBox .inquireFax .blue {
  color: var(--inquire-span-color);
  margin-bottom: 5px;
}

main .mapArea .inquire .inquireBox .inquireEmail {
  font-size: var(--font-size-16px);
  font-weight: 600;
  padding: 20px 0;
  margin: 0 30px;
  border-bottom: 1px solid var(--light-gray-color);
}

@media screen and (max-width: 1024px) {
  main .mapArea .inquire .inquireBox .inquireEmail {
    font-size: var(--fontM-size-18px);
    margin: 0 15px;
  }
}

main .mapArea .inquire .inquireBox .inquireEmail .blue {
  color: var(--inquire-span-color);
  margin-bottom: 5px;
}

main .mapArea .inquire .inquireBox .inquireBtn {
  text-align: center;
  margin: 20px 0;
}

main .mapArea .inquire .inquireBox .inquireBtn button {
  padding: 10px 70px;
  font-size: var(--font-size-20px);
  font-weight: 600;
  color: var(--white-color);
  border: none;
  background-color: var(--black-color);
  cursor: pointer;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

@media screen and (max-width: 1024px) {
  main .mapArea .inquire .inquireBox .inquireBtn button {
    padding: 3% 30%;
  }
}

main .mapArea .inquire .inquireBox .inquireBtn button:hover {
  background-color: var(--light-gray-color);
}

main .banner {
  width: 100%;
}

main .banner .bannerArea {
  position: relative;
  height: 230px;
  overflow: hidden;
  margin-bottom: 90px;
}

@media screen and (max-width: 1024px) {
  main .banner .bannerArea {
    margin-bottom: 45px;
  }
}

main .banner .bannerImg {
  position: relative;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
  opacity: 0.5;
  -webkit-animation: scale 1s forwards;
          animation: scale 1s forwards;
}

@-webkit-keyframes scale {
  from {
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
    opacity: 0.5;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@keyframes scale {
  from {
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
    opacity: 0.5;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

main .banner .bannerImg01 {
  background-image: url("../images/companybanner01.jpg");
}

main .banner .bannerImg02 {
  background-image: url("../images/companybanner02.jpg");
}

main .banner .bannerImg03 {
  background-image: url("../images/companybanner03.jpg");
}

main .banner .bannerTitle {
  position: absolute;
  width: 100%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  text-align: center;
}

main .banner .bannerTitle h2 {
  font-size: 40px;
  color: var(--white-color);
  opacity: 0;
  -webkit-animation: opacity 2s forwards;
          animation: opacity 2s forwards;
}

@-webkit-keyframes opacity {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes opacity {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@media screen and (max-width: 1024px) {
  main .banner .topLine {
    margin-bottom: 45px;
    padding: 0 3%;
  }
}

main .banner .topLine .topLineTitle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--light-gray-color);
}

main .banner .topLine .topLineTitle h2 {
  font-size: 30px;
}

@media screen and (max-width: 1024px) {
  main .banner .topLine .topLineTitle h2 {
    font-size: 25px;
  }
}

main .banner .topLine .topLineTitle p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 200px;
}

@media screen and (max-width: 1024px) {
  main .banner .topLine .topLineTitle p {
    display: none;
  }
}

main .banner .topLine .topLineTitle p img {
  display: inline-block;
  margin-right: 3px;
}

main .outline {
  margin-bottom: 90px;
}

@media screen and (max-width: 1024px) {
  main .outline {
    margin-bottom: 45px;
    padding: 0 3%;
  }
}

main .outline .outlineContent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

main .outline .outlineContent .outlineTxt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 80px 0;
}

@media screen and (max-width: 1024px) {
  main .outline .outlineContent .outlineTxt {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 50px 0;
  }
}

main .outline .outlineContent .outlineTxt .outlineImg {
  margin-left: 20px;
}

@media screen and (max-width: 1024px) {
  main .outline .outlineContent .outlineTxt .outlineImg {
    display: none;
  }
}

main .outline .outlineContent .outlineTxt .outlineIntroduce {
  width: 69%;
}

@media screen and (max-width: 1024px) {
  main .outline .outlineContent .outlineTxt .outlineIntroduce {
    width: 95%;
  }
}

main .outline .outlineContent .outlineTxt .outlineIntroduce p {
  font-size: var(--font-size-18px);
  line-height: 1.7;
  padding-right: 20px;
  margin-bottom: 50px;
}

@media screen and (max-width: 1024px) {
  main .outline .outlineContent .outlineTxt .outlineIntroduce p {
    font-size: var(--fontM-size-16px);
    padding-right: 0px;
    text-align: justify;
  }
}

@media screen and (max-width: 1024px) {
  main .outline .outlineContent .outlineTxt .outlineIntroduce p .secondTxt {
    margin: 15px 0;
  }
}

main .outline .outlineContent .outlineTxt .outlineIntroduce .outlineList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  font-size: var(--font-size-18px);
}

@media screen and (max-width: 1024px) {
  main .outline .outlineContent .outlineTxt .outlineIntroduce .outlineList {
    display: none;
  }
}

main .outline .outlineContent .outlineTxt .outlineIntroduce .outlineList li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

main .outline .outlineContent .outlineTxt .outlineIntroduce .outlineList li:nth-child(odd) {
  width: 200px;
  height: 70px;
  color: var(--white-color);
}

main .outline .outlineContent .outlineTxt .outlineIntroduce .outlineList li:first-child {
  background-color: var(--consulting-color);
}

main .outline .outlineContent .outlineTxt .outlineIntroduce .outlineList li:nth-child(3) {
  background-color: var(--makeSolution-color);
}

main .outline .outlineContent .outlineTxt .outlineIntroduce .outlineList li:nth-child(5) {
  background-color: var(--systemIntegration-color);
}

main .outline .outlineContent .outlineTxt .outlineIntroduce .outlineList li:nth-child(7) {
  background-color: var(--itService-color);
}

main .outline .outlineContent .outlineTxt .outlineIntroduce .mobileOutlineList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  font-size: var(--font-size-18px);
}

@media screen and (max-width: 1024px) {
  main .outline .outlineContent .outlineTxt .outlineIntroduce .mobileOutlineList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 17px;
  }
}

main .outline .outlineContent .outlineTxt .outlineIntroduce .mobileOutlineList ul {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

main .outline .outlineContent .outlineTxt .outlineIntroduce .mobileOutlineList ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

main .outline .outlineContent .outlineTxt .outlineIntroduce .mobileOutlineList ul li:nth-child(odd) {
  width: 220px;
  height: 80px;
  color: var(--white-color);
  padding: 0 5px;
}

main .outline .outlineContent .outlineTxt .outlineIntroduce .mobileOutlineList ul li:nth-child(2) {
  margin: 0 15px;
}

main .outline .outlineContent .outlineTxt .outlineIntroduce .mobileOutlineList .firstOutlineList {
  margin-bottom: 30px;
}

main .outline .outlineContent .outlineTxt .outlineIntroduce .mobileOutlineList .firstOutlineList li:first-child {
  background-color: var(--consulting-color);
}

main .outline .outlineContent .outlineTxt .outlineIntroduce .mobileOutlineList .firstOutlineList li:nth-child(3) {
  background-color: var(--makeSolution-color);
}

main .outline .outlineContent .outlineTxt .outlineIntroduce .mobileOutlineList .secondOutlineList li:first-child {
  background-color: var(--systemIntegration-color);
}

main .outline .outlineContent .outlineTxt .outlineIntroduce .mobileOutlineList .secondOutlineList li:nth-child(3) {
  background-color: var(--itService-color);
}

main .outline .outlineContent .outlineIcon {
  overflow: auto;
}

@media screen and (max-width: 1024px) {
  main .outline .outlineContent .outlineIcon {
    display: none;
  }
}

main .outline .outlineContent .outlineIcon ul {
  position: relative;
  width: 1400px;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 1024px) {
  main .outline .outlineContent .outlineIcon ul {
    width: 1000px;
  }
}

main .outline .outlineContent .outlineIcon ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 280px;
  height: 250px;
  font-size: var(--font-size-20px);
  border-top: 3px solid var(--black-color);
  border-right: 1px solid var(--menu-back-color);
  border-bottom: 1px solid var(--menu-back-color);
}

@media screen and (max-width: 1024px) {
  main .outline .outlineContent .outlineIcon ul li {
    height: 180px;
    font-size: 14px;
  }
}

main .outline .outlineContent .outlineIcon ul li:first-child {
  border-left: 1px solid var(--menu-back-color);
}

main .outline .outlineContent .outlineIcon ul li img {
  margin-bottom: 20px;
}

@media screen and (max-width: 1024px) {
  main .outline .outlineContent .outlineIcon ul li img {
    margin-bottom: 10px;
  }
}

main .outline .outlineContent .outlineIcon ul li .iconBlue {
  font-weight: 600;
  margin-bottom: 20px;
  color: var(--consulting-color);
}

@media screen and (max-width: 1024px) {
  main .outline .outlineContent .outlineIcon ul li .iconBlue {
    margin-bottom: 10px;
  }
}

main .outline .outlineContent .outlineIcon ul li p {
  font-weight: normal;
}

main .outline .outlineContent .outlineIcon::-webkit-scrollbar {
  height: 3px;
}

main .outline .outlineContent .outlineIcon::-webkit-scrollbar-thumb {
  background-color: var(--menu-back-color);
}

main .outline .outlineContent .mobileOutlineIcon {
  display: none;
}

@media screen and (max-width: 1024px) {
  main .outline .outlineContent .mobileOutlineIcon {
    display: block;
  }
}

main .outline .outlineContent .mobileOutlineIcon ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}

main .outline .outlineContent .mobileOutlineIcon ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 95%;
  height: 100px;
  font-size: 14px;
  border: 1px solid var(--menu-back-color);
}

main .outline .outlineContent .mobileOutlineIcon ul li:first-child {
  border-top: 3px solid var(--black-color);
}

main .outline .outlineContent .mobileOutlineIcon ul li .imgContent {
  width: 100px;
}

main .outline .outlineContent .mobileOutlineIcon ul li .imgContent img {
  width: 40%;
  margin: 0 auto;
}

main .outline .outlineContent .mobileOutlineIcon ul li .textContent {
  width: 130px;
}

main .outline .outlineContent .mobileOutlineIcon ul li .iconBlue {
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 10px;
  color: var(--consulting-color);
}

main .outline .outlineContent .mobileOutlineIcon ul li p {
  font-weight: 600;
}

main .business {
  margin-bottom: 90px;
}

@media screen and (max-width: 1024px) {
  main .business {
    margin-bottom: 45px;
  }
}

main .business .comBanner02 {
  width: 100%;
  height: 480px;
  background-image: url("../images/companybanner02.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

main .business .comBanner02 .businessArea {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

main .business .comBanner02 .businessArea .businessContent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 1024px) {
  main .business .comBanner02 .businessArea .businessContent {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 3%;
    height: 100%;
  }
}

main .business .comBanner02 .businessArea .businessContent .businesTitle {
  position: relative;
  width: 240px;
  height: 240px;
  margin-right: 90px;
  background-color: var(--businesTitle-color);
}

@media screen and (max-width: 1024px) {
  main .business .comBanner02 .businessArea .businessContent .businesTitle {
    width: 100%;
    height: 100%;
    margin-right: 0px;
    background-color: transparent;
  }
}

main .business .comBanner02 .businessArea .businessContent .businesTitle h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  font-size: var(--font-size-20px);
  text-align: center;
  color: var(--white-color);
}

@media screen and (max-width: 1024px) {
  main .business .comBanner02 .businessArea .businessContent .businesTitle h2 {
    position: static;
    top: 0;
    left: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    font-size: 25px;
    text-align: left;
    margin-bottom: 25px;
  }
}

@media screen and (max-width: 1024px) {
  main .business .comBanner02 .businessArea .businessContent .businesTxt {
    width: 100%;
  }
}

main .business .comBanner02 .businessArea .businessContent .businesTxt ul li {
  font-size: var(--font-size-20px);
  line-height: 2;
  color: var(--white-color);
  padding-left: 20px;
  text-indent: -20px;
}

@media screen and (max-width: 1024px) {
  main .business .comBanner02 .businessArea .businessContent .businesTxt ul li {
    margin-bottom: 5px;
    width: 100%;
    font-size: 15px;
    letter-spacing: -1px;
    line-height: 1.7;
    text-align: left;
  }
}

main .business .comBanner02 .businessArea .businessContent .businesTxt ul li::before {
  content: "\2022";
  color: var(--businesTitle-color);
  font-weight: bold;
  width: 1em;
  margin-right: 10px;
}

main .capp {
  margin-bottom: 90px;
}

@media screen and (max-width: 1024px) {
  main .capp {
    margin-bottom: 45px;
  }
}

main .capp .cappImg {
  position: relative;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 1024px) {
  main .capp .cappImg {
    padding: 0 3%;
  }
}

main .capp .cappImg img {
  width: 100%;
  height: 100%;
  opacity: 0;
}

@media screen and (max-width: 1024px) {
  main .capp .cappImg img {
    display: none;
  }
}

main .capp .cappImg .cappImgOpacity {
  -webkit-animation: opacity 3s forwards;
          animation: opacity 3s forwards;
}

main .capp .cappImg .cappTitle {
  position: absolute;
  top: 0;
  width: 420px;
}

@media screen and (max-width: 1024px) {
  main .capp .cappImg .cappTitle {
    position: relative;
    width: 100%;
    margin-bottom: 50px;
  }
}

main .capp .cappImg .cappTitle .cappRed {
  color: var(--businesTitle-color);
  font-weight: 600;
}

main .capp .cappImg .cappTitle h3 {
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 10px;
  font-size: 25px;
  border-bottom: 2px solid var(--menu-back-color);
}

@media screen and (max-width: 1024px) {
  main .capp .cappImg .cappTitle p {
    font-size: 15px;
    letter-spacing: -1px;
  }
}

main .capp .cappImg .challenge {
  right: 5%;
  opacity: 0;
}

@media screen and (max-width: 1024px) {
  main .capp .cappImg .challenge {
    right: 0%;
  }
}

main .capp .cappImg .challenge h3 {
  display: none;
}

main .capp .cappImg .challenge h3::before {
  display: block;
  position: absolute;
  top: 100%;
  content: "";
  width: 0%;
  height: 2px;
  background-color: var(--black-color);
  -webkit-animation: challengeWidth 2s forwards;
          animation: challengeWidth 2s forwards;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

@media screen and (max-width: 1024px) {
  main .capp .cappImg .challenge h3::before {
    -webkit-animation: challengeWidthMo 2s forwards;
            animation: challengeWidthMo 2s forwards;
    -webkit-animation-delay: 1s;
            animation-delay: 1s;
  }
  @-webkit-keyframes challengeWidthMo {
    from {
      width: 0%;
    }
    to {
      width: 143px;
    }
  }
  @keyframes challengeWidthMo {
    from {
      width: 0%;
    }
    to {
      width: 143px;
    }
  }
}

@-webkit-keyframes challengeWidth {
  from {
    width: 0%;
  }
  to {
    width: 34%;
  }
}

@keyframes challengeWidth {
  from {
    width: 0%;
  }
  to {
    width: 34%;
  }
}

main .capp .cappImg .challengeOpacity {
  -webkit-animation: opacity 3s forwards ,left 2s forwards;
          animation: opacity 3s forwards ,left 2s forwards;
}

@media screen and (max-width: 1024px) {
  main .capp .cappImg .challengeOpacity {
    -webkit-animation: opacity 3s forwards;
            animation: opacity 3s forwards;
  }
}

@-webkit-keyframes left {
  from {
    right: -15%;
  }
  to {
    right: 5%;
  }
}

@keyframes left {
  from {
    right: -15%;
  }
  to {
    right: 5%;
  }
}

main .capp .cappImg .active {
  top: 20%;
  left: 5%;
  opacity: 0;
}

@media screen and (max-width: 1024px) {
  main .capp .cappImg .active {
    left: 0%;
  }
}

main .capp .cappImg .active h3 {
  display: none;
}

main .capp .cappImg .active h3::before {
  display: block;
  position: absolute;
  top: 100%;
  content: "";
  width: 0%;
  height: 2px;
  background-color: var(--black-color);
  -webkit-animation: activeWidth 2s forwards;
          animation: activeWidth 2s forwards;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

@media screen and (max-width: 1024px) {
  main .capp .cappImg .active h3::before {
    -webkit-animation: activeWidthMo 2s forwards;
            animation: activeWidthMo 2s forwards;
    -webkit-animation-delay: 1s;
            animation-delay: 1s;
  }
  @-webkit-keyframes activeWidthMo {
    from {
      width: 0%;
    }
    to {
      width: 85px;
    }
  }
  @keyframes activeWidthMo {
    from {
      width: 0%;
    }
    to {
      width: 85px;
    }
  }
}

@-webkit-keyframes activeWidth {
  from {
    width: 0%;
  }
  to {
    width: 20%;
  }
}

@keyframes activeWidth {
  from {
    width: 0%;
  }
  to {
    width: 20%;
  }
}

main .capp .cappImg .activeOpacity {
  -webkit-animation: opacity 3s forwards ,right 2s forwards;
          animation: opacity 3s forwards ,right 2s forwards;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

@media screen and (max-width: 1024px) {
  main .capp .cappImg .activeOpacity {
    -webkit-animation: opacity 3s forwards;
            animation: opacity 3s forwards;
    -webkit-animation-delay: 0.2s;
            animation-delay: 0.2s;
  }
}

@-webkit-keyframes right {
  from {
    left: -15%;
  }
  to {
    left: 5%;
  }
}

@keyframes right {
  from {
    left: -15%;
  }
  to {
    left: 5%;
  }
}

main .capp .cappImg .positive {
  right: 5%;
  top: 40%;
  opacity: 0;
}

@media screen and (max-width: 1024px) {
  main .capp .cappImg .positive {
    right: 0%;
  }
}

main .capp .cappImg .positive h3 {
  display: none;
}

main .capp .cappImg .positive h3::before {
  display: block;
  position: absolute;
  top: 100%;
  content: "";
  width: 0%;
  height: 2px;
  background-color: var(--black-color);
  -webkit-animation: positiveWidth 2s forwards;
          animation: positiveWidth 2s forwards;
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}

@media screen and (max-width: 1024px) {
  main .capp .cappImg .positive h3::before {
    -webkit-animation: positiveWidthMo 2s forwards;
            animation: positiveWidthMo 2s forwards;
    -webkit-animation-delay: 1.5s;
            animation-delay: 1.5s;
  }
  @-webkit-keyframes positiveWidthMo {
    from {
      width: 0%;
    }
    to {
      width: 110px;
    }
  }
  @keyframes positiveWidthMo {
    from {
      width: 0%;
    }
    to {
      width: 110px;
    }
  }
}

@-webkit-keyframes positiveWidth {
  from {
    width: 0%;
  }
  to {
    width: 26%;
  }
}

@keyframes positiveWidth {
  from {
    width: 0%;
  }
  to {
    width: 26%;
  }
}

main .capp .cappImg .positiveOpacity {
  -webkit-animation: opacity 3s forwards ,left 2s forwards;
          animation: opacity 3s forwards ,left 2s forwards;
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}

@media screen and (max-width: 1024px) {
  main .capp .cappImg .positiveOpacity {
    -webkit-animation: opacity 3s forwards;
            animation: opacity 3s forwards;
    -webkit-animation-delay: 0.4s;
            animation-delay: 0.4s;
  }
}

main .capp .cappImg .passionate {
  left: 5%;
  top: 60%;
  opacity: 0;
}

@media screen and (max-width: 1024px) {
  main .capp .cappImg .passionate {
    left: 0%;
  }
}

main .capp .cappImg .passionate h3 {
  display: none;
}

main .capp .cappImg .passionate h3::before {
  display: block;
  position: absolute;
  top: 100%;
  content: "";
  width: 0%;
  height: 2px;
  background-color: var(--black-color);
  -webkit-animation: passionateWidth 2s forwards;
          animation: passionateWidth 2s forwards;
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}

@media screen and (max-width: 1024px) {
  main .capp .cappImg .passionate h3::before {
    -webkit-animation: passionateWidthMo 2s forwards;
            animation: passionateWidthMo 2s forwards;
    -webkit-animation-delay: 1.5s;
            animation-delay: 1.5s;
  }
  @-webkit-keyframes passionateWidthMo {
    from {
      width: 0%;
    }
    to {
      width: 152px;
    }
  }
  @keyframes passionateWidthMo {
    from {
      width: 0%;
    }
    to {
      width: 152px;
    }
  }
}

@-webkit-keyframes passionateWidth {
  from {
    width: 0%;
  }
  to {
    width: 36%;
  }
}

@keyframes passionateWidth {
  from {
    width: 0%;
  }
  to {
    width: 36%;
  }
}

main .capp .cappImg .passionateOpacity {
  -webkit-animation: opacity 3s forwards ,right 2s forwards;
          animation: opacity 3s forwards ,right 2s forwards;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}

@media screen and (max-width: 1024px) {
  main .capp .cappImg .passionateOpacity {
    -webkit-animation: opacity 3s forwards;
            animation: opacity 3s forwards;
    -webkit-animation-delay: 0.6s;
            animation-delay: 0.6s;
  }
}

main .organization {
  margin-bottom: 90px;
}

@media screen and (max-width: 1024px) {
  main .organization {
    margin-bottom: 45px;
    padding: 0 3%;
  }
}

main .organization .organizationTxt {
  margin: 80px 0;
}

@media screen and (max-width: 1024px) {
  main .organization .organizationTxt {
    margin: 40px 0;
  }
}

main .organization .organizationTxt p {
  font-size: var(--font-size-20px);
  line-height: 1.5;
  text-align: center;
}

@media screen and (max-width: 1024px) {
  main .organization .organizationTxt p {
    font-size: var(--fontM-size-16px);
  }
}

@media screen and (max-width: 1024px) {
  main .organization .organizationTxt p span:nth-child(1) {
    margin-bottom: 15px;
  }
}

main .organization .organizationGraph {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
}

main .organization .organizationGraph .organTop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 80px;
}

@media screen and (max-width: 1024px) {
  main .organization .organizationGraph .organTop {
    margin-bottom: 20px;
  }
}

main .organization .organizationGraph .organTop div {
  position: relative;
  width: 13%;
  height: 80px;
}

@media screen and (max-width: 1024px) {
  main .organization .organizationGraph .organTop div {
    width: 70%;
    height: 50px;
  }
}

main .organization .organizationGraph .organTop div p {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: var(--font-size-18px);
  font-weight: 600;
  color: var(--white-color);
  width: 100%;
}

@media screen and (max-width: 1024px) {
  main .organization .organizationGraph .organTop div p {
    font-size: var(--fontM-size-16px);
  }
}

main .organization .organizationGraph .organTop .ceo {
  background-color: var(--leader-color);
  margin-bottom: 10px;
}

@media screen and (max-width: 1024px) {
  main .organization .organizationGraph .organTop .ceo {
    margin-bottom: 20px;
  }
}

main .organization .organizationGraph .organTop .ceo::before {
  display: block;
  position: absolute;
  left: 50%;
  top: 100%;
  content: "";
  width: 2px;
  height: 130px;
  background-color: var(--light-gray-color);
}

@media screen and (max-width: 1024px) {
  main .organization .organizationGraph .organTop .ceo::before {
    height: 100px;
  }
}

main .organization .organizationGraph .organTop .support {
  left: 30%;
  background-color: var(--gray-color);
}

@media screen and (max-width: 1024px) {
  main .organization .organizationGraph .organTop .support {
    width: 30%;
  }
}

main .organization .organizationGraph .organTop .support::before {
  display: block;
  position: absolute;
  top: 50%;
  right: 100%;
  content: "";
  width: 180%;
  height: 2px;
  background-color: var(--light-gray-color);
}

@media screen and (max-width: 1024px) {
  main .organization .organizationGraph .organTop .support::before {
    width: 50%;
  }
}

main .organization .organizationGraph .organBottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

@media screen and (max-width: 1024px) {
  main .organization .organizationGraph .organBottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

main .organization .organizationGraph .organBottom::before {
  display: block;
  position: absolute;
  top: -10%;
  content: "";
  width: 75%;
  height: 2px;
  background-color: var(--light-gray-color);
}

@media screen and (max-width: 1024px) {
  main .organization .organizationGraph .organBottom::before {
    display: none;
  }
}

main .organization .organizationGraph .organBottom ul {
  width: 80%;
}

@media screen and (max-width: 1024px) {
  main .organization .organizationGraph .organBottom ul {
    width: 100%;
    margin-bottom: 25px;
  }
}

main .organization .organizationGraph .organBottom ul li {
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 80%;
  height: 80px;
  margin-bottom: 25px;
  font-size: var(--font-size-18px);
  border: 1px solid var(--menu-back-color);
}

@media screen and (max-width: 1024px) {
  main .organization .organizationGraph .organBottom ul li {
    width: 70%;
    height: 50px;
    font-size: var(--fontM-size-16px);
    margin-bottom: 0px;
    border: none;
    border-bottom: 1px solid var(--menu-back-color);
    border-left: 1px solid var(--menu-back-color);
    border-right: 1px solid var(--menu-back-color);
    background-color: var(--white-color);
  }
}

main .organization .organizationGraph .organBottom ul li:first-child {
  border: none;
  color: var(--white-color);
}

main .organization .organizationGraph .organBottom ul li:first-child::before {
  display: block;
  position: absolute;
  top: -52%;
  left: 50%;
  content: "";
  width: 2px;
  height: 42px;
  background-color: var(--light-gray-color);
}

@media screen and (max-width: 1024px) {
  main .organization .organizationGraph .organBottom ul li:first-child::before {
    display: none;
  }
}

main .organization .organizationGraph .organBottom ul li p {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
}

main .organization .organizationGraph .organBottom .businessTeam li:first-child {
  background-color: var(--businessTeam-color);
}

main .organization .organizationGraph .organBottom .solutionTeam li:first-child {
  background-color: var(--solutionTeam-color);
}

main .organization .organizationGraph .organBottom .serviceTeam li:first-child {
  background-color: var(--serviceTeam-color);
}

main .organization .organizationGraph .organBottom .labTeam li:first-child {
  background-color: var(--lab-color);
}

main .history {
  margin-bottom: 90px;
}

@media screen and (max-width: 1024px) {
  main .history {
    margin-bottom: 45px;
    padding: 0 3%;
  }
}

main .history .historyTxt {
  margin: 80px 0;
}

@media screen and (max-width: 1024px) {
  main .history .historyTxt {
    margin: 40px 0 80px;
  }
}

main .history .historyTxt p {
  font-size: var(--font-size-20px);
  line-height: 1.5;
  text-align: center;
}

@media screen and (max-width: 1024px) {
  main .history .historyTxt p {
    font-size: var(--fontM-size-16px);
  }
}

main .history .historyGrapy {
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
	overflow: hidden;
}

@media screen and (max-width: 1024px) {
  main .history .historyGrapy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
	overflow: initial;
  }
}

main .history .historyGrapy::before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 3px;
  height: 100%;
  margin-top: 4px;
  background-color: var(--menu-back-color);
  opacity: 0;
  -webkit-animation: opacity 2s forwards;
          animation: opacity 2s forwards;
}

@media screen and (max-width: 1024px) {
  main .history .historyGrapy::before {
    display: none;
  }
}

main .history .historyGrapy .historyGrapyArea {
  position: relative;
}

main .history .historyGrapy .historyGrapyArea::before {
  display: none;
}

@media screen and (max-width: 1024px) {
  main .history .historyGrapy .historyGrapyArea::before {
    content: "";
    display: block;
    position: absolute;
    left: 50px;
    width: 3px;
    height: 100%;
    background-color: var(--menu-back-color);
    opacity: 0;
    -webkit-animation: opacity 2s forwards;
            animation: opacity 2s forwards;
  }
}

main .history .historyGrapy .historyGrapyArea .timeLine {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 80px;
}

@media screen and (max-width: 1024px) {
  main .history .historyGrapy .historyGrapyArea .timeLine {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

main .history .historyGrapy .historyGrapyArea .timeLine h2 {
  width: 43%;
  font-size: 60px;
  margin-left: 20%;
  margin-top: -20px;
}

@media screen and (max-width: 1024px) {
  main .history .historyGrapy .historyGrapyArea .timeLine h2 {
    position: absolute;
    top: -32px;
    left: 80px;
    width: 100px;
    font-size: 30px;
    margin-left: 0;
    margin-bottom: 20px;
  }
}

main .history .historyGrapy .historyGrapyArea .timeLine ul {
  width: 60%;
}

@media screen and (max-width: 1024px) {
  main .history .historyGrapy .historyGrapyArea .timeLine ul {
    width: 100%;
  }
}

main .history .historyGrapy .historyGrapyArea .timeLine ul li {
  margin-bottom: 40px;
  font-size: var(--font-size-18px);
  color: var(--light-gray-color);
}

@media screen and (max-width: 1024px) {
  main .history .historyGrapy .historyGrapyArea .timeLine ul li {
    font-size: 15px;
    margin-bottom: 20px;
    margin-left: 80px;
  }
}

main .history .historyGrapy .historyGrapyArea .timeLine ul li::before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 20px;
  height: 20px;
  margin-top: 4px;
  border-radius: 50%;
}

@media screen and (max-width: 1024px) {
  main .history .historyGrapy .historyGrapyArea .timeLine ul li::before {
    width: 15px;
    height: 15px;
    left: 44px;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
	margin-top: 2px;
  }
}

main .history .historyGrapy .historyGrapyArea .timeLine ul li .boldTxt {
  color: var(--black-color);
  font-weight: 600;
}

main .history .historyGrapy .historyGrapyArea .timeLine ul li span::before {
  display: inline;
  position: absolute;
  left: 43%;
  font-size: 30px;
  font-style: italic;
  margin-top: -10px;
}

@media screen and (max-width: 1024px) {
  main .history .historyGrapy .historyGrapyArea .timeLine ul li span::before {
    font-size: var(--fontM-size-20px);
    margin-top: -6px;
    left: 0px;
  }
}

  main .history .historyGrapy .historyGrapyArea .history-2024 {
	opacity: 0;
	-webkit-animation: opacity 2s forwards;
			animation: opacity 2s forwards;
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2024 h2 {
	color: var(--year2024-color);
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2024 ul li::before {
	background-color: var(--year2024-color);
  }

  main .history .historyGrapy .historyGrapyArea .history-2024 ul li:nth-child(1) span::before {
    content: "06";
  }
  main .history .historyGrapy .historyGrapyArea .history-2024 ul li:nth-child(2) span::before {
    content: "03";
  }

  main .history .historyGrapy .historyGrapyArea .history-2023 {
	opacity: 0;
	-webkit-animation: opacity 2s forwards;
			animation: opacity 2s forwards;
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2023 h2 {
	color: var(--year2023-color);
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2023 ul li::before {
	background-color: var(--year2023-color);
  }

  main .history .historyGrapy .historyGrapyArea .history-2023 ul li:nth-child(1) span::before {
    content: "10";
  }
  main .history .historyGrapy .historyGrapyArea .history-2023 ul li:nth-child(2) span::before {
    content: "08";
  }
  main .history .historyGrapy .historyGrapyArea .history-2023 ul li:nth-child(3) span::before {
    content: "06";
  }
  main .history .historyGrapy .historyGrapyArea .history-2023 ul li:nth-child(4) span::before {
    content: "06";
  }
  main .history .historyGrapy .historyGrapyArea .history-2023 ul li:nth-child(5) span::before {
    content: "04";
  }
  main .history .historyGrapy .historyGrapyArea .history-2023 ul li:nth-child(6) span::before {
    content: "03";
  }


  main .history .historyGrapy .historyGrapyArea .history-2022 {
	opacity: 0;
	-webkit-animation: opacity 2s forwards;
			animation: opacity 2s forwards;
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2022 h2 {
	color: var(--year2022-color);
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2022 ul li::before {
	background-color: var(--year2022-color);
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2022 ul li:nth-child(1) span::before {
	content: "11";
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2022 ul li:nth-child(2) span::before {
	content: "10";
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2022 ul li:nth-child(3) span::before {
	content: "06";
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2022 ul li:nth-child(4) span::before {
	content: "03";
  }
  main .history .historyGrapy .historyGrapyArea .history-2022 ul li:nth-child(5) span::before {
	content: "02";
  }
  
  main .history .historyGrapy .historyGrapyArea .history2021 {
	-webkit-animation: opacity 2s forwards;
			animation: opacity 2s forwards;
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2021 {
	opacity: 0;
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2021 h2 {
	color: var(--year2021-color);
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2021 ul li::before {
	background-color: var(--year2021-color);
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2021 ul li:nth-child(1) span::before {
	content: "12";
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2021 ul li:nth-child(2) span::before {
	content: "10";
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2021 ul li:nth-child(3) span::before {
	content: "06";
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2021 ul li:nth-child(4) span::before {
	content: "04";
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2021 ul li:nth-child(5) span::before {
	content: "03";
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2021 ul li:nth-child(6) span::before {
	content: "03";
	font-weight: normal;
	color: var(--light-gray-color);
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2021 ul li:nth-child(7) span::before {
	content: "03";
	font-weight: normal;
	color: var(--light-gray-color);
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2021 ul li:nth-child(8) span::before {
	content: "01";
	font-weight: normal;
	color: var(--light-gray-color);
  }
  
  main .history .historyGrapy .historyGrapyArea .history2020 {
	-webkit-animation: opacity 2s forwards;
			animation: opacity 2s forwards;
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2020 {
	opacity: 0;
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2020 h2 {
	color: var(--year2020-color);
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2020 ul li::before {
	background-color: var(--year2020-color);
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2020 ul li:nth-child(1) span::before {
	content: "10";
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2020 ul li:nth-child(2) span::before {
	content: "05";
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2020 ul li:nth-child(3) span::before {
	content: "05";
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2020 ul li:nth-child(4) span::before {
	content: "04";
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2020 ul li:nth-child(5) span::before {
	content: "03";
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2020 ul li:nth-child(6) span::before {
	content: "01";
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2020 ul li:nth-child(7) span::before {
	content: "01";
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2020 ul li:nth-child(8) span::before {
	content: "01";
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2020 ul li:nth-child(9) span::before {
	content: "01";
	font-weight: normal;
	color: var(--light-gray-color);
  }
  
  main .history .historyGrapy .historyGrapyArea .history2019 {
	-webkit-animation: opacity 2s forwards, top 1s forwards;
			animation: opacity 2s forwards, top 1s forwards;
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2019 {
	opacity: 0;
	margin-bottom: 0;
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2019 h2 {
	color: var(--year2019-color);
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2019 ul li::before {
	margin-top: 4px;
	background-color: var(--year2019-color);
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2019 ul li:nth-child(1) span::before {
	content: "10";
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2019 ul li:nth-child(2) {
	margin-bottom: 0;
  }
  
  main .history .historyGrapy .historyGrapyArea .history-2019 ul li:nth-child(2) span::before {
	content: "09";
  }

main .introduce {
  margin-bottom: 90px;
}

@media screen and (max-width: 1024px) {
  main .introduce {
    margin-bottom: 70px;
    padding: 0 3%;
  }
}

main .introduce .introducekTxt {
  margin: 80px 0;
}

@media screen and (max-width: 1024px) {
  main .introduce .introducekTxt {
    margin: 40px 0 0px;
  }
}

main .introduce .introducekTxt p {
  font-size: var(--font-size-20px);
  line-height: 1.5;
}

@media screen and (max-width: 1024px) {
  main .introduce .introducekTxt p {
    font-size: var(--fontM-size-16px);
  }
}

main .introduce .introduceMenu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

main .introduce .introduceMenu .menuList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 300px;
  border: 1px solid var(--menu-back-color);
}

@media screen and (max-width: 1024px) {
  main .introduce .introduceMenu .menuList {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
    padding-top: 75px;
    border: none;
  }
}

main .introduce .introduceMenu .menuList .menuListImg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 330px;
  height: 300px;
  border: 1px solid var(--menu-back-color);
}

@media screen and (max-width: 1024px) {
  main .introduce .introduceMenu .menuList .menuListImg {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    width: 100%;
    height: 50px;
    border: none;
  }
}

main .introduce .introduceMenu .menuList .menuListImg img {
  margin-bottom: 30px;
}

@media screen and (max-width: 1024px) {
  main .introduce .introduceMenu .menuList .menuListImg img {
    display: none;
  }
}

@media screen and (max-width: 1024px) {
  main .introduce .introduceMenu .menuList .menuListImg h2 {
    font-size: var(--fontM-size-20px);
  }
}

main .introduce .introduceMenu .menuList .menuListTxt {
  width: 1000px;
  margin-left: 30px;
  font-size: var(--font-size-18px);
}

@media screen and (max-width: 1024px) {
  main .introduce .introduceMenu .menuList .menuListTxt {
    width: 100%;
    margin-left: 0px;
    padding-left: 10px;
    font-size: 15px;
  }
}

main .introduce .introduceMenu .menuList .menuListTxt ul li {
  position: relative;
  line-height: 1.8;
  padding-left: 20px;
  text-indent: -20px;
}

main .introduce .introduceMenu .menuList .menuListTxt ul li::before {
  content: "\2022";
  color: var(--menuList-color);
  font-weight: bold;
  width: 1em;
  margin-right: 5px;
}

main .introduce .introduceMenu .menuList .menuListTxt ul li:last-child {
  margin-bottom: 0px;
}

main .sayArea {
  width: 100%;
  height: 100%;
  background-color: var(--say-back-color);
}

main .sayArea .mySwiper02 {
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 50px;
}

@media screen and (max-width: 1024px) {
  main .sayArea .mySwiper02 {
    padding-top: 0;
  }
}

main .sayArea .mySwiper02 .swiper-wrapper {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 1024px) {
  main .sayArea .mySwiper02 .swiper-wrapper {
    height: 320px;
  }
}

main .sayArea .mySwiper02 .swiper-wrapper .swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  background-color: var(--say-back-color);
}

@media screen and (max-width: 1024px) {
  main .sayArea .mySwiper02 .swiper-wrapper .swiper-slide {
    margin-top: -20px;
  }
}

main .sayArea .mySwiper02 .swiper-wrapper .swiper-slide .sayContent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 20px;
}

@media screen and (max-width: 1024px) {
  main .sayArea .mySwiper02 .swiper-wrapper .swiper-slide .sayContent {
    margin-top: 0;
  }
}

main .sayArea .mySwiper02 .swiper-wrapper .swiper-slide .sayContent .sayLogo {
  text-align: center;
}

@media screen and (max-width: 1024px) {
  main .sayArea .mySwiper02 .swiper-wrapper .swiper-slide .sayContent .sayLogo img {
    margin: 0 auto;
    width: 70%;
  }
}

main .sayArea .mySwiper02 .swiper-wrapper .swiper-slide .sayContent .sayTxt {
  margin: 40px 0 60px;
}

@media screen and (max-width: 1024px) {
  main .sayArea .mySwiper02 .swiper-wrapper .swiper-slide .sayContent .sayTxt {
    margin: 20px 0 30px;
  }
}

main .sayArea .mySwiper02 .swiper-wrapper .swiper-slide .sayContent .sayTxt p {
  font-size: var(--font-size-20px);
  text-align: center;
  line-height: 1.5;
  color: var(--gray-color);
}

@media screen and (max-width: 1024px) {
  main .sayArea .mySwiper02 .swiper-wrapper .swiper-slide .sayContent .sayTxt p {
    font-size: var(--fontM-size-16px);
    line-height: 1.3;
  }
}

main .sayArea .mySwiper02 .swiper-wrapper .swiper-slide .sayContent .sayTxt p .blackTxt {
  color: var(--black-color);
}

main .sayArea .mySwiper02 .swiper-wrapper .swiper-slide .sayContent .sayBtn {
  width: 100%;
  text-align: center;
}

main .sayArea .mySwiper02 .swiper-wrapper .swiper-slide .sayContent .sayBtn a {
  font-size: 25px;
  padding: 20px 100px;
  color: var(--white-color);
  background-color: var(--black-color);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

@media screen and (max-width: 1024px) {
  main .sayArea .mySwiper02 .swiper-wrapper .swiper-slide .sayContent .sayBtn a {
    font-size: var(--fontM-size-18px);
    padding: 3% 15%;
  }
}

main .sayArea .mySwiper02 .swiper-wrapper .swiper-slide .sayContent .sayBtn a:hover {
  background-color: var(--light-gray-color);
}

@media screen and (max-width: 1024px) {
  main .sayArea .mySwiper02 .swiper-wrapper .swiper-slide .sayImg {
    display: none;
  }
}

main .sayArea .mySwiper02 .swiper-pagination {
  text-align: center;
  margin-bottom: 0px;
}

main .sayArea .mySwiper02 .swiper-pagination span {
  display: inline-block;
  border-radius: 0;
  width: 60px;
  height: 10px;
  cursor: pointer;
}

main .sayArea .mySwiper02 .swiper-pagination .swiper-pagination-bullet {
  background-color: var(--white-color);
  opacity: 1;
  margin-right: 10px;
}

main .sayArea .mySwiper02 .swiper-pagination .swiper-pagination-bullet-active {
  background-color: var(--black-color);
}

main .partner {
  margin-bottom: 90px;
}

@media screen and (max-width: 1024px) {
  main .partner {
    margin-bottom: 45px;
    padding: 0 3%;
  }
}

main .partner .partnerImgArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 80px;
}

@media screen and (max-width: 1024px) {
  main .partner .partnerImgArea {
    margin-top: 40px;
  }
}

main .partner .partnerImgArea img {
  width: 100%;
}

@media screen and (max-width: 1024px) {
  main .partner .partnerImgArea img {
    width: 90%;
    margin: 0 auto;
  }
}

main .partner .partnerImgArea .partnerImg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

@media screen and (max-width: 1024px) {
  main .partner .partnerImgArea .partnerImg {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

main .partner .partnerImgArea .partnerImg .topImg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

main .partner .partnerImgArea .partnerImg .bottomImg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

main .partner .partnerImgArea .partnerImg .partnerIcon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 300px;
  border: 1px solid var(--menu-back-color);
}

@media screen and (max-width: 1024px) {
  main .partner .partnerImgArea .partnerImg .partnerIcon {
    height: 150px;
  }
}

main .partner .partnerImgArea .partnerImg .partnerIcon a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
}

main .partner .partnerImgArea .partnerImg .partnerIcon a img {
  width: 100%;
}

@media screen and (max-width: 1024px) {
  main .partner .partnerImgArea .partnerImg .partnerIcon a img {
    width: 80%;
    height: 70%;
  }
}

@media screen and (max-width: 450px) {
  main .partner .partnerImgArea .partnerImg .partnerIcon a img {
    width: 90%;
    height: 50%;
  }
}

main .ask {
  margin-bottom: 90px;
}

@media screen and (max-width: 1024px) {
  main .ask {
    margin-bottom: 45px;
    padding: 0 3%;
  }
}

main .ask .askTxt {
  margin: 80px 0;
}

@media screen and (max-width: 1024px) {
  main .ask .askTxt {
    margin: 40px 0;
  }
}

main .ask .askTxt p {
  font-size: var(--font-size-20px);
  line-height: 1.5;
  text-align: center;
}

@media screen and (max-width: 1024px) {
  main .ask .askTxt p {
    font-size: var(--fontM-size-16px);
  }
}

main .ask .letter {
  background-image: url("../images/letter.png");
  background-repeat: no-repeat;
  background-size: auto;
  background-position: center;
  width: 100%;
  height: 1160px;
}

@media screen and (max-width: 1024px) {
  main .ask .letter {
    background-image: none;
    height: 100%;
  }
}

main .ask .letter .letterTxt {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 1024px) {
  main .ask .letter .letterTxt {
    position: static;
    height: 100%;
  }
}

main .ask .letter .letterTxt form {
  position: relative;
  top: 12%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 800px;
  height: 100%;
}

@media screen and (max-width: 1024px) {
  main .ask .letter .letterTxt form {
    position: static;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    width: 100%;
  }
}

main .ask .letter .letterTxt form label {
  position: relative;
  font-size: var(--font-size-20px);
  color: var(--light-gray-color);
}

@media screen and (max-width: 1024px) {
  main .ask .letter .letterTxt form label {
    font-size: var(--fontM-size-18px);
  }
}

main .ask .letter .letterTxt form label::before {
  content: "*";
  display: block;
  position: absolute;
  top: -3px;
  right: -10px;
  color: var(--submit-start-color);
}

main .ask .letter .letterTxt form input {
  border: 1px solid var(--gray-color);
  border-radius: 5px;
}

main .ask .letter .letterTxt form textarea {
  border: 1px solid var(--gray-color);
  border-radius: 5px;
}

main .ask .letter .letterTxt form #subject, main .ask .letter .letterTxt form #name, main .ask .letter .letterTxt form #email {
  width: 100%;
  height: 40px;
  margin-top: 5px;
  margin-bottom: 20px;
  padding-left: 10px;
  font-size: 15px;
}

@media screen and (max-width: 1024px) {
  main .ask .letter .letterTxt form #subject, main .ask .letter .letterTxt form #name, main .ask .letter .letterTxt form #email {
    padding-left: 5px;
    font-size: 13px;
  }
}

main .ask .letter .letterTxt form #message {
  position: relative;
  width: 100%;
  height: 200px;
  margin-top: 5px;
  margin-bottom: 10%;
  padding: 10px;
  resize: none;
  font-size: 15px;
}

@media screen and (max-width: 1024px) {
  main .ask .letter .letterTxt form #message {
    padding-left: 5px;
    margin-bottom: 30px;
    height: 100px;
    font-size: 13px;
  }
}

main .ask .letter .letterTxt form #submit {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 65%;
  height: 6%;
  font-size: 25px;
  border: none;
  cursor: pointer;
  -webkit-box-shadow: 5px 5px 10px var(--light-gray-color);
          box-shadow: 5px 5px 10px var(--light-gray-color);
  color: var(--white-color);
  background-color: var(--submit-start-color);
}

@media screen and (max-width: 1024px) {
  main .ask .letter .letterTxt form #submit {
    position: static;
    height: 50px;
    margin: 0 auto;
    font-size: var(--fontM-size-18px);
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}

main .ask .letter .letterTxt form #submit:hover {
  background-color: var(--submit-hover-color);
}

main .directions {
  margin-bottom: 90px;
}

@media screen and (max-width: 1024px) {
  main .directions {
    margin-bottom: 45px;
    padding: 0 3%;
  }
}

main .directions #map {
  width: 100%;
  height: 600px;
  margin: 80px 0 40px;
}

@media screen and (max-width: 1024px) {
  main .directions #map {
    height: 300px;
    margin: 40px 0 20px;
  }
}

main .directions #map .customoverlay {
  position: relative;
  bottom: 55px;
  border-radius: 6px;
  border: 1px solid #ccc;
  border-bottom: 2px solid #ddd;
  float: left;
}

main .directions #map .customoverlay::after {
  content: '';
  position: absolute;
  margin-left: -12px;
  left: 50%;
  bottom: -12px;
  width: 22px;
  height: 12px;
  background: url("../images/bottom_arrow.png");
}

main .directions #map .customoverlay:nth-child(n) {
  border: 0;
  -webkit-box-shadow: 0px 1px 2px #888;
          box-shadow: 0px 1px 2px #888;
}

main .directions #map .customoverlay a {
  display: block;
  text-decoration: none;
  color: #000;
  text-align: center;
  border-radius: 6px;
  font-size: 14px;
  font-weight: bold;
  overflow: hidden;
  background: blue url("../images/right_arrow.png") no-repeat right 14px center;
}

main .directions #map .customoverlay .title {
  display: block;
  text-align: center;
  background: #fff;
  margin-right: 35px;
  padding: 10px 15px;
  font-size: 14px;
  font-weight: bold;
}

main .directions .directionsTxt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 1024px) {
  main .directions .directionsTxt {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

main .directions .directionsTxt .directionsLeftTxt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: var(--font-size-18px);
  height: 100px;
}

@media screen and (max-width: 1024px) {
  main .directions .directionsTxt .directionsLeftTxt {
    height: 100%;
    font-size: var(--fontM-size-16px);
    margin-bottom: 40px;
  }
}

main .directions .directionsTxt .directionsLeftTxt .roadName {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}

@media screen and (max-width: 1024px) {
  main .directions .directionsTxt .directionsLeftTxt .roadName {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-bottom: 20px;
  }
}

main .directions .directionsTxt .directionsLeftTxt .roadName p:first-child {
  width: 120px;
  margin-right: 20px;
  padding: 5px 20px;
  text-align: center;
  background-color: var(--menu-back-color);
}

@media screen and (max-width: 1024px) {
  main .directions .directionsTxt .directionsLeftTxt .roadName p:first-child {
    width: 100px;
    margin-bottom: 5px;
    padding: 5px 10px;
  }
}

main .directions .directionsTxt .directionsLeftTxt .oldAddress {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

@media screen and (max-width: 1024px) {
  main .directions .directionsTxt .directionsLeftTxt .oldAddress {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

main .directions .directionsTxt .directionsLeftTxt .oldAddress p:first-child {
  width: 120px;
  margin-right: 20px;
  padding: 5px 20px;
  text-align: center;
  background-color: var(--menu-back-color);
}

@media screen and (max-width: 1024px) {
  main .directions .directionsTxt .directionsLeftTxt .oldAddress p:first-child {
    width: 100px;
    margin-bottom: 5px;
    padding: 5px 10px;
  }
}

main .directions .directionsTxt .directionsRightTxt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: var(--font-size-18px);
  height: 100px;
}

@media screen and (max-width: 1024px) {
  main .directions .directionsTxt .directionsRightTxt {
    height: 100%;
    font-size: var(--fontM-size-16px);
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
}

main .directions .directionsTxt .directionsRightTxt .subway {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}

@media screen and (max-width: 1024px) {
  main .directions .directionsTxt .directionsRightTxt .subway {
    margin-bottom: 10px;
  }
}

main .directions .directionsTxt .directionsRightTxt .subway .subwayMarker {
  margin-right: 10px;
}

@media screen and (max-width: 1024px) {
  main .directions .directionsTxt .directionsRightTxt .subway .subwayMarker {
    display: none;
  }
}

main .directions .directionsTxt .directionsRightTxt .subway .subwayMarker img {
  width: 100%;
}

main .directions .directionsTxt .directionsRightTxt .subway .subwayTxt {
  padding: 5px 0;
}

main .directions .directionsTxt .directionsRightTxt .subway .subwayTxt .boldTxt {
  font-weight: 600;
}

main .directions .directionsTxt .directionsRightTxt .detailsTxt {
  position: relative;
  padding-left: 40px;
  width: 100%;
}

@media screen and (max-width: 1024px) {
  main .directions .directionsTxt .directionsRightTxt .detailsTxt {
    padding-left: 5px;
  }
}

main .directions .directionsTxt .directionsRightTxt .detailsTxt::before {
  display: block;
  position: absolute;
  content: "*";
  top: -3px;
  left: 30px;
  color: var(--start-color);
}

@media screen and (max-width: 1024px) {
  main .directions .directionsTxt .directionsRightTxt .detailsTxt::before {
    top: -3px;
    left: -1px;
  }
}

/* ========== 푸터 ========== */
footer {
  padding: 35px 3%;
  border-top: 2px solid var(--menu-back-color);
}

footer .fooerArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

footer .fooerArea .footerLogo {
  padding: 0 40px;
}

@media screen and (max-width: 1024px) {
  footer .fooerArea .footerLogo {
    display: none;
  }
}

footer .fooerArea .footerLogo h2 a img {
  width: 90%;
}

footer .fooerArea .addressArea {
  line-height: 1.5;
  color: var(--light-gray-color);
}

@media screen and (max-width: 1024px) {
  footer .fooerArea .addressArea p {
    font-size: 14px;
  }
}

footer .fooerArea .addressArea p .black {
  color: var(--black-color);
}

footer .fooerArea .addressArea address {
  font-style: normal;
}

@media screen and (max-width: 1024px) {
  footer .fooerArea .addressArea address {
    font-size: 14px;
  }
}

footer .fooerArea .addressArea address .black {
  color: var(--black-color);
}

footer .fooerArea .topBtnArea {
  position: relative;
  z-index: 100;
}

@media screen and (max-width: 1024px) {
  footer .fooerArea .topBtnArea {
    display: none;
  }
}

footer .fooerArea .topBtnArea .topBtn {
  display: none;
  position: fixed;
  bottom: 4.5%;
  right: 8%;
  width: 60px;
  height: 60px;
  text-align: center;
  border-radius: 50%;
  color: var(--white-color);
  background-color: var(--black-color);
  cursor: pointer;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}

@media screen and (max-width: 1024px) {
  footer .fooerArea .topBtnArea .topBtn {
    right: 3%;
    width: 50px;
    height: 50px;
  }
}

footer .fooerArea .topBtnArea .topBtn:hover {
  background-color: var(--light-gray-color);
}

footer .fooerArea .topBtnArea .topBtn p {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 14px;
}

@media screen and (max-width: 1024px) {
  footer .fooerArea .topBtnArea .topBtn p {
    font-size: 12px;
  }
}
