/*! HTML5 Boilerplate v7.3.0 | MIT License | https://html5boilerplate.com/ */

/* main.css 2.0.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */
/*@import url(https://fonts.googleapis.com/earlyaccess/notosanstc.css);*/
html {
  color: #222;
  font-size: 1em;
  line-height: 1.4;
  font-family: "Microsoft JhengHei", "微軟正黑體", Arial, Verdana, Helvetica, sans-serif; /*'Noto Sans TC';*/
  overflow-x: hidden;
}

.desktop{
  display: block;
}
.mobile{
  display: none;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

.container{
  max-width: 756px;
  display: block;
  padding: 0 5%;
}
.banner.container{
  padding: 0;
}
/*
 * Allow only vertical resizing of textareas.
 */

textarea {
  resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden {
  display: none !important;
}

/*
* Hide only visually, but have it available for screen readers:
* https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
*
* 1. For long content, line feeds are not interpreted as spaces and small width
*    causes content to wrap 1 word per line:
*    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
*/

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
* Extends the .sr-only class to allow the element
* to be focusable when navigated to via the keyboard:
* https://www.drupal.org/node/897638
*/

.sr-only.focusable:active,
.sr-only.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
* Hide visually and from screen readers, but maintain layout
*/

.invisible {
  visibility: hidden;
}

/*
* Clearfix: contain floats
*
* For modern browsers
* 1. The space content is one way to avoid an Opera bug when the
*    `contenteditable` attribute is included anywhere else in the document.
*    Otherwise it causes space to appear at the top and bottom of elements
*    that receive the `clearfix` class.
* 2. The use of `table` rather than `block` is only necessary if using
*    `:before` to contain the top-margins of child elements.
*/

.clearfix:before,
.clearfix:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}

.clearfix:after {
  clear: both;
}

img{
  max-width: 100%;
}
/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print,
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 1.25dppx),
  (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  /*
     * Printing Tables:
     * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
     */
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}

/* Create by BobKwan @ 20200418 */
body{
  color: #00377a;
  overflow-x: hidden;
}
.row .col{
  padding: 0 .25rem;
}
p{
  margin: 0;
}
.header{
  background: url(../img/bg_header.jpg) repeat;
  background-size: 100% auto;
  padding-top: 20px;
  padding-bottom: 5px;
}
  .header .logo{
    text-align: left;
    margin-bottom: 40px;
  }
  .header h1{
    font-size: 2rem;
    margin: 0;
    font-weight: 600;
    letter-spacing: 1px;
    text-align: center;
  }
  .header p{
    font-size: 1.2rem;
    margin-top: 5px;
    font-weight: 600;
    margin-bottom: 20px;
    letter-spacing: 3px;
    text-align: center;
  }
.content{
  background: url(../img/bg.jpg) no-repeat;
  background-size: 100% auto;
  position: relative;
  overflow-x: hidden;
}
  .menu{
    padding: 10px 0 20px;
  }
    .menu .row .col{
      padding: 0 0.4rem;
    }
  #promo{
  }
    #promo .container{
      position: relative;
      z-index: 2;
    }
    .bg_1{
      position: absolute;
      right: 0;
      top: 5%;
      width: 10%;
      z-index: 1;
    }
    .bg_2{
      position: absolute;
      left: 0;
      top: 19%;
      width: 8%;
      z-index: 3;
    }
    .bg_3{
      position: absolute;
      right: 0;
      top: 27%;
      width: 10%;
      z-index: 1;
    }
  .part1{
    margin-bottom: 20%;
  }
    .part1 p{
      font-size: 1.2rem;
      letter-spacing: 1px;
      line-height: 1.5;
    }
    .part1 .triangle{
      float: right;
      shape-outside: polygon(100% 50%, 50% 100%, 100% 100%);
      clip-path: polygon(100% 50%, 50% 100%, 100% 100%);
      height: 100px;
      width: 100%;
      display: none;
    }
  .part2{
    position: relative;
    z-index: 3;
  }
  .part2:before{
    content: "";
    display: block;
    background: url(../img/bg_promo_t.png) no-repeat;
    background-size: 100% 100%;
    height: 40px;
    width: 100%;
  }
  .part2:after{
    content: "";
    display: block;
    background: url(../img/bg_promo_b.png) no-repeat;
    background-size: 100% 100%;
    height: 40px;
    width: 100%;
  }
  .promo_con{
    background: url(../img/bg_promo.png) no-repeat;
    background-size: 100% 100%;
    position: relative;
  }
    .part2 .box_t{
      padding: 0 2rem 10px;
      position: relative;
      margin-bottom: 20px;
    }
      .box_t h2{
        color: #fff;
        font-size: min(2.6vw, 30px);
        letter-spacing: 1px;
        margin: 0;
        font-weight: bold;
      }
      .box_t img{
        position: absolute;
        width: 45%;
        bottom: -4vw;
        right: -10%;
        max-width: 280px;
      }
    .box_m{
      margin-left: 2rem;
      margin-right: 2rem;
      text-align: center;
    }
    .box_m.last{
      margin-bottom: 0;
    }
      .box_m .col{
        line-height: 1.2;
      }
      .box_m .col > span{
        display: inline-block;
        width: 45%;
        border-radius: 50%;
        overflow: hidden;
      }
        .box_m .col > span img{
          padding: 15%;
          background: #23a5df;
        }
      .box_m .col .box{
        background: #fff;
        border-radius: 10px;
        padding: 17% 1% 10px;
        margin-top: -15%;
      }
        .box > p{
          display: block;
          height: 40px;
        }
        .box_m_spe .box > p{
          height: 50px;
        }
        .box > b{
          color: #e60012;
          font-size: 1.3rem;
          margin-top: 5px;
          display: block;
          padding-bottom: 5px;
          line-height: 1;
        }
        .lv2 .box > b{
          margin-top: -19px;
        }
        .box_m_spe .lv2 .box > b{
          margin-top: -15px;
        }
    .box_m .s12 > p{
      color: #fff;
      letter-spacing: 1px;
      line-height: 1.7;
    }
      .box_m .s12 > p a{
        display: inline-block;
        margin-left: 3px;
      }
        .box_m .s12 > p a img{
          height: 36px; 
        }
    .box_m .s12 > p.note{
      text-align: justify;
      font-size: 0.8rem;
      line-height: 1.3;
      margin: 20px 0 50px;
    }
  .box_b{
    position: absolute;
    width: 265px;
    left: 50%;
    bottom: -60px;
    margin-left: -132.5px;
  }
    .box_b .btn_action{
      display: inline-block;
    }
      .box_b .btn_action img{
        width: 100%;
      }
  .case{
    margin-top: 60px;
    text-align: center;
  }
    .case_bg{
      max-width: 756px;
      width: 756px;
      position: relative;
      left: 50%;
      margin-left: -378px;
    }
    .btn_case{
      color: #1a4068;
      font-size: 1.2rem;
      display: inline-block;
    }
    .btn_case:before{
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 10px 0 10px 17.3px;
      border-color: transparent transparent transparent #1a4086;
      content: "";
      display: inline-block;
      margin-right: 5px;
    }
    .btn_case:after{
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 10px 17.3px 10px 0;
      border-color: transparent #1a4086 transparent transparent;
      content: "";
      display: inline-block;
      margin-left: 5px;
    }
    .case_box{
      margin-top: 20px;
      display: none;
    }
      .case_box thead{
        background: rgb(0,139,213);
        background: -moz-linear-gradient(90deg, rgba(0,139,213,1) 0%, rgba(0,67,142,1) 100%);
        background: -webkit-linear-gradient(90deg, rgba(0,139,213,1) 0%, rgba(0,67,142,1) 100%);
        background: linear-gradient(90deg, rgba(0,139,213,1) 0%, rgba(0,67,142,1) 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#008bd5",endColorstr="#00438e",GradientType=1);
        color: #fff;
      }
      .case_box tr{
        border-bottom: 0;
      }
        .case_box td, .case_box th{
          position: relative;
          font-weight: 400;
          border-radius: 0;
        }
        .case_box th.bigFont{
          font-size: 1.3rem;
        }
          .case_box th b{
            color: #90cef2;
          }
            .case_box th b span{
              font-size: 150%;
            }
          .case_box tbody tr:nth-child(2n){
            background: #90cef2;
          }
        .case_box th:after, .case_box td:after{
          background: #fff;
          content: "";
          display: inline-block;
          height: calc(100% - 30px);
          position: absolute;
          right: 0;
          bottom: 15px;
          width: 1px;
        }
        .case_box td:after{
          background: #bdd1e3;
        }
        .case_box td:last-child:after, .case_box th:last-child:after{
          display: none;
        }
      .case .note{
        font-size: 12px;
        color: #1d1d1b;
        text-align: left;
        margin-top: 10px;
      }
  #experience{
    padding: 0 0 28%;
    text-align: center;
    position: relative;
  }
    .part_bg{
      position: absolute; 
      width: 756px;
      max-width: 756px;
      bottom: -2%;
      left: 50%;
      margin-left: -378px;
      z-index: 1;
    }
    #experience .container{
      position: relative;
      z-index: 2;
    }
    .experience > div > img{
      width: 90%;
    }
    .experience_box{
      position: relative;
      padding: 30% 0 67% 20%;
    }
      .experience_box > img{
        position: relative;
        right: -34%;
      }
      .experience_box > div{
        position: absolute;
      }
        .exp_box{
          position: absolute;
          bottom: 0;
          left: 50%;
          width: 90%;
          transform: translateX(-50%); 
        }
          .exp_box h3{
            font-size: min(3vw,27px);
            color: #00528c;
            margin-bottom: 10px;
            font-weight: bold;
          }
          .exp_box ul{
            margin: 0 0 0 20px;
            display: inline-block;
          }
          .exp_box ul li{
            list-style: disc;
            font-size: min(2vw, 19px);
            text-align: left;
            color: #000;
          }
      .exp1{
        top: -14%;
        right: 0;
        width: 45%;
      }
        .exp1 .exp_box{
          bottom: 22%;
        }
      .exp2{
        top: 2%;
        left: 0;
        width: 64%;
      }
        .exp2 .exp_box{
          bottom: 8%;
          left: 10%;
          transform: translateX(0);
          width: 50%;
        }
      .exp3{
        bottom: 7%;
        left: 0;
        width: 55%;
      }
        .exp3 .exp_box{
          bottom: 8%;
          left: 10%;
          transform: translateX(0);
          width: 70%;
        }
      .exp4{
        bottom: 0;
        right: 0;
        width: 45%;
      }
        .exp4 .exp_box{
          bottom: 8%;
          width: 90%;
        }
          .exp4 .exp_box ul{
            width: 70%;
          }
          .exp4 .exp_box ul li{
            width: 50%;
            float: left;
          }
  #tips{

  }
    .tips_box{
      padding: 20px 11vw 0;
      background: url(../img/tip_box_m.png) repeat;
      background-size: 100% auto;
      font-size: 22px;
      margin-bottom: -20px;
      font-weight: bold;
    }
      .tips_box ul{
        margin: 0;
      }
        .tips_box li span{
          display: inline-block;
          background: #00528c;
          color: #fff;
          border-radius: 50%;
          padding: 3px 10px;
          font-size: 18px;
          margin-right: 5px;
        }
      .tips_box ul+p{
        margin-top: 10px;
      }
    .btn_spec{
      display: block;
      margin-top: 20px;
      border-bottom: 2px solid #1497c2;
      color: #000;
      padding-bottom: 5px;
    }
    .btn_spec:after{
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 10px 10px 0 10px;
      border-color: #1496c2 transparent transparent transparent;
      content: "";
      display: inline-block;
    }
    .btn_spec.actived:after{
      border-width: 0 10px 10px 10px;
      border-color: transparent transparent #1496c2  transparent;
    }
    .spec_box{
      display: none;
      color: #000;
      padding: 20px 5px;
      border-bottom: 2px solid #1497c2;
    }
      .spec_box p{
        margin-bottom: 10px;
      }
  #step{
    margin: 10% 0;
    text-align: center;
  }
    #step > div > img{
      width: 90%;
    }
    .step_box{
      margin: 4% 0 5%;
    }
      .step_box img{
        width: 90%;
        max-width: 200px;
        margin-bottom: 10px;
      }
      .step_box p{
        font-size: min(2vw, 20px);
      }
    .btn_flow img{
      width: 50%;
      max-width: 400px
    }
  .info{
    padding-bottom: 30px;
  }
    .info .row:not(.equalH) .s8{
      padding-left: 20px;
      font-size: min(2vw,20px);
    }
      .info .s8 img{
        display: inline-block;
        width: 25%;
        float: left;
        max-width: 100px;
        margin-right: 10px;
      }
      .info .s8 span{
        display: inline-block;
        margin-top: 1%;
        line-height: 1.3;
        font-weight: bold;
      }
    .info .s4{
    }
      .info .s4 a{
        display: inline-block;
        width: 47.8%;
        padding: 0 2%; 
      }
  .equalH{
    display: flex;
    margin-bottom: 0;
  }
    .info .m9{
      font-size: 14px;
      position: relative;
    }
      .info .m9 .wrap{
        position: absolute;
        bottom: 0;
        width: 100%;
        color: #000;
      }
    .info_txt{
      color: #000;
    }
      .info_txt p{
        font-weight: bold;
      }
      .info .m9 span{
        font-size: 90%;
        display: block;
        margin: 20px 0 10px;
      }
      .info .m9 b{
        display: block;
        font-size: 110%;
	color: #000;
      }
        .info .m9 b a{
          display: inline-block;
          margin-left: 10px;
          color: #000;
        }
.footer{
  background: rgb(0,139,213);
  background: -moz-linear-gradient(90deg, rgba(0,139,213,1) 0%, rgba(0,67,142,1) 100%);
  background: -webkit-linear-gradient(90deg, rgba(0,139,213,1) 0%, rgba(0,67,142,1) 100%);
  background: linear-gradient(90deg, rgba(0,139,213,1) 0%, rgba(0,67,142,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#008bd5",endColorstr="#00438e",GradientType=1);
  color: #fff;
  padding: 10px 0;
}
  .footer .row{
    margin: 0;
  }
    .footer .s8{
      line-height: 2.3;
      font-size: 12px;
    }
    .footer .s4{
      text-align: right;
    }
    .footer .s4 img{
      max-width: 180px;
      width: 100%;
    }

@media screen and (min-width: 1081px){
  .tips_box{
    padding-left: 100px;
    padding-right: 100px;
  }
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
     /* IE10+ CSS styles go here */
  .box_t h2{
    font-size: 30px;
  }
  .exp_box h3{
    font-size: 27px;
  }
}
@supports (-ms-ime-align: auto) {
  .box_t h2{
    font-size: 30px;
  }
  .exp_box h3{
    font-size: 27px;
  }
}
@media screen and (max-width: 756px){
  .container{
    width: 100%;
  }
  .case_bg{
    max-width: 110%;
    width: 110%;
    margin-left: -5%;
    left: 0;
  }
  .part_bg{
    max-width: 110%;
    width: 110%;
    left: -5%;
    margin-left: 0;
  }
}

@media screen and (max-width: 600px){
.desktop{
  display: none;
}
.mobile{
  display: block;
}
.content{
  background-size: 100% 100%;
}
  .menu .row .col{
    padding: 0 0.2rem;
  }
  .box_t h2{
    font-size: 5vw;
  }
  .box_m{
    margin-left: 1rem;
    margin-right: 1rem;
  }
    .box_m .col > span{
      width: 55%;
    }
    .box > p{
      height: 52px;
    }
    .box_m_spe .box > p{
      height: 72px;
    }
    .box > b{
      font-size: 1.1rem;
    }
  .exp1 .exp_box{
    bottom: 17%; 
  }
  .exp3 .exp_box{
    bottom: 2%;
  }
  .exp4 .exp_box{
    bottom: 5%;
  }
    .exp4 .exp_box ul{
      width: 75%;
    }
    .exp_box h3{
      font-size: 4vw;
    }
    .exp_box ul li{
      font-size: 3vw;
    }
  .tips_box{
    font-size: 20px;
    margin-bottom: -10px;
    padding-left: 8vw;
    padding-right: 8vw;
  }
    .tips_box > p{
      margin-bottom: 5px;
    }
    .tips_box li span{
      padding: 3px 9px;
      font-size: 16px;
    }
  .step_box p{
    font-size: 4vw;
  }
  .info .m9{
    font-size: 15px;
  }
  .info .m9 .wrap{
    position: relative;
    font-size: 13px;
  }
  .info .equalH .s4{
    position: relative;
  }
    .info .row:not(.equalH) .s8{
      padding-left: 0;
    }
      .info .s8 img{
        width: 30%;
      }
      .info .s8 span{
        font-size: 4vw;
      }
    .info .equalH .s4 img{
      position: absolute;
      bottom: 0;
    }
    .info_txt p{
      font-size: 13px;
    }
    .info .m9 b a{
      margin-left: 0;
    }
    .info .m9 span{
      font-size: 3vw;
    }
  .bg_1{
    width: 5%;
  }
  .box_b{
    width: 200px;
    margin-left: -100px;
  }
}

@media screen and (max-width: 400px){
  .box > b{
    font-size: 1rem;
  }
  .box_m_spe .box > p{
    height: 72px;
  }
  .lv2 .box > b{
    margin-top: -14px;
  }
  .info .m9 b{
    font-size: 100%;
  }
  .header .logo{
    width: 60%;
  }
  .header h1{
    font-size: 1.1rem;
  }
  .header p{
    font-size: 0.9rem;
    line-height: 1.2;
  }
  .part1 p{
    font-size: 1rem;
    text-align: justify;
  }
  .part2 .box_t{
    padding: 0 4.6rem 10px 1rem;
  }
  .box_m .s12 > p{
    line-height: 1.2;
    font-size: 14px;
  }
  .box_m_spe .lv2 .box > b{
    margin-top: -12px;
  }
  .box_m .s12 > p.note{
    margin-bottom: 20px;
  }
  .box_b{
    bottom: -45px;
  }
  .btn_case{
    line-height: 1.2;
    padding: 0 20px;
  }
  .case_box tr{
    font-size: 60%;
  }
    .case_box th.bigFont{
      font-size: 0.9rem;
    }
  .case .note{
    font-size: 10px;
  }
  .exp_box h3{
    font-size: 3.5vw;
  }
  .exp1 .exp_box{
    bottom: 10%;
  }
  .exp2 .exp_box{
    width: 55%;
  }
  .exp3 .exp_box{
    bottom: 5%;
    width: 85%;
    left: 5%;
  }
  .exp4 .exp_box ul{
    width: 100%;
  }
}
@media screen and (max-width: 320px){
  .box > p{
    font-size: 14px;
  }
  .box > b{
    font-size: 13px;
  }
  .info .s4 a{
    width: 46.9%;
  }
}