@charset "utf-8";
/*
 * CSS Document
 * ==========================================================================
 * 版權所有 2021 鉅潞科技網頁設計公司，並保留所有權利。
 * 網站地址: http://www.grnet.com.tw
 * ==========================================================================
 * $Author: Meggie $
 * $Date: 2021-10-5 $
 * **請注意: 本樣式檔提供各分頁製作獨立樣式，共同樣式請於完成後併入此樣式檔。
*/

:root {
  --border--radius-35: 35px;

  --left-space-20: 20px;
  --top-space-25: 25px;

  --left-space-25: 25px;
  --top-space-20: 20px;
}

@media all and (max-width: 1439px) {
  :root {
    --left-space-20: 15px;
    --top-space-25: 20px;

    --left-space-25: 20px;
    --top-space-20: 15px;
  }
}

@media all and (max-width: 1199px) {
  :root {
    --border--radius-35: 25px;

    --left-space-20: 10px;
    --top-space-25: 15px;

    --left-space-25: 15px;
    --top-space-20: 10px;
  }
}

@media all and (max-width: 767px) {
  :root {
    --border--radius-35: 10px;
  }
}

@media all and (max-width: 639px) {
  :root {
    --left-space-20: 5px;
    --top-space-25: 10px;

    --left-space-25: 10px;
    --top-space-20: 5px;
  }
}

/* ---關於德妮--- */
/* 創辦人的話 */
@keyframes ani_round_one {
  0% {
    border-radius: 60% 40% 45% 55% / 60% 50% 50% 40%;
  }
  25% {
    border-radius: 58% 42% 75% 25% / 76% 46% 54% 24%;
  }
  50% {
    border-radius: 50% 50% 33% 67% / 55% 27% 73% 45%;
  }
  75% {
    border-radius: 33% 67% 58% 42% / 63% 68% 32% 37%;
  }
}
@keyframes ani_round_two {
  0% {
    border-radius: 50% 50% 55% 45% / 50% 35% 65% 50%;
  }
  25% {
    border-radius: 58% 42% 75% 25% / 76% 46% 54% 24%;
  }
  50% {
    border-radius: 50% 50% 33% 67% / 55% 27% 73% 45%;
  }
  75% {
    border-radius: 33% 67% 58% 42% / 63% 68% 32% 37%;
  }
}
#about .con-box {
  max-width: 1500px;
}
#about .wrap {
  position: relative;
  font-size: 0;
}
#about .wrap .item {
  display: inline-block;
  position: relative;
  font-size: 1.6rem;
  vertical-align: top;
}
#about .wrap .txt::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
#about .wrap .txt .box {
  position: relative;
  z-index: 1;
}
#about .wrap .p-brief {
  font-size: 1.6rem;
}
#about .wrap .pic {
  z-index: 2;
  overflow: hidden;
}
#about .wrap .pic::before,
#about .wrap .pic::after {
  display: block;
  content: "";
  width: 100%;
}
#about .wrap .pic::after {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% 100%;
}
#about .wrap .pic div {
  position: absolute;
  overflow: hidden;
}
#about .wrap .pic img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

#about .wrap.about .txt:first-child {
  width: 48%;
  max-width: 650px;
}
#about .wrap.about .txt:first-child::after {
  border-radius: 60% 40% 45% 55% / 60% 50% 50% 40%;
}
#about .wrap.about .txt:first-child .box {
  padding: 100px 80px 120px 140px;
  padding: 5vw 3.5vw 7vw 6vw;
}
#about .wrap.about .txt:first-child .box-ti .title {
  margin: 30px 18px 0 0;
}
#about .wrap.about .txt:first-child .box-ti .icon {
  width: 19%;
  max-width: 88px;
}

#about .wrap.about .txt:last-child {
  margin-top: -36%;
  left: 51%;
  width: 47%;
  max-width: 640px;
}
#about .wrap.about .txt:last-child::after {
  border-radius: 50% 50% 55% 45% / 50% 35% 65% 50%;
}
#about .wrap.about .txt:last-child .box {
  padding: 80px 90px 140px 90px;
  padding: 4vw 5vw 7.5vw 4.5vw;
}
#about .wrap.about .txt:last-child .icon {
  margin: 0 0 30px 19%;
  width: 16%;
  max-width: 74px;
}
#about .wrap.about .txt:last-child .p-brief {
  text-align: center;
}

#about .wrap.about .pic:nth-child(2) {
  left: 4%;
  width: 30%;
  max-width: 400px;
}
#about .wrap.about .pic:nth-child(2)::before {
  padding-bottom: 75%;
}
/* #about .wrap.about .pic:nth-child(2)::after {
  background-image: url(../images/feature_bg_1-1.png);
} */
#about .wrap.about .pic:nth-child(2) div {
  left: var(--left-space-20);
  top: var(--top-space-25);
  width: calc(100% - var(--left-space-20) * 2);
  height: calc(100% - var(--top-space-25) * 2);
  border-radius: var(--border--radius-35);
}

#about .wrap.about .pic:nth-child(3) {
  margin-top: -15.5%;
  left: calc(50% + 19%);
  width: 28%;
  max-width: 380px;
}
#about .wrap.about .pic:nth-child(3)::before {
  padding-bottom: 72%;
}
/* #about .wrap.about .pic:nth-child(3)::after {
  background-image: url(../images/feature_bg_1-2.png);
} */
#about .wrap.about .pic:nth-child(3) div {
  left: var(--left-space-25);
  top: var(--top-space-20);
  width: calc(100% - var(--left-space-25) * 2);
  height: calc(100% - var(--top-space-20) * 2);
  border-radius: var(--border--radius-35);
}

#about .wrap.about .pic:nth-child(4) {
  margin-top: 3%;
  left: -25%;
  width: 42%;
  max-width: 570px;
}
#about .wrap.about .pic:nth-child(4)::before {
  padding-bottom: 75%;
}
/* #about .wrap.about .pic:nth-child(4)::after {
  background-image: url(../images/feature_bg_1-2.png);
} */
#about .wrap.about .pic:nth-child(4) div {
  left: var(--left-space-25);
  top: var(--top-space-20);
  width: calc(100% - var(--left-space-25) * 2);
  height: calc(100% - var(--top-space-20) * 2);
  border-radius: var(--border--radius-35);
}

#about .wrap.founder {
  padding-top: 60px;
}
#about .wrap.founder .area-top {
  position: relative;
  margin: 0 auto;
  padding-bottom: 42.942%;
  width: 94.928%;
  max-width: 1291px;
  overflow: hidden;
}
#about .wrap.founder .area-top::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('../images/about_founder_bg.svg') no-repeat center top;
  background-size: cover;
}
#about .wrap.founder .area-top .box {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  padding: 0 7vw;
  width: 100%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
#about .wrap.founder .box-ti .title {
  margin: 0 95px;
}
#about .wrap.founder .box-ti .oj-1 {
  width: 20%;
  max-width: 201px;
}
#about .wrap.founder .box-ti .oj-1 i {
  background: url('../images/i_evaluation_icon1.svg') no-repeat 0 0;
  background-size: cover;
}
#about .wrap.founder .box-ti .oj-1 i::before {
  padding-bottom: 48.76%;
}
#about .wrap.founder .box-ti .oj-2 {
  margin-top: -20px;
  width: 18%;
  max-width: 165px;
}
#about .wrap.founder .box-ti .oj-2 i {
  background: url('../images/i_evaluation_icon2.svg') no-repeat 0 0;
  background-size: cover;
}
#about .wrap.founder .box-ti .oj-2 i::before {
  padding-bottom: 64.25%;
}
#about .wrap.founder .area-top .p-brief {
  text-align: center;
}

#about .wrap.founder .list {
  position: relative;
  padding: 45px 0 60px;
}
#about .wrap.founder .txt {
  text-align: center;
}
#about .wrap.founder .list .txt:first-child {
  width: 46%;
  max-width: 600px;
}
#about .wrap.founder .list .txt:first-child::after {
  border-radius: 60% 40% 45% 55% / 65% 50% 50% 35%;
}
#about .wrap.founder .list .txt:first-child .box {
  padding: 70px 50px 120px 100px;
  padding: 3.5vw 3vw 6.5vw 5vw;
}
#about .wrap.founder .list .txt:first-child .icon {
  margin: 0 auto 15px;
  width: 16%;
  max-width: 71px;
}

#about .wrap.founder .list .txt:last-child {
  margin-top: -37%;
  left: 50%;
  width: 49%;
  max-width: 635px;
}
#about .wrap.founder .list .txt:last-child::after {
  border-radius: 50% 50% 55% 45% / 50% 35% 65% 50%;
}
#about .wrap.founder .list .txt:last-child .box {
  padding: 40px 100px 140px 90px;
  padding: 2vw 4.5vw 7vw 5vw;
}
#about .wrap.founder .list .txt:last-child .icon {
  margin: 0 auto 15px;
  width: 23%;
  max-width: 100px;
}

#about .wrap.founder .pic:nth-child(2) {
  margin-top: 3%;
  left: 6%;
  width: 46%;
  max-width: 540px;
}
#about .wrap.founder .pic:nth-child(2)::before {
  padding-bottom: 75%;
}
/* #about .wrap.founder .pic:nth-child(2)::after {
  background-image: url(../images/feature_bg_2-1.png);
} */
#about .wrap.founder .pic:nth-child(2) div {
  left: var(--left-space-25);
  top: var(--top-space-20);
  width: calc(100% - var(--left-space-25) * 2);
  height: calc(100% - var(--top-space-20) * 2);
  border-radius: var(--border--radius-35);
}

#about .wrap.founder .pic:nth-child(3) {
  margin-top: -5%;
  left: 4%;
  width: 34%;
  max-width: 430px;
}
#about .wrap.founder .pic:nth-child(3)::before {
  padding-bottom: 75%;
}
/* #about .wrap.founder .pic:nth-child(3)::after {
  background-image: url(../images/feature_bg_2-2.png);
} */
#about .wrap.founder .pic:nth-child(3) div {
  left: var(--left-space-20);
  top: var(--top-space-25);
  width: calc(100% - var(--left-space-20) * 2);
  height: calc(100% - var(--top-space-25) * 2);
  border-radius: var(--border--radius-35);
}

#about .wrap.founder .pic:nth-child(4) {
  margin-top: 17%;
  left: -8%;
  width: 32%;
  max-width: 415px;
}
#about .wrap.founder .pic:nth-child(4)::before {
  padding-bottom: 72%;
}
/* #about .wrap.founder .pic:nth-child(4)::after {
  background-image: url(../images/feature_bg_2-1.png);
} */
#about .wrap.founder .pic:nth-child(4) div {
  left: var(--left-space-25);
  top: var(--top-space-20);
  width: calc(100% - var(--left-space-25) * 2);
  height: calc(100% - var(--top-space-20) * 2);
  border-radius: var(--border--radius-35);
}

@media all and (min-width: 768px) {
  #about .wrap.about .txt:first-child::after,
  #about .wrap.founder .txt:first-child::after {
    -webkit-animation: ani_round_one 6s infinite;
    animation: ani_round_one 6s infinite;
  }
  #about .wrap.about .txt:last-child::after,
  #about .wrap.founder .txt:last-child::after {
    -webkit-animation: ani_round_two 6s infinite;
    animation: ani_round_two 6s infinite;
  }
}
@media all and (max-width: 1439px) {
  #about .wrap.about .txt:last-child {
    width: 50%;
  }
  #about .wrap.about .pic:nth-child(3) {
    margin-top: -14.5%;
  }
  #about .wrap.about .pic:nth-child(4) {
    width: 40%;
  }

  #about .wrap.founder .list {
    padding-bottom: 0;
  }
  #about .wrap.founder .list .txt:first-child {
    width: 52%;
  }
  #about .wrap.founder .list .txt:last-child {
    margin-top: -34%;
  }
  #about .wrap.founder .pic:nth-child(2) {
    width: 42%;
  }
  #about .wrap.founder .pic:nth-child(4) {
    width: 28%;
  }
}
@media all and (max-width: 1279px) {
  #about .wrap.about .txt:first-child .box {
    padding-right: 5vw;
  }
  #about .wrap.about .txt:last-child .box {
    padding-right: 6vw;
  }
  #about .wrap.founder .box-ti .title {
    margin: 0 60px;
  }
}
@media all and (max-width: 1199px) {
  #about .con-box {
    padding-left: 40px;
    padding-right: 40px;
  }
  #about .wrap .box-ti {
    margin-bottom: 20px;
  }

  #about .wrap.about .txt:last-child {
    margin-top: -33%;
    left: 48%;
    width: 52%;
  }
  #about .wrap.about .txt:last-child .icon {
    margin-bottom: 15px;
  }
  #about .wrap.about .pic:nth-child(4) {
    width: 38%;
  }
}
@media all and (max-width: 1079px) {
  #about .wrap.about .txt:first-child {
    width: 60%;
  }
  #about .wrap.about .txt:first-child .box {
    padding: 5vw 6vw 10vw;
  }
  #about .wrap.about .txt:last-child {
    margin-top: -30%;
    left: 38%;
    width: 62%;
  }
  #about .wrap.about .txt:last-child .box {
    padding: 4vw 7vw 10vw;
  }
  #about .wrap.about .pic:nth-child(2) {
    left: -5%;
    margin-top: 2%;
  }
  #about .wrap.about .pic:nth-child(4) {
    left: -30%;
    width: 35%;
  }

  #about .wrap.founder {
    padding-top: 40px;
  }
  #about .wrap.founder .area-top {
    padding-bottom: 52.246%;
    width: 100%;
    max-width: 1310px;
  }
  #about .wrap.founder .area-top::after {
    background: url('../images/about_founder_bg_s.svg') no-repeat center top;
    background-size: cover;
  }
  #about .wrap.founder .area-top .box {
    padding: 0 8vw;
  }
  #about .wrap.founder .box-ti .title {
    margin: 0 40px;
  }
  #about .wrap.founder .list .txt:first-child {
    width: 60%;
  }
  #about .wrap.founder .list .txt:first-child .box {
    padding: 4.5vw 5vw 10vw;
  }
  #about .wrap.founder .list .txt:last-child {
    left: 40%;
    margin-top: -38%;
    width: 60%;
  }
  #about .wrap.founder .list .txt:last-child .box {
    padding: 2vw 5vw 10vw;
  }
  #about .wrap.founder .pic:nth-child(2) {
    left: 4%;
    margin-top: 5%;
    width: 36%;
  }
  #about .wrap.founder .pic:nth-child(3) {
    margin-top: -8%;
    width: 32%;
  }
  #about .wrap.founder .pic:nth-child(4) {
    margin-top: 15%;
    left: -11%;
    width: 24%;
  }
}
@media all and (max-width: 839px) {
  #about .con-box {
    padding-left: 25px;
    padding-right: 25px;
  }
  #about .wrap .p-brief {
    font-size: 1.55rem;
    line-height: 2.8rem;
  }
  #about .wrap.about .txt:first-child {
    width: 68%;
  }
  #about .wrap.about .txt:last-child {
    left: 30%;
    margin-top: -28%;
    width: 70%;
  }
  #about .wrap.about .pic:nth-child(3) {
    margin-top: -12%;
  }

  #about .wrap.founder .box-ti {
    margin-bottom: 10px;
  }
  #about .wrap.founder .list .txt:first-child {
    width: 68%;
  }
  #about .wrap.founder .list .txt:last-child {
    left: 30%;
    margin-top: -54%;
    width: 70%;
  }
  #about .wrap.founder .pic:nth-child(2) {
    left: -2%;
    margin-top: 8%;
    width: 32%;
  }
  #about .wrap.founder .pic:nth-child(4) {
    margin-top: 36%;
    left: -15%;
    width: 24%;
  }
}
@media all and (max-width: 767px) {
  #about .con-box {
    padding-left: 25px;
    padding-right: 25px;
  }
  #about .wrap .box-ti {
    margin-bottom: 10px;
  }
  #about .wrap .p-brief {
    font-size: 1.6rem;
    line-height: 3rem;
  }

  #about .wrap.about .txt:first-child,
  #about .wrap.about .txt:last-child,
  #about .wrap.founder .list .txt:first-child,
  #about .wrap.founder .list .txt:last-child {
    display: block;
    left: 0;
    margin: 0 auto;
    width: 100%;
    max-width: 650px;
  }
  #about .wrap.about .txt:first-child::after,
  #about .wrap.about .txt:last-child::after,
  #about .wrap.founder .list .txt:first-child::after,
  #about .wrap.founder .list .txt:last-child::after {
    border-radius: 15px 15px 15px 40px;
  }

  #about .wrap.about .txt:last-child {
    margin-top: -16%;
  }
  #about .wrap.about .txt:first-child .box {
    padding: 5vw 5vw 12vw;
  }
  #about .wrap.about .txt:last-child .box {
    padding: 4vw 5vw 5vw;
  }
  #about .wrap.about .txt:last-child .p-brief {
    text-align: left;
  }
  #about .wrap.about .pic:nth-child(2) {
    left: 8%;
    margin-top: -10%;
    width: 42%;
  }
  #about .wrap.about .pic:nth-child(3) {
    display: none;
  }
  #about .wrap.about .pic:nth-child(4) {
    left: 9%;
    margin-top: 8%;
    width: 46%;
  }

  #about .wrap.founder {
    padding-top: 30px;
  }
  #about .wrap.founder .area-top {
    margin-bottom: 10px;
    padding-bottom: 0;
    max-width: 650px;
  }
  #about .wrap.founder .area-top::after {
    border-radius: 15px 15px 15px 40px;
    background-color: #fff;
  }
  #about .wrap.founder .area-top .box {
    position: relative;
    top: 0;
    left: 0;
    padding: 7vw 5vw 5vw;
    transform: none;
  }
  #about .wrap.founder .area-top .p-brief {
    text-align: left;
  }
  #about .wrap.founder .list {
    padding: 20px 0 0;
  }
  #about .wrap.founder .txt {
    text-align: left;
  }
  #about .wrap.founder .list .txt:last-child {
    margin-top: -6%;
  }#about .wrap.founder .list .txt:first-child .box {
    padding-bottom: 12vw;
  }
  #about .wrap.founder .list .txt:last-child .box {
    padding-bottom: 5vw;
  }
  #about .wrap.founder .pic:nth-child(2) {
    left: 7%;
    margin-top: -10%;
    width: 46%;
  }
  #about .wrap.founder .pic:nth-child(3) {
    left: 10%;
    margin-top: 6%;
    width: 42%;
  }
  #about .wrap.founder .pic:nth-child(4) {
    display: none;
  }
}
@media all and (max-width: 575px) {
  #about .con-box .wrap .item {
    margin: 0 auto 2% !important;
  }
  #about .wrap .txt {
    margin: 0 !important;
  }
  #about .wrap .txt::after {
    border-radius: 10px !important;
  }
  #about .wrap .txt .box {
    padding: 4.2vw 5vw !important;
  }
  #about .wrap .pic {
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  #about .wrap .pic div {
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  #about .wrap.about {
    display: flex;
    flex-wrap: wrap;
  }
  #about .wrap.about .txt:last-child .icon {
    margin: 0 auto 30px;
  }
  #about .wrap.about .txt:last-child {
    order: 4;
  }
  #about .wrap.about .pic:nth-child(4) {
    order: 5;
  }

  #about .wrap.founder .box-ti .title {
    margin: 0 30px;
  }
  #about .wrap.founder .list {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
  }
  #about .wrap.founder .list .txt:last-child {
    order: 4;
  }
  #about .wrap.founder .pic:nth-child(3) {
    order: 5;
  }

}
@media all and (max-width: 499px) {
  #about .wrap.founder .box-ti .icon {
    display: none;
  }
}

/* 歷史沿革 */
#history .list {
  position: relative;
  margin: 0 auto;
  padding: 0 25px 40px;
  max-width: 910px;
}
#history .list .item {
  position: relative;
  padding: 3px 0 80px;
}
#history .list .item:after {
  display: block;
  content: "";
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -1px;
  width: 2px;
  height: 100%;
  background: url('../images/history_line.png') repeat-y;
}

#history .list .item .dot {
  display: block;
  position: absolute;
  z-index: 2;
  top: 10px;
  left: 50%;
  margin-left: -8px;
  width: 16px;
  height: 16px;
  border-radius: 50px;
  background-color: #aa569d;
}

#history .list .item .year {
  position: relative;
  margin-bottom: 10px;
  width: 50%;
  font-size: 2.4rem;
  color: #aa569d;
  font-weight: 700;
  letter-spacing: .15rem;
}
#history .list .item .box {
  font-size: 0;
}
#history .list .item .txt li {
  font-family: 'ElMessiri-Bold', 'Arial', 'sans-serif', 'Noto Sans TC', 'Microsoft JhengHei', '微軟正黑體';
  font-size: 1.6rem;
  color: #444;
  font-weight: 500;
  line-height: 2.8rem;
  letter-spacing: .1rem;
}
#history .list .item .txt li:not(:last-child) {
  margin-bottom: 10px;
}
#history .list .item .txt li.aw {
  position: relative;
  padding-left: 20px;
}
#history .list .item .txt li.aw::before {
  display: block;
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  width: 8px;
  height: 8px;
  vertical-align: top;
  border-radius: 100%;
  background-color: #aa569d;
}

#history .list .item .pic .img {
  position: relative;
  max-width: 380px;
}
#history .list .item .pic img {
  border-radius: 25px 25px 25px 60px;
}

#history .list .item.scroll-view:after {
  -moz-animation: ani_line 2s both;
  -webkit-animation: ani_line 2s both;
  animation: ani_line 2s both;
}
@-webkit-keyframes ani_line {
  from {
    height: 0;
    opacity: 0;
  }
  to {
    height: 100%;
    opacity: 1;
  }
}
@keyframes ani_line {
  from {
    height: 0;
    opacity: 0;
  }
  to {
    height: 100%;
    opacity: 1;
  }
}
@media all and (min-width: 768px) {
  #history .list .item .txt,
  #history .list .item .pic {
    display: inline-block;
    width: 50%;
    vertical-align: middle;
  }
  #history .list .item:nth-child(odd) .box {
    direction: rtl;
  }
  #history .list .item:nth-child(odd) .year {
    left: 50%;
    padding-left: 25px;
  }
  #history .list .item:nth-child(odd) .txt {
    direction: ltr;
    padding-left: 25px;
    text-align: left;
  }
  #history .list .item:nth-child(odd) .pic {
    padding-right: 25px;
    text-align: left;
  }

  #history .list .item:nth-child(even) .year {
    padding-right: 25px;
    text-align: right;
  }
  #history .list .item:nth-child(even) .txt {
    padding-right: 25px;
    text-align: right;
  }
  #history .list .item:nth-child(even) .txt li.aw {
    padding: 0 20px 0 0;
  }
  #history .list .item:nth-child(even) .txt li.aw::before {
    left: auto;
    right: 0;
  }
  #history .list .item:nth-child(even) .pic {
    padding-left: 25px;
  }
}
@media all and (min-width: 1080px) {
  #history .list .item:nth-child(odd) .year {
    padding-left: 35px;
  }
  #history .list .item:nth-child(odd) .txt {
    padding-left: 35px;
  }
  #history .list .item:nth-child(odd) .pic {
    padding-right: 35px;
  }

  #history .list .item:nth-child(even) .year {
    padding-right: 35px;
  }
  #history .list .item:nth-child(even) .txt {
    padding-right: 35px;
  }
  #history .list .item:nth-child(even) .pic {
    padding-left: 35px;
  }
}
@media all and (max-width: 1365px) {
  #history .list .item {
    padding-bottom: 40px;
  }
  #history .list .item .year {
    font-size: 2.2rem;
  }
}
@media all and (max-width: 767px) {
  #history .list {
    padding-bottom: 0;
    max-width: 480px;
  }
  #history .list .item {
    padding: 3px 0 30px 35px;
  }
  #history .list .item:after {
    left: 5px;
    margin-left: 0;
  }
  #history .list .item .dot {
    left: 0;
    margin-left: 0;
    width: 12px;
    height: 12px;
  }
  #history .list .item .dot:before {
    margin: -3px 0 0 -3px;
    width: 6px;
    height: 6px;
  }
  #history .list .item .year {
    font-size: 2rem;
  }
  #history .list .item .txt li {
    padding-left: 12px;
  }
  #history .list .item .txt li::before {
    top: 8px;
    width: 4px;
    height: 4px;
  }
  #history .list .item .pic {
    margin-top: 15px;
  }
  #history .list .item .pic img {
    border-radius: 15px 15px 15px 30px;
  }
}
@media all and (max-width: 639px) {
  #history .list {
    padding-top: 15px;
  }
  #history .list .item {
    padding-left: 25px;
  }
  #history .list .item:last-child {
    padding-bottom: 0;
  }
}

/* 收費標準 */
#charge .con-box {
  max-width: 1560px;
}
#charge .btn-style {
  margin: 0 auto;
  background-color: #eee;
}
@media all and (max-width: 767px) {
  #charge .btn-style {
    margin-top: 20px;
  }
}

/* 評價見證 */
#evaluation .con-box {
  max-width: 1560px;
}
#evaluation .list {
  padding: max(3.5vw, 20px) max(4.5vw, 20px);
  border-radius: 20px;
  background: #fff;
}
#evaluation .list .item {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: max(1.2vw, 20px);
  padding: 0 25px max(1.2vw, 20px);
  font-size: 1.6rem;
  border-bottom: #ddd solid 1px;
}
#evaluation .item .user {
  position: relative;
  width: 48px;
  height: 48px;
  border: #ddd solid 1px;
  border-radius: 100%;
  background-color: #f3f3f3;
  overflow: hidden;
}
#evaluation .item .user img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
#evaluation .item .data {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex: 1;
  padding: 8px 0 6px max(1vw, 12px);
  line-height: 1.2;
}
#evaluation .list .item .name {
  width: 100%;
  font-size: 1.5rem;
  color: #000;
  font-weight: bold;
  line-height: 1.2;
}
#evaluation .list .item .stars {
  display: flex;
  margin-right: 10px;
  width: 81px;
  height: 14px;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23.44 19'><polygon fill='%23dadce0' points='10,15.27 16.18,19 14.54,11.97 20,7.24 12.81,6.63 10,0 7.19,6.63 0,7.24 5.46,11.97 3.82,19'/></svg>");
  background-repeat: repeat-x;
  background-size: 16px 14px;
}
#evaluation .list .item .stars span {
  display: block;
  width: 16px;
  height: 14px;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23.44 19'><polygon fill='%23fbbc04' points='10,15.27 16.18,19 14.54,11.97 20,7.24 12.81,6.63 10,0 7.19,6.63 0,7.24 5.46,11.97 3.82,19'/></svg>");
}
#evaluation .item .date {
  margin-top: 5px;
  font-size: 1.3rem;
}
#evaluation .list .item .brief {
  margin-top: 10px;
  padding-left: 5px;
  width: 100%;
  font-size: 1.4rem;
  color: #202124;
  line-height: 1.8;
}
#evaluation .list .item .pic-group {
  display: flex;
  flex-wrap: wrap;
  margin-top: 8px;
  width: 100%;
}
#evaluation .list .item .pic {
  display: inline-block;
  position: relative;
  margin: 0 7px 7px 0;
  width: calc(33.333% - 7px);
  max-width: 125px;
  border-radius: 8px;
  box-shadow: 0 0 0 1px #d2d2d2;
  overflow: hidden;
}
#evaluation .list .item .pic::before {
  display: block;
  content: "";
  padding-bottom: 100%;
  width: 100%;
}
#evaluation .list .item .pic img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

@media all and (max-width: 1439px) {
  #evaluation .list .item {
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* ---德妮價值--- */
/* 特色 */
#feature.list .con-box {
  margin: 0 auto;
  max-width: 1325px;
}
#feature.list .list {
  padding-top: 20px;
}
#feature.list .list .item {
  padding-bottom: 100px;
  font-size: 0;
}
#feature.list .item .txt,
#feature.list .item .pic {
  display: inline-block;
  position: relative;
  font-size: 1.6rem;
  vertical-align: top;
}

#feature.list .list .item .pic {
  width: 52%;
}
#feature.list .pic .img-box {
  position: relative;
  overflow: hidden;
}
#feature.list .pic .img-box::before,
#feature.list .pic .img-box::after {
  display: block;
  content: "";
}
#feature.list .pic .img-box::before {
  padding-bottom: 67.797%;
  width: 100%;
}
#feature.list .pic .img-box::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
}
#feature.list .pic .img-box > div {
  position: absolute;
  overflow: hidden;
}
#feature.list .pic .img-box img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
#feature.list .pic .img-box:nth-child(1) {
  width: 95.751%;
  max-width: 590px;
}
/* #feature.list .pic .img-box:nth-child(1)::after {
  background-image: url(../images/feature_bg_1-1.png);
} */
#feature.list .pic .img-box:nth-child(1) > div {
  left: max(1vw, 5px);
  top: max(1.3vw, 5px);
  width: calc(100% - (max(1vw, 5px) * 2));
  height: calc(100% - (max(1.3vw, 5px) * 2));
  border-radius: var(--border--radius-35);
}
#feature.list .pic .img-box:nth-child(2) {
  margin: max(1vw, 20px) 0 0 30%;
  width: 81.145%;
  max-width: 500px;
}
/* #feature.list .pic .img-box:nth-child(2)::after {
  background-image: url(../images/feature_bg_1-2.png);
} */
#feature.list .pic .img-box:nth-child(2) > div {
  left: max(1.3vw, 10px);
  top: max(.7vw, 5px);
  width: calc(100% - (max(1.3vw, 10px) * 2));
  height: calc(100% - (max(.7vw, 5px) * 2));
  border-radius: var(--border--radius-35);
}

#feature.list .list .item .txt {
  margin-top: 50px;
  width: 48%;
}
#feature.list .item .txt::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
#feature.list .item .txt .box {
  position: relative;
  z-index: 2;
  padding: 7vw 3.5vw 7.5vw 5.5vw;
}
#feature.list .item .txt .box-ti {
  margin-bottom: 15px;
}
#feature.list .item .txt .box-ti .icon i {
  display: inline-block;
  margin: 0 15px 0 0;
  vertical-align: middle;
  width: 100%;
}

#feature.list .list .item:nth-child(odd) {
  direction: rtl;
}
#feature.list .list .item:nth-child(odd) .pic,
#feature.list .list .item:nth-child(odd) .txt {
  direction: ltr;
}
#feature.list .list .item:nth-child(odd) .txt::after {
  border-radius: 60% 40% 40% 60% / 65% 50% 50% 35%;
}
#feature.list .list .item:nth-child(odd) .txt .box-ti .icon {
  margin: -25px 15px 0 0;
  width: 22%;
  max-width: 91px;
}
#feature.list .list .item:nth-child(odd) .txt .box-ti .icon i {
  padding-bottom: 113.2%;
  background: url('../images/feature_list_icon_odd.svg') no-repeat 0 0;
  background-size: cover;
}

#feature.list .list .item:nth-child(even) .txt::after {
  border-radius: 40% 60% 60% 40% / 50% 65% 35% 50%;
}
#feature.list .list .item:nth-child(even) .txt .box-ti .icon {
  margin: -30px 15px 0 0;
  width: 21%;
  max-width: 85px;
}
#feature.list .list .item:nth-child(even) .txt .box-ti .icon i {
  padding-bottom: 115.3%;
  background: url('../images/feature_list_icon_even.svg') no-repeat 0 0;
  background-size: cover;
}

@keyframes ani_bg_round {
  0% {
    border-radius: 60% 40% 40% 60% / 65% 50% 50% 35%;
  }
  25% {
    border-radius: 58% 42% 75% 25% / 76% 46% 54% 24%;
  }
  50% {
    border-radius: 50% 50% 33% 67% / 55% 27% 73% 45%;
  }
  75% {
    border-radius: 33% 67% 58% 42% / 63% 68% 32% 37%;
  }
}
@keyframes ani_bg_round2 {
  0% {
    border-radius: 40% 60% 60% 40% / 50% 65% 35% 50%;
  }
  25% {
    border-radius: 58% 42% 75% 25% / 76% 46% 54% 24%;
  }
  50% {
    border-radius: 50% 50% 33% 67% / 55% 27% 73% 45%;
  }
  75% {
    border-radius: 33% 67% 58% 42% / 63% 68% 32% 37%;
  }
}

.btn-more,
.btn-more .icon::before,
.btn-more .icon::after,
.btn-more i::before,
.btn-more i::after {
  -webkit-transition: all .25s ease-in-out;
  transition: all .25s ease-in-out;
}
.btn-more {
  display: block;
  position: absolute;
  z-index: 5;
  bottom: 20px;
  right: 0;
  padding-top: 35px;
  width: 137px;
  height: 100px;
  color: #fff;
  font-size: 1.6rem;
  text-align: center;
  letter-spacing: .15rem;
  overflow: hidden;
}
.btn-more > div {
  position: absolute;
  top: 55%;
  left: 0;
  width: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.btn-more .icon {
  display: inline-block;
  position: relative;
  margin: -6px 0 0 6px;
  padding: 13px;
  width: 38px;
  height: 38px;
  vertical-align: middle;
  border-radius: 50px;
  background-color: #fff;
}
.btn-more .icon::before,
.btn-more .icon::after {
  display: block;
  content: "";
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 25%;
  width: 30%;
  height: 3px;
  border-radius: 50px;
  opacity: 0;
  background-color: #fff;
}
.btn-more .icon::before {
  margin-top: -10.5%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.btn-more .icon::after {
  margin-top: 3.5%;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.btn-more i {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 50px;
}
.btn-more i::before,
.btn-more i::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50px;
}
.btn-more i::before {
  margin: -1px 0 0 -50%;
  width: 100%;
  height: 3px;
}
.btn-more i::after {
  margin: -50% 0 0 -1px;
  width: 3px;
  height: 100%;
}
.btn-more:hover {
  color: #fff;
}
.btn-more:hover .icon::before,
.btn-more:hover .icon::after {
  right: 19%;
  opacity: 1;
}
.btn-more:hover i::after {
  opacity: 0;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
#feature.list .list .item:nth-child(even) .txt .btn-box {
  text-align: left;
}
#feature.list .list .item:nth-child(even) .txt .btn-more {
  right: auto;
  left: 0;
}

#feature.list .list .item:nth-child(odd) .btn-more {
  background: url('../images/btn_pink.svg') no-repeat 0 0;
  background-size: contain;
}
#feature.list .list .item:nth-child(odd) .btn-more .icon::before,
#feature.list .list .item:nth-child(odd) .btn-more .icon::after,
#feature.list .list .item:nth-child(odd) .btn-more i::before,
#feature.list .list .item:nth-child(odd) .btn-more i::after {
  background-color: #fabe00;
}

#feature.list .list .item:nth-child(even) .btn-more {
  background: url('../images/btn_green.svg') no-repeat 0 0;
  background-size: cover;
}
#feature.list .list .item:nth-child(even) .btn-more .icon::before,
#feature.list .list .item:nth-child(even) .btn-more .icon::after,
#feature.list .list .item:nth-child(even) .btn-more i::before,
#feature.list .list .item:nth-child(even) .btn-more i::after {
  background-color: #3151a2;
}
@media all and (min-width: 768px) {
  #feature.list .list .item:nth-child(odd) .txt::after {
    -webkit-animation: ani_bg_round 5s infinite;
    animation: ani_bg_round 5s infinite;
  }
  #feature.list .list .item:nth-child(even) .txt::after {
    -webkit-animation: ani_bg_round2 5s infinite;
    animation: ani_bg_round2 5s infinite;
  }

  #feature.list .list .item:nth-child(even) .pic {
    text-align: right;
  }
  #feature.list .list .item:nth-child(even) .pic .img-box {
    display: inline-block;
  }
  #feature.list .list .item:nth-child(even) .pic .img-box:nth-child(2) {
    left: -15%;
    margin: 0;
  }
}

@media all and (max-width: 1559px) {
  #feature.list .list .item .txt {
    width: 54%;
  }
  #feature.list .list .item .pic {
    width: 46%;
  }

  #feature.list .list .item:nth-child(even) .txt .box {
    padding-bottom: 8.5vw;
  }
}
@media all and (max-width: 1439px) {
  #feature.list .list .item {
    padding-bottom: 50px;
  }
}
@media all and (max-width: 1365px) {
  .btn-more {
    padding-top: 30px;
    width: 110px;
    height: 80px;
    font-size: 1.5rem;
  }
  .btn-more .icon {
    margin: -5px 0 0 4px;
    padding: 11px;
    width: 30px;
    height: 30px;
  }
  .btn-more .icon::before,
  .btn-more .icon::after {
    right: 32%;
    width: 24%;
    height: 2px;
  }
  .btn-more .icon::after {
    margin-top: 3%;
  }
  .btn-more i::before {
    height: 2px;
  }
  .btn-more i::after {
    width: 2px;
  }
  .btn-more:hover .icon::before,
  .btn-more:hover .icon::after {
    right: 26%;
  }
}
@media all and (max-width: 1279px) {
  #feature.list .list .item .txt .box {
    padding: 8vw 5vw 10vw 7vw;
  }
}
@media all and (max-width: 1079px) {
  #feature.list .con-box {
    padding: 0 45px;
  }
  #feature.list .list .item .txt {
    margin-top: 0;
  }
  #feature.list .list .item .txt .p-brief {
    line-height: 2.8rem;
  }
}
@media all and (max-width: 991px) {
  #feature.list .con-box {
    padding: 0 25px;
  }
  #feature.list .list .item .txt {
    width: 60%;
  }
  #feature.list .list .item .pic {
    width: 40%;
  }
  .btn-more {
    padding-top: 25px;
    width: 95px;
    height: 69px;
    font-size: 1.25rem;
  }
  #feature.list .list .item:nth-child(even) .txt .box {
    padding-bottom: 12vw;
  }
}
@media all and (max-width: 767px) {
  #feature.list .list .item .txt,
  #feature.list .list .item .pic {
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 94%;
  }
  #feature.list .list .item .pic {
    margin-top: -15%;
    max-width: 82%;
  }
  #feature.list .pic .img-box:nth-child(1) {
    width: 50%;
  }
  #feature.list .pic .img-box:nth-child(2) {
    width: 45%;
  }
  #feature.list .list .item:nth-child(odd) .txt::after,
  #feature.list .list .item:nth-child(even) .txt::after {
    border-radius: 15px 15px 15px 40px;
  }
  #feature.list .list .item .txt .box {
    padding: 6vw 4.5vw !important;
  }
  #feature.list .list .item:nth-child(odd) .txt .box-ti .icon,
  #feature.list .list .item:nth-child(even) .txt .box-ti .icon {
    margin: -10px 10px 0 0;
    width: 17%;
  }
  #feature.list .list .item:nth-child(odd) .pic .img-box:nth-child(2) {
    margin-top: -13%;
    left: 25%;
  }
  #feature.list .list .item:nth-child(even) .pic .img-box:nth-child(1) {
    left: 50%;
  }
  #feature.list .list .item:nth-child(even) .pic .img-box:nth-child(2) {
    margin: -13% 0 0 0;
  }

  #feature.list .list .item .btn-box {
    text-align: right;
  }
  .btn-more {
    display: inline-block;
    position: static;
    bottom: 0;
    margin-top: 20px;
  }
}
@media all and (max-width: 639px) {
  #feature.list .list {
    padding-top: 0;
  }
  #feature.list .list .item {
    padding-bottom: 30px;
  }
  #feature.list .list .item:last-child {
    padding-bottom: 0;
  }
  #feature.list .list .item .txt {
    max-width: 100%;
  }
  #feature.list .list .item .pic {
    max-width: 96%;
  }
  .btn-more {
    margin-top: 10px;
  }
}

#feature.view .con-box {
  margin-top: -95px;
  padding: 0;
  max-width: 100%;
}
#feature.view .data .box {
  margin: 0 auto;
  padding: 0 70px;
  max-width: 1540px;
  font-size: 0;
}
#feature.view .data .txt,
#feature.view .data .video,
#feature.view .data .pic {
  display: inline-block;
  font-size: 1.6rem;
  letter-spacing: .15rem;
  vertical-align: middle;
}
#feature.view .data .txt {
  padding: 0 90px 0 75px;
  width: 49%;
  text-align: left;
}
#feature.view .data .txt .name {
  margin: 0 0 15px 0;
  font-size: 2.6rem;
  color: #333;
  font-weight: 600;
  letter-spacing: .25rem;
}
#feature.view .data .txt .intro {
  margin-top: 25px;
}
#feature.view .data .txt .intro .ti {
  position: relative;
  margin: 0 0 10px 0;
  padding-left: 22px;
  font-size: 1.6rem;
  color: #6b1686;
  font-weight: 600;
  text-align: left;
}
#feature.view .data .txt .intro .ti::before {
  display: block;
  content: "";
  position: absolute;
  top: 1px;
  left: 0;
  width: 12px;
  height: 12px;
  background: url('../images/dot_ti.svg') no-repeat 0 0;
  background-size: cover;
  overflow: hidden;
}

#feature.view .data .video,
#feature.view .data .pic {
  width: 51%;
  max-width: 710px;
  border-radius: 30px 30px 30px 100px;
  overflow: hidden;
}
#feature.view .data .video a {
  display: block;
  position: relative;
  width: 100%;
}
#feature.view .data .video [data-image] {
  opacity: .85;
  -webkit-transition: all .25s ease-in-out;
  transition: all .25s ease-in-out;
}
#feature.view .data .video i,
#feature.view .subject .pic i {
  display: block;
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: 3.65vw;
  height: 3.65vw;
  background: url('../images/icon_play.svg') no-repeat 0 0;
  background-size: cover;
  overflow: hidden;
  -webkit-transform: translate(-50%, -50%) scale(1);
  transform: translate(-50%, -50%) scale(1);
  -webkit-transition: all .25s ease-in-out;
  transition: all .25s ease-in-out;
}
#feature.view .data .video:hover img {
  opacity: 1;
}
#feature.view .data .video:hover i,
#feature.view .subject .pic .box:hover i {
  -webkit-transform: translate(-50%, -50%) scale(.8);
  transform: translate(-50%, -50%) scale(.8);
}
@media all and (max-width: 1439px) {
  #feature.view .data .txt {
    padding: 0 40px 0 20px;
    width: 52%;
  }
  #feature.view .data .txt .name {
    margin-bottom: 10px;
    font-size: 2.4rem;
    font-weight: 500;
  }
  #feature.view .data .txt .intro {
    margin-top: 15px;
  }
  #feature.view .data .txt .intro .ti {
    font-weight: 500;
  }
  #feature.view .data .video,
  #feature.view .data .pic {
    width: 48%;
    border-radius: 25px 25px 25px 80px;
  }
}
@media all and (max-width: 1023px) {
  #feature.view .con-box {
    margin-top: 0;
  }
  #feature.view .data.box-bg .wrap {
    padding: 40px 0;
  }
  #feature.view .data .video,
  #feature.view .data .pic {
    border-radius: 15px 15px 15px 40px;
  }
}
@media all and (max-width: 991px) {
  #feature.view .data .txt {
    display: block;
    padding: 0;
    width: 100%;
  }
  #feature.view .data .txt .name {
    font-size: 2.2rem;
    text-align: center;
  }
  #feature.view .data .video,
  #feature.view .data .pic {
    display: block;
    margin: 20px auto 0;
    width: 100%;
  }
  #feature.view .data .video i,
  #feature.view .subject .pic i {
    width: 12vw;
    height: 12vw;
  }
}
@media all and (max-width: 639px) {
  #feature.view .data .video[data-scrollview],
  #feature.view .data .pic[data-scrollview] {
    opacity: 1;
  }
}

#feature.view .detail {
  margin: 0 auto;
  padding: 60px 70px;
  max-width: 1380px;
}

#feature.view .tab-pane {
  position: relative;
  padding-top: 40px;
}
.subject-ti {
  position: absolute;
  z-index: 6;
  top: 90px;
  left: calc(50% - 4.5vw);
  font-size: 3rem;
  color: #009fa8;
  font-weight: 600;
  line-height: 2.8rem;
  letter-spacing: .25rem;
}
.subject-ti::before {
  display: inline-block;
  content: "";
  margin-right: 15px;
  width: 68px;
  height: 70px;
  vertical-align: middle;
  background: url('../images/feature_headline_icon.svg') no-repeat 0 0;
  background-size: cover;
}
.subject-ti span {
  display: inline-block;
  vertical-align: middle;
}
.subject-ti .word {
  position: relative;
  padding-top: 28px;
}
.subject-ti .icon {
  position: absolute;
  top: 0;
  right: 0;
  width: 118px;
  height: 86px;
  font-size: 1.6rem;
  color: #fff;
  font-weight: 400;
  text-align: center;
  line-height: 8.6rem;
  background: url('../images/btn_purple.svg') no-repeat 0 0;
  background-size: cover;
}

.subject {
  position: relative;
  padding: 60px 0 80px;
  font-size: 0;
}
.subject-list .subject:last-child {
  padding-bottom: 0;
}
.subject .line {
  display: block;
  position: absolute;
}
.subject .line span {
  display: block;
  width: 100%;
}
.subject .line span::before {
  display: block;
  content: "";
  width: 100%;
}
.subject-list .subject:nth-child(odd) .line {
  bottom: -30px;
  left: 23%;
  width: calc(100% - 23%);
  max-width: 791.153px;
}
.subject-list .subject:nth-child(odd) .line span {
  background: url('../images/border_line_l.svg') no-repeat 0 0;
  background-size: cover;
}
.subject-list .subject:nth-child(odd) .line span::before {
  padding-bottom: 13.399%;
}
.subject-list .subject:nth-child(even) .line {
  bottom: -30px;
  right: 18%;
  width: calc(100% - 18%);
  max-width: 667.305px;
}
.subject-list .subject:nth-child(even) .line span {
  background: url('../images/border_line_r.svg') no-repeat 0 0;
  background-size: cover;
}
.subject-list .subject:nth-child(even) .line span::before {
  padding-bottom: 13.766%;
}
.subject-list .subject:last-child .line {
  display: none;
}

.subject .pic {
  position: relative;
  z-index: 2;
  padding-top: max(1vw, 15px);
  width: 38.71%;
  max-width: 480px;
}
.intro-slick {
  padding-bottom: max(2vw, 30px);
}
.intro-slick .box {
  position: relative;
  border-radius: 25px 25px 25px 80px;
  overflow: hidden;
}
.intro-slick .box a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .15);
}

.subject .txt {
  flex: 1;
  padding: 0 max(1.5vw, 30px) 0 max(6.2vw, 40px);
}
.subject .txt .ti-box {
  margin-bottom: 25px;
  font-size: 0;
}
.subject .txt .ti-box i,
.subject .txt .ti-box .ti {
  display: inline-block;
  vertical-align: middle;
}
.subject .txt .ti-box i {
  width: 84px;
  height: 75px;
}
.subject .txt .ti {
  margin: 0;
  padding-top: 4.5%;
  font-size: 2.2rem;
  color: #aa569d;
  font-weight: 600;
  line-height: 3rem;
  letter-spacing: .15rem;
  overflow: hidden;
}
.subject .txt .ti span {
  padding-right: 10px;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 3.2rem;
  display: inherit;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}
.subject .txt .brief {
  font-size: 1.6rem;
  color: #444;
}

.subject-list .subject:first-child .txt {
  padding-top: 4vw;
}
.subject-list .subject:nth-child(odd) .txt .ti-box {
  direction: rtl;
}
.subject-list .subject:nth-child(odd) .txt .ti-box .ti {
  direction: ltr;
  text-align: left;
}
.subject-list .subject:nth-child(odd) .txt .ti-box i {
  margin-left: 15px;
  background: url('../images/feature_ti_icon_odd.svg') no-repeat 0 0;
  background-size: cover;
}

.subject-list .subject:nth-child(even) {
  flex-direction: row-reverse;
}
.subject-list .subject:nth-child(even) .txt {
  direction: ltr;
  padding: 0 max(6.2vw, 40px) 0 max(1.5vw, 30px);
  text-align: left;
}
.subject-list .subject:nth-child(even) .txt .ti-box i {
  margin-right: 15px;
  background: url('../images/feature_ti_icon_even.svg') no-repeat 0 0;
  background-size: cover;
}
.subject-list .subject:nth-child(even) .txt .brief {
  padding-left: 20px;
}
@media all and (max-width: 1559px) {
  .intro-slick .box {
    border-radius: 15px 15px 15px 40px;
  }
}
@media all and (max-width: 1439px) {
  #feature.view .detail {
    padding-bottom: 0;
  }
  .subject-ti {
    font-size: 2.6rem;
    font-weight: 500;
  }
  .subject .txt .ti-box i {
    width: 72px;
    height: 65px;
  }
  .subject .txt .ti {
    font-size: 2rem;
    font-weight: 500;
    line-height: 2.6rem;
  }
  .subject .txt .ti span {
    padding-right: 5px;
    font-size: 3rem;
    line-height: 2.4rem;
  }
}
@media all and (max-width: 1365px) {
  #feature.view .tab-pane {
    padding-top: 60px;
  }
  .subject-ti {
    position: relative;
    top: 0;
    left: 0;
    margin-bottom: 25px;
    width: 100%;
    text-align: center;
  }
  .subject .txt .ti-box {
    margin-bottom: 15px;
  }
  .subject .txt .ti {
    font-size: 1.9rem;
    line-height: 2.4rem;
  }

  .subject-list .subject:first-child {
    padding-top: 0;
  }
  .subject-list .subject:first-child .txt {
    padding-top: 0;
  }
}
@media all and (max-width: 1279px) {
  .subject-list .subject:nth-child(odd) .line {
    bottom: -50px;
    left: 14%;
    width: calc(100% - 14%);
  }
  .subject-list .subject:nth-child(even) .line {
    right: 14%;
    width: calc(100% - 14%);
  }

  .subject .txt {
    padding: 0 max(1.5vw, 10px) 0 max(4.5vw, 30px);
  }
  .subject-list .subject:nth-child(even) .txt {
    padding: 0 max(4.5vw, 30px) 0 max(1.5vw, 10px);
  }
}
@media all and (max-width: 1199px) {
  #feature.view .data .box {
    padding: 0 40px;
  }

  #feature.view .detail {
    padding-left: 25px;
    padding-right: 25px;
  }

  .subject .txt .ti-box i {
    min-width: 65px;
    height: 58px;
  }
  .subject .txt .ti {
    font-size: 1.8rem;
  }
  .subject .txt .ti span {
    font-size: 2.8rem;
    line-height: 2.2rem;
  }
}
@media all and (max-width: 991px) {
  .subject-ti {
    font-size: 2.2rem;
  }
  .subject-ti .icon {
    width: 90px;
    height: 66px;
    font-size: 1.4rem;
    line-height: 6.6rem;
  }
  .subject-list .subject:nth-child(odd) .line {
    left: 10%;
    width: calc(100% - 10%);
  }
  .subject-list .subject:nth-child(even) .line {
    right: 10%;
    width: calc(100% - 10%);
  }

  .subject .txt {
    flex: 0 0 100%;
    padding: 20px 20px 0 !important;
  }
  .subject .pic {
    margin: 0 auto;
    padding-top: 0;
    width: 100%;
    max-width: 525px;
  }
}
@media all and (max-width: 767px) {
  #feature.view .data .box {
    padding: 0 25px;
  }

  #feature.view .detail {
    padding-top: 40px;
  }

  #feature.view .tab-pane {
    padding-top: 30px;
  }
  .subject-ti {
    margin-bottom: 25px;
    font-size: 2rem;
  }
  .subject-ti::before {
    margin-top: 20px;
  }
  .subject-ti .word {
    position: relative;
    text-align: left;
  }
  #feature.view .detail {
    padding-left: 25px;
    padding-right: 25px;
  }
  .subject {
    padding: 25px 0;
  }
  .subject .line {
    display: none;
  }
  .subject .txt {
    padding: 20px 10px 0 !important;
  }

  .intro-slick {
    margin-bottom: 12px;
  }
}
@media all and (max-width: 639px) {
  .subject-ti {
    margin-bottom: 15px;
  }
  .subject-ti::before {
    margin-top: 0;
  }
  .subject-ti .word {
    padding: 10px 0 0 0;
    text-align: center;
    vertical-align: middle;
  }
  .subject-ti .icon {
    display: none;
  }

  .subject {
    padding: 15px 0;
  }
  .subject .txt {
    padding: 0 !important;
  }
  .subject-list .txt .brief {
    padding: 0 5px !important;
  }

  .slicks-btn.intro-slick .slick-dots {
    text-align: right;
  }
}
@media all and (max-width: 413px) {
  .subject-ti::before,
  .subject-ti .word {
    display: block;
  }
  .subject-ti::before {
    margin: 0 auto;
  }
  .subject .txt .ti-box {
    margin-bottom: 10px;
  }
}

/* 餐點特色 */
#meals .intro {
  letter-spacing: .15rem;
  text-align: center;
}
#meals .intro .slogan {
  margin: 0 0 10px 0;
  font-size: 2rem;
  color: #aa569d;
  font-weight: 500;
  line-height: 2.6rem;
}
#meals .intro p {
  margin-bottom: 0;
}

#meals .data-top {
  margin: 0 auto;
  padding: 0 45px;
  max-width: 1285px;
}
#meals .data-top img {
  width: 100%;
  border-radius: 25px 25px 25px 80px;
  overflow: hidden;
}
#meals .data-top .intro {
  position: relative;
  margin: 50px auto 0;
  padding-bottom: 30%;
  width: 86%;
  max-width: 1293px;
  overflow: hidden;
}
#meals .data-top .intro::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('../images/meals_intro_bg.svg') no-repeat center top;
  background-size: contain;
}
#meals .data-top .intro .box {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  padding: 2.5vw 4vw 3vw;
  width: 100%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
#meals .data-top .slogan span {
  display: inline-block;
  vertical-align: bottom;
}
#meals .data-top .slogan .basket {
  margin-right: 20px;
  width: 86px;
  height: 73px;
  background: url('../images/meals_oj.svg') no-repeat 0 0;
  background-size: cover;
}
#meals .data-top .slogan .milk {
  margin: 0 0 7px 20px;
  width: 42px;
  height: 33px;
  background: url('../images/meals_oj2.svg') no-repeat 0 0;
  background-size: cover;
}

#meals .data-bottom {
  margin: 65px auto 0;
  padding: 0 45px 100px;
  max-width: 1305px;
}
#meals .meals-slick {
  margin: 0 -21px;
}
#meals .meals-slick .item {
  padding: 0 21px;
  width: 33.3333%;
}
#meals .meals-slick .item .pic {
  position: relative;
  margin: 0 auto;
  padding-bottom: 62.338%;
  width: 100%;
  max-width: 360px;
  border-radius: 50% 50% 50% 50% / 50% 60% 40% 50%;
  overflow: hidden;
}
#meals .meals-slick .item .pic img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
#meals .meals-slick .item .ti {
  margin-top: 25px;
  font-size: 1.8rem;
  color: #222;
  line-height: 2.4rem;
  letter-spacing: .15rem;
  text-align: center;
}

#meals .data-bottom .intro {
  margin: 0 auto;
  max-width: 770px;
}
@media all and (max-width: 1559px) {
  #meals .data-bottom {
    padding-bottom: 50px;
  }
}
@media all and (max-width: 1365px) {
  #meals .data-bottom {
    padding-bottom: 20px;
  }
  #meals .meals-slick {
    margin: 0 -15px;
  }
  #meals .meals-slick .item {
    padding: 0 15px;
  }
}
@media all and (max-width: 1199px) {
  #meals .data-top {
    padding: 0 15px;
  }
  #meals .data-bottom {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media all and (max-width: 1079px) {
  #meals .data-top .slogan .basket {
    margin-right: 10px;
    width: 60px;
    height: 51px;
  }
  #meals .data-top .slogan .milk {
    margin-left: 10px;
  }
  #meals .data-bottom {
    margin-top: 40px;
  }
  #meals .meals-slick {
    margin: 0 -10px;
  }
  #meals .meals-slick .item {
    padding: 0 10px;
  }
}
@media all and (max-width: 991px) {
  #meals .data-top img {
    border-radius: 15px 15px 15px 40px;
  }
  #meals .data-top .intro {
    margin-top: 30px;
    padding-bottom: 35%;
    width: 100%;
  }
  #meals .data-top .intro .box {
    padding: 2.5vw 6vw 3vw;
  }
  #meals .intro .slogan {
    font-size: 1.8rem;
  }
  #meals .data-top,
  #meals .data-bottom {
    padding: 0;
  }
}
@media all and (max-width: 639px) {
  #meals .data-top .intro {
    padding-bottom: 0;
  }
  #meals .data-top .intro .box {
    position: relative;
    top: 0;
    left: 0;
    padding: 5vw 6vw;
    transform:none;
  }
  #meals .data-top .intro::after {
    border-radius: 15px 15px 15px 40px;
    background: none #fff;
  }
  #meals .data-top .slogan .basket {
    display: block;
    margin: 0 auto 15px;
  }
  #meals .data-top .slogan .milk {
    display: none;
  }
  #meals .data-bottom {
    margin-top: 30px;
  }
}
@media all and (max-width: 575px) {
  #meals .meals-slick .item .pic {
    max-width: 100%;
  }
}

/* 相關周邊 */
#related .item .pic,
#related .item .txt {
  display: inline-block;
  vertical-align: middle;
}
#related .item .pic {
  position: relative;
  margin: 0 auto;
  padding-bottom: 35px;
  overflow: hidden;
}
#related .item .pic .page-control {
  position: absolute;
  left: 0;
  bottom: 0;
  line-height: 3.2rem;
}
#related .item .pic .img-box {
  position: relative;
  padding-bottom: 86.667%;
}
#related .item .pic .img-box::after {
  display: block;
  content: "";
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% 100%;
  transform: translate(-50%, -50%);
}
#related .item .pic .img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#related .item .pic img {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

#related .prod-slick .video a {
  display: block;
  position: absolute;
  z-index: 5;
  left: 20px;
  top: 25px;
  width: calc(100% - 40px);
  height: calc(100% - 50px);
  border-radius: var(--border--radius-35);
  background-color: rgba(0, 0, 0, .15);
  overflow: hidden;
}
#related .prod-slick .video a i {
  display: block;
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  margin: -1.81vw 0 0 -1.81vw;
  width: 3.65vw;
  height: 3.65vw;
  background: url('../images/icon_play.svg') no-repeat 0 0;
  background-size: cover;
  overflow: hidden;
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all .25s ease-in-out;
  transition: all .25s ease-in-out;
}
#related .prod-slick .video a:hover {
  background-color: rgba(0, 0, 0, 0);
}
#related .prod-slick .video a:hover i {
  -webkit-transform: scale(.8);
  transform: scale(.8);
}

#related .item .txt {
  font-size: 1.6rem;
  letter-spacing: .15rem;
}
#related .item .txt .name {
  margin: 0 0 15px;
  font-size: 2.4rem;
  color: #222;
  font-weight: 600;
  line-height: 3.2rem;
  letter-spacing: .25rem;
}
#related .item .txt .name i {
  display: inline-block;
  margin: -12px 15px 0 0;
  width: 13%;
  max-width: 78px;
  vertical-align: middle;
}
#related .item .txt .name i::before {
  display: block;
  content: "";
  padding-bottom: 119.25%;
  width: 100%;
  background: url('../images/related_icon.svg') no-repeat 0 0;
  background-size: cover;
}
#related .item .txt .brief {
  color: #666;
  line-height: 3rem;
}
#related .item .txt .btn-box {
  text-align: center;
}

#related .list-top .box {
  margin: 0 auto;
  max-width: 1350px;
  font-size: 0;
}
#related .list-top .item .pic {
  width: 44.445%;
  max-width: 600px;
}
#related .list-top .txt {
  padding: 30px max(4.5vw, 40px) max(7.5vw, 70px) max(3.5vw, 40px);
  width: calc(100% - 44.445%);
  background: url('../images/value_tree.png') right bottom no-repeat;
  background-size: 230px 135px;
}
#related .list-top .txt .data {
  margin-top: 20px;
}
#related .list-top .txt .data li {
  position: relative;
  padding-left: 25px;
  color: #444;
  line-height: 2.6rem;
}
#related .list-top .txt .data li:not(:last-child) {
  margin-bottom: 10px;
}
#related .list-top .txt .data li::before {
  display: block;
  content: "";
  position: absolute;
  top: 4px;
  left: 3px;
  width: 12px;
  height: 12px;
  background: url('../images/dot_ti2.svg') no-repeat 0 0;
  background-size: cover;
}

#related .item:nth-child(even) .box {
  direction: ltr;
}
#related .item:nth-child(odd) .box {
  direction: rtl;
}
#related .item:nth-child(odd) .box .pic,
#related .item:nth-child(odd) .box .txt {
  direction: ltr;
  text-align: left;
}
#related .list-top .item:nth-child(even) .txt {
  padding: 30px max(3.5vw, 40px) max(7.5vw, 70px) max(4.5vw, 40px);
}
/* #related .list-top .item:nth-child(even) .pic .img-box::after {
  background-image: url(../images/feature_bg_1-1.png);
} */
/* #related .list-top .item:nth-child(odd) .pic .img-box::after {
  background-image: url(../images/feature_bg_2-1.png);
} */
#related .list-top .item:nth-child(odd) .pic .img-box .img,
#related .list-top .item:nth-child(even) .pic .img-box .img {
  left: var(--left-space-20);
  top: var(--top-space-25);
  width: calc(100% - var(--left-space-20) * 2);
  height: calc(100% - var(--top-space-25) * 2);
  border-radius: var(--border--radius-35);
}
#related .list-top .item .txt .btn-box {
  text-align: left;
}

#related .list-down {
  margin: 0 auto;
  padding: 0 70px;
  max-width: 1490px;
}
#related .list-down .wrap {
  margin: 0 -55px;
  font-size: 0;
}
#related .list-down .item {
  display: inline-block;
  margin-bottom: 50px;
  padding: 0 55px;
  width: 33.333%;
  text-align: center;
  vertical-align: top;
}
#related .list-down .pic {
  width: 100%;
}
#related .list-down .pic .img {
  border-radius: var(--border--radius-35);
  overflow: hidden;
}
#related .list-down .prod-slick {
  padding-bottom: 0;
}
#related .list-down .txt .name {
  margin-top: 25px;
  font-weight: 500;
}

#related .item:hover .txt .name {
  color: #6b1686;
}

@media all and (min-width: 1080px) {
  #related .item .pic .img-box::after {
    height: 110%;
  }
}

@media all and (max-width: 1439px) {
  #related .list-down .wrap {
    margin: 0 -25px;
  }
  #related .list-down .item {
    padding: 0 25px;
  }
  #related .list-down .pic {
    width: 90%;
  }
  #related .list-top .txt {
    background-size: 180px 106px;
  }
}
@media all and (max-width: 1199px) {
#related .item .txt .name {
    font-size: 2.2rem;
    font-weight: 500;
  }

  #related .list-top .item .wrap {
    padding-left: 45px;
    padding-right: 45px;
  }

  #related .list-down {
    padding: 0 25px;
  }
  #related .list-down .wrap {
    margin: 0 -20px;
  }
  #related .list-down .item {
    margin-bottom: 30px;
    padding: 0 20px;
  }
}
@media all and (max-width: 1079px) {
  #related .item .txt .name {
    margin-bottom: 10px;
    font-size: 2rem;
    line-height: 2.8rem;
  }

  #related .list-top .item .wrap {
    padding-left: 30px;
    padding-right: 30px;
  }
  #related .list-top .txt .data {
    margin-top: 10px;
  }
  #related .list-top .txt .data li {
    padding-left: 22px;
  }
  #related .list-top .txt .data li:not(:last-child) {
    margin-bottom: 5px;
  }
  #related .list-top .txt .data li::before {
    top: 6px;
    width: 8px;
    height: 8px;
  }
  #related .list-down {
    margin-top: 40px;
  }
}
@media all and (max-width: 991px) {
  #related .prod-slick .video a i {
    margin: -20px 0 0 -20px;
    width: 40px;
    height: 40px;
  }

  #related .list-top .txt {
    padding-left: 10px;
  }

  #related .list-down {
    padding: 0 50px;
    max-width: 930px;
  }
  #related .list-down .item {
    display: block;
    width: 100%;
    text-align: left;
  }
  #related .list-down .pic {
    width: 46.5%
  }
  #related .list-down .txt {
    padding: 0 40px 0 60px;
    width: 53.5%;
  }
  #related .list-down .txt .name {
    margin-top: 0;
  }
  #related .list-down .item:nth-child(even) {
    direction: rtl;
  }
  #related .list-down .item:nth-child(even) .pic,
  #related .list-down .item:nth-child(even) .txt {
    direction: ltr;
    text-align: left;
  }
}
@media all and (max-width: 767px) {
  #related .item .txt .name {
    font-size: 1.8rem;
    line-height: 2.6rem;
  }
  #related .list-top .item .wrap {
    padding-left: 20px;
    padding-right: 20px;
  }
  #related .list-down {
    padding: 0 20px;
  }
  #related .list-down .txt {
    padding: 0 20px 0 40px;
  }
}
@media all and (max-width: 639px) {
  #related .list-top .item .txt .btn-box {
    text-align: center;
  }
  #related .list-top .item .pic,
  #related .list-down .item .pic {
    width: 98%;
  }
  #related .item .txt .name {
    margin-top: 15px;
    text-align: center;
  }
  #related .item .txt .brief {
    text-align: center;
  }
  #related .item .pic .img-box::after {
    height: 112%;
  }

  #related .list-top .item .pic,
  #related .list-top .item .txt {
    display: block;
  }
  #related .list-top .item .txt {
    padding: 0 0 110px;
    width: 100%;
  }
  #related .list-top .item:nth-child(even) .txt {
    padding: 0 0 110px;
  }
  #related .list-top .txt .data {
    margin-left: auto;
    margin-right: auto;
    max-width: 170px;
  }

  #related .list-down .item:last-child {
    margin-bottom: 0;
  }
  #related .list-down .pic,
  #related .list-down .txt {
    display: block;
  }
  #related .list-down .txt {
    padding: 0;
    width: 100%;
  }
  #related .list-down .txt .name {
    margin: 3px 0 5px;
  }
}

/* ---分校資訊--- */
#school .list .box {
  margin: 0 auto;
  max-width: 1420px;
  font-size: 0;
}
#school .list .box .pic,
#school .list .box .txt {
  display: inline-block;
  vertical-align: middle;
}
#school .list .box .pic {
  position: relative;
  padding-bottom: 32.747%;
  width: 55%;
  max-width: 780px;
}
#school .list .box .pic::after {
  display: block;
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% 100%;
}
#school .list .pic a {
  display: block;
  position: absolute;
  overflow: hidden;
}
#school .list .pic img {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  max-width: 790px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
/* #school .list .item:nth-child(odd) .pic::after {
  background-image: url(../images/feature_bg_1-2.png);
} */
#school .list .item:nth-child(odd) .pic a {
  left: var(--left-space-25);
  top: var(--top-space-20);
  width: calc(100% - var(--left-space-25) * 2);
  height: calc(100% - var(--top-space-20) * 2);
  border-radius: var(--border--radius-35);
}
/* #school .list .item:nth-child(even) .pic::after {
  background-image: url(../images/feature_bg_2-2.png);
} */
#school .list .item:nth-child(even) .pic a {
  left: var(--left-space-25);
  top: var(--top-space-20);
  width: calc(100% - var(--left-space-25) * 2);
  height: calc(100% - var(--top-space-20) * 2);
  border-radius: var(--border--radius-35);
}

#school .list .box .txt {
  padding: 0 60px;
  width: 45%;
  font-size: 1.6rem;
  letter-spacing: .15rem;
}
#school .list .txt .area {
  display: inline-block;
  padding: 9px 20px 5px;
  color: #fff;
  text-align: center;
  border-radius: 50px;
  background-color: #aa569d;
}
#school .list .txt .name {
  margin: 25px 0 10px;
  padding-left: 10px;
  font-size: 2rem;
  line-height: 2.8rem;
}
#school .list .txt .brief {
  padding-left: 10px;
  color: #666;
  line-height: 3rem;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media all and (max-width: 1279px) {
  #school .list .box .txt {
    padding: 0 25px 0 40px;
  }
  #school .list .item:nth-child(even) .box .txt {
    padding: 0 40px 0 25px;
  }
  #school .list .txt .area {
    padding: 6px 16px 1px;
    font-size: 1.5rem;
  }
}
@media all and (max-width: 1079px) {
  #school .list .txt .area {
    padding: 4px 13px 0;
    font-size: 1.4rem;
  }
  #school .list .txt .name {
    margin: 15px 0 5px;
    font-size: 1.8rem;
    line-height: 2.6rem;
  }
  #school .list .txt .brief {
    line-height: 2.8rem;
  }
}
@media all and (max-width: 991px) {
  #school .list .box .txt {
    padding: 0 0 0 25px;
  }
  #school .list .item:nth-child(even) .box .txt {
    padding: 0 25px 0 0;
  }
  #school .list .txt .name {
    margin-top: 10px;
    font-size: 1.7rem;
    line-height: 2.4rem;
  }
}
@media all and (max-width: 767px) {
  #school:not(.view) #footer {
    padding-top: 20px;
  }
  #school .list .box .pic {
    display: block;
    margin: 0 auto 20px;
    padding-bottom: 60.287%;
    width: 100%;
  }
  #school .list .box .txt {
    display: block;
    padding: 0;
    width: 100%;
    text-align: center;
  }
  #school .list .item:nth-child(even) .box .txt {
    padding: 0;
  }
  #school .list .txt .name {
    padding-left: 0;
  }
  #school .list .txt .area {
    padding: 5px 15px 1px;
    font-size: 1.4rem;
  }
  #school .list .txt .brief {
    padding-left: 0;
    text-align: center;
  }
}

/* view */
#school.view .data {
  margin-bottom: 40px;
  font-size: 0;
}
#school.view .data .wrap {
  margin: 0 auto;
  padding: 0 25px;
  max-width: 1660px;
}
#school.view .data .clearboth {
  display: none;
}

.box-ti.p-inside {
  text-align: left;
}
.box-ti.p-inside .title,
.box-ti.p-inside .icon {
  vertical-align: bottom;
}
.p-inside .title {
  margin-left: 15px;
  font-size: 1.3rem;
  text-align: left;
  line-height: 1.8rem;
}
.p-inside .title span {
  margin-bottom: 3px;
  font-size: 2rem;
  line-height: 2.2rem;
}
@media all and (max-width: 1199px) {
  .box-ti.p-inside {
    margin-bottom: 20px;
  }
}
@media all and (max-width: 575px) {
  .box-ti.p-inside {
    margin-bottom: 15px;
  }
  .p-inside .title {
    margin-left: 10px;
  }
}

#school.view .data .pic {
  position: relative;
  float: left;
  width: 65%;
  max-width: 1000px;
}
#school.view .data .pic .page-control {
  position: absolute;
  left: 0;
  bottom: 20px;
}
.img-slick .item {
  position: relative;
  padding-bottom: 63%;
  border-radius: var(--border--radius-35);
  overflow: hidden;
}
.img-slick .item .img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

#school.view .data .txt {
  padding: max(2.5vw, 25px) 1.5% 0 50px;
  float: left;
  font-size: 0;
  width: calc(100% - 65%);
}
#school.view .p-inside,
#school.view .branch {
  display: inline-block;
  vertical-align: top;
}
#school.view .p-inside .icon {
  margin-bottom: 5px;
  width: 37px;
}
#school.view .p-inside .icon i {
  background: url('../images/school_icon.svg') no-repeat 0 0;
  background-size: cover;
}
#school.view .p-inside .icon i::before {
  padding-bottom: 135.15%;
}

#school.view .branch {
  position: relative;
}
#school.view .branch .btn-school {
  position: relative;
  margin: 11px 0 0 20px;
  padding: 0 45px 0 18px;
  width: 140px;
  height: 42px;
  font-size: 1.5rem;
  line-height: 4.5rem;
  cursor: pointer;
  border-radius: 100px;
  border: #6b1686 solid 1px;
  background-color: rgba(255,255,255,.35);
}
#school.view .branch .btn-school::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -5px;
  width: 6px;
  height: 6px;
  border-style: solid;
  border-width: 2px;
  border-color: #6b1686 #6b1686 transparent transparent;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  -webkit-transition: all .25s ease-in-out;
  transition: all .25s ease-in-out;
}
#school.view .branch .btn-school.open::after {
  margin-top: 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#school.view .branch .branch-list {
  display: none;
  position: absolute;
  z-index: 2;
  top: 58px;
  left: 20px;
  padding: 5px 0;
  width: calc(100% - 20px);
  border-radius: 10px;
  background-color: #6b1686;
}
#school.view .branch .branch-list a {
  display: block;
  padding: 3px 10px 0 18px;
  font-size: 1.4rem;
  color: #fff;
  line-height: 2.4rem;
}

#school.view .data .name {
  margin-bottom: 20px;
  font-size: 2.6rem;
  color: #333;
  font-weight: 600;
  line-height: 4rem;
  letter-spacing: .1rem;
}
#school.view .data .brief {
  margin-bottom: 20px;
  font-size: 1.6rem;
  letter-spacing: .15rem;
}
#school.view .data .info-group {
  padding: 0 1% 0 50px;
  float: left;
  width: calc(100% - 65%);
}
#school.view .data .info {
  margin: 10px 0 0 0;
  padding: 25px 15px 15px;
  font-size: 0;
  line-height: 2.2rem;
  background: url('../images/line_info.png') repeat-x left top;
}
#school.view .data .info > span {
  display: inline-block;
  font-size: 1.6rem;
  letter-spacing: .15rem;
  vertical-align: middle;
}
#school.view .data .info > span a {
  color: #444;
}
#school.view .data .info > span a:hover {
  color: #6b1686;
}
#school.view .data .info .word {
  padding-top: 6px;
  width: 60%;
}
#school.view .data .info .link {
  width: 40%;
  text-align: right;
}
#school.view .data .info .link a {
  display: inline-block;
  padding: 15px 10px 10px;
  width: 140px;
  text-align: center;
  border-radius: 10px;
  background-color: #fff;
}

#school.view .data .info .btn-line i {
  display: inline-block;
  width: 49px;
  height: 13px;
  background: url('../images/icon_line.png') no-repeat 0 0;
  background-size: cover;
  overflow: hidden;
}
#school.view .data .info .btn-line a:hover {
  background-color: #22c022;
}
#school.view .data .info .btn-line a:hover i {
  background-position: 0 -13px;
}
#school.view .data .info .btn-map {
  min-width: 128px;
  letter-spacing: 0;
}
#school.view .data .info .btn-map i {
  display: inline-block;
  margin: -2px 6px 0 0;
  width: 17px;
  height: 24px;
  vertical-align: middle;
  background: url('../images/icon_map.png') no-repeat 0 0;
  background-size: cover;
  overflow: hidden;
}
#school.view .data .info .btn-map a:hover {
  color: #fff;
  background-color: #6b1686;
}
#school.view .data .info .btn-reserve i {
  display: inline-block;
  margin: -4px 3px 0 0;
  font-size: 1.8rem;
  color: #009fa8;
  vertical-align: middle;
}
#school.view .data .info .btn-reserve a:hover {
  color: #fff;
  background-color: #009fa8;
}
#school.view .data .info .btn-reserve a:hover i {
  color: #fff;
}

@media all and (min-width: 1430px) {
  .img-slick .item {
    position: relative;
    padding-bottom: 63%;
    border-radius: 120px;
  }
}
@media all and (min-width: 1560px) {
  .img-slick .item {
    position: relative;
    padding-bottom: 63%;
    border-radius: 200px;
  }
}
@media all and (min-width: 1680px) {
  #school.view .data .txt {
    position: relative;
    z-index: 1001;
  }
}

@media all and (max-width: 1679px) {
  #school.view .data .txt {
    padding-right: 6%;
    padding-left: 50px;
    width: calc(100% - 60%);
  }
  #school.view .data .pic {
    width: 60%;
  }
}
@media all and (max-width: 1639px) {
  #school.view .data .name {
    font-size: 2.4rem;
    line-height: 3.6rem;
  }
  #school.view .data .info {
    width: 100%;
  }
  #school.view .data .info .link a {
    font-size: 1.5rem;
  }
}
@media all and (max-width: 1559px) {
  #school.view .data .info {
    padding: 15px 5px 5px;
  }
}
@media all and (max-width: 1439px) {
  #school.view .data .name {
    font-size: 2.2rem;
    line-height: 3.2rem;
  }
  #school.view .data .info .btn-map i {
    width: 14px;
    height: 20px;
  }
}
@media all and (max-width: 1356px) {
  #school.view .data .info .link a {
    padding: 10px 15px 5px;
  }
}
@media all and (max-width: 1279px) {
  #school.view .data .clearboth {
    display: block;
  }
  #school.view .data .brief {
    line-height: 3.6rem;
  }
  #school.view .data .info-group {
    padding: 20px 6% 0 15px;
    float: none;
    width: 100%;
  }
}
@media all and (max-width: 1199px) {
  #school.view .data .txt {
    padding-left: 15px;
    padding-right: 15px;
  }
  #school.view .data .txt.zindex {
    position: relative;
    z-index: 1001;
  }
  #school.view .data .name {
    margin-bottom: 10px;
  }
  #school.view .data .info-group {
    padding: 20px 15px 0;
  }
}
@media all and (max-width: 1079px) {
  #school.view .data .name {
    font-size: 2rem;
    line-height: 3rem;
  }
  #school.view .data .brief {
    line-height: 3rem;
  }
}
@media all and (max-width: 1023px) {
  #school.view .data .pic {
    margin: 0 auto;
    float: none;
    width: 100%;
  }
  #school.view .data .txt {
    float: none;
    width: 100%;
  }
  #school.view .data .info-group {
    padding: 0 15px;
  }
}
@media all and (max-width: 575px) {
  #school.view .data .wrap {
    padding: 0 10px;
  }
  .mask-img {
    -webkit-mask-position: 0 6px;
    mask-position: 0 6px;
  }
  #school.view .data .pic .page-control {
    bottom: -10px;
  }
  #school.view .data .txt {
    padding-left: 10px;
    padding-right: 10px;
  }
  #school.view .branch .btn-school {
    margin: 15px 0 0 8px;
    padding: 0 25px 0 12px;
    width: 110px;
    height: 38px;
    font-size: 1.4rem;
    line-height: 4rem;
  }
  #school.view .branch .branch-list {
    left: 12px;
    width: calc(100% - 12px);
  }
  #school.view .data .name {
    font-size: 1.9rem;
    line-height: 2.8rem;
    font-weight: 500;
  }
  #school.view .data .brief {
    margin-bottom: 10px;
  }
  #school.view .data .info-group {
    padding: 0 10px;
  }
}
@media all and (max-width: 439px) {
  #school.view .data .info > span {
    display: block;
  }
  #school.view .data .info .word {
    margin-bottom: 8px;
    padding-top: 0;
    width: 100%;
    text-align: center;
  }
  #school.view .data .info .link,
  #school.view .data .info .link a {
    width: 100%;
    text-align: center;
  }
}

#school.view .detail {
  margin: 0 auto;
  padding: 0 70px;
  max-width: 1400px;
}

.nav-list.school-tab > li > a {
  display: block;
  position: relative;
  width: 120px;
  background: url('../images/p_nav_bg.svg') no-repeat 0 10px;
  background-size: 100% auto;
  -webkit-transition: background .25s;
  transition: background .25s;
}
.nav-list.school-tab .icon,
.nav-list.school-tab span {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.nav-list.school-tab .icon {
  top: 0;
}
.nav-list.school-tab:not(.nav) .icon {
  opacity: 0;
}
.nav-list.school-tab > li.current > a {
  background: url('../images/p_nav_bg2.svg') no-repeat 0 10px;
  background-size: 100% auto;
}
.nav-list.school-tab:not(.nav) > li.current .icon {
  opacity: 1;
}
.nav-list.school-tab > li.current .tw {
  color: #fff;
}

#school.view .nav {
  margin-left: -20px;
  margin-right: -20px;
  -webkit-justify-content: center;
  justify-content: center;
}
#school.view .nav > li {
  padding: 0 20px;
}
#school.view .nav > li > a {
  padding-bottom: 59.03%;
  width: 144px;
}
#school.view .intro .nav-link .icon {
  width: 36%;
  max-width: 51px;
}
#school.view .teachers .nav-link .icon {
  width: 31%;
  max-width: 44px;
}
#school.view .nav .tw {
  top: 32px;
  font-size: 1.85rem;
}
#school.view .nav .en {
  top: 52px;
  font-size: 1.4rem;
  color: #e994c7;
  font-weight: 700;
}

#school.view .nav-link:hover .tw {
  color: #6b1686;
}
#school.view .nav-link.active {
  background: url('../images/p_nav_bg2.svg') no-repeat 0 10px;
  background-size: 100% auto;
}
#school.view .nav-link.active .tw {
  color: #fff;
}
@media (max-width: 1365px) {
  #school.view .nav .tw {
    font-size: 1.65rem;
  }
}
@media all and (max-width: 1199px) {
  #school.view .detail {
    padding: 0 25px;
  }
}
@media all and (max-width: 1023px) {
  #school.view .nav > li > a {
    width: 130px;
  }
  #school.view .nav .tw {
    top: 31px;
  }
  #school.view .nav .en {
    top: 49px;
    font-size: 1.3rem;
  }
}
@media all and (max-width: 767px) {
  #school.view .nav {
    margin-left: -10px;
    margin-right: -10px;
  }
  #school.view .nav > li {
    padding: 0 10px;
  }
  #school.view .nav > li > a {
    width: 120px;
  }
  #school.view .nav .tw {
    top: 28px;
    font-size: 1.52rem;
  }
  #school.view .nav .en {
    top: 44px;
    font-size: 1.2rem;
  }
}

#school.view #intro .float-nav {
  position: fixed;
  z-index: 10;
  top: 50%;
  left: 20px;
  width: 145px;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: opacity .35s;
  transition: opacity .35s;
}
#school.view #intro .float-nav::after {
  display: block;
  content: "";
  position: absolute;
  top: 20px;
  left: 24px;
  width: 1px;
  height: 73%;
  background: url('../images/line_nav3.png') repeat-y 0 0;
}
#school.view #intro .float-nav li {
  position: relative;
  z-index: 2;
}
#school.view #intro .float-nav li a {
  display: block;
  padding: 10px;
  width: 145px;
  height: 50px;
  font-size: 0;
  color: #fff;
  border-radius: 50px;
  background-color: transparent;
  overflow: hidden;
}
#school.view #intro .float-nav li span {
  display: inline-block;
  margin-top: -5px;
  line-height: 3rem;
  vertical-align: middle;
}
#school.view #intro .float-nav li .dot {
  position: relative;
  width: 30px;
  height: 30px;
  border-radius: 100%;
}
#school.view #intro .float-nav li .dot::before,
#school.view #intro .float-nav li .dot::after {
  display: block;
  content: "";
  position: absolute;
  border-radius: 100%;
}
#school.view #intro .float-nav li .dot::before {
  z-index: 2;
  top: 50%;
  left: 50%;
  margin: -5px 0 0 -5px;
  width: 10px;
  height: 10px;
  background-color: #aa569d;
}
#school.view #intro .float-nav li .dot::after {
  width: 100%;
  height: 100%;
  opacity: 0;
  background-color: #fff;
}
#school.view #intro .float-nav li .word {
  padding: 5px 0 0 10px;
  font-size: 1.7rem;
  color: #666;
  letter-spacing: .15rem;
  -webkit-transition: opacity .25s;
  transition: opacity .25s;
}
#school.view #intro .float-nav li a:hover .word {
  color: #aa569d;
}
#school.view #intro .float-nav li.current a:hover .word {
  color: #fff;
}
#school.view #intro .float-nav li.current a {
  background-color: #aa569d;
}
#school.view #intro .float-nav li.current .dot::before {
  background-color: #fabe00
  ;
}
#school.view #intro .float-nav li.current .dot::after {
  opacity: 1;
}
#school.view #intro .float-nav li.current .word {
  color: #fff;
}
#school.view #intro .float-nav.fixed {
  opacity: 1;
  visibility: visible;
}
#school.view #intro .float-nav.fixed.display-no {
  display: none;
  opacity: 0;
  pointer-events: none;
}

#school.view #intro .floor-wrap {
  margin: 0 auto;
  max-width: 1250px;
}
#school.view #intro .floor-wrap .floor-section:not(:last-child) {
  padding-bottom: 40px;
  background: url('../images/line_divider.png') repeat-x center bottom;
}
#school.view #intro .floor-section {
  margin: -40px 0 40px;
  padding-top: 40px;
}
#school.view #intro .floor-section .ban {
  padding: 40px 15px;
}
#school.view #intro .floor-section .floor-list {
  padding: 0 15px;
}
.floor-list .item {
  padding: 40px 0;
  font-size: 0;
}
.floor-list .item > div {
  display: inline-block;
  vertical-align: middle;
}
.floor-list .txt {
  padding: 0 100px 0 10px;
  width: calc(100% - 47.132%);
  font-size: 1.6rem;
  letter-spacing: .15rem;
}
.floor-list .ti {
  position: relative;
  margin-bottom: 20px;
  padding-left: 25px;
  font-size: 2rem;
  font-weight: 500;
  line-height: 3rem;
}
.floor-list .ti::before {
  display: block;
  content: "";
  position: absolute;
  top: 6px;
  left: 0;
  width: 12px;
  height: 12px;
  background: url('../images/dot_ti.svg') no-repeat 0 0;
  background-size: cover;
}
.floor-list .pic {
  width: 47.132%;
  font-size: 0;
}
.floor-list .pic .img {
  display: inline-block;
  position: relative;
  vertical-align: top;
  overflow: hidden;
}
.floor-list .pic .img.big {
  padding-bottom: 65.22%;
  width: calc(54.783% + 1.74%);
}
.floor-list .pic .img.small {
  padding-bottom: 65.22%;
  width: calc(41.74% + 1.74%);
}
.floor-list .pic .img div {
  position: absolute;
  top: 50%;
  left: 0;
  width: calc(100% - 10px);
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.floor-list .pic img {
  border-radius: 20px;
}

.floor-list .item:nth-child(even) {
  direction: rtl;
}
.floor-list .item:nth-child(even) > div {
  direction: ltr;
  text-align: left;
}
.floor-list .item:nth-child(even) .txt {
  padding: 0 10px 0 100px;
}

#school.view #intro .map {
  margin: 0 auto;
  max-width: 1300px;
}
#school.view #intro .map iframe {
  padding: 20px;
  width: 100%;
  height: 650px;
  border: none;
  border-radius: 15px;
  background-color: #fff;
}

@media all and (min-width: 1440px) {
  #school.view #intro .nav-top.fixed.display-no {
    display: none;
    opacity: 0;
    pointer-events: none;
  }
}

@media all and (max-width: 1679px) {
  .floor-list .pic {
    max-width: 575px;
  }
  .floor-list .item .txt {
    padding-right: 50px;
  }
  .floor-list .item:nth-child(even) .txt {
    padding-left: 60px;
  }
}
@media all and (max-width: 1439px) {
  #school.view #intro .float-nav {
    display: none;
  }
  #school.view #intro .nav-top.fixed {
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;
    margin-bottom: 15px;
    padding: 12px 0 6px;
    width: 100%;
    background-color: #6b1686;
    background: url('../images/bg.jpg') repeat;
    box-shadow: 0 1px 10px rgb(0,0,0,.20);
    -webkit-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
  }
  #school.view #intro .map {
    margin-bottom: 0;
  }
}
@media all and (max-width: 1365px) {
  .floor-list .ti {
    margin-bottom: 15px;
  }
}
@media all and (max-width: 1079px) {
  .floor-list .item .txt {
    padding-right: 30px;
  }
  .floor-list .item:nth-child(even) .txt {
    padding-left: 40px;
  }
  .floor-list .ti {
    font-size: 1.7rem;
  }
  .floor-list .brief {
    line-height: 2.8rem;
  }
  #school.view #intro .map iframe {
    height: 350px;
  }
}
@media all and (max-width: 991px) {
  #school.view #intro .bookmark {
    padding-bottom: 30px;
  }

  #school.view #intro .floor-section .ban {
    padding: 25px 0;
  }
  #school.view #intro .floor-section .list {
    padding: 0;
  }
  .floor-list .item {
    padding: 25px 0;
  }
  .floor-list .item > div {
    display: block;
  }
  .floor-list .pic {
    margin: 25px auto 0;
    width: 100%;
  }
  .floor-list .pic .img div,
  .floor-list .pic img {
    border-radius: 15px;
  }
  .floor-list .item .txt {
    padding: 0 50px;
    width: 100%;
  }
  .floor-list .item:nth-child(even) .txt {
    padding: 0 50px;
  }
}
@media all and (max-width: 767px) {
  #school.view #intro .floor-section .floor-list {
    padding: 0;
  }
  #school.view #intro .floor-section .ban {
    padding: 15px 0;
  }
  .floor-list .item {
    padding: 15px 0;
  }
  .floor-list .pic {
    margin-top: 15px;
  }
  .floor-list .pic .img.big {
    padding-bottom: calc(65.22% + 5px);
  }
  .floor-list .pic .img.small {
    padding-bottom: calc(65.22% + 5px);
  }
  .floor-list .pic .img div {
    width: calc(100% - 5px);
  }
  .floor-list .item .txt,
  .floor-list .item:nth-child(even) .txt {
    padding: 0;
  }

  #school.view #intro .map {
    padding: 0;
  }
  #school.view #intro .map iframe {
    border-radius: 0;
  }
}
@media all and (max-width: 639px) {
  #school.view #footer .copyright .txt {
    padding-bottom: 79px;
  }
  #school.view #intro .nav-top.fixed {
    top: unset;
    bottom: 0;
    margin-bottom: 0;
    padding: 17px 0;
  }
}
@media all and (max-width: 575px) {
  .floor-list .ti {
    margin-bottom: 5px;
  }
}

#school.view #teachers {
  margin: 0 auto;
  padding: 0 25px;
  max-width: 1130px;
}
#school.view #teachers .teachers-list {
  position: relative;
  margin: 0 -15px;
  font-size: 0;
}
#school.view #teachers .item {
  display: inline-block;
  margin-bottom: 3vw;
  padding: 0 15px;
  width: 33.333%;
  font-size: 1.6rem;
  text-align: center;
  vertical-align: top;
}
#school.view #teachers .item .box {
  border: #ddd solid 1px;
  border-radius: 30px;
  background-color: rgba(255,255,255,.3);
  overflow: hidden;
}
#school.view #teachers .pic {
  position: relative;
  z-index: 0;
}
#school.view #teachers .pic .job {
  position: absolute;
  z-index: 2;
  bottom: 0;
  right: 15px;
  width: 70px;
  height: 70px;
  color: #fff;
  text-align: center;
  line-height: 7rem;
  background: url('../images/school_job_bg.svg') no-repeat 0 0;
  background-size: cover;
}
#school.view #teachers .pic .border-style {
  position: relative;
  padding-bottom: 100%;
  overflow: hidden;
  -webkit-mask-image: url('../images/teachers_mask.svg');
  mask-image: url('../images/teachers_mask.svg');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% auto;
  mask-size: 100% auto;
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
}
#school.view #teachers .pic .img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#school.view #teachers .txt {
  position: relative;
  z-index: 2;
  padding: 25px 20px;
}
#school.view #teachers .txt .t-name {
  margin-bottom: 8px;
  font-size: 2rem;
  color: #222;
  font-weight: 400;
  line-height: 2.4rem;
  letter-spacing: .15rem;
}
#school.view #teachers .txt .education {
  min-height: 44px;
  color: #666;
  line-height: 2.2rem;
  letter-spacing: .1rem;
}
#school.view #teachers .certification .ti {
  position: relative;
  margin: 10px 0 3px;
  letter-spacing: .15rem;
  line-height: 2.4rem;
}
#school.view #teachers .certification .ti::before,
#school.view #teachers .certification .ti::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -3px;
  width: calc(50% - 30px);
  height: 3px;
  background: url('../images/line_ti.png') repeat-x;
}
#school.view #teachers .certification .ti::before {
  left: 0;
}
#school.view #teachers .certification .ti::after {
  right: 0;
}
#school.view #teachers .icon-group a {
  display: block;
  margin: 0 6px;
  padding-top: 5px;
  font-size: 0;
  color: #333;
  line-height: 2.4rem;
  text-align: left;
  vertical-align: middle;
}
#school.view #teachers .icon-group a img,
#school.view #teachers .icon-group a span {
  display: inline-block;
  font-size: 1.5rem;
  vertical-align: middle;
}
#school.view #teachers .icon-group a img {
  margin-top: -5px;
  padding: 3px;
  width: 36px;
  height: 36px;
}
#school.view #teachers .icon-group a span {
  padding-left: 10px;
}
#school.view #teachers .icon-group a:hover span {
  color: #6b1686;
}
#school.view #teachers .item:hover .txt .name {
  color: #6b1686;
}

.page-load-status {
  margin: 0;
  padding: 0;
}
.loader-eff > div {
  background-color: #6b1686;
}

.btn-loadmore {
  display: block;
  position: relative;
  margin: 0 auto 1.5vw;
  width: 100px;
  font-size: 1.5rem;
  color: #6b1686;
  text-align: center;
  cursor: pointer;
  outline: none;
  border: none;
  background: none;
  box-shadow: none;
}
.btn-loadmore span {
  display: block;
  position: relative;
  height: 75px;
}
.btn-loadmore span:before {
  pointer-events: none;
  content: "";
  position: absolute;
  top: 33px;
  left: 50%;
  width: 1px;
  height: 20px;
  background-color: #6b1686;
}
.btn-loadmore::before,
.btn-loadmore::after {
  pointer-events: none;
  content: "";
  position: absolute;
}
.btn-loadmore::before {
  z-index: 0;
  left: 50%;
  margin-left: -12px;
  bottom: 0;
  width: 24px;
  height: 24px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background-color: #6b1686;
}
.btn-loadmore::after {
  z-index: 1;
  left: 50%;
  bottom: 10px;
  margin-left: -3px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
@media all and (max-width: 1279px) {
  #school.view #teachers {
    max-width: 1080px;
  }
  #school.view #teachers .txt .t-name {
    font-size: 1.8rem;
  }
}
@media all and (max-width: 1079px) {
  #school.view #teachers .pic .job {
    width: 60px;
    height: 60px;
    font-size: 1.5rem;
    line-height: 6rem;
  }
}
@media all and (max-width: 991px) {
  #school.view #teachers .teachers-list {
    margin: 0 -10px;
  }
  #school.view #teachers .item {
    margin-bottom: 25px;
    padding: 0 10px;
  }
  #school.view #teachers .item .box {
    border-radius: 15px;
  }
  #school.view #teachers .txt .education,
  #school.view #teachers .certification .ti {
    font-size: 1.5rem;
  }
  #school.view #teachers .icon-group a {
    margin: 0;
  }
  #school.view #teachers .icon-group a span {
    padding-left: 7px;
  }
}
@media all and (max-width: 767px) {
  #school.view #teachers {
    padding: 0;
    max-width: 660px;
  }
  #school.view #teachers .item {
    width: 50%;
  }
}
@media all and (max-width: 575px) {
  #school.view #teachers .pic .job {
    width: 50px;
    height: 50px;
    font-size: 1.4rem;
    line-height: 5rem;
  }
  #school.view #teachers .txt .t-name {
    font-size: 1.7rem;
  }
  #school.view #teachers .certification a img {
    padding: 0;
    width: 26px;
    height: 26px;
  }
  #school.view #teachers .icon-group a span {
    width: calc(100% - 26px - 8px);
    font-size: 1.4rem;
  }
}
@media all and (max-width: 499px) {
  #school.view #teachers {
    max-width: 300px;
  }
  #school.view #teachers .item {
    width: 100%;
  }
}

/* ---news--- */
#news .con-box {
  max-width: 1560px;
}
#news .list {
  margin: 70px -35px 0;
  font-size: 0;
}
#news .list .item {
  display: inline-block;
  margin-bottom: 70px;
  padding: 0 35px;
  width: 50%;
  vertical-align: top;
}
#news .list .box {
  border-radius: 20px 20px 80px 20px;
  background-color: #fff;
  overflow: hidden;
}
#news .list .box .pic,
#news .list .box .txt {
  display: inline-block;
  font-size: 1.6rem;
  vertical-align: middle;
}
#news .list .pic {
  position: relative;
  width: 51%;
  max-width: 340px;
}
#news .list .pic .type {
  position: absolute;
  z-index: 5;
  bottom: 0;
  right: 0;
  padding: 15px 20px 10px 22px;
  font-size: 1.4rem;
  color: #fff;
  line-height: 2rem;
  letter-spacing: .15rem;
  border-radius: 20px 0 0 0;
  background-color: #009fa8;
  overflow: hidden;
}
#news .list .pic img {
  border-radius: 20px 0 0 20px;
}

#news .list .txt {
  padding: 0 30px;
  width: 49%;
  letter-spacing: .15rem;
}
#news .list .txt .date {
  color: #aa569d;
  font-weight: 700;
  line-height: 2.6rem;
}
#news .list .txt .name {
  margin: 2px 0 5px;
  font-size: 1.7rem;
  line-height: 2.4rem;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
#news .list .txt .brief {
  color: #666;
  line-height: 2.6rem;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

#news.view .headline {
  margin-bottom: 0;
}
#news.view .bar-top .headline {
  margin: 0;
  text-align: left;
}
@media all and (max-width: 1559px) {
  #news .list {
    margin: 70px -20px 0;
  }
  #news .list .item {
    margin-bottom: 40px;
    padding: 0 20px;
  }
}
@media all and (max-width: 1365px) {
  #news .list .box {
    border-radius: 20px 20px 50px 20px;
  }
  #news .list .txt {
    padding: 0 20px;
  }
  #news .list .txt .brief {
    line-height: 2.6rem;
  }
}
@media all and (max-width: 1279px) {
  #news .list {
    margin: 50px -15px 0;
  }
  #news .list .item {
    margin-bottom: 30px;
    padding: 0 15px;
  }
  #news .list .box {
    border-radius: 15px 15px 30px 15px;
  }
  #news .list .pic {
    width: 48%;
  }
  #news .list .pic .type {
    padding: 10px 15px 5px 17px;
    border-radius: 15px 0 0 0;
  }
  #news .list .pic img {
    border-radius: 15px 0 0 15px;
  }
  #news .list .txt {
    width: 52%;
  }
  #news .list .txt .date {
    font-size: 1.4rem;
  }
  #news .list .txt .name {
    margin: 2px 0 5px;
    line-height: 2rem;
  }
  #news .list .txt .brief {
    font-size: 1.5rem;
    line-height: 2.4rem;
  }
}
@media all and (max-width: 1079px) {
  #news .list .txt .brief {
    -webkit-line-clamp: 2;
  }
}
@media all and (max-width: 1023px) {
  #news .list .item {
    display: block;
    width: 100%;
  }
  #news .list .pic {
    width: 230px;
  }
  #news .list .txt {
    width: calc(100% - 230px);
  }
}
@media all and (max-width: 767px) {
  #news .list {
    margin-top: 30px;
  }

  #news.view .con-box {
    padding-top: 12px;
  }
}
@media all and (max-width: 639px) {
  #news .list .pic {
    width: 200px;
  }
  #news .list .txt {
    width: calc(100% - 200px);
  }
  #news .list .txt .date {
    font-size: 1.3rem;
  }
}
@media all and (max-width: 575px) {
  #news .list .box .pic {
    display: block;
    width: 100%;
    max-width: 100%;
  }
  #news .list .pic img {
    border-radius: 15px 15px 0 0;
  }
  #news .list .box .txt {
    display: block;
    padding: 15px 20px 20px;
    width: 100%;
  }
}

/* ---blog--- */
#blog.search .style-bg {
  margin-top: 25px;
}

#blog .list .box {
  margin: 0 auto;
  max-width: 1360px;
  font-size: 0;
}
#blog .item .pic,
#blog .item .txt {
  display: inline-block;
  vertical-align: middle;
}
#blog .item .pic {
  position: relative;
  width: 48%;
  max-width: 645px;
}
#blog .item .pic .type {
  position: absolute;
  z-index: 5;
  bottom: 0;
  right: 0;
  padding: 15px 25px;
  font-size: 1.4rem;
  color: #fff;
  line-height: 2rem;
  letter-spacing: .15rem;
  border-radius: 20px 0 20px 0;
  background-color: #d50080;
  overflow: hidden;
}
#blog .item .pic,
#blog .item .pic img {
  border-radius: 25px 25px 25px 80px;
  overflow: hidden;
}
#blog .item .txt {
  padding-left: 50px;
  width: 52%;
  font-size: 1.6rem;
  letter-spacing: .15rem;
}
#blog .item .txt .name {
  margin-bottom: 20px;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 3.2rem;
}
#blog .item .txt .brief {
  color: #666;
  line-height: 3rem;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
#blog .tag {
  margin: 25px 0 15px;
  font-size: 0;
  line-height: 2.6rem;
  letter-spacing: 0;
}
#blog .tag a {
  display: inline-block;
  margin-right: 15px;
  font-size: 1.5rem;
  color: #6b9dde;
  vertical-align: middle;
}
#blog .tag a:hover {
  text-decoration: underline;
}
#blog .tag a::before {
  display: inline-block;
  content: "#";
  margin-right: 3px;
  vertical-align: middle;
}
#blog .item:nth-child(even) .txt {
  padding: 0 50px 0 0;
}

#blog .style-bg .item:nth-of-type(4n+3) .wrap,
#blog .style-bg .item:nth-of-type(4n+1) .wrap {
  padding-top: 70px;
  padding-bottom: 70px;
}

#blog.view .headline {
  margin-bottom: 0;
}
#blog.view .bar-top .headline {
  margin: 0 0 15px;
  text-align: left;
}
#blog.view .bar-top .type {
  display: inline-block;
  margin-left: 10px;
  padding: 4px 15px 2px;
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  line-height: 2.4rem;
  letter-spacing: .15rem;
  border-radius: 100px;
  background-color: #d50080;
}
#blog.view .bar-top .tag {
  display: inline-block;
  margin: 4px 0 0 10px;
  vertical-align: middle;
}
#blog.view .bar-top .share {
  padding-top: 15px;
}
@media all and (max-width: 1279px) {
  #blog .item .txt .name {
    font-size: 2.2rem;
    line-height: 3rem;
  }
  #blog .tag {
    margin-top: 15px;
    line-height: 2.4rem;
  }
}
@media all and (max-width: 1079px) {
  #blog .item .pic,
  #blog .item .pic img {
    border-radius: 15px 15px 15px 30px;
  }
  #blog .item .pic .type {
    padding: 10px 15px 8px;
    border-radius: 15px 0 15px 0;
  }
  #blog .item .txt {
    padding-left: 40px;
  }
  #blog .item .txt .name {
    margin-bottom: 10px;
    font-size: 2rem;
    font-weight: 500;
    line-height: 2.8rem;
  }
  #blog .item .txt .brief {
    line-height: 2.8rem;
  }
  #blog .tag {
    margin: 5px 0 0;
  }

  #blog .style-bg .item:nth-of-type(4n+3) .wrap,
  #blog .style-bg .item:nth-of-type(4n+1) .wrap {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
@media all and (max-width: 991px) {
  #blog .item .txt {
    padding-left: 30px;
  }
  #blog .item:nth-child(even) .txt {
    padding-right: 30px;
  }
  #blog .item .txt .name {
    margin-bottom: 5px;
    font-size: 1.8rem;
    line-height: 2.6rem;
  }
  #blog .tag a {
    margin-right: 10px;
    font-size: 1.4rem;
  }
}
@media all and (max-width: 767px) {
  #blog .item .pic {
    display: block;
    margin: 0 auto 20px;
    width: 100%;
  }
  #blog .item .txt {
    display: block;
    padding: 0 5px;
    width: 100%;
  }
  #blog .item:nth-child(even) .txt {
    padding: 0 10px;
  }
  #blog .item .txt .name {
    font-size: 1.7rem;
    line-height: 2.4rem;
  }

  #blog .style-bg .item .wrap {
    padding: 30px 25px 25px;
  }
  #blog .style-bg .item:nth-of-type(4n+3) .wrap,
  #blog .style-bg .item:nth-of-type(4n+1) .wrap {
    padding-top: 25px;
    padding-bottom: 25px;
  }

  #blog.view .con-box {
    padding-top: 12px;
  }
  #blog.view .bar-top .type {
    font-size: 1.3rem;
    line-height: 2.2rem;
  }
  #blog.view .bar-top .share {
    padding-top: 5px;
  }
}

@media all and (max-width: 639px) {
  #blog .list .item:last-child .wrap {
    padding-bottom: 0;
  }
}

/* ---聯絡我們--- */
#contact.info .con-box {
  margin: 0 auto;
  padding-bottom: 160px;
  max-width: 1195px;
  font-size: 0;
}
#contact .tab-list {
  margin-bottom: 70px;
}
#contact .follow,
#contact .tab-content {
  display: inline-block;
  font-size: 1.6rem;
  letter-spacing: .15rem;
  vertical-align: top;
}
#contact .follow {
  width: 380px;
}
#contact .follow .box {
  padding: 5vw 2vw 3.5vw;
  border-radius: 25px 25px 25px 80px;
  background-color: rgba(234,156,203,.1);
}
#contact .follow .box-ti {
  margin-bottom: 20px;
}
#contact .follow .box-ti .icon {
  margin: -10px 20px 0 0;
  width: 28.5%;
  max-width: 70px;
}
#contact .follow .box-ti .title span {
  margin-bottom: 0;
}
#contact .follow .community a {
  margin: 0 18px;
}

#contact .tab-content {
  padding-left: 35px;
  width: calc(100% - 380px);
  overflow: hidden;
}
#contact .tab-content .box {
  padding: 3.5vw 3vw 1.5vw;
  border-radius: 25px 25px 25px 80px;
  background-color: rgba(86,215,217,.1);
}
#contact .data .name {
  margin-bottom: 10px;
  font-size: 2rem;
  line-height: 2.8rem;
}
#contact .data .name a {
  color: #222;
}
#contact .data .name a:hover {
  color: #6b1686;
}
#contact .data .info {
  margin-bottom: 5px;
  font-size: 1.6rem;
  color: #666;
  line-height: 2.6rem;
}
#contact .data .info a {
  color: #666;
}
#contact .data .btn-style {
  margin-top: 10px;
}

/* 參觀預約 */
#contact.reserve .con-box {
  margin: 0 auto;
  padding-bottom: 230px;
  max-width: 1290px;
}
#contact .remark {
  margin-bottom: 40px;
  padding: 2.5vw 3vw 1.5vw;
  line-height: 3rem;
  border-radius: 25px 25px 25px 80px;
  background-color: rgba(86,215,217,.1);
}
#contact .remark p {
  margin-bottom: 15px;
}
#contact .remark .info {
  margin-bottom: 15px;
}
#contact .remark .info p {
  margin-bottom: 0;
}
#contact .remark ul li {
  position: relative;
  padding-left: 16px;
  line-height: 2.6rem;
}
#contact .remark ul li::before {
  display: block;
  content: "";
  position: absolute;
  top: 7px;
  left: 3px;
  width: 5px;
  height: 5px;
  background-color: #444;
}

#contact .form .box {
  position: relative;
}
#contact .form .box:not(:last-child) {
  margin-bottom: 25px;
  padding-bottom: 25px;
  background: url('../images/form_line.png') repeat-x bottom;
}
#contact .form .txt {
  margin-bottom: 15px;
  padding: 1.5vw 2vw 1vw;
  letter-spacing: .15rem;
  border-radius: 10px;
  background-color: rgba(234,156,203,.1);
}
#contact .form .txt p {
  margin-bottom: 0;
}
#contact .form .txt span {
  display: block;
  color: #6b1686;
  font-weight: 500;
}

#contact .form .caregiver .label-ti {
  padding-right: 50px;
  float: left;
}
#contact .form .caregiver ul.check-box {
  padding-top: 0;
}

#contact .form .info {
  margin: 0 -15px;
  font-size: 0;
}
#contact .form .info > div {
  display: inline-block;
  padding: 0 15px;
  width: 50%;
  vertical-align: top;
}
#contact .form .info .school ul {
  padding-top: 12px;
}

#contact .form .code {
  width: 38%;
}
#contact .form .code .label-ti {
  padding-right: 15px;
  float: left;
  line-height: 4.7rem;
}
#contact .form .btn-submit {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 140px;
  height: 47px;
  font-size: 1.8rem;
  color: #fff;
  font-weight: 700;
  text-align: center;
  border: none;
  border-radius: 6px;
  background: none #009fa8;
  box-shadow: none;
}
#contact .form .btn-submit i {
  display: inline-block;
  margin-right: 8px;
  width: 33px;
  line-height: 0;
  vertical-align: middle;
}

.msg-wrap {
  margin: 0 auto;
  max-width: 600px;
  padding: 20px 30px 50px;
  text-align: center;
  letter-spacing: .15rem;
}
.msg-wrap .msg-icon {
  margin: 0 auto;
  width: 60px;
  height: 60px;
  border-radius: 50%;
}
.msg-wrap .msg-icon span {
  display: block;
  margin: 0 auto;
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #6b1686;
}
.msg-wrap .msg-icon span::before,
.msg-wrap .msg-icon span::after {
  pointer-events: none;
  content: "";
  position: absolute;
  z-index: 2;
  left: 50%;
  background-color: #fff;
}
.msg-wrap .msg-icon span::before {
  top: 16px;
  left: 34px;
  width: 3px;
  height: 50%;
  -webkit-transform: rotate(40deg);
  -moz-transform: rotate(40deg);
  -o-transform: rotate(40deg);
  transform: rotate(40deg);
}
.msg-wrap .msg-icon span::after {
  top: 30px;
  left: 20px;
  width: 3px;
  height: 25%;
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  -o-transform: rotate(135deg);
  transform: rotate(135deg);
}
.msg-wrap .msg-title {
  position: relative;
  padding: 20px 0 50px;
  margin-bottom: 20px;
  color: #6b1686;
  font-size: 2.4rem;
  font-weight: 600;
  text-transform: uppercase;
}
.msg-wrap .msg-title::before {
  pointer-events: none;
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 40px;
  background-color: #6b1686;
}
.msg-wrap .msg-text {
  font-size: 1.65rem;
  line-height: 2.8rem;
}
.msg-wrap .btn-box {
  text-align: center;
}
.msg-wrap .btn-style {
  margin-left: auto;
  margin-right: auto;
  max-width: 220px;
}

.no-bg,
#reservation.page {
  background: none #fff;
}
#reservation.page .main-wrap {
  background: none;
}
#reservation .con-box {
  padding: 0 0 2vw;
}
#reservation iframe {
  width: 100%;
  border: none;
}
@media all and (min-width: 640px) {
  #reservation.page .main-wrap {
    padding-top: 0;
  }
}
@media all and (max-width: 1559px) {
  #contact.info .con-box {
    padding-bottom: 50px;
  }
  #contact.reserve .con-box {
    padding-bottom: 50px;
  }
}
@media all and (max-width: 1279px) {
  #contact.info .con-box {
    padding-bottom: 30px;
  }
  #contact .tab-list {
    margin-bottom: 40px;
  }
  #contact .data .name {
    font-size: 1.8rem;
    line-height: 2.6rem;
  }

  #contact .form .caregiver ul.check-box {
    padding-top: 5px;
  }
  #contact .form .code {
    width: 45%;
  }
  .msg-wrap .btn-style {
    max-width: 185px;
  }
}
@media all and (max-width: 1079px) {
  #contact.reserve .con-box {
    padding-bottom: 20px;
  }
  .msg-wrap {
    padding: 20px 0;
  }
  .msg-wrap .msg-icon {
    width: 45px;
    height: 45px;
  }
  .msg-wrap .msg-icon span::before {
    top: 12px;
    left: 26px;
  }
  .msg-wrap .msg-icon span::after {
    top: 22px;
    left: 15px;
  }
  .msg-wrap .msg-title {
    margin-bottom: 10px;
    padding: 10px 0 50px;
    font-size: 2rem;
  }
  .msg-wrap .msg-text {
    font-size: 1.5rem;
  }
}
@media all and (max-width: 991px) {
  #contact.info .con-box {
    padding-bottom: 0;
  }
  #contact .tab-list {
    margin-bottom: 20px;
  }
  #contact .follow,
  #contact .tab-content {
    display: block;
    margin: 0 auto;
    padding: 0;
    width: 100%;
    max-width: 680px;
  }
  #contact .follow .box {
    padding: 10vw 5vw 8vw;
  }
  #contact .tab-content .box {
    padding: 4.5vw 5vw;
  }
  #contact .tab-content {
    margin-bottom: 25px;
  }
  #contact .data .name {
    font-size: 1.7rem;
    line-height: 2.4rem;
  }

  #contact .form .code {
    width: 55%;
  }
}
@media all and (max-width: 767px) {
  #contact .follow .box,
  #contact .tab-content .box {
    border-radius: 15px 15px 15px 40px;
  }
  #contact .follow .box-ti .icon {
    margin: -15px 10px 0 0;
    width: 18%;
  }
  #contact .tab-content .box {
    padding: 7vw 5vw;
  }

  #contact .form .box:not(:last-child) {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
  #contact .form .form-group:not(:last-child) {
    margin-bottom: 20px;
  }
  #contact .remark {
    margin-bottom: 25px;
    padding: 4.5vw 4.5vw 3vw;
    line-height: 2.8rem;
    border-radius: 15px 15px 15px 40px;
  }
  #contact .form .txt {
    padding: 4vw 4.5vw;
  }
  #contact .form .txt p {
    line-height: 2.8rem;
  }
  #contact .form .caregiver .label-ti {
    padding-right: 0;
    float: none;
  }
  #contact .form .info {
    margin: 0;
  }
  #contact .form .info > div {
    display: block;
    padding: 0;
    width: 100%;
  }
  #contact .form .code {
    width: 70%;
  }
}
@media all and (max-width: 575px) {
  #contact .follow .community a {
    margin: 0 12px;
  }
  #contact .data .name {
    font-size: 1.65rem;
  }

  #contact.reserve .con-box {
    padding-bottom: 0;
  }
  #contact .form .code {
    width: 100%;
  }
  #contact .form .code .label-ti {
    padding-right: 0;
    float: none;
    line-height: 2.8rem;
  }
  #contact .form .btn-submit {
    position: static;
    right: 0;
    margin: 25px auto 0;
    width: 100%;
  }
}

/* ---網站地圖--- */
#sitemap .con-box {
  margin: 0 auto;
  max-width: 1240px;
}
#sitemap .list {
  margin-top: 40px;
  font-size: 0;
}
#sitemap .list .item {
  display: inline-block;
  margin-bottom: 20px;
  width: 25%;
  text-align: center;
  vertical-align: top;
}
#sitemap .item .ti {
  margin: 0 0 15px 0;
}
#sitemap .ti a {
  display: block;
  position: relative;
  margin: 0 auto;
  padding-bottom: 151px;
  width: 176px;
  background: url('../images/sitemap_nav_pink.svg') no-repeat left 98%;
  background-size: 100% auto;
}
#sitemap .ti .icon,
#sitemap .ti span {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
#sitemap .ti .icon {
  top: 0;
}
#sitemap .ti span {
  display: block;
  position: absolute;
  width: 100%;
  letter-spacing: .15rem;
}
#sitemap .ti .tw {
  bottom: 40px;
  font-size: 1.9rem;
  color: #fff;
  font-weight: 500;
  letter-spacing: .2rem;
}
#sitemap .ti .en {
  bottom: 20px;
  font-size: 1.4rem;
  color: #e994c7;
  font-weight: 700;
  letter-spacing: .15rem;
}

#sitemap .list .item:nth-child(even) .ti a {
  background: url('../images/sitemap_nav_green.svg') no-repeat left 98%;
  background-size: 100% auto;
}
#sitemap .list .item:nth-child(even) .ti .en {
  color: #90dbdf;
}

#sitemap .list .item:nth-child(1) .icon {
  width: 42%;
  max-width: 73px;
}
#sitemap .list .item:nth-child(2) .icon {
  top: 16%;
  width: 50%;
  max-width: 87px;
}
#sitemap .list .item:nth-child(3) .icon {
  top: 5%;
  width: 33%;
  max-width: 57px;
}
#sitemap .list .item:nth-child(4) .icon {
  top: 14%;
  width: 59%;
  max-width: 103px;
}
#sitemap .list .item:nth-child(5) .icon {
  top: 12%;
  width: 41%;
  max-width: 72px;
}
#sitemap .list .item:nth-child(6) .icon {
  top: 16%;
  width: 50%;
  max-width: 87px;
}
#sitemap .list .item:nth-child(7) .icon {
  top: 14%;
  width: 59%;
  max-width: 103px;
}
#sitemap .list .item:nth-child(8) .icon {
  width: 31%;
  max-width: 54px;
}

#sitemap .item h3 {
  margin: 0 auto;
  max-width: 135px;
  font-size: 1.6rem;
  color: #333;
  letter-spacing: .3rem;
  background: url('../images/sitemap_line.png') repeat-x left bottom;
}
#sitemap .item h3 a {
  display: block;
  padding: 18px 0 14px;
  color: #333;
}
#sitemap .item h3 a:hover {
  color: #6b1686;
}
@media all and (max-width:1365px) {
  #sitemap .ti .tw {
    font-size: 1.7rem;
  }
}
@media all and (max-width:1079px) {
  #sitemap .list .item {
    width: 33.3333%;
  }
  #sitemap .ti a {
    padding-bottom: 129px;
    width: 150px;
  }
  #sitemap .ti .tw {
    bottom: 30px;
  }
  #sitemap .ti .en {
    bottom: 13px;
  }
}
@media all and (max-width:639px) {
  #sitemap .list {
    margin-top: 25px;
  }
  #sitemap .list .item {
    width: 50%;
  }
  #sitemap .item .ti {
    margin-bottom: 0;
  }
  #sitemap .ti a {
    padding-bottom: 112px;
    width: 130px;
  }
  #sitemap .ti .tw {
    bottom: 28px;
    font-size: 1.6rem;
  }
  #sitemap .ti .en {
    bottom: 10px;
    font-size: 1.3rem;
  }
  #sitemap .item h3 a {
    padding: 14px 0 10px;
  }
}
@media all and (max-width:413px) {
  #sitemap .list {
    margin-left: -10px;
    margin-right: -10px;
  }
  #sitemap .list .item {
    padding: 0 10px;
  }
  #sitemap .ti a {
    padding-bottom: 103px;
    width: 120px;
  }
  #sitemap .ti .tw {
    bottom: 23px;
    font-size: 1.5rem;
  }
  #sitemap .ti .en {
    bottom: 7px;
  }
  #sitemap .item h3 {
    max-width: 120px;
  }
}

/* ---- 德妮嗨派對 追加 20221019 ---- */
/* 架構 + 共用 */
#activities .main-wrap {
  padding-top: 43px;
}
#activities .con-box {
  position: relative;
  z-index: 2;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
  max-width: 1370px;
  letter-spacing: .1rem;
}

#activities .box-ti {
  margin: 0 0 1.6vw;
  font-size: 3.4rem;
  color: #222;
  font-weight: 700;
  letter-spacing: .25rem;
  text-align: center;
}
#activities .box-ti span {
  display: block;
  margin-bottom: .9vw;
  font-size: 3.5rem;
  color: #6b1686;
  font-weight: 700;
  letter-spacing: .15rem;
}

#activities .box-sapc {
  padding-top: 4vw;
  padding-bottom: 4vw;
}

#activities .community {
  margin-top: 1.5vw;
}
#activities .community > span {
  text-decoration: underline;
}
#activities .community a {
  margin: 0 6px;
  width: 32px !important;
  height: 32px !important;
  overflow: hidden;
}
#activities .community a:hover::before {
  background-position: 0 -32px !important;
}
#activities.view .community {
  margin: 0 auto;
  max-width: 1070px;
}

#activities .oj {
  position: absolute;
  z-index: 2;
}
#activities .oj i {
  display: block;
  width: 100%;
}
#activities .oj i::before {
  display: block;
  content: "";
  width: 100%;
}
#activities.view .box-bg::before,
#activities.view .box-bg::after {
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
@media all and (min-width: 1660px) and (max-width: 1679px) {
  #activities.page .main-wrap {
    padding-top: 54px;
  }
}
@media all and (min-width: 1080px) {
  #activities.view .community.txt-right {
    text-align: right;
  }
}

@media all and (max-width: 1679px) {
  #activities .main-wrap {
    padding-top: 100px;
  }
}
@media all and (max-width: 1279px) {
  #activities .box-ti {
    font-size: 2.8rem;
  }
  #activities .box-ti span {
    margin-bottom: 12px;
    font-size: 3rem;
  }
}
@media all and (max-width: 1199px) {
  #activities .main-wrap {
    padding-top: 85px;
  }
}
@media all and (max-width: 991px) {
  #activities.view .box-bg {
    padding: 30px 0;
  }
  #activities.view .box-bg::before,
  #activities.view .box-bg::after {
    height: 30px;
  }
}
@media all and (max-width: 839px) {
  #activities .community {
    margin-top: 15px;
  }
  #activities.view .community.txt-right {
    text-align: right;
  }
}
@media all and (max-width: 767px) {
  #activities .box-sapc {
    padding-top: 40px;
    padding-bottom: 45px;
  }
  #activities .box-ti {
    margin-bottom: 10px;
    font-size: 2.3rem;
  }
  #activities .box-ti span {
    margin-bottom: 8px;
    font-size: 2.6rem;
    line-height: 2.6rem;
  }

  #activities.view .box-bg {
    padding: 20px 0;
  }
  #activities.view .box-bg::before,
  #activities.view .box-bg::after {
    height: 20px;
  }
}

@media all and (max-width: 639px) {
  #activities .box-sapc {
    padding-bottom: 0;
  }
}

/* ban */
#activities .ban {
  position: relative;
  padding: 0 70px 110px;
}

#activities .ban .bg {
  left: 50%;
  bottom: 9.2%;
  width: 51.48%;
  max-width: 870px;
  transform: translateX(-50%);
}
#activities .ban .bg i {
  background: url('../images/activities_ban_oj_bg.png') no-repeat 0 0;
  background-size: cover;
}
#activities .ban .bg i::before {
  padding-bottom: 11.495%;
}

#activities .ban .rhino {
  left: 12.5%;
  bottom: 7.5%;
  width: 21.302%;
  max-width: 360px;
}
#activities .ban .rhino i {
  background: url('../images/activities_ban_oj1.png') no-repeat 0 0;
  background-size: cover;
}
#activities .ban .rhino i::before {
  padding-bottom: 136.112%;
}

#activities .ban .fox {
  right: 11.5%;
  bottom: 14.5%;
  width: 19.706%;
  max-width: 375px;
}
#activities .ban .fox i {
  background: url('../images/activities_ban_oj2.png') no-repeat 0 0;
  background-size: cover;
}
#activities .ban .fox i::before {
  padding-bottom: 107.47%;
}

#activities .ban .flower {
  left: 49%;
  bottom: 22%;
  width: 5.991%;
  max-width: 114px;
}
#activities .ban .flower i {
  background: url('../images/activities_ban_oj3.png') no-repeat 0 0;
  background-size: cover;
}
#activities .ban .flower i::before {
  padding-bottom: 78.95%;
}

#activities .ban .wrap {
  position: relative;
  margin: 0 auto;
  width: 96%;
  max-width: 1690px;
}
#activities .ban .mask-img {
  position: relative;
  padding-bottom: 47.16%;
  overflow: hidden;
  -webkit-mask-image: url(../images/i_ban_mask.svg);
  mask-image: url(../images/i_ban_mask.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% auto;
  mask-size: 100% auto;
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
}
#activities .ban .pic {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#activities .ban .pic [data-image] {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-animation: ani_slide_in 3s both ease;
          animation: ani_slide_in 3s both ease;
}
@-webkit-keyframes ani_slide_in {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(1.08);
            transform: translate(-50%, -50%) scale(1.08);
  }
  20% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(-50%, -50%) scale(1);
            transform: translate(-50%, -50%) scale(1);
  }
}
@keyframes ani_slide_in {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(1.08);
            transform: translate(-50%, -50%) scale(1.08);
  }
  20% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(-50%, -50%) scale(1);
            transform: translate(-50%, -50%) scale(1);
  }
}
@media all and (max-width: 1199px) {
  #activities .ban {
    position: relative;
    padding: 0 0px 80px;
  }
}

/* intro */
#activities .intro {
  margin-top: -4vw;
  padding-bottom: 4vw
}
#activities .logo-name {
  margin: 0 auto 1.5vw;
  width: 19.549%;
  max-width: 260px;
}
#activities .logo-name i {
  display: block;
  width: 100%;
  background: url('../images/activities_logo.svg') no-repeat 0 0;
  background-size: cover;
}
#activities .logo-name i::before {
  display: block;
  content: "";
  padding-bottom: 71.154%;
  width: 100%;
}
#activities .intro > p {
  margin: 0 auto;
  max-width: 1070px;
  text-align: center;
}
@media all and (max-width: 767px) {
  #activities .logo-name {
    width: 100%;
    max-width: 160px;
  }
}

/* feature */
#activities .feature.box-bg::before,
#activities .feature.box-bg::after {
  background-image: url('../images/bg_wave_pink.svg');
}
#activities .feature.box-bg .wrap {
  background-color: rgba(234 156 203 / 10%);
}
#activities .feature .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 -2.519vw;
}
#activities .feature .item {
  margin-bottom: 2.5vw;
  padding: 0 2.519vw;
  width: 33.3333%;
}
#activities .feature .item .pic {
  position: relative;
  margin: 0 auto;
  width: 100%;
  max-width: 380px;
}
#activities .feature .item .pic::before,
#activities .feature .item .pic::after {
  display: block;
  content: "";
  width: 100%;
}
#activities .feature .item .pic::before {
  padding-bottom: 86.4%;
}
#activities .feature .item .pic::after {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  height: 100%;
  background-color: #fff;
  border-radius: 40% 60% 55% 45% / 50% 66% 34% 50%;
  /* -webkit-animation: ani_round_one 6s infinite;
  animation: ani_round_one 6s infinite; */
}
#activities .feature .item .pic .box {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: 64.511%;
  max-width: 230px;
  transform: translate(-50%, -50%);
}
#activities .feature .item:nth-child(2) .pic .box,
#activities .feature .item:nth-child(3) .pic .box,
#activities .feature .item:nth-child(4) .pic .box {
  width: 56.935%;
  max-width: 210px;
}

@keyframes ani_round_one {
  0% {
    border-radius: 60% 40% 45% 55% / 60% 50% 50% 40%;
  }
  25% {
    border-radius: 58% 42% 75% 25% / 76% 46% 54% 24%;
  }
  50% {
    border-radius: 50% 50% 33% 67% / 55% 27% 73% 45%;
  }
  75% {
    border-radius: 33% 67% 58% 42% / 63% 68% 32% 37%;
  }
}

#activities .feature .leaf {
  right: 5%;
  top: -13%;
  width:  7.82%;
  max-width: 107px;
}
#activities .feature .leaf i {
  background: url(../images/activities_feature_oj1.svg) no-repeat 0 0;
  background-size: cover;
}
#activities .feature .leaf i::before {
  padding-bottom: 88%
}

#activities .feature .bird {
  left: 4%;
  bottom: 15%;
  width: 12.409%;
  max-width: 170px;
}
#activities .feature .bird i {
  background: url(../images/activities_feature_oj2.svg) no-repeat 0 0;
  background-size: cover;
}
#activities .feature .bird i::before {
  padding-bottom: 73%
}

#activities .feature .item:nth-child(1) .pic .oj {
  right: 8%;
  bottom: 3%;
  width:  17.894%;
  max-width: 66px;
}
#activities .feature .item:nth-child(1) .pic .oj i {
  background: url(../images/activities_feature_icon1-2.svg) no-repeat 0 0;
  background-size: cover;
}
#activities .feature .item:nth-child(1) .pic .oj i::before {
  padding-bottom: 96.97%
}

#activities .feature .item:nth-child(2) .pic .oj {
  right: 8%;
  top: 3%;
  width:  17.894%;
  max-width: 47px;
}
#activities .feature .item:nth-child(2) .pic .oj i {
  background: url(../images/activities_feature_icon2-2.svg) no-repeat 0 0;
  background-size: cover;
}
#activities .feature .item:nth-child(2) .pic .oj i::before {
  padding-bottom: 146.809%
}

#activities .feature .item:nth-child(3) .pic .oj {
  right: 8%;
  bottom: 3%;
  width:  11.116%;
  max-width: 41px;
}
#activities .feature .item:nth-child(3) .pic .oj i {
  background: url(../images/activities_feature_icon3-2.svg) no-repeat 0 0;
  background-size: cover;
}
#activities .feature .item:nth-child(3) .pic .oj i::before {
  padding-bottom: 143.903%
}

#activities .feature .item:nth-child(4) .pic .oj {
  right: 8%;
  bottom: 3%;
  width:  11.387%;
  max-width: 42px;
}
#activities .feature .item:nth-child(4) .pic .oj i {
  background: url(../images/activities_feature_icon4-2.svg) no-repeat 0 0;
  background-size: cover;
}
#activities .feature .item:nth-child(4) .pic .oj i::before {
  padding-bottom: 154.77%
}

#activities .feature .item:nth-child(5) .pic .oj {
  top: 8%;
  right: 10%;
  width:  12.743%;
  max-width: 47px;
}
#activities .feature .item:nth-child(5) .pic .oj i {
  background: url(../images/activities_feature_icon5-2.svg) no-repeat 0 0;
  background-size: cover;
}
#activities .feature .item:nth-child(5) .pic .oj i::before {
  padding-bottom: 104.26%
}

#activities .feature .item .txt {
  padding-top: 1.8vw;
  text-align: center;
}
#activities .feature .item .txt .ti {
  margin-bottom: 15px;
  font-size: 1.8rem;
  color: #e994c7;
  font-weight: 700;
}
#activities .feature .item .txt .ti span {
  display: block;
  margin-bottom: 5px;
  font-size: 2.6rem;
  color: #6b1686;
  font-weight: 600;
}
#activities .feature .item .txt p {
  margin-bottom: 0;
  color: #666;
  line-height: 3rem;
}
@media all and (min-width: 992px) {
  #activities .feature .item:nth-child(4),
  #activities .feature .item:nth-child(5) {
    margin-bottom: 0;
  }
}

@media all and (max-width: 1365px) {
  #activities .feature .leaf {
    top: -10%;
    width: 7%;
  }
}
@media all and (max-width: 1279px) {
  #activities .feature .item .txt {
    padding-top: 25px;
  }
  #activities .feature .item .txt .ti {
    margin-bottom: 5px;
  }
  #activities .feature .item .txt .ti span {
    font-size: 2.4rem;
    font-weight: 500;
  }
}
@media all and (max-width: 991px) {
  #activities .feature .leaf {
    top: -4%;
  }
  #activities .feature .bird {
    left: auto;
    right: 2vw;
    bottom: -40px;
  }

  #activities .feature .item {
    display: flex;
    align-items: center;
    margin-bottom: 25px;
    width: 100%;
  }
  #activities .feature .item .pic {
    margin: 0;
    max-width: 220px;
  }
  #activities .feature .item .pic .box {
    width: 50% !important;
  }
  #activities .feature .item .txt {
    padding: 0 0 0 40px;
    width: calc(100% - 220px);
    text-align: left;
  }
  #activities .feature .item .txt .ti {
    font-size: 1.7rem;
  }
  #activities .feature .item .txt .ti span {
    margin-bottom: 3px;
    font-size: 2.2rem;
  }
}
@media all and (max-width: 767px) {
  #activities .ban .mask-img {
    padding-bottom: 53.393%;
    -webkit-mask-image: url(../images/i_ban_mask_s.svg);
    mask-image: url(../images/i_ban_mask_s.svg);
  }

  #activities .feature .leaf {
    top: -4%;
    width: 15%;
  }
  #activities .feature .bird {
    width: 18%;
  }

  #activities .feature .item {
    align-items: flex-start;
  }
  #activities .feature .item .pic {
    max-width: 140px;
  }
  #activities .feature .item .txt {
    padding: 20px 0 0 20px;
    width: calc(100% - 140px);
  }
  #activities .feature .item .txt .ti span {
    font-size: 2rem;
  }
}
@media all and (max-width: 575px) {
  #activities .ban .wrap {
    width: 90%;
  }
  #activities .ban .mask-img {
    padding-bottom: 62%;
    mask-image: none;
  }
  #activities .ban .pic {
    border-radius: 50px;
    overflow: hidden;
  }

  #activities .feature .bird {
    left: 3vw;
    right: auto;
    width: 22%;
  }

  #activities .feature .item {
    margin-bottom: 15px;
  }
  #activities .feature .item .pic {
    max-width: 120px;
  }
  #activities .feature .item .txt {
    width: calc(100% - 120px);
  }
  #activities .feature .item .txt .ti span {
    font-size: 2rem;
  }
}

/* recent */
#activities .recent {
  position: relative;
}
#activities .recent::before {
  top: 50%;
  background-image: url('../images/business/bg_wave_green.svg');
}
#activities .recent::after {
  bottom: 0;
  background-image: url('../images/business/bg_wave_green.svg');
}
#activities .recent .bg {
  position: absolute;
  z-index: 1;
  top: calc(50% + 46px);
  width: 100%;
  height: calc( 50% - 46px - 46px );
  background-color: rgba(86 215 217 / 10%);
}

#activities .recent .name {
  font-size: 2.2rem;
  color: #000;
  text-align: center;
}
#activities .recent .name a {
  color: #000;
}
#activities .recent .name a:hover {
  color: #6b1686;
}
#activities .recent .name ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: .5vw;
  font-size: 1.8rem;
}
#activities .recent .name ul li {
  padding: 0 5px;
}
#activities .recent .name ul span {
  padding-right: 5px;
  color: #6b1686;
}
#activities .recent .pic {
  margin: 1.6vw auto 0;
  max-width: 1300px;
  border-radius: 30px;
  overflow: hidden;
}
@media all and (max-width: 1199px) {
  #activities .recent .pic {
    border-radius: 15px;
  }
}
@media all and (max-width: 1079px) {
  #activities .recent .name ul {
    font-size: 1.7rem;
  }
}
@media all and (max-width: 991px) {
  #activities .recent .bg {
    top: calc( 50% + 24px);
    height: calc( 50% - 24px - 24px );
  }
}
@media all and (max-width: 767px) {
  #activities .recent .name {
    font-size: 1.8rem;
  }
  #activities .recent .name ul {
    font-size: 1.6rem;
  }
}
@media all and (max-width: 575px) {
  #activities .recent .bg {
    top: calc( 50% + 15px);
    height: calc( 50% - 15px - 15px );
  }
}

/* history */
#activities .history .article-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0 30px;
  position: relative;
  z-index: 2;
  margin: 0 auto;
  max-width: 1220px;
  overflow: hidden;
}
#activities .history .article-list .item {
  margin-bottom: max(2.2vw, 15px);
  width: calc(50% - 15px);
}
#activities .history .article-list .item .pic {
  position: relative;
}
#activities .history .article-list .item .pic,
#activities .history .article-list .item .pic img {
  border-radius: 15px 15px 15px 40px;
  overflow: hidden;
}
#activities .history .article-list .item .pic a {
  display: block;
  position: relative;
}
#activities .history .article-list .item .pic img {
  width: 100%;
  -webkit-transition: all .25s ease-in-out;
  transition: all .25s ease-in-out;
}
#activities .history .article-list .item .name {
  margin-top: 15px;
  font-size: 1.7rem;
  color: #222;
  text-align: center;
  line-height: 1.5;
}
#activities .history .article-list .item:hover .name {
  color: #6b1686;
}

#activities .history .con-box {
  padding-bottom: 5vw;
  max-width: 1550px;
}

#activities .history .oj-1 {
  right: 4%;
  top: 3%;
  width:  8.194%;
  max-width: 127px;
}
#activities .history .oj-1 i {
  background: url(../images/activities_history_oj1.svg) no-repeat 0 0;
  background-size: cover;
}
#activities .history .oj-1 i::before {
  padding-bottom: 93.701%
}

#activities .history .oj-2 {
  left: 8%;
  bottom: 1%;
  width:  11.613%;
  max-width: 180px;
}
#activities .history .oj-2 i {
  background: url(../images/activities_history_oj2.svg) no-repeat 0 0;
  background-size: cover;
}
#activities .history .oj-2 i::before {
  padding-bottom: 93.334%;
}

@media all and (max-width: 1279px) {
  #activities .history .article-list {
    gap: 0 20px;
  }
  #activities .history .article-list .item {
    width: calc(50% - 10px);
  }
}
@media all and (max-width: 1079px) {
  #activities .history .con-box {
    padding-bottom: 0;
  }
}
@media all and (max-width: 767px) {
  #activities .history .item .pic,
  #activities .history .item .pic img {
    border-radius: 10px 10px 10px 20px;
  }
  #activities .history .item .name {
    margin-top: 20px;
  }
}

@media all and (max-width: 639px) {
  #activities .history .article-list .item {
    width: 100%;
  }
}


/* ---- view ---- */
#activities.view .con-box {
  padding-top: 0;
  padding-bottom: 0;
}

/* view - ban */
#activities.view.page .main-wrap {
  background: none;
}

#activities.view .ban {
  padding: 3.5vw 20px 0;
}
#activities.view .ban .wrap {
  width: 100%;
  max-width: 1800px;
  border-radius: 30px;
  overflow: hidden;
}
#activities.view .ban .item {
  position: relative;
}
@media all and (min-width: 992px) {
  #activities.view .ban .pic {
    position: static;
  }
}

@media all and (max-width: 1679px) {
  #activities.view .main-wrap {
    padding-top: 90px;
  }
  #activities.view .ban {
    padding-top: 0;
  }
}
@media all and (max-width: 1199px) {
  #activities.view .main-wrap {
    padding-top: 110px;
  }
  #activities.view .ban .wrap {
    border-radius: 15px;
  }
}
@media all and (max-width: 991px) {
  #activities.view .ban .video {
    padding-bottom: 68.69%;
  }
  #activities.view .ban .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
@media all and (max-width: 639px) {
  #activities.view .main-wrap {
    padding-top: 100px;
  }
}

/* view - intro */
#activities.view .intro {
  position: relative;
  margin-top: 3.5vw;
}

#activities.view .edit-wrap {
  position: relative;
  z-index: 5;
}

#activities.view .intro .round-1 {
  right: 8%;
  top: 0%;
  width:  6.935%;
  max-width: 95px;
}
#activities.view .intro .round-1 i {
  background: url(../images/activities_intro_oj1.svg) no-repeat 0 0;
  background-size: cover;
}
#activities.view .intro .round-1 i::before {
  padding-bottom: 175%
}

#activities.view .intro .round-2 {
  left: 2%;
  bottom: 14%;
  width:  5.767%;
  max-width: 79px;
}
#activities.view .intro .round-2 i {
  background: url(../images/activities_intro_oj2.svg) no-repeat 0 0;
  background-size: cover;
}
#activities.view .intro .round-2 i::before {
  padding-bottom: 175%
}
@media all and (min-width: 768px) {
  #activities.view .intro .box-ti {
    margin-bottom: 0;
  }
}

@media all and (max-width: 1079px) {
  #activities.view .intro {
    margin-top: 40px;
  }
}

/* view - event-box */
#activities.view .event-wrap {
  padding-bottom: 8vw;
}
#activities.view .event-wrap .event-box {
  position: relative;
  margin-bottom: 5vw;
}
#activities.view .event-wrap .event-box.box-sapc {
  padding-top: 8vw;
  padding-bottom: 0vw;
}
#activities.view .event-wrap .event-box::after {
  display: block;
  content: "";
  position: absolute;
  top: -2.5vw;
  left: -10%;
  margin-bottom: -2.5vw;
  padding-bottom: 42.302%;
  width: 42.302%;
  max-width: 805px;
  border-radius: 100%;
  background-color: rgba(234,156,203,.1);
}
#activities.view .event-wrap .box-ti,
#activities.view .event-wrap .brief {
  padding-right: 250px;
  text-align: left;
}
#activities.view .event-wrap .box-ti {
  margin-bottom: .5vw;
  padding-top: 10px;
}
#activities.view .event-wrap .brief {
  font-size: 2rem;
}
#activities.view .event-wrap .article-btn {
  position: absolute;
  top: 3px;
  right: 35px;
  width: 210px;
}
#activities.view .event-wrap .event-slick {
  margin-top: 1vw;
}
@media all and (min-width: 640px) {
  #activities.view .event-wrap .event-box:nth-child(even)::after {
    left: auto;
    right: -10%;
  }
  #activities.view .event-wrap .event-box:nth-child(even) .box-ti,
  #activities.view .event-wrap .event-box:nth-child(even) .brief {
    padding: 10px 0 0 170px;
    text-align: right;
  }
  #activities.view .event-wrap .event-box:nth-child(even) .article-btn {
    right: auto;
    left: 35px;
  }
}
@media all and (min-width: 1080px) {
  #activities.view .event-wrap .event-box:nth-child(even) .box-ti {
    padding-left: 250px;
  }
  #activities.view .event-wrap .event-box:nth-child(even) .brief {
    padding-left: 0;
  }
}

@media all and (max-width: 1365px) {
  #activities.view .event-wrap {
    padding-bottom: 30px;
  }
}
@media all and (max-width: 1279px) {
  #activities.view .event-wrap .brief {
    font-size: 1.8rem;
  }
  #activities.view .event-wrap .event-slick {
    margin-top: 15px;
  }
}
@media all and (max-width: 1079px) {
  #activities.view .event-wrap .box-ti {
    margin-bottom: 10px;
    padding-right: 170px;
  }
  #activities.view .event-wrap .brief {
    padding-right: 0;
    font-size: 1.6rem;
  }
  #activities.view .event-wrap .article-btn {
    width: 160px;
  }
}
@media all and (max-width: 839px) {
  #activities.view .event-wrap .event-box::after {
    padding-bottom: 60%;
    width: 60%;
  }
}
@media all and (max-width: 639px) {
  #activities.view .event-wrap {
    padding-bottom: 10px;
  }
  #activities.view .event-wrap .event-box.box-sapc {
    padding-top: 30px;
  }
  #activities.view .event-wrap .event-box {
    margin-bottom: 15px;
  }
  #activities.view .event-wrap .event-box::after {
    top: 0;
    left: -18%;
    padding-bottom: 80%;
    width: 80%;
  }
  #activities.view .event-wrap .box-ti {
    padding-right: 0;
  }
  #activities.view .event-wrap .article-btn {
    top: auto;
    right: auto;
    left: 50%;
    bottom: 50px;
    transform: translateX(-50%);
  }
}

/* record */
#activities.view .record.box-bg::before,
#activities.view .record.box-bg::after {
  background-image: url('../images/bg_wave_green.svg');
}
#activities.view .record.box-bg .wrap {
  background-color: rgba(86,215,217,.1);
}
#activities.view .record .list {
  margin: 0 -1.5rem;
  padding-top: .5vw;
}
#activities.view .record .item {
  padding: 0 1.5rem 1.5vw;
  width: 33.333%;
}
#activities.view .record .item a {
  display: block;
  position: relative;
  width: 100%;
  border-radius: 30px;
  overflow: hidden;
}
#activities.view .record .item-hover .pic .view span {
  top: 50%;
  left: 50%;
  width: 26px;
  height: 26px;
  background: url(../images/icon_zoom.png) no-repeat 0 0;
  background-size: cover;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
#activities.view .record .item-hover .pic .view.play span {
  width: 19.835%;
  max-width: 80px;
  height: auto;
  background: none;
}
#activities.view .record .item-hover .pic .view.play span::before,
#activities.view .record .item-hover .pic .view.play span::after {
  display: block;
  content: "";
}
#activities.view .record .item-hover .pic .view.play span::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  line-height: 0;
  border-style: solid;
  border-width: .6vw 0 .6vw 1vw;
  border-color: transparent transparent transparent #fff;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
#activities.view .record .item-hover .pic .view.play span::after {
  padding-bottom: calc(100% - 2px);
  width: 100%;
  border: #fff solid 1px;
  border-radius: 100%;
}
@media all and (max-width: 1279px) {
  #activities.view .record .list {
    margin: 0 -10px;
    padding-top: 10px;
  }
  #activities.view .record .item {
    padding: 0 10px 20px;
  }
}
@media all and (max-width: 767px) {
  #activities.view .record .box-sapc {
    padding-bottom: 30px;
  }
  #activities.view .record .item a {
    border-radius: 10px;
  }
}
@media all and (max-width: 575px) {
  #activities.view .record .list {
    margin: 0 -5px;
  }
  #activities.view .record .item {
    padding: 0 5px 10px;
    width: 50%;
  }
}

/* unit */
#activities.view .unit {
  padding-bottom: 10vw;
}
#activities.view .unit .box:not(:last-child) {
  margin-bottom: 2vw;
}
#activities.view .unit .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 -5px;
}
#activities.view .unit .item {
  margin-bottom: 10px;
  padding: 0 5px;
  width: 100%;
  max-width: 330px;
}
#activities.view .unit .item .pic {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 25px 0;
  border-radius: 6px;
  background-color: #fff;
  overflow: hidden;
}
#activities.view .unit .item img {
  width: 100%;
  max-width: 180px !important;
}
#activities.view .unit .sponsor .item {
  width: 20%;
}
#activities.view .unit .sponsor .item .pic {
  border-radius: 0;
  background-color: transparent;
}
@media all and (max-width: 1080px) {
  #activities.view .unit .box:not(:last-child) {
    margin-bottom: 20px;
  }
  #activities.view .unit .item .pic {
    padding: 15px 0;
  }
}
@media all and (max-width: 639px) {
  #activities.view .unit {
    padding-bottom: 20px;
  }
  #activities.view .unit .sponsor .item {
    width: 25%;
  }
}
@media all and (max-width: 575px) {
  #activities.view .unit .sponsor .item {
    width: 33.333%;
  }
}
@media all and (max-width: 414px) {
  #activities.view .unit .sponsor .item {
    width: 50%;
  }
}

/* ==== privacy ==== */
#privacy .edit-wrap {
  margin: 2.5vw auto 0;
  max-width: 1340px;
}

@media all and (max-width: 1079px) {
  #privacy .edit-wrap {
    margin-top: 30px;
  }
}

@media all and (max-width: 767px) {
  #privacy .edit-wrap {
    padding-bottom: 30px;
  }
}

/* ==== 追加 20240903 ==== */
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

/* ---影片專區--- */
#video .con-box {
  padding-bottom: max(4vw, 40px);
  max-width: 1411px;
  min-height: 48vw;
}

#video .category-ti {
  margin: 0;
  font-size: clamp(1.8rem, 1.8vw, 3rem);
  color: #aa569d;
  font-weight: 700;
  line-height: 1.4;
}

#video .btn-style {
  background-color: #eee;
}

.video-list {
  position: relative;
  padding-top: max(4.2vw, 50px);
}
.video-list .bg {
  display: block;
  position: absolute;
  z-index: 0;
  top: 0;
  left: -18.5vw;
  width: 52%;
  max-width: 570px;
  border-radius: 100%;
  background-color: rgba(234,156,203,.1);
}
.video-list .bg::before {
  display: block;
  content: "";
  padding-bottom: 100%;
  width: 100%;
}
.video-list:nth-child(even) .bg {
  left: unset;
  right: -18.5vw;
}

.video-list .bar.flex {
  justify-content: space-between;
  align-items: center;
}
.video-list .bar .category-ti {
  margin-top: 12px;
}
.video-list .bar .btn-style {
  margin-top: 0;
}

.video-list .article-list {
  position: relative;
  z-index: 2;
  margin: max(1.5vw, 20px) max(-.7vw, -10px) 0;
  overflow: hidden;
}
.video-list .article-list .item {
  padding: 0 max(.7vw, 10px);
  width: 33.333%;
  max-width: calc(405px + (max(.7vw, 10px) * 2));
  overflow: hidden;
}
.video-list .article-list .item .pic,
.video-list .article-list .item .pic img {
  border-radius: 25px 25px 25px 80px;
  overflow: hidden;
}
.video-list .article-list .item .pic a {
  display: block;
  width: 100%;
}
.video-list .article-list .item .pic img {
  -webkit-transition: all .25s ease-in-out;
  transition: all .25s ease-in-out;
}
.video-list .article-list .item .txt {
  padding: 25px 30px 0;
  font-size: 1.6rem;
  letter-spacing: .15rem;
  overflow: hidden;
}
.video-list .article-list .item .txt h3 {
  margin-bottom: 10px;
  min-height: 20px;
  font-size: 1.7rem;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.video-list .article-list .item .txt h3 a {
  color: #222;
}
.video-list .article-list .item .txt .brief {
  position: relative;
  color: #666;
  line-height: 3rem;
  overflow: hidden;
}
.video-list .article-list .item:hover h3 {
  color: #aa569d;
}

#video.index .headline {
  margin-bottom: 0;
}
#video.index .video-list .article-list {
  padding-bottom: max(3vw, 35px);
}

#video.list .headline {
  margin-bottom: max(3.5vw, 20px) !important;
}
#video.list .video-list .bg {
  right: unset !important;
  left: -18.5vw !important;
}
#video.list .video-list .article-list .item {
  margin-bottom: max(2.8vw, 25px);
}
#video.list .btn-box {
  text-align: center;
}


@media (min-width: 640px) {
  .video-list .article-list .item .txt .brief {
    height: 60px;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
}

@media (max-width: 1559px) {
  .video-list .article-list .item .pic,
  .video-list .article-list .item .pic img {
    border-radius: 15px 15px 15px 40px;
  }
  .video-list .article-list .item .txt {
    padding: 25px 10px 0;
  }
}

@media (max-width: 991px) {
  .video-list .article-list .item {
    width: 50%;
    max-width: calc(431.5px + (max(.7vw, 10px) * 2));
  }

  #video.list .video-list .article-list .item {
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  #video .con-box {
    padding-bottom: 0;
  }
}

@media (max-width: 639px) {
  .video-list .bg {
    right: unset !important;
    left: -18.5vw !important;
    width: 80%;
  }

  #video.index .video-list .article-list {
    padding-bottom: 0;
  }
  .video-list .article-list .item {
    padding: 0;
    width: 100%;
    max-width: 100%;
  }
}

#video.view .con-box {
  padding-bottom: max(2vw, 20px);
}
#video.view .video-list .bg {
  top: -5vw;
}
#video.view .category-ti {
  margin-bottom: max(1.5vw, 20px);
}

#video.view .related {
  padding-top: 0;
  padding-bottom: max(4vw, 40px);
  min-height: auto;
}
#video.view .related .headline {
  margin-top: 0;
}
#video.view .video-list {
  padding-top: 0;
}
#video.view .video-list .article-list {
  padding-bottom: max(3vw, 25px);
}
#video.view .btn-box {
  text-align: center;
}
#video.view .btn-box.back a {
  margin-top: max(1.5vw, 25px);
}

/* 影片 */
.youtube-embed-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.youtube-embed-wrapper::before {
  display: block;
  content: "";
  padding-bottom: 56.257%;
}
.youtube-embed-wrapper iframe {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  border: none;
}

@media (max-width: 1079px) {
  #video.view .con-box {
    padding-top: 10px;
  }

  .youtube-embed-wrapper {
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  #video.view .edit-wrap {
    padding: 15px 0 0;
  }

  #video.view .related {
    padding-bottom: 0;
  }
}

/* ==== 追加 2025/05/21 異業結盟 ==== */
/* 架構 + 共用 */
#activities.alliance .main-wrap {
  padding-top: 0;
}
#activities.alliance .box-ti {
  margin-bottom: max(2vw, 60px);
}
@media (max-width: 639px) {
  #activities.alliance .box-sapc {
    padding-bottom: 45px;
  }
  #activities.alliance .store.box-sapc {
    padding-bottom: 0;
  }
}

#activities .data-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding-bottom: max(30px, 2.4vw);
  max-width: 1200px;
}
#activities .data-top .pic {
  position: relative;
  width: 50%;
  max-width: 540px;
  background-color: rgb(255, 255, 255);
  border-radius: 40% 60% 55% 45% / 50% 66% 34% 50%;
  overflow: hidden;
}
#activities .data-top .pic::before {
  display: block;
  content: "";
  width: 100%;
  padding-bottom: 86.4%;
}
#activities .data-top .pic img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

#activities .data-top .txt {
  flex: 1;
  padding-left: max(40px, 4.2vw);
  font-size: clamp(16px, 1.5vw, 18px);
}

@media (min-width: 1080px) {
  #activities .data-top {
    padding-left: max(40px, 4.2vw);
    padding-right: max(40px, 4.2vw);
  }
}

@media (max-width: 639px) {
  #activities .data-top {
    flex-direction: column;
  }
  #activities .data-top .pic {
    width: 90%;
    max-width: 640px;
  }
  #activities .data-top .txt {
    padding: 25px 0 0 0;
  }
  #activities .data-top .btn-style{
    margin: 20px auto 0;
  }
}

#activities .partners .wrap {
  background-color: rgba(234 156 203 / 10%);
}
#activities .partners .pic {
  text-align: center;
}
#activities .partners .txt {
  text-align: center;
}
#activities .partners .txt .name {
  margin: 20px 0 5px;
  font-size: 1.8rem;
  color: #000;
  line-height: 1.4;
}
#activities .partners .txt p {
  margin: 0;
  padding: 0 10px;
  min-height: 77px;
  color: #666;
  line-height: 1.6;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 輪播 共用元素 */
.btn-switch {
  margin: 30px auto 0;
  cursor: pointer;
}
.list-box a {
  display: block;
  width: 100%;
  text-align: center;
}
.list-box img {
  max-width: 90% !important;
}
.list-box .no-js .swiper-wrapper {
  flex-wrap: wrap;
  gap: 40px;
  height: auto;
  box-sizing: border-box;
  transform: none;
}
.list-box .no-js .swiper-pagination {
  display: none;
}

.partners-list.no-js .swiper-slide {
  width: calc(33.33% - 40px / 1.5);
}
.partners-list.partners-swiper {
  padding-bottom: max(30px, 2.5vw);
}

.store-list.no-js .swiper-slide {
  width: calc(20% - 40px / 1.25);
}
.store-list.store-swiper {
  padding-bottom: max(30px, 2.5vw);
}

@media (max-width: 991px) {
  .list-box .no-js .swiper-wrapper {
    gap: 30px;
  }

  .partners-list.no-js .swiper-slide {
    width: calc(33.33% - 30px / 1.5);
  }

  .store-list.no-js .swiper-slide {
    width: calc(25% - 30px / 1.25);
  }
}

@media (max-width: 639px) {
  .list-box .no-js .swiper-wrapper {
    gap: 20px;
  }

  .partners-list.no-js .swiper-slide {
    width: calc(50% - 20px / 2);
  }

  .store-list.no-js .swiper-slide {
    width: calc(50% - 20px / 2);
  }
}