@charset "UTF-8";

/*
Theme overrides for Welcart.
Welcart loads this file automatically when it exists in the active theme root.
*/

/* Variables
------------------------------------------------------------ */
:root {
	--welcart-base: #000;
	--welcart-blue: #161d53;
	--welcart-orange: #ee8a1e;
	--welcart-orange-soft: #fef3e7;
	--welcart-border: #000;
	--welcart-bg: #fff;
	--welcart-gray: #e6e6e6;
	--welcart-muted: #f6f6f6;
	--welcart-radius: 0.25rem;
	--welcart-shadow: drop-shadow(2px 2px 1px rgba(0, 0, 0, 0.15));
}

/* Base
------------------------------------------------------------ */
.is-welcart-page .p-page-content__inner,
.is-welcart-item .p-post__content {
	line-height: 1.8;
}

#inside-cart,
#memberpages,
#newmember,
#memberinfo,
#member_login,
#lostmemberpassword,
#changepassword,
#itempage {
	color: var(--welcart-base);
	width: 100%;
}

#inside-cart,
#memberpages,
#newmember,
#memberinfo,
#member_login,
#lostmemberpassword,
#changepassword {
	background-color: var(--welcart-bg);
	padding: 2.5em;
	filter: var(--welcart-shadow);
}

#inside-cart a,
#memberpages a,
#itempage a {
	color: currentColor;
	text-decoration: none;
	text-underline-offset: 0.25em;
}

#inside-cart a:hover,
#memberpages a:hover,
#itempage a:hover {
	opacity: 0.65;
}

.header_explanation,
.footer_explanation {
	margin: 1em 0;
}

.error_message,
#cart div.error_message,
#itempage .error_message,
#memberpages .error_message {
	/* color: #fff; */
	/* font-weight: 700; */
	/* background-color: var(--welcart-orange);
	padding: 0.75em 1em; */
	/* margin: 1em 0; */
}

/* Step navigation
------------------------------------------------------------ */
.usccart_navi {
	margin-bottom: 2em;
}

.p-welcart .usccart_navi ol.ucart {
	counter-reset: welcart-step;
	height: unset;
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}
.p-welcart .usccart_navi li.ucart {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.usccart_navi li.ucart {
	color: var(--welcart-base);
	font-size: 0.875em;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	background-color: #fff;
	background-image: unset;
	background-size: 100% 100%;
	border: 1px solid var(--welcart-border);
	border-radius: var(--welcart-radius);
	padding: 0.75em 0.5em;
}

.usccart_navi li.usccart {
	color: #fff;
	background-color: var(--welcart-orange);
	border-color: var(--welcart-orange);
}

/* Tables
------------------------------------------------------------ */
.customer_form,
.delivery_form,
#confirm_table,
#point_table,
#cart_table,
#memberinfo table,
#memberpages table,
#itempage table {
	width: 100%;
	border-collapse: collapse;
	background-color: #fff;
	border: 1px solid #fff;
}

#cart_table {
	margin-bottom: 1em;
}

#cart_table th,
#cart_table td,
.customer_form th,
.customer_form td,
.delivery_form th,
.delivery_form td,
#confirm_table th,
#confirm_table td,
#point_table th,
#point_table td,
#memberinfo th,
#memberinfo td,
#memberpages th,
#memberpages td,
#itempage th,
#itempage td {
	line-height: 1.6;
	vertical-align: middle;
	border: 1px solid #fff;
	border-bottom: 1px solid #ccc;
	padding: 0.75em;
}

#cart_table th,
.customer_form th,
.delivery_form th,
#confirm_table th,
#point_table th,
#memberinfo th,
#memberpages th,
#itempage th {
	color: #fff;
	font-weight: 700;
	text-align: center;
	background-color: var(--welcart-base);
}

#cart_table td,
.customer_form td,
.delivery_form td,
#confirm_table td,
#point_table td,
#memberinfo td,
#memberpages td,
#itempage td {
	background-color: white;
}

#cart_table td.productname,
#confirm_table td.productname,
.aleft {
	text-align: left;
}

.aright,
#cart_table .subtotal,
#cart_table .unitprice,
#confirm_table .subtotal,
#confirm_table .unitprice {
	text-align: right;
}

/* Forms and buttons
------------------------------------------------------------ */
#inside-cart input[type="text"],
#inside-cart input[type="email"],
#inside-cart input[type="tel"],
#inside-cart input[type="password"],
#inside-cart input[type="number"],
#inside-cart textarea,
#inside-cart select,
#memberpages input[type="text"],
#memberpages input[type="email"],
#memberpages input[type="tel"],
#memberpages input[type="password"],
#memberpages input[type="number"],
#memberpages textarea,
#memberpages select,
#itempage input[type="text"],
#itempage input[type="number"],
#itempage textarea,
#itempage select {
	width: 100%;
	max-width: 100%;
	background-color: #fff;
	border: 1px solid var(--welcart-border);
	border-radius: 0.125em;
	padding: 0.5em 1.133em;
	transition: opacity 0.2s ease, border-color 0.2s ease;
}
#itempage select {
	width: unset;
	max-width: unset;
}

#inside-cart input[type="text"]:focus,
#inside-cart input[type="email"]:focus,
#inside-cart input[type="tel"]:focus,
#inside-cart input[type="password"]:focus,
#inside-cart input[type="number"]:focus,
#inside-cart textarea:focus,
#inside-cart select:focus,
#memberpages input[type="text"]:focus,
#memberpages input[type="email"]:focus,
#memberpages input[type="tel"]:focus,
#memberpages input[type="password"]:focus,
#memberpages input[type="number"]:focus,
#memberpages textarea:focus,
#memberpages select:focus,
#itempage input[type="text"]:focus,
#itempage input[type="number"]:focus,
#itempage textarea:focus,
#itempage select:focus {
	outline: 2px solid rgba(238, 138, 30, 0.35);
	outline-offset: 2px;
}

#inside-cart input[type="checkbox"],
#inside-cart input[type="radio"],
#memberpages input[type="checkbox"],
#memberpages input[type="radio"],
#itempage input[type="checkbox"],
#itempage input[type="radio"] {
	width: 1em;
	height: 1em;
	border: 1px solid var(--welcart-border);
	margin-right: 0.35em;
}

#inside-cart input[type="checkbox"]:checked,
#memberpages input[type="checkbox"]:checked,
#itempage input[type="checkbox"]:checked {
	background-color: var(--welcart-blue);
}

#inside-cart input[type="radio"],
#memberpages input[type="radio"],
#itempage input[type="radio"] {
	border-radius: 50%;
}

#inside-cart input[type="radio"]:checked,
#memberpages input[type="radio"]:checked,
#itempage input[type="radio"]:checked {
	box-shadow: inset 0 0 0 0.25em #fff;
	background-color: var(--welcart-blue);
}

#cart .upbutton {
	text-align: right;
	margin-bottom: 1em;
}

#cart .upbutton input,
.send input,
#itempage input.skubutton,
#memberpages input[type="submit"],
#memberpages input[type="button"],
#inside-cart input[type="submit"],
#inside-cart input[type="button"],
#inside-cart button,
.welcart-btn {
	color: #fff !important;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	background-color: var(--welcart-orange) !important;
	border: 1px solid var(--welcart-orange) !important;
	border-radius: 0;
	padding: 1em 1.5em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

#cart .upbutton input:hover,
.send input:hover,
#itempage input.skubutton:hover,
#memberpages input[type="submit"]:hover,
#memberpages input[type="button"]:hover,
#inside-cart input[type="submit"]:hover,
#inside-cart input[type="button"]:hover,
#inside-cart button:hover,
.welcart-btn:hover {
	color: var(--welcart-orange);
	background-color: #fff;
	opacity: 1;
}

.send input.back_cart_button,
.send input.back_to_customer_button,
.send input.back_to_delivery_button,
#memberpages input[type="button"],
#inside-cart input[type="button"]	 {
	background-color: var(--welcart-blue) !important;
	border-color: var(--welcart-blue) !important;
}

.send input.back_cart_button:hover,
.send input.back_to_customer_button:hover,
.send input.back_to_delivery_button:hover,
#memberpages input[type="button"]:hover,
#inside-cart input[type="button"]:hover {
	color: var(--welcart-blue);
	background-color: #fff;
}

#cart input.quantity,
#itempage input.skuquantity,
#itempage select.skuquantity {
	max-width: 5em;
	text-align: center;
}

#cart .welcart-cart-quantity {
	display: inline-block;
	min-width: 2em;
	text-align: center;
}

#itempage select.skuquantity {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image:
		linear-gradient(45deg, transparent 50%, currentColor 50%),
		linear-gradient(135deg, currentColor 50%, transparent 50%);
	background-position:
		calc(100% - 1.1em) calc(50% - 0.14em),
		calc(100% - 0.8em) calc(50% - 0.14em);
	background-size: 0.35em 0.35em, 0.35em 0.35em;
	background-repeat: no-repeat;
	padding-right: 2em;
}

#itempage select.skuquantity::-ms-expand {
	display: none;
}

.send {
	display: flex;
	justify-content: center;
	gap: 1em;
	flex-wrap: wrap;
	margin-top: 2em;
}

.send input.back_to_delivery_button {
	/* margin-top: 1em; */
}

.send input.back_cart_button {
	margin-top: 0;
}

.currency_code,
.no_cart,
.completion_message {
	margin-top: 1em;
}

.no_cart,
.completion_message {
	font-size: 1.125em;
	font-weight: 700;
	text-align: center;
	background-color: #fff;
	border: 1px solid var(--welcart-base);
	filter: var(--welcart-shadow);
	padding: 2em 1em;
}

/* Cart, customer, delivery
------------------------------------------------------------ */
.customer_form tr.inp1,
.customer_form tr.inp2,
.delivery_form tr.inp1,
.delivery_form tr.inp2 {
	background-color: #fff;
}

#customer-info .send,
#delivery-info .send {
	font-size: 1em;
	line-height: 2;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
	padding-top: 1.5em;
}

#customer-info td,
#customer-info th,
#delivery-info td,
#delivery-info th,
#confirm_table td,
#confirm_table th,
#newmember td,
#newmember th,
#memberinfo td,
#memberinfo th {
	font-size: 1em;
	line-height: inherit;
	padding: 0.5em 1em;
}

#customer-info input,
#customer-info select,
#delivery-info input[type="text"],
#delivery-info input[type="email"],
#delivery-info input[type="tel"],
#delivery-info input[type="password"],
#delivery-info .delivery_date,
#delivery-info select,
#delivery-info textarea {
	border: 1px solid var(--welcart-border);
	border-radius: 0.125em;
	background-color: #fff;
	padding: 0.5em 1.133em;
}

#customer-info select,
#delivery-info select {
	padding: 0.5em 1em;
}

#customer-info .customer_form input,
#delivery-info .customer_form input {
	margin-right: 0.5em;
}

#customer-info .customer_form tr.inp1 input,
#delivery-info .customer_form tr.inp1 input {
	display: block;
	margin-left: 0;
}

#customer-info .customer_form tr.inp2 input,
#delivery-info .customer_form tr.inp2 input {
	margin-right: 0.5em;
}

#customer-info input[type="submit"],
#delivery-info input[type="submit"],
#info-confirm input[type="submit"] {
	width: 15em;
	padding: 1em 0;
}

#customer-info .customer_form td[colspan="2"] > input[type="text"],
#customer-info .customer_form td[colspan="2"] > input[type="email"],
#customer-info .customer_form td[colspan="2"] > input[type="tel"],
#customer-info .customer_form td[colspan="2"] > input[type="password"],
#delivery-info .customer_form td[colspan="2"] > input[type="text"],
#delivery-info .customer_form td[colspan="2"] > input[type="email"],
#delivery-info .customer_form td[colspan="2"] > input[type="tel"],
#delivery-info .customer_form td[colspan="2"] > input[type="password"],
#memberpages .customer_form td[colspan="2"] > input[type="text"],
#memberpages .customer_form td[colspan="2"] > input[type="email"],
#memberpages .customer_form td[colspan="2"] > input[type="tel"],
#memberpages .customer_form td[colspan="2"] > input[type="password"] {
	width: 100% !important;
	max-width: 38em;
	display: block;
	margin-right: 0;
}

#customer-info .customer_form td[colspan="2"] > input + *,
#delivery-info .customer_form td[colspan="2"] > input + *,
#memberpages .customer_form td[colspan="2"] > input + * {
	display: inline-block;
	margin-top: 0.35em;
}

#delivery-info .customer_form + .customer_form {
	margin-top: 1.5em;
}

#delivery-info .customer_form td {
	padding-top: 0.875em;
	padding-bottom: 0.875em;
}

#delivery-info .customer_form td > label,
#delivery-info .customer_form dl dt label,
#delivery-info .customer_form .radio {
	font-weight: 600;
	line-height: 1.6;
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
}

#delivery-info .customer_form dl {
	display: grid;
	gap: 1em;
	margin: 0;
}

#delivery-info .customer_form dl dt,
#delivery-info .customer_form dl dd {
	margin: 0;
}

#delivery-info .customer_form dl dd {
	color: #555;
	font-size: 0.875em;
	line-height: 1.7;
	padding-left: 1.75em;
	margin-top: -0.5em;
}

#delivery-info .customer_form input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 1.125em;
	height: 1.125em;
	background-color: #fff;
	border: 1px solid var(--welcart-border);
	border-radius: 50%;
	position: relative;
	flex-shrink: 0;
	margin-right: 0;
}

#delivery-info .customer_form input[type="radio"]::before {
	content: "";
	width: 0.5em;
	height: 0.5em;
	background-color: var(--welcart-orange);
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(0);
	transition: transform 0.2s ease;
}

#delivery-info .customer_form input[type="radio"]:checked::before {
	transform: translate(-50%, -50%) scale(1);
}

#delivery-info .customer_form input[type="radio"]:focus {
	outline: 2px solid rgba(238, 138, 30, 0.35);
	outline-offset: 2px;
}

#delivery-info select {
	min-width: 9em;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image:
		linear-gradient(45deg, transparent 50%, currentColor 50%),
		linear-gradient(135deg, currentColor 50%, transparent 50%);
	background-position:
		calc(100% - 1.1em) calc(50% - 0.14em),
		calc(100% - 0.8em) calc(50% - 0.14em);
	background-size: 0.35em 0.35em, 0.35em 0.35em;
	background-repeat: no-repeat;
	padding-right: 2em;
}

#delivery-info select::-ms-expand {
	display: none;
}

#delivery-info #custom_order {
	margin-top: 1.5em;
}

#delivery-info #custom_order td[colspan="2"] {
	line-height: 1.8;
	background-color: var(--welcart-orange-soft);
	border-left: 0.25em solid var(--welcart-orange);
	padding: 1em 1.25em;
}

#delivery-info #notes_table textarea {
	display: block;
	width: 100%;
	max-width: none;
	min-height: 10em;
	line-height: 1.8;
	resize: vertical;
}

#delivery-info #notes_table td[colspan="2"] {
	padding: 1.25em 1.5em;
}

/* Confirm
------------------------------------------------------------ */
.wc_confirm_notes_area {
	background-color: #fff;
	border: 1px solid var(--welcart-base);
	border-radius: var(--welcart-radius);
	filter: var(--welcart-shadow);
	padding: 1em;
	margin: 2em 0;
}

#confirm_table .ttl,
#confirm_table .ttl td {
	padding: 0;
}

#confirm_table .ttl h3 {
	background-color: #fff;
	border-bottom: 2px solid var(--welcart-orange);
	padding: 0.75em 1em;
}

#info-confirm #confirm_table {
	min-width: 100%;
}

/* Member
------------------------------------------------------------ */
#newmember td,
#newmember th {
	width: unset;
}

#memberinfo h3 {
	font-size: 1em;
	line-height: 2;
	display: block;
	height: unset;
	background-color: unset;
}

#memberpages h3,
#memberpages h4,
#inside-cart h3,
#inside-cart h4 {
	color: var(--welcart-base);
	font-weight: 700;
	line-height: 1.5;
	border-bottom: 2px solid var(--welcart-orange);
	padding-bottom: 0.35em;
	margin: 1.5em 0 0.75em;
}

#memberpages .loginbox,
#memberpages .member_submenu,
#memberpages .history-area {
	background-color: #fff;
	border: 1px solid var(--welcart-base);
	border-radius: var(--welcart-radius);
	filter: var(--welcart-shadow);
	padding: 1.5em;
	margin: 1em 0;
}

#memberpages div.loginbox {
	max-width: 375px;
	width: 100%;
	margin: auto;
}

#memberpages ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#memberpages li + li {
	margin-top: 0.5em;
}

#memberpages #memberinfo ul {
	padding: 1em 0 1em 1.5em;
}

#memberpages #memberinfo li {
	font-size: 0.875em;
	line-height: 2;
}

/* Item detail
------------------------------------------------------------ */
#itempage {
	background-color: #fff;
	padding: 2em;
	filter: var(--welcart-shadow);
}

#itempage form {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.75em;
	align-items: start;
}

#itempage .itemimg {
	width: 100%;
}

#itempage .itemimg a,
#itempage .itemsubimg a {
	display: block;
}

#itempage .itemimg img,
#itempage .itemsubimg img {
	width: 100%;
	height: auto;
	max-height: calc(100vh - var(--header-height) - 10em);
	object-fit: contain;
	background-color: #fff;
	border: 1px solid #d5d5d5;
	border-radius: var(--welcart-radius);
}

#itempage h3 {
	color: #000;
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1.5;
	background-color: unset;
	border-bottom: 2px solid var(--welcart-orange);
	padding-bottom: 0.35em;
	margin-bottom: 0.75em;
}

#itempage h3,
#itempage .exp,
#itempage .skuform {
	width: 100%;
}

#itempage .field {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	border-bottom: 1px solid var(--welcart-border);
	padding: 0.75em 0;
}

#itempage .field_price,
#itempage span.price {
	font-size: 1.35em;
	font-weight: 800;
}

#itempage span.cprice {
	color: #666;
	text-decoration: line-through;
}

#itempage .skuform {
	background-color: var(--welcart-gray);
	border-radius: var(--welcart-radius);
	padding: 1.5em;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

#itempage .item_option {
	margin-bottom: 1em;
}

#itempage .itemsubimg {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.75em;
	width: 100%;
}

#itempage .skumulti {
	min-width: 48em;
}

.assistance_item {
	grid-column: 1 / -1;
	margin-top: 2em;
}

.assistance_item h3 {
	font-size: 1.25em;
}

.assistance_item ul {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(14em, 1fr));
	gap: 1em;
}

.assistance_item li {
	background-color: #fff;
	border: 1px solid #d5d5d5;
	border-radius: var(--welcart-radius);
	filter: var(--welcart-shadow);
	padding: 1em;
}

#itempage .skuform .skuquantity {
	text-align: start;
}

#customer-info th,
#delivery-info th{
	background-color: #000;
	color: white;
	/* width: 100%; */
}
#delivery-info .customer_form dt{
	font-size: 1em;
}
#delivery-info select{
	min-width: 11em;
	max-width: 100%;
}

/* Responsive
------------------------------------------------------------ */
@media screen and (max-width: 1025px) {
	#inside-cart,
	#memberpages,
	#newmember,
	#memberinfo,
	#member_login,
	#lostmemberpassword,
	#changepassword,
	#itempage {
		padding: 1.75em;
	}

	#cart,
	#wc_confirm,
	#itempage .skuform {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	#cart_table,
	#confirm_table {
		min-width: 54em;
	}
}

@media screen and (max-width: 764px) {
	#inside-cart,
	#memberpages,
	#newmember,
	#memberinfo,
	#member_login,
	#lostmemberpassword,
	#changepassword {
		padding: 1.25em;
	}

	.usccart_navi ol.ucart {
		grid-template-columns: repeat(2, 1fr);
	}

	.customer_form,
	.customer_form tbody,
	.customer_form tr,
	.customer_form th,
	.customer_form td,
	.delivery_form,
	.delivery_form tbody,
	.delivery_form tr,
	.delivery_form th,
	.delivery_form td,
	#memberdetail table,
	#memberdetail tbody,
	#memberdetail tr,
	#memberdetail th,
	#memberdetail td {
		display: block;
		width: 100%;
	}

	.history-area #history_head,
	.history-area #history_head+.retail {
		min-width: 73em;
	}

	.customer_form th,
	.delivery_form th,
	#memberpages th {
		border-bottom: 0;
	}

	#customer-info td,
	#customer-info th {
		width: 100%;
	}

	#customer-info th,
	#delivery-info th{
		width: 100%;
	}

	#customer-info input[type="submit"],
	#delivery-info input[type="submit"],
	#info-confirm input[type="submit"] {
		padding: 1em 0;
	}
}

@media screen and (max-width: 480px) {
	#inside-cart,
	#memberpages,
	#newmember,
	#memberinfo,
	#member_login,
	#lostmemberpassword,
	#changepassword,
	#itempage {
		padding: 1em;
	}

	.usccart_navi ol.ucart {
		grid-template-columns: 1fr;
	}

	.send {
		display: grid;
		grid-template-columns: 1fr;
	}

	.send input,
	#cart .upbutton input,
	#itempage input.skubutton,
	#memberpages input[type="submit"],
	#inside-cart input[type="submit"] {
		width: 100%;
	}

	#confirm_table th,
	#confirm_table td {
		width: 100%;
		display: block;
	}
	
	#customer-info input[type="submit"],
	#delivery-info input[type="submit"],
	#info-confirm input[type="submit"] {
		width: unset;
		padding: 1em 0;
	}
}
