.visual {
  width: 100%;
  height: 100vh;
  position: relative;
  overflow: hidden; }
  .visual .imgBox {
    width: 100%;
    position: relative;
    transition: .5s ease-out; }
    .visual .imgBox img {
      width: 100%;
      object-fit: cover;
      object-position: center;
      position: absolute; }
  .visual .textBox {
    position: absolute;
    left: 160px;
    top: 54%;
    transform: translateY(-50%);
    color: #fff;
    text-transform: uppercase; }
    .visual .textBox div {
      display: none; }
    .visual .textBox p:first-child {
      font-size: 4.06rem;
      font-weight: 900; }
    .visual .textBox p:nth-of-type(2) {
      font-size: 1.56rem;
      margin-top: 50px; }
  .visual .controlBox {
    position: absolute;
    right: 160px;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, 0.5);
    font-size: 1rem;
    text-align: center; }
    .visual .controlBox ul {
      display: flex;
      flex-direction: column;
      gap: 30px; }
      .visual .controlBox ul li {
        position: relative; }
      .visual .controlBox ul li.active {
        color: #fff; }
        .visual .controlBox ul li.active::before {
          content: "";
          display: block;
          width: 100%;
          height: 2px;
          background: #fff;
          position: absolute;
          left: 0;
          bottom: -1px; }
    .visual .controlBox span {
      display: block;
      width: 20px;
      height: 20px;
      padding: 15px;
      cursor: pointer;
      transition: .3s ease-out;
      position: absolute;
      left: 50%;
      transform: translateX(-50%); }
      .visual .controlBox span::before {
        content: "";
        display: block;
        width: 9px;
        height: 2px;
        background: #fff;
        position: absolute;
        left: 8px;
        top: 50%;
        border-radius: 50px;
        cursor: pointer;
        transition: .3s ease-out; }
      .visual .controlBox span::after {
        content: "";
        display: block;
        width: 9px;
        height: 2px;
        background: #fff;
        position: absolute;
        right: 7px;
        top: 50%;
        border-radius: 50px;
        cursor: pointer;
        transition: .3s ease-out; }
      .visual .controlBox span:hover {
        opacity: .7; }
    .visual .controlBox .prev {
      top: -50px; }
      .visual .controlBox .prev::before {
        transform: rotate(-45deg); }
      .visual .controlBox .prev::after {
        transform: rotate(45deg); }
    .visual .controlBox .next {
      bottom: -50px; }
      .visual .controlBox .next::before {
        transform: rotate(45deg); }
      .visual .controlBox .next::after {
        transform: rotate(-45deg); }

#content section h3 {
  font-size: 3.13rem;
  line-height: 1.5em; }
#content .sec1 {
  background: #fff; }
  #content .sec1 .tabBox > div:first-child {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 30px 0 60px;
    border-bottom: 1px solid rgba(48, 45, 44, 0.3); }
    #content .sec1 .tabBox > div:first-child .tabSwiper {
      width: 100%;
      -webkit-overflow-scrolling: touch;
      touch-action: auto; }
    #content .sec1 .tabBox > div:first-child .tabMenu {
      display: flex;
      align-items: center;
      font-size: 1.25rem; }
      #content .sec1 .tabBox > div:first-child .tabMenu li {
        opacity: .5;
        cursor: pointer;
        padding: 18px 0;
        word-break: break-word;
        display: flex;
        align-items: center;
        height: 100%; }
      #content .sec1 .tabBox > div:first-child .tabMenu li.active {
        opacity: 1;
        font-weight: 600;
        border-bottom: 2px solid var(--text-color); }
    #content .sec1 .tabBox > div:first-child .tabSwiperNext {
      position: relative;
      display: block;
      width: 15px;
      height: 15px;
      padding: 20px;
      cursor: pointer; }
      #content .sec1 .tabBox > div:first-child .tabSwiperNext::before {
        content: "";
        display: block;
        width: 9px;
        height: 2px;
        background: #979595;
        position: absolute;
        left: 50%;
        top: 16px;
        transform: translateX(-50%) rotate(45deg);
        border-radius: 50px; }
      #content .sec1 .tabBox > div:first-child .tabSwiperNext::after {
        content: "";
        display: block;
        width: 9px;
        height: 2px;
        background: #979595;
        position: absolute;
        left: 50%;
        bottom: 16px;
        transform: translateX(-50%) rotate(-45deg);
        border-radius: 50px; }
  #content .sec1 .tabBox .tabImgBox {
    position: relative; }
    #content .sec1 .tabBox .tabImgBox .viewMore {
      width: 100%;
      height: 100%; }
    #content .sec1 .tabBox .tabImgBox img {
      width: 100%;
      border-radius: 50px;
      object-fit: cover;
      object-position: center; }
    #content .sec1 .tabBox .tabImgBox .textBox {
      width: 100%;
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      position: absolute;
      right: 0;
      top: 0;
      text-align: right;
      padding: 88px 100px;
      color: #fff; }
      #content .sec1 .tabBox .tabImgBox .textBox div .tabTitle {
        font-size: 3.13rem;
        font-weight: 700;
        margin-bottom: 10px; }
      #content .sec1 .tabBox .tabImgBox .textBox div .tabSub {
        font-size: 1.88rem;
        font-weight: 600; }
      #content .sec1 .tabBox .tabImgBox .textBox .content {
        font-size: 1.56rem; }
#content .sec2 {
  position: relative; }
  #content .sec2 .section_wrap {
    position: sticky;
    top: 0;
    height: 1000px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start; }
    #content .sec2 .section_wrap h3 {
      position: sticky;
      top: 150px;
      color: #fff;
      width: 35%;
      margin-bottom: 170px; }
    #content .sec2 .section_wrap .cardBox {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      width: 65%;
      gap: 50px; }
      #content .sec2 .section_wrap .cardBox .card {
        border: 1px solid #fff;
        border-radius: 50px;
        box-sizing: border-box;
        padding: 50px;
        color: #fff;
        width: 416px;
        height: 555px;
        backdrop-filter: blur(15px);
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        transition: .3s ease-out; }
        #content .sec2 .section_wrap .cardBox .card > div:first-child {
          display: flex;
          justify-content: space-between;
          align-items: center; }
          #content .sec2 .section_wrap .cardBox .card > div:first-child .barBox {
            width: 90%;
            height: 1px;
            background: rgba(255, 255, 255, 0.5);
            position: relative; }
            #content .sec2 .section_wrap .cardBox .card > div:first-child .barBox .bar {
              display: inline-block;
              width: 75px;
              height: 3px;
              background: #fff;
              position: absolute;
              left: 0;
              top: -2px;
              transition: .3s ease-out; }
          #content .sec2 .section_wrap .cardBox .card > div:first-child span {
            display: inline-block;
            font-weight: 600;
            font-size: 1.13rem; }
        #content .sec2 .section_wrap .cardBox .card > div:nth-of-type(2) p:first-child {
          font-size: 1.88rem;
          font-weight: 700;
          margin-bottom: 20px; }
        #content .sec2 .section_wrap .cardBox .card > div:nth-of-type(2) p:nth-of-type(2) {
          font-size: 1.13rem; }
      #content .sec2 .section_wrap .cardBox .card:first-of-type {
        margin-left: 400px;
        align-self: flex-start; }
      #content .sec2 .section_wrap .cardBox .card:nth-of-type(2) {
        margin-top: -250px;
        margin-right: 50px;
        align-self: flex-start; }
      #content .sec2 .section_wrap .cardBox .card:nth-of-type(3) {
        margin-top: 50px; }
      #content .sec2 .section_wrap .cardBox .card.is_active {
        background: #fff;
        color: var(--text-color); }
        #content .sec2 .section_wrap .cardBox .card.is_active > div:first-child .barBox {
          background: rgba(0, 0, 0, 0.5); }
          #content .sec2 .section_wrap .cardBox .card.is_active > div:first-child .barBox .bar {
            background: var(--text-color);
            left: auto;
            right: 0; }
        #content .sec2 .section_wrap .cardBox .card.is_active > div:first-child span {
          display: inline-block;
          font-weight: 600;
          font-size: 1.13rem; }
        #content .sec2 .section_wrap .cardBox .card.is_active > div:nth-of-type(2) p:first-child {
          color: var(--main-color); }
  #content .sec2 .backImg {
    width: 100%;
    height: 100%;
    background-attachment: fixed;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    transition: .5s ease-out;
    background: url(/ucommon/mainimages/sticky-back-01.jpg) no-repeat center/cover; }
#content .sec2.is_active1 .backImg {
  background: url(/ucommon/mainimages/sticky-back-01.jpg) no-repeat center/cover; }
#content .sec2.is_active2 .backImg {
  background: url(/ucommon/mainimages/sticky-back-02.jpg) no-repeat center/cover; }
#content .sec2.is_active3 .backImg {
  background: url(/ucommon/mainimages/sticky-back-03.jpg) no-repeat center/cover; }
#content .sec3 {
  background: #fff;
  overflow: hidden; }
  #content .sec3 > div:nth-of-type(1) {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 30px 0 60px;
    border-bottom: 1px solid rgba(48, 45, 44, 0.3); }
    #content .sec3 > div:nth-of-type(1) p {
      padding: 18px 0;
      border-bottom: 2px solid var(--text-color);
      font-weight: 600;
      font-size: 1.25rem; }
    #content .sec3 > div:nth-of-type(1) .viewMore {
      position: relative;
      display: block;
      width: 15px;
      height: 15px;
      padding: 20px; }
      #content .sec3 > div:nth-of-type(1) .viewMore::before {
        content: "";
        display: block;
        width: 9px;
        height: 2px;
        background: #979595;
        position: absolute;
        left: 50%;
        top: 16px;
        transform: translateX(-50%) rotate(45deg);
        border-radius: 50px; }
      #content .sec3 > div:nth-of-type(1) .viewMore::after {
        content: "";
        display: block;
        width: 9px;
        height: 2px;
        background: #979595;
        position: absolute;
        left: 50%;
        bottom: 16px;
        transform: translateX(-50%) rotate(-45deg);
        border-radius: 50px; }
  #content .sec3 .swiper1 {
    overflow: visible !important; }
    #content .sec3 .swiper1 .swiper-wrapper {
      counter-reset: num; }
      #content .sec3 .swiper1 .swiper-wrapper .swiper-slide {
        width: 630px;
        height: 390px;
        border-radius: 50px;
        background: rgba(229, 229, 229, 0.3);
        padding: 38px 45px;
        counter-increment: num 1; }
        #content .sec3 .swiper1 .swiper-wrapper .swiper-slide::before {
          content: "0" counter(num);
          display: block;
          font-size: 3.13rem;
          font-weight: 700;
          color: var(--main-color);
          position: absolute;
          right: 45px;
          top: 38px; }
        #content .sec3 .swiper1 .swiper-wrapper .swiper-slide a {
          height: 100%; }
          #content .sec3 .swiper1 .swiper-wrapper .swiper-slide a .content {
            display: flex;
            flex-direction: column;
            gap: 18px;
            justify-content: flex-end;
            height: 100%; }
            #content .sec3 .swiper1 .swiper-wrapper .swiper-slide a .content span {
              display: block;
              font-size: 1.13rem; }
            #content .sec3 .swiper1 .swiper-wrapper .swiper-slide a .content p {
              width: 100%;
              text-overflow: ellipsis;
              overflow: hidden;
              white-space: nowrap; }
            #content .sec3 .swiper1 .swiper-wrapper .swiper-slide a .content p:nth-of-type(1) {
              font-size: 1.88rem;
              font-weight: 600; }
            #content .sec3 .swiper1 .swiper-wrapper .swiper-slide a .content p:nth-of-type(2) {
              font-size: 1.25rem; }
#content .sec4 {
  background: url(/ucommon/mainimages/contact-backimg.jpg) no-repeat center/cover;
  color: #fff; }
  #content .sec4 h3 {
    margin-bottom: 80px; }
  #content .sec4 > div ul {
    display: flex;
    justify-content: space-between;
    gap: 1%; }
    #content .sec4 > div ul li {
      width: 363px;
      height: 555px; }
      #content .sec4 > div ul li a {
        width: 100%;
        height: 100%;
        border: 1px solid #fff;
        border-radius: 50px;
        padding: 50px;
        color: #fff;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        backdrop-filter: blur(30px);
        transition: .3s ease-out; }
        #content .sec4 > div ul li a .indiBox {
          width: 100%;
          height: 1px;
          background: rgba(255, 255, 255, 0.5);
          position: relative; }
          #content .sec4 > div ul li a .indiBox .indicator {
            width: 75px;
            height: 3px;
            background: #fff;
            position: absolute;
            left: 0;
            top: -2px;
            transition: .5s ease-out;
            max-width: 50%; }
        #content .sec4 > div ul li a div:nth-of-type(2) p:nth-of-type(1) {
          font-size: 1.13rem;
          font-weight: 600;
          margin: 26px 0 18px; }
        #content .sec4 > div ul li a div:nth-of-type(2) p:nth-of-type(2) {
          font-size: 1.88rem;
          font-weight: 600; }
        #content .sec4 > div ul li a:hover {
          background: #fff;
          color: var(--text-color); }
          #content .sec4 > div ul li a:hover .indiBox {
            background: rgba(48, 45, 44, 0.5); }
            #content .sec4 > div ul li a:hover .indiBox .indicator {
              background: var(--text-color);
              left: auto;
              right: 0; }
          #content .sec4 > div ul li a:hover div:nth-of-type(2) img {
            filter: invert(1); }
          #content .sec4 > div ul li a:hover div:nth-of-type(2) p:nth-of-type(1) {
            color: var(--main-color); }

@media screen and (min-width: 2370px) {
  #content .sec2 .section_wrap {
    height: 1300px; }

  #content .sec2 .section_wrap .cardBox .card:first-of-type {
    margin-left: 600px; } }
@media screen and (max-width: 1800px) {
  #content .sec2 .section_wrap .cardBox .card:nth-of-type(2) {
    margin-right: 0; } }
@media screen and (max-width: 1680px) {
  #content .sec2 .section_wrap .cardBox .card {
    max-width: 350px;
    height: 465px; }

  #content .sec2 .section_wrap .cardBox .card:first-of-type {
    margin-left: 200px; }

  #content .sec2 .section_wrap .cardBox .card > div:nth-of-type(2) p:first-child {
    font-size: 1.5rem; }

  #content .sec2 .section_wrap .cardBox .card > div:nth-of-type(2) p:nth-of-type(2) {
    font-size: 1rem; }

  #content .sec2 .section_wrap .cardBox .card > div:first-child .barBox {
    width: 86%; } }
@media screen and (max-width: 1600px) {
  #content .sec1 .tabBox .tabImgBox .textBox div .tabTitle {
    font-size: 2.19rem; }

  #content .sec1 .tabBox .tabImgBox .textBox div .tabSub {
    font-size: 1.5rem; }

  #content .sec1 .tabBox .tabImgBox .textBox .content {
    font-size: 1.25rem; }

  #content .sec4 > div ul li {
    height: 450px; }

  #content .sec4 > div ul li a div:nth-of-type(2) p:nth-of-type(2) {
    font-size: 1.50rem; } }
@media screen and (max-width: 1500px) {
  #content .sec2 .section_wrap h3 {
    font-size: 2.5rem; }

  #content .sec2 .section_wrap .cardBox .card {
    max-width: 300px;
    min-height: 400px;
    padding: 30px; }

  #content .sec2 .section_wrap .cardBox .card:nth-of-type(2) {
    margin-right: 320px; }

  #content .sec2 .section_wrap .cardBox .card:nth-of-type(3) {
    margin-top: -295px; } }
@media screen and (max-width: 1280px) {
  #content section h3 {
    font-size: 2.19rem; }

  .visual .textBox {
    left: 100px; }

  .visual .textBox p:first-child {
    font-size: 3.13rem; }

  #content .sec1 .tabBox .tabImgBox .textBox {
    padding: 50px 70px; }

  #content .growth_section {
    height: 1200px; }

  #content .sec2 .section_wrap h3 {
    font-size: 2.19rem; }

  #content .sec3 .swiper1 .swiper-wrapper .swiper-slide {
    width: 48%; }

  #content .sec3 .swiper1 .swiper-wrapper .swiper-slide a .content p:nth-of-type(1) {
    font-size: 1.50rem; }

  #content .sec4 > div ul li {
    height: 400px; }

  #content .sec4 > div ul li a div:nth-of-type(2) p:nth-of-type(1) {
    font-size: 1rem;
    margin: 13px 0 10px; }

  #content .sec4 > div ul li a div:nth-of-type(2) p:nth-of-type(2) {
    font-size: 1.25rem; } }
@media screen and (max-width: 1024px) {
  #content section h3 {
    font-size: 1.88rem; }

  .visual .textBox p:first-child {
    font-size: 2.19rem; }

  .visual .textBox p:nth-of-type(2) {
    font-size: 1.25rem; }

  #content .sec1 .tabBox > div:first-child {
    margin: 30px 0 40px; }

  #content .sec1 .tabBox > div:first-child .tabMenu {
    font-size: 1.13rem; }

  #content .sec1 .tabBox .tabImgBox .textBox {
    padding: 40px 50px; }

  #content .sec1 .tabBox .tabImgBox .textBox div .tabTitle {
    font-size: 1.5rem; }

  #content .sec1 .tabBox .tabImgBox .textBox div .tabSub {
    font-size: 1.38rem; }

  #content .sec1 .tabBox .tabImgBox .textBox .content {
    font-size: 1rem; }

  #content .growth_section {
    height: 1700px; }

  #content .sec2 .section_wrap h3 {
    font-size: 1.88rem; }

  #content .growth_section .growth-bg-wrap .bg-wrap .sp_container .section_wrap {
    padding-top: 7rem; }

  #content .sec2 .section_wrap {
    flex-direction: column; }

  #content .sec2 .section_wrap h3 {
    width: 100%;
    height: 400px;
    top: 250px;
    padding-top: 0; }

  #content .sec2 .section_wrap .cardBox {
    display: flex;
    justify-content: center;
    width: 100%;
    padding-top: 0; }

  #content .sec2 .section_wrap .cardBox .card:first-of-type {
    margin-left: 350px; }

  #content .sec2 .section_wrap .cardBox .card:nth-of-type(2) {
    margin-right: 350px;
    margin-top: -204px; }

  #content .sec2 .section_wrap .cardBox .card:nth-of-type(3) {
    margin-top: -320px;
    margin-left: 350px; }

  #content .sec3 > div:nth-of-type(1) {
    margin: 30px 0 40px; }

  #content .sec3 > div:nth-of-type(1) p {
    font-size: 1.13rem; }

  #content .sec3 .swiper1 .swiper-wrapper .swiper-slide::before {
    font-size: 2.19rem; }

  #content .sec3 .swiper1 .swiper-wrapper .swiper-slide a .content span {
    font-size: 1rem; }

  #content .sec3 .swiper1 .swiper-wrapper .swiper-slide a .content p:nth-of-type(1) {
    font-size: 1.25rem; }

  #content .sec3 .swiper1 .swiper-wrapper .swiper-slide a .content p:nth-of-type(2) {
    font-size: 1.13rem; }

  #content .sec4 {
    padding: 100px 50px 150px; }

  #content .sec4 > div ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3%; }

  #content .sec4 > div ul li {
    width: auto; } }
@media screen and (max-width: 768px) {
  .visual .textBox {
    left: 50px;
    top: 50%;
    width: 80%; }

  .visual .controlBox {
    right: auto;
    top: auto;
    left: 50%;
    bottom: 130px;
    transform: translateY(0) translateX(-50%); }

  .visual .controlBox ul {
    flex-direction: row; }

  .visual .textBox p:nth-of-type(2) {
    margin-top: 30px; }

  #content .sec1 .tabBox .tabImgBox {
    height: 300px; }

  #content .sec1 .tabBox .tabImgBox .textBox {
    padding: 30px 20px; }

  #content .sec1 .tabBox .tabImgBox img {
    border-radius: 30px;
    height: 100%; }

  #content .sec2 .section_wrap h3 {
    height: 300px;
    top: 150px; }

  #content .sec2 .section_wrap .cardBox .card {
    margin: 0 auto 20px;
    max-width: 100%;
    width: 100%;
    height: 330px;
    transition: .3s ease-out; }

  #content .sec2 .section_wrap .cardBox .card:first-of-type {
    margin-left: auto; }

  #content .sec2 .section_wrap .cardBox .card:nth-of-type(2) {
    margin-right: auto;
    margin-top: auto; }

  #content .sec2 .section_wrap .cardBox .card:nth-of-type(3) {
    margin-top: auto;
    margin-left: auto; }

  #content .sec2 .section_wrap .cardBox .card > div:first-child .barBox {
    width: 92%; } }
@media screen and (max-width: 640px) {
  .visual .textBox {
    left: 30px; }

  #content section h3 {
    font-size: 1.25rem; }

  .visual .textBox p:first-child {
    font-size: 1.38rem; }

  .visual .textBox p:nth-of-type(2) {
    font-size: 1rem;
    margin-top: 20px; }

  #content .sec1 .tabBox > div:first-child .tabMenu {
    font-size: 1rem; }

  #content .sec1 .tabBox > div:first-child .tabMenu li {
    padding: 10px 0; }

  #content .sec1 .tabBox .tabImgBox .textBox div .tabTitle {
    font-size: 1.25rem; }

  #content .sec1 .tabBox .tabImgBox .textBox div .tabSub {
    font-size: 1.13rem; }

  #content .sec2 .section_wrap h3 {
    font-size: 1.25rem;
    height: 250px; }

  #content .sec2 .section_wrap .cardBox .card > div:nth-of-type(2) p:first-child {
    font-size: 1.25rem; }

  #content .sec3 .swiper1 .swiper-wrapper .swiper-slide {
    width: 100%;
    padding: 30px; }

  #content .sec3 > div:nth-of-type(1) p {
    font-size: 1rem; }

  #content .sec3 .swiper1 .swiper-wrapper .swiper-slide a .content span {
    font-size: 0.94rem; }

  #content .sec3 .swiper1 .swiper-wrapper .swiper-slide a .content p:nth-of-type(1) {
    font-size: 1.13rem; }

  #content .sec3 .swiper1 .swiper-wrapper .swiper-slide a .content p:nth-of-type(2) {
    font-size: 1rem; }

  #content .sec3 .swiper1 .swiper-wrapper .swiper-slide::before {
    font-size: 1.88rem; }

  #content .sec4 h3 {
    margin-bottom: 50px; }

  #wrap #content .sec4 {
    padding: 4rem 2rem 6rem; }

  #content .sec4 > div ul {
    gap: 2%;
    grid-template-columns: 1fr; }

  #content .sec4 > div ul li {
    height: 250px; }

  #content .sec4 > div ul li a {
    padding: 40px; } }
@media screen and (max-width: 500px) {
  #content section h3 .onPc {
    display: none; }

  #content .sec1 .tabBox > div:first-child .tabMenu {
    height: 50px !important; } }

/*# sourceMappingURL=main.css.map */
