@keyframes cm-image-switch {
	0% {
		opacity: .15;
	}
	35% {
		opacity: .4;
	}
	70% {
		opacity: .75;
	}
	100% {
		opacity: 1;
	}
}

img.slider-list-img.swiper-thumbnails[loading="lazy"] {
    aspect-ratio: 1 / 1; /* 正方形ベースの商品画像等の場合。必要に応じて 4 / 3 などに変更 */
    width: 100%;
    height: auto;
    object-fit: cover;
}


body.is-mobile img.c-thumbnail-image.number-slide[data-cm-src] {
aspect-ratio: 600 / 394;
    width: 100%;
    height: auto;
    object-fit: cover;
}

body.is-desktop .c-archive-header__image {
    min-height: 16vw;
}
body.is-mobile .c-archive-header__image {
    min-height: 45vw;
}

/* 商品ページ */
#in-slider img.cm-image-switch,
#thumbnails img.cm-image-switch {
	animation: cm-image-switch 1.2s ease-out both;
}

/* カテゴリー・タグ等の商品一覧 */
[id^="kakoide-"] .keen-slider__slide img.cm-image-switch {
	animation: cm-image-switch 1.2s ease-out both !important;
}

.p-product-archive-list-header-total-pc {
 display: block!important;
}

aside.l-sidebar.l-sidebar--left .widget_product_categories a .toggle {
  flex: 0 0 60%;
}

.p-product-quick-view-content {
  width: 444px;
}
.p-product-cards.p-archive03.p-wc-loop {
    min-height: 180px;
}

.woocommerce .display-search-condition .woocommerce-ordering {
width: 60%;
  margin: 0;
}

.woocommerce-ordering-sort {
  display: flex;
  align-items: center;
}
.woocommerce-ordering .woocommerce-ordering-sort label {
  padding-right: 10px;
}

body.is-desktop .p-product-archive-list-header {
  display: flex;
  justify-content: space-between;
align-items: center;
}

body.is-mobile .woocommerce-ordering .woocommerce-ordering-sort label {

  display: none;
}
body.is-mobile .woocommerce-ordering .woocommerce-ordering-sort {
  flex: 0 0 50%;
}

.p-product-archive-list-header {
  display: grid;
  gap: 15px;
}

aside.l-sidebar.l-sidebar--left .widget_product_categories li.is-active>a {
    color: #ccc;
}
aside.l-sidebar.l-sidebar--left .widget_product_categories .product-categories>li.current-cat>a {
    color: #ccc;
}

.p-product-cards-item-image.tax-product.keen-slider.keen-slider-desktop {
max-height: 13.3vw;
}


.l-main {
    row-gap: 80px;
}




.p-widget-headline {
    position: relative;
    z-index: 1;
    font-size: 16px;
    font-weight: 600;

    padding: calc(20px + var(--tcd-half-read)) 30px;
    background: var(--tcd-accent-color);
}




.widget_product_categories li.is-active .child-wrap {
    grid-template-rows: 1fr;
}

.widget_product_categories .child-wrap {
    position: relative;
    display: grid;
    grid-template-rows: 0fr;

}
.widget_products_item_content .c-wc-rating {
    margin: 0 !important;

}


.widget_product_categories .product-categories ul.children .current-cat a {
    color: #888!important;
}













/**
 * カテゴリー
 */
.display-search-condition-item {
    display: none;
}
.filter-icon2 {
    vertical-align: bottom;
}
.atom-icon.zoom-in-icon {
    padding-right: 6px;
}
.flickity-button-icon {
  fill: #fff;
  top: 27%;
  position: relative;
}
.p-product-cards-item-actions {
    display: flex;
    justify-content: center;
    align-items: end;
    position: absolute;

}


body.is-mobile .l-sidebar {
flex: 1;
order: 2;
}

.p-product-cards {
    display: grid;
}
body.is-mobile .p-product-cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}



body.is-desktop .p-product-cards {
    grid-template-columns: repeat(4, 1fr);
    gap: 40px 30px;
}
@media screen and (max-width: 1080px) {
body.is-desktop .p-product-cards {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 30px;
}
}
.p-product-cards-item-content {
    min-height: 90px; /* ※実際の文字数やレイアウトに合わせて数値を微調整してください */
}


/**
 * カテゴリースライダー　インライン用
 */


.goods-unit-image.slider-list-thumbnails.keen-slider:not([data-keen-slider-disabled]) {
  display: flex;
justify-content: start;
   overflow: hidden;    /* はみ出しを隠す */
  touch-action: pan-y;   
max-width: 100%;
  flex-wrap: nowrap;
margin: 0;
  padding: 0;
width: 100%;
white-space: nowrap;
}

.goods-unit-image .keen-slider__slide .active-border:hover::before,
.goods-unit-image .keen-slider__slide .active-border:hover::after {
border-radius: 4px;
}

.p-product-tax-header .c-archive-header__noimage-spacer {
  display: none;
}

.molecule-goods.molecule::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 2vw;
    height: 100%;
    background: -webkit-gradient(linear, left top, right top, from(hsla(0, 0%, 100%, 0)), to(#fff));
    background: linear-gradient(90deg, hsla(0, 0%, 100%, 0) 0, #fff);
    max-width: 10px;
}

/* PageSpeed InsightsでCLSの原因になっているスライダーのラッパーに対して高さを事前に固定する */
div[id^="iv-slider-tcd-product-"].keen-slider {
    aspect-ratio: 10 / 6;
    overflow: hidden;
}

div[id^="iv-slider-tcd-product-"] .keen-slider__slide {
    min-width: 100% !important;
    max-width: 100% !important;
}

.p-product-cards-item-image:not([data-keen-slider-disabled]),
.slider-list:not([data-keen-slider-disabled]) {
-webkit-touch-callout: none;
-webkit-tap-highlight-color: transparent;
display: flex;
position: relative;
align-content: flex-start;
justify-content: flex-start;
touch-action: pan-y;
-khtml-user-select: none;
margin-bottom: 10px;
flex-wrap: nowrap;
width: 100%;
vertical-align: middle;

}



.p-product-cards-item-image.tax-product.keen-slider.keen-slider-desktop {
max-height: 13.3vw;
}
img.c-thumbnail-image.number-slide, img.ct-top.slider-list-img.swiper-thumbnails.slider-list-img {
    min-width: 100%;
}
.p-product-cards-item-image:not([data-keen-slider-disabled]).keen-slider-mobile, .slider-list:not([data-keen-slider-disabled]).keen-slider-mobil {
    min-height: 90px;
    min-width: 100%;
}
	
.keen-slider__slide.slider-list-img {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    max-width: 100%;
    max-height: 100%;
    margin: 0;
    text-align: center;
    flex-shrink: 0;
    position: relative;
    pointer-events: none;


}

.keen-slider__slide.number-slide.pt-ct {
margin: 0 0 1px !important;
    flex-shrink: 0;
position: relative;
}
is-desktop .p-product-cards-item-actions {
    position: absolute;
}


.p-product-cards-item-image.tax-product.keen-slider-mobile{
    width:100%;
    min-width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:600 / 394;
    overflow:hidden;
}

.p-product-cards-item-image.tax-product.keen-slider-mobile > .keen-slider__slide{
    width:100%;
    height:100%;
    min-height:0;
    flex-shrink:0;
}

.p-product-cards-item-image.tax-product.keen-slider-mobile > .keen-slider__slide > img{
    display:block;
    width:100%;
    height:100%;
    aspect-ratio:auto;
    object-fit:cover;
}

.molecule-goods {
    position: relative;
    margin: 0 0 10px;
    white-space: nowrap;
flex-wrap: nowrap;

}


.molecule-goods{
max-height:calc((100% - 24.5px)/4.5);
}

@media(min-width:540px) {
.molecule-goods{
max-height:calc((100% - 31.5px)/5.5);
}
}

@media(min-width:768px) {
.molecule-goods{
max-height:calc((100% - 38.5px)/6.5);
}
}



.goods-unit-image.slider-list-thumbnails .keen-slider__slide.active .active-border::before {
    content: "";
    position: absolute;
    box-sizing: border-box;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 3px solid #fff;
    width: 100%;
    height: 100%;
    z-index: 1;
    border-radius: 4px;
}
.goods-unit-image.slider-list-thumbnails .keen-slider__slide.active .active-border::after {
    z-index: 1;
    box-sizing: border-box;
    border: 2px solid #49c087;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 4px;
}
.ct-top {
    border-radius: 4px;
}


li.keen-slider__slide.number-slide.pt-ct.no-length .bg-img-lazy {
background-size: 1.5vw;
}

.keen-slider__slide.number-slide.pt-ct{
flex:0 0 calc((100% - 24.5px)/4.5);min-width:calc((100% - 24.5px)/4.5);max-width:calc((100% - 24.5px)/4.5);
}
.keen-slider__slide img{display:block;width:100%;height:auto;}

@media(min-width:540px) {
.keen-slider__slide.number-slide.pt-ct{flex-basis:calc((100% - 31.5px)/5.5);min-width:calc((100% - 31.5px)/5.5);max-width:calc((100% - 31.5px)/5.5);
}
}

@media(min-width:768px) {
.keen-slider__slide.number-slide.pt-ct{
flex-basis:calc((100% - 38.5px)/6.5);min-width:calc((100% - 38.5px)/6.5);max-width:calc((100% - 38.5px)/6.5);
}
}
.keen-slider__slide.number-slide.pt-ct:nth-child(2){transform:translate3d(7px,0,0);}
.keen-slider__slide.number-slide.pt-ct:nth-child(3){transform:translate3d(14px,0,0);}
.keen-slider__slide.number-slide.pt-ct:nth-child(4){transform:translate3d(21px,0,0);}
.keen-slider__slide.number-slide.pt-ct:nth-child(5){transform:translate3d(28px,0,0);}
.keen-slider__slide.number-slide.pt-ct:nth-child(6){transform:translate3d(35px,0,0);}
.keen-slider__slide.number-slide.pt-ct:nth-child(7){transform:translate3d(42px,0,0);}
.keen-slider__slide.number-slide.pt-ct:nth-child(8){transform:translate3d(49px,0,0);}
.keen-slider__slide.number-slide.pt-ct:nth-child(9){transform:translate3d(56px,0,0);}

img.c-thumbnail-image.number-slide,
img.ct-top.slider-list-img.swiper-thumbnails.slider-list-img {
animation: fadeIn .3s ease-in forwards;
}

@keyframes fadeIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}



.keen-slider__slide.main-img.slider-list-img,
li.keen-slider__slide.number-slide.pt-ct span.active-border {
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='40' height='40' fill='%23D8CCA3' style='position:absolute;inset:0;margin:auto;width:50%;height:50%;max-width:40px;max-height:40px'%3E%3Ccircle cx='12' cy='12' r='12' opacity='.5'%3E%3Canimate attributeName='r' values='0;12;0' dur='1.4s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='12' cy='12' r='0' opacity='.5'%3E%3Canimate attributeName='r' values='0;12;0' dur='1.4s' repeatCount='indefinite' begin='.7s'/%3E%3C/circle%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: center;
}

.keen-slider__slide.main-img.slider-list-img {

background-size: min(11vw, 56px);
}
li.keen-slider__slide.number-slide.pt-ct span.active-border {
    position: relative;
    background-size: min(4vw, 20px);
}


body.is-desktop .cm-filter-opt4 {
    flex: 0 1 calc((100% - 16px) / 5);
}
body.is-mobile .cm-filter-opt4 {
    flex: 0 1 calc((100% - 16px) / 2);
}
.cm-filter-opt, .cm-filter-opt2, .cm-filter-opt3, .cm-filter-opt4 {
    display: flex;
    align-items: center;
    cursor: pointer;
    position: relative;
    font-size: min(3.4vw, 15px);
    padding: 12px 0 12px 5px;
    letter-spacing: -0.03rem;
}
body.is-mobile span.cm-filter-opt__text {
    padding: 0 0 0 17px;
line-height: 1.3;
}
label.cm-filter-opt4 > input.cm-filter-input:checked + .cm-filter-opt__label::after, label.cm-filter-opt5 > input.cm-filter-input:checked + .cm-filter-opt__label::after {
    opacity: 1;
}
.cm-filter-opt4 .cm-filter-opt__label::after, .cm-filter-opt4 .cm-filter-opt__label::before, .cm-filter-opt5 .cm-filter-opt__label::after, .cm-filter-opt5 .cm-filter-opt__label::before {
    transition: border-color 0.2s linear;
    position: absolute;
    bottom: 0;
    display: block;
}
.cm-filter-opt4 .cm-filter-opt__label::after, .cm-filter-opt5.cm-filter-opt__label::after {
    top: 0;
    left: 4px;
    width: 4px;
    height: 8px;
    border-right: 3px solid #0ca6aa;
    border-bottom: 3px solid #0ca6aa;
    content: "";
    opacity: 0;
    transform: rotate(45deg);
    z-index: 2;
    box-sizing: content-box;
}
.cm-filter-opt4 .cm-filter-opt__label::before, .cm-filter-opt5 .cm-filter-opt__label::before {
    top: 0;
    border: 1px solid rgb(187, 187, 187);
    border-radius: 4px;
    content: "";
    width: min(3.4vw, 15px);
    height: min(3.4vw, 15px);
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}