@charset "UTF-8";
.faqList .answerContent, .faqList .faqAnswer, .faqList .toggleIcon .icon, .faqList .toggleIcon, .faqList .faqTitle, .faqList .questionMark::before,
.faqList .answerMark::before, .faqList .questionMark,
.faqList .answerMark, .faqList .faqQuestion, .faqList .faqItem, .faqArea .faqBox .pagination .paginationDot, .facList .Txt .title,
.facList .Txt .productTitle,
.facList .Txt .text,
.facList .Txt .btnBox, .facList .Txt, .facList .Img::after, .facArea .logoBox::before, .facArea .logoBox, .facArea .facBox, .catalogArea .funcBox, .catalogArea.loading, .aboutArea .linkList .Img::after, .aboutArea .linkList .Img::before, .aboutArea .linkList .Img, .aboutArea .aboutVideoWrap, .bannerArea .waveInsight, .bannerArea .videoBtnBox, .aboutArea .videoBtnBox, .popWindowArea .close::before, .popWindowArea .close::after, .popWindowArea .close {
  transition: all 0.5s ease-in-out;
}

.popWindowArea {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 500;
  width: 100%;
  height: 100vh; /*以防有不支援dvh的瀏覽器*/
  height: 100dvh;
  font-size: 15px;
  line-height: 1.8;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all 0.7s;
}
.popWindowArea .popWindowMask {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100dvh;
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0;
  transition: all 0.7s;
}
.popWindowArea .popWindowBox {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, 50%);
  width: 800px;
  max-width: 90%;
  max-height: 85vh;
  opacity: 0;
  background-color: #fff;
  transition: all 0.7s;
}
.popWindowArea .popWindowContent {
  height: 100%;
  overflow-y: auto;
  overflow-x: clip;
}
.popWindowArea .popWindowContent p {
  margin: 0;
}
.popWindowArea img {
  display: block;
  max-width: 100%;
  height: auto;
  backface-visibility: hidden;
}
.popWindowArea .Txt {
  padding: 30px;
}
.popWindowArea .Txt .popTitle {
  font-size: 25px;
  margin-bottom: 25px;
}
.popWindowArea .close {
  width: 46px;
  height: 46px;
  background-color: #6A2D98;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
.popWindowArea .close::before, .popWindowArea .close::after {
  content: "";
  position: absolute;
  left: 11px;
  top: 23px;
  width: 25px;
  height: 1px;
  background-color: #fff;
}
.popWindowArea .close::before {
  transform: rotate(45deg);
}
.popWindowArea .close::after {
  transform: rotate(-45deg);
}
@media (min-width: 1181px) {
  .popWindowArea .close:hover {
    background-color: #6A2D98;
  }
  .popWindowArea .close:hover::before {
    transform: rotate(-30deg);
  }
  .popWindowArea .close:hover::after {
    transform: rotate(30deg);
  }
}
.popWindowArea.show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.popWindowArea.show .popWindowMask,
.popWindowArea.show .popWindowBox {
  opacity: 1;
}
.popWindowArea.show .popWindowBox {
  transform: translate(-50%, -50%);
}
@media (max-width: 1180px) {
  .popWindowArea .popWindowContent {
    max-height: calc(100vh - 150px); /*以防有不支援dvh的瀏覽器*/
    max-height: calc(100dvh - 150px);
  }
}

.mainArea {
  padding: 0;
}

.bannerArea .videoBox, .aboutArea .videoBox {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 6;
  pointer-events: none;
  transform: translate3d(-50%, -50%, 0);
}
.bannerArea .videoBox.hide, .aboutArea .videoBox.hide {
  display: none;
  opacity: 0;
}
.bannerArea .controllerList, .aboutArea .controllerList {
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
}
.bannerArea .videoBtnBox, .aboutArea .videoBtnBox {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
}
.bannerArea .videoBtnBox::before, .aboutArea .videoBtnBox::before {
  content: "";
  position: absolute;
  width: calc(100% + 16px);
  height: calc(100% + 16px);
  border: 1px solid #fff;
  border-radius: 50%;
  position: absolute;
  top: -8px;
  left: -8px;
  display: none;
}
.bannerArea .videoBtnBox::after, .aboutArea .videoBtnBox::after {
  content: "";
  position: absolute;
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  border: 1px solid #C1BCCF;
  border-radius: 50%;
  position: absolute;
  top: 6px;
  left: 6px;
  pointer-events: none;
  display: none;
}
@media (max-width: 768px) {
  .bannerArea .videoBtnBox, .aboutArea .videoBtnBox {
    width: 50px;
    height: 50px;
  }
}
.bannerArea .videoBtnBox .videoBtn, .aboutArea .videoBtnBox .videoBtn {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  cursor: pointer;
  position: relative;
}
.bannerArea .videoBtnBox .videoBtn::before, .aboutArea .videoBtnBox .videoBtn::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 12px;
  border-color: transparent transparent transparent #523965;
  display: block;
  position: absolute;
  top: calc(50% - 8px);
  left: calc(50% - 4px);
  z-index: 3;
  transition: all 0.4s ease-in-out;
}
.bannerArea .videoBtnBox .videoBtn::after, .aboutArea .videoBtnBox .videoBtn::after {
  content: "";
  position: absolute;
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  border-top: 2px solid #6A2D98;
  border-right: 2px solid transparent;
  border-bottom: 2px solid transparent;
  border-left: 2px solid transparent;
  border-radius: 50%;
  position: absolute;
  top: 6px;
  left: 6px;
  animation: rotate 6s linear infinite forwards;
  display: none;
}
.bannerArea .videoBtnBox .videoBtn.played::before, .aboutArea .videoBtnBox .videoBtn.played::before {
  border: none;
  width: 12px;
  height: 12px;
  background-color: #6A2D98;
  top: calc(50% - 6px);
  left: calc(50% - 6px);
}
@media (min-width: 1181px) {
  .bannerArea .videoBtnBox:hover, .aboutArea .videoBtnBox:hover {
    background-color: #7D6EA9;
  }
  .bannerArea .videoBtnBox:hover .videoBtn::before, .aboutArea .videoBtnBox:hover .videoBtn::before {
    border-color: transparent transparent transparent #fff;
  }
  .bannerArea .videoBtnBox:hover .videoBtn.played::before, .aboutArea .videoBtnBox:hover .videoBtn.played::before {
    background-color: #fff;
  }
}

.bannerArea .bannerBox {
  position: relative;
}
.bannerArea .bannerBox.videoPlayed .bannerList, .bannerArea .bannerBox.videoPlayed .scrollDown {
  pointer-events: none;
}
.bannerArea .bannerList {
  position: relative;
  z-index: 1;
}
.bannerArea .bannerList.slick-dotted {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .bannerArea .bannerItem .item {
    aspect-ratio: 16/9;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px 0 40px;
  }
}
.bannerArea .bannerItem .Txt {
  max-width: 1540px;
  padding: 120px 20px 85px;
  margin: 0 auto;
  justify-content: flex-start;
}
@media (max-width: 1600px) {
  .bannerArea .bannerItem .Txt {
    padding: 80px 50px 85px;
  }
}
@media (max-width: 1180px) {
  .bannerArea .bannerItem .Txt {
    padding: 30px 30px 60px;
  }
}
@media (max-width: 768px) {
  .bannerArea .bannerItem .Txt {
    height: auto;
    padding: 20px 20px 10px;
    position: relative;
  }
}
.bannerArea .bannerItem .Txt .textBox {
  width: 100%;
  display: flex;
  flex-direction: column;
}
@media (max-width: 1440px) {
  .bannerArea .bannerItem .Txt .textBox {
    max-width: 50%;
    margin-right: auto;
    margin-left: 0;
  }
}
@media (max-width: 768px) {
  .bannerArea .bannerItem .Txt .textBox {
    max-width: 100%;
  }
}
.bannerArea .bannerItem .Txt .title {
  color: #fff;
  font-size: 76px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -2.28px;
}
@media (max-width: 1180px) {
  .bannerArea .bannerItem .Txt .title {
    font-size: 60px;
  }
}
@media (max-width: 768px) {
  .bannerArea .bannerItem .Txt .title {
    font-size: 50px;
    letter-spacing: -1.5px;
    line-height: 1.2;
  }
}
@media (max-width: 400px) {
  .bannerArea .bannerItem .Txt .title {
    font-size: 40px;
  }
}
@media (max-width: 375px) {
  .bannerArea .bannerItem .Txt .title {
    font-size: 35px;
  }
}
.bannerArea .bannerItem .Txt .subtitle {
  color: #fff;
  text-shadow: 0 2px 4px rgba(70, 70, 70, 0.5);
  font-size: 36px;
  font-family: "Noto Sans TC", "Microsoft JhengHei", sans-serif;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 1.08px;
  padding-bottom: 30px;
  padding-top: 0;
}
.bannerArea .bannerItem .Txt .subtitle::before {
  content: "";
  position: absolute;
  width: 95px;
  height: 1.5px;
  background-color: #C271FF;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media (max-width: 1600px) {
  .bannerArea .bannerItem .Txt .subtitle {
    padding: 0 0 20px;
  }
}
@media (max-width: 1180px) {
  .bannerArea .bannerItem .Txt .subtitle {
    padding-top: 5px;
  }
}
@media (max-width: 768px) {
  .bannerArea .bannerItem .Txt .subtitle {
    line-height: 1.33;
  }
}
@media (max-width: 400px) {
  .bannerArea .bannerItem .Txt .subtitle {
    font-size: 30px;
  }
}
@media (max-width: 375px) {
  .bannerArea .bannerItem .Txt .subtitle {
    font-size: 26px;
  }
}
.bannerArea .bannerItem .Txt .text {
  color: #fff;
  text-shadow: 0 0 4px rgba(70, 70, 70, 0.5);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.77;
  letter-spacing: 0.54px;
  padding-top: 28px;
  position: relative;
}
@media (max-width: 1600px) {
  .bannerArea .bannerItem .Txt .text {
    padding-top: 20px;
  }
}
@media (max-width: 768px) {
  .bannerArea .bannerItem .Txt .text {
    font-size: 17px;
  }
}
@media (max-width: 400px) {
  .bannerArea .bannerItem .Txt .text {
    font-size: 16px;
    padding-top: 10px;
  }
}
.bannerArea .bannerItem .Txt .btnBox {
  opacity: 0;
  margin: 55px auto 0 0;
}
@media (max-width: 1600px) {
  .bannerArea .bannerItem .Txt .btnBox {
    margin-top: 30px;
  }
}
@media (max-width: 768px) {
  .bannerArea .bannerItem .Txt .btnBox {
    margin-top: 10px;
  }
}
.bannerArea .bannerItem .Img {
  aspect-ratio: unset;
  align-self: unset;
}
.bannerArea .bannerItem .Img img {
  height: auto;
  -o-object-fit: unset;
     object-fit: unset;
}
.bannerArea .bannerItem .Img.bgImg {
  aspect-ratio: 16/9;
}
@media (max-width: 768px) {
  .bannerArea .bannerItem .Img.bgImg {
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
}
.bannerArea .bannerItem .Img.bgImg img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.bannerArea .bannerItem .Img.productPic {
  position: absolute;
  bottom: 81px;
  right: calc(50% - 714px);
  display: block;
  width: 745px;
  filter: drop-shadow(0 0 35px rgba(255, 255, 255, 0.3));
  z-index: 3;
}
.bannerArea .bannerItem .Img.productPic img {
  display: block;
  width: 100%;
}
@media (max-width: 1600px) {
  .bannerArea .bannerItem .Img.productPic {
    width: 50%;
    max-width: 700px;
    right: 50px;
    bottom: 15%;
  }
}
@media (max-width: 1440px) {
  .bannerArea .bannerItem .Img.productPic {
    max-width: 600px;
  }
}
@media (max-width: 768px) {
  .bannerArea .bannerItem .Img.productPic {
    max-width: 500px;
    width: 60%;
    height: auto;
    margin: 15px auto 0;
    position: relative;
    bottom: 0;
    right: 0;
    display: none;
  }
}
.bannerArea .waveInsight {
  width: 1920px;
  height: 339px;
  position: absolute;
  bottom: 11px;
  right: 0;
  z-index: 2;
  pointer-events: none;
}
@media (max-width: 1440px) {
  .bannerArea .waveInsight {
    right: -80px;
  }
}
@media (max-width: 768px) {
  .bannerArea .waveInsight {
    width: 960px;
    height: 170px;
    right: -65px;
    bottom: -60px;
  }
}
.bannerArea :not(.slick-current) .Img.productPic {
  opacity: 0;
  transform: translateY(10px);
}
.bannerArea :not(.slick-current) .Txt .title,
.bannerArea :not(.slick-current) .Txt .subtitle,
.bannerArea :not(.slick-current) .Txt .text,
.bannerArea :not(.slick-current) .Txt .btnBox {
  opacity: 0;
  transform: translateY(10px);
}
.bannerArea :not(.slick-current) .Txt .videoBtn::after {
  animation-play-state: paused;
}
.bannerArea .slick-current .Img.productPic {
  animation: slideUpAnimation 0.8s ease-in-out forwards;
}
.bannerArea .slick-current .Txt .title {
  animation: slideUpAnimation 0.8s ease-in-out forwards;
}
.bannerArea .slick-current .Txt .subtitle {
  animation: slideUpAnimation 0.8s 0.4s ease-in-out forwards;
}
.bannerArea .slick-current .Txt .text {
  animation: slideUpAnimation 0.8s 0.8s ease-in-out forwards;
}
.bannerArea .slick-current .Txt .btnBox {
  animation: slideUpAnimation 0.8s 1.2s ease-in-out forwards;
}
.bannerArea .slick-current .Txt .videoBtn::after {
  animation: rotate 50s linear forwards;
}
.bannerArea .slick-arrow {
  top: 80%;
  left: auto;
}
@media (max-width: 768px) {
  .bannerArea .slick-arrow {
    display: none !important;
  }
}
.bannerArea .slick-arrow.slick-prev {
  right: 110px;
}
.bannerArea .slick-arrow.slick-next {
  right: 50px;
}
.bannerArea .videoBox {
  z-index: 6;
}
.bannerArea .videoBtnBox {
  position: absolute;
  bottom: 28%;
  right: auto;
  left: 3%;
  top: auto;
  z-index: 8;
  transform: unset;
}
@media (max-width: 768px) {
  .bannerArea .videoBtnBox {
    bottom: 80px;
  }
}
.bannerArea .scrollDown {
  cursor: pointer;
  display: block;
  position: absolute;
  bottom: calc(50% + 70px);
  right: 57px;
  z-index: 2;
}
@media (max-width: 1600px) {
  .bannerArea .scrollDown {
    right: 20px;
  }
}
@media (max-width: 768px) {
  .bannerArea .scrollDown {
    display: none;
  }
}
.bannerArea .scrollDown span {
  display: block;
}
.bannerArea .scrollDown span.text {
  color: #fff;
  writing-mode: vertical-lr;
  color: #fff;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 26px;
}
.bannerArea .scrollDown span.line {
  width: 1.5px;
  height: 88px;
  background-color: rgba(255, 255, 255, 0.5);
  overflow: hidden;
  position: relative;
  margin: 0 auto 20px;
}
.bannerArea .scrollDown span.line::before {
  content: "";
  width: 1.5px;
  height: 100%;
  animation: bannerScrollAnimation 2.5s linear infinite forwards;
  background-color: #fff;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.bannerArea .slick-dots.vertical {
  bottom: calc(70% - 50px);
  left: 71px;
}
@media (max-width: 1700px) {
  .bannerArea .slick-dots.vertical {
    left: 20px;
  }
}
@media (max-width: 1180px) {
  .bannerArea .slick-dots.vertical {
    width: 100%;
    flex-direction: row;
    justify-content: center;
    left: 0;
    bottom: 51px;
  }
  .bannerArea .slick-dots.vertical li {
    margin: 0 2px;
  }
  .bannerArea .slick-dots.vertical li button::before {
    background-color: #fff;
  }
  .bannerArea .slick-dots.vertical li.slick-active {
    width: 28px;
    height: 10px;
  }
}
.bannerArea .wave {
  width: 1920px;
  height: 530px;
  position: absolute;
  bottom: -101px;
  right: 0;
  z-index: 5;
  pointer-events: none;
}
@media (max-width: 1440px) {
  .bannerArea .wave {
    right: -80px;
  }
}
@media (max-width: 768px) {
  .bannerArea .wave {
    width: 960px;
    height: 265px;
    right: -65px;
    bottom: -66px;
  }
}

.aboutArea {
  display: block;
  padding: 25px 0 100px;
  position: relative;
  margin: 0;
  z-index: 6;
  overflow: hidden;
}
@media (max-width: 1440px) {
  .aboutArea {
    padding: 20px 0 0px;
  }
}
@media (max-width: 768px) {
  .aboutArea {
    padding: 60px 0;
  }
}
.aboutArea .decoBgCircle.circle1 {
  top: 5%;
  left: -6%;
}
.aboutArea .decoBgCircle.circle2 {
  top: -35%;
  right: -11%;
}
.aboutArea .decoBgCircle.circle3 {
  bottom: 5%;
  right: -16%;
}
.aboutArea .decoBgCircle.circle3 {
  bottom: 5%;
  right: -12%;
}
.aboutArea .decoBgCircle.circle4 {
  bottom: -25%;
  left: 42%;
}
.aboutArea .aboutBox {
  display: flex;
}
@media (max-width: 960px) {
  .aboutArea .aboutBox {
    flex-wrap: wrap;
    justify-content: center;
    flex-direction: column;
  }
}
.aboutArea .ImgBox {
  width: 100%;
  max-width: 790px;
  border-radius: 16px;
  flex-shrink: 0;
}
@media (max-width: 1500px) {
  .aboutArea .ImgBox {
    max-width: 60%;
  }
}
@media (max-width: 960px) {
  .aboutArea .ImgBox {
    max-width: 100%;
    order: 2;
  }
}
.aboutArea .Img {
  width: 100%;
  max-width: 790px;
  aspect-ratio: 790/445;
  border-radius: 16px;
  flex-shrink: 0;
  overflow: hidden;
  position: relative;
}
.aboutArea .Img img {
  width: 100%;
  height: auto;
  display: block;
  backface-visibility: hidden;
}
@media (max-width: 960px) {
  .aboutArea .Img {
    margin: 0 auto 10px;
  }
}
.aboutArea .aboutVideoWrap {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  clip-path: inset(0% 0 0 0);
}
.aboutArea .aboutVideoWrap.hide {
  clip-path: inset(0% 100% 0 0);
  pointer-events: none;
}
.aboutArea .aboutVideoWrap iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.aboutArea .videoPlayed .videoBtnBox {
  top: calc(100% - 54px);
  left: 50px;
  background-color: transparent;
}
.aboutArea .videoPlayed .videoBtnBox::before, .aboutArea .videoPlayed .videoBtnBox::after {
  display: none;
}
.aboutArea .videoPlayed .videoBtnBox .videoBtn::after {
  display: none;
}
.aboutArea .videoBtnBox {
  background-color: #fff;
  transform: translate3d(-50%, -50%, 0);
}
.aboutArea .videoBtnBox::before, .aboutArea .videoBtnBox::after {
  display: block;
}
.aboutArea .videoBtnBox .videoBtn::after {
  display: block;
}
.aboutArea .Txt {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin-top: -11px;
  margin-bottom: 40px;
  padding-left: 102px;
  padding-bottom: 6px;
}
@media (max-width: 1500px) {
  .aboutArea .Txt {
    padding-left: 40px;
    padding-bottom: 0;
  }
}
@media (max-width: 1180px) {
  .aboutArea .Txt {
    padding-left: 20px;
  }
}
@media (max-width: 960px) {
  .aboutArea .Txt {
    width: 100%;
    padding: 0;
    position: initial;
    order: 1;
  }
}
@media (max-width: 768px) {
  .aboutArea .Txt {
    margin-bottom: 10px;
  }
}
.aboutArea .Txt .titleBox {
  margin-bottom: 0;
}
@media (min-width: 1181px) {
  .aboutArea .Txt .textEditor p {
    margin-bottom: 2rem;
  }
}
@media (max-width: 1440px) {
  .aboutArea .Txt {
    padding-left: 50px;
  }
}
@media (max-width: 1180px) {
  .aboutArea .Txt {
    padding-left: 30px;
  }
}
@media (max-width: 960px) {
  .aboutArea .Txt {
    width: 100%;
    padding-left: 0;
  }
}
.aboutArea .funcBox {
  display: flex;
  align-items: center;
  margin-top: auto;
}
.aboutArea .funcBox .nextArrow {
  margin-right: 18px;
}
@media (max-width: 960px) {
  .aboutArea .funcBox {
    justify-content: space-between;
    position: relative;
    order: 3;
  }
}
.aboutArea .btnBox {
  margin-top: 0px;
}
.aboutArea .linkBox {
  width: 100%;
  padding: 17px 0 10px;
}
@media (max-width: 960px) {
  .aboutArea .linkBox {
    padding: 0;
  }
}
@media (max-width: 640px) {
  .aboutArea .linkBox {
    padding-top: 35px;
  }
}
.aboutArea .linkList {
  margin: 0 -20px;
}
@media (max-width: 640px) {
  .aboutArea .linkList {
    width: 100%;
    max-width: 160px;
    margin: 0 auto;
  }
  .aboutArea .linkList .slick-list {
    overflow: visible;
  }
}
.aboutArea .linkList .slick-current .item::before {
  opacity: 0;
}
@media (max-width: 640px) {
  .aboutArea .linkList .slick-current .item .Img {
    max-width: 115px;
    background-color: #fff;
    box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0);
    margin-top: 0px;
  }
  .aboutArea .linkList .slick-current .item .Img::before {
    animation-play-state: running;
    opacity: 1;
    transform: scale(1);
  }
  .aboutArea .linkList .slick-current .item .linkTxt {
    opacity: 1;
  }
}
.aboutArea .linkList .linkItem {
  padding: 20px 0 20px;
}
@media (max-width: 640px) {
  .aboutArea .linkList .linkItem {
    padding: 20px 0px;
  }
}
.aboutArea .linkList .item {
  padding: 8px 5px;
  position: relative;
}
.aboutArea .linkList .item::before {
  content: "";
  position: absolute;
  width: 1.5px;
  height: 100%;
  background-color: #eeedf3;
  position: absolute;
  left: 0;
  top: 0;
}
@media (min-width: 1181px) {
  .aboutArea .linkList .item:hover .Img {
    background-color: #9DA862;
    box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0);
  }
  .aboutArea .linkList .item:hover .Img::before {
    animation-play-state: running;
    opacity: 1;
    transform: scale(1);
  }
  .aboutArea .linkList .item:hover .Img::after {
    opacity: 1;
  }
  .aboutArea .linkList .item:hover .Img img {
    filter: brightness(0) invert(1);
  }
}
@media (max-width: 640px) {
  .aboutArea .linkList .item {
    padding: 0;
  }
  .aboutArea .linkList .item::before {
    display: none;
  }
}
.aboutArea .linkList .Img {
  width: 100%;
  max-width: 70px;
  aspect-ratio: 1/1;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.15);
  margin: 0 auto 10px;
  overflow: visible;
  position: relative;
  z-index: 2;
}
.aboutArea .linkList .Img::before {
  content: "";
  position: absolute;
  animation: rotate2 6s linear infinite;
  animation-play-state: paused;
  background-image: url(../../images/tw/icon_deco_circle.svg);
  background-size: contain;
  width: calc(100% + 18px);
  height: calc(100% + 18px);
  position: absolute;
  left: -9px;
  top: -9px;
  z-index: -2;
  opacity: 0;
  transform: scale(0.9);
}
.aboutArea .linkList .Img::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  background-color: #9DA862;
  z-index: 2;
  opacity: 0;
}
@media (max-width: 640px) {
  .aboutArea .linkList .Img {
    max-width: 95px;
    margin-top: 20px;
  }
  .aboutArea .linkList .Img::before {
    width: calc(100% + 40px);
    height: calc(100% + 40px);
    left: -20px;
    top: -20px;
  }
}
.aboutArea .linkList .Img img {
  position: relative;
  z-index: 3;
}
.aboutArea .linkList .linkTxt {
  position: relative;
  width: 100%;
  text-align: center;
  padding-top: 11px;
}
@media (max-width: 640px) {
  .aboutArea .linkList .linkTxt {
    opacity: 0;
  }
}
.aboutArea .linkList .title {
  color: #7C7C7C;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.54px;
}
.aboutArea .linkList .text {
  color: #7C7C7C;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.86;
  letter-spacing: 0.45px;
}

.catalogArea {
  padding: 167px 0 108px;
  position: relative;
  z-index: 2;
}
@media (max-width: 1440px) {
  .catalogArea {
    padding: 120px 0 100px;
  }
}
@media (max-width: 1180px) {
  .catalogArea {
    padding: 100px 0 60px;
  }
}
@media (max-width: 768px) {
  .catalogArea {
    padding: 100px 0 20px;
  }
}
.catalogArea .decoWave {
  top: -226px;
}
@media (max-width: 1440px) {
  .catalogArea .decoWave {
    top: -130px;
  }
}
@media (max-width: 1180px) {
  .catalogArea .decoWave {
    top: -80px;
  }
}
.catalogArea .decoBg {
  top: -19%;
  left: -4%;
  z-index: 3;
}
.catalogArea .decoBgCircle.circle1 {
  top: 26%;
  right: -6%;
}
.catalogArea .decoBgCircle.circle2 {
  bottom: -16%;
  left: 13%;
}
.catalogArea .wrap {
  display: flex;
  align-items: flex-start;
}
@media (max-width: 1180px) {
  .catalogArea .wrap {
    flex-direction: column;
  }
}
.catalogArea.loading {
  transition-duration: 0.5s;
}
.catalogArea.loading .catalogBox {
  transform: translateY(-10px);
  opacity: 0;
  transition-duration: 0s;
}
.catalogArea.loading .funcBox {
  transform: translateY(-10px);
  opacity: 0;
}
.catalogArea .leftBox {
  width: 430px;
}
@media (min-width: 1181px) {
  .catalogArea .leftBox {
    padding-top: 15px;
  }
  .catalogArea .leftBox .titleBox .title {
    line-height: 1.2;
  }
  .catalogArea .leftBox .titleBox .subtitle {
    padding-top: 13px;
  }
}
@media (max-width: 1180px) {
  .catalogArea .leftBox {
    width: 100%;
    margin-bottom: 20px;
    text-align: center;
  }
  .catalogArea .leftBox .titleBox {
    text-align: center;
  }
  .catalogArea .leftBox .titleBox .subtitle::before {
    left: 50%;
    transform: translateX(-50%);
  }
}
.catalogArea .leftBox .classBox {
  padding-top: 30px;
}
@media (max-width: 1440px) {
  .catalogArea .leftBox .classBox {
    padding-top: 0;
  }
}
@media (max-width: 1180px) {
  .catalogArea .leftBox .classBox {
    margin: 0px auto 0px;
  }
}
@media (max-width: 1180px) {
  .catalogArea .leftBox .classBox .classLink.pc {
    display: none;
  }
}
.catalogArea .leftBox .classBox .classLink.mobile {
  display: none;
}
@media (max-width: 1180px) {
  .catalogArea .leftBox .classBox .classLink.mobile {
    display: flex;
  }
}
.catalogArea .rightBox {
  width: calc(100% - 430px);
  padding-left: 69px;
  position: relative;
}
@media (max-width: 1500px) {
  .catalogArea .rightBox {
    padding-left: 20px;
  }
}
@media (max-width: 1180px) {
  .catalogArea .rightBox {
    width: 100%;
    padding: 0;
  }
}
.catalogArea .unClick {
  pointer-events: none;
}
.catalogArea .catalogBox {
  transition: all 0.4s;
  position: relative;
}
.catalogArea .catalogBox.hide {
  pointer-events: none;
  opacity: 0;
  transform: translateY(-5px);
  transition: all 0.2s;
}
.catalogArea .funcBox {
  width: 90%;
  max-width: 792px;
  height: 284px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 35px 43px 37px;
  position: absolute;
  bottom: 30px;
  left: 69px;
  pointer-events: none;
}
@media (max-width: 1500px) {
  .catalogArea .funcBox {
    width: calc(100% - 50px - 20px);
    max-width: 100%;
    left: auto;
    right: 50px;
    padding: 25px 30px 30px;
    bottom: 20px;
  }
}
@media (max-width: 1180px) {
  .catalogArea .funcBox {
    width: 100%;
    max-width: 840px;
    padding: 20px 30px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
  }
}
.catalogArea .funcBox .numBox {
  margin-left: auto;
  display: flex;
  align-items: center;
  padding: 2px 10px 0 0;
}
@media (max-width: 768px) {
  .catalogArea .funcBox .numBox {
    padding: 0;
  }
}
.catalogArea .funcBox .numBox .num {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3; /* 130% */
  letter-spacing: 0.6px;
}
.catalogArea .funcBox .numBox .num.now {
  color: #6A2D98;
}
.catalogArea .funcBox .numBox .num.all {
  color: #A2A2A2;
  position: relative;
  padding-left: 22px;
}
.catalogArea .funcBox .numBox .num.all::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 16px;
  background-color: #A2A2A2;
  position: absolute;
  left: 12px;
  top: calc(50% - 8px);
  transform: rotate(33deg);
}
.catalogArea .funcBox .arrow {
  pointer-events: auto;
}

.catalogList {
  margin: 0 -30px;
  position: relative;
}
@media (max-width: 1180px) {
  .catalogList {
    margin: 0 -20px;
  }
}
.catalogList .catalogItem {
  padding: 0;
}
.catalogList .item {
  position: relative;
  overflow: hidden;
  padding: 30px;
}
@media (max-width: 1500px) {
  .catalogList .item {
    padding: 30px 30px 30px 50px;
  }
}
@media (max-width: 1180px) {
  .catalogList .item {
    width: 100%;
    max-width: 840px;
    padding: 20px;
    margin: 0 auto;
  }
}
.catalogList .Img {
  width: 100%;
  max-width: 836px;
  border-radius: 16px;
  overflow: hidden;
  margin-left: auto;
  aspect-ratio: 840/540;
}
.catalogList .Img img {
  width: 100%;
  height: auto;
  display: block;
  backface-visibility: hidden;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.catalogList .noPic {
  width: 100%;
  max-width: 836px;
  aspect-ratio: 840/540;
  background-color: #C1BCCF;
  border-radius: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
}
.catalogList .noPic img {
  display: block;
  width: 100%;
  max-width: 100px;
  height: auto;
}
@media (max-width: 768px) {
  .catalogList .noPic img {
    max-width: 60px;
  }
}
.catalogList .Txt {
  width: 90%;
  max-width: 792px;
  height: 284px;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 0 40px 0 rgba(85, 85, 85, 0.12);
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 35px 40px 37px;
  margin-top: -90px;
}
@media (max-width: 1500px) {
  .catalogList .Txt {
    width: calc(100% - 50px);
    max-width: 100%;
    right: 20px;
    padding: 25px 30px 30px;
  }
}
@media (max-width: 1180px) {
  .catalogList .Txt {
    padding: 20px 30px;
    width: 100%;
    right: 0;
    margin-top: 20px;
  }
}
.catalogList .Txt .title {
  color: #414141;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: 0.72px;
  padding-bottom: 20px;
  position: relative;
}
.catalogList .Txt .title::before {
  content: "";
  position: absolute;
  width: 58px;
  height: 2px;
  background-color: #C271FF;
  position: absolute;
  bottom: 0;
  left: 0;
}
.catalogList .Txt .title a {
  display: block;
}
@media (max-width: 1500px) {
  .catalogList .Txt .title {
    padding-right: 70px;
  }
}
@media (max-width: 1180px) {
  .catalogList .Txt .title {
    font-size: 22px;
  }
}
@media (max-width: 768px) {
  .catalogList .Txt .title {
    font-size: 20px;
    padding-right: 85px;
  }
}
.catalogList .Txt .text {
  height: 85px;
  color: #7C7C7C;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.77;
  letter-spacing: 0.54px;
  margin-top: 20px;
}
.catalogList .Txt .text.ellipsis {
  height: 75px;
  overflow: hidden;
}
@media (max-width: 768px) {
  .catalogList .Txt .text {
    font-size: 14px;
  }
  .catalogList .Txt .text.ellipsis {
    height: 70px;
  }
}
.catalogList .Txt .btnBox {
  margin-top: auto;
  margin-left: 134px;
}
.catalogList .Txt .btnBox.noArrow {
  margin-left: 0;
}

.facArea {
  width: 100%;
  padding: 50px 0 80px;
  position: relative;
  overflow: hidden;
  z-index: 2;
}
@media (max-width: 1180px) {
  .facArea {
    padding: 30px 0 50px;
  }
}
@media (max-width: 768px) {
  .facArea {
    padding: 30px 0 20px;
  }
}
.facArea .decoBg2 {
  top: -10%;
  right: 0%;
}
.facArea .wrap {
  display: flex;
  flex-direction: row-reverse;
}
@media (max-width: 1180px) {
  .facArea .wrap {
    flex-direction: column-reverse;
  }
}
@media (max-width: 768px) {
  .facArea .wrap {
    padding: 0 20px;
  }
}
.facArea .leftBox {
  width: 100%;
  max-width: 156px;
}
@media (max-width: 1180px) {
  .facArea .leftBox {
    width: 100%;
  }
}
@media (max-width: 1180px) {
  .facArea .leftBox .classBox {
    display: none;
  }
}
@media (max-width: 1180px) {
  .facArea .leftBox .classLink.pc {
    display: none;
  }
}
.facArea .leftBox .classLink.mobile {
  display: none;
}
@media (max-width: 1180px) {
  .facArea .leftBox .classLink.mobile {
    display: flex;
  }
}
.facArea .rightBox {
  width: calc(100% - 156px);
}
@media (max-width: 1180px) {
  .facArea .rightBox {
    width: 100%;
  }
}
.facArea .rightBox .classBox {
  display: none;
}
@media (max-width: 1180px) {
  .facArea .rightBox .classBox {
    display: flex;
    max-width: 640px;
    margin: 0 auto 20px;
  }
}
.facArea .rightBox .titleBox {
  width: 100%;
  max-width: 446px;
  margin: 0 0 -169px auto;
}
@media (max-width: 1700px) {
  .facArea .rightBox .titleBox {
    max-width: 45%;
    padding-left: 120px;
  }
}
@media (max-width: 1440px) {
  .facArea .rightBox .titleBox {
    padding-left: 30px;
    margin-bottom: 30px;
    margin-left: 0;
    padding-left: 0;
  }
}
@media (max-width: 1180px) {
  .facArea .rightBox .titleBox {
    text-align: center;
    max-width: 100%;
  }
  .facArea .rightBox .titleBox .subtitle::before {
    left: 50%;
    transform: translateX(-50%);
  }
}
@media (max-width: 768px) {
  .facArea .rightBox .titleBox {
    margin-bottom: 10px;
  }
}
.facArea .facBox {
  width: 100%;
  position: relative;
  transition-duration: 0.5s;
}
.facArea .facBox.loading {
  transform: translateY(-10px);
  opacity: 0;
  transition-duration: 0s;
}
.facArea .facBox.loading .logoBox {
  opacity: 0;
  transform: translate3d(-50%, -50%, 0) rotateY(-180deg);
}
.facArea .facBox.loading .logoBox::before {
  opacity: 0;
  transform: scale(0.8);
}
.facArea .logoBox {
  width: 142px;
  aspect-ratio: 1/1;
  background-color: #fff;
  box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.26);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 740px;
  transform: translate3d(-50%, -50%, 0);
  z-index: 2;
  pointer-events: none;
}
.facArea .logoBox::before {
  content: "";
  position: absolute;
  width: calc(100% + 36px);
  height: calc(100% + 36px);
  border: 1px solid #eeedf3;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  position: absolute;
  left: -18px;
  top: -18px;
  z-index: -1;
}
@media (max-width: 1770px) {
  .facArea .logoBox {
    left: 55%;
  }
}
@media (max-width: 1440px) {
  .facArea .logoBox {
    top: -30px;
  }
}
@media (max-width: 1180px) {
  .facArea .logoBox {
    width: 100px;
    top: auto;
    bottom: 400px;
    left: 50%;
    padding: 15px;
  }
  .facArea .logoBox::before {
    width: calc(100% + 24px);
    height: calc(100% + 24px);
    left: -12px;
    top: -12px;
  }
}
@media (max-width: 768px) {
  .facArea .logoBox {
    bottom: calc((100vw - 40px) / 740px * 525px - 100px - 40px);
  }
}
@media (max-width: 480px) {
  .facArea .logoBox {
    width: 80px;
    bottom: calc((100vw - 40px) / 740px * 525px - 80px - 20px);
  }
  .facArea .logoBox::before {
    width: calc(100% + 18px);
    height: calc(100% + 18px);
    left: -9px;
    top: -9px;
  }
}
.facArea .logoBox.animate {
  transform: translate3d(-50%, -50%, 0) rotateY(-180deg);
}
.facArea .logoBox.animate::before {
  opacity: 0;
  transform: scale(0.8);
}
.facArea .logoBox img {
  display: block;
  width: 100%;
  max-width: 100px;
  position: relative;
}
.facArea .arrowBox {
  position: absolute;
  bottom: 5px;
  left: 901px;
}
@media (max-width: 1700px) {
  .facArea .arrowBox {
    left: calc(55% + 120px);
  }
}
@media (max-width: 1440px) {
  .facArea .arrowBox {
    left: auto;
    right: 0;
    bottom: 0;
  }
}
@media (max-width: 1180px) {
  .facArea .arrowBox {
    display: none;
  }
}
.facArea .dotsBox {
  height: 20px;
  display: flex;
  align-items: center;
}
@media (min-width: 769px) {
  .facArea .dotsBox {
    padding-left: 30px;
  }
}
@media (max-width: 768px) {
  .facArea .dotsBox {
    width: 100%;
  }
}
.facArea .slick-dots {
  position: relative;
  bottom: 0;
}
@media (max-width: 768px) {
  .facArea .slick-dots {
    justify-content: center;
  }
}
@media (min-width: 1181px) {
  .facArea .classBoxColumn .classLink a.current, .facArea .classBoxColumn .classLink span.current {
    font-size: 24px;
  }
}
@media (max-width: 768px) {
  .facArea .classBoxColumn .classLink {
    width: 100%;
  }
}

.facList {
  width: 100%;
  position: relative;
}
.facList .animate .Img::after {
  width: 0%;
  left: auto;
  right: -10%;
}
.facList .animate .Txt .title,
.facList .animate .Txt .productTitle,
.facList .animate .Txt .text,
.facList .animate .Txt .btnBox {
  opacity: 1;
  transform: translateX(0px);
}
.facList .animate .Txt .text {
  transition-delay: 0.2s;
}
.facList .animate .Txt .btnBox {
  transition-delay: 0.4s;
}
.facList .item {
  display: flex;
  align-items: flex-start;
}
@media (max-width: 1180px) {
  .facList .item {
    flex-direction: column-reverse;
    max-width: 740px;
    margin: 0 auto 0px;
  }
}
@media (min-width: 1181px) {
  .facList .item:hover .Img img {
    transform: scale(1.05);
  }
}
.facList .Img {
  width: 100%;
  max-width: 740px;
  aspect-ratio: 740/525;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
}
.facList .Img::after {
  content: "";
  position: absolute;
  display: block;
  width: 120%;
  height: 100%;
  background-color: #6A2D98;
  position: absolute;
  left: -10%;
  top: 0;
  transform: skewX(-15deg);
  pointer-events: none;
  z-index: 2;
  opacity: 1;
}
@media (max-width: 1700px) {
  .facList .Img {
    width: 55%;
  }
}
@media (max-width: 1180px) {
  .facList .Img {
    width: 100%;
  }
}
.facList .Img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
}
.facList .Txt {
  width: calc(100% - 740px);
  padding: 213px 0 5px 161px;
  display: flex;
  flex-direction: column;
  height: 525px;
}
@media (max-width: 1700px) {
  .facList .Txt {
    padding: 180px 0 20px 120px;
    width: 45%;
    padding: 213px 30px 5px 120px;
  }
}
@media (max-width: 1440px) {
  .facList .Txt {
    padding: 60px 0px 5px 30px;
    height: auto;
  }
}
@media (max-width: 1180px) {
  .facList .Txt {
    width: 100%;
    padding: 20px 0 50px;
    text-align: center;
  }
}
.facList .Txt .title,
.facList .Txt .productTitle,
.facList .Txt .text,
.facList .Txt .btnBox {
  opacity: 0;
  transform: translateX(-5px);
}
.facList .Txt .title {
  color: #414141;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: 0.72px;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.facList .Txt .productTitle {
  color: #6A2D98;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.62;
  letter-spacing: 0.48px;
  padding: 15px 0 0;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.facList .Txt .text {
  color: #7C7C7C;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.77;
  letter-spacing: 0.54px;
  padding-top: 33px;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 1440px) {
  .facList .Txt .text {
    padding: 20px 0;
  }
}
@media (max-width: 1180px) {
  .facList .Txt .text {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding: 20px 0 0px;
  }
}
.facList .Txt .btnBox {
  margin-top: auto;
  margin-left: 130px;
}
@media (max-width: 1440px) {
  .facList .Txt .btnBox {
    margin-left: 0;
  }
}
@media (max-width: 1180px) {
  .facList .Txt .btnBox {
    margin-top: 10px;
  }
}
.facList .Txt .btnBox.noArrow {
  margin-left: 0;
}

.facClassBox .arrowBox {
  position: relative;
  top: 0;
  left: 0;
}

.newsArea {
  padding: 107px 0 80px;
  position: relative;
  overflow: hidden;
  z-index: 2;
}
@media (max-width: 1180px) {
  .newsArea {
    padding: 80px 0 50px;
  }
}
@media (max-width: 960px) {
  .newsArea {
    padding: 60px 0 20px;
  }
}
@media (max-width: 768px) {
  .newsArea {
    padding: 30px 0 20px;
  }
}
.newsArea .decoMarquee {
  top: -20px;
}
.newsArea .decoBgCircle.circle1 {
  top: 6%;
  left: -10%;
}
.newsArea .decoBgCircle.circle2 {
  bottom: 5%;
  left: 15%;
}
.newsArea .wrap {
  display: flex;
  align-items: flex-start;
}
@media (max-width: 960px) {
  .newsArea .wrap {
    flex-direction: column;
  }
}
.newsArea .leftBox {
  width: 434px;
  flex-shrink: 0;
}
@media (max-width: 1500px) {
  .newsArea .leftBox {
    width: 380px;
  }
}
@media (max-width: 960px) {
  .newsArea .leftBox {
    width: 100%;
  }
}
@media (max-width: 1180px) {
  .newsArea .leftBox .titleBox {
    margin-bottom: 20px;
  }
}
.newsArea .funcBox {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 19px;
  margin-top: 95px;
}
.newsArea .funcBox .btnBox {
  margin-top: 0;
}
@media (max-width: 960px) {
  .newsArea .funcBox {
    margin-top: 0;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
}
.newsArea .rightBox {
  width: calc(100% - 434px);
  position: relative;
  margin-left: auto;
  padding: 5px 0 20px;
}
@media (max-width: 1500px) {
  .newsArea .rightBox {
    width: calc(100% - 380px);
  }
}
@media (max-width: 960px) {
  .newsArea .rightBox {
    width: 100%;
  }
}
.newsArea .newsBox {
  width: 1650px;
  position: relative;
  overflow: hidden;
}
@media (max-width: 1600px) {
  .newsArea .newsBox {
    width: calc(100% + 200px);
    margin-right: -200px;
    padding-right: 200px;
  }
}
@media (max-width: 960px) {
  .newsArea .newsBox {
    width: calc(100% + 40px);
    margin: 0 -20px;
    padding: 0;
  }
}

.newsList {
  width: 1100px;
  position: relative;
}
@media (max-width: 1600px) {
  .newsList {
    width: 100%;
  }
}
@media (max-width: 1440px) {
  .newsList {
    max-width: 540px;
  }
}
@media (max-width: 960px) {
  .newsList {
    max-width: 100%;
  }
}
@media (max-width: 768px) {
  .newsList {
    max-width: 540px;
    margin: 0 auto;
  }
}
.newsList .slick-list {
  overflow: visible;
}
.newsList .newsItem {
  padding: 20px 36px;
}
@media (max-width: 1600px) {
  .newsList .newsItem {
    padding: 20px;
  }
}
.newsList .Img {
  border-radius: 16px;
}
.newsList .Img img {
  width: 100%;
  display: block;
}
.newsList .classTitle {
  background: #9DA862;
  border-radius: 0 16px;
  color: #fff;
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.7px;
  padding: 4px 20px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.newsList .arrowIcon {
  position: absolute;
  bottom: 0;
  right: 0;
}
.newsList .Txt {
  display: flex;
  padding: 24px 10px;
}
@media (max-width: 768px) {
  .newsList .Txt {
    padding: 20px 10px;
  }
}
.newsList .Txt .title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.42;
  letter-spacing: 0.72px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 10px;
}
@media (max-width: 1180px) {
  .newsList .Txt .title {
    font-size: 20px;
    letter-spacing: 0.5px;
  }
}
@media (max-width: 840px) {
  .newsList .Txt .title {
    margin-top: 0;
  }
}
.newsList .Txt .title a {
  color: #414141;
}
@media (min-width: 1181px) {
  .newsList .Txt .title a:hover {
    color: #6A2D98;
  }
}
.newsList .Txt .text {
  color: #7C7C7C;
  font-family: "Noto Sans TC", "Microsoft JhengHei", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.77;
  letter-spacing: 0.54px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 16px;
}
@media (max-width: 1180px) {
  .newsList .Txt .text {
    font-size: 16px;
    letter-spacing: 0.3px;
    margin-top: 10px;
  }
}
@media (max-width: 840px) {
  .newsList .Txt .text {
    margin-top: 5px;
  }
}
@media (max-width: 1180px) {
  .newsList .Txt {
    padding: 15px 10px;
  }
}
.newsList .dateBox {
  text-align: center;
  width: 108px;
  padding-right: 28px;
  padding: 0 28px 0 5px;
}
@media (max-width: 1180px) {
  .newsList .dateBox {
    padding: 0 15px 0 0;
  }
}
@media (max-width: 840px) {
  .newsList .dateBox {
    width: 85px;
    padding: 0 10px 0 0;
  }
}
.newsList .date {
  color: #6A2D98;
  font-size: 55px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1.65px;
}
@media (max-width: 1180px) {
  .newsList .date {
    font-size: 50px;
    letter-spacing: 0px;
  }
}
@media (max-width: 840px) {
  .newsList .date {
    font-size: 40px;
  }
}
.newsList .year {
  width: calc(100% - 7px);
  color: #979797;
  font-size: 12px;
  font-weight: 600;
  line-height: 20px;
  letter-spacing: 0.36px;
  position: relative;
  padding: 0 10px;
  margin: 10px 2px 0 5px;
}
.newsList .year::before {
  content: "";
  position: absolute;
  width: 4px;
  height: 100%;
  border: 2px solid #6A2D98;
  border-right: none;
  position: absolute;
  left: 0;
  top: 0;
}
.newsList .year::after {
  content: "";
  position: absolute;
  width: 4px;
  height: 100%;
  border: 2px solid #6A2D98;
  border-left: none;
  position: absolute;
  right: 0;
  top: 0;
}

.faqArea {
  padding: 185px 0 83px;
  background-image: url(../../images/tw/home_faq_bg.png);
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  z-index: 2;
}
@media (max-width: 1680px) {
  .faqArea {
    padding-top: 0px 0 60px;
  }
}
@media (max-width: 1180px) {
  .faqArea {
    padding: 150px 0 60px;
  }
}
@media (max-width: 768px) {
  .faqArea {
    padding: 120px 0 60px;
  }
}
.faqArea .decoWave {
  top: -225px;
}
@media (max-width: 1180px) {
  .faqArea .decoWave {
    top: -20px;
  }
}
@media (max-width: 768px) {
  .faqArea .decoWave {
    top: 0;
  }
}
.faqArea .decoMarquee {
  top: 17px;
}
@media (max-width: 1180px) {
  .faqArea .decoMarquee {
    top: 10%;
  }
}
@media (max-width: 768px) {
  .faqArea .decoMarquee {
    display: none;
  }
}
.faqArea .decoBgCircle {
  bottom: -30%;
  right: 18%;
}
.faqArea .wrap {
  display: flex;
  align-items: flex-start;
}
@media (max-width: 1180px) {
  .faqArea .wrap {
    flex-direction: column;
  }
}
.faqArea .leftBox {
  width: 296px;
  padding-right: 30px;
}
@media (max-width: 1180px) {
  .faqArea .leftBox {
    width: 100%;
    max-width: 640px;
    margin: 0 auto 10px;
    padding: 0;
  }
}
@media (max-width: 768px) {
  .faqArea .leftBox {
    margin: 0 auto;
  }
}
@media (max-width: 1180px) {
  .faqArea .leftBox .classLink.pc {
    display: none;
  }
}
.faqArea .leftBox .classLink.mobile {
  display: none;
}
@media (max-width: 1180px) {
  .faqArea .leftBox .classLink.mobile {
    display: flex;
  }
}
@media (max-width: 1180px) {
  .faqArea .leftBox .titleBox {
    text-align: center;
    max-width: 100%;
  }
  .faqArea .leftBox .titleBox .subtitle::before {
    left: 50%;
    transform: translateX(-50%);
  }
}
.faqArea .faqBox {
  width: calc(100% - 296px);
  max-width: 1083px;
  padding: 13px 0 50px;
  position: relative;
  overflow: hidden;
  transition: height 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}
@media (max-width: 1180px) {
  .faqArea .faqBox {
    width: 100%;
    max-width: 100%;
    padding: 10px 0 40px;
  }
}
.faqArea .faqBox .pagination {
  margin-top: 32px;
  width: 100%;
  right: auto;
  left: 0;
  transform: translate3d(0px, 0, 0);
  bottom: 0px;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}
@media (max-width: 768px) {
  .faqArea .faqBox .pagination {
    bottom: 0px;
  }
}
.faqArea .faqBox .pagination .paginationDot {
  width: 6px;
  height: 6px;
  margin: 5px;
  background-color: #A2A2A2;
  border-radius: 6px;
}
@media (min-width: 1181px) {
  .faqArea .faqBox .pagination .paginationDot:hover {
    background-color: #7D6EA9;
  }
}
.faqArea .faqBox .pagination .paginationDot.active {
  width: 28px;
  background-color: #6A2D98;
}

.faqList {
  display: flex;
  flex-direction: column;
  transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}
@media (max-width: 768px) {
  .faqList {
    max-height: 60vh;
    overflow: auto;
  }
  .faqList::-webkit-scrollbar-track {
    box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.15);
    background-color: #dbdbdb;
  }
  .faqList::-webkit-scrollbar {
    width: 3px;
    height: 3px;
    background-color: #dbdbdb;
  }
  .faqList::-webkit-scrollbar-thumb {
    background: #6A2D98;
  }
  .faqList {
    padding-right: 10px;
  }
}
.faqList .faqItem {
  transition: height 0.3s ease;
}
.faqList .faqItem.active .faqAnswer {
  display: flex;
}
.faqList .faqItem.active .answerMark {
  animation: slideDownAnimation 0.4s ease-in-out forwards;
}
.faqList .faqItem.active .answerContent {
  animation: slideDownAnimation 0.4s 0.1s ease-in-out forwards;
}
.faqList .faqItem.active .faqQuestion {
  background-color: #6A2D98;
  border: 2px solid #6A2D98;
}
.faqList .faqItem.active .faqQuestion .questionMark,
.faqList .faqItem.active .faqQuestion .faqTitle {
  color: #fff;
}
.faqList .faqItem.active .faqQuestion .questionMark::before {
  background-color: #fff;
}
.faqList .faqItem.active .faqQuestion .toggleIcon {
  background-color: #fff;
}
.faqList .faqItem.active .faqQuestion .toggleIcon .icon {
  color: #414141;
  transform: translate(-50%, -50%) rotate(-90deg) scaleX(-1);
}
.faqList .item {
  padding: 12.5px 30px;
}
@media (max-width: 1440px) {
  .faqList .item {
    padding: 10px 0;
  }
}
.faqList .faqQuestion {
  border-radius: 16px;
  border: 2px solid #fff;
  background-color: rgba(255, 255, 255, 0.84);
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.1));
  display: flex;
  align-items: center;
  padding: 29px 40px;
  cursor: pointer;
}
@media (min-width: 1181px) {
  .faqList .faqQuestion:hover {
    background-color: #6A2D98;
    border: 2px solid #6A2D98;
  }
  .faqList .faqQuestion:hover .questionMark,
  .faqList .faqQuestion:hover .faqTitle {
    color: #fff;
  }
  .faqList .faqQuestion:hover .questionMark::before {
    background-color: #fff;
  }
  .faqList .faqQuestion:hover .toggleIcon {
    background-color: #fff;
  }
  .faqList .faqQuestion:hover .toggleIcon .icon {
    color: #414141;
    transform: translate(-50%, -50%) rotate(-90deg) scaleX(-1);
  }
}
@media (max-width: 1180px) {
  .faqList .faqQuestion {
    padding: 20px 30px;
  }
}
@media (max-width: 768px) {
  .faqList .faqQuestion {
    padding: 20px;
    filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.1));
  }
}
.faqList .questionMark,
.faqList .answerMark {
  width: 124px;
  color: #6A2D98;
  flex-shrink: 0;
  font-size: 46px;
  font-weight: 700;
  line-height: 26px;
  letter-spacing: 1.38px;
  position: relative;
  padding-right: 55px;
}
.faqList .questionMark::before,
.faqList .answerMark::before {
  content: "";
  position: absolute;
  width: 7px;
  height: 7px;
  background-color: #6A2D98;
  border-radius: 50%;
  position: absolute;
  right: 25px;
  top: calc(50% - 3.5px);
}
@media (max-width: 1180px) {
  .faqList .questionMark,
  .faqList .answerMark {
    width: 100px;
    font-size: 40px;
    padding-right: 40px;
  }
}
@media (max-width: 768px) {
  .faqList .questionMark,
  .faqList .answerMark {
    width: 80px;
    font-size: 36px;
    padding-right: 30px;
  }
  .faqList .questionMark::before,
  .faqList .answerMark::before {
    right: 16px;
  }
}
@media (max-width: 400px) {
  .faqList .questionMark,
  .faqList .answerMark {
    font-size: 32px;
  }
}
.faqList .faqTitle {
  color: #414141;
  font-family: "Noto Sans TC", "Microsoft JhengHei", sans-serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.5;
  flex-grow: 1;
}
@media (max-width: 768px) {
  .faqList .faqTitle {
    font-size: 20px;
    line-height: 1.4;
  }
}
.faqList .toggleIcon {
  flex-shrink: 0;
  width: 34px;
  height: 31px;
  border-radius: 6px;
  position: relative;
  background-color: #6A2D98;
  position: relative;
}
.faqList .toggleIcon .icon {
  width: 10px;
  height: 17px;
  color: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
}
.faqList .faqAnswer {
  display: none;
  align-items: flex-start;
  padding: 30px 90px 0px 42px;
}
@media (max-width: 1440px) {
  .faqList .faqAnswer {
    padding: 20px 20px 0px;
  }
}
.faqList .faqAnswer.show {
  display: flex;
}
.faqList .answerMark {
  padding-top: 10px;
  opacity: 0;
  transform: translateX(-10px);
}
.faqList .answerMark::before {
  top: calc(50% - 3.5px + 10px);
}
.faqList .answerContent {
  color: #414141;
  font-family: "Noto Sans TC", "Microsoft JhengHei", sans-serif;
  font-size: 16px;
  line-height: 28px;
  opacity: 0;
  transform: translateX(-10px);
}

.faq-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
}
.faq-dots .dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #ddd;
  cursor: pointer;
  transition: all 0.3s ease;
}
.faq-dots .dot.active {
  background-color: #6A2D98;
  transform: scale(1.3);
}
.faq-dots .dot:hover {
  background-color: #9DA862;
}
