@charset "UTF-8";
/*-----mixin-----*/
/*-----extend-----*/
footer .footer-container, .template, #index .index-about .about-container, .select-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -webkit-flex; }

header #main-nav li a:after {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%); }

.page-banner .main-title, .product-item figure .mask img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

html,
body {
  width: 100%;
  min-height: 100%;
  height: auto;
  padding: 0px;
  margin: 0px;
  text-align: left;
  overflow: visible;
  font-size: 15px;
  color: #000;
  background-color: #ffffff;
  line-height: 1.6;
  font-family: '微軟正黑體','Microsoft JhengHei','Roboto', sans-serif;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

.pace {
  -webkit-pointer-events: none;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .pace:after {
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: rgba(223, 0, 0, 0.8);
    z-index: 99999;
    display: block; }

.pace-inactive {
  display: none; }

.pace .pace-progress {
  background: #DF0000;
  position: fixed;
  z-index: 200000;
  top: 0;
  right: 100%;
  width: 100%;
  height: 3px; }

/*共用屬性*/
*, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

* {
  -webkit-overflow-scrolling: touch; }

a {
  text-decoration: none;
  color: inherit;
  outline: none; }
  a:active, a:hover {
    outline: none; }

img {
  max-width: 100%;
  width: auto;
  height: auto; }

/*----- 表格 -----*/
table {
  width: 100%; }

.form-cell, input[type=password] {
  width: 100%;
  height: 2.8em;
  border: 1px solid #999;
  padding: 5px 8px;
  margin: 2px 0;
  line-height: 2.8em;
  outline: 0;
  background-color: #fff;
  font-family: "微軟正黑體"; }

textarea {
  width: 100%;
  height: 2.8em;
  border: 1px solid #999;
  padding: 5px 8px;
  margin: 2px 0;
  line-height: 2.8em;
  outline: 0;
  background-color: #fff;
  font-family: "微軟正黑體";
  height: auto;
  line-height: 1.6;
  outline: 0;
  padding: 8px; }

input[type="text"] {
  -webkit-appearance: none;
  outline: 0; }

input[type="number"] {
  padding: 0 8px; }

/*--- 辨識碼 ---*/
.form-captcha input.form-cell-captcha {
  width: calc(100% - 80px - 10px); }

.form-captcha img {
  display: inline-block;
  vertical-align: middle; }

/*--- 姓名填寫 ---*/
.form-name .form-cell-name {
  width: 150px; }

.form-name label {
  margin-left: 1rem; }

/*--- 地址填寫 ---*/
.form-address label {
  margin-right: 1rem; }

.form-address span {
  display: inline-block;
  margin-right: 2rem; }

.form-address select {
  width: calc( (100% - 30px - 2rem) / 2 - 10px);
  margin-right: 2px; }

/*--- 生日填寫 ---*/
.form-birthday span {
  display: inline-block;
  margin-right: 2rem; }

.form-birthday .form-cell {
  width: calc((100% - 30px - 2rem) / 3 - 8px); }

/*--- 複選 checkbox ---*/
input[type="checkbox"] {
  display: none; }
  input[type="checkbox"]:checked + label:before {
    content: "\f046";
    margin-right: 1px; }
  input[type="checkbox"] + label {
    cursor: pointer; }
    input[type="checkbox"] + label:before {
      content: "\f096";
      font-family: 'FontAwesome';
      margin-right: 3px; }

/*--- 單選 radio ---*/
input[type="radio"] {
  display: none; }
  input[type="radio"]:checked + label:before {
    content: "\f05d";
    color: #DF0000; }
  input[type="radio"] + label {
    cursor: pointer; }
    input[type="radio"] + label:before {
      content: "\f1db";
      font-family: 'FontAwesome';
      margin-right: 4px; }

/*--- 選單 Select ---*/
select {
  outline: 0;
  font-family: '微軟正黑體'; }

/*----- Buttons -----*/
button {
  border: none;
  background-color: transparent;
  cursor: pointer;
  font-family: '微軟正黑體'; }

.btn {
  display: inline-block; }

/*----- 泛用表格 -----*/
.t {
  display: table; }
  .t > .t-row {
    display: table-row; }
    .t > .t-row > .t-cell {
      display: table-cell;
      vertical-align: middle;
      border-collapse: collapse;
      margin: 0;
      padding: 0; }

dl {
  padding: 5px 0; }
  dl dt, dl dd {
    display: inline-block;
    vertical-align: middle; }

/*定義區塊*/
.container {
  margin: auto;
  position: relative;
  z-index: 100;
  width: 1200px;
  max-width: 100%;
  padding: 0 15px; }

.wrap {
  padding: 20px 0; }

.row {
  position: relative;
  padding: 10px 0; }

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
.col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
  position: relative;
  min-height: 1px;
  float: left;
  padding-left: 5px;
  padding-right: 5px; }

.col-12 {
  width: 100%; }

.col-11 {
  width: 91.66666667%; }

.col-10 {
  width: 83.33333333%; }

.col-9 {
  width: 75%; }

.col-8 {
  width: 66.66666667%; }

.col-7 {
  width: 58.33333333%; }

.col-6 {
  width: 50%; }

.col-5 {
  width: 41.66666667%; }

.col-4 {
  width: 33.33333333%; }

.col-3 {
  width: 25%; }

.col-2 {
  width: 16.66666667%; }

.col-1 {
  width: 8.33333333%; }

.bg-img {
  background-size: cover;
  display: block;
  width: 100%;
  height: 0; }

.pic {
  position: relative;
  font-size: 0;
  width: 100%;
  height: 0;
  display: block; }
  .pic > span {
    width: 100%;
    height: 100%;
    position: absolute;
    text-align: center;
    top: 0;
    left: 0; }
    .pic > span:before {
      content: ' ';
      display: inline-block;
      height: 100%;
      width: 0;
      vertical-align: middle; }
    .pic > span > img, .pic > span > iframe {
      max-width: 100%;
      max-height: 100%;
      width: auto;
      height: auto;
      display: inline-block;
      vertical-align: middle; }
    .pic > span > iframe {
      width: 100%;
      height: 100%; }

/*-----RWD地圖&Youtube影片-----*/
.map, .video {
  position: relative;
  width: 100%;
  height: 0; }
  .map iframe, .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.cf:after, .row:after, dl:after {
  display: block;
  height: 0;
  clear: both;
  content: "";
  visibility: hidden; }

.editor {
  word-break: break-word;
  /* Begin bidirectionality settings (do not change) */ }
  .editor i {
    font-style: italic; }
  .editor em, .editor b, .editor strong {
    font-weight: bold; }
  .editor img {
    height: auto !important; }
  .editor html, .editor address, .editor blockquote, .editor body, .editor dd, .editor div, .editor dl, .editor dt, .editor fieldset, .editor form,
  .editor frame, .editor frameset, .editor h1, .editor h2, .editor h3, .editor h4, .editor h5, .editor h6, .editor noframes, .editor ol, .editor p, .editor ul, .editor center,
  .editor dir, .editor hr, .editor menu, .editor pre {
    display: block; }
  .editor li {
    display: list-item; }
  .editor head {
    display: none; }
  .editor table {
    display: table; }
  .editor tr {
    display: table-row; }
  .editor thead {
    display: table-header-group; }
  .editor tbody {
    display: table-row-group; }
  .editor tfoot {
    display: table-footer-group; }
  .editor col {
    display: table-column; }
  .editor colgroup {
    display: table-column-group; }
  .editor td, .editor th {
    display: table-cell; }
  .editor caption {
    display: table-caption; }
  .editor th {
    font-weight: bolder;
    text-align: center; }
  .editor caption {
    text-align: center; }
  .editor body {
    margin: 8px; }
  .editor h1 {
    font-size: 2em;
    margin: .67em 0; }
  .editor h2 {
    font-size: 1.5em;
    margin: .75em 0; }
  .editor h3 {
    font-size: 1.17em;
    margin: .83em 0; }
  .editor h4, .editor p, .editor blockquote, .editor ul, .editor fieldset, .editor form, .editor ol, .editor dl, .editor dir, .editor menu {
    margin: 1.12em 0; }
  .editor h5 {
    font-size: .83em;
    margin: 1.5em 0; }
  .editor h6 {
    font-size: .75em;
    margin: 1.67em 0; }
  .editor h1, .editor h2, .editor h3, .editor h4, .editor h5, .editor h6, .editor b, .editor strong {
    font-weight: bolder; }
  .editor blockquote {
    margin-left: 40px;
    margin-right: 40px; }
  .editor i, .editor cite, .editor em, .editor var, .editor address {
    font-style: italic; }
  .editor pre, .editor tt, .editor code, .editor kbd, .editor samp {
    font-family: monospace; }
  .editor pre {
    white-space: pre; }
  .editor button, .editor textarea, .editor input, .editor select {
    display: inline-block; }
  .editor big {
    font-size: 1.17em; }
  .editor small, .editor sub, .editor sup {
    font-size: .83em; }
  .editor sub {
    vertical-align: sub; }
  .editor sup {
    vertical-align: super; }
  .editor table {
    border-spacing: 2px; }
  .editor thead, .editor tbody, .editor tfoot {
    vertical-align: middle; }
  .editor td, .editor th {
    vertical-align: inherit; }
  .editor s, .editor strike, .editor del {
    text-decoration: line-through; }
  .editor hr {
    border: 1px inset; }
  .editor ol, .editor ul, .editor dir, .editor menu, .editor dd {
    margin-left: 40px; }
  .editor ol {
    list-style-type: decimal; }
  .editor ol ul, .editor ul ol, .editor ul ul, .editor ol ol {
    margin-top: 0;
    margin-bottom: 0; }
  .editor u, .editor ins {
    text-decoration: underline; }
  .editor br:before {
    content: "\A"; }
  .editor :before, .editor :after {
    white-space: pre-line; }
  .editor center {
    text-align: center; }
  .editor :link, .editor :visited {
    text-decoration: underline; }
  .editor :focus {
    outline: thin dotted invert; }
  .editor BDO[DIR="ltr"] {
    direction: ltr;
    unicode-bidi: bidi-override; }
  .editor BDO[DIR="rtl"] {
    direction: rtl;
    unicode-bidi: bidi-override; }
  .editor *[DIR="ltr"] {
    direction: ltr;
    unicode-bidi: embed; }
  .editor *[DIR="rtl"] {
    direction: rtl;
    unicode-bidi: embed; }
  @media print {
    .editor h1 {
      page-break-before: always; }
    .editor h1, .editor h2, .editor h3, .editor h4, .editor h5, .editor h6 {
      page-break-after: avoid; }
    .editor ul, .editor ol, .editor dl {
      page-break-before: avoid; } }

/*-----排版-----*/
.txt-center {
  text-align: center; }

.txt-right {
  text-align: right; }

.inline-item {
  display: inline-block; }

.align-m {
  display: inline-block;
  vertical-align: middle; }

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  display: -webkit-flex;
  -webkit-flex-wrap: wrap; }

/*----- header -----*/
header {
  position: relative;
  z-index: 9000;
  background-image: url(../_img/layout/header_bg.jpg);
  background-repeat: repeat-x;
  color: #fff;
  font-size: 22px; }
  header #logo {
    margin: 20px 0;
    float: left; }
  header #main-nav {
    width: calc(100% - 160px);
    margin-top: 2rem;
    float: right;
    text-align: right; }
    header #main-nav li {
      display: inline-block;
      margin-left: 2em; }
      header #main-nav li a {
        display: block;
        position: relative; }
        header #main-nav li a:after {
          content: '';
          position: absolute;
          width: 3.5em;
          height: 1px;
          background-color: #DF0000;
          bottom: -20px;
          opacity: 0;
          -webkit-transition: all .2s ease-out;
          -o-transition: all .2s ease-out;
          transition: all .2s ease-out; }
      header #main-nav li:hover, header #main-nav li.active {
        color: #DF0000; }
        header #main-nav li:hover a:after, header #main-nav li.active a:after {
          opacity: 1;
          bottom: -5px;
          -webkit-transition: all .15s ease-in-out;
          -o-transition: all .15s ease-in-out;
          transition: all .15s ease-in-out; }

#qr-icon {
  position: fixed;
  width: 135px;
  height: auto;
  right: 20px;
  top: 25vh;
  display: block;
  text-align: center;
  color: #fff;
  background-color: #000;
  font-size: 16px;
  padding: 10px 0 0 0; }
  #qr-icon a img {
    width: 90%;
    height: auto;
    margin: 10px auto; }

#icon-cart {
  display: table;
  position: fixed;
  width: 135px;
  height: 135px;
  right: 20px;
  top: 45vh;
  border-radius: 100%;
  background-color: #000;
  font-size: 1rem; }
  #icon-cart a {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    color: #fff; }
    #icon-cart a .icon {
      position: relative;
      display: inline-block; }
      #icon-cart a .icon .number {
        position: absolute;
        display: inline-block;
        width: 20px;
        height: 20px;
        top: -10px;
        right: -5px;
        line-height: 20px;
        font-size: 11px;
        border-radius: 100%;
        background-color: #DF0000;
        text-align: center; }
    #icon-cart a p {
      margin-top: 5px; }

/*----- footer -----*/
#goTop {
  position: absolute;
  right: calc(50% - 1300px / 2 - 20px);
  cursor: pointer;
  z-index: 9000; }

footer {
  margin-top: 3rem;
  padding: 20px 0;
  font-size: 18px;
  background-color: #111;
  color: #999; }
  footer .footer-container {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    footer .footer-container .footer-main {
      -webkit-box-flex: 3;
      -ms-flex: 3;
      flex: 3; }
    footer .footer-container .footer-logo img, footer .footer-container .footer-logo span {
      display: inline-block;
      vertical-align: middle; }
    footer .footer-container .contact-list {
      max-width: 720px;
      color: #666; }
      footer .footer-container .contact-list li {
        display: inline-block;
        margin: .2em 2.3em .2em 0; }
        footer .footer-container .contact-list li .icon, footer .footer-container .contact-list li .content {
          display: inline-block;
          vertical-align: middle; }
        footer .footer-container .contact-list li .icon {
          margin-right: 5px; }
        footer .footer-container .contact-list li .flag {
          display: inline-block;
          vertical-align: middle;
          width: 28px;
          margin-right: 3px; }
    footer .footer-container .footer-nav {
      min-width: 230px;
      text-align: right;
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1;
      color: #666; }
      footer .footer-container .footer-nav li {
        display: inline-block;
        position: relative;
        margin: .15em .5em; }
        footer .footer-container .footer-nav li:before {
          content: '\f105';
          font-family: 'Font Awesome 5 Free';
          font-weight: 900;
          display: inline-block;
          margin-right: 5px; }
      footer .footer-container .footer-nav .qr-iocn {
        display: none;
        width: 100px;
        height: auto;
        margin: 10px auto; }
        footer .footer-container .footer-nav .qr-iocn a img {
          width: 100%;
          height: auto; }
  footer .copyright {
    font-size: 13px;
    color: #333; }
    footer .copyright span {
      opacity: .6; }

/*--- sticky footer ---*/
.template {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 100vh; }
  .template main {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }

/*--- typography ---*/
.h1 {
  font-size: 36px; }

.h2 {
  font-size: 30px; }

.main-title {
  text-align: center;
  font-size: 48px; }

[data-leader="nt"] {
  position: relative; }
  [data-leader="nt"]:before {
    content: 'NT$';
    display: inline-block;
    margin-right: .3em;
    vertical-align: baseline;
    font-size: 1rem; }

.money.money-big {
  color: #DF0000;
  font-size: 30px; }
  .money.money-big:before {
    font-size: 30px; }

.column-title {
  padding: 5px 1.5rem;
  background-color: #eee;
  color: #333; }

.column-content {
  padding: 1rem 10px; }

/*--- side menu layout ---*/
aside {
  float: left;
  width: 210px; }
  aside h6 {
    display: none;
    padding: 8px;
    background-color: #ccc;
    text-align: center;
    cursor: pointer; }

.main-content {
  float: right;
  padding-left: 2rem;
  width: calc(100% - 210px); }

.side-menu {
  position: relative;
  padding: 3px 10px; }
  .side-menu:before {
    content: '';
    display: block;
    position: absolute;
    width: 1px;
    height: 100%;
    top: 0;
    left: 14px;
    background-color: #ddd; }
  .side-menu li {
    position: relative;
    margin: 1em 0;
    color: #666; }
    .side-menu li a {
      display: inline-block; }
      .side-menu li a:before {
        content: '';
        display: inline-block;
        vertical-align: middle;
        margin-right: 10px;
        width: 9px;
        height: 9px;
        border-radius: 100%;
        background-color: #fff;
        border: 2px solid #666; }
    .side-menu li.active, .side-menu li:hover {
      color: #000; }
      .side-menu li.active > a:before, .side-menu li:hover > a:before {
        border-color: #DF0000; }
    .side-menu li ul {
      position: relative;
      padding: 1px 10px;
      margin-left: 8px; }
      .side-menu li ul:before {
        content: '';
        display: block;
        position: absolute;
        width: 1px;
        height: calc(100% - 10px);
        top: 5px;
        left: 14px;
        background-color: #ddd; }
      .side-menu li ul li.active a {
        text-decoration: underline; }
      .side-menu li ul .inner-menu {
        margin-left: 10px; }
        .side-menu li ul .inner-menu:before {
          display: none; }

/*--- buttons ---*/
.btn {
  position: relative;
  display: inline-block; }

.btn-border {
  width: 100%;
  max-width: 200px;
  border: 1px double #000;
  text-align: center;
  font-size: 1rem;
  padding: .5rem 0;
  color: #000; }
  .btn-border:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 0;
    bottom: 0;
    left: 0;
    background-color: #000;
    z-index: -1;
    -webkit-transition: all .2s ease;
    -o-transition: all .2s ease;
    transition: all .2s ease; }
  .btn-border:hover {
    color: #fff; }
    .btn-border:hover:after {
      height: 100%;
      -webkit-transition: all .15s ease;
      -o-transition: all .15s ease;
      transition: all .15s ease; }

.btn-solid {
  width: 100%;
  max-width: 200px;
  padding: .5rem 0;
  background-color: #000;
  color: #fff;
  text-align: center;
  -webkit-transition: all .2s ease;
  -o-transition: all .2s ease;
  transition: all .2s ease; }
  .btn-solid:hover {
    -webkit-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    transform: translateY(-1px);
    -webkit-box-shadow: 0 1px 5px rgba(204, 204, 204, 0.8);
    box-shadow: 0 1px 5px rgba(204, 204, 204, 0.8);
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease; }

[data-btn="add"] {
  background-color: #FF5C26; }

[data-btn="go"] {
  background-color: #DF0000; }

[data-btn="fb"] {
  background-color: #3C5A99; }

[data-btn="google"] {
  background-color: #EA4235; }

[data-btn="wechat"] {
  background-color: #3CB034; }

.btn-back img, .btn-back span {
  display: inline-block;
  vertical-align: middle;
  margin: 0 5px; }

/*--- pagination ---*/
#pagination {
  margin-top: 3rem; }
  #pagination .page-list {
    text-align: center; }
    #pagination .page-list > li {
      display: inline-block;
      vertical-align: middle;
      margin: 0 5px; }
    #pagination .page-list .page-item a {
      display: block;
      width: 32px;
      height: 32px;
      line-height: 32px;
      border-radius: 8px;
      border: 1px solid #ddd; }
    #pagination .page-list .page-item:hover, #pagination .page-list .page-item.active {
      color: #fff; }
      #pagination .page-list .page-item:hover a, #pagination .page-list .page-item.active a {
        background-color: #000;
        border-color: #000; }

/*--- LightBox ---*/
.lightbox-bg {
  position: fixed;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 9100; }

.lightbox {
  display: none;
  width: 90%;
  max-width: 1200px;
  height: auto;
  max-height: 90%;
  position: fixed;
  top: 50%;
  left: 50%;
  padding: 50px;
  overflow: auto;
  background-color: #eee;
  -webkit-box-shadow: 1px 1px 12px 0 rgba(0, 0, 0, 0.3);
  box-shadow: 1px 1px 12px 0 rgba(0, 0, 0, 0.3);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 9200; }
  .lightbox .ask-form {
    max-width: 780px;
    margin: auto; }
  .lightbox .close {
    width: 25px;
    height: 25px;
    position: absolute;
    top: 15px;
    right: 15px;
    cursor: pointer;
    z-index: 80; }
    .lightbox .close:before, .lightbox .close:after {
      content: '';
      top: 50%;
      position: absolute;
      width: 30px;
      height: 2px;
      background-color: #DF0000; }
    .lightbox .close:before {
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg); }
    .lightbox .close:after {
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg); }
  .lightbox .title {
    font-size: 20px;
    text-align: center; }

/*----- Index -----*/
#banner .bg-img {
  padding-top: 37.5%; }

#banner .swiper-pagination-bullet {
  position: relative;
  width: 12px;
  height: 12px;
  margin: 0 5px;
  background-color: #fff;
  border: 2px solid #fff;
  opacity: 1; }
  #banner .swiper-pagination-bullet.swiper-pagination-bullet-active, #banner .swiper-pagination-bullet:hover {
    background-color: #DF0000; }

#index section {
  padding: 4rem 0; }

#index .index-product {
  border-bottom: 1px solid #eee; }
  #index .index-product .title {
    margin: 10px 0 30px;
    text-align: center; }
    #index .index-product .title .sub {
      font-size: 18px;
      color: #666;
      font-style: italic; }

#index .product-slider {
  margin-bottom: 0; }
  #index .product-slider .slick-prev, #index .product-slider .slick-next {
    background-size: cover;
    background-repeat: no-repeat;
    width: 16px;
    height: 24px;
    top: calc(50% - 20px); }
    #index .product-slider .slick-prev:before, #index .product-slider .slick-next:before {
      display: none; }
  #index .product-slider .slick-prev {
    background-image: url(../_img/layout/arrow_prev.png);
    left: -20px; }
  #index .product-slider .slick-next {
    background-image: url(../_img/layout/arrow_next.png);
    right: -20px; }

#index .index-about .about-container {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

#index .index-about .about-info {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-right: 20px; }
  #index .index-about .about-info h1 {
    margin-bottom: .3em; }

#index .btn-border {
  border: 1px double #DF0000;
  text-align: center;
  font-size: 1rem;
  padding: .5rem 0;
  color: #DF0000; }
  #index .btn-border:after {
    background-color: #DF0000; }
  #index .btn-border:hover {
    color: #fff; }

/*----- about -----*/
.page-banner {
  position: relative;
  margin-bottom: 4rem; }
  .page-banner .main-title {
    position: absolute;
    color: #fff;
    font-weight: 100; }
  .page-banner .bg-img {
    height: 200px;
    background-position: center; }

#about .about-intro {
  text-align: center;
  font-size: 20px; }
  #about .about-intro p {
    margin-bottom: 1.3em;
    line-height: 2; }
  #about .about-intro img {
    margin-top: -120px; }

/*----- product -----*/
.product-item {
  position: relative;
  display: inline-block;
  padding: 10px;
  margin-bottom: 2.5rem; }
  .product-item figure {
    position: relative; }
    .product-item figure .mask {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: rgba(223, 0, 0, 0.5);
      z-index: 15;
      opacity: 0;
      -webkit-transition: all 0.2s cubic-bezier(0.38, 0.38, 0.72, 0.72);
      -o-transition: all 0.2s cubic-bezier(0.38, 0.38, 0.72, 0.72);
      transition: all 0.2s cubic-bezier(0.38, 0.38, 0.72, 0.72); }
      .product-item figure .mask img {
        max-width: 80%; }
  .product-item .bg-img {
    padding-top: 100%;
    background-size: contain;
    background-repeat: no-repeat; }
  .product-item .product-name {
    margin-top: 8px;
    color: #333;
    text-align: center;
    font-size: 18px; }
  .product-item .product-numbers {
    margin-top: 5px;
    color: #333;
    text-align: center;
    font-size: 14px; }
  .product-item:hover figure .mask {
    opacity: 1;
    -webkit-transition: all 0.2s cubic-bezier(0.5, 0.5, 0.72, 0.72);
    -o-transition: all 0.2s cubic-bezier(0.5, 0.5, 0.72, 0.72);
    transition: all 0.2s cubic-bezier(0.5, 0.5, 0.72, 0.72); }

#product .product-container h2 {
  margin-bottom: .3em; }

#product .product-list .product-item {
  width: 33.33%; }

#product .slider-for .item, #product .slider-nav .item {
  outline: 0; }

#product .slider-for .pic, #product .slider-nav .pic {
  padding-top: 100%; }

#product .slick-slide {
  padding: 0 30px 0; }

#product .slider-nav {
  padding: 0 40px; }
  #product .slider-nav .item {
    cursor: pointer;
    padding: 5px; }
  #product .slider-nav .slick-prev, #product .slider-nav .slick-next {
    background-size: cover;
    width: 16px;
    height: 24px; }
    #product .slider-nav .slick-prev:before, #product .slider-nav .slick-next:before {
      display: none; }
  #product .slider-nav .slick-prev {
    background-image: url(../_img/layout/arrow_prev.png);
    left: 0px; }
  #product .slider-nav .slick-next {
    background-image: url(../_img/layout/arrow_next.png);
    right: 0px; }

#product .product-info {
  padding-left: 1.5rem; }
  #product .product-info .product-info--name {
    margin-bottom: 5px;
    line-height: 1.2; }
    #product .product-info .product-info--name .number {
      font-size: 24px; }
  #product .product-info .product-info--brief {
    margin: 15px 0; }
    #product .product-info .product-info--brief .editor {
      font-size: 1.2rem; }
  #product .product-info .product-info--buy .row {
    padding: 5px 0; }
  #product .product-info .product-info--buy .money {
    display: inline-block;
    vertical-align: middle;
    font-size: 30px; }
  #product .product-info .product-info--buy .number {
    display: inline-block;
    vertical-align: middle;
    width: calc(100% - 140px - 10px);
    margin-left: 30px;
    text-align: center; }
    #product .product-info .product-info--buy .number > div {
      display: inline-block;
      margin: 0px -2px;
      width: calc( 100% - 100px);
      height: 2.6em;
      line-height: 2.6em;
      vertical-align: middle; }
      #product .product-info .product-info--buy .number > div.decrease, #product .product-info .product-info--buy .number > div.increase {
        width: 50px;
        cursor: pointer;
        border: 1px #CCC solid;
        outline: 0;
        position: relative;
        top: 1px;
        padding-top: 10px; }
      #product .product-info .product-info--buy .number > div input {
        height: 100%; }
  #product .product-info .product-info--buy .btn {
    max-width: calc(50% - 5px);
    margin: 0 1px; }
  #product .product-info .product-info--buy .btn[data-btn="go"] {
    max-width: 100%; }
  #product .product-info .product-info--buy .btn-buy-parts {
    font-size: 1.2rem;
    color: #FF5C26; }
    #product .product-info .product-info--buy .btn-buy-parts svg {
      margin-right: 5px;
      vertical-align: middle; }
    #product .product-info .product-info--buy .btn-buy-parts path {
      fill: #FF5C26; }
  #product .product-info .product-info--detail {
    margin: 15px 0;
    padding: 15px 0;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd; }
    #product .product-info .product-info--detail h4 {
      font-weight: bold;
      font-size: 1.2rem; }

#product .product-parts .cart-total .money {
  color: #FF5C26;
  font-size: 30px; }
  #product .product-parts .cart-total .money:before {
    color: #000; }

#product .product-top .product-item {
  width: 25%; }

#product .product-register .col-box {
  float: right; }
  #product .product-register .col-box ul {
    color: #333;
    margin-bottom: 20px; }
    #product .product-register .col-box ul li {
      margin: 8px 0; }

#product .product-register .register-box {
  margin-bottom: 10px; }
  #product .product-register .register-box .form-cell-register {
    width: 200px;
    margin-right: 10px; }
  #product .product-register .register-box .product-check.not-ok {
    color: #DF0000; }
    #product .product-register .register-box .product-check.not-ok path {
      fill: #DF0000; }

#product .product-register .add-register-box {
  margin-bottom: 30px;
  padding: 15px;
  border-top: 1px solid #ddd; }
  #product .product-register .add-register-box p {
    cursor: pointer; }
  #product .product-register .add-register-box path {
    fill: #DF0000; }

.cart-table th, .cart-table td {
  padding: 5px; }
  .cart-table th.tl, .cart-table td.tl {
    text-align: left; }

.cart-table thead {
  background-color: #eee;
  color: #333; }

.cart-table tbody tr {
  border-bottom: 1px solid #eee; }
  .cart-table tbody tr:last-child {
    border-bottom: 0; }
  .cart-table tbody tr.select .money[data-form="subtotal"] {
    color: #FF5C26; }

.cart-table tbody .cart-table--product-info {
  text-align: left; }
  .cart-table tbody .cart-table--product-info .img, .cart-table tbody .cart-table--product-info .info {
    display: inline-block;
    vertical-align: middle; }
  .cart-table tbody .cart-table--product-info .info {
    padding-left: 1rem; }
  .cart-table tbody .cart-table--product-info .img {
    width: 80px; }

.cart-table tbody .cart-table--product-amount {
  /*number*/ }
  .cart-table tbody .cart-table--product-amount input[type="number"] {
    max-width: 100px;
    text-align: center; }
  .cart-table tbody .cart-table--product-amount span {
    display: inline-block;
    margin: 0 3px; }
  .cart-table tbody .cart-table--product-amount .number {
    display: inline-block;
    vertical-align: middle;
    text-align: center; }
    .cart-table tbody .cart-table--product-amount .number > div {
      display: inline-block;
      margin: 0px -2px;
      width: 50px;
      height: 2.6em;
      line-height: 2.6em;
      vertical-align: middle; }
      .cart-table tbody .cart-table--product-amount .number > div.decrease, .cart-table tbody .cart-table--product-amount .number > div.increase {
        width: 30px;
        cursor: pointer;
        border: 1px #CCC solid;
        outline: 0;
        position: relative;
        top: 1px;
        padding-top: 10px; }
      .cart-table tbody .cart-table--product-amount .number > div input {
        height: 100%; }
    .cart-table tbody .cart-table--product-amount .number:before {
      content: 'x';
      color: #666;
      padding-right: 15px; }

.style_center {
  text-align: center; }

.money {
  width: 80px;
  color: #666; }
  .money b {
    color: #000;
    font-weight: bold; }

.unit {
  width: 80px; }

.table-container .cart-total {
  text-align: right; }
  .table-container .cart-total .row {
    padding-right: 1.5rem;
    border-top: 1px solid #eee; }
    .table-container .cart-total .row .cart-total--cell {
      display: inline-block; }
  .table-container .cart-total p {
    margin-bottom: 5px; }
  .table-container .cart-total span.money {
    display: inline-block;
    margin-left: 1rem; }

.order-info-form th {
  padding: 5px 0;
  vertical-align: top; }

.order-info-form td {
  padding: 5px 0; }

.order-info-form .form-address select {
  width: calc(50% - 30px - 2rem - 10px); }

.order-info-form .form-address span {
  display: inline-block; }

/*----- member -----*/
#member dl {
  position: relative; }
  #member dl #account_check {
    position: absolute;
    right: 0;
    top: 5px;
    line-height: 3; }

#member .tab-list {
  display: none;
  margin-bottom: 20px;
  text-align: center; }
  #member .tab-list li {
    display: inline-block;
    margin: 0 5px; }
    #member .tab-list li a {
      position: relative;
      display: inline-block;
      padding: 5px 0; }
      #member .tab-list li a:after {
        content: '';
        position: absolute;
        display: block;
        width: 100%;
        height: 2px;
        left: 0;
        bottom: 5px;
        opacity: 0;
        background-color: #DF0000;
        -webkit-transition: all .2s ease;
        -o-transition: all .2s ease;
        transition: all .2s ease; }
    #member .tab-list li.current {
      color: #DF0000; }
      #member .tab-list li.current a:after {
        opacity: 1;
        -webkit-transition: all .2s ease;
        -o-transition: all .2s ease;
        transition: all .2s ease; }

#member .page-banner {
  margin: 4rem 0 3rem; }

#member .main-title {
  position: relative;
  color: #000;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  top: auto;
  left: auto; }

#member .member-login-box h2 {
  margin-bottom: 15px;
  text-align: center; }

#member .member-login-box form {
  max-width: 420px;
  margin: auto; }
  #member .member-login-box form .forget-password {
    text-align: right;
    color: #333; }

#member .member-login-box:first-child {
  border-right: 1px solid #ddd; }

#member .register-form-wrap .form-address select {
  width: calc((100% - 30px - 2rem) / 2 - 6px); }

#member form {
  color: #333; }
  #member form .form-buttons, #member form .btn-row {
    margin-top: 20px;
    text-align: center; }

#member .column-title {
  text-align: center; }

#member .member-data-table {
  max-width: 400px;
  margin: auto; }
  #member .member-data-table .form-address select {
    width: calc((100% - 30px - 2rem) / 2 - 6px); }

#member .order-list li {
  padding: 8px 0;
  border-bottom: 1px solid #ddd; }
  #member .order-list li > div {
    display: inline-block; }

#member .order-list .number {
  width: 25px;
  vertical-align: middle;
  padding: 0 5px; }

#member .order-list .info {
  width: calc(100% - 25px - 90px - 20px);
  vertical-align: top;
  color: #333; }
  #member .order-list .info table {
    max-width: 410px; }
    #member .order-list .info table tr {
      border-bottom: 0; }
    #member .order-list .info table td {
      padding: 2px; }

#member .order-list .buttons {
  width: 90px; }

#member .order-list .btn-order-tool {
  margin: 2px;
  padding: 12px 8px;
  border-radius: 6px;
  text-align: center;
  background-color: #000;
  color: #fff; }
  #member .order-list .btn-order-tool p {
    margin-top: 3px; }
  #member .order-list .btn-order-tool path {
    fill: #fff; }
  #member .order-list .btn-order-tool:hover {
    background-color: #DF0000; }

#member .order-form {
  border: 1px solid #ddd; }
  #member .order-form tr {
    display: inline-table;
    width: 50%;
    border-bottom: 1px solid #ddd; }
    #member .order-form tr:last-child {
      width: 100%;
      border-bottom: 0; }
  #member .order-form th, #member .order-form td {
    padding: 10px; }
  #member .order-form th {
    width: 100px;
    text-align: center;
    background-color: #eee; }

#member .order-form {
  border: 1px solid #ddd; }
  #member .order-form tr {
    border-bottom: 1px solid #ddd; }
  #member .order-form th, #member .order-form td {
    padding: 10px; }
  #member .order-form th {
    width: 100px;
    text-align: center;
    background-color: #eee; }

#member .column-content {
  padding: 15px 0; }

#member .product-fix-apply--inner {
  max-width: 780px;
  margin: auto; }
  #member .product-fix-apply--inner .top-wrap {
    display: table;
    margin-bottom: 15px; }
    #member .product-fix-apply--inner .top-wrap > div {
      display: table-cell;
      vertical-align: middle; }
      #member .product-fix-apply--inner .top-wrap > div.icon {
        padding: 10px 20px; }
    #member .product-fix-apply--inner .top-wrap a {
      color: #DF0000;
      text-decoration: underline; }

#member .product-fix-apply-form .form-address select {
  width: 120px; }

#member .product-fix-apply-form .form-address input[type="text"] {
  width: calc(100% - 120px * 2 - 15px); }

#member .product-fix-apply-form svg {
  margin: 0 2px; }

#member .member-search-table th, #member .member-search-table td {
  padding: 8px 2px;
  text-align: center; }

#member .member-search-table thead {
  background-color: #eee;
  color: #333; }

#member .member-search-table tbody tr {
  border-bottom: 1px solid #eee; }

.select-wrap {
  margin-top: 5px; }
  .select-wrap .select-box {
    display: inline-block;
    margin-right: 20px; }
    .select-wrap .select-box:last-child {
      margin-right: 0; }
    .select-wrap .select-box .select-css {
      position: relative;
      display: inline-block;
      padding-left: 18px;
      cursor: pointer;
      color: #ccc; }
      .select-wrap .select-box .select-css:before {
        content: '';
        display: block;
        position: absolute;
        width: 5px;
        height: 9px;
        left: 5px;
        top: 6px;
        border-right: 2px solid #DF0000;
        border-bottom: 2px solid #DF0000;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        z-index: 5;
        opacity: 0; }
      .select-wrap .select-box .select-css:after {
        content: '';
        display: block;
        position: absolute;
        width: 14px;
        height: 14px;
        left: 0;
        top: 5px;
        border-radius: 100%;
        border: 1px solid #eee;
        background-color: #fff; }
      .select-wrap .select-box .select-css.is-checked {
        color: #333; }
        .select-wrap .select-box .select-css.is-checked:before {
          opacity: 1; }
        .select-wrap .select-box .select-css.is-checked:after {
          border-color: #999; }

.lightbox .btn-file-upload {
  width: 90%;
  max-width: 160px;
  padding: 5px;
  text-align: center;
  border: 0;
  color: #fff;
  background-color: #000;
  cursor: pointer; }

.lightbox input[type="file"] {
  display: inline-block;
  position: absolute;
  left: 90px;
  top: 15px;
  outline: 0;
  z-index: -1; }

/*----- cart -----*/
#cart section {
  margin-bottom: 2rem; }

#cart .page-banner {
  margin: 4rem 0 3rem;
  text-align: center; }

#cart .cart-table tbody .cart-table--product-info .img {
  width: 100px; }

#cart .cart-table tbody .cart-table--product-cancel img {
  cursor: pointer; }

#cart .cart-carriage-remind {
  font-size: 0.8em;
  padding-right: 10px; }
  #cart .cart-carriage-remind i {
    color: red;
    font-weight: bold;
    text-decoration: underline;
    font-size: 1rem; }

#cart .cart-total .row {
  padding-right: 30px; }

#cart .payway-list li {
  margin: 10px; }
  #cart .payway-list li img {
    display: inline-block;
    vertical-align: middle;
    margin-left: 5px; }

#cart form {
  color: #333; }

#cart .col-box {
  padding: 0 10px; }
  #cart .col-box .col-box--inner {
    max-width: 480px;
    margin: auto; }
    #cart .col-box .col-box--inner .info-same {
      display: inline-block;
      margin-left: 10px; }

#cart .order-sheet-form {
  margin-left: 1rem; }
  #cart .order-sheet-form td {
    padding: 8px 0; }
  #cart .order-sheet-form label, #cart .order-sheet-form span {
    display: inline-block;
    margin-right: 1.5rem; }
  #cart .order-sheet-form .form-cell-s {
    width: 180px;
    margin-right: 20px; }

#cart .btn-row .btn {
  margin: 2px; }

#cart .order-form {
  border: 1px solid #ddd; }
  #cart .order-form tr {
    display: inline-table;
    width: 50%;
    border-bottom: 1px solid #ddd; }
    #cart .order-form tr:nth-child(3), #cart .order-form tr:last-child {
      border-bottom: 0; }
  #cart .order-form th, #cart .order-form td {
    padding: 10px; }
  #cart .order-form th {
    width: 100px;
    text-align: center;
    background-color: #eee; }

/*----- contact -----*/
#contact .page-banner {
  margin: 4rem 0 3rem; }

#contact .main-title {
  position: relative;
  color: #000;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  top: auto;
  left: auto; }

#contact .contact-icon {
  color: #00c300; }

#contact .map {
  padding-top: 35%; }

#contact article {
  text-align: center; }
  #contact article a {
    display: inline-block;
    vertical-align: baseline;
    margin-left: 5px;
    color: #DF0000;
    font-size: 30px; }
  #contact article .flag {
    display: inline-block;
    vertical-align: baseline;
    margin-right: 3px; }

#contact .contact-form {
  max-width: 780px;
  margin: 20px auto; }
  #contact .contact-form dt {
    width: calc(50% - 5px);
    margin-right: 5px; }
    #contact .contact-form dt:last-child {
      margin-right: 0; }

.shopping-process-img {
  text-align: center; }
  .shopping-process-img .txt {
    font-size: 1.2rem;
    margin-top: 2rem; }

.shopping-step {
  margin-top: 4rem; }
  .shopping-step .item {
    margin-bottom: 4rem; }
    .shopping-step .item .title {
      font-size: 1.5rem;
      color: #DF0000;
      margin-bottom: 1rem; }
    .shopping-step .item .detail .bold {
      font-weight: bold; }

@media only screen and (max-width: 1440px) {
  /*--- header ---*/
  #qr-icon {
    width: 100px;
    right: 10px; }
  #icon-cart {
    width: 100px;
    height: 100px;
    right: 10px; }
  /*--- footer ---*/
  #goTop {
    right: 15px; } }

@media only screen and (max-width: 1024px) {
  .rwd-col-12 {
    float: none;
    width: 100%; }
  .main-title {
    font-size: 30px; }
  .form-address .form-cell {
    width: calc(50% - 30px - 1rem - 10px); }
  .form-address span {
    margin-right: 1rem; }
  #member .page-banner, #cart .page-banner {
    margin: 2rem 0 1.5rem; }
  /*--- header ---*/
  #burger {
    width: 25px;
    height: 20px;
    font-size: 0;
    position: absolute;
    top: 40px;
    right: 25px;
    cursor: pointer;
    z-index: 99999; }
    #burger span {
      background-color: #5e5e5e;
      display: block;
      position: absolute;
      top: 0px;
      left: 0;
      right: 0;
      height: 2px;
      -webkit-transition: all .3s ease;
      -o-transition: all .3s ease;
      transition: all .3s ease;
      -webkit-transition-delay: 0.2s, 0s;
      -o-transition-delay: 0.2s, 0s;
      transition-delay: 0.2s, 0s; }
      #burger span:nth-child(2) {
        top: 9px;
        -webkit-transition-property: all, -webkit-transform;
        transition-property: all, -webkit-transform;
        -o-transition-property: all, transform;
        transition-property: all, transform;
        transition-property: all, transform, -webkit-transform; }
      #burger span:last-child {
        top: 18px;
        -webkit-transition-property: all, -webkit-transform;
        transition-property: all, -webkit-transform;
        -o-transition-property: all, transform;
        transition-property: all, transform;
        transition-property: all, transform, -webkit-transform;
        -webkit-transition-delay: 0.2s, 0s;
        -o-transition-delay: 0.2s, 0s;
        transition-delay: 0.2s, 0s; }
    #burger.active {
      position: fixed; }
      #burger.active span {
        -webkit-transition: all .3s ease;
        -o-transition: all .3s ease;
        transition: all .3s ease;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        top: 9px;
        left: 0px; }
        #burger.active span:nth-child(2), #burger.active span:last-child {
          -webkit-transition-property: top,-webkit-transform;
          transition-property: top,-webkit-transform;
          -o-transition-property: top,transform;
          transition-property: top,transform;
          transition-property: top,transform,-webkit-transform;
          -webkit-transition-property: all, -webkit-transform;
          transition-property: all, -webkit-transform;
          -o-transition-property: all, transform;
          transition-property: all, transform;
          transition-property: all, transform, -webkit-transform; }
        #burger.active span:nth-child(2) {
          left: -100%;
          opacity: 0;
          -webkit-transform: rotate(0);
          -ms-transform: rotate(0);
          transform: rotate(0);
          -webkit-transition-delay: 0.2s, 0s;
          -o-transition-delay: 0.2s, 0s;
          transition-delay: 0.2s, 0s; }
        #burger.active span:last-child {
          -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
          transform: rotate(-45deg); }
  header #logo {
    float: none; }
  header #main-nav {
    position: fixed;
    width: 80vw;
    max-width: 300px;
    height: 100vh;
    overflow: auto;
    margin-top: 0;
    right: 0;
    top: 0;
    float: none;
    background-color: #000;
    text-align: center;
    -webkit-transform: translateX(80vw);
    -ms-transform: translateX(80vw);
    transform: translateX(80vw);
    -webkit-transition: all 0.5s cubic-bezier(0.12, 0.35, 0.7, 0.51);
    -o-transition: all 0.5s cubic-bezier(0.12, 0.35, 0.7, 0.51);
    transition: all 0.5s cubic-bezier(0.12, 0.35, 0.7, 0.51); }
    header #main-nav.active {
      -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
      transform: translateX(0);
      -webkit-transition: all 0.6s cubic-bezier(0.37, 0.27, 0.41, 0.9);
      -o-transition: all 0.6s cubic-bezier(0.37, 0.27, 0.41, 0.9);
      transition: all 0.6s cubic-bezier(0.37, 0.27, 0.41, 0.9); }
    header #main-nav .menu {
      margin-top: 4em; }
    header #main-nav li {
      display: block;
      margin: 10px 0 20px; }
      header #main-nav li:hover a:after, header #main-nav li.active a:after {
        bottom: 0; }
  #icon-cart {
    position: absolute;
    width: auto;
    height: auto;
    top: 35px;
    right: 80px;
    background-color: transparent;
    z-index: 9000; }
    #icon-cart a p {
      display: none; }
  /*--- index ---*/
  #index .product-slider {
    padding: 0 20px; }
    #index .product-slider .slick-prev, #index .product-slider .slick-next {
      top: calc(50% - 30px); }
    #index .product-slider .slick-prev {
      z-index: 5;
      left: 0; }
    #index .product-slider .slick-next {
      right: 0; }
  /*--- side menu layout ---*/
  aside {
    float: none;
    width: 100%;
    margin-bottom: 20px; }
    aside h6 {
      display: block; }
  .main-content {
    float: none;
    width: 100%;
    padding-left: 0; }
  .side-menu {
    display: none;
    background-color: #f4f4f4; }
    .side-menu:before {
      top: 20px;
      left: 22px;
      height: calc(100% - 40px); }
    .side-menu li {
      margin: 8px; }
      .side-menu li a {
        display: block; }
      .side-menu li.active, .side-menu li:hover {
        color: #DF0000; }
      .side-menu li ul:before {
        top: 20px;
        left: 22px;
        height: calc(100% - 40px); }
  /*--- product ---*/
  #product .product-container {
    max-width: 600px;
    margin: auto; }
    #product .product-container .product-gallery {
      max-width: 400px;
      margin: auto;
      padding: 0; }
    #product .product-container .product-info {
      padding: 0; }
  #product .slider-nav {
    padding: 0 25px; }
  /*--- member ---*/
  #member .page-banner {
    margin: 2rem 0; }
  #member .tab-list {
    display: block; }
  #member .member-login-box:first-child {
    border-right: 0; }
  /*--- cart ---*/
  #cart .col-box .col-box--inner {
    margin-bottom: 20px; } }

@media only screen and (max-width: 768px) {
  .m-col-12 {
    float: none;
    width: 100%;
    margin: 0; }
  input[type="number"] {
    padding: 0 4px; }
  /*--- header ---*/
  #burger {
    top: 22px;
    right: 15px; }
  header #logo {
    margin: 10px 0; }
    header #logo img {
      width: 110px; }
  #qr-icon {
    display: none !important; }
  #icon-cart {
    top: 20px;
    right: 65px; }
    #icon-cart img {
      width: 35px; }
  /*--- footer ---*/
  footer {
    padding: 15px 0 5px;
    font-size: 1rem; }
    footer .footer-container {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
      footer .footer-container .footer-logo img {
        width: 62px; }
      footer .footer-container .footer-logo .h2 {
        font-size: 24px; }
      footer .footer-container .contact-list {
        max-width: 100%; }
      footer .footer-container .footer-nav {
        text-align: left;
        margin-top: 10px; }
        footer .footer-container .footer-nav li {
          margin: .1em 1em .1em 0; }
        footer .footer-container .footer-nav .qr-iocn {
          display: block; }
  /*--- index ---*/
  #index .index-about .about-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
  #index .index-about .about-info {
    margin-right: 0;
    margin-bottom: 15px; }
    #index .index-about .about-info h1 {
      font-size: 30px; }
  /*--- page banner ---*/
  .page-banner {
    margin-bottom: 5vw; }
    .page-banner .bg-img {
      height: 140px; }
  /*--- flex table ---*/
  .flex-table {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap; }
    .flex-table td, .flex-table th {
      padding: 5px; }
    .flex-table thead {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
    .flex-table tbody {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
      flex: 1 0 0;
      overflow: auto; }
      .flex-table tbody td {
        border-top: 1px solid #ddd; }
    .flex-table tr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
      flex: 1 0 auto;
      border-right: 1px solid #ddd; }
  .cart-table .cart-table--product-info {
    height: 200px; }
  .cart-table tbody tr {
    border-bottom: 0; }
  .cart-table tbody .cart-table--product-info .img, .cart-table tbody .cart-table--product-info .info {
    display: block;
    text-align: center; }
  .cart-table tbody .cart-table--product-info .info {
    padding-left: 0;
    margin-right: 5px; }
  .cart-table tbody .cart-table--product-info .img {
    margin: auto; }
  .cart-table tbody .cart-table--product-amount input[type="number"] {
    max-width: 60px; }
  .cart-table tbody .cart-table--product-amount span {
    margin: 0 1px; }
  .mobile_th_amount {
    height: 80px;
    line-height: 4; }
  .style_center {
    text-align: left; }
  .money, .unit {
    width: auto; }
  .table-container .cart-total .row {
    padding: 5px; }
    .table-container .cart-total .row p {
      margin-bottom: 0; }
  /*--- product ---*/
  #product .product-register .add-register-box {
    margin-bottom: 10px;
    padding: 8px 0 0; }
  #product .product-top .product-item {
    width: 33.3%; }
  /*--- cart ---*/
  #cart .cart-total .row {
    padding-right: 0; }
  #cart .order-sheet-form th, #cart .order-sheet-form td {
    display: block; } }

@media only screen and (max-width: 640px) {
  /*--- typography ---*/
  .h2 {
    font-size: 26px; }
  #member .page-banner, #cart .page-banner {
    margin: 4vw 0 2vw; }
  /*--- pagination ---*/
  #pagination {
    margin-top: 5vw; }
    #pagination .page-list .page-item a {
      width: 28px;
      height: 28px;
      line-height: 28px;
      border-radius: 4px; }
  /*--- index ---*/
  #banner .swiper-pagination-bullet {
    width: 9px;
    height: 9px; }
  #index section {
    padding: 3vw 0; }
  #index .index-product .title {
    margin: 10px 0 15px; }
    #index .index-product .title .sub {
      font-size: 16px; }
  #index .index-about .about-info h1 {
    font-size: 24px; }
  /*--- about ---*/
  #about .about-intro {
    font-size: 1rem; }
  .product-item {
    margin-bottom: 1rem; }
    .product-item .product-name {
      font-size: 1rem; }
  #product .product-info .product-info--name .number {
    font-size: 20px; }
  /*--- contact ---*/
  #contact .page-banner {
    margin: 5vw 0 3vw; }
  #contact .contact-form {
    margin: 0 0 20px; }
  /*--- cart ---*/
  #cart .order-form tr {
    display: block;
    width: 100%; }
    #cart .order-form tr:nth-child(3) {
      border-bottom: 1px solid #ddd; }
  #cart .order-sheet-form span {
    display: block;
    margin-right: 0; }
  /*--- member ---*/
  #member .order-form {
    margin-bottom: 15px; }
    #member .order-form tr {
      display: block;
      width: 100%; }
  #member .order-list li > div {
    display: block; }
  #member .order-list li .number {
    width: 100%;
    padding: 3px 0;
    text-align: center; }
  #member .order-list li .info {
    width: 100%; }
    #member .order-list li .info table {
      margin: auto; }
  #member .order-list li .buttons {
    width: 100%;
    margin-top: 10px;
    text-align: center; } }

@media only screen and (max-width: 480px) {
  .column-content {
    padding: 5px 0; }
  /*--- typography ---*/
  .main-title {
    font-size: 26px; }
  .h2 {
    font-size: 22px; }
  /*--- header ---*/
  #burger {
    top: 17px; }
  header #logo img {
    width: 90px; }
  header #main-nav {
    font-size: 18px; }
  #icon-cart {
    top: 17px;
    right: 60px; }
    #icon-cart a .icon .number {
      width: 16px;
      height: 16px;
      top: -8px;
      line-height: 16px; }
    #icon-cart img {
      width: 30px; }
  /*--- page banner ---*/
  .page-banner .bg-img {
    height: 90px; }
  /*--- contact ---*/
  #contact .map {
    padding-top: 50%; }
  #contact article a {
    margin-left: 0;
    font-size: 24px; }
  #contact .contact-form dt {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-top: 10px; }
  /*--- product ---*/
  #product .product-list .product-item, #product .product-top .product-item {
    width: 50%; }
  #product .product-register .register-box .form-cell-register {
    display: block;
    width: 100%;
    margin-right: 0; }
  #product .product-register .register-box .product-check {
    display: block;
    padding-left: 10px; }
  /*--- cart ---*/
  #cart .order-info-form tr, #member .order-info-form tr {
    border-bottom: 1px solid #eee; }
  #cart .order-info-form th, #member .order-info-form th {
    padding: 10px 0 3px; }
  #cart .order-info-form th, #cart .order-info-form td, #member .order-info-form th, #member .order-info-form td {
    display: block; }
  /*--- member ---*/
  #member .product-fix-apply-form .form-address .form-cell, #member .product-fix-apply-form .form-address input[type="text"] {
    display: block;
    width: 100%;
    margin: 2px 0; }
  #member .order-list li .info table {
    max-width: 200px; }
    #member .order-list li .info table td {
      display: block; }
  .lightbox {
    padding: 30px; }
    .lightbox .btn-file-upload {
      max-width: 80px; }
    .lightbox input[type="file"] {
      left: 10px; } }

/*# sourceMappingURL=style.css.map */