@charset "UTF-8";
.fontfix {
  font-family: "Heebo", "Noto Sans", "Noto Sans TC", "Noto Sans JP", sans-serif;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url("ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("fonts/slick.eot");
  src: url("fonts/slickd41d.eot?#iefix") format("embedded-opentype"), url("fonts/slick.woff") format("woff"), url("fonts/slick.ttf") format("truetype"), url("fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}
[dir=rtl] .slick-prev {
  left: auto;
  right: -25px;
}
.slick-prev:before {
  content: "←";
}
[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}
[dir=rtl] .slick-next {
  left: -25px;
  right: auto;
}
.slick-next:before {
  content: "→";
}
[dir=rtl] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

.pgkv {
  display: block;
  position: relative;
  width: 100%;
}
.pgkv .mimg {
  overflow: hidden;
  z-index: 2;
}
.pgkv .mtitle {
  color: white;
  font-weight: 500;
  line-height: 1;
}
@media all and (max-width: 575px) {
  .pgkv .mtitle {
    font-size: 0.9375em;
  }
}
@media all and (min-width: 576px) {
  .pgkv .mtitle {
    font-size: 1.25em;
  }
}
.pgkv .mtitle + div {
  color: white;
  font-weight: 500;
  line-height: 1;
  margin-top: 0.5em;
  display: block;
}
@media all and (max-width: 575px) {
  .pgkv .mtitle + div {
    font-size: 1.75em;
  }
}
@media all and (min-width: 576px) {
  .pgkv .mtitle + div {
    font-size: 3.125em;
  }
}
.pgkv .txt_pos {
  z-index: 3;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
}
.pgkv .bgcolor {
  background-color: #c4002e;
  height: 0;
}
@media all and (max-width: 768px) {
  .pgkv .bgcover {
    padding-bottom: 108%;
  }
  .pgkv .bgcover.pc_use {
    display: none;
  }
}
@media all and (min-width: 769px) {
  .pgkv .bgcover {
    height: 450px;
  }
  .pgkv .bgcover.mo_use {
    display: none;
  }
}
@media all and (max-width: 768px) {
  .pgkv .bgcolor {
    padding-bottom: 60%;
    width: 40vw;
  }
  .pgkv .mimg {
    width: 60vw;
    position: absolute;
    top: 0;
    left: 40vw;
  }
  .pgkv .txt_pos {
    width: 100%;
    padding: 0 25px;
    top: 55%;
  }
}
@media all and (min-width: 769px) {
  .pgkv .bgcolor {
    height: 400px;
    width: 34vw;
  }
  .pgkv .mimg {
    width: 70vw;
    position: absolute;
    top: 0;
    left: 30vw;
  }
  .pgkv .txt_pos {
    padding: 0 16px;
    max-width: 1296px;
    width: 96%;
  }
}
@media all and (min-width: 769px) and (max-width: 1441px) {
  .pgkv .txt_pos {
    -webkit-transform: translate(-50%, 0%);
            transform: translate(-50%, 0%);
  }
}

.top-menu-ul .item_menu_Box {
  position: relative;
  margin: 0 auto;
  overflow-x: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
  text-align: center;
}
.top-menu-ul .item_menu_Box::-webkit-scrollbar {
  display: none;
}
.top-menu-ul ul.slides {
  white-space: nowrap;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
.top-menu-ul li {
  position: relative;
  display: inline-block;
}
.top-menu-ul li:last-child:after {
  opacity: 0;
}
.top-menu-ul li:after {
  content: "";
  width: 2px;
  height: 50px;
  background-color: #e60036;
  display: inline-block;
  -webkit-transform: rotate(30deg) translate(10px, 10px);
          transform: rotate(30deg) translate(10px, 10px);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
}
.top-menu-ul li.active a {
  color: #e60036;
  border-color: #e60036;
}
.top-menu-ul li a {
  position: relative;
  color: #4f4e4e;
  font-weight: 500;
  line-height: 2;
  display: inline-block;
  border-bottom: 2px solid rgba(230, 0, 54, 0);
}
@media all and (max-width: 768px) {
  .top-menu-ul {
    margin: 0 auto;
    padding: 0 20px;
  }
  .top-menu-ul .item_menu_Box {
    height: 42px;
    overflow-y: hidden;
  }
  .top-menu-ul li a {
    margin-right: 1em;
  }
  .top-menu-ul li:not(:last-child) {
    margin-right: 3em;
  }
  .top-menu-ul li:after {
    position: absolute;
    top: -50%;
    right: -5%;
  }
  .top-menu-ul::before {
    background: -webkit-gradient(linear, left top, right top, color-stop(30%, rgb(255, 255, 255)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(90deg, rgb(255, 255, 255) 30%, rgba(255, 255, 255, 0) 100%);
    width: 30px;
    height: 60px;
    content: "";
    z-index: 1;
    pointer-events: none;
    position: absolute;
    top: -10px;
    left: 12px;
  }
  .top-menu-ul.mleft::before {
    opacity: 0;
  }
  .top-menu-ul::after {
    background: -webkit-gradient(linear, right top, left top, color-stop(30%, rgb(255, 255, 255)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(-90deg, rgb(255, 255, 255) 30%, rgba(255, 255, 255, 0) 100%);
    width: 30px;
    height: 60px;
    content: "";
    z-index: 1;
    pointer-events: none;
    position: absolute;
    top: -10px;
    right: 12px;
  }
  .top-menu-ul.mright::after {
    opacity: 0;
  }
}
@media all and (min-width: 769px) {
  .top-menu-ul.open_flexslider .flex-direction-nav {
    display: block;
  }
  .top-menu-ul li a {
    margin: 0 2em;
  }
  .top-menu-ul li:not(:last-child) {
    margin-right: 1em;
  }
  .top-menu-ul li:hover a {
    color: #e60036;
    border-color: #e60036;
  }
}
@media all and (min-width: 1440px) {
  .top-menu-ul {
    width: 1400px;
  }
}

.flex-direction-nav {
  display: none;
}
.flex-direction-nav .svg {
  width: 10px;
  stroke: #333;
}
.flex-direction-nav a {
  position: absolute;
  position: absolute;
  top: 0.3em;
  width: 40px;
  height: 60px;
  padding-top: 12px;
  background-color: white;
}
.flex-direction-nav a.ltbn {
  left: 16px;
}
.flex-direction-nav a.rtbn {
  right: 16px;
  text-align: right;
}
.flex-direction-nav a:hover .svg {
  stroke: #e60036;
}
@media all and (max-width: 768px) {
  .flex-direction-nav a {
    text-align: center;
  }
}

@media all and (max-width: 575px) {
  #topmenu1 {
    font-size: 1.25rem;
  }
}
@media all and (min-width: 576px) {
  #topmenu1 {
    font-size: 1.5rem;
  }
}

/*----------------------編輯器------------------------*/
.editor_box {
  line-height: 1.75;
}
.editor_box ul, .editor_box ol {
  padding-left: 10px;
}
.editor_box ol {
  list-style: decimal;
}
.editor_box ul {
  list-style: disc;
}
.editor_box img {
  max-width: 100%;
  height: auto !important;
}
.editor_box b, .editor_box strong {
  font-weight: bold;
  font-style: inherit;
}
.editor_box em {
  font-style: italic;
}
.editor_box a {
  text-decoration: underline;
  color: #0782C1;
}
.editor_box iframe {
  max-width: 100%;
}
.editor_box h1, .editor_box h2, .editor_box h3, .editor_box h4, .editor_box h5, .editor_box h6 {
  margin: inherit;
}
.editor_box blockquote {
  font-style: italic;
  padding: 2px 20px 0 8px;
  border-left: 5px solid #ccc;
  margin-left: 40px;
}
.editor_box hr {
  border: none;
  border-top: 1px solid #4f4e4e;
}
/* 里程碑標題下方左右按鈕樣式 */
.title-arrows{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px}

.title-arrows .arrow{display:inline-block;position:relative;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,0.08);color:#222;text-decoration:none;font-weight:600;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,0.04)}
.title-arrows .arrow:hover{background:#f5f5f5}
.title-arrows .arrow img.svg{display:none;}

/* 使用絕對定位將 < 和 > 置中於圓形按鈕內 */
#milestonePrev::after,#milestoneNext::after{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  font-size:20px;
  line-height:1;
  color:inherit;
  pointer-events:none;
}
#milestonePrev::after{content:"<"}
#milestoneNext::after{content:">"}

/* 小螢幕調整 */
@media all and (max-width:575px){
  .title-arrows .arrow{width:36px;height:36px;font-size:18px}
  #milestonePrev::after,#milestoneNext::after{font-size:18px}
}

/* 手機模式隱藏里程碑左右按鈕 */
@media all and (max-width:575px){
  .title-arrows{display:none !important}
}
@media all and (max-width: 990px) {
  .editor_box {
    line-height: 1.7;
  }
  .editor_box.pc_use {
    display: none;
  }
}
@media all and (min-width: 991px) {
  .editor_box {
    line-height: 2;
  }
  .editor_box.mo_use {
    display: none;
  }
}

/*---------------------video----------------------*/
.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}
.embed-responsive .embed-responsive-item, .embed-responsive iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.embed-responsive.embed-responsive-16by9:before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

.exhi-wrap .exhi {
  padding-bottom: 3.5em;
}
.exhi-wrap .bgcover {
  padding-bottom: 60%;
  -webkit-box-shadow: 0 0px 9px rgba(13, 5, 9, 0.4);
          box-shadow: 0 0px 9px rgba(13, 5, 9, 0.4);
}
.exhi-wrap .mtitle {
  color: #e60036;
  margin-top: 0.8em;
}
@media all and (max-width: 575px) {
  .exhi-wrap .mtitle {
    font-size: 0.9375rem;
  }
}
@media all and (min-width: 576px) {
  .exhi-wrap .mtitle {
    font-size: 1.25rem;
  }
}
.exhi-wrap .slick-slide {
  padding: 0 20px;
  width: 90vw;
  max-width: 320px;
}
.exhi-wrap .dots-container {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
  height: 2px;
  background-color: #d8d8d8;
}
.exhi-wrap .line {
  width: 50%;
  height: 100%;
  background-color: #e60036;
  -webkit-transition: width 0.6s;
  transition: width 0.6s;
}
@media all and (max-width: 575px) {
  .exhi-wrap .exhi {
    padding-bottom: 1.5em;
  }
}
@media all and (max-width: 768px) {
  .exhi-wrap .row {
    padding-left: 0;
  }
  .exhi-wrap .slick-slide {
    padding: 0 8px;
  }
  .exhi-wrap .arrow-group {
    display: none;
  }
}
@media all and (min-width: 769px) {
  .exhi-wrap .row {
    margin-left: 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .exhi-wrap .slick-slide {
    max-width: 740px;
  }
}

.about .exhi-wrap {
  padding-left: calc(10% - 16px);
}
@media all and (max-width: 768px) {
  .about .exhi-wrap {
    padding-left: 17px;
  }
}
@media all and (min-width: 1600px) {
  .about .exhi-wrap {
    padding-left: calc((100vw - 1296px) / 2 - 16px);
  }
}

.index .p4 .exhi-wrap {
  padding-left: 2%;
}
@media all and (max-width: 768px) {
  .index .p4 .exhi-wrap {
    padding-left: 17px;
  }
}
@media all and (min-width: 991px) {
  .index .p4 .dots-container {
    max-width: 650px;
  }
  .index .p4 .exhi-wrap .slick-slide {
    max-width: 690px;
  }
  .index .p4 .exhi-wrap {
    padding-left: 35%;
  }
}
@media all and (min-width: 1440px) {
  .index .p4 .dots-container {
    max-width: 700px;
  }
  .index .p4 .slick-slide {
    max-width: 740px;
  }
  .index .p4 .exhi-wrap {
    padding-left: calc((100vw - 1296px) / 2 - 16px + 360px);
  }
}

.arrow-group {
  text-align: right;
}
.arrow-group .svg {
  width: 10px;
  stroke: #e60036;
}
.arrow-group a {
  position: relative;
  display: inline-block;
  border-radius: 99em;
  background-color: white;
  -webkit-box-shadow: 0 0px 9px rgba(13, 5, 9, 0.4);
          box-shadow: 0 0px 9px rgba(13, 5, 9, 0.4);
  width: 50px;
  height: 50px;
  padding-top: 12px;
  margin-left: 2em;
}
.arrow-group a.arrow {
  text-align: center;
  left: 0;
  right: 0;
  top: 0;
}
.arrow-group a:hover .svg {
  stroke: #333;
}

.about #topmenu1 {
  margin-bottom: 2em;
}
@media all and (max-width: 768px) {
  .about .pc_use {
    display: none;
  }
}
@media all and (min-width: 769px) {
  .about #topmenu1 {
    margin-bottom: 5em;
  }
  .about .mo_use {
    display: none;
  }
}

.cmp .imgbx .col-4 div::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 99em;
  background-color: #c4002e;
  margin-right: 10px;
  vertical-align: 2px;
  position: absolute;
  top: 0.75em;
  left: 0;
}
.cmp .imgbx .col-4 {
  margin-top: 68px;
}
.cmp .imgbx .col-4 div {
  margin-top: 12px;
  padding-left: 16px;
  position: relative;
}
.cmp .info {
  margin-bottom: 100px;
}
.cmp .info .btn1.red {
  margin-top: 16px;
  width: 16em;
}
@media all and (max-width: 768px) {
  .cmp .text-center-sm {
    text-align: center;
  }
  .cmp .imgbx .col-4 {
    max-width: 200px;
    margin: 24px auto 0;
  }
  .cmp .info {
    margin-bottom: 80px;
  }
  .cmp .info .col-6-img {
    margin-top: 1em;
    margin-bottom: 1em;
  }
}
@media all and (min-width: 769px) and (max-width: 990px) {
  .cmp .imgbx .col-4 {
    width: calc((100% - 25px) / 2);
  }
  .cmp .imgbx .col-4:not(:nth-child(2n)) {
    margin-right: 25px;
  }
  .cmp .info .btn1.red {
    margin-right: 24px;
  }
  .cmp .info .col-6-img {
    margin-top: 2em;
    margin-bottom: 2em;
  }
}
@media all and (min-width: 991px) {
  .cmp .imgbx .col-4 {
    width: calc((100% - 50px) / 3);
  }
  .cmp .imgbx .col-4:not(:nth-child(3n)) {
    margin-right: 25px;
  }
  .cmp .info .txt {
    width: 48%;
    padding-right: 24px;
    margin-top: 24px;
  }
  .cmp .info .btn1.red {
    margin-right: 24px;
  }
  .cmp .info .col-6-img {
    position: absolute;
    top: 0;
    right: 0;
    -webkit-transform: translateX(24px);
            transform: translateX(24px);
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .cmp .info .col-6-img img {
    width: 65%;
  }
}
@media all and (min-width: 1296px) {
  .cmp .info .col-6-img {
    -webkit-transform: translateX(calc((100vw - 1296px) / 2));
            transform: translateX(calc((100vw - 1296px) / 2));
  }
  .cmp .info .col-6-img img {
    width: 43vw;
  }
}

.intro .titleB {
  margin-bottom: 1.3em;
}
.intro .p1 .txt {
  font-weight: 500;
  line-height: 2.25;
}
@media all and (max-width: 575px) {
  .intro .p1 .txt {
    font-size: 1.125rem;
  }
}
@media all and (min-width: 576px) {
  .intro .p1 .txt {
    font-size: 1.25rem;
  }
}
.intro .p1 .txt i {
  color: #e60036;
}
.intro .p1 .txt b {
  color: #178562;
}
.intro .p2 {
  font-size: 1.1rem;
  line-height: 1.9;
}
@media all and (max-width: 575px) {
  .intro .p2 {
    font-size: 1.05rem;
  }
}
@media all and (min-width: 992px) {
  .intro .p2 {
    font-size: 1.2rem;
  }
}
.intro .p2 li {
  padding: 1.3em 0em 1.3em 0.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.intro .p2 li:not(:last-child) {
  border-bottom: 1px solid #a3a3a3;
}
.intro .p2 li b {
  color: #178562;
  width: 4.75em;
  -moz-text-align-last: justify;
       text-align-last: justify;
}
.intro .p2 li div {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.intro .p2 li span {
  display: inline-block;
  width: 7.45em;
  vertical-align: top;
}
.intro .p2 li span:last-child{
 width: 15em;

}
.intro .p2 li span:before {
  content: "";
  display: inline-block;
/*  width: 6px;
  height: 6px;*/
  width: 3px;
  height: 3px;
  border-radius: 99em;
  background-color: #c4002e;
  margin-right: 10px;
  vertical-align: 2px;
}
.intro .p2:after {
  content: "";
  background-color: #f7f7f7;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  height: calc(100% - 160px);
  z-index: -1;
}
.intro .production-bases {
  padding: 5em 0;
  background: linear-gradient(135deg, rgba(247, 247, 247, 1), rgba(30, 60, 114, 0.04));
}
.intro .production-bases .production-grid {
  display: grid;
  gap: 32px;
  width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
}
.intro .production-bases .site {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 20px 44px rgba(12, 34, 47, 0.08);
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  border: 1px solid rgba(12, 34, 47, 0.06);
}
.intro .production-bases .site-region {
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #e60036;
}
.intro .production-bases .site-details > div {
  color: #2c3145;
  line-height: 1.8;
}
.intro .production-bases .site-details p {
  margin: 0;
}
.intro .production-bases .site-details p + p {
  margin-top: 0.35rem;
}
.intro .production-bases .site-details .contact-line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em;
}
.intro .production-bases .site-details .contact-line img {
  width: 20px;
  height: auto;
  display: block;
}
.intro .production-bases .production-map {
  margin-top: 3.5rem;
  width: 100%;
}
.intro .production-bases .map-frame {
  background: #f3f7fb;
  border-radius: 22px;
  border: 1px solid rgba(12, 34, 47, 0.08);
  box-shadow: 0 24px 48px rgba(12, 34, 47, 0.08);
  padding: 32px;
  overflow: auto;
}
.intro .production-bases .map-frame picture {
  display: block;
}
.intro .production-bases .map-frame img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
  min-width: 320px;
}
.intro .production-bases .map-caption {
  margin-top: 1rem;
  font-size: 0.95rem;
  color: #4a5568;
  text-align: center;
  line-height: 1.7;
}
.intro .p4 {
  padding: 5em 0 6em;
  position: relative;
}
.intro .p4:before {
  content: "";
  width: 100%;
  height: 100%;
  background: no-repeat url(https://www.advancision.com/dist/images/about/milestone_bg_1.png) left 200px/320px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.intro .p4:after {
  content: "";
  width: 100%;
  height: 100%;
  background: no-repeat url(https://www.advancision.com/dist/images/about/milestone_bg_2.png) right 95%/300px;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.intro .p5 {
  padding: 3.5em 0 0em;
}
.intro .p5 .exhi {
  margin: 4em 0 0em;
}
@media all and (max-width: 768px) {
  .intro .p1 {
    padding: 0 22px;
  }
  .intro .p1 .txt {
    line-height: 1.85;
    padding-top: 2em;
    padding-bottom: 3em;
  }
  .intro .p1 .txt em {
    display: block;
  }
  .intro .p1 .col-img {
    width: calc(100% + 50px);
    -webkit-transform: translateX(-25px);
            transform: translateX(-25px);
  }
  .intro .p2 {
    margin-bottom: 3em;
  }
  .intro .p2 li {
    padding-left: 0;
    letter-spacing: 0px;
  }
  .intro .p2 li b {
    width: 4em;
    margin-right: 1.8em;
  }
  .intro .p2:after {
    bottom: 12vw;
  }
  .intro .production-bases {
    padding: 3.5em 0;
  }
  .intro .production-bases .production-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .intro .production-bases .site {
    padding: 24px;
  }
  .intro .production-bases .map-frame {
    padding: 20px;
  }
  .intro .production-bases .map-frame img,
  .intro .production-bases .map-frame svg {
    min-width: auto;
  }
  .intro .p4 {
    padding: 4em 0 3em;
  }
  .intro .p4::before {
    background-position: left -2em;
    background-size: 8em;
  }
  .intro .p4::after {
    display: none;
  }
  .intro .p5 {
    padding: 3em 0 0;
  }
  .intro .p5 .titleB {
    text-align: center;
  }
  .intro .p5 .exhi {
    margin: 2em 0 0em;
  }
}
@media all and (min-width: 769px) {
  .intro .p1 {
    padding-left: 16px;
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .intro .p2 {
    margin-top: 65px;
    margin-bottom: 120px;
  }
  .intro .p2 li b {
    margin-right: 80px;
  }
  .intro .p2 .col-txt {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
@media all and (min-width: 769px) and (max-width: 990px) {
  .intro .p1 {
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
  .intro .p1 .col-img {
    width: 120%;
    -webkit-transform: translateX(-15%);
            transform: translateX(-15%);
  }
  .intro .p1 .txt {
    margin-top: 2em;
  }
  .intro .p2:after {
    bottom: 120px;
    height: calc(100% - 280px);
  }
  .intro .p3 .imgbx {
    height: calc(80vh - 70px);
  }
  .intro .p3 .imgbx img {
    height: 100%;
    max-width: initial;
  }
}
@media all and (min-width: 991px) {
  .intro .p1 {
    padding-left: 50vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .intro .p1 .col-img {
    position: absolute;
    top: 50%;
    right: 34vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 37vw;
    -webkit-transform: translate(-20vw, -50%);
            transform: translate(-20vw, -50%);
  }
  .intro .p2 .col-img {
    position: absolute;
    top: calc(50% + 80px);
    left: 48vw;
    -webkit-transform: translate(0vw, -50%);
            transform: translate(0vw, -50%);
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    height: 37vw;
  }
  .intro .p2 .col-txt {
    width: 42%;
  }
  .intro .p2:after {
    -webkit-clip-path: polygon(0 0, 100% 0, 950px 100%, 0% 100%);
            clip-path: polygon(0 0, 100% 0, 950px 100%, 0% 100%);
    width: 1240px;
    right: 20vw;
  }
  .intro .p5 {
    position: relative;
  }
  .intro .p5::before {
    content: "";
    -webkit-clip-path: polygon(50% 0%, 100% 0, 100% 100%, 0% 100%);
            clip-path: polygon(50% 0%, 100% 0, 100% 100%, 0% 100%);
    width: 900px;
    height: calc(100% + 6vw);
    background-color: #f5f5f5;
    position: absolute;
    top: 0;
    right: 0;
  }
}
@media all and (min-width: 1296px) {
  .intro .p1 {
    min-height: 450px;
  }
  .intro .p2 .col-img {
    min-height: 605px;
  }
  .intro .p2:after {
    right: calc(100% - 1240px);
  }
}
@media all and (min-width: 1440px) {
  .intro:before {
    content: "";
    width: 100%;
    height: 100%;
    background: no-repeat url(https://www.advancision.com/dist/images/about/c_pattern.png) right top;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
}

.history .top-menu-history {
  width: 100vw;
  position: relative;
  margin-bottom: 5em;
}
.history .top-menu-history .item_menu_Box {
  position: relative;
  margin: 0 auto;
  overflow-x: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.history .top-menu-history .item_menu_Box::-webkit-scrollbar {
  display: none;
}
.history .top-menu-history ul.slides {
  white-space: nowrap;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
.history .top-menu-history li {
  position: relative;
  display: inline-block;
  padding: 0 2em;
  min-width: 17em;
}
.history .top-menu-history li.active {
  min-width: 0;
  padding: 0;
}
.history .top-menu-history .ytime {
  color: #333;
  font-weight: 800;
  line-height: 1;
  font-family: "Heebo", "Noto Sans", "Noto Sans TC", "Noto Sans JP", sans-serif;
  text-align: center;
}
@media all and (max-width: 575px) {
  .history .top-menu-history .ytime {
    font-size: 1.75rem;
  }
}
@media all and (min-width: 576px) {
  .history .top-menu-history .ytime {
    font-size: 3.125rem;
  }
}
.history .top-menu-history .dots {
  width: 100%;
  height: 2px;
  z-index: -1;
  display: block;
  margin: 2em auto;
  position: relative;
}
.history .top-menu-history .dots::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc(100% + 4em);
  height: 100%;
  background-color: #d8d8d8;
  z-index: -1;
}
.history .top-menu-history .dots i {
  width: 1em;
  height: 1em;
  display: inline-block;
  background-color: #c4002e;
  border-radius: 99em;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 10;
}
.history .top-menu-history .dots i:after {
  content: "";
  width: 150%;
  height: 150%;
  opacity: 0.3;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: #c4002e;
  border-radius: 99em;
  z-index: -1;
}
.history .top-menu-history li:nth-child(2) .dots::before {
  width: 80%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.history .top-menu-history li:last-child .dots::before {
  width: 80%;
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
}
.history .top-menu-history .txt {
  /* 增加最大寬度以減少換行 */
  max-width: 32em;
  white-space: normal;
  text-align: left;
  line-height: 1.6;
  display: inline-block;
}
@media all and (max-width: 768px) {
  .history .top-menu-history {
    margin: 0 auto 4em;
  }
  .history .top-menu-history .dots {
    margin: 1em auto;
  }
  .history .top-menu-history .dots i {
    -webkit-transform: translate(-50%, -50%) scale(0.6);
            transform: translate(-50%, -50%) scale(0.6);
  }
  .history .top-menu-history li {
    padding: 0 1.25em;
    /* 手機版給予較寬的文字容器，減少換行 */
    width: auto;
    min-width: 51vw;
  }
  .history .top-menu-history .txt {
    /* 手機上允許文字佔滿容器減少過早斷行 */
    max-width: 100%;
    display: block;
  }
  .history .top-menu-history li.active {
    display: none;
  }
}
@media all and (min-width: 769px) {
  .history li.active {
    width: 0;
  }
  .history .open_flexslider .flex-direction-nav {
    display: block;
  }
  .history .flex-direction-nav a {
    margin-left: 2em;
    margin-bottom: 60px;
  }
}
/* Management team section */
.about .management-team {
  margin: 80px auto 0;
}
.about .management-team .row.col {
  width: 100%;
}
.about .management-team .titleB {
  margin-bottom: 32px;
}
.about .management-team .team-grid {
  display: flex;
  flex-direction: column;
  gap: 48px;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
.about .management-team .member {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0 18px 50px rgba(15, 31, 64, 0.08);
  overflow: hidden;
}
.about .management-team .member-photo {
  position: relative;
  flex: 0 0 auto;
  border-radius: 20px;
  overflow: hidden;
}
.about .management-team .member-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: inherit;
}
.about .management-team .member-content {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 24px 24px 32px;
  flex: 1;
}
.about .management-team .member-header {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.about .management-team .member-name {
  margin: 0;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2;
}
.about .management-team .member-name .member-role {
  display: inline-block;
  margin-left: 0.5em;
  font-size: 1.1rem;
  font-weight: 500;
  color: #2f3b67;
}
.about .management-team .member-sections {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.about .management-team .member-section {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.about .management-team .member-section--education {
  gap: 6px;
}
.about .management-team .member-section-title {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #1e1e1e;
}
.about .management-team .member-section-title span {
  display: inline-block;
}
.about .management-team .member-section-list {
  margin: 0;
  padding-left: 1.2em;
  list-style: disc;
  line-height: 1.35;
  overflow-wrap: break-word;
}
.about .management-team .member-section--education .member-section-title {
  display: none;
}
.about .management-team .member-section--education .member-section-list {
  list-style: none;
  padding-left: 0;
}
.about .management-team .member-section--education .member-section-list li {
  margin: 0;
}
.about .management-team .member-section--education .member-section-list li + li {
  margin-top: 0.15em;
}
.about .management-team .member-section-list li + li {
  margin-top: 0.3em;
}
@media (min-width: 768px) {
  .about .management-team .member {
    flex-direction: row;
    align-items: stretch;
  }
  .about .management-team .member-photo {
    flex: 0 0 22%;
    max-width: 220px;
    min-width: 180px;
  }
  .about .management-team .member-content {
    padding: 36px 40px;
    gap: 18px;
  }
  .about .management-team .member-name {
    font-size: 2rem;
  }
  .about .management-team .member-name .member-role {
    font-size: 1.2rem;
  }
  .about .management-team .member-section {
    flex-direction: row;
    gap: 32px;
  }
  .about .management-team .member-section-title {
    flex: 0 0 88px;
    font-size: 1.1rem;
    line-height: 1.2;
    padding-top: 4px;
  }
  .about .management-team .member-section-list {
    flex: 1;
    padding-left: 1.3em;
  }
}

@media (max-width: 767px) {
  .about .management-team .member {
    gap: 0;
  }
  .about .management-team .member-photo {
    width: 65%;
    margin: 0 auto;
    aspect-ratio: auto;
  }
  .about .management-team .member-content {
    padding: 20px 20px 28px;
  }
  .about .management-team .member-name {
    font-size: 1.5rem;
  }
  .about .management-team .member-name .member-role {
    font-size: 1rem;
  }
  .about .management-team .member-photo img {
    height: auto;
    object-fit: contain;
  }
}
