@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&family=Shippori+Mincho+B1&display=swap');

:target::before {
	margin-top: 0;
	padding-top: 0;
	content: "";
	display: block;
}

#wrapper {
	overflow: clip;
}

.fade-in {
	opacity: 0;
	transition-duration: 1000ms;
	transition-property: opacity, transform;
	transform: translate(0, 20vw);
	transition-timing-function: ease;
}

.fade-in-up {
	opacity: 0;
	transition-duration: 800ms;
	transition-property: opacity, transform;
	transform: translate(0, 20vw);
	transition-timing-function: ease;
}

.fade-in-up2 {
	opacity: 0;
	transition-duration: 800ms;
	transition-delay: 500ms;
	transition-property: opacity, transform;
	transform: translate(0, 20vw);
	transition-timing-function: ease;
	display: block;
}

.fade-in-down {
	opacity: 0;
	transition-duration: 1600ms;
	transition-delay: 500ms;
	transition-property: opacity, transform;
	transform: translate(0, -20vw);
	transition-timing-function: ease;
}

.scroll-in {
	opacity: 1;
	transform: translate(0, 0);
}



html body div.contentsWrapper {
	font-family: 'Noto Serif JP', serif;
	color: #333;
	font-size: 2.813vw;
	line-height: 1.8em;
	padding-bottom: 15vw;
}

.contentsWrapper img {
	display: block;
}

.contentsWrapper h1 {
	width: 100%;
}

.contentsWrapper h1 img {
	width: 100%;
	height: auto;
}


.contentsWrapper .nav {
	width: 100%;
	box-sizing: border-box;
	padding: 12vw 2.5vw 0 2.5vw;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 2.5vw;
}

.contentsWrapper .nav li {
	width: 30vw;
	height: auto;
}

.contentsWrapper .nav li a {
	width: 100%;
	height: auto;
}

.contentsWrapper .nav li a img {
	width: 100%;
	height: auto;
}



.itemWrapper {
	width: 100%;
	box-sizing: border-box;
	margin: 0 auto 0 auto;
	padding: 0;
	position: relative;
}

.mainImgBlock {
	width: 100%;
	margin: 0 0 0 0;
	padding: 40vw 0 0 0;
	position: relative;
}

.mainImgBlock h2 {
	width: 100%;
	height: auto;
}

.mainImgBlock h2 img {
	width: 100%;
	height: auto;
}

.mainImgBlock .buy {
	width: 31.25vw;
	height: 12.5vw;
	position: absolute;
	right: 6vw;
	bottom: -6.25vw;
}

.mainImgBlock .buy img {
	width: 100%;
	height: auto;
}

.mainImgBlock h2 {
	position: absolute;
	top: 20vw;
	right: 0;
}


.itemTxt {
	width: 100%;
	box-sizing: border-box;
	margin: 12.5vw 0 0 0;
	padding: 0 6vw 0 6vw;
	position: relative;
}

.itemTxt h3 {
	width: 100%;
	height: auto;
	margin-bottom: 4vw;
}

.itemTxt h3 img {
	width: 100%;
	height: auto;
}

.itemTxt p {
	font-family: 'Noto Serif JP', serif;
	color: #333;
	font-size: 3.125vw;
	line-height: 1.8em;
	text-align: center;
}

.itemTxt p.description {
	padding-bottom: 3vw;
}

.itemTxt p.price {
	line-height: 1.8em;
	padding-bottom: 9vw;
}

.subImgBlock {
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 0 0;
	padding: 0 6vw 0 6vw;
}

.subImgBlock a {
	display: block;
	margin-bottom: 6vw;
}

.subImgBlock a:nth-last-child(1) {
	margin-bottom: 0;
}

.subImgBlock img {
	width: 100%;
	height: auto;

}











.btnAllWrapper {
	width: 100%;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 18vw 6vw;
}

.btnAllWrapper img {
	width: 100%;
	height: auto;
}

.btnAllWrapper .btnAll {}