@charset "UTF-8";
/*-----mixin-----*/
/*-----extend-----*/
#member .order-table td.order-name a {
  white-space: nowrap;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  overflow: hidden; }

header #main-nav, footer .footer-main, main, #index .class-list, #about .slider-for .inner, #about .slider-for2 .inner, #activity .activity-list li, #member .login-container, #shopping .pay-container--outer, #pay-message .notice .notice--inner, #pay-message .friend .friend--inner, #pay-message .friend .friend--inner .contact li .icon, #service .service-list, #service .business-list, #classroom .classroom-list > li .inner, #classroom .classroom-list > li .inner .info-outer, #contact .contact-container, #contact .contact-container .line .icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -webkit-flex; }

#index .class-list, #service .business-list {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-flex-wrap: wrap; }

#index.intro, #about .about-intro:before, #about .about-intro:after, #about .slick-prev:before, #about .slick-next:before {
  background-size: cover;
  background-repeat: no-repeat; }

header #logo {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%); }

#goTop .inner, main .page-container .page-banner .main-title, #index.intro .age-outer, #index .index-service li .inner .txt, #service .service-list li .info, #classroom .classroom-list > li .inner figure a .icon, #classroom .classroom-list > li .inner .link li .link-icon .icon-default, #classroom .classroom-list > li .inner .link li .link-icon .icon-hover {
  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', 'Arapey', 'Pinyon Script', 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(197, 154, 108, 0.8);
    z-index: 99999;
    display: block; }

.pace-inactive {
  display: none; }

.pace .pace-progress {
  background: #C59A6C;
  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 {
  width: 100%;
  font-family: "微軟正黑體";
  border: 1px solid #C69C6D;
  padding: 5px 8px;
  outline: 0;
  line-height: 3em;
  height: 3em; }

.form-cell-s {
  width: 60px; }

.form-cell-m {
  width: calc(100% - 60px * 2 - 25px); }

textarea {
  width: 100%;
  font-family: "微軟正黑體";
  border: 1px solid #C69C6D;
  padding: 5px 8px;
  outline: 0;
  outline: 0; }

input[type=password] {
  width: 100%;
  font-family: "微軟正黑體";
  border: 1px solid #C69C6D;
  padding: 5px 8px;
  outline: 0; }

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

input[type="number"] {
  margin-right: 2px; }

.checkbox {
  position: relative;
  display: inline-block;
  width: 16px; }
  .checkbox input[type=checkbox] {
    visibility: hidden; }
    .checkbox input[type=checkbox]:checked + label:after {
      opacity: 1; }
  .checkbox label {
    cursor: pointer;
    position: absolute;
    width: 14px;
    height: 14px;
    top: 3px;
    left: 0;
    background: #fff;
    border: 1px solid #666; }
    .checkbox label:after {
      content: '';
      position: absolute;
      width: 14px;
      height: 6px;
      background: transparent;
      opacity: 0;
      top: 0px;
      left: 1px;
      border: 2px solid #C59A6C;
      border-top: none;
      border-right: none;
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg); }
  .checkbox + label {
    display: inline-block;
    cursor: pointer;
    vertical-align: top; }

.radio {
  position: relative;
  display: inline-block;
  width: 15px; }
  .radio input[type=radio] {
    visibility: hidden; }
    .radio input[type=radio]:checked + label:after {
      opacity: 1; }
  .radio label {
    cursor: pointer;
    position: absolute;
    width: 14px;
    height: 14px;
    border-radius: 100%;
    top: 3px;
    left: 0;
    background: #fff;
    border: 1px solid #666; }
    .radio label:after {
      content: '';
      position: absolute;
      width: 12px;
      height: 7px;
      background: transparent;
      opacity: 0;
      top: 0px;
      left: 1px;
      border: 2px solid #C59A6C;
      border-top: none;
      border-right: none;
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg); }
  .radio + label {
    display: inline-block;
    margin-right: 5px;
    cursor: pointer; }

/*--- color of placeholder ---*/
::-webkit-input-placeholder {
  /* Chrome */
  color: #999; }

:-ms-input-placeholder {
  /* IE 10+ */
  color: #999; }

::-moz-placeholder {
  /* Firefox 19+ */
  color: #999;
  opacity: 1; }

:-moz-placeholder {
  /* Firefox 4 - 18 */
  color: #999;
  opacity: 1; }

/*--- Select ---*/
select {
  min-width: 200px;
  height: 2.5em;
  line-height: 2.5em;
  margin: 3px;
  padding: 0 10px;
  border: 1px solid #C59A6C;
  color: #333;
  font-family: '微軟正黑體'; }

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

.btn {
  display: inline-block;
  min-width: 200px; }

/*----- 泛用表格 -----*/
.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;
  font-size: 0; }
  dl dt, dl dd {
    display: inline-block;
    vertical-align: middle;
    font-size: 1rem; }

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

.wrap {
  padding: 20px 0; }

.row {
  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;
  background-position: center; }

.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: fixed;
  width: 100%;
  top: 0;
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 9000; }
  header #logo {
    position: absolute;
    top: 12px;
    -webkit-transition: .3s ease;
    -o-transition: .3s ease;
    transition: .3s ease; }
    header #logo a {
      display: inline-block;
      opacity: 1;
      -webkit-transition: .3s ease;
      -o-transition: .3s ease;
      transition: .3s ease; }
    header #logo .logo-small {
      display: none;
      opacity: 0; }
  header #main-nav {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    header #main-nav .menu {
      padding: 2.5rem 0 3rem;
      -webkit-transition: .3s ease;
      -o-transition: .3s ease;
      transition: .3s ease; }
      header #main-nav .menu li {
        display: inline-block;
        -webkit-transition: .3s ease;
        -o-transition: .3s ease;
        transition: .3s ease; }
        header #main-nav .menu li:hover, header #main-nav .menu li.active {
          color: #C59A6C;
          -webkit-transition: .3s ease;
          -o-transition: .3s ease;
          transition: .3s ease; }
      header #main-nav .menu:first-child li {
        margin-right: 2vw; }
      header #main-nav .menu:last-child li {
        margin-left: 2vw; }
  header.scroll #logo {
    top: 5px;
    -webkit-transition: .3s ease;
    -o-transition: .3s ease;
    transition: .3s ease; }
    header.scroll #logo .logo-big {
      display: none;
      opacity: 0;
      -webkit-transition: .3s ease;
      -o-transition: .3s ease;
      transition: .3s ease; }
    header.scroll #logo .logo-small {
      display: inline-block;
      opacity: 1;
      -webkit-transition: .3s ease;
      -o-transition: .3s ease;
      transition: .3s ease; }
  header.scroll #main-nav .menu {
    padding: 1.5rem 0;
    -webkit-transition: .3s ease;
    -o-transition: .3s ease;
    transition: .3s ease; }
  header .cart-container {
    position: relative;
    display: inline-block; }
    header .cart-container .number {
      position: absolute;
      top: -10px;
      right: -10px;
      font-size: 12px;
      color: #fff;
      display: inline-block;
      vertical-align: middle;
      width: 18px;
      height: 18px;
      border-radius: 100%;
      background-color: #C59A6C;
      text-align: center; }
      header .cart-container .number img, header .cart-container .number span, header .cart-container .number svg {
        display: inline-block;
        vertical-align: middle; }
      header .cart-container .number:before {
        content: '';
        width: 0;
        height: 100%;
        display: inline-block;
        vertical-align: middle; }
    header .cart-container path {
      fill: #666;
      -webkit-transition: .3s ease;
      -o-transition: .3s ease;
      transition: .3s ease; }
    header .cart-container:hover path {
      fill: #C59A6C;
      -webkit-transition: .3s ease;
      -o-transition: .3s ease;
      transition: .3s ease; }
  header #shopping-message {
    display: none;
    position: absolute;
    width: 450px;
    right: 0;
    top: 6vw;
    padding: 10px;
    background-color: #fff;
    border: 1px solid #bbb;
    z-index: 9000; }
    header #shopping-message table {
      margin-bottom: 15px; }
      header #shopping-message table th, header #shopping-message table td {
        padding: 5px;
        text-align: center;
        vertical-align: middle; }
      header #shopping-message table thead {
        border-bottom: 1px solid #aaa; }
      header #shopping-message table .cart-name {
        max-width: 250px; }
    header #shopping-message .btn-solid {
      width: 30%;
      min-width: 120px; }

#shopping-cart {
  display: none; }

/*----- footer -----*/
footer {
  margin: 4vw 0 10px; }
  footer .footer-main {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center; }
    footer .footer-main .contact-list li {
      display: inline-block;
      margin-right: 2vw; }
      footer .footer-main .contact-list li .icon {
        display: inline-block;
        vertical-align: middle;
        margin-right: 3px;
        color: #C59A6C; }
      footer .footer-main .contact-list li .content {
        display: inline-block;
        vertical-align: middle; }
  footer .copyright {
    text-align: center;
    font-size: 13px;
    color: #999; }
    footer .copyright span {
      opacity: .6; }

/*----- 警示標語 -----*/
#warn {
  position: fixed;
  width: 100%;
  padding: 5px 0 10px;
  bottom: 0;
  text-align: center;
  border-top: 1px solid rgba(102, 102, 102, 0.2);
  background-color: #fff;
  z-index: 8000; }
  #warn h1 {
    font-size: 48px;
    color: #666;
    letter-spacing: 1.5vw;
    line-height: 1.2; }
    #warn h1 span, #warn h1 img {
      display: inline-block;
      vertical-align: bottom; }
    #warn h1 img {
      margin: 0 -0.8vw 0 -2.15vw; }

/*----- Go Top -----*/
#goTop {
  position: fixed;
  width: 80px;
  height: 80px;
  right: 15px;
  bottom: 90px;
  border-radius: 100%;
  border: 1px solid #D9BA8F;
  background-color: #fff;
  color: #C59A6C;
  text-align: center;
  font-size: 20px;
  font-style: italic;
  cursor: pointer;
  z-index: 8100; }
  #goTop .inner {
    width: 100%;
    top: calc(50% + 4px); }

/*--- SNS,Share ---*/
.sns-list li {
  display: inline-block;
  margin: 2px; }
  .sns-list li a {
    display: inline-block;
    display: inline-block;
    vertical-align: middle;
    width: 32px;
    height: 32px;
    border-radius: 100%;
    background-color: #C59A6C;
    text-align: center;
    color: #fff; }
    .sns-list li a img, .sns-list li a span, .sns-list li a svg {
      display: inline-block;
      vertical-align: middle; }
    .sns-list li a:before {
      content: '';
      width: 0;
      height: 100%;
      display: inline-block;
      vertical-align: middle; }
  .sns-list li:hover a {
    background-color: #AC7A44; }

.share {
  margin: 2vw 0; }
  .share span, .share ul {
    display: inline-block;
    vertical-align: middle; }

/*--- Page ---*/
main {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 100vh; }
  main .page-container {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }
    main .page-container .page-banner {
      position: relative;
      margin-bottom: 30px;
      z-index: 20; }
      main .page-container .page-banner .bg-img {
        max-height: 460px;
        height: 33vw;
        background-position: center bottom;
        background-repeat: no-repeat; }
      main .page-container .page-banner .main-title {
        top: calc(50% + 3.5vw); }
  main .top-row {
    padding: 1rem 0; }
  main#member .page-container .page-banner .bg-img, main#shopping .page-container .page-banner .bg-img {
    max-height: 360px;
    height: 33vw; }
  main#member .page-container .page-banner .main-title, main#shopping .page-container .page-banner .main-title {
    top: calc(50% + 2.5vw); }
  main#member .page-container .page-banner .h2, main#shopping .page-container .page-banner .h2 {
    color: #000; }

section {
  padding: 3vw 0; }

hr {
  border: 0;
  border-bottom: 10px solid rgba(197, 154, 108, 0.1);
  margin: 1.5vw 0 1vw; }

/*--- Buttons ---*/
.btn-row.btn-row-border {
  border-top: 1px solid rgba(197, 154, 108, 0.1); }

.btn-row .btn {
  margin: 3px 0; }

.btn-border {
  border: 1px double #966A39;
  text-align: center;
  font-size: 1rem;
  padding: .5rem 0;
  color: #966A39;
  -webkit-transition: 0.4s cubic-bezier(0.86, 0, 0.07, 1);
  -o-transition: 0.4s cubic-bezier(0.86, 0, 0.07, 1);
  transition: 0.4s cubic-bezier(0.86, 0, 0.07, 1); }
  .btn-border:hover {
    background-color: #966A39;
    color: #fff;
    -webkit-transition: 0.4s cubic-bezier(0.86, 0, 0.07, 1);
    -o-transition: 0.4s cubic-bezier(0.86, 0, 0.07, 1);
    transition: 0.4s cubic-bezier(0.86, 0, 0.07, 1); }

.btn-solid {
  min-width: 200px;
  padding: .5em 10px;
  background-color: #C59A6C;
  color: #fff;
  text-align: center;
  -webkit-transition: .2s ease;
  -o-transition: .2s ease;
  transition: .2s ease; }
  .btn-solid:hover {
    background-color: #966A39;
    color: #fff;
    -webkit-transition: .4s ease;
    -o-transition: .4s ease;
    transition: .4s ease; }

/*--- Pagination ---*/
#pagination {
  margin: 4vw 0 2vw;
  text-align: center; }
  #pagination li {
    display: inline-block;
    vertical-align: middle;
    color: #bbb; }
    #pagination li.page-basic a {
      display: inline-block;
      width: 32px;
      height: 32px;
      margin: 3px;
      line-height: 32px;
      background-color: transparent;
      -webkit-transition: .1s ease;
      -o-transition: .1s ease;
      transition: .1s ease; }
    #pagination li:hover.page-basic a, #pagination li.active.page-basic a {
      background-color: #C59A6C;
      color: #fff;
      -webkit-transition: .1s ease;
      -o-transition: .1s ease;
      transition: .1s ease; }

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

.lightbox {
  display: none;
  width: 90%;
  max-width: 1300px;
  height: auto;
  max-height: 90%;
  position: fixed;
  top: 50%;
  left: 50%;
  padding: 4vw;
  overflow: auto;
  background-color: #fff;
  -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 .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: 1px;
      background-color: #C59A6C; }
    .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 article {
    max-width: 1080px;
    margin: auto; }
  .lightbox .title {
    margin-bottom: 1.5rem; }
    .lightbox .title .sub {
      font-size: 16px;
      color: #666; }
  .lightbox .btn-row {
    position: relative;
    padding: 20px 0 10px; }
    .lightbox .btn-row .share {
      position: absolute;
      left: 0;
      top: 0px; }

/*--- shop message element ---*/
.transparent-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 8900;
  background-color: rgba(204, 204, 204, 0.8); }

/*----- Typography -----*/
[data-color="gold"] {
  color: #C59A6C; }

[data-leader="price"] {
  position: relative; }
  [data-leader="price"]:before {
    content: 'NT.';
    display: inline-block;
    vertical-align: baseline;
    font-size: 1rem;
    font-weight: initial;
    color: initial; }

[data-font="arapey"] {
  font-family: 'Arapey'; }

h2.h2 {
  font-size: 30px;
  line-height: 1.2; }

h3.h3, .h3 {
  font-size: 20px;
  line-height: 1.2; }

a.link {
  text-decoration: underline; }

article p {
  margin-bottom: 1em; }

.price-total {
  font-size: 1.38em;
  font-weight: bold; }

.about-title {
  position: relative;
  padding: 25px 0; }
  .about-title h2 {
    position: relative;
    margin: 25px 0 10px;
    z-index: 3; }
  .about-title .year {
    position: absolute;
    top: -8px;
    right: 0;
    text-align: right;
    line-height: .9;
    z-index: 5; }
    .about-title .year .year-number {
      font-size: 3.6rem;
      font-style: italic; }
  .about-title:after {
    content: 'Foundation';
    position: absolute;
    right: -3vw;
    top: 10px;
    color: #C59A6C;
    font-family: 'Arapey';
    font-size: 120px;
    font-style: italic;
    line-height: 1;
    opacity: .18;
    z-index: 0; }

.grape-title {
  text-align: center;
  margin-bottom: 2rem; }
  .grape-title .inner {
    display: inline-block; }
  .grape-title .grape {
    position: relative;
    margin-bottom: 5px; }
    .grape-title .grape img {
      display: inline-block;
      position: relative;
      padding: 0 10px;
      background-color: #fff;
      z-index: 5; }
    .grape-title .grape:before {
      content: '';
      position: absolute;
      width: 100%;
      height: 1px;
      left: 0;
      top: calc(50% + 2px);
      background-color: #C59A6C;
      z-index: 1; }

.main-title {
  width: 100%;
  text-align: center; }
  .main-title h1 {
    font-size: 48px;
    font-style: italic;
    line-height: 1;
    margin-bottom: 10px; }
  .main-title h2 {
    color: #fff; }

.sub-name {
  margin: 1.5rem 0 1.5rem;
  padding: 8px 15px;
  background-color: #eee; }

.section-title {
  padding: 10px;
  text-align: center;
  color: #C59A6C;
  background-color: rgba(197, 154, 108, 0.1);
  border-bottom: 10px solid rgba(197, 154, 108, 0.2); }

.table-title {
  position: relative;
  text-align: center;
  z-index: 10; }
  .table-title h3 {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    padding: 5px 10px;
    font-size: 30px;
    color: #966A39;
    background-color: #fff;
    z-index: 10; }
  .table-title:after, .table-title:before {
    content: '';
    display: inline-block;
    width: 1.5em;
    height: 1px;
    vertical-align: middle;
    background-color: #C59A6C;
    z-index: 0; }

/*----- 進入頁---年齡確認 -----*/
#index.intro {
  background-image: url(../_img/index/bg_age.jpg); }
  #index.intro .page-container {
    position: relative; }
  #index.intro h2 {
    margin-top: 0;
    margin-bottom: 20px; }
  #index.intro .age-outer {
    text-align: center;
    width: 100%;
    color: #444; }
    #index.intro .age-outer .legal {
      font-size: 2em;
      font-family: 'Arapey'; }
    #index.intro .age-outer ul {
      font-style: italic;
      font-size: 58px; }
      #index.intro .age-outer ul li {
        display: inline-block;
        vertical-align: middle; }
        #index.intro .age-outer ul li a {
          color: #999; }
          #index.intro .age-outer ul li a:hover {
            color: #C59A6C; }
        #index.intro .age-outer ul li.slash {
          width: 70px;
          height: 80px;
          background-image: url(../_img/index/slash.png);
          background-position: center; }
    #index.intro .age-outer .logo {
      margin-top: 3.2vw; }
      #index.intro .age-outer .logo img {
        height: 65px; }
  #index.intro .lightbox {
    max-width: 500px; }
    #index.intro .lightbox article {
      text-align: center;
      font-size: 30px;
      color: #966A39; }
      #index.intro .lightbox article p {
        margin: 3vw 0; }

/*----- Index -----*/
.banner-swiper {
  margin-bottom: 2vw; }
  .banner-swiper.is-mobile {
    display: none; }
  .banner-swiper .bg-img {
    padding-top: 48.4375%; }
  .banner-swiper .swiper-pagination-bullet {
    width: 60px;
    height: 6px;
    opacity: 1;
    border-radius: 0;
    background-color: #000;
    -webkit-transition: all .2s ease;
    -o-transition: all .2s ease;
    transition: all .2s ease; }
    .banner-swiper .swiper-pagination-bullet:hover, .banner-swiper .swiper-pagination-bullet.swiper-pagination-bullet-active {
      background-color: #fff;
      -webkit-transition: all .2s ease;
      -o-transition: all .2s ease;
      transition: all .2s ease; }

.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 15px; }

#index .index-about .half-box:first-child {
  padding-right: 2rem; }

#index .index-about .video-container {
  position: relative; }
  #index .index-about .video-container a {
    -webkit-transition: .3s ease;
    -o-transition: .3s ease;
    transition: .3s ease;
    opacity: 1; }
    #index .index-about .video-container a:before {
      content: url(../_img/index/video_play.png);
      display: block;
      width: 76px;
      height: 76px;
      position: absolute;
      z-index: 5;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      vertical-align: middle;
      margin: auto; }
    #index .index-about .video-container a img {
      z-index: 1;
      width: 100%; }
    #index .index-about .video-container a:hover {
      -webkit-transition: .3s ease;
      -o-transition: .3s ease;
      transition: .3s ease;
      opacity: .85; }

#index .class-list {
  margin-bottom: 2vw; }
  #index .class-list li {
    width: 33.3%;
    padding: 0 10px;
    margin-bottom: 2rem;
    cursor: pointer; }
    #index .class-list li figure {
      position: relative; }
      #index .class-list li figure .mask {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        background-color: rgba(197, 154, 108, 0.4);
        z-index: 2;
        opacity: 0;
        -webkit-transition: .3s ease;
        -o-transition: .3s ease;
        transition: .3s ease; }
    #index .class-list li .bg-img {
      padding-top: 67.5%; }
    #index .class-list li .class-name {
      font-size: 18px;
      margin: 8px 0; }
    #index .class-list li:hover figure .mask {
      opacity: 1;
      -webkit-transition: .3s ease;
      -o-transition: .3s ease;
      transition: .3s ease; }

#index .index-service {
  margin-top: 3vw; }
  #index .index-service li {
    padding: 0;
    overflow: hidden; }
    #index .index-service li .bg-img {
      position: relative;
      padding-top: 60.416%; }
    #index .index-service li .inner {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      text-align: center;
      color: #fff;
      background-color: rgba(0, 0, 0, 0.3);
      -webkit-transition: background-color 400ms 100ms cubic-bezier(0, 0.605, 0.435, 1);
      -o-transition: background-color 400ms 100ms cubic-bezier(0, 0.605, 0.435, 1);
      transition: background-color 400ms 100ms cubic-bezier(0, 0.605, 0.435, 1); }
      #index .index-service li .inner .txt {
        position: absolute;
        width: 100%;
        z-index: 5; }
        #index .index-service li .inner .txt .title {
          position: relative;
          margin-bottom: .3em;
          font-size: 36px;
          line-height: 1.3;
          -webkit-transform: translateY(20px);
          -ms-transform: translateY(20px);
          transform: translateY(20px);
          -webkit-transition: -webkit-transform 450ms cubic-bezier(0, 0.605, 0.435, 1);
          transition: -webkit-transform 450ms cubic-bezier(0, 0.605, 0.435, 1);
          -o-transition: transform 450ms cubic-bezier(0, 0.605, 0.435, 1);
          transition: transform 450ms cubic-bezier(0, 0.605, 0.435, 1);
          transition: transform 450ms cubic-bezier(0, 0.605, 0.435, 1), -webkit-transform 450ms cubic-bezier(0, 0.605, 0.435, 1); }
        #index .index-service li .inner .txt .btn-border {
          color: #fff;
          border-color: #fff;
          opacity: 0;
          -webkit-transform: translateY(-40px);
          -ms-transform: translateY(-40px);
          transform: translateY(-40px);
          -webkit-transition: all 450ms cubic-bezier(0, 0.605, 0.435, 1);
          -o-transition: all 450ms cubic-bezier(0, 0.605, 0.435, 1);
          transition: all 450ms cubic-bezier(0, 0.605, 0.435, 1); }
          #index .index-service li .inner .txt .btn-border:hover {
            background-color: #fff;
            color: #C59A6C; }
      #index .index-service li .inner .bg {
        position: absolute;
        top: 2vw;
        left: 1.5vw;
        right: 1.5vw;
        bottom: 2vw;
        z-index: 0;
        opacity: 0;
        background-color: rgba(197, 154, 108, 0.8);
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
        -webkit-transition: opacity 400ms 100ms cubic-bezier(0, 0.605, 0.435, 1), -webkit-transform 450ms cubic-bezier(0, 0.605, 0.435, 1);
        transition: opacity 400ms 100ms cubic-bezier(0, 0.605, 0.435, 1), -webkit-transform 450ms cubic-bezier(0, 0.605, 0.435, 1);
        -o-transition: transform 450ms cubic-bezier(0, 0.605, 0.435, 1), opacity 400ms 100ms cubic-bezier(0, 0.605, 0.435, 1);
        transition: transform 450ms cubic-bezier(0, 0.605, 0.435, 1), opacity 400ms 100ms cubic-bezier(0, 0.605, 0.435, 1);
        transition: transform 450ms cubic-bezier(0, 0.605, 0.435, 1), opacity 400ms 100ms cubic-bezier(0, 0.605, 0.435, 1), -webkit-transform 450ms cubic-bezier(0, 0.605, 0.435, 1); }
    #index .index-service li:hover .inner {
      background-color: rgba(0, 0, 0, 0);
      -webkit-transition: background-color 400ms 100ms cubic-bezier(0, 0.605, 0.435, 1);
      -o-transition: background-color 400ms 100ms cubic-bezier(0, 0.605, 0.435, 1);
      transition: background-color 400ms 100ms cubic-bezier(0, 0.605, 0.435, 1); }
      #index .index-service li:hover .inner .bg {
        opacity: 1;
        -webkit-transform: scale(0.85);
        -ms-transform: scale(0.85);
        transform: scale(0.85);
        -webkit-transition: opacity 400ms 100ms cubic-bezier(0, 0.605, 0.435, 1), -webkit-transform 450ms cubic-bezier(0, 0.605, 0.435, 1);
        transition: opacity 400ms 100ms cubic-bezier(0, 0.605, 0.435, 1), -webkit-transform 450ms cubic-bezier(0, 0.605, 0.435, 1);
        -o-transition: transform 450ms cubic-bezier(0, 0.605, 0.435, 1), opacity 400ms 100ms cubic-bezier(0, 0.605, 0.435, 1);
        transition: transform 450ms cubic-bezier(0, 0.605, 0.435, 1), opacity 400ms 100ms cubic-bezier(0, 0.605, 0.435, 1);
        transition: transform 450ms cubic-bezier(0, 0.605, 0.435, 1), opacity 400ms 100ms cubic-bezier(0, 0.605, 0.435, 1), -webkit-transform 450ms cubic-bezier(0, 0.605, 0.435, 1); }
      #index .index-service li:hover .inner .txt .title {
        -webkit-transform: translateY(0px);
        -ms-transform: translateY(0px);
        transform: translateY(0px);
        -webkit-transition: -webkit-transform 450ms cubic-bezier(0, 0.605, 0.435, 1);
        transition: -webkit-transform 450ms cubic-bezier(0, 0.605, 0.435, 1);
        -o-transition: transform 450ms cubic-bezier(0, 0.605, 0.435, 1);
        transition: transform 450ms cubic-bezier(0, 0.605, 0.435, 1);
        transition: transform 450ms cubic-bezier(0, 0.605, 0.435, 1), -webkit-transform 450ms cubic-bezier(0, 0.605, 0.435, 1); }
      #index .index-service li:hover .inner .txt .btn-border {
        opacity: 1;
        -webkit-transform: translateY(0px);
        -ms-transform: translateY(0px);
        transform: translateY(0px);
        -webkit-transition: all 450ms cubic-bezier(0, 0.605, 0.435, 1);
        -o-transition: all 450ms cubic-bezier(0, 0.605, 0.435, 1);
        transition: all 450ms cubic-bezier(0, 0.605, 0.435, 1); }

/*----- About -----*/
#about .about-intro {
  position: relative;
  color: #333;
  margin-bottom: 3.6vw;
  font-size: 17px; }
  #about .about-intro h2 {
    margin-bottom: .5em;
    color: #000; }
  #about .about-intro:before, #about .about-intro:after {
    content: '';
    position: absolute;
    top: -60px; }
  #about .about-intro:before {
    left: 0;
    width: 467px;
    height: 481px;
    background-image: url(../_img/about/bg1.jpg); }
  #about .about-intro:after {
    right: 0;
    width: 207px;
    height: 433px;
    background-image: url(../_img/about/bg2.jpg); }

#about .tab-list {
  max-width: 1080px;
  margin: 10px auto;
  text-align: center;
  border-bottom: 1px solid #C59A6C; }
  #about .tab-list li {
    display: inline-block;
    margin: 0 2px; }
    #about .tab-list li a {
      position: relative;
      display: inline-block; }
      #about .tab-list li a img {
        position: absolute; }
        #about .tab-list li a img.grape-gold {
          opacity: 0; }
      #about .tab-list li a span {
        display: inline-block;
        margin-left: 28px;
        font-size: 28px;
        color: #666; }
    #about .tab-list li:hover a img.grape-gold, #about .tab-list li.current a img.grape-gold {
      opacity: 1; }
    #about .tab-list li:hover a img.grape-gray, #about .tab-list li.current a img.grape-gray {
      opacity: 0; }
    #about .tab-list li:hover a span, #about .tab-list li.current a span {
      color: #C59A6C; }

#about .slider-nav, #about .slider-nav2 {
  max-width: 940px;
  margin: 0 auto 70px;
  padding: 0 40px; }
  #about .slider-nav .item, #about .slider-nav2 .item {
    padding: 0 .7vw;
    outline: 0; }
    #about .slider-nav .item.slick-current .bg-img:after, #about .slider-nav .item:hover .bg-img:after, #about .slider-nav2 .item.slick-current .bg-img:after, #about .slider-nav2 .item:hover .bg-img:after {
      background-color: transparent;
      -webkit-transition: .1s ease;
      -o-transition: .1s ease;
      transition: .1s ease; }
  #about .slider-nav .bg-img, #about .slider-nav2 .bg-img {
    position: relative;
    padding-top: 100%;
    border-radius: 100%;
    overflow: hidden;
    cursor: pointer;
    background-position: center; }
    #about .slider-nav .bg-img:after, #about .slider-nav2 .bg-img:after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: rgba(197, 154, 108, 0.5);
      z-index: 5;
      -webkit-transition: .2s ease;
      -o-transition: .2s ease;
      transition: .2s ease; }

#about .slick-prev, #about .slick-next {
  width: 40px;
  height: 40px;
  top: calc(50% - 10px);
  border: 1px solid #C59A6C; }
  #about .slick-prev:before, #about .slick-next:before {
    content: '';
    width: 10px;
    height: 16px;
    display: inline-block; }
  #about .slick-prev:hover, #about .slick-next:hover {
    background-color: rgba(217, 186, 143, 0.5); }

#about .slick-prev {
  left: 0;
  z-index: 10; }
  #about .slick-prev:before {
    background-image: url(../_img/about/arrow_prev.png); }

#about .slick-next {
  right: 0; }
  #about .slick-next:before {
    background-image: url(../_img/about/arrow_next.png); }

#about .slider-for .item, #about .slider-for2 .item {
  outline: 0; }
  #about .slider-for .item .inner, #about .slider-for2 .item .inner {
    opacity: 0;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    -webkit-transition: all 0.7s cubic-bezier(0.23, 0.01, 0.13, 0.64);
    -o-transition: all 0.7s cubic-bezier(0.23, 0.01, 0.13, 0.64);
    transition: all 0.7s cubic-bezier(0.23, 0.01, 0.13, 0.64); }
  #about .slider-for .item.slick-active .inner, #about .slider-for2 .item.slick-active .inner {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -webkit-transition: all 1.8s cubic-bezier(0.23, 0.01, 0.29, 1.1);
    -o-transition: all 1.8s cubic-bezier(0.23, 0.01, 0.29, 1.1);
    transition: all 1.8s cubic-bezier(0.23, 0.01, 0.29, 1.1); }

#about .slider-for .inner, #about .slider-for2 .inner {
  max-width: 760px;
  margin: auto;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding-bottom: 15px; }
  #about .slider-for .inner .photo, #about .slider-for2 .inner .photo {
    position: relative;
    width: 280px; }
    #about .slider-for .inner .photo .bg-img, #about .slider-for2 .inner .photo .bg-img {
      padding-top: 100%;
      border-radius: 100%;
      background-position: center; }
    #about .slider-for .inner .photo .spec, #about .slider-for2 .inner .photo .spec {
      display: table;
      position: absolute;
      width: 100px;
      height: 100px;
      bottom: -10px;
      right: -10px;
      border-radius: 100%;
      background-color: #C59A6C;
      color: #fff;
      text-align: center; }
      #about .slider-for .inner .photo .spec .spec--inner, #about .slider-for2 .inner .photo .spec .spec--inner {
        display: table-cell;
        padding-top: 8px;
        vertical-align: middle; }
      #about .slider-for .inner .photo .spec .title, #about .slider-for2 .inner .photo .spec .title {
        font-size: 22px;
        line-height: 1.2; }
  #about .slider-for .inner .txt, #about .slider-for2 .inner .txt {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-left: 3.8rem;
    padding-top: 1.3rem; }
    #about .slider-for .inner .txt article, #about .slider-for2 .inner .txt article {
      margin-top: 15px; }
    #about .slider-for .inner .txt h2.h2, #about .slider-for2 .inner .txt h2.h2 {
      font-size: 22px;
      margin-bottom: 5px; }

/*----- Activity 活動特輯 -----*/
#activity .activity-title {
  padding: 10px 0; }
  #activity .activity-title .date {
    color: #C59A6C; }

#activity .activity-list {
  margin-bottom: 2vw; }
  #activity .activity-list li {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 15px 3vw;
    border-bottom: 1px solid #ddd; }
    #activity .activity-list li .inner {
      width: calc(100% - 200px - 1rem); }
    #activity .activity-list li .btn {
      margin-left: 1rem; }

#activity .activity-detail .activity-title {
  max-width: 1080px;
  margin: 50px auto 0;
  padding: 0; }

#activity .activity-detail article {
  max-width: 1080px;
  margin: auto; }

#activity .activity-detail .test {
  text-align: center; }
  #activity .activity-detail .test img {
    display: inline-block;
    margin: 3px; }

/*----- Course 課程報名 -----*/
.table-outer {
  position: relative;
  margin: 1.5vw 0 3vw; }
  .table-outer .cart-table {
    text-align: center; }
    .table-outer .cart-table thead {
      background-color: rgba(197, 154, 108, 0.1);
      border-bottom: 10px solid #F3EBE2;
      color: #C59A6C; }
      .table-outer .cart-table thead th {
        padding: 10px 5px; }
    .table-outer .cart-table td {
      padding: 20px 5px;
      vertical-align: middle;
      border-bottom: 1px solid #eee; }
      .table-outer .cart-table td .icon-delete {
        cursor: pointer; }
        .table-outer .cart-table td .icon-delete svg, .table-outer .cart-table td .icon-delete path {
          fill: #C59A6C; }
      .table-outer .cart-table td.cart-name {
        text-align: left; }
        .table-outer .cart-table td.cart-name svg, .table-outer .cart-table td.cart-name path {
          fill: #C59A6C; }
        .table-outer .cart-table td.cart-name a {
          position: relative;
          margin-left: 2px;
          -webkit-transition: .1s ease;
          -o-transition: .1s ease;
          transition: .1s ease; }
          .table-outer .cart-table td.cart-name a:after {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 1px;
            background-color: #C59A6C;
            opacity: 0;
            -webkit-transition: .1s ease;
            -o-transition: .1s ease;
            transition: .1s ease; }
          .table-outer .cart-table td.cart-name a:hover {
            text-decoration: underline;
            color: #C59A6C;
            -webkit-transition: .1s ease;
            -o-transition: .1s ease;
            transition: .1s ease; }
            .table-outer .cart-table td.cart-name a:hover:after {
              opacity: 1;
              -webkit-transition: .1s ease;
              -o-transition: .1s ease;
              transition: .1s ease; }
      .table-outer .cart-table td:first-child {
        color: #999; }
      .table-outer .cart-table td:nth-child(2) {
        color: #666; }
      .table-outer .cart-table td.cart-store {
        color: #966A3A;
        text-decoration: underline; }
  .table-outer .cart-table--mobile {
    display: none; }
  .table-outer .total-row {
    position: relative;
    padding: 15px 25px;
    text-align: right;
    color: #666;
    border-top: 1px solid rgba(197, 154, 108, 0.5); }
    .table-outer .total-row .ps {
      position: absolute;
      width: 100%;
      top: 22px;
      text-align: center; }
    .table-outer .total-row .total .class-total {
      display: inline-block;
      margin: 0 3px;
      color: #000; }

#course .totla-row {
  background-color: rgba(197, 154, 108, 0.1); }

#course .lightbox .title {
  border-bottom: 2px solid rgba(197, 154, 108, 0.1);
  margin-right: 30px; }

/*----- Member 會員中心 -----*/
#member .red {
  color: #f00; }

#member .tab-list {
  display: none;
  text-align: center;
  margin-bottom: 1.5vw; }
  #member .tab-list li {
    display: inline-block;
    vertical-align: middle;
    margin: 0 5px; }
    #member .tab-list li:hover, #member .tab-list li.current {
      color: #C59A6C; }
    #member .tab-list li a {
      display: inline-block; }
    #member .tab-list li span {
      display: inline-block;
      margin: 0px 5px; }

#member .login-container {
  border-top: 10px solid rgba(197, 154, 108, 0.1); }
  #member .login-container .box-inner {
    max-width: 480px;
    margin: auto;
    padding: 0 15px; }
    #member .login-container .box-inner h3 {
      padding: 2vw 0 10px;
      text-align: center; }
  #member .login-container .login-box {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }
    #member .login-container .login-box:last-child {
      border-left: 1px solid #ddd; }
    #member .login-container .login-box p {
      margin: 5px 0; }
      #member .login-container .login-box p.second {
        padding: 0 10px;
        color: #999;
        font-size: 14px; }
    #member .login-container .login-box .row {
      margin-bottom: 10px; }
      #member .login-container .login-box .row.gender span {
        display: inline-block;
        margin-right: 1.5rem; }
      #member .login-container .login-box .row.birthday select {
        min-width: calc(33% - 10px); }
    #member .login-container .login-box .forget {
      margin: 3px 0;
      text-align: right;
      color: #666; }
      #member .login-container .login-box .forget svg, #member .login-container .login-box .forget path {
        fill: #C59A6C; }
    #member .login-container .login-box .btn-solid {
      min-width: 100%; }
    #member .login-container .login-box .agreement {
      border-top: 1px solid #ddd;
      padding: 10px 0 0; }
      #member .login-container .login-box .agreement .checkbox + label {
        width: calc(100% - 16px - 5px); }

#member .forget-table {
  max-width: 600px;
  margin: 3rem auto; }

#member .member-nav li {
  display: inline-block;
  margin: 2px 5px; }
  #member .member-nav li.active .btn-border {
    background-color: #966A39;
    color: #fff;
    -webkit-transition: 0.4s cubic-bezier(0.86, 0, 0.07, 1);
    -o-transition: 0.4s cubic-bezier(0.86, 0, 0.07, 1);
    transition: 0.4s cubic-bezier(0.86, 0, 0.07, 1); }

#member .order-table {
  text-align: center; }
  #member .order-table thead {
    background-color: rgba(197, 154, 108, 0.1);
    border-bottom: 10px solid #F3EBE2;
    color: #C59A6C; }
    #member .order-table thead th {
      padding: 10px 5px; }
      #member .order-table thead th.order-name {
        text-align: left; }
  #member .order-table td {
    padding: 25px 5px;
    vertical-align: middle;
    border-bottom: 1px solid rgba(197, 154, 108, 0.1); }
    #member .order-table td .icon-delete {
      cursor: pointer; }
      #member .order-table td .icon-delete path {
        fill: #C59A6C;
        margin-right: 1px; }
    #member .order-table td.order-name {
      text-align: left;
      width: 60%;
      max-width: 420px; }
      #member .order-table td.order-name p {
        margin-bottom: .4em; }
      #member .order-table td.order-name span {
        display: inline-block;
        vertical-align: middle;
        margin: 0 2px; }
      #member .order-table td.order-name a {
        position: relative;
        display: inline-block;
        max-width: calc(100% - 107px - 85px - 20px);
        margin-left: 2px;
        vertical-align: middle;
        -webkit-transition: .1s ease;
        -o-transition: .1s ease;
        transition: .1s ease; }
        #member .order-table td.order-name a svg {
          display: inline-block;
          vertical-align: middle;
          margin-right: 3px; }
        #member .order-table td.order-name a:hover {
          text-decoration: underline;
          color: #C59A6C;
          -webkit-transition: .1s ease;
          -o-transition: .1s ease;
          transition: .1s ease; }

#member .order-table--mobile {
  display: none; }

#member .order-info {
  margin-top: 25px; }
  #member .order-info li {
    display: inline-block;
    margin-right: 5vw; }
    #member .order-info li span {
      display: inline-block;
      margin-right: .8em; }
    #member .order-info li .leader {
      color: #C59A6C; }

#member .cart-table .deadline {
  display: inline-block;
  margin: 1px 5px;
  padding: 1px 13px;
  border-radius: 15px;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  background-color: #C59A6C; }
  #member .cart-table .deadline.active {
    color: #666;
    background-color: #ddd; }

#member .member-data .login-container .login-box {
  padding-top: 2.5rem; }
  #member .member-data .login-container .login-box:last-child {
    border-left: 0; }

#member .member-data article {
  margin: 2rem 0;
  padding-top: 2rem;
  border-top: 2px solid rgba(197, 154, 108, 0.1); }

#member .member-data .btn-solid {
  min-width: 420px; }

#survey {
  max-width: 640px;
  padding: 20px 30px 5vw; }
  #survey section {
    padding: 1.5rem 0;
    border-bottom: 1px solid #ddd; }
    #survey section .checkgroup {
      display: inline-block;
      margin: 5px 1.5em 5px 0; }
    #survey section select {
      width: 100%;
      min-width: 100%; }
    #survey section:first-of-type .checkgroup:last-of-type, #survey section:nth-of-type(2) .checkgroup:last-of-type {
      display: block;
      margin-right: 0; }
      #survey section:first-of-type .checkgroup:last-of-type > label, #survey section:nth-of-type(2) .checkgroup:last-of-type > label {
        width: calc(100% - 5rem); }
    #survey section:nth-of-type(4) .checkgroup {
      display: block;
      margin-right: 0; }
    #survey section:last-of-type {
      border-bottom: 0; }

/*----- Shopping 選購課程 -----*/
#shopping .total-row {
  padding-right: 95px; }

#shopping .pay-container h3 {
  margin: 2vw 0;
  color: #966A39; }

#shopping .pay-container--outer {
  margin-bottom: 4vw; }
  #shopping .pay-container--outer .pay-box {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 1.5rem; }
    #shopping .pay-container--outer .pay-box:last-child {
      border-left: 1px solid #C59A6C; }
    #shopping .pay-container--outer .pay-box .box-inner {
      max-width: 580px;
      margin: auto; }
    #shopping .pay-container--outer .pay-box .pay-info {
      margin-top: .5em;
      margin-left: 1.1rem; }
      #shopping .pay-container--outer .pay-box .pay-info ul {
        margin-bottom: .6em; }
        #shopping .pay-container--outer .pay-box .pay-info ul span {
          color: #666; }

/*--- 匯款方式 ---*/
#pay-message h2 {
  text-align: center;
  color: #966A39; }

#pay-message section {
  padding: 0;
  margin-bottom: 2vw; }

#pay-message article {
  text-align: center; }
  #pay-message article .pay-bank {
    padding: 25px 0; }
    #pay-message article .pay-bank li {
      display: inline-block;
      position: relative;
      padding: 0 10px;
      margin: 3px 0;
      border-right: 1px solid #000; }
      #pay-message article .pay-bank li:last-child {
        border-right: 0; }
  #pay-message article h3 {
    margin: .4em; }

#pay-message .notice {
  margin: 2vw 0;
  padding: 1rem;
  background-color: #F4EBE2; }
  #pay-message .notice .notice--inner {
    max-width: 890px;
    margin: auto;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    #pay-message .notice .notice--inner img {
      margin: 1rem; }

#pay-message .friend {
  margin: 3.5vw 0; }
  #pay-message .friend .friend--inner {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    #pay-message .friend .friend--inner .contact {
      margin-right: 1rem; }
      #pay-message .friend .friend--inner .contact li {
        display: inline-block;
        margin: .6rem;
        padding: 10px;
        background-color: #F4EBE2;
        text-align: center; }
        #pay-message .friend .friend--inner .contact li .icon {
          height: 180px;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center; }
        #pay-message .friend .friend--inner .contact li .info {
          margin: 5px 0; }
    #pay-message .friend .friend--inner h3 {
      margin-bottom: .5em; }

#pay-message .float-outer {
  margin-bottom: 4vw; }
  #pay-message .float-outer .half-box:first-child .inner {
    border-right: 1px solid rgba(197, 154, 108, 0.1); }
  #pay-message .float-outer .half-box:last-child .inner {
    max-width: 320px;
    margin: 2rem auto 0; }
  #pay-message .float-outer .col-6 {
    padding: 0; }
  #pay-message .float-outer .inner {
    margin-top: 2rem;
    padding: 0 1.5rem; }
    #pay-message .float-outer .inner .notice-list {
      text-indent: -1rem;
      margin-left: 1rem; }
      #pay-message .float-outer .inner .notice-list li {
        margin-bottom: 3px; }
    #pay-message .float-outer .inner .name {
      margin-bottom: 10px; }
    #pay-message .float-outer .inner ul li {
      margin-bottom: .4em; }

/*----- Service 企業合作 -----*/
#service .service-list {
  max-width: 1100px;
  margin: auto; }
  #service .service-list li {
    width: 33.3%;
    padding: 0 5px;
    margin-bottom: 2rem;
    text-align: center; }
    #service .service-list li a {
      display: block;
      position: relative; }
    #service .service-list li figure {
      position: relative; }
      #service .service-list li figure .mask {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        background-color: rgba(197, 154, 108, 0.6);
        z-index: 2;
        opacity: 0;
        -webkit-transition: .3s ease;
        -o-transition: .3s ease;
        transition: .3s ease; }
    #service .service-list li .bg-img {
      padding-top: 66.67%; }
    #service .service-list li .info {
      width: 100%;
      color: #fff;
      z-index: 50; }
      #service .service-list li .info .name {
        font-size: 40px;
        margin: 8px 0;
        -webkit-transform: translateY(20px);
        -ms-transform: translateY(20px);
        transform: translateY(20px);
        -webkit-transition: -webkit-transform 450ms cubic-bezier(0, 0.605, 0.435, 1);
        transition: -webkit-transform 450ms cubic-bezier(0, 0.605, 0.435, 1);
        -o-transition: transform 450ms cubic-bezier(0, 0.605, 0.435, 1);
        transition: transform 450ms cubic-bezier(0, 0.605, 0.435, 1);
        transition: transform 450ms cubic-bezier(0, 0.605, 0.435, 1), -webkit-transform 450ms cubic-bezier(0, 0.605, 0.435, 1); }
      #service .service-list li .info .btn-border {
        color: #fff;
        border-color: #fff;
        opacity: 0;
        -webkit-transform: translateY(-40px);
        -ms-transform: translateY(-40px);
        transform: translateY(-40px);
        -webkit-transition: all 450ms cubic-bezier(0, 0.605, 0.435, 1);
        -o-transition: all 450ms cubic-bezier(0, 0.605, 0.435, 1);
        transition: all 450ms cubic-bezier(0, 0.605, 0.435, 1); }
        #service .service-list li .info .btn-border:hover {
          background-color: #fff;
          color: #C59A6C; }
    #service .service-list li:hover figure .mask {
      opacity: 1;
      -webkit-transition: .3s ease;
      -o-transition: .3s ease;
      transition: .3s ease; }
    #service .service-list li:hover .info .name {
      -webkit-transform: translateY(0px);
      -ms-transform: translateY(0px);
      transform: translateY(0px);
      -webkit-transition: -webkit-transform 450ms cubic-bezier(0, 0.605, 0.435, 1);
      transition: -webkit-transform 450ms cubic-bezier(0, 0.605, 0.435, 1);
      -o-transition: transform 450ms cubic-bezier(0, 0.605, 0.435, 1);
      transition: transform 450ms cubic-bezier(0, 0.605, 0.435, 1);
      transition: transform 450ms cubic-bezier(0, 0.605, 0.435, 1), -webkit-transform 450ms cubic-bezier(0, 0.605, 0.435, 1); }
    #service .service-list li:hover .info .btn-border {
      opacity: 1;
      -webkit-transform: translateY(0px);
      -ms-transform: translateY(0px);
      transform: translateY(0px);
      -webkit-transition: all 450ms cubic-bezier(0, 0.605, 0.435, 1);
      -o-transition: all 450ms cubic-bezier(0, 0.605, 0.435, 1);
      transition: all 450ms cubic-bezier(0, 0.605, 0.435, 1); }

#service section:nth-of-type(2) {
  padding: 0; }

#service .grape-title h2.h2 {
  font-size: 28px; }

#service .business-list {
  max-width: 1020px;
  margin: 1rem auto; }
  #service .business-list li {
    width: 16.66%;
    padding: 15px;
    text-align: center; }

#service .service-detail .title {
  color: #966A39; }

/*----- Classroom 教室資訊 -----*/
#classroom .classroom-nav {
  text-align: center; }
  #classroom .classroom-nav li {
    display: inline-block;
    margin: 2px 5px; }
    #classroom .classroom-nav li a {
      display: inline-block;
      padding: 5px 1.2em;
      border: 1px solid #C59A6C;
      -webkit-transition: .2s ease;
      -o-transition: .2s ease;
      transition: .2s ease; }
    #classroom .classroom-nav li:hover a, #classroom .classroom-nav li.current a {
      color: #fff;
      background-color: #C59A6C;
      -webkit-transition: .2s ease;
      -o-transition: .2s ease;
      transition: .2s ease; }

#classroom .table-title {
  margin-top: 35px; }

#classroom .classroom-list {
  margin: 1rem 0 4rem; }
  #classroom .classroom-list > li {
    padding: 2rem 10px;
    border-top: 2px solid rgba(197, 154, 108, 0.2);
    -webkit-transition: .2s ease;
    -o-transition: .2s ease;
    transition: .2s ease; }
    #classroom .classroom-list > li .inner {
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      #classroom .classroom-list > li .inner figure a {
        display: inline-block;
        position: relative; }
        #classroom .classroom-list > li .inner figure a .icon {
          position: absolute;
          z-index: 10;
          opacity: 0;
          -webkit-transition: 0.2s cubic-bezier(1, 0.85, 0.31, 0.6);
          -o-transition: 0.2s cubic-bezier(1, 0.85, 0.31, 0.6);
          transition: 0.2s cubic-bezier(1, 0.85, 0.31, 0.6); }
        #classroom .classroom-list > li .inner figure a:after {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          background-color: rgba(150, 106, 57, 0.7);
          opacity: 0;
          -webkit-transition: 0.2s cubic-bezier(1, 0.85, 0.31, 0.6);
          -o-transition: 0.2s cubic-bezier(1, 0.85, 0.31, 0.6);
          transition: 0.2s cubic-bezier(1, 0.85, 0.31, 0.6); }
      #classroom .classroom-list > li .inner .info-outer {
        -webkit-box-pack: space-bwtween;
        -ms-flex-pack: space-bwtween;
        justify-content: space-bwtween;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        padding-left: 6rem; }
      #classroom .classroom-list > li .inner .info {
        padding: 10px 25px;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1; }
        #classroom .classroom-list > li .inner .info ul {
          display: inline-block;
          margin-right: 3vw; }
          #classroom .classroom-list > li .inner .info ul li {
            display: block; }
        #classroom .classroom-list > li .inner .info .leader {
          display: inline-block;
          vertical-align: middle;
          color: #666; }
        #classroom .classroom-list > li .inner .info .content {
          display: inline-block;
          vertical-align: middle; }
        #classroom .classroom-list > li .inner .info span.icon {
          display: inline-block;
          vertical-align: baseline;
          text-align: center;
          margin-right: 3px; }
          #classroom .classroom-list > li .inner .info span.icon svg, #classroom .classroom-list > li .inner .info span.icon path {
            fill: #C59A6C; }
      #classroom .classroom-list > li .inner .link li {
        display: inline-block;
        margin: 3px; }
        #classroom .classroom-list > li .inner .link li .link-icon {
          position: relative;
          display: inline-block;
          vertical-align: middle;
          width: 57px;
          height: 57px;
          border-radius: 100%;
          background-color: transparent;
          text-align: center;
          border: 1px solid #C59A6C;
          -webkit-transition: .15s easa;
          -o-transition: .15s easa;
          transition: .15s easa; }
          #classroom .classroom-list > li .inner .link li .link-icon img, #classroom .classroom-list > li .inner .link li .link-icon span, #classroom .classroom-list > li .inner .link li .link-icon svg {
            display: inline-block;
            vertical-align: middle; }
          #classroom .classroom-list > li .inner .link li .link-icon:before {
            content: '';
            width: 0;
            height: 100%;
            display: inline-block;
            vertical-align: middle; }
          #classroom .classroom-list > li .inner .link li .link-icon .icon-default, #classroom .classroom-list > li .inner .link li .link-icon .icon-hover {
            z-index: 5;
            -webkit-transition: .15s ease;
            -o-transition: .15s ease;
            transition: .15s ease; }
          #classroom .classroom-list > li .inner .link li .link-icon .icon-hover {
            opacity: 0; }
          #classroom .classroom-list > li .inner .link li .link-icon:hover {
            background-color: #C59A6C;
            -webkit-transition: .15s easa;
            -o-transition: .15s easa;
            transition: .15s easa; }
            #classroom .classroom-list > li .inner .link li .link-icon:hover .icon-default {
              opacity: 0;
              -webkit-transition: .15s easa;
              -o-transition: .15s easa;
              transition: .15s easa; }
            #classroom .classroom-list > li .inner .link li .link-icon:hover .icon-hover {
              opacity: 1;
              -webkit-transition: .16s ease;
              -o-transition: .16s ease;
              transition: .16s ease; }
        #classroom .classroom-list > li .inner .link li .no-class {
          position: relative;
          width: 57px;
          height: 57px;
          border-radius: 100%;
          background-color: transparent;
          text-align: center;
          display: inline-block;
          vertical-align: middle;
          width: 57px;
          height: 57px;
          border-radius: 100%;
          background-color: transparent;
          text-align: center;
          border: 1px solid #C59A6C; }
          #classroom .classroom-list > li .inner .link li .no-class img, #classroom .classroom-list > li .inner .link li .no-class span, #classroom .classroom-list > li .inner .link li .no-class svg {
            display: inline-block;
            vertical-align: middle; }
          #classroom .classroom-list > li .inner .link li .no-class:before {
            content: '';
            width: 0;
            height: 100%;
            display: inline-block;
            vertical-align: middle; }
    #classroom .classroom-list > li:hover {
      background-color: rgba(197, 154, 108, 0.15);
      -webkit-transition: .2s ease;
      -o-transition: .2s ease;
      transition: .2s ease; }
      #classroom .classroom-list > li:hover figure a .icon {
        opacity: 1;
        -webkit-transition: 0.2s cubic-bezier(1, 0.85, 0.31, 0.6);
        -o-transition: 0.2s cubic-bezier(1, 0.85, 0.31, 0.6);
        transition: 0.2s cubic-bezier(1, 0.85, 0.31, 0.6); }
      #classroom .classroom-list > li:hover figure a:after {
        opacity: 1;
        -webkit-transition: 0.2s cubic-bezier(1, 0.85, 0.31, 0.6);
        -o-transition: 0.2s cubic-bezier(1, 0.85, 0.31, 0.6);
        transition: 0.2s cubic-bezier(1, 0.85, 0.31, 0.6); }

/*----- Contact -----*/
#contact .contact-container .contact-box {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1; }

#contact .contact-container .box-inner {
  max-width: 560px;
  margin: auto;
  padding: 0 15px; }

#contact .contact-container .line {
  display: inline-block;
  vertical-align: middle;
  margin-right: .5rem;
  margin-bottom: .5rem;
  padding: 10px;
  background-color: #F4EBE2;
  text-align: center; }
  #contact .contact-container .line .icon {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 5px; }

#contact .contact-container .contact-info {
  display: inline-block;
  vertical-align: middle; }
  #contact .contact-container .contact-info ul {
    margin-top: 8px; }
  #contact .contact-container .contact-info li {
    margin-bottom: 6px; }

#contact .row img, #contact .row .form-cell-captcha {
  display: inline-block;
  vertical-align: middle; }

#contact .row .form-cell-captcha {
  width: calc(100% - 80px - 8px); }

#contact .row .btn-solid {
  min-width: 100%;
  margin: 5px 0;
  padding: 10px 10px;
  font-size: 1rem; }

#contact .row.gender span {
  display: inline-block;
  margin-right: 1.5rem; }

#contact .row.gender label {
  margin-right: 1rem; }

/*----- downloadfilelist 本會經費決算/預算表 -----*/
.down-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 50px; }
  .down-list li {
    width: calc(100% / 6 - 30px);
    border: 1px solid #C59A6C;
    margin: 0px 15px 15px; }
    .down-list li .down-item {
      display: block;
      text-align: center;
      padding: 10px 15px;
      -webkit-transition: all 0.3s ease;
      -o-transition: all 0.3s ease;
      transition: all 0.3s ease; }
      .down-list li .down-item:hover {
        background: #C59A6C;
        color: #ffffff; }

@media only screen and (max-width: 1440px) {
  header #main-nav .menu:first-child {
    margin-left: 3vw; }
  header #main-nav .menu:last-child {
    margin-right: 3vw; }
  #about .about-intro:before, #about .about-intro:after {
    opacity: .3; }
  footer .footer-main {
    margin-right: 90px; } }

@media only screen and (max-width: 1280px) {
  /*--- 匯款方式 ---*/
  #pay-message .friend .friend--inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    #pay-message .friend .friend--inner .contact {
      text-align: center; }
    #pay-message .friend .friend--inner .welcome {
      max-width: 450px;
      margin: 15px auto 0; } }

@media only screen and (max-width: 1024px) {
  #burger {
    width: 25px;
    height: 20px;
    font-size: 0;
    position: absolute;
    top: 40px;
    right: 25px;
    cursor: pointer;
    z-index: 99999;
    -webkit-transition: .3s ease;
    -o-transition: .3s ease;
    transition: .3s ease; }
    #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.scroll #logo {
    top: auto; }
  header.scroll #burger {
    top: 30px;
    -webkit-transition: .3s ease;
    -o-transition: .3s ease;
    transition: .3s ease; }
  header.scroll #shopping-cart {
    top: 30px;
    -webkit-transition: .3s ease;
    -o-transition: .3s ease;
    transition: .3s ease; }
  header.scroll #main-nav .menu {
    padding: 0; }
  header #logo {
    position: relative;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    left: auto;
    top: auto;
    padding: 10px 0; }
  header #main-nav {
    position: fixed;
    display: block;
    width: 85vw;
    max-width: 280px;
    height: 100vh;
    right: 0;
    top: 0;
    padding-top: 10vw;
    background-color: #eee;
    -webkit-transform: translateX(85vw);
    -ms-transform: translateX(85vw);
    transform: translateX(85vw);
    -webkit-transition: all 0.6s cubic-bezier(1, 0.25, 0, 0.75);
    -o-transition: all 0.6s cubic-bezier(1, 0.25, 0, 0.75);
    transition: all 0.6s cubic-bezier(1, 0.25, 0, 0.75); }
    header #main-nav .menu {
      display: block;
      padding: 0;
      margin-left: 2vw; }
      header #main-nav .menu li {
        display: block;
        margin-bottom: 1rem; }
      header #main-nav .menu:first-child, header #main-nav .menu:last-child {
        margin-left: 0;
        margin-right: 0; }
        header #main-nav .menu:first-child li, header #main-nav .menu:last-child li {
          margin-right: 3.5vw;
          margin-left: 3.5vw; }
      header #main-nav .menu:last-child li:last-child {
        display: none; }
    header #main-nav.active {
      -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
      transform: translateX(0);
      -webkit-transition: all 0.6s cubic-bezier(1, 0.25, 0, 0.75);
      -o-transition: all 0.6s cubic-bezier(1, 0.25, 0, 0.75);
      transition: all 0.6s cubic-bezier(1, 0.25, 0, 0.75); }
  #shopping-cart {
    position: absolute;
    display: block;
    right: 80px;
    top: 40px;
    -webkit-transition: .3s ease;
    -o-transition: .3s ease;
    transition: .3s ease;
    z-index: 9000; }
  footer .footer-main {
    display: none; }
  #goTop {
    width: 60px;
    height: 60px;
    font-size: 18px;
    bottom: 70px; }
  #index footer .footer-main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: 70px;
    text-align: left; }
    #index footer .footer-main .contact-list {
      -webkit-box-flex: 8;
      -ms-flex: 8;
      flex: 8; }
    #index footer .footer-main .sns-list {
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1; }
  #about .about-intro:before {
    width: 235px;
    height: 240px; }
  #about .about-intro:after {
    width: 103px;
    height: 267px; }
  .about-title .year .year-number {
    font-size: 3rem; }
  #warn h1 {
    font-size: 36px; }
    #warn h1 img {
      height: 42px; }
  .table-outer .total-row {
    padding: 15px;
    text-align: center; }
    .table-outer .total-row .ps {
      position: relative;
      top: auto; }
    .table-outer .total-row .total {
      display: inline-block;
      margin-top: 5px; }
  #shopping .total-row {
    padding-right: 25px; }
  #classroom .classroom-list > li .inner .info-outer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-left: 2vw; }
  /*----- 企業合作 -----*/
  #service .service-list li .info .name {
    font-size: 3.5vw; }
  /*--- member ---*/
  #member .order-table td.order-name a {
    white-space: inherit; }
  #member .order-table .btn {
    min-width: 120px; } }

@media only screen and (max-width: 960px) {
  .l-col-12 {
    float: none;
    width: 100%;
    margin-bottom: 15px; }
  .about-title:after {
    right: 0; }
  #index .index-about .half-box:first-child {
    padding-right: 0; }
  #index .index-about .video-container {
    text-align: center; }
  #index footer .footer-main {
    margin-right: 0px; }
  #goTop {
    width: 40px;
    height: 40px; }
    #goTop .inner {
      top: calc(50%); }
    #goTop p {
      display: none; }
  #member .tab-list {
    display: block; }
  #member .login-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    #member .login-container .box-inner {
      padding: 0; }
    #member .login-container .login-box .row {
      margin-bottom: 0; }
    #member .login-container .login-box:last-child {
      border-left: 0; }
  #service .business-list li {
    width: 25%; }
  #contact .contact-container .box-inner {
    padding: 0; } }

@media only screen and (max-width: 768px) {
  main .page-container .page-banner, main#member .page-container .page-banner, main#shopping .page-container .page-banner {
    margin-bottom: 10px; }
    main .page-container .page-banner .main-title, main#member .page-container .page-banner .main-title, main#shopping .page-container .page-banner .main-title {
      top: calc(50% + 40px); }
    main .page-container .page-banner .bg-img, main#member .page-container .page-banner .bg-img, main#shopping .page-container .page-banner .bg-img {
      height: 40vw; }
  .m-col-12 {
    float: none;
    width: 100%;
    margin-bottom: 15px; }
  .main-title h1 {
    font-size: 38px; }
  .main-title h2 {
    font-size: 22px; }
  #index .index-service .m-col-12 {
    margin-bottom: 2vw; }
  #about .gallery-main .inner .txt, #about .gallery-main2 .inner .txt, #about .slider-for .inner .txt, #about .slider-for2 .inner .txt {
    margin-left: 2.2rem; }
  #member .tab-list {
    display: block; }
  #member .cart-table .deadline {
    margin: 1px 3px;
    padding: 1px 8px;
    line-height: 1.3;
    font-size: .9em; }
  /*--- cart table, order table ---*/
  .table-outer .cart-table--screen, .table-outer .order-table--screen, #member .cart-table--screen, #member .order-table--screen {
    display: none; }
  .table-outer .cart-table--mobile, .table-outer .order-table--mobile, #member .cart-table--mobile, #member .order-table--mobile {
    display: table;
    margin-bottom: 25px; }
    .table-outer .cart-table--mobile tbody, .table-outer .cart-table--mobile thead, .table-outer .order-table--mobile tbody, .table-outer .order-table--mobile thead, #member .cart-table--mobile tbody, #member .cart-table--mobile thead, #member .order-table--mobile tbody, #member .order-table--mobile thead {
      max-width: 100%;
      font-size: 12px;
      background-color: transparent; }
    .table-outer .cart-table--mobile tr, .table-outer .order-table--mobile tr, #member .cart-table--mobile tr, #member .order-table--mobile tr {
      border: 1px solid #eee; }
    .table-outer .cart-table--mobile td, .table-outer .cart-table--mobile th, .table-outer .order-table--mobile td, .table-outer .order-table--mobile th, #member .cart-table--mobile td, #member .cart-table--mobile th, #member .order-table--mobile td, #member .order-table--mobile th {
      padding: 2px;
      height: auto;
      word-break: break-word; }
      .table-outer .cart-table--mobile td.cart-name, .table-outer .cart-table--mobile th.cart-name, .table-outer .order-table--mobile td.cart-name, .table-outer .order-table--mobile th.cart-name, #member .cart-table--mobile td.cart-name, #member .cart-table--mobile th.cart-name, #member .order-table--mobile td.cart-name, #member .order-table--mobile th.cart-name {
        text-align: center;
        max-width: 150px; }
      .table-outer .cart-table--mobile td.cart-store, .table-outer .cart-table--mobile th.cart-store, .table-outer .order-table--mobile td.cart-store, .table-outer .order-table--mobile th.cart-store, #member .cart-table--mobile td.cart-store, #member .cart-table--mobile th.cart-store, #member .order-table--mobile td.cart-store, #member .order-table--mobile th.cart-store {
        min-width: 48px;
        text-decoration: underline; }
    .table-outer .cart-table--mobile th, .table-outer .order-table--mobile th, #member .cart-table--mobile th, #member .order-table--mobile th {
      background-color: rgba(197, 154, 108, 0.1);
      min-width: 30px;
      vertical-align: middle; }
    .table-outer .cart-table--mobile td, .table-outer .order-table--mobile td, #member .cart-table--mobile td, #member .order-table--mobile td {
      border-bottom: 0; }
      .table-outer .cart-table--mobile td svg, .table-outer .cart-table--mobile td path, .table-outer .order-table--mobile td svg, .table-outer .order-table--mobile td path, #member .cart-table--mobile td svg, #member .cart-table--mobile td path, #member .order-table--mobile td svg, #member .order-table--mobile td path {
        fill: #C59A6C; }
      .table-outer .cart-table--mobile td.cart-store, .table-outer .order-table--mobile td.cart-store, #member .cart-table--mobile td.cart-store, #member .order-table--mobile td.cart-store {
        color: #966A3A; }
        .table-outer .cart-table--mobile td.cart-store a, .table-outer .order-table--mobile td.cart-store a, #member .cart-table--mobile td.cart-store a, #member .order-table--mobile td.cart-store a {
          text-decoration: underline;
          display: inline-block; }
    .table-outer .cart-table--mobile input[type="number"], .table-outer .order-table--mobile input[type="number"], #member .cart-table--mobile input[type="number"], #member .order-table--mobile input[type="number"] {
      width: 40px;
      line-height: 2em;
      height: 2em;
      padding: 1px 1px 1px 5px; }
    .table-outer .cart-table--mobile [data-leader="price"], .table-outer .order-table--mobile [data-leader="price"], #member .cart-table--mobile [data-leader="price"], #member .order-table--mobile [data-leader="price"] {
      font-size: 12px; }
      .table-outer .cart-table--mobile [data-leader="price"]:before, .table-outer .order-table--mobile [data-leader="price"]:before, #member .cart-table--mobile [data-leader="price"]:before, #member .order-table--mobile [data-leader="price"]:before {
        font-size: 12px; }
  .table-outer .order-table--mobile td.cart-name, .table-outer .order-table--mobile th.cart-name, #member .order-table--mobile td.cart-name, #member .order-table--mobile th.cart-name {
    max-width: 200px; }
    .table-outer .order-table--mobile td.cart-name .inner, .table-outer .order-table--mobile th.cart-name .inner, #member .order-table--mobile td.cart-name .inner, #member .order-table--mobile th.cart-name .inner {
      margin-bottom: 3px; }
  .table-outer .order-table--mobile td .btn, .table-outer .order-table--mobile th .btn, #member .order-table--mobile td .btn, #member .order-table--mobile th .btn {
    min-width: 70px;
    margin: 5px 0;
    padding: 5px;
    font-size: 12px; }
  .table-outer .order-table--mobile thead th, #member .order-table--mobile thead th {
    padding: 5px 0 3px; }
  .table-outer .order-table--mobile td, #member .order-table--mobile td {
    padding: 10px 0 6px; }
  /*--- 教室資訊 ---*/
  #classroom .classroom-list > li .inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    #classroom .classroom-list > li .inner .info-outer {
      max-width: 320px;
      margin: auto;
      padding-left: 0; }
    #classroom .classroom-list > li .inner .info {
      padding: 25px 0; }
      #classroom .classroom-list > li .inner .info ul {
        display: block;
        margin-right: 0; }
        #classroom .classroom-list > li .inner .info ul span, #classroom .classroom-list > li .inner .info ul a {
          margin-left: 2px; }
          #classroom .classroom-list > li .inner .info ul span.icon, #classroom .classroom-list > li .inner .info ul a.icon {
            width: 12px;
            text-align: center; }
  /*--- 聯絡我們---*/
  #contact .contact-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
  /*--- pay message ---*/
  #pay-message .float-outer .half-box:first-child .inner {
    border-right: 0; } }

@media only screen and (max-width: 640px) {
  select, option {
    font-size: 13px; }
  .share {
    text-align: center; }
  .lightbox .btn-row .share {
    position: relative; }
  .table-title h3 {
    font-size: 22px;
    padding: 5px; }
  h2.h2 {
    font-size: 22px; }
  #goTop {
    bottom: 55px; }
  /*----- Index -----*/
  .banner-swiper .swiper-pagination-bullet {
    width: 35px;
    height: 3px; }
  .about-title:after {
    top: 0px;
    bottom: 15px;
    font-size: 19vw; }
  .about-title .year .year-number {
    font-size: 2.5rem; }
  #index .index-about article {
    width: 90%;
    margin: auto; }
  #index .class-list li {
    width: 100%; }
    #index .class-list li figure {
      max-width: 420px;
      margin: auto; }
  #index .index-service li .inner .txt .title {
    font-size: 24px; }
  #about .about-intro {
    font-size: 13px; }
    #about .about-intro section {
      width: 90%;
      max-width: 350px;
      margin: auto; }
      #about .about-intro section span {
        display: block; }
  #about .tab-list li a img {
    height: 22px;
    top: 2px; }
  #about .tab-list li a span {
    margin-left: 20px;
    font-size: 18px; }
  #about .tab-contents {
    width: 90%;
    max-width: 350px;
    margin: auto; }
  #about .slider-nav, #about .slider-nav2 {
    margin: 0 auto 50px;
    padding: 0 24px; }
    #about .slider-nav .item, #about .slider-nav2 .item {
      padding: 5px; }
    #about .slider-nav .slick-prev, #about .slider-nav .slick-next, #about .slider-nav2 .slick-prev, #about .slider-nav2 .slick-next {
      width: 24px;
      height: 24px;
      top: calc(50% - 6px); }
  #about .swiper-button-prev, #about .swiper-button-next {
    width: 24px;
    height: 24px;
    background-size: 24px 24px;
    margin-top: -12px; }
  #about .gallery-main .inner, #about .gallery-main2 .inner, #about .slider-for .inner, #about .slider-for2 .inner {
    max-width: 380px;
    margin: auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    #about .gallery-main .inner .photo, #about .gallery-main2 .inner .photo, #about .slider-for .inner .photo, #about .slider-for2 .inner .photo {
      width: 80%;
      max-width: 250px;
      text-align: center;
      margin: auto; }
      #about .gallery-main .inner .photo .spec, #about .gallery-main2 .inner .photo .spec, #about .slider-for .inner .photo .spec, #about .slider-for2 .inner .photo .spec {
        width: 90px;
        height: 90px; }
        #about .gallery-main .inner .photo .spec .title, #about .gallery-main2 .inner .photo .spec .title, #about .slider-for .inner .photo .spec .title, #about .slider-for2 .inner .photo .spec .title {
          font-size: 22px; }
    #about .gallery-main .inner .txt, #about .gallery-main2 .inner .txt, #about .slider-for .inner .txt, #about .slider-for2 .inner .txt {
      margin-left: 0; }
  #activity .activity-list li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: inherit;
    -ms-flex-align: inherit;
    align-items: inherit; }
    #activity .activity-list li .inner {
      width: 100%; }
    #activity .activity-list li .btn {
      margin-top: 1rem;
      margin-left: 0; }
  #activity .btn-row {
    border-top: 0;
    margin-top: 1.5rem; }
  /*--- 教室資訊 ---*/
  #classroom .classroom-nav li {
    margin: 1px 3px; }
    #classroom .classroom-nav li a {
      padding: 3px 8px; }
  #warn h1 {
    font-size: 28px;
    letter-spacing: 0; }
    #warn h1 img {
      height: 34px;
      margin: 0 -0.5vw; }
  .table-outer .total-row .ps {
    font-size: 13px; }
    .table-outer .total-row .ps span {
      display: block; }
  /*----- 企業合作 -----*/
  #service .grape-title h2.h2 {
    font-size: 22px; }
  #service .service-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    #service .service-list li {
      width: 100%;
      margin-bottom: 2vw;
      padding: 0; }
      #service .service-list li .info .name {
        font-size: 8vw; }
  #service .business-list li {
    width: 33.3%;
    padding: 15px 10px; }
  /*--- 選購課程 ---*/
  #shopping .pay-container h3 {
    font-size: 18px; }
    #shopping .pay-container h3 span {
      display: block; }
  #shopping .pay-container--outer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    #shopping .pay-container--outer .pay-box {
      padding: 1.5rem 0; }
      #shopping .pay-container--outer .pay-box:last-child {
        border-left: 0;
        border-top: 1px solid #C59A6C;
        margin-bottom: 90px; }
      #shopping .pay-container--outer .pay-box .box-inner {
        max-width: 240px; }
  /*--- 會員 ---*/
  #member .login-container .box-inner h3 {
    padding: 1.5rem 0 0.2rem; }
  #member .member-data .btn-solid {
    min-width: 100%; }
  #member .member-data article {
    margin: 0rem 0 .5rem;
    padding-top: .6rem; }
  #survey .title {
    margin-bottom: 1.25vw;
    font-size: 18px; }
  /*--- 聯絡我們 ---*/
  #contact h3.h3 {
    font-size: 18px; }
  #contact .contact-container .line {
    max-width: 173px;
    width: 173px;
    display: block; }
  #contact .contact-container .contact-info {
    display: block; }
  #contact .contact-container .contact-box:first-child {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2; }
  #contact .contact-container .contact-box:last-child {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1; }
  /*--- 聯絡我們 ---*/
  .down-list li {
    width: calc(100% / 2 - 30px); } }

@media only screen and (max-width: 480px) {
  #burger {
    right: 15px;
    top: 26px; }
  .btn-border {
    margin: 1px 0; }
  header #logo .logo-big img {
    margin-top: 6px;
    height: 40px; }
  header #shopping-message {
    max-width: calc(100% - 20px);
    right: 10px;
    top: 60px; }
  header.scroll #logo .logo-small img {
    height: 35px; }
  header.scroll #burger {
    top: 19px; }
  header.scroll #shopping-cart {
    top: 20px; }
  #shopping-cart {
    right: 65px;
    top: 25px; }
  #goTop {
    width: 32px;
    height: 32px;
    bottom: 42px;
    right: 10px; }
  main, main#member, main#shopping {
    padding-top: 70px; }
    main .page-container .page-banner .main-title, main#member .page-container .page-banner .main-title, main#shopping .page-container .page-banner .main-title {
      top: calc(50%); }
    main .page-container .page-banner .bg-img, main#member .page-container .page-banner .bg-img, main#shopping .page-container .page-banner .bg-img {
      height: 160px; }
  /*--- pagination ---*/
  #pagination li.page-basic a {
    width: 28px;
    height: 28px;
    line-height: 28px; }
  #pagination li.page-prev img, #pagination li.page-next img {
    width: 28px; }
  /*--- 進入頁 ---*/
  #index.intro h3.h3, #index.intro h2.h2 {
    display: inline-block;
    font-size: 18px; }
  #index.intro h2.h2 {
    font-size: 22px; }
  #index.intro .age-outer ul {
    font-size: 48px; }
    #index.intro .age-outer ul li.slash {
      width: 25px;
      height: 38px; }
  #index.intro .age-outer .logo {
    margin-top: 2rem; }
  .about-title {
    padding: 20px 0 10px; }
    .about-title h2 {
      margin: 12px 0; }
    .about-title .year .year-number {
      font-size: 2rem; }
  /*----- Index -----*/
  .banner-swiper.is-screen {
    display: none; }
  .banner-swiper.is-mobile {
    display: block; }
  .banner-swiper .bg-img {
    padding-top: 56%; }
  #index footer .footer-main {
    position: relative; }
    #index footer .footer-main .contact-list {
      padding-right: 10px;
      font-size: 12px; }
      #index footer .footer-main .contact-list li {
        display: block;
        margin-right: 0; }
        #index footer .footer-main .contact-list li:first-child {
          width: calc(100% - 78px);
          font-size: 1rem; }
        #index footer .footer-main .contact-list li .icon {
          width: 14px; }
        #index footer .footer-main .contact-list li .content {
          width: calc(100% - 14px - 8px); }
    #index footer .footer-main .footer-sns {
      position: absolute;
      top: 0;
      right: 0; }
  #index .index-about article {
    font-size: .9rem;
    line-height: 1.7; }
  #index .index-service li .inner .bg {
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    bottom: 10px; }
  #index .index-service li:hover .inner .bg {
    -webkit-transform: scale(0.95);
    -ms-transform: scale(0.95);
    transform: scale(0.95); }
  #index .class-list {
    margin-bottom: 0; }
    #index .class-list li:last-child {
      margin-bottom: 1rem; }
  #index .index-class .btn-row {
    padding: 0 0 5px; }
  #warn {
    padding: 5px 0; }
    #warn h1 {
      font-size: 18px; }
      #warn h1 img {
        height: 26px; }
  .table-outer .total-row {
    padding: 15px 0; }
  .table-outer .cart-table--mobile.vertical input[type="number"] {
    width: 40px;
    line-height: 2em;
    height: 2em;
    padding: 1px 1px 1px 5px; }
  .table-outer .cart-table--mobile td.cart-store a {
    display: inline-block;
    max-width: 2em; }
  /*--- 匯款方式 ---*/
  #pay-message .notice .notice--inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
  #service .business-list {
    width: 90%;
    max-width: 350px;
    margin: 0 auto 30px; }
    #service .business-list li {
      width: 50%; }
      #service .business-list li img {
        width: 120px; }
  #member .forget-table td, #member .forget-table th {
    display: block;
    margin-bottom: 5px; } }

@media only screen and (max-width: 360px) {
  #warn h1 {
    font-size: 18px; } }

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