/* BASIC css start */
.membership {
}
.membership .banner {
    position:relative;
    background:#f9f6f1;
}
.membership .banner:after {
    position:absolute;
    bottom:0px;
    left:0px;
    right:0px;
    z-index:1;
    height:3.46vw;
    background:#000;
    content:"";
}
.membership .banner img {
    position:relative;
    z-index:2;
    width:100%;
    height:auto;
}
.membership .banner .overlay-text {
    position:absolute;
    top:0px;
    left:0px;
    right:0px;
    z-index:1;
    padding-top:5.86vw;
}
.membership .banner .overlay-text h6 {
    color:#000000;
    font-size:7.33vw;
    font-weight:normal;
    line-height:14.13vw;
    text-align:center;
}
.membership .banner .overlay-text h6 strong {
    font-weight:800;
}
.membership .banner .overlay-text h1 {
    color:#000000;
    font-size:12.66vw;
    font-weight:bold;
    line-height:17.33vw;
    text-align:center;
}
.membership .benefit-box {
    padding:9px 30px 25px;
    background:#000000;
}
.membership .benefit-box ul {
    display:grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 15px;
    grid-row-gap: 10px;
}
.membership .benefit-box ul li {
}
.membership .benefit-box ul li .item {
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:60px;
    padding:10.5px 0px 10.5px 42px;
    border:1px solid #666666;
    border-radius:10px;
    box-sizing:border-box;
}
.membership .benefit-box ul li .item .num {
    position:absolute;
    left:15px;
    bottom:12px;
    z-index:1;
    display:flex;
    align-items:flex-end;
    gap:0px 4px;
    color:#ffffff;
    font-size:20px;
    line-height:20px;
}
.membership .benefit-box ul li .item .num span {
    font-size:10px;
    line-height:14px;
}
.membership .benefit-box ul li .item h6 {
    color:#ffffff;
    font-size:12px;
    font-weight:600;
    line-height:18px;
    text-align:center;
}
.membership .coupon-zone {
    padding-bottom:65px;
    background:#f9f6f1;
}
.membership .coupon-zone .item {
    padding-top:47px;
}
.membership .coupon-zone .item:first-child {
    padding-top:35px;
}
.membership .coupon-zone .item h3 {
    color:#000000;
    font-size:25px;
    font-weight:600;
    line-height:40px;
    text-align:center;
}
.membership .coupon-zone .item ul {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:20px 18px;
    margin-top:20px;
    padding:0px 15px;
}
.membership .coupon-zone .item ul li {
    width:calc((100% - 18px) / 2);
}
.membership .coupon-zone .item ul li a {
    position:relative;
    display:block;
}
.membership .coupon-zone .item ul li a > img {
    width:100%;
    height:auto;
}
.membership .coupon-zone .item ul li a .overlay-text {
    position:absolute;
    top:0px;
    left:0px;
    bottom:0px;
    right:0px;
    z-index:1;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding-left:6.4vw;
    padding-right:10.66vw;
    box-sizing:border-box;
}
.membership .coupon-zone .item ul li a h2 {
    color:#ff4800;
    font-size:15px;
    line-height:18px;
}
.membership .coupon-zone .item ul li a h2 strong {
    font-weight:bold;
}
.membership .coupon-zone .item ul li a h6 {
    color:#000000;
    font-size:11px;
    line-height:16px;
}
.membership .coupon-zone .item ul li a p {
    margin-top:2.5px;
    color:#999999;
    font-size:8px;
    line-height:10px;
}
.membership .grade {
    margin-top:46px;
}
.membership .grade > h2 {
    color:#000000;
    font-size:25px;
    font-weight:600;
    line-height:40px;
    text-align:center;
}
.membership .grade > h6 {
    color:#999999;
    font-size:12px;
    line-height:28px;
    text-align:center;
}
.membership .grade .swipe-bar {
    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:20px;
    padding:0px 40px;
}
.membership .grade .swipe-bar .bar {
    position:absolute;
    top:50%;
    left:15px;
    right:15px;
    z-index:1;
    height:6px;
    margin-top:-3px;
    padding:0px 25px;
    background:#e7e7e7;
    border-radius:3px;
    overflow:hidden;
}
.membership .grade .swipe-bar .bar:before {
    position:absolute;
    top:0px;
    left:0px;
    bottom:0px;
    width:25px;
    background:#ff4800;
    content:"";
}
.membership .grade .swipe-bar .bar div {
    width:0px;
    height:100%;
    max-width:100%;
    background:#ff4800;
    transition:width 0.1s linear;
}
.membership .grade .swipe-bar .point {
    position:relative;
    z-index:2;
    display:flex;
    justify-content:center;
}
.membership .grade .swipe-bar .point .circle {
    width:16px;
    height:16px;
    background:#ff4800;
    border:2px solid #fff;
    border-radius:50%;
    box-sizing:border-box;
    box-shadow:0px 3px 4px 0px rgba(0, 0, 0, 0.13);
}
.membership .grade .swipe-bar .point .grade-name {
    position:absolute;
    top:25px;
    z-index:1;
    background:#ff4800;
    border-radius:10px;
    opacity:0;
    transition:opacity 0.3s ease-in-out;
}
.membership .grade .swipe-bar .point.on .grade-name {
    opacity:1;
}
.membership .grade .swipe-bar .point .grade-name:before {
    position:absolute;
    top:-11px;
    left:50%;
    z-index:1;
    margin-left:-7px;
    border-bottom: 6px solid #ff4800;
    border-top: 6px solid transparent;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    content:"";
}
.membership .grade .swipe-bar .point .grade-name p {
    padding:0px 10px;
    color:#fff;
    font-size:11px;
    font-weight:800;
    line-height:30px;
    text-align:center;
}
.membership .grade .grade-list {
    margin-top:63px;
    overflow:hidden;
}
.membership .grade .grade-list .swiper {
    width:280px;
    margin-left:15px;
    overflow:visible;
}
.membership .grade .grade-list .box {
    width:280px;
    margin-bottom:25px;
    padding:18px 0px 22px;
    background:#fff;
    border:2px solid #ccc;
    border-radius:10px;
    box-shadow:0px 6px 21px 0px rgba(0, 0, 0, 0.13);
    box-sizing:border-box;
}
.membership .grade .grade-list .box h4 {
    color:#000000;
    font-size:20px;
    font-weight:bold;
    line-height:25px;
    text-align:center;
}
.membership .grade .grade-list .box p {
    margin-bottom:16px;
    color:#666666;
    font-size:12px;
    line-height:22px;
    text-align:center;
}
.membership .grade .grade-list .box dl {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0px 25px;
}
.membership .grade .grade-list .box dl dt {
    flex-shrink:0;
    width:75px;
    color:#999999;
    font-size:10px;
    line-height:25px;
    text-align:center;
}
.membership .grade .grade-list .box dl dd {
    flex:1;
    color:#000000;
    font-size:12px;
    font-weight:bold;
    line-height:18px;
    text-align:center;
}
.membership .grade .grade-list .box.vip dl dd {
    color:#ff4800;
}
.membership .warning {
    margin-top:25px;
    padding:0px 15px;
}
.membership .warning h2 {
    margin-bottom:8px;
    color:#000000;
    font-size:25px;
    font-weight:600;
    line-height:40px;
    text-align:center;
}
.membership .warning p {
    position:relative;
    padding-left:10px;
    font-size:12px;
    line-height:25px;
}
.membership .warning p:before {
    position:absolute;
    top:11px;
    left:0px;
    z-index:1;
    width:3px;
    height:3px;
    background:#000;
    border-radius:50%;
    content:"";
}
/* BASIC css end */

