header {
  width: 100%;
  --header-color: #000;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  transition: 0.3s;
  background-color: #fff;
}

.action--site-index header {
  background-color: transparent;
  --header-color: #fff;
}

.action--site-index header::after {
  content: '';
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  transition: .3s;
  background: rgba(0, 0, 0, .5);
  backdrop-filter: blur(30px);
}

body.scrolled header {
  --header-h: 70px;
}

body.scrolled.action--site-index header::after {
  top: 0;
}

header .main {
  position: relative;
  z-index: 1;
}

.header-wrap .logo {
  height: var(--header-h);
  margin-right: max(20px, 60 * var(--px));
  transition: 0.3s;
  filter: url(#black-overlay);
}

.lang-curr img {
  filter: url(#black-overlay);
}

.action--site-index .header-wrap .logo,
.action--site-index .lang-curr img {
  filter: url(#white-overlay);
}

.header-wrap .nav {
  flex-shrink: 0;
  margin-right: 20px;
}

.header-wrap .nav-ul-f {
  gap: max(20px, 60 * var(--px));
}

.header-wrap .nav-a-f {
  height: var(--header-h);
  line-height: var(--header-h);
  color: var(--header-color);
  display: block;
  transition: 0.3s;
}

.header-wrap .nav-a-f:hover {
  color: var(--theme-color-blue);
}

.header-area-r {
  gap: 10px;
}

.btn-lay {
  width: max-content;
  border-radius: 300px;
  padding: 5px;
  font-size: 14px;
  user-select: none;
  flex-shrink: 0;
  transition: .3s;
  cursor: pointer;
}

.btn-lay span {
  margin: 0 20px;
}

.btn-lay .icon {
  border-radius: 50%;
  width: 30px;
  height: 30px;
}

.btn-lay.lay1 {
  background-color: #fff;
  color: #000;
  height: 40px;
}

.btn-lay.lay2 {
  background-color: var(--theme-color-blue);
  color: #fff;
  height: 60px;
}

.btn-lay.lay3 {
  border: 1px solid var(--theme-color-blue);
  color: var(--theme-color-blue);
  height: 60px;
}

.btn-lay.lay1 .icon {
  background-color: var(--theme-color-blue);
}

.btn-lay.lay2 .icon,
.btn-lay.lay3 .icon {
  margin-right: 10px;
}

.btn-lay.lay3 .icon img {
  filter: url(#blue-overlay);
}

.btn-lay.lay2:hover {
  background-color: #fff;
  color: var(--theme-color-blue);
}

.btn-lay.lay2:hover .icon {
  filter: url(#blue-overlay);
}

.btn-lay.lay3:hover {
  background-color: var(--theme-color-blue);
  color: #fff;
  border-color: var(--theme-color-blue) !important;
}

.btn-lay.lay3:hover .icon {
  filter: url(#white-overlay);
}

.lang-wrap {
  position: relative;
}

.lang-curr {
  border-radius: 300px;
  padding: 0 20px;
  height: 40px;
  gap: 5px;
  color: var(--header-color);
  border: 1px solid var(--header-color);
}

.lang-cont {
  width: 100%;
  position: absolute;
  top: 100%;
  left: 0;
  padding-top: 10px;
  visibility: hidden;
  opacity: 0;
  transition: .3s;
  transform: translateY(-10px);
}

.lang-cont-area {
  border-radius: 10px;
  overflow: hidden;
}

.lang-cont a {
  background-color: #fff;
  padding: 10px 0;
  color: #000;
}

.lang-wrap:hover .lang-cont {
  visibility: visible;
  opacity: 1;
  transform: unset;
}

.index-banner {
  position: relative;
}

.index-banner .swiper-slide {
  overflow: hidden;
  position: relative;
}

.index-banner .swiper-slide .main {
  position: relative;
  z-index: 1;
}

.index-banner .swiper-slide-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.index-banner .title {
  font-size: var(--font-68);
  color: #fff;
  line-height: 1.3;
  margin-bottom: var(--px-20-40);
}

.handle-wrap {
  position: absolute;
  bottom: 10%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

.handle-wrap .swiper-process img {
  width: calc(160 * var(--px));
}

.handle-wrap .swiper-process-curr {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  filter: url(#blue-overlay);
  clip-path: url(#sector-clip);
}

.roll-wrap {
  width: 60%;
  height: 60%;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, .8);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  cursor: pointer;
}

.roll-cont {
  width: 64%;
  height: 64%;
  border-radius: 50%;
  background: linear-gradient(180.00deg, rgba(0, 51, 161, 1), rgba(95, 109, 178, 1) 100%);
  /* animation: bounce 1s ease-in-out infinite; */
}

.roll-cont img {}

@keyframes bounce {

  0%,
  100% {
    transform: translateY(0) scaleY(1);
  }

  30% {
    transform: translateY(-20%) scaleY(0.9);
  }

  50% {
    transform: translateY(0) scaleY(1.1);
  }

  70% {
    transform: translateY(-10%) scaleY(0.95);
  }

  100% {
    transform: translateY(0) scaleY(1);
  }
}

.sec-title {
  font-size: var(--font-68);
  line-height: 1.2;
  margin-bottom: var(--px-10-20);
}

.action--site-index .sec-title {
  text-transform: uppercase;
  line-height: 1;
  font-weight: bold;
}

.sec-intro {
  font-size: var(--font-24);
  font-weight: 300;
}

.color-w {
  color: #fff;
}

.data-wrap {
  flex-wrap: wrap;
  width: 50%;
  margin-left: calc(100 * var(--px));
  position: relative;
}

.data-wrap .item {
  width: 50%;
  padding: var(--px-20-40);
}

.data-wrap .item:first-child {
  border-right: 1px solid rgba(0, 0, 0, .2);
  border-bottom: 1px solid rgba(0, 0, 0, .2);
}

.data-wrap .item:last-child {
  border-left: 1px solid rgba(0, 0, 0, .2);
  border-top: 1px solid rgba(0, 0, 0, .2);
}

.data-wrap .title {
  font-size: max(45px, 78 * var(--px));
  color: var(--theme-color-blue);
  line-height: 1.2;
  margin-top: 10px;
}

.data-wrap .intro {
  color: #666666;
}

.data-wrap::after,
.data-wrap::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
}

.data-wrap::after {
  width: calc(var(--px-20-40) * 3);
  height: calc(var(--px-20-40) * 3);
  background-color: #fff;
  z-index: 1;
}

.data-wrap::before {
  width: 6px;
  height: 6px;
  background-color: var(--theme-color-blue);
  z-index: 2;
}

.index-sec1 .sec-wrap {
  padding-bottom: max(30px, 80 * var(--px));
}

.index-sec1 .sec-area {
  background: linear-gradient(90.00deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0) 100%), rgba(239, 240, 247, 1);
}

.index-sec1 .sec-area .pic {
  width: 50%;
  transform: translateY(calc(max(90px, 200 * var(--px)) * -1));
  position: relative;
  z-index: 1;
}

.index-sec1 .sec-area .txt {
  margin-left: calc(100 * var(--px));
  margin-right: var(--main-margin);
  width: 50%;
  padding: max(30px, 80 * var(--px)) 0;
}

.index-sec1 .sec-area .txt .title {
  font-size: var(--font-36);
  line-height: 1.5;
  margin-bottom: var(--px-10-20);
}

.index-sec1 .sec-area .txt .intro {
  font-weight: 300;
  margin-bottom: var(--px-20-40);
}

.cell-wrap-1 {
  position: absolute;
  top: calc(-2 * var(--px-20-40));
  left: 18%;
}

.cell-wrap-2 {
  position: absolute;
  top: 30%;
  right: 20px;
}

.cell-wrap-3 {
  position: absolute;
  bottom: -20px;
  left: 10%;
}

.index-sec1 .main,
.index-sec1 .sec-area {
  position: relative;
  z-index: 1;
}

.index-sec2 .change-wrap {
  background-color: rgba(238, 242, 246, .5);
  color: #333;
  position: relative;
  width: max-content;
}

.index-sec2 .change-wrap .item {
  padding: var(--px-20-40);
  position: relative;
  z-index: 1;
  transition: .3s;
  border-top: 2px solid transparent;
  cursor: pointer;
  font-size: max(10px, 16 * var(--px));
}

.index-sec2 .change-wrap .item.active,
.index-sec2 .change-wrap .item:hover {
  color: var(--theme-color-blue);
  border-color: var(--theme-color-blue);
}

.index-sec2 .change-wrap .thumb {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-color: #fff;
  transition: .3s;
}

.index-sec2 .btn-lay.lay3 {
  border-color: #fff;
  color: #fff;
}

.index-sec2 .btn-lay.lay3 .icon img {
  filter: url(#white-overlay);
}

.index-sec2 .change-item {
  display: none;
}

.index-sec2 .change-item.active {
  display: flex;
}

.index-sec2 .catalog-wrap,
.index-sec2 .node-wrap {
  width: 50%;
  aspect-ratio: 1;
  padding: max(30px, 190 * var(--px));
  position: relative;
}

.index-sec2 .catalog-wrap {
  color: #fff;
}

.index-sec2 .catalog-wrap .info {
  position: relative;
  z-index: 3;
}

.index-sec2 .catalog-wrap .title {
  font-size: var(--font-48);
}

.index-sec2 .catalog-wrap .intro {
  font-size: var(--font-24);
  font-weight: 300;
  margin-bottom: max(30px, 10%);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  word-break: break-all;
}

.index-sec2 .catalog-wrap .bg-img,
.index-sec2 .catalog-wrap .bg-color {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.index-sec2 .catalog-wrap .bg-img {
  z-index: -2;
}

.index-sec2 .catalog-wrap .bg-color {
  z-index: -1;
  background: linear-gradient(to right bottom, #5F6DB2, transparent 70%);
}

.index-sec2 .change-item.red .catalog-wrap .bg-color {
  z-index: -1;
  background: linear-gradient(to right bottom, #B14AAB, transparent 70%);
}

.index-sec2 .change-item.orange .catalog-wrap .bg-color {
  z-index: -1;
  background: linear-gradient(to right bottom, #FFB71B, transparent 70%);
}

.index-sec2 .catalog-wrap .decorate {
  position: absolute;
  top: 10%;
  left: 0;
  width: 80%;
}

.index-sec2 .node-wrap {
  padding-right: 0;
}

.index-sec2 .node-wrap .bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.index-sec2 .node-wrap .bg-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top right;
}

.index-sec2 .node-wrap .swiper-slide {
  width: calc(580 * var(--px));
  background: linear-gradient(180.00deg, rgba(95, 109, 178, 0.2), rgba(120, 222, 212, 0.1) 66%, rgba(121.11, 222.27, 212.35, 0.1) 67%, rgba(255, 255, 255, 0) 100%), rgba(255, 255, 255, 1);
  aspect-ratio: 1;
  padding: var(--px-20-40);
  margin-right: max(20px, 60 * var(--px));
}

.index-sec2 .change-item.red .node-wrap .swiper-slide {
  background: linear-gradient(180.00deg, rgba(157, 29, 150, 0.2), rgba(157, 29, 150, 0) 100%);
}

.index-sec2 .node-wrap .pic {
  height: 80%;
  padding: var(--px-20-40);
}

.index-sec2 .node-wrap .txt {
  font-size: var(--font-24);
  font-weight: 300;
  padding: var(--px-10-20) 0;
  border-top: 1px solid rgba(0, 0, 0, .1);
}

.index-sec2 .node-wrap .txt .icon {
  border: 1px solid rgba(0, 0, 0, .5);
  width: 40px;
  height: 40px;
  border-radius: 5px;
}

.index-sec2 .node-wrap .handle-btn {
  position: absolute;
  bottom: 20%;
  left: 0;
  transform: translateX(-50%);
}

.index-sec2 .node-wrap .handle-btn .btn {
  width: max(40px, 80 * var(--px));
  height: max(40px, 80 * var(--px));
  background-color: rgba(0, 0, 0, .2);
  cursor: pointer;
  transition: .3s;
  user-select: none;
}

.index-sec2 .node-wrap .handle-btn .btn:hover {
  background-color: rgba(0, 0, 0, .5);
}

.index-sec3 .index-news-top .txt {
  width: 60%;
  background: linear-gradient(30deg, rgba(95, 109, 178, 1), rgba(218, 255, 251, 1) 54%, rgba(157, 29, 150, 1) 100%);
  background-size: 200% 200%;
  animation: gradientFlow 8s ease infinite;
}

@keyframes gradientFlow {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

.index-sec3 .index-news-top .txt-wrap {
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, .8);
  padding: max(30px, 5%) var(--main-margin);
}

.label-lay {
  border-radius: 300px;
  background-color: rgba(0, 0, 0, .2);
  padding: max(5px, 10 * var(--px)) var(--px-10-20);
  color: #fff;
  margin-right: 10px;
  font-size: max(10px, 16 * var(--px));
}

.index-sec3 .index-news-top .txt .title {
  font-size: var(--font-36);
  margin: var(--px-10-20) 0 max(30px, 8%);
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  word-break: break-all;
}

.index-sec3 .index-news-top .pic {
  width: 40%;
}

.index-sec3 .index-news-top .pic img {
  width: 110%;
  max-width: unset;
  aspect-ratio: 80 / 48;
  transform: translate(-5%, -40%);
}

.other-news .pic {
  position: relative;
}

.other-news .label-wrap {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 1;
}

.other-news .label-wrap .label-lay {
  background-color: rgba(0, 0, 0, .5);
}

.other-news .txt {
  padding: var(--px-10-20) 0;
}

.other-news .txt .title {
  font-size: var(--font-24);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  word-break: break-all;
  margin-bottom: 10px;
}

.other-news .txt .intro {
  font-weight: 300;
  opacity: .5;
  margin-bottom: max(20px, 15%);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  word-break: break-all;
}

.learn-more {
  font-weight: bold;
  gap: 10px;
  width: max-content;
  border-radius: 300px;
  padding: 10px 20px;
  user-select: none;
  flex-shrink: 0;
  transition: .3s;
}

.other-news .item:hover .txt .learn-more {
  background-color: #fff;
  box-shadow: 0 1px 10px 0 rgba(0, 0, 0, .1);
}

.other-news .item:hover .txt .icon {
  border-color: transparent;
  transform: translateX(5px);
}

.learn-more .icon {
  width: 30px;
  height: 30px;
  border-radius: 5px;
  border: 1px solid var(--theme-color-blue);
  filter: url(#blue-overlay);
  transition: .3s;
}

.other-news .card-wrap {
  --gap: max(30px, 120 * var(--px));
}

.other-news .item {
  position: relative;
}

.other-news .item:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 0;
  right: calc(var(--gap) / -2);
  width: 1px;
  height: 100%;
  background-color: rgba(0, 0, 0, .2);
}

.index-sec4 {
  background: linear-gradient(150.00deg, rgba(95, 109, 178, 1), rgba(218, 255, 251, 1) 54%, rgba(157, 29, 150, 1) 100%), rgba(255, 255, 255, 0.9);
  position: relative;
  /* background-size: 200% 200%; */
  /* animation: gradientFlow 8s ease infinite; */
}

.index-sec4::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
}

.index-sec4 .main {
  position: relative;
  z-index: 1;
}

.index-sec4 .item {
  aspect-ratio: 480 / 585;
  color: #fff;
  padding: var(--px-20-40);
  justify-content: flex-end;
}

.index-sec4 .title {
  font-size: var(--font-32);
  margin-top: 5px;
}

.index-sec4 .intro {
  font-size: var(--font-24);
  font-weight: 300;
  margin-top: 5px;
  line-height: 1.2;
  display: none;
}

.index-sec4 .learn-more-wrap {
  display: none;
}

.index-sec4 .learn-more {
  margin-top: var(--px-20-40);
  backdrop-filter: blur(30px);
  width: max-content;
  border-radius: 300px;
  background: linear-gradient(150.00deg, rgba(95, 109, 178, 1), rgba(218, 255, 251, 1) 54%, rgba(157, 29, 150, 1) 100%), rgba(255, 255, 255, 0.9);
}

.index-sec4 .btn-lay.lay2 {
  color: #000;
  height: 48px;
  background-color: rgba(255, 255, 255, 0.8);
  transition: .3s;
}

.index-sec4 .btn-lay.lay2 .icon {
  filter: url(#black-overlay);
}

.index-sec4 .item:hover .learn-more {
  background-size: 200% 200%;
  animation: gradientFlow 8s ease infinite;
}

.index-sec4 .item:hover .btn-lay.lay2 {
  background-color: rgba(255, 255, 255, 0.5);
}

.index-sec5 .sec-top {
  width: calc(580 * var(--px));
  flex-shrink: .2;
}

.index-sec5 .index-contact-wrap {
  margin-top: max(30px, 55 * var(--px));
}

.index-sec5 .index-contact-wrap .item {
  padding: var(--px-10-20);
  padding-left: 0;
  border-top: 1px solid #CECECE;
  cursor: pointer;
}

.index-sec5 .index-contact-wrap .item:last-child {
  border-bottom: 1px solid #CECECE;
}

.index-sec5 .index-contact-wrap .item .title {
  font-size: var(--font-20);
  transition: .3s;
}

.index-sec5 .index-contact-wrap .item .title .icon {
  transition: .3s;
}

.index-sec5 .index-contact-wrap .item.active .title,
.index-sec5 .index-contact-wrap .item:hover .title {
  color: var(--theme-color-blue);
}

.index-sec5 .index-contact-wrap .item.active .title .icon,
.index-sec5 .index-contact-wrap .item:hover .title .icon {
  filter: url(#blue-overlay);
}

.index-sec5 .index-contact-wrap .item.active .title .icon {
  transform: rotate(90deg);
}

.index-sec5 .index-contact-wrap .item-expand {
  display: none;
  color: #666;
  padding-top: var(--px-10-20);
  font-size: 14px;
}

.index-sec5 .index-contact-wrap .item-expand .intro {
  margin-bottom: 10px;
}

.index-sec5 .index-contact-wrap .item-expand .icon {
  flex-shrink: 0;
  margin-right: 10px;
}

.index-sec5 .index-contact-wrap .item-expand .icon img {
  margin-top: 3px;
}

.index-sec5 .index-contact-wrap .item-expand span {
  color: #000;
}

.index-sec5 .index-contact-wrap .item.active .item-expand {
  display: block;
}

.index-sec5 .sec-area {
  position: relative;
}

.index-sec5 .sec-area .bg-img {
  position: absolute;
  top: 30%;
  z-index: -1;
}

.index-sec6 {
  aspect-ratio: 192 / 65;
  padding-top: calc(50 * var(--px));
}

.index-sec6 .sec-intro {
  margin-bottom: max(30px, 60 * var(--px));
}

footer {
  background: linear-gradient(30deg, rgba(95, 109, 178, 1), rgba(218, 255, 251, 1) 54%, rgba(157, 29, 150, 1) 100%);
  background-size: 200% 200%;
  animation: gradientFlow 8s ease infinite;
}

.footer-wrap {
  width: 100%;
  height: 100%;
  position: relative;
  background-color: rgba(255, 255, 255, .8);
}

footer .follow-us .title {
  font-weight: bold;
  text-align: right;
  margin-bottom: var(--px-10-20);
}

footer .follow-us-wrap {
  gap: 10px;
}

footer .follow-us .icon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #fff;
  transition: .3s;
}

footer .follow-us .icon:hover {
  transform: translateY(-5px);
}

.footer-nav {
  margin-top: max(20px, 5%);
}

.footer-nav a {
  font-size: 16px;
  display: block;
}

.footer-nav h1 a {
  font-weight: bold;
  padding-bottom: var(--px-20-40);
  text-transform: uppercase;
}

footer a:hover {
  text-decoration: underline;
}

footer .privacy {
  margin-top: max(30px, 6%);
  padding-bottom: max(20px, 55 * var(--px));
}

.footer-wrap .bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

footer .main {
  position: relative;
  z-index: 1;
}

.ani-map .svg-wrap {
  display: none;
}

.ani-map svg.active path[stroke-linecap="butt"] {
  transition: .3s;
  animation: draw-path 2.5s cubic-bezier(0.25, 1, 0.5, 1) infinite;
}

@keyframes draw-path {
  to {
    stroke-dashoffset: 0;
  }
}

.page-banner {
  margin-top: var(--header-h);
  height: max(50vh, 780 * var(--px));
}

.page-banner .sec-wrap {
  align-items: flex-end;
  font-size: max(38px, 88 * var(--px));
  color: #fff;
  height: 100%;
}

.page-nav {
  height: 70px;
  background-color: rgba(238, 242, 246, .5);
}

.page-nav .main {
  gap: var(--px-20-40);
}

.page-nav a {
  height: 100%;
  color: #333;
  font-weight: 300;
  border-bottom: 1px solid transparent;
}

.page-nav a:hover,
.page-nav a.active {
  color: var(--theme-color-blue);
  border-color: var(--theme-color-blue);
}

.company-sec1 .sec-wrap {
  padding-bottom: var(--px-10-20);
}

.company-sec1 .panel {
  position: relative;
}

.company-sec1 .panel .txt {
  width: 40%;
}

.company-sec1 .panel .pic {
  width: 40%;
  aspect-ratio: 74 / 48;
  position: absolute;
  right: 0;
  top: 0;
  transform: translateY(-60%);
}

.company-sec1 .sec-area {
  background-color: rgba(238, 242, 246, .5);
  padding: max(20px, 60 * var(--px)) 0 max(30px, 80 * var(--px));
}

.company-sec1 .info-wrap {
  gap: var(--px-10-20);
  margin-top: max(30px, 120 * var(--px));
}

.company-sec1 .info-wrap .title {
  color: var(--theme-color-blue);
  font-size: max(34px, 78 * var(--px));
  align-items: flex-end;
  line-height: 1.1;
}

.company-sec1 .info-wrap .title span {
  font-size: .8em;
  vertical-align: bottom;
}

.company-sec1 .info-wrap .intro {
  font-size: var(--font-20);
  text-align: center;
  font-weight: 300;
}

.operating-floor-wrap {
  position: relative;
}

.operating-floor-wrap img {
  width: 100%;
}

.operating-floor-wrap svg {
  width: 56.4%;
  position: absolute;
  top: 23.9%;
  left: 7.5%;
}

.operating-floor-wrap .product-icon {
  cursor: pointer;
  background-color: #fff;
}

.operating-floor-wrap .product-icon#product1:hover {
  filter: url(#filter_0);
}

.operating-floor-wrap .product-icon#product2:hover {
  filter: url(#filter_1);
}

.operating-floor-wrap .product-icon#product3:hover {
  filter: url(#filter_2);
}

.operating-floor-wrap .product-icon#product4:hover {
  filter: url(#filter_3);
}

.operating-floor-wrap .product-icon#product5:hover {
  filter: url(#filter_4);
}

.operating-floor-wrap .product-icon#product6:hover {
  filter: url(#filter_5);
}

.operating-floor-wrap .product-icon#product7:hover {
  filter: url(#filter_6);
}

.operating-floor-wrap .product-icon.active path:not([hover-not-fill])[fill],
.operating-floor-wrap .product-icon.active rect:not([hover-not-fill])[fill] {
  fill: var(--theme-color-blue);
}

.operating-floor-wrap .product-icon.active path[stroke],
.operating-floor-wrap .product-icon.active rect[stroke],
.operating-floor-wrap .product-icon.active ellipse[stroke] {
  stroke: var(--theme-color-blue);
}

.operating-floor-wrap .info {
  color: var(--theme-color-blue);
  position: fixed;
  font-size: calc(24 * var(--px));
  line-height: 1.2;
  display: none;
}

.operating-floor-wrap .info span {
  display: none;
}

.operating-floor-wrap .info img {
  margin-top: 10px;
  width: calc(14 * var(--px));
}

.company-sec3 {
  background: linear-gradient(135deg, rgba(95, 109, 178, 1), rgba(218, 255, 251, 1) 54%, rgba(157, 29, 150, 1) 100%);
  background-size: 200% 200%;
  animation: gradientFlow 8s ease infinite;
  height: calc(var(--w) * 4 + max(30px, 120 * var(--px)));
}

.company-sec3 .sec-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, .8);
}

.company-sec3 .sec-top {
  width: calc(var(--w) * 2);
  height: calc(var(--w) * 2);
  padding: max(30px, 5%) 20px max(30px, 5%) var(--main-margin);
  background: linear-gradient(180.00deg, rgba(0, 51, 161, 1) 1%, rgba(102, 133, 198, 1) 100%), rgba(255, 255, 255, 1);
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
}

.company-sec3 .panel-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.company-sec3 .panel {
  width: var(--w);
  height: var(--w);
  padding: var(--px-20-40);
  background-color: #fff;
  align-items: flex-end;
  font-size: var(--font-24);
  color: #333;
  position: absolute;
}

.company-sec3 .panel img {
  width: max(40px, 120 * var(--px));
  position: absolute;
  top: var(--px-10-20);
  right: var(--px-10-20);
}

.company-sec3 .panel:nth-of-type(1) {
  top: calc(1 * var(--w));
  left: calc(3 * var(--w));
}

.company-sec3 .panel:nth-of-type(2) {
  top: calc(2 * var(--w));
  left: calc(2 * var(--w));
}

.company-sec3 .panel:nth-of-type(3) {
  top: calc(2 * var(--w));
  left: calc(4 * var(--w));
}

.company-sec3 .panel:nth-of-type(4) {
  top: calc(3 * var(--w));
  left: calc(1 * var(--w));
}

.company-sec3 .panel:nth-of-type(5) {
  top: calc(3 * var(--w));
  left: calc(3 * var(--w));
}

.company-sec4 .item .pic {
  height: 55%;
}

.company-sec4 .item .txt {
  height: 45%;
  background-color: #F6F8FA;
  padding: var(--px-20-40);
  position: relative;
  padding-right: max(60px, 110 * var(--px));
}

.company-sec4 .item .txt .title {
  font-size: var(--font-32);
  font-weight: bold;
}

.company-sec4 .item .txt .intro {
  color: #333;
  font-weight: 300;
}

.company-sec4 .item .txt .icon {
  position: absolute;
  bottom: var(--px-10-20);
  right: var(--px-10-20);
  width: max(40px, 80 * var(--px));
  height: max(40px, 80 * var(--px));
  background-color: var(--theme-color-blue);
  border-radius: 50%;
}

.company-sec4 .item .txt .icon img {
  width: 50%;
}

.history-sec1 .time {
  border-radius: 300px;
  background-color: var(--theme-color-blue);
  width: max(120px, 200 * var(--px));
  aspect-ratio: 20 / 6;
  font-size: var(--font-24);
  color: #fff;
  margin: 0 auto;
}

.history-sec1 .time-line-wrap {
  position: relative;
  padding: max(20px, 60 * var(--px)) 0;
}

.history-sec1 .time-line-wrap::after {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  background-color: rgba(0, 0, 0, .2);
  width: 1px;
  height: 100%;
}

.history-sec1 .time-line-item {
  margin-bottom: max(20px, 60 * var(--px));
  font-weight: 300;
}

.history-sec1 .time-line-cont {
  --item-gap: calc(150 * var(--px));
  width: calc(50% - var(--item-gap));
  background-color: #F6F8FA;
  padding: var(--px-20-40);
  position: relative;
  color: #333;
}

.history-sec1 .time-line-cont::after {
  content: '';
  position: absolute;
  top: 50%;
  width: var(--item-gap);
  height: 1px;
  background-color: var(--theme-color-blue);
}

.history-sec1 .time-line-cont::before {
  content: '';
  position: absolute;
  top: 50%;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: var(--theme-color-blue);
}

.history-sec1 .time-line-cont span {
  position: absolute;
  bottom: 0;
  width: calc(var(--px-20-40) * 3);
  height: 40%;
  background-color: #5F6DB2;
  font-size: max(16px, 36 * var(--px));
  color: #fff;
  align-items: flex-end;
  line-height: 1;
}

.history-sec1 .time-line-item .txt {
  padding-bottom: var(--px-10-20);
}

.history-sec1 .time-line-item:nth-child(odd) .time-line-cont {
  padding-left: calc(var(--px-20-40) * 4);
}

.history-sec1 .time-line-item:nth-child(odd) .time-line-cont::after {
  left: 100%;
}

.history-sec1 .time-line-item:nth-child(odd) .time-line-cont::before {
  left: calc(100% + var(--item-gap));
  transform: translate(-50%, -50%);
}

.history-sec1 .time-line-item:nth-child(odd) .txt {
  text-align: right;
}

.history-sec1 .time-line-item:nth-child(odd) span {
  left: 0;
  border-top-right-radius: 50%;
}

.history-sec1 .time-line-item:nth-child(even) .time-line-cont {
  padding-right: calc(var(--px-20-40) * 4);
}

.history-sec1 .time-line-item:nth-child(even) {
  flex-direction: row-reverse;
}

.history-sec1 .time-line-item:nth-child(even) .time-line-cont::after {
  right: 100%;
}

.history-sec1 .time-line-item:nth-child(even) .time-line-cont::before {
  right: calc(100% + var(--item-gap));
  transform: translate(50%, -50%);
}

.history-sec1 .time-line-item:nth-child(even) span {
  right: 0;
  border-top-left-radius: 50%;
  justify-content: flex-end;
}

.history-sec1 .add-wrap .icon {
  width: 55px;
  height: 55px;
  border-radius: 50%;
  border: 1px solid var(--theme-color-blue);
  cursor: pointer;
}

.history-sec1 .add-wrap .icon:hover {
  filter: url(#blue-overlay);
}

.history-sec1 .time-line-item:last-child {
  margin-bottom: 0;
}

.innovative-sec1 .item:nth-child(even) {
  flex-direction: row-reverse;
}

.innovative-sec1 .item .txt {
  width: 50%;
  font-weight: 300;
  align-items: center;
}

.innovative-sec1 .item .pic {
  width: 50%;
  aspect-ratio: 850 / 645;
  border-top-left-radius: 30px;
}

.innovative-sec1 .item:nth-child(odd) .txt {
  padding-right: max(30px, 5%);
}

.innovative-sec1 .item:nth-child(even) .txt {
  padding-left: max(30px, 5%);
}

.quality-sec1 .sec-area {
  margin-top: max(80px, 230 * var(--px));
  position: relative;
}

.quality-sec1 .sec-area .txt {
  width: 75%;
  background-color: #F6F8FA;
  font-size: var(--font-24);
  font-weight: 300;
  position: relative;
  padding: max(30px, 140 * var(--px)) max(30px, 10%) max(60px, 300 * var(--px)) calc(25% + 60 * var(--px));
}

.quality-sec1 .sec-area .txt li {
  list-style-type: disc;
  list-style-position: inside;
  margin-bottom: var(--px-10-20);
}

.quality-sec1 .sec-area .pic {
  width: 25%;
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}

.quality-sec1 .sec-area .pic img {
  width: 200%;
  max-width: unset;
  transform: translate(0, calc(max(40px, 115 * var(--px)) * -1));
}

.quality-sec1 .info-wrap {
  margin-top: max(20px, 60 * var(--px));
}

.quality-sec1 .card-wrap {
  --column: 2;
  --gap: max(20px, 60 * var(--px));
}

.quality-sec1 .card-wrap .item {
  background-color: #F6F8FA;
  padding: var(--px-20-40);
  position: relative;
}

.quality-sec1 .card-wrap .item .title {
  font-size: var(--font-24);
  position: relative;
  padding-bottom: var(--px-10-20);
  margin-bottom: var(--px-10-20);
}

.quality-sec1 .card-wrap .item .title::after,
.quality-sec1 .card-wrap .item .title::before {
  content: '';
  height: 1px;
  position: absolute;
  top: 100%;
  left: 0;
}

.quality-sec1 .card-wrap .item .title::after {
  width: 100%;
  background-color: #CCD6EC;
}

.quality-sec1 .card-wrap .item .title::before {
  width: 10%;
  background: linear-gradient(88.28deg, rgba(0, 51, 161, 1), rgba(102, 133, 198, 1) 100%);
  z-index: 1;
}

.quality-sec1 .card-wrap .item .intro {
  font-weight: 300;
  padding-bottom: max(40px, 100 * var(--px));
  padding-right: max(70px, 140 * var(--px));
}

.quality-sec1 .card-wrap .item .icon {
  width: max(40px, 120 * var(--px));
  height: max(40px, 120 * var(--px));
  background-color: #5F6DB2;
  border-top-left-radius: 30px;
  position: absolute;
  bottom: 0;
  right: 0;
}

.quality-sec1 .card-wrap .item .icon img {
  width: 50%;
}

.sec-wrap-full {
  padding-bottom: max(50px, 180 * var(--px));
}

.quality-sec1 .sec-bg {
  position: absolute;
  top: 0;
  right: 0;
}

.sustainability-sec1 .item {
  position: relative;
  margin-bottom: max(40px, 190 * var(--px));
}

.sustainability-sec1 .item:last-child {
  margin-bottom: 0;
}

.sustainability-sec1 .item .txt {
  width: 68%;
  min-height: calc(565 * var(--px));
  background-color: #F6F8FA;
}

.sustainability-sec1 .item .pic {
  width: calc(32% + max(40px, 110 * var(--px)));
  position: absolute;
  top: calc(max(40px, 120 * var(--px)) * -1);
}

.sustainability-sec1 .item .txt .title {
  font-size: var(--font-36);
  margin-bottom: var(--px-10-20);
}

.sustainability-sec1 .item .txt .intro {
  font-weight: 300;
  line-height: 1.8;
  color: #333;
}

.sustainability-sec1 .item:nth-child(even) {
  flex-direction: row-reverse;
}

.sustainability-sec1 .item:nth-child(odd) .pic {
  right: 0;
}

.sustainability-sec1 .item:nth-child(odd) .txt {
  padding: max(40px, 80 * var(--px)) max(80px, 200 * var(--px)) max(40px, 100 * var(--px)) max(30px, 60 * var(--px));
}

.sustainability-sec1 .item:nth-child(even) .txt {
  padding: max(40px, 80 * var(--px)) max(30px, 60 * var(--px)) max(40px, 100 * var(--px)) max(80px, 200 * var(--px));
}

.sustainability-sec1 .item:nth-child(even) .pic {
  left: 0;
}

.service-sec1 .item {
  margin-bottom: max(30px, 80 * var(--px));
}

.service-sec1 .item:last-child {
  margin-bottom: 0;
}

.service-sec1 .item .pic {
  width: 50%;
}

.service-sec1 .item .txt {
  width: 50%;
  background-color: #F6F8FA;
  padding: max(30px, 80 * var(--px)) max(60px, 150 * var(--px)) max(30px, 80 * var(--px)) max(30px, 60 * var(--px));
  position: relative;
}

.service-sec1 .item .icon {
  width: max(40px, 165 * var(--px));
  height: max(40px, 165 * var(--px));
  background-color: #5F6DB2;
  border-top-left-radius: 30px;
  position: absolute;
  bottom: 0;
  right: 0;
}

.service-sec1 .item .icon img {
  width: 50%;
}

.service-sec1 .item .txt .title {
  font-size: var(--font-36);
  margin-bottom: var(--px-10-20);
}

.service-sec1 .item .txt .intro {
  font-weight: 300;
  line-height: 1.8;
  color: #333;
}

.service-sec1 .item:nth-child(even) {
  flex-direction: row-reverse;
}

.news-sec1 .inp-wrap {
  position: relative;
}

.news-sec1 .inp-cont input {
  width: calc(540 * var(--px));
  background-color: #F6F8FA;
  height: 60px;
  border-radius: 300px;
  padding-left: 30px;
  padding-right: 80px;
}

.news-sec1 .submit-btn {
  height: calc(100% - 20px);
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: var(--theme-color-blue);
  cursor: pointer;
}

.news-sec1 .news-top .pic {
  width: 50%;
}

.news-sec1 .news-top .txt {
  width: 50%;
  padding: var(--px-20-40);
  background-color: #F6F8FA;
}

.news-sec1 .news-top .txt .label-wrap {
  margin-bottom: var(--px-10-20);
}

.news-sec1 .news-top .txt .title {
  font-size: var(--font-36);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  word-break: break-all;
  margin-bottom: var(--px-10-20);
  line-height: 1.2;
}

.news-sec1 .news-top .txt .intro {
  font-weight: 300;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  word-break: break-all;
  margin-bottom: var(--px-10-20);
  opacity: .5;
}

.news-sec1 .news-top:hover .txt .learn-more {
  background-color: #fff;
  box-shadow: 0 1px 10px 0 rgba(0, 0, 0, .1);
}

.news-sec1 .news-top:hover .txt .icon {
  border-color: transparent;
  transform: translateX(5px);
}

.news-sec1 .other-news {
  margin-top: max(30px, 60 * var(--px));
}

.news-sec1 .other-news .card-wrap {
  --gap: max(30px, 60 * var(--px));
}

.news-sec1 .other-news .item:not(:last-child)::after {
  content: unset;
}

.news-sec1 .other-news .txt {
  background-color: #F6F8FA;
  padding: var(--px-20-40);
}

.crumbs-wrap {
  margin-top: var(--header-h);
  background-color: #EEF2F6;
}

.crumbs-cont {
  gap: 10px;
  font-weight: 300;
  font-size: 14px;
  color: #252525;
  height: 50px;
}

.news-detail-sec1 {
  background: linear-gradient(152.97deg, rgba(95, 109, 178, 1), rgba(218, 255, 251, 1) 54%, rgba(157, 29, 150, 1) 100%), rgba(255, 255, 255, 0.9);
  position: relative;
}

.news-detail-sec1 .sec-bg {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, .8);
}

.news-detail-sec1 .sec-wrap {
  position: relative;
  z-index: 1;
}

.news-detail-sec1 .title {
  font-size: var(--font-36);
  padding-bottom: var(--px-20-40);
  border-bottom: 1px solid var(--theme-color-blue);
  color: #252525;
  margin-top: var(--px-10-20);
}

.news-detail-sec1 .newspaper {
  width: calc(960 * var(--px));
  margin: 0 auto;
}

.news-detail-sec1 .newspaper .content {
  font-weight: 300;
}

.news-detail-sec1 .newspaper .content p,
.news-detail-sec1 .newspaper .content img {
  margin-top: var(--px-20-40);
}

.news-detail-sec2 .btn-lay {
  padding: var(--px-10-20) var(--px-20-40);
  text-transform: uppercase;
}

.news-detail-sec2 .other-news {
  margin-top: var(--px-10-20);
}