@import '../css/reset.css';
.scrollHint, .moreBtn .line::before, .moreBtn .line, .moreBtn::before, .moreBtn::after, .moreBtn, .arrowsBox .arrow, .dotsBox .slick-dots li button::before, .dotsBox .slick-dots li button, .blogArea .blogItem .item, .textEditor ul li strong, .pageTabArea .tabItem a::before, .btnBox .btn.colorMain::before, .btnBox .btn.bgSecond::before, .btnBox .btn.bgMain::before, .btnBox .btn, button, a {
  transition: all 0.5s ease-in-out;
}

@keyframes ping {
  0% {
    transform: scale(1);
    opacity: 0.6;
  }
  100% {
    transform: scale(1.8);
    opacity: 0;
  }
}
@keyframes ping_small {
  0% {
    transform: scale(1);
    opacity: 0.6;
  }
  100% {
    transform: scale(1.5);
    opacity: 0;
  }
}
@keyframes runDashLine {
  from {
    stroke-dashoffset: 200;
  }
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes rotateCenter {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes logoSettle {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes drawStroke {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes fillColour {
  to {
    fill-opacity: 1;
  }
}
@keyframes svgGlintAnim {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}
@keyframes logoGlowFade {
  0% {
    filter: brightness(1) drop-shadow(0 0 0px #fff);
    opacity: 1;
    transform: scale(1);
  }
  35% {
    filter: brightness(2.5) drop-shadow(0 0 25px rgba(255, 255, 255, 0.8));
    opacity: 1;
    transform: scale(1.02);
  }
  100% {
    filter: brightness(15) drop-shadow(0 0 80px #fff) blur(8px);
    opacity: 0;
    transform: scale(1.1);
  }
}
@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes glide {
  from {
    transform: translateX(-80px);
  }
  to {
    transform: translateX(260px);
  }
}
* {
  box-sizing: border-box;
}

body {
  font-family: "Roboto", "Noto Sans TC", "Microsoft JhengHei", sans-serif;
  color: #262626;
  background-color: #fff;
  font-size: 16px;
}
@media (max-width: 768px) {
  body {
    font-size: 14px;
  }
}

address {
  font-style: normal;
}

a {
  color: #262626;
  text-decoration: none;
  cursor: pointer;
}
@media (min-width: 1181px) {
  a:hover {
    color: #1268FF;
  }
}

input[type=text],
input[type=password],
textarea,
button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  border: none;
  border-radius: 0;
  font-size: 16px;
  font-family: "Noto Sans TC", "Microsoft JhengHei", sans-serif;
  outline: none;
  padding: 0;
  margin: 0;
}

button {
  cursor: pointer;
}

select {
  cursor: pointer;
}

textarea {
  resize: vertical;
}

input[type=file],
input[type=file]::-webkit-file-upload-button {
  /* chromes and blink button */
  cursor: pointer;
}

.wrap {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  padding-left: 50px;
  padding-right: 50px;
}
@media (max-width: 1180px) {
  .wrap {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (max-width: 768px) {
  .wrap {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.Img img {
  height: auto;
}

.btnBox {
  display: flex;
  flex-wrap: wrap;
  gap: 10px clamp(10px, -3.3333333333px + 1.7361111111vw, 30px);
}
.btnBox.full {
  width: 100%;
}
.btnBox.full .btn {
  width: 100%;
}
.btnBox.center {
  justify-content: center;
}
.btnBox .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(10px, 6px + 0.5208333333vw, 16px) clamp(25px, 18.3333333333px + 0.8680555556vw, 35px);
  border-radius: 40px;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.35px;
  position: relative;
  overflow: hidden;
}
@media (max-width: 768px) {
  .btnBox .btn {
    font-size: 15px;
    letter-spacing: 0.25px;
  }
}
@media (min-width: 1181px) {
  .btnBox .btn:hover {
    transition: background-color 0.5s 0.5s ease-out, color 0.5s ease-out, box-shadow 0.5s 0.5s ease-out, border-color 0.5s 0.5s ease-out, transform 0.5s ease-out;
  }
}
.btnBox .btn .btnText {
  position: relative;
  z-index: 1;
}
.btnBox .btn.shadow.bgMain {
  box-shadow: 0 8px 32px rgba(18, 104, 255, 0.32);
}
@media (min-width: 1181px) {
  .btnBox .btn.shadow.bgMain:hover {
    box-shadow: 0 18px 50px rgba(18, 104, 255, 0.55);
  }
}
.btnBox .btn.shadow.colorMain {
  box-shadow: 0 8px 32px rgba(18, 104, 255, 0.32);
}
@media (min-width: 1181px) {
  .btnBox .btn.shadow.colorMain:hover {
    box-shadow: 0 18px 50px rgba(18, 104, 255, 0.55);
  }
}
.btnBox .btn.banner {
  padding: clamp(10px, 6px + 0.5208333333vw, 16px) clamp(25px, 18.3333333333px + 0.8680555556vw, 35px);
}
.btnBox .btn.banner.colorMain {
  border: 1px solid #1268FF;
}
.btnBox .btn.cta.bgMain {
  border: 1px solid #fff;
}
.btnBox .btn.cta.colorMain {
  border: 1px solid #fff;
}
.btnBox .btn.bgMain {
  background-color: #1268FF;
  color: #fff;
  transition: background-color 0.5s 0.5s ease-out, color 0.5s ease-out, box-shadow 0.5s 0.5s ease-out, border-color 0.5s 0.5s ease-out, transform 0.5s ease-out;
}
.btnBox .btn.bgMain::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  background: linear-gradient(85.7deg, #133ED4 1.16%, #1268FF 96.9%);
  border-radius: inherit;
  transform: translateX(0);
}
@media (min-width: 1181px) {
  .btnBox .btn.bgMain:hover {
    transition: background-color 0.5s 0s ease-out, color 0.5s ease-out, box-shadow 0.5s 0.5s ease-out, border-color 0.5s 0.5s ease-out, transform 0.5s ease-out;
    background-color: #fff;
    color: #133ED4;
  }
  .btnBox .btn.bgMain:hover::before {
    transform: translateX(calc(-100% - 1px));
  }
}
.btnBox .btn.bgSecond {
  background: #fff;
  color: #262626;
}
.btnBox .btn.bgSecond::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  background: linear-gradient(85.7deg, #133ED4 1.16%, #1268FF 96.9%);
  border-radius: inherit;
  transform: translateX(calc(-100% - 1px));
}
@media (min-width: 1181px) {
  .btnBox .btn.bgSecond:hover {
    color: #fff;
  }
  .btnBox .btn.bgSecond:hover::before {
    transform: translateX(0);
  }
}
.btnBox .btn.colorMain {
  background: #fff;
  color: #133ED4;
}
.btnBox .btn.colorMain::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  background: linear-gradient(85.7deg, #133ED4 1.16%, #1268FF 96.9%);
  border-radius: inherit;
  transform: translateX(calc(-100% - 1px));
}
@media (min-width: 1181px) {
  .btnBox .btn.colorMain:hover {
    background: #133ED4;
  }
  .btnBox .btn.colorMain:hover:hover {
    color: #fff;
  }
  .btnBox .btn.colorMain:hover:hover::before {
    transform: translateX(0);
  }
}

.titleBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 18px;
  margin-bottom: 50px;
}
@media (max-width: 768px) {
  .titleBox {
    gap: 15px;
    margin-bottom: 30px;
  }
}
.titleBox.textLeft {
  align-items: flex-start;
  text-align: left;
}
.titleBox.white .title {
  color: #fff;
}
.titleBox.white .textBox {
  color: #fff;
}
.titleBox .title {
  font-size: clamp(1.875rem, 1.125rem + 1.5625vw, 3rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: clamp(0.3px, 0.18px + 0.015625vw, 0.48px);
}
.titleBox .textBox {
  color: #999;
  font-size: clamp(1rem, 0.8333333333rem + 0.3472222222vw, 1.25rem);
  line-height: 1.5;
  letter-spacing: 0.2px;
}

.pageTabArea {
  position: relative;
  position: sticky;
  top: 0;
  z-index: 50;
  background-color: #fff;
  border-bottom: 1px solid #D9D9D9;
}
.pageTabArea .wrap {
  overflow: hidden;
}
.pageTabArea .tabList {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(15px, 3.6666666667px + 1.4756944444vw, 32px);
}
.pageTabArea .tabItem {
  cursor: pointer;
}
.pageTabArea .tabItem a {
  display: block;
  width: 100%;
  padding: 15px 0;
  position: relative;
  font-size: 13px;
  text-align: center;
  line-height: 1.3;
}
@media (max-width: 480px) {
  .pageTabArea .tabItem a {
    font-size: 12px;
    padding: 12px 0;
  }
}
.pageTabArea .tabItem a::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  left: 50%;
  bottom: 0px;
  background-color: #1268FF;
  transform: translateX(-50%) scaleX(0);
}
@media (min-width: 1181px) {
  .pageTabArea .tabItem a:hover {
    color: #1268FF;
  }
}
.pageTabArea .tabItem.active a {
  color: #1268FF;
  font-weight: 700;
}
.pageTabArea .tabItem.active a::before {
  transform: translateX(-50%) scaleX(1);
}

#loader {
  position: fixed;
  inset: 0;
  background: #F2F2F2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 44px;
  z-index: 9999;
}
#loader.fade-out {
  transition: opacity 0.5s ease 0.5s;
  opacity: 0;
  pointer-events: none;
}
#loader.loader-short .logo-svg {
  animation: logoSettle 0.3s cubic-bezier(0.22, 1, 0.36, 1) both;
}
#loader.loader-short .logo-svg path {
  animation: none;
  fill-opacity: 1;
  stroke-dashoffset: 0;
}
#loader.loader-short .progress-wrap {
  opacity: 1;
  transform: none;
  animation: none;
}
#loader.loader-short.fade-out {
  transition: opacity 0.3s ease;
  transition-delay: 0s;
}
#loader .logo-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 240px;
}
#loader .logo-svg {
  width: 240px;
  height: auto;
  display: block;
  overflow: visible;
  transform-origin: center center;
  will-change: transform, opacity;
  animation: logoSettle 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.15s both;
}
#loader .logo-svg path {
  fill: #0057B7;
  fill-opacity: 0;
  stroke: #0057B7;
  stroke-width: 0.22;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: var(--len, 900);
  stroke-dashoffset: var(--len, 900);
  animation: drawStroke 1.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) var(--d-delay, 0.2s) forwards, fillColour 0.45s ease var(--f-delay, 1.9s) forwards;
}
#loader .logo-svg path:nth-child(1) {
  --d-delay: 0.2s;
  --f-delay: 1.75s;
}
#loader .logo-svg path:nth-child(2) {
  --d-delay: 0.5s;
  --f-delay: 1.95s;
}
#loader .logo-svg.glowOut {
  animation: logoGlowFade 1.6s cubic-bezier(0.4, 0, 0.2, 1) forwards !important;
}
#loader .logo-shimmer-rect {
  pointer-events: none;
  opacity: 0;
}
#loader .logo-shimmer-rect.animate {
  opacity: 1;
  animation: svgGlintAnim 1.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
#loader .progress-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 11px;
  opacity: 0;
  transform: translateY(8px);
  animation: fadeUp 0.55s ease 1s forwards;
  will-change: opacity, transform;
}
#loader .progress-wrap.hide {
  transition: opacity 0.3s ease;
  opacity: 0 !important;
  pointer-events: none;
}
#loader .progress-track {
  width: 240px;
  height: 1px;
  background: rgba(0, 0, 0, 0.1);
  position: relative;
  overflow: hidden;
}
#loader .progress-fill {
  position: absolute;
  inset: 0;
  background: #0057B7;
  transform-origin: left center;
  transform: scaleX(0);
  will-change: transform;
}
#loader .progress-fill::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  height: 100%;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.75) 50%, transparent 100%);
  animation: glide 1.2s ease-in-out infinite;
}
#loader .progress-num {
  font-size: 10px;
  letter-spacing: 0.2em;
  color: #aaa;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-variant-numeric: tabular-nums;
}

.mainArea {
  padding-bottom: clamp(0px, -53.3333333333px + 6.9444444444vw, 80px);
}

.textEditor ul {
  list-style: disc;
  padding-left: 20px;
}
.textEditor ul li::marker {
  color: #1268FF;
}
.textEditor ul li strong {
  color: #757575;
}

.ctaArea {
  padding: 45px 0;
}
.ctaArea .ctaBox {
  border-radius: 15px;
  background: linear-gradient(85.7deg, #133ED4 1.16%, #1268FF 96.9%);
  padding: 70px 20px;
}
@media (max-width: 768px) {
  .ctaArea .ctaBox {
    padding: 30px 15px;
  }
}

.blogArea {
  padding: clamp(50px, 3.3333333333px + 6.0763888889vw, 120px) 0 45px;
  overflow-x: clip;
}
.blogArea .blogBox {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 40px;
  position: relative;
}
@media (max-width: 480px) {
  .blogArea .blogBox {
    padding: 0 20px;
  }
}
.blogArea .arrowsBox {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 1350px;
  height: -moz-fit-content;
  height: fit-content;
}
.blogArea .blogWrap {
  overflow: hidden;
  padding: 40px 0;
  width: 100%;
}
@media (max-width: 1180px) {
  .blogArea .blogWrap {
    overflow: visible;
    padding: 30px 0 0;
  }
}
.blogArea .blogList {
  width: 33.3333333333%;
}
@media (max-width: 1180px) {
  .blogArea .blogList {
    width: 100%;
    max-width: 380px;
    margin: 0 auto;
  }
}
.blogArea .slick-list {
  overflow: visible;
}
.blogArea .slick-slide {
  height: auto !important;
}
.blogArea .slick-slide > div {
  height: 100%;
}
.blogArea .slick-slide .blogItem {
  height: 100%;
}
.blogArea .slick-slide .item {
  height: 100%;
}
@media (max-width: 1180px) {
  .blogArea .slick-slide.current .item {
    box-shadow: 0 0 40px 0 rgba(19, 104, 255, 0.22);
    background-color: #fff;
  }
  .blogArea .slick-slide.current .btnBox .btn.bgSecond {
    color: #fff;
  }
  .blogArea .slick-slide.current .btnBox .btn.bgSecond::before {
    transform: translateX(0);
  }
}
.blogArea .blogItem {
  padding: 20px;
}
@media (max-width: 1180px) {
  .blogArea .blogItem {
    padding: 0 20px;
  }
}
@media (min-width: 1181px) {
  .blogArea .blogItem:hover .item {
    transform: translateY(-20px);
    box-shadow: 0 0 40px 0 rgba(19, 104, 255, 0.22);
    background-color: #fff;
  }
  .blogArea .blogItem:hover .btnBox .btn.bgSecond {
    color: #fff;
  }
  .blogArea .blogItem:hover .btnBox .btn.bgSecond::before {
    transform: translateX(0);
  }
}
.blogArea .blogItem .item {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-content: stretch;
  background-color: #EBEBEB;
  border-radius: 15px;
  overflow: hidden;
  position: relative;
  max-width: 380px;
  margin: 0 auto;
}
.blogArea .blogItem .Img {
  flex: 0 0 auto;
}
.blogArea .blogItem .Img img {
  width: 100%;
  height: auto;
  display: block;
  backface-visibility: hidden;
}
.blogArea .blogItem .Txt {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
  padding: 20px;
  min-height: 220px;
}
.blogArea .blogItem .Txt .date {
  font-size: 18px;
  color: #999;
  font-weight: 600;
}
.blogArea .blogItem .Txt .title {
  font-size: clamp(1.125rem, 0.9166666667rem + 0.4340277778vw, 1.4375rem);
  font-weight: 600;
  line-height: 1.4;
}
.blogArea .blogItem .Txt .text {
  color: #999;
  font-size: 15px;
  line-height: 1.4;
}
.blogArea .blogItem .Txt .btnBox {
  margin-top: auto;
}

body.WebSiteUnit .bannerArea {
  position: relative;
}
body.WebSiteUnit .bannerArea .bannerList {
  position: relative;
}
body.WebSiteUnit .bannerArea .bannerList .item {
  position: relative;
}
body.WebSiteUnit .bannerArea .bannerList .item .Img {
  overflow: hidden;
}
body.WebSiteUnit .bannerArea .bannerList .item .Img img {
  width: 100%;
  height: auto;
  display: block;
  backface-visibility: hidden;
}
@media (max-width: 1180px) {
  body.WebSiteUnit .bannerArea .bannerList .item .Img img {
    width: 100%;
    height: 100%;
    display: block;
    -o-object-fit: cover;
       object-fit: cover;
    height: 373px;
  }
}
body.WebSiteUnit .bannerArea .bannerList .item .Txt {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  padding-left: 50px;
  padding-right: 50px;
}
@media (max-width: 1180px) {
  body.WebSiteUnit .bannerArea .bannerList .item .Txt {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (max-width: 768px) {
  body.WebSiteUnit .bannerArea .bannerList .item .Txt {
    padding-left: 20px;
    padding-right: 20px;
  }
}
body.WebSiteUnit .bannerArea .bannerList .item .Txt {
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(25px, 8.3333333333px + 2.1701388889vw, 50px);
  width: auto;
}
body.WebSiteUnit .bannerArea .bannerList .item .textBox {
  display: flex;
  flex-direction: column;
  gap: clamp(15px, 5px + 1.3020833333vw, 30px);
  color: #fff;
}
body.WebSiteUnit .bannerArea .bannerList .item .textBox .title {
  font-size: clamp(2rem, 0.6666666667rem + 2.7777777778vw, 4rem);
  font-weight: 700;
  line-height: 1;
}
body.WebSiteUnit .bannerArea .bannerList .item .textBox .subtitle {
  font-size: clamp(1.125rem, 0.875rem + 0.5208333333vw, 1.5rem);
  font-weight: 600;
  line-height: 1;
}
body.WebSiteUnit .bannerArea .bannerList .item .textBox.textDark {
  color: #000;
}
body.WebSiteUnit .bannerArea .bannerList .item .textBox.textDark .line {
  background-color: #000;
}
body.WebSiteUnit .bannerArea .bannerList .item .textBox .line {
  display: block;
  width: 110px;
  height: 2px;
  background-color: #fff;
}
@media (max-width: 768px) {
  body.WebSiteUnit .bannerArea .bannerList .item .textBox .line {
    height: 1px;
  }
}

.slickClsList:not(.slick-slider) {
  overflow: hidden;
}
.slickClsList:not(.slick-slider) .slickClsItem:not(:first-child) {
  display: none;
}

.dotsBox {
  width: -moz-fit-content;
  width: fit-content;
}
.dotsBox .slick-dots {
  position: relative;
  inset: 0;
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
}
.dotsBox .slick-dots li {
  pointer-events: auto;
  margin: 0;
  width: auto;
  height: auto;
  padding: 0 5px;
}
.dotsBox .slick-dots li button {
  padding: 0;
  width: 8px;
  height: 8px;
}
.dotsBox .slick-dots li button::before {
  content: "";
  width: inherit;
  height: inherit;
  border-radius: 50px;
  opacity: 0.5;
}
.dotsBox .slick-dots li.slick-active button {
  width: 38px;
}
.dotsBox .slick-dots li.slick-active button::before {
  opacity: 1;
}
@media (min-width: 1181px) {
  .dotsBox .slick-dots li:hover button::before {
    opacity: 0.8;
  }
}
.dotsBox .slick-dots.vertical {
  flex-direction: column;
}
@media (max-width: 768px) {
  .dotsBox .slick-dots.vertical {
    flex-direction: row;
  }
}
.dotsBox .slick-dots.vertical li {
  padding: 5px 0;
}
@media (max-width: 768px) {
  .dotsBox .slick-dots.vertical li {
    padding: 0 5px;
  }
}
.dotsBox .slick-dots.vertical li.slick-active button {
  width: 8px;
  height: 38px;
}
@media (max-width: 768px) {
  .dotsBox .slick-dots.vertical li.slick-active button {
    height: 8px;
    width: 38px;
  }
}
.dotsBox .slick-dots.center {
  width: 100%;
  justify-content: center;
}
.dotsBox .slick-dots.white li button::before {
  background-color: #fff;
}

.arrowsBox {
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}
.arrowsBox .arrow {
  pointer-events: auto;
  cursor: pointer;
  width: 25px;
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
}
@media (min-width: 1181px) {
  .arrowsBox .arrow:hover {
    color: #1268FF;
  }
}
.arrowsBox .arrow svg {
  max-width: 11px;
  aspect-ratio: 11/21;
}
.arrowsBox .arrow.slick-disabled {
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 1180px) {
  .arrowsBox .arrow.rwdStyle {
    width: 35px;
    height: 35px;
    background-color: #fff;
    border-radius: 50%;
    box-shadow: 0 0 40px 0 rgba(19, 104, 255, 0.22);
  }
  .arrowsBox .arrow.rwdStyle.slick-disabled {
    opacity: 0;
  }
  .arrowsBox .arrow.rwdStyle svg {
    height: 50%;
  }
}

.moreBtn {
  cursor: pointer;
  margin: 0 auto;
  width: 60px;
  aspect-ratio: 1/1;
  background-color: #1268FF;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 0 40px 0 rgba(18, 104, 255, 0.4);
  position: relative;
}
@media (max-width: 768px) {
  .moreBtn {
    width: 50px;
  }
}
.moreBtn.open {
  transform: rotate(45deg);
}
@media (min-width: 1181px) {
  .moreBtn:hover::before, .moreBtn:hover::after {
    background-color: #1268ff;
  }
  .moreBtn:hover .line {
    background-color: #fff;
  }
}
.moreBtn::before, .moreBtn::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background-color: rgba(18, 104, 255, 0);
  animation: ping 2s ease-out infinite;
  z-index: -1;
  pointer-events: none;
}
.moreBtn::after {
  animation-delay: -1s;
}
.moreBtn .line {
  width: 20px;
  height: 2px;
  background-color: #fff;
  position: absolute;
}
@media (max-width: 1440px) {
  .moreBtn .line {
    width: 15px;
  }
}
.moreBtn .line::before {
  content: "";
  position: absolute;
  inset: 0;
  width: inherit;
  height: inherit;
  background-color: inherit;
  transform: rotate(90deg);
}

/* scroll hint */
.scrollHint {
  width: 120px;
  height: 100px;
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 5;
  border-radius: 10px;
}
.scrollHint.hide {
  opacity: 0;
}
.scrollHint.horizontal .scrollIcon {
  animation: scrollHorizontal 1.25s ease-out infinite;
}
.scrollHint.vertical .scrollIcon {
  animation: scrollVertical 1.25s ease-out infinite;
}
.scrollHint .scrollIcon {
  position: relative;
  content: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path fill="currentColor" d="M13 2c-1.645 0-3 1.355-3 3v11.813l-.656-.688l-.25-.219a2.968 2.968 0 0 0-4.188 0a2.968 2.968 0 0 0 0 4.188v.031l8.188 8.094l.062.031l.031.063a8.307 8.307 0 0 0 5 1.687h1.72a8.17 8.17 0 0 0 8.187-8.188V14c0-1.645-1.356-3-3-3c-.426 0-.82.117-1.188.281C23.578 9.981 22.395 9 21 9c-.766 0-1.469.3-2 .781A2.984 2.984 0 0 0 17 9a2.95 2.95 0 0 0-1 .188V5c0-1.645-1.355-3-3-3m0 2c.555 0 1 .445 1 1v11h2v-4c0-.555.445-1 1-1c.555 0 1 .445 1 1v4h2v-4c0-.555.445-1 1-1c.555 0 1 .445 1 1v4h2.094v-2c0-.555.445-1 1-1c.554 0 1 .445 1 1v7.813c0 3.464-2.723 6.187-6.188 6.187h-1.718c-1.465 0-2.731-.523-3.782-1.313l-8.094-8c-.445-.445-.445-.93 0-1.375c.446-.445.93-.445 1.375 0L12 21.625V5c0-.555.445-1 1-1"/></svg>');
  width: 32px;
  height: 32px;
  filter: invert(1);
  z-index: 2;
}
.scrollHint .scrollText {
  margin-top: 10px;
  color: #fff;
}