@charset "utf-8";


/* ----------------------------------------------------------------------
 基本スタイル
---------------------------------------------------------------------- */
.p-body { line-height: 2.4; }

/* text and headline */
.p-body p { margin-bottom: 2em; }
.p-body h1, .p-body h2, .p-body h3, .p-body h4, .p-body h5, .p-body h6 { clear: both; line-height: 1.4; margin-bottom: 24.2px; font-weight:600; }
.p-body h1 { font-size: 150%; }
.p-body h2 { font-size: 140%; }
.p-body h3 { font-size: 130%; }
.p-body h4 { font-size: 120%; }
.p-body h5 { font-size: 110%; }
.p-body h6 { font-size: 100%; }

/* table */
.p-body table { margin: 0 0 24px 0; }
.p-body td, .p-body th { border: 1px solid #ddd; padding: 10px 15px; line-height: 2; background: #fff; vertical-align: middle; }
.p-body th { background: #f9f9f9; font-weight: normal; }

.woocommerce-order-overview__date.date:before { content:none; }

/* 金額 */
.p-widget del, .p-wc-price del {
	text-decoration-color: #ff2626; margin-right:0.2em;
}

/* 太字を600に */
.woocommerce table.shop_table th,
.woocommerce table.shop_table tbody th, .woocommerce table.shop_table tfoot td, .woocommerce table.shop_table tfoot th
{ font-weight:600; }

/* レビュー */
.p-wc-rating { display: -webkit-box; display: -ms-flexbox; display: flex!important; line-height:1!important; }
.p-wc-rating .star-rating { margin:0!important; }
.p-wc-rating .woocommerce-review-link { margin-left:5px; }
.p-wc-rating .count { font-size: 14px; color: #484848; }
@media (hover: hover) and (pointer: fine) {
	.p-wc-rating .count:hover { text-decoration: underline; }
}

/* シェアボタン */
.p-wc-share-button { margin-top:30px; }
.p-wc-share-button__list { width:280px; }
* + .p-wc-share-button__item { margin-left:15px; }
.p-wc-share-button__link {
	display:block; width:30px; height:30px; color:#fff;
	border-radius: 50%; font-size:17px; overflow: hidden; 
}
.p-wc-share-button__icon { width:100%; height:100%; font-family: 'design_plus'; background:#ddd; transition:background 0.3s ease; }

.p-wc-share-button__icon.p-wc-share-button__icon--twitter { font-family: 'tiktok_x_icon';  font-size: 12px;}

@media (hover: hover) and (pointer: fine) {
	.p-wc-share-button__link:hover .p-wc-share-button__icon--twitter {  background:#000; }
	.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; }
}
@media (max-width: 767px) {
	.p-wc-share-button { margin-top:30px; }
	.p-wc-share-button__list { width:100%; }
}

/* 商品カテゴリー */
.p-wc-category { font-size:14px; color:rgba(var(--tcd-accent-color, 0,0,0),1); transition:color 0.3s ease; }
.p-wc-category:hover { color:rgba(var(--tcd-accent-color, 0,0,0),0.5); }
@media (max-width: 767px) {
  .p-wc-category { font-size:12px; }
}

/* 商品価格 */
.p-product-price { font-size:16px; }


/* ----------------------------------------------------------------------
 メッセージ
---------------------------------------------------------------------- */

.woocommerce-error, .woocommerce-info, .woocommerce-message { background:#f6f6f6; }
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
	font-weight:600; border-radius:0px;
}

/* info blue */
/* .woocommerce-info { border-top-color: rgba(var(--tcd-accent-color, 0, 0, 0),1); }
.woocommerce-info::before { color: rgba(var(--tcd-accent-color, 0, 0, 0),1); } */

/* メッセージ  green */
/* .woocommerce-message { border-top-color: rgba(var(--tcd-accent-color, 0, 0, 0),1); }
.woocommerce-message::before { color: rgba(var(--tcd-accent-color, 0, 0, 0),1); } */

.woocommerce-error, .woocommerce-info, .woocommerce-message { line-height:2; }
.woocommerce-error a.button, .woocommerce-info a.button, .woocommerce-message a.button { margin-left:20px; }

/* 通知 */
@media (max-width: 767px) {
	.woocommerce-error li, .woocommerce-info, .woocommerce-message {
		display:flex;
		flex-direction: column;
		align-items: baseline;
	}
	.woocommerce-error a.button, .woocommerce-info a.button, .woocommerce-message a.button { margin-left:0; margin-top:15px; }
}

/* ----------------------------------------------------------------------
 マイアカウント調整
---------------------------------------------------------------------- */

.account-orders-table .woocommerce-orders-table__cell .p-button {

}

/* ----------------------------------------------------------------------
 商品基本ループ
---------------------------------------------------------------------- */

.p-product-loop { margin:-25px 0 0 -25px; }
.p-product-loop .p-product-item { width:calc(100% / 3 - 25px); margin:25px 0 0 25px; }

.p-product-item { position: relative; }
.p-product-item__link { display:block; }
.p-product-item__video-icon { position: relative; }
.p-product-item--video .p-product-item__video-icon:before, .p-product-item--youtube .p-product-item__video-icon:before {
	content: '\e900'; font-family: 'design_plus'; position: absolute; top: 8%; right: 8%; z-index: 5;
	font-size: 14px; color: #fff; filter:drop-shadow(0px 0px 1px rgba(0, 0, 0, 0.3));
}
.p-product-item__image {}
.p-product-item__image-bg { padding-top:100%; }
.p-product-item__content { text-align: center; padding:20px; border:1px solid #ddd; border-top:none; }
.p-product-item__category { margin-bottom:15px; }
.p-product-item__title { font-size:16px; font-weight:600; height:1.6em; line-height:1.6; margin:-0.3em 0; }

/* ショートコード対策 */
.post_content .p-product-item__link { text-decoration: none!important; }
.post_content .p-product-item__title { font-size:16px; font-weight:600; color:#000; line-height:1.6; margin:-0.3em 0; height:1.6em; }
.post_content .p-product-item__price { line-height:1.4!important; margin: calc(15px - 0.2em) 0 -0.2em!important; }

/* ホバー時のラベル */
.p-product-item__labels { pointer-events: none; position: absolute; top:0; right:0; width:100%; padding-top: 100%; overflow:hidden; }
.p-product-item__labels-triangle {}

.p-product-item__buttons {
	-webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end;
	margin-top: -45px; transform:translateY(100%); transition: transform 0.3s cubic-bezier(0.65,0.05,0.36,1);
}
.p-product-item__buttons-item { cursor: pointer; pointer-events: auto; width:45px; height:45px; position:relative; background:#000; }
@media (hover: hover) and (pointer: fine) {
	.p-product-item:hover .p-product-item__buttons { transform:translateY(0); }
}

/* いいね */
.p-product-item__like {  }
.p-product-item__like-button { color:rgba(var(--tcd-accent-color, 0,0,0),1); height:100%; font-size:20px; background:#fff; transition:background-color 0.3s ease; }
.p-product-item__like-button:before { content: "\e94f"; }
.p-product-item__like-button.is-liked:before { content: "\e94d"; animation: liked 0.3s ease; }
@media (hover: hover) and (pointer: fine) {
	.p-product-item__like-button:hover { background:rgba(255, 255, 255, 0.9) }
}
@keyframes liked {
  0% { transform: scale(.9); }
  50% { transform: scale(1.1); }
  100% { transform: scale(1); }
}

/* カート */
.p-product-item__cart {}
.p-product-item__cart-form { display:block; height:100%; color:#fff; background:rgba(var(--tcd-accent-color, 0,0,0),1); transition:background-color 0.3s ease; }
.p-product-item__cart-button { display:block; width:100%; height:100%; color:#fff; font-size:20px; }
.p-product-item__cart-button:before { content:"\e950"; }
@media (hover: hover) and (pointer: fine) {
	.p-product-item__cart-form:hover { background:rgba(var(--tcd-accent-color, 0,0,0),0.9); }
}

/* 在庫切れ */
.p-product-item__outofstock {
	width:100%; height:45px; line-height:45px; text-align: center; margin-top:-45px;
	font-size:14px; font-weight:600; color:#fff; background:rgba(0,0,0,0.7);
}

/* 金額 */
.p-product-item__price {
	-webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline;
	color:#000; font-size:16px; line-height:1.4; margin:calc(15px - 0.2em) 0 -0.2em;
}
.p-product-item__price > * { margin-left:0.3em; }
.p-product-item__price.type2 .woocommerce-Price-currencySymbol { font-size:0.9em; }
.p-product-item__price .woocommerce-price-suffix { font-size:0.9em; }

/* レビュー */
.p-product-item .p-wc-rating { margin:15px 0 0; }

@media (max-width: 767px) {
	.p-product-loop { margin:-10px 0 0 -10px; }
	.p-product-loop .p-product-item { width:calc(100% / 3 - 10px); margin:10px 0 0 10px; }

	.p-product-item__category { margin-bottom:10px; }
	.p-product-item__title { font-size:14px; height:3.2em; }
	.p-product-item__title span { -webkit-line-clamp: 2; }
	.p-product-item__price { font-size:14px; line-height:1.6; margin:calc(10px - 0.3em) 0 -0.3em; }
	.p-product-item .p-wc-rating { margin-top:10px; }

	/* ショートコード対策 */
	.post_content .p-product-item__title { font-size:14px!important; line-height:1.6!important; margin:-0.3em 0!important; height:3.2em; }
	.post_content .p-product-item__price { line-height:1.6!important; margin: calc(10px - 0.3em) 0 -0.3em!important; }
}
@media (max-width: 599px) {
	.p-product-loop .p-product-item { width:calc(100% / 2 - 10px); }
}

/* ----------------------------------------------------------------------
 商品アーカイブ
---------------------------------------------------------------------- */


/* ----------------------------------------------------------------------
 商品アーカイブ - フィルター
---------------------------------------------------------------------- */
.p-archive03__sort-filter-wrapper { margin-bottom: 40px; }
.p-archive03__sort-filter { border: 1px solid #ddd; position: relative; flex-grow: 1; }
.p-archive03__sort-filter__item { position: relative; width: 100%; }
.p-archive03__sort-filter__item + .p-archive03__sort-filter__item { border-left: 1px solid #ddd; }
.p-archive03__sort-filter__item-title { cursor: pointer; font-size: 16px; line-height: 1.4; height: 58px; overflow: hidden; padding-left: 20px; padding-right: 40px; }
.p-archive03__sort-filter__item-title::after { content: "\e90e"; font-family: "design_plus"; font-size: 85%; position: absolute; right: 22px; }
.p-archive03__sort-filter__item-dropdown { background: #fff; border: 1px solid #ddd; opacity: 0; pointer-events: none; visibility: hidden; position: absolute; left: -1px; right: -1px; top: 100%; z-index: -1; -webkit-transition: all 0.1s ease-out; -moz-transition: all 0.1s ease-out; -ms-transition: all 0.1s ease-out; transition: all 0.1s ease-out; }
.p-archive03__sort-filter__item.is-active .p-archive03__sort-filter__item-dropdown { opacity: 1; pointer-events: auto; visibility: visible; z-index: 10; -webkit-transition-duration: 0.2s; -moz-transition-duration: 0.2s; -ms-transition-duration: 0.2s; transition-duration: 0.2s; }
.p-archive03__sort-filter__item-dropdown li { cursor: pointer; }
.p-archive03__sort-filter__item-dropdown li a, .p-archive03__sort-filter__item-dropdown li span { color: #000; cursor: pointer; display: block; font-size: 14px; line-height: 45px; height: 45px; overflow: hidden; padding: 0 24px; }
@media (hover: hover) and (pointer: fine) {
	.p-archive03__sort-filter__item-dropdown li.is-active, .p-archive03__sort-filter__item-dropdown li:hover { background: #f5f5f5; }
}
@media (max-width: 767px) {
	.p-archive03__sort-filter-wrapper { -ms-flex-wrap: wrap; flex-wrap: wrap; }
	.p-archive03__sort-filter { width:100%; }
	.p-archive03__sort-filter__item-title { font-size: 14px; height: 48px; padding-left: 20px; padding-right: 20px; }
	.p-archive03__sort-filter__item-title::after { right: 18px; }
	.p-archive03__sort-filter__item-dropdown li a, .p-archive03__sort-filter__item-dropdown li span { font-size:12px; }
}
@media (max-width: 599px) {
	.p-archive03__sort-filter__item-title { padding-left: 5px; padding-right: 5px; text-align: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;	}
	.p-archive03__sort-filter__item-title::after { display: none; }
	.p-archive03__sort-filter.has-3items .p-archive03__sort-filter__item:nth-child(3) { position: static; }
	.p-archive03__sort-filter.has-3items .p-archive03__sort-filter__item:nth-child(3) .p-archive03__sort-filter__item-dropdown { left: auto; right: -1px; }
}

/* 在庫フィルター */
.p-archive03__sort-filter--stock { font-size:16px; }
.p-archive03__sort-filter--stock-label { cursor: pointer; }
.p-archive03__sort-filter--stock-icon { width:20px; height:20px; background: #eeeeee; }
.is-active > .p-archive03__sort-filter--stock-icon { background:#000; }
.is-active > .p-archive03__sort-filter--stock-icon:before {
	content:'\e876'; font-family: 'design_plus'; color:#fff;
}
.p-archive03__sort-filter--stock-name { display:block; margin-left:10px; }
@media not all and (max-width: 767px) {
	.p-archive03__sort-filter--stock { white-space: nowrap; height:60px; margin-left:20px; }
}
@media (max-width: 767px) {
	.p-archive03__sort-filter--stock { font-size:14px; margin-top:20px; }
}

/* ----------------------------------------------------------------------
 商品詳細ページ
---------------------------------------------------------------------- */

.p-single-product {}

/* ヘッダー */
.p-single-product__header {}
.p-single-product__header-info { width:calc(50% - 25px); }
.p-single-product__header-category {}
.p-single-product__header-title { font-size:28px; font-weight:600; line-height:2; margin:calc(20px - 0.5em) 0 -0.5em; }
.p-single-product__header .p-wc-rating { margin-top:20px; }
.p-single-product__header-price { font-size:22px; margin-top:20px; }
.p-single-product__header-price--type2 .woocommerce-Price-currencySymbol,
.p-single-product__header-price--type2 .woocommerce-price-suffix { font-size:14px; }
.p-single-product__header-expert { margin:50px 0; }
.p-single-product__header--sp { display:none; }

@media (max-width: 767px) {
	.p-single-product__header--sp { display:block; width:100%; padding:0 0 20px; margin-top:-20px; }
	.p-single-product__header--pc { display:none; }
	.p-single-product__header-title { font-size:20px; line-height:1.5; margin:calc(15px - 0.25em) 0 -0.25em; }
	.p-single-product__header .p-wc-rating { margin-top:15px; }
	.p-single-product__header-price { font-size:16px; margin-top:15px; }
}

/* カート */
.p-single-product__header-cart { font-size:14px; line-height:2; margin-top:50px; }
.p-single-product__header-cart__button { margin-top:50px; }

/* いいね */
.p-single-product__header-like__button:before { content:"\e94f"; font-family: 'design_plus'; color:rgba(var(--tcd-accent-color, 0,0,0),1); margin-right:0.5em; }
.p-single-product__header-like__button.is-liked:before { content:"\e94d"; }
.p-single-product__header-like__button.is-liked .p-single-product__header-like__button--add,
.p-single-product__header-like__button:not(.is-liked) .p-single-product__header-like__button--delete { display:none; }

/* new */
.p-single-product__header-like__button { font-size:16px; font-weight:600; transition:opacity 0.5s ease; }
@media (hover: hover) and (pointer: fine) {
	.p-single-product__header-like__button:hover { opacity:0.5; }
}
@media not all and (max-width: 1238px) {
	.p-single-product__header-like { width:280px; height:60px; display:inline-flex; align-items: center; padding:0 20px; }
	.p-single-product__header-like__button { }
}
@media (max-width: 1238px) {
	.p-single-product__header-like { width:100%; margin-top:30px; }
	.p-single-product__header-like__button { width:280px; }
}
@media (max-width: 767px) {
	.p-single-product__header-like { margin-top:20px; }
	.p-single-product__header-like__button { width:240px; font-size:14px; margin:0 auto; }
}

/* 在庫切れボタン */
.p-entry-product__cart > .out-of-stock, .c-button--soldout {
	display: inline-block; width:280px; height:60px; line-height:60px; border-radius:60px; background:#bbb;
	font-size:16px; font-weight:600; text-align: center; color:#fff; margin:50px 0 0!important;
}
@media (max-width: 767px) {
	.p-entry-product__cart > .out-of-stock, .c-button--soldout {
		width: 260px; font-size: 14px; height: 50px; line-height: 50px;
	}
}
/* 基本的な商品 */
.p-single-product__header-cart__button--simple + .c-button--soldout { display:none; }
.product-type-simple .p-entry-product__cart > .out-of-stock { margin-top:0px!important; }
@media (max-width: 767px) {
	.product-type-simple .p-single-product__header-cart { text-align: center; }
}

/* バリエーション 在庫切れ対策 */
.p-single-product__header-cart__button.wc-variation-is-unavailable { display:none; }
.p-single-product__header-cart__button--variation + .c-button--soldout { display:none; }
.p-single-product__header-cart__button.wc-variation-is-unavailable + .c-button--soldout { display:inline-block; margin-top:50px; }

/* グループ化 */
.woocommerce-grouped-product-list-item__quantity > .out-of-stock { margin:0; color:grey; }
.woocommerce-grouped-product-list-item__quantity > .p-single-product__header-like { display:none!important; }
.p-single-product__header-cart__button--grouped + .c-button--soldout { display:none; }

/* グループ商品 */
.p-entry-product__cart .woocommerce-grouped-product-list-item__quantity .qty {
	width: 60px; height: 1em; padding: 0; border: none;
}
@media (max-width: 767px) {
	.p-single-product__header-cart > .grouped_form { text-align: center; }
	.p-single-product__header-cart .woocommerce-grouped-product-table-wrap {
		white-space: nowrap; overfrow:auto hidden;
		overflow: auto hidden;
    padding: 0 20px;
    width: calc(100% + 40px);
    margin-left: -20px;
		text-align: left;
	}
}

/* バリエーション */
.p-single-product__header-cart .woocommerce-variation-add-to-cart { margin-top:20px; }
@media (max-width: 767px) {
	.p-single-product__header-cart .woocommerce-variation-add-to-cart { text-align: center; }
	.product-type-variable .p-entry-product__cart > .out-of-stock, .c-button--soldout { margin-top:20px!important; }
}

/* 外部商品 */
.p-single-product__header-cart__button--external { margin-top:0!important; }
.p-single-product__header-cart__button--external ~ .c-button--soldout { display:none; }
@media (max-width: 767px) {
	.product-type-external .p-entry-product__cart > .cart { text-align: center; }
}

/* いいねボタン */
@media (max-width: 767px) {
	.p-single-product__header-expert { margin:0; }
	.p-single-product__header-cart { margin-top:0px; }
	.woocommerce-product-details__short-description + .p-single-product__header-cart { margin-top:40px; }
	.p-single-product__header-cart > .product-type-simple { display:flex; flex-direction: column; align-items: center; }
	.p-single-product__header-cart .quantity {  }
	.single_product_info { width:100%; margin-top:40px; }
	.p-single-product__header-cart__button { margin-top:20px; }
	.single_product_cart > .out-of-stock { width:260px; font-size:14px; height:50px; line-height:50px; margin:40px auto 0; }
}


/* ----------------------------------------------------------------------
 商品詳細ページ - ギャラリー
---------------------------------------------------------------------- */

/* スクロール */
@media not all and (max-width: 767px) {
	.p-entry-product__images-inner { position: -webkit-sticky; position: sticky; }
}
.p-entry-product__images { width:calc(50% - 25px); margin-right:50px; position: relative; }
.p-entry-product__images-inner { top:130px; }
.p-entry-product__mainimage { position: relative; padding-top:100%; overflow: hidden; background:#eeeeee; }
.p-entry-product__mainimage-wrapper { position: absolute; top:0; left:0; width:100%; height:100%; }
.p-entry-product__mainimage-normal { display: block; max-width:100%; max-height:100%; height: auto; width: auto; position: absolute; inset:0; margin:auto; }
.p-entry-product__mainimage-zoom { opacity: 0; pointer-events: none; visibility: hidden; position: absolute; bottom: 0; left: 0; right: 0; top: 0; z-index: 3; -webkit-overflow-scrolling: touch; }
.p-entry-product__mainimage-zoom-image { display: block; height: auto; max-width: none !important; width: 200%; }
.p-entry-product__mainimage--youtube-bg {
	position: absolute; top: 50%; left: 0; transform: translateY(-50%);
	width: 100%; padding-top: 56.25%; overflow: hidden; background: #000;
}
.p-entry-product__mainimage--video-bg { width:100%; }
.p-entry-product__mainimage--youtube-bg iframe {
	position:absolute; top:0; right:0; width:100%; height:100%;
}

.p-entry-product__subimages { position: relative; }
.p-entry-product__subimages-inner {
	display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
	-ms-flex-wrap: wrap; flex-wrap: wrap; margin-left: -15px;
}
.p-entry-product__subimage { width:calc(20% - 15px); margin:15px 0 0 15px; background:#eee; position:relative; }
.p-entry-product__subimage:last-child { margin-right: 0; }
.p-entry-product__subimage-inner { cursor: pointer; background-position: center center; background-repeat: no-repeat; background-size: cover; display: block; padding-top: 100%; }

/* モーダル */
.p-entry-product__mainimage-zoom-modal-icon {
	width:50px; height:50px; background:#fff; color:#000; border-radius:50%;
	position: absolute; bottom:20px; right:20px; z-index:3;
}
body.is-watermark-active:not(.is-watermark-loaded) .p-entry-product__mainimage-zoom-modal-icon { display:none; }

@media (max-width: 1024px) {
	.p-entry-product__images-inner { top:100px; }
}
@media (max-width: 767px) {
	.p-entry-product__images { min-width:calc(100% + 40px); width:calc(100% + 40px); margin-left:-20px; margin-right:0; }
	.p-entry-product__subimage { -webkit-flex: 0 0 75px; -ms-flex: 0 0 75px; flex: 0 0 75px; }
	.p-entry-product__subimages-inner { margin-left:5px; }
	.p-entry-product__mainimage-zoom-modal-icon { display:none; }
}
@media not all and (max-width: 700px) {
	.p-entry-product__subimages-inner { overflow:initial; }
}
@media (max-width: 700px) {
	.p-entry-product__subimages-inner {
		flex-wrap: nowrap;
	}
}


/* ----------------------------------------------------------------------
 商品詳細ページ - 商品画像モーダル
---------------------------------------------------------------------- */

body.is-fixed { position:fixed; top:0; left:0; }

.p-product-image-modal { width:100%; height:100%; position: fixed; top:0; left:0; z-index:9999; }
.p-product-image-modal:not( .is-active ) { display:none; }
.p-product-image-modal__content { width:100%; height:100%; }
.p-product-image-modal__content-inner { width:calc( 100% - 160px ); position: relative; }
.p-product-image-modal__overlay { position: absolute; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.8); }
.p-product-image-modal--close { position: absolute; top:20px; right:20px; z-index:1; font-size:30px; color:#fff; width:50px; height:50px; transition:color 0.3s ease; }

/* slider */
.p-product-image-modal__slider {  }
.p-product-image-modal__slider-inner {  }
.p-product-image-modal__slider-item { height:70vh; position: relative; }
.p-product-image-modal__slider-image { max-width:100%; max-height:100%; position: relative; z-index:1; }
.p-product-image-modal__slider-overlay { position: absolute; top:0; left:0; width:100%; height:100%; }

/* arrow */
.p-product-image-modal__slider-arrow .c-arrow-prev:after,
.p-product-image-modal__slider-arrow .c-arrow-next:after { font-size:30px; color:#fff; }
.p-product-image-modal__slider-arrow .c-arrow-prev { left:-60px; }
.p-product-image-modal__slider-arrow .c-arrow-next { right:-60px; }
.p-product-image-modal__slider-arrow .c-arrow-prev,
.p-product-image-modal__slider-arrow .c-arrow-next {
	cursor: pointer; transition: opacity 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
	.p-product-image-modal--close:hover { color:rgba(255, 255, 255, 0.5); }
	.p-product-image-modal__slider-arrow .c-arrow-prev:hover,
	.p-product-image-modal__slider-arrow .c-arrow-next:hover {
		opacity:0.5;
	}
}

@media (max-width: 767px) {
	.p-product-image-modal__content-inner { width:calc( 100% - 100px ); }
	.p-product-image-modal__slider-arrow .c-arrow-prev { left:-50px; }
	.p-product-image-modal__slider-arrow .c-arrow-next { right:-50px; }
}

/* ----------------------------------------------------------------------
 商品詳細ページ - 本文
---------------------------------------------------------------------- */

.p-single-product__content { margin-top:70px; }
@media (max-width: 767px) {
	.p-single-product__content { margin-top:40px; }
}

/* ----------------------------------------------------------------------
 ショートコード
---------------------------------------------------------------------- */

.post_content div.woocommerce + * { margin-top:70px; }


/* ----------------------------------------------------------------------
 関連商品
---------------------------------------------------------------------- */
.p-single-product__section { margin-top:70px; }
.p-single-product__section-headline { font-size:26px; text-align: center; font-weight:600; line-height:2; margin:-0.5em 0 calc(70px - 0.5em); }
@media (max-width: 767px) {
	.p-single-product__section { margin-top:40px; }
	.p-single-product__section-headline { font-size:20px; margin-bottom:calc(40px - 0.5em); }
}
.p-product-carousel__list { padding:0 25px; position: relative; }
.p-product-carousel .p-product-item { width:calc( (100% - 60px) / 4 ); margin-right:20px; }

/* アロー */
.p-product-carousel__arrow { top:102.5px; margin:0; width:60px; height:60px; border-radius:60px; background:#fff; box-shadow: 0px 0px 15px -5px rgba(0,0,0,0.5); }
.p-product-carousel__arrow:after { font-size:14px; color:#000; transition:color 0.2s ease; }
.p-product-carousel__arrow.swiper-button-prev { left:-5px; }
.p-product-carousel__arrow.swiper-button-next { right:-5px; }

@media (hover: hover) and (pointer: fine) {
	.p-product-carousel__arrow:hover:after { color:#ccc; }
	.p-product-image-modal__slider-arrow .c-arrow-prev:hover,
	.p-product-image-modal__slider-arrow .c-arrow-next:hover { opacity:0.5; }
}
@media (max-width: 1024px) {
	.p-product-carousel .p-product-item { width:calc( (100% - 40px) / 3 ); }
}
@media (max-width: 767px) {
	.p-product-carousel__list { padding:0; }
	.p-product-carousel__list { width: calc(100% + 40px); margin-left: -20px; }
	.p-product-carousel .p-product-item { width:calc( (100% - 30px) / 3 ); margin-right:15px; }
	.p-product-carousel__arrow { display:none; }
}

/* ----------------------------------------------------------------------
 クロスセル
---------------------------------------------------------------------- */
.p-cross-sells .p-product-item__category { line-height:1; }
.p-cross-sells .p-product-item__title { font-size:16px; line-height:1.6; margin:-0.3em 0; }
.p-cross-sells .p-product-item__price { margin-bottom:-0.2em; }


/* ----------------------------------------------------------------------
 商品ページ - チェックした商品一覧
---------------------------------------------------------------------- */

.p-recentry-viewed-products {}
.p-recentry-viewed-products__headline {}
.p-recentry-viewed-products__list {}
.p-recentry-viewed-products .p-product-item { width:180px; min-width:180px; margin-right:20px; }
.p-recentry-viewed-products .p-product-item__content { border:none; padding:20px 0 0 0; }
.p-recentry-viewed-products .p-product-item__title { font-size:14px; }
.p-recentry-viewed-products .p-product-item__price { font-size:14px; }
.p-recentry-viewed-products .p-wc-rating { display: none!important; }
.p-recentry-viewed-products .c-triangle { display:none; }
@media not all and (max-width: 1240px) {
	.p-recentry-viewed-products__list { overflow: initial; }
}
@media (max-width: 1240px) {
	.p-recentry-viewed-products__list { width: calc(100% + 60px); margin-left: -30px; padding: 0 30px; }
	.p-recentry-viewed-products .p-product-item:last-child { margin-right:0; }
}
@media (max-width: 767px) {
	.p-recentry-viewed-products__list { width: calc(100% + 40px); margin-left: -20px; padding: 0 20px; }
	.p-recentry-viewed-products .p-product-item { width:120px; min-width:120px; margin-right:15px; }
	.p-recentry-viewed-products .p-product-item__content { padding:15px 0 0 0; }
}

/* ----------------------------------------------------------------------
 商品詳細ページ - フッターバー
---------------------------------------------------------------------- */

.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 { -webkit-justify-content:space-between; 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:rgba(var(--tcd-accent-color, 0,0,0),1); 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-like-message-wrapper { bottom:30px; }
	.p-product-footer-bar.is-active ~ .p-product-like-message-wrapper { bottom:90px; }
}


/* ----------------------------------------------------------------------
 商品詳細ページ - タブ
---------------------------------------------------------------------- */

/* タブ全体 */
.p-single-product__tabs { width: 100vw; margin: 70px calc(50% - 50vw) 0; padding:70px 0; background: rgba(var(--tcd-bg-color, 246, 246, 246),1); }
.p-single-product__tabs-inner { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.p-single-product__tabs-item { width:calc(50% - 25px); }
.p-single-product__tabs-item:only-child { width:100%; }
@media (max-width: 1024px) {
	.p-single-product__tabs-item { width:100%; }
	.p-single-product__tabs-item + .p-single-product__tabs-item { margin-top:40px; }
}
@media (max-width: 767px) {
	.p-single-product__tabs { padding:40px 0; margin-top:40px; }
	.p-single-product__tabs-item + .p-single-product__tabs-item { margin-top:20px; }
}

/* タブ */
.wc-tabs-wrapper { font-size: 16px; }
.wc-tabs { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; margin: 0 0 -1px 0; padding: 0; position: relative; }
.wc-tabs li { color:rgba(var(--tcd-accent-color, 0,0,0),1); font-weight:600; background: #fff; border-color: #ddd; border-style: solid; border-width: 1px 0 1px 1px; line-height: 2; margin: 0; padding: 0; word-break: break-all; -webkit-flex: 0 1 50%; -ms-flex: 0 1 50%; flex: 0 1 50%; }
.wc-tabs li:last-child { border-right-width: 1px; }
.wc-tabs li.active { border-bottom-color: #fff; }
.wc-tabs li:only-child { font-size:18px; font-weight:600; -webkit-flex: 0 1 100%; -ms-flex: 0 1 100%; flex: 0 1 100%; border-bottom-color: #ddd; }
.wc-tabs li a { color: inherit; cursor: pointer; display: block; height: 60px; line-height:60px; margin: 0; padding: 0 30px; text-align: center; }
.wc-tab { background: #fff; border: 1px solid #ddd; display: none; margin: 0; padding: 40px; }
.reviews_tab_count {
	display : -webkit-inline-box; display : -ms-inline-flexbox; display : -webkit-inline-flex; display : inline-flex;
	-webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
	min-width:24px; height:24px; border-radius: 24px; font-size:12px; margin-left:5px; padding:0 4px; font-weight:normal;
	background:rgba(var(--tcd-accent-color, 0, 0, 0),1); color:#fff; position:relative; top:-0.2em;
}

@media not all and (max-width: 1024px) {
	.wc-tab { min-height:calc(100% - 60px); }
}

@media (max-width: 767px) {
	.wc-tabs-wrapper { font-size: 14px; }
	.wc-tabs li { font-size:14px; }
	.wc-tabs li { -webkit-flex: 0 1 100%; -ms-flex: 0 1 100%; flex: 0 1 100%; }
	.wc-tabs li a { height:50px; line-height:50px; padding:0 20px; }
	.wc-tab { padding:20px; }
	.woocommerce-Tabs-panel--description .post_content { font-size:14px; }
}

/* ----------------------------------------------------------------------
 トップページ - 追加情報タブ
---------------------------------------------------------------------- */

.woocommerce table.wc-tab__attributes-table { border-top:none; margin:-20px 0; }
.woocommerce table.wc-tab__attributes-table tr:not(:last-child) { border-bottom:1px solid #ddd; }
.woocommerce table.wc-tab__attributes-table th { width:auto; padding:20px 70px 20px 0; border:none; text-align: left; white-space: nowrap; }
.woocommerce table.wc-tab__attributes-table th span { display:block; font-weight:600; line-height:1.6; margin:-0.3em 0; }
.woocommerce table.wc-tab__attributes-table td { width:100%; font-style: normal; border:none; padding:20px 0; }
.woocommerce table.wc-tab__attributes-table td p { padding:0; line-height:1.6; margin:-0.3em 0; }
.woocommerce table.shop_attributes tr:nth-child(even) td, .woocommerce table.shop_attributes tr:nth-child(even) th { background:none; }

/* タグ */
.woocommerce-product-attributes-item--tag th { vertical-align: top; }
.woocommerce-product-attributes-item__tag-list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin:-5px 0px 0px -5px; }
.woocommerce-product-attributes-item__tag-list a {
	display:block; min-width:60px; height:30px; line-height:29px; padding:0 10px; background: #fff; border:1px solid #ddd; border-radius: 5px;
	font-size:12px; color:#000; text-align: center; margin:5px 0px 0px 5px; transition-property: color, background, border-color;
}
@media (hover: hover) and (pointer: fine) {
	.woocommerce-product-attributes-item__tag-list a:hover { color:#fff; background:rgba(var(--tcd-accent-color, 0,0,0),1); border: 1px solid rgba(var(--tcd-accent-color, 0,0,0),1); }
}
@media (max-width: 767px) {
	.woocommerce table.wc-tab__attributes-table { margin:-15px 0; }
	.woocommerce table.wc-tab__attributes-table tr { display:block; padding:15px 0; }
	.woocommerce table.wc-tab__attributes-table th { display:block; width:100%; padding:0; white-space: normal; }
	.woocommerce table.wc-tab__attributes-table td { display:block; width:100%; padding:0; margin-top:6px; }
}


/* ----------------------------------------------------------------------
 商品詳細ページ - レビュー
---------------------------------------------------------------------- */

/* レビュー */
.p-single-review { border:1px solid #ddd; background:#fff; }
.p-single-review__label { font-size:16px; font-weight:600; color:rgba(var(--tcd-accent-color, 0,0,0),1); text-align: center; height:60px; line-height: 60px; border-bottom:1px solid #ddd; }

/* レビューリスト */
#reviews .close_comment_form { display:none; }
#reviews #comments:empty { margin:0; }
#reviews #comments.p-single-review__list { max-height:340px; margin:0; overflow: hidden auto; border-bottom:1px solid #ddd; }
#reviews #comments.p-single-review__list ol { padding:40px; }
#reviews #comments.p-single-review__list ol.commentlist li { background:#f6f6f6; padding:30px; margin:0; border-radius:10px; }
#reviews #comments.p-single-review__list ol.commentlist li + li { margin-top:20px; }
#reviews #comments.p-single-review__list ol.commentlist li .comment-text {
	border: none; border-radius: 0; margin: 0; padding: 0; display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap: wrap; flex-wrap: wrap;
}
#reviews #comments.p-single-review__list ol.commentlist li .comment-text p.meta { font-size: 12px; margin:0; color:#000; }
#reviews #comments.p-single-review__list ol.commentlist li .star-rating { font-size: 12px; margin-right:10px; }
#reviews #comments.p-single-review__list ol.commentlist li .woocommerce-review__published-date { 
	display:inline-block; padding-left:10px; position:relative; margin-left:6px; border-left:1px solid #000;
}
#reviews #comments.p-single-review__list ol.commentlist li .woocommerce-review__author { display:inline-block; font-weight: 400; }
#reviews #comments.p-single-review__list ol.commentlist li .description { width:100%; clear: both; line-height: 2; margin:calc(20px - 0.5em) 0 -0.5em;  }
#reviews #comments.p-single-review__list ol.commentlist li .description p:last-child { margin-bottom: 0; }

/* ページャー */
.p-pager-reviews { text-align: center; font-family: Arial; margin-bottom:30px; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
.p-pager-reviews .p-pager__item { margin-top:-20px; }
.p-pager-reviews .p-pager__item .page-numbers { display:block; min-width: 50px; height: 60px; line-height: 60px; font-size: 14px; text-align: center; border-bottom: 4px solid transparent; }
.p-pager-reviews .p-pager__item .current { border-color: rgba(var(--tcd-accent-color, 0, 0, 0),1); }
.p-pager-reviews .p-pager__item .prev, .p-pager-reviews .p-pager__item .next { display:none; }
.p-pager-reviews .p-pager__item a { transition:border-color 0.3s ease; }

@media (hover: hover) and (pointer: fine) {
	.p-pager-reviews .p-pager__item a:hover { border-color:#ddd; }
}
@media (max-width: 767px) {
	.p-single-review__label { font-size:14px; height:50px; line-height:50px; }
	#reviews #comments.p-single-review__list { max-height:240px; }
	#reviews #comments.p-single-review__list ol { padding:20px; }
	#reviews #comments.p-single-review__list ol.commentlist li { padding:20px; }
	#reviews #comments.p-single-review__list ol.commentlist li .description { font-size:14px; }
}

@media (max-width: 499px) {
	#reviews #comments.p-single-review__list ol.commentlist li .comment-text p.meta { width:100%; margin-top:10px; }
}


/* ----------------------------------------------------------------------
 商品詳細ページ - レビューフォーム
---------------------------------------------------------------------- */

#review_form_wrapper { padding:40px; }
#reply-title { display:block; text-align:center; font-size:20px; font-weight:600; line-height:1.6; margin:-0.3em 0 calc(20px - 0.3em); }
body:not(.logged-in) #reply-title { display:none; }

#commentform .logged-in-as { display:none; }
#review_form #commentform .comment-form-rating > label { display:block; padding:1px 0; }
#review_form #commentform .comment-form-rating label p { text-align: center; line-height:2; margin:-0.5em 0 calc(20px - 0.5em); }

/* スター */
.comment-form-rating-radios { font-size:0; text-align:center; }
.comment-form-rating-radios input { display: none; }
.comment-form-rating-radios label {
	cursor: pointer; display: inline-block; padding:0 2px; line-height:1;
	-webkit-transition: opacity 0.2s ease; -moz-transition: opacity 0.2s ease; -ms-transition: opacity 0.2s ease; transition: opacity 0.2s ease;
}
.comment-form-rating-radios label::before { font-family: star; font-size: 12px; }
.comment-form-rating-radios label span { display: none; }
/* レビューの星の色 */
.star-rating, .star-rating:before, .comment-form-rating-radios label::before { color:orange!important; }
.comment-form-rating-radios label::before { font-size: 20px; content: "\73"; }
/* ホバー時のエフェクト */
@media (hover: hover) and (pointer: fine) {
	.comment-form-rating-radios label.select:before { content: "\53"; }
	.comment-form-rating-radios label.unselect { opacity:0.4; }
}
.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"; }

/* レビュー投稿フォーム */
#review_form #commentform p.comment-form-comment { max-width:600px; margin:30px auto; }
#review_form #commentform .comment-form-comment label { display:block; margin-bottom:10px; }
#review_form #commentform .comment-form-comment textarea { min-height:10em; padding:10px; border: 1px solid #ddd; }
.woocommerce #review_form #respond .form-submit { text-align:center; margin:0; }
/* ログアウト時 */
.woocommerce #review_form #respond .must-log-in { font-size:16px; line-height:2; margin:-0.5em 0; text-align:center; }
.woocommerce #review_form #respond .must-log-in a { color:rgba(var(--tcd-accent-color, 0,0,0),1); }
@media (hover: hover) and (pointer: fine) {
	.woocommerce #review_form #respond .must-log-in a:hover { text-decoration: underline; }
}
@media (max-width: 767px) {
	#review_form_wrapper { padding:20px; }
	#reply-title { font-size:16px; margin-bottom:calc(30px - 0.7em); }
	#review_form #commentform p.comment-form-comment { margin:20px auto; }
	#review_form #commentform .comment-form-rating label p { line-height:2; }

	/* ログアウト時 */
	.woocommerce #review_form #respond .must-log-in { font-size:14px; line-height:1.8; margin:-0.4em 0; }
}

/* ----------------------------------------------------------------------
	商品CTA
---------------------------------------------------------------------- */

/* 共通 */
.p-product-cta { background:#f6f6f6; padding:50px; margin-top:50px; }
.p-product-cta .p-ranking__item { opacity:1; }
.p-product-cta .p-product-item__buttons-item { width:35px; height:35px; }
.p-product-cta .p-product-item__like-button,
.p-product-cta .p-product-item__cart-button { font-size:16px; }
@media (max-width: 767px) {
	.p-product-cta { width:calc(100% + 40px); margin-left:-20px; padding:40px 20px; margin-top:40px; }
}

/* type A */
.p-product-cta--type1 .p-ranking__labels-inner { transform:translateY(0); }
@media not all and (max-width: 767px) {
	.p-product-cta--type1 .p-ranking__image { width:220px; height:220px; }
	.p-product-cta--type1 .p-ranking__content { width:calc(100% - 220px); border:none; }
	.p-product-cta--type1 .p-ranking__desc--pc { padding:20px 30px; }
	.p-product-cta--type1 .p-ranking__desc--pc-wrapper { font-size:14px; }
	.p-product-cta--type1 .p-ranking__labels--cart { width:220px; }
	.p-product-cta--type1 .p-ranking__labels--outofstock { width:220px; }
}
@media (max-width: 767px) {
	.p-product-cta--type1 .p-ranking__item:first-of-type { margin-top:0; }
	.p-product-cta--type1 .p-ranking__item:not(:first-of-type) { margin-top:20px; }
	.p-product-cta--type1 .p-ranking__item:last-of-type { margin-bottom:0; }
	.p-product-cta--type1 .p-ranking__link { width:100%; border:none; margin:0; }
	.p-product-cta--type1 .p-ranking__image { width:120px; height:120px; }
	.p-product-cta--type1 .p-ranking__content { width:calc(100% - 120px); }
	.p-product-cta--type1 .p-ranking__labels--cart { width:100px; left:20px; top:85px; display:none; }
	.p-product-cta--type1 .p-ranking__labels--outofstock { width:100px; bottom: initial; left: 20px; top: 85px; }
	.p-product-cta--type1 .p-product-item__outofstock { height:35px; line-height:35px; }
}

/* type B */
.p-product-cta--type2 {}
.p-product-cta--type2 .p-product-loop { margin:0 0 0 -40px; -ms-flex-wrap: nowrap; flex-wrap: nowrap; }
.p-product-cta--type2 .p-product-item { width: calc(100% / 3 - 40px); margin: 0 0 0 40px; }
.p-product-cta--type2 .p-product-item__content { border:none; padding:20px 0 0; }
.p-product-cta--type2 .p-product-item .p-wc-rating { display:none!important; }
.p-product-cta--type2 .p-product-item__buttons { transform:translateY(0); margin-top:-35px; }
.p-product-cta--type2-button { text-align: center; margin-top:50px; }
@media (max-width: 767px) {
	.p-product-cta--type2 {}
	.p-product-cta--type2-list {  }
	.p-product-cta--type2 .p-product-loop { margin:0 0 0 -15px; }
	.p-product-cta--type2 .p-product-item { min-width:120px; width: calc(100% / 3 - 15px); margin: 0 0 0 15px; }
	.p-product-cta--type2 .p-product-item__content { padding:15px 0 0; }
	.p-product-cta--type2 .p-product-item__title { height:auto; max-height:3.2em; }
	.p-product-cta--type2 .p-product-item__outofstock { font-size:12px; height:35px; line-height:35px; margin-top:-35px; }
	.p-product-cta--type2 .p-product-item__buttons { display:none; }
	.p-product-cta--type2-button { margin-top:40px; }
}
@media not all and (max-width: 420px) {
	.p-product-cta--type2 .p-product-loop { overflow:inherit; }
}
@media (max-width: 420px) {
	.p-product-cta--type2 .p-product-loop { margin:0 0 0 -20px; width: calc(100% + 40px); padding: 0 0 0 5px;	}
	.p-product-cta--type2 .p-product-item { width:120px; }
}

/* ----------------------------------------------------------------------
	ヘッダーメンバーメニュー
---------------------------------------------------------------------- */

/* ヘッダー */
.p-header-member { height:100%; }
.p-header-member__item { height:100%; }
.p-header-member__item-link { width:40px; height:100%; position: relative; }
.p-header-member__item-icon { font-size:20px; }
.p-header-member__item-badge:not(:empty) {
	font-size:12px; color:#fff; width:18px; height:18px; border-radius:50%;
	position: absolute; top: 15px; right: 0;
}
@media (hover: hover) and (pointer: fine) {
	.p-header-member__item-link:hover { color:rgba(var(--tcd-accent-color, 0,0,0),1); }
}
@media (max-width: 1240px) {
	.p-header-member__item--wishlist, .p-header-member__item--mypage { display:none; }
}

/* ドロワー */
.p-drawer-menu__member {}
.p-drawer-menu__member-list { }
.p-drawer-menu__member-item { width:100%; }
.p-drawer-menu__member-item-link { height:50px; padding:0 20px; }
.p-drawer-menu__member-item-icon { font-size:18px; margin-right:10px; }
.p-drawer-menu--dark .p-drawer-menu__member-item + .p-drawer-menu__member-item a { border-left:1px solid #333; }
.p-drawer-menu--light .p-drawer-menu__member-item + .p-drawer-menu__member-item a { border-left:1px solid #ddd; }


/* ----------------------------------------------------------------------
 ヘッダーログイン
---------------------------------------------------------------------- */
.p-header-memberbox {
	visibility: hidden; opacity: 0; font-size: 14px; text-align: center;
	position: absolute; right: 0; top: calc(100% + 1px);  width: 340px; z-index: 999;
	transition: opacity 0.2s ease, visibility 0.2s ease;
}
@media (hover: hover) and (pointer: fine) {
	.p-header-memberbox.is-active, .p-header-memberbox:hover { opacity: 1; visibility: visible; }
}
.p-header-memberbox .c-button { width:100%; height:50px; }
.p-header-memberbox__login { padding: 30px 30px 20px; }
.p-header-memberbox__login p { margin: 0 0 20px }
.p-header-memberbox__login > :last-child, .p-header-memberbox__login form > :last-child { margin-bottom: 0; }
.p-header-memberbox__login-input { border: none; height: 50px; border-radius:50px; padding: 0 20px; width: 100%; }
.p-header-memberbox__login-lostpassword > a { color:inherit; }
.p-header-memberbox__registration { border-top: 1px solid; padding: 20px 30px 30px; text-align: center; }

@media (max-width: 1024px) {
	.p-header-memberbox { display: none !important; }
}

/* ライトカラー */
.is-header-type--light .p-header-memberbox { background: #fff; color:#000; border:1px solid #ddd; border-top:none; }
.is-header-type--light .p-header-memberbox .p-header-memberbox__registration { border-color:#ddd; }
.is-header-type--light .p-header-memberbox .p-header-memberbox__login-input { background:#eee; }

/* ダークカラー */
.is-header-type--dark .p-header-memberbox { background: #000; color:#fff; }
.is-header-type--dark .p-header-memberbox .p-header-memberbox__registration { border-color:#2e2e2e; }



/* ----------------------------------------------------------------------
 ヘッダーカート
---------------------------------------------------------------------- */

/* 非表示 */
.p-header-view-cart .woocommerce.widget_shopping_cart .cart_list li a.remove { display: none; }
.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 {
	opacity: 0; visibility: hidden;
	position: absolute; right: 0; top: calc(100% + 1px); z-index: 998;
	width: 340px; font-size: 14px;
	transition-property: opacity, visibility; transition-duration: 0.2s; transition-timing-function: ease-out;
}
@media (hover: hover) and (pointer: fine) {
	.p-header-view-cart.is-active, .p-header-view-cart:hover { opacity: 1; visibility: visible; }
}
/* カートアイテム */
.p-header-view-cart .woocommerce.widget_shopping_cart .cart_list li {
	line-height: 1.6; padding: 20px 30px; border-bottom:1px solid;
}
.p-header-view-cart .woocommerce.widget_shopping_cart ul.cart_list li a { color:inherit; font-weight:500; }
@media (hover: hover) and (pointer: fine) {
	.p-header-view-cart .woocommerce.widget_shopping_cart ul.cart_list li a:hover { color:rgba(var(--tcd-accent-color, 0,0,0),1); }
}
.p-header-view-cart .woocommerce.widget_shopping_cart ul.cart_list li img {
	float: left; margin: 0 20px 0 0; width: 70px; height: 70px; object-fit: cover;
}
.p-header-view-cart .woocommerce.widget_shopping_cart ul.cart_list li .quantity  { opacity:0.5; }

/* ライトカラー */
.is-header-type--light .p-header-view-cart { background: #f6f6f6; color: #000; border:1px solid #ddd; border-top:none; }
.is-header-type--light .p-header-view-cart .woocommerce.widget_shopping_cart .cart_list li { border-bottom-color:#ddd; }

/* ダークカラー */
.is-header-type--dark .p-header-view-cart { background:#000; color:#fff; }
.is-header-type--dark .p-header-view-cart .woocommerce.widget_shopping_cart .cart_list li { border-bottom-color:#2e2e2e; }

/* ボタン */
.p-header-view-cart .woocommerce-mini-cart__total.total { display:none; }
.p-header-view-cart .woocommerce-mini-cart__buttons.buttons { padding:20px 30px 30px; }
.p-header-view-cart .woocommerce-mini-cart__buttons.buttons .c-button { width:100%; height:50px; margin:0; }
.p-header-view-cart .woocommerce-mini-cart__buttons.buttons .c-button.checkout { margin-top:10px; }

/* 空のメッセージ */
.p-header-view-cart .woocommerce.widget_shopping_cart .woocommerce-mini-cart__empty-message { padding: 60px 20px; text-align: center; }

@media (max-width: 1240px) {
	.p-header-view-cart { display:none; }
}

/* ----------------------------------------------------------------------
 ウィッシュリスト
---------------------------------------------------------------------- */

.p-wishlist {}
.p-wishlist__headline { font-size:32px; line-height:1.6; font-weight:600; margin:-0.3em 0 calc(60px - 0.3em); text-align: center; }
.p-wishlist-loop { margin:-20px 0 0 -20px; }
.p-wishlist-loop .p-product-item { width:calc(100% / 4 - 20px); margin:20px 0 0 20px; }

/* 削除ボタン */
.p-wishlist__button-remove {
	background: transparent; border: none; cursor: pointer; display: block; font-family: "design_plus"; height: 40px; padding: 0; text-align: center; width: 40px;
	color:#000; border: 1px solid #ddd; border-radius:50%; margin-bottom:15px; transition:color 0.1s ease, border-color 0.1s ease;
}
@media (hover: hover) and (pointer: fine) {
	.p-wishlist__button-remove:hover { color:#ddd; }
}
/* レビュー */
.p-wishlist .p-wc-rating { display:none!important; }
.p-wishlist .p-product-item__labels { top:55px; }

/* カートボタン */
.p-wishlist__button-cart a { display:block; width:100%; min-width:auto; margin-top:20px; }
.p-wishlist__button-cart a:first-of-type { margin-top:-1px; }
.p-wishlist__button-cart a.added_to_cart {
	text-align:center; height:60px; line-height:60px;
	padding-top:0; color:#000; background:#fff; border:1px solid #000;
}
@media (hover: hover) and (pointer: fine) {
	.p-wishlist__button-cart a.added_to_cart:hover { color:#fff; background:rgba(var(--tcd-accent-color, 0, 0, 0),1); border-color:rgba(var(--tcd-accent-color, 0, 0, 0),1); }
}
/* 在庫切れ */
.outofstock .p-wishlist__button-cart a { background:#bbb; pointer-events:none; }

/* メッセージ */
.p-no-wishlist { display:none; text-align: center; line-height:2; margin:-0.5em 0; }
.p-wishlist__counter[data-count="0"] { margin-top:90px; }
.p-wishlist__counter[data-count="0"] ~ .p-wishlist-loop { margin:0; }
.p-wishlist__counter[data-count="0"] ~ .p-no-wishlist { display:block; }
.p-wishlist__counter[data-count="0"] ~ .c-pagination ~ .p-no-wishlist { display:none; }

@media (max-width: 767px) {
	.p-wishlist__headline { font-size:18px; margin-bottom:calc(30px - 0.3em); }
	.p-wishlist__button-cart a { font-size:14px; height:50px; line-height:50px; margin-top:10px; }
	.p-wishlist__button-cart a.added_to_cart { height:50px; line-height:50px; }
	.p-wishlist__button-remove { width:35px; height:35px; margin:0 0 10px -1px; }
	.p-wishlist__counter[data-count="0"] { margin-top:0; }
	.p-wishlist .p-product-item__labels { top:45px; }
}
@media (max-width: 599px) {
	.p-wishlist-loop { margin:-20px 0 0 -10px; }
	.p-wishlist-loop .p-product-item { width:calc(100% / 2 - 10px); margin:20px 0 0 10px; }
}


/* ----------------------------------------------------------------------
 ログインページ
---------------------------------------------------------------------- */

@media not all and (max-width: 767px) {
	.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register {
		height:calc(100% - 60px);
	}
}

/* ログインフォーム */
#wc-form-login { font-size:16px; }
#wc-form-login .p-login-page {
	-webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;
	-webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch;
}
#wc-form-login .p-login-page:before, #wc-form-login .p-login-page:after { display:none; }

#wc-form-login .p-login-page__headline { font-size:22px; text-align: center; line-height:1; margin-bottom:40px; }
#wc-form-login .p-login-page__form { margin:0; padding:30px; border-color:#ddd; }
#wc-form-login .p-login-page__form-parts { padding:0; }
#wc-form-login .p-login-page__form-remember { padding:0; margin:40px 0; line-height:1; }
#wc-form-login .p-login-page__form-remember-check { line-height:1; }
#wc-form-login .p-login-page__form-button { padding:0; margin-top:20px; text-align: center; }
#wc-form-login .p-login-page__form-lost-password { line-height:1; text-align: center; }
#wc-form-login .woocommerce-Input { background:#eee; border:none; border-radius: 50px; }
#wc-form-login .woocommerce-form-register .woocommerce-privacy-policy-text p { margin-bottom:20px; }

/* アイコン */
.woocommerce form .show-password-input, .woocommerce-page form .show-password-input {
	width: 3.5em; height: 50px; top: 0; right: 0;
	display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
	-webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; justify-content: center;
}
.woocommerce form .show-password-input::after, .woocommerce-page form .show-password-input::after {
	font-family: 'design_plus'; content: "\e92b"; margin:0; color:#4c4c4c;
}
.woocommerce form .show-password-input.display-password::after, .woocommerce-page form .show-password-input.display-password::after { color:#979797; }

@media (max-width: 1024px) {
	#wc-form-login .p-login-page__wrapper { width:100%; }
	#wc-form-login .p-login-page__wrapper--register { margin-top:40px; }
}
@media (max-width: 767px) {
	#wc-form-login .p-login-page { font-size:14px; }
	#wc-form-login .p-login-page__headline { font-size:18px; margin-bottom:20px; }
	#wc-form-login .p-login-page__form { padding:0; border:none; }
	#wc-form-login .woocommerce-Input { font-size: 16px; height:50px; }
	#wc-form-login .p-login-page__form-remember { margin:20px 0; text-align: center; }
	#wc-form-login .p-login-page__wrapper--register { margin-top:40px; }
	#wc-form-login .p-login-page__border { display:block; width:calc(100% + 40px); height:1px; background:#ddd; margin:0 0 40px -20px; }
}


/* ----------------------------------------------------------------------
 後から追加 詳細ページ
---------------------------------------------------------------------- */
.p-entry-product__cart p { margin-bottom: 10px; }
.p-entry-product__cart .itemGpExp { margin-bottom: 10px; }
.p-entry-product__cart > :last-child { margin-bottom: 0; }
.p-entry-product__cart-skuname {}
.p-entry-product__cart-prices { margin-bottom: 14px; }
.p-entry-product__price { font-weight: 600; }

.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"] { height: 50px; padding: 12px 16px; width: 100%; }
.p-entry-product__cart-option textarea { display: block; height: 8em; padding: 8px 12px; width: 100%; }
.p-entry-product__cart select { cursor: pointer; color:#000; background: transparent; border-radius: 0; height: 50px; padding: 12px 34px 12px 16px; max-width: 100%; min-width: 310px; -webkit-appearance: none; appearance: none; }
.p-entry-product__cart select::-ms-expand { display: none; }
.p-entry-product__cart-select-wrapper { display: inline-block; position: relative; }
.p-entry-product__cart-select-wrapper::after { content: "\e90e"; font-family: "design_plus"; line-height: 50px; pointer-events: none; position: absolute; right: 17px; top: 0; }

.p-entry-product__cart .p-entry-product__cart-error_message { margin-top: 20px; }
.p-entry-product__cart .p-entry-product__cart-error_message:empty { margin-top: 0; }

@media (max-width: 991px) {
	.p-entry-product__cart-option input[type="text"], .p-entry-product__cart-option textarea { margin-top: 6px; width: 200px; }
}

@media (max-width: 599px) {
	.p-entry-product__cart-select-wrapper { width:100%; }
	.p-entry-product__cart-select-wrapper select { min-width:100%; }
}

/* ----------------------------------------------------------------------
 お気に入りモーダル
---------------------------------------------------------------------- */

.p-product-like-message-wrapper {
	position: fixed; bottom:30px; left:30px; z-index:100; pointer-events: none;
	transition:bottom 0.2s ease;
}
.p-product-like-message-wrapper * { pointer-events: auto; }

.p-product-like-message {
	min-width:300px; max-width:calc(50vw - 30px); background:#333; padding:30px 80px 30px 30px; border-radius:10px;
	font-size:16px; color:#fff; line-height:1.6;
}
.p-product-like-message span { display:block; margin:-0.3em 0; }
.p-product-like-message button {
	cursor:pointer; display:block; background:transparent; border:none;
	position:absolute; padding:0; width:80px; height:100%; top:0; right:0;
	transition:opacity 0.3s ease;
}
.p-product-like-message button:before, .p-product-like-message button:after {
	content:''; display:block; width:18px; height:1px; background:#fff;
	position:absolute; top:0; left:0; right:0; bottom:0; margin:auto; 
}
.p-product-like-message button:before { transform: rotate(-45deg); }
.p-product-like-message button:after { transform: rotate(45deg); }

@media (hover: hover) and (pointer: fine) {
	.p-product-like-message button:hover { opacity:0.5; }
}
@media (max-width: 767px) {
	.p-product-like-message { padding:20px 40px 20px 20px; }
	.p-product-like-message span { font-size:14px; }
	.p-product-like-message button { width:40px; }
	.p-product-like-message button:before, .p-product-like-message button:after { width:14px; }
}
@media (max-width: 599px) {
	.p-product-like-message-wrapper { left:20px; bottom:20px; width:calc(100% - 40px); }
	.p-product-like-message { min-width:100%; }
}