@charset "UTF-8";

.container {
	background-image: url(../images/lunch/lunch_bg.webp);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 3840px 2905px;
}


.page_title {
	display: flex;
	max-width: 1620px;
	margin: 0 auto;
	padding-left: clamp(0rem, -5.417rem + 11.28vw, 8.125rem);
	border-bottom: 2px solid #2b1e1d;
	flex-direction: column-reverse;
}

.page_title-main {
	color: #df4f4d;
	font-weight: 500;
	font-size: clamp(0.938rem, 0.835rem + 0.21vw, 1.063rem);
	letter-spacing: 0.1em;
}

.page_title-sub {
	font-weight: bold;
	font-size: clamp(1.875rem, 0.698rem + 2.45vw, 3.313rem);
	letter-spacing: 0.1em;
}

.page_lead-text {
	max-width: 1620px;
	width: 95%;
	margin: 0 auto;
	padding-left: clamp(0rem, -5.417rem + 11.28vw, 8.125rem);
	font-size: clamp(0.875rem, 0.658rem + 0.45vw, 1.063rem);
	line-height: clamp(1.688rem, 1.181rem + 1.05vw, 2.125rem);
}
.page_lead-text span {
	display: block;
	max-width: 755px;
	width: 100%;
}

.lunch_anchor-nav {
	display: block;
	margin: 0 auto;
}

.lunch_anchor-list {
	display: flex;
	flex-wrap: wrap;
}

.lunch_anchor-item {
	max-width: 260px;
}
@media screen and (min-width: 421px) {
	.lunch_anchor-item br {
		display: none;
	}
}

.lunch_anchor-item a {
	display: flex;
	width: 100%;
	height: 100%;
	border-style: solid;
	border-color: #c68977;
	border-radius: 4px;
	background-color: #ffffff;
	color: #2b1e1d;
	font-weight: bold;
	font-size: clamp(0.875rem, 0.721rem + 0.32vw, 1.063rem);
	justify-content: space-between;
	align-items: center;
	transition: all 0.4s;
}

.lunch_anchor-item a i {
	font-size: clamp(0.625rem, -0.386rem + 2.11vw, 1rem);
	line-height: 1;
}

.lunch_anchor-item a:hover {
	background-color: #c68977;
	color: #ffffff;
}

@media screen and (min-width: 768px) {
	.page_title {
		width: 95%;
		margin-bottom: 50px;
		padding-bottom: 20px;
	}

	.page_lead-text {
		margin-bottom: 50px;
	}

	.lunch_anchor-nav {
		max-width: 870px;
		width: 95%;
		margin-bottom: 90px;
	}

	.lunch_anchor-list {
		column-gap: 5.17235%;

		row-gap: 30px;
	}

	.lunch_anchor-item {
		width: 29.8851%;
	}

	.lunch_anchor-item a {
		padding: 19px 20px 19px 15px;
		border-width: 3px;
	}
}

@media screen and (max-width: 767px) {
	.page_title {
		width: calc(100% - 40px);
		margin-bottom: 30px;
		padding-bottom: 10px;
	}

	.page_lead-text {
		width: calc(100% - 40px);
		margin-bottom: 16px;
	}

	.lunch_anchor-nav {
		max-width: 600px;
		width: 100%;
		margin-bottom: 40px;
		padding: 0 20px;
	}

	.lunch_anchor-list {
		column-gap: 15px;

		row-gap: 20px;
	}

	.lunch_anchor-item {
		width: calc(50% - 7.5px);
	}

	.lunch_anchor-item a {
		padding: 13px 10px 13px 5px;
		border-width: 2px;
	}

	/*@media screen and (max-width: 450px) {
		.lunch_anchor-list {
			flex-direction: column;
			align-items: center;

			row-gap: 10px;
		}

		.lunch_anchor-item {
			width: 100%;
		}
	}*/
}


.lunch_main-contents {
	display: flex;
	flex-direction: column;
}

.common_lunch-section {
	display: block;
	width: 100%;
	margin: 0 auto;
}

.testimonial-section {
	display: block;
	width: 100%;
}

.lunch_items-title {
	display: flex;
	font-weight: bold;
	font-size: clamp(1.375rem, 0.966rem + 0.85vw, 1.875rem);
	align-items: center;
}

.lunch_items-title span {
	display: flex;
	column-gap: 3px;
	align-items: center;
}

.lunch_items-title span i {
	color: #f23f46;
	font-size: 22px;
}





/*******************************************************************************
	日替わり弁当について
*******************************************************************************/
#daily {
	max-width: 1920px;
}


.daily_visual-container {
	display: flex;
	max-width: 1640px;
	margin-left: auto;
	column-gap: 15px;
	justify-content: space-between;
}

.daily_visual-img {
	position: relative;
	max-width: 1100px;
	width: 100%;
}

.daily_visual-img img.daily_visual-main {
	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center;
}

.daily_visual-img img.daily_visual-sub {
	position: absolute;
	transform-origin: center;
	max-width: 565px;
	width: 51.3637%;
	height: auto;

	aspect-ratio: 113/13;
}

.daily_visual-contents p {
	font-size: clamp(0.875rem, 0.538rem + 0.7vw, 1rem);
	line-height: clamp(1.688rem, 1.182rem + 1.05vw, 1.875rem);
}

@media screen and (max-width: 835px) {
	.daily_visual-contents p br {
		display: none;
	}
}

.daily_visual-contents p strong {
	display: block;
	margin-bottom: 5px;
	font-weight: bold;
	font-size: clamp(1.063rem, 0.853rem + 0.44vw, 1.313rem);
	line-height: clamp(2rem, 0.989rem + 2.11vw, 2.375rem);
}

.daily_visual-contents p span {
	display: inline-block;
	position: relative;
}

.daily_visual-contents p span::after {
	display: inline-block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background-image: url(../images/lunch/daily_visual-line.webp);
	background-repeat: repeat-x;
	background-position: left bottom;
	background-size: 80px 4px;
	content: "";
}

.daily_features-container {
	display: flex;
	max-width: 1360px;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 80px;
	flex-direction: column;
}

.daily_features-container h3 {
	display: flex;
	position: relative;
	z-index: 1;
	max-width: clamp(16.875rem, 12.176rem + 9.79vw, 20.938rem);
	width: 100%;
	height: clamp(3.125rem, 1.318rem + 3.77vw, 4.688rem);
	margin-bottom: calc(0px - clamp(1.563rem, 0.659rem + 1.88vw, 2.344rem));
	margin-left: clamp(1.25rem, -0.557rem + 3.77vw, 2.813rem);
	background-color: #2b1e1d;
	color: #ffffff;
	font-weight: 500;
	font-size: clamp(1.25rem, 0.744rem + 1.05vw, 1.688rem);
	column-gap: 5px;
	justify-content: center;
	align-items: center;
}

.daily_features-container h3 i {
	font-size: clamp(1.375rem, 0.797rem + 1.2vw, 1.875rem);
}

.daily_features-content {
	background-color: rgba(251, 161, 91, 0.1);
}

.daily_features-list {
	display: flex;
	max-width: 1100px;
	margin: 0 auto;
	flex-wrap: wrap;
	counter-reset: number;

	row-gap: 20px;
}

.daily_features-item {
	position: relative;
	max-width: 350px;
	padding-bottom: clamp(0.313rem, -0.049rem + 0.75vw, 0.625rem);
}

.daily_features-item::before , .daily_features-item::after {
	display: block;
	position: absolute;
}

.daily_features-item::before {
	display: block;
	position: absolute;
	top: 5px;
	left: 10px;
	z-index: 5;
	font-weight: bold;
	font-size: clamp(1.25rem, 0.961rem + 0.6vw, 1.5rem);
	content: counter(number, decimal-leading-zero);
	counter-increment: number;
}

.daily_features-item::after {
	right: 0;
	bottom: 0;
	z-index: 0;
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	background-color: #2b1e1d;
	content: "";
}

.daily_features-contents {
	display: flex;
	position: relative;
	z-index: 1;
	width: calc(100% - clamp(0.313rem, -0.049rem + 0.75vw, 0.625rem));
	height: 100%;
	border: 3px solid #2b1e1d;
	background-color: #ffffff;
	flex-direction: column;
	align-items: center;
}

.daily_features-img {
	max-width: 195px;
	width: 65%;

	aspect-ratio: 13/11;
}

.daily_features-img img {
	width: 100%;
	height: auto;
}

.daily_features-caption {
	display: flex;
	max-width: 270px;
	flex-direction: column;
}

.daily_features-caption h4 {
	font-weight: bold;
	font-size: clamp(1.125rem, 0.691rem + 0.9vw, 1.5rem);
	line-height: clamp(1.813rem, 1.379rem + 0.9vw, 2.188rem);
	text-align: center;
}

.daily_features-caption p {
	font-size: clamp(0.875rem, 0.73rem + 0.3vw, 1rem);
	line-height: clamp(1.563rem, 1.346rem + 0.45vw, 1.75rem);
	text-align: justify;
}

.daily_perks-container {
	display: flex;
	max-width: 1360px;
	margin: 0 auto;
	flex-direction: column;
}

.daily_perks-title {
	margin-bottom: 50px;
	font-weight: bold;
	font-size: clamp(1.188rem, 0.392rem + 1.66vw, 1.875rem);
	line-height: clamp(1.875rem, 0.068rem + 3.77vw, 3.438rem);
	text-align: center;
}

.daily_perks-title span {
	display: inline-block;
	position: relative;
	line-height: clamp(2rem, 0.337rem + 3.46vw, 3.438rem);
}

.daily_perks-title span::after {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 8px;
	background-image: url(../images/lunch/daily_perks-line.webp);
	background-repeat: repeat-x;
	background-position: left center;
	background-size: 409px 8px;
	content: "";
}

.daily_perks-wrapper {
	display: flex;
	column-gap: 35px;

	row-gap: 30px;
}

.daily_perks-contents {
	display: flex;
	column-gap: 15px;
	align-items: flex-end;
}

#daily_perks-company {
	max-width: 635px;
	width: 100%;
}

#daily_perks-facility {
	max-width: 690px;
	width: 100%;
}

#daily_perks-company .daily_perks-img {
	max-width: 130px;
}

#daily_perks-facility .daily_perks-img {
	max-width: 180px;
}

.daily_perks-details {
	display: flex;
	max-width: 490px;
	width: 100%;
	flex-direction: column;
}


.daily_perks-details h4 {
	display: flex;
	position: relative;
	z-index: 1;
	width: fit-content;
	margin-bottom: -0.65em;
	margin-left: clamp(0.625rem, 0.264rem + 0.75vw, 0.938rem);
	padding: 0 clamp(1.25rem, 0.527rem + 1.51vw, 1.875rem);
	background-color: #ffffff;
	font-weight: bold;
	font-size: clamp(1.25rem, 0.527rem + 1.51vw, 1.875rem);
}

.daily_perks-details ul {
	display: flex;
	position: relative;
	width: 100%;
	padding: 30px clamp(0.938rem, 0.215rem + 1.51vw, 1.563rem);
	border: 2px dotted #2b1e1d;
	background-color: #ffffff;
	font-size: clamp(0.875rem, 0.803rem + 0.15vw, 0.938rem);
	flex-direction: column;

	row-gap: 10px;
}

.daily_perks-details ul::after {
	display: block;
	position: absolute;
	z-index: -1;
	width: 50px;
	height: 2px;
	border-top: 2px dotted #2b1e1d;
	content: "";
}


@media screen and (min-width: 501px) {
	#daily_perks-company {
		flex-direction: row-reverse;
	}

	#daily_perks-company .daily_perks-details {
		padding-right: 35px;
	}

	#daily_perks-facility .daily_perks-details {
		padding-left: 35px;
	}

	.daily_perks-details ul {
		max-width: 455px;
	}

	.daily_perks-details ul::after {
		bottom: 40px;
		width: 50px;
	}

	#daily_perks-company .daily_perks-details ul::after {
		right: -35px;
		transform: rotateZ(26deg);
		transform-origin: right bottom;
	}

	#daily_perks-facility .daily_perks-details ul::after {
		left: -35px;
		transform: rotateZ(-26deg);
		transform-origin: left bottom;
	}
}

@media screen and (max-width: 500px) {
	.daily_perks-contents {
		flex-direction: column;
	}

	.daily_perks-details ul::after {
		bottom: 100%;
		width: 30px;
	}
	#daily_perks-company .daily_perks-img {
		position: relative;
		z-index: 1;
		max-width: 80px;
		margin-right: 15px;
		margin-bottom: -35px;
		box-shadow: 5px 0px 0px #ffffff, -5px 0px 0px #ffffff;
	}

	#daily_perks-company .daily_perks-details ul::after {
		display: none;
		right: 155px;
		transform: rotateZ(125deg);
		transform-origin: right bottom;
	}

	#daily_perks-facility .daily_perks-img {
		position: relative;
		z-index: 1;
		max-width: 110px;
		margin-right: 15px;
		margin-bottom: -35px;
		box-shadow: 5px 0px 0px #ffffff, -5px 0px 0px #ffffff;
		background-color: #ffffff;
	}

	#daily_perks-facility .daily_perks-details ul::after {
		display: none;
		right: 200px;
		transform: rotateZ(125deg);
		transform-origin: right bottom;
	}

	.daily_perks-details li {
		text-align: justify;
	}

	.daily_perks-details li br {
		display: none;
	}
}

.daily_perks-details li {
	display: flex;
	line-height: clamp(1.563rem, 1.49rem + 0.15vw, 1.625rem);
	column-gap: clamp(0.313rem, -0.049rem + 0.75vw, 0.625rem);
	align-items: baseline;
}

.daily_perks-details li i {
	font-size: 12px;
}

@media screen and (min-width: 768px) {
	#daily {
		margin-bottom: 165px;
	}

	#daily .lunch_items-title {
		margin-bottom: 25px;
	}

	.daily_visual-container {
		width: 97.5%;
		margin-bottom: 165px;
		flex-direction: row-reverse;
	}

	.daily_visual-img {
		height: clamp(28.125rem, 23.542rem + 9.55vw, 35rem);
	}

	.daily_visual-img img.daily_visual-sub {
		right: 90%;
		bottom: 12.5%;
		transform: rotateZ(-12deg);
	}

	.daily_visual-contents {
		max-width: 478px;
		width: 90%;
		padding-top: 95px;
	}

	.daily_features-container {
		margin-bottom: 75px;
	}

	.daily_features-content {
		padding: 90px 0px 85px;
	}

	.daily_features-list {
		width: calc(95%);
		column-gap: 2.2727%;
	}

	.daily_features-item {
		position: relative;
		max-width: 350px;
		width: 31.8182%;
		padding-bottom: 10px;
		column-gap: 2.2727%;
	}

	.daily_features-contents {
		min-height: 425px;
		padding: 35px 15px 30px;

		row-gap: 15px;
	}

	.daily_features-caption {
		row-gap: 10px;
	}

	.daily_perks-container {
		width: 95%;
	}

	.daily_perks-title {
		margin-bottom: 40px;
	}
}

@media screen and (max-width: 767px) {
	#daily {
		margin-bottom: 75px;
	}

	#daily .lunch_items-title {
		margin-bottom: 20px;
	}

	.daily_visual-container {
		width: calc(100% - 20px);
		margin-bottom: 80px;
		flex-direction: column-reverse;

		row-gap: 30px;
	}

	.daily_visual-img img.daily_visual-sub {
		display: none;
		right: 70%;
		bottom: 20px;
		transform: rotateZ(-10deg);
	}

	.daily_visual-contents {
		width: calc(100% - 20px);
		margin-right: auto;
	}

	.daily_visual-contents p {
		text-align: justify;
	}

	.daily_features-container {
		margin-bottom: 40px;
	}

	.daily_features-list {
		width: calc(100% - 40px);
		column-gap: 20px;
	}

	@media screen and (min-width: 501px) {
		.daily_features-item {
			width: calc(50% - 10px);
		}
	}

	@media screen and (max-width: 500px) {
		.daily_features-list {
			flex-direction: column;
			align-items: center;
		}

		.daily_features-item {
			width: 100%;
		}.daily_features-img {
			width: 45%;
		}
	}

	.daily_features-content {
		padding: 60px 0px 40px;
	}

	.daily_features-contents {
		padding: 35px 10px 30px;

		row-gap: 10px;
	}

	.daily_features-caption {
		row-gap: 5px;
	}


	.daily_perks-title {
		margin-bottom: 30px;
	}

	.daily_perks-title span::after {
		bottom: -2px;
	}

	.daily_perks-container {
		width: calc(100% - 40px);
	}
}


@media screen and (min-width: 836px) {
	.daily_perks-img {
		width: 40%;
	}

	.daily_perks-details {
		padding-bottom: 35px;
	}
}

@media screen and (max-width: 835px) {
	.daily_perks-wrapper {
		flex-direction: column;
		align-items: center;
	}

	.daily_perks-img {
		width: 100%;
	}.daily_perks-details h4 {
		padding: 0 10px;
	}
}


/*******************************************************************************
	費用
*******************************************************************************/
#price {
	display: flex;
	max-width: 1360px;
	width: 95%;
	margin: 0 auto;
	flex-direction: column;
}

#price .lunch_items-title {
	margin-bottom: 30px;
	justify-content: center;
}

.lunch_price-list {
	display: flex;
	width: 100%;
	flex-wrap: wrap;

	row-gap: 15px;
}

.lunch_price-item {
	max-width: 440px;
}

.lunch_price-content {
	display: flex;
	width: 100%;
	flex-direction: column;
}

.lunch_price-img {
	display: block;
	width: 100%;

	aspect-ratio: 44/31;
}

.lunch_price-img img {
	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center;
}

.lunch_price-details {
	display: flex;
	flex-direction: column;
	align-items: center;

	row-gap: 10px;
}

.lunch_price-details h3 {
	font-size: clamp(1.313rem, 0.806rem + 1.05vw, 1.75rem);
}

.lunch_price-details p {
	font-size: clamp(1.063rem, 0.846rem + 0.45vw, 1.25rem);
}

.lunch_price-details p b {
	font-size: clamp(1.188rem, 0.898rem + 0.6vw, 1.438rem);
}

.lunch_price-details p span {
	font-size: clamp(0.938rem, 0.793rem + 0.3vw, 1.063rem);
}

.lunch_price-caution {
	font-size: clamp(0.875rem, 0.73rem + 0.3vw, 1rem);
}

@media screen and (min-width: 768px) {
	#price {
		width: 95%;
		margin-bottom: 170px;
	}


	#price .lunch_items-title {
		margin-bottom: 30px;
	}

	.lunch_price-list {
		margin-bottom: 20px;
		column-gap: 1.1975%;
	}

	.lunch_price-item {
		width: 32.353%;
	}

	.lunch_price-content {
		row-gap: 20px;
	}

	.lunch_price-caution {
		text-align: center;
	}
}

@media screen and (max-width: 767px) {
	#price {
		width: calc(100% - 40px);
		margin-bottom: 60px;
	}

	#price .lunch_items-title {
		margin-bottom: 20px;
	}

	.lunch_price-list {
		margin-bottom: 15px;
		column-gap: 20px;
	}

	.lunch_price-item {
		width: calc(50% - 10px);
	}

	.lunch_price-content {
		row-gap: 10px;
	}

	.lunch_price-details {
		row-gap: 5px;
	}

	.lunch_price-caution {
		text-align: justify;
	}
}





/*******************************************************************************
	配達エリア･対応時間
*******************************************************************************/
#coverage {
	display: flex;
	position: relative;
	max-width: 1360px;
	margin: 0 auto;
}

.lunch_coverage-contents {
	position: relative;
	z-index: 1;
	max-width: 560px;
	width: 100%;
	padding: 50px 0;
	background-color: #f8f8f8;
}

.lunch_coverage-contents::before {
	display: block;
	position: absolute;
	top: 0;
	right: 100%;
	width: 1000px;
	height: 100%;
	background-color: #f8f8f8;
	content: "";
}

.coverage_guide-list {
	display: flex;
	max-width: 405px;
	width: 100%;
	flex-direction: column;
}

.coverage_guide-title {
	border-bottom: 1px solid #867f7e;
	font-weight: 500;
	font-size: clamp(1.125rem, 0.764rem + 0.75vw, 1.438rem);
}

.coverage_guide-content {
	font-weight: bold;
}

.coverage_guide-content:nth-of-type(1) {
	font-size: clamp(1.25rem, 0.889rem + 0.75vw, 1.563rem);
}

.coverage_guide-content:nth-of-type(1) ul {
	display: flex;
	max-width: 265px;
	column-gap: clamp(1.875rem, -1.017rem + 6.02vw, 4.375rem);
	flex-wrap: wrap;
}

.coverage_guide-content:nth-of-type(1) ul li {
	display: flex;
	line-height: clamp(2rem, 1.422rem + 1.2vw, 2.5rem);
	column-gap: 0.25em;
}

.coverage_guide-content:nth-of-type(1) ul li::before {
	content: "･";
}

.coverage_guide-content:nth-of-type(1) p {
	font-weight: normal;
	font-size: clamp(0.875rem, 0.803rem + 0.15vw, 0.938rem);
	line-height: clamp(1.563rem, 1.346rem + 0.45vw, 1.75rem);
}

.coverage_guide-content:nth-of-type(2) {
	font-size: clamp(1.188rem, 0.681rem + 1.05vw, 1.625rem);
}


.coverage_area-img {
	position: absolute;
	top: 16.3%;
	left: 0;
	max-width: 2020px;
	width: 148.5295%;
}


.coverage_area-img img {
	width: 100%;
	height: auto;
}

@media screen and (min-width: 768px) {
	#coverage {
		width: 95%;
		margin-bottom: 325px;
	}

	#coverage .lunch_items-title {
		margin-bottom: 45px;
	}

	.lunch_coverage-contents {
		width: 45%;
		padding: 50px 15px 50px 0;
	}

	.coverage_guide-title {
		margin-bottom: 15px;
	}

	.coverage_guide-content:not(:nth-last-of-type(1)) {
		margin-bottom: 55px;
	}

	.coverage_guide-content:nth-of-type(1) ul {
		margin-bottom: 15px;
	}

	.coverage_area-img {
		top: 16.3%;

/*transform: translateY(-16.3%);*/
		transform: translateY(calc(-16.3% + 100px)) !important;
		transition-delay: 0.9s, 0.9s !important;
	}

	.coverage_area-img.show_content {
		transform: translateY(-16.3%) !important;
	}
}

@media screen and (max-width: 767px) {
	#coverage {
		width: calc(100% - 40px);
		margin-bottom: 250px;
	}

	#coverage .lunch_items-title {
		margin-bottom: 30px;
	}

	.lunch_coverage-contents {
		width: 65%;
		padding: 30px 10px 25px 0;
	}

	.coverage_guide-title {
		margin-bottom: 10px;
	}

	.coverage_guide-content:not(:nth-last-of-type(1)) {
		margin-bottom: 30px;
	}

	.coverage_guide-content:nth-of-type(1) ul {
		margin-bottom: 10px;
	}

	/*.coverage_area-img {
		top: 75.3%;
		transform: translateY(calc(-15.3% + 100px));
	}
	.coverage_area-img.show_content {
		transform: translateY(-15.3%);
	}*/

	@media screen and (min-width: 501px) {
		.lunch_coverage-contents {
			width: 65%;
		}

		.coverage_area-img {
			top: 80%;
			transform: translateY(calc(-20% + 100px));
		}

		.coverage_area-img.show_content {
			transform: translateY(-20%);
		}
	}

	@media screen and (max-width: 500px) {
		.lunch_coverage-contents {
			width: 100%;
		}

		.coverage_area-img {
			top: 90%;
			left: 75%;
			transform: translate(-50%, calc(-10% + 100px));
			min-width: 710px;
		}

		.coverage_area-img.show_content {
			transform: translate(-50%, -10%);
		}
	}
}




/*******************************************************************************
	口コミ
*******************************************************************************/
#review {
	display: flex;
	position: relative;
	z-index: 1;
	overflow: hidden;
	width: 100%;
	background-color: #ffffff;
	flex-direction: column;
}

#review::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(300deg, #c29373 0%, #3e73ab 50%, #d5986b 100%);
	opacity: 0.42;
	content: "";
}

#review::after {
	position: absolute;
	bottom: 64px;

/*left: -16.1458vw;*/
	left: clamp(4.063rem, -1.563rem + 11.72vw, 12.5rem);
	transform: translateX(-50%) translateY(-50%) rotateZ(-90deg);
	transform-origin: center;
	color: #ffffff;
	font-weight: bold;
	font-size: clamp(11.563rem, 6.021rem + 11.55vw, 19.875rem);
	letter-spacing: 0.075em;
	content: attr(data-review);

	mix-blend-mode: soft-light;
}

#review .lunch_items-title {
	display: flex;
	position: relative;
	z-index: 1;
	overflow: hidden;
	max-width: 1360px;
	width: 95%;
	margin: 0 auto;
	color: #ffffff;
	white-space: nowrap;
	column-gap: clamp(1.25rem, -0.196rem + 3.01vw, 2.5rem);
	justify-content: center;
	align-items: center;
}

#review .lunch_items-title::before , #review .lunch_items-title::after {
	display: block;
	width: 100%;
	height: 1px;
	background-color: #ffffff;
	content: "";
}

.lunch_review-list {
	display: flex;
	position: relative;
	z-index: 1;
	max-width: 1245px;
	width: 95%;
	margin: 0 auto;
	column-gap: clamp(1.25rem, 0.166rem + 2.26vw, 2.188rem);
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: space-between;

	gap: 35px;
}

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

.lunch_review-img {
	display: block;
	max-width: 415px;
	width: 50%;

	aspect-ratio: 83/51;
	object-fit: cover;
}

.lunch_review-body {
	display: flex;
	position: relative;

/* 重なり順を制御するため */
	z-index: 1;
	max-width: 605px;

/* 画像側に5%食い込ませる */
	padding: 18px 27px 18px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	background-color: #ffffff;
	flex-direction: column;
	justify-content: space-between;
}

@media screen and (min-width: 501px) {
	.lunch_review-item {
		/* width: calc(50% - clamp(0.625rem, 0.083rem + 1.13vw, 1.094rem)); */
	}
}

@media screen and (max-width: 500px) {
	.lunch_review-item {
		width: 100%;
	}
}

.lunch_review-head {
	display: flex;
	flex-direction: column;
}

@media screen and (min-width: 768px) {
	.lunch_review-head {
		row-gap: 10px;
	}
}
@media screen and (max-width: 767px) {
	.lunch_review-head {
		row-gap: 5px;
	}
}
.lunch_review-theme {
	display: flex;
	font-weight: bold;
	font-size: clamp(1.125rem, -0.689rem + 3.78vw, 1.813rem);
	line-height: clamp(1.688rem, -0.622rem + 4.81vw, 2.563rem);
	overflow-wrap: anywhere;
	word-break: auto-phrase;
	flex-direction: column;
}

.lunch_review-theme span {
	margin-bottom: -1px;
	color: #3e73ab;
	font-size: clamp(0.938rem, 0.608rem + 0.69vw, 1.063rem);
	line-height: clamp(1.625rem, 0.635rem + 2.06vw, 2rem);
}

.lunch_review-theme span::before {
	content: "＞";
}

.lunch_review-company {
	font-weight: 500;
	font-size: clamp(0.875rem, 0.71rem + 0.34vw, 0.938rem);
}

.lunch_review-open {
	display: inline-flex;
	margin-left: auto;
	color: #3e73ab;
	font-weight: 500;
	font-size: 14px;
	column-gap: 0.5em;
	align-items: center;
	transition: opacity 0.3s;
}
.lunch_review-open:hover {
	opacity: 0.7;
}

.lunch_review-open i {
	display: flex;
	position: relative;
	width: clamp(1.875rem, 0.226rem + 3.44vw, 2.5rem);
	border-radius: 100%;
	background-color: #3e73ab;
	justify-content: center;
	align-items: center;

	aspect-ratio: 1/1;
}

.lunch_review-open i::before , .lunch_review-open i::after {
	width: clamp(0.938rem, 0.113rem + 1.72vw, 1.25rem);
	height: 2px;
	border-radius: 1px;
	background-color: #ffffff;
	content: "";
}.lunch_review-open i::after {
	position: absolute;
	transform: rotateZ(90deg);
}


.lunch_review-item p {
	font-weight: 500;
	font-size: clamp(0.938rem, 0.793rem + 0.3vw, 1.063rem);
	line-height: clamp(1.688rem, 1.326rem + 0.75vw, 2rem);
}

@media screen and (min-width: 768px) {
	#review {
		margin-bottom: 150px;
		padding: 50px 0 75px;

		row-gap: 90px;
	}

	#review .lunch_items-title {
		width: 95%;
	}

	.lunch_review-list {
		max-width: 1006px;
		width: 95%;

		row-gap: clamp(1.25rem, 0.166rem + 2.26vw, 2.188rem);
	}

	.lunch_review-body {
		min-height: 234px;
		margin-left: -16px;
		padding: 25px 25px 20px;

		row-gap: 5px;
	}
}

@media screen and (max-width: 767px) {
	#review {
		margin-bottom: 50px;
		padding: 40px 0 30px;

		row-gap: 50px;
	}

	#review .lunch_items-title {
		width: calc(100% - 40px);
	}

	.lunch_review-list {
		width: calc(100% - 60px);
		align-items: center;

		row-gap: 25px;
	}

	.lunch_review-anchor {
		flex-direction: column;
	}

	.lunch_review-img {
		width: 100%;
		height: auto;
	}

	.lunch_review-body {
		width: 100%;
		margin-left: 0;
		padding: 15px 10px;

		row-gap: 10px;
	}
}


@media screen and (min-width: 783px) {
	.remodal-wrapper {
		padding: 40px 0 !important;
	}
	.admin-bar .remodal-wrapper {
		padding: calc(32px + 30px) 0 30px !important;
	}
}

@media screen and (max-width: 782px) {
	.remodal-wrapper {
		padding: 20px 0 !important;
	}
	@media screen and (min-width: 601px) {
		.admin-bar .remodal-wrapper {
			padding: calc(46px + 30px) 0 30px !important;
		}
	}
}
.remodal {
	overflow: hidden;
	transform: none !important;
	-webkit-transform: none !important;
	max-width: 1620px !important;
	flex-direction: column;
}
.remodal::before {
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	max-width: 1770px;
	width: 1770px;
	background-image: url(../images/lunch/lunch_modal-bg.webp);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100%;
	opacity: 0.1;
	content: "";

	aspect-ratio: 885/508;
}
.lunch_modal-close {
	display: inline-flex;
	position: absolute;
	top: clamp(1.25rem, 0.482rem + 1.6vw, 2.188rem);
	right: clamp(1.25rem, 0.227rem + 2.13vw, 2.5rem);
	margin-right: auto;
	border: none;
	background-color: transparent;
	color: #3e73ab;
	font-weight: bold;
	font-size: clamp(1rem, 0.846rem + 0.32vw, 1.188rem);
	column-gap: 0.5em;
	align-items: center;
	cursor: pointer;
}
.lunch_modal-close i {
	display: flex;
	position: relative;
	width: clamp(2.188rem, 1.42rem + 1.6vw, 3.125rem);
	border-radius: 100%;
	background-color: #3e73ab;
	justify-content: center;
	align-items: center;

	aspect-ratio: 1/1;
}
.lunch_modal-close i::before , .lunch_modal-close i::after {
	width: clamp(1.25rem, 0.994rem + 0.53vw, 1.563rem);
	height: 2px;
	background-color: #ffffff;
	content: "";
}
.lunch_modal-close i::before {
	transform: rotateZ(45deg);
}
.lunch_modal-close i::after {
	position: absolute;
	transform: rotateZ(-45deg);
}
.lunch_review-modal {
	display: flex;
	position: relative;
	z-index: 1;
	max-width: 1470px;
	width: 95%;
	margin: 0 auto;
	flex-direction: column;
}
.lunch_modal-head {
	display: flex;
	text-align: left;
	column-gap: clamp(1.25rem, 0.208rem + 2.17vw, 2.813rem);
	flex-wrap: wrap;
}
.lunch_modal-head::after {
	width: 100%;
	background-image: url(../images/menu/menu_item-line.webp);
	background-repeat: repeat-x;
	background-position: center;
	background-size: 1360px 15px;
	content: "";
}
.lunch_modal-img {
	max-width: 330px;

	aspect-ratio: 83/51;
}

.lunch_modal-theme {
	display: flex;
	flex-direction: column;
}
.lunch_modal-theme h4 {
	font-weight: bold;
	font-size: clamp(1.563rem, 1.021rem + 1.13vw, 2.375rem);
}
.lunch_modal-theme h4 span {
	font-size: clamp(1.25rem, 0.833rem + 0.87vw, 1.875rem);
}
.lunch_modal-theme strong {
	color: #3e73ab;
	font-size: clamp(1rem, 0.792rem + 0.43vw, 1.313rem);
}
.lunch_modal-theme strong::before {
	content: "＞";
}
.lunch_modal-foot {
	display: flex;
	text-align: justify;
	flex-direction: column;
}
.lunch_modal-foot dt {
	display: flex;
	font-weight: normal;
	font-size: clamp(0.875rem, 0.721rem + 0.32vw, 1.063rem);
}
.lunch_modal-foot dt::before {
	content: "-";
}

.lunch_modal-foot dd {
	font-weight: 500;
	font-size: clamp(1rem, 0.846rem + 0.32vw, 1.188rem);
}
.lunch_modal-foot dd strong {
	background-color: #ffead9;
	font-weight: 500;
}
@media screen and (min-width: 768px) {
	.remodal {
		width: 95% !important;
		padding: 75px 0 125px !important;
	}
	.lunch_review-modal {
		width: 95%;
	}
	.lunch_modal-head {
		align-items: center;
	}
	.lunch_modal-head::after {
		height: 15px;
		margin: 25px 0 40px;
	}
	.lunch_modal-img {
		width: 48%;
	}
	.lunch_modal-foot dt {
		margin-bottom: 10px;
	}
	.lunch_modal-foot dd:not(:last-of-type) {
		margin-bottom: 35px;
	}
}
@media screen and (max-width: 767px) {
	.remodal {
		width: calc(100% - 30px) !important;
		padding: 70px 0 40px !important;
		border-radius: 10px;
	}
	.lunch_review-modal {
		width: calc(100% - 30px);
	}
	.lunch_modal-head {
		flex-direction: column;
	}
	.lunch_modal-head::after {
		height: 10px;
		margin: 15px 0 20px;
	}
	.lunch_modal-img {
		width: 100%;
		margin-bottom: 10px;
	}
	.lunch_modal-foot dt {
		margin-bottom: 5px;
	}
	.lunch_modal-foot dd:not(:last-of-type) {
		margin-bottom: 20px;
	}
}


/*******************************************************************************
	SDGs
*******************************************************************************/
#sdgs {
	position: relative;
	z-index: 1;
	background-color: #ffffff;
}

#sdgs .lunch_items-title {
	margin-bottom: 10px;
}

.lunch_sdgs-wrapper {
	display: flex;
	position: relative;
	max-width: 1360px;
	margin: 0 auto;
	flex-direction: column;
}

.lunch_sdgs-wrapper::after {
	display: block;
	position: absolute;
	top: 50%;
	left: 67.2795%;
	z-index: -1;
	transform: translateY(-45%);
	max-width: 565px;
	min-width: 450px;
	width: 41.5442%;
	background-image: url(../images/lunch/sdgs_ling.webp);
	background-repeat: no-repeat;
	background-size: 100%;
	opacity: 0.1;
	content: "";

	aspect-ratio: 1/1;
}

.lunch_sdgs-wrapper p {
	font-size: clamp(0.875rem, 0.73rem + 0.3vw, 1rem);
	line-height: clamp(1.563rem, 1.201rem + 0.75vw, 1.875rem);
}

.lunch_sdgs-wrapper ul {
	display: flex;
	max-width: 1180px;
	width: 100%;
	column-gap: 30px;
	flex-wrap: wrap;

	row-gap: 30px;
}

.lunch_sdgs-wrapper li {
	max-width: 140px;
	width: 100%;

	aspect-ratio: 1/1;
}

.lunch_sdgs-wrapper li img {
	width: 100%;
	height: auto;
}

@media screen and (min-width: 1200px) {
	.lunch_sdgs-wrapper li:nth-of-type(6) {
		margin-right: 30px;
	}
}


@media screen and (min-width: 768px) {
	#sdgs {
		margin-bottom: 205px;
	}


	.lunch_sdgs-wrapper {
		width: 95%;
	}

	.lunch_sdgs-wrapper p {
		margin-bottom: 40px;
	}

	.lunch_sdgs-wrapper ul {
		column-gap: 30px;

		row-gap: 30px;
	}
}

@media screen and (max-width: 767px) {
	#sdgs {
		margin-bottom: 80px;
	}

	.lunch_sdgs-wrapper {
		width: calc(100% - 40px);
	}

	.lunch_sdgs-wrapper p {
		margin-bottom: 25px;
	}

	.lunch_sdgs-wrapper ul {
		width: fit-content;
		margin: auto;
		column-gap: 20px;

		row-gap: 15px;
	}
	.lunch_sdgs-wrapper ul {
		column-gap: 2.7509%;
	}

	.lunch_sdgs-wrapper li {
		max-width: 31.4994%;
	}

	/*@media screen and (min-width: 501px) {
		.lunch_sdgs-wrapper ul {
			column-gap: 2.7509%;
		}

		.lunch_sdgs-wrapper li {
			max-width: 31.4994%;
		}
	}

	@media screen and (max-width: 500px) {
		.lunch_sdgs-wrapper ul {
			column-gap: 20px;
		}

		.lunch_sdgs-wrapper li {
			max-width: calc(50% - 10px);
		}
	}*/
}


/*******************************************************************************
	よくある質問
*******************************************************************************/
#faq {
	display: flex;
	background-color: #f0f0f0;
	flex-direction: column;
	align-items: center;
}

.lunch_faq-wrapper {
	display: flex;
	max-width: 1000px;
	margin: 0 auto;
	flex-direction: column;
}


.lunch_faq-section {
	display: flex;
	flex-direction: column;

	row-gap: 30px;
}

.lunch_faq-title {
	font-weight: 500;
	font-size: clamp(1.25rem, 0.408rem + 1.75vw, 1.563rem);
	text-align: center;
	letter-spacing: 0.1em;
}

.lunch_faq-list {
	display: flex;
	width: 100%;
	flex-direction: column;

	row-gap: 20px;
}

.lunch_faq-item {
	display: block;
	overflow: hidden;
	width: 100%;
	border-radius: 15px;
	background-color: #ffffff;
}

.lunch_faq-icon {
	/*display: flex;*/
	aspect-ratio: 1/1;
}

.lunch_faq-query {
	display: flex;
	position: relative;
	min-height: 90px;
	padding: 15px calc(20px + clamp(1.875rem, 0.191rem + 3.51vw, 2.5rem) + 10px) 15px clamp(3.75rem, 0.382rem + 7.02vw, 5rem);
	align-items: center;
	pointer-events: all;
	cursor: pointer;
	transition: all 0.4s;
}

.lunch_faq-query:hover {
	/*text-shadow: 0 3px 6px rgba(223, 79, 77, 0.35);*/
}

.lunch_faq-query::before , .lunch_faq-query::after {
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: clamp(1.875rem, 0.191rem + 3.51vw, 2.5rem);
	height: 3px;
	background-color: #4d9a71;
	content: "";
	transition: all 0.4s;
}


.lunch_faq-query::before {
	transform: translateY(-50%);
}

.lunch_faq-query.faq_open::before {
	transform: translateY(-50%) rotateZ(360deg);
}

.lunch_faq-query:hover::before {
	/*box-shadow: 0 3px 6px  rgba(223, 79, 77, 0.35);*/
}

.lunch_faq-query::after {
	transform: translateY(-50%) rotateZ(90deg);
	transform-origin: center;
}

.lunch_faq-query.faq_open::after {
	transform: translateY(-50%) rotateZ(360deg);
}

.lunch_faq-query:hover::after {
	/*box-shadow: 3px 0px 6px  rgba(223, 79, 77, 0.35);*/
}

.lunch_faq-query .lunch_faq-icon {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: clamp(3.125rem, 1.441rem + 3.51vw, 3.75rem);
	padding-top: 15px;
	padding-left: 13px;
	border-bottom-right-radius: 100%;
	background-color: #4d9a71;
	transition: all 0.4s;
}

/*.lunch_faq-query:hover .lunch_faq-icon {
	filter: drop-shadow(0px 3px 6px  rgba(223, 79, 77, 0.35));
}*/

.lunch_faq-query .lunch_faq-icon img {
	width: clamp(0.938rem, 0.095rem + 1.75vw, 1.25rem);

	aspect-ratio: 20/23;
}

.lunch_faq-query strong {
	font-size: clamp(0.938rem, 0.432rem + 1.05vw, 1.125rem);
}

.lunch_faq-answer {
	display: none;
	position: relative;
}

.lunch_answer-wrap {
	display: flex;
	visibility: hidden;
	min-height: 90px;
	padding: 20px clamp(1.25rem, -0.434rem + 3.51vw, 1.875rem) 15px 10px;
	opacity: 0;
	column-gap: clamp(0.625rem, -1.059rem + 3.51vw, 1.25rem);
	align-items: baseline;
	transition: all 0.4s;
}

.lunch_faq-answer.faq_open .lunch_answer-wrap {
	visibility: visible;
	opacity: 1;
}

.lunch_faq-answer .lunch_faq-icon {
	display: flex;
	max-width: clamp(2.5rem, 0.816rem + 3.51vw, 3.125rem);
	width: 100%;
	border-radius: 100%;
	background-color: #df4f4d;
	justify-content: center;
	align-items: center;

	aspect-ratio: 1/1;
}

.lunch_faq-answer .lunch_faq-icon img {
	width: clamp(0.938rem, 0.095rem + 1.75vw, 1.25rem);
}

@media screen and (min-width: 768px) {
	#faq {
		padding: 65px 0 135px;

		row-gap: 60px;
	}

	.lunch_faq-wrapper {
		width: 95%;

		row-gap: 75px;
	}

	.lunch_faq-section {
		row-gap: 30px;
	}

	.lunch_faq-query {
		min-height: 90px;
	}
}

@media screen and (max-width: 767px) {
	#faq {
		padding: 40px 0;

		row-gap: 40px;
	}

	.lunch_faq-wrapper {
		width: calc(100% - 40px);

		row-gap: 40px;
	}

	.lunch_faq-section {
		row-gap: 20px;
	}

	.lunch_faq-query {
		min-height: 75px;
	}
}






.lunch_faq-answer p {
	font-size: clamp(0.875rem, 0.538rem + 0.7vw, 1rem);
	line-height: clamp(1.563rem, 1.057rem + 1.05vw, 1.75rem);
}


.lower_container {
	background-color: #f0f0f0;
}
