@charset "utf-8";

/* CSS関数設定 */
:root {
	/* カラーパレット */
	--WHITE: #fff;
	--WHITE_BORDER: 1px solid var(--WHITE);
	--BLACK: #1D1D1D;
	--BLACK_BORDER: 1px solid var(--BLACK);
	--BLACK_THIN: rgb(29, 29, 29, .6);
	--DARK01: #002C1B;

	--GREEN01: #F3F5EA;
	--GREEN_GRADATION01: linear-gradient(to right, rgb(0, 44, 27) 0%, rgb(0, 44, 27, 0) 100%);
	--GREEN02: #002C1B;
	--GREEN03: rgb(0, 44, 27, .5);
	--GREEN04: rgba(0, 44, 27, 0.2);
	--GREEN02_BORDER: 1px solid var(--GREEN02);
	--GREEN05: #80B144;

	--GRAY01: #F0F0F0;
	--GRAY02: #D1D1D1;
	--GRAY02_BORDER: 1px solid var(--GRAY02);
	--GRAY03: #959595;
	--GRAY04: #717171;
	--GRAY04_BORDER: 1px solid var(--GRAY04);

	--RED01: #C6222F;
	--RED02: #B80033;
	--YELLOW01: #FFFF71;
	/* テキストベースカラー */
	--TXT_COLOR: var(--DARK01);

	/* ランキングカラー */
	--RANKING_1ST: #BA9700;
	--RANKING_2ND: #A7A7A7;
	--RANKING_3RD: #B75400;
	--RANKING_OTHER: #002C1B;
	/* 共通角丸 */
	--COMMON_BDRS: 5px;
	--CIRCLE_BDRS: 80px;
	/* 共通ボックス影 */
	--COMMON_BXSD: 0px 0px 15px -5px #b5b5b5;
	/* ベースフォント */
	--FF_BASE: 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	/* 明朝体 */
	--FF_SERIF: "Noto Serif JP", serif;
	--FF_NUM: var(--FF_SERIF);
	/* アニメーション */
	--ANIME_FADEIN: fadeIn .5s ease-in-out .6s forwards;

	--INNER_WIDTH: 92%;

	/* フォトサイズ */
	--FZ_50: clamp(32px, 4vw, 50px);
	--FZ_50_SPS: clamp(23px, 3.2vw, 50px);
	--FZ_45: clamp(28px, 4vw, 45px);
	--FZ_36: clamp(24px, 3vw, 36px);
	--FZ_26: clamp(20px, 2.4vw, 26px);
	--FZ_22: clamp(18px, 2.2vw, 22px);
	--FZ_22_SPS: clamp(14px, 1.8vw, 22px);
	--FZ_20: clamp(18px, 2vw, 20px);
	--FZ_18: clamp(15px, 1.6vw, 18px);
	--FZ_18_SPS: clamp(12px, 1.6vw, 18px);
	--FZ_16: clamp(14px, 1.5vw, 16px);
	--FZ_14: clamp(13px, 1.4vw, 14px);
	--FZ_13: clamp(12px, 1.3vw, 13px);
	--FZ_12_CONST: 12px;
	--FZ_11_CONST: 11px;
	--FZ_BASE: clamp(14px, 1.5vw, 15px);


	/* 余白 */
	--MG_100: clamp(70px, 8vw, 100px);
	--MG_100_SPS: clamp(40px, 8vw, 100px);
	--MG_90: clamp(40px, 8vw, 90px);
	--MG_60: clamp(30px, 5vw, 60px);
	--MG_50: clamp(20px, 4vw, 50px);
	--MG_50_SPL: clamp(40px, 4vw, 50px);
	--MG_40: clamp(20px, 4vw, 40px);
	--MG_30: clamp(10px, 2vw, 30px);
	--MG_20: clamp(10px, 2vw, 20px);


	/* インナー幅 */
	--MAX_WIDTH: 1200px;
	--MAX_WIDTH_S: 1000px;
	--MAX_WIDTH_L: 1440px;
}

/* フェードインアニメーション */
@keyframes fadeIn {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes fadeOut {
	0% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}
@media screen and (min-width: 768px){
	:root{
			/* セクション余白 */
	--GENERALSEC: var(--MG_100);
	}
}
@media screen and (max-width: 767px){
	:root{
		/* セクション余白 */
--GENERALSEC: 40px;
}
}



/* リセットCSS */
* {
	margin: 0;
	padding: 0;
	min-height: 0;
	min-width: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	height: 100%;
	scroll-behavior: smooth;
}

ul li,
ol li {
	list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: normal;
	font-size: 100%;
	margin: 0;
}

p {
	margin: 0;
}

a:focus,
*:focus {
	outline: none;
}

article,
header,
footer,
aside,
figure,
figcaption,
nav,
section,
main {
	display: block;
}

body {
	font-family: var(--FF_BASE);
	font-size: var(--FZ_BASE);
	font-weight: 400;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.06em;
	width: 100%;
	color: var(--TXT_COLOR);
	position: relative;
	z-index: 0;
}

a {
	text-decoration: none;
	outline: none;
	word-wrap: break-word;
	color: var(--TXT_COLOR);
}

a img,
a {
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s;
}

img {
	height: auto;
	max-width: 100%;
	box-sizing: unset;
	vertical-align: bottom;
}

iframe {
	vertical-align: bottom;
}

.form-reset button,
.form-reset input[type="button"],
.form-reset input[type="submit"],
.form-reset input[type="text"],
.form-reset input[type="image"],
.form-reset input[type="checkbox"],
.form-reset select {
	background-color: unset;
	color: var(--TXT_COLOR);
	-webkit-appearance: none;
	border-radius: 0;
	border: none;
}

.form-reset input[type="text"],
.form-reset input[type="text"]::placeholder {
	font-family: var(--FF_BASE);
	color: var(--TXT_COLOR);
}

time {
	font-family: var(--FF_NUM);
}

/* フォントCSS */
.ff-serif {
	font-family: var(--FF_SERIF);
}

/* imgリセット */
.imgauto {
	height: auto;
	width: 100%;
	box-sizing: unset;
	line-height: 1rem;
	display: block;
}

/* セクション間隔*/
.generalmg {
	margin-bottom: var(--GENERALSEC);
}

.generalpd {
	padding: var(--GENERALSEC) 0;
}

.generalpd-btm {
	padding-bottom: var(--GENERALSEC);
}

/* グリッド、フレックス */
.grid {
	display: grid;
}

.flex {
	display: flex;
}

.fxw {
	display: flex;
	flex-wrap: wrap;
}

.jcsb {
	display: flex;
	justify-content: space-between;
}

/* スライダー読み込みまで非表示 */
.slick {
	opacity: 0;
	transition: opacity .3s linear;
}

.slick.slick-initialized {
	opacity: 1;
}

.swiper {
	overflow: hidden;
	opacity: 0;
	transition: opacity .3s linear;
}

.swiper.swiper-initialized {
	opacity: 1;
}

/* 縦書き */
.tategaki {
	writing-mode: vertical-rl;
}

/* タイトルの文字間 */
[class*="ttl"] {
	letter-spacing: 0.1em;
}

/* テキスト行間 */
[class*="txt"],
[class*="excerpt"],
[class*="name"] {
	line-height: 2;
}

/* スクロールバー消す */
.noscrollbar,
.noscrollbar {
	-ms-overflow-style: none;
	/* IE, Edge 対応 */
	scrollbar-width: none;
	/* Firefox 対応 */
}

.noscrollbar::-webkit-scrollbar,
.noscrollbar::-webkit-scrollbar {
	/* Chrome, Safari 対応 */
	display: none;
}

@media screen and (min-width: 768px) {
	html {
		scroll-padding-top: 100px;
	}

	body {
		line-height: 1.7;
		-ms-text-size-adjust: 100%;
		-webkit-text-size-adjust: 100%;
	}

	a[href^="tel:"] {
		pointer-events: none;
	}

	.inner,
	.pc-inner {
		width: var(--INNER_WIDTH);
		max-width: var(--MAX_WIDTH);
		margin-left: auto;
		margin-right: auto;
	}

	.sp {
		display: none !important;
	}

	.hamburger {
		display: none !important;
	}

	.pc-tategaki {
		writing-mode: vertical-rl;
	}

	/* pc順番付与 */
	.pc-order-1st {
		order: 1;
	}

	.pc-order-2nd {
		order: 2;
	}

	.pc-order-3rd {
		order: 3;
	}

	.pc-order-4th {
		order: 4;
	}

	.pc-order-5th {
		order: 5;
	}

	.pc-order-6th {
		order: 6;
	}

	.pc-order-7th {
		order: 7;
	}

	.pc-order-8th {
		order: 8;
	}

	.pc-order-9th {
		order: 9;
	}

	.pc-order-10th {
		order: 10;
	}
}

@media (hover: hover) {

	.form-reset button:hover,
	.form-reset input[type="button"]:hover,
	.form-reset input[type="submit"]:hover,
	.form-reset input[type="image"]:hover,
	.form-reset input[type="checkbox"]:hover,
	.form-reset select:hover {
		cursor: pointer;
	}

	a:hover {
		opacity: 0.5;
		text-decoration: none;
	}

	a:hover img {
		opacity: 0.525 !important;
	}
}

@media screen and (max-width: 767px) {
	body {
		line-height: 1.6;
	}

	.inner,
	.sp-inner {
		width: var(--INNER_WIDTH);
		margin-left: auto;
		margin-right: auto;
	}

	.pc {
		display: none !important;
	}

	.sp-y-scroll {
		overflow-y: scroll;
		overflow-x: auto;
	}

	.sp-x-scroll {
		overflow-x: scroll;
		overflow-y: auto;
		padding-left: calc((100% - var(--INNER_WIDTH)) / 2);
		padding-right: calc((100% - var(--INNER_WIDTH)) / 2);
	}

	.sp-pc-tategaki {
		writing-mode: vertical-rl;
	}
}

/* ■■■■■■■■■■■■■■■■■■■■■■header■■■■■■■■■■■■■■■■■■■■■■ */

.hd-band {
	color: var(--WHITE);
	background-color: var(--BLACK);
	text-align: center;
	font-size: var(--FZ_13);
	padding-block: 1em;
}

.hd-wrap {
	position: relative;
	width: var(--INNER_WIDTH);
	max-width: var(--MAX_WIDTH);
	margin-inline: auto;
	background-color: var(--WHITE);
	align-items: center;
}

.hd-logo {
	width: clamp( 140px, 16vw, 180px);
}

.hd-nav {
	flex: 1;
	gap: clamp(1em, 2vw, 2em);
	margin-left: 50px;
	align-items: center;

}

.hd-links {
	flex: 1;
	justify-content: space-between;
	gap: 10px;
	align-items: center;
}
.hd-links li a{
	font-size: clamp( 10px, 1.1vw, 13px);
}
.hd-icons{
	width: fit-content;
	margin-left: auto;
}

.hd-icons>li {
	width: 7em;
	font-size: var(--FZ_11_CONST);
}
.hd-icons>li.search-opener.open>a::after{
	content: '閉じる';
}
.hd-icons>li>a,
.hd-icons>li>span>a {
	border-left: var(--GRAY02_BORDER);
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	background-repeat: no-repeat;
	background-position: center 32%;
	background-size: 18px;
	padding-top: 33%;
	position: relative;
}

.hd-icons>li>a:after,
.hd-icons>li>span>a:after {
	content: attr(data-txt);
}

@media screen and (max-width: 1200px) {
	.hd-links {
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 5px 15px;
	}
	.hd-links li{
		line-height: 1;
	}
}

@media screen and (min-width: 768px) {
	#headerarea {
		position: sticky;
		top: 1em;
		left: 0;

		z-index: 99;
		margin-top: 20px;
	}

	.hd-wrap {
		justify-content: space-between;
		padding-inline: 21px;
		border-radius: var(--CIRCLE_BDRS);
		box-shadow: var(--COMMON_BXSD);
	}

}

@media screen and (max-width: 767px) {
	.hd-wrap {
		justify-content: center;
		padding-block: 1em;
	}
	.hd-logo{
		margin: 0 auto;
	}
}	

/* ■■■■■■■■■■■■■■■■■■■■■■footer■■■■■■■■■■■■■■■■■■■■■■ */
.hd-top {
	background-color: var(--GREEN02);
}


.ft-link {
	display: grid;
	grid-template-columns: repeat(var(--card_num), 1fr);
	flex: 1;
	height: fit-content;
}

.ft-link>li {
	height: fit-content;
}

.ft-link>li>a {
	color: var(--WHITE);
	padding-inline: 1em;
	display: block;
	padding-block: 1em;
}

.calendar:empty {
	width: 305px;
	background-color: var(--GRAY03);
	display: block;
	margin-inline: auto;
	min-height: 305px;
}

.calendar {
	margin-inline: auto;
}

.ft-btm__wrap {
	padding-block: 2em;
	gap: var(--MG_50);
}

.ft-logo {
	width: 185px;
}

.ft-sns {
	gap: var(--MG_50);
	justify-content: space-between;
}

.ft-sns li a{
	display: block;
	width: 100%;
	aspect-ratio: 1/1;
}
.ft-contact-hours dt{
	border: 1px solid var(--TXT_COLOR);
	line-height: 1;
}
.ft-contact-hours dd{
	line-height: 1;
}
.ft-contact{
	text-align: center;
}
.ft-contact a{
	display: block;
	background-color: var(--GREEN05);
	color: var(--WHITE) !important;
	border-radius: 70px;
	font-family: var(--FF_SERIF);
}
.ft-contact a span{
	display: inline-block;
	background: url(../images/top/icon_mail_wh.svg) no-repeat left center;
}
.ft-copy-area {
	background-color: var(--GREEN02);
}
.ft-copy{
	color: var(--WHITE);
	font-size: var(--FZ_12_CONST);
}
.ft-end-link{
	display: flex;
}
.ft-end-link li a{
	color: var(--WHITE);
	font-size: var(--FZ_12_CONST);
}
@media screen and (min-width: 1101px){
	.ft-link {
		--card_num: 4;
	}
	.ft-btm__wrap{
		justify-content: space-between;
	}
	.ft-copy-area .inner{
		justify-content: space-between;
	}
}
@media screen and (min-width: 768px) and (max-width: 1100px){
	.ft-link {
		--card_num: 3;
	}
	.ft-btm__wrap{
		flex-wrap: wrap;
		justify-content: center;
	}
}
@media screen and (max-width: 1100px){
	.ft-copy-area .inner{
		display: flex;
		justify-content: center;
		flex-direction: column-reverse;
	}
	.ft-end-link{
		justify-content: center;
		margin-bottom: 10px;
	}
	.ft-copy{
		text-align: center;
	}
}
@media screen and (min-width: 768px) {
	.ft-link {
		column-gap: var(--MG_60);
	}
	.ft-top__wrap{
		position: relative;

	}
	.ft-sns{
		position: absolute;
		bottom: 0;
		right: 0;
		width: 200px;
	}


	.ft-sns li a{
		width: 28px;
	}
	.ft-contact-area{
		width: fit-content;
	}
	.ft-contact-address{
		font-size: 12px;
	}
	.ft-btm__wrap {
		align-items: center;
		position: relative;
	}

	.ft-contact-hours{
		display: flex;
		align-items: center;
		margin-top: 10px;
	}

	.ft-contact-hours dt{
		font-size: 12px;
		padding: 3px 5px;
		margin-right: 8px;
	}

	.ft-contact-hours dd{
		margin-right: 30px;
		font-size: 14px;
	}

	.ft-link li a {
		font-size: 14px;
		border-bottom: var(--WHITE_BORDER);
	}
	.ft-contact{
		width: 250px;
	}
	.ft-contact a{
		font-size: 16px;
		padding: 12px 0;
	}
	.ft-contact a span{
    padding-left: 28px;
    background-size: 18px;
	}
	.ft-copy-area .inner{
		display: flex;
		flex-wrap: wrap;
		padding-block: 2em;
	}
	.ft-end-link{
		gap: 20px;
	}
	.ft-end-link li a{
		color: var(--WHITE);
	}
}

@media screen and (max-width: 767px) {
	.ft-link {
		--card_num: 2;
	}

	.ft-top__wrap,
	.ft-btm__wrap {
		flex-direction: column;
	}

	.ft-link>li:nth-child(n + 3)>a {
		border-top: var(--WHITE_BORDER);
	}

	.ft-logo {
		margin-inline: auto;
	}

	.ft-sns {
		justify-content: center;
	}

	#footerarea .hd-top{
		padding: 35px;
	}
	.ft-sns{
		gap: 30px;
	}
	.ft-sns li a{
		width: 28px;
	}
	.ft-contact-area{
		width: fit-content;
		margin: 0 auto;
	}
	.ft-contact-address{
		font-size: 13px;
	}
	.ft-contact-hours{
		display: grid;
    grid-template-columns: auto 1fr;
		margin-top: 10px;
		gap: 5px;
	}
	.ft-contact-hours dt{
		font-size: 12px;
		padding: 3px 5px;
		margin-right: 8px;
		text-align: center;
	}
	.ft-contact-hours dd{
		margin-right: 30px;
		font-size: 13px;
	}
	.ft-contact{
		width: 250px;
		margin: 0 auto;
	}
	.ft-contact a{
		font-size: 16px;
		padding: 12px 0;
	}
	.ft-contact a span{
    padding-left: 28px;
    background-size: 18px;
	}
	.ft-end-link{
		padding-top: 1em;
		justify-content: space-between;
	}
	.ft-end-link li a{
		font-size: 11px;
	}
	.ft-copy {
		padding-top: 1em;
		padding-bottom: calc(2em + 75px);
	}
}

/* ■■■■■■■■■■■■■■■■■■■■■■sp-menu■■■■■■■■■■■■■■■■■■■■■■ */
@media screen and (max-width: 767px){
	.sp-menu{
		width: 100%;
		bottom: 0;
		left: 0;
		position: fixed;
		z-index: 999;
		background-color: var(--GRAY01);
		display: flex;
	}
	.sp-menu li{
		flex: 1;
	}
	.sp-menu li:not(:last-child){
		border-right: 1px solid var(--WHITE);
	}
	.sp-menu li a{
		display: block;
		height: 64px;
		background-repeat: no-repeat;
		background-position: top 12px center;
		background-size: 24px;
		position: relative;
	}
	.sp-menu li a::after{
		content: attr(data-text);
		display: block;
		width: 100%;
		position: absolute;
		left: 0;
		bottom: 10px;
		text-align: center;
		color: var(--GREEN02);
		font-size: 10px;
	}
}

/* ■■■■■■■■■■■■■■■■■■■■■■全ページ共通部分■■■■■■■■■■■■■■■■■■■■■■ */
/* -----------------タブ切り替え共通css----------------- */
.tab-nav {
	display: flex;
}

.tab-btn {
	flex: 1;
}

.tab-contents {
	height: 0;
	overflow: hidden;
	opacity: 0;
}

.tab-contents.show {
	cursor: auto;
	height: auto;
	overflow: unset;
	opacity: 1;
	transition: .5s opacity;
}

@media screen and (min-width: 768px) {
	.tab-btn:hover {
		cursor: pointer;
	}

	.tab-btn.show {
		cursor: auto;
	}
}

/* -----------------ポップアップ共通css----------------- */
body.fixed {
	position: fixed;
	width: 100%;
	overflow: hidden;
}

.popup-overlay {
	display: none;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
}

.popup-overlay.fixed {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}

.popup-content {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: var(--WHITE);
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
}

.popup-overlay .popup-box {
	overflow-y: scroll;
}

.popup-overlay button.closePopup {
	position: absolute;
	aspect-ratio: 1/1;
	border-radius: 50%;
	border: 1px solid #fff;
	background-color: var(--TXT_COLOR);
	top: 0;
	right: 0;
	transform: translate(50%, -50%);
}

.popup-overlay button.closePopup::before {
	font-family: 'Font Awesome 5 Pro';
	font-weight: 500;
	content: '\f00d';
	display: block;
	line-height: 1;
	height: 1em;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
}

@media screen and (min-width: 768px) {
	.popup-overlay .popup-content {
		width: 95%;
		max-width: 900px;
	}

	.popup-overlay .popup-box {
		padding: 50px 30px;
		max-height: 90vh;
	}

	.popup-overlay button.closePopup {
		width: 40px;
	}

	.popup-overlay button.closePopup::before {
		font-size: 23px;
	}
}

@media (hover: hover) {
	.popup-overlay button.closePopup:hover {
		cursor: pointer;
	}
}

@media screen and (max-width: 767px) {
	.popup-overlay .popup-content {
		width: 90%;
	}

	.popup-overlay .popup-box {
		padding: 30px 15px;
		max-height: 80vh;
	}

	.popup-overlay button.closePopup::before {
		font-size: 23px;
	}

	.popup-overlay button.closePopup {
		width: 30px;
	}

	.popup-overlay button.closePopup::before {
		font-size: 18px;
	}
}

/* -----------------フューチャー調整CSS----------------- */
/* 内部の色設定 */
:root {
	--WISH_COLOR: var(--GREEN02);
	--FS_BTN_COLOR_1: var(--GREEN02);
	--FS_BTN_COLOR_2: var(--GREEN05);
	--REVIEW_COLOR: var(--RED02);
}

/* 内部幅設定 */
#wrapper {
	margin-left: auto;
	margin-right: auto;
	width: var(--INNER_WIDTH);
	max-width: var(--MAX_WIDTH);
	margin-bottom: var(--GENERALSEC);
}

#mainarea {
	flex: 1;
}

@media screen and (min-width: 1100px) {
	#sidearea {
		width: 240px;
		margin-right: 50px;
	}
}

@media screen and (min-width: 951px) and (max-width: 1100px) {
	#sidearea {
		width: 200px;
		margin-right: 30px;
	}
}

@media screen and (max-width: 950px) {
	#sidearea {
		display: none;
	}
}

@media screen and (min-width: 768px) {
	#wrapper>.flex {
		align-items: flex-start;
	}
}

/* カートカウント */
.fs-client-cart-count {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	aspect-ratio: 1/1;
	width: 20px;
	font-size: 11px;
	background-color: var(--RED01);
	color: var(--WHITE);
	border-radius: 50%;
	position: absolute;
	top: 16px;
	right: .5em;
	transform: translate(-50%, -50%);
}

/* 商品マークリセット */
.fs-c-productMarks {
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
	--BDRS: 3px;
}

.fs-c-productMark {
	gap: 5px;
}

.fs-c-productMark__mark {
	width: fit-content;
}

.fs-c-productMark li,
.fs-c-productMark>span,
.fs-c-productMarks>.fs-c-mark .fs-c-mark__label {
	margin: 0;
	font-size: var(--FZ_14);
	background-color: var(--WHITE);
	color: var(--TXT_COLOR);
	border-radius: var(--CIRCLE_BDRS);
	border: var(--GREEN02_BORDER);
}

.fs-c-productMark__mark,
.fs-c-productMarks>.fs-c-mark .fs-c-mark__label {
	display: inline-block;
	padding: 4px 8px 8px;
	line-height: 1;
}

.fs-c-productMark img {
	width: auto;
	height: 20px;
}

.fs-c-productMarks>.fs-c-mark {
	line-height: 1;
}

/* 1回のみ・定期 */
.fs-c-mark--normalAndSubscription .fs-c-mark__label {
	background-color: var(--BROWN02);
	color: var(--WHITE);
	border-radius: var(--BDRS);
}

/* 定期販売 */
.fs-c-mark--subscription .fs-c-mark__label {
	background-color: #D21341;
	color: var(--WHITE);
	border-radius: var(--BDRS);
}

/* 初回特別価格あり */
.fs-c-mark--firstTimeSpecialPrice .fs-c-mark__label {
	background-color: #FF506F;
	color: var(--WHITE);
	border-radius: var(--BDRS);
}

/* パンくずリセット  */
.fs-c-breadcrumb__list {
	padding: 0;
	margin-left: auto;
	margin-right: auto;
}

.fs-c-breadcrumb__list>li {
	box-sizing: border-box;
}

.fs-c-breadcrumb__listItem {
	display: inline-block;
	word-break: break-all;
}

.fs-c-breadcrumb__listItem+.fs-c-breadcrumb__listItem::before {
	content: " > ";
}

.fs-c-breadcrumb li,
.fs-c-breadcrumb li a {
	color: var(--TXT_COLOR);
}

.fs-c-breadcrumb li a {
	text-decoration: underline;
}

@media screen and (min-width: 768px) {
	.fs-c-breadcrumb {
		margin: 0 auto;
		margin: 20px auto 30px;
		font-size: 14px;
	}
	body:has(.ct-fv) .fs-c-breadcrumb{
		max-width: var(--MAX_WIDTH_S);
	}
}

@media screen and (max-width: 767px) {
	.fs-c-breadcrumb {
		font-size: 11px;
		overflow: hidden;
		position: relative;
		margin: 8px 0 20px 0;
	}

	.fs-c-breadcrumb::after {
		content: "";
		right: 0;
		width: 6.25rem;
		height: 100%;
		position: absolute;
		background: linear-gradient(270deg, #fff 21.11%, hsla(0, 0%, 100%, 0) 107.22%);
		z-index: 10;
		top: 0;
	}

	.fs-c-breadcrumb__list {
		white-space: nowrap;
		overflow: scroll;
		padding-right: 40px;
	}
}

/* レビュー */
.fs-c-reviewStars::before {
	color: var(--RED02);
}

/* ページャー */
.fs-c-listControl {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex-grow: 2;
	padding: 6px 15px 4px;
	margin: 10px 0 40px;
}

.wp-pagenavi {
	display: flex;
	justify-content: center;
}

#next>span.pages {
	display: block;
	text-align: center;
	margin-top: 10px;
}

.found-postContainer,
.fs-c-listControl__status {
	font-size: 16px;
	text-align: center;
	margin-bottom: 30px;
	padding-top: 1em;
}

.fs-c-pagination>*,
.wp-pagenavi>* {
	aspect-ratio: 1/1;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-weight: normal;
	border-radius: 50%;
}

.fs-c-pagination__item {
	padding: 0;
}

.fs-c-pagination__item.is-active,
.wp-pagenavi .current {
	background-color: var(--FS_BTN_COLOR_1);
	border: 1px solid var(--FS_BTN_COLOR_1);
	color: var(--WHITE);
}

.fs-c-pagination {
	font-weight: bold;
	align-items: center;
}

a.fs-c-pagination__item.fs-c-pagination__item--prev,
a.fs-c-pagination__item.fs-c-pagination__item--next,
#next a.previouspostslink,
#next a.nextpostslink {
	border: 1px solid var(--FS_BTN_COLOR_1);
	display: flex;
	justify-content: center;
	text-align: center;
	align-items: center;
	padding: 0;
	position: relative;
}

#next a.previouspostslink .navi-prev,
#next a.nextpostslink .navi-next {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.fs-c-pagination__item--prev::before,
.fs-c-pagination__item--next::before,
#next a.previouspostslink .navi-prev::before,
#next a.nextpostslink .navi-next::before {
	font-family: "Font Awesome 5 Pro" !important;
	font-weight: 400;
	display: inline-block;
	color: var(--BLACK);
	font-size: 16px;
	vertical-align: text-bottom;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.fs-c-pagination__item--prev::before,
#next a.previouspostslink .navi-prev::before {
	content: "\f104";
}

.fs-c-pagination__item--next::before,
#next a.nextpostslink .navi-next::before {
	content: "\f105";
}

@media screen and (min-width: 768px) {

	.fs-c-pagination,
	.wp-pagenavi {
		font-size: 18px;
		gap: 10px;
	}

	#next {
		margin: 70px auto 0;
	}

	.fs-c-pagination>*,
	.wp-pagenavi>* {
		width: 45px;
	}
}

@media (hover: hover) {
	.fs-c-pagination__item--next:hover {
		color: var(--WHITE);
	}
}

@media screen and (max-width: 767px) {

	.fs-c-pagination,
	.wp-pagenavi {
		font-size: 16px;
		gap: 10px;
	}

	#next {
		margin: 40px auto 0;
	}

	.fs-c-pagination>*,
	.wp-pagenavi>* {
		width: 34px;
	}
}


/* ------------------- 検索フォーム -------------------- */
.tp-searchForm {
	position: relative;
	max-width: 700px;
	width: 100%;
	margin-inline: auto;
	align-items: center;
	margin-bottom: .5em;
	border: 2px solid var(--GREEN02);
}

.tp-searchForm input[type=text] {
	width: 100%;
	background-color: initial;
	padding: 10px 10px 10px 0;
	display: flex;
	background-color: var(--WHITE);
}
.search-window .tp-searchForm input[type=text]{
	padding: 1em 3em 1em 1em;
}
.search-window .tp-searchForm>button[type="submit"]{
	right: 10px;
}

.tp-searchForm>button[type="submit"] {
	background-color: initial;
	cursor: pointer;
	width: 1.5em;
	position: absolute;
	top: 50%;
  transform: translateY(-50%);
	right: 0;
}

.hotword-wrap {
	max-width: 700px;
	width: 100%;
	margin-inline: auto;
	background-color: var(--GRAY01);
	padding: 1.25em;
	overflow-x: scroll;
}

.guide-wrap .hotword-wrap {
	margin-bottom: var(--MG_90);
	align-items: center;
}

.hotword-ttl {
	flex-shrink: 0;
}

.hotword-list {
	gap: 0.7em;
	flex-shrink: 0;
	align-items: center;
}
.hotword-list li a::before {
	content: "#";
}
.hotword-list li a {
	display: block;
	background-color: var(--GRAY02);
	padding: 0px 8px;
	border-radius: 15px;
}
@media screen and (min-width: 768px){
	.hotword-wrap::-webkit-scrollbar{
	height: 3px;
	}
	.hotword-wrap::-webkit-scrollbar-thumb{
	background-color: var(--GREEN03);
	}
	.hotword-wrap::-webkit-scrollbar-thumb:hover{
	cursor: grab;
	}
}
@media screen and (max-width: 767px){
	
}

/* ------------------- セクションパーツ -------------------- */


.sec-ttl::before {
	content: "";
	position: absolute;
	bottom: -6px;
	left: 0;
	width: 100%;
	height: 2px;
	background: var(--GREEN_GRADATION01);
}

.sec-ttl {
	display: flex;
	flex-wrap: wrap-reverse;
	align-items: end;
	position: relative;
	margin-bottom: calc(var(--FZ_36) / 1.5);
}

.sec-ttl .ja {
	font-size: var(--FZ_36);
	margin-right: .5em;
}

.sec-ttl .en {
	font-size: var(--FZ_18);
	flex-shrink: 0;
}

.sec-ttl.--lmgb {
	margin-bottom: var(--MG_50);
	padding-bottom: 0.5em;
}

.sec-subttl {
	font-size: var(--FZ_22);
	font-family: var(--FF_SERIF);
	background-color: var(--GREEN01);
	padding: .5em;
	margin-bottom: var(--MG_20);
}

@media screen and (min-width: 768px) {
	.sec-ttl .en{
		line-height: 2.5;
	}
}

@media screen and (max-width: 767px) {
	.sec-ttl .en{
		line-height: 1.5;
		color: var(--GREEN03);
	
	}
}

/* ------------------- ランキング -------------------- */
.ranking-tab .tab-nav {
	margin-bottom: 2em;
}

.ranking-tab .tab-btn {
	flex-grow: 0;
	flex-basis: auto;
	background-color: var(--GRAY02);
	padding-block: .5em;
	width: clamp(8em, 15vw, 15em);
	text-align: center;
	position: relative;
}

.ranking-tab .tab-btn.show {
	background-color: var(--GREEN02);
	color: var(--WHITE);
}

.ranking-tab .tab-btn.show::before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 10px solid transparent;
	border-top-color: var(--GREEN02);
}

.ranking-products .fs-c-productListItem__image__image {
	width: 100%;
}

.ranking-products .fs-c-productListItem__control,
.ranking-products .fs-c-productListCarousel__ctrl,
.ranking-products .fs-c-productPrice__main__label {
	display: none;
}

.ranking-products .fs-c-productPrice,
.ranking-products .fs-c-productPrice__main,
.ranking-products .fs-c-productListCarousel__list__itemTrack {
	display: flex;
}

.ranking-products .fs-c-productListCarousel__list__item {
	flex: 1;

}

.ranking-products .fs-c-productName__name {
	font-size: var(--FZ_13);
	font-family: var(--FF_SERIF);
	line-height: 1.6;
	margin-bottom: .5em;
	display: block;
}

.fs-c-productListCarousel .fs-c-productPrice {
	font-size: 20px;
}

.ranking-products .fs-c-productPrice__addon__label{
	margin-left: .5em;
	font-size: 11px;
}
span.fs-c-productPrice__addon__label {
	font-size: 11px;
}
.fs-c-featuredProduct__list .slick-slide .fs-c-productPrice__addon .fs-c-productPrice__addon__label:before,
.fs-c-featuredProduct__list .slick-slide .fs-c-productPrice__addon .fs-c-productPrice__addon__label:after{
	content: none !important;
}
.fs-c-featuredProduct .slick-list.draggable{
padding-left: calc((100% - var(--INNER_WIDTH)) / 2);
}

.ranking-products {
	counter-reset: ranking_num;
}

.ranking-tab .tab-contents {
	margin-inline: auto;
	max-width: var(--MAX_WIDTH);
}

.ranking-products .fs-c-productListItem__imageContainer {
	counter-increment: ranking_num;
	position: relative;
	color: var(--WHITE);
	font-weight: 500;
}

.ranking-products .fs-c-productListItem__imageContainer:after {
	content: counter(ranking_num);
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--BLACK);
	font-size: var(--FZ_20);
	display: block;
	aspect-ratio: 1 / 1;
	width: 3em;
	padding: 6px;
	clip-path: polygon(0 0, 100% 0, 0% 100%, 0 100%);
}

.ranking-products .slick-slide:nth-child(1) .fs-c-productListItem__imageContainer:after {
	background-color: var(--RANKING_1ST);
}

.ranking-products .slick-slide:nth-child(2) .fs-c-productListItem__imageContainer:after {
	background-color: var(--RANKING_2ND);
}

.ranking-products .slick-slide:nth-child(3) .fs-c-productListItem__imageContainer:after {
	background-color: var(--RANKING_3RD);
}

.ranking-products .fs-c-productListItem__imageContainer:before {
	content: "位";
	position: absolute;
	top: calc(var(--FZ_20) - 4px);
	left: calc(var(--FZ_20) - 2px);
	font-size: var(--FZ_12_CONST);
	z-index: 1;
}

.ranking-products .fs-c-productPrice{
	align-items: flex-end;
}
.ranking-products .fs-c-productPrice__main{
	font-weight: 400;
	line-height: 1.5;
}
@media screen and (min-width: 768px) {
	.ranking-tab .tab-contents {
		width: var(--INNER_WIDTH);
	}
	.fs-c-productListCarousel .slick-slide {
		margin-right: 20px;
		width: 224px;
	}
	.ranking-products .fs-c-productPrice__main{
		font-size: 20px;
	}
}

@media screen and (max-width: 767px) {
	.fs-c-productListCarousel .slick-slide {
		margin-right: 17px;
		width: 150px;
	}
	.ranking-products .slick-list{
		padding-left: calc((100% - var(--INNER_WIDTH)) / 2);
	}
	.ranking-products .fs-c-productPrice__main{
		font-size: 18px;
	}
}

.ranking-products .fs-c-productListCarousel__list{
	overflow-y: clip;
	overflow-x: visible;
}
.ranking-products.fs-c-productListCarousel{
	position: relative;
}
.ranking-products__arrow{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	aspect-ratio: 1/1;
	width: 30px;
	height: unset;
	color: var(--GREEN02);
	z-index: 2;
	font-size: 0;
	background-color: rgba(255, 255, 255, 0.5);
}
.ranking-products__arrow::before{
	font-family: 'Font Awesome 5 Pro';
	font-weight: 500;
	color: var(--GREEN02);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.ranking-products__arrow--next::before{
	content: '\f054';
}
.ranking-products__arrow--prev::before{
	content: '\f053';
}
@media (hover: hover){
	.ranking-products__arrow:hover{
		cursor: pointer;
	}
}
@media screen and (min-width: 768px){
	.ranking-products__arrow--next{
		right: -30px;
	}
	.ranking-products__arrow--prev{
		left: -30px;
	}
	.ranking-products__arrow::before{
		font-size: 15px;
	}
}
@media screen and (max-width: 767px){
	.ranking-products__arrow--next{
		right: 0;
	}
	.ranking-products__arrow--prev{
		left: 0;
	}
	.ranking-products__arrow::before{
		font-size: 12px;
	}
}

/* ------------------- ボタン -------------------- */
.g-btn>a {
	border: var(--BLACK_BORDER);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 300px;
	text-align: center;
	padding-block: 1em;
	font-size: var(--FZ_14);
	font-weight: 500;
	background-color: var(--WHITE);
}

.g-btn>a:after {
	font-family: 'Font Awesome 5 Pro';
	font-weight: 500;
	content: '\f054';
	margin-left: .5em;
	margin-top: .2em;
	font-size: .8em;
	display: block;
	line-height: 2;
}

.g-btn--m>a {
	font-size: var(--FZ_14);
	width: 100%;
	max-width: 200px;
	font-weight: 500;
	background-color: var(--WHITE);
	padding-block: .5em;
	border: var(--BLACK_BORDER);
	display: flex;
	align-items: center;
	justify-content: center;
}

.g-btn--s>a {
	font-size: var(--FZ_14);
	font-weight: 500;
	color: var(--GRAY03);
	text-decoration: underline;
}


.g-btn.--anchor>a:after {
	transform: rotate(90deg);
}

.g-btn.--center>a {
	margin-inline: auto;
}

.g-btn.--mgt100 {
	margin-top: var(--GENERALSEC);
}

.g-btn.--mgt50 {
	margin-top: var(--MG_50);
}

.g-btn.--mgt40 {
	margin-top: var(--MG_40);
}

.g-btn.--green>a {
	background-color: var(--GREEN02);
	color: var(--WHITE);
}
@media (hover: hover) {
	.g-btn--s>a {
		text-decoration: none;
	}
	.g-btn>a:hover{
		opacity: 1;
		background-color: var(--GREEN02);
		color: var(--WHITE);
	}
	.g-btn>a:after{
		transition: .5s;
	}
	.g-btn>a:hover::after{
		color: var(--WHITE);
	}

	.g-btn.--green>a:hover{
		opacity: 1;
		background-color: var(--WHITE);
		color: var(--GREEN02);
	}
	.g-btn.--green>a:hover::after{
		color: var(--GREEN02);
	}
}

/* ------------------- ユーテリティ -------------------- */
*.--hasGreen {
	background-color: var(--GREEN01);
}

span.inline {
	display: inline-block;
}

.g-marker {
	background: linear-gradient(transparent 50%, #fff799 50%);

}

@media screen and (min-width: 768px) {}

@media screen and (max-width: 767px) {}

/* ------------------- 選ぶ -------------------- */
.select-list {
	margin-bottom: var(--MG_50);
}


.select-ttl {
	font-size: var(--FZ_26);
	margin-bottom: .5em;
}

.select-colors {
	display: grid;
	grid-template-columns: repeat(var(--card_num), 1fr);
	gap: var(--MG_20);
}

.select-colors__ttl,
.select-category__ttl {
	margin-top: .5em;
}

.select-categories {
	display: grid;
	grid-template-columns: repeat(var(--card_num), 1fr);
	gap: var(--MG_30) var(--MG_20);
}

.select-bnrs {
	gap: var(--MG_20);
}

@media screen and (min-width: 768px) {
	.select-list>article+article {
		margin-top: var(--MG_50);
	}
	.select-colors {
		--card_num: 9;
	}

	.select-categories {
		--card_num: 4;
	}
}

@media screen and (max-width: 767px) {
	.select-list>article+article {
		margin-top: 40px;
	}
	.select-colors {
		--card_num: 3;
	}

	.select-categories {
		--card_num: 2;
	}

	.select-bnrs {
		flex-direction: column;
	}
}

/* ------------------- ギャラリー -------------------- */
.gallery-list {
	display: grid;
	grid-template-columns: repeat(var(--card_num), 1fr);
	gap: var(--MG_50) var(--MG_20);
}

.gallery-thumb img{
	aspect-ratio: 3/2;
	object-fit: cover;
}
.gallery-tags {
	display: flex;
	flex-wrap: wrap;
	gap: .5em;
}

.gallery-tags>li {
	flex-shrink: 0;
}

.gallery-tags>li>a {
	border: var(--GREEN02_BORDER);
	border-radius: var(--CIRCLE_BDRS);
	padding: .25em 1em;
	display: block;
	background-color: var(--WHITE);
}

.gallery-tags>li.--size>a {
	background-color: var(--GREEN02);
	color: var(--WHITE);
	pointer-events: none;
}

.gallery-about {
	margin-top: var(--MG_100);
}

.gallery-about__thumb img {
	height: 100%;
	object-fit: cover;
}

.gallery-about__contents {
	background-color: var(--GREEN01);
	padding: min(5vw, 65px) min(5vw, 50px) min(5vw, 40px);
}

.gallery-about__ttl {
	font-size: var(--FZ_36);
	margin-bottom: .5em;
}

.gallery-about__desc {
	line-height: 2;
}



@media screen and (min-width: 768px) {
	.gallery-list {
		--card_num: 4;
	}
	.gallery-contents{
		margin-block: 1em;
	}
	.gallery-list>article:nth-child(1),
	.gallery-list>article:nth-child(2) {
		grid-column: span 2;
	}

	.gallery-about__thumb,
	.gallery-about__contents {
		width: 50%;
	}
	.gallery-tags>li>a{
		font-size: 12px;
	}
}

@media screen and (max-width: 767px) {
	.gallery-list {
		--card_num: 1;
	}
	.gallery-tags{
		margin-top: 10px;
	}
	.gallery-about {
		flex-direction: column;
	}
	.gallery-contents{
		margin-top: 8px;
	}
	.gallery-list article:nth-of-type(n+3) .gallery-thumb{
		grid-row: span 2;
	}
	.gallery-list article:nth-of-type(n+3) .gallery-tags{
		gap: 5px;
	}
	.gallery-list article:nth-of-type(n+3) .gallery-tags li a{
		padding: 1px 6px;
		font-size: 10px;
	}
	.gallery-list article:nth-of-type(n+3) .gallery-contents{
		margin-top: 0;
	}
	.gallery-list article:nth-of-type(n+3) .gallery-contents a{
		font-size: 12px;
	}
	.gallery-list article:nth-of-type(n+5){
		display: none;
	}
	.gallery-tags>li>a{
		font-size: 11px;
	}
	.gallery-list{
		grid-template-columns: 1fr 1fr;
	}
}


/* ページトップ */
.page-top {
	position: fixed;
	z-index: 10;
	width: fit-content;
	margin-left: auto;
	height: 0;
}

.page-top>a {
	background-color: var(--BLACK);
	color: var(--WHITE) !important;
	width: clamp(35px, 5vw, 60px);
	aspect-ratio: 1/1;
	border-radius: 50%;
	display: block;
	transform: translateY(-100%);
	position: relative;
	border: 1px solid var(--WHITE);
}

.page-top>a:after {
	font-family: 'Font Awesome 5 Pro';
	font-weight: 500;
	content: '\f077';
	font-size: 1em;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

@media screen and (min-width: 768px) {
	.page-top {
		right: 2.5%;
		bottom: 20px;
	}


	body:has(.contact-info) .page-top>a {
		bottom: 100px;
	}
}

@media screen and (max-width: 767px) {
	.page-top {
		right: 2%;
		bottom: 68px;
	}


	body:has(.contact-info) .page-top>a {
		bottom: 80px;
	}
	body:has(.contact-info) #footerarea{
		padding-bottom: 60px;
	}
}

/* ------------------- フッターのガイド -------------------- */
.btm-sec {
	border-top: var(--GRAY02_BORDER);
}


.btm-list__thumb {
	width: 76px;
	margin-inline: auto;
}

.btm-list__thumb img {
	border-radius: 50%;
}

.btm-list__ttl {
	font-weight: 500;
	font-size: var(--FZ_20);
	margin-bottom: clamp(.5em, 1.5vw, 1em);
}

.btm-list__desc {
	font-size: var(--FZ_14);
	line-height: 2;
}

.btm-btns {
	margin-top: var(--MG_50_SPL);
	justify-content: center;
	align-items: center;
	gap: var(--MG_50);
}

.btm-btns>li {
	max-width: 300px;
	width: 100%;
}

@media screen and (min-width: 768px) {
	.btm-list{
		display: flex;
	}
	.btm-list>li {
		padding-inline: var(--MG_40);
		flex: 1;
	}

	.btm-list>li+li {
		border-left: var(--GRAY02_BORDER);
	}

	.btm-list__thumb {
		margin-bottom: var(--MG_20);
	}

	.btm-list__ttl {
		text-align: center;
	}
}

@media screen and (max-width: 767px) {
	.btm-list {
		display: grid;
		gap: var(--MG_40);
	}

	.btm-list>li {
		display: grid;
		grid-template-columns: 76px 1fr;
		column-gap: var(--MG_20);

	}

	.btm-list__thumb {
		grid-row: span 2;
		display: flex;
		align-items: center;
	}

	.btm-btns {
		flex-direction: column;
	}
}

/* ------------------- guide-sec -------------------- */
.guide-bnr {
	max-width: 590px;
	width: var(--INNER_WIDTH);
	margin-inline: auto;
	margin-top: var(--GENERALSEC);
}

.guide-bnr span {
	color: var(--GRAY03);
	text-decoration: underline;
	display: block;
	margin-top: var(--MG_30);
	text-align: center;
}
@media (hover: hover){
	.guide-bnr a:hover img{
		opacity: 1 !important;
	}
}

/* ------------------- カレンダー -------------------- */
/* カレンダー */
.calendar {
	background-color: var(--WHITE);
	color: var(--GRAY03);
	--SUN_COLOR: #E58A62;
	--SAT_COLOR: #6D98DD;
}

.monthName {
	text-align: center;
	background-color: var(--GRAY03);
	color: var(--WHITE);
	padding: 10px 0;
}

.TableInner {
	padding: 16px;
}

#calendarTable {
	width: 100%;
	border-collapse: collapse;
}

#calendarTable th {
	font-weight: 400;
}

#calendarTable tbody tr {
	display: flex;
}

#calendarTable tbody tr>* {
	flex: 1;
	text-align: center;
	font-size: 12px;
	padding: 3px 0;

}

#calendarTable tbody tr th {
	color: var(--DARK01);
}

#calendarTable tbody tr .youbi_0,
#calendarTable tbody tr td.public_holiday {
	color: var(--SUN_COLOR);
	background-color: var(--GRAY01);
}

#calendarTable tbody tr .youbi_6 {
	color: var(--SUN_COLOR);
	background-color: var(--GRAY01);
}

#calendarTable tbody tr.youbi .youbi_0,
#calendarTable tbody tr.youbi .youbi_6 {
	background-color: transparent;
}

.closed {
	color: var(--SUN_COLOR);
	background-color: var(--GRAY01);
}

.closed,
.kyugyobi {
	position: relative;

}

.closed::after,
.kyugyobi::after {
	content: "";
	display: inline-block;
	aspect-ratio: 1/1;
	width: 22px;
	position: absolute;
}

.closed::after {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.kyugyobi::after {
	left: -30px;
	background-color: var(--GRAY01);
}

.kyugyobi {
	color: var(--SUN_COLOR);
	width: fit-content;
	margin: 0 15px 15px auto;
}

.calender-caption {
	padding-top: 1em;
	font-size: 12px;
	width: clamp(220px, 25vw, 250px);
	margin-inline: auto;
}

@media screen and (min-width: 768px) {
	.calendar {
		width: clamp(220px, 25vw, 250px);
	}
}

@media screen and (max-width: 767px) {
	.calendar {
		width: 305px;
	}

	.calender-caption {
		margin-bottom: 40px;

	}
}

/* カレンダー打ち消し */
#calendarTable td,
#calendarTable th,
table#calendarTable {
	border: none;
}

/* おすすめ商品調整 */
.fs-c-featuredProduct__title {
	display: flex;
	flex-wrap: wrap-reverse;
	align-items: end;
	position: relative;
	margin-bottom: calc(var(--FZ_36) / 1.5);
	font-size: var(--FZ_36);
	gap: 0.5em;
	font-family: var(--FF_SERIF);

}

@media screen and (max-width: 767px) {
	.fs-c-featuredProduct__title {
		width: var(--INNER_WIDTH);
		margin-inline: auto;
	}
}

.fs-c-featuredProduct__title::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: var(--GREEN_GRADATION01);
}

.fs-c-featuredProduct__title:after {
	content: "RECOMMEND ITEMS";
	font-size: var(--FZ_18);
	flex-shrink: 0;
	font-family: var(--FF_BASE);
	line-height: 2.5;
}

/*
.fs-c-featuredProduct .fs-c-productPrice__main .fs-c-price__currencyMark {
	display: none;
}
*/



/* フッター用ランキング */
.btm-ranking-sec {
	padding-bottom: var(--MG_100);
}

.btm-ranking__wrap {
	margin-inline: auto;
	max-width: var(--MAX_WIDTH);
}

@media screen and (min-width: 768px) {
	.btm-ranking__wrap {
		width: var(--INNER_WIDTH);
	}
}

/* ヘッダー調整 */
@media screen and (min-width: 768px) {
	body:has(:is(.top-fv, .ct-fv)) #headerarea {
		margin-bottom: -20px;
		height: 0;
	}
}

/* 詳細検索 */

.search-opener>a {
	cursor: pointer;
}

.search-window {
	pointer-events: none;
	visibility: hidden;
	opacity: 0;
	z-index: -1;
	transition: .3s;
	background-color: var(--GREEN01);
	left: 50%;
	transform: translateX(-50%);
	padding: var(--MG_50);
	position: absolute;
}

.search-opener.open .search-window {
	pointer-events: auto;
	visibility: visible;
	opacity: 1;
	z-index: 999;
	max-width: 800px;
}


@media screen and (min-width: 768px) {
	.search-window {
		top: calc(100% + 10px);
		width: 80vw;
	}
}

@media screen and (max-width: 767px) {
	.search-window {
		bottom: 100%;
		width: 100vw;
	}
}

/* order-menu */
.order-menu {
  background-color: var(--GREEN02);
  position: fixed;
  left: 0;
  display: block;
  width: 100%;
  z-index: 9;
}
.order-menu__wrap{
  justify-content: space-between;
  align-items: center;
}
.order-tel > a{

  display: block;
}

.order-tel .sub {
  color: var(--WHITE);
  display: block;
  font-weight: 700;
  font-size: var(--FZ_14);
}

.order-tel .min {
  font-size: var(--FZ_50_SPS);
  font-weight: 700;
  color: var(--YELLOW01);
  line-height: 1;
  letter-spacing: .05em;
}


.order-menu__links > li > a{
  display: flex;
  font-size: var(--FZ_18_SPS);
  flex-direction: column;
  justify-content: center;

}

.order-menu__links .sub{
  font-size: var(--FZ_12_CONST);
  font-weight: 700;
  display: block;
  line-height: 1.4;
}
.order-menu__links .min{
  display: block;
  line-height: 1.2;
  width: max-content;
	font-weight: 500;
}
.order-menu__links > li > a{
  background-repeat: no-repeat;
}
@media screen and (min-width: 901px){


  .order-tel > a{
    padding-left: var(--FZ_50_SPS);
    background-size: calc(var(--FZ_50_SPS) * 0.8);
    background-repeat: no-repeat;
    background-position: left calc(100% - .25em);
  }
}
@media screen and (max-width: 900px){
  .order-menu {
    bottom: 0;
  }
  .order-menu__links .min > span,
  .order-menu__links .sub,
  .order-tel .sub > span{
    display: none;
  }
  .order-tel > a{
    background-image: none !important;
  }

  
}
@media screen and (min-width: 768px){
  .order-menu__links{
    gap: var(--MG_30);
  }
  .order-menu {
    bottom: 0;
  }

  .order-menu__links > li > a{
    padding-left: calc(2em + 38px);
    padding-right: 2em;
    border-radius: var(--CIRCLE_BDRS);
    background-color: var(--YELLOW01);
		background-size: 40px;
    background-position: 1.5em center;
    height: 3.5em;
  }
  .order-menu__wrap{
    width: var(--INNER_WIDTH);
    margin-inline:auto;
    max-width: var(--MAX_WIDTH);
  }
  .order-menu {
    padding-block: 10px;
  }
  .order-menu__links > li{
    flex: 1;
  }
}
@media screen and (max-width: 767px){
  .order-menu {
    bottom: 75px;
  }
  .order-tel{
    padding-left: 5%;
  }
  .order-menu__wrap{
    max-width: 375px;
    margin-inline:auto;
  }
  .order-menu__links > li > a{
    background-position: top 19px center;
		background-size: 20px;
    color: var(--YELLOW01);
    padding-inline: 5px;
    border-left: 1px solid var(--WHITE);
    min-height: 75px;
    justify-content: center;
    align-items: center;
    width: 8em;
    position: relative;
		z-index: 2;
    padding-top: 45%;
		font-size: 10px;
  }
	.order-menu__links > li{
		position: relative;
	}
	.order-menu__links > li::before{
		content: "";
		display: inline-block;
		background: var(--YELLOW01);
		border-radius: 50%;
		width: 33px;
		aspect-ratio: 1/1;
		z-index: -1;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: 11px;
	}
  .order-menu__links > li:last-child > a{
    border-right: 1px solid var(--WHITE);
  }
  .order-menu__links > li{
    flex-basis: 10em;
  }
}

/* contact-info */
.contact-info{
	position: fixed;
	left: 0;
	z-index: 99;
	width: 100%;
	background-color: var(--GREEN02);
}
.contact-info__icon{
	display: block;
	background: no-repeat center center / 100%;
	aspect-ratio: 1/1;
}
.contact-info__name strong{
	display: block;
}
@media screen and (min-width: 768px){
	.contact-info{
		gap: clamp( 20px, 3vw, 40px);
		justify-content: center;
		padding: 20px 0;
		bottom: 0;
		display: flex;
	}
	.contact-info li{
		width: clamp( 200px, 25vw, 300px);
	}
	.contact-info li a{
		background-color: var(--YELLOW01);
		border-radius: 70px;
		display: grid;
		grid-template-columns: clamp( 20px, 3vw, 40px) 1fr;
		align-items: center;
		gap: clamp( 10px, 1.2vw, 15px);
		height: clamp( 58px, 6vw, 68px);
		padding-left: clamp(20px, 2.5vw, 30px);
	}
	.contact-info__name{
		line-height: 1.5;
		font-family: var(--FF_SERIF);
		font-weight: 700;
	}
	.contact-info__name small{
		font-size: clamp( 10px, 1.1vw, 12px);
	}
	.contact-info__name strong{
		font-size: clamp( 14px, 1.6vw, 18px);
	}
}
@media screen and (max-width: 767px){
	.contact-info{
		bottom: 64px;
		display: grid;
		grid-template-columns: 10fr 10fr 5fr;
	}
	.contact-info li:not(:last-child){
		border-right: 1px solid var(--YELLOW01);
	}
	.contact-info__sp-txt-only{
		display: flex;
		align-items: center;
	}
	.contact-info a{
		display: block;
		width: 100%;
	}
	.contact-info__name{
		color: var(--YELLOW01);
		display: block;
		text-align: center;
	}

	.contact-info__sp-txt-only .contact-info__name small{
		font-size: 10px;
		font-weight: 500;
	}
	.contact-info__sp-txt-only .contact-info__name strong{
		font-size: 16px;
		line-height: 1.5;
		font-weight: 400;
	}
	.contact-info__sp-has-icon .contact-info__icon{
		background-color: var(--YELLOW01);
		border-radius: 50%;
		width: 37px;
		margin: 0 auto;
		background-size: 50%;
	}
	.contact-info__sp-has-icon a{
		padding: 7px 0 5px;
	}
	.contact-info__sp-has-icon .contact-info__name strong{
		font-size: 10px;
		font-weight: 400;
	}
}



.order_kind_flex {
  display: flex;
  justify-content: space-between;
  gap: clamp(25px, 5vw, 60px);
  margin-bottom: 50px;
	counter-reset: number;
}
.order_kind_point {
  background-color: #FFFFFF;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  min-height: 48px;
}
.order_kind_point::before {
  counter-increment: number;
  content: counter(number) " ";
  font-family: var(--font_serif);
  font-size: 1.714em;
  padding-right: .5em;
  color: #FFFFFF;
  background-color: #002C1B;
  padding: 3px 13px;
  margin-right: 10px;
  display: block;
  width: fit-content;
}
.order_kind_list h3 {
  font-size: 22px;
  margin-bottom: 8px;
  font-family: var(--FF_SERIF);
}
.order_kind_list {
  flex: 1;
  display: flex;
  flex-direction: column;
  display:flex;
  position: relative;
}
.order_kind_desc {
  font-size: 16px;
  margin-top: 10px;
}
.order_kind_desc span {
  font-weight: bold;
  text-decoration: underline;
}
.order_kind_attention {
  font-size: 12px;
}
@media screen and (max-width:767px) {
	.order_kind {
    padding: 60px 0 20px;
  }
  .order_kind_flex{
	  flex-direction: column;
  }
  .order_kind_list h3 {
	  font-size: 21px;
	  text-align: center;
	  margin-bottom: 12px;
  }
  .order_kind_desc{
	  font-size:14px;
  }
  .order_kind_point{
	  font-size:17px;
  }
}
@media screen and (min-width:768px) and (max-width:1122px) {
	.order_kind_point{
		min-height: 52px;
	}
}
@media screen and (min-width:768px) and (max-width:1180px) {
  .order_kind_list h3{
		min-height: 60px;
	}
}
.guide-sec .tp-searchForm {
	padding-left: 10px;
}
.guide-sec .tp-searchForm>button[type="submit"] {
	right: 10px;
}
@media screen and (min-width: 768px){
	.guide-sec.generalpd{
		padding: 80px 0 60px;
	}
}
@media screen and (max-width: 767px){
	.guide-sec.generalpd{
		padding: 60px 0 40px;
	}
	.fat-nav.sp .tp-searchForm{
		padding-left: 10px;
	}
	.fat-nav.sp .tp-searchForm>button[type="submit"] {
		right: 10px;
	}
	.sec-ttl .ja{
		line-height: 1.2;
	}
}

/* 20241018カテゴリページ追加 */
.pdt-series-list{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--MG_30) var(--MG_20);
}
.pdt-series-sec{
	background-color: #F3F5EA;
	margin-bottom: 60px;
}
.pdt-series-list__ttl{
	font-size: 15px;
}

.mtr-series-sec{
	background-color: #F3F5EA;
	margin: 0 auto 50px;
}
.color-aboutText{
	padding-top: 50px;
}
@media screen and (max-width: 767px){
	.pdt-series-sec{
		margin-bottom: 30px;
	}
	.pdt-series-list{
		grid-template-columns: repeat(2, 1fr);
	}
}

.p-category5-ttl{
	font-size: clamp(19px, 2.2vw, 22px);
	margin-bottom: clamp(50px, 8vw, 100px);
	text-align: center;
}
.thickness-size_banner{
	width: 80%;
	max-width: 600px;
	margin: 0 auto 50px 0;
}
.thickness-ft-contact{
	width:  340px;
}
.thickness-ft-contact a{
	border-radius: 27px;
	font-size: 20px;
	padding: 18px 0;
}
@media screen and (max-width: 768px){
	.thickness-size_banner{
			width: 100%;
			max-width: 500px;
	}
}
