@charset "utf-8";

/* ---------------------------------------- 
 - lunch_buffet
---------------------------------------- */
#lunch_buffet {
	width: 90%;
	max-width: 1200px;
	margin: 90px auto;
	padding-top: 90px;
	border-top: solid 1px #92a395;
	text-align: center;
}
#lunch_buffet > .ttl {
	margin-bottom: 2.5em;
}
#lunch_buffet > .ttl .en {
	font-size:4.6rem;
	font-weight: 200;
	line-height:1.4;
	color: #657568;
}
#lunch_buffet .visual_list {
  display: flex;
  flex-wrap: wrap;
  /*gap: 20px;*/
  width: 100%;
  margin-bottom: 20px;
  box-sizing: border-box;
}
#lunch_buffet .visual_list .fade_item {
  position: relative;
  overflow: hidden;
  margin-right: 20px;
	margin-bottom: 20px;
}
#lunch_buffet .visual_list .fade_item:nth-child(2),
#lunch_buffet .visual_list .fade_item:nth-child(5) {
	margin-right: 0;
}
#lunch_buffet .visual_list .fade_item:nth-child(1){
	width: calc(65% - 20px);
	aspect-ratio: 62 / 28;
}
#lunch_buffet .visual_list .fade_item:nth-child(2){
	width: calc(35% - 0px);
	aspect-ratio: 38 / 28;
}
#lunch_buffet .visual_list .fade_item:nth-child(3){
	width: calc(32.5% - 20px);
	aspect-ratio: 31 / 20;
}
#lunch_buffet .visual_list .fade_item:nth-child(4){
	width: calc(32.5% - 20px);
	aspect-ratio: 31 / 20;
}
#lunch_buffet .visual_list .fade_item:nth-child(5){
	width: calc(35% - 0px);
	aspect-ratio: 38 / 20;
}
#lunch_buffet .visual_list .visual {
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
}
#lunch_buffet .visual_list picture,
#lunch_buffet .visual_list img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#lunch_buffet .info_box {
	display: flex;
	justify-content:space-between;
	align-items: flex-start;
	text-align: left;
}
#lunch_buffet .info_box .txt_bpx .hours {
    padding-left: 1.0em;
    border-left: solid 1px #92a395;
}
#lunch_buffet .info_box .btn_box {
	display: flex;
	justify-content:flex-end;
}
#lunch_buffet .info_box .btn_box .link_btn {
	margin-left: 15px;
}
@media (max-width: 768px) {
	#lunch_buffet {
		margin: 50px auto;
        padding-top: 50px;
		display: block;
	}
	#lunch_buffet > .ttl {
		margin-bottom: 1.5em;
	}
	#lunch_buffet > .ttl .en {
		font-size:2.6rem;
		font-weight: 300;
	}	
	#lunch_buffet .visual_list {
		margin-bottom: 20px;
	}	
	#lunch_buffet .visual_list .fade_item {
		margin-right: 10px;
		margin-bottom: 10px;
	}
	#lunch_buffet .visual_list .fade_item:nth-child(2),
	#lunch_buffet .visual_list .fade_item:nth-child(4) {
		margin-right: 10px;
	}
	#lunch_buffet .visual_list .fade_item:nth-child(1),
	#lunch_buffet .visual_list .fade_item:nth-child(3),
	#lunch_buffet .visual_list .fade_item:nth-child(5) {
		margin-right: 0;
	}
	#lunch_buffet .visual_list .fade_item:nth-child(1){
		width:100%;
		aspect-ratio: 100 / 45;
	}
	#lunch_buffet .visual_list .fade_item:nth-child(2){
		width: calc(45% - 5px);
		aspect-ratio: 45 / 28;
	}
	#lunch_buffet .visual_list .fade_item:nth-child(3){
		width: calc(55% - 5px);
		aspect-ratio: 55 / 28;
	}
	#lunch_buffet .visual_list .fade_item:nth-child(4){
		width: calc(55% - 5px);
		aspect-ratio: 55 / 28;
	}
	#lunch_buffet .visual_list .fade_item:nth-child(5){
		width: calc(45% - 5px);
		aspect-ratio: 45 / 28;
	}
	#lunch_buffet .info_box {
		display: block;
		text-align: center;
	}
	#lunch_buffet .info_box .txt_bpx {
		text-align: left;
	}
	#lunch_buffet .info_box .btn_box {
		display: block;
		margin: 0 auto;
	}
	#lunch_buffet .info_box .btn_box .link_btn {
		margin-left: 0;
		margin-top: 20px;
	}
}

/* ---------------------------------------- 
 - walkin
---------------------------------------- */
#walkin {
	width: 90%;
	max-width: 1200px;
	margin: 90px auto;
	padding-top: 90px;
	border-top: solid 1px #92a395;
	text-align: center;
}
#walkin > .inner {
	max-width: 1010px;
	margin: 0 auto;
}
#walkin > .inner > .ttl {
	margin-bottom: 1.5em;	
	color: #657568;
}
#walkin > .inner > .ttl .jp {
	font-size:4.6rem;
	font-weight: 200;
	line-height:1.4;
}
#walkin > .inner > .ttl .en {
	display: block;
	font-size:1.8rem;
	margin-top: 0.5em;
}
#walkin > .inner > .lead {
    margin: 0 auto 3.0em;
    max-width: 750px;
}
#walkin .visual_box {
	width: 100%;
	max-width: 1010px;
	margin: 0 auto 35px;
	display: flex;
	justify-content: space-between;
}
#walkin .info_box {
	display: flex;
	justify-content:space-between;
	align-items: flex-start;
	text-align: left;
	margin-top: 40px;
}
#walkin .info_box .txt_bpx .hours {
    padding-left: 1.0em;
    border-left: solid 1px #92a395;
}
#walkin .info_box .txt_bpx ul.notice {
	margin-top: 1.0em;
	font-size: 1.4rem;
	line-height: 1.6;
}
#walkin .info_box .txt_bpx ul.notice li {
	text-indent: -1.0em;
	margin-left: 1.0em;
	margin-bottom: 0.5em;
}
#walkin .info_box .btn_box {
	margin-left: 15px;
}
#walkin .info_box .btn_box .link_btn {
	margin-bottom: 15px;
}
#walkin .info_box .btn_box .link_btn:last-child {
	margin-bottom: 0;
}
@media screen and (max-width: 768px) {
	#walkin {
		margin: 50px auto;
        padding-top: 50px;
	}
	#walkin > .inner > .ttl {
		margin-bottom: 1.5em;
	}
	#walkin > .inner > .ttl .jp {
		font-size:2.6rem;
		font-weight: 300;
	}
	#walkin > .inner > .ttl .en {
		font-size:1.6rem;
	}
	#walkin > .inner > .lead {
        margin-bottom: 2.0em;
    }
	#walkin .visual_box {
		margin-bottom: 20px;
	}
	#walkin .info_box {
		display: block;
		margin-top: 20px;
		text-align: center;
	}
	#walkin .info_box .txt_bpx {
		text-align: left;
	}
	#walkin .info_box .btn_box {
		margin-left: 0;
		margin-top: 20px;
	}
}

/* ---------------------------------------- 
 - .other_box（restaurant.css）
---------------------------------------- */
.other_box {
	margin: 90px auto;
}
.other_box > .ttl {
	margin-bottom: 2.5em;
}
#souvenir.other_box > .ttl .jp {
	font-size:4.6rem;
	font-weight: 200;
	line-height:1.4;
	color: #657568;
}
#souvenir.other_box > .ttl .en {
	display: block;
	font-size:1.8rem;
	font-weight:inherit;
	line-height:inherit;
}
.other_box .visual_box {
	width: 100%;
	max-width: 1010px;
	margin: 0 auto 35px;
	display: flex;
	justify-content: space-between;
}
#party.other_box .visual_box {
	display: block;
}
#party.other_box .visual_box .visual {
	width: 100%;
	max-width: 100%;
}
@media screen and (max-width: 768px) {
	.other_box {
		margin: 50px auto;
	}
	.other_box > .ttl {
        margin-bottom: 1.5em;
    }
	.other_box .visual_box {
        margin-bottom: 20px;
    }
	#souvenir.other_box > .ttl .jp {
		font-size:2.6rem;
		font-weight: 300;
	}
	#souvenir.other_box > .ttl .en {
		font-size:1.6rem;
		font-weight:inherit;
	}
}