.header,
.shop,
.footer {
	background: rgb(var(--blk));
}

.main {
	margin-bottom: 0;
}

#private.shop {
	margin-bottom: 34.261vw;
	padding-bottom: min(18rem, 13.177vw);
}

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

	.header,
	.main {
		margin-bottom: 0;
	}

	#private.shop {
		background-position: center right;
		margin-bottom: 74.667vw;
		padding-bottom: 16vw;
	}
}

/* ----------------------------------------------------
	private-bg
---------------------------------------------------- */
.private-bg {
	background: url(../img/private/private-bg.webp) center no-repeat;
	background-size: cover;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
}

/* ----------------------------------------------------
	topics
---------------------------------------------------- */
.topics {
	margin: min(12rem, 8.785vw) auto 0;
	width: min(96.6rem, 70.717vw);
	border: solid 1px rgb(var(--gry));
	display: flex;
	align-items: center;
}

.topics__image {
	width: min(54.4rem, 39.824vw);
}

.topics__content {
	padding: 0 min(4.5rem, 3.294vw);
	width: calc(100% - min(54.4rem, 39.824vw));
	font-size: min(1.8rem, 1.318vw);
}

.topics__content--title {
	margin-bottom: min(1.6rem, 1.171vw);
	line-height: 1.25;
	font-family: var(--font-en);
	font-size: min(4rem, 2.928vw);
	font-weight: 400;
}

.topics__content--title .small {
	font-size: min(2.8rem, 2.05vw);
	display: block;
}

.topics__content--item::before {
	color: rgb(var(--orn));
	content: "・";
}

.topics__content .link-button {
	margin: min(1.6rem, 1.171vw) 0 0;
}

@media screen and (max-width: 768px) {
	.topics {
		margin: min(12rem, 8.785vw) auto 0;
		width: 91.467vw;
		flex-direction: column-reverse;
	}

	.topics__image {
		width: 100%;
	}

	.topics__content {
		padding: 6.4vw;
		width: 100%;
		font-size: 3.733vw;
	}

	.topics__content--title {
		margin-bottom: 3.2vw;
		font-size: 6.4vw;
	}

	.topics__content--title .small {
		font-size: 5.333vw;
	}

	.topics__content .link-button {
		margin-top: 3.2vw;
	}
}

/* ----------------------------------------------------
	chef
---------------------------------------------------- */
.chef {
	background: rgb(var(--blk)) url(../img/chef-bg.webp) center top min(16.6rem, 12.152vw) no-repeat;
	background-size: cover;
	padding: min(13rem, 9.517vw) 0;
}

.chef__title {
	line-height: 1;
	font-family: var(--font-en);
	font-size: min(6.4rem, 4.685vw);
	font-weight: 400;
	text-align: center;
}

.chef__list {
	margin: min(6.4rem, 4.685vw) auto 0;
	width: min(116.6rem, 85.359vw);
}

.chef__list--item {
	display: flex;
	align-items: center;
}

.chef__list--image {
	width: min(58.3rem, 42.679vw);
}

.chef__list--content {
	width: calc(100% - min(58.3rem, 42.679vw));
}

.chef__list--title {
	font-size: min(3.2rem, 2.343vw);
	font-weight: 400;
	display: flex;
	flex-direction: column;
}

.chef__list--title .chef-job {
	line-height: 1;
	font-family: var(--font-en);
	font-size: min(2rem, 1.464vw);
}

.chef__list--title .chef-name-en {
	line-height: 1.4;
	font-family: var(--font-en);
	font-size: min(4rem, 2.928vw);
}

.chef__list--title .chef-shop {
	line-height: 2.4;
	font-family: var(--font-en);
	font-size: min(1.6rem, 1.171vw);
}

.chef__list--title .chef-name-jp {
	line-height: 1.6;
	font-size: min(2.4rem, 1.757vw);
}

.chef__list--text {
	margin-top: min(2.8rem, 2.05vw);
	padding-right: min(8rem, 5.857vw);
	font-size: min(1.8rem, 1.318vw);
}

@media screen and (max-width: 768px) {
	.chef {
		background-image: url(../img/chef-bg_sp.webp);
		background-position: center top 28.8vw;
		padding: 24vw 0 17.067vw;
	}

	.chef__title {
		font-size: 9.6vw;
	}

	.chef__list {
		margin-top: 5.333vw;
		width: 86.667vw;
	}

	.chef__list--item {
		margin-bottom: 11.733vw;
		display: block;
	}

	.chef__list--image {
		width: 100%;
	}

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

	.chef__list--title {
		line-height: 1.3;
		font-size: 6.4vw;
	}

	.chef__list--title .chef-job {
		font-size: 3.733vw;
	}

	.chef__list--title .chef-name-en {
		font-size: 7.467vw;
	}

	.chef__list--title .chef-shop {
		font-size: 3.733vw;
	}

	.chef__list--title .chef-name-jp {
		font-size: 6.4vw;
	}

	.chef__list--text {
		margin-top: 4.267vw;
		padding-right: 0;
		font-size: 3.733vw;
	}
}

/* ----------------------------------------------------
	profile
---------------------------------------------------- */
.profile {
	margin: min(12rem, 8.785vw) auto 0;
	width: min(96.6rem, 70.717vw);
	border: solid 1px rgb(var(--gry));
	display: flex;
	align-items: center;
}

.profile__image {
	width: min(32.6rem, 23.865vw);
}

.profile__content {
	padding: 0 0 0 min(5.6rem, 4.1vw);
	width: calc(100% - min(32.6rem, 23.865vw));
}

.profile__content--title {
	margin-bottom: min(1rem, 0.732vw);
	line-height: 1.25;
	font-family: var(--font-en);
	font-size: min(3.2rem, 2.343vw);
	font-weight: 400;
}

.profile__content--title .small {
	margin-bottom: min(1rem, 0.732vw);
	color: rgb(var(--orn));
	font-family: var(--font-en);
	font-size: min(1.6rem, 1.171vw);
	display: block;
}

.profile__table {
	font-size: min(1.4rem, 1.025vw);
}

.profile__table--year {
	padding-right: 1em;
	vertical-align: top;
	white-space: nowrap;
}

@media screen and (max-width: 768px) {
	.profile {
		margin-top: 17.067vw;
		width: 86.667vw;
		display: block;
	}

	.profile__image {
		width: 100%;
	}

	.profile__content {
		padding: 5.333vw;
		width: 100%;
	}

	.profile__content--title {
		margin-bottom: 4.267vw;
		font-size: 6.4vw;
	}

	.profile__content--title .small {
		margin-bottom: 2.133vw;
		font-size: 3.733vw;
	}

	.profile__table {
		font-size: 3.2vw;
	}
}

/* ----------------------------------------------------
	gallery
---------------------------------------------------- */
.gallery {
	background: rgb(var(--blk));
	margin-bottom: 0;
	padding: min(18rem, 13.177vw) 0;
}

.gallery__list--item.item01 {
	width: min(57.8rem, 42.313vw);
	top: 0;
	left: 0;
}

.gallery__list--item.item02 {
	width: min(28.4rem, 20.791vw);
	bottom: 0;
	left: 0;
}

.gallery__list--item.item03 {
	width: min(28.4rem, 20.791vw);
	bottom: min(29.4rem, 21.523vw);
	left: min(29.4rem, 21.523vw);
}

.gallery__list--item.item04 {
	width: min(28.4rem, 20.791vw);
	bottom: 0;
	left: min(29.4rem, 21.523vw);
}

.gallery__list--item.item05 {
	width: min(57.8rem, 42.313vw);
	top: 0;
	right: 0;
}

.gallery__list--item.item06 {
	width: min(57.8rem, 42.313vw);
	top: min(29.4rem, 21.523vw);
	right: 0;
}

.gallery__list--item.item07 {
	width: min(57.8rem, 42.313vw);
	bottom: 0;
	right: 0;
}

@media screen and (max-width: 768px) {
	.gallery {
		padding-bottom: 32vw;
	}

	.gallery__list--item.item01 {
		width: 100%;
		top: 0;
		left: 0;
	}

	.gallery__list--item.item02 {
		width: 44.941vw;
		top: 93.067vw;
		bottom: auto;
		left: 0;
	}

	.gallery__list--item.item03 {
		width: 44.941vw;
		top: 93.067vw;
		right: 0;
		bottom: auto;
		left: auto;
	}

	.gallery__list--item.item04 {
		width: 44.941vw;
		top: 139.467vw;
		right: 0;
		bottom: auto;
		left: auto;
	}

	.gallery__list--item.item05 {
		width: 100%;
		top: auto;
		right: 0;
		bottom: 139.467vw;
		;
	}

	.gallery__list--item.item06 {
		width: 100%;
		top: auto;
		right: 0;
		bottom: 46.4vw;
	}

	.gallery__list--item.item07 {
		width: 100%;
		bottom: 0;
		right: 0;
	}
}