@charset "UTF-8";
/* CSS Document */
@import url(help/reset.css);
@import url(font-awesome-4.7.0/font-awesome.min.css);
@import url(help/rwdgrid.css);
@import url("https://fonts.googleapis.com/css2?family=East+Sea+Dokdo&display=swap");
@import url(textEditor.css);
@import url(contentbuilder.css);
@font-face {
    font-family: jf;
    src: url(font/jf-openhuninn.ttf);
}

[class*='col-'], .b-box, .wrap, .moreBtn, .controlBox, .controlBox .main span, .hideBox, .slideMenu a, .slick-dots button, .m_classLink ul, .tab a, .side_share a, .orderCheckArea input[type="text"], .orderCheckArea input[type="password"], .loginBox .submenu, .loginArea input[type="text"], .loginArea input[type="password"], .radio + label span, .searchArea, .searchArea .searchBox input {
    box-sizing: border-box;
}

a, .pageMainArea .contentBox, .pageMainArea .titleBox, .moreBtnBox svg, .categoryBox svg, header .submenu, .funcBox svg, .controlBox, .controlBox .main span, .controlBox .main span:before, .controlBox .main span:after, .hideBox, .slideMenu > li, .footerLogo, .footerInfoBox, .copyrightWrap .copyrightBox, .slick-dots button::before, .bread, .classBox, .btnBox, .readBtn::before, .radio + label, .radio + label span, .radio + label span::before, .hImgScale .Img img {
    transition: all .5s ease-out;
}

.pageMainArea .contentBox, .slideMenu > li, .footerLogo, .footerInfoBox, .copyrightWrap .copyrightBox, .slideMenu .submenu a, .pageMainArea .titleBox {
    opacity: 0;
}

.pageMainArea .contentBox, .slideMenu > li, .footerLogo, .footerInfoBox, .copyrightWrap .copyrightBox {
    transform: translateY(20px);
}

.slideMenu .submenu a {
    transform: translateY(-20px);
}

.pageMainArea.show .bread, .pageMainArea.show .titleBox, .pageMainArea.show .contentBox, footer.show .footerLogo, footer.show .footerInfoBox, footer.show .copyrightBox {
    transform: translate(0);
    opacity: 1;
}

body {
    color: #636363;
    font-size: 16px;
    background-color: #fff;
    background-image: url(../images/bg_default.jpg);
    font-family: 'East Sea Dokdo','jf', sans-serif, cursive;
    font-weight: 400;
    overflow-x: hidden;
}

body > svg {
    display: none;
}

/*css3*/
a {
    color: #683817;
    cursor: pointer;
}

a:hover {
    color: #8ea016;
}

[class*='col-'] {
    float: left;
}

div.titan {
    /*--隱藏開影音、開相簿--*/
    display: none;
}

.col-1 {
    width: 100%;
}

.col-2 {
    width: 50%;
}

.col-3 {
    width: 33.33%;
}

.col-4 {
    width: 25%;
}

.col-5 {
    width: 20%;
}

a.btn_color1 {
    color: #fff;
    background-color: #a62627;
}

a.btn_color1:hover {
    background-color: #7d1d1d;
}

a.btn_color2 {
    color: #fff;
    background-color: #a62627;
}

a.btn_color2:hover {
    background-color: #7d1d1d;
}

input[type="text"], textarea {
    -webkit-appearance: none;
}

.outerWrap {
    position: relative;
    overflow: hidden;
}

.outerWrap.noBanner .pageParallaxImgBox.LT {
    top: 5%;
}

.outerWrap.noBanner .mainArea {
    padding-top: 200px;
}

.mainArea {
    position: relative;
    padding-top: 90px;
    padding-bottom: 80px;
}

@media (max-width: 1180px) {
    .mainArea {
        padding-top: 80px;
    }
}

.pageMainArea.show .bread {
    transition-delay: .7s;
}

.pageMainArea.show .contentBox {
    transition-delay: .3s;
}

.pageMainArea > .wrap {
    position: relative;
}

.pageMainArea .contentBox {
    display: flex;
    justify-content: space-between;
}

.pageMainArea .leftBox {
    flex-grow: 1;
    max-width: 360px;
}

.pageMainArea .rightBox {
    flex-grow: 1;
    width: 100%;
    max-width: 1040px;
}

@media (max-width: 1440px) {
    .pageMainArea .leftBox {
        max-width: 300px;
    }
    .pageMainArea .rightBox {
        padding-left: 20px;
    }
}

@media (max-width: 1180px) {
    .pageMainArea .contentBox {
        flex-wrap: wrap;
    }
    .pageMainArea .leftBox {
        max-width: 100%;
        text-align: center;
        padding: 0 0 30px;
    }
    .pageMainArea .rightBox {
        max-width: 100%;
        padding-left: 0;
    }
}

.wrap {
    width: 1400px;
    margin: 0 auto;
    position: relative;
}

@media (max-width: 1440px) {
    .wrap {
        width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }
}

.textEditor {
    font-family: 'jf', sans-serif, cursive;
    position: relative;
}

.textEditor.colorBorder {
    padding: 40px 0;
}

.textEditor.colorBorder::before {
    display: block;
    content: "";
    width: 100%;
    height: 10px;
    position: absolute;
    top: 0px;
    left: 0;
    background-image: url(../images/deco_color_dots_line.png);
}

.textEditor.colorBorder::after {
    display: block;
    content: "";
    width: 100%;
    height: 10px;
    position: absolute;
    bottom: 20px;
    left: 0;
    background-image: url(../images/deco_color_dots_line.png);
    visibility: visible;
}

/*-moduleBox--*/
.moduleBox {
    position: fixed;
    left: 50%;
    top: 48%;
    z-index: 1005;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition-property: top, opacity, visibility;
    transition-duration: .5s;
    transition-timing-function: ease-in-out;
}

.moduleBox.show {
    top: 50%;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.moduleMask {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1003;
    background-color: rgba(0, 0, 0, 0.7);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all .5s ease-in-out;
}

.moduleMask.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/******* 通用設定 *********/
.moreBtnBox {
    position: relative;
    width: 180px;
}

.moreBtnBox svg {
    width: 180px;
    height: 54px;
    position: absolute;
    top: 0;
    left: 0;
}

.moreBtnBox .readMoreBg {
    fill: #8ea016;
    top: -4px;
    left: -3px;
}

.moreBtnBox .readMoreBgLine {
    fill: transparent;
    stroke: #667312;
}

.moreBtnBox:hover .readMoreBg {
    fill: #fbd246;
    top: -0px;
    left: -0px;
}

.moreBtnBox:hover .readMoreBgLine {
    fill: transparent;
    stroke: #e1b521;
    top: 0px;
    left: 0px;
}

.moreBtnBox:hover .moreBtn {
    color: #d43436;
}

.moreBtn {
    position: relative;
    z-index: 1;
    display: block;
    width: 180px;
    height: 54px;
    line-height: 54px;
    font-size: 27px;
    color: #fff;
    letter-spacing: 0.5px;
    text-align: center;
    font-family: 'East Sea Dokdo','jf', cursive;
    border: none;
}

@media (min-width: 1181px) {
    .moreBtn:hover {
        color: #d43436;
    }
}

.imgBowknot {
    position: relative;
}

.imgBowknot .imgOpacity {
    transition: 0.5s all;
}

.imgBowknot::before {
    content: "";
    width: 74px;
    height: 70px;
    background-image: url(../images/img_bowknot.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: calc(50% - 55px);
    left: calc(50% - 37px);
    z-index: 2;
    pointer-events: none;
}

.imgBowknot::after {
    content: "Read More!";
    position: absolute;
    top: calc(50% + 15px);
    left: 0;
    width: 100%;
    text-align: center;
    font-size: 40px;
    line-height: 50px;
    color: #d43436;
    z-index: 2;
    pointer-events: none;
}

.imgBowknot::before, .imgBowknot::after {
    opacity: 0;
    transform: scale(0.2);
    transition: 0.5s all;
}

.imgBowknot:hover .imgOpacity {
    opacity: 0.4;
}

.imgBowknot:hover::before, .imgBowknot:hover::after {
    opacity: 1;
    transform: scale(1);
}

.txt2Slash {
    display: inline-block;
    position: relative;
    font-size: 20px;
    line-height: 33px;
    letter-spacing: 0px;
    font-weight: 400;
    color: #683817;
    font-family: 'jf','微軟正黑體', sans-serif;
}

.txt2Slash::before {
    content: "\\";
    position: absolute;
    bottom: 0;
    left: -15px;
    font-size: 26px;
    font-weight: 100;
    font-family: sans-serif;
}

.txt2Slash::after {
    content: "/";
    position: absolute;
    bottom: 0;
    right: -15px;
    font-size: 26px;
    font-weight: 100;
    font-family: sans-serif;
}

.txt2Slash:hover {
    color: #8ea016;
}

@media (max-width: 1080px) {
    .txt2Slash {
        font-size: 20px;
        line-height: 28px;
    }
}

@media (max-width: 400px) {
    .txt2Slash {
        font-size: 18px;
        line-height: 24px;
    }
}

.categoryBox {
    position: relative;
    width: 230px;
    height: 65px;
}

.categoryBox svg {
    width: 230px;
    height: 65px;
    position: absolute;
    top: 0;
    left: 0;
}

.categoryBox .categoryBg {
    fill: #8ea016;
    top: -7px;
    left: -2px;
}

.categoryBox .categoryBgLine {
    fill: transparent;
    stroke: #667312;
}

.categoryBox p {
    text-align: center;
    width: 100%;
    color: #fff;
    font-size: 40px;
    line-height: 60px;
    position: relative;
}

.categoryBox:hover .categoryBg {
    fill: #fbd246;
    top: -0px;
    left: -0px;
}

.categoryBox:hover .categoryBgLine {
    fill: transparent;
    stroke: #e1b521;
    top: 0px;
    left: 0px;
}

@media (max-width: 1180px) {
    .categoryBox {
        margin: 0 auto 10px;
    }
}

/*****網頁頭*****/
header {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 90;
    width: 100%;
    height: 136px;
    background-image: url(../images/header/header_wave.png);
    animation: headerWave 80s infinite linear;
}

@media (max-width: 1180px) {
    header {
        display: none;
    }
}

header .wrap {
    display: flex;
    align-items: center;
    width: 1630px;
}

@media (max-width: 1680px) {
    header .wrap {
        width: 100%;
        padding: 0 20px;
    }
}

header .submenu {
    position: absolute;
    left: 0;
    top: 110%;
    z-index: 1;
    width: 100%;
    text-align: center;
    border-top: 2px solid #ccc;
    border-bottom: 2px solid #ccc;
    visibility: hidden;
    opacity: 0;
}

header .submenu a {
    display: block;
    padding: 10px;
    letter-spacing: 1px;
    text-align: center;
    background-color: #fff;
}

header .submenu a:hover, header .submenu a.current {
    color: #fff;
    background-color: #a62627;
}

.logo {
    width: 277px;
}

.logo a {
    display: flex;
    align-items: center;
    width: 277px;
    height: 66px;
    background-image: url(../images/logo.png);
}

.logo span {
    font-size: 12px;
    color: #231815;
}

@media (max-width: 1440px) {
    .logo {
        width: 257px;
    }
    .logo a {
        width: 247px;
        height: 66px;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }
}

.menuBox {
    margin-left: auto;
    margin-right: auto;
}

.menu {
    display: flex;
}

.menu li {
    position: relative;
    width: 132px;
}

.menu li + li > a::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 15px;
    z-index: 1;
    width: 1px;
    height: 54px;
    background-image: url(../images/header/line.png);
}

.menu li > a {
    position: relative;
    height: 100px;
    line-height: 40px;
    font-size: 16px;
    letter-spacing: 1px;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-end;
    justify-content: center;
    text-align: center;
}

.menu li > a img {
    display: block;
    margin: 0 auto;
}

.menu li > a p {
    color: #683817;
    width: 100%;
    transition: 0.5s all;
}

.menu li > a:hover img, .menu li > a.current img {
    transform: rotate(14deg);
    transform-origin: right bottom;
}

.menu li > a:hover p, .menu li > a.current p {
    color: #8ea016;
}

@media (max-width: 1680px) {
    .menu li {
        width: 112px;
    }
}

@media (max-width: 1440px) {
    .menu li {
        width: 100px;
    }
}

@media (max-width: 1280px) {
    .menu li {
        width: 90px;
    }
}

.funcBox {
    display: flex;
    align-items: flex-end;
    align-content: flex-end;
    height: 100px;
}

.funcBox > a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
}

.funcBox > a:hover svg {
    fill: #80320e;
}

.funcBox .leftBox {
    width: 200px;
    display: flex;
    flex-wrap: wrap;
}

.funcBox .leftBox a {
    display: flex;
    align-items: center;
}

.funcBox .leftBox a.line svg {
    width: 20px;
    height: 20px;
    fill: #38a816;
}

.funcBox .leftBox a.line span {
    color: #38a816;
}

.funcBox .leftBox a.line:hover span {
    transform: translateX(3px);
}

.funcBox .leftBox a.line:hover svg {
    animation: snsIcon 1.2s infinite ease-in-out;
}

.funcBox .leftBox a.fb {
    padding-left: 15px;
}

.funcBox .leftBox a.fb svg {
    width: 20px;
    height: 20px;
    fill: #1482bc;
}

.funcBox .leftBox a.fb span {
    color: #1482bc;
}

.funcBox .leftBox a.fb:hover span {
    transform: translateX(3px);
}

.funcBox .leftBox a.fb:hover svg {
    animation: snsIcon 1.2s infinite ease-in-out;
}

.funcBox .leftBox svg {
    width: 20px;
    height: 20px;
}

.funcBox .leftBox span {
    display: inline-block;
    padding-left: 8px;
    font-size: 25px;
    line-height: 20px;
    letter-spacing: 0.5px;
}

.funcBox .leftBox .searchBox {
    margin: 12px 0px 10px;
    padding: 0 20px 0 40px;
    width: 100%;
    height: 34px;
    border-radius: 34px;
    background-color: #fff;
    box-shadow: 0px 0px 9px 0px rgba(0, 0, 0, 0.1);
    position: relative;
}

.funcBox .leftBox .searchBox .ovalBg {
    width: 37px;
    height: 37px;
    fill: #FFDC31;
    position: absolute;
    left: -5px;
    top: 0;
}

.funcBox .leftBox .searchBox i {
    position: absolute;
    top: 10px;
    left: 6px;
    color: #fff;
    font-size: 16px;
}

.funcBox .leftBox .searchBox span {
    display: inline-block;
    font-size: 20px;
    line-height: 34px;
    letter-spacing: 0.5px;
    padding-left: 40px;
    color: #606162;
}

.funcBox .leftBox .searchBox input {
    box-sizing: border-box;
    font-family: 'East Sea Dokdo','jf', sans-serif, cursive;
    width: 100%;
    height: 34px;
    border: none;
}

.funcBox .leftBox .searchBox input[type="text"] {
    font-size: 20px;
    line-height: 34px;
}

.funcBox .leftBox .searchBox input:focus {
    font-family: 'jf', sans-serif, cursive;
    font-size: 14px;
}

.funcBox .leftBox .searchBox:hover .ovalBg {
    fill: #d43436;
}

.funcBox .leftBox .searchBox:hover span {
    color: #8ea016;
}

@media (max-width: 1280px) {
    .funcBox .leftBox {
        width: 180px;
    }
}

.funcBox .rightBox {
    width: 220px;
    display: flex;
    justify-content: flex-end;
    margin-right: -20px;
}

.funcBox .rightBox a {
    display: block;
    width: 120px;
    text-align: center;
}

.funcBox .rightBox a:hover img, .funcBox .rightBox a.current img {
    transform: rotate(14deg);
    transform-origin: right bottom;
}

.funcBox .rightBox a:hover p, .funcBox .rightBox a.current p {
    color: #8ea016;
}

.funcBox .rightBox .memberLink {
    position: relative;
}

.funcBox .rightBox .memberLink::after {
    content: "";
    width: 1px;
    height: 54px;
    background-image: url(../images/header/line.png);
    position: absolute;
    right: 0;
    bottom: 10px;
}

.funcBox .rightBox .cartLink {
    position: relative;
}

@media (max-width: 1680px) {
    .funcBox .rightBox {
        width: 200px;
    }
}

@media (max-width: 1440px) {
    .funcBox .rightBox {
        width: 180px;
    }
}

@media (max-width: 1280px) {
    .funcBox .rightBox {
        width: 170px;
    }
}

.cartQuantity {
    position: absolute;
    top: 0px;
    right: 0px;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
    font-size: 16px;
    color: #683817;
    background-color: #fbd246;
    border-radius: 50%;
}

.m_menu {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 90;
    display: block;
    width: 100%;
}

@media (min-width: 1181px) {
    .m_menu {
        display: none;
    }
}

.m_menu.active .controlBox {
    height: 90px;
}

.m_menu.active .controlBox .searchBox {
    display: none;
}

.m_menu.active .controlBox .main span {
    background-color: transparent;
}

.m_menu.active .controlBox .main span::before {
    transform: rotate(-45deg);
    top: 0;
}

.m_menu.active .controlBox .main span::after {
    transform: rotate(45deg);
    bottom: 0;
}

.m_menu.active .hideBox {
    display: block;
    top: 0;
    opacity: 1;
}

.controlBox {
    position: relative;
    z-index: 2;
    height: 90px;
    padding: 15px 20px 0;
    display: flex;
    justify-content: space-between;
}

.controlBox::before {
    content: "";
    width: 100%;
    height: 50px;
    background-image: url(../images/header/header_wave.png);
    position: absolute;
    top: 0px;
    left: 0;
    pointer-events: none;
    z-index: -1;
}

.controlBox::after {
    content: "";
    width: 100%;
    height: 60px;
    background-image: url(../images/header/header_wave.png);
    background-position: bottom;
    position: absolute;
    bottom: -20px;
    left: 0;
    animation: headerWave 80s infinite linear;
    pointer-events: none;
    z-index: -1;
}

.controlBox .rightBox {
    width: 150px;
    display: flex;
    justify-content: flex-end;
}

.controlBox .searchBox {
    position: relative;
    padding-right: 30px;
}

.controlBox .searchBox i {
    position: absolute;
    top: 16px;
    left: 18px;
    font-size: 20px;
    color: #fff;
}

.controlBox .searchBox svg {
    width: 56px;
    height: 56px;
    fill: #fbd246;
    transition: 0.5s all;
}

.controlBox .main {
    position: relative;
    display: block;
    width: 56px;
    height: 56px;
}

.controlBox .main svg {
    width: 56px;
    height: 56px;
    fill: #1482bc;
    transition: 0.5s all;
}

.controlBox .main span {
    display: block;
    position: absolute;
    top: calc(50% - 1px);
    left: calc(50% - 13px);
    width: 26px;
    height: 2px;
    border-radius: 10px;
    background-color: #fff;
}

.controlBox .main span:before {
    content: '';
    position: absolute;
    left: 0;
    top: -6px;
    width: 100%;
    height: 2px;
    background-color: #fff;
    border-radius: 10px;
}

.controlBox .main span:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 100%;
    height: 2px;
    background-color: #fff;
    border-radius: 10px;
}

@media (max-width: 470px) {
    .controlBox {
        padding: 15px 0 0;
    }
    .controlBox .rightBox {
        width: 100px;
        justify-content: space-around;
    }
    .controlBox .rightBox a svg {
        width: 44px;
        height: 44px;
    }
    .controlBox .rightBox .searchBox {
        padding: 0;
        width: 44px;
        height: 44px;
    }
    .controlBox .rightBox .searchBox i {
        top: 12px;
        left: 12px;
    }
    .controlBox .rightBox .main {
        width: 44px;
        height: 44px;
    }
}

.mMenulogo {
    z-index: 1;
    width: 277px;
}

.mMenulogo a {
    display: flex;
    align-items: center;
    width: 277px;
    height: 66px;
    background-image: url(../images/logo.png);
}

@media (max-width: 470px) {
    .mMenulogo {
        width: calc(100% - 100px);
    }
    .mMenulogo a {
        width: 100%;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }
}

.hideBox {
    opacity: 0;
    position: absolute;
    top: -100vh;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    padding: 110px 0 0px;
    background-image: url(../images/bg_m_menu.jpg);
}

.hideBox::before {
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../images/m_menu_bg_bubble3.png);
    background-position: center;
    position: absolute;
    top: 100px;
    left: 0;
    z-index: -1;
}

.hideBox .giraffe {
    width: 286px;
    height: 457px;
    position: absolute;
    bottom: calc(50% - 410px);
    left: calc(50% - 386px);
    pointer-events: none;
}

.hideBox .bear {
    width: 183px;
    height: 176px;
    position: absolute;
    bottom: calc(50% - 400px);
    right: calc(50% - 313px);
    pointer-events: none;
}

.hideBox .searchBox {
    display: block;
    margin: 40px auto 15px;
    padding: 0 5px;
    padding: 0 20px 0 40px;
    width: 100%;
    max-width: 256px;
    height: 34px;
    border-radius: 34px;
    background-color: #fff;
    box-shadow: 0px 0px 9px 0px rgba(0, 0, 0, 0.1);
    position: relative;
}

.hideBox .searchBox .ovalBg {
    width: 37px;
    height: 37px;
    fill: #FFDC31;
    position: absolute;
    left: -5px;
    top: 0;
}

.hideBox .searchBox i {
    position: absolute;
    top: 10px;
    left: 6px;
    color: #fff;
    font-size: 16px;
}

.hideBox .searchBox span {
    display: inline-block;
    font-size: 20px;
    line-height: 34px;
    letter-spacing: 0.5px;
    padding-left: 40px;
    color: #606162;
}

.hideBox .searchBox input {
    box-sizing: border-box;
    font-family: 'East Sea Dokdo','jf', sans-serif, cursive;
    width: 100%;
    height: 34px;
    border: none;
}

.hideBox .searchBox input[type="text"] {
    font-size: 20px;
    line-height: 34px;
}

.hideBox .searchBox input:focus {
    font-family: 'jf', sans-serif, cursive;
    font-size: 14px;
}

.hideBox .searchBox:hover .ovalBg {
    fill: #d43436;
}

.hideBox .searchBox:hover span {
    color: #8ea016;
}

.hideBox .bottomBox {
    width: 244px;
    margin: 0 auto;
    padding: 20px 0;
    display: flex;
    justify-content: space-around;
}

.hideBox .bottomBox a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    width: 94px;
    height: 94px;
    border-radius: 50%;
    box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.09);
    background-color: #fff;
}

.hideBox .bottomBox a p {
    display: block;
    width: 100%;
    text-align: center;
    font-weight: 400;
}

.hideBox .snsBox {
    display: flex;
    justify-content: center;
}

.hideBox .snsBox a {
    display: flex;
    align-items: center;
    padding: 20px 0;
}

.hideBox .snsBox a svg {
    width: 20px;
    height: 20px;
}

.hideBox .snsBox a span {
    font-size: 25px;
    line-height: 20px;
    padding-left: 6px;
}

.hideBox .snsBox .line {
    padding-right: 20px;
}

.hideBox .snsBox .line svg {
    fill: #38a816;
}

.hideBox .snsBox .line span {
    color: #38a816;
}

.hideBox .snsBox .fb svg {
    fill: #1482bc;
}

.hideBox .snsBox .fb span {
    color: #1482bc;
}

.mMenu {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
}

.mMenu a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 40px;
    padding: 10px 20px;
}

.mMenu a img {
    margin-right: 10px;
}

.mMenu a p {
    font-size: 16px;
    line-height: 40px;
    letter-spacing: 0.1px;
    color: #683817;
    font-weight: 400;
}

.mMenu a.current {
    color: #a62627;
}

.slideMenu {
    border-bottom: 1px solid #f0eae2;
}

.slideMenu > li > a {
    height: 60px;
    line-height: 60px;
    border-top: 1px solid #f0eae2;
    font-size: 16px;
    text-align: center;
    color: #000;
    letter-spacing: 2px;
}

.slideMenu > li > a.open::after {
    content: '-';
    color: #80320e;
    background-color: #f0eae2;
}

.slideMenu > li > a::before {
    content: '\f005';
    display: inline-block;
    line-height: 1;
    margin-right: 10px;
    color: #b3966f;
    font-family: FontAwesome;
}

.slideMenu > li > a::after {
    content: '+';
    color: #fff;
    border-radius: 50%;
    background-color: #b3966f;
}

.slideMenu a {
    position: relative;
    display: block;
    padding-left: 35px;
    padding-right: 60px;
}

.slideMenu a::after {
    position: absolute;
    top: 50%;
    right: 20px;
    z-index: 1;
    width: 26px;
    height: 26px;
    margin-top: -13px;
    line-height: 26px;
    text-align: center;
    letter-spacing: 0;
}

.slideMenu .submenu {
    display: none;
}

.slideMenu .submenu a {
    height: 50px;
    line-height: 50px;
    background-color: #fff;
}

.slideMenu .submenu a::after {
    content: '\f105';
    font-family: FontAwesome;
    color: #cbc8c5;
}

.slideMenu .submenu a:first-child {
    border-top: 1px solid #b3966f;
}

.slideMenu .submenu a + a {
    border-top: 1px solid #f0eae2;
}

.slideMenu .submenu.open {
    display: block;
}

.slideMenu .submenu.open a {
    animation: .5s showDown both .2s;
}

@keyframes showDown {
    0% {
        opacity: 0;
        transform: translateX(20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

/*頁尾資訊*/
footer {
    margin-top: 50px;
    background-image: url("../images/footer/footer_main_bg.jpg");
    position: relative;
}

footer.show .footerInfoBox {
    transform: translate(0);
    opacity: 1;
    transition-delay: .2s;
}

footer.show .copyrightBox {
    transition-delay: .2s;
}

footer .footerTopMask {
    display: block;
    width: 1920px;
    height: 50px;
    position: absolute;
    top: -50px;
    left: 0;
}

footer > img {
    position: absolute;
}

footer .leftDeco {
    display: block;
}

footer .leftDeco.flower1 {
    width: 46px;
    height: 45px;
    top: 60px;
    left: 30px;
    animation: footerDecoFlowerRoll 20s infinite linear;
}

footer .leftDeco.flower2 {
    width: 24px;
    height: 23px;
    top: 150px;
    left: 80px;
    animation: footerDecoFlowerRoll 8s infinite reverse linear;
}

footer .giraffeBox {
    display: block;
    position: absolute;
    width: 177px;
    height: 283px;
    bottom: 170px;
    left: 40px;
}

footer .giraffeBox:hover .giraffe {
    animation: footerAnimal 2s reverse infinite linear;
}

footer .giraffeBox:hover .bird {
    animation: footerBird 2s infinite linear;
}

footer .giraffe {
    display: block;
    position: absolute;
    width: 177px;
    height: 283px;
    bottom: 0px;
    left: 0px;
    transform-origin: bottom left;
}

footer .bird {
    display: block;
    position: absolute;
    width: 52px;
    height: 43px;
    bottom: 102px;
    left: 25px;
}

footer .leftDecoBox {
    display: block;
    width: 190px;
    height: 110px;
    bottom: 130px;
    left: 35px;
}

footer .rightDeco {
    display: block;
}

footer .rightDeco.flower1 {
    width: 38px;
    height: 38px;
    top: 50px;
    right: 150px;
    animation: footerDecoFlowerRoll 28s infinite linear;
}

footer .rightDeco.flower2 {
    width: 49px;
    height: 50px;
    top: 130px;
    right: 35px;
    animation: footerDecoFlowerRoll 26s reverse infinite linear;
}

footer .rightDeco.flower3 {
    width: 54px;
    height: 56px;
    bottom: 145px;
    right: 230px;
    animation: footerDecoFlowerRoll 30s infinite linear;
}

footer .bear {
    display: block;
    width: 171px;
    height: 164px;
    bottom: 190px;
    right: 40px;
    transform-origin: bottom right;
}

footer .bear:hover {
    animation: footerAnimal 2s infinite;
}

footer .rightDecoBox {
    display: block;
    width: 100px;
    height: 100px;
    bottom: 143px;
    right: 23px;
}

footer .wrap {
    display: flex;
    flex-wrap: wrap;
}

footer .leftBox {
    width: calc(100% - 627px);
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    padding: 30px 0 0;
}

footer .leftBox .sectitle {
    font-size: 36px;
    line-height: 26px;
    letter-spacing: 0.2px;
    color: #be2632;
    display: inline-block;
    padding: 0 0 25px;
    position: relative;
}

footer .leftBox .sectitle::before {
    content: "";
    width: 100%;
    height: 1.5px;
    background-color: #be2632;
    position: absolute;
    bottom: 25px;
    left: 0;
    filter: blur(0.5px);
    transform: rotate(-0.7deg);
    transform-origin: left;
}

footer .mapBox {
    width: 627px;
    position: relative;
}

footer .mapBox > img {
    width: 100%;
}

footer .mapBox .logoPin {
    display: block;
    position: absolute;
    top: 72px;
    left: 255px;
    animation: footerMapPin 1s infinite;
}

footer .mapBox .logoPin img {
    display: block;
    width: 100%;
    height: 100%;
}

footer .mapBox .logoPin:hover {
    animation: none;
}

footer .mapBox .logoPin:hover img {
    filter: brightness(1.3);
    transform: scale(1.05);
}

@media (max-width: 1800px) {
    footer .wrap {
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
        justify-content: center;
    }
    footer .leftBox {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 1180px) {
    footer .leftDecoBox {
        left: calc(50% - 500px);
    }
    footer .giraffeBox {
        left: calc(50% - 500px);
    }
    footer .rightDecoBox {
        right: calc(50% - 500px);
    }
    footer .bear {
        right: calc(50% - 500px);
    }
    footer .mapBox {
        width: 100%;
        max-width: 627px;
        margin: 0 -20px;
    }
    footer .mapBox .logoPin {
        top: 15%;
        left: 41%;
        width: 60px;
        height: 60px;
    }
    footer .mapBox .logoPin img {
        object-fit: contain;
    }
}

@media (max-width: 640px) {
    footer .footerTopMask {
        left: -540px;
    }
    footer .leftDeco, footer .rightDeco {
        display: none;
    }
}

@media (max-width: 440px) {
    footer .mapBox {
        height: 300px;
    }
    footer .mapBox > img {
        width: 400px;
        position: absolute;
        top: 0;
        left: calc(50% - 200px);
    }
}

.gotopBox {
    display: block;
    position: absolute;
    top: -180px;
    right: 10px;
    width: 120px;
    height: 120px;
}

.gotopBox::before {
    content: "Go Top!";
    font-size: 24px;
    display: block;
    color: #683817;
    letter-spacing: 0;
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-40%);
}

.gotopBox img {
    position: absolute;
    top: 0;
    left: 0;
}

.gotopBox img.monkey {
    animation: gotopMonkey 6s infinite;
}

.gotopBox img.music {
    animation: gotopMusic 6s infinite;
}

.gotopBox:hover {
    transform: scale(1.1);
}

@media (max-width: 960px) {
    .gotopBox {
        right: 0;
        transform: scale(0.8);
    }
    .gotopBox:hover {
        transform: scale(0.9);
    }
}

@media (max-width: 640px) {
    .gotopBox {
        right: -10px;
        top: -100px;
    }
}

@media (max-width: 370px) {
    .gotopBox {
        right: -15px;
        transform: scale(0.7);
    }
    .gotopBox:hover {
        transform: scale(0.8);
    }
}

.footerLogo {
    width: 100%;
    height: 86px;
    padding: 0px 0 34px;
    margin: 0;
}

.footerLogo a {
    display: block;
    width: 100%;
    width: 323px;
    height: 100%;
    background-image: url(../images/logo.png);
    background-repeat: no-repeat;
    background-size: contain;
}

@media (max-width: 1800px) {
    .footerLogo a {
        margin: 0 auto;
    }
}

@media (max-width: 640px) {
    .footerLogo {
        padding: 0 0 20px;
    }
    .footerLogo a {
        margin: 0;
        width: 100%;
        max-width: 323px;
    }
}

.footerInfoBox {
    width: 350px;
}

.footerInfoBox a {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-content: center;
    min-height: 34px;
}

.footerInfoBox a:hover svg {
    fill: #8ea016;
}

.footerInfoBox a:hover .exp {
    color: #8ea016;
}

.footerInfoBox a.mail svg {
    margin-top: 8px;
}

.footerInfoBox svg {
    fill: #d43436;
    transition: 0.3s all;
    margin-top: 4px;
    margin-right: 8px;
}

.footerInfoBox .exp {
    font-family: 'jf', sans-serif, cursive;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: 0.5px;
    color: #683817;
    transition: 0.3s all;
}

@media (max-width: 1180px) {
    .footerInfoBox {
        width: 100%;
        max-width: 450px;
        padding: 0 0 20px;
    }
}

@media (max-width: 400px) {
    .footerInfoBox .exp {
        font-size: 16px;
        letter-spacing: 0;
    }
}

.sitemapBox {
    width: calc(100% - 350px);
}

.sitemapBox .sitemapList {
    font-family: 'jf', sans-serif, cursive;
    font-size: 18px;
    line-height: 26px;
    letter-spacing: 0.5px;
    color: #683817;
    margin: 0 -16px;
    padding: 0 0 30px;
}

.sitemapBox .sitemapList a {
    display: inline-block;
    padding: 0 16px;
    position: relative;
}

.sitemapBox .sitemapList a::before {
    content: "";
    width: 1px;
    height: 14px;
    background-color: #683817;
    position: absolute;
    top: calc(50% - 7px);
    left: 0;
}

.sitemapBox .sitemapList a:first-child::before {
    background-color: transparent;
}

.sitemapBox .sitemapList a:nth-child(4n+1)::before {
    background-color: transparent;
}

.sitemapBox .orderLink, .sitemapBox .cartLink {
    display: inline-flex;
    align-content: center;
    align-items: center;
    padding-right: 20px;
}

.sitemapBox .orderLink p, .sitemapBox .cartLink p {
    display: inline-block;
    padding-left: 10px;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: 0.5px;
    color: #683817;
    transition: 0.3s all;
}

.sitemapBox .orderLink:hover img, .sitemapBox .cartLink:hover img {
    transform: rotate(14deg);
    transform-origin: right bottom;
}

.sitemapBox .orderLink:hover p, .sitemapBox .cartLink:hover p {
    color: #8ea016;
}

.sitemapBox .googlemap {
    display: flex;
    width: 100%;
    padding: 30px 0 0;
}

.sitemapBox .googlemap p {
    padding-left: 5px;
    font-size: 36px;
    line-height: 1;
    letter-spacing: 0;
    color: #be2632;
    transition: 0.3s all;
}

.sitemapBox .googlemap:hover p {
    color: #fff;
    animation: footerRightMove 1s infinite;
}

@media (max-width: 1800px) {
    .sitemapBox {
        width: 450px;
    }
}

@media (max-width: 1180px) {
    .sitemapBox {
        width: 100%;
        max-width: 450px;
        padding: 0 0 20px;
    }
}

@media (max-width: 480px) {
    .sitemapBox .sitemapList {
        font-size: 16px;
        letter-spacing: 0;
        margin: 0;
    }
    .sitemapBox .sitemapList a {
        padding: 0 10px;
    }
    .sitemapBox .sitemapList a::before {
        background-color: transparent;
    }
    .sitemapBox .orderLink p, .sitemapBox .cartLink p {
        font-size: 16px;
        letter-spacing: 0;
    }
}

.copyrightWrap {
    margin: 40px 0 0;
    position: relative;
    background-image: url(../images/footer/footer_copyright_bg.jpg);
}

.copyrightWrap .wrap {
    height: 80px;
    display: flex;
    justify-content: space-between;
    align-content: center;
    align-items: center;
}

.copyrightWrap .copyrightBox p {
    display: inline-block;
    font-size: 20px;
    color: #fff;
    line-height: 26px;
    letter-spacing: 0;
}

.copyrightWrap .design {
    font-size: 20px;
    color: #fff;
    line-height: 26px;
    letter-spacing: 0;
}

.copyrightWrap .design a {
    color: #fff;
}

.copyrightWrap .design a:hover {
    color: #fbd246;
}

.copyrightWrap .snsBox a {
    display: inline-flex;
    align-items: center;
}

.copyrightWrap .snsBox a.line {
    margin-right: 30px;
}

.copyrightWrap .snsBox a:hover span {
    color: #fbd246;
}

.copyrightWrap .snsBox a:hover svg {
    fill: #fbd246;
    animation: snsIcon 1.2s infinite ease-in-out;
}

.copyrightWrap .snsBox svg {
    width: 20px;
    height: 20px;
    fill: #fff;
    margin-right: 8px;
}

.copyrightWrap .snsBox span {
    display: inline-block;
    color: #fff;
    font-size: 25px;
    line-height: 1;
    letter-spacing: 0.5px;
}

@media (max-width: 640px) {
    .copyrightWrap {
        background-size: cover;
        padding: 20px 0;
    }
    .copyrightWrap .wrap {
        flex-wrap: wrap;
        height: auto;
    }
}

/*********** 內頁*****************/
/*****banner******/
.bannerArea {
    position: relative;
}

.bannerArea.notHome {
    margin: 75px 0 0;
    height: 650px;
}

.bannerArea.notHome::after {
    content: "";
    width: 1920px;
    height: 75px;
    background-image: url(../images/ins_banner_bottom_mask.png);
    animation: headerWave 100s infinite linear reverse;
    position: absolute;
    bottom: -5px;
    left: calc(50% - 960px);
}

.bannerArea.notHome .bannerBox {
    width: 100%;
    height: 100%;
}

.bannerArea.notHome #banner {
    width: 100%;
    height: 100%;
}

.bannerArea.notHome #banner div {
    width: 100%;
    height: 100%;
}

.bannerArea.notHome #banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 1440px) {
    .bannerArea.notHome {
        height: 560px;
    }
}

@media (max-width: 1080px) {
    .bannerArea.notHome {
        height: 500px;
    }
    .bannerArea.notHome::after {
        width: 1536px;
        height: 60px;
        left: calc(50% - 768px);
    }
    .bannerArea.notHome .slick-dots {
        bottom: 60px;
    }
}

@media (max-width: 640px) {
    .bannerArea.notHome {
        height: 480px;
    }
    .bannerArea.notHome::after {
        height: 45px;
    }
    .bannerArea.notHome .slick-dots {
        bottom: 40px;
    }
}

@media (max-width: 400px) {
    .bannerArea.notHome {
        height: 300px;
    }
    .bannerArea.notHome::after {
        height: 30px;
    }
    .bannerArea.notHome .slick-dots {
        bottom: 30px;
    }
}

.slick-dots {
    position: absolute;
    bottom: 64px;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
    text-align: center;
}

.slick-dots .slick-active button::before {
    background-color: #d43436;
}

.slick-dots li {
    display: inline-block;
}

.slick-dots li + li {
    margin-left: 3px;
}

.slick-dots button {
    position: relative;
    width: 26px;
    height: 26px;
    border: none;
    outline: none;
    cursor: pointer;
    color: transparent;
    background-color: transparent;
}

.slick-dots button::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    width: 12px;
    height: 12px;
    margin-left: -6px;
    margin-top: -6px;
    border-radius: 50%;
    background-color: #fff;
    box-shadow: 0px 1px 7px 0px rgba(0, 0, 0, 0.25);
}

.bread {
    position: absolute;
    top: -65px;
    left: 0;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    font-size: 14px;
    line-height: 24px;
    font-family: 'jf','微軟正黑體', sans-serif;
}

.bread a, .bread span {
    display: block;
    color: #464645;
}

.bread a + a::before, .bread a + span::before, .bread span + a::before, .bread span + span::before {
    content: '>';
    display: inline-block;
    margin-left: 5px;
    margin-right: 5px;
    color: #464645;
}

.bread a:hover, .bread span:hover {
    color: #8ea016;
}

@media (max-width: 1440px) {
    .bread {
        padding: 0 20px;
        line-height: 20px;
        top: -70px;
    }
}

.classNote {
    text-align: center;
    font-family: 'jf','微軟正黑體', sans-serif;
    min-height: 110px;
    position: relative;
    width: 100%;
    margin-left: -50px;
    margin-bottom: 40px;
}

.classNote .decoLeft {
    pointer-events: none;
    position: absolute;
    top: -50px;
    left: -10px;
    display: block;
    width: 260px;
    height: 180px;
}

.classNote .decoLeft.bottom {
    top: auto;
    bottom: -10px;
}

.classNote .decoRight {
    pointer-events: none;
    position: absolute;
    top: -70px;
    right: 0px;
    display: block;
    width: 300px;
    height: 170px;
}

.classNote .decoRight.bottom {
    top: auto;
    bottom: -30px;
}

.classNote .mTitle {
    margin: 0 auto;
    font-size: 30px;
    letter-spacing: 4.5px;
    line-height: 35px;
    color: #683817;
    font-weight: 400;
    position: relative;
    display: inline-block;
}

.classNote .mTitle::before {
    content: '';
    width: 80px;
    height: 10px;
    position: absolute;
    top: calc(50% - 5px);
    left: -100px;
    background-image: url(../images/deco_color_dots_line.png);
    background-position: 0 0;
}

.classNote .mTitle::after {
    content: '';
    width: 80px;
    height: 10px;
    position: absolute;
    top: calc(50% - 5px);
    right: -100px;
    background-image: url(../images/deco_color_dots_line.png);
    background-position: right;
}

.classNote .content {
    padding: 25px 0 0;
    margin: 0 auto;
    width: 100%;
    max-width: 700px;
    font-size: 20px;
    line-height: 27px;
    letter-spacing: .5px;
    color: #626262;
}

@media (max-width: 1180px) {
    .classNote {
        margin-left: 0;
    }
}

@media (max-width: 960px) {
    .classNote .decoLeft {
        left: calc(50% - 470px);
    }
    .classNote .decoRight {
        right: calc(50% - 470px);
    }
}

@media (max-width: 640px) {
    .classNote .content {
        font-size: 16px;
        line-height: 24px;
        letter-spacing: 0;
    }
}

.articleTitle {
    padding: 10px 0 20px;
    font-weight: 400;
    font-size: 24px;
    color: #683817;
    position: relative;
}

@media (max-width: 640px) {
    .articleTitle {
        font-size: 22px;
    }
}

/*側邊標題字*/
.sectionTitle {
    margin: 20px 0 10px;
    color: #683817;
    font-size: 18px;
    text-align: center;
}

.secondaryTitle {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 40px;
    font-size: 18px;
    font-weight: 400;
    color: #a62627;
}

@media (max-width: 1180px) {
    .secondaryTitle {
        padding-bottom: 20px;
    }
}

.secondaryTitle::before, .secondaryTitle::after {
    content: '';
    display: block;
    width: 10px;
    height: 2px;
    background-color: #ccc;
}

.secondaryTitle::before {
    margin-right: 20px;
}

.secondaryTitle::after {
    margin-left: 20px;
}

table.breakpoint > tbody > tr > td.expand {
    cursor: pointer;
    background: url("../images/plus.png") no-repeat 5px center;
    padding-left: 40px;
}

/*類別*/
.classBox {
    position: relative;
    z-index: 1;
    padding: 20px 0;
}

.classBox > ul {
    text-align: center;
}

@media (max-width: 1180px) {
    .classBox > ul {
        display: none;
    }
}

.classBox > ul li {
    display: inline-block;
}

.classBox > ul li + li a::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 1;
    width: 1px;
    height: 16px;
    margin-top: -8px;
    background-color: #ddd4cb;
}

.classBox > ul a {
    position: relative;
    display: block;
    padding: 10px 15px;
    font-size: 16px;
    color: #a0886f;
    letter-spacing: 2px;
}

.classBox > ul a.current, .classBox > ul a:hover {
    color: #000;
}

.m_classLink {
    font-family: 'jf','微軟正黑體', sans-serif;
}

@media (min-width: 1181px) {
    .m_classLink {
        display: none;
    }
}

.m_classLink .main {
    position: relative;
    display: block;
    font-size: 14px;
    padding: 15px 20px;
    color: #343434;
    letter-spacing: 1px;
    border-bottom: 1px solid #e5e5e5;
    background-color: #fff;
    cursor: pointer;
}

.m_classLink .main::before {
    content: '\f107';
    position: absolute;
    right: 10px;
    top: 50%;
    z-index: 1;
    margin-top: -6px;
    font-size: 15px;
    font-family: FontAwesome;
}

.m_classLink ul {
    position: absolute;
    left: 0;
    top: calc(100% - 0px);
    z-index: 1;
    display: none;
    width: 100%;
    background-color: #fff;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.m_classLink ul li + li {
    border-top: 1px solid #f2f2f2;
}

.m_classLink ul a {
    display: block;
    padding: 14px 20px;
    color: #000;
    font-size: 14px;
    background-color: #fff;
}

.m_classLink ul a.current {
    color: #fff;
    background-color: #8ea016;
}

/******頁籤*******/
.tabBox {
    padding: 10px 20px;
    border-radius: 20px;
    margin: 40px 0 20px;
    position: relative;
}

.tabBox::before {
    content: "";
    width: 100%;
    height: 10px;
    position: absolute;
    top: -30px;
    left: 0;
    background-image: url(../images/deco_color_dots_line.png);
}

@media (max-width: 640px) {
    .tabBox {
        padding: 10px 0;
    }
}

.tab {
    display: flex;
}

.tab a {
    flex-grow: 1;
    margin: 0 10px;
    padding: 10px 20px;
    border-radius: 40px;
    font-size: 18px;
    text-align: center;
    letter-spacing: 2px;
    color: #683817;
    font-weight: 600;
    background-color: #fff;
    position: relative;
    text-align: center;
}

.tab a.current {
    color: #4c2a21;
    background-color: #fbd246;
}

@media (max-width: 480px) {
    .tab {
        background-color: #fff;
        border-radius: 40px;
        box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    }
    .tab a {
        flex-grow: 1;
        margin: 0;
        padding: 10px;
        font-weight: 400;
        font-size: 16px;
        line-height: 20px;
        letter-spacing: 1px;
    }
}

.tabContent {
    margin-top: 20px;
    padding: 30px 20px;
    background-color: #fff;
    border-radius: 20px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}

.tabContent > li {
    display: none;
}

.tabContent li .textEditor {
    margin: 0;
    letter-spacing: 1px;
}

.tabContent .sectionTitle {
    display: none;
}

/*側邊_menu*/
.side_menu {
    position: relative;
    z-index: 2;
    padding: 10px 0 0;
    max-width: 232px;
}

@media (max-width: 1180px) {
    .side_menu > ul {
        display: none;
    }
}

.side_menu > ul li {
    position: relative;
}

.side_menu > ul li::before {
    content: "";
    width: 100%;
    height: 1px;
    background-image: url(../images/page_class_border.png);
    position: absolute;
    bottom: 0;
    left: 0;
}

.side_menu > ul a {
    display: block;
    padding: 20px 60px 20px 20px;
    font-size: 18px;
    line-height: 21px;
    color: #683817;
    font-family: 'jf','微軟正黑體', sans-serif;
    font-weight: 400;
}

.side_menu > ul a.current {
    color: #e60012;
}

.side_menu > ul a:hover {
    color: #8ea016;
}

.side_menu dl {
    padding-left: 25px;
}

.side_menu dl a {
    display: block;
    padding: 10px 15px;
    font-size: 14px;
}

.side_menu dl a.current {
    color: #000;
    text-decoration: underline;
}

@media (max-width: 1180px) {
    .side_menu {
        margin: 0 auto;
    }
}

/*側邊_相簿*/
.side_album {
    margin-top: 30px;
    margin-bottom: 30px;
    display: flex;
    flex-wrap: wrap;
}

.side_album li {
    width: 80px;
    height: 80px;
    padding: 5px;
}

.side_album a {
    display: block;
    background-color: #fff;
    box-shadow: 2px 2px 5px #c3c3c3;
    width: 100%;
    height: 100%;
}

.side_album a img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 960px) {
    .side_album li {
        width: 70px;
        height: 70px;
        padding: 5px;
    }
}

@media (max-width: 640px) {
    .side_album li {
        width: 60px;
        height: 60px;
        padding: 3px;
    }
}

@media (max-width: 400px) {
    .side_album li {
        width: 50px;
        height: 50px;
        padding: 3px;
    }
}

/*側邊_聯絡資訊*/
.side_contactInfo {
    margin-top: 20px;
}

.side_contactInfo li {
    margin-bottom: 20px;
}

.side_contactInfo a {
    display: inline-flex;
    align-items: center;
    font-size: 16px;
}

.side_contactInfo i {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    line-height: 40px;
    margin-right: 10px;
    border-radius: 50%;
    text-align: center;
    color: #fff;
    background-color: #a62627;
}

.side_contactInfo b {
    font-weight: 400;
    letter-spacing: 1px;
}

/*側邊_分享*/
.side_share {
    clear: both;
    display: none;
    margin-top: 30px;
}

.side_share a {
    display: block;
    width: 100%;
    margin-top: 5px;
    padding: 15px 10px;
    border-radius: 4px;
    font-weight: bold;
    font-size: 13px;
    line-height: 1;
    color: #fff;
    text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.25);
    text-align: center;
}

.side_share i {
    padding-right: 5px;
    font-size: 18px;
}

.side_share .line {
    box-shadow: 0 0 0 1px #22a00b;
    border-top: 1px solid #e1ffa9;
    background: #a7e732;
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMTAwJSI+CiAgICA8c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjYTdlNzMyIiBzdG9wLW9wYWNpdHk9IjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMzUlIiBzdG9wLWNvbG9yPSIjMWZiNTBlIiBzdG9wLW9wYWNpdHk9IjEiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZ3JhZC11Y2dnLWdlbmVyYXRlZCkiIC8+Cjwvc3ZnPg==);
    background: linear-gradient(135deg, #a7e732 0%, #1fb50e 35%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#a7e732', endColorstr='#1fb50e', GradientType=1);
}

.side_share .fb {
    box-shadow: 0 0 0 1px #235c9b;
    border-top: 1px solid #8DCFF5;
    background: #5da0ea;
    /* Old browsers */
    /* IE9 SVG, needs conditional override of 'filter' to 'none' */
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzVkYTBlYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMzZDhjZTYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
    /* FF3.6+ */
    /* Chrome,Safari4+ */
    /* Chrome10+,Safari5.1+ */
    /* Opera 11.10+ */
    /* IE10+ */
    background: linear-gradient(to bottom, #5da0ea 0%, #3d8ce6 100%);
    /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5da0ea', endColorstr='#3d8ce6', GradientType=0);
    /* IE6-8 */
}

.btnBox {
    clear: both;
    margin-top: 40px;
}

.readBtn {
    display: inline-flex;
    align-items: center;
    color: #683817;
    font-size: 30px;
    line-height: 30px;
}

@media (min-width: 1181px) {
    .readBtn:hover::before {
        width: 0;
        margin-right: 0;
    }
}

.readBtn::before {
    content: '';
    width: 30px;
    height: 1px;
    margin-right: 9px;
    background-color: #9f9f9f;
}

.parallaxImg {
    position: absolute;
    z-index: -1;
    pointer-events: none;
}

.ribbon {
    width: 70px;
    text-align: center;
    position: absolute;
    top: 60px;
    left: 0px;
    padding: 5px 0px;
    font-size: 34px;
    line-height: 26px;
    pointer-events: none;
    border-radius: 30px;
}

.ribbon.ribbon_new {
    color: #683817;
    background-color: #bae39e;
}

.ribbon.ribbon_hot {
    color: #683817;
    background-color: #fdb5c9;
}

@media (max-width: 375px) {
    .ribbon {
        top: 40px;
        left: -5px;
    }
}

/***↓↓↓購物車↓↓↓***/
.cartArea {
    width: 360px !important;
    border: 1px solid #ececec;
    background-color: #fff;
}

.cartArea .wrap {
    position: relative;
    width: auto;
    padding: 20px 20px;
}

.cartArea .cartNote {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
    font-size: 15px;
    letter-spacing: .025em;
    color: #683817;
    padding-right: 20px;
}

.cartArea .cartNote i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 37px;
    height: 37px;
    margin-right: 15px;
    border-radius: 50%;
    fill: #fff;
    background-color: #80320e;
}

.cartArea .cartNote img {
    margin-right: 10px;
}

.cartArea .cartNote b {
    margin: 0 3px;
    font-size: 30px;
    line-height: 20px;
    font-weight: 500;
    color: #8ea016;
}

.cartArea .cartNote svg {
    width: 20px;
    height: 20px;
}

.cartArea .countBox {
    margin-bottom: 30px;
    font-size: 14px;
    letter-spacing: .025em;
}

.cartArea .countBox b {
    margin-left: 20px;
    font-weight: 500;
    font-size: 18px;
    color: #80320e;
    letter-spacing: .075em;
}

.cartArea .cart {
    clear: both;
    max-height: 250px;
    overflow-y: auto;
}

.cartArea .cart li {
    position: relative;
    margin-bottom: 20px;
}

.cartArea .cart li i {
    cursor: pointer;
    display: block;
    float: right;
    font-size: 18px;
    color: #949494;
}

.cartArea .cart .Img {
    float: left;
    margin-right: 15px;
    width: 65px;
    height: 65px;
    overflow: hidden;
}

.cartArea .cart .Img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cartArea .cart .Txt {
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
}

.cartArea .cart h3 {
    width: 100%;
    display: block;
    margin-bottom: 3px;
}

.cartArea .cart h3 a {
    display: block;
    font-weight: 400;
}

.cartArea .cart h3 a, .cartArea .cart .spec {
    font-size: 13px;
    letter-spacing: .05em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cartArea .cart .spec {
    width: 100%;
    margin-bottom: 10px;
}

.cartArea .cart .num, .cartArea .cart .price {
    font-size: 26px;
    line-height: 16px;
    letter-spacing: .05em;
}

.cartArea .cart .num {
    margin-right: 12px;
}

.cartArea .cart .del {
    margin-left: auto;
    width: 16px;
    height: 20px;
    background: url("../images/icon-garbage.svg") no-repeat;
    background-size: contain;
}

.cartArea .btnBox {
    clear: none;
    display: flex;
    flex-wrap: nowrap;
}

.cartArea .btnBox a {
    display: block;
    height: auto;
    padding: 0 10px;
    margin-right: 10px;
    color: #fff;
    font-size: 16px;
    line-height: 40px;
    border-radius: 30px;
    background-color: #8ea016;
}

.cartArea .btnBox a:hover {
    background-color: #d43436;
}

.cartArea .btn01 {
    text-align: center;
}

.cartArea .btn01 a {
    min-width: 185px;
    padding: 15px 30px;
}

/*訂單查詢*/
.orderCheckArea {
    width: 360px;
    border: 1px solid #ececec;
    background-color: #fff;
}

.orderCheckArea .wrap {
    position: relative;
    width: auto;
    padding: 40px 40px 30px;
    text-align: center;
}

#closeOrder, #closeCart, #closePrice, #closeInquiry, #closeLogin {
    position: absolute;
    top: 8px;
    right: 10px;
    width: 30px;
    height: 30px;
}

#closeOrder:before, #closeOrder:after, #closeCart:before, #closeCart:after, #closePrice:before, #closePrice:after, #closeInquiry:before, #closeInquiry:after, #closeLogin:before, #closeLogin:after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -10px;
    margin-top: -0.5px;
    width: 20px;
    height: 1px;
    transition: all .5s;
}

#closeOrder:before, #closeCart:before, #closePrice:before, #closeInquiry:before, #closeLogin:before {
    transform: rotate(45deg);
}

#closeOrder:after, #closeCart:after, #closePrice:after, #closeInquiry:after, #closeLogin:after {
    transform: rotate(-45deg);
}

.orderCheckArea::-webkit-input-placeholder {
    /* Chrome */
    color: #b5b5b5;
}

.orderCheckArea:-ms-input-placeholder {
    /* IE 10+ */
    color: #b5b5b5;
}

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

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

.orderCheckArea h4 {
    margin-bottom: 10px;
    font-weight: 400;
    font-size: 16px;
    font-family: "微軟正黑體", "新細明體", sans-serif;
    color: #222;
    text-align: left;
}

.orderCheckArea input[type="text"], .orderCheckArea input[type="password"] {
    width: 100%;
    height: 40px;
    padding: 5px 15px;
    margin-bottom: 10px;
    border: 1px solid #ececec;
    font-size: 13px;
    letter-spacing: .05em;
}

.orderCheckArea .title01 {
    margin-bottom: 20px;
}

.orderCheckArea .btn01 {
    margin-top: 20px;
    text-align: center;
}

.orderCheckArea .btn01 a {
    min-width: 185px;
    padding: 15px 30px;
}

@media screen and (max-width: 480px) {
    .cartArea, .orderCheckArea {
        width: calc(100% - 30px) !important;
    }
    .cartArea .wrap, .orderCheckArea .wrap {
        padding-left: 15px;
        padding-right: 15px;
    }
    #closeOrder, #closeCart, #closePrice, #closeInquiry {
        top: 5px;
        font-size: 25px;
    }
}

/***↑↑↑購物車↑↑↑**/
/***↓↓↓會員登入↓↓↓**/
.loginArea {
    width: 400px !important;
    border: 1px solid #ececec;
    background-color: #fff;
}

.loginArea .box {
    position: relative;
    padding: 40px 40px 30px;
    background: #fff;
}

@media screen and (max-width: 480px) {
    .loginArea {
        width: calc(100% - 30px) !important;
    }
    .loginArea .box {
        padding-left: 15px;
        padding-right: 15px;
    }
}

.loginBox {
    position: relative;
}

.loginBox .submenu {
    position: absolute;
    top: 140%;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    padding: 10px 15px;
    line-height: 2;
    background-color: #fff;
    box-shadow: 0 3px 20px rgba(0, 0, 0, 0.05);
    border-radius: 5px;
    opacity: 0;
    pointer-events: none;
    transition: all .5s;
}

.loginBox .submenu.show {
    top: 120%;
    opacity: 1;
    pointer-events: auto;
}

.loginBox .submenu a {
    display: block;
    text-align: center;
}

a#closeLogin {
    position: absolute;
    right: 10px;
    top: 10px;
    font-size: 18px;
    color: #666;
}

.loginArea input[type="text"], .loginArea input[type="password"] {
    display: block;
    width: 100%;
    height: 40px;
    padding: 5px;
    margin-bottom: 7px;
    border: 1px solid #ececec;
}

.loginArea .area {
    margin-top: 20px;
}

.loginArea .btnBox {
    margin-top: 0;
    margin-bottom: 20px;
}

.loginArea .btnBox a {
    color: #fff;
    background-color: #8ea016;
    border-radius: 40px;
}

.loginArea .forgetCheck, .loginArea .resendCheck {
    display: none;
}

/***↑↑↑會員登入↑↑↑**/
.newsInfoBox {
    display: flex;
    align-items: center;
}

.newsInfoBox .date {
    font-weight: 500;
    font-size: 26px;
    line-height: 30px;
    color: #8ea016;
    text-transform: uppercase;
    letter-spacing: 0px;
}

.newsInfoBox .newIcon {
    margin-left: auto;
}

.newIcon {
    height: 24px;
    line-height: 24px;
    padding-left: 8px;
    padding-right: 8px;
    font-family: "East Sea Dokdo", "jf", "Noto Serif TC", serif;
    font-size: 13px;
    color: #fff;
    letter-spacing: 1px;
}

.newIcon_green {
    background-color: #abd85d;
}

.newIcon_brown {
    background-color: #d8b995;
}

.newIcon_darkbrown {
    background-color: #80320e;
}

.newIcon_pink {
    background-color: #f48daf;
}

.newIcon_blue {
    background-color: #00b7ea;
}

.newIcon_navy {
    background-color: #3f4c6b;
}

.newIcon_orange {
    background-color: #ffa84c;
}

.newIcon_gold {
    background-color: #eab92d;
}

.newIcon_burgundyRed {
    background-color: #a90329;
}

/*--滑動解鎖--*/
.captchaArea {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    width: 200px;
    height: 40px;
    margin-right: 10px;
    background-color: #f3f3f3;
}

.captchaArea.unlocking .sliderBtn {
    transition: none;
}

.captchaArea .note {
    position: absolute;
    top: 10px;
    right: 30px;
    z-index: 1;
    font-size: 15px;
    text-align: center;
    font-family: '微軟正黑體';
    color: #333;
    letter-spacing: 1px;
    pointer-events: none;
}

.sliderBtn {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 40px;
    height: 40px;
    border: none;
    outline: none;
    background-color: #a62627;
    cursor: pointer;
    box-sizing: border-box;
    transition: all .3s linear;
}

.sliderBtn::before {
    content: '\f105';
    position: absolute;
    top: 8px;
    left: 18px;
    color: #fff;
    font-size: 24px;
    font-family: FontAwesome;
    pointer-events: none;
}

.radio {
    display: none;
    position: relative;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.radio + label {
    position: relative;
    cursor: pointer;
}

.radio + label span {
    position: relative;
    display: inline-block;
    vertical-align: top;
    margin-right: 5px;
    width: 25px;
    height: 25px;
    border: 1px solid #e7e7e7;
    border-radius: 50%;
    background-color: #fff;
}

.radio + label span::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    width: 13px;
    height: 13px;
    margin-left: -6.5px;
    margin-top: -6.5px;
    border-radius: 50%;
    transform: scale(0);
    background-color: #a62627;
}

.radio:checked + label span:before {
    transform: scale(1);
    opacity: 1;
}

@media (min-width: 1181px) {
    .menu li:hover .submenu {
        top: 100%;
        opacity: 1;
        visibility: visible;
    }
}

/*480*/
@media (max-width: 480px) {
    .slideMenuBox {
        width: 100%;
        right: -480px;
        padding-bottom: 20px;
        overflow: auto;
    }
    .slideMenu a {
        padding-left: 20px;
    }
    .slideMenu > li > a {
        height: 50px;
        line-height: 50px;
    }
    .slideMenu .submenu a {
        height: 40px;
        line-height: 40px;
    }
    .captchaArea, .checkArea .btn {
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
    .checkArea .btn {
        width: 200px;
        margin-top: 10px;
    }
    .checkArea .btn a {
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }
    .col-2, .col-3, .col-4, .col-5 {
        float: none;
        width: 100%;
    }
}

@media (max-width: 400px) {
    .cartArea .cartNote {
        font-size: 13px;
    }
}

.priceBox {
    font-size: 20px;
    font-weight: 700;
    color: #bc2f37;
    text-align: center;
}

.priceBox::before {
    content: 'NT$';
    font-weight: 400;
    margin-right: 5px;
}

.priceBox::after {
    content: '起';
    font-weight: 400;
    margin-left: 5px;
}

.redArrow {
    width: 60px;
    height: 60px;
    display: inline-block;
}

.redArrow svg {
    width: 20px;
    height: 34px;
    padding: 13px 20px;
    fill: #d43436;
}

.redArrow.prevArrow svg {
    transform: scaleX(-1);
}

.redArrow:hover svg {
    fill: #fbd246;
}

@keyframes arrowRight {
    0%,
    100%,
    20%,
    50%,
    80% {
        transform: translateX(0);
    }
    40% {
        transform: translateX(-20%);
    }
    60% {
        transform: translateX(-10%);
    }
}

@keyframes arrowLeft {
    0%,
    100%,
    20%,
    50%,
    80% {
        transform: translateX(0);
    }
    40% {
        transform: translateX(20%);
    }
    60% {
        transform: translateX(10%);
    }
}

@media (min-width: 1181px) {
    .hImgScale:hover .Img img {
        transform: scale(1.1);
    }
}

.hImgScale .Img {
    overflow: hidden;
}

.hImgScale .Img img {
    display: block;
    max-width: 100%;
    backface-visibility: hidden;
}

.quickBackBox {
    clear: both;
    margin-top: 10px;
    font-size: 14px;
    color: #434343;
    text-align: right;
}

.quickBackBox a {
    position: relative;
    display: inline-block;
}

.quickBackBox a:nth-child(2) {
    padding-left: 8px;
}

.quickBackBox a:nth-child(2)::before {
    content: '';
    position: absolute;
    left: 0;
    top: 2px;
    width: 1px;
    height: 15px;
    background-color: #707070;
}

.quickBackBox a + a {
    margin-left: 5px;
}

.searchArea {
    max-width: 640px;
    padding: 40px;
    background-color: #fff;
}

.searchArea .wrap {
    width: 100%;
}

.searchArea .itemTitle {
    color: #683817;
}

.searchArea .searchBox {
    position: relative;
    border: 1px solid #ececec;
}

.searchArea .searchBox input {
    width: 300px;
    height: 50px;
    line-height: 50px;
    padding: 5px 50px 5px 15px;
    border: none;
    font-size: 15px;
    letter-spacing: 1px;
    font-family: 'jf', sans-serif;
}

.searchArea .searchBox input::placeholder {
    font-size: 30px;
    font-family: 'East Sea Dokdo','jf', cursive;
}

.searchArea .searchBox .searchBtn {
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    margin-top: -20px;
}

.searchArea .searchBox .searchBtn .ovalBg {
    width: 37px;
    height: 37px;
    fill: #FFDC31;
}

.searchArea .searchBox .searchBtn i {
    position: absolute;
    top: 12px;
    right: 12px;
    color: #fff;
}

.searchArea .searchBox .searchBtn:hover .ovalBg {
    fill: #d43436;
}

@media (max-width: 480px) {
    .searchArea .searchBox {
        width: calc(100% - 60px);
    }
    .searchArea .searchBox input {
        line-height: 60px;
    }
    .searchArea .searchBox .searchBtn {
        right: -50px;
    }
}

.pageParallaxImgBox {
    position: absolute;
    z-index: -1;
    pointer-events: none;
}

@media (max-width: 1180px) {
    .pageParallaxImgBox {
        display: none;
    }
}

.pageParallaxImgBox.LT {
    top: 20%;
    left: -100px;
    width: 295px;
    height: 410px;
}

.pageParallaxImgBox.LT img:nth-child(2) {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.pageParallaxImgBox.RT {
    top: 40%;
    right: 3%;
}

.pageParallaxImgBox.LB {
    left: 0;
    bottom: 26%;
}

@keyframes headerWave {
    0% {
        background-position-x: 0;
    }
    100% {
        background-position-x: 1920px;
    }
}

@keyframes snsIcon {
    0% {
        transform: scale(1);
    }
    30% {
        transform: scale(0.95);
    }
    50% {
        transform: scale(1.05);
    }
    70% {
        transform: scale(0.95);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes gotopMonkey {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
    }
    20% {
        transform: translate3d(0, 25px, 0) scale(0.3);
    }
    23% {
        transform: translate3d(0, 25px, 0) scale(0.3);
    }
    30% {
        transform: translate3d(0, 0, 0) scale(1);
    }
    100% {
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes gotopMusic {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
    }
    20% {
        transform: translate3d(0, 25px, 0) scale(0.3);
    }
    23% {
        transform: translate3d(0, 25px, 0) scale(0.3);
    }
    30% {
        transform: translate3d(0, 0, 0) scale(1);
    }
    35% {
        transform: translate3d(0, 0, 0) scale(1);
    }
    45% {
        transform: translate3d(0, 0, 0) scale(1.05);
    }
    50% {
        transform: translate3d(0, 0, 0) scale(1);
    }
    55% {
        transform: translate3d(0, 0, 0) scale(1.05);
    }
    60% {
        transform: translate3d(0, 0, 0) scale(1);
    }
    65% {
        transform: translate3d(0, 0, 0) scale(1.05);
    }
    70% {
        transform: translate3d(0, 0, 0) scale(1);
    }
    75% {
        transform: translate3d(0, 0, 0) scale(1.05);
    }
    80% {
        transform: translate3d(0, 0, 0) scale(1);
    }
    85% {
        transform: translate3d(0, 0, 0) scale(1.05);
    }
    90% {
        transform: translate3d(0, 0, 0) scale(1);
    }
    100% {
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes footerMapPin {
    0% {
        transform: translateY(0px);
    }
    70% {
        transform: translateY(-10px);
    }
    100% {
        transform: translateY(0px);
    }
}

@keyframes footerRightMove {
    0% {
        transform: translateX(0px);
    }
    30% {
        transform: translateX(5px);
    }
    100% {
        transform: translateX(0px);
    }
}

@keyframes footerDecoFlowerRoll {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@keyframes footerDecoFlowerScale {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(0.8);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes footerAnimal {
    0% {
        transform: rotate(0);
    }
    40% {
        transform: rotate(-5deg);
    }
    100% {
        transform: rotate(0);
    }
}

@keyframes footerBird {
    0% {
        transform: translateY(0);
    }
    20% {
        transform: translateY(-30px);
    }
    100% {
        transform: translateY(0);
    }
}

@keyframes musicFloat {
    0% {
        transform: translate3d(0, 0, 0);
        opacity: 0;
    }
    5% {
        opacity: 1;
    }
    25% {
        transform: translate3d(-100%, -50%, 0);
    }
    75% {
        transform: translate3d(100%, -150%, 0);
    }
    90% {
        opacity: 1;
    }
    99% {
        opacity: 0;
        transform: translate3d(0%, -200%, 0);
    }
    100% {
        transform: translate3d(0%, 0%, 0);
        opacity: 0;
    }
}
/*# sourceMappingURL=master.css.map */