/* ============================================================================================
	WOOCOMMERCE
============================================================================================ */
/*
.kasai-product-all - 商品一覧ページ
*/
.woocommerce-account .wp-block-post-title,
.woocommerce-account main .woocommerce,
.woocommerce-cart .wp-block-post-title,
.woocommerce-cart main .woocommerce,
.woocommerce-checkout .wp-block-post-title,
.woocommerce-checkout main .woocommerce {
	max-width: initial
}

/* ============================================================================================
	ALL(TOP)
============================================================================================ */
.kasai-product-all {
	width: 90%;
	max-width: 1280px;
	margin: 0 auto
}
.wc-block-product-template__responsive.columns-5 {
	grid-template-columns: repeat(auto-fill,minmax(max(158px,calc(20% - 1em)),1fr))
}

/* image display control */
.wc-block-components-product-image {
	aspect-ratio: 1/1;
	background-color: var(--wp--preset--color--gray)
}
.wc-block-components-product-image > a {
	display: block;
	width: 100%;
	height: 100%
}
.wc-block-components-product-image img {
	width: 100%;
	height: 100% !important;
	object-fit: contain !important;
	transition: transform .6s
}
.wc-block-components-product-image > a:hover img {
	transform: scale(.95)
}
.woocommerce .wp-block-woocommerce-product-image-gallery {
	width: 100%;
	max-width: initial
}
.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
	gap: 10px;
	margin-top: 10px;
	padding: 0 10px
}
.woocommerce div.product div.images .flex-control-thumbs li {
	float: none;
	position: relative;
	width: initial
}
.woocommerce div.product div.images .flex-control-thumbs li img {
	opacity: 1;
	filter: brightness(.6);
	transition: filter .3s ease-in-out
}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
	filter: brightness(1)
}

.kasai-products-right {
	padding: 0 5%
}

.woocommerce .woocommerce-breadcrumb {
	margin: 0;
	font-size: var(--wp--preset--font-size--xx-small)
}
.woocommerce .woocommerce-breadcrumb a {
	display: inline-block;
	margin: 0 .3em;
	padding: .3em 1em;
	border-radius: 100px;
	background: rgba(166, 205, 198, .5);
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	transition: .3s ease-in-out;
}
.woocommerce .woocommerce-breadcrumb a:first-of-type {
	margin-left: 0
}
.wc-block-grid__product-rating .wc-block-grid__product-rating__stars {
	margin-right: 1em;
	color: rgb(180,180,180)
}
.wc-block-grid__product-rating .wc-block-grid__product-rating__stars span:before {
	color: rgb(50,50,50)
}
.wc-block-components-product-rating__reviews_count {
	font-size: var(--wp--preset--font-size--xx-small)
}
.wc-block-components-product-rating__reviews_count a {
	color: var(--wp--preset--color--contrast);
	text-underline-offset: 8px
}
.woocommerce-Price-amount {
	letter-spacing: 1px;
	text-indent: 1px
}
.kasai-products-desc p {
	font: var(--wp--preset--font-size--small)/1.8 var(--wp--preset--font-family--mincho)
}
.kasai-products-add-cart {
	margin: 2em 0 !important
}
.woocommerce div.product form.cart div.quantity {
	margin: 0
}
.woocommerce div.product form.cart div.quantity .qty {
	display: inline-block;
	width: 5em;
	height: 100%;
	padding: 0 6px;
	outline: none;
	box-shadow: none;
	border-radius: 2px;
	border: 1px solid rgb(200,200,200)
}
.woocommerce div.product form.cart div.quantity .qty:focus {
	border-color: var(--wp--preset--color--contrast)
}
.woocommerce div.product form.cart button.single_add_to_cart_button,
.woocommerce div.product form.cart button[name=add-to-cart] {
	outline: none;
	box-shadow: none;
	border-radius: 2px;
	border: 0;
	font-size: var(--wp--preset--font-size--x-small)
}
.kasai-products-group-sub {
	width: 90%;
	max-width: 1280px;
	margin: 0 auto
}
.kasai-spacer-hidden {
	display: none
}
.taxonomy-product_cat {
	font-size: var(--wp--preset--font-size--x-small)
}
.product-meta {
	margin-top: 1em
}
.taxonomy-product_cat a,
.product-meta a {
	display: inline-block;
	padding: .4em 1em;
	background: rgb(230, 230, 230);
	border-radius: 100px;
	color: #333;
	text-decoration: none
}
.taxonomy-product_cat.kasai-term-under-heading {
	text-align: center
}
.taxonomy-product_cat.kasai-term-under-heading a {
	background: none;
	pointer-events: none
}

/* add to cart button */
.single_add_to_cart_button {
	position: relative
}
.single_add_to_cart_button::before {
	opacity: 0;
	content: "+";
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 1em;
	font-size: 20px;
	transition: opacity .3s ease-in-out
}
.single_add_to_cart_button:hover::before {
	opacity: 1
}

/* avatar */
.woocommerce #reviews #comments ol.commentlist li img.avatar {
	padding: 0;
	border-radius: 50%
}

/* tabs */
html body .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs {
	display: flex
}
html body .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs li {
	min-width: 6em;
	padding: 0 1em;
	border: 0;
	border-bottom: 2px solid rgb(220,220,220);
	text-align: center
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	transition: border-color .3s ease-in-out
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	border-bottom-color: var(--wp--preset--color--contrast) !important
}
.woocommerce-Tabs-panel h2 {
	display: none
}
.woocommerce-Tabs-panel p {
	font-size: var(--wp--preset--font-size--small)
}
.commentlist {
	padding: 0 0 0 4px
}

/* review */
.comment-reply-title {
	display: inline-block;
	margin-bottom: 1em
}
.woocommerce #review_form #respond textarea {
	outline: none;
	box-shadow: none;
	border-radius: 2px;
	border: 1px solid rgb(200,200,200)
}
.woocommerce #review_form #respond textarea:focus {
	border-color: var(--wp--preset--color--contrast)
}
#review_form .form-submit {
	text-align: right
} 
#review_form .wp-block-button__link {
	max-width: 300px;
	border-radius: 2px;
	border: 0;
	transition: .3s ease-in-out
}
.comment-form-rating label {
	display: inline-block;
	margin-bottom: .5em
}

@media screen and (min-width: 783px) {
	.kasai-products-group {
		width: 90%;
		max-width: 1280px;
		margin: 0 auto
	}
	.kasai-products-column {
		gap: 0 4%
	}
	.woocommerce div.product div.images .flex-control-thumbs {
		padding: 0
	}
	.kasai-products-right {
		padding: 0
	}
	.kasai-spacer-hidden {
		display: block
	}
}

.product_meta .product-author {
	display: block;
	font-size: var(--wp--preset--font-size--small);
	margin-top: 0.5em;
}

/* notice */
.woocommerce.wc-block-store-notices.alignwide {
	max-width: 1280px;
	margin: 0 auto
}
.wc-block-components-notice-banner:focus-visible {
	outline: none
}
.wc-block-components-notice-banner.is-success {
	background: rgb(3, 128, 128);
	color: var(--wp--preset--color--white)
}
.wc-block-components-notice-banner.is-error {
	background: rgb(234, 70, 84);
	color: var(--wp--preset--color--white)
}
.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward {
	opacity: 1;
	margin: 0 0 0 auto;
	padding: .4em 1em !important;
	border-radius: 100px;
	background: var(--wp--preset--color--white) !important;
	color: var(--wp--preset--color--contrast) !important;
	font-size: var(--wp--preset--font-size--x-small);
	text-decoration: none !important
}
.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward {
	text-underline-offset: 4px
}
.wc-block-components-notice-banner>.wc-block-components-notice-banner__content {
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 1em
}

/* relate */
.wc-block-product-template.is-flex-container {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 30px min(4%, 1.5em)
}
@media screen and (min-width: 500px) {
	.wc-block-product-template.is-flex-container {
		grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
	}
}
.wc-block-product-template.is-flex-container.is-flex-container.columns-5>li {
	display: flex;
	flex-flow: column;
	width: 100% !important
}
.kasai-product-related-summary {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-flow: column;
	align-items: center
}
.wc-block-grid__product-price {
	margin: 0 0 1em
}
.kasai-product-related-summary .wp-block-button.wc-block-components-product-button {
	width: 100%;
	margin-top: auto
}
.kasai-product-related-summary h3 {
	font-size: var(--wp--preset--font-size--small) !important;
	font-family: var(--wp--preset--font-family--mincho);
	text-align: left
}
.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button:not(.add_to_cart_button) {
	background: rgb(100,100,100)
}
.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button {
	position: relative;
	width: 100%;
	border-radius: 2px;
	font-size: var(--wp--preset--font-size--x-small) !important
}
.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button.add_to_cart_button::before {
	opacity: 0;
	content: "+";
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 1em;
	margin: auto 0;
	font-size: 20px;
	transition: opacity .3s ease-in-out
}
.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button.add_to_cart_button:hover::before {
	opacity: 1
}
.wc-block-product a {
	color: var(--wp--preset--color--contrast) !important
}
.wc-block-product a.wc-interactive {
	color: var(--wp--preset--color--white) !important
}
.wc-block-components-product-image {
	overflow: hidden;
}
.attachment-woocommerce_thumbnail {
	transition: transform .3s ease-in-out
}

/* out of stock on artist page */
.kasai-product-list-item {
	position: relative
}
.kasai-product-list-item.sold-out::before {
	content: "SOLD OUT";
	display: inline-block;
    padding: .5em 1em;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    border-radius: 2px;
	background: rgba(0,0,0,.6);
    color: var(--wp--preset--color--white);
    font-size: var(--wp--preset--font-size--xx-small);
    font-family: var(--wp--preset--font-family--gothic);
    pointer-events: none;
}
.kasai-product-list-price-wrap + .sold-out-badge {
	display: block;
	padding-top: .2em;
	font-size: var(--wp--preset--font-size--x-small);
	font-family: var(--wp--preset--font-family--gothic);
	text-align: right
}
/* out of stock on product page */
.stock.out-of-stock {
	color: var(--wp--preset--color--contrast);
	font-size: 0 !important
}
.stock.out-of-stock::before {
	content: "SOLD OUT";
	display: inline-block;
	font-size: var(--wp--preset--font-size--x-small)
}
.kasai-products-add-cart .stock.out-of-stock::before {
	color: red
}
.woocommerce-product-gallery__image {
	position: relative
}
.kasai-products-right:has(.stock.out-of-stock) h1::before {
	content: "SOLD OUT";
	display: inline-block;
    vertical-align: .25em;
    margin: 0 .5em 0 0;
    padding: .5em 1em;
    border-radius: 2px;
	background: rgba(0,0,0,.6);
    color: var(--wp--preset--color--white);
    font-size: var(--wp--preset--font-size--xx-small);
    font-family: var(--wp--preset--font-family--gothic);
    pointer-events: none;
}
/* out of stock on product category page */
.wc-block-product.outofstock {
	position: relative
}
.wc-block-product.outofstock::before {
	content: "SOLD OUT";
	display: inline-block;
    padding: .5em 1em;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    border-radius: 2px;
	background: rgba(0,0,0,.6);
    color: var(--wp--preset--color--white);
    font-size: var(--wp--preset--font-size--xx-small);
    font-family: var(--wp--preset--font-family--gothic);
    pointer-events: none;
}

/* svg */
.wc-block-components-notice-banner>.wc-block-components-button>svg {
	fill: var(--wp--preset--color--white)
}

/* ============================================================================================
	CATEGORY
============================================================================================ */
.kasai-product-filter {
	justify-content: flex-start !important;
	align-items: center;
    gap: 0 20px
}
.wp-block-woocommerce-product-results-count {
	order: 2
}

/*　select box */
.woocommerce-ordering {
	position: relative
}
.woocommerce-ordering::after {
	content: "";
    display: inline-block;
	position: absolute;
	top: 0;
	right: 1em;
	bottom: 0;
    width: 8px;
    height: 8px;
	margin: auto 0;
    border-right: 2px solid var(--wp--preset--color--contrast);
    border-bottom: 2px solid var(--wp--preset--color--contrast);
	pointer-events: none;
    transform: rotate(45deg)
}
.woocommerce-ordering select {
	display: inline-flex;
    align-items: center;
	position: relative;
    padding: 1em 2em;
	outline: none;
    box-shadow: none;
    border-radius: 2px;
    border: 1px solid var(--wp--preset--color--border);
    background: var(--wp--preset--color--white);
    color: var(--wp--preset--color--contrast);
    font-size: var(--wp--preset--font-size--small);
	appearance: none;
    transition: .3s;
    cursor: pointer
}
.woocommerce.wc-block-product-results-count .woocommerce-result-count {
	font-size: var(--wp--preset--font-size--small)
}

/* list */
.wc-block-product-template__responsive.columns-5 {
	margin-top: 40px
}
.wc-block-product-template__responsive>li {
	display: flex;
	flex-flow: column
}
.kasai-product-list-summary {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-flow: column;
	align-items: center
}
.kasai-product-list-summary h3 {
	font-size: var(--wp--preset--font-size--small);
	font-family: var(--wp--preset--font-family--mincho);
	text-align: left
}
.kasai-product-list-summary .add_to_cart_button {
	width: 100%
}
.kasai-product-list-summary .wp-block-woocommerce-product-button {
	margin-top: auto
}
.kasai-product-list-summary .wp-block-button.wc-block-components-product-button {
	width: 100%
}
.taxonomy-product_author .wp-block-post-terms__separator {
	margin: 0 4px
}
.taxonomy-product_author a {
	color: var(--wp--preset--color--contrast);
	text-underline-offset: 4px
}

/* ============================================================================================
	CART
============================================================================================ */
.kasai-product-cart {
	width: 90%;
	max-width: 1280px;
	margin: 0 auto
}

.wc-block-components-button.wc-block-components-totals-coupon__button {
	border-radius: 2px;
	border: 0;
	font-size: var(--wp--preset--font-size--x-small) !important
}
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	height: 7em;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='109.024mm' height='123.578mm' viewBox='0 0 412 467'%3E%3Cpath fill='%236d6e71' d='M 258.00,46.00 C 259.14,48.70 260.84,52.22 261.47,55.00 263.76,65.00 259.27,72.88 249.00,74.90 246.64,75.37 244.41,75.65 242.00,75.49 230.29,74.69 218.90,68.99 211.32,60.00 211.32,60.00 203.79,48.21 203.79,48.21 201.62,45.09 197.46,43.90 196.45,39.96 194.70,33.17 200.87,31.30 204.04,26.90 204.04,26.90 209.53,18.00 209.53,18.00 217.18,8.07 229.24,0.55 242.00,0.04 249.20,-0.25 257.24,2.02 260.69,9.00 262.09,11.86 263.03,19.03 259.69,20.92 257.96,21.90 256.10,21.25 255.02,19.68 253.28,17.15 255.01,10.84 247.00,8.57 243.74,7.65 240.20,8.29 237.00,9.16 224.85,12.44 218.29,19.57 212.00,30.00 212.00,30.00 253.00,30.00 253.00,30.00 255.96,30.01 259.35,29.73 261.85,31.60 266.32,34.94 266.92,42.92 258.00,46.00 Z M 294.32,39.08 C 301.74,37.42 310.63,50.62 312.36,57.00 313.17,59.97 312.58,64.88 308.19,63.34 305.55,62.42 303.95,58.27 302.53,56.00 298.55,49.61 292.63,45.86 292.63,42.06 292.63,39.94 294.27,39.14 294.32,39.08 Z M 212.00,46.00 C 217.48,57.24 226.43,65.00 239.00,67.07 242.99,67.73 249.36,68.01 252.26,64.57 256.37,59.70 251.53,49.23 247.79,47.02 245.71,45.80 242.38,46.00 240.00,46.00 240.00,46.00 212.00,46.00 212.00,46.00 Z M 311.00,82.17 C 316.12,83.10 314.92,87.05 313.64,91.00 311.94,96.26 305.82,108.57 300.03,109.64 296.85,110.22 294.99,108.06 295.84,104.98 296.53,102.51 299.66,99.22 301.22,97.00 304.48,92.35 305.91,84.38 311.00,82.17 Z M 281.00,113.65 C 287.65,112.82 288.60,117.23 285.55,120.03 283.10,122.29 272.57,125.61 269.00,126.52 266.76,127.10 262.30,128.19 260.15,127.36 257.10,126.19 256.80,122.90 259.32,120.93 260.96,119.66 265.82,118.69 268.00,118.12 268.00,118.12 281.00,113.65 281.00,113.65 Z M 190.00,122.43 C 198.88,121.64 198.41,127.00 195.68,129.02 193.90,130.33 189.28,130.83 187.00,131.26 187.00,131.26 172.02,134.67 172.02,134.67 167.30,134.50 166.14,130.08 170.23,127.56 173.92,125.28 185.38,123.18 190.00,122.43 Z M 212.45,122.92 C 219.15,120.36 226.59,123.26 233.00,122.92 236.24,122.59 241.11,121.13 242.83,125.13 244.50,128.99 239.59,129.95 237.00,130.41 233.78,130.97 218.09,130.37 215.04,129.77 210.74,128.94 209.65,126.35 212.45,122.92 Z M 199.00,309.00 C 199.00,309.00 86.00,272.33 86.00,272.33 86.00,272.33 57.00,262.98 57.00,262.98 52.74,261.65 45.59,259.82 42.51,256.73 42.51,256.73 31.33,241.00 31.33,241.00 31.33,241.00 12.66,213.00 12.66,213.00 8.64,207.08 3.19,200.71 5.65,193.01 7.44,187.43 12.00,186.03 17.00,184.33 17.00,184.33 41.00,176.42 41.00,176.42 41.00,176.42 77.00,164.67 77.00,164.67 77.00,164.67 127.00,148.66 127.00,148.66 127.00,148.66 150.00,141.00 150.00,141.00 154.02,139.67 158.75,137.82 163.00,138.75 170.28,140.33 174.79,149.18 178.67,155.00 178.67,155.00 206.67,195.95 206.67,195.95 210.65,200.63 214.44,201.15 220.00,203.00 220.00,203.00 242.00,210.02 242.00,210.02 242.00,210.02 329.00,238.34 329.00,238.34 329.00,238.34 355.00,246.91 355.00,246.91 359.19,248.40 362.72,250.57 366.24,246.91 366.24,246.91 391.02,210.00 391.02,210.00 393.13,206.94 399.45,199.89 397.85,196.13 396.59,193.17 391.80,191.94 389.00,191.00 389.00,191.00 365.00,183.33 365.00,183.33 365.00,183.33 284.00,157.00 284.00,157.00 284.00,157.00 261.00,149.42 261.00,149.42 259.04,148.85 253.29,146.88 251.58,147.23 247.90,147.97 244.32,154.02 242.33,157.00 242.33,157.00 223.33,185.00 223.33,185.00 216.76,194.50 213.24,189.28 213.56,185.98 213.84,183.08 218.56,176.62 220.34,174.00 220.34,174.00 237.34,149.00 237.34,149.00 240.44,144.45 243.24,140.00 249.00,138.75 253.25,137.82 257.98,139.67 262.00,141.00 262.00,141.00 285.00,148.58 285.00,148.58 285.00,148.58 319.00,159.66 319.00,159.66 319.00,159.66 369.00,175.67 369.00,175.67 369.00,175.67 392.00,183.33 392.00,183.33 395.60,184.53 400.88,185.94 403.61,188.56 410.40,195.07 405.68,203.81 401.41,210.00 401.41,210.00 380.00,242.00 380.00,242.00 378.06,244.90 372.40,251.82 372.54,255.00 372.67,258.01 379.97,267.96 382.00,271.00 382.00,271.00 403.00,302.00 403.00,302.00 405.77,306.15 411.17,313.21 411.77,318.00 412.84,326.44 406.89,330.00 400.00,332.33 400.00,332.33 379.00,339.33 379.00,339.33 376.53,340.16 372.51,341.17 371.02,343.42 369.78,345.29 370.00,348.79 370.00,351.00 370.00,351.00 370.00,399.00 370.00,399.00 369.99,405.62 369.42,411.66 364.66,416.82 360.11,421.75 354.11,422.89 348.00,424.72 348.00,424.72 316.00,434.34 316.00,434.34 316.00,434.34 247.00,455.02 247.00,455.02 238.47,457.65 213.36,465.97 206.00,465.97 199.80,465.97 189.25,462.29 183.00,460.34 183.00,460.34 152.00,451.02 152.00,451.02 152.00,451.02 70.00,426.42 70.00,426.42 54.79,421.98 42.24,420.25 42.00,401.00 42.00,401.00 42.00,362.00 42.00,362.00 42.05,359.27 42.15,354.63 46.00,354.63 49.85,354.63 49.95,359.27 50.00,362.00 50.00,362.00 50.00,398.00 50.00,398.00 50.08,414.43 60.84,415.21 74.00,419.00 74.00,419.00 149.00,441.42 149.00,441.42 149.00,441.42 188.00,453.14 188.00,453.14 192.32,454.39 202.03,457.79 206.00,457.82 210.72,457.85 232.90,450.55 239.00,448.72 239.00,448.72 309.00,427.72 309.00,427.72 309.00,427.72 341.00,418.14 341.00,418.14 346.91,416.44 354.62,414.73 358.72,409.95 362.26,405.82 361.99,402.07 362.00,397.00 362.00,397.00 362.00,345.00 362.00,345.00 362.00,345.00 332.00,354.66 332.00,354.66 332.00,354.66 282.00,370.67 282.00,370.67 273.83,373.39 257.87,380.66 250.04,376.55 245.55,374.19 241.29,366.30 238.28,362.00 238.28,362.00 215.91,329.00 215.91,329.00 211.28,321.75 215.99,319.71 218.83,320.66 221.61,321.58 225.92,328.45 227.66,331.00 227.66,331.00 246.58,359.00 246.58,359.00 248.81,362.15 252.17,368.24 256.01,369.22 258.32,369.81 263.60,368.00 266.00,367.28 266.00,367.28 288.00,360.00 288.00,360.00 288.00,360.00 370.00,333.33 370.00,333.33 370.00,333.33 394.00,325.67 394.00,325.67 396.61,324.79 401.49,323.57 402.60,320.78 404.05,317.15 396.78,308.17 394.67,305.00 394.67,305.00 374.33,275.00 374.33,275.00 371.67,271.00 366.26,262.16 362.91,259.42 359.85,256.91 354.78,255.59 351.00,254.33 351.00,254.33 328.00,247.00 328.00,247.00 328.00,247.00 247.00,220.67 247.00,220.67 247.00,220.67 220.00,211.67 220.00,211.67 216.07,210.36 208.99,207.72 205.00,208.08 205.00,208.08 181.00,215.33 181.00,215.33 181.00,215.33 140.00,228.67 140.00,228.67 140.00,228.67 85.00,246.67 85.00,246.67 81.35,247.88 68.46,253.90 66.96,247.87 66.04,244.15 70.31,242.61 73.00,241.67 73.00,241.67 97.00,234.00 97.00,234.00 97.00,234.00 168.00,210.98 168.00,210.98 168.00,210.98 199.00,201.00 199.00,201.00 199.00,201.00 173.00,162.00 173.00,162.00 170.71,158.57 164.90,148.82 161.41,147.44 159.28,146.60 156.08,147.98 154.00,148.67 154.00,148.67 139.00,153.33 139.00,153.33 139.00,153.33 80.00,172.67 80.00,172.67 80.00,172.67 28.00,189.33 28.00,189.33 23.68,190.77 12.57,192.83 13.99,199.00 13.99,199.00 28.33,221.00 28.33,221.00 32.05,226.57 45.24,247.48 49.09,250.57 51.99,252.90 57.35,254.12 61.00,255.33 61.00,255.33 86.00,263.42 86.00,263.42 86.00,263.42 115.00,273.00 115.00,273.00 115.00,273.00 151.00,284.67 151.00,284.67 151.00,284.67 189.00,297.00 189.00,297.00 193.63,298.54 203.44,302.18 208.00,301.64 208.00,301.64 231.00,294.33 231.00,294.33 231.00,294.33 275.00,280.00 275.00,280.00 275.00,280.00 330.00,262.33 330.00,262.33 332.72,261.43 340.52,258.47 342.94,258.75 345.47,259.05 347.27,261.21 346.34,263.74 345.48,266.09 342.13,266.94 340.00,267.67 340.00,267.67 321.00,274.00 321.00,274.00 321.00,274.00 244.00,299.00 244.00,299.00 244.00,299.00 220.00,306.67 220.00,306.67 215.06,308.31 211.02,309.14 207.32,313.11 207.32,313.11 175.14,360.00 175.14,360.00 171.92,364.53 166.55,374.14 161.96,376.55 153.85,380.81 134.62,372.21 126.00,369.33 126.00,369.33 71.00,351.66 71.00,351.66 71.00,351.66 34.00,339.58 34.00,339.58 29.13,338.15 8.13,331.55 5.10,329.30 2.41,327.31 0.65,324.32 0.23,321.00 -0.51,315.28 3.36,310.48 6.33,306.00 6.33,306.00 26.00,277.00 26.00,277.00 27.91,274.14 33.86,263.12 38.38,267.62 41.69,270.90 35.58,278.13 33.67,281.00 33.67,281.00 14.00,310.00 14.00,310.00 12.10,312.85 7.51,318.15 9.84,321.58 11.42,323.91 16.39,325.07 19.00,325.88 19.00,325.88 39.00,332.33 39.00,332.33 39.00,332.33 123.00,359.67 123.00,359.67 123.00,359.67 146.00,367.00 146.00,367.00 149.06,368.01 153.91,370.23 156.96,368.89 160.37,367.38 167.89,355.62 170.33,352.00 170.33,352.00 185.02,330.00 185.02,330.00 185.02,330.00 199.00,309.00 199.00,309.00 Z M 149.30,160.08 C 157.00,158.39 154.00,166.61 154.32,171.00 154.53,173.79 155.82,178.15 152.69,179.92 149.07,181.97 147.24,177.73 146.63,175.00 145.52,169.99 145.45,163.81 149.30,160.08 Z M 155.31,192.13 C 160.66,191.15 163.07,196.72 165.08,201.00 166.09,203.14 167.15,206.22 164.56,207.77 161.87,209.37 159.34,206.91 157.79,204.94 154.92,201.30 151.62,196.00 155.31,192.13 Z M 86.00,255.00 C 86.00,255.00 112.00,246.00 112.00,246.00 112.00,246.00 167.00,228.00 167.00,228.00 167.00,228.00 192.00,219.98 192.00,219.98 192.00,219.98 206.00,216.18 206.00,216.18 206.00,216.18 218.00,219.14 218.00,219.14 218.00,219.14 245.00,228.00 245.00,228.00 245.00,228.00 299.00,245.66 299.00,245.66 299.00,245.66 326.00,255.00 326.00,255.00 326.00,255.00 300.00,264.00 300.00,264.00 300.00,264.00 243.00,282.34 243.00,282.34 243.00,282.34 219.00,290.33 219.00,290.33 219.00,290.33 206.00,293.65 206.00,293.65 206.00,293.65 194.00,290.42 194.00,290.42 194.00,290.42 165.00,281.00 165.00,281.00 165.00,281.00 86.00,255.00 86.00,255.00 Z'/%3E%3C/svg%3E");
	color: rgb(200,200,200)
}

/* ============================================================================================
	PAYMENT
============================================================================================ */
.wc-block-components-form .wc-block-components-text-input input[type=email],
.wc-block-components-form .wc-block-components-text-input input[type=number],
.wc-block-components-form .wc-block-components-text-input input[type=password],
.wc-block-components-form .wc-block-components-text-input input[type=tel],
.wc-block-components-form .wc-block-components-text-input input[type=text],
.wc-block-components-form .wc-block-components-text-input input[type=url],
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-checkout-step__container textarea {
	outline: none;
	box-shadow: none;
	border-radius: 2px;
	border: 1px solid var(--wp--preset--color--border)
}
.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
	box-shadow: 0 0 0 2px var(--wp--preset--color--base);
	border: 0;
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--white)
}

.wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
	outline: none;
	box-shadow: none;
	border-radius: 2px;
	border: 0
}
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name,
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
	text-underline-offset: 4px
}

/* ============================================================================================
	PAGINATION
============================================================================================ */
:root {
	--listed-pagination-size: 40px;
	--listed-pagination-gap: 20px;
	--listed-pagination-gap-inner: 8px;
	--listed-pagination-prev-next-size: 8px
}
.listed-pagination.wp-block-query-pagination {
	width: 90%;
	max-width: 1280px;
	margin: 50px auto
}
.listed-pagination.wp-block-query-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--listed-pagination-gap)
}
.listed-pagination.wp-block-query-pagination .wp-block-query-pagination-numbers {
	display: flex;
	flex-flow: wrap;
	justify-self: center;
	align-items: center;
	gap: var(--listed-pagination-gap-inner)
}
.listed-pagination.wp-block-query-pagination .wp-block-query-pagination-numbers span.page-numbers.current,
.listed-pagination.wp-block-query-pagination .wp-block-query-pagination-numbers a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: var(--listed-pagination-size);
	height: var(--listed-pagination-size)
}
.listed-pagination.wp-block-query-pagination .wp-block-query-pagination-numbers span.page-numbers.current {
	border: 1px solid var(--wp--preset--color--contrast);
}
.listed-pagination.wp-block-query-pagination .wp-block-query-pagination-numbers a,
.listed-pagination.wp-block-query-pagination .listed-pagination-prev-next {
	background: var(--wp--preset--color--gray);
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	transition: .3s ease-in-out
}
.listed-pagination.wp-block-query-pagination .wp-block-query-pagination-numbers a:hover,
.listed-pagination.wp-block-query-pagination .listed-pagination-prev-next:hover {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--white)
}
.listed-pagination.wp-block-query-pagination .listed-pagination-prev-next {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 3rem;
	height: var(--listed-pagination-size);
	text-decoration: none
}


.wc-block-grid.has-5-columns .wc-block-grid__products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill,minmax(max(158px,calc(20% - 1em)),1fr)) !important;
	gap: 1.25em
}
.wc-block-grid.has-5-columns .wc-block-grid__products li {
	max-width: initial !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important
}

.wc-block-grid__product > a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none
}
.wc-block-grid__product-title {
	font-size: var(--wp--preset--font-size--small);
	font-family: var(--wp--preset--font-family--mincho)
}
.wc-block-grid__product-price {
	font-size: var(--wp--preset--font-size--medium)
}
.wp-block-button.wc-block-grid__product-add-to-cart {
	width: 100%;
	font-size: var(--wp--preset--font-size--x-small) !important
}
.wp-block-button.wc-block-grid__product-add-to-cart .add_to_cart_button {
	border-radius: 2px !important
}

/* cross sell */
.wp-block-woocommerce-cart-cross-sells-block .wp-block-heading + div {
	display: grid;
	grid-template-columns: repeat(auto-fill,minmax(max(158px,calc(20% - 1em)),1fr));
	gap: 1.25em
}
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block .cross-sells-product {
	display: flex;
	flex-flow: column;
	align-items: center;
	width: initial;
	padding: 0;
	text-align: left
}
.cross-sells-product > div {
	display: flex;
	flex-flow: column;
	align-items: center
}
.cross-sells-product .wp-block-button.wc-block-components-product-button {
	width: 100%;
	margin-top: auto
}
.cross-sells-product .wc-block-components-product-name {
	text-decoration: none
}


.wc-block-product-categories-list {
	display: grid;
	grid-template-columns: repeat(1,1fr);
	gap: 12px;
	margin: 0 0 var(--wp--preset--spacing--x-large);
	padding: 0
}
@media screen and (min-width: 620px) {
	.wc-block-product-categories-list {
		grid-template-columns: repeat(2,1fr)
	}
}
@media screen and (min-width: 768px) {
	.wc-block-product-categories-list {
		grid-template-columns: repeat(3,1fr)
	}
}
@media screen and (min-width: 1400px) {
	.wc-block-product-categories-list {
		grid-template-columns: repeat(4,1fr)
	}
}
.wc-block-product-categories-list--has-images .wc-block-product-categories-list-item {
	position: relative;
	margin: 0
}
.wc-block-product-categories-list-item > a {
	display: block;
	position: relative;
	aspect-ratio: 2/1;
	margin: 0 !important;
	overflow: hidden
}
.wc-block-product-categories-list-item > a:hover .wc-block-product-categories-list-item__image img {
	transform: scale(1.05)
}
.wc-block-product-categories-list--has-images .wc-block-product-categories-list-item__image {
	display: block;
	width: 100%;
	max-width: initial;
	height: 100%;
	margin: 0
}
.wc-block-product-categories-list--has-images .wc-block-product-categories-list-item__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s
}
.wc-block-product-categories-list-item__name {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0 1em;
	background: rgba(0,0,0,.5);
	color: var(--wp--preset--color--white);
	font-weight: bold;
	font-size: var(--wp--preset--font-size--large)
}
.wc-block-product-categories-list-item-count:before,
.wc-block-product-categories-list-item-count:after {
	content: none
}
.wc-block-product-categories-list-item-count {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	bottom: 8px;
	right: 8px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255,255,255,.8);
	color: var(--wp--preset--color--contrast);
	font-weight: bold;
	font-size: var(--wp--preset--font-size--xx-small);
	pointer-events: none
}

.kasai-product-keep-buying a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: .5em 2em;
	border-radius: 100px;
	border: 1px solid currentColor;
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	text-decoration: none
}
.kasai-product-keep-buying a::before {
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' aria-hidden='true' focusable='false'%3E%3Cpath d='M20 11.2H6.8l3.7-3.7-1-1L3.9 12l5.6 5.5 1-1-3.7-3.7H20z'%3E%3C/path%3E%3C/svg%3E") center center / contain no-repeat;
	vertical-align: middle;
	margin-right: .5em;
	transition: .3s ease-in-out
}
.wc-block-components-button:not(.is-link) {
	border-radius: 2px
}


.kasai-new-arrivals li {
	position: relative
}
.kasai-new-arrivals li::before {
	content: "\2605\00a0NEW\00a0\2605";
	display: inline-block;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 1;
	background: rgba(245,0,4,.7);
    color: var(--wp--preset--color--white);
    font-size: var(--wp--preset--font-size--xx-small);
    font-family: var(--wp--preset--font-family--gothic);
    pointer-events: none;
    padding: 0.5em 1em;
    border-radius: 2px
}

.kasai-product-back-to-top a {
	display: inline-block;
	padding: .4em 1.5em;
	border-radius: 100px;
}

.kasai-product-back-to-top-online a {
	background: var(--wp--preset--color--green);
	color: var(--wp--preset--color--contrast);
	text-decoration: none
}
.kasai-product-back-to-top-site a {
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--white);
	text-decoration: none
}

.wc-block-grid .wc-block-grid__product-onsale,
.wc-block-grid__product-image .wc-block-grid__product-onsale {
	display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
	border: 0;
    background: rgb(255,217,36);
    color: var(--wp--preset--color--contrast);
    font-size: 0;
    font-family: var(--wp--preset--font-family--gothic);
    pointer-events: none;
}
.wc-block-grid .wc-block-grid__product-onsale::before,
.wc-block-grid__product-image .wc-block-grid__product-onsale::before {
	content: "\2605\00a0SALE\00a0\2605";
	display: inline-block;
    padding: 0.5em 1em;
    border-radius: 2px;
    font-size: var(--wp--preset--font-size--xx-small);
}
body.sale .kasai-products-right h1::before {
	content: "SALE";
	display: inline-block;
    vertical-align: .25em;
    margin: 0 .5em 0 0;
    padding: .5em 1em;
    border-radius: 2px;
    background: rgb(255,217,36);
    color: var(--wp--preset--color--contrast);
    font-size: var(--wp--preset--font-size--xx-small);
    font-family: var(--wp--preset--font-family--gothic);
    pointer-events: none;
}
span.onsale {
	display: none
}

.wc-block-components-checkout-return-to-cart-button {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: .5em 2em;
	border-radius: 100px;
	border: 1px solid currentColor;
	color: var(--wp--preset--color--contrast)

}
.wc-block-components-checkout-return-to-cart-button svg {
	position: static;
	transform: none
}

/* author name */
.kasai-product-author-name {
	display: flex;
	flex-flow: wrap;
	gap: 0.5em;
	margin: 1em 0;
	font-size: var(--wp--preset--font-size--xx-small);
}
.kasai-product-author-name a {
	display: inline-block;
	color: currentColor;
	text-underline-offset: 4px
}
.kasai-product-author-name a:not(:first-of-type)::before {
	content: "/";
	display: inline-block;
	margin: 0 4px
}
.kasai-product-author-name-text {
	color: rgb(100,100,100)
}

/* sale notice */
.sale-end-date {
	display: inline-block;
	margin: 0.5em 0;
	padding: 0.5em;
	border-radius: 4px;
	border: 1px solid #ffd700;
	background: #fff8dc;
	color: #b8860b;
	font-size: .9em
}
/* shipping notice */
.kasai-free-shipping-notice {
	display: inline-block;
	margin: 0.5em 0;
	padding: .6em 2em;
	border-radius: 4px;
	border: 1px solid #ffd700;
	background: #fff8dc;
	color: #b8860b;
	font-size: .9em
}
.kasai-free-shipping-notice.is-achieved {
	border-color: #0f834d;
	background: rgb(225,255,234);
	color: #0f834d;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	z-index: 2
}


/* ============================================================================================
	CART ICON
============================================================================================ */
.kasai-cart-icon {
	position: fixed;
	top: 20vh;
	right: 0;
	z-index: 5;
	padding: 12px 16px 6px 8px;
	border-top-left-radius: 2px;
	border-bottom-left-radius: 2px;
	background: rgba(251,250,245,.7)
}
.kasai-cart-icon .wc-block-mini-cart__button svg {
	display: none
}
.kasai-cart-icon .wc-block-mini-cart__button {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='none' stroke='%23202020' stroke-miterlimit='10' stroke-width='3' d='M2 6h10l10 40h32l8-24H16' stroke-linejoin='round' stroke-linecap='round'%3E%3C/path%3E%3Ccircle cx='23' cy='54' r='4' fill='none' stroke='%23202020' stroke-miterlimit='10' stroke-width='3' stroke-linejoin='round' stroke-linecap='round'%3E%3C/circle%3E%3Ccircle cx='49' cy='54' r='4' fill='none' stroke='%23202020' stroke-miterlimit='10' stroke-width='3' stroke-linejoin='round' stroke-linecap='round'%3E%3C/circle%3E%3C/svg%3E") center center /cover no-repeat;
	width: 32px;
	height: 32px;
	transition: background .3s
}
[data-cart-items-count="0"].kasai-cart-icon .wc-block-mini-cart__button {
	background: none !important
}
.kasai-cart-icon .wc-block-mini-cart__quantity-badge {
	margin-left: 6px;
	font-size: 13px
}
h2.wc-block-mini-cart__title {
	font-size: var(--wp--preset--font-size--medium)
}
.wc-block-mini-cart__footer-actions .wc-block-components-button__text {
	font-size: var(--wp--preset--font-size--x-small) !important
}
.wc-block-components-drawer__screen-overlay {
	background: rgba(0,0,0,.5)
}

.wc-block-components-shipping-rates-control__package {
	pointer-events: none
}

.wc-block-components-form .wc-block-components-checkout-step {
	margin: 0 0 18px
}

body.term-online-shop .kasai-term-under-heading {
	font-size: 0
}
body.term-online-shop .kasai-term-under-heading::before {
	content: "オンラインショップ";
	font-size: var(--wp--preset--font-size--x-small)
}

/* 「オンライン購入」のセクションを非表示化するならこの行を削除 1/2
.kasai-products-section:not(:has(.kasai-product-list-inner li)) {
	display: none
}
「オンライン購入」のセクションを非表示化するならこの行を削除 2/2 */

/* ============================================================================================
	AGE VERIFICATION MODAL
============================================================================================ */

/* Modal Overlay */
.kasai-age-verification-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.8);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 999999;
	opacity: 0;
	animation: kasaiModalFadeIn 0.3s ease-out forwards;
}

/* Modal Container */
.kasai-age-verification-modal {
	background: white;
	border-radius: 8px;
	max-width: 500px;
	width: 90%;
	max-height: 80vh;
	overflow-y: auto;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
	transform: translateY(20px);
	animation: kasaiModalSlideIn 0.3s ease-out forwards;
}

/* Modal Header */
.kasai-age-verification-header {
	padding: 2rem 2rem 1rem;
	border-bottom: 1px solid #eee;
	text-align: center;
}

.kasai-age-verification-header h3 {
	margin: 0;
	font-size: 1.5rem;
	color: #333;
	font-weight: 600;
}

/* Modal Content */
.kasai-age-verification-content {
	padding: 2rem;
	text-align: center;
	line-height: 1.6;
}

.kasai-age-verification-content p {
	margin: 0 0 1.5rem;
	color: #555;
	font-size: 1rem;
	line-height: 1.6;
}

.kasai-age-verification-content h3 {
	margin: 0 0 1.5rem;
	color: #333;
	font-size: 1.5rem;
	font-weight: 600;
}

.kasai-age-verification-content p:last-child {
	margin-bottom: 0;
}

.kasai-age-verification-content strong {
	color: #333;
	font-weight: 600;
	font-size: 1.1rem;
}

/* Modal Buttons */
.kasai-age-verification-buttons {
	padding: 1.5rem 2rem 2rem;
	display: flex;
	gap: 1rem;
	justify-content: center;
}

.kasai-age-verification-btn {
	padding: 1rem 2rem;
	border: none;
	border-radius: 4px;
	font-size: 1rem;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.3s ease;
	min-width: 150px;
	text-align: center;
}

/* Yes Button */
.kasai-btn-yes {
	background: #28a745;
	color: white;
	font-size: 14px;
}

.kasai-btn-yes:hover {
	background: #218838;
	transform: translateY(-1px);
}

/* No Button */
.kasai-btn-no {
	background: #6c757d;
	color: white;
	font-size: 14px;
}

.kasai-btn-no:hover {
	background: #5a6268;
	transform: translateY(-1px);
}

/* Close Button */
.kasai-btn-close {
	background: var(--wp--preset--color--navy);
	color: white;
}

.kasai-btn-close:hover {
	background: var(--wp--preset--color--navy);
	opacity: 0.9;
	transform: translateY(-1px);
}

/* Animations */
@keyframes kasaiModalFadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes kasaiModalSlideIn {
	from {
		transform: translateY(20px);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}

/* Responsive Design */
@media screen and (max-width: 600px) {
	.kasai-age-verification-modal {
		width: 95%;
		margin: 1rem;
	}
	
	.kasai-age-verification-header,
	.kasai-age-verification-content,
	.kasai-age-verification-buttons {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
	
	.kasai-age-verification-buttons {
		flex-direction: column;
		gap: 0.5rem;
	}
	
	.kasai-age-verification-btn {
		min-width: auto;
		width: 100%;
	}
}