/*-------------------- 主視覺 --------------------*/

#main-top>h1 {
    display: block;
    max-width: 0;
    max-height: 0;
    overflow: hidden;
    line-height: 0;
    font-size: 1px;
    padding: 0;
    margin: 0;
}

#main-top {
    width: 100%;
    height: 0;
    padding-bottom: 21.25%;
    position: relative;
    background: url(https://event.cdn-gunnarworks.com/events/linepay/2026/1920x408.jpg) no-repeat center;
    background-size: cover;
}

@media screen and (max-width: 767px) {
    #main-top {
        padding-bottom: 52.1%;
        background: url(https://event.cdn-gunnarworks.com/events/linepay/2026/768x400.jpg) no-repeat center;
        background-size: cover;
    }
}

/*-------------------- 主視覺 END --------------------*/

/*-------------------- NAV --------------------*/

.nav_bar {
    display: inline-block;
    padding: 0;
    background: #01896c;
    border-radius: 500px;
    padding-left: 1rem;
    padding-right: 1rem;
    margin: 0 auto;
    border: 2px #ead983 solid;
}

.nav_bar ul.rowline {
    display: flex;
    justify-content: center;
    padding-inline-start: 0;
    margin-bottom: 0;
}

.nav_bar ul.rowline>li {
    position: relative;
    display: inline-block;
    text-align: center;
    padding: 1rem;
    margin: 0;
    cursor: pointer;
    font-size: 1.25rem;
    font-weight: 400;
    color: #ffffff;
    text-shadow: 1.5px 1.5px 0 var(--main-01-deep);
    /* -ms-flex: 0 0 15%;
    flex: 0 0 15%;
    max-width: 15%; */
    transition: var(--transition-com);
}

.nav_bar ul.rowline>li::before {
    display: inline-block;
    font-family: "Material Symbols Outlined";
    content: "\ef4a";
    font-variation-settings: "FILL" 1;
    vertical-align: middle;
    font-size: 90%;
    color: var(--deep-ye);
    transform: scale(0.5) translateY(-2px);
    margin-right: 0.1rem;
    transition: var(--transition-com);
}

.nav_bar ul.rowline>li:hover {
    font-weight: 600;
}

.nav_bar ul.rowline>li:hover::before {
    color: var(--bs-danger);
    transform: scale(1) translateY(-2px);
}

@media screen and (max-width: 991px) {
    .nav_bar ul.rowline>li {
        font-size: 1.125rem;
        padding: 0.75rem;
    }
}

@media screen and (max-width: 767px) {
    .nav_bar {
        border-radius: 1.5rem;
        border-width: 1px;
    }

    .nav_bar ul.rowline {
        padding-top: 0.2rem;
        padding-bottom: 0.25rem;
    }

    .nav_bar ul.rowline>li {
        font-size: 1rem;
        padding: 0.25rem;
        width: 100%;
        text-align: center;
    }
}

/*-------------------- NAV END --------------------*/

/*-------------------- 全頁共用 --------------------*/
a:visited {
    color: #9dd337;
}


.mobile {
    display: none;
}

.d-md {
    display: none;
}

.d-sm {
    display: inline-block;
}

@media screen and (min-width: 768px) {
    .d-md {
        display: inline-block;
    }

    .d-sm {
        display: none;
    }
}


a {
    color: #9dd337;
    text-decoration: none;
    transition: var(--transition-com);
}

a:hover {
    color: #f2ff26;
    text-decoration: none;
}

ul>ul {
    margin-left: 1rem;
    padding-bottom: 0.5rem;
}

.ml15 {
    margin-left: 15px;
}

:root {
    --basic-txt: #ffffff;
    --bs-danger: #6aff57;
    --danger-deep: #dd1f0b;
    --main-ye: #fff7a9;
    --deep-ye: #fff533;
    --main-blue: #08bf5b;
    --deep-green: #306900;
    --content-p: 4.5rem;
    --transition-com: all 0.2s ease;

    --hot-item-bg: #e1fff8;
    --hot-item-gradient: linear-gradient(315deg, var(--green) 0%, var(--light-green) 100%);
    --text-dark: #333;
    /*animation*/
    --easing: cubic-bezier(0.68, -0.55, 0.265, 1.55);
    --box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;

    --main-color: #11d073;
    --basic-txt: #ffffff;
    --transition-com: all 0.25s ease;
}



@media screen and (max-width: 991px) {
    :root {
        --content-p: 4rem;
    }
}

strong {
    font-weight: 600 !important;
}

.txt-yellow {
    color: #ffee00;
}

/*-- 標題樣式 --*/

.contentbox_main>h1 {
    display: inline-block;
    position: relative;
    text-align: center;
    margin-top: 0;
    /* margin-bottom: 1.3rem; */
}

.contentbox_main h1 {
    filter: drop-shadow(4px 4px 0 rgba(0, 0, 0, 0.3));
    font-weight: 700;
    line-height:3.5rem;
    font-size: clamp(2.8rem, 3.5vw, 3rem);
}

h1 span{
    color: var(--deep-ye);
}

@media screen and (max-width: 991px) {
    .contentbox_main h1 {

        zoom: 0.8;
    }
}

.contentbox_main>.con_area>.h1::before,
.contentbox_main>.con_area>.h1::after {
    content: none;
}

.contentbox_main>.con_area>.h1>h1 {
    display: inline-block; 
    position: relative;
    padding-left: 60px;    
    padding-right: 60px;
}

.contentbox_main>.con_area>.h1>h1::before {
    content: url(https://event.cdn-gunnarworks.com/events/2023linepay/LINEPAY_titile_left.png);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.contentbox_main>.con_area>.h1>h1::after {
    content: url(https://event.cdn-gunnarworks.com/events/2023linepay/titile_right-20250822.png);
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
.h1 br {
    display: none;
}

@media screen and (max-width: 767px) {
    .contentbox_main>.con_area>.h1>h1 {
        padding-left: 40px;
        padding-right: 40px;
    }
    .h1 br {  
        display: block;
    
}

}


.h3{
    text-align: center;
    color: var(--deep-ye);
    margin:20px 0;
    font-size: 1.5rem;
    font-weight: 600;
    filter: drop-shadow(4px 4px 0 rgba(0, 0, 0, 0.3));

}

.title-txt-shadow {
    color: #fff;
    text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.7);
    font-weight: 600;
}

/*-- 按鈕 --*/

.btn-sec {
    margin-top: calc(4.5vw + -2.5rem);
    /* padding: 2rem 0; */
    margin-bottom: 0;
    text-align: center;
    margin: calc(1.5vw + 1.5rem);
}

.btn-lg {
    padding: 0.7rem 1rem;
    color: #fff !important;
    font-size: 111%;
    white-space: nowrap;
}

@media screen and (max-width: 991px) {
    .btn-lg {
        padding: 0.6rem 1.5rem;
        font-size: 1.125rem;
    }
}

.btn-warning {
    color: #fff;
    background-color: #47973d;
    border-color: var(--bs-danger);
}

/*-- 區塊樣式 --*/

/*-- 區塊樣式 --*/

.con_area {
    position: relative;
    border-radius: 10px;
    padding: calc(2vw + 1rem) 1rem;
    /* margin-bottom: calc(2vw + 1rem); */
    background: url(https://event.cdn-gunnarworks.com/events/2023_jl_eztravelcard/bg-slash.png) repeat;
    background-color: #306900;
}


.con_area>ul {
    display: inline-block;
    width: 100%;
    max-width: 900px;
}

.con_area li {
    margin-bottom: 0.3rem;
}

.li-week {
    padding-left: 1.2em;
    text-indent: -1.2em;
}

#coupon .con_area>ul>li.h5::before {
    font-family: "Material Symbols Outlined";
    content: "\ef4a";
    font-variation-settings: "FILL" 1;
    vertical-align: baseline;
    font-size: 85%;
    color: var(--deep-ye);
    margin-right: 0.3rem;
}

#note ul>li.h5::before {
    font-family: "Material Symbols Outlined";
    content: "\ef4a";
    font-variation-settings: "FILL" 1;
    vertical-align: baseline;
    font-size: 85%;
    color: var(--deep-ye);
    margin-right: 0.3rem;
}

#reward .con_area>ul>li.h5::before {
    font-family: "Material Symbols Outlined";
    content: "\ef4a";
    font-variation-settings: "FILL" 1;
    vertical-align: baseline;
    font-size: 85%;
    color: var(--deep-ye);
    margin-right: 0.3rem;
}

#specify_reward .con_area>ul>li.h5::before {
    font-family: "Material Symbols Outlined";
    content: "\ef4a";
    font-variation-settings: "FILL" 1;
    vertical-align: baseline;
    font-size: 85%;
    color: var(--deep-ye);
    margin-right: 0.3rem;
}

#lottery .con_area>ul>li.h5::before {
    font-family: "Material Symbols Outlined";
    content: "\ef4a";
    font-variation-settings: "FILL" 1;
    vertical-align: baseline;
    font-size: 85%;
    color: var(--deep-ye);
    margin-right: 0.3rem;
}

#limited .con_area>ul {
    display: inline-block;
    width: 100%;
    max-width: 900px;
}

#coupon .con_area>ul {
    display: inline-block;
    width: 100%;
    max-width: 900px;
}

#reward .con_area>ul {
    display: inline-block;
    width: 100%;
    max-width: 900px;
}

#specify_reward .con_area>ul {
    display: inline-block;
    width: 100%;
    max-width: 900px;
}

#lottery .con_area>ul {
    display: inline-block;
    width: 100%;
    max-width: 900px;
}

/*-------------------- 全頁共用 END --------------------*/

/*-------------------- 加碼折扣 #limited --------------------*/

#wrapper {
    position: relative;
    padding-top: var(--content-p);
    /* background: url(https://event.cdn-gunnarworks.com/events/2023_jl_eztravelcard/bg-top.png) no-repeat center top/100%; */
}

#wrapper::before {
    content: "";
    position: absolute;
    width: 100%;
    height: calc(100% - var(--content-p));
    background: url(https://event.cdn-gunnarworks.com/events/2023linepay/bg_cover-03-01.png) repeat-y center top/100%;
    z-index: 1;
}

@media screen and (max-width: 767px) {
    #wrapper {
        padding-top: calc(var(--content-p) / 2);
    }

    #wrapper::before {
        background: url(https://event.cdn-gunnarworks.com/events/2023linepay/bg_cover_M02_M_M.png) repeat-y center top/100%;
    }
}

@media screen and (max-width: 767px) {
    h1 > img{ zoom: 0.9;}
}

h2 {
    color: var(--danger);
    font-weight: 800;
}

h2::after,
h2::before {
    content: url(https://event.cdn-gunnarworks.com/events/2023_jl_eztravelcard/icon-lightning.png);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    vertical-align: middle;
}

#limited .con_area>ul {
    display: inline-block;
    width: 100%;
    max-width: 900px;
}


.con_area>ul>li.h5,
.con_area>ul>.collapsible-content>li.h5 {
    color: var(--main-ye);
    font-weight: 600;
    margin-top: 0.5rem;
}

.con_area>ul>li.h5::before,
.con_area>ul>.collapsible-content>li.h5::before {
    font-family: "Material Symbols Outlined";
    content: "\ef4a";
    font-variation-settings: "FILL" 1;
    vertical-align: baseline;
    font-size: 85%;
    color: var(--deep-ye);
    margin-right: 0.3rem;
}

.con_area>ul>li.teach.h5::before,
.con_area>ul>.collapsible-content>li.teach.h5::before {
    display: none;
}




.label {
    display: inline-block;
    height: 1.3rem;
    line-height: 1.3rem;
    padding: 0;
    vertical-align: baseline;
    padding: 0 0.25rem;
    margin-right: 0.35rem;
}

#limited ul .table {
    border-radius: 1rem;
    background-color: rgba(0, 0, 0, 0.1);
    margin: 0.6rem auto 1.5rem;
}

#limited ul .table td,
#limited ul .table th {
    border: none;
    width: 33.3%;
    max-width: 225px;
}

#limited ul>li>img {
    max-width: 80%;
    height: auto;
    margin: 0.6rem auto 1.5rem;
}

@media screen and (max-width: 767px) {
    #limited ul>li>img {
        max-width: 100%;
    }
}

.prize_sec {
    justify-content: center;
}

.prize_sec>div {
    height: 0;
    padding-bottom: calc(1 / 3 * 100%);
}

.prize_sec .prize_pic {
    --w-percent: 92%;
    position: absolute;
    display: flex;
    width: var(--w-percent);
    height: var(--w-percent);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    justify-content: center;
    align-items: center;
}

@media screen and (max-width: 991px) {
    .prize_sec .prize_pic {
        --w-percent: 96%;
    }
}

.prize_sec .prize_pic>img {
    max-width: 100%;
    height: auto;
    filter: drop-shadow(3px 3px 0 rgba(0, 0, 0, 0.2));
}

@media screen and (max-width: 767px) {
    .prize_sec>div {
        height: 0;
        padding-bottom: 100%;
    }

    .prize_sec .prize_pic {
        position: relative;
        height: 0;
        padding-bottom: var(--w-percent);
        top: 0;
        left: 50%;
        transform: translate(-50%, 0);
    }

    .prize_sec .prize_pic>img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
}

.prize_sec .prize_pic::before {
    content: "";
    position: absolute;
    width: var(--w-percent);
    height: var(--w-percent);
    bottom: 0;
    right: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background-color: var(--main-ye);
    z-index: -1;
}

.material-symbols-outlined {
    vertical-align: text-bottom;
}

#limited .btn-sec {
    /*margin-bottom: calc(1.5vw + 1.5rem);*/
}

/*-------------------- 加碼折扣 #limited END --------------------*/

/*-------------------- 折扣碼領取 #coupon --------------------*/

.coupon_sec {
    justify-content: center;
    font-family: "Noto Sans TC", "微軟正黑體", "微软雅黑", sans-serif;
    font-weight: 400;
    white-space: nowrap;
    max-width: 900px;
    /* margin-bottom: calc(1.5vw + 0.5rem); */
    margin: 0 auto;
}

.coupon_sec>div {
    position: relative;
    margin-bottom: calc(1.5vw + 0.5rem);
}

.coupon_sec img {
    max-width: 90%;
    display: block;         
    margin: 0 auto;        
    filter: drop-shadow(4px 6px 0 rgba(0, 0, 0, 0.3));
    transition: var(--transition-com);
}

@media screen and (max-width: 767px) {
    .coupon_sec img {
        max-width: 100%;
       
    }
}

.coupon_sec img:hover {
    transform: scale(1.05);
    filter: drop-shadow(0 0 rgba(0, 0, 0, 0.85)) contrast(1.2);

}

.coupon_sec :is(.coupon-close, .coupon-out){
    position: relative;
    cursor: auto;
}

.coupon_sec .coupon-close img {
    filter: brightness(0.5) contrast(1.5) saturate(0.6);
}

.coupon_sec .coupon-out img {
    filter: brightness(0.3) contrast(1.5);
}

.coupon_sec :is(.coupon-close, .coupon-out) img:hover {
    transform: none;
}

.coupon_sec .coupon-out::before{
content: '本週兌換完畢';
position: absolute;
white-space: nowrap;
display: inline-block;
color: #e5e5e5;
font-size: 1.5rem;
background-color: #b27aed;
border: 2px solid #333333;
padding: 0.25rem 0.75rem;
border-radius: 0.5rem;
top: 50%;
left: 45%;
transform: translate(-50%,-50%) rotate(-15deg);
z-index: 10;
}

/* .coupon_sec a[id*="discountBtn"] {
    cursor: pointer;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 500;
} */

ul.list-note {
    display: inline-block;
    width: 90%;
    max-width: 900px;
    font-size: 88%;
}

ul.list-note>li {
    list-style-type: disc;
    margin-bottom: 3px;
}

/* STEP */
#step {
    /* overflow: hidden; */
    background: linear-gradient(to bottom, var(--main-blue) 15%, var(--deep-ye) 90%);
}

#step .step_content {
    position: relative;
    text-align: center;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

#step .step_content:after {
    /* clearfix */
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

#step .step_list {
    text-align: center;
    float: none;
    padding: 0px 15px;
    margin-bottom: 15px;
}

#step .step_list .step_list_img {
    max-width: 150px;
    max-height: 150px;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    margin: 0px auto 15px auto;
}

@media screen and (max-width: 991px) {
    #step .step_list .step_list_img {
        max-width: 120px;
        max-height: 120px;
    }
}

@media screen and (max-width: 767px) {
    #step .step_content>li {
        display: inline-block;
        flex: 0 0 50%;
        max-width: 50%;
    }
}

#step .step_list .step_list_img img {
    width: 100%;
    padding: 20%;
}

#step .step_list p {
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 2px;
}

#step .step_list p span {
    font-size: 13.5px;
    display: block;
    text-align: left;
}

#step .step_list:nth-child(1) .step_list_img {
    background: #bc1717;
}

#step .step_list:nth-child(2) .step_list_img {
    background: #172856;
}

#step .step_list:nth-child(3) .step_list_img {
    background: #009999;
}

#step .step_list:nth-child(4) .step_list_img {
    background: #00cc99;
}

#step .step_list:nth-child(5) .step_list_img {
    background: #66cc00;
}

#step .step_list:nth-child(6) .step_list_img {
    background: #cccc00;
}

/*-------------------- 折扣碼領取 #coupon END --------------------*/

/*-------------------- 日本航空介紹 #jl-intro --------------------*/

#jl-intro {
    position: relative;
    color: #212121;
    background-color: var(--main-ye);
    padding-top: var(--content-p);
}

#jl-intro::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 0;
    padding-bottom: calc(429 / 1920 * 100%);
    background: url(https://event.cdn-gunnarworks.com/events/2023_jl_eztravelcard/bg-top.png) no-repeat center bottom/100%;
    transform: translateY(-35%);
}

@media screen and (max-width: 767px) {
    #jl-intro::before {
        padding-bottom: calc(268 / 768 * 100%);
        background: url(https://event.cdn-gunnarworks.com/events/2023_jl_eztravelcard/bg-top-m.png) no-repeat center bottom/100%;
        transform: translateY(-35%);
    }
}

#jl-intro .contentbox_main>h1 {
    margin-bottom: 1.5rem;
}

#jl-intro .contentbox_main>h1>.title-img {
    filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0));
}

#jl-intro .contentbox_main>h1::before,
#jl-intro .contentbox_main>h1::after {
    display: none;
}

#jl-intro .contentbox_main>h1+p {
    text-align: justify;
    margin-bottom: 1.5rem;
    padding-left: 0.8rem;
    padding-right: 0.8rem;
}

.airline-pic-sec {
    margin-bottom: 1.5rem;
}

.airline-pic-sec .pic-box {
    display: inline-block;
    position: relative;
    border-radius: 50%;
    width: 90%;
    height: 0;
    padding-bottom: 90%;
}

.airline-pic-sec>div:nth-of-type(1) .pic-box {
    background: url(https://event.cdn-gunnarworks.com/events/2023_jl_eztravelcard/pic-jp.jpg) no-repeat center/cover;
}

.airline-pic-sec>div:nth-of-type(2) .pic-box {
    background: url(https://event.cdn-gunnarworks.com/events/2023_jl_eztravelcard/pic-usa.jpg) no-repeat center/cover;
}

.airline-pic-sec>div:nth-of-type(3) .pic-box {
    background: url(https://event.cdn-gunnarworks.com/events/2023_jl_eztravelcard/pic-eu.jpg) no-repeat center/cover;
}

.airline-pic-sec .pic-box::before {
    content: "";
    position: absolute;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.3);
}

.airline-pic-sec .pic-box>span {
    position: absolute;
    display: flex;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    font-size: 278%;
    color: #fff;
    z-index: 100;
}

.airline-pic-sec .pic-box>span::before {
    display: inline-block;
    font-family: "Material Symbols Outlined";
    content: "\e539";
    vertical-align: baseline;
    font-size: 85%;
    transform: rotate(90deg);
    margin-right: 0.3rem;
}

#jl-intro .btn>.material-symbols-outlined {
    vertical-align: sub;
}

/*-------------------- 日本航空介紹 #jl-intro END --------------------*/

/*-------------------- 銀行優惠 #bank --------------------*/

#bank {
    position: relative;
    padding-top: var(--content-p);
    background: linear-gradient(to top, var(--main-blue) 15%, var(--deep-ye) 90%);
}

#bank::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 0;
    padding-bottom: calc(429 / 1920 * 100%);
    background: url(https://event.cdn-gunnarworks.com/events/2023_jl_eztravelcard/bg-top.png) no-repeat center bottom/100%;
    transform: rotate(180deg) translateY(65%);
}

@media screen and (max-width: 767px) {
    #bank::before {
        padding-bottom: calc(268 / 768 * 100%);
        background: url(https://event.cdn-gunnarworks.com/events/2023_jl_eztravelcard/bg-top-m.png) no-repeat center bottom/100%;
        transform: rotate(180deg) translateY(65%);
    }
}

#bank .bn-sec>div {
    margin-bottom: calc(2vw + 1rem);
}

#bank .bn-sec img {
    width: 100%;
    max-width: 100%;
    height: auto;
    box-shadow:
        0 0 0 1px #fff,
        0 0 0 rgba(0, 0, 0, 0.7);
    transition: var(--transition-com);
}

#bank .bn-sec img:hover {
    transform: scale(1.02);
    box-shadow:
        0 0 0 2px var(--bs-danger),
        0 10px 0 rgba(0, 0, 0, 0.2);
}

/*-------------------- 銀行優惠 #bank END --------------------*/

/*-------------------- 注意事項 #note --------------------*/

#note {
    background: #01896c;
    padding-top: var(--content-p);
    font-size: 88%;
}

#note strong {
    color: var(--mian-color03);
}

#note ul {
    /* padding-inline-start: 24px; */
    margin-bottom: 6px;
}

@media screen and (max-width: 575px) {
    #note ul {
        padding-inline-start: 5px;
    }
}

#note li {
    text-align: left;
    margin-bottom: 5px;
}

@media screen and (max-width: 991px) {
    #note li {
        font-size: 0.9375rem;
    }
}

#note .contentbox>ul {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto 2rem;
}

.note_list {
    background: url(https://event.cdn-gunnarworks.com/events/2023_jl_eztravelcard/note_icon04.png) no-repeat left 5px;
    padding-left: 28px;
    /* margin-bottom: 5px; */
}

/* .note_list_content {
    background: url(https://event.cdn-gunnarworks.com/events/2023_jl_eztravelcard/note_icon02.png) no-repeat left 6px;
    padding-left: 20px;
} */

.note_list_content,
.note_content_item {
    text-indent: -1.5rem;
    padding-inline-start: 1.5rem;
}

.note_list_content::before {
    font-family: "Font Awesome 5 Free";
    content: "\f0c2";
    font-size: 70%;
    vertical-align: middle;
    font-weight: 600;
    color: #7fc4e5;
    margin-right: 0.4rem;
}

.note_content_item::before {
    font-family: "Font Awesome 5 Free";
    content: "\f058";
    font-size: 80%;
    font-weight: 600;
    color: #55acd6;
    margin-right: 0.4rem;
}

#btn_app {
    position: fixed;
    right: 5px;
    bottom: calc(60px + 95px + 5px);
    z-index: 999;
}

#btn_top {
    position: fixed;
    right: 5px;
    z-index: 999;
}

@media screen and (max-width: 767px) {
    #note .contentbox>ul {
        width: 95%;
    }

    #btn_top,
    #btn_app {
        right: 0;
    }
}

/*-------------------- 注意事項 #note END --------------------*/

/*-------------------- 警語 #warning --------------------*/

#warning {
    background-color: #808080;
    font-size: 88%;
    padding: 1rem;
}

#warning .content {
    text-align: left;
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
}

#warning ul li {
    font-size: max(88%, 11px);
}

/*-------------------- 警語 #warning END --------------------*/

/*-------------------- 熱門商品 .productList-hot --------------------*/

@property --green01-bg {
    syntax: "<color>";
    inherits: false;
    initial-value: #1bbf75;
}

@property --green02-bg {
    syntax: "<color>";
    inherits: false;
    initial-value: #f1f8c0;
}

.hot-group img {
    width: 100%;
    vertical-align: middle;
    border-style: none;
}

.hot-group {
    display: flex;
    flex-wrap: wrap;
}

.hot-item {
    padding: 1rem 1rem 2rem;
    width: 50%;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
}

.hot-item a {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 1rem;
    border-radius: 50%;
    background-color: var(--hot-item-bg);
    transition: 500ms var(--easing);
    position: relative;
}

.hot-item a:after {
    content: "";
    position: absolute;
    width: calc(100% + 4px);
    height: calc(100% + 4px);
    top: -2px;
    left: -2px;
    border-radius: 50%;
    box-shadow: 0 0 0 #fff;
    background: var(--hot-item-gradient);
    transition:
        background 0.8s ease-in-out,
        box-shadow 0.8s var(--easing) 500ms;
    z-index: -1;
}

.hot-item a:hover:after,
.hot-item a:active:after {
    background: var(--green01-bg);
    box-shadow: var(--box-shadow);
}

.hot-item p {
    position: absolute;
    font-weight: 600;
    white-space: nowrap;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    transform: translateY(150%);
    color: var(--text-dark);
}

@media screen and (min-width: 425px) {
    .hot-item a {
        padding: 2rem;
    }
}

@media screen and (min-width: 768px) {
    .title__productList h2 {
        --imgWidth: calc((298px) * 0.8);
    }

    .hot-item {
        width: 16.6%;
    }

    .hot-item a {
        padding: 1rem;
    }
}

@media screen and (min-width: 992px) {
    .title__productList h2 {
        --imgWidth: calc((298px) * 1);
    }
}

/*-------------------- 熱門商品 .productList-hot END --------------------*/




/*-------------------- 展開說明 --------------------*/
.collapsible-content.is-open { display: block; }
.btn-toggle-detail.is-open .txt-open  { display: inline; }
.btn-toggle-detail.is-open .txt-close { display: none; }
.btn-toggle-detail.is-open .material-symbols-outlined { transform: rotate(180deg); }


.collapsible-content {
    display: none;
    
}
.collapsible-content a {
    word-break: break-all;
    overflow-wrap: break-word;
}



/* 文字切換 */
.txt-open { display: none; }
.txt-close { display: inline; }




.btn-toggle-detail {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    cursor: pointer;
    color: var(--deep-ye);
    background: rgba(255, 255, 255, 0.08);
    border: 1.5px solid #4caf82;
    border-radius: 2rem;
    padding: 0.3rem 0.9rem 0.3rem 0.6rem;
    font-size: 0.95rem;
    transition: var(--transition-com);
    margin-top: 10px;
}

.btn-toggle-detail:hover {
    background: rgba(76, 175, 130, 0.25);
    border-color: #7fffb8;
}

.btn-toggle-detail .material-symbols-outlined {
    font-size: 1.1rem;
    transition: transform 0.3s ease;
}

.collapsible-content > ul {
    margin-left: 1rem;
}
/*-------------------- 展開說明 END --------------------*/




/* ============================頁簽點擊+輪播區塊 ========================== */

/* ===== 頁簽公版 CSS ===== */
    
    /* 頁簽外框 */
    .tab-section {
      position: relative;
      text-align: left;
      width: 100%;
      max-width: 900px;
      margin: 0 auto;
      background: rgba(0, 0, 0, 0.2);   /* 新增 */
      border-radius: 0.75rem;            /* 新增 */
      padding: .5rem 1.5rem;  
    }

    /* 頁簽按鈕列 */
    .tab-nav {
      display: flex;
      list-style: none;
      padding: 0;
      margin: 30px 0 20px 0;
      gap: 0.5rem;
      justify-content: center;
    }

    .tab-nav__item {
      flex: 1;
    }

    .tab-nav__btn {
      display: block;
      width: 100%;
      text-align: center;
      color: var(--main-color);
      background: rgba(0, 0, 0, 0.3);
      border: 1px solid var(--main-color);
      border-radius: 50px;
      font-size: 1.3rem;
      padding: 0.6rem 1.2rem;
      cursor: pointer;
      transition: var(--transition-com);
      user-select: none;
    }

    .tab-nav__btn:hover {
      color: var(--basic-txt);
      background-color: var(--main-color);
    }

    .tab-nav__btn.is-active {
      color: #000;
      background-color: var(--main-color);
    }

    /* 頁簽內容區 */
    .tab-panels {
      /* 視需求加樣式 */
    }

    .tab-panel {
      display: none;
    }

    .tab-panel.is-active {
      display: block;
    }

    /* 手機版：2個一排 */
    @media (max-width: 767px) {
      .tab-nav {
        flex-wrap: wrap;
      }
      .tab-nav__item {
        flex: 0 0 calc(50% - 0.25rem);
      }
    }




    #teaching a{
    color: #00813a;
   
    }

    #teaching a:hover{
    color: #e6ff02;
   
    }




/* ===== 頁簽切換動畫 ===== */
@keyframes tabFadeIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.tab-panel.is-active {
    display: block;
    animation: tabFadeIn 0.4s ease;
}





/* 本週已截止 */
a.is-expired {
    position: relative;
    pointer-events: none;
    display: block;
    cursor: default;
}

a.is-expired img {
    filter: brightness(0.35) saturate(0.5);
}

a.is-expired::after {
    content: '本週已截止';
    position: absolute;
    white-space: nowrap;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-12deg);
    
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    padding: 0.3rem 0.8rem;
    letter-spacing: 0.1em;
    z-index: 10;
}