@charset "UTF-8";

:root {
	--tcd-product-loop-item-column: 4;
	--tcd-product-loop-item-column-large: 3;
	--tcd-product-loop-item-column-small: 4;
	--tcd-product-loop-item-margin-hn: 30px;
	--tcd-product-loop-item-margin-vt: 60px;
	--tcd-product-image-size: calc(var(--tcd-product-image-aspect-ratio) * 100%);
	--tcd-product-image-size-square: 1;
	--tcd-product-image-size-landscape: 3 / 4;
	--tcd-product-image-size-vertical: 4 / 3;
	--tcd-container-width: 1100px;
}

@media (max-width: 1160px) {
	:root {
		--tcd-container-width: calc(100vw - 60px);
	}
}

@media (max-width: 767px) {
	:root {
		--tcd-product-loop-item-margin-hn: 20px;
		--tcd-product-loop-item-margin-vt: 30px;
	}
}

@media (max-width: 599px) {
	:root {
		--tcd-product-loop-item-column: 2;
		--tcd-product-loop-item-column-large: 1;
		--tcd-product-loop-item-column-small: 2;
	}
}


/* ボタン */
.p-wc-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 50px;
	border-radius: 50px;
	cursor: pointer;
	font-size: 16px;
	padding: 0 1.5em;
	color: #fff;
	background: var(--tcd-accent-color);
	border: none;
	/* transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease; */
	transition: opacity 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
	.p-wc-button:hover {
		color: #fff;
		opacity: 0.8;
	}
}

/* カルーセル */
.p-wc-carousel-arrow {
	position: absolute;
	width: auto;
	top: 0;
	left: 0;
	right: 0;
	height: calc((((var(--tcd-container-width) + var(--tcd-product-loop-item-margin-hn)) / var(--tcd-product-loop-item-column)) - var(--tcd-product-loop-item-margin-hn)) * var(--tcd-product-image-aspect-ratio));
	pointer-events: none;
}

.p-wc-carousel-arrow>button {
	pointer-events: auto;
}

@media (max-width: 1240px) {
	.p-wc-carousel-arrow {
		left: 35px;
		right: 35px;
	}
}

@media (max-width: 991px) {
	.p-wc-carousel-arrow {
		display: none;
	}
}

/* ダイアログ */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
	line-height: 1.6;
}

@media (max-width: 767px) {

	.woocommerce-error,
	.woocommerce-info,
	.woocommerce-message {
		margin-bottom: 81px;
	}

	.woocommerce-error a,
	.woocommerce-info a:not(.showlogin),
	.woocommerce-message a {
		display: none !important;
	}
	
	.woocommerce-error li a {
		display: inherit !important;
	}
	
	.woocommerce-error li a {
		display: inherit !important;
	}

	/* リンクの非表示対策 */
	.woocommerce-info a.showcoupon{
		display: inline-block!important;
	}

	/* クーポンフォーム下の余白調整 */
	.woocommerce-form-coupon-toggle .woocommerce-info {
		margin-bottom: 30px;
	}

}

/* チェックアウト時のクーポン入力枠の調整 */
.checkout_coupon.woocommerce-form-coupon .p-button { font-weight: 400; min-width: auto;height: 50px; line-height: 50px;}

@media (max-width: 1024px) {
	.checkout_coupon.woocommerce-form-coupon .button {width: 100%;margin-top: 20px;}
	.checkout_coupon.woocommerce-form-coupon .form-row-first {
		width: 100%; 
	}
	.checkout_coupon.woocommerce-form-coupon .form-row-last{
		width: 100%;
	}
}

/* カート時のクーポン入力枠の調整 */
@media (max-width: 1024px) {
	.woocommerce-cart td.actions input[name="coupon_code"] {width: 100%!important;}
	.woocommerce-cart table.cart td.actions .coupon .input-text+.button{
		width: 100%;
		margin-top: 10px;
	}
}

/* クーポン入力時のエラーダイアログの幅修正 */
.woocommerce-form-coupon-toggle ~ .woocommerce-error {
	margin-left: 0;
}


/* splide pagination */
.p-splide-pagination {
	gap: 8px;
}

.p-splide-pagination-item {
	cursor: pointer;
	display: block;
	width: 10px;
	height: 10px;
	background: #ddd;
	padding: 0;
	border: 0;
	border-radius: 50%;
}

.p-splide-pagination-item.is-active {
	background: #000;
}



/* header membermenu */
.p-header-membermenu {
	display: flex;
	flex: 0 0 auto;
	margin-left: 13px;
	height: 40px;
}

.p-header-membermenu li {
	height: 100%;
}

.p-header-membermenu a {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 0 13px;
}

.p-header-membermenu a:not(:hover) {
	color: inherit;
}

.p-header-membermenu-cart a {
	padding-right: 0;
}

.p-header-membermenu-wishlist a,
.p-header-membermenu-cart a {
	position: relative;
}

.p-header-membermenu-wishlist a::before,
.p-header-membermenu-login a::before,
.p-header-membermenu-mypage a::before,
.p-header-membermenu-cart a::before {
	margin-top: -2px;
	margin-bottom: -2px;
	font-family: "design_plus";
	font-size: 20px;
}

.p-header-membermenu-wishlist a::before {
	content: "\e94f";
}

.p-header-membermenu-login a::before,
.p-header-membermenu-mypage a::before {
	font-size: 22px;
	content: "\e94c";
}

.p-header-membermenu-cart a::before {
	content: "\e950";
}

.p-header-membermenu .p-header-membermenu-wishlist a {
	display: flex;
	align-items: center;
}

.p-header-membermenu-wishlist-count:not(:empty) {
	position: absolute;
	top: 0;
	right: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	font-size: 12px;
	line-height: 1;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	background: var(--tcd-accent-color);
	border-radius: 9px;
	transform: translate3d(50%, 0, 0);
}

.p-header-membermenu .p-header-membermenu-cart a {
	display: flex;
	align-items: center;
}

.p-header-membermenu-cart-badge:not(:empty) {
	position: absolute;
	top: 0;
	right: -3px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	font-size: 12px;
	line-height: 1;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	background: var(--tcd-accent-color);
	border-radius: 9px;
	transform: translate3d(50%, 0, 0);
}

@media (max-width: 1200px) {

	.p-header-membermenu .p-header-membermenu-wishlist,
	.p-header-membermenu .p-header-membermenu-mypage,
	.p-header-membermenu .p-header-membermenu-login {
		display: none;
	}

}

@media (max-width: 991px) {
	.p-header-membermenu a {
		padding: 10px 6px;
	}

	.p-header-membermenu-cart a {
		padding-right: 6px;
	}

	.p-header-membermenu-cart a::before {
		font-size: 19px;
	}

	.p-header-membermenu-cart-badge:not(:empty) {
		top: 0;
		right: 3px;
	}
}

/* header view cart */
/* header login */
.p-header-memberbox,
.p-header-view-cart {
	position: absolute;
	top: 69px;
	right: 40px;
	z-index: 998;
	width: 320px;
	max-width: 90vw;
	max-height: 80vh;
	overflow: auto;
	font-size: 14px;
	text-align: center;
	padding: 30px;
	visibility: hidden;
	opacity: 0;
	transition-timing-function: ease-out;
	transition-duration: 0.2s;
	transition-property: opacity, visibility;
}

.p-header-memberbox.is-active,
.p-header-view-cart.is-active {
	visibility: visible;
	opacity: 1;
}

.p-header-memberbox-login-form {
	display: flex;
	flex-direction: column;
	gap: 20px 0;
}

.p-header-memberbox-login-input {
	width: 100%;
	height: 50px;
	padding: 0 20px;
	background: #fff;
	border: none;
}

.p-header-memberbox-login-button-submit,
.p-header-memberbox-registration-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 50px;
	border-radius: 50px;
	cursor: pointer;
	font-size: 16px;
	padding: 0 1.5em;
	color: #fff;
	background: var(--tcd-accent-color);
	border: none;
	transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

.p-header-memberbox-login-lostpassword a {
	color: inherit;
}

.p-header-memberbox-registration {
	margin-top: 30px;
}

/* ダーク */
body.is-header-type--dark .p-header-memberbox,
body.is-header-type--dark .p-header-view-cart {
	color: #fff;
	background: #000;
}

body.is-header-type--dark .p-header-memberbox input {
	color: #000;
}

/* ライト */
body.is-header-type--light .p-header-memberbox,
body.is-header-type--light .p-header-view-cart {
	color: #000;
	background: #f8f8f8;
}

@media (hover: hover) and (pointer: fine) {

	.p-header-memberbox.is-active,
	.p-header-memberbox:hover,
	.p-header-view-cart:hover {
		visibility: visible;
		opacity: 1;
	}

	.p-header-memberbox-login-button-submit:hover,
	.p-header-memberbox-registration-button:hover {
		color: #fff;
	}
}

@media (max-width: 1200px) {

	.p-header-memberbox,
	.p-header-view-cart {
		display: none;
	}

}

/* drawer membermenu */

.p-drawer-menu-member {
	display: flex;
}

.p-drawer-menu-member__item {
	width: 100%;
}

.p-drawer-menu-member__link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 0 20px;
	height: 50px;
	color: inherit;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
}

*+.p-drawer-menu-member__item .p-drawer-menu-member__link {
	border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.is-header-type--light .p-drawer-menu-member__link {
	border-color: #ddd;
}

.is-header-type--dark .p-drawer-menu-member__link {
	border-color: rgba(255, 255, 255, 0.2);
}


.p-drawer-membermenu {
	display: none;
}

body.drawer-available .p-drawer-membermenu {
	display: flex;
}

body.drawer-available .p-drawer-membermenu>li {
	width: 100%;
}

body.drawer-available .p-drawer-membermenu>li+li {
	border-left-width: 1px;
}

body.drawer-available .p-drawer-membermenu>li a {
	display: flex;
	align-items: center;
	height: 100%;
	padding-right: 5px;
}

body.drawer-available .p-drawer-membermenu .p-header-membermenu-login a::before,
body.drawer-available .p-drawer-membermenu .p-header-membermenu-mypage a::before {
	margin-right: 8px;
	font-size: 18px;
}

body.drawer-available .p-drawer-membermenu .p-header-membermenu-wishlist a::before {
	margin-right: 8px;
	font-size: 16px;
}


.p-drawer-menu__product {
	margin: 0 -20px;
}

.p-drawer-menu__product-label {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.6;
	margin: -0.3em 20px calc(20px - 0.3em) 20px;
}

.p-drawer-menu__product-list {
	display: flex;
	gap: 20px;
	padding: 0 0 0 20px;
}

.p-drawer-menu__product-list::-webkit-scrollbar {
	display: none;
}

.p-drawer-menu__product .p-archive03-item {
	flex-basis: 150px;
}

.p-drawer-menu__product .p-archive03-item-anchor:not(:hover) {
	color: inherit;
}

.p-drawer-menu__product .p-archive03-item-info {
	margin-top: 20px;
}

.p-drawer-menu__product .p-archive03-item-meta,
.p-drawer-menu__product .p-archive03-item-rating {
	display: none;
}

.p-drawer-menu__product .p-archive03-item-title {
	font-size: 14px !important;
}

.p-drawer-menu__product .p-archive03-item-price {
	color: inherit;
	margin-top: 15px;
}

.p-drawer-menu__product .p-product-badge {
	top: 10px;
	left: 10px;
}

.p-drawer-menu__product .p-product-badge span {
	min-width: 45px;
	height: 45px;
	padding: 0 5px;
	font-size: 10px;
	line-height: 45px;
}

.p-drawer-menu__product .p-archive03-item-actions {
	display: none;
}

.is-header-type--dark .p-drawer-menu__product .p-archive03-item-price {
	color: #fff;
}

.is-header-type--light .p-drawer-menu__product .p-archive03-item-price {
	color: #000;
}

/**
 * WooCommerce style
 */
.woocommerce img.p-hover-effect-image,
.woocommerce-page img.p-hover-effect-image {
	height: 100%;
}

/* woocommerce-store-notice */
.woocommerce-store-notice,
p.demo_store {
	z-index: 0;
	padding: 0.75em 40px;
	font-size: 14px;
	line-height: 1.5;
	background-color: var(--tcd-accent-color);
	box-shadow: none;
}

body.admin-bar .woocommerce-store-notice {
	top: 32px;
}

@media (max-width: 991px) {

	.woocommerce-store-notice,
	p.demo_store {
		padding: 0.75em 20px;
	}
}

@media (max-width: 782px) {
	body.admin-bar .woocommerce-store-notice {
		top: 46px;
	}
}

/* woocommerce-notice */
.woocommerce-notices-wrapper {
	margin: 0 0 50px;
}

.woocommerce-notices-wrapper:empty {
	display: none;
}

@media (max-width: 991px) {
	.woocommerce-notices-wrapper {
		margin: 0 0 30px;
	}
}

/* like icon */
.p-article-like {}

.p-article-like::before {
	font-family: "design_plus";
	color: inherit;
	/* color: var(--tcd-accent-color); */
	font-size: 19px;
	cursor: pointer;
	content: "\e94f";
}

.p-article-like.is-liked::before {
	content: "\e94d";
}

@media (max-width: 991px) {
	.p-article-like::before {
		font-size: 16px;
	}
}

/* like message */
.p-product-like-message {
	position: fixed;
	bottom: 30px;
	left: 30px;
	z-index: 100;
	display: flex;
	align-items: center;
	min-width: 300px;
	max-width: calc(50vw - 30px);
	min-height: 80px;
	padding: calc(30px - 0.3em) 80px calc(30px - 0.3em) 30px;
	font-size: 16px;
	line-height: 1.6;
	color: #fff;
	pointer-events: none;
	background: var(--tcd-product-wishlist-message-bg-color);
	border-radius: 10px;
	visibility: hidden;
	opacity: 0;
	transition: bottom 0.2s ease, opacty 0.5s ease, visibility 0.5s ease;
}

body.has-footer-bar.footer-bar-active .p-product-like-message {
	bottom: 80px;
}

.p-product-like-message.is-active {
	animation: likeMsgFadeIn 0.5s ease 0s forwards;
}

@keyframes likeMsgFadeIn {
	0% {
		opacity: 0;
		visibility: hidden;
	}

	100% {
		opacity: 1;
		visibility: visible;
	}
}

.p-product-like-message-close {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 80px;
	padding: 0;
	color: inherit;
	text-align: center;
	pointer-events: auto;
	cursor: pointer;
	background: transparent;
	border: none;
}

.p-product-like-message-close::before,
.p-product-like-message-close::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	width: 18px;
	height: 1px;
	margin: auto;
	content: "";
	background: #fff;
}

.p-product-like-message-close::before {
	transform: rotate(-45deg);
}

.p-product-like-message-close::after {
	transform: rotate(45deg);
}

@media (hover: hover) and (pointer: fine) {
	.p-product-like-message-close:hover {
		opacity: 0.5;
	}
}

@media (max-width: 767px) {
	.p-product-like-message {
		min-height: 40px;
		padding: calc(20px - 0.3em) 40px calc(20px - 0.3em) 20px;
		font-size: 14px;
	}

	body.has-footer-bar.footer-bar-active .p-product-like-message {
		bottom: 70px;
	}

	.p-product-like-message-close {
		width: 40px;
	}

	.p-product-like-message-close::before,
	.p-product-like-message-close::after {
		width: 14px;
	}
}

@media (max-width: 575px) {
	.p-product-like-message {
		right: 20px;
		bottom: 20px;
		left: 20px;
		min-width: auto;
		max-width: none;
	}
}

/* price */
.p-article-price {
	color: #000;
}

.p-article-price ins {
	text-decoration: none;
}

.tax {
	font-size: 85.7%;
	font-style: normal;
	font-weight: 300;
}

.p-article-outofstock {
	display: inline-block;
	color: #d90000;
}

/* badge */
.p-product-badge {
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 5;
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
}

.p-product-badge span {
	display: block;
	min-width: 60px;
	height: 60px;
	padding: 0 12px;
	margin: 0;
	overflow: hidden;
	font-size: 12px;
	font-weight: 700;
	line-height: 60px;
	color: #fff;
	text-align: center;
	text-overflow: ellipsis;
	white-space: nowrap;
	background-color: var(--tcd-accent-color);
	border-radius: 50%;
}

.p-product-badge .new {
	background: var(--tcd-product-badge-new-color);
}

.p-product-badge .sale {
	background: var(--tcd-product-badge-sale-color);
}

.p-product-badge .featured {
	background: var(--tcd-product-badge-featured-color);
}



@media (max-width: 767px) {

	.p-product-badge {
		top: 10px;
		left: 10px;
	}

	.p-product-badge span {
		min-width: 45px;
		height: 45px;
		padding: 0 5px;
		font-size: 10px;
		line-height: 45px;
	}

}


/* rating */
.p-archive03-item-rating {
	display: none !important;
	margin-top: 20px !important;
	font-size: 12px;
	line-height: 1;
	color: var(--tcd-accent-color);
}

.p-archive03-item .woocommerce-product-rating .star-rating,
.p-wishlist-item .woocommerce-product-rating .star-rating {
	margin-top: 0;
}

.woocommerce .star-rating::before,
.woocommerce .star-rating span::before {
	color: var(--tcd-accent-color);
	white-space: nowrap;
}

/* product archive */
body.post-type-archive-product .l-main-inner,
body.woocommerce-shop .l-main-inner,
body.tax-product_cat .l-main-inner,
body.tax-product_tag .l-main-inner {
	margin-top: 0;
}

body.post-type-archive-product .p-page-header-image,
body.woocommerce-shop .p-page-header-image,
body.tax-product_cat .p-page-header-image,
body.tax-product_tag .p-page-header-image {
	margin-top: 0;
	margin-bottom: 0;
}

.woocommerce-products-header {
	position: sticky;
	top: 0;
	z-index: 9;
	padding: 14px 0;
	margin-bottom: 40px;
	background: #fff;
	border-bottom: 1px solid #ddd;
}

body.hide-product-archive-title-bottom-border .woocommerce-products-header {
	border-bottom: none;
}

.woocommerce-products-header-inner {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	align-items: center;
}

.woocommerce-products-header-title.p-headline,
.woocommerce-products-title-inner.p-headline {
	margin: 0;
	text-align: left;
}


/* filter */
.p-archive03-sort-filter {
	display: flex;
	margin-bottom: 60px;
	background: #fff;
}

.p-archive03-sort-filter-item {
	width: 100%;
	position: relative;
	border: 1px solid #ddd;
}

.p-archive03-sort-filter-item--category,
.p-archive03-sort-filter-item--orderby {
	line-height: 1.4;
}

.p-archive03-sort-filter-item-title {
	cursor: pointer;
	height: 70px;
	padding: 0 25px;
	font-size: 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.p-archive03-sort-filter-item--category .p-archive03-sort-filter-item-title,
.p-archive03-sort-filter-item--orderby .p-archive03-sort-filter-item-title {
	gap: 10px;
}

.p-archive03-sort-filter-item-dropdown {
	position: absolute;
	top: calc(100% + 1px);
	left: -1px;
	z-index: -1;
	width: calc(100% + 2px);
	background: #f8f8f8;
	pointer-events: none;
	visibility: hidden;
	opacity: 0;
	transition: all 0.1s ease-out;
}

.p-archive03-sort-filter-item.is-active .p-archive03-sort-filter-item-dropdown {
	z-index: 10;
	pointer-events: auto;
	visibility: visible;
	opacity: 1;
	transition-duration: 0.2s;
}

.p-archive03-sort-filter-item-dropdown li {
	cursor: pointer;
	color: #000;
	transition: color 0.2s ease, background 0.2s ease;
}

.p-archive03-sort-filter-item-dropdown li a,
.p-archive03-sort-filter-item-dropdown li span {
	display: block;
	height: 60px;
	padding: 0 24px;
	overflow: hidden;
	font-size: 16px;
	line-height: 60px;
	color: inherit;
	text-overflow: ellipsis;
	white-space: nowrap;
	cursor: pointer;
	transition: none;
}

.p-archive03-sort-filter-item-dropdown li.is-active {
	color: #fff;
	background: var(--tcd-accent-color);
}

.p-archive03-sort-filter-item--total {
	pointer-events: none;
}

/* stock */
.p-archive03-sort-filter-item-stock {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	height: 100%;
	cursor: pointer;
	line-height: 1.4;
}

.p-archive03-sort-filter-item-stock-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 1em;
	height: 1em;
	background: #dddddd;
	margin-right: 10px;
}

div[data-value="in_stock"]>.p-archive03-sort-filter-item-stock-icon {
	background: #000;
}

div[data-value="in_stock"]>.p-archive03-sort-filter-item-stock-icon::before {
	font-family: "design_plus";
	color: #fff;
	content: "\e876";
}

/* layout */
.p-archive03-sort-filter-item--layout {
	flex: 1;
}

.p-archive03-sort-filter-item--layout .p-archive03-sort-filter-item-title {
	cursor: auto;
	gap: 20px;
}

.p-archive03-sort-filter-item--layout-icon {
	cursor: pointer;
	color: #ddd;
}

.p-archive03-sort-filter[data-layout="large"] .p-archive03-sort-filter-item--layout-icon[data-layout="large"],
.p-archive03-sort-filter[data-layout="small"] .p-archive03-sort-filter-item--layout-icon[data-layout="small"] {
	color: #000;
}

.p-archive03-sort-filter-item--layout-icon--small,
.p-archive03-sort-filter-item--layout-icon--large {
	font-size: 18px;
}

.p-archive03-sort-filter[data-layout="large"]~.p-product-archive {
	--tcd-product-loop-item-column: var(--tcd-product-loop-item-column-large);
}

.p-archive03-sort-filter[data-layout="small"]~.p-product-archive {
	--tcd-product-loop-item-column: var(--tcd-product-loop-item-column-small);
}

@media (hover: hover) and (pointer: fine) {
	.p-archive03-sort-filter-item-dropdown li:hover {
		color: #fff;
		background: var(--tcd-accent-color);
	}
}

@media not all and (max-width: 991px) {

	.p-archive03-sort-filter-item+.p-archive03-sort-filter-item {
		width: calc(100% + 1px);
		margin-left: -1px;
	}

}

@media (max-width: 991px) {

	.p-archive03-sort-filter {
		flex-wrap: wrap;
	}

	/* category */
	.p-archive03-sort-filter-item--category {
		order: 1;
	}

	.p-archive03-sort-filter.orderby.category .p-archive03-sort-filter-item--category {
		width: 50%;
	}

	/* order */
	.p-archive03-sort-filter-item--orderby {
		order: 2;
	}

	.p-archive03-sort-filter.orderby.category .p-archive03-sort-filter-item--orderby {
		width: calc(50% + 1px);
		margin-left: -1px;
	}

	/* total */
	.p-archive03-sort-filter-item--total {
		order: 3;
		width: 50%;
		border: none;
	}

	.p-archive03-sort-filter-item--total .p-archive03-sort-filter-item-title {
		padding: 0;
		height: auto;
	}

	.p-archive03-sort-filter.category .p-archive03-sort-filter-item--total,
	.p-archive03-sort-filter.orderby .p-archive03-sort-filter-item--total {
		margin-top: 30px;
	}

	/* stock */
	.p-archive03-sort-filter-item--stock {
		order: 4;
		width: 50%;
		border: none;
		margin-bottom: -5px;
	}

	.p-archive03-sort-filter-item--stock .p-archive03-sort-filter-item-title {
		padding: 0;
		height: auto;
	}

	.p-archive03-sort-filter.total .p-archive03-sort-filter-item--stock .p-archive03-sort-filter-item-title {
		justify-content: flex-end;
	}

	.p-archive03-sort-filter.category .p-archive03-sort-filter-item--stock,
	.p-archive03-sort-filter.orderby .p-archive03-sort-filter-item--stock {
		margin-top: 30px;
	}

	/* layout */
	.p-archive03-sort-filter-item--layout {
		order: 5;
		width: 50%;
		border: none;
	}

	.p-archive03-sort-filter-item--layout .p-archive03-sort-filter-item-title {
		padding: 0;
		height: auto;
		justify-content: flex-end;
	}

	.p-archive03-sort-filter.category .p-archive03-sort-filter-item--layout,
	.p-archive03-sort-filter.orderby .p-archive03-sort-filter-item--layout,
	.p-archive03-sort-filter.total.stock .p-archive03-sort-filter-item--layout {
		margin-top: 30px;
	}

}

@media (max-width: 767px) {

	.p-archive03-sort-filter {
		margin-bottom: 30px;
	}

	.p-archive03-sort-filter-item-title {
		font-size: 14px;
	}

	/* category & order */
	.p-archive03-sort-filter-item--category .p-archive03-sort-filter-item-title,
	.p-archive03-sort-filter-item--orderby .p-archive03-sort-filter-item-title {
		height: 60px;
		padding: 0 20px;
	}

	.p-archive03-sort-filter-item-dropdown li a,
	.p-archive03-sort-filter-item-dropdown li span {
		height: 50px;
		line-height: 50px;
		font-size: 14px;
		padding: 0 20px;
	}

	/* stock */
	.p-archive03-sort-filter-item-stock-icon {
		min-width: 16px;
		height: 16px;
	}

	/* layout */
	.p-archive03-sort-filter-item--layout .p-archive03-sort-filter-item-title {
		gap: 10px;
	}

}


/* product loop */
/* product archive */

.p-wc-loop {
	display: flex;
	flex-wrap: wrap;
	gap: var(--tcd-product-loop-item-margin-vt) var(--tcd-product-loop-item-margin-hn);
}

.p-archive03-item {
	width: calc(((100% + var(--tcd-product-loop-item-margin-hn)) / var(--tcd-product-loop-item-column)) - var(--tcd-product-loop-item-margin-hn));
	position: relative;
}

.p-archive03-item-anchor {
	text-decoration: none !important;
}

.p-archive03-item-thumbnail {
	position: relative;
	overflow: hidden;
}

.p-archive03-item-thumbnail-image {
	position: relative;
	padding-top: var(--tcd-product-image-size);
}

.p-archive03-item-thumbnail-image-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

.p-archive03-item-info {
	margin-top: 25px;
	/* line-height: 1.5; */
}

.p-archive03-item-meta {
	line-height: 1;
	margin-bottom: 20px;
}

.p-archive03-item-title {
	font-size: 16px !important;
	line-height: 2 !important;
	margin: -0.5em 0 !important;
}

.p-archive03-item-price {
	line-height: 1;
	margin-top: 20px;
}

.p-archive03-item-excerpt {
	margin-top: calc(20px - 0.5em);
	margin-bottom: -0.5em;
	font-size: 14px;
}

.p-archive03-item-excerpt span {
	display: -webkit-box;
	max-height: 4em;
	overflow: hidden;
	line-height: 2;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.p-archive03-item-rank {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 4;
	min-width: 40px;
	height: 40px;
	padding: 0 5px;
	font-weight: 600;
	line-height: 40px;
	color: #fff;
	text-align: center;
	background-color: var(--tcd-accent-color);
}

.p-archive03-item-outofstock {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: 5;
	height: 45px;
	padding: 0 10px;
	margin-top: var(--tcd-product-image-size);
	overflow: hidden;
	font-size: 14px;
	font-weight: 600;
	line-height: 45px;
	color: #fff;
	text-align: center;
	pointer-events: none;
	background: var(--tcd-product-archive-outofstock-color);
	transform: translate3d(0, -100%, 0);
}

.p-archive03-item-actions {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 5;
	display: flex;
	height: 0;
	margin-top: var(--tcd-product-image-size);
	overflow: hidden;
	pointer-events: none;
	transition: height 0.2s ease-out;
	transform: translate3d(0, -100%, 0);
}

.p-archive03-item-like,
.p-archive03-item-cart a {
	display: block;
	min-width: 45px;
	height: 45px;
	padding: 0;
	line-height: 45px;
	text-align: center;
}

.p-archive03-item-like {
	color: #fff !important;
	background-color: var(--tcd-accent-color);
}

.p-archive03-item-cart a {
	color: var(--tcd-accent-color);
	background: #fff;
}

.p-archive03-item-cart a::before {
	font-family: "design_plus";
	font-size: 18px;
	content: "\e950";
}

.p-archive03-item-cart a~* {
	display: none !important;
}

@media (hover: hover) and (pointer: fine) {
	.p-archive03-item-inner:hover .p-archive03-item-actions {
		height: 45px;
		pointer-events: auto;
	}

	.p-archive03-item-like:hover,
	.p-archive03-item-cart a:hover {
		color: #fff;
		background-color: var(--tcd-accent-color);
		text-decoration: none !important;
	}
}

@media (max-width: 767px) {

	.p-archive03-item-info {
		margin-top: 20px;
	}

	.p-archive03-item-meta {
		margin-bottom: 15px;
	}

	.p-archive03-item-title {
		font-size: 14px !important;
	}

	.p-archive03-item-rating {
		margin-top: 15px !important;
	}

	.p-archive03-item-price {
		font-size: 14px;
		margin-top: 15px;
	}

	.p-archive03-item-like,
	.p-archive03-item-cart a {
		min-width: 40px;
		height: 40px;
		line-height: 40px;
	}

	.p-archive03-item-outofstock {
		height: 35px;
		line-height: 35px;
	}

}

@media (max-width: 767px) and (hover: hover) and (pointer: fine) {
	.p-archive03-item-inner:hover .p-archive03-item-actions {
		height: 40px;
	}
}

/* product single */
.p-entry-product {}

.p-entry-product-header {
	display: flex;
	gap: 50px;
}

.p-entry-product-body {
	--tcd-line-height: 2.2;
}



/* 右側 */
.p-entry-product-content {
	width: 380px;
}

.p-entry-product-content__inner {
	position: sticky;
	top: 30px;
}

.p-entry-product-header-category {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-bottom: 30px;
}

.p-entry-product-title {
	font-size: 24px;
	line-height: 2;
	margin: -0.5em 0;
}

/* 金額 */
.p-entry-product-cart-prices {
	margin-top: 30px;
}

.p-entry-product-cart-prices .amount,
.woocommerce-variation-price .amount {
	font-size: 22px;
}

.p-entry-product-cart-prices del,
.woocommerce-variation-price del {
	color: #000;
}

.p-entry-product-cart-prices del .amount,
.woocommerce-variation-price del .amount {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}

.p-entry-product-cart-prices ins,
.woocommerce-variation-price ins {
	text-decoration: none;
}

.p-entry-product-cart-prices del+ins,
.woocommerce-variation-price del+ins {
	padding-left: 5px;
}

.p-entry-product-cart-prices .woocommerce-price-suffix,
.woocommerce-variation-price .woocommerce-price-suffix {
	color: #000;
}

/* レーティング */
.woocommerce .woocommerce-product-rating {
	display: flex;
	align-items: center;
	height: 1em;
	margin-top: 30px;
}

.woocommerce .woocommerce-product-rating .star-rating {
	margin: 0 5px 0 0;
}

.woocommerce .woocommerce-product-rating .woocommerce-review-link {
	font-size: 12px;
	text-align: center;
	width: 25px;
	height: 25px;
	line-height: 25px;
	border-radius: 25px;
	color: #fff;
	background: var(--tcd-accent-color);
}

/* 抜粋 */
.woocommerce-product-details__short-description {
	padding-top: 50px;
}

/* シェア */
.p-entry-product-share {
	margin-top: 30px;
}

/* カート */
.p-entry-product-cart {
	margin-top: 50px;
	line-height: 2;
}

.p-entry-product-cart-quantity .p-entry-product-cart-label {
	line-height: 50px;
}

.p-entry-product-cart .in-stock {
	line-height: 1;
	margin-bottom: 30px;
}

.p-entry-product-cart .in-stock {
	line-height: 1;
	margin-bottom: 30px;
}

.p-entry-product-cart .out-of-stock {
	color: #d90000;
	line-height: 1;
	margin-bottom: 30px;
}


/* バリエーション */
.p-entry-product-cart .reset_variations {
	display: inline-block;
	padding-left: 0.5em;
	line-height: 50px;
}

.p-entry-product-cart .woocommerce-variation-description p {
	margin-bottom: 0;
}

.p-entry-product-cart .woocommerce-variation-price {
	line-height: 1;
	margin: 30px 0;
}

.p-entry-product-cart .variations {
	margin-bottom: 20px;
	width: 100%;
	text-align: left;
}

.p-entry-product-cart .variations .p-entry-product-cart-label {
	display: block;
	line-height: 50px;
}

.p-entry-product-cart table.variations .label label{
	padding-right: 1em;
	font-weight: normal;
}

.p-entry-product-cart .variations .reset_variations{
	background: none;
    border: none;
    color: var(--tcd-accent-color);
    font-weight: bold;
	font-size: 14px;
    padding-left: 0;
	cursor: pointer;
	line-height: 1;
    margin-top: 20px;
}

@media only screen and (max-width: 768px) {
    .p-entry-product-cart .variations{
			width: 100%;
    }
   
    .p-entry-product-cart .variations .p-entry-product-cart-label{
        width: 100%;
        text-align: left;
    }
		
	.p-entry-product-cart .woocommerce-variation-price {
		width: 100%;
		text-align: left;
		margin: 15px 0 30px;
	}

	.p-entry-product-cart select{
		min-width: 100% !important;
	}

	.p-entry-product-cart .variations-value,.p-entry-product-cart .p-entry-product-cart-select-wrapper{
		width: 100%;
	}
	
	.p-entry-product-cart .in-stock {
		text-align: left;
	}
}

.p-entry-product-cart .woocommerce-variation-availability {
	line-height: 1;
	margin-top: -10px;
}

/* グループ商品 */

.woocommerce-grouped-product-list {
	margin-bottom: 50px;
}

.woocommerce-grouped-product-list-item:not(:first-of-type) td {
	padding-top: 20px;
	border-top: 1px solid #ddd;
}

.woocommerce-grouped-product-list-item:not(:last-of-type) td {
	padding-bottom: 20px;
}

.woocommerce-grouped-product-list-item__quantity {
	white-space: nowrap;
	padding-right: 20px;
}

.woocommerce-grouped-product-list-item__quantity .quantity .qty {
	width: 60px;
	height: 35px;
	padding: 10px;
	text-align: left;
	border: 1px solid #ddd;
}

.wc-grouped-product-add-to-cart-checkbox {
	display: none;
}

.wc-grouped-product-add-to-cart-checkbox+label {
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	color: #fff;
	background: #eee;
}

.wc-grouped-product-add-to-cart-checkbox:checked+label {
	background: #000000;
}

.wc-grouped-product-add-to-cart-checkbox:checked+label:before {
	content: '\e876';
	font-family: 'design_plus';
	color: #fff;
}

.woocommerce-grouped-product-list-item__label {}

.woocommerce-grouped-product-list-item__label a {
	line-height: 1.6;
}

.woocommerce-grouped-product-list-item__price {
	white-space: nowrap;
	padding-left: 20px;
}

.p-grouped-product-button {
	white-space: nowrap;
}



/* 数量 */
.p-entry-product-cart-label {
	display: none;
	padding-right: 1em;
}

.p-entry-product-cart-quantity input[name="quantity"]:not([type="hidden"])+.p-entry-product-cart-label {
	display: block;
}

.p-strike {
	text-decoration: line-through;
}

.p-entry-product-cart-option label {
	display: inline-block;
	padding-right: 1em;
}

.p-entry-product-cart-option label:empty {
	display: none;
}

.p-entry-product-cart-option input[type="text"],
.p-entry-product-cart-option textarea,
.p-entry-product-cart select {
	border: 1px solid #ddd;
}

.p-entry-product-cart-option input[type="text"] {
	width: 100%;
	height: 50px;
	padding: 12px 16px;
}

.p-entry-product-cart-option textarea {
	display: block;
	width: 100%;
	height: 8em;
	padding: 8px 12px;
}

.p-entry-product-cart select {
	cursor: pointer;
	min-width: 200px;
	max-width: 100%;
	height: 50px;
	padding: 12px 34px 12px 16px;
	background: transparent;
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.p-entry-product-cart-select-wrapper {
	position: relative;
	display: inline-block;
	padding-bottom: 20px;
}

.p-entry-product-cart-select-wrapper::after {
	position: absolute;
	top: 0;
	right: 17px;
	display: block;
	font-family: "design_plus";
	line-height: 50px;
	pointer-events: none;
	content: "\e90e";
}



.p-entry-product-cart-quantity .quantity .qty {
	width: 80px;
	height: 50px;
	padding: 12px;
	text-align: left;
	border: 1px solid #ddd;
}

.p-entry-product-cart .p-button {
	display: block;
	width: 310px;
	max-width: 100%;
	margin-top: 22px;
	font-weight: 600;
}

@media (max-width: 767px) {
	.p-entry-product-cart  .single_add_to_cart_button{
		width: 100%;
	}
}
.p-entry-product-cart>.out-of-stock {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 280px;
	height: 60px;
	border-radius: 60px;
	overflow: hidden;
	font-size: 16px;
	padding: 0 1.5em;
	text-align: center;
	color: #fff !important;
	background: #ccc;
	border: none;
	margin-top: 22px;
	margin-bottom: 0;
	overflow: hidden;
	font-weight: 600;
}

@media (max-width: 991px) {

	.p-entry-product-header {
		gap: 30px;
	}

	.p-entry-product-content {
		width: 300px;
	}

	.p-entry-product-header-category {
		margin-bottom: 20px;
	}

	.p-entry-product-title {
		font-size: 22px;
	}

	.p-entry-product-cart-prices {
		margin-top: 20px;
	}

	.p-entry-product-cart-prices .amount,
	.woocommerce-variation-price .amount {
		font-size: 16px;
	}

	.woocommerce .woocommerce-product-rating {
		margin-top: 25px;
	}

	.woocommerce-product-details__short-description {
		padding-top: 40px;
	}

	.p-entry-product-cart {
		margin-top: 40px;
	}

}

@media (max-width: 767px) {

	.p-entry-product-header {
		flex-direction: column;
	}

	.p-entry-product-content {
		width: 100%;
	}

	.p-entry-product-cart-quantity .quantity {
		width: 100%;
        max-width: 100%;
        display: flex;
        align-items: center;
		justify-content: center;
	}

	.p-entry-product-cart {
		text-align: center;
	}

	.p-entry-product-cart>.out-of-stock {
		font-size: 14px;
		min-width: 220px;
		height: 50px;
		border-radius: 50px;
	}

}



/* いいね */
.p-entry-product-like {
	margin-top: 30px;
}

.p-entry-product-like__link {
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #000;
	line-height: 1.4;
	margin: -0.2em 0;
}

.p-entry-product-like__link:before {
	color: var(--tcd-accent-color);
}

.p-entry-product-like__link.is-liked .p-entry-product-like__text-add,
.p-entry-product-like__link:not(.is-liked) .p-entry-product-like__text-added {
	display: none;
}

@media (max-width: 767px) {

	.p-entry-product-like {
		text-align: center;
	}

}



/* 商品タグ */
.p-entry-product-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-top: 50px;
}

.p-entry-product-tags a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 60px;
	height: 30px;
	padding: 0 10px;
	font-size: 12px;
	color: #000;
	text-align: center;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 3px;
	transition-property: color, background, border-color;
	transition-duration: 0.2s;
}

@media (hover: hover) and (pointer: fine) {
	.p-entry-product-tags a:hover {
		color: #fff;
		background: var(--tcd-accent-color);
		border-color: var(--tcd-accent-color);
	}
}

@media (max-width: 991px) {
	.p-entry-product-tags {
		margin-top: 30px;
	}
}





@media (min-width: 992px) {

	.p-entry-product-cart p.posted_in,
	.p-entry-product-cart p.tagged_as {
		align-items: flex-start;
	}

	.p-entry-product-cart p>.label {
		flex: 0 0 auto;
	}
	
}



/* product share */
.p-wc-share-button-list {
	display: flex;
	gap: 15px;
}

.p-wc-share-button-link {
	display: block;
	width: 30px;
	height: 30px;
	overflow: hidden;
	font-size: 17px;
	color: #fff;
	border-radius: 50%;
}

.p-wc-share-button-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-family: "design_plus";
	transition: background 0.3s ease;
}

.p-wc-share-button-icon-twitter,
.p-wc-share-button-icon-facebook,
.p-wc-share-button-icon-line {
	background: #ddd;
}

.p-wc-share-button-icon-twitter {
	font-size: 0.8em;
}

@media (max-width: 991px) {
	.p-wc-share-button-list {
		justify-content: center;
	}
}

@media (hover: hover) and (pointer: fine) {
	.p-wc-share-button-link:hover {
		color: #fff;
	}

	.p-wc-share-button-link:hover .p-wc-share-button-icon-twitter {
		background: #000000;
	}

	.p-wc-share-button-link:hover .p-wc-share-button-icon-facebook {
		background: #1877f2;
	}

	.p-wc-share-button-link:hover .p-wc-share-button-icon-line {
		background: #06c755;
	}
}



/* product single image */
/* 画像 */

.p-entry-product-images {
	flex: 1;
}

.p-entry-product-images[data-image-type="type2"] .p-entry-product-images--main {
	position: sticky;
	top: 30px;
}

.p-entry-product-images-pagination {
	margin-top: 30px;
}

/* メイン */
.p-entry-product-images--main {
	position: relative;
	flex: 1;
}

.p-entry-product-images--main-item {
	width: 100%;
}

.p-entry-product-images--main-image {
	width: 100%;
}

.p-entry-product-images-expand {
	position: absolute;
	right: 20px;
	bottom: 20px;
	z-index: 3;
	width: 50px;
	height: 50px;
	padding: 0;
	font-family: "design_plus";
	font-size: 16px;
	color: #000;
	cursor: pointer;
	background: #fff;
	border: none;
	border-radius: 50%;
	outline: none;
	appearance: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	opacity: 0;
	pointer-events: none;
	transition-property: opacity pointer-events;
	transition-duration: 0.2s;
	transition-timing-function: ease;
}


/* 画像が1枚だけの場合 */
.p-entry-product-images--main.one-image .p-entry-product-images--main-track{ position:-webkit-sticky; position:sticky; top:0; }



@media (hover: hover) and (pointer: fine) {
	.p-entry-product-images--main-item:hover .p-entry-product-images-expand {
		opacity: 1;
		pointer-events: auto;
	}
}


@media not all and (max-width: 991px) {

	.p-entry-product-images[data-image-type="type1"] {
		display: flex;
	}

	/* 縦スクロール */
	.p-entry-product-images[data-image-type="type1"] .p-entry-product-images--main-list {
		display: flex !important;
		flex-direction: column;
		gap: 30px;
	}

	/* サブ */
	.p-entry-product-images--sub {
		margin-right: 30px;
	}

	.p-entry-product-images--sub-list {
		position: sticky;
		top: 30px;
		width: 80px;
		display: flex;
		flex-direction: column;
		gap: 30px 0;
	}

	.p-entry-product-images--sub-item {
		width: 100%;
		height: 80px;
		position: relative;
	}

	.p-entry-product-images--sub-link {
		display: block;
		width: 100%;
		height: 100%;
		position: relative;
	}

	.p-entry-product-images--sub-link:before {
		content: '';
		opacity: 0;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border: 2px solid #000;
		transition: opacity 0.3s ease;
	}

	.p-entry-product-images--sub-link.is-active:before {
		opacity: 1;
	}

	.p-entry-product-images--sub-image {
		width: 100%;
		height: 100% !important;
		object-fit: cover;
	}

}

@media (max-width: 991px) {

	.p-entry-product-images--main {
		position: sticky;
		top: 30px;
	}

	.p-entry-product-images--sub {
		display: none;
	}

}

@media (max-width: 767px) {

	.p-entry-product-images--main {
		margin: -41px -20px 0;
	}

	.p-entry-product-images-expand {
		display: none;
	}

}



/* product single image modal */
.p-product-images-modal {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 99999;
	display: none;
	overflow-y: scroll;
	overscroll-behavior: contain;
	color: #fff;
	/* background: rgba(0, 0, 0, 0.5); */
	scrollbar-width: none;
}

.p-product-images-modal::-webkit-scrollbar {
	display: none;
}

.p-product-images-modal::after {
	display: block;
	width: 1px;
	height: calc(100vh + 1px);
	content: "";
}

.p-product-images-modal.is-active {
	display: flex;
	align-items: center;
}

.p-product-images-modal-content {
	pointer-events: none;
	position: relative;
	z-index: 1;
}

.p-product-images-modal-slider .splide__slide {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.p-product-images-modal-slider .splide__slide img {
	pointer-events: auto;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: calc(100vh - 80px);
}

.p-product-images-modal-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
}

.p-product-images-modal-arrow {
	pointer-events: auto;
}

.p-product-images-modal-arrow--prev,
.p-product-images-modal-arrow--next {
	font-size: 50px;
}

.p-product-images-modal-arrow--prev {
	left: calc(30px + -15px);
}

.p-product-images-modal-arrow--next {
	right: calc(30px + -6px);
}

.p-product-images-modal-arrow .splide__arrow:disabled {
	opacity: 0;
}

.p-product-images-modal-close {
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	font-family: "design_plus";
	font-size: 28px;
	color: #fff;
	cursor: pointer;
	background: transparent;
	border: none;
}

.p-product-images-modal-slider .splide__arrow svg {
	width: 32px;
	height: 32px;
}

@media (max-width: 1024px) {

	.p-product-images-modal-content {
		max-width: calc(100% - 120px);
	}

	.p-product-images-modal-arrow--prev {
		left: calc(-40px + -15px);
	}

	.p-product-images-modal-arrow--next {
		right: calc(-40px + -6px);
	}

}

@media (hover: hover) and (pointer: fine) {
	.p-product-images-modal-close:hover {
		color: #999;
	}
}

/* product single tabs */

/* ドロップダウン */

.p-wc-dropdown {
	margin-top: 50px;
}

.p-wc-dropdown__list {}

.p-wc-dropdown__item {
	border: 1px solid #ddd;
}

.p-wc-dropdown__item+.p-wc-dropdown__item {
	margin-top: -1px;
}

.p-wc-dropdown__item-label {
	font-size: 16px;
	cursor: pointer;
	display: flex;
	align-items: center;
	padding: 20px;
	font-weight: 400;
}

.p-wc-dropdown__item-text {
	display: flex;
	align-items: center;
	flex: 1;
	padding-right: 10px;
	margin: -0.2em 0;
	line-height: 1.4;
}

.p-wc-dropdown__item-icon {
	display: block;
	width: 15px;
	height: 15px;
	position: relative;
}

.p-wc-dropdown__item-icon:before,
.p-wc-dropdown__item-icon:after {
	content: '';
	position: absolute;
	inset: 0;
	margin: auto;
	width: 1px;
	height: 100%;
	background: #000;
	transition: height 0.2s ease;
}

.p-wc-dropdown__item-icon:after {
	transform: rotate(90deg);
}

.p-wc-dropdown__item.is-active .p-wc-dropdown__item-icon:before {
	height: 0;
}

.p-wc-dropdown__item-field {
	height: 0;
	overflow: hidden;
	transition: height 0.3s cubic-bezier(0.54, 0.07, 0.38, 0.9);
}

.p-wc-dropdown__item-field-inner {
	padding: 30px;
	background: #fafafa;
	border-top: 1px solid #ddd;
}


@media (max-width: 991px) {
	.p-wc-dropdown {
		margin-top: 40px;
	}

	.p-wc-dropdown__item-field-inner {
		padding: 20px;
	}
}

/* 説明 */
.p-wc-description {}

/* 追加情報 テーブル */
.p-wc-additional_information {
	font-size: 14px;
}

.woocommerce .p-wc-additional_information table {
	border-top: none;
	margin: -10px 0;
	line-height: 1.5;
}

.woocommerce .p-wc-additional_information tr:not(:last-child) {
	border-bottom: 1px solid #ddd;
}

.woocommerce .p-wc-additional_information table th {
	width: auto;
	padding: 10px 10px 10px 0;
	font-weight: 600;
	border: none;
	text-align: left;
	white-space: nowrap;
}

.woocommerce .p-wc-additional_information table td {
	font-style: normal;
	border: none;
	padding: 10px 0;
}

.woocommerce .p-wc-additional_information table td p {
	padding: 0;
}

.woocommerce .p-wc-additional_information table tr:nth-child(even) td,
.woocommerce .p-wc-additional_information table tr:nth-child(even) th {
	background: transparent;
}

@media (max-width: 767px) {
	/*** 購入完了時の注文詳細の表の横幅調整 ***/
	.woocommerce-table--order-details th,.woocommerce-checkout-review-order-table th{
		width: 60%;
	}

	.woocommerce-table--order-details td,.woocommerce-checkout-review-order-table td{
		width: 40%;
	}
	/**** 「1回の注文につき1商品に購入を制限」にチェックが入っている時のスマホ時のカートページの表示崩れ修正 ***/
	.woocommerce table.shop_table_responsive tr td, .woocommerce-page table.shop_table_responsive tr td{
		min-height: 50px;
	}
}

/***  注文完了画面の注文番号付近のレイアウト調整  ***/
.woocommerce ul.order_details li{
	font-size: 16px;
	line-height: 2;
}

.woocommerce ul.order_details li strong{
	font-size: 16px;
}


@media (max-width: 1024px){
	.woocommerce ul.order_details li{
		width: 100%;
		padding: .5em 0;
		border-right: none;
		border-bottom: 1px dashed #cfc8d8;
	}
}

/* レビュー */
.p-wc-reviews {
	margin: -30px;
}

.p-wc-reviews__headline {
	font-size: 18px;
	line-height: 1.8;
	margin: -0.4em 0;
	color: var(--tcd-accent-color);
}

.p-wc-reviews__desc {
	font-size: 16px;
	line-height: 2;
	margin: -0.5em 0;
}

.p-wc-reviews__desc a {
	color: var(--tcd-accent-color);
}

.p-wc-reviews__desc a:hover {
	text-decoration: underline;
}

*+.p-wc-reviews__desc {
	margin-top: calc(20px - 0.5em);
}

.p-wc-reviews__pager {
	margin-top: 30px;
}

.reviews-tab-count {
	display: inline-block;
	min-width: 25px;
	padding: 0 6px;
	margin: -5px 0 -5px 10px;
	font-size: 12px;
	line-height: 25px;
	color: #fff;
	text-align: center;
	background-color: var(--tcd-accent-color);
	border-radius: 50%;
}

/* review */
.woocommerce #reviews #comments:not(:empty) {
	max-height: 300px;
	overflow: hidden auto;
	padding: 30px;
	border-bottom: 1px solid #ddd;
}

.woocommerce #reviews #comments ol.commentlist li {
	font-size: 14px;
	padding: 0;
	margin: 0;
}

.woocommerce #reviews #comments ol.commentlist li:not(:first-of-type) {
	padding: 20px 0 0;
	border-top: 1px solid #ddd;
	margin: 20px 0 0;
}

.woocommerce #reviews #comments ol.commentlist li .comment_container {
	display: flex;
	align-items: center;
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
	position: static;
	flex: 0 0 70px;
	float: none;
	width: 70px;
	height: 70px;
	padding: 0;
	margin: 0;
	margin-right: 26px;
	background: transparent;
	border: none;
	border-radius: 50%;
	box-shadow: none;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	padding: 0;
	margin: 0;
	border: none;
	border-radius: 0;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta {
	flex: 1;
	margin: 0;
	font-size: 1em;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .woocommerce-review__dash {
	display: none;
}

.woocommerce #reviews #comments ol.commentlist li .woocommerce-review__published-date {
	padding-left: 1em;
}

.woocommerce #reviews #comments ol.commentlist li .star-rating {
	float: none;
}

.woocommerce #reviews #comments ol.commentlist li .description {
	width: 100%;
	line-height: 2.4;
	margin: calc(20px - 0.7em) 0 -0.7em;
}

.woocommerce #reviews #comments ol.commentlist li .description p:last-child {
	margin-bottom: 0;
}

.p-pager-reviews {
	margin-top: -5px;
	margin-bottom: 50px;
}

@media (max-width: 991px) {}

/* review form */
#review_form_wrapper {
	padding: 30px;
	background: #fff;
}

#review_form {
	text-align: center;
}

#review_form .comment-form>* {
	margin-top: 20px;
}

#review_form .comment-form textarea {
	display: block;
	width: 100%;
	min-height: 10em;
	padding: 6px 8px;
	line-height: 1.5;
	color: inherit;
	background: #fff;
	border: 1px solid #ddd;
}

#review_form .comment-form-rating-radios input {
	display: none;
}

#review_form .comment-form-rating-radios label {
	display: inline-block;
	color: var(--tcd-accent-color);
	cursor: pointer;
	transition: opacity 0.2s ease;
}

#review_form .comment-form-rating-radios label::before {
	font-family: star;
	font-size: 20px;
	content: "\73";
}

#review_form .comment-form-rating-radios label span {
	display: none;
}

.comment-form-rating-radios #rating-1:checked~.rating-1::before,
.comment-form-rating-radios #rating-2:checked~.rating-1::before,
.comment-form-rating-radios #rating-2:checked~.rating-2::before,
.comment-form-rating-radios #rating-3:checked~.rating-1::before,
.comment-form-rating-radios #rating-3:checked~.rating-2::before,
.comment-form-rating-radios #rating-3:checked~.rating-3::before,
.comment-form-rating-radios #rating-4:checked~.rating-1::before,
.comment-form-rating-radios #rating-4:checked~.rating-2::before,
.comment-form-rating-radios #rating-4:checked~.rating-3::before,
.comment-form-rating-radios #rating-4:checked~.rating-4::before,
.comment-form-rating-radios #rating-5:checked~.rating-1::before,
.comment-form-rating-radios #rating-5:checked~.rating-2::before,
.comment-form-rating-radios #rating-5:checked~.rating-3::before,
.comment-form-rating-radios #rating-5:checked~.rating-4::before,
.comment-form-rating-radios #rating-5:checked~.rating-5::before {
	content: "\53";
}

@media (hover: hover) and (pointer: fine) {
	.comment-form-rating-radios label.select::before {
		content: "\53";
	}

	.comment-form-rating-radios label.unselect {
		opacity: 0.4;
	}
}

.woocommerce-verification-required {
	line-height: 2;
	padding: calc(30px - 0.5em) 30px;
}



/* body */
.p-entry-product-main-content {
	margin-top: 120px;
}

@media (max-width: 767px) {
	.p-entry-product-main-content {
		margin-top: 40px;
	}
}



/* product related, recently */
.p-wc-single-bottom {
	position: relative;
	margin-top: 120px;
}

.p-wc-single-bottom-headline {
	text-align: center;
	font-size: 24px;
	line-height: 2;
	background: #f8f8f8;
	padding: calc(25px - 0.5em) 25px;
	margin-bottom: 60px;
}

/* 最近✔した商品 */
@media not all and (max-width: 991px) {
	.p-recentry-viewed-products {
		--tcd-product-loop-item-column: 6;
	}

	.p-recentry-viewed-products .p-product-badge {
		top: 10px;
		left: 10px;
	}

	.p-recentry-viewed-products .p-product-badge span {
		min-width: 45px;
		height: 45px;
		padding: 0 5px;
		font-size: 10px;
		line-height: 45px;
	}

	.p-recentry-viewed-products .p-archive03-item-info {
		margin-top: 20px;
	}

	.p-recentry-viewed-products .p-archive03-item-meta {
		display: none;
	}

	.p-recentry-viewed-products .p-archive03-item-title {
		font-size: 14px !important;
	}

	.p-recentry-viewed-products .p-archive03-item-rating {
		margin-top: 15px !important;
	}

	.p-recentry-viewed-products .p-archive03-item-price {
		margin-top: 15px;
	}

}


@media (max-width: 991px) {

	.p-wc-product-carousel {
		margin: 0 -30px;
	}

	.p-wc-product-carousel .p-wc-loop {
		display: flex !important;
		flex-wrap: nowrap;
		gap: 30px !important;
		padding: 0 0 0 30px !important;
		overflow: auto hidden;
		-webkit-overflow-scrolling: touch;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}

	.p-wc-product-carousel .p-wc-loop::-webkit-scrollbar {
		display: none;
	}

	.p-wc-product-carousel .p-archive03-item {
		position: relative;
		width: 250px;
		overflow: visible;
	}

	.p-wc-product-carousel .p-archive03-item:last-child:after {
		content: '';
		position: absolute;
		top: 0;
		left: 100%;
		height: 1px;
		width: 30px;
		background-color: transparent;
	}

}

@media (max-width: 767px) {

	.p-wc-single-bottom {
		margin-top: 40px;
	}

	.p-wc-single-bottom-headline {
		font-size: 16px;
		padding: calc(20px - 0.5em) 20px;
		margin-bottom: 20px;
	}

	.p-wc-product-carousel {
		margin: 0 -20px;
	}

	.p-wc-product-carousel .p-wc-loop {
		gap: 20px !important;
		padding-left: 20px !important;
	}

	.p-wc-product-carousel .p-archive03-item {
		width: 150px;
	}

	.p-wc-product-carousel .p-archive03-item:last-child:after {
		width: 20px;
	}

}








@media (max-width: 991px) {
	.p-entry-product-related {
		padding-top: 40px;
		margin-top: 40px;
	}

	.p-entry-product-related::before {
		position: absolute;
		top: 0;
		right: -20px;
		left: -20px;
		content: "";
		border-top: 1px solid #ddd;
	}

	.woocommerce-tabs+.p-entry-product-related {
		margin-top: -1px;
	}
}


/* page common */
.p-body .woocommerce-notices-wrapper ul {
	margin-left: 0;
}

.p-wc-body h1,
.p-wc-body h2,
.p-wc-body h3,
.p-wc-body h4,
.p-wc-body h5,
.p-wc-body h6 {
	margin-top: 0;
	font-family: inherit;
}

.p-wc-body h1 {
	font-size: 1.5rem;
	line-height: 1.6;
}

.p-wc-body h2 {
	font-size: 1.4rem;
	line-height: 1.6;
}

.p-wc-body h3 {
	font-size: 1.3rem;
	line-height: 1.8;
}

.p-wc-body h4 {
	font-size: 1.2rem;
	line-height: 1.8;
}

.p-wc-body h5 {
	font-size: 1.1rem;
	line-height: 1.8;
}

.p-wc-body h6 {
	font-size: 1rem;
	line-height: 1.8;
}

.p-wc-body h1,
.p-wc-body h2 {
	line-height: 1.6;
}

.p-wc-body h3,
.p-wc-body h4,
.p-wc-body h5,
.p-wc-body h6 {
	line-height: 1.8;
}

.p-wc-body>h1:first-child,
.p-wc-body>h2:first-child {
	margin-top: -0.3em;
}

.p-wc-body>h3:first-child,
.p-wc-body>h4:first-child,
.p-wc-body>h5:first-child,
.p-wc-body>h6:first-child {
	margin-top: -0.4em;
}

/* headline */
.p-wc-headline,
.p-wc .p-wc-headline {
	margin-top: -0.2em;
	margin-bottom: calc(50px - 0.2em);
	font-size: 26px;
	line-height: 1.4;
	text-align: center;
}

@media (max-width: 991px) {

	.p-wc-headline,
	.p-wc .p-wc-headline {
		margin-bottom: calc(20px - 0.2em);
		font-size: 18px;
	}
}

/* table */
.woocommerce table.shop_table {
	border-color: #ddd;
	border-radius: 0;
}

.woocommerce table.shop_table th {
	border: none;
}

.woocommerce table.shop_table td {
	border-width: 1px 0 0 0;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding-top: 10px;
	padding-bottom: 10px;
	line-height: 2;
	border-color: #ddd !important;
}

/* form */
.p-wc form .form-row {
	margin-bottom: 20px;
}

.p-wc form> :last-child {
	margin-bottom: 0 !important;
}

.p-wc form .form-row-text-tenter {
	text-align: center;
}

.p-wc form .woocommerce-form-submit-wrapper,
.p-wc form .woocommerce-form-submit-wrapper-center {
	margin-top: 46px;
	margin-bottom: 0 !important;
}

.p-wc form .woocommerce-form-submit-wrapper-center {
	text-align: center;
}

@media (max-width: 991px) {

	.p-wc form .woocommerce-form-submit-wrapper,
	.p-wc form .woocommerce-form-submit-wrapper-center {
		margin-top: 36px;
	}
}

/* form input */
.p-wc input[type="text"],
.p-wc input[type="number"],
.p-wc input[type="email"],
.p-wc input[type="url"],
.p-wc input[type="tel"],
.p-wc input[type="password"] {
	height: 50px;
	padding: 0 20px;
	background: #fff;
	border: 1px solid #ddd;
}

.p-wc input[type="number"] {
	padding-right: 12px;
}

.p-wc select {
	height: 50px;
	padding: 5px 20px;
	background: #eee;
	border: 1px solid #ddd;
}

.p-wc textarea {
	display: block;
	width: 100%;
	min-height: 10em;
	padding: 6px 8px;
	line-height: 1.5;
	color: inherit;
	background: #eee;
	border: 1px solid #ddd;
}

.p-wc .quantity .qty {
	width: 80px;
	text-align: left;
}

.p-wc .select2-container .select2-selection--single {
	border-color: #ddd;
	border-radius: 0;
}

.p-wc .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding-left: 20px;
	height: 50px;
    line-height: 35px;
}

.p-wc .select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 3px;
}

@media (max-width: 991px) {

	.p-wc input[type="text"],
	.p-wc input[type="number"],
	.p-wc input[type="email"],
	.p-wc input[type="url"],
	.p-wc input[type="tel"],
	.p-wc input[type="password"] {
		background: #f5f5f5;
	}
}

@media (max-width: 768px) {

	.woocommerce .col2-set .col-2,
	.woocommerce-page .col2-set .col-2 {
		margin-top: 40px;
	}
}

/* button */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	min-width: 240px;
	height: 60px;
	padding: 0 20px !important;
	overflow: hidden;
	font-weight: 400;
	line-height: 60px;
	color: #fff !important;
	text-align: center;
	background-color: #000 !important;
	border-radius: 0;
}

#add_payment_method .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
	margin-bottom: 0;
	font-size: 1em;
}

.woocommerce td.actions .button,
.woocommerce td.woocommerce-orders-table__cell-order-actions .button,
.woocommerce td.download-file .button,
.checkout_coupon.woocommerce-form-coupon .button {
	min-width: auto;
	height: 50px;
	line-height: 50px;
}

.woocommerce td.woocommerce-orders-table__cell-order-actions .button:only-child,
.woocommerce td.download-file .button:only-child {
	display: block;
}

.woocommerce .woocommerce-info a.button,
.woocommerce .woocommerce-pagination a.button {
	min-width: auto;
	height: auto;
	padding: 0.7em 20px !important;
	line-height: 1;
	background: #ccc !important;
}

.p-wc .button.wc-backward {
	background: #ccc !important;
}

@media (max-width: 991px) {

	.woocommerce a.button,
	.woocommerce button.button,
	.woocommerce input.button {
		min-width: 200px;
		height: 50px;
		line-height: 50px;
	}
}

@media (hover: hover) and (pointer: fine) {

	.woocommerce a.button:hover,
	.woocommerce button.button:not(.disabled, :disabled, :disabled[disabled]):hover,
	.woocommerce input.button:not(.disabled, :disabled, :disabled[disabled]):hover {
		background-color: var(--tcd-accent-color) !important;
	}
}

/* login/registration */

.woocommerce form.login .p-wc-customer-login {}

.woocommerce .p-wc-customer-login__list {
	display: flex;
	flex-wrap: wrap;
}

.woocommerce .p-wc-customer-login__item {
	display: flex;
	flex-direction: column;
}

.woocommerce .p-wc-customer-login__item+.p-wc-customer-login__item {
	margin-left: 4%;
}

.woocommerce .p-wc-customer-login form {
	border-color: #ddd;
	border-radius: 0;
	margin: 0;
	padding: 30px;
	flex: 1;
}

.p-wc-customer-login form .form-row {
	padding: 0;
}

.p-wc-customer-login form input.input-text {
	height: 60px;
	border-radius: 60px;
	background: #eeeeee;
	padding: 0 30px;
	border: none;
}

.p-wc-customer-login form .password-input input[name=password] {
	padding-right: 60px;
}

.p-wc-customer-login form .show-password-input {
	right: 0;
	top: 0;
	width: 60px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.p-wc-customer-login form .show-password-input:after {
	font-family: 'Material Symbols Rounded';
	font-weight: 200;
	content: '\e8f5';
	font-size: 24px;
	margin: 0;
	color: rgb(0 0 0 / 50%);
}

.p-wc-customer-login form .show-password-input.display-password:after {
	content: '\e8f4';
}

.woocommerce-privacy-policy-text p {
	margin-bottom: 20px;
}



@media (max-width: 767px) {

	.woocommerce .p-wc-customer-login form {
		padding: 0;
		margin-bottom: 0;
		border: none;
	}

	.woocommerce .p-wc-customer-login__item {
		width: calc(100% + 40px) !important;
		padding: 0 30px;
		margin: 0 -20px;
	}

	.woocommerce .p-wc-customer-login__item+.p-wc-customer-login__item {
		margin: 40px -20px 0;
		padding-top: 40px;
		border-top: 1px solid #ddd;
	}

	.p-wc-customer-login form input.input-text {
		height: 50px;
		border-radius: 50px;
		padding: 0 20px;
	}

	.p-wc-customer-login form .password-input input[name=password] {
		padding-right: 50px;
	}

	.p-wc-customer-login form .show-password-input {
		width: 50px;
	}
}



/* myaccount */
.woocommerce mark {
	font-style: normal;
	font-weight: 600;
	color: inherit;
	background: transparent;
}

.woocommerce-account .addresses .title h2 {
    float: left;
    font-size: 1.3rem;
	line-height: 1.8;
	margin-bottom: 2rem;
}


.woocommerce-account .woocommerce-MyAccount-navigation li.is-active {
	color: #000;
	background: #f5f5f5;
}

@media (hover: hover) and (pointer: fine) {
	.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
		color: #000;
		background: #f5f5f5;
	}
}

@media (min-width: 992px) {
	.woocommerce-account .woocommerce-MyAccount-navigation {
		width: 250px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		padding: 0;
		margin: 0 !important;
		list-style: none;
		border: none;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li {
		margin: 0 !important;
		border-color: #ddd;
		border-style: solid;
		border-width: 0 1px 1px 1px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li:first-child {
		border-top-width: 1px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li a {
		display: block;
		padding: 17px 22px;
		font-size: 14px;
		line-height: 1.8;
		color: #000;
		text-decoration: none !important;
	}

	.woocommerce-account .woocommerce-MyAccount-content {
		width: calc(100% - 250px - 3.333%);
		padding: 50px 38px;
		border: 1px solid #ddd;
	}

	.woocommerce-account .woocommerce-MyAccount-content> :last-child {
		margin-bottom: 0;
	}
}

@media (max-width: 991px) {
	.woocommerce-account .woocommerce-MyAccount-content {
		float: none;
		width: 100%;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		float: none;
		width: 100%;
		margin: 0 0 40px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-wrap: wrap;
		margin: 0;
		list-style: none;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li {
		flex: 0 0 50%;
		border-color: #ddd;
		border-style: solid;
		border-width: 0 1px 1px 0;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li:nth-child(-n+2) {
		border-top-width: 1px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li:nth-child(2n+1) {
		border-left-width: 1px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li a {
		display: block;
		height: 100%;
		padding: 11.5px 10px;
		line-height: 1.8;
		color: #000;
		text-align: center;
		text-decoration: none;
	}
}



/* dashboard */
.p-wc .dashboard-account {
	margin-bottom: 60px;
}

.p-wc .dashboard-account-avatar {
	width: 100px;
	height: 100px;
}

.p-wc .dashboard-account-avatar img {
	width: 100px;
	height: 100px;
	border-radius: 50%;
}

.p-wc .dashboard-account-info table {
	margin: 0;
}

@media (min-width: 768px) {
	.p-wc .dashboard-account {
		display: flex;
		align-items: center;
	}

	.p-wc .dashboard-account-avatar {
		flex: 0 0 100px;
		flex: 0 0 100px;
		margin-right: 40px;
	}

	.p-wc .dashboard-account-info {
		flex: 1 1 auto;
		flex: 1 1 auto;
	}
}

@media (max-width: 991px) {
	.p-wc .dashboard-account {
		margin-bottom: 40px;
	}
}

@media (max-width: 767px) {
	.p-wc .dashboard-account-avatar {
		margin: 0 auto 30px;
	}

	.p-wc .dashboard-account table {
		margin-bottom: 0;
	}
}

/* profile image */
.woocommerce form .woocommerce-form-row-profile-image {
	margin-top: 20px;
	text-align: center;
}

.profile-image input {
	display: none;
}

.profile-image-image {
	position: relative;
	width: 150px;
	height: 150px;
	margin: 14px auto 20px;
}

.profile-image-image-current,
.profile-image-image-bg {
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border-radius: 100%;
}

.profile-image-image-current {
	position: relative;
	z-index: 2;
}

.profile-image-image-bg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	background-image: url(img/no-avatar.png);
}

.profile-image-delete-button {
	position: absolute;
	top: -14px;
	right: -26px;
	z-index: 3;
	display: none;
	width: 40px;
	height: 40px;
	overflow: hidden;
	line-height: 40px;
	text-align: center;
	transition-property: none;
}

.profile-image-delete-button::before {
	display: block;
	font-family: "design_plus";
	font-size: 20px;
	content: "\e91a";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.profile-image-upload-button {
	display: block;
	width: 240px;
	margin: 20px auto 0;
}

@media (max-width: 991px) {
	.woocommerce form .woocommerce-form-row-profile-image {
		margin-top: 0;
	}

	.profile-image-image {
		width: 100px;
		height: 100px;
	}

	.profile-image-upload-button {
		display: block;
		width: 200px;
		margin: 20px auto 0;
	}
}

/* coupon */
.woocommerce form.checkout_coupon {
	border-color: #ddd;
	border-radius: 0;
}

.woocommerce form.checkout_coupon {
	border-radius: 0;
}

.woocommerce .checkout_coupon>p:first-child {
	margin-bottom: 1em;
}

.woocommerce form.checkout_coupon .form-row {
	margin-bottom: 0 !important;
}

#add_payment_method table.cart td.actions .coupon .input-text,
.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce-checkout table.cart td.actions .coupon .input-text {
	width: 8.5em;
}

#add_payment_method table.cart td.actions .coupon .button,
.woocommerce-cart table.cart td.actions .coupon .button,
.woocommerce-checkout table.cart td.actions .coupon .button {
	min-width: auto;
}

#add_payment_method table.cart td.actions .coupon .button:not(:hover),
.woocommerce-cart table.cart td.actions .coupon .button:not(:hover),
.woocommerce-checkout table.cart td.actions .coupon .button:not(:hover) {
	background-color: #ccc !important;
}

@media (max-width: 991px) {

	#add_payment_method table.cart td.actions .coupon .input-text,
	.woocommerce-cart table.cart td.actions .coupon .input-text,
	.woocommerce-checkout table.cart td.actions .coupon .input-text,
	#add_payment_method table.cart td.actions .coupon .button,
	.woocommerce-cart table.cart td.actions .coupon .button,
	.woocommerce-checkout table.cart td.actions .coupon .button {
		width: 50%;
		margin: 0;
	}
}

/* cart */
.woocommerce a.remove {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2em;
	height: 2em;
	font-family: "design_plus";
	font-size: 1em;
	font-weight: normal;
	line-height: 1;
	color: #000 !important;
	border: 1px solid #ddd;
}

.woocommerce #order_review_heading {
	margin-top: 2rem;
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce .cart-collaterals .cross-sells,
.woocommerce .cart-collaterals .shipping_calculator {
	margin-top: 2rem;
}

@media (max-width: 991px) {

	.woocommerce .cart-collaterals .cart_totals,
	.woocommerce .cart-collaterals .cross-sells,
	.woocommerce .cart-collaterals .shipping_calculator {
		float: none;
		width: 100%;
	}
}

@media (max-width: 768px) {
	.woocommerce-cart-form .button[name="update_cart"] {
		width: 50%;
		min-width: 12em;
	}
}

@media (max-width: 575px) {
	.woocommerce-cart-form .button[name="update_cart"] {
		width: 100%;
	}
}

@media (hover: hover) and (pointer: fine) {
	.woocommerce a.remove:hover {
		color: #ddd !important;
		text-decoration: none;
		background: transparent;
	}
}

/* クロスセル */
.p-cross-sells {
	--tcd-container-width: calc(1100px * 0.48);
	--tcd-product-loop-item-column: 3;
}

.p-cross-sells .p-archive03-item-anchor:not(:hover) {
	color: #000;
}

.p-cross-sells .p-archive03-item-title {
	font-size: 14px !important;
}

.p-cross-sells .p-archive03-item-meta {
	display: none;
}

.p-cross-sells .c-arrow--next {
	right: -36px;
}

.p-cross-sells .c-arrow--prev {
	left: -45px;
}

@media not all and (max-width: 991px) {

	.p-cross-sells .p-product-badge {
		top: 10px;
		left: 10px;
	}

	.p-cross-sells .p-product-badge span {
		min-width: 45px;
		height: 45px;
		padding: 0 5px;
		font-size: 10px;
		line-height: 45px;
	}

	.p-cross-sells .p-archive03-item-info {
		margin-top: 20px;
	}

	.p-cross-sells .p-archive03-item-price {
		margin-top: 15px;
	}

}



/* payment */
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
	border-radius: 0;
}

.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
	margin-bottom: 0;
}

.woocommerce .woocommerce-customer-details address {
	border: 1px solid #ddd;
	border-radius: 0;
}

.woocommerce .woocommerce-customer-details .woocommerce-customer-details--phone::before,
.woocommerce .woocommerce-customer-details .woocommerce-customer-details--email::before {
	line-height: inherit;
}

/* widget common */
.p-widget .star-rating {
	font-size: 12px;
}

/* .woocommerce ul.product_list_widget {
	padding: 0;
	margin: 0;
} */

.woocommerce ul.product_list_widget li {
	position: relative;
	margin-top: -1px;
	padding: 0;
}

/* .woocommerce ul.product_list_widget li:first-child {
	border-top-width: 1px;
} */

.woocommerce ul.product_list_widget li a.p-widget-list-item-link {
	display: flex;
	font-weight: 400;
	color: inherit;
	text-decoration: none !important;
}

.woocommerce ul.product_list_widget .p-widget-list-item-thumbnail {
	position: relative;
	width: 100px;
	height: 100px;
	overflow: hidden;
}

.woocommerce ul.product_list_widget li a img {
	float: none;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.woocommerce ul.product_list_widget .p-widget-list-item-info {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	padding: 0 20px;
	border: 1px solid #ddd;
	border-left: none;
}

.woocommerce ul.product_list_widget li .product-title {
	display: -webkit-box;
	max-height: 1.8em;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}

.woocommerce ul.product_list_widget li.has-rating .product-title {
	-webkit-line-clamp: 1;
	max-height: 1.8em;
}

.woocommerce ul.product_list_widget li .star-rating {
	display: none;
}

.woocommerce ul.product_list_widget li .p-widget-list-item-amount {
	margin-bottom: -3px;
}

/*
 * widget_product_categories list
*/
.p-widget .product-categories {}

.p-widget .product-categories li {
	position: relative;
}

.p-widget .product-categories li a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 15px 20px;
	border: 1px solid #ddd;
	line-height: 1.8;
	margin-top: -1px;
	transition: color 0.3s ease, padding 0.3s ease;
}

.p-widget .product-categories a .count {
	display: inline-block;
	min-width: 50px;
	height: 30px;
	padding: 0 5px;
	margin-left: auto;
	font-size: 12px;
	line-height: 29px;
	color: #000;
	text-align: center;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 5px;
	transition: background 0.3s ease;
}

.p-widget .product-categories .has-children>a>.count {
	display: none;
}

.p-widget .product-categories .children a {
	padding-left: calc(20px + 1em);
}

.p-widget .product-categories .children .children a {
	padding-left: calc(20px + 2em);
}

.p-widget .product-categories .children .children .children a {
	padding-left: calc(20px + 3em);
}

.p-widget .product-categories .children .children .children .children a {
	padding-left: calc(20px + 4em);
}

.p-widget .product-categories .children .children .children .children .children a {
	padding-left: calc(20px + 5em);
}

@media (hover: hover) and (pointer: fine) {

	.p-widget .product-categories a:hover {
		padding-left: calc(20px + 1em);
	}

	.p-widget .product-categories .children a:hover {
		padding-left: calc(20px + 2em);
	}

	.p-widget .product-categories .children .children a:hover {
		padding-left: calc(20px + 3em);
	}

	.p-widget .product-categories .children .children .children a:hover {
		padding-left: calc(20px + 4em);
	}

	.p-widget .product-categories .children .children .children .children a:hover {
		padding-left: calc(20px + 5em);
	}

	.p-widget .product-categories .children .children .children .children .children a:hover {
		padding-left: calc(20px + 6em);
	}

	.p-widget .product-categories li a:hover .count {
		background: #f7f7f7;
	}
}


/*
 * widget_product_categories dropdown
*/
.p-widget .product-categories .toggle-children {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	padding-right: 20px;
	padding-left: 10px;
	line-height: 58px;
	cursor: pointer;
	opacity: 1;
	transition: opacity 0.5s ease, transform 0.5s ease;
}

.p-widget .product-categories .toggle-children::before {
	display: block;
	font-family: "design_plus";
	content: "\e90e";
}

.p-widget .product-categories .is-active>.toggle-children {
	transform: rotateX(180deg);
}

.p-widget.widget_product_categories .select2-container {
	margin-top: -1px;
}

.p-widget.widget_product_categories .select2-container .select2-selection--single {
	height: 60px;
	margin-bottom: -1px;
	border: 1px solid #ddd;
	border-radius: 0;
}

.p-widget.widget_product_categories .select2-container.select2-container--open .select2-selection--single {
	border-color: #aaa;
}

.p-widget.widget_product_categories .select2-container .select2-selection--single .select2-selection__rendered {
	padding-right: 42px;
	padding-left: 22px;
	line-height: 58px;
	color: inherit;
}

.p-widget.widget_product_categories .select2-container .select2-selection--single .select2-selection__placeholder {
	color: inherit;
}

.p-widget.widget_product_categories .select2-container .select2-selection--single .select2-selection__arrow {
	position: absolute;
	top: 0;
	right: 22px;
	bottom: 0;
	width: 1em;
	height: 1em;
	margin: auto;
	font-size: 14px;
	line-height: 1;
	pointer-events: none;
	opacity: 1;
	transition: opacity 0.5s ease, transform 0.5s ease;
}

.p-widget.widget_product_categories .select2-container .select2-selection--single .select2-selection__arrow::before {
	font-family: "design_plus";
	content: "\e90e";
}

.p-widget.widget_product_categories .select2-container.select2-container--open .select2-selection--single .select2-selection__arrow {
	transform: rotateX(180deg);
}

.p-widget.widget_product_categories .select2-container .select2-selection--single .select2-selection__arrow b {
	display: none;
}

.p-widget.widget_product_categories .select2-container .select2-selection--single .select2-selection__clear {
	display: none;
}

.select2-dropdown {
	z-index: 10 !important;
}

@media (hover: hover) and (pointer: fine) {

	.p-widget .product-categories .toggle-children:hover {
		opacity: 0.6;
	}

	.p-widget.widget_product_categories .select2-container:hover .select2-selection--single .select2-selection__arrow {
		opacity: 0.6;
	}
}

@media (max-width: 991px) {

	.p-widget .product-categories .toggle-children {
		line-height: 48px;
	}

	.p-widget.widget_product_categories .select2-container .select2-selection--single {
		height: 50px;
	}

	.p-widget.widget_product_categories .select2-container .select2-selection--single .select2-selection__rendered {
		line-height: 48px;
	}
}

/* widget recent reviews */
.widget_recent_reviews ul.product_list_widget li .product-title {
	font-size: 14px;
}

.widget_recent_reviews ul.product_list_widget li .star-rating {
	display: block;
}

.widget_recent_reviews ul.product_list_widget li .reviewer {
	display: block;
	font-size: 14px;
	margin-top: 3px;
}


/* widget product search */
.woocommerce-product-search {
	position: relative;
	margin-top: -1px;
}

.woocommerce-product-search .search-field {
	box-sizing: border-box;
	width: 100%;
	height: 60px;
	padding: 0 59px 0 22px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 0;
}

.woocommerce-product-search button {
	position: absolute;
	top: 0;
	right: 0;
	box-sizing: border-box;
	width: 60px;
	height: 60px;
	padding: 0;
	font-family: "design_plus";
	font-size: 16px;
	color: #000;
	cursor: pointer;
	background: transparent;
	border: none;
}

@media (hover: hover) and (pointer: fine) {
	.woocommerce-product-search button:hover {
		color: #999;
	}
}

@media (max-width: 767px) {
	.woocommerce-product-search .search-field {
		height: 50px;
		padding-right: 50px;
	}

	.woocommerce-product-search button {
		width: 50px;
		height: 50px;
	}
}

/* widget_shopping_cart */
.widget_shopping_cart_content {
	border: 1px solid #ddd;
}

.p-widget .widget_shopping_cart_content {
	margin-top: -1px;
}

.widget_shopping_cart_content> :last-child {
	margin-bottom: 0 !important;
}

.woocommerce.widget_shopping_cart .cart_list li {
	font-size: 14px;
	line-height: 1.6;
	padding: 15px;
	margin: 0 !important;
	border-bottom: 1px solid #ddd;
}

.woocommerce.widget_shopping_cart .cart_list li a {
	color: inherit;
	font-weight: 400;
}

.woocommerce.widget_shopping_cart .cart_list li a.remove {
	display: flex;
	align-items: center;
	justify-content: center;
	top: 5px;
	left: 5px;
	z-index: 1;
	width: 30px;
	height: 30px;
	font-family: "design_plus";
	font-weight: 400;
	color: #000 !important;
	background: #fff;
	border: 1px solid #ddd;
}

.woocommerce.widget_shopping_cart .cart_list li img {
	float: left;
	margin: 0 15px 0 0;
	width: 70px;
	height: 70px;
	object-fit: cover;
}

.woocommerce.widget_shopping_cart .cart_list li .quantity {
	display: block;
	opacity: 0.5;
}

.woocommerce.widget_shopping_cart .total {
	padding: 10px;
	border-top: none;
	border-bottom: 1px solid #ddd;
}

.woocommerce.widget_shopping_cart .woocommerce-mini-cart__buttons {
	text-align: center;
	padding: 15px;
}

.woocommerce.widget_shopping_cart .woocommerce-mini-cart__buttons a {
	margin: 0;
}

.woocommerce.widget_shopping_cart .woocommerce-mini-cart__buttons a+a {
	margin-top: 10px;
}

.woocommerce.widget_shopping_cart .woocommerce-mini-cart__empty-message {
	padding: 17px 10px;
	text-align: center;
}

.widget_shopping_cart .woocommerce-mini-cart-product__title {
	display: -webkit-box;
	max-height: 3.6em;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.woocommerce.widget_shopping_cart .buttons .p-button {
	display: block;
	min-width: auto;
	height: 50px;
	margin: 0;
	line-height: 50px;
}

.p-widget.woocommerce.widget_shopping_cart .buttons .p-button+.p-button {
	margin-top: 6px;
}

@media (hover: hover) and (pointer: fine) {
	.woocommerce.widget_shopping_cart .cart_list li a.remove:hover {
		color: #f00 !important;
		text-decoration: none !important;
		background: #fff;
	}
}

/* widget_shopping_cart in header view cart */
.p-header-view-cart .widget_shopping_cart {
	text-align: left;
}

.p-header-view-cart .widget_shopping_cart_content {
	border: none;
}

.p-header-view-cart .woocommerce.widget_shopping_cart .cart_list li {
	line-height: 1.8;
	padding: 0 0 20px;
	border: none;
}

.p-header-view-cart .woocommerce.widget_shopping_cart .cart_list li a.remove {
	display: none;
}

.p-header-view-cart .woocommerce.widget_shopping_cart .cart_list li a.p-widget-list-item-link {
	padding: 12px;
}

.p-header-view-cart .woocommerce.widget_shopping_cart .total {
	display: none;
}

.p-header-view-cart .woocommerce.widget_shopping_cart .buttons {
	padding: 0;
	margin-top: 10px;
}

.p-header-view-cart .woocommerce.widget_shopping_cart .buttons a+a {
	margin-top: 15px;
}

.p-header-view-cart .woocommerce.widget_shopping_cart .buttons::before,
.p-header-view-cart .woocommerce.widget_shopping_cart .buttons::after {
	display: none;
}

.p-header-view-cart .woocommerce.widget_shopping_cart .buttons .p-button,
.p-header-view-cart .woocommerce.widget_shopping_cart .buttons .p-button-gray {
	display: block;
	width: 49%;
	min-width: 0;
	margin: 0;
}

.p-header-view-cart .woocommerce.widget_shopping_cart .woocommerce-mini-cart__empty-message {
	text-align: center;
}

@media (max-width: 991px) {
	.p-header-view-cart .woocommerce.widget_shopping_cart .woocommerce-mini-cart__empty-message {
		padding: 40px 12px;
	}
}

@media (max-width: 499px) {
	.p-header-view-cart .woocommerce.widget_shopping_cart .buttons {
		display: block;
	}

	.p-header-view-cart .woocommerce.widget_shopping_cart .buttons .p-button,
	.p-header-view-cart .woocommerce.widget_shopping_cart .buttons .p-button-gray {
		display: block;
		width: 100%;
	}

	.p-header-view-cart .woocommerce.widget_shopping_cart .buttons .p-button-gray+.p-button {
		margin-top: 10px;
	}
}

/* widget_tag_cloud */

.woocommerce.widget_product_tag_cloud .p-widget-headline+.tagcloud {
	margin-top: 20px;
}

.woocommerce.widget_product_tag_cloud .tagcloud {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.woocommerce.widget_product_tag_cloud .tag-cloud-link {
	font-size: 14px !important;
	background: #eeeeee;
	border-radius: 5px;
	overflow: hidden;
	display: block;
	line-height: 35px;
	height: 35px;
	padding: 0px 12px;
	color: #000;
	transition: all 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
	.woocommerce.widget_product_tag_cloud .tag-cloud-link:hover {
		color: #fff;
		text-decoration: none !important;
		background: var(--tcd-accent-color);
	}
}



/* widget ranking product */
.p-widget-list-item-rank {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	font-size: 14px;
}

.p-widget-ranking .p-widget-list-item-link {
	display: flex;
	margin-top: -1px;
}

.p-widget-ranking .p-widget-list-item-thumbnail {
	width: 100px;
	height: 100px;
}

.p-widget-ranking .p-widget-list-item-info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 1;
	padding: 0 20px;
	border: 1px solid #ddd;
}

.p-widget-ranking .p-widget-list-item-info .product-title {
	display: -webkit-box;
	max-height: 3.2em;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.p-widget-ranking .p-widget-list-item-amount {
	display: none;
}


/* ranking */
.p-ranking--all {
	--tcd-product-image-size: calc(var(--tcd-product-image-aspect-ratio) * 250px);
	--tcd-product-loop-item-column: 2;
	--tcd-product-loop-item-margin-vt: 20px;
	--tcd-product-loop-item-margin-hn: 20px;
}

.p-ranking .c-post-category:not(:hover) {
	background: #fff;
}


.p-ranking-header {
	text-align: center;
	padding: 50px;
	background: #f7f7f7;
}

.p-ranking-header__headline {
	font-size: 24px;
	line-height: 2;
	margin: -0.5em 0 calc(50px - 0.5em);
	font-weight: 600;
}

.p-ranking-header__tabs {
	display: flex;
}

.p-ranking-header__tabs-label {
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 70px;
	padding: 0 10px;
	border: 1px solid #ddd;
	background: #fff;
	transition: color 0.2s ease;
}

.p-ranking-header__tabs-label.is-active {
	pointer-events: none;
	position: relative;
	color: #fff;
	background: #000;
	border-color: #000;
}

.p-ranking-header__desc {
	font-size: 16px;
	line-height: 2.4;
	margin: calc(50px - 0.7em) 0 -0.7em;
}

.p-ranking-header__desc.is-active {
	animation: showAjaxProductItems 0.3s ease 0s forwards;
}

.p-ranking-header__desc:not(.is-active) {
	display: none;
}

.p-ranking-header__category {
	margin-top: 50px;
	display: flex;
	gap: 15px;
}

.p-ranking-header__category-link {
	white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {
	.p-ranking-header__tabs-label:hover {
		color: rgba(0, 0, 0, 0.5);
	}

	.p-ranking-header__tabs-label.is-active:hover {
		color: #fff;
	}
}

.p-ranking-list {
	margin-top: 120px;
}

.p-ranking-list__field:not(.is-active) {
	display: none;
}

.p-ranking-ajax {
	text-align: center;
}

.p-ranking-ajax>* {
	margin-top: 60px;
}

.p-ranking-ajax.is-loading .p-ranking-ajax-button,
.p-ranking-ajax-button[data-ids="0"] {
	display: none;
}

.p-ranking-ajax-loading {
	height: 60px;
}

.p-ranking-ajax:not(.is-loading) .p-ranking-ajax-loading {
	display: none;
}


/* アイコンアニメーション */
.p-ranking-ajax-loading-icon,
.p-ranking-ajax-loading-icon:before,
.p-ranking-ajax-loading-icon:after {
	display: block;
	width: 1.5em;
	height: 1.5em;
	border-radius: 50%;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation: ajaxLoadAnimation 1.8s infinite ease-in-out;
	animation: ajaxLoadAnimation 1.8s infinite ease-in-out;
}

.p-ranking-ajax-loading-icon {
	display: block;
	color: var(--tcd-accent-color);
	position: relative;
	top: -1.5em;
	text-indent: -9999em;
	font-size: 10px;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation-delay: -0.16s;
	animation-delay: -0.16s;
}

.p-ranking-ajax-loading-icon:before,
.p-ranking-ajax-loading-icon:after {
	content: '';
	position: absolute;
	top: 0;
}

.p-ranking-ajax-loading-icon:before {
	left: -2.5em;
	-webkit-animation-delay: -0.32s;
	animation-delay: -0.32s;
}

.p-ranking-ajax-loading-icon:after {
	left: 2.5em;
}

@keyframes ajaxLoadAnimation {

	0%,
	80%,
	100% {
		box-shadow: 0 1.5em 0 -1.3em;
	}

	40% {
		box-shadow: 0 1.5em 0 0;
	}
}

.p-ranking-bottom {
	margin-top: 120px;
}

@media not all and (max-width: 767px) {
	.p-ranking-header__tabs-label+.p-ranking-header__tabs-label {
		margin-left: -1px;
		width: calc(100% + 1px);
	}

	.p-ranking-header__category {
		flex-wrap: wrap;
		justify-content: center;
		overflow: initial;
	}

	.p-ranking-header__category-link {
		height: 40px;
	}

}

@media (max-width: 767px) {

	.p-ranking-header {
		padding: 30px 20px;
	}

	.p-ranking-header__headline {
		font-size: 20px;
		margin-bottom: calc(30px - 0.5em);
	}

	.p-ranking-header__tabs {
		flex-wrap: wrap;
	}

	.p-ranking-header__tabs-label {
		width: 50%;
		height: 60px;
		font-size: 14px;
	}

	.p-ranking-header__tabs-label:nth-child(2n) {
		margin-left: -1px;
		width: calc(50% + 1px);
	}

	.p-ranking-header__tabs-label:nth-child(3),
	.p-ranking-header__tabs-label:nth-child(4) {
		margin-top: -1px;
	}

	.p-ranking-header__desc {
		font-size: 14px;
		line-height: 2.2;
		margin: calc(30px - 0.6em) 0 -0.6em;
	}

	.p-ranking-header__category {
		gap: 7px;
		padding: 0 20px;
		margin: 30px -20px 0;
	}

	.p-ranking-list {
		margin-top: 40px;
	}

	.p-ranking-bottom {
		margin-top: 40px;
	}

}



/* アイテム all */
.p-ranking-number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 45px;
	height: 45px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	font-size: 14px;
	color: #000;
	background: #fff;
	font-weight: 600;
}

.p-ranking-number+.p-product-badge {
	display: none;
}

@media (max-width: 767px) {

	.p-ranking-number {
		width: 40px;
		height: 40px;
	}

}


.p-ranking--all .p-archive03-item-anchor {
	display: flex;
}

.p-ranking--all .p-archive03-item-thumbnail {
	width: 250px;
}

.p-ranking--all .p-archive03-item-info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 1;
	margin: 0;
	background: #f7f7f7;
	padding: 0 40px;
}

.p-ranking--all .p-archive03-item-outofstock {
	width: 250px;
}

.p-ranking--all .p-archive03-item-actions {
	right: calc(100% - 250px);
}

.p-ranking--all .p-archive03-item.is-ready {
	opacity: 0;
}

.p-ranking--all .p-archive03-item.is-show {
	animation: showAjaxProductItems 0.3s ease 0.05s forwards;
}

@keyframes showAjaxProductItems {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}


@media (max-width: 991px) {
	.p-ranking--all {
		--tcd-product-loop-item-column: 1;
	}
}

@media (max-width: 767px) {

	.p-ranking--all {
		--tcd-product-image-size: calc(var(--tcd-product-image-aspect-ratio) * 140px);
	}

	.p-ranking--all .p-archive03-item-thumbnail {
		width: 140px;
	}

	.p-ranking--all .p-archive03-item-info {
		padding: 0 20px;
	}

	.p-ranking--all .p-archive03-item-title {
		max-height: 2em;
	}

	.p-ranking--all .p-archive03-item-title span {
		-webkit-line-clamp: 1;
	}

	.p-ranking--all .p-archive03-item-outofstock {
		width: 140px;
	}

	.p-ranking--all .p-archive03-item-actions {
		right: calc(100% - 140px);
	}

	.p-ranking-ajax>* {
		margin-top: 40px;
	}


}


/* category */

@media not all and (max-width: 991px) {
	.p-wc-product-carousel .p-wc-loop {
		flex-wrap: nowrap;
		gap: 0;
	}
}

.p-ranking--category .c-arrow--prev:disabled,
.p-ranking--category .c-arrow--next:disabled {
	opacity: 0 !important;
}

.p-ranking--category .p-archive03-item-meta {
	display: none;
}

.p-ranking-carousel {}

.p-ranking-carousel+.p-ranking-carousel {
	margin-top: 120px;
}

.p-ranking-carousel__title {
	display: flex;
	align-items: center;
	padding: 23px 30px;
	background: #f7f7f7;
	margin-bottom: 30px;
}

.p-ranking-carousel__title-category {
	flex: 1;
	font-size: 24px;
	line-height: 1.6;
	margin: -0.3em 0;
}

.p-ranking-carousel__title-label {
	font-size: 16px;
	white-space: nowrap;
	margin-left: 30px;
}

@media (max-width: 767px) {

	.p-ranking-carousel+.p-ranking-carousel {
		margin-top: 40px;
	}

	.p-ranking-carousel__title {
		padding: 22px 20px;
	}

	.p-ranking-carousel__title-category {
		font-size: 16px;
	}

	.p-ranking-carousel__title-label {
		font-size: 14px;
	}

}

/* wish list */
.p-archive03-item-remove-like {
	position: absolute;
	top: -55px;
	left: 0;
	display: block;
	width: 40px;
	height: 40px;
	padding: 0;
	font-family: "design_plus";
	text-align: center;
	cursor: pointer;
	background: transparent;
	border: 1px solid #ddd;
	border-radius: 50%;
}

.p-wishlist__no-post {
	text-align: center;
	display: none;
}

.p-wishlist__no-post:only-child,
.p-wishlist__list:empty~.p-wishlist__no-post {
	display: block;
}

.p-wishlist .p-archive03-item {
	margin-top: 55px;
}

@media (hover: hover) and (pointer: fine) {
	.p-archive03-item-remove-like:hover {
		color: #fff;
		background-color: var(--tcd-accent-color);
		border-color: var(--tcd-accent-color);
	}
}

@media (max-width: 767px) {
	.p-archive03-item-remove-like {
		top: -45px;
		width: 35px;
		height: 35px;
	}

	.p-wishlist .p-archive03-item {
		margin-top: 45px;
	}

	.p-wishlist .p-archive03-item-inner .p-archive03-item-actions {
		pointer-events: auto;
		height: 40px;
	}


}

/* 商品フッターバー */
.p-product-footer-bar {
	display: none;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 10;
	width: 100%;
	background: #fff;
	padding: 10px 20px;
	border-top: 1px solid #ddd;
}

.p-product-footer-bar__inner {
	justify-content: space-between;
}

.p-product-footer-bar__button--cart {
	width: calc(100% - 40px);
}

.p-product-footer-bar__button--like {
	width: 50px;
	height: 50px;
	position: relative;
	background: #fff;
	border: none;
	padding: 0;
	margin-right: -15px;
}

.p-product-footer-bar__button--like:before {
	content: "\e94f";
	font-family: "design_plus";
	display: block;
	color: var(--tcd-accent-color);
	font-size: 20px;
	line-height: 1;
}

.p-product-footer-bar__button--like.is-liked:before {
	content: "\e94d";
	animation: liked 0.3s ease;
}

.p-product-footer-bar__spacer {
	display: none;
	width: 100%;
	height: 71px;
}

@media (max-width: 599px) {
	.p-product-footer-bar {
		display: block;
	}

	.p-product-footer-bar.is-active {
		opacity: 1;
		pointer-events: auto;
	}

	.show-drawer .p-product-footer-bar {
		display: none;
	}

	.p-product-footer-bar__spacer {
		display: block;
	}

	.p-product-footer-bar~.p-return-top-button-wrapper {
		display: none;
	}

	.p-product-footer-bar.is-active~.p-product-like-message {
		bottom: 90px;
	}
}


/* 商品カードリンク */
.p-plink {
	position: relative;
	line-height: 1;
}

.p-plink+.p-plink {
	margin-top: calc(-2rem - 1px);
}

.p-plink-inner {}

.p-plink-anchor {
	display: flex;
	height: 170px;
	color: #000;
	text-decoration: none !important;
}

.p-plink-thumbnail {
	width: 170px;
	height: 100%;
	margin-right: -1px;
}

.p-plink-thumbnail-image {
	position: relative;
	padding-top: calc(var(--tcd-product-image-size-square) * 100%);
}

.p-plink-thumbnail-image-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

.p-plink-product-badge {
	display: none;
}

.p-plink-info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 20px;
	flex: 1;
	padding: 0 40px;
	height: 100%;
	border: 1px solid #ddd;
}

.p-plink-title {
	transition: color 0.2s ease;
}

.p-plink-anchor:not(:hover) .p-plink-title {
	color: #000;
}

.p-plink-rating {
	display: none;
}

.p-plink-actions {
	position: absolute;
	top: 35px;
	right: 40px;
	display: flex;
	align-items: center;
	gap: 15px;
	height: 30px;
	color: var(--tcd-accent-color);
}

.p-plink-cart a {
	text-decoration: none !important;
}

.p-plink-cart a::before {
	font-family: "design_plus";
	font-size: 18px;
	content: "\e950";
}

.p-plink-cart a~* {
	display: none !important;
}

.p-plink-like,
.p-plink-cart {
	transition: opacity 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {

	.p-plink-like:hover,
	.p-plink-cart:hover {
		opacity: 0.5;
	}
}

@media not all and (max-width: 767px) {
	.p-plink-title {
		font-size: 16px !important;
		line-height: 2 !important;
		margin: -0.5em 0 !important;
		height: 2em;
	}

	.p-plink-title span {
		-webkit-line-clamp: 1;
	}
}

@media (max-width: 767px) {

	.p-plink-anchor {
		height: 140px;
	}

	.p-plink-thumbnail {
		width: 140px;
	}

	.p-plink-info {
		gap: 10px;
		padding: 0 20px;
	}

	.p-plink-meta {
		display: none;
	}

	.p-plink-title {
		font-size: 14px !important;
		line-height: 1.8 !important;
		margin: -0.4em 0 !important;
		height: auto;
		max-height: 3.6em;
	}

	.p-plink-actions {
		display: none;
	}

}

/* 数量ボタン */
.p-entry-product-cart-quantity {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 30px;
}

@media (min-width: 767px) {
	.p-entry-product__cart-quantity{
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 30px;
	}
	.p-entry-product-cart-quantity {
		justify-content: left;
	}
}


.single_product_quantity_label { display: inline-block; padding-right: 1em; }
.single_product_quantity_button {
	display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
	border:1px solid #ddd; max-width:150px;
}

.single_product_quantity_increase,
.single_product_quantity_decrease {
	display:block; width:50px; height:50px; text-align:center;
	cursor:pointer; position:relative;
}
.single_product_quantity_decrease:before,
.single_product_quantity_increase:before,
.single_product_quantity_increase:after {
	content:''; display:block; width:10px; height:1px; background:#000;
	position:absolute; top:0; left:0; bottom:0; right:0; margin:auto;
}
.single_product_quantity_increase:after { transform:rotate(90deg) }
.single_product_quantity_button .quantity input.qty { border:none; width:50px; text-align:center; }

/* スピンボタンを消す */
.single_product_quantity input[type="number"]::-webkit-outer-spin-button,
.single_product_quantity input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
/* Firefox */
.single_product_quantity input[type="number"] {
  -moz-appearance: textfield;
}

@media (max-width:  767px) {
	.single_product_quantity {
		display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
		-webkit-box-align: center; -ms-flex-align: center; align-items: center;
	}
	.single_product_quantity { max-width:260px; margin: 0 auto; }
	.single_product_quantity_increase, .single_product_quantity_decrease { width:45px; min-width:45px; height:45px; }
	.p-entry-product__cart .quantity .qty,.single_product_quantity_button .quantity input.qty { height: 45px; }
}

/**** ブロックエディター化したカートページのボタンののレイアウト調整 ***/
.wc-block-cart__submit-button{
	background: #000;
	color: #fff!important;
}

.woocommerce form .form-row .input-text, .woocommerce form .form-row select{
	height: 50px;
    padding: 0 20px;
    background: #fff;
    border: 1px solid #ddd;
	border-radius: 0;
	box-sizing: border-box;
}
.woocommerce form .form-row .input-text:focus, .woocommerce form .form-row select:focus{
	border-color: #ddd;
}

.select2-container .select2-dropdown, .select2-container .select2-selection{
	border-color: #ddd;
}