/* 弘澤青果 ホーム — 设计稿 1440px，基准 1rem = 100px */

html {
	font-size: 26.66667vw;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

@media screen and (min-width: 768px) {
	html {
		font-size: 13.02083vw;
	}
}

@media screen and (min-width: 1440px) {
	html {
		font-size: 100px;
	}
}

*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
	font-family: "Kosugi Maru", "Noto Sans JP", sans-serif;
	color: #472600;
	background: #ffffff;
	line-height: 1.5;
	overflow-x: hidden;
}

body.search-open {
	overflow: hidden;
}

img {
	display: block;
	border: 0;
	max-width: 100%;
}

a {
	color: inherit;
	text-decoration: none;
}

button,
input {
	font-family: inherit;
	border: 0;
	background: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

button {
	cursor: pointer;
}

ul,
ol {
	list-style: none;
}

/* ========== Header ========== */
.header {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	background: #fffffa;
	position: relative;
	z-index: 20;
}

.header-top {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	padding: 0.09rem 1.11rem 0.05rem;
	min-height: 0.94rem;
}

.header-logo {
	width: 2.17rem;
	height: 0.65rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.header-logo img {
	width: 2.17rem;
	height: 0.65rem;
}

.header-ribbon {
	display: -ms-grid;
	display: grid;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-items: center;
	justify-items: center;
	width: 5.92rem;
	height: 0.8rem;
}

.header-ribbon-img,
.header-ribbon p {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-area: 1 / 1;
}

.header-ribbon-img {
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.header-ribbon-img img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center center;
}

.header-ribbon p {
	z-index: 1;
	font-family: "Kosugi Maru", "Noto Sans JP", sans-serif;
	font-size: 0.14rem;
	line-height: 1.2;
	color: #472600;
	white-space: nowrap;
	padding: 0.1rem;
	text-align: center;
}

.header-actions {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.3rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.action-btn {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 0.49rem;
	height: 0.49rem;
	background: #fcf6ea;
	-webkit-border-radius: 0.05rem;
	border-radius: 0.05rem;
	-webkit-box-shadow: 0 0 0.02rem rgba(183, 155, 125, 0.5);
	box-shadow: 0 0 0.02rem rgba(183, 155, 125, 0.5);
}

.action-btn img {
	width: 0.25rem;
	height: 0.25rem;
}

.action-btn-cart {
	background: #f98d13;
}

.action-btn-cart {
	display: -ms-grid;
	display: grid;
	-webkit-justify-items: center;
	justify-items: center;
	-webkit-align-items: center;
	align-items: center;
}

.action-btn-cart img,
.action-btn-cart .cart-badge {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-area: 1 / 1;
}

.cart-badge {
	width: 0.24rem;
	height: 0.236rem;
	margin: -0.28rem -0.28rem 0 0.28rem;
	background: #da5a45;
	-webkit-border-radius: 0.118rem;
	border-radius: 0.118rem;
	color: #ffffff;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 0.135rem;
	line-height: 0.236rem;
	text-align: center;
}

.header-nav {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: stretch;
	align-items: stretch;
	background: #fcf6ea;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.nav-item {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex: 1 0 2.434rem;
	flex: 1 0 2.434rem;
	height: 0.73rem;
	border-left: 0.01rem solid #37773b;
	border-right: 0.01rem solid #37773b;
	margin-left: -0.01rem;
	gap: 0.04rem;
}

.nav-item > img,
.nav-item-btn img {
	width: 0.28rem;
	height: 0.28rem;
}

.header-nav > a.nav-item:nth-of-type(2) img {
	width: 0.366rem;
	height: 0.28rem;
}

.header-nav > a.nav-item:nth-of-type(3) img {
	opacity: 0.8;
}

.nav-item span {
	font-size: 0.16rem;
	line-height: 1.2;
	color: #472600;
	text-align: center;
	white-space: nowrap;
}

.nav-item-drop {
	position: relative;
	z-index: 30;
}

.nav-item-btn {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	gap: 0.04rem;
}

.nav-drop {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	width: 2.43rem;
	background: #ffffff;
	-webkit-box-shadow: 0 0.08rem 0.24rem rgba(71, 38, 0, 0.15);
	box-shadow: 0 0.08rem 0.24rem rgba(71, 38, 0, 0.15);
	z-index: 40;
}

.nav-item-drop:hover .nav-drop,
.nav-item-drop.is-open .nav-drop {
	display: block;
}

.header-nav.drop-open,
.header-nav:has(.nav-item-drop:hover),
.header-nav:has(.nav-item-drop.is-open) {
	overflow: visible;
}

.nav-drop > li > a {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	height: 0.53rem;
	padding: 0 0.4rem;
	gap: 0.21rem;
}

.nav-drop img {
	width: 0.22rem;
	height: 0.22rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.nav-drop span {
	display: block;
	width: 1.2rem;
	font-size: 0.16rem;
	line-height: 0.16rem;
	color: #472600;
	text-align: left;
	white-space: nowrap;
}

.nav-drop > li > a:hover,
.nav-drop > li > a:focus {
	background: #fcf6ea;
}

.nav-drop-item {
	position: relative;
}

.nav-drop-sub {
	display: none;
	position: absolute;
	top: 0;
	left: 100%;
	width: 1.61rem;
	background: #ffffff;
	-webkit-box-shadow: 0 0.08rem 0.24rem rgba(71, 38, 0, 0.15);
	box-shadow: 0 0.08rem 0.24rem rgba(71, 38, 0, 0.15);
	z-index: 41;
}

.nav-drop-item:hover .nav-drop-sub,
.nav-drop-item.is-open .nav-drop-sub {
	display: block;
}

.nav-drop-sub a {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	height: 0.455rem;
	padding: 0 0.2rem;
	font-size: 0.14rem;
	line-height: 1.2;
	color: #472600;
	white-space: nowrap;
}

.nav-drop-sub a:hover,
.nav-drop-sub a:focus {
	background: #fcf6ea;
}

.nav-open-btn,
.nav-panel-head,
.nav-backdrop {
	display: none;
}

.nav-open-bar {
	display: block;
	width: 0.16rem;
	height: 0.02rem;
	background: #472600;
	-webkit-border-radius: 0.02rem;
	border-radius: 0.02rem;
}

/* ========== Search modal（Figma 1:685 Frame 40） ========== */
.search-modal {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 80;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	padding: 0.2rem;
}

.search-modal.is-open {
	display: -webkit-flex;
	display: flex;
}

.search-modal-backdrop {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.28);
}

.search-modal-panel {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 10.85rem;
	min-height: 3.06rem;
	padding: 0.42rem 0.35rem 0.36rem 0.52rem;
	background: #ffffff;
	-webkit-box-shadow: 0 0.08rem 0.32rem rgba(0, 0, 0, 0.12);
	box-shadow: 0 0.08rem 0.32rem rgba(0, 0, 0, 0.12);
}

.search-modal-title {
	font-size: 0.2rem;
	font-weight: 400;
	line-height: 0.2rem;
	color: #000000;
}

.search-modal-close {
	position: absolute;
	top: 0.28rem;
	right: 0.35rem;
	width: 0.19rem;
	height: 0.19rem;
}

.search-modal-close img {
	width: 0.19rem;
	height: 0.19rem;
	max-width: none;
}

.search-modal-form {
	margin-top: 0.35rem;
}

.search-modal-row {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.35rem 0.74rem;
}

.search-modal-row-top {
	margin-bottom: 0.35rem;
}

.search-field {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.23rem;
}

.search-field > span {
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	font-size: 0.14rem;
	line-height: 0.14rem;
	color: #000000;
	white-space: nowrap;
}

.search-field-kw > span,
.search-field-cat > span {
	width: 0.84rem;
}

.search-field-price > span {
	width: 0.28rem;
}

.search-modal-input,
.search-select-btn {
	width: 3.25rem;
	height: 0.31rem;
	padding: 0 0.13rem 0 0.09rem;
	background: #f8f8f8;
	border: 0.01rem solid #a4a4a4;
	-webkit-border-radius: 0.05rem;
	border-radius: 0.05rem;
	font-size: 0.14rem;
	line-height: 0.14rem;
	color: #000000;
	outline: none;
}

.search-select {
	position: relative;
}

.search-select-btn {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	color: #a4a4a4;
	text-align: left;
}

.search-select-btn.is-picked {
	color: #000000;
}

.search-select-text {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.search-select-arrow {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 0.07rem;
	height: 0.07rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.search-select-arrow img {
	width: 0.0606rem;
	height: 0.0525rem;
	max-width: none;
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}

.search-select-list {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 2;
	width: 3.25rem;
	background: #ffffff;
	border: 0.01rem solid #a4a4a4;
	-webkit-border-radius: 0.05rem;
	border-radius: 0.05rem;
}

.search-select-list button {
	display: block;
	width: 100%;
	height: 0.31rem;
	padding: 0 0.1rem;
	font-size: 0.14rem;
	line-height: 0.2rem;
	color: #000000;
	text-align: left;
}

.search-select-list button:hover,
.search-select-list button:focus {
	background: #f8f8f8;
}

.search-modal-actions {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	gap: 0.26rem;
	margin-top: 0.35rem;
}

.search-modal-clear,
.search-modal-submit {
	width: 1.98rem;
	height: 0.41rem;
	border: 0.01rem solid #3d763a;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	font-size: 0.16rem;
	line-height: 0.16rem;
}

.search-modal-clear {
	background: #ffffff;
	color: #37773b;
}

.search-modal-submit {
	background: #37773b;
	color: #ffffff;
}

/* ========== Hero（1:1 参考 teinei.co.jp main-visual） ========== */
.hero {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	overflow: hidden;
	padding: 0.12rem 0 0.4rem;
}

.hero-defs {
	position: absolute;
	width: 0;
	height: 0;
}

.hero-slider {
	position: relative;
}

.hero-stage {
	position: relative;
	width: 100%;
	height: 5.86rem;
	overflow: hidden;
}

.hero-panel {
	position: absolute;
	top: 0;
	left: 0;
	width: 10.14rem;
	height: 5.86rem;
	z-index: 1;
}

.hero-panel-center {
	z-index: 2;
}

.hero-viewport {
	width: 100%;
	height: 100%;
	overflow: hidden;
	-webkit-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
}

.hero-panel-center .hero-viewport {
	-webkit-clip-path: url(#heroClipCenter);
	clip-path: url(#heroClipCenter);
}

.hero-panel-left .hero-viewport,
.hero-panel-right .hero-viewport {
	-webkit-clip-path: url(#heroClipSide);
	clip-path: url(#heroClipSide);
}

.hero-panel:hover .hero-viewport {
	opacity: 0.84;
}

.hero-track {
	display: -webkit-flex;
	display: flex;
	height: 100%;
	-webkit-transition: -webkit-transform 1.3s cubic-bezier(0.79, -0.33, 0.25, 1.35);
	transition: transform 1.3s cubic-bezier(0.79, -0.33, 0.25, 1.35);
}

.hero-track.is-instant {
	-webkit-transition: none;
	transition: none;
}

.hero-slide {
	display: block;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	height: 100%;
	overflow: hidden;
}

.hero-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.hero-nav {
	position: absolute;
	top: 2.51rem;
	left: 50%;
	width: 0.76rem;
	height: 0.76rem;
	z-index: 10;
	pointer-events: auto;
}

.hero-nav-prev {
	margin-left: -5.36rem;
}

.hero-nav-prev img {
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}

.hero-nav-next {
	margin-left: 4.6rem;
}

.circle-btn {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 0.8rem;
	height: 0.8rem;
	background: #ffffff;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	-webkit-box-shadow: 0 0.04rem 0.1rem rgba(71, 38, 0, 0.12);
	box-shadow: 0 0.04rem 0.1rem rgba(71, 38, 0, 0.12);
}

.circle-btn img {
	width: 0.3rem;
	height: 0.3rem;
}

.hero-dots {
	position: absolute;
	bottom: -0.16rem;
	left: 50%;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	z-index: 10;
	-webkit-transform: translate(-50%, 0);
	-ms-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}

.hero-dot {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 0.18rem;
	height: 0.18rem;
	padding: 0;
	background: none;
	cursor: pointer;
}

.hero-dot::before {
	display: block;
	width: 0.08rem;
	height: 0.08rem;
	background: #d9d9d9;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	-webkit-transform: skewX(-15deg);
	-ms-transform: skewX(-15deg);
	transform: skewX(-15deg);
	content: "";
}

.hero-dot.is-active::before {
	background: #37773b;
}

/* ========== Category ========== */
.category {
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	overflow: hidden;
}

.cat-viewport {
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 0.2rem 0.16rem 1.15rem;
	position: relative;
	z-index: 2;
	cursor: grab;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.cat-viewport::-webkit-scrollbar {
	display: none;
}

.cat-viewport.is-grabbing {
	cursor: grabbing;
}

.cat-list {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	gap: 0.24rem 0.26rem;
	padding: 0;
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
}

.cat-item {
	width: 45%;
	max-width: 2.4524rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.cat-link {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.24rem;
	text-align: center;
}

.cat-pic {
	position: relative;
	display: -ms-grid;
	display: grid;
	width: 2.4524rem;
	height: 2.4524rem;
	overflow: visible;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	border: 0.02rem dashed #37773b;
	background: #ffffff;
	-webkit-transition: -webkit-transform 0.25s ease, border-color 0.25s ease, -webkit-box-shadow 0.25s ease;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.cat-pic-go {
	position: absolute;
	right: 0.04rem;
	bottom: 0.1rem;
	z-index: 3;
	display: block;
	width: 0.52rem;
	height: 0.52rem;
	pointer-events: none;
	-webkit-user-drag: none;
}

.cat-pic-img {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-area: 1 / 1;
	width: 2.25rem;
	height: 2.25rem;
	margin: auto;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	object-fit: cover;
	-webkit-user-drag: none;
	pointer-events: none;
}

.cat-item h2 {
	font-size: 0.4rem;
	font-weight: 400;
	line-height: 1;
	color: #37773b;
	text-align: center;
}

.cat-item p {
	font-size: 0.2rem;
	line-height: 0.35rem;
	color: #472600;
}

.cat-ground {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
	height: 1.55rem;
	background: #fcf6ea;
}

.cat-wave-img {
	position: absolute;
	left: 50%;
	top: -1.04rem;
	width: 131.95vw;
	height: 3.09rem;
	margin-left: -65.975vw;
	max-width: none;
	pointer-events: none;
}

.cat-deco {
	display: none;
	position: absolute;
	z-index: 1;
	pointer-events: none;
	max-width: none;
}

.cat-deco-left {
	left: 0.01rem;
	top: 1.605rem;
	width: 2.37rem;
	height: 2.475rem;
}

.cat-deco-right {
	right: 0;
	left: auto;
	top: -0.705rem;
	width: 1.395rem;
	height: 1.87rem;
}

.cat-all {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0.28rem;
	z-index: 3;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 3.6rem;
	height: 0.81rem;
	margin: 0 auto;
	background: #37773b;
	border: 0.01rem solid #37773b;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	color: #ffffff;
	font-size: 0.32rem;
	line-height: 0.35rem;
	text-align: center;
}

/* ========== Recommend ========== */
.recommend {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 0.4rem 0.16rem 0.8rem;
}

.section-title {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	gap: 0.08rem;
	min-height: 1.1rem;
}

.section-title h2 {
	font-size: 0.32rem;
	font-weight: 400;
	line-height: 0.225rem;
	color: #000000;
	white-space: nowrap;
}

.title-green {
	color: #37773b;
}

.title-orange {
	color: #f98d13;
}

.leaf-wrap {
	width: 1.1rem;
	height: 0.93rem;
	overflow: hidden;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.leaf-wrap img {
	width: 203.64%;
	height: 158.54%;
	max-width: none;
	margin-left: -37.27%;
	margin-top: -4.15%;
}

.leaf-left {
	-webkit-transform: rotate(-9.37deg);
	-ms-transform: rotate(-9.37deg);
	transform: rotate(-9.37deg);
}

.leaf-right {
	-webkit-transform: rotate(9.37deg) scaleY(-1);
	-ms-transform: rotate(9.37deg) scaleY(-1);
	transform: rotate(9.37deg) scaleY(-1);
}

.search-bar {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	width: 100%;
	max-width: 100%;
	height: 0.44rem;
	margin: 0.24rem auto 0.55rem;
	padding: 0 0.03rem 0 0.19rem;
	background: #ffffff;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	-webkit-box-shadow: 0 0 0.04rem 0 rgba(183, 155, 125, 0.5);
	box-shadow: 0 0 0.04rem 0 rgba(183, 155, 125, 0.5);
}

.search-bar img {
	width: 0.238rem;
	height: 0.238rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.search-bar input {
	-webkit-flex: 1;
	flex: 1;
	min-width: 0;
	height: 0.44rem;
	padding: 0 0.12rem;
	font-size: 0.16rem;
	line-height: 0.2rem;
	color: #472600;
	outline: none;
}

.search-bar input::-webkit-input-placeholder {
	color: #929292;
}

.search-bar input::-moz-placeholder {
	color: #929292;
}

.search-bar input:-ms-input-placeholder {
	color: #929292;
}

.search-bar input::placeholder {
	color: #929292;
}

.search-bar button {
	width: 0.776rem;
	height: 0.383rem;
	background: #f98d13;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	color: #ffffff;
	font-size: 0.16rem;
	line-height: 0.2rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.tabs {
	display: -webkit-flex;
	display: flex;
	width: 100%;
	max-width: 11.46rem;
	margin: 0 auto 0.37rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border-bottom: 0.01rem solid #37773b;
}

.tab {
	-webkit-flex: 1 0 auto;
	flex: 1 0 auto;
	min-width: 1.14rem;
	height: 0.44rem;
	padding: 0.1rem;
	font-size: 0.16rem;
	line-height: 0.225rem;
	color: #797979;
	white-space: nowrap;
}

.tab-active {
	color: #37773b;
	background: #ffecba;
	border: 0.01rem solid #37773b;
	border-bottom: 0;
	-webkit-border-radius: 0.25rem 0.25rem 0 0;
	border-radius: 0.25rem 0.25rem 0 0;
	margin-bottom: -0.01rem;
	height: 0.43rem;
}

.product-list {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	gap: 0.37rem 0.29rem;
	max-width: 11.51rem;
	margin: 0 auto;
}

.product-item {
	width: 100%;
	max-width: 2.66rem;
}

.product-item.is-hide {
	display: none;
}

.product-item a {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	width: 100%;
	gap: 0.07rem;
}

.product-thumb {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	overflow: hidden;
	background: #e7f0e3;
	-webkit-border-radius: 0.25rem;
	border-radius: 0.25rem;
}

.product-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	font-size: 0;
	line-height: 0;
	color: transparent;
	text-indent: -9999px;
	overflow: hidden;
	-webkit-border-radius: inherit;
	border-radius: inherit;
}

.product-name {
	font-size: 0.18rem;
	line-height: 0.225rem;
	color: #000000;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	min-height: 0.45rem;
	word-break: break-word;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.product-origin {
	display: -webkit-inline-flex;
	display: inline-flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	height: 0.2rem;
	padding: 0 0.1rem;
	background: #e7f0e3;
	font-size: 0.12rem;
	line-height: 0.225rem;
	color: #37773b;
}

.product-point {
	font-size: 0.12rem;
	line-height: 0.225rem;
	color: #f98d13;
	width: 100%;
}

.product-price {
	font-size: 0.14rem;
	line-height: 0.225rem;
	color: #37773b;
}

.product-price span {
	font-size: 0.24rem;
}

.product-price small {
	font-size: 0.14rem;
}

/* ========== News ========== */
.news {
	width: 100%;
	background: #ffe6ca;
	padding: 0 0 0.6rem;
	overflow: hidden;
}

.news-wave {
	width: 100%;
	height: 1.8rem;
	overflow: hidden;
	margin-bottom: -1.1rem;
}

.news-wave img {
	width: 19rem;
	height: 3.09rem;
	margin: -0.2rem auto 0;
}

.news .section-title {
	position: relative;
	z-index: 1;
}

/* 首页新着情報：deco-leaf-top 叠在标题上方 */
.news .section-title--news {
	-webkit-flex-direction: column;
	flex-direction: column;
	gap: 0;
	min-height: auto;
	padding: 0.16rem 0.16rem 0;
}

.news-title-block {
	position: relative;
	width: 3.28rem;
	max-width: 92%;
	margin: 0 auto;
	text-align: center;
}

.news .section-title--news h2 {
	position: relative;
	z-index: 1;
	margin: 0;
	padding: 0.58rem 0 0;
	font-size: 0.36rem;
	font-weight: 700;
	line-height: 1.15;
	white-space: nowrap;
}

.news-title-block .section-title-top-deco {
	position: absolute;
	z-index: 2;
	left: 50%;
	top: 0;
	width: 100%;
	height: auto;
	max-width: none;
	margin: 0;
	pointer-events: none;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}

.news .section-title-lead {
	margin: 0.22rem 0 0.4rem;
	padding: 0 0.12rem;
	font-size: 0.16rem;
	font-weight: 400;
	line-height: 0.225rem;
	color: #2d5a27;
	text-align: center;
}

.news-lead {
	font-size: 0.16rem;
	line-height: 0.225rem;
	color: #37773b;
	text-align: center;
	margin: 0.16rem 0 0.4rem;
}

.news-wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	gap: 0.16rem;
	width: 100%;
	margin: 0 auto;
}

.news-viewport {
	overflow: hidden;
	-webkit-flex: 1;
	flex: 1;
	min-width: 0;
	max-width: 12.16rem;
	cursor: grab;
}

.news-viewport.is-grabbing {
	cursor: grabbing;
}

.news-list {
	display: -webkit-flex;
	display: flex;
	gap: 0.013rem;
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	transform: translateX(0);
}

.news-item {
	-webkit-flex: 0 0 4.046rem;
	flex: 0 0 4.046rem;
	width: 4.046rem;
}

.news-item a {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	padding-top: 0.355rem;
}

.news-photo {
	width: 2.91rem;
	display: -ms-grid;
	display: grid;
	z-index: 1;
}

.news-photo img {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-area: 1 / 1;
	width: 2.91rem;
	height: 1.874rem;
	-webkit-border-radius: 0.071rem;
	border-radius: 0.071rem;
	object-fit: cover;
}

.news-tag {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-area: 1 / 1;
	-ms-flex-item-align: end;
	align-self: end;
	width: 1.03rem;
	height: 0.255rem;
	background: #37773b;
	color: #ffffff;
	font-size: 0.12rem;
	line-height: 0.255rem;
	text-align: center;
}

.news-body {
	width: 3.336rem;
	min-height: 1.462rem;
	margin-top: -0.47rem;
	padding: 0.72rem 0.35rem 0.22rem;
	background: #ffffff;
	border: 0.006rem dashed #37773b;
	-webkit-border-radius: 0.071rem;
	border-radius: 0.071rem;
	-webkit-box-shadow: 0 0.04rem 0.03rem rgba(71, 38, 0, 0.25);
	box-shadow: 0 0.04rem 0.03rem rgba(71, 38, 0, 0.25);
}

.news-title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	height: 0.398rem;
	overflow: hidden;
	font-size: 0.121rem;
	line-height: 0.199rem;
	color: #5c4c2c;
}

.news-body time {
	display: block;
	margin-top: 0.26rem;
	font-size: 0.092rem;
	line-height: 0.136rem;
	color: #37773b;
}

.news-prev,
.news-next {
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.news-prev img {
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}

/* 首页新着：一行展示 4 条（适配 12.16rem 视口宽） */
.news-wrap--home {
	position: relative;
	width: 100%;
	max-width: 12.16rem;
	margin-left: auto;
	margin-right: auto;
	-webkit-justify-content: center;
	justify-content: center;
}

.news-viewport--home {
	width: 100%;
	max-width: 12.16rem;
}

.news-mid-nav {
	position: absolute;
	top: 50%;
	z-index: 5;
	display: block;
	width: 0.48rem;
	height: auto;
	padding: 0;
	margin: 0;
	border: none;
	background: transparent;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	cursor: pointer;
	line-height: 0;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.news-mid-nav img {
	display: block;
	width: 100%;
	height: auto;
	pointer-events: none;
}

.news-wrap--home .news-prev.news-mid-nav {
	left: 25%;
}

.news-wrap--home .news-next.news-mid-nav {
	left: 75%;
}

.news-wrap--home .news-prev img {
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
}

/* PC/平板：箭头叠在视口上，25%/75% 相对卡片行（与改结构前一致） */
@media screen and (min-width: 768px) {
	.news-wrap--home {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		-webkit-justify-items: stretch;
		justify-items: stretch;
		width: 100%;
		max-width: 8.1rem;
		margin-left: auto;
		margin-right: auto;
	}

	.news-wrap--home .news-viewport--home {
		grid-area: 1 / 1;
		width: 100%;
		max-width: 100%;
		-webkit-flex: none;
		flex: none;
		min-width: 0;
	}

	.news-wrap--home .news-mid-nav {
		grid-area: 1 / 1;
		position: absolute;
		top: 50%;
		z-index: 5;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}

	.news-wrap--home .news-prev.news-mid-nav {
		left: 25%;
		right: auto;
	}

	.news-wrap--home .news-next.news-mid-nav {
		left: 75%;
		right: auto;
	}
}

.news-list--home .news-item {
	-webkit-flex: 0 0 3.02rem;
	flex: 0 0 3.02rem;
	width: 3.02rem;
}

.news-list--home .news-photo,
.news-list--home .news-photo img {
	width: 2.18rem;
}

.news-list--home .news-photo img {
	height: 1.4rem;
}

.news-list--home .news-body {
	width: 2.48rem;
	min-height: 1.22rem;
	margin-top: -0.38rem;
	padding: 0.52rem 0.2rem 0.14rem;
}

.news-list--home .news-item a {
	padding-top: 0.22rem;
}

.news-list--home .news-title {
	height: 0.36rem;
	font-size: 0.11rem;
	line-height: 0.18rem;
}

.news-list--home .news-body time {
	margin-top: 0.18rem;
}

/* ========== Footer ========== */
.footer {
	width: 100%;
	background: #fcf6ea;
	overflow: hidden;
	--footer-block-width: 11.5rem;
	--footer-block-gutter: 0.16rem;
}

.footer-top {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-justify-content: center;
	justify-content: center;
	width: calc(100% - 2 * var(--footer-block-gutter));
	max-width: var(--footer-block-width);
	min-width: 0;
	margin: 0 auto;
	padding: 0.39rem 0 0;
	gap: 0.2rem;
}

.points-banner {
	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	height: 2rem;
	border: 0.1rem solid #ffe6ca;
	-webkit-border-radius: 0.25rem;
	border-radius: 0.25rem;
	overflow: hidden;
	/* banner-points.png 1150×200：底栏胶囊（效果图） */
	--points-cta-right: 2.1%;
	--points-cta-bottom: 4%;
	--points-cta-width: 21%;
	--points-cta-height: 0.36rem;
	--points-cta-font: 0.14rem;
	--points-cta-pad-l: 0.22rem;
	--points-cta-pad-r: 0.14rem;
	--points-cta-gap: 0.1rem;
	/* points-banner-hit：仅底栏胶囊 1150×200 */
	--points-hit-right: 2.15%;
	--points-hit-bottom: 4.2%;
	--points-hit-width: 21%;
	--points-hit-height: 18%;
}

.points-banner img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: cover;
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
}

/* 仅底栏「新規会員登録 / マイページ」胶囊点击区 */
.points-banner-hit {
	position: absolute;
	z-index: 10;
	display: block;
	top: auto;
	right: var(--points-hit-right);
	bottom: var(--points-hit-bottom);
	left: auto;
	width: var(--points-hit-width);
	height: var(--points-hit-height);
	min-width: 0;
	min-height: 0;
	background: transparent;
	-webkit-border-radius: 999px;
	border-radius: 999px;
	cursor: pointer;
	text-decoration: none;
}

.points-banner-hit:hover,
.points-banner-hit:focus-visible {
	background: rgba(55, 119, 59, 0.1);
}

.points-banner-hit:focus-visible {
	outline: 0.02rem solid #37773b;
	outline-offset: 0.02rem;
}

.points-banner-cta {
	position: absolute;
	top: auto;
	left: auto;
	right: var(--points-cta-right);
	bottom: var(--points-cta-bottom);
	z-index: 3;
	display: -webkit-inline-flex;
	display: inline-flex;
	-webkit-align-items: center;
	align-items: center;
	width: auto;
	max-width: 40%;
	height: auto;
	max-height: 24%;
	gap: 0.06rem;
	padding: 0.07rem 0.12rem 0.07rem 0.18rem;
	background: #37773b;
	-webkit-border-radius: 999px;
	border-radius: 999px;
	color: #ffffff;
	font-size: 0.13rem;
	line-height: 1.2;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	-webkit-transition: background-color 0.2s ease;
	transition: background-color 0.2s ease;
}

.points-banner-cta-text {
	-webkit-flex: 0 1 auto;
	flex: 0 1 auto;
}

.points-banner-cta-arrow {
	display: block;
	-webkit-flex: 0 0 auto;
	flex: 0 0 auto;
	width: 0.16rem;
	height: 0.16rem;
	object-fit: contain;
}

.points-banner-cta:hover,
.points-banner-cta:focus-visible {
	background: #2e6632;
	color: #ffffff;
}

/* 未登录：仅盖住图内底部「新規会員登録はこちら」胶囊 */
.points-banner-cta--hotspot {
	display: block;
	top: auto;
	right: var(--points-cta-right);
	bottom: var(--points-cta-bottom);
	left: auto;
	width: var(--points-cta-width);
	height: var(--points-cta-height);
	min-width: 0;
	max-width: none;
	padding: 0;
	background: transparent;
	-webkit-border-radius: 999px;
	border-radius: 999px;
	cursor: pointer;
}

.points-banner-cta--hotspot:hover,
.points-banner-cta--hotspot:focus-visible {
	background: rgba(55, 119, 59, 0.12);
}

.points-banner-cta--hotspot:focus-visible {
	outline: 0.02rem solid #37773b;
	outline-offset: 0.02rem;
}

/* 保留：登录后 HTML 胶囊版 points-banner-cta--mypage（当前改用 banner-points-mypage.png）
.points-banner-cta--mypage {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: var(--points-cta-width);
	max-width: none;
	height: var(--points-cta-height);
	min-height: var(--points-cta-height);
	max-height: none;
	padding: 0 var(--points-cta-pad-r) 0 var(--points-cta-pad-l);
	background: #37773b;
	-webkit-justify-content: center;
	justify-content: center;
	font-size: var(--points-cta-font);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: 0.02em;
	gap: var(--points-cta-gap);
}

.points-banner-cta--mypage .points-banner-cta-text {
	font-weight: 600;
}

.points-banner-cta--mypage .points-banner-cta-arrow {
	width: 0.2rem;
	height: 0.2rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.points-banner-cta--mypage:hover,
.points-banner-cta--mypage:focus-visible {
	background: #2e6632;
}
*/

.back-top {
	position: fixed;
	right: 0.16rem;
	bottom: 0.4rem;
	z-index: 50;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 0.8rem;
	height: 0.8rem;
	background: #f98d13;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}

.back-top img {
	width: 0.3rem;
	height: 0.3rem;
	-webkit-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	transform: rotate(-90deg);
}

.contact {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	width: calc(100% - 2 * var(--footer-block-gutter));
	max-width: var(--footer-block-width);
	margin: 1rem auto 0;
	padding: 0.7rem 0.2rem 0.4rem;
	background: #ffffff;
	border: 0.1rem solid rgba(55, 119, 59, 0.2);
	-webkit-border-radius: 0.3rem;
	border-radius: 0.3rem;
	gap: 0.3rem;
}

.contact-col {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	text-align: center;
	-webkit-flex: 1;
	flex: 1;
	width: 100%;
}

.contact-icon {
	display: -ms-grid;
	display: grid;
	-webkit-justify-items: center;
	justify-items: center;
	-webkit-align-items: center;
	align-items: center;
	width: 1.1rem;
	height: 1.1rem;
	margin-top: -1.25rem;
	margin-bottom: 0.16rem;
}

.contact-icon img {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-area: 1 / 1;
	width: 1.1rem;
	height: 1.1rem;
}

.contact-icon .contact-mark {
	width: 0.42rem;
	height: 0.42rem;
}

.contact-col p {
	font-size: 0.2rem;
	line-height: 0.3rem;
	color: #5c4c2c;
	margin-bottom: 0.28rem;
}

.contact-line {
	display: none;
	width: 0.02rem;
	height: 2.2rem;
	object-fit: cover;
}

.btn-outline,
.btn-fill {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	min-width: 3.3rem;
	height: 0.64rem;
	padding: 0.1rem 0.24rem;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	font-size: 0.24rem;
	line-height: 0.136rem;
	white-space: nowrap;
}

.btn-outline {
	border: 0.02rem solid #37773b;
	color: #37773b;
}

.btn-fill {
	background: #37773b;
	color: #ffffff;
}

.footer-nav {
	position: relative;
	width: 100%;
	margin: 0.5rem auto 0;
	padding: 0.3rem 0.2rem 0.8rem;
}

.footer-deco {
	display: none;
	position: absolute;
	bottom: 0;
	z-index: 0;
	opacity: 0.5;
	pointer-events: none;
}

.footer-deco-left {
	left: 0;
	width: 3.51rem;
	height: 3.51rem;
}

.footer-deco-right {
	right: 0;
	width: 2.99rem;
	height: 2.99rem;
}

.footer-cols {
	position: relative;
	z-index: 1;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	gap: 0.4rem 0.8rem;
}

.footer-col {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 1.14rem;
}

.footer-col-products {
	width: 1.14rem;
}

.footer-col-price {
	width: 1.52rem;
}

.footer-col-guide {
	width: 2.96rem;
}

.footer-col h3 {
	font-size: 0.2rem;
	font-weight: 400;
	line-height: 0.2rem;
	color: #37773b;
}

.footer-col h3 a {
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.footer-col a {
	font-size: 0.16rem;
	line-height: 0.2rem;
	color: #767676;
}

.footer-col-guide a {
	font-size: 0.2rem;
	font-weight: 400;
	line-height: 0.2rem;
	color: #37773b;
}

.copyright {
	background: #37773b;
	width: 100%;
	margin: 0 auto;
	padding: 0.18rem 0.16rem;
}

.copyright p {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.12rem;
	line-height: 0.2rem;
	color: #ffffff;
	text-align: center;
}

/* ========== 商品一覧（Figma 1:730） ========== */
.plist-page {
	position: relative;
	overflow: hidden;
}

.plist-wave {
	position: absolute;
	left: 50%;
	top: -1.11rem;
	z-index: 0;
	width: 19rem;
	height: 3.09rem;
	margin-left: -9.5rem;
	max-width: none;
	pointer-events: none;
}

.plist-wrap {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 14.4rem;
	margin: 0 auto;
	padding: 0.18rem 0.16rem 0.8rem;
}

.plist-crumb {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.09rem;
	font-size: 0.12rem;
	line-height: 0.16rem;
	color: #472600;
}

.plist-crumb img {
	width: 0.12rem;
	height: 0.12rem;
	max-width: none;
}

.plist-title {
	margin: 0.26rem 0 0.48rem;
}

.plist-title h1 {
	font-size: 0.32rem;
	font-weight: 400;
	line-height: 0.225rem;
	color: #000000;
}

.plist-body {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 0.33rem;
}

.plist-side {
	width: 1.77rem;
	max-width: 1.77rem;
	-webkit-flex: 0 0 1.77rem;
	flex: 0 0 1.77rem;
}

.plist-search {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.1rem;
	width: 1.77rem;
	height: 0.45rem;
	padding: 0.03rem 0.1rem;
	background: #fcf6ea;
	border: 0.01rem solid #ffe6ca;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	overflow: hidden;
}

.plist-search-ico {
	width: 0.1875rem;
	height: 0.1875rem;
	overflow: visible;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.plist-search-ico img {
	width: 0.2075rem;
	height: 0.2075rem;
	max-width: none;
	margin: -0.01rem;
}

.plist-search input {
	-webkit-flex: 1;
	flex: 1;
	min-width: 0;
	height: 0.39rem;
	font-size: 0.12rem;
	line-height: 0.225rem;
	color: #472600;
	outline: none;
}

.plist-search input::-webkit-input-placeholder {
	color: #797979;
}

.plist-search input::-moz-placeholder {
	color: #797979;
}

.plist-search input:-ms-input-placeholder {
	color: #797979;
}

.plist-search input::placeholder {
	color: #797979;
}

.plist-search input::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
	display: none;
}

.plist-search-clear {
	width: 0.22rem;
	height: 0.23rem;
	padding: 0;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.plist-search-clear img {
	width: 0.22rem;
	height: 0.23rem;
	max-width: none;
}

.plist-block {
	margin-top: 0.26rem;
}

.plist-block h2 {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 1.77rem;
	height: 0.68rem;
	background: #37773b;
	-webkit-border-radius: 0.25rem 0.25rem 0 0;
	border-radius: 0.25rem 0.25rem 0 0;
	color: #ffffff;
	font-size: 0.2rem;
	font-weight: 400;
	line-height: 0.225rem;
}

.plist-block li {
	position: relative;
}

.plist-block a {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	width: 1.77rem;
	height: 0.5rem;
	padding: 0 0.1rem;
	font-size: 0.2rem;
	line-height: 0.225rem;
	color: #797979;
}

.plist-block a.is-on,
.plist-has-fly:hover > a,
.plist-has-fly.is-open > a {
	background: #fcf6ea;
	color: #37773b;
}

.plist-flyouts {
	display: none;
	position: absolute;
	top: 0;
	left: 100%;
	z-index: 6;
}

.plist-has-fly:hover .plist-flyouts,
.plist-has-fly.is-open .plist-flyouts {
	display: -webkit-flex;
	display: flex;
}

.plist-fly {
	width: 1.76rem;
	background: #fffffa;
	-webkit-border-radius: 0.25rem;
	border-radius: 0.25rem;
	-webkit-box-shadow: 0 0.04rem 0.02rem rgba(0, 0, 0, 0.25);
	box-shadow: 0 0.04rem 0.02rem rgba(0, 0, 0, 0.25);
}

.plist-fly a {
	width: 1.76rem;
}

.plist-fly li:first-child a {
	background: #fcf6ea;
	color: #37773b;
	-webkit-border-radius: 0.25rem 0 0 0;
	border-radius: 0.25rem 0 0 0;
}

.plist-main {
	-webkit-flex: 1;
	flex: 1;
	min-width: 0;
}

.plist-count {
	margin: 0 0 0.16rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.14rem;
	line-height: 0.2rem;
	color: #767676;
}

.plist-status {
	margin-bottom: 0.24rem;
}

.plist-filters {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.1rem;
}

.plist-filter-tag {
	display: -webkit-inline-flex;
	display: inline-flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.08rem;
	padding: 0.08rem 0.12rem;
	background: #f4efe4;
	border: 0.01rem solid #d8cdb8;
	-webkit-border-radius: 999px;
	border-radius: 999px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.12rem;
	line-height: 1;
	color: #5c4c2c;
	text-decoration: none;
}

.plist-filter-tag img {
	width: 0.12rem;
	height: 0.12rem;
	opacity: 0.7;
}

.plist-filter-reset {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.12rem;
	line-height: 1;
	color: #37773b;
	text-decoration: underline;
}

.plist-empty {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 100%;
	min-height: 3.2rem;
	padding: 0.8rem 0.4rem;
	background: #ffffff;
	border: 0.006rem dashed #37773b;
	-webkit-border-radius: 0.2rem;
	border-radius: 0.2rem;
	text-align: center;
}

.plist-empty-icon {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 0.8rem;
	height: 0.8rem;
	margin-bottom: 0.24rem;
	background: #e7f0e3;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}

.plist-empty-icon img {
	width: 0.4rem;
	height: 0.4rem;
	opacity: 0.7;
}

.plist-empty-title {
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.2rem;
	font-weight: 500;
	line-height: 0.28rem;
	color: #5c4c2c;
}

.plist-empty-text {
	margin: 0.12rem 0 0;
	max-width: 4.8rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.14rem;
	line-height: 0.22rem;
	color: #767676;
}

.plist-empty-actions {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	gap: 0.16rem;
	margin-top: 0.28rem;
}

.plist-empty-btn {
	display: -webkit-inline-flex;
	display: inline-flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	min-width: 1.6rem;
	height: 0.44rem;
	padding: 0 0.24rem;
	background: #37773b;
	-webkit-border-radius: 999px;
	border-radius: 999px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.14rem;
	color: #ffffff;
	text-decoration: none;
}

.plist-empty-link {
	display: -webkit-inline-flex;
	display: inline-flex;
	-webkit-align-items: center;
	align-items: center;
	height: 0.44rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.14rem;
	color: #37773b;
	text-decoration: underline;
}

.plist-grid {
	max-width: 9.41rem;
	margin: 0;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	gap: 0.3025rem 0.2371rem;
}

.plist-grid .product-item {
	-webkit-flex: 0 0 2.1747rem;
	flex: 0 0 2.1747rem;
	width: 2.1747rem;
	max-width: 2.1747rem;
	min-width: 0;
}

.plist-grid .product-thumb {
	-webkit-border-radius: 0.204rem;
	border-radius: 0.204rem;
}

.plist-grid .product-name {
	font-size: 0.147rem;
	line-height: 0.184rem;
	min-height: 0.368rem;
}

.plist-grid .product-origin {
	height: 0.164rem;
	font-size: 0.098rem;
	line-height: 0.184rem;
}

.plist-grid .product-point {
	font-size: 0.098rem;
	line-height: 0.184rem;
}

.plist-grid .product-price span {
	font-size: 0.196rem;
}

.plist-grid .product-price small {
	font-size: 0.114rem;
}

.plist-pager {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	gap: 0.19rem;
	width: 9.41rem;
	max-width: 100%;
	margin: 0.77rem auto 0;
}

.plist-pager a {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 0.43rem;
	height: 0.43rem;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	font-size: 0.2rem;
	line-height: 0.225rem;
	color: #472600;
	text-align: center;
}

.plist-pager a.is-on {
	background: #f98d13;
	color: #ffffff;
}

/* ========== 商品详情（Figma 1:1164） ========== */
.pdetail-wrap {
	width: 100%;
	max-width: 14.4rem;
	margin: 0 auto;
	padding: 0.18rem 0.16rem 0.8rem;
}

.pdetail-body {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	gap: 0.56rem;
	margin-top: 1.09rem;
}

.pdetail-gallery {
	width: 100%;
	max-width: 5.59rem;
	min-width: 0;
}

.pdetail-main {
	position: relative;
	width: 5.59rem;
	height: 5.59rem;
	overflow: hidden;
	-webkit-border-radius: 0.204rem;
	border-radius: 0.204rem;
}

.pdetail-main .swiper-wrapper,
.pdetail-main .swiper-slide {
	width: 100%;
	height: 100%;
}

.pdetail-main img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	-webkit-border-radius: 0.204rem;
	border-radius: 0.204rem;
}

.pdetail-nav {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 0.48rem;
	height: 0.48rem;
	margin-top: -0.24rem;
}

.pdetail-nav img {
	width: 0.2rem;
	height: 0.2rem;
}

.pdetail-nav-prev {
	left: 0.12rem;
}

.pdetail-nav-prev img {
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}

.pdetail-nav-next {
	right: 0.12rem;
}

.pdetail-gallery .pdetail-thumbs {
	width: 100%;
	height: 0.97rem;
	margin-top: 0.23rem;
	padding: 0.02rem;
	overflow: visible;
}

.pdetail-thumbs .swiper-wrapper {
	overflow: visible;
}

.pdetail-thumbs .swiper-slide {
	width: 0.93rem;
	height: 0.93rem;
	overflow: hidden;
	-webkit-border-radius: 0.204rem;
	border-radius: 0.204rem;
	cursor: pointer;
}

.pdetail-thumbs img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.pdetail-thumbs .is-on,
.pdetail-thumbs .swiper-slide-thumb-active {
	outline: 0.02rem solid #37773b;
	outline-offset: 0;
}

.pdetail-info {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-align-self: flex-start;
	align-self: flex-start;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	width: 100%;
	max-width: 5.03rem;
	overflow: visible;
	gap: 0.12rem;
	font-size: 0.16rem;
	line-height: 1.4;
}

.pdetail-info h1 {
	font-size: 0.4rem;
	font-weight: 400;
	line-height: 1.25;
	color: #000000;
}

.pdetail-origin {
	height: 0.24rem;
	padding: 0 0.1rem;
	font-size: 0.16rem;
	line-height: 0.24rem;
}

.pdetail-point-row {
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	gap: 0.08rem;
}

.pdetail-point {
	font-size: 0.16rem;
	line-height: 1.4;
	color: #f98d13;
	white-space: nowrap;
}

.pdetail-pt-btn {
	width: 0.12rem;
	height: 0.12rem;
	padding: 0;
}

.pdetail-ico {
	display: block;
	background-color: currentColor;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.pdetail-ico-crown {
	width: 0.12rem;
	height: 0.12rem;
	color: #f98d13;
	-webkit-mask-image: url("../img/icon-pdetail-crown.png");
	mask-image: url("../img/icon-pdetail-crown.png");
}

.pdetail-ico-ship {
	width: 0.16rem;
	height: 0.16rem;
	color: #ffffff;
	-webkit-mask-image: url("../img/icon-pdetail-ship.png");
	mask-image: url("../img/icon-pdetail-ship.png");
}

.pdetail-ico-bag {
	width: 0.25rem;
	height: 0.25rem;
	color: #ffffff;
	-webkit-mask-image: url("../img/icon-pdetail-bag.png");
	mask-image: url("../img/icon-pdetail-bag.png");
}

.pdetail-tip {
	display: none;
	position: absolute;
	left: 1.86rem;
	top: 0.17rem;
	z-index: 4;
	width: 2.48rem;
	height: 1.26rem;
}

.pdetail-point-row:hover .pdetail-tip,
.pdetail-point-row.is-open .pdetail-tip {
	display: block;
}

.pdetail-tip > img {
	position: absolute;
	left: 0;
	top: 0;
	width: 2.48rem;
	height: 1.26rem;
	max-width: none;
}

.pdetail-tip-bang {
	position: absolute;
	left: -0.13rem;
	top: 0;
	z-index: 1;
	width: 0.08rem;
	height: 0.08rem;
	background: #dc5e4a;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	color: #ffffff;
	font-size: 0.057rem;
	line-height: 0.08rem;
	text-align: center;
}

.pdetail-tip ul {
	position: relative;
	z-index: 1;
	width: 1.84rem;
	margin: 0.1rem 0 0 0.32rem;
}

.pdetail-tip li {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.05rem;
	height: 0.32rem;
}

.pdetail-tip li img {
	width: 0.15rem;
	height: 0.185rem;
	max-width: none;
}

.pdetail-tip li span {
	width: 0.84rem;
	font-size: 0.12rem;
	line-height: 0.2rem;
	color: #000000;
}

.pdetail-tip li small {
	width: 0.75rem;
	font-size: 0.12rem;
	line-height: 0.2rem;
	color: #f98d13;
	letter-spacing: 0.03rem;
	text-align: right;
}

.pdetail-price {
	font-size: 0.36rem;
	line-height: 1.2;
	color: #37773b;
}

.pdetail-price span {
	font-size: 1em;
	line-height: 1.2;
}

.pdetail-price small {
	font-size: 0.56em;
	line-height: 1.2;
}

.pdetail-row {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.16rem;
	margin-top: 0.04rem;
}

.pdetail-row + .pdetail-row {
	margin-top: 0;
}

.pdetail-row > span {
	width: 0.41rem;
	font-size: 0.2rem;
	line-height: 1.2;
	letter-spacing: 0.004rem;
	color: #303030;
}

.pdetail-spec {
	display: -webkit-flex;
	display: flex;
	gap: 0.1rem;
}

.pdetail-spec button {
	width: 1.05rem;
	height: 0.38rem;
	padding: 0;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.2rem;
	line-height: 1;
	color: #472600;
	border: 0.01rem solid #8d8d8d;
}

.pdetail-spec button.is-on {
	background: #37773b;
	border-color: #37773b;
	color: #ffffff;
}

.pdetail-qty {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	width: 2.21rem;
	height: 0.38rem;
	padding: 0 0.48rem;
	border: 0.01rem solid rgba(48, 48, 48, 0.55);
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
}

.pdetail-qty-minus,
.pdetail-qty-plus {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 0.24rem;
	height: 0.24rem;
	padding: 0;
}

.pdetail-qty-minus img,
.pdetail-qty-plus img {
	width: 0.1rem;
	max-width: none;
}

.pdetail-qty-minus img {
	height: 0.02rem;
}

.pdetail-qty-plus img {
	height: 0.1rem;
}

.pdetail-qty input {
	width: 0.4rem;
	height: 0.24rem;
	font-size: 0.2rem;
	line-height: 0.24rem;
	color: #303030;
	text-align: center;
	outline: none;
}

.pdetail-ship {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.1rem;
	width: 5.03rem;
	height: 0.54rem;
	margin-top: 0.06rem;
	padding: 0 0.2rem;
	background: #5e5e5e;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	font-size: 0.12rem;
	line-height: 1.2;
	color: #ffffff;
}

.pdetail-ship-main {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.08rem;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	min-width: 0;
}

.pdetail-ship-msg {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	min-width: 0;
	line-height: 1.35;
}

.pdetail-ship-msg strong {
	font-weight: 700;
}

.pdetail-ship-guide,
.pdetail-ship a {
	margin-left: auto;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	color: #ffe6ca;
	text-decoration: underline;
	white-space: nowrap;
}

.pdetail-ship-wrap {
	position: relative;
	width: 5.03rem;
	max-width: 100%;
}

.pdetail-ship-region {
	display: inline;
	padding: 0;
	border: 0;
	background: transparent;
	color: #ffe6ca;
	font: inherit;
	text-decoration: underline;
	cursor: pointer;
	white-space: nowrap;
	vertical-align: baseline;
}

.pdetail-ship-panel {
	position: absolute;
	z-index: 20;
	top: 0.06rem;
	left: 100%;
	margin-left: 0.12rem;
	width: 2.4rem;
	max-height: 3.2rem;
	overflow: auto;
	padding: 0.12rem;
	background: #ffffff;
	border: 0.01rem solid #d8d8d8;
	-webkit-border-radius: 0.12rem;
	border-radius: 0.12rem;
	-webkit-box-shadow: 0 0.08rem 0.24rem rgba(0, 0, 0, 0.12);
	box-shadow: 0 0.08rem 0.24rem rgba(0, 0, 0, 0.12);
}

.pdetail-ship-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pdetail-ship-pref {
	display: block;
	width: 100%;
	padding: 0.08rem 0.1rem;
	border: 0;
	background: transparent;
	text-align: left;
	font-size: 0.14rem;
	line-height: 1.4;
	color: #303030;
	cursor: pointer;
}

.pdetail-ship-pref.is-on,
.pdetail-ship-pref:hover {
	background: #f3f7f3;
	color: #37773b;
}

.pdetail-buy,
.pdetail-cart {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	gap: 0.1rem;
	width: 5.03rem;
	height: 0.73rem;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	font-size: 0.2rem;
	line-height: 1;
	color: #ffffff;
}

.pdetail-buy {
	margin-top: 0.06rem;
	background: #37773b;
}

.pdetail-cart {
	background: #f98d13;
}

.pdetail-cart img {
	width: 0.25rem;
	height: 0.25rem;
	max-width: none;
}

.pdetail-desc {
	margin-top: 0.61rem;
}

.pdetail-desc h2 {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 1.77rem;
	height: 0.68rem;
	background: #37773b;
	-webkit-border-radius: 0.25rem 0.25rem 0 0;
	border-radius: 0.25rem 0.25rem 0 0;
	color: #ffffff;
	font-size: 0.2rem;
	font-weight: 400;
	line-height: 0.225rem;
}

.pdetail-desc-body {
	max-width: 11.18rem;
	padding-top: 0.25rem;
	font-size: 0.16rem;
	line-height: 0.343rem;
	color: #000000;
}

/* ========== ご利用ガイド（Figma 1:937） ========== */
.guide-page {
	position: relative;
	overflow: hidden;
}

.guide-wrap {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 14.4rem;
	margin: 0 auto;
	padding: 0.18rem 0.16rem 0.8rem;
	font-size: 0.16rem;
	line-height: 1.4;
}

.guide-title {
	margin: 0.26rem 0 0.88rem;
}

.guide-title h1 {
	font-size: 0.32rem;
	font-weight: 400;
	line-height: 0.225rem;
	color: #000000;
}

.guide-tabs {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 100%;
	max-width: 10.76rem;
	min-height: 1.13rem;
	height: auto;
	margin: 0 auto 0.44rem;
	padding: 0.08rem 0;
	border-top: 0.01rem solid #f98d13;
	border-bottom: 0.01rem solid #f98d13;
}

.guide-tabs a {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 1.79rem;
	min-height: 0.84rem;
	height: auto;
	padding: 0.1rem 0.02rem;
	font-size: 0.16rem;
	line-height: 1.25;
	color: #000000;
	text-align: center;
	-webkit-border-radius: 0.25rem;
	border-radius: 0.25rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	min-width: 0;
}

.guide-tabs a span {
	display: block;
	white-space: normal;
	line-height: 1.25;
}

.guide-tabs a:nth-child(3) {
	width: 1.81rem;
}

.guide-tabs a.is-on {
	background: #fcf6ea;
	color: #37773b;
}

.guide-acc {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	gap: 0.29rem;
	width: 100%;
	max-width: 10.76rem;
	margin: 0 auto;
	font-size: 0.16rem;
	line-height: 1.4;
}

.guide-acc-item {
	width: 100%;
	background: #fcf6ea;
	-webkit-border-radius: 0.25rem;
	border-radius: 0.25rem;
	overflow: hidden;
	scroll-margin-top: 1.1rem;
}

.guide-acc-item.is-open {
	background: #f98d13;
}

.guide-acc-btn {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	width: 100%;
	min-height: 1.13rem;
	padding: 0.41rem 0.75rem 0.4rem 0.67rem;
	font-size: 0.24rem;
	line-height: 0.32rem;
	letter-spacing: 0.02rem;
	color: #472600;
	text-align: left;
}

.guide-acc-item.is-open .guide-acc-btn {
	min-height: 0;
	padding-top: 0.3rem;
	padding-bottom: 0.29rem;
	color: #ffffff;
}

.guide-acc-ico {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 0.33941rem;
	height: 0.33941rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.guide-acc-plus,
.guide-acc-close {
	width: 0.24rem;
	height: 0.24rem;
	max-width: none;
}

.guide-acc-plus {
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.guide-acc-close {
	display: none;
}

.guide-acc-item.is-open .guide-acc-plus {
	display: none;
}

.guide-acc-item.is-open .guide-acc-close {
	display: block;
}

.guide-acc-panel {
	display: none;
	padding: 0 0.69rem 0.46rem;
}

.guide-acc-item.is-open .guide-acc-panel {
	display: block;
}

.guide-acc-inner {
	width: 100%;
	min-height: 3.01rem;
	padding: 0.39rem 0.43rem 0.38rem;
	background: #fcf6ea;
	-webkit-border-radius: 0.25rem;
	border-radius: 0.25rem;
}

.guide-acc-inner p {
	font-size: 0.16rem;
	line-height: 0.32rem;
	letter-spacing: 0.015rem;
	color: #472600;
}

/* ========== 私たちについて（Figma 1:1271） ========== */
.about-page {
	overflow: hidden;
	font-size: 0.16rem;
	line-height: 1.4;
}

.about-hero {
	position: relative;
	width: 100%;
	height: 4.8rem;
	overflow: hidden;
}

.about-hero-img {
	display: block;
	width: 100%;
	height: 4.8rem;
	max-width: none;
	object-fit: cover;
}

.about-hero-fade {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: -webkit-linear-gradient(top, rgba(252, 246, 234, 0) 70.857%, rgba(252, 246, 234, 0.7));
	background: linear-gradient(to bottom, rgba(252, 246, 234, 0) 70.857%, rgba(252, 246, 234, 0.7));
	pointer-events: none;
}

.about-crumb {
	position: absolute;
	left: 0.16rem;
	top: 0.18rem;
	z-index: 1;
}

.about-wrap {
	width: 100%;
	max-width: 14.4rem;
	margin: 0 auto;
	padding: 0.32rem 0.16rem 0.8rem;
	font-size: 0.16rem;
	line-height: 1.4;
}

.about-title {
	margin: 0.12rem 0 0.48rem;
}

.about-title h1,
.about-title h2 {
	font-size: 0.32rem;
	font-weight: 400;
	line-height: 0.225rem;
	color: #000000;
}

.about-story {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 0.24rem 0.61rem;
	margin-bottom: 0.64rem;
}

.about-story-rev .about-photo-xl {
	-webkit-order: 2;
	order: 2;
}

.about-story-photos {
	position: relative;
	width: 4.53rem;
	height: 4.88rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.about-photo {
	display: block;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	object-fit: cover;
	max-width: none;
}

.about-photo-lg {
	position: relative;
	z-index: 1;
	width: 3.88rem;
	height: 3.88rem;
}

.about-photo-sm {
	position: absolute;
	left: 1.59rem;
	top: 1.94rem;
	z-index: 2;
	width: 2.94rem;
	height: 2.94rem;
}

.about-photo-xl {
	width: 5.29rem;
	height: 5.29rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.about-story-text {
	width: 100%;
	max-width: 6.54rem;
	font-size: 0.16rem;
	line-height: 0.32rem;
	letter-spacing: 0.02rem;
	color: #472600;
}

.about-story-text h2,
.about-feat-panel h2 {
	margin-bottom: 0.35rem;
	font-size: 0.24rem;
	font-weight: 400;
	line-height: 0.32rem;
	letter-spacing: 0.02rem;
	color: #37773b;
}

.about-story-text p {
	margin-bottom: 0.32rem;
	font-size: 0.16rem;
	line-height: 0.32rem;
	letter-spacing: 0.02rem;
	color: #472600;
}

.about-story-text p:last-child {
	margin-bottom: 0;
}

.about-feats {
	margin: 0.4rem 0 0.8rem;
}

.about-feat {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	margin-bottom: 0.84rem;
}

.about-feat-panel {
	position: relative;
	z-index: 2;
	width: 6.71rem;
	min-height: 2.56rem;
	padding: 0.62rem 0.4rem 0.4rem 1.04rem;
	background: #fcf6ea;
	-webkit-border-radius: 0.25rem;
	border-radius: 0.25rem;
	font-size: 0.16rem;
	line-height: 0.32rem;
	letter-spacing: 0.02rem;
	color: #472600;
}

.about-feat-panel p {
	font-size: 0.16rem;
	line-height: 0.32rem;
	letter-spacing: 0.02rem;
	color: #472600;
}

.about-feat-img {
	position: relative;
	z-index: 1;
	width: 6.77rem;
	height: 3.92rem;
	margin-left: -1.04rem;
	margin-top: 0.14rem;
	-webkit-border-radius: 0.25rem;
	border-radius: 0.25rem;
	object-fit: cover;
	max-width: none;
}

.about-feat-rev .about-feat-img {
	z-index: 1;
	width: 6.71rem;
	margin-left: 0;
	margin-right: -1.04rem;
	margin-top: 0;
}

.about-feat-rev .about-feat-panel {
	z-index: 2;
	width: 6.77rem;
	margin-top: 1.51rem;
	padding: 0.61rem 0.4rem 0.4rem 1.1rem;
}

.about-info {
	margin-top: 0.4rem;
}

.about-info-card {
	position: relative;
	width: 100%;
	max-width: 12.55rem;
	min-height: 10.73rem;
	margin: 0 auto;
}

.about-info-shape {
	display: block;
	width: 12.55rem;
	height: 10.73rem;
	max-width: 100%;
}

.about-info-list {
	position: absolute;
	left: 2.28rem;
	top: 1.46rem;
	width: 7.86rem;
	font-size: 0.16rem;
	line-height: 0.2rem;
}

.about-info-row {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: stretch;
	align-items: stretch;
	gap: 0.2rem;
	padding-bottom: 0.32rem;
	margin-bottom: 0.32rem;
}

.about-info-row dt,
.about-info-row dd {
	padding-bottom: 0.12rem;
	border-bottom: 0.01rem solid #e8d5b8;
	font-size: 0.16rem;
	line-height: 0.2rem;
}

.about-info-row dt {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	width: 2rem;
	padding-left: 0.5rem;
	color: #424242;
}

.about-info-row dd {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	width: 5.66rem;
	color: #222222;
}

.about-info-row dd p {
	font-size: 0.16rem;
	line-height: 0.32rem;
	color: #222222;
}

/* ========== 新着情報一覧（Figma 1:996） ========== */
.nlist-page {
	position: relative;
	overflow: hidden;
	font-size: 0.16rem;
	line-height: 1.4;
}

.nlist-page .plist-wave,
.nlist-wave {
	top: 0.7rem;
}

.nlist-head {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 14.4rem;
	margin: 0 auto;
	padding: 0.18rem 0.16rem 0.24rem;
}

.nlist-title {
	margin: 0.26rem 0 0.24rem;
}

.nlist-title h1 {
	font-size: 0.32rem;
	font-weight: 400;
	line-height: 0.225rem;
	color: #000000;
}

.nlist-band {
	position: relative;
	z-index: 1;
	background: #ffe6ca;
	padding: 0 0.16rem 0.8rem;
}

.nlist-grid {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	gap: 0.2rem 0.01rem;
	width: 100%;
	max-width: 12.2rem;
	margin: 0 auto;
	list-style: none;
}

.nlist-band .plist-pager {
	width: auto;
	margin-top: 0.2rem;
}

.nlist-empty {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 100%;
	max-width: 12.2rem;
	min-height: 2.8rem;
	margin: 0.4rem auto 0;
	padding: 0.8rem 0.4rem;
	background: #ffffff;
	border: 0.006rem dashed #37773b;
	-webkit-border-radius: 0.071rem;
	border-radius: 0.071rem;
	-webkit-box-shadow: 0 0.04rem 0.03rem rgba(71, 38, 0, 0.25);
	box-shadow: 0 0.04rem 0.03rem rgba(71, 38, 0, 0.25);
	text-align: center;
}

.nlist-empty-icon {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 0.8rem;
	height: 0.8rem;
	margin-bottom: 0.24rem;
	background: #e7f0e3;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}

.nlist-empty-icon img {
	width: 0.4rem;
	height: 0.4rem;
	max-width: none;
	object-fit: contain;
}

.nlist-empty-title {
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.2rem;
	font-weight: 500;
	line-height: 0.28rem;
	color: #5c4c2c;
}

.nlist-empty-text {
	margin: 0.12rem 0 0;
	max-width: 4.8rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.14rem;
	line-height: 0.22rem;
	color: #767676;
}

/* ========== 新着情報详情（Figma 1:1362） ========== */
.ndetail-page {
	font-size: 0.16rem;
	line-height: 1.4;
	background: #ffffff;
	max-width: 100%;
}

.ndetail-wrap {
	width: 100%;
	max-width: 14.4rem;
	margin: 0 auto;
	padding: 0.18rem 0.16rem 0.8rem;
}

.ndetail-page .plist-crumb {
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.ndetail-article {
	width: 100%;
}

.ndetail-tag {
	display: block;
	width: 1.03rem;
	height: 0.255rem;
	margin: 0.27rem 0 0;
	background: #37773b;
	color: #ffffff;
	font-size: 0.12rem;
	line-height: 0.255rem;
	text-align: center;
}

.ndetail-title {
	margin: 0.28rem 0 0;
	font-size: 0.32rem;
	font-weight: 400;
	line-height: 0.4rem;
	color: #5c4c2c;
	white-space: normal;
	overflow-wrap: break-word;
	word-break: break-word;
}

.ndetail-hero {
	display: block;
	width: 100%;
	max-width: 11.14rem;
	height: 7.17rem;
	margin: 0.38rem 0 0;
	-webkit-border-radius: 0.25rem;
	border-radius: 0.25rem;
	object-fit: cover;
}

.ndetail-body {
	width: 100%;
	max-width: 11.14rem;
	margin: 0.56rem 0 0;
	font-size: 0.16rem;
	line-height: 0.343rem;
	color: #000000;
}

.ndetail-body p {
	margin: 0;
	font-size: 0.16rem;
	line-height: 0.343rem;
	color: #000000;
}

.ndetail-nav {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 0.07rem;
	margin-top: 0.49rem;
}

.ndetail-arrow {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex: 0 0 auto;
	flex: 0 0 auto;
	width: 0.55rem;
	height: 0.55rem;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
}

.ndetail-arrow img {
	max-width: none;
	width: 0.254rem;
	height: 0.26rem;
}

.ndetail-prev {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

a.ndetail-arrow {
	background: #37773b;
	border: none;
}

span.ndetail-arrow,
.ndetail-arrow[aria-disabled="true"] {
	background: #ffffff;
	border: 0.01rem solid #dee2e6;
}

.ndetail-back {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 2.21rem;
	height: 0.56rem;
	margin-left: 0.02rem;
	background: #37773b;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	font-size: 0.2rem;
	line-height: 0.16rem;
	color: #ffffff;
	text-align: center;
}

/* ========== お問い合わせ（Figma 1:1394） ========== */
.inq-page {
	position: relative;
	overflow: hidden;
	font-size: 0.16rem;
	line-height: 1.4;
}

.inq-wrap {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 14.4rem;
	margin: 0 auto;
	padding: 0.18rem 0.16rem 0.8rem;
}

.inq-title {
	margin: 0.26rem 0 0.48rem;
}

.inq-title h1 {
	font-size: 0.32rem;
	font-weight: 400;
	line-height: 0.225rem;
	color: #000000;
}

.inq-card {
	position: relative;
	width: 100%;
	max-width: 12.553rem;
	margin: 0 auto;
	padding: 0.8rem 1.58rem 0.86rem 1.45rem;
}

.inq-card-bg {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	pointer-events: none;
}

.inq-form {
	position: relative;
	z-index: 1;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	gap: 0.4rem;
	width: 100%;
	max-width: 9.53rem;
	margin: 0 auto;
	font-size: 0.2rem;
	line-height: 0.225rem;
	color: #000000;
}

.inq-row {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	min-height: 0.53rem;
}

.inq-row-area {
	-webkit-align-items: flex-start;
	align-items: flex-start;
}

.inq-label {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	width: 3.51rem;
	gap: 0.06rem;
	font-size: 0.2rem;
	line-height: 0.225rem;
	color: #000000;
}

.inq-row-area .inq-label {
	padding-top: 0.1rem;
}

.inq-req {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 0.59rem;
	height: 0.33rem;
	background: #dc5e4a;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	font-size: 0.16rem;
	line-height: 0.225rem;
	color: #ffffff;
	white-space: nowrap;
}

.inq-fields {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	min-width: 0;
	width: 6.02rem;
}

.inq-fields-pair {
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	gap: 0.32rem;
}

.inq-pair {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.24rem;
	font-size: 0.2rem;
	line-height: 0.225rem;
	color: #000000;
}

.inq-fields-pair .inq-pair {
	-webkit-flex: 1 1 0;
	flex: 1 1 0;
	min-width: 0;
}

.inq-pair > span {
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.inq-input {
	height: 0.53rem;
	padding: 0 0.12rem;
	background: #ffffff;
	border: 0.01rem solid #ffe6ca;
	-webkit-border-radius: 0.05rem;
	border-radius: 0.05rem;
	font-size: 0.16rem;
	line-height: 0.22rem;
	color: #000000;
	outline: none;
}

.inq-input-sm {
	width: 2.36rem;
}

.inq-fields-pair .inq-input-sm {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
}

.inq-input-lg {
	width: 6.02rem;
	max-width: 100%;
}

.inq-textarea {
	width: 6.02rem;
	max-width: 100%;
	height: 1.63rem;
	padding: 0.12rem;
	resize: none;
}

.inq-line {
	display: block;
	width: 100%;
	height: 0.01rem;
	max-width: none;
}

.inq-select {
	position: relative;
	width: 6.02rem;
	max-width: 100%;
}

.inq-select-btn {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	width: 100%;
	height: 0.53rem;
	padding: 0 0.18rem 0 0.12rem;
	background: #ffffff;
	border: 0.01rem solid #ffe6ca;
	-webkit-border-radius: 0.05rem;
	border-radius: 0.05rem;
	font-size: 0.16rem;
	line-height: 0.22rem;
	color: #a4a4a4;
	text-align: left;
}

.inq-select-btn.is-picked {
	color: #000000;
}

.inq-select-arrow {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 0.133rem;
	height: 0.072rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.inq-select-arrow img {
	width: 0.133rem;
	height: 0.072rem;
	max-width: none;
}

.inq-select-list {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 2;
	width: 100%;
	background: #ffffff;
	border: 0.01rem solid #ffe6ca;
	-webkit-border-radius: 0.05rem;
	border-radius: 0.05rem;
}

.inq-select-list button {
	display: block;
	width: 100%;
	height: 0.4rem;
	padding: 0 0.12rem;
	font-size: 0.16rem;
	line-height: 0.4rem;
	color: #000000;
	text-align: left;
}

.inq-select-list button:hover,
.inq-select-list button:focus {
	background: #fcf6ea;
}

.inq-foot {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	margin-top: 0.58rem;
}

.inq-agree {
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.1rem;
	font-size: 0.14rem;
	line-height: 0.22rem;
	letter-spacing: 0.0065rem;
	color: #000000;
	cursor: pointer;
}

.inq-agree-input {
	position: absolute;
	width: 0.01rem;
	height: 0.01rem;
	opacity: 0;
	overflow: hidden;
}

.inq-agree-box {
	position: relative;
	display: block;
	width: 0.18rem;
	height: 0.174rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.inq-agree-box img {
	width: 0.18rem;
	height: 0.174rem;
	max-width: none;
}

.inq-agree-dot {
	display: none;
	position: absolute;
	left: 50%;
	top: 50%;
	width: 0.08rem;
	height: 0.08rem;
	margin: -0.04rem 0 0 -0.04rem;
	background: #37773b;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}

.inq-agree-input:checked + .inq-agree-box .inq-agree-dot {
	display: block;
}

.inq-agree-input:focus + .inq-agree-box {
	outline: 0.02rem solid #37773b;
	outline-offset: 0.02rem;
}

.inq-agree-text a {
	color: #37773b;
	text-decoration: underline;
}

.inq-submit {
	width: 2.8rem;
	height: 0.61rem;
	margin-top: 0.2rem;
	background: #37773b;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	font-size: 0.2rem;
	line-height: 0.13rem;
	letter-spacing: 0.005rem;
	color: #ffffff;
}

/* ========== プライバシーポリシー（Figma 1:1491） ========== */
.legal-page {
	position: relative;
	overflow: hidden;
	font-size: 0.16rem;
	line-height: 1.4;
}

.legal-wrap {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 14.4rem;
	margin: 0 auto;
	padding: 0.18rem 0.16rem 0.8rem;
}

.legal-title {
	margin: 0.26rem 0 0.48rem;
}

.legal-title h1 {
	font-size: 0.32rem;
	font-weight: 400;
	line-height: 0.225rem;
	color: #000000;
	white-space: normal;
	overflow-wrap: break-word;
	word-break: break-word;
}

.legal-body {
	width: 100%;
	max-width: 11.14rem;
	margin: 0 auto;
	font-size: 0.16rem;
	line-height: 0.343rem;
	color: #000000;
}

.legal-body p,
.legal-body li {
	margin: 0;
	font-size: 0.16rem;
	line-height: 0.343rem;
	color: #000000;
}

.legal-body ul,
.legal-body ol {
	margin: 0;
	padding: 0 0 0 0.24rem;
}

.legal-body ul {
	list-style: disc;
}

.legal-body ol {
	list-style: decimal;
}

.legal-body a {
	color: #000000;
	text-decoration: underline;
}

/* ========== ログイン（Figma 1:1533） ========== */
.login-page {
	position: relative;
	overflow: hidden;
	font-size: 0.16rem;
	line-height: 1.4;
}

.login-wrap {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 14.4rem;
	margin: 0 auto;
	padding: 0.18rem 0.16rem 0.8rem;
}

.login-card {
	position: relative;
	width: 100%;
	max-width: 12.553rem;
	margin: 0.48rem auto 0;
	padding: 0.68rem 1.51rem 0.69rem;
}

.login-card-bg {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	pointer-events: none;
}

.login-title {
	position: relative;
	z-index: 1;
	margin: 0 0 0.56rem;
	font-size: 0.32rem;
	font-weight: 400;
	line-height: 0.225rem;
	color: #000000;
	text-align: center;
}

.login-form {
	position: relative;
	z-index: 1;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	gap: 0.4rem;
	width: 100%;
	max-width: 7.54rem;
	margin: 0 auto;
}

.login-row {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	width: 100%;
	min-height: 0.53rem;
}

.login-label {
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	width: 1.52rem;
	font-size: 0.2rem;
	line-height: 0.225rem;
	color: #000000;
}

.login-input {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	width: 6.02rem;
	max-width: 100%;
	height: 0.53rem;
	padding: 0 0.12rem;
	background: #ffffff;
	border: 0.01rem solid #ffe6ca;
	-webkit-border-radius: 0.05rem;
	border-radius: 0.05rem;
	font-size: 0.16rem;
	line-height: 0.22rem;
	color: #000000;
	outline: none;
}

.login-actions {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.32rem;
	margin-top: 0.16rem;
}

.login-submit {
	width: 2.8rem;
	height: 0.61rem;
	background: #37773b;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	font-size: 0.2rem;
	line-height: 0.13rem;
	letter-spacing: 0.005rem;
	color: #ffffff;
}

.login-forgot {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.16rem;
	line-height: 0.13rem;
	letter-spacing: 0.005rem;
	color: #37773b;
	text-decoration: underline;
}

.login-signup {
	position: relative;
	z-index: 1;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	width: 100%;
	max-width: 9.53rem;
	margin: 0.56rem auto 0;
	padding: 0.58rem 0.24rem 0.59rem;
	background: #ffffff;
	-webkit-border-radius: 0.25rem;
	border-radius: 0.25rem;
	text-align: center;
}

.login-signup h2 {
	margin: 0;
	font-size: 0.32rem;
	font-weight: 400;
	line-height: 0.225rem;
	color: #000000;
}

.login-signup p {
	margin: 0.46rem 0 0;
	font-size: 0.16rem;
	line-height: 0.225rem;
	color: #000000;
}

.login-signup-btn {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 2.8rem;
	height: 0.61rem;
	margin-top: 0.46rem;
	background: #fcf6ea;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	font-size: 0.2rem;
	line-height: 0.13rem;
	letter-spacing: 0.005rem;
	color: #472600;
}

/* ========== パスワード変更（Figma 1:1568） ========== */
.pw-page {
	position: relative;
	overflow: hidden;
	font-size: 0.16rem;
	line-height: 1.4;
}

.pw-wrap {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 14.4rem;
	margin: 0 auto;
	padding: 0.18rem 0.16rem 0.8rem;
}

.pw-card {
	position: relative;
	width: 100%;
	max-width: 12.553rem;
	margin: 0.48rem auto 0;
	padding: 0.68rem 1.51rem 0.61rem;
}

.pw-card-bg {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	pointer-events: none;
}

.pw-title {
	position: relative;
	z-index: 1;
	margin: 0 0 0.56rem;
	font-size: 0.32rem;
	font-weight: 400;
	line-height: 0.225rem;
	color: #000000;
	text-align: center;
}

.pw-form {
	position: relative;
	z-index: 1;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	gap: 0.4rem;
	width: 100%;
	max-width: 8.06rem;
	margin: 0 auto;
}

.pw-row {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	width: 100%;
	min-height: 0.53rem;
}

.pw-label {
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	width: 2.04rem;
	font-size: 0.2rem;
	line-height: 0.225rem;
	color: #000000;
}

.pw-input {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	width: 6.02rem;
	max-width: 100%;
	height: 0.53rem;
	padding: 0 0.12rem;
	background: #ffffff;
	border: 0.01rem solid #ffe6ca;
	-webkit-border-radius: 0.05rem;
	border-radius: 0.05rem;
	font-size: 0.16rem;
	line-height: 0.22rem;
	color: #000000;
	outline: none;
}

.pw-code {
	position: relative;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	width: 6.02rem;
	max-width: 100%;
}

.pw-code .pw-input {
	width: 100%;
	padding-right: 1.4rem;
}

.pw-code-btn {
	position: absolute;
	right: 0.05rem;
	top: 0.06rem;
	width: 1.27rem;
	height: 0.41rem;
	background: #37773b;
	-webkit-border-radius: 0.05rem;
	border-radius: 0.05rem;
	font-size: 0.2rem;
	line-height: 0.225rem;
	color: #ffffff;
	white-space: nowrap;
}

.pw-code-btn:disabled {
	background: #c9c9c9;
	cursor: default;
}

.pw-foot {
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 100%;
	min-height: 0.61rem;
	margin-top: 0.16rem;
}

.pw-submit {
	width: 2.8rem;
	height: 0.61rem;
	background: #37773b;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	font-size: 0.2rem;
	line-height: 0.13rem;
	letter-spacing: 0.005rem;
	color: #ffffff;
}

.pw-back {
	position: absolute;
	left: 0;
	top: 50%;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.08rem;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	font-size: 0.14rem;
	line-height: 0.22rem;
	letter-spacing: 0.0065rem;
	color: #37773b;
	text-decoration: underline;
}

.pw-back img {
	width: 0.16rem;
	height: 0.16rem;
	max-width: none;
}

/* ========== 新規会員登録（Figma 1:1798） ========== */
.reg-page {
	position: relative;
	overflow: hidden;
	font-size: 0.16rem;
	line-height: 1.4;
}

.reg-wrap {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 14.4rem;
	margin: 0 auto;
	padding: 0.18rem 0.16rem 0.8rem;
}

.reg-card {
	position: relative;
	width: 100%;
	max-width: 12.553rem;
	margin: 0.48rem auto 0;
	padding: 0.68rem 1.51rem 0.7rem;
}

.reg-card-bg {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	pointer-events: none;
}

.reg-title {
	position: relative;
	z-index: 1;
	margin: 0 0 0.56rem;
	font-size: 0.32rem;
	font-weight: 400;
	line-height: 0.225rem;
	color: #000000;
	text-align: center;
}

.reg-note {
	position: relative;
	z-index: 1;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.13rem;
	width: 100%;
	max-width: 9.53rem;
	margin: 0 auto 0.86rem;
	font-size: 0.2rem;
	line-height: 0.225rem;
	color: #000000;
}

.reg-pref {
	width: 1.91rem;
}

.reg-pref .inq-select-list {
	max-height: 2.4rem;
	overflow-x: hidden;
	overflow-y: auto;
}

.reg-foot {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	width: 100%;
}

.reg-foot-row {
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 100%;
	min-height: 0.61rem;
	margin-top: 0.2rem;
}

.reg-foot .inq-submit {
	margin-top: 0;
}

.reg-back {
	position: absolute;
	left: 0;
	top: 50%;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.08rem;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	font-size: 0.14rem;
	line-height: 0.22rem;
	letter-spacing: 0.0065rem;
	color: #37773b;
	text-decoration: underline;
}

.reg-back img {
	width: 0.16rem;
	height: 0.16rem;
	max-width: none;
}

/* ========== マイページ（Figma 1:1610） ========== */
.mypage-page {
	position: relative;
	overflow: hidden;
	font-size: 0.16rem;
	line-height: 1.4;
}

.mypage-wrap {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 14.4rem;
	margin: 0 auto;
	padding: 0.18rem 0.16rem 0.8rem;
}

.mypage-body {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	gap: 0.37rem;
	margin-top: 0.21rem;
}

.mypage-side {
	width: 2.57rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.mypage-side-title {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	height: 0.86rem;
	background: #37773b;
	-webkit-border-radius: 0.25rem 0.25rem 0 0;
	border-radius: 0.25rem 0.25rem 0 0;
	font-size: 0.24rem;
	font-weight: 400;
	line-height: 0.22rem;
	letter-spacing: 0.0065rem;
	color: #ffffff;
	text-align: center;
}

.mypage-nav {
	height: 3.3rem;
	background: #ffe6ca;
	padding: 0.1rem 0.09rem 0.11rem;
}

.mypage-nav ul {
	height: 3.09rem;
	background: #fcf6ea;
	padding: 0.3rem 0.29rem 0;
}

.mypage-nav li + li {
	margin-top: 0.36rem;
}

.mypage-nav a {
	display: block;
	font-size: 0.2rem;
	line-height: 0.2rem;
	color: #472600;
}

.mypage-main {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	min-width: 0;
}

.mypage-banner {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.12rem;
	height: 0.86rem;
	padding: 0 0.2rem 0 0.4rem;
	background: #ffe6ca;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	min-width: 0;
}

.mypage-user {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: baseline;
	align-items: baseline;
	gap: 0.1rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.mypage-name {
	font-size: 0.24rem;
	line-height: 0.22rem;
	letter-spacing: 0.0065rem;
	color: #472600;
	white-space: nowrap;
}

.mypage-no {
	width: 1.08rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.12rem;
	line-height: 0.15rem;
	color: #000000;
	text-align: right;
	white-space: nowrap;
}

.mypage-ranks {
	-webkit-flex: 0 1 auto;
	flex: 0 1 auto;
	width: auto;
	min-width: 1.84rem;
	margin-left: auto;
	margin-right: 0.08rem;
}

.mypage-ranks li {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.05rem;
	height: 0.25rem;
	opacity: 0.45;
}

.mypage-ranks li.is-current {
	opacity: 1;
	font-weight: 500;
}

.mypage-ranks img {
	width: 0.15rem;
	height: 0.185rem;
	max-width: none;
}

.mypage-ranks span {
	width: 0.84rem;
	font-size: 0.12rem;
	line-height: 0.2rem;
	color: #000000;
}

.mypage-ranks small {
	width: 0.75rem;
	font-size: 0.12rem;
	line-height: 0.2rem;
	letter-spacing: 0.03rem;
	color: #472600;
	text-align: right;
}

.mypage-gold {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.14rem;
	-webkit-flex: 0 0 auto;
	flex: 0 0 auto;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	margin-left: 0;
	min-width: 0;
}

.mypage-gold p {
	-webkit-flex: 0 1 auto;
	flex: 0 1 auto;
	width: auto;
	min-width: 1.5rem;
	max-width: 2.2rem;
	margin: 0;
	font-size: 0.2rem;
	line-height: 1.2;
	color: #472600;
	white-space: nowrap;
}

.mypage-badge {
	position: relative;
	display: block;
	width: 0.59rem;
	height: 0.59rem;
}

.mypage-badge-bg {
	width: 0.59rem;
	height: 0.59rem;
	max-width: none;
}

.mypage-medal {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 0.32rem;
	height: 0.32rem;
	max-width: 54%;
	max-height: 54%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	object-fit: contain;
	object-position: center;
}

.mypage-cards {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin-top: 0.26rem;
}

.mypage-cards li {
	width: 2.276rem;
}

.mypage-card {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	width: 2.276rem;
	height: 2.276rem;
	padding: 0.25rem 0.16rem 0.16rem;
	background: #fcf6ea;
	-webkit-border-radius: 0.25rem;
	border-radius: 0.25rem;
	text-align: center;
}

.mypage-card h2 {
	font-size: 0.2rem;
	font-weight: 400;
	line-height: 0.2rem;
	color: #472600;
}

.mypage-card img {
	width: 0.62rem;
	height: 0.62rem;
	margin-top: 0.29rem;
	max-width: none;
}

.mypage-card p {
	margin-top: 0.2rem;
	font-size: 0.12rem;
	line-height: 0.2rem;
	color: #000000;
}

.mypage-nav a.is-current {
	color: #37773b;
}

/* ========== 会員情報（Figma 1:1893） ========== */
.minfo-page {
	font-size: 0.16rem;
	line-height: 1.4;
}

.minfo-banner {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	height: 0.86rem;
	padding: 0 0.4rem;
	background: #ffe6ca;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	font-size: 0.24rem;
	font-weight: 400;
	line-height: 0.22rem;
	letter-spacing: 0.0065rem;
	color: #472600;
}

.minfo-banner-addr {
	margin-top: 0.76rem;
}

.minfo-form {
	gap: 0.3rem;
	max-width: 9.53rem;
	margin-top: 0.5rem;
	margin-left: 0;
	margin-right: 0;
}

.minfo-form-addr {
	margin-top: 0.24rem;
}

.minfo-form-addr + .minfo-sub {
	margin-top: 0.95rem;
}

.page-profile .inq-input,
.page-profile .inq-select-btn {
	background: #fcf6ea;
	font-size: 0.2rem;
	line-height: 0.225rem;
	color: #472600;
	padding-left: 0.19rem;
}

.minfo-input-md {
	width: 2.75rem;
	max-width: 100%;
}

.minfo-foot {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	width: 100%;
	margin-top: 0.22rem;
}

.minfo-foot .inq-submit {
	margin-top: 0.2rem;
}

.minfo-sub {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.1rem;
	margin-top: 0.35rem;
	padding: 0.1rem 0.4rem;
	background: #fcf6ea;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
}

.minfo-sub p {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	min-width: 0;
	font-size: 0.2rem;
	line-height: 0.225rem;
	color: #000000;
}

.minfo-btn {
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	width: 0.71rem;
	height: 0.34rem;
	border: 0.01rem solid #37773b;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	font-size: 0.14rem;
	line-height: 0.224rem;
	letter-spacing: 0.007rem;
	text-align: center;
}

.minfo-btn-del {
	background: #ffffff;
	color: #000000;
}

.minfo-btn-save {
	background: #37773b;
	color: #ffffff;
}

.minfo-add {
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 2.8rem;
	height: 0.61rem;
	margin: 0.6rem auto 0;
	padding-right: 0.27rem;
	background: #37773b;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	font-size: 0.2rem;
	line-height: 0.13rem;
	letter-spacing: 0.005rem;
	color: #ffffff;
}

.minfo-add img {
	position: absolute;
	right: 0.27rem;
	top: 0.2rem;
	width: 0.21rem;
	height: 0.21rem;
	max-width: none;
}

/* ========== ショッピングカート（Figma 1:2214） ========== */
.cart-page {
	font-size: 0.16rem;
	line-height: 1.4;
}

.cart-head {
	display: -webkit-flex;
	display: flex;
	margin-top: 0.24rem;
}

.cart-head li {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	padding: 0.1rem;
	background: #fcf6ea;
	font-size: 0.147rem;
	line-height: 0.184rem;
	color: #472600;
}

.cart-head li:first-child {
	width: 4.22rem;
}

.cart-head li:nth-child(2),
.cart-head li:nth-child(3) {
	width: 2.66rem;
}

.cart-line {
	display: block;
	width: 100%;
	height: 0.01rem;
	max-width: none;
}

.cart-item {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	padding: 0.35rem 0 0.36rem;
	border-bottom: 0.01rem solid #c8ae94;
}

.cart-prod {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	width: 4.22rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	gap: 0.31rem;
}

.cart-prod img {
	width: 1.61rem;
	height: 1.61rem;
	-webkit-border-radius: 0.25rem;
	border-radius: 0.25rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	max-width: none;
	object-fit: cover;
}

.cart-info {
	padding-top: 0.1rem;
}

.cart-name {
	font-size: 0.147rem;
	line-height: 0.184rem;
	color: #000000;
}

.cart-origin {
	display: -webkit-inline-flex;
	display: inline-flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	height: 0.164rem;
	margin-top: 0.12rem;
	padding: 0 0.08rem;
	background: #e7f0e3;
	font-size: 0.098rem;
	line-height: 0.184rem;
	color: #37773b;
}

.cart-spec {
	margin-top: 0.12rem;
	font-size: 0.098rem;
	line-height: 0.184rem;
	color: #000000;
}

.cart-qty {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	width: 1.12rem;
	height: 0.4rem;
	margin-top: 0.49rem;
	margin-left: 0.78rem;
	padding: 0 0.078rem;
	background: #ffffff;
	border: 0.01rem solid #000000;
	-webkit-border-radius: 0.02rem;
	border-radius: 0.02rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.cart-qty-minus,
.cart-qty-plus {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 0.245rem;
	height: 0.25rem;
	padding: 0;
}

.cart-qty-minus img,
.cart-qty-plus img {
	width: 0.245rem;
	height: 0.25rem;
	max-width: none;
}

.cart-qty input {
	width: 0.24rem;
	height: 0.24rem;
	padding: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.16rem;
	line-height: 0.24rem;
	letter-spacing: 0.005rem;
	color: #000000;
	text-align: center;
	background: none;
	border: 0;
	outline: none;
}

.cart-sum {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: flex-end;
	align-items: flex-end;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	width: 2.66rem;
	height: 1.61rem;
	margin-left: auto;
	padding: 0.18rem 0.12rem 0.08rem 0;
}

.cart-sum p {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.2rem;
	line-height: 0.12rem;
	letter-spacing: 0.0012rem;
	color: #000000;
}

.cart-del {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.1rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.14rem;
	line-height: 0.12rem;
	letter-spacing: 0.0012rem;
	color: #000000;
}

.cart-del img {
	width: 0.16rem;
	height: 0.16rem;
	max-width: none;
}

.cart-del span {
	text-decoration: underline;
}

.cart-bottom {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin-top: 0.6rem;
}

.cart-ship {
	width: 5.38rem;
	min-height: 1.97rem;
	padding: 0.33rem 0.2rem 0.24rem 0.22rem;
	background: #fcf6ea;
	-webkit-border-radius: 0.25rem;
	border-radius: 0.25rem;
}

.cart-ship-head {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.06rem;
}

.cart-ship-icon {
	display: block;
	width: 0.78rem;
	height: 0.543rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	background: #37773b;
	-webkit-mask-image: url("../img/icon-cart-truck.png");
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: 100% 100%;
	mask-image: url("../img/icon-cart-truck.png");
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: 100% 100%;
}

.cart-ship-lead {
	font-size: 0.32rem;
	line-height: 0.225rem;
	color: #37773b;
	white-space: nowrap;
}

.cart-ship-lead strong {
	font-size: 0.4rem;
	font-weight: 400;
	color: #da5a45;
}

.cart-ship-note {
	margin-top: 0.21rem;
	font-size: 0.18rem;
	line-height: 0.225rem;
	color: #472600;
	text-align: center;
}

.cart-ship-now {
	margin-top: 0.18rem;
	font-size: 0.18rem;
	line-height: 0.225rem;
	color: #767676;
	text-align: center;
}

.cart-back {
	display: -webkit-inline-flex;
	display: inline-flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	gap: 0.1rem;
	width: 3.43rem;
	max-width: 100%;
	height: 0.61rem;
	margin-top: 0.35rem;
	padding: 0 0.24rem;
	border: 0.01rem solid #37773b;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 0.2rem;
	line-height: 1.2;
	letter-spacing: 0.005rem;
	color: #37773b;
	white-space: nowrap;
}

.cart-back img {
	position: static;
	width: 0.18rem;
	height: 0.18rem;
	max-width: none;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.cart-total {
	width: 3.43rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	font-family: "Noto Sans JP", sans-serif;
}

.cart-total h2 {
	font-size: 0.18rem;
	font-weight: 400;
	line-height: 0.195rem;
	letter-spacing: 0.0065rem;
	color: #000000;
}

.cart-total .cart-line {
	margin-top: 0.28rem;
}

.cart-total dl {
	margin-top: 0.3rem;
}

.cart-total dl div {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	min-height: 0.2rem;
}

.cart-total dl div + div {
	margin-top: 0.24rem;
}

.cart-total dt,
.cart-total dd {
	font-size: 0.16rem;
	line-height: 0.195rem;
	letter-spacing: 0.0065rem;
	color: #5b5b5b;
}

.cart-total dd {
	letter-spacing: 0.0012rem;
	text-align: right;
}

.cart-total dl + .cart-line {
	margin-top: 0.3rem;
}

.cart-grand {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin-top: 0.26rem;
	font-size: 0.2rem;
	line-height: 0.195rem;
	letter-spacing: 0.0065rem;
	color: #000000;
}

.cart-grand p:last-child {
	letter-spacing: 0.0012rem;
}

.cart-go {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 3.43rem;
	height: 0.61rem;
	margin-top: 0.34rem;
	background: #37773b;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 0.2rem;
	line-height: 0.13rem;
	letter-spacing: 0.005rem;
	color: #ffffff;
}

.cart-empty {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	margin-top: 0.32rem;
	padding: 0.72rem 0.4rem 0.8rem;
	background: #fcf6ea;
	-webkit-border-radius: 0.25rem;
	border-radius: 0.25rem;
	text-align: center;
}

.cart-empty-icon {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 1.2rem;
	height: 1.2rem;
	margin-bottom: 0.28rem;
	background: #e7f0e3;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}

.cart-empty-icon img {
	width: 0.62rem;
	height: 0.62rem;
	max-width: none;
	object-fit: contain;
}

.cart-empty-title {
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.2rem;
	font-weight: 500;
	line-height: 0.28rem;
	color: #472600;
}

.cart-empty-text {
	margin: 0.12rem 0 0;
	max-width: 4.8rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.16rem;
	line-height: 0.24rem;
	color: #767676;
}

.cart-empty .cart-back {
	margin-top: 0.4rem;
}

/* ========== 購入履歴（Figma 1:2326） ========== */
.hist-page {
	font-size: 0.16rem;
	line-height: 1.4;
}

.hist-order + .hist-order {
	margin-top: 1.04rem;
}

.hist-qty {
	width: 2.66rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	margin-top: 0.73rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 0.16rem;
	line-height: 0.24rem;
	letter-spacing: 0.005rem;
	color: #000000;
	text-align: center;
}

.hist-meta {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	padding-top: 0.04rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.16rem;
	line-height: 0.264rem;
	color: #000000;
}

.hist-addr {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	gap: 0.56rem;
}

.hist-addr p {
	font-size: 0.16rem;
	line-height: 0.264rem;
	color: #000000;
}

.hist-bill {
	width: 2.34rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.hist-bill > div {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	gap: 0.08rem;
}

.hist-bill > div + div {
	margin-top: 0.216rem;
}

.hist-bill dt,
.hist-bill dd {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 0.2rem;
	line-height: 0.264rem;
	color: #000000;
}

.hist-bill dt {
	text-align: right;
}

.hist-bill dd {
	margin: 0;
	text-align: right;
	white-space: nowrap;
}

.hist-status {
	margin-top: 0.16rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.16rem;
	line-height: 0.264rem;
	color: #000000;
}

.hist-st-ship {
	color: #37773b;
}

.hist-st-done {
	color: #767676;
}

.hist-track {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin-top: 0.28rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.16rem;
	line-height: 0.264rem;
	color: #000000;
}

.hist-track p {
	font-size: 0.16rem;
	line-height: 0.264rem;
	color: #000000;
}

/* ========== お支払い（Figma 1:2484） ========== */
.pay-page {
	position: relative;
	overflow: hidden;
	font-size: 0.16rem;
	line-height: 1.4;
}

.pay-wrap {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 14.4rem;
	margin: 0 auto;
	padding: 0.18rem 0.16rem 0.8rem;
}

.pay-main {
	width: 100%;
	max-width: 9.54rem;
	margin: 0.21rem auto 0;
}

.pay-title {
	font-family: "Kosugi Maru", sans-serif;
	font-size: 0.32rem;
	font-weight: 400;
	line-height: 0.225rem;
	color: #000000;
	text-align: center;
}

.pay-page .cart-head {
	margin-top: 0.58rem;
}

.pay-page .cart-head li:first-child {
	-webkit-border-radius: 0.25rem 0 0 0;
	border-radius: 0.25rem 0 0 0;
}

.pay-page .cart-head li:last-child {
	-webkit-border-radius: 0 0.25rem 0 0;
	border-radius: 0 0.25rem 0 0;
}

.pay-mid {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	gap: 0.5rem;
	margin-top: 0.57rem;
}

.pay-offers {
	width: 5.54rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.pay-offer + .pay-offer {
	margin-top: 0.34rem;
}

.pay-offer h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 0.18rem;
	line-height: 0.25rem;
	letter-spacing: 0.0115rem;
	color: #333333;
}

.pay-offer-note {
	margin-top: 0.02rem;
	margin-bottom: 0.18rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 0.16rem;
	line-height: 0.25rem;
	letter-spacing: 0.0115rem;
	color: #bc261a;
	white-space: nowrap;
}

.pay-offer-line {
	position: relative;
	width: 5.54rem;
}

.pay-offer-row {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: stretch;
	align-items: stretch;
	width: 5.54rem;
	min-height: 0.74rem;
}

.pay-offer-line .pay-offer-row {
	width: 5.54rem;
}

.pay-offer-lab,
.pay-offer-val {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	border: 0.016rem solid #cbcbcb;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.2rem;
	line-height: 0.33rem;
	letter-spacing: 0.0115rem;
	color: #333333;
}

.pay-offer-lab {
	width: 2.61rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	gap: 0.04rem;
	padding: 0 0.08rem 0 0.12rem;
	background: #fcf6ea;
	letter-spacing: 0.005rem;
	white-space: nowrap;
}

.pay-offer-lab span {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	min-width: 0;
	text-align: right;
	white-space: nowrap;
}

.pay-offer-val {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	min-width: 0;
	padding: 0 0.12rem 0 0.28rem;
	background: #ffffff;
	font-size: 0.14rem;
	letter-spacing: 0.007rem;
}

.pay-offer-row-top .pay-offer-lab {
	-webkit-border-radius: 0.25rem 0 0 0;
	border-radius: 0.25rem 0 0 0;
}

.pay-offer-row-top .pay-offer-val {
	border-left: 0;
	padding: 0 1.16rem 0 0.1rem;
	-webkit-border-radius: 0 0.25rem 0 0;
	border-radius: 0 0.25rem 0 0;
}

.pay-offer-row-bot {
	height: 0.75rem;
	min-height: 0.75rem;
	overflow: hidden;
}

.pay-offer-row-bot .pay-offer-lab,
.pay-offer-row-bot .pay-offer-val {
	border-top: 0;
}

.pay-offer-row-bot .pay-offer-lab {
	-webkit-border-radius: 0 0 0 0.25rem;
	border-radius: 0 0 0 0.25rem;
}

.pay-offer-row-bot .pay-offer-val {
	border-left: 0;
	overflow: hidden;
	-webkit-border-radius: 0 0 0.25rem 0;
	border-radius: 0 0 0.25rem 0;
}

.pay-offer-val input {
	width: 1.72rem;
	max-width: 100%;
	height: 0.56rem;
	padding: 0 0.12rem;
	background: #ffffff;
	border: 0.016rem solid #cbcbcb;
	-webkit-border-radius: 0;
	border-radius: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.16rem;
	letter-spacing: 0.0115rem;
	color: #333333;
	outline: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.pay-offer-val input::-webkit-input-placeholder {
	color: #b6b6b6;
}

.pay-offer-val input::-moz-placeholder {
	color: #b6b6b6;
}

.pay-offer-val input:-ms-input-placeholder {
	color: #b6b6b6;
}

.pay-offer-chips {
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-content: flex-start;
	align-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.04rem 0.08rem;
	height: 0.75rem;
	padding: 0.08rem 0.08rem 0.04rem 0.12rem;
}

.pay-chip {
	height: 0.34rem;
	padding: 0 0.08rem;
	background: none;
	border: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.14rem;
	line-height: 0.2rem;
	letter-spacing: 0.007rem;
	color: #333333;
	white-space: nowrap;
}

.pay-chip.is-on {
	width: 0.94rem;
	padding: 0;
	background: #ffe6ca;
	-webkit-border-radius: 0.25rem;
	border-radius: 0.25rem;
}

.pay-apply {
	position: absolute;
	right: 0;
	top: 0.09rem;
	z-index: 2;
	width: 1.006rem;
	height: 0.561rem;
	background: #37773b;
	border: 0.016rem solid #37773b;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.2rem;
	line-height: 0.33rem;
	letter-spacing: 0.0115rem;
	color: #ffffff;
}

.pay-check {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 0.33rem;
	height: 0.33rem;
	margin: 0;
	padding: 0;
	background: #ffffff;
	border: 0.016rem solid #4d4d4d;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.pay-check:checked {
	background: #37773b;
	border: 0.066rem solid #ffffff;
	-webkit-box-shadow: 0 0 0 0.016rem #4d4d4d;
	box-shadow: 0 0 0 0.016rem #4d4d4d;
}

.pay-check-dark:checked {
	background: #151515;
}

.pay-page .cart-total {
	margin-top: 0;
}

.pay-ship {
	margin-top: 0.61rem;
}

.pay-ship-head,
.pay-method h2 {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: baseline;
	align-items: baseline;
	gap: 0.26rem;
}

.pay-ship-head h2,
.pay-method h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 0.33rem;
	line-height: 0.528rem;
	letter-spacing: 0.0115rem;
	color: #333333;
}

.pay-ship-head p {
	font-family: "Kosugi Maru", sans-serif;
	font-size: 0.12rem;
	line-height: 0.225rem;
	color: #472600;
}

.pay-ship-head a {
	color: #472600;
	text-decoration: underline;
}

.pay-addr + .pay-addr {
	margin-top: 0.36rem;
}

.pay-addr-pick {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0.15rem;
	margin-bottom: 0.08rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.264rem;
	line-height: 0.528rem;
	letter-spacing: 0.0115rem;
	color: #333333;
}

.pay-addr-card {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: stretch;
	align-items: stretch;
	width: 100%;
}

.pay-addr-side {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	width: 2.7rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.pay-addr-side p {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	padding-right: 0.18rem;
	background: #fcf6ea;
	border: 0.016rem solid #cbcbcb;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.2rem;
	line-height: 0.33rem;
	letter-spacing: 0.0115rem;
	color: #333333;
}

.pay-addr-side p:first-child {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	padding-top: 0.16rem;
	border-bottom: 0;
	-webkit-border-radius: 0.25rem 0 0 0;
	border-radius: 0.25rem 0 0 0;
}

.pay-addr-side p:last-child {
	height: 0.66rem;
	border-top: 0.016rem solid #cbcbcb;
	color: #484848;
	-webkit-border-radius: 0 0 0 0.25rem;
	border-radius: 0 0 0 0.25rem;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.pay-addr-body {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	min-width: 0;
	border: 0.016rem solid #cbcbcb;
	border-left: 0;
	-webkit-border-radius: 0 0.25rem 0.25rem 0;
	border-radius: 0 0.25rem 0.25rem 0;
}

.pay-addr-info {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	min-height: 3.28rem;
	padding: 0.06rem 0.07rem;
}

.pay-addr-info-inner {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	min-height: 3.18rem;
	padding: 0.16rem 0.09rem 0.1rem 0.16rem;
	border: 0.016rem solid #cbcbcb;
	-webkit-border-radius: 0 0.25rem 0 0;
	border-radius: 0 0.25rem 0 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.2rem;
	line-height: 0.447rem;
	letter-spacing: 0.0115rem;
	color: #333333;
}

.pay-addr-memo {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	height: 0.65rem;
	padding: 0.05rem 0.07rem 0.05rem;
	border-top: 0.016rem solid #cbcbcb;
	-webkit-border-radius: 0 0 0.25rem 0;
	border-radius: 0 0 0.25rem 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.pay-addr-memo input {
	width: 100%;
	height: 100%;
	padding: 0 0.12rem;
	background: #ffffff;
	border: 0.016rem solid #cbcbcb;
	-webkit-border-radius: 0 0 0.18rem 0;
	border-radius: 0 0 0.18rem 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.16rem;
	letter-spacing: 0.0115rem;
	color: #333333;
	outline: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.pay-form {
	width: 100%;
	max-width: 9.42rem;
}

.pay-form-row {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: stretch;
	align-items: stretch;
	height: 0.66rem;
	min-height: 0.66rem;
}

.pay-form-row + .pay-form-row .pay-form-lab,
.pay-form-row + .pay-form-row .pay-form-field {
	border-top: 0;
}

.pay-form-lab {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	width: 2.94rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	gap: 0.08rem;
	padding: 0 0.16rem 0 0.08rem;
	background: #fcf6ea;
	border: 0.016rem solid #cbcbcb;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 0.23rem;
	line-height: 0.33rem;
	letter-spacing: 0.0115rem;
	color: #484848;
}

.pay-form-field {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	min-width: 0;
	padding: 0.033rem 0.05rem;
	border: 0.016rem solid #cbcbcb;
	border-left: 0;
}

.pay-form-row-top .pay-form-lab {
	-webkit-border-radius: 0.25rem 0 0 0;
	border-radius: 0.25rem 0 0 0;
}

.pay-form-row-top .pay-form-field {
	-webkit-border-radius: 0 0.25rem 0 0;
	border-radius: 0 0.25rem 0 0;
}

.pay-form-row-bot .pay-form-lab {
	-webkit-border-radius: 0 0 0 0.25rem;
	border-radius: 0 0 0 0.25rem;
}

.pay-form-row-bot .pay-form-field {
	-webkit-border-radius: 0 0 0.25rem 0;
	border-radius: 0 0 0.25rem 0;
}

.pay-form-field input,
.pay-form .inq-select,
.pay-form .inq-select-btn {
	width: 100%;
	height: 0.56rem;
	max-width: none;
}

.pay-form-field input,
.pay-form .inq-select-btn {
	padding: 0 0.12rem;
	background: #fcf6ea;
	border: 0;
	-webkit-border-radius: 0.1rem;
	border-radius: 0.1rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.16rem;
	color: #333333;
	outline: none;
}

.pay-form .inq-select {
	height: 0.56rem;
}

.pay-form-row-bot .pay-form-field input {
	height: 0.61rem;
}

.pay-req {
	display: -webkit-inline-flex;
	display: inline-flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	min-width: 0.5rem;
	height: 0.28rem;
	padding: 0 0.06rem;
	background: #bc261a;
	-webkit-border-radius: 0.033rem;
	border-radius: 0.033rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
	font-size: 0.165rem;
	line-height: 0.33rem;
	letter-spacing: 0.0115rem;
	color: #ffffff;
	white-space: nowrap;
}

.pay-method {
	margin-top: 0.68rem;
}

.pay-method-row {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: stretch;
	align-items: stretch;
	margin-top: 0.12rem;
	min-height: 0.88rem;
}

.pay-method-lab {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	width: 2.95rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	gap: 0.08rem;
	padding: 0 0.16rem;
	background: #fcf6ea;
	border: 0.016rem solid #cbcbcb;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.23rem;
	line-height: 0.33rem;
	letter-spacing: 0.0115rem;
	color: #333333;
}

.pay-method-field {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	min-width: 0;
	gap: 0.24rem;
	padding: 0 0.31rem;
	border: 0.016rem solid #cbcbcb;
	border-left: 0;
}

.pay-cards {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}

.pay-cards img {
	display: block;
	max-width: none;
}

.pay-cards img:nth-child(1) {
	width: 0.34rem;
	height: 0.34rem;
}

.pay-cards img:nth-child(2) {
	width: 0.497rem;
	height: 0.497rem;
}

.pay-cards img:nth-child(3) {
	width: 0.493rem;
	height: 0.497rem;
}

.pay-cards img:nth-child(4) {
	width: 0.41rem;
	height: 0.339rem;
}

.pay-confirm {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 3.43rem;
	height: 0.61rem;
	margin: 0.61rem auto 0;
	background: #37773b;
	border: 0;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 0.2rem;
	line-height: 0.13rem;
	letter-spacing: 0.005rem;
	color: #ffffff;
}

/* ========== 特典（Figma 1:2833） ========== */
.perk-page {
	font-size: 0.16rem;
	line-height: 1.4;
}

.perk-banner h1 {
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	font-size: 0.24rem;
	font-weight: 400;
	line-height: 0.22rem;
	letter-spacing: 0.0065rem;
	color: #472600;
}

.perk-banner .mypage-ranks {
	margin-left: auto;
}

.perk-no,
.perk-pts,
.perk-guide h2,
.perk-h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	color: #000000;
}

.perk-no {
	margin-top: 0.4rem;
	font-size: 0.16rem;
	line-height: 0.195rem;
	letter-spacing: 0.005rem;
}

.perk-pts {
	margin-top: 0.13rem;
	font-size: 0.16rem;
	line-height: 0.195rem;
	letter-spacing: 0.005rem;
}

.perk-pts span {
	color: #c10000;
}

.perk-guide {
	margin-top: 0.27rem;
}

.perk-guide + .perk-guide {
	margin-top: 0.16rem;
}

.perk-guide h2 {
	font-size: 0.16rem;
	line-height: 0.29rem;
	letter-spacing: 0.005rem;
}

.perk-guide p {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 0.12rem;
	line-height: 0.29rem;
	letter-spacing: 0.005rem;
	color: #000000;
}

.perk-line {
	margin-top: 0.13rem;
}

.perk-h2 {
	margin-top: 0.5rem;
	font-size: 0.2rem;
	line-height: 0.195rem;
	letter-spacing: 0.005rem;
}

.perk-box {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	width: 100%;
	height: 3.1rem;
	margin-top: 0.19rem;
	background: #ffffff;
	border: 0.01rem solid #e0e0e0;
	-webkit-border-radius: 0.25rem;
	border-radius: 0.25rem;
	overflow: hidden;
}

.perk-cp-table {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	width: 100%;
	min-height: 0;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
}

.perk-head,
.perk-list li {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	width: 100%;
}

.perk-head {
	height: 0.5rem;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	background: #fcf6ea;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 0.16rem;
	line-height: 0.264rem;
	color: #393939;
	text-align: center;
}

.perk-head li,
.perk-list li span {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	height: 100%;
	border-right: 0.01rem solid #e0e0e0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.perk-head li:last-child,
.perk-list li span:last-child {
	border-right: 0;
}

.perk-head-pt li:nth-child(1),
.perk-list-pt li span:nth-child(1) {
	width: 32.35%;
}

.perk-head-pt li:nth-child(2),
.perk-list-pt li span:nth-child(2) {
	width: 34.14%;
}

.perk-head-pt li:nth-child(3),
.perk-list-pt li span:nth-child(3) {
	width: 33.51%;
}

.perk-head-cp li:nth-child(1),
.perk-list-cp li span:nth-child(1) {
	width: 14.93%;
}

.perk-head-cp li:nth-child(2),
.perk-list-cp li span:nth-child(2) {
	width: 14.93%;
}

.perk-head-cp li:nth-child(3),
.perk-list-cp li span:nth-child(3) {
	width: 13.35%;
}

.perk-head-cp li:nth-child(4),
.perk-list-cp li span:nth-child(4) {
	width: 14.3%;
}

.perk-head-cp li:nth-child(5),
.perk-list-cp li span:nth-child(5) {
	width: 15.35%;
}

.perk-head-cp li:nth-child(6),
.perk-list-cp li span:nth-child(6) {
	width: 15.04%;
}

.perk-head-cp li:nth-child(7),
.perk-list-cp li span:nth-child(7) {
	width: 12.1%;
}

.perk-scroll {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: scroll;
	scrollbar-width: thin;
	scrollbar-color: #9e9e9e #e0e0e0;
}

.perk-scroll::-webkit-scrollbar {
	width: 0.08rem;
}

.perk-scroll::-webkit-scrollbar-track {
	background: #e0e0e0;
	-webkit-border-radius: 0.99rem;
	border-radius: 0.99rem;
}

.perk-scroll::-webkit-scrollbar-thumb {
	background: #9e9e9e;
	-webkit-border-radius: 0.5rem;
	border-radius: 0.5rem;
}

.perk-list li {
	height: 0.52rem;
	border-bottom: 0.01rem solid #e0e0e0;
}

.perk-list li.perk-list-empty {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
}

.perk-list li.perk-list-empty span {
	-webkit-flex: 1 1 100%;
	flex: 1 1 100%;
	width: 100%;
	max-width: 100%;
	white-space: nowrap;
	border-right: 0;
}

.perk-list li span {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 0.14rem;
	line-height: 0.24rem;
	color: #000000;
	text-align: center;
}

.perk-list li span:nth-child(2) {
	font-size: 0.16rem;
	line-height: 0.32rem;
	letter-spacing: 0.007rem;
	color: #333333;
}

.perk-list-pt li span:nth-child(3),
.perk-list-cp li span:nth-child(3),
.perk-list-cp li span:nth-child(4),
.perk-list-cp li span:nth-child(6),
.perk-list-cp li span:nth-child(7) {
	font-size: 0.14rem;
	line-height: 0.2rem;
	letter-spacing: 0.007rem;
	color: #333333;
}

.perk-code {
	gap: 0.04rem;
}

.perk-copy {
	display: -webkit-inline-flex;
	display: inline-flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 0.24rem;
	height: 0.24rem;
	padding: 0;
	background: none;
	border: 0;
}

.perk-copy img {
	width: 0.24rem;
	height: 0.24rem;
	max-width: none;
}

/* ========== Tablet：两列 ========== */
@media screen and (min-width: 768px) {
	.header-top {
		padding: 0.09rem 0.4rem 0.05rem;
	}

	.header-ribbon {
		-webkit-flex: 1 1 auto;
		flex: 1 1 auto;
		width: auto;
		max-width: 4.2rem;
		min-width: 0;
		height: 0.64rem;
	}

	.header-ribbon p {
		font-size: 0.12rem;
	}

	.nav-item {
		-webkit-flex: 1 1 0;
		flex: 1 1 0;
		min-width: 0;
	}

	.nav-item span {
		font-size: 0.14rem;
	}

	.cat-viewport {
		padding: 0.2rem 0 1.15rem;
	}

	.cat-list {
		min-height: 5.25rem;
	}

	.cat-item {
		width: 2.4524rem;
		max-width: 2.4524rem;
	}

	.product-item {
		width: 2.66rem;
	}

	.plist-grid .product-item {
		-webkit-flex: 0 0 2.1747rem;
		flex: 0 0 2.1747rem;
		width: 2.1747rem;
		max-width: 2.1747rem;
	}

	.search-bar {
		max-width: 5.29rem;
	}

	.news-viewport {
		max-width: 8.1rem;
	}

	.contact {
		-webkit-flex-direction: row;
		flex-direction: row;
		-webkit-align-items: stretch;
		align-items: stretch;
		padding: 0.2rem 0.4rem 0.45rem;
	}

	.contact-line {
		display: block;
		-webkit-align-self: center;
		align-self: center;
	}

	.contact-icon {
		margin-top: -0.75rem;
	}

	.footer-cols {
		-webkit-flex-wrap: nowrap;
		flex-wrap: nowrap;
		gap: 0.5rem;
	}

	.guide-wrap {
		padding: 0.18rem 0.4rem 0.8rem;
	}

	.guide-tabs {
		height: auto;
		max-width: 100%;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.guide-tabs a,
	.guide-tabs a:nth-child(3) {
		width: 33.33%;
		max-width: 33.33%;
		-webkit-flex: 0 0 33.33%;
		flex: 0 0 33.33%;
	}

	.guide-acc {
		max-width: 100%;
	}

	.about-hero {
		height: 5.2rem;
	}

	.about-hero-img {
		height: 5.2rem;
	}

	.about-wrap {
		padding: 0.32rem 0.4rem 0.8rem;
	}

	.nlist-head {
		padding: 0.18rem 0.4rem 0.24rem;
	}

	.about-story-text {
		max-width: 4.8rem;
	}

	.about-photo-xl {
		width: 3.6rem;
		height: 3.6rem;
	}

	.about-story-photos {
		width: 3.2rem;
		height: 3.45rem;
	}

	.about-photo-lg {
		width: 2.74rem;
		height: 2.74rem;
	}

	.about-photo-sm {
		left: 1.12rem;
		top: 1.37rem;
		width: 2.08rem;
		height: 2.08rem;
	}

	.about-feat-panel,
	.about-feat-rev .about-feat-panel {
		width: 3.6rem;
		padding: 0.32rem 0.2rem 0.24rem 0.32rem;
	}

	.about-feat-img,
	.about-feat-rev .about-feat-img {
		width: 3.6rem;
		height: 2.4rem;
		margin-left: -0.4rem;
		margin-right: 0;
	}

	.about-feat-rev .about-feat-img {
		margin-left: 0;
		margin-right: -0.4rem;
	}
}

/* ========== PC：1:1 还原 1440 设计稿 ========== */
@media screen and (min-width: 1440px) {
	.recommend,
	.news-wrap:not(.news-wrap--home),
	.plist-wrap,
	.pdetail-wrap,
	.guide-wrap,
	.about-wrap,
	.nlist-head,
	.ndetail-wrap,
	.inq-wrap,
	.legal-wrap,
	.login-wrap,
	.reg-wrap,
	.pw-wrap,
	.mypage-wrap,
	.pay-wrap {
		max-width: 14.4rem;
		margin-left: auto;
		margin-right: auto;
	}

	.header-top {
		max-width: 14.4rem;
		margin-left: auto;
		margin-right: auto;
		padding: 0.09rem 1.11rem 0.05rem;
	}

	.header-ribbon {
		-webkit-flex: none;
		flex: none;
		width: 5.92rem;
		max-width: none;
		height: 0.8rem;
	}

	.header-ribbon p {
		font-size: 0.14rem;
	}

	.header-nav {
		padding: 0;
		overflow: visible;
		-webkit-justify-content: center;
		justify-content: center;
	}

	.nav-item {
		-webkit-flex: 0 0 2.434rem;
		flex: 0 0 2.434rem;
	}

	.nav-item span {
		font-size: 0.16rem;
	}

	.category {
		height: 6.513rem;
	}

	.cat-viewport {
		padding: 0.38rem 0 0;
		height: 100%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}

	.cat-list {
		gap: 0.26rem;
		min-height: 0;
	}

	.cat-ground {
		top: 2.42rem;
		bottom: 0;
		height: auto;
	}

	.cat-deco {
		display: block;
	}

	.cat-all {
		top: 5.1rem;
		bottom: auto;
	}

	.recommend {
		padding: 0.55rem 1.44rem 0.8rem;
	}

	.search-bar {
		max-width: 5.29rem;
	}

	.search-modal-panel {
		width: 10.85rem;
		height: 3.06rem;
		max-width: none;
		padding: 0.42rem 0.35rem 0.36rem 0.52rem;
	}

	.plist-wrap {
		padding: 0.18rem 1.44rem 0.8rem;
	}

	.plist-body {
		-webkit-flex-wrap: nowrap;
		flex-wrap: nowrap;
	}

	.pdetail-wrap {
		padding: 0.18rem 1.61rem 0.8rem;
	}

	.guide-wrap {
		padding: 0.18rem 1.82rem 0.8rem;
	}

	.guide-tabs {
		min-height: 1.13rem;
		height: auto;
		max-width: 10.76rem;
		-webkit-flex-wrap: nowrap;
		flex-wrap: nowrap;
	}

	.guide-tabs a {
		width: 1.79rem;
		max-width: none;
		-webkit-flex: 0 0 1.79rem;
		flex: 0 0 1.79rem;
	}

	.guide-tabs a:nth-child(3) {
		width: 1.81rem;
		-webkit-flex: 0 0 1.81rem;
		flex: 0 0 1.81rem;
	}

	.guide-acc {
		max-width: 10.76rem;
	}

	.about-hero {
		height: 7rem;
	}

	.about-hero-img {
		height: 7rem;
	}

	.about-crumb {
		left: 1.44rem;
	}

	.about-wrap {
		padding: 0.52rem 0.99rem 1.2rem;
	}

	.nlist-head {
		padding: 0.18rem 1.44rem 0.24rem;
	}

	.nlist-page .plist-wave,
	.nlist-wave {
		top: 0.7rem;
	}

	.nlist-band {
		padding: 0 0 0.8rem;
	}

	.nlist-grid {
		max-width: 12.2rem;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.ndetail-wrap {
		padding: 0.18rem 1.44rem 0.8rem;
	}

	.ndetail-article {
		padding: 0 0.17rem 0 0.21rem;
	}

	.inq-wrap,
	.legal-wrap,
	.login-wrap,
	.reg-wrap,
	.pw-wrap,
	.mypage-wrap,
	.pay-wrap {
		padding: 0.18rem 1.44rem 0.8rem;
	}

	.login-wrap,
	.reg-wrap,
	.pw-wrap {
		padding: 0.18rem 0.92rem 0.8rem;
	}

	.login-wrap .plist-crumb,
	.reg-wrap .plist-crumb,
	.pw-wrap .plist-crumb {
		margin-left: 0.52rem;
	}

	.mypage-wrap {
		padding: 0.18rem 1.01rem 0.8rem 0.91rem;
	}

	.mypage-wrap .plist-crumb {
		margin-left: 0.53rem;
	}

	.inq-title {
		margin: 0.26rem 0 0.88rem;
	}

	.legal-wrap {
		padding: 0.18rem 1.44rem 0.8rem;
	}

	.legal-title {
		margin: 0.26rem 0 0.88rem;
	}

	.about-story {
		-webkit-flex-wrap: nowrap;
		flex-wrap: nowrap;
	}

	.about-story > .about-photo-xl {
		margin-top: -0.87rem;
	}

	.about-story-rev > .about-photo-xl {
		margin-top: -1.22rem;
		width: 5.29rem;
		height: 5.29rem;
	}

	.about-photo-xl {
		width: 5.29rem;
		height: 5.29rem;
	}

	.about-story-photos {
		width: 4.53rem;
		height: 4.88rem;
	}

	.about-photo-lg {
		width: 3.88rem;
		height: 3.88rem;
	}

	.about-photo-sm {
		left: 1.59rem;
		top: 1.94rem;
		z-index: 2;
		width: 2.94rem;
		height: 2.94rem;
	}

	.about-story-text {
		max-width: 6.54rem;
	}

	.about-feat-panel {
		width: 6.71rem;
		padding: 0.62rem 0.4rem 0.4rem 1.04rem;
	}

	.about-feat-rev .about-feat-panel {
		width: 6.77rem;
		padding: 0.61rem 0.4rem 0.4rem 1.1rem;
	}

	.about-feat-img {
		width: 6.77rem;
		height: 3.92rem;
		margin-left: -1.04rem;
		margin-right: 0;
	}

	.about-feat-rev .about-feat-img {
		width: 6.71rem;
		margin-left: 0;
		margin-right: -1.04rem;
	}

	.pdetail-body {
		-webkit-flex-wrap: nowrap;
		flex-wrap: nowrap;
	}

	.plist-main {
		min-width: 9.41rem;
	}

	.plist-grid {
		width: 9.41rem;
	}

	.plist-grid .product-item {
		-webkit-flex: 0 0 2.1747rem;
		flex: 0 0 2.1747rem;
		width: 2.1747rem;
		max-width: 2.1747rem;
	}

	.search-modal-actions {
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		margin-left: 2.8rem;
	}

	.tabs {
		overflow: hidden;
	}

	.tab {
		-webkit-flex: 1 0 0;
		flex: 1 0 0;
		width: 1.43rem;
		min-width: 0;
	}

	.product-list {
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
	}

	.news-viewport {
		max-width: 12.16rem;
	}

	.news-viewport--home {
		max-width: 12.16rem;
	}

	.news-wrap--home {
		max-width: 12.16rem;
	}

	.footer-top {
		width: 100%;
		max-width: var(--footer-block-width);
		padding: 0.39rem 0 0.2rem;
		-webkit-justify-content: center;
		justify-content: center;
	}

	.contact {
		width: 100%;
		max-width: var(--footer-block-width);
	}

	.back-top {
		right: 0.7rem;
		bottom: 0.4rem;
	}

	.contact {
		margin-top: 1.1rem;
		padding: 0.15rem 0.4rem 0.45rem;
	}

	.footer-deco {
		display: block;
	}

	.footer-deco-left {
		left: 0;
	}

	.footer-deco-right {
		right: 0;
	}

	.footer-cols {
		gap: 1.73rem;
	}
}

@media screen and (max-width: 767px) {
	.header-top {
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		padding: 0.1rem 0.12rem 0.08rem;
		min-height: 0;
		gap: 0.06rem 0.08rem;
	}

	.header-logo {
		width: 1.42rem;
		height: 0.42rem;
		-webkit-order: 1;
		order: 1;
	}

	.header-logo img {
		width: 1.42rem;
		height: 0.42rem;
	}

	.header-actions {
		gap: 0.08rem;
		margin-left: auto;
		-webkit-order: 2;
		order: 2;
	}

	.action-btn {
		width: 0.36rem;
		height: 0.36rem;
	}

	.action-btn img {
		width: 0.2rem;
		height: 0.2rem;
	}

	.cart-badge {
		width: 0.18rem;
		height: 0.18rem;
		margin: -0.2rem -0.2rem 0 0.2rem;
		font-size: 0.1rem;
		line-height: 0.18rem;
	}

	.header-ribbon {
		-webkit-flex: 1 0 100%;
		flex: 1 0 100%;
		-webkit-order: 3;
		order: 3;
		width: 100%;
		max-width: none;
		height: auto;
		display: block;
	}

	.header-ribbon-img {
		display: none;
	}

	.header-ribbon p {
		position: static;
		font-size: 0.11rem;
		line-height: 1.4;
		white-space: nowrap;
		text-align: center;
		padding: 0.02rem 0 0;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.header-nav {
		display: none;
		position: fixed;
		z-index: 91;
		top: 0.72rem;
		right: 0.16rem;
		left: 0.16rem;
		width: auto;
		max-height: calc(100% - 0.96rem);
		padding: 0.12rem 0.12rem 0.16rem;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-align-items: stretch;
		align-items: stretch;
		background: #ffffff;
		-webkit-border-radius: 0.16rem;
		border-radius: 0.16rem;
		-webkit-box-shadow: 0 0.08rem 0.32rem rgba(71, 38, 0, 0.18);
		box-shadow: 0 0.08rem 0.32rem rgba(71, 38, 0, 0.18);
	}

	body.nav-open {
		overflow: hidden;
	}

	body.nav-open .header {
		z-index: 90;
	}

	.nav-open-btn {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
		gap: 0.035rem;
	}

	body.nav-open .header-actions {
		position: relative;
		z-index: 92;
	}

	.header-nav.drop-open,
	.header-nav:has(.nav-item-drop:hover),
	.header-nav:has(.nav-item-drop.is-open) {
		overflow-x: hidden;
		overflow-y: auto;
	}

	.nav-backdrop {
		display: none;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 89;
		background: rgba(0, 0, 0, 0.28);
	}

	body.nav-open .nav-backdrop {
		display: block;
	}

	body.nav-open .header-nav {
		display: -webkit-flex;
		display: flex;
	}

	.nav-panel-head {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-shrink: 0;
		flex-shrink: 0;
		-webkit-align-items: center;
		align-items: center;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		width: 100%;
		margin-bottom: 0.08rem;
		padding: 0.04rem 0.04rem 0.12rem;
		border-bottom: 0.01rem solid #e8dcc8;
	}

	.nav-panel-title {
		font-size: 0.16rem;
		line-height: 0.22rem;
		color: #472600;
	}

	.nav-close-btn {
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		-webkit-justify-content: center;
		justify-content: center;
		width: 0.32rem;
		height: 0.32rem;
	}

	.nav-close-btn img {
		width: 0.16rem;
		height: 0.16rem;
		max-width: none;
	}

	.nav-item {
		-webkit-flex: 0 0 auto;
		flex: 0 0 auto;
		-webkit-flex-direction: row;
		flex-direction: row;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		width: 100%;
		height: auto;
		min-height: 0.48rem;
		margin-left: 0;
		padding: 0.1rem 0.08rem;
		border: 0;
		border-bottom: 0.01rem solid #f0e6d6;
		gap: 0.12rem;
	}

	.nav-item > img,
	.nav-item-btn img {
		width: 0.24rem;
		height: 0.24rem;
	}

	.header-nav > a.nav-item:nth-of-type(2) img,
	.header-nav > a.nav-item:nth-of-type(3) img {
		width: 0.24rem;
		height: 0.24rem;
		opacity: 1;
	}

	.nav-item span {
		font-size: 0.15rem;
		line-height: 0.22rem;
		white-space: normal;
		text-align: left;
	}

	.nav-item-drop {
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-align-items: stretch;
		align-items: stretch;
	}

	.nav-item-btn {
		-webkit-flex-direction: row;
		flex-direction: row;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		width: 100%;
		height: auto;
		min-height: 0.48rem;
		gap: 0.12rem;
	}

	.nav-drop,
	.nav-item-drop:hover .nav-drop,
	.nav-item-drop.is-open .nav-drop {
		position: static;
		width: 100%;
		-webkit-box-shadow: none;
		box-shadow: none;
		background: #fcf6ea;
	}

	.nav-drop,
	.nav-item-drop:hover .nav-drop {
		display: none;
	}

	.nav-item-drop.is-open .nav-drop {
		display: block;
	}

	.nav-drop > li > a {
		height: auto;
		min-height: 0.44rem;
		padding: 0.08rem 0.16rem 0.08rem 0.44rem;
	}

	.nav-drop span {
		width: auto;
		font-size: 0.14rem;
		line-height: 0.2rem;
	}

	.nav-drop-sub,
	.nav-drop-item:hover .nav-drop-sub {
		position: static;
		width: 100%;
		-webkit-box-shadow: none;
		box-shadow: none;
		background: #fffffa;
		display: none;
	}

	.nav-drop-item.is-open .nav-drop-sub {
		display: block;
	}

	.nav-drop-sub a {
		height: auto;
		min-height: 0.4rem;
		padding: 0.06rem 0.16rem 0.06rem 0.72rem;
		font-size: 0.13rem;
	}

	.hero {
		padding: 0.08rem 0 0.24rem;
	}

	.cat-viewport {
		padding: 0.16rem 0.12rem 0.86rem;
	}

	.cat-item {
		width: 1.72rem;
		max-width: 1.72rem;
	}

	.cat-pic {
		width: 1.72rem;
		height: 1.72rem;
	}

	.cat-pic-img {
		width: 1.56rem;
		height: 1.56rem;
	}

	.cat-pic-go {
		right: 0.02rem;
		bottom: 0.06rem;
		width: 0.36rem;
		height: 0.36rem;
	}

	.cat-link {
		gap: 0.1rem;
	}

	.cat-item h2 {
		font-size: 0.16rem;
	}

	.cat-item p {
		font-size: 0.12rem;
		line-height: 0.18rem;
	}

	.cat-all {
		width: 2.2rem;
		height: 0.44rem;
		font-size: 0.16rem;
		line-height: 0.2rem;
		bottom: 0.16rem;
		margin: 0 auto;
	}

	.cat-ground {
		height: 1.15rem;
	}

	.section-title {
		min-height: 0.72rem;
		gap: 0.04rem;
	}

	.section-title h2 {
		font-size: 0.22rem;
	}

	.leaf-wrap {
		width: 0.64rem;
		height: 0.54rem;
	}

	.recommend {
		padding: 0.28rem 0.12rem 0.48rem;
	}

	.search-bar {
		max-width: 100%;
		height: 0.4rem;
		margin: 0.16rem auto 0.28rem;
		padding: 0 0.03rem 0 0.12rem;
	}

	.search-bar input {
		height: 0.4rem;
		font-size: 0.14rem;
	}

	.search-bar button {
		width: 0.64rem;
		height: 0.34rem;
		font-size: 0.13rem;
	}

	.tabs {
		margin-bottom: 0.2rem;
	}

	.tab {
		min-width: 0;
		height: 0.36rem;
		padding: 0.06rem 0.08rem;
		font-size: 0.12rem;
		line-height: 1.2;
	}

	.tab-active {
		height: 0.36rem;
	}

	.product-list {
		max-width: 100%;
		gap: 0.2rem 0.1rem;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}

	.product-item {
		width: 48%;
		max-width: none;
	}

	.product-thumb {
		width: 100%;
	}

	.product-name {
		font-size: 0.13rem;
		line-height: 1.35;
		min-height: 2.7em;
	}

	.product-price span {
		font-size: 0.18rem;
	}

	.search-modal {
		-webkit-align-items: flex-start;
		align-items: flex-start;
		padding: 0.48rem 0.12rem 0.16rem;
	}

	.search-modal-panel {
		width: 100%;
		height: auto;
		max-width: none;
		min-height: 0;
		max-height: 90vh;
		overflow-x: hidden;
		overflow-y: auto;
		padding: 0.24rem 0.16rem 0.2rem;
	}

	.search-modal-close {
		top: 0.16rem;
		right: 0.16rem;
	}

	.search-modal-form {
		margin-top: 0.24rem;
	}

	.search-modal-row,
	.search-modal-row-top {
		gap: 0.14rem;
		margin-bottom: 0;
	}

	.search-modal-row-top {
		margin-bottom: 0.14rem;
	}

	.search-field {
		width: 100%;
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-align-items: stretch;
		align-items: stretch;
		gap: 0.08rem;
	}

	.search-field-kw > span,
	.search-field-cat > span,
	.search-field-price > span {
		width: auto;
	}

	.search-modal-input,
	.search-select,
	.search-select-btn,
	.search-select-list {
		width: 100%;
	}

	.search-modal-actions {
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-align-items: stretch;
		align-items: stretch;
		margin-left: 0;
		margin-top: 0.2rem;
		gap: 0.1rem;
	}

	.search-modal-clear,
	.search-modal-submit {
		width: 100%;
	}

	.news {
		padding-bottom: 0.4rem;
	}

	.news-wave {
		height: 0.9rem;
		margin-bottom: -0.55rem;
	}

	.news-lead {
		margin: 0.1rem 0 0.24rem;
		padding: 0 0.16rem;
		font-size: 0.13rem;
	}

	.news-title-block {
		width: 2.45rem;
		max-width: 94%;
	}

	.news .section-title--news h2 {
		padding-top: 0.36rem;
		font-size: 0.22rem;
		line-height: 1.15;
	}

	.news .section-title-lead {
		margin: 0.1rem 0 0.24rem;
		padding: 0 0.16rem;
		font-size: 0.13rem;
	}

	.news-wrap {
		gap: 0.06rem;
		padding: 0 0.08rem;
	}

	.news-viewport {
		max-width: 2.4rem;
	}

	.news-wrap--home {
		-webkit-justify-content: center;
		justify-content: center;
		gap: 0.04rem;
		padding: 0 0.02rem;
	}

	.news-viewport--home {
		-webkit-flex: 0 1 2.4rem;
		flex: 0 1 2.4rem;
		max-width: 2.4rem;
	}

	.news-wrap--home .news-mid-nav {
		position: static;
		top: auto;
		left: auto;
		right: auto;
		z-index: 2;
		-webkit-flex: 0 0 0.36rem;
		flex: 0 0 0.36rem;
		width: 0.36rem;
		-webkit-transform: none;
		-ms-transform: none;
		transform: none;
	}

	.news-mid-nav {
		width: 0.36rem;
	}

	.news-list--home .news-item {
		-webkit-flex: 0 0 2.4rem;
		flex: 0 0 2.4rem;
		width: 2.4rem;
	}

	.news-item {
		-webkit-flex: 0 0 2.4rem;
		flex: 0 0 2.4rem;
		width: 2.4rem;
	}

	.news-photo,
	.news-photo img {
		width: 2.1rem;
	}

	.news-photo img {
		height: 1.35rem;
	}

	.news-body {
		width: 2.28rem;
		min-height: 1.2rem;
		margin-top: -0.32rem;
		padding: 0.5rem 0.12rem 0.14rem;
	}

	.news-title {
		height: 0.336rem;
		font-size: 0.12rem;
		line-height: 1.4;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
	}

	.circle-btn {
		width: 0.4rem;
		height: 0.4rem;
	}

	.circle-btn img {
		width: 0.16rem;
		height: 0.16rem;
	}

	.footer {
		--footer-block-gutter: 0.12rem;
	}

	.footer-top {
		padding: 0.24rem 0 0;
	}

	.points-banner {
		width: 100%;
		max-width: 100%;
		height: auto;
		border-width: 0.06rem;
	}

	.points-banner img {
		height: auto;
		object-fit: contain;
		object-position: center;
	}

	.points-banner {
		--points-hit-right: 2%;
		--points-hit-bottom: 3.8%;
		--points-hit-width: 22%;
		--points-hit-height: 18%;
		--points-cta-right: 2%;
		--points-cta-bottom: 3.8%;
		--points-cta-width: 22%;
		--points-cta-height: 0.3rem;
		--points-cta-font: 0.11rem;
		--points-cta-pad-l: 0.16rem;
		--points-cta-pad-r: 0.1rem;
		--points-cta-gap: 0.06rem;
	}

	.points-banner-cta {
		max-width: 46%;
		padding: 0.05rem 0.08rem 0.05rem 0.12rem;
		font-size: 0.1rem;
	}

	.points-banner-cta-arrow {
		width: 0.12rem;
		height: 0.12rem;
	}

	/* 保留 points-banner-cta--mypage 小屏箭头
	.points-banner-cta--mypage .points-banner-cta-arrow {
		width: 0.14rem;
		height: 0.14rem;
	}
	*/

	.back-top {
		right: 0.12rem;
		bottom: 0.16rem;
		width: 0.56rem;
		height: 0.56rem;
	}

	.contact {
		margin-top: 0.56rem;
		padding: 0.48rem 0.16rem 0.24rem;
		gap: 0.4rem;
	}

	.contact-icon {
		width: 0.8rem;
		height: 0.8rem;
		margin-top: 0;
	}

	.contact-col:first-child .contact-icon {
		margin-top: -0.56rem;
	}

	.contact-icon img {
		width: 0.8rem;
		height: 0.8rem;
	}

	.contact-icon .contact-mark {
		width: 0.3rem;
		height: 0.3rem;
	}

	.contact-col p {
		font-size: 0.13rem;
		line-height: 0.2rem;
		margin-bottom: 0.16rem;
	}

	.btn-outline,
	.btn-fill {
		min-width: 0;
		width: 100%;
		max-width: 2.4rem;
		height: 0.44rem;
		font-size: 0.16rem;
	}

	.footer-nav {
		margin-top: 0.2rem;
		padding: 0.16rem 0.16rem 0.2rem;
	}

	.footer-deco-left,
	.footer-deco-right {
		display: none;
	}

	.footer-cols {
		-webkit-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		-webkit-align-items: flex-start;
		align-items: flex-start;
		gap: 0.16rem 0.2rem;
	}

	.footer-col,
	.footer-col-products,
	.footer-col-price {
		width: auto;
		-webkit-flex: 1 1 0;
		flex: 1 1 0;
		min-width: 0;
		-webkit-align-items: flex-start;
		align-items: flex-start;
		text-align: left;
		gap: 0.06rem;
	}

	.footer-col h3 {
		font-size: 0.14rem;
		line-height: 0.2rem;
	}

	.footer-col a {
		font-size: 0.12rem;
		line-height: 0.18rem;
	}

	.footer-col-guide {
		width: 100%;
		-webkit-flex: 1 1 100%;
		flex: 1 1 100%;
		-webkit-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		-webkit-align-items: center;
		align-items: center;
		text-align: left;
		gap: 0.06rem 0.16rem;
	}

	.footer-col-guide a {
		font-size: 0.13rem;
		line-height: 0.2rem;
	}

	.copyright p {
		font-size: 0.1rem;
	}

	.plist-wave,
	.nlist-wave,
	.nlist-page .plist-wave {
		display: none;
	}

	.plist-wrap {
		padding: 0.12rem 0.12rem 0.48rem;
	}

	.plist-title {
		margin: 0.16rem 0 0.24rem;
	}

	.plist-title h1 {
		font-size: 0.22rem;
	}

	.plist-block {
		margin-top: 0.16rem;
	}

	.plist-block h2 {
		height: 0.44rem;
		-webkit-border-radius: 0.12rem;
		border-radius: 0.12rem;
		font-size: 0.16rem;
	}

	.plist-block a {
		height: 0.4rem;
		font-size: 0.16rem;
	}

	.plist-side,
	.plist-search,
	.plist-block h2,
	.plist-block a,
	.plist-fly a {
		width: 100%;
		max-width: none;
		-webkit-flex: none;
		flex: none;
	}

	.plist-flyouts {
		position: static;
		-webkit-flex-direction: column;
		flex-direction: column;
		width: 100%;
	}

	.plist-fly {
		width: 100%;
		-webkit-box-shadow: none;
		box-shadow: none;
		-webkit-border-radius: 0;
		border-radius: 0;
	}

	.plist-grid {
		width: 100%;
		max-width: 100%;
		gap: 0.2rem 0.1rem;
	}

	.plist-grid .product-item {
		-webkit-flex: 0 0 48%;
		flex: 0 0 48%;
		width: 48%;
		max-width: none;
	}

	.plist-grid .product-thumb {
		width: 100%;
	}

	.plist-pager {
		width: 100%;
		margin-top: 0.32rem;
	}

	.pdetail-wrap {
		padding: 0.12rem 0.12rem 0.48rem;
	}

	.pdetail-body {
		gap: 0.24rem;
		margin-top: 0.24rem;
	}

	.pdetail-gallery,
	.pdetail-main,
	.pdetail-info,
	.pdetail-ship,
	.pdetail-ship-wrap,
	.pdetail-buy,
	.pdetail-cart {
		width: 100%;
		max-width: none;
	}

	.pdetail-ship-panel {
		left: 0;
		top: 100%;
		margin-left: 0;
		margin-top: 0.08rem;
		width: 100%;
		max-width: none;
	}

	.pdetail-ship {
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-align-items: stretch;
		align-items: stretch;
		height: auto;
		min-height: 0.54rem;
		padding: 0.1rem 0.14rem;
		gap: 0.06rem;
		-webkit-border-radius: 0.16rem;
		border-radius: 0.16rem;
	}

	.pdetail-ship-main {
		-webkit-align-items: flex-start;
		align-items: flex-start;
	}

	.pdetail-ship-msg {
		font-size: 0.11rem;
		line-height: 1.5;
	}

	.pdetail-ship-guide,
	.pdetail-ship a {
		margin-left: 0;
		align-self: center;
		font-size: 0.1rem;
		line-height: 1.4;
		white-space: normal;
		text-align: center;
	}

	.pdetail-main {
		height: auto;
		aspect-ratio: 1 / 1;
	}

	.pdetail-nav {
		width: 0.4rem;
		height: 0.4rem;
		margin-top: -0.2rem;
	}

	.pdetail-thumbs {
		height: 0.76rem;
	}

	.pdetail-thumbs .swiper-slide {
		width: 0.72rem;
		height: 0.72rem;
	}

	.pdetail-info h1 {
		font-size: 0.24rem;
		line-height: 1.35;
	}

	.pdetail-tip {
		left: 0;
		top: 0.32rem;
	}

	.pdetail-desc h2 {
		width: 100%;
		height: 0.44rem;
		-webkit-border-radius: 0.12rem;
		border-radius: 0.12rem;
		font-size: 0.16rem;
	}

	.pdetail-desc-body {
		font-size: 0.14rem;
		line-height: 0.26rem;
	}

	.guide-wrap {
		padding: 0.12rem 0.14rem 0.48rem;
	}

	.guide-title {
		margin: 0.12rem 0 0.2rem;
	}

	.guide-title h1 {
		font-size: 0.2rem;
		line-height: 0.28rem;
	}

	.guide-tabs {
		height: auto;
		width: 100%;
		max-width: 100%;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-items: stretch;
		align-items: stretch;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		padding: 0.1rem 0;
		margin-bottom: 0.2rem;
	}

	.guide-tabs a,
	.guide-tabs a:nth-child(3),
	.guide-tabs a:nth-child(5) {
		width: 50%;
		max-width: 50%;
		min-width: 0;
		-webkit-flex: 0 0 50%;
		flex: 0 0 50%;
		height: auto;
		min-height: 0.52rem;
		padding: 0.08rem 0.08rem;
		font-size: 0.13rem;
		line-height: 1.25;
		overflow: visible;
	}

	.guide-tabs a span {
		max-width: 100%;
		overflow: visible;
		white-space: normal;
		line-height: 1.25;
	}

	.guide-acc {
		max-width: 100%;
		gap: 0.12rem;
	}

	.guide-acc-btn {
		min-height: 0.56rem;
		padding: 0.14rem 0.14rem 0.14rem 0.16rem;
		font-size: 0.15rem;
		line-height: 0.22rem;
		letter-spacing: 0.008rem;
		gap: 0.08rem;
	}

	.guide-acc-btn > span:first-child {
		-webkit-flex: 1 1 auto;
		flex: 1 1 auto;
		min-width: 0;
	}

	.guide-acc-item.is-open .guide-acc-btn {
		padding: 0.14rem 0.14rem 0.1rem 0.16rem;
	}

	.guide-acc-panel {
		padding: 0 0.1rem 0.14rem;
	}

	.guide-acc-inner {
		min-height: 0;
		padding: 0.14rem 0.14rem 0.16rem;
	}

	.guide-acc-inner p {
		font-size: 0.13rem;
		line-height: 0.22rem;
		letter-spacing: 0.006rem;
	}

	.guide-acc-inner p + p {
		margin-top: 0.06rem;
	}

	.about-hero {
		height: 4.2rem;
	}

	.about-hero-img {
		height: 4.2rem;
	}

	.about-wrap {
		padding: 0.24rem 0.16rem 0.48rem;
	}

	.nlist-head {
		padding: 0.12rem 0.12rem 0.16rem;
	}

	.nlist-title {
		margin: 0.16rem 0 0.16rem;
	}

	.nlist-title h1 {
		font-size: 0.22rem;
	}

	.nlist-band {
		padding: 0 0.1rem 0.48rem;
	}

	.nlist-empty {
		margin-top: 0.24rem;
		padding: 0.56rem 0.24rem;
	}

	.nlist-empty-icon {
		width: 0.64rem;
		height: 0.64rem;
		margin-bottom: 0.16rem;
	}

	.nlist-empty-icon img {
		width: 0.32rem;
		height: 0.32rem;
	}

	.nlist-empty-title {
		font-size: 0.16rem;
		line-height: 0.24rem;
	}

	.nlist-empty-text {
		font-size: 0.12rem;
		line-height: 0.18rem;
	}

	.nlist-grid {
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		gap: 0.16rem 0.1rem;
	}

	.nlist-grid .news-item {
		width: auto;
		max-width: none;
		min-width: 0;
		-webkit-flex: 0 0 calc(50% - 0.05rem);
		flex: 0 0 calc(50% - 0.05rem);
	}

	.nlist-grid .news-item a {
		width: 100%;
		padding-top: 0.18rem;
	}

	.nlist-grid .news-photo,
	.nlist-grid .news-photo img {
		width: 88%;
	}

	.nlist-grid .news-photo img {
		height: auto;
		aspect-ratio: 291 / 187;
	}

	.nlist-grid .news-tag {
		width: 0.78rem;
		height: 0.2rem;
		font-size: 0.1rem;
		line-height: 0.2rem;
	}

	.nlist-grid .news-body {
		width: 96%;
		min-height: 0;
		margin-top: -0.24rem;
		padding: 0.36rem 0.08rem 0.1rem;
	}

	.nlist-grid .news-title {
		height: 0.32rem;
		font-size: 0.11rem;
		line-height: 0.16rem;
	}

	.nlist-grid .news-body time {
		margin-top: 0.08rem;
		font-size: 0.1rem;
		line-height: 0.14rem;
	}

	.ndetail-wrap {
		padding: 0.12rem 0.12rem 0.48rem;
	}

	.ndetail-page .plist-crumb span {
		-webkit-flex: 1 1 100%;
		flex: 1 1 100%;
		min-width: 0;
		overflow-wrap: break-word;
		word-break: break-word;
	}

	.ndetail-tag {
		margin-top: 0.16rem;
	}

	.ndetail-title {
		margin-top: 0.16rem;
		font-size: 0.18rem;
		line-height: 0.28rem;
		white-space: normal;
		word-break: break-all;
		line-break: anywhere;
	}

	.ndetail-hero {
		width: 100%;
		max-width: 100%;
		height: auto;
		margin-top: 0.2rem;
		aspect-ratio: 1114 / 717;
	}

	.ndetail-body {
		max-width: 100%;
		margin-top: 0.24rem;
	}

	.ndetail-body p {
		font-size: 0.14rem;
		line-height: 0.26rem;
	}

	.ndetail-nav {
		margin-top: 0.32rem;
	}

	.ndetail-back {
		width: 2.21rem;
		font-size: 0.16rem;
	}

	.inq-wrap,
	.login-wrap,
	.reg-wrap,
	.pw-wrap,
	.mypage-wrap,
	.pay-wrap {
		padding: 0.12rem 0.12rem 0.48rem;
	}

	.inq-title {
		margin: 0.16rem 0 0.24rem;
	}

	.inq-title h1 {
		font-size: 0.22rem;
	}

	.inq-card {
		padding: 0.24rem 0.16rem 0.32rem;
	}

	.inq-form {
		gap: 0.2rem;
		max-width: 100%;
	}

	.inq-row,
	.inq-row-area {
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-align-items: flex-start;
		align-items: flex-start;
		gap: 0.12rem;
		min-height: 0;
	}

	.inq-row-area .inq-label {
		padding-top: 0;
	}

	.inq-label,
	.inq-fields,
	.inq-fields-pair,
	.inq-select,
	.inq-input-lg,
	.inq-textarea {
		width: 100%;
		max-width: 100%;
	}

	.inq-fields-pair {
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-align-items: stretch;
		align-items: stretch;
		gap: 0.2rem;
	}

	.inq-pair {
		width: 100%;
		gap: 0.16rem;
	}

	.inq-input-sm {
		-webkit-flex: 1 1 auto;
		flex: 1 1 auto;
		width: auto;
		min-width: 0;
	}

	.inq-foot {
		margin-top: 0.32rem;
	}

	.inq-agree {
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: center;
		justify-content: center;
	}

	.legal-wrap {
		padding: 0.12rem 0.12rem 0.48rem;
	}

	.legal-title {
		margin: 0.16rem 0 0.24rem;
		gap: 0.02rem;
	}

	.legal-title h1 {
		font-size: 0.16rem;
		line-height: 0.24rem;
		white-space: nowrap;
		word-break: normal;
	}

	.legal-body {
		max-width: 100%;
	}

	.legal-body p,
	.legal-body li {
		font-size: 0.14rem;
		line-height: 0.26rem;
	}

	.login-card {
		margin-top: 0.16rem;
		padding: 0.28rem 0.16rem 0.32rem;
	}

	.login-title {
		margin-bottom: 0.28rem;
		font-size: 0.22rem;
		line-height: 0.28rem;
	}

	.login-form {
		gap: 0.2rem;
		max-width: 100%;
	}

	.login-row {
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-align-items: flex-start;
		align-items: flex-start;
		gap: 0.08rem;
		min-height: 0;
	}

	.login-label,
	.login-input {
		width: 100%;
		max-width: 100%;
	}

	.login-actions {
		gap: 0.2rem;
		margin-top: 0.08rem;
	}

	.login-signup {
		margin-top: 0.28rem;
		padding: 0.28rem 0.16rem 0.32rem;
	}

	.login-signup h2 {
		font-size: 0.22rem;
		line-height: 0.28rem;
	}

	.login-signup p {
		margin-top: 0.16rem;
		font-size: 0.14rem;
		line-height: 0.24rem;
	}

	.login-signup-btn {
		margin-top: 0.24rem;
	}

	.pw-card {
		margin-top: 0.16rem;
		padding: 0.28rem 0.16rem 0.32rem;
	}

	.pw-title {
		margin-bottom: 0.28rem;
		font-size: 0.22rem;
		line-height: 0.28rem;
	}

	.pw-form {
		gap: 0.2rem;
		max-width: 100%;
	}

	.pw-row {
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-align-items: flex-start;
		align-items: flex-start;
		gap: 0.08rem;
		min-height: 0;
	}

	.pw-label,
	.pw-input,
	.pw-code {
		width: 100%;
		max-width: 100%;
	}

	.pw-foot {
		-webkit-flex-direction: column;
		flex-direction: column;
		gap: 0.16rem;
		margin-top: 0.08rem;
	}

	.pw-back {
		position: static;
		-webkit-transform: none;
		-ms-transform: none;
		transform: none;
		-webkit-order: 2;
		order: 2;
	}

	.mypage-body {
		-webkit-flex-direction: column;
		flex-direction: column;
		gap: 0.16rem;
		margin-top: 0.12rem;
	}

	.mypage-side {
		width: 100%;
	}

	.mypage-side-title {
		height: 0.56rem;
		font-size: 0.18rem;
	}

	.mypage-nav {
		height: auto;
	}

	.mypage-nav ul {
		height: auto;
		padding: 0.2rem 0.2rem 0.24rem;
	}

	.mypage-nav li + li {
		margin-top: 0.16rem;
	}

	.mypage-nav a {
		font-size: 0.16rem;
		line-height: 0.22rem;
	}

	.mypage-banner {
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		height: auto;
		padding: 0.16rem;
		gap: 0.08rem;
		-webkit-border-radius: 0.16rem;
		border-radius: 0.16rem;
	}

	.mypage-no {
		width: auto;
		text-align: left;
	}

	.mypage-ranks {
		-webkit-flex: 1 1 100%;
		flex: 1 1 100%;
		width: 100%;
		margin-left: 0;
		margin-right: 0;
		min-width: 0;
	}

	.mypage-ranks li {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.mypage-ranks span {
		-webkit-flex: 1 1 auto;
		flex: 1 1 auto;
		width: auto;
		min-width: 0;
		white-space: nowrap;
	}

	.mypage-ranks small {
		-webkit-flex: 0 0 auto;
		flex: 0 0 auto;
		width: auto;
		min-width: 0;
		margin-left: auto;
		white-space: nowrap;
		text-align: right;
	}

	.mypage-gold {
		-webkit-flex: 1 1 100%;
		flex: 1 1 100%;
		-webkit-justify-content: flex-end;
		justify-content: flex-end;
		margin-left: 0;
	}

	.mypage-gold p {
		width: auto;
		min-width: 0;
		max-width: none;
		white-space: normal;
		text-align: right;
	}

	.minfo-banner {
		height: 0.56rem;
		padding: 0 0.16rem;
		font-size: 0.18rem;
	}

	.minfo-banner-addr {
		margin-top: 0.32rem;
	}

	.minfo-form {
		gap: 0.2rem;
		max-width: 100%;
		margin-top: 0.2rem;
	}

	.minfo-form-addr {
		margin-top: 0.16rem;
	}

	.minfo-input-md {
		width: 100%;
	}

	.minfo-sub {
		-webkit-flex-wrap: nowrap;
		flex-wrap: nowrap;
		height: auto;
		min-height: 0.54rem;
		margin-top: 0.2rem;
		padding: 0.08rem 0.12rem;
		gap: 0.08rem;
	}

	.minfo-form-addr + .minfo-sub {
		margin-top: 0.28rem;
	}

	.minfo-sub p {
		-webkit-flex: 1 1 auto;
		flex: 1 1 auto;
		margin-bottom: 0;
		font-size: 0.16rem;
		line-height: 0.22rem;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.minfo-btn {
		width: 0.64rem;
		height: 0.32rem;
		font-size: 0.12rem;
		letter-spacing: 0;
	}

	.minfo-add {
		width: 100%;
		max-width: 2.8rem;
		margin-top: 0.32rem;
	}

	.cart-head {
		margin-top: 0.16rem;
	}

	.cart-head li {
		padding: 0.08rem 0.04rem;
		font-size: 0.12rem;
	}

	.cart-head li:first-child,
	.cart-head li:nth-child(2),
	.cart-head li:nth-child(3) {
		width: auto;
		-webkit-flex: 1 1 0;
		flex: 1 1 0;
	}

	.cart-item {
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		padding: 0.16rem 0 0.12rem;
		gap: 0.1rem;
	}

	.cart-prod {
		width: 100%;
		gap: 0.12rem;
	}

	.cart-prod img {
		width: 1.12rem;
		height: 1.12rem;
	}

	.cart-qty {
		margin-top: 0;
		margin-left: 0;
	}

	.cart-sum {
		width: auto;
		height: auto;
		margin-left: auto;
		padding: 0;
		gap: 0.12rem;
	}

	.cart-bottom {
		-webkit-flex-direction: column;
		flex-direction: column;
		gap: 0.24rem;
		margin-top: 0.24rem;
	}

	.cart-ship {
		width: 100%;
		min-height: 0;
		padding: 0.2rem 0.12rem 0.16rem;
	}

	.cart-ship-lead {
		font-size: 0.18rem;
		white-space: normal;
	}

	.cart-ship-lead strong {
		font-size: 0.22rem;
	}

	.cart-ship-note,
	.cart-ship-now {
		font-size: 0.13rem;
		text-align: left;
	}

	.cart-back,
	.cart-total,
	.cart-go {
		width: 100%;
	}

	.cart-empty {
		margin-top: 0.2rem;
		padding: 0.48rem 0.2rem 0.56rem;
	}

	.cart-empty-icon {
		width: 0.96rem;
		height: 0.96rem;
		margin-bottom: 0.2rem;
	}

	.cart-empty-icon img {
		width: 0.5rem;
		height: 0.5rem;
	}

	.cart-empty-title {
		font-size: 0.16rem;
		line-height: 0.24rem;
	}

	.cart-empty-text {
		font-size: 0.13rem;
		line-height: 0.2rem;
	}

	.cart-empty .cart-back {
		width: 100%;
		max-width: 3.2rem;
		margin-top: 0.28rem;
	}

	.hist-order + .hist-order {
		margin-top: 0.32rem;
	}

	.hist-page .cart-head,
	.hist-page .cart-line {
		display: none;
	}

	.hist-page .cart-item {
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		padding: 0.16rem 0 0.14rem;
		gap: 0.1rem 0.12rem;
	}

	.hist-page .cart-prod {
		width: 100%;
	}

	.hist-qty {
		width: auto;
		margin-top: 0;
		margin-left: 1.24rem;
		font-size: 0.14rem;
		line-height: 0.2rem;
		text-align: left;
	}

	.hist-qty::before {
		content: "数量：";
	}

	.hist-page .cart-sum {
		width: auto;
		height: auto;
		margin-left: auto;
		padding: 0;
		-webkit-align-self: flex-end;
		align-self: flex-end;
	}

	.hist-page .cart-sum p {
		font-size: 0.16rem;
		line-height: 0.22rem;
	}

	.hist-page .cart-del {
		font-size: 0.12rem;
		gap: 0.06rem;
	}

	.hist-meta {
		-webkit-flex-direction: column;
		flex-direction: column;
		gap: 0.16rem;
		padding-top: 0.12rem;
	}

	.hist-addr {
		width: 100%;
		gap: 0.08rem;
	}

	.hist-addr p {
		font-size: 0.13rem;
		line-height: 0.22rem;
	}

	.hist-bill {
		width: 100%;
		max-width: none;
		margin-left: 0;
		padding: 0;
	}

	.hist-bill > div + div {
		margin-top: 0.08rem;
	}

	.hist-bill dt,
	.hist-bill dd {
		font-size: 0.14rem;
		line-height: 0.22rem;
	}

	.hist-status {
		margin-top: 0.12rem;
		font-size: 0.14rem;
		line-height: 0.22rem;
	}

	.hist-track {
		-webkit-flex-direction: column;
		flex-direction: column;
		gap: 0.06rem;
		margin-top: 0.12rem;
		padding: 0;
	}

	.hist-track p {
		font-size: 0.13rem;
		line-height: 0.22rem;
	}

	.pay-main {
		margin-top: 0.16rem;
	}

	.pay-page .plist-crumb {
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		row-gap: 0.04rem;
	}

	.pay-title {
		font-size: 0.22rem;
		line-height: 0.32rem;
	}

	.pay-page .cart-head,
	.pay-page .cart-head + .cart-line {
		display: none;
	}

	.pay-page .cart-item {
		padding: 0.16rem 0;
	}

	.pay-page .cart-sum p {
		font-size: 0.18rem;
		line-height: 0.24rem;
	}

	.pay-page .cart-del {
		font-size: 0.12rem;
		line-height: 0.16rem;
	}

	.pay-mid {
		-webkit-flex-direction: column;
		flex-direction: column;
		gap: 0.28rem;
		margin-top: 0.2rem;
	}

	.pay-offers,
	.pay-offer-line,
	.pay-offer-line .pay-offer-row,
	.pay-page .cart-total,
	.pay-offer-row,
	.pay-form-lab,
	.pay-form-field,
	.pay-method-lab,
	.pay-method-field,
	.pay-addr-side,
	.pay-addr-body,
	.pay-form {
		width: 100%;
		max-width: 100%;
	}

	.pay-offer h2 {
		font-size: 0.16rem;
		line-height: 0.24rem;
	}

	.pay-offer + .pay-offer {
		margin-top: 0.24rem;
	}

	.pay-offer-note {
		margin-bottom: 0.12rem;
		font-size: 0.12rem;
		line-height: 0.2rem;
		white-space: normal;
	}

	.pay-offer-line {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: column;
		flex-direction: column;
		gap: 0;
	}

	.pay-offer-row,
	.pay-offer-line .pay-offer-row,
	.pay-offer-row-bot {
		-webkit-flex-direction: column;
		flex-direction: column;
		width: 100%;
		height: auto;
		min-height: 0;
		overflow: visible;
	}

	.pay-offer-lab,
	.pay-offer-val,
	.pay-offer-row-top .pay-offer-lab,
	.pay-offer-row-top .pay-offer-val,
	.pay-offer-row-bot .pay-offer-lab,
	.pay-offer-row-bot .pay-offer-val {
		width: 100%;
		-webkit-border-radius: 0;
		border-radius: 0;
	}

	.pay-offer-lab {
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		min-height: 0.48rem;
		padding: 0.1rem 0.12rem;
		font-size: 0.14rem;
		letter-spacing: 0;
		white-space: nowrap;
	}

	.pay-offer-lab span {
		-webkit-flex: 0 1 auto;
		flex: 0 1 auto;
		text-align: left;
		white-space: nowrap;
	}

	.pay-offer-val,
	.pay-offer-row-top .pay-offer-val,
	.pay-offer-row-bot .pay-offer-val {
		border-left: 0.016rem solid #cbcbcb;
		border-top: 0;
		padding: 0.08rem 0.12rem 0.1rem;
	}

	.pay-offer-row-top .pay-offer-lab {
		-webkit-border-radius: 0.12rem 0.12rem 0 0;
		border-radius: 0.12rem 0.12rem 0 0;
	}

	.pay-offer-row-bot .pay-offer-lab {
		border-top: 0.016rem solid #cbcbcb;
	}

	.pay-offer-row-bot .pay-offer-val {
		border-top: 0;
		-webkit-border-radius: 0 0 0.12rem 0.12rem;
		border-radius: 0 0 0.12rem 0.12rem;
	}

	.pay-offer-val input {
		width: 100%;
		height: 0.4rem;
	}

	.pay-offer-chips {
		height: auto;
		min-height: 0;
		padding: 0.08rem 0.12rem 0.12rem;
		gap: 0.06rem 0.08rem;
	}

	.pay-apply {
		position: static;
		width: 100%;
		height: 0.4rem;
		margin: 0.08rem 0;
		font-size: 0.14rem;
	}

	.pay-page .cart-total {
		padding: 0.16rem 0.16rem 0.18rem;
		background: #fcf6ea;
		-webkit-border-radius: 0.12rem;
		border-radius: 0.12rem;
	}

	.pay-page .cart-total h2 {
		font-size: 0.16rem;
		line-height: 0.24rem;
	}

	.pay-page .cart-total .cart-line,
	.pay-page .cart-total dl + .cart-line {
		margin-top: 0.14rem;
	}

	.pay-page .cart-total dl {
		margin-top: 0.14rem;
	}

	.pay-page .cart-total dl div + div {
		margin-top: 0.1rem;
	}

	.pay-page .cart-grand {
		margin-top: 0.14rem;
		font-size: 0.16rem;
		line-height: 0.24rem;
	}

	.pay-ship {
		margin-top: 0.28rem;
	}

	.pay-ship-head,
	.pay-method h2 {
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-items: center;
		align-items: center;
		gap: 0.08rem;
	}

	.pay-ship-head h2,
	.pay-method h2 {
		font-size: 0.18rem;
		line-height: 0.28rem;
	}

	.pay-addr + .pay-addr {
		margin-top: 0.2rem;
	}

	.pay-addr-pick {
		gap: 0.1rem;
		margin-bottom: 0.08rem;
		font-size: 0.16rem;
		line-height: 0.24rem;
	}

	.pay-check {
		width: 0.24rem;
		height: 0.24rem;
	}

	.pay-check:checked {
		border-width: 0.05rem;
	}

	.pay-addr-card {
		-webkit-flex-direction: column;
		flex-direction: column;
	}

	.pay-addr-side,
	.pay-addr-body {
		display: contents;
	}

	.pay-addr-side p,
	.pay-addr-side p:first-child,
	.pay-addr-side p:last-child {
		width: 100%;
		height: 0.4rem;
		-webkit-flex: none;
		flex: none;
		padding: 0 0.12rem;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		-webkit-align-items: center;
		align-items: center;
		font-size: 0.14rem;
		line-height: 0.2rem;
		-webkit-border-radius: 0;
		border-radius: 0;
	}

	.pay-addr-side p:first-child {
		-webkit-box-ordinal-group: 2;
		order: 1;
		border-bottom: 0;
		-webkit-border-radius: 0.12rem 0.12rem 0 0;
		border-radius: 0.12rem 0.12rem 0 0;
	}

	.pay-addr-info {
		-webkit-box-ordinal-group: 3;
		order: 2;
		min-height: 0;
		padding: 0.08rem 0.1rem 0.1rem;
		border-left: 0.016rem solid #cbcbcb;
		border-right: 0.016rem solid #cbcbcb;
		border-bottom: 0;
	}

	.pay-addr-info-inner {
		min-height: 0;
		padding: 0.1rem 0.12rem;
		-webkit-border-radius: 0.08rem;
		border-radius: 0.08rem;
		font-size: 0.13rem;
		line-height: 0.24rem;
	}

	.pay-addr-side p:last-child {
		-webkit-box-ordinal-group: 4;
		order: 3;
		border-top: 0;
		border-bottom: 0;
	}

	.pay-addr-memo {
		-webkit-box-ordinal-group: 5;
		order: 4;
		height: auto;
		min-height: 0.52rem;
		padding: 0.08rem 0.1rem 0.1rem;
		border: 0.016rem solid #cbcbcb;
		border-top: 0;
		-webkit-border-radius: 0 0 0.12rem 0.12rem;
		border-radius: 0 0 0.12rem 0.12rem;
	}

	.pay-addr-memo input {
		height: 0.4rem;
		-webkit-border-radius: 0.06rem;
		border-radius: 0.06rem;
	}

	.pay-form-row,
	.pay-method-row {
		-webkit-flex-direction: column;
		flex-direction: column;
		height: auto;
		min-height: 0;
	}

	.pay-form-row-top .pay-form-lab,
	.pay-form-row-top .pay-form-field,
	.pay-form-row-bot .pay-form-lab,
	.pay-form-row-bot .pay-form-field {
		-webkit-border-radius: 0;
		border-radius: 0;
	}

	.pay-form-row-top .pay-form-lab {
		-webkit-border-radius: 0.12rem 0.12rem 0 0;
		border-radius: 0.12rem 0.12rem 0 0;
	}

	.pay-form-row-bot .pay-form-field {
		-webkit-border-radius: 0 0 0.12rem 0.12rem;
		border-radius: 0 0 0.12rem 0.12rem;
	}

	.pay-form-lab {
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		height: auto;
		min-height: 0.4rem;
		padding: 0.08rem 0.12rem;
		font-size: 0.14rem;
		line-height: 0.2rem;
	}

	.pay-form-field {
		border-left: 0.016rem solid #cbcbcb;
		border-top: 0;
		padding: 0.08rem 0.1rem;
	}

	.pay-form-row + .pay-form-row .pay-form-lab,
	.pay-form-row + .pay-form-row .pay-form-field {
		border-top: 0;
	}

	.pay-form .inq-select-list {
		max-height: 2.2rem;
		overflow-x: hidden;
		overflow-y: auto;
	}

	.pay-form-field input,
	.pay-form .inq-select,
	.pay-form .inq-select-btn,
	.pay-form-row-bot .pay-form-field input {
		height: 0.4rem;
	}

	.pay-req {
		min-width: 0.36rem;
		height: 0.2rem;
		padding: 0 0.06rem;
		font-size: 0.11rem;
		line-height: 0.2rem;
	}

	.pay-method {
		margin-top: 0.28rem;
	}

	.pay-method-lab {
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		min-height: 0.4rem;
		padding: 0.08rem 0.12rem;
		font-size: 0.14rem;
		-webkit-border-radius: 0.12rem 0.12rem 0 0;
		border-radius: 0.12rem 0.12rem 0 0;
	}

	.pay-method-field {
		border-left: 0.016rem solid #cbcbcb;
		padding: 0.1rem 0.12rem;
		gap: 0.12rem;
		-webkit-border-radius: 0 0 0.12rem 0.12rem;
		border-radius: 0 0 0.12rem 0.12rem;
	}

	.pay-cards {
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 0.04rem;
	}

	.pay-confirm {
		width: 100%;
		max-width: none;
		height: 0.48rem;
		margin-top: 0.32rem;
		font-size: 0.16rem;
	}

	.perk-page .mypage-wrap,
	.perk-page .mypage-body,
	.perk-page .mypage-main {
		min-width: 0;
		max-width: 100%;
	}

	.perk-banner {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		height: auto;
		padding: 0.16rem;
		gap: 0.08rem;
	}

	.perk-banner h1 {
		width: 100%;
		font-size: 0.2rem;
	}

	.perk-banner .mypage-ranks {
		-webkit-flex: 1 1 100%;
		flex: 1 1 100%;
		width: 100%;
		min-width: 0;
		margin-left: 0;
	}

	.perk-page .mypage-ranks li {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		height: auto;
		min-height: 0.25rem;
	}

	.perk-banner .mypage-gold {
		-webkit-flex: 1 1 100%;
		flex: 1 1 100%;
		width: 100%;
		-webkit-justify-content: flex-end;
		justify-content: flex-end;
		margin-left: 0;
		gap: 0.1rem;
	}

	.perk-banner .mypage-gold p {
		width: auto;
		min-width: 0;
		max-width: none;
		white-space: nowrap;
		text-align: right;
		font-size: 0.18rem;
	}

	.perk-no,
	.perk-pts,
	.perk-guide p {
		max-width: 100%;
		overflow-wrap: break-word;
		word-break: break-word;
	}

	.perk-pts {
		line-height: 0.24rem;
	}

	.perk-guide p {
		line-height: 0.24rem;
	}

	.perk-h2 {
		margin-top: 0.28rem;
		font-size: 0.16rem;
	}

	.perk-box {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		height: auto;
		max-height: none;
		overflow: hidden;
	}

	.perk-head,
	.perk-list li {
		min-width: 0;
	}

	.perk-head-pt,
	.perk-list-pt {
		width: 100%;
		min-width: 0;
	}

	.perk-box-cp .perk-cp-table {
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
	}

	.perk-box-cp .perk-head-cp,
	.perk-box-cp .perk-list-cp {
		width: 6.8rem;
		min-width: 6.8rem;
	}

	.perk-box-cp.is-empty .perk-cp-table {
		overflow-x: hidden;
	}

	.perk-box-cp.is-empty .perk-head-cp,
	.perk-box-cp.is-empty .perk-list-cp {
		width: 100%;
		min-width: 0;
	}

	.perk-box-cp.is-empty .perk-head li {
		font-size: 0.1rem;
		line-height: 0.14rem;
		padding: 0.06rem 0.02rem;
		word-break: break-all;
	}

	.perk-box-cp.is-empty .perk-list li.perk-list-empty {
		min-height: 1.2rem;
		height: auto;
		padding: 0.24rem 0.12rem;
	}

	.perk-box-cp.is-empty .perk-list li.perk-list-empty span {
		white-space: normal;
		text-align: center;
		line-height: 0.22rem;
		font-size: 0.12rem;
	}

	.perk-scroll {
		overflow-x: visible;
		overflow-y: visible;
	}

	.perk-head li,
	.perk-list li span {
		padding: 0 0.04rem;
		font-size: 0.11rem;
		line-height: 0.16rem;
	}

	.perk-list li span:nth-child(2) {
		font-size: 0.11rem;
		line-height: 0.16rem;
	}

	.perk-copy,
	.perk-copy img {
		width: 0.18rem;
		height: 0.18rem;
	}

	.mypage-cards {
		gap: 0.12rem;
	}

	.mypage-cards li {
		-webkit-flex: 1 1 calc(50% - 0.06rem);
		flex: 1 1 calc(50% - 0.06rem);
		width: auto;
		max-width: calc(50% - 0.06rem);
		min-width: 0;
	}

	.mypage-card {
		width: 100%;
		height: auto;
		min-height: 2.1rem;
		padding: 0.18rem 0.08rem 0.14rem;
	}

	.mypage-card h2 {
		font-size: 0.13rem;
		line-height: 0.18rem;
	}

	.mypage-card img {
		width: 0.48rem;
		height: 0.48rem;
		margin-top: 0.12rem;
	}

	.mypage-card p {
		margin-top: 0.1rem;
		font-size: 0.11rem;
		line-height: 0.16rem;
	}

	.reg-card {
		margin-top: 0.16rem;
		padding: 0.28rem 0.16rem 0.32rem;
	}

	.reg-title {
		margin-bottom: 0.24rem;
		font-size: 0.22rem;
		line-height: 0.28rem;
	}

	.reg-note {
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 0.08rem;
		margin-bottom: 0.24rem;
		font-size: 0.16rem;
		line-height: 0.24rem;
	}

	.reg-pref {
		width: 100%;
	}

	.reg-foot-row {
		-webkit-flex-direction: column;
		flex-direction: column;
		gap: 0.16rem;
	}

	.reg-back {
		position: static;
		-webkit-transform: none;
		-ms-transform: none;
		transform: none;
		-webkit-order: 2;
		order: 2;
	}

	.about-title {
		margin: 0.08rem 0 0.32rem;
	}

	.about-title h1,
	.about-title h2 {
		font-size: 0.22rem;
	}

	.about-story,
	.about-story-rev,
	.about-feat,
	.about-feat-rev {
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-align-items: center;
		align-items: center;
		gap: 0.2rem;
		margin-bottom: 0.4rem;
	}

	.about-story-rev .about-story-text,
	.about-story-rev .about-photo-xl {
		-webkit-order: 0;
		order: 0;
	}

	.about-story-text,
	.about-feat-panel,
	.about-feat-rev .about-feat-panel {
		width: 100%;
		max-width: none;
		margin-top: 0;
		padding: 0.2rem 0.16rem;
	}

	.about-story-text h2,
	.about-feat-panel h2 {
		font-size: 0.18rem;
	}

	.about-story-photos {
		width: 2.8rem;
		height: 3.02rem;
	}

	.about-photo-lg {
		width: 2.4rem;
		height: 2.4rem;
	}

	.about-photo-sm {
		left: 0.98rem;
		top: 1.2rem;
		width: 1.82rem;
		height: 1.82rem;
	}

	.about-photo-xl {
		width: 2.8rem;
		height: 2.8rem;
		margin-top: 0;
	}

	.about-feat-img,
	.about-feat-rev .about-feat-img {
		width: 100%;
		height: auto;
		margin: 0;
	}

	.about-info-card {
		width: 100%;
		min-height: 0;
		padding: 0.24rem 0.16rem 0.32rem;
		background: #fcf6ea;
		-webkit-border-radius: 0.25rem;
		border-radius: 0.25rem;
	}

	.about-info-shape {
		display: none;
	}

	.about-info-list {
		position: static;
		left: auto;
		top: auto;
		width: 100%;
	}

	.about-info-row {
		-webkit-flex-direction: column;
		flex-direction: column;
		gap: 0.08rem;
	}

	.about-info-row dt,
	.about-info-row dd {
		width: 100%;
		padding-left: 0;
	}

	.about-info-row dd p {
		line-height: 0.26rem;
	}

	/* 手机端整体：字号、按钮统一收一档 */
	.section-title {
		min-height: 0.48rem;
		gap: 0.02rem;
	}

	.section-title h2,
	.plist-title h1,
	.nlist-title h1,
	.inq-title h1,
	.login-title,
	.login-signup h2,
	.pw-title,
	.reg-title,
	.pay-title,
	.about-title h1,
	.about-title h2,
	.pdetail-info h1 {
		font-size: 0.18rem;
		line-height: 0.26rem;
	}

	.legal-title h1 {
		font-size: 0.15rem;
		line-height: 0.22rem;
	}

	.ndetail-title {
		font-size: 0.16rem;
		line-height: 0.24rem;
	}

	.mypage-side-title,
	.minfo-banner {
		height: 0.44rem;
		font-size: 0.15rem;
		line-height: 0.44rem;
	}

	.about-story-text h2,
	.about-feat-panel h2,
	.pay-ship-head h2,
	.pay-method h2,
	.perk-banner h1,
	.perk-h2 {
		font-size: 0.16rem;
		line-height: 0.24rem;
	}

	.cat-item h2,
	.plist-block h2,
	.pdetail-desc h2,
	.pay-offer h2,
	.cart-total h2,
	.nav-panel-title {
		font-size: 0.14rem;
		line-height: 0.2rem;
	}

	.product-name,
	.footer-col h3,
	.mypage-nav a,
	.inq-form,
	.inq-label,
	.login-label,
	.pw-label,
	.reg-note,
	.minfo-form,
	.pay-addr-pick {
		font-size: 0.13rem;
		line-height: 0.2rem;
	}

	.product-price span {
		font-size: 0.15rem;
	}

	.pdetail-price {
		font-size: 0.22rem;
		line-height: 1.2;
	}

	.pdetail-row > span,
	.pdetail-spec button,
	.pdetail-qty,
	.search-modal-title,
	.search-field > span,
	.login-input,
	.pw-input,
	.inq-input-lg,
	.inq-select-btn,
	.inq-textarea,
	.legal-body p,
	.legal-body li,
	.ndetail-body p,
	.pdetail-desc-body {
		font-size: 0.13rem;
		line-height: 0.22rem;
	}

	.nav-item span,
	.nav-item-btn span {
		font-size: 0.14rem;
		line-height: 0.2rem;
	}

	.nav-item,
	.nav-item-btn {
		min-height: 0.4rem;
		padding: 0.08rem;
	}

	.cat-all,
	.btn-outline,
	.btn-fill,
	.pdetail-buy,
	.pdetail-cart,
	.inq-submit,
	.login-submit,
	.login-signup-btn,
	.pw-submit,
	.ndetail-back,
	.minfo-add,
	.cart-go,
	.cart-back,
	.pay-confirm,
	.pay-apply,
	.search-modal-clear,
	.search-modal-submit {
		width: 100%;
		max-width: 2.2rem;
		min-width: 0;
		height: 0.4rem;
		min-height: 0.4rem;
		font-size: 0.14rem;
		line-height: 1.2;
	}

	.pdetail-buy,
	.pdetail-cart,
	.pay-confirm,
	.pay-apply,
	.search-modal-clear,
	.search-modal-submit,
	.cart-go,
	.cart-back {
		max-width: none;
	}

	.pdetail-cart img {
		width: 0.18rem;
		height: 0.18rem;
	}

	.minfo-add img {
		top: 0.1rem;
		width: 0.16rem;
		height: 0.16rem;
	}

	.cart-back img {
		width: 0.16rem;
		height: 0.16rem;
	}

	.pw-code-btn {
		height: 0.36rem;
		font-size: 0.13rem;
	}

	.plist-block h2,
	.plist-block a,
	.pdetail-desc h2 {
		height: 0.36rem;
		font-size: 0.13rem;
	}

	.guide-acc-btn {
		min-height: 0.44rem;
		padding: 0.1rem 0.12rem;
		font-size: 0.13rem;
		line-height: 0.2rem;
	}

	.login-input,
	.pw-input,
	.inq-input-lg,
	.inq-input-sm,
	.inq-select-btn,
	.minfo-input-md {
		height: 0.4rem;
		font-size: 0.13rem;
	}

	.back-top {
		width: 0.44rem;
		height: 0.44rem;
	}

	.back-top img {
		width: 0.18rem;
		height: 0.18rem;
	}

	.contact-icon,
	.contact-icon img {
		width: 0.64rem;
		height: 0.64rem;
	}

	.contact-icon .contact-mark {
		width: 0.24rem;
		height: 0.24rem;
	}

	.cart-ship-lead {
		font-size: 0.15rem;
	}

	.cart-ship-lead strong {
		font-size: 0.18rem;
	}

	.search-bar button {
		width: 0.56rem;
		height: 0.32rem;
		font-size: 0.12rem;
	}

	.pdetail-spec button {
		width: auto;
		min-width: 0.88rem;
		height: 0.32rem;
		padding: 0 0.12rem;
		font-size: 0.13rem;
	}
}

/* ========== 鼠标悬浮（仅精确指针，避免手机点按残留） ========== */
@media (hover: hover) and (pointer: fine) {
	.action-btn,
	.nav-item,
	.nav-item-btn,
	.nav-drop > li > a,
	.nav-drop-sub a,
	.header-logo,
	.cat-pic,
	.cat-link,
	.product-item img,
	.product-name,
	.news-photo img,
	.news-title,
	.circle-btn,
	.back-top,
	.btn-outline,
	.btn-fill,
	.footer-col a,
	.plist-crumb a,
	.plist-block a,
	.plist-pager a,
	.pdetail-buy,
	.pdetail-cart,
	.search-modal-clear,
	.search-modal-submit,
	.search-modal-close,
	.pay-apply,
	.pay-confirm,
	.pay-chip,
	.cart-go,
	.cart-del,
	.cart-qty-minus,
	.cart-qty-plus,
	.cart-prod a img,
	.inq-submit,
	.login-submit,
	.login-signup-btn,
	.login-forgot,
	.pw-submit,
	.pw-code-btn,
	.pw-back,
	.reg-back,
	.ndetail-back,
	.mypage-nav a,
	.minfo-btn,
	.minfo-add,
	.pay-addr-pick {
		-webkit-transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease;
		transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
	}

	.header-logo:hover {
		opacity: 0.82;
	}

	.action-btn:hover {
		background: #ffe6ca;
		-webkit-box-shadow: 0 0.04rem 0.1rem rgba(183, 155, 125, 0.45);
		box-shadow: 0 0.04rem 0.1rem rgba(183, 155, 125, 0.45);
	}

	.action-btn-cart:hover {
		background: #e07800;
	}

	.nav-item:hover,
	.nav-item-drop:hover,
	.nav-item-btn:hover {
		background: #e7f0e3;
	}

	.nav-item:hover span,
	.nav-item-btn:hover span {
		color: #37773b;
	}

	.nav-drop > li > a:hover,
	.nav-drop-sub a:hover {
		background: #fcf6ea;
		color: #37773b;
	}

	.cat-link:hover .cat-pic {
		-webkit-transform: scale(1.04);
		-ms-transform: scale(1.04);
		transform: scale(1.04);
		border-color: #2e6632;
		-webkit-box-shadow: 0 0.08rem 0.2rem rgba(55, 119, 59, 0.18);
		box-shadow: 0 0.08rem 0.2rem rgba(55, 119, 59, 0.18);
	}

	.cat-link:hover h2 {
		color: #2e6632;
	}

	.product-item a:hover img,
	.plist-grid .product-item a:hover img {
		-webkit-transform: scale(1.04);
		-ms-transform: scale(1.04);
		transform: scale(1.04);
		-webkit-box-shadow: 0 0.08rem 0.18rem rgba(71, 38, 0, 0.16);
		box-shadow: 0 0.08rem 0.18rem rgba(71, 38, 0, 0.16);
	}

	.product-item a:hover .product-name {
		color: #37773b;
	}

	.news-item a:hover .news-photo img {
		-webkit-transform: scale(1.03);
		-ms-transform: scale(1.03);
		transform: scale(1.03);
	}

	.news-item a:hover .news-title {
		color: #37773b;
	}

	.circle-btn:hover {
		background: #fcf6ea;
		-webkit-box-shadow: 0 0.06rem 0.16rem rgba(71, 38, 0, 0.18);
		box-shadow: 0 0.06rem 0.16rem rgba(71, 38, 0, 0.18);
		-webkit-transform: translateY(-0.02rem);
		-ms-transform: translateY(-0.02rem);
		transform: translateY(-0.02rem);
	}

	.back-top:hover {
		background: #e07800;
		-webkit-transform: translateY(-0.04rem);
		-ms-transform: translateY(-0.04rem);
		transform: translateY(-0.04rem);
	}

	.btn-outline:hover,
	.search-modal-clear:hover {
		background: #37773b;
		color: #ffffff;
	}

	.btn-fill:hover,
	.search-modal-submit:hover,
	.pay-apply:hover,
	.pay-confirm:hover,
	.cart-go:hover,
	.inq-submit:hover,
	.login-submit:hover,
	.pw-submit:hover,
	.pw-code-btn:hover,
	.ndetail-back:hover,
	.pdetail-buy:hover,
	.minfo-btn-save:hover {
		background: #2e6632;
	}

	.login-signup-btn:hover {
		background: #37773b;
		color: #ffffff;
	}

	.pdetail-cart:hover {
		background: #e07800;
	}

	.footer-col a:hover,
	.footer-col h3 a:hover,
	.footer-col-guide a:hover {
		color: #37773b;
		text-decoration: underline;
	}

	.plist-crumb a:hover,
	.login-forgot:hover,
	.inq-agree-text a:hover,
	.pay-ship-head a:hover,
	.legal-body a:hover {
		color: #37773b;
		text-decoration: underline;
	}

	.plist-block a:hover {
		background: #fcf6ea;
		color: #37773b;
	}

	.plist-pager a:hover {
		background: #ffe6ca;
		color: #472600;
	}

	.plist-pager a.is-on:hover {
		background: #e07800;
		color: #ffffff;
	}

	.search-modal-close:hover,
	.nav-close-btn:hover {
		opacity: 0.65;
	}

	.pay-chip:hover {
		background: #ffe6ca;
		-webkit-border-radius: 0.25rem;
		border-radius: 0.25rem;
	}

	.pay-chip.is-on:hover {
		background: #ffd4a8;
	}

	.cart-del:hover,
	.minfo-btn-del:hover {
		color: #bc261a;
	}

	.cart-qty-minus:hover,
	.cart-qty-plus:hover {
		opacity: 0.55;
	}

	.cart-prod a:hover img {
		-webkit-transform: scale(1.03);
		-ms-transform: scale(1.03);
		transform: scale(1.03);
	}

	.mypage-nav a:hover {
		color: #37773b;
	}

	.mypage-nav a.is-current:hover {
		color: #37773b;
	}

	.pw-back:hover,
	.reg-back:hover {
		color: #37773b;
	}

	.pay-addr-pick:hover {
		color: #37773b;
	}

	.minfo-add:hover,
	.minfo-btn:hover {
		opacity: 0.88;
		-webkit-transform: translateY(-0.02rem);
		-ms-transform: translateY(-0.02rem);
		transform: translateY(-0.02rem);
	}
}


/* ---------- 公共弹窗 ---------- */
.modal {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0.16rem;
  background: rgba(0, 0, 0, 0.45);
}

.modal.is-open {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.modal-dialog {
  width: 100%;
  max-width: 6.9rem;
  min-height: 2.71rem;
  overflow: hidden;
  background: #fff;
  border: 1px solid #f5f7fa;
  -webkit-border-radius: 0.08rem;
  border-radius: 0.08rem;
  -webkit-box-shadow: 0 0.08rem 0.24rem rgba(0, 0, 0, 0.15);
  box-shadow: 0 0.08rem 0.24rem rgba(0, 0, 0, 0.15);
}

.modal-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 0.56rem;
  background-color: #a4815a;
  background-image: -webkit-linear-gradient(left, rgba(213, 179, 134, 0) 0%, rgb(211, 177, 132) 49.038%, rgba(213, 179, 134, 0) 100%);
  background-image: linear-gradient(90deg, rgba(213, 179, 134, 0) 0%, rgb(211, 177, 132) 49.038%, rgba(213, 179, 134, 0) 100%);
}

.modal-title {
  color: #fff;
  font-size: 0.22rem;
  font-weight: 500;
  line-height: 0.264rem;
  text-align: center;
}

.modal-text {
  padding: 0.48rem 0.24rem 0.4rem;
  color: #333;
  font-size: 0.16rem;
  font-weight: 500;
  line-height: 0.32rem;
  text-align: center;
}

.modal-actions {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.22rem;
  padding: 0 0.24rem 0.37rem;
}

.modal-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 2.12rem;
  max-width: 48%;
  height: 0.54rem;
  color: #fff;
  font-size: 0.16rem;
  font-weight: 500;
  line-height: 0.32rem;
  text-align: center;
}

.modal-btn--gold {
  background: #a4815a;
}

.modal-btn--gray {
  background: #b9b9b9;
}

.modal-head--error {
  background-color: #a04444;
  background-image: none;
}

.modal-head--plain .modal-title {
  visibility: hidden;
}

.modal-btn--error {
  background: #a04444;
}