/*
Theme Name: Storefront Child
Description: ザ・フレッシュマサヨ様専用テーマ
Author: KAN
Template: storefront
Version: 1.0.1
*/

@import url('https://fonts.googleapis.com/css2?family=Geologica:wght@100..900&family=Noto+Sans+JP:wght@100..900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');

* {
	box-sizing: border-box;
	letter-spacing: .1em;
	margin: 0;
	padding: 0;
}

:root {
	/* 色 */
	--main-color: #f0a71d;
	--light-color: #fffaf3;
	--middle-color: #ffefd7;
	--input-color: #fffaee;
	--hd-light-grey: #f8f8f8;
	--accent-color: #ff0000;
	--txt-color: #231815;

	/* 幅 */
	--content-w: 75%;
	--content-mw: 1100px;
	--mb-w: 90%;
	--inner-w: 75%;
	--single-w: 70%;
	--single-mw: 770px;

	/* 高さ */
	--mb-header-h: 120px;
	--mb-header-bottom-h: 90px;

	/* フォントサイズ */
	--fz150: 9.375rem;
	--fz45: 2.813rem;
	--fz43: 2.688rem;
	--fz40: 2.5rem;
	--fz36: 2.25rem;
	--fz34: 2.125rem;
	--fz32: 2rem;
	--fz27: 1.6875rem;
	--fz28: 1.75rem;
	--fz26: 1.625rem;
	--fz25: 1.5625rem;
	--fz24: 1.5rem;
	--fz23: 1.438rem;
	--fz22: 1.375rem;
	--fz20: 1.25rem;
	--fz19: 1.1875rem;
	--fz18: 1.125rem;
	--fz17: 1.062rem;
	--fz16: 16px;
	--fz15: 15px;
	--fz14: 14px;
	--fz13-5: 13.5px;
	--fz13: 13px;
	--fz12: 12px;
	--fz11: 11px;
	--fz10: 10px;
	--font-header-bottom: clamp(0.813rem, 0.469rem + 0.5vw, 0.844rem);
}

html {
	scroll-behavior: smooth;
}

/* ====== スマホ ====== */

@media (max-width: 768px) {
	html {
		font-size: 80%;
	}
}

body {
	color: var(--txt-color);
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: var(--fz16);
}

@media (max-width: 768px) {
	body {
		padding-top: var(--mb-header-h);
	}

	body.home {
		padding-top: calc(var(--mb-header-h) + 30px);
	}
}

a {
	color: var(--main-color);
	text-decoration: none !important;
	transition: .3s;
}

a:hover {
	opacity: .5;
}

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;
}

form {
	margin-bottom: 0;
}

h1 {
	color: var(--main-color);
}

h2, h3 {
	color: #000;
	font-size: var(--fz25);
	font-weight: 700;
}

img {
	border-radius: 0;
}

input, input:focus {
	background: var(--input-color) !important;
	box-shadow: none !important;
}

/* 
 *iOSのデフォルトスタイルを無効化
 *Safari用
 *枠線を指定
 */
select {
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid #717070;
}


ul, ol {
	margin: 0;
}

li {
	list-style: none;
}

.mb-br {
	display: none;
}


@media (max-width: 768px) {
	/* スマホだけ改行 */
	.mb-br {
		display: block;
	}

	/* スマホで非表示 */
	.mb-hidden {
		display: none;
	}

	/* TOP各セクション */
	.news, .ranking, .insta, .guide {
		padding: 3rem 0 5rem !important;
	}
}


.container, .col-full {
	margin: 0 auto;
	max-width: var(--content-mw);
	padding: 0;
	width: var(--content-w);
}

.container--s {
	max-width: 1000px;
}

@media (max-width: 960px) {
	.container {
		width: var(--mb-w);
	}

	.col-full {
		width: var(--mb-w);
	}
}

/* パーツ parts
====================================================*/

/*=== 見出し ===*/
.hd {
	color: var(--txt-color);
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: var(--fz28);
	font-weight: 700;
	letter-spacing: 0.14em;
	margin-bottom: 3rem;
	text-align: center;
}

.hd::before {
	color: var(--main-color);
	content: "News";
	display: block;
	font-family: "Geologica", sans-serif;
	font-size: var(--fz16);
	font-weight: 400;
	letter-spacing: .2em;
	margin-bottom: .8em;
}

.hd-caption {
	font-weight: 500;
	margin-bottom: 60px;
	text-align: center;
}

@media (max-width: 1400px) {
	.hd {
		font-size: 1.4rem;
	}

	.hd::before {
		font-size: 0.8rem;
	}
}

@media (max-width: 768px) {
	.hd {
		margin-bottom: 3rem;
	}

	/* セクションの上パディングと合わせる */
	.home .hd {
		margin-bottom: 3rem;
	}

	.hd-caption {
		margin-bottom: 30px;
	}
}

/*=== ボタン ===*/
.btn {
	background: var(--main-color);
	border-radius: 100vh;
	color: #fff;
	display: grid;
	font-weight: 700;
	letter-spacing: .1em;
	margin: 0 auto;
	padding: .8em 3em;
	place-items: center;
	text-align: center;
	width: fit-content;
}

/* === ページトップに戻る === */
.pagetop {
	align-items: center;
	background: #fff;
	border: 2px solid var(--main-color);
	border-radius: 50%;
	bottom: 80px;
	display: flex;
	height: 5.8rem;
	justify-content: center;
	position: fixed;
	right: 30px;
	width: 5.8rem;
	z-index: 999;
}

.pagetop .txt {
	color: var(--main-color);
	font-size: var(--fz17);
	font-weight: 700;
	letter-spacing: .14em;
}

@media (max-width: 768px) {
	.pagetop {
		bottom: 50px;
		height: 80px;
		width: 80px;
	}
}

/* === パンくずリスト === */

/* パンくずリスト非表示 */
body.page .woocommerce-breadcrumb {
	display: none;
}

.woocommerce-breadcrumb a:first-of-type::before {
	content: none !important;
}

.woocommerce-breadcrumb {
	color: #a4a4a4 !important;
	font-size: var(--fz16) !important;
	letter-spacing: .06em;
}

.woocommerce-breadcrumb a, a.woocommerce-review-link, .product_meta a {
	color: #a4a4a4 !important;
	font-size: var(--fz16);
	text-decoration: none !important;
}

.woocommerce-breadcrumb .breadcrumb-separator {
	padding: 0 1.5em !important;
}

/* パンくずリストのセパレーター */
.woocommerce-breadcrumb .breadcrumb-separator::after {
	color: #a4a4a4;
	content: "/" !important;
	font-family: "Noto Sans JP", sans-serif !important;
	font-size: 13px;
	font-weight: 100 !important;
	opacity: 1 !important;
	top: 35% !important;
}

/* パンくずリストの商品名を非表示にする */
.woocommerce-breadcrumb a[href*="/product/"] {
	display: none !important;
}


/* 商品一覧ページではパンくず非表示 */
body.tax-product_cat .storefront-breadcrumb,
.archive .storefront-breadcrumb {
	display: none;
}

@media (max-width: 768px) {
	.woocommerce-breadcrumb .breadcrumb-separator {
		padding: 0 1em !important;
	}

	.storefront-breadcrumb {
		margin: 0 auto 1em !important;
	}
}



/* header
====================================================*/

.site-header {
	border-bottom: 0;
	margin-bottom: 0 !important;
	padding-top: 0;
}

.site-header ul.menu li.current-menu-item>a {
	color: var(--txt-color);
}

@media (max-width: 768px) {
	.site-header {
		padding-bottom: 0;
	}
}

/* === ロゴ === */

.site-branding {
	margin-bottom: 0;
	margin-right: -1em !important;
	width: auto !important;
}

.site-header .custom-logo-link {
	display: inline-block;
	height: 118px;
	overflow: hidden;
	width: auto;
}

.site-header .custom-logo-link img {
	bottom: 100%;
	left: 50%;
	max-width: 360px;
	position: relative;
	top: auto;
	transform: translate(-50%);
	width: auto;
}

@media (min-width: 769px) and (max-width: 1400px) {
	/* ロゴ少し小さく */
	.site-header .custom-logo-link img {
		bottom: 80%;
		max-width: 300px;
	}
}

/* === カスタムサブナビ === */

.my-sub-menu ul {
	display: flex;
	gap: 10px;
	justify-content: flex-end;
	margin-bottom: 2rem;
}

.my-sub-menu ul li a {
	align-items: center;
	border: 1.5px solid var(--txt-color);
	border-radius: 100vh;
	color: var(--txt-color);
	display: flex;
	font-size: 13px;
	font-weight: 500;
	height: 2.8em;
	justify-content: center;
	letter-spacing: .05em;
	line-height: 1;
	padding: .8em 1.8em !important;
	padding-left: 0;
}

.my-sub-menu ul li:last-of-type a {
	border: 1.5px solid var(--main-color);
	color: var(--main-color) !important;
}

.my-sub-menu ul li:first-of-type a::before {
	background-image: url(images/icon-contact.png);
	background-repeat: no-repeat;
	background-size: 1.4em;
	content: "";
	display: inline-block;
	height: 1em;
	margin-right: .4em;
	position: relative;
	top: 1px;
	width: 1.5em;
}

.my-sub-menu ul li:nth-of-type(2) a::before {
	background-image: url(images/icon-login.png);
	background-repeat: no-repeat;
	background-size: 1.1em;
	content: "";
	display: inline-block;
	height: 1.2em;
	margin-right: .4em;
	vertical-align: middle;
	width: 1.1em;
}

.my-sub-menu ul li:nth-of-type(3) a::before {
	background-image: url(images/icon-regist.png);
	background-repeat: no-repeat;
	background-size: 1.2em;
	content: "";
	display: inline-block;
	height: 1.4em;
	margin-right: .4em;
	vertical-align: middle;
	width: 1.2em;
}

/* お気に入りアイコン */
.my-sub-menu ul li:nth-of-type(4) a::before {
	background-image: url(images/wish-heart.png);
	background-repeat: no-repeat;
	background-size: 100%;
	content: "";
	display: inline-block;
	height: 1em;
	margin-right: .4em;
	position: relative;
	top: .15em;
	vertical-align: middle;
	width: 1em;
}

/* カートを見るアイコン */
.my-sub-menu ul li:nth-of-type(5) a::before {
	background-image: url(images/icon-cart.png);
	background-repeat: no-repeat;
	background-size: 1.3em;
	content: "";
	display: inline-block;
	height: 1.2em;
	margin-right: .4em;
	vertical-align: middle;
	width: 1.3em;
}

@media (max-width: 768px) {
	.my-sub-menu ul {
		display: grid;
		gap: 1.2em;
		grid-template-columns: 1fr 1fr;
		margin-bottom: 0;
		margin-right: 0;
		place-items: center;
	}

	.my-sub-menu ul li a {
		padding: .5em 0.5em !important;
	}

	.my-sub-menu ul li:nth-of-type(5) a::before {
		background-size: 21px;
	}
}

/* トップ、商品一覧ページ、固定ページなど */
.home .site-header,
.archive .site-header {
	padding-bottom: 0;
}

/* 商品詳細ページ */
.single-product .site-header {
	padding-bottom: 110px;
}

.site-header .col-full {
	max-width: 1800px !important;
	width: 100%;
}

.site-header-copy {
	background: var(--main-color);
	color: #fff;
	font-size: var(--fz11);
	font-weight: 400;
	letter-spacing: .06em;
	margin-bottom: 40px;
	padding: .6em 0;
	text-align: center;
}

.site-header-copy-mb {
	display: none;
}

.site-description {
	display: none !important;
}

/* サブナビとメインナビのラッパー */
.custom-nav-wrapper {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
}

/* === サブナビ === */

.secondary-navigation {
	display: block;
	float: none !important;
	margin-right: 0 !important;
	width: auto !important;
	width: 100%;
}

.secondary-navigation .menu {
	display: flex;
	gap: 10px;
	margin-bottom: 45px;
}

.secondary-navigation .menu-item a {
	align-items: center;
	border: 2px solid var(--txt-color);
	border-radius: 100vh;
	display: flex;
	font-size: var(--fz16);
	font-weight: 500;
	justify-content: center;
	letter-spacing: .05em;
	padding: .6em 1.4em !important;
	padding-left: 0;
}

.secondary-navigation .menu-item:last-of-type a {
	border: 2px solid var(--main-color);
	color: var(--main-color) !important;
}

.secondary-navigation li:first-of-type a::before {
	background-image: url(images/icon-contact.png);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 1em;
	margin-right: .4em;
	position: relative;
	top: 1px;
	width: 1.2em;
}

.secondary-navigation li:nth-of-type(2) a::before {
	background-image: url(images/icon-login.png);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 1em;
	margin-right: .4em;
	vertical-align: middle;
	width: 1em;
}

.secondary-navigation li:nth-of-type(3) a::before {
	background-image: url(images/icon-regist.png);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 1em;
	margin-right: .4em;
	vertical-align: middle;
	width: 1em;
}

.secondary-navigation li:nth-of-type(4) a::before {
	background-image: url(images/icon-cart.png);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 1em;
	margin-right: .4em;
	vertical-align: middle;
	width: 1em;
}

/* === メインナビ === */

.primary-navigation {
	margin-left: auto;
}

.main-navigation ul.menu, .main-navigation ul.nav-menu {
	display: flex;
	gap: 1.6em;
	justify-content: flex-end;
	margin: 0;
}

.main-navigation .menu-item a {
	color: var(--txt-color) !important;
	font-size: var(--font-header-bottom);
	font-weight: 700;
	letter-spacing: .1em;
	padding: 0 !important;
}


/* === カスタムナビ === */

/* ヘッダーの全体的なレイアウト */
.my-header-aligner {
	align-items: flex-start;
	display: flex;
	justify-content: space-around;
	margin-bottom: 1rem;
}

/* ロゴスペース */
.storefront-secondary-navigation.woocommerce-active .site-header .site-branding {
	margin-right: 0;
	width: auto;
}

/* メインナビ */
.woocommerce-active .site-header .main-navigation {
	width: 100%;
}

/* メインナビゲーションのスタイル（必要なら追加） */
.storefront-primary-navigation {
	margin-top: -50px;
}

/* 非表示にするもの */
.site-header-cart {
	display: none;
}

/* ページヘッダー */
.page-header {
	padding: 100px 0 120px 0;
}

.page-header span {
	color: var(--main-color);
	display: block;
	font-family: "Geologica", sans-serif;
	font-size: var(--fz17);
	letter-spacing: .2em;
	margin-bottom: 0.8em;
	text-align: center;
}

.page-header h1 {
	color: var(--txt-color);
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: var(--fz32);
	font-weight: 700;
	letter-spacing: .1em;
	margin-bottom: 0;
	text-align: center;
}

@media (min-width: 769px) and (max-width: 1400px) {
	.page-header h1 {
		font-size: 1.6rem;
	}

	.page-header span {
		font-size: 0.8496rem;
	}
}

/* === MB: 固定 === */
@media (max-width: 768px) {
	.page-header h1 {
		font-size: 20px;
	}

	.page-header span {
		font-size: 12px;
		line-height: 1;
		margin-bottom: 1rem;
	}


}

/* スマホヘッダー
====================================================*/

@media (max-width: 1100px) {
	.my-header-aligner {
		align-items: center;
		flex-direction: column;
	}

	.main-navigation ul.menu, .main-navigation ul.nav-menu {
		gap: 1em;
	}
}

@media (max-width: 768px) {
	/* これがないとスマホメニューの幅が短い */
	.handheld-navigation {
		min-width: 100vw;
	}

	.main-navigation .menu {
		background: #fff;
		color: var(--main-color);
		flex-direction: column;
		padding: 30px 50px;
	}

	.main-navigation .menu li {
		padding: 0 10px;
	}

	.main-navigation .menu li:last-of-type {
		padding-bottom: 30px;
	}

	.main-navigation .menu li a {
		color: var(--main-color) !important;
		font-size: var(--fz14) !important;
		font-weight: 700;
	}

	/* ヘッダー上列 */
	.right-nav {
		width: 100%;
	}

	.page-header {
		padding: 80px 0 80px 0;
	}

	.site-header-copy {
		display: none;
	}

	.site-header-copy-mb {
		background: var(--main-color);
		color: #fff;
		display: block;
		display: grid;
		font-size: var(--fz14);
		font-weight: 500;
		height: 30px;
		letter-spacing: .06em;
		padding: .1em 0;
		place-items: center;
		position: fixed;
		text-align: center;
		top: 0;
		width: 100%;
		z-index: 9999;
	}

	.site-header .col-full {
		width: 100%;
	}

	.woocommerce-active .site-branding {
		float: none !important;
		left: 50%;
		position: relative;
		transform: translateX(-50%);
	}

	.site-branding .logo {
		height: 60px;
		margin: 0;
	}

	.site-header .custom-logo-link {
		height: 60px;
	}

	.site-header .custom-logo-link img {
		bottom: 75%;
		left: 50%;
		max-width: 168px;
	}

	.my-header-aligner {
		background: #fff;
		flex-direction: row;
		height: var(--mb-header-bottom-h);
		left: 50%;
		margin-bottom: 0;
		padding: 0 18px;
		position: fixed;
		top: 30px;
		transform: translateX(-50%);
		width: 100%;
	}


	nav.my-sub-menu {
		display: flex;
		gap: 1em;
		justify-content: flex-end;
	}

	nav.my-sub-menu ul li:nth-of-type(1),
	nav.my-sub-menu ul li:nth-of-type(2),
	nav.my-sub-menu ul li:nth-of-type(3) {
		display: none;
	}

	nav.my-sub-menu ul li a,
	nav.my-sub-menu ul li:last-of-type a {
		border: none;
		padding: 0 !important;
	}

	/* アイコン */
	nav.my-sub-menu ul li a::before {
		height: 20px !important;
		margin-right: 0 !important;
		width: 20px !important;
	}

	/* MBお気に入りアイコン */
	.my-sub-menu ul li:nth-of-type(4) a::before {
		background-size: 0;
		color: var(--main-color);
		content: '\f004';
		font-family: "Font Awesome 6 Free";
		font-size: 20px;
		top: 1px;
	}

	nav.my-sub-menu ul li a span {
		display: none;
	}

	.storefront-primary-navigation {
		margin-top: 0;
	}

	/* モバイルメニュー アイコン等の位置 */
	.woocommerce-active .site-header .main-navigation {
		position: absolute;
		right: 0;
		top: 0;
		width: auto;
	}

	button.menu-toggle {
		background: #fff;
		border: none;
		display: inline-block !important;
		height: var(--mb-header-bottom-h);
		left: 0;
		position: absolute;
	}

	button.menu-toggle::before {
		background: none !important;
		color: var(--main-color);
		content: '\f0c9';
		font-family: "Font Awesome 6 Free";
		font-size: 18px;
		left: 50%;
		margin: 0;
		top: 34%;
		transform: translateX(-50%);
	}

	.toggled button.menu-toggle::before {
		content: '\f00d';
		transform: translateX(-50%);
	}

	button.menu-toggle::after {
		content: none;
	}

	button.menu-toggle span {
		display: none;
	}

}


/* ホーム
====================================================*/

/*=== Splide ===*/

/* 各スライド */
.home .splide__slide {
	overflow: hidden;
}

.home .splide__slide .item {
	aspect-ratio: 16 / 9;
	background-position-x: right;
	background-position-y: 50%;
	background-repeat: no-repeat;
	background-size: auto 80%;
	margin: 0;
	position: relative;
}

.home .splide__slide .item-mikan {
	background-image: url('images/top-slide-mikan.png');
}

.home .splide__slide .item-shinemuscat {
	background-image: url('images/top-slide-shinemuscat.png');
}

.home .splide__slide .item-apple {
	background-image: url('images/top-slide-apple.png');
}

.home .splide__slide .item-melon {
	background-image: url('images/top-slide-melon.png');
}

.home .splide__slide .item-pear {
	background-image: url('images/top-slide-pear.png');
}

.home .splide__slide .txt-wrap {
	position: absolute;
	text-align: justify;
	top: 50%;
	transform: translateY(-50%);
	width: 27em;
}

.home .splide__slide .txt-wrap h2 {
	color: var(--txt-color);
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: clamp(1.25rem, 0.25rem + 1.25vw, 2.25rem);
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1.5;
	margin-bottom: 1em;
	text-align: left;
}

.home .splide__slide .txt-wrap p {
	font-size: clamp(1rem, 0.75rem + 0.31vw, 1.25rem);
	font-weight: 500;
	letter-spacing: 0.05em;
}

.home .splide__slide .txt-wrap .btn {
	background: #fff;
	border: 1.5px solid var(--txt-color);
	color: var(--txt-color);
	display: flex;
	align-items: center;
	font-size: var(--fz15);
	gap: 1em;
	letter-spacing: .1em;
	margin: 0;
	padding: .8em 2em .8em 3em;
}

.home .splide__slide .txt-wrap .btn::after, .home .mb-btn::after {
	background-repeat: no-repeat;
	background-size: contain;
	content: '\f105';
	font-family: "Font Awesome 6 Free";
	font-size: var(--fz13);
	height: 15px;
	width: .5em;
	position: relative;
	top: -2px;
}

/* スライド 矢印 */
.home .splide__arrow {
	background: #fff;
	border: 1.5px solid #000;
	height: 38px;
	opacity: 1;
	width: 38px;
}

.home .splide__arrow svg {
	display: none;
}

.home .splide__arrow--prev {
	left: 15.5%;
}

.home .splide__arrow--prev::after {
	background-repeat: no-repeat;
	content: "\f104";
	display: block;
	font-family: "Font Awesome 6 Free";
	font-size: var(--fz13);
	height: 1.25rem;
	width: 10px;
}

.home .splide__arrow--next {
	right: 15.5%;
}

.home .splide__arrow--next::after {
	background-repeat: no-repeat;
	content: "\f105";
	display: block;
	font-family: "Font Awesome 6 Free";
	font-size: var(--fz13);
	height: 1.25rem;
	width: 10px;

}

/* === スライド ページネーション === */
.home .splide__pagination {
	display: flex;
	gap: 1.6rem;
}

.home .splide__pagination__page {
	background: #F7EDDF;
	height: .8rem;
	margin: 0;
	width: .8rem;
}

.home .splide__pagination__page.is-active {
	background: var(--main-color);
	transform: none;
}

@media (min-width: 769px) and (max-width: 1024px) {
	/* スライダーがヘッダー位置にかかる対策 */
	.home .splide {
		margin-top: 5rem;
	}

	/* === スライダー文字調整 ===  */
	.home .splide__slide .txt-wrap h2 {
		font-size: 19.2px;
	}

	.home .splide__slide .txt-wrap p {
		font-size: 13.568px;
	}

	.home .splide__slide .txt-wrap .btn {
		font-size: 12px;
	}

	.home .splide__slide .txt-wrap .btn::after, .home .mb-btn::after {
		font-size: 10.4px;
	}

	.home .splide__slide .txt-wrap {
		width: 22em;
	}
}

@media (max-width: 1024px) {
	.home .splide__slide {
		padding: 0;
		width: 100% !important;
	}

	.home .splide__slide .item {
		aspect-ratio: 16 / 22;
		background-position-x: center;
		background-position-y: 0%;
		background-size: contain;
		margin: 0 auto;
		max-width: 350px;
		position: static;
		width: 90%;
	}

	.home .splide__slide .txt-wrap {
		bottom: calc(70px + 32px);
		left: 50%;
		margin: 0 auto;
		max-width: 350px;
		text-align: center;
		top: auto;
		transform: translateX(-50%);
		width: 88%;
	}

	.home .splide__slide .txt-wrap {
		top: 56%;
		transform: translate(-50%, -50%);
	}

	.home .splide__slide .txt-wrap h2 {
		font-size: 18px;
		line-height: 1.6;
		margin: 0 auto;
		margin-bottom: 1em;
		text-align: center;
		white-space: break-spaces;
		width: 100%;
	}

	.home .splide__slide .txt-wrap p {
		font-size: 15px;
		line-height: 1.75;
		margin-bottom: 0;
	}

	.home .splide__arrows {
		display: none;
	}
}

.mb-btn {
	display: none;
}

@media (max-width: 1024px) {

	/* 改行の解除 */
	.home .splide .mb-hidden {
		display: none;
	}

	.home .splide__pagination {
		bottom: 100px;
		display: flex;
		gap: 2rem;
		margin-top: 0;
		position: relative;
		transform: scale(0.6);
	}

	.home .splide__slide .txt-wrap .btn {
		display: none;
	}

	.mb-btn {
		background: #fff;
		border: 1.5px solid var(--txt-color);
		bottom: 5px;
		color: var(--txt-color);
		display: flex;
		font-size: 15px;
		gap: 1em;
		margin-bottom: 0;
		padding: .8em 2em .8em 3em;
		position: relative;
	}
}

@media (max-width: 480px) {
	.home .splide__slide .txt-wrap {
		top: 56%;
		transform: translate(-50%, -50%);
	}
}

@media (max-width: 370px) {
	.home .splide__slide .item {
		aspect-ratio: 16 / 27;
	}
}

/* === バナー === */

.banners {
	padding: 60px 0;
}

.banners__aligner {
	display: flex;
	gap: 30px;
	margin: 0 auto 20px;
	margin-bottom: 30px;
}

.banners__item {
	height: auto;
	object-fit: contain;
	width: calc(50% - 15px);
}

.banners__item img {
	object-fit: contain;
	width: 100%;
}

@media (max-width: 768px) {
	.banners__aligner {
		flex-direction: column;
		gap: 20px;
		margin-bottom: 20px;
	}

	.banners__item {
		width: 100%;
	}
}


/* お知らせ
====================================================*/

.news {
	background-image: url(images/news-bg.png);
	padding: 100px 0;
}

.news .inner {
	background: #fff;
	border-radius: 30px;
	padding: 3rem 5.8rem;
	text-align: center;
}

.news .hd-wrap {
	position: relative;
}

.news .hd-deco {
	position: absolute;
	right: 0;
	top: 0;
}

.news .latest-news {
	margin-bottom: 3rem;
}

.news .latest-news ul {
	text-align: left;
}

.news .latest-news ul li {
	background-image: linear-gradient(to right, #888 5px, transparent 5px);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 10px 1.5px;
	padding: 1.5em 2.5em;
}

.news .latest-news ul li:first-of-type {
	background-image: linear-gradient(to right, #888 5px, transparent 5px), linear-gradient(to right, #888 5px, transparent 5px, transparent 5px);
	background-position: left top, left bottom;
	background-repeat: repeat-x;
	background-size: 10px 1.5px, 10px 1.5px;
}

.news .latest-news .info-aligner {
	align-items: center;
	display: flex;
	gap: 1.2em;
	margin-bottom: .8em;
}

.post-date {
	font-family: "Noto Sans JP", sans-serif;
	font-size: var(--fz16);
	font-weight: 700;
}

/* 記事カテゴリー */
.post-category {
	align-items: center;
	border: 1.5px solid var(--main-color);
	border-radius: 10.2px;
	color: var(--main-color);
	display: flex;
	font-size: var(--fz13);
	font-weight: 500;
	letter-spacing: .01em;
	padding: .15em .8em;
}

.post-category a {
	letter-spacing: .01em;
}

.news .latest-news a {
	color: var(--txt-color);
	font-weight: 500;
	letter-spacing: .05em;
}

@media (max-width: 1400px) {
	.post-date {
		font-size: 14px;
	}

	.news .latest-news a {
		font-size: 15px;
	}
}

@media (max-width: 768px) {
	.news .inner {
		padding: 3rem 25px;
	}

	.news .hd-deco {
		position: absolute;
		right: 0;
		top: -60px;
		width: 50%;
	}

	.news .latest-news ul li {
		padding: 1em 0em;
	}

	.news .btn {
		font-size: 14.5px
	}
}

/* === 人気ランキング Ranking === */

.ranking {
	background: var(--light-color);
	padding: 100px 0 140px;
}

.ranking .container {
	max-width: 1000px;
	width: var(--content-w);
}

.ranking .hd {
	position: relative;
}

.ranking .hd::before {
	content: "Ranking";
}

.ranking .hd::after {
	background-color: var(--main-color);
	bottom: -1.5rem;
	content: "";
	height: 0.5px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 2.8rem;
}

.ranking ul.products {
	align-items: flex-start;
	display: flex;
	gap: 1.8rem;
	justify-content: center;
}

/* 空白削除 */
.ranking ul.products::before {
	content: none;
}

.ranking .product {
	margin-bottom: 0 !important;
	max-width: 394px;
}

.ranking li.product::before {
	background-image: url(images/ranking-crown-1.png);
	background-repeat: no-repeat;
	background-size: contain;
	color: #fff;
	content: "1";
	display: grid;
	font-family: "Zen Maru Gothic";
	font-size: var(--fz22);
	font-weight: 700;
	height: 3rem;
	margin: 0 auto 10px;
	place-items: center;
	width: 4rem;
}

.ranking li.product:nth-of-type(2)::before {
	background-image: url(images/ranking-crown-2.png);
	background-repeat: no-repeat;
	background-size: contain;
	color: #fff;
	content: "2";
	display: grid;
	font-family: "Zen Maru Gothic";
	font-size: var(--fz22);
	font-weight: 700;
	height: 3rem;
	margin: 0 auto 10px;
	place-items: center;
	width: 4rem;
}

.ranking li.product:nth-of-type(3)::before {
	background-image: url(images/ranking-crown-3.png);
	background-repeat: no-repeat;
	background-size: contain;
	color: #fff;
	content: "3";
	display: grid;
	font-family: "Zen Maru Gothic";
	font-size: var(--fz22);
	font-weight: 700;
	height: 3rem;
	margin: 0 auto 10px;
	place-items: center;
	width: 4rem;
}

.ranking li.product img {
	aspect-ratio: 3 / 2;
	margin: 0 0 20px !important;
	object-fit: cover;
	width: 100%;
}

.ranking ul li {
	text-align: left !important;
}

.ranking .woocommerce-loop-product__title, .fruits .woocommerce-loop-product__title {
	font-size: 14px !important;
}

.ranking .woocommerce-Price-amount {
	font-size: 16px;
}

.ranking .add_to_cart_button {
	display: none;
}

@media (max-width: 768px) {

	.ranking .container--hd {
		width: 90%;
	}

	.ranking .products.columns-3 {
		align-items: center;
		flex-direction: column;
		gap: 20px;
	}

	.ranking .product {
		max-width: none;
		width: 100%;
	}
}

/* === TOP内 高級フルーツ一覧 Products === */

.fruits {
	background: var(--light-color);
	padding: 0 0 110px;
}

.fruits .container {
	max-width: 1000px;
	width: var(--content-w);
}

.fruits .hd {
	position: relative;
}

.fruits .hd::before {
	content: "Products";
}

.fruits .hd::after {
	background-color: var(--main-color);
	bottom: -1.5rem;
	content: "";
	height: 0.5px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 2.8rem;
}

.fruits .hd-caption {
	margin-bottom: 100px;
}

/* ショートコードで出すおすすめ一覧 */
.fruits ul.products {
	display: grid;
	gap: 1.8rem;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	margin-bottom: 120px !important;
}

/* 謎の空の疑似要素 */
.fruits ul.products::before {
	content: none;
}

.fruits .price {
	font-family: "Noto Sans JP";
	font-weight: 700 !important;
	line-height: 1;
	margin-bottom: 0 !important;
	text-align: left;
}

/* 自動生成される（税込） */
.fruits .woocommerce-price-suffix {
	font-size: var(--fz10);
	font-weight: 400;
	margin-left: -.8em;
}

@media (max-width: 768px) {
	.fruits {
		padding: 0 0 80px;
	}

	.fruits .container {
		width: var(--mb-w);
	}

	.fruits ul.products {
		gap: 1rem;
		grid-template-columns: 1fr 1fr;
		margin-bottom: 40px !important;
	}

	.fruits .hd-caption {
		margin-bottom: 4em;
	}

	.fruits .btn {
		font-size: 14.5px;
	}
}

ul.products li.product {
	margin-bottom: 0 !important;
	max-width: 394px;
	text-align: left !important;
}

/* 動的表示中の商品一覧サムネイル */
li.product img {
	aspect-ratio: 3 / 2;
	margin: 0 0 20px !important;
	object-fit: cover;
	width: 100%;
}

/* 動的表示中の商品一覧商品名 */
.woocommerce-loop-product__title {
	color: var(--txt-color);
	display: inline;
	font-size: var(--fz12) !important;
	font-weight: 500 !important;
	text-align: left !important;
}

/* === Instagram === */

.insta {
	background-image: url(images/insta-bg.png);
	padding: 7.8rem 0;
}

.insta .inner {
	background: #fff;
	border-radius: 30px;
	padding: 3rem 5.8rem;
	text-align: center;
}

.insta .hd-wrap {
	position: relative;
}

.insta .hd-deco {
	left: 40px;
	position: absolute;
	top: -20px;
	z-index: 1;
}

.insta .hd::before {
	content: "Instagram";
}

/* === Smash Balloon Instagram Feed === */

#sb_instagram {
	padding-bottom: 0 !important;
}

#sb_instagram #sbi_images {
	gap: 1.25rem !important;
	margin: 0 auto 3rem;
	padding: 0;
	width: 90%;
}

#sb_instagram .sbi_photo {
	height: auto !important;
}

#sb_instagram .sbi_photo img {
	aspect-ratio: 1 / 1;
}

#sb_instagram #sbi_load .sbi_load_btn {
	border-radius: 100vh;
	padding: 1.2em 6em;
}

#sb_instagram #sbi_load .sbi_btn_text {
	font-size: var(--fz16);
	font-weight: 700;
}

@media (max-width: 768px) {
	.insta .inner {
		padding: 3rem 20px;
	}

	.insta .hd-deco {
		left: 0;
		top: -50px;
		width: 50%;
	}

	#sb_instagram #sbi_images {
		margin-bottom: 30px;
		width: 100%;
	}

	#sb_instagram #sbi_load .sbi_btn_text {
		font-size: 14.5px;
	}
}

/* === お買い物ガイド Shopping Guide === */

.guide {
	background: var(--middle-color);
	padding: 3rem 0 8.4rem;
}

.guide .container, .woocommerce-cart .guide .container, .woocommerce-checkout .guide .container, .page-id-139 .guide .container, .privacy-policy .guide .container {
	max-width: 1200px;
	width: 95%;
}

.guide .hd::before {
	content: "Shopping Guide";
}

.guide-list {
	display: flex;
	gap: 20px;
}

.guide-item {
	background: #fff;
	display: grid;
	grid-template-rows: auto 4rem minmax(4rem, 1fr) 3rem;
	padding: 2rem;
	position: relative;
	text-align: center;
	width: calc(100% / 4);
}

.guide-item::before {
	background: var(--main-color);
	content: "";
	display: block;
	height: 7px;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.guide-item:nth-child(even)::before {
	background: #FFD28A;
}

.guide-circle {
	background: var(--main-color);
	border-radius: 50%;
	height: 4rem;
	margin: 0 auto;
	margin-bottom: 0;
	position: relative;
	width: 4rem;
}

.guide-circle img {
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 55%;
}

.guide-item:first-of-type .guide-circle img {
	width: 80%;
}

.guide-item h3 {
	align-items: center;
	display: flex;
	font-size: 16px;
	font-weight: 700;
	justify-content: center;
	letter-spacing: .08em;
	line-height: 1.4;
	margin-bottom: 0;
}

.guide-item:last-of-type h3 {
	font-size: 14px;
}

.guide-item p {
	font-size: var(--fz14);
	font-weight: 500;
	letter-spacing: .05em;
	text-align: left;
}

.guide-item .btn {
	display: grid;
	font-size: var(--fz14);
	letter-spacing: .1em;
	line-height: 0;
	margin: 0 auto;
	padding: 1.8em 1em;
	place-items: center;
	width: 100%;
}


@media (max-width: 960px) {
	.guide-list {
		flex-direction: column;
	}

	.guide-item {
		grid-template-rows: auto 5rem minmax(4rem, 1fr) fit-content(3rem);
		padding: 2rem 2rem 37px;
		width: 100%;
	}

	.guide-item:last-of-type h3 {
		font-size: 16px;
	}

	.guide-item p {
		line-height: 1.75;
		margin-bottom: 30px;
		text-align: center;
	}

	.guide-item .btn {
		line-height: 1;
		max-width: 180px;
		padding: 11px 0;
		width: 80%;
	}

}

@media (max-width: 768px) {
	.guide .container {
		width: 77% !important;
	}
}


/* === おすすめ商品 RECOMMEND === */

.recommend .hd {
	margin-bottom: 60px;
}

.recommend .products {
	display: flex;
	gap: 30px;
}

/* 商品名 */
.recommend .woocommerce-loop-product__title {
	color: #fff;
	display: block;
	height: auto;
	margin-bottom: 1.5em !important;
	text-align: left !important;
}

.recommend .woocommerce-loop-product__title:hover {
	text-decoration: underline;
}

.site-main ul.products li.product {
	text-align: right;
}

.recommend .price {
	color: #fff !important;
	text-align: right;
}

.recommend .button {
	background-color: transparent;
	border: 0;
	color: #fff;
	font-weight: 500;
	margin-bottom: 0 !important;
	padding: 0;
}

/* === PR === */

.pr {
	background: #000;
	color: #fff;
	padding: 60px;
}

.pr__flexer {
	display: flex;
	gap: 60px;
	justify-content: center;
}


/* サイドバー
====================================================*/

.left-sidebar .widget-area {
	margin-top: 0;
}

.widget {
	margin: 0 0 20px;
}

/* サイドバーに入れるしかなかったスペーサー */
#block-9.widget_block {
	display: none;
}

/* ===サイドバーのカスタムフィルタ=== */

.side-filter {
	margin: 0 auto;
	max-width: 13em;
}

.side-filter .hd-aligner {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 1em;
}

.side-filter .icon-down {
	color: var(--main-color);
	position: relative;
	top: -2px;
}

.side-filter h3 {
	font-size: var(--fz20);
	font-weight: 700;
}

/* gapをemにするとブラウザを狭めたときに枠がつぶれる */
.side-filter label {
	align-items: center;
	color: var(--txt-color);
	display: flex;
	font-size: var(--fz16);
	font-weight: 500;
	justify-content: space-between;
	margin-bottom: 1em;
}

.side-filter label input[type=radio] {
	order: 1;
}

.side-filter .list {
	margin-bottom: 3em;
}

/* === カスタムフィルターのラジオボタン === */

.side-filter input {
	appearance: none;
	-webkit-appearance: none;
	background: #fff !important;
	border: 2px solid var(--main-color);
	cursor: pointer;
	height: 25px;
	outline: none;
	position: relative;
	width: 25px;
}

.side-filter input::after {
	background-color: var(--main-color);
	content: "";
	display: none;
	height: 10px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 10px;
}

.side-filter input:checked::after {
	display: block;
}


/* ショップページ 商品一覧 /shop/
.archive
====================================================*/

/* 売り切れバッジ */
.asnp-esb-inner-span4-1 {
	font-family: "Noto Sans JP", sans-serif;
}

.tax-product_cat .woocommerce-products-header,
.woocommerce-shop .woocommerce-products-header {
	display: none;
}

/* 非表示
・ソートボタンとページ数ボタン（上部）
・ソートボタン（下部）
・ソートボタン横の文字
 */
.storefront-sorting:first-of-type, .storefront-sorting .woocommerce-ordering, .storefront-sorting .woocommerce-result-count {
	display: none;
}

/* 下部ページネーション */
.storefront-sorting .woocommerce-pagination {
	margin: 0 auto;
	width: 100%;
}

.tax-product_cat .products,
.woocommerce-shop .columns-3 {
	display: grid !important;
	gap: 30px !important;
	grid-template-columns: 1fr 1fr 1fr;
	margin-bottom: 60px;
	width: fit-content;
}

.tax-product_cat ul.products::before, ul.products::after,
.woocommerce-shop ul.products::before, ul.products::after {
	content: none !important;
}

.tax-product_cat .columns-3 .product,
.woocommerce-shop .columns-3 .product {
	margin-bottom: 0 !important;
	max-width: 291px;
	width: 100% !important;
}

/* 商品が見つからなかったときメッセージ */
.woocommerce-info, p.no-comments {
	background-color: #fff !important;
	border-left: 0 !important;
	color: var(--txt-color) !important;
	padding: 0 !important;
}

.woocommerce-info::before {
	content: none !important;
}

.archive .products {
	gap: 20px !important;
}

.archive .site-main ul.products li.product {
	text-align: left;
}

/* 商品タイトル */
.archive .woocommerce-loop-product__title {
	font-size: var(--fz14) !important;
}

/* セール表示 */
.archive .onsale {
	margin: .5em 0;
}

.archive .woocommerce-Price-amount {
	font-size: var(--fz20);
}

/* 自動生成の（税込） */
.archive .woocommerce-price-suffix {
	font-size: var(--fz14);
	font-weight: 500;
	margin-left: -.8em;
}


@media (max-width: 768px) {
	.woocommerce-shop .columns-3 {
		gap: 15px;
		grid-template-columns: 1fr 1fr;
		margin: 0 auto;
		width: var(--mb-w);
	}

	.woocommerce-shop .columns-3 .product {
		max-width: unset;
	}

	.archive ul.products.columns-3 {
		gap: 1rem !important;
		grid-template-columns: 1fr 1fr;
		justify-content: center;
		margin: 0 auto;
		width: var(--mb-w);
	}

	.archive .woocommerce-loop-product__title {
		font-size: 14px !important;
	}

	.left-sidebar .content-area {
		float: none;
		margin: 0 auto;
		width: 100%;
	}
}

/* === 商品フィルター === */

.hd-aligner {
	cursor: pointer;
}

.list {
	opacity: 1;
	transition: opacity 0.3s ease;
}

/* 開閉時にリストの表示・非表示を制御 */
.list.closed {
	display: none;
}

/* PCの場合：リストは常に表示 */
@media screen and (min-width: 768px) {
	.list {
		display: block;
	}
}

/* デフォルトでは縦並び（PC版） */
.filter-wrapper {
	display: flex;
	flex-direction: column;
}

@media (min-width: 769px) and (max-width: 1400px) {
	.side-filter label {
		font-size: var(--fz14);
	}
}

@media (max-width: 768px) {

	/* 商品一覧 */
	.archive .col-full {
		display: flex;
		flex-direction: column-reverse;
		width: 100%;
	}

	.left-sidebar .widget-area {
		width: 100%;
	}

	.side-filter {
		max-width: unset;
		width: 100%;
	}

	.side-filter .icon-down {
		top: 1px;
	}

	.side-filter .hd-aligner {
		align-items: center;
		gap: .5em;
		justify-content: center;
		margin-bottom: 0;
		padding: 1em;
	}

	.side-filter h3 {
		font-size: var(--fz16);
		margin-bottom: 0;
	}

	.filter-wrapper {
		border-bottom: 1px solid var(--main-color);
		border-top: 1px solid var(--main-color);
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-bottom: 2em;
		position: relative;
		width: 100%;
	}

	.filter-item {
		flex: 1;
		margin-bottom: 0;
		width: 48%;
		width: 48%;
	}

	.filter-item:first-of-type {
		border-right: 1px solid var(--main-color);
	}

	/* 最後のフィルターにはマージンをつけない */
	.filter-item:last-child {
		margin-right: 0;
	}

	.list {
		background-color: #fff;
		box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
		display: none;
		display: none;
		left: 50%;
		margin-top: 5px;
		padding: 20px 30px;
		position: absolute;
		transform: translateX(-50%);
		width: 100vw;
		z-index: 10;
		/* 初期状態ではリストは非表示 */
	}

	.hd-aligner {
		align-items: center;
		cursor: pointer;
		display: flex;
		justify-content: space-between;
	}

	.hd-aligner img {
		height: 20px;
		width: 20px;
	}
}



/* カテゴリーページ
====================================================*/

.woocommerce-products-header {
	margin-bottom: 30px;
}

.woocommerce-products-header::after {
	background-image: url(images/bg_line_940.png);
	background-repeat: no-repeat;
	content: "";
	display: inline-block;
	height: 20px;
	width: 100%;
}

.woocommerce-products-header__title {
	color: var(--txt-color);
	font-size: var(--fz32);
	font-weight: 700;
	letter-spacing: .1em;
	margin-bottom: 30px;
	text-align: center;
}

.product-category a {
	transition: .3s;
}

.product-category a:hover {
	opacity: .5;
}

.tax-product_cat .products {
	display: flex;
	gap: 60px;
}

.site-main ul.products li.product {
	margin-right: 0 !important;
}

/* 関連商品のリストアイテム */
.site-main ul.products.columns-3 li.product {
	width: 100%;
}

/* 関連商品・人気ランキングの金額文字 */
.woocommerce-Price-amount {
	color: var(--txt-color);
	font-family: "Noto Sans JP";
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
}

/* 自動生成される（税込） */
.ranking .woocommerce-price-suffix {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: var(--fz10);
	font-weight: 400;
	margin-left: -.8em;
}

.woocommerce-loop-category__title {
	color: #fff;
}

.count {
	display: none;
}

/* 人気順、新着順などの並べ替えフィルタ */
.storefront-sorting select {
	color: #555;
	font-size: 13px;
	padding: 8px;
}


/* 商品ページ
single-product.php
====================================================*/

.single-product {
	color: var(--txt-color);
}

.single-product .site-header {
	padding-bottom: 20px;
}

.single-product .storefront-breadcrumb {
	margin-bottom: 2.2rem;
	margin-top: 1.5rem;
	padding: 0 !important;
}

/* 左側 */
.single-product div.product .images {
	margin-right: 0 !important;
}

/* 商品ギャラリーのメイン画像のサイズを変更 */
.woocommerce-product-gallery__image img {
	aspect-ratio: 70 / 47;
	height: auto;
	max-width: 700px;
	width: 100%;
}

/* 商品ギャラリーのメイン画像のdiv */
.single-product .flex-viewport {
	margin: 0 !important;
}

/* === 商品ギャラリーのサムネ ===*/
.single-product .flex-control-thumbs {
	display: flex;
}

.single-product .flex-control-thumbs li {
	margin: 0 !important;
	width: 100% !important;
}

.single-product .flex-control-thumbs li img {
	aspect-ratio: 3 / 2;
	margin: 0 !important;
	max-height: 160px !important;
	object-fit: cover;
	width: 100%;
}

/* セールタグ */
.single-product .onsale {
	background: var(--txt-color);
	border: 00;
	border-radius: 0;
	color: #fff;
	left: 0;
	position: absolute;
	top: 0px;
	z-index: 10;
}


/* 右側 */
.single-product div.product .summary {
	margin-bottom: 108px !important;
}

.single-product .variations_form {
	margin-bottom: 0 !important;
}

.single-product .product_title {
	color: var(--txt-color);
	display: inline;
	font-size: var(--fz20);
	font-weight: 700;
	letter-spacing: .1em;
}

.single-product .price {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 27px;
	line-height: 1;
	margin: 8px 0 62px !important;
	position: relative;
}

.single-product .entry-summary .price::after {
	border-bottom: 1px solid #C8C9CA;
	bottom: -32px;
	content: "";
	display: block;
	position: absolute;
	width: 100%;
}

.single-product .wapf-field-input {
	max-width: 272px;
	position: relative;
	width: 70%;
}

.single-product .wapf-field-input::after {
	border-bottom: 2px solid #333;
	border-right: 2px solid #333;
	content: "";
	height: 8px;
	position: absolute;
	right: 18px;
	top: 44%;
	transform: rotate(45deg);
	width: 8px;
}

.single-product .wapf-field-container {
	padding: 0;
}

.single-product .woocommerce-Price-amount {
	font-size: 1.34rem;
}

/* 自動生成された（税込） */
.single-product .woocommerce-price-suffix {
	font-size: var(--fz17);
	font-weight: 500;
}

/* iphoneで折り返しされなくなっていたため対応 */
.single-product .wapf-field-description {
	font-size: var(--fz16);
	font-weight: 500;
	letter-spacing: normal;
	margin-bottom: 2.5em;
	opacity: 1;
	white-space: normal;
}

/* 熨斗などを選ぶセレクトボックスのラベル(WP標準機能) */
.single-product label[for="pa_noshi"] {
	display: inline-block;
	font-size: var(--fz16);
	font-weight: 500;
	margin-bottom: .8em;
}

.single-product select#pa_noshi {
	appearance: none;
	background: #fff;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	max-width: 272px !important;
	padding: 1em 2.5em 1em 1em;
	width: 100% !important;
}

.single-product .my-select-wrapper {
	max-width: 272px;
	position: relative;
	width: 70%;
}

.single-product .my-select-wrapper::after {
	border-bottom: 2px solid #333;
	border-right: 2px solid #333;
	content: "";
	height: 8px;
	position: absolute;
	right: 18px;
	top: 44%;
	transform: rotate(45deg);
	width: 8px;
}

.single-product .reset_variations {
	display: none !important;
}

.single-product .my-variation-description {
	font-size: var(--fz16);
	font-weight: 500;
	letter-spacing: normal;
	margin-bottom: 2.5em;
	margin-top: .4em;
	opacity: 1;
	white-space: normal;
	word-break: break-word;
}



/*=== YITH WooCommerce Wishlist ===*/

/* お気に入り追加・解除で出るメッセージを消す（完全に日本語対応できないため） */
.yith-wcwl-feedback-messages-container {
	display: none;
}

/* お気に入りボタンと問合せボタン */
.single-product .btn-aligner {
	align-items: center;
	display: flex;
	gap: 13px;
	justify-content: space-between;
}

/* お気に入りボタン */
.yith-add-to-wishlist-button-block {
	margin: 0;
	width: calc(50% - 6.5px);
}

/* 元々入っていたお気に入りボタンのハート */
.yith-wcwl-icon {
	display: none;
}

/* お気に入りボタンのハート */
.yith-wcwl-add-to-wishlist-button__label::before {
	background-image: url(images/wish-heart.png);
	background-repeat: no-repeat;
	background-size: 100%;
	content: '';
	display: inline-block;
	height: 1em;
	margin-right: .4em;
	position: relative;
	top: .25em;
	width: 1em;
}

.yith-wcwl-add-to-wishlist-button {
	border: 1px solid var(--txt-color);
	height: 60px;
	justify-content: center !important;
	padding: .8em 1em;
	width: 100%;
}

.single-product .yith-wcwl-add-to-wishlist-button__label {
	color: var(--txt-color);
	font-size: var(--fz18);
	font-weight: 500;
}

/* お気に入り商品削除時に出るメッセージ */
.yith-wcwl-form .woocommerce-message {
	width: 100%;
}

/*=== end YITH WooCommerce Wishlist ===*/


/* 問合せボタン */
.single-product .contact-btn {
	align-items: center;
	border: 1px solid var(--txt-color);
	color: var(--txt-color);
	display: flex;
	font-size: var(--fz18);
	font-weight: 500;
	height: 60px;
	justify-content: center;
	padding: .8em 1em;
	width: calc(50% - 6.5px);
}

.single-product .contact-btn::before {
	background-image: url(images/icon-contact.png);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 1em;
	margin-right: .6em;
	position: relative;
	top: 2px;
	width: 1.2em;
}

/* カテゴリ情報など */
.single-product .product_meta {
	display: none;
}

.single-product div.product form.cart {
	padding: 0 !important;
}

/* 数量増減ボタン */
.single-product div.product form.cart .quantity {
	border: 0.75px solid var(--txt-color);
	display: inline-block;
	float: none !important;
	margin-bottom: 35px;
	max-height: 65px;
	max-width: 155px;
	padding: 10px;
}

.single-product div.product .variations_button {
	padding-top: 0 !important;
}

/* 数字 */
.single-product div.product form.cart .quantity .qty {
	width: 2em;
}

.single-product div.product form.cart .quantity button {
	background: #fff;
	color: var(--txt-color);
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: var(--fz18);
	font-weight: 500;
	padding: 0;
}

.single-product div.product form.cart .quantity input {
	background: #fff !important;
	box-shadow: none;
	color: var(--txt-color);
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: var(--fz20);
	font-weight: 500;
	padding: 0;
}

/* inputの矢印を消す */
/* Chrome, Safari, Edge */
.single-product div.product form.cart .quantity input[type="number"]::-webkit-inner-spin-button,
.single-product div.product form.cart .quantity input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Firefox */
.single-product div.product form.cart .quantity input[type="number"] {
	-moz-appearance: textfield;
}


/* カートに追加ボタン */
.single-product .single_add_to_cart_button {
	background: #F4A51B !important;
	border-radius: 100vh;
	display: block;
	font-size: var(--fz18);
	font-weight: 700;
	margin-bottom: 14px;
	padding: 1em 0;
	width: 100%;
}

.single-product .under-btn-txt {
	color: #F4A51B;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .05em;
	margin-bottom: 3em;
	text-align: center;
}

.single-product .note {
	color: var(--accent-color);
	font-size: var(--fz14);
	font-weight: 500;
	margin-bottom: 2em;
}

@media (max-width: 768px) {

	/* hiddenを解除 */
	.single-product div.product {
		overflow: visible !important;
	}

	.single-product div.product .summary {
		margin: 0 auto 40px !important;
	}

	.single-product .btn-aligner {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.single-product .yith-add-to-wishlist-button-block {
		width: 100%;
	}

	.single-product .yith-wcwl-add-to-wishlist-button {
		padding: .5em;
	}

	.single-product .contact-btn {
		flex: 1;
		height: 100%;
		padding: .5em;
		width: 100%;
	}
}

/* === 商品ページタブ === */

/* タブ全体のスタイル */
.woocommerce-tabs .tabs {
	border-bottom: none;
	display: flex;
	justify-content: flex-start;
	overflow: visible;
	padding-top: 10px;
	position: relative;
}

/* 各タブのスタイル */
.woocommerce-tabs .tabs li {
	cursor: pointer;
	position: relative;
	transition: color 0.3s ease;
}

/* タブがアクティブな場合の色 */
.woocommerce-tabs .tabs li.active {
	color: var(--main-color);
}

/* オレンジバーのスタイル */
.woocommerce-tabs .tabs::after {
	background-color: var(--main-color);
	content: '';
	height: 6px;
	left: var(--bar-left);
	position: absolute;
	top: -4px;
	transition: all 0.3s ease;
	width: var(--bar-width);
}



.woocommerce-tabs .tabs {
	--bar-left: 0;
	--bar-width: 0;
}

.woocommerce-tabs .tabs::after {
	left: var(--bar-left);
	width: var(--bar-width);
}

/* 商品説明やレビューなどを並べたタブ文章 */
.woocommerce-tabs {
	color: var(--txt-color);
}

.woocommerce-Tabs-panel {
	width: 100% !important;
}


/* === カスタムテーブル（商品詳細）=== */

.custom-additional-info th,
.custom-additional-info td {
	font-weight: 700;
	letter-spacing: .1em;
}

.custom-additional-info th {
	font-size: var(--fz20);
	width: 12em;
}

.custom-additional-info td {
	font-size: var(--fz16);
	font-weight: 500;
}

.scene-wrap table th,
.custom-additional-info th {
	background: #FFF7ED !important;
	border-top: 1px solid #c8c9ca;
	padding: 1em 3em;
	text-align: center;
	vertical-align: middle;
}

.scene-wrap table td,
.custom-additional-info td {
	background: #fff !important;
	border-top: 1px solid #c8c9ca;
	padding: 1em 2em;
	vertical-align: middle;
}

.scene-wrap table tr:last-of-type th,
.scene-wrap table tr:last-of-type td,
.custom-additional-info tr:last-of-type th,
.custom-additional-info tr:last-of-type td {
	border-bottom: 1px solid #c8c9ca;
}

@media (max-width: 768px) {
	.custom-additional-info th, .custom-additional-info td {
		font-size: 15px;
		padding: .8em;
	}

	.custom-additional-info th {
		width: 6em;
	}
}

/* 編集リンク */
.edit-link {
	display: none;
}

/* 「商品の簡単な説明」で入力した文 */
.woocommerce-product-details__short-description {
	color: var(--accent-color);
	font-size: var(--fz18);
	font-weight: 500;
}

/* === ご利用シーン === */
.scene h2 {
	color: var(--txt-color);
	font-size: 28px !important;
	font-weight: 700;
	letter-spacing: .1em;
	margin-bottom: 76px;
	position: relative;
}

.single-product .scene h2::after {
	border-bottom: 1px solid #717070;
	bottom: -28px;
	content: "";
	display: block;
	position: absolute;
	width: 100%;
}

/* ご利用シーンのテーブル */
.scene-wrap table {
	margin-bottom: 120px;
}

.scene-wrap table th {
	font-size: var(--fz20);
	padding: 1em 2em;
	text-align: center;
	vertical-align: middle;
	width: 12em;
}

.scene-wrap table td {
	background: #fff;
	font-size: var(--fz16);
	font-weight: 500;
	padding: 1em 2em;
	vertical-align: middle;
}

@media (max-width: 768px) {
	.scene-wrap table th {
		font-size: 15px;
		padding: .8em;
		width: 6em;
	}

	.scene-wrap table td {
		font-size: var(--fz14);
		padding: 1em;

	}
}


/* === 下段商品説明 === */

/* タブと説明を縦並び */
.single-product div.product .woocommerce-tabs {
	display: flex;
	flex-direction: column;
	margin-bottom: 100px;
	padding-top: 6px;
}

/* 説明・追加情報のタブを横並び */
.single-product .woocommerce-tabs ul.tabs {
	border-top: 1px solid #717070;
	display: flex;
	gap: 2em;
	margin: 0;
	margin-bottom: 45px;
	padding-top: .4em;
	width: 100%;
}

/* タブの文字 */
.single-product .woocommerce-tabs ul.tabs li {
	border: 0;
}

.single-product .woocommerce-tabs ul.tabs li a {
	color: var(--txt-color);
	font-size: var(--fz20);
	font-weight: 700;
	padding: 0;
}

.single-product .woocommerce-Tabs-panel h2 {
	color: var(--txt-color);
	font-size: var(--fz23);
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-bottom: 1em;
}

.single-product .woocommerce-Tabs-panel p {
	font-size: var(--fz16);
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.8;
}

.single-product .woocommerce-Tabs-panel p:last-of-type {
	margin-bottom: 0;
}

.single-product .woocommerce-tabs ul.tabs li.active::after {
	content: none;
}

@media (max-width: 768px) {
	.single-product div.product .woocommerce-tabs {
		margin: 0 auto 40px;
		width: 100%;
	}

	.single-product .woocommerce-tabs ul.tabs {
		margin-bottom: 20px;
	}

}

/* === 関連商品 === */

.related h2:first-child {
	color: var(--txt-color);
	font-size: 28px !important;
	font-weight: 700;
	letter-spacing: .1em;
	margin-bottom: 76px !important;
	position: relative;
}

.related h2:first-child::after {
	border-bottom: 1px solid #717070;
	bottom: -28px;
	content: "";
	display: block;
	position: absolute;
	width: 100%;
}

.related .price {
	font-size: var(--fz19);
}

.related .woocommerce-Price-amount {
	font-size: var(--fz19);
}

.related .woocommerce-price-suffix {
	font-size: var(--fz16);
	margin-left: -.8em;
}


/* === 動的表示 === */

.single-product .columns-3 {
	display: flex;
	gap: 30px;
	justify-content: flex-start;
}

.single-product .site-main ul.products.columns-3 li.product {
	width: 100%;
}

.single-product .woocommerce-loop-product__title {
	font-size: 16px !important;
	font-weight: 700 !important;
}

.single-product .site-main ul.products li.product {
	text-align: left;
}


@media (max-width: 768px) {
	.single-product .related {
		margin: 0 auto;
		width: 100%;
	}

	.single-product .related .price {
		margin-bottom: 30px !important;
	}

	.single-product .columns-3 {
		display: grid;
		gap: 15px;
		grid-template-columns: 1fr 1fr;
	}
}

/* === 非表示 === */

/* 非表示
・タブの「説明」
・ページネーション
・関連商品のulの空の疑似要素（Flexboxがきれいに並ばないため）
 */
.woocommerce-tabs .panel h2:first-of-type,
.single-product .storefront-product-pagination,
.single-product .products::before {
	display: none !important;
}


/* マイアカウントのナビゲーション
====================================================*/

.container-for-nav {
	display: flex;
	gap: 1em;
	padding-bottom: 100px;
	width: 100%;
}

/* デフォルトアイコンを消す */
nav.woocommerce-MyAccount-navigation ul li a::before {
	content: none;
	display: none;
}

nav.woocommerce-MyAccount-navigation h2 {
	border-left: 7px solid var(--main-color);
	color: #000;
	font-size: var(--fz20);
	font-weight: 700;
	margin-bottom: 1.5em;
	margin-top: 2.5em;
	padding: 0 0 0 .5em;
}

nav.woocommerce-MyAccount-navigation h2:first-of-type {
	margin-top: 0;
}

nav.woocommerce-MyAccount-navigation ul {
	margin-bottom: 3em;
}

nav.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: .5em 0 !important;
}

@media (max-width: 768px) {
	.container-for-nav {
		flex-direction: column-reverse;
		padding-bottom: 30px;
		width: 90%;
	}

	nav.woocommerce-MyAccount-navigation h2 {
		margin: 0;
		padding: .5em;
	}

	nav.woocommerce-MyAccount-navigation ul {
		margin-bottom: 2em;
	}

	nav.woocommerce-MyAccount-navigation ul:last-of-type {
		margin-bottom: 0;
	}

	article nav.woocommerce-MyAccount-navigation ul li {
		border-bottom: 1px solid #ccc !important;
		margin-left: 1em;
		padding: .1em;
	}

	nav.woocommerce-MyAccount-navigation li a {
		padding: .5em 0 !important;
	}

}


/* お気に入り /wishlist/
====================================================*/

/* 非表示 */
.wishlist-title {
	display: none;
}

.shop_table.cart.wishlist_table {
	border-collapse: collapse;
}

.shop_table.wishlist_table td,
.shop_table.wishlist_table th {
	border: none;
	text-align: left;
	vertical-align: middle;
}

.wishlist_table .product-name {
	width: 30%;
}

.wishlist_table .product-name a {
	color: var(--txt-color);
}


@media (max-width: 768px) {
	.page-id-180 .wishlist_table.mobile li .item-wrapper {
		display: flex;
		gap: 1em;
		justify-content: center;
		width: 100%;
	}

	.page-id-180 .product-name h3 {
		background: #fff;
		margin: 0;
		padding: 0;
	}

	.page-id-180 .product-name a {
		font-weight: 500;
		text-decoration: underline;
	}

	.woocommerce-MyAccount-navigation-link {
		border-bottom: 1px solid #ccc !important;
		margin-left: 1em;
		padding: .1em;
	}
}


/* 退会手続きページ /taikai/
====================================================*/

.page-id-484 .container:nth-last-of-type(2) {
	margin: 0;
}


/* ログイン画面（未ログイン）
====================================================*/

/* 非表示
・ログインフォーム上の見出し
・登録フォーム */
#customer_login h2,
.woocommerce-account .u-column2.col-2 {
	display: none;
}

/* ログインフォーム */
.woocommerce-account .u-column1.col-1 {
	float: none !important;
	margin: 0 auto !important;
	width: 60% !important;
}

.woocommerce-form-login label {
	font-weight: 500;
}

.woocommerce-form-login__rememberme {
	margin-bottom: 2em;
}

/* パスワードをお忘れの方 / 新規会員登録はこちら */
.woocommerce-LostPassword.lost_password {
	margin-bottom: 0;
	line-height: 1;
	position: relative;
}

.my-login-register {
	position: relative;
}

.woocommerce-LostPassword.lost_password a, .my-login-register a {
	font-size: var(--fz14);
}

.woocommerce-LostPassword.lost_password a::after, .my-login-register a::after {
	content: '\f105';
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 9px;
	position: absolute;
	left: 20.2em;
	top: 62%;
	transform: translateY(-50%);
}

@media (max-width: 768px) {
	.woocommerce-account .u-column1.col-1 {
		width: 100% !important;
	}
}

/* === パスワードを忘れた場合 === */

/* PWリセットメール送信後 */
.woocommerce-lost-password .woocommerce-message {
	margin-bottom: 0;
}

.woocommerce-lost-password .woocommerce {
	flex-direction: column;
	gap: 0;
}

form.woocommerce-ResetPassword.lost_reset_password {
	margin: 0 auto;
	width: 50%;
}

form.woocommerce-ResetPassword.lost_reset_password .form-row-first {
	margin-right: 0;
	width: 100%;
}

form.woocommerce-ResetPassword.lost_reset_password .form-row label {
	font-weight: 500;
}

/* === 新しいPWを入力 ===  */
p.woocommerce-form-row.woocommerce-form-row--last.form-row.form-row-last {
	width: 100%;
}

@media (max-width: 768px) {

	.page.woocommerce-lost-password article {
		padding-bottom: 30px !important;
	}

	form.woocommerce-ResetPassword.lost_reset_password {
		width: 100%;
	}
}


/* マイアカウント /my-account/
====================================================*/

.woocommerce-account article#post-10 {
	padding-bottom: 100px;
}

.woocommerce-account .woocommerce,
.page-id-47 .woocommerce {
	display: flex;
	gap: 2em;
}

/* マイページのタイトル */
.woocommerce-account .entry-title {
	text-align: center;
}

/* マイページのダッシュボード */
.woocommerce-account .entry-content {
	background: #fff;
	border-radius: 5px;
	padding: 0;
}

/* ダッシュボードのテキスト */
.woocommerce-account .entry-content p {
	color: #333;
}

/* ダッシュボードのメニュー */
.woocommerce-MyAccount-navigation {
	width: 30% !important;
}

/* ダッシュボードのメニューリンク */
.woocommerce-MyAccount-navigation a {
	color: #333;
	font-size: var(--fz14);
	font-weight: 500;
}

/* 
・会員登録
・会員情報の確認・変更
*/
.form-row label {
	font-size: var(--fz14);
	font-weight: 500;
}

.form-row input {
	font-size: var(--fz16);
}

/* registerページ */
.page-id-47 .entry-content {
	margin-bottom: 60px;
}


@media (max-width: 768px) {
	nav.woocommerce-MyAccount-navigation {
		width: 100% !important;
	}
}


/* 買い物かご /cart/
====================================================*/

.woocommerce-cart .woocommerce-message {
	max-width: 940px;
}

.woocommerce-cart .container {
	max-width: 940px;
}

.woocommerce-cart .entry-title {
	color: #fff;
	font-size: var(--fz14);
	margin-bottom: 60px;
	text-align: center;
}


/* フッター footer
====================================================*/

.site-footer {
	padding: 50px 0 30px;
	text-align: center;
}

.my-footer-container {
	margin: 0 auto;
	width: 90%;
}

.footer-menu, .footer-menu-sub {
	display: flex;
	gap: 1.8em;
	justify-content: center;
	margin-bottom: 2em;
}

.footer-menu li a, .footer-menu-sub li a {
	font-size: var(--fz13);
	font-weight: 700;
	letter-spacing: .1em;
	text-decoration: none;
}

.footer-menu-sub {
	margin-bottom: 4em;
}

.copyright {
	font-size: 12px;
	font-weight: 700;
	margin: 0 auto;
	width: var(--mb-w);
}

.copyright p {
	font-size: var(--fz11);
	font-weight: 400;
	letter-spacing: 0.05em;
	margin-bottom: 0;
}

@media (max-width: 960px) {
	.footer-menu {
		flex-direction: column;
		gap: 1em;
		margin-bottom: 1em;
	}

	.footer-menu-sub {
		flex-direction: column;
		gap: 1em;
		margin-bottom: 3em;
	}

	.copyright p {
		font-size: 12px;
	}
}


/* サイドバーの非表示
====================================================*/

body.single .widget-area,
body.page .widget-area,
body.home .widget-area {
	display: none;
}

body.single .content-area,
body.page .content-area,
body.home .content-area {
	width: 100%;
}

/* 
商品詳細ページ
でサイドバーを非表示 */
body.single-product .sidebar,
body.single-product .side-filter {
	display: none;
}

body.single-product .content-area {
	width: 100%;
}


/* 記事一覧ページ
.page-template-custom-posts-archive
====================================================*/

.post-meta {
	display: flex;
	gap: 1.2em;
	margin-bottom: .8em;
}

.page-template-custom-posts-archive .post-title {
	margin-top: 0;
}

.post-excerpt p {
	font-weight: 500;
	letter-spacing: .05em;
	line-height: 1.6;
}

/* === アーカイブテンプレート共通 === */

.post-archive {
	margin: 0 auto;
	width: 70%;
}

.post-archive h2 {
	border-left: none !important;
	margin-bottom: .5em !important;
	padding-left: 0 !important;
}

.post-archive h2 a {
	color: #000;
	font-size: var(--fz20);
	font-weight: 500;
	letter-spacing: .05em;
}

.post-archive article {
	background-image: linear-gradient(to right, #888 5px, transparent 5px);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 10px 1.5px;
	margin-bottom: 2em !important;
	padding-bottom: 2em;
}

.post-archive article:last-of-type {
	background: none;
}

.post-excerpt p {
	margin-bottom: 0;
}

.post-archive .pagination {
	border: none;
}

@media (max-width: 768px) {
	.post-archive {
		width: 100%;
	}
}


/* 投稿ページ
====================================================*/

.single-post .col-full {
	max-width: var(--single-mw);
}

/* 記事情報 */
.single article .post-author,
.single article .post-comments {
	display: none;
}

.single article .post-meta {
	margin-bottom: 1em;
}

.single article .post-date {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: var(--fz14);
	font-weight: 700;
	letter-spacing: .02em;
	margin-right: .3em;
}

.single article .post-category {
	display: inline-block;
}

.single article h1.entry-title {
	font-size: var(--fz36);
	font-weight: 600;
	letter-spacing: .05em;
}

.single article h3 {
	font-size: var(--fz20);
	font-weight: 700;
}

.single article p {
	font-size: var(--fz17);
	font-weight: 500;
	letter-spacing: .05em;
	line-height: 2;
}

.single article ul, .single article ol {
	margin: 2em 0;
}

.single article ul li, .single article ol li {
	margin-bottom: 1em;
	margin-left: 2em;
}

.single article ul li {
	list-style-type: disc;
}

.single article ol li {
	list-style-type: decimal;
}

.single table {
	border-collapse: collapse;
	width: 100%;
}

.single td, th {
	border: 3px solid white;
}

.single table td:first-child,
.single table th:first-child {
	border-left: none;
}

.single table tr:first-child td,
.single table tr:first-child th {
	border-top: none;
}

.single table tr:last-child td,
.single table tr:last-child th {
	border-bottom: none;
}

.single table td:last-child,
.single table th:last-child {
	border-right: none;
}

@media (max-width: 768px) {

	/* 固定ヘッダーがのる分を考慮 */
	.single .col-full {
		padding-top: 10px;
	}

	/* 横スクロールを許可 */
	.single table {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
	}
}


/* 固定ページ page.php
====================================================*/

.page .storefront-breadcrumb,
.page .storefront-primary-navigation {
	display: none;
}

.page h1.entry-title {
	display: none;
}

/* ABOUTでは無効 */
.page article.post-22 {
	padding-bottom: 0 !important;
}

.page article p {
	color: #000;
	font-size: var(--fz16);
	font-weight: 500;
	line-height: 2;
}

.single article h2,
.page article h2 {
	border-left: 7px solid var(--main-color);
	color: #000;
	font-size: var(--fz25);
	font-weight: 700;
	margin-bottom: 1.5em;
	margin-top: 2.5em;
	padding: 0 0 0 .5em;
}

.page article h3 {
	background: rgba(243, 167, 32, .22);
	border-radius: 9px;
	font-size: var(--fz16);
	font-weight: 700;
	margin: 2em 0;
	padding: 0.8em 1em;
}

.page ol {
	counter-reset: number;
	list-style: none;
	margin: 0;
}

.page ol li {
	color: #000;
	font-size: var(--fz17);
	font-weight: 500;
	line-height: 2;
	padding-left: 2.6em;
	position: relative;
	text-indent: -.1em;
}

.page ol li::before {
	content: '（'counter(number) '）';
	counter-increment: number;
	left: 0;
	position: absolute;
}


.page .page-eyecatch {
	height: 320px;
	width: 100%;
}

.page .page-header {
	padding: 70px 0;
}

.page .content-area {
	background: #fff;
}

.page .site-main {
	margin-bottom: 0;
	padding-bottom: 40px;
}

.page .hentry {
	margin-bottom: 0;
}

/* 色つき見出しの下 */
.page .intro p {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: var(--fz20);
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 2;
	margin: 0 auto 110px;
	max-width: 36em;
	text-align: center;
}

/* === MB: page ===  */

@media (min-width: 769px) and (max-width: 1400px) {
	.page .intro p {
		font-size: var(--fz16);
	}
}

@media (max-width: 768px) {
	.my-page-eyecatch {
		height: 142px;
		object-fit: cover;
	}

	.page .page-header {
		padding: 2.5rem 0;
	}

	.page .intro {
		width: 85%;
	}
.page-contact .intro {
		width: 100%;
	}

	.page .intro h2, .page-about .intro h2, .page-carving .intro h2 {
		font-size: 17px;
		letter-spacing: .2em;
		line-height: 1.75;
		margin-bottom: 2.5rem !important;
	}

	.page .intro p, .page-about .intro p {
		color: var(--txt-color);
		font-size: 14px;
		font-weight: 500;
		letter-spacing: .1em;
		line-height: 1.85;
		margin-bottom: 140px;
	}
}



/* カテゴリー（archive.php）
category
====================================================*/

.category main {
	padding-bottom: 40px;
}



/* 会員登録ページ
.page-id-10
====================================================*/

/* 非表示
・ログインフォーム
 */
body.page-id-47 .u-column1.col-1,
body.page-id-47 .u-column2.col-2 h2 {
	display: none;
}

/* 赤い帯で出てくるエラーメッセージ */
.woocommerce-error {
	margin: 0 auto 60px !important;
	width: 100%;
}

/* Font Awesomeが表示されてないので */
.woocommerce-error::before {
	font-weight: 900;
}

/* 登録フォーム */
.page-id-47 .u-column2.col-2 {
	float: none !important;
	margin: 0 auto !important;
	width: 60% !important;
}

body.page-id-47 .woocommerce {
	display: flex;
}

@media (max-width: 768px) {
	body.page-id-47 .woocommerce {
		display: flex;
		flex-direction: column-reverse;
	}

	body.page-id-47 .u-column2.col-2 {
		width: 100% !important;
	}
}

/*
当店のこだわり .page-about
カービングフルーツ .page-carving
====================================================*/

.page-about {
	background: #fff;
}

.page-about .container {
	margin: 0 auto;
	max-width: 1200px;
	width: 95%;
}

.page-about .mb-bg-container {
	background-image: none;
	margin-bottom: 0;
}

.page-about .mb-bg-container:last-of-type {
	margin-bottom: 0;
}

.page-about .intro,
.page-carving .intro {
	text-align: center;
}

.page-about .intro h2, .page-carving .intro h2 {
	border: none;
	color: var(--main-color);
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: var(--fz32);
	font-weight: 700;
	letter-spacing: .18em;
	line-height: 1.8;
	margin: 0 auto 1em;
	padding: 0;
}

.page-carving .intro p {
	margin-bottom: 2.5em;
}

.page-carving .intro .small {
	font-size: var(--fz16);
	margin-bottom: 6rem;
}

.page-about .reason {
	background: #FFF9F0;
	padding: 115px 0 10rem;
}

.page-about .reason .deco {
	left: 51%;
	position: absolute;
	top: -4.5%;
	transform: translateX(-50%);
	width: 125px;
	z-index: 10;
}

.page-about .reason h2 {
	border-left: none !important;
	color: var(--txt-color);
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: var(--fz32);
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-bottom: 1.5em;
	margin-top: 0;
	padding: 0;
	text-align: center;
}

.page-about .reason .intro-txt {
	font-size: var(--fz20);
	font-weight: 500;
	letter-spacing: 0.1em;
	margin-bottom: 1rem;
	text-align: center;
}

.page-about .reason .item {

	background-image: url("/wp-content/uploads/2024/12/about-right.png");
	background-position-x: right;
	background-position-y: 50%;
	background-repeat: no-repeat;
	background-size: 70%;
	margin-bottom: 300px;
	padding: 10rem 0;
	position: relative;
}

/* FEATURE02 */
.page-about .reason .item-02 {
	background-image: url("/wp-content/uploads/2024/12/about-left.png");
	background-position-x: left;
	padding: 10rem 0;
}

.page-about .reason .item:last-of-type {
	margin-bottom: 0;
}

.page-about .reason .item .bg {
	left: auto;
	position: absolute;
	right: -10%;
	top: -170px;
	width: 70%;
	z-index: 0;
}

.page-about .reason .item .bg--left {
	left: -10%;
	right: auto;
}

.page-about .reason .item .aligner {
	align-items: center;
	display: flex;
	gap: 3rem;
	justify-content: center;
}

.page-about .reason .wrap {
	flex: 1;
	left: 0;
	position: relative;
	top: 2rem;
	z-index: 2;
}

.page-about .reason .txt-wrap {
	left: 0;
	position: absolute;
	right: auto;
	top: 50%;
	transform: translateY(-50%);
	width: 70%;
}

.page-about .reason .item-02 .txt-wrap {
	left: auto;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 70%;
}

.page-about .reason .hd-en {
	color: var(--main-color);
	display: inline-block;
	font-family: "Geologica", sans-serif;
	font-size: var(--fz24);
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.4;
	margin-bottom: 1rem;
}

.page-about .reason .hd-en::after {
	background: var(--main-color);
	content: '';
	display: block;
	height: 3px;
	position: relative;
	top: 16px;
	width: 49px;
}

/* feature01 の 01 */
.page-about .reason .hd-en span {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: var(--fz32);
	letter-spacing: .02em;
	margin-left: .25em;
	position: relative;
}

/* feature01 の 01 の飾り */
.page-about .reason .wrap .hd-en span::before {
	background-image: url(images/about-lines.png);
	background-repeat: no-repeat;
	background-size: 55%;
	content: '';
	display: block;
	height: 40%;
	left: auto;
	position: absolute;
	right: -78%;
	top: -18%;
	width: 180%;
}

/* feature01 の 背後の01 */
.page-about .reason .wrap .hd-en span::after {
	color: #FFF9F0;
	content: '01';
	display: inline-block;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-size: var(--fz150);
	font-weight: 500;
	left: 0;
	letter-spacing: .02em;
	line-height: 0;
	position: absolute;
	top: 6px;
	z-index: -1;
}

.page-about .reason .wrap .feature-02 span::after {
	content: '02';
}

.page-about .reason .wrap .feature-03 span::after {
	content: '03';
}

.page-about .reason .wrap h3 {
	background: none;
	color: var(--main-color);
	font-size: var(--fz24);
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.8;
	margin-bottom: .6rem;
	margin-top: 0.8rem;
	padding: 0;
}

.page-about .reason .wrap p {
	font-size: var(--fz14);
	font-size: 16px;
	font-weight: 500;
	letter-spacing: .05em;
	line-height: 1.8;
	text-align: left;
	width: 100%;
}

.page-about .reason .item .image {
	flex: 1;
	min-width: 0;
	object-fit: contain;
	position: relative;
}

.page-about .reason .btn {
	font-size: 16px;
	padding: 1.3em 0;
	text-decoration: none;
	width: 100%;
}

/* == ABOUT用スライダー == */
@keyframes horizontal-animation {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-100%);
	}
}

.page-about .slider-container {
	display: flex;
	margin-bottom: 250px;
	overflow: hidden;
}

.slider-wrapper {
	animation: horizontal-animation 30s linear infinite;
	display: flex;
}

.page-about .slide {
	aspect-ratio: 3 / 2;
	width: 350px;
}

.page-about .slide img {
	height: auto;
	vertical-align: bottom;
	width: 100%;
}

@media (min-width: 769px) and (max-width: 1400px) {
	.page-about .container {
		max-width: 1100px;
	}

	.page-about .intro h2, .page-carving .intro h2 {
		font-size: 1.6rem;
	}

	.page-about .reason h2 {
		font-size: 1.6rem;
	}

	.page-about .reason .intro-txt {
		font-size: var(--fz16);
	}

	.page-about .reason .hd-en, .page-about .reason .wrap h3 {
		font-size: 1.2rem;
	}

	.page-about .reason .hd-en span {
		font-size: 1.6rem;
	}
}

@media (max-width: 768px) {

	.page-about .container {
		width: 85%;
	}

	.page-about .intro h2, .page-carving .intro h2 {
		font-size: 17px;
		letter-spacing: .2em;
		line-height: 1.75;
		margin-bottom: 2.5rem !important;
	}

	.page-about .slider-container,
	.page-about .reason .item .bg {
		display: none;
	}

	.page-about .reason {
		padding: 90px 0;
	}

	.page-about .reason h2 {
		line-height: 1.5;
	}

	.page-about .reason .deco {
		left: 53%;
		top: -7rem;
		width: 90px;
	}

	.page-about .reason .intro-txt {
		margin-bottom: 60px;
	}

	.page-about .mb-bg-container {
		background-image: url(/wp-content/uploads/2024/12/about-right.png);
		background-position: 70% 0%;
		background-repeat: no-repeat;
		background-size: 200%;
		margin-bottom: 0;
	}

	.page-about .mb-bg-container:nth-of-type(odd) {
		background-image: url(/wp-content/uploads/2024/12/about-left.png);
		background-position: 30% 0%;
	}

	.page-about .reason .wrap h3 {
		font-size: 18px;
		line-height: 1.75;
		margin-top: 0;
	}

	.mb-bg-container .container {
		width: 80%;
	}

	.page-about .reason .item {
		margin-bottom: 3rem !important;
		padding: 8rem 0 0;
	}

	.page-about .reason .item .aligner {
		flex-direction: column-reverse;
		gap: 5rem;
	}

	.page-about .reason .item-02 .aligner {
		flex-direction: column;
		gap: 27px;
	}

	.page-about .reason .wrap p {
		letter-spacing: 0.1em;
		margin-bottom: 27px;
	}

	.page-about .reason .txt-wrap, .page-about .reason .item-02 .txt-wrap {
		position: static;
		transform: none;
		width: 100%;
	}

	.page-about .reason .hd-en {
		font-size: 15.5px;
		margin-bottom: 2em;
	}

	/* FEATUREの線 */
	.page-about .reason .hd-en::after {
		top: 17px;
		width: 1.3em;
	}

	.page-about .reason .hd-en span::before {
		background-size: 50%;
		height: 20px;
		right: -75%;
		top: -19%;
		width: 43px;
	}

	/* FEATUREの大きな数字 */
	.page-about .reason .wrap .hd-en span::after {
		font-size: 90px;
		top: 12px;
	}

	.page-about .reason .item .image {
		width: 100%;
	}

	.page-about .reason .wrap {
		font-size: var(--fz15);
		width: 100%;
	}

}

/* === セパレーター === */

.semicircle {
	position: relative;
}

.semicircle::before {
	background: #FFF9F0;
	border-radius: 50%;
	bottom: 0px;
	content: '';
	height: 252px;
	left: 50%;
	position: absolute;
	top: -3%;
	transform: translateX(-50%);
	width: 252px;
	z-index: 1;
}

.semicircle .content {
	position: relative;
	z-index: 1;
}

@media (max-width: 768px) {
	.semicircle::before {
		height: 160px;
		top: -4rem;
		width: 160px;
	}
}

/* === フルーツカービング紹介 === */
.page-carving .scene h2 {
	border-bottom: 2px solid var(--main-color);
	border-left: none;
	border-top: 2px solid var(--main-color);
	color: var(--main-color);
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: var(--fz34) !important;
	font-weight: 700;
	margin: 0 auto 120px !important;
	padding: .8em 0 !important;
	text-align: center;
	width: 12.5em;
}

.page-carving .item {
	margin-bottom: 300px;
	position: relative;
}

.page-carving .item:last-of-type {
	margin-bottom: 0;
}

.page-carving .item .bg {
	background: linear-gradient(180deg, #fff, rgba(255, 195, 113, .28));
	bottom: -5rem;
	height: 600px;
	position: absolute;
	right: 0;
	width: 80%;
	z-index: 0;
}

.page-carving .item .aligner {
	display: flex;
	gap: 100px;
	position: relative;
	z-index: 1;
}

.page-carving .item .image {
	height: fit-content;
	width: 55%;
}

.page-carving .item .wrap {
	padding: 100px 0 0;
	width: 27em;
}

.page-carving .item h3 {
	background: none;
	color: var(--main-color);
	font-size: var(--fz28);
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.8;
	margin-bottom: 1em;
	margin-top: 0;
	padding: 0;
}

.page-carving .item p {
	font-size: var(--fz16);
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 2;
}

.page-carving .item--2 .bg {
	left: 0;
	right: auto;
}

.page-carving .item--2 .aligner {
	display: flex;
	gap: 100px;
	justify-content: flex-end;
	position: relative;
	z-index: 1;
}

@media (max-width: 1400px) {
	.page-carving .item .aligner {
		gap: 3rem;
	}
}

@media (max-width: 1249px) {

	.page-carving .intro .small {
		margin-bottom: 80px;
	}

	.page-carving .item .image {
		margin: 0 auto 0 0;
		width: 95%;
	}

	.page-carving .item:nth-of-type(even) .image {
		margin: 0 0 0 auto;
	}

	.page-carving .item .aligner {
		flex-direction: column;
		gap: 30px;
	}

	.page-carving .item--2 .aligner {
		flex-direction: column-reverse;
	}

	.page-carving .item {
		margin-bottom: 10rem;
	}

	.page-carving .item .wrap {
		margin: 0 auto;
		padding: 0;
		text-align: center;
		width: 85%;
	}

	.page-carving .item .bg {
		bottom: -2.5rem;
		height: 100%;
		width: 100%;
	}

	.page-carving .item p {
		font-weight: 500;
		line-height: 1.8;
	}
}

@media (max-width: 768px) {
	.page-carving .intro p {
		font-weight: 500;
	}

	.page-carving .item h3 {
		line-height: 1.5;
	}

	.page-carving .item p {
		font-size: 15px;
	}
}

.page-carving .example {
	padding: 8.5rem 0;
	position: relative;
}

.page-carving h2 {
	border-left: none !important;
	color: var(--txt-color);
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	margin-bottom: 3.5rem !important;
	margin-top: 0 !important;
	padding: 0 !important;
	text-align: center;
}

.page-carving .example table {
	margin: 0 auto 75px;
	max-width: 500px;
}

.page-carving .example th {
	background: var(--main-color) !important;
	border: none;
	border-radius: 12.5px 12.5px 0 0;
	color: #fff;
	font-size: var(--fz20);
	font-weight: 700;
	padding: .8em;
	text-align: center;
}

.page-carving .example td {
	background: #fff !important;
	border: 2px solid var(--main-color);
	border-radius: 0 0 12.5px 12.5px;
	font-size: var(--fz19);
	font-weight: 700;
	padding: 1em;
	text-align: center;
}

.page-carving .example-list {
	display: grid;
	gap: 20px;
	grid-template-columns: 1fr 1fr 1fr;
}

@media (max-width: 1249px) {

	.page-carving .example {
		padding: 6rem 0 3rem;
	}

	.page-carving .example table {
		margin: 0 auto 40px;
	}

	.page-carving .example-list {
		grid-template-columns: 1fr 1fr;
	}
}

.page-carving .flow {
	background-image: url(images/news-bg.png);
	padding: 150px 0;
}

.page-carving .flow .wrap {
	background: #fff;
	border-radius: 40px;
	margin: 0 auto;
	padding: 4.5rem 0;
}

/* ご注文の流れ：テキスト幅 */
.page-carving .flow .wrap .container {
	width: var(--inner-w);
}

.page-carving .flow .area {
	color: var(--main-color);
	display: block;
	font-size: var(--fz19);
	font-weight: 700;
	margin-bottom: 4.5rem;
	text-align: center;
}

.page-carving .flow h3 {
	background: none;
	border-left: 7px solid var(--main-color);
	border-radius: 0;
	font-size: var(--fz24);
	font-weight: 700;
	margin-bottom: 1em;
	margin-top: 2em;
	padding: 0 0 0 .5em;
}

.page-carving .flow p {
	font-size: var(--fz18);
	font-weight: 500;
	letter-spacing: .1em;
	line-height: 1.6;
}

.page-carving .flow table {
	border-collapse: collapse;
	margin: 40px auto 75px;
}

.page-carving .flow .tb-hd {
	background: var(--main-color) !important;
	border: none;
	border-radius: 26px 26px 0 0;
	color: #fff;
	font-size: var(--fz24);
	font-weight: 700;
	line-height: normal;
	padding: .2em;
	text-align: center;
}

.page-carving .flow th {
	background: #fff;
	border-bottom: 3px solid var(--main-color);
	font-size: var(--fz24);
	line-height: .8em;
	padding: 1em 2em;
	vertical-align: middle;
	width: 60%;
}

.page-carving .flow th span {
	font-size: var(--fz14);
	font-weight: 500;
}

.page-carving .flow tr:not(tr:first-of-type) th {
	border-right: 3px solid var(--main-color);
	border-top: none;
	position: relative;
}

.page-carving .flow tr:nth-of-type(2) th::after {
	background: white;
	content: '';
	height: 20%;
	left: 100%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 20px;
	z-index: 1;
}

.page-carving .flow tr:nth-of-type(3) th::after {
	background: white;
	bottom: 0;
	content: '';
	height: 20%;
	left: 100%;
	position: absolute;
	top: auto;
	transform: translateX(-50%);
	width: 20px;
	z-index: 1;
}

.page-carving .flow td {
	background: #fff !important;
	border-bottom: 3px solid var(--main-color);
	font-family: "Noto Sans JP", sans-serif;
	font-size: var(--fz26);
	font-weight: 700;
	letter-spacing: .05em;
	padding: 1em;
	text-align: center;
	vertical-align: middle;
}

.page-carving .flow td span {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 15px;
	letter-spacing: 0.1em;
	margin-left: .4em;
}

@media (max-width: 768px) {
	.page-carving .flow {
		background-size: 50%;
		padding: 5rem 0;
	}

	.page-carving .flow h2 {
		margin-bottom: .8em !important;
	}

	.page-carving .flow .wrap {
		border-radius: 20px;
		padding: 3rem 1rem;
	}

	.page-carving .flow .wrap .container {
		width: 90%;
	}

	.page-carving .flow .area {
		margin-bottom: 3rem;
	}

	.page-carving .flow th {
		border: none !important;
		display: block;
		line-height: 0.9em;
		padding: 20px;
		width: 100%;
	}

	.page-carving .flow td {
		background: var(--middle-color) !important;
		border: none;
		display: block;
		padding: 20px;
		text-align: left;
		width: 100%;
	}
}

/* === カービングフルーツ用お問い合わせ === */

.page-carving .contact {
	background: var(--main-color);
	padding: 5rem 0;
}

.page-carving .contact h2 {
	color: #fff;
}

.page-carving .contact p {
	color: #fff;
	font-size: var(--fz20);
	font-weight: 500;
	letter-spacing: .05em;
	line-height: 2;
	margin-bottom: 0;
	text-align: center;
}

.page-carving .contact p:last-of-type {
	margin-bottom: 65px;
}

.page-carving .contact .wrap {
	background: #fff;
	border-radius: 40px;
	margin-top: 5rem;
	padding: 6rem 0 2.5rem;
}

.page-carving .mw_wp_form {
	margin: 0 auto;
	width: 80%;
}

.page-carving .mw_wp_form form {
	margin-bottom: 0;
}

.page-carving .mw_wp_form label {
	display: block;
	font-size: var(--fz20);
	font-weight: 700;
	line-height: 3;
	margin-bottom: 1em;
}

.page-carving .mw_wp_form label:last-of-type {
	margin-bottom: 90px;
}

/* 入力欄 */
.page-carving .mw_wp_form input,
.page-carving .mw_wp_form_confirm input {
	background: var(--input-color);
	box-shadow: none;
	display: block;
	width: 100%;
}

/* 確認画面 */
.page-carving .mw_wp_form_confirm {
	border-radius: 25.5px;
	color: #333;
	padding: 2em 3em;
}

.page-carving .mw_wp_form_confirm label {
	font-size: var(--fz18);
}


.page-carving .mw_wp_form_confirm label:last-of-type {
	margin-bottom: 0;
}

.page-carving .mw_wp_form textarea {
	background: var(--input-color);
	box-shadow: none;

}

.page-carving .mw_wp_form .btn {
	font-size: var(--fz20);
	font-weight: 500;
	padding: 1em 6em;
}

/* 戻るボタン・送信ボタン */
.page-carving .mw_wp_form .btn-aligner {
	display: flex;
	gap: 15px;
	margin: 30px auto 0;
	width: fit-content;
}

/* 送信完了 */
.page-carving .mw_wp_form_complete {
	padding: 50px;
	text-align: center;
	width: 100%;
}

@media (max-width: 768px) {
	.page-carving .contact {
		padding: 3.5rem 0;
	}

	.page-carving .contact p:last-of-type {
		margin-bottom: 30px;
	}

	.page-carving .contact .wrap {
		border-radius: 20px;
		padding: 3.5rem 0 1.5rem;
	}

	.page-carving .mw_wp_form {
		width: 85%;
	}

	.page-carving .mw_wp_form .btn {
		padding: 1.5em 6em;
		width: 100%;
	}

	.page-carving .mw_wp_form label:last-of-type {
		margin-bottom: 60px;
	}

	.page-carving .mw_wp_form_confirm {
		padding: 2em;
		width: 100%;
	}

	.page-carving .mw_wp_form_confirm .btn-aligner {
		flex-direction: column;
		width: 100%;
	}

	.page-carving .mw_wp_form_confirm .btn {
		padding: 1em;
		width: 100%;
	}
}


/* 特商法 /tokutei/
====================================================*/

.page-id-139 .container {
	max-width: 900px;
}

.page-tokutei table {
	border-collapse: collapse;
	margin-bottom: 100px;
}

.page-tokutei th,
.page-tokutei td {
	background: #fff !important;
	border-bottom: 1px solid #bcbcbc;
	border-right: 0;
	border-top: 1px solid #bcbcbc;
	font-size: var(--fz16);
	font-weight: 500;
	padding: 1em;
	padding: 1.5em;
	vertical-align: middle;
}

.page-tokutei th {
	white-space: nowrap;
}

@media (max-width: 768px) {

	.page-tokutei th, .page-tokutei td {
		font-size: 14px;
		padding: 1em;
	}

	.page-tokutei th {
		white-space: normal;
		width: 10em;
	}
}


/* 年間フルーツカレンダー /fruit-calendar/
====================================================*/

.page-calendar .intro p {
	margin-bottom: 90px;
}

.page-calendar .schedule {
	display: grid;
	font-family: "Noto Sans JP", sans-serif;
	grid-template-columns: 13em repeat(12, 1fr);
	margin-bottom: 160px;
	position: relative;
}

.page-calendar .header {
	background-color: var(--main-color);
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: var(--fz17);
	font-weight: 400;
	letter-spacing: 0;
	padding: .8em 0;
	text-align: center;
}

.page-calendar .label-top {
	background-color: var(--main-color);
	color: #fff;
	display: grid;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: var(--fz17);
	font-weight: 400;
	grid-column: 1;
	letter-spacing: 0.1em;
	padding: .8em;
	place-items: center;
	text-align: center;
}

/* 奇数行の背景色 */
.page-calendar .label {
	align-items: center;
	background-color: #fff;
	color: #000;
	display: flex;
	font-size: var(--fz14);
	font-weight: 400;
	gap: 10px;
	letter-spacing: .1em;
	padding: 1em 1.5em;
	white-space: nowrap;
}

/* 奇数行の背景色 */
.page-calendar .label--even {
	background-color: #FFEFD7;
}

.page-calendar .label img {
	display: inline;
	height: 2.5rem;
	object-fit: contain;
	width: 2.75rem;
}

.page-calendar .row {
	display: grid;
	grid-column: 2 / span 12;
	grid-template-columns: repeat(12, 1fr);
	position: relative;
}

/* 奇数行の背景色 */
.page-calendar .schedule .row {
	background-color: #fff;
}

/* 偶数行の背景色 */
.page-calendar .schedule .row--even {
	background-color: #FFEFD7;
}

.page-calendar .cell {
	color: #969696;
	display: grid;
	font-size: var(--fz17);
	font-weight: 400;
	padding: 1em 0;
	place-items: center;
	position: relative;
	text-align: center;
	z-index: 2;
}

.page-calendar .cell-marked {
	color: #fff;
}

/* スケジュールバー */
.page-calendar .marker {
	background-color: var(--main-color);
	border-radius: 100vh;
	height: 55%;
	left: calc((var(--start) - 1) / 12 * 100%);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: calc((var(--end) - var(--start) + 1) / 12 * 100%);
	z-index: 0;
}

@media (max-width: 768px) {

	.page-calendar .intro {
		margin: 0 auto;
		width: calc(100% - 10%);
	}

	.page-calendar .intro p {
		margin-bottom: 60px;
	}

	.page-calendar .container:nth-of-type(2) {
		width: 100%;
	}

	.page-calendar .schedule {
		grid-template-columns: auto repeat(12, 1fr);
		margin-bottom: 80px;
		overflow-x: auto;
	}

	.page-calendar .header {
		align-items: center;
		display: flex;
		font-size: 11px;
		font-weight: 300;
		justify-content: center;
		min-width: 4em;
		padding: .5em;
	}

	.page-calendar .label {
		font-size: 12px;
		font-weight: 300;
		padding: .5em;
	}

	.page-calendar .label img {
		display: none;
	}

	.page-calendar .cell {
		display: grid;
		font-size: 11px;
		padding: 0;
		place-items: center;
	}
}


/* プライバシーポリシー /privacy-policy/
====================================================*/

.privacy-policy .container {
	max-width: 1000px;
}

.privacy-policy article {
	padding: 0 0 3rem;
}

.page-policy p:last-of-type {
	margin-bottom: 6em;
}

.page-policy .btn {
	margin-top: 7rem;
	padding: .8em 5.5em;
}

@media (max-width: 768px) {
	.privacy-policy article {
		padding: 0 0 4rem;
	}

	.page-policy p:last-of-type {
		margin-bottom: 50px;
	}
}






/* カート /cart/
====================================================*/

/* === 数量のスピンボタンを常に表示 === */
input[type="number"]::-webkit-inner-spin-button {
	opacity: 1;
	/* 常に表示 */
}

input[type="number"]::-moz-inner-spin-button {
	opacity: 1;
	/* Firefoxのスピンボタン */
}


.page-id-8 article.hentry {
	padding-bottom: 100px;
}

/* cart.php 現在お客様のお買い物かごには… */
.my-product-count {
	font-size: var(--fz16) !important;
	font-weight: 400 !important;
	margin-bottom: 2em;
	text-align: center;
}

/* === カートが空 === */

.cart-empty.woocommerce-info {
	text-align: center;
}

.return-to-shop {
	text-align: center;
}


/* 注文 /checkout/
====================================================*/

.checkout h3 {
	background: none !important;
	border-left: 7px solid var(--main-color);
	border-radius: 0 !important;
	color: #000;
	font-size: 25px !important;
	font-weight: 700;
	margin-bottom: 1em !important;
	padding: 0 0 0 .5em !important;
}

.checkout input,
.checkout input:focus {
	background: var(--input-color);
	box-shadow: none;
	font-size: var(--fz16);
	font-weight: 400;
	padding: .5em !important;
}

.checkout select,
.checkout select:focus {
	background: var(--input-color);
	border: none;
	font-size: var(--fz16);
	font-weight: 400;
	padding: .5em !important;
}

.checkout textarea,
.checkout textarea:focus {
	background: var(--input-color);
	box-shadow: none;

}

/* 都道府県名のセレクトボックス */
.select2-container--default .select2-selection--single {
	background: var(--input-color);
	border: none;
	border-radius: 0;
	height: auto;
	line-height: 1.618;
	margin: 0;
	padding: .5em;
}

.select2-container .select2-selection--single .select2-selection__rendered {
	background: var(--input-color);
	border: none;
	color: #000;
	font-weight: 400;
	line-height: 1.618;
	padding: 0 !important;
}

.checkout p {
	margin-bottom: 0.8em;
}

.checkout label {
	font-size: var(--fz16);
	font-weight: 500;
}

.woocommerce-shipping-fields {
	border: 1px solid var(--main-color);
	border-radius: 5px;
	margin-bottom: 30px;
	padding: 2em;
}

.woocommerce-shipping-fields h3 span {
	background: none !important;
	border-radius: 0 !important;
	color: #000;
	font-size: 25px !important;
	font-weight: 700;
	margin-bottom: 1em !important;
}

.col2-set .form-row-first {
	margin-right: 10px !important;
	width: calc(50% - 5px) !important;
}

.col2-set .form-row-last {
	width: calc(50% - 5px) !important;
}

#order_review_heading {
	padding-bottom: 0 !important;
}

/* 注文内容 確認の表 */
.checkout th, .checkout td {
	border: 2px solid #fff;
	font-size: var(--fz14);
	padding: .8em 1em;
	vertical-align: middle;
}

.checkout .variation {
	margin-top: 1em;
}

.checkout .variation p {
	font-size: var(--fz14) !important;
}

.checkout .woocommerce-Price-amount {
	font-size: var(--fz16);
}

.checkout .woocommerce-shipping-methods label {
	font-size: 13px;
}

/* 支払い方法～注文ボタン周辺 */
.woocommerce-checkout-payment p {
	font-size: var(--fz14) !important;
	font-weight: 400 !important;
}

.woocommerce-checkout-payment label {
	background: var(--hd-light-grey);
	padding: .8em 1em !important;
}

.woocommerce-checkout-payment .payment_box {
	background-color: #fdfdfd !important;
	padding: .8em 1em .8em 1.5em !important;
}

.woocommerce-privacy-policy-text {
	text-align: left;
}

@media (max-width: 768px) {

	.col2-set .form-row-first,
	.col2-set .form-row-last {
		width: 100% !important;
	}
}

/* 注文完了 checkout/order-received
====================================================*/

.woocommerce-checkout article h2 {
	margin-top: 2.5em !important;
}

.woocommerce-thankyou-order-received {
	font-family: "Zen Kaku Gothic New", sans-serif;
	text-align: center;
}

.woocommerce-order {
	font-family: "Noto Sans JP", sans-serif;
	font-size: var(--fz16);
	margin-bottom: 100px;
}

/* 注文番号などの表示 */
.order_details li {
	font-weight: 700;
}

.order_details li strong {
	font-size: var(--fz14) !important;
	font-weight: 400;
}

.order_details li .woocommerce-Price-amount {
	font-size: var(--fz18);
	font-weight: 400;
}

.woocommerce-column.woocommerce-column--1.woocommerce-column--billing-address.col-1 {
	margin-bottom: 0;
}

.woocommerce-table .product-name {
	width: 50%;
}

.woocommerce-table .product-name a {
	font-size: var(--fz14);
}

.woocommerce-table .woocommerce-Price-amount {
	font-size: var(--fz20);
}

.woocommerce-order address,
.woocommerce-order .woocommerce-customer-details--email {
	font-size: var(--fz14);
	font-style: normal;
	font-weight: 400;
	line-height: 2;
	margin-bottom: 0;
}

/* 請求先住所とお届け先住所を縦並びにする */
section.woocommerce-columns.woocommerce-columns--2.woocommerce-columns--addresses.col2-set.addresses {
	display: flex;
	flex-direction: column;
	margin-bottom: 2.5em;
}


/* お買い物ガイド /guide/
====================================================*/

.page-guide {
	margin-bottom: 100px;
}

.page-guide .guide-menu {
	display: flex;
	justify-content: space-between;
	margin-bottom: 3.75rem;
}

.page-guide .guide-menu .btn {
	border-radius: 9px;
	display: flex;
	font-size: var(--fz16);
	font-weight: 700;
	gap: 0.6em;
	margin: 0;
	padding: .8em 2em;
}

.page-guide .guide-menu .btn::after {
	background-image: url(images/guide-arrow.png);
	background-repeat: no-repeat;
	background-size: contain;
	content: '';
	height: 5px;
	width: 8px;
}

.page-guide .payment-icons {
	display: flex;
	gap: 14px;
}

.page-guide .payment-icons img {
	object-fit: contain;
	width: 89px;
}

.page-guide .shipping-time {
	display: flex;
	gap: 22px;
	text-align: center;
}

.page-guide .shipping-time img {
	margin-bottom: 6px;
	width: 96px;
}

.page-guide .shipping-time span {
	font-family: "Noto Sans JP", sans-serif;
	font-size: var(--fz14);
	font-weight: 400;
}

.page-guide .attention {
	color: var(--accent-color);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.8;
}

.page-guide .table-scroll {
	overflow-x: auto;
}

.page-guide table {
	border: none;
	border-left: 2px solid var(--main-color);
	border-radius: 25.5px;
	border-spacing: 0;
	border-top: 2px solid var(--main-color);
	font-size: var(--fz16);
	;
}

.page-guide table tr>* {
	border: none;
	;
	border-bottom: 2px solid var(--main-color);
	border-right: 2px solid var(--main-color);
	padding: 1em;
	;
}

.page-guide tr:first-child>*:first-child {
	border-radius: 25.5px 0 0 0;
}

.page-guide tr:first-child>*:last-child {
	border-radius: 0 25.5px 0 0;
}

.page-guide tr:last-child>*:first-child {
	border-radius: 0 0 0 25.5px;
}

.page-guide tr:last-child>*:last-child {
	border-radius: 0 0 25.5px 0;
}

.page-guide th {
	background: rgba(243, 167, 32, .22) !important;
	font-weight: 500;
	letter-spacing: 0.01em;
	padding: 1em;
	text-align: center;
	vertical-align: middle;
}

.page-guide th.sub-th {
	background: #fff !important;
}

.page-guide td {
	background: #fff !important;
	color: var(--accent-color);
	font-family: "Noto Sans JP", sans-serif;
	font-size: var(--fz20);
	font-weight: 700;
	text-align: center;
	vertical-align: middle;
}

@media (max-width: 1400px) {
	.page-guide .guide-menu .btn {
		font-size: 14px;
		padding: .8em 1.5em;
	}
}

@media (max-width: 1060px) {

	/* お買い物ガイドメニューボタン折り返し */
	.page-guide .guide-menu {
		flex-direction: column;
		gap: 10px;
	}

	.page-guide .guide-menu .btn {
		font-size: 13px;
		padding: 1em;
		width: 100%;
	}

	.page-guide .payment-icons img {
		object-fit: contain;
		width: calc(100% / 5 - 15px);
	}

	.page-guide .shipping-time {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}

	.page-guide .shipping-time span {
		font-size: 12px;
	}

	.page-guide table {
		table-layout: fixed;
	}

	.page-guide tr:first-child>*:first-child {
		width: 10em;
	}

	.page-guide th {
		width: 7em;
	}
}


/* お問い合わせ /contact/
====================================================*/

.page-contact .container {
	margin-bottom: 100px !important;
	max-width: 1200px;
}

.page-contact .intro-txt {
	margin-bottom: 5rem;
	max-width: 38em;
}

.page-contact form p {
	margin-bottom: 0 !important;
}

/* ====== Contact Form 7 ======= */

.my-contact-form {
	margin: 0 auto;
	width: var(--inner-w);
}

.my-contact-form label {
	color: var(--txt-color);
	display: block;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: var(--fz16);
	font-weight: 700;
	line-height: 1.8;
	margin-bottom: 0 !important;
	text-align: left;
}

.my-contact-form th {
	background: #fff !important;
	display: block;
	margin-bottom: .5em;
	padding: 0;
	width: 100%;
}

.my-contact-form td {
	display: block;
	margin-bottom: 1em;
	padding: 0;
	width: 100%;
}

.my-contact-form p {
	background: #fff !important;
	margin: 0 !important;
	max-width: none !important;
}

.my-contact-form input {
	border: none;
	display: block;
	font-size: var(--fz16);
	padding: .6em;
	width: 100%;
}

.my-contact-form textarea {
	background: var(--input-color);
	box-shadow: none;
	font-size: var(--fz16);
	height: 8em;
}

input.wpcf7-submit {
	background: var(--main-color) !important;
	border-radius: 100vh;
	color: #fff;
	display: grid;
	font-size: var(--fz20);
	font-weight: 500;
	letter-spacing: .1em;
	margin: 0 auto;
	padding: .8em 3.5em;
	place-items: center;
	text-align: center;
	width: fit-content;
}

/* エラーメッセージ */
.wpcf7-not-valid-tip {
	font-size: 13px;
	font-weight: 500;
	text-align: left;
}

/* CF7　確認画面 */
.my-contact-form--confirm {
	border-collapse: collapse;
	margin: 0 auto 2em;
	table-layout: fixed;
	width: 70%;
}

.my-contact-form--confirm p {
	line-height: 1;
}

.my-contact-form--confirm th {
	background: #FFD28A !important;
	border: 3px solid #fff;
	font-size: var(--fz16);
	font-weight: 500;
	margin-bottom: 0;
	padding: 1em 1.5em;
	width: 16em;
}

.my-contact-form--confirm td {
	align-items: center;
	background: var(--input-color) !important;
	border: 3px solid #fff;
	font-size: var(--fz16);
	font-weight: 500;
	margin-bottom: 0;
	padding: 1em;
}

.my-contact-form--confirm td input {
	padding: 0;
}

.my-contact-form--confirm textarea {
	background: none;
	box-shadow: none;
	padding: 0;
}

.my-contact-form--confirm label {
	font-size: var(--fz16);
	font-weight: 500;
	line-height: normal;
	margin-bottom: 0 !important;
}

.wpcf7-form .btn-aligner p {
	display: grid;
	gap: 1em;
	grid-template-columns: 1fr 1fr;
	margin: 0 auto;
	width: fit-content;
}

input.wpcf7-previous, input.wpcf7-submit {
	background: var(--main-color) !important;
	border-radius: 100vh;
	color: #fff;
	display: grid;
	font-size: var(--fz20);
	font-weight: 500;
	letter-spacing: .1em;
	margin: 4rem auto 3rem;
	padding: 1em 6em;
	place-items: center;
	text-align: center;
	transition: .3s;
	width: fit-content;
}

input.wpcf7-previous:hover,
input.wpcf7-submit:hover {
	color: #fff;
	opacity: .5;
}

/* Contact form 7 error message */
.wpcf7-response-output {
	border: 2px solid #dc3232 !important;
	color: #dc3232;
	font-weight: 500;
	margin: 0 auto 5rem !important;
	text-align: center;
	width: 70%;
}

/* === Thanks === */
.my-contact-thanks {
	padding-bottom: 100px;
	text-align: center;
}

/* === carving form === */

.page-carving .my-contact-form textarea {
	height: 3em;
}

/* 消すとこ */
.page-carving .contact p:last-of-type {
	margin-bottom: 0;
}

.page-carving input.wpcf7-previous, .page-carving input.wpcf7-submit {
	margin: 4rem auto 0;
}


@media (max-width: 768px) {
	.my-contact-form {
		width: 100%;
	}

	.my-contact-form--confirm {
		width: 100%;
	}

	.my-contact-form--confirm th {
		border: none;
		border-bottom: 3px solid #fff;
		display: block;
		width: 100%;
	}

	.my-contact-form--confirm td {
		border: none;
		border-bottom: 3px solid #fff;
		display: block;
		min-height: 3em;
		width: 100%;
	}

	.wpcf7-form .btn-aligner p {
		grid-template-columns: 1fr;
		width: 100%;
	}

	input.wpcf7-previous, input.wpcf7-submit {
		margin-bottom: 2rem;
		margin-top: 3rem;
		width: 100%;
	}

	.page-carving input.wpcf7-previous, .page-carving input.wpcf7-submit {
		margin-bottom: 0;
		margin-top: 3rem;
	}

	.page-contact input.wpcf7-previous, .page-contact input.wpcf7-submit {
		margin-bottom: 2rem;
	}

	.wpcf7-response-output {
		width: 100%;
	}

	/* MB: carving */

	.page-carving .wpcf7-form {
		margin: 0 auto;
		width: 90%;
	}
}

/* ====== end: Contact Form 7 ======= */


/* === メッセージ（カートに追加したときなど） === */

.woocommerce-message {
	background: #f2f2f2 !important;
	color: #333 !important;
	font-size: var(--fz14) !important;
	margin: 0 auto 30px !important;
	width: var(--content-w);
}

.woocommerce-message .wc-forward {
	display: none;
}

.woocommerce-message::before {
	color: #333 !important;
}

.woocommerce-message .button {
	color: #333 !important;
}

@media (max-width: 768px) {
	.woocommerce-message {
		width: 90%;
	}
}


/* === 退会手続き === */

form#plugin_delete_me_shortcode_form label {
	font-weight: 500;
}

@media (max-width: 768px) {
	form#plugin_delete_me_shortcode_form {
		width: 100%;
	}
}

/* マイアカウントメニュー */
article .woocommerce-MyAccount-navigation h2 {
	font-size: var(--fz20);
	margin-top: 0;
}

article .woocommerce-MyAccount-navigation ul {
	border: none !important;
	margin-bottom: 3em;
}

article .woocommerce-MyAccount-navigation ul li {
	border: none !important;
}

/* アイコン */
article .woocommerce-MyAccount-navigation ul li a::before {
	content: none !important;
}

.woocommerce-account .woocommerce-message {
	margin: 0 auto 40px;
	max-width: var(--content-mw);
	width: var(--content-w);
}

/* 右側コンテンツエリア */
.my-line-hd, .woocommerce-account .woocommerce-MyAccount-content h2 {
	border-bottom: 1px solid #ccc;
	border-left: none !important;
	font-size: var(--fz20) !important;
	padding-bottom: 1em !important;
	padding-left: 0 !important;
}

.my-line-hd:first-of-type, .woocommerce-MyAccount-content h2:first-of-type {
	margin-top: 0;
}

/* === アカウントページ共通テーブル === */

.woocommerce-account table {
	border-collapse: collapse;
}

.woocommerce-account th,
.woocommerce-account td {
	border: 3px solid #fff;
	vertical-align: middle;
}

@media (max-width: 768px) {
	.woocommerce-account .woocommerce-message {
		width: var(--mb-w);
	}
}


/* === 会員情報テーブル === */

.my-account-table {
	border-collapse: collapse;
}

.my-account-table th {
	background: #FFD28A !important;
	border: 3px solid #fff;
	font-size: var(--fz16);
	font-weight: 500;
	min-width: 11em;
}

.my-account-table td {
	background: var(--input-color) !important;
	border: 3px solid #fff;
	font-size: var(--fz16);
	font-weight: 500;
	vertical-align: middle;
}

@media (max-width: 768px) {

	/* 表縦並びにする */
	.my-account-table th {
		border: none;
		border-bottom: 3px solid #fff;
		display: block;
		max-width: none;
		padding: 1em;
		width: 100%;
	}

	.my-account-table td {
		border: none;
		border-bottom: 3px solid #fff;
		display: block;
		padding: 1em;
		width: 100%;
	}
}

/* === 注文履歴 /orders/ === */

.woocommerce-orders .woocommerce-Price-amount {
	font-size: var(--fz16);
	margin-left: .5em;
}

.woocommerce-column--billing-address, .woocommerce-column--shipping-address {
	width: 100% !important;
}

/* === 会員情報の確認・変更 /edit-account/ === */

/* パスワードをお忘れですか？など */
.woocommerce-account .woocommerce-error {
	max-width: var(--content-mw);
	width: 75%;
}

.woocommerce-account fieldset {
	background: #fff;
	padding: 0;
}

.woocommerce-account fieldset legend {
	background: none;
}

@media (max-width: 768px) {
	.woocommerce-account .woocommerce-error {
		width: 90%;
	}
}

/* === edit-address === */

/* 請求先住所を隠す */
.woocommerce-account .u-column1.woocommerce-Address {
	display: none;
}

/* お届け先住所ブロックを整える */
.woocommerce-account .u-column2.col-2.woocommerce-Address {
	width: 100%;
}

header.woocommerce-Address-title.title {
	height: 3em;
}

.woocommerce-account address {
	font-style: normal;
}

/* === お届け先住所の登録 edit-address/shipping === */
article .woocommerce-MyAccount-content .form-row-first {
	margin-right: 1%;
	width: 100%;
}

.woocommerce-account input,
.woocommerce-account input:focus,
.woocommerce-account select,
.woocommerce-account select:focus {
	background: var(--input-color);
}


@media (max-width: 768px) {

	.page-id-10 article {
		padding-bottom: 40px !important;
	}

	.woocommerce-account .woocommerce {
		flex-direction: column-reverse;
	}

	.woocommerce-account .entry-content {
		padding: 0;
	}

	.woocommerce-MyAccount-navigation {
		display: grid;
		gap: 1em;
		grid-template-columns: 1fr !important;
		grid-template-columns: 11em auto;
	}

	article .woocommerce-MyAccount-navigation h2 {
		margin-bottom: 0;
		padding: .5em;
	}

	article .woocommerce-MyAccount-navigation ul:last-of-type {
		margin-bottom: 0 !important;
	}

}


/* プラグイン
====================================================*/


/* 実験 */

.my-field-aligner {
	display: grid;
	gap: 1em;
	grid-template-columns: 1fr 1fr;
}

.my-field-aligner .form-row-first {
	margin-right: 1%;
	width: 100%;
}

.container-for-nav .container {
	width: 100%;
}

.left-sidebar:not(.page-template-template-fullwidth-php) .woocommerce-MyAccount-content {
	float: none !important;
	margin-right: 0 !important;
	width: 100% !important;
}

table.wishlist_table thead th {
	border-top: none;
}

.woocommerce-info {
	color: var(--txt-color);
	font-size: var(--fz16);
}

.container.container-for-nav p {
	font-size: var(--fz16);
	font-weight: 400;
}

/* 合計金額エリアを非表示 */
.cart_totals h2,
.cart_totals table {
	display: none;
}

/* カート更新後のメッセージを消す */
.page-id-8 .woocommerce-notices-wrapper {
	display: none;
}

/* 数量ボタンを消す */
.woocommerce-cart-form .minus,
.woocommerce-cart-form .plus,
.woocommerce-cart-form .actions {
	display: none !important;
}

/* カートの手動更新ボタンを隠す */
button[name='update_cart'] {
	display: none !important;
}

.woocommerce-cart-form table {
	margin-bottom: 0 !important;
}

/* カート 表 */
.woocommerce-cart-form th {
	background: #fff !important;
	border-bottom: 1px solid #ccc;
	font-size: 13px;
	padding: .6em 1em !important;
}

.woocommerce-cart-form td {
	background: #fff !important;
	border-bottom: 1px solid #ccc !important;
	font-size: var(--fz14);
	padding: 2em 1em !important;
	vertical-align: middle;
}

.woocommerce-cart-form img {
	max-width: 6em !important;
	width: 84px;
}

.woocommerce-cart-form .product-name a {
	color: var(--txt-color);
	font-size: var(--fz16);
}

.woocommerce-cart-form .variation {
	align-items: center;
	display: flex;
	gap: .5em;
}

.woocommerce-cart-form .variation p {
	font-size: 12px;
	font-weight: 400;
}

.woocommerce-cart-form .variation dd {
	margin-bottom: 0;
}

.woocommerce-cart-form .woocommerce-Price-amount {
	font-size: var(--fz16);
	font-weight: 400;
}

.woocommerce-cart-form .qty {
	background: #fff !important;
	border: 1px solid var(--txt-color);
	font-size: var(--fz16);
}

.woocommerce-cart-form .quantity-label {
	display: none;
}

/* === 購入手続きに進むボタンエリア === */

.cart-collaterals {
	display: flex;
	justify-content: center;
}

.cart-collaterals .checkout-button {
	font-size: var(--fz16) !important;
	font-weight: 400;
	margin: 0 auto;
	padding: .8em 5em;
	width: fit-content;
}

/* === 空にするボタン・買い物を続けるボタン === */

.my-cart-buttons {
	display: flex;
	gap: 1em;
	justify-content: flex-end;
	margin-bottom: 2em;
	margin-top: 1em;
}

.my-cart-buttons a {
	background: none;
	font-size: var(--fz14);
	font-weight: 500;
	padding: 0;
}

.my-cart-buttons a:hover {
	background: none;
}

@media (max-width: 768px) {

	.woocommerce-cart-form .remove::before {
		right: 10px;
	}

	table.shop_table_responsive tr td[data-title]::before {
		font-size: var(--fz14);
		font-weight: 500;
		margin-bottom: .8em;
		margin-right: 2em;
	}

	.woocommerce-cart-form td {
		border-bottom: none !important;
		padding: .5em 0 !important;
		text-align: left !important;
	}

	.woocommerce-cart-form td.product-subtotal {
		border-bottom: 1px solid #ccc !important;
		padding-bottom: 3em !important;
	}

	.woocommerce-cart-form img {
		display: block;
		margin: 0 auto 30px !important;
		max-width: none !important;
		width: 50%;
	}

	.woocommerce-cart-form .product-name a {
		display: block;
		margin-bottom: 0;
	}

	.woocommerce-cart-form .variation {
		gap: 2em;
	}

	.woocommerce-cart-form .woocommerce-Price-amount {
		font-size: var(--fz18);
	}
}


/* === Multistep用 === */

.woocommerce-checkout .container {
	max-width: 750px;
}

.woocommerce-checkout .entry-content {
	padding-bottom: 60px;
}

/* 進捗ステップ */
.thwmscf-tabs {
	margin-bottom: 30px !important;
}

.thwmscf-tab a {
	font-size: var(--fz16) !important;
}

.thwmscf-tab-panel h3:first-of-type {
	margin-top: 0;
}

/* 戻る・次へボタンエリア */
.thwmscf-buttons {
	margin-top: 40px !important;
}

@media (max-width: 768px) {

	/* ステップタブ */
	.thwmscf-tab {
		width: 100%;
	}

	/* ステップ下のブロック */
	div.thwmscf-tab-panels {
		padding: 0;
	}

	.thwscf-billing {
		margin-bottom: 30px;
	}


}

/* 767px幅のときだけ適用 */
@media (min-width: 768px) and (max-width: 768px) {
	.primary-navigation {
		display: none;
	}

	.woocommerce-active .site-header .main-navigation {
		left: 0;
	}

	.main-navigation .handheld-navigation {
		transition: all, ease, .8s;
	}

	.main-navigation.toggled .handheld-navigation {
		display: block;
	}
}