@charset "UTF-8";
.newsList .imgBox .linkBtn, .newsList .item::after, .newsList .item::before, .newsList .newsItem, .newsArea::before, .productList .Txt .textBox, .productList .item::before, .liposomeList .Txt, .liposomeList .dot::after, .liposomeList .plusBox .plus::after, .liposomeList .plusBox::after, .liposomeList .item::before, .bannerArea .scrollDownBox .scrollDown, .popWindowArea .close::before, .popWindowArea .close::after, .popWindowArea .close {
  transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.popWindowArea {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 500;
  width: 100%;
  height: 100vh;
  /*以防有不支援dvh的瀏覽器*/
  height: 100dvh;
  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%;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(180deg, rgba(62, 32, 53, 0.95) 0%, rgba(34, 23, 33, 0.95) 100%);
  box-shadow: 0 -1px 10px 0 rgba(255, 255, 255, 0.08) inset, 0 10px 20px 0 #3D202F;
  backdrop-filter: blur(1px);
  border-radius: 30px;
  padding: 30px 20px 30px 30px;
  opacity: 0;
  transition: all 0.7s;
}
.popWindowArea .popWindowContent {
  max-height: 80dvh;
  overflow-y: auto;
  overflow-x: clip;
  padding-right: 10px;
  scrollbar-gutter: stable;
}
.popWindowArea .popWindowContent::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.15);
  background-color: #1c101a;
}
.popWindowArea .popWindowContent::-webkit-scrollbar {
  width: 5px;
  height: 5px;
  background-color: #1c101a;
}
.popWindowArea .popWindowContent::-webkit-scrollbar-thumb {
  background: #F6B565;
  border-radius: 10px;
}
.popWindowArea .popWindowContent p:last-child {
  margin-bottom: 0;
}
.popWindowArea img {
  display: block;
  max-width: 100%;
  height: auto;
  backface-visibility: hidden;
}
.popWindowArea .Txt {
  padding: 30px;
}
.popWindowArea .Txt .popTitle {
  font-size: clamp(20px, 1.76vw, 24px);
  margin-bottom: 25px;
}
.popWindowArea .close {
  width: 46px;
  height: 46px;
  background: none;
  background-color: #F6B565;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  translate: 50% -50%;
  z-index: 1;
}
.popWindowArea .close::before, .popWindowArea .close::after {
  content: "";
  position: absolute;
  width: 50%;
  height: 2px;
  background-color: #FFFFFF;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.popWindowArea .close::before {
  transform: rotate(45deg);
}
.popWindowArea .close::after {
  transform: rotate(-45deg);
}
@media (min-width: 1181px) {
  .popWindowArea .close:hover {
    background-color: #EA6765;
  }
  .popWindowArea .close:hover::before, .popWindowArea .close:hover::after {
    background-color: #fff;
  }
}
.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 {
  position: relative;
  z-index: 1;
}
.bannerArea .wrap {
  max-width: none;
  padding: 0;
}
.bannerArea .scrollDownBox {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 50%;
  width: 100%;
  max-width: 1660px;
  height: 100%;
  overflow: hidden;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  padding: 0 10px;
  translate: -50% 0;
  pointer-events: none;
  z-index: 2;
}
@media (max-width: 1180px) {
  .bannerArea .scrollDownBox {
    align-items: flex-end;
    padding: 20px 30px;
  }
}
@media (max-width: 768px) {
  .bannerArea .scrollDownBox {
    padding: 20px;
  }
}
.bannerArea .scrollDownBox .scrollDown {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  justify-content: unset;
  align-items: unset;
  -moz-column-gap: 14px;
       column-gap: 14px;
  cursor: pointer;
  pointer-events: auto;
}
@media (max-width: 1536px) {
  .bannerArea .scrollDownBox .scrollDown {
    -moz-column-gap: 8px;
         column-gap: 8px;
  }
}
@media (max-width: 1180px) {
  .bannerArea .scrollDownBox .scrollDown {
    flex-direction: column;
    row-gap: 4px;
  }
}
@media (min-width: 1181px) {
  .bannerArea .scrollDownBox .scrollDown:hover {
    opacity: 0.6;
    translate: 0 20px;
  }
}
.bannerArea .scrollDownBox .scrollDown .text {
  display: block;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.0625em;
  line-height: 1.8;
  color: #FFFFFF;
  writing-mode: vertical-lr;
  scale: -1;
}
@media (max-width: 1536px) {
  .bannerArea .scrollDownBox .scrollDown .text {
    font-size: 15px;
  }
}
@media (max-width: 1180px) {
  .bannerArea .scrollDownBox .scrollDown .text {
    font-size: 14px;
    writing-mode: horizontal-tb;
    scale: 1;
  }
}
@media (max-width: 768px) {
  .bannerArea .scrollDownBox .scrollDown .text {
    font-size: 13px;
  }
}
.bannerArea .scrollDownBox .scrollDown .line {
  position: relative;
  display: block;
  flex: 1 1 auto;
  width: 2px;
  background-color: #FFFFFF;
}
@media (max-width: 1180px) {
  .bannerArea .scrollDownBox .scrollDown .line {
    flex: none;
    width: 100%;
    height: 2px;
  }
}
.bannerArea .scrollDownBox .scrollDown .line::before {
  content: "";
  position: absolute;
  pointer-events: none;
  content: "";
  width: 0.375em;
  height: auto;
  background: #FFFFFF;
  aspect-ratio: 1/1;
  border-radius: 50%;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
  z-index: 1;
  animation: bannerScrollAnimation 2s linear infinite alternate;
}
@media (max-width: 1180px) {
  .bannerArea .scrollDownBox .scrollDown .line::before {
    width: 0.5em;
    left: 0%;
    translate: 0 40%;
    animation: bannerScrollAnimationMobile 2s linear infinite alternate;
  }
}

.bannerList:not(.slick-slider) {
  display: flex;
}
.bannerList:not(.slick-slider) .bannerItem {
  flex: 0 0 auto;
  width: 100%;
}
.bannerList .bannerItem {
  position: relative;
  height: clamp(680px, 48.7vw, 935px);
}
@media (max-width: 768px) {
  .bannerList .bannerItem {
    height: clamp(600px, 97.66vw, 750px);
  }
}
.bannerList .imgBox {
  position: relative;
  height: 100%;
  overflow: hidden;
}
.bannerList .decoBox {
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  pointer-events: none;
}
@media (max-width: 768px) {
  .bannerList .decoBox {
    display: none;
  }
}
.bannerList .decoBox .particle {
  position: absolute;
  opacity: 0;
  animation: bannerParticleDrift linear infinite;
}
.bannerList .decoBox .particle img {
  width: 100%;
  height: auto;
  display: block;
  backface-visibility: hidden;
}
.bannerList .decoBox .particleFocusArea {
  --focusTop: 12%;
  --focusLeft: 45%;
  --focusWidth: 48vw;
  --focusHeight: 84%;
  position: absolute;
  top: var(--focusTop);
  right: auto;
  bottom: auto;
  left: var(--focusLeft);
  width: var(--focusWidth);
  height: var(--focusHeight);
}
.bannerList .decoBox .particleFocusArea .particle {
  --particleTravel: calc(-0.5 * var(--focusWidth));
}
.bannerList .decoBox .particleBlur {
  --particleTravel: -45vw;
}
@media (prefers-reduced-motion: reduce) {
  .bannerList .decoBox {
    display: none;
  }
}
.bannerList .slick-slide:not(.slick-active) .decoBox .particle {
  animation-play-state: paused;
}
.bannerList .Img {
  height: 100%;
}
.bannerList .Img img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.bannerList .Txt {
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 1540px;
  margin: 0 auto;
  padding-left: 90px;
  padding-right: 90px;
}
@media (max-width: 1180px) {
  .bannerList .Txt {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (max-width: 768px) {
  .bannerList .Txt {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.bannerList .Txt {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  padding-top: var(--headerHeight);
  padding-bottom: 60px;
}
@media (max-width: 1536px) {
  .bannerList .Txt {
    padding-left: 76px;
    padding-right: 76px;
  }
}
@media (max-width: 1180px) {
  .bannerList .Txt {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (max-width: 768px) {
  .bannerList .Txt {
    justify-content: flex-end;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 80px;
  }
}
.bannerList .Txt .textBox {
  position: relative;
  max-width: 540px;
}
.bannerList .Txt .title {
  font-size: clamp(28px, 3.05vw, 50px);
  font-weight: 700;
  letter-spacing: 0.0625em;
  line-height: 1.25;
  color: #FFFFFF;
}
.bannerList .Txt .decoTitle {
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(44px, 4.89vw, 80px);
  font-weight: 500;
  letter-spacing: -0.0125em;
  line-height: 1;
  color: #FFFFFF;
  background: linear-gradient(102deg, #F6B565 23%, #EA6765 105%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 0.35em;
}
.bannerList .Txt .text {
  position: relative;
  font-size: clamp(15px, 1vw, 18px);
  font-weight: 400;
  letter-spacing: 0.056em;
  line-height: 1.8;
  color: #f0f0f0;
  padding-top: 2em;
  margin-top: 1.75em;
}
@media (max-width: 1180px) {
  .bannerList .Txt .text {
    padding-top: 1.5em;
    margin-top: 1.25em;
  }
}
@media (max-width: 575px) {
  .bannerList .Txt .text {
    font-size: 14px;
  }
}
.bannerList .Txt .text::before {
  content: "";
  position: absolute;
  pointer-events: none;
  content: "";
  width: min(15%, 75px);
  height: 2px;
  background: linear-gradient(102deg, #F6B565 23%, #EA6765 105%);
  top: 0;
  left: 0;
}

.liposomeArea {
  position: relative;
  padding: 120px 0 50px;
  overflow-x: clip;
}
@media (max-width: 1180px) {
  .liposomeArea {
    padding: 80px 0 50px;
  }
}
@media (max-width: 768px) {
  .liposomeArea {
    padding: 60px 0 50px;
  }
}
.liposomeArea .wrap {
  display: grid;
  align-items: center;
  grid-template-columns: repeat(12, 1fr);
  gap: 20px 8px;
}
@media (max-width: 1180px) {
  .liposomeArea .wrap {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }
}
@media (max-width: 991px) {
  .liposomeArea .wrap {
    max-width: 630px;
  }
}
.liposomeArea .wrap > .btnBox {
  width: -moz-fit-content;
  width: fit-content;
  justify-self: flex-end;
  grid-column: -3/-1;
}
@media (max-width: 1180px) {
  .liposomeArea .wrap > .btnBox {
    grid-column: 1/-1;
    justify-self: flex-start;
  }
}
@media (max-width: 991px) {
  .liposomeArea .wrap > .btnBox {
    justify-self: center;
  }
}
.liposomeArea .decoBox {
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.liposomeArea .decoBox .shape {
  width: 1400px;
  height: auto;
  aspect-ratio: 4/3;
  background: radial-gradient(50% 50% at 50% 50%, #D8415D 0%, rgba(114, 34, 49, 0) 100%);
  position: absolute;
  top: 0;
  right: 0;
  bottom: auto;
  left: auto;
  translate: 40% -50%;
}
@media (max-width: 1180px) {
  .liposomeArea .decoBox .shape {
    width: 1200px;
  }
}
.liposomeArea .decoBox .ball-1 {
  width: clamp(60px, 5.21vw, 100px);
  position: absolute;
  top: 31%;
  right: 4.5%;
  bottom: auto;
  left: auto;
}
@media (max-width: 1536px) {
  .liposomeArea .decoBox .ball-1 {
    right: 30px;
  }
}
@media (max-width: 1180px) {
  .liposomeArea .decoBox .ball-1 {
    width: min(50px, 6.51vw);
  }
}
.liposomeArea .decoBox .ball-2 {
  width: clamp(80px, 6.61vw, 127px);
  position: absolute;
  top: 36%;
  right: auto;
  bottom: auto;
  left: 7%;
}
@media (max-width: 1536px) {
  .liposomeArea .decoBox .ball-2 {
    left: 30px;
  }
}
@media (max-width: 1180px) {
  .liposomeArea .decoBox .ball-2 {
    width: min(60px, 7.8125vw);
  }
}
@media (max-width: 575px) {
  .liposomeArea .decoBox .ball-2 {
    width: 30px;
    top: 30%;
    left: 40px;
  }
}
.liposomeArea .decoBox .ball-3 {
  width: clamp(40px, 3.54vw, 68px);
  position: absolute;
  top: auto;
  right: auto;
  bottom: 22%;
  left: 9%;
}
@media (max-width: 1536px) {
  .liposomeArea .decoBox .ball-3 {
    left: 80px;
  }
}
@media (max-width: 1180px) {
  .liposomeArea .decoBox .ball-3 {
    width: min(40px, 5.21vw);
    left: 10px;
  }
}
@media (max-width: 768px) {
  .liposomeArea .decoBox .ball-3 {
    bottom: 40%;
    left: 30px;
  }
}
@media (max-width: 575px) {
  .liposomeArea .decoBox .ball-3 {
    width: 25px;
    left: 10px;
  }
}
.liposomeArea .decoBox .ball-4 {
  width: clamp(60px, 5vw, 96px);
  position: absolute;
  top: auto;
  right: auto;
  bottom: 10.5%;
  left: -2.5%;
}
@media (max-width: 1180px) {
  .liposomeArea .decoBox .ball-4 {
    width: min(50px, 6.51vw);
    left: -30px;
  }
}
@media (max-width: 768px) {
  .liposomeArea .decoBox .ball-4 {
    bottom: 25%;
    left: -20px;
  }
}
@media (max-width: 575px) {
  .liposomeArea .decoBox .ball-4 {
    width: 40px;
    bottom: 34%;
  }
}
.liposomeArea .decoBox .ball-bLur-1 {
  width: clamp(70px, 5.21vw, 100px);
  position: absolute;
  top: 47%;
  right: -2.5%;
  bottom: auto;
  left: auto;
}
@media (max-width: 1180px) {
  .liposomeArea .decoBox .ball-bLur-1 {
    width: min(50px, 9.11vw);
    top: 40%;
    right: -20px;
  }
}
@media (max-width: 575px) {
  .liposomeArea .decoBox .ball-bLur-1 {
    width: 40px;
    top: 36%;
  }
}
.liposomeArea .decoBox .ball-bLur-2 {
  width: clamp(50px, 9.64vw, 85px);
  position: absolute;
  top: 23%;
  right: auto;
  bottom: auto;
  left: 2%;
}
@media (max-width: 1536px) {
  .liposomeArea .decoBox .ball-bLur-2 {
    left: 0px;
  }
}
@media (max-width: 1180px) {
  .liposomeArea .decoBox .ball-bLur-2 {
    left: -40px;
  }
}
@media (max-width: 575px) {
  .liposomeArea .decoBox .ball-bLur-2 {
    left: -10px;
  }
}
.liposomeArea .decoBox .Img {
  height: auto;
}
.liposomeArea .decoBox .Img[class*=ball-] {
  max-width: 127px;
  aspect-ratio: 127/130;
}
.liposomeArea .decoBox .Img img {
  width: 100%;
  height: auto;
  display: block;
  backface-visibility: hidden;
}
.liposomeArea .titleBox:has(.title) {
  grid-column: 1/4;
}
@media (max-width: 1180px) {
  .liposomeArea .titleBox:has(.title) {
    grid-column: 1/-1;
  }
}
@media (max-width: 991px) {
  .liposomeArea .titleBox:has(.title) {
    text-align: center;
  }
}
.liposomeArea .titleBox:has(.text) {
  grid-column: 4/11;
  max-width: 620px;
  padding: 0 20px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 1180px) {
  .liposomeArea .titleBox:has(.text) {
    grid-column: 1/-1;
    padding: 0;
    margin-left: 0;
    margin-right: 0;
  }
}
@media (max-width: 991px) {
  .liposomeArea .titleBox:has(.text) {
    text-align: center;
  }
}
.liposomeArea .titleBox .text {
  margin-top: 0;
}

.liposomeBox {
  position: relative;
  min-width: 0;
  width: 100%;
  max-width: 1200px;
  grid-column: 1/-1;
  display: flex;
  flex-wrap: nowrap;
  justify-content: unset;
  align-items: center;
  -moz-column-gap: 80px;
       column-gap: 80px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 1180px) {
  .liposomeBox {
    -moz-column-gap: 54px;
         column-gap: 54px;
  }
}
@media (max-width: 991px) {
  .liposomeBox {
    flex-direction: column;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 40px;
  }
}
.liposomeBox .leftBox {
  position: relative;
  flex: 0 0 auto;
  width: 55%;
}
@media (max-width: 991px) {
  .liposomeBox .leftBox {
    width: 100%;
  }
}
.liposomeBox .circleOuter {
  display: block;
  width: 92%;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid rgba(240, 128, 96, 0.3);
  position: absolute;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  translate: -50% -50%;
}
.liposomeBox .dotCircle {
  width: 87%;
  height: auto;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  translate: -50% -50%;
  animation: rotate 20s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;
}
.liposomeBox .circleLinear {
  width: 76%;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  translate: -50% -50%;
}
.liposomeBox .decoLine {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  animation: rotate 12s cubic-bezier(0.25, 0.46, 0.45, 0.5) infinite reverse;
}
.liposomeBox .Img {
  width: 68%;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  translate: -50% -50%;
  overflow: clip;
}
.liposomeBox .Img img {
  width: 100%;
  height: auto;
  display: block;
  backface-visibility: hidden;
}

.liposomeList {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-wrap: nowrap;
  justify-content: unset;
  align-items: flex-end;
  flex-direction: column;
  row-gap: 2.5em;
}
@media (max-width: 991px) {
  .liposomeList {
    width: 100%;
    align-items: stretch;
    row-gap: 16px;
    padding-left: 30px;
  }
}
.liposomeList .liposomeItem {
  position: relative;
  max-width: 460px;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.0625em;
  line-height: 1.8;
  color: #FFFFFF;
  width: 100%;
  /*plusBox 尺寸，圓心落在 item 左邊界上，item 左內距與 linkBox 定位共用*/
  --plusSize: 3.75em;
  --plusOffset: calc(var(--plusSize) / 2);
  /*標題字級，同時用於 linkBox 對齊標題行的計算*/
  --titleSize: 1.625em;
  /*連接線角度與縮放、圓點相對 plusBox 圓心的座標，全部由 JS 依實際位置寫入*/
  --lineAngle: 0deg;
  --lineScale: 0;
  --dotX: 0px;
  --dotY: 0px;
  cursor: pointer;
}
@media (max-width: 1366px) {
  .liposomeList .liposomeItem {
    font-size: 15px;
    --titleSize: 1.5em;
    --plusSize: 3.25em;
  }
}
@media (max-width: 991px) {
  .liposomeList .liposomeItem {
    max-width: none;
    --plusSize: 3em;
    /*plusBox 收進 item 內，不再凸出到 wrap padding 外被 clip 裁掉*/
    --plusOffset: 0px;
  }
}
@media (max-width: 768px) {
  .liposomeList .liposomeItem {
    font-size: 14px;
    --plusSize: 2.5em;
  }
}
.liposomeList .liposomeItem {
  /*展開態*/
}
.liposomeList .liposomeItem.current {
  cursor: default;
}
.liposomeList .liposomeItem.current .item::before {
  opacity: 1;
  translate: 0 0;
}
.liposomeList .liposomeItem.current .plusBox::after {
  opacity: 1;
  scale: 1;
}
.liposomeList .liposomeItem.current .plusBox .plus::after {
  rotate: 90deg;
}
.liposomeList .liposomeItem.current .dot::after {
  opacity: 1;
  scale: 1;
}
.liposomeList .liposomeItem.current .Txt {
  grid-template-rows: auto 1fr;
}
@media (min-width: 1181px) {
  .liposomeList .liposomeItem:hover .item::before {
    opacity: 1;
    translate: 0 0;
  }
}
.liposomeList .item {
  position: relative;
  --borderRadius: 30px;
  border-radius: var(--borderRadius);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(180deg, rgba(62, 32, 53, 0.95) 0%, rgba(34, 23, 33, 0.95) 100%);
  box-shadow: 0 -1px 10px 0 rgba(255, 255, 255, 0.08) inset, 0 10px 20px 0 #3D202F;
  /*左內距 = plusBox 落在 item 內的寬度 + 原本的 column-gap*/
  padding: 1.25em 1.5em 1.25em calc(var(--plusSize) - var(--plusOffset) + 2.5em);
  overflow: clip;
}
@media (max-width: 1366px) {
  .liposomeList .item {
    padding: 1em 1.25em 1em calc(var(--plusSize) - var(--plusOffset) + 2em);
  }
}
@media (max-width: 991px) {
  .liposomeList .item {
    padding: 1em 1.25em 1em 3.5em;
  }
}
@media (max-width: 768px) {
  .liposomeList .item {
    --borderRadius: 20px;
    padding: 1em 1.25em 1em 3em;
  }
}
.liposomeList .item::before {
  content: "";
  position: absolute;
  pointer-events: none;
  content: "";
  width: 100%;
  height: 100%;
  background: radial-gradient(30% 70% at 100% -10%, rgba(216, 65, 93, 0.6) 0%, rgba(114, 34, 49, 0) 180%);
  border-radius: var(--borderRadius);
  top: 0;
  right: 0;
  translate: 30% -30%;
  opacity: 0;
}
.liposomeList {
  /*plusBox 與連接線的共用定位層，item padding-top + 標題行高一半 - plusBox 半徑，讓圓心對齊標題*/
}
.liposomeList .linkBox {
  width: var(--plusSize);
  height: auto;
  aspect-ratio: 1/1;
  position: absolute;
  top: calc(1.25em + var(--titleSize) * 1.8 / 2 - var(--plusSize) / 2);
  right: auto;
  bottom: auto;
  left: calc(var(--plusOffset) * -1);
  z-index: 1;
}
@media (max-width: 991px) {
  .liposomeList .linkBox {
    top: 1em;
    left: 0;
    translate: -50% 0;
  }
}
.liposomeList .plusBox {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: linear-gradient(102deg, #F6B565 23%, #EA6765 105%);
  line-height: normal;
}
.liposomeList .plusBox::before {
  content: "";
  position: absolute;
  pointer-events: none;
  content: "";
  width: 80%;
  height: auto;
  background: #FFFFFF;
  aspect-ratio: 1/1;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.liposomeList .plusBox::after {
  content: "";
  position: absolute;
  pointer-events: none;
  content: "";
  width: 150%;
  height: auto;
  background: linear-gradient(144deg, rgba(234, 103, 101, 0.6) 15%, rgba(240, 128, 96, 0.6) 85%);
  aspect-ratio: 1/1;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  scale: 0;
  opacity: 0;
  z-index: -1;
}
.liposomeList .plusBox .plus {
  position: relative;
  display: block;
  width: 40%;
  height: 40%;
}
.liposomeList .plusBox .plus::before {
  content: "";
  position: absolute;
  pointer-events: none;
  content: "";
  width: 100%;
  height: 2px;
  background: linear-gradient(102deg, #F6B565 23%, #EA6765 105%);
  border-radius: 1em;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.liposomeList .plusBox .plus::after {
  content: "";
  position: absolute;
  pointer-events: none;
  content: "";
  width: 2px;
  height: 100%;
  background: linear-gradient(102deg, #F6B565 23%, #EA6765 105%);
  border-radius: 1em;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.liposomeList {
  /*連往左側圖片的連接線，從 plusBox 圓心出發，線頭靠 DOM 順序被排在後面的 plusBox 蓋住*/
}
.liposomeList .linkLine {
  display: block;
  /*固定基準長度，實際長度改用 scaleX 縮放，逐幀更新才不會觸發重排*/
  width: 100px;
  height: 1px;
  background: linear-gradient(270deg, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0.35) 100%);
  position: absolute;
  top: 50%;
  right: 50%;
  bottom: auto;
  left: auto;
  transform-origin: 100% 50%;
  transform: rotate(var(--lineAngle)) scaleX(var(--lineScale));
  pointer-events: none;
}
.liposomeList .dot {
  display: block;
  width: 20px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: linear-gradient(102deg, #F6B565 23%, #EA6765 105%);
  /*座標由 JS 給定（相對 plusBox 圓心），-10px 為自身半徑*/
  /*不用 translate 定位，避免產生堆疊環境把 ::after 擠到本體之上*/
  position: absolute;
  top: calc(50% + var(--dotY) - 10px);
  right: auto;
  bottom: auto;
  left: calc(50% + var(--dotX) - 10px);
}
.liposomeList .dot::before {
  content: "";
  position: absolute;
  pointer-events: none;
  content: "";
  width: 60%;
  height: auto;
  background: #FFFFFF;
  aspect-ratio: 1/1;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.liposomeList .dot::after {
  content: "";
  position: absolute;
  pointer-events: none;
  content: "";
  width: 150%;
  height: auto;
  background: rgba(255, 255, 255, 0.6);
  aspect-ratio: 1/1;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  scale: 0;
  opacity: 0;
  will-change: scale, opacity;
  z-index: -1;
}
.liposomeList {
  /*直排後連接線失去水平指向左圖的前提，與末端圓點一併收起*/
}
@media (max-width: 991px) {
  .liposomeList .linkLine,
  .liposomeList .dot {
    display: none;
  }
}
.liposomeList .Txt {
  position: relative;
  /*第二列 0fr → 1fr 做展開，高度自適應內容*/
  display: grid;
  grid-template-rows: auto 0fr;
}
.liposomeList .Txt .title {
  font-size: var(--titleSize);
}
.liposomeList .Txt .textBox {
  min-height: 0;
  overflow: hidden;
}
.liposomeList .Txt .text {
  font-size: 1em;
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin-top: 0.5em;
}
@media (max-width: 375px) {
  .liposomeList .Txt .text {
    -webkit-line-clamp: 3;
  }
}
.liposomeList .Txt .btnBox {
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 10px;
}
.liposomeList .Txt .btnBox .btn {
  color: #fff;
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
  /*iOS Safari 的 initial 無法還原 -webkit-text-fill-color，須給明確顏色*/
  -webkit-text-fill-color: #fff;
}
.liposomeList .Txt .btnBox .btn .btnText,
.liposomeList .Txt .btnBox .btn .btnTextIn {
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
  -webkit-text-fill-color: #fff;
  color: #fff;
}
.liposomeList .Txt .btnBox .btn .btnArrow svg {
  filter: brightness(0) invert(1);
}

.productArea {
  position: relative;
  padding: 50px 0 150px;
  overflow-x: clip;
}
@media (max-width: 1180px) {
  .productArea {
    padding: 50px 0 100px;
  }
}
@media (max-width: 768px) {
  .productArea {
    padding: 50px 0 60px;
  }
}
.productArea .btnBox {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.productArea .decoBox {
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: -1;
}
.productArea .decoBox .shape {
  display: block;
  width: 1000px;
  height: auto;
  aspect-ratio: 1/1;
  background: radial-gradient(50% 30% at 50% 50%, rgba(171, 88, 96, 0.7) 0%, rgba(171, 88, 96, 0) 100%);
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  rotate: 20deg;
  translate: -40% -15%;
}
@media (max-width: 768px) {
  .productArea .decoBox .shape {
    width: 800px;
  }
}
.productArea .decoBox .hexagonDeco {
  width: min(857px, 60vw);
  aspect-ratio: 857/834;
  position: absolute;
  top: 0;
  right: 0;
  bottom: auto;
  left: auto;
  translate: 35% -40%;
  scale: -1 1;
}
@media (max-width: 768px) {
  .productArea .decoBox .hexagonDeco {
    width: min(600px, 90vw);
    translate: 50% -50%;
  }
}
@media (max-width: 480px) {
  .productArea .decoBox .hexagonDeco {
    width: 420px;
  }
}
.productArea .decoBox .hexagonDeco::before {
  content: "";
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url("../../images/deco/hexagon-grid.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.3;
}
@media (max-width: 768px) {
  .productArea .decoBox .hexagonDeco::before {
    opacity: 0.24;
  }
}
.productArea .decoBox .hexagonDeco.leftBottom {
  position: absolute;
  top: auto;
  right: auto;
  bottom: 0;
  left: 0;
  translate: -27% 40%;
  scale: 1 1;
}
@media (max-width: 1180px) {
  .productArea .decoBox .hexagonDeco.leftBottom {
    width: min(550px, 50vw);
  }
}
@media (max-width: 768px) {
  .productArea .decoBox .hexagonDeco.leftBottom {
    translate: -50% 40%;
  }
}
@media (max-width: 480px) {
  .productArea .decoBox .hexagonDeco.leftBottom {
    width: 400px;
  }
}
.productArea .decoBox .hexagonCanvas {
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
}

.productList {
  --gap: 24px;
  --borderWidth: 4px;
  --borderRadius: 30px;
  overflow: clip;
  filter: drop-shadow(4px 4px 20px rgba(255, 253, 253, 0.14));
}
@media (max-width: 1366px) {
  .productList {
    --gap: 16px;
  }
}
@media (max-width: 1180px) {
  .productList {
    margin: 0 -30px;
  }
}
@media (max-width: 768px) {
  .productList {
    margin: 0 -20px;
  }
}
@media (max-width: 480px) {
  .productList {
    --gap: 10px;
    --borderRadius: 24px;
  }
}
@media (max-width: 375px) {
  .productList {
    margin: 0;
  }
}
.productList:not(.slick-slider) {
  display: flex;
}
.productList:not(.slick-slider) .productItem {
  flex: 0 0 auto;
  width: 33.3333333333%;
}
.productList .slick-list {
  margin: calc(var(--borderWidth) * -1) calc(var(--gap) * -1 + 2px);
}
@media (max-width: 1180px) {
  .productList .slick-list {
    padding: 0 25% !important;
  }
}
@media (max-width: 768px) {
  .productList .slick-list {
    padding: 0 20% !important;
  }
}
@media (max-width: 575px) {
  .productList .slick-list {
    padding: 0 10% !important;
  }
}
@media (max-width: 480px) {
  .productList .slick-list {
    padding: 0 40px !important;
  }
}
@media (max-width: 375px) {
  .productList .slick-list {
    padding: 0 !important;
  }
}
.productList .slick-slide > div + div {
  margin-top: calc(var(--gap) * 1.75);
}
.productList .productItem {
  position: relative;
  padding: var(--borderWidth) var(--gap);
}
@media (max-width: 1180px) {
  .productList .productItem.current .item::before {
    opacity: 1;
    animation-play-state: running;
  }
  .productList .productItem.current .Txt .textBox {
    height: 3.7em;
    transition-delay: 0.2s;
  }
}
.productList .item {
  position: relative;
  border-radius: calc(var(--borderRadius) - var(--borderWidth));
}
.productList .item::before {
  content: "";
  position: absolute;
  pointer-events: none;
  width: calc(100% + var(--borderWidth));
  height: calc(100% + var(--borderWidth));
  border-radius: var(--borderRadius);
  background: linear-gradient(102deg, var(--btnGradientColor-1) 23%, var(--btnGradientColor-2) 105%);
  animation: btnGradientFlow 2.5s infinite linear;
  animation-play-state: paused;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  opacity: 0;
}
@media (min-width: 1181px) {
  .productList .item:hover::before {
    opacity: 1;
    animation-play-state: running;
  }
  .productList .item:hover .Txt .textBox {
    height: 3.7em;
    transition-delay: 0.2s;
  }
}
.productList .Img {
  border-radius: var(--borderRadius);
  overflow: clip;
}
.productList .Img img {
  width: 100%;
  height: auto;
  display: block;
  backface-visibility: hidden;
}
.productList .num {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  width: 54px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: linear-gradient(102deg, #F6B565 23%, #EA6765 105%);
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.05em;
  line-height: normal;
  color: #FFFFFF;
  position: absolute;
  top: 0.65em;
  right: auto;
  bottom: auto;
  left: 1em;
  z-index: 1;
}
@media (max-width: 1366px) {
  .productList .num {
    width: 50px;
    font-size: 20px;
  }
}
@media (max-width: 768px) {
  .productList .num {
    width: 44px;
    font-size: 16px;
  }
}
.productList .Txt {
  width: 100.25%;
  display: grid;
  grid-template-columns: 1fr auto;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.0625em;
  line-height: 1.8;
  color: #FFFFFF;
  padding: 1.25em 1.5em;
  border-radius: calc(var(--borderRadius) - var(--borderWidth)) calc(var(--borderRadius) - var(--borderWidth)) var(--borderRadius) var(--borderRadius);
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(180deg, rgba(62, 32, 53, 0.95) 0%, rgba(34, 23, 33, 0.95) 100%);
  box-shadow: 0 -1px 10px 0 rgba(255, 255, 255, 0.08) inset;
  position: absolute;
  top: auto;
  right: auto;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
}
@media (max-width: 1366px) {
  .productList .Txt {
    font-size: 15px;
  }
}
@media (max-width: 575px) {
  .productList .Txt {
    font-size: 14px;
  }
}
@media (max-width: 480px) {
  .productList .Txt {
    padding: 1em;
  }
}
@media (max-width: 375px) {
  .productList .Txt {
    font-size: 13px;
  }
}
.productList .Txt .title {
  font-size: 1.5em;
  letter-spacing: -0.05em;
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}
.productList .Txt .linkArrow {
  width: 2.25em;
  height: auto;
  aspect-ratio: 1/1;
}
.productList .Txt .textBox {
  position: relative;
  grid-column: 1/-1;
  font-size: 1em;
  height: 0;
  overflow: hidden;
}
.productList .Txt .textBox .text {
  font-size: 1em;
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin-top: 0.5em;
}
.productList .linkWrap {
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.aboutArea {
  position: relative;
  padding: 150px 0;
  overflow-x: clip;
}
@media (max-width: 1180px) {
  .aboutArea {
    padding: 100px 0;
  }
}
@media (max-width: 768px) {
  .aboutArea {
    padding: 60px 0;
  }
}
.aboutArea .wrap {
  display: grid;
  align-items: center;
  grid-template-columns: 5fr 7.8fr;
  grid-template-rows: repeat(3, auto);
  gap: 0 32px;
}
@media (max-width: 1180px) {
  .aboutArea .wrap {
    grid-template-columns: 5fr 7fr;
    gap: 20px 24px;
  }
}
@media (max-width: 991px) {
  .aboutArea .wrap {
    grid-template-columns: 1fr;
  }
}
.aboutArea .decoBox {
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.aboutArea .decoBox .decoBg {
  position: absolute;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 0;
  width: 76.5%;
  height: calc(100% - 40px);
  background-image: url("../../images/deco/home-about-bg.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  translate: 0 -50%;
  border-radius: 0 30px 30px 0;
  overflow: clip;
  z-index: 1;
}
@media (max-width: 991px) {
  .aboutArea .decoBox .decoBg {
    width: calc(100% - 30px);
    height: 60%;
    top: unset;
    bottom: 30px;
    translate: 0 0;
  }
}
@media (max-width: 768px) {
  .aboutArea .decoBox .decoBg {
    width: 100%;
    border-radius: 0;
  }
}
.aboutArea .decoBox .decoShape {
  position: absolute;
  top: 50%;
  right: 0;
  bottom: auto;
  left: auto;
  width: min(1520px, 90vw);
  height: auto;
  aspect-ratio: 152/231;
  background-image: url("../../images/deco/home-about-deco.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  translate: 0 -50%;
  overflow: clip;
}
.aboutArea .Img {
  grid-column: 2/-1;
  grid-row: 1/-1;
  border-radius: 30px;
  overflow: clip;
}
@media (max-width: 991px) {
  .aboutArea .Img {
    grid-row: 1/2;
    grid-column: unset;
    max-width: 640px;
  }
}
.aboutArea .Img img {
  width: 100%;
  height: auto;
  display: block;
  backface-visibility: hidden;
}
@media (max-width: 991px) {
  .aboutArea .titleBox {
    padding-right: 30px;
  }
}
@media (max-width: 768px) {
  .aboutArea .titleBox {
    padding-right: 0;
  }
}
.aboutArea .textBox {
  position: relative;
}
@media (max-width: 991px) {
  .aboutArea .textBox {
    padding-right: 30px;
  }
}
@media (max-width: 768px) {
  .aboutArea .textBox {
    padding-right: 0;
  }
}
.aboutArea .textBox .subtitle {
  font-size: clamp(20px, 1.76vw, 24px);
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.8;
  color: #FFFFFF;
}
.aboutArea .textBox .text {
  position: relative;
  max-width: 455px;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.0625em;
  line-height: 1.8;
  color: #FFFFFF;
  padding-top: 1em;
  margin-top: 1em;
}
@media (max-width: 1180px) {
  .aboutArea .textBox .text {
    font-size: 15px;
  }
}
@media (max-width: 991px) {
  .aboutArea .textBox .text {
    max-width: none;
  }
}
@media (max-width: 575px) {
  .aboutArea .textBox .text {
    font-size: 14px;
  }
}
.aboutArea .textBox .text::before {
  content: "";
  position: absolute;
  pointer-events: none;
  content: "";
  width: 10%;
  height: 2px;
  background: #FFFFFF;
  top: 0;
  left: 0;
}
.aboutArea .btnBox {
  width: -moz-fit-content;
  width: fit-content;
}

.newsArea {
  position: relative;
  padding: 100px 0 140px;
  overflow: clip;
}
@media (max-width: 1180px) {
  .newsArea {
    padding: 80px 0 100px;
  }
}
@media (max-width: 768px) {
  .newsArea {
    padding: 40px 0 80px;
  }
}
.newsArea::before {
  content: "";
  position: absolute;
  pointer-events: none;
  content: "";
  width: 624px;
  height: auto;
  background: transparent;
  aspect-ratio: 1/1;
  background-image: url("../../images/deco/home-news-deco.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: auto;
  right: 0;
  bottom: 0;
  left: auto;
  translate: 13% 55%;
  z-index: -1;
  animation: rotate 40s linear infinite;
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@media (max-width: 1180px) {
  .newsArea::before {
    width: min(550px, 70vw);
  }
}
.newsArea .wrap {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 40px 32px;
}
@media (max-width: 768px) {
  .newsArea .wrap {
    grid-template-columns: 1fr;
    row-gap: 30px;
  }
}
.newsArea .newsDeco {
  width: 120%;
  max-width: 2200px;
  aspect-ratio: 45/10;
  opacity: 0.05;
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 50%;
  translate: -50% 0;
  pointer-events: none;
}
@media (max-width: 1180px) {
  .newsArea .newsDeco {
    width: 140%;
  }
}
@media (max-width: 768px) {
  .newsArea .newsDeco {
    width: 180%;
  }
}
.newsArea .newsDeco .decoLayer {
  position: absolute;
  top: -10%;
  right: -8%;
  bottom: -10%;
  left: -8%;
  background-image: url("../../images/deco/news-deco.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  filter: brightness(1.14) saturate(1.06);
  backface-visibility: hidden;
}
.newsArea .newsDeco .decoMid {
  opacity: 0.7;
  filter: brightness(1.3) blur(3px);
}
.newsArea .newsDeco .decoBack {
  opacity: 0.45;
  filter: brightness(1.45) blur(9px);
}
@media (max-width: 768px) {
  .newsArea .newsDeco .decoMid,
  .newsArea .newsDeco .decoBack {
    display: none;
  }
}
.newsArea .newsBox {
  position: relative;
  grid-column: 1/-1;
  --translateY: 80px;
}
@media (max-width: 1180px) {
  .newsArea .newsBox {
    --translateY: 60px;
  }
}
@media (max-width: 991px) {
  .newsArea .newsBox {
    margin: 0 -30px;
  }
}
@media (max-width: 768px) {
  .newsArea .newsBox {
    --translateY: 40px;
    min-width: 0;
  }
}
.newsArea .newsBox .controlBox:has(.arrowBox) {
  width: 113%;
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-wrap: nowrap;
  justify-content: unset;
  align-items: center;
  left: 50%;
  right: unset;
  translate: -50% calc(var(--translateY) / 2);
}
@media (max-width: 1640px) {
  .newsArea .newsBox .controlBox:has(.arrowBox) {
    width: 110%;
  }
}
@media (max-width: 1536px) {
  .newsArea .newsBox .controlBox:has(.arrowBox) {
    width: 105%;
  }
}
@media (max-width: 1180px) {
  .newsArea .newsBox .controlBox:has(.arrowBox) {
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    top: unset;
    right: unset;
    bottom: unset;
    left: unset;
    translate: unset;
    margin-top: 0;
  }
}
.newsArea .newsBox .controlBox:has(.dotsBox) {
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-end;
}
@media (max-width: 1180px) {
  .newsArea .newsBox .controlBox:has(.dotsBox) {
    display: none;
  }
}
.newsArea .newsBox .controlBox .arrowBox {
  width: 100%;
  justify-content: space-between;
}
@media (max-width: 1180px) {
  .newsArea .newsBox .controlBox .arrowBox {
    justify-content: center;
  }
}
.newsArea .newsBox .controlBox .numBox {
  margin-bottom: 14px;
}
@media (max-width: 1180px) {
  .newsArea .newsBox .controlBox .numBox {
    margin-bottom: 0;
  }
}
.newsArea .newsBox .controlBox .dotsBox {
  flex: 0 0 auto;
  width: 300px;
}
@media (max-width: 1366px) {
  .newsArea .newsBox .controlBox .dotsBox {
    width: 280px;
  }
}
@media (max-width: 1180px) {
  .newsArea .newsBox .controlBox .dotsBox {
    width: 220px;
  }
}
.newsArea .newsBox .controlBox .dotsBox .slick-dots li {
  width: calc((100% - (var(--dotTotal, 1) - 1) * var(--dotsGap)) / var(--dotTotal, 1));
}
@media (max-width: 768px) {
  .newsArea .btnBox {
    grid-row: 3/4;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}

.newsList {
  --columnGap: 30px;
  overflow: clip;
  filter: drop-shadow(0 10px 20px #3D202F);
}
@media (max-width: 1366px) {
  .newsList {
    --columnGap: 20px;
  }
}
@media (max-width: 1180px) {
  .newsList {
    --columnGap: 12px;
  }
}
.newsList:not(.slick-slider) {
  display: flex;
}
.newsList:not(.slick-slider) .newsItem {
  flex: 0 0 auto;
  width: 33.3333333333%;
}
@media (max-width: 991px) {
  .newsList:not(.slick-slider) .newsItem {
    width: 100%;
  }
}
.newsList .slick-list {
  padding: var(--translateY) 0 0 !important;
  margin: 0 calc(var(--columnGap) * -1 + 1px);
}
@media (max-width: 991px) {
  .newsList .slick-list {
    padding: var(--translateY) 30% 0 !important;
  }
}
@media (max-width: 768px) {
  .newsList .slick-list {
    padding: var(--translateY) 20% 0 !important;
  }
}
@media (max-width: 480px) {
  .newsList .slick-list {
    padding: var(--translateY) 50px 0 !important;
  }
}
.newsList .newsItem {
  position: relative;
  padding: 0 var(--columnGap);
}
.newsList .newsItem.current {
  translate: 0 calc(var(--translateY) * -1);
}
.newsList .item {
  position: relative;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.0625em;
  line-height: 1.8;
  color: #FFFFFF;
  border-radius: 2.67em;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: radial-gradient(51.3% 57.4% at 90% 12%, rgba(164, 71, 115, 0.09) 0%, rgba(59, 41, 57, 0.6) 100%), linear-gradient(180deg, rgba(62, 32, 53, 0.95) 0%, rgba(34, 23, 33, 0.95) 100%);
  box-shadow: 0 -1px 10px 0 rgba(255, 255, 255, 0.08) inset;
  padding: 2em 2em 2.67em;
  overflow: clip;
}
@media (max-width: 1180px) {
  .newsList .item {
    font-size: 14px;
  }
}
@media (max-width: 375px) {
  .newsList .item {
    font-size: 13px;
    padding: 1.5em 1.5em 2em;
  }
}
.newsList .item::before {
  content: "";
  position: absolute;
  pointer-events: none;
  content: "";
  width: 140%;
  height: auto;
  background: transparent;
  aspect-ratio: 1/1;
  background: radial-gradient(50% 50% at 80% 20%, rgba(216, 65, 93, 0.6) 0%, transparent 100%);
  top: 0;
  right: 0;
  opacity: 0;
  translate: 30% -30%;
}
.newsList .item::after {
  content: "";
  position: absolute;
  pointer-events: none;
  content: "";
  width: 160%;
  height: auto;
  background: transparent;
  aspect-ratio: 1/1;
  background: radial-gradient(50% 50% at 10% 100%, rgba(216, 65, 93, 0.6) 0%, transparent 100%);
  bottom: 0;
  left: 0;
  opacity: 0;
  translate: -30% 30%;
}
@media (min-width: 1181px) {
  .newsList .item:hover::before, .newsList .item:hover::after {
    opacity: 1;
    translate: 0 0;
  }
  .newsList .item:hover .imgBox .Img::before {
    clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 0);
  }
  .newsList .item:hover .imgBox .linkBtn {
    opacity: 1;
    transform: translateY(0);
  }
}
.newsList .imgBox {
  position: relative;
  border-radius: 2em;
  overflow: clip;
}
.newsList .imgBox .Img::before {
  content: "";
  position: absolute;
  pointer-events: none;
  inset: 0;
  background: linear-gradient(102deg, #F6B565 23%, #EA6765 105%);
  opacity: 0.9;
  clip-path: polygon(0 0, 100% 100%, 100% 100%, 0 0);
  transition: all 0.5s ease-in-out;
}
.newsList .imgBox .Img img {
  width: 100%;
  height: auto;
  display: block;
  backface-visibility: hidden;
}
.newsList .imgBox .linkBtn {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 3.23em;
       column-gap: 3.23em;
  font-size: max(0.867em, 12px);
  font-weight: 500;
  color: inherit;
  position: absolute;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  translate: -50% -50%;
  opacity: 0;
  transform: translateY(10px);
}
.newsList .imgBox .linkBtn svg {
  width: 1.5em;
  height: auto;
  aspect-ratio: 1/1;
  filter: brightness(0) invert(1);
}
.newsList .newsInfoBox {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: baseline;
  -moz-column-gap: 1em;
       column-gap: 1em;
  margin-top: 1.5em;
}
.newsList .newsInfoBox .dateBox {
  font-size: 1.2em;
  font-weight: 500;
  color: inherit;
}
.newsList .newsInfoBox .classTitle {
  font-size: 1.067em;
  font-weight: 700;
  color: #F6B565;
}
.newsList .Txt {
  position: relative;
  margin-top: 0.5em;
  z-index: 1;
}
.newsList .Txt .title {
  font-size: 1.2em;
  font-weight: 500;
  line-height: 1.5;
  color: inherit;
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  min-height: 3em;
}
.newsList .Txt .text {
  font-size: 1em;
  color: inherit;
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  margin-top: 0.65em;
  min-height: 5.4em;
}
.newsList .linkWrap {
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}