@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho&display=swap');
:root {
	--ds_ochugenColorA: #ffffff;
	--ds_ochugenColorB: #3d3d3d;
	--ds_ochugenColorC: #927f3f;
	--ds_ochugenColorD: #000000;
	--ds_ochugenColorE: #0d1e37;
	--ds_ochugenColorF: #725523;
	--ds_ochugenColorG: #550000;
	--ds_ochugenColorH: #ba973e;
}
#ds_ochugen {
	/* max-width: 1100px;*/
	width: 100%;
	margin: 0 auto;
	font-size: 16px;
	font-weight: normal;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	font-feature-settings: normal;
	letter-spacing: normal;
	color: #000;
	background: #f0ecdc;
}
@media only screen and (max-width: 767px) {
	#ds_ochugen{font-size: 12px;}
}

#ds_ochugen::after {
	content: '';
	display: block;
	width: 7.5rem;
	aspect-ratio: 105 / 75;
	background-image: url(https://wagyugift.jp/html/user_data/assets/renew2310/images/footer_charm.png);
	background-repeat: no-repeat;
	background-size: contain;
	position: fixed;
	bottom: 0;
	left: 0;
	transform: translateX(100%);
}
@media only screen and (max-width: 1000px) {
	#ds_ochugen::after {display: none;}
}


#ds_ochugen .ds_ochugen__inner {
	max-width: 750px;
	width: 100%;
	background: var(--ds_ochugenColorA);
	margin: 0 auto;
}

#ds_ochugen img {
	width: 100%;
	height: auto;
}

/* -------
	ds_ochugen__inner__contents
------------------------- */

.ds_ochugen__inner__contents:not(:last-child) {
	margin-bottom: 5em;
}
@media only screen and (max-width: 750px) {
	.ds_ochugen__inner__contents:not(:last-child) {
		margin-bottom: 10.677vw;
	}
}

.ds_ochugen__inner__contents__wrapper:not(:last-child) {
	margin-bottom: 5em;
}
@media only screen and (max-width: 750px) {
	.ds_ochugen__inner__contents__wrapper:not(:last-child) {
		margin-bottom: 10.677vw;
	}
}

.ds_ochugen__inner__contents__title {
	margin: 0 0 1.5em;
}
@media only screen and (max-width: 750px) {
	.ds_ochugen__inner__contents__title {
		margin: 0 0 2.666vw;
	}
}

.ds_ochugen__inner__contents__list {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
}
@media only screen and (max-width: 750px) {
	.ds_ochugen__inner__contents__list {
		gap: 2vw;
	}
}

.ds_ochugen__inner__contents__list li {
	max-width: calc((100% - 1em) / 2);
	width: 100%;
}
@media only screen and (max-width: 750px) {
	.ds_ochugen__inner__contents__list li {
		max-width: calc((100% - 2vw) / 2);
	}
}

.ds_ochugen__inner__contents__text {
	font-size: 1.325em;
	font-weight: 400;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	line-height: 1.81;
	letter-spacing: calc(50 / 1000 * 1em);
	text-align: left;
	color: var(--ds_ochugenColorB);
}
@media only screen and (max-width: 750px) {
	.ds_ochugen__inner__contents__text {
		font-size: 2.93vw;
	}
}




/* -------
	ds_ochugen__inner__mainvisual
------------------------- */

#ds_ochugen .ds_ochugen__inner__mainvisual {

}



/* -------
	ds_ochugen__inner__contents--lineup
------------------------- */

#ds_ochugen .ds_ochugen__inner__contents--lineup {
	background: url(../images/lineup_bkg.jpg) center / 100% no-repeat;
	padding: 3.125em 0 4.375em;
	margin-top: -1.75em;
	/* margin-bottom: 0; */
	box-sizing: border-box;
	--mask:
		radial-gradient(25.2px at 50% 35.25px,#000 99%,#0000 101%) calc(50% - 30px) 0/60px 100%,
		radial-gradient(25.2px at 50% -20.25px,#0000 99%,#000 101%) 50% 15px/60px 100% repeat-x;
	-webkit-mask: var(--mask);
	mask: var(--mask);
}
@media only screen and (max-width: 750px) {
	#ds_ochugen .ds_ochugen__inner__contents--lineup {
		padding: 6.66vw 0 9.33vw;
		margin-top: -6vw;
	}
}

#ds_ochugen .ds_ochugen__inner__contents--lineup .ds_ochugen__inner__contents__list {
	padding: 0 1.875em;
	box-sizing: border-box;
}
@media only screen and (max-width: 750px) {
	#ds_ochugen .ds_ochugen__inner__contents--lineup .ds_ochugen__inner__contents__list {
		padding: 0 4vw;
	}
}



/* -------
	ds_ochugen__inner__contents--about
------------------------- */

#ds_ochugen .ds_ochugen__inner__contents--about {
	margin-bottom: 0;
	display: flex;
	flex-direction: column;
}

#ds_ochugen .ds_ochugen__inner__contents__wrapper:has( > h2):has( + .ds_ochugen__inner__contents__wrapper) {
	height: 50em;
	background: url(../images/about_bkg.jpg) center / 100% no-repeat;
	padding: 8.75em 4.375em 0;
	box-sizing: border-box;
	position: relative;
	order: 1;
	overflow: hidden;
}
@media only screen and (max-width: 750px) {
	#ds_ochugen .ds_ochugen__inner__contents__wrapper:has( > h2):has( + .ds_ochugen__inner__contents__wrapper) {
		height: 106.66vw;
		padding: 18.66vw 4vw 0;
	}
}

#ds_ochugen .ds_ochugen__inner__contents__wrapper:has( > h2) + .ds_ochugen__inner__contents__wrapper {
	order: 0;
	margin-bottom: 0;
}

#ds_ochugen .ds_ochugen__inner__contents__wrapper + .ds_ochugen__inner__contents__wrapper:has( > h2) {
	order: 2;
}

#ds_ochugen .ds_ochugen__inner__contents__title--heart {
	font-size: 3em;
	font-weight: 400;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	line-height: 1;
	letter-spacing: normal;
	text-align: left;
	color: var(--ds_ochugenColorB);
	margin-bottom: 1em;
	position: relative;
}
@media only screen and (max-width: 750px) {
	#ds_ochugen .ds_ochugen__inner__contents__title--heart {
		font-size: 6.4vw;
	}
}

#ds_ochugen .ds_ochugen__inner__contents__title--heart::before {
	content: '';
	width: 4.375em;
	height: 1px;
	background: var(--ds_ochugenColorH);
	position: absolute;
	top: 50%;
	left: -.25em;
	transform: translateX(-100%);
}

#ds_ochugen .ds_ochugen__inner__contents__title--heart::first-letter {
	font-size: 133.319%;
	color: var(--ds_ochugenColorH);
}

#ds_ochugen .ds_ochugen__inner__contents__wrapper:has( > .ds_ochugen__inner__contents__title--heart) .ds_ochugen__inner__contents__img {
	max-width: 285px;
	position: absolute;
	bottom: -2em;
	right: 3.75em;
	transform: translateY(-100%);
}
@media only screen and (max-width: 750px) {
	#ds_ochugen .ds_ochugen__inner__contents__wrapper:has( > .ds_ochugen__inner__contents__title--heart) .ds_ochugen__inner__contents__img {
		max-width: 38.59375vw;
		bottom: -2em;
		right: 6vw;
	}
}

#ds_ochugen .ds_ochugen__inner__contents__title--box {
	font-size: 1.875em;
	font-weight: 400;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	line-height: 1.45;
	letter-spacing: normal;
	text-align: center;
	color: var(--ds_ochugenColorB);
	margin-bottom: 1em;
}
@media only screen and (max-width: 750px) {
	#ds_ochugen .ds_ochugen__inner__contents__title--box {
		font-size: 4vw;
	}
}

#ds_ochugen .ds_ochugen__inner__contents__title--box span {
	font-size: 133.319%;
	color: var(--ds_ochugenColorH);
}

#ds_ochugen .ds_ochugen__inner__contents__wrapper:has( > .ds_ochugen__inner__contents__title--box) .ds_ochugen__inner__contents__text {
	text-align: center;
	margin-bottom: 2.5em;
}
@media only screen and (max-width: 750px) {
	#ds_ochugen .ds_ochugen__inner__contents__wrapper:has( > .ds_ochugen__inner__contents__title--box) .ds_ochugen__inner__contents__text {
		margin-bottom: 5.33vw;
	}
}



/* -------
	ds_ochugen__inner__contents--category
------------------------- */

#ds_ochugen [id^="category"].ds_ochugen__inner__contents {
	padding: 6.25em 0 7.5em;
	margin-bottom: 0;
	box-sizing: border-box;
}
@media only screen and (max-width: 750px) {
	#ds_ochugen [id^="category"].ds_ochugen__inner__contents {
		padding: 13.333vw 0 16vw;
	}
}

#ds_ochugen #category01 {
	background: 
		url(../images/category01_bkg.jpg) center top / 100% no-repeat,
		var(--ds_ochugenColorD);
}
#ds_ochugen #category02 {
	background: 
		url(../images/category02_bkg.jpg) center top / 100% no-repeat,
		var(--ds_ochugenColorE);
}
#ds_ochugen #category03 {
	background: 
		url(../images/category03_bkg.jpg) center top / 100% no-repeat,
		var(--ds_ochugenColorF);
}
#ds_ochugen #category04 {
	background: 
		url(../images/category04_bkg.jpg) center top / 100% no-repeat,
		var(--ds_ochugenColorG);
}

#ds_ochugen [id^="category"].ds_ochugen__inner__contents .ds_ochugen__inner__contents__list {
	padding: 0 4.0625em;
	margin-bottom: 3em;
	box-sizing: border-box;
	gap: 2.5em;
}
@media only screen and (max-width: 750px) {
	#ds_ochugen [id^="category"].ds_ochugen__inner__contents .ds_ochugen__inner__contents__list {
		padding: 0 4vw;
		margin-bottom: 6.4vw;
		gap: 5.3vw;
	}
}


#ds_ochugen [id^="category"].ds_ochugen__inner__contents .ds_ochugen__inner__contents__list li {
	max-width: calc((100% - 2.5em) / 2);
	width: 100%;
}
@media only screen and (max-width: 750px) {
	#ds_ochugen [id^="category"].ds_ochugen__inner__contents .ds_ochugen__inner__contents__list li {
		max-width: calc((100% - 5.3vw) / 2);
	}
}


#ds_ochugen [id^="category"].ds_ochugen__inner__contents .ds_ochugen__inner__contents__list a {
	font-size: 1.375em;
	font-weight: 400;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	line-height: 1.5;
	letter-spacing: normal;
	text-align: left;
	color: var(--ds_ochugenColorA);
}
@media only screen and (max-width: 750px) {
	#ds_ochugen [id^="category"].ds_ochugen__inner__contents .ds_ochugen__inner__contents__list a {
		font-size: 2.93vw;
	}
}

#ds_ochugen [id^="category"].ds_ochugen__inner__contents .ds_ochugen__inner__contents__list a > * {
	font-size: inherit;
	font-weight: inherit;
	font-family: inherit;
	line-height: inherit;
	color: inherit;
	margin: 0;
	padding: 0;
}

#ds_ochugen [id^="category"].ds_ochugen__inner__contents .ds_ochugen__inner__contents__list a > span {
	border: 5px solid var(--ds_ochugenColorH);
	margin-bottom: .8em;
	box-sizing: border-box;
	display: inline-block;
	aspect-ratio: 1;
	position: relative;
	overflow: hidden;
}
@media only screen and (max-width: 750px) {
	#ds_ochugen [id^="category"].ds_ochugen__inner__contents .ds_ochugen__inner__contents__list a > span {
		border: 3px solid var(--ds_ochugenColorH);
	}
}

#ds_ochugen .ds_ochugen__inner__contents__button {
	max-width: 540px;
	width: 100%;
	margin: 0 auto;
}
@media only screen and (max-width: 750px) {
	#ds_ochugen .ds_ochugen__inner__contents__button {
		max-width: 90%;
	}
}




#ds_ochugen [id^="category"].ds_ochugen__inner__contents .ds_ochugen__inner__contents__list a[href=""] {
	pointer-events: none;
}

#ds_ochugen [id^="category"].ds_ochugen__inner__contents .ds_ochugen__inner__contents__list a[href=""] span::after {
	content: 'Comming Soon';
	width: 100%;
	height: 100%;
	background: #00000099;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	left: 0;
	aspect-ratio: 1;
}

@keyframes shine{100% {left: 125%;}}
@keyframes fade-in-bottom{
	0%{transform: translateY(6.25em);opacity: 0;}
	100%{transform: translateY(0);opacity: 1;}
}

@keyframes fade-in{
	0%{opacity: 0;}
	100%{opacity: 1;}
}

#ds_ochugen .js-scroll{opacity: 0;}
#ds_ochugen .js-scrolled{animation: fade-in-bottom 1s ease-in-out both;}

#ds_ochugen a > span::before{
	content: '';
	position: absolute;
	top: 0;
	left: -75%;
    width: 50%;
	height: 100%;
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.2) 100%);
	transform: skewX(-25deg);
}

#ds_ochugen a {
	transition:  all .3s ease-in-out;
}
#ds_ochugen a:hover{
	opacity: .88;
}

#ds_ochugen a:hover > span::before{
	animation: shine .7s ease-in-out;
}



#ds_ochugen li:nth-child(odd) {animation-delay: 0s;}
#ds_ochugen li:nth-child(even) {animation-delay: .1s;}