html {
    font-size: 100px;
    font-size: 5.2083333333vw;
}

#moduleContent,
#moduleContent * {
    box-sizing: border-box;
}

#moduleContent {
    --gold: #d3c47f;
    --gold-light: #e6d2a2;
    --brown: #55381b;
    --red: #d81e1e;
    --deep-red: #ab1b1b;
    --paper: #fffdf5;
    --cream: #fffbf4;
    width: 100%;
    overflow: hidden;
    color: #000;
    background: var(--paper);
    font-family: "Noto Sans CJK JP", "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
}

#moduleContent .pc {
    display: inline-block;
}

#moduleContent .mo {
    display: none;
}

#moduleContent h1,
#moduleContent h2,
#moduleContent h3,
#moduleContent p,
#moduleContent ul {
    margin: 0;
}

#moduleContent img {
    display: block;
    width: 100%;
    height: auto;
}

#moduleContent .campaign-hero {
    width: 100%;
    min-height: 6.5rem;
    background: #f2ebe1;
    line-height: 0;
}

#moduleContent .campaign-hero img {
    width: 100%;
    min-height: 6.5rem;
    object-fit: cover;
    object-position: center;
}

#moduleContent .campaign-hero img.pc {
    display: block;
}

#moduleContent .campaign-main {
    padding: 0;
    background: #fffdf5;
}

#moduleContent .campaign-top {
    padding: 0.78rem 0 0.7rem;
    background: url("https://resource.xp-pen.com/img/active_list/freeActivity21-jp/组 36.jpg") center top / cover no-repeat;
}

#moduleContent .campaign-card,
#moduleContent .section-block {
    width: 12.04rem;
    max-width: calc(100% - 0.48rem);
    margin-right: auto;
    margin-left: auto;
}

#moduleContent .campaign-card {
    position: relative;
    background: #FFFBF4;
    border-radius: 10px;
    border: 2px solid #E1D3BA;
}

#moduleContent .card-title {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 2;
    margin: 0;
    transform: translate(-50%, -50%);
}

#moduleContent .card-title img {
    width: 100%;
    height: auto;
}

#moduleContent .intro-card .card-title {
    width: 6.22rem;
}

#moduleContent .overview-card .card-title {
    width: 3.82rem;
}

#moduleContent .intro-card {
    padding: 0.7rem 0 0.48rem 0.48rem;
}

#moduleContent .intro-body {
    display: flex;
    align-items: center;
}

#moduleContent .intro-ticket {
    flex: 0 0 2.2rem;
    width: 2.2rem;
    margin-right: 0.4rem;
}

#moduleContent .intro-ticket img {
    max-height: 2.7rem;
    object-fit: contain;
}

#moduleContent .intro-copy {
    flex: 1;
}

#moduleContent .intro-copy p {
    margin-bottom: 0.25rem;
    font-size: 0.2rem;
    line-height: 1.5;
}

#moduleContent .intro-copy p:last-child {
    margin-bottom: 0;
}

#moduleContent .intro-highlight {
    display: inline-block;
    padding: 0.12rem 0.36rem;
    color: #764f09;
    background: #fdf2d6;
    border-radius: 0.24rem;
}

#moduleContent .overview-card {
    margin-top: 0.77rem;
    padding: 0.7rem 0.54rem 0.43rem;
}

#moduleContent .overview-list > div {
    display: grid;
    grid-template-columns: 2.85rem 1fr;
    align-items: center;
    min-height: 0.6rem;
    border-bottom: 1px dashed #e3dbc9;
}

#moduleContent .overview-list > div:last-child {
    border-bottom: 0;
}

#moduleContent .overview-list .overview-term,
#moduleContent .overview-list .overview-desc {
    display: flex;
    align-items: center;
    align-self: stretch;
    margin: 0;
    padding: 0.14rem 0;
    font-family: "Noto Sans CJK JP", "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 0.24rem;
    line-height: 1.4;
}

#moduleContent .overview-list .overview-term {
    color: #55381b;
    font-weight: 500;
}

#moduleContent .overview-list .overview-desc {
    color: #666666;
    font-weight: 300;
}

#moduleContent .section-block {
    margin-top: 0.8rem;
}

#moduleContent .campaign-bottom {
    padding: 0.2rem 0 2.58rem;
    background: url("https://resource.xp-pen.com/img/active_list/freeActivity21-jp/组 35.jpg") center top / 100% auto repeat-y;
}

#moduleContent .section-title {
    display: block;
    width: 5.99rem;
    max-width: 90%;
    margin: 0 auto 0.38rem;
}

#moduleContent .section-title img {
    width: 100%;
    height: auto;
}

#moduleContent .method-list {
    display: grid;
    grid-template-columns: 1fr 0.45rem 1fr 0.45rem 1fr;
    align-items: center;
    gap: 0.18rem;
}

#moduleContent .method-card {
    min-height: 2.97rem;
    padding: 0.22rem 0.25rem 0.28rem;
    background: #fff;
    border-radius: 10px;
    border: 2px solid #E6D2A2;
    text-align: center;
}

#moduleContent .step-label {
    display: block;
    color: var(--deep-red);
    font-family: "Gilroy-Bold", Arial, sans-serif;
    font-size: 0.3rem;
    line-height: 1;
    text-align: center;
}

#moduleContent .method-card > img {
    width: 1.05rem;
    height: 1.05rem;
    margin: 0.28rem auto;
    object-fit: contain;
    filter: drop-shadow(0 0.07rem 0.06rem rgba(157, 118, 46, 0.21));
}

#moduleContent .method-card h3 {
    color: #493217;
    font-size: 0.24rem;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
}

#moduleContent .method-arrow {
    width: 0.4rem;
    margin: 0 auto;
}

#moduleContent .primary-button {
    display: block;
    width: 6.66rem;
    max-width: 92%;
    margin: 0.65rem auto 0;
    line-height: 0;
    transition: transform 0.2s, filter 0.2s;
}

#moduleContent .primary-button:hover {
    filter: brightness(1.08);
    transform: translateY(-2px);
}

#moduleContent .primary-button img {
    width: 100%;
    height: auto;
}

#moduleContent .notes-card {
    padding: 0.46rem 0.63rem;
    background: #fff;
    border-radius: 11px;
    border: 1px solid #E6D2A2;
}

#moduleContent .notes-card ul {
    padding: 0;
    list-style: none;
}

#moduleContent .notes-card li {
    position: relative;
    padding-left: 0.18rem;
    font-size: 0.24rem;
    font-weight: 300;
    line-height: 2;
}

#moduleContent .notes-card li::before {
    content: "・";
    position: absolute;
    left: 0;
}

#moduleContent .faq-card {
    padding: 0.35rem;
    background: #fff;
    border-radius: 11px;
    border: 1px solid #E6D2A2;
}

#moduleContent .faq-item {
    margin-bottom: 0.2rem;
}

#moduleContent .faq-item:last-child {
    margin-bottom: 0;
}

#moduleContent .faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 0.6rem;
    padding: 0.14rem 0.22rem;
    color: #8e6f48;
    background: rgba(246, 244, 236, 0);
    border: 1px solid #D9DAE4;
    border-radius: 9px;
    cursor: pointer;
    font-family: inherit;
    font-size: 0.24rem;
    font-weight: 700;
    line-height: 1.35;
    text-align: left;
    outline: none;
    -webkit-tap-highlight-color: transparent;
}

#moduleContent .faq-question:focus,
#moduleContent .faq-question:active,
#moduleContent .faq-question:focus-visible {
    outline: none;
    border-color: #D9DAE4;
    box-shadow: none;
}

#moduleContent .faq-question::after {
    content: "+";
    flex: 0 0 auto;
    margin-left: 0.2rem;
    color: #666;
    font-size: 0.26rem;
    font-weight: 500;
}

#moduleContent .faq-item.is-open .faq-question::after {
    content: "−";
}

#moduleContent .faq-answer {
    display: none;
    margin-top: 0.12rem;
    padding: 0.28rem 0.2rem;
    color: #333;
    background: #F8F6F0;
    border-radius: 9px;
    font-size: 0.18rem;
    font-weight: 300;
    line-height: 1.5;
}

#moduleContent .faq-item.is-open .faq-answer {
    display: block;
}

#moduleContent .final-cta {
    width: 12.04rem;
    max-width: calc(100% - 0.48rem);
    margin: 1rem auto 0;
}

#moduleContent .final-cta-banner {
    position: relative;
    width: 100%;
    line-height: 0;
}

#moduleContent .final-cta-banner > img.pc,
#moduleContent .final-cta-banner > img.mo {
    width: 100%;
    height: auto;
}

#moduleContent .final-cta-banner > img.pc {
    display: block;
}

#moduleContent .final-cta-hotspot {
    position: absolute;
    z-index: 2;
    display: block;
    background: transparent;
    cursor: pointer;
}

/* PC 底部 Banner 按钮热区 */
#moduleContent .final-cta-hotspot.pc {
    left: 27.5%;
    top: 55.5%;
    width: 45%;
    height: 20%;
}

/* 移动端底部 Banner 按钮热区 */
#moduleContent .final-cta-hotspot.mo {
    display: none;
    left: 14%;
    top: 60%;
    width: 72%;
    height: 20%;
}

@media screen and (max-width: 768px) {
    html {
        font-size: 100px;
        font-size: 13.3333333333vw;
    }

    #moduleContent .campaign-hero {
        min-height: 4.8rem;
    }

    #moduleContent .campaign-hero img {
        min-height: 4.8rem;
    }

    #moduleContent .campaign-top {
        padding: 0.48rem 0 0.5rem;
    }

    #moduleContent .campaign-card,
    #moduleContent .section-block,
    #moduleContent .final-cta {
        width: 6.7rem;
        max-width: calc(100% - 0.8rem);
    }

    #moduleContent .card-title {
        max-width: 85%;
    }

    #moduleContent .intro-card .card-title {
        width: 5.2rem;
    }

    #moduleContent .overview-card .card-title {
        width: 3.2rem;
    }

    #moduleContent .intro-card {
        padding: 0.6rem 0 0.34rem 0.42rem;
    }

    #moduleContent .intro-body {
        display: block;
    }

    #moduleContent .intro-ticket {
        width: 1.8rem;
        margin: 0 auto 0.35rem;
    }

    #moduleContent .intro-copy p {
        font-size: 0.22rem;
    }

    #moduleContent .pc {
        display: none;
    }

    #moduleContent .mo {
        display: inline-block;
    }

    #moduleContent .campaign-hero img.mo,
    #moduleContent .final-cta-banner > img.mo {
        display: block;
        width: 100%;
    }
    #moduleContent .final-cta-banner > img.pc {
        display: none;
    }
   

    #moduleContent .final-cta-hotspot.pc {
        display: none;
    }

    #moduleContent .final-cta-hotspot.mo {
        display: block;
    }

    #moduleContent .overview-card {
        padding: 0.65rem 0.3rem 0.3rem;
    }

    #moduleContent .overview-list > div {
        grid-template-columns: 1.8rem 1fr;
    }

    #moduleContent .overview-list .overview-term,
    #moduleContent .overview-list .overview-desc {
        font-size: 0.2rem;
    }

    #moduleContent .overview-list .overview-term {
        padding-right: 0.18rem;
    }

    #moduleContent .section-title {
        width: 5.2rem;
        margin-bottom: 0.32rem;
    }

    #moduleContent .method-list {
        display: flex;
        flex-direction: column;
        gap: 0.22rem;
    }

    #moduleContent .method-card {
        width: 100%;
        min-height: auto;
        padding: 0.3rem;
    }

    #moduleContent .method-card > img {
        margin: 0.22rem auto;
    }

    #moduleContent .method-arrow {
        width: 0.36rem;
        transform: rotate(90deg);
    }

    #moduleContent .primary-button {
        margin-top: 0.42rem;
    }

    #moduleContent .notes-card {
        padding: 0.3rem;
    }

    #moduleContent .notes-card li {
        margin-bottom: 0.08rem;
        font-size: 0.21rem;
        line-height: 1.65;
    }

    #moduleContent .faq-card {
        padding: 0.22rem;
    }

    #moduleContent .faq-question {
        padding: 0.18rem;
        font-size: 0.21rem;
    }

    #moduleContent .faq-answer {
        font-size: 0.2rem;
    }

    #moduleContent .final-cta {
        margin-top: 0.7rem;
    }
}
