@charset "utf-8";
/* CSS Document */

@import url("reset.css");
@import url("/css/font-awesome.css");
@import url("/css/animate.css");
@import url("/css/hover.css");
@import url("https://fonts.googleapis.com/earlyaccess/notosanstc.css");
@import url("https://fonts.googleapis.com/icon?family=Material+Icons");

html, body { width:100%; height: auto;overflow-X:hidden; }
body { font-size:100%;}
/**{transition:all .3s; -webkit-transition:all .3s;}*/

/*:before{ content:"\f146";font-family: 'FontAwesome'; }*/

.btnTop{ background: #CCC \9;background:rgba(0,0,0,.2); border-radius:50%; width:50px; height:50px; position: fixed;right:15px; bottom:15px;cursor:pointer; z-index:99; color:#FFF; text-align:center; font-family:Arial, Helvetica, sans-serif;	text-transform:uppercase; font-size:13px ; letter-spacing:1px; display: none  ; z-index:999;}
.btnTop:before {    content: "\f106";    font-family: 'FontAwesome';    font-size: 20px;    color: #FFF;    display: block;    width: 100%;    height: 25px;    padding-top: 0;}
.btnTop:hover{background:rgba(0,0,0,.4);}

.img-response{ max-width:100%; height:auto;}

/*------------item-inline-block------------*/
.item-inline-block{ letter-spacing:-5px;}
.item-inline-block > *{display: inline-block !important; letter-spacing:1px;vertical-align: top;}

/*------------item-table-cell------------*/
.item-table-cell{ display:table;}
.item-table-cell > *{display: table-cell !important; vertical-align: top;}


/*------------item-flex------------*/
.item-flex{ display:flex !important;display:-webkit-flex !important;flex-flow: row wrap}
.item-flex > *{flex:1;-webkit-flex:1 }


.empty {    display: inline-block;}


@media screen and (max-width: 640px) {
	
.vertical-xs{ display:block !important;	}
.vertical-xs  > *{  display:block !important; width:100% !important ;float:none !important; }
.empty {    display: block;    height: 1px;}
	
}



.show{ display:block !important;}
.hide{ display:none !important;}
.space-br {    display: inline-block;}

@media screen and (max-width: 640px) {	

.hide-xs{ display:none !important; }
.show-xs{ display:block !important;}
.space-br {    display: block;    line-height: 0;}
	
}





.wrap{width:100%;height:auto;position:relative; font-family:'Noto Sans TC',"微軟正黑體",Microsoft Yahei;line-height:1.6; background:#fff;}
		



/*▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃ 版頭 ▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃*/

.header {
    width: 100%;
    position: relative;
    height: 578px;
    overflow: hidden;
    background-image: url("../images/header-bg.png");
    background-repeat: no-repeat;
    background-position: center;
}
 .header span img{ width:100%; height:auto;}

 .header .center{width:100%;max-width:1000px;position:relative; margin:0 auto; z-index:1;height: 578px;}
 .header .center img{ height:auto;}
.header-text {
    position: relative;
}

.header-text a {
    position: absolute;
    right: 77px;
    bottom: 31px;
    color: #fff;
    font-size: 24px;
    letter-spacing: 3px;
}
.header-text a i {
    margin-left: 10px;
}
/*


 .header .logo{ position:absolute; left:8px; top:2px; z-index:6; }
 .header .logo img{width:100%; height:auto;}
*/


/*白色LOGO+底色*/
.logo {
    background-color: #3e4864;
/*    position: absolute;*/
/*    top: 0;*/
    width: 100%;
}
.logo a {
    display: inline-block;
}
.logo img {
    width: 250px;
    height: auto;
    padding: 10px;
}



/*▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃ 內容 ▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃*/



.container-wrap { width:100%; margin:0 auto;}
.part {
    padding: 60px 0;
}
.part-title {
    color: #5b6366;
    background: linear-gradient(to right, #838c93, #5b6366);
    background: -webkit-linear-gradient(to right, #838c93, #5b6366);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    line-height: 1.2;
    letter-spacing: 2px;
    font-size: 36px;
    font-weight: bold;
    padding: 40px 0 45px;
    display: flex;
    justify-content: center;
}

.part2 .part-title {
    padding-bottom: 0 !important;
}
.part-title:before {
    content: '\f10d';
    font-family: 'FontAwesome';
    font-size: 26px;
    margin-right: 10px;color: #d1d6d9;
}

.part-title:after {
    content: '\f10e';
    font-family: 'FontAwesome';
    font-size: 26px;
    margin-left: 10px;
    margin-top: 25px;color: #c5cacb;
}


.swiper-container.reportcs {
    max-width: 900px;
    width: 100%;
/*    height: 590px;*/
    border-radius: 30px;
    margin: 0 auto;
}

.swiper-wrapper {
    margin-top: 10%;
}
.swiper-container.reportcs .swiper-slide img {
    margin: 50px auto 0;
}
.swiper-container.reportcs .swiper-pagination-bullet span {
    position: relative;
}


.swiper-container.reportcs .swiper-pagination {
    border-radius: 20px;
    left: 0;
    right: 0;
    top: 6%;
    bottom: unset !important;
}

.swiper-container.reportcs .swiper-slide {
    background-color: #fff;
    margin-top: 45px;
}

.swiper-container.reportcs .swiper-slide img {
    width: 100%;
/*    max-width: 876px;*/
}
.swiper-container.reportcs .sl1 img {
    max-width: 774px;
}
.swiper-slide.sl2 p,.swiper-slide.sl3 p,.swiper-slide.sl4 p {
    text-align: center;
    font-size: 24px;
    color: #40515f;
    font-weight: bold;
    margin-top: 30px;
}
.swiper-slide.sl2 span,.swiper-slide.sl3 span {
    display: block;
    font-size: 15px;
    background: #dbddde;
    color: #40515f;
    max-width: 370px;
    border-radius: 10px;
    padding: 5px;
    margin: 8px auto;
}
.swiper-slide.sl2 img {
    margin: 20px auto 0 !important;
}
.sl4 img {
    margin: 0 auto !important;
}

.swiper-slide img {
    max-width: 814px !important;
}



	
.swiper-container.reportcs .swiper-pagination .swiper-pagination-bullet {
    width: 25%;
    height: auto;
    text-align: center;
    line-height: 28px;
    font-size: 17px;
    color: #858585;
    font-weight: normal;
    opacity: 1;
    background: #fff;
    padding: 20px 32px 10px 20px;
    margin: 0;
    border-radius: 0;
    border-bottom: 5px solid #d6d6d6;
}

.swiper-container.reportcs .swiper-pagination .swiper-pagination-bullet-active {
    border-bottom: 5px solid #40515f;
    color: #40515f;
    font-weight: bold;
}
  .swiper-container.reportcs .swiper-slide {
    opacity: 0 !important;
  }
  .swiper-container.reportcs .swiper-slide-active {
    opacity: 1 !important;
  }

span.swiper-pagination-bullet i {
    display: inline;
    margin-right: 5px;
}


.part.part3 {
    background: #f3f6f7;
}

.part3 h5 {
    font-size: 24px;
    letter-spacing: 2px;
    color: #5b6366;
    margin-top: 20px;
}
.part3 p {
    font-size: 18px;
    color: #858585;
    letter-spacing: 2px;
}
 .gallery-wrap {
      max-width: 1100px;
      margin: 0 auto;
    }

    .gallery-title {
      font-size: 28px;
      font-weight: bold;
      margin-bottom: 24px;
      text-align: center;
    }

    /* 局部預覽容器 */
    .preview-box {
    width: 268px;
    /* aspect-ratio: 4 / 3; */
    overflow: hidden;
    border-radius: 12px;
    cursor: pointer;
    background: #eee;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease;    position: relative;
}

    .preview-box:hover {
      transform: translateY(-4px);
      box-shadow: 0 8px 22px rgba(0, 0, 0, 0.12);
    }

    .preview-box img {
    width: 268px;
    object-fit: cover;
    transition: transform 0.35s ease;
    display: block;
}


.preview-box:before {
    content: '\f002';
    font-family: 'FontAwesome';
    position: absolute;
    background: #838c93;
    color: #fff;
    border-radius: 50%;
    width: 65px;
    height: 65px;
    font-size: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    bottom: -10px;
    right: -5px;
}

/* 選中父層(col-6那層)的第二個，再找裡面的 .preview-box */
/*
.part3 .d-flex > div:nth-child(2) .preview-box:before {
    background: #5b6366;  換成你想要的顏色 
}
*/


/*
    .preview-box:hover img {
      transform: scale(1.05);
    }
*/

    /* 可針對每張圖控制顯示哪個局部 */
    .pos-top img {
      object-position: top center;
    }

    .pos-center img {
      object-position: center center;
    }

    .pos-bottom img {
      object-position: bottom center;
    }

    /* Modal 透明外框 */
    .image-modal .modal-content {
      background: transparent;
      border: none;
      box-shadow: none;
    }

    .image-modal .modal-body {
      position: relative;
      padding: 0;
      text-align: center;
    }

    /* 大圖 */
    #modalImage {
      max-width: 100%;
      max-height: 90vh;
      width: auto;
      height: auto;
      border-radius: 12px;
      box-shadow: 0 10px 35px rgba(0, 0, 0, 0.35);
    }

    /* 關閉按鈕 */
    .modal-close-btn {
      position: absolute;
      top: -14px;
      right: -14px;
      z-index: 10;
      width: 42px;
      height: 42px;
      border: none;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.95);
      font-size: 24px;
      line-height: 1;
      cursor: pointer;
      box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
    }

    .modal-close-btn:hover {
      background: #fff;
    }

    /* Modal 背景更深，像燈箱 */
    .modal-backdrop.show {
      opacity: 0.85;
    }

.caption {
    margin-top: 10px;
    color: #fff;
    font-size: 18px;
    letter-spacing: 0.5px;
}
.modal-open .modal {
    overflow-x: hidden;
    overflow-y: hidden;
}


.modal-dialog.modal-dialog-centered.modal-xl {
    max-width: 979px;
}



.part3 p.azure {
    background: linear-gradient(to right,  #516378 0%,#7e8991 100%);
    color: #fff;
    display: flex;
    justify-content: center;
    max-width: 600px;
    margin: 60px auto 0;
    padding: 10px 0;
    font-size: 20px;
    border-radius: 10px;
    font-weight: 500;
}

.part4 h6 {
    color: #4c5b66;
    font-size: 24px;
}

.part4 p {
    color: #6c6c6c;
    font-size: 18px;
    letter-spacing: 2px;
}


.part5 {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 70px 0;
    background: #f3f6f7;
}
.part5 .part-title {
    padding-bottom: 0;
}
.part5 .part-sectitle {
    color: #666666;
    font-size: 18px;
}
.part5 .swiper {
    width: 100%;
    max-width: 1000px;
/*    height: 400px;*/
    overflow: hidden;
    position: relative;
    margin: 0 auto;
}
.part5 .swiper-wrapper {
  width: 100%;
/*  max-width: 1000px;*/
}
.part5 .swiper-slide {
/*  max-width: 1000px;*/
  width: 100%;
/*  background-color: #fff;*/
  opacity: 0 !important;
}
.part5 .swiper-slide.swiper-slide-active {
  opacity: 1 !important;
}

.part5 .swiper-wrapper {
    margin-top: 5%;
}

.part5 .block-img {
    background: #fff;
    padding: 15px;
    border-radius: 10px;
    border: 3px solid #cdd0d1;
    margin-left: 15px;
}


.part5 .block-text {
    text-align: left;
	margin-left: 20px;
	position: relative;
}
.p5block-title {
    color: #838c93;
    font-size: 36px;
    font-weight: 700;
    font-family: 'noto sans TC';
    letter-spacing: 2px;
}

.p5block-sectitle {
    font-size: 18px;
    background-color: #4c5a65;
    border-radius: 20px;
    color: #fff;
    display: inline-block;
    padding: 5px 20px;
    font-family: 'Noto Sans TC';
    letter-spacing: 2px;
    margin: 18px 0 30px;
}
.part5 .block-text p {
    color: #000;
    letter-spacing: 1px;
    line-height: 1.8;
}
.part5 .swiper-button-wrap {
    position: absolute;
    bottom: 45px;
    width: 90px;
    right: 192px;
}
.part5 .swiper-button-prev {
    left: 0 !important;
}
.part5 .swiper-button-next {
    right: 0 !important;
}

.swiper-button-next, .swiper-button-prev {
    color: #4c5a65 !important;
    border: 1px solid;
    border-radius: 50%;
    width: 30px !important;
    height: 30px !important;
}
.swiper-button-next:after, .swiper-button-prev:after {
    font-size: 16px !important;
    font-weight: bold;
}





/*----------------------------- 注意事項文字 -----------------------------------  */

/* ul { width:80%; margin:0 auto; color:#a3a3a3; list-style:decimal; padding-left:30px;}
 ul li{ margin-bottom:10px; font-size:15px; color:#333333; line-height:1.5;}
*/



.register_wrap {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
    background-image: url("../images/register-bg.png");
    background-position: right center;
    background-repeat: no-repeat;
    padding: 90px 0;
}
.register-bg {
    background-color: #4c5a65;
}
section.register {
  width: 525px;
  margin-left: 5%
}
h3.register-title {
  display: none
}
section.register .title {
  color: #fff;
  font-size: 40px;
  font-weight: 700;
  margin-bottom: 30px
}
input#submitBtn:hover, section.register a#sendCodeBtn:hover {
    background-color: #6a7278 !important;
}
input#submitBtn, section.register a#sendCodeBtn {
    background-color: #838c93 !important;
    color: #ffffff !important;
    line-height: 1.5;
    border: 3px solid #6c7c89 !important;
    border-radius: 50px !important;
    box-shadow: none;
}
section.register a.sms-img {
  border: 0;
  color: #fff;
  font-size: 20px;
  margin-top: 10px;
  font-weight: 400;
  box-shadow: unset;
  border-radius: 5px !important
}
a.sms-img:hover {
    color: #fff !important;
    background-color: #44515b;
}
input#DAA009 {
  width: 280px !important;
  margin-right: 10px;padding-right: 10px
}
a#sendCodeBtn {
  width: calc(100% - 335px) !important
}
.code {
  margin-top: 10px
}
input#M5Code {
  width: 230px !important;
  margin-right: 10px;padding-right: 10px
}
input#submitBtn {
  width: calc(100% - 288px) !important
}
/*
input#DAA009::placeholder {
    color: #000 !important;
}
*/
.input ::-webkit-input-placeholder, .phone ::-webkit-input-placeholder {
  color: #364e4f !important;
  background-color: #fff;border-radius:0;padding: 0 5px;
}
.input input::-moz-placeholder, .phone input::-moz-placeholder {
  color: #364e4f !important
}
.input input::-moz-placeholder, .phone input::-moz-placeholder {
  color: #364e4f !important
}
.input input::-moz-placeholder, .phone:-ms-input-placeholder {
  color: #364e4f !important
}
input:-internal-autofill-selected {
/*  background-color: #ff6773 !important;*/
  color: #364e4f !important
}
input:-webkit-autofill, input:-webkit-autofill:active, input:-webkit-autofill:focus, input:-webkit-autofill:hover {
  -webkit-text-fill-color: #364e4f;
	
  -webkit-box-shadow: 0 0 0 1000px rgba(255, 255, 255, 0) inset;
  transition: background-color 5000s ease-in-out 0s
}
input#DAA009, input#M5Code{
    background-color: #ffffff;
    color: #364e4f !important;
    border: 2px solid;
    padding-left: 10px;
    border-radius: 40px;
}





@media screen and (max-width:1024px) {	

 .register_wrap {
    height: 646px;
    background-position: bottom;
    background-position-y: 350px;
  }
  section.register {
    display: block;
    margin: 0 auto;
  }


}



@media screen and (max-width:768px) {	

    
     .register_wrap {
    padding: 50px 0;
  }
    
    
    
    
}




@media screen and (max-width:576px) {	
    
section.register {
    width: 100%;
    padding: 0 10px;
  }
 section.register .title {
    font-size: 36px;
  }
  input#M5Code {
    width: 220px !important;
  }
  input#DAA009 {
    width: 190px !important;
}
a#sendCodeBtn {
    width: 145px !important;
}
input#submitBtn {
    width: 115px !important;
}
  .register_wrap {
    background-size: 96%;
  }

}



@media screen and (max-width:992px) {	

    
.part.part5 {
    padding: 70px 15px;
}
 .part5 .swiper {
    height: auto;
    padding-bottom: 40px;
}
	.p5block-sectitle {
    margin: 16px 0 5px;
}
/*
	.part5 .block-text p {
    margin-bottom: 30px;
}
*/
	
	.part5 .swiper-button-wrap {
    right: 0;
    left: 0;
    margin: 0 auto;
    bottom: 10px;
}
	
	.part5 .block-text {
    text-align: center;
    margin-left: 0;
}
	.part5 .block-img img {
    display: inline-block;
    width: 96%;
    max-width: 651px;
}
    .part5 .block-img {
    border: none;
    margin-top: 15px;
}
    
}




@media screen and (max-width:768px) {	
    
    
.header {
    height: 886px;
    background-image: url("../images/header-bg-phone.png");

}
    
    .header-text a {
    bottom: 25px;
    right: 68px;
}
 .header .center {
    height: unset;
    margin-top: 30px;
}   
    
   .part-title {
    flex-direction: column;
    align-items: center;
} 
    .part-title:before,.part-title:after{content: none;}

    .part3 p.azure {
    text-align: center;
    padding: 10px 20px;
    margin: 50px 15px;
}
.swiper-container.reportcs .swiper-pagination .swiper-pagination-bullet {
    padding: 20px 0 10px;
}

    
}



@media screen and (max-width:576px) {	
    
section.register {
    width: 100%;
    padding: 0 10px;
  }
 section.register .title {
    font-size: 36px;
  }
  input#M5Code {
    width: 210px !important;
  }
  input#DAA009 {
    width: 180px !important;
}
a#sendCodeBtn {
    width: 145px !important;
}
input#submitBtn {
    width: 115px !important;
}
  .register_wrap {
    background-size: 96%;
  }

}


@media screen and (max-width: 450px) {
    .header-text a {
    bottom: 20px;
    right: 45px;
}
    
    
    
    
    
}


@media screen and (max-width: 400px) {
.part-title {
    color: #5b6366;
}
 .header {
    height: 700px;
}   
    
.header-text img {
    width: 100%;
}
    .header-text a {
    font-size: 20px;
}
    
 .swiper-container.reportcs .swiper-pagination .swiper-pagination-bullet {
    font-size: 16px;
}   
    
.part5 .block-img {
    border: none;
    margin-top: 10px;
}    
  input#DAA009 {
    width: 165px !important;
}  
 input#M5Code {
    width: 190px !important;
}   
    
    
    
    
    
}