@charset "euc-jp";

/* reset */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,figure,footer,header,hgroup,menu,nav,section,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}article,aside,figure,footer,header,hgroup,nav,section{display:block;}img,object,embed{vertical-align: bottom;}html{overflow-y:scroll;}ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}del{text-decoration:line-through;}abbr[title],dfn[title]{border-bottom:1px dotted #000;cursor:help;}table{border-collapse:collapse;border-spacing:0;}th{font-weight:bold;vertical-align:bottom;}td{font-weight:inherit;vertical-align:top;}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0;}input,select{vertical-align:middle;}pre{white-space:pre;white-space:pre-wrap;white-space:pre-line;word-wrap:break-word;}input[type="radio"]{vertical-align:text-bottom;}input[type="checkbox"]{vertical-align:bottom;*vertical-align:baseline;}select,input,textarea{font:99% sans-serif;}table{font-size:inherit;font:100%;}a:hover,a:active{outline:none;}strong,th{font-weight:bold;}td,td img{vertical-align:top;}sub,sup{font-size:75%;line-height:0;position:relative;}sup{top:-0.5em;}sub{bottom:-0.25em;}pre,code,kbd,samp{font-family:monospace,sans-serif;}label,input[type=button],input[type=submit],button{cursor:pointer;}button,input,select,textarea{margin:0;}button{width:auto;overflow:visible;}[hidden]{display:none !important;}[disabled]{cursor:not-allowed;}:focus:not(:focus-visible){outline:none;}

/* clear */
.clear:before,.clear:after{content:"\0020";display:block;height:0;overflow:hidden;}.clear:after{clear:both;}.clear{zoom:1;}

/* base */

:root {
  --COL-WHT: #fff;
  --COL-WHT-rgb: 255, 255, 255;
  --COL-BLK: #000;
  --COL-BLK-rgb: 0, 0, 0;
  --COL-TXT: #42210b;
  --COL-TXT-rgb: 66, 33, 11;
  /* Gray */
  --COL-GRY: #999999;
  /* others */
  --COL-RED: #E0243B;
  --COL-PNK: #ed1e79;
  --COL-PNK-rgb: 237, 30, 121;
  --COL-BGE: #e8d6b5;
  --COL-BGE-rgb: 232, 214, 181;
  --COL-LBG: #FCF9F3;
  --COL-CML: #c29115;
  --COL-CML-rgb: 194, 145, 21;

  --FNT-base: "Zen Kaku Gothic New",'游ゴシック',YuGothic,'ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,sans-serif;
  --FNT-bold: "Zen Antique", serif;
  --WGT-L: 300;
  --WGT-R: 400;
  --WGT-M: 500;
  --WGT-D: 600;
  --WGT-B: 700;
}

html {
	height: 100vh;
    overflow: auto;
    line-height: 1;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
    position: relative;
    width: 100%;
    min-height: 100%;
    font-family: var(--FNT-base);
    font-weight: var(--WGT-M);
    font-style: normal;
    line-height: 1;
    color: var(--COL-TXT);
    background: url(https://img21.shop-pro.jp/PA01518/289/etc_base64/YmdfYm9keV8y.png?cmsp_timestamp=20250728105303) 0 0 repeat;
	background-size: 6px 6px;
}

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

	html { font-size: 1px; }

	@media ( max-width: 1280px ) { html { font-size: 0.078125vw; } }

	body {
		min-width:1280rem;
		height: 100vh;
		font-size: 16rem;
		letter-spacing: 0.05em;
	}

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

	html {
		font-size: .266666667vw;; /* base 375 */
		-webkit-font-smoothing: antialiased;
	}
	body{
		min-width: 375rem;
		min-height: 100vh;
		font-size: 14rem;
		letter-spacing: 0.05em;
	}

}

*,
*::before,
*::after {
	box-sizing: border-box;
}

p,li,dd,td {
	text-align: justify;
	text-justify: inter-ideograph;
}

h1,h2,h3,h4,h5{
    font-weight: var(--WGT-M);
}

img {
	max-width: 100%;
	height: auto;
}

button, input, select, textarea {
    font-family: inherit;
    font-size: 100%;
}

i {
    font-size: 0%;
}

a:link,
a:visited,
a:hover,
a:active{
    color: var(--COL-TXT);
	text-decoration: none;
	overflow-wrap: break-word;
}

a.textlink:link,
a.textlink:visited{
    color: var(--COL-TXT);
	text-decoration: underline;
	text-decoration-color: var(--COL-TXT);
}
a.textlink:hover,
a.textlink:active{
    color: rgba(var(--COL-TXT-rgb), 0.6);
}
a.alpha:link,
a.alpha:visited {
	transition-property: opacity;
	opacity: 1;
}
a.alpha:hover,
a.alpha:active {
	opacity: 0.6;
}
a.shadow{
	filter: drop-shadow(2px 3px 4px rgba(0,0,0,0));
	transition-property: all;
}
a.shadow:hover{
	filter: drop-shadow(2px 3px 6px rgba(0,0,0,0.5));
}

.hidden{
	height: 0px;
	font-size: 0%;
	line-height: 0%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	padding: 0;
	margin: 0;
}

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

	.br_sp,
	.text_sp,
	.block_sp{
		display:none;
	}
	.br_pc,
	.text_pc{
		display:inline;
	}
	.block_pc{
		display:block;
	}

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

	a,a > *,a::before,a::after,
	button,button::before,button::after {
	  transition-property: none;
	  transition-duration: .4s;
	  transition-timing-function: ease-in-out;
	}

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

	.br_sp,
	.text_sp{
		display:inline;
	}
	.block_sp{
		display:block;
	}
	.br_pc,
	.text_pc,
	.block_pc{
		display:none;
	}

}

/******************************************************
wrapper
******************************************************/

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

	.wrapper{
		width: 96%;
		max-width: 1360rem;
		margin: 0 auto;
	}

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

	.wrapper{
		width: 100%;
		padding-top: 56rem;
	}

}

/******************************************************
header
******************************************************/

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

	.header{
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 12rem;
		width: 100%;
		height: 161rem;
		padding-top: 32rem;
		background: url(https://img21.shop-pro.jp/PA01518/289/etc_base64/YmdfaGVhZGVy.png?cmsp_timestamp=20250728105303) 50% 20rem no-repeat;
		background-size: 1360rem auto;

		.logo{
			position: absolute;
			top: 32rem;
			left: 50%;
			transform: translateX(-50%);
			width: 226rem;
			height: 100rem;
		}

		.nav_members{
			display: flex;
			justify-content: flex-end;
			align-items: center;
			gap: 8rem;
			> li {
				> a{
					display: flex;
					justify-content: center;
					align-items: center;
					gap: 4rem;
					width: auto;
					height: 28rem;
					padding: 0 0.75em;
					font-size: 15rem;
					letter-spacing: 0;
					color: var(--COL-TXT);
					background-color: transparent;
					border-radius: 2rem;
					transition-property: color, background;
					&:hover{
						color: var(--COL-WHT);
						background-color: var(--COL-TXT);
					}
				}
			}
			> li.tenpo {
				display: none;
			}
			> li.view_cart {
				> a{
					color: var(--COL-WHT);
					background-color: var(--COL-TXT);
					border: solid 1rem var(--COL-TXT);
					svg{
						width: 18rem;
						height: 18rem;
						fill: var(--COL-WHT);
						transition-property: fill;
					}
					&:hover{
						color: var(--COL-TXT);
						background-color: var(--COL-WHT);
						svg{
							fill: var(--COL-TXT);
						}
					}
				}
			}
		}

		.btn_menu,
		.bg_menu{
			display: none;
		}

		.nav_contents{
			display: flex;
			justify-content: center;
			align-items: center;
			height: 88rem;
			> li {
				display: flex;
				justify-content: center;
				align-items: center;
				gap: 8rem;
				margin-left: -7rem;
				font-size: 17rem;
				&::before,
				&::after{
					display: block;
					width: 7rem;
					height: 7rem;
					content: "";
					background: url(https://img21.shop-pro.jp/PA01518/289/etc_base64/ZG90X2RpYV9wbms.png?cmsp_timestamp=20250728105303) 50% 50% no-repeat;
					background-size: contain;
				}
			}
			> li:nth-child(1){
				margin-left: -3em;
			}
			> li:nth-child(3){
				margin-left: 328rem;
			}
		}
	}

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

	.header{
		position: fixed;
		top: 0;
		left: 0;
		display: flex;
		align-items: center;
		width: 100%;
		height: 56rem;
		padding-left: 12rem;
		background-color: var(--COL-LBG);
		z-index: 500;

		.logo{
			width: 110rem;
			height: 42rem;
			> a{
				background-image: url(https://img21.shop-pro.jp/PA01518/289/etc_base64/bG9nb19zYWt1cmFzdG9hX3M.png?cmsp_timestamp=20250728105303);
			}
		}

		.nav_members{
			display: flex;
			justify-content: flex-end;
			align-items: center;
			flex-grow: 1;
			> li {
				> a{
					display: flex;
					flex-direction: column;
					justify-content: flex-end;
					align-items: center;
					gap: 3rem;
					width: 56rem;
					height: 56rem;
					padding: 9rem 0;
					font-family: var(--FNT-bold);
					font-size: 11rem;
					letter-spacing: 0;
					color: var(--COL-PNK);
					> svg{
						width: 24rem;
						height: 24rem;
						fill: var(--COL-PNK);
					}
				}
			}
			> li.register,
			> li.myaccount {
				display: none;
			}
		}

		.btn_menu{
			width: 56rem;
			height: 56rem;
			> a{
				display: flex;
				flex-direction: column;
				justify-content: flex-end;
				align-items: center;
				gap: 3rem;
				width: 100%;
				height: 100%;
				padding: 9rem 0;
				background-color: var(--COL-PNK);
				position: relative;
				transition: .35s ease-out;
				&::before,
				&::after{
					position: absolute;
					left: 0;
					right: 0;
					margin: auto;
					display: block;
					content: "";
					width: 24rem;
					height: 2rem;
					background-color: var(--COL-WHT);
					transition: .35s ease-in-out;
				}
				&::before{
					top: 16rem;
				}
				&::after{
					top: 24rem;
				}
				> span{
					font-family: var(--FNT-bold);
					font-size: 11rem;
					letter-spacing: 0;
					color: var(--COL-WHT);
				}
			}
		}
		.btn_menu.active{
			> a{
				&::before{
					transform: translateY(4rem) rotate(135deg);
				}
				&::after{
					transform: translateY(-4rem) rotate(-135deg);
				}
				> span{
					font-size: 0%;
					&::before{
						font-size: 11rem;
						content: "\009589\003058\00308b";
					}

				}
			}
		}

		/*body.fixed{
			position: fixed;
			width: 100%;
			height: 100%;
		}*/
		/*.bg_menu{
			position: fixed;
			left: 0;
			top: 0;
			width: 100vw;
			height: 100vh;
			background: var(--COL-BLK);
			opacity: 0;
			visibility: hidden;
			z-index: -1;
			transition: all 0.5s;
			cursor: pointer;
		}
		.btn_menu.active + .bg_menu{
			opacity: 0.6;
			visibility: visible;
		}*/

		.nav_contents{
			display: none;
		}
	}

}


/* logo *******************/
.logo > a{
	display: block;
	width: 100%;
	height: 100%;
	font-size: 0%;
	line-height: 0%;
	text-indent: 100%;
	letter-spacing: 0;
	white-space: nowrap;
	overflow: hidden;
	background: url("https://img21.shop-pro.jp/PA01518/289/etc_base64/bG9nb19zYWt1cmFzdG9h.png?cmsp_timestamp=20250728105303") 50% 50% no-repeat;
	background-size: contain;
}

/* PC nav_contents *******************/
@media screen and (min-width: 768px) {
	.nav_contents{
		> li {
			> a{
				display: flex;
				justify-content: center;
				align-items: center;
				width: auto;
				height: 1.5em;
				padding: 0 1em;
				font-family: var(--FNT-bold);
				color: var(--COL-PNK);
				background-color: transparent;
				border-radius: 999rem;
				transition-property: color, background;
				&:hover{
					color: var(--COL-WHT);
					background-color: var(--COL-PNK);
				}
				> svg{
					display: none;
				}
			}
		}
	}
}

/******************************************************
contents_wrap > side
******************************************************/

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

	.contents_wrap{
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
		align-items: stretch;
		padding-top: 56rem;

		.contents{
			width: calc(100% - 280rem - 5.88%);
			max-width: 1000rem;
		}

		.side{
			width: 280rem;
			> .global_nav{

				.nav_members{
					display: none;
				}
				
				> .nav_cats{
					> .nav_cat{
						> .label_list{
							display: flex;
							justify-content: flex-start;
							align-items: center;
							width: calc(100% + 4rem);
							height: 52rem;
							margin-right: -4rem;
							margin-bottom: 4rem;
							padding: 0 2em 6rem;
							font-size: 15rem;
							font-family: var(--FNT-bold);
							color: var(--COL-PNK);
							background: url(https://img21.shop-pro.jp/PA01518/289/etc_base64/YmdfbGFiZWxfc2lkZQ.png?cmsp_timestamp=20250728105303) 0 0 no-repeat;
							background-size: contain;
						}
						> .list_cat > li + li{
							border-top: dotted 1rem var(--COL-PNK);
						}
						> .list_cat > li > a{
							display: flex;
							justify-content: space-between;
							align-items: center;
							gap: 0.5em;
							min-height: 46rem;
							padding: 0.5em 1em;
							font-size: 15rem;
							line-height: 1.3;
							background-color: transparent;
							transition-property: background;
							> svg{
								width: 10rem;
								height: 10rem;
								fill: var(--COL-PNK);
							}
							&:hover{
								background-color: var(--COL-WHT);
							}
						}
					}
					> .nav_cat + .nav_cat{
						margin-top: 1.5em;
					}
				}
				> .nav_sns{
					display: none;
				}
				> .contact_tel{
					margin-top: 1.5em;
				}
			}
		}
	}

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

	.contents_wrap{

		.contents{
		}

		.side{
			position:fixed;
			top: 56rem;
			right: -100vw;
			width: 100vw;
			height: calc(100% - 56rem);
			background-color: var(--COL-WHT);
			overflow: hidden;
			z-index:400;
			transition: all 0.3s;
			
			> .global_nav{
				position: relative;
				overflow-y: auto;
				width: 100%;
				height: 100%;
				padding:0;

				.nav_members{
					display: flex;
					justify-content: space-between;
					gap: 15rem;
					padding: 24rem 32rem;
					> li{
						flex: 1;
						> a{
							display: flex;
							align-items: center;
							width: 100%;
							padding: 0.75em 0.5em;
							font-size: 14rem;
							background-color: var(--COL-BGE);
							> span{
								flex-grow: 1;
								text-align: center;
							}
							> svg{
								width: 10rem;
								height: 10rem;
								fill: var(--COL-TXT);
							}
						}
					} 
				}

				> .nav_cats{
					> .nav_cat{
						> .label_list{
							position: relative;
							display: flex;
							justify-content: flex-start;
							align-items: center;
							gap: 0.5em;
							height: 52rem;
							padding: 0.5em 32rem 0.5em 40rem;
							font-family: var(--FNT-bold);
							font-size: 16rem;
							color: var(--COL-PNK);
							background-color: rgba(var(--COL-PNK-rgb),0.2);
							&::before,
							&::after{
								position: absolute;
								top: 0;
								bottom: 0;
								right: 28rem;
								margin: auto;
								display: block;
								width: 20rem;
								height: 2rem;
								content: "";
								background-color: var(--COL-PNK);
							}
							&::before{
								transform: rotate(90deg);
								opacity: 1;
								transition: transform 0.3s;
							}
						}
						> .label_list.active{
							&::before{
								transform: rotate(360deg);
							}
						}
						> .list_cat{
							display: none;
							> li + li{
								border-top: dotted 1rem var(--COL-PNK);
							}
							> li {
								> a{
									display: flex;
									justify-content: space-between;
									align-items: center;
									gap: 0.5em;
									min-height: 46rem;
									padding: 0.5em 32rem 0.5em 40rem;
									font-size: 15rem;
									line-height: 1.3;
									> svg{
										width: 10rem;
										height: 10rem;
										fill: var(--COL-PNK);
									}
								}
							}
						}
					}
					> .nav_cat + .nav_cat{
						margin-top: 2rem;
					}
					> .nav_cat:first-child > .list_cat{
						display: block;
					}
					> .nav_cat:last-child > .list_cat > li:last-child{
						border-bottom: dotted 1rem var(--COL-PNK);
					}
				}
				> .nav_sns{
					justify-content: center;
					padding: 24rem 32rem 0;
				}
				> .contact_tel{
					padding: 24rem 32rem 40rem;
				}
			}
		}
		.side.active{
			right: 0;
		}
	}

}

/* SNS ******************/
.nav_sns{
	display: flex;
	align-items: center;
	gap: 20rem;
	> li > a > svg{
		width: 26rem;
		height: 26rem;
		fill: var(--COL-PNK);
	}
}

/* TEL ******************/
.contact_tel{
	> .btn_tel{
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0.75em;
		padding: 1.2em 0.5em;
		background-color: var(--COL-BGE);
		.tel_num{
			display: flex;
			justify-content: center;
			align-items: center;
			gap: 0.25em;
			font-family: var(--FNT-bold);
			font-size: 24rem;
			line-height: 1;
			color: var(--COL-TXT);
			> svg{
				width: 24rem;
				height: 24rem;
				fill: var(--COL-TXT);
			}
		}
		.tel_hour{
			padding: 1em 0 0;
			font-size: 12rem;
			line-height: 1.3;
			letter-spacing: 0;
			color: var(--COL-TXT);
			text-align: center;
			background: url(https://img21.shop-pro.jp/PA01518/289/etc_base64/ZG90X3Nhbmtha3VfYnJv.png?cmsp_timestamp=20250728105303) 0 0 repeat-x;
			background-size: 8rem auto;
		}
	}
	> .note_shipping{
		padding-top: 0.75em;
		font-size: 13rem;
		line-height: 1.3;
		letter-spacing: 0.03em;
		text-align: center;
	}
}

/******************************************************
contents_wrap > contents
******************************************************/

.contents{
	display: flex;
	flex-direction: column;
	align-items: stretch;
	line-height: 1.5;
	@media screen and (min-width: 768px) {
		gap: 80rem;
	}
	@media screen and (max-width: 767px) {
		gap: 56rem;
		> section{
			padding-right: 16rem;
			padding-left: 16rem;
		}
	}
}

/* .main ******************/
.main{
	position: relative;
	@media screen and (min-width: 768px) {
	
	}
	@media screen and (max-width: 767px) {
		> section{
			padding-right: 16rem;
			padding-left: 16rem;
		}
	}
}

.breadcrumb{
	line-height: 1.5;
	@media screen and (min-width: 768px) {
		/*position: absolute;
		bottom: 100%;
		left: 0;*/
		/*margin-top: -1.5em;*/
		padding-bottom: 0.1em;
	}
	@media screen and (max-width: 767px) {
		padding: 0.5em 0.75em;
	}
	
	> ul{
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		padding-bottom: 0.1em;
		color: rgba(var(--COL-TXT-rgb),0.8);
		a:link{
			color: rgba(var(--COL-TXT-rgb),0.8);
		}
		@media screen and (min-width: 768px) {
			font-size: 14rem;
			a{
				transition: color 0.3s;
				&:hover{
					color: rgba(var(--COL-TXT-rgb), 0.6);
					text-decoration: underline;
					text-decoration-color: rgba(var(--COL-TXT-rgb),0.6);
				}
			}
		}
		@media screen and (max-width: 767px) {
			font-size: 12rem;
		}
	}
}

/* header_contents **********/
.header_contents{
	display: flex;
	flex-direction: column;
	align-items: stretch;
	@media screen and (min-width: 768px) {
		gap: 24rem;
		padding-bottom: 20rem;
	}
	@media screen and (max-width: 767px) {
		gap: 12rem;
		padding-right: 8rem;
		padding-left: 8rem;
		padding-bottom: 16rem;
	}
	
	.label_contents{
		position: relative;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		width: 100%;
		min-height: 2.75em;
		padding: 0.5em 1.6em;
		font-family: var(--FNT-bold);
		color: var(--COL-WHT);
		&::before,
		&::after{
			position: absolute;
			top: 0;
			display: block;
			width: 60%;
			height: 100%;
			content: "";
			background-repeat: no-repeat;
			background-size: auto 100%;
			z-index: -1;
		}
		&::before{
			left: 0;
			background-image: url(https://img21.shop-pro.jp/PA01518/289/etc_base64/YmdfbGFiZWxfY29udGVudHM.png?cmsp_timestamp=20250728105303);
			background-position: 0 0;
		}
		&::after{
			right: 0;
			background-image: url(https://img21.shop-pro.jp/PA01518/289/etc_base64/YmdfbGFiZWxfY29udGVudHMy.png?cmsp_timestamp=20250728105303);
			background-position: 100% 0;
		}
		@media screen and (min-width: 768px) {
			font-size: 26rem;
			letter-spacing: 0.05em;
		}
		@media screen and (max-width: 767px) {
			font-size: 20rem;
			letter-spacing: 0.05em;
		}
	}
	.lead_contents{
		display: flex;
		flex-direction: column;
		align-items: stretch;
		padding-bottom: 2em;
		@media screen and (min-width: 768px) {
			gap: 20rem;
		}
		@media screen and (max-width: 767px) {
			gap: 10rem;
		}
	}
}

/* label_sakurastoa **********/
.label_sakurastoa{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 1.0em;
	font-family: var(--FNT-bold);
	color: var(--COL-PNK);
	background: url(https://img21.shop-pro.jp/PA01518/289/etc_base64/bGFiZWxfc2FrdXJhc3RvYQ.png?cmsp_timestamp=20250728105303) 50% 0 no-repeat;
	background-size: 3.5em auto;
	&::before,
	&::after{
		flex-grow: 1;
		display: block;
		height: 0.125em;
		content: "";
		background: url(https://img21.shop-pro.jp/PA01518/289/etc_base64/bGluZV9uYW1p.png?cmsp_timestamp=20250728105303) 0 0 repeat-x;
		background-size: contain;
	}
	@media screen and (min-width: 768px) {
		gap: 1.25em;
		font-size: 32rem;
		letter-spacing: 0.05em;
	}
	@media screen and (max-width: 767px) {
		gap: 0.75em;
		font-size: 24rem;
		letter-spacing: 0.05em;
	}
}

/* lable_s **********/
.lable_s{
	padding: 0.7em 0 1.5em;
	font-family: var(--FNT-bold);
	color: var(--COL-PNK);
	border-top: dotted 2rem var(--COL-PNK);
	@media screen and (min-width: 768px) {
		font-size: 20rem;
		letter-spacing: 0.05em;
	}
	@media screen and (max-width: 767px) {
		font-size: 18rem;
		letter-spacing: 0.05em;
	}
}
.section_recommend,
.section_history{
	> .lable_s{
		padding: 0.4em 0 1.2em;
		@media screen and (min-width: 768px) {
			font-size: 18rem;
		}
		@media screen and (max-width: 767px) {
			margin-left: -8rem;
			margin-right: -8rem;
			padding-left: 8rem;
			padding-right: 8rem;
			font-size: 16rem;
		}
	}
}

/* label_ss **********/
.label_ss{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 0.5em 0 1.0em;
	font-family: var(--FNT-bold);
	&::before{
		display: block;
		width: 1em;
		height: 0.5em;
		margin-left: 0.1em;
		margin-right: 0.5em;
		content: "";
		background: url(https://img21.shop-pro.jp/PA01518/289/etc_base64/ZG90X2RpYV9icm8.png?cmsp_timestamp=20250728105303) 0 50% repeat-x;
		background-size: contain;
	}
	@media screen and (min-width: 768px) {
		font-size: 18rem;
		letter-spacing: 0.05em;
	}
	@media screen and (max-width: 767px) {
		font-size: 16rem;
		letter-spacing: 0.05em;
	}
}

/* news_wrap **********/
.news_wrap{
	position: relative;
	background-color: rgba(var(--COL-WHT-rgb),0.9);
	border: solid rgba(var(--COL-PNK-rgb),0.9);
	&::before{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		display: block;
		content: "";
		border: solid 1rem rgba(var(--COL-PNK-rgb),0.8);
		z-index: 1;
	}
	> div, p, ul{
		position: relative;
		z-index: 10;
	}
	@media screen and (min-width: 768px) {
		padding: 2.25em 3em;
		border-width: 4rem;
		&::before{
			width: calc(100% - 8rem);
			height: calc(100% - 8rem);
		}
	}
	@media screen and (max-width: 767px) {
		padding: 1.75em 1.5em;
		border-width: 3rem;
		&::before{
			width: calc(100% - 6rem);
			height: calc(100% - 6rem);
		}
	}
}

/* list_news **********/
.list_news{
	> li{
		display: flex;
		
		@media screen and (min-width: 768px) {
			justify-content: flex-start;
			align-items: flex-start;
			gap: 2em;
			> a.label{
				transition: color 0.3s;
				&:hover{
					color: rgba(var(--COL-TXT-rgb), 0.6);
					text-decoration: underline;
					text-decoration-color: rgba(var(--COL-TXT-rgb),0.6);
				}
			}
		}
		@media screen and (max-width: 767px) {
			flex-direction: column;
			align-items: flex-start;
			gap: 0.25em;
		}
	}
	> li + li{
		margin-top: 1em;
		padding-top: 1em;
		border-top: dotted 2rem var(--COL-PNK);
	}
}

/* list_info **********/
.list_info > dl{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	padding: 0.75em 0.5em;
	border-bottom: solid 1rem var(--COL-PNK);
	> dt{
		width: 6em;
		padding-right: 0.5em;
		font-weight: var(--WGT-M);
		color: var(--COL-PNK);
	}
	> dd{
		width: calc(100% - 6em);
	}
}

/* list_sk **********/
.list_sk > dl{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	border-bottom: solid 1rem rgba(var(--COL-TXT-rgb), 0.4);
	@media screen and (min-width: 768px) {
	}
	@media screen and (max-width: 767px) {
	}
	> dt{
		font-weight: var(--WGT-M);
		line-height: 1.5;
		text-align: left;
		padding: 1.5em 1em 1.5em 0;
		border-top: solid 1rem rgba(var(--COL-TXT-rgb), 0.4);
		@media screen and (min-width: 768px) {
			width: 16em;
			padding-left: 1em;
		}
		@media screen and (max-width: 767px) {
			width: 8em;
		}
	}
	> dd{
		text-align: left;
		line-height: 1.5;
		margin-left: 0;
		padding: 1.5em 0;
		border-top: solid 1rem rgba(var(--COL-TXT-rgb), 0.4);
		@media screen and (min-width: 768px) {
			width: calc(100% - 16em);
			padding-right: 1em;
			a{
				transition: color 0.3s;
				&:hover{
					color: rgba(var(--COL-TXT-rgb), 0.6);
					text-decoration: underline;
					text-decoration-color: rgba(var(--COL-TXT-rgb),0.6);
				}
			}
		}
		@media screen and (max-width: 767px) {
			width: calc(100% - 8em);
		}
	}
}

/******************************************************
list_product
******************************************************/

.list_product{
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;

	@media screen and (min-width: 768px) {
		gap: 14rem 1.4%;
		.item{
			width: 32.4%;
		}
	}
	@media screen and (max-width: 767px) {
		gap: 7rem 1.8%;
		.item{
			width: 49.1%;
		}
	}

	.item{
		> a{
			display: flex;
			flex-direction: column;
			align-items: stretch;
			gap: 0.8em;
			width: 100%;
			height: 100%;
			padding: 5.556%;
			background-color: var(--COL-BGE);
			transition-property: background;
			> .item_img{
				position: relative;
				width: 100%;
				padding-top: 75%;
				background-color: var(--COL-WHT);
				filter: drop-shadow(1px 1px 2px rgba(var(--COL-BLK-rgb),0.05));
				> img{
					position: absolute;
					top: 50%;
					left: 50%;
					transform: translate(-50%, -50%);
					@media screen and (min-width: 768px) {
						width: calc(100% - 0.75em);
						height: calc(100% - 0.75em);
					}
					@media screen and (max-width: 767px) {
						width: calc(100% - 0.5em);
						height: calc(100% - 0.5em);
					}
					object-fit: cover;
				}
			}
			> .item_txt{
				flex-grow: 1;
				display: flex;
				flex-direction: column;
				align-items: stretch;
				gap: 0.3em;
				padding-bottom: 0.25em;
				line-height: 1.5;
				> .label{
					letter-spacing: 0;
				}
				> .expl{
					letter-spacing: 0;
				}
				> .price{
					flex-grow: 1;
					display: flex;
					flex-direction: column;
					justify-content: flex-end;
					align-items: flex-start;
				}
				@media screen and (min-width: 768px) {
					> .label{
						font-size: 17rem;
					}
					> .expl{
						font-size: 14rem;
					}
					> .price{
						font-size: 16rem;
					}
				}
				@media screen and (max-width: 767px) {
					> .label{
						font-size: 13rem;
					}
					> .expl{
						font-size: 12rem;
					}
					> .price{
						font-size: 12rem;
					}
				}
			}
			@media screen and (min-width: 768px) {
				&:hover{
					/*background-color: rgba(var(--COL-WHT-rgb),0.6);*/
					background-color: rgba(var(--COL-BGE-rgb),0.4);
					> .item_img{
						filter: drop-shadow(1px 1px 2px rgba(var(--COL-BLK-rgb),0.2));
					}
				}
			}
		}
	}

}

.list_product.list_rank{
	
	.item > a{
		position: relative;
		.label_rank{
			position: absolute;
			top: 0.5em;
			left: 0.1em;
			display: flex;
			justify-content: center;
			align-items: center;
			width: 3.5em;
			height: 2.6em;
			padding: 0 0.2em 0.2em 0;
			font-family: var(--FNT-bold);
			letter-spacing: 0;
			line-height: 1;
			color: var(--COL-WHT);
			background: url(https://img21.shop-pro.jp/PA01518/289/etc_base64/YmdfaWNuX3Jhbms.png?cmsp_timestamp=20250728105303) 50% 50% no-repeat;
			background-size: contain;
			z-index: 100;
			@media screen and (min-width: 768px) {
				font-size: 24rem;
			}
			@media screen and (max-width: 767px) {
				font-size: 19rem;
			}
		}
		> .item_txt{
			padding-left: 0.4em;
			> .price{
				justify-content: flex-start;
			}
 		}
	} 
}

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

	.list_product.list_rank{
		/*background-color: var(--COL-BGE);*/
		.item{
			/*margin-left: 1rem;
			margin-right: 1rem;*/
			> a {
				padding-top: 40rem;
				padding-bottom: 24rem;
				> .item_txt {
					> .label{
						font-size: 15rem;
					}
					> .expl{
						font-size: 13rem;
					}
					> .price{
						font-size: 15rem;
					}
				}
			}		
		} 
	}

	.list_product.list_s{
		gap: 4rem 0.4%;
		.item{
			width: 16.3333%;
			> a {
				> .item_img{
					> img{
						width: calc(100% - 0.5em);
						height: calc(100% - 0.5em);
					}
				}
				> .item_txt {
					letter-spacing: 0;
					> .label{
						font-size: 13rem;
					}
					> .expl{
						font-size: 12rem;
					}
					> .price{
						font-size: 12rem;
					}
				}
			}		
		}
	}

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

	section .list_product{
		margin-left: -8rem;
		margin-right: -8rem;
	}
	section .list_product.list_slide{
		margin-left: -16rem;
		margin-right: -16rem;
	}
	
	.list_product.list_slide{
		/*background-color: var(--COL-BGE);*/
		.item{
			width: 176rem;
			> a {
				padding-top: 32rem;
				padding-bottom: 24rem;
			}
		}
	}

}

.slick-track {
    display: flex !important;
    align-items: stretch;
}
.slick-slide {
    height: auto !important;
}

/* nav_list **********/
.nav_list{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 1em;
	.list_sort a:link{
		color: rgba(var(--COL-TXT-rgb),0.7);
		transition: color 0.3s;
	}
	.list_sort a:hover{
		color: rgba(var(--COL-TXT-rgb),1);
		text-decoration: underline;
		text-decoration-color: rgba(var(--COL-TXT-rgb),0.6);
	}
}

/* nav_pager **********/
.nav_pager{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5em;
	padding-top: 2em;
	.nav_prevnext{
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 1em;
		> li {
			> a, span{
				display: flex;
				justify-content: center;
				align-items: center;
				gap: 0.4em;
				padding: 0.5em 1em;
				color: var(--COL-TXT);
				background-color: var(--COL-WHT);
				border: solid 1rem rgba(var(--COL-TXT-rgb),0.8);
				border-radius: 2rem;
				transition-property: color, background;
			}
			> span{
				opacity: 0.6;
			}
			@media screen and (min-width: 768px) {
				> a:hover{
					color: var(--COL-WHT);
					background-color: var(--COL-TXT);
				}
			}
		}
		> li:first-child > a::before,
		> li:first-child > span::before,
		> li:last-child > a::after,
		> li:last-child > span::after{
			display: block;
			width: 0.5em;
			height: 0.5em;
			content: "";
			border-top: solid 2rem var(--COL-TXT);
			border-right: solid 2rem var(--COL-TXT);
			transform: rotate(-135deg);
			transition: border 0.3s;
			&:hover{
				border-color: var(--COL-WHT);
			}
		}
		> li:last-child > a::after,
		> li:last-child > span::after{
			transform: rotate(45deg);
		}
		@media screen and (min-width: 768px) {
			> li:first-child > a:hover::before,
			> li:last-child > a:hover::after{
				border-color: var(--COL-WHT);
			}
		}
	}
}

/******************************************************
freepage
******************************************************/


/* freepage common **********/

.section_freepage + .section_freepage{
	@media screen and (min-width: 768px) {
		margin-top: 80rem;
	}
	@media screen and (max-width: 767px) {
		margin-top: 64rem;
	}
}

.section_freepage:first-of-type{
	margin-top: 1em;
}

.section_freepage{
	.body + .body{
		margin-top: 2.5em;
	}
	.body{
		.block + .block{
			margin-top: 1.5em;
		}
		.block{
			> p{
				line-height: 1.75;
			}
			> p + p{
				margin-top: 1.0em;
			}
		}
		.block.block_row{
			display: flex;
			align-items: stretch;
			@media screen and (min-width: 768px) {
				justify-content: space-between;
				gap: 24rem;
			}
			@media screen and (max-width: 767px) {
				flex-direction: column;
				gap: 16rem;
			}
			> .box{
				flex: 1;
				> p{
					line-height: 1.5;
				}
				@media screen and (min-width: 768px) {
					padding: 44rem 44rem 32rem;
					> p{
						font-size: 15rem;
					}
				}
				@media screen and (max-width: 767px) {
					padding: 12rem;
				}
				background-color: rgba(var(--COL-WHT-rgb),0.7);
				> p + p{
					margin-top: 0.75em;
				}
			}
		}
	}
}

/* 縦書き見出し */
.lable_v {
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
	align-items: flex-start;
	> span{
		display: inline-block;
		border-left: solid 1rem rgba(var(--COL-TXT-rgb),0.7);
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		text-orientation: upright;
		font-family: var(--FNT-bold);
		line-height: 2.25;
		letter-spacing: 0.05em;
		&:first-child{
			border-right: solid 1rem rgba(var(--COL-TXT-rgb),0.7);
		}
		@media screen and (min-width: 768px) {
			font-size: 32rem;
		}
		@media screen and (max-width: 767px) {
			font-size: 24rem;
		}
	}
}

/* 縦書き見出しを含むsection */
.section_freepage.about{
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-start;
	flex-wrap: wrap;
	position: relative;
	&::before{
		position: absolute;
		display: block;
		width: 100%;
		content: "";
		background-color: rgba(var(--COL-WHT-rgb),0.9);
		z-index: -1;
	}

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

		justify-content: flex-end;
		padding-top: 54rem;
		&::before{
			top: 0;
			left: 0;
			height: calc(100% - 320rem);
		}
		> .lable_v{
			width: 295rem;
		}
		> .about_txt{
			width: calc(100% - 295rem);
			padding-top: 32rem;
			padding-left: 60rem;
		}
		> .about_img{
			> .block{
				position: relative;
				margin: 0 50rem;
				padding: 17rem;
				background-color: rgba(var(--COL-WHT-rgb),0.8);
				border: solid 4rem rgba(var(--COL-TXT-rgb),0.8);
				&::before{
					position: absolute;
					top: 18rem;
					left: 80rem;
					display: block;
					width: 100%;
					height: 100%;
					content: "";
					background-color: rgba(var(--COL-BGE-rgb),1);
					z-index: -1;
				}
				&::after{
					position: absolute;
					top: 50%;
					left: 50%;
					transform: translate(-50%, -50%);
					display: block;
					width: calc(100% - 8rem);
					height: calc(100% - 8rem);
					content: "";
					border: solid 1rem rgba(var(--COL-TXT-rgb),0.7);
					z-index: 1;
				}
				img{
					position: relative;
					width: 100%;
					max-width: 686rem;
					z-index: 10;
				}
			}
		}
	}
	@media screen and (max-width: 767px) {

		justify-content: space-between;
		padding-left: 0;
		padding-right: 0;
		&::before{
			bottom: 0;
			left: 0;
			height: calc(100% - 196rem);
		}
		> .lable_v{
			order: 1;
			width: 155rem;
		}
		> .about_txt{
			order: 3;
			padding: 40rem 24rem;
		}
		> .about_img{
			order: 2;
			margin-top: 10rem;
			> .block{
				position: relative;
				&::before{
					position: absolute;
					top: 10rem;
					left: 10rem;
					display: block;
					width: 100%;
					height: 100%;
					content: "";
					background-color: rgba(var(--COL-BGE-rgb),1);
					z-index: -1;
				}
				img{
					position: relative;
					width: 208rem;
					z-index: 10;
				}
			}
		}
	}

}
.section_freepage.about:nth-of-type(2n){
	flex-direction: row;

	@media screen and (min-width: 768px) {
		> .about_txt{
			padding-left: 0;
			padding-right: 60rem;
		}
		> .about_img{
			> .block{
				&::before{
					left: auto;
					right: 80rem;
				}
			}
		}
	}
	@media screen and (max-width: 767px) {
		> .about_img{
			> .block{
				&::before{
					left: auto;
					right: 10rem;
				}
			}
		}
	}

}
.section_freepage.about:first-of-type{
	@media screen and (min-width: 768px) {
	}
	@media screen and (max-width: 767px) {
		> .about_img{
			margin-top: 20rem;
		}
	}
}
.section_freepage.about + .section_freepage{
	@media screen and (min-width: 768px) {
		margin-top: 100rem;
	}
	@media screen and (max-width: 767px) {
	}
}

/* shop **********/

.section_freepage.about.about_shop{
	@media screen and (min-width: 768px) {
		&::before{
			height: calc(100% - 200rem);
		}
		> .lable_v{
			position: absolute;
			top: 54rem;
			right: 0;
		}
		> .about_txt{
			margin-right: auto;
		}
		> .about_img{
			> .block{
				img{
					max-width: 646rem;
				}
			}
		}
	}
	@media screen and (max-width: 767px) {
	}
}

.section_freepage.shop{
	.body{
		.block.block_row{
			> .box{
				display: flex;
				flex-direction: column;
				align-items: stretch;
				gap: 1.75em;
				background: rgba(var(--COL-WHT-rgb),0.9) url(https://img21.shop-pro.jp/PA01518/289/etc_base64/bGluZV9zdHJfbmFtaQ.png?cmsp_timestamp=20250728105303) 0 0 repeat-x;
				@media screen and (min-width: 768px) {
					padding: 40rem 44rem;
					background-size: 16rem auto;
				}
				@media screen and (max-width: 767px) {
					padding: 28rem;
					background-size: auto 9rem;
				}
				> .label{
					flex-grow: 1;
					display: flex;
					flex-direction: column;
					align-items: flex-start;
					font-family: var(--FNT-bold);
					color: var(--COL-PNK);
					> .name{
						font-size: 1.625em;
						color: var(--COL-PNK);
						vertical-align: middle;
						svg{
							width: 0.7em;
							height: 0.7em;
							margin-left: 0.4em;
							fill: var(--COL-PNK);
						}
					}
					@media screen and (min-width: 768px) {
						> a.name{
							display: inline-block;
							border-bottom: dotted 2rem rgba(var(--COL-PNK-rgb),0);
							transition: border 0.3s;
							&:hover{
								border-bottom-color: rgba(var(--COL-PNK-rgb),0.8);
							}
						}
					}
					@media screen and (max-width: 767px) {
					}
				}
				> .list_info > dl{
					border-bottom: dotted 2rem rgba(var(--COL-PNK-rgb),0.8);
				}
			}
		}
	}
}

.section_freepage.access{
	> .body{
		@media screen and (min-width: 768px) {
			.btn_tel{
				width: 344rem;
				padding: 1.0em 0.5em;
			}
		}
		@media screen and (max-width: 767px) {
		}
		> .block.accessmap{
			padding: 0.5em;
			background-color: var(--COL-WHT);
			> iframe{
				width: 100%;
				@media screen and (min-width: 768px) {
					height: 544rem;
				}
				@media screen and (max-width: 767px) {
					height: 400rem;
				}
			}
		}
	}
}


/* guide **********/

.section_freepage.guide + .section_freepage.guide{
	@media screen and (min-width: 768px) {
	}
	@media screen and (max-width: 767px) {
		margin-top: 0;
		padding-top: 64rem;
	}
}

.list_fee {
	margin-top: 1em;
	margin-bottom: 1em;
	background-color: rgba(var(--COL-WHT-rgb),0.7);
	@media screen and (min-width: 768px) {
		padding: 8rem;
	}
	@media screen and (max-width: 767px) {
		padding: 0 12rem;
	}
	> dl{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: stretch;
		line-height: 1.5;
		/*border-bottom: solid 1rem rgba(var(--COL-TXT-rgb), 0.4);*/
		@media screen and (min-width: 768px) {
			width: 100%;
			max-width: 800rem;
			margin: 0 auto;
			font-size: 15rem;
		}
		@media screen and (max-width: 767px) {
		}
		> dt{
			padding: 0.75em 0;
			font-weight: var(--WGT-M);
			text-align: left;
			border-top: solid 1rem rgba(var(--COL-TXT-rgb), 0.4);
			@media screen and (min-width: 768px) {
				width: calc(100% - 8em);
				padding-left: 1em;
			}
			@media screen and (max-width: 767px) {
				width: calc(100% - 7em);
			}
		}
		> dd{
			padding: 0.75em 0;
			text-align: right;
			margin-left: 0;
			border-top: solid 1rem rgba(var(--COL-TXT-rgb), 0.4);
			@media screen and (min-width: 768px) {
				width: 8em;
				padding-right: 1em;
			}
			@media screen and (max-width: 767px) {
				width: 7em;
			}
		}
		> dt:first-of-type,
		> dd:first-of-type{
			border-top: none;
		}
		
	}
}

.img_cardlogo{
	display: inline-block;
	padding: 1em 2em;
	background-color: rgba(var(--COL-WHT-rgb),0.7);
}

/******************************************************
footer
******************************************************/

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

	.footer{
		display: flex;
		justify-content: center;
		align-items: flex-start;
		flex-wrap: wrap;
		gap: 48rem 24rem;
		padding: 96rem 0 24rem;

		.logo{
			width: 183rem;
			height: 80rem;
		}
		.footer_nav{
			display: flex;
			justify-content: flex-end;
			align-items: center;
			flex-wrap: wrap;
			gap: 0.75em 2%;
			width: calc(100% - 183rem - 24rem);
			margin-top: 1em;
			padding-top: 2.25em;
			background: url(https://img21.shop-pro.jp/PA01518/289/etc_base64/bGluZV9zdHJfbmFtaQ.png?cmsp_timestamp=20250728105303) 0 0 repeat-x;
			background-size: 16rem auto;

			.nav_contents{
				flex-grow: 1;
				display: flex;
				justify-content: space-between;
				align-items: center;
				gap: 0.25em;
				padding-left: 2%;
				font-size: 14rem;
			}
			.nav_sns{
				justify-content: flex-end;
				padding-right: 14rem;
			}
			.contact_tel{
				display: none;
			}
		}
		address{
			font-size: 12rem;
		}
	}
}
@media screen and (max-width: 767px) {

	.footer{
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 80rem 0 16rem;

		.logo{
			display: flex;
			justify-content: center;
			width: 100%;
			padding-top: 10rem;
			background: url(https://img21.shop-pro.jp/PA01518/289/etc_base64/YmdfaGVhZGVy.png?cmsp_timestamp=20250728105303) 50% 0 no-repeat;
			background-size: auto 112rem;
			> a{
				width: 169rem;
				height: 74rem;
			}
		}
		.footer_nav{
			position: relative;
			display: flex;
			flex-direction: column;
			align-items: stretch;
			gap: 24rem;
			width: 100%;
			padding: 24rem 40rem 40rem;
			background-color: rgba(var(--COL-WHT-rgb),0.9);
			&::after{
				position: absolute;
				bottom: 0;
				left: 0;
				display: block;
				width: 100%;
				height: 9rem;
				content: "";
				background: url(https://img21.shop-pro.jp/PA01518/289/etc_base64/bGluZV9zdHJfbmFtaQ.png?cmsp_timestamp=20250728105303) 0 0 repeat-x;
				background-size: auto 9rem;
				transform: scale(1, -1);
			}

			.nav_contents{
				> li {
					border-bottom: dotted 1rem var(--COL-PNK);
					> a{
						display: flex;
						justify-content: space-between;
						align-items: center;
						gap: 0.5em;
						min-height: 46rem;
						padding: 0.5em 8rem 0.5em 16rem;
						font-family: var(--FNT-bold);
						font-size: 14rem;
						color: var(--COL-PNK);
						line-height: 1.3;
						> svg{
							width: 10rem;
							height: 10rem;
							fill: var(--COL-PNK);
						}
					}
				}
			}
			.nav_sns{
				justify-content: center;
			}
		}
		.copyright{
			padding-top: 16rem;
			address{
				font-size: 11rem;
			}
		}
	}

}
