@charset "utf-8";
body { font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, "微軟正黑體", "Microsoft JhengHei", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; }

.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; /*For IE 6&7 only*/ }

html { box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }

img { max-width: 100%; border: none; outline: none; vertical-align: middle; }
a { color: inherit; text-decoration: none; outline: 0; }
ul.nav { list-style-type: none; padding: 0; margin: 0; }

#container { overflow: hidden; }
.wrapper { max-width: 1280px; margin: auto; }

/* header */
#header { background: rgba(255,255,255,.8); position: absolute; z-index: 2; width: 100%; }
.hiraku-open-btn { display: none; }
.header .logo { float: left; width: 30%; padding: 10px; }
.header .menu { float: right; width: 70%; text-align: right; }
.header .menu li { display: inline-block; }
.header .menu .lang .nav { margin: 10px auto; }
.header .menu .lang li a { font-size: 14px; font-weight: bold; display: inline-block; padding: 2px 10px; line-height: 1; }
.header .menu .lang li+li a { margin-right: 20px; border-left: #000 1px solid; }
.header .menu .lang li a:hover, .header .menu .lang li.active a { color: #e60012; }
.header .menu .main-menu > ul { margin: 20px auto 0; }
.header .menu .main-menu > ul > li { margin: 0 25px; position: relative; }
.header .menu .main-menu > ul > li > a { font-size: 18px; font-weight: bold; display: inline-block; padding: 5px; transition: all 0.3s ease; border-bottom: 3px transparent solid; }
.header .menu .main-menu > ul > li > a:hover, .header .menu .main-menu > ul > li.active > a { color: #e60012; border-bottom: 3px #e60012 solid; }

.header .menu .main-menu ul ul { visibility: hidden; opacity: 0; position: absolute; z-index: 111; top: 100%; left: -60px; padding: 10px 20px 20px; margin: 0; background: rgba(255,255,255,.9); width: 320px; box-shadow: 0px 3px 5px #999; transition: all 0.5s ease; transform: translateY(-6px); }
.header .menu .main-menu ul ul li { display: block; float: none; border-bottom: #999 1px dashed; }
.header .menu .main-menu ul ul li a { display: block; text-align: left; font-weight: normal; font-size: 16px; padding: 10px 0; }
.header .menu .main-menu ul li:hover > ul { visibility: visible; opacity: 1; transform: translateY(0); }
.header .menu .main-menu ul li:hover > ul > li > a:hover, .header .menu .main-menu ul li:hover > ul > li.active > a { color: #e60012; }

/* banner */
#banner, #banner .slogan { position: relative; }
#banner .slogan-text h2 { color: #fff; font-size: 36px; text-shadow: 4px 4px 10px rgba(0,0,0,.85); }
#banner .slogan-text h2 span { display: block; text-transform: uppercase; }

/* footer */
#footer { position: relative; margin-top: -77px; padding-top: 77px; }
#footer .mask { width: 100%; height: 77px; background: url(../images/mask-foot.png) center; position: absolute; top: 0; }
.footer { background: #8a2626; font-size: 14px; line-height: 2.5; padding: 60px 0 40px; }
.footer .title { color: #fff; font-weight: bold; font-size: 18px; }
.footer .foot-pro-menu, .footer .foot-pro-menu .nav { width: 50%; float: left; }
.footer .foot-pro-menu > .active, .footer .foot-info > .active { color: #e60012; }
.footer .foot-pro-menu li a { color: rgba(255,255,255,.5); display: block; transition: all 0.3s ease; }
.footer .foot-pro-menu li a:hover, .footer .foot-pro-menu li.active a { color: #ff0; text-decoration: underline; }
.footer .foot-main-menu { width: 15%; float: left; }
.footer .foot-main-menu li a { color: #fff; display: block; font-weight: bold; font-size: 18px; }
.footer .foot-main-menu li a:hover, .footer .foot-main-menu li.active a { color: #ff0; }
.footer .foot-info { width: 35%; float: left; color: rgba(255,255,255,.5); line-height: 1.5; }
.footer .foot-info > div { padding-top: 6px; margin-bottom: 12px; }
.footer .foot-info > div.tel, .footer .foot-info > div.fax  { display: inline-block; }
.footer .foot-info > div.fax  { margin-left: 30px; }
.footer .foot-info i { color: #8a2626; background: #fff; border-radius: 20px; font-size: 24px; float: left; line-height: 38px; margin-right: 10px; height: 38px; text-align: center; width: 38px; margin-top: -6px; }
.footer .foot-info .fax i, .footer .foot-info .mail i { font-size: 18px; }
.copyright { background: #ab3130; }
.copyright .text { font-weight: bold; text-align: center; color: rgba(255,255,255,.4); padding: 30px 0; }

/* code */
.codeimg { min-height: 30px; }

@media (max-width: 1280px) {
  .wrapper { width: 100%; }
  /* header */
  .header { padding: 0 15px; }
  .header .menu .main-menu > ul { margin: 10px auto; }
  .header .menu .main-menu > ul > li { margin: 0 22px; }
  /* footer */
  .footer { padding: 60px 15px 40px; }
}
@media (max-width: 1024px) {
  /* header */
  .header .menu .main-menu > ul > li { margin: 0 5px; }
  .header .menu .lang li+li a { margin-right: 0; }
  /* footer */
  .footer .foot-pro-menu { padding-right: 15px; }
  .footer .foot-pro-menu .nav { line-height: 1.6; }
  .footer .foot-pro-menu .nav li { margin-bottom: 12px; }
}
@media (max-width: 980px) {
  .footer .foot-info > div.fax { margin-left: 0; }
}
@media (max-width: 800px) {
  /* header */
  .header { padding: 0; }
  .header .logo { float: none; width: 100%; }
  .header .logo img { max-height: 50px; }
  .header .menu { overflow: hidden; }
  .menu { display: none; }
  /* footer */
  .footer .foot-pro-menu { width: 70%; line-height: 2; margin-bottom: 20px; padding-right: 0; }
  .footer .foot-main-menu { width: 30%; }
  .footer .foot-pro-menu .nav { float: none; width: 100%; }
  .footer .foot-pro-menu .nav li { margin-bottom: inherit; }
  .footer .foot-info { clear: both; float: none; width: 100%; }
  .footer .foot-info > div.fax { margin-left: 10px; }
  .copyright .text { padding: 15px; }
  
  /* left */
  .hiraku-open-btn { display: block; border: 3px solid #e60012; border-radius: 4px; position: absolute; right: 15px; top: 15px; }
  .hiraku-open-btn-line, .hiraku-open-btn-line:after, .hiraku-open-btn-line:before { background-color: #e60012; }
  .hiraku-open-btn-line { width: 24px; height: 3px; margin: 10px 0; }
  .hiraku-open-btn-line:after, .hiraku-open-btn-line:before { height: 3px; }
  .hiraku-open-btn-line:before { top: -8px; }
  .hiraku-open-btn-line:after { bottom: -8px; }
  [aria-expanded=true] .hiraku-open-btn-line:after, [aria-expanded=true] .hiraku-open-btn-line:before { width: 30px; }
  [aria-expanded=true] .hiraku-open-btn-line:before { transform: translate(-2px,8px) rotate(45deg); }
  [aria-expanded=true] .hiraku-open-btn-line:after { transform: translate(-2px,-8px) rotate(-45deg); }
  
  .offcanvas-left { padding-bottom: 40px; }
  .left-logo { padding: 10px 15px; text-align: center; box-shadow: 0px 0px 2px #ccc; }
  .left-logo img { max-height: 50px; }
  
  .left-menu, .left-menu ul { padding: 0; margin: 0; }
  .left-menu a { display: block; padding: 10px; border-bottom: #eee 1px solid; border-left: 5px #fff solid; }
  .left-menu li { list-style-type: none; }
  .left-menu > li > a { font-size: 22px; font-weight: bold; }
  .left-menu ul > li > a { font-size: 18px; padding-left: 20px; }
  .left-menu li.active > a { color: #e60012; }
  .left-menu > li.active > a { border-left: 5px #e60012 solid; }
  
  .offcanvas-left .nav { margin-top: 12px; padding: 10px 15px; }
  .offcanvas-left .nav > li { float: left; width: 44%; margin: 0 3%; border: #e60012 2px solid; border-radius: 3px; padding: 5px; text-align: center; }
  .offcanvas-left .nav > li.active { background: #e60012; color: #fff; }
}
@media (max-width: 640px) {
  /* footer */
  .footer .foot-pro-menu { width: 70%; line-height: 2; margin-bottom: 20px; }
  .footer .foot-main-menu { width: 30%; }
  .footer .foot-pro-menu .nav { float: none; width: 100%; }
  .footer .foot-info { clear: both; float: none; width: 100%; }
  .copyright .text { font-weight: normal; ine-height: 1.4; }
}
@media (max-width: 375px) {
  /* footer */
  .footer .foot-pro-menu, .footer .foot-pro-menu .nav { float: none; width: 100%; }
  .footer .foot-pro-menu { line-height: 1.8; }
  .footer .foot-main-menu { float: none; width: 100%; }
  .footer .foot-main-menu { line-height: 1.6; }
  .footer .foot-info { margin-top: 20px; }
  .footer .foot-info > div.tel, .footer .foot-info > div.fax {  display: block; margin-left: 0; }
}
