/**
 * body class theme-embex-ec
 * style
 */

@import url(https://fonts.googleapis.com/icon?family=Material+Icons);
@import url(https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined);


/* ======================================================================
 *
 * HTML
 *
 * ====================================================================== */

select {
    appearance: none;       /* ブラウザ標準の矢印を非表示 */
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #fff;
    border: 1px solid #ccc;
    padding: 15px 20px;
    font-size: 14px;
    color: #333;
    border-radius: 0;
    line-height: 1;
    width: auto;
    max-width: 100%;
    box-sizing: border-box;
    cursor: pointer;
}

a:focus,
button:focus,
.button.alt:focus,
input:focus,
textarea:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus {
    outline: none;
}

/* ======================================================================
 *
 * 共通
 *
 * ====================================================================== */
.hide {
	display: none;
}
.icon-required {
    border: solid 1px #f00;
    border-radius: 3px;
    font-size: 0.75rem;
    padding: 0.1rem 0.2rem;
    color: #f00;
    font-weight: normal;
    margin: 0 5px 0 0;
}

/* ======================================================================
 *
 * SELECT2
 *
 * ====================================================================== */
/* 検索ヘッダー */
#ec-search-header {
	display: flex;
	gap: 15px;
    margin: 50px 0;	
}
#ec-search-header .ec-search-field-block {
	flex: 1;
	overflow-x: auto;
	overflow-y: hidden;
	max-height: 63px;
	border: 1px solid #aaa;
	border-radius: 4px;
	background-color: #fff;
}
#ec-search-header .ec-search-field-block #area-select {
	width: 100%;
	overflow: hidden;
}
#ec-search-header .ec-search-button-block {
	flex-basis: 250px;	
}
#ec-search-header .ec-search-button-block .btn-search {
	width: 100%;
	height: 100%;
	border-radius: 4px;
	background-color: #f04a4a;
	color: #fff;
	letter-spacing: 0.3rem;
	font-size: 1.2rem;
	font-weight: normal;
}

/* 検索エリアフォーム */
#ec-search-header .select2-selection {
	background-color: transparent;
	border: 0;
	border-radius: 4px;
	cursor: text;
	padding: 0;
	min-height: 50px;
}
#ec-search-header .select2-selection ul {
	display: flex;
	padding: 8px;
    letter-spacing: 0.1rem;
	gap: 10px;
	overflow-x: visible;
}
#ec-search-header .select2-selection ul li {
	display: flex;
	align-items: center;
	float: none;
	margin: 0;
	min-height: 47px;
	max-width: 100%;
}
#ec-search-header .select2-selection ul li.select2-search--inline {
	padding: 10px 15px;
}
#ec-search-header .select2-selection ul li .select2-selection__choice__remove {
	margin: -1px 0 0 5px;
	font-size: 23px;
	line-height: 1;
	color: #ccc;
}
#ec-search-header .select2-selection ul .select2-selection__clear {
	position: absolute;
	right: 12px;
	top: 20px;
	height: 25px;
	width: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	font-size: 22px;
	border: solid 2px #ccc;
	color: #ccc;
	border-radius: 50%;
	float: none;
}
#ec-search-header .select2-selection ul li.select2-selection__choice {
	padding: 10px 13px 10px 20px;
	background-color: #eee;
	flex-direction: row-reverse;
	border: 0;
	border-radius: 25px;
	font-size: 0.9rem;
	color: #333;
}

/* ドロップダウン */
.select2-container {
}
.select2-container .area-dropdown.select2-dropdown {
	top: 10px;
	border: 1px solid #aaa;
	border-radius: 4px;
}
.select2-container .area-dropdown #select2-area-select-results {
	max-height: 50vh;
}
.select2-container .select2-results__option[role=group] > .select2-results__group {
	cursor: pointer;
	padding: 12px;
}
.select2-container .select2-results__option[role=group] > .select2-results__group:hover {
	background-color: #eee;
}
.select2-container .select2-results__option[role=group] .select2-results__options {
	height: 0; /* これでアコーディオンを実装している */
	overflow: hidden;
	transition: all 0.3s ease;
}
.select2-container .select2-results__option[role=group] .select2-results__options .select2-results__option {
	padding: 10px;
}
.select2-container .select2-results__option[role=group].open .select2-results__options {
}
.select2-container .select2-results__option[role=group] .select2-results__options .select2-results__option {
    background-color: #f5f5f5;
	color: #333;
}
.select2-container .select2-results__option[role=group] .select2-results__options .select2-results__option.select2-results__option--highlighted {
    background-color: #eee;
}
.select2-container .select2-results__option[role=group] .select2-results__options .select2-results__option::before {
    font-family: 'Material Icons';
    content: '\e835';
    display: inline-block;
    line-height: 1;
    vertical-align: middle;
    font-size: 20px; /* アイコンサイズ */
    margin-right: 8px;
}
.select2-container .select2-results__option[role=group] .select2-results__options .select2-results__option[aria-selected=true]::before {
	content: '\e834';
	color: #8dca72;	
}

/* ======================================================================
 *
 * header
 *
 * ====================================================================== */
header .custom-logo-link {
  display: inline-block!important;
}

/* ======================================================================
 *
 * 無印風SELECTボックス
 *
 * ====================================================================== */
.em-select {
  position: relative;
  width: 300px;
  display: inline-block;
}
 .em-select select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 100%;
	padding: 20px;
	border: 1px solid #ccc;
	border-radius: 4px;
	background-color: #fafafa;
	font-size: 14px;
	color: #333;
	box-sizing: border-box;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.em-select select:hover,
.em-select select:focus {
	border-color: #999;
	box-shadow: 0 0 2px rgba(0,0,0,0.1);
	outline: none;
}
.em-select .select-icon {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none; /* select 操作の妨げにならない */
	font-size: 18px;
	color: #666;
}
.em-select select option {
}
.em-select .select2-results__option[aria-disabled=true] {
    display: none;
}

/* ======================================================================
 *
 * アコーディオン
 *
 * ====================================================================== */
.em-accordion {
	overflow: hidden;
}
.em-accordion-header {
	width: 100%;
	text-align: left;
	padding: 0.9em 1em;
	border: none;
	font-weight: 600;
	cursor: pointer;
	position: relative;
    background: none;
	transition: background 0.2s;
}
.em-accordion-header:hover {
	background: #efefef;
}
.em-accordion-header .icon {
	transition: transform 0.3s ease;
    transform-origin: center; /* 回転の中心を中央に固定 */	
}
.em-accordion-item.open .icon {
    transform: rotate(180deg); /* 180度回転 */	
}
.em-accordion-item.active .em-accordion-header::after {
  	content: '−';
}
.em-accordion-content {
	display: none;
	padding: 1em;
	background-color: #fff;
	border-top: 1px solid #e6e6e6;
	animation: fadeIn 0.2s ease-in-out;
}
.em-accordion-item.active .em-accordion-content {
	display: block;
}
@keyframes fadeIn {
	from { opacity: 0; transform: translateY(-4px); }
	to { opacity: 1; transform: translateY(0); }
}

/* ======================================================================
 *
 * PC
 *
 * ====================================================================== */
@media (min-width: 768px) {

	/* 共通 */
	.wp-child-theme-embex-ec .col-full {
		max-width: 1200px;
	}

	/* ======================================================================
	*
	* Tab
	*
	* ====================================================================== */
	.woocommerce-tabs.woocommerce-tabs-horizontal.wc-tabs-wrapper {
		clear: none;
		padding: 0;
		overflow: visible;
	}	
	.woocommerce-tabs.woocommerce-tabs-horizontal.wc-tabs-wrapper ul.tabs {
		display: flex;
		justify-content: flex-start;
		align-items: stretch;
		border-bottom: 1px solid #e6e6e6;
		margin: 0;
		list-style: none;
		padding: 0;
		float: none;
		width: 100%;
	}
	.woocommerce-tabs.woocommerce-tabs-horizontal.wc-tabs-wrapper ul.tabs li {
		margin: 0;
		border: none;
		flex: 1 1 auto;
	}
	.woocommerce-tabs.woocommerce-tabs-horizontal.wc-tabs-wrapper ul.tabs li a {
		display: block;
		padding: 0.8em 1em;
		text-align: center;
		background: #f9f9f9;
		color: #333;
		border: 1px solid #e6e6e6;
		border-bottom: none;
		transition: background 0.2s, color 0.2s;
	}
	.woocommerce-tabs.woocommerce-tabs-horizontal.wc-tabs-wrapper ul.tabs li.active a,
	.woocommerce-tabs.woocommerce-tabs-horizontal.wc-tabs-wrapper ul.tabs li a:hover {
		background: #fff;
		font-weight: 600;
		outline: none;
	}

	/* タブコンテンツ */
	.woocommerce-tabs.woocommerce-tabs-horizontal.wc-tabs-wrapper .woocommerce-Tabs-panel {
		border: 1px solid #e6e6e6;
		border-top: none;
        padding: 3rem;
		background: #fff;
		float: none;
		width: 100%;
	}

	/* ======================================================================
	*
	* ドロップダウンメニュー
	*
	* ====================================================================== */
	.dropdown-filter-group {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
	}
	.dropdown-filter {
		position: relative;
		font-family: sans-serif;
		width: 220px;
	}
	.dropdown-toggle {
		width: 100%;
		padding: 10px;
		background: #f5f5f5;
		border: 1px solid #ccc;
		font-size: 14px;
		text-align: left;
		cursor: pointer;
	}
	.dropdown-menu {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		background: white;
		border: 1px solid #ccc;
		padding: 10px;
		z-index: 999;
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
	}
	.dropdown-menu label {
		display: block;
		margin-bottom: 6px;
		font-size: 14px;
	}
	.dropdown-filter.open .dropdown-menu {
		display: block;
	}

	/* ======================================================================
	*
	* Header
	*
	* ====================================================================== */
	#masthead {
		margin: 0;
	}

	/* ======================================================================
	*
	* 商品一覧
	*
	* ====================================================================== */

	/* 商品パンくず */
	.post-type-archive-product .storefront-breadcrumb {
		margin: 0;
	}

	/* 商品一覧（独自ブロック） */
	#ec-search-block {
		display: flex;
		gap: 30px;
	    margin: 25px 0 0;	
	}

	/* 商品一覧の左側ブロック 検索サイドバーブロック */
	#ec-search-filter {
		flex-grow: 0;
		flex-shrink: 0;
		flex-basis: 260px;
	}
	#ec-search-filter .widget > p {
		margin: 0;
	}
	#ec-search-filter .wpc-filter-title {
		margin: 0 0 30px;
		padding: 0 0 3px;
		font-size: 0.9rem;
		font-weight: bold;
		border-bottom: solid 1px #ddd;
		color: #333;
	}
	#ec-search-filter .wpc-filters-section {
		margin: 0;
		padding: 20px;
	}
	#ec-search-filter .wpc-filters-section + .wpc-filters-section {
        margin: 20px 0 0;
	}

	/* 商品一覧の右側ブロック */
	#ec-search-result {
		flex: 1;
	}

	/* おすすめ順・ページネーションのラッパー */	
	#ec-search-result .storefront-sorting {
		margin-bottom: 30px;
	}

	/* 並び順 */
	#ec-search-result .woocommerce-ordering {
		padding: 0;
	}

	/* ページネーション */	
	#ec-search-result .woocommerce-pagination {
		padding: 10px 0;
	}

	/* 検索結果件数 */
	#ec-search-result .woocommerce-result-count {
		padding: 11px 0;
	}

	/* 検索フィルタータグ */
	#ec-search-result .storefront-full-width-content .woocommerce-products-header {
		padding: 0;
	}
	#ec-search-result ul.wpc-filter-chips-list {
		margin: 0;
        flex-wrap: wrap;
	}

	/* ======================================================================
	*
	* 商品一覧（検索結果ブロック）
	*
	* ====================================================================== */
	.post-type-archive-product #content {
		background-color: #fafafa;
	}

	.products#em-products {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
		margin: 0 0 30px;
	}
	.products#em-products::before,
	.products#em-products::after {
		content: none;
	}

	/* 商品一覧カード */
	.products#em-products#em-products .product {
		float: none!important;
		flex-grow: 0;              /* 余白があれば広がる割合（1 = 均等に広がる） */
		flex-shrink: 0;            /* 幅が足りなければ縮む割合（1 = 均等に縮む） */
		flex-basis: calc((100% - 40px) / 3)!important; /* calc((100% - gap総量)/列数) */
		width: 33.3%;
		margin: 0 !important;
		transition: all 0.3s ease;
		border-top: solid 1px #5fc95f!important;
	}
	.products#em-products#em-products .product,
	#ec-search-filter .wpc-filters-section {
		background-color: #fff;
		border-radius: 4px;;
		box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.04);
		border: solid 1px #e6e6e6;
	}
	.products#em-products#em-products .product:hover {
	    box-shadow: 0px 0px 20px 0 rgba(0, 0, 0, 0.05);
	}
	.products#em-products::after {
		content: none!important;
	}
    .products#em-products.columns-3 li.product {
    }
	.products#em-products .product a {
		display: block;
		text-decoration: none;
		color: #333;
		height: 100%;
	}
	.products#em-products .product .box-container {
		display: flex;
		height: 100%;
		padding: 15px;
		font-size: 0.8rem;
		flex-direction: column;
		justify-content: space-between; /* 上下に配置 */
		min-height: 230px;
	}
	.products#em-products .product .box-container .box-header {
		display: flex;
		gap: 10px;
		margin: 0 ;
	}
	.products#em-products .product .box-container .box-body {
		flex: 1;
		margin: 12px 0 0;
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		justify-content: space-between;
	}
	.products#em-products .product .box-container .box-body > div {
		width: 100%;
	}
	.products#em-products .product .box-container .box-footer {
		margin: 10px 0 0;
		padding: 12px 0 0;
		border-top: 1px solid #ddd;
	}
	.products#em-products .product .box-container .box-header .product-days-icon {
		flex-shrink: 0;
	}
	.products#em-products .product .box-container .badge {
		font-size: 0.7rem;
		padding: 5px 7px;
		min-width: 36px;
		display: inline-flex;
		border: solid 1px #333;
		color: #555;
		min-height: 24px;
		align-items: center;
		border-radius: 4px;
		line-height: 1;
	}
	.products#em-products .product .box-container .badge + .badge {
		margin-left: 4px;
	}	
	.products#em-products .product .box-container .badge.badge-key-color {
	}
	.products#em-products .product .box-container .product-level {
		background-color: #aaa;
  		color: #fff;
		border: 0;
  	}
	.products#em-products .product .box-container .product-level[data-level="0"] {
		background-color: rgb(105, 195, 223);
	}
	.products#em-products .product .box-container .product-level[data-level="5"] {
		background-color: #faa;
	}
	.products#em-products .product .box-container .product-level[data-level="10"] {
		background-color: rgb(125, 127, 249);
	}
	.products#em-products .product .box-container .product-days {
		text-align: left;
		font-weight: bold;
	}
	.products#em-products .product .box-container .product-title {
		text-align: left;
		font-size: 1rem;
		font-weight: bold;
		line-height: 1.4;
		margin: 0;
	}
	.products#em-products .product .box-container .product-basic-info {
		text-align: left;
	}
	.products#em-products .product .product-area {
		text-align: left;
		margin: 0 0 0 4px;
		font-size: 0.8rem;
	}
	.products#em-products .product .box-container .product-training-style {
		text-align: left;
	}
	.products#em-products .product .box-container .product-period {
		margin: 5px 0 0;
		font-size: 1rem;
		text-align: right;
		flex: 1;
	}
	.products#em-products .product .box-container .product-grant-text {
		color: #333;
		width: 100%;
		text-align: center;
		padding: 0px 5px;
		margin: 10px 0 0;
		border: solid 1px #333;
	    font-size: 0.75rem;		
	}
	.products#em-products .product .box-container .product-price {
		text-align: right;
		line-height: 1;
	}
	.products#em-products .product .box-container .product-price .price-value {
		font-size: 1rem;
		color: #333;
	}
	.products#em-products .product .box-container .product-price .price-unit {
		font-size: 0.6rem;
	}

	/* ======================================================================
	*
	* 商品詳細
	*
	* ====================================================================== */
	.single-product .storefront-breadcrumb {
		background-color: #fafafa;
        padding: 10px 0 50px;
		margin: 0;
	}
	.single-product .storefront-breadcrumb .woocommerce-breadcrumb {
		font-size: 0.75rem;
	}
	.single-product .woocommerce {
        background-color: #fafafa;		
        margin: 0;
        padding: 0;		
        width: 100vw;
        margin-left: calc(50% - 50vw);
	}
	.single-product .woocommerce .woocommerce-error {
        max-width: 1200px;
        margin: 0 auto!important;
	}
	.single-product .product {
		overflow: visible !important;
	}
	.single-product .product .block-container {
		max-width: 1200px;
		margin: 0 auto;
	}
	.single-product .product .content-box {
	}
	.single-product .product .caption {
		font-size: 1rem;
		border-left: solid 3px #ddd;
		line-height: 1.6;
		padding: 0 0 0 8px;
	}
	.single-product .product .product-title-block {
		display: flex;
		border-bottom: solid 4px #eee;
		padding: 0 0 25px;
		gap: 15px;
	}
	.product .product-days-icon {
		display: flex;
		overflow: hidden;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		text-align: center;
		width: 50px;
		height: 50px;
		padding: 4px;
		background-color: #8dca72;
		border-radius: 50%;
		color: #fff;
		line-height: 1;
		margin: 0;
	}
	.product .product-days-icon .product-days-value {
	    flex-basis: 100%;
		font-size: 25px;
	}
	.product .product-days-icon .product-days-unit {
	    flex-basis: 100%;
		font-size: 9.5px;
		margin: -3.5px 0 0;
	}
	.product .product-days-icon.product-days-icon-s {
		width: 36px;
		height: 36px;
		padding: 0;
	}
	.product .product-days-icon.product-days-icon-s .product-days-value {
		font-size: 16px;
	}
	.product .product-days-icon.product-days-icon-s .product-days-unit {
		font-size: 9px;
		margin: -10px 0 0;
	}
	.single-product .product .product-title-block .product-title {
		margin: 7px 0 0;
		font-size: 2rem;
		font-weight: bold;
		flex-basis: 0;
		flex-grow: 1;
		flex-shrink: 1;
	}
	.single-product .product .product-description-block {
		padding: 50px 0;
	}
	.single-product .product .product-description-block .product-description {
		font-size: 1.1rem;
        margin: 0;
	}
	.single-product .product .product-fields {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
	}
	.single-product .product .product-fields .product-field {
		display: flex;
		/* flex-basis: calc(50% - 5px); */
		 /* gapの半分を引く */
		gap: 10px;
		width: calc(50% - 5px);
	}
	.single-product .product .product-fields .product-field.col-width-full {
		flex-basis: 100%;
	}
	.single-product .product .product-fields .product-field .product-field-title,
	.single-product .product .product-fields .product-field .product-field-value {
		padding: 15px 10px 15px 15px;
		margin: 0;
		font-size: 0.9rem;
	}
	.single-product .product .product-fields .product-field .product-field-title {
		background-color: #eee;
		font-size: 0.9rem;
		flex-basis: 160px;
		line-height: 1;
	}
	.single-product .product .product-fields .product-field .product-field-title span {
		font-size: 1.2rem;
		color: #888;
		vertical-align: -4px;
		margin-right: 10px;
	}	
	.single-product .product .product-fields .product-field .product-field-value {
		flex-grow: 1;
		flex-shrink: 1;
		flex-basis: 0;
		margin: 0;
		background-color: #fff;
	}
	.single-product .product .product-fields .product-field .product-field-value ul {
		padding: 0;
		margin: 0;
	}
	.single-product .product .product-fields .product-field .product-field-value ul li {
		list-style: none;
	}
	.single-product .product #product-basic-info {
		float: none;
		width: auto;
		margin: 0;
        padding: 30px 0 100px;
		width: 100vw;            /* 画面幅いっぱい */
		margin-left: calc(50% - 50vw); /* コンテナ中央基準で左にずらす */
		background-color: #fafafa;
	}

	/* 商品詳細 form内 */
	.single-product .product form.cart {
		margin: 0!important;
		padding: 0 !important;
	}
	.single-product .product .options-block {
		background-color: #fff;
		padding: 30px;
		margin: 30px 0 0;
	}
	.single-product .product .options {
		display: flex;
		gap: 20px;
	}
	.single-product .product .options .option-title {
		font-size: 0.9rem;
		font-weight: bold;
	}
	.single-product .product #add-cart-block {
		text-align: center;
        margin: 50px 0 0;
	}
	.single-product .product #add-cart-block .price-block {
		display: flex;
		justify-content: center;
		font-weight: bold;
	}
	.single-product .product #add-cart-block .price-block-title,
	.single-product .product #add-cart-block .price-block-value {
		font-size: 1.2rem;
		font-weight: bold;
	}
	.single-product .product #add-cart-block .price-block-title {
		margin: 0 20px 0 0;
	}
	.single-product .product #add-cart-block .quantity {
		float: none;
		margin: 20px 0 0;
	}
	.single-product .product #add-cart-block .quantity .text {
		width: 100px;
		text-align: center;
		background: #fff;
		box-shadow: none;
		border: solid 1px #ccc;
		border-radius: 4px;
		font-size: 1.1rem;
		line-height: 1;
	}
	.single-product .product #add-cart-block .quantity .quantity-unit {
		margin: 0 0 0 8px;
	}
	.single-product .product #add-cart-block .button {
		text-align: center;
		margin: 20px 0 0;
		padding: 28px 20px;
		background-color: #5F6368;
		border-radius: 10px;
		min-width: 300px;
		transition: background 0.2s;
	}
	.single-product .product #add-cart-block .button:hover {
		background: #373737;
	}
	.single-product .product #add-cart-block .note-block-before {
        margin: 0 0 50px;
	}
	.single-product .product #add-cart-block .note-block-after {
        margin: 20px 0 0;
	}
	.single-product .product .section-title {
        font-size: 1.4rem !important;
        font-weight: bold;
        border-left: solid 5px #ddd;
        padding: 0 0 0 15px;		
	}	

	.single-product .product #product-contents {
		padding: 100px 0 0;
	}
	.single-product .product #product-contents .content-pics {
	}
	.single-product .product #product-contents .content-pics + .content-pics {
		margin: 60px 0 0;
	}
	.single-product .product #product-contents #content-free-html {
	}
	.single-product .product #product-contents #content-pics {
	}
	.single-product .product #product-contents #content-pics .pic-block {
		margin: 30px 0 0;
	}
	.single-product .product #product-contents #content-pics .pic-block + .pic-block {
		margin: 40px 0 0;
	}

	.single-product .product #product-contents .content-block {
	}
	.single-product .product #product-contents .content-block + .content-block {
		margin: 40px 0 0;
	}
	.single-product .product #product-contents .content-block .content-field-title {
	}
	.single-product .product #product-contents .content-block .content-field-value {
	}

	/* 研修内容 */
	.single-product .product #product-contents .unit-summaries {
	}
	.single-product .product #product-contents .unit-summaries .unit-summary {
	}
	.single-product .product #product-contents .unit-summaries .unit-summary ul.unit-summary-product-units {
		padding: 0;
        margin: 0;
	}
	.single-product .product #product-contents .unit-summaries .unit-summary ul.unit-summary-product-units li {
        list-style: none;
		border-top: 1px solid #e6e6e6;
	}
	.single-product .product #product-contents .unit-summaries .unit-summary .unit-summary-product-name-block {
		width: 100%;
		padding: 1rem;		
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 1.2rem;
        font-weight: bold;
	}
	.single-product .product #product-contents .unit-summaries .unit-summary .unit-summary-product-name-block span {
		flex-basis: 0;
		flex-grow: 1;
	}
	.single-product .product #product-contents .unit-summaries .unit-summary .unit-summary-product-name-block .icon {
		flex-basis: 40px;
		flex-grow: 0;
	}
	.single-product .product #product-contents .unit-summaries .unit-summary .unit-summary-product-name-block .unit-summary-product-total {
		text-align: right;
	}
	.single-product .product #product-contents .unit-summaries .unit-summary .btn-unit-summary-product-unit-name {
		width: 100%;
		padding: 1rem;		
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 1rem;
        font-weight: normal;
		outline: 0!important;
        gap: 15px;		
	}
	.single-product .product #product-contents .unit-summaries .unit-summary .btn-unit-summary-product-unit-name span {
		flex-basis: 0;
		flex-grow: 1;
	}
	.single-product .product #product-contents .unit-summaries .unit-summary .btn-unit-summary-product-unit-name .icon {
		flex-basis: 1rem;
		flex-grow: 0;
		color: #ccc;
	}
	.single-product .product #product-contents .unit-summaries .unit-summary .btn-unit-summary-product-unit-name .unit-summary-product-unit-term {
		text-align: right;
	}

	/* コンテンツフィールド */
	.single-product .product #product-contents .content-fields {
	}
	.single-product .product #product-contents .content-fields .content-field {
		background-color: #f9f9f9;
		padding: 1.5rem;
	}
	.single-product .product #product-contents .content-fields .content-field + .content-field {
		margin: 20px 0 0;
	}
	.single-product .product #product-contents .content-fields .content-field .content-field-title {
		font-size: 1.2rem;
		font-weight: bold;
	}
	.single-product .product #product-contents .content-fields .content-field .content-field-value {
	}

	/* 注記 */
	.single-product .product .note-block {
		font-size: 0.85rem;
        margin: 10px 0 0;
	}

	/* ヘッダーのスティッキー */
	.storefront-sticky-add-to-cart .wp-post-image {
		display: none;
	}
	.storefront-sticky-add-to-cart .storefront-sticky-add-to-cart__content-title {
		visibility: hidden;
		font-size: 0;
	}
	.storefront-sticky-add-to-cart .storefront-sticky-add-to-cart__content-title strong {
		visibility: visible;
		font-size: 1rem;
	}
	.storefront-sticky-add-to-cart .woocommerce-Price-amount {
	}
	.storefront-sticky-add-to-cart .storefront-sticky-add-to-cart__content-price {
		opacity: 1;
	}

	/* ======================================================================
	*
	* カート
	*
	* ====================================================================== */
	.cart-collaterals .cart_totals {
		width: auto;
		float: none;
	}
	.woocommerce-customer-details {
		margin: 50px 0 0;
	}
	.woocommerce-customer-details address {
		font-style: inherit;
		padding: 1.41575em;
		background-color: #f8f8f8;
	}
	.woocommerce-customer-details address p {
		margin: 0;
	}

	/* ======================================================================
	*
	* 注文フォーム レイアウト
	*
	* ====================================================================== */
	form.checkout {
		display: flex;
		flex-wrap: wrap;		
		width: 100%;
		gap: 50px;
	}
	form.checkout::before,
	form.checkout::after {
		content: none;
	}

	/* メッセージカラム */
	form.checkout .woocommerce-NoticeGroup {
		flex-basis: 100%;
	}

	/* 左カラム */
	form.checkout #customer_details {
		width: auto;
		flex-basis: 50%;
		float: none;
		margin: 0;	
	}

	/* 右カラム */
	form.checkout #order-details {
		/* flex:1と同じ */
		flex-grow: 1;
		flex-shrink: 1;
		flex-basis: 0;
	}
	form.checkout #order-details #order_review_heading,
	form.checkout #order-details #order_review {
		width: auto;
		float: none;
		margin: 0;
		clear: none;
	}
	form.checkout .em-woocommerce-order-fields {
	}
	form.checkout .em-woocommerce-order-fields + .em-woocommerce-order-fields {
		margin: 30px 0 0;
	}

	/* ======================================================================
	*
	* 注文フォーム フィールド
	*
	* ====================================================================== */
	.em-form-radio .woocommerce-input-wrapper {
		display: flex;
		flex-wrap: wrap;
		gap: 7px;
	}
	.form-row input[type=checkbox],
	.form-row input[type=radio] {
        width: 20px;
        height: 20px;
        vertical-align: -3px;
	}

	.em-form-radio .input-radio {
		margin: 0;
	}
	.em-form-radio .input-radio + label {
		flex-basis: calc(100% - 20px - 7px);
		margin: 0;
	}
	.em-form-checkbox .woocommerce-input-wrapper {
		display: flex;
		flex-wrap: wrap;
		gap: 7px;
	}
	.em-form-checkbox .input-checkbox {
		margin: 0;
	}
	.em-form-checkbox .input-checkbox + label {
		flex-basis: calc(100% - 20px - 7px);
		margin: 0;
	}	
	.form-row .select2-selection {
		background-color: #f2f2f2;
		border-radius: 0;
		border: 0;
		box-shadow: inset 0 1px 1px rgba(0,0,0,.125);
		display: flex;
		align-items: center;
		height: 50px;
	}
	.form-row .select2-selection .select2-selection__arrow {
		top: 8px;
		right: 10px;
	}
	.form-row .description {
		font-size: 0.8rem;
	}
	table.woocommerce-checkout-review-order-table .product-name {
		width: auto;		
	}

	/* ======================================================================
	*
	* クーポン
	*
	* ====================================================================== */
	.woocommerce-form-coupon-toggle {
		display: none;
	}
	#em-woocommerce-order-fields-coupon .coupon-error-notice {
		color: #e2401c;
	}
	#em-woocommerce-order-fields-coupon input[disabled],
	#em-woocommerce-order-fields-coupon button[disabled] {
		opacity: 0.5;
		cursor: progress;
	}

	/* ======================================================================
	*
	* 注文完了
	*
	* ====================================================================== */
	.woocommerce-order-received .entry-header {
        padding: 50px 0 100px!important;
	}
	.woocommerce-order-received .entry-title {
	}
	.woocommerce-order-received .woocommerce-thankyou-order-received {
		text-align: center;
		max-width: 801px;
		margin: 0 auto;
		line-height: 2.0;
	}

	/* ======================================================================
	*
	* カードブロック
	*
	* ====================================================================== */
	.cards {
		display: flex;
		flex-wrap: wrap;
		gap: 30px;
	}
	.cards .card {
        flex-grow: 0;
        flex-shrink: 0;
        flex-basis: calc((100% - 60px) / 3) !important;
        border: solid 1px #aaa;
        border-radius: 3px;
        width: 33.3%;
        margin: 0 !important;
        padding: 0;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
	}
	.cards.cards-col4 .card {
        flex-basis: calc((100% - 90px) / 4) !important;
        width: 25%;
	}
	.cards .card h2 {
		font-size: 1.3rem;
        font-weight: bold;
        color: #555;
        margin: 0;	
	}
	.cards .card h2 a {
		font-weight: inherit;
	}
	.cards .card h2 span {
	    vertical-align: -4px;
        margin: 0 9px 0 0;
		font-size: 1.3rem;	
	}
	.cards .card ul {
        padding: 0 0 0 0;
        margin: 0 0 0 24px;
        line-height: 2;
	}
	.cards .card ul li {
	}
	.cards .card a {
        color: inherit;
	}
	.cards .card a:hover {
        color: rgb(144, 204, 214);
	}
	.cards .card .card-header {
        padding: 30px 30px 0;
	}
	.cards .card .card-body {
        padding: 20px 30px 30px;
	    flex: 1;
	}
	.cards .card .card-footer {
        text-align: right;
        font-size: 0.75rem;
        background-color: #f5f5f5;
        padding: 5px;
        min-height: 30px;
	}

	/* ======================================================================
	*
	* フッター
	*
	* ====================================================================== */
	.site-footer {
		padding: 30px 0;
		text-align: center;
	}

}
