/*
Theme Name: 百姓家族 Child
Theme URI: https://www.hyakushoukazoku.com/
Description: 百姓家族サイト用の子テーマ。親テーマ hyakushoukazoku の style.css を読み込みます。
Author: 百姓家族
Version: 1.0.0
Template: hyakushoukazoku
Text Domain: hyakushou-child
*/

/* 実サイト寄せのベースレイアウト */
html,
body {
	margin: 0;
	padding: 0;
}

html {
	background: #fff;
}

body {
	background: #fff;
	color: #2f2f2f;
	font-family:
		"Noto Sans JP",
		"Hiragino Kaku Gothic ProN",
		"Hiragino Sans",
		"Yu Gothic UI",
		YuGothic,
		Meiryo,
		sans-serif;
	line-height: 1.7;
}

a {
	color: #2f6f16;
	text-decoration: none;
}

/* エラー表示：サイト全体で赤文字に統一 */
.error_message,
div.error_message,
td.error_message,
#cart div.error_message,
#customer-info .error_message,
#delivery-info .error_message,
#info-confirm .error_message,
#memberpages .error_message,
.usces-cart-page .error_message,
.product-detail .error_message,
.hyakushou-mypage-login__error,
.hyakushou-mypage-newmember__confirm-error,
.hyakushou-mypage-newmember .hyakushou-newmember-error-summary td,
.hyakushou-mypage-panel__notice--error,
.hyakushou-order-history-notice--error,
.hyakushou-field-errors,
.hyakushou-field-errors__line,
.hyakushou-contact .hyakushou-cf7-skin .hyakushou-field-errors,
.hyakushou-contact .hyakushou-cf7-skin .hyakushou-field-errors__line,
.hyakushou-contact .hyakushou-cf7-skin .wpcf7-not-valid-tip,
.hyakushou-contact .hyakushou-cf7-skin .hyakushou-cf7-email-mismatch-tip,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
	color: #c62828 !important;
}

a:hover {
	text-decoration: underline;
}

.site-header__inner,
.hk-header-desktop__inner,
.site-nav__inner,
.site-content__inner,
.site-footer__inner {
	max-width: 1020px;
	margin: 0 auto;
}

/* ----- 本番寄せヘッダー（百姓家族） ----- */
/* 親テーマ .site-header の padding を打ち消し、帯・背景を画面幅いっぱいに */
.hk-site-header.site-header {
	padding: 0;
	margin: 0;
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

.hk-site-header {
	background: #fff;
	border-bottom: 1px solid #d0c8b8;
}

.hk-header-topline {
	width: 100%;
	height: 6px;
	background: linear-gradient(180deg, #6ea248 0%, #5b8f39 100%);
}

.hk-header-mobile {
	display: none;
	position: relative;
	z-index: 1;
	background: #fff;
}

.hk-header-mobile__row--brand {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
	padding: 6px 0 6px 8px;
	min-height: 0;
	border-bottom: 1px solid #e8e4dc;
	background: #faf8f4;
}

.hk-header-mobile__logo {
	display: flex;
	align-items: center;
	min-width: 0;
	flex: 1 1 auto;
	text-decoration: none;
	color: inherit;
	transition: opacity 0.2s ease;
}

.hk-header-mobile__logo img {
	display: block;
	width: auto;
	max-width: min(100%, calc(100vw - 48px * 3 - 28px));
	max-height: 48px;
	height: auto;
	object-fit: contain;
	object-position: left center;
}

.hk-header-mobile__logo-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	line-height: 1.25;
	min-width: 0;
}

.hk-header-mobile__logo-tagline {
	font-size: 10px;
	color: #3d7a1e;
	font-weight: 700;
}

.hk-header-mobile__logo-title {
	font-size: clamp(15px, 4.2vw, 18px);
	font-weight: 800;
	color: #1a1a1a;
}

.hk-header-mobile__logo-em {
	color: #3d7a1e;
	margin-right: 2px;
}

.hk-header-mobile__actions {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: 0;
}

.hk-header-mobile__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	min-width: 48px;
	min-height: 48px;
	border: none;
	padding: 0;
	cursor: pointer;
	text-decoration: none;
	color: #fff;
	box-sizing: border-box;
	border-left: 1px solid rgba(255, 255, 255, 0.22);
}

.hk-header-mobile__icon--account {
	background: #6a9939;
	transition: opacity 0.2s ease;
}

.hk-header-mobile__icon--cart {
	background: #4d7a26;
	transition: opacity 0.2s ease;
}

.hk-header-mobile__icon--menu {
	background: #ff9900;
}

.hk-header-mobile__menu-bars,
.hk-header-mobile__menu-bars::before,
.hk-header-mobile__menu-bars::after {
	display: block;
	width: 22px;
	height: 2px;
	background: #fff;
	border-radius: 1px;
	position: relative;
}

.hk-header-mobile__menu-bars::before,
.hk-header-mobile__menu-bars::after {
	content: "";
	position: absolute;
	left: 0;
}

.hk-header-mobile__menu-bars::before {
	top: -7px;
}

.hk-header-mobile__menu-bars::after {
	top: 7px;
}

.hk-header-mobile__row--search {
	padding: 10px 10px 0;
}

.hk-header-mobile__search-inner {
	display: flex;
	align-items: stretch;
	gap: 0;
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #d8d4cc;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}

.hk-header-mobile__search input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
	box-sizing: border-box;
	padding: 10px 10px 10px 12px;
	border: none;
	border-radius: 0;
	font-size: 14px;
	background: #fff;
	-webkit-appearance: none;
	appearance: none;
}

.hk-header-mobile__search-submit {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	margin: 0;
	padding: 0;
	border: none;
	border-left: 1px solid #d8d4cc;
	background: #5f9040;
	color: #fff;
	cursor: pointer;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}

.hk-header-mobile__search-submit:active {
	background: #4d7a26;
}

.hk-header-mobile__row--category {
	padding: 8px 10px 10px;
}

.hk-header-mobile__category {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 34px 10px 12px;
	border: 1px solid #d8d4cc;
	border-radius: 8px;
	font-size: 14px;
	background: #f6f4f1;
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, #555 50%), linear-gradient(135deg, #555 50%, transparent 50%);
	background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px);
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
}

.hk-header-desktop {
	display: block;
	width: 100%;
	background-color: #fff;
	background-image: url("assets/images/common/headder-back.jpg");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100% 100%;
}

.hk-header-desktop__inner {
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	gap: 18px;
	padding: 6px 12px 10px;
	box-sizing: border-box;
}

.hk-header-desktop__col {
	min-width: 0;
}

.hk-header-desktop__col--brand {
	flex: 0 1 580px;
}

.hk-header-desktop__col--contact {
	flex: 0 0 320px;
	margin-left: auto;
	text-align: right;
}

.hk-header-desktop__logo-img img {
	display: block;
	width: min(100%, 560px);
	height: auto;
}

.hk-header-desktop__contact-img img {
	display: block;
	max-width: 100%;
	height: auto;
	margin-left: auto;
}

.hk-header-desktop__tagline {
	margin: 0 0 4px;
	font-size: 12px;
	color: #3d7a1e;
	font-weight: 700;
}

.hk-header-desktop__title {
	margin: 0;
	font-size: 34px;
	font-weight: 900;
	line-height: 1.15;
	letter-spacing: 0.02em;
}

.hk-header-desktop__title a {
	color: #1a1a1a;
	text-decoration: none;
}

.hk-header-desktop__title a:hover {
	text-decoration: underline;
}

.hk-header-desktop__title-em {
	color: #3d7a1e;
	margin-right: 4px;
}

.hk-header-desktop__keywords {
	margin: 0 0 2px;
	font-size: 10px;
	color: #555;
	line-height: 1.35;
	letter-spacing: 0.02em;
}

.hk-header-desktop__address {
	margin: 0 0 6px;
	font-size: 22px;
	color: #444;
}

.hk-header-desktop__tel,
.hk-header-desktop__fax {
	margin: 0;
	font-size: 38px;
	font-weight: 800;
	color: #e85a18;
	line-height: 1.15;
}

.hk-header-desktop__tel-label,
.hk-header-desktop__fax-label {
	font-size: 30px;
	color: #333;
	margin-right: 4px;
}

.hk-nav-backdrop {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 1010;
	margin: 0;
	padding: 0;
	border: none;
	background: rgba(0, 0, 0, 0.35);
	cursor: pointer;
}

.hk-nav-backdrop:not([hidden]) {
	display: block;
}

body.hk-nav-open {
	overflow: hidden;
}

/* メインナビ：背景は全幅。メニュー項目は .site-nav__inner で中央寄せ */
.hk-main-nav-bar {
	position: relative;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.site-nav {
	--hk-nav-texture: none;
}

.site-nav.hk-main-nav {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	background-color: #5f9040;
	background-image:
		linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0.07) 100%),
		var(--hk-nav-texture),
		url("assets/images/common/headder-menu-back.jpg");
	background-repeat: no-repeat, repeat, no-repeat;
	background-size: 100% 100%, auto, 100% 100%;
	background-position: 0 0, 0 0, center top;
	border-top: 1px solid #7aab5c;
	border-bottom: 1px solid #3d6628;
}

/* PC：円形カート（現在のかごと同一URL）。ビューポート右端付近に固定表示 */
.hk-cart-fab {
	display: none;
	line-height: 0;
	text-decoration: none;
}

.hk-cart-fab img {
	display: block;
	width: 102px;
	height: auto;
	transition: filter 0.2s ease;
}

.hk-cart-fab--text {
	display: none;
	padding: 12px 16px;
	border-radius: 999px;
	background: linear-gradient(180deg, #ffbf38 0%, #f39a10 100%);
	border: 2px solid #b76500;
	color: #1a1a1a;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
	transition: filter 0.2s ease, box-shadow 0.2s ease;
}

@media (min-width: 981px) {
	.hk-drawer-shop-nav {
		display: none !important;
	}

	.hk-cart-fab,
	.hk-cart-fab.hk-cart-fab--text {
		display: block;
		position: fixed;
		z-index: 90;
		top: 188px;
		right: 4px;
		margin: 0;
	}

	.hk-cart-fab:hover img {
		filter: brightness(1.14) saturate(1.06);
	}

	.hk-cart-fab.hk-cart-fab--text:hover {
		filter: brightness(1.12);
		box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.35);
	}
}

@media (max-width: 980px) {
	.hk-cart-fab,
	.hk-cart-fab.hk-cart-fab--text {
		display: none !important;
	}
}

.hk-main-nav__inner {
	position: relative;
	padding: 0 6px;
}

.hk-main-nav__close {
	display: none;
}

.site-nav ul,
.site-nav .menu ul,
.site-nav .site-nav__menu,
.site-nav .hk-main-nav__menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-nav li {
	border-left: 1px dotted rgba(255, 255, 255, 0.65);
}

.site-nav li:first-child {
	border-left: none;
}

.site-nav a {
	display: block;
	padding: 11px 16px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
}

.site-nav a:hover {
	background: rgba(255, 255, 255, 0.12);
	text-decoration: none;
}

/* メインヘッダーナビ：M PLUS 1p（Google Fonts）＋縦区切りは文字の em 高さ。PC のみ字を一段大きく */
.site-nav.hk-main-nav .hk-main-nav__menu > li {
	border-left: none;
	display: flex;
	align-items: center;
	font-size: 16px;
}

.site-nav.hk-main-nav .hk-main-nav__menu > li + li::before {
	content: "";
	display: block;
	width: 1px;
	height: 1em;
	flex: 0 0 auto;
	align-self: center;
	background-color: rgba(255, 255, 255, 0.85);
	margin-right: 2px;
}

.site-nav.hk-main-nav .hk-main-nav__menu a {
	font-family:
		"M PLUS 1p",
		"Hiragino Kaku Gothic ProN",
		"Yu Gothic UI",
		sans-serif;
	font-size: 1em;
	font-weight: 700;
	padding: 12px 18px;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.22);
}

@media (min-width: 981px) {
	.site-nav.hk-main-nav .hk-main-nav__menu > li {
		font-size: 18px;
	}

	.site-nav.hk-main-nav .hk-main-nav__menu a {
		padding: 13px 20px;
		font-weight: 700;
	}

	.site-nav.hk-main-nav .hk-main-nav__menu a:hover {
		background: transparent;
		color: #fff566;
		text-decoration: none;
		text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
	}
}

@media (max-width: 980px) {
	.hk-nav-backdrop:not([hidden]) {
		top: var(--hk-mobile-drawer-top, 56px);
		right: 0;
		bottom: 0;
		left: 0;
		inset: auto;
		-webkit-backdrop-filter: blur(5px);
		backdrop-filter: blur(5px);
		background: rgba(0, 0, 0, 0.32);
	}

	body.hk-nav-open .hk-header-mobile__row--brand {
		position: relative;
		z-index: 1021;
	}

	body.hk-nav-open .hk-header-mobile__logo,
	body.hk-nav-open .hk-header-mobile__icon--account,
	body.hk-nav-open .hk-header-mobile__icon--cart {
		opacity: 0.45;
	}

	body.hk-nav-open .hk-header-mobile__icon--menu {
		opacity: 1;
		filter: none;
	}

	.hk-header-topline {
		display: none;
	}

	.hk-header-mobile {
		display: block;
	}

	.hk-header-desktop {
		display: none;
	}

	.hk-main-nav {
		position: fixed;
		left: auto;
		right: 0;
		top: var(--hk-mobile-drawer-top, 56px);
		bottom: 0;
		width: min(92vw, 420px);
		max-width: 100%;
		z-index: 1020;
		margin: 0;
		border: none;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		transform: translateX(100%);
		visibility: hidden;
		transition: transform 0.22s ease, visibility 0.22s;
		box-shadow: -8px 0 32px rgba(0, 0, 0, 0.18);
	}

	.hk-main-nav.is-open .hk-main-nav__close {
		display: none !important;
	}

	.hk-main-nav.is-open {
		transform: translateX(0);
		visibility: visible;
	}

	.hk-main-nav__inner {
		min-height: 100%;
		box-sizing: border-box;
		padding: 0 0 24px;
		display: flex;
		align-items: stretch;
		justify-content: flex-start;
		width: 100%;
	}

	.site-nav.hk-main-nav {
		background-color: #ebebeb;
		background-image: none;
		border: none;
	}

	.site-nav.hk-main-nav .hk-main-nav__menu--desktop {
		display: none !important;
	}

	.site-nav.hk-main-nav .hk-drawer-shop-nav {
		display: block;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.site-nav.hk-main-nav .hk-drawer-shop-nav > .hk-drawer-shop-nav__item {
		border: none;
	}

	.site-nav.hk-main-nav .hk-drawer-shop-nav > .hk-drawer-shop-nav__item:first-child {
		border-top: none;
	}

	.hk-drawer-shop-nav__label {
		flex: 1 1 auto;
		min-width: 0;
		text-align: left;
	}

	.hk-drawer-shop-nav__chev {
		flex: 0 0 auto;
		font-size: 18px;
		font-weight: 400;
		line-height: 1;
		opacity: 0.85;
	}

	.hk-drawer-shop-nav__item--section .hk-drawer-shop-nav__chev {
		color: #fff;
		opacity: 0.95;
	}

	.hk-drawer-shop-nav__item--link .hk-drawer-shop-nav__chev {
		color: #666;
	}

	.site-nav .hk-main-nav__menu,
	.site-nav ul.hk-main-nav__menu {
		flex-direction: column;
		width: 100%;
		max-width: 360px;
	}

	.site-nav.hk-main-nav .hk-main-nav__menu > li {
		display: block;
		font-size: 16px;
	}

	.site-nav.hk-main-nav .hk-main-nav__menu > li + li::before {
		display: none;
		content: none;
	}

	.site-nav li {
		border-left: none;
		border-bottom: 1px dotted rgba(255, 255, 255, 0.45);
	}

	.site-nav li:first-child {
		border-top: 1px dotted rgba(255, 255, 255, 0.45);
	}

	.site-nav a {
		padding: 14px 10px;
		font-size: 16px;
	}

	.site-nav.hk-main-nav .hk-drawer-shop-nav a.hk-drawer-shop-nav__anchor {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		min-height: 48px;
		padding: 12px 14px 12px 16px;
		box-sizing: border-box;
		text-decoration: none;
		font-size: 15px;
		font-weight: 600;
		line-height: 1.35;
		border-bottom: 1px solid #dcd8d2;
		-webkit-tap-highlight-color: transparent;
	}

	.site-nav.hk-main-nav .hk-drawer-shop-nav .hk-drawer-shop-nav__item--section a.hk-drawer-shop-nav__anchor {
		background: #444;
		color: #fff;
		font-weight: 700;
		border-bottom-color: #3a3a3a;
		text-shadow: none;
	}

	.site-nav.hk-main-nav .hk-drawer-shop-nav .hk-drawer-shop-nav__item--section a.hk-drawer-shop-nav__anchor:active {
		background: #3a3a3a;
	}

	.site-nav.hk-main-nav .hk-drawer-shop-nav .hk-drawer-shop-nav__item--link a.hk-drawer-shop-nav__anchor {
		background: #f5f5f5;
		color: #222;
		font-weight: 600;
		text-shadow: none;
	}

	.site-nav.hk-main-nav .hk-drawer-shop-nav .hk-drawer-shop-nav__item--link a.hk-drawer-shop-nav__anchor:active {
		background: #ececec;
	}
}

.site-content {
	padding: 16px 10px 24px;
	background: #fff;
}

.site-content__inner {
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-start;
	gap: 16px;
}

/* 固定ページ：980px 以下ではレフトナビ（サイドバー）を非表示（本文の下にカゴ等が続かずフッターへ）。PC では表示のまま */
@media (max-width: 980px) {
	body.page .site-sidebar {
		display: none;
	}
}

.site-main {
	flex: 1 1 auto;
	min-width: 0;
	background: #fff;
	border: 1px solid #d8d1c3;
	padding: 14px;
}

/* トップ（フロントページ）のメイン枠：外枠線なし・上端をレフトナビと揃える */
body.home #primary.site-main,
body.home .site-main {
	border: none;
	padding-top: 0;
}

/* 固定ページ：メイン枠の外線なし・上端をレフトナビと揃える */
body.page #primary.site-main,
body.page .site-main {
	border: none;
	padding-top: 0;
}

/* Welcart 商品詳細：メイン枠の外線なし・上端をレフトナビと見出し帯（ヒーロー）上端を揃える */
#primary.site-main.usces-item-single,
#primary.site-main:has(article.detailpage--item) {
	border: none;
	padding-top: 0;
}

.site-sidebar {
	flex: 0 0 255px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.shop-box {
	background: #fff;
	border: 1px solid #5b3c21;
	padding: 8px;
}

.widget-title {
	margin: 0 0 8px;
	padding: 6px 8px;
	background: #4f3118;
	color: #fff;
	font-size: 16px;
	line-height: 1.4;
}

.button-link {
	display: inline-block;
	padding: 7px 12px;
	border-radius: 2px;
	border: 1px solid #b76500;
	background: linear-gradient(180deg, #ffbf38 0%, #f39a10 100%);
	color: #1e1e1e;
	font-weight: 700;
}

.button-link:hover {
	text-decoration: none;
	opacity: 0.92;
}

.cart-summary-row {
	margin: 0 0 7px;
	font-size: 14px;
}

/* レフトナビ：カゴ・検索（見本寄せ／画像タイトル・画像ボタン） */
.shop-sideparts-cart--image.shop-box,
.shop-sideparts-search--image.shop-box,
.shop-sideparts-login--image.shop-box {
	padding: 0;
	overflow: hidden;
	border-width: 8px;
	border-style: solid;
	border-color: #4d3320;
	background: #faf6ed;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

/* 検索：タイトル帯はカゴ見出しと同様の余白・幅 */
.shop-sideparts-search--image .shop-sideparts-search__titleimg-wrap {
	margin: 0;
	padding: 12px 8px 4px;
	line-height: 0;
	box-sizing: border-box;
	border: none;
	border-bottom: none;
	box-shadow: none;
}

/* カゴ：タイトル画像＋周囲余白（タイトル下の線なし） */
.shop-sideparts-cart--image .shop-sideparts-cart__titleimg-wrap {
	margin: 0;
	padding: 12px 8px 4px;
	line-height: 0;
	box-sizing: border-box;
	border: none;
	border-bottom: none;
	box-shadow: none;
}

.shop-sideparts-cart--image .shop-sideparts-cart__titleimg {
	display: block;
	width: 94%;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	border: 0;
	outline: none;
}

.shop-sideparts-search--image .shop-sideparts-search__titleimg {
	display: block;
	width: 94%;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	border: 0;
	outline: none;
}

.shop-sideparts-cart--image .shop-sideparts-cart__body {
	padding: 8px 14px 14px;
	background: #faf6ed;
	text-align: left;
	font-family: inherit;
	border: none;
	border-top: none;
	box-shadow: none;
}

.shop-sideparts-search--image .shop-sideparts-search__body {
	padding: 8px 14px 14px;
	background: #faf6ed;
	text-align: center;
	font-family: inherit;
	border: none;
	border-top: none;
	box-shadow: none;
}

.shop-sideparts-cart--image .shop-sideparts-cart__body .cart-summary-row {
	margin: 0 0 10px;
	font-size: 14px;
	line-height: 1.4;
	color: #1a1a1a;
	font-weight: 400;
}

.shop-sideparts-cart--image .shop-sideparts-cart__body .cart-summary-row:last-child {
	margin-bottom: 0;
}

.shop-sideparts-cart--image .shop-sideparts-cart__body strong {
	font-weight: 400;
}

.shop-sideparts-cart--image .cart-summary-sep {
	font-weight: 400;
}

.shop-sideparts-cart--image .cart-summary-qty {
	color: #d62828;
	font-weight: 400;
}

.shop-sideparts-cart--image .cart-summary-unit,
.shop-sideparts-cart--image .cart-summary-yen,
.shop-sideparts-cart--image .cart-summary-price {
	color: #1a1a1a;
	font-weight: 400;
}

.shop-sideparts-cart--image .shop-sideparts-cart__actions {
	padding: 4px 14px 16px;
	background: #faf6ed;
	line-height: 0;
	text-align: left;
}

.shop-sideparts-cart--image .shop-sideparts-cart__btnimg {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	text-decoration: none;
	transition: filter 0.2s ease, opacity 0.2s ease;
}

.shop-sideparts-cart--image .shop-sideparts-cart__btnimg img {
	display: block;
	width: 100%;
	height: auto;
}

.shop-sideparts-cart--image .shop-sideparts-cart__btnimg:hover img {
	filter: brightness(1.08);
	opacity: 0.95;
}

/* レフトナビ：会員ログイン（ショップサイドバー全ページ・PC/スマホで表示） */
.site-sidebar .widget-welcart-sidebar-login.shop-sideparts-login {
	display: block;
	width: 100%;
	box-sizing: border-box;
}

.shop-sideparts-login--image .shop-sideparts-login__titleimg-wrap {
	margin: 0;
	padding: 12px 8px 4px;
	line-height: 0;
	box-sizing: border-box;
	border: none;
}

.shop-sideparts-login--image .shop-sideparts-login__titleimg {
	display: block;
	width: 94%;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	border: 0;
}

.shop-sideparts-login--image .shop-sideparts-login__body,
.shop-sideparts-login--image .shop-sideparts-login__form .shop-sideparts-login__body {
	padding: 10px 14px 8px;
	background: #faf6ed;
	text-align: left;
}

.shop-sideparts-login__field {
	position: relative;
	margin: 0 0 10px;
	padding: 0;
}

.shop-sideparts-login__label {
	display: block;
	margin: 0 0 4px;
	font-size: 13px;
	font-weight: 700;
	color: #1a1a1a;
}

.shop-sideparts-login__input {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 8px 10px;
	border: 1px solid #6f6a62;
	border-radius: 2px;
	background: #fff;
	font-size: 14px;
}

.shop-sideparts-login__lost {
	margin: 0 0 8px;
	padding: 0;
	font-size: 12px;
	line-height: 1.4;
}

.shop-sideparts-login__lostlink {
	color: #1a1a1a;
	text-decoration: underline;
}

.shop-sideparts-login__lostlink::before {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	margin-right: 4px;
	border-style: solid;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent #c62828;
	vertical-align: middle;
}

.shop-sideparts-login__remember {
	margin: 0;
	padding: 0;
	font-size: 13px;
}

.shop-sideparts-login__remember-label {
	cursor: pointer;
}

.shop-sideparts-login--image .shop-sideparts-login__actions {
	padding: 4px 14px 16px;
	background: #faf6ed;
	line-height: 0;
	text-align: center;
}

.shop-sideparts-login__btnimg {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	padding: 0;
	border: none;
	background: none;
	cursor: pointer;
	transition: filter 0.2s ease, opacity 0.2s ease;
}

.shop-sideparts-login__btnimg img {
	display: block;
	width: 100%;
	height: auto;
}

.shop-sideparts-login__btnimg:hover img {
	filter: brightness(1.08);
	opacity: 0.95;
}

.shop-sideparts-login__submit-text {
	display: inline-block;
	margin: 0 auto;
}

.shop-sideparts-login__body--logged-in .shop-sideparts-login__greeting {
	margin: 0 0 8px;
	font-size: 14px;
	line-height: 1.5;
	color: #1a1a1a;
}

.shop-sideparts-login__memberlink {
	margin: 0;
	padding: 0;
	font-size: 13px;
}

.shop-sideparts-login__textlink {
	color: #2f6f16;
	font-weight: 700;
	text-decoration: underline;
}

.shop-sideparts-login:not(.shop-sideparts-login--image) .shop-sideparts-login__form .widget-title {
	margin: 0 0 8px;
}

/* 会員ログイン：テキスト見出し（カゴ・検索の画像枠と同系の茶枠＋ベージュ地） */
.shop-sideparts-login--textmode.shop-box {
	padding: 0;
	overflow: hidden;
	border-width: 8px;
	border-style: solid;
	border-color: #4d3320;
	background: #faf6ed;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

.shop-sideparts-login--textmode .shop-sideparts-login__form .widget-title {
	margin: 0;
	padding: 10px 12px;
	text-align: center;
	font-weight: 700;
	background: linear-gradient(180deg, #6a4530 0%, #3d2615 100%);
	border-bottom: 1px solid #2a1a10;
}

.shop-sideparts-login--textmode .shop-sideparts-login__form .shop-sideparts-login__body {
	padding: 10px 14px 8px;
	background: #faf6ed;
}

.shop-sideparts-login--textmode .shop-sideparts-login__actions {
	padding: 4px 14px 14px;
	background: #faf6ed;
	text-align: center;
}

.shop-sideparts-login--textmode .shop-sideparts-login__submit-text {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4em;
	min-width: 88%;
	box-sizing: border-box;
}

.shop-sideparts-login--textmode .shop-sideparts-login__submit-text::before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	flex: 0 0 auto;
	background: no-repeat center / contain
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231a1a1a' d='M12 17a2 2 0 002-2v-2H10v2a2 2 0 002 2zm6-7V7a6 6 0 10-12 0v3H4a2 2 0 00-2 2v8a2 2 0 002 2h16a2 2 0 002-2v-8a2 2 0 00-2-2h-2zm-2 0H8V7a4 4 0 018 0v3z'/%3E%3C/svg%3E");
}

/* 検索ウィジェット（search-ttl.jpg / search-btn.png。旧 shop-search-title.jpg はフォールバック） */
.shop-sideparts-search--image .shop-sideparts-search__form {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	margin: 0;
}

.shop-sideparts-search--image .shop-sideparts-search__field {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 10px 12px;
	border: 1px solid #6f6a62;
	border-radius: 2px;
	font-size: 14px;
	font-family: inherit;
	background: #fff;
}

.shop-sideparts-search--image .shop-sideparts-search__field::placeholder {
	color: #9a958c;
}

.shop-sideparts-search--image .shop-sideparts-search__btnimg {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	cursor: pointer;
	line-height: 0;
	transition: filter 0.2s ease, opacity 0.2s ease;
}

.shop-sideparts-search--image .shop-sideparts-search__btnimg img {
	display: block;
	width: 100%;
	height: auto;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
	border-radius: 4px;
}

.shop-sideparts-search--image .shop-sideparts-search__btnimg:hover img {
	filter: brightness(1.08);
	opacity: 0.95;
}

/* 取り扱い商品一覧（緑枠・assets/images/common/shop-category-title.jpg タイトル／指定順カテゴリ） */
.shop-sideparts-category.shop-box {
	padding: 0;
	overflow: hidden;
	border: 2px solid #4a8235;
	background: #fff;
	box-shadow: none;
}

.shop-sideparts-category--image .shop-sideparts-category__titleimg-wrap {
	margin: 0;
	padding: 0;
	line-height: 0;
	box-sizing: border-box;
	background: transparent;
	border: none;
}

.shop-sideparts-category--image .shop-sideparts-category__titleimg {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0;
	border: 0;
	outline: none;
	vertical-align: top;
}

.shop-sideparts-category:not(.shop-sideparts-category--image) .shop-sideparts-category__titleimg-wrap {
	margin: 0;
	padding: 0;
	line-height: normal;
	box-sizing: border-box;
	background: transparent;
	border: none;
}

.shop-sideparts-category:not(.shop-sideparts-category--image) .shop-sideparts-category__title-heading.widget-title {
	margin: 0;
}

.shop-sideparts-category:not(.shop-sideparts-category--image) .shop-sideparts-category__titleimg {
	display: none !important;
}

.shop-sideparts-category .shop-sideparts-category__body {
	padding: 6px 10px 12px;
	background: #fff;
	font-size: 0.875rem;
	line-height: 1.45;
}

/* タイトル直下のメニュー（内側の枠線なし・外側の緑枠のみ） */
.shop-sideparts-category--image .shop-sideparts-category__body {
	margin: 4px 8px 10px;
	padding: 6px 10px 12px;
	border: none;
	background: #fff;
	box-sizing: border-box;
}

/* サイドバー店舗情報（取り扱い商品一覧の下・見本：クリーム地＋薄い布地風） */
.shop-sideparts-store.shop-box {
	padding: 0;
	overflow: hidden;
	border: 1px solid #d2b48c;
	background-color: #f5ebd7;
	background-image:
		linear-gradient(180deg, rgba(255, 255, 255, 0.42) 0%, rgba(255, 255, 255, 0) 42%),
		repeating-linear-gradient(
			-12deg,
			transparent,
			transparent 2px,
			rgba(255, 255, 255, 0.06) 2px,
			rgba(255, 255, 255, 0.06) 3px
		),
		radial-gradient(ellipse 140% 90% at 50% -10%, rgba(255, 252, 245, 0.75), transparent 58%);
	box-shadow:
		0 1px 3px rgba(90, 70, 40, 0.08),
		inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

.shop-sideparts-store__panel {
	padding: 12px 10px 14px;
	font-family: inherit;
}

.shop-sideparts-store__photo-frame {
	margin: 0 0 12px;
	padding: 8px;
	background: #fff;
	border: 1px solid #ede8df;
	box-sizing: border-box;
	line-height: 0;
	text-align: center;
}

.shop-sideparts-store__photo-link {
	display: block;
	line-height: 0;
	text-decoration: none;
}

.shop-sideparts-store__photo-link:hover .shop-sideparts-store__photo {
	opacity: 0.94;
}

.shop-sideparts-store__photo {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
}

.shop-sideparts-store__info {
	margin: 0 0 14px;
	padding: 0 4px;
	font-size: 13px;
	line-height: 1.5;
	color: #1a1a1a;
}

.shop-sideparts-store__tagline {
	margin: 0 0 6px;
	font-size: 12px;
	font-weight: 400;
}

.shop-sideparts-store__name {
	margin: 0 0 10px;
	font-size: 16px;
	font-weight: 700;
}

.shop-sideparts-store__line {
	margin: 0 0 4px;
}

.shop-sideparts-store__line--last {
	margin-bottom: 0;
}

.shop-sideparts-store__linksbox {
	margin: 0;
	padding: 10px 8px 12px;
	background: #fff;
	border: 1px solid #2d5a27;
	border-radius: 2px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.shop-sideparts-store__linklist {
	margin: 0;
	padding: 0;
	list-style: none;
}

.shop-sideparts-store__linkitem {
	margin: 0;
	padding: 0;
	border-bottom: 1px dotted #a8a8a8;
}

.shop-sideparts-store__linkitem:last-child {
	border-bottom: none;
}

.shop-sideparts-store__link {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 8px 2px;
	text-decoration: underline;
	color: #000;
	font-size: 14px;
	line-height: 1.45;
}

.shop-sideparts-store__link:hover {
	color: #2f6f16;
	text-decoration: underline;
}

.shop-sideparts-store__link-icon {
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	margin-top: 2px;
	border-radius: 50%;
	background: #3d8c2f;
	position: relative;
	box-sizing: border-box;
}

.shop-sideparts-store__link-icon::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 5px;
	border: 4px solid transparent;
	border-left: 6px solid #fff;
}

.shop-sideparts-store__extra {
	margin-top: 10px;
	padding-top: 8px;
	border-top: 1px dotted #a8a8a8;
	font-size: 13px;
}

/* サイドバー：店舗ブロック直下のバナー列 */
.shop-sideparts-banners {
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	box-shadow: none;
}

.shop-sideparts-banners__list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.shop-sideparts-banners__item {
	margin: 0;
	padding: 0;
	line-height: 0;
}

.shop-sideparts-banners__link {
	display: block;
	line-height: 0;
	text-decoration: none;
	transition: opacity 0.2s ease, filter 0.2s ease;
}

.shop-sideparts-banners__link:hover {
	opacity: 0.94;
	filter: brightness(1.03);
}

.shop-sideparts-banners__img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0;
	vertical-align: top;
}

/* セキュリティ対策バナー：他バナーより約2段階小さく（幅 約72%・中央） */
.shop-sideparts-banners__item--security-compact {
	align-self: center;
	width: 72%;
	max-width: 180px;
}

.shop-sideparts-banners__item--security-compact .shop-sideparts-banners__link,
.shop-sideparts-banners__item--security-compact .shop-sideparts-banners__img {
	width: 100%;
}

.shop-category-sidebar {
	margin: 0;
	padding: 2px 0 4px;
	font-family: inherit;
	font-size: 0.875rem;
	color: #1e1e1e;
}

.shop-category-sidebar__group {
	margin: 0 0 12px;
}

.shop-category-sidebar__group:last-child {
	margin-bottom: 0;
}

.shop-category-sidebar__parent {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 8px 0 6px;
	line-height: 1.45;
	border-bottom: none;
}

.shop-category-sidebar__parent-icon {
	flex: 0 0 17px;
	width: 17px;
	height: 17px;
	min-width: 17px;
	min-height: 17px;
	margin-top: 0;
	border-radius: 50%;
	background: #2d6a30;
	position: relative;
	box-sizing: border-box;
	overflow: visible;
}

/* 緑丸の中央に白の右向き三角（画像2寄せ） */
.shop-category-sidebar__parent-icon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 0;
	height: 0;
	margin: 0;
	padding: 0;
	border-style: solid;
	border-width: 3.5px 0 3.5px 5.5px;
	border-color: transparent transparent transparent #fff;
	transform: translate(-42%, -50%);
	pointer-events: none;
}

.shop-category-sidebar__parent-label {
	flex: 1 1 auto;
	min-width: 0;
}

.shop-category-sidebar__parent-label a {
	display: block;
	width: 100%;
	box-sizing: border-box;
}

.shop-category-sidebar__parent-label a,
.shop-category-sidebar__parent-text {
	font-weight: 700;
	text-decoration: underline;
	color: #000;
}

.shop-category-sidebar__parent-label a:hover {
	color: #2f6f16;
}

.shop-category-sidebar__children {
	margin: 0;
	padding: 2px 0 0 12px;
	list-style: none;
}

.shop-category-sidebar__child {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 7px 0 7px 2px;
	border-bottom: 1px dotted #c8c4bc;
	line-height: 1.45;
}

.shop-category-sidebar__child:last-child {
	border-bottom: 1px dotted #c8c4bc;
}

/* 子リンク左：小さな濃色の右向き三角（見本画像） */
.shop-category-sidebar__child-icon {
	flex: 0 0 auto;
	flex-shrink: 0;
	align-self: center;
	margin-top: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 3px 0 3px 5px;
	border-color: transparent transparent transparent #333;
	overflow: visible;
}

.shop-category-sidebar__child a,
.shop-category-sidebar__child-text {
	flex: 1 1 auto;
	min-width: 0;
	text-decoration: underline;
	color: #000;
	font-weight: 400;
}

.shop-category-sidebar__child a:hover {
	color: #2f6f16;
}

.item-category-list--ordered {
	margin: 0;
	padding-left: 0;
}

/* 取り扱い商品一覧：ツリー表示（フォールバック）も1行＋下点線で統一 */
.shop-sideparts-category .shop-category-tree {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.875rem;
	line-height: 1.45;
	color: #1e1e1e;
}

.shop-sideparts-category .shop-category-tree.depth-0 {
	padding-left: 0;
}

.shop-sideparts-category .shop-category-tree .shop-category-tree {
	margin: 0;
	padding: 0 0 0 12px;
}

.shop-sideparts-category .shop-category-tree__item {
	margin: 0;
	padding: 8px 0 8px 2px;
	border-bottom: 1px dotted #c8c4bc;
}

.shop-sideparts-category .shop-category-tree__item a {
	display: block;
	width: 100%;
	box-sizing: border-box;
	color: #000;
	font-weight: 400;
	text-decoration: underline;
}

.shop-sideparts-category .shop-category-tree__item a:hover {
	color: #2f6f16;
}

.shop-sideparts-search--image input.search-submit {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #b76500;
	border-radius: 2px;
	background: linear-gradient(180deg, #ffbf38 0%, #f39a10 100%);
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}

@media (min-width: 981px) {
	.shop-sideparts-cart--image .shop-sideparts-cart__titleimg-wrap {
		padding: 12px 10px 4px;
	}

	.shop-sideparts-cart--image .shop-sideparts-cart__titleimg {
		width: 93%;
	}

	.shop-sideparts-cart--image .shop-sideparts-cart__body {
		padding: 8px 16px 16px;
	}

	.shop-sideparts-search--image .shop-sideparts-search__titleimg-wrap {
		padding: 12px 10px 4px;
	}

	.shop-sideparts-search--image .shop-sideparts-search__titleimg {
		width: 93%;
	}

	.shop-sideparts-search--image .shop-sideparts-search__body {
		padding: 8px 16px 16px;
	}

	.shop-sideparts-category--image .shop-sideparts-category__titleimg-wrap {
		padding: 0;
	}

	.shop-sideparts-category--image .shop-sideparts-category__titleimg {
		width: 100%;
	}

	.shop-sideparts-category:not(.shop-sideparts-category--image) .shop-sideparts-category__title-heading.widget-title {
		padding: 10px 12px;
		font-size: 16px;
	}

	.shop-sideparts-category .shop-sideparts-category__body {
		padding: 8px 14px 16px;
	}

	.shop-sideparts-category--image .shop-sideparts-category__body {
		margin: 6px 10px 12px;
		padding: 8px 12px 14px;
		border: none;
	}

	.shop-sideparts-cart--image .shop-sideparts-cart__actions {
		padding: 6px 16px 18px;
	}

	.shop-sideparts-login--image .shop-sideparts-login__titleimg-wrap {
		padding: 12px 10px 4px;
	}

	.shop-sideparts-login--image .shop-sideparts-login__titleimg {
		width: 93%;
	}

	.shop-sideparts-login--image .shop-sideparts-login__body,
	.shop-sideparts-login--image .shop-sideparts-login__form .shop-sideparts-login__body {
		padding: 10px 16px 10px;
	}

	.shop-sideparts-login--image .shop-sideparts-login__actions {
		padding: 6px 16px 18px;
	}

	.site-sidebar .widget-welcart-sidebar-login.shop-sideparts-login {
		display: block !important;
		visibility: visible;
	}
}

.widget-search form {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.widget-search input[type="search"],
.widget-search input[type="text"] {
	width: 100%;
	padding: 8px;
	border: 1px solid #c8c1b4;
	box-sizing: border-box;
}

.widget-search input[type="submit"] {
	padding: 8px 10px;
	border: 1px solid #b76500;
	background: linear-gradient(180deg, #ffbf38 0%, #f39a10 100%);
	font-weight: 700;
	cursor: pointer;
}

.item-category-list,
.home-category-list {
	margin: 0;
	padding-left: 0;
}

.shop-category-tree {
	margin: 0;
	padding-left: 18px;
}

.shop-category-tree.depth-0 {
	padding-left: 14px;
}

.shop-category-tree__item {
	margin-bottom: 4px;
}

.shop-category-tree__item a {
	color: #2f6f16;
}

.shop-intro h1 {
	margin: 0 0 8px;
	font-size: 42px;
	line-height: 1.25;
}

.shop-intro p {
	margin: 0 0 12px;
}

.shop-hero {
	margin: 0 0 14px;
}

.shop-hero__main {
	padding: 28px 20px;
	border: 1px solid #9ab98a;
	background: linear-gradient(120deg, #9cc67f 0%, #6ca24c 45%, #4a8235 100%);
	color: #fff;
}

.shop-hero__lead {
	margin: 0;
	font-size: 34px;
	font-weight: 800;
	line-height: 1.2;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.shop-hero__sub {
	margin: 8px 0 0;
	font-size: 18px;
	font-weight: 700;
}

.shop-hero__thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin-top: 8px;
}

.shop-hero__thumbs span {
	display: block;
	padding: 14px 8px;
	text-align: center;
	font-size: 13px;
	font-weight: 700;
	color: #fff;
	background: linear-gradient(180deg, #95c676 0%, #5c9741 100%);
}

/* トップ：メインバナー画像＋キャッチ＋4カテゴリ */
.shop-home-hero {
	margin: 0 0 16px;
	width: 100%;
	box-sizing: border-box;
	container-type: inline-size;
	container-name: shophero;
}

/* スマホ：4カテゴリ直上は S__46833667.jpg（マストヘッド ban01 は非表示） */
.shop-home-hero__mobile-top667 {
	display: none;
	margin: 0 0 12px;
	line-height: 0;
	border: 1px solid #d0c8be;
	box-sizing: border-box;
	overflow: hidden;
	background: #f0ebe3;
}

.shop-home-hero__mobile-top667-img {
	display: block;
	width: 100%;
	height: auto;
	vertical-align: top;
}

@media (max-width: 980px) {
	.shop-home-hero.shop-home-hero--has-mobile-top667 > .shop-home-hero__desktop-stack > .shop-home-hero__masthead {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		border-width: 0 !important;
		position: absolute !important;
		width: 1px !important;
		clip-path: inset(50%) !important;
		pointer-events: none !important;
	}

	.shop-home-hero.shop-home-hero--has-mobile-top667 > .shop-home-hero__desktop-stack > .shop-home-hero__mobile-top667 {
		display: block !important;
		position: relative !important;
		visibility: visible !important;
		height: auto !important;
		width: 100vw !important;
		max-width: 100vw !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
		clip-path: none !important;
		border-left: none;
		border-right: none;
	}

	.shop-home-hero--mobile-stack-intro:not(.shop-home-hero--has-mobile-top667) > .shop-home-hero__desktop-stack > .shop-home-hero__masthead {
		display: none !important;
	}
}

@media (min-width: 981px) {
	.shop-home-hero.shop-home-hero--has-mobile-top667 > .shop-home-hero__desktop-stack > .shop-home-hero__mobile-top667 {
		display: none !important;
	}

	.shop-home-hero.shop-home-hero--has-mobile-top667 > .shop-home-hero__desktop-stack > .shop-home-hero__masthead {
		display: block !important;
		visibility: visible !important;
		position: relative !important;
		width: 100% !important;
		height: auto !important;
		clip-path: none !important;
	}
}

@container shophero (max-width: 700px) {
	.shop-home-hero.shop-home-hero--has-mobile-top667 > .shop-home-hero__desktop-stack > .shop-home-hero__masthead {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		border-width: 0 !important;
		position: absolute !important;
		width: 1px !important;
		clip-path: inset(50%) !important;
		pointer-events: none !important;
	}

	.shop-home-hero.shop-home-hero--has-mobile-top667 > .shop-home-hero__desktop-stack > .shop-home-hero__mobile-top667 {
		display: block !important;
		position: relative !important;
		visibility: visible !important;
		height: auto !important;
		width: 100vw !important;
		max-width: 100vw !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
		clip-path: none !important;
		border-left: none;
		border-right: none;
	}

	.shop-home-hero--mobile-stack-intro:not(.shop-home-hero--has-mobile-top667) > .shop-home-hero__desktop-stack > .shop-home-hero__masthead {
		display: none !important;
	}
}

.shop-home-hero__masthead {
	position: relative;
	margin: 0 0 12px;
	border: 1px solid #d0c8be;
	background: #f0ebe3;
	overflow: hidden;
}

.shop-home-hero__masthead picture {
	display: block;
	line-height: 0;
}

.shop-home-hero__masthead-img {
	display: block;
	width: 100%;
	height: auto;
	vertical-align: top;
}

.shop-home-hero__categories {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	width: 100%;
	box-sizing: border-box;
}

.shop-home-hero__cat {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	border: none;
	background: transparent;
	text-decoration: none;
	box-sizing: border-box;
	color: inherit;
}

.shop-home-hero__cat:hover {
	text-decoration: none;
}

.shop-home-hero__cat:hover .shop-home-hero__cat-img {
	filter: brightness(1.07);
}

.shop-home-hero__cat-imgwrap {
	display: block;
	margin: 0;
	padding: 0;
	background: #fff;
	line-height: 0;
	border: 1px solid #c8c2b8;
	box-sizing: border-box;
}

@media (max-width: 980px) {
	.shop-home-hero__cat-imgwrap {
		border: none;
		box-shadow: none;
	}
}

.shop-home-hero__cat-img {
	display: block;
	width: 100%;
	height: auto;
	transition: filter 0.2s ease;
}

.shop-home-hero__cat-caption {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 8px 4px 0;
	text-align: center;
	line-height: 1.35;
}

.shop-home-hero__cat-line1 {
	font-size: 12px;
	color: #333;
}

.shop-home-hero__cat-line2 {
	margin-top: 3px;
	font-size: 13px;
	font-weight: 800;
	color: #1a1a1a;
}

/* スマホ・タブレット：4カテゴリバナー直下のキャプション文言を非表示（画像のみ） */
@media (max-width: 980px) {
	.shop-home-hero__cat-caption {
		display: none !important;
	}
}

@media (min-width: 981px) {
	.shop-home-hero__masthead {
		border: none;
		background: transparent;
	}

	.shop-home-hero__cat-imgwrap {
		border: none;
		box-shadow: none;
		background: transparent;
	}

	.shop-home-hero__cat-caption {
		display: none;
	}
}

/* トップ：百姓家族メッセージ（message-title.jpg / message-img.jpg） */
.shop-home-message {
	margin: 0 0 20px;
	padding: 0 0 22px;
	box-sizing: border-box;
	background-color: #f6f0da;
	border: 1px solid #e0d8cc;
	container-type: inline-size;
	container-name: shopmsg;
}

/* スマホ用：画像（68）→ 本文 → 画像（69）。狭い幅で表示、広い幅では PC ブロックに切替 */
.shop-home-message__mobile-stack {
	display: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.shop-home-message__mobile-body {
	margin: 0;
	padding: 18px 16px 20px;
	box-sizing: border-box;
}

.shop-home-message__mobile-lead {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.shop-home-message__mobile-lead p {
	margin: 0 0 14px;
	font-size: 0.9375rem;
	line-height: 1.85;
	color: #3a342c;
}

.shop-home-message__mobile-visual {
	margin: 0;
	padding: 0;
	line-height: 0;
}

.shop-home-message__mobile-visual-img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

.shop-home-message__mobile-aside {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.shop-home-message__mobile-aside p {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.85;
	color: #3a342c;
}

.shop-home-message--mobile-only .shop-home-message__mobile-stack {
	display: block !important;
}

/* 広いビューポート：PC 用ブロックを明示（モバイル用スタックは非表示） */
@media (min-width: 981px) {
	.shop-home-message--has-mobile-art:not(.shop-home-message--mobile-only) .shop-home-message__mobile-stack {
		display: none !important;
	}

	.shop-home-message--has-mobile-art:not(.shop-home-message--mobile-only) .shop-home-message__desktop {
		display: block !important;
	}
}

/* 狭いビューポート：導入はスマホ用スタック（画像→本文→画像） */
@media (max-width: 980px) {
	.shop-home-message--has-mobile-art:not(.shop-home-message--mobile-only) .shop-home-message__desktop {
		display: none !important;
	}

	.shop-home-message--has-mobile-art:not(.shop-home-message--mobile-only) .shop-home-message__mobile-stack {
		display: block !important;
	}
}

/* メイン列だけ狭いとき（ビューポートは広い） */
@container shopmsg (max-width: 700px) {
	.shop-home-message--has-mobile-art:not(.shop-home-message--mobile-only) .shop-home-message__desktop {
		display: none !important;
	}

	.shop-home-message--has-mobile-art:not(.shop-home-message--mobile-only) .shop-home-message__mobile-stack {
		display: block !important;
	}
}

/* タイトル画像：上・左右はセクション内で余白なし（画像を角まで） */
.shop-home-message__title {
	margin: 0;
	line-height: 0;
}

.shop-home-message__title-img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

.shop-home-message__lead {
	margin: 0 0 18px;
	padding: 18px 16px 0;
	box-sizing: border-box;
}

.shop-home-message__lead p {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.85;
	color: #222;
}

.shop-home-message__split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
	gap: 18px 22px;
	align-items: start;
	padding: 0 16px;
	box-sizing: border-box;
}

.shop-home-message__figure {
	margin: 0;
	padding: 0;
	line-height: 0;
}

.shop-home-message__figure img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

.shop-home-message__aside p {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.85;
	color: #222;
}

.shop-home-message__aside--solo {
	padding: 0 16px;
	box-sizing: border-box;
}

@media (max-width: 680px) {
	.shop-home-message__split {
		grid-template-columns: 1fr;
	}
}

/* トップ：導入文直下（スマホ）— S__46833670〜72 縦3枚 ＋ 73・74 を50%×2 */
.shop-home-mobstrip {
	display: none;
	margin: 0 0 12px;
	box-sizing: border-box;
}

.shop-home-mobstrip__banners {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 0 10px;
}

.shop-home-mobstrip__tile {
	margin: 0;
	line-height: 0;
	box-sizing: border-box;
	overflow: hidden;
}

.shop-home-mobstrip__tile--veg {
	border: 2px solid #5a9a44;
}

.shop-home-mobstrip__tile--milk {
	border: 2px solid #4a7cb8;
}

.shop-home-mobstrip__tile--support {
	border: 2px solid #d97a2a;
}

.shop-home-mobstrip__link {
	display: block;
	line-height: 0;
	transition: filter 0.2s ease, opacity 0.2s ease;
}

.shop-home-mobstrip__link:hover {
	filter: brightness(1.03);
}

.shop-home-mobstrip__link:active {
	opacity: 0.96;
}

.shop-home-mobstrip__img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

.shop-home-mobstrip__duo {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	align-items: stretch;
	margin: 0;
	box-sizing: border-box;
}

.shop-home-mobstrip__half {
	margin: 0;
	min-width: 0;
	line-height: 0;
}

.shop-home-mobstrip__half:only-child {
	grid-column: 1 / -1;
}

@media (max-width: 980px) {
	.shop-home-mobstrip {
		display: block;
	}

	.shop-home-promo-news--mob-strip-replaces-bans .shop-home-promo-news__ban1,
	.shop-home-promo-news--mob-strip-replaces-bans .shop-home-promo-news__row2 {
		display: none !important;
	}
}

@media (min-width: 981px) {
	.shop-home-mobstrip {
		display: none !important;
	}
}

/* トップ：ban01〜03 ＋ 最新情報（news-title.jpg・「最新情報」カテゴリ） */
.shop-home-promo-news {
	margin: 0 0 20px;
	box-sizing: border-box;
	container-type: inline-size;
	container-name: shoppromo;
}

.shop-home-promo-news__ban1 {
	margin: 0 0 10px;
	line-height: 0;
}

.shop-home-promo-news__row2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 12px;
	align-items: stretch;
}

.shop-home-promo-news__ban-link {
	display: block;
	line-height: 0;
	transition: filter 0.2s ease, opacity 0.2s ease;
}

.shop-home-promo-news__ban-link:hover {
	filter: brightness(1.04);
}

.shop-home-promo-news__ban-link img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

.shop-home-promo-news__ban2 {
	border: 2px solid #4a7cb8;
	box-sizing: border-box;
}

.shop-home-promo-news__ban3 {
	border: 2px solid #d97a2a;
	box-sizing: border-box;
}

/* スマホ：プロモバナー枠線なし（画像内デザインに合わせる） */
@media (max-width: 980px) {
	.shop-home-promo-news__ban2,
	.shop-home-promo-news__ban3 {
		border: none;
	}

	.shop-home-promo-news__news {
		border: none;
	}
}

.shop-home-promo-news__news {
	background: #fff;
	box-sizing: border-box;
}

@media (min-width: 981px) {
	.shop-home-promo-news__news {
		border: 1px solid #7ca15f;
	}
}

.shop-home-promo-news__news-head {
	margin: 0;
	background: #3d6b3a;
}

.shop-home-promo-news__news-title-imgwrap {
	margin: 0;
	line-height: 0;
}

.shop-home-promo-news__news-title-link {
	display: block;
	line-height: 0;
	transition: filter 0.2s ease, opacity 0.2s ease;
}

.shop-home-promo-news__news-title-link:hover {
	filter: brightness(1.04);
}

.shop-home-promo-news__news-title-imgwrap img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

.shop-home-promo-news__news-head--text {
	display: flex;
	align-items: center;
	padding: 10px 14px;
	min-height: 48px;
	box-sizing: border-box;
	background: #3d6b3a;
}

.shop-home-promo-news__news-heading-fallback {
	font-size: 1.125rem;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
}

a.shop-home-promo-news__news-heading-fallback:hover {
	text-decoration: underline;
}

.shop-home-promo-news__news-body {
	max-height: 480px;
	overflow-y: auto;
	padding: 12px 14px 14px;
	box-sizing: border-box;
	-webkit-overflow-scrolling: touch;
}

.shop-home-promo-news__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.shop-home-promo-news__item {
	margin: 0 0 14px;
	padding: 0 0 12px;
	border-bottom: 1px solid #e8e4dc;
}

.shop-home-promo-news__item:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}

.shop-home-promo-news__item-meta {
	margin: 0 0 6px;
	font-size: 0.875rem;
	line-height: 1.5;
}

.shop-home-promo-news__item-date {
	margin-right: 10px;
	color: #555;
	font-weight: 600;
}

.shop-home-promo-news__item-title {
	font-weight: 700;
	color: #1a5a9e;
	text-decoration: underline;
}

.shop-home-promo-news__item-title:hover {
	color: #0d3d6e;
}

.shop-home-promo-news__item-excerpt {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.75;
	color: #333;
}

.shop-home-promo-news__empty {
	margin: 0;
	font-size: 0.875rem;
	color: #666;
}

/* スマホ：最新情報（S__46874630 見出し画像・S__46874633 一覧画像・点線区切り・横幅MAX） */
.shop-home-promo-news__news-head--mobstrip {
	display: none;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 14px 12px;
	min-height: 48px;
	box-sizing: border-box;
	background: #2d5638;
	border-bottom: 2px solid #1a3d24;
}

.shop-home-promo-news__news-head--mobstrip-hasimg {
	padding: 0;
	min-height: 0;
	background: transparent;
	border-bottom: none;
}

.shop-home-promo-news__mobstrip-imglink {
	display: block;
	line-height: 0;
	width: 100%;
}

.shop-home-promo-news__mobstrip-img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

.shop-home-promo-news__mobstrip-title {
	font-size: 1.0625rem;
	font-weight: 800;
	color: #fff;
	text-decoration: none;
	letter-spacing: 0.06em;
}

a.shop-home-promo-news__mobstrip-title:hover {
	color: #fff;
	text-decoration: underline;
}

.shop-home-promo-news__viewall-wrap {
	display: none;
	padding: 16px 12px 12px;
	box-sizing: border-box;
	background: #fff;
}

.shop-home-promo-news__viewall-imglink {
	display: block;
	width: 68%;
	max-width: 300px;
	margin-left: auto;
	margin-right: auto;
	line-height: 0;
	transition: opacity 0.2s ease;
}

.shop-home-promo-news__viewall-imglink:active {
	opacity: 0.92;
}

.shop-home-promo-news__viewall-img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

.shop-home-promo-news__viewall {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	width: 68%;
	max-width: 300px;
	min-width: 0;
	margin: 0 auto;
	padding: 14px 22px;
	box-sizing: border-box;
	background: linear-gradient(180deg, #ff9428 0%, #f56f00 100%);
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 4px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
	color: #fff;
	font-size: 1rem;
	font-weight: 800;
	text-decoration: none;
	line-height: 1.2;
}

.shop-home-promo-news__viewall:hover {
	color: #fff;
	filter: brightness(1.05);
}

.shop-home-promo-news__viewall-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.28);
	color: #fff;
	line-height: 0;
}

@media (max-width: 980px) {
	.site-main .shop-home-promo-news__news {
		position: relative;
		left: 50%;
		right: 50%;
		width: 100vw;
		max-width: 100vw;
		margin-left: -50vw;
		margin-right: -50vw;
		box-sizing: border-box;
		border: none;
	}

	.shop-home-promo-news__news-head--mobstrip {
		display: flex !important;
	}

	.shop-home-promo-news__news-head--desktop {
		display: none !important;
	}

	.shop-home-promo-news__news-body {
		max-height: none;
	}

	.shop-home-promo-news__item {
		margin: 0 0 12px;
		padding: 0 0 12px;
		border-bottom: 1px dotted #b8b0a4;
	}

	.shop-home-promo-news__item:last-child {
		border-bottom: 0;
	}

	.shop-home-promo-news__item-meta {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
		margin: 0;
	}

	.shop-home-promo-news__item-date {
		margin-right: 0;
		font-size: 0.8125rem;
		font-weight: 600;
		color: #666;
	}

	.shop-home-promo-news__item-title {
		font-size: 1rem;
		font-weight: 800;
		color: #1a1a1a;
		text-decoration: none;
		line-height: 1.45;
	}

	a.shop-home-promo-news__item-title:hover {
		color: #0d3d6e;
		text-decoration: underline;
	}

	.shop-home-promo-news__item-excerpt {
		display: none;
	}

	.shop-home-promo-news .shop-home-promo-news__viewall-wrap {
		display: flex;
		justify-content: center;
		padding: 18px 12px 16px;
	}

	/* 最新情報「一覧」と新着タイトルの間に見える区切り線（枠線・余白）を抑える */
	.shop-home-promo-news:has(+ .shop-new-items) {
		margin-bottom: 0;
	}

	.shop-new-items:has(+ .shop-recommended-items) {
		margin-bottom: 0;
	}

	.shop-recommended-items:has(+ .shop-home-new-blog) {
		margin-bottom: 0;
	}

	.shop-home-new-blog:has(+ .shop-home-mob-sidebar-banners) {
		margin-bottom: 0;
	}
}

@media (min-width: 981px) {
	.shop-home-promo-news__news-head--mobstrip {
		display: none !important;
	}

	.shop-home-promo-news .shop-home-promo-news__viewall-wrap {
		display: none !important;
	}
}

@media (max-width: 680px) {
	.shop-home-promo-news__row2 {
		grid-template-columns: 1fr;
	}
}

/* HTTrack listpage 風・商品一覧グリッド */
.shop-listpage .listpage-inner {
	width: 100%;
}

.shop-listpage .page-title.shop-listpage__title {
	margin: 0 0 12px;
	padding-bottom: 6px;
	border-bottom: 2px solid #7ca15f;
	font-size: 28px;
	line-height: 1.25;
}

.shop-listpage .listpage-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
	gap: 12px 10px;
	margin: 0 0 16px;
}

.shop-new-items__list.listpage .listpage-once,
.shop-new-items__list.shop-listpage .listpage-once,
.shop-recommended-items__list.listpage .listpage-once,
.shop-recommended-items__list.shop-listpage .listpage-once {
	border: 0;
	box-shadow: none;
}

.shop-listpage .listpage-once {
	border: 1px solid #ddd8cd;
	background: #fff;
}

.shop-listpage .listpage-once-inner {
	padding: 10px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-height: 100%;
	box-sizing: border-box;
}

.shop-listpage .listpage-img {
	text-align: center;
}

.shop-listpage .listpage-img img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

.shop-listpage .listpage-img__link:hover {
	text-decoration: none;
}

.shop-listpage .listpage-name {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
}

.shop-listpage .listpage-name a {
	color: #2f2f2f;
}

.shop-listpage .listpage-price {
	font-size: 16px;
	font-weight: 800;
	color: #c14a00;
	line-height: 1.3;
}

.shop-listpage .listpage-price .tax {
	font-size: 12px;
	font-weight: 600;
	color: #555;
	margin-left: 4px;
}

.shop-listpage .listpage-stock-msg {
	margin: 6px 0 0;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
	color: #c62828;
}

.shop-listpage .listpage-excerpt {
	margin: 0;
	font-size: 12px;
	color: #555;
	line-height: 1.45;
}

.shop-listpage__empty {
	margin: 8px 0;
	color: #666;
}

.shop-listpage__nav {
	margin-top: 8px;
	padding-top: 10px;
	border-top: 1px solid #dcd4c7;
}

.listpage-footer-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 13px;
}

.shop-catalog-all__toolbar {
	margin-bottom: 12px;
}

.shop-catalog-all__bread {
	margin-bottom: 10px;
}

.shop-category-result h2,
.shop-new-items__title-fallback,
.shop-latest-items h2,
.shop-recommended-items__title-fallback--desktop,
.shop-home-new-blog__title-fallback--desktop {
	margin: 0 0 10px;
	padding-bottom: 5px;
	border-bottom: 2px solid #7ca15f;
	font-size: 30px;
}

.shop-new-items,
.shop-recommended-items,
.shop-home-new-blog {
	margin: 0 0 20px;
	box-sizing: border-box;
}

.shop-new-items__title,
.shop-recommended-items__title,
.shop-home-new-blog__title {
	margin: 0 0 12px;
	line-height: 0;
}

.shop-new-items__title-link,
.shop-recommended-items__title-link,
.shop-home-new-blog__title-link {
	display: block;
	line-height: 0;
	transition: filter 0.2s ease, opacity 0.2s ease;
}

.shop-new-items__title-link:hover,
.shop-recommended-items__title-link:hover,
.shop-home-new-blog__title-link:hover {
	filter: brightness(1.04);
}

.shop-new-items__title-img,
.shop-recommended-items__title-img,
.shop-home-new-blog__title-img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

.shop-new-items__title-fallback a,
.shop-recommended-items__title-fallback a,
.shop-home-new-blog__title-fallback a {
	color: inherit;
	text-decoration: none;
}

.shop-new-items__title-fallback a:hover,
.shop-recommended-items__title-fallback a:hover,
.shop-home-new-blog__title-fallback a:hover {
	text-decoration: underline;
}

.shop-new-items__empty,
.shop-recommended-items__empty,
.shop-home-new-blog__empty {
	margin: 8px 0 0;
	font-size: 0.875rem;
	color: #666;
}

/* 新着商品・おすすめ・新着ブログ：スマホ先頭タイトル画像 */
.shop-new-items__mob-lead,
.shop-recommended-items__mob-lead,
.shop-home-new-blog__mob-lead {
	display: none;
	box-sizing: border-box;
}

.shop-new-items__mob-title,
.shop-recommended-items__mob-title,
.shop-home-new-blog__mob-title {
	margin: 0;
	padding: 0;
	line-height: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.shop-new-items__mob-title--img-banner,
.shop-recommended-items__mob-title--img-banner,
.shop-home-new-blog__mob-title--img-banner {
	background: #295239;
	box-sizing: border-box;
}

.shop-new-items__mob-title-link,
.shop-recommended-items__mob-title-link,
.shop-home-new-blog__mob-title-link {
	display: block;
	line-height: 0;
	width: 100%;
}

.shop-new-items__mob-title-img,
.shop-recommended-items__mob-title-img,
.shop-home-new-blog__mob-title-img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

.shop-new-items__mob-title-bar,
.shop-recommended-items__mob-title-bar,
.shop-home-new-blog__mob-title-bar {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 14px 12px;
	min-height: 48px;
	box-sizing: border-box;
	background: #2d5638;
}

.shop-new-items__mob-title-bar-link,
.shop-new-items__mob-title-bar-text,
.shop-recommended-items__mob-title-bar-link,
.shop-recommended-items__mob-title-bar-text,
.shop-home-new-blog__mob-title-bar-link,
.shop-home-new-blog__mob-title-bar-text {
	font-size: 1.0625rem;
	font-weight: 800;
	color: #fff;
	text-decoration: none;
	letter-spacing: 0.06em;
}

a.shop-new-items__mob-title-bar-link:hover,
a.shop-recommended-items__mob-title-bar-link:hover,
a.shop-home-new-blog__mob-title-bar-link:hover {
	color: #fff;
	text-decoration: underline;
}

@media (max-width: 980px) {
	.shop-new-items__mob-lead,
	.shop-recommended-items__mob-lead,
	.shop-home-new-blog__mob-lead {
		display: block;
		position: relative;
		left: 50%;
		right: 50%;
		width: 100vw;
		max-width: 100vw;
		margin-left: -50vw;
		margin-right: -50vw;
		margin-bottom: 14px;
		padding-left: 0;
		padding-right: 0;
		box-sizing: border-box;
	}

	.shop-new-items__mob-title--img-banner,
	.shop-recommended-items__mob-title--img-banner,
	.shop-home-new-blog__mob-title--img-banner {
		margin-top: 0;
	}

	.shop-new-items__title--desktop,
	.shop-new-items__title-fallback--desktop,
	.shop-recommended-items__title--desktop,
	.shop-recommended-items__title-fallback--desktop,
	.shop-home-new-blog__title--desktop,
	.shop-home-new-blog__title-fallback--desktop {
		display: none !important;
	}
}

@media (min-width: 981px) {
	.shop-new-items__mob-lead,
	.shop-recommended-items__mob-lead,
	.shop-home-new-blog__mob-lead {
		display: none !important;
	}
}

/* 新着商品・おすすめ・新着ブログ：末尾「一覧を見る」（最新情報と同じ見た目） */
.shop-new-items__viewall-footer,
.shop-recommended-items__viewall-footer,
.shop-home-new-blog__viewall-footer {
	margin: 0;
	box-sizing: border-box;
}

.shop-new-items__viewall-footer .shop-home-promo-news__viewall-wrap,
.shop-recommended-items__viewall-footer .shop-home-promo-news__viewall-wrap,
.shop-home-new-blog__viewall-footer .shop-home-promo-news__viewall-wrap {
	display: flex !important;
	justify-content: center;
	padding: 18px 12px 16px;
	box-sizing: border-box;
	background: #fff;
}

/* トップ：新着ブログ記事グリッド（スマホ2列・PCは縦リスト3件） */
.shop-home-new-blog__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 12px;
	margin: 0 0 4px;
	box-sizing: border-box;
}

.shop-home-new-blog__row1 {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.shop-home-new-blog__excerpt {
	display: none;
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 400;
	color: #1a1a1a;
	line-height: 1.55;
}

/* PC：newblog-title.jpg バナー（画像全体がブログ一覧へのリンク） */
.shop-home-new-blog__pc-banner {
	display: none;
	position: relative;
	margin: 0 0 14px;
	width: 100%;
	max-width: 100%;
	line-height: 0;
	box-sizing: border-box;
}

.shop-home-new-blog__pc-banner-img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

.shop-home-new-blog__pc-banner-link {
	display: block;
	line-height: 0;
	text-decoration: none;
	transition: opacity 0.2s ease, filter 0.2s ease;
}

.shop-home-new-blog__pc-banner-link:hover {
	opacity: 0.94;
	filter: brightness(1.03);
}

.shop-home-new-blog__viewall-footer--mob-only {
	box-sizing: border-box;
}

.shop-home-new-blog__item {
	margin: 0;
	min-width: 0;
	box-sizing: border-box;
}

.shop-home-new-blog__item-link {
	display: flex;
	flex-direction: column;
	gap: 8px;
	height: 100%;
	min-height: 100%;
	text-decoration: none;
	color: inherit;
	box-sizing: border-box;
}

.shop-home-new-blog__thumb {
	display: block;
	line-height: 0;
	aspect-ratio: 1 / 1;
	background: #f0ebe3;
	overflow: hidden;
}

.shop-home-new-blog__thumb-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.shop-home-new-blog__meta {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.shop-home-new-blog__date {
	font-size: 0.8125rem;
	font-weight: 600;
	color: #666;
}

.shop-home-new-blog__item-title {
	font-size: 0.9375rem;
	font-weight: 800;
	color: #1a1a1a;
	line-height: 1.4;
}

a.shop-home-new-blog__item-link:hover .shop-home-new-blog__item-title {
	color: #0d3d6e;
	text-decoration: underline;
}

@media (min-width: 981px) {
	.shop-home-new-blog--has-pc-banner .shop-home-new-blog__viewall-footer--mob-only {
		display: none !important;
	}

	.shop-home-new-blog--has-pc-banner .shop-home-new-blog__pc-banner {
		display: block;
	}

	.shop-home-new-blog--has-pc-banner .shop-home-new-blog__grid {
		display: block;
		margin: 0 0 8px;
	}

	.shop-home-new-blog--has-pc-banner .shop-home-new-blog__item:nth-child(n + 4) {
		display: none;
	}

	.shop-home-new-blog--has-pc-banner .shop-home-new-blog__item {
		padding: 14px 0;
		border-bottom: 1px dotted #ccc;
	}

	.shop-home-new-blog--has-pc-banner .shop-home-new-blog__item:first-child {
		padding-top: 4px;
	}

	.shop-home-new-blog--has-pc-banner .shop-home-new-blog__item-link {
		flex-direction: row;
		align-items: flex-start;
		gap: 14px;
		min-height: 0;
		height: auto;
	}

	.shop-home-new-blog--has-pc-banner .shop-home-new-blog__thumb {
		flex: 0 0 110px;
		width: 110px;
		max-width: 110px;
		aspect-ratio: auto;
		max-height: 150px;
		align-self: flex-start;
	}

	.shop-home-new-blog--has-pc-banner .shop-home-new-blog__thumb-img {
		width: 100%;
		height: auto;
		max-height: 150px;
		object-fit: contain;
		object-position: left top;
	}

	.shop-home-new-blog--has-pc-banner .shop-home-new-blog__meta {
		flex: 1 1 auto;
		gap: 8px;
	}

	.shop-home-new-blog--has-pc-banner .shop-home-new-blog__row1 {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 0.45em 0.7em;
	}

	.shop-home-new-blog--has-pc-banner .shop-home-new-blog__date {
		font-size: 0.9375rem;
		font-weight: 700;
		color: #000;
	}

	.shop-home-new-blog--has-pc-banner .shop-home-new-blog__item-title {
		font-size: 0.9375rem;
		font-weight: 700;
		color: #000;
		text-decoration: underline;
	}

	.shop-home-new-blog--has-pc-banner .shop-home-new-blog__excerpt {
		display: block;
		font-size: 0.875rem;
		line-height: 1.55;
	}

	.shop-home-new-blog--has-pc-banner a.shop-home-new-blog__item-link:hover .shop-home-new-blog__item-title {
		color: #0d3d6e;
	}
}

/* トップ（スマホのみ）：新着ブログ直下 — レフトナビと同一リンクのバナー4件 */
.shop-home-mob-sidebar-banners {
	display: none;
	box-sizing: border-box;
}

@media (max-width: 980px) {
	.shop-home-mob-sidebar-banners {
		display: block;
		position: relative;
		left: 50%;
		right: 50%;
		width: 100vw;
		max-width: 100vw;
		margin-left: -50vw;
		margin-right: -50vw;
		margin-bottom: 20px;
		padding: 0;
		box-sizing: border-box;
	}

	.shop-home-mob-sidebar-banners__list {
		margin: 0;
		padding: 0 12px;
		list-style: none;
		box-sizing: border-box;
	}

	.shop-home-mob-sidebar-banners__item {
		margin: 0 0 14px;
		box-sizing: border-box;
	}

	.shop-home-mob-sidebar-banners__item:last-child {
		margin-bottom: 0;
	}

	.shop-home-mob-sidebar-banners__link {
		display: block;
		line-height: 0;
		text-decoration: none;
	}

	.shop-home-mob-sidebar-banners__img {
		display: block;
		width: 100%;
		max-width: 100%;
		height: auto;
		vertical-align: top;
	}

	.shop-home-mob-sidebar-banners__item--isaiah {
		max-width: 70%;
		margin-left: auto;
		margin-right: auto;
		box-sizing: border-box;
	}

	.shop-home-mob-sidebar-banners__isaiah {
		background: #fff;
		box-sizing: border-box;
		text-align: center;
	}

	.shop-home-mob-sidebar-banners__item--isaiah .shop-home-mob-sidebar-banners__link {
		margin-left: auto;
		margin-right: auto;
		max-width: 100%;
	}

	.shop-home-mob-sidebar-banners__item--isaiah .shop-home-mob-sidebar-banners__img {
		width: 100%;
		max-width: 100%;
		height: auto;
		margin-left: auto;
		margin-right: auto;
	}

	.shop-home-mob-sidebar-banners__isaiah-copy {
		margin: 10px 0 12px;
		padding: 0 4px;
		text-align: center;
		font-size: 0.8125rem;
		font-weight: 700;
		line-height: 1.6;
		color: #1a1a1a;
		box-sizing: border-box;
	}

	.shop-home-mob-sidebar-banners__isaiah-cta-wrap {
		margin: 0;
		padding: 0 4px 2px;
		text-align: center;
		box-sizing: border-box;
	}

	.shop-home-mob-sidebar-banners__isaiah-cta {
		display: inline-block;
		min-width: 0;
		max-width: 100%;
		padding: 9px 14px;
		box-sizing: border-box;
		background: #3d6b9e;
		border: 1px solid rgba(0, 0, 0, 0.08);
		border-radius: 4px;
		color: #fff;
		font-size: 0.8125rem;
		font-weight: 800;
		text-decoration: none;
		line-height: 1.3;
	}

	a.shop-home-mob-sidebar-banners__isaiah-cta:hover {
		color: #fff;
		filter: brightness(1.05);
	}
}

@media (min-width: 981px) {
	.shop-home-mob-sidebar-banners {
		display: none !important;
	}
}

/* 商品詳細：バッジ（残りわずか / オススメ / 限定品） */
.product-item-badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin: 0 0 12px;
}

.product-item-badges__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	vertical-align: middle;
}

.product-item-badges__icon img {
	display: block;
	max-height: 36px;
	width: auto;
	height: auto;
}

/* 限定品：limit.gif が無いときも GIF アイコンと同一行・同じ並びに見えるテキストバッジ */
.product-item-badges__icon.product-item-badges__text--limited {
	box-sizing: border-box;
	min-height: 28px;
	padding: 2px 8px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
	background: #1565c0;
	border-radius: 3px;
	letter-spacing: 0.02em;
}

/* 一覧（カテゴリ・検索・おすすめ等）：商品名の上のバッジ */
.product-item-badges--listpage {
	margin: 4px 0 6px;
	gap: 6px 8px;
}

.product-item-badges--listpage .product-item-badges__icon img {
	max-height: 30px;
}

.product-item-badges--listpage .product-item-badges__icon.product-item-badges__text--limited {
	min-height: 26px;
	padding: 2px 6px;
	font-size: 10px;
	max-height: 30px;
}

.shop-category-result {
	margin-top: 14px;
}

.shop-breadcrumb {
	margin: 0 0 10px;
	font-size: 12px;
	color: #666;
}

.shop-breadcrumb a {
	color: #2f6f16;
}

/* 商品検索結果（search.php・見本寄せ） */
.shop-search-result__hero {
	position: relative;
	margin: 0 0 18px;
	padding: 16px 20px 22px;
	border: 5px solid #2d6b1f;
	box-sizing: border-box;
	min-height: 150px;
	/* 見本：オフホワイト〜薄いベージュの布地風（緑系グラデは使わない） */
	background-color: #f3efe6;
	background-image: linear-gradient(180deg, #faf8f3 0%, #ebe4d8 100%);
	background-size: cover;
	background-position: center;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

.shop-search-result--has-titleback .shop-search-result__hero {
	background-color: #f3efe6;
	/* 左は見本と同系色で写真側へフェード（title-back.jpg は等倍のまま下層） */
	background-image:
		linear-gradient(
			90deg,
			rgba(250, 248, 243, 0.98) 0%,
			rgba(245, 241, 232, 0.92) 26%,
			rgba(240, 235, 224, 0.55) 50%,
			rgba(236, 230, 218, 0.18) 72%,
			rgba(236, 230, 218, 0) 90%
		),
		var(--shop-search-hero-bg);
	background-size: 100% 100%, auto;
	background-position: left top, right center;
	background-repeat: no-repeat, no-repeat;
}

.shop-search-result__hero-text {
	position: relative;
	z-index: 1;
	max-width: min(100%, 560px);
}

.shop-search-result__hero-crumb {
	margin: 0 0 10px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.5;
	color: #111;
}

.shop-search-result__hero-crumb a {
	color: #111;
	text-decoration: underline;
}

.shop-search-result__hero-crumb a:hover {
	color: #000;
}

.shop-search-result__hero-sep {
	margin: 0 6px;
	color: #666;
	font-weight: 400;
}

.shop-search-result__hero-crumb-current {
	color: #111;
	font-weight: 700;
}

.shop-search-result__hero-title {
	margin: 0;
	font-size: clamp(22px, 2.1vw, 30px);
	font-weight: 800;
	line-height: 1.35;
	color: #000;
	text-shadow: none;
}

.shop-search-result__tax-note {
	margin: 0 0 10px;
	font-size: 13px;
	color: #444;
	line-height: 1.55;
}

.shop-search-result__context {
	margin: 0 0 14px;
	font-size: 14px;
	font-weight: 700;
	color: #222;
	line-height: 1.55;
}

.shop-search-result__controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 16px;
	margin: 0 0 18px;
	padding: 0 2px;
}

.shop-search-result__controls-links {
	font-size: 14px;
	font-weight: 700;
}

.shop-search-result__controls-links a {
	color: #111;
	text-decoration: underline;
}

.shop-search-result__controls-links a:hover {
	color: #2f6f16;
}

.shop-search-result__controls-sep {
	margin: 0 10px;
	color: #999;
	font-weight: 400;
}

.shop-search-result__controls-form {
	margin: 0;
}

.shop-search-result__per-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	color: #111;
}

.shop-search-result__per-select {
	padding: 5px 10px;
	border: 1px solid #b8b0a2;
	border-radius: 2px;
	background: #fff;
	font-size: 14px;
	font-family: inherit;
	min-width: 5.5em;
}

/* 検索ヒット一覧：見本どおり白背景 */
.shop-listpage--search-hit.shop-search-result__list .listpage-inner {
	background-color: #fff;
}

/* 検索ヒット一覧カード */
.shop-listpage--search-hit .listpage-img__link {
	display: inline-block;
	border: 1px solid #d8d8d8;
	line-height: 0;
	box-sizing: border-box;
}

.shop-listpage--search-hit .listpage-img img {
	display: block;
}

.shop-listpage--search-hit .listpage-name--search-hit a {
	text-decoration: underline;
	font-weight: 700;
	color: #1a1a1a;
}

.listpage-price--search-hit {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 8px;
	margin-top: 2px;
	font-size: 15px;
	font-weight: 400;
	color: #666;
}

.listpage-price--search-hit .listpage-price__amount {
	font-weight: 700;
	color: #555;
}

.listpage-price--search-hit .listpage-price__amount .tax {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
	margin-left: 0;
}

.listpage-price--search-hit .listpage-price__tax {
	font-size: 13px;
	font-weight: 600;
	color: #777;
}

.listpage-stock-msg {
	margin: 6px 0 0;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
	color: #c62828;
}

/* 検索・全商品一覧：件数とページ送りを1行（左／右） */
.shop-listpage-subfooter {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 10px 20px;
	margin: 18px 0 12px;
	padding: 12px 0 0;
	border-top: 1px solid #e2ded8;
}

.shop-listpage-subfooter__count {
	margin: 0;
	padding: 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	color: #111;
}

.shop-listpage-subfooter__pagination {
	margin: 0;
}

.shop-listpage-subfooter__pagination ul.page-numbers,
.shop-listpage-subfooter__pagination ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 4px 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.shop-listpage-subfooter__pagination li {
	display: inline-flex;
	float: none;
	margin: 0;
	padding: 0;
	width: auto;
	border: none;
	background: transparent;
}

.shop-listpage-subfooter__pagination .page-numbers,
.shop-listpage-subfooter__pagination a.page-numbers,
.shop-listpage-subfooter__pagination span.page-numbers {
	display: inline;
	padding: 0 3px;
	margin: 0;
	border: none;
	background: transparent;
	box-shadow: none;
	color: #111;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: underline;
}

.shop-listpage-subfooter__pagination span.page-numbers.current,
.shop-listpage-subfooter__pagination .page-numbers.current {
	font-weight: 800;
	color: #000;
	text-decoration: none;
}

.shop-listpage-subfooter__pagination a.page-numbers:hover {
	background: transparent;
	color: #2f6f16;
	border-color: transparent;
}

.shop-search-result__empty {
	margin: 12px 0;
	padding: 14px;
	border: 1px solid #ddd8cd;
	background: #faf8f4;
	color: #555;
	font-size: 15px;
}

/* 全商品ページ：絞り込み（親カテゴリリンク） */
.shop-catalog-page__filters {
	margin: 0 0 16px;
	padding: 12px 14px;
	border: 1px solid #cfc7bb;
	background: #fff;
	font-size: 14px;
	line-height: 1.65;
	color: #111;
}

.shop-catalog-page__filters-label {
	margin-right: 8px;
	font-weight: 800;
}

.shop-catalog-page__filters-links {
	display: inline;
}

.shop-catalog-page__filter-link {
	display: inline-block;
	margin: 4px 14px 4px 0;
	color: #111;
	font-weight: 700;
	text-decoration: underline;
}

.shop-catalog-page__filter-link:hover {
	color: #2f6f16;
}

.shop-catalog-page__empty {
	margin: 12px 0;
	padding: 14px;
	border: 1px solid #ddd8cd;
	background: #faf8f4;
	color: #555;
	font-size: 15px;
}

.shop-result-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	margin: 0 0 10px;
	border: 1px solid #d8d1c3;
	background: #f8f5ef;
}

.shop-result-toolbar__count {
	margin: 0;
	font-weight: 700;
}

.shop-result-toolbar__form {
	display: flex;
	gap: 10px;
	align-items: center;
}

.shop-result-toolbar__form label {
	display: inline-flex;
	gap: 6px;
	align-items: center;
	font-size: 13px;
}

.shop-result-toolbar__form select {
	padding: 4px 6px;
	border: 1px solid #c6bfaf;
	background: #fff;
}

.item-card-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.item-card {
	border: 1px solid #ddd8cd;
	background: #fff;
}

.item-card__link {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 10px;
	padding: 10px;
	color: #2d2d2d;
}

.item-card__image {
	display: block;
}

.item-card__image img {
	width: 100%;
	height: 100px;
	object-fit: cover;
	display: block;
	background: #f0ece2;
}

.item-card__noimage {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100px;
	background: #f0ece2;
	color: #666;
	font-size: 12px;
	font-weight: 700;
}

.item-card__meta {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.item-card__title {
	font-weight: 700;
	color: #2f2f2f;
}

.item-card__price {
	color: #c14a00;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.3;
}

.item-card__excerpt {
	color: #555;
	font-size: 13px;
	line-height: 1.5;
}

/* 商品詳細 .exp：関連商品ブロック（キャッチ小／価格・詳細リンク大） */
.product-detail .exp .product-detail__related-items__title,
.product-detail .exp .product-detail__related-items .item-card__title {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
}

.product-detail .exp .product-detail__related-items__catchphrase,
.product-detail .exp .product-detail__related-items .item-card__excerpt {
	font-size: 10px;
	line-height: 1.45;
	color: #555;
}

.product-detail .exp .product-detail__related-items__catchphrase font,
.product-detail .exp .product-detail__related-items__catchphrase big {
	font-size: inherit;
}

.product-detail .exp .product-detail__related-items__price,
.product-detail .exp .product-detail__related-items .item-card__price {
	font-size: 21px;
	font-weight: 800;
	line-height: 1.35;
	color: #333;
}

.product-detail .exp .product-detail__related-items__detail-link {
	font-size: 21px;
	font-weight: 700;
	line-height: 1.45;
}

.entry-title {
	margin: 0 0 12px;
	font-size: 34px;
	line-height: 1.3;
}

/* HTTrack .bread 相当のパンくず */
.bread.site-breadcrumb {
	margin: 0 0 12px;
	padding: 8px 10px;
	background: #f8f5ef;
	border: 1px solid #e2d7c4;
	font-size: 13px;
}

.bread .bread-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 6px;
}

.bread .separator {
	color: #888;
}

.bread .current {
	color: #333;
	font-weight: 700;
}

/* 商品詳細：見本（緑枠ヒーロー＋2カラム＋SKU） */
.detailpage--item .detailpage__inner.product-detail__body {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 18px 14px 28px;
	box-sizing: border-box;
}

/* ヒーロー：右に写真を背景配置、左へフェード（円形マスクなし） */
.product-detail__hero {
	position: relative;
	margin: 0 0 20px;
	padding: 18px 20px 24px;
	border: 5px solid #2d6b1f;
	box-sizing: border-box;
	min-height: 158px;
	background-color: #f3efe6;
	background-image: linear-gradient(180deg, #faf8f3 0%, #ebe4d8 100%);
	background-size: cover;
	background-position: center;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

.product-detail__hero--has-bg {
	background-image:
		linear-gradient(
			90deg,
			rgba(250, 248, 243, 0.99) 0%,
			rgba(247, 243, 235, 0.94) 22%,
			rgba(242, 237, 228, 0.75) 44%,
			rgba(238, 232, 220, 0.35) 68%,
			rgba(236, 230, 218, 0.08) 86%,
			rgba(236, 230, 218, 0) 96%
		),
		var(--product-detail-hero-visual);
	background-size: 100% 100%, auto;
	background-position: left top, right center;
	background-repeat: no-repeat, no-repeat;
}

.product-detail__hero-inner {
	display: block;
	position: relative;
	z-index: 1;
	max-width: 1100px;
	margin: 0 auto;
}

.product-detail__hero-text {
	max-width: min(100%, 640px);
}

.product-detail__hero .bread.site-breadcrumb {
	margin: 0 0 10px;
	padding: 0;
	background: transparent;
	border: none;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.5;
	color: #111;
}

.product-detail__hero .bread a {
	color: #111;
	text-decoration: underline;
}

.product-detail__hero .bread a:hover {
	color: #000;
}

.product-detail__hero .bread .separator {
	color: #666;
}

.product-detail__hero .bread .current {
	color: #111;
	font-weight: 700;
}

.product-detail__hero-title {
	margin: 0;
	font-size: clamp(22px, 2.2vw, 32px);
	font-weight: 600;
	line-height: 1.35;
	color: #000;
}

/* 商品詳細ページ内：味噌ページ同型の緑帯大見出し（.hyakushou-guide-main-heading）だけ字重を一段細く */
article.product-detail .hyakushou-guide-main-heading {
	font-weight: 700;
}

/* Welcart 本体（バッジは .exp 内へ PHP 挿入。レイアウトは product-detail-layout.js で組み替え） */
.product-detail__welcart {
	position: relative;
}

.product-detail__badges-in-exp {
	margin: 0 0 12px;
}

.product-detail__badges-in-exp .product-item-badges {
	margin: 0;
}

/* 本文ブロック（長文・画像）：枠内いっぱい */
.product-detail__exp-long {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding-bottom: 6px;
	margin-bottom: 2px;
}

.product-detail__exp-long .product-detail__item-stock {
	margin: 0 0 14px;
	font-size: 15px;
	line-height: 1.65;
	color: #222;
}

.product-detail__item-stock--sold-out,
.product-detail__zaiko-status--sold-out,
.product-detail__zaiko-cell--sold-out,
.product-detail .skuform .zaiko_status,
.product-detail__stock-sold-out {
	color: #c62828;
	font-weight: 700;
}

.product-detail__exp-long .product-detail__item-stock + .product-detail__item-body {
	margin-top: 0;
}

/* 下部：商品画像左・購入情報右（旧サイト：画像レンダリング幅 390px） */
.product-detail__purchase-layout {
	display: grid;
	grid-template-columns: minmax(0, 390px) minmax(0, 1fr);
	gap: 28px 32px;
	align-items: flex-start;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 22px 0 10px;
	border-top: 1px solid #dcd4c7;
	margin-top: 10px;
}

.product-detail__purchase-layout__img {
	min-width: 0;
	width: 100%;
	max-width: 390px;
}

.product-detail__purchase-layout__img .itemimg,
.product-detail__purchase-layout__img > * {
	display: block;
	width: 100%;
	max-width: 100%;
}

/* Welcart の width/sizes 指定を打ち消し（JS でも srcset/sizes を除去） */
.product-detail__purchase-layout__img img:not(.product-detail__itemimg-hk__thumbs img) {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto !important;
	border: none;
	box-sizing: border-box;
}

/* JS: 実寸が表示枠以上なら列幅いっぱい、未満なら拡大しない */
.product-detail__purchase-layout__img img.product-detail__main-img--fill,
.product-detail__itemimg-hk__main-img.product-detail__main-img--fill {
	width: 100%;
	max-width: 100%;
}

.product-detail__purchase-layout__img img.product-detail__main-img--natural,
.product-detail__itemimg-hk__main-img.product-detail__main-img--natural {
	width: auto;
	max-width: 100%;
}

.product-detail__purchase-layout__meta {
	min-width: 0;
	font-size: 15px;
	line-height: 1.65;
	color: #222;
}

/* 右列：商品コード（商品名より上・小さく） */
.product-detail__purchase-layout__meta .product-detail__item-code-above-title,
.product-detail__purchase-layout__meta .itemcode,
.product-detail__purchase-layout__meta .item_code,
.product-detail__purchase-layout__meta .detailpage-code {
	display: block;
	margin: 0 0 6px;
	padding: 0;
	font-size: 13px;
	line-height: 1.45;
	font-weight: 400;
	color: #555;
	background: none !important;
	border: none;
}

.product-detail__purchase-layout__meta .product-detail__item-code-above-title {
	margin: 0 0 4px;
	font-size: 12px;
	color: #666;
}

/* 右列：商品名（背景なし・黒文字。親テーマや Welcart の帯スタイルを打ち消す） */
.product-detail__purchase-layout__meta .product-detail__item-display-title,
.product-detail__purchase-layout__meta .item_name,
.product-detail__purchase-layout__meta h2.product-detail__item-display-title,
.product-detail__purchase-layout__meta h3.product-detail__item-display-title,
.product-detail__purchase-layout__meta h2.entry-title,
.product-detail__purchase-layout__meta h3.entry-title,
.product-detail__purchase-layout__meta .detailpage-title {
	margin: 0 0 8px;
	padding: 0 !important;
	font-size: clamp(1.1rem, 1.85vw, 1.45rem);
	font-weight: 700;
	line-height: 1.35;
	color: #111 !important;
	-webkit-text-fill-color: #111 !important;
	background: none !important;
	background-color: transparent !important;
	background-image: none !important;
	border: none !important;
	box-shadow: none !important;
}

.product-detail__item-catchphrase {
	margin: 0 0 10px;
	font-size: 15px;
	line-height: 1.6;
	color: #333;
}

/* キャッチコピー直後の関連カテゴリ */
.product-detail__purchase-layout__meta .product-detail__item-catchphrase + .detailpage-category,
.product-detail__purchase-layout__meta .product-detail__item-catchphrase + dl {
	margin-top: 4px;
}

.product-detail__itemimg-hk {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.product-detail__itemimg-hk__main {
	width: 100%;
}

.product-detail__itemimg-hk__main-img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	border: none;
	box-sizing: border-box;
}

.product-detail__itemimg-hk__thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 10px;
	margin-top: 12px;
	align-items: center;
}

.product-detail__itemimg-hk__thumb {
	display: block;
	padding: 0;
	margin: 0;
	border: 2px solid transparent;
	border-radius: 4px;
	background: #fff;
	cursor: pointer;
	box-sizing: border-box;
	line-height: 0;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.product-detail__itemimg-hk__thumb:hover,
.product-detail__itemimg-hk__thumb:focus-visible {
	border-color: #8a9b7e;
	outline: none;
	box-shadow: 0 0 0 2px rgba(45, 107, 31, 0.2);
}

.product-detail__itemimg-hk__thumb.is-active {
	border-color: #2d6b1f;
	box-shadow: 0 0 0 1px rgba(45, 107, 31, 0.35);
}

.product-detail__itemimg-hk__thumb img {
	display: block;
	width: 72px;
	height: 72px;
	object-fit: contain;
	box-sizing: border-box;
}

/* 商品画像ライトボックス（メインクリックで拡大・サムネ切替） */
body.product-detail__img-lightbox-open {
	overflow: hidden;
}

.product-detail__img-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	box-sizing: border-box;
}

.product-detail__img-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
	cursor: pointer;
}

.product-detail__img-lightbox__panel {
	position: relative;
	z-index: 1;
	width: min(96vw, 920px);
	max-height: 92vh;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
	box-sizing: border-box;
	padding: 24px 20px 56px;
}

.product-detail__img-lightbox__main {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 200px;
	max-height: calc(92vh - 120px);
}

.product-detail__img-lightbox__main-img {
	max-width: 100%;
	max-height: min(70vh, calc(92vh - 140px));
	width: auto;
	height: auto;
	object-fit: contain;
}

.product-detail__img-lightbox__thumbs {
	position: absolute;
	top: 16px;
	right: 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-height: calc(100% - 88px);
	overflow-y: auto;
}

.product-detail__img-lightbox__thumb {
	padding: 0;
	border: 2px solid transparent;
	background: #fff;
	cursor: pointer;
	border-radius: 4px;
	line-height: 0;
	box-sizing: border-box;
}

.product-detail__img-lightbox__thumb.is-active {
	border-color: #2d6b1f;
}

.product-detail__img-lightbox__thumb img {
	display: block;
	width: 64px;
	height: 64px;
	object-fit: contain;
}

.product-detail__img-lightbox__close {
	position: absolute;
	bottom: 14px;
	right: 18px;
	margin: 0;
	padding: 8px 12px;
	border: none;
	background: transparent;
	color: #333;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	text-decoration: underline;
}

.product-detail__img-lightbox__close:hover {
	color: #000;
}

/* 表ブロック内に Welcart が重複出力する商品画像（.itemimg）を非表示 */
.product-detail__sku-matrix-below .itemimg,
.product-detail__sku-matrix-below .product-detail__itemimg-hk {
	display: none !important;
}

/* 種類が多い商品：表を画像行の下・コンテナ全幅 */
.product-detail__sku-matrix-below {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	margin-top: 20px;
	clear: both;
	overflow-x: auto;
	overflow-y: visible;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
}

/* 広い SKU 表はビューポート内で横スクロール（100% 固定幅だと列の最小幅で押し出され切れる） */
.product-detail__sku-matrix-below > table.skumulti,
.product-detail__sku-matrix-below > table.item_option {
	width: max-content;
	min-width: 100%;
	max-width: none;
	table-layout: auto;
	border-collapse: collapse;
	box-sizing: border-box;
}

.product-detail__sku-matrix-below .skumulti table.item_option {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	table-layout: fixed;
}

.product-detail__sku-matrix-below .item_option,
.product-detail__sku-matrix-below .skumulti {
	border-radius: 6px;
	overflow: visible;
	border: 1px solid #cfc6ba;
	background: #fff;
}

.product-detail__sku-matrix-below th,
.product-detail__sku-matrix-below td {
	padding: 8px;
	border: 1px solid #dcd4c7;
}

/* Welcart skumulti：単位列は JS で削除済み想定。見出し・価格・在庫・数量・カートの配置は全画面幅で共通 */
article.product-detail .skumulti,
.product-detail__sku-matrix-below > table.skumulti {
	font-size: 0.875rem;
}

article.product-detail .skumulti thead th,
.product-detail__sku-matrix-below > table.skumulti thead th {
	text-align: center;
	vertical-align: middle;
}

article.product-detail .skumulti td.skudisp.subborder,
.product-detail__sku-matrix-below > table.skumulti td.skudisp.subborder {
	text-align: center;
	vertical-align: middle;
}

article.product-detail #itempage table.skumulti td.subborder.price,
article.product-detail .skumulti td.subborder.price,
.product-detail__sku-matrix-below > table.skumulti td.subborder.price,
.product-detail .skuform table.skumulti td.subborder.price {
	text-align: center;
	vertical-align: middle;
}

article.product-detail .skumulti td.subborder.price .price,
.product-detail__sku-matrix-below > table.skumulti td.subborder.price .price {
	font-size: 1.1em;
	font-weight: 700;
	color: #f08300;
}

article.product-detail #itempage table.skumulti td.subborder.price .cprice,
article.product-detail .skumulti td.subborder.price .cprice,
.product-detail__sku-matrix-below > table.skumulti td.subborder.price .cprice,
.product-detail .skuform table.skumulti td.subborder.price .cprice {
	font-size: 0.95em;
	color: #555;
}

article.product-detail .skumulti td.zaiko,
article.product-detail .skumulti td.quant,
.product-detail__sku-matrix-below > table.skumulti td.zaiko,
.product-detail__sku-matrix-below > table.skumulti td.quant {
	text-align: center;
	vertical-align: middle;
}

article.product-detail .skumulti td.quant,
article.product-detail .skumulti thead tr:nth-child(2) th:nth-child(2),
.product-detail__sku-matrix-below > table.skumulti td.quant,
.product-detail__sku-matrix-below > table.skumulti thead tr:nth-child(2) th:nth-child(2) {
	width: 3.5rem;
	max-width: 4.25rem;
	min-width: 0;
	box-sizing: border-box;
}

article.product-detail .skumulti td.quant input[type="text"],
article.product-detail .skumulti td.quant input[type="number"],
article.product-detail .skumulti td.quant select,
.product-detail__sku-matrix-below > table.skumulti td.quant input[type="text"],
.product-detail__sku-matrix-below > table.skumulti td.quant input[type="number"],
.product-detail__sku-matrix-below > table.skumulti td.quant select {
	max-width: 100%;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

article.product-detail .skumulti td.button,
.product-detail__sku-matrix-below > table.skumulti td.button {
	text-align: center;
	vertical-align: middle;
	padding: 12px 14px;
	box-sizing: border-box;
}

article.product-detail .skumulti td.button .skubutton,
article.product-detail .skumulti td.button input[type="submit"],
article.product-detail .skumulti td.button input[type="image"],
article.product-detail .skumulti td.button button,
.product-detail__sku-matrix-below > table.skumulti td.button .skubutton,
.product-detail__sku-matrix-below > table.skumulti td.button input[type="submit"],
.product-detail__sku-matrix-below > table.skumulti td.button input[type="image"],
.product-detail__sku-matrix-below > table.skumulti td.button button {
	margin-left: auto;
	margin-right: auto;
	display: inline-block;
	max-width: 100%;
	box-sizing: border-box;
	padding-left: 18px;
	padding-right: 18px;
	padding-top: 10px;
	padding-bottom: 10px;
}

/* 商品詳細：販売価格直下の付与ポイント（Welcart usces_get_point と同値） */
.hyakushou-item-point {
	display: block;
	clear: both;
	margin-top: 10px;
	text-align: left;
	font-size: 0.95em;
	line-height: 1.55;
	color: #333;
}

.hyakushou-item-point__label {
	font-weight: 400;
}

.hyakushou-item-point__value {
	font-weight: 400;
}

article.product-detail #itempage table.skumulti td.subborder.price .hyakushou-item-point,
article.product-detail .skumulti td.subborder.price .hyakushou-item-point,
.product-detail__sku-matrix-below > table.skumulti td.subborder.price .hyakushou-item-point,
.product-detail .skuform table.skumulti td.subborder.price .hyakushou-item-point {
	display: block;
	clear: none;
	margin-top: 0;
	padding-top: 0;
	text-align: center;
	line-height: 1.35;
}

article.product-detail #itempage table.skumulti td.subborder.price > br,
article.product-detail .skumulti td.subborder.price > br,
.product-detail__sku-matrix-below > table.skumulti td.subborder.price > br,
.product-detail .skuform table.skumulti td.subborder.price > br {
	display: none;
}

article.product-detail .exp .field .hyakushou-item-point,
.product-detail .exp .field .hyakushou-item-point,
.product-detail__purchase-layout__meta .field.hyakushou-sku-dropdown__pricing .hyakushou-item-point {
	margin-top: 8px;
}

/* 商品詳細：会員価格（販売価格と同じ field_name + field_price レイアウト・太字） */
.product-detail__purchase-layout__meta .field .field_name.hyakushou-member-price__label,
article.product-detail #itempage .field .field_name.hyakushou-member-price__label {
	text-align: left;
	margin: 0;
	padding: 0;
}

.product-detail__purchase-layout__meta .field .field_price.hyakushou-member-price--injected,
article.product-detail #itempage .field .field_price.hyakushou-member-price--injected {
	font-size: 140%;
	font-weight: 700;
	color: #ED5B14;
	margin: 0;
	padding: 0;
	text-align: right;
	width: auto;
}

/* 複数 SKU 表内：販売価格 .price と同サイズ・レイアウト */
article.product-detail .skumulti td.subborder.price .hyakushou-member-price--skumulti,
.product-detail__sku-matrix-below > table.skumulti td.subborder.price .hyakushou-member-price--skumulti {
	display: block;
	clear: both;
	margin-top: 10px;
	text-align: center;
	font-size: inherit;
	line-height: 1.45;
	color: inherit;
}

article.product-detail .skumulti td.subborder.price .hyakushou-member-price--skumulti .hyakushou-member-price__label,
.product-detail__sku-matrix-below > table.skumulti td.subborder.price .hyakushou-member-price--skumulti .hyakushou-member-price__label {
	font-weight: 700;
	margin-right: 0.25em;
}

article.product-detail .skumulti td.subborder.price .hyakushou-member-price--skumulti .price,
.product-detail__sku-matrix-below > table.skumulti td.subborder.price .hyakushou-member-price--skumulti .price,
.product-detail__sku-matrix-below__stack .hyakushou-member-price--skumulti .price {
	font-size: 1.1em;
	font-weight: 700;
	color: #f08300;
}

.product-detail__sku-matrix-below__stack .field_price.hyakushou-member-price--injected,
.product-detail__sku-matrix-below__stack .field_name.hyakushou-member-price__label {
	font-size: 1.35rem;
	font-weight: 700;
	color: #111;
}

.product-detail__sku-matrix-below__stack .field_price.hyakushou-member-price--injected {
	text-align: left;
}

/* 広幅表あり：表の上に価格＋ポイント（縦並び）、表の下にカートと問い合わせ（縦並び） */
.product-detail__sku-matrix-below__stack {
	margin-bottom: 14px;
	font-size: 15px;
	line-height: 1.65;
	color: #222;
}

.product-detail__sku-matrix-below__stack > * + * {
	margin-top: 8px;
}

.product-detail__sku-matrix-below__price-row {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex-wrap: nowrap;
	gap: 6px 0;
	margin: 0;
}

.product-detail__sku-matrix-below__price-row > * {
	margin-top: 0 !important;
}

.product-detail__sku-matrix-below__stack .itemprice,
.product-detail__sku-matrix-below__stack .price {
	font-size: 1.35rem;
	font-weight: 700;
	color: #111;
}

.product-detail__sku-matrix-below__actions {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: flex-start;
	gap: 10px;
	margin-top: 18px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.product-detail__sku-matrix-below__actions input[type="submit"],
.product-detail__sku-matrix-below__actions input[type="image"],
.product-detail__sku-matrix-below__actions button[type="submit"],
.product-detail__sku-matrix-below__actions .detailpage-mail,
.product-detail__sku-matrix-below__actions > .product-detail__inquiry-fallback {
	align-self: center;
	margin: 0;
}

.product-detail__sku-matrix-below__actions input[type="submit"],
.product-detail__sku-matrix-below__actions input[type="image"],
.product-detail__sku-matrix-below__actions button[type="submit"] {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	height: 48px;
	min-height: 48px;
	max-height: 48px;
	padding: 0 20px;
	box-sizing: border-box;
	border: 1px solid #8b1010;
	background: linear-gradient(180deg, #e53935 0%, #c62828 100%);
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	cursor: pointer;
	border-radius: 2px;
	line-height: 1.2;
	-webkit-appearance: none;
	appearance: none;
}

.product-detail__sku-matrix-below__actions input[type="image"] {
	padding: 0 12px;
}

.product-detail__sku-matrix-below__actions .detailpage-mail {
	width: 100%;
	max-width: 100%;
	height: auto;
	min-height: 0;
	max-height: none;
	padding: 0;
	box-sizing: border-box;
	display: block;
}

.product-detail__sku-matrix-below__actions .detailpage-mail a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	height: 48px;
	min-height: 48px;
	max-height: 48px;
	margin: 0;
	padding: 0 20px;
	border: 1px solid #8b1010;
	background: linear-gradient(180deg, #e53935 0%, #c62828 100%);
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
	border-radius: 2px;
	box-sizing: border-box;
	line-height: 1.2;
}

.product-detail__sku-matrix-below__actions > .product-detail__inquiry-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	height: 48px;
	min-height: 48px;
	max-height: 48px;
	margin: 0;
	padding: 0 20px;
	border: 1px solid #8b1010;
	background: linear-gradient(180deg, #e53935 0%, #c62828 100%);
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
	border-radius: 2px;
	box-sizing: border-box;
	line-height: 1.2;
}

.product-detail__sku-matrix-below__actions > p {
	display: flex;
	align-items: stretch;
	align-self: center;
	margin: 0;
	padding: 0;
	height: 48px;
	min-height: 48px;
	max-height: 48px;
}

.product-detail__sku-matrix-below__actions .detailpage-mail a:hover {
	filter: brightness(1.05);
	color: #fff;
}

.product-detail__sku-matrix-below__actions > .product-detail__inquiry-fallback:hover {
	filter: brightness(1.05);
	color: #fff;
}

.product-detail__sku-matrix-below__actions .detailpage-mail img {
	vertical-align: middle;
	max-height: 22px;
	width: auto;
}

/* 通常 skuform：カート＋問い合わせを縦並び（カート上・問い合わせ下） */
.product-detail__cart-actions {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: flex-start;
	gap: 10px;
	margin-top: 12px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.product-detail__cart-actions > .cart-button,
.product-detail__cart-actions > .hyakushou-sku-dropdown__cart,
.product-detail__cart-actions > .detailpage-mail,
.product-detail__cart-actions > .product-detail__inquiry-fallback,
.product-detail__sku-matrix-below__actions > .detailpage-mail,
.product-detail__sku-matrix-below__actions > .product-detail__inquiry-fallback {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.product-detail__cart-actions .cart-button,
.product-detail__cart-actions .hyakushou-sku-dropdown__cart {
	display: block;
	width: 100%;
	max-width: 100%;
}

.product-detail__cart-actions input[type="submit"],
.product-detail__cart-actions input[type="image"],
.product-detail__cart-actions button[type="submit"],
.product-detail__cart-actions .detailpage-mail,
.product-detail__cart-actions > .product-detail__inquiry-fallback {
	align-self: center;
	margin: 0;
}

.product-detail__cart-actions input[type="submit"],
.product-detail__cart-actions input[type="image"],
.product-detail__cart-actions button[type="submit"] {
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	height: 48px;
	min-height: 48px;
	max-height: 48px;
	padding: 0 20px;
	box-sizing: border-box;
	border: 1px solid #8b1010;
	background: linear-gradient(180deg, #e53935 0%, #c62828 100%);
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	cursor: pointer;
	border-radius: 2px;
	line-height: 1.2;
	-webkit-appearance: none;
	appearance: none;
}

.product-detail__cart-actions input[type="image"] {
	padding: 0 12px;
}

.product-detail__cart-actions .detailpage-mail {
	margin: 0;
	width: 100%;
	max-width: 100%;
	height: auto;
	min-height: 0;
	max-height: none;
	padding: 0;
	box-sizing: border-box;
	display: block;
}

.product-detail__cart-actions .detailpage-mail a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	height: 48px;
	min-height: 48px;
	max-height: 48px;
	margin: 0;
	padding: 0 20px;
	border: 1px solid #8b1010;
	background: linear-gradient(180deg, #e53935 0%, #c62828 100%);
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
	border-radius: 2px;
	box-sizing: border-box;
	line-height: 1.2;
}

.product-detail__cart-actions > .product-detail__inquiry-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	height: 48px;
	min-height: 48px;
	max-height: 48px;
	margin: 0;
	padding: 0 20px;
	border: 1px solid #8b1010;
	background: linear-gradient(180deg, #e53935 0%, #c62828 100%);
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
	border-radius: 2px;
	box-sizing: border-box;
	line-height: 1.2;
}

.product-detail__cart-actions > p {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	align-self: stretch;
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: 100%;
	height: auto;
	min-height: 0;
	max-height: none;
	gap: 10px;
}

.product-detail__cart-actions .detailpage-mail a:hover,
.product-detail__cart-actions > .product-detail__inquiry-fallback:hover {
	filter: brightness(1.05);
	color: #fff;
}

.product-detail__cart-actions .detailpage-mail img {
	vertical-align: middle;
	max-height: 22px;
	width: auto;
}

/* PC：カート・問い合わせは縦並び（全幅） */
@media (min-width: 981px) {
	.product-detail__cart-actions,
	.product-detail__sku-matrix-below__actions {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		width: 100%;
		max-width: 100%;
		gap: 10px;
		box-sizing: border-box;
	}

	.product-detail__cart-actions > *,
	.product-detail__sku-matrix-below__actions > * {
		flex: 0 0 auto;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		align-self: stretch;
	}

	.product-detail__cart-actions > p,
	.product-detail__sku-matrix-below__actions > p {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		align-self: stretch;
		gap: 10px;
		margin: 0;
		padding: 0;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		height: auto;
		min-height: 0;
		max-height: none;
	}

	.product-detail__cart-actions input[type="submit"],
	.product-detail__cart-actions input[type="image"],
	.product-detail__cart-actions button[type="submit"],
	.product-detail__sku-matrix-below__actions input[type="submit"],
	.product-detail__sku-matrix-below__actions input[type="image"],
	.product-detail__sku-matrix-below__actions button[type="submit"] {
		width: 100%;
		max-width: 100%;
		height: 48px;
		min-height: 48px;
		max-height: 48px;
		padding-left: 10px;
		padding-right: 10px;
		font-size: 12px;
		line-height: 1.25;
		text-align: center;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		white-space: nowrap;
		box-sizing: border-box;
	}

	.product-detail__cart-actions .detailpage-mail,
	.product-detail__sku-matrix-below__actions .detailpage-mail {
		width: 100%;
		max-width: 100%;
		height: auto;
		min-height: 0;
		max-height: none;
		padding: 0;
	}

	.product-detail__cart-actions .detailpage-mail a,
	.product-detail__sku-matrix-below__actions .detailpage-mail a,
	.product-detail__cart-actions > .product-detail__inquiry-fallback,
	.product-detail__sku-matrix-below__actions > .product-detail__inquiry-fallback {
		width: 100%;
		height: 48px;
		min-height: 48px;
		max-height: 48px;
		padding-left: 10px;
		padding-right: 10px;
		font-size: 18px;
		line-height: 1.25;
		text-align: center;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		white-space: nowrap;
		box-sizing: border-box;
	}
}

.product-detail__purchase-layout__meta > * + * {
	margin-top: 12px;
}

/* レイアウト JS 適用後のみ form 直下の .itemimg を隠す（未適用時は Welcart 既定表示を維持） */
.detailpage--item #itempage > form:has(.product-detail__purchase-layout) > .itemimg {
	display: none !important;
}

.product-detail__purchase-layout__img .itemimg {
	display: block !important;
}

@media (max-width: 640px) {
	.product-detail__purchase-layout {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	/* Welcart SKU 表：狭い画面でも横スクロールで全体を確認しやすいよう余白・字を詰める */
	.product-detail__sku-matrix-below th,
	.product-detail__sku-matrix-below td {
		padding: 6px 4px;
		font-size: 12px;
	}

	.product-detail .skuform .item_option th,
	.product-detail .skuform .item_option td,
	.product-detail .skuform .skumulti th,
	.product-detail .skuform .skumulti td {
		padding: 6px 4px;
		font-size: 12px;
	}

	.product-detail__sku-matrix-below .skumulti input[type="text"],
	.product-detail__sku-matrix-below .skumulti input[type="number"],
	.product-detail .skuform .skumulti input[type="text"],
	.product-detail .skuform .skumulti input[type="number"] {
		max-width: 3.75rem;
		box-sizing: border-box;
	}

	.product-detail__sku-matrix-below td .skubutton,
	.product-detail .skuform td .skubutton,
	.product-detail__sku-matrix-below .skumulti input[type="submit"],
	.product-detail .skuform .skumulti input[type="submit"] {
		font-size: 12px;
		padding-left: 8px;
		padding-right: 8px;
		white-space: normal;
		line-height: 1.25;
		max-width: 100%;
		box-sizing: border-box;
	}
}

/* 商品詳細スマホ：本文左右をヘッダー検索帯（.site-content の 10px）に揃える／カート・問い合わせの字サイズ統一／お客様の声〜フッター間の余白を詰める */
@media (max-width: 980px) {
	#primary.site-main.usces-item-single,
	#primary.site-main:has(article.detailpage--item) {
		padding-left: 0;
		padding-right: 0;
	}

	.detailpage--item .detailpage__inner.product-detail__body {
		padding-left: 0;
		padding-right: 0;
		padding-bottom: 0;
	}

	/* 見出し帯内：パンくず・タイトルが端に付かないよう余白 */
	.product-detail__hero {
		padding: 16px 14px 20px;
	}

	.product-detail__sku-matrix-below__actions,
	.product-detail__cart-actions {
		justify-content: center;
	}

	/* お客様の声の下に続くサイドバー（かご・検索・バナー等）を出さず、フッターへ直結 */
	.site-content__inner:has(article.detailpage--item) .site-sidebar {
		display: none !important;
	}

	.product-detail__sku-matrix-below__actions input[type="submit"],
	.product-detail__sku-matrix-below__actions input[type="image"],
	.product-detail__sku-matrix-below__actions button[type="submit"],
	.product-detail__cart-actions input[type="submit"],
	.product-detail__cart-actions input[type="image"],
	.product-detail__cart-actions button[type="submit"] {
		font-size: 16px;
		line-height: 1.25;
	}

	.product-detail__sku-matrix-below__actions .detailpage-mail a,
	.product-detail__sku-matrix-below__actions > .product-detail__inquiry-fallback,
	.product-detail__cart-actions .detailpage-mail a,
	.product-detail__cart-actions > .product-detail__inquiry-fallback {
		font-size: 18px;
		line-height: 1.25;
	}

	.product-detail__customer-voices__threads {
		padding-bottom: 0;
	}

	.product-detail__customer-voices__comment-list {
		margin-bottom: 0;
	}

	.product-detail__customer-voices__toolbar {
		padding-bottom: 8px;
	}

	.product-detail__customer-voices__closed {
		margin-bottom: 0;
	}

	.product-detail__customer-voices__login-box {
		margin-bottom: 0;
	}

	article.product-detail #comments.product-detail__customer-voices #respond,
	article.product-detail #comments.product-detail__customer-voices .comment-respond {
		margin-bottom: 0;
		padding-bottom: 0;
	}

	.product-detail__customer-voices__form {
		margin-bottom: 0;
		padding-bottom: 0;
	}

	.product-detail__customer-voices__form .form-submit {
		margin-bottom: 0;
	}

	/* お気に入りボタン・レビュー投稿フォーム（スマホ字サイズ） */
	article.product-detail .hyakushou-item-favorite {
		text-align: center;
		margin-top: 12px;
	}

	article.product-detail .hyakushou-item-favorite__form {
		display: flex;
		justify-content: center;
	}

	article.product-detail .hyakushou-item-favorite__btn {
		font-size: 1.125rem;
	}

	.product-detail__customer-voices__form .comment-form-hyakushou-rating select {
		font-size: 1rem;
	}

	.product-detail__customer-voices__form input[type="submit"] {
		font-size: 1.125rem;
	}

	/* お客様の声の下〜フッターまで .site-content の下余白をなくす */
	body:has(article.detailpage--item) .site-content {
		padding-bottom: 0;
	}
}

/* 商品詳細：関連商品・お客様の声（枠線なし。大見出しは味噌づくり教室ページと同型 .hyakushou-guide-main-heading） */
.product-detail__also-bought,
.product-detail__customer-voices {
	max-width: 100%;
	box-sizing: border-box;
	border: none;
	background: transparent;
	overflow: visible;
}

.product-detail__also-bought {
	margin-top: 32px;
	margin-bottom: 0;
}

.product-detail__customer-voices {
	margin-top: 40px;
}

.product-detail__also-bought__body {
	padding: 24px 0 8px;
	background: transparent;
	box-sizing: border-box;
}

.product-detail__also-bought__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: clamp(14px, 2.2vw, 26px);
	row-gap: 22px;
	list-style: none;
	margin: 0 auto;
	padding: 0;
	width: min(100%, 56rem);
	box-sizing: border-box;
}

.product-detail__also-bought__item {
	min-width: 0;
	width: 100%;
}

@media (max-width: 980px) {
	.product-detail__also-bought__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: min(100%, 32rem);
	}
}

@media (max-width: 520px) {
	.product-detail__also-bought__list {
		grid-template-columns: minmax(0, 1fr);
		width: min(100%, 20rem);
	}
}

.product-detail__also-bought__item-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	text-align: center;
}

.product-detail__also-bought__thumb-link {
	display: block;
	max-width: 100%;
}

.product-detail__also-bought__thumb {
	display: block;
	max-width: 100%;
}

.product-detail__also-bought__thumb :is(img, span) {
	display: block;
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
}

.product-detail__also-bought__thumb img {
	border: 1px solid #d8d4ce;
}

.product-detail__also-bought__title {
	margin: 10px 0 6px;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
}

.product-detail__also-bought__title a {
	color: #1a1a1a;
	text-decoration: underline;
}

.product-detail__also-bought__title a:hover,
.product-detail__also-bought__title a:focus-visible {
	color: #3d5c26;
}

.product-detail__also-bought__price {
	font-size: 13px;
	color: #666;
	line-height: 1.45;
}

.product-detail__also-bought__price-tax {
	margin-inline-start: 4px;
	white-space: nowrap;
}

.product-detail__customer-voices__toolbar {
	padding: 18px 0 12px;
	background: transparent;
	box-sizing: border-box;
}

.product-detail__customer-voices__topline {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
}

.product-detail__customer-voices__intro {
	margin: 0;
	flex: 1 1 auto;
	min-width: min(100%, 200px);
	font-size: 15px;
	line-height: 1.6;
	color: #111;
}

.product-detail__customer-voices__guest-hint {
	margin: 12px 0 0;
	font-size: 13px;
	line-height: 1.55;
	color: #666;
}

.product-detail__customer-voices__actions {
	display: flex;
	justify-content: flex-end;
	flex: 0 0 auto;
	margin: 0;
}

.product-detail__customer-voices__write-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 20px;
	border: 1px solid #7a1414;
	background: #d11f1f;
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
	border-radius: 0;
	box-sizing: border-box;
	white-space: nowrap;
}

.product-detail__customer-voices__write-btn:hover,
.product-detail__customer-voices__write-btn:focus-visible {
	filter: brightness(1.06);
	color: #fff !important;
	outline: none;
}

@media (max-width: 640px) {
	.product-detail__customer-voices__topline {
		flex-direction: column;
		align-items: stretch;
	}

	.product-detail__customer-voices__actions {
		justify-content: flex-start;
	}
}

.product-detail__customer-voices__threads {
	padding: 0 0 22px;
	background: transparent;
	box-sizing: border-box;
}

.product-detail__customer-voices__comment-list {
	margin: 10px 0 16px;
	padding: 4px 0 0;
	list-style: none;
	border-top: none;
}

.hyakushou-item-review-pending-notice {
	margin: 0 0 16px;
	padding: 12px 14px;
	font-size: 14px;
	line-height: 1.65;
	color: #c62828;
	background: #fff8f8;
	border: 1px solid #f0c4c4;
	box-sizing: border-box;
}

.hyakushou-item-review {
	margin: 0;
	padding: 18px 0;
	border-bottom: 1px solid #ececec;
	list-style: none;
}

.hyakushou-item-review__body {
	font-size: 14px;
	line-height: 1.7;
	color: #222;
}

.hyakushou-item-review__title {
	margin: 0 0 8px;
	padding: 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	color: #111;
}

.hyakushou-item-review__meta {
	margin: 0 0 10px;
	padding: 0;
	font-size: 13px;
	line-height: 1.6;
	color: #333;
}

.hyakushou-item-review__author {
	font-weight: 400;
}

.hyakushou-item-review__stars {
	color: #c62828;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.hyakushou-item-review__content {
	margin: 0;
	padding: 0;
	font-size: 14px;
	line-height: 1.75;
	color: #222;
}

.hyakushou-item-review__content p {
	margin: 0 0 0.75em;
}

.hyakushou-item-review__content p:last-child {
	margin-bottom: 0;
}

.hyakushou-item-review-form-note {
	margin: 0.75rem 0 0;
	font-size: 13px;
	line-height: 1.6;
	color: #555;
}

.product-detail__customer-voices__form .comment-form-hyakushou-title input,
.product-detail__customer-voices__form .comment-form-hyakushou-rating select {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.product-detail__customer-voices__comment-list .comment {
	margin: 0;
	padding: 16px 0;
	border-bottom: 1px solid #ececec;
	list-style: none;
}

.product-detail__customer-voices__comment-list .children {
	margin: 10px 0 0;
	padding-left: 20px;
	list-style: none;
	border-left: 2px solid #d8e5cf;
}

.product-detail__customer-voices__comment-list .comment-body {
	display: flow-root;
	font-size: 14px;
	line-height: 1.65;
	color: #222;
}

.product-detail__customer-voices__comment-list .comment-content > p:first-of-type {
	margin: 0 0 8px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	color: #111;
}

.product-detail__customer-voices__comment-list .comment-author .fn {
	font-weight: 700;
	font-style: normal;
	color: #111;
}

.product-detail__customer-voices__comment-list .comment-meta {
	margin: 0 0 8px;
	font-size: 13px;
	color: #666;
	white-space: normal;
}

.product-detail__customer-voices__comment-list .reply {
	margin-top: 8px;
}

.product-detail__customer-voices__comment-list .comment-reply-link {
	font-size: 13px;
	font-weight: 600;
	color: #2d6b1f;
	text-decoration: underline;
}

.product-detail__customer-voices__closed {
	margin: 0 0 12px;
	padding: 10px 0;
	font-size: 14px;
	color: #555;
}

.product-detail__customer-voices__login-box {
	margin: 18px 0 0;
	padding: 14px 16px;
	background: #fcf8e3;
	border: 1px solid #e8dfc4;
	border-radius: 8px;
	box-sizing: border-box;
}

.product-detail__customer-voices__login-notice {
	margin: 0;
	padding: 0;
	font-size: 14px;
	line-height: 1.65;
	color: #333;
}

.product-detail__customer-voices__login-notice a {
	color: #0645ad;
	text-decoration: underline;
}

.product-detail__customer-voices__login-notice a:hover,
.product-detail__customer-voices__login-notice a:focus-visible {
	color: #052080;
}

.product-detail__customer-voices__form {
	margin-top: 8px;
	padding-top: 16px;
	border-top: 1px solid #e8e4dc;
}

.product-detail__customer-voices__form .comment-reply-title {
	margin: 0 0 12px;
	font-size: 1rem;
	font-weight: 700;
	color: #111;
}

.product-detail__customer-voices__form .comment-notes,
.product-detail__customer-voices__form .logged-in-as {
	margin: 0 0 12px;
	font-size: 13px;
	color: #555;
}

.product-detail__customer-voices__form .comment-form-author,
.product-detail__customer-voices__form .comment-form-email,
.product-detail__customer-voices__form .comment-form-comment {
	margin: 0 0 12px;
}

.product-detail__customer-voices__form label {
	display: block;
	margin-bottom: 4px;
	font-size: 14px;
	font-weight: 600;
	color: #222;
}

.product-detail__customer-voices__form input[type="text"],
.product-detail__customer-voices__form input[type="email"],
.product-detail__customer-voices__form textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 8px 10px;
	border: 1px solid #c9c2b6;
	border-radius: 2px;
	font-size: 15px;
}

.product-detail__customer-voices__form textarea {
	min-height: 140px;
	resize: vertical;
}

.product-detail__customer-voices__form .form-submit {
	margin: 16px 0 0;
}

.product-detail__customer-voices__form input[type="submit"] {
	padding: 10px 22px;
	border: 1px solid #8b1010;
	background: linear-gradient(180deg, #e53935 0%, #c62828 100%);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
	border-radius: 2px;
}

.product-detail__customer-voices__form #cancel-comment-reply-link {
	margin-left: 12px;
	font-size: 13px;
	font-weight: 600;
	color: #555;
}

.product-detail__customer-voices--password .product-detail__customer-voices__password-box {
	padding: 20px 0 24px;
}

.product-detail__customer-voices .comments-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin: 12px 0 0;
	padding: 0;
	font-size: 14px;
}

/* コメント欄（Welcart / WP いずれも想定・レガシー用） */
article.product-detail .detailpage-comment,
article.product-detail #comments {
	margin-top: 28px;
	max-width: 100%;
	box-sizing: border-box;
}

article.product-detail .detailpage-comment > h2,
article.product-detail #comments:not(.product-detail__customer-voices) > .comments-title,
article.product-detail #comments:not(.product-detail__customer-voices) > h2:first-of-type,
article.product-detail #respond .comment-reply-title {
	margin: 0 0 12px;
	padding: 12px 16px;
	background: linear-gradient(180deg, #2d6b1f 0%, #245c1a 100%);
	color: #fff;
	font-size: 1.05rem;
	font-weight: 700;
	border: none;
}

article.product-detail #comments .comment-respond,
article.product-detail #respond {
	margin-top: 12px;
}

article.product-detail #comments input[type="submit"],
article.product-detail #respond input[type="submit"] {
	padding: 10px 18px;
	border: 1px solid #8b1010;
	background: linear-gradient(180deg, #e53935 0%, #c62828 100%);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
	border-radius: 2px;
}

/* 商品詳細：横はみ出し防止（カート表は .skuform / .product-detail__sku-matrix-below で横スクロール） */
.usces-item-single.site-main,
article.product-detail.detailpage--item {
	overflow-x: hidden;
	max-width: 100%;
	min-width: 0;
}

.product-detail__welcart,
.product-detail #itempage {
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.detailpage--item #itempage > form {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 20px;
	min-width: 0;
}

.product-detail__exp-long .exp {
	float: none;
	overflow-x: auto;
	overflow-y: visible;
	overflow-wrap: anywhere;
	word-break: break-word;
	flex: none;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	font-size: 15px;
	line-height: 1.65;
	color: #222;
}

.product-detail__item-body {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.product-detail__item-body > *:first-child {
	margin-top: 0;
}

.product-detail .exp a {
	color: #2f6f16;
	text-decoration: underline;
}

.product-detail .exp a:hover {
	color: #1a4a0d;
}

.product-detail .exp img,
.product-detail .exp video,
.product-detail .exp iframe {
	max-width: 100%;
	height: auto;
}

.product-detail .exp table {
	width: 100%;
	max-width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	box-sizing: border-box;
}

.product-detail .exp th,
.product-detail .exp td {
	word-break: break-word;
	overflow-wrap: anywhere;
}

.product-detail .exp pre {
	max-width: 100%;
	overflow-x: auto;
	box-sizing: border-box;
}

/* 価格・商品コード周りを強調 */
.product-detail .exp .itemprice,
.product-detail .exp .price {
	font-size: 1.35rem;
	font-weight: 700;
	color: #111;
}

.product-detail .exp .itemcode,
.product-detail .exp .item_code {
	font-size: 13px;
	color: #555;
	margin-bottom: 6px;
}

.product-detail__purchase-layout__meta .skuform {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin-top: 0;
}

/*
 * Welcart の form 直下 h3（商品名）は JS で .product-detail__purchase-layout__meta へ移す。
 * 移動前の一瞬だけ重複を抑える場合は下記を有効化してもよいが、移動後はセレクタに合わない。
 */

.product-detail #itempage {
	display: block;
}

.product-detail .itemimg {
	float: none;
	margin: 0;
}

.product-detail .exp {
	overflow-x: auto;
	overflow-y: visible;
}

.product-detail .skuform {
	clear: both;
	margin-top: 18px;
	padding: 0;
	border: none;
	border-top: none;
	background: transparent;
	overflow-x: auto;
	overflow-y: visible;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

/* WCEX SKU Select：カラー・サイズ等をプルダウンで選択（旧サイト準拠） */
.product-detail .skuform.product-detail__sku-select {
	overflow: visible;
	text-align: left;
}

.product-detail .skuform.product-detail__sku-select .hyakushou-sku-dropdown__selectors {
	text-align: left;
}

.product-detail .skuform.product-detail__sku-select .item-sku {
	margin: 12px 0 16px;
}

.product-detail .skuform.product-detail__sku-select dl.item-sku {
	margin: 0 0 14px;
	padding: 0;
	border: none;
	text-align: left;
}

.product-detail .skuform.product-detail__sku-select dl.item-sku dt {
	display: block;
	margin: 0 0 6px;
	font-weight: 700;
	font-size: 14px;
	color: #333;
	text-align: left;
}

.product-detail .skuform.product-detail__sku-select dl.item-sku dd {
	margin: 0 0 10px;
	text-align: left;
}

.product-detail .skuform.product-detail__sku-select select,
.product-detail .skuform.product-detail__sku-select .iopt_select {
	min-width: min(100%, 280px);
	max-width: 100%;
	padding: 8px 10px;
	font-size: 14px;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #fff;
	box-sizing: border-box;
}

@media (max-width: 640px) {
	.product-detail .skuform.product-detail__sku-select select,
	.product-detail .skuform.product-detail__sku-select .iopt_select {
		display: block;
		width: 100%;
		min-width: 0;
		margin-left: 0;
		margin-right: auto;
	}
}

.product-detail .skuform.product-detail__sku-select .c-box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	margin-top: 12px;
}

.product-detail .skuform.product-detail__sku-select .c-box .quantity {
	font-size: 14px;
	color: #333;
}

.product-detail .skuform.product-detail__sku-select .c-box .unit {
	font-size: 13px;
	color: #666;
}

.product-detail .skuform.product-detail__sku-select .itemsoldout {
	margin: 10px 0 0;
	font-size: 14px;
	font-weight: 700;
	color: #c62828;
}

.product-detail .skuform.product-detail__sku-select .hyakushou-sku-dropdown__radio {
	display: inline-block;
	margin: 0 12px 6px 0;
	font-size: 14px;
}

.product-detail .skuform.product-detail__sku-select .hyakushou-sku-dropdown__radio input {
	margin-right: 4px;
}

.product-detail .skuform.product-detail__sku-select .wcss_loading {
	min-height: 0;
}

.product-detail__sku-select-missing {
	margin: 12px 0;
	padding: 12px 14px;
	border: 1px solid #e0b4b4;
	background: #fff5f5;
	color: #8a1f1f;
	font-size: 14px;
	line-height: 1.5;
}

.product-detail .skuform > table.skumulti,
.product-detail .skuform > table.item_option {
	width: max-content;
	min-width: 100%;
	max-width: none;
	table-layout: auto;
}

.product-detail .skuform .item_option,
.product-detail .skuform .skumulti {
	border-radius: 6px;
	overflow: visible;
	border: 1px solid #cfc6ba;
	background: #fff;
}

.product-detail .skuform .item_option th,
.product-detail .skuform .skumulti th {
	background: #eae6dd;
	font-size: 13px;
	font-weight: 700;
}

.product-detail .skuform .item_option td,
.product-detail .skuform .skumulti td {
	vertical-align: middle;
	font-size: 14px;
}

.product-detail .skuform .item_option tr:nth-child(even) td,
.product-detail .skuform .skumulti tr:nth-child(even) td {
	background: #fcfcfa;
}

.product-detail .skuform input[type="text"],
.product-detail .skuform input[type="number"],
.product-detail .skuform select {
	max-width: 100%;
	box-sizing: border-box;
}

.product-detail .skuform .skubutton,
.product-detail .skuform td .skubutton {
	margin: 4px 2px;
}

.product-detail .skuform p {
	max-width: 100%;
	box-sizing: border-box;
}

.product-detail .item_option,
.product-detail .skumulti {
	border-collapse: collapse;
}

.usces-cart-page .entry-content table {
	width: 100%;
	border-collapse: collapse;
}

.product-detail th,
.product-detail td {
	padding: 8px;
	border: 1px solid #dcd4c7;
}

.usces-cart-page th,
.usces-cart-page td {
	padding: 8px;
	border: 1px solid #eeeeee;
}

/* Welcart 既定 #cart の罫線色より優先してカート内を #eeeeee に統一 */
.usces-cart-page #cart th,
.usces-cart-page #cart td {
	border: 1px solid #eeeeee;
}

.usces-cart-page #cart th {
	background-color: #eeeeee;
	color: #000;
	font-weight: 400;
}

/* 商品ページの購入ボタン（見本：赤系） */
.product-detail .skubutton,
.product-detail #itempage input[type="submit"] {
	padding: 10px 20px;
	border: 1px solid #8b1010;
	background: linear-gradient(180deg, #e53935 0%, #c62828 100%);
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	cursor: pointer;
	border-radius: 2px;
}

.product-detail .skubutton:hover,
.product-detail #itempage input[type="submit"]:hover {
	filter: brightness(1.05);
}

.usces-cart-page input[type="submit"] {
	padding: 8px 14px;
	border: 1px solid #b76500;
	background: linear-gradient(180deg, #ffbf38 0%, #f39a10 100%);
	color: #1f1f1f;
	font-weight: 700;
	cursor: pointer;
}

/* 注意書き（Welcart .exp 内の注） */
.product-detail .exp font[color="red"],
.product-detail .exp span[style*="color: rgb(255, 0, 0)"],
.product-detail .exp span[style*="color:red"] {
	color: #c62828 !important;
}

.usces-cart-page .entry-content table th {
	background: #eeeeee;
}

/* Welcart カート表：グレー #eeeeee／文字は黒／薄い罫線、字は本文より二段小さめ（0.8125rem） */
.usces-cart-page #cart_table {
	font-size: 0.8125rem;
	color: #000;
}

.usces-cart-page #cart_table th,
.usces-cart-page #cart_table td {
	border-color: #eeeeee;
	color: #000;
	font-weight: 400;
}

.usces-cart-page #cart_table a {
	color: #000;
}

.usces-cart-page #cart_table th.productname,
.usces-cart-page #cart_table td.productname {
	font-weight: 700;
}

/* 在庫状態列を非表示（レイアウトからも除外） */
.usces-cart-page #cart_table thead th.stock,
.usces-cart-page #cart_table tbody td.stock,
.usces-cart-page #cart_table tfoot th.stock {
	display: none;
}

/* 合計・今回加算ポイントの数値セルは右揃え（ラベル列は左） */
.usces-cart-page #cart_table tfoot th[scope="row"] {
	text-align: left;
}

.usces-cart-page #cart_table tfoot th.subtotal,
.usces-cart-page #cart_table .hyakushou-cart-getpoint-row__val {
	text-align: right;
}

.usces-cart-page #cart_table thead th {
	background: #eeeeee;
}

.usces-cart-page #cart_table tbody td,
.usces-cart-page #cart_table tbody th {
	background: #ffffff;
}

.usces-cart-page #cart_table tfoot th {
	background: #eeeeee;
}

.usces-cart-page #cart_table tfoot th.subtotal {
	background: #ffffff;
}

/* 商品合計・今回加算ポイント行のフォント1段階アップ（0.8125rem → 0.875rem） */
.usces-cart-page #cart_table tfoot tr:first-child th,
.usces-cart-page #cart_table tfoot tr.hyakushou-cart-getpoint-row th {
	font-size: 0.875rem;
}

/* 内容確認：総合計金額行のフォント1段階アップ */
.usces-cart-page #cart_table tfoot tr.total_full_price th {
	font-size: 0.875rem;
}

/* 内容確認：カート表直下のポイント概要（2列） */
.usces-cart-page .hyakushou-confirm-points-summary-wrap {
	margin-top: 16px;
	margin-bottom: 8px;
	max-width: 100%;
	box-sizing: border-box;
}

.usces-cart-page .hyakushou-confirm-points-summary {
	width: 100%;
	max-width: 28rem;
	border-collapse: collapse;
	font-size: 0.875rem;
	line-height: 1.5;
	color: #222;
	border: 1px solid #dddddd;
}

.usces-cart-page .hyakushou-confirm-points-summary th,
.usces-cart-page .hyakushou-confirm-points-summary td {
	padding: 10px 14px;
	text-align: left;
	vertical-align: middle;
	border: 1px solid #dddddd;
	box-sizing: border-box;
}

.usces-cart-page .hyakushou-confirm-points-summary th {
	width: 55%;
	font-weight: 600;
	background: #f0f0f0;
}

.usces-cart-page .hyakushou-confirm-points-summary td {
	background: #fff;
	font-weight: 400;
}

.usces-cart-page .hyakushou-confirm-points-summary__used {
	color: #c62828;
}

.usces-cart-page .hyakushou-confirm-points-summary__earn {
	font-weight: 600;
}

/* Welcart お客様情報：会員／非会員の見出し（帯：深緑＋下線は白1px＋緑3px） */
.usces-cart-page #customer-info > h5 {
	box-sizing: border-box;
	width: 100%;
	margin: 1.25rem 0 0;
	padding: 13px 18px 14px;
	min-height: 48px;
	display: flex;
	align-items: center;
	background-color: #43752c;
	background-image: linear-gradient(
		to bottom,
		#43752c 0%,
		#43752c calc(100% - 4px),
		#ffffff calc(100% - 4px),
		#ffffff calc(100% - 3px),
		#43752c calc(100% - 3px)
	);
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
}

.usces-cart-page #customer-info > h5:first-of-type {
	margin-top: 0.75rem;
}

/* 配送先：お客様情報と同じ／別の配送先を指定する（ラジオのラベルのみ一段大きく） */
.usces-cart-page #delivery-info label[for="delivery_flag1"],
.usces-cart-page #delivery-info label[for="delivery_flag2"] {
	font-size: 1.125em;
}

/* Welcart カート：見出し帯（title-back のみ）。テーマの重複見出しを隠し、帯をステップナビより上に表示 */
body.hyakushou-cart-has-title-banner .usces-cart-page .entry-header {
	display: none;
}

body.hyakushou-cart-has-title-banner .usces-cart-page #inside-cart,
body.hyakushou-cart-has-title-banner .usces-cart-page #customer-info,
body.hyakushou-cart-has-title-banner .usces-cart-page #delivery-info,
body.hyakushou-cart-has-title-banner .usces-cart-page #info-confirm {
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

body.hyakushou-cart-has-title-banner .usces-cart-page #inside-cart .header_explanation,
body.hyakushou-cart-has-title-banner .usces-cart-page #customer-info .header_explanation,
body.hyakushou-cart-has-title-banner .usces-cart-page #delivery-info .header_explanation,
body.hyakushou-cart-has-title-banner .usces-cart-page #info-confirm .header_explanation {
	order: -1;
	width: 100%;
	box-sizing: border-box;
}

/* 内容確認：見出し帯直下の案内文 */
.usces-cart-page .hyakushou-confirm-page-intro {
	margin: 0 0 1rem;
	padding: 0;
	font-size: 14px;
	line-height: 1.75;
	color: #222;
}

.usces-cart-page .hyakushou-confirm-page-intro__p {
	margin: 0 0 0.35em;
	padding: 0;
	color: #222;
}

.usces-cart-page .hyakushou-confirm-page-intro__notice {
	margin: 0.5em 0 0;
	padding: 0;
	color: #c62828;
}

.hk-cart-title-banner {
	margin: 0 0 1rem;
	padding: 0;
	box-sizing: border-box;
	max-width: 100%;
}

.hk-cart-title-banner__inner {
	box-sizing: border-box;
	border: 6px solid #0d4a0d;
	background-color: #f4ecd9;
	background-repeat: no-repeat;
	/* 帯の高さに合わせて縮小（横長バナー比率・見本に近い 5:1 前後） */
	background-size: auto 100%;
	background-position: center right;
	width: 100%;
	display: flex;
	align-items: center;
	aspect-ratio: 5 / 1;
	max-height: 200px;
	min-height: 104px;
	overflow: hidden;
}

.hk-cart-title-banner__text {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	max-width: min(58%, 28rem);
	padding: 10px 16px 12px;
	color: #111;
	text-shadow: 0 0 1px rgba(255, 255, 255, 0.85), 0 1px 2px rgba(255, 255, 255, 0.6);
	flex: 0 1 auto;
	min-width: 0;
}

.hk-cart-title-banner__bc {
	margin: 0 0 4px;
	font-size: 11px;
	line-height: 1.45;
}

.hk-cart-title-banner__bc-list {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	margin: 0;
	padding: 0;
	list-style: none;
	gap: 0;
}

.hk-cart-title-banner__bc-item {
	display: inline-flex;
	align-items: baseline;
	margin: 0;
	padding: 0;
}

.hk-cart-title-banner__bc-item:not(:last-child)::after {
	content: "\00a0>\00a0";
	color: #222;
	font-weight: 400;
}

.hk-cart-title-banner__bc-link {
	color: #111;
	text-decoration: underline;
	font-weight: 600;
}

.hk-cart-title-banner__bc-link:hover {
	color: #0d4a0d;
}

.hk-cart-title-banner__bc-item--current {
	font-weight: 700;
	color: #111;
	text-decoration: none;
}

.hk-cart-title-banner__title {
	margin: 0;
	padding: 0;
	font-size: clamp(1.05rem, 2.2vw, 1.45rem);
	font-weight: 800;
	color: #111;
	line-height: 1.2;
	letter-spacing: 0.02em;
}

@media (max-width: 980px) {
	.hk-cart-title-banner__inner {
		aspect-ratio: 3.2 / 1;
		max-height: 168px;
		min-height: 92px;
		background-position: center right;
	}

	.hk-cart-title-banner__text {
		max-width: 100%;
		padding: 8px 12px 10px;
	}

	.hk-cart-title-banner__bc {
		font-size: 10px;
		margin-bottom: 2px;
	}

	.hk-cart-title-banner__title {
		font-size: clamp(1rem, 4vw, 1.3rem);
	}
}

/* Welcart カート（スマホ）：ヘッダー検索帯と同程度の左右10px・横スクロール抑制・ステップナビ・表・送信ボタン */
@media (max-width: 980px) {
	/* ヘッダー .hk-header-mobile__row--search / --category と同じ 10px 基準（二重パディングを避ける） */
	.site-content:has(.usces-cart-page) {
		padding-left: 10px;
		padding-right: 10px;
		box-sizing: border-box;
	}

	#primary.site-main.usces-cart-page {
		padding-left: 0;
		padding-right: 0;
		box-sizing: border-box;
		max-width: 100%;
		min-width: 0;
		overflow-x: hidden;
	}

	.usces-cart-page .entry-content {
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
		overflow-x: hidden;
	}

	.usces-cart-page #inside-cart,
	.usces-cart-page #customer-info,
	.usces-cart-page #delivery-info,
	.usces-cart-page #info-confirm,
	.usces-cart-page #cart {
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	/* ステップナビ：4セル同じ高さ。未選択は単色、現在地は縦いっぱいのグラデ（Welcart の横長 JPG 背景を上書き） */
	.usces-cart-page div.usccart_navi {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		overflow: hidden;
	}

	.usces-cart-page div.usccart_navi ol.ucart {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: stretch;
		justify-content: space-between;
		float: none;
		clear: both;
		height: auto;
		min-height: 48px;
		width: 100%;
		max-width: 100%;
		margin: 6px 0 12px;
		padding: 0;
		box-sizing: border-box;
		gap: 0;
	}

	.usces-cart-page div.usccart_navi li.ucart {
		float: none;
		flex: 1 1 0;
		min-width: 0;
		width: auto;
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		padding: 8px 2px;
		font-size: clamp(0.58rem, 2.6vw, 0.72rem);
		line-height: 1.25;
		text-align: center;
		word-break: normal;
		overflow-wrap: anywhere;
		hyphens: none;
		background-image: none !important;
		background-color: #b3b3b3;
		color: #fff;
	}

	.usces-cart-page div.usccart_navi li.ucart.usccart_cart,
	.usces-cart-page div.usccart_navi li.ucart.usccart_customer,
	.usces-cart-page div.usccart_navi li.ucart.usccart_delivery,
	.usces-cart-page div.usccart_navi li.ucart.usccart_confirm {
		background-image: linear-gradient(180deg, #ffbf38 0%, #f39a10 100%) !important;
		background-size: 100% 100%;
		background-repeat: no-repeat;
		background-position: center;
		background-color: transparent;
		color: #1f1f1f;
	}

	/* カート表：商品名は日本語の単語単位で折り返し（break-all 系を避けて横読みに近づける） */
	.usces-cart-page #cart #cart_table {
		table-layout: fixed;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.usces-cart-page #cart #cart_table th,
	.usces-cart-page #cart #cart_table td {
		white-space: normal;
		word-break: normal;
		overflow-wrap: break-word;
		line-break: strict;
		padding: 5px 3px;
		box-sizing: border-box;
	}

	.usces-cart-page #cart #cart_table th.productname,
	.usces-cart-page #cart #cart_table td.productname {
		width: 36%;
		min-width: 0;
		word-break: normal;
		overflow-wrap: break-word;
		line-height: 1.45;
	}

	.usces-cart-page #info-confirm #cart #cart_table th.productname,
	.usces-cart-page #info-confirm #cart #cart_table td.productname {
		width: 26%;
	}

	.usces-cart-page #cart #cart_table th {
		font-size: clamp(0.62rem, 2.4vw, 0.75rem);
		line-height: 1.25;
		vertical-align: middle;
	}

	/* 表1行目（No./商品名/単価/金額）：フォント1段階アップ */
	.usces-cart-page #cart #cart_table thead th {
		font-size: clamp(0.72rem, 2.8vw, 0.875rem);
	}

	/* 表1行目：No. 列は改行しない */
	.usces-cart-page #cart #cart_table thead th.num {
		white-space: nowrap;
		word-break: keep-all;
		overflow-wrap: normal;
		line-break: auto;
		min-width: 2.25rem;
	}

	.usces-cart-page #cart #cart_table td {
		font-size: clamp(0.65rem, 2.5vw, 0.8rem);
	}

	/* 商品合計行（ラベル・金額）：フォント1段階アップ（#cart #cart_table th より詳細度を上げて適用） */
	.usces-cart-page #cart #cart_table tfoot tr:first-child th {
		font-size: clamp(0.8125rem, 3.1vw, 0.9375rem);
	}

	.usces-cart-page #cart #cart_table tfoot tr.hyakushou-cart-getpoint-row th {
		font-size: clamp(0.72rem, 2.8vw, 0.875rem);
	}

	/* 内容確認：総合計金額行のフォント1段階アップ */
	.usces-cart-page #cart_table tfoot tr.total_full_price th {
		font-size: clamp(0.72rem, 2.8vw, 0.875rem);
	}

	.usces-cart-page #inside-cart #cart_table th.num,
	.usces-cart-page #inside-cart #cart_table td.num {
		width: 1.5rem;
	}

	.usces-cart-page #inside-cart #cart_table th.thumbnail,
	.usces-cart-page #inside-cart #cart_table td.thumbnail {
		width: 2.75rem;
	}

	.usces-cart-page #inside-cart #cart_table th.unitprice,
	.usces-cart-page #inside-cart #cart_table td.unitprice {
		width: 17%;
	}

	.usces-cart-page #inside-cart #cart_table th.quantity,
	.usces-cart-page #inside-cart #cart_table td.quantity {
		width: 14%;
	}

	.usces-cart-page #inside-cart #cart_table th.subtotal,
	.usces-cart-page #inside-cart #cart_table td.subtotal {
		width: 18%;
	}

	.usces-cart-page #inside-cart #cart_table th.action,
	.usces-cart-page #inside-cart #cart_table td.action {
		width: 3rem;
	}

	/* 内容確認：操作列に数量変更・削除 UI（hyakushou-custom）が入るため列を広げ金額列と重ならないようにする */
	.usces-cart-page #info-confirm #cart_table th.num,
	.usces-cart-page #info-confirm #cart_table td.num {
		width: 1.35rem;
	}

	.usces-cart-page #info-confirm #cart_table th.thumbnail,
	.usces-cart-page #info-confirm #cart_table td.thumbnail {
		width: 2.4rem;
	}

	.usces-cart-page #info-confirm #cart_table th.productname,
	.usces-cart-page #info-confirm #cart_table td.productname {
		width: 26%;
		min-width: 0;
	}

	.usces-cart-page #info-confirm #cart_table th.unitprice,
	.usces-cart-page #info-confirm #cart_table td.unitprice {
		width: 13%;
	}

	.usces-cart-page #info-confirm #cart_table th.quantity,
	.usces-cart-page #info-confirm #cart_table td.quantity {
		width: 9%;
	}

	.usces-cart-page #info-confirm #cart_table th.subtotal,
	.usces-cart-page #info-confirm #cart_table td.subtotal {
		width: 14%;
	}

	.usces-cart-page #info-confirm #cart_table th.action,
	.usces-cart-page #info-confirm #cart_table td.action {
		width: 28%;
		min-width: 8.5rem;
		vertical-align: top;
	}

	.usces-cart-page #info-confirm .hyakushou-confirm-edit {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
		max-width: 100%;
		box-sizing: border-box;
	}

	.usces-cart-page #info-confirm .hyakushou-confirm-edit form {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		gap: 6px;
		max-width: 100%;
		box-sizing: border-box;
	}

	.usces-cart-page #info-confirm .hyakushou-confirm-edit input[type="number"] {
		width: 3.5rem !important;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
		flex: 0 0 auto;
	}

	.usces-cart-page #info-confirm .hyakushou-confirm-edit .button {
		flex: 1 1 auto;
		min-width: 0;
		box-sizing: border-box;
		font-size: 0.8125rem;
		padding: 6px 8px;
		line-height: 1.3;
	}

	.usces-cart-page #cart_table td.thumbnail img {
		max-width: 100%;
		height: auto;
	}

	.usces-cart-page #cart .upbutton {
		padding-left: 0;
		padding-right: 0;
		margin-bottom: 20px;
		text-align: center;
		max-width: 100%;
		box-sizing: border-box;
	}

	.usces-cart-page #cart .upbutton input[type="submit"] {
		max-width: 100%;
		box-sizing: border-box;
	}

	.usces-cart-page .hyakushou-cart-point-intro {
		max-width: 100%;
		box-sizing: border-box;
	}

	.usces-cart-page .hyakushou-confirm-page-intro {
		max-width: 100%;
		box-sizing: border-box;
	}

	/* お客様情報：「会員ではない方はこちら」直下の非会員フォームのみ th / td を縦積み */
	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form,
	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form tbody,
	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form tr {
		display: block;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form {
		border: 1px solid #e0e0e0;
		border-collapse: separate;
		border-spacing: 0;
		margin: 0 0 1rem;
	}

	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form tr {
		margin: 0;
		padding: 0;
		border-bottom: 1px solid #e8e8e8;
	}

	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form tr:last-child {
		border-bottom: none;
	}

	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form th {
		display: block;
		width: 100% !important;
		max-width: 100%;
		min-width: 0;
		margin: 0;
		padding: 8px 10px;
		text-align: left;
		font-weight: 700;
		font-size: 0.9375rem;
		line-height: 1.45;
		background: #f0f0f0;
		border: none;
		border-bottom: 1px solid #e5e5e5;
		box-sizing: border-box;
		white-space: normal;
		word-break: normal;
		overflow-wrap: break-word;
		vertical-align: top;
	}

	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form th em {
		display: inline;
		font-style: normal;
		color: #c62828;
	}

	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form td {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0.45rem;
		width: 100% !important;
		max-width: 100%;
		min-width: 0;
		margin: 0;
		padding: 10px;
		text-align: left;
		background: #fff;
		border: none;
		box-sizing: border-box;
		vertical-align: top;
		word-break: normal;
		overflow-wrap: break-word;
	}

	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form .member_name,
	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form .member_furigana {
		display: block;
		width: 100%;
		font-size: 0.9375rem;
		font-weight: 600;
		line-height: 1.45;
	}

	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form input[type="text"],
	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form input[type="email"],
	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form input[type="password"],
	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form input[type="tel"],
	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form input[type="number"],
	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form select,
	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form textarea {
		width: 100% !important;
		max-width: 100%;
		min-width: 0;
		min-height: 3rem;
		margin: 0;
		padding: 12px 14px;
		border: 1px solid #c8c8c8;
		border-radius: 2px;
		background: #fff;
		font-size: 1rem;
		line-height: 1.45;
		box-sizing: border-box;
	}

	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form input[type="radio"],
	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form input[type="checkbox"] {
		width: auto !important;
		min-height: auto;
		margin: 0;
	}

	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form input#search_zipcode,
	.usces-cart-page #customer-info form[name="customer_form"] table.customer_form input.search-zipcode.button {
		width: auto !important;
		max-width: 100%;
	}

	/* 買い物を続ける・次へ・各ステップの戻る／進む（1段階大きく） */
	.usces-cart-page #inside-cart .send,
	.usces-cart-page #customer-info .send,
	.usces-cart-page #delivery-info .send,
	.usces-cart-page #info-confirm .send {
		text-align: center;
		box-sizing: border-box;
		max-width: 100%;
	}

	.usces-cart-page #inside-cart .send input[type="button"],
	.usces-cart-page #inside-cart .send input[type="submit"],
	.usces-cart-page #customer-info .send input[type="button"],
	.usces-cart-page #customer-info .send input[type="submit"],
	.usces-cart-page #delivery-info .send input[type="button"],
	.usces-cart-page #delivery-info .send input[type="submit"],
	.usces-cart-page #info-confirm .send input[type="button"],
	.usces-cart-page #info-confirm .send input[type="submit"] {
		font-size: 1rem;
		font-weight: 700;
		padding: 12px 18px;
		min-height: 48px;
		box-sizing: border-box;
		margin: 4px 4px 8px;
		vertical-align: middle;
	}
}

/* Welcart カート：ポイント案内・今回加算ポイント行 */
.hyakushou-cart-point-intro {
	margin: 0 0 14px;
	padding: 0;
	font-size: 14px;
	line-height: 1.75;
	color: #222;
}

.hyakushou-cart-point-intro__p {
	margin: 0 0 0.5em;
	padding: 0;
}

.hyakushou-cart-point-intro__total {
	margin: 0.35em 0 0;
	padding: 0;
}

.hyakushou-cart-point-intro__price {
	color: #c62828;
	font-weight: 700;
}

/* 空カートメッセージ（Welcart 既定 1.4em より1段小さく） */
.usces-cart-page #inside-cart .no_cart {
	font-size: 1.2em;
}

/* カート1ページ目：「買い物を続ける」「次へ」の下 — 今月のおすすめ商品 */
.usces-cart-page #inside-cart .hyakushou-cart-page-recommended {
	margin: 1.25rem 0 0;
	padding: 0;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.usces-cart-page #inside-cart .hyakushou-cart-page-recommended .shop-recommended-items {
	margin: 0;
	padding: 0;
}

.usces-cart-page #inside-cart .hyakushou-cart-page-recommended .shop-recommended-items__title,
.usces-cart-page #inside-cart .hyakushou-cart-page-recommended .shop-recommended-items__title-fallback--desktop {
	margin-top: 0;
}

/* JS の段階スクロールと干渉しないよう（親テーマの smooth 等があっても制御しやすく） */
html {
	scroll-behavior: auto;
}

/* フッター直上：ページ先頭へ戻る — 白・1020px 内右寄せ・テキスト */
.site-pagetop-banner {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	background: #fff;
	border: none;
}

.site-pagetop-banner__inner {
	max-width: 1020px;
	margin: 0 auto;
	padding: 14px 12px 12px;
	box-sizing: border-box;
	display: flex;
	justify-content: flex-end;
}

.site-pagetop-banner__link {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 0;
	font: inherit;
	font-size: 13px;
	font-weight: 400;
	color: #1a1a1a;
	line-height: 1.5;
	text-decoration: none;
	border: none;
	background: transparent;
	cursor: pointer;
	box-sizing: border-box;
}

.site-pagetop-banner__link:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.site-pagetop-banner__link:focus-visible {
	outline: 2px solid #2f6f16;
	outline-offset: 3px;
}

.site-pagetop-banner__label {
	display: inline-block;
}

/* フッター（デスクトップ：緑テクスチャ帯／スマホ縦フッター：緑単色） */
.site-footer.site-footer--child {
	margin: 0;
	padding: 0;
	background: transparent;
	color: inherit;
}

/* デスクトップ既定：スマホ用縦フッター帯は非表示 */
.site-footer__band--mob-stack {
	display: none;
}

@media (max-width: 980px) {
	body.home .site-content {
		padding-left: 10px;
		padding-right: 10px;
		box-sizing: border-box;
		overflow-x: clip;
	}

	/* ヘッダー検索・カテゴリ行（10px）と同じくらいの有効余白にするため、.site-main の左右 14px を打ち消す */
	body.home #primary.site-main,
	body.home .site-main {
		padding-left: 0;
		padding-right: 0;
	}

	body.home .site-pagetop-banner {
		display: none !important;
	}

	body.home .site-sidebar {
		display: none !important;
	}

	.site-footer__band--mob-stack {
		display: block;
	}

	.site-footer__band--nav-desktop,
	.site-footer__band--friend-desktop,
	.site-footer__band--copy-desktop {
		display: none !important;
	}

	.site-footer__inner--mob-stack {
		max-width: none;
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}

	.site-footer__band--mob-stack {
		background-color: #4d6f38;
		background-image: none;
	}

	.site-footer__mob-list {
		margin: 0;
		padding: 0;
		list-style: none;
		box-sizing: border-box;
	}

	.site-footer__mob-item {
		margin: 0;
		padding: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.55);
		box-sizing: border-box;
	}

	.site-footer__mob-item:first-child {
		border-top: 1px solid rgba(255, 255, 255, 0.55);
	}

	.site-footer__mob-link {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 14px 16px;
		font-size: 0.9375rem;
		font-weight: 600;
		color: #fff;
		text-decoration: none;
		line-height: 1.35;
		box-sizing: border-box;
	}

	.site-footer__mob-link:hover {
		color: #fff;
		background: rgba(0, 0, 0, 0.08);
	}

	.site-footer__mob-chev {
		flex: 0 0 auto;
		font-size: 0.75rem;
		font-weight: 700;
		color: #fff;
		line-height: 1;
	}

	.site-footer__mob-text {
		flex: 1 1 auto;
		min-width: 0;
		text-align: left;
	}

	.site-footer__mob-divider--thick {
		height: 3px;
		margin: 0;
		background: rgba(255, 255, 255, 0.85);
	}

	.site-footer__mob-divider--thin {
		height: 1px;
		margin: 0 16px 12px;
		background: rgba(255, 255, 255, 0.45);
	}

	.site-footer__mob-brand {
		padding: 18px 16px 16px;
		text-align: center;
		box-sizing: border-box;
	}

	.site-footer__mob-tagline {
		margin: 0 0 8px;
		padding: 0;
		font-size: 0.8125rem;
		font-weight: 600;
		line-height: 1.5;
		color: rgba(255, 255, 255, 0.95);
	}

	.site-footer__mob-shopname {
		margin: 0 0 12px;
		padding: 0;
		font-size: 1.125rem;
		font-weight: 800;
		line-height: 1.35;
		color: #fff;
		letter-spacing: 0.04em;
	}

	.site-footer__mob-line {
		margin: 0 0 6px;
		padding: 0;
		font-size: 0.8125rem;
		font-weight: 600;
		line-height: 1.55;
		color: rgba(255, 255, 255, 0.95);
	}

	.site-footer__mob-line:last-child {
		margin-bottom: 0;
	}

	.site-footer__mob-tokusho {
		padding: 4px 16px 18px;
		text-align: center;
		box-sizing: border-box;
	}

	.site-footer__mob-tokusho-link {
		display: inline-block;
		max-width: 86%;
		margin-left: auto;
		margin-right: auto;
		line-height: 0;
		text-decoration: none;
		box-sizing: border-box;
	}

	.site-footer__mob-tokusho-img {
		display: block;
		width: 100%;
		max-width: 100%;
		height: auto;
		margin: 0 auto;
	}

	.site-footer__mob-social {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 14px 16px;
		margin: 0;
		padding: 0 16px 16px;
		list-style: none;
		box-sizing: border-box;
	}

	.site-footer__mob-social-item {
		margin: 0;
		padding: 0;
	}

	.site-footer__mob-social-link {
		display: block;
		line-height: 0;
		width: 52px;
		height: 52px;
		border-radius: 8px;
		overflow: hidden;
		background: rgba(0, 0, 0, 0.2);
		box-sizing: border-box;
	}

	.site-footer__mob-social-img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.site-footer__mob-copyright {
		margin: 0;
		padding: 0 16px 20px;
		font-size: 0.6875rem;
		line-height: 1.55;
		color: rgba(255, 255, 255, 0.9);
		text-align: center;
		letter-spacing: 0.02em;
		box-sizing: border-box;
	}
}

@media (min-width: 981px) {
	.site-footer__band--mob-stack {
		display: none !important;
	}
}

.site-footer--child .site-footer__inner {
	max-width: 1020px;
	margin: 0 auto;
	padding-left: 12px;
	padding-right: 12px;
	box-sizing: border-box;
}

.site-footer__band--nav {
	background-color: #4d6f38;
	background-image: url("assets/images/common/footer-back.jpg");
	background-repeat: repeat;
	background-position: 0 0;
}

.site-footer__inner--nav {
	padding-top: 22px;
	padding-bottom: 24px;
}

.site-footer__nav {
	text-align: center;
}

.site-footer__nav-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	row-gap: 8px;
	column-gap: 0;
	margin: 0;
	padding: 0;
}

.site-footer__nav-row + .site-footer__nav-row {
	margin-top: 12px;
}

.site-footer__nav-sep {
	display: inline-block;
	padding: 0 10px;
	font-size: 12px;
	font-weight: 300;
	color: rgba(255, 255, 255, 0.75);
	line-height: 1;
	user-select: none;
}

.site-footer__nav-item {
	display: inline-flex;
	align-items: center;
}

.site-footer__nav-link {
	font-size: 12px;
	line-height: 1.45;
	color: #fff;
	text-decoration: none;
	letter-spacing: 0.02em;
}

.site-footer__nav-link:hover {
	text-decoration: underline;
	text-underline-offset: 2px;
	color: #fff;
}

.site-footer__band--friend {
	background: #fff;
	border-top: 1px solid #e2ddd4;
}

.site-footer__inner--friend {
	padding-top: 12px;
	padding-bottom: 12px;
}

.site-footer__friend-line {
	margin: 0;
	padding: 0;
	font-size: 13px;
	line-height: 1.6;
	text-align: center;
	color: #222;
}

.site-footer__friend-prefix {
	color: #222;
}

.site-footer__friend-link {
	color: #b75416;
	font-weight: 500;
	text-decoration: none;
	margin-left: 2px;
}

.site-footer__friend-link:hover {
	text-decoration: underline;
	text-underline-offset: 2px;
	color: #9a4210;
}

.site-footer__band--copy {
	background: #3f5d2e;
}

.site-footer__inner--copy {
	padding-top: 10px;
	padding-bottom: 10px;
}

.site-footer__copyright {
	margin: 0;
	padding: 0;
	font-size: 11px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.92);
	text-align: center;
	letter-spacing: 0.03em;
}

@media (max-width: 600px) {
	.site-footer__nav-sep {
		padding: 0 6px;
	}

	.site-footer__nav-link {
		font-size: 11px;
	}
}

/* サイドバー HTTrack .shop-sideparts 系 */
.shop-sideparts-links {
	margin: 0;
	padding-left: 18px;
}

.shop-sideparts-links a {
	color: #2f6f16;
}

/* 固定カート：スマホでは非表示（ヘッダーのカートを使用） */
.fixed-banner--cart {
	display: none !important;
}

.fixed-banner__link {
	display: block;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	border: 2px solid #b76500;
	background: linear-gradient(180deg, #ffbf38 0%, #f39a10 100%);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.fixed-banner__link:hover {
	opacity: 0.92;
}

/* スマホ下部：電話・メール・アクセス（黄グラデの固定バー・常時表示） */
.hk-mobile-actionbar {
	display: none;
}

@media (max-width: 980px) {
	body:has(.hk-mobile-actionbar) {
		padding-bottom: calc(58px + env(safe-area-inset-bottom, 0px));
	}

	.hk-mobile-actionbar {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 55;
		width: 100%;
		max-width: 100vw;
		margin: 0;
		padding: 0;
		padding-bottom: env(safe-area-inset-bottom, 0px);
		box-sizing: border-box;
		background: linear-gradient(180deg, #fff6a8 0%, #ffe94a 28%, #ffd020 62%, #ffb028 100%);
		border-top: 1px solid rgba(255, 255, 255, 0.85);
		box-shadow:
			0 -1px 0 rgba(0, 0, 0, 0.06),
			0 -4px 14px rgba(0, 0, 0, 0.12);
	}

	.hk-mobile-actionbar__btn {
		flex: 1 1 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 5px;
		min-height: 58px;
		padding: 8px 6px 10px;
		box-sizing: border-box;
		text-decoration: none;
		color: #143d14;
		font-size: 12px;
		font-weight: 800;
		line-height: 1.15;
		-webkit-tap-highlight-color: transparent;
	}

	.hk-mobile-actionbar__btn + .hk-mobile-actionbar__btn {
		border-left: 1px solid #fff;
		box-shadow: -1px 0 0 rgba(0, 0, 0, 0.04);
	}

	.hk-mobile-actionbar__btn:focus-visible {
		outline: 2px solid #143d14;
		outline-offset: -4px;
		z-index: 1;
	}

	.hk-mobile-actionbar__btn:active {
		filter: brightness(0.96);
	}

	.hk-mobile-actionbar__icon {
		display: flex;
		align-items: center;
		justify-content: center;
		color: #0f3310;
		line-height: 0;
	}

	.hk-mobile-actionbar__icon svg {
		width: 24px;
		height: 24px;
	}

	.hk-mobile-actionbar__label {
		display: block;
		letter-spacing: 0.03em;
	}
}

@media print {
	.hk-mobile-actionbar {
		display: none !important;
	}
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* ブログ（実ページ寄せ） */
.site-main--blog {
	padding: 10px;
	max-width: 100%;
	box-sizing: border-box;
	/* 本文内のはみ出しでページ全体に横スクロールが付かないようにする */
	overflow-x: hidden;
}

.blog-main-inner {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* 店長ブログのタイトル帯は検索結果と共通（.shop-search-result__hero + title-back.jpg） */

.site-main--blog .entry-once {
	margin: 0 0 22px;
}

.site-main--blog .entry-title {
	margin: 0 0 14px;
	padding: 10px 14px;
	min-height: 0;
	font-weight: 700;
	color: #fff;
	line-height: 1.35;
	background: #5f8d3e;
}

/* 個別記事（h1） */
.site-main--blog h1.entry-title {
	font-size: clamp(20px, 1.65vw, 28px);
}

/* 一覧・アーカイブ（h2）：記事タイトルを1段階小さく */
.site-main--blog h2.entry-title {
	font-size: clamp(18px, 1.5vw, 25px);
}

.site-main--blog .entry-title a {
	color: #fff;
}

/* 個別記事：タイトル直下のアイキャッチ（アイキャッチ画像） */
.site-main--blog .entry-catch-image {
	margin: 0 0 18px;
	padding: 0;
	text-align: center;
	line-height: 0;
}

.site-main--blog .entry-catch-image__img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.site-main--blog .entry-body {
	color: #222;
	/* 一覧・個別で同一。親テーマの固定幅などを打ち消して横スクロールを防ぐ */
	width: auto !important;
	max-width: 100%;
	box-sizing: border-box;
	overflow-wrap: anywhere;
	word-break: break-word;
	/* 既定より約2段階小さい */
	font-size: 0.8125rem;
}

.site-main--blog .entry-body p {
	margin: 0 0 0.85em;
}

.site-main--blog .entry-body img {
	max-width: 100%;
	height: auto;
}

.site-main--blog .entry-body table {
	max-width: 100%;
	display: block;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.site-main--blog .entry-body iframe,
.site-main--blog .entry-body video {
	max-width: 100%;
}

.site-main--blog .entry-body pre {
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.site-main--blog .entry-meta-area {
	margin: 16px 0 0;
	padding: 10px 8px;
	border-top: 1px dotted #999;
	font-size: 12px;
}

.site-main--blog .entry-meta {
	text-align: right;
	color: #555;
}

.site-main--blog .entry-meta a {
	color: #555;
}

/* 店長ブログ一覧・アーカイブ：ページネーション中央寄せ（番号・前後リンクを横並び） */
.site-main--blog .pagination {
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 1.75rem 0 0.5rem;
	padding: 0;
	box-sizing: border-box;
}

.site-main--blog .pagination .navigation,
.site-main--blog .pagination nav.navigation.pagination {
	display: block;
	width: 100%;
	text-align: center;
}

.site-main--blog .pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.2rem 0.45rem;
	width: 100%;
}

.site-main--blog .pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.2rem 0.45rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-main--blog .pagination ul.page-numbers li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-main--blog .pagination a.page-numbers,
.site-main--blog .pagination a.prev,
.site-main--blog .pagination a.next {
	text-decoration: underline;
	color: #111;
	font-weight: 400;
}

.site-main--blog .pagination a.page-numbers:hover,
.site-main--blog .pagination a.prev:hover,
.site-main--blog .pagination a.next:hover {
	color: #000;
}

.site-main--blog .pagination span.page-numbers.current,
.site-main--blog .pagination span.page-numbers.dots {
	text-decoration: none;
	color: #000;
}

.site-main--blog .pagination span.page-numbers.current {
	font-weight: 700;
}

.site-main--blog .pagination span.page-numbers.dots {
	font-weight: 400;
	color: #333;
}

.blog-nav {
	margin: 0 0 8px;
}

/* 店長ブログ画面では、カゴ・検索など固定ページと同じレフトナビの下にブログ用ブロックを表示 */
.blog-sidebar-stack {
	margin: 0 0 12px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.blog-sidebar-stack__block.blog-sideparts {
	margin: 0;
}

.blog-sidebar-stack__empty {
	margin: 0;
	padding: 4px 5px;
	font-size: 13px;
	color: #666;
}

.blog-sidebar-stack .blog-sideparts li > a {
	text-decoration: underline;
}

.blog-sidebar-stack .blog-sideparts li > a:hover {
	color: #2f6f16;
}

.blog-sideparts {
	margin: 0 0 14px;
}

.blog-sideparts-title {
	margin: 0 0 6px;
	padding: 0 0 3px;
	font-size: 15px;
	font-weight: 700;
	border-bottom: 1px solid #999;
}

.blog-sideparts ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.blog-sideparts li {
	margin: 0;
	padding: 0;
}

.blog-sideparts li > span,
.blog-sideparts li > a {
	display: block;
	padding: 4px 5px;
	font-size: 13px;
	border-bottom: 1px dashed #999;
}

.blog-sideparts li a {
	color: #444;
}

/* 店長ブログ左ナビ・カレンダー（外枠のみ・内側に余白・セル間に罫線なし・日曜左端・土日色） */
.blog-sideparts-calendar-wrap .blog-calendar-wrap {
	margin: 0 0 8px;
	padding: 8px 10px 10px;
	border: 3px solid #c4c4c4;
	box-sizing: border-box;
	background: #fff;
}

#blog-calendar {
	margin: 0 0 8px;
	padding: 8px 10px 10px;
	border: 3px solid #c4c4c4;
	box-sizing: border-box;
	background: #fff;
	font-size: 15px;
	line-height: 1.25;
}

.blog-sideparts-calendar-wrap .blog-calendar-table,
.blog-sideparts-calendar-wrap table#wp-calendar.blog-calendar-table {
	width: 100%;
	margin: 0;
	border: none;
	border-collapse: separate;
	border-spacing: 5px 4px;
	background: transparent;
	font-size: 15px;
	line-height: 1.25;
	color: #000;
}

.blog-sideparts-calendar-wrap .blog-calendar-table caption,
.blog-sideparts-calendar-wrap table#wp-calendar.blog-calendar-table caption {
	padding: 0 0 6px;
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	color: #000;
	caption-side: top;
	line-height: 1.25;
}

.blog-calendar__caption {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 5px 10px;
	width: 100%;
}

.blog-calendar__month-label {
	flex: 0 1 auto;
	text-align: center;
	white-space: nowrap;
}

.blog-calendar__nav {
	flex: 0 0 auto;
	color: #000;
	text-decoration: underline;
	font-weight: 700;
	font-size: 15px;
	line-height: 1.2;
	min-width: 1.1em;
	text-align: center;
}

.blog-calendar__nav:hover {
	color: #000;
}

.blog-calendar__nav--inactive {
	color: #999;
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	opacity: 0.42;
}

/* 日曜列・土曜列の淡い背景（#wp-calendar 側の transparent より詳細度を上げる） */
.blog-sideparts-calendar-wrap table#wp-calendar.blog-calendar-table thead th:nth-child(1) {
	background: #fde8e8;
}

.blog-sideparts-calendar-wrap table#wp-calendar.blog-calendar-table thead th:nth-child(7) {
	background: #e3eefc;
}

.blog-sideparts-calendar-wrap table#wp-calendar.blog-calendar-table tbody td:nth-child(7n + 1) {
	background: #fff5f5;
}

.blog-sideparts-calendar-wrap table#wp-calendar.blog-calendar-table tbody td:nth-child(7n) {
	background: #f3f8ff;
}

/* 平日は黒 → 続くルールで土日のみ上書き（同詳細度のため順序が重要） */
.blog-cal-wd {
	color: #000;
	font-weight: 700;
}

.blog-cal-day {
	color: #000;
	font-weight: 400;
}

/* 日曜＝赤、土曜＝青 */
.blog-cal-wd--sun,
.blog-cal-day--sun {
	color: #c62828;
}

.blog-cal-day--sun a {
	color: #b71c1c;
}

.blog-cal-wd--sat,
.blog-cal-day--sat {
	color: #1565c0;
}

.blog-cal-day--sat a {
	color: #0d47a1;
}

.blog-cal-day a {
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
}

.blog-cal-day--sun a,
.blog-cal-day--sat a {
	font-weight: 700;
}

.blog-cal-day--today,
.blog-cal-day--today a {
	text-decoration: underline;
	font-weight: 700;
}

.blog-calendar-table th,
.blog-calendar-table td,
.blog-sideparts-calendar-wrap table#wp-calendar.blog-calendar-table th,
.blog-sideparts-calendar-wrap table#wp-calendar.blog-calendar-table td {
	padding: 0;
	margin: 0;
	text-align: center;
	vertical-align: middle;
	font-size: 15px;
	line-height: 1.15;
	border: none;
	background: transparent;
	min-width: 1.6em;
}

.blog-calendar-table thead th,
.blog-sideparts-calendar-wrap table#wp-calendar.blog-calendar-table thead th {
	font-weight: 700;
}

.blog-calendar-table td.pad,
.blog-sideparts-calendar-wrap table#wp-calendar.blog-calendar-table td.pad {
	background: transparent;
	color: transparent;
	border: none;
}

#blog-calendar caption {
	margin: 0 0 6px;
	font-size: 15px;
	font-weight: 700;
	color: #000;
}

#blog-calendar table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 5px 4px;
	border: none;
	background: transparent;
}

#blog-calendar th,
#blog-calendar td {
	padding: 0;
	text-align: center;
	font-size: 15px;
	border: none;
	background: transparent;
	min-width: 1.6em;
}

#blog-calendar a {
	font-weight: 700;
	text-decoration: underline;
	color: inherit;
}

@media (max-width: 980px) {
	.site-content__inner {
		flex-direction: column;
		align-items: stretch;
	}

	.site-sidebar {
		flex: 1 1 auto;
		width: 100%;
	}

	.shop-home-hero__categories {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.shop-home-hero__cat-line1 {
		font-size: 11px;
	}

	.shop-home-hero__cat-line2 {
		font-size: 12px;
	}

	.shop-listpage .listpage-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.shop-hero__thumbs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.item-card-list {
		grid-template-columns: 1fr;
	}

	.shop-result-toolbar {
		flex-direction: column;
		align-items: flex-start;
	}

	.shop-result-toolbar__form {
		flex-wrap: wrap;
	}

	.shop-listpage-subfooter {
		flex-direction: column;
		align-items: flex-start;
	}

	.shop-listpage-subfooter__pagination ul.page-numbers,
	.shop-listpage-subfooter__pagination ul {
		justify-content: flex-start;
	}

	.item-card__link {
		grid-template-columns: 1fr;
	}

	.item-card__image img,
	.item-card__noimage {
		height: 160px;
	}

	.site-main--blog h1.entry-title {
		font-size: clamp(18px, 4.2vw, 22px);
		line-height: 1.35;
		padding: 8px 12px;
	}

	.site-main--blog h2.entry-title {
		font-size: clamp(16px, 3.7vw, 20px);
		line-height: 1.35;
		padding: 8px 12px;
	}

	.detailpage--item #itempage > form {
		flex-direction: column;
	}

	.detailpage--item #itempage > form > .itemimg {
		max-width: 100%;
		width: 100%;
	}

	.detailpage--item #itempage > form > .itemimg img {
		margin-left: auto;
		margin-right: auto;
	}
}

/* --------------------------------------------------------------------------
 * お問い合わせ（固定ページ contact / page-contact.php）
 * -------------------------------------------------------------------------- */
.site-main--contact-page {
	max-width: 100%;
}

.hyakushou-contact-article__header {
	margin: 0 0 1rem;
	padding: 0;
	box-sizing: border-box;
}

.hyakushou-contact {
	box-sizing: border-box;
	color: #222;
	font-size: 0.9375rem;
	line-height: 1.75;
	max-width: 52rem;
	margin: 0 auto;
	padding: 0 4px;
}

.hyakushou-contact .hyakushou-contact-title-banner.hk-cart-title-banner,
.hyakushou-contact-article__header .hyakushou-contact-title-banner.hk-cart-title-banner {
	margin-bottom: 0;
}

/* お問い合わせ：帯は見本より細めの緑枠 */
.hyakushou-contact-title-banner.hk-cart-title-banner .hk-cart-title-banner__inner,
.hyakushou-contact-article__header .hyakushou-contact-title-banner .hk-cart-title-banner__inner {
	border-width: 4px;
}

.hyakushou-contact-intro {
	margin: 0 0 1.5rem;
}

.hyakushou-contact-intro p {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.75;
}

.hyakushou-contact-intro__note {
	color: #c00;
}

/* 旧 Cube + 添付デザイン（CF7 / 確認ステップ）。.hyakushou-cf7-flow 使用時は functions.php で autop 無効。 */
.hyakushou-contact .hyakushou-cf7-skin .wpcf7 {
	margin: 0;
	max-width: 100%;
}

.hyakushou-contact .hyakushou-cf7-skin .wpcf7 form.hyakushou-cf7-form,
.hyakushou-contact .hyakushou-cf7-skin .wpcf7 form {
	margin: 0;
}

.hyakushou-contact .hyakushou-cf7-skin .wpcf7 form.hyakushou-cf7-form > p,
.hyakushou-contact .hyakushou-cf7-skin .wpcf7 form > p {
	margin: 0;
	padding: 0;
}

.hyakushou-contact .hyakushou-cf7-skin .hyakushou-cf7-flow > p {
	margin: 0;
	padding: 0;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-form-main {
	margin: 0;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-form-once {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.25rem;
	padding: 0.85rem 12px;
	border-top: 1px solid #ddd;
	box-sizing: border-box;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-form-once:first-of-type {
	border-top: 1px solid #ddd;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-form-once-title {
	flex: 0 0 min(100%, 11rem);
	max-width: 12rem;
	font-weight: 700;
	text-align: left;
	font-size: 0.9375rem;
	line-height: 1.55;
	box-sizing: border-box;
	color: #111;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-form-once-title span {
	padding-left: 2px;
	color: #e00;
	font-weight: 700;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-form-once-body {
	flex: 1 1 min(100%, 36rem);
	min-width: 0;
	font-size: 0.9375rem;
	line-height: 1.65;
	color: #222;
}

/* 姓・名／セイ・メイは同一行に横並び（見本） */
.hyakushou-contact .hyakushou-cf7-skin .cf-name-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.5rem;
	max-width: 100%;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-name-row .cf-span-name--pair {
	margin-left: 0.65rem;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-name-row .wpcf7-form-control-wrap {
	display: inline-block;
	vertical-align: middle;
	margin: 0;
	min-width: 0;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-name-row .cf-input-name,
.hyakushou-contact .hyakushou-cf7-skin .cf-name-row .wpcf7-form-control-wrap input.cf-input-name {
	width: min(11.5rem, 38vw);
	max-width: 100%;
	flex: 0 1 auto;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-field-row--postal {
	flex-wrap: wrap;
	gap: 0.35rem 0.5rem;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-field-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem 0.65rem;
	margin: 0 0 0.55rem;
	min-width: 0;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-field-row:last-child {
	margin-bottom: 0;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-field-row--tel {
	flex-wrap: nowrap;
	gap: 0.25rem;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-form-once-body .wpcf7-form-control-wrap {
	display: inline-block;
	vertical-align: middle;
	margin: 0;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-span-name,
.hyakushou-contact .hyakushou-cf7-skin .cf-span-zip,
.hyakushou-contact .hyakushou-cf7-skin .cf-span-address {
	display: inline-block;
	min-width: 4.5rem;
	font-size: 0.875rem;
	color: #333;
	flex: 0 0 auto;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-input-name,
.hyakushou-contact .hyakushou-cf7-skin .cf-input-mail,
.hyakushou-contact .hyakushou-cf7-skin .cf-input-tel,
.hyakushou-contact .hyakushou-cf7-skin .cf-input-zip,
.hyakushou-contact .hyakushou-cf7-skin .cf-input-address,
.hyakushou-contact .hyakushou-cf7-skin .cf-textarea,
.hyakushou-contact .hyakushou-cf7-skin .wpcf7-form input[type="text"],
.hyakushou-contact .hyakushou-cf7-skin .wpcf7-form input[type="email"],
.hyakushou-contact .hyakushou-cf7-skin .wpcf7-form input[type="tel"],
.hyakushou-contact .hyakushou-cf7-skin .wpcf7-form select,
.hyakushou-contact .hyakushou-cf7-skin .wpcf7-form textarea {
	margin: 0;
	padding: 7px 9px;
	color: #222;
	background: #fafafa;
	border: 1px solid #ccc;
	border-radius: 0;
	box-sizing: border-box;
	font-size: 0.9375rem;
	box-shadow: none;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-input-name,
.hyakushou-contact .hyakushou-cf7-skin .wpcf7-form input.cf-input-name {
	width: min(100%, 14rem);
	max-width: 100%;
	flex: 1 1 8rem;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-input-mail,
.hyakushou-contact .hyakushou-cf7-skin .wpcf7-form input.cf-input-mail {
	width: 100%;
	max-width: 100%;
}

.hyakushou-contact .hyakushou-cf7-skin #cf-form-once-id4 select {
	width: 100%;
	max-width: 100%;
	min-height: 2.1rem;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-input-tel,
.hyakushou-contact .hyakushou-cf7-skin .cf-input-zip,
.hyakushou-contact .hyakushou-cf7-skin .wpcf7-form input.cf-input-tel,
.hyakushou-contact .hyakushou-cf7-skin .wpcf7-form input.cf-input-zip {
	width: min(4.75rem, 22vw);
	max-width: 100%;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-input-address,
.hyakushou-contact .hyakushou-cf7-skin .wpcf7-form input.cf-input-address {
	width: 100%;
	max-width: 100%;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-textarea,
.hyakushou-contact .hyakushou-cf7-skin .wpcf7-form textarea.cf-textarea {
	width: 100%;
	max-width: 100%;
	min-height: 11rem;
	resize: vertical;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-zip-link {
	margin-left: 0.15rem;
	font-size: 0.8125rem;
	text-decoration: underline;
	color: #0d4a0d;
	font-weight: 600;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-zip-link:hover {
	color: #0a350a;
}

.hyakushou-contact .hyakushou-cf7-skin .input-comment {
	margin: 0.4rem 0 0;
	font-size: 0.8125rem;
	font-weight: 400;
	color: #555;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-form-btnarea {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.65rem 1rem;
	padding: 1rem 12px;
	border-top: 1px solid #ddd;
	box-sizing: border-box;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-form-btnarea > p,
.hyakushou-contact .hyakushou-cf7-skin .cf-form-btnarea .wpcf7-form-control-wrap {
	display: inline-flex;
	margin: 0;
	padding: 0;
	align-items: center;
}

/* お問い合わせ：リセット・確認・戻る・送信（会員登録 .hyakushou-mypage-login__submit と同系） */
.hyakushou-contact .hyakushou-cf7-skin .cf-form-btnarea .hyakushou-mypage-login__submit,
.hyakushou-contact .hyakushou-cf7-skin .cf-form-btnarea input[type="reset"],
.hyakushou-contact .hyakushou-cf7-skin .cf-form-btnarea .hyakushou-cf7-btn-confirm,
.hyakushou-contact .hyakushou-cf7-skin .cf-form-btnarea .hyakushou-cf7-btn-back,
.hyakushou-contact .hyakushou-cf7-skin .cf-form-btnarea input[type="submit"] {
	box-sizing: border-box;
	display: inline-block;
	min-width: 220px;
	margin: 0;
	padding: 12px 32px;
	border: none !important;
	border-radius: 2px;
	background: #d9231d !important;
	color: #fff !important;
	font-size: 1rem;
	font-weight: 800;
	font-family: inherit;
	line-height: 1.35;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-form-btnarea .hyakushou-mypage-login__submit:hover,
.hyakushou-contact .hyakushou-cf7-skin .cf-form-btnarea input[type="reset"]:hover,
.hyakushou-contact .hyakushou-cf7-skin .cf-form-btnarea .hyakushou-cf7-btn-confirm:hover,
.hyakushou-contact .hyakushou-cf7-skin .cf-form-btnarea .hyakushou-cf7-btn-back:hover,
.hyakushou-contact .hyakushou-cf7-skin .cf-form-btnarea input[type="submit"]:hover {
	filter: brightness(1.06);
	background: #d9231d !important;
	color: #fff !important;
}

/* お問い合わせ：入力欄と同じブロック内の検証エラー（会員登録フォームと同系） */
.hyakushou-contact .hyakushou-cf7-skin .cf-form-once-body .hyakushou-field-errors {
	margin: 0.35rem 0 0;
	padding: 0;
	color: #c62828;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.55;
}

/* 姓・名／住所行など：該当入力の直下に改行して表示（flex 行） */
.hyakushou-contact .hyakushou-cf7-skin .cf-name-row .hyakushou-field-errors,
.hyakushou-contact .hyakushou-cf7-skin .cf-field-row .hyakushou-field-errors {
	flex: 1 1 100%;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	white-space: normal;
	overflow-wrap: normal;
	word-break: normal;
}

.hyakushou-contact .hyakushou-cf7-skin .hyakushou-field-errors__line {
	margin: 0;
	color: #c62828;
}

.hyakushou-contact .hyakushou-cf7-skin .cf-form-once-body--has-error input[type="text"],
.hyakushou-contact .hyakushou-cf7-skin .cf-form-once-body--has-error input[type="email"],
.hyakushou-contact .hyakushou-cf7-skin .cf-form-once-body--has-error select,
.hyakushou-contact .hyakushou-cf7-skin .cf-form-once-body--has-error textarea,
.hyakushou-contact .hyakushou-cf7-skin .wpcf7-form-control-wrap.wpcf7-not-valid input,
.hyakushou-contact .hyakushou-cf7-skin .wpcf7-form-control-wrap.wpcf7-not-valid select,
.hyakushou-contact .hyakushou-cf7-skin .wpcf7-form-control-wrap.wpcf7-not-valid textarea {
	background-color: #fff5f8;
}

/* CF7 既定の吹き出しは非表示（.hyakushou-field-errors に統一） */
.hyakushou-contact .hyakushou-cf7-skin .cf-form-once-body .wpcf7-not-valid-tip {
	display: none !important;
}

.hyakushou-contact .hyakushou-cf7-skin .wpcf7-not-valid-tip {
	font-size: 0.8125rem;
	margin-top: 0.25rem;
}

.hyakushou-contact .hyakushou-cf7-skin .wpcf7-response-output {
	margin: 1rem 0 0;
	padding: 0.75rem 1rem;
	border: 1px solid #ddd;
	border-radius: 3px;
	font-size: 0.875rem;
}

.hyakushou-contact .hyakushou-cf7-skin form.invalid .wpcf7-response-output,
.hyakushou-contact .hyakushou-cf7-skin form.unaccepted .wpcf7-response-output,
.hyakushou-contact .hyakushou-cf7-skin form.failed .wpcf7-response-output,
.hyakushou-contact .hyakushou-cf7-skin form.spam .wpcf7-response-output {
	color: #c62828;
}

/* CF7 確認ステップ */
.hyakushou-contact .hyakushou-cf7-skin .hyakushou-cf7-flow {
	margin: 0;
}

.hyakushou-contact .hyakushou-cf7-skin .hyakushou-cf7-step--confirm[hidden] {
	display: none !important;
}

.hyakushou-contact .hyakushou-cf7-skin .hyakushou-cf7-step--confirm:not([hidden]) {
	display: block;
}

.hyakushou-contact .hyakushou-cf7-skin .hyakushou-cf7-confirm-panel {
	padding: 0;
	box-sizing: border-box;
}

.hyakushou-contact .hyakushou-cf7-skin .hyakushou-cf7-confirm-lead,
.hyakushou-contact .hyakushou-cf7-skin .hyakushou-cf7-confirm-lead-sub {
	margin: 0 0 0.5rem;
	padding: 0 12px;
	font-size: 0.9375rem;
	line-height: 1.75;
	color: #222;
}

.hyakushou-contact .hyakushou-cf7-skin .hyakushou-cf7-confirm-lead-sub {
	margin-bottom: 0.65rem;
	color: #333;
}

.hyakushou-contact .hyakushou-cf7-skin .hyakushou-cf7-confirm-rows {
	margin: 0;
	padding: 0;
	border-top: 1px solid #ddd;
}

.hyakushou-contact .hyakushou-cf7-skin .hyakushou-cf7-confirm-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0.65rem 1.25rem;
	padding: 0.85rem 12px;
	border-bottom: 1px solid #ddd;
	box-sizing: border-box;
}

.hyakushou-contact .hyakushou-cf7-skin .hyakushou-cf7-confirm-row:last-of-type {
	border-bottom: none;
}

.hyakushou-contact .hyakushou-cf7-skin .hyakushou-cf7-confirm-row__title {
	flex: 0 0 min(100%, 11rem);
	max-width: 12rem;
	font-weight: 700;
	text-align: left;
	font-size: 0.9375rem;
	line-height: 1.55;
	box-sizing: border-box;
	color: #111;
}

.hyakushou-contact .hyakushou-cf7-skin .hyakushou-cf7-confirm-row__title span {
	padding-left: 2px;
	color: #e00;
	font-weight: 700;
}

.hyakushou-contact .hyakushou-cf7-skin .hyakushou-cf7-confirm-row__value {
	flex: 1 1 min(100%, 36rem);
	min-width: 0;
	font-size: 0.9375rem;
	line-height: 1.65;
	color: #222;
	word-break: break-word;
	background: transparent;
}

.hyakushou-contact .hyakushou-cf7-skin .hyakushou-cf7-confirm-panel .hyakushou-cf7-btnarea-confirm {
	border-top: 1px solid #ddd;
	margin-top: 0;
}

.hyakushou-contact .hyakushou-cf7-skin .hyakushou-cf7-email-mismatch-tip {
	margin-top: 0.35rem;
}

/* お問い合わせ（980px以下）：本文左右をヘッダー検索帯に揃える／姓名・フリガナ行のレイアウト／横スクロール防止 */
@media (max-width: 980px) {
	#primary.site-main.site-main--contact-page,
	#primary.site-main.site-main--contact-page .hyakushou-contact-article,
	body.page:has(.site-main--contact-page) .site-content,
	body.page:has(.site-main--contact-page) .site-content__inner {
		max-width: 100%;
		min-width: 0;
		overflow-x: clip;
	}

	#primary.site-main.site-main--contact-page {
		padding-left: 0;
		padding-right: 0;
	}

	.hyakushou-contact {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
		min-width: 0;
		overflow-x: clip;
		overflow-wrap: break-word;
	}

	.hyakushou-contact .hyakushou-cf7-skin {
		max-width: 100%;
		min-width: 0;
		overflow-x: clip;
		box-sizing: border-box;
	}

	.hyakushou-contact .hyakushou-cf7-skin .wpcf7,
	.hyakushou-contact .hyakushou-cf7-skin .hyakushou-cf7-flow,
	.hyakushou-contact .hyakushou-cf7-skin .hyakushou-legacy-cf7-wrap,
	.hyakushou-contact .hyakushou-cf7-skin .cf-form-main,
	.hyakushou-contact .hyakushou-cf7-skin .wpcf7 form,
	.hyakushou-contact .hyakushou-cf7-skin .cf-form-once,
	.hyakushou-contact .hyakushou-cf7-skin .cf-form-once-body {
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	.hyakushou-contact .hyakushou-cf7-skin .wpcf7-form-control-wrap {
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	.hyakushou-contact .hyakushou-cf7-skin .cf-form-once-body .wpcf7-form-control-wrap {
		display: block;
		width: 100%;
		max-width: 100%;
	}

	/* 住所・メール等：ラベル＋width:100%入力の横並びははみ出すため縦積み */
	.hyakushou-contact .hyakushou-cf7-skin .cf-field-row {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		max-width: 100%;
	}

	.hyakushou-contact .hyakushou-cf7-skin .cf-field-row .wpcf7-form-control-wrap {
		display: block;
		width: 100%;
		max-width: 100%;
	}

	.hyakushou-contact .hyakushou-cf7-skin .cf-field-row .hyakushou-field-errors {
		flex: 0 0 auto;
		width: 100%;
		max-width: 100%;
	}

	.hyakushou-contact .hyakushou-cf7-skin .cf-field-row--postal,
	.hyakushou-contact .hyakushou-cf7-skin .cf-field-row--tel {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
	}

	.hyakushou-contact .hyakushou-cf7-skin .cf-field-row--postal .wpcf7-form-control-wrap,
	.hyakushou-contact .hyakushou-cf7-skin .cf-field-row--tel .wpcf7-form-control-wrap {
		display: inline-block;
		width: auto;
		max-width: 100%;
	}

	.hyakushou-contact .hyakushou-cf7-skin .cf-field-row--postal .cf-zip-link {
		flex: 1 1 100%;
		margin-left: 0;
		max-width: 100%;
	}

	.hyakushou-contact .hyakushou-cf7-skin .cf-field-row--tel {
		flex-wrap: wrap;
	}

	.hyakushou-contact .hyakushou-cf7-skin .wpcf7-form input[type="text"],
	.hyakushou-contact .hyakushou-cf7-skin .wpcf7-form input[type="email"],
	.hyakushou-contact .hyakushou-cf7-skin .wpcf7-form select,
	.hyakushou-contact .hyakushou-cf7-skin .wpcf7-form textarea {
		max-width: 100%;
		min-width: 0;
	}

	.hyakushou-contact .hyakushou-cf7-skin .hyakushou-cf7-confirm-panel {
		max-width: 100%;
		overflow-x: hidden;
	}

	.hyakushou-contact .hyakushou-cf7-skin .cf-form-btnarea {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		max-width: 100%;
		padding-left: 0;
		padding-right: 0;
		box-sizing: border-box;
	}

	.hyakushou-contact .hyakushou-cf7-skin .cf-form-btnarea > p,
	.hyakushou-contact .hyakushou-cf7-skin .cf-form-btnarea .wpcf7-form-control-wrap {
		display: block;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	.hyakushou-contact .hyakushou-cf7-skin .cf-form-btnarea .hyakushou-mypage-login__submit,
	.hyakushou-contact .hyakushou-cf7-skin .cf-form-btnarea input[type="reset"],
	.hyakushou-contact .hyakushou-cf7-skin .cf-form-btnarea .hyakushou-cf7-btn-confirm,
	.hyakushou-contact .hyakushou-cf7-skin .cf-form-btnarea .hyakushou-cf7-btn-back,
	.hyakushou-contact .hyakushou-cf7-skin .cf-form-btnarea input[type="submit"] {
		display: block;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		flex: 0 0 auto;
		box-sizing: border-box;
	}

	.hyakushou-contact-article__header .hyakushou-contact-title-banner.hk-cart-title-banner,
	.hyakushou-contact .hyakushou-contact-title-banner.hk-cart-title-banner {
		max-width: 100%;
		box-sizing: border-box;
	}

	.hyakushou-contact .hyakushou-cf7-skin .cf-form-once {
		align-items: flex-start;
		padding-left: 0;
		padding-right: 0;
	}

	.hyakushou-contact .hyakushou-cf7-skin .hyakushou-cf7-confirm-row__title,
	.hyakushou-contact .hyakushou-cf7-skin .cf-form-once-title {
		flex: 1 1 100%;
		max-width: none;
		text-align: left;
	}

	.hyakushou-contact .hyakushou-cf7-skin .cf-form-once-body {
		flex: 1 1 100%;
		width: 100%;
		max-width: 100%;
	}

	/* 姓・名／セイ・メイ：2列グリッド（ラベル＋入力）。エラーは行全体に表示 */
	.hyakushou-contact .hyakushou-cf7-skin .cf-name-row {
		display: grid;
		grid-template-columns: minmax(2rem, auto) minmax(0, 1fr);
		align-items: center;
		column-gap: 0.35rem;
		row-gap: 0.35rem;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		overflow-x: clip;
		box-sizing: border-box;
	}

	.hyakushou-contact .hyakushou-cf7-skin .cf-name-row .hyakushou-field-errors {
		grid-column: 1 / -1;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin-top: 0.15rem;
		white-space: normal;
		overflow-wrap: normal;
		word-break: normal;
	}

	.hyakushou-contact .hyakushou-cf7-skin .cf-name-row .hyakushou-field-errors__line {
		white-space: normal;
	}

	.hyakushou-contact .hyakushou-cf7-skin .cf-name-row .cf-span-name--pair {
		margin-left: 0;
	}

	.hyakushou-contact .hyakushou-cf7-skin .cf-name-row .cf-span-name {
		min-width: 0;
		text-align: left;
		justify-self: start;
	}

	.hyakushou-contact .hyakushou-cf7-skin .cf-name-row .wpcf7-form-control-wrap {
		display: block;
		width: 100%;
		min-width: 0;
	}

	.hyakushou-contact .hyakushou-cf7-skin .cf-name-row .cf-input-name,
	.hyakushou-contact .hyakushou-cf7-skin .cf-name-row .wpcf7-form-control-wrap input.cf-input-name {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}
}

/* 特定商取引法（page-order.php 強制時・980px以下）：お問い合わせと同様に #primary の左右パディング解除（.site-main の 14px が効いていた） */
@media (max-width: 980px) {
	body.page #primary.site-main.site-main--tokushoho-order-page,
	body.page #primary.site-main.site-main--tokushoho-order-page .hyakushou-guide-article.hyakushou-tokushoho-article {
		max-width: 100%;
		min-width: 0;
		overflow-x: hidden;
	}

	body.page #primary.site-main.site-main--tokushoho-order-page {
		padding-left: 0;
		padding-right: 0;
	}

	body.page #primary.site-main.site-main--tokushoho-order-page .entry-content.hyakushou-guide.hyakushou-tokushoho {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
		min-width: 0;
		overflow-x: hidden;
		overflow-wrap: anywhere;
	}

	body.page #primary.site-main.site-main--tokushoho-order-page .hyakushou-guide__inner {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}

	/* page-shop-order.php を直接使う場合（子テーマで template_include が上書きされているとき等） */
	body.page #primary.site-main.site-main--shop-order-page,
	body.page #primary.site-main.site-main--shop-order-page .hyakushou-shop-order-page {
		max-width: 100%;
		min-width: 0;
		overflow-x: hidden;
	}

	body.page #primary.site-main.site-main--shop-order-page {
		padding-left: 0;
		padding-right: 0;
	}

	body.page #primary.site-main.site-main--shop-order-page .hyakushou-shop-order-contents {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
		min-width: 0;
		overflow-x: hidden;
		overflow-wrap: anywhere;
	}

	/* お買い物ガイド（page-guide.php・/contents/guide/・980px以下） */
	body.page #primary.site-main.site-main--shopping-guide-page,
	body.page #primary.site-main.site-main--shopping-guide-page .hyakushou-guide-article {
		max-width: 100%;
		min-width: 0;
		overflow-x: hidden;
	}

	body.page #primary.site-main.site-main--shopping-guide-page {
		padding-left: 0;
		padding-right: 0;
	}

	body.page #primary.site-main.site-main--shopping-guide-page .entry-content.hyakushou-guide {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
		min-width: 0;
		overflow-x: hidden;
		overflow-wrap: anywhere;
	}

	body.page #primary.site-main.site-main--shopping-guide-page .hyakushou-guide__inner {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}

	/* 店舗案内（page-about.php・/contents/about/・980px以下） */
	body.page #primary.site-main.site-main--about-page,
	body.page #primary.site-main.site-main--about-page .hyakushou-about-article {
		max-width: 100%;
		min-width: 0;
		overflow-x: hidden;
	}

	body.page #primary.site-main.site-main--about-page {
		padding-left: 0;
		padding-right: 0;
	}

	body.page #primary.site-main.site-main--about-page .entry-content.hyakushou-about {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
		min-width: 0;
		overflow-x: hidden;
		overflow-wrap: anywhere;
	}

	body.page #primary.site-main.site-main--about-page .hyakushou-about__inner {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}

	/* EMについて（page-em.php・/contents/em/・980px以下） */
	body.page #primary.site-main.site-main--em-page,
	body.page #primary.site-main.site-main--em-page .hyakushou-em-article {
		max-width: 100%;
		min-width: 0;
		overflow-x: hidden;
	}

	body.page #primary.site-main.site-main--em-page {
		padding-left: 0;
		padding-right: 0;
	}

	body.page #primary.site-main.site-main--em-page .entry-content.hyakushou-em {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
		min-width: 0;
		overflow-x: hidden;
		overflow-wrap: anywhere;
	}

	body.page #primary.site-main.site-main--em-page .hyakushou-em__inner {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}

	/* 寺尾牧場の牛乳（page-milk.php・/contents/milk/・980px以下） */
	body.page #primary.site-main.site-main--milk-page,
	body.page #primary.site-main.site-main--milk-page .hyakushou-guide-article.hyakushou-milk-page {
		max-width: 100%;
		min-width: 0;
		overflow-x: hidden;
	}

	body.page #primary.site-main.site-main--milk-page {
		padding-left: 0;
		padding-right: 0;
	}

	body.page #primary.site-main.site-main--milk-page .hyakushou-guide-article__header,
	body.page #primary.site-main.site-main--milk-page .hyakushou-milk-title-banner,
	body.page #primary.site-main.site-main--milk-page .hyakushou-milk-title-banner .hk-cart-title-banner__inner,
	body.page #primary.site-main.site-main--milk-page .hyakushou-milk-section-heading.hyakushou-guide-main-heading {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin-left: 0;
		margin-right: 0;
		box-sizing: border-box;
	}

	body.page #primary.site-main.site-main--milk-page .entry-content.hyakushou-milk-contents {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
		min-width: 0;
		overflow-x: hidden;
		overflow-wrap: anywhere;
	}

	/* 福助商品（page-fukujo.php・/contents/fukujo/・980px以下） */
	body.page #primary.site-main.site-main--fukujo-page,
	body.page #primary.site-main.site-main--fukujo-page .hyakushou-guide-article.hyakushou-fukujo-page {
		max-width: 100%;
		min-width: 0;
		overflow-x: hidden;
	}

	body.page #primary.site-main.site-main--fukujo-page {
		padding-left: 0;
		padding-right: 0;
	}

	body.page #primary.site-main.site-main--fukujo-page .entry-content.hyakushou-fukujo-contents {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
		min-width: 0;
		overflow-x: hidden;
		overflow-wrap: anywhere;
	}

	/* 和歌山元気野菜セット（page-wakayama.php・/contents/wakayama/・980px以下） */
	body.page #primary.site-main.site-main--wakayama-page,
	body.page #primary.site-main.site-main--wakayama-page .hyakushou-guide-article.hyakushou-wakayama-page {
		max-width: 100%;
		min-width: 0;
		overflow-x: clip;
	}

	body.page #primary.site-main.site-main--wakayama-page {
		padding-left: 0;
		padding-right: 0;
	}

	body.page #primary.site-main.site-main--wakayama-page .hyakushou-guide-article__header,
	body.page #primary.site-main.site-main--wakayama-page .hyakushou-wakayama-title-banner,
	body.page #primary.site-main.site-main--wakayama-page .hyakushou-wakayama-title-banner .hk-cart-title-banner__inner,
	body.page #primary.site-main.site-main--wakayama-page .entry-header .hyakushou-guide-main-heading {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin-left: 0;
		margin-right: 0;
		box-sizing: border-box;
	}

	body.page #primary.site-main.site-main--wakayama-page .entry-content.hyakushou-wakayama-contents {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
		min-width: 0;
		overflow-x: hidden;
		overflow-wrap: anywhere;
	}

	/* 健康サポート食品（page-support.php・/contents/support/・980px以下） */
	body.page #primary.site-main.site-main--support-page,
	body.page #primary.site-main.site-main--support-page .hyakushou-guide-article.hyakushou-support-page {
		max-width: 100%;
		min-width: 0;
		overflow-x: hidden;
	}

	body.page #primary.site-main.site-main--support-page {
		padding-left: 0;
		padding-right: 0;
	}

	body.page #primary.site-main.site-main--support-page .entry-content.hyakushou-support-contents {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
		min-width: 0;
		overflow-x: hidden;
		overflow-wrap: anywhere;
	}

	/* メディア掲載情報（page-media.php・/contents/media/・980px以下） */
	body.page #primary.site-main.site-main--media-page,
	body.page #primary.site-main.site-main--media-page .hyakushou-guide-article.hyakushou-media-page {
		max-width: 100%;
		min-width: 0;
		overflow-x: hidden;
	}

	body.page #primary.site-main.site-main--media-page {
		padding-left: 0;
		padding-right: 0;
	}

	body.page #primary.site-main.site-main--media-page .entry-content.hyakushou-media-contents {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
		min-width: 0;
		overflow-x: hidden;
		overflow-wrap: anywhere;
	}

	/* 味噌づくり教室（page-miso.php・/contents/miso/・980px以下）— 和歌山元気野菜セットと同型の全幅・横スクロール防止 */
	body.page #primary.site-main.site-main--miso-page,
	body.page #primary.site-main.site-main--miso-page .hyakushou-guide-article.hyakushou-miso-page {
		max-width: 100%;
		min-width: 0;
		overflow-x: clip;
	}

	body.page #primary.site-main.site-main--miso-page {
		padding-left: 0;
		padding-right: 0;
	}

	body.page #primary.site-main.site-main--miso-page .hyakushou-guide-article__header,
	body.page #primary.site-main.site-main--miso-page .hyakushou-miso-title-banner,
	body.page #primary.site-main.site-main--miso-page .hyakushou-miso-title-banner .hk-cart-title-banner__inner,
	body.page #primary.site-main.site-main--miso-page .hyakushou-guide-main-heading {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin-left: 0;
		margin-right: 0;
		box-sizing: border-box;
	}

	body.page #primary.site-main.site-main--miso-page .entry-content.hyakushou-miso-contents {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
		min-width: 0;
		overflow-x: clip;
		overflow-wrap: anywhere;
	}

	body.page #primary.site-main.site-main--miso-page .hyakushou-miso-section-heading.hyakushou-guide-main-heading {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	/* Q&A（page-question.php・/contents/question/・980px以下） */
	body.page #primary.site-main.site-main--question-page,
	body.page #primary.site-main.site-main--question-page .hyakushou-guide-article.hyakushou-question-page {
		max-width: 100%;
		min-width: 0;
		overflow-x: hidden;
	}

	body.page #primary.site-main.site-main--question-page {
		padding-left: 0;
		padding-right: 0;
	}

	body.page #primary.site-main.site-main--question-page .entry-content.hyakushou-question-contents {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
		min-width: 0;
		overflow-x: hidden;
		overflow-wrap: anywhere;
	}

	/* リンク集（page-links.php・/contents/links/・980px以下） */
	body.page #primary.site-main.site-main--links-page,
	body.page #primary.site-main.site-main--links-page .hyakushou-guide-article.hyakushou-links-page {
		max-width: 100%;
		min-width: 0;
		overflow-x: hidden;
	}

	body.page #primary.site-main.site-main--links-page {
		padding-left: 0;
		padding-right: 0;
	}

	body.page #primary.site-main.site-main--links-page .entry-content.hyakushou-links-contents {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
		min-width: 0;
		overflow-x: hidden;
		overflow-wrap: anywhere;
	}

	/* プライバシーポリシー（page-privacy-policy.php・/contents/privacy-policy/・980px以下） */
	body.page #primary.site-main.site-main--privacy-policy-page,
	body.page #primary.site-main.site-main--privacy-policy-page .hyakushou-guide-article.hyakushou-privacy-page {
		max-width: 100%;
		min-width: 0;
		overflow-x: hidden;
	}

	body.page #primary.site-main.site-main--privacy-policy-page {
		padding-left: 0;
		padding-right: 0;
	}

	body.page #primary.site-main.site-main--privacy-policy-page .entry-content.hyakushou-privacy-contents {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
		min-width: 0;
		overflow-x: hidden;
		overflow-wrap: anywhere;
	}

	body.page #primary.site-main.site-main--privacy-policy-page .hyakushou-privacy .hyakushou-guide__inner {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}
}

/* --------------------------------------------------------------------------
 * 店舗案内（固定ページ about / page-about.php・/contents/about/）
 * -------------------------------------------------------------------------- */
.site-main--about-page {
	max-width: 100%;
}

.hyakushou-about-article__header {
	margin: 0 0 1.25rem;
	padding: 0;
	box-sizing: border-box;
}

.hyakushou-about {
	box-sizing: border-box;
	color: #222;
	font-size: 0.9375rem;
	line-height: 1.75;
}

.hyakushou-about__inner {
	max-width: 52rem;
	margin: 0 auto;
	padding: 0 4px;
	box-sizing: border-box;
}

.hyakushou-about__lead-heading {
	margin: 0 0 1rem;
}

.hyakushou-about__h2 {
	margin-top: 1.35rem;
}

.hyakushou-about__h2:first-of-type {
	margin-top: 0.75rem;
}

.hyakushou-about__info-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 280px);
	gap: 16px 20px;
	align-items: start;
	margin: 0 0 1.5rem;
}

.hyakushou-about__info-table-wrap {
	margin: 0;
}

.hyakushou-about__info-table {
	border: 1px solid #4b7931;
}

.hyakushou-about__info-table th,
.hyakushou-about__info-table td {
	border: 1px solid #4b7931;
	vertical-align: middle;
	text-align: left;
	padding: 10px 12px;
	font-size: 0.875rem;
}

.hyakushou-about__info-table th[scope="row"] {
	width: 7.5rem;
	background: #eff9ed;
	color: #1a4a0d;
	font-weight: 700;
	text-align: center;
	white-space: nowrap;
}

.hyakushou-about__info-table td {
	background: #fff;
	color: #111;
}

.hyakushou-about__info-table a {
	color: #0d4a0d;
	text-decoration: underline;
	font-weight: 600;
}

.hyakushou-about__info-photos {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.hyakushou-about__info-photo {
	margin: 0;
	padding: 0;
}

.hyakushou-about__info-photo img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid #4b7931;
	box-sizing: border-box;
}

.hyakushou-about__cafe-intro {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 22px;
	align-items: flex-start;
	margin: 0 0 1.25rem;
}

.hyakushou-about__cafe-intro__figure {
	flex: 0 1 260px;
	margin: 0;
	max-width: 100%;
}

.hyakushou-about__cafe-intro__figure img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid #c8d4bf;
	box-sizing: border-box;
}

.hyakushou-about__cafe-intro__text {
	flex: 1 1 220px;
	min-width: 0;
}

.hyakushou-about__p {
	margin: 0 0 0.75rem;
}

.hyakushou-about__p:last-child {
	margin-bottom: 0;
}

.hyakushou-about__cafe-menu {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px 20px;
	box-sizing: border-box;
	margin: 0 0 1.75rem;
	padding: 18px 16px 20px;
	background: #f0f9e8;
	border: 1px solid #c8d4bf;
	font-size: 0.8125rem;
	line-height: 1.55;
	color: #111;
}

.hyakushou-about__cafe-menu__heading {
	margin: 0 0 0.5rem;
	font-weight: 800;
	color: #111;
	font-size: 1em;
	text-align: center;
}

.hyakushou-about__cafe-menu__list {
	margin: 0;
	padding: 0 0 0 1.1em;
	font-size: 1em;
	color: #111;
}

.hyakushou-about__cafe-menu__list li {
	margin: 0.25rem 0;
}

.hyakushou-about__cafe-menu__material {
	display: inline-block;
	margin-top: 0.2em;
	font-size: 1em;
	font-weight: 400;
	color: #111;
}

.hyakushou-about__cafe-menu__note {
	margin: 0.6rem 0 0;
	font-size: 0.92em;
	color: #444;
}

.hyakushou-about__staff-block {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 22px;
	align-items: flex-start;
	box-sizing: border-box;
	margin: 0 0 1.25rem;
	padding: 20px 18px 22px;
	background: #f0f9e8;
	border: none;
}

.hyakushou-about__staff-block--reverse {
	flex-direction: row-reverse;
}

/* 代表ブロック：右画像＋本文回り込み */
.hyakushou-about__staff-block.hyakushou-about__staff-block--float-rep {
	display: block;
}

.hyakushou-about__staff-block--float-rep .hyakushou-about__staff-block__figure--float {
	float: right;
	flex: none;
	width: min(220px, 38%);
	max-width: 220px;
	margin: 0 0 12px 18px;
}

.hyakushou-about__staff-block--float-rep .hyakushou-about__staff-block__figure--float img {
	width: 100%;
	height: auto;
}

.hyakushou-about__staff-block--float-rep .hyakushou-about__staff-block__text {
	flex: none;
	min-width: 0;
	overflow: visible;
}

.hyakushou-about__staff-block--float-rep::after {
	content: "";
	display: table;
	clear: both;
}

.hyakushou-about__staff-block__text {
	flex: 1 1 240px;
	min-width: 0;
}

.hyakushou-about__staff-block__figure {
	flex: 0 1 220px;
	margin: 0;
	max-width: 100%;
}

.hyakushou-about__staff-block__figure img {
	display: block;
	width: 100%;
	height: auto;
	box-sizing: border-box;
}

.hyakushou-about__map-wrap {
	margin: 0 0 1rem;
	border: 1px solid #4b7931;
	box-sizing: border-box;
	overflow: hidden;
	background: #e8efe3;
	line-height: 0;
}

.hyakushou-about__map {
	display: block;
	width: 100%;
	height: min(420px, 70vw);
	border: 0;
}

.hyakushou-about__access-heading {
	margin: 0 0 0.65rem;
	padding: 0.55rem 0.85rem;
	box-sizing: border-box;
	background: #eaf8db;
	border: 1px solid #4b7931;
	font-size: 1rem;
	font-weight: 700;
	color: #111;
	line-height: 1.45;
}

.hyakushou-about__access-list {
	margin: 0 0 1.5rem;
	padding: 0 0 0 1.5em;
	list-style-position: outside;
	color: #111;
	font-size: 0.9375rem;
	line-height: 1.65;
}

.hyakushou-about__access-list > li {
	margin: 0 0 1rem;
	padding: 0;
}

.hyakushou-about__access-list > li:last-child {
	margin-bottom: 0;
}

.hyakushou-about__access-item__lead,
.hyakushou-about__access-item__detail {
	margin: 0;
	padding: 0;
}

.hyakushou-about__access-item__detail {
	margin-top: 0.4em;
}

@media (max-width: 768px) {
	.hyakushou-about__info-grid {
		grid-template-columns: 1fr;
	}

	.hyakushou-about__cafe-menu {
		grid-template-columns: 1fr;
	}

	.hyakushou-about__staff-block,
	.hyakushou-about__staff-block--reverse {
		flex-direction: column;
	}

	/* 和枝・篤史：スマホは画像上・本文下（DOM は本文→画像のまま） */
	.hyakushou-about__staff-block.hyakushou-about__staff-block--mobile-photo-top {
		flex-direction: column-reverse;
	}

	.hyakushou-about__staff-block.hyakushou-about__staff-block--float-rep {
		display: flex;
		flex-direction: column;
	}

	.hyakushou-about__staff-block--float-rep .hyakushou-about__staff-block__figure--float {
		float: none;
		width: auto;
		max-width: 280px;
		margin: 0 auto 1rem;
		align-self: center;
	}

	.hyakushou-about__staff-block__figure {
		flex-basis: auto;
		max-width: 280px;
		margin: 0 auto;
	}

	.hyakushou-about__staff-block--mobile-photo-top .hyakushou-about__staff-block__figure {
		margin: 0 auto 1rem;
	}
}

/* --------------------------------------------------------------------------
 * EMについて（固定ページ em / page-em.php・/contents/em/）
 * -------------------------------------------------------------------------- */
.site-main--em-page {
	max-width: 100%;
}

.hyakushou-em-article__header {
	margin: 0 0 1.25rem;
	padding: 0;
	box-sizing: border-box;
}

.hyakushou-em {
	box-sizing: border-box;
	color: #222;
	font-size: 0.9375rem;
	line-height: 1.75;
}

.hyakushou-em__inner {
	max-width: 52rem;
	margin: 0 auto;
	padding: 0 4px;
	box-sizing: border-box;
}

.hyakushou-em__section {
	margin: 0 0 1.75rem;
	padding: 0;
}

.hyakushou-em__h2 {
	margin: 0 0 0.85rem;
}

.hyakushou-em__split {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 18px 22px;
	box-sizing: border-box;
}

.hyakushou-em__split--img-right {
	flex-direction: row;
}

.hyakushou-em__split--img-left {
	flex-direction: row;
}

.hyakushou-em__split--half .hyakushou-em__text,
.hyakushou-em__split--half .hyakushou-em__figure {
	flex: 1 1 min(280px, 48%);
	min-width: 0;
}

.hyakushou-em__text {
	flex: 1 1 280px;
	min-width: 0;
}

.hyakushou-em__split:not(.hyakushou-em__split--half) .hyakushou-em__figure {
	flex: 0 1 min(320px, 38%);
	margin: 0;
	max-width: 100%;
}

.hyakushou-em__figure {
	margin: 0;
	padding: 0;
}

.hyakushou-em__figure img {
	display: block;
	width: 100%;
	height: auto;
	box-sizing: border-box;
}

.hyakushou-em__p {
	margin: 0 0 0.75rem;
}

.hyakushou-em__p:last-child {
	margin-bottom: 0;
}

.hyakushou-em__ul,
.hyakushou-em__ol {
	margin: 0;
	padding: 0 0 0 1.35em;
}

.hyakushou-em__ul li,
.hyakushou-em__ol li {
	margin: 0.35rem 0;
}

.hyakushou-em__lohas-panel {
	box-sizing: border-box;
	margin: 1.75rem 0 1.75rem;
	padding: 28px 24px 30px;
	background: #f0fae6;
	border: 1px solid #d8e6c8;
	color: #4a3a2a;
}

.hyakushou-em__lohas-panel__head {
	margin: 0 0 1.25rem;
	text-align: center;
	font-weight: 800;
	line-height: 1.55;
}

.hyakushou-em__lohas-panel__title-line {
	margin: 0 0 0.35rem;
	padding: 0;
	font-size: 1rem;
	color: inherit;
}

.hyakushou-em__lohas-panel__title-line:last-child {
	margin-bottom: 0;
}

.hyakushou-em__lohas-panel__body {
	margin: 0;
	padding: 0;
	text-align: left;
	font-weight: 400;
	line-height: 1.75;
	color: inherit;
}

@media (max-width: 768px) {
	.hyakushou-em__split {
		gap: 12px 16px;
	}

	.hyakushou-em__split--img-right {
		flex-direction: column-reverse;
	}

	.hyakushou-em__split--img-left {
		flex-direction: column;
	}

	/* flex-grow:1 だと縦積みで下に空白が伸びる（ＥＭの力→具体的／ロハス説明→米国パネル） */
	.hyakushou-em__split:not(.hyakushou-em__split--half) .hyakushou-em__figure {
		flex: 0 1 auto;
		max-width: min(100%, 360px);
		margin: 0 auto 8px;
	}

	.hyakushou-em__split:not(.hyakushou-em__split--half) .hyakushou-em__text {
		flex: 0 1 auto;
		width: 100%;
	}

	.hyakushou-em__split--half .hyakushou-em__figure {
		flex: 1 1 auto;
		max-width: min(100%, 360px);
		margin: 0 auto 12px;
	}

	.hyakushou-em__split--half .hyakushou-em__text {
		flex: 1 1 auto;
	}

	/* スマホ：直前セクション締めの縦間隔調整 */
	.hyakushou-em__inner > .hyakushou-em__section[aria-labelledby="em-power-heading"] {
		margin-bottom: 0.5rem;
	}

	.hyakushou-em__inner > .hyakushou-em__section[aria-labelledby="em-lohas-heading"] {
		margin-bottom: 0.65rem;
	}

	.hyakushou-em__inner > .hyakushou-em__lohas-panel {
		margin-top: 0;
		margin-bottom: 1.25rem;
		padding: 18px 14px 20px;
	}
}

/* --------------------------------------------------------------------------
 * お買い物ガイド（固定ページ guide / page-guide.php）
 * -------------------------------------------------------------------------- */
.site-main--shopping-guide {
	max-width: 100%;
}

.hyakushou-guide-article__header {
	margin: 0 0 1.25rem;
	padding: 0;
	box-sizing: border-box;
}

/* title-back 見出し帯（カート帯と同一 hk クラス。パンくずはホーム＞当ページのみ） */
.hyakushou-guide-title-banner.hk-cart-title-banner {
	margin: 0 0 0.75rem;
}

/* ショップ：カテゴリ・全件一覧の見出し帯（item/title-back.jpg） */
.hyakushou-shop-category-title-banner.hk-cart-title-banner,
.hyakushou-shop-catalog-title-banner.hk-cart-title-banner {
	margin: 0 0 0.75rem;
}

/* ショップ見出し帯：帯内レイアウト（固定ページ帯と同系・見本の余白・パンくず可読性） */
.hyakushou-shop-category-title-banner .hk-cart-title-banner__text,
.hyakushou-shop-catalog-title-banner .hk-cart-title-banner__text {
	padding: 12px 18px 14px;
}

.hyakushou-shop-category-title-banner .hk-cart-title-banner__bc,
.hyakushou-shop-catalog-title-banner .hk-cart-title-banner__bc {
	font-size: 12px;
}

@media (max-width: 980px) {
	.hyakushou-shop-category-title-banner .hk-cart-title-banner__text,
	.hyakushou-shop-catalog-title-banner .hk-cart-title-banner__text {
		padding: 10px 14px 12px;
	}

	.hyakushou-shop-category-title-banner .hk-cart-title-banner__bc,
	.hyakushou-shop-catalog-title-banner .hk-cart-title-banner__bc {
		font-size: 11px;
	}

	/* 商品一覧（カテゴリ・全件／おすすめ・検索）：商品詳細と同様に横幅いっぱい（main 横パディング解除・サイドバー非表示） */
	body.home:has(.shop-catalog-page) .site-content,
	body.home:has(.shop-category-result) .site-content,
	body.search:has(.shop-search-result) .site-content {
		padding-left: 10px;
		padding-right: 10px;
		box-sizing: border-box;
		overflow-x: clip;
	}

	body.home:has(.shop-catalog-page) .site-content__inner,
	body.home:has(.shop-category-result) .site-content__inner,
	body.search:has(.shop-search-result) .site-content__inner {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	body.home #primary.site-main.shop-catalog-page,
	body.home #primary.site-main:has(.shop-category-result),
	body.search #primary.site-main.shop-search-result {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		padding-left: 0;
		padding-right: 0;
		box-sizing: border-box;
		overflow-x: clip;
	}

	.site-content__inner:has(.shop-catalog-page) .site-sidebar,
	.site-content__inner:has(.shop-category-result) .site-sidebar,
	.site-content__inner:has(.shop-search-result) .site-sidebar {
		display: none !important;
	}

	.hyakushou-shop-category-title-banner,
	.hyakushou-shop-catalog-title-banner,
	.hyakushou-shop-category-title-banner .hk-cart-title-banner__inner,
	.hyakushou-shop-catalog-title-banner .hk-cart-title-banner__inner,
	.shop-search-result__hero,
	.shop-category-result,
	.shop-category-result .shop-listpage,
	.shop-catalog-page .shop-listpage,
	.shop-search-result .shop-listpage {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin-left: 0;
		margin-right: 0;
		box-sizing: border-box;
	}
}

.hyakushou-guide-title-banner__visual-title {
	margin: 0;
	padding: 0;
}

/* お買い物ガイド：見出し帯内タイトル（PC で1段階大きく） */
@media (min-width: 981px) {
	.hyakushou-guide-title-banner .hk-cart-title-banner__title {
		font-size: clamp(1.125rem, 2.35vw, 1.6rem);
	}
}

/* 大見出し：深緑帯・白文字・下線は白1px＋緑3px（お客様情報 h5 と同系） */
.hyakushou-guide-main-heading {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 14px 18px 15px;
	min-height: 50px;
	display: flex;
	align-items: center;
	background-color: #4b792d;
	background-image: linear-gradient(
		to bottom,
		#4b792d 0%,
		#4b792d calc(100% - 4px),
		#ffffff calc(100% - 4px),
		#ffffff calc(100% - 3px),
		#4b792d calc(100% - 3px)
	);
	color: #fff;
	font-size: clamp(1.0625rem, 2.4vw, 1.25rem);
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: 0.04em;
	border: none;
}

/* EMページ：大見出しと直後の小見出しの間（.hyakushou-guide-main-heading の margin:0 より後で上書き） */
.hyakushou-guide-main-heading.hyakushou-em__lead-heading {
	margin: 0 0 clamp(1.75rem, 5.5vw, 2.75rem);
}

.hyakushou-guide-main-heading.hyakushou-em__band-heading {
	margin: 1.75rem 0 clamp(1.75rem, 5.5vw, 2.75rem);
}

/* --------------------------------------------------------------------------
 * リンク集（/contents/links/）— 見出し帯・大見出しは味噌づくり教室と同型（.hyakushou-guide-article__header / .hyakushou-guide-main-heading）
 * -------------------------------------------------------------------------- */
.site-main--links-page {
	max-width: 100%;
}

.hyakushou-links-title-banner.hk-cart-title-banner {
	margin: 0 0 0.75rem;
}

/* --------------------------------------------------------------------------
 * プライバシーポリシー（/contents/privacy-policy/）— 見出し帯・大見出しは味噌ページと同型（.hyakushou-guide-article__header）
 * -------------------------------------------------------------------------- */
.site-main--privacy-policy-page {
	max-width: 100%;
}

.hyakushou-privacy-title-banner.hk-cart-title-banner {
	margin: 0 0 0.75rem;
}

.hyakushou-privacy-title-banner.hk-cart-title-banner .hk-cart-title-banner__inner,
.hyakushou-guide-article__header .hyakushou-privacy-title-banner .hk-cart-title-banner__inner {
	border-width: 4px;
}

.hyakushou-privacy .hyakushou-guide__inner {
	padding-bottom: 2rem;
}

.hyakushou-privacy .hyakushou-privacy__intro {
	margin-bottom: clamp(1.25rem, 3.5vw, 1.75rem);
	margin-top: 0;
}

/* --------------------------------------------------------------------------
 * メディア掲載情報（/contents/media/）— 見出し帯は味噌ページと同型
 * -------------------------------------------------------------------------- */
.site-main--media-page {
	max-width: 100%;
}

.hyakushou-media-title-banner.hk-cart-title-banner {
	margin: 0 0 0.75rem;
}

.hyakushou-media-title-banner.hk-cart-title-banner .hk-cart-title-banner__inner,
.hyakushou-guide-article__header .hyakushou-media-title-banner .hk-cart-title-banner__inner {
	border-width: 4px;
}

/* --------------------------------------------------------------------------
 * 健康サポート食品（/contents/support/）— 見出し帯は味噌ページと同型
 * -------------------------------------------------------------------------- */
.site-main--support-page {
	max-width: 100%;
}

.hyakushou-support-title-banner.hk-cart-title-banner {
	margin: 0 0 0.75rem;
}

.hyakushou-support-title-banner.hk-cart-title-banner .hk-cart-title-banner__inner,
.hyakushou-guide-article__header .hyakushou-support-title-banner .hk-cart-title-banner__inner {
	border-width: 4px;
}

/* --------------------------------------------------------------------------
 * 福助商品（/contents/fukujo/）— 見出し帯は味噌ページと同型
 * -------------------------------------------------------------------------- */
.site-main--fukujo-page {
	max-width: 100%;
}

.hyakushou-fukujo-title-banner.hk-cart-title-banner {
	margin: 0 0 0.75rem;
}

.hyakushou-fukujo-title-banner.hk-cart-title-banner .hk-cart-title-banner__inner,
.hyakushou-guide-article__header .hyakushou-fukujo-title-banner .hk-cart-title-banner__inner {
	border-width: 4px;
}

/* --------------------------------------------------------------------------
 * 寺尾牧場の牛乳（/contents/milk/）— 見出し帯は味噌ページと同型
 * -------------------------------------------------------------------------- */
.site-main--milk-page {
	max-width: 100%;
}

.hyakushou-milk-title-banner.hk-cart-title-banner {
	margin: 0 0 0.75rem;
}

.hyakushou-milk-title-banner.hk-cart-title-banner .hk-cart-title-banner__inner,
.hyakushou-guide-article__header .hyakushou-milk-title-banner .hk-cart-title-banner__inner {
	border-width: 4px;
}

/* --------------------------------------------------------------------------
 * 和歌山元気野菜セット（/contents/wakayama/）— 見出し帯は味噌ページと同型
 * -------------------------------------------------------------------------- */
.site-main--wakayama-page {
	max-width: 100%;
}

.hyakushou-wakayama-title-banner.hk-cart-title-banner {
	margin: 0 0 0.75rem;
}

.hyakushou-wakayama-title-banner.hk-cart-title-banner .hk-cart-title-banner__inner,
.hyakushou-guide-article__header .hyakushou-wakayama-title-banner .hk-cart-title-banner__inner {
	border-width: 4px;
}

/* --------------------------------------------------------------------------
 * Q&A（/contents/question/）— 見出し帯・大見出しは味噌づくり教室と同型
 * -------------------------------------------------------------------------- */
.site-main--question-page {
	max-width: 100%;
}

.hyakushou-question-title-banner.hk-cart-title-banner {
	margin: 0 0 0.75rem;
}

.hyakushou-question-title-banner.hk-cart-title-banner .hk-cart-title-banner__inner,
.hyakushou-guide-article__header .hyakushou-question-title-banner .hk-cart-title-banner__inner {
	border-width: 4px;
}

/* --------------------------------------------------------------------------
 * 味噌づくり教室（/contents/miso/）— 見出し帯は和歌山元気野菜セットと同型
 * -------------------------------------------------------------------------- */
.site-main--miso-page {
	max-width: 100%;
}

.hyakushou-miso-title-banner.hk-cart-title-banner {
	margin: 0 0 0.75rem;
}

.hyakushou-miso-title-banner.hk-cart-title-banner .hk-cart-title-banner__inner,
.hyakushou-guide-article__header .hyakushou-miso-title-banner .hk-cart-title-banner__inner {
	border-width: 4px;
}

/* --------------------------------------------------------------------------
 * 特定商取引法に基づく表記（/shop/order/）— 見出し帯はお買い物ガイドと同型（.hyakushou-guide-title-banner）
 * -------------------------------------------------------------------------- */
.site-main--tokushoho-order-page {
	max-width: 100%;
	padding-bottom: 2rem;
}

.hyakushou-tokushoho .hyakushou-guide__inner > :first-child {
	margin-top: 0;
}

.hyakushou-tokushoho-table {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	border-collapse: collapse;
	font-size: 0.9375rem;
	line-height: 1.65;
	color: #111;
}

.hyakushou-tokushoho-table th,
.hyakushou-tokushoho-table td {
	box-sizing: border-box;
	padding: 0.65rem 0.85rem;
	vertical-align: top;
	text-align: left;
	border: 1px solid #c8d4b8;
}

.hyakushou-tokushoho-table th {
	width: 11.5rem;
	max-width: 34%;
	font-weight: 700;
	background-color: #f4f7ef;
	white-space: nowrap;
}

.hyakushou-tokushoho-table td {
	background-color: #fff;
	word-break: break-word;
}

.hyakushou-tokushoho-table__link,
.hyakushou-tokushoho-table__mailto {
	color: #2d5a16;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.hyakushou-tokushoho-table__link:hover,
.hyakushou-tokushoho-table__link:focus,
.hyakushou-tokushoho-table__mailto:hover,
.hyakushou-tokushoho-table__mailto:focus {
	color: #1a350d;
}

@media (max-width: 600px) {
	.hyakushou-tokushoho-table,
	.hyakushou-tokushoho-table tbody,
	.hyakushou-tokushoho-table tr,
	.hyakushou-tokushoho-table th,
	.hyakushou-tokushoho-table td {
		display: block;
		width: 100%;
		max-width: 100%;
	}

	.hyakushou-tokushoho-table th {
		white-space: normal;
		border-bottom: none;
		padding-bottom: 0.35rem;
	}

	.hyakushou-tokushoho-table td {
		border-top: none;
		padding-top: 0.35rem;
		padding-bottom: 0.85rem;
	}
}

.hyakushou-links {
	box-sizing: border-box;
	max-width: 100%;
	font-size: 0.9375rem;
	line-height: 1.65;
	color: #111;
}

.hyakushou-links-section {
	margin: 0 0 2rem;
}

.hyakushou-links-section__heading {
	margin: 0 0 12px;
}

/* 「おすすめサイト」帯：フラットな緑地・上に細い濃緑線・下端は白1px＋緑（斜線なし）。太字は他の大見出しより一段細い */
.hyakushou-links-section__heading.hyakushou-guide-main-heading {
	background-color: #4b792d;
	background-image: linear-gradient(
		to bottom,
		#4b792d 0%,
		#4b792d calc(100% - 5px),
		#ffffff calc(100% - 5px),
		#ffffff calc(100% - 4px),
		#3a6824 calc(100% - 4px),
		#3a6824 100%
	);
	border-top: 1px solid #2d4a1d;
	font-weight: 700;
	letter-spacing: 0.03em;
}

.hyakushou-links-list {
	margin: 0;
	padding: 0.35rem 0 0;
	list-style: none;
}

.hyakushou-links-list__item {
	margin: 0;
	padding: 10px 0 12px;
	border-bottom: none;
	line-height: 1.6;
}

.hyakushou-links-list__item:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

.hyakushou-links-list__label {
	font-weight: 400;
	color: #111;
}

.hyakushou-links-list__sep {
	font-weight: 400;
	color: #111;
}

.hyakushou-links-list__link {
	color: #0b5cab;
	text-decoration: underline;
	font-weight: 400;
	word-break: break-all;
}

.hyakushou-links-list__link:hover {
	color: #063d73;
}

.hyakushou-links .entry-content > *:first-child {
	margin-top: 0;
}

/* --------------------------------------------------------------------------
 * MYページ（会員ログイン・登録 / Welcart member）
 * -------------------------------------------------------------------------- */
.site-main--mypage-login {
	max-width: 100%;
}

/* 会員ログイン：見出し帯より下の本文左右をヘッダーに揃える
 * モバイル … カテゴリ行と同程度（.site-content 10px のみ。main / entry の横を打ち消し）。
 * PC … .hk-header-desktop__inner と同じ 12px を main に集約（entry の横 12px を打ち消し）。
 */
@media (max-width: 980px) {
	/* 会員登録・登録完了：ヘッダー検索帯と同程度の横余白（.site-content 10px のみ） */
	body.hyakushou-usces-member-page:has(.site-main--mypage-login) .site-content,
	body.hyakushou-usces-member-page:has(.site-main--mypage-newmember) .site-content {
		padding-left: 10px;
		padding-right: 10px;
		box-sizing: border-box;
	}

	body.hyakushou-usces-member-page:has(.site-main--mypage-login) .site-content__inner,
	body.hyakushou-usces-member-page:has(.site-main--mypage-newmember) .site-content__inner {
		max-width: 100%;
		min-width: 0;
		width: 100%;
		box-sizing: border-box;
		overflow-x: clip;
	}

	body.hyakushou-usces-member-page #primary.site-main.site-main--mypage-login,
	body.hyakushou-usces-member-page #primary.site-main.site-main--mypage-newmember,
	body.hyakushou-usces-member-page .site-main.site-main--mypage-login,
	body.hyakushou-usces-member-page .site-main.site-main--mypage-newmember {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		padding-left: 0;
		padding-right: 0;
		box-sizing: border-box;
		overflow-x: clip;
	}

	body.hyakushou-usces-member-page .site-main.site-main--mypage-login .hyakushou-mypage-article,
	body.hyakushou-usces-member-page .site-main.site-main--mypage-newmember .hyakushou-mypage-article {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin-left: 0;
		margin-right: 0;
		box-sizing: border-box;
	}

	body.hyakushou-usces-member-page .hyakushou-mypage-login,
	body.hyakushou-usces-member-page .site-main.site-main--mypage-login .entry-content.hyakushou-mypage-login,
	body.hyakushou-usces-member-page .site-main.site-main--mypage-newmember .entry-content.hyakushou-mypage-newmember,
	body.hyakushou-usces-member-page .site-main .entry-content:has(#memberpages) {
		width: 100%;
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
		box-sizing: border-box;
	}

	.site-main.site-main--mypage-login .hyakushou-mypage-article__header,
	.site-main.site-main--mypage-newmember .hyakushou-mypage-article__header,
	.site-main.site-main--mypage-login .entry-header.hyakushou-mypage-article__header,
	.site-main.site-main--mypage-newmember .entry-header.hyakushou-mypage-article__header,
	.site-main.site-main--mypage-login .hyakushou-mypage-title-banner,
	.site-main.site-main--mypage-newmember .hyakushou-mypage-title-banner,
	.site-main.site-main--mypage-login .hyakushou-mypage-title-banner .hk-cart-title-banner__inner,
	.site-main.site-main--mypage-newmember .hyakushou-mypage-title-banner .hk-cart-title-banner__inner {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		box-sizing: border-box;
	}

	.hyakushou-mypage-newmember__section--completion,
	.hyakushou-mypage-newmember__section--completion .hyakushou-mypage-login__band,
	#memberpages.hyakushou-mypage-newmember-completion,
	#memberpages.hyakushou-mypage-newmember-completion > .post {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		text-align: left;
		box-sizing: border-box;
	}

	body.hyakushou-usces-member-page:has(.site-main--mypage-login) .site-sidebar,
	body.hyakushou-usces-member-page:has(.site-main--mypage-newmember) .site-sidebar {
		display: none;
	}
}

@media (min-width: 981px) {
	body.hyakushou-usces-member-page #primary.site-main.site-main--mypage-login,
	body.hyakushou-usces-member-page .site-main.site-main--mypage-login {
		padding-left: 12px;
		padding-right: 12px;
	}

	body.hyakushou-usces-member-page .site-main.site-main--mypage-login .entry-content.hyakushou-mypage-login {
		padding-left: 0;
		padding-right: 0;
	}
}

body.hyakushou-usces-member-page .site-main.site-main--mypage-login .hyakushou-mypage-login__form-wrap {
	padding-left: 0;
	padding-right: 0;
}

.hyakushou-mypage-article__header {
	margin: 0 0 1.25rem;
	padding: 0;
	box-sizing: border-box;
}

.hyakushou-mypage-title-banner.hk-cart-title-banner {
	margin: 0 0 0.75rem;
}

.hyakushou-mypage-login {
	box-sizing: border-box;
	color: #111;
	font-size: 0.9375rem;
	line-height: 1.75;
}

@media (min-width: 981px) {
	.hyakushou-mypage-login {
		max-width: 52rem;
		margin: 0 auto;
		padding: 0 12px 2.5rem;
	}
}

@media (max-width: 980px) {
	.hyakushou-mypage-login {
		width: 100%;
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding: 0 0 2.5rem;
	}
}

.hyakushou-mypage-login__section {
	margin: 0 0 2.5rem;
}

/* セクション見出しは固定ページと同一クラス（MYページのみウェイトを一段細く） */
.hyakushou-mypage-login__band.hyakushou-guide-main-heading,
.hyakushou-mypage-newmember .hyakushou-mypage-login__band.hyakushou-guide-main-heading {
	margin: 0 0 1.25rem;
	font-weight: 700;
}

.hyakushou-mypage-login__intro {
	margin: 0 0 1rem;
	max-width: none;
	text-align: left;
}

.hyakushou-mypage-login__intro--sub {
	margin-top: 0.35rem;
}

.hyakushou-mypage-login__form-wrap {
	max-width: 32rem;
	margin: 0 auto;
	padding: 0 8px;
}

.hyakushou-mypage-login__error {
	margin: 0 0 1rem;
	padding: 10px 12px;
	background: #fff5f5;
	border: 1px solid #e0b4b4;
	color: #c62828;
	font-size: 0.875rem;
}

/* Welcart 互換：パスワード欄前のダミー input を画面外に */
.hyakushou-mypage-login .hidden,
.shop-sideparts-login .hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	border: 0 !important;
}

.hyakushou-mypage-login__field {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 14px;
	margin: 0 0 0.85rem;
}

.hyakushou-mypage-login__label {
	flex: 0 0 auto;
	min-width: 9em;
	text-align: right;
	font-weight: 700;
}

.hyakushou-mypage-login__control {
	flex: 1 1 220px;
	max-width: 340px;
}

.hyakushou-mypage-login__input {
	box-sizing: border-box;
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #c8c8c8;
	border-radius: 2px;
	background: #fff;
	font-size: 1rem;
}

.hyakushou-mypage-login__remember {
	margin: 0.15rem 0 1.35rem;
	text-align: center;
	font-size: 0.875rem;
}

.hyakushou-mypage-login__submit-wrap {
	margin: 0 0 1.5rem;
	text-align: center;
}

.hyakushou-mypage-login__submit {
	box-sizing: border-box;
	display: inline-block;
	min-width: 220px;
	padding: 12px 32px;
	border: none;
	border-radius: 2px;
	background: #d9231d;
	color: #fff !important;
	font-size: 1rem;
	font-weight: 800;
	font-family: inherit;
	line-height: 1.35;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

.hyakushou-mypage-login__submit:hover {
	filter: brightness(1.06);
	color: #fff !important;
}

.hyakushou-mypage-login__submit--link {
	padding-top: 14px;
	padding-bottom: 14px;
}

.hyakushou-mypage-login__notes {
	margin: 0;
	padding: 0;
	max-width: 36rem;
	margin-left: auto;
	margin-right: auto;
	list-style: none;
	text-align: left;
}

.hyakushou-mypage-login__note {
	margin: 0 0 0.65rem;
	font-size: 0.8125rem;
	line-height: 1.65;
	color: #222;
}

.hyakushou-mypage-login__note a {
	text-decoration: underline;
	color: #111;
}

.hyakushou-mypage-login__note a:hover {
	color: #3a6b2c;
}

.hyakushou-mypage-login__cta-wrap {
	margin: 1.75rem 0 0;
	text-align: center;
}

.hyakushou-mypage-newmember__section .hyakushou-mypage-newmember__legacy {
	margin: 0;
}

/* 会員登録：見出し帯下の余白（エラーはセル内表示のため帯下のみ調整） */
.hyakushou-mypage-newmember__section > .hyakushou-mypage-login__band.hyakushou-guide-main-heading {
	margin: 0 0 0.5rem;
}

/* 会員登録：テーブル先頭の未分類エラー行 */
.hyakushou-mypage-newmember .hyakushou-newmember-error-summary td {
	padding: 8px 6px 4px;
	border-bottom: 0;
	color: #c62828;
}

/* 会員登録：各セル内の検証エラー（赤文字・入力欄と同じ td） */
.hyakushou-mypage-newmember .hyakushou-field-errors {
	margin: 0.35rem 0 0.5rem;
	padding: 0;
	color: #c62828;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.55;
}

.hyakushou-mypage-newmember .customer_form td > .hyakushou-field-errors:first-child {
	margin: 0 0 0.5rem;
}

.hyakushou-mypage-newmember .customer_form td input ~ .hyakushou-field-errors,
.hyakushou-mypage-newmember .customer_form td select ~ .hyakushou-field-errors {
	margin: 0.35rem 0 0;
}

.hyakushou-mypage-newmember .hyakushou-field-errors__line {
	margin: 0 0 0.25rem;
	color: #c62828;
}

.hyakushou-mypage-newmember .hyakushou-field-errors__line:last-child {
	margin-bottom: 0;
}

.hyakushou-mypage-newmember .customer_form td:has(.hyakushou-field-errors) input[type="text"],
.hyakushou-mypage-newmember .customer_form td:has(.hyakushou-field-errors) input[type="email"],
.hyakushou-mypage-newmember .customer_form td:has(.hyakushou-field-errors) input[type="password"],
.hyakushou-mypage-newmember .customer_form td:has(.hyakushou-field-errors) input[type="tel"],
.hyakushou-mypage-newmember .customer_form td:has(.hyakushou-field-errors) select {
	background-color: #fff5f8;
}

.hyakushou-mypage-newmember .customer_form td.name_td:has(.hyakushou-field-errors) input[type="text"],
.hyakushou-mypage-newmember .customer_form td.name_td:has(.hyakushou-field-errors) input[type="email"],
.hyakushou-mypage-newmember .customer_form .hyakushou-jp-split-fields:has(.hyakushou-field-errors) input[type="text"],
.hyakushou-mypage-newmember .customer_form .hyakushou-jp-split-fields:has(.hyakushou-field-errors) input[type="email"] {
	background-color: #fff5f8;
}

/* JP：姓・名／フリガナを 1 セルにまとめたときの横並び（PHP hyakushou_child_merge_jp_addressform_name_furikana_cells） */
body:not(.wp-admin) .customer_form .hyakushou-jp-split-fields {
	vertical-align: middle;
}

@media (min-width: 981px) {
	body:not(.wp-admin) .customer_form .hyakushou-jp-split-fields__item {
		display: inline-flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0.25rem 0.45rem;
		vertical-align: middle;
	}

	body:not(.wp-admin) .customer_form .hyakushou-jp-split-fields__item + .hyakushou-jp-split-fields__item {
		margin-left: 1rem;
	}
}

@media (max-width: 980px) {
	body:not(.wp-admin) .customer_form .hyakushou-jp-split-fields {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0.5rem;
	}

	body:not(.wp-admin) .customer_form .hyakushou-jp-split-fields__item + .hyakushou-jp-split-fields__item {
		margin-left: 0 !important;
	}
}

/* JP：郵便番号行 — グリッドは td ではなく .hyakushou-zipcode-layout（td の display:grid は colspan を壊す） */
body:not(.wp-admin) .customer_form #zipcode_row .hyakushou-zipcode-layout {
	display: grid;
	/* 1列目=郵便番号入力、2列目=検索リンク（入力のすぐ右）、3列目=余白（テーブルセル構造はそのまま） */
	grid-template-columns: max-content max-content minmax(0, 1fr);
	column-gap: 10px;
	row-gap: 6px;
	align-items: center;
}

body:not(.wp-admin) .customer_form #zipcode_row .hyakushou-zipcode-layout > input#zipcode {
	grid-column: 1;
	grid-row: 1;
	justify-self: start;
}

body:not(.wp-admin) .customer_form #zipcode_row .hyakushou-zipcode-layout > .hyakushou-zipcode-extra {
	display: contents;
	font-size: 0.875rem;
	line-height: 1.55;
}

/* Welcart「住所検索」ボタンあり：入力の右にボタン、その右にリンク */
body:not(.wp-admin) .customer_form #zipcode_row .hyakushou-zipcode-layout:has(> input#search_zipcode) > input#search_zipcode,
body:not(.wp-admin) .customer_form #zipcode_row .hyakushou-zipcode-layout:has(> input.search-zipcode.button) > input.search-zipcode.button {
	grid-column: 2;
	grid-row: 1;
	justify-self: start;
	width: auto;
	max-width: none;
}

body:not(.wp-admin) .customer_form #zipcode_row .hyakushou-zipcode-layout:has(> input#search_zipcode) .hyakushou-zipcode-search-link,
body:not(.wp-admin) .customer_form #zipcode_row .hyakushou-zipcode-layout:has(> input.search-zipcode.button) .hyakushou-zipcode-search-link {
	grid-column: 3;
	grid-row: 1;
	justify-self: start;
	text-align: left;
	white-space: nowrap;
	text-decoration: underline;
	color: #111;
}

/* 住所検索ボタンなし：リンクを入力のすぐ右（2列目） */
body:not(.wp-admin) .customer_form #zipcode_row .hyakushou-zipcode-layout:not(:has(> input#search_zipcode)):not(:has(> input.search-zipcode.button)) .hyakushou-zipcode-search-link {
	grid-column: 2;
	grid-row: 1;
	justify-self: start;
	text-align: left;
	white-space: nowrap;
	text-decoration: underline;
	color: #111;
}

body:not(.wp-admin) .customer_form #zipcode_row .hyakushou-zipcode-layout .hyakushou-zipcode-search-link:hover {
	color: #3a6b2c;
}

body:not(.wp-admin) .customer_form #zipcode_row .hyakushou-zipcode-layout > .hyakushou-zipcode-example {
	grid-column: 1 / -1;
	grid-row: 2;
	justify-self: start;
	margin: 0;
	font-size: 0.8125rem;
	color: #555;
	line-height: 1.45;
}

body:not(.wp-admin) .customer_form #zipcode_row .hyakushou-zipcode-layout .hyakushou-zipcode-extra__row--btn {
	grid-column: 1 / -1;
	grid-row: 3;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	margin: 0;
}

body:not(.wp-admin) .customer_form #zipcode_row .hyakushou-zipcode-layout .hyakushou-zipcode-extra__row--hint {
	grid-column: 1 / -1;
	grid-row: 4;
	margin: 0;
}

body:not(.wp-admin) .customer_form #zipcode_row input.search-zipcode.button,
body:not(.wp-admin) .customer_form #zipcode_row input#search_zipcode,
body:not(.wp-admin) .customer_form #zipcode_row .hyakushou-autofill-zipcode {
	box-sizing: border-box;
	padding: 8px 16px;
	border: none;
	border-radius: 2px;
	background: #c62828;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 700;
	cursor: pointer;
	line-height: 1.4;
}

body:not(.wp-admin) .customer_form #zipcode_row input.search-zipcode.button:hover,
body:not(.wp-admin) .customer_form #zipcode_row input#search_zipcode:hover,
body:not(.wp-admin) .customer_form #zipcode_row .hyakushou-autofill-zipcode:hover {
	filter: brightness(1.06);
}

body:not(.wp-admin) .customer_form #zipcode_row .hyakushou-zipcode-autofill-hint {
	font-size: 0.8125rem;
	color: #c62828;
	line-height: 1.45;
}

.hyakushou-mypage-newmember__table {
	width: 100%;
	max-width: 100%;
}

.hyakushou-mypage-newmember__table th,
.hyakushou-mypage-newmember__table td {
	padding: 8px 6px;
	vertical-align: top;
}

/* 会員登録：メールマガジン（参照デザイン・コンパクト） */
.hyakushou-mypage-newmember tr.hyakushou-mailmaga-field th.hyakushou-mailmaga-field__th,
.hyakushou-mypage-newmember tr.hyakushou-mailmaga-field td.hyakushou-mailmaga-field__td {
	padding: 4px 8px;
	vertical-align: middle;
	border: 1px solid #d8d8d8;
}

.hyakushou-mypage-newmember tr.hyakushou-mailmaga-field th.hyakushou-mailmaga-field__th {
	background: #f0f0f0;
	font-weight: 400;
	font-size: 0.875rem;
	line-height: 1.45;
	white-space: normal;
}

.hyakushou-mypage-newmember tr.hyakushou-mailmaga-field td.hyakushou-mailmaga-field__td {
	background: #fff;
}

.hyakushou-mailmaga-field__required {
	margin-left: 0.15em;
	color: #c62828;
	font-weight: 700;
}

.hyakushou-mailmaga-options {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 0;
	padding: 0;
}

.hyakushou-mailmaga-choice {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.35em;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 1px 0;
	box-sizing: border-box;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.45;
	cursor: pointer;
}

/* Welcart #newmember .customer_form input { width:120px } がラジオにも当たり、丸とラベルの間が広がるため打ち消す */
.hyakushou-mypage-newmember .hyakushou-mailmaga-choice input[type="radio"],
#newmember .customer_form tr.hyakushou-mailmaga-field .hyakushou-mailmaga-choice input[type="radio"] {
	width: auto !important;
	max-width: none;
	min-width: 0;
	flex-shrink: 0;
	margin: 0;
	vertical-align: middle;
}

.hyakushou-mailmaga-choice__text {
	flex: 0 1 auto;
}

.hyakushou-mypage-newmember tr.hyakushou-mailmaga-field td.hyakushou-mailmaga-field__td:has(.hyakushou-field-errors) {
	background-color: #fff5f8;
}

/*
 * デスクトップ：Welcart 3 列（th + データ2列）のバランスを取る。
 * - 名前列の width:1% はデータ列を潰し th が異常に広がり、郵便番号の colspan=2 も狭く見えるため使わない。
 * - table-layout:fixed + th の幅でラベル列を抑え、残りをデータ列（colspan 含む）に渡す。
 */
@media (min-width: 981px) {
	body:not(.wp-admin) #newmember table.customer_form,
	body.hyakushou-usces-member-page #memberinfo table.customer_form,
	article.hyakushou-member-auth-page #memberedit table.customer_form {
		table-layout: fixed;
	}

	body:not(.wp-admin) #newmember table.customer_form > tbody > tr > th,
	body.hyakushou-usces-member-page #memberinfo table.customer_form > tbody > tr > th,
	article.hyakushou-member-auth-page #memberedit table.customer_form > tbody > tr > th {
		width: 168px;
		max-width: 36%;
		min-width: 10.5rem;
		box-sizing: border-box;
	}

	/* 郵便番号は colspan=2。データ域いっぱいに使う */
	body:not(.wp-admin) .customer_form tr#zipcode_row > td[colspan="2"],
	body.hyakushou-usces-member-page #memberinfo .customer_form tr#zipcode_row > td[colspan="2"],
	article.hyakushou-member-auth-page #memberedit .customer_form tr#zipcode_row > td[colspan="2"] {
		width: auto;
		min-width: 0;
	}

	body:not(.wp-admin) .customer_form tr#name_row.inp1 td.name_td,
	body:not(.wp-admin) .customer_form tr#name_row.inp1 td.hyakushou-jp-split-fields,
	body:not(.wp-admin) .customer_form tr#furikana_row.inp1 > td,
	body:not(.wp-admin) .customer_form tr#furikana_row.inp1 td.hyakushou-jp-split-fields {
		width: auto;
		min-width: 0;
		vertical-align: middle;
	}

	body:not(.wp-admin) .customer_form tr#name_row.inp1 td.name_td .hyakushou-field-errors,
	body:not(.wp-admin) .customer_form tr#name_row.inp1 td.hyakushou-jp-split-fields .hyakushou-field-errors,
	body:not(.wp-admin) .customer_form tr#furikana_row.inp1 > td .hyakushou-field-errors,
	body:not(.wp-admin) .customer_form tr#furikana_row.inp1 td.hyakushou-jp-split-fields .hyakushou-field-errors {
		white-space: normal;
	}

	/* 会員登録：メールマガジン（セル内左右余白・PC） */
	.hyakushou-mypage-newmember tr.hyakushou-mailmaga-field th.hyakushou-mailmaga-field__th,
	.hyakushou-mypage-newmember tr.hyakushou-mailmaga-field td.hyakushou-mailmaga-field__td {
		padding: 4px 10px;
	}
}

.hyakushou-mypage-newmember__send {
	margin-top: 1rem;
	text-align: center;
}

.hyakushou-mypage-newmember__confirm-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.75rem 1rem;
	margin-top: 1rem;
}

.hyakushou-mypage-newmember__confirm-actions .hyakushou-mypage-login__submit,
.hyakushou-mypage-newmember__confirm-actions .hyakushou-mypage-newmember__back-button {
	font-weight: 700;
}

.hyakushou-mypage-newmember__confirm-actions .hyakushou-mypage-newmember__back-button {
	text-decoration: none;
	text-align: center;
}

.hyakushou-mypage-newmember__confirm-error {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	border-radius: 4px;
	background: rgba(180, 0, 0, 0.06);
	color: #c62828;
}

.hyakushou-mypage-newmember__terms-tr th {
	vertical-align: top;
	font-size: 1.125rem;
	line-height: 1.55;
	font-weight: 700;
}

/* Welcart #newmember .agree_member_area { margin:20px } / .at_check_area { font-size:1.5em } を規約行のみ打ち消す */
#newmember tr.hyakushou-mypage-newmember__terms-tr .hyakushou-mypage-newmember__terms-wrap.agree_member_area {
	margin: 0;
	padding: 0;
	max-width: 100%;
}

#newmember tr.hyakushou-mypage-newmember__terms-tr textarea.at_cont_text.hyakushou-mypage-newmember__terms-text {
	display: block;
	width: 100% !important;
	max-width: 100%;
	margin: 0 !important;
	height: auto;
	min-height: 12rem;
	max-height: 20rem;
	overflow-y: auto;
	box-sizing: border-box;
	font-size: 0.8125rem;
	line-height: 1.55;
	resize: vertical;
	background-color: #fff;
}

#newmember tr.hyakushou-mypage-newmember__terms-tr .at_check_area.hyakushou-mypage-newmember__terms-check {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
	column-gap: 10px;
	row-gap: 0.25rem;
	margin-top: 0.5rem;
	text-align: left;
	font-size: 0.875rem;
	font-weight: 400;
}

#newmember tr.hyakushou-mypage-newmember__terms-tr .hyakushou-mypage-newmember__terms-check .at_check {
	margin: 0;
	flex-shrink: 0;
	/* Welcart #newmember .customer_form input { width:120px } が checkbox にも当たるため解除 */
	width: auto !important;
	max-width: none;
	min-width: 0;
	vertical-align: middle;
}

.hyakushou-mypage-newmember .customer_form tr.hyakushou-mypage-newmember__terms-tr > td:has(> .hyakushou-field-errors) {
	background-color: #fff5f8;
}

.hyakushou-mypage-newmember .customer_form tr.hyakushou-mypage-newmember__terms-tr > td:has(> .hyakushou-field-errors) .hyakushou-mypage-newmember__terms-text {
	background-color: #fff5f8;
}

.hyakushou-mypage-newmember__terms-label {
	cursor: pointer;
	margin: 0;
	padding: 0;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.5;
}

.hyakushou-mypage-newmember-completion__body {
	margin: 0.5rem 0 1rem;
}

.hyakushou-mypage-newmember-completion__links {
	margin: 1rem 0 0;
	text-align: center;
}

.hyakushou-mypage-newmember-completion__links a {
	text-decoration: underline;
}

/* 登録完了：Welcart の .post ラップを含めフォーム領域と同幅 */
.hyakushou-mypage-newmember__section--completion,
.hyakushou-mypage-newmember__section--completion .hyakushou-mypage-login__band,
#memberpages.hyakushou-mypage-newmember-completion,
#memberpages.hyakushou-mypage-newmember-completion > .post {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}

#memberpages.hyakushou-mypage-newmember-completion > .post {
	margin-left: 0;
	margin-right: 0;
	text-align: left;
}

.hyakushou-mypage-newmember-completion__body,
.hyakushou-mypage-newmember-completion__links,
.hyakushou-mypage-newmember__section--completion .hyakushou-mypage-newmember__send {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.hyakushou-mypage-newmember__section--completion .hyakushou-mypage-newmember__send .hyakushou-mypage-login__submit {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.hyakushou-mypage-newmember__back {
	margin: 1.5rem 0 0;
	text-align: center;
}

.hyakushou-mypage-newmember__back a {
	text-decoration: underline;
}

/* Welcart フロント：「通貨：○○」表記を非表示 */
body:not(.wp-admin) .currency_code {
	display: none !important;
}

/* --------------------------------------------------------------------------
 * Welcart 会員ページ（ログイン済み・固定ページ＋the_content）
 * -------------------------------------------------------------------------- */

/* 親テーマの重複タイトル（見出し帯へ集約） */
body.hyakushou-usces-member-logged-in .site-main .entry-header .entry-title {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

body.hyakushou-usces-member-logged-in .entry-content > .hyakushou-mypage-title-banner.hk-cart-title-banner {
	margin: 0 0 0.75rem;
}

/* ログイン済み会員ページ：本文幅・タイポは MY ログイン画面と同系（52rem 中央寄せは PC のみ） */
body.hyakushou-usces-member-page .site-main .entry-content {
	box-sizing: border-box;
	min-width: 0;
	overflow-x: hidden;
	color: #111;
	font-size: 1rem;
	line-height: 1.75;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

@media (min-width: 981px) {
	body.hyakushou-usces-member-page .site-main .entry-content {
		max-width: 52rem;
		margin-left: auto;
		margin-right: auto;
		padding: 0 12px 2.5rem;
	}
}

@media (max-width: 980px) {
	body.hyakushou-usces-member-page .site-main .entry-content {
		width: 100%;
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding: 0 0 2.5rem;
	}
}

/* 会員固定ページ：本文先頭の見出し帯がビューポート外へ広がらないよう固定 */
body.hyakushou-usces-member-page .site-main .entry-content > .hk-cart-title-banner.hyakushou-mypage-title-banner,
body.hyakushou-usces-member-page .site-main .entry-content > .hk-cart-title-banner.hyakushou-guide-title-banner {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

body.hyakushou-usces-member-page .site-main .entry-content > .hk-cart-title-banner .hk-cart-title-banner__inner {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

/* Welcart 既定の nowrap 系（#memberdetail 内で横伸びしやすい） */
body.hyakushou-usces-member-page #memberinfo #memberdetail .date,
body.hyakushou-usces-member-page #memberinfo #memberdetail .rightnum {
	white-space: normal;
}

body.hyakushou-usces-member-page #memberinfo table.customer_form th,
body.hyakushou-usces-member-page #memberinfo #memberdetail th {
	font-size: 1rem !important;
	line-height: 1.55 !important;
	font-weight: 700;
}

body.hyakushou-usces-member-page #memberinfo #memberdetail td {
	font-size: 1rem !important;
	line-height: 1.6 !important;
}

body.hyakushou-usces-member-page #memberpages {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}

body.hyakushou-usces-member-page #memberinfo .customer_form input[type="text"],
body.hyakushou-usces-member-page #memberinfo .customer_form input[type="email"],
body.hyakushou-usces-member-page #memberinfo .customer_form input[type="password"],
body.hyakushou-usces-member-page #memberinfo .customer_form input[type="tel"],
body.hyakushou-usces-member-page #memberinfo .customer_form input[type="number"],
body.hyakushou-usces-member-page #memberinfo .customer_form select,
body.hyakushou-usces-member-page #memberinfo .customer_form textarea {
	box-sizing: border-box;
	max-width: 100%;
	min-width: 0;
}

/* 会員認証（memberverifying）：マーカーはレイアウト識別のみ（非表示） */
.hyakushou-usces-member-verifying-mark {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* 会員認証ページ：「会員認証」見出しを一段大きく・中央寄せ */
body.hyakushou-usces-member-verifying .site-main .entry-header .entry-title,
body.hyakushou-usces-member-page .site-main article:has(.hyakushou-usces-member-verifying-mark) .entry-header .entry-title {
	font-size: clamp(1.45rem, 3.35vw, 1.95rem);
	font-weight: 700;
	line-height: 1.35;
	color: #111;
}

body.hyakushou-usces-member-verifying .site-main .entry-header,
body.hyakushou-usces-member-page .site-main article:has(.hyakushou-usces-member-verifying-mark) .entry-header {
	text-align: center;
}

body.hyakushou-usces-member-verifying #memberpages > .post,
body.hyakushou-usces-member-page .site-main article:has(.hyakushou-usces-member-verifying-mark) #memberpages > .post {
	box-sizing: border-box;
	max-width: 38rem;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

body.hyakushou-usces-member-verifying #memberpages > .post .header_explanation,
body.hyakushou-usces-member-verifying #memberpages > .post .footer_explanation,
body.hyakushou-usces-member-page .site-main article:has(.hyakushou-usces-member-verifying-mark) #memberpages > .post .header_explanation,
body.hyakushou-usces-member-page .site-main article:has(.hyakushou-usces-member-verifying-mark) #memberpages > .post .footer_explanation {
	text-align: center;
}

body.hyakushou-usces-member-verifying #memberpages > .post h2,
body.hyakushou-usces-member-verifying #memberpages > .post p,
body.hyakushou-usces-member-page .site-main article:has(.hyakushou-usces-member-verifying-mark) #memberpages > .post h2,
body.hyakushou-usces-member-page .site-main article:has(.hyakushou-usces-member-verifying-mark) #memberpages > .post p {
	text-align: center;
}

body.hyakushou-usces-member-verifying #memberpages > .post .send,
body.hyakushou-usces-member-page .site-main article:has(.hyakushou-usces-member-verifying-mark) #memberpages > .post .send {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1rem;
}

/* 会員情報編集メール認証完了（VerifyMembersEmail 専用テンプレ） */
article.hyakushou-member-auth-page .member_page_title {
	text-align: center;
	margin: 0.85rem 0 0.5rem;
	font-size: clamp(1.45rem, 3.35vw, 1.95rem);
	font-weight: 700;
}

article.hyakushou-member-auth-page #memberpages {
	max-width: 38rem;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

article.hyakushou-member-auth-page #memberedit h2,
article.hyakushou-member-auth-page #memberedit p {
	text-align: center;
}

article.hyakushou-member-auth-page #memberedit .send {
	display: flex;
	justify-content: center;
	margin-top: 1.25rem;
}

/* 会員情報編集へ・ログアウト：黒・アンダーライン・横並び（文言・URLは Welcart 既定のまま） */
body.hyakushou-usces-member-page #memberpages ul.member_submenu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 1.35rem;
	margin: 0 0 1.1rem;
	padding: 0 0 0.75rem;
	list-style: none;
	border-bottom: 1px dotted #c8c8c8;
}

body.hyakushou-usces-member-page #memberpages ul.member_submenu a {
	color: #111;
	text-decoration: underline;
	font-size: 0.9375rem;
}

body.hyakushou-usces-member-page #memberpages ul.member_submenu a:hover,
body.hyakushou-usces-member-page #memberpages ul.member_submenu a:focus {
	color: #111;
	text-decoration: underline;
}

body.hyakushou-mypage-panel-withdraw #memberpages form table.customer_form,
body.hyakushou-mypage-panel-withdraw #memberpages form h3:not(.hyakushou-member-withdraw-intro__title),
body.hyakushou-mypage-panel-withdraw #memberpages form .send input:not([name="deletemember"]),
body.hyakushou-mypage-panel-withdraw #memberpages form input:not([name="deletemember"]),
body.hyakushou-mypage-panel-withdraw #memberpages form select,
body.hyakushou-mypage-panel-withdraw #memberpages form textarea {
	display: none !important;
}

body.hyakushou-mypage-panel-withdraw #memberpages form input[name="deletemember"] {
	display: inline-block !important;
}

/* 購入履歴の大見出し（深緑帯・白文字・.hyakushou-guide-main-heading と同型） */
body.hyakushou-usces-member-page #memberinfo > h3:first-of-type {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 0.75rem;
	padding: 14px 18px 15px;
	min-height: 50px;
	display: flex;
	align-items: center;
	background-color: #4b792d;
	background-image: linear-gradient(
		to bottom,
		#4b792d 0%,
		#4b792d calc(100% - 4px),
		#ffffff calc(100% - 4px),
		#ffffff calc(100% - 3px),
		#4b792d calc(100% - 3px)
	);
	color: #fff;
	font-size: clamp(1.0625rem, 2.4vw, 1.25rem);
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: 0.04em;
	border: none;
}

/* 購入履歴テーブル：1行目（列見出し） */
body.hyakushou-usces-member-page .history-area table#history_head thead tr.order_head_label th {
	font-size: 0.75rem;
	line-height: 1.5;
}

/* 購入履歴テーブル：2行目（サマリー値） */
body.hyakushou-usces-member-page .history-area table#history_head tbody tr.order_head_value td {
	font-size: 0.8125rem;
	line-height: 1.5;
}

body.hyakushou-usces-member-page #memberinfo .history-area,
body.hyakushou-usces-member-page .history-area {
	height: auto;
	max-height: none;
	overflow-x: auto;
	overflow-y: visible;
}

/* 購入履歴一覧サマリー：金額以外は中央寄せ */
body.hyakushou-usces-member-page #memberinfo .history-area table.hyakushou-order-history-summary th,
body.hyakushou-usces-member-page #memberinfo .history-area table.hyakushou-order-history-summary td:not(.purchase_price) {
	text-align: center;
	vertical-align: middle;
}

body.hyakushou-usces-member-page #memberinfo .history-area table.hyakushou-order-history-summary th.purchase_price,
body.hyakushou-usces-member-page #memberinfo .history-area table.hyakushou-order-history-summary td.purchase_price {
	text-align: right;
}

body.hyakushou-usces-member-page .hyakushou-order-history-back {
	margin: 0;
}

body.hyakushou-usces-member-page .hyakushou-order-history-reorder {
	margin: 0;
}

body.hyakushou-usces-member-page .hyakushou-order-history-back a,
body.hyakushou-usces-member-page .hyakushou-order-history-back-btn {
	text-decoration: none;
}

body.hyakushou-usces-member-page .hyakushou-order-history-reorder-btn {
	display: inline-block;
	padding: 0.55rem 1.25rem;
	border: 1px solid #8b2f1f;
	background: linear-gradient(to bottom, #c53d2d 0%, #a83224 100%);
	color: #fff;
	font-size: 0.9375rem;
	font-weight: 700;
	text-decoration: none;
	border-radius: 2px;
	white-space: nowrap;
	box-sizing: border-box;
}

body.hyakushou-usces-member-page .hyakushou-order-history-reorder-btn:hover {
	background: linear-gradient(to bottom, #d44736 0%, #b53828 100%);
	color: #fff;
}

body.hyakushou-usces-member-page .hyakushou-order-history-notice {
	margin: 0 0 0.75rem;
	padding: 0.65rem 0.85rem;
	font-size: 0.875rem;
	line-height: 1.5;
}

body.hyakushou-usces-member-page .hyakushou-order-history-notice--error {
	border: 1px solid #d63638;
	background: #fcf0f1;
	color: #c62828;
}

body.hyakushou-usces-member-page .hyakushou-order-history-notice--warn {
	border: 1px solid #d4a574;
	background: #fff8ee;
	color: #5c4a32;
}

body.hyakushou-usces-member-page .hyakushou-order-history-detail-sections {
	margin: 1.25rem 0 0;
}

body.hyakushou-usces-member-page .hyakushou-order-history-section {
	margin: 0 0 1.5rem;
}

body.hyakushou-usces-member-page .hyakushou-order-history-section__heading {
	margin: 0 0 0.75rem;
}

body.hyakushou-usces-member-page .hyakushou-order-history-delivery-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

body.hyakushou-usces-member-page .hyakushou-order-history-delivery-table td {
	border: 1px solid #d8d8d8;
	padding: 0.65rem 0.85rem;
	font-size: 0.9375rem;
	line-height: 1.55;
	vertical-align: top;
	text-align: left;
}

body.hyakushou-usces-member-page #memberinfo .hyakushou-order-history-delivery-table th {
	border: 1px solid #d8d8d8;
	padding: 0.65rem 0.85rem;
	font-size: 0.9375rem;
	line-height: 1.55;
	vertical-align: top;
	text-align: left;
	width: 11rem;
	background: #f0f0f0;
	font-weight: 700;
}

body.hyakushou-usces-member-page .hyakushou-order-history-delivery-table td {
	background: #fff;
}

body.hyakushou-usces-member-page .hyakushou-order-history-mail-table {
	width: 100%;
	border-collapse: collapse;
}

body.hyakushou-usces-member-page .hyakushou-order-history-mail-table td {
	border: 1px solid #d8d8d8;
	padding: 0.65rem 0.85rem;
	font-size: 0.9375rem;
	line-height: 1.5;
	vertical-align: middle;
	text-align: center;
}

body.hyakushou-usces-member-page #memberinfo .hyakushou-order-history-mail-table thead th {
	border: 1px solid #d8d8d8;
	padding: 0.65rem 0.85rem;
	font-size: 0.9375rem;
	line-height: 1.5;
	vertical-align: middle;
	text-align: center;
	background: #f0f0f0;
	font-weight: 700;
}

body.hyakushou-usces-member-page .hyakushou-order-history-mail-table .hyakushou-order-mail-subject {
	text-align: left;
}

body.hyakushou-usces-member-page .hyakushou-order-mail-details {
	margin: 0;
	text-align: left;
}

body.hyakushou-usces-member-page .hyakushou-order-mail-details__summary {
	cursor: pointer;
	list-style: none;
}

body.hyakushou-usces-member-page .hyakushou-order-mail-details__summary::-webkit-details-marker {
	display: none;
}

body.hyakushou-usces-member-page .hyakushou-order-mail-details__link {
	color: #1a4f8b;
	text-decoration: underline;
}

body.hyakushou-usces-member-page .hyakushou-order-mail-details[open] .hyakushou-order-mail-details__link {
	font-weight: 700;
}

body.hyakushou-usces-member-page .hyakushou-order-mail-body {
	margin: 0.75rem 0 0;
	padding: 0.85rem 1rem;
	border: 1px solid #e0e0e0;
	background: #fafafa;
	text-align: left;
	white-space: pre-wrap;
	word-break: break-word;
	overflow-wrap: anywhere;
	font-size: 0.875rem;
	line-height: 1.6;
}

body.hyakushou-usces-member-page .hyakushou-order-mail-body--text {
	font-family: inherit;
	margin-bottom: 0;
}

body.hyakushou-usces-member-page .hyakushou-order-history-mail-empty {
	margin: 0;
	padding: 0.65rem 0;
	font-size: 0.9375rem;
	color: #555;
}

@media (min-width: 981px) {
	body.hyakushou-usces-member-page .history-area table#history_head thead tr.order_head_label th {
		font-size: 0.8125rem;
	}

	body.hyakushou-usces-member-page .history-area table#history_head tbody tr.order_head_value td {
		font-size: 0.875rem;
	}

	/* 購入履歴詳細：お届け先・メール配信履歴の th（Welcart #memberinfo th より優先） */
	body.hyakushou-usces-member-page #memberinfo .hyakushou-order-history-detail-view .hyakushou-order-history-delivery-table th {
		font-size: 0.9375rem !important;
	}

	body.hyakushou-usces-member-page #memberinfo .hyakushou-order-history-detail-view .hyakushou-order-history-mail-table thead th {
		font-size: 0.9375rem !important;
	}

	/* 購入履歴詳細：注文サマリー表（history_head）のフォントを少し小さく */
	body.hyakushou-usces-member-page #memberinfo .hyakushou-order-history-detail-view .history-area table#history_head thead tr.order_head_label th {
		font-size: 0.8125rem !important;
	}

	body.hyakushou-usces-member-page #memberinfo .hyakushou-order-history-detail-view .history-area table#history_head tbody tr.order_head_value td {
		font-size: 0.875rem !important;
	}

	/* 購入履歴詳細：商品明細表（retail）の th / td を少し大きく */
	body.hyakushou-usces-member-page #memberinfo .hyakushou-order-history-detail-view .history-area table.retail th,
	body.hyakushou-usces-member-page #memberinfo .hyakushou-order-history-detail-view .history-area table.retail td,
	body.hyakushou-usces-member-page #memberinfo .hyakushou-order-history-detail-view .history-area table[id^="retail_table_"] th,
	body.hyakushou-usces-member-page #memberinfo .hyakushou-order-history-detail-view .history-area table[id^="retail_table_"] td {
		font-size: 0.875rem !important;
	}
}

@media (max-width: 980px) {
	/* ログイン後マイページ：トップと同じ横余白（.site-content 10px のみ。main / entry の左右を打ち消す） */
	body.hyakushou-usces-member-page.hyakushou-usces-member-logged-in .site-content {
		padding-left: 10px;
		padding-right: 10px;
		box-sizing: border-box;
	}

	body.hyakushou-usces-member-page.hyakushou-usces-member-logged-in #primary.site-main,
	body.hyakushou-usces-member-page.hyakushou-usces-member-logged-in .site-main {
		padding-left: 0;
		padding-right: 0;
	}

	body.hyakushou-usces-member-page.hyakushou-usces-member-logged-in .site-main .entry-content:has(#memberpages),
	body.hyakushou-usces-member-page.hyakushou-usces-member-logged-in #primary .entry-content:has(#memberpages),
	body.hyakushou-usces-member-page.hyakushou-usces-member-logged-in article .entry-content:has(#memberpages),
	body.hyakushou-usces-member-page.hyakushou-usces-member-logged-in .site-main .entry-content.hyakushou-mypage-login,
	body.hyakushou-usces-member-page.hyakushou-usces-member-logged-in .site-main .entry-content.hyakushou-mypage-newmember {
		width: 100%;
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}

	.hyakushou-mypage-login__label {
		text-align: left;
		min-width: 0;
		width: 100%;
	}

	.hyakushou-mypage-login__control {
		max-width: none;
		width: 100%;
	}

	/* 会員ページ（ログイン後）：フォーム行をログイン画面と同様にラベル上・入力全幅 */
	body.hyakushou-usces-member-page #memberinfo table.customer_form,
	body.hyakushou-usces-member-page #memberinfo table.customer_form tbody,
	body.hyakushou-usces-member-page #memberinfo table.customer_form tr {
		display: block;
		width: 100%;
	}

	body.hyakushou-usces-member-page #memberinfo table.customer_form tr {
		margin: 0 0 0.75rem;
		padding: 0 0 0.75rem;
		border-bottom: 1px solid #e8e8e8;
		box-sizing: border-box;
	}

	body.hyakushou-usces-member-page #memberinfo table.customer_form tr:last-child {
		border-bottom: none;
	}

	body.hyakushou-usces-member-page #memberinfo table.customer_form th {
		display: block;
		width: 100% !important;
		max-width: 100%;
		min-width: 0;
		text-align: left;
		padding: 6px 0 8px;
		font-weight: 700;
		box-sizing: border-box;
		white-space: normal;
		word-break: normal;
		overflow-wrap: break-word;
		line-break: auto;
		font-size: 1.0625rem;
		line-height: 1.55;
	}

	/* 入力・例示・住所検索ボタンを縦に積む（インライン横並びによるはみ出し防止） */
	body.hyakushou-usces-member-page #memberinfo table.customer_form td {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0.45rem;
		width: 100% !important;
		max-width: 100%;
		min-width: 0;
		padding: 0 0 4px;
		box-sizing: border-box;
		font-size: 1rem;
		line-height: 1.6;
		word-break: normal;
		overflow-wrap: break-word;
		line-break: auto;
	}

	body.hyakushou-usces-member-page #memberinfo table.customer_form tr.inp1 td.name_td:first-of-type {
		margin-bottom: 0.25rem;
	}

	body.hyakushou-usces-member-page #memberinfo .customer_form .member_name,
	body.hyakushou-usces-member-page #memberinfo .customer_form .member_furigana {
		display: block;
		width: 100%;
		font-size: 1rem;
		font-weight: 600;
		line-height: 1.45;
	}

	body.hyakushou-usces-member-page #memberinfo .customer_form td em {
		display: block;
		width: 100%;
		max-width: 100%;
		font-size: 0.9375rem;
		font-style: normal;
		line-height: 1.55;
		color: #2d6a2d;
		word-break: normal;
		overflow-wrap: break-word;
	}

	body.hyakushou-usces-member-page #memberinfo .customer_form input[type="text"],
	body.hyakushou-usces-member-page #memberinfo .customer_form input[type="email"],
	body.hyakushou-usces-member-page #memberinfo .customer_form input[type="password"],
	body.hyakushou-usces-member-page #memberinfo .customer_form input[type="tel"],
	body.hyakushou-usces-member-page #memberinfo .customer_form input[type="number"],
	body.hyakushou-usces-member-page #memberinfo .customer_form select,
	body.hyakushou-usces-member-page #memberinfo .customer_form textarea {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		min-height: 3rem;
		padding: 12px 14px;
		border: 1px solid #c8c8c8;
		border-radius: 2px;
		background: #fff;
		font-size: 1.1875rem;
		line-height: 1.45;
		box-sizing: border-box;
	}

	/* Welcart 既定の固定幅（usces_cart.css）を上書き */
	body.hyakushou-usces-member-page #memberinfo .customer_form input#zipcode,
	body.hyakushou-usces-member-page #memberinfo .customer_form input#address1,
	body.hyakushou-usces-member-page #memberinfo .customer_form input#address2,
	body.hyakushou-usces-member-page #memberinfo .customer_form input#address3,
	body.hyakushou-usces-member-page #memberinfo .customer_form input#tel,
	body.hyakushou-usces-member-page #memberinfo .customer_form input#fax {
		width: 100% !important;
		max-width: 100%;
	}

	body.hyakushou-usces-member-page #memberinfo .customer_form td input.search-zipcode,
	body.hyakushou-usces-member-page #memberinfo .customer_form td input#search_zipcode,
	body.hyakushou-usces-member-page #memberinfo .customer_form input#search_zipcode {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		min-height: 3rem;
		padding: 12px 14px;
		font-size: 1.1875rem;
		background: #c62828;
		color: #fff;
		border: none;
		font-weight: 700;
	}

	body.hyakushou-usces-member-page #memberinfo .customer_form #zipcode_row .hyakushou-autofill-zipcode--standalone {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		min-height: 3rem;
		padding: 12px 14px;
		font-size: 1.1875rem;
		background: #c62828;
		color: #fff;
		border: none;
		font-weight: 700;
	}

	body.hyakushou-usces-member-page #memberinfo .customer_form #zipcode_row .hyakushou-zipcode-extra__row--btn {
		flex-direction: column;
		align-items: stretch;
	}

	body.hyakushou-usces-member-page #memberinfo .customer_form #zipcode_row .hyakushou-zipcode-autofill-hint {
		width: 100%;
	}

	body.hyakushou-usces-member-page #memberinfo .customer_form input[type="radio"],
	body.hyakushou-usces-member-page #memberinfo .customer_form input[type="checkbox"] {
		width: auto;
		max-width: none;
	}

	body.hyakushou-usces-member-page #memberinfo .send {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0.5rem;
		margin-top: 1rem;
	}

	body.hyakushou-usces-member-page #memberinfo .send input[type="button"],
	body.hyakushou-usces-member-page #memberinfo .send input[type="submit"],
	body.hyakushou-usces-member-page #memberinfo .send button {
		width: 100%;
		max-width: none;
		box-sizing: border-box;
		min-height: 3rem;
		padding: 14px 18px;
		font-size: 1.25rem;
		font-weight: 700;
		line-height: 1.35;
	}

	/* メール認証完了など #memberedit 内の customer_form */
	article.hyakushou-member-auth-page #memberedit table.customer_form,
	article.hyakushou-member-auth-page #memberedit table.customer_form tbody,
	article.hyakushou-member-auth-page #memberedit table.customer_form tr {
		display: block;
		width: 100%;
	}

	article.hyakushou-member-auth-page #memberedit table.customer_form tr {
		margin: 0 0 0.75rem;
		padding: 0 0 0.75rem;
		border-bottom: 1px solid #e8e8e8;
		box-sizing: border-box;
	}

	article.hyakushou-member-auth-page #memberedit table.customer_form th {
		display: block;
		width: 100% !important;
		max-width: 100%;
		min-width: 0;
		text-align: left;
		padding: 4px 0 6px;
		font-weight: 700;
		white-space: normal;
		word-break: break-word;
		overflow-wrap: break-word;
		box-sizing: border-box;
	}

	article.hyakushou-member-auth-page #memberedit table.customer_form td {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0.4rem;
		width: 100% !important;
		max-width: 100%;
		min-width: 0;
		padding: 0 0 2px;
		box-sizing: border-box;
	}

	article.hyakushou-member-auth-page #memberedit .customer_form td em {
		display: block;
		width: 100%;
		font-size: 0.8125rem;
		font-style: normal;
		line-height: 1.45;
		color: #2d6a2d;
	}

	article.hyakushou-member-auth-page #memberedit .customer_form input[type="text"],
	article.hyakushou-member-auth-page #memberedit .customer_form input[type="email"],
	article.hyakushou-member-auth-page #memberedit .customer_form input[type="password"] {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		padding: 10px 12px;
		border: 1px solid #c8c8c8;
		border-radius: 2px;
		box-sizing: border-box;
		font-size: 1rem;
	}

	article.hyakushou-member-auth-page #memberedit .customer_form input#zipcode,
	article.hyakushou-member-auth-page #memberedit .customer_form input#address1,
	article.hyakushou-member-auth-page #memberedit .customer_form input#address2,
	article.hyakushou-member-auth-page #memberedit .customer_form input#address3 {
		width: 100% !important;
		max-width: 100%;
	}

	article.hyakushou-member-auth-page #memberedit .send {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0.5rem;
	}

	article.hyakushou-member-auth-page #memberedit .send input,
	article.hyakushou-member-auth-page #memberedit .send button {
		width: 100%;
		box-sizing: border-box;
		padding: 12px 16px;
		font-size: 1rem;
	}

	body.hyakushou-usces-member-page #memberpages ul.member_submenu {
		justify-content: center;
		text-align: center;
	}

	/* 会員ページ全体：Welcart 既定の横幅より親が広がらないよう制限 */
	body.hyakushou-usces-member-page #memberpages .whitebox,
	body.hyakushou-usces-member-page #memberinfo {
		max-width: 100%;
		box-sizing: border-box;
		overflow-x: hidden;
	}

	body.hyakushou-usces-member-page .site-main .entry-content {
		min-width: 0;
		max-width: 100%;
		overflow-x: hidden;
	}

	/*
	 * 会員サマリー #memberdetail（Welcart 既定は多列＋rowspan のテーブル）
	 * スマホではセルを縦積みにし、ページ横スクロールを出さない
	 */
	body.hyakushou-usces-member-page #memberinfo #memberdetail {
		display: block;
		width: 100%;
		max-width: 100%;
		margin: 0 0 1rem;
		border: 1px solid #e0e0e0;
		border-collapse: separate;
		border-spacing: 0;
		box-sizing: border-box;
		overflow: visible;
		table-layout: auto;
	}

	body.hyakushou-usces-member-page #memberdetail tbody {
		display: block;
		width: 100%;
		min-width: 0;
	}

	body.hyakushou-usces-member-page #memberdetail tr {
		display: block;
		width: 100%;
		box-sizing: border-box;
		margin: 0;
		padding: 0;
		border-bottom: 1px solid #e8e8e8;
	}

	body.hyakushou-usces-member-page #memberdetail tr:last-child {
		border-bottom: none;
	}

	body.hyakushou-usces-member-page #memberdetail th,
	body.hyakushou-usces-member-page #memberdetail td {
		display: block;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		text-align: left !important;
		border: none;
		border-radius: 0;
		white-space: normal;
		word-break: normal;
		overflow-wrap: break-word;
		line-break: auto;
	}

	body.hyakushou-usces-member-page #memberdetail th {
		margin: 0;
		padding: 12px 14px 8px;
		background: #ebebeb;
		font-weight: 700;
		font-size: 1.0625rem;
		line-height: 1.55;
		color: #111;
	}

	body.hyakushou-usces-member-page #memberdetail td {
		margin: 0;
		padding: 6px 14px 14px;
		background: #fff;
		font-size: 1.0625rem;
		line-height: 1.6;
		color: #111;
	}

	body.hyakushou-usces-member-page #memberdetail td.num {
		text-align: left !important;
	}

	/* レイアウト用の空セル・予約枠（フィルタで入る blank） */
	body.hyakushou-usces-member-page #memberdetail .blank_cell,
	body.hyakushou-usces-member-page #memberdetail th.blank,
	body.hyakushou-usces-member-page #memberdetail td.blank {
		display: none !important;
		margin: 0 !important;
		padding: 0 !important;
		border: none !important;
		height: 0 !important;
		min-height: 0 !important;
		overflow: hidden !important;
	}

	body.hyakushou-usces-member-page .history-area {
		height: auto;
		max-height: none;
		overflow-x: auto;
		overflow-y: visible;
		-webkit-overflow-scrolling: touch;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		margin: 0 0 1rem;
	}

	/* 購入履歴詳細：注文番号/購入日/対応状況はセル内改行なし（横スクロール前提） */
	body.hyakushou-usces-member-page .hyakushou-order-history-detail-view .history-area table#history_head {
		width: max-content;
		min-width: 100%;
		table-layout: auto;
	}

	body.hyakushou-usces-member-page .hyakushou-order-history-detail-view .history-area table#history_head thead tr.order_head_label th,
	body.hyakushou-usces-member-page .hyakushou-order-history-detail-view .history-area table#history_head tbody tr.order_head_value td,
	body.hyakushou-usces-member-page .hyakushou-order-history-detail-view .history-area table#history_head .date,
	body.hyakushou-usces-member-page .hyakushou-order-history-detail-view .history-area table#history_head .rightnum,
	body.hyakushou-usces-member-page .hyakushou-order-history-detail-view .history-area table#history_head td.order_number {
		white-space: nowrap !important;
		word-break: keep-all;
		overflow-wrap: normal;
	}

	/* 購入履歴詳細：商品明細表は商品名列を広げる */
	body.hyakushou-usces-member-page .hyakushou-order-history-detail-view .history-area table.retail,
	body.hyakushou-usces-member-page .hyakushou-order-history-detail-view .history-area table[id^="retail_table_"] {
		width: max-content;
		min-width: 100%;
		table-layout: auto;
	}

	body.hyakushou-usces-member-page .hyakushou-order-history-detail-view .history-area table.retail th.productname,
	body.hyakushou-usces-member-page .hyakushou-order-history-detail-view .history-area table.retail td.productname,
	body.hyakushou-usces-member-page .hyakushou-order-history-detail-view .history-area table[id^="retail_table_"] th.productname,
	body.hyakushou-usces-member-page .hyakushou-order-history-detail-view .history-area table[id^="retail_table_"] td.productname {
		min-width: 16rem;
		width: auto;
		max-width: none;
	}

	body.hyakushou-usces-member-page .hyakushou-order-history-detail-view .history-area table.retail td.aleft.productname,
	body.hyakushou-usces-member-page .hyakushou-order-history-detail-view .history-area table[id^="retail_table_"] td.aleft.productname {
		text-align: left;
		white-space: normal;
		word-break: normal;
		overflow-wrap: break-word;
		line-break: strict;
	}

	/* 購入履歴詳細：お届け先表のラベル（th） */
	body.hyakushou-usces-member-page #memberinfo .hyakushou-order-history-detail-view .hyakushou-order-history-delivery-table th {
		font-size: 0.875rem !important;
	}

	/* 購入履歴詳細：ナビ（戻る・フィルタ）は1行、再注文ボタンは次行で横長 */
	body.hyakushou-usces-member-page .hyakushou-order-history-detail-view #usces_history.usces_filter_history {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
		gap: 0.5rem 0.75rem;
		margin-bottom: 0.75rem;
	}

	body.hyakushou-usces-member-page .hyakushou-order-history-detail-view #usces_history .hyakushou-order-history-notice,
	body.hyakushou-usces-member-page .hyakushou-order-history-detail-view #usces_history .hyakushou-order-history-limit-notice {
		flex: 1 1 100%;
		width: 100%;
		margin: 0;
	}

	body.hyakushou-usces-member-page .hyakushou-order-history-detail-view #usces_history .hyakushou-order-history-back {
		margin: 0;
	}

	body.hyakushou-usces-member-page .hyakushou-order-history-detail-view #usces_history .exclude_cancel {
		margin-right: 0;
	}

	body.hyakushou-usces-member-page .hyakushou-order-history-detail-view #usces_history .hyakushou-order-history-reorder {
		flex: 1 1 100%;
		width: 100%;
		margin: 0.35rem 0 0;
		padding: 0;
	}

	body.hyakushou-usces-member-page .hyakushou-order-history-detail-view #usces_history .hyakushou-order-history-reorder-btn {
		display: block;
		width: 100%;
		max-width: 100%;
		padding: 0.65rem 1rem;
		text-align: center;
		white-space: normal;
		word-break: normal;
		overflow-wrap: break-word;
		box-sizing: border-box;
	}

	/*
	 * 新規会員登録：1つの表として表示（行ごとの外余白・個別枠をやめ、外枠1本＋行区切り）
	 * ラベルは th・入力は td を縦に積む（スマホ向け）
	 */
	body:not(.wp-admin) #newmember table.customer_form.hyakushou-mypage-newmember__table,
	.hyakushou-mypage-newmember table.customer_form.hyakushou-mypage-newmember__table,
	.hyakushou-mypage-newmember__table {
		display: block;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		border: 1px solid #d8d8d8;
		background: #fff;
	}

	body:not(.wp-admin) #newmember table.customer_form.hyakushou-mypage-newmember__table tbody,
	.hyakushou-mypage-newmember__table tbody {
		display: block;
		width: 100%;
	}

	body:not(.wp-admin) #newmember table.customer_form.hyakushou-mypage-newmember__table tr,
	.hyakushou-mypage-newmember__table tr {
		display: block;
		width: 100%;
		margin: 0;
		padding: 0;
		border: none;
		border-bottom: 1px solid #d8d8d8;
		box-sizing: border-box;
	}

	body:not(.wp-admin) #newmember table.customer_form.hyakushou-mypage-newmember__table tr:last-child,
	.hyakushou-mypage-newmember__table tr:last-child {
		border-bottom: none;
	}

	body:not(.wp-admin) #newmember table.customer_form.hyakushou-mypage-newmember__table th,
	.hyakushou-mypage-newmember__table th {
		display: block;
		width: 100% !important;
		max-width: 100%;
		min-width: 0;
		margin: 0;
		padding: 8px 10px;
		text-align: left;
		font-weight: 700;
		font-size: 1rem;
		line-height: 1.45;
		background: #f0f0f0;
		border: none;
		border-bottom: 1px solid #e5e5e5;
		box-sizing: border-box;
		white-space: normal;
		word-break: normal;
		overflow-wrap: break-word;
		vertical-align: top;
	}

	body:not(.wp-admin) #newmember table.customer_form.hyakushou-mypage-newmember__table td,
	.hyakushou-mypage-newmember__table td {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0.45rem;
		width: 100% !important;
		max-width: 100%;
		min-width: 0;
		margin: 0;
		padding: 10px;
		text-align: left;
		background: #fff;
		border: none;
		box-sizing: border-box;
		vertical-align: top;
	}

	.hyakushou-mypage-newmember .hyakushou-newmember-error-summary td {
		display: block;
		padding: 10px;
		background: #fff5f8;
	}

	.hyakushou-mypage-newmember tr.hyakushou-mailmaga-field th.hyakushou-mailmaga-field__th,
	.hyakushou-mypage-newmember tr.hyakushou-mailmaga-field td.hyakushou-mailmaga-field__td {
		border: none;
	}

	.hyakushou-mypage-newmember tr.hyakushou-mailmaga-field th.hyakushou-mailmaga-field__th {
		border-bottom: 1px solid #e5e5e5;
	}

	.hyakushou-mypage-newmember tr.hyakushou-mailmaga-field td.hyakushou-mailmaga-field__td {
		background: #fff;
	}

	.hyakushou-mypage-newmember__table tr.hyakushou-mypage-newmember__terms-tr > th {
		font-size: 1rem;
	}

	body:not(.wp-admin) #newmember .hyakushou-mypage-newmember__table input[type="text"],
	body:not(.wp-admin) #newmember .hyakushou-mypage-newmember__table input[type="email"],
	body:not(.wp-admin) #newmember .hyakushou-mypage-newmember__table input[type="password"],
	body:not(.wp-admin) #newmember .hyakushou-mypage-newmember__table input[type="tel"],
	body:not(.wp-admin) #newmember .hyakushou-mypage-newmember__table select,
	body:not(.wp-admin) #newmember .hyakushou-mypage-newmember__table textarea,
	.hyakushou-mypage-newmember__table input[type="text"],
	.hyakushou-mypage-newmember__table input[type="email"],
	.hyakushou-mypage-newmember__table input[type="password"],
	.hyakushou-mypage-newmember__table input[type="tel"],
	.hyakushou-mypage-newmember__table select,
	.hyakushou-mypage-newmember__table textarea {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
		padding: 12px 14px;
		border: 1px solid #c8c8c8;
		border-radius: 2px;
		font-size: 1.0625rem;
		line-height: 1.45;
	}

	body:not(.wp-admin) #newmember .hyakushou-mypage-newmember__table input[type="radio"],
	body:not(.wp-admin) #newmember .hyakushou-mypage-newmember__table input[type="checkbox"],
	.hyakushou-mypage-newmember__table input[type="radio"],
	.hyakushou-mypage-newmember__table input[type="checkbox"] {
		width: auto;
		max-width: none;
		min-width: 0;
		padding: 0;
	}

	/* 会員ページ：フレックス内の .site-main が子より狭くなり、ページ全体の横スクロールを防ぐ */
	body.hyakushou-usces-member-page .site-content__inner {
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	body.hyakushou-usces-member-page .site-main {
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
		overflow-x: hidden;
	}
}

.hyakushou-guide {
	box-sizing: border-box;
	color: #222;
	font-size: 0.9375rem;
	line-height: 1.75;
}

.hyakushou-guide__inner {
	max-width: 52rem;
	margin: 0 auto;
	padding: 0 4px;
	box-sizing: border-box;
}

.hyakushou-guide__section {
	margin: 0 0 1.75rem;
	padding: 0;
}

.hyakushou-guide__section--shop-info,
.hyakushou-guide__section--payment-detail {
	margin-bottom: 2.25rem;
}

/* お支払い詳細：大見出しは深緑帯（.hyakushou-guide-main-heading と同型） */
.hyakushou-guide__payment-detail-title {
	margin: 0 0 1rem;
}

/* お支払い詳細内 h3：白地・太い緑枠・左に緑丸＋白三角（他セクションの .hyakushou-guide__h2 と同型） */
.hyakushou-guide__section--payment-detail > .hyakushou-guide__h3 {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin: 1.35rem 0 1rem;
	padding: 12px 16px 12px 2.75rem;
	border: 5px solid #4b7931;
	background: #fff;
	font-size: clamp(0.9375rem, 1.85vw, 1.0625rem);
	font-weight: 700;
	color: #000;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

.hyakushou-guide__section--payment-detail > .hyakushou-guide__h3:first-of-type {
	margin-top: 0;
}

.hyakushou-guide__section--payment-detail > .hyakushou-guide__h3::before {
	content: "";
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #4b7931;
	box-sizing: border-box;
}

.hyakushou-guide__section--payment-detail > .hyakushou-guide__h3::after {
	content: "";
	position: absolute;
	left: 22px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 10px;
	border-color: transparent transparent transparent #fff;
	pointer-events: none;
}

/* 代金引換・銀行振込：見出しは上下のみ太い緑線のバー型（左右枠なし） */
.hyakushou-guide__section--payment-detail > .hyakushou-guide__h3.hyakushou-guide__h3--payment-bar {
	border: none;
	border-top: 5px solid #4b7931;
	border-bottom: 5px solid #4b7931;
}

.hyakushou-guide__section--payment-detail > .hyakushou-guide__h3.hyakushou-guide__h3--payment-bar + .hyakushou-guide__h4--card-heading {
	margin-top: 0.55rem;
}
.hyakushou-guide__h2 {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 1rem;
	padding: 12px 16px 12px 2.75rem;
	border: 5px solid #4b7931;
	background: #fff;
	font-size: clamp(0.9375rem, 1.85vw, 1.0625rem);
	font-weight: 700;
	color: #000;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

.hyakushou-guide__h2::before {
	content: "";
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #4b7931;
	box-sizing: border-box;
}

.hyakushou-guide__h2::after {
	content: "";
	position: absolute;
	left: 22px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 10px;
	border-color: transparent transparent transparent #fff;
	pointer-events: none;
}

.hyakushou-guide__h3 {
	margin: 1.35rem 0 0.5rem;
	font-size: 1.05rem;
	font-weight: 800;
	color: #234a1f;
}

.hyakushou-guide__h4 {
	margin: 0.85rem 0 0.45rem;
	font-size: 0.98rem;
	font-weight: 700;
	color: #333;
}

.hyakushou-guide__h4--card-heading {
	margin: 0.85rem 0 0.65rem;
	padding: 10px 14px;
	box-sizing: border-box;
	background: #eff9ed;
	border: 1px solid #4b7931;
	color: #111;
	font-weight: 800;
}

/* PayPay銀行：振込口座（黒枠・薄緑帯） */
.hyakushou-guide__h4--transfer-banner {
	margin: 0.65rem 0 0.55rem;
	padding: 10px 14px;
	box-sizing: border-box;
	width: 100%;
	background: #eff9ed;
	border: 1px solid #111;
	color: #111;
	font-weight: 800;
	font-size: 0.98rem;
}

.hyakushou-guide__p--paypay-official {
	margin: 0 0 0.65rem;
	color: #111;
	line-height: 1.65;
}

.hyakushou-guide__paypay-official-link {
	text-decoration: underline;
	color: inherit;
}

.hyakushou-guide__paypay-official-link:hover,
.hyakushou-guide__paypay-official-link:focus {
	text-decoration: underline;
}

.hyakushou-guide__p {
	margin: 0 0 0.75rem;
}

.hyakushou-guide__p--member-notice {
	color: #c62828;
}

/* 説明文・お電話帯：薄緑背景（共通） */
.hyakushou-guide__softbox,
.hyakushou-guide__telbox {
	box-sizing: border-box;
	background: #eff9ed;
	border: 1px solid #d4ead4;
}

.hyakushou-guide__softbox {
	margin: 0 0 0.75rem;
	padding: 16px 18px 18px;
	text-align: left;
}

.hyakushou-guide__softbox > .hyakushou-guide__p:last-child,
.hyakushou-guide__softbox > .hyakushou-guide__ol:last-child,
.hyakushou-guide__softbox > .hyakushou-guide__ul:last-child {
	margin-bottom: 0;
}

.hyakushou-guide__inpage-link {
	text-decoration: underline;
	color: inherit;
}

.hyakushou-guide__inpage-link:hover,
.hyakushou-guide__inpage-link:focus {
	text-decoration: underline;
}

/* お電話・FAX：中央寄せ・番号のみ赤字で一段大きく */
.hyakushou-guide__telbox {
	margin: 0 0 0.75rem;
	padding: 18px 16px 20px;
	text-align: center;
}

.hyakushou-guide__telbox-line {
	margin: 0;
	padding: 0;
	line-height: 1.65;
	font-size: inherit;
	color: #111;
}

.hyakushou-guide__telbox-line + .hyakushou-guide__telbox-line {
	margin-top: 0.35rem;
}

.hyakushou-guide__telbox-label {
	font-weight: 400;
	color: #111;
}

.hyakushou-guide__telbox-num {
	display: inline-block;
	margin: 0 0.1em;
	font-size: 1.125em;
	font-weight: 400;
	color: #c62828;
}

.hyakushou-guide__telbox-note {
	font-weight: 400;
	color: #111;
}

.hyakushou-guide__ul,
.hyakushou-guide__ol {
	margin: 0 0 0.85rem 1.1rem;
	padding: 0;
}

.hyakushou-guide__ul li,
.hyakushou-guide__ol li {
	margin: 0.35rem 0;
}

.hyakushou-guide__note {
	margin: 0.5rem 0 0;
	font-size: 0.8125rem;
	color: #555;
}

.hyakushou-guide__p--shipping-lead {
	margin: 0 0 0.5rem;
	color: #111;
}

.hyakushou-guide__h4--shipping-cool {
	margin: 1.25rem 0 0.55rem;
	font-size: 1rem;
	font-weight: 800;
	color: #111;
}

.hyakushou-guide__section--payment-detail .hyakushou-guide__note + .hyakushou-guide__note {
	margin-top: 0.15rem;
}

.hyakushou-guide__table-wrap {
	margin: 0.5rem 0 1rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.hyakushou-guide__table {
	width: 100%;
	min-width: 280px;
	border-collapse: collapse;
	font-size: 0.875rem;
	background: #fff;
}

.hyakushou-guide__table th,
.hyakushou-guide__table td {
	padding: 10px 12px;
	border: 1px solid #c8d4bf;
	vertical-align: top;
	text-align: left;
}

.hyakushou-guide__table thead th {
	background: #e8efe3;
	font-weight: 700;
	color: #1a1a1a;
	white-space: nowrap;
}

.hyakushou-guide__table tbody th[scope="row"] {
	background: #f4f8f1;
	font-weight: 700;
	width: 7.5rem;
}

/* 送料：ヤマト運輸表・クール便表（緑枠・ヘッダ／行見出しは薄緑・セル中央） */
.hyakushou-guide__table--shipping-yamato,
.hyakushou-guide__table--shipping-cool {
	border: 1px solid #4b7931;
}

.hyakushou-guide__table--shipping-yamato th,
.hyakushou-guide__table--shipping-yamato td,
.hyakushou-guide__table--shipping-cool th,
.hyakushou-guide__table--shipping-cool td {
	border: 1px solid #4b7931;
	text-align: center;
	vertical-align: middle;
	background: #fff;
}

.hyakushou-guide__table--shipping-yamato thead th,
.hyakushou-guide__table--shipping-yamato tbody th[scope="row"],
.hyakushou-guide__table--shipping-cool thead th,
.hyakushou-guide__table--shipping-cool tbody th[scope="row"] {
	background: #eff9ed;
	font-weight: 700;
	color: #111;
}

.hyakushou-guide__table--shipping-yamato thead th {
	white-space: normal;
}

.hyakushou-guide__table--shipping-yamato tbody th[scope="row"],
.hyakushou-guide__table--shipping-cool tbody th[scope="row"] {
	width: auto;
}

.hyakushou-guide__table a {
	color: #0d4a0d;
	text-decoration: underline;
	font-weight: 600;
}

.hyakushou-guide__table a:hover {
	color: #5a1010;
}

.hyakushou-guide__figure {
	margin: 0.75rem 0 1rem;
	padding: 0;
	text-align: center;
}

.hyakushou-guide__figcaption {
	margin-top: 0.35rem;
	font-size: 0.8125rem;
	color: #555;
	text-align: center;
}

.hyakushou-guide__figure--payment-cards {
	margin: 0 0 1.15rem;
	padding: 0;
	text-align: center;
}

.hyakushou-guide__payment-cards-img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	border: 1px solid #dcdcdc;
	box-sizing: border-box;
}

@media (max-width: 600px) {
	.hyakushou-guide__table--shipping-yamato,
	.hyakushou-guide__table--shipping-cool {
		font-size: 0.75rem;
	}

	.hyakushou-guide__table th,
	.hyakushou-guide__table td {
		padding: 6px 8px;
	}

	.hyakushou-guide-main-heading {
		padding: 12px 14px 13px;
		font-size: 1rem;
	}

	.hyakushou-guide__h2 {
		padding: 10px 12px 10px 2.5rem;
		font-size: 0.875rem;
	}

	.hyakushou-guide__h2::before {
		left: 10px;
		width: 20px;
		height: 20px;
	}

	.hyakushou-guide__h2::after {
		left: 17px;
		border-width: 5px 0 5px 8px;
	}

	.hyakushou-guide__section--payment-detail > .hyakushou-guide__h3 {
		padding: 10px 12px 10px 2.5rem;
		font-size: 0.875rem;
	}

	.hyakushou-guide__section--payment-detail > .hyakushou-guide__h3::before {
		left: 10px;
		width: 20px;
		height: 20px;
	}

	.hyakushou-guide__section--payment-detail > .hyakushou-guide__h3::after {
		left: 17px;
		border-width: 5px 0 5px 8px;
	}

	/* 代金引換・銀行振込・送料：スマホでは他小見出し同様、左右枠も表示 */
	.hyakushou-guide__section--payment-detail > .hyakushou-guide__h3.hyakushou-guide__h3--payment-bar {
		border: 5px solid #4b7931;
	}
}
