@charset "UTF-8";

.btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 380px;
	height: 70px;
	border-radius: 35px;
	background: #FFF;
	color:#B62727;
	font-family: var(--mincho);
	font-size: min(1.6rem, 1.171vw);
	font-weight: 500;
	line-height: 35px;
	position: relative;
}
.btn::after {
	content: '';
	background: url(../img/btn-arrow01.webp) no-repeat;
	background-size: 100%;
	width: 26px;
	height: 26px;
	position: absolute;
	top: 50%;
	right: 10px;
	transform:  translate(-50%, -50%);
}

.btnB {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 390px;
	height: 50px;
	background: #00B900;
	color: #fff;
	font-family: var(--notosansJP);
	font-size: min(1.8rem, 1.318vw);
	position: relative;
}
.btnB::after {
	content: '';
	background: url(../img/btn-arrow00.svg) no-repeat;
	background-size: 100%;
	width: 15px;
	height: 15px;
	position: absolute;
	top: 50%;
	right: 10px;
	transform:  translate(-50%, -50%);
}

.btnC {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 380px;
	height: 70px;
	border-radius: 35px;
	background: var(--Linear, linear-gradient(90deg, #B62727 7.45%, #FBD7AF 215.84%));
	color:#fff;
	font-family: var(--mincho);
	font-size: min(1.6rem, 1.171vw);
	font-weight: 500;
	line-height: 35px;
	position: relative;
}
.btnC::after {
	content: '';
	background: url(../img/btn-arrow02.webp) no-repeat;
	background-size: 100%;
	width: 26px;
	height: 26px;
	position: absolute;
	top: 50%;
	right: 10px;
	transform:  translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
	.btn {
		width: 310px;
		height: 64px;
		font-size: min(1.6rem, 4.267vw);
	}	
	.btnB {
		justify-content: flex-start;
		padding-left: 16px;
		width: 200px;
		height: 45px;
		font-size: min(1.6rem, 4.267vw);
	}
	.btnC {
		width: 310px;
		height: 64px;
		font-size: min(1.6rem, 4.267vw);
	}
}

/*--- スライド ---*/
.slide-A {
	position: relative;
	margin-bottom: 24px;
}

.slide-A .slick-slide img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 16px;
}

.slide-A .slick-prev,
.slide-A .slick-next {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	transform: translateY(-50%);
	cursor: pointer;
}

.slide-A .slick-prev {
	left: 10px;
}

.slide-A .slick-next {
	right: 10px;
}

.slide-A .slick-prev::before,
.slide-A .slick-next::before {
	display: none;
}

.slide-A .slick-prev::after,
.slide-A .slick-next::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 20px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}

.slide-A .slick-prev::after {
	transform: translate(-35%, -50%) rotate(-135deg);
}

.slide-A .slick-next::after {
	transform: translate(-65%, -50%) rotate(45deg);
}

.slide-A .slick-dots {
	position: absolute;
	right: 0;
	bottom: 27px;
	left: 0;
	display: flex;
	justify-content: center;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.slide-A .slick-dots li {
	width: 9px;
	height: 9px;
	margin: 0;
}

.slide-A .slick-dots button {
	display: block;
	width: 9px;
	height: 9px;
	padding: 0;
	border-radius: 50%;
	background: #D9D9D9;
	font-size: 0;
	cursor: pointer;
}

.slide-A .slick-dots .slick-active button {
	background: #B62727;
}

@media screen and (max-width: 768px) {
	.slide-A {
		margin-bottom: 13px;
	}
	.slide-A .slick-slide img {
		border-radius: 6px;
	}
	.slide-A .slick-prev,
	.slide-A .slick-next {
		width: 17px;
		height: 17px;
	}
	.slide-A .slick-prev::after,
	.slide-A .slick-next::after {
		width: 17px;
		height: 17px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
	}
	.slide-A .slick-dots {
		bottom: 10px;
		gap: 4px;
	}
	.slide-A .slick-dots li {
		width: 4px;
		height: 4px;
	}
	.slide-A .slick-dots button {
		width: 4px;
		height: 4px;
	}
}

/* ----------------------------------------------------
 kv
---------------------------------------------------- */
.kv {
	position: relative;
}

.kv .logo {
	width: 17.1%;
	position: absolute;
	top: 22px;
	left: 27px;
	z-index: 12;
}

.kv h1 {
	width: 46.13%;
	position: absolute;
	top: 9.6vw;
	left: 0;
	z-index: 10;
}

.kv-slide {
	position: relative;
}

.kv-slide img {
	display: block;
	width: 100%;
	height: auto;
}

.kv-slide .slick-dots {
	position: absolute;
	right: 13px;
	bottom: 11px;
	left: auto;
	display: flex;
	justify-content: flex-end;
	gap: 7px;
	width: auto;
	margin: 0;
	padding: 0;
	list-style: none;
}

.kv-slide .slick-dots li {
	width: 9px;
	height: 9px;
	margin: 0;
}

.kv-slide .slick-dots li button {
	display: block;
	width: 9px;
	height: 9px;
	padding: 0;
	border-radius: 50%;
	background: #D9D9D9;
	font-size: 0;
	cursor: pointer;
}

.kv-slide .slick-dots li button::before {
	display: none;
}

.kv-slide .slick-dots li.slick-active button {
	background: #B62727;
}

@media screen and (max-width: 768px) {
	.kv .logo {
		width: 157px;
	}
	.kv h1 {
		width: 100%;
		position: relative;
		top: 0;
		left: 0;
		z-index: 10;
	}
	.kv-slide .slick-dots {
		right: 6px;
		bottom: 6px;
		gap: 3px;
	}
	.kv-slide .slick-dots li {
		width: 4px;
		height: 4px;
	}
	.kv-slide .slick-dots li button {
		width: 4px;
		height: 4px;
	}
}

/* ----------------------------------------------------
 global-nav
---------------------------------------------------- */
.global-nav {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #b62727;
}

.global-nav ul {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 23px 0;
	list-style: none;
}

.global-nav ul li::after {
	content: "｜";
	padding: 0 5px;
	color: #fff;
}

.global-nav ul li:last-child::after {
	display: none;
}

.global-nav ul li a {
	color: #fff;
	font-size: min(1.8rem, 1.318vw);
	font-weight: 700;
	text-decoration: none;
}

/* PCでは非表示 */
.global-nav-toggle,
.global-nav-overlay {
	display: none;
}

@media screen and (max-width: 768px) {
	body.is-menu-open {
		overflow: hidden;
	}
	/* バーガーボタン */
	.global-nav-toggle {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 1002;
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 64px;
		height: 64px;
		padding: 13px 0;
		border: 0;
		background: #B62727;
		cursor: pointer;
	}
	.global-nav-toggle span {
		display: block;
		width: 27px;
		height: 2px;
		margin-bottom: 6px;
		background: #fff;
		transition:
			transform 0.3s ease,
			opacity 0.3s ease;
	}
	.global-nav-toggle em {
		margin-top: 0;
		color: #fff;
		font-family: var(--jost);
		font-size: min(1.4rem, 3.733vw);
		font-weight: 400;
		line-height: 1;
		transition: opacity 0.3s ease;
	}
	/* メニュー展開時：× */
	.global-nav-toggle.is-open {
		top: 10px;
	}
	.global-nav-toggle.is-open span:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
		width: 35px;
	}
	.global-nav-toggle.is-open span:nth-child(2) {
		opacity: 0;
	}
	.global-nav-toggle.is-open span:nth-child(3) {
		transform: translateY(-9px) rotate(-45deg);
		width: 35px;
	}
	.global-nav-toggle.is-open em {
		opacity: 0;
	}
	/* SPナビ */
	.global-nav {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 1001;
		width: 100%;
		height: 100dvh;
		padding: 100px 33px 40px;
		background: #B62727;
		overflow-y: auto;
		transform: translateX(100%);
		transition: transform 0.4s ease;
	}
	.global-nav.is-open {
		transform: translateX(0);
	}
	.global-nav ul {
		display: block;
		padding: 0;
	}
	.global-nav ul li {
		border-bottom: 1px solid #fff;
	}
	.global-nav ul li:last-child {
		border-bottom: none;
	}
	.global-nav ul li::after {
		display: none;
	}
	.global-nav ul li a {
		display: block;
		padding: 18px 0;
		font-size: min(1.9rem, 5.067vw);
	}
	/* 背景オーバーレイ */
	.global-nav-overlay {
		position: fixed;
		inset: 0;
		z-index: 1000;
		display: block;
		background: rgba(0, 0, 0, 0.5);
		visibility: hidden;
		opacity: 0;
		transition:
			opacity 0.3s ease,
			visibility 0.3s ease;
	}
	.global-nav-overlay.is-open {
		visibility: visible;
		opacity: 1;
	}
}

/* ----------------------------------------------------
 lead
---------------------------------------------------- */
.lead {
	background: url(../img/lead-bg.webp) no-repeat;
	background-size: cover;
	padding-bottom: 90px;
	position: relative;
}

.lead .item {
	width: 46%;
	position: absolute;
	top: 30px;
	right: 0;
}

.lead .lead-text-inner {
	max-width: 1142px;
	margin: 0 auto;
	padding: 90px 0 38px;
	position: relative;
}

.lead .lead-text-inner h2 {
	width: 363px;
}

.lead .lead-text-inner h3 {
	font-size: min(4.2rem, 3.075vw);
	font-weight: 500;
	line-height: 54px;
	margin-top: 22px;
}

.lead .lead-text-inner h3 span {
	font-size: min(3rem, 2.196vw);
}

.lead .lead-text-inner .txt {
	font-size: min(2.2rem, 1.611vw);
	font-weight: 500;
	line-height: 48px;
	margin-top: 13px;
}

.lead .lead-text-inner .schedule-list {
	margin-top: 19px;
}

.lead .lead-text-inner .schedule-list li {
	color: #B62727;
	font-size: min(2.8rem, 2.05vw);
	font-weight: 700;
	line-height: 54px;
}

.lead-slide {
	overflow: hidden;
}

.lead-slide .slick-track {
	display: flex;
	align-items: center;
}

.lead-slide .slick-slide {
	width: 350px;
	margin-right: 24px;
}

.lead-slide a {
	display: block;
	border-radius: 20px;
	overflow: hidden;
}

.lead-slide img {
	display: block;
	width: 350px;
	height: auto;
	border-radius: 24px;
}

@media screen and (max-width: 768px) {
	.lead {
		background: url(../img/lead-bg_sp.webp) no-repeat;
		background-size: cover;
		overflow: hidden;
	}
	.lead .item {
		width: 86%;
		top: 400px;
		right: -50px;
	}
	.lead .lead-text-inner {
		padding: 43px 17px 47px;
	}
	.lead .lead-text-inner h2 {
		width: 203px;
	}
	.lead .lead-text-inner h3 {
		font-size: min(2.8rem, 7.467vw);
		line-height: 35px;
		margin-top: 22px;
	}
	.lead .lead-text-inner h3 span {
		display: block;
		font-size: min(2.2rem, 5.867vw);
		padding-top: 15px;
	}
	.lead .lead-text-inner .txt {
		font-size: min(1.6rem, 4.267vw);
		line-height: 30px;
		margin-top: 19px;
	}
	.lead .lead-text-inner .schedule-list {
		margin-top: 13px;
	}
	.lead .lead-text-inner .schedule-list li {
		font-size: min(1.7rem, 4.533vw);
		line-height: 34px;
	}
	.lead-slide .slick-slide {
		width: 280px;
		margin-right: 20px;
	}
	.lead-slide img {
		width: 280px;
		border-radius: 15px;
	}
}

/* ----------------------------------------------------
 parallax-section
---------------------------------------------------- */
.parallax-section {
	width: 100%;
	overflow: hidden;
}

.parallax-section__image {
	width: 100%;
	height: 400px;
	overflow: hidden;
}

.parallax-section__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 768px) {
	.parallax-section__image {
		height: auto;
	}
	.parallax-section__image img {
		height: 220px;
	}
}

/* ----------------------------------------------------
 dinner
---------------------------------------------------- */
.dinner {
	background: var(--Linear, linear-gradient(37deg, #B62727 38.84%, #FBD7AF 168.56%));
	color: #fff;
	position: relative;
	overflow: hidden;
}

.dinner .item01,
.dinner .item02,
.dinner .item03 {
	position: absolute;
}

.dinner .item01 {
	width: 575px;
	top: 0;
	right: -110px;
}

.dinner .item02 {
	width: 262px;
	top: 710px;
	left: 0;
}

.dinner .item03 {
	width: 575px;
	bottom: 230px;
	right: -90px;
	transform: rotate(260deg);
}

.dinner .dinner-inner {
	max-width: 826px;
	margin: 0 auto;
	padding: 91px 0 110px;
	position: relative;
	z-index: 6;
}

.dinner .dinner-inner h2 {
	width: 567px;
	margin: 0 auto;
}

.dinner .dinner-inner .img {
	margin-top: 52px;
}

.dinner .dinner-inner .img img {
	border-radius: 16px;
}

.dinner .dinner-inner h3 {
	width: 389px;
	margin: 35px auto 0;
}

.dinner .dinner-inner h4 {
	text-align: center;
	font-size: min(4.1rem, 3.001vw);
	font-weight: 600;
	line-height: 55px;
	letter-spacing: 1.23px;
	margin-top: 23px;
}

.dinner .dinner-inner .txt {
	text-align: center;
	font-size: min(2.2rem, 1.611vw);
	font-weight: 500;
	line-height: 53px;
	margin-top: 26px;
}

.dinner .dinner-inner .event-info {
	background: #FAEFDE;
	color: #231815;
	max-width: 790px;
	margin: 40px auto 0;
	padding: 33px 28px;
	border-radius: 23px;
}

.dinner .dinner-inner .event-info ul {
	display: flex;
	margin-bottom: 10px;
}

.dinner .dinner-inner .event-info ul li:first-child {
	background: #B62727;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 88px;
	height: 27px;
	color: #fff;
	font-family: var(--gothic);
	font-size: min(2rem, 1.464vw);
	font-weight: 500;
	margin-top: 7px;
}

.dinner .dinner-inner .event-info ul li:last-child {
	color: #231815;
	font-family: var(--gothic);
	font-size: min(2.7rem, 1.977vw);
	font-weight: 500;
	padding-left: 20px;
}

.dinner .dinner-inner .btn {
	margin: 41px auto 0;
}

@media screen and (max-width: 768px) {
	.dinner {
		background: var(--Linear, linear-gradient(81deg, #B62727 38.84%, #FBD7AF 168.56%));
	}
	.dinner .item01,
	.dinner .item02,
	.dinner .item03 {
		display: none;
	}
	.dinner .dinner-inner {
		padding: 64px 16px 92px;
	}
	.dinner .dinner-inner h2 {
		width: 100%;
	}
	.dinner .dinner-inner .img {
		margin-top: 24px;
	}
	.dinner .dinner-inner .img img {
		border-radius: 6px;
	}
	.dinner .dinner-inner h3 {
		width: 65%;
		margin: 29px auto 0;
	}
	.dinner .dinner-inner h4 {
		font-size: min(2rem, 5.333vw);
		letter-spacing: 0;
		margin-top: 7px;
	}
	.dinner .dinner-inner .txt {
		font-size: min(1.4rem, 3.733vw);
		line-height: 28px;
		letter-spacing: 0;
		margin-top: 23px;
	}
	.dinner .dinner-inner .txt:nth-of-type(1) {
		margin-top: 3px;
	}
	.dinner .dinner-inner .event-info {
		margin: 28px auto 0;
		padding: 13px 12px;
		border-radius: 10px;
	}
	.dinner .dinner-inner .event-info ul {
		display: flex;
		margin-bottom: 10px;
	}
	.dinner .dinner-inner .event-info ul li:first-child {
		width: 53px;
		height: 16px;
		font-size: min(1.2rem, 3.2vw);
		margin-top: 7px;
	}
	.dinner .dinner-inner .event-info ul li:last-child {
		width: 100%;
		font-size: min(1.6rem, 4.267vw);
		padding-left: 10px;
	}
	.dinner .dinner-inner .btn {
		margin: 37px auto 0;
	}
}


/* ----------------------------------------------------------

 fairmenu.htmlページ

---------------------------------------------------------- */

/* ----------------------------------------------------
 fair-menu
---------------------------------------------------- */
.fair-menu {
	background: url("../img/lower-bg.webp") center center / cover no-repeat fixed;
	padding: 50px 0 90px;
	overflow: hidden;
	position: relative;
}

.fair-menu .item01,
.fair-menu .item02,
.fair-menu .item03,
.fair-menu .item04,
.fair-menu .item05,
.fair-menu .item06,
.fair-menu .item07,
.fair-menu .item08,
.fair-menu .item09,
.fair-menu .item10,
.fair-menu .item11,
.fair-menu .item12,
.fair-menu .item13,
.fair-menu .item14,
.fair-menu .item15,
.fair-menu .item16,
.fair-menu .item17,
.fair-menu .item18,
.fair-menu .item19,
.fair-menu .item20,
.fair-menu .item21,
.fair-menu .item22,
.fair-menu .item23,
.fair-menu .item24 {
	position: absolute;
	z-index: 0;
}

.fair-menu .item01 {
	top: 0;
	right: -110px;
}

.fair-menu .item02 {
	top: 570px;
	left: -10px;
}

.fair-menu .item03 {
	top: 960px;
	right: -130px;
}

.fair-menu .item04 {
	top: 1540px;
	left: -150px;
}

.fair-menu .item05 {
	top: 2430px;
	right: 50px;
}

.fair-menu .item06 {
	top: 2790px;
	left: -160px;
}

.fair-menu .item07 {
	top: 3400px;
	right: -130px;
}

.fair-menu .item08 {
	top: 3980px;
	left: -10px;
}

.fair-menu .item09 {
	top: 4400px;
	right: -110px;
}

.fair-menu .item10 {
	top: 4940px;
	left: -140px;
}

.fair-menu .item11 {
	top: 5860px;
	right: 30px;
}

.fair-menu .item12 {
	top: 6190px;
	left: -160px;
}

.fair-menu .item13 {
	top: 6860px;
	right: -120px;
}

.fair-menu .item14 {
	top: 7390px;
	left: -10px;
}

.fair-menu .item15 {
	top: 7830px;
	right: -110px;
}

.fair-menu .item16 {
	top: 8390px;
	left: -140px;
}

.fair-menu .item17 {
	top: 9310px;
	right: 30px;
}

.fair-menu .item18 {
	top: 9690px;
	left: -160px;
}

.fair-menu .item19 {
	top: 10350px;
	right: -130px;
}

.fair-menu .item20 {
	top: 10930px;
	left: -10px;
}

.fair-menu .item21 {
	top: 11380px;
	right: -110px;
}

.fair-menu .item22 {
	top: 11870px;
	left: -160px;
}

.fair-menu .item23 {
	top: 12790px;
	right: 30px;
}

.fair-menu .item24 {
	top: 13140px;
	left: -170px;
}

.fair-menu .item-imgA {
	width: 530px;
}

.fair-menu .item-imgB {
	width: 220px;
}

.fair-menu .item-imgC {
	width: 530px;
	transform: rotate(260deg);
}

.fair-menu h2 {
	width: 282px;
	margin: 0 auto;
}

.fair-menu .contents {
	max-width: 1140px;
	margin: 0 auto;
	padding: 55px 0 74px;
	border-radius: 16px;
	border: 1.5px solid #B62727;
	background: rgba(255, 255, 255, 0.7);
	position: relative;
	z-index: 1;
}

.fair-menu .contents.typeA {
	margin-top: 45px;
}

.fair-menu .contents.typeB {
	margin-top: 50px;
}

.fair-menu .contents .contents-inner {
	max-width: 805px;
	margin: 0 auto;
}

.fair-menu .contents .contents-inner h3 {
	color: #494949;
	text-align: center;
	font-size: min(3.6rem, 9.6vw);
	font-weight: 600;
	line-height: 26px;
	margin-bottom: 33px;
}

.fair-menu .contents .contents-inner h3.typeB {
	line-height: normal;
}

.fair-menu .contents .contents-inner h3 span {
	display: block;
	color: #B62727;
	font-size: min(2.3rem, 6.133vw);
	font-weight: 500;
	letter-spacing: 0.46px;
	padding-top: 15px;
}

.fair-menu .contents .contents-inner h4 {
	color: #494949;
	text-align: center;
	font-size: min(2.6rem, 6.933vw);
	font-weight: 600;
	line-height: 42px;
	margin-bottom: 50px;
}

.fair-menu .contents .contents-inner h4 span {
	color: #B62727;
	font-size: min(2.2rem, 5.867vw);
	font-weight: 400;
}

.fair-menu .contents .contents-inner .btnC {
	margin: 0 auto;
}

.fair-menu .contents .contents-inner .btnC.typeB {
	margin-bottom: 50px;
}


@media screen and (max-width: 768px) {
	.fair-menu {
		/* background: url("../img/lower-bg_sp.webp") center top / cover no-repeat fixed; */
		background: none;
		padding: 48px 16px 90px;
	}
	.fair-menu::before {
		content: "";
		position: fixed;
		inset: 0;
		background: url("../img/lower-bg_sp.webp") center top / cover no-repeat;
		z-index: -1;
	}
	.fair-menu .item-imgA {
		display: none;
	}
	.fair-menu .item-imgB {
		display: none;
	}
	.fair-menu .item-imgC {
		display: none;
	}
	.fair-menu h2 {
		width: 180px;
		margin: 0 auto;
	}
	.fair-menu .contents {
		padding: 30px 16px 45px;
		border-radius: 6px;
		border: 0.5px solid #B62727;
	}
	.fair-menu .contents.typeA {
		margin-top: 20px;
	}
	.fair-menu .contents.typeB {
		margin-top: 25px;
	}
	.fair-menu .contents .contents-inner h3 {
		font-size: min(2rem, 5.333vw);
		line-height: normal;
		margin-bottom: 30px;
	}
	.fair-menu .contents .contents-inner h3 span {
		font-size: min(1.5rem, 4vw);
		letter-spacing: 0.3px;
		padding-top: 0;
	}
	.fair-menu .contents .contents-inner h4 {
		font-size: min(1.6rem, 4.267vw);
		line-height: normal;
		margin-bottom: 31px;
	}
	.fair-menu .contents .contents-inner h4 span {
		display: block;
		font-size: min(1.4rem, 3.733vw);
		letter-spacing: 0;
		margin-top: 5px;
	}
}


/* ----------------------------------------------------------

 gift.htmlページ

---------------------------------------------------------- */

/* ----------------------------------------------------
 gift-drink-menu
---------------------------------------------------- */
.gift-drink-menu {
	background: url("../img/lower-bg.webp") center center / cover no-repeat fixed;
	padding: 50px 0 90px;
	/* overflow: hidden; */
	overflow: visible;
	position: relative;
	height: 100%;
}

.gift-drink-menu .item01,
.gift-drink-menu .item02,
.gift-drink-menu .item03,
.gift-drink-menu .item04,
.gift-drink-menu .item05,
.gift-drink-menu .item06,
.gift-drink-menu .item07,
.gift-drink-menu .item08,
.gift-drink-menu .item09,
.gift-drink-menu .item10,
.gift-drink-menu .item11,
.gift-drink-menu .item12,
.gift-drink-menu .item13,
.gift-drink-menu .item14,
.gift-drink-menu .item15,
.gift-drink-menu .item16,
.gift-drink-menu .item17,
.gift-drink-menu .item18,
.gift-drink-menu .item19,
.gift-drink-menu .item20,
.gift-drink-menu .item21,
.gift-drink-menu .item22,
.gift-drink-menu .item23,
.gift-drink-menu .item24 {
	position: absolute;
	z-index: 0;
}

.gift-drink-menu .item01 {
	top: 0;
	right: -110px;
}

.gift-drink-menu .item02 {
	top: 570px;
	left: -10px;
}

.gift-drink-menu .item03 {
	top: 960px;
	right: -130px;
}

.gift-drink-menu .item04 {
	top: 1540px;
	left: -150px;
}

.gift-drink-menu .item05 {
	top: 2430px;
	right: 50px;
}

.gift-drink-menu .item06 {
	top: 2790px;
	left: -160px;
}

.gift-drink-menu .item07 {
	top: 3400px;
	right: -130px;
}

.gift-drink-menu .item08 {
	top: 3980px;
	left: -10px;
}

.gift-drink-menu .item09 {
	top: 4400px;
	right: -110px;
}

.gift-drink-menu .item-imgA {
	width: 530px;
}

.gift-drink-menu .item-imgB {
	width: 220px;
}

.gift-drink-menu .item-imgC {
	width: 530px;
	transform: rotate(260deg);
}

.gift-drink-menu .border {
	background: #B62727;
	width: 806px;
	height: 2px;
	margin: 111px auto 90px;
}

.gift-drink-menu h2 {
	width: 302px;
	margin: 0 auto;
}

.gift-drink-menu h2.typeB {
	width: 500px;
	padding-top: 100px;
	margin-top: -100px;
}

.gift-drink-menu .contents,
.gift-drink-menu .drink-contents {
	max-width: 1140px;
	margin: 0 auto;
	padding: 55px 0 74px;
	border-radius: 16px;
	border: 1.5px solid #B62727;
	background: rgba(255, 255, 255, 0.7);
	position: relative;
	z-index: 1;
}

.gift-drink-menu .contents.typeA {
	margin-top: 45px;
}

.gift-drink-menu .contents.typeB {
	margin-top: 50px;
}

.gift-drink-menu .contents .contents-inner {
	max-width: 805px;
	margin: 0 auto;
}

.gift-drink-menu .contents .contents-inner h3 {
	color: #494949;
	text-align: center;
	font-size: min(3.6rem, 9.6vw);
	font-weight: 600;
	line-height: 26px;
	margin-bottom: 33px;
}

.gift-drink-menu .contents .contents-inner h3.typeB {
	line-height: normal;
}

.gift-drink-menu .contents .contents-inner h3 span {
	display: block;
	color: #B62727;
	font-size: min(2.3rem, 6.133vw);
	font-weight: 500;
	letter-spacing: 0.46px;
	padding-top: 15px;
}

.gift-drink-menu .contents .contents-inner h4 {
	color: #494949;
	text-align: center;
	font-size: min(2.6rem, 6.933vw);
	font-weight: 600;
	line-height: 42px;
	margin-bottom: 50px;
}

.gift-drink-menu .contents .contents-inner h4 span {
	color: #B62727;
	font-size: min(2.2rem, 5.867vw);
	font-weight: 400;
}

.gift-drink-menu .contents .contents-inner h4.typeB {
	font-size: min(3.2rem, 2.343vw);
	margin-bottom: 13px;
}

.gift-drink-menu .contents .contents-inner .btnC {
	margin: 0 auto;
}

.gift-drink-menu .contents .contents-inner .btnC.typeB {
	margin-bottom: 50px;
}

.gift-drink-menu .contents .contents-inner .menu-needs {
	max-width: 460px;
	margin: 0 auto 63px;
}

.gift-drink-menu .contents .contents-inner .menu-needs li {
	color: #494949;
	font-size: min(2.4rem, 1.757vw);
	font-weight: 500;
	line-height: 1.8;
}

.gift-drink-menu .contents .contents-inner .rel {
	position: relative;
}

.gift-drink-menu .contents .contents-inner .icon-needs {
	width: 101px;
	position: absolute;
	top: 470px;
	left: 10px;
}

.gift-drink-menu .area-drink {
	margin-top: 59px;
}

.gift-drink-menu .area-drink .drink-contents {
	display: flex;
	justify-content: space-between;
	gap: 28px;
	padding: 37px 47px;
	position: relative;
}

.gift-drink-menu .area-drink .drink-contents.typeB {
	margin-top: 30px;
}

.gift-drink-menu .area-drink .drink-contents .img {
	width: 40.3%;
	order: 3;
}

.gift-drink-menu .area-drink .drink-contents .area-text {
	width: 50%;
}

.gift-drink-menu .area-drink .drink-contents .area-text h3 {
	display: flex;
	align-items: center;
	color: #494949;
	font-size: min(3.2rem, 2.343vw);
	font-weight: 600;
	position: relative;
}
.gift-drink-menu .area-drink .drink-contents .area-text h3::before {
	content: '';
	display: block;
	width: 9px;
	height: 48px;
	background: #B62727;
	margin-right: 17px;
}

.gift-drink-menu .area-drink .drink-contents .area-text .drink-menu {
	margin-top: 15px;
}

.gift-drink-menu .area-drink .drink-contents .area-text .drink-menu li {
	color: #494949;
	font-size: min(2.4rem, 1.757vw);
	font-weight: 500;
	line-height: 40px;
	margin-bottom: 6px;
	padding-left: 1em;
	text-indent: -1em;
}
.gift-drink-menu .area-drink .drink-contents .area-text .drink-menu li:last-child {
	margin-bottom: 0;
}

.gift-drink-menu .area-drink .drink-contents .area-text .txt {
	color: #494949;
	font-size: min(2.4rem, 1.757vw);
	font-weight: 500;
	line-height: 40px;
	margin-top: 15px;
}
.gift-drink-menu .area-drink .drink-contents .area-text .txt::before {
	content: '◼︎';
	color: #B62727;
	font-size: min(4rem, 2.928vw);
	vertical-align: bottom;
}

.gift-drink-menu .area-drink .drink-contents .icon {
	order: 2;
	width: 11%;
}

.gift-drink-menu .area-drink .btnC {
	margin: 50px auto 0;
}

.gift-drink-menu .sommelier {
	max-width: 805px;
	margin: 74px auto 0;
	padding: 31px 44px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 30px;
	border-radius: 16px;
	background: linear-gradient(82deg, #B62727 20.1%, #FBD7AF 212.07%);
}

.gift-drink-menu .sommelier .sommelier__content {
	width: 61%;
	color: #fff;
}

.gift-drink-menu .sommelier .sommelier__content .sommelier__position {
	font-size: min(2.4rem, 1.757vw);
	font-weight: 600;
	line-height: 36px;
}

.gift-drink-menu .sommelier .sommelier__content .sommelier__name {
	font-size: min(3.9rem, 2.855vw);
	font-weight: 600;
	line-height: normal;
	margin-top: 16px;
}

.gift-drink-menu .sommelier .sommelier__content .sommelier__name .sommelier__name-en {
	font-size: min(2.3rem, 1.684vw);
}

.gift-drink-menu .sommelier .sommelier__content .sommelier__message {
	font-family: var(--gothic);
	font-size: min(2rem, 1.464vw);
	font-weight: 500;
	line-height: 30px;
	margin-top: 25px;
}

.gift-drink-menu .sommelier .sommelier__image {
	width: 35%;
}

@media screen and (max-width: 768px) {
	.gift-drink-menu {
		/* background: url("../img/lower-bg_sp.webp") center top / cover no-repeat fixed; */
		background: none;
		padding: 48px 16px 80px;
	}
	.gift-drink-menu::before {
		content: "";
		position: fixed;
		inset: 0;
		background: url("../img/lower-bg_sp.webp") center top / cover no-repeat;
		z-index: -1;
	}
	.gift-drink-menu .item-imgA {
		display: none;
	}
	.gift-drink-menu .item-imgB {
		display: none;
	}
	.gift-drink-menu .item-imgC {
		display: none;
	}
	.gift-drink-menu .border {
		width: 100%;
		height: 1px;
		margin: 57px auto 45px;
	}
	.gift-drink-menu h2 {
		width: 213px;
		margin: 0 auto;
	}
	.gift-drink-menu h2.typeB {
		width: 343px;
	}
	.gift-drink-menu .contents,
	.gift-drink-menu .drink-contents {
		padding: 30px 16px 45px;
		border-radius: 6px;
		border: 0.5px solid #B62727;
	}
	.gift-drink-menu .contents.typeA {
		margin-top: 13px;
	}
	.gift-drink-menu .contents .contents-inner h3 {
		font-size: min(2rem, 5.333vw);
		line-height: normal;
		margin-bottom: 30px;
	}
	.gift-drink-menu .contents .contents-inner h3 span {
		font-size: min(1.5rem, 4vw);
		letter-spacing: 0.3px;
		padding-top: 0;
	}
	.gift-drink-menu .contents .contents-inner h4 {
		font-size: min(1.6rem, 4.267vw);
		line-height: normal;
		margin-bottom: 31px;
	}
	.gift-drink-menu .contents .contents-inner h4 span {
		display: block;
		font-size: min(1.4rem, 3.733vw);
		letter-spacing: 0;
		margin-top: 5px;
	}
	.gift-drink-menu .contents .contents-inner h4.typeB {
		font-size: min(1.8rem, 4.8vw);
		text-align: left;
	}
	.gift-drink-menu .contents .contents-inner .btnC.typeB {
		margin-bottom: 50px;
	}
	.gift-drink-menu .contents .contents-inner .menu-needs {
		margin: 0 auto 37px;
	}
	.gift-drink-menu .contents .contents-inner .menu-needs li {
		font-size: min(1.5rem, 4vw);
	}
	.gift-drink-menu .contents .contents-inner .rel {
		position: relative;
	}
	.gift-drink-menu .contents .contents-inner .icon-needs {
		width: 66px;
		top: 49vw;
		left: auto;
		right: 0;
	}
	.gift-drink-menu .area-drink {
		margin-top: 29px;
	}
	.gift-drink-menu .area-drink .drink-contents {
		padding: 21px 16px 29px;
		flex-wrap: wrap;
		gap: 17px;
	}
	.gift-drink-menu .area-drink .drink-contents.typeB {
		margin-top: 30px;
	}
	.gift-drink-menu .area-drink .drink-contents .img {
		display: contents;
	}
	.gift-drink-menu .area-drink .drink-contents .img img {
		order: 2;
	}
	.gift-drink-menu .area-drink .drink-contents .area-text {
		display: contents;
	}
	.gift-drink-menu .area-drink .drink-contents .area-text h3 {
		font-size: min(2.4rem, 6.4vw);
		width: 100%;
		order: 1;
	}
	.gift-drink-menu .area-drink .drink-contents .area-text h3::before {
		width: 6px;
		height: 37px;
		margin-right: 11px;
	}
	.gift-drink-menu .area-drink .drink-contents .area-text .drink-menu {
		margin-top: 0;
		width: 100%;
		order: 3;
	}
	.gift-drink-menu .area-drink .drink-contents .area-text .drink-menu li {
		font-size: min(1.7rem, 4.533vw);
		line-height: normal;
		letter-spacing: 0;
	}
	.gift-drink-menu .area-drink .drink-contents .area-text .drink-menu li:last-child {
		margin-bottom: 0;
	}
	.gift-drink-menu .area-drink .drink-contents .area-text .txt {
		width: 100%;
		font-size: min(1.7rem, 4.533vw);
		line-height: 36px;
		margin-top: 0;
		order: 3;
	}
	.gift-drink-menu .area-drink .drink-contents .area-text .txt::before {
		font-size: min(2.8rem, 7.467vw);
	}
	.gift-drink-menu .area-drink .drink-contents .icon {
		order: 4;
		width: 33%;
		margin: 0 auto;
	}
	.gift-drink-menu .area-drink .btnC {
		margin: 45px auto 0;
	}
	.gift-drink-menu .sommelier {
		margin: 58px auto 0;
		padding: 26px 16px 35px;
		display: block;
		gap: 30px;
		border-radius: 16px;
		background: linear-gradient(82deg, #B62727 20.1%, #FBD7AF 212.07%);
	}
	.gift-drink-menu .sommelier .sommelier__content {
		width: 100%;
	}
	.gift-drink-menu .sommelier .sommelier__content .sommelier__position {
		font-size: min(1.7rem, 4.533vw);
		line-height: 26px;
	}
	.gift-drink-menu .sommelier .sommelier__content .sommelier__name {
		font-size: min(2.7rem, 7.2vw);
		margin-top: 11px;
	}
	.gift-drink-menu .sommelier .sommelier__content .sommelier__name .sommelier__name-en {
		font-size: min(1.6rem, 4.267vw);
	}
	.gift-drink-menu .sommelier .sommelier__content .sommelier__message {
		font-size: min(1.5rem, 4vw);
		line-height: 21px;
		margin-top: 20px;
	}
	.gift-drink-menu .sommelier .sommelier__image {
		width: 80%;
		margin: 17px auto 0;
	}
}


/* ----------------------------------------------------------

 story.htmlページ

---------------------------------------------------------- */

/* ----------------------------------------------------
 story
---------------------------------------------------- */
.story {
	position: relative;
	overflow: hidden;
	padding: 50px 0 90px;
	background:
		url("../img/lower-bg.webp")
		center center / cover no-repeat fixed;
}

.story h2 {
	width: 505px;
	margin: 0 auto;
}

.story .story-history {
	margin-top: 41px;
}

.story-history__timeline {
	--timeline-gap: 81px;
	--marker-size: 26px;
	--marker-space: 32px;

	display: flex;
	flex-wrap: wrap;
	gap: var(--timeline-gap);
	max-width: 1140px;
	margin: 0 auto;
}

.story-history__item {
	width: calc((100% - var(--timeline-gap) * 2) / 3);
	min-width: 0;
}

.story-history__image {
	position: relative;
	margin-bottom: 45px;
}

.story-history__image > img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
}

.story-history__icon {
	position: absolute;
	z-index: 3;
	top: calc(100% + var(--marker-space));
	left: 0;
	width: var(--marker-size);
	height: var(--marker-size);
	transform: translateY(-50%);
}

.story-history__icon img {
	display: block;
	width: 100%;
	height: auto;
}

.story-history__image::after {
	content: "";
	position: absolute;
	z-index: 1;
	top: calc(100% + var(--marker-space));
	left: calc(var(--marker-size) / 2);
	width: calc(100% + var(--timeline-gap));
	height: 4px;
	background: #B62727;
	transform: scaleX(0);
	transform-origin: left center;
	transition:
		transform 1s cubic-bezier(.22, .61, .36, 1);
}

.story-history__item:nth-child(3) .story-history__image::after {
	width: calc(100vw - (50vw - 570px));
}

.story-history__current .story-history__image::after {
	display: none;
}

.story-history__image.is-line-show::after {
	transform: scaleX(1);
}

.story-history__item:not(.story-history__current)
.story-history__date {
	color: #B62727;
	font-size: min(3.5rem, 2.562vw);
	font-weight: 600;
	line-height: 1.2;
}

.story-history__item:not(.story-history__current)
.story-history__date span {
	font-size: min(2rem, 1.464vw);
}

.story-history__item:not(.story-history__current)
.story-history__text {
	color: #231815;
	font-family: var(--gothic);
	font-size: min(1.5rem, 1.098vw);
	font-weight: 500;
	line-height: 26px;
	letter-spacing: -0.3px;
}

.story-history__item.story-history__current {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 55px;
	width: 931px;
	margin: 34px auto 0;
}

.story-history__current .story-history__current-image {
	width: 40%;
	margin-bottom: 0;
}

.story-history__current .story-history__current-image > img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 16px;
}

.story-history__current .story-history__current-content {
	width: 60%;
}

.story-history__current .story-history__date {
	color: #B62727;
	font-size: min(4.5rem, 3.294vw);
	font-weight: 600;
	line-height: 42px;
}

.story-history__current .story-history__date span {
	font-size: min(2.8rem, 2.05vw);
}

.story-history__current .story-history__lead {
	margin-top: 23px;
	color: #231815;
	font-size: min(4.1rem, 3.001vw);
	font-weight: 500;
	line-height: 60px;
}

.story-history__current .story-history__text {
	margin-top: 17px;
	color: #231815;
	font-size: min(2.2rem, 1.611vw);
	font-weight: 500;
	line-height: 48px;
}

.story-history__current .story-history__icon {
	display: none;
}

.story-history__image > img,
.story-history__body {
	opacity: 0;
	transform: translateX(-40px);
	transition:
		opacity 1.2s cubic-bezier(.22, .61, .36, 1),
		transform 1.2s cubic-bezier(.22, .61, .36, 1);
}

.story-history__item.is-show .story-history__image > img,
.story-history__item.is-show .story-history__body {
	opacity: 1;
	transform: translateX(0);
}

@media screen and (max-width: 768px) {
	.story {
		padding: 48px 0 71px;
		/* background:
			url("../img/lower-bg_sp.webp")
			center top / cover no-repeat fixed; */
		background: none;
	}
	.story::before {
		content: "";
		position: fixed;
		inset: 0;
		background: url("../img/lower-bg_sp.webp") center top / cover no-repeat;
		z-index: -1;
	}
	.story h2 {
		width: 284px;
	}
	.story .story-history {
		margin-top: 41px;
	}
	.story-history__timeline {
		--timeline-left: 31px;
		--content-left: 60px;
		--marker-size: 26px;

		position: relative;
		display: block;
		max-width: none;
		padding:
			0
			18px
			0
			var(--content-left);
	}
	.story-history__item,
	.story-history__item.story-history__current {
		position: relative;
		display: block;
		width: 100%;
		margin: 0;
	}

	.story-history__item + .story-history__item {
		margin-top: 38px;
	}
	.story-history__image,
	.story-history__current .story-history__current-image {
		position: relative;
		width: 100%;
		margin-bottom: 14px;
	}

	.story-history__image > img,
	.story-history__current
	.story-history__current-image > img {
		display: block;
		width: 100%;
		height: auto;
		border-radius: 8px;
	}
	.story-history__image::after {
		display: none;
	}

	.story-history__icon {
		position: absolute;
		z-index: 3;
		top: 50%;
		left: calc(
			(var(--content-left) - var(--timeline-left)) * -1
		);
		width: var(--marker-size);
		height: var(--marker-size);
		transform: translate(-50%, -50%);
	}

	.story-history__item:not(:last-child)::after {
		content: "";
		position: absolute;
		z-index: 1;
		top: calc(var(--story-image-height, 0px) / 2);
		left: calc(
			(var(--content-left) - var(--timeline-left)) * -1
		);
		width: 3px;
		height: var(--story-line-height, 0px);
		background: #B62727;
		transform:
			translateX(-50%)
			scaleY(0);
		transform-origin: top center;
		transition:
			transform 1s cubic-bezier(.22, .61, .36, 1);
	}

	.story-history__item.is-line-show::after {
		transform:
			translateX(-50%)
			scaleY(1);
	}

	.story-history__item:not(.story-history__current)
	.story-history__date {
		margin-top: 0;
		font-size: min(3.2rem, 8.533vw);
		line-height: 1.2;
	}

	.story-history__item:not(.story-history__current)
	.story-history__date span {
		font-size: min(1.9rem, 5.067vw);
	}

	.story-history__item:not(.story-history__current)
	.story-history__text {
		font-size: min(1.5rem, 4vw);
		line-height: 24px;
	}

	.story-history__current
	.story-history__current-content {
		width: 100%;
	}
	.story-history__current .story-history__date {
		color: #B62727;
		font-size: min(3.2rem, 8.533vw);
		font-weight: 600;
		line-height: 1.2;
	}
	.story-history__current
	.story-history__date span {
		font-size: min(1.9rem, 5.067vw);
	}
	.story-history__current
	.story-history__lead {
		margin-top: 22px;
		color: #231815;
		font-size: min(2.7rem, 7.2vw);
		font-weight: 500;
		line-height: 1.65;
		letter-spacing: 0;
	}
	.story-history__current
	.story-history__text {
		margin-top: 18px;
		color: #231815;
		font-size: min(1.5rem, 4vw);
		font-weight: 500;
		line-height: 2;
	}
	.story-history__image > img,
	.story-history__body {
		transform: translateX(-30px);
	}
	.story-history__item.is-show
	.story-history__image > img,
	.story-history__item.is-show
	.story-history__body {
		transform: translateX(0);
	}
	.story-history__current .story-history__icon {
		display: block;
	}
}


.story .map {
	margin-top: 84px;
}

.story .map h3 {
	text-align: center;
	color: #B62727;
	font-size: min(3.6rem, 2.635vw);
	font-weight: 600;
	line-height: 42px;
}

.story .map .img {
	width: 80%;
	margin-left: auto;
}

@media screen and (max-width: 768px) {
	.story .map {
		margin-top: 37px;
	}
	.story .map h3 {
		font-size: min(2.2rem, 5.867vw);
	}
	.story .map .img {
		width: 100%;
		margin-left: auto;
	}
}

.story .message {
	max-width: 950px;
	margin: 30px auto 0;
}

.story .message .message-contents {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 55px;
	color: #231815;
	border-bottom: 2px solid #B62727;
	margin-top: 51px;
	padding-bottom: 49px;
}
.story .message .message-contents:first-child {
	margin-top: 0;
}
.story .message .message-contents:last-child {
	border-bottom: none;
}

.story .message .message-contents .text {
	width: 71%;
}

.story .message .message-contents .text h3 {
	display: inline-block;
	font-size: min(4rem, 2.928vw);
	font-weight: 500;
	letter-spacing: 1.6px;
	position: relative;
}
.story .message .message-contents .text h3.iconA::after {
	content: '';
	background: url(../img/story-icon-message01.webp) no-repeat;
	background-size: 100%;
	width: 70px;
	height: 68px;
	position: absolute;
	top: 0;
	right: -100px;
}
.story .message .message-contents .text h3.iconB::after {
	content: '';
	background: url(../img/story-icon-message02.webp) no-repeat;
	background-size: 100%;
	width: 70px;
	height: 72px;
	position: absolute;
	top: 0;
	right: -90px;
}
.story .message .message-contents .text h3.iconC::after {
	content: '';
	background: url(../img/story-icon-message03.webp) no-repeat;
	background-size: 100%;
	width: 87px;
	height: 65px;
	position: absolute;
	top: 0;
	right: -110px;
}

.story .message .message-contents .text h3 ruby {
	ruby-position: over;
}

.story .message .message-contents .text h3 rt {
	font-size: min(1.4rem, 1.025vw);
	line-height: 1;
	letter-spacing: -19px;
}

@supports (-webkit-touch-callout: none) {
	.story .message .message-contents .text h3 rt span {
		display: inline-block;
		transform: translateY(8px);
		letter-spacing: 0;
	}
}

.story .message .message-contents .text .txt {
	font-family: var(--gothic);
	font-size: min(1.8rem, 1.318vw);
	font-weight: 400;
	line-height: 32px;
	letter-spacing: -0.18px;
	margin-top: 30px;
}

.story .message .message-contents .img {
	width: 29%;
}

.story .message .message-contents .img figcaption {
	font-size: min(2.6rem, 1.903vw);
	font-weight: 500;
	line-height: 30px;
	letter-spacing: 1.04px;
	margin-top: 6px;
}

.story .message .message-contents .img figcaption span {
	font-size: min(2rem, 1.464vw);
	letter-spacing: 0.8px;
}

.message .message-contents:nth-child(even) .text {
	order: 2;
}

.message .message-contents:nth-child(even) .img {
	order: 1;
}

@media screen and (max-width: 768px) {
	.story .message {
		margin: 39px auto 0;
		padding: 0 16px;
	}
	.story .message .message-contents {
		display: block;
		border-bottom: 1px solid #B62727;
		margin-top: 49px;
		padding-bottom: 49px;
	}
	.story .message .message-contents:first-child {
		margin-top: 0;
	}
	.story .message .message-contents:last-child {
		border-bottom: none;
	}
	.story .message .message-contents .text {
		width: 100%;
	}
	.story .message .message-contents .text h3 {
		font-size: min(2.6rem, 6.933vw);
	}
	.story .message .message-contents .text h3 rt {
		font-size: min(1.2rem, 3.2vw);
		letter-spacing: -15px;
	}
	.story .message .message-contents .text .txt {
		font-size: min(1.5rem, 4vw);
		font-weight: 500;
		line-height: 28px;
		margin-top: 16px;
	}
	.story .message .message-contents .img {
		width: 75%;
		margin: 20px auto 0;
	}
	.story .message .message-contents .img figcaption {
		font-size: min(2.4rem, 6.4vw);
	}
	.story .message .message-contents .img figcaption span {
		font-size: min(1.8rem, 4.8vw);
	}
}

/* ----------------------------------------------------
 producer
---------------------------------------------------- */
.producer {
	padding: 125px 0 93px;
	background: linear-gradient(
		37deg,
		#B62727 38.84%,
		#FBD7AF 168.56%
	);
}

.producer h2 {
	width: 286px;
	margin: 0 auto;
}

/* 生産者一覧 */
.producer-inner {
	max-width: 1139px;
	margin: 45px auto 0;
}

/* 生産者カード */
.producer-contents {
	margin-top: 24px;
	padding: 37px 44px 46px;
	background: #FAEFDE;
}
.producer-contents:first-child {
	margin-top: 0;
}

.producer-contents .btnC {
	margin: 20px auto 0;
}

.producer-contents-inner {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 37px;
}

/* スライダー */
.slideB {
	position: relative;
	width: calc(43% - 18.5px);
	min-width: 0;
	overflow: hidden;
	padding-bottom: 15px;
}

.slideB .slick-list,
.slideB .slick-track {
	height: 100%;
}

.slideB .slick-slide {
	height: auto;
}

.slideB .slick-slide div {
	height: 100%;
}

.slideB .slick-slide img {
	display: block;
	width: 100%;
	height: auto;
}

.producer-contents-inner > .text {
	width: calc(57% - 18.5px);
	min-width: 0;
}

.producer__farm {
	padding: 14px 10px;
	background: linear-gradient(
		90deg,
		#B62727 7.45%,
		#FBD7AF 215.84%
	);
	color: #fff;
	font-family: var(--mincho);
	font-size: 26px;
	font-weight: 500;
	line-height: 1;
	text-align: center;
}

.producer__name {
	margin-top: 20px;
	color: #494949;
	font-family: var(--mincho);
	font-size: min(3.6rem, 2.635vw);
	font-weight: 500;
	line-height: 1.4;
}

.producer__name span {
	margin-right: 8px;
	font-size: min(2.6rem, 1.903vw);
}

.producer__txt {
	margin-top: 5px;
	color: #494949;
	font-family: var(--gothic);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.625;
}

.producer__info {
	margin-top: 40px;
	padding: 7px 12px;
	border: 1.5px solid #B62727;
	background: #fff;
}

.producer__info-item {
	display: flex;
	font-family: var(--gothic);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.625;
}

.producer__info-label {
	flex-shrink: 0;
	color: #B62727;
	font-weight: 600;
}

.producer__info-label span {
	color: #494949;
		padding-right: 6px;	
}

.producer__info-value {
	color: #494949;
	letter-spacing: 0;
}

.slideB .slick-dots {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
	display: flex;
	gap: 7px;
	width: auto;
	margin: 0;
	padding: 0;
	list-style: none;
}

.slideB .slick-dots li {
	width: 9px;
	height: 9px;
	margin: 0;
}

.slideB .slick-dots button {
	display: block;
	width: 9px;
	height: 9px;
	padding: 0;
	border-radius: 50%;
	background: #D9D9D9;
	font-size: 0;
	line-height: 0;
	cursor: pointer;
}

.slideB .slick-dots li.slick-active button {
	background: #B62727;
}

.slideB .slick-dots button::before {
	display: none;
}

@media screen and (max-width: 768px) {
	.producer {
		padding: 65px 16px 49px;
		background: linear-gradient(
			87deg,
			#B62727 38.84%,
			#FBD7AF 168.56%
		);
	}
	.producer h2 {
		width: 145px;
	}
	.producer-inner {
		margin: 26px auto 0;
	}
	.producer-contents {
		margin-top: 27px;
		padding: 29px 17px 23px;
	}
	.producer-contents .btnC {
		margin: 20px auto 0;
	}
	.producer-contents-inner {
		flex-wrap: wrap;
		gap: 0;
	}
	.slideB {
		width: 100%;
		padding-bottom: 15px;
		order: 2;
	}
	.producer-contents-inner > .text {
		display: contents;
	}
	.producer__farm {
		width: 100%;
		padding: 11px 10px;
		background: linear-gradient(
			90deg,
			#B62727 7.45%,
			#FBD7AF 215.84%
		);
		font-size: min(1.8rem, 4.8vw);
		line-height: normal;
		margin-bottom: 8px;
	}
	.producer__name {
		width: 100%;
		order: 3;
		text-align: left;
		margin-top: 20px;
		font-size: min(2.2rem, 5.867vw);
	}
	.producer__name span {
		margin-right: 8px;
		font-size: min(1.7rem, 4.533vw);
	}
	.producer__txt {
		order: 4;
		margin-top: 5px;
		font-size: min(1.5rem, 4vw);
		line-height: 26px;
	}
	.producer__info {
		order: 5;
		width: 100%;
		margin-top: 15px;
		padding: 7px 12px;
	}
	.producer__info-item {
		font-size: min(1.5rem, 4vw);
	}
	.slideB .slick-dots {
		left: auto;
		right: 0;
		gap: 3px;
	}
	.slideB .slick-dots li {
		width: 4px;
		height: 4px;
	}
	.slideB .slick-dots button {
		width: 4px;
		height: 4px;
	}
}