@charset "utf-8";
@import url(../css-assets/-61592f2f.bin);

/* -------------------------------- 

basic style

-------------------------------- */
*, *:after, *:before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
a, a:focus, a:active, a:hover, object, embed { 
    outline: none;
    text-decoration: none; 
}
a {
    color: inherit;
    text-decoration: none;
}
html {
    position: relative;
    margin: 0;
    padding: 0;
}
body {
    position: relative;
    margin: 0;
    padding: 0;
    font-family: 'Microsoft JhengHei UI', 'Microsoft JhengHei', 'Arial', sans-serif;
    color: var(--base-text-color);
    background: var(--base-bg-color);
    line-height: 2rem;
    letter-spacing: 1px;
    -webkit-overflow-scrolling: touch;
    word-wrap: break-word;
}
html {
    position: relative;
    font-size: 16px;
    -ms-overflow-style: scrollbar;
}
body {
    font-size: 1rem;
    overflow-x: hidden;
}
section {
    position: relative;
    display: block;
}
.container-1400 {
    position: relative;
    width: 100%;
    max-width: 1400px;
    margin: auto;
}
.mw-100 {
    position: relative;
    display: block;
    max-width: 100%;
    margin: auto;
}
.w-100 {
    position: relative;
    display: block;
    width: 100%;
    margin: auto;
}
.flist { 
    position: relative;    
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
}
.row-reverse {
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row reverse;
    -ms-flex-direction: row reverse;
    flex-direction: row-reverse;
}
.tb-breadcrumb {
    position: relative;
    padding: 10px;
    font-size: 0.875rem;
    line-height: 1;
    opacity: 0.8;
    z-index: 10;
}
.tb-page-container {
	position: relative;
}
.tb-editor-outer-space {
    position: relative;
    padding: 40px 1.56vw;
}
.tb-subhead {
    position: relative;
    max-width: 1440px;
    margin: auto;
}
.tb-subhead h2 {
    position: relative;
    display: block;
    max-width: 250px;
    margin: 0 auto 30px;
    padding: 10px 0;
    color: #444;
    font-weight: 500;
    font-size: 2rem;
    text-align: center;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-shadow: 0 0 1px rgb(0 0 0 / 20%);
}
.tb-subhead h2 small {
    position: relative;
    display: block;
    letter-spacing: 1px;
    font-size: 1rem;
    color: #777;
}
.action-btn {
    position: relative;
    display: block;
    max-width: 400px;
    width: calc(100% - 12.125vw);
    padding: 10px 0 11px 20px;
    margin: auto;
    margin-top: 50px;     
    background: var(--main-color-A);
    color: #fff;
    font-size: 1rem;
    border-radius: 3px;
    z-index: 10;
    transition: all 0.3s;
    box-shadow: 0 2px 20px rgb(68 68 68 / 30%);
}
.action-btn:hover {
    background: var(--main-color-Aa);
}
.action-btn:before {
    position: absolute;
    content: '';
    display: block;
    width: 27px;
    height: 1px;
    top: 26px;
    right: 30px;
    background: #fff;
    transition: all .3s;
}
.action-btn:after {
    position: absolute;
    content: '';
    display: block;
    width: 6px;
    height: 1px;
    top: 24px;
    right: 30px;
    transform: rotate(35deg);
    background: #fff;
    transition: all .3s;
}
.tb-pager {
    display: block;
    width: 100%;
    text-align: center;
    margin: 30px auto;
}
.tb-pager li {
    display: inline-block;
    vertical-align: middle;
    width: 40px;
}
.tb-pager li a {
    font-size: 16px;
    color: var(--base-text-color);
    opacity: .9;
    display: block;
}
.tb-pager li.active a {
    font-weight: bold;
    font-size: 18px;
}
input[type=radio],
input[type=checkbox] {
    margin: 0 10px 0 0;
    width: 20px;
    height: 20px;
    vertical-align: text-bottom;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
}
input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=number]:focus,textarea:focus,select:focus {
	border-color: var(--main-grayC-color);
    box-shadow: 0 0 2px 0 rgba(150,150,150,.5),inset 0 0 1px 0 rgba(150,150,150,.5);
}
.tb-btn-wrap {
	position: relative;
	width: 96%;
	margin: auto;
	margin-top: 50px;
	margin-bottom: 50px;
}
.btns:after {
    content: '';
    display: block;
    width: 0;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 1;
    background-color: rgba(0,0,0,0.05);
    -moz-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    -moz-transition: all .4s;
    -o-transition: all .4s;
    -webkit-transition: all .4s;
    transition: all .4s;
}
.btns:hover:after {
    width: 100%;
}
.btn-send {
    position: relative;
    width: 100%;
    height: 50px;
    line-height: 50px;
    border-radius: 3px;
    margin: 0;
    cursor: pointer;
    text-align: center;
    color: #fff;
    background-color: var(--main-color-A);
    border: 1px solid var(--main-color-A);
    box-shadow: 0 0 2px rgb(0 0 0 / 20%);
}
.btn-rest {
    position: relative;
    width: 100%;
    height: 50px;
    line-height: 50px;
    border-radius: 3px;
    margin: 0;
    cursor: pointer;
    text-align: center;
    color: #fff;
    background-color: var(--main-grayC-color);
    border: 1px solid var(--main-grayC-color);
    box-shadow: 0 0 2px rgb(0 0 0 / 20%);
}
@media only screen and (min-width: 767px) {
    .action-btn {
        width: 80%;
        padding: 15px 0 16px 38px;
    }
    .action-btn:before {
        width: 50px;
        right: 30px;
        top: 33px; 
    }
    .action-btn:after {
        width: 10px;
        top: 30px;
        right: 30px;
    }
    .action-btn:hover:before {
        width: 58px;
        transform: translateX(8px);  
    }
    .action-btn:hover:after {
        right: 22px;
    }
}
/* -------------------------------- 

        menu

 -------------------------------- */
.tb-header {
    position: fixed;
    z-index: 1001;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100px;
    text-align: center;
    background-color: var(--menu-bg-color);
    font-size: 1rem;
    -webkit-transition: background 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    -o-transition: background 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: background 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.tb-nav-container,
.tb-nav-container ul,
.tb-nav-container ul li,
.tb-nav-container ul li a,
#head-mobile {
    position: relative;
    display: block;
    border: 0;
    list-style: none;
    line-height: 1rem;
}
.tb-nav-container:after,
.tb-nav-container > ul:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}
.tb-nav-container {
    position: relative;
    width: 96%;
    margin: 0 auto;
}
.tb-logo-box {
    position: relative;
    display: block;
    width: 350px;
    margin: auto;
    line-height: 0;
    float: left;
    z-index: 123;
}
.tb-logo-txt {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
.tb-logo img {
    position: relative;
    display: block;
    max-width: 100%;
}
.tb-nav-container ul {
    float: left;
    background-color: var(--menu-bg-color);
}
.tb-nav-container > ul {
    margin-top: 35px;
}
.tb-nav-container > ul > li {
    float: left;
}
.tb-nav-container > ul > li > a {
    padding: 17px 14px;
    color: var(--menu-text-color);
}
.tb-nav-container > ul > li:hover > a,
.tb-nav-container ul li.active a {
    color: var(--menu-text-color);
}
.tb-nav-container ul li a span {
    position: relative;
    display: block;
    font-size: 12px;
    height: 10px;
    padding-top: 5px;
}
.tb-nav-container ul ul {
    position: absolute;
    left: -9999px;
}
.tb-nav-container ul li:hover > ul {
    left: auto;
    -webkit-box-shadow: 0 5px 10px rgb(0 0 0 / 10%);
    box-shadow: 0 5px 10px rgb(0 0 0 / 10%);
}
/*.tb-nav-container ul ul li {
    height: 0;
}
.tb-nav-container ul li:hover > ul > li {
    height: auto;
}*/
.tb-nav-container ul ul li a {
    padding: 11px 11px;
    width: 170px;
    font-size: .9rem;
    color: var(--menu-text-color);
}
.tb-nav-container ul ul ul {
    margin-left: 100%;
    top: 0;
}
.tb-nav-container ul li:hover a {
    border-bottom: 2px solid var(--menu-subbg-color);
}
.tb-nav-container ul li:hover ul li {
    border-bottom: 1px solid #dedede;
}
.tb-nav-container ul li:hover ul li a {
    border-bottom: 0;
}
/* */
.burger-button {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 55px;
    height: 46px;
    cursor: pointer;
    z-index: 9;
    display: none;
}
.burger-button:after {
    position: absolute;
    content:'';
    display: block;
    width: 20px;
    height: 8px;
    border-top: 2px solid var(--base-text-color);
    border-bottom: 2px solid var(--base-text-color);
    top: 22px;
    left: 20px; 
}
.burger-button:before {
    -webkit-transition: all .3s ease;
    -ms-transition: all .3s ease;
    transition: all .3s ease;
    position: absolute;
    content:'';
    display: block;
    width: 20px;
    height: 2px;
    top: 16px;
    left: 20px;
    background: var(--base-text-color);
}
.burger-button.menu-opened:after {
    -webkit-transition: all .3s ease;
    -ms-transition: all .3s ease;
    transition: all .3s ease;
    width: 19px;
    height: 2px;
    border: 0;
    top: 23px;
    background: var(--base-text-color);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
.burger-button.menu-opened:before {
    width: 19px;
    top: 23px;
    background: var(--base-text-color);
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
@media only screen and (max-width: 1199px) {
    .tb-header {
        height: 155px;
    }
    .tb-logo-box {
        width: 350px;
        float: none;
    }
    .tb-nav-container { 
        width: 100%;
    }
    .tb-nav-container ul {
        float: none;
        text-align: center;
    }
    .tb-nav-container > ul {
        margin-top: 0;
    }
    .tb-nav-container > ul > li {
        float: none;
        display: inline-block;
        vertical-align: top;
    }
    .tb-nav-container ul li a span {
        height: 5px;
    }
    @media only screen and (max-width: 768px) {
        .tb-header {
            height: 60px;
        }
        .burger-button {
            display: block;
        }
        .tb-logo-box {
            width: 180px;
        }
        .tb-nav-container ul {
            position: fixed;
            display: none;
            width: 100%;
            height: auto;
            max-height: calc(100% - 80px);
            background-color: var(--menu-bg-color);
            text-align: left;
            overflow-y: auto;
            -webkit-box-shadow: 0 5px 10px rgb(0 0 0 / 10%);
            box-shadow: 0 5px 10px rgb(0 0 0 / 10%);
        }
        .tb-nav-container ul ul,
        .tb-nav-container ul ul ul {
            position: relative;
            background-color: var(--menu-subbg-color);
            width: 100%;
            margin: 0;
            left: 0;
        }
        .tb-nav-container ul li {
            width: 100%;
            border-top: 1px solid var(--main-grayCc-color);
        }
        .tb-nav-container ul ul li a {
            width: 100%;
        }
        .tb-nav-container ul li a span {
            display: inline;
            padding-left: 10px;
        }
        .nav-container > ul > li {
            display: block;
        }
        .nav-container ul ul li a {
            width: 100%;
            padding-left: 25px;
            color: #fff;
        }
        .tb-nav-container ul ul ul li a {
            padding-left: 35px;
        }
        .tb-nav-container ul ul li {
            
            height: 0;
            -webkit-transition:all .25s ease;
            -ms-transition:all .25s ease;
            transition:all .25s ease;
        }
        .tb-nav-container ul ul li,
        .tb-nav-container li:hover > ul > li {
            /* 內容稱高度 */
            height: auto;
        }
        .tb-nav-container ul li li {
            border-top: 0;
        }
        .tb-nav-container ul li:hover ul li {
            border-bottom: 0;
        }
        .tb-nav-container ul li li:after {
            position: absolute;
            content: '';
            display: block;
            width: 100%;
            height: 1px;
            left: 0;
            top: 0;
            background-color: var(--menu-bg-color);
            opacity: .3;
        }
        .tb-nav-container ul > li.has-sub .submenu-button {
            position: absolute;
            z-index: 99;
            right: 0;
            top: 0;
            display: block;
            width: 50px;
            cursor: pointer;
        }
        .tb-nav-container ul > li.has-sub .submenu-button {
            height: 50px;
        }
        .tb-nav-container ul ul > li.has-sub .submenu-button {
            height: 38px; 
        }
        .tb-nav-container ul > li.has-sub .submenu-button:before {
            content: '+';
            position: absolute;
            top: 50%;
            right: 20px;
            color: var(--menu-text-color);
            opacity: .75;
            font-size: 1.125rem;
            transform: translateY(-50%);
            -webkit-transition: -webkit-transform .25s;
            transition: -webkit-transform .25s;
            -o-transition: transform .25s;
            transition: transform .25s;
            transition: transform .25s, -webkit-transform .25s;
        }
        .tb-nav-container ul > li.has-sub .submenu-button.submenu-opened:before {
            content: '';
            font-size: 0;
            top: 50%;
            right: 26px;
            width: 7px;
            height: 7px;
            border-style: solid;
            border-width: 0 2px 2px 0;
            border-color: var(--minor-color-B);
            opacity: .75;
            -webkit-transform: rotate(45deg) translateY(-50%);
                -ms-transform: rotate(45deg) translateY(-50%);
                    transform: rotate(45deg) translateY(-50%);
        }
        .tb-nav-container ul > li.has-sub li.has-sub .submenu-button:before {
            /*color: #fff;*/
        }
        .tb-nav-container ul > li.has-sub li.has-sub .submenu-button.submenu-opened:before {
            opacity: .8;
        }
        @media only screen and (max-width: 499px) {
            .tb-logo-box {
                width: 150px;
            }
        }
    }
}


/* fix top menu */
.tb-fixtop-menu:after {
    position: absolute;
    content: '';
    display: block;
    width: 1px;
    height: 20px;
    top: 50%;
    left: 50%;
    background-color: #fff;
    transform: translate(-50%,-50%);
}
.tb-fixtop-menu.pc {
    position: absolute;
    top: 0;
    right: 0;
}
.tb-fixtop-menu.pc a {
    position: relative;
    display: block;
    float: right;
    margin: 0;
    padding: 8px 15px;
    color: #fff;
    background-color: var(--main-color-A);
}
.tb-fixtop-menu.sp {
    position: relative;
    display: none;
    width: 210px;
    height: 32px;
    margin: 10px;
    padding: 0;
    text-align: center;
    background-color: var(--main-color-A);
}
.tb-fixtop-menu.sp a {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 100px;
    padding: 8px 0;
    color: #fff;
}
@media only screen and (max-width: 768px) {
    .tb-fixtop-menu.pc {
        display: none;
    }
    .tb-fixtop-menu.sp {
        display: block;
    }
    .tb-nav-container ul li:hover .tb-fixtop-menu.sp a {
        border-bottom: none;
    }
}


/* quick-icon search */
.tb-quickicon-links {
    position: absolute;
    display: block;
    z-index: 3;
    width: 80px;
    height: 30px;
    right: 0;
    top: 45px;
}
.tb-quickicon-links .quick-icon-btn {
    position: relative;
    display: block;
    float: left;
    width: 30px;
    height: 30px;
    margin: 0 5px;
    padding: 2px;
    cursor: pointer;
}
.tb-quickicon-links .quick-icon-btn i {
    position: absolute;
    width: calc(100% - 4px);
    bottom: 5px;
    left: 50%;
    color: #666;
    font-style: initial;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    letter-spacing: -2px;
    transform: translateX(-53%);
}
#cart-icon path {fill: var(--main-grayC-color);}
#search-icon path {fill: var(--main-grayC-color);}
#cart-icon:hover,
#search-icon:hover {
    opacity: .8;
}
#search-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    -webkit-transition: 500ms ease all;
    -moz-transition: 500ms ease all;
    transition: 500ms ease all;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0, 0.7);
    display: none;
}
#search-overlay.toggled {
    display: block;
}
#search-overlay .closebtn {
    position: absolute;
    width: 50px;
    height: 50px;
    top: 20px;
    right: 20px;
    font-size: 60px;
    line-height: 42px;
    text-align: center;
    cursor: pointer;
    color: #fff;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.5);
}
#search-overlay .closebtn:hover {
    color: #ccc;
}
#search-overlay .search-wrapper {
    position: relative;
    top: 45%;
    width: 80%;
    max-width: 610px;
    margin: auto;
}
.search-wrapper input[type=text] {
    padding: 15px;
    font-size: 17px;
    border: none;
    float: left;
    width: 80%;
    background: #fff;
    border-radius: 0;
}
.search-wrapper input[type=text]:hover {
    background: #f1f1f1;
}
.search-wrapper button {
    position: relative;
    float: left;
    width: 20%;
    padding: 15px;
    background: #ddd;
    font-size: 17px;
    border: none;
    cursor: pointer;
    text-indent: -9999px;
}
.search-wrapper button:hover {
    background: #bbb;
}
.search-wrapper button:after {
    position: absolute;
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(../css-assets/images/svg-search.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 30px;
    left: 0;
    top: 0;
}
@media only screen and (max-width: 768px) {
    .tb-quickicon-links {
        width: 58px;
        height: 25px;
        top: 50%;
        transform: translateY(-50%);
    }
    .tb-quickicon-links .quick-icon-btn {
        width: 25px;
        height: 25px;
        margin: 0 2px;
    }
    #search-overlay .closebtn {
        width: 40px;
        height: 40px;
        top: 20px;
        right: 20px;
        font-size: 40px;
        line-height: 35px;
    }
    .search-wrapper button,
    .search-wrapper input[type=text] {
        padding: 12px;
    }
}


.tb-main-cont {
    position: relative;
    margin-top: 100px;
}
@media only screen and (max-width: 1199px) {
    .tb-main-cont {
        margin-top: 155px;
    }
    @media only screen and (max-width: 768px) {
        .tb-main-cont {
            margin-top: 60px;
        }
    }
}


/* -------------------------------- 

        side menu

 -------------------------------- */
.asideCont-flist {
    position: relative;
    display: block;
}
#newsBlock-page .tb-page-l-wrap,
#newsIn-page .tb-page-l-wrap,
#member-page .tb-page-l-wrap {
	box-shadow: 0 5px 15px rgb(0 0 0 / 0);
}
.tb-page-l-wrap {
    position: relative;
    width: 90%;
    max-width: 600px;
    margin: 0 auto 50px;
    box-shadow: 0 5px 15px rgb(0 0 0 / 10%);
}
.tb-page-r-wrap {
    position: relative;
    width: 100%;
}
.tb-sidebar-title {
    position: relative;
    display: block;
    cursor: pointer;
    padding: 10px;
    line-height: 1.125rem;
    color: #fff;
    border: 1px solid #333;
    background: rgba(51,51,51,1);
    background: -moz-linear-gradient(top,rgba(51,51,51,1) 0,rgba(0,0,0,1) 100%);
    background: -webkit-gradient(left top,left bottom,color-stop(0,rgba(51,51,51,1)),color-stop(100%,rgba(0,0,0,1)));
    background: -webkit-linear-gradient(top,rgba(51,51,51,1) 0,rgba(0,0,0,1) 100%);
    background: -o-linear-gradient(top,rgba(51,51,51,1) 0,rgba(0,0,0,1) 100%);
    background: -ms-linear-gradient(top,rgba(51,51,51,1) 0,rgba(0,0,0,1) 100%);
    background: linear-gradient(to bottom,rgba(51,51,51,1) 0,rgba(0,0,0,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#333333',endColorstr='#000000',GradientType=0 );
}
.tb-sidebar-title .dropdown-btn {
    position: absolute;
    width: 12px;
    height: 12px;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
}
.tb-sidebar-title .dropdown-btn:before {
    content: '';
    display: block;
    position: absolute;
    width: 12px;
    height: 2px;
    background: #fff;
    top: 5px;
    right: 0;
}
.tb-sidebar-title .dropdown-btn:after {
    content: '';
    display: block;
    position: absolute;
    width: 2px;
    height: 12px;
    background: #fff;
    top: 0;
    right: 5px;
}
.tb-sidebar-title.open .dropdown-btn:after {
    display: none;
}
.tb-sidebar-menu {
    display: none;
    position: relative;
    width: 100%;
    background: var(--minor-color-Bb);/* 測選單第一層底色 */
    border-radius: 0 0 10px 10px;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.tb-sidebar-menu.open {
    display: block;
}
.tb-sidebar-menu ul,
.tb-sidebar-menu ul ul {
    padding: 0;
}
.tb-sidebar-menu ul li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);/* 第一層底線 */
}
.tb-sidebar-menu ul li.active > a {
    opacity: .9;
}
.tb-sidebar-menu ul li.active .side-arrow:before {
    transform: rotate(225deg);
}
.tb-sidebar-menu ul li a {
    position: relative;
    color: #fff;/* 第一層文字 */
    display: block;
    padding: 6px 15px;
    padding-left: 25px;
    font-size: 1rem;
    -webkit-transition: all 200ms ease-in;
    -moz-transition: all 200ms ease-in;
    -o-transition: all 200ms ease-in;
    -ms-transition: all 200ms ease-in;
    transition: all 200ms ease-in;
}
.tb-sidebar-menu ul li a:hover {
    opacity: .8;
}
.tb-sidebar-menu ul li a span {
    display: inline-block;
}
.tb-sidebar-menu ul li a .side-arrow:before {
    position: absolute;
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border: none;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    margin-top: -3px;
    right: 14px;
}
.tb-sidebar-menu ul ul {
    display: none;
}
.tb-sidebar-menu ul ul li {
    background: #f2f2f2;/* 第二層底色 */
    border-bottom-color:#e5e5e5;/* 第二層底線 */
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
}
.tb-sidebar-menu ul ul li a {
    font-size: .9rem;
    line-height: 1.5rem;
    color: #333;/* 第二層文字 */
}
.tb-sidebar-menu ul li:last-child {
    border-bottom: none;
}
/* */
#product-page .tb-sidebar-menu ul ul li a,
#productIn-page .tb-sidebar-menu ul ul li a {
    padding-left: 40px;
}
#product-page .tb-sidebar-menu ul ul li a:before,
#productIn-page .tb-sidebar-menu ul ul li a:before {
    position: absolute;
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    background-color: var(--main-color-Aa);
    border-radius: 100%;
    left: 25px;
    top: 19px;
}
@media only screen and (min-width: 992px) {
    .asideCont-flist {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
    }
    .tb-page-l-wrap {
        width: 180px;
    }
    .tb-sidebar-title {
        display: none;
    }
    .tb-sidebar-menu {
        display: block;
        border-radius: 0;
    }
    .tb-sidebar-menu ul li a {
        padding: 13px 15px;
    }
    #product-page .tb-sidebar-menu ul ul li a {
        padding-left: 25px;
    }
    #product-page .tb-sidebar-menu ul ul li a:before {
        top: 26px;
        left: 10px;
    }
    .tb-page-r-wrap {
        width: calc(100% - 180px);
    }
    #productIn-page .tb-page-l-wrap {
        display: none;
    }
    #productIn-page .tb-page-r-wrap {
        width: 100%;
    }
}


/* -------------------------------- 

        slider

 -------------------------------- */
.tb-slider {
    display: none;
}
.tb-slider.sp {
    display: block;
}
.tb-slider.sp .slide .slide__img img {
    max-width: initial;
    width: 100%;
}
.slick-arrow {
    position: absolute;
    z-index: 1;
    height: 100%;
    width: 50px;
    height: 50px;
    top: 50%;
    display: block;
    position: absolute;
    line-height: 0;
    font-size: 0;
    cursor: pointer;
    color: transparent;
    background-color: #f6f6f6;
    box-shadow: 0 0 10px rgba(0,0,0,.2);
    padding: 0;
    border-radius: 50px;
    margin: -25px 0 0 0;
    border: none;
    outline: none;
    -webkit-transition: all .2s;
    -o-transition: all .2s;
    transition: all .2s;
}
.slick-arrow:before {
    content: "";
    width: 13px;
    height: 13px;
    position: absolute;
    top: 50%;
    border-color: rgba(0, 0, 0, 0.4);
    border-style: solid;
    margin-top: -7px;
    display: inline-block;
    -webkit-transition: opacity .2s;
    -o-transition: opacity .2s;
    transition: opacity .2s;
    -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.slick-prev {
    left: 0;
}
.slick-prev:before {
    left: 50%;
    margin-left: -4px;
    border-width: 1px 0 0 1px;
}
.slick-next {
    right: 0;
}
.slick-next:before {
    right: 50%;
    margin-right: -4px;
    border-width: 0 1px 1px 0;
}
.slick-dots {
    position: absolute;
    bottom: 25px;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
    width: 100%;
}
.slick-dots li {
    position: relative;
    display: inline-block;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}
.slick-dots li button {
    border: 0;
    display: block;
    outline: none;
    line-height: 0px;
    font-size: 0px;
    color: transparent;
    padding: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none;
}
/* */
.tb-slider .slide .slide__img {
    width: 100%;
    height: auto;
    overflow: hidden;
}
.tb-slider .slide .slide__img img {
    max-width: 100%;
    height: auto;
    opacity: 1 !important;
    -webkit-animation-duration: 3s;
            animation-duration: 3s;
    transition: all 1s ease;
}
.tb-slider [data-animation-in] {
    opacity: 0;
    -webkit-animation-duration: 1.5s;
            animation-duration: 1.5s;
    transition: opacity 0.5s ease 0.3s;
}
.tb-slider .slick-dotted .slick-slider {
    margin-bottom: 30px;
}
.tb-slider.stick-dots .slick-dots li {
    height: 3px;
    width: 50px;
}
.tb-slider.stick-dots .slick-dots li button {
    position: relative;
    background-color: white;
    opacity: 0.25;
    width: 50px;
    height: 3px;
    padding: 0;
}
.tb-slider.stick-dots .slick-dots li button:hover,
.tb-slider.stick-dots .slick-dots li button:focus {
    opacity: 1;
}
.tb-slider.stick-dots .slick-dots li.slick-active button {
    color: white;
    opacity: 0.75;
}
.tb-slider.stick-dots .slick-dots li.slick-active button:hover,
.tb-slider.stick-dots .slick-dots li.slick-active button:focus {
    opacity: 1;
}
/* banner A */
.tb-page-banner-Full {
    position: relative;
    width: 100%;
}
.tb-page-banner-Full .banner-switch-pic {
    position: relative;
    max-width: 100%;
}
.tb-page-banner-Full .banner-switch-pic.sp {
    display: block;
}
.tb-page-banner-Full .banner-switch-pic.pc {
    display: none;
}
@media only screen and (min-width: 767px) {
	.tb-slider {
		display: block;
	}
    .tb-slider.sp {
        display: none;
    }
    .tb-page-banner-Full .banner-switch-pic.sp {
        display: none;
    }
    .tb-page-banner-Full .banner-switch-pic.pc {
        display: block;
    }
}
/* banner B */
.tb-page-banner {
    position: relative;
    width: 100%;
}
.tb-page-banner .pic {
    position: relative;
    width: 100%;
    max-height: 450px;
    overflow: hidden; 
    transform-origin: center;
    animation: scaleshow 1.5s ease-in-out;
    background-position: center;
    background-size: cover;
    z-index: 0;
}
.tb-page-banner .pic:before {
    position: relative;
    content: '';
    display: block;
    width: 100%;
    padding-bottom: 30vw;
    max-height: 450px;
    z-index: 1;
}
@media only screen and (min-width: 767px) {
    .tb-page-banner .pic:before {
        padding-bottom: 24vw;
    }
}
/* /////////// IMAGE ZOOM /////////// */
@-webkit-keyframes zoomInImage {
    from {transform: scale3d(1, 1, 1);}
    to {transform: scale3d(1.05, 1.05, 1.05);}
}
@keyframes zoomInImage {
    from {transform: scale3d(1, 1, 1);}
    to {transform: scale3d(1.05, 1.05, 1.05);}
}
.zoomInImage {
    -webkit-animation-name: zoomInImage;
            animation-name: zoomInImage;
}
@-webkit-keyframes zoomOutImage {
    from {transform: scale3d(1.05, 1.05, 1.05);}
    to {transform: scale3d(1, 1, 1);}
}
@keyframes zoomOutImage {
    from {transform: scale3d(1.05, 1.05, 1.05);}
    to {transform: scale3d(1, 1, 1);}
}
.zoomOutImage {
    -webkit-animation-name: zoomOutImage;
            animation-name: zoomOutImage;
}
@-webkit-keyframes scaleshow {
    from {transform: scale3d(1.05, 1.05, 1.05);opacity: 0;}
    to {transform: scale3d(1, 1, 1) ;opacity: 1;}
}
@keyframes scaleshow {
    from {transform: scale3d(1.05, 1.05, 1.05) ;opacity: 0;}
    to {transform: scale3d(1, 1, 1) ;opacity: 1;}
}
.scaleshow {
    -webkit-animation-name: scaleshow;
            animation-name: scaleshow;
}


.marquee-txt {
    position: relative;
    height: 40px;
    width: 100%;
    margin: 0;
    color: #333;
    padding: 5px 20px; 
}


/* -------------------------------- 

        news

 -------------------------------- */
.tb-i-newsD {
    padding: 30px 0;
}
.tb-i-newsD .tb-news-list-block .item:before {
	display: none;
}
.tb-news-list-block {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 96%;
    margin: auto;
}
.tb-news-list-block .item {
    position: relative;
    width: 100%;
    padding: 0 5px;
    margin: 0 0 25px 0;
}
.tb-news-list-block .item a {
    position: relative;
    display: block;
}
.tb-news-list-block .item .date,
.tb-news-list-row .item .date {
    position: absolute;
    top: -5px;
    left: -5px; 
    transform-origin: 0 0;
}
.tb-news-list-block .item .date,
.tb-news-list-row .item .date,
.tb-news-list .item .date {
    display: block;
    width: 60px;
    padding: 5px;
    color: #fff;
    background-color: #BFA36C;
    text-align: center;
    font-style: initial;
    font-size: 13px;
    line-height: 15px;
    box-shadow: 0 0 15px rgba(51,51,51,.3);
    transform: scale(.8);
    z-index: 1;
}
.tb-news-list-block .item .date span,
.tb-news-list-row .item .date span,
.tb-news-list .item .date span {
    position: relative;
    display: block;
    border-bottom: 1px solid #fff;
    font-size: 2rem;
    line-height: 2.5rem;
    font-family: "cwTeXFangSong", serif;
    margin-bottom: 5px;
}
.tb-news-list-block .item .pic {
    position: relative;
    width: 100%;
    overflow: hidden;
    z-index: 0;
}
.tb-news-list-block .item .pic:before {
    content: '';
    display: block;
    position: relative;
    width: 100%;
    padding-bottom: 75%; /* 4:3 */
    z-index: 1;
    background: rgba(0, 0, 0, 0.3);
    pointer-events: none;
    opacity: 0;
    -webkit-transition: opacity .25s;
    -o-transition: opacity .25s;
    transition: opacity .25s;
}
.tb-news-list-block .item .pic img {
    position: absolute;
    height: auto!important;
    z-index: 0;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.tb-news-list-block .item .text {
    position: relative;
    padding: 15px 10px;
}
.tb-news-list-block .item .text .title {
    position: relative;
    font-size: 1.25rem;
    margin: 0;
    padding: 0 0 10px 0;
    color: #333;
    text-shadow: 0 0 2px rgb(0 0 0 / 20%);
}
.tb-news-list-block .item .text .title .newLabel,
.tb-news-list-row .item .text .title .newLabel,
.tb-news-list li .item .title .newLabel,
.tb-news-txtgrid li .item .title .newLabel {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 38px;
    margin: 5px 3px 5px 0;
    font-size: 12px;
    line-height: 15px;
    padding: 3px;
    color: #fff;
    background-color: #cf1f1f;
    border-radius: 5px;
}
.tb-news-list-block .item .text .desc {
	position: relative;
    font-size: 1rem;
    line-height: 1.5rem;
    color: #666;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    max-height: 4.5rem;
}
/* */
.tb-i-newsA {
    padding: 30px 0 50px;
}
.tb-i-newsA-newsbox {
    position: relative;
    display: block;
    max-width: 1200px;
    margin: auto;
}
.tb-i-newsA-left {
    position: relative;
    width: auto;
}
.tb-news-list .item .date {
    transform: scale(.9);
}
.tb-news-list {
    position: relative;
    flex: 1;
    padding: 0 1.56vw; 
    max-width: 860px;
    margin: auto;
}
.tb-news-list li {
    border-bottom: 1px solid #E5E5E5;
}
.tb-i-newsC .tb-news-list li:first-child {
    border-top: 1px solid #E5E5E5;
}
.tb-news-list li .item {
    position: relative;
    display: flex;
    align-items: flex-start;
    padding: 5px 10px;
}
.tb-news-list li .item .title {
    position: relative;
    width: calc(100% - 60px);
    margin: 0;
    padding-left: 15px;
}
.tb-news-list li .item:before {
    position: absolute;
    content: '';
    display: block;
    bottom: 20px;
    right: 30px;
    width: 50px;
    height: 1px;
    background: #bab0b0;
    transition: all .3s;
}
.tb-news-list li .item:after {
    position: absolute;
    content: '';
    display: block;
    bottom: 23px;
    right: 30px;
    width: 10px;
    height: 1px;
    transform: rotate(35deg);
    background: #bab0b0;
    transition: all .3s;
}
.tb-news-list li .item:hover:before {
    width: 58px;
    transform: translateX(8px);
}
.tb-news-list li .item:hover:after {
    right: 22px;
}
.tb-news-list li .item .title .newLabel {
	display: block;
}
/* i newsE-newsbox */
.tb-i-newsE {
    position: relative;
    padding: 30px 0;
}
.tb-i-newsE .tb-subhead h2 {
    margin-bottom: 0;
}
.tb-i-newsE-newsbox {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    max-width: 1400px;
    margin: auto;
}
.tb-i-newsE-left,
.tb-i-newsE-right {
    position: relative;
    width: 94%;
    max-width: 600px;
    margin: auto;
    padding: 2%;
}
.tb-i-newsE-left .single-item {
    position: relative;
    display: block;
    width: 100%;
    margin: auto;
    padding: 0 10px;
}
.tb-i-newsE-left .single-item .pic {
    position: relative;
    width: 100%;
    overflow: hidden;
    z-index: 0;
}
.tb-i-newsE-left .single-item .pic:before {
    position: relative;
    content: '';
    display: block;
    width: 100%;
    padding-bottom: 58%;
    z-index: 1;
    background: rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: .25s;
}
.tb-i-newsE-left .single-item .pic img {
    position: absolute;
    height: auto!important;
    width: 100%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.tb-i-newsE-left .single-item:hover .pic:before {
    opacity: 1;
}
.tb-i-newsE-left .single-item .text {
    position: relative;
}
.tb-i-newsE-left .single-item .text .title {
    position: relative;
    padding: 10px 0;
    font-weight: bold;
}
.tb-i-newsE-left .single-item .text .datetxt,
.tb-i-newsE-right .tb-i-newsE-list li a .datetxt {
    position: relative;
    display: block;
    color: #BABABA;
    font-size: 14px;
    line-height: 20px;
}
.tb-i-newsE-left .single-item .text .newLabel,
.tb-i-newsE-right .tb-i-newsE-list li a .newLabel {
    position: relative;
    display: inline-block;
    vertical-align: baseline;
    width: 38px;
    margin: 3px 5px;
    font-size: 12px;
    font-style: initial;
    line-height: 15px;
    padding: 3px;
    color: #fff;
    background-color: #cf1f1f;
    border-radius: 5px;
}
.tb-i-newsE-left .single-item .text .datetxt:before {
    position: absolute;
    content: '';
    display: none;
    width: calc(100% - 150px);
    height: 1px;
    right: 0;
    top: 50%;
    background-color: #BABABA;
}
.tb-i-newsE-left .single-item .text .desc {
    position: relative;
    margin-top: 5px;
    line-height: 1.75rem;
}
.tb-i-newsE-list {
    position: relative;
    max-width: 600px;
    margin: 0 auto;
    padding: 10px;
}
.tb-i-newsE-list li {
    position: relative;
    padding: 10px 0;
    line-height: 1.75rem;
    border-bottom: 1px solid #dfdfdf;
}
.tb-i-newsE-list li:first-child {
    border-top: 3px solid #dfdfdf;
}
.tb-i-newsE-list li a {
    position: relative;
    display: block;
}
.btn_newsElink {
    position: relative;
    display: block;
    max-width: 250px;
    margin: 30px 0 30px auto;
    text-align: center;
    padding: 10px;
    color: #fff;
    background-color: #26A65B;
    transition: border-color .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0;
}
.btn_newsElink:hover {
    color: #26A65B;
    border: 1px solid #26A65B;
}
.btn_newsElink:after {
    content: "";
    width: 0;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    background: #fff;
    transition: width cubic-bezier(0.23, 1, 0.32, 1) .8s;
    z-index: -1;
}
.btn_newsElink:hover:after {
    left: 0;
    width: 100%;
}
.tb-i-newsE-left .single-item .arrow2 {
    position: absolute;
    right: 6px;
    bottom: -10px;
    display: block;
    width: 11px;
    height: 11px;
}
.tb-i-newsE-left .single-item .arrow2:before {
    position: absolute;
    content: '';
    width: 9px;
    height: 9px;
    border: 0px;
    border-top: solid 2px black;
    border-right: solid 2px black;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    right: 5px;
    margin-top: -6px;
    transition: .2s;
}
.tb-i-newsE-left .single-item:hover .arrow2:before {
    right: -3px;
}
/* news-grid-list */
.tb-news-list-block .item:before {
	position: absolute;
	content: '';
	display: block;
	width: calc(100% - 10px);
	height: 100%;
	left: 5px;
	top: 0;
	border: #ededed solid 1px;
    background-color: #fff;
}
.tb-news-list-block .item .text .title .date-inline {
	position: relative;
	display: block;
	font-style: initial;
	font-size: .8rem;
	color: #666;
}
#newsBlock-page .tb-news-list-block .item .text {
	width: 92%;
	top: -15px;
	margin: 0 auto -10px;
	padding-top: 10px;
	background-color: var(--base-bg-color);
}
#newsBlock-page .tb-news-list-block .item .text:before {
	position: absolute;
	content: '';
	display: block;
	width: 100%;
    height: 40px;
    top: 0;
    left: 0;
    -webkit-box-shadow: 0 -25px 25px 5px rgba(151,151,151,.1);
    box-shadow: 0 -25px 25px 5px rgb(151 151 151 / 10%);
}
/* news-row-list */
.tb-news-list-row {
	position: relative;
    display: flex;
    flex-wrap: wrap;
    width: 96%;
    margin: auto;
}
.tb-news-list-row .item {
	position: relative;
	display: block;
	width: 100%;
	margin: 0 0 25px 0;
	padding: 0 10px;
}
.tb-news-list-row .item a {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.tb-news-list-row .item .pic {
	position: relative;
	width: 100%;
	overflow: hidden;
}
.tb-news-list-row .item .pic:before {
	position: relative;
    content: '';
    display: block;
    width: 100%;
    padding-bottom: 75%; /* 4:3 */
    z-index: 1;
    background: rgba(0, 0, 0, 0.3);
    pointer-events: none;
    opacity: 0;
    -webkit-transition: opacity .25s;
    -o-transition: opacity .25s;
    transition: opacity .25s;
}
.tb-news-list-row .item .pic img {
    position: absolute;
    height: auto!important;
    z-index: 0;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.tb-news-list-row .item .text {
	position: relative;
	width: 100%;
    padding: 15px 10px;
}
.tb-news-list-row .item .text .title {
	position: relative;
    font-size: 1.25rem;
    /*white-space: nowrap;*/
    margin: 0;
    padding: 0 0 10px 0;
    color: #333;
    text-shadow: 0 0 2px rgb(0 0 0 / 20%);
}
.tb-news-list-row .item .text .title .newLabel {
	display: block;
}
.tb-news-list-row .item .text .desc {
	position: relative;
    font-size: 1rem;
    line-height: 1.5rem;
    color: #666;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    max-height: 4.5rem;
}
/* news-side */
#newsRow-side-page .tb-news-list-row {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-top: 50px;
    margin-bottom: 50px;
}
#newsRow-side-page .tb-news-list-row .item {
    width: calc(100% - 40px);
    margin-left: 20px;
    margin-right: 20px;
    margin-bottom: 50px;
    padding: 0;
}
#newsRow-side-page .tb-news-list-row .item .pic {
    width: 300px;
    height: 300px;
    margin: auto;
    border: .5rem solid #EDE8F6;
}
#newsRow-side-page .tb-news-list-row .item .text {
    width: 100%;
    padding-bottom: 40px;
}
#newsRow-side-page .tb-news-list-row .item .text:before {
    display: none;
}
#newsRow-side-page .tb-news-list-row .item .text:after {
    position: absolute;
    content: '';
    display: block;
    width: 35px;
    height: 35px;
    left: 50%;
    bottom: 5px;
    transform: translateX(-50%);
    background-image: url(../client/waterproof-01.jpeg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    transition: all .3s;
}
#newsRow-side-page .tb-news-list-row .item .text .date {
    position: relative;
    box-shadow: none;
    background-color: transparent;
    transform: scale(1);
    width: 100%;
    text-align: left;
    padding: 10px;
    color: #ccc;
    border-top: 1px solid #bbb;
    border-bottom: 1px solid #bbb;
}
#newsRow-side-page .tb-news-list-row .item .text .title {
    color: #6A49AE;
    font-size: 1.1rem;
    line-height: 1.5rem;
    text-shadow: none;
    font-weight: bold;
}
/* news-in */
.tb-news-article {
	position: relative;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 15px;
}
.tb-news-article .title {
	position: relative;
    font-size: 1.3125rem;
    font-weight: bold;
    margin: 0;
    padding: 0 0 10px 0;
    color: #333;
}
.tb-news-article .title .date-inline {
	position: relative;
    display: block;
    font-style: initial;
    font-size: .8rem;
    color: #666;
}
.tb-news-article .title .newLabel {
    position: relative;
    display: inline-block;
    vertical-align: top;
    margin: 5px 3px 5px 0;
    font-size: 12px;
    line-height: 15px;
    padding: 3px;
    color: #fff;
    background-color: #cf1f1f;
    border-radius: 5px;
}
#newsIn-page .tb-editor-outer-space {
	/*border-top: 1px solid #aaa;*/
}
#newsIn-page .tb-editor-outer-space:after {
	position: absolute;
	content: '';
	display: block;
	width: 40px;
	height: 1px;
	left: 0;
	top: 0;
	background-color: var(--minor-color-B);
}
#newsIn-page .tb-share {
	top: -10px;
	margin-top: -10px;
}
.back-btn {
	position: relative;
    display: block;
    margin: 40px auto 0;
    max-width: 200px;
    color: #000;
    text-align: center;
    line-height: 45px;
    border: #ebebeb solid 1px;
    -webkit-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}
.back-btn:hover {
    color: #fff;
    background-color: #444;
}
/* page / newsindex*/
.tb-news-txtgrid {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    max-width: 1000px;
    margin: auto;
}
.tb-news-txtgrid li {
    position: relative;
    width: calc(50% - 10px);
    margin: 5px 5px;
    padding: 5px 5px 5px 10px;
    border: 1px solid #ddd;
}
.tb-news-txtgrid .item .date-inline {
    position: relative;
    display: block;
    font-style: initial;
    font-size: .8rem;
    color: #666;
}
.tb-news-txtgrid .item .title {
    position: relative;
    font-size: 1.125rem;
    margin: 0;
    padding: 0 0 20px 0;
    color: #333;
}
.tb-news-txtgrid li .item:before {
    position: absolute;
    content: '';
    display: block;
    bottom: 10px;
    right: 25px;
    width: 50px;
    height: 1px;
    background: #bab0b0;
    transition: all .3s;
}
.tb-news-txtgrid li .item:after {
    position: absolute;
    content: '';
    display: block;
    bottom: 13px;
    right: 25px;
    width: 10px;
    height: 1px;
    transform: rotate(35deg);
    background: #bab0b0;
    transition: all .3s;
}
.tb-news-txtgrid li .item:hover:before {
    width: 58px;
    transform: translateX(8px);
}
.tb-news-txtgrid li .item:hover:after {
    right: 17px;
}
@media only screen and (min-width: 559px) {
    .tb-news-list-block .item {
        width: 50%;
    }
    .tb-news-list-row .item {
        width: 50%;
    }
    #newsRow-side-page .tb-news-list-row .item .pic {
        width: 220px;
        height: 220px;
    }
    #newsRow-side-page .tb-news-list-row .item .text {
        width: calc(100% - 220px);
        padding-top: 3vw;
        padding-bottom: 30px;
    }
    #newsRow-side-page .tb-news-list-row .item .text:after {
        left: 25px;
        bottom: 0;
        transform: translateX(0);
    }
    #newsRow-side-page .tb-news-list-row .item:hover .text:after {
        left: 30px;
    }
    @media only screen and (min-width: 767px) {
        .tb-i-newsD {
            padding: 60px 0;
        }
        .tb-news-list-block .item {
        	width: 33.3333%;
            padding: 0 10px;
        }
        .tb-news-list-block .item:nth-of-type(1),
        .tb-news-list-block .item:nth-of-type(2) {
            width: 50%;
        }
        .tb-i-newsD .tb-news-list-block .item {
            width: 50%;
        }
        .tb-news-list-block .item:before {
    		width: calc(100% - 20px);
    		left: 10px;
    	}
        .tb-news-list-block .item .date,
        .tb-news-list-row .item .date {
            transform: scale(.9);
        }
        .tb-news-list-block a:hover .pic:before {
            opacity: 1;
        }
        /* */
        .tb-i-newsA {
            padding: 60px 0;
        }
        .tb-i-newsA-newsbox {
            display: flex;
        }
        .tb-i-newsA-left {
            width: 35%;
        }
        .tb-i-newsA-newsbox .action-btn {
            position: absolute;
            left: 5%;
            bottom: 0;
            width: 25%;
        }
        /* */
    	.tb-news-list-block .item:before {
    		width: calc(100% - 20px);
    		left: 10px;
    	}
    	/* news-list-row */
    	.tb-news-list-row .item {
    		display: block;
    		width: 100%;
    		margin-bottom: 40px;
    	}
    	.tb-news-list-row .item .pic {
    		width: 33.3333%;
    	}
    	.tb-news-list-row .item .text {
    		width: 66.6666%;
    		padding-top: 3vw;
    		padding-left: 25px;
    	}
    	.tb-news-list-row .item .text:before  {
    	    position: absolute;
    	    content: '';
    	    display: block;
    	    width: 40px;
    	    height: calc(100% - 30px);
    	    top: 15px;
    	    left: -10px;
    	    background-color: var(--base-bg-color);
    	    -webkit-box-shadow: -25px 0 25px 5px rgb(151 151 151 / 10%);
    	    box-shadow: -25px 0 25px 5px rgb(151 151 151 / 10%);
    	}
        /* i newsE-newsbox */
        .tb-i-newsE-left,
        .tb-i-newsE-right {
            width: 50%;
        }
        .tb-i-newsE-left .single-item .text .datetxt:before {
            display: block;
        }
        .tb-i-newsE-list {
            margin-left: 0;
        }
        .tb-i-newsE-list li:first-child {
            border-top: 1px;
        }
        .btn_newsElink {
            margin: 30px 10px;
        }
        .tb-i-newsE-left .single-item .arrow2 {
            display: none;
        }
        /* page / newsindex */
        .tb-news-txtgrid li {
            width: calc(33.3333% - 20px);
        }
        @media only screen and (min-width: 992px) {
            /* */
            #newsRow-side-page .tb-news-list-row .item {
                width: calc(50% - 40px);
            }
            #newsRow-side-page .tb-news-list-row .item .text {
                padding-top: 0;
            }
            #newsRow-side-page .tb-news-list-row .item .text .date {
                padding: 0;
                padding-left: 10px;
                border: none;
            }
            @media only screen and (min-width: 1199px) {
                .tb-i-newsD {
                    padding: 80px 0;
                }
                .tb-i-newsD .tb-news-list-block .item {
                    width: 25%;
                }
                .tb-news-list-block .item {
                	padding: 0 15px;
                }
                .tb-news-list-block .item:before {
        			width: calc(100% - 3px);
        			left: 15px;
        		}
                .tb-news-list-block .item .text {
                    padding: 15px;
                }
                .tb-news-list-block .item .date,
                .tb-news-list-row .item .date {
                    width: 70px;
                    padding: 10px;
                    transform: scale(1);
                }
                /* */
                .tb-i-newsA {
                    padding: 80px 0;
                }
                /* */
        	    .tb-news-list-block .item:before {
        			width: calc(100% - 30px);
        			left: 15px;
        		}
        		/* */
        		.tb-news-list-row .item .text {
        			padding-top: 4vw;
        		}
        		/* */
        		.back-btn {
        			margin-top: 70px;
        		}
                @media only screen and (min-width: 1599px) {
                    .tb-news-list-block .item {
                    	padding: 0 1.56vw;
                    }
                    /* */
                    .tb-news-list-block .item:before {
        				width: calc(100% - 3.12vw);
        				left: 1.56vw;
        			}
                }
            }
        }
    }
}
.tb-i-newsF {
    position: relative;
}
.tb-i-newsF-cont {
    position: relative;
    width: 100%;
    max-width: 1330px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}
.tb-newsF-left {
    position: relative;
    width: 100%;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    background-color: #fff;
    z-index: 2;
}
.tb-newsF-right {
    position: relative;
    width: 100%;
    margin-left: 0;
    height: 400px;
}
.tb-news-big-slick .slick-dots {
    right: 0;
    bottom: 0;
    text-align: right;
    padding-right: 30px;
}
.tb-news-big-slick .slick-dots li button {
    border-radius: 10px;
    background-color: #888;
    opacity: .5;
}
.tb-news-big-slick .slick-dots li.slick-active button {
    padding: 5px 10px;
    opacity: 1;
}
.tb-news-big-slick .slick-arrow {
    width: 45px;
    height: 45px;
    border-radius: 0;
    background-color: #ccc;
    box-shadow: none;
    transition: all .5s;
    top: unset;
    bottom: 0;
}
.tb-news-big-slick .slick-arrow:before {
    border-color: #fff;
}
.tb-news-big-slick .slick-arrow:hover {
    background-color: #2095AB;
    box-shadow: 0 0 10px rgba(0, 0, 0, .2);
}
.tb-news-big-slick .slick-prev {
    left: calc(0% + 40px);
}
.tb-news-big-slick .slick-next {
    left: calc(0% + 90px);
}
.tb-news-big-slick .item a {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
}
.tb-news-big-slick .item .pic {
    position: relative;
    width: 50%;
    overflow: hidden;
    display: none;
}
.tb-news-big-slick .item .text {
    position: relative;
    width: 86%;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    padding: 50px 0 80px;
}
.tb-news-big-slick .item .newLabel {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 38px;
    margin: 5px 5px 0px 0;
    font-size: 12px;
    font-weight: normal;
    line-height: 15px;
    padding: 3px;
    color: #fff;
    background-color: #cf1f1f;
    border-radius: 5px;
}
.tb-news-big-slick .item .text .date {
    position: relative;
    font-family: "cwTeXFangSong", serif;
    font-size: 1.75rem;
    font-style: initial;
    color: #2095AB;
}
.tb-news-big-slick .item .text .date span {
    position: relative;
    display: block;
    font-size: 1rem;
    line-height: 16px;
}
.tb-news-big-slick .item .text .title {
    position: relative;
    font-size: 1.1rem;
    font-weight: bold;
    color: #333;
    padding-bottom: 15px;
    border-bottom: 1px solid #ddd;
    margin-bottom: 15px;
    margin-top: 10px;
}
.tb-news-big-slick .item .pic:before {
    content: '';
    display: block;
    position: relative;
    width: 100%;
    padding-bottom: 450px;
    z-index: 1;
}
.tb-news-big-slick .item .pic img {
    position: absolute;
    max-width: initial;
    height: auto!important;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.tb-news-small-slick .item {
    width: 350px;
    padding: 0 10px;
}
.tb-news-small-slick .item .pic {
    position: relative;
    width: 330px;
    height: 400px;
    overflow: hidden;
}
.tb-news-small-slick .item .pic:before {
    content: '';
    display: block;
    position: relative;
    width: 100%;
    padding-bottom: 400px;
    z-index: 1;
    background: rgba(32,149,171,.3);
}
.tb-news-small-slick .item.slick-current .pic:before {
    opacity: 0;
}
.tb-news-small-slick .item .pic img {
    position: absolute;
    max-width: initial;
    width: auto;
    height: auto!important;
    z-index: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media only screen and (min-width: 768px) {
    .tb-newsF-right {
        height: 450px;
    }
    .tb-news-small-slick .item {
        width: 500px;
    }
    .tb-news-small-slick .item .pic {
        width: 480px;
        height: 450px;
    }
    .tb-news-small-slick .item .pic:before {
        height: 450px;
    }
    @media only screen and (min-width: 992px) {
        .tb-newsF-left {
            width: calc(100% - 250px);
            max-width: initial;
            margin-left: 0;
            margin-right: 0;
        }
        .tb-newsF-right {
            width: 500px;
            margin-left: -250px;
            height: 450px;
        }
        .tb-news-big-slick .item .pic {
            display: block;
            width: 50%;
            overflow: hidden;
        }
        .tb-news-big-slick .item .text {
            width: 50%;
            padding: 40px;
            padding-bottom: 80px;
        }
        .tb-news-big-slick .slick-prev {
            left: calc(50% + 40px);
        }
        .tb-news-big-slick .slick-next {
            left: calc(50% + 90px);
        }
        .tb-news-small-slick .item {
            width: 250px;
        }
        .tb-news-small-slick .item .pic {
            position: relative;
            width: 230px;
            height: 450px;
        }
        .tb-news-small-slick .item .pic:before {
            padding-bottom: 450px;
            /*width: auto;*/
            height: 100%!important;
        }
        .tb-news-small-slick .item.slick-current .pic:before {
            opacity: 1;
        }
        @media only screen and (min-width: 1200px) {
            .tb-newsF-left {
                width: calc(100% - 500px);
            }
            .tb-newsF-right {
                width: 750px;
                margin-left: -250px;
            }
        }
    }
}
/* tb-news-MList-slick vs tb-news-SList-slick */
.tb-i-newsG {
    position: relative;
    padding: 30px 0;
}
.tb-i-newsG-cont {
    position: relative;
    max-width: 1600px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
}
.tb-newsG-right {
    width: 100%;
    transition: all, transform 0.8s ease 0s, opacity 0.8s ease 0s;
}
.tb-newsG-left {
    width: 100%;
    margin: auto;
    transition: all, transform 0.8s ease 0s, opacity 0.8s ease 0s;  
}
.tb-newsG-txt {
    position: relative;
    padding: 18px;
}
.tb-news-MList-slick {
    position: relative;
    width: 100%;
}
.tb-news-MList-slick .item {
}
.tb-news-SList-slick {
    position: relative;
    display: none;
    width: 100%;
    margin-top: 30px;
}
.tb-news-SList-slick .item,
.tb-news-MList-slick .item {
    position: relative;
    padding: 0 18px;
}
.tb-news-SList-slick .item .pic,
.tb-news-MList-slick .item .pic {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    border-radius: 5px 5px 0 0;
    background-color: #fff;
}
.tb-news-SList-slick .item .pic:before ,
.tb-news-MList-slick .item .pic:before {
    position: relative;
    content: '';
    display: block;  
    width: 100%;
    padding-bottom: 52%;
}
.tb-news-SList-slick .item .pic img,
.tb-news-MList-slick .item .pic img {
    position: absolute;
    /*max-width: 100%;*/
    height: auto !important;
    z-index: 0;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.tb-news-MList-slick .item .date {
    position: relative;
    display: block;
    font-style: initial;
}
.tb-news-MList-slick .item .newLabel {
    position: relative;
    display: inline-block;
    vertical-align: text-top;
    width: 40px;
    margin-right: 10px;
    text-align: center;
    font-style: initial;
    font-size: 11px;
    line-height: 15px;
    padding: 3px;
    color: #fff;
    background-color: #cf1f1f;
    border-radius: 5px;
}
.tb-i-newsG-cont .item .text {
    position: relative;
    padding: 18px 20px 32px;
    background-color: #fff;
}
.tb-i-newsG-cont .item .title {
    position: relative;
    margin-bottom: 5px;
    color: #0f0f0f;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.03rem;
    text-align: justify;
    text-overflow: ellipsis;
    display: block;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    line-height: 27px;
    height: 54px;
}
.tb-i-newsG-cont .item .desc {
    position: relative;
    color: #878787;
    text-align: justify;
    text-overflow: ellipsis;
    display: block;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    line-height: 24px;
    height: 48px;
}
@media only screen and (min-width: 992px) {
    .tb-newsG-right {
        width: 50%;
        padding-left: 25px;
    }
    .tb-newsG-left {
        width: 50%;
    }
    .tb-news-MList-slick .item {
        padding-right: 0;
    }
    .tb-news-SList-slick {
        display: block;
    }
}
/* 橫向 子選單 文字 */
#newsRow-side-page .tb-page-category {
    padding-left: 0;
    padding-right: 0;
    width: 80%;
    margin: auto;
}
#newsRow-side-page .tb-page-category-list {
    width: 100%;
    margin: 0;
    margin-bottom: 30px;
    border-top: 1px solid #b2b2b2;
    border-bottom: 1px solid #b2b2b2;
    text-align: left;
    padding: 0;
}
#newsRow-side-page .tb-page-category-list li {
    width: auto;
    padding: 0;
}
#newsRow-side-page .tb-page-category-list li a {
    border: none;
    width: auto;
    color: #666;
}
#newsRow-side-page .tb-page-category-list li.active a {
    border-color: #fff;
    background: #fff;
    color: #7455B3;
}
@media only screen and (min-width: 499px) {
    #newsRow-side-page .tb-page-category {
        width: 80%;
    }
    #newsRow-side-page .tb-page-category-list {
        width: 80%;
    }
    @media only screen and (min-width: 992px) {
        #newsRow-side-page .tb-page-category {
            width: calc(100% - 40px);
            margin: 0 20px;
        }
        #newsRow-side-page .tb-page-category-list {
            width: 100%;
            margin-top: 50px;
        }
        #newsRow-side-page .tb-page-category-list {
            width: 100%;
        }
        #newsIn-page .tb-page-category-list {
            margin-top: 0;
        }
    }
}



/* -------------------------------- 

        products

 -------------------------------- */
/* hover effect */
/**** hover more name ****/
.hover-effect .item .pic-over img {
	-webkit-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
}
.hover-effect .item .pic-over:hover img {
	-webkit-transform: scale(1.05) translate(-50%,-50%);
    -ms-transform: scale(1.05) translate(-50%,-50%);
    transform: scale(1.05) translate(-50%,-50%);
}
.hover-effect .pic .more-name,
.hover-effect .item .pic .more-name:before,
.hover-effect .item .pic .more-name:after {
    position: absolute;
    z-index: 15;
    top: 50%;
    left: 50%;
    opacity: 0;
    -webkit-transform: translate(-50%, -55%) scale(0.98);
    -ms-transform: translate(-50%, -55%) scale(0.98);
    transform: translate(-50%, -55%) scale(0.98);
    -webkit-transition: opacity .35s, -webkit-transform .3s;
    transition: opacity .35s, -webkit-transform .3s;
    -o-transition: transform .35s, opacity .3s;
    transition: transform .35s, opacity .3s;
    transition: transform .35s, opacity .3s, -webkit-transform .3s;
}
.hover-effect .item .pic .more-name {
    color: #fff;
    font-size: 1.125rem;
    line-height: 1.75rem;
}
.hover-effect .item .pic .more-name:before  {
    content: '';
    width: 100px;
    height: 100px;
    border-radius: 100%;
    background: rgba(255, 255, 255, 0.2);
    z-index: -1;
}
.hover-effect .item .pic .more-name:after {
    content: '';
    width: 40px;
    height: 3px;
    bottom: -20px;
    top: initial;
    background-color: #fff;
}
.hover-effect .item .pic:hover .more-name,
.hover-effect .item .pic:hover .more-name:before,
.hover-effect .item .pic:hover .more-name:after {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) scale(1);
    -ms-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1);
}
@media only screen and (min-width: 769px) {
    .hover-effect .item .pic .more-name:before {
        width: 145px;
        height: 145px;
    }
    @media only screen and (min-width: 1199px) {
        .tb-i-product .tb-product-list.hover-effect .item .pic .more-name:before {
            width: 200px;
            height: 200px;
        }
    }
}
/* **** */
.tb-i-product {
    padding: 30px 0;
}
.tb-product-list {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    margin: auto;
}
.tb-product-list .item {
    position: relative;
    width: 50%;
    padding: 0 5px;
    margin: 0 0 25px 0;
}
.tb-product-list .item a {
    position: relative;
    display: block;
    border: 1px solid #f1f0f0;
}
.tb-product-list .item .pic {
    position: relative;
    width: 100%;
    overflow: hidden;
    z-index: 0;
    box-shadow: 0 -2px 10px rgba(51,51,51,.3);
}
.tb-product-list .item .pic:before {
    content: '';
    display: block;
    position: relative;
    width: 100%;
    padding-bottom: 100%; /* 1:1 */
    z-index: 1;
    background: rgba(0, 0, 0, 0.3);
    pointer-events: none;
    opacity: 0;
    -webkit-transition: opacity .25s;
    -o-transition: opacity .25s;
    transition: opacity .25s;
}
.tb-product-list .item .pic img {
    position: absolute;
    height: auto!important;
    z-index: 0;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.tb-product-list .item .text {
    position: relative;
    padding: 15px 10px;
}
.tb-product-list .item .text .title {
    position: relative;
    font-size: 1rem;
    line-height: 1.75rem;
    text-align: left;
    margin: 0;
    padding: 0 0 10px 0;
    color: #333;
    max-height: 90px;
    overflow: hidden;
    text-shadow: 0 0 2px rgb(0 0 0 / 20%);
}
/* */
.tb-product-list .item .text .price {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 3px;
    color: #999;
}
.tb-product-list .item.priceshow .text:before {
    position: absolute;
    content: '';
    display: block;
    width: 50px;
    height: 48px;
    border-radius: 50px 0 0 0;
    box-shadow: 0 0 20px rgb(17 17 17 / 20%);
    right: 0;
    bottom: 0;
    background-color: #fff;
    background-image: url(../css-assets/images/svg-bag.svg);
    background-position: 19px 18px;
    background-repeat: no-repeat;
    background-size: 24px;
}
/* */
#productIn-page .page-outer-space {
    padding-bottom: 20px;
}
.tb-product-view {
    position: relative;
    padding: 0 1.56vw; 
}
.top-wrap-flist {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}
.pic-wrap {
    position: relative;
    width: 100%;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;   
}
.txt-wrap {
    width: 100%;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}
@media only screen and (min-width: 992px) {
    .pic-wrap {width: 62%;}
    .txt-wrap {width: 38%;}
}
.productimage-slider-main {
    margin-left: 90px;
    width: calc(100% - 90px);
    padding: 0 25px;
}
.productimage-slider-main img {
    width: 100%;
}
.productimage-slider-main .slick-arrow { 
    /* album arrow bg*/
    background-color: var(--main-color-A);
}
.productimage-slider-main .slick-arrow:before {
    border-color: #fff;
}
.productimage-slider-main a:before {
    position: absolute;
    content: '';
    display: block;
    width: 35px;
    height: 35px;
    border-radius: 3px;
    box-shadow: 0 0 20px rgba(17,17,17,.2);
    right: 5px;
    bottom: 5px;
    background-color: rgba(255,255,255,.2);
    background-image: url(../css-assets/images/svg-search.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 30px;
    opacity: .5;
}
.productimage-slider-nav {
    position: absolute;
    width: 88px;
    height: 100%;
    left: 0;
    top: 0;
}
@media only screen and (max-width: 499px) {
    .productimage-slider-main {margin-left: 60px;width: calc(100% - 60px);padding: 0 15px;}
    .productimage-slider-nav {width: 58px;}
}
.productimage-slider-nav img {
    margin: 5%;
    width: 90%;
    opacity: .3;
    filter: grayscale(0.6);
}
.productimage-slider-nav .item-slick.slick-current img {
    opacity: 1;
    filter: grayscale(0);
}
.top-wrap-flist .txt-wrap .product-title {
    position: relative;
    margin: 15px 0;
    font-weight: bold;
}
.top-wrap-flist .txt-wrap .desc {
    position: relative;
    display: block;
    margin-top: 10px;
    font-size: 1rem;
    /*line-height: 1.5rem;*/
}
span.price {
	position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 5px;
	min-width: 80px;
}
span.price.sale {
	color: #E83A00!important;
    font-weight: bold;
}
.top-wrap-flist .txt-wrap .product-price {
    position: relative;
    font-size: 1.5rem;
    color: #999;
    margin-bottom: 25px;
}
.product-price span.price {
	min-width: initial;
}
.top-wrap-flist .txt-wrap .product-variants {
    position: relative;
    margin-top: 50px;
    margin-bottom: 25px;
    text-align: left;
}
.variants-item {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 31%;
    margin: 3px 0;
    text-align: center;
    cursor: pointer;
}
.variants-item input[type=radio] {
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    margin: 0;
    line-height: 16px;
    transition: all 0.2s ease;
}
.variants-item input[type=radio] + span {
    display: block;
    border: 1px solid #aaa;
    padding: 2px 10px;
}
.variants-item input[type=radio]:checked + span {
    background-color: var(--main-color-Aa);
}
.top-wrap-flist .txt-wrap .product-quantity {
    position: relative;
    display: flex;
    align-content: center;
    padding: 20px 0;
    margin-bottom: 25px;
}
.product-quantity label[for=quantity] {
    padding: 5px;
    padding-left: 10px;
    border: 0;
    width: 40%;
}
.number-inputA {
    display: inline-flex;
}
.number-inputA button {
    position: relative;
    outline:none;
    -webkit-appearance: none;
    background-color: transparent;
    border: none;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 2.5rem;
    cursor: pointer;
    margin: 0;
}
.number-inputA button:before,
.number-inputA button:after {
    position: absolute;
    content: '';
    display: inline-block;
    width: 1rem;
    height: 2px;
    background-color: #444;
    transform: translate(-50%, -50%);
}
.number-inputA button.plus:after {
    transform: translate(-50%, -50%) rotate(90deg);
}
.number-inputA input[type=number] {
    font-family: sans-serif;
    /*max-width: 5rem;*/
    padding: 8px;
    border: 1px solid #aaa;
    text-align: center;
}
.number-inputB {
    position: relative;
    width: 60%;
}
.number-inputB .styled-select select {
    margin-right: 3px;
    text-align: center;
}
.styled-select {
    position: relative;
}
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    display: inline-block;
    width: 100%;
    padding: 8px;
    padding-left: 24px;
    padding-right: 60px;
    border: 1px solid #aaa;
    border-radius: 2px;
    background: #fff;
    color: inherit;
    cursor: pointer;
    text-transform: uppercase;
    line-height: normal;
}
.styled-select:before {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    border-width: 6px;
    border-style: solid solid none;
    border-color: #c2c6c7 transparent transparent;
    pointer-events: none;
    z-index: 10;
    -ms-transform: translate(50%,-50%);
    -webkit-transform: translate(50%,-50%);
    transform: translate(50%,-50%);
}
.top-wrap-flist .txt-wrap .product-buy {
    position: relative;
    margin-bottom: 25px;
}
.btn-addcart {
    position: relative;
    width: 100%;
    height: 50px;
    line-height: 50px;
    border-radius: 3px;
    margin: 0;
    cursor: pointer;
    text-align: center;
    color: #fff;
    background-color: var(--main-color-A);
    border: 1px solid var(--main-color-A);
    box-shadow: 0 0 2px rgb(0 0 0 / 20%);
}
.btn-addcart::before {
    content: '';
    display: inline-block;
    vertical-align: top;
    margin: 10px 10px 0 0;
    width: 30px;
    height: 30px;
    background: url(../css-assets/images/svg-bag-white.svg) no-repeat center;
    background-size: 28px;
}
.top-wrap-flist .txt-wrap .product-note {
    position: relative;
    margin-bottom: 25px;
    color: #666;
    line-height: 1.5rem;
}
.top-wrap-flist .txt-wrap .product-share {
    position: relative;
    margin-bottom: 25px;
}
#editor-page .tb-share,
#editor-article-page .tb-share,
#faq-page .tb-share {
	position: absolute;
	right: 0;
	padding: 10px;
	z-index: 10;
}
.tb-share {
    position: relative;
    font-size: .8rem;
    text-align: right;
}
.tb-share span {
    display: inline-block;
    padding-right: 10px;
    font-style: italic;
}
.tb-share ul {
    display: inline-block;
    vertical-align: middle;
}
.tb-share ul li {
    float: left;
    margin: 2px;
}
.tb-share ul li a {
    display: block;
    width: 36px;
    height: 36px;
    color: #757575;
    text-decoration: none;
    text-align: center;
    line-height: 36px;
    border: #eaeaea solid 1px;
    background-color: #afafaf;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 22px;
    border-radius: 36px;
    -webkit-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}
.tb-share ul li.line a {
    background-image: url(../css-assets/images/svg-line-white.svg);
}
.tb-share ul li.fb a {
    background-image: url(../css-assets/images/svg-facebook-white.svg);
}
.tb-share ul li.line a:hover {
    background-color: #00B900;
}
.tb-share ul li.fb a:hover {
    background-color: #256fb8;
}
.production-action-list {
    position: relative;
    width: 100%;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    padding: 5px 0;
    text-align: center;
}
.production-action-list ul {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    max-width: 400px;
    margin: auto;
    justify-content: center;
}
.production-action-list ul li {
    position: relative;
    width: calc(33.3333% - 10px);
}
.production-action-list ul li:nth-child(2) {
    width: calc(33.3333% + 20px);
}
.production-action-list ul li:before {
    position: absolute;
    content: '';
    display: block;
    width: 1px;
    height: 20px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background-color: #d2d2d2;
}
.production-action-list ul li:first-child:before {
    display: none;
}
.production-action-list ul li a {
    position: relative;
    display: block;
    padding: 5px;
}
@media only screen and (min-width: 767px) {
    .tb-i-product {
        padding: 60px 0;
    }
    .tb-i-product .tb-product-list .item {
        width: 25%;
    }
    .tb-product-list .item {
        width: 33.3333%;
        padding: 0 10px;
    }
    .tb-product-list a:hover .pic:before {
        opacity: 1;
    }
    /* */
    .production-action-list {
    	margin-top: 25px;
        padding: 10px 0;
    }
    @media only screen and (min-width: 1199px) {
        .tb-i-product {
            padding: 80px 0;
        }
        .tb-product-list .item .text {
            padding: 15px;
        }
        /* */
        #editor-page .tb-share,
		#editor-article-page .tb-share,
		#faq-page .tb-share {
			right: 4vw;
		}
        @media only screen and (min-width: 1599px) {
            .tb-product-list .item {
                padding: 0 1.56vw;
            }
            /* */
        }
    }
}        
/* 加購區 */
.plus-item-area {
    position: relative;
    width: 100%;
    margin: 30px auto;
    background-color: #fff;
    border: 1px solid #C8A063;
}
.titleblock {
    position: relative;
    text-align: center;
    padding: 8px;
    color: #fff;
    background-color: #C8A063;
}
.plus-item-list {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    padding: 10px;
}
.plus-item-list li {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 10px;
    border-top: 1px solid #eddcc3;
}
.plus-item-list li:first-child {
    border: none;
}
input[type=checkbox].plus-checkbox {
    position: relative;
    float: left;
    margin: 34px 10px;
}
.plus-pdt {
    position: relative;
    display: flex;
    align-items: flex-start;
}
.plus-pdt-pic {
    position: relative;
    width: 88px;
    height: 88px;
    overflow: hidden;
}
.plus-pdt-txt {
    position: relative;
    width: calc(100% - 98px);
    margin-left: 10px;
    line-height: 1.5rem;
}
.plus-pdt-name {
    position: relative;
    margin-bottom: 8px;
    font-weight: bold;
    font-size: 1.125rem;
}
.plus-pdt-txt p {
    position: relative;
    font-size: 1rem;
    line-height: 1.5rem;
    color: #666;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    max-height: 4.5rem;
}
.plus-pdt-price {
    position: relative;
    color: #E83A00;
}
.addItemTitle {
    position: relative;
    display: block;
    width: 70px;
    text-align: center;
    line-height: 20px;
    color: #fff;
    background: #d73939;
    margin-bottom: 5px;
}
.payment-list li a.store-bg {
    background: #ffdda4;
}
@media only screen and (min-width: 992px) {
    .plus-item-list li {
        width: 33.3333%;
        border-left: 1px solid #eddcc3;
        border-top: none;
    }
}

/* -------------------------------- 

        cart page 

 -------------------------------- */
.cart-title {
	position: relative;
}
.cart-title h3 {
	position: relative;
	display: inline-block;
	margin-bottom: 18px;
	font-weight: 500;
    font-size: 1.5rem;
    letter-spacing: 2px;
    padding: 0 10px 10px 10px;
}
.cart-title:before {
	position: absolute;
	content: '';
	display: block;
	width: 40px;
	height: 4px;
	background-color: var(--minor-color-B);
	left: 0;
	bottom: 16px;
}
.cart-box p {
	padding: 0 10px;
}
.cart-price {
	position: relative;
    color: #666;
    text-align: right;
    margin-bottom: 25px;
}
#cart-page .price {
	margin: 0 5px;
	font-size: 1.5rem;
}
.cart-flist {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
.cart-half {
	position: relative;
	width: 100%;
	/*max-width: 550px;
	margin: auto;*/
	padding: 2%;
}
.order-info {
	position: relative;
	max-width: 500px;
	margin: auto;
	color: #666;
	padding-left: 80px;
}
.order-info a {
	position: relative;
	background-color: var(--minor-color-Bb);
	color: #fff;
	border-radius: 3px;
	padding: 5px 40px 5px 15px;
}
.order-info a:after {
	position: absolute;
	content: '';
	display: block;
	width: 32px;
	height: 32px;
	right: 5px;
	top: -8px;
	background-image: url(../client/waterproof-02.jpeg);
}
#add-popup li {
	margin: 10px 0;
}
.payment-list {
	position: relative;
	max-width: 400px;
	margin: 0 auto 30px;
	padding: 10px;
}
.payment-list li {
	position: relative;
	margin: 10px 0;
	max-width: 400px;
}
.payment-list li.form-txt {
	width: 100%;
}
.payment-list li a {
	position: relative;
	display: inline-block;
	vertical-align: top;
	padding: 0px 5px;
	margin: 0 5px;
	border: 1px solid var(--main-grayC-color);
}
.payment-list .inner-txt {
	position: relative;
	background: #ddd;
	padding: 20px;
	margin-top: 10px;
	margin-left: 22px;
}
.payment-list .inner-txt:before {
	position: absolute;
	content: '';
	display: block;
	width: 0;
	height: 0;
	top: -10px;
	left: 15px;
	border-style: solid;
	border-width: 0 10px 10px 10px;
	border-color: transparent transparent #ddd transparent;
}
.total-amount {
	position: relative;
	text-align: right;
	padding: 10px;
}
#cart-page .tb-btn-wrap {
	max-width: 600px;
    height: 50px;
    margin-right: 0;
    margin-left: auto;
}
.btn-shop {
	position: relative;
    float: right;
    width: 48%;
    margin: 0;    
    margin-right: 2%;
    height: 50px;
    line-height: 50px;
    border-radius: 3px;
    cursor: pointer;
    text-align: center;
    color: #333;
    background-color: var(--main-grayCc-color);
    border: 1px solid var(--main-grayCc-color);
    box-shadow: 0 0 2px rgb(0 0 0 / 20%);
}
.btn-pay {
	position: relative;
    float: right;
    width: 48%;
    margin: 0;
    margin-left: 2%;
    height: 50px;
    line-height: 50px;
    border-radius: 3px;
    cursor: pointer;
    text-align: center;
    color: #fff;
    background-color: var(--main-color-A);
    border: 1px solid var(--main-color-A);
    box-shadow: 0 0 2px rgb(0 0 0 / 20%);
}
.btn-delwish {
	position: relative;
    display: block;
    width: 200px;
    margin: auto;  
    height: 50px;
    line-height: 50px;
    border-radius: 3px;
    cursor: pointer;
    text-align: center;
    color: #fff;
    background-color: var(--main-grayC-color);
    border: 1px solid var(--main-grayC-color);
    box-shadow: 0 0 2px rgb(0 0 0 / 20%);
}
.wish-checkbox-item {
	position: relative;
	padding-left: 10px;
}
@media only screen and (min-width: 767px) {
	.cart-half {
		width: 50%;
	}


}



/* -------------------------------- 

        photo

 -------------------------------- */
.tb-i-photo {
    padding: 30px 0;
}
.tb-i-photo .tb-photo-list {
    position: relative;
    width: 100%;
    display: block;
    padding: 0 30px;
}
.tb-i-photo .tb-photo-list .item {
    width: auto;
    padding: 0 1.56vw;
}
.tb-photo-list {
    display: flex;
    flex-wrap: wrap;
    width: 96%;
    max-width: 1400px;
    margin: auto;
}
.tb-photo-list .item {
    width: 50%;
    padding: 0 5px;
    margin: 0 0 25px 0;
}
.tb-photo-list .item a {
    position: relative;
    display: block;
}
.tb-photo-list .item .pic {
    position: relative;
    width: 100%;
    overflow: hidden;
    z-index: 0;
    cursor: pointer;
    box-shadow: 0 -2px 10px rgba(51,51,51,.3);
}
.tb-photo-list .item .pic:before {
    content: '';
    display: block;
    position: relative;
    width: 100%;
    padding-bottom: 75%; /* 4:3 */
    z-index: 1;
    background: rgba(0, 0, 0, 0.3);
    pointer-events: none;
    opacity: 0;
    -webkit-transition: opacity .25s;
    -o-transition: opacity .25s;
    transition: opacity .25s;
}
.tb-photo-list .item .pic img {
    position: absolute;
    height: auto!important;
    z-index: 0;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.tb-photo-list .item .text {
    position: relative;
    padding: 15px 10px;
}
.tb-photo-list .item .text .title {
    position: relative;
    font-size: 1.25rem;
    line-height: 1.75rem;
/*    white-space: nowrap;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;*/
    margin: 0;
    padding: 0 0 10px 0;
    color: #333;
    text-shadow: 0 0 2px rgb(0 0 0 / 20%);
}
.tb-photo-list .item .text .desc {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    max-height: 4.5rem;
}
.tb-photo-list .item .text .desc {
    position: relative;
    display: block;
    margin-top: 10px;
    font-size: 1rem;
    line-height: 1.5rem;
    color: #666;
}
/* */
.other-related-title {
    position: relative;
    padding: 10px 15px;
    font-size: 1.25rem;
    border-bottom: 1px solid #333;
}
.other-related-title:before {
    position: absolute;
    content: '';
    display: block;
    width: 22px;
    height: 25px;
    left: 2px;
    top: 12px;
    background-color: var(--main-color-Aa);
}
.other-related-title b {
    position: relative;
}
.other-related-title small {
    color: #878787;
    padding-left: 10px;
}
.other-related-wrap .tb-photo-list {
    margin: 25px auto;
}
.other-related-wrap .tb-photo-list .item {
    width: 25%;
}
@media only screen and (max-width: 1024px) {
    .other-related-wrap .tb-photo-list .item {
        width: 33.3333%;
    }
    @media only screen and (max-width: 600px) {
        .other-related-wrap .tb-photo-list .item {
            width: 50%;
        }
    }
}
.other-related-wrap .slick-arrow {
    width: 30px;
    height: 30px;
    top: -40px;
    border-radius: 3px;
}
.other-related-wrap .slick-arrow.slick-prev {
    left: initial;
    right: 32px;
}
.tb-i-photo .slick-arrow,
.other-related-wrap .slick-arrow { 
    /* album arrow bg*/
    background-color: var(--main-color-A);
}
.tb-i-photo .slick-arrow:before,
.other-related-wrap .slick-arrow:before {
    border-color: #fff;
}
.lg-sub-html {
    font-size: 15px;
    line-height: 18px;
    max-height: 100px;
    overflow: hidden;
}
@media only screen and (min-width: 767px) {
    .tb-i-photo {
        padding: 60px 0;
    }
    /* */
    .tb-photo-list .item {
        width: 33.3333%;
        padding: 0 10px;
    }
    .tb-photo-list a:hover .pic:before {
        opacity: 1;
    }
    @media only screen and (min-width: 1199px) {
        .tb-i-photo {
            padding: 80px 0;
        }
        .tb-photo-list .item .text {
            padding: 15px;
        }
        /* */
        @media only screen and (min-width: 1599px) {
        }
    }
}
/* 首頁相簿一大兩小 */
.tb-i-photoB {
    position: relative;
    padding: 30px 0;
}
.tb-i-photoB-cont {
    position: relative;
    max-width: 1600px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
}
.tb-photoB-right {
    width: 100%;
    transition: all, transform 0.8s ease 0s, opacity 0.8s ease 0s;
}
.tb-photoB-left {
    width: 100%;
    margin: auto;
    transition: all, transform 0.8s ease 0s, opacity 0.8s ease 0s;  
}
.tb-i-photoB-txt {
    position: relative;
    width: 100%;
    margin: auto;
    padding: 18px;
}
.tb-photoB-MList-slick {
    position: relative;
    width: 100%;
}
.tb-photoB-SList-slick {
    position: relative;
    display: none;
    width: 100%;
    margin-top: 30px;
}
.tb-photoB-SList-slick .item,
.tb-photoB-MList-slick .item {
    position: relative;
    padding: 0 18px;
}
.tb-photoB-SList-slick .item .pic,
.tb-photoB-MList-slick .item .pic {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    border-radius: 5px 5px 0 0;
    background-color: #fff;
}
.tb-photoB-SList-slick .item .pic:before,
.tb-photoB-MList-slick .item .pic:before {
    position: relative;
    content: '';
    display: block;  
    width: 100%;
    padding-bottom: 52%;
}
.tb-photoB-SList-slick .item .pic img,
.tb-photoB-MList-slick .item .pic img {
    position: absolute;
    /*max-width: 100%;*/
    height: auto !important;
    z-index: 0;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.tb-i-photoB-cont .item .text {
    position: relative;
    padding: 18px 20px;
    background-color: #fff;
}
.tb-i-photoB-cont .item .title {
    position: relative;
    margin-bottom: 5px;
    color: #0f0f0f;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.03rem;
    text-align: justify;
    text-overflow: ellipsis;
    display: block;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    line-height: 27px;
    height: 27px;
}
@media only screen and (min-width: 992px) {
    .tb-photoB-right {
        width: 50%;
        padding-left: 25px;
    }
    .tb-photoB-left {
        width: 50%;
    }
    .tb-photoB-MList-slick .item {
        padding-right: 0;
    }
    .tb-photoB-SList-slick {
        display: block;
    }
}


/* -------------------------------- 

        review

 -------------------------------- */
.tb-i-review {
    padding: 30px 0;
}
.tb-i-review  .tb-review-list {
    position: relative;
    padding-bottom: 50px;
}
.tb-i-review .tb-review-list .item {
    position: relative;
    display: inline-block;
    width: 100%;
    padding: 0 1.5vw;
    padding-bottom: 25px;
}
.tb-i-review .slick-slide {
    transform: scale(0.8);
    filter: blur(1rem);
    transition: 0.3s all;
}
.tb-i-review .slick-slide.slick-active {
    transform: scale(0.8);
    filter: blur(5px);
}
.tb-i-review .slick-slide.slick-center {
    transform: scale(1);
    filter: blur(0);
    z-index: 10;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
    .tb-i-review .slick-slide.slick-center .inner {
        width: 350px;
        left: 50%;
        transform: translateX(-50%);
    }
}
.tb-i-review .tb-review-list.withSlick {
	display: flex;
	flex-wrap: wrap;
}
.tb-i-review .tb-review-list.withSlick .item {
	display: block;
	width: 33.3333%;
}
.tb-i-review .tb-review-list .item .inner {
    position: relative;
    max-width: 500px;
    margin: auto;
    padding: 15px;
    text-align: center;
    background-color: #fff;
    border-radius: 20px;
}
.tb-i-review .tb-review-list .item .pic {
    position: relative;
    width: 100%;
    max-width: 400px;
    margin: auto;
    overflow: hidden;
    z-index: 0;
}
.tb-i-review .tb-review-list .item .pic:before { 
    position: relative;
    content: '';
    display: block;
    width: 100%;
    padding-bottom: 75%;/* 4:3 */
}
.tb-review-list .item .pic img {
    position: absolute;
    height: auto!important;
    z-index: 0;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.tb-i-review .tb-review-list .item .text {
    position: relative;
}
.tb-i-review .tb-review-list .item .text .title {
    position: relative;
    margin-top: 15px;
    margin-bottom: 0;
    font-size: 1.25rem;
    color: #333;
    text-shadow: 0 0 2px rgb(0 0 0 / 20%);
}
.tb-i-review .tb-review-list .item .text .date {
    position: relative;
    display: block;
    color: #666;
}
.tb-i-review .tb-review-list .item .text .desc {
    position: relative;
    display: block;
    text-align: left;
    font-size: 1rem;
    line-height: 1.5rem;
}
.tb-i-review .tb-review-list .item .writer {
    position: relative;
    display: inline-block;
    width: 65%;
    max-width: 330px;
    min-width: 200px;
    vertical-align: text-bottom;
    padding: 10px;
    color: #fff;
    line-height: 1.5rem;
    background-color: #BFA36C;
    border-radius: 15px;
    transform: translateY(30px);
}
/* */
.tb-review-list-grid {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 50px;
}
.tb-review-list-grid .item {
    position: relative;
    display: block;
    max-width: 630px;
    width: calc(100% - 20px);
    margin: 20px auto;
    padding: 10px;
    background-color: #fff;
    border: 1px solid var(--main-grayCc-color);
}
.tb-review-list-grid .item .pic {
    position: relative;
    width: 60%;
    max-width: 150px;
    margin: auto;
    overflow: hidden;
    z-index: 0;
}
.tb-review-list-grid .item .pic:before { 
    position: relative;
    content: '';
    display: block;
    width: 100%;
    padding-bottom: 100%;/* 1:1 */
}
.tb-review-list-grid .item .pic img {
    position: absolute;
    height: auto!important;
    z-index: 0;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.tb-review-list-grid.sw-review .item .pic {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.tb-review-list-grid .item .text {
    position: relative;
}
.tb-review-list-grid .item .text .title {
    position: relative;   
    margin-bottom: 0;
}
.tb-review-list-grid .item .text .date {
    position: relative;
    display: block;
    color: #666;
}
.tb-review-list-grid .item .text .desc {
    position: relative;
    display: block;
    text-align: left;
    font-size: 1rem;
    line-height: 1.5rem;
}
.tb-review-list-grid .item .text .title span {
    position: relative;
    display: inline-block;
    vertical-align: top;
    margin-top: 7px;
    margin-left: 40px;
    font-weight: bold;
    line-height: 22px;
    color: #685827;
    background-color: #e3e3e3;
    padding: 3px 10px;
    border-radius: 15px;
}
.tb-review-list-grid .item .text .title span:before {
    position: absolute;
    content: '';
    display: block;
    width: 30px;
    height: 1px;
    background-color: #e3e3e3;
    left: -35px;
    top: 50%;
}
/* tb-i-review-B */
.tb-i-reviewB {
    position: relative;
    padding: 2vw 0;
}
.tb-i-reviewB .tb-i-reviewB-box {
    position: relative;
    max-width: 1200px;
    width: 100%;
    margin: auto;
}
.tb-i-reviewB .tb-reviewB-list {
    position: relative;
    display: block;
    max-width: 800px;
    width: 100%;
    margin: auto;
    padding: 2vw 0 70px;
}
.tb-reviewB-list .tb-reviewB-item {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    width: calc(100% - 30px);
    /*height: auto!important;*/
    align-items: center;
    align-content: center;
    padding: 20px;
    padding-top: 40px;
    margin: 10px 15px;
    background-color: #fff;
    border-radius: 20px;
    border: 1px solid #222;
    box-shadow: rgba(0, 0, 0, 0.15) 0px 2px 8px;
}
.tb-reviewB-list .tb-reviewB-item .date {
    position: absolute;
    top: 5px;
    right: 15px;
}
.tb-reviewB-list .tb-reviewB-item .pic {
    position: relative;
    width: 100%;
    max-width: 400px;
    margin: 0;
    overflow: hidden;
    z-index: 0;
}
.tb-reviewB-list .tb-reviewB-item .pic:before {
    position: relative;
    content: '';
    display: block;
    width: 100%;
    padding-bottom: 75%;
}
.tb-reviewB-list .tb-reviewB-item .pic img {
    position: absolute;
    height: auto!important;
    margin: 10px;
    z-index: 0;
    top: initial;
    bottom: 0;
    left: 0;
    transform: translate(0, 0);
}
.tb-reviewB-list .tb-reviewB-item .text {
    position: relative;
    width: 100%;
    padding: 10px;
    color: #333;
}
.tb-reviewB-list .tb-reviewB-item .text .writer {
    position: relative;
    width: 100px;
    text-align: center;
    font-size: .8rem;
    line-height: 1.5rem;
    color: #fff;
    background: rgb(51,51,51);
    background: linear-gradient(90deg, rgba(51,51,51,1) 10%, rgba(0,0,0,0) 100%);
} 
.tb-reviewB-list .tb-reviewB-item .text h3.title {
    position: relative;
    display: block;
    padding: 5px 10px;
    font-weight: bold;
    color: #153B8B;
}
.tb-reviewB-list .tb-reviewB-item .text span.desc {
    position: relative;
    display: block;
    max-width: 570px;
    width: 100%;
    padding: 5px 10px;
    line-height: 1.5rem;
}
.tb-i-reviewB .slick-arrow {
    width: 45px;
    height: 45px;
    background-color: #023D96;
    border-radius: 0;
}
.tb-i-reviewB .slick-arrow:before {
    border-color: #fff;
}
.tb-i-reviewB .slick-arrow.slick-prev {
    top: initial;
    left: initial;
    right: 50%;
    bottom: 5px;
}
.tb-i-reviewB .slick-arrow.slick-next {
    top: initial;
    bottom: 5px;
    right: calc(50% - 55px);
}
/* */
.tb-i-reviewC {
    position: relative;
}
.tb-reviewC-list {
    position: relative;
    display: block;
    max-width: 1600px;
    width: 100%;
    padding: 10px 20px;
    margin: auto;
}
.tb-reviewC-list.noSlick {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.tb-reviewC-list.noSlick .item {
    width: calc(100% - 16px);
    max-width: 405px;
    margin-right: 8px;
    margin-left: 8px;
}
.tb-reviewC-list .item {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    padding: 10px;
    margin: 8px;
    background-color: #EEE;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}
.tb-reviewC-list .item .pic {
    position: relative;
    max-width: 150px;
    width: 100%;
    margin: auto;
    overflow: hidden;
    z-index: 0;
}
.tb-reviewC-list .item .pic:before {
    position: relative;
    content: '';
    display: block;
    width: 100%;
    padding-bottom: 75%;
}
.tb-reviewC-list .item .pic img {
    position: absolute;
    left: 50%;
    top: 50%;
    bottom: initial;
    transform: translate(-50%, -50%);
}
.tb-reviewC-list .item .writer {
    max-width: 330px;
    width: 100%;
    margin: auto;
    font-size: .9rem;
    color: #195A90;
}
.tb-reviewC-list .item .title {
    max-width: 330px;
    width: 100%;
    margin: auto;
    font-size: 1.25rem;
    font-weight: bolder;
}
.tb-reviewC-list .item p {
    position: relative;
    max-width: 330px;
    width: 100%;
    margin: auto;
}
.tb-reviewC-list .slick-arrow {
    width: 35px;
    height: 35px;
}
.tb-reviewC-list .slick-arrow:before {
    width: 10px;
    height: 10px;
    margin-top: -4px;
}
.tb-reviewC-list .slick-dots {
    position: relative;
    bottom: 0;
}
.tb-reviewC-list .slick-dots li button {
    border-radius: 100%;
}
/* */
.tb-reviewD {
    position: relative;
    max-width: 1200px;
    margin: auto;
}
.tb-reviewD-list {
    position: relative;
    max-width: 600px;
    width: 100%;
    margin: auto;
    padding-bottom: 60px;
}
.tb-reviewD-list .item {
    position: relative;
    width: 100%;
    margin: auto;
    padding: 0 15px;
}
.tb-reviewD-list .item-inner {
    position: relative;
    max-width: 570px;
    margin: 0px;
    padding-bottom: 60px;
    color: #fff;
    background-color: rgba(29,34,48,.9);
    border-radius: 30px;
    overflow: hidden;
}
.tb-reviewD-list .item-inner .pic {
    max-width: 100%;
}
.tb-reviewD-list .item-inner .pic img {
    width: 100%;
}
.tb-reviewD-list .item-inner .txt {
    position: relative;
    width: 92%;
    max-width: 400px;
    margin: auto;
}
.tb-reviewD-list .item-inner .txt .title {
    position: relative;
    margin: 20px auto 10px;
    font-size: 1.2rem;
    font-weight: bolder;
    color: #C9AA6B;
}
.tb-reviewD-list .item-inner .txt .writer {
    position: relative;
    padding-left: 50px;
    font-size: .9rem;
    color: #888;
}
.tb-reviewD-list .item-inner .txt .writer:before {
    position: absolute;
    content: '';
    display: block;
    width: 40px;
    height: 1px;
    background-color: #888;
    left: 0;
    top: 16px;
}
.tb-i-reviewD .slick-dots {
    bottom: 70px;
}
.tb-i-reviewD .slick-dots button {
    border-radius: 5px;
}
.tb-i-reviewD .slick-dots li.slick-active button {
    background-color: #C9AA6B;
    transform: scaleX(1.5);
    border-radius: 3px;
}
.tb-i-reviewD .slick-arrow {
    width: 45px;
    height: 45px;
    background-color: rgba(29,34,48,.9);
    border-radius: 0;
    bottom: 5px;
}
.tb-i-reviewD .slick-arrow:before {
    border-color: #C9AA6B;
}
.tb-i-reviewD .slick-arrow.slick-prev {
    top: initial;
    left: initial;
    right: 90px;
}
.tb-i-reviewD .slick-arrow.slick-next {
    top: initial;
    right: 40px;
}
/* */
.tb-i-reviewE {
    position: relative;
    max-width: 1200px;
    margin: auto;
    padding: 2vw 0;
    padding-bottom: 5vw;
}
.tb-i-reviewE .tb-subhead {
    max-width: 1200px;
}
.tb-i-reviewE .tb-subhead h2 {
    margin-left: 5vw;
    margin-bottom: 0;
    text-align: left;
}
.slick-list .draggable {
    max-height: 600px;
}
.tb-reviewE-list{
    position: relative;
    padding: 30px 5vw;
    margin: 20px auto;
}
.tb-reviewE-list .flist {
    display: flex!important;
    background: #fff;
    border: solid 1px #CCCCCC;
}
.reviewE-pic {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.reviewE-pic:before {
    position: relative;
    content: '';
    display: block;
    width: 100%;
    padding-bottom: 60%;
}
.reviewE-pic img {
    position: absolute;
    width: auto;
    max-width: 100%;
    z-index: 0;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(0, -50%);
}
.reviewE-txt {
    max-width: 600px;
    width: 100%;
    padding: 20px;
    margin: auto;
}
.reviewE-txt .reviewE-txt-title {
    position: relative;
    display: block;
    font-size: 1.25rem;
    margin-bottom: 20px;
    color: #0B3484;
    font-weight: 600;
    padding-top: 30px;
}
.reviewE-txt .reviewE-txt-title:before {
    position: absolute;
    content: "";
    display: block;
    left: 0;
    top: 0;
    width: 100%;
    max-width: 103px;
    height: 100%;
    max-height: 15px;
    background-image: url(../client/waterproof-03.jpeg);
    background-position: left top;
    background-size: contain;
    background-repeat: no-repeat;
}
.reviewE-txt p span {
    display: none;
}
.tb-reviewE-list .slide-arrow {
    position: absolute;
    z-index: 10;
    top: 50%;
    margin-top: -15px;
    content: '';
    display: block;
    width: 45px;
    height: 45px;
    background: #3333337d;
}
.tb-reviewE-list .prev-arrow {
    left: 5px;
}
.tb-reviewE-list .next-arrow {
    right: 5px;
}
.tb-reviewE-list .slide-arrow:before {
    content: "";
    width: 15px;
    height: 15px;
    position: absolute;
    top: 50%;
    left: 17px;
    border-left: none;
    border-bottom: none;
    border-color: rgb(255 255 255);
    margin-top: -7px;
    display: inline-block;
    -webkit-transition: opacity .2s;
    -o-transition: opacity .2s;
    -webkit-transform: rotate(225deg);
}
.tb-reviewE-list .next-arrow:before {
    left: 13px;
    -webkit-transform: rotate(45deg);
}
@media only screen and (min-width: 500px) {
    .tb-reviewB-list .tb-reviewB-item {
        padding-top: 30px;
    }
    .tb-reviewB-list .tb-reviewB-item .pic img {
        margin: auto;
    }
    /* */
    .tb-reviewC-list {
        padding: 10px 50px;
    }
    .tb-reviewC-list .item {
        padding: 10px 1.56vw;
    }
    .tb-reviewC-list .item .pic {
        margin-left: 15px;
        margin-right: auto;
    }
    /* */
    .tb-reviewD-list {
        margin-right: 0;
        margin-left: auto;
    } 
    .tb-reviewD-list .item-inner .pic {
        margin: auto;
    }
    /* */
    .tb-reviewE-list .slide-arrow {
        position: absolute;
        z-index: 10;
        top: 50%;
        margin-top: -15px;
        content: '';
        display: block;
        width: 45px;
        height: 45px;
        background: #333333;
    }
    @media only screen and (min-width: 767px) {
        .tb-i-review {
            padding: 60px 0;
        }
        /* */
        .tb-review-list-grid {
        	justify-content: flex-start;
        }
        .tb-review-list-grid .item {
        	display: flex;
        	flex-wrap: wrap;
        	align-items: flex-start;
    	    width: calc(50% - 20px);
    	    margin-left: 10px;
    	    margin-right: 10px;
    	}
    	.tb-review-list-grid .item .pic {
    		width: 150px;
    		margin: 0;
    	}
    	.tb-review-list-grid .item .text {
    		width: calc(100% - 150px);
    		padding-left: 20px;
    	}
    	.tb-review-list-grid .item .text .title {
    		margin-top: 0;
    	}
        /* */
        .tb-reviewB-list .tb-reviewB-item {
            width: 100%;
            padding-top: 20px;
        }
        .tb-reviewB-list .tb-reviewB-item .pic {
            width: 25%;
            margin: auto;
        }
        .tb-reviewB-list .tb-reviewB-item .pic img {
            left: 50%;
            top: 50%;
            bottom: initial;
            transform: translate(-50%, -50%);
        }
        .tb-reviewB-list .tb-reviewB-item .text {
            width: 75%;
        }
        .tb-i-reviewB .slick-arrow.slick-prev {
            right: 65px;
        }
        .tb-i-reviewB .slick-arrow.slick-next {
            right: 10px;
        }
        /* */
        .tb-reviewC-list.noSlick .item {
            width: calc(50% - 16px);
        }
        /* */
        .tb-reviewE-list .flist {
            max-height: initial;
            align-items: stretch;
        }
        .tb-reviewE-list {
            margin: 25px 0;
        }
        .reviewE-pic {
            width: 50%;
        }
        .reviewE-pic:before {
            padding-bottom: 83%;
        }
        .reviewE-pic img {
            width: auto;
            height: auto;
        }
        .reviewE-txt {
            width: 50%;
            max-width: 600px;
            margin-left: auto;
            margin-right: auto;
            padding: 50px;
        }
        .reviewE-txt p {
            margin: 0;
        }
        @media only screen and (min-width: 1199px) {
            .tb-i-review {
                padding: 80px 0;
            }
            /* */
            .tb-reviewC-list.noSlick .item {
                width: calc(33.3333% - 16px);
            }
        }
    }
}


/* -------------------------------- 

        video page

 -------------------------------- */
/* video */
.tb-video-all {
    position: relative;
    padding: 0 0 2vw;
}
.tb-video-list {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    max-width: 1500px;
    width: 100%;
    margin: auto;
}
.tb-video-list li {
    position: relative;
    width: 100%;
    padding: 10px;
}
.video-box {
    position: relative;
    max-width: 680px;
    margin: 10px auto;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}
.v-film {
    position: relative;
    width: 100%;
    height: 0;
    margin: auto; 
    padding-bottom: 56.25%;
}
.v-film iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.tb-video-list li h4 {
    position: relative;
    display: block;
    max-width: 680px;
    margin: auto;
    padding-left: 20px;
    font-size: 1.2rem;
    font-weight: bold;
}
@media only screen and (min-width: 768px) {
    .tb-video-list li {
        width: 50%;
    }
    .video-box {
        margin: 10px auto;
    }
}


/* -------------------------------- 

        faq page

 -------------------------------- */
.tb-faq-list input {
	position: absolute;
	opacity: 0;
	z-index: -1;
}
.tb-faq-list {
	position: relative;
	margin: 25px auto 50px;
	padding: 0 1.56vw;
	overflow: hidden;
}
.tb-faq-list .item {
	width: 100%;
	/*background-color: var(--main-grayCc-color);*/
	overflow: hidden;
	margin-bottom: 20px;
}
.tb-faq-list .q {
	position: relative;
	display: flex;
	background: var(--main-grayCc-color);
}
.tb-faq-list .q .q-txt {
	position: relative;
	width: 100%;
	justify-content: space-between;
	padding: 15px 30px 15px 40px;
	font-size: 1.2rem;
	color: #333;
	cursor: pointer;
	z-index: 2;
}
.tb-faq-list .q .q-txt:before {
	position: absolute;
	content: '';
	display: block;
	width: 35px;
	height: 100%;
	text-align: center;
    top: 0;
    left: 0;
    background-color: var(--minor-color-B);
}
.tb-faq-list .q .q-txt:after {
	position: absolute;
	content: 'Q';
	width: 35px;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
    font-size: 1.5rem;
	color: #fff;
	text-align: center;
}
.tb-faq-list .q:after {
	position: absolute;
	content: '';
    display: block;
    right: 15px;
    top: 50%;
    margin-top: -4px;
    border-color: #444;
    width: 7px;
    height: 7px;
    border-style: solid;
    border-width: 0 2px 2px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
	transition: all 0.35s;
}
.tb-faq-list .a-content {
	max-height: 0;
	padding: 0 15px;
	background: var(--base-bg-color);
	transition: all 0.35s;
}
.tb-faq-list input:checked + .q:after {
  transform: rotate(-135deg);
}
.tb-faq-list input:checked ~ .a-content {
	max-height: 100vh;
	padding: 15px;
	padding-left: 35px;
}
@media only screen and (min-width: 767px) {	
	.tb-faq-list input:checked ~ .a-content {
		padding-left: 58px;
	}
	.tb-faq-list .q .q-txt {
		padding-left: 58px;
	}
	.tb-faq-list .q .q-txt:before {
		width: 50px;
	}
	.tb-faq-list .q .q-txt:after {
		width: 50px;
	}
	.tb-faq-list .q:after {
		right: 20px;
	    margin-top: -5px;
	    width: 10px;
	    height: 10px;
	}
	@media only screen and (min-width: 1199px) {
		.tb-faq-list .q:after {
			right: 45px;
		    margin-top: -7px;
		    width: 12px;
		    height: 12px;
		}
	}
}


/* -------------------------------- 

        page tab

 -------------------------------- */
#newsRow-page .tb-page-category,
#newsTxt-page .tb-page-category {
 	margin-bottom: 50px;
}
#faq-page .tb-page-category {
	margin-top: 0;
}
.tb-page-category {
	position: relative;
    display: block;
    text-align: center;
    padding: 0 15px;
    margin-top: 30px;
    z-index: 11;
}
.page-category-on {
	position: relative;
	display: block;
	width: 100%;
    min-height: 40px;
	margin: auto;
	padding: 5px;
	color: #fff;
    border: 1px solid #333;
    background: rgba(51,51,51,1);
    background: -moz-linear-gradient(top,rgba(51,51,51,1) 0,rgba(0,0,0,1) 100%);
    background: -webkit-gradient(left top,left bottom,color-stop(0,rgba(51,51,51,1)),color-stop(100%,rgba(0,0,0,1)));
    background: -webkit-linear-gradient(top,rgba(51,51,51,1) 0,rgba(0,0,0,1) 100%);
    background: -o-linear-gradient(top,rgba(51,51,51,1) 0,rgba(0,0,0,1) 100%);
    background: -ms-linear-gradient(top,rgba(51,51,51,1) 0,rgba(0,0,0,1) 100%);
    background: linear-gradient(to bottom,rgba(51,51,51,1) 0,rgba(0,0,0,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#333333',endColorstr='#000000',GradientType=0 );
}
.categorymenu-icon {
	position: absolute;
    width: 16px;
    height: 1px;
    background: #FFF;
    right: 20px;
    bottom: 26px;
}
.categorymenu-icon:after {
    content: "";
    width: 8px;
    height: 1px;
    background: #fff;
    position: absolute;
    top: 10px;
    left: 4px;
}
.categorymenu-icon:before {
    content: "";
    width: 16px;
    height: 1px;
    background: #fff;
    position: absolute;
    top: 5px;
    left: 0;
}
.tb-page-category-list,
.tb-member-category-list {
	position: absolute;
	display: none;
    margin: 10px auto 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 30px);
    border: #ddd solid 1px;
    background-color: var(--base-bg-color);
    z-index: 10;
    padding: 10px 0;
}
.tb-page-category-list li,
.tb-member-category-list li {
	position: relative;
	max-width: 100%;
	line-height: 35px;
	text-align: center;
}
.tb-page-category-list li a,
.tb-member-category-list li a {
    display: block;
    color: #333;
    width: 100%;
}
/* */
.tb-category-newsTitle {
	position: relative;
	text-align: center;
	font-size: 2rem;
	color: var(--minor-color-Bb);
	padding-bottom: 20px;
	margin-bottom: 30px;
}
.tb-category-newsTitle:before {
	position: absolute;
	content: '';
	display: block;
	width: 40px;
	height: 4px;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	background-color: #DDDDDD;
}
@media only screen and (min-width: 499px) {
	.page-category-on {
		width: 60%;
	}
	.tb-page-category-list,
	.tb-member-category-list {
		width: 60%;
	}
    @media only screen and (min-width: 768px) {
        #editor-article-page .page-category-on {
            display: none;
        }
    	@media only screen and (min-width: 992px) {
            .page-category-on {
                display: none;
            }
    		.tb-page-category-list {
    			position: relative;
    			left: initial;
    			transform: translateX(0);
    			/*display: flex;*/
    			display: block!important;
    			margin: 0 -8px;
    			width: 100%;
    			justify-content: center;
    			border: none;
    			background-color: transparent;
    		}
    		.tb-page-category-list li {
    			display: inline-block;
    			max-width: 25%;
    			padding: 8px;
    		}
    		.tb-page-category-list li a {
    			width: 230px;
    			padding: 7px;
    			border: 1px solid var(--main-color-A);
    			-moz-transition: all .3s;
    		    -o-transition: all .3s;
    		    -webkit-transition: all .3s;
    		    transition: all .3s;
    		}
    		.tb-page-category-list li:hover a {
    		    border-color: var(--main-color-A);
    		    color: var(--main-color-A);
    		}
    		.tb-page-category-list li.active a {
    			border-color: var(--main-color-A);
    			background-color: var(--main-color-A);
    		    color: #ffffff;
    		}
    		/* */
    		.tb-page-l-wrap .tb-page-category {
    			padding-right: 0;
    		}
    	    .tb-category-newsTitle {
    	    	margin-bottom: 20px;
    	    }
    	    #newsIn-page .tb-page-category-list,
            #newsBlock-page .tb-page-category-list,
    	    .tb-member-category-list {
    	    	position: relative;
    			display: block!important;
    			width: 100%;
    			padding: 0;
    			border: none;
    		}
    		#newsIn-page .tb-page-category-list li,
            #newsBlock-page .tb-page-category-list li,
    		.tb-member-category-list li {
    			max-width: 100%;
                width: 100%;
    			padding: 0;
    			text-align: left;
    		}
    		#newsIn-page .tb-page-category-list li a,
            #newsBlock-page .tb-page-category-list li a,
    		.tb-member-category-list li a {
    			width: 100%;
    			padding: 7px;
    			border: none;
    			border-bottom: 1px solid var(--main-grayCc-color);
    			-moz-transition: all .3s;
    		    -o-transition: all .3s;
    		    -webkit-transition: all .3s;
    		    transition: all .3s;
    		}
            #newsIn-page .tb-page-category-list li:hover a,
            #newsBlock-page .tb-page-category-list li:hover a,
    		.tb-news-category-list li:hover a {
    		    border-color: var(--main-color-A);
    		    color: var(--main-color-A);
    		}
            #newsIn-page .tb-page-category-list li.active a,
            #newsBlock-page .tb-page-category-list li.active a,
    		.tb-news-category-list li.active a {
    			background-color: transparent;
    			padding-left: 15px;
    			color: #333;
    		}
            #newsIn-page .tb-page-category-list li.active a:before,
            #newsBlock-page .tb-page-category-list li.active a:before,
    		.tb-news-category-list li.active a:before {
    		    position: absolute;
    		    content: '';
    		    display: block;
    		    width: 6px;
    		    height: 6px;
    		    background-color: var(--main-color-Aa);
    		    border-radius: 100%;
    		    left: 4px;
    		    top: 20px;
    		}
    		/* */
    		.tb-member-category-list {
    			background-color: transparent;
    		}
    		.tb-member-category-list li a,
    		.tb-member-category-list li.active a {
    			padding-left: 20px;
    			border: none;
    		}
    		.tb-member-category-list li.active a:before {
    		    position: absolute;
    		    content: '';
    		    display: block;
    		    width: 8px;
    		    height: 1px;
    		    background-color: #333;
    		    left: 3px;
    		    top: 50%;
    		}
    	}
    }
}


/* -------------------------------- 

        tb-rightside-menuList

 -------------------------------- */
#tb-rightside-menuList {
    position: fixed;
    right: 0;
    z-index: 588;
    top: 15%;
    transform: translateX(270px);
    width: 270px;
    transition: all .5s cubic-bezier(0.74, 0.18, 0, 0.74) .125s;
}
@media only screen and (min-width: 767px) {
    #tb-rightside-menuList {
        top: 155px;
    }
    @media only screen and (min-width: 1199px) {
        #tb-rightside-menuList {
            top: 110px;
        }
    }
}
.tb-rightside-menuList-title {
    position: relative;
    float: left;
    width: 40px;
    padding: 38px 8px 10px 8px;
    line-height: 1.5rem;
    color: #fff;
    letter-spacing: 5px;
    writing-mode: vertical-lr;
    background-color: var(--main-color-A);
    border-radius: 10px 0 0 10px;
    cursor: pointer;
    margin-left: -40px;
}
.tb-rightside-menuList-title .member-icon {
	position: absolute;
	left: 9px;
	top: 10px;
	display: block;
	width: 20px;
	height: 20px;
}
.tb-rightside-menuList-title .member-icon path {
	fill: #ffffff;
}
#tb-rightside-menuList .option .menuList {
    width: 270px;
    float: right;
    background: #fff;
    padding: 20px 15px;
    box-shadow: 0 -2px 10px rgba(51,51,51,.3);
}
#tb-rightside-menuList .option .menuList li {
    position: relative;
    padding: 10px 0px;
    padding-left: 20px;
    margin-bottom: 5px;
    border-bottom: 1px solid #e9e9e9;
}
#tb-rightside-menuList .option .menuList li:last-child {
    border-bottom: none;
}
#tb-rightside-menuList .option .menuList li a i {
    font-size: 13px;
    font-style: initial;
    color: #666;
    padding: 0 5px;
}
#tb-rightside-menuList .option .menuList li.status-data {
    line-height: 1.5rem;
    letter-spacing: 0;
}
#tb-rightside-menuList .option .menuList li .btn-logout {
    position: absolute;
    display: block;
    right: -5px;
    top: 10px;
    width: 40px;
    margin: 3px ;
    font-size: 13px;
    line-height: 15px;
    padding: 5px;
    color: #fff;
    background-color: var(--minor-color-B);
    border-radius: 5px;
}
@media screen and (min-width: 1025px) {
    #tb-rightside-menuList:hover {
        transform: translateX(0);
    }
}
@media screen and (max-width: 1024px) {
    #tb-rightside-menuList.open {
        transform: translateX(0);
    }
}


/* -------------------------------- 

        contact page

 -------------------------------- */
.tb-form-contact {
	position: relative;
	padding-bottom: 50px;
}
.tb-form-contact:before {
	position: absolute;
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	left: 0;
	bottom: -5vw;
	background-image: url(../client/waterproof-04.jpeg);
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: contain;
	opacity: .2;
}
.form-contact-box {
	position: relative;
	max-width: 600px;
	margin: 50px auto;
	padding: 0 15px;
}
.req-statement {
	text-align: right;
	padding: 0 10px;
	font-size: .9rem;
}
.req {
	padding: 0 3px;
	color: #c8151d;
	font-weight: bold;
}
.form-row {
	position: relative;
	display: block;
	margin: 0 auto 25px;
}
.form-title, .form-txt {
	position: relative;
	width: 100%;
}
.form-txt .input-style {
    display: block;
	width: 100%;
	padding: 8px;
    border: 1px solid #aaa;
    outline: none;
    border-radius: 2px;
}
.form-txt .form-item {
    display: inline-block;
    margin: 0 22px 0 0;
}
.form-txt .list-item-label {
	display: inline-block;
	vertical-align: top;
    margin-left: 8px;
    transform: translateY(-2px);
    margin-bottom: -2px;
}
#captchaIMG {
	display: inline-block;
	vertical-align: top;
	width: 100px;
}
.form-txt .input-style.captcha-style {
	display: inline-block;
	vertical-align: top;
	width: calc(100% - 100px);
}
.styled-select.add {
	display: inline-block;
	width: 45%;
	margin-right: 2%;
}
.tb-form-contact .tb-btn-wrap {
	max-width: 600px;
	height: 50px;
}
.tb-form-contact .btn-rest {
	float: left;
	width: 48%;
	margin-right: 2%;
}
.tb-form-contact .btn-send {
	float: left;
	width: 48%;
	margin-left: 2%;
}
/* */
.tb-contactInfo-wrap {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	padding: 0;
}
.tb-contactInfo-wrap .map iframe {
	position: relative;
	display: block;
	line-height: 0;
}
.contact-info-left {
	width: 100%;
	padding: 20px;
}
.contact-info-right {
	width: 100%;
}
.contact-title {
	position: relative;
	font-size: 1.75rem;
	padding: 20px 0;
	border-bottom: 2px solid var(--main-color-A);
	margin-bottom: 40px;
}
.contact-title i {
	padding: 0 10px;
	font-size: 1.2rem;
	color: #999999;
}
.contact-info-box {
	position: relative;
	width: 95%;
	max-width: 370px;
	margin: auto;	
}
.contact-info-txt {
	position: relative;
	font-size: 1.125rem;
}
.contact-info-txt li {
	position: relative;
	margin-bottom: 10px;
	padding-left: 60px;
}
.contact-info-txt li b {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 60px;
}
.contact-info-txt .social-link {
	position: relative;
	margin: 40px 0;
	padding-left: 0;
}
.contact-info-txt .social-link a {
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: 48%;
	margin: 0 1%;
	padding: 10px;
	padding-left: 25px;
	color: #fff;
	border-radius: 5px;
	text-align: center;
	background-size: 25px;
	background-position: 10px center;
	background-repeat: no-repeat;
}
.contact-info-txt .social-link a:nth-of-type(2n+1) {
	margin-left: 0;
}
.contact-info-txt .social-link .line {
	background-color: #00b900;
    background-image: url(../css-assets/images/svg-line-white.svg);
}
.contact-info-txt .social-link .facebook {
	background-color: #336ea9;
    background-image: url(../css-assets/images/svg-facebook-white.svg);
}
@media only screen and (min-width: 767px) {
	.tb-form-contact:before {
		opacity: .4;
	}
	.form-row {
		display: flex;
		flex-wrap: wrap;
	}
	.form-title {
		width: 135px;
	}
	.form-txt {
		width: calc(100% - 135px);
	}
	/* */
	.tb-contactInfo-wrap {
		padding: 0 0 3vw 0;
	}
	.contact-info-left {
		width: 45%;
		padding: 20px;
	}
	.contact-info-right {
		width: 55%;
	}
	.contact-info-box {
		margin-right: 35px;
		margin-left: auto;	
	}
	@media only screen and (min-width: 1199px) {
		.tb-form-contact:before {
			opacity: 1;
		}
	}
}

/* -------------------------------- 

        footer

 -------------------------------- */
.tb-footer {
    position: relative;
}
.tb-footerCopy {
    position: relative; 
    padding: 20px 0 30px;
    font-size: .9rem;
    line-height: 1.5rem;
}
.tb-footerCopy-inner {
    position: relative;
    max-width: 1440px;
    margin: auto;
    text-align: center;
}
.tb-footerCopy-inner span {
    display: block;
    padding: 3px 8px;
}
.tb-footerCopy-inner .tk-link a {
    position: relative;
}
.tb-footerCopy-inner .tk-link a:after {
    position: absolute;
    content: '';
    display: block;
    bottom: -5px;
    left: 0;
    width: 0px;
    height: 1px;
    background: #006341;
    -webkit-transition: width .25s, background .25s;
    -o-transition: width .25s, background .25s;
    transition: width .25s, background .25s;
}
.tb-footerCopy-inner .tk-link a:hover:after {
    width: 100%;
}
.tb-footerCopy .viewnum {
    position: absolute;
    right: 0;
    padding: 0 5px;
}
@media screen and (min-width: 499px) { 
    .tb-footerCopy-inner .copyright br {display: none;}
}
@media only screen and (min-width: 767px) {
    .tb-footerCopy-inner span {
        display: inline;
    }
    .tb-footerCopy-inner .tk-link {
        padding-left: 80px;
    } 
}
@-webkit-keyframes linetop {
    0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
    }
    35% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
    }
    35.1% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
    }
    70%, 100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
    }
}
@keyframes linetop {
    0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
    }
    35% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
    }
    35.1% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
    }
    70%, 100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
    }
}


/* -------------------------------- 

        member

 -------------------------------- */
#member-page .tb-main-cont {
	border-top: 1px solid #ddd;
	min-height: 500px;
}
#member-page .tb-main-cont:before {
	position: absolute;
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background-image: url(../client/waterproof-05.jpeg);
	background-position: 65% top;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: .35;
}
#member-page .tb-page-inner {
	margin-top: 50px;
}
.law {
	position: relative;
	max-width: 400px;
	margin: auto;
	text-align: center;
	padding: 20px;
}
.law a {
	text-decoration: underline;
}
.divid {
	position: relative;
	max-width: 400px;
	margin: auto;
	text-align: center;
	padding: 20px;
}
.divid:before,
.divid:after {
	position: absolute;
	content: '';
	display: block;
	width: 45%;
	height: 1px;
	background-color: #ddd;
	top: 50%;
}
.divid:before {
	left: 0;
}
.divid:after {
	right: 0;
}
.tb-texthead {
	position: relative;
	width: 255px;
	margin: 0 auto 30px;
    padding: 10px 0;
    color: #444;
    font-weight: 500;
    font-size: 2rem;
    text-align: center;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-shadow: 0 0 1px rgb(0 0 0 / 20%);
}
.tb-texthead .bg-icon {
	position: relative;
	display: inline-block;
	vertical-align: top;
	margin-right: 5px;
	width: 30px;
	height: 30px;
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 30px;
}
.tb-texthead .member {
	background-image: url(../css-assets/images/svg-member.svg);
}
.tb-texthead .search {
	background-image: url(../css-assets/images/svg-search.svg);
}
.tb-texthead .creditcard {
	background-image: url(../css-assets/images/svg-creditcard.svg);
}
.btn-login-line {
	position: relative;
	display: block;
	width: 200px;
	margin: 30px auto;
    padding: 10px;
    padding-left: 35px;
    color: #fff;
    border-radius: 5px;
    text-align: center;
    background-size: 30px;
    background-position: 25% center;
    background-repeat: no-repeat;
	background-color: #00b900;
    background-image: url(../css-assets/images/svg-line-white.svg);
}
#member-page .tb-btn-wrap {
	max-width: 400px;
}
.mypage-list {
	position: relative;
	display: flex;
	max-width: 350px;
	margin: 50px auto;
}
.mypage-list li {
	position: relative;
	width: 50%;
}
.mypage-list li a {
	position: relative;
	display: block;
	width: 140px;
	margin: auto;
	padding-left: 35px;
}
.mypage-list li .deco {
	padding-left: 30px;
	font-size: 1.125rem;
	margin-bottom: 25px;
}
.mypage-list li:nth-child(2) .deco {
	margin-bottom: 10px;
}
.mypage-list li .deco:after {
	position: absolute;
	content: '';
    display: block;
    left: 10px;
    top: 50%;
    margin-top: -4px;
    border-color: var(--minor-color-B);
    width: 7px;
    height: 7px;
    border-style: solid;
    border-width: 0 2px 2px 0;
    transform: rotate(-45deg);
}
.form-member-box {
	position: relative;
    max-width: 450px;
    margin: 30px auto;
    padding: 0 15px;
}
#member-page .form-member-box .form-row {
	margin-bottom: 15px;
}
.address-list {
	position: relative;
	max-width: 500px;
	margin: auto;
	margin-bottom: 50px;
}
.address-list li {
	position: relative;
	padding: 10px 0;
	padding-left: 60px;
	border-bottom: 1px solid #ddd;
}
.address-list li:last-child {
	padding-left: 0;
	border: none;
}
.address-list li p {
	position: relative;
	margin: 10px 0;
}
.address-list li p span {
	position: relative;
	display: block;
	margin: 5px 0;
	padding-left: 80px;
	line-height: 1.5rem;
    min-height: 24px;
}
.address-list li p i {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 80px;
	font-style: initial;
}
.address-list li .order {
	position: absolute;
	left: 10px;
    display: block;
    width: 50px;
    height: 35px;
    font-size: 30px;
    font-weight: bold;
    font-family: 'Roboto', sans-serif;
    margin-top: 10px;
}
.form-add-box {
	position: relative;
	width: 96%;
	max-width: 500px;
	margin: 30px auto;
}
.form-add-box .form-row {
	display: flex;
	margin-bottom: 10px;
}
.form-add-box .form-title {
	width: 80px;
}
.form-add-box .form-txt {
	width: calc(100% - 80px);
}
.form-add-box .form-row .styled-select.add {
	margin-bottom: 5px;
}
.btn-add {
	position: relative;
	display: block;
	width: 100px;
	margin: auto;
	margin-top: 30px;
	text-align: center;
	color: #fff;
	line-height: 30px;
	padding: 5px;
    height: 40px;
    border-radius: 3px;
    background-color: var(--main-color-A);
    border: 1px solid var(--main-color-A);
    box-shadow: 0 0 2px rgb(0 0 0 / 20%);
}
.btn-delete {
	position: absolute;
    display: block;
    right: 5px;
    background-color: var(--main-grayC-color);
    color: #fff;
    text-align: center;
    width: 70px;
    line-height: 30px;
    height: 30px;
    border-radius: 3px;
    margin-top: 10px;
    background-color: var(--main-grayC-color);
    box-shadow: 0 0 2px rgb(0 0 0 / 20%);
    z-index: 10;
}
#memberShop .divid {
	padding: 10px 0;
}
#memberShop .tb-btn-wrap p {
	text-align: right;
}
#memberShop .tb-btn-wrap p a {
	padding: 0 15px;
	color: #666;
}
.login-choice {
	position: relative;
	max-width: 800px;
	margin:  50px auto;
	display: flex;
	flex-wrap: wrap;
}
.login-half.nonmember:after {
	position: absolute;
	content: '';
	display: block;
	width: 75%;
	height: 1px;
	background-color: #ddd;
	bottom: -25px;
	left: 50%;
	transform: translateX(-50%);
}
.login-half {
	position: relative;
	width: 100%;
	padding: 50px 0;
	min-height: 150px;
}
.login-half.nonmember:before {
	position: absolute;
	content: '';
	display: block;
	width: 80%;
	height: 150px;
	left: 10%;
	top: 0;
	background-color: #aabec5;
	background-image: url(../client/waterproof-06.jpeg);
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: contain;
}
.btn-nonmember-shop {
	position: relative;
	display: block;
	width: 100%;
	margin-right: auto;
	color: #fff;
	font-size: 2rem;
	letter-spacing: 2px;
	text-align: center;
	top: 45%;
	transform: translateY(-50%);
	text-shadow: 0 0 10px rgb(0 0 0 / 45%);
}
/* */
.record-order {
	display: block;
	margin: auto;
	width: 96%;
}
.record-order h4 {
	font-size: 1.25rem;
	color: #F15924;
	margin-bottom: 10px;
}
.record-order p span {
	font-size: 0.9rem;
}
.record-order li {
	border: 1px solid #ddd;
	background-color: #fff;
	padding: 15px;
	margin-bottom: 25px;
}
.record-flist {
	position: relative;
	display: flex;
	flex-wrap: wrap;
}
.record-right,
.record-left,
.cart-part-a,
.cart-part-b {
	position: relative;
	width: 100%;
}
.cart-part-a {
	margin-top: 10px;
}
.cart-part-a table.tb-rsp-table {
	margin-bottom: 0;
}
.cart-part-a .product-size {
	display: inline-block;
	padding-left: 10px;
    font-size: .9rem;
    color: #666;
}
.cart-part-b ul li {
	border: none;
	padding: 0;
	margin-bottom: 0;
}
/* */
.privacy_main_title {
	border-bottom: 1px solid #f2f2f2;
	padding: 10px 0;
}
.privacy_box {
	width: 96%;
	max-width: 1200px;
	margin: 0 auto 50px;
}
.privacy_title {
	margin: 0;
	padding: 15px 0;
}
.privacy_content {
	margin-bottom: 15px;
}
.order-number {
	padding-left: 20px;
}
.order-number li {
	list-style: decimal;
}
.ol {
	padding-left: 20px;
}
.ol li {
	list-style: outside;
}
p.ol {
	position: relative;
}
p.ol:before {
	position: absolute;
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 4px;
	left: 0;
	top: 10px;
	background-color: #545454;
}
@media only screen and (min-width: 767px) {
	.login-half {
		width: 50%;
		padding: 0 20px;
	}
	.login-half.nonmember:before {
		width: calc(100% - 40px);
		height: calc(100% - 50px);
		left: 30px;
	}
	.login-half.nonmember:after {
		width: 1px;
		height: calc(70% - 50px);
		bottom: initial;
		left: -5px;
		top: 40%;
		transform: translateY(-50%);
	}
	.btn-nonmember-shop {
		width: calc(100% - 30px);
		margin-right: 0;
		margin-left: auto;
	}
	.record-right {
		width: 50%;
	}
	.record-left {
		width: 50%;
	}
	.cart-part-a {
		width: 66.6666%;
		padding-right: 2%;
	}
	.cart-part-b {
		width: 33.3333%;
		padding-left: 2%;
	}
}


.popup-bg {
	position: relative;
	background: var(--base-bg-color);
	padding: 40px;
	width: auto;
	max-width: 500px;
	margin: 20px auto;
	transition: 1s all;
}
.mfp-fade.mfp-bg {
	opacity: 0;
	-webkit-transition: all 0.15s ease-out;
	-moz-transition: all 0.15s ease-out;
	transition: all 0.15s ease-out;
}
/* overlay animate in */
.mfp-fade.mfp-bg.mfp-ready {
    opacity: 0.8;
    display: block;
}
/* overlay animate out */
/*
.mfp-fade.mfp-bg.mfp-removing {
    display: none;
    opacity: 0;
}
*/
.mfp-fade.mfp-wrap .mfp-content {
    opacity: 0;
    transition: all 0.4s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
    opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
    
    opacity: 0;
}