.northern,
.southern,
.recommended {
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
}

.northern {
	background-image: url(../img/northern/north-bg.webp);
}

.southern {
	background-image: url(../img/southern/south-bg.webp);
}

.recommended {
	background-image: url(../img/recommended/recommend-bg.webp);
}

@media screen and (max-width: 768px) {
	.northern {
		background-image: url(../img/northern/north-bg_sp.webp);
	}

	.southern {
		background-image: url(../img/southern/south-bg_sp.webp);
	}

	.recommended {
		background-image: url(../img/recommended/recommend-bg_sp.webp);
	}
}

/* ----------------------------------------------------
	main
---------------------------------------------------- */
.main {
	padding-top: min(10rem, 7.321vw);
}

.main__title {
	margin: 0 auto min(4rem, 2.928vw);
	width: min(114rem, 83.455vw);
	line-height: normal;
	text-align: center;
}

.main__title--date {
	margin-top: min(2rem, 1.464vw);
	font-family: var(--mincho);
	font-size: min(3.4rem, 2.489vw);
	font-weight: 500;
	display: block;
}

.main .container {
	margin: 0 auto;
	width: min(114rem, 83.455vw);
}

/* recommended */
.recommended .main {
	padding-bottom: min(20rem, 14.641vw);
}

@media screen and (max-width: 768px) {
	.main {
		padding-top: 26.667vw;
	}

	.main__title {
		margin-bottom: 10.667vw;
		width: 83.733vw;
	}

	.main__title--date {
		margin-top: 5.333vw;
		font-size: 6.4vw;
	}

	.recommended .main__title,
	.main .container {
		width: 91.733vw;
	}
}

/* ----------------------------------------------------
	shop
---------------------------------------------------- */
.shop {
	background-color: rgba(var(--wht), 0.7);
	padding: min(8rem, 5.857vw) 0;
	text-align: center;
	border-style: solid;
	border-width: 1px;
	border-radius: min(1.6rem, 1.171vw);
	position: relative;
}

.shop::before {
	width: min(0.4rem, 0.293vw);
	height: min(5.5rem, 4.026vw);
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	content: "";
}

.shop:not(:last-of-type) {
	margin-bottom: min(4rem, 2.928vw);
}

.shop__title,
.shop__content--name {
	font-family: var(--mincho);
	font-weight: 600;
}

.shop__title {
	margin-bottom: min(4rem, 2.928vw);
	font-size: min(3.6rem, 2.635vw);
}

.shop__content--name {
	font-size: min(2.6rem, 1.903vw);
}

.shop__content--name:not(:last-of-type) {
	margin-bottom: min(4rem, 2.928vw);
}

.shop__title .eng,
.shop__content--name .eng {
	font-weight: 500;
	display: block;
}

.shop__title .eng {
	font-size: min(2.4rem, 1.757vw);
}

.shop__content--name .eng {
	font-size: min(2.2rem, 1.611vw);
}

.shop__content {
	margin-bottom: min(4rem, 2.928vw);
}

.shop__content:not(:first-of-type) {
	margin-top: min(7rem, 5.124vw);
}

.shop__image {
	margin: 0 auto min(2.5rem, 1.83vw);
	width: min(80.5rem, 58.931vw);
}

.shop .link-button {
	margin: 0 auto;
	width: min(39rem, 28.551vw);
}

/* slick */
.shop .slick-dots {
	justify-content: center;
	bottom: min(2rem, 1.464vw);
}

/* northern */
.northern .shop {
	border-color: rgb(var(--blu));
}

.northern .shop::before {
	background-color: rgb(var(--blu));
}

.northern .shop__title .eng,
.northern .shop__content--name .eng,
.northern .shop__content--detail .eng {
	color: rgb(var(--blu));
}

.northern .slick-dots li.slick-active button {
	background-color: rgb(var(--blu));
}

/* southern */
.southern .shop {
	border-color: rgb(var(--grn));
}

.southern .shop::before {
	background-color: rgb(var(--grn));
}

.southern .shop__title .eng,
.southern .shop__content--name .eng,
.southern .shop__content--detail .eng {
	color: rgb(var(--grn));
}

.southern .slick-dots li.slick-active button {
	background-color: rgb(var(--grn));
}

/* recommended */
.recommended .shop {
	border-color: rgb(var(--grn));
}

.recommended .shop::before {
	background-color: rgb(var(--grn));
}

.recommended .shop__title .eng,
.recommended .shop__content--name .eng,
.recommended .shop__content--detail .eng {
	color: rgb(var(--grn));
}

.recommended .slick-dots {
	justify-content: flex-end;
	bottom: max(-2rem, -1.464vw);
}

.recommended .slick-dots li.slick-active button {
	background-color: rgb(var(--grn));
}

@media screen and (max-width: 768px) {
	.shop {
		padding: 15vw 4.267vw;
		border-radius: min(1.6rem, 1.171vw);
	}

	.shop::before {
		width: 0.533vw;
		height: 9.6vw;
	}

	.shop:not(:last-of-type) {
		margin-bottom: 6.667vw;
	}

	.shop__title {
		margin-bottom: 4vw;
		font-size: 6.4vw;
	}

	.shop__content--name {
		font-size: 4.267vw;
	}

	.shop__content--name:not(:last-of-type) {
		margin-bottom: 4.8vw;
	}

	.shop__title .eng {
		font-size: 4.267vw;
	}

	.shop__content--name .eng {
		font-size: 3.733vw;
	}

	.shop__content {
		margin-bottom: 5.333vw;
	}

	.shop__content:not(:first-of-type) {
		margin-top: 12vw;
	}

	.shop__image {
		margin-bottom: 6.4vw;
		width: 100%;
	}

	.shop .link-button {
		width: 100%;
	}

	/* slick */
	.shop .slick-dots {
		bottom: 3.2vw;
	}

	/* recommended */
	.recommended .slick-dots {
		bottom: -5.333vw;
	}
}

/* ----------------------------------------------------
	producer
---------------------------------------------------- */
.producer {
	margin-top: min(18rem, 13.177vw);
	padding: min(10rem, 7.321vw) 0;
}

.producer__title {
	margin-bottom: min(6rem, 4.392vw);
	text-align: center;
}

.producer__title img {
	width: auto;
	height: min(5.4rem, 3.953vw);
}

.producer__list--item {
	background-color: rgba(var(--wht), 0.9);
	padding: min(4rem, 2.928vw) min(5rem, 3.66vw);
	position: relative;
}

.producer__list--item::before {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: min(16rem, 11.713vw);
	height: min(16rem, 11.713vw);
	position: absolute;
	top: max(-1.8rem, -1.318vw);
	left: max(-1.8rem, -1.318vw);
	z-index: 1;
	content: "";
}

.producer__list--item:not(:last-of-type) {
	margin-bottom: min(2.5rem, 1.83vw);
}

.producer__list--item .link-button {
	margin: 0 auto;
	width: min(39rem, 28.551vw);
}

.producer__content {
	margin-bottom: min(3.6rem, 2.635vw);
	display: flex;
	justify-content: space-between;
}

/* .producer__content--title {
	display: none;
} */

.producer__image {
	width: min(42rem, 30.747vw);
}

.producer__image .slick-dots {
	bottom: max(-2rem, -1.464vw);
}

.producer__detail {
	width: min(58.5rem, 42.826vw);
}

.producer__detail--title {
	margin-bottom: min(1rem, 0.732vw);
	height: min(5.4rem, 3.953vw);
	color: rgb(var(--wht));
	font-family: var(--mincho);
	font-size: min(3rem, 2.196vw);
	font-weight: 500;
	display: flex;
	justify-content: center;
	align-items: center;
}

.producer__profile {
	margin-bottom: min(1rem, 0.732vw);
}

.producer__profile--name {
	line-height: normal;
	font-family: var(--mincho);
	font-size: min(3.6rem, 2.635vw);
	font-weight: 600;
}

.producer__profile--name .small {
	font-size: min(2.8rem, 2.05vw);
}

.producer__profile--name .small-max {
	font-size: min(2rem, 1.464vw);
}

.producer__profile--text {
	font-size: min(1.6rem, 1.171vw);
}

.producer__shop {
	background-color: rgb(var(--wht));
	padding: min(0.8rem, 0.586vw) min(1.2rem, 0.878vw);
	font-size: min(1.6rem, 1.171vw);
	border-style: solid;
	border-width: 1px;
}

.producer__shop--detail {
	display: flex;
}

.producer__shop--detail .title {
	margin-right: 0.25em;
	font-weight: 600;
}

.producer__shop--detail .title::after {
	color: rgb(var(--blk));
	content: "：";
}

/* northern */
.northern .producer {
	background: linear-gradient(150deg, #6CE5F6 0.35%, #3CBED1 68.74%);
}

.northern .producer__content--title,
.northern .producer__detail--title,
.northern .producer__list--item .link-button {
	background-color: rgb(var(--blu-light));
}

.northern .producer__shop {
	border-color: rgb(var(--blu-light));
}

.northern .producer__shop--detail .title {
	color: rgb(var(--blu-light));
}

.northern .producer__list--item.fukuoka::before {
	background-image: url(../img/northern/badge-fukuoka.webp);
}

.northern .producer__list--item.saga::before {
	background-image: url(../img/northern/badge-saga.webp);
}

.northern .producer__list--item.oita::before {
	background-image: url(../img/northern/badge-oita.webp);
}

/* southern */
.southern .producer {
	background: linear-gradient(151deg, #9FE494 11.94%, #58C37B 71.23%);
}

.southern .producer__content--title,
.southern .producer__detail--title,
.southern .producer__list--item .link-button {
	background-color: rgb(var(--grn-light));
}

.southern .producer__shop {
	border-color: rgb(var(--grn-light));
}

.southern .producer__shop--detail .title {
	color: rgb(var(--grn-light));
}

.southern .producer__list--item.miyazaki::before {
	background-image: url(../img/southern/badge-miyazaki.webp);
}

.southern .producer__list--item.kagoshima::before {
	background-image: url(../img/southern/badge-kagoshima.webp);
}

@media screen and (max-width: 768px) {
	.producer {
		margin-top: 21.333vw;
		padding: 21.333vw 0;
	}

	.producer__title {
		margin-bottom: 11.733vw;
	}

	.producer__title img {
		height: 8.8vw;
	}

	.producer__list--item {
		padding: 8vw 4.267vw 12vw;
	}

	.producer__list--item::before {
		width: 30.667vw;
		height: 30.667vw;
		top: -2.667vw;
		left: -2.667vw;
	}

	.producer__list--item:not(:last-of-type) {
		margin-bottom: 6.4vw;
	}

	.producer__list--item .link-button {
		width: 100%;
	}

	.producer__content {
		margin-bottom: 8vw;
		display: block;
		position: relative;
	}

	.producer__content--title {
		margin: 0 0 2.133vw 20%;
		width: 80%;
		height: 10.667vw;
		color: rgb(var(--wht));
		font-family: var(--mincho);
		font-size: 4.267vw;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.producer__image {
		margin-bottom: 8vw;
		width: 100%;
		position: absolute;
		top: 13.333vw;
	}

	.producer__image .slick-dots {
		bottom: -5.333vw;
	}

	.producer__detail {
		width: 100%;
	}

	.producer__detail--title {
		margin: 0 0 70.667vw 20%;
		width: 80%;
		height: 10.667vw;
		font-size: 4.267vw;
	}

	.producer__profile {
		margin-bottom: 4.267vw;
	}

	.producer__profile--name {
		font-size: 5.867vw;
	}

	.producer__profile--name .small,
	.producer__profile--name .small-max {
		font-size: 4vw;
	}

	.producer__profile--name .small-max {
		display: block;
	}

	.producer__profile--text {
		margin-top: 0.5em;
		font-size: 3.733vw;
	}

	.producer__shop {
		padding: 3.2vw;
		font-size: 3.733vw;
	}

	.producer__shop--detail {
		display: block;
	}

	.producer__shop--detail .title::after {
		display: none;
	}
}

/* ----------------------------------------------------
	sommelier
---------------------------------------------------- */
.sommelier {
	background: linear-gradient(151deg, #9FE494 11.94%, #58C37B 63.09%);
	margin-bottom: min(7rem, 5.124vw);
	padding: min(4.5rem, 3.294vw) min(9rem, 6.589vw);
	color: rgb(var(--wht));
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.sommelier__content {
	width: min(65rem, 47.584vw);
}

.sommelier__content--name {
	margin-bottom: min(2rem, 1.464vw);
	line-height: normal;
	font-family: var(--mincho);
	font-size: min(4rem, 2.928vw);
}

.sommelier__content--name .post {
	font-size: min(3rem, 2.196vw);
	display: block;
}

.sommelier__content--name .eng {
	font-size: min(2.4rem, 1.757vw);
}

.sommelier__content--text {
	font-size: min(1.8rem, 1.318vw);
}

.sommelier__image {
	width: min(27rem, 19.766vw);
}

@media screen and (max-width: 768px) {
	.sommelier {
		margin-bottom: 13.333vw;
		padding: 10.667vw 4.267vw;
		display: block;
	}

	.sommelier__content {
		margin-bottom: 6.4vw;
		width: 100%;
	}

	.sommelier__content--name {
		margin-bottom: 3.733vw;
		font-size: 7.467vw;
	}

	.sommelier__content--name .post {
		font-size: 4.8vw;
		display: block;
	}

	.sommelier__content--name .eng {
		line-height: normal;
		font-size: 5.333vw;
		display: block;
	}

	.sommelier__content--text {
		font-size: 4vw;
	}

	.sommelier__image {
		margin: 0 auto;
		width: 66.667vw;
	}
}

/* ----------------------------------------------------
	alcohol
---------------------------------------------------- */
.alcohol {
	margin-bottom: min(6rem, 4.392vw);
	position: relative
}

.alcohol.shochu {
	/* margin-bottom: min(20rem, 14.641vw); */
	margin-bottom: min(10.2rem, 7.467vw);
}

/* .alcohol.shochu::after {
	background-color: rgb(var(--grn-light));
	width: min(80rem, 58.565vw);
	height: min(0.3rem, 0.22vw);
	position: absolute;
	bottom: max(-10rem, -7.321vw);
	left: 50%;
	transform: translateX(-50%);
	content: "";
}*/

.alcohol__title {
	margin-bottom: min(2.5rem, 1.83vw);
	padding-left: min(1.6rem, 1.171vw);
	line-height: normal;
	color: rgb(var(--grn));
	font-family: var(--mincho);
	font-size: min(4.8rem, 3.514vw);
	border-left: solid min(0.8rem, 0.586vw) rgb(var(--grn));
	display: flex;
	align-items: baseline;
}

.alcohol__title .eng {
	margin-left: 0.5em;
	font-size: min(2.8rem, 2.05vw);
}

.alcohol__list--item {
	background-color: rgba(var(--wht), 0.7);
	padding: min(4rem, 2.928vw) min(5rem, 3.66vw);
	border: solid 1px rgb(var(--grn));
	border-radius: min(1.6rem, 1.171vw);
}

.alcohol__list--item:not(:last-of-type) {
	margin-bottom: min(4rem, 2.928vw);
}

.alcohol__content {
	margin-bottom: min(4rem, 2.928vw);
	display: flex;
	justify-content: space-between;
}

.alcohol__content--detail {
	width: min(58.5rem, 42.826vw);
	position: relative;
}

.alcohol__content--detail .title {
	background-color: rgb(var(--grn-light));
	margin-bottom: min(2rem, 1.464vw);
	height: min(5.4rem, 3.953vw);
	color: rgb(var(--wht));
	font-family: var(--mincho);
	font-size: min(2.6rem, 1.903vw);
	font-weight: 500;
	display: flex;
	justify-content: center;
	align-items: center;
}

.alcohol__content--detail .text {
	margin-bottom: min(2rem, 1.464vw);
	font-size: min(1.6rem, 1.171vw);
}

.alcohol__content--detail .square {
	color: rgb(var(--grn-light));
	font-size: min(2.2rem, 1.611vw);
	font-weight: 600;
}

.alcohol__content--detail .square li {
	margin-left: 1.3em;
	text-indent: -1.3em;
}

.alcohol__content--image {
	width: min(42rem, 30.747vw);
}

.alcohol__list .link-button {
	background-color: rgb(var(--grn-light));
	margin: 0 auto;
	width: min(39rem, 28.551vw);
}

/* logo */
.alcohol__content--detail.sake-saga1,
.alcohol__content--detail.shochu-kumamoto {
	padding-bottom: min(2rem, 1.464vw);
}

.alcohol__content--detail::after {
	background-position: center;
	background-repeat: no-repeat;
	background-size: auto 100%;
	width: min(16rem, 11.713vw);
	position: absolute;
	right: 0;
	bottom: 0;
	content: "";
}

.alcohol__content--detail.wine-oita::after {
	background-image: url(../img/recommended/logo-wine1.webp);
	height: min(7.8rem, 5.71vw);
}

.alcohol__content--detail.sake-fukuoka::after {
	background-image: url(../img/recommended/logo-sake1.webp);
	height: min(10.6rem, 7.76vw);
}

.alcohol__content--detail.sake-saga1::after {
	background-image: url(../img/recommended/logo-sake2.webp);
	height: min(13.3rem, 9.736vw);
}

.alcohol__content--detail.sake-saga2::after {
	background-image: url(../img/recommended/logo-sake3.webp);
	height: min(11.4rem, 8.346vw);
}

.alcohol__content--detail.sake-oita::after {
	background-image: url(../img/recommended/logo-sake4.webp);
	height: min(10.5rem, 7.687vw);
}

.alcohol__content--detail.shochu-kumamoto::after {
	background-image: url(../img/recommended/logo-shochu1.webp);
	height: min(14rem, 10.249vw);
}

@media screen and (max-width: 768px) {
	.alcohol {
		margin-bottom: 16vw;
	}

	.alcohol.shochu {
		/* margin-bottom: 32vw; */
		margin-bottom: 12vw;
	}

	/* .alcohol.shochu::after {
		width: 80%;
		height: 1px;
		bottom: -16vw;
	} */

	.alcohol__title {
		margin-bottom: 6.4vw;
		padding-left: 4.267vw;
		font-size: 9.6vw;
		border-left-width: 1.067vw;
	}

	.alcohol__title .eng {
		font-size: 5.333vw;
	}

	.alcohol__list--item {
		padding: 8vw 4.267vw;
		border-radius: 2.133vw;
	}

	.alcohol__list--item:not(:last-of-type) {
		margin-bottom: 8vw;
	}

	.alcohol__content {
		margin-bottom: 8vw;
		display: block;
		position: relative;
	}

	.alcohol__content--detail {
		width: 100%;
	}

	.alcohol__content--detail .title {
		margin-bottom: 66.667vw;
		padding: 0.5em 0;
		height: auto;
		line-height: normal;
		font-size: 4.8vw;
		text-align: center;
	}

	.alcohol__content--detail .text {
		margin-bottom: min(2rem, 1.464vw);
		font-size: 4vw;
	}

	.alcohol__content--detail .square {
		margin-bottom: 4vw;
		font-size: 4.8vw;
	}

	.alcohol__content--image {
		width: 100%;
		position: absolute;
		top: 16vw;
		left: 0;
	}

	.wine-oita+.alcohol__content--image {
		top: 22.933vw;
	}

	.alcohol__list .link-button {
		width: 100%;
	}

	/* logo */
	.alcohol__content--detail.sake-saga1,
	.alcohol__content--detail.shochu-kumamoto {
		padding-bottom: 0;
	}

	.alcohol__content--detail::after {
		width: 100%;
		display: block;
		position: static;
	}

	.alcohol__content--detail.wine-oita::after {
		height: 20.8vw;
	}

	.alcohol__content--detail.sake-fukuoka::after {
		height: 28.267vw;
	}

	.alcohol__content--detail.sake-saga1::after {
		height: 35.467vw;
	}

	.alcohol__content--detail.sake-saga2::after {
		height: 30.4vw;
	}

	.alcohol__content--detail.sake-oita::after {
		height: 28vw;
	}

	.alcohol__content--detail.shochu-kumamoto::after {
		height: 37.333vw;
	}
}

.alcohol-detail-btn {
	margin-bottom: min(20rem, 14.641vw);
	position: relative;
}

.alcohol-detail-btn::after {
	background-color: rgb(var(--grn-light));
	width: min(80rem, 58.565vw);
	height: min(0.3rem, 0.22vw);
	position: absolute;
	bottom: max(-10rem, -7.321vw);
	left: 50%;
	transform: translateX(-50%);
	content: "";
}

.alcohol-detail-btn .link-button {
	margin: 0 auto;
	width: min(39rem, 28.551vw);
}

@media screen and (max-width: 768px) {
	.alcohol-detail-btn {
		padding: 0 4.267vw;
		margin-bottom: 26.667vw;
	}

	.alcohol-detail-btn .link-button {
		width: 100%;
	}

	.alcohol-detail-btn::after {
		width: 100%;
		height: 1px;
		bottom: -12vw;
	}

}