@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@100..900&display=swap');
/*------------ 關於我們 ------------*/
.a_layout {
    letter-spacing: 1px;
    line-height: 1.8;
    max-width: 1100px;
    margin: 0 auto;
}
.a_layout .a_row1 {
    position: relative;
    display: flex;
    box-sizing: border-box;
    align-items: flex-end;
    margin: 0px 0 0;
    height: 221px;
}
.a_row1::before{
    content: '';
    position: absolute;
    background: url(../../../images/layout06/common/about/a_aboutbg.jpg)0 100%;
    left: 0;
    right: 0;
    top: 0px;
    bottom: 0;
    background-size: cover;
}
.a_col1{
    display: flex;
    align-items: center;
}
.a_aboutpic{
    background: url(../../../images/layout06/common/about/a_aboutpic.png)0 100%;
    width: 272px;
    height: 272px;
    position: relative;
    right: calc(50% - 100px);
    z-index: 1;
    top: 120px;
    left: 36px;
}
.a_title {
    margin: 160px 0px 0px 80px;
}
.a_title span{
    position: absolute;
    color: #ffffff;
    font-family: "Noto Sans","Noto Sans TC", sans-serif;
    font-size: 80px;
    font-weight: 900;
    line-height: 0.7;
    letter-spacing: 1.3px;
    display: block;
}
.a_title h3{
    position: absolute;
    color: #1B5170;
    font-family: "Noto Sans","Noto Sans TC", sans-serif;
    font-size: 80px;
    font-weight: 900;
    line-height: 0.5;
    letter-spacing: 1.3px;
    display: block;
}
.a_row2{
    padding-top: 150px;
}
.a_row2 h3{
  color: #444444;
  font-family: "Noto Sans","Noto Sans TC", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.7;
  margin: 0;
}
.a_row2 p{
    padding: 0px 0;
    margin: 0;
}
.values { position: relative; }
.values__item{
  list-style: none;
  padding: 0 0 50px;           /* 給左側字母圓圈留空間 */
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}
.values__item::before {
  content: attr(data-letter);
  flex-basis: 72px;
  flex-shrink: 0;
  border-radius: 100%;
  text-align: center;
  color: #ffffff;
  font-family: "Noto Sans","Noto Sans TC", sans-serif;
  font-size: 40px;
  font-weight: 900;
}
.a_txt{
    padding: 0 0 0 42px;
}
.a_row2 ul{
    padding-inline-start: 0px;
}
.values__item::after {
  content: "";
  position: absolute;
  inset: 34% auto auto 3.5%; /* 等同於 top: 34%; left: 3.5% */
  height: 100%;
  width: 1px;
  background: #F0F0F0;
  z-index: -1;
  left:36px;
}

/* 移除最後一個的線 */
.values__item:last-child::after {
  display: none;
}

.values__item_1[data-letter="S"]::before { background: #C4BD97; }
.values__item:nth-of-type(1)::before { background:#C4BD97; } /* 第一個 s */
.values__item:nth-of-type(7)::before { background:#CC706E; } /* 第二個 s */ 
.values__item[data-letter="I"]::before { background: #B9CDE5; }
.values__item_2[data-letter="M"]::before { background: #699EC9; }
.values__item:nth-of-type(3)::before { background:#699EC9; } /* 第一個 M */
.values__item:nth-of-type(4)::before { background:#92BD39; } /* 第二個 M */ 
.values__item[data-letter="O"]::before { background: #FFCC29; }
.values__item[data-letter="N"]::before { background: #E18E43; }
.values__item_4[data-letter="S"]::before { background: #CC706E; }

.values__item_1[data-letter="S"] h3::first-letter {color: #C4BD97; }
.values__item:nth-of-type(1) h3::first-letter {color: #C4BD97; } /* 第一個 s */
.values__item:nth-of-type(7) h3::first-letter {color: #CC706E; } /* 第二個 s */ 
.values__item[data-letter="I"] h3::first-letter {color: #B9CDE5; }
.values__item_2[data-letter="M"] h3::first-letter {color: #699EC9; }
.values__item:nth-of-type(3) h3::first-letter {color: #699EC9; } /* 第一個 M */
.values__item:nth-of-type(4) h3::first-letter {color: #92BD39; } /* 第二個 M */ 
.values__item[data-letter="O"] h3::first-letter {color: #FFCC29; }
.values__item[data-letter="N"] h3::first-letter {color: #E18E43; }
.values__item_4[data-letter="S"] h3::first-letter {color: #CC706E; }

@media(max-width:1280px){
    .a_title span {
        font-size: 58px;
    }
    .a_title h3 {
        font-size: 58px;
    }
    .a_title {
        margin: 185px 0px 0px 80px;
    }
}
@media(max-width:1000px){
    .a_title {
        margin: 175px 0px 0px 0px;
        text-align: center;
    }
    .a_title span,
    .a_title h3 {
        position: relative;
        line-height: 0.2;
    }
    .a_aboutpic {
        right: calc(0%);
        top: 0px;
        left: 0px;
    }
    .a_col1 {
        display: flex;
        align-items: center;
        flex-direction: column-reverse;
    }
    .a_layout .a_row1 {
        display: flex;
        align-items: center;
        flex-direction: column;
    }
    .a_row2 {
        padding-top: 450px;
    }
    .index-service .list-info {
        display: inline-flex;
        flex-direction: column;
    }
}
@media(max-width: 484px){
    .a_title span {
        font-size: 40px;
    }
    .a_title h3 {
        font-size: 40px;
    }
    .a_title {
        margin: 190px 0px 0px 0px;
    }
}
/*------------ 關於我們 ------------*/
/*------------ about-editor ------------*/
.row_{
    display: flex;
}
.about-editor .row_1{
    justify-content: space-between;
    align-items: flex-start; 
    margin-bottom: 70px;
}
.about-editor .about-title{
    color: #262626;
    font-size: 29px;
    font-family: "Noto Sans","Noto Sans TC", sans-serif;
    font-weight: 300;
    margin: 0;
}
.about-editor .about-title:after{
    content: '';
    background: #4F4F4F;
    height: 1px;
    width: 60px;
    display: block;
    margin-top: 20px;
    margin-bottom: 0;
}
.about-editor .row_2{
    margin-top: 40px;
}
.about-editor .row_2 .col{
    flex-basis:  50%;
    position: relative;
}
.about-editor .row_2 .txt_box{
    margin-top: 65px;
    border:solid 1px #4F4F4F;
    display: block;
    padding:50px;
    position: relative;
    margin-right: -100px;
    color: #000000;
    box-sizing: border-box;
}
.as_title{
    margin-bottom: 10px;
}
.as_txt{
    line-height: 2;
    padding-left: 35px;
}
.about-editor .row_2 .col1:after{
    content: '';
    display: block;
    position: absolute;
    width: 126px;
    background: #fff;
    height: 65px;
    right: -100px;
    bottom: 0;
    z-index: 3;
}
.about-editor .row_2 .col2{
    position: relative;
    z-index: 4;
    text-align: center;
}
.about-editor .row_3{
    align-items: flex-end;
}
.about-editor .row_3 .col{
    flex-basis:  50%;
}
.about-editor .row_3 .txt_box{
    margin-top: -65px;
    border:solid 1px #4F4F4F;
    display: block;
    padding:115px 50px 50px;
    position: relative;
    margin-left: -26px;
    color: #000000;
}
.a_t{
    color: #1C5170;
    font-family: "Noto Sans","Noto Sans TC", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.85;
    letter-spacing: 1.4px;
}
.a_t2{
    color: #444444;
    font-family: "Noto Sans","Noto Sans TC", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.85;
    letter-spacing: 1.4px;
}
/*------------ service-editor ------------*/
.index-servcebox{
    display: flex;
    align-items: center;
    gap: 30px;
}
.index-stxt{
    flex:1 1 30%;
}
.index-service{
    position: relative;
    background: #1c5170;
    padding: 70px;
    flex: 1 1 70%;
}
.index-service .row{
    /* display: flex;
    align-items: flex-end; */
    /* margin: 150px auto 0; */
}
.index-service .col:nth-child(1){

}
.index-service .col:nth-child(2){
    width: 50%;
    box-sizing: border-box;
    position: relative;
    flex-shrink: 1;
}
.col-s {
    order: 1;
    position: relative;
    padding: 0;
    z-index: 2;
    /* width: 100%; */
    display: block;
}
.index-service .s-list{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0;
    flex-wrap: wrap;
}
.index-service .s-list .box>img{
    width: 86px;
    height: 86px;
    opacity: 0.8;
    order: 2;
    flex-shrink: 0;
} 
.s-list .box { perspective: 1000px; }           /* 讓 3D 旋轉更自然 */
.s-list .box > img {
  display: block;
  backface-visibility: hidden;
  transform: rotateY(0deg);
  will-change: transform;
}
.s-list .box:hover > img {
  animation: spinY1 0.6s ease-out 1 both;       /* 跑一次，停在終點 */
}
@keyframes spinY1 {
  from { transform: rotateY(0deg); }
  to   { transform: rotateY(360deg); }
}
.index-service .box{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    /* width: 160px; */
    /* height: 160px; */
    box-sizing: border-box;
    flex-shrink: 0;
}
@media(max-width:1200px){
    .index-service .s-list{
        flex-wrap: wrap;
    }
}
/********/
.s-list {
  display: flex;
  justify-content: space-between;
  position: relative;
}
.s-list .box {
  text-align: center;
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  /* width: 25%; */
  /* max-width: 256px; */
  flex-grow: 1;
  /* overflow: hidden; */
  flex-shrink: 0;
}
.s-list .box+.box{
    padding-left: 56px;
}
/* 白色橫線 */
.s-list .box::after {
  content: "";
  position: absolute;
  top: 95%;
  left: 0%;
  height: 1px;
  width: 200%;
  /* background: #fff; */
  z-index: 0;
}
.s-list .box:last-child::after {
  display: none; /* 最後一個不要線 */
}
.timeline-dot {
  /* position: absolute; */
  /* top: 95%; */
  /* left: 0%; */
  /* transform: translate(-50%, -50%); */
  width: 16px;               /* 中間點大小 */
  height: 16px;
  background: #1C5170;      /* 中間點顏色（背景色） */
  border: 6px solid #fff;   /* 白色外框 + 粗細 */
  border-radius: 50%;
  box-sizing: content-box;  /* 讓寬高只算中間點 */
  transition: all 0.3s ease;
  z-index: 1;
  order: 3;
  flex-shrink: 0;
  box-sizing: border-box;
  position: relative;
  display: block;
  margin: 16px 0;
z-index:10;
}

.box:hover .timeline-dot {
  width: 16px;          /* 中間變大 */
  height: 16px;
  background: #1C5170;     /* 中間變白 */
  border-width: 1px;    /* 外框變細 */
}

/* hover 後額外的小圓點 */
.box:hover .timeline-dot::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;               /* 小圓點大小 */
  height: 8px;
  background: #ffffff;      /* 小圓點顏色（背景色） */
  border-radius: 50%;
  z-index: 2;
}

.s-arrow{
    display:block;
    width: 16px;
    height: 28px;
    margin: 0 15px;
    background: url(../../../images/layout06/common/index/arrow.svg) no-repeat center top;
    opacity: 0.2;
    flex-shrink: 0;
}
.index-service .list-num{
    margin: 0;
    font-family: "Noto Sans","Noto Sans TC", sans-serif;
    font-size: 32px;
    font-weight: 800;
    line-height: 32px;
    margin-bottom: 10px;
    color: #fff;
    /* position: absolute; */
    left: 0;
    top: 0;
    z-index: 2;
    order: 1;
}
.index-service .list-info{
    display: inline-flex;
    /* background:red; */
    order:4;
    position:relative;
    z-index:1;
    /* width: 256px; */
    width: 100%;
    white-space: nowrap;
}
.index-service .list-info::before {
    content: "";
    position: absolute;
    top: -24px;
    left: 0%;
    right: 0;
    height: 1px;
    /* width: 1000px; */
    background: #fff;
    z-index: -1;
}
.index-service .box+.box .list-info::before{
    left: -56px;
}
.index-service .list-name{
    color: #fff;
    font-family: "Noto Sans","Noto Sans TC", sans-serif;
    font-size: 15px;
    font-weight: 600;
    /* line-height: 21px; */
    margin: 0;
    margin-top: 0;
    /* margin-bottom: 3px; */
    text-align: left;
}
.index-service .list-description{
    color: #fff;
    font-size: 14px;
    font-weight: normal;
}
.s_pic{
    position: absolute;
    z-index: 1;
    top: 38px;
}
.s_pic::before{
    content: "";
    position: absolute; /* 建議用絕對定位 */
    top: -40px;
    right: 0px;
    width: 81%;
    height: 112%;
    z-index: -99;
    background-size: cover;
    background: rgb(28,81,112); /* Old browsers */
    background: -moz-linear-gradient(bottom, rgba(28,81,112,1) 0%,rgba(16,156,154,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(bottom,rgba(28,81,112,1) 0%,rgba(16,156,154,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(28,81,112,1) 0%,rgba(16,156,154,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#EEC9C8', endColorstr='#61c0ef',GradientType=1 );
}
/* 跑馬燈 */
@keyframes marquee_left {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}
.service-sect .marquee {
  order: 1; /* 排在前面 */
}
.marquee {
    width: 100%;
    height: 400px;
    line-height: 400px; 
    overflow: hidden;
    padding: 0;
    position: relative;
    top: calc(50% - 400px);
    left: 0;
}
.marquee .track {
    position: absolute;
    white-space: nowrap;
    will-change: transform;
    animation: marquee_left 150s linear infinite;
    /* height: 300px; */
}
.marquee .track span {
    position: relative;
    padding: 0 100px 0 0;
    height: 400px;
    line-height: 400px;
    overflow: visible;
    white-space: nowrap;
    color: #ffffff00;
    background-image: linear-gradient(360deg,
        rgba(16,156,154,1) 0%,
        rgba(28,81,112,1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    /* opacity: 0.1; */
    font-family: "Noto Sans","Noto Sans TC", sans-serif;
    font-size: 300px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0px;
}

@media(max-width:1000px){
    .index-service .col:nth-child(1) {
        padding-right: 0;
        width: 100%;
    }
    .index-service .box {
        display: flex;
        position: relative;
        /* width: 170px; */
        /* height: 170px; */
    }
    .s-arrow{
        transform:rotate(90deg);
        margin: 10px 0;
    }
    .index-service .box:nth-last-child(1):after{
        height: calc(100%);
    }
    .index-service .s-list img{
        width: 60px;
        height: 60px;
    }
    .index-service .col:nth-child(2):before {
       display: none;
    }
    .index-service .list-name {
        font-size: 16px;
        /* line-height: 16px; */
        text-align: center;
    }
    .index-service .list-description {
        font-size: 12px;
    }
    .index-service .list-num {
        font-size: 26px;
        line-height: 26px;
    }
    .index-service .box:before {
        top: 25px;
    }
    .index-service .box+.box .list-info::before {
        left: 0;
    }
}
/*------------ contact-editor ------------*/
.contact-editor .col{
    float: left;
}
.contact-editor .col + .col{
    margin: 0 0 0 25px;
}
.contact-editor i{
    width: 30px;
    height: 30px;
    text-align: center;
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    line-height: 30px;
    position: relative;
    margin: 0 20px 0 0;
    z-index: 0;
}
.contact-editor i:after{
    content: '';
    background: #1C5170;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    transform: rotate(45deg); 
}
.contact-editor i:before{
    display: inline-block;
    font-family: 'icon-font' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.contact-editor .tel i:before{
    content: "\ff001";
}
.contact-editor .fax i:before{
    content: "\ff002";
}
.contact-editor .mail i:before{
    content: "\ff003";
}
.contact-editor .add i:before{
    content: "\ff004";
    font-size: 18px;
    position: relative;
    top: 2px;
}
.contact-editor .col a,
.contact-editor .col span{
    display: inline-block;
    width: calc(100% - 50px);
    vertical-align: middle;
}
/*------------ video-editor ------------*/
.video-editor .pic{
    float: left;
    margin-right: 25px;
}
/*------------ terms-editor ------------*/
.terms-editor{
    font-size: 15px;
    line-height: 2;
}
.terms-editor .title{
    font-size: 17px;
    color: #1C5170;
    margin: 0;
}
.terms-editor p{
    text-indent: 0em;
    margin: 0 0 50px;
}
.terms-editor .row{
    margin: 0 -27px;
}
.terms-editor .col{
    padding: 0 27px;
    width: 50%;
    float: left;
    box-sizing: border-box;
}
/*------------ index-editor ------------*/
/*------------ rwd ------------*/
@media screen and (max-width: 1600px){
    /* .index-service .row {
        margin: 250px auto 0;
    } */
    .marquee {
        top: calc(50% - 450px);
    }
}
@media screen and (max-width: 1280px){
    .service-sect .container {
        /* padding: 0 0px; */
    }
}
@media screen and (max-width: 1000px){
    .index-servcebox{
        flex-direction:column;
    }
    .index-service,
    .index-stxt{
        flex:1 1 100%;
/*        width: 100%;*/
    }
    .index-service .row {
        display: flex;
        align-items: center;
        /* margin: 150px auto 0; */
        flex-direction: column;
    }
    .s_pic {
        position: relative;
        top: 0px;
    }
    .index-service .col:nth-child(2) {
        width: 100%;
    }
    .service-sect .title::before {
        margin: 0 auto 10px;
    }
    .marquee {
        display: none;
    }
    .s_pic::before {
        display: none;
    }  
}
@media screen and (max-width: 767px){
    .index-service .s-list {
        gap: 5px;
    }
    .col-s {
        padding: 56px;
    }
    .s-list .box::after {
        top: 110%;
    }
    .marquee {
        top: calc(50% - 350px);
    }
    .marquee .track span {
        font-size: 220px;
    }
        .marquee {
        top: calc(50% - 250px);
    }
    .index-service .s-list {
        gap: 70px;
        display: flex;
        justify-content: space-between;
        /* align-items: center; */
        /* flex-direction: column; */
        flex-wrap: wrap;
    }
    .index-service .s-list .box>img {
        margin-bottom: 0px;
    }
    .timeline-dot {
        /* top: 122%; */
    }
    .s-list .box::after {
        top: 122%;
        width: 100%;
    }
    .timeline-dot {
        /* display: none; */
    }
    .index-service .box {
        display: flex;
        align-items: center;
        /* flex: 1 1 50%; */
    }
    .s-list .box+.box{
        padding: 0;
    }
    .index-service .box {
        width: 100%;
    }
    .s-list .box {
        flex: auto;
    }
    .col-s {
        padding: 0px;
    }
    .marquee {
        top: calc(50% - 600px);
    }
}
@media screen and (max-width: 484px){
}
@media screen and (max-width: 960px){
    .contact-editor .col + .col{
        margin: 25px 0 0 0;
    }
    .contact-editor .col{
        float: none;
    }
}
@media screen and (max-width: 1100px){
    .row_{
        display: block;
    }
    .about-editor .row_1 .col{
        margin-bottom: 20px;
    }
    .about-editor .row_1{
        margin-bottom: 40px;
    }
    .about-editor .row_2{
        margin-top: 20px;
    }
    .about-editor .row_2 .col1:after{
        display: none;
    }
    .about-editor .row_2 .col,.about-editor .row_3 .col{
        margin-bottom: 20px;
    }
    .about-editor .row_2 .txt_box,.about-editor .row_3 .txt_box{
        padding:0px;
        border:none;
        margin-right: 0px;
        margin-left: 0;
        margin-top: 0;
    }
    .about-editor .row_2 .col2{
        text-align: left;
    }
    .index-about-editor{
        padding: 0;
        height: auto;
    }
    .service-editor .row_ .col2,.service-editor .row_ .col1{
        width: 100%;
        margin-bottom: 20px;
    }
    .service-editor .row_ .col2{
        padding: 0
    }
    .contact-editor i{
        text-indent: 0px;
        line-height: 30px;
    }
}
@media screen and (max-width: 767px){
    .terms-editor .row{
        margin: 0;
    }
    .terms-editor .col{
        padding: 0;
        width: 100%;
    }
}
