.no_slider .content__list {
        flex-wrap: wrap;
    }

    .no_slider .content__item {
        list-style: none;
    }

    @media (max-width: 767px) {
        .no_slider .content__item {
            width: 44%;
            max-width: 350px;
            margin-bottom: 15px;
        }
    }

    .flex__content .content__list {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 21px;
    }

    .flex__content .content__item {
        width: 22.6% !important;
    }

    @media (min-width: 768px) and (max-width: 1100px) {
        .flex__content .content__item {
            width: 30.1% !important;
            max-width: 200px;
            margin: 0 1.6%;
            margin-bottom: 15px;
        }

        .flex__content .content__list {
            gap: 0px;
        }
    }

    @media (max-width: 767px) {
        .flex__content .content__item {
            width: 41.8% !important
        }
    }

    #category .flex__content {
        padding: 0;
    }

    #category .flex__content {
        padding-bottom: 0px !important;
    }

    .flex__content.active {
        position: relative;
        height: auto;
        padding: 48px 50px !important;
    }

    .flex__content {
        height: 0;
        padding: 0;
    }

    #category .flex__content {
        padding-bottom: 0px !important;
    }

    #category .flex__content.active {
        padding-bottom: 50px !important;
    }

    .flex__content.active {
        padding-bottom: 50px !important;
    }

    .by_period_price_section,
    .by_period_price_section .flex--hasItem3 {
        margin-top: 1rem;
    }

    @media (max-width: 767px) {
        .flex__content.active {
            padding: 32px 0 !important;
        }
    }


    .gram_market_price .flex--hasItem3 {
        margin-top: 1rem;
    }

    .by_period_price_section {
        margin-top: 1rem;
    }

    .gram_market_price .flex__content {
        position: absolute;
    }

    .gram_market_price .flex__content.active {
        position: relative;
    }

    .gram_market_price .flex__content:not(:first-child) {
        height: auto;
    }

    .more_btn {
        font-size: .875rem;
        line-height: 1.4285714286;
        display: block;
        width: 248px;
        max-width: 100%;
        padding: 4px 0;
        text-align: center;
        color: #fff;
        border-radius: 24px;
        background-color: #d82300;
        margin: auto;
    }

    .gram_market_price>h2 {
        text-align: center;
        padding: 3em 0 1em 0;
        font-weight: 700;
    }

    .brandinfo_section_Priceper_1g {
        margin-top: 0;
    }

    .brandinfo__main {
        margin-top: 0;
    }

    .brandinfo_section_Priceper_1g .fshoplist-target__list {
        cursor: pointer;
        background: #fff;
        border-radius: 24px;
    }

    .brandinfo_section_Priceper_1g .fshoplist-target--ttl::before,
    .brandinfo_section_Priceper_1g .fshoplist-target--ttl::after {
        right: 30px;
    }


    .brandinfo_section_Priceper_1g .brandinfo__body {
        padding: 1rem 1rem 1rem !important;
        background-image: none;
        border-bottom-right-radius: 1.5rem;
        border-bottom-left-radius: 1.5rem;
    }

    .brandinfo__body__text::after {
        background-image: none;
    }

    @media (max-width: 767px) {
        .brandinfo_section_Priceper_1g {
            font-size: 11px;
            margin: 0 0 30px 0;
        }
    }

    .brandinfo_section_Priceper_1g h2.brandinfo__header__title {
        font-weight: 700;
        line-height: 1.4583333333;
        color: #fff;
        text-align: center;
        font-size: 20px;
        font-size: 1.2rem !important;
    }


    .gram_market_price.withOz {
        font-family: "Noto Sans JP", "Roboto", sans-serif;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-direction: column;
        flex-wrap: wrap;
        margin-bottom: 4rem;
    }

    .gram_market_price.withOz .titleMain {
        width: 100%;
        margin-bottom: 1rem;
    }

    @media (min-width: 768px) {
        .gram_market_price.withOz {
            flex-direction: row;
        }
    }


    .eachPricePerGram {
        border-radius: 24px;
        background: #f2f2f2;
        align-items: flex-start;
        position: relative;
    }

    .eachPricePerGram>div {
        overflow: hidden;
        height: 100%;
        border-radius: 24px;
    }

    .gram_market_price.withOz .eachPricePerGram {
        width: 100%;
        margin-bottom: 1rem;
    }

    @media (min-width: 768px) {
        .gram_market_price.withOz .eachPricePerGram {
            width: calc(100% / 2 - .5vw);
        }
    }

    .eachPricePerGram dl {
        display: grid;
        grid-template-columns: calc(100% / 3) calc(100% / 3) calc(100% / 3);
        grid-template-rows: 1fr;
        margin-bottom: 0;
    }

    .gram_market_price.withOz .eachPricePerGram dl {
        grid-template-columns: 24% 76%;
    }

    .eachPricePerGram dl:first-of-type {
        background: #8e7b31;
        color: #fff;
    }

    .eachPricePerGram dl:not(:last-of-type) {
        border-bottom: 1px solid #fff;
    }

    .eachPricePerGram dl>* {
        text-align: center;
        line-height: 1;
        padding: 1.25em 0;
        margin-bottom: 0;
        font-weight: 400;
        font-size: 14px;
    }

    .eachPricePerGram dt {
        font-size: 20px;
        font-weight: bold;
        color: #545454;
    }

    .eachPricePerGram dt>span {
        font-size: 12px;
        font-weight: 400;

    }

    .eachPricePerGram dl:first-of-type dd {
        font-size: 14px;
        font-weight: 400;
        color: #fff;
    }

    .eachPricePerGram dd {
        font-size: 20px;
        font-weight: bold;
        color: #545454
    }

    .eachPricePerGram dd>span {
        font-size: 12px;
        font-weight: 400;
    }


    .gram_market_price.withOz .eachPricePerGram dl>dt {
        text-align: center;
    }

    .gram_market_price.withOz .eachPricePerGram dl>dd {
        text-align: left;
        padding: 1.25em 1.5em;
        border-left: 1px solid #fff;
    }

    .gram_market_price.withOz .eachPricePerGram dl:first-of-type>dd {
        text-align: center;
        white-space: nowrap;
    }

    .gram_market_price.withOz .eachPricePerGram dl>dd>span {
        display: inline-block;
        margin-left: .5em;
    }


    .eachPricePerGram dl>*:not(:nth-of-type(1)) {
        border-left: 1px solid #fff;
    }

    .eachPricePerGram .inc {
        color: #d82300;
    }

    .eachPricePerGram .dec {
        color: #009fff;
    }

    .js-toggle {
        height: auto;
        border-radius: 24px 24px 24px 0;
    }

    .js-toggle .morePriceBtn {
        display: none;
    }

    @media (min-width: 768px) {
        .js-toggle {
            height: calc(var(--dl_H) * 8 - 1px);
            transition: height .5s cubic-bezier(1, 0, 0, 1) 0s;
        }

        .js-toggle.open {
            height: calc(var(--dl_H) * 17);
        }

        .js-toggle .morePriceBtn {
            display: block;
            text-align: center;
            color: #d82300;
            cursor: pointer;
            font-weight: bold;
            padding: .5em 2em .75em 2em;
            border-radius: 0 0 12px 12px;
            height: auto;
            width: fit-content;
            line-height: 1;
            background: #f2f2f2;
            margin: 0 auto 0 0;
            width: 12em;
            transition: padding .5s ease 0s;
        }

        .js-toggle .morePriceBtn:hover {
            padding: 1em 2em .75em 2em;
        }
    }
    .brandinfo_section_Priceper_1g {

        .fshoplist-target--ttl::before,
        .fshoplist-target--ttl::after {
            background: #fff;
        }
    }
    /* 喜平価格表示コンポーネントのベーススタイル */
        .kh-price-section {
            margin-top: 10%;
            margin-bottom: 4rem;
        }

        .kh-price-section .kh-price-main-title-wrapper {}

        .kh-price-section .kh-price-main-title {
            font-weight: bold;
        }

        /* プルダウンセレクター */
        .kh-price-selector {
            width: 300px;
            margin: 20px auto;
        }

        .kh-price-select-wrapper {
            position: relative;
            width: 100%;
        }

        .kh-price-selector select {
            width: 100%;
            padding: 8px 45px 8px 12px;
            border-radius: 24px;
            border: 1px solid #E60012;
            font-size: 1rem;
            cursor: pointer;
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
            background-color: #fff;
            font-weight: bold;
        }

        .kh-price-selector select:focus {
            border-color: #E60012;
            /* ボーダー色を赤のまま維持 */
            outline: none;
            /* ブラウザのデフォルトの枠線を削除 */
            box-shadow: none;
            /* 影が付く場合も削除 */
        }

        /* プルダウンのカスタム矢印（丸） */
        .kh-price-select-wrapper::after {
            content: '';
            position: absolute;
            top: 50%;
            right: 12px;
            transform: translateY(-50%);
            width: 14px;
            height: 14px;
            background-color: #E60012;
            border-radius: 50%;
            pointer-events: none;
        }

        /* プルダウンのカスタム矢印（三角） */
        .kh-price-select-wrapper::before {
            content: '';
            position: absolute;
            top: 50%;
            right: 14.65px;
            transform: translateY(-50%) translateY(1px);
            width: 0;
            height: 0;
            border-left: 4px solid transparent;
            border-right: 4px solid transparent;
            border-top: 5px solid #fff;
            z-index: 2;
            pointer-events: none;
        }

        /* テーブルエリア */
        .kh-price-table-area {
            margin-top: 20px;
        }

        .kh-price-table-container .kh-price-table-title {
            color: #000;
            font-weight: bold;
            text-align: center;
            margin-bottom: 1em;
            padding: 0;
        }

        /* データテーブルのスタイル */
        .kh-price-data-table {
            border-collapse: separate;
            border-spacing: 0;
            width: 100%;
            border: 1px solid #787878;
            border-radius: 12px;
            overflow: hidden;
        }

        .kh-price-data-table th {
            background-color: #787878;
            color: #fff;
            font-weight: 500;
            padding: 12px;
            text-align: center;
            font-size: 14px;
        }

        .kh-price-data-table td {
            padding: 12px 8px;
            text-align: center;
        }

        .kh-price-data-table td.kh-date-col,
        .kh-price-data-table td.kh-price-col {
            color: #000;
            font-weight: bold;
            font-size: 20px;
        }

        /* ▼▼▼ 変更点：ボーダーを行(tr)ではなくセル(td)に適用 ▼▼▼ */
        .kh-price-data-table tbody td {
            border-bottom: 1px solid #787878;
        }

        .kh-price-data-table tbody tr:last-child td {
            border-bottom: none;
            /* 最後の行のボーダーは消す */
        }

        .kh-price-data-table tbody tr:nth-child(odd) {
            background-color: #f2f2f2;
        }

        .kh-price-data-table tbody tr:nth-child(even) {
            background-color: #fff;
        }

        .kh-price-data-table th:nth-child(2),
        .kh-price-data-table td:nth-child(2),
        .kh-price-data-table th:nth-child(3),
        .kh-price-data-table td:nth-child(3) {
            border-left: 1px solid #000;
        }

        .kh-price-data-table .kh-yen-unit {
            font-size: 12px;
            font-weight: 400;
            margin-left: 3px;
            color: inherit;
        }

        .kh-price-data-table td.kh-price-col,
        .kh-price-data-table td.kh-diff-col {
            text-align: right;
            padding-right: 1em;
        }

        .kh-diff-plus {
            color: #E60012;
        }

        .kh-diff-minus {
            color: #007bff;
        }

        .kh-diff-zero {
            color: #333;
        }

        .kh-price-table-note {
            font-size: 12px;
            color: #000;
            margin-top: 10px;

        }

        .kh-price-bottom-link {
            margin-top: 1em;
            text-align: center;
        }

        .kh-price-bottom-link a {
            color: #E60012;
            text-decoration: underline;
            font-weight: bold;
        }

        @media (max-width: 767px) {
            .kh-price-selector {
                width: 90%;
            }

            .kh-price-data-table td.kh-price-col,
            .kh-price-data-table td.kh-diff-col {
                padding-right: 0.5em;
            }

            .kh-price-table-container .kh-price-table-title {
                font-size: 3.8vw;
            }
        }
        #kinGramMarketPrice {
            .eachPricePerGram dl:first-of-type {
                background: #787878;
                color: #fff;
            }

            @media (max-width: 767px) {
                .flex__content .content__item {
                    width: 41.8% !important
                }

                .brandinfo_section_Priceper_1g h2.brandinfo__header__title {
                    text-align: left;
                }
            }

            .brandinfo_section_Priceper_1g .brandinfo__body {
                padding: 1rem 0rem 1rem !important;
                background-image: none;
                border-bottom-right-radius: 1.5rem;
                border-bottom-left-radius: 1.5rem;
                background-color: #fff;
            }


            .eachPricePerGram {
                border-radius: 12px;
                background: #f2f2f2;
                align-items: flex-start;
                position: relative;
            }

            .eachPricePerGram>div {
                overflow: hidden;
                height: 100%;
                border-radius: 12px;
                border: 1px solid #787878;
            }



            .eachPricePerGram dl {
                display: grid;
                grid-template-columns: calc(75% / 3) calc(125% / 3) calc(100% / 3);
                grid-template-rows: 1fr;
                margin-bottom: 0;
            }


            .eachPricePerGram dl:not(:last-of-type) {
                border-bottom: 1px solid #787878;
            }

            .eachPricePerGram dl:last-of-type {

                border-radius: 12px;
            }

            /* 最後の行の最初の要素 (dtまたはdd) の左下の角を丸める */
            .eachPricePerGram div>dl:last-of-type>*:first-child {
                border-bottom-left-radius: 9px;
            }

            /* 最後の行の最後の要素 (dd) の右下の角を丸める */
            .eachPricePerGram div>dl:last-of-type>*:last-child {
                border-bottom-right-radius: 9px;
            }


            .eachPricePerGram dl>* {
                text-align: center;
                line-height: 1;
                padding: 0.95em 0;
                margin-bottom: 0;
                font-weight: 400;
                font-size: 14px;
            }

            .eachPricePerGram dt {
                font-size: 20px;
                font-weight: bold;
                color: #000;
                border-left: 1px solid #787878;
            }

            .eachPricePerGram dt>span {
                font-size: 12px;
                font-weight: bold;
                margin-left: 1%;

            }

            .eachPricePerGram dl:first-of-type dd {
                font-size: 14px;
                font-weight: 600;
                color: #fff;
                line-height: 1.2;
            }

            .eachPricePerGram dd {
                font-size: 20px;
                font-weight: bold;
                color: #000;
                border-left: 1px solid #000;
            }

            .eachPricePerGram dd>span {
                font-size: 12px;
                font-weight: 600;
                margin-left: 2%;
            }



            .gram_market_price.withOz .eachPricePerGram dl>dt {
                text-align: center;
            }

            .gram_market_price.withOz .eachPricePerGram dl>dd {
                text-align: left;
                padding: 1.25em 1.5em;
                border-left: 1px solid #000;
            }

            .eachPricePerGram dl>*:not(:nth-of-type(1)) {
                border-left: 1px solid #000;
            }

            .eachPricePerGram div>dl:nth-child(even) {
                background-color: #fff;
            }


            /* 2行目以降を対象 */
            .eachPricePerGram div>dl:nth-child(n+2)>*:first-child {
                /* 1列目を中央揃え */
                text-align: center;
            }

            .eachPricePerGram div>dl:nth-child(n+2)>*:nth-child(2),
            .eachPricePerGram div>dl:nth-child(n+2)>*:nth-child(3) {
                /* 2列目と3列目を右揃え */
                text-align: right;
                padding-right: 5px;
                /* 右側に余白を追加して見やすくします */
            }

            @media (max-width: 767px) {
                .brandinfo_section_Priceper_1g h2.brandinfo__header__title {
                    text-align: left;
                    margin-left: 5%;
                }
            }

            .eachPricePerGram dl:first-of-type dd {
                display: flex;
                align-items: center;
                justify-content: center;
            }

            /* 1行目1列目の不要な左ボーダーを削除 */
            .eachPricePerGram dl:first-of-type dd:first-of-type {
                border-left: none;
            }

            .fshoplist-target__list {
                padding: 0.75rem 0rem;
            }

            .eachPricePerGram .inc {
                color: #d82300;
            }

            .eachPricePerGram .dec {
                color: #009fff;
            }
        }
        #kinGramMarketPrice {
        .eachPricePerGram dl:first-of-type {
            background: #787878;
            color: #fff;
        }

        @media (max-width: 767px) {
            .flex__content .content__item {
                width: 41.8% !important
            }

            .brandinfo_section_Priceper_1g h2.brandinfo__header__title {
                text-align: left;
            }
        }

        .brandinfo_section_Priceper_1g .brandinfo__body {
            padding: 1rem 0rem 1rem !important;
            background-image: none;
            border-bottom-right-radius: 1.5rem;
            border-bottom-left-radius: 1.5rem;
            background-color: #fff;
        }


        .eachPricePerGram {
            border-radius: 12px;
            background: #f2f2f2;
            align-items: flex-start;
            position: relative;
        }

        .eachPricePerGram>div {
            overflow: hidden;
            height: 100%;
            border-radius: 12px;
            border: 1px solid #787878;
        }



        .eachPricePerGram dl {
            display: grid;
            grid-template-columns: calc(75% / 3) calc(125% / 3) calc(100% / 3);
            grid-template-rows: 1fr;
            margin-bottom: 0;
        }


        .eachPricePerGram dl:not(:last-of-type) {
            border-bottom: 1px solid #787878;
        }

        .eachPricePerGram dl:last-of-type {

            border-radius: 12px;
        }

        /* 最後の行の最初の要素 (dtまたはdd) の左下の角を丸める */
        .eachPricePerGram div>dl:last-of-type>*:first-child {
            border-bottom-left-radius: 9px;
        }

        /* 最後の行の最後の要素 (dd) の右下の角を丸める */
        .eachPricePerGram div>dl:last-of-type>*:last-child {
            border-bottom-right-radius: 9px;
        }


        .eachPricePerGram dl>* {
            text-align: center;
            line-height: 1;
            padding: 0.95em 0;
            margin-bottom: 0;
            font-weight: 400;
            font-size: 14px;
        }

        .eachPricePerGram dt {
            font-size: 20px;
            font-weight: bold;
            color: #000;
            border-left: 1px solid #787878;
        }

        .eachPricePerGram dt>span {
            font-size: 12px;
            font-weight: bold;
            margin-left: 1%;

        }

        .eachPricePerGram dl:first-of-type dd {
            font-size: 14px;
            font-weight: 600;
            color: #fff;
            line-height: 1.2;
        }

        .eachPricePerGram dd {
            font-size: 20px;
            font-weight: bold;
            color: #000;
            border-left: 1px solid #000;
        }

        .eachPricePerGram dd>span {
            font-size: 12px;
            font-weight: 600;
            margin-left: 2%;
        }



        .gram_market_price.withOz .eachPricePerGram dl>dt {
            text-align: center;
        }

        .gram_market_price.withOz .eachPricePerGram dl>dd {
            text-align: left;
            padding: 1.25em 1.5em;
            border-left: 1px solid #000;
        }

        .eachPricePerGram dl>*:not(:nth-of-type(1)) {
            border-left: 1px solid #000;
        }

        .eachPricePerGram div>dl:nth-child(even) {
            background-color: #fff;
        }


        /* 2行目以降を対象 */
        .eachPricePerGram div>dl:nth-child(n+2)>*:first-child {
            /* 1列目を中央揃え */
            text-align: center;
        }

        .eachPricePerGram div>dl:nth-child(n+2)>*:nth-child(2),
        .eachPricePerGram div>dl:nth-child(n+2)>*:nth-child(3) {
            /* 2列目と3列目を右揃え */
            text-align: right;
            padding-right: 5px;
            /* 右側に余白を追加して見やすくします */
        }

        @media (max-width: 767px) {
            .brandinfo_section_Priceper_1g h2.brandinfo__header__title {
                text-align: left;
                margin-left: 5%;
            }
        }

        .eachPricePerGram dl:first-of-type dd {
            display: flex;
            align-items: center;
            justify-content: center;
        }

        /* 1行目1列目の不要な左ボーダーを削除 */
        .eachPricePerGram dl:first-of-type dd:first-of-type {
            border-left: none;
        }

        .fshoplist-target__list {
            padding: 0.75rem 0rem;
        }

        .eachPricePerGram .inc {
            color: #d82300;
        }

        .eachPricePerGram .dec {
            color: #009fff;
        }
    }