/* =========================================================
   SOBHANI STORE
   WordPress Store Override
========================================================= */


/* =========================================================
   01. BASE
========================================================= */

*,
*::before,
*::after {
	box-sizing: border-box;
}


/* =========================================================
   02. STORE PAGE
========================================================= */

.container-03-s {
	width: min(calc(100% - 48px), 1440px);
	margin-inline: auto;
}


.oshirase-a {
	font-size: 14px;
	line-height: 1.8;
	text-align: center;
}


/* =========================================================
   03. STORE INTRO
   RUG IDEAS 見出しデザインに統一
========================================================= */

.store-intro {
    width: min(calc(100% - 40px), 1200px);
    margin: 0 auto;
    padding: 80px 0 110px;

    color: #222;
    text-align: center;
}

/* 上部英語ラベル */
.store-intro__label {
    margin: 0 0 20px;

    font-size: 11px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: .28em;
}

/* 日本語メインタイトル */
.store-intro__title {
    margin: 0;

    font-size: clamp(24px, 3vw, 32px);
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: .08em;
}

/* 下部英語サブタイトル */
.store-intro__en {
    margin: 20px 0 0;

    font-size: 11px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: .28em;
}

/* 説明文 */
.store-intro__text {
    margin: 38px 0;

    color: #555;

    font-size: clamp(13px, 1vw, 15px);
    font-weight: 400;
    line-height: 2.1;
    letter-spacing: .07em;
}

.store-intro__text p {
    margin: 0;
}
/* =========================================================
   04. INTERNAL DATA
========================================================= */

#fs_lblSize_H,
#fs_lblSize_W {
	display: none !important;
}


/* =========================================================
   05. PRODUCT AREA
   元CSSの内部スクロールを完全解除
========================================================= */

#fs_list_item {
	width: 100% !important;

	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;

	margin: 0 !important;
	padding: 0 !important;

	overflow: visible !important;
	overflow-x: visible !important;
	overflow-y: visible !important;

	-ms-overflow-style: auto !important;
	scrollbar-width: auto !important;
}


#fs_item_slider {
	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* =========================================================
   06. ACCORDION RESET
========================================================= */

.accordion_one-top,
.accordion_one {
	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}


.accordion_one .accordion_header,
.accordion_one-top .accordion_header {
	font-weight: 400 !important;
}

/* =========================================================
   07. FILTER WRAPPER
========================================================= */

.hamburger-menu {
    display: block !important;

    width: 100% !important;
    max-width: 760px !important;

    margin: 0 auto 32px !important;
    padding: 0 !important;

    background: transparent !important;
}


/* =========================================================
   08. FILTER MAIN BAR
========================================================= */

.accordion_header.tess {
    position: relative !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: 100% !important;
    min-height: 44px !important;

    margin: 0 !important;
    padding: 10px 30px 10px 0 !important;

    background: transparent !important;
    color: #55514d !important;

    border: 0 !important;
    border-bottom: 1px solid #dedad3 !important;

    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    letter-spacing: .12em !important;

    text-align: left !important;

    cursor: pointer !important;
}

.accordion_header.tess:hover {
    background: transparent !important;
    color: #927b4c !important;
}


/* =========================================================
   09. FILTER MAIN ICON
========================================================= */

.accordion_header.tess > .i_box {
    position: absolute !important;

    top: 50% !important;
    right: 2px !important;

    display: block !important;

    width: 12px !important;
    height: 12px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    transform: translateY(-50%) !important;
}

.accordion_header.tess > .i_box .one_i {
    position: relative !important;

    display: block !important;

    width: 12px !important;
    height: 12px !important;

    transform: none !important;
}

/* 横線 */

.accordion_header.tess > .i_box .one_i::after {
    content: "" !important;

    position: absolute !important;

    top: 5px !important;
    left: 0 !important;

    display: block !important;

    width: 12px !important;
    height: 1px !important;

    background: #9b8456 !important;
    border: 0 !important;
    border-radius: 0 !important;

    transform: none !important;
}

/* 縦線 */

.accordion_header.tess > .i_box .one_i::before {
    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    left: 5px !important;

    display: block !important;

    width: 1px !important;
    height: 12px !important;

    background: #9b8456 !important;
    border: 0 !important;
    border-radius: 0 !important;

    transform: none !important;
}

/* 開いたときは − */

.accordion_header.tess.open > .i_box .one_i::before {
    display: none !important;
    content: none !important;
}


/* =========================================================
   10. FILTER GRID
   PC : 2 COLUMNS
========================================================= */

.tess2 {
    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;

    grid-auto-flow: row !important;

    column-gap: 36px !important;
    row-gap: 0 !important;

    width: 100% !important;
    max-width: 760px !important;

    margin: 0 auto !important;
    padding: 12px 0 0 !important;

    background: transparent !important;
}

/* 過去の4列・12列指定を解除 */

.tess2 > .accordion_one:nth-child(n),
.tess2 > .accordion_one:nth-of-type(n) {
    grid-column: auto !important;
    grid-row: auto !important;
}


/* =========================================================
   11. FILTER ITEM
========================================================= */

.tess2 > .accordion_one {
    position: relative !important;

    display: block !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;
    border-bottom: 1px solid #e5e1db !important;
}


/* =========================================================
   12. FILTER ITEM HEADER
========================================================= */

.tess2 > .accordion_one > .accordion_header {
    position: relative !important;

    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    min-height: 42px !important;

    margin: 0 !important;
    padding: 10px 22px 10px 0 !important;

    background: transparent !important;
    color: #55514d !important;

    border: 0 !important;

    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    letter-spacing: .06em !important;

    text-align: left !important;

    cursor: pointer !important;
}

.tess2 > .accordion_one > .accordion_header:hover {
    background: transparent !important;
    color: #927b4c !important;
}


/* =========================================================
   13. FILTER ITEM ICON
========================================================= */

.tess2 > .accordion_one > .accordion_header .i_box {
    position: absolute !important;

    top: 50% !important;
    right: 2px !important;

    display: block !important;

    width: 10px !important;
    height: 10px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    transform: translateY(-50%) !important;
}

.tess2 > .accordion_one > .accordion_header .i_box .one_i {
    position: relative !important;

    display: block !important;

    width: 10px !important;
    height: 10px !important;

    transform: none !important;
}

.tess2 > .accordion_one > .accordion_header .i_box .one_i::after {
    content: "" !important;

    position: absolute !important;

    top: 4px !important;
    left: 0 !important;

    display: block !important;

    width: 10px !important;
    height: 1px !important;

    background: #9b8456 !important;

    border: 0 !important;
    border-radius: 0 !important;

    transform: none !important;
}

.tess2 > .accordion_one > .accordion_header .i_box .one_i::before {
    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    left: 4px !important;

    display: block !important;

    width: 1px !important;
    height: 10px !important;

    background: #9b8456 !important;

    border: 0 !important;
    border-radius: 0 !important;

    transform: none !important;
}

.tess2 > .accordion_one > .accordion_header.open .i_box .one_i::before {
    display: none !important;
    content: none !important;
}


/* =========================================================
   14. FILTER INNER
========================================================= */

.tess2 .accordion_inner {
    position: relative !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 0 10px !important;

    box-sizing: border-box !important;
}

.tess2 .accordion_inner .accordion_header,
.tess2 .accordion_inner .accordion_inner .accordion_header {
    position: relative !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    background: transparent !important;

    overflow: visible !important;
}


/* =========================================================
   15. FILTER VALUES / OPTIONS
========================================================= */

#fs_width_label,
#fs_height_label {
    margin: 3px 0 7px !important;

    color: #777 !important;

    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;

    text-align: left !important;
}

#fs_width_slider,
#fs_height_slider {
    width: 100% !important;

    margin: 4px 0 12px !important;
}

#fs_search_series,
#fs_search_pattern,
#fs_search_border,
#fs_search_field,
#fs_search_maker,
#fs_search_type {
    width: 100% !important;

    height: auto !important;
    max-height: 180px !important;

    margin: 0 !important;
    padding: 5px 0 10px !important;

    color: #55514d !important;

    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;

    text-align: left !important;

    overflow-y: auto !important;
}

.tess2 label {
    display: flex !important;
    align-items: center !important;

    gap: 8px !important;

    margin: 0 !important;
    padding: 5px 0 !important;

    color: #55514d !important;

    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;

    cursor: pointer !important;
}

.tess2 input[type="checkbox"],
.tess2 input[type="radio"] {
    width: 14px !important;
    height: 14px !important;

    margin: 0 !important;

    flex: 0 0 14px !important;

    accent-color: #9b8456;
}


/* =========================================================
   16. FILTER SYSTEM / RESPONSIVE
========================================================= */

/* 既存システムの非表示項目を維持 */

.tess2 > .accordion_one:nth-of-type(7) {
    display: none !important;
}

.accordion_one:nth-of-type(7) .accordion_inner .accordion_header,
.accordion_one:nth-of-type(7) .accordion_inner .accordion_inner .accordion_header {
    display: none !important;
}




/* TABLET */

@media screen and (max-width: 900px) {

    .hamburger-menu {
        max-width: calc(100% - 40px) !important;
    }

    .tess2 {
        column-gap: 26px !important;
    }

}


/* MOBILE */

@media screen and (max-width: 700px) {

    .hamburger-menu {
        width: calc(100% - 36px) !important;
        max-width: none !important;

        margin: 0 auto 22px !important;
    }

    .accordion_header.tess {
        min-height: 42px !important;
    }

    .tess2 {
        display: block !important;

        width: 100% !important;
        max-width: none !important;

        padding-top: 6px !important;
    }

    .tess2 > .accordion_one > .accordion_header {
        min-height: 44px !important;

        padding: 11px 24px 11px 0 !important;
    }

}

/* =========================================================
   17. PRODUCT CARD
========================================================= */

.FormMain_WRG1 > div,
.FormMain_WRG1 .sobhani-product-card {
	display: block !important;

	width: 100% !important;
	min-width: 0 !important;

	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;

	margin: 0 !important;
	padding: 0 !important;

	background: transparent !important;

	border: 0 !important;
	border-radius: 0 !important;

	box-shadow: none !important;

	grid-template-rows: none !important;

	font-weight: 400 !important;
}


/* =========================================================
   18. PRODUCT TITLE
========================================================= */

.FormMain_WRG1 h5 {
	position: relative !important;

	margin: 0 0 14px !important;

	padding:
		0
		70px
		0
		0 !important;

	color: #333 !important;

	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.55 !important;
	letter-spacing: .035em !important;
}


/* =========================================================
   19. PRODUCT NUMBER
========================================================= */

.FormMain_WRG1 h5 span,
.FormMain_WRG1 .sobhani-product-number {
	position: absolute !important;

	top: 2px !important;
	right: 0 !important;

	float: none !important;

	margin: 0 !important;
	padding: 0 !important;

	background: transparent !important;

	color: #888 !important;

	border: 0 !important;
	border-radius: 0 !important;

	font-size: 12px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	letter-spacing: .04em !important;
}


.FormMain_WRG1 h5 span::before {
	content: "No. ";
}


/* =========================================================
   20. PRODUCT IMAGE
========================================================= */

.FormMain_WRG1 img.gazou-d,
.FormMain_WRG1 .gazou-d {
	display: block !important;

	width: 100% !important;
	max-width: 100% !important;

	height: auto !important;
	max-height: none !important;

	margin: 0 !important;
	padding: 0 !important;

	background: #f7f6f3 !important;

	border: 0 !important;
	border-radius: 0 !important;

	object-fit: contain !important;

	transition:
		opacity .35s ease !important;
}


.FormMain_WRG1 > div:hover .gazou-d {
	opacity: .94;
}


.FormMain_WRG1 > div:hover {
	transform: none !important;
}


/* =========================================================
   21. PRODUCT INFO
========================================================= */

.FormMain_WRG1 .list-group {
	margin: 14px 0 0 !important;
	padding: 0 !important;

	list-style: none !important;

	color: #444 !important;

	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.75 !important;
	letter-spacing: .02em !important;
}


.FormMain_WRG1 .list-group-item {
	margin: 0 !important;
	padding: 0 !important;

	background: transparent !important;

	color: #444 !important;

	border: 0 !important;

	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.75 !important;
}


.FormMain_WRG1 .list-group li:nth-child(2) {
	margin: 2px 0 0 !important;
	padding: 0 !important;

	color: #999 !important;

	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
	letter-spacing: .025em !important;
}


/* =========================================================
   22. CONTACT
========================================================= */

.FormMain_WRG1 > div > a,
.FormMain_WRG1 .sobhani-product-contact {
	display: block !important;

	width: 100% !important;

	margin: 17px 0 0 !important;

	color: inherit !important;

	text-decoration: none !important;
}


/* =========================================================
   23. CONTACT BUTTON
========================================================= */

.FormMain_WRG1 .inqBtn {
	position: relative !important;

	display: block !important;

	width: 100% !important;

	margin: 0 !important;

	padding:
		10px
		30px
		10px
		0 !important;

	background: transparent !important;

	color: #555 !important;

	border: 0 !important;
	border-bottom: 1px solid #d8d4ce !important;

	border-radius: 0 !important;

	box-shadow: none !important;

	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	letter-spacing: .06em !important;

	text-align: left !important;

	cursor: pointer !important;

	transition:
		color .3s ease,
		border-color .3s ease !important;
}


.FormMain_WRG1 .inqBtn::after {
	content: "→";

	position: absolute;

	top: 50%;
	right: 0;

	color: #999;

	font-size: 13px;

	transform: translateY(-50%);

	transition:
		color .3s ease,
		transform .3s ease;
}


.FormMain_WRG1 .inqBtn:hover {
	background: transparent !important;

	color: #9b8456 !important;

	border-bottom-color: #9b8456 !important;
}


.FormMain_WRG1 .inqBtn:hover::after {
	color: #9b8456;

	transform:
		translate(4px, -50%);
}


/* =========================================================
   24. TABLET
========================================================= */

@media screen and (max-width: 1024px) {



	/* PRODUCTS */

	.FormMain_WRG1 {
		grid-template-columns:
			repeat(2, minmax(0, 1fr)) !important;

		column-gap: 28px !important;
		row-gap: 60px !important;

		margin-bottom: 70px !important;
	}

}



/* =========================================================
   25. MOBILE
   既存チェックボックスによるハンバーガー開閉を復旧
========================================================= */

@media screen and (max-width: 767px) {

  /* =====================================================
   25-1. PAGE CONTAINER / MOBILE
===================================================== */

.container-03-s {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

.container {
    margin: 0;
    padding: 0;
    animation: none;
    -webkit-animation: none;
}
/* =====================================================
   25-2. STORE INTRO / MOBILE
===================================================== */

.store-intro {
    width: calc(100% - 36px);
    margin: 0 auto;
    padding: 60px 0 65px;
}

.store-intro__label {
    margin-bottom: 18px;
    font-size: 10px;
    letter-spacing: .24em;
}

.store-intro__title {
    font-size: clamp(22px, 5.5vw, 28px);
    line-height: 1.65;
    letter-spacing: .05em;
}

.store-intro__en {
    margin-top: 18px;
    font-size: 10px;
    letter-spacing: .24em;
}

.store-intro__text {
    margin-top: 30px;
    font-size: 12px;
    line-height: 2;
    letter-spacing: .05em;
}

    /* =====================================================
       25-3. HAMBURGER
    ===================================================== */

    .hamburger-menu {
        position: relative !important;
        display: block !important;

        width: calc(100% - 36px) !important;
        max-width: none !important;
        height: 48px !important;

        margin: 0 auto 24px !important;
        padding: 0 !important;

        background: transparent !important;
        overflow: visible !important;

        z-index: 1000;
    }


    /* チェック状態は保持し、画面上だけ隠す */

    .hamburger-menu #menu__toggle {
        position: absolute !important;

        width: 1px !important;
        height: 1px !important;

        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }


    /* ハンバーガーボタン */

    .hamburger-menu .menu__btn {
        position: relative !important;

        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;

        align-items: center !important;
        justify-content: center !important;

        width: 48px !important;
        height: 48px !important;

        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;

        cursor: pointer !important;
        z-index: 1002 !important;
    }


    /* 横3本線 */

    .hamburger-menu .menu__btn > span,
    .hamburger-menu .menu__btn > span::before,
    .hamburger-menu .menu__btn > span::after {
        position: absolute !important;

        display: block !important;
        visibility: visible !important;

        width: 24px !important;
        height: 2px !important;

        background: #333 !important;

        border: 0 !important;
        border-radius: 0 !important;

        transition:
            transform .25s ease,
            background .25s ease !important;
    }

    .hamburger-menu .menu__btn > span {
        top: 23px !important;
        left: 12px !important;
    }

    .hamburger-menu .menu__btn > span::before {
        content: "" !important;

        top: -8px !important;
        left: 0 !important;
    }

    .hamburger-menu .menu__btn > span::after {
        content: "" !important;

        top: 8px !important;
        left: 0 !important;
    }


    /* =====================================================
       25-4. SLIDE PANEL
    ===================================================== */

    .hamburger-menu ul.menu__box {
        position: fixed !important;

        display: block !important;
        visibility: hidden !important;

        top: 0 !important;
        right: auto !important;
        bottom: 0 !important;
        left: 0 !important;

        width: min(340px, 88vw) !important;
        max-width: 100vw !important;

        height: 100dvh !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 72px 20px 30px !important;

        background: #fff !important;

        border: 0 !important;
        border-radius: 0 !important;

        box-shadow:
            8px 0 28px rgba(0, 0, 0, .12) !important;

        list-style: none !important;

        overflow-x: hidden !important;
        overflow-y: auto !important;

        transform: translateX(-105%) !important;
        -webkit-transform: translateX(-105%) !important;

        transition:
            transform .3s ease,
            visibility .3s ease !important;

        z-index: 1001 !important;
    }


    /* チェック時に左から表示 */

    .hamburger-menu
    #menu__toggle:checked ~ ul.menu__box {
        visibility: visible !important;

        transform: translateX(0) !important;
        -webkit-transform: translateX(0) !important;
    }


    /* 開いた状態でも閉じるボタンを残す */

    .hamburger-menu
    #menu__toggle:checked + .menu__btn {
        position: fixed !important;

        top: 12px !important;
        left: 12px !important;

        z-index: 1003 !important;
    }


    /* 横3本線 → × */

    .hamburger-menu
    #menu__toggle:checked + .menu__btn > span {
        background: transparent !important;
    }

    .hamburger-menu
    #menu__toggle:checked + .menu__btn > span::before {
        transform:
            translateY(8px) rotate(45deg) !important;
    }

    .hamburger-menu
    #menu__toggle:checked + .menu__btn > span::after {
        transform:
            translateY(-8px) rotate(-45deg) !important;
    }


    /* メニュー内部 */

    .hamburger-menu ul.menu__box > li {
        display: block !important;

        width: 100% !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        list-style: none !important;
    }


    /* =====================================================
       25-5. FILTER CONTENT
    ===================================================== */

    .hamburger-menu .accordion_one,
    .hamburger-menu .accordion_one-top {
        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* フィルター見出し */

    .hamburger-menu .accordion_header.tess {
        position: relative !important;

        display: flex !important;
        align-items: center !important;

        width: 100% !important;
        min-height: 44px !important;

        margin: 0 !important;
        padding: 11px 28px 11px 0 !important;

        background: transparent !important;

        border: 0 !important;
        border-bottom:
            1px solid #dedad3 !important;

        color: #55514d !important;

        font-size: 12px !important;
        font-weight: 400 !important;
        line-height: 1.5 !important;

        text-align: left !important;
    }

    .hamburger-menu
    .accordion_header.tess > .i_box {
        right: 2px !important;
    }


    /* フィルター内部：縦1列 */

    .hamburger-menu .tess2 {
        display: block !important;

        grid-template-columns: none !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 6px 0 12px !important;

        background: transparent !important;
    }


    /* 各検索項目 */

    .hamburger-menu .tess2 > .accordion_one {
        display: block !important;

        width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        border-bottom:
            1px solid #e6e2dc !important;
    }


    /* 検索項目の見出し */

    .hamburger-menu
    .tess2
    > .accordion_one
    > .accordion_header {
        position: relative !important;

        width: 100% !important;
        min-height: 44px !important;

        margin: 0 !important;
        padding: 11px 24px 11px 0 !important;

        background: transparent !important;

        font-size: 11px !important;
        font-weight: 400 !important;

        text-align: left !important;
        white-space: normal !important;
    }


    /* 開いた検索項目の内容 */

    .hamburger-menu .tess2 .accordion_inner {
        position: relative !important;

        width: 100% !important;
        max-width: none !important;

        height: auto;

        margin: 0 !important;
        padding: 0 0 10px !important;

        overflow: visible !important;
    }

}
/* =====================================================
   25-6. PRODUCT DETAIL
   詳細表示中のみハンバーガーを非表示
===================================================== */

@media screen and (max-width: 767px) {

    body:has(.modalBg[style*="display: block"])
    .hamburger-menu .menu__btn {
        display: none !important;
    }

}
/* =========================================================
   26. SMALL MOBILE
========================================================= */

@media screen and (max-width: 570px) {

	.FormMain_WRG1 {
		grid-template-columns:
			minmax(0, 1fr) !important;
	}

}


/* =========================================================
   27. DESKTOP SLIDE FILTER
   PCのみ：FILTERボタンから左サイドパネルを表示
   モバイル（25番）と既存検索JSには変更を加えない
========================================================= */
@media screen and (min-width: 768px) {

    /* PCのフィルターは中央の小さな開閉ボタンにする */
    .hamburger-menu {
        position: relative !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        width: min(100% - 40px, 760px) !important;
        max-width: 760px !important;
        min-height: 56px !important;
        margin: 0 auto 40px !important;
        padding: 0 !important;
        overflow: visible !important;
        background: transparent !important;
    }

    /* input自体は隠すがチェック状態は利用する */
    .hamburger-menu > #menu__toggle {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    /* PCのFILTERトリガー（既存labelを利用） */
    .hamburger-menu > .menu__btn {
        position: relative !important;
        inset: auto !important;
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 52px !important;
        min-height: 52px !important;
        margin: 0 !important;
        padding: 0 52px !important;
        background: #f8f7f5 !important;
        border: 1px solid #e5e0d9 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        cursor: pointer !important;
        z-index: 1 !important;
    }

    .hamburger-menu > .menu__btn::after {
        content: "FILTER  /  フィルター" !important;
        position: static !important;
        display: block !important;
        color: #55514d !important;
        font-size: 11px !important;
        font-weight: 400 !important;
        letter-spacing: .16em !important;
        line-height: 1.5 !important;
        transform: none !important;
    }

    /* ボタン右端の控えめな開閉アイコン */
    .hamburger-menu > .menu__btn > span {
        position: absolute !important;
        top: 25px !important;
        right: 22px !important;
        left: auto !important;
        display: block !important;
        width: 13px !important;
        height: 1px !important;
        background: #9b8456 !important;
        transform: none !important;
    }
    .hamburger-menu > .menu__btn > span::before {
        content: "" !important;
        position: absolute !important;
        top: -6px !important;
        left: 6px !important;
        display: block !important;
        width: 1px !important;
        height: 13px !important;
        background: #9b8456 !important;
        transform: none !important;
    }
    .hamburger-menu > .menu__btn > span::after {
        content: none !important;
        display: none !important;
    }

    /* PCでも元HTMLの ul.menu__box をサイドパネルとして使用 */
    .hamburger-menu > ul.menu__box {
        position: fixed !important;
        top: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        right: auto !important;
        display: block !important;
        visibility: hidden !important;
        opacity: 1 !important;
        width: min(400px, 90vw) !important;
        max-width: 90vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 80px 30px 36px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        list-style: none !important;
        background: #fff !important;
        border: 0 !important;
        box-shadow: 8px 0 35px rgba(0,0,0,.10) !important;
        transform: translateX(-105%) !important;
        -webkit-transform: translateX(-105%) !important;
        transition: transform .3s ease, visibility .3s ease !important;
        z-index: 1001 !important;
    }

    .hamburger-menu > #menu__toggle:checked ~ ul.menu__box {
        visibility: visible !important;
        transform: translateX(0) !important;
        -webkit-transform: translateX(0) !important;
    }

    /* パネル表示中は既存labelを左上の閉じるボタンとして利用 */
    .hamburger-menu > #menu__toggle:checked + .menu__btn {
        position: fixed !important;
        top: 14px !important;
        left: 18px !important;
        right: auto !important;
        bottom: auto !important;
        justify-content: flex-start !important;
        width: 354px !important;
        max-width: calc(min(400px, 90vw) - 36px) !important;
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 42px 0 10px !important;
        background: #fff !important;
        border: 0 !important;
        border-bottom: 1px solid #e5e0d9 !important;
        z-index: 1003 !important;
    }

    .hamburger-menu > #menu__toggle:checked + .menu__btn::after {
        content: "FILTER" !important;
        font-size: 12px !important;
    }

    .hamburger-menu > #menu__toggle:checked + .menu__btn > span {
        top: 20px !important;
        right: 11px !important;
        left: auto !important;
        transform: rotate(45deg) !important;
    }
    .hamburger-menu > #menu__toggle:checked + .menu__btn > span::before {
        top: -6px !important;
        left: 6px !important;
        transform: rotate(90deg) !important;
    }

    .hamburger-menu > ul.menu__box > li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    /* PCパネルでは外側の「フィルター」を再クリックさせず、
       中の各検索項目を最初から利用できるようにする */
    .hamburger-menu .accordion_one-top > .accordion_header.tess {
        display: none !important;
    }
    .hamburger-menu .accordion_one-top > .accordion_inner {
        display: block !important;
        height: auto !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* パネル内部は縦1列。各項目の開閉は既存JSのまま */
    .hamburger-menu .tess2 {
        display: block !important;
        grid-template-columns: none !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }
    .hamburger-menu .tess2 > .accordion_one {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        grid-column: auto !important;
        grid-row: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #e8e4de !important;
    }
    .hamburger-menu .tess2 > .accordion_one:nth-of-type(7) {
        display: none !important;
    }
    .hamburger-menu .tess2 > .accordion_one > .accordion_header {
        min-height: 48px !important;
        padding: 13px 24px 13px 0 !important;
    }
    .hamburger-menu .tess2 > .accordion_one > .accordion_inner {
        padding: 0 0 14px !important;
    }
}

/* PC・モバイル共通：詳細表示中はスライドメニューのボタンを隠す。
   fadeIn後のinline styleにdisplay:blockが付いた場合だけ適用。 */
@media screen and (min-width: 768px) {
    body:has(.modalBg[style*="display: block"])
    .hamburger-menu > .menu__btn {
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

/* =========================================
   28. RANGE SLIDER

========================================= */
/* 28. jqxSliderの内部バー表示を確認・調整 */
@media screen and (min-width: 768px) {

    #fs_width_slider,
    #fs_height_slider {
        width: 200px !important;
        min-width: 200px !important;
        max-width: 200px !important;
        transform: none !important;
        flex-shrink: 0 !important;
    }

}
/* =========================================================
   29. STORE FIXED CONTACT MENU
   STOREページでは右側の固定メニューを非表示
========================================================= */

body .footer02__contact-fixed {
    display: none !important;
}


/* =========================================================
   32. MOBILE STICKY FILTER BUTTON
========================================================= */

@media screen and (max-width: 767px) {

    .hamburger-menu {
        position: sticky !important;
        top: 68px !important;
        z-index: 1000 !important;
    }

    .hamburger-menu .menu__btn {
        position: relative !important;
        top: auto !important;
        left: auto !important;

        width: 48px !important;
        height: 48px !important;

        background: rgba(255,255,255,.95) !important;
        z-index: 1002 !important;
    }

    /* 開いたときは閉じるボタンをパネル内に固定 */
    .hamburger-menu #menu__toggle:checked + .menu__btn {
        position: fixed !important;
        top: 12px !important;
        left: 12px !important;
        background: #fff !important;
        z-index: 1003 !important;
    }

}
/* =========================================================
   33. MOBILE FILTER LABEL
========================================================= */

@media screen and (max-width: 767px) {

    .hamburger-menu .menu__btn::after {
        content: "FILTER / フィルター" !important;
        position: absolute !important;
        top: 50% !important;
        left: 52px !important;
        width: max-content !important;
        color: #55514d !important;
        font-size: 11px !important;
        font-weight: 400 !important;
        letter-spacing: .08em !important;
        white-space: nowrap !important;
        transform: translateY(-50%) !important;
        pointer-events: none !important;
    }

    /* メニュー展開中は文字を消す */
    .hamburger-menu #menu__toggle:checked + .menu__btn::after {
        content: none !important;
        display: none !important;
    }

/* スクロール後は文字だけ非表示 */

    body.is-store-scrolled .hamburger-menu .menu__btn::after {
        content: none !important;
        display: none !important;
    }	
	
}
/* =========================================================
   34. FILTER SLIDER WIDTH FIX
   PC / MOBILE
========================================================= */

.hamburger-menu #fs_width_slider,
.hamburger-menu #fs_height_slider {
    width: 200px !important;
    min-width: 200px !important;
    max-width: 200px !important;
    transform: none !important;
    flex-shrink: 0 !important;
}
/* =========================================================
   35. MOBILE FILTER CLOSE BUTTON
========================================================= */
@media screen and (max-width:767px){

.hamburger-menu #menu__toggle:checked + .menu__btn{
position:fixed !important;
top:12px !important;
left:12px !important;
right:auto !important;
display:flex !important;
width:44px !important;
height:44px !important;
background:#fff !important;
z-index:1003 !important;
}

/* 既存の線を完全に消す */
.hamburger-menu #menu__toggle:checked + .menu__btn > span,
.hamburger-menu #menu__toggle:checked + .menu__btn > span::before,
.hamburger-menu #menu__toggle:checked + .menu__btn > span::after{
display:none !important;
content:none !important;
}

/* ×を表示 */
.hamburger-menu #menu__toggle:checked + .menu__btn::after{
content:"×" !important;
display:block !important;
position:absolute !important;
top:50% !important;
left:50% !important;
right:auto !important;
width:auto !important;
height:auto !important;
color:#333 !important;
font-size:32px !important;
font-weight:300 !important;
line-height:1 !important;
transform:translate(-50%,-50%) !important;
pointer-events:none !important;
}

}

/* 商品一覧の空白部分をクリック対象から除外 */
#fs_list_item .FormMain_WRG1{
pointer-events:none!important;
}
#fs_list_item .FormMain_WRG1 .sobhani-product-card{
pointer-events:auto!important;
}

/* フィルターのチェックボックスと文字の折り返し防止 */
#fs_search_maker label,
#fs_search_color label,
#fs_search_pattern label,
#fs_search_material label,
#fs_search_origin label{
    display:flex!important;
    align-items:center;
    flex-wrap:nowrap!important;
    white-space:nowrap;
    gap:7px;
}

#fs_search_maker label input[type="checkbox"],
#fs_search_color label input[type="checkbox"],
#fs_search_pattern label input[type="checkbox"],
#fs_search_material label input[type="checkbox"],
#fs_search_origin label input[type="checkbox"]{
    flex:0 0 14px!important;
    margin:0!important;
}

/* STORE：上部メニュー展開中はフィルターを非表示 */
html.mobile-menu-open .hamburger-menu {
    display: none !important;
}