@charset "UTF-8";
/******************************************************************************
 * Version 1.0 Release;
 * Copyright 2018
 ******************************************************************************/
@import url("https://fonts.googleapis.com/css?family=Rubik:300,400,400i,700,900");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  word-wrap: break-word;
  word-break: normal;
}

html, body {
  height: 100%;
  scroll-behavior: smooth;
}

html body, body body {
  line-height: 1;
  overflow-x: hidden;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ul {
  list-style: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
mark {
  background: #ff0;
  color: #000;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  max-width: 100%;
  background-color: transparent;
}

table > caption {
  height: 0;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  width: 0;
}

input, select {
  vertical-align: middle;
}

/*==================== 表單元素 - 去除ios預設外觀 input ====================*/
input,
textarea,
button,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  margin: 0;
}

/*==================== 表單元素 - 去除ie預設外觀 select ====================*/
select::-ms-expand {
  display: none;
}

*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  /*改寫iOS Safari中可點擊元素的高亮顏色*/
  font-size: initial;
}

input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

a:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

/*去除focus outline-chrome預設*/
a:focus,
input:focus,
select:focus,
textarea:focus,
button:focus {
  outline: 0;
}

form {
  width: 100%;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: none;
  padding: 0;
  line-height: inherit;
  color: #333;
  overflow: hidden;
  width: 100%;
}

label {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  margin-bottom: 3px;
  font-weight: bold;
}

/*隱藏小箭頭*/
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  -moz-appearance: textfield;
  /*margin: 0;*/
}

input[type="search"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
}

input[type="radio"],
input[type="checkbox"] {
  margin-top: 1px \9;
  line-height: normal;
  vertical-align: baseline;
}

input[type="radio"] {
  -webkit-appearance: radio;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}

input[type="checkbox"] {
  -webkit-appearance: checkbox;
}

input[type="file"] {
  display: block;
}

input[type="range"] {
  display: block;
  width: 100%;
}

/*file、radio、checkbox的focus設定*/
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

/*placeholder*/
::-webkit-input-placeholder {
  /* WebKit browsers */
  color: #999;
}

:-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  color: #999;
}

::-moz-placeholder {
  /* Mozilla Firefox 19+ */
  color: #999;
}

:-ms-input-placeholder {
  /* Internet Explorer 10+ */
  color: #999;
}

/*額外新增*/
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/*==================== 清單 ====================*/
ul,
ol {
  margin-top: 0;
  margin-bottom: .625em;
  /*10/16*/
  /* padding-left: 30px; */
}

/* 第二層崁套margin皆為0 */
ul > li > ul,
ul > li > ol,
ol > li > ol,
ol > li > ul {
  margin: 0;
  padding-left: 30px;
}

img {
  border: 0;
  margin: 0;
  vertical-align: middle;
  width: 100%;
  max-width: 100%;
  height: auto;
}

strong {
  font-weight: normal;
}

em {
  font-weight: normal;
  font-style: normal;
}

/*iconfont*/
@font-face {
    font-family: 'icomoon';
    src: url(../fonts/icomoon.eot?twayhq);
    src: url(../fonts/icomoon.eot?twayhq#iefix) format("embedded-opentype"), url(../fonts/icomoon.ttf?twayhq) format("truetype"), url(../fonts/icomoon.woff?twayhq) format("woff"), url(../fonts/icomoon.svg?twayhq#icomoon) format("svg");
    font-weight: normal;
    font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  /*overflow: hidden;*/
  vertical-align: middle;
  /*i元素-目前專給icon使用*/
  font-size: 24px;
  position: relative;
  pointer-events: none;
}

.icon-help:before {
  content: "\e937";
}

.icon-store:before {
  content: "\e900";
}

.icon-arrow_down:before {
  content: "\e901";
}

.icon-arrow_next:before {
  content: "\e902";
}

.icon-arrow_prev:before {
  content: "\e903";
}

.icon-add:before {
  content: "\e904";
}

.icon-arrow_back_ios:before {
  content: "\e905";
}

.icon-arrow_back:before {
  content: "\e906";
}

.icon-arrow_drop_down:before {
  content: "\e907";
}

.icon-arrow_drop_up:before {
  content: "\e908";
}

.icon-arrow_forward_ios:before {
  content: "\e909";
}

.icon-arrow_forward:before {
  content: "\e90a";
}

.icon-comment:before {
  content: "\e90b";
}

.icon-delete_forever:before {
  content: "\e90c";
}

.icon-error_outline:before {
  content: "\e90d";
}

.icon-error:before {
  content: "\e90e";
}

.icon-expand_more:before {
  content: "\e90f";
}

.icon-facebook_circle:before {
  content: "\e910";
}

.icon-favorite_border:before {
  content: "\e911";
}

.icon-favorite:before {
  content: "\e912";
}

.icon-instagram:before {
  content: "\e913";
}

.icon-more_vert:before {
  content: "\e914";
}

.icon-page_browser:before {
  content: "\e915";
}

.icon-phone:before {
  content: "\e916";
}

.icon-remove:before {
  content: "\e917";
}

.icon-share:before {
  content: "\e918";
}

.icon-star:before {
  content: "\e919";
}

.icon-time_outline:before {
  content: "\e91a";
}

.icon-twitter:before {
  content: "\e91b";
}

.icon-account:before {
  content: "\e91c";
}

.icon-check:before {
  content: "\e91d";
}

.icon-card:before {
  content: "\e91e";
}

.icon-close:before {
  content: "\e91f";
}

.icon-facebook:before {
  content: "\e920";
}

.icon-info:before {
  content: "\e921";
}

.icon-line:before {
  content: "\e922";
}

.icon-location:before {
  content: "\e923";
}

.icon-msg:before {
  content: "\e924";
}

.icon-nav:before {
  content: "\e925";
}

.icon-msg_solid:before {
  content: "\e926";
}

.icon-warning_circle:before {
  content: "\e927";
}

.icon-check_circle:before {
  content: "\e928";
}

.icon-construction:before {
  content: "\e929";
}

.icon-page_error:before {
  content: "\e92a";
}

.icon-fb:before {
  content: "\e92b";
}

.icon-home:before {
  content: "\e92c";
}

.icon-search:before {
  content: "\e92d";
}

.icon-list:before {
  content: "\e92e";
}

.icon-block:before {
  content: "\e92f";
}

.icon-tel:before {
  content: "\e930";
}

.icon-filter:before {
  content: "\e931";
}

.icon-eye:before {
  content: "\e932";
}

.icon-link:before {
  content: "\e933";
}

.icon-website:before {
  content: "\e934";
}

.icon-money:before {
  content: "\e935";
}

.icon-time:before {
  content: "\e936";
}

body {
  content: "xs";
}

@media (min-width: 768px) {
  body {
    content: "s";
  }
}

@media (min-width: 1024px) {
  body {
    content: "m";
  }
}

@media (min-width: 1440px) {
  body {
    content: "l";
  }
}

@media (min-width: 1920px) {
  body {
    content: 'xl';
  }
}

::-moz-selection {
  color: #394965;
  background: #20b8ed;
}

::selection {
  color: #394965;
  background: #20b8ed;
}

.hide {
  display: none;
}

@media (min-width: 0) {
  .hide-xs {
    display: none;
  }
}

@media (min-width: 600px) {
  .hide-sm {
    display: none;
  }
}

@media (min-width: 768px) {
  .hide-md {
    display: none;
  }
}

@media (min-width: 1024px) {
  .hide-lg {
    display: none;
  }
}

@media (min-width: 1440px) {
  .hide-xl {
    display: none;
  }
}

@media (min-width: 1920px) {
  .hide-xxl {
    display: none;
  }
}

@media (min-width: 768px) {
  .hide--md {
    display: none;
  }
}

@media (min-width: 1024px) {
  .hide--lg {
    display: none;
  }
}

.block {
  display: block;
}

@media (min-width: 0) {
  .block-xs {
    display: block;
  }
}

@media (min-width: 600px) {
  .block-sm {
    display: block;
  }
}

@media (min-width: 768px) {
  .block-md {
    display: block;
  }
}

@media (min-width: 1024px) {
  .block-lg {
    display: block;
  }
}

@media (min-width: 1440px) {
  .block-xl {
    display: block;
  }
}

@media (min-width: 1920px) {
  .block-xxl {
    display: block;
  }
}

@media (min-width: 768px) {
  .block--md {
    display: block;
  }
}

@media (min-width: 1024px) {
  .block--lg {
    display: block;
  }
}

.hide-scrollbar::-webkit-scrollbar {
  display: none;
}

.clearfix:after {
  clear: both;
  content: " ";
  display: block;
  height: 0;
  line-height: 0;
}

.link-break {
  word-break: break-all;
}

.border {
  border: 1px solid #ddd;
}

.bg-gray {
  background: #f4f4f4;
}

.hr {
  display: block;
  border: none;
  height: 1px;
  margin: 20px 0;
  background: #ddd;
}

.price-sell {
  color: #394965;
  font-size: 12px;
  margin-bottom: 5px;
}

.price-offer {
  color: #e33000;
  margin-bottom: 5px;
}

.price-cht {
  margin-right: 5px;
}

.price-num {
  display: inline-block;
}

.price-num::before {
  content: "NT$";
  display: inline;
  margin-right: .3125em;
}

.price-num-simple::before {
  content: "$";
  display: inline;
  margin-right: .15em;
}

.integral {
  color: #ff6e22;
  margin-bottom: 5px;
}

.integral-cht {
  margin-right: 3px;
  font-size: 12px;
}

.integral-num {
  font-size: 16px;
  font-weight: bold;
}

.price-range {
  font-size: 16px;
}

.price-range__pre-text {
  color: #394965;
  font-weight: bold;
}

.price-range__num::before {
  content: "$";
  display: inline;
  margin-right: .3125em;
}

.phone-verify {
  position: relative;
  display: inline-block;
  font-size: 0;
  vertical-align: middle;
  color: #394965;
  width: 26px;
  margin: -4px 0;
}

.phone-verify::before, .phone-verify::after {
  font-family: 'icomoon';
}

.phone-verify::before {
  content: "\e912";
  font-size: 22px;
  color: #999;
}

.phone-verify::after {
  content: "\e919";
  color: #999;
  position: absolute;
  right: -1px;
  top: -1px;
  font-size: 16px;
}

.phone-verify--success::after {
  content: "\e91a";
  color: #0cac00;
}

.info-finish {
  display: none;
}

.info-finish--show {
  display: block;
}

.hover-mask {
  position: relative;
}

.hover-mask::before {
  content: '';
  pointer-events: none;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: #000;
  -webkit-transition: opacity .3s;
  -o-transition: opacity .3s;
  transition: opacity .3s;
  opacity: 0;
  z-index: 1;
}

.hover-mask:hover::before {
  opacity: .06;
}

.bdbox {
  overflow: hidden;
  margin: 0 auto 20px;
}

.bdbox--2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media (min-width: 1024px) {
  .bdbox__item--mobile {
    display: none;
  }
}

.bdbox__item--web {
  display: none;
}

@media (min-width: 1024px) {
  .bdbox__item--web {
    display: block;
  }
}

.bdbox__img {
  width: auto;
  max-width: auto;
}

.bdbox__336x280 {
  width: 336px;
  height: 280px;
}

.bdbox__260x90 {
  width: 260px;
  height: 90px;
}

.bdbox__402x130 {
  width: 402px;
  height: 130px;
}

.bdbox__836x90 {
  width: 836px;
  height: 90px;
}

.rankbox {
  font-size: 15px;
}

.rankbox__title {
  display: none;
}

.rankbox__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.rankbox__score {
  color: #20b8ed;
  margin: 0 8px 0 -1px;
}

.rankbox__ranklist {
  margin: 0 0 0 5px;
}

.rankbox__total {
  color: #20b8ed;
  margin: 0 0 0 10px;
}

.ranklist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  padding: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.ranklist__item {
  color: #ddd;
}

.ranklist__item--active {
  color: #20b8ed;
  margin: 0;
}

.ranklist__icon {
  font-size: 16px;
}

.rankbox--sm .ranklist__icon {
  font-size: 16px;
}

.evaluatelist {
  display: none;
  margin: 0;
  padding: 0;
  color: #999;
}

@media (min-width: 768px) {
  .evaluatelist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.evaluatelist__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.evaluatelist__item:not(:last-child) {
  margin-right: 10px;
  color: #20b8ed;
}

.evaluatelist__icon {
  font-size: 26px;
}

.evaluatelist__count {
  margin: 0 0 0 5px;
  font-size: 14px;
}

.datalist {
  color: #999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  padding: 0;
}

.datalist__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.datalist__item:not(:last-child) {
  margin-right: 10px;
}

.datalist__count {
  margin: 0 0 0 5px;
  font-size: 14px;
}

.function-more {
  position: relative;
}

.function-more__btn {
  position: absolute;
  color: #999;
  width: 24px;
  height: 24px;
  right: 0;
  top: 0;
  z-index: 2;
}

.function-more__dropbox {
  background: #fff;
  border-radius: 5px;
  border: 1px solid #ddd;
  position: absolute;
  right: 0;
  top: 30px;
  z-index: 1;
  padding: 5px 0;
  display: none;
}

.function-more--active .function-more__dropbox,
.function-more:hover .function-more__dropbox {
  display: block;
}

.function-more__dropbox::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 13px 11px;
  border-color: transparent transparent #ddd transparent;
  position: absolute;
  right: 5px;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  top: -13px;
  z-index: 0;
}

.function-more__dropbox::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 13px 9px;
  border-color: transparent transparent #fff transparent;
  position: absolute;
  right: 7px;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  top: -11px;
  z-index: 1;
}

.functionlist {
  margin: 0;
  padding: 0;
  font-size: 14px;
}

.functionlist__link {
  display: block;
  padding: 5px 15px;
  color: #394965;
  text-decoration: none;
}

.thumbnaillist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: -5px;
}

.thumbnaillist__item {
  width: 80px;
  height: 80px;
  border: 1px solid #ddd;
  overflow: hidden;
  margin: 5px;
  position: relative;
}

.thumbnaillist__item::after {
  padding-top: 100%;
  content: "";
  display: block;
}

.thumbnaillist__img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.thumbnaillist .img--horizontal {
  height: 100%;
  width: initial;
  max-width: initial;
}

@media (min-width: 1280px) {
  .thumbnaillist .img--horizontal {
    width: 100%;
    max-width: 100%;
    height: auto;
  }
}

.thumbnaillist .img--straight {
  width: 100%;
}

.menulist__item {
  border: 1px solid #ddd;
}

.loadmore {
  text-align: cetner;
  margin: 20px 0 0 0;
}

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 600px) {
  .container {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}

@media (min-width: 1024px) {
  .container {
    max-width: 960px;
  }
}

@media (min-width: 1440px) {
  .container {
    max-width: 1140px;
  }
}

.container-fluid {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

.no-gutters > .col,
.no-gutters > [class*="col-"] {
  padding-right: 0;
  padding-left: 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, .col,
.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
.col-xl-auto, .col-xxl-1, .col-xxl-2, .col-xxl-3, .col-xxl-4, .col-xxl-5, .col-xxl-6, .col-xxl-7, .col-xxl-8, .col-xxl-9, .col-xxl-10, .col-xxl-11, .col-xxl-12, .col-xxl,
.col-xxl-auto {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

.col {
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  max-width: 100%;
}

.col-auto {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}

.col-1 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 8.33333%;
  flex: 0 0 8.33333%;
  max-width: 8.33333%;
}

.col-2 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 16.66667%;
  flex: 0 0 16.66667%;
  max-width: 16.66667%;
}

.col-3 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
}

.col-4 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 33.33333%;
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
}

.col-5 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 41.66667%;
  flex: 0 0 41.66667%;
  max-width: 41.66667%;
}

.col-6 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
}

.col-7 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 58.33333%;
  flex: 0 0 58.33333%;
  max-width: 58.33333%;
}

.col-8 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 66.66667%;
  flex: 0 0 66.66667%;
  max-width: 66.66667%;
}

.col-9 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 75%;
  flex: 0 0 75%;
  max-width: 75%;
}

.col-10 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 83.33333%;
  flex: 0 0 83.33333%;
  max-width: 83.33333%;
}

.col-11 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 91.66667%;
  flex: 0 0 91.66667%;
  max-width: 91.66667%;
}

.col-12 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}

.order-first {
  -webkit-box-ordinal-group: 0;
  -ms-flex-order: -1;
  order: -1;
}

.order-last {
  -webkit-box-ordinal-group: 14;
  -ms-flex-order: 13;
  order: 13;
}

.order-0 {
  -webkit-box-ordinal-group: 1;
  -ms-flex-order: 0;
  order: 0;
}

.order-1 {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

.order-2 {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

.order-3 {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
}

.order-4 {
  -webkit-box-ordinal-group: 5;
  -ms-flex-order: 4;
  order: 4;
}

.order-5 {
  -webkit-box-ordinal-group: 6;
  -ms-flex-order: 5;
  order: 5;
}

.order-6 {
  -webkit-box-ordinal-group: 7;
  -ms-flex-order: 6;
  order: 6;
}

.order-7 {
  -webkit-box-ordinal-group: 8;
  -ms-flex-order: 7;
  order: 7;
}

.order-8 {
  -webkit-box-ordinal-group: 9;
  -ms-flex-order: 8;
  order: 8;
}

.order-9 {
  -webkit-box-ordinal-group: 10;
  -ms-flex-order: 9;
  order: 9;
}

.order-10 {
  -webkit-box-ordinal-group: 11;
  -ms-flex-order: 10;
  order: 10;
}

.order-11 {
  -webkit-box-ordinal-group: 12;
  -ms-flex-order: 11;
  order: 11;
}

.order-12 {
  -webkit-box-ordinal-group: 13;
  -ms-flex-order: 12;
  order: 12;
}

.offset-1 {
  margin-left: 8.33333%;
}

.offset-2 {
  margin-left: 16.66667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.33333%;
}

.offset-5 {
  margin-left: 41.66667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.33333%;
}

.offset-8 {
  margin-left: 66.66667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.33333%;
}

.offset-11 {
  margin-left: 91.66667%;
}

@media (min-width: 600px) {
  .col-sm {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-sm-auto {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-sm-1 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 8.33333%;
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .col-sm-2 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 16.66667%;
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-sm-3 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .col-sm-5 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 41.66667%;
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .col-sm-6 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 58.33333%;
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .col-sm-8 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 66.66667%;
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .col-sm-9 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.33333%;
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .col-sm-11 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 91.66667%;
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .col-sm-12 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-sm-first {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }
  .order-sm-last {
    -webkit-box-ordinal-group: 14;
    -ms-flex-order: 13;
    order: 13;
  }
  .order-sm-0 {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }
  .order-sm-1 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  .order-sm-2 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  .order-sm-3 {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
  }
  .order-sm-4 {
    -webkit-box-ordinal-group: 5;
    -ms-flex-order: 4;
    order: 4;
  }
  .order-sm-5 {
    -webkit-box-ordinal-group: 6;
    -ms-flex-order: 5;
    order: 5;
  }
  .order-sm-6 {
    -webkit-box-ordinal-group: 7;
    -ms-flex-order: 6;
    order: 6;
  }
  .order-sm-7 {
    -webkit-box-ordinal-group: 8;
    -ms-flex-order: 7;
    order: 7;
  }
  .order-sm-8 {
    -webkit-box-ordinal-group: 9;
    -ms-flex-order: 8;
    order: 8;
  }
  .order-sm-9 {
    -webkit-box-ordinal-group: 10;
    -ms-flex-order: 9;
    order: 9;
  }
  .order-sm-10 {
    -webkit-box-ordinal-group: 11;
    -ms-flex-order: 10;
    order: 10;
  }
  .order-sm-11 {
    -webkit-box-ordinal-group: 12;
    -ms-flex-order: 11;
    order: 11;
  }
  .order-sm-12 {
    -webkit-box-ordinal-group: 13;
    -ms-flex-order: 12;
    order: 12;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333%;
  }
  .offset-sm-2 {
    margin-left: 16.66667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333%;
  }
  .offset-sm-5 {
    margin-left: 41.66667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333%;
  }
  .offset-sm-8 {
    margin-left: 66.66667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333%;
  }
  .offset-sm-11 {
    margin-left: 91.66667%;
  }
}

@media (min-width: 768px) {
  .col-md {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-md-auto {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-md-1 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 8.33333%;
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .col-md-2 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 16.66667%;
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-md-3 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .col-md-5 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 41.66667%;
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .col-md-6 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 58.33333%;
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .col-md-8 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 66.66667%;
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .col-md-9 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.33333%;
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .col-md-11 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 91.66667%;
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .col-md-12 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-md-first {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }
  .order-md-last {
    -webkit-box-ordinal-group: 14;
    -ms-flex-order: 13;
    order: 13;
  }
  .order-md-0 {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }
  .order-md-1 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  .order-md-2 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  .order-md-3 {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
  }
  .order-md-4 {
    -webkit-box-ordinal-group: 5;
    -ms-flex-order: 4;
    order: 4;
  }
  .order-md-5 {
    -webkit-box-ordinal-group: 6;
    -ms-flex-order: 5;
    order: 5;
  }
  .order-md-6 {
    -webkit-box-ordinal-group: 7;
    -ms-flex-order: 6;
    order: 6;
  }
  .order-md-7 {
    -webkit-box-ordinal-group: 8;
    -ms-flex-order: 7;
    order: 7;
  }
  .order-md-8 {
    -webkit-box-ordinal-group: 9;
    -ms-flex-order: 8;
    order: 8;
  }
  .order-md-9 {
    -webkit-box-ordinal-group: 10;
    -ms-flex-order: 9;
    order: 9;
  }
  .order-md-10 {
    -webkit-box-ordinal-group: 11;
    -ms-flex-order: 10;
    order: 10;
  }
  .order-md-11 {
    -webkit-box-ordinal-group: 12;
    -ms-flex-order: 11;
    order: 11;
  }
  .order-md-12 {
    -webkit-box-ordinal-group: 13;
    -ms-flex-order: 12;
    order: 12;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333%;
  }
  .offset-md-2 {
    margin-left: 16.66667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333%;
  }
  .offset-md-5 {
    margin-left: 41.66667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333%;
  }
  .offset-md-8 {
    margin-left: 66.66667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333%;
  }
  .offset-md-11 {
    margin-left: 91.66667%;
  }
}

@media (min-width: 1024px) {
  .col-lg {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-lg-auto {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-lg-1 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 8.33333%;
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .col-lg-2 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 16.66667%;
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-lg-3 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .col-lg-5 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 41.66667%;
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .col-lg-6 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 58.33333%;
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .col-lg-8 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 66.66667%;
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .col-lg-9 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.33333%;
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .col-lg-11 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 91.66667%;
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .col-lg-12 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-lg-first {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }
  .order-lg-last {
    -webkit-box-ordinal-group: 14;
    -ms-flex-order: 13;
    order: 13;
  }
  .order-lg-0 {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }
  .order-lg-1 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  .order-lg-2 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  .order-lg-3 {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
  }
  .order-lg-4 {
    -webkit-box-ordinal-group: 5;
    -ms-flex-order: 4;
    order: 4;
  }
  .order-lg-5 {
    -webkit-box-ordinal-group: 6;
    -ms-flex-order: 5;
    order: 5;
  }
  .order-lg-6 {
    -webkit-box-ordinal-group: 7;
    -ms-flex-order: 6;
    order: 6;
  }
  .order-lg-7 {
    -webkit-box-ordinal-group: 8;
    -ms-flex-order: 7;
    order: 7;
  }
  .order-lg-8 {
    -webkit-box-ordinal-group: 9;
    -ms-flex-order: 8;
    order: 8;
  }
  .order-lg-9 {
    -webkit-box-ordinal-group: 10;
    -ms-flex-order: 9;
    order: 9;
  }
  .order-lg-10 {
    -webkit-box-ordinal-group: 11;
    -ms-flex-order: 10;
    order: 10;
  }
  .order-lg-11 {
    -webkit-box-ordinal-group: 12;
    -ms-flex-order: 11;
    order: 11;
  }
  .order-lg-12 {
    -webkit-box-ordinal-group: 13;
    -ms-flex-order: 12;
    order: 12;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333%;
  }
  .offset-lg-2 {
    margin-left: 16.66667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333%;
  }
  .offset-lg-5 {
    margin-left: 41.66667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333%;
  }
  .offset-lg-8 {
    margin-left: 66.66667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333%;
  }
  .offset-lg-11 {
    margin-left: 91.66667%;
  }
}

@media (min-width: 1440px) {
  .col-xl {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-xl-auto {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-xl-1 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 8.33333%;
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .col-xl-2 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 16.66667%;
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-xl-3 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xl-4 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .col-xl-5 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 41.66667%;
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .col-xl-6 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xl-7 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 58.33333%;
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .col-xl-8 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 66.66667%;
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .col-xl-9 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xl-10 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.33333%;
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .col-xl-11 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 91.66667%;
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .col-xl-12 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-xl-first {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }
  .order-xl-last {
    -webkit-box-ordinal-group: 14;
    -ms-flex-order: 13;
    order: 13;
  }
  .order-xl-0 {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }
  .order-xl-1 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  .order-xl-2 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  .order-xl-3 {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
  }
  .order-xl-4 {
    -webkit-box-ordinal-group: 5;
    -ms-flex-order: 4;
    order: 4;
  }
  .order-xl-5 {
    -webkit-box-ordinal-group: 6;
    -ms-flex-order: 5;
    order: 5;
  }
  .order-xl-6 {
    -webkit-box-ordinal-group: 7;
    -ms-flex-order: 6;
    order: 6;
  }
  .order-xl-7 {
    -webkit-box-ordinal-group: 8;
    -ms-flex-order: 7;
    order: 7;
  }
  .order-xl-8 {
    -webkit-box-ordinal-group: 9;
    -ms-flex-order: 8;
    order: 8;
  }
  .order-xl-9 {
    -webkit-box-ordinal-group: 10;
    -ms-flex-order: 9;
    order: 9;
  }
  .order-xl-10 {
    -webkit-box-ordinal-group: 11;
    -ms-flex-order: 10;
    order: 10;
  }
  .order-xl-11 {
    -webkit-box-ordinal-group: 12;
    -ms-flex-order: 11;
    order: 11;
  }
  .order-xl-12 {
    -webkit-box-ordinal-group: 13;
    -ms-flex-order: 12;
    order: 12;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333%;
  }
  .offset-xl-2 {
    margin-left: 16.66667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333%;
  }
  .offset-xl-5 {
    margin-left: 41.66667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333%;
  }
  .offset-xl-8 {
    margin-left: 66.66667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333%;
  }
  .offset-xl-11 {
    margin-left: 91.66667%;
  }
}

@media (min-width: 1920px) {
  .col-xxl {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-xxl-auto {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-xxl-1 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 8.33333%;
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .col-xxl-2 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 16.66667%;
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-xxl-3 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xxl-4 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .col-xxl-5 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 41.66667%;
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .col-xxl-6 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xxl-7 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 58.33333%;
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .col-xxl-8 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 66.66667%;
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .col-xxl-9 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xxl-10 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.33333%;
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .col-xxl-11 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 91.66667%;
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .col-xxl-12 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-xxl-first {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }
  .order-xxl-last {
    -webkit-box-ordinal-group: 14;
    -ms-flex-order: 13;
    order: 13;
  }
  .order-xxl-0 {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }
  .order-xxl-1 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  .order-xxl-2 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  .order-xxl-3 {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
  }
  .order-xxl-4 {
    -webkit-box-ordinal-group: 5;
    -ms-flex-order: 4;
    order: 4;
  }
  .order-xxl-5 {
    -webkit-box-ordinal-group: 6;
    -ms-flex-order: 5;
    order: 5;
  }
  .order-xxl-6 {
    -webkit-box-ordinal-group: 7;
    -ms-flex-order: 6;
    order: 6;
  }
  .order-xxl-7 {
    -webkit-box-ordinal-group: 8;
    -ms-flex-order: 7;
    order: 7;
  }
  .order-xxl-8 {
    -webkit-box-ordinal-group: 9;
    -ms-flex-order: 8;
    order: 8;
  }
  .order-xxl-9 {
    -webkit-box-ordinal-group: 10;
    -ms-flex-order: 9;
    order: 9;
  }
  .order-xxl-10 {
    -webkit-box-ordinal-group: 11;
    -ms-flex-order: 10;
    order: 10;
  }
  .order-xxl-11 {
    -webkit-box-ordinal-group: 12;
    -ms-flex-order: 11;
    order: 11;
  }
  .order-xxl-12 {
    -webkit-box-ordinal-group: 13;
    -ms-flex-order: 12;
    order: 12;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66667%;
  }
}

body {
  color: #394965;
  font: 100%/1.4 "Rubik", "-apple-system", BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB", "微軟正黑體", "Microsoft JhengHei", sans-serif;
  background: #fff;
}

a {
  color: #394965;
  text-decoration: underline;
}

a:focus, a:active {
  color: #20b8ed;
  text-decoration: none;
  outline: 0;
}

@media (min-width: 1024px) {
  a:hover {
    color: #20b8ed;
    text-decoration: none;
    outline: 0;
  }
}

.heading1,
.heading2,
.heading3,
.heading4,
.heading5,
.heading6 {
  font-weight: bold;
  line-height: 1.25;
  text-align: center;
  text-transform: none;
  color: #394965;
}

.heading1 {
  font-size: 30px;
  margin-bottom: 5px;
}

@media (min-width: 1024px) {
  .heading1 {
    font-size: 40px;
    margin-bottom: 10px;
  }
}

.heading2 {
  font-size: 16px;
  margin: 0 0 15px;
}

.heading6 {
  font-size: 1em;
}

.heading-desc {
  text-align: center;
  font-size: 18px;
  margin-bottom: 20px;
}

@media (min-width: 1024px) {
  .heading-desc {
    margin-bottom: 40px;
  }
}

.page-paragraph {
  font-size: 14px;
  line-height: 1.7;
}

.time {
  font-size: 12px;
  color: #999;
  font-weight: 300;
}

.text {
  font-size: 14px;
}

.text-bold {
  font-weight: bold;
}

.text-primary {
  color: #ff6e22;
}

.text-primary:hover, .text-primary:focus {
  color: #ff6e22;
}

.text-secondary {
  color: #e33000;
}

.text-secondary:hover, .text-secondary:focus {
  color: #e33000;
}

.text-dark {
  color: #394965;
}

.text-dark:hover, .text-dark:focus {
  color: #394965;
}

.text-third {
  color: #888;
}

.text-fourth {
  color: #eee;
}

.text-success {
  color: #0cac00;
}

.text-success:hover, .text-success:focus {
  color: #0cac00;
}

.text-info {
  color: #888;
}

.text-info:hover, .text-info:focus {
  color: #888;
}

.text-warning {
  color: #e33000;
}

.text-warning:hover, .text-warning:focus {
  color: #e33000;
}

.bg-primary {
  background: #20b8ed;
}

.btn-link {
  text-decoration: underline;
  background: transparent;
}

.btn-link:active {
  text-decoration: none;
}

.listtext {
  padding: 0 0 0 30px;
  line-height: 1.4;
}

.listtext--no {
  padding-left: 0;
  list-style-type: none;
}

.listtext--decimal-arc {
  counter-reset: counter;
}

.listtext--decimal-arc > .listtext__item {
  list-style: none;
  position: relative;
}

.listtext--decimal-arc > .listtext__item::before {
  counter-increment: counter;
  content: "(" counter(counter) ")";
  position: absolute;
  left: -1.5em;
}

.listtext--cjk-arc {
  counter-reset: counter;
  padding-left: 1.5em;
}

.listtext--cjk-arc > .listtext__item {
  list-style: none;
  position: relative;
  padding-left: .3em;
}

.listtext--cjk-arc > .listtext__item::before {
  counter-increment: counter;
  content: "(" counter(counter, cjk-ideographic) ")";
  position: absolute;
  left: -1.5em;
}

.listtext__item {
  margin-bottom: 15px;
}

.listtext--disc > .listtext__item {
  list-style-type: disc;
}

.listtext--circle > .listtext__item {
  list-style-type: circle;
}

.listtext--square > .listtext__item {
  list-style-type: square;
}

.listtext--no > .listtext__item {
  list-style-type: none;
}

.listtext--decimal > .listtext__item {
  list-style-type: decimal;
}

.listtext--cjk > .listtext__item {
  list-style-type: cjk-ideographic;
}

.listtext--lowerlatin > .listtext__item {
  list-style-type: lower-latin;
}

.listtext__field {
  display: block;
  float: left;
  text-align: right;
  width: 90px;
}

.listtext__data {
  display: block;
  padding: 0 0 0 90px;
  word-break: break-all;
  word-wrap: break-word;
}

.listtext--gap > .listtext__item {
  margin-bottom: 1.5em;
}

.listtext--lg > .listtext__item {
  font-size: 14px;
  font-weight: bold;
}

.listtext__item * {
  font-weight: initial;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .listtext__item * {
    font-size: medium;
    font-weight: normal;
  }
}

.text-article {
  line-height: 1.625;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.text-article .listtext--cjk {
  padding-left: 2.5em;
}

.text-article .listtext--disc {
  padding-left: 1.5em;
}

.text-article__heading {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 20px;
  color: #394965;
}

.text-article__heading--bg {
  font-size: 16px;
  background: #f4f4f4;
  padding: 0.625em;
}

@media (min-width: 768px) {
  .text-article__heading:first-child {
    margin-top: 20px;
  }
}

.text-article__heading--black {
  color: inherit;
}

.text-article__heading--gap-sm {
  margin-bottom: 0.33333em;
}

.text-article__subheading {
  font-weight: bold;
  margin-bottom: 10px;
  color: #394965;
  font-size: 16px;
}

.text-article__paragraph {
  margin: 0 0 20px;
  font-size: 16px;
}

.text-article__paragraph--gap-top {
  margin-top: 2.15em;
}

.note {
  font-size: 14px;
  margin-bottom: 10px;
}

.list-report {
  padding: 0;
  list-style: none;
}

.list-report__item {
  margin-bottom: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px;
}

.list-report__item:last-child {
  margin-bottom: 0;
}

.list-report__item--all {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.list-report__title {
  font-weight: bold;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  color: #394965;
  float: none;
  width: 80px;
  text-align: left;
}

.list-report__item--all .list-report__title {
  float: none;
  width: 100%;
  text-align: left;
  margin-bottom: 10px;
}

.list-report__title::after {
  content: "：";
  display: inline;
}

.list-report__item--all .list-report__title::after {
  display: none;
}

.list-report__data {
  word-break: break-all;
  word-wrap: break-word;
}

@media (min-width: 768px) {
  .list-report__data {
    padding-left: 0;
  }
}

.list-report__item--all .list-report__data {
  padding-left: 0;
}

.tag {
  background: #ff6e22;
  color: #fff;
  text-transform: uppercase;
  padding: 3px 5px;
  font-size: 12px;
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: none;
}

.tag--show {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.tag--primary {
  background: #ff6e22;
}

.tag--secondary {
  background: #e33000;
}

.tag--third {
  background: #ff4e4e;
}

.taglist {
  margin: -7px;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.taglist__item {
  margin: 7px;
}

.taglist--strong .taglist__item {
  margin: 6px 4px;
}

.taglist__link, .taglist__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 30px;
  padding: 6px 10px 5px;
  text-decoration: none;
  font-size: 14px;
  border: 1px solid #20b8ed;
  font-weight: normal;
}

@media (min-width: 1024px) {
  .taglist__link, .taglist__text {
    font-size: 16px;
  }
}

.taglist__link .taglist--opacity, .taglist__text .taglist--opacity {
  background: rgba(255, 255, 255, 0.25);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.25);
}

@media (min-width: 1024px) {
  .taglist--lg .taglist__link, .taglist--lg .taglist__text {
    font-size: 18px;
  }
}

.taglist__link:focus, .taglist__link:active {
  border-color: #394965;
  color: #394965;
}

@media (min-width: 1024px) {
  .taglist__link:hover {
    border-color: #394965;
    color: #394965;
  }
}

.taglist--strong .taglist__link {
  color: #394965;
}

.taglist__item:nth-child(3n+1) .taglist__link {
  color: #20b8ed;
  border-color: #20b8ed;
}

.taglist__item:nth-child(3n-1) .taglist__link {
  color: #00D6C1;
  border-color: #00D6C1;
}

.taglist__item:nth-child(3n) .taglist__link {
  color: #9879DB;
  border-color: #9879DB;
}

.taglist--strong {
  margin: -6px -4px;
}

.tag-event {
  color: #fff;
  display: block;
  font-size: 13px;
  padding: 5px 0 0 4px;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 1;
}

.tag-event::after {
  content: " ";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 49px 57px 0 0;
  border-color: #e33000 transparent transparent transparent;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.tag-time {
  display: none;
  background: #e33000;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  width: 44px;
  min-height: 69px;
  padding: 4px 0;
  font-size: 14px;
  text-align: center;
  font-weight: 600;
  pointer-events: none;
  z-index: 2;
}

.tag-time--show {
  display: block;
}

.tag-time__icon {
  font-size: 20px;
  margin-bottom: .25em;
  font-weight: normal;
  display: block;
}

.tag-time__strong {
  font-size: 18px;
}

.tag-store {
  display: inline-block;
  font-size: 0;
  width: 60px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
}

.tag-store--kitchen {
  background-image: url(../images/store/tag_kitchen.svg?t=20180921v1);
}

.tag-store--outlet {
  background-image: url(../images/store/tag_outlet.svg?t=20180921v1);
}

.tag-product {
  padding: 3px 5px;
  text-align: center;
  min-width: 44px;
  line-height: 25px;
  font-size: 13px;
  color: #fff;
  background: #20b8ed;
  font-weight: bold;
  pointer-events: none;
  max-width: 10em;
  overflow: hidden;
  white-space: nowrap;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
}

table {
  max-width: 100%;
  background-color: transparent;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

table > caption {
  height: 0;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  width: 0;
}

.table {
  background: #fff;
  margin-bottom: 20px;
  overflow: hidden;
  border-bottom: 1px solid #ddd;
  color: #394965;
}

.table__row {
  border: 1px solid #ddd;
  border-width: 1px 1px 0 1px;
  position: relative;
  padding: 10px;
}

@media (min-width: 1024px) {
  .table__row {
    display: table;
    width: 100%;
    padding: 0;
  }
}

@media (min-width: 1024px) {
  .table__head, .table__body {
    display: table;
    width: 100%;
  }
}

.table__head {
  display: none;
}

@media (min-width: 1024px) {
  .table__head {
    display: table;
    background: #ddd;
    color: #394965;
  }
}

.table__cell {
  line-height: 1.4;
}

@media (min-width: 1024px) {
  .table__head .table__cell,
  .table__body .table__cell {
    display: table-cell;
    vertical-align: middle;
    padding: 10px 6px;
  }
}

@media (min-width: 1024px) {
  .table__head .table__cell {
    padding: 11px 10px;
  }
}

.table__body .table__cell {
  margin: 10px 0;
  padding-right: 80px;
}

.table__body .table__cell::before {
  content: attr(data-th) "：";
  display: block;
  vertical-align: middle;
  float: left;
}

@media (min-width: 1024px) {
  .table__body .table__cell::before {
    display: none;
  }
}

@media (min-width: 1024px) {
  .table__body .table__cell:first-child, .table__body .table__cell:last-child {
    margin: 0;
  }
}

.table__body .table__cell:last-child {
  border-bottom: none;
}

.table__cell-value {
  display: block;
  padding-left: 42px;
}

@media (min-width: 1024px) {
  .table__cell-value {
    padding-left: 0;
  }
}

.table__cell--center {
  text-align: center;
}

.table__cell--right {
  text-align: right;
}

.table__tips {
  font-size: 0.875em;
  margin-bottom: 20px;
}

.table + .table__tips {
  margin-top: -10px;
}

.btn {
  border: 1px solid transparent;
  display: inline-block;
  padding: 14px 10px 11px;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-image: none;
  -webkit-transition: all .1s ease-in-out;
  -o-transition: all .1s ease-in-out;
  transition: all .1s ease-in-out;
}

@media (min-width: 1024px) {
  .btn {
    -webkit-transition: 0.35s background cubic-bezier(0.165, 0.84, 0.44, 1), 0.35s border-color cubic-bezier(0.165, 0.84, 0.44, 1);
    -o-transition: 0.35s background cubic-bezier(0.165, 0.84, 0.44, 1), 0.35s border-color cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 0.35s background cubic-bezier(0.165, 0.84, 0.44, 1), 0.35s border-color cubic-bezier(0.165, 0.84, 0.44, 1);
  }
}

.btn:focus, .btn:active {
  outline-offset: -2px;
  text-decoration: none;
}

.btn:active {
  background-image: none;
  outline: 0;
}

@media (min-width: 1024px) {
  .btn:hover {
    text-decoration: none;
  }
}

.btn--block {
  width: 100%;
}

.btn--inline {
  width: auto;
  display: inline-block;
}

.btn--default {
  color: #333;
  background: #fff;
  border-color: #ddd;
}

.btn--default:focus, .btn--default:active {
  color: #333;
  background: #fff;
  border-color: #999;
}

@media (min-width: 1024px) {
  .btn--default:hover {
    color: #333;
    background: #fff;
    border-color: #999;
  }
}

.btn--default[disabled], .btn--default.disabled:hover, .btn--default[disabled]:hover, .btn--default.disabled:focus, .btn--default[disabled]:focus {
  cursor: not-allowed;
  background: #ddd;
  border-color: #ddd;
  color: #999;
}

.btn--primary {
  color: #fff;
  background: #20b8ed;
  border-color: #20b8ed;
}

.btn--primary:focus, .btn--primary:active {
  color: #fff;
  background: #1CA2D1;
  border-color: #1CA2D1;
}

@media (min-width: 1024px) {
  .btn--primary:hover {
    color: #fff;
    background: #1CA2D1;
    border-color: #1CA2D1;
  }
}

.btn--primary[disabled], .btn--primary.disabled:hover, .btn--primary[disabled]:hover, .btn--primary.disabled:focus, .btn--primary[disabled]:focus {
  cursor: not-allowed;
  background: #ddd;
  border-color: #ddd;
  color: #999;
}

.btn--third {
  color: #394965;
  background: #fff;
  border-color: #888;
}

.btn--third:focus, .btn--third:active {
  color: #394965;
  background: #f4f4f4;
  border-color: #888;
}

@media (min-width: 1024px) {
  .btn--third:hover {
    color: #394965;
    background: #f4f4f4;
    border-color: #888;
  }
}

.btn--third[disabled], .btn--third.disabled:hover, .btn--third[disabled]:hover, .btn--third.disabled:focus, .btn--third[disabled]:focus {
  cursor: not-allowed;
  background: #ddd;
  border-color: #ddd;
  color: #999;
}

.btn--fourth {
  color: #fff;
  background: #999;
  border-color: #999;
}

.btn--fourth:focus, .btn--fourth:active {
  background: #888;
  border-color: #888;
}

@media (min-width: 1024px) {
  .btn--fourth:hover {
    background: #888;
    border-color: #888;
  }
}

.btn--share {
  font-size: 14px;
  padding: 4px 4px 2px 2px;
  letter-spacing: 0;
  color: #343434;
  background: #eeedec;
  border-color: #eeedec;
}

.btn--share:focus, .btn--share:active {
  color: #fff;
  background: #222;
  border-color: #222;
}

@media (min-width: 1024px) {
  .btn--share:hover {
    color: #fff;
    background: #222;
    border-color: #222;
  }
}

.btn--transparent {
  color: #fff;
  background: transparent;
  border-color: #fff;
}

@media (min-width: 1024px) {
  .btn--transparent:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.2);
    border-color: #fff;
  }
}

.btn--facebook {
  color: #fff;
  background: #3b5999;
  border-color: #3b5999;
}

.btn--facebook:focus, .btn--facebook:active {
  color: #fff;
  background: #2b4782;
  border-color: #2b4782;
}

@media (min-width: 1024px) {
  .btn--facebook:hover {
    color: #fff;
    background: #2b4782;
    border-color: #2b4782;
  }
}

.btn--line {
  color: #fff;
  background: #09b900;
  border-color: #09b900;
}

.btn--line:focus, .btn--line:active {
  color: #fff;
  background: #089601;
  border-color: #089601;
}

@media (min-width: 1024px) {
  .btn--line:hover {
    color: #fff;
    background: #089601;
    border-color: #089601;
  }
}

.btn--google {
  color: #fff;
  background: #dc4e41;
  border-color: #dc4e41;
}

.btn--google:focus, .btn--google:active {
  color: #fff;
  background: #c34236;
  border-color: #c34236;
}

@media (min-width: 1024px) {
  .btn--google:hover {
    color: #fff;
    background: #c34236;
    border-color: #c34236;
  }
}

.btn__icon {
  margin: 0 3px;
  font-size: 20px;
  margin-top: -5px;
}

.btn-xs {
  font-size: 16px;
  padding: 7px 6px;
  max-height: 33px;
  min-width: 100px;
}

.btn-sm {
  max-height: 44px;
}

.btn-md {
  font-size: 16px;
  min-height: 44px;
  max-height: 44px;
  min-width: 158px;
}

.btn-lg {
  font-size: 16px;
  width: 100%;
}

@media (min-width: 1024px) {
  .btn-lg {
    font-size: 24px;
    padding: 15px 10px 15px;
  }
}

.btn-icon {
  display: block;
  color: #999;
}

.btn-icon:active {
  color: #222;
}

.icon-btn__icon {
  font-size: 16px;
}

.btnbox {
  text-align: center;
  margin: 0 -8px;
}

.btnbox--1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-width: 150px;
  margin: 0 auto;
}

.btnbox .btn-xs {
  margin: 0 5px;
}

.btnbox .btn-md {
  margin: 0 8px;
}

.btnboxs--2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 345px;
  margin: 0 auto;
}

.btnboxs--2-full {
  max-width: none;
}

@media (min-width: 768px) {
  .btnboxs--3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

@media (min-width: 768px) {
  .btnboxs--3 .btn-md {
    width: calc(33.333% - 14px);
    max-width: 170px;
    margin-left: 5px;
    margin-right: 5px;
  }
}

@media (min-width: 768px) {
  .btnboxs--3 .btn-lg {
    width: calc(33.333% - 14px);
    max-width: 260px;
    margin-left: 5px;
    margin-right: 5px;
  }
}

.btnboxs--2 .btn {
  width: calc(50% - 10px);
}

.btn-favorites {
  display: block;
  width: 30px;
  height: 30px;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.btn-favorites__icon {
  font-size: 24px;
  -webkit-transition: .5s ease;
  -o-transition: .5s ease;
  transition: .5s ease;
  color: #999;
  display: inline-block;
}

.btn-favorites--active .btn-favorites__icon {
  -webkit-animation: like .15s;
  animation: like .15s;
}

@media (min-width: 1024px) {
  .btn-favorites:hover .btn-favorites__icon {
    color: #666;
  }
}

.btn-favorites--active .btn-favorites__icon::before {
  content: '\e910';
  color: #20b8ed;
}

@media (min-width: 1024px) {
  .btn-favorites:hover .btn-favorites__icon::before {
    content: '\e910';
    color: #20b8ed;
  }
}

@-webkit-keyframes like {
  50% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
  }
}

@keyframes like {
  50% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
  }
}

.movie-box {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.movie-box iframe,
.movie-box object,
.movie-box embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.pagination {
  text-align: center;
  margin: 30px 0;
}

@media (min-width: 768px) {
  .pagination {
    text-align: center;
    margin: 100px 0;
  }
}

.pagination__control {
  display: inline-block;
  vertical-align: middle;
  margin: 0 2px;
}

.pagination__control--disabled {
  border: none;
}

.pagination__link {
  width: 36px;
  height: 36px;
  background: #999;
  color: #fff;
  display: block;
  text-decoration: none;
}

.pagination__link:focus, .pagination__link:active {
  background: #20b8ed;
  color: #fff;
}

@media (min-width: 1024px) {
  .pagination__link:hover {
    background: #20b8ed;
    color: #fff;
  }
}

.pagination__control--disabled .pagination__link {
  background: #f4f4f4;
  color: #888;
  cursor: default;
  pointer-events: none;
  border: none;
  text-decoration: none;
}

.pagination__icon {
  font-size: 15px;
  margin: 10px;
}

.pagination__current {
  vertical-align: middle;
  display: inline-block;
  vertical-align: middle;
  margin: 0 2px;
}

@media (min-width: 768px) {
  .pagination__current {
    display: none;
  }
}

.pagination__current-num {
  padding: 0 5px;
  color: #20b8ed;
}

.list-page {
  display: none;
}

@media (min-width: 768px) {
  .list-page {
    display: inline-block;
    vertical-align: middle;
    font-size: 0;
    letter-spacing: -4px;
    word-spacing: 0;
    padding: 0;
  }
}

@media (min-width: 768px) {
  .list-page__item {
    font-size: 16px;
    letter-spacing: normal;
    margin: 0 10px;
    word-spacing: normal;
    display: inline-block;
    line-height: 1.5;
    zoom: 1;
  }
}

@media (min-width: 768px) {
  .list-page__link {
    display: block;
    padding: 3px;
    text-decoration: none;
    color: #888;
  }
}

@media (min-width: 768px) {
  .list-page__item--current .list-page__link {
    color: #20b8ed;
  }
}

@media (min-width: 1024px) {
  .list-page__link:hover {
    color: #20b8ed;
  }
}

.collapse,
.collapse-sub {
  position: relative;
}

.collapse__heading,
.collapse-sub__heading {
  position: relative;
}

.collapse__body,
.collapse-sub__body {
  -webkit-transition: max-height .25s ease-in-out;
  -o-transition: max-height .25s ease-in-out;
  transition: max-height .25s ease-in-out;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  margin-top: 0;
}

.collapse--half .collapse__body, .collapse--half
.collapse-sub__body {
  opacity: 1;
  max-height: 6.8em;
  position: relative;
}

.collapse--half-2 .collapse__body, .collapse--half-2
.collapse-sub__body {
  max-height: 115px;
}

@media (min-width: 1024px) {
  .collapse--half-2 .collapse__body, .collapse--half-2
  .collapse-sub__body {
    max-height: 2000px;
    opacity: 1;
  }
}

.collapse--oneline .collapse__body, .collapse--oneline
.collapse-sub__body {
  max-height: 1.6em;
  opacity: 1;
}

.collapse--open.collapse--half .collapse__body::after, .collapse--open.collapse--half
.collapse-sub__body::after {
  display: none;
}

.collapse--open > .collapse__body,
.collapse-sub--open > .collapse__body, .collapse--open >
.collapse-sub__body,
.collapse-sub--open >
.collapse-sub__body {
  max-height: 2000px;
  opacity: 1;
}

.collapse__btn,
.collapse-sub__btn {
  display: block;
  text-decoration: none;
  color: #999;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.collapse--oneline .collapse__btn, .collapse--oneline
.collapse-sub__btn {
  left: initial;
  bottom: initial;
}

.collapse__icon,
.collapse-sub__icon {
  position: absolute;
  right: 0;
  font-size: 24px;
  -webkit-transition: -webkit-transform .25s ease-in-out;
  transition: -webkit-transform .25s ease-in-out;
  -o-transition: transform .25s ease-in-out;
  transition: transform .25s ease-in-out;
  transition: transform .25s ease-in-out, -webkit-transform .25s ease-in-out;
}

.collapse__more,
.collapse-sub__more {
  display: block;
  position: relative;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  z-index: 0;
  text-align: center;
}

.collapse__more-btn,
.collapse-sub__more-btn {
  text-decoration: underline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 15px;
  position: relative;
  text-align: center;
  z-index: 1;
  color: #394965;
}

.collapse__more-btn:focus, .collapse__more-btn:active,
.collapse-sub__more-btn:focus,
.collapse-sub__more-btn:active {
  text-decoration: none;
}

@media (min-width: 1024px) {
  .collapse__more-btn:hover,
  .collapse-sub__more-btn:hover {
    text-decoration: none;
  }
}

.collapse__more-iconbox,
.collapse-sub__more-iconbox {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 24px;
  height: 24px;
  color: #fff;
  margin-left: 5px;
}

.collapse__more-icon,
.collapse-sub__more-icon {
  font-size: 24px;
  margin-left: 5px;
  color: #999;
}

.collapse--open .collapse__icon,
.collapse-sub--open .collapse-sub__icon {
  top: 50%;
  -webkit-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  transform: rotate(-180deg);
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
}

.collapse-sub__icon {
  right: 0;
  color: #888;
}

.tooltips {
  position: fixed;
  top: -100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  overflow: hidden;
  -webkit-transition: all .25s ease;
  -o-transition: all .25s ease;
  transition: all .25s ease;
}

.tooltips--active {
  opacity: 1;
  top: 0;
  bottom: 0;
  z-index: 1000;
}

.tooltips__info {
  color: #fff;
  height: 48px;
  line-height: 48px;
  margin: -24px 0 0 -150px;
  position: absolute;
  padding: 0 20px;
  top: -100%;
  left: 50%;
  width: 300px;
  -webkit-transition: top .5s ease .05s;
  -o-transition: top .5s ease .05s;
  transition: top .5s ease .05s;
  font-size: 16px;
  background: #535353;
}

.tooltips--active .tooltips__info {
  top: 50%;
}

.tooltips--error .tooltips__info {
  background: #ed0d0d;
}

.tooltips--success .tooltips__info {
  background: #12ad0e;
}

.tooltips__icon, .tooltips__text {
  display: inline-block;
  vertical-align: middle;
}

.tooltips__icon {
  font-size: 20px;
  margin: 0 8px 0 0;
}

.tooltips__text {
  letter-spacing: .1em;
}

.loading {
  position: relative;
  cursor: default;
}

.loading::before {
  position: fixed;
  content: '';
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  z-index: 100;
  background: rgba(0, 0, 0, 0.1);
}

.loading::after {
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;
  margin: -1.5em 0em 0em -1.5em;
  width: 2em;
  height: 2em;
  -webkit-animation: form-spin 0.4s linear;
  animation: form-spin 0.4s linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  border-radius: 500rem;
  border-color: #767676 rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1);
  border-style: solid;
  border-width: 0.2em;
  -webkit-box-shadow: 0px 0px 0px 1px transparent;
  box-shadow: 0px 0px 0px 1px transparent;
  visibility: visible;
  z-index: 101;
}

.load-more {
  text-align: center;
  margin-top: 20px;
  min-height: 30px;
  opacity: 0;
  -webkit-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}

.load-more--active {
  opacity: 1;
}

.load-more__text {
  display: none;
  text-indent: 100%;
  white-space: nowrap;
  overflow: none;
}

@-webkit-keyframes form-spin {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes form-spin {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.lightbox {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: fixed;
  overflow-x: hidden;
  overflow-y: auto;
  background: rgba(0, 0, 0, 0.5);
  -webkit-transition: all .25s ease-in-out, opacity .2s linear;
  -o-transition: all .25s ease-in-out, opacity .2s linear;
  transition: all .25s ease-in-out, opacity .2s linear;
  z-index: 1000;
  pointer-events: none;
  opacity: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

@media (min-width: 1024px) {
  .lightbox {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding-top: 80px;
  }
}

@media (min-width: 1440px) {
  .lightbox {
    padding-top: 150px;
  }
}

.lightbox--active {
  opacity: 1;
  top: 0;
  bottom: 0;
  z-index: 1000;
  pointer-events: auto;
}

.lightbox__box {
  line-height: 1.4;
  position: relative;
  width: auto;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  -webkit-transition: -webkit-transform .1s ease-out;
  transition: -webkit-transform .1s ease-out;
  -o-transition: transform .1s ease-out;
  transition: transform .1s ease-out;
  transition: transform .1s ease-out, -webkit-transform .1s ease-out;
  margin: 0 auto;
  background: #fff;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
  -webkit-transform: translate(0, 101%);
  -ms-transform: translate(0, 101%);
  transform: translate(0, 101%);
  width: 100%;
}

@media (min-width: 1024px) {
  .lightbox__box {
    -webkit-transform: translate(0, -101%);
    -ms-transform: translate(0, -101%);
    transform: translate(0, -101%);
  }
}

.lightbox--active .lightbox__box {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
}

.lightbox__content {
  background-clip: padding-box;
  position: relative;
}

.lightbox__head {
  padding: 13px 47px 12px 20px;
  position: relative;
}

@media (min-width: 1024px) {
  .lightbox__head {
    padding-left: 30px;
  }
}

.lightbox__head--left {
  padding-left: 15px;
}

.lightbox--notitle .lightbox__head {
  border-bottom: none;
}

.lightbox__head:after {
  content: "";
  height: 1px;
  background: #ddd;
  position: absolute;
  bottom: 0;
  left: 20px;
  right: 20px;
}

.lightbox__title {
  color: #333;
  font-weight: normal;
  font-size: 24px;
}

.lightbox--notitle .lightbox__title {
  display: none;
}

.lightbox__btn-close {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 34px;
  height: 34px;
  text-decoration: none;
  position: absolute;
  right: 13px;
  top: 13px;
  color: #999;
}

.lightbox__btn-close:focus, .lightbox__btn-close:active {
  color: #333;
}

@media (min-width: 1024px) {
  .lightbox__btn-close:hover {
    color: #333;
  }
}

.lightbox__close-icon {
  text-decoration: none;
  -webkit-transition: background .3s;
  -o-transition: background .3s;
  transition: background .3s;
  font-size: 24px;
}

.lightbox__body {
  padding: 30px 20px;
}

@media (min-width: 1024px) {
  .lightbox__body {
    padding: 50px 30px;
  }
}

.lightbox--notitle .lightbox__body {
  padding: 5px 20px 25px;
}

.lightbox__body--scroll {
  max-height: 390px;
  overflow-y: auto;
  margin: 0 10px 10px 0;
  display: inline-block;
  padding-top: 0;
}

.lightbox__body--scroll::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

.lightbox__body--scroll::-webkit-scrollbar-track {
  border-radius: 10px;
  background: #9e9797;
}

.lightbox__body--scroll::-webkit-scrollbar-thumb {
  border-radius: 6px;
  background: #e33000;
}

.lightbox__body--center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.lightbox__footer {
  padding: 0 20px 15px;
}

.lightbox--nofooter .lightbox__footer {
  display: none;
}

.lightbox__desc {
  line-height: 1.7;
  text-align: center;
  overflow: hidden;
  color: #666;
}

.lightbox .section {
  margin-bottom: 30px;
}

.lightbox .list-report__item {
  margin-bottom: 10px;
}

@media (min-width: 1024px) {
  .lightbox--sm .lightbox__box {
    max-width: 488px;
  }
}

@media (min-width: 1024px) {
  .lightbox--md .lightbox__box {
    max-width: 740px;
  }
}

.lightbox--lg .lightbox__box {
  max-width: 740px;
}

.lightbox--full .lightbox__box {
  margin-top: 0;
  margin-bottom: 0;
  -webkit-transform: translate(0, 100%);
  -ms-transform: translate(0, 100%);
  transform: translate(0, 100%);
  width: 100%;
  border-radius: 0;
}

@media (min-width: 1024px) {
  .lightbox--full .lightbox__box {
    border-radius: 10px;
    max-width: 740px;
    -webkit-transform: translate(0, -100%);
    -ms-transform: translate(0, -100%);
    transform: translate(0, -100%);
  }
}

.lightbox--full .lightbox__head {
  padding-top: 14px;
}

@media (min-width: 768px) {
  .lightbox--full .lightbox__head {
    padding: 20px 44px;
  }
}

.lightbox--full .lightbox__content {
  margin-top: 0;
}

.lightbox--full .lightbox__body {
  height: calc(100vh - 115px);
  overflow-y: auto;
}

.lightbox--full .lightbox__body::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

.lightbox--full .lightbox__body::-webkit-scrollbar-track {
  border-radius: 10px;
  background: #f4f4f4;
}

.lightbox--full .lightbox__body::-webkit-scrollbar-thumb {
  border-radius: 6;
  background: #333;
}

@media (min-width: 768px) {
  .lightbox--full .lightbox__body {
    height: initial;
    overflow-y: initial;
    margin: initial;
  }
}

.lightbox--full.lightbox--active .lightbox__box {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
}

.slide {
  position: relative;
}

@media (min-width: 1024px) {
  .slide--padding-lg {
    padding: 0 42px;
  }
}

.carousel__imgbox {
  overflow: hidden;
  position: relative;
}

.carousel__imgbox::after {
  content: "";
  display: block;
}

.carousel__link {
  display: block;
}

.carousel__img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  max-width: 100%;
  margin: auto;
}

.carousel__dotbox {
  font-size: 0;
  letter-spacing: -4px;
  padding: 10px 0;
  text-align: center;
  word-spacing: 0;
  position: absolute;
  bottom: 0;
  text-align: center;
  left: 0;
  right: 0;
}

@media (min-width: 1024px) {
  .carousel__dotbox {
    bottom: 5px;
  }
}

.carousel__dotbox-item {
  width: 14px;
  height: 14px;
  display: inline-block;
  *display: inline;
  font-size: 16px;
  letter-spacing: normal;
  margin: 0 5px;
  vertical-align: top;
  word-spacing: normal;
  zoom: 1;
}

.carousel__dotbox-link {
  width: 100%;
  height: 100%;
  display: block;
  background: #fff;
  border: 1px solid #fff;
  border-radius: 50%;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  pointer-events: none;
  cursor: default;
}

@media (min-width: 1024px) {
  .carousel__dotbox-link {
    pointer-events: inherit;
    cursor: pointer;
  }
}

.carousel__dotbox-item--current > .carousel__dotbox-link {
  background: none;
}

.carousel__btnbox {
  display: none;
}

@media (min-width: 1024px) {
  .carousel__btnbox {
    display: block;
  }
}

.carousel__btn {
  position: absolute;
  z-index: 2;
  display: inline-block;
  height: 52px;
  width: 52px;
  top: 50%;
  bottom: inherit;
  margin: -26px 0 0;
  text-align: center;
  line-height: 52px;
  color: rgba(255, 255, 255, 0.4);
  -webkit-transition: color .25s ease;
  -o-transition: color .25s ease;
  transition: color .25s ease;
}

.carousel__btn:focus, .carousel__btn:active {
  color: #fff;
}

@media (min-width: 1024px) {
  .carousel__btn:hover {
    color: #fff;
  }
}

.carousel__btnbox--sm .carousel__btn {
  font-size: 30px;
}

.carousel__btnbox--box .carousel__btn {
  border: 1px solid #ddd;
  width: 28px;
  height: 28px;
  color: #888;
  border-color: #bbb;
  line-height: 26px;
  text-align: center;
}

.carousel__btnbox--box .carousel__btn:focus, .carousel__btnbox--box .carousel__btn:active {
  color: #20b8ed;
}

@media (min-width: 1024px) {
  .carousel__btnbox--box .carousel__btn:hover {
    color: #20b8ed;
  }
}

.carousel__btnbox--box .carousel__btn--disabled {
  background: #eee;
  border-color: #eee;
  color: #bbb;
  cursor: not-allowed;
  border: none;
}

.carousel__btnbox--box .carousel__btn--disabled:focus, .carousel__btnbox--box .carousel__btn--disabled:active {
  background: #eee;
  border-color: #eee;
  color: #bbb;
}

@media (min-width: 1024px) {
  .carousel__btnbox--box .carousel__btn--disabled:hover {
    background: #eee;
    border-color: #eee;
    color: #bbb;
  }
}

.carousel__btn-icon {
  font-size: 52px;
  display: inline-block;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
}

.carousel__btnbox--box .carousel__btn-icon {
  font-size: 12px;
  text-shadow: none;
  font-weight: bold;
}

.carousel__btn-prev {
  left: 0;
}

.carousel__btn-next {
  right: 0;
}

.owl-carousel .owl-nav {
  cursor: pointer;
  z-index: 999;
  width: 100%;
  margin: 0;
}

.owl-theme .owl-nav [class*=owl-] {
  width: 30px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #999;
  border: none;
  font-weight: normal;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  position: absolute;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  text-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  display: none;
}

.owl-carousel .owl-nav button.owl-next,
.owl-carousel .owl-nav button.owl-prev {
  font-size: 30px;
  color: #999;
  overflow: hidden;
}

.owl-carousel .owl-nav button.owl-next:active,
.owl-carousel .owl-nav button.owl-next:hover,
.owl-carousel .owl-nav button.owl-prev:active,
.owl-carousel .owl-nav button.owl-prev:hover {
  background: transparent;
  color: #20b8ed;
}

.owl-carousel .owl-nav button.owl-prev {
  left: -30px;
  left: 0;
}

.owl-carousel .owl-nav button.owl-next {
  right: -30px;
  right: 0;
}

.owl-theme .owl-nav [class*=owl-] span {
  padding-top: 60px;
}

.owl-theme .owl-nav [class*=owl-] span:before {
  font-family: 'icomoon';
  font-size: 30px;
  display: inline;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.owl-theme .owl-nav .owl-prev span:before {
  content: "\e901";
}

.owl-theme .owl-nav .owl-next span:before {
  content: "\e905";
}

.owl-carousel.carousel__nav--over .owl-nav [class*=owl-] {
  width: 50px;
  height: 50px;
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  background: transparent;
}

.owl-carousel.carousel__nav--over .owl-nav button.owl-next,
.owl-carousel.carousel__nav--over .owl-nav button.owl-prev {
  font-size: 50px;
  color: #fff;
  background-color: transparent;
  opacity: 0.5;
}

.owl-carousel.carousel__nav--over .owl-nav button.owl-next:active,
.owl-carousel.carousel__nav--over .owl-nav button.owl-next:hover,
.owl-carousel.carousel__nav--over .owl-nav button.owl-prev:active,
.owl-carousel.carousel__nav--over .owl-nav button.owl-prev:hover {
  background: transparent;
  color: #fff;
  opacity: 1;
}

.owl-carousel.carousel__nav--over .owl-nav button.owl-prev {
  left: 0;
}

.owl-carousel.carousel__nav--over .owl-nav button.owl-next {
  right: 0;
}

.owl-carousel.carousel__nav--over .owl-nav [class*=owl-] span {
  padding-top: 50px;
}

.owl-carousel.carousel__nav--over .owl-nav [class*=owl-] span:before {
  font-size: 50px;
}

.carousel__dotbox--over .owl-dots {
  position: absolute;
  bottom: 10px;
  left: 0;
  right: 0;
}

.owl-theme .owl-nav.disabled + .owl-dots {
  margin-top: 0;
}

.owl-theme .owl-dots .owl-dot span {
  background: #ddd;
  opacity: .5;
  width: 14px;
  height: 8px;
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
  background: #20b8ed;
  opacity: 1;
}

.owl-theme.carousel__dotbox--dark .owl-dots .owl-dot span {
  background: #000;
}

.owl-theme.carousel__dotbox--dark .owl-dots .owl-dot.active span,
.owl-theme.carousel__dotbox--dark .owl-dots .owl-dot:hover span {
  background: #000;
}

input[type="radio"] {
  vertical-align: top;
}

input[type="checkbox"] {
  vertical-align: middle;
}

.form {
  width: 100%;
  position: relative;
}

.form .row {
  overflow: hidden;
}

.form__control {
  font-family: "Rubik", "-apple-system", BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB", "微軟正黑體", "Microsoft JhengHei", sans-serif;
  font-size: 16px;
  line-height: 1.15;
  width: 100%;
  padding: 10px;
  min-height: 44px;
  border: 1px solid #ddd;
  background: #fff;
}

select.form__control {
  padding: 10px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='177 45 42 42'%3E%3Cpath fill='%23666' d='M204 63.686l-1.371-1.371L198 66.942l-4.628-4.628L192 63.686l6 6 6-6z'/%3E%3C/svg%3E") right center no-repeat;
}

textarea.form__control {
  height: auto;
  resize: vertical;
}

.form__control[disabled], .form__control[readonly],
fieldset[disabled] .form__control {
  cursor: not-allowed;
  -webkit-box-shadow: none;
  box-shadow: none;
  background-color: #f4f4f4;
  border-color: #ddd;
}

.form__field--error .form__control {
  border-color: #e33000;
}

.form__controls {
  margin-bottom: 18px;
}

.form__controls:focus {
  border-color: #ddd;
  outline: 0;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);
}

.form__legend {
  display: none;
}

.form__intro {
  margin: 0 0 1em;
}

.form__field {
  margin-bottom: 30px;
}

.form__field::after {
  clear: both;
  content: " ";
  display: block;
  height: 0;
  line-height: 0;
  visibility: hidden;
}

.form__field-verify img {
  width: auto;
  max-width: none;
}

.form__field-birth .form__control-row {
  margin: 0 -5px;
  overflow: hidden;
}

.form__field-birth .form__control-year,
.form__field-birth .form__control-month,
.form__field-birth .form__control-day {
  display: block;
  float: left;
  margin: 0 5px;
  width: calc(33.33333333% - 10px);
}

@media (min-width: 768px) {
  .form__field-address .form__control-row {
    margin: 0 -5px;
    overflow: hidden;
  }
}

.form__field-address .form__control-city,
.form__field-address .form__control-town,
.form__field-address .form__control-zip,
.form__field-address .form__control-address {
  display: block;
}

@media (min-width: 768px) {
  .form__field-address .form__control-city,
  .form__field-address .form__control-town,
  .form__field-address .form__control-zip {
    float: left;
    margin: 0 5px;
  }
}

@media (min-width: 768px) {
  .form__field-address .form__control-city,
  .form__field-address .form__control-town {
    width: calc(40% - 10px);
  }
}

@media (min-width: 768px) {
  .form__field-address .form__control-zip {
    width: calc(20% - 10px);
  }
}

@media (min-width: 768px) {
  .form__field-address .form__control-zip::after {
    clear: both;
    content: " ";
    display: block;
    height: 0;
    line-height: 0;
  }
}

@media (min-width: 768px) {
  .form__field-address .form__control-address {
    clear: both;
  }
}

.form__field-keepcheckbox {
  margin-bottom: 5px;
}

.form__label {
  text-align: left;
  font-weight: normal;
  margin-bottom: 10px;
  color: #394965;
  font-size: 16px;
}

@media (min-width: 1024px) {
  .form--horizontal .form__label {
    padding: 11px 10px;
    margin-bottom: 0;
    text-align: right;
    float: left;
    min-height: 1px;
    width: 120px;
  }
}

.form__field-required .form__label::before {
  content: "* ";
  display: inline-block;
  color: #e33000;
  margin-right: 4px;
}

.form__label--hide {
  display: none;
}

.form__optgroup {
  background: #f4f4f4;
}

.form__field-required .form__inputgroup {
  position: relative;
}

@media (min-width: 1024px) {
  .form--horizontal .form__inputgroup {
    padding: 0 0 0 120px;
  }
}

.form__inputgroup--with-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.form__inputgroup--with-btn .btn {
  margin-left: 10px;
}

.form__inputgroup.loading::after {
  margin: -0.7em 0em 0em -0.7em;
  width: 1.4em;
  height: 1.4em;
}

.form__feedstatic {
  min-height: 44px;
  padding: 14px 0 12px;
  line-height: 1.4;
}

.form__comment {
  color: #888;
  font-size: 14px;
  margin: 5px 0 15px;
  line-height: 1.4;
}

.form__controls + .form__comment {
  margin-top: -10px;
}

.form__feedback {
  display: none;
  font-size: 14px;
  margin: 10px 0 15px;
  position: relative;
  padding: 0 0 0 20px;
  line-height: 1.5;
}

.form__comment + .form__feedback {
  margin: -5px 0 0;
}

.form__field--error .form__feedback {
  color: #e33000;
  display: block;
}

.form__field--error .form__feedback > a {
  color: inherit;
}

.form__field--success .form__feedback {
  color: #0cac00;
  display: block;
}

.form__controls + .form__feedback {
  margin-top: -10px;
}

.form__feedback-icon {
  font-size: 20px;
  margin-top: -5px;
  position: absolute;
  left: 0;
  top: 4px;
}

.form__field--success .form-icon {
  color: #0cac00;
}

.form__field--error .form-icon {
  color: #e33000;
}

.form__keep {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 0 10px;
}

.form__comment + .form__keep {
  margin-top: -8px;
}

.form__keep-label {
  font-size: 14px;
}

.form__keep-item--right {
  margin-left: auto;
}

.form__btn-edit {
  margin: 10px 0 0 0;
}

.form__expend {
  overflow: hidden;
  -webkit-transition: max-height .35s;
  -o-transition: max-height .35s;
  transition: max-height .35s;
  max-height: 0;
  margin-bottom: 0;
}

.form__expend--open {
  max-height: 2000px;
}

.form-upload__control {
  position: fixed;
  right: 100%;
  bottom: 100%;
}

.form-upload__preview {
  background: #fff;
  border: 1px dashed #ddd;
  text-align: center;
  margin: 10px 0 0;
  overflow: hidden;
  position: relative;
}

.form-upload__preview::after {
  content: '';
  padding-top: 75%;
  display: block;
}

.form-upload__preview-img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  max-width: 100%;
  max-height: 100%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.input-verify-icon {
  position: absolute;
  right: 5px;
  top: 10px;
  display: none;
}

.form__field--error .input-verify-icon {
  color: #e33000;
}

.form__field--success .input-verify-icon {
  color: #0cac00;
  display: block;
}

.list-option {
  list-style: none;
  padding: 0;
  margin: 0;
}

@media (min-width: 768px) {
  .list-option {
    text-align: left;
  }
}

.list-option--2, .list-option--3 {
  margin: 0 -5px;
}

@media (min-width: 768px) {
  .list-option--2, .list-option--3 {
    margin: 0;
  }
}

.list-option--inline {
  overflow: hidden;
}

.list-option__item {
  list-style: none;
  text-align: left;
}

@media (min-width: 768px) {
  .list-option__item {
    display: inline-block;
    vertical-align: top;
    margin: 0 10px 0 0;
    width: auto;
    float: none;
  }
}

@media (min-width: 1024px) {
  .list-option__item {
    margin-right: 30px;
  }
}

.list-option--inline .list-option__item {
  width: auto;
  margin: 0 20px 0 5px;
  float: left;
}

.list-option--2 .list-option__item {
  width: calc(50% - 10px);
  margin: 0 5px;
  float: left;
}

@media (min-width: 768px) {
  .list-option--2 .list-option__item {
    display: inline-block;
    vertical-align: top;
    margin: 0 10px 0 0;
    width: auto;
    float: none;
  }
}

@media (min-width: 1024px) {
  .list-option--2 .list-option__item {
    margin-right: 30px;
  }
}

.list-option--3 .list-option__item {
  width: calc(33.333% - 10px);
  margin: 0 5px;
  float: left;
}

@media (min-width: 768px) {
  .list-option--3 .list-option__item {
    display: inline-block;
    vertical-align: top;
    margin: 0 10px 0 0;
    width: auto;
    float: none;
  }
}

@media (min-width: 768px) {
  .list-option__item:last-child {
    margin-right: 0;
  }
}

@media (min-width: 768px) {
  .list-option--2 .list-option__item:last-child,
  .list-option--3 .list-option__item:last-child {
    margin-right: 0;
  }
}

.list-option-img {
  padding: 0;
  list-style: none;
  min-height: 29px;
}

@media (min-width: 1024px) {
  .list-option-img {
    margin: 0 -4px;
  }
}

.list-option-img__item {
  width: 22px;
  height: 22px;
  display: inline-block;
  margin: 4px;
}

@media (min-width: 1024px) {
  .list-option-img__item {
    width: 20px;
    height: 20px;
  }
}

.list-option-img__checkbox, .list-option-img__radio {
  display: none;
  position: absolute;
  padding: 0;
  margin-left: 0;
}

.list-option-img__label {
  cursor: pointer;
  display: block;
  position: relative;
  border-radius: 50%;
  overflow: hidden;
  margin-bottom: 0;
}

.list-option-img__label::after {
  content: '';
  position: absolute;
  display: none;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid #fff;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.list-option-img__checkbox:checked + .list-option-img__label::after,
.list-option-img__radio:checked + .list-option-img__label::after {
  display: block;
}

.list-option-img__img {
  pointer-events: none;
}

.check {
  padding: 13px 0 14px;
  position: relative;
}

.check__input {
  display: none;
  position: absolute;
}

.check__input[disabled] {
  cursor: not-allowed;
}

.check__label {
  cursor: pointer;
  display: block;
  position: relative;
  padding-left: 20px;
  line-height: 1.4;
  font-weight: normal;
  max-width: initial;
  color: #394965;
}

.check__label::before {
  width: 15px;
  height: 15px;
  border: 1px solid #ddd;
  content: '';
  display: inline-block;
  position: absolute;
  top: 2px;
  left: 0px;
  background: #fff;
  -webkit-animation-duration: 0.4s;
  animation-duration: 0.4s;
}

.check__label::after {
  content: '';
  position: absolute;
  display: none;
}

.check__input:checked + .check__label::after {
  display: block;
}

.check__input[disabled] + .check__label {
  color: #ddd;
  cursor: not-allowed;
}

.check__input[disabled] + .check__label::before,
.check__input[disabled] + .check__label::after {
  cursor: not-allowed;
}

.check__input[disabled] + .check__label::before {
  border-color: #ddd;
}

.check-radio .check__label::before {
  border-radius: 50%;
}

.check-radio .check__label::after {
  background: #394965;
  border-radius: 50%;
  height: 8px;
  width: 8px;
  top: 5px;
  left: 4px;
}

.check__input:checked[disabled] + .check-radio .check__label::after {
  background: #ddd;
}

.check-checkbox .check__label::after {
  width: 8px;
  height: 12px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  border-width: 3px;
  border-style: solid;
  border-color: #394965;
  border-top: 0;
  border-left: 0;
  top: 1px;
  left: 5px;
}

.check__input:checked[disabled] + .check-checkbox .check__label::after {
  border-color: #ddd;
}

.radiobox,
.checkbox {
  display: none;
  position: absolute;
}

.radiobox[disabled],
.checkbox[disabled] {
  cursor: not-allowed;
}

.radiobox__label,
.checkbox__label {
  cursor: pointer;
  display: block;
  position: relative;
  padding: 10px 0 10px 24px;
  line-height: 1.5;
  font-weight: normal;
  max-width: initial;
  font-size: 16px;
  color: #394965;
}

.radiobox__label::before,
.checkbox__label::before {
  width: 15px;
  height: 15px;
  border: 1px solid #ddd;
  content: '';
  display: inline-block;
  position: absolute;
  top: 14px;
  left: 0px;
  background: #fff;
  -webkit-animation-duration: 0.4s;
  animation-duration: 0.4s;
}

.radiobox__label::after,
.checkbox__label::after {
  content: '';
  position: absolute;
  display: none;
}

.radiobox:checked + .radiobox__label::after,
.checkbox:checked + .checkbox__label::after {
  display: block;
}

.radiobox[disabled] + .radiobox__label,
.checkbox[disabled] + .checkbox__label {
  color: #ddd;
  cursor: not-allowed;
}

.radiobox[disabled] + .radiobox__label::before,
.radiobox[disabled] + .radiobox__label::after .checkbox[disabled] + .checkbox__label::before,
.checkbox[disabled] + .checkbox__label::after {
  cursor: not-allowed;
}

.radiobox[disabled] + .radiobox__label::before,
.checkbox[disabled] + .checkbox__label::before {
  border-color: #ddd;
}

.radiobox__label::before {
  border-radius: 50%;
}

.radiobox__label::after {
  background: #394965;
  border-radius: 50%;
  height: 8px;
  width: 8px;
  top: 17px;
  left: 4px;
}

.radiobox:checked[disabled] + .radiobox__label::after {
  background: #ddd;
}

.checkbox__label::after {
  content: "\e902";
  top: 13px;
  left: -1px;
  color: #394965;
  font-family: 'icomoon';
  font-size: 18px;
  width: 16px;
  height: 16px;
  line-height: 16px;
  text-align: center;
}

.checkbox:checked[disabled] + .checkbox__label::after {
  border-color: #ddd;
}

.radiobtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 -4px;
}

@media (min-width: 1024px) {
  .radiobtn {
    margin: 0 -7px;
  }
}

.radiobtn__item {
  margin: 0 4px;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -ms-flex-preferred-size: 110px;
  flex-basis: 110px;
}

@media (min-width: 1024px) {
  .radiobtn__item {
    margin: 0 7px;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
  }
}

.radiobtn__input {
  display: none;
  position: absolute;
}

.radiobtn__input[disabled] {
  cursor: not-allowed;
}

.radiobtn__label {
  cursor: pointer;
  display: block;
  position: relative;
  color: #394965;
  border: 1px solid #f4f4f4;
  background: #f4f4f4;
  padding: 10px 0;
  text-decoration: none;
  text-align: center;
  line-height: 1.5;
  font-weight: normal;
  font-size: 14px;
  border-radius: 5px;
}

.radiobtn__label:focus, .radiobtn__label:active {
  background: #fff;
  border-color: #20b8ed;
  color: #ff8822;
}

@media (min-width: 1024px) {
  .radiobtn__label:hover {
    background: #fff;
    border-color: #20b8ed;
    color: #ff8822;
  }
}

.radiobtn__label-icon {
  margin-right: 5px;
}

.radiobtn__item--filter .radiobtn__label {
  padding: 8px 0 9px;
}

.radiobtn__input:checked + .radiobtn__label,
.radiobtn__item--current .radiobtn__label {
  border-color: #20b8ed;
  color: #ff8822;
  background: #fff;
}

.radiobtn__input[disabled] + .radiobtn__label {
  color: #ddd;
  cursor: not-allowed;
}

.form-qty {
  width: 100%;
  position: relative;
}

.form-qty__legend {
  display: none;
}

.form-qty__word {
  font-size: 14px;
}

.form-qty__word::before {
  content: "數量：";
}

@media (min-width: 768px) {
  .form-qty__word::before {
    content: none;
  }
}

.form-qty__feedback {
  display: none;
  font-size: 14px;
  margin: 7px 0 0 0;
}

@media (min-width: 768px) {
  .form-qty__feedback {
    margin-bottom: 0;
  }
}

.form-qty__field--outstock .form-qty__feedback {
  color: #e33000;
  display: block;
}

.form-qty__feedback i {
  font-size: 20px;
  margin-top: -4px;
}

.form-qty__label {
  font-size: 14px;
  margin-bottom: 5px;
  display: none;
}

.form-qty__input-group {
  position: relative;
}

.form-qty__input {
  text-align: center;
  padding: 5px;
}

.form-qty__input:focus {
  border-color: initial;
  border-color: #e4ecf0;
}

.form-qty__input[disabled], .form-qty__input[readonly] {
  background-color: #f4f4f4;
  border-color: #ddd;
}

.form-qty__btn-subtract, .form-qty__btn-add {
  width: 30px;
  height: 30px;
  margin: auto;
  color: #fff;
  background-color: transparent;
  overflow: hidden;
  padding: 0;
  text-indent: 100%;
  vertical-align: top;
  white-space: nowrap;
  min-width: inherit;
  border-radius: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 0;
  background: #333;
}

.form-qty__btn-subtract:focus, .form-qty__btn-subtract:active, .form-qty__btn-add:focus, .form-qty__btn-add:active {
  background: #666;
}

@media (min-width: 1024px) {
  .form-qty__btn-subtract:hover, .form-qty__btn-add:hover {
    background: #666;
  }
}

.form-qty__btn-subtract[disabled], .form-qty__btn-add[disabled] {
  background: #f4f4f4;
}

.form-qty__btn-subtract[disabled] .form-qty__btn-icon, .form-qty__btn-add[disabled] .form-qty__btn-icon {
  color: #ccc;
}

.form-qty__btn-subtract {
  left: 1px;
}

.form-qty__btn-add {
  right: 1px;
}

.form-qty__btn-icon {
  display: inline-block;
  font-size: 1em;
  left: 50%;
  margin: -8px 0 0 -8px;
  position: absolute;
  top: 50%;
  text-indent: 0;
  pointer-events: none;
}

.form-qty--size-s .form-qty__btn-subtract, .form-qty--size-s .form-qty__btn-add {
  width: 26px;
  height: 26px;
}

.form-qty--size-s .form-qty__input {
  min-height: 30px;
}

.form-qty--size-s .form-qty____select {
  padding: 5px;
  height: 30px;
  padding: 3px;
}

.form-qty--size-m .form-qty__btn-subtract, .form-qty--size-m .form-qty__btn-add {
  width: 44px;
  height: 44px;
}

.form-qty--size-m .form-qty__input {
  min-height: 46px;
}

.form-qty--size-m .form-qty__select {
  min-height: 46px;
}

.form-qty-select select.form-qty__form-control {
  max-width: 96px;
  padding: 10px;
  min-width: 96px;
}

@media (min-width: 768px) {
  .form-qty-select select.form-qty__form-control2 {
    min-height: 20px;
    padding: 5px 10px;
  }
}

.form-qty--horizontal .form-qty__body {
  margin: 0 -5px 15px;
  font-size: 0;
  letter-spacing: -4px;
  word-spacing: 0;
}

.form-qty--horizontal .form-qty__field {
  display: inline-block;
  margin: 0 5px;
  text-align: center;
  font-size: 16px;
  width: calc(50% - 10px);
}

.form-slider {
  height: 42px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 12px;
  position: relative;
}

.form-slider.form__field {
  margin-bottom: 12px;
}

.form-slider::before {
  content: '';
  position: absolute;
  height: 6px;
  background: #ddd;
  width: 100%;
  left: 0;
  top: calc(50% - 3px);
}

.form-slider__control {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
  max-width: 100%;
}

.form__inputgroup--inline .form__control-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.form__inputgroup--inline .form__control-col {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.form__inputgroup--inline .form__control-text {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 24px;
  flex: 1 0 24px;
  max-width: 24px;
  margin-top: 26px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.form__inputgroup--sm .form__label {
  font-size: 14px;
}

.form__inputgroup--sm .form__control-text {
  margin-top: 24px;
}

.grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.grid__item {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

.grid-xs-1 .grid__item {
  width: 100%;
}

.grid-xs-2 .grid__item {
  width: calc(50% - (8px * 2));
}

.grid-xs-3 .grid__item {
  width: calc(33.333% - (8px * 2));
}

@media (min-width: 600px) {
  .grid-sm-2 .grid__item {
    width: calc(50% - (8px * 2));
  }
}

@media (min-width: 600px) {
  .grid-sm-3 .grid__item {
    width: calc(33.333% - (8px * 2));
  }
}

@media (min-width: 600px) {
  .grid-sm-4 .grid__item {
    width: calc(25% - (8px * 2));
  }
}

@media (min-width: 768px) {
  .grid-md-2 .grid__item {
    width: calc(50% - (10px * 2));
  }
}

@media (min-width: 768px) {
  .grid-md-3 .grid__item {
    width: calc(33.333% - (10px * 2));
  }
}

@media (min-width: 768px) {
  .grid-md-4 .grid__item {
    width: calc(25% - (10px * 2));
  }
}

@media (min-width: 768px) {
  .grid-md-5 .grid__item {
    width: calc(20% - (10px * 2));
  }
}

@media (min-width: 1024px) {
  .grid-lg-2 .grid__item {
    width: calc(50% - (20px * 2));
  }
}

@media (min-width: 1024px) {
  .grid-lg-3 .grid__item {
    width: calc(33.333% - (20px * 2));
  }
}

@media (min-width: 1024px) {
  .grid-lg-4 .grid__item {
    width: calc(25% - (20px * 2));
  }
}

@media (min-width: 1024px) {
  .grid-lg-5 .grid__item {
    width: calc(20% - (20px * 2));
  }
}

@media (min-width: 1024px) {
  .grid-lg-6 .grid__item {
    width: calc(16.667% - (20px * 2));
  }
}

@media (min-width: 1440px) {
  .grid-xl-2 .grid__item {
    width: calc(50% - (10px * 2));
  }
}

@media (min-width: 1440px) {
  .grid-xl-3 .grid__item {
    width: calc(33.333% - (10px * 2));
  }
}

@media (min-width: 1440px) {
  .grid-xl-4 .grid__item {
    width: calc(25% - (10px * 2));
  }
}

@media (min-width: 1440px) {
  .grid-xl-5 .grid__item {
    width: calc(20% - (10px * 2));
  }
}

@media (min-width: 1440px) {
  .grid-xl-6 .grid__item {
    width: calc(16.667% - (10px * 2));
  }
}

.grid-xs-2, .grid-xs-3 {
  margin: -8px;
}

.grid-xs-2 .grid__item, .grid-xs-3 .grid__item {
  margin: 8px;
}

@media (min-width: 600px) {
  .grid-sm-2, .grid-sm-3, .grid-sm-4 {
    margin: -8px;
  }
}

@media (min-width: 600px) {
  .grid-sm-2 .grid__item, .grid-sm-3 .grid__item, .grid-sm-4 .grid__item {
    margin: 8px;
  }
}

@media (min-width: 768px) {
  .grid-md-2, .grid-md-3, .grid-md-4, .grid-md-5 {
    margin: -10px;
  }
}

@media (min-width: 1024px) {
  .grid-md-2, .grid-md-3, .grid-md-4, .grid-md-5 {
    margin: -20px;
  }
}

@media (min-width: 768px) {
  .grid-md-2 .grid__item, .grid-md-3 .grid__item, .grid-md-4 .grid__item, .grid-md-5 .grid__item {
    margin: 10px;
  }
}

@media (min-width: 1024px) {
  .grid-md-2 .grid__item, .grid-md-3 .grid__item, .grid-md-4 .grid__item, .grid-md-5 .grid__item {
    margin: 20px;
  }
}

@media (min-width: 1024px) {
  .grid-lg-2, .grid-lg-3, .grid-lg-4, .grid-lg-5, .grid-lg-6 {
    margin: -20px;
  }
}

@media (min-width: 1024px) {
  .grid-lg-2 .grid__item, .grid-lg-3 .grid__item, .grid-lg-4 .grid__item, .grid-lg-5 .grid__item, .grid-lg-6 .grid__item {
    margin: 20px;
  }
}

@media (min-width: 1024px) {
  .grid-lg-1 {
    margin: -20px 0;
  }
}

@media (min-width: 1024px) {
  .grid-lg-1 .grid__item {
    margin: 20px;
  }
}

@media (min-width: 1440px) {
  .grid-xl-2, .grid-xl-3, .grid-xl-4, .grid-xl-5, .grid-xl-6 {
    margin: 0 -10px;
  }
}

@media (min-width: 1440px) {
  .grid-xl-2 .grid__item, .grid-xl-3 .grid__item, .grid-xl-4 .grid__item, .grid-xl-5 .grid__item, .grid-xl-6 .grid__item {
    margin: 10px;
  }
}

@media (max-width: 767px) {
  .grid-xs--scroll {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    margin: -6px -12px;
    padding: 0 6px;
  }
  .grid-xs--scroll::after {
    content: "";
    -webkit-box-flex: 0;
    -ms-flex: 0 0 6px;
    flex: 0 0 6px;
  }
  .grid-xs--scroll .grid__item {
    white-space: normal;
    margin: 6px;
  }
  .grid-xs-1--scroll .grid__item {
    width: calc(100% - 120px);
  }
  .grid-xs-2--scroll .grid__item {
    width: calc(50% - 30px);
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .grid-md--scroll {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    white-space: nowrap;
    overflow-x: auto;
    margin: -7px -14px;
    padding: 0 7px;
  }
  .grid-md--scroll::after {
    content: "";
    -webkit-box-flex: 0;
    -ms-flex: 0 0 7px;
    flex: 0 0 7px;
  }
  .grid-md--scroll .grid__item {
    white-space: normal;
    margin: 7px;
  }
  .grid-md-2--scroll .grid__item {
    width: calc(50% - 52px);
  }
  .grid-md-3--scroll .grid__item {
    width: calc(33.333% - 40px);
  }
  .grid-md-4--scroll .grid__item {
    width: calc(25% - 30px);
  }
  .grid-md-5--scroll .grid__item {
    width: calc(20% - 20px);
  }
}

@media (min-width: 1024px) {
  .grid-lg--scroll {
    white-space: nowrap;
    overflow-x: auto;
    margin: 0 -9px 9px;
    padding: 0;
  }
  .grid-lg--scroll::-webkit-scrollbar {
    width: 5px;
    height: 5px;
  }
  .grid-lg--scroll::-webkit-scrollbar-track {
    -webkit-border-radius: 10px;
    border-radius: 10px;
    margin: 80px 0 5px 0;
  }
  .grid-lg--scroll::-webkit-scrollbar-thumb {
    -webkit-border-radius: 4px;
    border-radius: 4px;
    background: #dbdbdb;
  }
}

/* 篩選-多欄型 */
.filter {
  position: relative;
  z-index: 9;
  /* 已觸發 */
  /* 觸發鈕 */
  /* 觸發鈕active */
  /* 文字 */
  /* 數字 */
  /* 向下icon */
  /* 篩選表單 */
  /* 展開區 */
  /* 文字 */
  /* 筆數 */
  /* 關閉 */
  /* icon */
  /* 篩選內容 */
  /* 單項 */
  /* 單項 */
  /* 欄位 */
  /* label-文字 */
  /* label-icon */
  /* 填寫區 */
  /* 子選項 */
  /* 選項組 */
  /* 勾選在右側 */
  /* radio、checkbox-label*/
  /* label-icon-開啟 */
  /* 填寫區-開啟 */
  /* 更多 */
  /* 按鈕區 */
  /* 送出鈕 */
}

@media (min-width: 1024px) {
  .filter {
    z-index: 1;
  }
}

.filter--open {
  z-index: 9;
}

.filter__trigger {
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  background: #fff;
  color: #999;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  position: fixed;
  bottom: 20px;
  right: 20px;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.16);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.16);
}

.filter__trigger:focus, .filter__trigger:active {
  background: #394965;
  color: #fff;
}

@media (min-width: 1024px) {
  .filter__trigger:hover {
    background: #394965;
    color: #fff;
  }
}

.filter--open .filter__trigger__trigger {
  display: none;
}

@media (min-width: 1024px) {
  .filter__trigger {
    display: none;
  }
}

.filter__trigger-icon {
  /* font-size: 20px; */
  /* vertical-align: text-bottom; */
}

.filter__dropbox {
  position: fixed;
  padding: 0 15px;
  z-index: 5;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  background: #fff;
  -webkit-transform: translateY(101%);
  -ms-transform: translateY(101%);
  transform: translateY(101%);
  transition: transform 350ms, -webkit-transform 350ms;
}

.filter--open .filter__dropbox {
  -webkit-transform: translateY(0%);
  -ms-transform: translateY(0%);
  transform: translateY(0%);
  z-index: 11;
}

@media (min-width: 1024px) {
  .filter__dropbox {
    background: transparent;
    position: static;
    -webkit-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%);
    height: auto;
    padding: 0;
  }
}

.filter__header {
  color: #394965;
  font-weight: normal;
  background: #fff;
  text-transform: none;
  font-size: 18px;
  padding: 13px 47px 12px 20px;
  text-align: left;
  border-bottom: 1px solid #ddd;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3;
}

@media (min-width: 1024px) {
  .filter__header {
    background: transparent;
    position: static;
    padding: 0 0 12px;
  }
}

.filter__header::after {
  clear: both;
  content: " ";
  display: block;
  height: 0;
  line-height: 0;
}

.filter__header-count {
  color: #777;
}

@media (min-width: 1024px) {
  .filter__header-count {
    display: none;
  }
}

.filter__header-btn-close {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 34px;
  height: 34px;
  text-decoration: none;
  position: absolute;
  right: 8px;
  top: 5px;
  color: #999;
}

.filter__header-btn-close:focus, .filter__header-btn-close:active {
  color: #333;
}

@media (min-width: 1024px) {
  .filter__header-btn-close:hover {
    color: #333;
  }
}

@media (min-width: 1024px) {
  .filter__header-btn-close {
    display: none;
  }
}

.filter__header-icon-close {
  text-decoration: none;
  -webkit-transition: background .3s;
  -o-transition: background .3s;
  transition: background .3s;
  font-size: 24px;
}

.filter__body {
  height: calc(100% - 127px);
  overflow-y: scroll;
  overflow-x: hidden;
  margin-top: 63px;
}

@media (min-width: 1024px) {
  .filter__body {
    margin-top: 0;
    height: auto;
    overflow-y: initial;
    overflow-x: visible;
  }
}

.filter__field {
  margin-bottom: 20px;
}

@media (min-width: 1024px) {
  .filter__field {
    margin-bottom: 0;
  }
}

.filter__field:last-child {
  margin-bottom: 0;
}

@media (min-width: 1024px) {
  .filter__field:last-child {
    border-bottom: none;
  }
}

.filter__label {
  display: block;
  color: #394965;
  font-weight: bold;
  font-size: 14px;
  padding: 10px 0;
  margin-bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
}

@media (min-width: 1024px) {
  .filter__label {
    font-weight: normal;
    padding: 15px 0;
    background: none;
    font-size: 16px;
  }
}

.filter__label-text {
  font-weight: bold;
}

.filter__label-icon {
  -webkit-transition: -webkit-transform 0.2s ease-in 0s;
  transition: -webkit-transform 0.2s ease-in 0s;
  -o-transition: transform 0.2s ease-in 0s;
  transition: transform 0.2s ease-in 0s;
  transition: transform 0.2s ease-in 0s, -webkit-transform 0.2s ease-in 0s;
  color: #666;
  font-size: 18px;
  display: none;
}

@media (min-width: 1024px) {
  .filter__label-icon {
    display: block;
  }
}

.filter__label:active .filter__label-icon {
  color: #394965;
}

.filter__inputgroup {
  display: none;
}

.filter__optionlist {
  padding: 0;
  margin: 0;
  -webkit-transition: all 0.2s ease-in 0s;
  -o-transition: all 0.2s ease-in 0s;
  transition: all 0.2s ease-in 0s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: -8px;
}

@media (min-width: 1024px) {
  .filter__optionlist {
    margin: 0;
    display: block;
  }
}

.filter__optionlist-item {
  list-style: none;
  text-align: left;
  margin: 0;
  display: block;
  width: calc(100% / 2 - 16px);
  margin: 8px;
}

@media (min-width: 1024px) {
  .filter__optionlist-item {
    width: 100%;
    margin: 0;
    border-top: none;
  }
}

.filter__inputgroup--active .filter__optionlist-more {
  display: none;
}

.filter__input-radiobox, .filter__input-checkbox {
  display: none;
  position: absolute;
}

.filter__label-radiobox, .filter__label-checkbox {
  cursor: pointer;
  display: block;
  position: relative;
  color: #394965;
  border: 1px solid #ddd;
  background: #fff;
  padding: 10px;
  text-align: center;
  line-height: 1.5;
  font-size: 14px;
  text-align: left;
  margin: 0;
  font-weight: normal;
  border-radius: 5px;
}

@media (min-width: 1024px) {
  .filter__label-radiobox, .filter__label-checkbox {
    padding: 10px 0;
    padding-left: 25px;
    background: none;
    border-radius: 0;
    border: none;
  }
}

.filter__input-checkbox:checked + .filter__label-radiobox, .filter__input-checkbox:checked + .filter__label-checkbox {
  padding-left: 30px;
  border-color: #20b8ed;
}

@media (min-width: 1024px) {
  .filter__input-checkbox:checked + .filter__label-radiobox, .filter__input-checkbox:checked + .filter__label-checkbox {
    padding-left: 25px;
  }
}

.filter__input-radiobox:checked + .filter__label-radiobox, .filter__input-radiobox:checked + .filter__label-checkbox {
  border-color: #20b8ed;
}

@media (min-width: 1024px) {
  .filter__input-radiobox:checked + .filter__label-radiobox, .filter__input-radiobox:checked + .filter__label-checkbox {
    color: #20b8ed;
  }
}

.filter__label-radiobox {
  text-align: center;
}

@media (min-width: 1024px) {
  .filter__label-radiobox {
    text-align: left;
  }
}

.filter__label-checkbox::before, .filter__label-checkbox::after {
  content: '';
  display: inline-block;
  position: absolute;
}

.filter__label-checkbox::before {
  width: 15px;
  height: 15px;
  top: 12px;
  left: 10px;
  background: #20b8ed;
  -webkit-animation-duration: 0.4s;
  animation-duration: 0.4s;
  border-radius: 50%;
  display: none;
}

@media (min-width: 1024px) {
  .filter__label-checkbox::before {
    display: block;
    border-radius: 0px;
    border: 1px solid #ddd;
    background: #fff;
    left: 0;
  }
}

.filter__input-checkbox:checked + .filter__label-checkbox::before {
  display: block;
}

.filter__label-checkbox::after {
  width: 4px;
  height: 7px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  border-width: 2px;
  border-style: solid;
  border-color: #fff;
  border-top: 0;
  border-left: 0;
  top: 15px;
  left: 16px;
  display: none;
}

.filter__input-checkbox:checked + .filter__label-checkbox::after {
  display: block;
}

@media (min-width: 1024px) {
  .filter__label-checkbox::after {
    width: 8px;
    height: 12px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-width: 3px;
    border-style: solid;
    border-color: #394965;
    border-top: 0;
    border-left: 0;
    top: 11px;
    left: 3px;
  }
}

.filter__label--active .filter__label-icon {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
}

@media (min-width: 1024px) {
  .filter__label--active .filter__label-icon {
    color: #191919;
  }
}

.filter__label--active + .filter__inputgroup {
  display: block;
}

.filter__optionlist-more {
  font-size: 14px;
  display: block;
  border-top: 1px solid #ddd;
  text-decoration: none;
  padding: 15px 16px 15px 20px;
  display: none;
}

@media (min-width: 1024px) {
  .filter__optionlist-more {
    border-top: none;
    padding: 10px 0 10px 33px;
  }
}

.filter__footer {
  border-top: 1px solid #ddd;
  margin: 0 -15px;
  padding: 10px 15px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background: #fff;
}

@media (min-width: 1024px) {
  .filter__footer {
    border-top: none;
    padding: 5px 10px;
    margin: 0 -6px 20px;
    display: none;
  }
}

@media (min-width: 1024px) {
  .filter__btnbox .btn {
    padding: 5px 0;
  }
}

.selectedlist {
  font-size: 0;
  letter-spacing: -4px;
  word-spacing: 0;
  margin: 0 -5px 20px;
  list-style: none;
  padding: 0;
}

.selectedlist__item {
  font-size: 14px;
  letter-spacing: normal;
  word-spacing: normal;
  zoom: 1;
  margin: 5px;
  display: inline-block;
}

.selectedlist__link {
  display: block;
  color: #888;
  border: 1px solid #ccc;
  padding: 4px 8px;
  text-decoration: none;
}

.selectedlist__icon-remove {
  color: #ccc;
  font-size: 16px;
  margin: -4px 5px 0 0;
}

.selectedlist__link:hover {
  border-color: #191919;
  color: #191919;
}

.selectedlist__link:hover .selectedlist__icon-remove {
  color: #191919;
}

.toolbar {
  padding-top: 10px;
  padding-bottom: 20px;
}

@media (max-width: 1023px) {
  .toolbar {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 70px;
    grid-template-columns: 1fr 70px;
    grid-gap: 15px;
  }
}

@media (min-width: 768px) {
  .toolbar {
    padding-top: 0;
  }
}

@media (min-width: 1024px) {
  .toolbar {
    padding-bottom: 15px;
  }
}

.articlelist {
  padding: 0;
  margin-bottom: 20px;
}

.articlelist__item {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid #ddd;
  padding: 20px 0;
}

.articlelist__item:first-child {
  padding-top: 0;
}

.articlelist__favorite {
  position: absolute;
  top: 15px;
  right: 15px;
  background: #888;
  color: #fff;
  z-index: 1;
  border-radius: 50%;
  border: 1px solid #fff;
  text-decoration: none;
  -webkit-transition: background .15s;
  -o-transition: background .15s;
  transition: background .15s;
}

@media (min-width: 1024px) {
  .articlelist__favorite {
    top: 20px;
    right: 20px;
    -webkit-transform: translateY(-200%);
    -ms-transform: translateY(-200%);
    transform: translateY(-200%);
    -webkit-transition: background .15s, -webkit-transform .3s;
    transition: background .15s, -webkit-transform .3s;
    -o-transition: transform .3s, background .15s;
    transition: transform .3s, background .15s;
    transition: transform .3s, background .15s, -webkit-transform .3s;
  }
}

.articlelist__item:hover .articlelist__favorite {
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}

.articlelist__favorite:active, .articlelist__favorite:focus {
  background: #888;
  color: #fff;
}

@media (min-width: 1024px) {
  .articlelist__favorite:hover {
    color: #fff;
  }
}

.articlelist__favorite--active {
  background: #20b8ed;
  border-color: #20b8ed;
  -webkit-animation: favorite .15s;
  animation: favorite .15s;
}

.articlelist__favorite--active:focus, .articlelist__favorite--active:active {
  background: #20b8ed;
  border-color: #20b8ed;
}

@media (min-width: 1024px) {
  .articlelist__favorite--active:hover {
    background: #20b8ed;
    border-color: #20b8ed;
  }
}

.articlelist__imgbox {
  overflow: hidden;
  position: relative;
  margin-bottom: 20px;
}

.articlelist__imgbox::after {
  padding-top: 75.21685%;
  content: "";
  display: block;
}

.articlelist__tag {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
}

.articlelist__btn-play {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  pointer-events: none;
}

@media (min-width: 1024px) {
  .articlelist__btn-play {
    width: 70px;
    height: 70px;
  }
}

.articlelist__play-icon {
  font-size: 16px;
}

@media (min-width: 1024px) {
  .articlelist__play-icon {
    font-size: 32px;
  }
}

.articlelist__img-link {
  display: block;
}

.articlelist__imgbox:active .articlelist__img-link::before {
  opacity: 0.06;
}

.articlelist__img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.articlelist__img::before {
  content: '';
  pointer-events: none;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: #000;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
  z-index: 2;
  opacity: 0;
  -webkit-transition: opacity .3s;
  -o-transition: opacity .3s;
  transition: opacity .3s;
}

.articlelist .img--horizontal {
  height: 100%;
  width: initial;
  max-width: initial;
}

@media (min-width: 1280px) {
  .articlelist .img--horizontal {
    width: 100%;
    max-width: 100%;
    height: auto;
  }
}

.articlelist .img--straight {
  width: 100%;
}

.articlelist__status-expired {
  background: rgba(153, 153, 153, 0.8);
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 2;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  display: none;
}

.articlelist__item--expired .articlelist__status-expired {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (min-width: 768px) {
  .articlelist__infobox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.articlelist__title {
  font-size: 20px;
  word-break: break-word;
  margin-bottom: 10px;
}

@media (min-width: 768px) {
  .articlelist__title {
    display: block;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    max-height: 2.6em;
    min-height: 2.6em;
    line-height: 1.3;
  }
}

@media (min-width: 1024px) {
  .articlelist__title {
    margin-bottom: 10px;
  }
}

.articlelist__cata {
  font-size: 14px;
  margin: 0 0 5px;
  color: #666;
}

.articlelist__cata-value {
  color: #666;
}

.articlelist__title-link {
  display: inline-block;
  text-decoration: none;
  letter-spacing: .05em;
  -webkit-transition: color .15s;
  -o-transition: color .15s;
  transition: color .15s;
  color: #394965;
}

.articlelist__desc {
  display: block;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  max-height: 4.8em;
  min-height: 4.8em;
  line-height: 1.6;
  margin-bottom: 10px;
  display: none;
}

.articlelist__databox {
  margin-bottom: 10px;
}

@media (min-width: 768px) {
  .articlelist__databox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    margin: 0 0 10px;
  }
}

.articlelist__databox-item {
  margin: 0 0 5px;
}

.articlelist__data {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-flex: 0;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  color: #666;
}

.articlelist__data-dt {
  margin: 0 5px 0 0;
}

.articlelist__data-source {
  display: none;
}

.articlelist__data-dt-icon {
  font-size: 22px;
}

.articlelist__tagbox {
  font-size: 0.75em;
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  margin: 0 0 20px;
}

.articlelist__date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 0 10px;
  color: #666;
  font-size: 14px;
}

.articlelist__social {
  float: right;
  text-align: right;
  height: 20px;
  display: none;
}

.articlelist__social iframe html {
  float: right;
}

.articlelist__btnbox {
  display: none;
}

.articlelist__btn {
  width: 100%;
}

@media (min-width: 1024px) {
  .articlelist--outline .articlelist__item {
    border: 1px solid #f4f4f4;
  }
}

.articlelist--video .articlelist__btn-play {
  display: block;
}

@media (min-width: 1024px) {
  .articlelist--simple .articlelist__tagbox {
    display: none;
  }
}

@media (min-width: 1024px) {
  .articlelist--side-simple .articlelist__infobox {
    display: none;
  }
}

.articlelist--mode-simple .articlelist__data-dt, .articlelist--mode-simple .articlelist__data-author, .articlelist--mode-simple .articlelist__data-source, .articlelist--mode-simple .articlelist__social-facebook, .articlelist--mode-simple .articlelist__desc {
  display: none;
}

.articlelist--mode-simple .articlelist__data-view .articlelist__data-dt {
  display: block;
}

.articlelist--mode-simple .articlelist__imgbox {
  margin-bottom: 0;
}

.articlelist--mode-simple .articlelist__title {
  font-size: 1em;
  margin-bottom: .5em;
}

@media (min-width: 1024px) {
  .articlelist--mode-simple .articlelist__title {
    font-size: 20px;
  }
}

.articlelist--mode-simple .articlelist__databox {
  padding: 0;
  border: none;
  margin-bottom: 0;
  color: #666;
}

@media (min-width: 1024px) {
  .articlelist--mode-simple .articlelist__databox {
    font-size: 0.88889em;
  }
}

.articlelist--mode-simple .articlelist__tagbox {
  font-size: 0.75em;
}

.articlelist--card .articlelist__data-dt, .articlelist--card .articlelist__desc {
  display: none;
}

.articlelist--card .articlelist__data-view .articlelist__data-dt {
  display: block;
}

.articlelist--card .articlelist__imgbox {
  margin-bottom: 0;
}

.articlelist--card .articlelist__infobox {
  background: #e33000;
  color: #fff;
  border-bottom: 5px solid #000;
  padding: 1em;
}

@media (min-width: 1024px) {
  .articlelist--card .articlelist__infobox {
    -webkit-transition: background .45s;
    -o-transition: background .45s;
    transition: background .45s;
    background: rgba(227, 48, 0, 0.95);
    height: 15em;
  }
}

@media (min-width: 1440px) {
  .articlelist--card .articlelist__infobox {
    padding-left: 1.66667em;
    padding-right: 1.66667em;
  }
}

.articlelist--card .articlelist__databox {
  padding: 0;
  border: none;
  color: #20b8ed;
}

@media (min-width: 1024px) {
  .articlelist--card .articlelist__databox {
    font-size: 0.88889em;
  }
}

.articlelist--card .articlelist__title {
  font-size: 1.25em;
}

@media (min-width: 1024px) {
  .articlelist--card .articlelist__title {
    font-size: 1.33333em;
  }
}

@media (min-width: 1024px) {
  .articlelist--card .articlelist__desc {
    display: block;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    max-height: 6em;
    min-height: 6em;
    line-height: 1.5;
    height: 6em;
  }
}

@media (min-width: 1024px) {
  .articlelist--card .articlelist__btnbox {
    opacity: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: -webkit-transform .25s .05s, -webkit-box-shadow .45s;
    transition: -webkit-transform .25s .05s, -webkit-box-shadow .45s;
    -o-transition: transform .25s .05s, box-shadow .45s;
    transition: transform .25s .05s, box-shadow .45s;
    transition: transform .25s .05s, box-shadow .45s, -webkit-transform .25s .05s, -webkit-box-shadow .45s;
    -webkit-box-shadow: 0 -1em 1em #e33000;
    box-shadow: 0 -1em 1em #e33000;
  }
}

@media (min-width: 1024px) {
  .articlelist--card .articlelist__item:hover .articlelist__btnbox {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    opacity: 1;
    -webkit-box-shadow: 0 -1em 0.5em #000;
    box-shadow: 0 -1em 0.5em #000;
  }
}

.articlelist--card .articlelist__item:hover .articlelist__infobox {
  background: #000;
}

@media (max-width: 1024px) {
  .articlelist--card-horizontal-xs .articlelist__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }
  .articlelist--card-horizontal-xs .articlelist__imgbox {
    width: 80px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-bottom: 0;
    -ms-flex-item-align: start;
    align-self: flex-start;
    margin-bottom: 0;
  }
  .articlelist--card-horizontal-xs .articlelist__imgbox::after {
    padding-top: 100%;
  }
}

@media (max-width: 1024px) and (min-width: 1024px) {
  .articlelist--card-horizontal-xs .articlelist__imgbox::after {
    padding-top: 75%;
  }
}

@media (max-width: 1024px) {
  .articlelist--card-horizontal-xs .articlelist__infobox {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    border: none;
    padding: 10px 15px 0;
  }
  .articlelist--card-horizontal-xs .articlelist__databox {
    margin-bottom: 5px;
  }
  .articlelist--card-horizontal-xs .articlelist__data {
    padding: 0;
  }
  .articlelist--card-horizontal-xs .articlelist__favorite {
    display: none;
  }
  .articlelist--card-horizontal-xs .articlelist__title {
    font-size: 1em;
  }
}

@media (min-width: 1024px) {
  .articlelist--cover-lg .articlelist__imgbox {
    margin-bottom: 0;
  }
  .articlelist--cover-lg .articlelist__infobox {
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    -webkit-transition: background .55s, max-height .3s;
    -o-transition: background .55s, max-height .3s;
    transition: background .55s, max-height .3s;
    height: 100%;
    max-height: 7.83333em;
  }
  .articlelist--cover-lg .articlelist__desc {
    opacity: 0;
    -webkit-transition: opacity .15s;
    -o-transition: opacity .15s;
    transition: opacity .15s;
    display: block;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    max-height: 1.4em;
    min-height: 1.4em;
    line-height: 1.4;
  }
}

@media (min-width: 1024px) and (min-width: 1440px) {
  .articlelist--cover-lg .articlelist__desc {
    display: block;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    max-height: 2.8em;
    min-height: 2.8em;
    line-height: 1.4;
  }
}

@media (min-width: 1024px) {
  .articlelist--cover-lg .articlelist__item:hover .articlelist__infobox {
    background: rgba(0, 0, 0, 0.9);
    border-bottom: none;
    max-height: 17em;
  }
  .articlelist--cover-lg .articlelist__item:hover .articlelist__databox {
    margin-bottom: 2em;
  }
  .articlelist--cover-lg .articlelist__item:hover .articlelist__title {
    margin-bottom: .5em;
  }
  .articlelist--cover-lg .articlelist__item:hover .articlelist__desc {
    opacity: 1;
  }
}

@media (min-width: 1280px) {
  .articlelist--horizontal .img--horizontal {
    width: 100%;
    height: auto;
    max-width: 100%;
  }
}

@media (min-width: 768px) {
  .articlelist--horizontal .articlelist__item {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 15px 0;
    width: 100%;
    border-bottom: 1px solid #ddd;
  }
}

.articlelist--horizontal .articlelist__item:first-child {
  padding-top: 0;
}

@media (min-width: 768px) {
  .articlelist--horizontal .articlelist__imgbox {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 113px;
    flex: 0 0 113px;
    margin-bottom: 0;
    -ms-flex: 0 0 40.6%;
    flex: 0 0 40.6%;
  }
}

@media (min-width: 1024px) {
  .articlelist--horizontal .articlelist__imgbox {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 310px;
    flex: 0 0 310px;
  }
}

@media (min-width: 768px) {
  .articlelist--horizontal .articlelist__infobox {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding-left: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

@media (min-width: 1024px) {
  .articlelist--horizontal .articlelist__infobox {
    padding-left: 30px;
  }
}

@media (min-width: 768px) {
  .articlelist--horizontal .articlelist__title {
    -webkit-box-ordinal-group: -1;
    -ms-flex-order: -2;
    order: -2;
  }
}

@media (min-width: 768px) {
  .articlelist--horizontal .articlelist__databox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

@media (min-width: 768px) {
  .articlelist--horizontal .articlelist__date {
    margin-bottom: 0;
  }
}

@media (min-width: 768px) {
  .articlelist--horizontal .articlelist__tagbox {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }
}

@media (min-width: 1024px) {
  .articlelist--horizontal .articlelist__tagbox {
    margin-bottom: 10px;
  }
}

.articlelist--horizontal .articlelist__desc {
  display: none;
}

@media (min-width: 768px) {
  .articlelist--horizontal .articlelist__desc {
    display: block;
    display: block;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    max-height: 2.8em;
    min-height: 2.8em;
    line-height: 1.4;
  }
}

@media (min-width: 1024px) {
  .articlelist--horizontal .articlelist__desc {
    display: block;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    max-height: 4.2em;
    min-height: 4.2em;
    line-height: 1.4;
  }
}

@media (min-width: 1024px) {
  .articlelist--normal .img--horizontal {
    width: 100%;
    max-width: 100%;
    height: auto;
  }
}

@media (max-width: 1023px) {
  .articlelist--normal .articlelist__item {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 15px 0;
    width: 100%;
    border-bottom: 1px solid #ddd;
  }
}

@media (min-width: 1024px) {
  .articlelist--normal .articlelist__imgbox {
    margin: 0 0 25px;
  }
}

@media (max-width: 1023px) {
  .articlelist--normal .articlelist__imgbox {
    margin-bottom: 0;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 80px;
    flex: 0 0 80px;
  }
}

@media (max-width: 1023px) {
  .articlelist--normal .articlelist__imgbox::after {
    padding-top: 100%;
    content: "";
    display: block;
  }
}

@media (min-width: 1024px) {
  .articlelist--normal .articlelist__imgbox::after {
    padding-top: 56.66667%;
  }
}

@media (min-width: 1024px) {
  .articlelist--normal .articlelist__infobox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

@media (max-width: 1023px) {
  .articlelist--normal .articlelist__infobox {
    padding: 0 0 0 18px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
}

.articlelist--normal .articlelist__databox-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media (min-width: 1024px) {
  .articlelist--normal .articlelist__databox-item {
    display: block;
  }
}

@media (min-width: 1440px) {
  .articlelist--normal .articlelist__databox-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.articlelist--normal .articlelist__cata {
  margin: 0;
}

@media (min-width: 1024px) {
  .articlelist--normal .articlelist__databox {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }
}

@media (min-width: 1024px) {
  .articlelist--normal .articlelist__data {
    margin-bottom: 5px;
  }
}

@media (min-width: 1920px) {
  .articlelist--normal .articlelist__data {
    margin-bottom: 0;
  }
}

.articlelist--normal .articlelist__tagbox {
  display: none;
}

@media (min-width: 768px) {
  .articlelist--normal .articlelist__desc {
    display: block;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    max-height: 2.8em;
    min-height: 2.8em;
    line-height: 1.4;
  }
}

@media (min-width: 1024px) {
  .articlelist--normal .articlelist__desc {
    display: block;
    display: block;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    max-height: 4.2em;
    min-height: 4.2em;
    line-height: 1.4;
    margin-bottom: 0;
  }
}

.articlelist--headine {
  margin: 0 0 30px;
}

.articlelist--headine .articlelist__item {
  padding: 15px;
}

@media (min-width: 768px) {
  .articlelist--headine .articlelist__item {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 100%;
  }
}

@media (min-width: 1024px) {
  .articlelist--headine .articlelist__item {
    padding: 30px;
  }
}

.articlelist--headine .articlelist__imgbox {
  margin-bottom: 10px;
}

@media (min-width: 768px) {
  .articlelist--headine .articlelist__imgbox {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 350px;
    flex: 0 0 350px;
    margin-bottom: 0;
  }
}

@media (min-width: 1024px) {
  .articlelist--headine .articlelist__imgbox {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 310px;
    flex: 0 0 310px;
  }
}

@media (min-width: 1280px) {
  .articlelist--headine .articlelist__imgbox {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 440px;
    flex: 0 0 440px;
  }
}

.articlelist--headine .articlelist__imgbox::after {
  padding-top: 78.02548%;
  content: "";
  display: block;
}

@media (min-width: 768px) {
  .articlelist--headine .articlelist__infobox {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding-left: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.articlelist--headine .articlelist__cata {
  display: none;
}

@media (min-width: 768px) {
  .articlelist--headine .articlelist__cata {
    display: block;
  }
}

.articlelist--headine .articlelist__databox {
  display: none;
}

@media (min-width: 768px) {
  .articlelist--headine .articlelist__databox {
    display: block;
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

@media (min-width: 768px) {
  .articlelist--headine .articlelist__tagbox {
    text-align: right;
  }
}

.articlelist--headine .articlelist__title {
  margin: 0;
}

@media (min-width: 768px) {
  .articlelist--headine .articlelist__title {
    margin-bottom: 30px;
  }
}

.articlelist--headine .articlelist__desc {
  display: none;
}

@media (min-width: 768px) {
  .articlelist--headine .articlelist__desc {
    display: block;
    display: block;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    max-height: 6.8em;
    min-height: 6.8em;
    line-height: 1.7;
  }
}

@media (min-width: 1024px) {
  .articlelist--headine .articlelist__desc {
    display: block;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    max-height: 5.1em;
    min-height: 5.1em;
    line-height: 1.7;
  }
}

@media (min-width: 1280px) {
  .articlelist--headine .articlelist__desc {
    display: block;
    display: -webkit-box;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    max-height: 11.9em;
    min-height: 11.9em;
    line-height: 1.7;
  }
}

@media (min-width: 1280px) {
  .articlelist--side-horizontal .img--horizontal {
    height: 100%;
    width: initial;
    max-width: initial;
  }
}

.articlelist--side-horizontal .articlelist {
  margin: -15px 0;
}

.articlelist--side-horizontal .articlelist__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding: 15px 0;
  border-bottom: 1px solid #ddd;
}

.articlelist--side-horizontal .articlelist__item:first-child {
  padding-top: 0;
}

.articlelist--side-horizontal .articlelist__imgbox {
  margin-bottom: 0;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 83px;
  flex: 0 0 83px;
}

@media (min-width: 1024px) {
  .articlelist--side-horizontal .articlelist__imgbox::after {
    padding-top: 100%;
  }
}

.articlelist--side-horizontal .articlelist__infobox {
  padding: 0 0 0 10px;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.articlelist--side-horizontal .articlelist__title {
  font-size: 18px;
}

.articlelist--side-horizontal .articlelist__databox {
  margin: 0;
}

.articlelist--side-horizontal .articlelist__tagbox, .articlelist--side-horizontal .articlelist__category, .articlelist--side-horizontal .articlelist__cata {
  display: none;
}

.articlelist--side-horizontal .articlelist__date::before {
  content: none;
}

.articlelist--list-horizontal .articlelist__item {
  padding: 9px 0;
  border-bottom: 1px solid #ddd;
}

.articlelist--list-horizontal .articlelist__item:first-child {
  padding-top: 0;
}

.articlelist--list-horizontal .articlelist__imgbox {
  display: none;
}

.articlelist--list-horizontal .articlelist__imgbox::after {
  display: none;
}

.articlelist--list-horizontal .articlelist__infobox {
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.articlelist--list-horizontal .articlelist__title {
  font-size: 18px;
  font-weight: normal;
  display: block;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  max-height: 1.4em;
  min-height: 1.4em;
  line-height: 1.4;
  margin-bottom: 0;
}

.articlelist--list-horizontal .articlelist__item--current .articlelist__title-link {
  color: #20b8ed;
}

.articlelist--list-horizontal .articlelist__cata {
  display: none;
}

.articlelist--list-horizontal .articlelist__databox {
  white-space: nowrap;
  margin: 0;
  -webkit-box-ordinal-group: 0;
  -ms-flex-order: -1;
  order: -1;
  -webkit-box-flex: 0;
  -ms-flex: 0 1 97px;
  flex: 0 1 97px;
}

.articlelist--list-horizontal .articlelist__data-dt {
  display: none;
}

.articlelist--list-horizontal .articlelist__databox-item {
  margin: 0;
}

.articlelist--list-horizontal .articlelist__data {
  border-radius: 50px;
  font-size: 14px;
  background: #666;
  color: #fff;
  margin: 0 10px 0 0;
  padding: 5px 10px;
}

.articlelist--list-horizontal .articlelist__tagbox, .articlelist--list-horizontal .articlelist__category {
  display: none;
}

.articlelist--list-horizontal .articlelist__date::before {
  content: none;
}

.articlelist--media .img--horizontal {
  width: 100%;
  height: initial;
}

@media (min-width: 768px) {
  .articlelist--media .articlelist__imgbox {
    margin: 0 0 15px;
  }
}

.articlelist--media .articlelist__imgbox::after {
  padding-top: 56.66667%;
  content: "";
  display: block;
}

@media (min-width: 768px) {
  .articlelist--media .articlelist__databox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.articlelist--media .articlelist__tagbox {
  display: none;
}

@media (min-width: 768px) {
  .articlelist--media .articlelist__tagbox {
    display: block;
    text-align: right;
  }
}

.articlelist--media .articlelist__cata {
  display: none;
}

.articlelist--favorite .checkbox:checked + .articlelist__checkbox-label::before {
  background: #20b8ed;
  border-color: #20b8ed;
}

.articlelist--favorite .articlelist__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #ddd;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

@media (min-width: 1024px) {
  .articlelist--favorite .articlelist__item {
    border: none;
    margin-bottom: 0;
    padding: 20px 0;
  }
}

.articlelist--favorite .articlelist__item:last-child {
  border: none;
}

.articlelist--favorite .articlelist__imgbox {
  width: 80px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-bottom: 0;
  -ms-flex-item-align: start;
  align-self: flex-start;
}

@media (min-width: 1024px) {
  .articlelist--favorite .articlelist__imgbox {
    width: 220px;
  }
}

.articlelist--favorite .articlelist__imgbox::after {
  padding-top: 100%;
}

@media (min-width: 1024px) {
  .articlelist--favorite .articlelist__imgbox::after {
    padding-top: 75%;
  }
}

.articlelist--favorite .articlelist__infobox {
  padding-left: 10px;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.articlelist--favorite .articlelist__favorite {
  display: none;
}

.articlelist--favorite .articlelist__title {
  height: 2.4em;
  font-size: 1em;
}

@media (min-width: 768px) {
  .articlelist--favorite .articlelist__title {
    height: auto;
  }
}

@media (min-width: 1024px) {
  .articlelist--favorite .articlelist__title {
    font-size: 1.33333em;
  }
}

.articlelist--favorite .articlelist__desc {
  display: none;
}

@media (min-width: 1024px) {
  .articlelist--favorite .articlelist__desc {
    display: block;
    font-size: 0.88889em;
    margin-bottom: 0.75em;
  }
}

.articlelist--favorite .articlelist__tagbox {
  font-size: 0.75em;
}

@media (min-width: 1024px) {
  .articlelist--favorite .articlelist__tagbox {
    font-size: 0.88889em;
  }
}

.articlelist--favorite .articlelist__databox {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  border-width: 0;
  margin-bottom: 0;
}

@media (min-width: 1024px) {
  .articlelist--favorite .articlelist__databox {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border-width: 1px;
    margin-bottom: 10px;
    font-size: 0.77778em;
  }
}

.articlelist--favorite .articlelist__data {
  margin-right: 1em;
}

@media (min-width: 1024px) {
  .articlelist--favorite .articlelist__data {
    margin-right: 0;
  }
}

.articlelist--favorite .articlelist__data-author {
  display: none;
}

@media (min-width: 1440px) {
  .articlelist--favorite .articlelist__data-author {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }
}

.articlelist--favorite .articlelist__functionbox {
  position: relative;
}

@media (min-width: 768px) {
  .articlelist--favorite .articlelist__functionbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 50px;
  }
}

@media (min-width: 1440px) {
  .articlelist--favorite .articlelist__functionbox {
    width: 80px;
  }
}

.articlelist--favorite .articlelist__functionbox form {
  position: static;
}

.articlelist--favorite .articlelist__functionbox-check {
  display: none;
}

@media (min-width: 1024px) {
  .articlelist--favorite .articlelist__functionbox-check {
    display: block;
  }
}

.articlelist--favorite .articlelist__functionbox-del {
  position: absolute;
  top: 2.4em;
  right: 0;
}

@media (min-width: 768px) {
  .articlelist--favorite .articlelist__functionbox-del {
    position: relative;
    top: 0;
  }
}

@media (min-width: 768px) {
  .articlelist--favorite .articlelist__function {
    width: 1.5625em;
    height: 1.5625em;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
}

@media (min-width: 1024px) {
  .articlelist--favorite .articlelist__function {
    -webkit-transition: background .15s;
    -o-transition: background .15s;
    transition: background .15s;
    width: 2.55556em;
    height: 2.55556em;
  }
}

.articlelist--favorite .articlelist__checkbox-label {
  height: 100%;
}

.articlelist--favorite .articlelist__checkbox-label::after, .articlelist--favorite .articlelist__checkbox-label::before {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.articlelist--favorite .articlelist__checkbox-label::before {
  border-radius: 2px;
  border-color: #888;
}

.articlelist--favorite .articlelist__checkbox-label::after {
  color: #fff;
}

.articlelist--favorite .articlelist__btn-delete {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0;
  background: transparent;
  color: #20b8ed;
  -webkit-transition: background .15s;
  -o-transition: background .15s;
  transition: background .15s;
}

@media (min-width: 768px) {
  .articlelist--favorite .articlelist__btn-delete {
    color: #888;
  }
}

.articlelist--favorite .articlelist__btn-delete i {
  font-size: 1.125em;
}

@media (min-width: 1024px) {
  .articlelist--favorite .articlelist__btn-delete i {
    font-size: 1.33333em;
  }
}

.articlelist--favorite .articlelist__btn-delete:focus, .articlelist--favorite .articlelist__btn-delete:active {
  background: #20b8ed;
  color: #fff;
}

.comment {
  padding: 0;
  margin-bottom: 20px;
}

.comment__item {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid #ddd;
  padding: 30px 0 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.comment__headbox {
  overflow: hidden;
  position: relative;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 50%;
}

.comment__headbox::after {
  padding-top: 100%;
  content: "";
  display: block;
}

.comment__headbox-img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.comment__img-link {
  display: block;
}

.comment .img--horizontal {
  height: 100%;
  width: initial;
  max-width: initial;
}

.comment .img--straight {
  width: 100%;
}

.comment__infobox {
  padding: 0 0 0 15px;
}

.comment__desc {
  line-height: 1.5;
  margin: 0 0 10px;
}

.comment__time {
  color: #999;
}

.comment__time, .comment__publish-name, .comment__reply-name {
  font-size: 14px;
}

.comment__publish-headbox {
  width: 60px;
  height: 60px;
}

.comment__publish {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.comment__publish-name, .comment__reply-name {
  margin-bottom: 5px;
  padding-right: 30px;
}

.comment__publish-name {
  line-height: 1.5;
}

.comment__publish-rankbox {
  margin: 0 0 10px;
}

.comment__publish-title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
  line-height: 1.4;
}

.comment__publish-uploadlist {
  margin-bottom: 10px;
}

.comment__reply {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 20px;
  background: #f4f4f4;
  border-radius: 5px;
  padding: 15px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.comment__item--replyed .comment__reply {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.comment__reply-infobox {
  padding: 0 0 0 15px;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.comment__reply-name {
  color: #666;
  margin: 0 0 5px;
  display: none;
}

.comment__reply-desc {
  padding-right: 30px;
}

.comment__reply-review {
  display: none;
}

.comment__item--replyed .comment__reply-review {
  display: block;
}

.comment__item--replyed .comment__reply-form {
  display: none;
}

.comment__reply-headbox {
  width: 60px;
  height: 60px;
}

.couponlist {
  padding: 0;
}

.couponlist__group {
  margin-bottom: 20px;
}

.couponlist__group-title {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
  color: #394965;
}

@media (min-width: 768px) {
  .couponlist--group .couponlist__group-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 -10px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.couponlist__group-item {
  margin-bottom: 20px;
}

@media (min-width: 768px) {
  .couponlist--group .couponlist__group-item {
    position: relative;
    overflow: hidden;
    margin-bottom: 15px;
    width: calc(50% - 20px);
    margin: 10px 10px;
  }
}

@media (min-width: 768px) {
  .couponlist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .couponlist.couponlist--group {
    margin: 0;
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .couponlist--view-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin: 0 -7px;
  }
}

.couponlist__item {
  position: relative;
  margin-bottom: 15px;
}

@media (min-width: 1024px) {
  .couponlist--group .couponlist__item {
    width: 100%;
    margin: 0;
    padding: 0;
  }
}

@media screen and (max-width: 767px) {
  .couponlist--view-block .couponlist__item {
    width: calc(50% - 14px);
    margin: 7px;
  }
}

.couponlist__item::before {
  content: "";
  background: rgba(136, 136, 136, 0.7);
  position: absolute;
  padding-top: 56.52174%;
  top: 0;
  right: 0;
  left: 0;
  z-index: 2;
  -webkit-border-top-left-radius: 10px;
  -webkit-border-top-right-radius: 10px;
  -moz-border-radius-topleft: 10px;
  -moz-border-radius-topright: 10px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  display: none;
}

.couponlist__imgbox {
  overflow: hidden;
  position: relative;
  padding-top: 56.52174%;
  -webkit-border-top-left-radius: 10px;
  -webkit-border-top-right-radius: 10px;
  -moz-border-radius-topleft: 10px;
  -moz-border-radius-topright: 10px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.couponlist__img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  max-width: 100%;
  margin: auto;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition: -webkit-transform .55s;
  transition: -webkit-transform .55s;
  -o-transition: transform .55s;
  transition: transform .55s;
  transition: transform .55s, -webkit-transform .55s;
}

.couponlist__item:active .couponlist__img,
.couponlist__item:hover .couponlist__img {
  -webkit-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2);
}

.couponlist__infobox {
  padding: 15px 10px;
  position: relative;
  margin-bottom: 5px;
  background: #fff;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
  -webkit-border-bottom-right-radius: 10px;
  -webkit-border-bottom-left-radius: 10px;
  -moz-border-radius-bottomright: 10px;
  -moz-border-radius-bottomleft: 10px;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
}

@media screen and (max-width: 767px) {
  .couponlist--view-block .couponlist__infobox {
    padding: 8px;
  }
}

.couponlist__infobox::before {
  content: "";
  display: block;
  background: #fff;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  position: absolute;
  left: -10px;
  top: -10px;
  z-index: 2;
  pointer-events: none;
}

.couponlist__infobox::after {
  content: "";
  display: block;
  background: #fff;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  position: absolute;
  right: -10px;
  top: -10px;
  z-index: 2;
  pointer-events: none;
}

.couponlist__title {
  line-height: 1.4;
  display: block;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  max-height: 2.8em;
  min-height: 2.8em;
  line-height: 1.4;
  margin: 0 0 10px;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .couponlist--view-block .couponlist__title {
    display: none;
  }
}

.couponlist__location {
  font-size: 12px;
  color: #999;
  margin: 0 0 8px;
  display: block;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  max-height: 1.4em;
  min-height: 1.4em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .couponlist--view-block .couponlist__location {
    margin-bottom: 0;
  }
}

.couponlist__databox {
  font-size: 12px;
  color: #e33000;
}

@media screen and (max-width: 767px) {
  .couponlist--view-block .couponlist__databox {
    display: none;
  }
}

.couponlist__status {
  border-radius: 50%;
  width: 86px;
  height: 86px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: rgba(51, 51, 51, 0.8);
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: none;
}

@media screen and (max-width: 767px) {
  .couponlist--view-block .couponlist__status {
    width: 69px;
    height: 69px;
  }
}

.couponlist__linkcover {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
}

.couponlist__item--disabled::before {
  display: block;
}

.couponlist__item--disabled .couponlist__infobox {
  background: #a7a7a7;
}

.couponlist__item--disabled .couponlist__status {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.couponlist__item--disabled .couponlist__databox {
  color: #888;
}

.couponlist__item--disabled .couponlist__linkcover {
  display: none;
}

.store-couponlist__item {
  position: relative;
  margin-bottom: 15px;
  background: #fff;
  overflow: hidden;
  padding: 6px;
  border-radius: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.16);
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.16);
}

.store-couponlist__imgbox {
  overflow: hidden;
  position: relative;
  border-radius: 5px;
  width: 70px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media (min-width: 1024px) {
  .store-couponlist__imgbox {
    width: 80px;
  }
}

.store-couponlist__imgbox::after {
  content: "";
  display: block;
  padding-top: 56.52174%;
}

.store-couponlist__imgbox::before {
  content: "";
  background: rgba(255, 255, 255, 0.2);
  position: absolute;
  padding-top: 74.7619%;
  top: 0;
  right: 0;
  left: 0;
  z-index: 2;
  border-radius: 5px;
  -webkit-transition: opacity .55s;
  -o-transition: opacity .55s;
  transition: opacity .55s;
  opacity: 0;
  pointer-events: none;
}

.store-couponlist__item:active .store-couponlist__imgbox::before,
.store-couponlist__item:hover .store-couponlist__imgbox::before {
  opacity: 1;
}

.store-couponlist__img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  max-width: 100%;
  margin: auto;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition: -webkit-transform .55s;
  transition: -webkit-transform .55s;
  -o-transition: transform .55s;
  transition: transform .55s;
  transition: transform .55s, -webkit-transform .55s;
}

.store-couponlist__item:active .store-couponlist__img,
.store-couponlist__item:hover .store-couponlist__img {
  -webkit-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2);
}

.store-couponlist__title {
  font-size: 14px;
  padding: 0 10px;
  color: #394965;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  font-weight: normal;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media (min-width: 1024px) {
  .store-couponlist__title {
    margin-top: 4px;
  }
}

.store-couponlist__item:active .store-couponlist__title,
.store-couponlist__item:hover .store-couponlist__title {
  color: #394965;
}

.store-couponlist__title-text {
  line-height: 1.2;
  display: block;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  max-height: 2.8em;
  min-height: 2.8em;
  line-height: 1.4;
  width: 100%;
}

.store-couponlist__btn {
  color: #fff;
  font-size: 14px;
  margin: -6px;
  border-radius: 0;
  min-width: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.store-couponlist__item:active .store-couponlist__btn,
.store-couponlist__item:hover .store-couponlist__btn {
  background: #ff6e22;
}

.store-couponlist__linkcover {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
}

.productlist {
  padding: 0;
  text-align: center;
}

.productlist__item {
  position: relative;
  background: #fff;
  margin: 0 0 40px;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

.productlist__imgbox {
  overflow: hidden;
  position: relative;
  border-bottom: 1px solid #ddd;
}

.productlist__imgbox::before {
  content: "";
  background: rgba(255, 255, 255, 0.2);
  position: absolute;
  padding-top: 100%;
  top: 0;
  right: 0;
  left: 0;
  z-index: 2;
  border-radius: 5px;
  -webkit-transition: opacity .55s;
  -o-transition: opacity .55s;
  transition: opacity .55s;
  opacity: 0;
  pointer-events: none;
}

.productlist__item:active .productlist__imgbox::before,
.productlist__item:hover .productlist__imgbox::before {
  opacity: 1;
}

.productlist__imgbox::after {
  padding-top: 100%;
  content: "";
  display: block;
}

.productlist__img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  max-width: 100%;
  margin: auto;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition: -webkit-transform .55s;
  transition: -webkit-transform .55s;
  -o-transition: transform .55s;
  transition: transform .55s;
  transition: transform .55s, -webkit-transform .55s;
}

.productlist__item:active .productlist__img,
.productlist__item:hover .productlist__img {
  -webkit-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2);
}

.productlist__infobox {
  padding: 30px 20px 20px;
}

@media screen and (max-width: 1023px) {
  .productlist--view-list .productlist__infobox {
    padding: 0 0 0 10px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    min-height: initial;
  }
}

@media screen and (max-width: 1023px) and (min-width: 768px) {
  .productlist--view-list .productlist__infobox {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

.productlist__title {
  line-height: 1.4;
  font-size: 20px;
  margin: 0 0 10px;
  font-weight: normal;
}

.productlist__link {
  color: #394965;
  text-decoration: none;
}

.productlist__link:focus, .productlist__link:active {
  color: #394965;
  text-decoration: none;
}

@media (min-width: 1024px) {
  .productlist__link:hover {
    color: #394965;
    text-decoration: none;
  }
}

.productlist__location {
  color: #394965;
  font-size: 14px;
  margin: 0 0 20px;
}

.productlist__location-link {
  color: #394965;
  text-decoration: underline;
}

.productlist__location-link:focus, .productlist__location-link:active {
  color: #394965;
  text-decoration: none;
}

@media (min-width: 1024px) {
  .productlist__location-link:hover {
    color: #394965;
    text-decoration: none;
  }
}

.sortlist {
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.sortlist__item {
  margin: 0 2px;
}

.sortlist__link {
  display: block;
  color: #ddd;
}

.sortlist__item--active .sortlist__link {
  color: #20b8ed;
}

.sortlist__link:focus, .sortlist__link:active {
  color: #20b8ed;
}

@media (min-width: 1024px) {
  .sortlist__link:hover {
    color: #20b8ed;
  }
}

.sortlist__icon {
  font-size: 24px;
}

.storelist {
  padding: 0;
  text-align: center;
}

.storelist__item {
  position: relative;
  background: #fff;
  margin: 0 0 40px;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

.storelist__imgbox {
  overflow: hidden;
  position: relative;
}

.storelist__imgbox::before {
  content: "";
  background: rgba(255, 255, 255, 0.2);
  position: absolute;
  padding-top: 50%;
  top: 0;
  right: 0;
  left: 0;
  z-index: 2;
  border-radius: 5px;
  -webkit-transition: opacity .55s;
  -o-transition: opacity .55s;
  transition: opacity .55s;
  opacity: 0;
  pointer-events: none;
}

.storelist__item:active .storelist__imgbox::before,
.storelist__item:hover .storelist__imgbox::before {
  opacity: 1;
}

.storelist__imgbox::after {
  padding-top: 50%;
  content: "";
  display: block;
}

.storelist__img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  max-width: 100%;
  margin: auto;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition: -webkit-transform .55s;
  transition: -webkit-transform .55s;
  -o-transition: transform .55s;
  transition: transform .55s;
  transition: transform .55s, -webkit-transform .55s;
}

.storelist__item:active .storelist__img,
.storelist__item:hover .storelist__img {
  -webkit-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2);
}

.storelist__infobox {
  padding: 30px 30px 20px;
}

@media screen and (max-width: 1023px) {
  .storelist--view-list .storelist__infobox {
    padding: 0 0 0 10px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    min-height: initial;
  }
}

@media screen and (max-width: 1023px) and (min-width: 768px) {
  .storelist--view-list .storelist__infobox {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

.storelist__title {
  line-height: 1.4;
  font-size: 24px;
  margin: 0 0 10px;
  font-weight: normal;
}

.storelist__link {
  color: #394965;
  text-decoration: none;
}

.storelist__link:focus, .storelist__link:active {
  color: #394965;
  text-decoration: none;
}

@media (min-width: 1024px) {
  .storelist__link:hover {
    color: #394965;
    text-decoration: none;
  }
}

.storelist__location {
  color: #394965;
  font-size: 14px;
  margin: 0 0 20px;
}

@media (min-width: 1024px) {
  .storelist__location {
    font-size: 16px;
  }
}

.result {
  color: #394965;
}

.result__data {
  font-weight: normal;
}

.result__data-title {
  color: #394965;
}

.result__data-title::before {
  content: "「";
  color: #394965;
}

.result__data-title + .result__data-title::before {
  content: "-「";
}

.result__data-title::after {
  content: "」";
  color: #394965;
}

.result__data-num {
  font-weight: 700;
}

.result__no-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #fff;
  text-align: center;
  height: 340px;
  width: 100%;
  padding: 20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media (min-width: 1024px) {
  .result__no-box {
    height: 400px;
  }
}

.result__no-iconbox {
  margin-bottom: 5px;
}

.result__no-icon {
  font-size: 50px;
  color: #bbb;
}

.result__no-title {
  font-weight: normal;
  margin-bottom: 10px;
  line-height: 1.67;
  font-size: 18px;
}

@media (min-width: 1024px) {
  .result__no-title {
    font-size: 22px;
  }
}

.result__no-desc {
  font-size: 16px;
  margin-bottom: 10px;
  line-height: 1.6;
}

.result__no-btnbox {
  margin-top: 10px;
}

.emptybox {
  padding: 20px 0;
  text-align: center;
  margin: 0 0 30px;
  border-bottom: 1px solid #ddd;
}

.emptybox__title {
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 30px;
}

.img-slider__imgbox {
  width: 100%;
  overflow: hidden;
}

.img-slider__imgbox::after {
  content: " ";
  padding-top: 100%;
  display: block;
}

.img-slider__list {
  position: relative;
  width: 100%;
  padding: 0;
  list-style: none;
  margin: 0;
}

.img-slider__item {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  -webkit-transition: all .5s ease-in-out;
  -o-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
}

.img-slider__item--active {
  opacity: 1;
  z-index: 1;
}

.thumblist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: -4px;
  padding: 0;
  list-style: none;
  overflow: auto;
}

@media (min-width: 1024px) {
  .thumblist {
    margin: -7px;
  }
}

@media (min-width: 1440px) {
  .thumblist {
    margin: -10px;
  }
}

.thumblist__item {
  display: inline-block;
  *display: inline;
  margin: 4px;
  width: calc(20% - (4px * 2));
  zoom: 1;
  border: 1px solid #f4f4f4;
}

@media (min-width: 1024px) {
  .thumblist__item {
    margin: 7px;
    width: calc(20% - (7px * 2));
  }
}

@media (min-width: 1440px) {
  .thumblist__item {
    margin: 10px;
    width: calc(20% - (10px * 2));
  }
}

.thumblist__link {
  display: block;
  background: #fff;
  border: 1px solid transparent;
  position: relative;
  overflow: hidden;
}

.thumblist__item--current .thumblist__link {
  border-color: #ff6e22;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.152);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.152);
}

@media (min-width: 1024px) {
  .thumblist__item:active .thumblist__link,
  .thumblist__item:hover .thumblist__link {
    border-color: #ff6e22;
    -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.152);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.152);
  }
}

.thumblist__img {
  pointer-events: none;
}

.imglist__imgbox {
  overflow: hidden;
}

.imglist--height-same.owl-carousel .owl-item img {
  width: auto;
  height: 344px;
}

@media (min-width: 1024px) {
  .imglist--height-same.owl-carousel .owl-item img {
    height: 196px;
  }
}

.editor html,
.editor body,
.editor fieldset,
.editor form,
.editor h1,
.editor h2,
.editor h3,
.editor h4,
.editor h5,
.editor h6,
.editor ol,
.editor ul {
  display: block;
}

.editor li {
  display: list-item;
  margin-bottom: 1em;
}

.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 ul,
.editor fieldset,
.editor form,
.editor ol {
  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 {
  font-weight: normal;
}

.editor strong {
  font-weight: bold;
}

.editor img {
  width: auto;
}

.editor i {
  font-style: italic;
}

.editor button,
.editor textarea,
.editor input,
.editor select {
  display: inline-block;
}

.editor ol,
.editor ul {
  padding-left: 30px;
}

.editor ol ol, .editor ol ul,
.editor ul ol,
.editor ul ul {
  margin-top: 0;
  margin-bottom: 0;
}

.editor ol {
  list-style-type: decimal;
}

.editor ol li {
  list-style-type: decimal;
}

.editor ul {
  list-style-type: square;
}

.editor ul li {
  list-style-type: square;
}

.editor :link,
.editor :visited {
  text-decoration: underline;
}

.editor :focus {
  outline: thin dotted invert;
}

.editor {
  font-size: 1em;
  line-height: 1.75;
}

.editor ul,
.editor ol {
  margin: 0 0 1.25em;
}

.editor ul ul,
.editor ul ol,
.editor ol ul,
.editor ol ol {
  margin: 0 0 1.25em;
}

.editor__title1, .editor__title2, .editor__title3, .editor__title4, .editor__title5, .editor__title6 {
  font-weight: normal;
  margin-bottom: .5em;
  line-height: 1.3;
}

.editor__title1 {
  font-size: 1.5em;
  margin-bottom: .3em;
}

.editor__title2 {
  font-size: 1.375em;
}

.editor__title3 {
  font-size: 1.375em;
  margin: 0 0 10px;
}

.editor__title4 {
  font-size: 1.25em;
}

.editor__title5 {
  font-size: 1.125em;
}

.editor__title6 {
  font-size: 1em;
}

.editor p, .editor__paragraph {
  font-size: 14px;
  line-height: 1.7;
  margin-bottom: 30px;
}

.editor .imgbox, .editor__movie-box {
  width: auto;
  max-width: 100%;
  margin-bottom: 1.875em;
}

.editor__foreword {
  color: #999;
  line-height: 1.5;
  font-size: 1.125em;
  border-left: 5px solid #666;
  margin-bottom: 1.875em;
  padding-left: 10px;
}

.editor__img-source {
  margin-top: -10px;
  padding-bottom: 1.875em;
  color: #999;
  font-size: 0.875em;
}

.editor img {
  margin-bottom: 20px;
}

.editor table {
  white-space: normal;
}

.editor td,
.editor th {
  border-width: 1px;
  border-style: solid;
  padding: 5px;
}

.scrolltable {
  width: 100%;
  position: relative;
}

.scrolltable__inner {
  overflow-x: auto;
  overflow-y: hidden;
}

@media (min-width: 768px) {
  .box-border {
    background: #fff;
    border: 1px solid #ddd;
    padding: 25px;
  }
}

.box {
  margin-bottom: 30px;
  position: relative;
}

.box--bg {
  background: #fff;
  padding: 10px;
}

.box__heading {
  padding: 30px 0;
}

@media (min-width: 1024px) {
  .box__heading {
    padding: 45px 0;
  }
}

.box__heading--center {
  text-align: center;
}

.box__heading--seperate-sm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media (min-width: 1024px) {
  .box__heading--seperate-sm {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.box__title {
  font-size: 24px;
  font-weight: normal;
  color: #394965;
  text-align: center;
}

@media (min-width: 1024px) {
  .box__title {
    font-size: 30px;
  }
}

.box__heading-tips {
  color: #888;
  display: block;
  margin: 6px 0 2px;
}

.box__body {
  overflow: hidden;
}

@media (min-width: 768px) {
  .box__body--bg-md {
    background: #fff;
    padding: 35px 45px;
  }
}

.box__intro {
  font-size: 14px;
  line-height: 1.7;
  text-align: center;
  margin-bottom: 2em;
}

.box__intro--left {
  text-align: left;
}

.box__info {
  margin-top: 20px;
  text-align: center;
  margin-bottom: 5px;
}

.box__btnbox {
  margin-top: 20px;
}

.box__tips {
  font-size: 14px;
  line-height: 1.7;
  margin-top: 20px;
}

.box__bottom-text {
  text-align: center;
  font-size: 14px;
  line-height: 1.7;
  margin-top: 20px;
}

.box__hr {
  background: #ddd;
  display: block;
  height: 1px;
  position: relative;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  z-index: 0;
  margin: 25px 0;
  text-align: center;
}

.box__hr-text {
  color: #394965;
  background: #fff;
  display: inline-block;
  padding: 0 .45em;
  position: relative;
  text-align: center;
  z-index: 1;
  top: -8px;
  font-weight: normal;
}

@media (min-width: 768px) {
  .box__hr-text {
    background: #fff;
  }
}

@media (min-width: 768px) {
  .box__step-headingbox {
    margin: 40px 0 35px;
  }
}

.box__step-heading-text {
  font-size: 18px;
  font-weight: bold;
}

.box__step-subheading-text {
  font-size: 14px;
  top: -10px;
}

.box-tab {
  padding-top: 90px;
}

.box-seperate {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.step {
  margin: 20px 0 20px;
}

@media (min-width: 768px) {
  .step {
    margin-bottom: 30px;
  }
}

.list-step {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  max-width: 450px;
  margin: 0 auto;
}

.list-step::before {
  content: '';
  height: 2px;
  width: 67%;
  background: #ddd;
  position: absolute;
  left: 50%;
  top: 1.1875em;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.list-step__item {
  width: 33%;
  text-align: center;
  color: #ddd;
}

.list-step__item--current {
  color: #ff6e22;
}

.list-step__item-num {
  width: 2.375em;
  height: 2.375em;
  line-height: 1;
  border-radius: 50%;
  border: 2px solid currentColor;
  background: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  font-weight: 700;
}

.list-step__item--current .list-step__item-num {
  background: #ff6e22;
  color: #fff;
  border-color: #ff6e22;
}

.list-step__item-title {
  display: block;
  font-size: 14px;
  margin-top: .75em;
}

.steplist {
  margin: 0 0 25px;
  text-align: center;
}

.steplist__list {
  list-style: none;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 170px;
}

.steplist__list::after {
  content: "";
  display: block;
  background: #ddd;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  width: 100%;
  z-index: 0;
}

.steplist__item {
  width: 38px;
  height: 38px;
  font-size: 16px;
  font-weight: 600;
  color: #ccc;
  background: #fff;
  border: 2px solid #ddd;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  z-index: 1;
}

.steplist__item--current {
  background: #20b8ed;
  border-color: #20b8ed;
  color: #fff;
}

.tab {
  margin-bottom: 30px;
}

.tab--fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 99;
  width: 100%;
  max-width: 768px;
  margin-left: auto;
  margin-right: auto;
  z-index: 5;
}

.tab__content {
  display: none;
}

.tab__content--show {
  display: block;
}

.tab__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
}

.tab__item {
  overflow: hidden;
  position: relative;
}

.tab__item::after {
  content: "";
  height: 1px;
  background: transparent;
  width: 36px;
  position: absolute;
  bottom: 0;
  left: calc(50% - 18px);
  z-index: 1;
}

.tab .tab__item--current::after {
  background: #20b8ed;
}

.tab__link {
  display: block;
  color: #394965;
  text-decoration: none;
  padding: 0 13px;
}

@media (min-width: 1440px) {
  .tab__link {
    padding: 0 30px;
  }
}

.tab--fixedheight .tab__link {
  height: 50px;
}

@media (min-width: 768px) {
  .tab--fixedheight .tab__link {
    height: 60px;
  }
}

.tab__link:hover,
.tab__item--current .tab__link:active,
.tab__item--current .tab__link {
  color: #20b8ed;
}

.tab__text {
  display: block;
  font-size: 20px;
  padding: 25px 0;
}

@media (min-width: 768px) {
  .tab__text {
    font-size: 26px;
  }
}

.scrollbox {
  width: 100%;
  position: relative;
}

.scrollbox__inner {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap;
  word-spacing: -1px;
}

.scrollbox__item {
  border-top: none;
  display: inline-block;
  font-size: 16px;
  letter-spacing: normal;
  margin: 13px;
  position: relative;
  text-align: center;
  vertical-align: top;
  width: 300px;
  word-spacing: normal;
  zoom: 1;
}

.scrollbox .carousel__btnbox {
  display: block;
}

.scrollbox .carousel__btn {
  top: 42%;
  padding: 0;
}

.scrollbox .carousel__btn-prev {
  left: -18px;
}

.scrollbox .carousel__btn-next {
  right: -18px;
}

/* @charset "UTF-8"; */
:root {
  /* 自行設定 */
  --f-offset: 30px;
  /* 偏移量 */
  --f-time: 1s;
  /* transition duration */
}

.js-animate--text span.js-animate__item {
  display: inline-block;
}

/* 漸入 FadeIn
==================================== */
.js-animate--fadein {
  opacity: 0;
}

.js-animate--fadein-up {
  opacity: 0;
  -webkit-transform: translate(0, -30px);
  -ms-transform: translate(0, -30px);
  transform: translate(0, -30px);
  /* transform: translate(0, calc( var(--f-offset) * -1)); */
}

.js-animate--fadein-down {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
  -ms-transform: translate(0, 30px);
  transform: translate(0, 30px);
  /* transform: translate(0, var(--f-offset)); */
}

.js-animate--fadein-left {
  opacity: 0;
  -webkit-transform: translate(-30px, 0);
  -ms-transform: translate(-30px, 0);
  transform: translate(-30px, 0);
  /* transform: translate(calc( var(--f-offset) * -1), 0); */
}

.js-animate--fadein-right {
  opacity: 0;
  -webkit-transform: translate(30px, 0);
  -ms-transform: translate(30px, 0);
  transform: translate(30px, 0);
  /* transform: translate(var(--f-offset), 0); */
}

/* 色塊進入 SolidIn
==================================== */
[class*="js-animate--solidin"] {
  position: relative;
  opacity: 0;
  -webkit-transition: 1700ms cubic-bezier(0.165, 0.84, 0.44, 1) 0ms;
  -o-transition: 1700ms cubic-bezier(0.165, 0.84, 0.44, 1) 0ms;
  transition: 1700ms cubic-bezier(0.165, 0.84, 0.44, 1) 0ms;
}

[class*="js-animate--solidin"]::before,
[class*="js-animate--solidin"]::after {
  content: '';
  position: absolute;
  display: block;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

[class*="js-animate--solidin"]::before {
  background: #183981;
  /* 色塊顏色 */
  z-index: 1;
  -webkit-transition: 0.7s cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition: 0.7s cubic-bezier(0.77, 0, 0.175, 1);
  transition: 0.7s cubic-bezier(0.77, 0, 0.175, 1);
}

[class*="js-animate--solidin"]::after {
  background: #fff;
  /* 父層背景顏色 */
  z-index: 2;
  -webkit-transition: 1.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  -o-transition: 1.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: 1.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.js-animate--solidin-up {
  -webkit-transform: translateY(50px);
  -ms-transform: translateY(50px);
  transform: translateY(50px);
}

.js-animate--solidin-up::before,
.js-animate--solidin-up::after {
  -webkit-transform-origin: center top;
  -ms-transform-origin: center top;
  transform-origin: center top;
}

.js-animate--solidin-down {
  -webkit-transform: translateY(-50px);
  -ms-transform: translateY(-50px);
  transform: translateY(-50px);
}

.js-animate--solidin-down::before,
.js-animate--solidin-down::after {
  -webkit-transform-origin: center bottom;
  -ms-transform-origin: center bottom;
  transform-origin: center bottom;
}

.js-animate--solidin-left {
  -webkit-transform: translateX(-50px);
  -ms-transform: translateX(-50px);
  transform: translateX(-50px);
}

.js-animate--solidin-left::before,
.js-animate--solidin-left::after {
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top;
}

.js-animate--solidin-right {
  -webkit-transform: translateX(50px);
  -ms-transform: translateX(50px);
  transform: translateX(50px);
}

.js-animate--solidin-right::before,
.js-animate--solidin-right::after {
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
}

/* 遮罩overflow MaskIn
==================================== */
[class*="js-animate--maskin"] {
  overflow: hidden;
}

.js-animate--maskin-up,
.js-animate--maskin-down {
  white-space: nowrap;
}

.js-animate--maskin-left .js-animate__item {
  -webkit-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%);
}

.js-animate--maskin-right .js-animate__item {
  -webkit-transform: translateX(100%);
  -ms-transform: translateX(100%);
  transform: translateX(100%);
}

.js-animate--maskin-up .js-animate__item {
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
}

.js-animate--maskin-down .js-animate__item {
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
}

/* 翻牌 FlipIn
==================================== */
.js-animate--flipin .js-animate__item {
  /* perspective: 100px; */
  display: inline-block;
  opacity: 0;
  -webkit-transform: perspective(100px) rotateY(-45deg);
  transform: perspective(100px) rotateY(-45deg);
}

/* Active 放後面覆蓋
==================================== */
.js-animate--active,
.js-animate--active .js-animate__item {
  opacity: 1;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  /* transition: opacity 1s, transform 1s; */
  -webkit-transition-duration: 1s, 1s;
  -o-transition-duration: 1s, 1s;
  transition-duration: 1s, 1s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  -o-transition-property: opacity, transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  /* transition: opacity var(--f-time), transform var(--f-time); */
}

.js-animate--solidin-up.js-animate--active::before,
.js-animate--solidin-up.js-animate--active::after,
.js-animate--solidin-down.js-animate--active::before,
.js-animate--solidin-down.js-animate--active::after {
  -webkit-transform: scaleY(0);
  -ms-transform: scaleY(0);
  transform: scaleY(0);
}

.js-animate--solidin-left.js-animate--active::before,
.js-animate--solidin-left.js-animate--active::after,
.js-animate--solidin-right.js-animate--active::before,
.js-animate--solidin-right.js-animate--active::after {
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
}

[class*="js-animate--maskin"].js-animate--active .js-animate__item {
  -webkit-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}

.js-animate--flipin.js-animate--active .js-animate__item {
  -webkit-transform: perspective(100px) rotateY(0);
  transform: perspective(100px) rotateY(0);
}

/* Delay & Duration
==================================== */
.animate-delay50 {
  -webkit-transition-delay: 0.05s;
  -o-transition-delay: 0.05s;
  transition-delay: 0.05s;
}

.animate-delay100 {
  -webkit-transition-delay: 0.1s;
  -o-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.animate-delay150 {
  -webkit-transition-delay: 0.15s;
  -o-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

.animate-delay200 {
  -webkit-transition-delay: 0.2s;
  -o-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.animate-delay250 {
  -webkit-transition-delay: 0.25s;
  -o-transition-delay: 0.25s;
  transition-delay: 0.25s;
}

.animate-delay300 {
  -webkit-transition-delay: 0.3s;
  -o-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.animate-delay400 {
  -webkit-transition-delay: 0.4s;
  -o-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.animate-delay500 {
  -webkit-transition-delay: 0.5s;
  -o-transition-delay: 0.5s;
  transition-delay: 0.5s;
}

.animate-delay600 {
  -webkit-transition-delay: 0.6s;
  -o-transition-delay: 0.6s;
  transition-delay: 0.6s;
}

.animate-delay700 {
  -webkit-transition-delay: 0.7s;
  -o-transition-delay: 0.7s;
  transition-delay: 0.7s;
}

.animate-delay800 {
  -webkit-transition-delay: 0.8s;
  -o-transition-delay: 0.8s;
  transition-delay: 0.8s;
}

.animate-delay900 {
  -webkit-transition-delay: 0.9s;
  -o-transition-delay: 0.9s;
  transition-delay: 0.9s;
}

.animate-delay1000 {
  -webkit-transition-delay: 1s;
  -o-transition-delay: 1s;
  transition-delay: 1s;
}

.animate-dur100,
.animate-dur100::before,
.animate-dur100::after {
  -webkit-transition-duration: .1s;
  -o-transition-duration: .1s;
  transition-duration: .1s;
}

.animate-dur200,
.animate-dur200::before,
.animate-dur200::after {
  -webkit-transition-duration: .2s;
  -o-transition-duration: .2s;
  transition-duration: .2s;
}

.animate-dur300,
.animate-dur300::before,
.animate-dur300::after {
  -webkit-transition-duration: .3s;
  -o-transition-duration: .3s;
  transition-duration: .3s;
}

.animate-dur400,
.animate-dur400::before,
.animate-dur400::after {
  -webkit-transition-duration: .4s;
  -o-transition-duration: .4s;
  transition-duration: .4s;
}

.animate-dur500,
.animate-dur500::before,
.animate-dur500::after {
  -webkit-transition-duration: .5s;
  -o-transition-duration: .5s;
  transition-duration: .5s;
}

.animate-dur1500 {
  -webkit-transition-duration: 1.5s;
  -o-transition-duration: 1.5s;
  transition-duration: 1.5s;
}

.animate-dur2000 {
  -webkit-transition-duration: 2s;
  -o-transition-duration: 2s;
  transition-duration: 2s;
}

@media (min-width: 768px) {
  .animate-delay100-md {
    -webkit-transition-delay: 0.1s;
    -o-transition-delay: 0.1s;
    transition-delay: 0.1s;
  }
  .animate-delay150-md {
    -webkit-transition-delay: 0.15s;
    -o-transition-delay: 0.15s;
    transition-delay: 0.15s;
  }
  .animate-delay200-md {
    -webkit-transition-delay: 0.2s;
    -o-transition-delay: 0.2s;
    transition-delay: 0.2s;
  }
  .animate-delay250-md {
    -webkit-transition-delay: 0.25s;
    -o-transition-delay: 0.25s;
    transition-delay: 0.25s;
  }
  .animate-delay300-md {
    -webkit-transition-delay: 0.3s;
    -o-transition-delay: 0.3s;
    transition-delay: 0.3s;
  }
  .animate-delay400-md {
    -webkit-transition-delay: 0.4s;
    -o-transition-delay: 0.4s;
    transition-delay: 0.4s;
  }
  .animate-delay500-md {
    -webkit-transition-delay: 0.5s;
    -o-transition-delay: 0.5s;
    transition-delay: 0.5s;
  }
  .animate-delay600-md {
    -webkit-transition-delay: 0.6s;
    -o-transition-delay: 0.6s;
    transition-delay: 0.6s;
  }
  .animate-delay700-md {
    -webkit-transition-delay: 0.7s;
    -o-transition-delay: 0.7s;
    transition-delay: 0.7s;
  }
  .animate-delay800-md {
    -webkit-transition-delay: 0.8s;
    -o-transition-delay: 0.8s;
    transition-delay: 0.8s;
  }
  .animate-delay900-md {
    -webkit-transition-delay: 0.9s;
    -o-transition-delay: 0.9s;
    transition-delay: 0.9s;
  }
  .animate-delay1000-md {
    -webkit-transition-delay: 1s;
    -o-transition-delay: 1s;
    transition-delay: 1s;
  }
}

@media (min-width: 1024px) {
  .animate-delay100-lg {
    -webkit-transition-delay: 0.1s;
    -o-transition-delay: 0.1s;
    transition-delay: 0.1s;
  }
  .animate-delay150-lg {
    -webkit-transition-delay: 0.15s;
    -o-transition-delay: 0.15s;
    transition-delay: 0.15s;
  }
  .animate-delay200-lg {
    -webkit-transition-delay: 0.2s;
    -o-transition-delay: 0.2s;
    transition-delay: 0.2s;
  }
  .animate-delay250-lg {
    -webkit-transition-delay: 0.25s;
    -o-transition-delay: 0.25s;
    transition-delay: 0.25s;
  }
  .animate-delay300-lg {
    -webkit-transition-delay: 0.3s;
    -o-transition-delay: 0.3s;
    transition-delay: 0.3s;
  }
  .animate-delay400-lg {
    -webkit-transition-delay: 0.4s;
    -o-transition-delay: 0.4s;
    transition-delay: 0.4s;
  }
  .animate-delay500-lg {
    -webkit-transition-delay: 0.5s;
    -o-transition-delay: 0.5s;
    transition-delay: 0.5s;
  }
  .animate-delay600-lg {
    -webkit-transition-delay: 0.6s;
    -o-transition-delay: 0.6s;
    transition-delay: 0.6s;
  }
  .animate-delay700-lg {
    -webkit-transition-delay: 0.7s;
    -o-transition-delay: 0.7s;
    transition-delay: 0.7s;
  }
  .animate-delay800-lg {
    -webkit-transition-delay: 0.8s;
    -o-transition-delay: 0.8s;
    transition-delay: 0.8s;
  }
  .animate-delay900-lg {
    -webkit-transition-delay: 0.9s;
    -o-transition-delay: 0.9s;
    transition-delay: 0.9s;
  }
  .animate-delay1000-lg {
    -webkit-transition-delay: 1s;
    -o-transition-delay: 1s;
    transition-delay: 1s;
  }
}

body.header-fixed {
  overflow: hidden;
}

body.scroll-fixed {
  overflow: hidden;
}

body.preload * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
}

.wrap {
  position: relative;
  background: #f4f4f4;
}

@media (min-width: 1024px) {
  .wrap {
    min-height: 100%;
  }
}

.wrap__inner {
  margin: 0 auto;
  padding: 0 30px;
  max-width: 1280px;
  position: relative;
}

@media (min-width: 1440px) {
  .wrap__inner {
    padding: 0;
  }
}

@media (min-width: 768px) {
  .wrap__inner--padding-sm {
    padding: 0 40px;
  }
}

.wrap__inner--no-padding {
  padding: 0;
}

.wrap__inner--768 {
  max-width: 768px;
}

@media (min-width: 768px) {
  .wrap__inner--768 {
    padding: 0 15px;
  }
}

.wrap__inner--1000 {
  max-width: 1000px;
}

@media (min-width: 1024px) {
  .wrap__inner--1000 {
    padding: 0;
  }
}

@media (min-width: 1024px) {
  .wrap__inner::after {
    content: " ";
    display: block;
    clear: both;
    line-height: 0;
    height: 0;
    visibility: hidden;
  }
}

.no-padding-top {
  margin: -15px 0 0;
}

@media (min-width: 768px) {
  .no-padding-top {
    margin: -30px 0 0;
  }
}

.header {
  background: #20b8ed;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#9879db+0,20b8ed+100 */
  background: #9879db;
  /* Old browsers */
  background: -moz-linear-gradient(45deg, #9879db 0%, #20b8ed 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(45deg, #9879db 0%, #20b8ed 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: -o-linear-gradient(45deg, #9879db 0%, #20b8ed 100%);
  background: linear-gradient(45deg, #9879db 0%, #20b8ed 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9879db', endColorstr='#20b8ed',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */
  height: 50px;
  z-index: 10;
}

@media (min-width: 1024px) {
  .header {
    position: relative;
    height: 70px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.header::after {
  clear: both;
  content: " ";
  display: block;
  height: 0;
  line-height: 0;
}

@media (min-width: 1024px) {
  .header__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
  }
}

@media (min-width: 1024px) {
  .header__inner::after {
    display: none;
  }
}

.header__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 50px;
  min-width: 50px;
  text-decoration: none;
  color: #fff;
}

.header__btn:focus, .header__btn:active {
  background: #7ed6f5;
  color: #fff;
}

@media (min-width: 1024px) {
  .header__btn:hover {
    background: #7ed6f5;
    color: #fff;
  }
}

.header__btn-text {
  display: none;
}

.header__like {
  display: none;
}

@media (min-width: 1024px) {
  .header__like {
    display: block;
    float: right;
  }
}

@media (min-width: 1024px) {
  .header__like .header__btn-icon {
    font-size: 24px;
  }
}

@media (min-width: 1024px) {
  .header__inner-bar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

@media (min-width: 1024px) {
  .header__function {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.header__logo {
  position: absolute;
  top: 10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 2;
}

@media (min-width: 1024px) {
  .header__logo {
    position: static;
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
    float: left;
    margin-right: 40px;
  }
}

@media (min-width: 1024px) {
  .header-fixed-web .header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 64px;
  }
}

@media (min-width: 1024px) {
  .header-fixed-web .header::before {
    content: none;
  }
}

@media (min-width: 1024px) {
  .header-fixed-web .header__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 auto;
    max-width: 1400px;
  }
}

@media (min-width: 1440px) {
  .header-fixed-web .header__inner {
    padding: 0 15px;
  }
}

@media (min-width: 1430px) {
  .header-fixed-web .header__inner {
    padding: 0;
  }
}

@media (min-width: 1024px) {
  .header-fixed-web .header__logo {
    width: 100px;
    height: 34px;
    margin: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
}

@media (min-width: 1024px) {
  .header-fixed-web .header__inner-bar {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding-left: 30px;
  }
}

@media (min-width: 1440px) {
  .header-fixed-web .header__inner-bar {
    padding-left: 50px;
  }
}

@media (min-width: 1024px) {
  .header-fixed-web .nav__item {
    margin-right: 30px;
  }
}

@media (min-width: 1440px) {
  .header-fixed-web .nav__item {
    margin-right: 50px;
  }
}

@media (min-width: 1024px) {
  .header-fixed-web .content:before {
    content: '';
    height: 64px;
  }
}

.content {
  min-height: 50vh;
  margin: 0 auto;
}

@media (min-width: 1024px) {
  .content {
    min-height: inherit;
    padding: 0 0 120px;
    padding: 0 0 200px;
  }
}

.section {
  padding: 50px 0;
}

@media (min-width: 1024px) {
  .section {
    padding: 90px 0;
  }
}

.section:last-child.section--gray {
  margin-bottom: 0;
}

@media (min-width: 1024px) {
  .section--gap-large {
    margin: 0 0 50px;
  }
}

.section--gray {
  background: #fff;
}

.section__heading {
  margin-bottom: 30px;
}

@media (min-width: 1024px) {
  .section__heading {
    text-align: center;
    margin-bottom: 80px;
  }
}

.section__subheading {
  margin-bottom: 15px;
  color: #394965;
  line-height: 1.3;
  font-weight: bold;
  font-size: 16px;
}

.section__title {
  font-size: 34px;
  font-weight: normal;
  color: #394965;
  text-align: center;
}

@media (min-width: 1024px) {
  .section__title {
    font-size: 44px;
  }
}

.section__text {
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: .05em;
}

.section__btn-loadmore {
  text-decoration: none;
  cursor: pointer;
  margin: 30px 0;
  padding: 10px 0;
  color: #666;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: transparent;
}

.section__btn-loadmore:focus, .section__btn-loadmore:active {
  color: #20b8ed;
}

@media (min-width: 1024px) {
  .section__btn-loadmore:hover {
    color: #20b8ed;
  }
}

@media (min-width: 1440px) {
  .section__btn-loadmore {
    margin: 50px 0;
  }
}

.section__btn-loadmore-text {
  text-transform: uppercase;
  font-size: 23px;
}

.section__btn-loadmore-icon {
  -webkit-transition: all .1s ease-in-out;
  -o-transition: all .1s ease-in-out;
  transition: all .1s ease-in-out;
}

.section__btn-loadmore:hover .section__btn-loadmore-icon {
  -webkit-transform: translateX(5px);
  -ms-transform: translateX(5px);
  transform: translateX(5px);
}

@media (min-width: 1024px) {
  .section-side {
    margin-bottom: 30px;
  }
}

@media (min-width: 1024px) {
  .section-side--gray {
    background: #f4f4f4;
    padding: 16px 14px;
  }
}

@media (min-width: 1024px) {
  .section-side__heading {
    font-size: 20px;
    text-align: center;
    font-weight: 600;
    margin-bottom: 1em;
  }
}

@media (min-width: 1024px) {
  .wrap-content::after {
    content: " ";
    display: block;
    clear: both;
    line-height: 0;
    height: 0;
    visibility: hidden;
  }
}

.main {
  width: 100%;
}

@media (min-width: 1024px) {
  .main {
    padding-left: calc(188px + 2.34%);
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
}

.sidebar {
  display: none;
}

@media (min-width: 1024px) {
  .sidebar {
    display: block;
    float: left;
    width: 188px;
    position: -webkit-sticky;
    position: sticky;
    top: 10px;
    z-index: 3;
  }
}

.footer {
  background: #394965;
  color: #fff;
}

@media (min-width: 1024px) {
  .footer {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.footer:before {
  content: "";
  height: 3px;
  width: 100%;
  display: block;
  background: #20b8ed;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#9879db+0,20b8ed+100 */
  background: #9879db;
  /* Old browsers */
  background: -moz-linear-gradient(45deg, #9879db 0%, #20b8ed 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(45deg, #9879db 0%, #20b8ed 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: -o-linear-gradient(45deg, #9879db 0%, #20b8ed 100%);
  background: linear-gradient(45deg, #9879db 0%, #20b8ed 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9879db', endColorstr='#20b8ed',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */
}

.footer a {
  color: #fff;
  text-decoration: none;
}

.footer a:focus, .footer a:active {
  text-decoration: underline;
}

@media (min-width: 1024px) {
  .footer a:hover {
    text-decoration: underline;
  }
}

.footer__inner {
  padding: 20px;
}

.footer__copyright {
  text-align: center;
  font-size: 10px;
  padding: 15px;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
}

@media (min-width: 768px) {
  .footer__copyright br {
    display: none;
  }
}

.footer-info-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media (min-width: 768px) {
  .footer-info-wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0;
  }
}

.footer__logolist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 -17.5px 20px;
}

@media (min-width: 1024px) {
  .footer__logolist {
    margin-bottom: 0;
  }
}

.footer__logolist-item {
  margin: 0 17.5px;
}

.footer__logolist-logo-moea {
  width: 100px;
}

@media (min-width: 1024px) {
  .footer__logolist-logo-moea {
    width: 120px;
  }
}

.footer__logolist-logo-itri {
  width: 107px;
}

@media (min-width: 1024px) {
  .footer__logolist-logo-itri {
    width: 106px;
  }
}

.contact-box {
  font-size: 12px;
}

@media (min-width: 1024px) {
  .contact-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.contact-box__title {
  font-weight: bold;
  margin: 0 0 10px;
}

@media (min-width: 1024px) {
  .contact-box__title {
    margin: 0 20px 0 0;
  }
}

.nav-footer-wrap {
  display: none;
  margin: 0 -10px;
}

@media (min-width: 1024px) {
  .nav-footer-wrap {
    display: inline-block;
    margin: 0;
  }
}

.nav-menu {
  margin: 0 0 5px;
}

@media (min-width: 1024px) {
  .nav-menu {
    display: none;
  }
}

.nav-menulist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -10px;
}

.nav-menulist__item {
  margin-bottom: 10px;
  position: relative;
}

.nav-menulist__item:not(:last-child):after {
  content: "";
  display: block;
  height: 14px;
  width: 1px;
  background: #888;
  position: absolute;
  right: 0px;
  top: 0;
}

.nav-menulist__link {
  padding: 0 10px;
  text-decoration: none;
  font-size: 14px;
  color: #394965;
  font-weight: bold;
}

.nav-menulist__link:focus, .nav-menulist__link:active {
  color: #20b8ed;
}

@media (min-width: 1024px) {
  .nav-menulist__link:hover {
    color: #20b8ed;
  }
}

.contactlist {
  margin: 0 0 25px;
}

@media (min-width: 1024px) {
  .contactlist {
    margin-bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.contactlist__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 10px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media (min-width: 1024px) {
  .contactlist__item {
    margin: 0 20px 0 0;
  }
}

.contactlist__item:last-child {
  margin-bottom: 0;
}

.contactlist__field {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}

.contactlist__icon {
  font-size: 20px;
  margin-right: 5px;
  color: #fff;
  display: none;
}

@media (min-width: 1024px) {
  .contactlist__icon {
    display: inline-block;
  }
}

.contactlist__text {
  display: none;
}

.page-heading {
  background: #f4f4f4;
  border-bottom: 1px solid #ddd;
  margin: 0 -15px 15px;
  position: relative;
  height: 44px;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media (min-width: 768px) {
  .page-heading {
    margin: 0 -20px 30px;
    height: 60px;
  }
}

.page-heading__title {
  font-size: 18px;
  line-height: 1.333;
  /*24px*/
  text-align: center;
  color: #394965;
  font-weight: normal;
  display: block;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  max-height: 1.4em;
  min-height: 1.4em;
  line-height: 1.4;
  width: 100%;
  padding: 0 50px;
}

@media (min-width: 768px) {
  .page-heading__title {
    padding: 0 60px;
  }
}

.page-heading__btn-back {
  text-decoration: none;
  width: 44px;
  height: 44px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  left: 0;
  color: #394965;
}

.page-heading__btn-back:focus, .page-heading__btn-back:active {
  color: #999;
}

@media (min-width: 1024px) {
  .page-heading__btn-back:hover {
    color: #999;
  }
}

@media (min-width: 768px) {
  .page-heading__btn-back {
    width: 60px;
    height: 60px;
  }
}

.page-heading__btn-icon {
  font-size: 22px;
}

.breadcrumb {
  font-size: 0.875em;
  padding: 8px 0;
  margin: 0;
  line-height: 1.7;
}

@media (min-width: 768px) {
  .breadcrumb {
    padding: 14px 0;
  }
}

@media (min-width: 1024px) {
  .breadcrumb {
    padding: 18.5px 0;
  }
}

.breadcrumb__item {
  display: inline;
  color: #394965;
}

.breadcrumb__item::before {
  content: ">";
  margin: 0 3px;
}

.breadcrumb__item:first-child:before {
  display: none;
}

.breadcrumb__item--current {
  color: #394965;
}

.breadcrumb__link {
  color: #394965;
  text-decoration: none;
}

.breadcrumb__link:focus, .breadcrumb__link:active {
  color: #394965;
  text-decoration: none;
}

@media (min-width: 1024px) {
  .breadcrumb__link:hover {
    color: #394965;
    text-decoration: none;
  }
}

.breadcrumb__item--current .breadcrumb__link {
  color: #394965;
}

.breadcrumb__item:first-child .breadcrumb__link {
  color: #ddd;
}

.breadcrumb__icon {
  margin-top: -4px;
  font-size: 22px;
}

.logo {
  overflow: hidden;
  width: 78px;
  height: 26px;
}

@media (min-width: 1024px) {
  .logo {
    width: 111px;
    height: 23px;
  }
}

.logo__link {
  display: block;
  text-indent: 100%;
  white-space: nowrap;
}

.logo__img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.nav-wrap__trigger {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}

@media (min-width: 1024px) {
  .nav-wrap__trigger {
    display: none;
  }
}

.nav-wrap--open .nav-wrap__trigger {
  background: #7ed6f5;
}

.nav-wrap__dropbox-overlay {
  position: fixed;
  top: 45px;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  background: rgba(0, 0, 0, 0);
  pointer-events: none;
  -webkit-transition: background .15s;
  -o-transition: background .15s;
  transition: background .15s;
}

@media (min-width: 1024px) {
  .nav-wrap__dropbox-overlay {
    position: static;
    overflow: visible;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    background: none;
    width: 100%;
    height: auto;
    pointer-events: auto;
    background: none;
  }
}

.nav-wrap--open .nav-wrap__dropbox-overlay {
  background: rgba(0, 0, 0, 0.6);
  pointer-events: auto;
}

@media (min-width: 1024px) {
  .nav-wrap--open .nav-wrap__dropbox-overlay {
    background: none;
  }
}

.nav-wrap__dropbox {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-transition: -webkit-transform 350ms;
  transition: -webkit-transform 350ms;
  -o-transition: transform 350ms;
  transition: transform 350ms;
  transition: transform 350ms, -webkit-transform 350ms;
  overflow-y: auto;
  z-index: 2;
  overflow-X: hidden;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transform: translateX(101%);
  -ms-transform: translateX(101%);
  transform: translateX(101%);
  background: #20b8ed;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#9879db+0,20b8ed+100 */
  background: #9879db;
  /* Old browsers */
  background: -moz-linear-gradient(45deg, #9879db 0%, #20b8ed 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(45deg, #9879db 0%, #20b8ed 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: -o-linear-gradient(45deg, #9879db 0%, #20b8ed 100%);
  background: linear-gradient(45deg, #9879db 0%, #20b8ed 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9879db', endColorstr='#20b8ed',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */
}

@media (min-width: 1024px) {
  .nav-wrap__dropbox {
    color: #394965;
    display: block;
    position: static;
    overflow: visible;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    background: none;
    width: 100%;
    height: auto;
    max-height: none;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    pointer-events: auto;
  }
}

.nav-wrap--open .nav-wrap__dropbox {
  z-index: 6;
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
}

.nav-wrap__close {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 50px;
  min-width: 50px;
  text-decoration: none;
  color: #fff;
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 1;
}

.nav-wrap__close:focus, .nav-wrap__close:active {
  color: #394965;
}

@media (min-width: 1024px) {
  .nav-wrap__close:hover {
    color: #394965;
  }
}

@media (min-width: 1024px) {
  .nav-wrap__close {
    display: none;
  }
}

.nav-wrap__footer-info {
  padding: 30px 16px;
}

@media (min-width: 1024px) {
  .nav-wrap__footer-info {
    display: none;
  }
}

.nav {
  padding: 0;
  margin: 0;
}

@media (min-width: 1024px) {
  .nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media (min-width: 1024px) {
  .nav__item:not(:last-child) {
    border: none;
  }
}

.nav__heading, .nav__link, .nav__sub-heading, .nav__sub-link, .nav__third-link {
  display: block;
  cursor: pointer;
  text-decoration: none;
  line-height: 1.4;
  padding: 25px 10px;
  text-align: center;
  color: #fff;
  font-size: 24px;
  font-weight: normal;
}

.nav__heading:focus, .nav__heading:active, .nav__link:focus, .nav__link:active, .nav__sub-heading:focus, .nav__sub-heading:active, .nav__sub-link:focus, .nav__sub-link:active, .nav__third-link:focus, .nav__third-link:active {
  color: #394965;
}

@media (min-width: 1024px) {
  .nav__heading:hover, .nav__link:hover, .nav__sub-heading:hover, .nav__sub-link:hover, .nav__third-link:hover {
    color: #394965;
  }
}

@media (min-width: 1024px) {
  .nav__heading, .nav__link, .nav__sub-heading, .nav__sub-link, .nav__third-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 70px;
    font-size: 18px;
    padding: 0 60px;
    color: #fff;
  }
}

.nav__heading, .nav__link {
  -webkit-transition: background .435s ease;
  -o-transition: background .435s ease;
  transition: background .435s ease;
  position: relative;
}

.nav__item--current .nav__heading, .nav__item--current .nav__link {
  color: #394965;
}

.nav__heading-icon {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 40px;
  height: 30px;
  margin-top: -15px;
  line-height: 30px;
  font-size: 1em;
  text-align: center;
  display: inline-block;
  letter-spacing: normal;
}

@media (min-width: 1024px) {
  .nav__heading-icon {
    display: none;
  }
}

.nav__sub-heading {
  border-bottom: 1px solid rgba(222, 222, 222, 0.3);
}

@media (min-width: 1024px) {
  .nav__sub-heading {
    display: none;
  }
}

.nav__sub-heading-icon {
  font-size: 1em;
  margin-right: .5em;
  vertical-align: baseline;
}

.nav__sub-nav-wrap {
  -webkit-transition: -webkit-transform .35s;
  transition: -webkit-transform .35s;
  -o-transition: transform .35s;
  transition: transform .35s;
  transition: transform .35s, -webkit-transform .35s;
  -webkit-transform: translateX(100%);
  -ms-transform: translateX(100%);
  transform: translateX(100%);
  position: absolute;
  overflow: hidden;
  background: #20b8ed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 12;
}

@media (min-width: 1024px) {
  .nav__sub-nav-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    background: none;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    top: auto;
    height: auto;
    max-height: 0;
    top: 100%;
    bottom: auto;
    z-index: -1;
    max-width: 1200px;
    margin: 0 auto;
    visibility: hidden;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
  }
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .nav__sub-nav-wrap {
    width: 100%;
  }
}

.nav__heading--active + .nav__sub-nav-wrap {
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
  overflow: auto;
}

@media (min-width: 1024px) {
  .nav__heading--active + .nav__sub-nav-wrap,
  .nav__item:hover .nav__sub-nav-wrap {
    overflow: visible;
    height: 373px;
    max-height: 373px;
    padding: 42px;
    visibility: visible;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}

@media (min-width: 1024px) {
  .nav__sub-nav-wrap::before {
    content: '';
    width: 100vw;
    background: #f4f4f4;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%) scaleY(0.65);
    -ms-transform: translateX(-50%) scaleY(0.65);
    transform: translateX(-50%) scaleY(0.65);
    bottom: 0;
    position: absolute;
    z-index: -1;
    opacity: 0;
    -webkit-transition: opacity .25s, -webkit-transform .25s;
    transition: opacity .25s, -webkit-transform .25s;
    -o-transition: transform .25s, opacity .25s;
    transition: transform .25s, opacity .25s;
    transition: transform .25s, opacity .25s, -webkit-transform .25s;
    -webkit-transform-origin: top center;
    -ms-transform-origin: top center;
    transform-origin: top center;
  }
}

@media (min-width: 1024px) {
  .nav__heading--active + .nav__sub-nav-wrap::before,
  .nav__item:hover .nav__sub-nav-wrap::before {
    opacity: 1;
    -webkit-transform: translateX(-50%) scaleY(1);
    -ms-transform: translateX(-50%) scaleY(1);
    transform: translateX(-50%) scaleY(1);
  }
}

@media (min-width: 1024px) {
  .nav__sub-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    position: static;
    width: 50%;
    -webkit-transition: opacity .4s .2s, -webkit-transform .4s .2s;
    transition: opacity .4s .2s, -webkit-transform .4s .2s;
    -o-transition: transform .4s .2s, opacity .4s .2s;
    transition: transform .4s .2s, opacity .4s .2s;
    transition: transform .4s .2s, opacity .4s .2s, -webkit-transform .4s .2s;
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px);
    opacity: 0;
  }
}

@media (min-width: 1024px) {
  .nav__heading--active + .nav__sub-nav-wrap .nav__sub-nav,
  .nav__item:hover .nav__sub-nav {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}

.nav__sub-item {
  border-bottom: 1px solid rgba(222, 222, 222, 0.3);
}

@media (min-width: 1024px) {
  .nav__sub-item {
    width: 33.333%;
    border: none;
  }
}

.nav__sub-link {
  padding-left: 3.5em;
}

@media (min-width: 1024px) {
  .nav__sub-link {
    padding: .5em 1em .5em 0;
    display: inline-block;
  }
}

@media (min-width: 1024px) {
  .nav__sub-item--current .nav__sub-link {
    color: #e33000;
  }
}

.nav-event {
  display: none;
}

@media (min-width: 1024px) {
  .nav-event {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    width: 50%;
    -webkit-transition: opacity .5s .35s, -webkit-transform .5s .35s;
    transition: opacity .5s .35s, -webkit-transform .5s .35s;
    -o-transition: transform .5s .35s, opacity .5s .35s;
    transition: transform .5s .35s, opacity .5s .35s;
    transition: transform .5s .35s, opacity .5s .35s, -webkit-transform .5s .35s;
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px);
    opacity: 0;
  }
}

@media (min-width: 1024px) {
  .nav__heading--active + .nav__sub-nav-wrap .nav-event,
  .nav__item:hover .nav-event {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}

@media (min-width: 1024px) {
  .nav-event__item {
    width: 50%;
    max-width: 210px;
    margin-left: 24px;
    position: relative;
  }
}

@media (min-width: 1024px) {
  .nav-event__imgbox {
    margin-bottom: 15px;
  }
}

@media (min-width: 1024px) {
  .nav-event__name {
    display: block;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    max-height: 3.4em;
    min-height: 3.4em;
    line-height: 1.7;
  }
}

@media (min-width: 1024px) {
  .nav-event__link {
    display: block;
    text-indent: 100%;
    overflow: hidden;
    white-space: nowrap;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    font-size: 0;
    text-decoration: none;
  }
}

.tabbars {
  background: url("../images/bg_tabbars.png") center bottom no-repeat;
  height: calc(50px + constant(safe-area-inset-bottom));
  /* 兼容 iOS < 11.2 */
  /*height: calc(50px + env(safe-area-inset-bottom)); 兼容 iOS >= 11.2 */
  padding: 14px 20px 6px;
  position: fixed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  width: 100%;
  bottom: 0;
  margin: 0 -15px;
  z-index: 10;
}

@media (min-width: 1024px) {
  .tabbars {
    position: static;
    margin: 0 10px 0 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    width: auto;
    padding: 0;
    background: none;
  }
}

.tabbars--normal {
  background: #fff;
  padding: 6px 20px 6px;
}

@media (min-width: 1024px) {
  .tabbars--normal {
    background: transparent;
  }
}

.tabbars__list {
  width: 100%;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

@media (min-width: 1024px) {
  .tabbars__list {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.tabbars__item {
  width: 100%;
}

@media (min-width: 1024px) {
  .tabbars__item {
    position: relative;
    width: auto;
  }
}

.tabbars__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #394965;
  text-decoration: none;
}

@media (min-width: 1024px) {
  .tabbars__link {
    padding: 26px 20px;
  }
}

.tabbars__link:focus, .tabbars__link:active {
  color: #ff6e22;
}

@media (min-width: 1024px) {
  .tabbars__link:hover {
    color: #ff6e22;
  }
}

.tabbars__item--current .tabbars__link {
  color: #ff6e22;
}

@media (min-width: 1024px) {
  .tabbars__item:last-child .tabbars__link {
    display: none;
  }
}

.tabbars__icon {
  margin: 0 0 5px;
  font-size: 22px;
}

.tabbars__item--main .tabbars__icon {
  font-size: 28px;
}

@media (min-width: 1024px) {
  .tabbars__icon {
    font-size: 24px;
    display: none;
  }
}

.tabbars__title {
  font-size: 10px;
}

@media (min-width: 1024px) {
  .tabbars__title {
    font-size: 16px;
  }
}

@media (min-width: 768px) {
  .notice {
    float: right;
  }
}

.notice__trigger {
  float: right;
  position: absolute;
  right: 5px;
  text-decoration: none;
}

.notice--open .notice__trigger {
  color: #fff;
}

.notice__trigger:focus, .notice__trigger:active {
  color: #fff;
}

@media (min-width: 1024px) {
  .notice__trigger:hover {
    color: #fff;
  }
}

.notice__icon-trigger {
  vertical-align: middle;
}

.notice__text {
  display: none;
}

.notice__count {
  background: #e33000;
  border-radius: 50%;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  overflow: hidden;
  text-align: center;
  vertical-align: middle;
  display: none;
  width: 7px;
  height: 7px;
  -webkit-transform: translate(9px, -9px);
  -ms-transform: translate(9px, -9px);
  transform: translate(9px, -9px);
  position: absolute;
  right: 20px;
  z-index: 1;
}

.notice--active .notice__count {
  display: block;
}

.notice__dropbox {
  display: none;
}

.notice__list {
  font-size: 14px;
}

.notice__list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  line-height: 1.3;
  margin-bottom: 1.5em;
}

.notice__list-name {
  display: block;
  text-decoration: none;
  margin-bottom: .6em;
}

.notice__list-offer-text, .notice__list-qty-text {
  margin-right: 10px;
}

.notice__list-btn-del {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  text-align: right;
}

.notice__list-del-icon {
  font-size: 14px;
}

@media (min-width: 1024px) {
  .notice--empty .notice__dropbox-empty {
    display: block;
    margin-bottom: 1.5em;
    text-align: center;
    color: #20b8ed;
  }
}

@media (min-width: 1024px) {
  .notice--empty .notice__dropbox-full {
    display: none;
  }
}

.nav-footer {
  padding: 0;
  margin: 0;
}

@media (min-width: 768px) {
  .nav-footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
}

.nav-footer__item {
  text-align: left;
  border-top: 1px solid rgba(222, 222, 222, 0.3);
}

@media (min-width: 768px) {
  .nav-footer__item {
    border: none;
  }
}

@media (min-width: 1024px) {
  .nav-footer__item {
    width: 160px;
  }
}

.nav-footer__heading {
  padding: 0 0 25px;
  font-weight: bold;
  font-size: 18px;
  color: #394965;
}

.nav-footer__heading-icon {
  -webkit-transition: -webkit-transform .25s ease-in-out;
  transition: -webkit-transform .25s ease-in-out;
  -o-transition: transform .25s ease-in-out;
  transition: transform .25s ease-in-out;
  transition: transform .25s ease-in-out, -webkit-transform .25s ease-in-out;
  float: right;
  font-size: 20px;
  color: #bbb;
}

@media (min-width: 768px) {
  .nav-footer__heading-icon {
    display: none;
  }
}

.nav-footer__heading--open .nav-footer__heading-icon {
  -webkit-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  transform: rotate(-180deg);
}

.nav-footer__sub-nav {
  padding: 0;
  margin: -15px 0 20px;
  overflow: hidden;
}

@media (min-width: 768px) {
  .nav-footer__sub-item {
    margin: 15px 0;
  }
}

.nav-footer__sub-link {
  display: block;
  line-height: 1.25;
  text-decoration: none;
  font-size: 16px;
  color: #394965;
}

@media (min-width: 1024px) {
  .nav-footer__sub-link {
    display: inline-block;
    -webkit-transition: color .25s ease;
    -o-transition: color .25s ease;
    transition: color .25s ease;
  }
}

.nav-footer__sub-link:focus, .nav-footer__sub-link:active {
  color: #20b8ed;
}

@media (min-width: 1024px) {
  .nav-footer__sub-link:hover {
    color: #20b8ed;
  }
}

.footer-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media (min-width: 1024px) {
  .footer-info {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.footer-info a {
  color: inherit;
}

.footer-info__logobox {
  width: 80px;
  padding-right: 20px;
}

@media (min-width: 768px) {
  .footer-info__logobox {
    width: 95px;
    padding-right: 25px;
  }
}

@media (min-width: 1024px) {
  .footer-info__logobox {
    padding-right: 42px;
    width: auto;
  }
}

@media (min-width: 768px) {
  .footer-info__logo {
    max-width: 90px;
  }
}

@media (min-width: 1024px) {
  .footer-info__logo {
    max-width: 123px;
  }
}

.footer-info__infobox {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

@media (min-width: 768px) {
  .footer-info__infobox {
    width: 70%;
    max-width: 300px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
  }
}

.footer-info__info {
  line-height: 1.8;
  font-size: 14px;
}

.footer-info__info-tel {
  text-decoration: none;
}

.social-media__heading {
  display: none;
}

.list-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 -5px;
}

@media (min-width: 1024px) {
  .list-icon {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

.list-icon__item {
  margin: 0 5px;
}

.list-icon__link {
  display: block;
  text-decoration: none;
  text-align: center;
  color: #fff;
}

.list-icon__link:focus, .list-icon__link:active {
  color: #cccccc;
}

@media (min-width: 1024px) {
  .list-icon__link:hover {
    color: #cccccc;
  }
}

.list-icon__iconbox {
  border-radius: 50%;
  margin-bottom: 10px;
  width: 44px;
  height: 44px;
  background: #888;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: 0.35s color cubic-bezier(0.165, 0.84, 0.44, 1);
  -o-transition: 0.35s color cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: 0.35s color cubic-bezier(0.165, 0.84, 0.44, 1);
}

.list-icon__link .list-icon__iconbox:focus, .list-icon__link .list-icon__iconbox:active {
  background: #20b8ed;
}

@media (min-width: 1024px) {
  .list-icon__link .list-icon__iconbox:hover {
    background: #20b8ed;
  }
}

.list-icon__icon {
  font-size: 38px;
}

.list-icon__icon.icon-facebook {
  font-size: 41px;
  margin-bottom: -10px;
}

.list-icon__title {
  color: #888;
  font-weight: normal;
}

.nav-side-wrap {
  position: relative;
  margin: 0;
}

@media (min-width: 1024px) {
  .nav-side-wrap {
    border: 1px solid #ddd;
    padding: 12px;
  }
}

.nav-side-wrap__heading {
  display: none;
}

@media (min-width: 1024px) {
  .nav-side-wrap__heading {
    display: block;
    font-weight: bold;
    color: #394965;
    font-size: 18px;
    margin-bottom: 10px;
    border-bottom: 1px solid #ddd;
    padding: 0 0 13px;
  }
}

.nav-side-wrap__trigger {
  border: 1px solid #20b8ed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
  color: #394965;
  font-size: 16px;
  font-weight: normal;
  padding: 15px;
  max-height: 44px;
  text-decoration: none;
}

@media (min-width: 1024px) {
  .nav-side-wrap__trigger {
    display: none;
  }
}

.nav-side-wrap__trigger-icon {
  font-size: 18px;
  -webkit-transition: -webkit-transform .25s;
  transition: -webkit-transform .25s;
  -o-transition: transform .25s;
  transition: transform .25s;
  transition: transform .25s, -webkit-transform .25s;
}

.nav-side-wrap--open .nav-side-wrap__trigger-icon {
  -webkit-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  transform: rotate(-180deg);
}

.nav-side {
  max-height: 0;
  overflow: hidden;
  background: #f4f4f4;
  border: 1px solid #ddd;
  border-top: none;
  -webkit-box-shadow: 0 3px 4px rgba(0, 0, 0, 0.1);
  box-shadow: 0 3px 4px rgba(0, 0, 0, 0.1);
  position: absolute;
  z-index: 3;
  top: 100%;
  left: 0;
  right: 0;
  -webkit-transform: translateY(-5px);
  -ms-transform: translateY(-5px);
  transform: translateY(-5px);
  opacity: .5;
  -webkit-transition: opacity .25s, -webkit-transform .3s;
  transition: opacity .25s, -webkit-transform .3s;
  -o-transition: transform .3s, opacity .25s;
  transition: transform .3s, opacity .25s;
  transition: transform .3s, opacity .25s, -webkit-transform .3s;
}

@media (min-width: 1024px) {
  .nav-side {
    margin: 0;
    list-style: none;
    max-height: none;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    background: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    position: static;
    opacity: 1;
    padding: 0 10px;
    border: none;
  }
}

.nav-side-wrap--open .nav-side {
  max-height: 800px;
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

@media (min-width: 1024px) {
  .nav-side-wrap--open .nav-side {
    max-height: none;
  }
}

.nav-side__item {
  display: block;
  margin: 0 15px;
  padding: 6px 0;
  border-bottom: #ddd 1px solid;
  border-radius: 0;
  opacity: .2;
  -webkit-transition: opacity .5s .1s;
  -o-transition: opacity .5s .1s;
  transition: opacity .5s .1s;
}

@media (min-width: 1024px) {
  .nav-side__item {
    margin: 0;
    border: none;
    opacity: 1;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    padding: 13px 0;
    position: relative;
  }
}

.nav-side__item--current {
  color: #ff6e22;
}

.nav-side-wrap--open .nav-side__item {
  opacity: 1;
}

.nav-side__item:last-of-type {
  border: none;
}

.nav-side__link {
  display: block;
  text-decoration: none;
  padding: 13px 0;
  font-size: 16px;
  color: #394965;
}

@media (min-width: 1024px) {
  .nav-side__link {
    display: inline;
    text-align: left;
    padding: 2px 0;
  }
}

.nav-side__item--current .nav-side__link {
  color: #ff6e22;
}

@media (min-width: 1024px) {
  .nav-side__phone-verify {
    position: absolute;
  }
}
