/** Shopify CDN: Minification failed

Line 436:13 Cannot use type selector "--pc" directly after nesting selector "&"
Line 442:13 Cannot use type selector "--sp" directly after nesting selector "&"

**/

/* ヘルパー */
._pc {
    @media (max-width: 999px) {
        display: none;
    }
}
._sp {
    @media (min-width: 1000px) {
        display: none;
    }
}

/* 共通 */
.common-title {
    & > h2 {
        margin-top: 0;
        color: #000;
        font-size: 34px;
        font-weight: 700;
        @media (max-width: 999px) {
            font-size: 20px;
        }
        & > small {
            display: block;
            margin-top: 6px;
            line-height: 1.6;
            font-size: 16px;
            font-weight: 400;
        }
    }
}
.bread-crumb {
    padding: 12px 40px;
    @media (max-width: 999px) {
        padding: 7px 10px;
    }
    & > .inner {
        /* max-width: 1318px; */
        margin: 0 auto;
        & > ul {
            display: flex;
            padding: 0;
            margin: 0;
            & > li {
                padding: 0;
                margin: 0;
                list-style: none;
                font-size: 12px;
                @media (max-width: 999px) {
                    font-size: 9px;
                }
                & > a {
                    color: #000;
                    &:hover {
                        opacity: 0.7;
                    }
                }
                & + li {
                    &::before {
                        content: '>';
                        margin: 0 10px;
                    }
                }
            }
        }
    }
}

/* splide */
.splide__arrow:hover:not(:disabled) {
    opacity: .7!important;
}

/* body（SPメニューを開いているとき） */
body[data-mobile-menu="open"] {
    overflow: hidden;
}

/* ヘッダー（リニューアル） */
.shopify-section--header-renewal {
    padding: 26px;
    position: sticky;
    top: 0;
    z-index: 10;
    background-color: #fff;
    border-bottom: 1px solid #EEEEEE;
    @media (max-width: 999px) {
        padding: 10px 15px;
    }
    /* 共通 */
    ul {
        padding: 0;
        margin: 0;
    }
    li {
        list-style: none;
    }
    & > .inner {
        display: flex;
        gap: 50px;
        align-items: center;
        @media (max-width: 999px) {
            gap: 24px;
        }
        body[data-mobile-menu="open"] & {
            &::before {
                content: '';
                position: fixed;
                inset: 0;
                background-color: rgba(0, 0, 0, 0.1);
                z-index: 20;
            }
        }
        & > .logo {
            & > a {
                & > img {
                    width: 140px;
                }
            }
        }
        & > .menu01 {
            @media (max-width: 999px) {
                width: calc(100dvw - 55px);
                height: 100dvh;
                overflow-y: auto;
                position: fixed;
                inset: 0 0 0 auto;
                top: 0;
                right: 0;
                transform: translateX(100%);
                transition: transform 0.3s ease-in-out;
                background-color: #fff;
                z-index: 30;
            }
            /* SPメニューを開いているとき */
            body[data-mobile-menu="open"] & {
                @media (max-width: 999px) {
                    box-shadow: -3px 0 10px rgba(0, 0, 0, 0.15);
                    transform: translateX(0);
                }
            }
            & > .menu01-close {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                height: 52px;
                padding: 16px;
                @media (min-width: 1000px) {
                    display: none;
                }
            }
            & > ul {
                display: flex;
                gap: 24px;
                @media (max-width: 999px) {
                    flex-direction: column;
                    gap: 0;
                    border-bottom: 1px solid #EBEBEB;
                }
                & > li {
                    @media (max-width: 999px) {
                        padding: 16px 25px 16px 20px;
                        border-top: 1px solid #EBEBEB;
                    }
                    & > a {
                        color: #000;
                        font-size: 14px;
                        text-decoration: none;
                        @media (max-width: 999px) {
                            display: flex;
                            justify-content: space-between;
                            align-items: center;
                        }
                        &::after {
                            /* SP専用矢印 */
                            @media (max-width: 999px) {
                                content: '';
                                width: 6px;
                                height: 11px;
                                background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAMCAYAAABBV8wuAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAADZJREFUeAG9jzENADAMwwxlEAZlUMdkEEal7VtFfSo1kh/nSQCesxEJ+YfL49wsl1rZlFA8lzH/twx3o5POUQAAAABJRU5ErkJggg==) no-repeat center center / contain;
                            }
                        }
                    }
                    /* サブメニュー */
                    & > .submenu {
                        display: grid;
                        grid-template-rows: 0fr;
                        width: 100%;
                        padding: 0 26px;
                        position: absolute;
                        bottom: 0;
                        left: 0;
                        transform: translateY(100%);
                        background-color: #fff;
                        transition: grid-template-rows 0.3s ease-in-out;
                        overflow: hidden;
                        @media (max-width: 999px) {
                            padding: 0;
                            position: static;
                            transform: none;
                        }
                        & > ul {
                            display: flex;
                            gap: 0 50px;
                            min-height: 0;
                            overflow: hidden;
                            @media (max-width: 999px) {
                                flex-direction: column;
                                gap: 0;
                            }
                            & > li {
                                padding: 38px 0;
                                @media (max-width: 999px) {
                                    border-top: 1px dashed #EBEBEB;
                                    padding: 12px 0 12px 16px;;
                                }
                                & > a {
                                    color: #000;
                                    font-size: 12px;
                                }
                            }
                        }
                    }
                    &[data-submenu] {
                        & > a {
                            display: flex;
                            gap: 7px;
                            align-items: center;
                            &::after {
                                transition: transform 0.3s ease-in-out;
                                @media (min-width: 1000px) {
                                    content: '';
                                    width: 6px;
                                    height: 6px;
                                    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAECAYAAABCxiV9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAC1JREFUeAF1iwsJAEAIQ18kI13ji2AVRURUcDDYF+A7hQnJPIS2wfYVvF1wPQzxjAg61wps2wAAAABJRU5ErkJggg==) no-repeat center center / contain;
                                }
                                @media (max-width: 999px) {
                                    transform: rotate(90deg);
                                }
                            }
                        }
                    }
                    &[data-submenu="open"] {
                        @media (max-width: 999px) {
                            padding-bottom: 0;
                        }
                        & > a {
                            &::after {
                                transform: rotate(-180deg);
                                @media (max-width: 999px) {
                                    transform: rotate(270deg);
                                }
                            }
                        }
                        & > .submenu {
                            grid-template-rows: 1fr;
                            border-top: 1px solid #EEEEEE;
                            box-shadow: 0 6px 6px rgba(0, 0, 0, 0.15);
                            @media (max-width: 999px) {
                                margin-top: 16px;
                                border-top: none;
                                box-shadow: none;
                            }
                        }
                    }
                }
            }
            & > .menu01-feature {
                margin-top: 100px;
                padding: 0 28px;
                @media (min-width: 1000px) {
                    display: none;
                }
                & > ul {
                    display: flex;
                    flex-wrap: wrap;
                    gap: 20px;
                    & > li {
                        width: calc((100% - 20px) / 2);
                        & > a {
                            display: block;
                            width: 100%;
                            & > img {
                                width: 100%;
                            }
                        }
                    }
                }
            }
        }
        & > .header__secondary-nav {
            margin-left: auto;
            .header-icon-wishlist {
                font-size: 20px;
                line-height: .7;
                .wishlist-badge {
                    position: absolute;
                    top: -3px;
                    right: -5px;
                    background-color: #000!important;
                    color: #fff!important;
                    border-radius: 50%;
                    font-size: 8px;
                    font-weight: 400;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    text-align: center;
                    width: 12px;
                    height: 12px;
                    line-height: 12px;
                }
            }
        }
        & > .header-mobile-menu-btn {
            @media (min-width: 1000px) {
                display: none;
            }
        }
    }
    /* 検索エリア */
    .header-search {
        z-index: 20;
        border-top: 1px solid #EEEEEE;
    }
    /* SPでの人マーク表示 */
    @media screen and (max-width: 699px) {
        .sm-max\:hidden {
            display: block;
        }
    }
}

/* メインビジュアル */
.shopify-section--main-visual {

    .main-visual {
        width: 100%;
        padding: 13px 16px 0;
        @media (max-width: 999px) {
            padding: 5px 5px 0;
        }
        & > .inner {
            display: grid;
            grid-template-columns: 2fr 1fr 1fr;
            grid-template-rows: 1fr 1fr;
            gap: 12px;
            aspect-ratio: 1408 / 581;
            @media (max-width: 999px) {
                grid-template-columns: 1fr 1fr;
                grid-template-rows: 2fr 1fr 1fr;
                aspect-ratio: 379 / 638;
            }

            & > .area01, & > .area02, & > .area03, & > .area04 {
                overflow: hidden;
                border-radius: 12px;
                @media (max-width: 999px) {
                    border-radius: 6px;
                }
                & a {
                    &:hover {
                        opacity: 0.7;
                    }
                }
            }
            & > .area01 {
                grid-column: 1;
                grid-row: 1 / 3;
                min-height: 0;
                @media (max-width: 999px) {
                    grid-column: 1 / 3;
                    grid-row: 1 / 2;
                }

                .splide,
                .splide__track,
                .splide__list,
                .splide__slide {
                    height: 100%;
                }
            }

            & > .area02 {
                grid-column: 2;
                grid-row: 1 / 3;
                min-height: 0;
                @media (max-width: 999px) {
                    grid-column: 1 / 2;
                    grid-row: 2 / 4;
                }
            }

            & > .area03 {
                grid-column: 3;
                grid-row: 1;
                min-height: 0;
                @media (max-width: 999px) {
                    grid-column: 2 / 3;
                    grid-row: 2 / 3;
                }
            }

            & > .area04 {
                grid-column: 3;
                grid-row: 2;
                min-height: 0;
                @media (max-width: 999px) {
                    grid-column: 2 / 3;
                    grid-row: 3 / 4;
                }
            }
        }

        .main-visual__banner {
            display: block;
            width: 100%;
            height: 100%;
            overflow: hidden;
            border-radius: 12px;
        }

        .main-visual__img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;

            &--pc {
                @media (max-width: 999px) {
                    display: none;
                }
            }

            &--sp {
                display: none;

                @media (max-width: 999px) {
                    display: block;
                }
            }
        }

        .area01 .splide__slide {
            border-radius: 12px;
            overflow: hidden;

            a,
            .main-visual__banner {
                display: block;
                width: 100%;
                height: 100%;
            }
        }
    }

    /* splide 個別調整 */
    .area01 .splide {
        position: relative;
    }
    .splide__slide {
        padding-inline-start: 0;
    }
    .main-visual__controls {
        position: absolute;
        left: 0;
        bottom: 0;
        z-index: 2;
        display: flex;
        align-items: center;
        gap: 16px;
        padding: 8px 32px;
        background-color: #fff;
        border-radius: 0 8px 0 0;
        pointer-events: auto;
    }
    .main-visual__controls .splide__arrows {
        display: contents;
    }
    .main-visual__controls .splide__arrow {
        position: static;
        transform: none;
        width: auto;
        height: auto;
        background: transparent;
        opacity: 1;
        border: 0;
        padding: 0;
        color: #111;
        cursor: pointer;
        display: grid;
        place-items: center;

        svg {
            display: block;
        }

        &:disabled {
            opacity: 0.3;
        }

        &:hover:not(:disabled) {
            opacity: 0.7;
        }
    }
    .main-visual__controls .splide__arrow--prev {
        order: 1;
        transform: rotate(180deg);
        & > svg {
            width: 10px;
            height: 10px;
        }
    }
    .main-visual__controls .splide__pagination {
        position: static;
        display: flex;
        align-items: center;
        gap: 6px;
        margin: 0;
        padding: 0;
        background: transparent;
        bottom: auto;
        left: auto;
        right: auto;
        order: 2;
        & > li {
            position: relative;
            top: -3px;
            padding-left: 16px;
            &:first-child {
                padding-left: 0;
            }
        }
    }
    .main-visual__controls .splide__arrow--next {
        order: 3;
        & > svg {
            width: 10px;
            height: 10px;
        }
    }
    .main-visual__controls .splide__pagination__page {
        width: 6px;
        height: 6px;
        margin: 0;
        background: #cfcfcf;
        opacity: 1;
        border: 0;
        border-radius: 50%;

        &.is-active {
            background: #111;
            transform: none;
        }
    }
}

/* Information（リニューアル） */
.section-information-renewal {
    padding: 62px;
    @media (max-width: 999px) {
        padding: 52px 20px 60px;
    }
    .inner {
        max-width: 1318px;
        margin: 0 auto;
        & > .title {
            display: flex;
            justify-content: space-between;
            align-items: center;
            & > h2 {
                margin: 0;
                line-height: 1;
                color: #000;
                font-size: 24px;
                font-weight: 700;
                @media (max-width: 999px) {
                    font-size: 16px;
                }
            }
            & > a {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 129px;
                height: 38px;
                background-color: #000;
                border-radius: 60px;
                color: #fff;
                font-size: 14px;
                font-weight: 700;
                text-decoration: none;
                @media (max-width: 999px) {
                    width: 113px;
                    height: 33px;
                    font-size: 13px;
                }
                &:hover {
                    opacity: 0.7;
                }
            }
        }
        & > .list {
            margin-top: 25px;
            @media (max-width: 999px) {
                margin-top: 30px;
            }
            & > ul {
                display: flex;
                margin: 0;
                padding: 0;
                @media (max-width: 999px) {
                    flex-direction: column;
                }
                & > li {
                    flex: 1;
                    margin: 0;
                    padding: 0;
                    list-style: none;
                    @media (max-width: 999px) {
                        border-top: 1px solid #DDDDDD;
                    }
                    & > a {
                        display: block;
                        padding: 0 50px 25px;
                        @media (max-width: 999px) {
                            padding: 15px 0;
                        }
                        &:hover {
                            opacity: 0.6;
                        }
                        & > .date {
                            color: #999999;
                            font-size: 16px;
                            font-weight: 700;
                        }
                        & > .title {
                            margin-top: 8px;
                            line-height: 1.8;
                            color: #000;
                            font-size: 15px;
                            font-weight: 700;
                        }
                    }
                    &:first-child > a {
                        padding-left: 0;
                    }
                    &:last-child > a {
                        padding-right: 0;
                    }
                    & + li {
                        @media (min-width: 1000px) {
                            border-left: 1px solid #DDDDDD;                        
                        }
                    }
                }
            }
        }
    }
}

/* 目的から探す */
.section-find-by-purpose {
    padding: 72px 62px 86px;
    background-color: #F7F5F1;
    @media (max-width: 999px) {
        padding: 33px 20px 77px;
    }
    .inner {
        max-width: 1318px;
        margin: 0 auto;
        & > .list {
            margin-top: 38px;
            @media (max-width: 999px) {
                margin-top: 25px;
            }
            & > ul {
                display: flex;
                gap: 38px;
                @media (max-width: 999px) {
                    flex-direction: column;
                    gap: 20px;
                }
                & > li {
                    background-color: #fff;
                    border-radius: 30px;
                    overflow: hidden;
                    & > .image {
                        & > img {
                            width: 100%;
                            height: auto;
                        }
                    }
                    & > .title {
                        margin-top: 35px;
                        padding: 0 26px;
                        line-height: 1.6;
                        color: #000;
                        font-size: 24px;
                        font-weight: 700;
                        @media (max-width: 999px) {
                            font-size: 20px;
                        }
                    }
                    & > .description {
                        margin-top: 10px;
                        padding: 0 26px;
                        line-height: 1.8;
                        color: #000;
                        font-size: 18px;
                        @media (max-width: 999px) {
                            font-size: 14px;
                        }
                    }
                    & > .links {
                        margin-top: 12px;
                        padding: 0 26px 30px;
                        & > ul {
                            display: flex;
                            flex-direction: column;
                            gap: 8px;
                            margin: 0;
                            padding: 0;
                            @media (max-width: 999px) {
                                gap: 4px;
                            }
                            & > li {
                                margin: 0;
                                padding: 0;
                                list-style: none;
                                & > a {
                                    display: flex;
                                    justify-content: flex-start;
                                    align-items: flex-start;
                                    gap: 12px;
                                    line-height: 2;
                                    color: #000;
                                    font-size: 15px;
                                    text-decoration: none;
                                    @media (max-width: 999px) {
                                        font-size: 14px;
                                    }
                                    &::before {
                                        content: '';
                                        width: 9px;
                                        height: 9px;
                                        position: relative;
                                        top: 11px;
                                        background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAJdJREFUeAGFULsNgzAQ9cVpLSG59EeskA2SDTIKGzBCRkhJzRZQMQJsQOHe5l1nWQaeZN356d35PQtRwBizWGvfJS9LQms9p5QGpRSFECZxhRZwzq3Y3Is7sBjCBVZ+fCdM/m9mvjHG7YlmRNPUFETUojSo4+kaTo6z4+nuVOS972Bpr31TvqnnxBwm5x8VXy8p5WcDcv4AXgskv8I4GFcAAAAASUVORK5CYII=) no-repeat center center / contain;
                                    }
                                    &:hover {
                                        opacity: 0.7;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

/* 特集（リニューアル） */
.section-feature-renewal {
    #feature {
        scroll-margin-top: 120px;
        @media (max-width: 999px) {
            scroll-margin-top: 72px;
        }
    }
    margin-top: 97px;
    padding: 0 62px;
    overflow: hidden;
    @media (max-width: 999px) {
        margin-top: 43px;
        padding: 0 20px;
    }
    h2 {
        margin-top: 0;
    }
    & > .inner {
        max-width: 1318px;
        margin: 0 auto;
        .feature-renewal-splide {
            margin-top: 40px;
            .splide__track {
                overflow: visible;
            }
            .splide__slide {
                margin: 0;
                padding: 0;
                list-style: none;
                & > a:hover {
                    opacity: 0.7;
                }
            }
            .feature-renewal__link {
                display: block;
                line-height: 0;
            }
            .feature-renewal__img {
                width: 100%;
                height: auto;
                aspect-ratio: 1 / 1;
                object-fit: cover;
                display: block;
            }
            .feature-renewal__img--placeholder {
                background: #f0f0f0;
            }
            .feature-renewal__controls {
                display: flex;
                flex-wrap: wrap;
                justify-content: flex-end;
                align-items: center;
                gap: 26px;
                margin-top: 24px;
            }
            .splide__arrows {
                display: flex;
                gap: 8px;
                flex-shrink: 0;
                order: 2;
            }
            .splide__arrow {
                position: static;
                transform: none;
                width: 40px;
                height: 40px;
                background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAABEhJREFUeAHFWUtLG1EUPkl8o5IiiE+aIkjBjS4UddN0pdsudNuCoEsfmy41f8DqXsG1Lrp1Z7pSUDFVRBA14wNFRRvfxtf0+24zwUo0mckk+eB6Z8aZuV/O655zxiEWMT8/78VU73A4PmHU67ruxrk78u8QhsaB678x+xsbG/1iAQ4zNy8tLbmfnp56sWhfYWGhu6CgQIqKiiQ/P19cLpdkZWWp+x4eHuTu7k6Ni4sLNW5ubjQSvb+/97W0tGiJrpkQwQixQafT2VdaWiolJSWSm5srZhAOh+Xg4ECRBfGJRInGJQhV9kGFg+Xl5W6SM6RkFSR6cnJCshp+tK+pqWlCrGJxcfHH8vKyfnV1pduN29tbne/mGm9xiClBqvTx8fEnVOmtqqpKWmqvAWuIpmkSCoUCsOHPDQ0NoZf3OF95cIbkPB5PysgRdKyamhradD0FktBDFPnGxoaebgSDwbjqJrlvtAt4mJ5uIDQpm6RTPucUtUHYnQdeNVNXV+cxG0LswvX1taytrYWg+g+GPUZtEDYwVFZWljFyBAM/wxljrnFNSZDSA+tgbW2tZJIgQc9eWVnh4TtK0Rm5OMQtK9PkCHo2NwTYpLJFRZAbPkQrycLn80lra6vs7e1JMuBWCk69PHYyK8nLy7PF9lZXV2V3d1fa2trUsVWQCzTqJjdK0Ev12oHJyUnp6uqS8/NzaW9vl/HxcbEKZkhAvau7u7sP6v0IKYod8Hq9ap6bmxO/309VCbIWMQuERjk9PQ27enp6viO8lGVnZ4tdMAiR5OzsrCWSfOb4+DhPFhYW/jCKpwJQuY5kQ43+/n797Ows4WfJidyYCbjp2mZAbx0bGzP1zNTUlDAzGhgYSOj+CCe3UyygsrJSzKK4uFh5t2mkSsU7Ozt6c3OzUi/sT0f4MfW8oWJK8IxFjp1gLOzs7FQBu7q6WoUfqtcMWBoAmhNkA6i4xC4wQDMGkhwyI5menjZNjmBFCG7blKCflZYdoCOQHAN1R0eHIkfbs4IIpwAJ2iZBY+dASJHh4WFJBpeXl5z86oTGyCrLDseA1PRkAfujgwTJTYUZXBtlrZos6BCWQskL7O/vc/LzjyKIym3k6OhIJYuZBp2D6mXngeeKIDNXkBs9PDyUTIOahIonjLZIdCfB1jKEdkSIhUumQOlBvZohPSJKkFKELfq2trYyomquub6+LuzXvNlUgveMsIhON9gs4NqSCHDjTDpJoj9DckuxuMTMZmCPX2Csgc3NzZSqm+/e3t5mYvqLzSMxC4ocNaoKnHYDzqjz3fHUGreByX4NJjYwPSwHc3JyJBlQaoy58FbllOhdJ0eQYOeBxT3Kwa/oTUtFRYVpokyfUAQpckjvRhnWYvUDLRF8SZSFPspCD8myZCVZ1rJG6UApMcdkEhJpoHOmxEa5ayVCzBLB54h8huDgpwgP5vfy/2cIVkgB+benBqx+hvgLMtNUeSpCZ6YAAAAASUVORK5CYII=) no-repeat center center / contain;
                opacity: 1;
                &:disabled {
                    opacity: 0.3;
                }
                &::before {
                    display: none;
                }
                &.splide__arrow--prev {
                    transform: rotate(180deg);
                }
            }
            .feature-renewal__progress {
                width: 100%;
                height: 8px;
                order: 1;
                overflow: hidden;
            }
            .feature-renewal__progress-bar {
                display: block;
                width: 30px;
                height: 100%;
                background: #999;
                border-radius: 4px;
                transition: width 0.15s linear;
            }
        }
    }
}

/* MAGAZINE（リニューアル） */
.section-magazine-renewal {
    margin-top: 59px;
    padding: 0 62px;
    overflow: hidden;
    @media (max-width: 999px) {
        margin-top: 65px;
        padding: 0 20px;
    }
    h2 {
        margin-top: 0;
    }
    & > .inner {
        max-width: 1318px;
        margin: 0 auto;
        .magazine-renewal-splide {
            margin-top: 40px;
            .splide__track {
                overflow: visible;
            }
            .splide__slide {
                margin: 0;
                padding: 0;
                list-style: none;
                & > a:hover {
                    opacity: 0.7;
                }
            }
            .magazine-renewal__img {
                border-radius: 12px;
            }
            .magazine-renewal__date {
                margin-top: 27px;
                line-height: 1.7;
                font-size: 13px;
                font-weight: 700;
                color: #999999;
                @media (max-width: 999px) {
                    font-size: 10px;
                }
            }
            .magazine-renewal__title {
                margin-top: 5px;
                line-height: 1.6;
                color: #000;
                font-size: 19px;
                font-weight: 700;
                @media (max-width: 999px) {
                    font-size: 12px;
                }
            }
            .magazine-renewal__controls {
                display: flex;
                flex-wrap: wrap;
                justify-content: flex-end;
                align-items: center;
                gap: 26px;
                margin-top: 24px;
            }
            .splide__arrows {
                display: flex;
                gap: 8px;
                flex-shrink: 0;
                order: 2;
            }
            .splide__arrow {
                position: static;
                transform: none;
                width: 40px;
                height: 40px;
                background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAABEhJREFUeAHFWUtLG1EUPkl8o5IiiE+aIkjBjS4UddN0pdsudNuCoEsfmy41f8DqXsG1Lrp1Z7pSUDFVRBA14wNFRRvfxtf0+24zwUo0mckk+eB6Z8aZuV/O655zxiEWMT8/78VU73A4PmHU67ruxrk78u8QhsaB678x+xsbG/1iAQ4zNy8tLbmfnp56sWhfYWGhu6CgQIqKiiQ/P19cLpdkZWWp+x4eHuTu7k6Ni4sLNW5ubjQSvb+/97W0tGiJrpkQwQixQafT2VdaWiolJSWSm5srZhAOh+Xg4ECRBfGJRInGJQhV9kGFg+Xl5W6SM6RkFSR6cnJCshp+tK+pqWlCrGJxcfHH8vKyfnV1pduN29tbne/mGm9xiClBqvTx8fEnVOmtqqpKWmqvAWuIpmkSCoUCsOHPDQ0NoZf3OF95cIbkPB5PysgRdKyamhradD0FktBDFPnGxoaebgSDwbjqJrlvtAt4mJ5uIDQpm6RTPucUtUHYnQdeNVNXV+cxG0LswvX1taytrYWg+g+GPUZtEDYwVFZWljFyBAM/wxljrnFNSZDSA+tgbW2tZJIgQc9eWVnh4TtK0Rm5OMQtK9PkCHo2NwTYpLJFRZAbPkQrycLn80lra6vs7e1JMuBWCk69PHYyK8nLy7PF9lZXV2V3d1fa2trUsVWQCzTqJjdK0Ev12oHJyUnp6uqS8/NzaW9vl/HxcbEKZkhAvau7u7sP6v0IKYod8Hq9ap6bmxO/309VCbIWMQuERjk9PQ27enp6viO8lGVnZ4tdMAiR5OzsrCWSfOb4+DhPFhYW/jCKpwJQuY5kQ43+/n797Ows4WfJidyYCbjp2mZAbx0bGzP1zNTUlDAzGhgYSOj+CCe3UyygsrJSzKK4uFh5t2mkSsU7Ozt6c3OzUi/sT0f4MfW8oWJK8IxFjp1gLOzs7FQBu7q6WoUfqtcMWBoAmhNkA6i4xC4wQDMGkhwyI5menjZNjmBFCG7blKCflZYdoCOQHAN1R0eHIkfbs4IIpwAJ2iZBY+dASJHh4WFJBpeXl5z86oTGyCrLDseA1PRkAfujgwTJTYUZXBtlrZos6BCWQskL7O/vc/LzjyKIym3k6OhIJYuZBp2D6mXngeeKIDNXkBs9PDyUTIOahIonjLZIdCfB1jKEdkSIhUumQOlBvZohPSJKkFKELfq2trYyomquub6+LuzXvNlUgveMsIhON9gs4NqSCHDjTDpJoj9DckuxuMTMZmCPX2Csgc3NzZSqm+/e3t5mYvqLzSMxC4ocNaoKnHYDzqjz3fHUGreByX4NJjYwPSwHc3JyJBlQaoy58FbllOhdJ0eQYOeBxT3Kwa/oTUtFRYVpokyfUAQpckjvRhnWYvUDLRF8SZSFPspCD8myZCVZ1rJG6UApMcdkEhJpoHOmxEa5ayVCzBLB54h8huDgpwgP5vfy/2cIVkgB+benBqx+hvgLMtNUeSpCZ6YAAAAASUVORK5CYII=) no-repeat center center / contain;
                opacity: 1;
                &:disabled {
                    opacity: 0.3;
                }
                &::before {
                    display: none;
                }
                &.splide__arrow--prev {
                    transform: rotate(180deg);
                }
            }
            .magazine-renewal__progress {
                width: 100%;
                height: 8px;
                order: 1;
                overflow: hidden;
            }
            .magazine-renewal__progress-bar {
                display: block;
                width: 30px;
                height: 100%;
                background: #999;
                border-radius: 4px;
                transition: width 0.15s linear;
            }
        }
    }
}

/* SHOES FINDER（リニューアル） */
.section-shoes-finder {
    margin-top: 68px;
    padding: 0 62px;
    @media (max-width: 999px) {
        margin-top: 25px;
        padding: 0 20px;
    }
    & > .inner {
        display: flex;
        align-items: center;
        gap: 67px;
        max-width: 1318px;
        margin: 0 auto;
        @media (max-width: 999px) {
            flex-direction: column;
            gap: 0;
        }
        .left-area {
            width: 50%;
            padding: 30px 0;
            @media (max-width: 999px) {
                width: 100%;
                padding: 0;
            }
            & > .lead {
                margin: 20px 0 0;
                line-height: 2;
                color: #000;
                font-size: 16px;
                @media (max-width: 999px) {
                    display: none;
                }
            }
            & > .button-area {
                margin-top: 58px;
                @media (max-width: 999px) {
                    display: none;
                }
                & > a {
                    display: inline-flex;
                    justify-content: center;
                    align-items: center;
                    width: 129px;
                    height: 38px;
                    background: #000;
                    border-radius: 19px;
                    line-height: 1;
                    color: #fff;
                    font-size: 14px;
                    font-weight: 700;
                    &:hover {
                        opacity: 0.7;
                    }
                }
            }
        }
        .right-area {
            width: 50%;
            @media (max-width: 999px) {
                width: 100%;
                margin-top: 25px;
            }
            & > .image-area {
                margin-right: -117px;
                & > img {
                    width: 100%;
                }
                @media (max-width: 999px) {
                    margin-right: 0;
                }
            }
        }
        & > .lead {
            margin-top: 20px;
            line-height: 1.8;
            font-size: 14px;
            @media (min-width: 1000px) {
                display: none;
            }
        }
        /* SP用ボタンエリア */
        & > .button-area {
            margin-top: 23px;
            @media (min-width: 1000px) {
                display: none;
            }
            & > a {
                display: inline-flex;
                justify-content: center;
                align-items: center;
                width: 129px;
                height: 38px;
                background: #000;
                border-radius: 19px;
                line-height: 1;
                color: #fff;
                font-size: 14px;
                font-weight: 700;
            }
        }
    }
}

/* BRAND（リニューアル） */
.section-brand-renewal {
    margin-top: 68px;
    padding: 0 62px;
    @media (max-width: 999px) {
        margin-top: 49px;
        padding: 0 20px;
    }
    & > .inner {
        max-width: 1318px;
        margin: 0 auto;
        & > .list {
            margin-top: 32px;
            @media (max-width: 999px) {
                margin-top: 0;
            }
            & > ul {
                display: flex;
                flex-wrap: wrap;
                justify-content: flex-start;
                gap: 0 26px;
                width: 100%;
                margin: 0;
                padding: 0;
                @media (max-width: 999px) {
                    gap: 0 10px;
                }
                & > li {
                    width: calc((100% - 26px * 5) / 6);
                    margin: 0;
                    padding: 0;
                    list-style-type: none;
                    @media screen and (max-width: 999px) {
                        width: calc((100% - 20px) / 3);
                    }
                    & > a{
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        width: 100%;
                        aspect-ratio: 198 / 169;
                        & > img {
                            display: inline-block;
                            width: 100%;
                        }
                        &:hover {
                            opacity: 0.7;
                        }
                    }
                }
            }
        }
        & > .button-area {
            margin-top: 21px;
            text-align: right;
            @media (max-width: 999px) {
                text-align: center;
            }
            & > a {
                display: inline-flex;
                justify-content: center;
                align-items: center;
                width: 129px;
                height: 38px;
                background: #000;
                border-radius: 19px;
                line-height: 1;
                color: #fff;
                font-size: 14px;
                font-weight: 700;
                @media (max-width: 999px) {
                    width: 150px;
                    height: 33px;
                    border-radius: 16.5px;
                    font-size: 13px;
                }
                &:hover {
                    opacity: 0.7;
                }
            }
        }
    }
}

/* インスタグラム */
.shopify-section--apps {
    margin-top: 77px;
    @media (max-width: 999px) {
        margin-top: 50px;
    }
    & > div {
        padding: 0;
        border: none;
        background: none;
        & > .container {
            margin-left: 0;
            margin-right: 0;
            padding: 0 62px;
            @media (max-width: 999px) {
                padding: 0 20px;
            }
            & > .shopify-app-block {
                max-width: 1318px;
                margin: 0 auto;
                & > #insta-feed,
                & > [id^="feed-"] {
                    padding-bottom: 103px;
                    @media (max-width: 999px) {
                        padding-bottom: 93px;
                    }
                    & > h2 {
                        margin-top: 0;
                        margin-bottom: 50px;
                        text-align: left;
                        font-size: 34px;
                        @media (max-width: 999px) {
                            margin-bottom: 28px;
                            font-size: 20px;
                        }
                        &::after {
                            content: '@stride_lab_tokyo';
                            display: block;
                            margin-top: 10px;
                            font-size: 16px;
                            font-weight: 400;
                            @media (max-width: 999px) {
                                font-size: 14px;
                            }
                        }
                    }
                    & > .instafeed-new-layout-container {
                        width: 100%!important;
                        & > .instafeed-new-layout-wrapper {
                            width: 100%!important;
                            & > .instafeed-new-layout-item {
                                width: 100%!important;
                                height: auto!important;
                                aspect-ratio: 262 / 350;
                            }
                        }
                    }
                }
            }
        }
    }
}

/* トップへ戻るボタン */
.totop-btn {
    display: flex;
    justify-content: flex-end;
    padding-right: 20px;
    padding-bottom: 30px;
    position: sticky;
    bottom: 0;
    z-index: 1000;
    @media (max-width: 999px) {
        padding-right: 13px;
        padding-bottom: 19px;
    }
    & > a {
        display: inline-block;
        width: 40px;
        height: 40px;
        background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAABAtJREFUeAHNmU0vY1EYx5+WEIJ0IhGETCcSCza1IKyms7KehfVMwn7wBdQHYPgEY81iPoLOhgXSDhEh6K3XIGjj/fXM/3/Se6ektL2Xtv/kOO3pbe/P8zzn5XmuS2xqbm7Oj87ncrk+o/mUUh689yQ+jqEZbBj/iz7Y3t4eFBtyZXNxKBTyPD4+/sBN+ysqKjzl5eVSWVkpZWVlUlRUJMXFxfq6+/t7ub291e3s7Ey3q6srg6B3d3fDXV1dRqb3zAgwATbkdrv7a2pqpLq6WkpLSyUb3dzcyP7+voYF+ESmoGkB4cp+uHCorq7OQzjTSnZF0OPjY8Ia+KeHOzo6JsSuFhYWfi4uLqqLiwv11rq+vlb8bd7jNYaUFqRLHx4efsOV/oaGBsdWe0m4hxiGIbFYLIwY/tLW1hZ7fo37hS9OE87r9b4bHMWJ1dTUxJj20SAZfYkmX19fV7lWJBJJ627CfWdcYIapXAtLk45JTspkJisGEXdezKrp1tZWb7ZLyFvp8vJSVlZWYnD9JzMerRhEDARqa2vzBkdx4edyxjXXHNMWpPVAHWlubpZ8AlKc2UtLS3z5gVZ0JwYD3LKcwk1OTsrOzo44EWc2NwTE5P9YxOSIcOF0otHRUYU1U2H7Utvb28qJyDI/P3+q4XgqWV5eVk5kwpmNkPF4XDnR6uoqZ7SfLvbTvXY1NTUlAHwyBgtKX1+fOBFPSJCPgD67gLC8DA4O6tcDAwPWOLfH2dlZ6zM7SjD5Bb4O2TkMbG1tqZaWFu3SkZERPWa6OPkzut+OEnEYIeApV/Fs4To7OzUALGeNm4DUzMyM9d4OJJn0RMEfla1MuO7u7ifjyYAUlh1rjMDZimxuuzHS2Nio173X1NPTo2OzqqpKbMuOi1/Scws6keliWjDOJKfQxNQAMtyADSPjkkITM0KwRWnBIDOtQlOCKUzAgrTg+fk5u2AxM34EYww+9zg9zfT29updxKnoXhxeDasagU05sLu7qwpFzE9gtF9k0+sgMrexw8NDfVjMt2g9upeVB77XgDy5Am784OBA8i1WHRBuE2ZZxNpJcJINoBwRY+KSL9F6e3t7hmk9ygKkFeH+4c3Nzby4mvdcW1sT1mteLSohOMcYpLkWiwW8t2QiXDidS0jUZwgXSsWS8jSDePyKYA1vbGy8q7v529FoVI6Ojv6weCTZiiZHjqowq9RbC5NR8bfTuTVtAZP1GnQsYHpZWS0pKREnotW45mK26kmJ3cIZIMXKA5N7bIXfUJuW+vr6rEF5fDo5OdFwON6Nc1lLVQ+0BfgclJV9pIVewjL7Iiz3cVYFKFqJZ0weQhIFdPa02Dh3rUzAbAEmK/EYgo2PIrzoP8rTxxDM3MPog2hhu48h/gHZskIyAYKg7AAAAABJRU5ErkJggg==) no-repeat center center / contain;
        overflow: hidden;
        text-indent: 9999px;
        @media (max-width: 999px) {
            width: 33px;
            height: 33px;
        }
        &:hover {
            opacity: 0.7;
        }
    }
}
.msg-tooltip {
    box-shadow: none!important;
}

/* フッター */
.shopify-section--footer {
    border-top: 1px solid #DDDDDD;
    & > .footer {
        & > .container {
            & > .footer__inner {
                & > ._sp {
                    margin: 0 auto;
                    & .social-media--list {
                        display: inline-flex;
                        justify-content: center;
                        & > .social-media__item {
                            opacity: 1;
                        }
                    }
                    & .footer-line-banner {
                        display: none;
                    }
                }
                justify-content: space-between;
                & > .footer__block-list {
                    width: auto!important;
                    gap: 0 95px;
                    & > .footer__block--newsletter {
                        flex: none;
                        width: 360px;
                        max-width: none;
                        @media (max-width: 999px) {
                            width: 100%;
                        }
                        & > .v-stack {
                            gap: 5px 0;
                            & > .h6 {
                                color: #000;
                                font-size: 15px;
                            }
                            & > .text-subdued {
                                color: #000;
                                font-size: 14px;
                            }
                            & > form {
                                display: flex;
                                width: 100%;
                                margin-top: 16px;
                                & > .form-control {
                                    flex-grow: 1;
                                    @media (max-width: 999px) {
                                        width: calc(100% - 84px);
                                    }
                                }
                                & > .align-self-start {
                                    @media (max-width: 999px) {
                                        width: 84px;
                                    }
                                }
                            }
                        }
                    }
                    & > .footer__block--links {
                        @media (max-width: 999px) {
                            margin-top: 30px;
                        }
                        & ul {
                            display: flex;
                            flex-wrap: wrap;
                            gap: 10px;
                            & li {
                                @media (max-width: 999px) {
                                    width: calc(50% - 5px);
                                }
                            }
                        }
                    }
                }
                & > .social-media--list {
                    width: 258px!important;
                    gap: 40px 36px;
                    @media (max-width: 999px) {
                        width: 100%!important;
                        justify-content: center!important;
                    }
                    & > .social-media__item {
                        opacity: 1;
                        @media (max-width: 999px) {
                            display: none;
                        }
                    }
                    & a {
                        color: #000;
                    }
                    & > .footer-line-banner {
                        width: 100%;
                        @media (max-width: 999px) {
                            max-width: 207px;
                        }
                    }
                }
                & > .footer__aside {
                    @media (max-width: 999px) {
                        margin-top: 0!important;
                    }
                    & > .payment-methods {
                        display: none;
                    }
                }
            }
        }
    }
}

/* ROOT_3 */
.section-root-3 {
    padding-bottom: 160px;
    & > .mainVisual {
        display: flex;
        justify-content: flex-end;
        width: 100%;
        height: auto;
        aspect-ratio: 1440 / 438;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        @media (max-width: 999px) {
            flex-direction: column;
            aspect-ratio: 394 / 569;
        }
        & > .textArea {
            display: flex;
            justify-content: center;
            align-items: flex-start;
            flex-direction: column;
            gap: 30px;
            width: 50%;
            padding: 60px 100px;
            background-color: rgba(0, 0, 0, 0.5);
            @media (max-width: 1200px) {
                padding: 40px 60px;
            }
            @media (max-width: 999px) {
                gap: 10px;
                width: 100%;
                padding: 33px 20px 20px;
            }
            & > h1 {
                line-height: 1;
                color: #fff;
                font-size: 34px;
                font-weight: 700;
                @media (max-width: 999px) {
                    font-size: 26px;
                }
            }
            & > p {
                line-height: 2;
                color: #fff;
                font-size: 16px;
                @media (max-width: 999px) {
                    font-size: 12px;
                    font-weight: 400;
                }
            }
        }
    }
}

.section-root-3 > .productList,
.section-brand-info > .productList {
        margin-top: 48px;
        padding: 0 62px;
        overflow: hidden;
        @media (max-width: 999px) {
            margin-top: 25px;
            padding: 0 20px;
        }
        & > .inner {
            max-width: 1318px;
            margin: 0 auto;
            & > .pickup {
                line-height: 2;
                color: #999;
                font-size: 14px;
                font-weight: 700;
                @media (max-width: 999px) {
                    font-size: 10px;
                }
            }
            & > h2 {
                margin: 3px 0 0;
                padding: 0;
                color: #1A1A1A;
                font-size: 24px;
                font-weight: 700;
                @media (max-width: 999px) {
                    font-size: 18px;
                }
            }
            & > .lead {
                margin-top: 16px;
                line-height: 2;
                color: #000;
                font-size: 20px;
                @media (max-width: 999px) {
                    margin-top: 8px;
                    font-size: 12px;
                }
            }
        }
        & .root-3-product-splide {
            margin-top: 40px;
            & .splide__track {
                overflow: visible;
            }
            & .splide__slide {
                margin: 0;
                padding: 0;
                list-style: none;
                & > a {
                    display: flex;
                    flex-direction: column;
                    height: 100%;
                    & > .icon {
                        display: flex;
                        gap: 10px;
                        & > span {
                            padding: 6px 12px;
                            border-radius: 999px;
                            line-height: 1;
                            color: #fff;
                            font-size: 12px;
                            &.new {
                                background-color: #D97171;
                            }
                            &.comingsoon {
                                background-color: #D97171;
                            }
                            &.outlet {
                                background-color: #8980D5;
                            }
                            &.exclusive {
                                background-color: #986BAC;
                            }
                            &.newcolor {
                                background-color: #8B9D6A;
                            }
                            &.men {
                                background-color: #546EAC;
                            }
                            &.women {
                                background-color: #C67B99;
                            }
                            &.kids {
                                background-color: #E4E486;
                            }
                            &.unisex {
                                background-color: #55AEB6;
                            }
                        }
                    }
                    & > .textGroup {
                        display: flex;
                        flex-direction: column;
                        flex-grow: 1;
                        & > .maker {
                            line-height: 1.6;
                            color: #999;
                            font-size: 12px;
                            font-weight: 700;
                            @media (max-width: 999px) {
                                font-size: 10px;
                            }
                        }
                        & > .name {
                            flex-grow: 1;
                            margin-top: 3px;
                            line-height: 1.6;
                            color: #000;
                            font-size: 15px;
                            @media (max-width: 999px) {
                                font-size: 12px;
                                /* SPのとき、最大2行で省略し末尾に「...」 */
                                display: -webkit-box;
                                -webkit-box-orient: vertical;
                                -webkit-line-clamp: 2;
                                overflow: hidden;
                            }
                        }
                        & > .price {
                            margin-top: 3px;
                            line-height: 1.6;
                            color: #000;
                            font-size: 15px;
                            font-weight: 700;
                            @media (max-width: 999px) {
                                font-size: 12px;
                            }
                        }
                    }
                }
            }

            &.root-3-product-splide--sp {
                .splide__slide {
                    display: flex;
                    gap: 12px;
                    flex-direction: column;

                    & > .root-3-product__link {
                        width: 100%;
                    }
                }
            }

            .root-3-product__link {
                display: block;
                text-decoration: none;
                color: inherit;
            }
            .root-3-product__controls {
                display: flex;
                flex-wrap: wrap;
                justify-content: flex-end;
                align-items: center;
                gap: 26px 50px;
                margin-top: 24px;
                @media (max-width: 999px) {
                    margin-top: 28px;
                    justify-content: center;
                }
            }
            .splide__arrows {
                display: flex;
                gap: 8px;
                flex-shrink: 0;
                order: 2;
            }
            .splide__arrow {
                position: static;
                transform: none;
                width: 40px;
                height: 40px;
                background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAABEhJREFUeAHFWUtLG1EUPkl8o5IiiE+aIkjBjS4UddN0pdsudNuCoEsfmy41f8DqXsG1Lrp1Z7pSUDFVRBA14wNFRRvfxtf0+24zwUo0mckk+eB6Z8aZuV/O655zxiEWMT8/78VU73A4PmHU67ruxrk78u8QhsaB678x+xsbG/1iAQ4zNy8tLbmfnp56sWhfYWGhu6CgQIqKiiQ/P19cLpdkZWWp+x4eHuTu7k6Ni4sLNW5ubjQSvb+/97W0tGiJrpkQwQixQafT2VdaWiolJSWSm5srZhAOh+Xg4ECRBfGJRInGJQhV9kGFg+Xl5W6SM6RkFSR6cnJCshp+tK+pqWlCrGJxcfHH8vKyfnV1pduN29tbne/mGm9xiClBqvTx8fEnVOmtqqpKWmqvAWuIpmkSCoUCsOHPDQ0NoZf3OF95cIbkPB5PysgRdKyamhradD0FktBDFPnGxoaebgSDwbjqJrlvtAt4mJ5uIDQpm6RTPucUtUHYnQdeNVNXV+cxG0LswvX1taytrYWg+g+GPUZtEDYwVFZWljFyBAM/wxljrnFNSZDSA+tgbW2tZJIgQc9eWVnh4TtK0Rm5OMQtK9PkCHo2NwTYpLJFRZAbPkQrycLn80lra6vs7e1JMuBWCk69PHYyK8nLy7PF9lZXV2V3d1fa2trUsVWQCzTqJjdK0Ev12oHJyUnp6uqS8/NzaW9vl/HxcbEKZkhAvau7u7sP6v0IKYod8Hq9ap6bmxO/309VCbIWMQuERjk9PQ27enp6viO8lGVnZ4tdMAiR5OzsrCWSfOb4+DhPFhYW/jCKpwJQuY5kQ43+/n797Ows4WfJidyYCbjp2mZAbx0bGzP1zNTUlDAzGhgYSOj+CCe3UyygsrJSzKK4uFh5t2mkSsU7Ozt6c3OzUi/sT0f4MfW8oWJK8IxFjp1gLOzs7FQBu7q6WoUfqtcMWBoAmhNkA6i4xC4wQDMGkhwyI5menjZNjmBFCG7blKCflZYdoCOQHAN1R0eHIkfbs4IIpwAJ2iZBY+dASJHh4WFJBpeXl5z86oTGyCrLDseA1PRkAfujgwTJTYUZXBtlrZos6BCWQskL7O/vc/LzjyKIym3k6OhIJYuZBp2D6mXngeeKIDNXkBs9PDyUTIOahIonjLZIdCfB1jKEdkSIhUumQOlBvZohPSJKkFKELfq2trYyomquub6+LuzXvNlUgveMsIhON9gs4NqSCHDjTDpJoj9DckuxuMTMZmCPX2Csgc3NzZSqm+/e3t5mYvqLzSMxC4ocNaoKnHYDzqjz3fHUGreByX4NJjYwPSwHc3JyJBlQaoy58FbllOhdJ0eQYOeBxT3Kwa/oTUtFRYVpokyfUAQpckjvRhnWYvUDLRF8SZSFPspCD8myZCVZ1rJG6UApMcdkEhJpoHOmxEa5ayVCzBLB54h8huDgpwgP5vfy/2cIVkgB+benBqx+hvgLMtNUeSpCZ6YAAAAASUVORK5CYII=) no-repeat center center / contain;
                opacity: 1;
                &:disabled {
                    opacity: 0.3;
                }
                &::before {
                    display: none;
                }
                &.splide__arrow--prev {
                    transform: rotate(180deg);
                }
            }
            .root-3-product__progress {
                width: 100%;
                height: 8px;
                order: 1;
                overflow: hidden;
            }
            .root-3-product__progress-bar {
                display: block;
                width: 30px;
                height: 100%;
                background: #999;
                border-radius: 4px;
                transition: width 0.15s linear;
            }
            .root-3-viewall {
                order: 3;
                & > a {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    width: 129px;
                    height: 38px;
                    border-radius: 19px;
                    background-color: #000;
                    line-height: 1;
                    color: #fff;
                    font-size: 14px;
                    font-weight: 700;
                }
            }
        }
        & + .productList {
            margin-top: 50px;
            padding-top: 50px;
            border-top: 1px solid #DDDDDD;
        }
}

/* brand-info */
.section-brand-info {
    padding-bottom: 131px;
    @media (max-width: 999px) {
        padding-bottom: 68px;
    }
    & > .mainVisual {
        & > .splide {
            & > .splide__pagination {
                justify-content: flex-end;
                gap: 16px;
                margin-top: 10px;
                padding: 0 26px;
                position: static;
                @media (max-width: 999px) {
                    margin-top: 25px;
                }
                & > li {
                    padding-left: 0;
                    & > .splide__pagination__page {
                        background-color: #D9D9D9;
                        &.is-active {
                            background-color: #5A5A5A;
                        }
                    }
                }
            }
            & .splide__slide {
                padding: 0;
                & img {
                    width: 100%;
                }
            }
        }
    }
    & > .brandLogo {
        margin-top: 105px;
        padding: 0 62px;
        @media (max-width: 999px) {
            margin-top: 117px;
            padding: 0 20px;
        }
        & > .inner {
            max-width: 1318px;
            margin: 0 auto;
            text-align: center;
            & > img {
                display: inline;
                @media (max-width: 999px) {
                    width: 235px;
                }
            }
        }
    }
    & > .contentsArea {
        margin-top: 97px;
        @media (max-width: 999px) {
            margin-top: 69px;
        }
        & h2 { margin: 0; padding: 0;}
        & h3 { margin: 0; padding: 0;}
        & p { margin: 0; padding: 0;}
        & > .para {
            padding: 0 62px;
            @media (max-width: 999px) {
                padding: 0 20px;
            }
            & > .inner {
                max-width: 800px;
                margin: 0 auto;
            }
            &.layout01 {
                padding-bottom: 126px;
                @media (max-width: 999px) {
                    padding-bottom: 71px;
                }
                & > .inner {
                    & h2 {
                        line-height: 1.5;
                        color: #1C1C1C;
                        font-size: 20px;
                        font-weight: 700;
                        @media (max-width: 999px) {
                            font-size: 18px;
                        }
                        & + p {
                            margin-top: 16px;
                        }
                    }
                    & p {
                        line-height: 2;
                        font-size: 16px;
                        font-weight: 400;
                        @media (max-width: 999px) {
                            font-size: 15px;
                        }
                        & + p {
                            margin-top: 20px;
                        }
                        & + h2 {
                            margin-top: 38px;
                        }
                    }
                }
            }
            &.layout02 {
                & > .inner {
                    max-width: 1253px;
                    & > h2 {
                        color: #000;
                        font-size: 34px;
                        font-weight: 700;
                        @media (max-width: 999px) {
                            font-size: 20px;
                        }
                        & > small {
                            display: block;
                            line-height: 1.6;
                            color: #000;
                            font-size: 16px;
                            font-weight: 400;
                            @media (max-width: 999px) {
                                margin-top: 6px;
                                font-size: 14px;
                            }

                        }
                        & + .group {
                            margin-top: 68px;
                            @media (max-width: 999px) {
                                margin-top: 35px;
                            }
                        }
                    }
                    & > .group {
                        display: flex;
                        align-items: flex-start;
                        gap: 118px;
                        @media (max-width: 999px) {
                            flex-direction: column;
                            gap: 16px;
                            padding: 0 20px;
                        }
                        & > .img {
                            flex: 1;
                        }
                        & > .txt {
                            flex: 1;
                            & > h3 {
                                line-height: 1.6;
                                color: #1C1C1C;
                                font-size: 24px;
                                font-weight: 700;
                                @media (max-width: 999px) {
                                    line-height: 1.8;
                                    font-size: 20px;
                                }
                                & + p {
                                    margin-top: 22px;
                                }
                            }
                            & p {
                                line-height: 2;
                                color: #1C1C1C;
                                font-size: 16px;
                                font-weight: 400;
                                @media (max-width: 999px) {
                                    font-size: 15px;
                                }
                                & + p {
                                    margin-top: 22px;
                                }
                            }
                        }
                        & + .group {
                            margin-top: 106px;
                            @media (max-width: 999px) {
                                margin-top: 40px;
                            }
                        }
                        &.-reverse {
                            flex-direction: row-reverse;
                            @media (max-width: 999px) {
                                flex-direction: column;
                            }
                        }
                    }
                }
            }
            &.-bgGray {
                background: linear-gradient(to bottom, #F9F9F9 0%, #FFFFFF 20%);
                padding-top: 74px;
                padding-bottom: 106px;
                @media (max-width: 999px) {
                    padding-top: 29px;
                    padding-bottom: 0;
                }
            }
        }
    }
    & > .productList {
        border-top: 1px solid #DDDDDD;
        padding-top: 50px;
        @media (max-width: 999px) {
            border:none;
            margin-top: 60px;
            padding-top: 0;
        }
    }
}

/* 商品詳細 */
.shopify-section--main-product {
    & .product {
        /* 右カラム */
        & > .product-info {
            & > .product-info__block-list {
                & > .product-info__block-item {
                    & > .icon {
                        display: flex;
                        flex-wrap: wrap;
                        gap: 10px;
                        & > span {
                            padding: 6px 12px;
                            border-radius: 999px;
                            line-height: 1;
                            color: #fff;
                            font-size: 12px;
                            &.new {
                                background-color: #D97171;
                            }
                            &.comingsoon {
                                background-color: #D97171;
                            }
                            &.outlet {
                                background-color: #8980D5;
                            }
                            &.exclusive {
                                background-color: #986BAC;
                            }
                            &.newcolor {
                                background-color: #8B9D6A;
                            }
                            &.men {
                                background-color: #546EAC;
                            }
                            &.women {
                                background-color: #C67B99;
                            }
                            &.kids {
                                background-color: #E4E486;
                            }
                            &.unisex {
                                background-color: #55AEB6;
                            }
                        }
                    }
                    &[data-block-type="vendor"] {
                        margin-bottom: 0;
                        & > a, & > span {
                            color: #808080;
                            font-size: 12px;
                        }
                    }
                    &[data-block-id="title"] {
                        margin-top: 0;
                        & .product-title {
                            font-size: 32px;
                            @media (max-width: 999px) {
                                font-size: 24px;
                            }
                        }
                    }
                    & .price-list {
                        & > .h4 {
                            color: #1F1F1F;
                            font-size: 26px;
                            @media (max-width: 999px) {
                                font-size: 18px;
                            }
                            &::after {
                                content: '税込';
                                display: inline-block;
                                margin-left: 5px;
                                color: #000;
                                font-size: 12px;
                                font-weight: 400;
                                @media (max-width: 999px) {
                                    font-size: 10px;
                                }
                            }
                        }
                    }
                    & > .store-inventory-trigger {
                        display: flex;
                        align-items: center;
                        gap: 12px;
                        width: 100%;
                        height: 47px;
                        margin-top: 39px;
                        padding: 0 20px;
                        border: 1px solid #CCCCCC;
                        border-radius: 8px;
                        line-height: 1;
                        font-size: 15px;
                        font-weight: 400;
                        @media (max-width: 999px) {
                            font-size: 14px;
                        }
                        &::before {
                            content: '';
                            width: 16px;
                            height: 16px;
                            background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAG9JREFUeAHFktENgCAMRE/DIF3FyR0FNsHWREO0lRY/eMl9FV44UuBN5lRn8qIIZLBxCr4hzp6MYUFfcLLiJyK4OmcMIBUIvs7mC4BAZ0swzHyBtQeEPveZ+rgQWmVNECLyBwRl2VIz9AjUc+HOLQdanjGWaOlLMQAAAABJRU5ErkJggg==) no-repeat center center / contain;
                        }
                        &:hover {
                            opacity: 0.7;
                        }
                    }
                    &[data-block-type="variant-picker"] {
                        & fieldset[data-option-name="カラー"] {
                            & > .variant-picker__option-info {
                                & > .h-stack {
                                    display: flex;
                                }
                            }
                        }
                        & fieldset[data-option-name="サイズ"] {
                            & > .variant-picker__option-values {
                                display: grid;
                                grid-template-columns: repeat(4, minmax(0, 1fr));
                                gap: 0.625rem;
                                & .block-swatch {
                                    width: 100%;
                                    min-width: 0;
                                    box-sizing: border-box;
                                }
                            }
                            & > .size-option-meta {
                                display: flex;
                                flex-wrap: wrap;
                                align-items: center;
                                gap: 12px 25px;
                                & > .size-change {
                                    color: #CD1D29;
                                    font-size: 12px;
                                    font-weight: 400;
                                }
                            }
                        }
                    }
                    &[data-block-type="buy-buttons"] {
                        & #cart-button-and-wishlist.cart-button-and-wishlist {
                            display: flex;
                            gap: 11px;
                            & > .button {
                                width: calc(100% - 11px - 51px);
                                height: 51px;
                                &:hover {
                                    opacity: 0.7;
                                }
                            }
                            & > .product-wishlist-mount {
                                width: 51px;
                                & > .shopify-block {
                                    & > a {
                                        display: flex;
                                        justify-content: center;
                                        align-items: center;
                                        width: 51px;
                                        height: 51px;
                                        margin: 0!important;
                                        background-color: #666666;
                                        border-radius: 0;
                                        &::before {
                                            content: '';
                                            display: block;
                                            width: 22px;
                                            height: 18px;
                                            background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASCAYAAABfJS4tAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAARpJREFUeAGtVAsRgkAQ3TMBES4CEbCBDTSCDbCBNlATqAm0AZoAGkgD3B3e6Q4M3DL4Zt7I3L197g+IgKZpEmbOLJof5HlDCkp37+rkLugcxJ5/7ky5ODOfeE6Za2bFXCIm6G7MB84yrXPOVSGDEvTUgZype6sukYMtyumJB4JiujdzR+jPkSJAZYlBd5AEFtT28RUL4L7VQopD5uPF2CKeAqmqdrI2yGhJfwD8HGH/BBnNhHjAa/P9l9jEDaZhcx76MLGs04hpitiitzkwL7CH6QTTDDHF4DrC/II+bQ2m4eU6WXZcAnYIyEc0OTQHmgJlvtfZoKqjtaoh8xX6V2LqXs0hG4t1BnNP7adSo/00zgUyvcqOmobE+ABcOZhV6ZBQ4AAAAABJRU5ErkJggg==) no-repeat center center / contain;
                                        }
                                        &:hover {
                                            opacity: 0.7;
                                        }
                                        & > .hulk_wl_icon-text {
                                            display: none;
                                        }
                                        & > .count {
                                            display: none;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        /* 追加の商品詳細 */
        & .product-content-below-gallery {
            /* 共通 */
            & .extra-info01,
            & .extra-info02,
            & .extra-info03,
            & .extra-info04,
            & .extra-info05,
            & .extra-info06,
            & .extra-info07 {
                margin-top: 50px;
                @media (max-width: 999px) {
                    margin-top: 30px;
                }
                & > h3 {
                    margin: 0;
                    padding: 0;
                    line-height: 1;
                    color: #1F1F1F;
                    font-size: 20px;
                    font-weight: 700;
                    @media (max-width: 999px) {
                        font-size: 16px;
                    }
                }
            }
            & .extra-info01 {
                & > .base {
                    margin-top: 22px;
                    & > dl {
                        display: flex;
                        flex-wrap: wrap;
                        border-top: 1px solid #EBEBEB;
                        & > dt {
                            width: 220px;
                            margin: 0;
                            padding: 15px 14px;
                            border-bottom: 1px solid #EBEBEB;
                            font-size: 12px;
                            font-weight: 400;
                            @media (max-width: 999px) {
                                width: 100%;
                                padding: 8px 8px 0 8px;
                                border: none;
                            }
                        }
                        & > dd {
                            width: calc(100% - 220px);
                            margin: 0;
                            padding: 15px 14px 15px 0;
                            border-bottom: 1px solid #EBEBEB;
                            font-size: 12px;
                            font-weight: 400;
                            @media (max-width: 999px) {
                                width: 100%;
                                padding: 0 8px 8px 8px;
                            }
                        }
                    }
                }
            }
            & .extra-info02 {
                & > .base {
                    margin-top: 29px;
                    & > table {
                        width: 100%;
                        border-top: 1px solid #DDDDDD;
                        border-left: 1px solid #DDDDDD;

                        & tr {
                            & > th {
                                padding: 15px;
                                background-color: #F9F9F9;
                                text-align: center;
                                border: none;
                                border-right: 1px solid #DDDDDD;
                                opacity: 1;
                                color: #000;
                                font-size: 16px;
                                @media (max-width: 999px) {
                                    border-right: none;
                                    border-bottom: 1px solid #DDDDDD;
                                    text-align: left;
                                    font-size: 12px;
                                }
                            }
                            & > td {
                                padding: 20px 15px;
                                border: none;
                                border-right: 1px solid #DDDDDD;
                                border-bottom: 1px solid #DDDDDD;
                                text-align: center;
                                line-height: 1;
                                font-size: 30px;
                                font-weight: 700;
                                @media (max-width: 999px) {
                                    font-size: 20px;
                                }
                                &:has(.group) {
                                    padding: 20px 0;
                                }
                                & .sub {
                                    display: block;
                                    margin-bottom: 5px;
                                    font-size: 12px;
                                    font-weight: 400;
                                    @media (max-width: 999px) {
                                        font-size: 10px;
                                    }
                                }
                                & small {
                                    display: inline-block;
                                    margin-left: 5px;
                                    font-size: 16px;
                                    font-weight: 700;
                                    @media (max-width: 999px) {
                                        font-size: 12px;
                                    }
                                }
                                & > .group {
                                    display: grid;
                                    grid-template-columns: 1fr auto 1fr auto 1fr;
                                    width: 100%;
                                    & > .left {
                                        grid-column: 2;
                                        white-space: nowrap;
                                    }
                                    & > .middle {
                                        grid-column: 3;
                                        &::before {
                                            content: '';
                                            display: block;
                                            width: 1px;
                                            height: 100%;
                                            margin: 0 auto;
                                            background-color: #DEDEDE;
                                        }
                                    }
                                    & > .right {
                                        grid-column: 4;
                                        white-space: nowrap;
                                    }
                                }
                            }
                        }
                    }
                    & > dl {
                        display: flex;
                        flex-wrap: wrap;
                        border-top: 1px solid #EBEBEB;
                        & > dt {
                            width: 220px;
                            margin: 0;
                            padding: 15px 14px;
                            border-bottom: 1px solid #EBEBEB;
                            font-size: 12px;
                            font-weight: 400;
                            @media (max-width: 999px) {
                                width: 100%;
                                padding: 8px 8px 0 8px;
                                border: none;
                            }
                        }
                        & > dd {
                            width: calc(100% - 220px);
                            margin: 0;
                            padding: 15px 14px 15px 0;
                            border-bottom: 1px solid #EBEBEB;
                            font-size: 12px;
                            font-weight: 400;
                            @media (max-width: 999px) {
                                width: 100%;
                                padding: 0 8px 8px 8px;
                            }
                        }
                    }
                }
            }
            & .extra-info03 {
                & > .base {
                    margin-top: 36px;
                    @media (max-width: 999px) {
                        margin-top: 20px;
                    }
                    & > .item {
                        display: flex;
                        border-bottom: 1px solid #EBEBEB;
                        @media (max-width: 999px) {
                            flex-direction: column;
                            padding: 10px 0;
                        }
                        &:first-child {
                            border-top: 1px solid #EBEBEB;
                        }
                        & > .text01 {
                            display:flex;
                            align-items: center;
                            width: 300px;
                            font-size: 16px;
                            font-weight: 700;
                            @media (max-width: 999px) {
                                width: 100%;
                                font-size: 14px;
                            }
                        }
                        & > .text02 {
                            display:flex;
                            align-items: center;
                            width: 200px;
                            @media (max-width: 999px) {
                                width: 100%;
                                font-size: 12px;
                            }
                            & > img {
                            }
                        }
                        & > .text03 {
                            display:flex;
                            flex-wrap: wrap;
                            align-items: center;
                            padding: 14px 14px 14px 0;
                            font-size: 14px;
                            font-weight: 400;
                            @media (max-width: 999px) {
                                font-size: 12px;
                                padding: 0;
                            }
                            & > strong {
                                width: 100%;
                                font-weight: 700;
                            }
                        }
                    }
                }
            }
            & .extra-info04 {
                display: flex;
                flex-wrap: wrap;
                gap: 26px 40px;
                @media (max-width: 999px) {
                    gap: 12px 20px;
                }
                & > dl {
                    width: calc(50% - 20px);
                    @media (max-width: 999px) {
                        width: 100%;
                    }
                    & > dt {
                        display: flex;
                        justify-content: space-between;
                        font-size: 12px;
                        font-weight: 700;
                        @media (max-width: 999px) {
                            font-size: 10px;
                        }
                        & > small {
                            color: #666666;
                            font-size: 10px;
                            font-weight: 400;
                            @media (min-width: 1000px) {
                                display: none;
                            }
                        }
                    }
                    & > dd {
                        margin-top: 24px;
                        position: relative;
                        color: #42A8C7;
                        font-size: 12px;
                        font-weight: 700;
                        @media (max-width: 999px) {
                            margin-top: 16px;
                        }
                        &::before,
                        &::after {
                            content: '';
                            display: block;
                            width: 100%;
                            height: 6px;
                            position: absolute;
                            top: -12px;
                            left: 0;
                            border-radius: 3px;
                            @media (max-width: 999px) {
                                top: -10px;
                            }
                        }
                        &::before {
                            background-color: #DFDFDF;
                            z-index: 1;
                        }
                        &::after {
                            width: calc(var(--rating) / 5 * 100%);
                            background-color: #42A8C7;
                            z-index: 2;
                        }
                    }
                }
            }
            & .extra-info05 {
                & > details {
                    border-bottom: 1px solid #DDDDDD;
                    &:nth-of-type(1) {
                        margin-top: 26px;
                        border-top: 1px solid #DDDDDD;
                    }
                    & > summary {
                        padding: 20px 56px 20px 20px;
                        position: relative;
                        cursor: pointer;
                        font-size: 15px;
                        font-weight: 500;
                        @media (max-width: 999px) {
                            padding: 16px 40px 16px 16px;
                            font-size: 14px;
                        }
                        &::after {
                            content: '';
                            display: block;
                            width: 10px;
                            height: 5px;
                            position: absolute;
                            top: 28px;
                            right: 30px;
                            background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAGCAYAAAAVMmT4AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAGRJREFUeAGFT8sJgDAMbfUeyATJCK7iCE7lGM7gBLpBc/QYJ4jNQRBtbSDweB8eLxDRxsxD+DnX3dfFGCczW2oB51133zOZ3oEa/xFKxv4Gqnog4uqVAHDm2jn/KCJ7aIxJpQ0XjL8mW01tU9wAAAAASUVORK5CYII=) no-repeat center center / contain;
                            @media (max-width: 999px) {
                                right: 20px;
                            }
                        }
                    }
                    &[open] {
                        & > summary {
                            &::after {
                                transform: rotate(180deg);
                            }
                        }
                    }
                    & > div {
                        padding: 0px 30px 20px 20px;
                        @media (max-width: 999px) {
                            padding: 0px 20px 16px 16px;
                        }
                    }
                }
            }
            & .extra-info06 {
                @media (max-width: 999px) {
                    overflow-x: scroll;
                }
                & > table {
                    margin-top: 24px;
                    @media (max-width: 999px) {
                        min-width: 614px;
                    }
                    & > thead {
                        & > tr {
                            & > th {
                                padding: 9px 20px;
                                border: none;
                                background-color: #000;
                                opacity: 1;
                                text-align: center;
                                color: #fff;
                                font-size: 14px;
                                font-weight: 700;
                                &:first-child {
                                    text-align: left;
                                }
                                &:nth-of-type(2) {
                                    background-color: #147F9F;
                                }
                            }
                        }
                    }
                    & > tbody {
                        & > tr {
                            & > td {
                                padding: 20px 15px;
                                border: none;
                                border-bottom: 1px solid #CCCCCC;
                                text-align: center;
                                font-size: 14px;
                                &:first-child {
                                    text-align: left;
                                }
                                &:nth-of-type(2) {
                                    background-color: #E8F2F5;
                                    font-weight: 700;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

/* スタッフレビュー */
.section-staff-review {
    padding: 51px 62px 46px;
    background-color: #F9F9F9;
    overflow: hidden;
    @media (max-width: 999px) {
        padding: 37px 20px 52px;
    }
    &:not(:has(div)) {
        display: none;
    }
    & > .inner {
        max-width: 1260px;
        margin: 0 auto;
        & > h3 {
            font-size: 24px;
            font-weight: 700;
            @media (max-width: 999px) {
                font-size: 18px;
            }
        }
        & > .lead {
            line-height: 2;
            font-size: 20px;
            font-weight: 400;
            @media (max-width: 999px) {
                color: #6A6A6A;
                font-size: 14px;
            }
        }
        .staff-review-splide {
            margin-top: 64px;
            @media (max-width: 999px) {
                margin-top: 32px;
            }
            .splide__track {
                overflow: visible;
            }
            .splide__slide {
                margin: 0;
                padding: 0;
                list-style: none;
                border-radius: 12px;
                overflow: hidden;
                background-color: #fff;
            }
            .thumb {
                line-height: 0;
                & > img {
                    width: 100%;
                    height: auto;
                    aspect-ratio: 1 / 1;
                    object-fit: cover;
                    display: block;
                }
            }
            .group {
                padding: 20px;
                & > h4 {
                    color: #999999;
                    font-size: 12px;
                    font-weight: 700;
                }
                & > .staff-review__text {
                    display: -webkit-box;
                    -webkit-box-orient: vertical;
                    -webkit-line-clamp: 3;
                    overflow: hidden;
                    margin-top: 6px;
                    font-size: 14px;
                    font-weight: 400;
                    &.is-expanded {
                        display: block;
                        -webkit-line-clamp: unset;
                        overflow: visible;
                    }
                }
                & > .btn01 {
                    margin-top: 12px;
                    text-align: right;
                    &[hidden] {
                        display: none;
                    }
                    & > .staff-review__more {
                        display: inline-flex;
                        width: 88px;
                        height: 32px;
                        justify-content: center;
                        align-items: center;
                        padding: 0 0 4px;
                        border: none;
                        background-color: #000;
                        border-radius: 16px;
                        color: #fff;
                        font-size: 14px;
                        font-weight: 400;
                        cursor: pointer;
                        &[hidden] {
                            display: none;
                        }
                    }
                }
            }
            .staff-review__controls {
                display: flex;
                flex-wrap: wrap;
                justify-content: flex-end;
                align-items: center;
                gap: 26px;
                margin-top: 24px;
                @media (max-width: 999px) {
                    display: none;
                }
            }
            .splide__arrows {
                display: flex;
                gap: 8px;
                flex-shrink: 0;
                order: 2;
            }
            .splide__arrow {
                position: static;
                transform: none;
                width: 40px;
                height: 40px;
                background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAABEhJREFUeAHFWUtLG1EUPkl8o5IiiE+aIkjBjS4UddN0pdsudNuCoEsfmy41f8DqXsG1Lrp1Z7pSUDFVRBA14wNFRRvfxtf0+24zwUo0mckk+eB6Z8aZuV/O655zxiEWMT8/78VU73A4PmHU67ruxrk78u8QhsaB678x+xsbG/1iAQ4zNy8tLbmfnp56sWhfYWGhu6CgQIqKiiQ/P19cLpdkZWWp+x4eHuTu7k6Ni4sLNW5ubjQSvb+/97W0tGiJrpkQwQixQafT2VdaWiolJSWSm5srZhAOh+Xg4ECRBfGJRInGJQhV9kGFg+Xl5W6SM6RkFSR6cnJCshp+tK+pqWlCrGJxcfHH8vKyfnV1pduN29tbne/mGm9xiClBqvTx8fEnVOmtqqpKWmqvAWuIpmkSCoUCsOHPDQ0NoZf3OF95cIbkPB5PysgRdKyamhradD0FktBDFPnGxoaebgSDwbjqJrlvtAt4mJ5uIDQpm6RTPucUtUHYnQdeNVNXV+cxG0LswvX1taytrYWg+g+GPUZtEDYwVFZWljFyBAM/wxljrnFNSZDSA+tgbW2tZJIgQc9eWVnh4TtK0Rm5OMQtK9PkCHo2NwTYpLJFRZAbPkQrycLn80lra6vs7e1JMuBWCk69PHYyK8nLy7PF9lZXV2V3d1fa2trUsVWQCzTqJjdK0Ev12oHJyUnp6uqS8/NzaW9vl/HxcbEKZkhAvau7u7sP6v0IKYod8Hq9ap6bmxO/309VCbIWMQuERjk9PQ27enp6viO8lGVnZ4tdMAiR5OzsrCWSfOb4+DhPFhYW/jCKpwJQuY5kQ43+/n797Ows4WfJidyYCbjp2mZAbx0bGzP1zNTUlDAzGhgYSOj+CCe3UyygsrJSzKK4uFh5t2mkSsU7Ozt6c3OzUi/sT0f4MfW8oWJK8IxFjp1gLOzs7FQBu7q6WoUfqtcMWBoAmhNkA6i4xC4wQDMGkhwyI5menjZNjmBFCG7blKCflZYdoCOQHAN1R0eHIkfbs4IIpwAJ2iZBY+dASJHh4WFJBpeXl5z86oTGyCrLDseA1PRkAfujgwTJTYUZXBtlrZos6BCWQskL7O/vc/LzjyKIym3k6OhIJYuZBp2D6mXngeeKIDNXkBs9PDyUTIOahIonjLZIdCfB1jKEdkSIhUumQOlBvZohPSJKkFKELfq2trYyomquub6+LuzXvNlUgveMsIhON9gs4NqSCHDjTDpJoj9DckuxuMTMZmCPX2Csgc3NzZSqm+/e3t5mYvqLzSMxC4ocNaoKnHYDzqjz3fHUGreByX4NJjYwPSwHc3JyJBlQaoy58FbllOhdJ0eQYOeBxT3Kwa/oTUtFRYVpokyfUAQpckjvRhnWYvUDLRF8SZSFPspCD8myZCVZ1rJG6UApMcdkEhJpoHOmxEa5ayVCzBLB54h8huDgpwgP5vfy/2cIVkgB+benBqx+hvgLMtNUeSpCZ6YAAAAASUVORK5CYII=) no-repeat center center / contain;
                opacity: 1;
                &:disabled {
                    opacity: 0.3;
                }
                &::before {
                    display: none;
                }
                &.splide__arrow--prev {
                    transform: rotate(180deg);
                }
            }
            .staff-review__progress {
                width: 100%;
                height: 8px;
                order: 1;
                overflow: hidden;
            }
            .staff-review__progress-bar {
                display: block;
                width: 30px;
                height: 100%;
                background: #999;
                border-radius: 4px;
                transition: width 0.15s linear;
            }
        }
    }
}

/* Product ATC: availability status (restock / discontinued / coming soon) */
.buy-buttons__restock-note {
    margin: 8px 0 0;
    font-size: 12px;
    line-height: 1.5;
    text-align: center;
    color: #1a1a1a;
}

.shopify-section:has(.product-form--hide-bis) #AmpAppBis,
.shopify-section:has(.product-form--hide-bis) [id*="AmpAppBis" i],
.shopify-section:has(.product-form--hide-bis) [id*="amp-bis" i],
.shopify-section:has(.product-form--hide-bis) [class*="amp-bis" i],
.shopify-section:has(.product-form--hide-bis) [id*="BIS_trigger"],
.shopify-section:has(.product-form--hide-bis) .bis-form,
.product-form--hide-bis #AmpAppBis,
.product-form--hide-bis [id*="amp-bis" i],
.product-form--hide-bis [class*="amp-bis" i] {
    display: none !important;
}

/* サイズの選び方 */
#open-size-chart {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 108px;
    height: 23px;
    background-color: #000;
    border-radius: 5px;
    text-decoration: none;
    line-height: 1;
    color: #fff;
    font-size: 12px;
    font-weight: 500;
}

/* 商品紹介 */
.custom-info01 {
    & > .title {
        font-size: 20px;
        font-weight: 700;
        @media (max-width: 999px) {
            font-size: 16px;
        }
    }
    & > .lead {
        margin-top: 14px;
        font-size: 15px;
        @media (max-width: 999px) {
            font-size: 14px;
        }
    }
    & > .group {
        margin-top: 30px;
        border-left: 3px solid #000;
        padding: 5px 0 5px 23px;
        & > .title {
            font-size: 18px;
            font-weight: 700;
            @media (max-width: 999px) {
                font-size: 15px;
            }
        }
        & > .txt {
            margin-top: 5px;
            font-size: 14px;
            @media (max-width: 999px) {
                font-size: 12px;
            }
        }
        & + .group {
            margin-top: 19px;
        }
    }
}

/* 店舗在庫モーダル */
#store-inventory-modal.store-inventory-modal {
    background: rgba(0, 0, 0, 0.7);
    & .store-inventory-modal__close {
        top: 48px;
        right: 46px;
    }
    & > .store-inventory-modal__panel {
        width: min(500px, calc(100% - 32px));
        max-height: min(80vh, 720px);
        padding: 0;
        & > .store-inventory-modal__title {
            margin: 0;
            padding: 30px 30px 0;
            line-height: 1;
            font-size: 16px;
            font-weight: 700;
            @media (max-width: 999px) {
                padding: 27px 14px 0;
            }
        }
        & > .tab {
            width: 100%;
            margin-top: 28px;
            padding: 0 30px;
            border-bottom: 1px solid #DDDDDD;
            @media (max-width: 999px) {
                padding: 0 14px;
            }
            & > ul {
                display: flex;
                flex-wrap: nowrap;
                margin: 0;
                padding: 0;
                & > li {
                    padding: 0;
                    border-bottom: 3px solid transparent;
                    list-style: none;
                    & > label {
                        display: block;
                        padding: 0px 8px 15px;
                        font-size: 14px;
                        @media (max-width: 999px) {
                            padding: 0px 6px 10px;
                            font-size: 13px;
                        }
                    }
                    & > input {
                        display: none;
                    }
                    &:has(input:checked) {
                        & > label {
                            border-bottom: 3px solid #000;
                        }
                    }
                }
            }
        }
        & #omni-hub-stock {
            & > div {
                padding: 0 30px;
                & > div {
                    display: none;
                }
                & > table {
                    margin-top: 33px;
                    margin-bottom: 0;
                    @media (max-width: 999px) {
                        margin-top: 28px;
                    }
                    & tr {
                        & > th {
                            display: flex;
                            align-items: center;
                            gap: 10px;
                            width: auto;
                            border: none;
                            opacity: 1;
                            color: #000;
                            font-size: 14px;
                            @media (max-width: 999px) {
                                font-size: 12px;
                            }
                            &::before {
                                content: '';
                                width:13px;
                                height: 13px;
                                background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAJBJREFUeAGdklENgDAMRAtBwCRMAhKQgAQkIAEc4IAhAQVIQAKTMAfQhm4s+1jDLnnJmvaaazKAAlVCXyNDVDtk8UWPXBF+UPF7RG7uBU3JxlhkPBHjTTXkRYYD2XkxSKbUQPfM1GgyJrpzg+9wxxGzJpPUGrFSvFQr0v01BcXxFEcQ5X9EC+8NKjNrgeMV6QHe9xiRjAzYnwAAAABJRU5ErkJggg==) no-repeat center center / contain;
                            }
                        }
                        & > td {
                            width: auto;
                            border: none;
                            color: #000;
                        }
                    }
                }
            }
        }
        /* 北海道が選択されているとき */
        &:has(#store-inventory-modal-tab-hokkaido:checked) {
            & #omni-hub-stock {
                & tr:not(.hokkaido) {
                    display: none;
                }
                & tr.hokkaido:nth-child(odd of .hokkaido) {
                    background-color: #F5F5F5;
                }
            }
        }
        /* 東北が選択されているとき */
        &:has(#store-inventory-modal-tab-tohoku:checked) {
            & #omni-hub-stock {
                & tr:not(.tohoku) {
                    display: none;
                }
                & tr.tohoku:nth-child(odd of .tohoku) {
                    background-color: #F5F5F5;
                }
            }
        }
        /* 関東が選択されているとき */
        &:has(#store-inventory-modal-tab-kanto:checked) {
            & #omni-hub-stock {
                & tr:not(.kanto) {
                    display: none;
                }
                & tr.kanto:nth-child(odd of .kanto) {
                    background-color: #F5F5F5;
                }
            }
        }
        /* 中部が選択されているとき */
        &:has(#store-inventory-modal-tab-chubu:checked) {
            & #omni-hub-stock {
                & tr:not(.chubu) {
                    display: none;
                }
                & tr.chubu:nth-child(odd of .chubu) {
                    background-color: #F5F5F5;
                }
            }
        }
        /* 近畿が選択されているとき */
        &:has(#store-inventory-modal-tab-kinki:checked) {
            & #omni-hub-stock {
                & tr:not(.kinki) {
                    display: none;
                }
                & tr.kinki:nth-child(odd of .kinki) {
                    background-color: #F5F5F5;
                }
            }
        }
        /* 中国が選択されているとき */
        &:has(#store-inventory-modal-tab-chugoku:checked) {
            & #omni-hub-stock {
                & tr:not(.chugoku) {
                    display: none;
                }
                & tr.chugoku:nth-child(odd of .chugoku) {
                    background-color: #F5F5F5;
                }
            }
        }
        /* 四国が選択されているとき */
        &:has(#store-inventory-modal-tab-shikoku:checked) {
            & #omni-hub-stock {
                & tr:not(.shikoku) {
                    display: none;
                }
                & tr.shikoku:nth-child(odd of .shikoku) {
                    background-color: #F5F5F5;
                }
            }
        }
        /* 九州が選択されているとき */
        &:has(#store-inventory-modal-tab-kyusyu:checked) {
            & #omni-hub-stock {
                & tr:not(.kyusyu) {
                    display: none;
                }
                & tr.kyusyu:nth-child(odd of .kyusyu) {
                    background-color: #F5F5F5;
                }
            }
        }
        & > .store-inventory-modal__notes {
            padding: 30px;
            @media (max-width: 999px) {
                padding: 26px 14px;
            }
            & > p {
                padding-left: 1em;
                text-indent: -1em;
                line-height: 1.8;
                font-size: 12px;
                font-weight: 400;
                @media (max-width: 999px) {
                    font-size: 10px;
                }
                & + p {
                    margin-top: 1em;
                }
            }
        }
    }
}

/* スタッフのおすすめ */
.shopify-section--related-products {
    & .section-stack {
        max-width: 1260px;
        margin: 0 auto;
        & > .section-header {
            justify-self: flex-start;
            & .h2 {
                font-size: 24px;
                @media (max-width: 999px) {
                    font-size: 18px;
                }
            }
        }
    }
}

