@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Expletus+Sans:ital,wght@0,400..700;1,400..700&family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
* {
  font-family: 'Expletus Sans',  'Noto Sans TC', sans-serif;
}

body.detail {
  padding-top: 70px;
}

body.bg-gray {
  background-color: #f4f4f4;
}

body.bg-gradient {
  background: -webkit-gradient(linear, left top, right top, from(#EFCFFE), to(#B1C6FE)) !important;
  background: linear-gradient(to right, #EFCFFE 0%, #B1C6FE 100%) !important;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

ul {
  list-style: none;
  padding: 0;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

input[type="number"] {
  -moz-appearance: textfield;
}

input, select {
  outline: none;
  border: 0;
}

.container {
  padding-left: 40px;
  padding-right: 40px;
  max-width: 1594px;
}

@media screen and (max-width: 575px) {
  .container {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.pic-contain {
  width: 100%;
  position: relative;
}

.pic-contain_inner {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  top: 0;
  left: 0;
}

.pic-cover {
  width: 100%;
  position: relative;
}

.pic-cover_inner {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  top: 0;
  left: 0;
}

.btn-common {
  width: 212px;
  padding: 13px 0;
  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;
  font-size: 18px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  margin: 0 auto;
  border-radius: 100px;
}

.btn-common.whiteborder {
  border: 2px solid #fff;
  color: #fff;
}

.btn-common.whiteborder:hover {
  background-color: #fff;
  color: #2861C8;
}

.btn-common.darkborder {
  border: 1px solid #1E293D;
  color: #1E293D;
}

.btn-common.darkborder:hover {
  background-color: #2861C8;
  border-color: #2861C8;
  color: #fff;
}

.btn-common.bluebg {
  border: 1px solid #2861C8;
  background-color: #2861C8;
  color: #fff;
}

.btn-common.bluebg:hover {
  background-color: transparent;
  color: #2861C8;
}

.btn-common.darkbg {
  border: 1px solid #1E293D;
  background-color: #1E293D;
  color: #fff;
}

.btn-common.darkbg:hover {
  background-color: transparent;
  color: #1E293D;
}

.btn-common.whitebg {
  border: 1px solid #fff;
  background-color: #fff;
  color: #1E293D;
}

.btn-common.whitebg:hover {
  background-color: #1E293D;
  border-color: #1E293D;
  color: #fff;
}

.header {
  width: 100%;
  height: 100px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.header .container {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header_logo svg {
  width: 206px;
  height: 41px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.header_logo svg path {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.header_contact {
  padding: 12px 50px;
  border-radius: 100px;
  border: 1px solid #74A9F6;
  background-color: #2861C8;
  color: #fff;
  font-family: "noto sans TC";
  margin: 0 10px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.header_contact-phone img {
  width: 17px;
  display: none;
}

.header_contact:hover {
  background-color: transparent;
  color: #2861C8;
  background-color: #fff;
}

.header_menu {
  margin-left: 30px;
  height: 22px;
  width: 34px;
  position: relative;
  cursor: pointer;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.header_menu .bar {
  background-color: #fff;
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-radius: 1px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.header_menu .bar.top-bar {
  top: 0;
}

.header_menu .bar.middle-bar {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.header_menu .bar.bottom-bar {
  bottom: 0;
}

.header_menu.active .bar.top-bar {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}

.header_menu.active .bar.middle-bar {
  opacity: 0;
}

.header_menu.active .bar.bottom-bar {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}

.header_menu:hover {
  opacity: 0.7;
}

.header.scrolldown {
  background-color: rgba(255, 255, 255, 0.9);
  height: 70px;
}

.header.scrolldown .header_logo svg {
  width: 170px;
  height: 34px;
}

.header.scrolldown .header_logo svg path {
  fill: #1E293D;
}

.header.scrolldown .header_contact {
  padding: 8px 50px;
}

.header.scrolldown .header_menu .bar {
  background-color: #1E293D;
}

.header_nav {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 11;
  width: 100%;
  height: 100vh;
  display: none;
}

.header_nav_pic {
  width: 60%;
  height: 100%;
}

.header_nav_close {
  position: absolute;
  width: 25px;
  top: 25px;
  right: 25px;
  cursor: pointer;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.header_nav_close:hover {
  opacity: 0.7;
}

.header_nav_logo {
  width: 127px;
  position: absolute;
  left: 70px;
  bottom: 45px;
  opacity: 0.3;
}

.header_nav_main {
  width: 40%;
  height: 100%;
  padding: 124px 70px;
  background-color: #1E293D;
  position: relative;
}

.header_nav.active {
  right: 0;
}

@media screen and (max-width: 1199px) {
  .header_nav_main {
    padding: 80px 50px;
  }
  .header_nav_logo {
    left: 50px;
  }
}

@media screen and (max-width: 991px) {
  .header .container {
    max-width: inherit;
  }
  .header_nav_main {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .header.scrolldown .header_contact {
    padding: 0 10px;
  }
  .header_contact {
    height: 40px;
    padding: 0 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 5px;
  }
  .header_contact-phone {
    width: 40px;
    padding: 0;
    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;
  }
  .header_contact-phone img {
    display: block;
  }
  .header_contact-phone span {
    display: none;
  }
  .header_menu {
    margin-left: 10px;
  }
  .header_nav_main {
    padding: 90px 20px 20px;
  }
  .header_nav_logo {
    left: 20px;
    bottom: 37px;
  }
}

@media screen and (max-width: 575px) {
  .header {
    height: 60px;
  }
  .header_menu {
    width: 26px;
    height: 20px;
  }
  .header_logo svg {
    width: 121px;
    height: 24px;
  }
  .header.scrolldown .header_logo svg {
    width: 121px;
    height: 24px;
  }
}

@media screen and (max-width: 350px) {
  .header .container {
    padding-left: 15px;
    padding-right: 15px;
  }
  .header_logo svg {
    width: 100px;
    height: 20px;
  }
  .header_contact {
    font-size: 14px;
  }
  .header.scrolldown .header_logo svg {
    width: 100px;
    height: 20px;
  }
}

.nav_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-bottom: 20px;
}

.nav_item:hover .nav_ch, .nav_item:hover .nav_en {
  color: #8D9CB7;
  opacity: 1;
}

.nav_ch {
  font-size: 30px;
  font-weight: 300;
  display: block;
  width: 120px;
  margin-right: 14px;
  color: #fff;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.nav_en {
  font-size: 22px;
  display: block;
  color: #8D9CB7;
  opacity: 0.9;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

@media screen and (max-width: 767px) {
  .nav_item {
    margin-bottom: 15px;
  }
}

.footer {
  background-color: #1E293D;
  padding: 125px 0 52px;
}

.footer_inner {
  max-width: 1340px;
  padding-left: 20px;
  padding-right: 20px;
  margin: 0 auto;
}

.footer_logo {
  width: 182px;
  margin-bottom: 50px;
}

.footer_name {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 30px;
  color: #fff;
}

.footer_info {
  margin-bottom: 60px;
}

.footer_info li {
  margin-bottom: 13px;
  color: #fff;
  font-family: "roboto";
}

.footer_link a {
  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;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background-color: #fff;
  margin-right: 25px;
  border: 1px solid #fff;
}

.footer_link a svg {
  width: 27px;
  height: 27px;
}

.footer_link a svg path {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.footer_link a:hover {
  background-color: transparent;
}

.footer_link a:hover svg path {
  fill: #fff;
}

.footer_link a:last-child {
  margin-right: 0;
}

.footer_nav > ul {
  margin-left: 110px;
}

.footer_nav > ul:first-child {
  margin-left: 0;
}

.footer_content {
  margin-bottom: 107px;
}

.footer_copyright {
  border-top: 1px solid rgba(141, 156, 183, 0.2);
  padding-top: 23px;
}

.footer_copyright p {
  text-align: right;
  color: rgba(141, 156, 183, 0.9);
  margin: 0;
}

@media screen and (max-width: 991px) {
  .footer {
    padding: 90px 0 52px;
  }
  .footer_left {
    margin-bottom: 106px;
  }
  .footer_content {
    margin-bottom: 156px;
  }
}

@media screen and (max-width: 767px) {
  .footer_nav > ul {
    margin: 0;
  }
}

@media screen and (max-width: 575px) {
  .footer_link a {
    width: 50px;
    height: 50px;
    margin-bottom: 10px;
  }
}

.page-title {
  text-align: center;
  color: #fff;
}

.page-title h1 {
  font-size: 60px;
  font-weight: 300;
  line-height: 1.2;
  margin-bottom: 0;
}

.page-title h2 {
  font-size: 25px;
  margin: 0;
}

@media screen and (max-width: 767px) {
  .page-title h1 {
    font-size: 42px;
  }
  .page-title h2 {
    font-size: 18px;
  }
}

.text-marquee {
  white-space: nowrap;
  display: inline;
  -webkit-animation: 50s loop 0s linear infinite;
          animation: 50s loop 0s linear infinite;
  font-family: "Roboto";
  font-weight: 100;
  font-size: 250px;
  margin: 0;
}

.text-marquee-wrap {
  z-index: -1;
  position: absolute;
  top: -5%;
  left: 0;
  overflow: hidden;
  width: 100%;
}

.getintouch {
  padding: 282px 20px 125px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(40, 124, 222, 0.9)), to(rgba(223, 122, 186, 0.9)));
  background: linear-gradient(to bottom, rgba(40, 124, 222, 0.9) 0%, rgba(223, 122, 186, 0.9) 100%);
  color: #fff;
  position: relative;
  text-align: center;
  overflow: hidden;
  z-index: 0;
}

.getintouch_marquee {
  color: rgba(255, 255, 255, 0.2);
}

.getintouch_text {
  font-size: 30px;
  margin-bottom: 35px;
  font-weight: 100;
}

@media screen and (max-width: 767px) {
  .getintouch {
    padding: 120px 20px 101px;
  }
  .getintouch_marquee {
    font-size: 100px;
  }
  .getintouch_text {
    font-size: 20px;
    margin-bottom: 40px;
  }
}

@-webkit-keyframes loop {
  to {
    -webkit-transform: translateX(-100%);
    transform: translate(-100%);
  }
}

@keyframes loop {
  to {
    -webkit-transform: translateX(-100%);
    transform: translate(-100%);
  }
}

.page-banner {
  padding-top: 15vw;
  padding-bottom: 3vw;
  position: relative;
  z-index: 0;
}

@media screen and (max-width: 767px) {
  .page-banner {
    padding-top: 31vw;
    padding-bottom: 4vw;
  }
}

.page-video {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: -1;
}

.page-inner {
  background-color: #fff;
}

.detail-head {
  padding: 60px 0 80px;
}

.detail-head_page {
  font-size: 20px;
  color: #1E293D;
  margin-bottom: 25px;
}

.detail-head_page span {
  display: block;
  margin-right: 20px;
}

.detail-head_page span.border {
  border-width: 0 0 1px 0 !important;
  border-color: #1E293D !important;
}

.detail-head_title {
  font-size: 45px;
  font-weight: 500;
  color: #1E293D;
  margin-bottom: 10px;
}

.detail-head_text {
  font-size: 18px;
  margin: 0;
  color: #1E293D;
}

.detail-head_link {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  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;
  border: 1px solid #1E293D;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.detail-head_link.project svg {
  width: 16px;
  height: 16px;
}

.detail-head_link.project svg path {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.detail-head_link.fb {
  margin-left: 10px;
  background-color: #1E293D;
}

.detail-head_link.fb svg {
  width: 25px;
  height: 25px;
}

.detail-head_link.fb svg path {
  fill: #fff;
}

.detail-head_link:hover {
  background-color: #2861C8;
  border-color: #2861C8;
}

.detail-head_link:hover svg path {
  fill: #fff;
}

@media screen and (max-width: 767px) {
  .detail-head .container {
    max-width: inherit;
  }
  .detail-head_page {
    font-size: 16px;
    margin-bottom: 30px;
  }
  .detail-head_title {
    font-size: 36px;
  }
  .detail-head_main {
    margin-bottom: 30px;
  }
  .detail-head_text {
    font-size: 16px;
  }
  .detail-head_link {
    width: 40px;
    height: 40px;
  }
}

.detail-link {
  padding: 60px 0 100px;
}

.detail-link_neighbor {
  width: calc((100% - 212px) / 2);
}

.detail-link_neighbor a {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.detail-link_neighbor a svg {
  width: 43px;
  height: 15px;
}

.detail-link_neighbor a svg path {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.detail-link_neighbor a span {
  font-size: 18px;
  color: #1E293D;
  display: block;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.detail-link_neighbor a:hover svg path {
  stroke: #2861C8;
}

.detail-link_neighbor a:hover span {
  color: #2861C8;
}

.detail-link_prev {
  padding-right: 40px;
}

.detail-link_prev a {
  margin-left: auto;
}

.detail-link_prev a span {
  margin-left: 15px;
}

.detail-link_next {
  padding-left: 40px;
}

.detail-link_next a span {
  margin-right: 15px;
}

@media screen and (max-width: 767px) {
  .detail-link_neighbor a span {
    display: none;
  }
  .detail-link_prev {
    padding-right: 15px;
  }
  .detail-link_next {
    padding-left: 15px;
  }
}

@media screen and (max-width: 370px) {
  .detail-link_neighbor {
    width: calc((100% - 160px) / 2);
  }
  .detail-link .btn-common {
    width: 160px;
  }
}

.home-video {
  position: fixed;
  width: 100%;
  height: 100vh;
  z-index: -1;
}

.home-video video {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  top: 0;
  left: 0;
}

.banner-home {
  padding-bottom: 100vh;
}

.banner-home_text {
  position: absolute;
  color: #fff;
  width: 100%;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.banner-home_text h1 {
  font-size: 90px;
  font-weight: 300;
  margin-bottom: 25px;
}

.banner-home_text h2 {
  font-size: 50px;
  font-weight: 500;
  margin: 0;
}

.banner-home_scroll {
  position: absolute;
  color: #fff;
  bottom: 5%;
  left: 0;
  width: 100%;
  cursor: pointer;
}

.banner-home_scroll span {
  opacity: 0.9;
  font-size: 15px;
  margin-right: 20px;
}

.banner-home_scroll img {
  width: 23px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.banner-home_scroll:hover img {
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
}

@media screen and (max-width: 991px) {
  .banner-home_text h1 {
    font-size: 40px;
    margin-bottom: 20px;
  }
  .banner-home_text h2 {
    font-size: 22px;
  }
}

.home_title {
  text-align: center;
  color: #1E293D;
  font-size: 50px;
  font-weight: 700;
  margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
  .home_title {
    font-size: 40px;
  }
}

.home_subtitle {
  text-align: center;
  color: #30416B;
  font-size: 18px;
  margin-bottom: 40px;
  line-height: 1.7;
}

.home_intro {
  padding: 85px 0 66px;
  background-color: rgba(40, 97, 200, 0.8);
  color: #fff;
}

.home_intro_num {
  margin-bottom: 44px;
}

.home_intro_num .about_num_item {
  position: relative;
  width: 100%;
  padding: 0 0 100% 0;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.8);
}

.home_intro_num .about_num_inner {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
}

.home_intro_num .about_num_num {
  color: #2861C8;
  font-size: 70px;
  font-weight: 500;
}

@media screen and (max-width: 1199px) {
  .home_intro .container {
    max-width: inherit;
  }
  .home_intro_num .about_num_num {
    font-size: 36px;
  }
}

@media screen and (max-width: 991px) {
  .home_intro {
    padding: 55px 0 100px;
  }
  .home_intro .container {
    max-width: 720px;
  }
  .home_intro_num {
    max-width: 400px;
  }
}

.home_works {
  padding: 212px 0 110px;
  position: relative;
  overflow: hidden;
  z-index: 0;
  background-color: #fff;
}

.home_works_marquee {
  color: #F1F4F8;
}

@media screen and (max-width: 767px) {
  .home_works {
    padding: 75px 0 100px;
  }
  .home_works_marquee {
    font-size: 100px;
    top: -0.5%;
  }
}

.home_service {
  position: relative;
  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;
  z-index: 0;
}

.home_service .row {
  margin-left: -15px;
  margin-right: -15px;
}

.home_service .row > div {
  padding-left: 15px;
  padding-right: 15px;
}

.home_service_video {
  z-index: -1;
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  top: 0;
  left: 0;
}

.home_service_item {
  padding: 50px;
  border-radius: 60px;
  background-color: rgba(255, 255, 255, 0.95);
  display: block;
  position: relative;
  z-index: 0;
  overflow: hidden;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.home_service_item::after {
  z-index: -1;
  position: absolute;
  content: "";
  width: 98px;
  height: 98px;
  border-radius: 30px;
  background: -webkit-gradient(linear, left top, left bottom, from(#287CDE), to(#DF7ABA));
  background: linear-gradient(to bottom, #287CDE 0%, #DF7ABA 100%);
  top: 50px;
  left: 50px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.home_service_item.active {
  border-radius: 60px 130px 60px 60px;
  -webkit-box-shadow: 0 40px 60px rgba(69, 1, 176, 0.3);
          box-shadow: 0 40px 60px rgba(69, 1, 176, 0.3);
}

.home_service_item.active::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.home_service_item.active .home_service_icon {
  overflow: visible;
  border-radius: 0;
}

.home_service_item.active .home_service_icon img {
  width: 100%;
}

.home_service_item.active .home_service_icon::after {
  opacity: 0;
}

.home_service_item.active .home_service_title {
  color: #fff;
}

.home_service_item.active .home_service_more span {
  color: #fff;
}

.home_service_item.active .home_service_more svg path {
  fill: #fff;
}

.home_service_icon {
  width: 98px;
  height: 98px;
  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;
  position: relative;
  z-index: 0;
  overflow: hidden;
  margin-bottom: 25px;
}

.home_service_icon img {
  width: 60%;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.home_service_title {
  font-size: 28px;
  font-weight: 500;
  color: #1E293D;
  margin-bottom: 25px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.home_service_text {
  font-size: 16px;
  margin-bottom: 25px;
  color: #fff;
  display: none;
}

.home_service_text.active {
  display: block;
}

.home_service_more span {
  color: #1E293D;
  font-size: 16px;
  margin-right: 10px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.home_service_more svg {
  width: 15px;
  height: 15px;
}

.home_service_more svg path {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.home_service_content {
  position: relative;
  padding-bottom: 125px;
  padding-top: 100px;
  min-height: 842px;
}

.home_service_link {
  width: 156px;
  height: 156px;
  border-radius: 50%;
  background-color: #fff;
  padding: 15px;
  position: absolute;
  right: 0;
  bottom: 0;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}

.home_service_link_inner {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  -webkit-box-shadow: 0 3px 15px rgba(0, 0, 0, 0.1);
          box-shadow: 0 3px 15px rgba(0, 0, 0, 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.home_service_link_inner span {
  display: block;
  text-align: center;
  color: #1E293D;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.home_service_link_inner::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(#287CDE), to(#DF7ABA));
  background: linear-gradient(to bottom, #287CDE 0%, #DF7ABA 100%);
  z-index: -1;
  opacity: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.home_service_link_inner:hover::after {
  opacity: 1;
}

.home_service_link_inner:hover span {
  color: #fff;
}

.home_service_link_inner:hover .home_service_link_arrow img.hover {
  opacity: 1;
}

.home_service_link_inner:hover .home_service_link_arrow img.normal {
  opacity: 0;
}

.home_service_link_arrow {
  width: 17px;
  height: 17px;
  margin: 0 auto 9px;
  position: relative;
}

.home_service_link_arrow img {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  top: 0;
  left: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.home_service_link_arrow img.hover {
  opacity: 0;
}

.home_service_link::before {
  position: absolute;
  content: "";
  width: 18px;
  height: 18px;
  background-image: url(../images/fillet_left.svg);
  background-size: contain;
  background-position: center;
  top: 39%;
  right: 99%;
}

.home_service_link::after {
  position: absolute;
  content: "";
  width: 18px;
  height: 18px;
  background-image: url(../images/fillet_right.svg);
  background-size: contain;
  background-position: center;
  top: 39%;
  left: 99%;
}

@media screen and (max-width: 1199px) {
  .home_service_item {
    margin-bottom: 25px;
  }
}

@media screen and (max-width: 991px) {
  .home_service .container {
    max-width: inherit;
  }
  .home_service_item {
    padding: 40px;
  }
  .home_service_item::after {
    top: 40px;
    left: 40px;
  }
}

@media screen and (max-width: 767px) {
  .home_service_content {
    padding-top: 90px;
    padding-bottom: 128px;
  }
  .home_service_item::after {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .home_service_icon {
    margin-left: auto;
    margin-right: auto;
  }
  .home_service_title {
    text-align: center;
  }
  .home_service_more {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .home_service_link {
    right: 50%;
    -webkit-transform: translate(50%, 50%);
            transform: translate(50%, 50%);
  }
}

.home_company {
  padding: 114px 20px 110px;
  background-color: #fff;
}

.home_company_logo-wrap {
  overflow: hidden;
}

.home_company_logo_item {
  position: relative;
  width: 117px;
  height: 110px;
  margin-right: 30px;
  margin-bottom: 30px;
}

.home_company_logo_item > img {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  top: 0;
  left: 0;
}

.home_company_logo_item:last-child {
  margin-right: 0;
}

.home_company_scroll {
  margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
  .home_company {
    padding: 184px 20px 100px;
  }
}

.home_plan {
  padding: 100px 0 110px;
  position: relative;
  z-index: 0;
  background: -webkit-gradient(linear, left top, right top, from(#EFF4FF), to(#FCF6FF));
  background: linear-gradient(to right, #EFF4FF 0%, #FCF6FF 100%);
  overflow: hidden;
}

.home_plan .home_title {
  margin-bottom: 40px;
}

.home_plan .row {
  margin-left: -46px;
  margin-right: -46px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.home_plan .row > div {
  padding-left: 46px;
  padding-right: 46px;
}

.home_plan_pic img {
  width: 100%;
}

.home_plan_title {
  color: #040404;
  font-size: 35px;
  font-weight: 500;
  margin-bottom: 10px;
}

.home_plan_title .highlight {
  color: #2861C8;
  font-size: 45px;
}

.home_plan_text {
  font-size: 18px;
  color: #040404;
  margin-bottom: 32px;
}

.home_plan_flow {
  position: relative;
  z-index: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 40px;
}

.home_plan_flow::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 2px;
  background-color: #8CA7FB;
  top: 49px;
  left: 0;
  z-index: -1;
}

.home_plan_flow_item {
  margin-right: 10px;
}

.home_plan_flow_item:last-child {
  margin-right: 0;
}

.home_plan_flow_circle {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 2px solid #8CA7FB;
  background-color: #F9F5FF;
  -webkit-box-shadow: 0 3px 6px rgba(140, 167, 251, 0.3);
          box-shadow: 0 3px 6px rgba(140, 167, 251, 0.3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
      align-content: center;
  -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-bottom: 10px;
}

.home_plan_flow_num {
  color: #8CA7FB;
  font-size: 27px;
  font-weight: 700;
  margin-bottom: 0;
  line-height: 1;
}

.home_plan_flow_icon {
  width: 35px;
}

.home_plan_flow_title {
  text-align: center;
  font-size: 16px;
  font-weight: normal;
  margin: 0;
  color: #040404;
}

.home_plan_row {
  margin-bottom: 54px;
}

@media screen and (max-width: 1399px) {
  .home_plan_flow {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .home_plan_flow::after {
    display: none;
  }
  .home_plan_flow_item {
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 991px) {
  .home_plan .row {
    margin-left: 0;
    margin-right: 0;
  }
  .home_plan .row > div {
    padding-left: 0;
    padding-right: 0;
  }
  .home_plan_pic {
    margin-bottom: 20px;
  }
  .home_plan_title {
    text-align: center;
  }
  .home_plan_text {
    text-align: center;
  }
  .home_plan_flow {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 auto 40px;
  }
  .home_plan_flow::after {
    display: block;
  }
  .home_plan_row {
    margin-bottom: 80px;
  }
}

@media screen and (max-width: 767px) {
  .home_plan .container {
    max-width: inherit;
  }
}

@media screen and (max-width: 767px) {
  .home_plan_flow::after {
    display: none;
  }
}

.home_contact {
  padding: 100px 0 110px;
  background: -webkit-gradient(linear, left top, right top, from(#EFCFFE), to(#B1C6FE));
  background: linear-gradient(to right, #EFCFFE 0%, #B1C6FE 100%);
}

.scroll_div {
  width: 100%;
  height: 250px;
  overflow: hidden;
  white-space: nowrap;
}

.scroll_div #scroll_begin {
  display: inline-block;
}

.scroll_div #scroll_begin ul {
  display: inline-block;
}

.scroll_div #scroll_begin ul li {
  display: inline-block;
}

.scroll_div #scroll_end {
  display: inline-block;
}

.scroll_div #scroll_end ul {
  display: inline-block;
}

.scroll_div #scroll_end ul li {
  display: inline-block;
}

.works_tab {
  border: 0;
  margin-bottom: 50px;
}

.works_tab .nav-link {
  color: #30416B;
  padding: 8px 30px;
  border-radius: 100px;
  border: 1px solid #30416B;
  margin: 0 5px;
}

.works_tab .nav-link.active {
  background-color: #2861C8;
  border: 1px solid #2861C8;
  color: #fff;
}

.works_tab .nav-link.active:hover {
  color: #fff;
}

.works_tab .nav-link:hover {
  border-color: #2861C8;
  color: #2861C8;
}

.works_tabcontent .row {
  margin-left: -15px;
  margin-right: -15px;
}

.works_tabcontent .row > div {
  padding-left: 15px;
  padding-right: 15px;
}

.works_item {
  margin-bottom: 60px;
  display: block;
}

.works_item_pic {
  padding-bottom: 61%;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 20px;
}

.works_item_pic > img {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.works_item_title {
  color: #1E293D;
  font-size: 18px;
  font-weight: normal;
  margin-bottom: 10px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.works_item_category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.works_item_category li {
  color: #8D9CB7;
  font-size: 13px;
  font-weight: 300;
  margin-right: 10px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.works_item:hover .works_item_pic {
  -webkit-box-shadow: 0 2px 20px rgba(0, 0, 0, 0.15);
          box-shadow: 0 2px 20px rgba(0, 0, 0, 0.15);
}

.works_item:hover .works_item_pic > img {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

.works_item:hover .works_item_title {
  color: #2861C8;
}

.works_item:hover .works_item_category li {
  color: #2861C8;
}

@media screen and (max-width: 991px) {
  .works .container {
    max-width: inherit;
  }
  .works_tab {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .works_tab .nav-link {
    white-space: nowrap;
  }
  .works_tab-wrap {
    overflow-x: auto;
  }
  .works_tab-wrap::-webkit-scrollbar {
    opacity: 0;
  }
  .works_item {
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 767px) {
  .works .container {
    padding: 0;
  }
  .works_tab {
    padding-left: 20px;
  }
  .works_tabcontent .row {
    padding-left: 20px;
    padding-right: 20px;
    margin: 0;
  }
  .works_tabcontent .row > div {
    padding: 0;
  }
}

.portfolio_content {
  padding-top: 60px;
  padding-bottom: 100px;
}

.portfolio_detail > img {
  width: 100%;
}

.contact {
  padding-top: 160px;
  padding-bottom: 200px;
}

.contact_text {
  width: 25%;
}

.contact_text .home_title {
  margin: 0 0 10px;
  text-align: left;
}

.contact_text p {
  color: #1E293D;
  opacity: 0.8;
  line-height: 1.8;
}

.contact_highlight {
  font-size: 15px !important;
  color: #FF001A !important;
}

.contact_form {
  width: 75%;
}

.contact_form .row {
  margin-left: -15px;
  margin-right: -15px;
}

.contact_form .row > div {
  padding-left: 15px;
  padding-right: 15px;
}

.contact_form_item {
  margin-bottom: 25px;
}

.contact_form_item > label {
  font-size: 18px;
  color: #1E293D;
  opacity: 0.9;
  display: block;
  margin-bottom: 5px;
}

.contact_form_item > label .small {
  font-size: 15px;
}

.contact_form_item > label .contact_highlight {
  margin-left: 5px;
}

.contact_form_input, .contact_form_select {
  width: 100%;
  border-radius: 5px;
  height: 50px;
  background-color: #fff;
  padding: 5px 20px;
  color: #1E293D;
  opacity: 0.9;
}

.contact_form_select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url(../images/arrow_triangle_down.svg);
  background-size: 13px;
  background-position: calc(100% - 19px) center;
  background-repeat: no-repeat;
}

.contact_form_checkbox {
  width: 24px;
  height: 32px;
  margin-right: 5px;
  position: relative;
  border-radius: 50%;
  margin-left: 4px;
  margin-right: 9px;
}

.contact_form_checkbox::before {
  position: absolute;
  content: "";
  top: 0;
  left: -4px;
  width: 32px;
  height: 32px;
  background-color: #fff;
  border-radius: 5px;
  border: 1px solid #8CA7FB;
}

.contact_form_checkbox::after {
  position: absolute;
  content: "";
  width: 60%;
  height: 60%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  opacity: 0;
  background-image: url(../images/check.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.contact_form_checkbox:checked::before {
  background-color: #2861C8;
  border-color: #2861C8;
}

.contact_form_checkbox:checked::after {
  opacity: 1;
}

.contact_form_checkbox-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 25px;
}

.contact_form_checkbox-wrap:last-child {
  margin-right: 0;
}

.contact_form_vertify {
  width: 220px;
  height: 50px;
  background-color: #fff;
  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;
  border-radius: 5px;
  margin-right: 10px;
}

.contact_form_vertify > img {
  height: 80%;
}

.contact_form_renew {
  width: 50px;
  height: 50px;
  border-radius: 5px;
  border: 2px solid #fff;
  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;
  cursor: pointer;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.contact_form_renew svg {
  width: 22px;
  height: 22px;
}

.contact_form_renew svg path {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.contact_form_renew:hover {
  background-color: #1E293D;
  border-color: #1E293D;
}

.contact_form_renew:hover svg path {
  fill: #fff;
}

.contact_form .btn-common {
  margin-top: 25px;
}

.contact .page-title {
  text-align: left;
  margin-bottom: 27px;
  color: #1E293D;
  opacity: 0.9;
}

.contact_info {
  width: 75%;
  margin-left: auto;
  margin-bottom: 135px;
  background-color: #30416B;
  border-radius: 20px;
  padding: 35px 75px;
}

.contact_info_icon {
  width: 84px;
  margin-right: 48px;
}

.contact_info_icon > img {
  width: 100%;
}

.contact_info_phone {
  font-size: 30px;
  color: #fff;
  margin: 0;
  white-space: nowrap;
  margin-right: 78px;
}

.contact_info_time {
  color: #8D9CB7;
  opacity: 0.9;
  font-size: 18px;
  margin: 0;
}

.contact_info_time .small {
  font-size: 15px;
}

@media screen and (max-width: 1199px) {
  .contact_text {
    margin-bottom: 50px;
  }
  .contact_text, .contact_form {
    width: 100%;
  }
  .contact_info {
    width: 100%;
  }
}

@media screen and (max-width: 991px) {
  .contact {
    padding-top: 112px;
    padding-bottom: 100px;
  }
  .contact .container {
    max-width: inherit;
  }
  .contact_text {
    text-align: center;
  }
  .contact_text .home_title {
    text-align: center;
  }
  .contact .page-title {
    text-align: center;
    margin-bottom: 35px;
  }
  .contact_info {
    padding: 35px 20px;
    text-align: center;
    margin-bottom: 52px;
  }
  .contact_info_icon {
    margin: 0 auto 38px;
  }
  .contact_info_phone {
    margin: 0 0 30px;
  }
}

@media screen and (max-width: 767px) {
  .contact_form_checkbox-wrap {
    margin-bottom: 10px;
  }
  .contact_form_vertify {
    width: 100%;
  }
}

.about {
  z-index: 0;
}

.about_video {
  padding-bottom: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

.about_banner {
  padding-top: 15vw;
  padding-bottom: 10.7vw;
}

.about_content {
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 10px;
  padding: 100px 132px;
  max-width: 1594px;
  width: calc(100% - 40px);
  margin-bottom: 150px;
}

.about_text {
  margin-bottom: 54px;
  font-size: 18px;
  line-height: 1.9;
  letter-spacing: 0.05em;
  font-weight: 400;
  text-align: center;
}

.about_num {
  margin-bottom: 100px;
}

.about_num .row {
  margin-left: -15px;
  margin-right: -15px;
}

.about_num .row > div {
  padding-left: 15px;
  padding-right: 15px;
}

.about_num_item {
  padding: 62px 10px 45px;
  border-radius: 100px 10px 100px 50px;
  border: 1px solid rgba(141, 156, 183, 0.3);
}

.about_num_inner {
  text-align: center;
}

.about_num_num {
  color: #1E293D;
  font-size: 75px;
  font-weight: 700;
  margin: 0;
  line-height: 1;
}

.about_num_text {
  color: #1E293D;
  font-size: 20px;
  margin-bottom: 10px;
}

.about_num_title {
  color: #1E293D;
  font-size: 25px;
  font-weight: 700;
  margin: 0;
}

.about_intro .row {
  margin-left: -15px;
  margin-right: -15px;
  margin-bottom: 100px;
}

.about_intro .row > div {
  padding-left: 15px;
  padding-right: 15px;
}

.about_intro_text {
  width: 100%;
  padding-bottom: 70%;
  position: relative;
}

.about_intro_text_inner {
  position: absolute;
  width: 100%;
  height: 100%;
  padding: 70px;
  border-radius: 20px;
  background-color: rgba(141, 156, 183, 0.08);
  border-radius: 20px;
}

.about_intro_text_inner h3 {
  font-size: 45px;
  font-weight: 300;
  color: #1E293D;
  margin-bottom: 30px;
}

.about_intro_text_inner p {
  font-size: 20px;
  margin: 0;
  color: #1E293D;
  line-height: 1.7;
}

.about_intro_pic {
  width: 100%;
  padding-bottom: 70%;
  position: relative;
  border-radius: 20px;
}

.about_intro_pic > img {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}

.about_intro_pic.bg-purple {
  background-color: rgba(140, 167, 251, 0.3);
}

.about_intro_pic.bg-blue {
  background-color: rgba(143, 226, 220, 0.3);
}

.about_partner {
  position: relative;
  width: 100%;
  padding-bottom: 26%;
  background-image: url(../images/about_pic_3.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.about_partner_text {
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 22%;
  color: #fff;
}

.about_partner_text h3 {
  font-size: 50px;
  font-weight: 700;
  color: #1E293D;
  margin-bottom: 10px;
}

.about_partner_text p {
  font-size: 18px;
  color: #1E293D;
  margin: 0;
}

.about_company {
  padding: 75px 0 100px;
  background-color: #fff;
}

.about_company_item {
  width: 10%;
  padding: 0 20px;
  margin-bottom: 40px;
}

.about_company_item a {
  display: block;
  padding-bottom: 94%;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.about_company_item a:not(.nolink):hover {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

@media screen and (max-width: 1600px) {
  .about_content {
    padding: 100px 60px;
  }
}

@media screen and (max-width: 1250px) {
  .about_intro_text_inner {
    padding: 50px;
  }
  .about_intro_text_inner h3 {
    font-size: 35px;
  }
  .about_intro_text_inner p {
    font-size: 18px;
  }
}

@media screen and (max-width: 1199px) {
  .about_num {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }
  .about_num_item {
    margin-bottom: 20px;
  }
  .about_num_num {
    font-size: 36px;
  }
  .about_num_text {
    font-size: 15px;
    margin-bottom: 0;
  }
  .about_num_title {
    font-size: 18px;
  }
}

@media screen and (max-width: 991px) {
  .about_text {
    margin-bottom: 50px;
  }
  .about_text br {
    display: none;
  }
  .about_num {
    margin: 0 auto 44px;
  }
  .about_num .row {
    margin-left: -5px;
    margin-right: -5px;
  }
  .about_num .row > div {
    padding-left: 5px;
    padding-right: 5px;
  }
  .about_num_item {
    margin-bottom: 10px;
  }
  .about_content {
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 50px;
    margin-bottom: 100px;
  }
  .about_intro .row {
    margin-bottom: 50px;
  }
  .about_intro_pic {
    margin-bottom: 30px;
  }
  .about_intro_text {
    padding-bottom: 0;
  }
  .about_intro_text_inner {
    padding: 30px;
    position: static;
    text-align: center;
  }
  .about_intro_text_inner p br {
    display: none;
  }
  .about_company_item {
    width: calc(100% / 6);
  }
}

@media screen and (max-width: 767px) {
  .about_banner {
    padding-top: 30vw;
    padding-bottom: 16.5vw;
  }
  .about_num {
    max-width: 300px;
  }
  .about_num_item {
    margin-bottom: 20px;
  }
  .about_partner {
    padding-bottom: 122%;
    background-image: url(../images/about_pic_3_m.png);
  }
  .about_partner_text {
    text-align: center;
    top: 19%;
  }
  .about_company_item {
    width: calc(100% / 4);
  }
}

@media screen and (max-width: 575px) {
  .about_company_item {
    width: calc(100% / 3);
    padding: 0 10px;
    margin-bottom: 15px;
  }
}

.service {
  background-color: #F1F4F8;
}

.service_nav {
  padding: 60px 0 80px;
}

.service_nav_text {
  text-align: center;
  color: #1E293D;
  margin-bottom: 108px;
}

.service_nav .container {
  max-width: 1600px;
}

.service_nav .row {
  margin-left: -15px;
  margin-right: -15px;
}

.service_nav .row > div {
  padding-left: 15px;
  padding-right: 15px;
}

.service_nav_item {
  border-radius: 20px;
  padding: 65px 15px 41px;
  border: 1px solid #8CA7FB;
  position: relative;
  cursor: pointer;
}

.service_nav_item:hover .service_nav_arrow {
  background-color: #8CA7FB;
}

.service_nav_item:hover .service_nav_arrow svg path {
  fill: #fff;
}

.service_nav_icon {
  width: 98px;
  height: 98px;
  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;
  background: -webkit-gradient(linear, left top, left bottom, from(#287CDE), to(#DF7ABA));
  background: linear-gradient(to bottom, #287CDE 0%, #DF7ABA 100%);
  border-radius: 30px;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.service_nav_icon > img {
  width: 63%;
}

.service_nav_title {
  text-align: center;
  font-size: 25px;
  margin: 0;
}

.service_nav_arrow {
  width: 54px;
  height: 54px;
  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;
  border: 1px solid #8CA7FB;
  background-color: #F1F4F8;
  position: absolute;
  border-radius: 50%;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 50%);
          transform: translate(-50%, 50%);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.service_nav_arrow svg {
  width: 16px;
  height: 16px;
}

.service_nav_arrow svg path {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.service_nav_active {
  width: 100%;
  height: 50px;
  background-color: #fff;
  border-radius: 5px;
  padding: 0 20px;
}

.service_nav_active img {
  width: 13px;
}

.service_nav_active span {
  display: block;
  width: calc(100% - 13px);
  padding-right: 20px;
}

.service_nav_active.active {
  border-radius: 5px 5px 0 0;
}

.service_content {
  padding-bottom: 200px;
}

.service_content .container {
  max-width: 1600px;
}

.service_content .row {
  margin-left: -15px;
  margin-right: -15px;
  margin-bottom: 130px;
}

.service_content .row > div {
  padding-left: 15px;
  padding-right: 15px;
  margin-bottom: 30px;
}

.service_content .row:last-child {
  margin-bottom: 0;
}

.service_content_item {
  padding: 25px;
  background-color: rgba(141, 156, 183, 0.08);
  border-radius: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}

.service_content_icon {
  width: 86px;
  height: 86px;
  background-color: #fff;
  border-radius: 50%;
  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;
}

.service_content_icon img {
  width: 100%;
}

.service_content_text {
  width: calc(100% - 86px);
  padding-left: 20px;
}

.service_content_text h3 {
  font-size: 24px;
  font-weight: 500;
  color: #1E293D;
  margin-bottom: 10px;
}

.service_content_text p {
  color: #1E293D;
  font-size: 16px;
  margin: 0;
}

@media screen and (max-width: 991px) {
  .service_nav {
    padding: 40px 0 50px;
  }
  .service_nav_text {
    margin-bottom: 40px;
  }
  .service_nav_list {
    background-color: #fff;
    padding: 15px 20px;
    border-radius: 0 0 5px 5px;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 10;
    display: none;
  }
  .service_nav_item {
    padding: 5px 0;
    border: 0;
    border-radius: 0;
    margin: 3px 0;
  }
  .service_nav_item.active .service_nav_title {
    color: #2861C8;
  }
  .service_nav_icon {
    display: none;
  }
  .service_nav_arrow {
    display: none;
  }
  .service_nav_title {
    font-size: 16px;
    font-weight: normal;
    text-align: left;
    color: #8D9CB7;
  }
  .service_nav_select {
    position: relative;
  }
}

@media screen and (max-width: 767px) {
  .service_content .home_service_item::after {
    -webkit-transform: none;
            transform: none;
  }
  .service_content .home_service_title {
    text-align: left;
  }
  .service_content .home_service_icon {
    margin-left: 0;
  }
}

.plan {
  padding: 100px 0;
}

.plan .container {
  max-width: 1330px;
}

.plan_head {
  padding: 0 50px;
  margin-bottom: 115px;
}

.plan_head_title {
  width: 300px;
  font-size: 50px;
  font-weight: 100;
  margin: 0;
}

.plan_head_text {
  width: calc(100% - 300px);
  padding-left: 65px;
  font-size: 18px;
  margin: 0;
  line-height: 1.8;
  color: #1E293D;
}

.plan_content .row {
  margin-left: -15px;
  margin-right: -15px;
  margin-bottom: 100px;
}

.plan_content .row > div {
  padding-left: 15px;
  padding-right: 15px;
}

.plan_content .row:nth-child(odd) .plan_content_pic-wrap {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.plan_content .row:nth-child(odd) .plan_content_text-wrap {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.plan_content_item {
  border-radius: 20px;
  overflow: hidden;
  height: 100%;
}

.plan_content_pic {
  padding-bottom: 63%;
}

.plan_content_text {
  background-color: rgba(141, 156, 183, 0.08);
  padding: 70px;
  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;
}

.plan_content_step {
  font-size: 20px;
  color: #1E293D;
  font-weight: 700;
  margin-bottom: 15px;
  line-height: 1;
}

.plan_content_step .highlight {
  font-size: 50px;
  margin-left: 10px;
}

.plan_content_title {
  font-size: 45px;
  color: #1E293D;
  font-weight: 300;
  margin-bottom: 30px;
  line-height: 1;
}

.plan_content_intro {
  font-size: 20px;
  color: #1E293D;
  margin: 0;
  line-height: 1.8;
}

@media screen and (max-width: 1199px) {
  .plan_content_text {
    padding: 30px;
  }
}

@media screen and (max-width: 991px) {
  .plan {
    padding: 46px 0 100px;
  }
  .plan_head_title {
    width: 100%;
    text-align: center;
    font-size: 45px;
    margin-bottom: 20px;
  }
  .plan_head_text {
    width: 100%;
    text-align: center;
    margin-bottom: 70px;
    padding: 0;
  }
  .plan_content .row {
    margin-bottom: 40px;
  }
  .plan_content .row:nth-child(odd) .plan_content_pic-wrap {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .plan_content .row:nth-child(odd) .plan_content_text-wrap {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .plan_content_pic-wrap {
    margin-bottom: 10px;
  }
  .plan_content_title {
    font-size: 30px;
  }
  .plan_content_intro {
    font-size: 18px;
  }
  .plan_content_text {
    padding: 30px 20px;
  }
}

@media screen and (max-width: 575px) {
  .plan_content_intro br {
    display: none;
  }
}

.article {
  padding: 118px 0 142px;
}

.article_pic {
  padding-bottom: 61%;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 20px;
}

.article_pic > img {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.article_title {
  font-size: 26px;
  color: #1E293D;
  margin-bottom: 15px;
  font-weight: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.article_text {
  font-size: 18px;
  font-weight: 300;
  margin: 0;
  color: #838BA1;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.article_item {
  margin-bottom: 61px;
  display: block;
}

.article_item:hover .article_pic > img {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

.article_item:hover .article_title {
  color: #2861C8;
}

.article_item:hover .article_text {
  color: #2861C8;
}

.article_detail_pic {
  margin-bottom: 60px;
}

.article_detail_catalogue {
  padding-bottom: 35px;
  border-bottom: 1px solid #EFEEEA;
}

.article_detail_catalogue li {
  margin-bottom: 10px;
  padding-left: 20px;
  position: relative;
  color: #212121;
  font-size: 20px;
}

.article_detail_catalogue li::before {
  position: absolute;
  content: "。";
  color: #212121;
  font-size: 20px;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.article_detail_content {
  font-size: 18px;
  padding-top: 35px;
  color: #212121;
  line-height: 1.8;
}
/*# sourceMappingURL=style.css.map */