/* ==========================================================
   共通 CSS
========================================================== */

/* ヘッダーロゴ：ホバー設定 */
.-img .c-headLogo__link:hover {
	opacity: 0.8;
}

/* 「フッター」と「フッター直前ウィジェット」の間の余白をなくす（カスタマイズ内設定を強制オン） */
.l-footer__foot, .l-footer__widgetArea {
    padding-bottom: 0;
    padding-top: 0;
}

/* トップへボタンを非表示 */
.p-fixBtnWrap {
    display: none;
}

/* 純正コピーライトを非表示 */
.l-footer .copyright {
    display: none;
}


/* ========================================
   共通フッター
======================================== */

#common-footer {
	background-color: #222;
	font-family: 'Futura', var(--swl-font_family);
	padding: 4rem 4rem;
}
#common-footer a {
	text-decoration: none;
}
#common-footer a:hover {
	opacity: 0.8;
}
.common-footer-column {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1rem;
	margin: 0rem 0rem 3rem 0;
}
.common-footer-column h4 {
	color: #fff;
	font-size: 0.9em;
	font-weight: normal;
	padding: 0.5rem 0;
}
.common-footer-column ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.common-footer-column li {
	padding: 0 0 0.5rem 0.3rem;
}
.common-footer-column li a {
	color: #aaa;
	font-size: 0.8em;
	font-weight: normal;
}
.common-footer-copy {
	text-align: center;
}
.common-footer-copy p {
	color: #555;
	font-size: 0.9em;
	margin: 0;
}
.common-footer-copy nav {
	margin-top: 0.3rem;
}
.common-footer-copy nav a {
	color: #555;
	font-size: 0.8em;
	padding: 0 0.5rem;
	border-right: 1px solid #333;
}
.common-footer-copy nav a:last-child {
	border-right: none;
}


/* ========================================
   FluentCart
======================================== */

/* グローバルエラー通知（トースト通知）非表示 */
.toastify.toastify-top.toastify-right {
  display: none !important;
}

.post_content .wp-block-fluent-cart-products h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before, .post_content .fct-cart-page h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before, .post_content .fct-product-list-container h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
	height: 0;
}

/* Index */

.top #content:has(.wp-block-fluent-cart-products) {
	padding-top: 70px;
	margin: 0 auto 45px;
}
.fct-shop-filter-toggle-button {
	position: absolute;
    top: 10px;
    right: 4vw;
    padding: 1.5em 5px;
    font-weight: bold;
	opacity: 0.3;
}
.fct-shop-product-search {
	margin-bottom: 25px;
}
.fct-shop-item-collapse-wrap {
	display: none;
}
.fct-shop-view-switcher {
	display: none;
}
.fct-products-wrapper .fct-products-wrapper-inner {
	gap: 30px;
}
.post_content .fct-product-card .fct-product-card-image-wrap {
	margin-top: -4px !important;
}
.post_content .fct-product-card h3 {
	margin-bottom: 0;
	padding-top: 10px;
}
.post_content .fct-product-card h3 a:hover {
	opacity: 0.8;
	text-decoration: none;
}
.fct-shop-paginator {
	flex-direction: column;
}
.fct-shop-paginator-result-wrapper {
	gap: 20px;
	margin: 0;
}
.fct-shop-per-page-selector select {
	padding: 0;
}
.fct-shop-paginator .fct-shop-paginator-pager {
	border: none;
}
.fct-shop-paginator .fct-shop-paginator-pager button {
	max-height: 25px;
	min-width: 25px;
	margin: 0 3px;
}

/* Item */

.post_content:has(.fct-single-product-page) {
	margin: 0;
}
.post_content .fct-single-product-page {
	display: block;
	margin-bottom: 2em;
}
.fct-product-gallery-thumb img {
	display: block;
	object-fit: contain;
    background: #000;
}
.fct-product-list-container .fct-product-list-heading {
	margin: 1em 0 1em;
}

/* Cart */

.post_content:has(.fct-cart-page) {
	margin-top: 2em;
}
.post_content .fluent-cart-cart-empty-content {
	margin-top: -4em !important;
	margin-bottom: 8em !important;
}
.post_content .fct-cart-drawer-list-content {
	padding-left: 0;
}
.post_content .fct-cart-page h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
	padding: 0;
	margin: 0;
}
.post_content .fct-cart-page h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
	padding: 0 0.5em 0 0;
}
.post_content .fct-cart-page .fct-cart-total-wrapper {
	margin: 1em 1em 2.5em 1em;
}
.post_content .fct-cart-page .fluent-cart-cart-cart-button-wrap {
	justify-content: center;
}
.post_content .fct-cart-page .fluent-cart-cart-cart-button-wrap a.checkout-button {
	display: block;
	width: 250px;
	padding: 10px 0;
	margin: auto;
	background: #333;
	color: #FFF;
	font-size: 14px;
	text-decoration: none;
	text-align: center;
}
.post_content .fct-cart-page .fluent-cart-cart-cart-button-wrap a.checkout-button:hover {
	opacity: 0.8;
}
.fct-cart-item .fct-cart-item-details .fct-cart-item-title a:hover, .fluent-cart-cart-empty-content-text a:hover {
	opacity: 0.8;
	text-decoration-line: none;	
}

/* Checkout */

.post_content:has(.fluent-cart-checkout-page) {
	margin-top: 3em;
}
.l-content:has(.fluent-cart-checkout-page) {
	margin: 0 auto 4em;
}
.post_content .fct_checkout_form .fct_checkout_form_section .fct_form_section_header {
	margin-top: 24px !important;
}

.fct-heandro-billing-email-notice {
	margin: 12px 0;
	font-size: 12px;
	line-height: 1.5em;
	--tw-text-opacity: 1;
	color: rgb(105 103 120 / var(--tw-text-opacity, 1));
	color: #ADB5C2;
}




/* 請求先住所フォーム並び替え */
#billing_address_section_section .fct_checkout_input_group {
	display: flex;
	flex-direction: column;
}
#billing_address_section_section .fct_checkout_input_group #fct_wrapper_billing_country { order: 1; }
#billing_address_section_section .fct_checkout_input_group #billing_state_wrapper { order: 2; }
#billing_address_section_section .fct_checkout_input_group .fct_checkout_city_postcode { order: 3; }
#billing_address_section_section .fct_checkout_input_group #fct_wrapper_billing_address_1 { order: 4; }
#billing_address_section_section .fct_checkout_input_group #fct_wrapper_billing_address_2 { order: 5; }


.fct_checkout_input_group .fct_form_sub_section_wrapper .fct_input_wrapper:first-child input {
    border-radius: 0 0 0 0px / 0px 0px 0px 0px;
}
.fct_checkout_input_group .fct_form_sub_section_wrapper .fct_input_wrapper:last-child input {
    border-radius: 0 0 0px / 0px 0px 0px;
}
#billing_address_section_section .fct_checkout_input_group #fct_wrapper_billing_address_1 #billing_address_1 {
	border-top: 0.5px;
}
#billing_address_section_section .fct_checkout_input_group #fct_wrapper_billing_address_2 #billing_address_2 {
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	box-shadow: inset 0 -1px 0 var(--fct-checkout-border-color);
}



/* 配送先住所フォーム並び替え */
#shipping_address_section_section .fct_checkout_input_group {
	display: flex;
	flex-direction: column;
}
#shipping_address_section_section .fct_checkout_input_group #fct_wrapper_shipping_full_name { order: 1; }
#shipping_address_section_section .fct_checkout_input_group #fct_wrapper_shipping_country { order: 2; }
#shipping_address_section_section .fct_checkout_input_group #shipping_state_wrapper { order: 3; }
#shipping_address_section_section .fct_checkout_input_group .fct_checkout_city_postcode { order: 4; }
#shipping_address_section_section .fct_checkout_input_group #fct_wrapper_shipping_address_1 { order: 5; }
#shipping_address_section_section .fct_checkout_input_group #fct_wrapper_shipping_address_2 { order: 6; }


#shipping_address_section_section .fct_checkout_input_group #fct_wrapper_shipping_address_1 #shipping_address_1 {
	border-top: 0.5px;
}
#shipping_address_section_section .fct_checkout_input_group #fct_wrapper_shipping_address_2 #shipping_address_2 {
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	box-shadow: inset 0 -1px 0 var(--fct-checkout-border-color);
}




/* 追加住所フォーム並び替え */
.additional-address-field .fct_checkout_input_group {
	display: flex;
	flex-direction: column;
}
.additional-address-field .fct_checkout_input_group #billing_label_wrapper { order: 1 !important; }
.additional-address-field .fct_checkout_input_group #billing_name_wrapper:has(#billing_full_name) { order: 2 !important; } /* 氏名 */
.additional-address-field .fct_checkout_input_group #billing_name_wrapper:has(#billing_company_name) { order: 3 !important; display: none; } /* 会社名 */
.additional-address-field .fct_checkout_input_group #billing_country_wrapper { order: 4 !important; }
.additional-address-field .fct_checkout_input_group #billing_state_wrapper { order: 5 !important; }
.additional-address-field .fct_checkout_input_group #billing_city_zip_section { order: 6 !important; }
.additional-address-field .fct_checkout_input_group #billing_address_1_wrapper { order: 7 !important; }
.additional-address-field .fct_checkout_input_group #billing_address_2_wrapper { order: 8 !important; }

.additional-address-field .fct_checkout_input_group #billing_name_wrapper #billing_full_name {
	border-bottom: 0.5px;
}
.fct_add_new_address_form #billing_city_zip_section .fct_input_wrapper:first-child input {
	border-bottom-left-radius: 0;
}
.fct_add_new_address_form #billing_city_zip_section .fct_input_wrapper:last-child input {
	border-bottom-right-radius: 0;
}
.additional-address-field .fct_checkout_input_group #billing_address_1_wrapper #billing_address_1 {
	border-top: 0.5px;
}
.additional-address-field .fct_checkout_input_group #billing_address_2_wrapper #billing_address_2 {
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	box-shadow: inset 0 -1px 0 var(--fct-checkout-border-color);
}







.post_content .fct_payment_methods_list .fct_payment_method_offline_payment {
	margin: 25px 0 25px 0 !important;
}
.fct_payment_method_stripe::before {
	content: "クレジットカード";
	position: absolute;
	top: -24px;
	right: 5px;
	color: #ADB5C2;
	font-size: 18px;
	z-index: -1;
}
.fct_payment_method_offline_payment::before {
	content: "銀行振込";
	position: absolute;
	top: -24px;
	right: 5px;
	color: #ADB5C2;
	font-size: 18px;
	z-index: -1;
}
.fct_payment_method_offline_payment.fct_payment_method_logo .fct_payment_method_instructions {
	padding: 5px 20px 15px 20px;
}
.fct_payment_method_offline_payment.fct_payment_method_logo .fct_payment_method_instructions p.b0 {
	font-size: 16px;
	font-weight: bold;
}
.fct_payment_method_offline_payment.fct_payment_method_logo .fct_payment_method_instructions p.b1 {
	font-size: 13px;
	margin: 15px 0 5px 0;
}
.fct_payment_method_offline_payment.fct_payment_method_logo .fct_payment_method_instructions p.b2 {
	font-size: 16px;
	font-weight: bold;
}
.fct_payment_method_offline_payment.fct_payment_method_logo .fct_payment_method_instructions p.b3 {
	font-size: 13px;
	color: #ADB5C2;
	margin: 5px 0 0 0;
}

.post_content .fct_checkout_summary .fct_line_item {
	padding: 20px 0 20px 0;
}
.post_content .fct_checkout_summary .fct_line_item:first-child {
	padding-top: 10px;
}
.post_content .fct_checkout_summary .fct_coupon {
	padding-top: 10px;
}
.fct_line_item .fct_item_title a:hover, .fct_coupon .fct_coupon_toggle a:hover {
	opacity: 0.8;
	text-decoration-line: none;
}

/* Account */

/* ビジーカーソル対策 */
.fct-customer-root-container {
    cursor: default;
}
.fct-customer-root-container a,
.fct-customer-root-container button {
    cursor: pointer !important;
}




