@charset "UTF-8";

.container {
	background-image: url(../images/lunch/lunch_bg.png);
	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;
}

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

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

.lunch_anchor-item {
	max-width: 260px;
}

.lunch_anchor-item a {
	display: flex;
	width: 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;
	}

	.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;
	}

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

	.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;
}

.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::before {
	display: block;
	width: 19px;
	background-image: url(../images/lunch/lunch_items-title.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 19px 22px;
	content: "";

	aspect-ratio: 19/22;
}



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


.daily_visual-container {
	display: flex;
	max-width: 1640px;
	margin-left: auto;
	column-gap: 20px;
	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.125rem, 0.451rem + 1.4vw, 1.375rem);
	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.png);
	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: #f5f1ed;
}

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

.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: 90%;

	aspect-ratio: 13/11;
}

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

.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.png);
	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;

	row-gap: 15px;
}

#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-details ul::after {
		right: 155px;
		transform: rotateZ(125deg);
		transform-origin: right bottom;
	}

	#daily_perks-facility .daily_perks-details ul::after {
		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);
}

.daily_perks-details li::before {
	font-family: "icomoon";

/*width: 18px;
	background-color: #000000;*/
	font-size: 12px;
	content: "\e901";

	/*aspect-ratio: 18/13;*/
}

@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: 70px;
		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: 80px;
	}

	#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 {
		right: 70%;
		bottom: 30px;
		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;

		row-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-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%;
	}
}


/*******************************************************************************
	費用
*******************************************************************************/
#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;
	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;
	transform: translateY(-16.3%);
	max-width: 2020px;
	width: 148.5295%;
}

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

@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%);
	}
}

@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(-15.3%);
	}

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

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

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

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




/*******************************************************************************
	口コミ
*******************************************************************************/
#review {
	display: flex;
	position: relative;
	z-index: 1;
	overflow: hidden;
	max-width: 1920px;
	width: 100%;
	background-color: #ffffff;
	background-image: url(../images/lunch/review_bg.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-blend-mode: luminosity;
	background-size: cover;
	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;
	top: 47%;

/*left: -16.1458vw;*/
	right: 1285px;
	transform: translateY(-47%) rotateZ(-90deg);
	transform-origin: center;
	color: #ffffff;
	font-weight: normal;
	font-size: 318px;
	letter-spacing: 0.1em;
	content: attr(date-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-wrap: wrap;
	justify-content: space-between;

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

.lunch_review-item {
	display: flex;
	width: calc(50% - clamp(0.625rem, 0.083rem + 1.13vw, 1.094rem));
	padding: 45px 25px 40px;
	border-radius: 10px;
	background-color: #ffffff;
	flex-direction: column;
}

@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-item h3 {
	margin-bottom: 5px;
	color: #3e73ab;
	font-weight: bold;
	font-size: clamp(1.25rem, 0.527rem + 1.51vw, 1.875rem);
}

.lunch_review-item span {
	display: flex;
	margin-bottom: 25px;
	font-size: 14px;
}


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

.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: 85px;
		padding: 75px 0 60px;

		row-gap: 90px;
	}

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

	.lunch_review-list {
		width: 95%;
	}

	.lunch_review-item {
		padding: 45px 25px 40px;
	}

	.lunch_review-item span {
		margin-bottom: 25px;
	}
}

@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);
	}

	.lunch_review-item {
		padding: 30px 15px 25px;
	}

	.lunch_review-item span {
		margin-bottom: 15px;
	}
}





/*******************************************************************************
	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.png);
	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%;
}

@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: 135px;
	}


	.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 {
		column-gap: 20px;

		row-gap: 20px;
	}
}


/*******************************************************************************
	よくある質問
*******************************************************************************/
#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 h4 {
	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: 150px 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: 80px 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;
}
