.as-filter__title {
	display: none;
}

.as-filter__header {
	justify-content: flex-end !important;
	border-bottom: none !important;
}

.l-header .l-header__search {
	background-color: #FFFFFF;
	padding: 0 0 48px 0;
	position: fixed;
}

.l-header .l-header__search .p-search {
	width: fit-content;
	height: 104px;
	padding: 0 0 0;
	margin: 24px auto 0 auto;
	display: flex;
	align-items: end;
	gap: 24px;
	position: relative;
	overflow-y: initial;
}

.l-header .l-header__search .p-search-input {
	height: 44px;
}

.p-search-input__icon {
	width: 24px;
	margin: 0 14px;
}

.p-search-input__text {
	margin-left: 16px;
}

button.p-search-filter {
	width: 116px;
	height: 40px;
	border: solid 1px #212121;
	border-radius: 4px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 4px;
	cursor: pointer;
}

button.p-search-filter div {
	font-family: "Material Icons";
	font-size: 24px;
}

button.p-search-filter div::after {
	content: "\e429";
}

.p-search-input__close {
	width: 44px;
	height: 44px;
	position: fixed;
	top: 24px;
	right: 3.9vw;
	transform: translateX(10px);
	z-index: 1;
}

.p-search-input__close:before,
.p-search-input__close:after {
	width: 24px;
}

.l-header .l-header__search .p-search-keywords {
	margin: 60px auto 0 auto;
}

.l-header .l-header__search .p-search-keywords .pickup {
	margin: 24px 0 0 0;
	gap: 48px;
}

@media screen and (min-width:992px) {
	.l-header .l-header__search .p-search-input {
		width: calc(92.2vw - (116px + 24px));
		max-width: initial;
	}

	.p-search-input__text {
		padding: 0 0;
	}

	.l-header .l-header__search .p-search-keywords {
		max-width: initial;
		margin-top: 60px;
		max-width: 845px !important;
	}

	.l-header .l-header__search .p-search-keywords .pickup__list {
		gap: 0 32px;
	}
}

@media screen and (min-width:768px) {
	.l-header .l-header__search .p-search-keywords .pickup--category .pickup__list {
		gap: 0 32px;
	}
}

@media screen and (max-width:767px) {
	.l-header .l-header__search {
		height: 100vh;
		padding: 0 0 0 0;
	}

	.l-header__overflow {
		height: 100%;
		padding: 0 5vw 96px 5vw;
		overflow-x: hidden;
		overflow-y: auto;
	}

	.l-header .l-header__search .p-search {
		width: 100%;
		height: initial;
		flex-direction: column;
	}

	.l-header .l-header__search .p-search form {
		width: 100%;
	}

	.l-header .l-header__search .p-search-input {
		margin-top: calc(44px + 16px);
	}

	.p-search-input__close {
		right: 5vw;
	}

	.p-search-input__text {
		padding: 0 0;
		margin-left: 8px;
	}

	.l-header .l-header__search .p-search-keywords {
		margin: 0 0 0 0;
	}

	.l-header .l-header__search .p-search-keywords .pickup {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}

	.l-header .l-header__search .p-search-keywords .pickup:nth-of-type(2) {
		margin: 40px 0 0 0;
	}

	.l-header .l-header__search .p-search-keywords .pickup__list {
		gap: 8px 0;
	}
}

div.c-product-toolbar {
	margin: 48px 32px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

p.c-product-toolbar__count {
	display: flex;
	gap: 16px;
}

div.c-product-toolbar__actions {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
}

button.c-product-toolbar__btn {
	display: flex;
	align-items: center;
}

button.c-product-toolbar__btn--filter {
	padding-right: 24px;
	border-right: 1px solid #D9D9D9;
}

button.c-product-toolbar__btn::before {
	font-family: "Material Icons";
	margin-top: auto;
	margin-right: 4px;
	font-size: 18px;
}

button.c-product-toolbar__btn--filter::before {
	content: "\e429";
}

div.c-product-toolbar__select-wrapper {
	position: relative;
	display: flex;
	align-items: center;
	padding-left: 24px;
}

div.c-product-toolbar__select-wrapper::before {
	font-family: "Material Icons";
	content: "\e313";
	position: absolute;
	left: 24px;
	font-size: 18px;
	pointer-events: none;
	z-index: 1;
}

select.c-product-toolbar__select {
	appearance: none;
	-webkit-appearance: none;
	border: none;
	background: transparent;
	cursor: pointer;
	padding: 0;
	padding-left: 22px;
	outline: none;
	font-family: inherit;
	color: inherit;
}

@media screen and (max-width:767px) {
	div.c-product-toolbar {
		flex-direction: column;
		gap: 8px;
		margin: 48px 0 32px !important;
	}

	button.c-product-toolbar__btn,
	select.c-product-toolbar__select {
		font-size: 14px !important;
	}

	div.c-product-toolbar__actions {
		width: 100%;
	}

	button.c-product-toolbar__btn--filter {
		margin-left: auto;
	}

	div.c-product-toolbar__select-wrapper {
		width: 50%;
	}
}

ul.c-product-list {
	display: flex;
	flex-wrap: wrap;
	column-gap: 1px;
	row-gap: 0;
}

li.c-product-list__item {
	width: calc(25% - 1px);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
}

a.c-product-list__link {
	width: 100%;
}

div.c-product-list__info {
	padding: 16px 16px 24px;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 12px;
	font-feature-settings: "pwid";
}

div.c-product-list__price-box {
	display: flex;
	justify-content: space-between;
}

span.c-product-list__status {
	font-weight: 450;
	color: #C20000;
	margin-right: 48px;
}

div.c-product-list__tags {
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
}

div.c-product-list__tags>span {
	width: fit-content;
	padding: 4px 8px;
	background-color: #F2F2F2;
}

.l-header__overflow {
	height: 100%;
	overflow-y: auto;
}

button.c-product-list__more-btn {
	width: 176px;
	height: 42px;
	border: solid 1px #212121;
	margin: 48px auto 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* 検索結果およびキーワード表示制御 */
.p-product-list--container {
	display: none;
}

.p-product-list--container.is-show {
	display: block;
}

.p-search-keywords.is-hide {
	display: none;
}

div.p-filter--container {
	width: 38.4vw;
	height: 100vh;
	background-color: #FFFFFF;
	position: fixed;
	top: 0;
	right: 0;
	transform: translateX(100%);
	transition-duration: .6s;
}

div.p-filter--container.open {
	transform: translateX(0);
}

div.p-filter--overflow {
	height: calc(100% - (73px + 36px + 56px));
	overflow-y: auto;
}

form.filter-panel {
	padding: 0 43px 0 30px;
}

div.filter-group {
	display: flex;
	flex-direction: column;
	border-bottom: 1px solid #A6A6A6;
}

/* 在庫あり */
div.filter-group:first-of-type {
	border-bottom: none;
	margin-top: 24px;
}

/* 新着 */
div.filter-group:nth-of-type(2) {
	margin-top: 16px;
	padding-bottom: 24px;
}

div.filter-group__inner {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-bottom: 0;
}

div.filter-group__inner:first-child {
	margin-top: 24px;
}

div.filter-group__inner:last-child {
	margin-bottom: 24px;
}

label.row {
	display: flex;
	padding: 0;
	min-height: 24px;
}

div.filter-group[data-as-facet="customization"] label.row {
	padding: 24px 0;
}

input.toggle-input {
	width: 33.3px;
	height: 16.7px;
	border: 1px solid #212121;
}

.toggle-input::after {
	top: 2px !important;
	width: 10px !important;
	height: 10px !important;
}

.toggle-input:checked {
	background: #212121;
}

.toggle-input:checked::after {
	transform: translateX(16px) !important;
}

hr.divider {
	margin: 24px 0;
}

.filter-actions {
	width: 38.4vw;
	box-shadow: 0 -2px 8px rgba(0, 0, 0, .15);
	position: fixed;
	top: 100vh;
	right: 0;
	transform: translateY(-100%);
}

button.reset-btn,
button.submit-btn {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

button.reset-btn {
	line-height: 28px;
	padding: 4px 0;
	color: #8C8C8C;
	text-decoration: underline;
	background-color: #FFFFFF;
}

button.submit-btn {
	line-height: 28px;
	padding: 14px 0;
	background-color: #212121;
	color: #FFFFFF;
}

/* ==========================================================================
   価格帯レンジスライダー
   ========================================================================== */
.filter-group .p-price-range {
	/* ---- 調整するのはここだけ ---- */
	--slider-h: 24px;
	/* スライダー全体の高さ（＝当たり判定） */
	--track-h: 2px;
	/* 非選択レンジの太さ */
	--track-color: #E0E0E0;
	/* 非選択レンジの色 */
	--fill-h: 4px;
	/* 選択レンジの太さ */
	--fill-color: #8C8C8C;
	/* 選択レンジの色 */
	--thumb-size: 18px;
	/* つまみの直径 */
	--thumb-border: #C9C9C9;
	/* つまみの枠線 */
	--thumb-bg: #FFFFFF;
	--thumb-active: #212121;
	/* フォーカス・ドラッグ時の枠線 */

	display: flex;
	flex-direction: column;
	padding: 24px 0;
}

.filter-group .p-price-range .p-price-range__header {
	margin-bottom: 16px;
}

.filter-group .p-price-range .p-price-range__slider {
	position: relative;
	height: var(--slider-h);
	margin-top: 0;
	/* JS が上書きする。未設定でも 0%〜100% で成立させる */
	--range-min: 0%;
	--range-max: 100%;
}

/* ---- 非選択レンジ（ベースの線） ---- */
.filter-group .p-price-range .p-price-range__line {
	position: absolute;
	top: 50%;
	/* 11px 固定をやめて確実に中央へ */
	left: 0;
	right: 0;
	height: var(--track-h);
	border-radius: 999px;
	background: var(--track-color);
	transform: translateY(-50%);
}

/* ---- 選択レンジ（__line の疑似要素なので DOM 追加は不要） ---- */
.filter-group .p-price-range .p-price-range__line::after {
	content: '';
	position: absolute;
	top: 50%;
	left: var(--range-min);
	right: calc(100% - var(--range-max));
	height: var(--fill-h);
	border-radius: 999px;
	background: var(--fill-color);
	transform: translateY(-50%);
}

/* ---- 重ねる2本の input ---- */
.filter-group .p-price-range .p-price-range__input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: var(--slider-h);
	margin: 0;
	padding: 0;
	-webkit-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	pointer-events: none;
	/* 線の上のクリックは拾わない */
}

.filter-group .p-price-range .p-price-range__input:focus {
	outline: none;
}

/* ---- トラック（透明にしてベースの線を見せる） ---- */
.filter-group .p-price-range .p-price-range__input::-webkit-slider-runnable-track {
	height: var(--slider-h);
	background: transparent;
	border: none;
}

.filter-group .p-price-range .p-price-range__input::-moz-range-track {
	height: var(--slider-h);
	background: transparent;
	border: none;
}

/* ---- つまみ（Chromium / Safari） ---- */
.filter-group .p-price-range .p-price-range__input::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	width: var(--thumb-size);
	height: var(--thumb-size);
	/* runnable-track の中で垂直中央に置く */
	margin-top: calc((var(--slider-h) - var(--thumb-size)) / 2);
	border: 1px solid var(--thumb-border);
	border-radius: 50%;
	background: var(--thumb-bg);
	box-shadow: 0 1px 3px rgba(0, 0, 0, .15);
	pointer-events: auto;
	cursor: pointer;
	transition: box-shadow .15s, border-color .15s;
}

/* ---- つまみ（Firefox）※必ず別ブロックにする ---- */
.filter-group .p-price-range .p-price-range__input::-moz-range-thumb {
	box-sizing: border-box;
	width: var(--thumb-size);
	height: var(--thumb-size);
	border: 1px solid var(--thumb-border);
	border-radius: 50%;
	background: var(--thumb-bg);
	box-shadow: 0 1px 3px rgba(0, 0, 0, .15);
	pointer-events: auto;
	cursor: pointer;
	transition: box-shadow .15s, border-color .15s;
}

/* ---- フォーカス / ドラッグ中 ---- */
.filter-group .p-price-range .p-price-range__input:focus-visible::-webkit-slider-thumb {
	border-color: var(--thumb-active);
	box-shadow: 0 0 0 3px rgba(33, 33, 33, .15);
}

.filter-group .p-price-range .p-price-range__input:focus-visible::-moz-range-thumb {
	border-color: var(--thumb-active);
	box-shadow: 0 0 0 3px rgba(33, 33, 33, .15);
}

.filter-group .p-price-range .p-price-range__input:active::-webkit-slider-thumb {
	border-color: var(--thumb-active);
	box-shadow: 0 2px 6px rgba(0, 0, 0, .2);
}

/* ---- 金額ラベル ---- */
.filter-group .p-price-range .p-price-range__labels {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 12px;
}

/* ---- SP：タップしやすいサイズに ---- */
@media screen and (max-width: 767px) {
	.filter-group .p-price-range {
		--slider-h: 28px;
		--thumb-size: 20px;
	}
}

@media screen and (max-width:767px) {
	div.p-filter--container {
		width: 100%;
	}

	form.filter-panel {
		padding: 0 5vw 0 5vw;
	}

	div.filter-actions {
		width: 100%;
	}
}

/* ========================================== アコーディオン開閉用CSS ========================================== */
.filter-accordion--content {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.3s ease, opacity 0.3s ease;
	opacity: 0;
}

.filter-accordion--content>* {
	overflow: hidden;
}

.filter-accordion--content.is-open {
	grid-template-rows: 1fr;
	opacity: 1;
	padding-bottom: 24px;
}

.filter-accordion--inner {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-bottom: 0 !important;
}

.filter-group .row.js-accordion-header {
	cursor: pointer;
	min-height: 40px;
	padding: 24px 0;
}

.filter-group .row.js-accordion-header.is-open {
	padding-bottom: 16px;
}

/* ========================================== バッグ・革小物・性別・ネスト等 動的出し分け用CSS ========================================== */
.js-target-item.is-hidden {
	display: none !important;
}

/* バッグ / 革小物の表示切り替え */
.js-category-block[data-category-type="bag-leather"] [data-main-category] {
	display: none !important;
}

.js-category-block[data-category-type="bag-leather"][data-selected-main="bag"] [data-main-category*="bag"] {
	display: flex !important;
}

.js-category-block[data-category-type="bag-leather"][data-selected-main="leather"] [data-main-category*="leather"] {
	display: flex !important;
}

/* フード酒類・飲料ネスト用CSS */
.js-sub-accordion-content {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.3s ease, opacity 0.3s ease;
	opacity: 0;
}

.js-sub-accordion-content>* {
	overflow: hidden;
}

.js-sub-accordion-content.is-open {
	grid-template-rows: 1fr;
	opacity: 1;
	margin-top: 12px;
	padding-left: 16px;
}

/* 260909 */
input.circle-input {
	appearance: none;
	border: solid 1px #212121;
	border-radius: 50%;
	position: relative;
}

input.circle-input:checked {
	content: '';
	background-color: #FFFFFF;
	box-shadow: inset 0 0 0 4px #212121;
}

input.square-input[name="initial_custom"] {
	appearance: none;
	border: solid 1px #212121;
	border-radius: 50%;
	position: relative;
}

input.square-input[name="initial_custom"]:checked {
	content: '';
	background-color: #FFFFFF;
	box-shadow: inset 0 0 0 4px #212121;
}

button.reset-btn {
	height: 40px;
}

.filter-group .p-price-range {
	--slider-h: 24px;
	/* スライダー全体の高さ（＝当たり判定） */
	--track-h: 2px;
	/* 非選択レンジの太さ */
	--track-color: #E0E0E0;
	/* 非選択レンジの色 */
	--fill-h: 4px;
	/* 選択レンジの太さ */
	--fill-color: #8C8C8C;
	/* 選択レンジの色 */
	--thumb-size: 18px;
	/* つまみの直径 */
	--thumb-border: #C9C9C9;
	/* つまみの枠線 */
	--thumb-bg: #FFFFFF;
	--thumb-active: #212121;
	/* フォーカス・ドラッグ時の枠線 */
}

.js-accordion-header .filter-accordion--icon::before {
	width: 12px;
	height: 12px;
	border-top: 1px solid #212121;
	border-right: 1px solid #212121;
	background: none;
	top: 0;
	transform: translate(-35%, -15%) rotate(135deg);
}

.js-accordion-header.is-open .filter-accordion--icon::before {
	transform: translate(-35%, 35%) rotate(-45deg) !important;
}

.filter-accordion--icon::after {
	display: none;
}

/* 260914 */
.filter-group__inner span.u-h4.u-font--R,
span.filter-accordion--text.u-h4.u-font--R,
.p-price-range__header span.u-h4.u-font--R {
	font-weight: 500;
}

.filter-accordion--icon::before {
	content: "" !important;
}

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

	.filter-actions {
		top: 100dvh;
	}

	.as-filter .p-filter--overflow {
		padding-bottom: calc(40px + 56px);
	}
}

.filter-group .p-price-range .p-price-range__line::after {
	background: #D9D9D9;
}

/* 261002 */
/* 検索候補 */
.as-suggest .c-product-list__item {
	width: 100% !important;
}

.as-suggest .c-product-list__info {
	margin-top: 0 !important;
}

.as-suggest .c-product-list {
	gap: 1px !important;
}

/* 261020 */
footer .p-search {
	height: initial;
	margin: 0 auto;
}

footer .p-search-input {
	border-bottom: none;
}