/**************************************/
/*    ショップレイアウト
/**************************************/
#shop_layout{
	padding-bottom: 40px;
}

/* 店舗TOP デリバリーPOP UP */
#shop_layout .popup_base{
	position: fixed;
	top:0px;
	left:0px;
	height:100%;
	width:100vw;
	background-color: rgba(0,0,0,0.5);
	z-index: 10;
}
#shop_layout .popup_base .popup_window{
	position: relative;
	top: 40%;
	left: 50vw;
	padding: 20px 10px;
	width: 90vw;
	max-width: 380px;
	min-height: 320px;
	background-color: #F7F8F8;
	border-radius: 6px;
	transform: translate(-50%, -50%);
}
#shop_layout .popup_base .popup_title{
	font-weight: bold;
	line-height: 32px;
	text-align: center;
}
#shop_layout .popup_base .btn_popup_close{
	position: absolute;
	top:-8px;
	right:-8px;
	color:#FFF;
	font-size:14px;
	line-height: 24px;
	width:24px;
	height:24px;
	background-color: #000;
	border-radius: 12px;
}
#shop_layout .popup_base .popup_window .delivery_lists{
	display: block;
	width: 100%;
}
#shop_layout .popup_base .popup_window .delivery_list_item{
	display: block;
	width: 100%;
	height: 48px;
}
#shop_layout .popup_base .popup_window .delivery_list_item a{
	position: relative;
	display: block;
	line-height: 48px;
	padding:0px 8px;
	width: 100%;
	height: 48px;
	border-bottom:solid 1px #EEE;
}
#shop_layout .popup_base .popup_window .delivery_list_item a:after{
	position: absolute;
	top:0px;
	right:0px;
	content:">";
}


/* 店舗TOP SNS */
#shop_layout .shop_btn_box{
	display: flex;
	width: 100%;
	height:48px;
	line-height: 48px;
	background-color: white;
	overflow-x: scroll;
    z-index: 1;
}
#shop_layout .shop_btn_box .shop_btn_item{
	margin:0px 4px;
}
#shop_layout .shop_info_sns_box{
	text-align: center;
	margin:0px auto;
}
#shop_layout .shop_info_sns_box a{
	margin:20px 8px 0px;
	width:28px;
}
#shop_layout .shop_info_sns_box a img{
	width:100%;
	filter: grayscale(100%);
}

#shop_layout h2{
	line-height: 64px;
	text-align: center;
}
#shop_layout .shop_enter_txt_box{
	line-height: 150%;
	text-align: center;
}

#shop_layout .shop_main_visual_box{
	width: 100%;
	height: 120px;
	overflow: hidden;
}
#shop_layout .shop_main_visual_box img{
	width: 100%;
	height: auto;
}

#shop_layout .shop_info_box{
}
#shop_layout .shop_info_list{
	border-top: solid 1px #EBF2EE;
}
#shop_layout .shop_info_list:last-of-type{
	border-bottom: solid 1px #EBF2EE;
}
#shop_layout .shop_info_list .shop_info_list_title{
	width: 100px;
	padding: 12px 8px 12px 8px;
	background-color: #CFD7D3;
}
#shop_layout .shop_info_list .shop_info_list_detail{
	width: calc(100% - 100px);
	padding: 12px 8px 12px 8px;
}

#shop_layout .menu_category_box{
	position: sticky;
	top: 0px;
	background-color: white;
}
#shop_layout .menu_category_list{
	display: flex;
	width: 100%;
	height:48px;
	line-height: 48px;
	overflow-x: scroll;
    z-index: 1;
}
#shop_layout .menu_category_list .menu_category_list_item{
	padding: 0px 12px;
	flex-shrink: 0;
}
#shop_layout .menu_category_list .menu_category_list_item a.active{
	color: #0A8647;
	font-weight: bold;
	border-bottom: 2px solid #0A8647;
}

#shop_layout .menu_list_box{
	padding: 8px 0px 24px;
}
#shop_layout .menu_list_box .menu_category_title{
	line-height: 20px;
	padding-left: 12px;
}
#shop_layout .menu_detail_box{
	padding: 0px 0px 40px;
	background-color:rgba(207,215,211,0.1);
	border-radius: 12px;
}
#shop_layout .menu_detail_box .menu_detail_title{
	position: relative;
	font-weight: bold;
	line-height: 48px;
	text-align:center;
}
#shop_layout .menu_detail_box .menu_detail_title a{
	position: absolute;
	left: 12px;
	top: 0px;
	width: 32px;
}
#shop_layout .menu_detail_box .menu_detail_title .btn_back_title{
	position: absolute;
	left: 0px;
	color: black;
	font-size: 16px;
	font-weight: bold;
	width: 40px;
}

#shop_layout .menu_detail_box .menu_detail_img_box{
	text-align: center;
}
#shop_layout .menu_detail_box .menu_detail_img_box img{
	width: 96%;
	border-radius: 12px;
}
#shop_layout .menu_detail_box .menu_detail_img_box .item_no_image{
	color:#FFF;
	font-size:32px;
	line-height: 96vw;
	text-align: center;
	margin:0px auto;
	width:96vw;
	height:96vw;
	background-color:#BBB;
	border-radius:8px;
}

#shop_layout .menu_detail_box .menu_detail_info_box{
	padding: 20px 12px;
}
#shop_layout .menu_detail_box .menu_detail_info_box .menu_detail_name{
	font-size: 14px;
	font-weight: bold;
	line-height: 150%;
}
#shop_layout .menu_detail_box .menu_detail_info_box .menu_detail_allergy{
	font-size: 10px;
	font-weight: bold;
	margin: 8px 0px;
}
#shop_layout .menu_detail_box .menu_detail_info_box .menu_detail_allergy .allergy_name{
	margin: 4px;
	padding: 4px 8px;
	background-color: #EBF2EE;
	border-radius: 4px;
}
#shop_layout .menu_detail_box .menu_detail_info_box .menu_detail_allergy .allergy_name:first-of-type{
	margin-left: 0px;
}
#shop_layout .menu_detail_box .menu_detail_info_box .menu_detail_price{
	font-weight: bold;
	padding: 12px 0px;
}
#shop_layout .menu_detail_box .menu_detail_info_box .menu_detail_description{
	color: #7D7D7D;
	font-size: 11px;
	line-height: 150%;
}
