@charset "UTF-8";
body {
  margin: 0;
  font-family: "Montserrat";
  overflow: hidden;
  background-color: #2a2a2a;
}

section {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row;
  color: #fff;
  position: relative;
}

@-webkit-keyframes scroll {
  from {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }
  to {
    -webkit-transform: translate3d(-50%, 10px, 0);
    transform: translate3d(-50%, 10px, 0);
    opacity: 0;
  }
}

@keyframes scroll {
  from {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }
  to {
    -webkit-transform: translate3d(-50%, 10px, 0);
    transform: translate3d(-50%, 10px, 0);
    opacity: 0;
  }
}

#wx_browser {
  width: 100vw;
}
#no_wx_browser {
  width: 100vw;
  height: var(--app-height);
  overflow: hidden;
}
nav {
  height: var(--app-height);
  position: fixed;
  top: 0;
  z-index: 100;
  right: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

nav ul li a span {
  background: #fff;
}

nav li {
  display: block;
  width: 10px;
  height: 10px;
  margin: 16px;
  position: relative;
}

nav span:after {
  background: rgba(255, 255, 255, 0.15);
  position: absolute;
  content: "";
  display: block;
  top: 4px;
  left: 4px;
  right: 4px;
  bottom: 4px;
  border-radius: 100%;
  transition: 0.3s;
}

nav li .active span {
  background: #fff;
  position: absolute;
}

nav li .active span:after {
  top: -6px;
  left: -6px;
  bottom: -6px;
  right: -6px;
}

nav ul {
  margin: 0;
  padding: 0;
}

nav ul li {
  display: block;
  width: 14px;
  height: 13px;
  margin: 7px;
  position: relative;
}

nav ul li a {
  display: block;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  cursor: pointer;
  text-decoration: none;
}

nav ul li a.active span,
nav ul li:hover a.active span {
  height: 12px;
  width: 12px;
  margin: -6px 0 0 -6px;
  border-radius: 100%;
}

nav ul li a span {
  border-radius: 50%;
  position: absolute;
  z-index: 1;
  height: 4px;
  width: 4px;
  border: 0;
  background: #fff;
  left: 50%;
  top: 50%;
  margin: -2px 0 0 -2px;
  transition: all 0.1s ease-in-out;
}

nav ul li:hover a span {
  width: 10px;
  height: 10px;
  margin: -5px 0px 0px -5px;
}

.pg-vertical {
  overflow: hidden !important;
}

.pa-page {
  position: relative;
}

.bg {
  width: 100vw;
  height: var(--app-height);
  background-size: 100% 100%;
  background-position: 0;
  background-repeat: no-repeat;
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
}

.none {
  display: none !important;
}

.down_box {
  display: flex;
  align-items: center;
  justify-content: space-around;
  width: 100%;
}

.bg_box {
  position: fixed;
  width: 100vw;
  height: var(--app-height);
  top: 0;
  left: 0;
  z-index: 100;
}

@media screen and (min-width: 1920px) {
  .role {
    right: 15vw !important;
  }
  .title_box {
    left: 15vw !important;
  }
  .pc_fixed_top {
    left: 10vw !important;
  }
}

@media screen and (min-width: 768px) {
  .role {
    position: absolute;
    bottom: 0;
    right: 5vw;
    width: 800px;
    z-index: 2;
  }
  .title_box {
    position: absolute;
    left: 5vw;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
  .title_image {
    width: 600px;
  }

  .sub_title_image {
    width: 400px;
    margin-top: 4vw;
  }
  #page-1 .bg,
  #page-1-clone .bg {
    background-image: url(../image/max/bg1.webp?v=1.0.1);
    background-size: cover;
  }

  #page-2 .bg,
  #page-2-clone .bg {
    background-image: url(../image/max/bg1.webp?v=1.0.1);
    background-size: cover;
  }

  #page-3 .bg,
  #page-3-clone .bg {
    background-image: url(../image/max/bg1.webp?v=1.0.1);
    background-size: cover;
  }

  .pc_fixed_top {
    position: fixed;
    left: 2vw;
    top: 0;
    width: 90vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 9;
    padding: 2vw 1vw;
  }
  .pc_logo {
    width: 250px;
  }
}

@media screen and (max-width: 768px) {
  .page_line {
    position: absolute;
    top: 10vh;
    left: 6vw;
    z-index: 2;
    height: 85vh;
  }
  .mobile_line {
    position: fixed;
    top: 10vh;
    right: 6vw;
    z-index: 2;
    height: 35vh;
  }
  .role {
    position: fixed;
    top: 42vw;
    left: 0;
    width: 100vw;
    z-index: 2;
  }
  .title_box {
    position: fixed;
    top: 18vw;
    right: 0;
    z-index: 4;
    width: 100vw;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
  .title_image {
    width: 70vw;
  }

  .down_box {
    position: fixed;
    bottom: 5vw;
  }
  .sub_title_image {
    width: 55vw;
    /* position: fixed;
    left: 50%;
    bottom: 5vw;
    transform: translateX(-50%); */
  }
  .title_box picture {
    display: flex;
  }
  .mobile_fixed_bottom {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: fixed;
    left: 0;
    right: 0;
    width: 100vw;
    z-index: 10;
    bottom: 1vh;
  }

  .down {
    width: 24vw;
    margin-right: 10vw;
  }

  #page-1 .bg,
  #page-1-clone .bg {
    background-image: url(../image/min/bg1.webp?v=1.0.1);
  }

  #page-2 .bg,
  #page-2-clone .bg {
    background-image: url(../image/min/bg1.webp?v=1.0.1);
  }

  #page-3 .bg,
  #page-3-clone .bg {
    background-image: url(../image/min/bg1.webp?v=1.0.1);
  }

  .mobile_fixed_top {
    width: 90vw;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    display: flex;
    justify-content: space-between;
    padding-left: 16px;
    padding-top: 16px;
  }
  .mobile_logo {
    width: 30vw;
  }
  .tg_box {
    display: flex;
    align-items: center;
  }
  .tg_item {
    display: flex;
    align-items: center;
    margin-left: 2vw;
  }
  .mobile_tg {
    width: 24.6vw;
    margin-right: 1vw;
  }
}
