@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+TC:100,300,400,500,700,900");
* {
  position: relative;
  font-family: "Noto Sans", "Noto Sans CJK TC", "Noto Sans CJK SC", "Noto Sans CJK", "Source Han Sans TC", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", "Noto Sans TC", "微軟正黑體", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  color: #666666;
  margin: 0;
  -webkit-box-sizing: border-box;
    -webkit-box-sizing--moz-box-sizing: border-box;
      -webkit-box-sizing--moz-box-sizing-box-sizing: border-box; }
  *::-moz-selection {
    color: #fff;
    background: #666666; }
  *::selection {
    color: #fff;
    background: #666666; }
  *::-moz-selection {
    color: #fff;
    background: #666666; }

html, body {
  font-size: calc(16px * 10 / 16);
  width: 100%;
  margin: 0; }

#hover-mobile {
  position: fixed;
  width: 100%;
  height: 100vh;
  left: 0;
  top: 0;
  overflow: auto;
  z-index: -9999; }
  #hover-mobile .hover-bg {
    display: inline-block;
    width: 100%;
    height: 100%; }

/* ------ Labels ------ */
a {
  display: block;
  text-decoration: none !important;
  color: inherit; }
  a:hover {
    color: inherit; }
  a:focus {
    outline: none; }

ul {
  list-style: none;
  padding: 0;
  margin: 0; }

img {
  width: 100%; }

/* ------ Fonts ------ */
h1, h2, h3, h4, h5, h6, p {
  font-weight: 400;
  margin: 0; }

h1.slogan {
  font-size: 3.2rem;
  font-weight: 300;
  letter-spacing: 3.8px;
  line-height: 1.4;
  color: #fff;
  text-shadow: 0 0 4px #464646; }

h1.sub-slogan {
  font-size: 2rem;
  font-weight: 200;
  letter-spacing: 2.4px;
  color: #fff;
  text-shadow: 0 0 4px #464646; }

h1.title {
  font-size: 2rem;
  letter-spacing: 3.5px; }

h1.title.white {
  font-weight: 300;
  color: #fff; }

h1.title.gray {
  color: #666666; }

h1.title-small {
  font-size: 1.8rem;
  letter-spacing: 2px;
  color: #fff; }

h1.deco-text {
  font-size: 20rem;
  font-weight: 700;
  letter-spacing: 10px;
  line-height: 0;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  opacity: 0.04;
  position: absolute;
  right: 0;
  top: calc(40vh + 120px);
  white-space: nowrap; }

html#index h1.deco-text {
  top: calc(100vh + 120px); }

p {
  letter-spacing: 2.8px;
  line-height: 1.7;
  text-align: justify;
  text-justify: auto; }

.p-footer {
  font-size: 1.5rem;
  letter-spacing: 1.2px; }

.p-copyright {
  font-size: 1.3rem;
  letter-spacing: 2px; }

a.p-btn {
  font-size: 1.7rem;
  letter-spacing: 1.5px;
  color: #fff; }

.btn-more {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.7rem;
  letter-spacing: 3px;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s; }
  .btn-more:before {
    content: '';
    display: block;
    width: 2vw;
    height: 1px;
    margin-right: 1vw;
    background-color: #666666;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s; }
  .btn-more:hover {
    color: #45B035; }
    .btn-more:hover:before {
      width: 3vw; }

@media (max-width: 1366px) {
  h1.deco-text {
    font-size: 12rem; } }

@media (max-width: 991px) {
  h1.slogan {
    font-size: 2.8rem;
    letter-spacing: 3.6px;
    line-height: 1.4; }
  h1.sub-slogan {
    font-size: 1.8rem;
    font-weight: 300;
    letter-spacing: 2.4px; }
  h1.deco-text {
    line-height: 0; }
  html#index h1.deco-text {
    top: calc(85vh + 120px); } }

@media (max-width: 575px) {
  h1.slogan {
    font-size: 2.4rem;
    letter-spacing: 3px;
    line-height: 1.4; }
  h1.sub-slogan {
    font-size: 1.7rem;
    font-weight: 300;
    letter-spacing: 2.2px; }
  h1.title {
    font-size: 1.9rem; }
  h1.deco-text {
    font-size: 8rem;
    right: -10px; }
  .btn-more:before {
    width: 8vw;
    margin-right: 4vw; }
  .btn-more:hover:before {
    width: 10vw; } }

/* ------ Adjustment ------ */
.title-area.main {
  padding: 3px 24px; }

.deco-text-wrapper {
  position: absolute;
  width: 100%;
  height: 100%;
  right: 0;
  top: 0;
  overflow: hidden; }

.deco {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  -webkit-filter: drop-shadow(0 2px 4px rgba(102, 102, 102, 0.3));
  filter: drop-shadow(0 2px 4px rgba(102, 102, 102, 0.3)); }
  .deco img {
    height: 100%;
    -ms-flex-negative: 0;
    flex-shrink: 0; }
  .deco img.head {
    width: 160px; }
  .deco img.line {
    width: calc(100% - 160px); }

.color-green {
  color: #45B035; }

.color-red {
  color: #b03535; }

/* ------ Div ------ */
/* ---- nav#navbar ---- */
nav#navbar {
  width: 100%;
  left: 0;
  top: 0;
  padding-top: 35px;
  z-index: 100; }
  nav#navbar .logo-area {
    max-width: 415px;
    margin-left: 4vw; }
  nav#navbar .btn-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 12px 2vw; }
    nav#navbar .btn-area .deco-nav {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      -webkit-filter: drop-shadow(0 2px 6px rgba(102, 102, 102, 0.3));
      filter: drop-shadow(0 2px 6px rgba(102, 102, 102, 0.3)); }
      nav#navbar .btn-area .deco-nav img.line {
        width: 35%;
        height: 100%; }
      nav#navbar .btn-area .deco-nav img.head {
        width: 65%;
        height: 100%; }
    nav#navbar .btn-area .deco-nav.m {
      display: none; }
    nav#navbar .btn-area ul.btn-desk {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex; }
      nav#navbar .btn-area ul.btn-desk li:after {
        content: '';
        display: block;
        position: absolute;
        width: 16px;
        height: 1px;
        right: 0;
        top: 50%;
        -webkit-transform: translate(50%, -50%) rotate(133deg);
        -ms-transform: translate(50%, -50%) rotate(133deg);
        transform: translate(50%, -50%) rotate(133deg);
        background-color: #fff; }
      nav#navbar .btn-area ul.btn-desk li:last-child:after {
        display: none; }
      nav#navbar .btn-area ul.btn-desk a.p-btn {
        display: inline-block;
        padding: 0 1.8vw;
        -webkit-transition: 0.5s;
        -o-transition: 0.5s;
        transition: 0.5s; }
      nav#navbar .btn-area ul.btn-desk a.p-btn:hover, nav#navbar .btn-area ul.btn-desk a.p-btn.active {
        -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
        transform: scale(1.1); }

/* ---- header#header ---- */
header#header {
  margin-top: -25px; }
  header#header .slick-slide.active .img-overflow {
    opacity: 1; }
  header#header .slick-slide.active .slogan-area {
    opacity: 1;
    -webkit-transition: 1s;
    -o-transition: 1s;
    transition: 1s; }
    header#header .slick-slide.active .slogan-area h1.slogan {
      -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
      transform: translateY(0);
      opacity: 1;
      -webkit-transition: 1.5s;
      -o-transition: 1.5s;
      transition: 1.5s; }
    header#header .slick-slide.active .slogan-area h1.sub-slogan {
      -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
      transform: translateY(0);
      opacity: 1;
      -webkit-transition: 1.5s 0.3s;
      -o-transition: 1.5s 0.3s;
      transition: 1.5s 0.3s; }
  header#header .slick-slide.active .btn-wrapper {
    opacity: 1;
    -webkit-transition: 1.5s 0.7s;
    -o-transition: 1.5s 0.7s;
    transition: 1.5s 0.7s; }
  header#header .slick-slide {
    height: 80vh;
    background-size: cover;
    background-position: right center; }
  header#header .slick-slide.bg1 {
    background-image: url("../img/banner/banner-index01.jpg"); }
  header#header .slick-slide.bg2 {
    background-image: url("../img/banner/banner-index02.jpg");
    background-position: 20% center; }
  header#header .slick-slide.bg3 {
    background-image: url("../img/banner/banner-index03.jpg");
    background-position: left center; }
  header#header .container {
    max-width: 1400px;
    left: 35px;
    top: 20%; }
    header#header .container .col-sm-5, header#header .container .col-sm-7 {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
  header#header .img-overflow {
    opacity: 0;
    -webkit-transition: 1s;
    -o-transition: 1s;
    transition: 1s; }
  header#header .slogan-area {
    max-width: 720px;
    padding: 45px 50px;
    opacity: 0;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s; }
    header#header .slogan-area * {
      -webkit-transition: 1.5s;
      -o-transition: 1.5s;
      transition: 1.5s; }
    header#header .slogan-area h1.slogan {
      -webkit-transform: translateY(10px);
      -ms-transform: translateY(10px);
      transform: translateY(10px);
      opacity: 0; }
    header#header .slogan-area h1.sub-slogan {
      margin: 2vw 0;
      opacity: 0;
      -webkit-transform: translateY(10px);
      -ms-transform: translateY(10px);
      transform: translateY(10px); }
  header#header .btn-wrapper {
    opacity: 0; }
    header#header .btn-wrapper a.btn-banner {
      display: inline-block;
      padding: 1px 20px;
      border: 1px solid #fff;
      background-color: #fff;
      -webkit-transition: 0.5s;
      -o-transition: 0.5s;
      transition: 0.5s; }
      header#header .btn-wrapper a.btn-banner:hover {
        background-color: transparent;
        color: #fff; }

/* ---- section#section_about ---- */
section#section_about {
  padding: 4vw 6vw 0 8vw;
  overflow: hidden; }
  section#section_about .container {
    max-width: 1400px; }
  section#section_about .col-md-6 {
    padding: 0; }
  section#section_about .title-area {
    margin-top: 2vw; }
    section#section_about .title-area .deco img.line {
      width: calc(100% - 120px); }
  section#section_about .text-area {
    max-width: 650px;
    padding: 3.5vw 4vw 3.5vw 1.5vw; }
    section#section_about .text-area p.middle {
      margin: 1.5vw 0 4vw; }
  section#section_about .img-overflow {
    height: 100%;
    -webkit-transform: skew(-8deg);
    -ms-transform: skew(-8deg);
    transform: skew(-8deg);
    overflow: hidden; }
  section#section_about .img {
    height: 100%;
    -webkit-transform: translateX(-40px) skew(8deg);
    -ms-transform: translateX(-40px) skew(8deg);
    transform: translateX(-40px) skew(8deg);
    background-image: url("../img/index-about.jpg");
    background-size: cover;
    background-position: center center; }

/* ---- section#section_products ---- */
section#section_products {
  padding-right: 10vw;
  padding-top: 4vw;
  overflow: hidden; }
  section#section_products .wrapper {
    -webkit-transform: translateX(-40px) skew(-8deg);
    -ms-transform: translateX(-40px) skew(-8deg);
    transform: translateX(-40px) skew(-8deg);
    background-image: -webkit-gradient(linear, right top, left top, from(#f5f5f5), color-stop(65%, #dedede), to(#efefef));
    background-image: -webkit-linear-gradient(right, #f5f5f5, #dedede 65%, #efefef);
    background-image: -o-linear-gradient(right, #f5f5f5, #dedede 65%, #efefef);
    background-image: linear-gradient(to left, #f5f5f5, #dedede 65%, #efefef); }
  section#section_products .container-fluid {
    padding: 5vw 12vw 6vw 9vw;
    -webkit-transform: skew(8deg);
    -ms-transform: skew(8deg);
    transform: skew(8deg); }
  section#section_products .slick-container.injection {
    -webkit-box-shadow: 0 0 10px 0 rgba(70, 70, 70, 0.3);
    box-shadow: 0 0 10px 0 rgba(70, 70, 70, 0.3); }
  section#section_products .title-area {
    margin-bottom: 4vw; }
  section#section_products .text-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: rgba(102, 102, 102, 0.6);
    opacity: 0;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s; }
  section#section_products .img-overflow {
    -webkit-box-shadow: 0 0 10px 0 rgba(70, 70, 70, 0.3);
    box-shadow: 0 0 10px 0 rgba(70, 70, 70, 0.3); }
    section#section_products .img-overflow:hover .text-area {
      opacity: 1; }

/* ---- footer#footer ---- */
footer#footer {
  padding: 5vw 4vw 0; }
  footer#footer * {
    text-align: center; }
  footer#footer .container {
    max-width: 1400px; }
  footer#footer a.logo-area {
    max-width: 90px;
    margin: 0 auto; }
  footer#footer ul.btn-footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 1.2vw 0 1.5vw; }
    footer#footer ul.btn-footer li:after {
      content: '';
      display: block;
      position: absolute;
      width: 14px;
      height: 1px;
      right: 0;
      top: 50%;
      -webkit-transform: translate(50%, -50%) rotate(133deg);
      -ms-transform: translate(50%, -50%) rotate(133deg);
      transform: translate(50%, -50%) rotate(133deg);
      background-color: #666666; }
    footer#footer ul.btn-footer li:last-child:after {
      display: none; }
    footer#footer ul.btn-footer a.p-footer {
      display: inline-block;
      padding: 0 1.4vw;
      -webkit-transition: 0.5s;
      -o-transition: 0.5s;
      transition: 0.5s; }
    footer#footer ul.btn-footer a.p-footer:hover, footer#footer ul.btn-footer a.p-footer.active {
      -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
      transform: scale(1.1); }
  footer#footer ul:not(.btn-footer) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    footer#footer ul:not(.btn-footer) li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      padding-right: 2vw; }
    footer#footer ul:not(.btn-footer) li:last-child {
      padding: 0; }
  footer#footer p {
    margin: 0; }
  footer#footer #copyright {
    padding: 8px 0;
    margin-top: 1.5vw;
    border-top: 1px solid #666666; }
    footer#footer #copyright .p-copyright {
      display: inline; }
    footer#footer #copyright span.p-copyright {
      margin-right: 10px; }

/* ---- Inner ---- */
/* ---- Fonts ---- */
h2.title-banner {
  font-size: 2.8rem;
  letter-spacing: 4px;
  color: #fff; }

h2.title-banner-en {
  font-size: 1.6rem;
  letter-spacing: 2.2px;
  color: #fff; }

/* ---- header#header_inner ---- */
header#header.inner {
  margin-bottom: 5vw; }
  header#header.inner .img-overflow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 30vh;
    background-size: cover;
    background-position: center center;
    text-align: center;
    opacity: 1; }
    header#header.inner .img-overflow:after {
      content: '';
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      background-color: rgba(70, 70, 70, 0.7); }
  header#header.inner .img-overflow.banner-about {
    background-image: url("../img/banner/banner-about.jpg"); }
  header#header.inner .img-overflow.banner-tooling {
    background-image: url("../img/banner/banner-tooling.jpg"); }
  header#header.inner .img-overflow.banner-injection {
    background-image: url("../img/banner/banner-injection.jpg"); }
  header#header.inner .img-overflow.banner-products {
    background-image: url("../img/banner/banner-products.jpg"); }
  header#header.inner .img-overflow.banner-quality {
    background-image: url("../img/banner/banner-quality.jpg"); }
  header#header.inner .img-overflow.banner-contact {
    background-image: url("../img/banner/banner-contact.jpg"); }
  header#header.inner .title-area {
    z-index: 10; }

/* ---- section.inner ---- */
section.inner {
  padding: 0 6vw; }
  section.inner .container {
    max-width: 1300px; }
  section.inner .row.wrapper {
    padding: 2.5vw 1vw 0; }

/* ---- section#section_about_inner ---- */
section#section_about_inner.intro .text-area {
  /* top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); */
  padding-left: 2vw; }
  section#section_about_inner.intro .text-area .main p:nth-child(2) {
    margin: 1.5vw 0 3vw; }
  section#section_about_inner.intro .text-area .sub p:first-child {
    margin-bottom: 0.7vw; }

section#section_about_inner.concept {
  padding-top: 5vw; }
  section#section_about_inner.concept .row.wrapper .col-sm-12, section#section_about_inner.concept .row.wrapper .col-sm-6 {
    text-align: center; }
  section#section_about_inner.concept .col-sm-12.order-sm-2 {
    margin: 50px 0 20px; }
  section#section_about_inner.concept .logo-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 160px;
    height: 160px;
    padding: 30px;
    margin: 0 auto;
    border: 5px solid #ececec;
    border-radius: 50%;
    background-color: #f5f5f5;
    z-index: 50; }
  section#section_about_inner.concept .text-area {
    display: inline-block; }
    section#section_about_inner.concept .text-area:after {
      content: '';
      display: block;
      position: absolute;
      background-color: #666666; }
  section#section_about_inner.concept .text-area.ta01:after {
    width: 1px;
    height: 100px;
    left: 50%;
    top: calc(100% + 20px);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
  section#section_about_inner.concept .text-area.ta02:after {
    width: 200px;
    height: 1px;
    left: 90%;
    top: -60%;
    -webkit-transform: rotate(-20deg);
    -ms-transform: rotate(-20deg);
    transform: rotate(-20deg); }
  section#section_about_inner.concept .text-area.ta03:after {
    width: 200px;
    height: 1px;
    right: 100%;
    top: -60%;
    -webkit-transform: rotate(20deg);
    -ms-transform: rotate(20deg);
    transform: rotate(20deg); }
  section#section_about_inner.concept .text-area p{
    text-align: center;
  }
  section#section_about_inner.concept h1.title-small {
    display: inline-block;
    padding: 4px 24px;
    margin-bottom: 10px;
    border: 1px solid #666666;
    border-radius: 18px;
    font-weight: 500;
    color: #666666; }

section#section_about_inner.service {
  padding-top: 5vw; }
  section#section_about_inner.service ul {
    padding: 5vw 0; }
    section#section_about_inner.service ul li {
      display: inline-block;
      padding: 4px 24px;
      margin: 0 1.5vw 1.5vw 0;
      border: 1px solid #666666;
      border-radius: 18px; }
  section#section_about_inner.service .img-overflow {
    height: 100%;
    -webkit-transform: translateX(20px) skew(-8deg);
    -ms-transform: translateX(20px) skew(-8deg);
    transform: translateX(20px) skew(-8deg);
    overflow: hidden; }
  section#section_about_inner.service .img {
    height: 100%;
    -webkit-transform: translateX(-40px) skew(8deg);
    -ms-transform: translateX(-40px) skew(8deg);
    transform: translateX(-40px) skew(8deg);
    background-image: url("../img/about/about02.jpg");
    background-size: cover;
    background-position: center center; }
  section#section_about_inner.service p.title {
    margin-bottom: 1.5vw; }
  section#section_about_inner.service p {
    font-size: 1.7rem; }
  section#section_about_inner.service h1.color-green {
    font-size: 1.7rem;
    letter-spacing: 2.8px;
    line-height: 1.7; }

section#section_about_inner.timeline {
  padding-top: 3.5vw;
  padding-bottom: 1.5vw; }
  section#section_about_inner.timeline ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    section#section_about_inner.timeline ul li p {
      line-height: 2.48;
      text-align: left; }
    section#section_about_inner.timeline ul li p.color-green {
      -ms-flex-negative: 0;
      flex-shrink: 0; }

/* ---- section.inner.equipment ---- */
section.inner.equipment .row.wrapper.img-area, section#section_products_inner .row.wrapper.img-area {
  padding-left: 1.5vw;
  padding-right: 1.5vw; }

section.inner.equipment .col-lg-4.col-sm-6, section#section_products_inner .col-lg-4.col-sm-6 {
  padding: 0 0.6vw 0; }

section.inner.equipment .img-overflow, section#section_products_inner .img-overflow {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition: 0.8s;
  -o-transition: 0.8s;
  transition: 0.8s; }
  section.inner.equipment .img-overflow:hover, section#section_products_inner .img-overflow:hover {
    -webkit-transform: scale(1.04);
    -ms-transform: scale(1.04);
    transform: scale(1.04); }

/* ---- section.inner.list ---- */
section.inner.list {
  padding-top: 5vw; }
  section.inner.list table {
    width: 100%; }
  section.inner.list table:nth-child(2) {
    margin-top: 2vw; }
  section.inner.list th, section.inner.list td {
    padding: 5px 1.5vw;
    border: 1px solid #666666; }
  section.inner.list th:not(.name), section.inner.list td:not(.name) {
    text-align: center; }
  section.inner.list th[colspan="3"] {
    background-color: rgba(69, 176, 53, 0.2);
    border-bottom: 2px solid #666666; }
  section.inner.list th.head {
    color: #45B035; }
  section.inner.list th.head.no {
    width: 12%; }
  section.inner.list th.head.quantity {
    width: 12%; }

/* ---- section#section_products_inner ---- */
section#section_products_inner {
  padding-bottom: 1vw; }
  section#section_products_inner .row.products {
    padding: 0 20px; }
  section#section_products_inner .col-lg-4.col-sm-6 {
    padding: 0 0.4vw 0.8vw; }
  section#section_products_inner ul {
    margin-bottom: 1.5vw; }
    section#section_products_inner ul li {
      display: inline-block; }
    section#section_products_inner ul a {
      padding: 4px 24px;
      margin: 0 1vw 2vw 0;
      border: 1px solid #666666;
      border-radius: 18px; }
  section#section_products_inner .img-overflow {
    height: 0;
    padding-bottom: 67%;
    overflow: hidden; }

/* ---- section#section_quality_inner ---- */
section#section_quality_inner.policy h1.title-small {
  color: #b03535; }

section#section_quality_inner.policy .text-area {
  max-width: 810px;
  padding: 6vw 1vw 0 0; }
  section#section_quality_inner.policy .text-area p:first-child {
    margin-bottom: 1vw; }

/* ---- section#section_contact_inner ---- */
section#section_contact_inner.info .row.wrapper .col-md-12 {
  text-align: center; }

section#section_contact_inner.info a.hotline, section#section_contact_inner.info a.hotline i {
  display: inline-block;
  font-size: 2.4rem;
  letter-spacing: 2px;
  color: #45B035;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s; }
  section#section_contact_inner.info a.hotline:hover, section#section_contact_inner.info a.hotline i:hover {
    letter-spacing: 3px; }

section#section_contact_inner.info i {
  margin-right: 5px; }

section#section_contact_inner.info ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: left;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 2vw; }
  section#section_contact_inner.info ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: 2.5vw;
    margin-bottom: 0.5vw; }
  section#section_contact_inner.info ul li:last-child {
    margin-right: 0; }

section#section_contact_inner.mail {
  padding-top: 4vw; }
  section#section_contact_inner.mail p.sub {
    margin-top: 1vw;
    text-align: center; }

@media (max-width: 1366px) {
  /* ---- section#section_products ---- */
  section#section_products {
    padding-right: 8vw; } }

@media (max-width: 1200px) {
  html, body {
    font-size: calc(15px * 10 / 16); }
  /* ------ Div ------ */
  /* ---- nav#navbar ---- */
  nav#navbar {
    padding-top: 25px; }
    nav#navbar .logo-area {
      width: 32vw;
      min-width: 350px;
      max-width: inherit;
      margin-bottom: 1vw; }
    nav#navbar .btn-area {
      padding: 8px 1vw; }
      nav#navbar .btn-area .deco-nav img.line {
        width: 25%; }
      nav#navbar .btn-area .deco-nav img.head {
        width: 75%; }
  /* ---- header#header ---- */
  header#header {
    margin-top: -20px; }
    header#header .container {
      left: 50px;
      top: 22%; }
    header#header .slogan-area {
      padding: 5vw 10vw 4vw 0; }
      header#header .slogan-area h1.sub-slogan {
        margin: 2.5vw 0; }
  /* ---- section#section_about ---- */
  section#section_about {
    padding: 6vw 6vw 0 8vw; }
  /* ---- section#section_products ---- */
  section#section_products {
    padding-right: 10vw;
    padding-top: 6vw; }
    section#section_products .title-area {
      margin-bottom: 6vw; }
  /* ---- footer#footer ---- */
  footer#footer {
    padding: 7vw 4vw 0; }
  /* ---- Inner ---- */
  /* ---- section#section_about_inner ---- */
  section#section_about_inner.concept .logo-area {
    width: 150px;
    height: 150px; }
  section#section_about_inner.concept .text-area.ta01:after {
    width: 1px;
    height: 100px;
    left: 50%;
    top: calc(100% + 20px);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
  section#section_about_inner.concept .text-area.ta02:after {
    top: -80%;
    -webkit-transform: rotate(-25deg);
    -ms-transform: rotate(-25deg);
    transform: rotate(-25deg); }
  section#section_about_inner.concept .text-area.ta03:after {
    top: -80%;
    -webkit-transform: rotate(25deg);
    -ms-transform: rotate(25deg);
    transform: rotate(25deg); }
  section#section_about_inner.service ul {
    padding: 4vw 0; } }

@media (max-width: 1024px) {
  html, body {
    font-size: calc(14px * 10 / 16); } }

@media (max-width: 991px) {
  /* ------ Div ------ */
  /* ---- nav#navbar ---- */
  nav#navbar .logo-area {
    margin-bottom: 0; }
  nav#navbar .btn-area {
    padding: 4px 4vw; }
    nav#navbar .btn-area .deco-nav.desk {
      display: none; }
    nav#navbar .btn-area .deco-nav.m {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      nav#navbar .btn-area .deco-nav.m img.line {
        width: calc(100% - 17vw); }
      nav#navbar .btn-area .deco-nav.m img.head {
        width: 17vw; }
    nav#navbar .btn-area ul.btn-desk {
      display: none; }
  /* ---- header#header ---- */
  header#header .container {
    left: 20px;
    top: 45%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
  header#header .slogan-area {
    padding: 5vw 8vw 4vw 0; }
  header#header a.btn-banner {
    padding: 0 20px; }
  /* ---- Inner ---- */
  /* ---- header#header_inner ---- */
  header#header.inner {
    margin-bottom: 7vw; }
  /* ---- section.inner ---- */
  section.inner .row.wrapper {
    padding: 4vw 1vw 0; }
  /* ---- section#section_about_inner ---- */
  section#section_about_inner.concept .col-sm-12.order-sm-2 {
    margin: 50px 0 50px; }
  section#section_about_inner.concept .logo-area {
    width: 150px;
    height: 150px; }
  section#section_about_inner.concept .text-area.ta01:after {
    width: 1px;
    height: 100px;
    left: 50%;
    top: calc(100% + 20px);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
  section#section_about_inner.concept .text-area.ta02:after {
    width: 150px;
    left: 75%;
    top: -80%;
    -webkit-transform: rotate(-35deg);
    -ms-transform: rotate(-35deg);
    transform: rotate(-35deg); }
  section#section_about_inner.concept .text-area.ta03:after {
    width: 150px;
    right: 75%;
    top: -80%;
    -webkit-transform: rotate(35deg);
    -ms-transform: rotate(35deg);
    transform: rotate(35deg); }
  section#section_about_inner.timeline {
    padding-top: 5vw;
    padding-bottom: 3vw; }
  /* ---- section.inner.equipment ---- */
  section.inner.equipment .row.wrapper.img-area, section#section_products_inner .row.wrapper.img-area {
    padding-left: 2vw;
    padding-right: 2vw; }
  section.inner.equipment .col-lg-4.col-sm-6, section#section_products_inner .col-lg-4.col-sm-6 {
    padding: 0 0.8vw 1.6vw; }
  /* ---- section.inner.list ---- */
  section.inner.list {
    padding-bottom: 2vw; }
    section.inner.list table:nth-child(2) {
      margin-top: 3vw; }
  /* ---- section#section_contact_inner ---- */
  section#section_contact_inner.mail {
    padding-top: 5vw; } }

@media (max-width: 767px) {
  /* ---- section#section_about ---- */
  section#section_about .img-overflow {
    height: 50vw;
    margin-top: 4vw;
    -webkit-transform: translateX(20px) skew(-8deg);
    -ms-transform: translateX(20px) skew(-8deg);
    transform: translateX(20px) skew(-8deg); }
  /* ---- section#section_about_inner ---- */
  section#section_about_inner.concept .col-sm-12.order-sm-2 {
    margin: 50px 0 50px; }
  section#section_about_inner.concept .logo-area {
    width: 150px;
    height: 150px; }
  section#section_about_inner.concept .text-area.ta01:after {
    width: 1px;
    height: 100px;
    left: 50%;
    top: calc(100% + 20px);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
  section#section_about_inner.concept .text-area.ta02:after {
    width: 100px;
    left: 60%;
    top: -90%;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg); }
  section#section_about_inner.concept .text-area.ta03:after {
    width: 100px;
    right: 60%;
    top: -90%;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }
  section#section_about_inner.service .img-overflow {
    height: 40vw; } }

@media (max-width: 575px) {
  /* ------ Adjustment ------ */
  .title-area {
    padding: 3px 20px; }
  .deco img.head {
    width: 125px; }
  .deco img.line {
    width: calc(100% - 125px); }
  /* ------ Div ------ */
  /* ---- nav#navbar ---- */
  nav#navbar {
    padding-top: 20px; }
    nav#navbar .logo-area {
      width: 75vw;
      min-width: initial;
      max-width: 250px; }
    nav#navbar .btn-area {
      padding: 3px 4vw; }
      nav#navbar .btn-area .deco-nav.m img.line {
        width: calc(100% - 20vw); }
      nav#navbar .btn-area .deco-nav.m img.head {
        width: 20vw; }
  /* ---- header#header ---- */
  header#header .slick-slide {
    height: 80vh; }
  header#header .slick-slide.bg3 {
    background-position: right center; }
  header#header .container {
    left: 0;
    top: 50%; }
  header#header .slogan-area {
    max-width: 85vw;
    padding: 8vw 4vw 8vw 5vw; }
    header#header .slogan-area h1.sub-slogan {
      margin: 5.5vw 0; }
  /* ---- section#section_about ---- */
  section#section_about {
    padding: 14vw 7vw 0 7vw; }
    section#section_about .title-area {
      margin-top: 0; }
      section#section_about .title-area .deco img.line {
        width: calc(100% - 125px); }
    section#section_about .text-area {
      padding: 6vw 4vw; }
  /* ---- section#section_products ---- */
  section#section_products {
    padding-right: 0;
    padding-top: 14vw; }
    section#section_products .container-fluid {
      padding: 8vw 16vw 10vw 16vw; }
    section#section_products .title-area {
      margin-bottom: 8vw; }
  /* ---- footer#footer ---- */
  footer#footer {
    padding: 16vw 2vw 0; }
    footer#footer a.logo-area {
      width: 25vw;
      max-width: 80px; }
    footer#footer ul.btn-footer {
      margin: 6vw 0 5vw; }
      footer#footer ul.btn-footer a.p-footer {
        padding: 0 2.5vw; }
    footer#footer ul:not(.btn-footer) {
      display: block;
      padding: 0 4vw; }
    footer#footer #copyright {
      margin-top: 5vw; }
  /* ---- Inner ---- */
  /* ---- header#header_inner ---- */
  header#header.inner {
    margin-bottom: 10vw; }
  /* ---- section.inner ---- */
  section.inner {
    padding: 0 4vw; }
    section.inner .row.wrapper {
      padding: 8vw 3vw 0; }
  /* ---- section#section_about_inner ---- */
  section#section_about_inner.intro .text-area .main p:nth-child(2) {
    margin: 4.5vw 0 8vw; }
  section#section_about_inner.intro .text-area .sub p:first-child {
    margin-bottom: 4vw; }
  section#section_about_inner.intro .img-overflow {
    margin-top: 4vw; }
  section#section_about_inner.concept {
    padding-top: 12vw; }
    section#section_about_inner.concept .col-sm-12.order-sm-2 {
      margin: 0 0 8vw; }
    section#section_about_inner.concept .text-area {
      margin-bottom: 5vw; }
    section#section_about_inner.concept .text-area.ta03 {
      margin-bottom: 0; }
    section#section_about_inner.concept .text-area:after {
      display: none; }
  section#section_about_inner.service {
    padding-top: 12vw; }
    section#section_about_inner.service ul {
      padding: 5vw 0 8vw; }
      section#section_about_inner.service ul li {
        padding: 1px 12px; }
  section#section_about_inner.timeline {
    padding-top: 12vw;
    padding-bottom: 0; }
    section#section_about_inner.timeline ul li {
      display: block;
      margin-bottom: 4vw; }
      section#section_about_inner.timeline ul li p {
        line-height: 1.7; }
      section#section_about_inner.timeline ul li p.color-green.dot {
        display: none; }
  /* ---- section.inner.equipment ---- */
  section.inner.equipment .row.wrapper.img-area, section#section_products_inner .row.wrapper.img-area {
    padding-left: 15px;
    padding-right: 15px; }
  section.inner.equipment .col-lg-4.col-sm-6, section#section_products_inner .col-lg-4.col-sm-6 {
    padding: 0 15px 3vw; }
  /* ---- section.inner.list ---- */
  section.inner.list {
    padding-top: 9vw;
    padding-bottom: 0; }
    section.inner.list table:nth-child(2) {
      margin-top: 5vw; }
    section.inner.list th, section.inner.list td {
      padding: 6px 3vw; }
  /* ---- section#section_products_inner ---- */
  section#section_products_inner {
    padding-bottom: 2vw; }
    section#section_products_inner .row.products {
      padding: 0 15px; }
    section#section_products_inner .col-lg-4.col-sm-6 {
      padding: 0 0 3vw; }
    section#section_products_inner ul {
      margin-bottom: 6vw; }
      section#section_products_inner ul a {
        padding: 1px 12px;
        margin: 0 1vw 2vw 0; }
    section#section_products_inner .img-overflow {
      height: 0;
      padding-bottom: 67%;
      overflow: hidden; }
  /* ---- section#section_quality_inner ---- */
  section#section_quality_inner.policy .text-area {
    max-width: 810px;
    padding: 6vw 2vw 6vw; }
    section#section_quality_inner.policy .text-area p:first-child {
      margin-bottom: 3vw; }
  /* ---- section#section_contact_inner ---- */
  section#section_contact_inner.info .row.wrapper .col-md-12 {
    text-align: left; }
  section#section_contact_inner.info ul {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-top: 3.5vw; }
    section#section_contact_inner.info ul li {
      margin-right: 1vw;
      margin-bottom: 2vw; }
  section#section_contact_inner.mail {
    padding-top: 12vw; } }

@media (min-width: 568px) {
  /* ---- header#header ---- */
  header#header .col-sm-5 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%; }
  header#header .col-sm-7 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%; }
  header#header .order-sm-1 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1; }
  header#header .order-sm-2 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2; } }
