@charset "utf-8";
/**
Theme Name: artflair
Version: 1.0.0
Template: astra
*/

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  General　全体的な設定
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* :root設定、bodyへの上書き、カラー変数設定など */
:root{
	--vk-color-primary:#666; /* vk系テーマでは使用していたのでCSS流用のため念の為 */
	--enfont:'Montserrat', sans-serif;
    --onbackorder-price: #557bd5;
	
}


/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Common 汎用パーツ系
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* 繰り返しボタン・見出し、余白設計など 汎用パーツへの上書き */
h2.title-en {
	font-size: 40px;
	font-family: 'Montserrat', sans-serif;
}
.title-border {
	border-left: solid 2px #2b2b2b;
	padding-left: 10px;
}
.text-en {
	font-size: 18px;
	font-family: 'Montserrat', sans-serif;
	margin-top: 0px;
}
.font-small {
	font-size: 14px;
}
.font-xsmal {
	font-size: 12px;
}

#primary .top-button a {
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 300px;
    padding: 16px 25px;
    color: #313131;
    transition: 0.3s ease-in-out;
	border: none;
	box-shadow: 1px 3px 15px 0 rgba(0, 0, 0, 0.2);

}
#primary .top-button a::after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 10px;
  height: 10px;
	border-radius: 1px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg);
}
#primary .top-button span {
	font-size: 16px;
	font-weight: medium;
}
#primary .top-button a:hover::after {
	border-color: #fff;
}
#primary .top-button a:hover {
	background-color: #222;
	opacity: 1;
}

#primary .button-black a {
	background-color: #222;
	border-radius: 50px !important;
	box-shadow: 1px 3px 15px 0 rgba(0, 0, 0, 0.2);
}
#primary .button-black a:hover {
	color: #2b2b2b;
	background: #fff;
	transition: all 0.3s ease;
}

.price,
.wc-block-formatted-money-amount{
    font-family: var(--enfont);
}
.wc-block-formatted-money-amount {
    font-family: var(--enfont);
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Header ヘッダーまわり
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ページコンテント前の上margin削除（問題があればもとに戻してください） */

header#masthead {
    position: sticky !important;
    top: 0;
    background: #fff;
    box-shadow: 0 0 10px rgb(0 0 0 / 20%);
}
div#page {
    overflow-x: unset !important;
}


body.page .content-area.primary {
    margin-top: 0 !important;
}

.site-header .ast-container {
	max-width: 1400px;
}

#menu-item-715 a,
#menu-item-716 a,
#menu-item-717 a {
	padding: 0px 10px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #ffffff;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.08);
	margin-left: 12px;
}
#menu-item-717 a {
	background-color: #2b2b2b;
}
#menu-item-717 a:hover {
	opacity: 0.8;
}
#ast-desktop-header .menu-item i::before {
	font-size: 20px;
	width: 20px;
	display: inline-block;
	text-align: center;
}
#ast-desktop-header .menu-item .fa-solid::before {
	color: #fff;
	font-size: 17.5px;
}


/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Footer フッターまわり
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* フッターウィジェット、フッターロゴ、コピーライト */
.footer-link-last p {
	color: #9B9B9B !important;
}
.footer-link p {
	margin: 0;
	font-size: 14px;
	line-height: 2;
}
.footer-link a:hover {
	opacity: 0.7;
}
.site-below-footer-wrap {
	padding-bottom: 60px;
	border: none !important;
}
.site-below-footer-wrap[data-section="section-below-footer-builder"] {
	background-color: #222222;
}
.ast-footer-copyright p {
	color: #fff;
}
.ast-footer-social-wrap .ast-builder-social-element {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	transition: all 0.2s ease;
}
.ast-footer-social-wrap .ast-builder-social-element:hover {
	opacity: 0.7;
}


/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Toppage トップページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* パーツごとにコメントアウトで注釈を入れてください。 */
/* MV */
div#top-mv-typo * {
    width: fit-content !important;
}
div#top-mv-typo {
    display: flex;
    justify-content: center;
    align-items: center;
}



/* アイコン */
.link-cover {
    min-height: auto;
    height: auto;
	border: solid 2px #2b2b2b !important;
	transition: all 0.2s ease;
}
.link-cover:hover {
	opacity: 0.7;
}
.link-cover, .wp-block-cover-image {
	padding: 0.4em;
}

/* 商品 */
.home .entry-content ul, .home .entry-content ol {
	padding: 0px;
}
.wc-block-product .taxonomy-product_brand {
	margin-top: 20px;
		margin-bottom: 0px;
}
.wc-block-product .taxonomy-product_brand a {
	color: #808080;
	font-weight: bold;
	text-decoration: none;
}
.wc-block-product .wp-block-post-title {
	margin-bottom: 20px !important;
}
.wc-block-product .wp-block-post-title a {
	font-size: 16px;
	text-decoration: none;
}
.products .yith-wcwl-add-to-wishlist-button__label {
	display: none;
}
#yith-wcwl-icon-heart-outline {
	width: 25px;
}

/* TOP カテゴリリスト（ショートコードで出力） */
ul.top_categorylist {
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    list-style: none;
	gap:1rem;
}
ul.top_categorylist>li {
}
ul.top_categorylist>li>a {
    font-family: 'Montserrat';
    font-weight: bold;
    text-decoration: none !important;
    font-size: 2rem;
}
ul.top_categorylist>li>span {
    display: none;
}
ul.child {
    columns: 5;
    column-gap: 1rem;
    column-width: 200px;
}
ul.child>li {
    break-inside: avoid;
    list-style: none;
	margin-bottom:1rem;
}
ul.child>li>a {
    font-weight: bold;
}
ul.grandchild {
    padding-left: 1em !important;
    list-style: none;
    font-size: 14px;
    opacity: 0.8;
}


/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Pageheader, Breadcrumb 下層ページヘッダー・パンくずリスト
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* 下層ページのページヘッダー、パンクズ設定 */

body:not(.home):not(.blog) header.entry-header:not(:empty) {
    background: #eee;
    padding: 3em 0;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
}

.entry-title {
	margin-bottom: 0px;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  EC アーカイブページ、ループパーツ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* パーツごとにコメントアウトで注釈を入れてください。 */

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  EC 詳細ページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* パーツごとにコメントアウトで注釈を入れてください。 */

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  EC 機能ページ（カート、レジ、マイページなど）
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* パーツごとにコメントアウトで注釈を入れてください。 */

/* TOPの一覧 */
ul.products * {
    transition: .3s;
}
ul.products li.product {
    align-self: self-start;
}
a.woocommerce-LoopProduct-link:hover{
	filter:brightness(0.9);
}
li.outofstock img {
    filter: grayscale(1) brightness(0.8);
}
/* li.outofstock:hover img {
    filter: grayscale(1) brightness(0.6);
} */

ul.products li.product .product-brand {
    font-size: .85em;
    margin-bottom: .5em;
    display: block;
    line-height: 1.3;
    opacity: .6;
    display: inline;
}
ul.products li.product a.woocommerce-LoopProduct-link.woocommerce-loop-product__link {
    pointer-events: none;
}
.astra-shop-thumbnail-wrap {
    display: contents;
}

ul.products li.product .ast-shop-product-out-of-stock,
ul.products li.product .woocommerce-loop-category__title,
ul.products li.product .ast-shop-product-out-of-stock,
ul.products li.product .woocommerce-loop-category__title {
	font-size: 0;
    aspect-ratio: 3 / 4;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgb(0 0 0 / 10%) !important;
}
ul.products li.product .woocommerce-loop-product__link:hover .ast-shop-product-out-of-stock,
ul.products li.product .woocommerce-loop-product__link:hover .ast-shop-product-out-of-stock {
    background: none !important;
}

.ast-shop-product-out-of-stock::after {
  content: "現在貸出中";
  font-size: 1.2rem; 
  color: #fff;
	text-shadow: 0 0 30px #000;
}

.products .wc-block-components-product-stock-indicator,
.products .stock {
	display: none;
}
.price .woocommerce-Price-amount {
	color: #F0191A;
	font-size: 20px;
	font-weight: bold;
}
.price .woocommerce-Price-currencySymbol {
	font-size: 16px;
}
small.woocommerce-price-suffix {
    font-size: 12px;
    font-weight: normal;
    opacity: 0.8;
}
.woocommerce-js ul.products .price {
    text-align: right;
}
ul.products li.product .price {
    margin-bottom: 0;
    min-height: 40px;
    align-items: center;
    margin-top: 2em;
}
ul.products .product-new-badge {
    position: absolute;
    background: #e60023;
    color: white;
    padding: 2px 8px;
    font-size: 12px;
    font-weight: bold;
    z-index: 10;
}
.woocommerce-js ul.products li.product .price {
/* 	display: flex;
	justify-content: space-between; */
	text-align: right;
}
li.outofstock span.woocommerce-Price-amount {
    color: gray;
} 

ul.products li.product .yith-add-to-wishlist-button-block {
    position: absolute;
    bottom: 15px;
}
ul.products li.product button.yith-wcwl-add-to-wishlist-button {
    width: 40px;
    height: 40px;
    justify-content: center;
    padding: 0 !important;
}
ul.products li.product .yith-add-to-wishlist-button-block {
    margin: 0;
}


/* 商品一覧hover */
ul.products li.product a.ast-loop-product__link::after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
ul.products li.product a.ast-loop-product__link {
    text-decoration: underline;
	text-decoration-color:transparent;
	transition:.3s;
}

ul.products li.product a.ast-loop-product__link:hover {
    text-decoration-color:unset !important;
}

/* お取り寄せ（on back order) */
ul.products li.onbackorder span.price {
    margin-top: 1em;
}
ul.products li.onbackorder span.price::before {
    content: 'クリーニング中';
    font-size: 12px;
    font-weight: normal;
    background: #333;
    color: #fff;
    padding: .1em 0.4em;
    margin-right: .5em;
    letter-spacing: -0.05em;
    display: block;
    width: fit-content;
    margin-left: auto;
}
ul.products li.onbackorder .price .woocommerce-Price-amount {
    color: var(--onbackorder-price);
}



/* お買い物カゴ */
.wc-block-cart-item__wrap .wc-block-components-product-badge,
.wc-block-cart-item__wrap .wc-block-cart-item__prices,
.wc-block-cart-item__wrap .wc-block-components-quantity-selector {
	display: none;
}

/* 商品個別ページ */

/* 商品個別 右カラム並び替え */
.summary.entry-summary {
    display: flex;
    flex-direction: column;
}
.summary.entry-summary>*{
	transition:none;
}
.summary.entry-summary nav.woocommerce-breadcrumb {
    order: 1;
}
.summary.entry-summary span.single-product-category {
    order: 2;
}
.summary.entry-summary h1.product_title.entry-title {
    order: 3;
}
.summary.entry-summary p.stock {
    order: 3;
    margin-bottom: 0;
}
.summary.entry-summary p.price {
    order: 4;
}
.summary.entry-summary .woocommerce-product-details__short-description {
    order: 5;
}
.summary.entry-summary .product_meta {
    order: 6;
	border-top: none !important;
    padding-top: 0 !important;
    margin-bottom: 2rem !important;
}
.summary.entry-summary form.cart {
    order: 7;
}
.summary.entry-summary p.stock.out-of-stock {
    order: 7;
}
.summary.entry-summary .yith-add-to-wishlist-button-block {
	order: 8;
	width: 100%;
}

/* 商品個別　右カラム　各パーツ */
.entry-summary .price {
	padding: 20px 0;
}
.woocommerce-js div.product.onbackorder p.price .woocommerce-Price-amount{
	color:var(--onbackorder-price);
}
.onbackorder .entry-summary .price .woocommerce-Price-amount::before {
    content: 'クリーニング中';
    font-size: 12px;
    font-weight: normal;
    background: #333;
    color: #fff;
    padding: .1em 0.4em;
    margin-right: .5em;
    letter-spacing: -0.05em;
    display: inline-block;
    vertical-align: middle;
}
.entry-summary .price .woocommerce-Price-amount {
	font-size: 24px;
}
.entry-summary .price .woocommerce-Price-currencySymbol {
	font-size: 20px;
}
.woocommerce-js div.product form.cart div.quantity {
	display: none;
}
.woocommerce-breadcrumb a {
	text-decoration: underline;
}
.woocommerce-product-details__short-description {
	font-size: 14px;
}
.posted_in a {
	color: #777;
	text-decoration: underline;
}
.woocommerce-js a:hover {
	opacity: 0.7;
}
.woocommerce div.product form.cart .button.single_add_to_cart_button {
	background-color: #D24646;
	border: none;
	border-radius: 50px;
	padding: 20px;
	transition: all 0.3s ease;
	box-shadow: 1px 3px 15px 0 rgba(0, 0, 0, 0.2);
	margin-bottom: 1rem;
}
.woocommerce div.product.onbackorder form.cart .button.single_add_to_cart_button {
	background-color: var(--onbackorder-price);
}
.woocommerce div.product.onbackorder form.cart .button.single_add_to_cart_button::after {
    content: 'お取り置き';
    background: #333;
    padding: .1em .3em;
    font-size: 0.8em;
    margin-left: 1em;
}

.woocommerce div.product form.cart .button.single_add_to_cart_button:hover {
	opacity: 0.8;
}
.woocommerce-js div.product form.cart .button {
	margin-bottom: 2.5em;
}
.woocommerce-js div.product .ast-stock-detail{
/* 在庫有りは表示しない */
	display:none;
}
.woocommerce-js div.product .out-of-stock {
/* 在庫なしはボタンと同じような見た目に */
	padding: 13px 20px;
	color: #2b2b2b;
    background-color: #DBC1C1;
    border-radius: 50px;
	text-align: center;
    transition: all 0.3s ease;
	margin-top: 1.75em;
    margin-bottom: 1rem;
}
.woocommerce-js div.product button.yith-wcwl-add-to-wishlist-button {
    width: 100%;
    justify-content: center;
    padding: 15px;
}
/* 商品　メタ情報（下部） */
.woocommerce-js div.product .product_meta>span {
    display: block;
    font-size: 14px;
    font-weight: 400;
}

.entry-summary .price {
	text-align: right;
}

/* 買い物カゴ */
.wc-block-components-totals-item__value .wc-block-components-totals-footer-item-tax-value {
	color: #F0191A;
}
[CLASS*="wc-block"] .wc-block-components-button {
	background-color: #D24646;
	border-radius: 50px;
	padding: 18px 20px !important;
	transition: all 0.3s ease;
	box-shadow: 1px 3px 15px 0 rgba(0, 0, 0, 0.2);
}
[CLASS*="wc-block"] .wc-block-components-button:hover {
	background-color: #D24646;
	opacity: 0.8;
}
[CLASS*="wc-block"] .wc-block-components-button:focus {
	background-color: #D24646;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Page 下層ページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* ページごと、パーツごとにコメントアウトで注釈を入れてください。 */

/* 会社概要 情報*/
.wp-block-table table,
.wp-block-table td,
.wp-block-table th {
  border: none;
}
.wp-block-table td, 
.wp-block-table th {
	padding: 1.5rem 1rem;
  border-bottom: 1px solid #555;
}

/* ご利用ガイド 流れ */
.flow-lists.wp-container-core-columns-is-layout-0a3eeb5b {
	gap: 30px;
}
.flow-list {
	padding: 2rem 1rem;
	box-shadow: 0px 0px 2px 0 rgba(0, 0, 0, 0.2);
	position: relative;
}
.flow-list:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: -17px;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 10px;
  height: 10px;
	border-radius: 1px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg);
}
@media (max-width: 768px) { 
	.flow-lists.wp-container-core-columns-is-layout-0a3eeb5b {
	gap: 50px;
    }
	.flow-list:not(:last-child)::after {
    top: auto;
    bottom: -25px;
    right: 50%;
    left: 50%;
    transform: translateX(-50%) rotate(135deg);
  }
  .wp-block-columns .flow-list.wp-block-column:not(:last-child) {
		margin-bottom: 0;
  }
}

/* お知らせ */
.post-content .ast-blog-single-element a:hover {
	opacity: 0.7;
}
.post-content .entry-header {
	margin-bottom: 1.5em;
}
.ast-blog-layout-5-grid .ast-article-post {
	margin-bottom: 3em;
}


/* 会社概要　＞　代表あいさつ */


/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Blog Archive　ブログ一覧ページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* パーツごとにコメントアウトで注釈を入れてください。 */



/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Blog Single　ブログ詳細ページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* パーツごとにコメントアウトで注釈を入れてください。 */


/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Snow Monkey Forms 調整
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* プログレストラッカー */

.smf-progress-tracker {
    margin-bottom:var(--vk-margin-block-bottom);
}
.smf-progress-tracker__item__number {
    background: var(--vk-color-primary) !important;
    color: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    width: 50px;
    height: 50px;
    filter: grayscale(0.8);
}
.smf-progress-tracker__item__text {
    font-size: 1rem;
    font-weight: bold;
    opacity: 0.8;
}
.smf-progress-tracker__item:after, .smf-progress-tracker__item:before {
    background: #ddd;
    top: 25px;
    height: 3px;
}
[data-screen=back] .smf-progress-tracker__item--input .smf-progress-tracker__item__number,
[data-screen=complete] .smf-progress-tracker__item--complete .smf-progress-tracker__item__number,
[data-screen=confirm] .smf-progress-tracker__item--confirm .smf-progress-tracker__item__number,
[data-screen=input] .smf-progress-tracker__item--input .smf-progress-tracker__item__number,
[data-screen=invalid] .smf-progress-tracker__item--input .smf-progress-tracker__item__number{
    filter: none;
}

/* フォーム要素 */
.smf-form input,
.smf-form textarea{
    font-family: unset !important;
}
/* SPメールフォーム拡大対策 */
@media (max-width: 992px) { 
	input, textarea, select {
		font-size:16px !important;
	}
}
.smf-control-description {
    font-size: 0.875rem;
    opacity: 0.8;
}

@media (max-width: 992px) { 
	.smf-item__col.smf-item__col--label {
		margin-bottom:1rem;
	}
}
.device-pc form.snow-monkey-form:not([data-screen="confirm"]) .smf-item__label {
    padding-top: 0.5rem;
}
.smf-item__label__text {
    font-weight: bold;
}
.smf-item__description {
    font-size: 0.875rem;
    opacity: 0.8;
}
.smf-item__label::after {
    float: right;
/*     margin-right: 1rem; */
    background: #eee;
	color: #777;
    font-size: 0.875rem;
    padding: 3px 9px;
    border-radius: 3px;
}
.is-style-smf-required .smf-item__label::after {
    content: '必須';
    background: #f44;
    color: #fff;
}
.is-style-smf-unrequired .smf-item__label::after {
	content:'任意';
}
.smf-item__controls input,
.smf-item__controls select {
    line-height: 1.6;
}
/* ラジオ・チェック・セレクト */
.smf-checkbox-control,
.smf-radio-button-control{
    cursor: pointer;
	display: block;
    padding: 0.5em;
	position:relative;
}
input.smf-checkbox-control__control,
input.smf-radio-button-control__control {
    pointer-events: none;
    accent-color: var(--vk-color-primary);
}
.smf-radio-buttons-control--horizontal .smf-radio-buttons-control__control,
.smf-checkboxes-control--horizontal .smf-checkboxes-control__control {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 2rem;
}
span.smf-checkbox-control input:checked+span::before,
span.smf-radio-button-control input:checked+span::before {
    background: var(--vk-color-primary);
    opacity: 0.1;
    border-radius: var(--vk-size-radius);
    pointer-events: none;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/* 住所 */
.form-address-group {
    gap: 0 1em;
}
input#zip,select#pref {
    min-width: 260px;
}
form.snow-monkey-form[data-screen="confirm"] .smf-addressbox .wp-block-group__inner-container{
    display: flex !important;
    flex-direction: row !important;
    gap: 1em;
}
form.snow-monkey-form[data-screen="confirm"] .smf-addressbox .wp-block-group__inner-container *:first-child{
    min-width:120px;
}
/* ファイル */
input.smf-file-control__control {
    display: none;
}
span.smf-file-control__label {
    border: solid 1px var(--vk-color-primary);
    border-radius: var(--vk-size-radius);
    color: var(--vk-color-primary);
    font-size: 0.875em;
    padding: 0.3em 0.8em;
    margin-right: 0.5rem;
    cursor: pointer;
}
span.smf-file-control__clear {
    opacity: 0.4;
    font-size: 0.8em;
    border: solid 1px;
    padding: 0.1em 0.4em;
    margin-left: 2rem;
    cursor: pointer;
}
.smf-file-control.smf-file-control--set span.smf-file-control__filename--no-file {
    display: none; /* ファイルがセットされているとき「選択されていません」を表示しない */
}
.smf-file-control:not(.smf-file-control--set) span.smf-file-control__filename--has-file {
    display: none; /* ファイルがセットされていないとき「ファイル名」を表示しない */
}
/* 同意 */
.smf-form--simple-table .wp-block-snow-monkey-forms-item.smf-agreement {
    border: none;
    padding: 1rem 0;
}
.smf-agreement span.smf-checkbox-control {
    width: fit-content;
    margin: auto;
}
.smf-agreement span.smf-checkbox-control input:checked+span::before{
    content:none;
}
form.snow-monkey-form[data-screen="confirm"] .smf-agreement {
    display: none;
}

.smf-form {
    margin-bottom:var(--vk-margin-block-bottom);
}
.smf-button-control button[type="submit"] {
    font-size: 1rem;
    background-color: var(--vk-color-primary);
    border-radius: var(--vk-size-radius);
    color: #fff;
    padding: 0.5em 2em;
    min-height: 50px;
    min-width: 150px;
    font-family: unset;
    transition: .3s;
}
.smf-button-control button[type="submit"]:hover {
    background-color: var(--vk-color-primary-dark);
}
.smf-button-control button[data-action="back"],
.smf-button-control button[data-action="back"]:hover{
    border: solid 1px var(--vk-color-primary);
    color: var(--vk-color-primary);
    background: #fff;
}
.smf-button-control button[data-action="back"]:hover {
    filter: brightness(0.9) grayscale(1);
    border-color: transparent;
}
/* スタイル：テーブル */
.smf-form--simple-table .wp-block-snow-monkey-forms-item {
    border-bottom: solid 1px #BFBFBF;
    padding: 1.5rem 1rem;
    gap:1rem;
}
/* スタイル：レター */
.smf-form--letter .wp-block-snow-monkey-forms-item {
    display: flex;
    gap: 1rem;
    flex-direction: column;
    padding: 0 0 2rem;
}
/* 入力不備 */
.smf-form .smf-item [data-invalid="1"]{
	background: #ffeeee;
	border: solid 3px #ff4444;
}
.smf-error-messages {
    font-weight: bold;
    position: relative;
    color:#ff4444;
}
.smf-agreement {
    text-align: center;
}
.smf-error-messages::before {
    content: '\f06a';
    font-family: 'Font Awesome 5 Free';
    font-weight: 600;
    padding-right: 0.5em;
}

/*完了画面*/
.smf-complete-content p.has-background {
  padding: 0.25rem 1rem;
}

/* ボタン */
.smf-action {
	padding-top: 50px;
}
.smf-button-control button[type="submit"] {
	background-color: #2b2b2b;
	border-radius: 5px;
	border: solid 2px #2b2b2b;
	font-weight:bold;
}
.smf-button-control button[type="submit"]:hover {
	color: #2b2b2b;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  その他・追加機能
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* パーツごとにコメントアウトで注釈を入れてください。 */

/* もとからあった。不明 */
.woocommerce-js .select2-container .select2-selection--single,
.woocommerce-js select,
.woocommerce-page .select2-container .select2-selection--single,
.woocommerce-page select {
    padding: 0em;
}

.grecaptcha-badge{
	bottom:85px !important;
}

/* 404 */
.error404 h1.page-title {
    font-size: 2rem;
}

/* カゴ */

.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block {
    display: none;
    visibility: hidden;
}

/* 確認 */
div.wc-block-components-address-form__namespace-date::after {
    content: '月日を半角数字4ケタでご記入ください\A【例：12月25日→1225】';
	white-space: pre;
    display: block;
	max-width:100%;
	font-size: .875em;
    line-height: 1.2;
    margin: .5em 0 0;
}
.woocommerce-checkout h3.wc-block-components-product-name {
    font-size: 1.2rem;
}

.woocommerce-checkout .wc-block-components-product-low-stock-badge {
    display: none;
    visibility: hidden;
}

.woocommerce-checkout .price.wc-block-components-product-price {
    display: none;
}

/* 検索ページ */
.search .ast-archive-description {
    text-align: unset;
    padding-left: unset !important;
    padding-right: unset;
    padding-top: unset;
}


/*vk検索枠*/
form.wp-block-vk-filter-search-pro-filter-search-pro{
/*     background: #fff; */
/*     padding: 2rem; */
}
.vkfs__call-filter-search .vkfs__labels {
    /* gap: 1rem; */
}
.vkfs__outer-wrap:not(:last-child) {
    border-bottom: solid 1px #ddd;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}
.vkfs__label-name {
  color: var(--vk-color-primary);
  font-size: 1rem;
	font-weight:bold;
	display:block;
}
.vkfs__taxonomy .vkfs__label-name{
	display:block;
}
@media (min-width: 992px) {
.vkfs:where(:not(.vkfs__layout--min)) .vkfs__outer-wrap {
	display: grid;
    grid-template-columns: 100px 1fr;
    gap: 1rem 2rem;
}
}
ul.vkfs__input-wrap.vkfs__input-wrap--checkbox {
    margin-top: 0;
}
button.vkfs_submit{
    width: 100%;
    position: sticky !important;
    display: block;
    bottom: 30px;
    z-index: 100;
    box-shadow: 0px 4px 10px rgb(0 0 0 / 10%);
    margin-top: 2rem;
    font-size: 1.2rem;
}


/* side bar list */
ul.wc-block-product-categories-list.wc-block-product-categories-list--depth-0>li {
    padding: 0;
}
ul.wc-block-product-categories-list.wc-block-product-categories-list--depth-0>li>a>span {
    font-weight: bold;
    font-size: 1rem;
}
ul.wc-block-product-categories-list li:first-child {
    margin-top: 0.75em;
}
ul.wc-block-product-categories-list.wc-block-product-categories-list--depth-1>li {
    padding: 0;
}
ul.wc-block-product-categories-list.wc-block-product-categories-list--depth-2>li {
    padding-left: 1rem;
}
ul.wc-block-product-categories-list.wc-block-product-categories-list--depth-2>li>a {
    color: #777;
}
