@charset "utf-8";


:root {
	--flex-gap-2x: 2.5rem; 
	--price-color: crimson;
}

.wooc div.chk {
	display:none;
	font-size:130%; font-weight:bold;
	color:hotpink;
	background:rgba(240,10,180,0.2);
	margin:0 !important;
}

#wooc h1, #wooc h2 {line-height:1.25;} 

#wooc ul,
#wooc li {margin:0;}


.cart-status {
	display:block;
	position:fixed; 
	/*top:1rem; right:5.5rem;*/
	top:1.125rem; right:7.0rem;
	width:48px; height:48px;
	background:
		url(./img/icon/cart-white.svg);
		/*linear-gradient(135deg, rgba(101,101,101,0.5) 11.8%, rgba(22,22,22,0.5) 87.55%);*/
	background-size:36px 36px; /*, cover;*/
	background-position:2px 10px; /*, 0 0;*/
	background-repeat:no-repeat;
	border-radius:5px;
	z-index:10;
	mix-blend-mode: difference;
	transition:all 0.12s linear 0s;
}
.cart-status #mini-cart-count {
	display:block;
	position:absolute; top:0%; right:0%;
	width:1.5em; height:1.5em; line-height:1.5;
	background:rgba(0,133,104,1);
	color:var(--base-color);
	border-radius:100%;
	font-family:'Noto Sans JP', sans-serif, sans; font-weight:700; font-size:1rem;
	text-align:center;
	z-index:12;
	/*mix-blend-mode: difference;*/
}
@media (max-width:1399px) {
	.cart-status {top:0.85rem;}
}
@media (max-width:599px) {
	.cart-status {right:6rem; /*1rem;*/}
}
@media (max-width:480px) {
	.cart-status {top:0.35rem; right:5.5em; /*0.5rem;*/ transform:scale(0.9);}
}

.fancybox-active .cart-status {pointer-events:none; opacity:0.25; transition:all 0.12s linear 0s;}




/****************************************
	woocommerce.php / common
*/


#wooc {display:block;}
.product-front #wooc,
.product-cat #wooc {
	width:min(97%,1170px);
	margin:auto;
	padding:0 0 4em;
	text-align:left;
}
.product-detail #wooc {
	width:100%;
	padding:0;
}




body:is(.single.type--product.wooc, .product-front.wooc) .woocommerce-message {display:none;}



.woocommerce-message {border-top-color: var(--link-color) !important; /*#8fae1b*/;}
.woocommerce-message::before {color: var(--link-color) !important; /*#8fae1b*/}

.woocommerce-info {border-top-color: var(--acc-color) !important; /* #1e85be; */ }
.woocommerce-info::before {color: var(--acc-color) !important; /* #1e85be; */}

.woocommerce-info:has(.showcoupon) {display:none;}

.woocommerce-info a {text-decoration:underline; /*text-underline-offset:0.25em;*/}


#wooc ul:not([class]) {padding-left:0.5em;} 
#wooc ul li:not([class]) {list-style: square; margin:0.75em 0.5em;}

#wooc ul.products {margin:2rem 0 0; padding:0;}
#wooc ul.page-numbers {padding:0;}
#wooc ul.page-numbers li {margin:0; padding:0;}


.woocommerce #respond input#submit,
.woocommerce a.button, 
.woocommerce button.button, 
.woocommerce input.button {border-radius:var(--radius-btn) !important;}

.woocommerce table.shop_table {border-radius:var(--radius-btn) !important;}




/****************************************
	ショップページ
	woocommerce.php > archive-product.php
*/
.product-front #wooc h1 {display:none;}
.product-front #wooc h2 {font-feature-settings:"palt";} 
.product-front ul.products  li span.price {color:gray; font-weight:500;}


/****************************************
	product-front List
	product-category List
*/


#wooc .page-title {text-align:center;}

#wooc .woocommerce-result-count,
#wooc .woocommerce-ordering {
	display:block; 
	width:min(97%,1170px);
	margin:auto;
	text-align:left;
}
#wooc .woocommerce-notices-wrapper,
#wooc ul.products {width:100%; }
#wooc ul.products li {
	display:inline-block;
	width:24.5%;
	text-align:center;
	margin-top:0;
	padding:1rem;
	margin-bottom:2rem;
	vertical-align:top;
}
@media (max-width:767px) {
	#wooc ul.products li {width:30%; padding:1rem 0.75rem;}
}
@media (max-width:599px) {
	#wooc ul.products li {width:47%; padding:1rem 2%;}
}



.woocommerce-placeholder.wp-post-image {
	
}


h2.woocommerce-loop-product__title {
	color:var(--moji-color);
	font-size:1.15rem;
	margin:1rem 0 0.5rem;
}
.single .woocommerce-LoopProduct-link span.price {
	display:block;
	font-size:1.15rem; 
	font-family:'Noto Sans JP', sans-serif, sans; font-weight:700;	
	color:var(--price-color);
	transform:translateX(-0.125rem);	
}
#wooc ul.products li a.button.add_to_cart_button {
	display:none; 
	width:min(80%,200px);
	font-size:0.85rem; 
	font-family:'Noto Sans JP', sans-serif, sans; font-weight:700;
	margin:1rem auto 1.5rem;
	padding:0.5rem 1rem;
	background:var(--acc-color);
	color:var(--base-color);
	border-radius:5px;
}


/****************************************
	Detail @ content-single-product.php
*/

#detail {flex-direction: column;}

	/*gap:var(--flex-gap-2x);*/

	/*width:calc((100% - (var(--flex-gap))) / 2) !important;*/

#detail a:not([class]) {text-decoration:underline;}
/*
#detail {
	display:flex;
	padding:4em 0;
}

#detail .woocommerce-product-gallery {
	width:50%;
	padding:0 1.5rem 0 0.5rem;
}
#detail .summary {
	width:50%;
	padding:0 0.5rem 0 1.5rem;
}
	
@media (max-width:999px) {
	#detail .woocommerce-product-gallery {width:40%; padding:0 0 0 0.5rem;}
	#detail .summary {width:60%; padding:0 1rem 0 1.5rem;}
}
@media (max-width:767px) {
	#detail {flex-direction: column;}
	#detail .woocommerce-product-gallery {
		width:min(600px,97%); margin:auto; padding:0 1rem;
		text-align:center;
	}
	#detail .summary {
		width:min(550px,97%); margin:auto; padding:1em 1rem 3rem;
	}
}
*/

#detail .summary p.price {display:none;}

#detail .woocommerce-product-gallery__image--placeholder {
	height:auto; max-height:360px; overflow:hidden;
	width:clamp(200px,100%,650px); margin:auto;
	background:#b1b1b1; opacity:0.4;
}
#detail .woocommerce-product-gallery__image--placeholder .wp-post-image {
	width:clamp(200px,100%,360px); height:auto; object-fit:contain; object-position:50% 50%;
}
#detail .product-main-content { 
	margin-top:3em;
}

.woocommerce-product-gallery:not(:has(.woocommerce-product-gallery__image:nth-child(3))) .woocommerce-product-gallery__image:nth-child(2) {display:none;}
.woocommerce-product-gallery__image a {}
.woocommerce-product-gallery__image {display:inline-block;}
.woocommerce-product-gallery__image:first-child {width:100%; margin:0.5rem 0;}
.woocommerce-product-gallery__image:not(:first-child) {	width:25%; text-align:center; padding:0.5rem;}


@media (min-width:769px) {
	#detail .summary {
		clear:both;
		width:min(650px,97%); margin:auto; padding:1em 0 3rem;
	}
	.woocommerce-product-gallery__wrapper {text-align:center;}
	.woocommerce-product-gallery {
		width:min(1000px,97%); 
		margin:auto; padding:0 1rem;
		text-align:center;
	}
	.woocommerce-product-gallery:has(:is(.woocommerce-product-gallery__image:nth-child(8),.woocommerce-product-gallery__image:nth-child(10))) {width:min(800px,97%); text-align:justify;}
	.woocommerce-product-gallery:has(.woocommerce-product-gallery__image:nth-child(8)):not(:has(.woocommerce-product-gallery__image:nth-child(9))) {width:min(1000px,97%) !important; text-align:justify;}		
	.woocommerce-product-gallery:has(.woocommerce-product-gallery__image:nth-child(10)):not(:has(.woocommerce-product-gallery__image:nth-child(12))) {width:min(640px,97%); text-align:justify;}	
	.woocommerce-product-gallery__image:first-child {display:inline-block; width:100%; text-align:center;}
	.woocommerce-product-gallery__image:not(:first-child) {width:auto;}
}
@media (max-width:768px) {
	#detail .summary {
		width:min(550px,97%); margin:auto; padding:1em 1rem 3rem;
	}
	.woocommerce-product-gallery__wrapper {text-align:justify;}
	.woocommerce-product-gallery {
		width:min(612px,97%); 
margin:auto; padding:0 0.125rem;
		text-align:center;
	}
	.woocommerce-product-gallery__image:first-child {width:100%; margin:0; padding:0.5em;}
	.woocommerce-product-gallery__image:not(:first-child) {width:20%; text-align:center; padding:0.5rem;}
	.woocommerce-product-gallery__image:not(:first-child) img {width:100%;}
}
@media (max-width:500px) {
	.woocommerce-product-gallery__image:not(:first-child) {width:25%;}
}
@media (max-width:390px) {
	.woocommerce-product-gallery__image:not(:first-child) {width:calc(100% / 3);}
}



#detail .summary h1 {
	margin:1em 0 0.5em;
	font-size:2.5em;
	font-feature-settings:"palt";
	font-weight:500;
	/*
	box-shadow:0 -0.4em 0 0 rgba(128,230,255,0.7) inset;
	*/
}
#detail h2 {
	margin-top:2.25em;
	font-size:2.35em; font-weight:400;
	color:var(--acc-color);
	/*
	padding-bottom:0.5rem;
	border-bottom: 5px solid;
	border-image: linear-gradient(to right, var(--acc-color) 0%, var(--alt-color) 55%, var(--sub-color) 100%);
	border-image-slice: 100%;
	border-image-slice: 1;
	*/
	color:var(--acc-color);
}
@media (min-width:768px) {
	#detail h2 {margin-left:-1em;}
}
#detail h3 {
	margin:2.25em 0 1em;
	color:var(--acc-color);
	padding-bottom:0.125rem;
	border-bottom:3px dotted #999;
}
#detail h4 {
	margin:2em 0 0.75em; 
	color:var(--acc-color);
	/*
	padding:0.125em 0.5em 0.25em;
	border-left:5px solid var(--link-color);
	line-height:1.25;
	*/
}


#detail .wp-block-table:not:has(thead) tbody th {background:rgba(100,100,100,0.1);}
#detail .wp-block-table:has(thead) thead th {background:var(--sub-color); font-size:120%; color:#fff;} 
#detail .wp-block-table thead {border:none;}
#detail .wp-block-table:has(thead) :is(th, td) {border:1px solid var(--sub-color); font-size:1rem;} 

.route-icons.legend {
	/*
	margin:1.5em 0; padding:1rem 0;
	background:#fafaea; color:var(--note-color); font-size:0.725em;
	*/
}



#detail .wp-block-table.is-style-stripes {
	border-bottom:1px solid #cfcfcf;
}
#detail .wp-block-table.is-style-stripes :is(th,td){
}	
@media (min-width:600px) {
	#detail .wp-block-table.is-style-stripes :is(th,td){
		font-size:1rem;
	}	
}


/*#detail .summary ul:not([class]) {padding-left:0.5em;}*/

#detail:has(.variations td.value select) p.price {display:none;}

.variations {margin-top:1em;}
.variations th,
.variations td {padding:0.5rem; border:none; font-size:1rem; display:inline-block;}
.variations th.label {width:auto; word-break:keep-all; white-space:nowrap; padding:0 1.15rem 0 1.95rem; font-size:1.15rem; font-weight:700;}
.variations td.value select {font-size:1.3rem; font-weight:500; line-height:1; padding:0.125em 0.5em; color:var(--moji-color); border:2px solid var(--moji-color); border-radius:6px; font-family:var(--wabun);}
.variations tr:has(td.value) + tr {display:none;}
a.reset_variations {
	display:none !important;
	/*
	display:inline-block;
	margin-left:1rem;
	font-size:90%;
	letter-spacing:-0.1em;
	*/
}
.woocommerce-Price-amount.amount,
.woocommerce-variation-price .price {padding-left:3rem; font-size:1.75rem; color:var(--price-color); font-weight:700;}
@media (max-width:480px) {
	.variations th.label {padding:0 0.5rem;}
	.woocommerce-variation-add-to-cart {margin-top:2rem;}
}
.cart .woocommerce-Price-amount.amount {padding-left:0;}

#detail .quantity {position:relative; overflow:visible; display:inline-block; width:45%;}
#detail .quantity input {font-size:1.5rem;}
#detail .quantity::before {
	content:"数量"; font-size:1.1rem;
	width:4em; height:1.25em;
	position:absolute; left:2rem; top:0.35rem;
	color:#161616; font-feature-settings:"palt";
	z-index:1;
}
#detail .quantity::after {
	content:"個"; font-size:1.1rem;
	width:2em; height:1.25em;
	position:absolute; left:11.75rem; top:0.35rem;
	color:#161616; font-feature-settings:"palt";
	z-index:1;
}

input.qty {position:relative; font-size:1.2rem;	padding:0.125em;}
#detail input.qty {margin-left:6rem; width:5rem;}

.quantity label {}
	
#detail .bulk_table {margin:1.5rem 0;}



.woocommerce-tabs { /*.tab-title-additional_information*/
	display:none;
}

.single_add_to_cart_button {
	display:inline-block;
	margin:2.5rem 0.5rem 1.5rem; padding:1rem;
	width:250px;
	font-size:1.25rem;
	font-family:'Noto Sans JP', sans-serif, sans; font-weight:700;
	transition:all 0.33s linear 0s;
	border-radius:var(--radius-btn);
}
.single_add_to_cart_button:not(.disabled) {
	background:var(--link-color);
	color:var(--base-color);
	border:2px solid var(--link-color);
}
.single_add_to_cart_button:not(.disabled):hover {
	background:var(--acc-color); 
	border:2px solid var(--acc-color);
	transition:all 0.14s linear 0s;
}
.single_add_to_cart_button.disabled,
.soldout .single_add_to_cart_button {
	color:var(--base-color);
	background:#dcdcdc;
	border:2px solid #dcdcdc;
	pointer-events:none;
}

#detail p.stock {display:none;}

@media (max-width:539px) {
	form.cart {margin-top:2.325rem; text-align:center;}
	#detail .quantity {width:221px;}
	#detail input.qty {margin-left:3rem; width:5rem;}
	#detail .quantity::before {
		left:-0.75rem; top:0.35rem;
	}
	#detail .quantity::after {
		left:11.25rem; top:0.35rem;
	}
}




.soldout-msg, .abort-msg {
	margin:1rem auto; padding:1.5rem;
	border:1px solid hotpink; border-radius:3px; color:hotpink;
	text-align:center; 
}
.ask-experience {
	margin:1rem auto; padding:1.5rem; 
	/* background: rgba(255,0,0,0.075); */
	border:1px solid rgba(255,0,0,0.5); border-radius:3px; color:rgba(255,0,0,0.9);
	text-align:center; line-height:1.35; text-align:left;
}


/*single_add_to_cart_button button alt disabled wc-variation-selection-needed */


#wooc .product-taxonomies {
	margin:3em auto 0;
}
#wooc .product-taxonomies table :is(th,td) {border:none; text-align:left; vertical-align:top; font-size:0.85rem;}
#wooc .product-taxonomies table td {padding:0;} 
#wooc .product-taxonomies table th {width:6.6em; padding:0 0 0 0.6em;}
#wooc .product-taxonomies a {display:inline-block; line-height:1.5em; margin:0 0.5em 0.625em;}
#wooc .product-taxonomies span {	display:inline-block; line-height:1.5em; margin:0 0 0.625em; color:var(--note-color);}





#wooc .product_meta {	margin:2rem 0;}
#wooc .sku_wrapper {display:block;}
#wooc .posted_in {display:none; /*<- product_cat // block;*/ }


#wooc #appendix {background:var(--sub-color); padding:4em 0 4em;}
#wooc #appendix h2 {
    font-size: 225%;
    font-weight: 400;
    letter-spacing: 0.25em;
	text-indent:0.25em;
    color: var(--base-color);
    opacity: 0.4;
}
#wooc #appendix a {color: var(--base-color);}

#wooc #appendix table.blog-rel {margin:0.5rem 0;}
#wooc #appendix .blog-rel th, #wooc #appendix .blog-rel td {border:none;} 
#wooc #appendix .blog-rel th {width:27% !important; min-width:170px !important; max-width:180px !important; padding:10px; text-align:center;}
#wooc #appendix .blog-rel td {width:auto !important; padding:10px; text-align:left !important; font-size:100% !important;}
#wooc #appendix .blog-rel .post-tn, #wooc #appendix .blog-rel .thumb-frame {display:block; width:150px; height:150px; margin:4px auto; background:rgba(0,0,0,0.15); overflow:hidden; border-radius:var(--radius-btn);}
#wooc #appendix .blog-rel td span:not(.each-term) {display:block;}
#wooc #appendix .blog-rel td .planned-date {color:#fff; font-size:95%; padding-bottom:2px;}
#wooc #appendix .blog-rel td .tour-title {color:var(--base-color); font-size:124%; font-weight:700; line-height:1.4; font-feature-settings:"palt";} 
#wooc #appendix .blog-rel td .taxo-terms {font-size:85%; font-weight:700; padding:0.5em 0 0.5em; font-feature-settings:"palt";} 
#wooc #appendix .blog-rel td .each-term {
	display:inline-block; margin-right:0.5em; padding:0 0.65em 0.1em; line-height:1.9; 
	background:var(--bg-owhite); color:var(--sub-color);
	border-radius:3px;
	text-shadow:none !important;
	transition:all 0.33s linear 0s;
}

#wooc #appendix .blog-rel td :is(.post-date,.post-title,.post-cats) {color:rgba(55,55,55,0.7);}
#wooc #appendix .blog-rel td span.each-cat {
	background:transparent; color:rgba(100,100,100,0.7); 
	border:1px solid rgba(100,100,100,0.5); 
}

@media (hover: hover) {
	#wooc #appendix a:hover {color:var(--base-color); text-shadow:0 0 3px rgba(0,0,0,0.6);}
	#wooc #appendix a:hover .blog-rel td span.each-term {background:var(--base-color); box-shadow:0 0 3px rgba(0,0,0,0.2);}
}

@media (max-width:599px) {
	#wooc #appendix .blog-rel th {width:25% !important; min-width:120px !important; max-width:120px !important; padding:5px;}
	#wooc #appendix .blog-rel .post-tn, #wooc #appendix .blog-rel .thumb-frame {width:110px; height:110px;}
	#wooc #appendix .blog-rel td span.planned-date {font-size:100%; padding-bottom:4px;}
	#wooc #appendix .blog-rel td span.tour-title {font-size:123%; line-height:1.35; font-feature-settings:"palt";} 
	#wooc #appendix .blog-rel td span.taxo-terms {font-size:85%; padding:0.25em 0 0.25em;} 
	#wooc #appendix .blog-rel td span.each-term {margin-right:0.75em; padding:0 0.35em 0.1em; line-height:1.6; margin-right:4px; font-feature-settings:"palt";}
}
@media (max-width:480px) {
	#wooc #appendix .blog-rel td span.tour-title {font-size:111%; line-height:1.25; word-break:break-all;}  	
}




/*
#wooc #appendix .related.products {text-align:center;}
#wooc #appendix .related.products > h2:first-child {font-size:1.75rem;}
#wooc #appendix .related.products ul.products {
	display:block; text-align:center;
	margin:0; padding:0;	
}
#wooc #appendix .related.products ul.products li {
	position:relative;
	display:inline-block; vertical-align:top;
	width:24%; 
	margin:0; padding:1rem 0.75rem;
	text-align:center;
}
#wooc #appendix .postmeta-product-cat {
	position:absolute; top:1rem; right:0.75rem; left:0.75rem;
	margin:0 0 0; padding:0.375rem 0.25rem;
	font-size:0.75rem;
	background:rgba(0,0,0,0.25);
	color:#fff; line-height:1.25;
}

@media (max-width:767px) {
	#wooc #appendix .related.products > h2:first-child {font-size:1.5rem;}
	#wooc #appendix .related.products ul {}
	#wooc #appendix .related.products ul.products li {width:30%; padding:1rem 0.75rem;}
	#wooc #appendix .related.products ul.products li:last-child {display:none;}
}
@media (max-width:599px) {
	#wooc #appendix .related.products > h2:first-child {font-size:1.35rem;}
	#wooc #appendix .related.products ul.products li {width:47%; padding:1rem 2%;}
	#wooc #appendix .related.products ul.products li:last-child {display:inline-block;}
	#wooc #appendix .postmeta-product-cat {padding:0.375rem 2%;}
}


#appendix h2.woocommerce-loop-product__title {
	margin:1rem 0 0.5rem; padding:0;
	font-size:1.15rem; font-feature-settings:"palt";
	color:var(--moji-color);
	transform:translateX(-0.125rem);
}

.related.products ul.products li .price {
	display:block;
	font-family:'Noto Sans JP', sans-serif, sans;
	font-size:1.15rem; font-weight:700; color:var(--price-color);
	transform:translateX(-0.125rem);
}
.related.products ul.products li a.button {display:none;}
*/

#wooc #appendix .product-rel p.caption {margin:0.25rem 0 0; font-size:0.85rem;}



/****************************************
	Cart
*/

/* Detail -- Just Cart in*/
.cart .woocommerce-message a.button.wc-forward {
	/*
    display: block;
	margin:0.5rem 1rem;
    padding: 0.5rem 1rem;
    text-decoration: none;
	background:var(--base-color);
	color:var(--link-color) !important;
	border:2px solid var(--link-color);
	border-radius:var(--radius-btn);
	float:right; overflow:hidden;
	*/
	display:none;
}
.cart .woocommerce-message a.restore-item {
	text-decoration:underline;
}
.cart a.wc-block-components-product-name {color:var(--link-color);}

.cart .wc-block-cart__submit-button {
	font-weight:500;
	background:var(--link-color); color:#fff;
	border-radius:var(--radius-btn);
	padding-block:0.9rem;
	transition:all 0.28s ease-in-out 0s;
}
@media (min-width:752px) {
	.cart .wc-block-cart__submit-button {margin-block:1.5rem;}
}
@media (hover: hover) {
	.cart .wc-block-cart__submit-button:hover {background:var(--acc-color); transition:all 0.14s ease-in-out 0s;}
	.cart a.wc-block-components-product-name:hover {color:var(--hover-color);}
}


.woocommerce .cart td.product-remove {width:auto; min-width:3.5rem;}
/*
.woocommerce .cart a.remove {
	position:relative;
	color:transparent !important; 
	background:transparent !important;
	border-radius:var(--radius-btn);
}
.cart a.remove::after {
	position:absolute; display:block;
	top:0; right:0; bottom:0; left:0;
	content:"削除"; font-weight:normal;
	width:2rem; height:0.9rem; line-height:1;
	font-size:0.9rem; padding:0.25rem;
	color:crimson;
	border:1px solid crimson;
	border-radius:var(--radius-btn);
	transition:all 0.12s linear 0s;
}
@media (hover: hover) {
	.cart a.remove:hover::after {
		color:#fff;
		background:crimson;
		transition:all 0.12s linear 0s;
	}
}
*/



.coupon {display:none;}


/* Cart -- remove item to empty */
.cart .wp-block-woocommerce-empty-cart-block {}
.cart .wp-block-woocommerce-empty-cart-block h2:not(.with-empty-cart-icon) {color:silver; font-size:1.7em;}
.cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wp-block-button__link.add_to_cart_button {display:none;}


.cart td.product-name .postmeta-tour {
	font-size:0.85em; line-height:1.9; 
	padding:0 0 0.5em 0.5em;
}

.woocommerce table.shop_table th {word-break:keep-all; white-space:nowrap;}
.woocommerce table.shop_table th.product-thumbnail {width:124px !important;}
.woocommerce-cart-form__cart-item .attachment-woocommerce_thumbnail {width:100px !important; height:auto;}
.woocommerce table.shop_table .product-quantity {width:8.5rem; text-align:center;}
.woocommerce table.shop_table td dt,
.woocommerce table.shop_table td dd {padding:0.125em 0.5em; font-size:0.85em;}
.woocommerce table.shop_table td.product-name a {display:inline-block; margin:0.5rem 0; font-size:1.05em;}
.woocommerce table.shop_table td dl.variation {margin:-0.25rem 0 1.75rem;}
.woocommerce table.shop_table td.product-subtotal span.woocommerce-Price-amount {display:inline-block; font-size:1.1em; font-weight:bold; padding:0.5em 0;}

.woocommerce table.cart .actions {padding:1em;}
.woocommerce table.cart .actions button {
	margin-inline:auto;  padding:0.5em 1em 0.625em !important;
	width:auto; height:auto; 
	font-family:var(--wabun); background:gray; color:#fff; border:none; border-radius:var(--radius-btn);
}

@media (max-width:768px) {
	.woocommerce table.cart .product-remove {padding:1.675em 0.65em 1em; background:#fff !important; border-bottom:none !important;}
	.cart a.remove::after {content:"削除する"; width:3.75rem; font-feature-settings:"palt";} 	
	.woocommerce table.cart :is(.product-thumbnail,.product-name,.product-price,.product-quantity) {display:inline-block !important; border:none !important;}
	.woocommerce table.cart .product-thumbnail {padding:8px; width:116px;}
	.woocommerce table.cart .product-name {padding:8px 8px 8px 0; width:calc(100% - 124px);}
	.woocommerce table.cart .product-price {width:calc(100% - 13rem); min-height:3.125rem;}
	.woocommerce table.cart .product-price .woocommerce-Price-amount {display:inline-block; margin-left:0.5em; margin-right:1em;}
	.woocommerce table.shop_table .product-quantity {width:12.5rem; min-height:3.125rem; text-align:left;}
	.woocommerce table.cart .product-quantity input.input-text.qty {display:inline-block !important;}	
	.woocommerce table.shop_table_responsive tr td:is(.product-thumbnail,.product-name)::before {display:none;}
	.woocommerce table.cart .product-thumbnail {display:inline-block !important;}
	.woocommerce table.shop_table_responsive tr:nth-child(2n) td:is(.product-thumbnail,.product-name,.product-price,.product-quantity) {background-color:rgba(255,255,255,0.55) !important;}
	.woocommerce table.cart :is(.product-subtotal) {background-color:rgba(200,200,200,0.4) !important;}
	.woocommerce table.cart .actions {padding:1.5em;}
	.woocommerce table.cart .actions button {margin-inline:auto; width:auto; max-width:15rem; height:3rem; font-family:var(--wabun); background:gray; color:#fff; border:none; border-radius:var(--radius-btn);}
	.woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout a {margin-bottom:1.5rem;}
}
@media (min-width:620px) and (max-width:768px) {
	.woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout {float:right;}	
}
@media (max-width:619px) {
	.woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout {text-align:center;}
}
@media (max-width:599px) {
	.woocommerce table.cart .product-thumbnail {padding:8px; width:91px;}
	.woocommerce table.cart .product-name {padding:8px 8px 8px 0; width:calc(100% - 99px);}
}
@media (min-width:481px) and (max-width:768px) {
	.woocommerce table.shop_table_responsive tr td.product-price::before {float:none !important;}
}
@media (max-width:480px) {
	.woocommerce table.cart .product-price {width:100%; text-align:left; min-height:auto;}
	.woocommerce table.cart .product-price .woocommerce-Price-amount {display:inline-block; margin-left:0.5em; margin-right:0.5em;}
	.woocommerce table.shop_table .product-quantity {width:100%; text-align:right; min-height:auto;} 	
	.woocommerce table.cart .product-quantity input.input-text.qty {display:block !important; float:right;}		
}

/*
.woocommerce .cart-collaterals .cross-sells {display:none !important;}
*/
.woocommerce .cart-collaterals .cross-sells {display:block !important; width:100% !important; float:none !important;}
.woocommerce .cart-collaterals .cross-sells > h2 {font-size:1.3rem !important;}
.woocommerce .cart-collaterals .cross-sells ul.products {width:100% !important; margin:0 !important;}
.woocommerce .cart-collaterals .cross-sells ul.products li {width:min(40%,172px) !important; margin-bottom:1.75em !important;}
.woocommerce .cart-collaterals .cross-sells ul.products li > a:has(img) {text-align:center !important;}
.woocommerce .cart-collaterals .cross-sells ul.products li > a > img {margin:0 auto 0.5rem !important; max-width:120px !important;}
.woocommerce .cart-collaterals .cross-sells ul.products li > a > h2.woocommerce-loop-product__title {font-size:0.85rem !important; line-height:1.25 !important; text-align:left !important; font-feature-settings:"pkna";}
.woocommerce .cart-collaterals .cross-sells ul.products li > a.button {display:none !important;}

/*
.cart .quantity .qty {pointer-events:none;}
.cart .woocommerce-cart-form__contents .actions {display:none;} 
*/


@media (max-width:599px) {
	/*
	.woocommerce-message a.button.wc-forward {display:none;}
	*/
}
/*
.woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover {
    background-color: #dfdcde;
    text-decoration: none;
    background-image: none;
    color: var(--link-color) imp;
}
*/

/*
##### カートにツアー日付を出力 setting #####
*/ 
.cart dl.variation {}
.cart dt.variation- {
	line-height:1.3; vertical-align:middle;
	float:none;
	display:none !important;
}
.cart dd.variation- {
	line-height:1.3; vertical-align:middle;
	padding-inline:0 !important;
}
.cart dd.variation- p {margin:0;}
:is(.cart, .checkout) dd.variation- .wcpa_price,
:is(.cart, .checkout) tr.wcpa_cart_has_fields .wcpa_price,
:is(.cart, .checkout) tr.fee .woocommerce-Price-amount {color:deepskyblue;}
/*:is(.cart, .checkout) td.product-subtotal span.woocommerce-Price-amount + br,*/
/*
:is(.cart, .checkout) td.product-subtotal span + br,
:is(.cart, .checkout) td.product-subtotal span:not(.woocommerce-Price-amount):not(.woocommerce-Price-currencySymbol), 
:is(.cart, .checkout) td.product-subtotal small {display:none;}
*/



.cart .checkout-button.wc-forward {
	position:relative;
	width:auto; min-width:270px;
	text-align:center; font-size:130%; font-weight:bold;
	display:inline-block; margin-top:1rem;
	padding:1em;
	border:2px solid var(--link-color);
	color:#fff;
}
.cart .checkout-button.wc-forward::after {
    content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    right: 14px;
    top: 50%;
    margin-top: -5px;
    border-right: 2px solid #ffffff;
    border-top: 2px solid #ffffff;
    transform: rotate(45deg);
    transition: all 0.14s linear 0s;
}
.cart .checkout-button.wc-forward:hover {
	background:var(--hover-color) !important;
}
.cart .checkout-button.wc-forward:hover::after {
    right: 11px;
}

a.sub-option.backward {
	position:relative; 
	width:270px !important;
	padding:0.75em 1.5em;
	border:1px solid var(--link-color);
	border-radius:var(--radius-btn);
	color:var(--link-color);
	font-size:0.9rem; font-feature-settings:"palt";
}
.cart .sub-options {float:left; padding-top:0rem;}
.cart a.sub-option.backward {margin:1.5rem auto 0 0 !important; }
@media (min-width:620px) and (max-width:768px) {
	.cart a.sub-option.backward {margin:2em 1.5em 1em 0 !important;}
}
@media (max-width:619px) {
	.cart .sub-options {float:none; text-align:center;}	
	.cart a.sub-option.backward {margin:1rem auto 0 0 !important; }
}





.checkout dt.variation-wcpa_empty_label {display:none !important;}

.checkout a.sub-option.backward {
	float:left;
	margin:2rem auto 4rem 0 !important;
}
a.sub-option.backward::after {
    content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    left: 14px;
    top: 50%;
    margin-top: -5px;
    border-left: 1px solid var(--link-color);
    border-bottom: 1px solid var(--link-color);
    transform: rotate(45deg);
    transition: all 0.14s linear 0s;
}
a.sub-option.backward:hover {background:rgba(84,188,231,0.125);}
a.sub-option.backward:hover::after {
	left:11px;
}


.return-to-shop {margin-bottom:1rem;}








#page-body .cart_totals h2 {border:none; font-size:1.15rem;}

.checkout-button,
#place_order {
	padding:1em 2em !important; background:var(--link-color) !important; 
	width:auto; min-width:222px;
	font-size:120%; color:#fff;
	border:none; border-radius:var(--radius-btn);
	font-family:var(--wabun);
}
.checkout-button:hover
#place_order:hover {background:var(--hover-color) !important;}



a.button.wc-backward {
	position:relative;
	display:inline-block;
	padding:1.25rem 2rem !important;
	width:240px; height:auto !important;
	text-align:center;
	background:var(--acc-color) !important;
	border:2px solid var(--acc-color) !important;
	color:#fff !important;
}
a.button.wc-backward:hover {background:rgba(22,22,22,0.75) !important;}
a.button.wc-backward::before {
    content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    left: 14px;
    top: 50%;
    margin-top: -5px;
    border-left: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    transform: rotate(45deg);
    transition: all 0.14s linear 0s;
}
a.button.wc-backward:hover::before {left:11px;} 




/****************************************
	CheckOut
*/

#customer_details {}
.wp-block-woocommerce-checkout a.wc-block-checkout__login-prompt {
	position: relative;
	margin-top: -1.65rem; padding: 0.125em 1em;
	background: var(--link-color); color: #fff;
	border-radius: 4px; z-index: 10;
	transition:all 0.28s ease-in-out 0s;
}

.checkout .wc-block-components-address-form__address_2-toggle {display:none;} 

.checkout .wc-block-checkout__terms {font-size:0.8em; opacity:0.9;}
.checkout .wc-block-checkout__terms a {display:inline-block;}

a.wc-block-components-checkout-return-to-cart-button {
	color:var(--link-color);
	border:1px solid var(--link-color);
	border-radius:var(--radius-btn);
	padding:1em 2.5em 1em 2.75em; line-height:1;
	position:relative;
}
a.wc-block-components-checkout-return-to-cart-button svg {display:none;}
a.wc-block-components-checkout-return-to-cart-button::after {
	content: ""; width: 10px; height: 10px; position: absolute; left: 14px; top: 50%; margin-top: -5px;
	border-right: 1px solid var(--link-color); border-top: 1px solid var(--link-color); transform: rotate(225deg); transition: all 0.14s linear 0s;	
}

@media (max-width:480px) {
	a.wc-block-components-checkout-return-to-cart-button {margin-top:2.25rem !important;}
}

button.wc-block-components-checkout-place-order-button {
	padding:1em;
	background:var(--link-color); color:#fff;
	font-size:125%; font-weight:500; font-family:var(--wabun);
	border:none; border-radius:var(--radius-btn);
	transition:all 0.28s ease-in-out 0s;
}
@media (hover: hover) {
	.wp-block-woocommerce-checkout a.wc-block-checkout__login-prompt:hover {	background:var(--acc-color); transition:all 0.14s ease-in-out 0s;}
	a.wc-block-components-checkout-return-to-cart-button:hover {background:rgba(84,188,231,0.15);}
	button.wc-block-components-checkout-place-order-button:hover {background:var(--acc-color); transition:all 0.14s ease-in-out 0s;
}

.checkout .woocommerce .woocommerce-customer-details address {border:none;}



.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {padding:0.25em; border-radius:var(--radius-btn);}
.woocommerce form .form-row select {padding:0;}
.woocommerce form .form-row label.radio {display:inline-block;}

ul.select2-results__options {padding-left:0.5rem;}
ul.select2-results__options li {margin:0; padding:0;}


#customer_details p.create-account {margin-top:1em;}
#customer_details p.create-account .woocommerce-form__label-for-checkbox input {display:none;}
#customer_details p.create-account .woocommerce-form__label-for-checkbox span {position:relative; padding-left:2em; cursor:pointer; color:#f4b; font-size:0.925em;}
#customer_details p.create-account .woocommerce-form__label-for-checkbox span::before{
	content:""; display:block; position:absolute; 
	top:0; left:0; margin:auto;
	width:1.25em; height:1.25em;
	background:#fff; border:2px solid #f4b; border-radius:4px;
	transition:all 0.14s linear 0s;
}
#customer_details p.create-account .woocommerce-form__label-for-checkbox {display:block; width:100%; height:100%;}
#customer_details p.create-account .woocommerce-form__label-for-checkbox input:checked + span{
	color:#365E79; font-weight:bold; 
}
#customer_details p.create-account .woocommerce-form__label-for-checkbox input:checked + span::before{
	border:2px solid var(--link-color); border-radius:100%; transition:all 0.33s linear 0s;
}
#customer_details p.create-account .woocommerce-form__label-for-checkbox input:checked + span::after{
	content:""; display:block; position:absolute; 
	top: -0.5em; left: 0.35em; width:0.7em; height:1.4em;
	border-bottom: 3px solid #365E79; border-right: 3px solid #365E79;
	transform:rotate(40deg); 
	box-shadow:1px 1px 0 0 #fff;
}


#customer-info-caption {
	padding:1rem 0.5rem;
	font-size:0.7em; font-weight:normal; color:#9e8173; line-height:1.5;
}
#order_comments {height:15em;}
#order-comment-caption {
	position:relative;
	margin:0.75rem auto 0.25rem;
	padding:0.5rem 1.5rem;
	background:#ffe3f2;
	font-size:0.85rem;
	border-radius:6px;
}
#order-comment-caption ul {padding:0; font-feature-settings:"palt";}
#order-comment-caption::before {
	position:absolute; display:block;
	top:-32px; left:50%;
	margin-left:-16px;
	content: "";
	border: 16px solid transparent;
	border-bottom: 16px solid #ffe3f2; /*rgba(158,129,115,0.125);*/
}


/*
#mailpoet_woocommerce_checkout_optin_field {display:none;}
*/

.checkout td.product-name .postmeta-tour {margin-top:0.25em; font-size:0.85em; line-height:1.9; padding-left:0.5em;}
.checkout .woocommerce table.shop_table td dl {margin-top:0.25em;}
.checkout .woocommerce table.shop_table td.product-name a {font-size:1.1em;}
.checkout .woocommerce table.shop_table td.product-name ul.wc-item-meta {padding-left:0.25em !important;}
.checkout .woocommerce table.shop_table td.product-name ul.wc-item-meta li {list-style:none !important; margin:0.2em; font-size:0.85em;}
.checkout .woocommerce table.shop_table td.product-name ul.wc-item-meta strong {font-weight:normal;}



.checkout #payment ul {margin:0; padding:0;}
.checkout #payment ul li:not([class]) {list-style:none; margin:0;}

.woocommerce-checkout #payment ul.payment_methods li {margin:0.75rem 0 !important;}



.checkout strong.product-quantity {position:relative; display:inline-block; margin:0.5rem 0; font-size:1.35em;}
.checkout strong.product-quantity::after {content:" 個"; font-size:1rem; font-weight:normal;}


.customer-meta-extend {margin-top:1.5rem;}



#payment .payment-note {padding:1em 1em 0;}

#billing_gender_field .input-radio {transform:scale(1.5) translate(0,-1px); transform-origin: center center; margin-right:8px;}
#payment .input-radio {
	transform:scale(1.5) translate(3px,0); transform-origin: bottom 0; 
	-moz-transform:scale(1.5) translate(3px,-1px);
}
#payment .input-radio + label {line-height:1;}
#payment .payment_box input[type=radio] {transform:scale(1.5) translate(2px,0); transform-origin: bottom 0;}


#billing_gender_field .input-radio,
#billing_gender_field .input-radio + label,
#payment .payment_box input[type=radio],
#payment .input-radio, 
#payment .input-radio + label {cursor:pointer;}

#payment .privacy-msg {margin:0 0 1.5rem; font-size:0.8rem;}
#payment .woocommerce-privacy-policy-link {text-decoration:underline;}
#payment .woocommerce-privacy-policy-link:hover {color:var(--hover-color);}


#payment .yo-kakunin {margin-left:0.25rem; margin-right:0;}
#payment .tos-links {margin:0; text-align:left;}
#payment .tos-links .tos-link {display:inline-block; margin:0 0 0 0.75rem; padding:0; font-size:0.9rem; transform:translateY(-0.125em);}

#payment .confirm-msg {
	position:relative; display:inline-block; width: auto; margin:0 0 1.5rem;padding:1em; font-size:1rem; color:#f4b; font-weight:bold; line-height:1.5;
	float:left;
}
#payment .confirm-msg .label-cbx-confirm input {display:none;}
#payment .label-cbx-confirm .accept-list-item-label {position:relative; padding-left:2.25em; cursor:pointer;}
#payment .label-cbx-confirm .accept-list-item-label::before{
	content:""; display:block; position:absolute; 
	top:0; left:0; margin:auto;
	width:1.25em; height:1.25em;
	background:#fff; border:2px solid #f4b; border-radius:4px;
	transition:all 0.14s linear 0s;
}
#payment .label-cbx-confirm {display:block; width:100%; height:100%;}
#payment .label-cbx-confirm input:checked + .accept-list-item-label{
	color:#365E79; font-weight:bold; 
}
#payment .label-cbx-confirm input:checked + .accept-list-item-label::before{
	border:2px solid var(--link-color); border-radius:100%; transition:all 0.33s linear 0s;
}
#payment .label-cbx-confirm input:checked + .accept-list-item-label::after{
	content:""; display:block; position:absolute; 
	top: -0.5em; left: 0.35em; width:0.7em; height:1.4em;
	border-bottom: 3px solid #365E79; border-right: 3px solid #365E79;
	transform:rotate(40deg); 
	box-shadow:1px 1px 0 0 #fff;
}

#place_order {transition:all 0.14s linear 0s;}
#place_order.disabled {pointer-events:none; opacity:0.25; transition:all 0.14s linear 0s;}


/* **** Thanks for Order *** */

.checkout h2:is(:not([class]), .woocommerce-order-details__title, .woocommerce-column__title) {
	margin-top:1.75em !important;
	border-left: 0.3em solid;
	border-image: var(--acc-gra-u2d);
	border-image-slice: 100%;
	border-image-slice: 1;
	padding:0.1em 0.5em 0.25em;
	font-size:190%; font-weight:700;
	letter-spacing:0em; line-height:1.35;
}
@media (min-width:1000px) {
	.checkout ul.order_details.bankjp_details li.account_info {width:auto; max-width:33.33%;}
}
@media (max-width:999px) {
	.checkout ul.order_details.bankjp_details li.account_info {width:45%; max-width:45%;}
	.checkout ul.order_details.bankjp_details li.account_info:not(:last-child) {
		margin-bottom:0.75em; padding-bottom:1.75em; border-bottom: 1px dashed #cfc8d8;
	}
}
@media (max-width:800px) {
	.checkout ul.order_details.bankjp_details li.account_info {width:100%; max-width:100%;}
	.checkout ul.order_details.bankjp_details li.account_info:not(:last-child) {border-right:none;}
}


.checkout .woocommerce-table.woocommerce-table--custom-fields.shop_table.custom-fields {display:none;}

/*
.checkout .fancybox-button.fancybox-button--close {z-index:99999 !important; background:var(--link-color) !important;}
.checkout .fancybox-content {height:85vh !important;}
*/

.back-to-toppage {	margin:0; text-align:left;}
.back-to-toppage  a.sub-option.backward {float:none; margin:0 !important;}




/****************************************
	my Account
*/

.my-account #page-upper,
.my-account #page-body {}

.my-account #main-column.pd-side {padding:0 !important;}
.my-account .fixed-page-post {max-width:1000px; margin:auto; padding:inherit 0 !important;}


nav.woocommerce-MyAccount-navigation {}
nav.woocommerce-MyAccount-navigation ul {
	padding:1rem; margin:0; background:var(--acc-color);
	display:flex;  justify-content:space-around;
	flex-direction:row; flex-wrap:wrap;
}
nav.woocommerce-MyAccount-navigation ul li {
	display:block; margin:0.25rem 0.75rem; padding:0.25rem; font-size:1rem;
}

nav.woocommerce-MyAccount-navigation ul li a {
	display:block; width:100%; height:100%;
	color:#fff !important; text-decoration:none !important;
	font-weight:700;
	word-break:keep-all; white-space:nowrap;
}
nav.woocommerce-MyAccount-navigation ul li a:hover {
	text-decoration:none !important;
	color:#fff; text-shadow:0 0 5px #4fb;
}

nav.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads {display:none;}

@media (max-width:768px) {
	nav.woocommerce-MyAccount-navigation ul {
		justify-content:flex-start; 
	}
	nav.woocommerce-MyAccount-navigation ul li {
		width:33.3333%; margin:0.25rem 0; text-align:center;
	}
}
@media (max-width:480px) {
	nav.woocommerce-MyAccount-navigation ul li {
		width:50%; margin:0.5rem 0; text-align:center;
	}
}



.my-account .woocommerce-form {background:#f3f6f9;}
.my-account .woocommerce-form input {padding:0.25rem 0.125rem; min-height:2.25rem;}
.my-account .woocommerce button.button.woocommerce-form-login__submit {margin:2rem 1rem 0.75rem 0 !important;}
.my-account .woocommerce .woocommerce-form-login__rememberme {margin:1.5rem 1rem 0.75rem 0 !important;}

.woocommerce-MyAccount-content {
	padding:2rem min(1.5rem,3%) 1.5rem;
	background:#f3f6f9;
}
.woocommerce-MyAccount-content h2 {
	margin:1.5rem 0 !important; font-size:180% !important;
}

.my-account :is(.woocommerce-message, .woocommerce-message--info, .woocommerce-info) a.woocommerce-Button.button {display:none;}


.woocommerce-orders-table {margin-top:1.25rem !important;}


.my-account table td {background:#fff !important;}
.my-account #page-body address { padding:1rem; background:#fff; font-style:normal;}


/* +++++ bkap Plugin +++++ */
/*
.my-account #DataTables_Table_0 tr th:nth-child(7),
.my-account #DataTables_Table_1 tr th:nth-child(7) {display:none;}
.my-account #DataTables_Table_0 tr td:nth-child(7)
.my-account #DataTables_Table_1 tr td:nth-child(7) 
*/
.my-account a.edit {text-decoration:underline;}
.my-account a.edit:hover {color:var(--link-color) !important;}
	
.my-account .woocommerce a.button, 
.my-account .woocommerce .button {
	display:inline-block; margin:0.125rem 0.75rem 0.125rem 0 !important;
	border:1px solid var(--link-color) !important; color:var(--link-color);
	background:var(--base-color);
	transition:all 0.11s linear 0s;
}
.my-account .woocommerce a.button:hover, 
.my-account .woocommerce .button:hover {
	background:rgba(84,188,231,0.15); color:var(--link-color);
	transition:all 0.22s linear 0s;
}

.my-account .woocommerce .woocommerce-button.cancel {display:none !important;}

.my-account mark {
	display:inline-block; margin:0 0.125em; padding:0 0.125em; background:transparent;
	box-shadow:0 -0.6em 0 0 rgba(20,194,240,0.4) inset; 
	line-height:1.5; font-weight:bold;
}

.u-columns.woocommerce-Addresses.col2-set.addresses .u-column2 {display:none;}


.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--bookings {display:none;}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--bookings a::before {content:"" !important;}

.woocommerce-MyAccount-content .woocommerce-error, 
.woocommerce-MyAccount-content .woocommerce-info, 
.woocommerce-MyAccount-content .woocommerce-message {background:var(--base-color);}

.my-account abbr.required {display:inline-block; margin-left:0.25em; font-size:0.825em;}

