@charset "UTF-8";
/* CSS Document */

section, article, aside, footer, header, nav, h2 { display:block;}

body { padding:0; margin:0 auto; color: #414141; font-size:1em; font-family: 'Noto Sans TC', sans-serif, "微軟正黑體", Arial; background-color: #fff; position: relative; overflow-x: hidden;}
img { border:0; display: block;}

html, body { height: 100%;}

.clearfix:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0;}
.clearfix { display: inline-block; }
* html .clearfix { height: 1%; }
.clearfix { display: block; }

div.brk { clear: both;}

span.color-blue { color: #2ca6e0;}
span.color-darkblue { color: #0062b0;}


/************ video box ************/
.video-container { position:relative; padding-bottom:56.25%; padding-top:30px; width:100%; height: 0px; overflow:hidden;}
.video-container iframe, .video-container object, .video-container embed { position:absolute; top:0; left:0; width:100%; height:100%;}


ol.num { margin: 0; padding: 0; list-style-type: none; counter-reset: item;}
ol.num li { display: table; counter-increment: item; margin-bottom: 0.6em;}
ol.num li:before { content: counters(item, ".") ". "; display: table-cell; padding-right: 0.6em;}
ol.num li li { margin: 0;}
ol.num li li:before { content: counters(item, ".") " ";}



@media screen and (min-width: 1370px) {

  /************ header + nav ************/

  header { width: 100%; height: 80px; padding: 0 80px; box-sizing: border-box; background-color: rgba(255,255,255,0.8); display: flex; justify-content: flex-start; align-items: center; position: fixed; top: 0; left: 0; z-index: 999;}

  .logo-box { width: 300px;}
  .logo-box img { width: 220px; height: auto;}

  nav#mo { display: none;}
  nav#pc { clear: both; width: calc(100% - 300px);}
  nav#pc ul.menu-nav { padding: 0; margin: 0; list-style: none; display: flex; justify-content: flex-end; align-items: center;}
  nav#pc ul.menu-nav li { padding: 0; margin: 0;}
  nav#pc ul.menu-nav li a { padding: 10px 20px; color: #0062b0; font-size: 1.2rem; font-weight: 500; text-decoration: none; display: block;}
  nav#pc ul.menu-nav li a:hover { color: #fff;}
  nav#pc ul.menu-nav li a:focus { color: #0062b0; background-color: transparent;}
  nav#pc ul.menu-nav li a::before { background-color: transparent;}


  /************ banner ************/

  .banner-box { clear: both; width: 100%; max-height: 100%; overflow: hidden; position: relative; z-index: 1;}

  img.header-banner { width: 100%; height: auto; position: relative; z-index: 1;}
  img.header-banner-illu { width: 100%; height: auto; position: absolute; top: 0; left: 0; z-index: 2;}

  .banner-box .title-box { width: 100%; height: 100%; padding: 80px 0 0 0; box-sizing: border-box; display: flex; justify-content: center; align-items: center; position: absolute; top: 0; left: 0; z-index: 3;}
  .banner-box .title-box img { width: 38vw; height: auto;}


  /************ section #about ************/

  section#about { clear: both; width: 100%; padding: 100px 80px; box-sizing: border-box; display: flex; justify-content: flex-start; align-items: center;}

  .about-column-title { width: 24vw; position: relative;}
  .about-column-title img.title-illu { width: 100%; height: auto; position: relative; z-index: 1;}
  .about-column-title .title-box { width: 10vw; position: absolute; top: 10vw; left: 7.5vw; z-index: 2;}
  .about-column-title .title-box span.en { font-size: 1.8vw; font-weight: 600; line-height: 1.8vw;}
  .about-column-title .title-box span.cn { font-size: 2.2vw; font-weight: 600; line-height: 2.2vw;}

  .about-column-text { width: calc(100% - 48vw); padding: 0 2.5vw; font-size: 1.2vw; line-height: 2.2vw; box-sizing: border-box;}
  .about-column-text .iso-text { clear: both; width: 100%; font-size: 1.6vw; font-weight: 700; font-family: 'Noto Serif TC', serif; text-align: center;}
  .about-column-text .iso-text-mo { display: none;}

  .about-column-pic { width: 24vw;}
  .about-column-pic .pic-box { width: 22.5vw; height: 22.5vw; margin: 0 0 0 1vw; border-radius: 100%; background-color: #0062b0; overflow: hidden; display: flex; justify-content: center; align-items: center;}
  .about-column-pic .pic-box img { width: auto; height: 100%;}


  /************ section #business ************/

  section#business { clear: both; width: 100%; padding: 100px 80px; box-sizing: border-box; background-color: #eee; display: flex; justify-content: center; align-items: stretch; flex-wrap: wrap;}

  .business-title { width: 100%; margin: 0 0 4vw 0; text-align: center;}
  .business-title span.en { font-size: 1.8vw; font-weight: 600; line-height: 1.8vw;}
  .business-title span.cn { font-size: 2.2vw; font-weight: 600; line-height: 2.2vw;}

  .business-ideas-item { width: 18vw; padding: 0 0 3vw 0; margin: 0 1vw; border-radius: 2.6vw; background-color: #fff; overflow: hidden;}
  .business-ideas-item .pic { width: 100%; height: auto;}
  .business-ideas-item .pic img { width: 100%; height: auto;}
  .business-ideas-item .title { width: 80%; padding: 0 0 1vw 0; margin: -0.5vw auto 0 auto; color: #0062b0; font-size: 1.8vw; font-weight: 600; line-height: 2vw; text-align: center;}
  .business-ideas-item .text { width: 80%; padding: 1vw 0 0 0; margin: 0 auto; font-size: 1.2vw; font-weight: 500; line-height: 2vw; text-align: center; border-top: 1px #ccc solid;}


  /************ section #ESG ************/

  section#ESG { clear: both; width: 100%; padding: 100px 80px; box-sizing: border-box;}

  .ESG-title { width: 100%; margin: 0 0 4vw 0; text-align: center;}
  .ESG-title span.en { font-size: 1.8vw; font-weight: 600; line-height: 1.8vw;}
  .ESG-title span.cn { font-size: 2.2vw; font-weight: 600; line-height: 2.2vw;}

  .ESG-text-con { clear: both; width: 55%; margin: 0 auto 4vw auto; font-size: 1.2vw; line-height: 2vw;}

  .ESG-items-full { clear: both; width: 100%; display: flex; justify-content: center; align-items: center;}
  .ESG-items-full .item-box { width: 22.5vw; height: 22.5vw; margin: 0 1vw; border: 2vw #0062b0 solid; box-sizing: border-box; border-radius: 100%; overflow: hidden; background-color: #0062b0;}
  .ESG-items-full .item-box .icon { width: 100%; color: #fff; font-size: 4vw; text-align: center; background-color: #0062b0;}
  .ESG-items-full .item-box .title { width: 100%; padding: 0 0 0.5vw 0; color: #fff; font-size: 1.7vw; font-weight: 500; text-align: center; background-color: #0062b0;}
  .ESG-items-full .item-box .list { width: 100%; padding: 1vw 0 2.5vw 0; margin: 0 auto; color: #0062b0; font-size: 1.4vw; line-height: 2.2vw; text-align: center; box-sizing: border-box; background-color: #fff;}

  .more-bt { clear: both; width: 14vw; margin: 4vw auto 0 auto;}
  .more-bt a { width: 100%; padding: 0.5vw 0; color: #0062b0; font-size: 1.2vw; text-align: center; text-decoration: none; border: 2px #0062b0 solid; border-radius: 2vw; background-color: #fff; display: block;}
  .more-bt a:hover { color: #fff; background-color: #0062b0;}


  section#ESG-content { width: 100%; padding: 0 100px; box-sizing: border-box;}
  
  .ESG-con-title { width: 100%; margin: 0 0 40px 0; font-size: 2.2rem; font-weight: 600; text-align: center;}

  .ESG-con-text { width: 100%; font-size: 1.1rem; line-height: 1.8em;}

  img.fancybox-bottom, img.fancybox-top { clear: both; width: 100%; height: auto;}


  /************ section #security ************/

  section#security { clear: both; width: 100%; display: flex; justify-content: flex-start; align-items: stretch;}

  .security-list-column { width: 50%; padding: 5vw 3vw 5vw calc(80px + 3vw); box-sizing: border-box; background-color: #eee;}
  .security-list-column .title { width: 100%; margin: 0 0 4vw 0;}
  .security-list-column .title span.en { font-size: 1.8vw; font-weight: 600; line-height: 1.8vw;}
  .security-list-column .title span.cn { font-size: 2.2vw; font-weight: 600; line-height: 2.2vw;}
  .security-list-column .text-con { clear: both; width: 100%; font-size: 1.2vw; line-height: 1.8vw;}
  .security-list-column .text-con ul { width: 100%; padding: 0 0 0 1.5vw; margin: 0; box-sizing: border-box; list-style: disc; display: block;}
  .security-list-column .text-con ul li { padding: 0; margin: 1vw 0 0 0;}

  .more-bt-2 { clear: both; width: 14vw; margin: 4vw 0 0 0;}
  .more-bt-2 a { width: 100%; padding: 0.5vw 0; color: #0062b0; font-size: 1.2vw; text-align: center; text-decoration: none; border: 2px #0062b0 solid; border-radius: 2vw; background-color: #fff; display: block;}
  .more-bt-2 a:hover { color: #fff; background-color: #0062b0;}

  .security-pic-column { width: 50%; background-image: url("../images/security_pic.jpg"); background-repeat: no-repeat; background-size: auto 100%; background-position: center top;}
  img.security-pic-mo { display: none;}


  /************ section #products ************/

  section#products { clear: both; width: 100%; padding: 100px 80px; box-sizing: border-box; background-image: url("../images/products_bg.jpg"); background-repeat: no-repeat; background-size: 100% auto; background-position: left bottom;}

  .products-title { width: 100%; margin: 0 0 4vw 0; text-align: center;}
  .products-title span.en { font-size: 1.8vw; font-weight: 600; line-height: 1.8vw;}
  .products-title span.cn { font-size: 2.2vw; font-weight: 600; line-height: 2.2vw;}

  .products-text-con { clear: both; width: 30%; margin: 0 auto 4vw auto; font-size: 1.2vw; line-height: 2vw; text-align: center;}

  .products-list-full { clear: both; width: 100%; display: flex; justify-content: center; align-items: stretch; flex-wrap: wrap;}
  .products-list-full .list-box { width: 35vw; padding: 2vw 2vw 0 2vw; margin: 0 1vw 2vw 1vw; background-color: #2ca6e0; box-sizing: border-box; display: flex; justify-content: flex-start; align-items: center;}
  .products-list-full .list-box .icon { width: 10vw; height: 10vw; color: #2ca6e0; font-size: 5vw; border-radius: 100%; background-color: #fff; overflow: hidden; display: flex; justify-content: center; align-items: center;}
  .products-list-full .list-box .content { width: calc(100% - 10vw); padding: 0 0 0 2vw; box-sizing: border-box;}
  .products-list-full .list-box .content .title { width: 100%; padding: 0.5vw 1vw; color: #2ca6e0; font-size: 1.4vw; font-weight: 500; border-radius: 1vw; background-color: #fff; box-sizing: border-box;}
  .products-list-full .list-box .content .list-box { width: 100%; color: #fff; font-size: 1.2vw; display: flex; justify-content: flex-start; align-items: flex-start; flex-wrap: wrap;}
  .products-list-full .list-box .content .list-box .icon-bx { width: 1.5vw; margin: 0.3vw 0;}
  .products-list-full .list-box .content .list-box .list { width: calc(100% - 1.5vw); margin: 0.3vw 0;}


  /************ section #contact ************/

  section#contact { clear: both; width: 100%; padding: 100px 80px; box-sizing: border-box; background-image: url("../images/contact_bg.jpg"); background-repeat: no-repeat; background-size: 100% auto; background-position: center center;}

  .contact-title { width: 100%; text-align: center;}
  .contact-title span.en { font-size: 1.8vw; font-weight: 600; line-height: 1.8vw;}
  .contact-title span.cn { font-size: 2.2vw; font-weight: 600; line-height: 2.2vw;}

  hr.line { width: 100%; margin: 2vw auto; border: 1px #2ca6e0 solid;}

  .contact-content { width: 68vw; padding: 2vw 14vw; margin: 0 auto; box-sizing: border-box; background-color: rgba(255,255,255,0.8); display: flex; justify-content: center; align-items: flex-start; flex-wrap: wrap;}
  .contact-content .title-name { width: 100%; margin: 0 0 2vw 0; font-size: 1.4vw; font-weight: 600; text-align: center;}
  .contact-content .column-left { width: 40%; font-size: 1vw; font-weight: 500; line-height: 2vw;}
  .contact-content .column-right { width: 60%; font-size: 1vw; font-weight: 500; line-height: 2vw;}
  .contact-content .column-right .column-full { width: 100%; display: flex; justify-content: flex-start; align-items: flex-start;}
  .contact-content .column-right .column-full .caption { width: 5vw;}
  .contact-content .column-right .column-full .column { width: calc(100% - 5vw);}


  /************ footer ************/

  footer { clear: both; width: 100%; padding: 2vw 4vw; box-sizing: border-box; background-color: #0062b0;}

  .copyright-mo { display: none;}
  .copyright { width: 100%; color: #fff; font-size: 0.8vw; text-align: center;}


}

@media screen and (min-width: 1024px) and (max-width: 1369px) {

  /************ header + nav ************/

  header { width: 100%; height: 80px; padding: 0 40px; box-sizing: border-box; background-color: rgba(255,255,255,0.8); display: flex; justify-content: flex-start; align-items: center; position: fixed; top: 0; left: 0; z-index: 999;}

  .logo-box { width: 240px;}
  .logo-box img { width: 200px; height: auto;}

  nav#mo { display: none;}
  nav#pc { clear: both; width: calc(100% - 240px);}
  nav#pc ul.menu-nav { padding: 0; margin: 0; list-style: none; display: flex; justify-content: flex-end; align-items: center;}
  nav#pc ul.menu-nav li { padding: 0; margin: 0;}
  nav#pc ul.menu-nav li a { padding: 10px 10px; color: #0062b0; font-size: 1.1rem; font-weight: 500; text-decoration: none; display: block;}
  nav#pc ul.menu-nav li a:hover { color: #fff;}
  nav#pc ul.menu-nav li a:focus { color: #0062b0; background-color: transparent;}
  nav#pc ul.menu-nav li a::before { background-color: transparent;}


  /************ banner ************/

  .banner-box { clear: both; width: 100%; max-height: 100%; overflow: hidden; position: relative; z-index: 1;}

  img.header-banner { width: 100%; height: auto; position: relative; z-index: 1;}
  img.header-banner-illu { width: 100%; height: auto; position: absolute; top: 0; left: 0; z-index: 2;}

  .banner-box .title-box { width: 100%; height: 100%; padding: 80px 0 0 0; box-sizing: border-box; display: flex; justify-content: center; align-items: center; position: absolute; top: 0; left: 0; z-index: 3;}
  .banner-box .title-box img { width: 38vw; height: auto;}


  /************ section #about ************/

  section#about { clear: both; width: 100%; padding: 100px 80px; box-sizing: border-box; display: flex; justify-content: flex-start; align-items: center;}

  .about-column-title { width: 24vw; position: relative;}
  .about-column-title img.title-illu { width: 100%; height: auto; position: relative; z-index: 1;}
  .about-column-title .title-box { width: 10vw; position: absolute; top: 10vw; left: 7.5vw; z-index: 2;}
  .about-column-title .title-box span.en { font-size: 1.8vw; font-weight: 600; line-height: 1.8vw;}
  .about-column-title .title-box span.cn { font-size: 2.2vw; font-weight: 600; line-height: 2.2vw;}

  .about-column-text { width: calc(100% - 48vw); padding: 0 2.5vw; font-size: 1.2vw; line-height: 2.2vw; box-sizing: border-box;}
  .about-column-text .iso-text { clear: both; width: 100%; font-size: 1.6vw; font-weight: 700; font-family: 'Noto Serif TC', serif; text-align: center;}
  .about-column-text .iso-text-mo { display: none;}

  .about-column-pic { width: 24vw;}
  .about-column-pic .pic-box { width: 22.5vw; height: 22.5vw; margin: 0 0 0 1vw; border-radius: 100%; background-color: #0062b0; overflow: hidden; display: flex; justify-content: center; align-items: center;}
  .about-column-pic .pic-box img { width: auto; height: 100%;}


  /************ section #business ************/

  section#business { clear: both; width: 100%; padding: 100px 80px; box-sizing: border-box; background-color: #eee; display: flex; justify-content: center; align-items: stretch; flex-wrap: wrap;}

  .business-title { width: 100%; margin: 0 0 4vw 0; text-align: center;}
  .business-title span.en { font-size: 1.8vw; font-weight: 600; line-height: 1.8vw;}
  .business-title span.cn { font-size: 2.2vw; font-weight: 600; line-height: 2.2vw;}

  .business-ideas-item { width: 18vw; padding: 0 0 3vw 0; margin: 0 1vw; border-radius: 2.6vw; background-color: #fff; overflow: hidden;}
  .business-ideas-item .pic { width: 100%; height: auto;}
  .business-ideas-item .pic img { width: 100%; height: auto;}
  .business-ideas-item .title { width: 80%; padding: 0 0 1vw 0; margin: -0.5vw auto 0 auto; color: #0062b0; font-size: 1.8vw; font-weight: 600; line-height: 2vw; text-align: center;}
  .business-ideas-item .text { width: 80%; padding: 1vw 0 0 0; margin: 0 auto; font-size: 1.2vw; font-weight: 500; line-height: 2vw; text-align: center; border-top: 1px #ccc solid;}


  /************ section #ESG ************/

  section#ESG { clear: both; width: 100%; padding: 100px 80px; box-sizing: border-box;}

  .ESG-title { width: 100%; margin: 0 0 4vw 0; text-align: center;}
  .ESG-title span.en { font-size: 1.8vw; font-weight: 600; line-height: 1.8vw;}
  .ESG-title span.cn { font-size: 2.2vw; font-weight: 600; line-height: 2.2vw;}

  .ESG-text-con { clear: both; width: 55%; margin: 0 auto 4vw auto; font-size: 1.2vw; line-height: 2vw;}

  .ESG-items-full { clear: both; width: 100%; display: flex; justify-content: center; align-items: center;}
  .ESG-items-full .item-box { width: 22.5vw; height: 22.5vw; margin: 0 1vw; border: 2vw #0062b0 solid; box-sizing: border-box; border-radius: 100%; overflow: hidden; background-color: #0062b0;}
  .ESG-items-full .item-box .icon { width: 100%; color: #fff; font-size: 4vw; text-align: center; background-color: #0062b0;}
  .ESG-items-full .item-box .title { width: 100%; padding: 0 0 0.5vw 0; color: #fff; font-size: 1.7vw; font-weight: 500; text-align: center; background-color: #0062b0;}
  .ESG-items-full .item-box .list { width: 100%; padding: 1vw 0 2.5vw 0; margin: 0 auto; color: #0062b0; font-size: 1.4vw; line-height: 2.2vw; text-align: center; box-sizing: border-box; background-color: #fff;}

  .more-bt { clear: both; width: 14vw; margin: 4vw auto 0 auto;}
  .more-bt a { width: 100%; padding: 0.5vw 0; color: #0062b0; font-size: 1.2vw; text-align: center; text-decoration: none; border: 2px #0062b0 solid; border-radius: 2vw; background-color: #fff; display: block;}
  .more-bt a:hover { color: #fff; background-color: #0062b0;}


  section#ESG-content { width: 100%; padding: 0 40px; box-sizing: border-box;}
  
  .ESG-con-title { width: 100%; margin: 0 0 40px 0; font-size: 2.2rem; font-weight: 600; text-align: center;}
  
  .ESG-con-text { width: 100%; font-size: 1.1rem; line-height: 1.8em;}

  img.fancybox-bottom, img.fancybox-top { clear: both; width: 100%; height: auto;}


  /************ section #security ************/

  section#security { clear: both; width: 100%; display: flex; justify-content: flex-start; align-items: stretch;}

  .security-list-column { width: 50%; padding: 100px 3vw 100px calc(40px + 3vw); box-sizing: border-box; background-color: #eee;}
  .security-list-column .title { width: 100%; margin: 0 0 4vw 0;}
  .security-list-column .title span.en { font-size: 1.8vw; font-weight: 600; line-height: 1.8vw;}
  .security-list-column .title span.cn { font-size: 2.2vw; font-weight: 600; line-height: 2.2vw;}
  .security-list-column .text-con { clear: both; width: 100%; font-size: 1.2vw; line-height: 1.8vw;}
  .security-list-column .text-con ul { width: 100%; padding: 0 0 0 1.5vw; margin: 0; box-sizing: border-box; list-style: disc; display: block;}
  .security-list-column .text-con ul li { padding: 0; margin: 1vw 0 0 0;}

  .more-bt-2 { clear: both; width: 14vw; margin: 4vw 0 0 0;}
  .more-bt-2 a { width: 100%; padding: 0.5vw 0; color: #0062b0; font-size: 1.2vw; text-align: center; text-decoration: none; border: 2px #0062b0 solid; border-radius: 2vw; background-color: #fff; display: block;}
  .more-bt-2 a:hover { color: #fff; background-color: #0062b0;}

  .security-pic-column { width: 50%; background-image: url("../images/security_pic.jpg"); background-repeat: no-repeat; background-size: auto 100%; background-position: center top;}
  img.security-pic-mo { display: none;}


  /************ section #products ************/

  section#products { clear: both; width: 100%; padding: 100px 80px; box-sizing: border-box; background-image: url("../images/products_bg.jpg"); background-repeat: no-repeat; background-size: 100% auto; background-position: left bottom;}

  .products-title { width: 100%; margin: 0 0 4vw 0; text-align: center;}
  .products-title span.en { font-size: 1.8vw; font-weight: 600; line-height: 1.8vw;}
  .products-title span.cn { font-size: 2.2vw; font-weight: 600; line-height: 2.2vw;}

  .products-text-con { clear: both; width: 30%; margin: 0 auto 4vw auto; font-size: 1.2vw; line-height: 2vw; text-align: center;}

  .products-list-full { clear: both; width: 100%; display: flex; justify-content: center; align-items: stretch; flex-wrap: wrap;}
  .products-list-full .list-box { width: 35vw; padding: 2vw 2vw 0 2vw; margin: 0 1vw 2vw 1vw; background-color: #2ca6e0; box-sizing: border-box; display: flex; justify-content: flex-start; align-items: center;}
  .products-list-full .list-box .icon { width: 10vw; height: 10vw; color: #2ca6e0; font-size: 5vw; border-radius: 100%; background-color: #fff; overflow: hidden; display: flex; justify-content: center; align-items: center;}
  .products-list-full .list-box .content { width: calc(100% - 10vw); padding: 0 0 0 2vw; box-sizing: border-box;}
  .products-list-full .list-box .content .title { width: 100%; padding: 0.5vw 1vw; color: #2ca6e0; font-size: 1.4vw; font-weight: 500; border-radius: 1vw; background-color: #fff; box-sizing: border-box;}
  .products-list-full .list-box .content .list-box { width: 100%; color: #fff; font-size: 1.2vw; display: flex; justify-content: flex-start; align-items: flex-start; flex-wrap: wrap;}
  .products-list-full .list-box .content .list-box .icon-bx { width: 1.5vw; margin: 0.3vw 0;}
  .products-list-full .list-box .content .list-box .list { width: calc(100% - 1.5vw); margin: 0.3vw 0;}


  /************ section #contact ************/

  section#contact { clear: both; width: 100%; padding: 100px 40px; box-sizing: border-box; background-image: url("../images/contact_bg.jpg"); background-repeat: no-repeat; background-size: 100% auto; background-position: center center;}

  .contact-title { width: 100%; text-align: center;}
  .contact-title span.en { font-size: 1.8vw; font-weight: 600; line-height: 1.8vw;}
  .contact-title span.cn { font-size: 2.2vw; font-weight: 600; line-height: 2.2vw;}

  hr.line { width: 100%; margin: 2vw auto; border: 1px #2ca6e0 solid;}

  .contact-content { width: 80vw; padding: 2vw 14vw; margin: 0 auto; box-sizing: border-box; background-color: rgba(255,255,255,0.8); display: flex; justify-content: center; align-items: flex-start; flex-wrap: wrap;}
  .contact-content .title-name { width: 100%; margin: 0 0 2vw 0; font-size: 1.4vw; font-weight: 600; text-align: center;}
  .contact-content .column-left { width: 40%; font-size: 1vw; font-weight: 500; line-height: 2vw;}
  .contact-content .column-right { width: 60%; font-size: 1vw; font-weight: 500; line-height: 2vw;}
  .contact-content .column-right .column-full { width: 100%; display: flex; justify-content: flex-start; align-items: flex-start;}
  .contact-content .column-right .column-full .caption { width: 6vw;}
  .contact-content .column-right .column-full .column { width: calc(100% - 6vw); word-wrap: break-word; word-break: normal;}


  /************ footer ************/

  footer { clear: both; width: 100%; padding: 2vw 4vw; box-sizing: border-box; background-color: #0062b0;}

  .copyright-mo { display: none;}
  .copyright { width: 100%; color: #fff; font-size: 0.8vw; text-align: center;}


}

@media screen and (min-width: 768px) and (max-width: 1023px) {

  /************ header + nav ************/

  header { width: 100%; height: 80px; padding: 0 40px; box-sizing: border-box; background-color: rgba(255,255,255,0.8); display: flex; justify-content: flex-start; align-items: center; position: fixed; top: 0; left: 0; z-index: 999;}

  .logo-box { width: 240px;}
  .logo-box img { width: 200px; height: auto;}

  nav#pc { display: none;}
  nav#mo { clear: both; width: calc(100% - 240px);}
  nav#mo .nav-icon { width: 50px; color: #0062b0; font-size: 2.2rem; text-align: right; float: right;}
  nav#mo ul.menu-nav { width: 100%; padding: 40px 80px; margin: 0; list-style: none; box-sizing: border-box; background-color: #2ca6e0; display: none; position: absolute; top: 80px; left: 0; z-index: 9999;}
  nav#mo ul.menu-nav li { padding: 0; margin: 0;}
  nav#mo ul.menu-nav li a { padding: 10px; color: #0062b0; font-size: 1.1rem; font-weight: 500; text-decoration: none; display: block;}
  nav#mo ul.menu-nav li a:hover { color: #fff;}


  /************ banner ************/

  .banner-box { clear: both; width: 100%; max-height: 100%; overflow: hidden; position: relative; z-index: 1;}

  img.header-banner { width: 100%; height: auto; position: relative; z-index: 1;}
  img.header-banner-illu { width: 100%; height: auto; position: absolute; top: 0; left: 0; z-index: 2;}

  .banner-box .title-box { width: 100%; height: 100%; padding: 80px 0 0 0; box-sizing: border-box; display: flex; justify-content: center; align-items: center; position: absolute; top: 0; left: 0; z-index: 3;}
  .banner-box .title-box img { width: 38vw; height: auto;}


  /************ section #about ************/

  section#about { clear: both; width: 100%; padding: 100px 40px; box-sizing: border-box; display: flex; justify-content: flex-start; align-items: center;}

  .about-column-title { width: 24vw; position: relative;}
  .about-column-title img.title-illu { width: 100%; height: auto; position: relative; z-index: 1;}
  .about-column-title .title-box { width: 10vw; position: absolute; top: 10vw; left: 7.5vw; z-index: 2;}
  .about-column-title .title-box span.en { font-size: 1.8vw; font-weight: 600; line-height: 1.8vw;}
  .about-column-title .title-box span.cn { font-size: 2.2vw; font-weight: 600; line-height: 2.2vw;}

  .about-column-text { width: calc(100% - 48vw); padding: 0 2.5vw; font-size: 1.2vw; line-height: 2.2vw; box-sizing: border-box;}
  .about-column-text .iso-text { clear: both; width: 100%; font-size: 1.6vw; font-weight: 700; font-family: 'Noto Serif TC', serif; text-align: center;}
  .about-column-text .iso-text-mo { display: none;}

  .about-column-pic { width: 24vw;}
  .about-column-pic .pic-box { width: 22.5vw; height: 22.5vw; margin: 0 0 0 1vw; border-radius: 100%; background-color: #0062b0; overflow: hidden; display: flex; justify-content: center; align-items: center;}
  .about-column-pic .pic-box img { width: auto; height: 100%;}


  /************ section #business ************/

  section#business { clear: both; width: 100%; padding: 100px 40px; box-sizing: border-box; background-color: #eee; display: flex; justify-content: center; align-items: stretch; flex-wrap: wrap;}

  .business-title { width: 100%; margin: 0 0 4vw 0; text-align: center;}
  .business-title span.en { font-size: 1.8vw; font-weight: 600; line-height: 1.8vw;}
  .business-title span.cn { font-size: 2.2vw; font-weight: 600; line-height: 2.2vw;}

  .business-ideas-item { width: 18vw; padding: 0 0 3vw 0; margin: 0 1vw; border-radius: 2.6vw; background-color: #fff; overflow: hidden;}
  .business-ideas-item .pic { width: 100%; height: auto;}
  .business-ideas-item .pic img { width: 100%; height: auto;}
  .business-ideas-item .title { width: 80%; padding: 0 0 1vw 0; margin: -0.5vw auto 0 auto; color: #0062b0; font-size: 1.8vw; font-weight: 600; line-height: 2vw; text-align: center;}
  .business-ideas-item .text { width: 80%; padding: 1vw 0 0 0; margin: 0 auto; font-size: 1.2vw; font-weight: 500; line-height: 2vw; text-align: center; border-top: 1px #ccc solid;}


  /************ section #ESG ************/

  section#ESG { clear: both; width: 100%; padding: 100px 40px; box-sizing: border-box;}

  .ESG-title { width: 100%; margin: 0 0 4vw 0; text-align: center;}
  .ESG-title span.en { font-size: 1.8vw; font-weight: 600; line-height: 1.8vw;}
  .ESG-title span.cn { font-size: 2.2vw; font-weight: 600; line-height: 2.2vw;}

  .ESG-text-con { clear: both; width: 55%; margin: 0 auto 4vw auto; font-size: 1.2vw; line-height: 2vw;}

  .ESG-items-full { clear: both; width: 100%; display: flex; justify-content: center; align-items: center;}
  .ESG-items-full .item-box { width: 22.5vw; height: 22.5vw; margin: 0 1vw; border: 2vw #0062b0 solid; box-sizing: border-box; border-radius: 100%; overflow: hidden; background-color: #0062b0;}
  .ESG-items-full .item-box .icon { width: 100%; color: #fff; font-size: 4vw; text-align: center; background-color: #0062b0;}
  .ESG-items-full .item-box .title { width: 100%; padding: 0 0 0.5vw 0; color: #fff; font-size: 1.7vw; font-weight: 500; text-align: center; background-color: #0062b0;}
  .ESG-items-full .item-box .list { width: 100%; padding: 1vw 0 2.5vw 0; margin: 0 auto; color: #0062b0; font-size: 1.4vw; line-height: 2.2vw; text-align: center; box-sizing: border-box; background-color: #fff;}

  .more-bt { clear: both; width: 14vw; margin: 4vw auto 0 auto;}
  .more-bt a { width: 100%; padding: 0.5vw 0; color: #0062b0; font-size: 1.2vw; text-align: center; text-decoration: none; border: 2px #0062b0 solid; border-radius: 2vw; background-color: #fff; display: block;}
  .more-bt a:hover { color: #fff; background-color: #0062b0;}


  section#ESG-content { width: 100%; padding: 0 40px; box-sizing: border-box;}
  
  .ESG-con-title { width: 100%; margin: 0 0 40px 0; font-size: 2.2rem; font-weight: 600; text-align: center;}

  .ESG-con-text { width: 100%; font-size: 1.1rem; line-height: 1.8em;}

  img.fancybox-bottom, img.fancybox-top { clear: both; width: 100%; height: auto;}


  /************ section #security ************/

  section#security { clear: both; width: 100%; display: flex; justify-content: flex-start; align-items: stretch;}

  .security-list-column { width: 50%; padding: 100px 3vw 100px 40px; box-sizing: border-box; background-color: #eee;}
  .security-list-column .title { width: 100%; margin: 0 0 4vw 0;}
  .security-list-column .title span.en { font-size: 1.8vw; font-weight: 600; line-height: 1.8vw;}
  .security-list-column .title span.cn { font-size: 2.2vw; font-weight: 600; line-height: 2.2vw;}
  .security-list-column .text-con { clear: both; width: 100%; font-size: 1.2vw; line-height: 1.8vw;}
  .security-list-column .text-con ul { width: 100%; padding: 0 0 0 1.5vw; margin: 0; box-sizing: border-box; list-style: disc; display: block;}
  .security-list-column .text-con ul li { padding: 0; margin: 1vw 0 0 0;}

  .more-bt-2 { clear: both; width: 14vw; margin: 4vw 0 0 0;}
  .more-bt-2 a { width: 100%; padding: 0.5vw 0; color: #0062b0; font-size: 1.2vw; text-align: center; text-decoration: none; border: 2px #0062b0 solid; border-radius: 2vw; background-color: #fff; display: block;}
  .more-bt-2 a:hover { color: #fff; background-color: #0062b0;}

  .security-pic-column { width: 50%; background-image: url("../images/security_pic.jpg"); background-repeat: no-repeat; background-size: auto 100%; background-position: center top;}
  img.security-pic-mo { display: none;}


  /************ section #products ************/

  section#products { clear: both; width: 100%; padding: 100px 40px; box-sizing: border-box; background-image: url("../images/products_bg.jpg"); background-repeat: no-repeat; background-size: 100% auto; background-position: left bottom;}

  .products-title { width: 100%; margin: 0 0 4vw 0; text-align: center;}
  .products-title span.en { font-size: 1.8vw; font-weight: 600; line-height: 1.8vw;}
  .products-title span.cn { font-size: 2.2vw; font-weight: 600; line-height: 2.2vw;}

  .products-text-con { clear: both; width: 30%; margin: 0 auto 4vw auto; font-size: 1.2vw; line-height: 2vw; text-align: center;}

  .products-list-full { clear: both; width: 100%; display: flex; justify-content: center; align-items: stretch; flex-wrap: wrap;}
  .products-list-full .list-box { width: 40vw; padding: 2vw 2vw 0 2vw; margin: 0 1vw 2vw 1vw; background-color: #2ca6e0; box-sizing: border-box; display: flex; justify-content: flex-start; align-items: center;}
  .products-list-full .list-box .icon { width: 10vw; height: 10vw; color: #2ca6e0; font-size: 5vw; border-radius: 100%; background-color: #fff; overflow: hidden; display: flex; justify-content: center; align-items: center;}
  .products-list-full .list-box .content { width: calc(100% - 10vw); padding: 0 0 0 2vw; box-sizing: border-box;}
  .products-list-full .list-box .content .title { width: 100%; padding: 0.5vw 1vw; color: #2ca6e0; font-size: 1.4vw; font-weight: 500; border-radius: 1vw; background-color: #fff; box-sizing: border-box;}
  .products-list-full .list-box .content .list-box { width: 100%; color: #fff; font-size: 1.2vw; display: flex; justify-content: flex-start; align-items: flex-start; flex-wrap: wrap;}
  .products-list-full .list-box .content .list-box .icon-bx { width: 1.5vw; margin: 0.3vw 0;}
  .products-list-full .list-box .content .list-box .list { width: calc(100% - 1.5vw); margin: 0.3vw 0;}


  /************ section #contact ************/

  section#contact { clear: both; width: 100%; padding: 100px 40px; box-sizing: border-box; background-image: url("../images/contact_bg.jpg"); background-repeat: no-repeat; background-size: cover; background-position: center center;}

  .contact-title { width: 100%; text-align: center;}
  .contact-title span.en { font-size: 1.8vw; font-weight: 600; line-height: 1.8vw;}
  .contact-title span.cn { font-size: 2.2vw; font-weight: 600; line-height: 2.2vw;}

  hr.line { width: 100%; margin: 2vw auto; border: 1px #2ca6e0 solid;}

  .contact-content { width: 80vw; padding: 2vw 10vw; margin: 0 auto; box-sizing: border-box; background-color: rgba(255,255,255,0.8); display: flex; justify-content: center; align-items: flex-start; flex-wrap: wrap;}
  .contact-content .title-name { width: 100%; margin: 0 0 2vw 0; font-size: 1.4vw; font-weight: 600; text-align: center;}
  .contact-content .column-left { width: 45%; font-size: 1vw; font-weight: 500; line-height: 2vw;}
  .contact-content .column-right { width: 55%; font-size: 1vw; font-weight: 500; line-height: 2vw;}
  .contact-content .column-right .column-full { width: 100%; display: flex; justify-content: flex-start; align-items: flex-start;}
  .contact-content .column-right .column-full .caption { width: 8vw;}
  .contact-content .column-right .column-full .column { width: calc(100% - 8vw); word-wrap: break-word; word-break: normal;}


  /************ footer ************/

  footer { clear: both; width: 100%; padding: 2vw 4vw; box-sizing: border-box; background-color: #0062b0;}

  .copyright-mo { display: none;}
  .copyright { width: 100%; color: #fff; font-size: 0.8vw; text-align: center;}


}

@media screen and (max-width: 767px) {

  /************ header + nav ************/

  header { width: 100%; height: 80px; padding: 0 20px; box-sizing: border-box; background-color: rgba(255,255,255,0.8); display: flex; justify-content: flex-start; align-items: center; position: fixed; top: 0; left: 0; z-index: 999;}

  .logo-box { width: 240px;}
  .logo-box img { width: 200px; height: auto;}

  nav#pc { display: none;}
  nav#mo { clear: both; width: calc(100% - 240px);}
  nav#mo .nav-icon { width: 50px; color: #0062b0; font-size: 2.2rem; text-align: right; float: right;}
  nav#mo ul.menu-nav { width: 100%; padding: 40px 80px; margin: 0; list-style: none; box-sizing: border-box; background-color: #2ca6e0; display: none; position: absolute; top: 80px; left: 0; z-index: 9999;}
  nav#mo ul.menu-nav li { padding: 0; margin: 0;}
  nav#mo ul.menu-nav li a { padding: 10px; color: #0062b0; font-size: 1.2rem; font-weight: 500; text-decoration: none; display: block;}
  nav#mo ul.menu-nav li a:hover { color: #fff;}


  /************ banner ************/

  .banner-box { clear: both; width: 100%; max-height: 100%; overflow: hidden; position: relative; z-index: 1;}

  img.header-banner { width: 240%; height: auto; margin: 0 0 0 -70%; position: relative; z-index: 1;}
  img.header-banner-illu { width: 200%; height: auto; position: absolute; top: 80px; left: -50%; z-index: 2;}

  .banner-box .title-box { width: 100%; height: 100%; padding: 30px 0 0 0; box-sizing: border-box; display: flex; justify-content: center; align-items: center; position: absolute; top: 0; left: 0; z-index: 3;}
  .banner-box .title-box img { width: 80%; height: auto; margin: 0 auto;}


  /************ section #about ************/

  section#about { clear: both; width: 100%; padding: 100px 20px; box-sizing: border-box;}

  .about-column-title { width: 320px; margin: 0 auto; position: relative;}
  .about-column-title img.title-illu { width: 100%; height: auto; position: relative; z-index: 1;}
  .about-column-title .title-box { width: 200px; position: absolute; top: 120px; left: 85px; z-index: 2;}
  .about-column-title .title-box span.en { font-size: 1.8rem; font-weight: 600; line-height: 1.2em;}
  .about-column-title .title-box span.cn { font-size: 2.2rem; font-weight: 600; line-height: 1.2em;}

  .about-column-text { width: 100%; padding: 40px 0; font-size: 1.2rem; line-height: 2.2em; box-sizing: border-box;}
  .about-column-text .iso-text { display: none;}
  .about-column-text .iso-text-mo { clear: both; width: 100%; font-size: 1.7rem; font-weight: 700; font-family: 'Noto Serif TC', serif; text-align: center;}

  .about-column-pic { width: 320px; margin: 0 auto;}
  .about-column-pic .pic-box { width: 320px; height: 320px; border-radius: 100%; background-color: #0062b0; overflow: hidden; display: flex; justify-content: center; align-items: center;}
  .about-column-pic .pic-box img { width: auto; height: 100%;}


  /************ section #business ************/

  section#business { clear: both; width: 100%; padding: 100px 20px; box-sizing: border-box; background-color: #eee; display: flex; justify-content: center; align-items: stretch; flex-wrap: wrap;}

  .business-title { width: 100%; margin: 0 0 40px 0; text-align: center;}
  .business-title span.en { font-size: 1.8rem; font-weight: 600; line-height: 1.2em;}
  .business-title span.cn { font-size: 2.2rem; font-weight: 600; line-height: 1.2em;}

  .business-ideas-item { width: 80%; padding: 0 0 20px 0; margin: 20px auto; border-radius: 30px; background-color: #fff; overflow: hidden;}
  .business-ideas-item .pic { width: 100%; height: auto;}
  .business-ideas-item .pic img { width: 100%; height: auto;}
  .business-ideas-item .title { width: 80%; padding: 0 0 15px 0; margin: -15px auto 0 auto; color: #0062b0; font-size: 1.8rem; font-weight: 600; line-height: 1.2em; text-align: center;}
  .business-ideas-item .text { width: 80%; padding: 15px 0 0 0; margin: 0 auto; font-size: 1.2rem; font-weight: 500; line-height: 1.8em; text-align: center; border-top: 1px #ccc solid;}


  /************ section #ESG ************/

  section#ESG { clear: both; width: 100%; padding: 100px 20px; box-sizing: border-box;}

  .ESG-title { width: 100%; margin: 0 0 60px 0; text-align: center;}
  .ESG-title span.en { font-size: 1.8rem; font-weight: 600; line-height: 1.2em;}
  .ESG-title span.cn { font-size: 2.2rem; font-weight: 600; line-height: 1.2em;}

  .ESG-text-con { clear: both; width: 100%; margin: 0 auto 40px auto; font-size: 1.2rem; line-height: 2em;}

  .ESG-items-full { clear: both; width: 100%;}
  .ESG-items-full .item-box { width: 300px; height: 300px; margin: 20px auto; border: 20px #0062b0 solid; box-sizing: border-box; border-radius: 100%; overflow: hidden; background-color: #0062b0;}
  .ESG-items-full .item-box .icon { width: 100%; color: #fff; font-size: 3rem; text-align: center; background-color: #0062b0;}
  .ESG-items-full .item-box .title { width: 100%; padding: 0 0 10px 0; color: #fff; font-size: 1.4rem; font-weight: 500; text-align: center; background-color: #0062b0;}
  .ESG-items-full .item-box .list { width: 100%; padding: 10px 0 40px 0; margin: 0 auto; color: #0062b0; font-size: 1.2rem; line-height: 1.8em; text-align: center; box-sizing: border-box; background-color: #fff;}

  .more-bt { clear: both; width: 260px; margin: 60px auto 0 auto;}
  .more-bt a { width: 100%; padding: 10px 0; color: #0062b0; font-size: 1.2rem; text-align: center; text-decoration: none; border: 2px #0062b0 solid; border-radius: 26px; background-color: #fff; display: block;}
  .more-bt a:hover { color: #fff; background-color: #0062b0;}


  section#ESG-content { width: 100%; padding: 0 20px; box-sizing: border-box; overflow: hidden;}
  
  .ESG-con-title { width: 100%; margin: 0 0 40px 0; font-size: 1.8rem; font-weight: 600; text-align: center;}

  .ESG-con-text { width: 100%; font-size: 1rem; line-height: 1.6em;}

  img.fancybox-bottom, img.fancybox-top { clear: both; width: 200%; height: auto; margin: 0 0 0 -50%;}


  /************ section #security ************/

  section#security { clear: both; width: 100%;}

  .security-list-column { width: 100%; padding: 60px 20px 100px 20px; box-sizing: border-box; background-color: #eee;}
  .security-list-column .title { width: 100%; margin: 0 0 60px 0;}
  .security-list-column .title span.en { font-size: 1.8rem; font-weight: 600; line-height: 1.2em;}
  .security-list-column .title span.cn { font-size: 2.2rem; font-weight: 600; line-height: 1.2em;}
  .security-list-column .text-con { clear: both; width: 100%; font-size: 1.2rem; line-height: 1.8em;}
  .security-list-column .text-con ul { width: 100%; padding: 0 0 0 30px; margin: 0; box-sizing: border-box; list-style: disc; display: block;}
  .security-list-column .text-con ul li { padding: 0; margin: 20px 0 0 0;}

  .more-bt-2 { clear: both; width: 260px; margin: 60px auto 0 auto;}
  .more-bt-2 a { width: 100%; padding: 10px 0; color: #0062b0; font-size: 1.2rem; text-align: center; text-decoration: none; border: 2px #0062b0 solid; border-radius: 26px; background-color: #fff; display: block;}
  .more-bt-2 a:hover { color: #fff; background-color: #0062b0;}

  .security-pic-column { width: 100%;}
  img.security-pic-mo { width: 100%; height: auto;}


  /************ section #products ************/

  section#products { clear: both; width: 100%; padding: 100px 20px; box-sizing: border-box; background-image: url("../images/products_bg.jpg"); background-repeat: no-repeat; background-size: 300% auto; background-position: center bottom;}

  .products-title { width: 100%; margin: 0 0 60px 0; text-align: center;}
  .products-title span.en { font-size: 1.8rem; font-weight: 600; line-height: 1.2em;}
  .products-title span.cn { font-size: 2.2rem; font-weight: 600; line-height: 1.2em;}

  .products-text-con { clear: both; width: 100%; margin: 0 auto 60px auto; font-size: 1.2rem; line-height: 1.8em; text-align: center;}

  .products-list-full { clear: both; width: 90%; margin: 0 auto;}
  .products-list-full .list-box { width: 100%; padding: 30px 30px 10px 30px; margin: 0 auto 20px auto; background-color: #2ca6e0; box-sizing: border-box;}
  .products-list-full .list-box .icon { width: 100px; height: 100px; margin: 0 auto 20px auto; color: #2ca6e0; font-size: 3rem; border-radius: 100%; background-color: #fff; overflow: hidden; display: flex; justify-content: center; align-items: center;}
  .products-list-full .list-box .content { width: 100%;}
  .products-list-full .list-box .content .title { width: 100%; padding: 6px 10px; color: #2ca6e0; font-size: 1.2rem; font-weight: 500; text-align: center; border-radius: 20px; background-color: #fff; box-sizing: border-box;}
  .products-list-full .list-box .content .list-box { width: 100%; color: #fff; font-size: 1em; display: flex; justify-content: flex-start; align-items: flex-start; flex-wrap: wrap;}
  .products-list-full .list-box .content .list-box .icon-bx { width: 30px; margin: 5px 0;}
  .products-list-full .list-box .content .list-box .list { width: calc(100% - 30px); margin: 5px 0;}
  .products-list-full .list-box .content .list-box .icon-bx-0 { display: none;}
  .products-list-full .list-box .content .list-box .list-0 { display: none;}


  /************ section #contact ************/

  section#contact { clear: both; width: 100%; padding: 100px 20px; box-sizing: border-box; background-image: url("../images/contact_bg.jpg"); background-repeat: no-repeat; background-size: cover; background-position: center center;}

  .contact-title { width: 100%; text-align: center;}
  .contact-title span.en { font-size: 1.8rem; font-weight: 600; line-height: 1.2em;}
  .contact-title span.cn { font-size: 2.2rem; font-weight: 600; line-height: 1.2em;}

  hr.line { width: 100%; margin: 20px auto; border: 1px #2ca6e0 solid;}

  .contact-content { width: 100%; padding: 20px; box-sizing: border-box; background-color: rgba(255,255,255,0.8);}
  .contact-content .title-name { width: 100%; margin: 0 0 30px 0; font-size: 1.4rem; font-weight: 600; text-align: center;}
  .contact-content .column-left { width: 100%; font-size: 1rem; font-weight: 500; line-height: 1.8em;}
  .contact-content .column-right { width: 100%; font-size: 1rem; font-weight: 500; line-height: 1.8em;}
  .contact-content .column-right .column-full { width: 100%; display: flex; justify-content: flex-start; align-items: flex-start;}
  .contact-content .column-right .column-full .caption { width: 80px;}
  .contact-content .column-right .column-full .column { width: calc(100% - 80px); word-wrap: break-word; word-break: normal;}


  /************ footer ************/

  footer { clear: both; width: 100%; padding: 20px; box-sizing: border-box; background-color: #0062b0;}

  .copyright { display: none;}
  .copyright-mo { width: 100%; color: #fff; font-size: 0.8rem; text-align: center;}
  

}
