@charset "UTF-8";
/* Welcome to Compass.
 * In this file you should write your main styles. (or centralize your imports)
 * Import this file using the following HTML or equivalent:
 * <link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css" /> */
@font-face{font-family: 'Alegreya Sans', sans-serif;}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

/* 尚未開放================================================
$color-dsk-bg: $color-main; //選單背景顏色，預設為網站主配色
$color-dsk-font: #fff; //選單文字顏色，預設為白色
$color-dsk-active: #555;  //按下去的背景色
$color-dsk-border: rgba(255, 255, 255, 0.2); //選單線條顏色
*/
#nav-toggle {
  display: block;
  position: fixed;
  cursor: pointer;
  box-sizing: border-box;
  height: 50px;
  width: 50px;
  padding: 10px 35px 16px 5px;
  left: 5%;
  top: 15px;
  z-index: 900;
  /*background-color: #fff;*/
  -moz-transition: -moz-transform 0.3s;
  -o-transition: -o-transform 0.3s;
  -webkit-transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
}
#nav-toggle.show {
  transform: translateX(265px);
  -webkit-transform: translateX(265px);
  -moz-transform: translateX(265px);
}

#nav-toggle span,
#nav-toggle span:before,
#nav-toggle span:after {
  cursor: pointer;
  border-radius: 1px;
  height: 2px;
  width: 30px;
  background: white;
  position: absolute;
  display: block;
  content: '';
  text-indent: -9999px;
  background-color: #fff;
  transition: all 500ms ease-in-out;
}

#nav-toggle span:before {
  top: -7px;
}

#nav-toggle span:after {
  bottom: -7px;
}

html.show,
body.show {
  overflow: hidden;
}

#page {
  transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-webkit-transition: all 0.3s ease;
}
#page.show {
  transform: translateX(265px);
  -webkit-transform: translateX(265px);
  -moz-transform: translateX(265px);
}

#nav {
  position: fixed;
  left: -265px;
  top: 0;
  margin: 0;
  width: 265px;
  height: 100vh;
  -webkit-overflow-scrolling: touch;
  background-color: #4778BB;
  z-index: 1000;
  transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-webkit-transition: all 0.3s ease;
  overflow-y: auto;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#nav.show {
  transform: translateX(265px);
  -webkit-transform: translateX(265px);
  -moz-transform: translateX(265px);
}
#nav > ul {
  padding-bottom: 50px;
}
#nav > ul > li {
  width: 100%;
  margin: 0;
  text-align: left;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
#nav > ul > li > a,
#nav > ul > li > span {
  display: block;
  color: #fff;
  font-weight: normal;
  width: 92%;
  padding-left: 8%;
  line-height: 50px;
  height: 50px;
  margin-bottom: 0;
}
#nav > ul > li .submenu-wrap {
  display: none;
}
#nav > ul > li.nested {
  padding-top: 10px;
  padding-bottom: 10px;
}
#nav > ul > li > ul {
  display: block;
  margin-bottom: 0;
}
#nav > ul > li > ul > li {
  border: none;
}
#nav > ul > li > ul > li a,
#nav > ul > li > ul > li span {
  display: block;
  color: #fff;
  width: 84%;
  padding-left: 16%;
  line-height: 45px;
  height: 45px;
}

.hassub {
  display: none;
}

.mask {
  height: 100vh;
  width: 100vw;
  background-color: rgba(0, 0, 0, 0.7);
  position: fixed;
  z-index: 999;
  left: 0;
  top: 0;
}

/*
@include breakpoint($screen-tablet) {
    
    #nav > ul > li > a {
        height: $height-tablet-list;
        line-height: $height-tablet-list;

    }
}
*/
@media (min-width: 1280px) {
  #nav-toggle {
    display: none;
  }

  .hassub {
    display: block;
  }

  #nav {
    position: absolute;
    left: 0;
    top: 0;
    
    height: auto;
    width: 100%;
   
    overflow: hidden;
    transition: none;
    background-color: #fff;
    -moz-transition: height 0.3s ease-out;
    -o-transition: height 0.3s ease-out;
    -webkit-transition: height 0.3s ease-out;
    transition: height 0.3s ease-out;
    /*
    -webkit-overflow-scrolling: touch;
    background-color: $color-nav-bg;
    z-index: 9999;
    transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-webkit-transition: all 0.3s ease;
    overflow-y: auto
    */
  }
  #nav.hovershow {
    height: 300px;
  }
  #nav > ul {
    display: block;
    text-align: center;
    overflow: hidden;
    margin: 0 auto;
    padding: 0;
    height: auto;
    font-size: 0px;
    text-align:right;
    right:50%; margin:0 370px 0 0; 
    float: none;
  }
  #nav > ul > li {
    display: inline-block;
    text-align: center;
    width: auto;
    margin: 0;
    padding: 0;
    float: none;
    border: none;
    height: auto;
    vertical-align: top; 
    /*
    > ul {
        display: none;
        padding-bottom: 30px;
        visibility: hidden;
        position: absolute;
        left: 0;
        top: 70px;
        width: 100%;
        background-color: #fff;
        //@include background-image(linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.7) 100%));
        color: #999;
        > li {
            font-size: 1rem;
            color: #999;
        }
        > li > a {
            color: #999;
        }
    }
    */
  }
  #nav > ul > li.mobileshow {
    display: none;
  }
  #nav > ul > li > a {
    display: block;
    text-align: center;
    width: auto;
    height: 60px;
    line-height: 60px;
    margin: 0;
    padding-left: 70px ;
    color: #333;
    font-size: 1rem;
  }
  #nav > ul > li > a:last-of-type(1) {
    padding: 0 0 0 25px;
  }
  #nav > ul > li > a:hover {
    color: #333;
  }
  #nav > ul > li .submenu-wrap {
    display: block;
    padding-bottom: 30px;
    visibility: hidden;
    position: absolute;
    left: 0;
  }
  #nav > ul > li.hassub:hover > a {
    position: relative;
    background-color: #fff;
  }
  #nav > ul > li.hassub:hover > a:before {
    position: absolute;
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 6px 6px 6px;
    border-color: transparent transparent #C40300 transparent;
    left: 50%;
    bottom: 0;
    margin-left: -6px;
  }
  #nav > ul > li.hassub:hover > a:after {
    display: block;
    content: '';
    overflow: hidden;
    position: absolute;
    width: 140%;
    height: 40%;
    left: -20%;
    background-color: transparent;
    bottom: 0;
  }
  #nav > ul > li.hassub:hover:after {
    float: right;
    content: '';
    display: block;
    width: 10px;
    height: 250px;
  }
  #nav > ul > li.hassub:hover > .submenu-wrap {
    visibility: visible;
    background-color: #fff;
    width: 100%;
    height: 250px;
  }
  
  

  
}
/*---------------------------------*/
body * {
  font-family:'Alegreya Sans', sans-serif;
  line-height: 1.7em;
  font-size: 100%; 
}

body {
  background-color: #F3F3F3;color:#53555c;
}

h1,
h2 {
  font-size: 2rem;
  font-weight: bold;
}

h3,
h4,
h5,
h6 {
  font-size: 1.5rem;
  font-weight: bold;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
span {
  display: block;
  width: 100%;
  margin: 0 auto 0.5rem auto;
}

.subtitle {
  font-size: 1.25em;
}

.sub-p {
  display: block;
  overflow: hidden;
  margin-top: 1rem;
  font-size: 0.875rem;
}
.sub-p a {
  display: inline-block;
  width: auto;
  margin: 0 5px;
  border-bottom: 1px dotted #C40300;
  font-weight: bold;
}

.header {
  height: 50px;
  background-color: #C40300;
  position: absolute;
  z-index: 800;
  width: 100%;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.header.show {
  transform: translateX(265px);
  -webkit-transform: translateX(265px);
  -moz-transform: translateX(265px);
}

.logo {
  display: block;
  margin: 5px auto;
  background: #4778BB url("../img/svg/logo-m.svg") center center no-repeat;
  background-size: 100% auto;
  width: 140px;
  height: 40px;
}
.logo > a {
  text-indent: -9999px;
  display: block;
  width: 100%;
  height: 100%;
}

.footer {
  background-color: #F9F9F9;
}

a {
  color: #3B6EB6;
  text-decoration: none;
  -moz-transition: color 0.3s ease-out, opacity 0.3s ease-out;
  -o-transition: color 0.3s ease-out, opacity 0.3s ease-out;
  -webkit-transition: color 0.3s ease-out, opacity 0.3s ease-out;
  transition: color 0.3s ease-out, opacity 0.3s ease-out;
}
a.more {
  border: 2px solid #C40300;
  display: inline-block;
  padding: 0.5rem 1.5rem;
  width: auto;
  margin: 1rem 0;
}

a:hover,
a:active,
a:focus {
  color: #5EC1E8;
}

/*這個設定會讓 desktop ,mobile 操作體驗效果一致*/
/*=== GLOBAL SYSTEM ======================*/
.wrap,
.wrap-s,
.wrap-fs,
.wrap-fs-p {
  display: block;
  overflow: hidden;
  background-size: cover;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.wrap-fs {
  background-color: #fff;
}

.wrap-fs.header {
  background-color: #4778BB;
}

/*=== LAYOUT SYSTEM ======================*/
.head-padding {
  padding-top: 5vh;
}

.middle {
  display: inline-block;
  vertical-align: middle;
}
.middle span, .middle div {
  display: inline-block;
  vertical-align: middle;
}
.middle:before {
  content: "";
  height: 100%;
  display: inline-block;
  vertical-align: middle;
}

/*命名尚未整理*/
.center-title > h1,
.center-title > h2,
.center-title > h3,
.center-title > h4,
.center-title > h5,
.center-title > h6 {
  text-align: center;
}

.text-center * {
  text-align: center;
}

/*命名尚未整理 title-line? or line-title */
.line-title {
  display: block;
  text-align: center;
  font-size: 1rem;
  font-weight: normal;
  margin: 2rem auto;
}
.line-title span {
  display: inline-block;
  width: 30%;
  min-width: 80px;
  vertical-align: middle;
}
.line-title:before, .line-title:after {
  content: "";
  display: inline-block;
  height: 1px;
  width: 35%;
  background-color: #eee;
  vertical-align: middle;
}

/*命名尚未整理 title-line? or line-title 
有英文副標的主標
<h2>
    <span>中文主標</span>
    <span class="sub">English subtitle</span>
</h2>

*/
.edit h2 .engsub,
.edit h3 .engsub,
.edit h4 .engsub,
.edit h5 .engsub,
.edit h6 .engsub {
  font-size: 0.875rem;
  padding: 0;
  font-weight: lighter;
  margin: 0;
  color: #284193;
}

.col-1 {
  width: 100%;
}

.col-2,
.col-2-p,
.col-3,
.col-3-p,
.col-4,
.col-4-p,
.col-5,
.col-5-p,
.col-f,
.col-f-p {
  display: block;
  width: 50%;
  float: left;
}
.col-2 *,
.col-2-p *,
.col-3 *,
.col-3-p *,
.col-4 *,
.col-4-p *,
.col-5 *,
.col-5-p *,
.col-f *,
.col-f-p * {
  display: block;
  width: 90%;
  margin: 0 auto;
}
.col-2 > img,
.col-2-p > img,
.col-3 > img,
.col-3-p > img,
.col-4 > img,
.col-4-p > img,
.col-5 > img,
.col-5-p > img,
.col-f > img,
.col-f-p > img {
  display: block;
  width: 100%;
  height: auto;
}

.fs {
  width: 100%;
}

.imgblock {
  display: block;
  width: 100%;
  height: auto;
}

/*=== EDITOR ======================*/
.edit * {
  background-color: rgba(0, 0, 0, 0.15);
}
.edit h1, .edit h2, .edit h3, .edit h4, .edit h5, .edit h6 {
  margin-bottom: 2rem;
}
.edit p {
  display: block;
  width: 90%;
  margin: 0 auto;
  padding-bottom: 1rem;
}
.edit blockquote {
  width: 90%;
  display: block;
  margin: 0 auto;
}
.edit blockquote > p {
  font-size: 1.5rem;
  font-weight: lighter;
  width: 100%;
}
.edit img {
  display: block;
  width: 100%;
  height: auto;
}

.gradient-b {
  background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjcyJSIgc3RvcC1jb2xvcj0iIzBhMGEwYSIgc3RvcC1vcGFjaXR5PSIwLjciLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwYTBhMGEiIHN0b3Atb3BhY2l0eT0iMC44NSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
  background-size: 100%;
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(72%, rgba(10, 10, 10, 0.7)), color-stop(100%, rgba(10, 10, 10, 0.85)));
  background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(10, 10, 10, 0.7) 72%, rgba(10, 10, 10, 0.85) 100%);
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(10, 10, 10, 0.7) 72%, rgba(10, 10, 10, 0.85) 100%);
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(10, 10, 10, 0.7) 72%, rgba(10, 10, 10, 0.85) 100%);
}

@media (min-width: 480px) and (max-width: 680px) {
  .col-f {
    width: 50%;
  }
}
@media (min-width: 680px) {
  .col-1 *,
  .col-2 *,
  .col-2-p *,
  .col-3 *,
  .col-3-p *,
  .col-4 *,
  .col-4-p *,
  .col-5 *,
  .col-5-p *,
  .col-f *,
  .col-f-p * {
    width: 100%;
  }

  .col-2 {
    width: 50%;
  }

  .col-2-p {
    width: 49%;
    margin-left: 2%;
  }

  .col-3-p, .col-4-p {
    width: 31.33%;
    margin-left: 3%;
  }

  .col-2-p:nth-of-type(2n+1),
  .col-3-p:nth-of-type(3n+1),
  .col-4-p:nth-of-type(3n+1) {
    margin-left: 0;
  }

  h1,
  h2 {
    font-size: 2.25rem;
  }

  h3,
  h4,
  h5,
  h6 {
    font-size: 1.375rem;
    font-weight: bold;
  }

  .wrap-fs-p {
    box-sizing: border-box;
    width: 100%;
    padding: 0 5%;
  }

  .wrap {
    padding: 0;
  }

  .head-padding {
    padding-top: 50px;
  }

  .header {
    height: 60px;
  }

  .logo {
    margin: 8px auto;
    background-size: auto 50px;
    width: 200px;
    
  }

  .line-title {
    /*
    display: block;
    text-align: center;
    font-size: 1rem;
    font-weight: normal;
    margin: 2rem auto;
    */
    margin: 2rem auto;
  }
  .line-title span {
    width: 12%;
    /*
    display: inline-block;
    width: 12%;
    min-width: 80px;
    vertical-align: middle;
    */
  }
  .line-title:before, .line-title:after {
    width: 44%;
    /*
    content: "";
    display: inline-block;
    height: 1px;
    background-color: #eee;
    vertical-align: middle;
    */
  }

  .edit p {
    width: 70%;
    padding-bottom: 2rem;
    font-size: 1rem;
  }
  .edit .subtitle {
    font-size: 2rem;
  }
  .edit blockquote,
  .edit blockquote > p {
    width: 100%;
    font-size: 1.75rem;
  }
}
@media (min-width: 1025px) {
  .wrap-fs {
    max-width: 100%;
    margin: 0 auto;
    float: none;
  }

  .wrap {
    width: 100%;
    margin: 0 auto;
   
  }

  .footer {
    text-align: center;
    padding: 50px 0;
  }

  .slide * {
    display: block;
    width: 100%;
    height: auto;
  }

  .inline {
    display: block;
    margin: 0 auto;
  }
  .inline > li {
    display: inline-block;
    text-align: center;
    margin: 0 10px;
  }

  .col-3 {
    width: 33.33%;
  }

  .col-f {
    width: 33.33%;
  }

  .col-3-p,
  .col-f-p {
    width: 31.33%;
    margin-left: 3%;
  }

  .col-f-p:nth-of-type(3n+1) {
    margin-left: 5%;
  }

  .col-3-p:nth-of-type(3n+1) {
    margin-left: 0;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  span {
    width: auto;
  }
}
@media (min-width: 1280px) {
  .wrap {
    width: 100%;
  }

  .border-wrap {
   
  }

  .wrap-fs.header {
    background-color: transparent;
  }

  .header {
    height: 60px;
    background-color: transparent;
    left: 50%;
    margin-left: -590px;
    z-index: 1200;
    width: 200px;
    

  }
  .header.fixed {
    height: 55px;
    background-color: rbga(255, 255, 255, 0.9);
  }

  .logo {
    background: transparent url("../img/svg/logo.svg") left center no-repeat;
    margin: 0;
    background-size: auto 50px;
    width: 100%;
    max-width: 200px;
    height: 60px;
    float: left;
  }
  .logo a {
    max-width: 200px;
  }

  .col-f {
    width: 25%;
  }

  .col-f-p,
  .col-f-p:nth-of-type(3n+1) {
    width: 20.25%;
    margin-left: 3%;
  }

  .col-f-p:nth-of-type(4n+1) {
    margin-left: 5%;
  }

  .col-4-p,
  .col-4-p:nth-of-type(3n+1) {
    /* for media
    width: 20.5%;
    margin-left: 6%;
    */
    width: 22.75%;
    margin-left: 3%;
  }

  .col-4-p:nth-of-type(4n+1) {
    margin-left: 0;
  }

#nav li.jplang{font-size:12px;color:#999; clear:both; margin:15px 0 0 70px; line-height:20px; height:15px;}
#nav li.jplang a{ display:inline-block; padding:3px 10px 5px 10px; -webkit-border-radius: 10px;-moz-border-radius: 10px;border-radius: 10px;color:#999;font-size:12px;line-height:20px; height:15px;border:1px solid #ccc; }
#nav li.jplang a:hover{display:inline-block; padding:3px 10px 5px 10px;-webkit-border-radius: 10px;-moz-border-radius: 10px;border-radius: 10px;font-size:12px;line-height:20px; height:15px;border:1px solid #5EC1E8;background: #5EC1E8; color:#fff;}
#nav li.login{font-size:12px;color:#999; clear:both; margin:15px 0 0 10px; line-height:20px; height:15px;}
#nav li.login a{ display:inline-block; padding:3px 10px 5px 10px; -webkit-border-radius: 10px;-moz-border-radius: 10px;border-radius: 10px;color:#999;font-size:12px;line-height:20px; height:15px;border:1px solid #ccc; }
#nav li.login a:hover{display:inline-block; padding:3px 10px 5px 10px;-webkit-border-radius: 10px;-moz-border-radius: 10px;border-radius: 10px;font-size:12px;line-height:20px; height:15px;border:1px solid #5EC1E8;background: #5EC1E8; color:#fff;}
}
@media (min-width: 1450px) {
  .header.fixed {
    height: 55px;
    background-color: rbga(255, 255, 255, 0.9);
  }

  /*
  .logo {
      margin: 45px auto;
      background-size: 148px auto;
      width: 150px;
      height: 50px;
  }*/
  .col-f {
    width: 20%;
  }

  .col-f-p,
  .col-f-p:nth-of-type(3n+1),
  .col-f-p:nth-of-type(4n+1) {
    width: 16%;
    margin-left: 2.5%;
  }

  .col-f-p:nth-of-type(5n+1) {
    margin-left: 5%;
  }
}

/*# sourceMappingURL=style.css.map 
  
#nav li.language{ display:block; border-bottom:none;}
#nav li.language > ul{ width:52px; height:87px; padding:0; margin:0; border-bottom:none; background: url(../../jp/img/layout/language-bg.png) no-repeat center top;}
#nav li.language > ul > li{ width:100%; height:30px; color:#000; float:left; text-align:center; padding:0; margin:0;}
#nav li.language > ul > li:first-child{ margin:18px 0 0 0;}
#nav li.language > ul > li >a{ width:100%; height:30px;display:block; text-align:center; padding:0; margin:0;}*/