body {
	font-family: "Josefin Sans", "Noto Sans JP", sans-serif;
	letter-spacing: 0.8px;
	color: #3c301e;
}
.header {
	position: fixed;
	top: 0;
	left: 0;
	border-bottom: 1px solid rgba(241, 238, 228, 0.25);
	width: 100%;
	text-align: center;
}

.header-inner {
	padding: 12px;
	@media screen and (min-width: 768px) {
		padding-block: 16px;
		display: flex;
		justify-content: space-between;
	}
}

.header-nav {
	margin-top: 10px;
}

.header-nav-list {
	display: flex;
	justify-content: center;
	gap: 20px;
	@media screen and (min-width: 768px) {
		gap: 40px;
	}
}

.header-nav-link {
	color: #fff;
	transition: opacity 0.3s;
}

.header-nav-link:hover {
	opacity: 0.7;
}

.fv-picture-img {
	width: 100vw;
}

.inner {
	margin-inline: auto;
	padding-inline: 40px;
	@media screen and (min-width: 768px) {
		max-width: calc(1000px + 40px * 2);
	}
}
.section-heading {
	display: flex;
	flex-direction: column;
	text-align: center;
	margin-bottom: 40px;
}
.section-heading-l {
	color: #fff;
}

.section-heading-main {
	font-size: 40px;
	@media screen and (min-width: 768px) {
		font-size: 64px;
	}
}

.section-heading-sub {
	font-size: 12px;
}
.about {
	padding-block: 40px;
	background-color: #f1eee4;
	@media screen and (min-width: 768px) {
		padding-block: 100px;
	}
}

.about-contents {
	display: grid;
	justify-items: center;
	gap: 20px;
	@media screen and (min-width: 768px) {
		gap: 40px;
		grid-template-columns: 300px auto;
	}
}

.about-text-contents {
	display: flex;
	flex-direction: column;
	gap: 16px;
	@media screen and (min-width: 768px) {
		color: #3c301e;
		gap: 30px;
		justify-content: center;
	}
}
.about-text {
	font-size: 14px;
	line-height: 2;
	@media screen and (min-width: 768px) {
		font-size: 15px;
	}
}
.menu {
	padding-block: 80px 73px;
	background-color: #f1eee4;
	@media screen and (min-width: 768px) {
		padding-block: 0 93px;
	}
}

.menu-contents {
	display: grid;
	justify-items: center;
	gap: 55px;
	@media screen and (min-width: 768px) {
		grid-template-columns: 1fr 1fr 1fr;
		gap: 20px;
	}
}

.menu-text-contents {
	text-align: center;
	display: grid;
	gap: 15px;
	padding: 16px 10px;
}

.menu-name {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.menu-name-main {
	font-size: 18px;
}

.menu-name-sub {
	font-size: 12px;
	color: #a98c5f;
}

.menu-text {
	font-size: 14px;
	color: #a98c5f;
	line-height: 2;
}

.shop {
	padding-block: 80px;
	background-image: url("../img/sp/bg-shop.png");
	background-position: center center;
	background-size: cover;
	@media screen and (min-width: 768px) {
		padding-block: 40px;
		background-image: url("../img/bg-shop.png");
	}
}

.shop-inner {
	padding: 0 20px;
	margin-inline: auto;
	@media screen and (min-width: 768px) {
		max-width: 600px;
		padding: 20px;
	}
}

.shop-contents {
	display: grid;
	gap: 40px;
}

.shop-text {
	color: #fff;
	text-align: center;
	font-size: 14px;
	line-height: 2;
}

.form {
	display: grid;
	gap: 10px;
	@media screen and (min-width: 768px) {
		gap: 20px;
		grid-template-columns: 1fr min-content;
		justify-content: center;
	}
}

.form-input {
	padding: 14px;
	border-radius: 4px;
	background-color: rgba(255, 255, 255, 0.7);
	border: none;
	font-family: "Josefin Sans", "Noto Sans JP", sans-serif;
}

.form-submit {
	width: 120px;
	margin-inline: auto;
	padding: 12px;
	border-radius: 4px;
	border: none;
	font-family: "Josefin Sans", "Noto Sans JP", sans-serif;
	background-color: #a98c5f;
	color: #fff;
	transition: opacity 0.3s;
	@media screen and (min-width: 768px) {
		margin-inline: 0;
		width: 98px;
	}
}

.form-submit:hover {
	opacity: 0.7;
	cursor: pointer;
}

.footer {
	padding-block: 46px 0;
	background-color: #3c301e;
	text-align: center;
	color: #fff;
	@media screen and (min-width: 768px) {
		padding-block: 46px 0;
	}
}

.footer-inner {
	display: grid;
	gap: 40px;
}

.footer-heading {
	display: grid;
	@media screen and (min-width: 768px) {
		gap: 12px;
	}
}

.footer-logo {
	display: block;
	margin-inline: auto;
}

.footer-text {
	font-size: 12px;
}

.footer-nav-list {
	padding: 0 20px;
	display: flex;
	justify-content: center;
	gap: 24px;
	@media screen and (min-width: 768px) {
		gap: 40px;
	}
}

.footer-nav-link {
	display: grid;
	place-items: center;
	gap: 12px;
}

.footer-nav-link-text {
	font-size: 12px;
}

.footer-copy-wrapper {
	border-top: 1px solid rgba(241, 238, 228, 0.25);
	padding: 12px;
	margin-top: 46px;
}

.footer-copyright {
	font-size: 12px;
	@media screen and (min-width: 768px) {
		font-size: 13px;
	}
}

.sns-img {
	width: 56px;
	aspect-ratio: 1 / 1;
}
