/** Shopify CDN: Minification failed

Line 14:0 All "@import" rules must come first

**/
@font-face {
    font-family: "GenInterface";
    src: url("{{ 'GenInterfaceJP-Regular.ttf' | asset_url }}") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@300..900&display=swap');

:root {
    --heading-font-family: "Figtree", "GenInterface", sans-serif;
    --text-font-family: "GenInterface", "Figtree", sans-serif;
    --border-color: rgba(0, 0, 0, 0.1);
    --color-white: #FFF;
    --color-black: #000;
    --color-sale: #cd0003;
    --color-border: 0, 0, 0, 0.1;
    --color-sub-bg: #f3f3f3;

    --color-sub-bg: #f3f3f3;
    --color-border: #d8d8d8;
    --color-border-light: #e5e5e5;
    
    --color-gray: #d8d8d8;
    --color-navy-deep: #000000;
    --color-badge: #000000;
    --color-stock-in: #2ba24c;
    --color-stock-low: #e08a00;
}

/* フォントサイズ */

.figtree {
    font-family: "Figtree", sans-serif;
}

h2,
.h2,
h3,
.h3,
h4,
.h4 {
    font-weight: 400;
}

.h2 {
    font-size: 24px;
}

.fs10pc14 {
    font-size: 10px;
}

.fs11pc18 {
    font-size: 11px;
}

.fs12pc14,
.fs12pc16,
.fs12pc18 {
    font-size: 12px;
    --base-font-size: 12px;
}

.fs13 .fs13pc15,
.fs13pc16,
.button.fs13pc16 {
    font-size: 13px;
}

.fs14,
.fs14pc16,
.fs14pc18,
.fs15pc18 {
    font-size: 14px;
}

.fs15 {
    font-size: 15px;
}

.fs16,
.fs16pc20 {
    font-size: 16px;
}

.fs18pc22,
.fs18pc24 {
    font-size: 18px;
}

.fs22pc32 {
    font-size: 22px;
}

.fs24pc36 {
    font-size: 24px;
}

.fs28pc42 {
    font-size: 28px;
}

.fs36pc60 {
    font-size: 36px;
}

.fs50pc70 {
    font-size: 50px;
}

@media screen and (min-width: 1000px) {
    .h2 {
        font-size: 36px;
    }

    .fs10pc14,
    .fs12pc14 {
        font-size: 14px;
    }

    .fs13pc15 {
        font-size: 15px;
    }

    .fs12pc16,
    .fs13pc16,
    .button.fs13pc16,
    .fs14pc16 {
        font-size: 16px;
    }

    .fs11pc18,
    .fs12pc18,
    .fs14pc18 {
        font-size: 18px;
        --base-font-size: 18px;
    }

    .fs16pc20 {
        font-size: 20px;
    }

    .fs18pc22 {
        font-size: 22px;
    }

    .fs18pc24 {
        font-size: 24px;
    }

    .fs22pc32 {
        font-size: 32px;
    }

    .fs24pc36 {
        font-size: 36px;
    }

    .fs28pc42 {
        font-size: 42px;
    }

    .fs36pc60 {
        font-size: 60px;
    }

    .fs50pc70 {
        font-size: 70px;
    }
}


.fw100 {
    font-weight: 100;
}

.fw200 {
    font-weight: 200;
}

.fw300 {
    font-weight: 300;
}

.fw400 {
    font-weight: 400;
}

.fw500 {
    font-weight: 500;
}

.fw600 {
    font-weight: 600;
}

.fw700 {
    font-weight: 700;
}

.fw800 {
    font-weight: 800;
}

.fw900 {
    font-weight: 900;
}


.lh100 {
    line-height: 1;
}

.lh110 {
    line-height: 1.1;
}

.lh120 {
    line-height: 1.2;
}

.lh130 {
    line-height: 1.3;
}

.lh140 {
    line-height: 1.4;
}

.lh150 {
    line-height: 1.5;
}

.lh160 {
    line-height: 1.6;
}

.lh170 {
    line-height: 1.7;
}

.lh180 {
    line-height: 1.8;
}

.lh190 {
    line-height: 1.9;
}

.lh200 {
    line-height: 2.0;
}

.lh210 {
    line-height: 2.1;
}


.text-left {
    text-align: left;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}


/* マージン */
.mb0 {
    margin-bottom: 0;
}

.hover-opacity {
    transition: opacity 0.3s;
}
.hover-opacity:hover {
  opacity: 0.7;
}


.button:not(.button--text),
.shopify-challenge__button,
#shopify-product-reviews .spr-summary-actions-newreview,
#shopify-product-reviews .spr-button {
    --text-font-bold-weight: 400;
    text-transform: none;
    letter-spacing: 0;
}

.button {
    --button-height: 38px;
    padding-inline: 36px;
}

.button--primary,
.button--outline {
    transform: none !important;
    background-image: unset !important;
}

.button--outline {
    border: 1px solid rgb(var(--button-text-color));
    transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
.button--outline:hover {
    background-color: rgb(var(--button-text-color));
    color: rgb(var(--button-background));
}

.label {
    padding: 4px 8px 5px;
    border-radius: 1px;
}
.label--preorder {
    background-color: #FFF;
}
.label--soldout {
    background: rgb(var(--product-sold-out-accent));
}

.c-wrap {
    padding-inline: var(--container-gutter);
}

.c-container {
    max-width: 1440px;
    margin-inline: auto;
}

@media screen and (min-width: 1000px) {
    .button {
        --button-height: 58px;
        max-width: 460px;
        width: 100%;
    }

    .label {
        padding: 6px 11px;
    }

    .c-wrap {
        --container-gutter: 80px;        
    }
}


.section {
    margin-block: 0;
    padding-top: var(--c-padding-top);
    padding-bottom: var(--c-padding-bottom);
}

.section__header {
    margin-bottom: 24px;
}

.section__header--full {
    max-width: 100%;
}

@media screen and (min-width: 1000px) {
    .section__header {
        margin-bottom: 42px;
    }
}


.announcement-bar {
    justify-content: space-between;
    padding-inline-start: 12px;
    padding-inline-end: 12px;
}

.announcement-bar__list .tap-area {
    display: flex;
    align-items: center;
    justify-content: center;
}

.announcement-bar__message {
    padding-block: 5px;
}

@media screen and (min-width: 741px) {
    .announcement-bar {
        padding-inline: var(--container-gutter);
        justify-content: space-between;
        position: relative;
    }
}


.header__logo:not(:has(.is-sticky)) {
    position: absolute;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
}

.header-switch {
    margin-right: 35px;
}

.header-switch__inner {
    padding: 4px;
    background-color: #EBEBEB;
    border-radius: 50px;
    display: grid;
    grid-template-columns: repeat(2, 85px);
    gap: 4px;
}

.header-switch__button {
    display: block;
    border-radius: 50px;
    min-height: 34px;
    line-height: 34px;
    font-size: 13px;
    background-color: #FFF;
}

.header-switch__button.casual.is-active {
    background-color: rgb(var(--theme-accent));
    color: #FFF;
}

.header-switch__button.golf.is-active {
    background-color: rgb(var(--golf-color));
    color: #FFF;
}

.header__cart-count {
    background: rgb(var(--theme-accent));
}


.mobile-nav__image {
    margin-bottom: 6px;
}
.mobile-nav__image-heading {
    margin-top: 0;
}
.mobile-nav .mobile-nav .mobile-nav__item,
.mobile-nav .mobile-nav .mobile-nav .mobile-nav__item {
    margin-block-end: 12px;
}
.animated-plus {
    width: 11px;
    height: 11px;
}
.animated-plus:before {
    width: 11px;
    height: 1px;
}
.animated-plus:after {
    width: 1px;
    height: 11px;
}
.drawer__footer {
    background-color: #051C2C;
    color: #FFF;
}
.drawer__footer .account-button__avatar {
    background-color: #FFF;
    color: #051C2C;
}

@media screen and (max-width: 999px) {
    .header {
        --container-gutter: 16px;
    }
    .header__wrapper {
        position: relative;
        padding-top: 14px;
        padding-bottom: 73px;
    }
    .header-switch {
        width: 100%;
        margin-right: 0;
        position: absolute;
        left: 0;
        bottom: 16px;
        z-index: 1;
    }
    .header-switch__inner {
        grid-template-columns: repeat(2, 1fr);
        gap: 3px;
    }
    .header__logo {
        z-index: 2;
    }
    .header__icon-list shopify-account {
        display: block;
    }
    .header__icon-wrapper:not(.hidden-pocket) {
        display: flex;
        align-items: center;
        justify-content: center;
    }
}
@media screen and (min-width: 741px) {
    /* .header__wrapper {
        padding: 14px 0;
    } */

    .header__icon-list {
        gap: 28px;
    }

    .header__icon-wrapper {
        display: flex;
        align-items: center;
        justify-content: center;
    }
}
@media screen and (min-width: 1000px) {
    .header__wrapper {
        padding: 14px 0;
    }
}

/* ===========================================================
メガメニュー
=========================================================== */
.mega-menu {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.mega-menu__inner {
    padding-top: 60px;
    padding-bottom: 75px;
}

.mega-menu__column:first-child .fs14pc18,
.mega-menu__column:first-child .fs13pc15 {
    font-size: 16px;
    font-weight: 300;
}

.mega-menu__column:first-child .fs14pc18 {
    margin-block-end: 6px;
}

.mega-menu__column .linklist {
    max-height: 165px;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 6px 45px;
}

.mega-menu__column .linklist:has(> li:nth-child(6)) {
    min-width: 240px;
}

.mega-menu__column .linklist .linklist__item {
    padding-block-start: 0;
}

.mega-menu__images-wrapper {
    --mega-menu-image-gap: min(1.875vw, 30px);
}

.mega-menu__image-wrapper {
    margin-block-end: 12px
}

.mega-menu__heading {
    margin-block-start: 0;
}


@media screen and (max-width: 740px) {
    .button-group .button {
        padding: 1px 24px;
        letter-spacing: 0.03em;
    }
}
@media screen and (min-width: 741px) {
    .button-group__wrapper {
        grid-template-columns: 1fr;
        gap: 0;
        display: inline-grid;
    }
}


.slideshow__slide-inner.has_bottom_overlay::after {
    content: '';
    width: 100%;
    height: 50%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 100%);
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
}

.slideshow__slide-inner.has_bottom_overlay .container {
    position: relative;
    z-index: 2;
}

.shopify-section--slideshow .heading--large {
    margin-block-start: 0;
    margin-block-end: 6px;
    letter-spacing: 0.02em;
}

.shopify-section--slideshow .subheading {
    margin-bottom: 12px;
}

.shopify-section--slideshow .heading+.button-group {
    margin-block-start: 16px;
}

.slideshow__nav {
    bottom: 25px;
}

.slideshow__progress-bar {
    flex-basis: 8px;
    height: 8px;
    margin: 0 4px;
    padding: 0;
}

.slideshow__progress-bar::before,
.slideshow__progress-bar::after {
    height: 8px;
    border-radius: 50%;
}

.slideshow__progress-bar::before {
    border: 1px solid rgba(255, 255, 255, 0.25);
    background-color: transparent;
}

.slideshow__progress-bar[aria-current="true"]::before {
    border: 1px solid #FFF;
}

@media screen and (max-width: 740px) {
    .slideshow--fit {
        --slideshow-min-height: 0;
    }
}
@media screen and (min-width: 1000px) {
    .shopify-section--slideshow {
        --vertical-breather: 50px;
    }

    .slideshow__slide:not(:only-child) .slideshow__text-wrapper--bottom {
        padding-block-end: 50px;
    }

    .shopify-section--slideshow .heading--large {
        margin-block-end: 14px;
    }

    .shopify-section--slideshow .subheading {
        margin-bottom: 13px;
    }

    .shopify-section--slideshow .heading+.button-group {
        margin-block-start: 32px;
    }

    .shopify-section--slideshow .button {
        --button-height: 51px;
    }

    .slideshow__nav {
        justify-content: flex-end;
    }

    .slideshow__progress-bar {
        flex-basis: 8px;
    }
}


.swiper.c-clideshow-multi {
    padding-bottom: 32px;
}
.swiper.c-clideshow-multi .swiper-pagination {
    --swiper-pagination-bottom: 0;
}
.swiper.c-clideshow-multi .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
    background-color: transparent;
    border: 1px solid rgba(0, 0, 0, 0.1);
    opacity: 1;
}
.swiper.c-clideshow-multi .swiper-pagination-bullet-active {
    --swiper-pagination-color: #000;
}

.swiper.c-clideshow-multi .swiper-button-next, 
.swiper.c-clideshow-multi .swiper-button-prev {
    --swiper-navigation-size: min(5vw, 80px);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #FFF;
    border-radius: 50%;
    --swiper-navigation-sides-offset: var(--container-gutter);
}
.swiper-navigation-icon {
    display: none;
}
.swiper.c-clideshow-multi svg {
    fill: transparent;
    color: #000;
    width: 9px;
}
@media screen and (min-width: 1000px) {
    .swiper.c-clideshow-multi {
        padding-bottom: 34px;
    }
    .swiper.c-clideshow-multi .swiper-pagination-bullet {
        --swiper-pagination-bullet-width: 10px;
        --swiper-pagination-bullet-height: 10px;
        --swiper-pagination-bullet-horizontal-gap: 5px;
    }
}


.c-top-mv__banner {
    position: fixed;
    /* ドロワー（.drawer: z-index 10）より下、ページコンテンツより上 */
    z-index: 5;
    top: calc(50% + 220px);
    right: 4px;
    width: 116px;
    height: 116px;

    @media screen and (min-width: 741px) {
        top: calc(50% + 155px);
        right: 41px;
        width: 210px;
        height: 210px;
    }
}

.c-top-mv__banner[hidden] {
    display: none;
}

.c-top-mv__banner-link {
    display: block;
    position: absolute;
    inset: 6px 0 0 0;
    width: 110px;
    height: 110px;
    overflow: hidden;
    border-radius: 2px;
    transition: transform 0.3s ease-in-out;

    @media screen and (min-width: 741px) {
        inset: 10px 0 0 0;
        width: 200px;
        height: 200px;
    }
}

@media (any-hover: hover) {
    .c-top-mv__banner-link:hover {
        transform: scale(1.05);
    }
}

.c-top-mv__banner-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.c-top-mv__banner-close {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    background-color: var(--color-black);
    border: 0;
    border-radius: 50%;
    color: var(--color-white);
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    transition: transform 0.3s ease-in-out;

    @media screen and (min-width: 741px) {
        width: 35px;
        height: 35px;
        font-size: 18px;
    }
}

@media (any-hover: hover) {
    .c-top-mv__banner-close:hover {
        transform: scale(1.1);
    }
}





/* Feature */
.article-item__image-container {
    margin-block-end: 16px;
}

.article-list {
    --article-list-column-gap: 15px;
}
.article-item__image-container {
    border-radius: 4px;
    position: relative;
    overflow: hidden;
}

@media screen and (min-width: 1000px) {
    .article-list {
        --article-list-row-gap: 48px;
        --article-list-column-gap: 30px;
    }

    .article-list--section {
        grid-template-columns: repeat(4, 1fr);
        justify-content: safe center;
    }

    .article-item__image-container {
        margin-block-end: 16px;
    }
}

@media screen and (min-width: 1200px) {
    .article-list {
        margin-inline: 0 !important;
    }
}


.list-collections__item-list {
    grid-template-columns: repeat(var(--c-list), 1fr);
    gap: 26px 14px;
}

.list-collections__item-image-wrapper {
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 4px;
}
.list-collections__item-image {
    min-height: unset;
}

@media screen and (min-width: 1200px) {
    .list-collections__item-list {
        grid-template-columns: repeat(var(--c-list), 1fr);
        gap: 48px 30px;
    }
    .list-collections__item-image-wrapper {
        margin-bottom: 10px;
    }
}


.shopify-section--hashtag .section__header {
    margin-bottom: 21px;
}

.c-hashtag {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.c-hashtag__link {
    display: block;
    padding: 10px 18px;
    background-color: #FFF;
    border: 1px solid var(--border-color);
    border-radius: 50px;
}

.c-hashtag__link.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

@media screen and (min-width: 1000px) {
    .shopify-section--hashtag .section__header {
        margin-bottom: 28px;
    }

    .c-hashtag {
        gap: 10px;
    }

    .c-hashtag__link {
        padding: 12px 23px;
    }
}


/* バナーリスト */
.c-free-bnr {
    --container-gutter: 20px;

    @media screen and (min-width: 741px) {
        --container-gutter: 40px;
    }

    @media screen and (min-width: 1000px) {
        --container-gutter: 80px;
        padding-inline: var(--container-gutter);
    }
}


/* 特集コレクション */
.product-item__ranking {
    width: 27px;
    height: 27px;
    line-height: 27px;
    border-radius: 50%;
    background-color: #FFF;
    position: absolute;
    left: 6px;
    top: 6px;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-item__ranking--1,
.product-item__ranking--2,
.product-item__ranking--3 {
    color: #FFF;
}

.product-item__ranking--1 {
    background-color: #F49F16;
}

.product-item__ranking--2 {
    background-color: #525766;
}

.product-item__ranking--3 {
    background-color: #A4570E;
}

.product-item-meta__swatch-list {
    justify-content: flex-start;
}

.prev-next-button {
    background: #051C2C;
    color: rgb(var(--prev-next-button-background, var(--root-background)));
}

.prev-next-button:not(.prev-next-button--small) {
    width: 73px;
    height: 73px;
    border-radius: 50%;
}

.c-featured-collections__progress-wrapper {
    display: block;
    /* max-width: calc(var(--container-max-width) - var(--container-gutter) * 2); */
    width: 100%;
    height: 1px;
    margin: 30px auto 0;
    background-color: rgba(0, 0, 0, 0.1);
    position: relative;
    overflow: hidden;
}

.progress-bar {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background-color: var(--color-black);
    width: 20%;
    margin-block-start: 0;
}

.product-item__image-wrapper {
    border-radius: 4px;
    position: relative;
    overflow: hidden;
}

@media screen and (max-width: 999px) {
    .product-list__inner {
        --product-list-column-gap: 15px;
    }
    .product-list__inner--scroller {
        grid-auto-columns: min(34.9vw, 250px);
    }
}
@media screen and (min-width: 1000px) {
    .shopify-section--featured-collections .container.width_full {
        max-width: 100vw;
        padding-inline: 0;
        margin-inline: 0;
    }

    .shopify-section--featured-collections .container.width_full .product-list__inner--scroller {
        --margin-start-gap: calc(var(--container-max-width) - var(--container-gutter) * 2);
        --margin-start: calc(50vw - var(--margin-start-gap) / 2);
        padding-inline: var(--margin-start);
        grid-auto-columns: calc(calc(var(--container-max-width) - var(--container-gutter) * 2) / var(--section-products-per-row, 4) - (var(--grid-gap) / var(--section-products-per-row, 4) * (var(--section-products-per-row, 4) - 1)));
        scroll-snap-type: none;
    }

    .shopify-section--featured-collections .container.width_full .product-list__prev-next {
        max-width: var(--container-max-width);
        left: 50%;
        transform: translateX(-50%);
    }

    .c-featured-collections__progress-wrapper {
        margin: 50px auto 0;
    }

    .product-list__inner--scroller {
        margin-inline-start: 0;
        margin-inline-end: 0;
    }

    .product-item__image-wrapper {
        margin-block-end: 15px;
    }

    .product-item__ranking {
        width: 44px;
        height: 44px;
        line-height: 43px;
        left: 15px;
        top: 15px;
    }
}

.c-free-bnr__inner {
    width: 100%;
    max-width: 1440px;
    margin-inline: auto;
}

.c-free-bnr__scroller {
    display: block;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;

    @media screen and (min-width: 1000px) {
        overflow: visible;
    }
}

.c-free-bnr__scroller::-webkit-scrollbar {
    display: none;
}

.c-free-bnr__scroller .scroller__inner {
    padding-inline: var(--container-gutter);

    @media screen and (min-width: 1000px) {
        padding-inline: 0;
    }
}

.c-free-bnr__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 15px;

    @media screen and (min-width: 1000px) {
        display: grid;
        grid-template-columns: repeat(var(--c-free-bnr-cols-pc, 3), minmax(0, 1fr));
        gap: 30px;
    }
}

/* News */
.shopify-section--custom-news .c-article-item {
    padding-top: 20px;
    padding-bottom: 20px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    position: relative;
}

.shopify-section--custom-news .c-article-item.has_padding {
    padding-right: 32px;
}

.shopify-section--custom-news .article__date {
    display: block;
    margin-bottom: 10px;
}

.shopify-section--custom-news .article-item__title {
    margin: 0;
}

.article-item__content a {
    transition: opacity 0.3s;
}
.article-item__content a:hover {
    opacity: 0.7;
}

.shopify-section--custom-news .article-item__content svg {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 12px;
    transition: transform 0.3s;
}
.article-item__content .article-item__title:hover + svg {
    transform: translateX(4px) translateY(-50%);
}


@media screen and (min-width: 1000px) {
    .shopify-section--custom-news .article-item__content {
        display: flex;
        align-items: center;
    }

    .shopify-section--custom-news .article__date {
        width: 110px;
        margin-bottom: 0;
    }

    .shopify-section--custom-news .article-item__title {
        width: calc(100% - 110px);
    }

    .shopify-section--custom-news .article-item__content svg {
        right: 20px;
        width: 12px;
        height: 15px;
    }
}

@media screen and (min-width: 1200px) {
    .shopify-section--custom-news .c-container {
        display: grid;
        grid-template-columns: 370px 1fr;
        position: relative;
    }

    .shopify-section--custom-news .section__header {
        margin-inline-start: 0;
        text-align: left;
    }

    .shopify-section--custom-news .section__footer {
        position: absolute;
        left: 0;
        /* left: var(--container-gutter); */
        top: 90px;
        margin-block-start: 0;
    }

    .shopify-section--custom-news .section__footer .button--outline {
        border: 1px solid rgba(var(--button-text-color), 0.1);
    }

    .shopify-section--custom-news .c-article-item {
        padding-block: 30px;
    }

    .shopify-section--custom-news .c-article-item.has_padding {
        padding-right: 52px;
    }

    .shopify-section--custom-news .c-article-item:last-child {
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    }
}


.shopify-section--scroll {
    position: relative;
}

.shopify-section--scroll .container {
    position: absolute;
    width: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.shopify-section--scroll .button:has(img) {
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-inline: auto;
    border-radius: 50%;
    padding: 0;
    transition: transform 0.3s;
}

.shopify-section--scroll .button img {
    width: 8px;
}

.shopify-section--scroll .button:hover {
    transform: scale(1.1) !important;
}

.shopify-section--scroll .heading--large {
    margin-block-start: 0;
    margin-block-end: 6px;
    letter-spacing: 0.02em;
}

.shopify-section--scroll .subheading {
    margin-bottom: 12px;
}

.shopify-section--scroll .heading+.button-group {
    margin-block-start: 16px;
}

.shopify-section--scroll {
    position: relative;
    overflow: hidden;
}

.scroll__slide-list {
    display: flex;
}

/* .scroll__slide-list>div {
    max-width: 100vw;
    flex-shrink: 0;
} */
.c-scroll__item {
    min-width: var(--image-width);
    flex-shrink: 0;
}
.scroll__slide-list>div img {
    width: var(--image-width);
}




.scroll__slide-list {
    display: flex;
    gap: var(--image-gap);
    width: max-content;
    will-change: transform;
}

.scroll__slide-list.left_to_right {
    animation: left_to_right var(--scroll-time) linear infinite;
}

.scroll__slide-list.right_to_left {
    animation: right_to_left var(--scroll-time) linear infinite;
}

.scroll__slide-list:hover {
    animation-play-state: paused;
}

.scroll__image-wrapper {
    display: block;
}

.scroll__image {
    display: block;
    max-width: none;
    height: 100%;
    width: auto;
}

@keyframes left_to_right {
    from {
        transform: translateX(-50%);
    }

    to {
        transform: translateX(0);
    }
}

/* 右から左 */
@keyframes right_to_left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}




@media screen and (min-width: 1200px) {
    .shopify-section--scroll {
        --vertical-breather: 50px;
    }

    .slideshow__slide:not(:only-child) .slideshow__text-wrapper--bottom {
        padding-block-end: 50px;
    }

    .shopify-section--scroll .heading--large {
        margin-block-end: 14px;
    }

    .shopify-section--scroll .subheading {
        margin-bottom: 13px;
    }

    .shopify-section--scroll .heading+.button-group {
        margin-block-start: 32px;
    }

    .shopify-section--scroll .button:has(img) {
        width: 74px;
        height: 74px;
    }

    .shopify-section--scroll .button img {
        width: 10px;
    }
}





/* SP 横スクロールの右余白：inner の padding-inline-end はスクロール末尾に出ないため、
   末尾に空スペーサーを足す。直前に list の flex gap(15px) が入るぶん (gutter - 15px) にして
   右余白をちょうど gutter に揃える。1000px 以上はグリッドなので対象外 */
.c-free-bnr__list::after {
    @media screen and (max-width: 999px) {
        content: "";
        flex: 0 0 calc(var(--container-gutter) - 15px);
    }
}

.c-free-bnr__item {
    flex: 0 0 277px;
    min-width: 0;

    @media screen and (min-width: 1000px) {
        flex: initial;
    }
}

.c-free-bnr__card {
    display: block;
    position: relative;
    border-radius: 4px;
    overflow: hidden;
}

.c-free-bnr__card:has(.c-free-bnr__title)::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 76px;
    background: linear-gradient(to bottom, transparent, var(--color-black));
    opacity: 0.4;
    pointer-events: none;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;

    @media screen and (min-width: 1000px) {
        height: 126px;
    }
}

.c-free-bnr__media {
    width: 100%;
    height: auto;
    overflow: hidden;
}

.c-free-bnr__image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 277 / 138.5;
    object-fit: cover;
    transition: transform 0.3s ease-in-out;

    @media screen and (min-width: 1000px) {
        aspect-ratio: 460 / 230;
    }
}

.c-free-bnr__title {
    margin: 0;
    position: absolute;
    left: 0;
    bottom: 10px;
    padding-inline: 14px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    color: var(--color-white);
    z-index: 1;

    @media screen and (min-width: 1000px) {
        font-size: 24px;
        padding-inline: 23px;
        bottom: 20px;
    }
}

@media (any-hover: hover) {
    .c-free-bnr__card:hover .c-free-bnr__image {
        transform: scale(1.05);
    }
}




/* ======================================================
フッター
====================================================== */
.footer {
    padding-block: 80px;
}

.footer-info {
    margin-bottom: 56px;
}

.footer-info__logo {
    margin-bottom: 24px;
}

.footer-info__logo img {
    width: var(--footer-logo-width);
}

.footer-info__social .social-media {
    justify-content: center;
}

.footer-info__social .social-media__item {
    box-shadow: unset;
}

.footer__image {
    width: 100% !important;
}

.link--faded--reverse {
    opacity: 0.7;
}

.link--faded--reverse:hover {
    opacity: 1;
}

.footer__aside {
    margin-block-start: 60px;
}

.footer__copyright {
    width: 100%;
    justify-content: center;
    opacity: 0.6;
}

@media screen and (max-width: 999px) {
    .footer {
        position: relative;
        overflow: hidden;
    }

    .footer__item-list {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .footer__item--links {
        max-width: 100vw !important;
        width: 100vw;
        margin-inline: calc(50% - 50vw);
        padding-inline: 20px;
    }

    .footer__item {
        border-bottom: 1px solid rgb(var(--border-color));
    }

    .footer__item:first-child {
        border-top: 1px solid rgb(var(--border-color));
    }

    .footer__item-title {
        padding-top: 25px;
        padding-bottom: 25px;
        margin: 0;
        position: relative;
    }

    .footer__item--newsletter .footer__item-title {
        padding-bottom: 12px;
    }

    .footer__item:not(.footer__item--newsletter) .footer__item-title::before {
        content: '';
        width: 9px;
        height: 1px;
        background-color: rgb(var(--heading-color));
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
    }

    .footer__item:not(.footer__item--newsletter) .footer__item-title::after {
        content: '';
        width: 1px;
        height: 9px;
        background-color: rgb(var(--heading-color));
        position: absolute;
        top: 50%;
        right: 14px;
        transform: translateY(-50%);
        transform-origin: center;
        transition: transform 0.3s;
    }

    .footer__item:not(.footer__item--newsletter) .footer__item-title:has(+.footer__item-content.active)::after {
        transform: translateY(-50%) rotate(90deg);
    }

    .footer__item-content {
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows 0.2s ease-out;
        margin-block-start: 0 !important;
    }

    .footer__item-content.active {
        grid-template-rows: 1fr;
    }

    .footer__item-content ul {
        padding-left: 10px;
        overflow: hidden;
    }

    .footer__item-content.active ul {
        padding-bottom: 30px;
    }

    .footer__item--image {
        margin-block-start: 50px;
    }
}

@media screen and (min-width: 1000px) {
    .footer {
        padding-block-start: 120px;
        padding-block-end: 130px;
    }

    .footer-info {
        margin-bottom: 112px;
    }

    .footer__item-list {
        justify-content: center;
        gap: min(5vw, 80px);
    }

    .footer-info__logo {
        margin-bottom: 40px;
    }

    .footer__aside {
        margin-block-start: 80px;
    }
}



/* ======================================================
コレクションページ
====================================================== */
.product-facet {
    margin-block-start: 0;
}
#mobile-facet-toolbar {
    background-color: #FFF;
}
#mobile-facet-toolbar .mobile-toolbar__item {
    flex: 0;
    padding-inline: 0;
}
#mobile-facet-toolbar .mobile-toolbar__item .mobile-toolbar__item-label {
    white-space: nowrap;
}
#mobile-facet-toolbar .mobile-toolbar__item:nth-child(2) {
    margin-left: auto;
}
#mobile-facet-toolbar .mobile-toolbar__item:nth-child(2) .mobile-toolbar__item-label {
    padding-inline-start: 9px;
}
#mobile-facet-toolbar .mobile-toolbar__item:last-child {
    margin-left: 25px;
}
#mobile-facet-toolbar .mobile-toolbar__item:last-child .mobile-toolbar__item-label {
    padding-inline-start: 7px;
}

.product-facet__meta-bar-item:nth-child(2) {
    margin-inline-start: auto;
    gap: 10px;
}
.product-facet__meta-bar-item:last-child {
    margin-inline-start: 0;
}

.product-facet__sort-by-title {
    padding-inline-start: 7px;
    padding-inline-end: 0;
}

@media screen and (max-width: 740px) {
    .product-list__inner:not(.product-list__inner--scroller) {
        margin-inline: 0;
    }
}
@media screen and (min-width: 741px) {
    .product-facet__meta-bar-item--filter {
        margin-inline-end: 30px;
    }
}
@media screen and (min-width: 1000px) {
    .product-facet__meta-bar-item:nth-child(2) {
        margin-inline-start: auto;
    }
    .product-facet__meta-bar-item:last-child {
        margin-inline-start: 0;
    }
}
wishlist-button-collection .wk-floating {
    z-index: 1 !important;
}

/* WK の登録時スケール演出を無効化 */
.wk-button,
.wk-button *,
.wk-button::before,
.wk-button::after,
wk-icon.wk-icon::after {
    animation: none !important;
}

/* WK デフォルトの円形疑似要素（通常・ホバー・選択すべて）を無効化 */
.wk-button::before,
.wk-button:hover::before,
.wk-button.wk-selected::before,
.wk-button::after,
.wk-button:hover::after,
.wk-button.wk-selected::after {
    content: none !important;
}

@media (any-hover: hover) {

    .wk-button:hover,
    .wk-button.wk-selected:hover {
        background: var(--color-white);
        opacity: 1;
    }
}

.product-item .wk-button {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    background-color: #FFF !important;
    border-radius: 50% !important;
    --button-offset-vertical: 9px;
    --button-offset-horizontal: -9px;
}

wk-icon.wk-icon svg {
    display: none;
}

wk-icon.wk-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 12px;
    flex-shrink: 0;
    color: inherit;
    margin-top: 1px;

    @media screen and (min-width: 1000px) {
        width: 18px;
        height: 15px;
    }
}

wk-icon.wk-icon::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 15'%3E%3Cpath fill='white' stroke='white' stroke-width='0.6' d='M8.68815 14.1158C8.60565 14.1158 8.52283 14.0852 8.45974 14.0238L1.53032 7.29543C-0.109988 5.69728 -0.109988 3.09768 1.53 1.49984C2.32427 0.725979 3.38028 0.299805 4.50391 0.299805C5.62754 0.299805 6.68355 0.725979 7.47782 1.49984L8.68815 2.67907L9.89849 1.49984C10.6931 0.725979 11.7491 0.299805 12.8727 0.299805C13.9963 0.299805 15.0524 0.725979 15.8466 1.49984C17.4866 3.09768 17.4866 5.69728 15.8466 7.29512L8.91657 14.0238C8.85348 14.0852 8.77098 14.1158 8.68815 14.1158ZM4.50391 0.93024C3.55337 0.93024 2.65945 1.29085 1.98747 1.94556C0.599842 3.29753 0.599842 5.49743 1.98747 6.8494L8.68848 13.3555L15.3898 6.84909C16.7771 5.49743 16.7771 3.29784 15.3895 1.94587C14.7172 1.29116 13.8236 0.930556 12.873 0.930556C11.9225 0.930556 11.0286 1.29116 10.3563 1.94587L8.91721 3.34796C8.79071 3.47121 8.58624 3.47121 8.45974 3.34796L7.02067 1.94587C6.34837 1.29116 5.45477 0.930556 4.50423 0.930556L4.50391 0.93024Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.wk-button.wk-selected wk-icon.wk-icon::after {
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 15'%3E%3Cpath fill='white' stroke='white' stroke-width='0.6' d='M8.68815 14.1158C8.60565 14.1158 8.52283 14.0852 8.45974 14.0238L1.53032 7.29543C-0.109988 5.69728 -0.109988 3.09768 1.53 1.49984C2.32427 0.725979 3.38028 0.299805 4.50391 0.299805C5.62754 0.299805 6.68355 0.725979 7.47782 1.49984L8.68815 2.67907L9.89849 1.49984C10.6931 0.725979 11.7491 0.299805 12.8727 0.299805C13.9963 0.299805 15.0524 0.725979 15.8466 1.49984C17.4866 3.09768 17.4866 5.69728 15.8466 7.29512L8.91657 14.0238C8.85348 14.0852 8.77098 14.1158 8.68815 14.1158Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media screen and (max-width: 440px) {
    .product-item .wk-button {
        width: 32px !important;
        min-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
        background-color: #FFF !important;
        border-radius: 50% !important;
        --button-offset-vertical: 6px;
        --button-offset-horizontal: -6px;
    }

    .page-header__text-wrapper>div {
        text-align: left;
    }
}


/* ======================================================
商品詳細ページ
====================================================== */
/* .c-breadcrumb {
    padding-inline: 20px;

    @media screen and (min-width: 741px) {
        padding-inline: 50px;
    }
} */

.c-breadcrumb__list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-family: var(--base-font-family);
    font-size: 11px;
    font-weight: 300;
    line-height: 1;
    letter-spacing: 0.01em;
    color: var(--color-text);
    font-feature-settings: "palt";

    @media screen and (min-width: 741px) {
        gap: 10px;
        font-size: 13px;
    }
}

.c-breadcrumb__item {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    @media screen and (min-width: 741px) {
        gap: 10px;
    }
}

.c-breadcrumb__item::marker {
    content: none;
}

.c-breadcrumb__link {
    color: var(--color-text);
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: opacity 0.2s ease;
    text-transform: capitalize;
}

@media (any-hover: hover) {
    .c-breadcrumb__link:hover {
        opacity: 0.6;
    }
}

.c-breadcrumb__divider {
    display: inline-flex;
}

.c-breadcrumb__divider svg {
    display: block;
    width: 3px;
    height: 6px;

    @media screen and (min-width: 741px) {
        width: 4px;
        height: 8px;
    }
}
/* ============================================================
   c-main-product : 商品詳細メイン
   モバイルファースト。PC = 1000px〜（1カラム/2カラム切替。Focal 元テーマに合わせて 1000 で統一）
   ※SP の細かい調整は後工程
   ============================================================ */

.c-main-product {
    /* 左右ガターは 20px（container・画像ブレイクアウト両方がこの変数基準。デザイン準拠） */
    --container-gutter: 20px;
    padding-block: 14px 48px;
    /* アコーディオンの区切り線（100vw）のはみ出しで横スクロールが出ないように */
    overflow-x: clip;

    @media screen and (min-width: 1000px) {
        --container-gutter: 40px;
        padding-block: 20px 80px;
        overflow-x: visible;
    }
}

/* container の左右：PC=80px（この商品セクションのみ。SP は上の --container-gutter=20 に従う） */
.c-main-product .container {
    @media screen and (min-width: 1000px) {
        padding-inline: 80px;
    }
}

/* Focal 既定の .product__media 左パディング（≥1400 の 36px）を打ち消し */
.c-main-product .product__media {
    @media screen and (min-width: 1000px) {
        padding-inline-start: 0;
        width: 100%;
    }
}

/* SP は画像を画面幅いっぱい（Focal 既定の max-width:999 gutter パディングを打ち消し）。
   741〜999 のみ gutter、1000〜 はテーマ既定に戻す。※ウォッチニアン c-product と同構成 */
.c-main-product .product__media-item {
    padding: 0;

    @media screen and (min-width: 741px) {
        padding-inline: var(--container-gutter);
    }

    @media screen and (min-width: 1000px) {
        padding-inline: revert;
    }
}

/* SP のドットナビ・前後矢印は非表示（画像はスワイプ／スクロールのみ） */
.c-main-product .dots-nav,
.c-main-product .product__media-prev-next {
    display: none;
}

.c-main-product__layout {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-top: 11px;

    @media screen and (min-width: 1000px) {
        display: grid;
        /* 1000px→50% 〜 1440px→57.64%（=830/1440）の線形補間。
           長さ÷長さの calc 非対応ブラウザ（Safari 16.4 未満等）は前行の固定比率にフォールバック */
        grid-template-columns: calc((830 / 1440) * 100%) 1fr;
        grid-template-columns: clamp(50%, calc(50% + 7.64% * ((100vw - 1000px) / 440px)), 57.64%) 1fr;
        align-items: start;
        /* 1000px→20px 〜 1440px→115px の線形補間 */
        /* gap: clamp(20px, calc(20px + 95 * ((100vw - 1000px) / 440)), 115px); */

        /* 1000px→20px 〜 1600px→115px の線形補間 */
        gap: clamp(20px, calc(20px + 95 * ((100vw - 1000px) / 600)), 115px);
        margin-top: 70px;
    }
}

.c-main-product__media {
    @media screen and (min-width: 1000px) {
        min-width: 0;
    }
}

.c-main-product__info {
    @media screen and (min-width: 1000px) {
        min-width: 0;
        max-width: 460px;
    }
}

/* --- 情報カラム --- */
.c-main-product__header {
    display: flex;
    flex-direction: column;
    gap: 5px;

    @media screen and (min-width: 1000px) {
        gap: 8px;
    }
}

/* SP（Figma 2071-2586 準拠） */
.c-main-product__badge {
    align-self: flex-start;
    padding: 5px 8px;
    font-family: var(--en-font-family);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1;
    border-radius: 1px;

    @media screen and (min-width: 1000px) {
        padding: 6px 10px;
        font-size: 15px;
        letter-spacing: 0.05em;
        border-radius: 0;
    }
}

.c-main-product__badge--new {
    background-color: var(--color-navy-deep);
    color: var(--color-white);
}

.c-main-product__badge--sale {
    font-family: "Figtree", var(--en-font-family);
    background-color: var(--color-sale);
    color: var(--color-white);
}

/* SP（Figma 2071-2586 準拠） */
.c-main-product__title {
    font-size: 18px;
    font-family: var(--base-font-family);
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.01em;
    margin-block: 10px 0;

    @media screen and (min-width: 1000px) {
        font-size: 26px;
        line-height: 1.3;
        /* margin-top はブラウザ既定（h1）のまま。バッジ有無で first-child 判定が変わる */
        margin-block: revert;
        margin-bottom: 0;
    }
}

.c-main-product__price {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-top: 4px;
    font-family: "Figtree", var(--en-font-family);
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0;

    @media screen and (min-width: 1000px) {
        font-size: 26px;
    }
}

.c-main-product__price-sale {
    color: var(--color-sale);
}

.c-main-product__price-compare {
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.02em;
    text-decoration: line-through;
    color: var(--color-text);

    @media screen and (min-width: 1000px) {
        font-size: 16px;
        letter-spacing: inherit;
    }
}

.c-main-product__sku {
    margin-top: 2px;
    font-size: 13px;
    font-family: var(--base-font-family);
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: var(--color-text);

    @media screen and (min-width: 1000px) {
        margin-top: 4px;
        font-size: 16px;
    }
}

.c-main-product__unisize:empty {
    display: none;
}

/* 店舗在庫を確認ボタン（見た目のみ・機能は後付け）。SP は Figma 2071-2586 準拠 */
.c-main-product__store-stock {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    margin-top: 17px;
    font-size: 15px;
    font-family: var(--base-font-family);
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: var(--color-text);
    background-color: transparent;
    border: 1px solid var(--color-black);
    border-radius: 50px;
    cursor: pointer;
    transition: opacity var(--duration) var(--ease-base);

    @media screen and (min-width: 1000px) {
        height: 55px;
        margin-top: 20px;
        font-size: 16px;
        line-height: inherit;
    }
}

.c-main-product__store-stock:hover {
    opacity: 0.7;
}

/* --- アコーディオン --- */
/* SP はドロワーと同じく区切り線をインナーから飛び出して 100vw に。テキストはインナー（gutter）内に収める */
.c-main-product__accordions {
    position: relative;
    margin-top: 40px;

    @media screen and (min-width: 1000px) {
        position: static;
        margin-top: 48px;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
    }
}

.c-main-product__accordions::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 100vw;
    height: 1px;
    background-color: rgba(0, 0, 0, 0.1);
    transform: translateX(-50%);

    @media screen and (min-width: 1000px) {
        content: none;
    }
}

.c-product-accordion {
    position: relative;

    @media screen and (min-width: 1000px) {
        position: static;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    }
}

.c-product-accordion::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 100vw;
    height: 1px;
    background-color: rgba(0, 0, 0, 0.1);
    transform: translateX(-50%);

    @media screen and (min-width: 1000px) {
        content: none;
    }
}

.c-product-accordion__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding-block: 24px 25px;
    padding-inline: 0 3px;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;

    @media screen and (min-width: 1000px) {
        padding-block: 26px;
        padding-right: 22px;
    }
}

.c-product-accordion__title {
    font-size: 15px;
    font-family: var(--base-font-family);
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.02em;

    @media screen and (min-width: 1000px) {
        font-size: 16px;
    }
}

/* ＋/− アイコンを擬似要素の線で作成（Focal animated-plus を上書き・開くと90°回転して「−」） */
.c-product-accordion__toggle .animated-plus {
    position: relative;
    width: 13px;
    height: 13px;
    background: none;
    transform: none;
}

.c-product-accordion__toggle .animated-plus::before,
.c-product-accordion__toggle .animated-plus::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: var(--color-black);
    animation: none;
    transition: transform var(--duration) var(--ease-base);
}

/* 横線 */
.c-product-accordion__toggle .animated-plus::before {
    width: 11px;
    height: 1px;
    transform: translate(-50%, -50%);
}

/* 縦線（開くと90°回転して横線に重なり「−」に） */
.c-product-accordion__toggle .animated-plus::after {
    width: 1px;
    height: 11px;
    transform: translate(-50%, -50%);
}

.c-product-accordion__toggle[aria-expanded="true"] .animated-plus::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.c-product-accordion__content {
    padding: 0 4px 20px;
    font-size: 13px;
    font-weight: 300;
    line-height: 1.8;
}

.c-product-accordion__content > *:not(:first-child) {
    margin-top: 1em;
}

.c-main-product__size-image {
    display: block;
    max-width: 100%;
    height: auto;
    margin-bottom: 12px;
}

/* サイズガイドの表（罫線・余白のみ。フォントは共通/継承） */
.c-size-table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}

/* Focal .rte table の既定（padding / text-align: start）を上書きするため !important */
.c-size-table th,
.c-size-table td {
    padding: 10px 4px !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    text-align: center !important;
}

.c-size-table tr:first-child th {
    border-bottom: 1px solid var(--color-border);
}

/* メインギャラリー画像の角丸（wrapper が overflow:hidden） */
.c-main-product .product__media-image-wrapper img {
    border-radius: 2px;
}

/* ギャラリーのズームボタンを「＋」白丸アイコンに差し替え */
.c-main-product .product__zoom-button {
    inset-inline-end: -14px;
    inset-block-end: 12px;
    width: 35px;
    height: 35px;
    background-color: transparent;
    box-shadow: none;
    border-radius: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='43' height='43' viewBox='0 0 43 43' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='21.5' cy='21.5' r='21.5' fill='white'/%3E%3Cline x1='16' y1='21.5' x2='27' y2='21.5' stroke='black'/%3E%3Cline x1='21.5' y1='16' x2='21.5' y2='27' stroke='black'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    border: none;

    @media screen and (min-width: 741px) {
        width: 43px;
        height: 43px;
        inset-inline-end: 21px;
        inset-block-end: 21px;
    }
}

.c-main-product .product__zoom-button .icon {
    display: none;
}

/* --- サムネイル（Focal 既定を上書き） --- */
/* SP でもサムネイルを表示（Focal の hidden-pocket を解除）。横スクロールの列。※デザイン準拠 80×96
   テーマの .hidden-pocket{display:none!important} が ≤999 限定のため、打ち消しも同じ範囲に閉じる。
   min-width 側に置くと !important を全幅に効かせることになり、PC の display をテーマから奪う */
.c-main-product .product__thumbnail-scroll-shadow.hidden-pocket,
.c-main-product .product__thumbnail-item.hidden-pocket {
    @media screen and (max-width: 999px) {
        display: block !important;
    }
}

.c-main-product .product__thumbnail-list {
    overflow-x: auto;
    scrollbar-width: none;
    padding-inline: 20px;

    @media screen and (min-width: 1000px) {
        overflow-x: visible;
        padding-inline: 0;
    }
}

.c-main-product .product__thumbnail-list::-webkit-scrollbar {
    display: none;
}

.c-main-product .product__media-nav {
    margin-block-start: 16px;

    @media screen and (min-width: 1000px) {
        margin-block-start: 15px;
    }
}

.c-main-product .product__thumbnail {
    width: 74px;
    min-width: 70px;
    border-radius: 2px;

    @media screen and (min-width: 1000px) {
        width: 84px;
        min-width: auto;
    }
}

.c-main-product .product__thumbnail img {
    @media screen and (min-width: 1000px) {
        border-radius: 2px;
    }
}

/* 選択時アウトライン（擬似要素）は 4px の角丸。
   scale(.9) のまま固定し、選択時はテーマ既定の scale(1) 拡大をさせず中の画像側を縮める */
.c-main-product .product__thumbnail::after {
    @media screen and (min-width: 1000px) {
        border-radius: 4px;
    }
}

.c-main-product .product__thumbnail-item[aria-current] .product__thumbnail::after {
    transform: scale(0.9);
}

.c-main-product .product__thumbnail > img {
    /* テーマ既定のアウトライン transition（.2s）と同期させる */
    transition: transform 0.2s;
}

.c-main-product .product__thumbnail-item[aria-current] .product__thumbnail > img {
    transform: scale(0.9);
}

.c-main-product .product__thumbnail-list-inner {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    gap: 3px;
    width: max-content;
    /* テーマが ≤999 で付ける padding-inline: var(--container-gutter) を打ち消す（PC は元から 0） */
    padding-inline: 0;

    @media screen and (min-width: 1000px) {
        gap: 11px;
        width: auto;
    }
}


.product__media-list-wrapper {
    margin: 0;
}


/* ============================================================
   c-variant-matrix : カラー×サイズ マトリックス（ゾゾタウン形式）
   モバイルファースト。SP = モーダルUI / PC（1000px〜）= インライン表示
   ============================================================ */

.c-variant-matrix {
    display: block;
    margin-top: 24px;

    @media screen and (min-width: 1000px) {
        margin-top: 50px;
    }
}

.c-variant-matrix__groups {
    display: flex;
    flex-direction: column;
    margin-top: 40px;

    @media screen and (min-width: 1000px) {
        margin-top: 0;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
    }
}

/* グループ見出しは非表示（カラー名は左カラムのラベルで出す） */
.c-variant-matrix__group-title {
    display: none;
}

/* グループ＝左:カラー画像1つ ＋ 右:サイズ行スタック */
.c-variant-matrix__group {
    display: flex;
    gap: 24px;

    @media screen and (min-width: 1000px) {
        /* 1000px→20px 〜 1440px→47px の線形補間 */
        gap: clamp(20px, calc(20px + 27 * ((100vw - 1000px) / 440)), 47px);
        padding-block: 23px;
    }
}

.c-variant-matrix__group:not(:first-child) {
    @media screen and (min-width: 1000px) {
        border-block-start: 1px solid rgba(0, 0, 0, 0.1);
    }
}

/* --- 左：カラー画像＋ラベル（グループに1つ・縦中央）。SPモーダルでは非表示 --- */
.c-variant-matrix__color {
    flex: 0 0 90px;
    min-width: 0;
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    cursor: pointer;

    @media screen and (min-width: 1000px) {
        display: flex;
        padding-top: 7px;
    }
}

.c-variant-matrix__color-img {
    display: block;
    width: 90px;
    height: auto;
    object-fit: cover;
}

.c-variant-matrix__color-label {
    font-size: 11px;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: var(--color-text);
    text-align: center;
    white-space: nowrap;
}

/* 画像が無いカラーはラベルのみ。画像用の上オフセットを外して縦中央に置く */
.c-variant-matrix__color--text-only {
    justify-content: center;

    @media screen and (min-width: 1000px) {
        padding-top: 0;
    }
}

/* ラベルは在庫ラベルと同じ字面にし、長い名前は折り返す */
.c-variant-matrix__color--text-only .c-variant-matrix__color-label {
    font-family: var(--base-font-family);
    font-size: 16px;
    font-feature-settings: 'palt' on;
    white-space: normal;
}

.c-variant-matrix__rows {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    /* SPモーダル：区切り線は全幅（Figma 69-2353） */
    border-top: 1px solid rgba(0, 0, 0, 0.1);

    @media screen and (min-width: 1000px) {
        border-top: none;
    }
}

/* --- 行：size | stock | button | wishlist --- */
.c-variant-matrix__row {
    display: grid;
    grid-template-columns: 24px 1fr 130px 20px;
    grid-template-areas: "size stock button wishlist";
    gap: 14px;
    align-items: center;
    /* SPモーダル：内容は 20px ガター */
    padding-block: 15px;
    padding-inline: 20px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);

    @media screen and (min-width: 1000px) {
        /* ボタン列：1000px→120px 〜 1440px→145px の線形補間 */
        grid-template-columns: 28px 1fr clamp(120px, calc(120px + 25 * ((100vw - 1000px) / 440)), 145px) 20px;
        padding-block: 9px;
        padding-inline: 0;
        border-bottom: none;
    }
}

/* サイズオプションが無い商品は size 列を詰める */
.c-variant-matrix--no-size .c-variant-matrix__row {
    grid-template-columns: 1fr 130px 20px;
    grid-template-areas: "stock button wishlist";

    @media screen and (min-width: 1000px) {
        grid-template-columns: 1fr clamp(120px, calc(120px + 25 * ((100vw - 1000px) / 440)), 145px) 20px;
    }
}

/* --- サイズ --- */
.c-variant-matrix__size {
    grid-area: size;
    font-family: var(--en-font-family);
    font-size: 15px;
    font-weight: 300;
    letter-spacing: 0.02em;
    color: var(--color-text);

    @media screen and (min-width: 1000px) {
        font-weight: 400;
        letter-spacing: inherit;
    }
}

/* --- 在庫 --- */
.c-variant-matrix__stock {
    grid-area: stock;
    display: flex;
    align-items: center;
    padding-left: 10px;

    @media screen and (min-width: 1000px) {
        padding-left: 3px;
    }
}

.c-variant-matrix__stock-label {
    font-family: var(--base-font-family);
    font-size: 16px;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: 0.02em;
    font-feature-settings: 'palt' on;
    color: var(--color-text);
    white-space: nowrap;
}

/* --- カート追加 / 再入荷通知ボタン --- */
.c-variant-matrix__button {
    grid-area: button;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 41px;
    padding-inline: 10px;
    font-size: 13px;
    font-family: var(--base-font-family);
    font-weight: 400;
    letter-spacing: 0;
    cursor: pointer;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 50px;
    transition: opacity var(--duration) var(--ease-base);

    @media screen and (min-width: 1000px) {
        font-size: 15px;
        border-radius: 50px;
    }
}

.c-variant-matrix__button--add {
    background-color: rgb(var(--theme-accent));
    color: var(--color-white);
}

/* 再入荷通知：SP は枠 rgba(0,0,0,0.15)・テキスト黒（Figma 2072-2614） */
.c-variant-matrix__button--soldout {
    background-color: transparent;
    border-color: rgba(0, 0, 0, 0.15);
    color: var(--color-text);

    @media screen and (min-width: 1000px) {
        border-color: var(--color-navy-deep);
        color: var(--color-navy-deep);
    }
}

.c-variant-matrix__button:hover {
    opacity: 0.75;
}

.c-variant-matrix__button.loading {
    pointer-events: none;
}

.c-variant-matrix__button.loading .c-variant-matrix__button-text {
    opacity: 0;
}

.c-variant-matrix__button-text {
    display: inline-block;
    transition: opacity var(--duration) var(--ease-base);
}

.c-variant-matrix__spinner {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.c-variant-matrix__spinner svg {
    width: 20px;
    height: 20px;
}

.c-variant-matrix__spinner.hidden {
    display: none;
}

/* --- お気に入り（Wishlist King） --- */
.c-variant-matrix__wishlist {
    grid-area: wishlist;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 30px;
}

/* 全状態を列挙して WK 側のホバー詳細度に勝つ（カードで確立した対策） */
.c-variant-matrix__wishlist .wk-button,
.c-variant-matrix__wishlist .wk-button:hover,
.c-variant-matrix__wishlist .wk-button:focus,
.c-variant-matrix__wishlist .wk-button.wk-selected {
    width: 30px;
    height: 30px;
    padding: 0;
    margin: 0;
    background: transparent;
    border: none;
}

/* ハートアイコンをデザインの18×15に差し替え（c-product-card と同方式）
   WK標準SVGを隠し、wk-icon::after の mask で 通常=線画 / wk-selected=塗り を出し分け */
.c-variant-matrix__wishlist wk-icon.wk-icon svg {
    display: none;
}

/* WK のスケール演出・デフォルト円形疑似要素を無効化 */
.c-variant-matrix__wishlist .wk-button,
.c-variant-matrix__wishlist .wk-button *,
.c-variant-matrix__wishlist .wk-button::before,
.c-variant-matrix__wishlist .wk-button::after,
.c-variant-matrix__wishlist wk-icon.wk-icon::after {
    animation: none !important;
}

.c-variant-matrix__wishlist .wk-button::before,
.c-variant-matrix__wishlist .wk-button:hover::before,
.c-variant-matrix__wishlist .wk-button.wk-selected::before,
.c-variant-matrix__wishlist .wk-button::after,
.c-variant-matrix__wishlist .wk-button:hover::after,
.c-variant-matrix__wishlist .wk-button.wk-selected::after {
    content: none !important;
}

.c-variant-matrix__wishlist wk-icon.wk-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 15px;
    flex-shrink: 0;
    color: var(--color-badge);
}

/* 通常＝線画 */
.c-variant-matrix__wishlist wk-icon.wk-icon::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 15'%3E%3Cpath fill='white' stroke='white' stroke-width='0.6' d='M8.68815 14.1158C8.60565 14.1158 8.52283 14.0852 8.45974 14.0238L1.53032 7.29543C-0.109988 5.69728 -0.109988 3.09768 1.53 1.49984C2.32427 0.725979 3.38028 0.299805 4.50391 0.299805C5.62754 0.299805 6.68355 0.725979 7.47782 1.49984L8.68815 2.67907L9.89849 1.49984C10.6931 0.725979 11.7491 0.299805 12.8727 0.299805C13.9963 0.299805 15.0524 0.725979 15.8466 1.49984C17.4866 3.09768 17.4866 5.69728 15.8466 7.29512L8.91657 14.0238C8.85348 14.0852 8.77098 14.1158 8.68815 14.1158ZM4.50391 0.93024C3.55337 0.93024 2.65945 1.29085 1.98747 1.94556C0.599842 3.29753 0.599842 5.49743 1.98747 6.8494L8.68848 13.3555L15.3898 6.84909C16.7771 5.49743 16.7771 3.29784 15.3895 1.94587C14.7172 1.29116 13.8236 0.930556 12.873 0.930556C11.9225 0.930556 11.0286 1.29116 10.3563 1.94587L8.91721 3.34796C8.79071 3.47121 8.58624 3.47121 8.45974 3.34796L7.02067 1.94587C6.34837 1.29116 5.45477 0.930556 4.50423 0.930556L4.50391 0.93024Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* 登録済み＝塗り */
.c-variant-matrix__wishlist .wk-button.wk-selected wk-icon.wk-icon::after {
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 15'%3E%3Cpath fill='white' stroke='white' stroke-width='0.6' d='M8.68815 14.1158C8.60565 14.1158 8.52283 14.0852 8.45974 14.0238L1.53032 7.29543C-0.109988 5.69728 -0.109988 3.09768 1.53 1.49984C2.32427 0.725979 3.38028 0.299805 4.50391 0.299805C5.62754 0.299805 6.68355 0.725979 7.47782 1.49984L8.68815 2.67907L9.89849 1.49984C10.6931 0.725979 11.7491 0.299805 12.8727 0.299805C13.9963 0.299805 15.0524 0.725979 15.8466 1.49984C17.4866 3.09768 17.4866 5.69728 15.8466 7.29512L8.91657 14.0238C8.85348 14.0852 8.77098 14.1158 8.68815 14.1158Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ============================================================
   SP：カートに入れるトリガー ＋ カラー・サイズ選択モーダル
   （PC ≥1000px ではモーダルUIを無効化してインライン表示）
   ============================================================ */
.c-variant-matrix__sp-trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    background-color: rgb(var(--theme-accent));
    color: var(--color-white);
    font-size: 15px;
    font-family: var(--base-font-family);
    font-weight: 400;
    letter-spacing: 0.04em;
    border: none;
    border-radius: 50px;
    cursor: pointer;

    @media screen and (min-width: 1000px) {
        display: none;
    }
}

/* パネル＝SPフルスクリーンモーダル。PCはインラインに戻す */
.c-variant-matrix__panel {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: flex;
    flex-direction: column;
    padding: 0;
    background-color: var(--color-white);
    overflow-y: auto;
    transform: translateY(100%);
    visibility: hidden;
    transition: transform var(--duration) var(--ease-base), visibility var(--duration);

    @media screen and (min-width: 1000px) {
        position: static;
        inset: auto;
        padding: 0;
        overflow: visible;
        background: none;
        transform: none;
        visibility: visible;
    }
}

.c-variant-matrix.is-open .c-variant-matrix__panel {
    transform: none;
    visibility: visible;
}

.c-variant-matrix.is-open::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 1099;
    background-color: rgba(16, 23, 27, 0.8);

    @media screen and (min-width: 1000px) {
        display: none;
    }
}

/* ヘッダーバー（全幅・高さ55）。Figma 69-2353 */
.c-variant-matrix__modal-head {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 55px;
    background-color: var(--color-sub-bg);

    @media screen and (min-width: 1000px) {
        display: none;
    }
}

.c-variant-matrix__modal-title {
    font-size: 16px;
    font-family: var(--base-font-family);
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.02em;
}

.c-variant-matrix__modal-close {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    padding: 4px;
    background: none;
    border: none;
    cursor: pointer;
}

.c-variant-matrix__modal-product {
    display: flex;
    align-items: center;
    gap: 25px;
    padding: 30px 20px 20px;

    @media screen and (min-width: 1000px) {
        display: none;
    }
}

.c-variant-matrix__modal-img {
    flex: 0 0 140px;
    width: 140px;
    height: 168px;
    object-fit: cover;
    border-radius: 2px;
}

.c-variant-matrix__modal-name {
    font-size: 16px;
    font-weight: 300;
    font-family: var(--base-font-family);
    line-height: 1.4;
    letter-spacing: 0.02em;
    margin: 0;
}

.c-variant-matrix__modal-price {
    margin-top: 11px;
    font-family: var(--en-font-family);
    font-size: 16px;
    font-weight: 300;
    line-height: 1;
    letter-spacing: 0.02em;
}

.c-variant-matrix__color-select-wrap {
    margin-top: 10px;
    margin-bottom: 0;
    padding-inline: 20px;

    @media screen and (min-width: 1000px) {
        display: none;
    }
}

.c-variant-matrix__color-select {
    width: 100%;
    height: 50px;
    padding: 0 40px 0 20px;
    font-size: 16px;
    font-family: var(--base-font-family);
    font-weight: 300;
    letter-spacing: 0.02em;
    color: var(--color-text);
    background-color: var(--color-white);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23000' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 20px center;
}

.c-variant-matrix__modal-close-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 24px 16px;
    margin-top: auto;
    background: none;
    border: none;
    font-family: var(--base-font-family);
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 0.02em;
    cursor: pointer;

    @media screen and (min-width: 1000px) {
        display: none;
    }
}

/* 閉じるボタンの×アイコンを大きく */
.c-variant-matrix__modal-close-bottom svg {
    width: 20px;
    height: 20px;
}

/* SPモーダルでは選択カラーのグループだけ表示。PCは全グループ表示 */
.c-variant-matrix--has-colors .c-variant-matrix__group:not(.is-active) {
    display: none;

    @media screen and (min-width: 1000px) {
        display: flex;
    }
}

/* --- カート追加完了モーダル --- */
.c-variant-matrix__done {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    /* SP（Figma 69-2131）：パネルを 335px にするため左右 20px */
    padding: 20px;
    background-color: rgba(16, 23, 27, 0.8);

    @media screen and (min-width: 1000px) {
        padding: 24px;
    }
}

.c-variant-matrix__done[hidden] {
    display: none;
}

.c-variant-matrix__done-panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    /* SP（Figma 69-2131）：335px 幅・高さ 237px 相当 */
    max-width: 335px;
    padding: 44px 20px 40px;
    background-color: var(--color-white);
    border-radius: 10px;
    text-align: center;

    @media screen and (min-width: 1000px) {
        max-width: 467px;
        padding: 73px 24px 50px;
    }
}

.c-variant-matrix__done-title {
    color: var(--color-text);
    text-align: center;
    font-feature-settings: "palt";
    font-family: var(--base-font-family);
    /* SP（Figma 69-2131） */
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.36px;
    margin-bottom: 21px;

    @media screen and (min-width: 1000px) {
        font-size: 24px;
        letter-spacing: 0.48px;
        margin-bottom: 23px;
    }
}

.c-variant-matrix__done-cart {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    /* SP（Figma 69-2131）：150×45 の固定サイズ */
    width: 150px;
    height: 45px;
    padding: 0;
    background-color: rgb(var(--theme-accent));
    border-radius: 50px;
    color: var(--color-white);
    text-align: center;
    text-decoration: none;
    font-feature-settings: "palt";
    font-family: var(--base-font-family);
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    margin-bottom: 40px;

    @media screen and (min-width: 1000px) {
        width: auto;
        height: auto;
        padding: 17px 34px 19px 34px;
        font-size: 18px;
        margin-bottom: 45px;
    }
}

.c-variant-matrix__done-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-text);
    text-align: center;
    font-feature-settings: "palt";
    font-family: var(--base-font-family);
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: 0.32px;
}

.c-variant-matrix__shipping-time {
    display: block;
    width: 100%;
    text-align: center;
}

/* ============================================================
   --modal 修飾：1000px以上でもモーダルUIを維持（コーディネート詳細で使用）
   トリガー「カートに入れる」→ PCは中央ダイアログ、SPは従来どおり下からフルスクリーン
   ============================================================ */
@media screen and (min-width: 1000px) {
    /* トリガー表示（SPでは常時表示だがPCは通常 display:none なので戻す） */
    .c-variant-matrix--modal .c-variant-matrix__sp-trigger {
        display: flex;
    }

    /* パネル＝PC中央ダイアログ（fixed + inset0 + margin auto で中央寄せ） */
    .c-variant-matrix--modal .c-variant-matrix__panel {
        position: fixed;
        inset: 0;
        z-index: 1100;
        width: min(600px, calc(100% - 48px));
        height: max-content;
        max-height: calc(100dvh - 80px);
        margin: auto;
        padding: 0;
        border-radius: 20px;
        overflow-y: auto;
        background-color: var(--color-white);
        transform: translateY(20px);
        visibility: hidden;
        opacity: 0;
        transition:
            transform var(--duration) var(--ease-base),
            opacity var(--duration) var(--ease-base),
            visibility var(--duration);
    }

    .c-variant-matrix--modal.is-open .c-variant-matrix__panel {
        transform: none;
        visibility: visible;
        opacity: 1;
    }

    /* 背景オーバーレイ（PCでは通常 display:none なので戻す） */
    .c-variant-matrix--modal.is-open::before {
        display: block;
    }

    /* モーダルのパーツを表示（PCでは通常 display:none） */
    .c-variant-matrix--modal .c-variant-matrix__modal-head,
    .c-variant-matrix--modal .c-variant-matrix__modal-product,
    .c-variant-matrix--modal .c-variant-matrix__modal-close-bottom {
        display: flex;
    }

    .c-variant-matrix--modal .c-variant-matrix__color-select-wrap {
        display: block;
    }

    /* PC用カラースウォッチ列は隠す（モーダルはカラーセレクトで切替） */
    .c-variant-matrix--modal .c-variant-matrix__color {
        display: none;
    }

    /* カラー選択で選んだグループのみ表示 */
    .c-variant-matrix--modal.c-variant-matrix--has-colors .c-variant-matrix__group:not(.is-active) {
        display: none;
    }

    /* グループ／行の余白をモーダル（SP相当）に戻す。カラーセレクトと行の間の余白もSPと同じく確保 */
    .c-variant-matrix--modal .c-variant-matrix__groups {
        margin-top: 40px;
        border-top: none;
    }

    .c-variant-matrix--modal .c-variant-matrix__group,
    .c-variant-matrix--modal .c-variant-matrix__group:not(:first-child) {
        gap: 0;
        padding-block: 0;
        border-block-start: none;
    }

    .c-variant-matrix--modal .c-variant-matrix__rows {
        border-top: 1px solid var(--color-border-light);
    }

    .c-variant-matrix--modal .c-variant-matrix__row {
        grid-template-columns: 28px 1fr 130px 20px;
        padding-block: 15px;
        padding-inline: 20px;
        border-bottom: 1px solid var(--color-border-light);
    }

    .c-variant-matrix--modal.c-variant-matrix--no-size .c-variant-matrix__row {
        grid-template-columns: 1fr 130px 20px;
    }

    .c-variant-matrix--modal .c-variant-matrix__button {
        border-radius: 2px;
        font-size: 13px;
    }
}





.cart__checkout-button {
    min-height: 50px;
}

/* ==================================================
  ギフトラッピング
===================================================*/
.c_gift-wrapping {
    margin-top: 30px;
}

@media screen and (max-width: 999px) {
    .c_gift-wrapping {
        margin-top: 40px;
    }
}

.c_gift-wrapping__title {
    color: #000;
    font-feature-settings: 'palt' on;
    font-family: var(--font-ja);
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px;
}

@media screen and (max-width: 999px) {
    .c_gift-wrapping__title {
        font-size: 16px;
        line-height: 18px;
    }
}

.c_gift-wrapping__wrapper {
    padding-inline: clamp(20px, 3.75vw, 60px);
    padding-block: 40px;
    border: 1px solid rgba(0, 0, 0, 0.15);
}

@media screen and (max-width: 999px) {
    .c_gift-wrapping__wrapper {
        padding-inline: 0;
        padding-block: 0;
        border: none;
    }
}

.c_gift-wrapping__selects {
    margin-top: 16px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    background: #fff;
}

@media screen and (max-width: 1300px) {
    .c_gift-wrapping__selects {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 999px) {
    .c_gift-wrapping__selects {
        grid-template-columns: 1fr;
        gap: 10px;
        padding-block: 10px;
    }
}

.c_gift-wrapping__select-cell {
    min-width: 0;
    position: relative;
}

.c_gift-wrapping__select {
    color: #000;
    -webkit-text-fill-color: #000;
    font-family: var(--font-ja);
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px;
    width: 100%;
    border-radius: 0;
    border: 1px solid rgba(0, 0, 0, 0.15);
    background: #fff;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-inline: 23px;
    padding-block: 25px;
    min-height: 52px;
    cursor: pointer;
}

@media screen and (max-width: 999px) {
    .c_gift-wrapping__select {
        font-size: 13px;
        line-height: 16px;
    }
}

.c_gift-wrapping__select-icon {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}

.c_gift-wrapping__select:focus {
    outline: none;
    box-shadow: none;
}

.c_gift-wrapping__caution {
    color: #000;
    font-family: var(--font-ja);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 28px;
    margin-top: 30px;
}

.c_gift-wrapping__block {
    margin-block-start: 32px;
    padding-block-start: 32px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    grid-template-columns: 250px 1fr;
    align-items: center;
    display: none;
}

.c_gift-wrapping__block.is-show {
    display: grid;
}

.c_gift-wrapping__block textarea {
    width: 100%;
    min-height: 200px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    padding: 16px;
}

.c_gift-wrapping__block textarea+.c_gift-wrapping__caution {
    margin-top: 15px;
}

@media screen and (max-width: 1199px) {
    .c_gift-wrapping__block {
        margin-block-start: 24px;
        padding-block-start: 24px;
        grid-template-columns: 1fr;
    }

    .c_gift-wrapping__block-title {
        margin-block-end: 14px;
    }

    .c_gift-wrapping__block textarea {
        min-height: 150px;
    }
}

@media screen and (max-width: 999px) {
    .c_gift-wrapping__caution {
        font-size: 12px;
        line-height: 22px;
        margin-top: 15px;
    }
}


/* 検索画面 */
.main-search__input {
    --form-input-field-height: 54px;
}

.alcms-form__submit {
    background-color: #000 !important;
}