/* 共通: 入力クリアボタン */
.fr-clear-btn {
    -webkit-appearance: none;
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 16px;
    border: 1px solid #d8dbde;
    background: #fff;
    color: #555;
    font-size: 12px;
    line-height: 1;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .05s ease;
}
.fr-clear-btn::before {
    content: '×';
    display: inline-block;
    font-size: 14px;
    line-height: 1;
    color: currentColor;
}
.fr-clear-btn:hover {
    border-color: #3b0163;
    color: #3b0163;
    background: #f5f0fb;
}
.fr-clear-btn:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(163, 163, 163, 0.45);
}
.fr-clear-btn:active {
    background: #ede2f7;
    transform: scale(0.99);
}
.fr-clear-btn[disabled], .fr-clear-btn:disabled {
    opacity: .6;
    cursor: not-allowed;
}

@media screen and (min-width: 768px) {
    .pr_product_list_side-area #name.pr_form_control {
        height: 33px;
        line-height: normal;
    }

    .pr_product_list_side-area select#mainCategory,
    .pr_product_list_side-area select#subCategory,
    .pr_product_list_side-area select#series {
        height: 33px;
        line-height: normal;
        padding-top: 4px;
        padding-bottom: 4px;
        box-sizing: border-box;
        border: 1px solid #A3A3A3;
        color: #333333;
        background-color: #ffffff;
    }
    .pr_product_list_side-area select#mainCategory:focus,
    .pr_product_list_side-area select#subCategory:focus,
    .pr_product_list_side-area select#series:focus {
        border-color: #7c7c7c;
        box-shadow: 0 0 0 1px rgba(163, 163, 163, 0.35);
        outline: none;
    }

    .pr_product_list_side-area .pr_product_list_side-define-box {
        display: flex;
        align-items: flex-start;
        gap: 12px;
    }
    /* デスクトップ: 各項目の間に仕切り線（dtの下には線を引かない） */
    .pr_product_list_side-area .pr_product_list_side-define-box + .pr_product_list_side-define-box {
        position: relative;
    }
    .pr_product_list_side-area .pr_product_list_side-define-box + .pr_product_list_side-define-box::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        border-top: 1px solid #e5e5e5;
    }
    /* 関連キーワード行の上線は非表示（キーワードと一体視させる） */
    .pr_product_list_side-area .pr_product_list_side-define-box.pr_product_list_side-define-box--related::before,
    .pr_product_list_side-area .pr_product_list_side-define-box + .pr_product_list_side-define-box.pr_product_list_side-define-box--related::before {
        content: none !important;
        border: 0 !important;
    }
    /* デスクトップ: バナーリストの直前にも区切り線を表示（前項目との一貫性） */
    .pr_product_list_side-area .pr_product_list_side-define-box + .pr_side-banners {
        position: relative;
        margin-top: 0;     /* 線を詰めるため margin を打ち消し */
        padding-top: 12px; /* 代わりに内側余白を付与 */
    }
    .pr_product_list_side-area .pr_product_list_side-define-box + .pr_side-banners::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        border-top: 1px solid #e5e5e5;
    }
    .pr_product_list_side-area .pr_product_list_side-define-box:first-child { padding-top: 0; }
    .pr_product_list_side-area .pr_product_list_side-define-box dt {
        width: 7.5em;
        min-width: 7.5em;
        margin: 6px 0 0;
        font-weight: 600;
        white-space: nowrap;
        color: #333;
        text-decoration: none;
        border: 0;
    }
    .pr_product_list_side-area .pr_product_list_side-define-box dd {
        flex: 1;
        margin: 0;
    }
    /* サイドバー dt 色: キーワード/性別/価格/カラー/シリーズ/特徴/サイズ を #100016 に */
    .pr_product_list_side-area .pr_product_list_side-define-box:has(#name) dt,
    .pr_product_list_side-area .pr_product_list_side-define-box:has(#gender) dt,
    .pr_product_list_side-area .pr_product_list_side-define-box:has(.pr_product_list_side-price-range) dt,
    .pr_product_list_side-area .pr_product_list_side-define-box:has(#color) dt,
    .pr_product_list_side-area .pr_product_list_side-define-box:has(#series) dt,
    .pr_product_list_side-area .pr_product_list_side-define-box:has(#item_spec) dt,
    .pr_product_list_side-area .pr_product_list_side-define-box:has(#size) dt {
        color: #100016;
    }

    /* 各項目の上に20pxの内側余白（dt・ddの上を空ける） */
    .pr_product_list_side-area .pr_product_list_side-define-box:has(#gender),
    .pr_product_list_side-area .pr_product_list_side-define-box:has(#category),
    .pr_product_list_side-area .pr_product_list_side-define-box:has(#category_id),
    .pr_product_list_side-area .pr_product_list_side-define-box:has(#mainCategory),
    .pr_product_list_side-area .pr_product_list_side-define-box:has(#subCategory),
    .pr_product_list_side-area .pr_product_list_side-define-box:has(.pr_product_list_side-price-range),
    .pr_product_list_side-area .pr_product_list_side-define-box:has(#color),
    .pr_product_list_side-area .pr_product_list_side-define-box:has(.pr_product_list_side-color-list),
    .pr_product_list_side-area .pr_product_list_side-define-box:has(#series),
    .pr_product_list_side-area .pr_product_list_side-define-box:has(#item_spec),
    .pr_product_list_side-area .pr_product_list_side-define-box:has(#size) {
        padding-top: 20px;
    }
    /* 人気タグ: 見出し(dt)の文字色を薄いグレーに */
    .pr_product_list_side-area .pr_product_list_side-define-box.pr_product_list_side-define-box--related dt {
        color: #999999;
    }
    .pr_product_list_side-select-list img {
        width: 60px;
        height: auto;
    }

    #item_spec.pr_product_list_side-select-list {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 10px;
        padding: 0;
        margin: 0;
        list-style: none;
    }
    #item_spec.pr_product_list_side-select-list > li {
        display: block;
        margin: 0;
        text-align: center;
    }
    #item_spec.pr_product_list_side-select-list > li span {
        display: inline-block;
        padding: 0;
        background: transparent !important;
        border: none !important;
        cursor: pointer;
        position: relative;
    }
    #item_spec.pr_product_list_side-select-list > li span img {
        width: 50px;
        height: auto;
        display: inline-block;
    }
    /* 選択時: 画像自体は薄くしない。灰色のオーバーレイ + 真ん中にチェックのみ */
    #item_spec.pr_product_list_side-select-list > li span.pr_pls-selected::before,
    #item_spec.pr_product_list_side-select-list > li span.selected::before {
        content: '';
        position: absolute;
        inset: 0;
        background: rgba(255,255,255,0);
        z-index: 1;
    }
    #item_spec.pr_product_list_side-select-list > li span.pr_pls-selected::after,
    #item_spec.pr_product_list_side-select-list > li span.selected::after {
        content: '✓';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: #fff;
        font-size: 18px;
        line-height: 1;
        z-index: 2;
        text-shadow: 0 1px 2px rgba(0,0,0,.35);
    }
    #item_spec.pr_product_list_side-select-list > li span.pr_pls-selected,
    #item_spec.pr_product_list_side-select-list > li span.selected {
        border: 1px solid #A3A3A3 !important;
        background: #A3A3A3 !important;
        color: #FFFFFF !important;
        box-shadow: none !important;
    }

    #gender.pr_product_list_side-select-list>li,
    #size.pr_product_list_side-select-list>li,
    #series.pr_product_list_side-select-list>li {
        display: inline-block;
        margin-right: 6px;
        margin-bottom: 6px;
        padding: 0;
        background: transparent;
    }

    /* クリック対象のベース見た目 */
    .pr_product_list_side-select-list > li span {
        display: inline-block;
        padding: 6px 10px;
        background: #ffffff;
        border: 1px solid #A3A3A3;
        color: #333333;
        font-size: 13px;
        line-height: 1;
        cursor: pointer;
        transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
    }
    .pr_product_list_side-select-list > li span:hover {
        border-color: #7c7c7c;
        background-color: #EBEBEB;
    }
    .pr_product_list_side-select-list > li span:focus {
        outline: none;
        box-shadow: 0 0 0 1px rgba(163, 163, 163, 0.35);
    }

    .pr_product_list_side-color-list {
        /* カラー: 6列グリッド（デスクトップ） */
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 8px;
        padding: 0;
        margin: 0;
        list-style: none;
        justify-content: start;
    }
    .pr_product_list_side-color-list li {
        display: block;
        margin: 0;
        text-align: center;
    }

    .pr_product_list_side-color-list .selected {
        border: none !important; /* 選択時の枠を削除 */
        box-sizing: border-box;
    }

    /* 白(ホワイト)だけは視認性のため常時1px枠を付与（選択/非選択どちらも） */
    .pr_product_list_side-color-list .js_fr_search_products_search_product_color[title="ホワイト"],
    .pr_product_list_side-color-list .js_fr_search_products_search_product_color[data-value="ホワイト"] {
        border: 1px solid #ccc !important;
    }
    .pr_product_list_side-color-list .js_fr_search_products_search_product_color.selected[title="ホワイト"],
    .pr_product_list_side-color-list .js_fr_search_products_search_product_color.selected[data-value="ホワイト"] {
        border: 1px solid #ccc !important;
    }

    /* カラー選択の視覚的な選択状態 */
    .pr_product_list_side-color-list .js_fr_search_products_search_product_color {
        position: relative;
        width: 20px;
        height: 20px;
        display: block;
        box-sizing: border-box; /* 選択時のボーダー追加でもサイズを維持 */
        border-radius: 0; /* 正方形に */
    }
    .pr_product_list_side-color-list .js_fr_search_products_search_product_color.selected {
        box-shadow: none; /* 選択時のインセット影を削除 */
        outline: 0;       /* 選択時のアウトラインを削除 */
    }
    /* 選択中: 真ん中にチェックのみ（枠・バッジなし） */
    .pr_product_list_side-color-list .js_fr_search_products_search_product_color.selected::after {
        content: '✓';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: #fff;
        font-size: 12px;
        line-height: 1;
        text-shadow: 0 1px 2px rgba(0,0,0,.6); /* 明度の高い色上でも視認性を確保 */
        pointer-events: none;
    }
    /* ホワイト選択時のチェックは黒に */
    .pr_product_list_side-color-list .js_fr_search_products_search_product_color.selected[title="ホワイト"]::after,
    .pr_product_list_side-color-list .js_fr_search_products_search_product_color.selected[data-value="ホワイト"]::after {
        color: #000 !important;
        text-shadow: none;
    }
    /* 選択リスト（性別/特徴/サイズ）の選択状態 */
    .pr_product_list_side-select-list > li span.pr_pls-selected,
    .pr_product_list_side-select-list > li span.selected {
        border-color: #A3A3A3 !important;
        background-color: #A3A3A3 !important;
        color: #FFFFFF;
        box-shadow: none;
        font-weight: 600;
    }
    /* 価格スライダー */
    .fr_price-slider {
        position: relative; padding: 6px 2px 0;
    }
    .fr_price-slider .fr_slider-track {
        position: relative; height: 6px; background: #ddd; border-radius: 3px; margin: 18px 2px 10px;
    }
    .fr_price-slider .fr_slider-range {
        position: absolute; top: 0; left: 0; height: 100%; width: 0; background: #3b0163; border-radius: 3px;
    }
    .fr_price-slider input[type=range] {
        -webkit-appearance: none; appearance: none; width: 100%; background: transparent; position: absolute; left: 0; top: 18px; margin: 0; height: 18px; pointer-events: none;
    }
    .fr_price-slider input[type=range]::-webkit-slider-thumb {
        -webkit-appearance: none; appearance: none; width: 16px; height: 16px; border-radius: 50%; background: #3b0163; cursor: pointer; border: 2px solid #fff; box-shadow: 0 0 0 1px #3b0163; pointer-events: all;
    }
    .fr_price-slider input[type=range]::-moz-range-thumb {
        width: 16px; height: 16px; border-radius: 50%; background: #3b0163; cursor: pointer; border: 2px solid #fff; box-shadow: 0 0 0 1px #3b0163; pointer-events: all;
    }
    .fr_price-slider input[type=range]::-webkit-slider-runnable-track {
        background: transparent;
    }
    .fr_price-slider input[type=range]::-moz-range-track {
        background: transparent;
    }
    .fr_price-slider .fr_slider-labels {
        display: flex;
        justify-content: space-between;
        font-size: 12px;
        color: #666;
    }

    /* サイドバー内の縦バナー */
    .pr_side-banners {
        list-style: none;
        padding: 0;
        margin: 12px 0 0;
    }
    .pr_side-banners > li {
        margin-bottom: 10px;
    }
    .pr_side-banners > li a {
        display: block;
        text-decoration: none;
    }
    .pr_side-banners > li img {
        width: 100%;
        height: auto;
        display: block;
    }

    /* 詳細検索フォーム: 特徴 5列 + 選択時オーバーレイ/中央チェック（サイドバーと統一） */
    .pr_detail-search-feature-list {
        display: grid;
        grid-template-columns: repeat(8, 1fr);
        gap: 3px;
        padding: 0;
        margin: 0;
        list-style: none;
    }
    .pr_detail-search-feature {
        display: block;
        text-align: center;
    }
    .pr_detail-search-feature > span {
        display: inline-block;
        position: relative; /* ::before/::after の基準 */
    }
    /* 詳細検索フォームの特徴アイコン */
    .pr_detail-search-fieldset--features .pr_detail-search-feature .pr_detail-search-feature-icon {
        width: 50px;
        height: auto;
        display: inline-block;
    }
    /* 選択時: 灰色のオーバーレイ + 中央チェック */
    .pr_detail-search-feature input:checked + span::before {
        content: '';
        position: absolute;
        inset: 0;
        background: rgba(153,153,153,0.5);
        z-index: 1;
    }
    .pr_detail-search-feature input:checked + span::after {
        content: '✓';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: #fff;
        font-size: 12px;
        line-height: 1;
        z-index: 2;
        text-shadow: 0 1px 2px rgba(0,0,0,.35);
    }

    .pr_detail-search-feature input:checked + span {
        background-color: #A3A3A3;
        border-color: #A3A3A3;
        color: #FFFFFF;
    }

    /* 性別・サイズ: グレーではなく白背景 + 角丸なしに変更（デスクトップのサイドバーに限定） */
    .pr_product_list_side-area #gender .js_fr_search_products_search_product_statuses,
    .pr_product_list_side-area #size .js_fr_search_products_search_product_statuses {
        background-color: #fff !important;
        border: 1px solid #A3A3A3 !important;
        color: #333 !important;
        border-radius: 0 !important;
    }
    /* 選択状態でも角丸なしを維持 */
    .pr_product_list_side-area #gender .js_fr_search_products_search_product_statuses.selected,
    .pr_product_list_side-area #gender .js_fr_search_products_search_product_statuses.pr_pls-selected,
    .pr_product_list_side-area #size .js_fr_search_products_search_product_statuses.selected,
    .pr_product_list_side-area #size .js_fr_search_products_search_product_statuses.pr_pls-selected {
        border-radius: 0 !important;
    }

    /* 人気タグ: 薄いグレー背景 + 角丸5px（デスクトップのサイドバー） */
    .pr_product_list_side-area .pr_detail-search-tag-list .fr-related-word {
        display: inline-block;
        padding: 6px 10px;
        background-color: #fff;
        border: 1px solid #999999;
        color: #999999;
        font-size: 13px;
        line-height: 1;
        border-radius: 5px;
        text-decoration: none;
        cursor: pointer;
        transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
        margin-right: 6px;
        margin-bottom: 6px;
    }
    .pr_product_list_side-area .pr_detail-search-tag-list .fr-related-word:hover {
        border-color: #7c7c7c;
        background-color: #EBEBEB;
    }
    .pr_product_list_side-area .pr_detail-search-tag-list .fr-related-word:focus {
        outline: none;
        box-shadow: 0 0 0 1px rgba(163, 163, 163, 0.35);
    }

    /* キーワード入力（デスクトップ） */
    .pr_product_list_side-area #name.pr_form_control {
        border-color: #000 !important;
    }
    /* 価格入力の枠 + ¥ 表示色（デスクトップ） */
    .pr_product_list_side-area .pr_product_list_side-price-range input[type="text"],
    .pr_product_list_side-area .pr_product_list_side-price-range input[name="price_min"],
    .pr_product_list_side-area .pr_product_list_side-price-range input[name="price_max"] {
        border-color: #A3A3A3 !important;
    }
    .pr_product_list_side-area .pr_product_list_side-price-range span {
        color: #333333 !important;
    }
    /* 価格入力のテキストを左寄せ */
    .pr_product_list_side-area .pr_product_list_side-price-range input[type="number"] {
        text-align: left;
        padding-left: 10px !important; /* 既存の30px指定を上書き */
    }
    /* 念のため、name指定でも上書き（特異性競合対策） */
    .pr_product_list_side-area .pr_product_list_side-price-range input[name="price_min"],
    .pr_product_list_side-area .pr_product_list_side-price-range input[name="price_max"] {
        padding-left: 10px !important;
    }
    .pr_product_list_side-area .pr_product_list_side-price-range input[type="number"]:focus,
    .pr_product_list_side-area .pr_product_list_side-price-range input[name="price_min"]:focus,
    .pr_product_list_side-area .pr_product_list_side-price-range input[name="price_max"]:focus {
        border-color: #7c7c7c !important;
        box-shadow: 0 0 0 1px rgba(163, 163, 163, 0.35);
        outline: none;
    }
    /* 性別/サイズボタン（通常/ホバー/選択時 すべて #100016 に） */
    .pr_product_list_side-area #gender .js_fr_search_products_search_product_statuses,
    .pr_product_list_side-area #size .js_fr_search_products_search_product_statuses {
        color: #333333 !important;
        border-color: #A3A3A3 !important;
        background-color: #ffffff !important;
    }
    .pr_product_list_side-area #gender .js_fr_search_products_search_product_statuses:hover,
    .pr_product_list_side-area #size .js_fr_search_products_search_product_statuses:hover {
        color: #333333 !important;
        border-color: #7c7c7c !important;
        background-color: #EBEBEB !important;
    }
    .pr_product_list_side-area #gender .js_fr_search_products_search_product_statuses.selected,
    .pr_product_list_side-area #gender .js_fr_search_products_search_product_statuses.pr_pls-selected,
    .pr_product_list_side-area #size .js_fr_search_products_search_product_statuses.selected,
    .pr_product_list_side-area #size .js_fr_search_products_search_product_statuses.pr_pls-selected {
        color: #FFFFFF !important;
        border-color: #A3A3A3 !important;
        background-color: #A3A3A3 !important;
        font-weight: 600 !important;
    }
}

@media screen and (max-width: 767px) {
    /* SP 詳細検索: タイトル(左) / 項目(右) の2カラム配置 */
    .pr_search_sp-detail-area .pr_product_list_side-define-box {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 0; /* 各項目の上下余白 */
    }
    .pr_search_sp-detail-area .pr_product_list_side-area select {
        border: 1px solid #A3A3A3;
        color: #333333;
        background-color: #ffffff;
    }
    .pr_search_sp-detail-area .pr_product_list_side-area select:focus {
        border-color: #7c7c7c;
        box-shadow: 0 0 0 1px rgba(163, 163, 163, 0.35);
        outline: none;
    }
    /* 各項目の区切り線（最初は線なし） */
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box {
        border-top: 1px solid #e5e5e5;
    }
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:first-child {
        border-top: none;
        padding-top: 0;
    }
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:last-child {
        padding-bottom: 0;
    }
    .pr_search_sp-detail-area .pr_product_list_side-define-box dt {
        width: 6.5em; /* 日本語見出しに合わせた幅 */
        min-width: 6.5em;
        margin: 6px 0 0; /* 内容の先頭と高さを合わせる */
        font-weight: 600;
        white-space: nowrap;
        color: #333;
    }
    .pr_search_sp-detail-area .pr_product_list_side-define-box dd {
        flex: 1;
        margin: 0; /* デフォルトの左マージンを打ち消す */
    }
    /* SP dt 色: キーワード/性別/価格/カラー/シリーズ/特徴/サイズ を #100016 に */
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:has(#name-sp) dt,
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:has(#gender-sp) dt,
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:has(.fr_price-slider) dt,
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:has(#color) dt,
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:has(.pr_product_list_side-color-list) dt,
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:has(#series-sp) dt,
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:has(#item_spec-sp) dt,
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:has(#size-sp) dt {
        color: #100016;
    }

    /* SP: 各項目の上に20pxの内側余白（dt・ddの上を空ける） */
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:has(#gender-sp),
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:has(#category-sp),
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:has(#category),
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:has(#mainCategory),
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:has(#subCategory),
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:has(#mainCategory-sp),
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:has(#subCategory-sp),
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:has(.fr_price-slider),
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:has(#color),
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:has(.pr_product_list_side-color-list),
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:has(#series-sp),
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:has(#item_spec-sp),
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box:has(#size-sp) {
        padding-top: 20px;
    }
    /* SP: 関連キーワード行のみ、上部の区切り線を消す＆ラベル/内容の間隔を5pxに */
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box.pr_product_list_side-define-box--related {
        border-top: none;
        padding-top: 0; /* 線を消した分の上側余白も詰める */
        gap: 16px;
    }
    @media (max-width: 360px) {
        .pr_search_sp-detail-area .pr_product_list_side-define-box dt {
            width: 5.5em;
            min-width: 5.5em;
        }
    }
    /* コンテナ余白 */
    .pr_product_list_side-area {
        padding: 10px 15px;
    }

    /* 定義ブロック */
    .pr_product_list_side-define-box {
        margin: 12px 0;
    }
    .pr_product_list_side-define-box dt {
        font-weight: bold;
        margin-bottom: 6px;
        font-size: 14px;
    }
    .pr_product_list_side-define-box dd {
        margin: 0;
    }

    /* 選択リスト（性別/サイズ/特徴 など） */
    .pr_product_list_side-select-list {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        padding: 0;
        margin: 0;
        list-style: none;
    }
    .pr_product_list_side-select-list > li {
        display: inline-block;
    }
    .pr_product_list_side-select-list > li span {
        display: inline-block;
        padding: 6px 10px;
        background: #ffffff;
        border: 1px solid #A3A3A3;
        color: #333333;
        font-size: 13px;
        line-height: 1;
    }
    /* 選択状態 */
    .pr_product_list_side-select-list > li span.pr_pls-selected,
    .pr_product_list_side-select-list > li span.selected {
        border-color: #A3A3A3 !important;
        background-color: #A3A3A3 !important;
        color: #FFFFFF;
    }

    /* 性別/サイズ/シリーズ/特徴 の各項目間余白を少し広めに */
    #gender-sp.pr_product_list_side-select-list > li,
    #size-sp.pr_product_list_side-select-list > li,
    #series-sp.pr_product_list_side-select-list > li,
    #item_spec-sp.pr_product_list_side-select-list > li {
        margin-right: 6px;
        margin-bottom: 6px;
    }

    /* カラー一覧（SP）：6列グリッド */
    .pr_product_list_side-color-list {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        padding: 0;
        margin: 0;
        list-style: none;
        justify-content: start;
    }
    .pr_product_list_side-color-list li {
        display: block;
        margin: 0;
        text-align: center;
    }
    .pr_product_list_side-color-list .selected {
        border: none !important;
        box-sizing: border-box;
    }

    /* 白(ホワイト)だけはSPでも常時1px枠を付与 */
    .pr_product_list_side-color-list .js_fr_search_products_search_product_color[title="ホワイト"],
    .pr_product_list_side-color-list .js_fr_search_products_search_product_color[data-value="ホワイト"] {
        border: 1px solid #ccc !important;
    }
    .pr_product_list_side-color-list .js_fr_search_products_search_product_color.selected[title="ホワイト"],
    .pr_product_list_side-color-list .js_fr_search_products_search_product_color.selected[data-value="ホワイト"] {
        border: 1px solid #ccc !important;
    }

    /* SPでもカラー要素を相対配置に（中央チェックの基準） */
    .pr_product_list_side-color-list .js_fr_search_products_search_product_color {
        position: relative;
        width: 20px;
        height: 20px;
        display: block;
        box-sizing: border-box;
        border-radius: 0;
    }
    /* SP: 選択中は中央にチェックのみ */
    .pr_product_list_side-color-list .js_fr_search_products_search_product_color.selected::after {
        content: '✓';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: #fff;
        font-size: 12px;
        line-height: 1;
        text-shadow: 0 1px 2px rgba(0,0,0,.6);
        pointer-events: none;
    }
    /* SP: ホワイト選択時のチェックは黒に */
    .pr_product_list_side-color-list .js_fr_search_products_search_product_color.selected[title="ホワイト"]::after,
    .pr_product_list_side-color-list .js_fr_search_products_search_product_color.selected[data-value="ホワイト"]::after {
        color: #000 !important;
        text-shadow: none;
    }

    /* SP: 人気タグ 見出し色を薄いグレーに */
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_product_list_side-define-box.pr_product_list_side-define-box--related dt {
        color: #999999;
    }

    /* SP: 人気タグの見た目（サイドバーと同じチップスタイル） */
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_detail-search-tag-list .fr-related-word {
        display: inline-block;
        padding: 6px 10px;
        background-color: #fff;
        border: 1px solid #999999;
        color: #999999;
        font-size: 13px;
        line-height: 1;
        border-radius: 5px;
        text-decoration: none;
        cursor: pointer;
        transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
        margin-right: 6px;
        margin-bottom: 6px;
    }
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_detail-search-tag-list .fr-related-word:hover {
        border-color: #7c7c7c;
        background-color: #EBEBEB;
    }
    .pr_search_sp-detail-area .pr_product_list_side-area .pr_detail-search-tag-list .fr-related-word:focus {
        outline: none;
        box-shadow: 0 0 0 1px rgba(163, 163, 163, 0.35);
    }

    /* 価格スライダー（タッチ向けに強調） */
    .fr_price-slider {
        position: relative;
        padding: 10px 2px 0;
    }
    .fr_price-slider .fr_slider-track {
        position: relative;
        height: 8px;
        background: #ddd;
        border-radius: 5px;
        margin: 22px 2px 12px;
    }
    .fr_price-slider .fr_slider-range {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 0;
        background: #3b0163;
        border-radius: 5px;
    }
    .fr_price-slider input[type=range] {
        -webkit-appearance: none;
        appearance: none;
        width: 100%;
        background: transparent;
        position: absolute;
        left: 0;
        top: 25px;
        margin: 0;
        height: 22px;
        pointer-events: none; /* トラックは無効、つまみのみ有効 */
    }
    .fr_price-slider input[type=range]::-webkit-slider-thumb {
        -webkit-appearance: none;
        appearance: none;
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: #3b0163;
        cursor: pointer;
        border: 2px solid #fff;
        box-shadow: 0 0 0 1px #3b0163;
        pointer-events: all; /* つまみは有効 */
    }
    .fr_price-slider input[type=range]::-moz-range-thumb {
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: #3b0163;
        cursor: pointer;
        border: 2px solid #fff;
        box-shadow: 0 0 0 1px #3b0163;
        pointer-events: all;
    }
    .fr_price-slider input[type=range]::-webkit-slider-runnable-track {
        background: transparent;
    }
    .fr_price-slider input[type=range]::-moz-range-track {
        background: transparent;
    }
    .fr_price-slider .fr_slider-labels {
        display: flex;
        justify-content: space-between;
        font-size: 12px;
        color: #666;
    }

    /* 検索入力の見た目（SP） */
    #name-sp.pr_form_control {
        font-size: 16px;
        padding: 8px 10px;
    }

    /* サイドバー内の縦バナー（SP） */
    .pr_side-banners {
        list-style: none;
        padding: 0;
        margin: 12px 0 0;
    }
    .pr_side-banners > li { margin-bottom: 10px; }
    .pr_side-banners > li a { display: block; text-decoration: none; }
    .pr_side-banners > li img { width: 100%; height: auto; display: block; }

    /* SP 詳細検索下のバナー（幅フィット） */
    .pr_search_sp-detail-area nav.pr_hmenu-grid-column {
        width: 90%;
        margin: 0 auto; /* 左右中央寄せ */
    }
    .pr_search_sp-detail-area .pr_hmenu-grid-banners {
        list-style: none;
        padding: 0;
        margin: 12px 0;
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .pr_search_sp-detail-area .pr_hmenu-grid-banners li { margin: 0; }
    .pr_search_sp-detail-area .pr_hmenu-grid-banners a { display: block; }
    .pr_search_sp-detail-area .pr_hmenu-grid-banners img {
        width: 100%;
        height: auto;
        display: block;
    }

    /* バナー画像下のキャプション */
    .pr_search_sp-detail-area .pr_hmenu-grid-banners li a {
        display: block;
        text-align: left;
    }
    .pr_search_sp-detail-area .pr_hmenu-grid-banners .pr_hmenu-banner-caption {
        display: block;
        margin-top: 6px;
        font-size: 12px;
        color: #333;
        line-height: 1.6;
    }

    /* SP: 詳細検索フォームの特徴アイコンも24pxに */
    .pr_detail-search-fieldset--features .pr_detail-search-feature .pr_detail-search-feature-icon {
        width: 24px;
        height: auto;
    }

    /* 特徴アイコン（SP）サイズ調整 */
    #item_spec-sp img {
        width: 32px;
        height: auto;
    }

    #item_spec-sp.pr_product_list_side-select-list {
        display: grid !important;
        grid-template-columns: repeat(5, 1fr);
        gap: 6px;
        padding: 0;
        margin: 0;
        list-style: none;
    }
    #item_spec-sp.pr_product_list_side-select-list > li {
        display: block;
        margin: 0;
        text-align: center;
    }
    #item_spec-sp.pr_product_list_side-select-list > li span {
        display: inline-block;
        padding: 0;
        background: transparent !important;
        border: none !important;
        position: relative;
    }
    #item_spec-sp.pr_product_list_side-select-list > li span.pr_pls-selected::before,
    #item_spec-sp.pr_product_list_side-select-list > li span.selected::before {
        content: '';
        position: absolute;
        inset: 0;
        background: rgba(255,255,255,0);
        z-index: 1;
    }
    #item_spec-sp.pr_product_list_side-select-list > li span.pr_pls-selected::after,
    #item_spec-sp.pr_product_list_side-select-list > li span.selected::after {
        content: '✓';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: #fff;
        font-size: 16px;
        line-height: 1;
        z-index: 2;
        text-shadow: 0 1px 2px rgba(0,0,0,.35);
    }
    #item_spec-sp.pr_product_list_side-select-list > li span.pr_pls-selected,
    #item_spec-sp.pr_product_list_side-select-list > li span.selected {
        border: 1px solid #A3A3A3 !important;
        background: #A3A3A3 !important;
        color: #FFFFFF !important;
        box-shadow: none !important;
    }

    /* 性別・サイズ（各項目）を横並びに（特徴は上のgrid指定を優先） */
    #gender-sp,
    #size-sp {
        display: flex !important;
        flex-wrap: wrap;
        gap: 6px;
        padding: 0;
        margin: 0;
        list-style: none;
    }
    #gender-sp > li,
    #size-sp > li {
        display: inline-flex;
        align-items: center;
        width: auto !important;
        margin: 0 6px 6px 0;
    }
    #gender-sp > li span,
    #size-sp > li span {
        display: inline-block;
    }

    /* SP ヘッダー内の性別・サイズボタンをサイドバーと同じ見た目に（白背景・角丸なし・枠/文字グレー） */
    #gender-sp.pr_product_list_side-select-list > li span,
    #size-sp.pr_product_list_side-select-list > li span {
        background-color: #ffffff !important;
        color: #333333 !important;
        border: 1px solid #A3A3A3 !important;
        border-radius: 0 !important;
    }
    #gender-sp.pr_product_list_side-select-list > li span:hover,
    #size-sp.pr_product_list_side-select-list > li span:hover {
        background-color: #EBEBEB !important;
        color: #333333 !important;
        border-color: #7c7c7c !important;
    }
    /* 選択時も角丸なしを維持 */
    #gender-sp.pr_product_list_side-select-list > li span.selected,
    #gender-sp.pr_product_list_side-select-list > li span.pr_pls-selected,
    #size-sp.pr_product_list_side-select-list > li span.selected,
    #size-sp.pr_product_list_side-select-list > li span.pr_pls-selected {
        border-radius: 0 !important;
    }

    /* SP: 性別/サイズボタンの選択時は背景/枠 #A3A3A3・文字色#fffに */
    #gender-sp.pr_product_list_side-select-list > li span.pr_pls-selected,
    #gender-sp.pr_product_list_side-select-list > li span.selected,
    #size-sp.pr_product_list_side-select-list > li span.pr_pls-selected,
    #size-sp.pr_product_list_side-select-list > li span.selected {
        background-color: #A3A3A3 !important;
        color: #ffffff !important;
        border-color: #A3A3A3 !important;
        font-weight: 600 !important;
    }
}
