@charset "utf-8";
/* リセット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: 'Noto Sans JP',"游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	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.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all  0.2s;
}
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 select{
	background-color: unset;
	color: var(--TXT_COLOR);
	-webkit-appearance: none;
	border-radius: 0;
	border: none;
}
/* CSS関数設定 */
:root{
	/* カラーパレット */
	--WHITE: #fff;
	--WHITE_OP90: rgba(255,255,255,0.9);
	--BLACK: #000;
	--GRAY01: #F0F0F0;
	--GRAY02: #D1D1D1;
	--GRAY03: #A7A7A7;
	--DARK01: #404040;
	--ORANGE01: #E58A62;
	--ORANGE01_OP70: rgba(229,138,98,0.7);
	--YELLOW01: #F6F1E8;
	--YELLOW01_OP70: rgba(246,241,232,0.7);
	--RANKING_1ST: #D8CD7E;
	--RANKING_2ND: #C9C9C9;
	--RAKNING_3RD: #DBBFAE;
	--RANKING_OTHER: #DDD5D0;
	/* テキストベースカラー */
	--TXT_COLOR: var(--DARK01);
	/* ボックス影 */
	--BXSD: 0px 0px 15px -5px #b5b5b5;
	/* 英数字フォント */
	--EN_FF: 'Montserrat', sans-serif;
	--NUM_FF: 'Roboto', sans-serif;
	/* フォトサイズ */
	--FZ12: 12px;
	--FZ14: 14px;
	--FZ16: 16px;
	--FZ18: 18px;
	/* アスペクト比 */
	--ASPECT_1_1: 1/1;
	--ASPECT_3_2: 3/2;
	/* マージン */
	--MG_20: clamp( 10px, 1.5vw, 20px);
	--MG_50: clamp( 20px, 3.5vw, 50px);
	--MG_150: 150px;
	/* グラデーション背景 */
	--GRADIENT01: linear-gradient(180deg, rgba(240,240,240,1) 77%, rgba(255,255,255,1) 100%);
		/* アニメーション */
		--ANIME_FADEIN: fadeIn .5s ease-in-out .6s forwards;
}
/* フォントCSS */
.mincho{
	font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
}
.mont{
	font-family: 'Montserrat', sans-serif;
}
/* imgリセット */
.imgauto{
	height: auto;
	width: 100%;
	box-sizing: unset;
	line-height: 1rem;
	display: block;
}
/* インナー設定 */
.inner,
.pc-inner,
.sp-inner{
	margin-left: auto;
	margin-right: auto;
}
/* セクション間隔*/
.generalmg{
	margin-bottom: var(--GENERALSEC);
}
.generalpd{
	padding: var(--GENERALSEC) 0;
}
/* グリッド、フレックス */
.grid{
	display: grid;
}
.flex{
	display: flex;
}
.fxw{
	display: flex;
	flex-wrap: wrap;
}
.aifs{
	align-items: flex-start;
}
.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;
}
a:hover{
	color: inherit;
}
@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@media screen and (min-width: 768px){
	html{
		scroll-padding-top: 80px;
	}
	body{
		font-size: 15px;
		line-height: 1.7;
		-ms-text-size-adjust: 100%;
		-webkit-text-size-adjust: 100%;
	}
	.form-reset button:hover,
	.form-reset input[type="button"]:hover,
	.form-reset input[type="submit"]:hover,
	.form-reset input[type="image"]:hover{
		cursor: pointer;
	}
	:root{
		--GENERALSEC: var(--MG_150);
		--INNER_WIDTH: 92%;
		--MAX_WIDTH: 1200px;
	}
	a:hover{
		opacity: 0.7;
		text-decoration: none;
	}
	a:hover img{
		opacity:0.75 !important;
	}
	a[href^="tel:"] {
		pointer-events: none;
	}
	.inner,
	.pc-inner{
		width: var(--INNER_WIDTH);
		max-width: var(--MAX_WIDTH);
	}
	.sp{
		display: none !important;
	}
	.max-wrapper{
    width: 100vw;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
		overflow: hidden;
  }
	.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 screen and (max-width: 767px){
	body{
		font-size: var(--FZ14);
		line-height: 1.6;
	}
	:root{
		--GENERALSEC: 60px;
		--INNER_WIDTH: 92%;
	}
	.inner,
	.sp-inner{
		width: var(--INNER_WIDTH);
	}
	.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-y-scroll.noscrollbar,
	.sp-x-scroll.noscrollbar{
		-ms-overflow-style: none;/* IE, Edge 対応 */
		scrollbar-width: none;/* Firefox 対応 */
	}
	.sp-y-scroll.noscrollbar::-webkit-scrollbar,
	.sp-x-scroll.noscrollbar::-webkit-scrollbar{/* Chrome, Safari 対応 */
		display: none;
	}
	.sp-pc-tategaki{
		writing-mode: vertical-rl;
	}
}
/* ■■■■■■■■■■■■■■■■■■■■■■header■■■■■■■■■■■■■■■■■■■■■■ */
/* ヘッダーお知らせ */
.h-notice{
	background-color: var(--DARK01);
}
.h-notice a,
.h-notice{
	display: block;
	color: var(--WHITE);
	letter-spacing: 0.05em;
}
@media screen and (min-width: 768px){
	.h-notice a,
	.h-notice{
		text-align: center;
		font-size: 15px;
		padding: 10px 0;
	}
}
@media screen and (max-width: 767px){
	.h-notice a,
	.h-notice {
		overflow: hidden;
		white-space: nowrap;
		font-size: var(--FZ12);
		padding: 5px 0;
	}
	.h-notice-inner {
		display: inline-block;
		white-space: nowrap;
		transform: translateX(30%); /* 初期位置を10%分右にずらす */
		animation: scrolling 15s linear infinite;
		animation-delay: -2s; /* アニメーションが1秒先から始まるように設定 */
	}
	@keyframes scrolling {
		0% {
			transform: translateX(100%);
		}
		100% {
			transform: translateX(-100%);
		}
	}
}
/* ヘッダー */
.fs-user{
	display: flex;
}
.fs-user li a{
	display: block;
	height: 100%;
	background-repeat: no-repeat;
	position: relative;
}
.fs-user li a::after{
	content: attr(data-txt)"";
	width: 100%;
	display: inline-block;
	text-align: center;
	color: var(--DARK01);
	white-space: nowrap;
}
.fs-user li a.cart{
	position: relative;
}
/* カートカウント */
.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(--ORANGE01);
	color: var(--WHITE);
	border-radius: 50%;
	position: absolute;
}
@media screen and (min-width: 768px){
	#headerarea{
		width: 100%;
		background-color: var(--WHITE);
		position: sticky;
		top: 0;
		left: 0;
		z-index: 99;
	}
	body.scroll #headerarea{
		box-shadow: var(--BXSD);
	}
	.h-inner{
		width: 95%;
		max-width: 1440px;
		margin: 0 auto;
		display: flex;
		align-items: center;
		padding: 20px 0;
		transition: .2s;
	}
	body.scroll .h-inner{
		padding: 15px 0;
	}
	.h-logo{
		width: clamp( 80px, 10vw, 115px);
	}
	.gnav{
		margin-left: clamp( 30px, 5vw, 65px);
	}
	.h-nav{
		display: flex;
		gap: clamp( 20px, 3vw, 40px);
	}
	.h-nav > li > p{
		transition: .2s;
	}
	.h-nav > li > p:hover{
		color: var(--ORANGE01);
	}
	.h-nav > li > a,
	.h-nav > li > p{
		font-size: clamp( 13px, 1.4vw, 16px);
		letter-spacing: 0.05em;
		vertical-align: text-bottom;
	}
	.h-nav > li > a:hover{
		opacity: 1;
		color: var(--ORANGE01);
	}
	.h-nav > li{
		position: relative;
	}
	.hvr-show{
		pointer-events: none;
		visibility: hidden;
		opacity: 0;
		z-index: -1;
		transition: .2s;
		padding-top: 44px;
		position: absolute;
		top: calc(100% - 6px);
		left: 50%;
		transform: translateX(-50%);
		width: 500px;
	}
	.h-nav > li:hover .hvr-show{
		pointer-events: auto;
		visibility: visible;
		opacity: 1;
		z-index: 99;
	}
	.hvr-contents{
		background-color: #fff;
	}
	.hvr-cat{
		background-color: var(--GRAY01);
		display: grid;
		grid-template-columns: repeat(2,1fr);
		padding: 15px;
		gap: 5px;
		position: relative;
	}
	.hvr-cat::before{
		content: "";
		display: inline-block;
		background-color: var(--GRAY01);
		clip-path: polygon(50% 35%, 0% 100%, 100% 100%);
		aspect-ratio: 1/1;
		width: 40px;
		position: absolute;
		bottom: 100%;
		left: 50%;
		transform: translateX(-50%);
	}
	.hvr-cat li.side{
		display: none;
	}
	.hvr-cat li a{
		display: flex;
		align-items: center;
		background-color: var(--WHITE);
		padding: 0 0 0 8px;
		font-size: 16px;
	}
	.hvr-cat li a:hover{
		opacity: 1;
		color: var(--ORANGE01);
	}
	.hvr-cat li a br{
		display: none;
	}
	.hvr-cat li a .icon{
		aspect-ratio: 1/1;
		width: 48px;
		mask-size: 80%;
    -webkit-mask-size: 80%;
    mask-position: left center;
    -webkit-mask-position: left center;
		mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    background-color: var(--GRAY03);
	}
	.h-user{
		margin-left: auto;
		gap: clamp( 10px, 1.5vw, 20px);
	}
	.h-user li{
		width: fit-content;
	}
	.h-user li a{
		background-size: 30px;
		background-position: top center;
		padding-top: 25px;
	}
	.h-user li a:hover{
		opacity: 1;
	}
	.h-user li a::after{
		font-size: clamp( 10px, 1vw, 12px);
		transition: .2s;
	}
	.h-user li a:hover::after{
		color: var(--ORANGE01);
	}
	.fs-client-cart-count{
		top: -10px;
		right: -5px;
	}
}
@media screen and (max-width: 767px){
	.h-inner{
		padding: 15px 0;
		background-color: #eee;
	}
	.h-logo{
		width: 80px;
		margin: 0 auto;
	}
	.h-user{
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 999;
		background-color: var(--WHITE);
	}
	.h-user li{
		flex: 1;
	}
	.h-user li a{
		background-size: 30px;
		background-position: top 10px center;
		padding-top: 40px;
	}
	.h-user.h-add li a{
		padding-top: calc(30px + 1em);
		background-position: top 13px center;
		background-size:28px;
	}
	.h-add  .hamburger__icon {
		top: 26px;
	}
	.h-user li a:hover{
		opacity: 1;
	}
	.h-user li a::after{
		font-size: 11px;
		transition: .2s;
	}
	.fs-client-cart-count{
		top: 5px;
		right: 20%;
	}
}

/* ■■■■■■■■■■■■■■■■■■■■■■footer■■■■■■■■■■■■■■■■■■■■■■ */

/* ガイド */

.guide-sec ul{
	display: grid;
}
.guide-sec h2{
	background-repeat: no-repeat;
	background-position: top center;
	text-align: center;
	font-weight: 500;
}
.guide-sec p{
	line-height: 2;
}
@media screen and (min-width: 768px){
	.guide-sec ul{
		grid-template-columns: repeat(3,1fr);
	}
	.guide-sec li{
		padding: var(--MG_50);
	}
	.guide-sec li:not(:last-child){
		border-right: 1px solid var(--GRAY02);
	}
	.guide-sec h2{
		padding-top: 80px;
		background-size: 70px;
		font-size: 20px;
		margin-bottom: 20px;
	}
	.guide-sec{
		padding: calc(var(--GENERALSEC) - 50px) 0;
	}
}
@media screen and (max-width: 767px){
	.guide-sec li a{
		display: flex;
		align-items: center;
	}
	.guide-sec li:not(:last-child){
		padding-bottom: 30px;
		border-bottom: 1px solid var(--GRAY02);
		margin-bottom: 30px;
	}
	.guide-sec h2{
		padding-top: 60px;
		background-size: 50px;
		font-size: 12px;
		margin-bottom: 20px;
		width: 100px;
		text-align: center;
	}
	.guide-sec li a p{
		flex: 1;
	}
	.guide-sec{
		padding: var(--GENERALSEC) 0;
	}
}
/* フッター */
#footerarea{
	background-color: var(--GRAY01);
}
.totop{
	aspect-ratio: 1/1;
	display: none;
}
body.scroll .totop{
	display: block;
	opacity: 0;
	animation: var(--ANIME_FADEIN);
}
.totop a{
	display: block;
	height: 100%;
	background: url(../images/common/toptop.svg) no-repeat center center / 100%;
}
.f-sns{
	background-color: var(--WHITE);
	display: flex;
	justify-content: center;
}
.f-sns li a{
	display: block;
	aspect-ratio: 1/1;
	height: 100%;
	mask-repeat: no-repeat;
	mask-position: center center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center center;
	background-color: var(--DARK01);
}
.f-copy{
	text-align: center;
}
@media screen and (min-width: 1050px){
	.f-nav{
		grid-template-columns: repeat(3,1fr);
	}
}
@media screen and (min-width: 768px) and (max-width: 1050px){
	.f-nav{
		grid-template-columns: repeat(2,1fr);
	}
	.f-nav ul{
		display: contents;
	}
}
@media screen and (min-width: 768px){
	.totop{
		width: 60px;
		position: fixed;
		bottom: 30px;
		right: 5%;
	}
	.f-logo{
		width: 120px;
		padding: 80px 0;
		margin: 0 auto;
	}
	.f-flex{
		display: flex;
		align-items: flex-start;
		gap: clamp( 40px, 6vw, 90px);
		padding-bottom: var(--GENERALSEC);
	}
	.fs-f-nav{
		flex: 1;
	}
	.f-nav{
		flex: 1;
		display: grid;
		column-gap: 20px;
		position: relative;
		top: -10px;
	}
	.f-nav li a{
		display: block;
		padding: 10px 0;
		border-bottom: 1px solid var(--WHITE);
	}
	.f-nav li a{
		font-size: clamp( 12px, 1.4vw, 15px);
	}
	.f-nav li a:hover{
		opacity: 1;
		color: var(--ORANGE01);
	}
	.f-sns{
		padding: 35px 0;
		gap: 30px;
	}
	.f-sns li{
		width: 50px;
	}
	.f-sns li a:hover{
		opacity: 1;
		background-color: var(--ORANGE01);
	}
	.f-copy{
		padding: 35px 0;
		font-size: 14px;
	}
}
@media screen and (max-width: 767px){
	.totop{
		width: 40px;
		position: fixed;
		bottom: 30px;
		right: 5%;
	}
	.f-logo{
		width: 120px;
		padding: var(--GENERALSEC) 0;
		margin: 0 auto;
	}
	.f-flex{
		display: flex;
		gap: clamp( 40px, 6vw, 90px);
		padding-bottom: var(--GENERALSEC);
	}
	.f-sns{
		padding: 20px 0;
		gap: 20px;
	}
	.f-sns li{
		width: 40px;
	}
	.f-copy{
		padding: 20px 0 90px;
		font-size: 12px;
	}
}



/* カレンダー */
.calendar{
	width: 300px;
	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: 14px;
	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);
}
#calendarTable tbody tr .youbi_6{
	color: var(--SAT_COLOR);
}
.closed,
.kyugyobi{
	position: relative;
	z-index: 0;
}
.closed::after,
.kyugyobi::after{
	content: "";
	display: inline-block;
	background-color: var(--GRAY01);
	aspect-ratio: 1/1;
	width: 22px;
	position: absolute;
	z-index: -1;
}
.closed::after{
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.kyugyobi::after{
	left: -30px;
	top: 2px;
}
.kyugyobi{
	color: var(--DARK01);
	width: fit-content;
	margin: 0 15px 15px auto;
}
@media screen and (max-width: 767px){
	.calendar{
		margin: 0 auto;
	}
}

/* ■■■■■■■■■■■■■■■■■■■■■■side■■■■■■■■■■■■■■■■■■■■■■ */
@media screen and (min-width: 768px){
	#sidearea{
		display: grid;
		gap: 30px;
	}
	#sidearea a:hover{
		color: var(--ORANGE01);
		opacity: 1;
	}
	.side-block{
		background-color: var(--YELLOW01_OP70);
		padding: 34px 20px;
	}
	.side-ttl{
		font-weight: bold;
		font-size: 16px;
		padding-bottom: 20px;
		border-bottom: 1px solid var(--GRAY03);
		margin-bottom: 12px;
	}
	.side-search-ttl{
		margin-bottom: 18px;
	}
	.side-search-ttl a{
		display: flex;
		align-items: center;
		gap: 2px;
		padding-bottom: 12px;
		border-bottom: 1px solid var(--GRAY03);
	}
	.side-search-ttl a .icon{
		display: inline-block;
		aspect-ratio: 1/1;
		width: 30px;
		mask-size: 100%;
    -webkit-mask-size: 100%;
    mask-position: center center;
    -webkit-mask-position: center center;
		mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
		background-color: var(--DARK01);
		transition: 0.2s;
	}
	.side-search-ttl a:hover .icon{
		background-color: var(--ORANGE01);
	}
	.side-search-ttl a .txt{
		font-size: 14px;
		font-weight: 700;
	}
	.side-menu:not(:last-child){
		padding-bottom: 30px;
		border-bottom: 1px solid var(--GRAY03);
		margin-bottom: 12px;
	}
	.side-menu{
		display: grid;
		gap: 10px;
	}
	.side-menu li a{
		font-size: 13px;
	}
	.side-menu li a br{
		display: none;
	}
	.side-bnr{
		display: grid;
		gap: 20px;
	}
	.side-bnr li img{
		border-radius: 5px;
	}
}

/* ■■■■■■■■■■■■■■■■■■■■■■フューチャー調整CSS■■■■■■■■■■■■■■■■■■■■■■ */
/* 内部の色設定 */
:root{
	--WISH_COLOR: #d13e3e;
	--FS_BTN_COLOR: var(--ORANGE01);
	--REVIEW_COLOR: var(--ORANGE01);
}
/* 内部幅設定 */
#wrapper{
	margin-left: auto;
	margin-right: auto;
	width: var(--INNER_WIDTH);
	max-width: var(--MAX_WIDTH);
}
#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-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: 11px;
/*
	background-color: var(--GRAY03);
	color: var(--WHITE);
*/
	border-radius: var(--BDRS);
}
.fs-c-productMark__mark,
.fs-c-productMarks > .fs-c-mark .fs-c-mark__label{
	display: inline-block;
	padding: 4px 8px 6px;
	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;
	max-width: var(--MAX_WIDTH);
	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;
		padding: 10px 0;
		font-size: var(--FZ14);
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 767px) {
	.fs-c-breadcrumb {
		padding: 8px 0 8px 8px;
		font-size: 11px;
		overflow: hidden;
		position: relative;
		margin-bottom: 20px;
	}
	.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-rating__value{
	color: var(--REVIEW_COLOR);
}
.fs-c-reviewStars::before{
	color: var(--REVIEW_COLOR);
}
/* fsとwpのページャー */
.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(--GRAY03);
	border: 1px solid var(--GRAY03); 
	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(--GRAY03);
	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(--GRAY03);
  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;
	}
	.fs-c-pagination__item--next:hover{
		color: var(--GRAY03);
	}
}
@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;
	}
}
/* レビュー表示 */
.productRating{
	margin: 8px 0 20px;
	display: flex;
	align-items: flex-end;
	align-items: center;
	flex-wrap: wrap;
}
.ratingcount-0{
	display: none;
}
.fs-c-rating{
	display: flex;
	align-items: center;
}
.fs-c-reviewStars::before{
	font-size: 17px;
}
.fs-c-rating__value{
	margin-left: 5px;
}
@media screen and (min-width: 768px){
	.fs-c-rating__value{
		font-size: 14px;
	}
	.review-amout{
		font-size: 15px;
	}
}
@media screen and (max-width: 767px){
	.fs-c-rating__value{
		font-size: 13px;
	}
	.fs-c-reviewStars{
		font-size: 12px;
	}
	.review-amout{
		font-size: 14px;
	}
}
/* aiレコメンドリセット */
.fs-p-heading--lv2,
.fr3-item__rankContainer{
	display: none !important;
}
.fr3-productListStatic{
	padding: 0 !important;
}
.fr3-item__productPrice__price{
	font-size: unset;
}
@media screen and (min-width: 768px){
	.fr3-item a:hover{
		color: var(--TXT_COLOR);
	}
}
/* ■■■■■■■■■■■■■■■■■■■■■■全ページ共通部分■■■■■■■■■■■■■■■■■■■■■■ */
/* -----------------タブ切り替え共通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: .2s 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);
}
/* -------------------トップ検索エリア-------------------- */
/* 検索フォーム */
.fs-search-form{
	position: relative;
}
.fs-search-form input[type="text"]{
	width: 100%;
	height: 50px;
	border: 1px solid var(--DARK01);
	background-color: var(--WHITE);
	border-radius: 5px;
	padding: 0 50px 0 20px;
	font-size: var(--FZ16);
}
.fs-search-form input[type="text"]::placeholder{
	color: var(--GRAY03);
}
.fs-search-form button{
	display: block;
	aspect-ratio: 1/1;
	background: url(../images/common/icon_top_search.svg) no-repeat center center / 100%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.top-search-hotword .ttl{
	background-color: var(--WHITE);
	letter-spacing: 0.05em;
}
.top-search-hotword .list{
	display: flex;
	flex-wrap: wrap;
}
.top-search-hotword .list li a{
	font-size: var(--FZ14);
	text-decoration: underline;
}
.top-search-hotword .list li a::before{
	content: '#';
}
.top-search-area .more-btn a span::after{
	content: '+';
}
@media screen and (min-width: 768px){
  .top-search-area{
		width: 95%;
		max-width: 833px;
		margin: 0 auto calc(var(--GENERALSEC) / 2);
	}
	.top-search-form-area{
		display: flex;
		align-items: stretch;
		gap: 30px;
		margin-bottom: 25px;
	}
	.top-search-form{
		flex: 1;
	}
	.top-search-form-area .more-btn{
		width: 200px;
		margin: 0;
	}
	.fs-search-form button{
		width: 40px;
		right: 10px;
	}
	.top-search-hotword{
		display: flex;
		align-items: flex-start;
		gap: 20px;
		max-width: 600px;
		margin-inline:auto;
	}
	.top-search-hotword .ttl{
		padding: 3px 15px;
		font-size: var(--FZ14);
		width: fit-content;
	}
	.top-search-hotword .list{
		flex: 1;
		gap: 10px;
	}
}
@media screen and (max-width: 767px){
	.top-search-area{
		display: grid;
		margin-bottom: 50px;
	}
	.top-search-form-area{
		display: contents;
	}
	.top-search-form{
		order: 1;
		margin-bottom: 20px;
	}
	.fs-search-form button{
		width: 40px;
		right: 10px;
	}
	.top-search-hotword{
		order: 2;
		display: flex;
		align-items: center;
		gap: 10px;
		margin-left: calc((100% - var(--INNER_WIDTH))/2);
	}
	.top-search-hotword .ttl{
		margin: 0 auto;
		padding: 3px 15px;
		font-size: var(--FZ12);
	}
	.top-search-hotword .list{
		flex: 1;
		gap: 20px;
		white-space: nowrap;
		overflow-x: scroll;
		display: block;
	}
	.top-search-hotword .list li{
		display: inline-block;
		margin-right: 12px;
	}
	.top-search-form-area .more-btn{
		order: 3;
	}
}
/* カテゴリーリンク */
.cat-search-sec h2{
	text-align: center;
	font-weight: 700;
}
.cat-search-sec .link li.side{
	display: none;
}
.cat-search-sec .link{
	display: grid;
	gap: calc(var(--MG_20) / 2);
}
.cat-search-sec .link a{
	display: flex;
	background-color: var(--WHITE);
}
.cat-search-sec .link span{
	display: inline-block;
}
.cat-search-sec .link .icon{
	aspect-ratio: 1/1;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	background-color: var(--GRAY03);
}
@media screen and (min-width: 1301px){
	.cat-search-sec .link{
		grid-template-columns: repeat(6,1fr);
	}
}
@media screen and (min-width: 1001px) and (max-width: 1300px){
	.cat-search-sec .link{
		grid-template-columns: repeat(5,1fr);
	}
}
@media screen and (min-width: 768px) and (max-width: 1000px){
	.cat-search-sec .link{
		grid-template-columns: repeat(4,1fr);
	}
}
@media screen and (min-width: 768px){
	.cat-search-sec h2{
		font-size: 20px;
		margin-bottom: var(--MG_50);
	}
	.cat-search-sec{
		margin-bottom: calc(var(--GENERALSEC) / 2);
	}
	.cat-search-sec .link a{
		flex-direction: column;
		align-items: center;
		aspect-ratio: 1/1;
		padding-top: 25%;
	}
	.cat-search-sec .link a:hover{
		opacity: 1;
		background-color: var(--ORANGE01_OP70);
	}
	.cat-search-sec .link span{
		transition: .2s;
	}
	.cat-search-sec .link .txt{
		font-size: var(--FZ14);
		margin-top: 5px;
		text-align: center;
	}
	.cat-search-sec .link .icon{
		width: 65px;
		mask-size: 100%;
		-webkit-mask-size: 100%;
		mask-position: center center;
		-webkit-mask-position: center center;
	}
	.cat-search-sec .link .icon.icon-w{
		width: 90px;
		height: 65px;
	}
	.cat-search-sec .link a:hover .icon{
		background-color: var(--WHITE);
	}
	.cat-search-sec .link a:hover .txt{
		color: var(--WHITE);
	}
}
@media screen and (max-width: 767px){
	.cat-search-sec h2{
		font-size: 18px;
		margin-bottom: var(--MG_50);
	}
	.cat-search-sec{
		margin-bottom: var(--GENERALSEC);
	}
	.cat-search-sec .link{
		grid-template-columns: repeat(2,1fr);
		gap: 10px;
	}
	.cat-search-sec .link a{
		padding: 0 5px;
	}
	.cat-search-sec .link .icon{
		width: 50px;
		mask-size: 80%;
		-webkit-mask-size: 80%;
		mask-position: left center;
		-webkit-mask-position: left center;
	}
	.cat-search-sec .link .txt{
		font-size: var(--FZ12);
		margin-top: 5px;
		display: flex;
		align-items: center;
	}
}

/* -------------------more-btn-------------------- */
.more-btn a{
	display: block;
	text-align: center;
	border: 1px solid var(--DARK01);
	background-color: var(--WHITE);
	letter-spacing: 0.2em;
	font-size: var(--FZ14);
	display: flex;
	align-items: center;
	justify-content: center;
}
.more-btn a span{
	position: relative;
	padding-right: 20px;
}
.more-btn a span::after{
	content: ">";
	font-size: var(--FZ12);
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
@media screen and (min-width: 768px){
	.more-btn{
		width: 300px;
		margin: 50px auto 0;
	}
  .more-btn a{
		height: 50px;
	}
	.more-btn a:hover{
		opacity: 1;
		background-color: var(--DARK01);
		color: var(--WHITE);
	}
}
@media screen and (max-width: 767px){
	.more-btn{
		width: fit-content;
		min-width: 200px;
		margin: 30px auto 0;
	}
  .more-btn a{
		padding-inline: 1em;
		height: 50px;
	}
}
/* -------------------AIレコメンド -------------------- */
.fr3-item__productPrice__price{
	font-family: var(--NUM_FF);
}
.ranking-sec .tab-btn{
	text-align: center;
	position: relative;
	color: var(--GRAY03);
}
.ranking-sec .tab-btn.show{
	color: var(--TXT_COLOR);
}
.flywheel-recommend__frame[data-frame-id^="ranking"] .fr3-productListStatic{
	counter-reset: original-counter;
}
.flywheel-recommend__frame[data-frame-id^="ranking"] .fr3-productListStatic article{
	position: relative;
}
.flywheel-recommend__frame[data-frame-id^="ranking"] .fr3-productListStatic article::before{
	content: ''counter(original-counter);
	counter-increment: original-counter;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-radius: 50%;
	aspect-ratio: 1/1;
	color: var(--WHITE);
	position: absolute;
	transform: translateY(-50%);
	z-index: 2;
}
.flywheel-recommend__frame[data-frame-id^="ranking"] .fr3-productListStatic article:nth-of-type(1):before{
	background-color: var(--RANKING_1ST);
}
.flywheel-recommend__frame[data-frame-id^="ranking"] .fr3-productListStatic article:nth-of-type(2):before{
	background-color: var(--RANKING_2ND);
}
.flywheel-recommend__frame[data-frame-id^="ranking"] .fr3-productListStatic article:nth-of-type(3):before{
	background-color: var(--RAKNING_3RD);
}
.flywheel-recommend__frame[data-frame-id^="ranking"] .fr3-productListStatic article:nth-of-type(n+4):before{
	background-color: var(--RANKING_OTHER);
}
.flywheel-recommend__frame[data-frame-id="history"] .fr3-productListStatic{
	display: block;
}
.flywheel-recommend__frame[data-frame-id="history"] .fr3-productListStatic .fr3-item__productName,
.flywheel-recommend__frame[data-frame-id="history"] .fr3-productListStatic .fr3-item__productPrice{
	display: none;
}
@media screen and (min-width: 768px){
	.flywheel-recommend__frame[data-frame-id="new_arrival"] .fr3-productListStatic,
	.flywheel-recommend__frame[data-frame-id="recommend"] .fr3-productListStatic,
	.flywheel-recommend__frame[data-frame-id^="ranking"] .fr3-productListStatic,
	.flywheel-recommend__frame[data-frame-id="freepage_history"] .fr3-productListStatic,
	.flywheel-recommend__frame[data-frame-id="classic_tops"] .fr3-productListStatic,
	.flywheel-recommend__frame[data-frame-id="classic_bottoms"] .fr3-productListStatic,
	.flywheel-recommend__frame[data-frame-id="classic_inner"] .fr3-productListStatic{
		gap: var(--MG_50) var(--MG_20);
	}
	.fr3-item__productName,
	.fr3-item__productPrice__addon{
		font-size: var(--FZ14);
	}
	.fr3-item__productPrice__value{
		font-size: var(--FZ16);
	}
	.ranking-sec .tab-nav{
		margin: var(--MG_50) 0;
	}
	.ranking-sec .tab-btn{
		font-size: 20px;
	}
	.ranking-sec .tab-btn.show{
		font-weight: 700;
	}
	.ranking-sec .tab-btn.show::after{
		content: "";
		display: inline-block;
		background: var(--DARK01);
		width: 100px;
		height: 1px;
		position: absolute;
		top: 100%;
		left: 50%;
		transform: translateX(-50%);
	}
	.flywheel-recommend__frame[data-frame-id^="ranking"] .fr3-productListStatic article::before{
		width: 40px;
		font-size: 18px;
		left: 10px;
	}
	.freepage-bottom-history-sec.pc-inner,
	.history-sec.pc-inner{
		width: calc(var(--INNER_WIDTH) + var(--MG_20));
		max-width: calc(var(--MAX_WIDTH) + var(--MG_20));
	}
	.freepage-bottom-history-sec .sec-ttl,
	.history-sec .sec-ttl{
		margin-left: calc(var(--MG_20) / 2);
	}
	.flywheel-recommend__frame[data-frame-id="history"] .fr3-productListStatic{
		opacity: 0;
		transition: opacity .3s linear;
	}
	.flywheel-recommend__frame[data-frame-id="history"] .fr3-productListStatic.slick-initialized{
		opacity: 1;
	}
	.flywheel-recommend__frame[data-frame-id="history"] .fr3-productListStatic .slick-slide{
		margin: 0 calc(var(--MG_20) / 2);
	}
	.history-arrow{
		aspect-ratio: 1/1;
		background: url(../images/common/slick-arrow.svg) no-repeat center center / 100%;
		position: absolute;
		top: 45%;
		z-index: 2;
		width: 20px;
	}
	.history-arrow:hover{
		cursor: pointer;
	}
	.history-arrow.prev{
		left: -20px;
		transform: rotate(180deg);
	}
	.history-arrow.next{
		right: -20px;
	}
	#rp-slider .slick-arrow{
		aspect-ratio: 1/1;
		background: url(../images/common/slick-arrow.svg) no-repeat center center / 100%;
		position: absolute;
		top: 45%;
		z-index: 2;
		width: 20px;
	}
	#rp-slider .slick-arrow:hover{
		cursor: pointer;
	}
	#rp-slider .slick-arrow.g-space__list__arrow--prev{
		left: -20px;
		transform: rotate(180deg);
	}
	#rp-slider .slick-arrow.g-space__list__arrow--next{
		right: -20px;
	}
}
@media screen and (max-width: 767px){
	.flywheel-recommend__frame[data-frame-id="new_arrival"] .fr3-productListStatic,
	.flywheel-recommend__frame[data-frame-id="recommend"] .fr3-productListStatic,
	.flywheel-recommend__frame[data-frame-id^="ranking"] .fr3-productListStatic,
	.flywheel-recommend__frame[data-frame-id="freepage_history"] .fr3-productListStatic,
	.flywheel-recommend__frame[data-frame-id="classic_tops"] .fr3-productListStatic,
	.flywheel-recommend__frame[data-frame-id="classic_bottoms"] .fr3-productListStatic,
	.flywheel-recommend__frame[data-frame-id="classic_inner"] .fr3-productListStatic{
		gap: 30px var(--MG_20);
	}
	.fr3-item__productName,
	.fr3-item__productPrice__addon{
		font-size: var(--FZ12);
	}
	.fr3-item__productPrice__value{
		font-size: var(--FZ14);
	}
	.ranking-sec .tab-nav{
		display: block;
		white-space: nowrap;
		padding-block: 30px;
	}
	.ranking-sec .tab-btn{
		display: inline-block;
		padding: 0 20px;
	}
	.ranking-sec .tab-btn:not(:last-child){
		border-right: 1px solid var(--DARK01);
	}
	.ranking-sec .tab-btn.show{
		font-weight: bold;
	}
	.flywheel-recommend__frame[data-frame-id^="ranking"] .fr3-productListStatic article::before{
		width: 30px;
		font-size: 12px;
		left: 5px;
	}
	.flywheel-recommend__frame[data-frame-id="history"] .fr3-productListStatic{
		display: flex;
		overflow-x: scroll;
		gap: 10px;
		overflow-y: auto;
		padding-left: calc((100% - var(--INNER_WIDTH)) / 2) !important;
		padding-right: calc((100% - var(--INNER_WIDTH)) / 2) !important;
	}
	.flywheel-recommend__frame[data-frame-id="history"] .fr3-productListStatic article{
		min-width: 130px;
		max-width: 130px;
	}
		#rp-slider .slick-arrow{
		aspect-ratio: 1/1;
		background: url(../images/common/slick-arrow.svg) no-repeat center center / 100%;
		position: absolute;
		top: 45%;
		z-index: 2;
		width: 20px;
	}
	#rp-slider .slick-arrow:hover{
		cursor: pointer;
	}
	#rp-slider .slick-arrow.g-space__list__arrow--prev{
		left: 19px;
		transform: rotate(180deg);
	}
	#rp-slider .slick-arrow.g-space__list__arrow--next{
		right: 19px;
	}
}
/* -------------------セクションタイトル-------------------- */
.sec-ttl{
	display: flex;
	align-items: flex-end;
	line-height: 1;
}
.sec-ttl.center{
	align-items: center;
	flex-direction: column;
}
@media screen and (min-width: 768px){
	.sec-ttl{
		gap: var(--MG_20);
		margin-bottom: 30px;
	}
  .sec-ttl .en{
		font-size: 36px;
	}
	.sec-ttl .ja{
		font-size: 18px;
	}
}
@media screen and (max-width: 767px){
	.sec-ttl{
		gap: 10px;
		margin-bottom: 20px;
	}
  .sec-ttl .en{
		font-size: 26px;
	}
}
/* -------------------トップ検索エリア-------------------- */
.top-intro-area{
  background: var(--GRADIENT01);
}
.top-intro-bnr{
  display: grid;
}
.top-intro-bnr li img{
	border-radius: 5px;
}
@media screen and (min-width: 768px){
  .top-intro-area{
    padding: 100px 0 var(--GENERALSEC);
  }
  .top-intro-bnr{
    grid-template-columns: repeat(2, 1fr);
    gap: var(--MG_50);
  }
}
@media screen and (max-width: 767px){
  .top-intro-area{
    padding: 20px 0 50px;
  }
  .top-intro-bnr{
    gap: var(--MG_20);
  }
}
/* ------------------ 商品バナー-------------------- */
.product-relation-bnr-area{
  background-color: var(--GRAY01);
}
.product-relation-bnr-area ul{
  display: grid;
}
@media screen and (min-width: 768px){
  .product-relation-bnr-area{
    padding: 40px 0;
  }
  .product-relation-bnr-area ul{
    grid-template-columns: repeat(2, 1fr);
    gap: var(--MG_50);
  }
}
@media screen and (max-width: 767px){
  .product-relation-bnr-area{
    padding: 30px 0;
  }
  .product-relation-bnr-area ul{
    gap: var(--MG_20);
  }
}
/* ------------------ 商品バナー追加・調整分-------------------- */

.product-relation-bnr-area--add ul{
  display: grid;
}
@media screen and (min-width: 768px){

  .product-relation-bnr-area--add ul{
    grid-template-columns: repeat(2, 1fr);
    gap: var(--MG_50);
  }
}
@media screen and (max-width: 767px){
  .product-relation-bnr-area--add ul{
    gap: var(--MG_20);
  }
}
/* -------------------検索ポップアップ-------------------- */
#popup-ad_search .popup-content{
	background-color: #fff;
	position: relative;
}
#popup-ad_search .popup-box{
	overflow-y: scroll;
}
#popup-ad_search button.closePopup{
	position: absolute;
	aspect-ratio: 1/1;
	border-radius: 50%;
	border: 1px solid #fff;
	background-color: var(--FS_BTN_COLOR);
	top: 0;
	right: 0;
	transform: translate(50%, -50%);
}
#popup-ad_search button.closePopup::before{
	font-family: "fs-icon" !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	content: "\e911";
	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-ad_search .popup-content{
		width: 95%;
		max-width: 900px;
	}
	#popup-ad_search .popup-box{
		padding: 50px 30px;
		max-height: 90vh;
	}
	#popup-ad_search button.closePopup{
		width: 40px;
	}
	#popup-ad_search button.closePopup::before{
		font-size: 23px;
	}
}
@media screen and (max-width: 767px){
	#popup-ad_search .popup-content{
		width: 90%;
	}
	#popup-ad_search .popup-box{
		padding: 30px 15px;
		max-height: 80vh;
	}
	#popup-ad_search button.closePopup::before{
		font-size: 23px;
	}
	#popup-ad_search button.closePopup{
		width: 30px;
	}
	#popup-ad_search button.closePopup::before{
		font-size: 18px;
	}
}
/* ------------------- -------------------- */
.freepage-cat-area{
  background-color: var(--GRAY01);
}
@media screen and (min-width: 768px){
  .freepage-cat-area{
    padding: calc(var(--GENERALSEC) - 50px) 0;
  }
}
@media screen and (max-width: 767px){
  .freepage-cat-area{
    padding: var(--GENERALSEC) 0;
  }
}

/* ------------------- 20231222追加 -------------------- */
@media screen and (min-width: 431px){
	.scrolldown{
		display: none;
	}
}
@media screen and (max-width: 430px){
  .scroll-wrap{
		position: relative;
	}

	.scrolldown {
		position: absolute;
		top: 0;
		right: 5%;
    display: flex;
    align-items: center;
    cursor: pointer;
		gap: 6px;
	}
	.scrolldown > *{
		order: 1;
	}


	.scrolldown .arrow{
		transform: rotate(-90deg);
	}
	.scrolldown .arrow:after{
		font-family: 'Font Awesome 5 Pro';
		font-weight: 500;
		content: '\f107';
		font-size: 16px;
	}
	.scrolldown .bar {
    display: block;
    width: 52px;
    height: 1px;
    position: relative; /* 追加: 相対位置指定 */
}

.scrolldown .bar:after {
    content: "";
    display: block;
    width: 52px;
    height: 100%;
    background-color: var(--BLACK);
    animation: pathmove 1.2s ease-in-out infinite;
    position: absolute; /* 追加: 絶対位置指定 */
    left: 0; /* 追加: 左端から開始 */
}

@keyframes pathmove {
    0% {
        left: 0;
        width: 0;
        opacity: 0;
    }
    30% {
        left: 0;
        width: 52px;
        opacity: 1;
    }
    70% {
        left: calc(100% - 52px); /* 追加: 右端に移動 */
        width: 52px;
        opacity: 1;
    }
    100% {
        left: 100%; /* 追加: 右端を超えて移動 */
        width: 0;
        opacity: 0;
    }
}


}
/* 検索ウィンドウ追加 */
/* ------------------- g-window -------------------- */
.g-opener{
  position: relative;
}
.g-opener > a,
.toggle-window > a{
  cursor: pointer;
}
.toggle-window > a{
	transition: none;
}
.g-window{
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  z-index: -1;
  transition: .3s;
}
.toggle-window.active .g-window{
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
  z-index: 999;
}
.h-user li.toggle-window{
	width: 3em;
	text-align: center;
}
.g-opener:hover .g-window{
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
  z-index: 999;
}
.search-window{
  position: absolute;
  top: calc(100% + 10px);
  max-width: 600px;
  width: 90vw;
  background: var(--GRAY01);
  padding: 20px;
  border-radius: 8px;
}
.h-user .top-search-hotword .list li a{
	background-size: auto;
	background-position: 0;
	padding-top: 0;
}
.h-user .top-search-hotword .list li a:after{
	content: none;
}
.add-search-form{
	margin-bottom: 25px;
}
@media screen and (min-width: 1001px){
	.toggle-window{
		position: relative;
	}
	.search-window{
		right: 0;
	}
}
@media screen and (max-width: 1000px){
	.search-window{
		right: 50%;
		transform: translateX(50%);
	}
}
@media screen and (max-width: 767px){
	.toggle-window{
		display: none;
	}
	.h-add.h-user {
		background-color: #c5bab4;
	}
	.h-add.fs-user li a::after{
		color: var(--WHITE);
	}
	.h-add li{
		position: relative;
	}
	.h-add li::before{
		content: "";
		width: 34px;
		height: 34px;
		border-radius: 50%;
		background-color: var(--WHITE);
		position: absolute;
		top: calc(50% - .8em);
		left: 50%;
		transform: translate(-50%, -50%);
	}

}
/* ------------------- クッキーポップアップ -------------------- */

#cookie-popup.popup-overlay{
	background-color: transparent;
}
#cookie-popup.popup-overlay .popup-box{
	overflow-y: auto;
}
#cookie-popup.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%);
}
#cookie-popup.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;
}
[data-popup-target="#cookie-popup"]{
	display: none;
}
@media screen and (min-width: 768px){
	#cookie-popup.popup-overlay .popup-content{
		width: 95%;
		max-width: 572px;
	}
	#cookie-popup.popup-overlay .popup-box{
		max-height: 90vh;
	}
	#cookie-popup.popup-overlay button.closePopup{
		width: 40px;
	}
	#cookie-popup.popup-overlay button.closePopup::before{
		font-size: 23px;
	}
}
@media screen and (max-width: 767px){
	#cookie-popup.popup-overlay .popup-content{
		width: 90%;
	}
	#cookie-popup.popup-overlay .popup-box{
		max-height: 80vh;
	}
	#cookie-popup.popup-overlay button.closePopup::before{
		font-size: 23px;
	}
	#cookie-popup.popup-overlay button.closePopup{
		width: 30px;
	}
	#cookie-popup.popup-overlay button.closePopup::before{
		font-size: 18px;
	}
}

/* フッター上部バナー調整 */
.footer-top-bnr {
  background: #fdf9f9;
}
.footer-top-bnr .top-intro-bnr{
  margin: 0 auto;
  width: var(--INNER_WIDTH);
  max-width: var(--MAX_WIDTH);
}
@media screen and (min-width: 768px){
	.footer-top-bnr {
	  padding: 40px 0;
	  background: #fdf9f9;
	}
}
@media screen and (max-width: 767px){
	.footer-top-bnr {
	  padding: 30px 0;
	  background: #fdf9f9;
	}
  
}
/* ------------------- -------------------- */
/* 2025.1.16 404ページ */
@media screen and (min-width: 768px){
	.not-found__searchArea.top-intro-area{
		background: var(--GRAY01);
		padding: 100px 0 1px;
		margin-bottom: 100px;
	}
}
@media screen and (max-width: 767px){
	.not-found__searchArea.top-intro-area{
		background: var(--GRAY01);
		padding: 20px 0 0px;
		margin-bottom: 30px;
	}
}
/* ヘッダー検索バー追加 */
@media screen and (min-width: 1220px){
	.header-serch-form-area.top-search-form-area{
		margin: 0 30px 0 auto !important;
		width: 300px !important;
	}
	/* .h-user{
		margin-left: 0 !important;
	} */
	.h-inner:has(.header-serch-form-area.top-search-form-area) .h-user {
		margin-left: 0 !important;
	}
}
@media screen and (max-width: 1219px){
	.header-serch-form-area.top-search-form-area{
		display: none;
	}
}
/* 訴求バナーエリア */
@media screen and (min-width: 768px){
	.recommend-bnr-sec{
		padding-top: 100px;
		background-color: var(--GRAY01);
	}
	.recommend-bnr-list{
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 20px;
		/* max-width: 900px;
		margin: 0 auto; */
	}
}
@media screen and (max-width: 767px){
	.recommend-bnr-sec{
		padding-top: 20px;
		background-color: var(--GRAY01);
	}
	.recommend-bnr-list{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}
	.recommend-bnr-list > *:first-child {
		grid-column: 1 / -1;
	}
	.recommend-bnr-list li:nth-child(6){
		display: none !important;
	}
	#fs_PageNotFound .cat-search-sec .link{
		padding-bottom: 40px;
	}
	#fs_PageNotFound .cat-search-sec{
		margin-bottom: 0;
	}
}
/* 検索窓 */
@media screen and (min-width: 1220px){
	.fs-user .serch-icon{
		display: none;
	}
}
/* SPフッター改修 検索アイコン追加 */
/* @media screen and (max-width: 767px){
  .serch-wrap{
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  z-index: -1;
  width: 100%;
  position: absolute;
  bottom: 100%;
  left: 0;
  padding: 20px 0;
  transition: .3s;
}
.serch-wrap.is-active {
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
  z-index: 999;
}
.ft-spMenu__label::after{
  content: attr(data-text);
  display: inline-block;
  text-align: center;
  color: var(--DARK01);
  white-space: nowrap;
  font-size: 11px;
  transition: .2s;
  width: 100%;
}
.serch-wrap{
  background-color: #fff;
}
.serch-wrap.is-active.ft-spMenu__search .ft-spMenu__labe::after{
  content: attr(data-active_text);
}
}
@media screen and (min-width: 768px){
  .serch-wrap{
    display: none;
  }
} */
 /* 商品詳細 おすすめ商品パーツ */
.fs-c-productListCarousel__list__itemTrack{
  display: grid;
  grid-template-columns: repeat(2,1fr);
	gap: var(--MG_50) var(--MG_20);
}
.fs-c-featuredProduct__list .fs-c-button--carousel:before{
	display: none;
}
.fs-c-featuredProduct__title{
	font-size: 18px;
	margin-bottom: 15px;
}
.fs-c-featuredProduct__title::before{
	content: "RECOMMEND";
}
.fs-c-featuredProduct .fs-c-productName__copy,
.fs-c-featuredProduct .fs-c-productMark{
	display: none;
}
.fs-c-featuredProduct .fs-c-productListItem__productName{
	padding-top: 8px;
	line-height: 1.6;
	display: flex;
	align-items: baseline;
}
.fs-c-featuredProduct .fs-c-productName__name{
	display: flex;
	align-items: baseline;
}
.fs-c-featuredProduct .fs-c-productPrice__main__price.fs-c-price{
	font-weight: 400;
}
.fs-c-featuredProduct .fs-c-productPrice__addon__label{
	font-size: 1.2rem;
	font-weight: 400;
}
.fs-c-featuredProduct .fs-c-productPrice__addon__label::before{
	content: "(";
}
.fs-c-featuredProduct .fs-c-productPrice__addon__label::after{
	content: ")";
}
.fs-c-featuredProduct .fs-c-productPrice__main__price.fs-c-price{
	display: flex;
	align-items: baseline;
}
.fs-c-featuredProduct .fs-c-productPrice__main__label{
	display: flex;
	align-items: baseline;
}
.fs-c-featuredProduct .fs-c-productPrice__main{
	display: flex;
	align-items: baseline;
}
.fs-c-featuredProduct .fs-c-productPrice.fs-c-productPrice--selling{
	display: flex;
	align-items: baseline;
	gap: 4px;
}
@media screen and (min-width: 600px){
	.fs-c-productListCarousel__list__itemTrack{
		grid-template-columns: repeat(3, 1fr);
	}
}
@media screen and (min-width: 768px){
	.fs-c-productListCarousel__list__itemTrack{
		grid-template-columns: repeat(4, 1fr);
	}
	.fs-c-featuredProduct__title::before{
		content: "RECOMMEND";
		font-size: 36px;
		padding-right: 20px;
	}
	.fs-c-featuredProduct .fs-c-price__value{
		font-size: var(--FZ16);
	}
	.fs-c-featuredProduct .fs-c-productName__name{
		font-size: 1.4rem;
	}
	.fs-c-featuredProduct .fs-c-productPrice__main__price.fs-c-price{
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 767px){
	.fs-c-featuredProduct .fs-c-featuredProduct__title{
		font-size: 14px;
	}
	.fs-c-featuredProduct .fs-c-price__value{
		font-size: var(--FZ14);
	}
	.fs-c-featuredProduct .fs-c-productPrice__addon__label{
		color: inherit;
		font-size: 1.0rem;
	}
	.fs-c-featuredProduct__title::before{
		font-size: 26px;
		padding-right: 10px;
	}
	.fs-c-featuredProduct .fs-c-productName__name{
		font-size: 12px;
	}
	.fs-c-featuredProduct .fs-c-productPrice__main__price.fs-c-price{
		font-size: 1.2rem;
	}
}

/* インスタ固定バナーおすすめ商品 */
.f-fixed_ig {
 position: fixed;
 left: 0;
}
.f-fixed_ig button {
 aspect-ratio: 1 / 1;
 background: url(https://www.span-official.com/asset2023/images/common/hide.svg) no-repeat;
 background-size: contain;
 position: absolute;
 z-index: 2;
}
@media screen and (min-width: 768px) {
 .f-fixed_ig button {
  width: 16px;
  top: -7px;
  right: -7px;
 }
 .f-fixed_ig {
  width: 65px;
  bottom: 10%;
 }
}
@media screen and (max-width: 767px) {
 .f-fixed_ig button {
  width: 14px;
  top: -5px;
  right: -5px;
 }
 .f-fixed_ig {
  width: 48px;
  bottom: 90px;
 }
}
#popup_ig.popup-overlay{
  display: none;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}
#popup_ig.popup-overlay.fixed{
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9998;
}
#popup_ig .popup-content{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--WHITE);
}
#popup_ig.popup-overlay .popup-box{
	overflow-y: scroll;
}
#popup_ig.popup-overlay button.closePopup{
	position: absolute;
	width: fit-content;
	display: flex;
	align-items: center;
	z-index: 999;
}
#popup_ig.popup-overlay button.closePopup::after{
	content: "";
	display: inline-block;
 background: url(https://www.span-official.com/asset2023/images/common/close.svg) no-repeat;
 background-size: contain;	aspect-ratio: 1/1;
}
@media screen and (min-width: 768px){
	#popup_ig h2.sec-ttl {
		margin-bottom: 40px;
	}
	#popup_ig .fr3-productListStatic {
		width: 90%;
		margin-inline: auto;
	}
	#popup_ig.popup-overlay .popup-content{
		width: 95%;
		max-width: 900px;
	}
	#popup_ig.popup-overlay .popup-box{
		padding: 50px 30px;
		max-height: 90vh;
	}
	#popup_ig.popup-overlay button.closePopup{
		top: 16px;
		right: 12px;
		font-size: 14px;
		gap: 10px;
	}
	#popup_ig.popup-overlay button.closePopup::after{
		width: 30px;
	}
}
@media (hover: hover){
	#popup_ig.popup-overlay button.closePopup:hover{
		cursor: pointer;
	}
}
@media screen and (max-width: 767px){
	#popup_ig h2.sec-ttl {
		margin-bottom: 30px;
	}
	#popup_ig h2.sec-ttl .en{
		font-size: 22px;
	}
	#popup_ig.popup-overlay .popup-content{
		width: 90%;
	}
	#popup_ig.popup-overlay .popup-box{
		padding: 30px 15px;
		max-height: 80vh;
	}
	#popup_ig.popup-overlay button.closePopup{
		top: 10px;
		right: 10px;
		font-size: 11px;
		gap: 3px;
	}
	#popup_ig.popup-overlay button.closePopup::after{
		width: 25px;
	}
}
