@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

    blockquote:before,
    blockquote:after,
    q:before,
    q:after {
        content: '';
        content: none;
    }

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/*!
 * Font Awesome Free 5.0.13 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
@font-face {
    font-family: 'Font Awesome 5 Free';
    font-style: normal;
    font-weight: 400;
    src: url("fonts/fa-regular-400.eot");
    src: url("fonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("fonts/fa-regular-400.woff2") format("woff2"), url("fonts/fa-regular-400.woff") format("woff"), url("fonts/fa-regular-400.ttf") format("truetype"), url("fonts/fa-regular-400.svg#fontawesome") format("svg");
}

.far {
    font-family: 'Font Awesome 5 Free';
    font-weight: 400;
    padding-right: 5px;
}

@font-face {
    font-family: 'Font Awesome 5 Free';
    font-style: normal;
    font-weight: 900;
    src: url("fonts/fa-solid-900.eot");
    src: url("fonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("fonts/fa-solid-900.woff2") format("woff2"), url("fonts/fa-solid-900.woff") format("woff"), url("fonts/fa-solid-900.ttf") format("truetype"), url("fonts/fa-solid-900.svg#fontawesome") format("svg");
}

.fa,
.fas {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
}

@font-face {
    font-family: 'Font Awesome 5 Brands';
    font-style: normal;
    font-weight: normal;
    src: url("fonts/fa-brands-400.eot");
    src: url("fonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("fonts/fa-brands-400.woff2") format("woff2"), url("fonts/fa-brands-400.woff") format("woff"), url("fonts/fa-brands-400.ttf") format("truetype"), url("fonts/fa-brands-400.svg#fontawesome") format("svg");
}

.fab {
    font-family: 'Font Awesome 5 Brands';
    padding-right: 5px;
}

.fal,
.far {
    font-family: "Font Awesome 5 Pro";
}

.fal {
    font-weight: 300;
}

.fa,
.fab,
.fal,
.far,
.fas {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
}

.fa-spinner:before {
    content: "\f110";
}

.fa-spin {
    animation: fa-spin 2s infinite linear;
}

.fa-pulse {
    animation: fa-spin 1s infinite steps(8);
}

@keyframes fa-spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}
/* Magnific Popup CSS */
.mfp-bg {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1042;
    overflow: hidden;
    position: fixed;
    background: #666666b3;
    opacity: 0.7;
}

.mfp-wrap {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1043;
    position: fixed;
    outline: none !important;
    -webkit-backface-visibility: hidden;
}

.mfp-container {
    text-align: center;
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    padding: 0;
    box-sizing: border-box;
}

    .mfp-container:before {
        content: '';
        display: inline-block;
        height: 100%;
        vertical-align: middle;
    }

.mfp-align-top .mfp-container:before {
    display: none;
}

.mfp-content {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
    text-align: left;
    z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
    width: 100%;
    cursor: auto;
}

.mfp-ajax-cur {
    cursor: progress;
}

.mfp-zoom {
    cursor: pointer;
    cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
    cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.mfp-loading.mfp-figure {
    display: none;
}

.mfp-hide {
    display: none !important;
}

.mfp-preloader {
    color: #CCC;
    position: absolute;
    top: 50%;
    width: auto;
    text-align: center;
    margin-top: -0.8em;
    left: 8px;
    right: 8px;
    z-index: 1044;
}

    .mfp-preloader a {
        color: #CCC;
    }

        .mfp-preloader a:hover {
            color: #FFF;
        }

.mfp-s-ready .mfp-preloader {
    display: none;
}

.mfp-s-error .mfp-content {
    display: none;
}

button.mfp-close,
button.mfp-arrow {
    overflow: visible;
    cursor: pointer;
    background: transparent;
    border: 0;
    -webkit-appearance: none;
    display: block;
    outline: none;
    padding: 0;
    z-index: 1046;
    box-shadow: none;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
}

button::-moz-focus-inner {
    padding: 0;
    border: 0;
}

.mfp-close {
    width: 44px;
    height: 44px;
    line-height: 44px;
    position: absolute;
    right: 0;
    top: 0;
    text-decoration: none;
    text-align: center;
    opacity: 0.65;
    padding: 0 0 18px 10px;
    color: #FFF;
    font-style: normal;
    font-size: 28px;
    font-family: Arial, Baskerville, monospace;
}

    .mfp-close:hover,
    .mfp-close:focus {
        opacity: 1;
    }

    .mfp-close:active {
        top: 1px;
    }

.mfp-close-btn-in .mfp-close {
    color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
    color: #FFF;
    right: -6px;
    text-align: right;
    padding-right: 6px;
    width: 100%;
}

.mfp-counter {
    position: absolute;
    top: 0;
    right: 0;
    color: #CCC;
    font-size: 12px;
    line-height: 18px;
    white-space: nowrap;
}

.mfp-arrow {
    position: absolute;
    opacity: 0.65;
    margin: 0;
    top: 50%;
    margin-top: -55px;
    padding: 0;
    width: 90px;
    height: 110px;
    -webkit-tap-highlight-color: transparent;
}

    .mfp-arrow:active {
        margin-top: -54px;
    }

    .mfp-arrow:hover,
    .mfp-arrow:focus {
        opacity: 1;
    }

    .mfp-arrow:before,
    .mfp-arrow:after {
        content: '';
        display: block;
        width: 0;
        height: 0;
        position: absolute;
        left: 0;
        top: 0;
        margin-top: 35px;
        margin-left: 35px;
        border: medium inset transparent;
    }

    .mfp-arrow:after {
        border-top-width: 13px;
        border-bottom-width: 13px;
        top: 8px;
    }

    .mfp-arrow:before {
        border-top-width: 21px;
        border-bottom-width: 21px;
        opacity: 0.7;
    }

.mfp-arrow-left {
    left: 0;
}

    .mfp-arrow-left:after {
        border-right: 17px solid #FFF;
        margin-left: 31px;
    }

    .mfp-arrow-left:before {
        margin-left: 25px;
        border-right: 27px solid #3F3F3F;
    }

.mfp-arrow-right {
    right: 0;
}

    .mfp-arrow-right:after {
        border-left: 17px solid #FFF;
        margin-left: 39px;
    }

    .mfp-arrow-right:before {
        border-left: 27px solid #3F3F3F;
    }

.mfp-iframe-holder {
    padding-top: 40px;
    padding-bottom: 40px;
}

    .mfp-iframe-holder .mfp-content {
        line-height: 0;
        width: 100%;
        max-width: 900px;
    }

    .mfp-iframe-holder .mfp-close {
        top: -40px;
    }

.mfp-iframe-scaler {
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-top: 56.25%;
}

    .mfp-iframe-scaler iframe {
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
        background: #000;
    }

/* Main image in popup */
img.mfp-img {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
    line-height: 0;
    box-sizing: border-box;
    padding: 40px 0 40px;
    margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
    line-height: 0;
}

    .mfp-figure:after {
        content: '';
        position: absolute;
        left: 0;
        top: 40px;
        bottom: 40px;
        display: block;
        right: 0;
        width: auto;
        height: auto;
        z-index: -1;
        box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
        background: #444;
    }

    .mfp-figure small {
        color: #BDBDBD;
        display: block;
        font-size: 12px;
        line-height: 14px;
    }

    .mfp-figure figure {
        margin: 0;
    }

.mfp-bottom-bar {
    margin-top: -36px;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    cursor: auto;
}

.mfp-title {
    text-align: left;
    line-height: 18px;
    color: #F3F3F3;
    word-wrap: break-word;
    padding-right: 36px;
}

.mfp-image-holder .mfp-content {
    max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
    cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
    /**
     * Remove all paddings around the image on small screen
     */
    .mfp-img-mobile .mfp-image-holder {
        padding-left: 0;
        padding-right: 0;
    }

    .mfp-img-mobile img.mfp-img {
        padding: 0;
    }

    .mfp-img-mobile .mfp-figure:after {
        top: 0;
        bottom: 0;
    }

    .mfp-img-mobile .mfp-figure small {
        display: inline;
        margin-left: 5px;
    }

    .mfp-img-mobile .mfp-bottom-bar {
        background: rgba(0, 0, 0, 0.6);
        bottom: 0;
        margin: 0;
        top: auto;
        padding: 3px 5px;
        position: fixed;
        box-sizing: border-box;
    }

        .mfp-img-mobile .mfp-bottom-bar:empty {
            padding: 0;
        }

    .mfp-img-mobile .mfp-counter {
        right: 5px;
        top: 3px;
    }

    .mfp-img-mobile .mfp-close {
        top: 0;
        right: 0;
        width: 35px;
        height: 35px;
        line-height: 35px;
        background: rgba(0, 0, 0, 0.6);
        position: fixed;
        text-align: center;
        padding: 0;
    }
}

@media all and (max-width: 900px) {
    .mfp-arrow {
        transform: scale(0.75);
    }

    .mfp-arrow-left {
        transform-origin: 0;
    }

    .mfp-arrow-right {
        transform-origin: 100%;
    }

    .mfp-container {
        padding-left: 15px;
        padding-right: 15px;
    }
}
/* Slider */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0;
}

    .slick-list:focus {
        outline: none;
    }

    .slick-list.dragging {
        cursor: pointer;
        cursor: hand;
    }

.slick-slider .slick-track,
.slick-slider .slick-list {
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
}

    .slick-track:before, .slick-track:after {
        content: "";
        display: table;
    }

    .slick-track:after {
        clear: both;
    }

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none;
}

[dir="rtl"] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

/* Slider */
.slick-loading .slick-list {
    background: #fff url("./ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
    font-family: "slick";
    src: url("./fonts/slick.eot");
    src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
    font-weight: normal;
    font-style: normal;
}
/* Arrows */
.slick-prev,
.slick-next {
    position: absolute;
    display: block;
    height: 20px;
    width: 20px;
    line-height: 0px;
    font-size: 0px;
    cursor: pointer;
    background: transparent;
    color: transparent;
    top: 50%;
    transform: translate(0, -50%);
    padding: 0;
    border: none;
    outline: none;
}

    .slick-prev.slick-disabled:before,
    .slick-next.slick-disabled:before {
        opacity: 0.25;
    }

    .slick-prev:before,
    .slick-next:before {
        font-family: "slick";
        font-size: 20px;
        line-height: 1;
        color: white;
        opacity: 0.75;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

.slick-prev {
    left: -25px;
}

[dir="rtl"] .slick-prev {
    left: auto;
    right: -25px;
}

.slick-prev:before {
    content: "←";
}

[dir="rtl"] .slick-prev:before {
    content: "→";
}

.slick-next {
    right: -25px;
}

[dir="rtl"] .slick-next {
    left: -25px;
    right: auto;
}

.slick-next:before {
    content: "→";
}

[dir="rtl"] .slick-next:before {
    content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
    margin-bottom: 30px;
}

.slick-dots {
    position: absolute;
    bottom: 0;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
    width: 100%;
}

    .slick-dots li {
        position: relative;
        display: inline-block;
        height: 20px;
        width: 20px;
        margin: 0 5px;
        padding: 0;
        cursor: pointer;
    }

        .slick-dots li button {
            border: 0;
            background: transparent;
            display: block;
            height: 20px;
            width: 20px;
            outline: none;
            line-height: 0px;
            font-size: 0px;
            color: transparent;
            padding: 5px;
            cursor: pointer;
        }

            .slick-dots li button:hover, .slick-dots li button:focus {
                outline: none;
            }

                .slick-dots li button:hover:before, .slick-dots li button:focus:before {
                    opacity: 1;
                }

            .slick-dots li button:before {
                position: absolute;
                top: 0;
                left: 0;
                content: "•";
                width: 20px;
                height: 20px;
                font-family: "slick";
                font-size: 6px;
                line-height: 20px;
                text-align: center;
                color: white;
                opacity: 0.25;
                -webkit-font-smoothing: antialiased;
                -moz-osx-font-smoothing: grayscale;
            }

        .slick-dots li.slick-active button:before {
            color: white;
            opacity: 0.75;
        }

@font-face {
    font-family: "NotoSansTC";
    font-weight: normal;
    font-style: normal;
    src: url("fonts/NotoSansTC-Regular.woff");
    font-display: swap;
}

@font-face {
    font-family: "NotoSansTC-Bold";
    font-weight: bold;
    font-style: normal;
    src: url("fonts/NotoSansTC-Bold.woff");
    font-display: auto;
}

@font-face {
    font-family: "NotoSansTC-Medium";
    font-style: normal;
    src: url("fonts/NotoSansTC-Medium.woff");
    font-display: auto;
}

@font-face {
    font-family: "OpenSans";
    font-weight: normal;
    font-style: normal;
    src: url("fonts/OpenSans-Regular.ttf");
    font-display: auto;
}

@font-face {
    font-family: "OpenSans-bold";
    font-weight: bold;
    font-style: normal;
    src: url("fonts/OpenSans-Bold.ttf");
    font-display: auto;
}
/*------------------------------------*\
  #Generic
\*------------------------------------*/
*,
*:before,
*:after {
    box-sizing: inherit;
}

html {
    height: 100%;
    box-sizing: border-box;
}

body {
    position: relative;
    height: 100%;
    font-family: "OpenSans", "NotoSansTC", sans-serif, "微軟正黑體";
    color: #595757;
    font-size: 13px;
    line-height: normal;
    letter-spacing: normal;
}

    body.searchOpen .headerSearchArea .headerIconSearch img {
        display: none;
    }

    body.searchOpen .headerSearchArea .headerIconSearch .headerIconActive {
        display: block;
    }

    body.searchOpen .headerSearchArea .searchArea {
        display: block;
    }

    body.memberOpen .headerLoginArea .loginArea {
        display: block;
    }

input[type="text"],
input[type="tel"],
input[type="date"],
input[type="email"],
input[type="password"],
input[type="submit"],
input[type="button"],
textarea {
    font-family: "OpenSans", "NotoSansTC", sans-serif, "微軟正黑體";
    font-size: 13px;
    color: #595757;
    border: 1px solid #acabab;
    width: 100%;
    padding: 3px 8px;
    line-height: 27px;
}

    input[type="text"]:-ms-input-placeholder,
    input[type="tel"]:-ms-input-placeholder,
    input[type="date"]:-ms-input-placeholder,
    input[type="email"]:-ms-input-placeholder,
    input[type="password"]:-ms-input-placeholder,
    input[type="submit"]:-ms-input-placeholder,
    input[type="button"]:-ms-input-placeholder,
    textarea:-ms-input-placeholder {
        color: #595757;
    }

    input[type="text"]::placeholder,
    input[type="tel"]::placeholder,
    input[type="date"]::placeholder,
    input[type="email"]::placeholder,
    input[type="password"]::placeholder,
    input[type="submit"]::placeholder,
    input[type="button"]::placeholder,
    textarea::placeholder {
        color: #595757;
    }

input[type="checkbox"] {
    vertical-align: middle;
}

input:focus {
    outline: none;
}

button {
    border: 0;
    outline: none;
    font-family: "OpenSans", "NotoSansTC", sans-serif, "微軟正黑體";
    font-size: 13px;
    color: #595757;
}

select::-ms-expand {
    display: none;
}

ul,
ol {
    list-style: none;
    padding: 0;
    margin: 0;
}

a {
    text-decoration: none;
    color: #595757;
    outline: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
div,
ul,
li,
header,
footer,
nav,
aside,
section,
article,
image,
input,
select,
textarea {
    box-sizing: border-box;
}

textarea {
    resize: none;
}

img {
    vertical-align: middle;
    max-width: 100%;
    outline: none;
}

.d-flex {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
}

    .d-flex.spaceBetween {
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .d-flex.flexWrap {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

.wrap {
    position: relative;
    max-width: 1440px;
    width: 100%;
    margin: 0 auto;
    padding: 20px;
}

    .wrap.wrapFlex {
        display: -ms-flexbox;
        display: flex;
    }

    .wrap.mediumWrap {
        max-width: 1240px;
    }

    .wrap.smallWrap {
        max-width: 1040px;
    }

.contentWrap {
    padding-top: 120px;
    min-height: calc(100vh - 46px);
}

.pageCover {
    background: #333;
    opacity: .4;
    width: 100vw;
    height: 100vh;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
}

.error {
    color: #c7351d;
    display: block;
    margin-top: 5px;
}

.noData {
    width: 100%;
    margin: 10px auto;
    text-align: center;
    padding: 100px;
    font-size: 1.2em;
}

.pagination {
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 30px 0 20px;
}

.pagination_page {
    display: inline-block;
    vertical-align: middle;
    position: relative;
    padding: 8px;
    margin: 0 3px;
    font-size: 12px;
    text-align: center;
    background-color: #fff;
}

    .pagination_page:hover {
        transform: scale(1.2);
    }

    .pagination_page.active {
        border-bottom: 1px solid black;
    }

.pagination_prev,
.pagination_next {
    padding: 10px 12px;
}

    .pagination_prev:hover,
    .pagination_next:hover {
        transform: scale(1.2);
    }

.selectWrap {
    position: relative;
    width: 100%;
    border: solid 1px #acabab;
}

    .selectWrap:after {
        content: '';
        display: block;
        position: absolute;
        width: 24px;
        height: 100%;
        background: url(../../images/zh-cht/icons/arrow_down.svg) no-repeat center center/45% auto;
        right: 0;
        top: 0;
        pointer-events: none;
    }

    .selectWrap select {
        display: block;
        width: 100%;
        appearance: none;
        font-family: "OpenSans", "NotoSansTC", sans-serif, "微軟正黑體";
        outline: none;
        padding: 3px 28px 3px 8px;
        line-height: 27px;
        background: #fff;
        border: none;
        color: #595757;
    }

.pdImg {
    display: block;
    position: relative;
    margin-bottom: 7px;
}

    .pdImg img {
        width: 100%;
        aspect-ratio: 2/3;
    }

        .pdImg img:last-of-type {
            position: absolute;
            width: 100%;
            opacity: 0;
            top: 0;
            right: 0;
            transition: all .5s;
        }

    .pdImg:hover img:last-of-type {
        opacity: 1;
        transition: all .5s;
    }

    .pdImg.soldout::before {
        content: "SOLD OUT";
        width: 100%;
        height: 100%;
        color: #fff;
        background: #9b9b9b;
        position: absolute;
        bottom: 0;
        left: 0;
        font-weight: bold;
        font-size: 1.5rem;
        letter-spacing: 2px;
        opacity: 0.7;
        z-index: 2;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

.btn-addtowish img {
    width: 20px;
}

.btn-addtowish .unadd {
    display: inline-block;
}

.btn-addtowish .added {
    display: none;
}

.btn-addtowish.active .unadd {
    display: none;
}

.btn-addtowish.active .added {
    display: inline-block;
}

.pdInfoBox {
    padding: 5px 0;
}

.pdName {
    margin-bottom: 5px;
    font-size: 13px;
}

    .pdName a:hover {
        border-bottom: 1px solid black;
    }

.pdPriceBox {
    display: -ms-flexbox;
    display: flex;
    font-size: 13px;
    -ms-flex-align: center;
    align-items: center;
}

.pdPriceOrigin {
    text-decoration: line-through;
    margin-right: 10px;
    color: #BEBEBE;
}

.pdPriceSale {
    color: #c7351d;
}

.popup {
    position: relative;
    max-width: 600px;
    font-size: 14px;
    margin: 0 auto;
    padding: 15px;
    background: #fff;
    border-radius: 5px;
}

    .popup .mfp-close {
        right: -15px;
        top: -15px;
        width: 30px;
        height: 30px;
        opacity: 1;
        background-color: white;
        border-radius: 50%;
        line-height: 28px;
        text-align: center;
        border: 2px solid #e2606c;
        color: #e2606c;
    }

    .popup .btn-confirm {
        text-align: center;
        color: white;
        display: block;
        width: calc(100% + 30px);
        margin: 20px -15px -15px;
        padding: 14px 0px;
        background-color: #e2606c;
        border-bottom-right-radius: 5px;
        border-bottom-left-radius: 5px;
    }

.popupTitle {
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid gray;
}

.popupCnt {
    max-height: 85vh;
    overflow-y: auto;
}

.slick-prev, .slick-next {
    width: 25px;
    height: 100%;
}

    .slick-prev:before, .slick-next:before {
        display: none;
    }

.slick-prev {
    left: -20px;
    z-index: 2;
    background: url(../../images/zh-cht/icons/arrow_prev.svg) no-repeat center center/10px auto, transparent;
}

.slick-next {
    right: -20px;
    background: url(../../images/zh-cht/icons/arrow_next.svg) no-repeat center center/10px auto, transparent;
}

.slick-dots {
    bottom: -25px;
}

    .slick-dots li {
        margin: 0;
    }

        .slick-dots li.slick-active button:before {
            background: black;
            opacity: 1;
        }

        .slick-dots li button:before {
            content: "";
            top: 6px;
            left: 6px;
            opacity: 1;
            background: white;
            border-radius: 50%;
            width: 8px;
            height: 8px;
            border: 1px solid black;
        }

.breadcrumb {
    padding: 10px;
    margin-bottom: 20px;
}

    .breadcrumb li {
        position: relative;
        display: inline-block;
    }

        .breadcrumb li:after {
            display: inline-block;
            content: "/";
            width: 10px;
            height: 15px;
            text-align: center;
            color: #999;
        }

        .breadcrumb li:last-child:after {
            display: none;
            content: "";
        }

    .breadcrumb a {
        font-size: 13px;
        color: #595757;
        font-family: "NotoSansTC-Medium","OpenSans", sans-serif, "微軟正黑體";
    }

    .breadcrumb h1 {
        font-weight: normal;
        font-size: 13px;
    }

.btnWrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

    .btnWrap .btn-primary, .btnWrap .btn-secondary, .btnWrap .btn-black, .btnWrap .btn-wheat {
        width: 48%;
    }

.btn-primary, .btn-secondary, .btn-black, .btn-wheat {
    display: block;
    padding: 8px;
    text-align: center;
}

.btn-black {
    background: black;
    border: 1px solid black;
    color: white;
}

.btn-primary {
    border: 1px solid #595757;
    background: #595757;
    color: white;
}

    .btn-primary:hover {
        background: #323232;
    }

.btn-secondary {
    border: 1px solid #acabab;
    color: black;
}

    .btn-secondary:hover {
        background: #eae4d6;
    }

.btn-wheat {
    background-color: #eae4d6;
    color: black;
    border: 1px solid #eae4d6;
}

    .btn-wheat:hover {
        background-color: wheat;
        border: 1px solid wheat;
    }

.checkboxWrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer;
}

.tabTitle {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly;
}

    .tabTitle li {
        color: #888;
        padding: 5px 10px;
        cursor: pointer;
    }

        .tabTitle li.active {
            color: #333;
            font-weight: 500;
        }

.tabCnt {
    display: none;
}

    .tabCnt.active {
        display: block;
    }

.noData {
    margin: 10px auto;
    text-align: center;
    padding: 100px;
    font-size: 1.2em;
}

@media (max-width: 769px) {
    .contentWrap {
        padding-top: 44px;
        min-height: calc(100vh - 72px);
    }

    body {
        overflow-x: hidden;
    }

        body.menuOpen .pageCover, body.searchOpen .pageCover, body.memberOpen .pageCover {
            display: block;
            position: fixed;
            z-index: 9;
            top: 0;
            left: 0;
        }

        body.menuOpen .offcanvas {
            display: block;
        }

    .wrap {
        padding: 10px 0;
    }

    .breadcrumb {
        margin-bottom: 0px;
    }
}
/*------------------------------------*\
#header
\*------------------------------------*/
header {
    width: 100vw;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    background-color: white;
    height: 120px;
}

.header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 10px;
}

.forMobile {
    display: none;
}

.menu ul .submenu li .submenu {
    padding: 5px 10px;
}

    .menu ul .submenu li .submenu li {
        border-style: solid;
        border-width: 1px 0;
        border-color: transparent;
    }

.menu ul a {
    display: block;
    padding: 10px 20px;
    line-height: 16px;
}

.mainMenu {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
}

    .mainMenu > li {
        position: relative;
        padding: 0 5px;
        min-width: 100px;
        cursor: pointer;
    }

        .mainMenu > li > a {
            padding: 12px 10px;
            letter-spacing: 1px;
            display: inline-block;
        }

        .mainMenu > li a {
            position: relative;
            font-family: "NotoSansTC-Medium", sans-serif, "微軟正黑體";
        }

            .mainMenu > li a:hover {
                color: #e89aa3;
            }

        .mainMenu > li:hover .submenu {
            opacity: 1;
            visibility: visible;
            transition: opacity ease-in-out .3s;
        }

    .mainMenu .submenu {
        position: absolute;
        width: max-content;
        top: 100%;
        left: 0;
        z-index: 2;
        background: transparent;
        opacity: 0;
        visibility: hidden;
        transition: opacity ease-in-out .5s;
        background-color: white;
        box-shadow: 8px 8px 8px 0 rgba(0, 0, 0, 0.03), -2px 8px 8px 0 rgba(0, 0, 0, 0.03);
    }

        .mainMenu .submenu ul {
            display: -ms-flexbox;
            display: flex;
            -ms-flex-direction: column;
            flex-direction: column;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            max-height: 252px;
        }

        .mainMenu .submenu li {
            position: relative;
        }

            .mainMenu .submenu li .submenu {
                left: 100%;
                top: 0;
                position: absolute;
                opacity: 0;
                visibility: hidden;
                transition: opacity ease-in-out .3s;
            }

                .mainMenu .submenu li .submenu li {
                    min-width: 90px;
                }

            .mainMenu .submenu li:hover .submenu {
                opacity: 1;
                visibility: visible;
                transition: opacity ease-in-out .3s;
            }

.logo {
    width: 300px;
}

    .logo img {
        width: 100%;
    }

.headerIconArea {
    padding: 0 10px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: end;
    justify-content: flex-end;
    position: absolute;
    right: 0;
}

.headerIcon {
    display: inline-block;
    padding: 0 10px;
    width: 38px;
    height: 23px;
    cursor: pointer;
}

    .headerIcon img {
        width: 100%;
        height: 23px;
    }

    .headerIcon:hover {
        opacity: 0.6;
    }

.headerIconCart {
    position: relative;
    width: 55px;
    padding: 0 30px 0 5px;
}

    .headerIconCart span {
        width: 15px;
        height: 15px;
        line-height: 14px;
        position: absolute;
        display: inline-block;
        color: white;
        background-color: black;
        border-radius: 50%;
        text-align: center;
        top: 4px;
        right: 13px;
        font-size: 10px;
    }

.headerIconTextLink {
    padding: 0 20px 0 5px;
}

.headerSearchArea {
    position: relative;
    height: 23px;
}

    .headerSearchArea .headerIconActive {
        display: none;
        padding: 4px 0;
    }

.searchArea {
    display: none;
    position: absolute;
    width: 200px;
    left: -28px;
    top: 30px;
    padding: 10px 5px;
    background-color: #eae4d6;
}

.searchInputBox {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    border-color: #9f9f9f;
    border-style: solid;
    border-width: 0 0 1px 0;
}

    .searchInputBox input {
        background: transparent;
        outline: none;
        border: none;
        padding: 5px 10px;
        border-radius: 0;
    }

        .searchInputBox input :-ms-input-placeholder {
            color: #9f9f9f;
        }

        .searchInputBox input ::placeholder {
            color: #9f9f9f;
        }

.searchTagBox {
    margin-top: 5px;
}

    .searchTagBox a {
        display: block;
        padding: 5px 10px;
    }

        .searchTagBox a:hover {
            font-weight: bold;
        }

.headerLoginArea {
    position: relative;
}

.loginArea {
    display: none;
    position: absolute;
    width: 200px;
    left: -100px;
    top: 0;
    margin-top: 23px;
    padding-top: 5px;
    background-color: transparent;
}

    .loginArea .loginAreaBox {
        background-color: #eae4d6;
        padding: 10px 15px 10px;
    }

    .loginArea a {
        padding: 10px;
        display: block;
        text-align: center;
        border-bottom: 1px solid #bfbfbf;
    }

        .loginArea a:hover {
            font-weight: bold;
        }

    .loginArea .btn-black {
        margin-top: 10px;
        border-radius: 30px;
        border-bottom: none;
    }

        .loginArea .btn-black:hover {
            font-weight: bold;
        }

@media (max-width: 769px) {
    header {
        height: 44px;
    }

    .header {
        padding: 10px 5px;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-align: center;
        align-items: center;
    }

    .forDesk {
        display: none;
    }

    .forMobile {
        display: block;
    }

    .logo {
        width: 130px;
    }

    .headerIconArea, .headerMenu {
        position: static;
        width: calc((100% - 100px)/2);
        padding: 0;
    }

    .headerIconCart {
        width: 50px;
        padding: 0 25px 0 4px;
    }

        .headerIconCart span {
            right: 10px;
        }

    .headerSearchArea {
        position: absolute;
        top: 11px;
        left: 38px;
    }

        .headerSearchArea .headerIconActive {
            padding: 3px 0 5px;
        }

    .headerLoginArea {
        line-height: 0;
    }

    .loginArea a {
        line-height: normal;
    }

    .loginArea, .searchArea {
        width: 100vw;
        position: fixed;
        top: 44px;
        left: 0;
    }
}
/*------------------------------------*\
  #offcanvas
\*------------------------------------*/
.offcanvas {
    display: none;
    position: fixed;
    z-index: 12;
    top: 44px;
    left: 0;
    height: calc(100vh - 44px);
    background: white;
    overflow: auto;
}

    .offcanvas .menu {
        width: 80vw;
        height: 100%;
    }

.phoneMenu li {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

    .phoneMenu li a {
        display: block;
    }

    .phoneMenu li .submenuTitle {
        position: relative;
    }

        .phoneMenu li .submenuTitle::after {
            content: '+';
            display: block;
            line-height: 16px;
            text-align: center;
            width: 40px;
        }

    .phoneMenu li.active > .submenu {
        display: block;
    }

    .phoneMenu li.active > .submenuTitle::after {
        content: '-';
    }

.phoneMenu .submenu {
    display: none;
    background: #eee;
    width: 100%;
}

    .phoneMenu .submenu a {
        padding: 10px 15px 10px 40px;
    }

    .phoneMenu .submenu li.active .submenu {
        display: block;
        background: #dedede;
    }

/*------------------------------------*\
  #gotop
\*------------------------------------*/
/*------------------------------------*\
  #footer
\*------------------------------------*/
footer {
    border-top: 1px solid #000;
    font-weight: normal;
    color: #000;
    letter-spacing: 1px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 70px 10px;
}

    footer a {
        color: #000;
    }

    footer .left,
    footer .right {
        width: 50%;
        max-width: 737.5px;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    footer .left {
        padding-left: 25px;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

        footer .left .company {
            width: 100%;
            font-size: 12px;
            margin-bottom: 10px;
        }

            footer .left .company span {
                display: inline-block;
                margin-right: 10px;
            }

        footer .left .copyright {
            width: 100%;
            font-size: 11px;
            font-weight: 100;
        }

    footer .right {
        padding-right: 25px;
    }

        footer .right .service {
            font-size: 14px;
            font-weight: bold;
            margin-bottom: 10px;
        }

        footer .right .time {
            font-size: 11px;
            font-weight: 100;
            margin-bottom: 5px;
        }

.footer_link {
    margin-bottom: 70px;
}

    .footer_link li {
        display: inline-block;
        padding: 2px 25px;
        border-right: 1px solid;
    }

        .footer_link li a {
            font-size: 16px;
        }

        .footer_link li:first-child {
            padding-left: 0;
        }

        .footer_link li:last-child {
            padding-right: 0;
            border-right: none;
        }

.footer_social {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    width: 250px;
    margin: 0 auto 15px auto;
}

    .footer_social a {
        max-width: 40px;
    }

.gotop {
    display: none;
    position: fixed;
    z-index: 3;
    bottom: 110px;
    right: 15px;
    width: 35px;
    padding: 4px;
    background-color: white;
    border-radius: 50%;
    cursor: pointer;
}

@media (max-width: 1199px) {
    footer {
        padding: 40px 10px;
    }

        footer .left {
            width: 100%;
            text-align: center;
            -ms-flex-pack: center;
            justify-content: center;
            padding-left: 0;
        }

        footer .right {
            padding-right: 0;
            width: 100%;
            -ms-flex-direction: column;
            flex-direction: column;
            -ms-flex-align: center;
            align-items: center;
            text-align: center;
        }

            footer .right > div:nth-child(1) {
                -ms-flex-order: 2;
                order: 2;
            }

            footer .right > div:nth-child(2) {
                -ms-flex-order: 1;
                order: 1;
            }

    .footer_link {
        margin-bottom: 40px;
    }

        .footer_link li {
            padding: 2px 8px;
        }

            .footer_link li a {
                font-size: 12px;
            }

    .footer_social {
        width: 200px;
        margin: 40px auto 15px auto;
    }
}
/*------------------------------------*\
  #default
\*------------------------------------*/
.home-wrap {
    max-width: 1240px;
    padding: 0 20px;
    width: 100%;
    margin: 0 auto;
}

.homeSlide .slick-dots li button:before, .pdcnt_img_group_main .slick-dots li button:before {
    background: transparent;
    border: 1px solid white;
}

.homeSlide .slick-dots li.slick-active button:before, .pdcnt_img_group_main .slick-dots li.slick-active button:before {
    background: white;
}

.homeSlide.slick-dotted.slick-slider {
    margin-bottom: 40px;
}

.homeSlide .slick-dots {
    bottom: 30px;
}

.homeSlide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fourBanners {
    margin: 0 auto 40px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 20px;
}

    .fourBanners .item {
        width: calc(50% - 10px);
    }

        .fourBanners .item:hover {
            opacity: 0.6;
        }

        .fourBanners .item img {
            width: 100%;
        }

.singleBanner {
    margin: 0 auto 40px;
}

    .singleBanner a:hover {
        opacity: 0.6;
    }

    .singleBanner img {
        width: 100%;
    }

.newIn, .recommend {
    margin-bottom: 40px;
}

    .newIn .section-title, .recommend .section-title {
        text-align: center;
        font-size: 1.2rem;
        padding: 15px;
    }

.productSlide .pdbox {
    padding: 10px;
}

.startPopup {
    position: relative;
    margin: 0 auto;
    text-align: center;
    display: table;
    max-width: 500px;
}

    .startPopup a {
        display: inline-block;
    }

    .startPopup img {
        width: 100%;
    }

    .startPopup .mfp-close {
        width: 48px;
        height: 48px;
        opacity: 1;
    }

@media (max-width: 769px) {
    .home-wrap {
        padding: 0;
    }

    .homeSlide.slick-dotted.slick-slider {
        margin-bottom: 0px;
    }

    .fourBanners {
        margin: 0 auto 0px;
        gap: 0;
    }

        .fourBanners .item {
            width: 100%;
        }

    .singleBanner {
        margin: 0 auto 0px;
    }

    .newIn, .recommend {
        padding: 10px 20px;
    }
}
/*------------------------------------*\
  #productlist
\*------------------------------------*/
.productlistWrap {
    overflow-x: hidden;
    width: calc(100% - 230px);
    padding: 0 18% 0 4%;
}

.productlistAside {
    width: 230px;
    line-height: 28px;
    margin-bottom: 20px;
    padding: 10px;
}

    .productlistAside a {
        color: black;
        display: block;
        line-height: 30px;
    }

        .productlistAside a:hover {
            color: #e2606c;
        }

    .productlistAside .section-title {
        font-weight: bold;
        font-size: 14px;
        color: black;
        margin-top: 20px;
        cursor: pointer;
    }

        .productlistAside .section-title::after {
            content: '';
            display: inline-block;
            width: 10px;
            height: 10px;
            margin-left: 10px;
            position: relative;
            transform: rotate(90deg);
            background-color: transparent;
            background-image: url(../../images/zh-cht/icons/menu-plus.svg);
            background-repeat: no-repeat;
            background-size: contain;
            transition: transform .35s ease;
        }

        .productlistAside .section-title.active::after {
            transform: rotate(0);
            background-image: url(../../images/zh-cht/icons/menu-minus.svg);
        }

        .productlistAside .section-title:first-of-type {
            margin-top: initial;
        }

        .productlistAside .section-title:hover {
            opacity: 0.6;
        }

    .productlistAside .section-body {
        display: none;
        margin: 12px 0 32px;
    }

        .productlistAside .section-body.active {
            display: block;
        }

        .productlistAside .section-body .pp3 a {
            padding-left: 10px;
            color: #595757;
        }

            .productlistAside .section-body .pp3 a:hover {
                color: #e2606c;
            }

.productlistContainer {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

    .productlistContainer .pdbox {
        width: 33.33%;
        padding: 10px;
        margin-bottom: 40px;
    }

.pdFilter {
    width: 50%;
    max-width: 300px;
    margin-left: auto;
    margin-bottom: 20px;
}

    .pdFilter .inner {
        height: 35px;
        border: 1px solid #595757;
        background: #ffffff;
        position: relative;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: center;
        justify-content: center;
        border-radius: 5px;
    }

    .pdFilter .list {
        width: 100%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

        .pdFilter .list li {
            width: 50%;
            border-right: 1px solid #595757;
            text-align: center;
            display: block;
            position: relative;
            cursor: pointer;
        }

            .pdFilter .list li a {
                display: block;
                color: #595757;
                padding: 3px 0;
            }

            .pdFilter .list li:after {
                content: '';
                width: 15px;
                height: 100%;
                position: absolute;
                pointer-events: none;
                top: 1px;
                right: 30px;
                bottom: 0;
                background: url(../../images/zh-cht/icons/more.svg) no-repeat center center/12px auto;
            }

            .pdFilter .list li:last-child {
                border-right: 0;
            }

            .pdFilter .list li:hover a {
                text-decoration: underline;
            }

    .pdFilter .sort {
        display: none;
        position: absolute;
        width: 50%;
        right: 0;
        top: 34px;
        z-index: 2;
        border: 1px solid #595757;
        border-top: 0;
        background: #ffffff;
        border-bottom-right-radius: 5px;
        border-bottom-left-radius: 5px;
        z-index: 12;
    }

        .pdFilter .sort a {
            text-align: center;
            display: block;
            padding: 5px 0;
        }

            .pdFilter .sort a:hover {
                color: #ffffff;
                background: #e2606c;
                text-decoration: none;
            }

.sizePopup {
    max-width: 500px;
}

    .sizePopup .popupCnt {
        height: 95px;
        overflow-y: auto;
    }

    .sizePopup .sizelist {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding-top: 15px;
    }

        .sizePopup .sizelist li {
            width: 25%;
            margin-bottom: 20px;
        }

            .sizePopup .sizelist li input {
                display: none;
            }

            .sizePopup .sizelist li label {
                cursor: pointer;
                height: 20px;
                position: relative;
                display: block;
            }

                .sizePopup .sizelist li label::before {
                    content: '✓';
                    font-size: 9px;
                    color: transparent;
                    display: inline-block;
                    width: 18px;
                    height: 18px;
                    border: 2px solid gray;
                    border-radius: 50%;
                    position: relative;
                    top: -2px;
                    text-align: center;
                    margin: 0 8px 0 0;
                }

            .sizePopup .sizelist li input[type="checkbox"]:checked + label::before {
                background-color: #e2606c;
                border-color: #e2606c;
                color: white;
            }

@media (max-width: 769px) {
    .productlistWrap {
        padding: 0;
        width: 100%;
    }

    .productlistAside {
        display: none;
    }

    .productlistContainer .pdbox {
        width: 50%;
        padding: 0;
        margin-bottom: 15px;
    }

        .productlistContainer .pdbox:nth-child(odd) {
            padding-right: 5px;
        }

        .productlistContainer .pdbox:nth-child(even) {
            padding-left: 5px;
        }

    .productlistContainer .pdInfoBox {
        padding: 5px 10px;
    }

    .productlistContainer .pdName {
        margin-bottom: 5px;
    }

    .pdFilter {
        width: 100%;
        max-width: initial;
        margin: 0;
        padding: 12px 8px;
    }
}
/*------------------------------------*\
  #product
\*------------------------------------*/
.productWrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center;
}

.productDetail {
    width: 50%;
    padding: 0 5%;
}

.productImgSlider {
    width: 50%;
}

.pdcnt_img_group {
    display: none;
}

    .pdcnt_img_group.active {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
        -ms-flex-align: start;
        align-items: flex-start;
        gap: 20px;
    }

    .pdcnt_img_group img {
        aspect-ratio: 2/3;
    }

.pdcnt_img_group_main {
    width: calc( 100% - 18%);
}

.pdcnt_img_group_thumb {
    width: 18%;
}

    .pdcnt_img_group_thumb img {
        cursor: pointer;
        margin-bottom: 8px;
        aspect-ratio: 2/3;
    }

    .pdcnt_img_group_thumb .slick-prev, .pdcnt_img_group_thumb .slick-next {
        width: 100%;
        left: 0;
        height: 20px;
        background-size: 14px;
        background-color: white;
    }

    .pdcnt_img_group_thumb .slick-prev {
        top: -8px;
        background-image: url("../../images/zh-cht/icons/arrow_up.png");
    }

    .pdcnt_img_group_thumb .slick-next {
        top: 100%;
        background-image: url("../../images/zh-cht/icons/arrow_down.png");
    }

.ootdPopup img {
    padding: 0 2.5px;
}

.ootdPopup .slick-next, .ootdPopup .slick-prev {
    height: 100%;
    opacity: 0.7;
    z-index: 3;
    width: 25px;
}

.productTitleWrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: self-start;
    align-items: self-start;
}

.productTitle {
    font-size: 18px;
    margin-bottom: 15px;
    font-family: "NotoSansTC-Medium","OpenSans", sans-serif, "微軟正黑體";
}

.productId {
    color: #828282;
    margin-bottom: 15px;
}

.pdPrice {
    margin-bottom: 30px;
}

.productDetail .pdPriceSale {
    font-size: 19px;
    font-weight: bold;
    margin-right: 15px;
}

.productDetail .pdPriceOrigin {
    font-size: 14px;
}

.productPromotion a {
    display: inline-block;
    color: #c7351d;
    border: 1px solid #c7351d;
    padding: 2px 4px;
    margin-bottom: 10px;
    letter-spacing: 0.3px;
}

    .productPromotion a:hover {
        background-color: #c7351d;
        color: white;
    }

.productColor li, .productSize li {
    display: inline-block;
    width: 49px;
    height: 49px;
    padding: 6px;
    border: solid 1px transparent;
}

    .productColor li:hover, .productColor li.active, .productSize li:hover, .productSize li.active {
        border: solid 1px #acabab;
        cursor: pointer;
    }

    .productColor li a, .productSize li a {
        display: block;
    }

    .productColor li.soldout a, .productSize li.soldout a {
        color: #BEBEBE;
        cursor: default;
    }

    .productColor li.soldout:hover, .productColor li.soldout.active, .productSize li.soldout:hover, .productSize li.soldout.active {
        border: solid 1px transparent;
        cursor: default;
    }

.productColor {
    margin-bottom: 30px;
}

    .productColor ul {
        margin-bottom: 10px;
    }

    .productColor li {
        margin: 0 6px 0 0;
    }

        .productColor li img {
            width: 100%;
        }

.productColorName {
    font-size: 14px;
}

.productSize {
    margin-bottom: 15px;
}

    .productSize .sizeWrap {
        display: none;
        position: relative;
    }

        .productSize .sizeWrap.active {
            display: block;
        }

    .productSize li {
        margin: 0 6px 6px 0;
    }

        .productSize li a {
            font-size: 13px;
            text-align: center;
            line-height: 37px;
        }

.productNumber {
    width: 100%;
    margin-bottom: 10px;
}

    .productNumber .pd_number {
        border: 1px solid #acabab;
    }

        .productNumber .pd_number.disableDown .bootstrap-touchspin-down, .productNumber .pd_number.disableUp .bootstrap-touchspin-up {
            color: white;
            pointer-events: none;
        }

        .productNumber .pd_number .bootstrap-touchspin {
            position: relative;
            width: 100%;
            height: 45px;
        }

        .productNumber .pd_number .bootstrap-touchspin-down, .productNumber .pd_number .bootstrap-touchspin-up {
            width: 36px;
            height: 45px;
            position: absolute;
            top: 0;
            font-size: 18px;
            background: #fff;
            cursor: pointer;
            color: #595757;
        }

        .productNumber .pd_number .bootstrap-touchspin-down {
            left: 0;
        }

        .productNumber .pd_number .bootstrap-touchspin-up {
            right: 0;
        }

        .productNumber .pd_number input[type="text"] {
            width: 100%;
            height: 100%;
            padding: 0 36px;
            text-align: center;
            border: none;
        }

.productBtnWrap {
    margin: 10px 0;
}

    .productBtnWrap a {
        margin-bottom: 10px;
        line-height: 28px;
        font-size: 13px;
    }

    .productBtnWrap .btn-pdarrived, .productBtnWrap .btn-pdsoldout, .productBtnWrap .btn-notify {
        display: none;
    }

    .productBtnWrap .btn-pdsoldout {
        pointer-events: none;
        border: 1px solid #BEBEBE;
        background: #BEBEBE;
    }

    .productBtnWrap.empty .btn-pdsoldout {
        display: block;
    }

    .productBtnWrap.empty .btn-cart, .productBtnWrap.empty .btn-pdarrived {
        display: none;
    }

    .productBtnWrap.empty.notify .btn-notify {
        display: block;
    }

.productInfoTab {
    margin-top: 40px;
    border-bottom: 1px solid #acabab;
}

    .productInfoTab > li {
        padding: 0 15px;
        border-top: 1px solid #acabab;
    }

        .productInfoTab > li:nth-of-type(-n+3) .js-pdInfoTabCnt {
            display: none;
        }

    .productInfoTab .pdInfoTabNav {
        display: block;
        position: relative;
        padding: 15px 0 15px 20px;
        color: black;
    }

        .productInfoTab .pdInfoTabNav:before {
            display: inline-block;
            content: "＋";
            width: 8px;
            height: 8px;
            position: absolute;
            top: 15px;
            left: 0;
        }

        .productInfoTab .pdInfoTabNav.active:before {
            content: "ー";
        }

        .productInfoTab .pdInfoTabNav img {
            width: 100%;
        }

    .productInfoTab .pdInfoTabCnt {
        display: none;
        padding: 0 13px 15px;
        line-height: 1.8em;
        letter-spacing: 0.08em;
        color: #585858;
    }

.ootdPopup a {
    width: initial;
}

.ootdPopup .slick-prev {
    left: -20px;
    background-color: #fff;
}

.ootdPopup .slick-next {
    right: -22px;
    background-color: #fff;
}

.ootdPopup .slick-disabled {
    opacity: 0;
}

.ootdPopupItem {
    padding: 0 3px;
}

.mfp-ootdPopup {
    background-color: white;
}

    .mfp-ootdPopup .mfp-container {
        background-color: white;
    }

    .mfp-ootdPopup .mfp-close {
        position: fixed;
        color: transparent;
        right: 15px;
        top: 15px;
        cursor: pointer;
        width: 45px;
        background: url(../../images/zh-cht/icons/closeoffcanvas.svg) no-repeat center center/100%;
    }

    .mfp-ootdPopup .mfp-figure figure {
        position: relative;
    }

    .mfp-ootdPopup .mfp-arrow-left {
        background: url(../../images/zh-cht/icons/arrow_prev.png) no-repeat center center/35%;
    }

        .mfp-ootdPopup .mfp-arrow-right:after, .mfp-ootdPopup .mfp-arrow-right:before, .mfp-ootdPopup .mfp-arrow-left:after, .mfp-ootdPopup .mfp-arrow-left:before {
            content: none;
        }

    .mfp-ootdPopup .mfp-arrow-right {
        background: url(../../images/zh-cht/icons/arrow_next.png) no-repeat center center/35%;
    }

.productHtmlArea {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
    padding: 40px 20px;
}

    .productHtmlArea img {
        display: block;
        width: 400px;
        margin-bottom: 15px;
    }

.messagePopup {
    max-width: 450px;
}

    .messagePopup .popupFlex {
        padding: 20px 0;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
    }

    .messagePopup .messageBtn {
        width: 80px;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        font-size: 12px;
        height: 35px;
    }

.subProductArea {
    margin-top: 15px;
}

.subPd {
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 20px;
    -ms-flex-align: center;
    align-items: center;
}

    .subPd .subPdImg {
        -ms-flex-negative: 0;
        flex-shrink: 0;
        width: 100px;
    }

        .subPd .subPdImg img {
            aspect-ratio: 3/4;
            object-fit: cover;
        }

    .subPd .subPdInfo {
        width: calc( 100% - 100px);
        padding-left: 20px;
    }

.subPdTitle, .subPdColor, .subPdSize {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    padding: 5px 0;
}

    .subPdTitle p, .subPdColor p, .subPdSize p {
        -ms-flex-negative: 0;
        flex-shrink: 0;
    }

    .subPdTitle .selectWrap, .subPdColor .selectWrap, .subPdSize .selectWrap {
        width: 100%;
    }

        .subPdTitle .selectWrap select, .subPdColor .selectWrap select, .subPdSize .selectWrap select {
            line-height: 20px;
        }

@media (max-width: 769px) {
    .productImgSlider, .productDetail {
        width: 100%;
    }

    .productDetail {
        padding: 0 15px;
    }

    .pdcnt_img_group_main {
        width: 100%;
    }

        .pdcnt_img_group_main .slick-dots {
            bottom: 15px;
        }

    .pdcnt_img_group_thumb {
        display: none;
    }

    .mfp-ootdPopup .mfp-close {
        right: 5px;
        top: 5px;
        background: url(../../images/zh-cht/icons/closeoffcanvas.svg) no-repeat center center/80%;
    }

    .productHtmlArea {
        padding: 30px 0;
    }

        .productHtmlArea img {
            width: 100%;
        }

    .subPd .subPdInfo {
        padding-left: 10px;
    }

    .subPdTitle {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 5px 10px;
    }
}
/*------------------------------------*\
  #cart
\*------------------------------------*/
.helloMember {
    padding: 12px;
    text-align: center;
    font-size: 17px;
    background-color: #eae4d6;
    font-family: "NotoSansTC-Medium";
}

.buyingStep {
    padding: 30px 0;
}

    .buyingStep ul {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: center;
        align-items: center;
        color: #eae4d6;
        font-family: "NotoSansTC-Medium";
    }

    .buyingStep li {
        position: relative;
        padding-right: 80px;
    }

        .buyingStep li.active {
            color: #595757;
        }

            .buyingStep li.active .stepCircle {
                background-color: #595757;
            }

        .buyingStep li::after {
            content: '';
            display: block;
            width: 60px;
            border-bottom: 1px solid #eae4d6;
            position: absolute;
            right: 10px;
            top: 15px;
        }

        .buyingStep li:last-of-type {
            padding-right: 0;
        }

            .buyingStep li:last-of-type::after {
                content: none;
            }

    .buyingStep .stepCircle {
        width: 30px;
        height: 30px;
        margin: 0 auto 5px;
        line-height: 30px;
        text-align: center;
        font-size: 18px;
        border-radius: 50%;
        background-color: #eae4d6;
        color: white;
        font-family: "OpenSans";
    }

.shopListWrap {
    border: 2px solid #eae4d6;
    border-bottom: none;
}

    .shopListWrap.forShoppingCheck .shopItem .shopItemPrice, .shopListWrap.forShoppingCheck .shopItem .shopItemCount, .shopListWrap.forShoppingCheck .shopItem .shopItemSum, .shopListWrap.forShoppingCheck .shopItem .shopItemQty {
        width: 12%;
        padding: 10px 5px;
    }

    .shopListWrap.forShoppingCheck .shopItem .shopItemColor, .shopListWrap.forShoppingCheck .shopItem .shopItemSize {
        width: 10%;
    }

    .shopListWrap.forShoppingCheck .shopItem .shopItemName {
        width: 32%;
    }

    .shopListWrap.forWishList .shopItemImg {
        width: 14%;
    }

    .shopListWrap.forWishList .pdMask {
        width: calc(100% - 10px);
        height: calc(100% - 10px);
        top: 5px;
        left: 5px;
    }

    .shopListWrap.forWishList .shopItemIfon {
        width: 86%;
    }

        .shopListWrap.forWishList .shopItemIfon .shopItemName {
            display: block;
            text-align: center;
        }

    .shopListWrap.forWishList .shopItem .shopItemPrice, .shopListWrap.forWishList .shopItem .shopItemCount {
        width: 11%;
        padding: 10px 5px;
    }

    .shopListWrap.forWishList .shopItem .shopItemAddCart {
        width: 19%;
        padding: 10px 5px;
    }

        .shopListWrap.forWishList .shopItem .shopItemAddCart a {
            display: block;
            width: 120px;
            margin: 0 auto;
            padding: 2px 4px;
            border: 1px solid #595757;
        }

            .shopListWrap.forWishList .shopItem .shopItemAddCart a:hover {
                background-color: #eee;
            }

            .shopListWrap.forWishList .shopItem .shopItemAddCart a.soldout {
                background-color: #eee;
                border: 1px solid #eee;
                pointer-events: none;
            }

    .shopListWrap.forWishList .shopItem .shopItemColor, .shopListWrap.forWishList .shopItem .shopItemSize, .shopListWrap.forWishList .shopItem .shopItemQty, .shopListWrap.forWishList .shopItem .shopItemDel {
        width: 7%;
        padding: 10px 5px;
    }

    .shopListWrap.forWishList .shopItem .shopItemName {
        width: 30%;
    }

.shopItemListTitle {
    font-size: 14px;
    background-color: #f2f2f2;
}

    .shopItemListTitle.shopItem {
        color: #595757;
        border-bottom: none;
        padding: 5px 0;
    }

        .shopItemListTitle.shopItem .shopItemImg, .shopItemListTitle.shopItem .shopItemQty {
            padding: 10px 5px;
        }

.shopItem {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    text-align: center;
    border-bottom: 2px solid #eae4d6;
    color: black;
    font-size: 13px;
}

    .shopItem a {
        display: block;
    }

    .shopItem .shopItemName, .shopItem .shopItemColor, .shopItem .shopItemSize, .shopItem .shopItemPrice, .shopItem .shopItemCount, .shopItem .shopItemSum, .shopItem .shopItemDel {
        padding: 10px 5px;
    }

    .shopItem .shopItemImg, .shopItem .shopItemQty {
        padding: 5px;
    }

    .shopItem .shopItemIfon {
        width: 90%;
        display: -ms-flexbox;
        display: flex;
    }

    .shopItem .shopItemImg {
        width: 10%;
    }

    .shopItem .shopItemPrice, .shopItem .shopItemCount, .shopItem .shopItemSum {
        width: 11%;
    }

    .shopItem .shopItemColor, .shopItem .shopItemSize {
        width: 8%;
    }

    .shopItem .shopItemName {
        width: 25%;
        color: #595757;
        text-align: left;
    }

        .shopItem .shopItemName a {
            color: #000;
        }

    .shopItem .shopItemQty {
        width: 18%;
    }

    .shopItem .shopItemDel {
        width: 8%;
    }

        .shopItem .shopItemDel a {
            display: block;
        }

            .shopItem .shopItemDel a img {
                margin: 0 auto;
                width: 24px;
            }

    .shopItem .shopItemActivity {
        margin-top: 15px;
    }

        .shopItem .shopItemActivity a {
            display: block;
            color: #a88c5a;
            font-family: "NotoSansTC-Medium";
        }

.btn-moreItem {
    width: 100%;
    cursor: pointer;
    padding: 5px 0;
    text-align: center;
    position: relative;
    border-top: 2px solid;
    border-color: #eae4d6;
}

    .btn-moreItem:after {
        content: "";
        display: inline-block;
        border: solid #000;
        border-width: 0px 1px 1px 0;
        padding: 2px;
        transform: rotate(45deg);
        margin-bottom: 3px;
        margin-left: 5px;
    }

    .btn-moreItem.active {
        background-color: #eae4d678;
    }

        .btn-moreItem.active:after {
            transform: rotate(225deg);
            margin-bottom: 1px;
        }

.bundleItemList {
    display: none;
    background-color: #eae4d678;
}

    .bundleItemList .shopItem {
        padding: 0 10px;
    }

    .bundleItemList .shopItemImg img {
        max-height: 80px;
    }

    .bundleItemList.active {
        display: block;
    }

.shopPromotionList {
    padding: 10px;
    border-bottom: 2px solid #eae4d6;
}

    .shopPromotionList .listTitle {
        width: 100%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: 5px;
    }

        .shopPromotionList .listTitle .btn-secondary {
            width: 150px;
            padding: 3px 10px;
            margin-left: 10px;
            -ms-flex-negative: 0;
            flex-shrink: 0;
        }

    .shopPromotionList .promotionItem {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        padding: 5px 0;
        width: 100%;
    }

    .shopPromotionList .promotionTag {
        text-align: center;
        padding: 2px 8px;
        font-size: 13px;
        line-height: 20px;
        font-size: 12px;
        height: 24px;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        margin-right: 15px;
        min-width: 10%;
        background: #eae4d6;
    }

    .shopPromotionList.unqualified .promotionTag {
        background-color: #eee;
    }

    .shopPromotionList.unqualified span {
        color: #c7351d;
    }

    .shopPromotionList.isTablet {
        display: block;
    }

    .shopPromotionList.isMobile {
        display: none;
    }

.touchQty {
    display: inline-block;
    border: 1px solid #acabab;
}

    .touchQty .btnTouchDown, .touchQty .btnTouchUp {
        width: 26px;
        display: inline-block;
        font-size: 14px;
        line-height: 26px;
        text-align: center;
        cursor: pointer;
    }

        .touchQty .btnTouchDown.btnDisable, .touchQty .btnTouchUp.btnDisable {
            color: #acabab;
            background: rgba(225, 225, 225, 0.3);
            pointer-events: none;
        }

    .touchQty .btnTouchDown {
        border-right: 1px solid #acabab;
    }

    .touchQty .btnTouchUp {
        border-left: 1px solid #acabab;
    }

    .touchQty .fieldQty {
        display: inline-block;
        max-width: 190px;
        min-width: 44px;
        font-size: 12px;
        text-align: center;
    }

.shopSumArea {
    color: black;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: end;
    align-items: flex-end;
    font-size: 14px;
}

    .shopSumArea.forShoppingCart {
        padding: 20px;
        margin-top: 20px;
        background-color: #eae4d6;
    }

        .shopSumArea.forShoppingCart .shopSumInfo {
            width: 35%;
        }

        .shopSumArea.forShoppingCart .shopBtnWrap {
            width: 73%;
        }

    .shopSumArea.forShoppingCheck .shopSumItem {
        padding: 0 10px 10px;
    }

    .shopSumArea.forShoppingCheck .shopSumInfo {
        width: 60%;
    }

    .shopSumArea.forShoppingCheck .shopBtnWrap {
        width: 100%;
    }

.shopSumItem {
    letter-spacing: 0.5px;
    text-align: right;
    padding: 10px;
}

.shopSumPriceArea {
    padding: 10px;
}

    .shopSumPriceArea p {
        margin-bottom: 15px;
    }

.shopSumFinialPrice p:last-of-type {
    font-size: 16px;
    font-family: "OpenSans-bold";
}

.shopBtnWrap {
    margin-top: 25px;
    font-size: 14px;
    line-height: 25px;
}

    .shopBtnWrap.btnWrap {
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

    .shopBtnWrap .btn-black {
        margin-left: 2%;
    }

.shopSumNote {
    width: 57%;
    position: absolute;
    top: 13%;
    left: 4%;
}

    .shopSumNote p {
        margin-bottom: 10px;
    }

@media (max-width: 769px) {
    .buyingStep {
        padding: 20px 0;
    }

        .buyingStep li {
            padding-right: 60px;
        }

            .buyingStep li::after {
                width: 40px;
            }

    .shopListWrap {
        border: none;
    }

        .shopListWrap.forShoppingCheck .shopItem .shopItemName, .shopListWrap.forShoppingCheck .shopItem .shopItemColor, .shopListWrap.forShoppingCheck .shopItem .shopItemSize, .shopListWrap.forShoppingCheck .shopItem .shopItemQty, .shopListWrap.forShoppingCheck .shopItem .shopItemPrice, .shopListWrap.forShoppingCheck .shopItem .shopItemCount, .shopListWrap.forShoppingCheck .shopItem .shopItemSum, .shopListWrap.forWishList .shopItem .shopItemName, .shopListWrap.forWishList .shopItem .shopItemColor, .shopListWrap.forWishList .shopItem .shopItemSize, .shopListWrap.forWishList .shopItem .shopItemQty, .shopListWrap.forWishList .shopItem .shopItemPrice, .shopListWrap.forWishList .shopItem .shopItemCount, .shopListWrap.forWishList .shopItem .shopItemSum {
            width: 100%;
            text-align: left;
            padding: 2px 5px;
        }

        .shopListWrap.forWishList {
            padding: 0 5px;
        }

            .shopListWrap.forWishList .shopItemList {
                display: -ms-flexbox;
                display: flex;
                -ms-flex-wrap: wrap;
                flex-wrap: wrap;
                border-top: 1px solid #eae4d6;
            }

            .shopListWrap.forWishList .shopItemListTitle {
                display: none;
            }

            .shopListWrap.forWishList .shopItemIfon {
                padding: 5px 0;
            }

            .shopListWrap.forWishList .shopItem {
                width: 50%;
                padding: 0 5px;
                margin: 0;
                border: none;
            }

                .shopListWrap.forWishList .shopItem .shopItemDel {
                    left: 10px;
                    width: 35px;
                }

                .shopListWrap.forWishList .shopItem .shopItemAddCart {
                    width: 100%;
                }

                    .shopListWrap.forWishList .shopItem .shopItemAddCart a {
                        width: 100%;
                    }

            .shopListWrap.forWishList .shopItemImg {
                width: 100%;
                padding: 0;
            }

            .shopListWrap.forWishList .shopItemIfon {
                width: 100%;
            }

    .shopItemList .shopItemName {
        display: block;
    }

    .shopItem {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        position: relative;
    }

        .shopItem .shopItemImg {
            width: 35%;
            padding: 10px;
        }

        .shopItem .shopItemIfon {
            width: 65%;
            padding: 5px 0 5px 10px;
            -ms-flex-direction: column;
            flex-direction: column;
        }

            .shopItem .shopItemIfon .shopItemName, .shopItem .shopItemIfon .shopItemColor, .shopItem .shopItemIfon .shopItemSize, .shopItem .shopItemIfon .shopItemQty, .shopItem .shopItemIfon .shopItemPrice, .shopItem .shopItemIfon .shopItemCount, .shopItem .shopItemIfon .shopItemSum {
                width: 100%;
                text-align: left;
                padding: 2px 5px;
            }

                .shopItem .shopItemIfon .shopItemName::before, .shopItem .shopItemIfon .shopItemColor::before, .shopItem .shopItemIfon .shopItemSize::before, .shopItem .shopItemIfon .shopItemQty::before, .shopItem .shopItemIfon .shopItemPrice::before, .shopItem .shopItemIfon .shopItemCount::before, .shopItem .shopItemIfon .shopItemSum::before {
                    color: #595757;
                }

            .shopItem .shopItemIfon .shopItemName {
                display: inline-block;
                margin: 5px 0;
            }

                .shopItem .shopItemIfon .shopItemName > a {
                    display: block;
                }

                    .shopItem .shopItemIfon .shopItemName > a:before {
                        content: '商品名稱 | ';
                    }

            .shopItem .shopItemIfon .shopItemQty {
                display: -ms-flexbox;
                display: flex;
                -ms-flex-align: center;
                align-items: center;
            }

                .shopItem .shopItemIfon .shopItemQty:before {
                    content: '數量 | ';
                    margin-right: 3px;
                }

            .shopItem .shopItemIfon .shopItemColor:before {
                content: '顏色 | ';
            }

            .shopItem .shopItemIfon .shopItemSize:before {
                content: '尺寸 | ';
            }

            .shopItem .shopItemIfon .shopItemPrice:before {
                content: '單價 | ';
            }

            .shopItem .shopItemIfon .shopItemCount:before {
                content: '折扣價 | ';
            }

            .shopItem .shopItemIfon .shopItemSum:before {
                content: '小計 | ';
            }

        .shopItem .shopItemActivity {
            margin-top: 4px;
        }

        .shopItem .shopItemDel {
            position: absolute;
            left: 10px;
            top: 5px;
            width: 35px;
            z-index: 2;
        }

        .shopItem.shopItemListTitle {
            margin: 0;
            border: none;
        }

            .shopItem.shopItemListTitle .shopItemImg {
                width: 100%;
                text-align: left;
                padding: 5px 5px 5px 17px;
            }

            .shopItem.shopItemListTitle .shopItemIfon {
                display: none;
            }

    .bundleItemList .shopItem {
        padding: 0 10px;
    }

    .bundleItemList .shopItemImg img {
        max-height: initial;
    }

    .bundleItemList .shopItemIfon .shopItemPrice, .bundleItemList .shopItemIfon .shopItemCount, .bundleItemList .shopItemIfon .shopItemSum {
        display: none;
    }

    .shopSumArea {
        -ms-flex-align: start;
        align-items: flex-start;
    }

        .shopSumArea.forShoppingCart .shopSumInfo, .shopSumArea.forShoppingCheck .shopSumInfo {
            width: 100%;
        }

        .shopSumArea.forShoppingCart .shopBtnWrap, .shopSumArea.forShoppingCheck .shopBtnWrap {
            width: 100%;
        }

    .shopSumInfo, .shopBtnWrap {
        width: 100%;
    }

        .shopSumInfo .btn-black, .shopSumInfo .btn-secondary, .shopBtnWrap .btn-black, .shopBtnWrap .btn-secondary {
            width: 96%;
        }

        .shopSumInfo .btn-secondary, .shopBtnWrap .btn-secondary {
            margin-right: 2%;
        }

    .shopPromotionList {
        margin: 0 10px;
        border-top: 0;
        border-bottom: 2px solid #eae4d6;
    }

        .shopPromotionList .promotionTag {
            min-width: 20%;
        }

        .shopPromotionList.isTablet {
            display: none;
        }

        .shopPromotionList.isMobile {
            display: block;
            margin: 0 0 10px;
            padding: 0 0 10px;
        }

    .shopSumNote {
        width: 100%;
        position: static;
        text-align: left;
        margin-top: 30px;
    }

    .touchQty {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
    }

        .touchQty .fieldQty {
            max-width: initial;
            width: 100%;
        }
}
/*------------------------------------*\
  #shoppngcheck
\*------------------------------------*/
.shopBuyerInfoWrap {
    max-width: 1020px;
    margin: 20px auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.shopBuyerInfoBox {
    width: 50%;
    padding: 10px 20px;
}

    .shopBuyerInfoBox .inputWrap {
        margin-bottom: 20px;
    }

        .shopBuyerInfoBox .inputWrap input, .shopBuyerInfoBox .inputWrap .selectWrap {
            color: black;
            margin-top: 5px;
        }

            .shopBuyerInfoBox .inputWrap input:-ms-input-placeholder {
                color: #acabab;
            }

            .shopBuyerInfoBox .inputWrap input::placeholder {
                color: #acabab;
            }

        .shopBuyerInfoBox .inputWrap .inputFlex {
            display: -ms-flexbox;
            display: flex;
            margin-top: 5px;
        }

            .shopBuyerInfoBox .inputWrap .inputFlex input {
                margin: 0 10px 0 0;
                width: 67%;
            }

            .shopBuyerInfoBox .inputWrap .inputFlex a {
                display: block;
                width: 33%;
                cursor: pointer;
            }

    .shopBuyerInfoBox .remarkArea {
        padding: 5px 10px;
        border: 1px solid #acabab;
    }

.phoneWrap {
    display: -ms-flexbox;
    display: flex;
}

    .phoneWrap .selectWrap {
        width: 120px;
    }

        .phoneWrap .selectWrap select {
            font-size: 12px;
        }

    .phoneWrap input[type="tel"] {
        width: calc( 100% - 130px);
        margin-left: 10px;
    }

.storeWrap .city, .storeWrap .area, .storeWrap .store {
    display: none;
}

.storeWrap.active .city, .storeWrap.active .area, .storeWrap.active .store {
    display: block;
}

.addWrap, .storeWrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

    .addWrap .country, .addWrap .address, .storeWrap .country, .storeWrap .address {
        width: 100%;
        margin: 0 0 5px;
    }

    .addWrap .address, .storeWrap .address {
        width: 100%;
        margin: 5px 0;
    }

    .addWrap .city, .addWrap .area, .addWrap .zipCode, .addWrap .store, .storeWrap .city, .storeWrap .area, .storeWrap .zipCode, .storeWrap .store {
        width: calc( (100% - 20px) / 3 );
        margin: 5px 10px 5px 0;
    }

    .addWrap .zipCode, .addWrap .store, .storeWrap .zipCode, .storeWrap .store {
        margin: 5px 0;
    }

    .addWrap .stroeAddr, .storeWrap .stroeAddr {
        padding: 8px;
        width: 100%;
        border: 1px solid #acabab;
        margin-top: 5px;
    }

.storeBtnWrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    margin: 5px 0;
}

    .storeBtnWrap .btn-black {
        margin-right: 20px;
        width: 147px;
    }

.invoiceWrap {
    padding: 5px 0;
    margin: 10px 0 40px;
    border-top: 1.5px solid darkgray;
    border-bottom: 1px solid darkgray;
}

.invoiceRadioWrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

    .invoiceRadioWrap label {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        height: 20px;
        margin: 10px 0;
        width: 25%;
        cursor: pointer;
    }

    .invoiceRadioWrap input[type="radio"] {
        margin: 0 5px 0 0;
        accent-color: black;
        cursor: pointer;
    }

.invoiceInputBox {
    margin-bottom: 15px;
    display: none;
}

.shopping-addpurchase {
    max-width: 1060px;
    padding: 10px 30px 20px;
    border-bottom: 1px dotted #ddd;
    margin: 30px auto 40px;
}

    .shopping-addpurchase select {
        width: 100%;
        border-radius: 0;
        line-height: 23px;
    }

    .shopping-addpurchase .section-title {
        text-align: center;
        font-size: 1.2rem;
        padding: 15px;
        letter-spacing: 1px;
        margin-bottom: 20px;
    }

    .shopping-addpurchase .addp-item {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 5px;
        padding: 0 10px;
    }

    .shopping-addpurchase .addp-img {
        aspect-ratio: 3/4;
        overflow: hidden;
    }

        .shopping-addpurchase .addp-img img {
            width: 100%;
            display: none;
        }

            .shopping-addpurchase .addp-img img.active {
                display: block;
            }

    .shopping-addpurchase .addp-name {
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .shopping-addpurchase .addp-size-num {
        display: -ms-flexbox;
        display: flex;
        gap: 5px;
    }

    .shopping-addpurchase .addp-size {
        width: 50%;
    }

        .shopping-addpurchase .addp-size .selectWrap {
            display: none;
        }

            .shopping-addpurchase .addp-size .selectWrap.active {
                display: block;
            }

    .shopping-addpurchase .addp-number {
        width: 50%;
    }

    .shopping-addpurchase .addp-btnwrap span {
        padding: 8px;
        text-align: center;
        color: #fff;
        cursor: pointer;
    }

    .shopping-addpurchase .addp-btnwrap .btn-cart {
        display: block;
        background-color: #a88c5a;
        border: 1px solid #a88c5a;
    }

        .shopping-addpurchase .addp-btnwrap .btn-cart:hover {
            opacity: 0.6;
        }

    .shopping-addpurchase .addp-btnwrap .btn-soldout {
        display: none;
        background-color: #acabab;
        border: 1px solid #acabab;
    }

    .shopping-addpurchase .addp-btnwrap.empty .btn-cart {
        display: none;
    }

    .shopping-addpurchase .addp-btnwrap.empty .btn-soldout {
        display: block;
        cursor: auto;
    }

.waitMore {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100vw;
    height: 100vh;
    background-color: #bababa;
    opacity: .95;
}

    .waitMore img {
        width: 100%;
    }

    .waitMore.active {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: distribute;
        justify-content: space-around;
        -ms-flex-align: center;
        align-items: center;
    }

    .waitMore i {
        font-size: 100px;
        color: #666;
    }

@media (max-width: 769px) {
    .shopBuyerInfoBox {
        width: 100%;
        padding: 0 20px;
    }

    .invoiceRadioWrap label {
        width: initial;
        min-width: 33%;
    }

    .shopping-addpurchase {
        padding: 40px 15px 10px;
    }

        .shopping-addpurchase .section-title {
            font-size: 1.2rem;
            margin-bottom: 15px;
            padding: 0;
        }

        .shopping-addpurchase .addp-item {
            padding: 0 5px;
        }
}
/*------------------------------------*\
  #orderfinish
\*------------------------------------*/
.shopPageDescription {
    text-align: center;
    font-size: 14px;
    padding: 10px 15px;
    margin-bottom: 20px;
}

.orderInfoArea {
    margin: 20px 0;
    border: 1px solid #eae4d6;
}

.orderInfoAreaTitle {
    padding: 15px 30px;
    background-color: #f2f2f2;
}

.orderInfoBox {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 10px 20px;
    color: black;
    border-bottom: 1px solid #eae4d6;
}

    .orderInfoBox:last-of-type {
        border-bottom: none;
    }

    .orderInfoBox > div {
        width: 50%;
        padding: 5px 10px;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
    }

    .orderInfoBox span {
        color: #595757;
        display: inline-block;
        width: 150px;
        -ms-flex-negative: 0;
        flex-shrink: 0;
    }

    .orderInfoBox a {
        text-decoration: underline;
        color: #599ae2;
    }

@media (max-width: 769px) {
    .orderInfoArea {
        border: none;
    }

    .orderInfoBox > div {
        width: 100%;
    }

    .orderInfoAreaTitle {
        padding: 10px 30px;
    }

    .orderInfoBox {
        margin: 0 10px;
        padding: 10px;
    }

        .orderInfoBox span {
            width: 100px;
        }
}
/*------------------------------------*\
  #login
\*------------------------------------*/
.loginWrap {
    max-width: 540px;
    margin: 0 auto;
    padding: 20px;
}

    .loginWrap .btn-black, .loginWrap .btn-secondary, .loginWrap .btn-primary {
        padding: 10px 8px;
        cursor: pointer;
    }

.btnRegistered {
    padding: 10px 8px;
    border-radius: 30px;
}

.loginPageTitle {
    padding: 10px;
    font-size: 17px;
    color: black;
    text-align: center;
    font-weight: bold;
    margin: 0px auto 30px;
    border-bottom: 3px solid black;
}

.loginTabNav {
    display: -ms-flexbox;
    display: flex;
    margin: 40px auto 20px;
}

    .loginTabNav li {
        width: 50%;
        padding: 10px;
        cursor: pointer;
        color: #aaaaaa;
        font-size: 17px;
        text-align: center;
        border-bottom: 1px solid #aaaaaa;
    }

        .loginTabNav li.active {
            color: black;
            font-weight: bold;
            border-bottom: 3px solid black;
        }

.loginCntBox .inputWrap {
    margin-bottom: 20px;
}

.loginCntBox .inlineWrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

    .loginCntBox .inlineWrap a {
        text-decoration: underline;
    }

.loginDescription {
    display: block;
    margin-bottom: 10px;
}

.loginDescriptionBlod {
    text-align: center;
    font-weight: bold;
    font-size: 14px;
    margin-bottom: 10px;
}

.passwordWrap {
    position: relative;
}

    .passwordWrap input {
        padding-right: 30px;
    }

.btnTogglePassword {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 30px;
    height: 100%;
    background: url(../../images/zh-cht/icons/eyeclose.svg) no-repeat center left/60% auto;
    cursor: pointer;
}

    .btnTogglePassword.active {
        background: url(../../images/zh-cht/icons/eyeopen.svg) no-repeat center left/60% auto;
    }

.loginSocialMediaArea {
    margin: 10px auto;
}

    .loginSocialMediaArea .hrline {
        position: relative;
        text-align: center;
        height: 21px;
        line-height: 21p;
        margin: 20px 0;
    }

        .loginSocialMediaArea .hrline::before, .loginSocialMediaArea .hrline::after {
            content: "";
            display: block;
            position: absolute;
            top: 10px;
            width: calc(50% - 20px);
            height: 1px;
            background-color: #828282;
            z-index: 0;
        }

        .loginSocialMediaArea .hrline::before {
            left: 0;
        }

        .loginSocialMediaArea .hrline::after {
            right: 0;
        }

    .loginSocialMediaArea a {
        margin-bottom: 15px;
        position: relative;
    }

        .loginSocialMediaArea a::before {
            content: '';
            position: absolute;
            display: inline-block;
            width: 28px;
            height: 100%;
            left: 20px;
            top: 0;
        }

    .loginSocialMediaArea .btnLine::before {
        background: url(../../images/zh-cht/icons/loginLine.svg) no-repeat center center/80%;
    }

    .loginSocialMediaArea .btnFB::before {
        background: url(../../images/zh-cht/icons/loginFB.svg) no-repeat center center/80%;
    }

.loginAgreePolicy {
    margin-top: 40px;
    text-align: center;
}

    .loginAgreePolicy a {
        font-size: 12px;
        display: inline-block;
        padding: 0 3px;
        text-decoration: underline;
    }

.loginNote {
    max-width: 800px;
    font-size: 12px;
    padding: 20px;
    margin: 10px auto;
}

    .loginNote p {
        margin-bottom: 10px;
        color: #e21e1e;
    }

.vcode .waitvcode {
    display: none;
    cursor: not-allowed;
    background: #d6d6d6;
    border: none;
}

.vcode .countdown {
    display: inline-block;
    min-width: 22px;
}

.vcode.active .getvcode {
    display: none;
}

.vcode.active .waitvcode {
    display: block;
}

.mfp-loginPopup {
    background-color: transparent;
}

.loginPopup {
    width: 280px;
    margin: 0 auto;
    position: relative;
    border: 10px solid rgba(255, 255, 255, 0.606);
    box-shadow: -2px 2px 10px 3px rgba(128, 128, 128, 0.69);
}

    .loginPopup .loginPopupLogo {
        position: absolute;
        margin-top: 30px;
        width: 70px;
        bottom: 30px;
        right: calc( (100% - 70px)/2);
    }

    .loginPopup .mfp-close {
        color: transparent;
        width: 35px;
        right: -25px;
        top: -25px;
        opacity: 1;
        background: url(../../images/zh-cht/icons/closeoffcanvas.svg) no-repeat center center/100%;
    }

.loginPopupCnt {
    height: 100%;
    padding: 70px 10px;
    position: relative;
    text-align: center;
    background-color: #eae4d6;
    font-weight: bold;
    font-size: 15px;
}

    .loginPopupCnt p {
        margin-bottom: 10px;
    }

/*------------------------------------*\
  #member
\*------------------------------------*/
.memberWrap, .staticWrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

    .memberWrap .helloMember, .staticWrap .helloMember {
        width: calc( 100% - 200px);
        margin-left: 200px;
    }

.memAside {
    width: 200px;
    padding: 20px 10px 0 0;
    font-size: 14px;
}

    .memAside a {
        display: block;
        color: #828282;
        padding: 3px;
        margin-bottom: 20px;
    }

    .memAside li.active a, .memAside li:hover a {
        color: black;
    }

    .memAside li.active a {
        text-decoration: underline;
    }

.memMenuTitle {
    display: none;
}

.memberCntArea {
    width: calc( 100% - 200px);
}

.memberPageTitle {
    padding: 20px 0;
    font-size: 14px;
}

.memberSummaryBox {
    border: 1.5px solid #eae4d6;
    padding: 20px 10px 10px;
    margin-bottom: 20px;
}

    .memberSummaryBox p {
        width: 50%;
        padding: 0 10px;
        font-size: 15px;
        margin-bottom: 10px;
    }

        .memberSummaryBox p:first-of-type {
            text-align: right;
            position: relative;
        }

            .memberSummaryBox p:first-of-type:after {
                content: '';
                display: block;
                position: absolute;
                top: 23%;
                right: 0;
                width: 1px;
                height: 65%;
                background-color: #595757;
            }

    .memberSummaryBox .txtRed {
        color: #f47878;
    }

.membersInfoWrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.memberInfo {
    width: 49%;
    padding: 10px;
    margin-bottom: 15px;
}

    .memberInfo .inputWrap {
        margin-bottom: 15px;
    }

        .memberInfo .inputWrap label {
            display: block;
            margin-bottom: 5px;
        }

        .memberInfo .inputWrap *:disabled {
            background-color: #595757;
            color: white;
            opacity: 1;
        }

    .memberInfo .btn-wheat {
        margin-top: 30px;
    }

.memberBoldTitle {
    font-weight: bold;
    font-size: 16px;
    text-align: center;
    padding: 5px;
    margin-bottom: 15px;
    border-bottom: 1px solid #828282;
}

.btnRightWrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

    .btnRightWrap .btn-secondary {
        width: 40%;
    }

@media (max-width: 1199px) {
    .memberWrap .helloMember, .staticWrap .helloMember {
        width: 100%;
        margin-left: 0;
    }

    .memAside {
        width: 100%;
        padding: 0;
        position: relative;
    }

        .memAside ul {
            display: none;
            background-color: #f2f2f2;
        }

            .memAside ul.active {
                display: block;
            }

        .memAside li.active a {
            color: #828282;
            font-weight: normal;
            text-decoration: none;
        }

        .memAside a {
            padding: 10px;
            font-size: 12px;
            margin-bottom: 0;
            text-align: center;
            color: #606060;
        }

    .memberCntArea {
        width: 100%;
    }

    .memMenuTitle {
        display: block;
        padding: 10px 15px;
        font-size: 14px;
        color: white;
        text-align: center;
        background-color: #595757;
    }

        .memMenuTitle::after {
            display: inline-block;
            content: "";
            width: 8px;
            height: 8px;
            position: absolute;
            top: 18px;
            right: 20px;
            border-left: 2px solid white;
            border-bottom: 2px solid white;
            transform: rotate(45deg);
            transition: all 0.1s ease-in-out;
        }

        .memMenuTitle.active:after {
            top: 14px;
            transition: transform 0.1s ease-in-out;
            transform: rotate(-45deg);
        }

    .memberPageTitle {
        padding: 12px 15px;
    }

        .memberPageTitle.bgGray {
            background-color: #f2f2f2;
        }

    .memberSummaryBox {
        margin: 0 15px 10px;
    }

    .memberInfo {
        width: 100%;
        padding: 10px 15px;
    }

        .memberInfo .btn-wheat {
            margin-top: 15px;
        }

    .btnRightWrap {
        -ms-flex-pack: center;
        justify-content: center;
        padding: 30px 0 10px;
    }

        .btnRightWrap .btn-secondary {
            width: 96%;
        }
}
/*------------------------------------*\
  #order
\*------------------------------------*/
.dataTable {
    width: 100%;
    border-collapse: collapse;
    border: 1.5px solid #eae4d6;
    margin-bottom: 20px;
}

    .dataTable tr {
        border-bottom: 1.5px solid #eae4d6;
    }

        .dataTable tr:first-of-type {
            border: none;
        }

    .dataTable th {
        padding: 10px 5px;
        background: #f2f2f2;
        text-align: center;
    }

    .dataTable td {
        padding: 20px 5px;
        text-align: center;
        vertical-align: middle;
        max-width: 100px;
    }

    .dataTable a {
        text-decoration: underline;
        display: inline-block;
    }

.bankInfoWrap {
    width: 90%;
    margin-bottom: 20px;
}

    .bankInfoWrap .inputWrap {
        margin-bottom: 20px;
    }

        .bankInfoWrap .inputWrap label {
            display: block;
            margin-bottom: 5px;
        }

.bankName {
    display: -ms-flexbox;
    display: flex;
}

    .bankName .inputWrap {
        width: calc( (100% - 60px)/3);
        margin-right: 30px;
    }

        .bankName .inputWrap:last-of-type {
            margin-right: 0;
        }

.bankAccountRefundWrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: end;
    align-items: flex-end;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.bankAccount {
    width: 50%;
}

.bankRefund p {
    margin-bottom: 20px;
    padding-right: 5px;
    text-align: right;
}

    .bankRefund p span {
        font-size: 16px;
        font-weight: bold;
        margin-left: 15px;
        color: black;
    }

.bankRefund a {
    display: block;
    width: 180px;
    cursor: pointer;
}

.qaWrap {
    max-width: 540px;
    padding: 0 20px;
    margin: 0 auto;
}

    .qaWrap .inputWrap {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-bottom: 15px;
    }

        .qaWrap .inputWrap label {
            display: block;
            width: 100px;
            padding: 7px 5px;
            -ms-flex-negative: 0;
            flex-shrink: 0;
        }

        .qaWrap .inputWrap input, .qaWrap .inputWrap textarea, .qaWrap .inputWrap .selectWrap {
            width: calc(100% - 100px);
        }

        .qaWrap .inputWrap .error {
            width: 100%;
            padding-left: 100px;
        }

    .qaWrap .btn-black {
        display: block;
        width: 200px;
        margin: 5px auto 30px;
    }

.qaListWrap {
    border: 2px solid #eae4d6;
}

.qaListTitle {
    background-color: #eae4d6;
    padding: 5px 10px;
    text-align: center;
    font-size: 14px;
}

.qaDate {
    margin: 15px auto;
    border-radius: 30px;
    display: block;
    padding: 2px 5px;
    width: 100px;
    font-size: 12px;
    text-align: center;
    background-color: #efefef;
}

.qaBox {
    display: -ms-flexbox;
    display: flex;
    padding: 0 15px;
    margin: 10px 0;
    width: 100%;
}

    .qaBox.qaQuestion {
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

        .qaBox.qaQuestion .qaMessage {
            background-color: #eae4d6;
        }

        .qaBox.qaQuestion .qaTime {
            text-align: right;
        }

    .qaBox.qaAnswer .qaPhoto {
        display: block;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        width: 50px;
        margin-right: 10px;
        background: url(../../images/zh-cht/icons/shortcut.webp) no-repeat center center/90%;
    }

    .qaBox.qaAnswer .qaMessage {
        border: 1px solid #acabab;
    }

    .qaBox .qaMessageBox {
        max-width: 60%;
    }

    .qaBox .qaMessage {
        border-radius: 10px;
        padding: 4px 15px;
    }

    .qaBox .qaTime {
        margin-top: 5px;
        font-size: 10px;
    }

@media (max-width: 769px) {
    .dataTable {
        border: none;
        width: calc( 100% - 31px);
        margin: 0 15px 10px;
    }

        .dataTable tr:first-of-type {
            display: none;
        }

        .dataTable th {
            display: none;
        }

        .dataTable td {
            text-align: left;
            display: block;
            position: relative;
            padding: 5px 5px 5px 90px;
            max-width: initial;
        }

            .dataTable td:before {
                content: attr(data-th);
                display: inline-block;
                position: absolute;
                width: 80px;
                left: 3px;
            }

            .dataTable td:last-of-type {
                padding-bottom: 10px;
            }

            .dataTable td:first-of-type {
                padding-top: 10px;
            }

    .bankInfoWrap {
        width: 100%;
        padding: 15px;
    }

        .bankInfoWrap .inputWrap {
            margin-bottom: 15px;
        }

    .bankName {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

        .bankName .inputWrap {
            width: 100%;
            margin-right: 0;
        }

    .bankAccountRefundWrap {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .bankAccount {
        width: 100%;
    }

    .bankRefund {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-align: end;
        align-items: flex-end;
        width: 100%;
    }

        .bankRefund p {
            margin-bottom: 10px;
        }

    .qaWrap .memberPageTitle {
        margin-bottom: 15px;
        border-bottom: 1px solid #eae4d6;
    }

    .qaWrap .inputWrap {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-bottom: 10px;
    }

        .qaWrap .inputWrap label {
            width: 100%;
        }

        .qaWrap .inputWrap input, .qaWrap .inputWrap textarea, .qaWrap .inputWrap .selectWrap {
            width: 100%;
        }

        .qaWrap .inputWrap .error {
            padding-left: 0;
        }

    .qaBox .qaMessageBox {
        max-width: 80%;
    }

    .qaListWrap {
        margin: 0 20px 20px;
    }
}
/*------------------------------------*\
  #news
\*------------------------------------*/
.staticCnt {
    padding: 20px 0 20px;
    line-height: 2em;
    letter-spacing: 0.006em;
    color: #585858;
    font-family: "NotoSansTC", sans-serif, "微軟正黑體";
}

    .staticCnt p,
    .staticCnt span {
        font-family: "NotoSansTC", sans-serif, "微軟正黑體";
    }

    .staticCnt img {
        width: 100%;
    }

.newslist {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    margin-bottom: 32px;
}

.card {
    background: #fff;
    overflow: hidden;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    font-size: 16px;
}

    .card .card-img {
        display: block;
        padding-bottom: 20px;
        margin-bottom: 20px;
        border-bottom: 1px solid #eeeeee;
    }

        .card .card-img img {
            aspect-ratio: 2/3;
        }

    .card .name {
        margin-bottom: 8px;
    }

    .card .more {
        color: #e89aa3;
    }

    .card:hover img {
        opacity: 0.6;
    }

    .card:hover .more {
        color: #e2606c;
    }

.txtEllipsis span {
    display: block;
    overflow: hidden;
    position: relative;
    word-break: normal;
}

    .txtEllipsis span:before {
        content: '...';
        position: absolute;
        right: 0;
        bottom: 0;
    }

    .txtEllipsis span::after {
        content: '';
        position: absolute;
        right: 0;
        width: 16px;
        height: 21px;
        background: white;
    }

@media (max-width: 769px) {
    .staticWrap .memAside {
        display: none;
    }

    .staticCnt {
        padding: 20px;
    }

    .newslist {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        gap: 20px 10px;
        padding: 0 10px;
    }

    .card {
        font-size: 14px;
    }

        .card .card-img {
            padding-bottom: 10px;
            margin-bottom: 10px;
        }
}
/* ==========================================================================
   Helper classes
   ========================================================================== */
.hidden {
    display: none !important;
    visibility: hidden;
}

.invisible {
    visibility: hidden;
}

/* ==========================================================================
   Print styles
   ========================================================================== */
@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

        a[href]:after {
            content: " (" attr(href) ")";
        }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
