.cupsake-progress {
    color: #1B2024;
    background-color: #EBF3FF;
}
.cupsake-progress__head {
    background-image: url(../img/dc-cupsake/progress/main-visual_sp.webp);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 40rem 0 20rem;
}
.cupsake-progress__head-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}
.cupsake-progress__head__logo {
    width: 345rem;
    margin-bottom: 20rem;
    position: relative;
}
.cupsake-progress__head_-logo-img {
    display: block;
    width: 100%;
}
.cupsake-progress__head__detail {
    border: 4px solid #EBF3FF;
    border-radius: 40px;
    padding: 6rem;
    width: 100%;
}
.cupsake-progress__head__detail-inner {
    background: rgba(235, 243, 255, 0.90);
    border-radius: 30px;
    padding: 30rem 15rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.cupsake-progress__head__detail-title {
    width: 300rem;
    margin-bottom: 20rem;
}
.cupsake-progress__head__detail-title-img {
    display: block;
    width: 100%;
}
.cupsake-progress__head__detail-text {
    text-align: center;
    font-size: 16rem;
    font-weight: 600;
    line-height: 1.7;
    letter-spacing: 0.96px;
}
.cupsake-progress__head__detail-text-main {
    color: #00548F;
    text-align: center;
    font-size: 24rem;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 1.44px;
    display: block;
}
.cupsake-progress__head__bnr-wrap {
    margin-top: 20rem;
    width: 100%;
}
.cupsake-progress__head__bnr-link {
    display: block;
    margin-left: auto;
    width: 130rem;
}
.cupsake-progress__head__bnr-img {
    width: 100%;
    display: block;
}
@media screen and (min-width: 768px) {
    .cupsake-progress__head {
        background-image: url(../img/dc-cupsake/progress/main-visual_pc.webp);
        padding: 100px 0 20px;
        background-position: center;
        height: 880px;
        background-color: #EBF3FF;
        max-width: 1800px;
        margin: 0 auto;
    }
    .cupsake-progress__head-inner {
        max-width: 890px;
        padding: 0 15px;
        margin: 0 auto;
        width: 100%;
    }
    .cupsake-progress__head__logo {
        width: 100%;
        margin-bottom: 0;
    }
    .cupsake-progress__head__detail-inner {
        padding: 30px;
    }
    .cupsake-progress__head__detail-title {
        width: 540px;
    }
    .cupsake-progress__head__detail-text {
        font-size: 18px;
    }
    .cupsake-progress__head__bnr-wrap {
        margin-top: 28px;
        padding: 0 30px;
    }
    .cupsake-progress__head__bnr-link {
        width: 148rem;
        overflow: hidden;
    }
    .cupsake-progress__head__bnr-img {
        transition: .3s all;
    }
    .cupsake-progress__head__bnr-link:hover .cupsake-progress__head__bnr-img {
        transform: scale(1.1);
    }
}


.cupsake-progress__sales-decision {
    background-image: url(../img/dc-cupsake/progress/sales-decision_bg.jpg);
    background-repeat: repeat;
    background-size: 375rem;
    position: relative;
    overflow: hidden;
}
.cupsake-progress__sales-decision::after {
    content: "";
    background-image: url(../img/dc-cupsake/progress/sales-decision_bg-design.png);
    background-repeat: no-repeat;
    background-size: 1512rem 273rem;
    background-position: center;
    position: absolute;
    top: 0;
    bottom: -300rem;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 0;
}
.cupsake-progress__sales-decision__inner {
    width: 100%;
    padding: 60rem 15rem;
    max-width: 1230rem;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.cupsake-progress__contents-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 24rem;
    font-weight: 700;
    letter-spacing: 1.44px;
    text-align: center;
    position: relative;
    width: fit-content;
    margin: 0 auto 40rem;
}
.cupsake-progress__contents-title--sales-decision::after {
    content: "";
    display: block;
    background-image: url(../img/dc-cupsake/sales-decision_bubble.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 53rem;
    height: 50rem;
    position: absolute;
    right: -10rem;
    bottom: 26rem;
}
.cupsake-progress__contents-title-highlight {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 24rem;
    font-weight: 700;
    letter-spacing: 1.44px;
    text-align: center;
    position: relative;
}
.cupsake-progress__contents-title-highlight::after {
    content: "";
    display: block;
    background-color: #FFF;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 6rem;
}
.cupsake-progress__sales-decision__title-img {
    display: block;
    width: 100%;
    margin-bottom: 10rem;
}
.cupsake-progress__sales-decision__content {
    display: flex;
    flex-direction: column;
    gap: 30rem;
}
.cupsake-progress__sales-decision__product {
    background-image: url(../img/dc-cupsake/progress/sales-decision__product-bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}
.cupsake-progress__sales-decision__product--moyashimon {
    background-image: url(../img/dc-cupsake/sales-decision__product-bg_moyashimon.png);
}
.cupsake-progress__sales-decision__product-list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 34rem;
    margin-bottom: 8rem;
    position: relative;
}
.cupsake-progress__sales-decision__product-item {
    width: fit-content;
    position: relative;
}
.cupsake-progress__sales-decision__product-item:first-child:before {
    content: "";
    display: block;
    background-image: url(../img/dc-cupsake/progress/about-cupsake_icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 60rem;
    height: 60rem;
    position: absolute;
    left: -62rem;
    top: -10rem;
}
.cupsake-progress__sales-decision__product--moyashimon .cupsake-progress__sales-decision__product-item:first-child:before {
    background-image: url(../img/dc-cupsake/about-cupsake_icon_moyashimon.png);
}
.cupsake-progress__sales-decision__product-img {
    display: block;
    width: 87rem;
    margin-bottom: 8rem;
}
.cupsake-progress__sales-decision__product-title {
    text-align: center;
    font-size: 11rem;
    font-weight: 400;
    line-height: 1.25;
}
.cupsake-progress__sales-decision__product-taste {
    display: block;
    font-size: 9rem;
}
.cupsake-progress__sales-decision__product-description-wrap {
    display: flex;
    flex-direction: column;
    gap: 8rem;
}
.cupsake-progress__sales-decision__product-description {
    text-align: center;
    font-size: 11rem;
    line-height: 1;
    letter-spacing: 0.54px;
    border-radius: 4px;
    background: #F5F9FF;
    width: fit-content;
    padding: 4rem 8rem;
    margin: 0 auto;
}
.cupsake-progress__sales-decision__about-cupsake {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cupsake-progress__sales-decision__about-cupsake-text {
    font-size: 16rem;
    font-weight: 300;
    line-height: 1.7;
    letter-spacing: 0.96px;
}
.cupsake-progress__sales-decision__about-cupsake__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40rem;
}
.common-button__link--dc-cupsake {
    background-color: #00548F;
    border: 1px solid #00548F;
}
.common-button__link--dc-cupsake::after {
    background-image: url(../img/dc-cupsake/progress/icon_common-button_cupsake.png);
}
.cupsake-progress__sales-decision__content-wrapper {
    display: flex;
    flex-direction: column;
    gap: 50rem;
    margin-bottom: 40rem;
}

.cupsake-progress__sales-decision__lead {
    margin-bottom: 50rem;
}
.cupsake-progress__sales-decision__lead-text {
    font-size: 16rem;
    font-weight: 300;
    line-height: 1.7;
    letter-spacing: 0.96px;
}
.cupsake-progress__sales-decision__lead-highlight {
    font-weight: 600;
}
.cupsake-progress__sales-decision__product-price {
    text-align: center;
    font-size: 14rem;
    font-weight: 300;
    line-height: 1;
    letter-spacing: 0.84px;
}
.cupsake-progress__sales-decision__product-price-num {
    font-size: 20rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 1.2px;
}
@media screen and (min-width: 768px) {
    .cupsake-progress__sales-decision {
        background-repeat: repeat;
        background-size: 500px;
    }
    .cupsake-progress__sales-decision::after {
        background-size: 100% auto;
        bottom: -50px;
    }
    .cupsake-progress__sales-decision__inner {
        padding: 100px 15rem;
    }
    .cupsake-progress__contents-title {
        margin-bottom: 60rem;
        font-size: 36px;
        letter-spacing: 2.16px;
    }
    .cupsake-progress__contents-title-highlight {
        font-size: 36px;
        letter-spacing: 2.16px;
    }
    .cupsake-progress__contents-title--sales-decision::after {
        width: 87px;
        height: 80px;
        right: -87px;
        bottom: 40px;
    }
    .cupsake-progress__contents-title-highlight::after {
        bottom: 0;
        right: 0;
        left: 0;
        width: 100%;
        height: 6rem;
    }
    .cupsake-progress__sales-decision__title-img {
        width: 420px;
        margin-bottom: 10px;
    }
    .cupsake-progress__sales-decision__content {
        flex-direction: row;
        gap: 70px;
        align-items: center;
    }
    .cupsake-progress__sales-decision__product {
        width: 70%;
    }
    .cupsake-progress__sales-decision__product--moyashimon {
        order: 2;
    }
    .cupsake-progress__sales-decision__product-list {
        gap: 46px;
        margin-bottom: 16px;
    }
    .cupsake-progress__sales-decision__product-item:first-child:before {
        width: 100px;
        height: 100px;
        left: -126px;
    }
    .cupsake-progress__sales-decision__product-img {
        width: 150px;
        margin-bottom: 20px;
    }
    .cupsake-progress__sales-decision__product-title {
        font-size: 15px;
    }
    .cupsake-progress__sales-decision__product-taste {
        font-size: 12px;
    }
    .cupsake-progress__sales-decision__about-cupsake {
        width: 41%;
    }
    .cupsake-progress__sales-decision__about-cupsake__inner {
        padding-right:  103px;
    }
    .cupsake-progress__sales-decision__content--moyashimon .cupsake-progress__sales-decision__about-cupsake__inner {
        padding-right:  0;
        padding-left: 103px;
    }
    .common-button__link:hover {
        color: #00548F;
        border: 1px solid #00548F;
        opacity: 1;
    }
    .common-button__link:hover:after {
        background-image: url(../img/dc-cupsake/progress/icon_common-button_cupsake.png);
    }
    .cupsake-progress__sales-decision__content-wrapper {
        gap: 70px;
    }
    .cupsake-progress__sales-decision__lead {
        margin-bottom: 60px;
    }
    .cupsake-progress__sales-decision__lead-text {
        font-size: 18px;
        letter-spacing: 1.08px;
        text-align: center;
    }
    .cupsake-progress__sales-decision__product-description {
        letter-spacing: 0.66px;
    }
}
@media screen and (min-width: 768px) and (max-width: 950px) {
    .cupsake-progress__sales-decision__product-img {
        width: 90px;
    }
    .cupsake-progress__sales-decision__about-cupsake__inner {
        padding-right: 0;
    }
    .cupsake-progress__sales-decision__content--moyashimon .cupsake-progress__sales-decision__about-cupsake__inner {
        padding-left: 0;
    }
    .cupsake-progress__sales-decision__product-list {
        gap: 18px;
    }
    .cupsake-progress__sales-decision__product-item:first-child:before {
        width: 80px;
        height: 80px;
        left: -90rem;
        top: -10rem;
    }
}


.cupsake__footer {
    background-color: #fff;
    padding: 0 0 40rem;
    position: relative;
    width: 100%;
}
.cupsake__footer-inner {
    width: 100%;
    max-width: 1230rem;
    margin: 0 auto;
    padding: 0 15rem;
    position: relative;
}
.cupsake-progress__progress {
    padding: 0 0 40rem;
    position: relative;
}
.cupsake-progress__progress-inner {
    width: 100%;
    max-width: 1230rem;
    margin: 0 auto;
    padding: 0 15rem;
    position: relative;
}
.cupsake-progress__progress-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10rem;
    margin-bottom: 40rem;
}
.cupsake-progress__progress-item {
    width: 273rem;
    border-radius: 20px;
    border: 1px solid #E1ECFA;
    background: #FFF;
}
.cupsake-progress__progress-link {
    display: block;
    padding: 20rem 0 10rem;
}
.cupsake-progress__progress-title {
    font-size: 14rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.84px;
    color: #1B2024;
    margin-bottom: 14rem;
    display: flex;
    align-items: flex-start;
}
.cupsake-progress__progress-title-num {
    color: #FFF;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 11rem;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.66px;
    border-radius: 0 4rem 4rem 0;
    background: #0062A7;
    padding: 2rem 6rem;
    margin-right: 10rem;
    display: block;
    flex-shrink: 0;
}
.cupsake-progress__insta-img {
    display: block;
    width: 100%;
}
.cupsake-progress__insta-caption-wrap {
    padding: 10rem;
}
.cupsake-progress__insta-caption {
    font-size: 11rem;
}
.cupsake-progress__insta-caption-rest {
    font-size: 11rem;
}
.cupsake-progress__sake-note {
    font-size: 12rem;
    font-weight: 300;
    line-height: 1.7;
    letter-spacing: 0.72px;
    margin-bottom: 80rem;
}
.cupsake-progress__150th-logo {
    display: block;
    margin: 0 auto 20rem;
    width: 80rem;
}
.cupsake-progress__banner-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10rem;
}
.cupsake-progress__banner-item {
    width: 100%;
    max-width: 582rem;
}
.cupsake-progress__banner-link {
    display: block;
}
.cupsake-progress__banner-img {
    display: block;
    max-width: 100%;
}
.cupsake-progress__insta-more-btn {
    color: #0062A7;
    font-size: 12rem;
    display: inline-block;
}
.cupsake-progress__insta-close-btn {
    color: #0062A7;
    font-size: 12rem;
    display: block;
    margin: 5rem auto 0;
    text-align: right;
}
@media screen and (min-width: 768px) {
    .cupsake-progress__progress {
        padding: 80px 0;
    }
    .cupsake-progress__progress-list {
        flex-direction: row;
        gap: 36px;
        margin-bottom: 60px;
        flex-wrap: wrap;
        justify-content: center;
        align-items: flex-start;
    }
    .cupsake-progress__progress-link {
        display: block;
        padding: 20rem 0 10rem;
    }
    .cupsake-progress__progress-title {
        font-size: 14rem;
        font-weight: 600;
        line-height: 1;
        letter-spacing: 0.84px;
        color: #1B2024;
    }
    .cupsake-progress__progress-title-num {
        color: #FFF;
        font-family: "M PLUS Rounded 1c", sans-serif;
        font-size: 11rem;
        font-weight: 700;
        line-height: 1.1;
        letter-spacing: 0.66px;
        border-radius: 0 4rem 4rem 0;
        background: #0062A7;
        padding: 2rem 6rem;
        margin-right: 10rem;
    }
    .cupsake-progress__sake-note {
        font-size: 12rem;
        font-weight: 300;
        line-height: 1.7;
        letter-spacing: 0.72px;
        margin-bottom: 80rem;
    }
    .cupsake-progress__150th-logo {
        margin: 0 auto 40px;
        width: 120px;
    }
    .cupsake-progress__banner-list {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10rem;
    }
    .cupsake-progress__banner-item {
        width: 100%;
        max-width: 582rem;
    }
    .cupsake-progress__banner-link {
        display: block;
        overflow: hidden;
    }
    .cupsake-progress__banner-img {
        transition: .3s all;
    }
    .cupsake-progress__banner-link:hover .cupsake-progress__banner-img {
        transform: scale(1.05);
    }
}

/* モーダル・オーバーレイ・スクロールロック */

/* モーダル表示用クラス */
.cupsake-progress__sales-decision__about-cupsake-modal {
    display: none;
    justify-content: center;
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100vw;
    padding: 134rem 15rem 0;
    background: #fff;
    overflow: hidden;
    height: 100vh;
}
.cupsake-progress__sales-decision__about-cupsake-modal.is-open {
    display: flex;
}

.cupsake-progress__sales-decision__about-cupsake-modal__inner {
    max-width: 788rem;
    width: 100%;
    overflow: scroll;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 0 110rem;
}


/* スクロールロック用クラス */
.modal-scroll-lock {
    overflow: hidden !important;
    /* height: 100vh !important; 削除 */
}
.about-cupsake-modal__list {
    display: flex;
    flex-direction: column;
    gap: 48rem;
    width: 100%;
}
.about-cupsake-modal__item {
    width: 100%;
}
.about-cupsake-modal__item-title {
    font-size: 16rem;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.96px;
    margin-bottom: 20rem;
    display: flex;
    align-items: center;
}
.about-cupsake-modal__item-title::before {
    content: "";
    background-image: url(../img/dc-cupsake/about-cupsake-modal_sake-icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 40rem;
    height: 40rem;
    display: block;
    margin-right: 4rem;
}
.about-cupsake-modal__item--moyashimon .about-cupsake-modal__item-title::before {
    background-image: url(../img/dc-cupsake/about-cupsake-modal_sake-icon_moyashimon.png);
}
.about-cupsake-modal__item-body {
    display: flex;
    flex-direction: column;
}
.about-cupsake-modal__item-visual {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.about-cupsake-modal__item-img {
    display: block;
    width: 196rem;
    margin: 0 auto 20rem;
}
.about-cupsake-modal__item-description {
    font-size: 14rem;
    font-weight: 300;
    line-height: 1.25;
    letter-spacing: 0.84px;
    text-align: center;
    margin-bottom: 20rem;
}
.about-cupsake-modal__item-dl {
    display: flex;
    flex-direction: column;
    gap: 4rem;
    width: 100%;
}
.about-cupsake-modal__item-detail-wrap {
    display: flex;
    border-bottom: 1px solid #E1ECFA;
}
.about-cupsake-modal__item-dt {
    text-align: center;
    font-size: 12rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.72px;
    padding: 12rem 10rem;
    width: 90rem;
    border-radius: 4px 4px 0 4px;
    background: #E1ECFA;
    color: #00548F;
    flex-shrink: 0;
}
.about-cupsake-modal__item-dd {
    width: 100%;
    font-size: 14rem;
    font-weight: 300;
    line-height: 1.25;
    letter-spacing: 0.84px;
    padding: 8rem 20rem;
}
.about-cupsake-modal__item-link {
    display: block;
    color: #00548F;
    font-size: 15rem;
    font-weight: 300;
    line-height: 1.25;
    letter-spacing: 0.9px;
    text-decoration: underline;
}
.about-cupsake-modal__under-close-button {
    color: #FFF;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    border-radius: 25px;
    background: #00548F;
    padding: 16rem 36rem 16rem 56rem;
    width: fit-content;
    height: fit-content;
    position: relative;
    display: block;
    border: none;
    margin: 60rem auto 0;
}
.about-cupsake-modal__under-close-button::before {
    content: "";
    display: block;
    background-color: #FFF;
    width: 18px;
    height: 2px;
    border-radius: 6px;
    position: absolute;
    top: 50%;
    left: 26rem;
    transform: rotate(45deg);
}
.about-cupsake-modal__under-close-button::after {
    content: "";
    display: block;
    background-color: #FFF;
    width: 18px;
    height: 2px;
    border-radius: 6px;
    position: absolute;
    top: 50%;
    left: 26rem;
    transform: rotate(-45deg);
}
.about-cupsake-modal__close-button {
    width: 46rem;
    height: 46rem;
    position: absolute;
    top: 70rem;
    right: 20rem;
    border: none;
    background-color: transparent;
}
.about-cupsake-modal__close-button::before {
    content: "";
    display: block;
    background-image: url(../img/dc-cupsake/progress/modal-close-button.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 46rem;
    height: 46rem;
}
.cupsake-progress__bnr {
    padding: 40rem 0;
    background-color: #fff;
    width: 100%;
}
.cupsake-progress__bnr-inner {
    width: 100%;
    max-width: 1024rem;
    padding: 0 15rem;
    margin: 0 auto;
}
.cupsake-progress__bnr-list {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10rem;
}
.cupsake-progress__bnr-item {
    width: 100%;
}
.cupsake-progress__bnr-link {
    display: block;
}
.cupsake-progress__bnr-img {
    display: block;
    width: 100%;
}


.cupsake-progress__retailer {
    padding: 60rem 0;
    background-color: #fff;
}
.cupsake-progress__retailer-inner {
    padding: 0 15rem;
    width: 100%;
    max-width: 1230rem;
    margin: 0 auto;
}
.cupsake-progress__retailer-description {
    text-align: center;
    font-size: 16rem;
    font-weight: 300;
    line-height: 1.7;
    letter-spacing: 0.96px;
    margin-bottom: 50rem;
}
.cupsake-progress__retailer-list {
    display: flex;
    flex-direction: column;
    gap: 70rem;
}
.cupsake-progress__retailer-item {
    position: relative;
}
.cupsake-progress__retailer-item::before {
    content: "";
    display: block;
    background-color: var(--cup-sake2026-500, #EBF3FF);
    height: 4rem;
    width: 100%;
    position: absolute;
    right: 0;
    left: 0;
    top: 50rem;
    margin: auto;
}
.cupsake-progress__retailer-img {
    display: block;
    width: 202rem;
    margin: 0 auto 8rem;
    position: relative;
    z-index: 1;
}
.cupsake-progress__retailer-name {
    color: #00548F;
    text-align: center;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 20rem;
    font-weight: 700;
    letter-spacing: 1.2px;
    margin-bottom: 12rem;
}
.cupsake-progress__retailer-note {
    color: #D6516C;
    font-size: 12rem;
    font-weight: 600;
    line-height: 1.7;
    letter-spacing: 0.72px;
    margin-bottom: 12rem;
    text-align: center;
}
.cupsake-progress__retailer-area-list {
    display: flex;
    flex-direction: column;
    gap: 28rem;
}
.cupsake-progress__retailer-area {
    color: #00548F;
    text-align: center;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 20rem;
    font-weight: 700;
    letter-spacing: 1.2px;
    background-color: #D3E9F8;
    border-left: 8rem solid #0062A7;
    padding: 2rem 12rem;
    width: fit-content;
    border-radius: 0 4px 4px 0;
    margin-bottom: 8rem;
}
.cupsake-progress__retailer-area--nakadori {
    background-color: #FDF0CB;
}
.cupsake-progress__retailer-area--aizu {
    background-color: #FAE6F2;
}
.cupsake-progress__retailer-store-item {
    padding: 12rem 0;
    border-bottom: 1px solid var(--cup-sake2026-400, #E1ECFA);
}
.cupsake-progress__retailer-store-head {
    display: flex;
    align-items: flex-start;
    gap: 8rem;
    margin-bottom: 8rem;
}
.cupsake-progress__retailer-store-city {
    font-size: 11rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.66px;
    border-radius: 4px;
    border: 1px solid var(--cup-sake2026-400, #E1ECFA);
    width: fit-content;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4rem 8rem;
}
.cupsake-progress__retailer-store-name {
    font-size: 15rem;
    font-weight: 600;
    letter-spacing: 0.9px;
    width: fit-content;
}
.cupsake-progress__retailer-store-name span {
    display: block;
    font-size: 12rem;
    font-weight: 600;
}
.cupsake-progress__retailer-store-address {
    font-size: 13rem;
    font-weight: 300;
    line-height: 1.25;
    letter-spacing: 0.78px;
    display: flex;
}
.cupsake-progress__retailer-store-address::before {
    content: "";
    display: block;
    background-image: url(../img/dc-cupsake/icon_address.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 16rem;
    height: 16rem;
    margin-right: 10rem;
    flex-shrink: 0;
}

@media screen and (min-width: 768px) {
    .cupsake-progress__sales-decision__about-cupsake-modal {
        max-width: 788px;
        padding: 80px 67px 0;
        height: 702px;
        bottom: 0;
        right: 0;
        margin: auto;
        border-radius: 20px;
    }

    .cupsake-progress__sales-decision__about-cupsake-modal__inner {
        width: 100%;
        overflow: scroll;
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 0 0 80px;
    }

    .about-cupsake-modal__close-button {
        top: 16rem;
        right: 26rem;
    }
    .about-cupsake-modal__list {
        gap: 48px;
    }
    .about-cupsake-modal__item-body {
        flex-direction: row;
        align-items: flex-start;
        gap: 36px;
    }
    .about-cupsake-modal__item-visual {
        flex-shrink: 0;
        width: 196px;
    }
    .about-cupsake-modal__item-img {
        width: 100%;
        margin: 0 auto 8px;
    }
    .about-cupsake-modal__item-description {
        font-size: 12px;
        letter-spacing: 0.72px;
    }
    .about-cupsake-modal__item-dd {
        width: 100%;
        font-size: 15px;
        letter-spacing: 0.9px;
    }
    .about-cupsake-modal__under-close-button {
        display: block;
        border: none;
    }
    .cupsake-progress__bnr {
        padding: 60px 0;
    }
    .cupsake-progress__bnr-list {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 36px;
    }
    .cupsake-progress__bnr-item {
        width: calc( ( 100% - 36px ) / 2 );
        overflow: hidden;
        border-radius: 20px;
    }
    .cupsake-progress__bnr-link {
        display: block;
    }
    .cupsake-progress__bnr-img {
        transition: .3s all;
    }
    .cupsake-progress__bnr-link:hover .cupsake-progress__bnr-img {
        transform: scale(1.1);
    }
    .cupsake-progress__retailer {
        padding: 100px 0;
    }
    .cupsake-progress__retailer-description {
        font-size: 18px;
        letter-spacing: 1.08px;
        margin-bottom: 60px;
    }
    .cupsake-progress__retailer-list {
        gap: 60px;
    }
    .cupsake-progress__retailer-item::before {
        top: 50rem;
    }
    .cupsake-progress__retailer-img {
        display: block;
        width: 242px;
    }
    .cupsake-progress__retailer-name {
        font-size: 24px;
        letter-spacing: 1.44px;
    }
    .cupsake-progress__retailer-note {
        margin-bottom: 20px;
    }
    .cupsake-progress__retailer-area-list {
        gap: 30px;
    }
    .cupsake-progress__retailer-store-list {
        display: flex;
        flex-wrap: wrap;
        gap: 0 36px;
    }
    .cupsake-progress__retailer-store-item {
        padding: 12rem 0;
        width: calc( ( 100% - 36px * 2 ) / 3 );
    }
}
.new-breadcrumb {
    position: relative;
    z-index: 1;
}
.cupsake-progress__insta-block .slick-dots {
    bottom: 0;
}
.cupsake-progress__insta-block .slick-dotted.slick-slider {
    margin-bottom: 0;
}

.common-button__link--dc-cupsake-back {
    margin: 40rem auto 0;
    justify-content: center;
}
.common-button__link--dc-cupsake-back::after {
    display: none;
}
.common-button__link--dc-cupsake-back::before {
    content: "";
    background-image: url(../img/dc-cupsake/progress/icon_common-button_cupsake.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 32rem;
    height: 32rem;
    display: block;
    position: absolute;
    left: 14rem;
    top: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(-180deg);
}

/* ============================================
   dc-cupsake-nav (sticky navigation)
   ============================================ */

.dc-cupsake-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 100;
}
.dc-cupsake-nav__list {
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0;
    border-radius: 20px 20px 0 0;
    background: var(--color-background-quaternary, #FFF);
    box-shadow: 0 0 20px 0 rgba(0, 34, 102, 0.20);
    padding: 0 10rem;
}
.dc-cupsake-nav__item {
    height: auto;
}
.dc-cupsake-nav__link {
    padding: 24rem 14rem;
    display: flex;
    position: relative;
    transition: background-color 0.25s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.dc-cupsake-nav__text {
    color: var(--LP_cup-sake-2026-Text-accent, var(--cup-sake2026-200, #00548F));
    text-align: center;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 13rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 1.5px;
    position: relative;
    transition: transform 0.25s ease;
}
.dc-cupsake-nav__text::after {
    content: "";
    display: block;
    background-color: #0062A7;
    width: 1rem;
    height: 26rem;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -14rem;
    margin: auto;
}
.dc-cupsake-nav__item:last-child .dc-cupsake-nav__text::after {
    display: none;
}

/* Active state (current page) */
.dc-cupsake-nav__link--active {
    pointer-events: none;
    cursor: default;
    position: relative;
}
.dc-cupsake-nav__link--active::before {
    content: "";
    display: block;
    border-radius: 0 0 4px 4px;
    opacity: 0.5;
    background-color: var(--cup-sake2026-200, #00548F);
    width: 30rem;
    height: 8rem;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    margin: auto;
}
.dc-cupsake-nav__link--active .dc-cupsake-nav__text {
    transform: translateY(-1px);
}

@media screen and (min-width: 768px) {
    .dc-cupsake-nav {
        bottom: auto;
        top: 88px;
        left: auto;
        right: 20px;
        width: auto;
    }
    .dc-cupsake-nav__list {
        border-radius: 80px;
        background: rgba(245, 249, 255, 0.90);
        box-shadow: 0 0 20px 0 rgba(0, 34, 102, 0.20);
    }
    .dc-cupsake-nav__link {
        padding: 17px 16px;
        border-radius: 80px;
        position: relative;
        transition: background-color 0.25s ease;
        transition: .3s all;
    }
    .dc-cupsake-nav__text {
        font-size: 14px;
        letter-spacing: 1.68px;
        transition: .3s all;
    }
    .dc-cupsake-nav__text::after {
        height: 14px;
        right: -16rem;
    }
    .dc-cupsake-nav__link:hover .dc-cupsake-nav__text {
        color: #80A9C7;
    }
    .dc-cupsake-nav__link--active::before {
        top: auto;
        bottom: 0;
        border-radius: 4px 4px 0 0;
    }
}
@media screen and (min-width: 768px) and (max-width: 980px) {
    .dc-cupsake-nav {
        top: 110px;
    }
}

/* クレジット */
.cupsake-credit {
    font-size: 10px;
    text-align: right;
    color: #fff;
    line-height: 1.4;
    margin: 0;
    padding: 0 15rem 15rem;
}
.cupsake-progress__retailer-img-wrap {
    position: relative;
    display: block;
}
.cupsake-credit--overlay {
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: 9px;
    padding: 2px 4px;
    line-height: 1.2;
    margin: 0;
    z-index: 1;
    width: fit-content;
    color: #616161;
}
.about-cupsake-modal__item-visual {
    position: relative;
}
.cupsake-credit--product-img {
    right: -73rem;
    bottom: 33rem;
}
.cupsake-credit--mv {
    right: 20rem;
    color: #fff;
}
.cupsake-credit--collaboration-cup {
    right: 53rem;
    bottom: 8rem;
}
@media screen and (min-width: 768px) {
    .cupsake-credit {
        color: #616161;
    }
    .cupsake-credit--overlay {
        bottom: -14px;
    }
    .cupsake-credit--collaboration-cup {
        bottom: 7%;
        right: 41%;
    }
    .cupsake-credit--all-cup {
        bottom: 16%;
        right: 35%;
    }
    .cupsake-credit--product-img {
        right: -45%;
        bottom: 16%;
    }
    .cupsake-credit--mv {
        right: 6%;
        bottom: 7%;
    }
}