/**************************************/
/*    メニュー関連
/**************************************/
#notes{
	color:#FFF;
	padding:8px;
	background-color:#000;
}
#menu_layout{}
#menu_layout .menu_category_list{
	position: sticky;
	top: 0px;
	display: flex;
	width: 100%;
	height:48px;
	line-height: 48px;
	background-color: white;
	overflow-x: scroll;
    z-index: 1;
}
#menu_layout .menu_category_list .menu_category_list_item{
	padding: 0px 12px;
	flex-shrink: 0;
}
#menu_layout .menu_category_list .menu_category_list_item a.active{
	color: #0A8647;
	font-weight: bold;
	border-bottom: 2px solid #0A8647;
}
#menu_layout .menu_category_description{
	padding:10px 16px;
}


/* アルコールポップアップ */
#menu_layout .alcohol_caution_box{
	color: white;
	font-size: 14px;
	line-height: 150%;
	text-align: center;
	padding: 12px;
	border-radius: 12px;
	background-color: #e6260d;
}
#menu_layout .alcohol_caution_box .alcohol_caution_en{
	color: #CCC;
	font-size: 12px;
	margin-top: 12px;
}
#menu_layout .alcohol_box{
	line-height: 150%;
	text-align: center;
	margin-top: 24px;
}
#menu_layout .alcohol_box .alcohol_en{
	font-size: 12px;
	margin-top: 4px;
}

/*  menu list  */
#menu_layout .menu_list_box{
	padding: 8px 0px 24px;
}
#menu_layout .menu_list_box .menu_category_title{
	line-height: 20px;
	padding-left: 12px;
}
#menu_layout .menu_list_box .menu_overlay{
	display:block;
	position: absolute;
	left: 0;
	top: 0;
	padding:8px 8px;
	width: 100%;
	height: 100%;
	border-radius: 12px;
	background-color: #000;
	opacity: 0.3;
}
.menu_list_box .menu_list_item{
	position: relative;
	padding:8px 8px;
	margin: 8px auto;
	width: calc(100% - 16px);
	background-color:rgba(207,215,211,0.4);
	border-radius: 12px;
}
.menu_list_box .menu_list_item:last-child{
	margin-bottom: 0px;
}
.menu_list_box .menu_list_item .menu_list_item_img{
	width: 96px;
	height: 96px;
	overflow: hidden;
}
.menu_list_box .menu_list_item .menu_list_item_img .item_no_image{
	line-height: 96px;
	text-align: center;
	width:96px;
	height:96px;
	background-color:#BBB;
	border-radius:8px;
}
.menu_list_box .menu_list_item .menu_list_item_img img{
	width: 100%;
	height: auto;
	border-radius: 12px;
}
.menu_list_box .menu_list_item .menu_list_item_detail{
	color: #000;
	padding-top:10px;
	padding-left: 12px;
	width: calc(100% - 96px);
}
.menu_list_box .menu_list_item .menu_list_item_detail .menu_list_item_name{
	line-height: 16px;
	font-size: 14px;
	margin-bottom: 8px;
}
.menu_list_box .menu_list_item .menu_list_item_detail .menu_list_item_price{
	font-weight: bold;
	margin-bottom: 8px;
}
.menu_list_box .menu_list_item .menu_list_item_detail .menu_list_item_price.recommend_item{
	display: inline-block;
	color:#FFF;
	padding:4px 8px 2px;
	background-color:#0A8647;
}
.menu_list_box .menu_list_item .menu_list_item_detail .menu_list_item_description{
	color: #8D928F;
}

#menu_layout .menu_call_box{
	position: fixed;
	left: 8px;
	bottom: 50px;
	transition: all 1s;
	z-index: 100;
}
#menu_layout .menu_call_box.is_active{
    left:-100px!important;
}
#menu_layout .menu_call_box.is_nonactive{
    left:8px!important;
}
#menu_layout .menu_call_box .btn_menu_call_confirm{
	position: relative;
	display:block;
	width: 52px;
	height: 52px;
	background-color: #8cd7ad;
	border-radius: 26px;
	background-image: url('/img/common/icon_bell.png');
	background-size: 20px 22px;
	background-repeat:no-repeat;
	background-position:center center;
}

#menu_layout .menu_cart_check_box {
    position: fixed;
    right: 0px;
    bottom: 50px;
    z-index: 100;
}
#menu_layout .menu_cart_check_box .btn_cart_check{
	position: relative;
	display:block;
	width: 56px;
	height: 52px;
	background-color: #0A8647;
	border-top-left-radius: 26px;
	border-bottom-left-radius: 26px;
	background-image: url('/img/common/icon_cart.png');
	background-size: 24px 25px;
	background-repeat:no-repeat;
	background-position: 24px center;
}
#menu_layout .menu_cart_check_box .btn_cart_check span{
	display:block;
	position: absolute;
	top: 8px;
	left: 8px;
	color: black;
	font-weight: bold;
	text-align: center;
	width: 20px;
	height: 20px;
	line-height: 20px;
	background-color: white;
	border-radius: 12px;
}

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

#menu_layout .menu_detail_box .menu_detail_img_box{
	text-align: center;
}
#menu_layout .menu_detail_box .menu_detail_img_box img{
	width: 96%;
	border-radius: 12px;
}
#menu_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;
}

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

#menu_layout .menu_detail_box .menu_detail_option_box{}
#menu_layout .menu_detail_box .menu_detail_option_box h3{
	font-weight:bold;
	line-height: 28px;
	padding: 0px 24px;
	background-color: #ebf2ee;
}
#menu_layout .menu_detail_box .menu_detail_option_box .menu_detail_option_select{
	padding: 12px 20px;
}
#menu_layout .menu_detail_box .menu_detail_option_box .menu_detail_suboption_select{
	padding: 4px 20px;
}
#menu_layout .menu_detail_option_box .menu_detail_option_select .menu_detail_option_item{
	position: relative;
	line-height: 32px;
	min-height: 32px;
}
#menu_layout .menu_detail_option_box .menu_detail_option_select .menu_detail_option_item input{}
#menu_layout .menu_detail_option_box .menu_detail_option_select .menu_detail_option_item .option_name{
	position: absolute;
	top: 2px;
	left: 24px;
}
#menu_layout .menu_detail_option_box .menu_detail_option_select .menu_detail_option_item .option_price{
	position: absolute;
	top: 2px;
	right: 0px;
	font-weight: bold;
}

#menu_layout .menu_detail_count_box{
	font-weight: bold;
	line-height: 36px;
	text-align: center;
	margin: 20px auto;
	width: 160px;
	padding: 0px 20px;
	background-color: white;
	border: solid 1px #CCC;
	border-radius: 18px;
}
#menu_layout .menu_detail_count_box .flexbox_C1{}
#menu_layout .menu_detail_count_box .flexbox_C2{}
#menu_layout .menu_detail_count_box .flexbox_C3{}

#menu_layout .menu_detail_comment_box{
	margin:20px auto 40px;
	width:calc(100% - 40px);
}
#menu_layout .menu_detail_comment_box h3{
	margin-bottom:12px;
}
#menu_layout .menu_detail_comment_box textarea{
	width:100%;
	height: 60px;
	padding:4px;
	line-height: 120%;
	border-radius:8px;
}


/* calling */
#menu_layout .menu_calling_title{
	font-size: 13px;
	line-height: 72px;
	text-align: center;
}
#menu_layout .menu_calling_box .menu_calling_subtitle{
	line-height: 42px;
	text-align: center;
}
#menu_layout .menu_calling_box{}
#menu_layout .menu_calling_box .menu_calling_list_box{
}
#menu_layout .menu_calling_box .menu_calling_list_box .menu_calling_list{
	margin-bottom: 24px;
}
#menu_layout .menu_calling_box .menu_calling_list_box .menu_calling_item{
	text-align: center;
	padding-top: 20px;
	background-color: #EBF2EE;
	border: solid 1px #EBF2EE;
	border-radius: 12px;
}
#menu_layout .menu_calling_box .menu_calling_list_box .menu_calling_item:nth-child(odd){
	width: 50%;
	margin: 0px 12px 0px 20px;
}
#menu_layout .menu_calling_box .menu_calling_list_box .menu_calling_item:nth-child(even){
	width: 50%;
	margin: 0px 20px 0px 12px;
}
#menu_layout .menu_calling_box .menu_calling_list_box .menu_calling_item .menu_calling_item_name{
	font-weight: bold;
	margin-bottom: 16px;
}
#menu_layout .menu_calling_box .menu_calling_count_box{
	font-weight: bold;
	line-height: 36px;
	text-align: center;
	width: 100%;
	padding: 0px 20px;
	background-color: white;
	border-radius: 0px 0px 12px 12px;
}
.menu_calling_item.empty_calling_item {
	background-color: #FFF!important;
	border-color:#FFF!important;

}

/* calling complete  */
#menu_layout .menu_calling_box .menu_calling_complete_box{
	text-align: center;
	padding-top: 64px;
}
#menu_layout .menu_calling_box .menu_calling_complete_name{
	color: #0A8647;
	font-weight: bold;
	margin-bottom: 16px;
}
#menu_layout .menu_calling_box .menu_calling_complete_text{
	text-align: center;
	line-height: 150%;
}
#menu_layout .menu_calling_box .menu_calling_complete_item{
	text-align: center;
}


/* cart */
#menu_layout .menu_title{
	font-size: 13px;
	line-height: 72px;
	text-align: center;
}
#menu_layout .menu_cart_box{
	width: calc(100% - 40px);
	margin: 0px auto;
}
#menu_layout .menu_cart_box .menu_cart_list_box{
	margin: 16px 0px 40px 0px;
}
#menu_layout .menu_cart_box .menu_cart_list_box .menu_cart_item_box{
	position: relative;
	margin-bottom: 40px;
	padding: 20px 16px 48px 16px;
	background-color: #FAFBFB;
	border: solid 1px #EBF2EE;
	border-radius: 20px;
}
#menu_layout .menu_cart_box .menu_cart_list_box .menu_cart_item_box .cart_item_img{
	width: 20%;
}
#menu_layout .menu_cart_box .menu_cart_list_box .menu_cart_item_box .cart_item_img img{
	width: 100%;
	border-radius: 10px;
}
#menu_layout .menu_cart_box .menu_cart_list_box .menu_cart_item_box .item_no_image{
	color:white;
	font-size:12px;
	line-height: 72px;
	text-align: center;
	width:72px;
	height:72px;
	background-color:#BBB;
	border-radius:8px;
}
#menu_layout .menu_cart_box .menu_cart_list_box .menu_cart_item_box .cart_item_detail{
	padding: 0px 12px;
	width: 80%;
}
#menu_layout .menu_cart_box .menu_cart_list_box .menu_cart_item_box .cart_item_detail .cart_item_name{
	font-weight: bold;
	margin-bottom: 8px;
}
#menu_layout .menu_cart_box .menu_cart_list_box .menu_cart_item_box .cart_item_detail .cart_item_option{
	color: #8D928F;
	font-size: 11px;
	margin-bottom: 4px;
}
#menu_layout .menu_cart_box .menu_cart_list_box .menu_cart_item_box .cart_item_detail .cart_item_price{
	font-weight: bold;
	margin-top: 8px;
}

#menu_layout .menu_cart_box .menu_cart_list_box .menu_detail_count_box{
	position: absolute;
	bottom: 0px;
	left: 0px;
	font-weight: bold;
	line-height: 36px;
	text-align: center;
	margin: 0px auto;
	width: 100%;
	padding: 0px 20px;
	background-color: white;
	border: solid 1px #CCC;
	border-radius: 18px;
}

#menu_layout .menu_cart_confirm_box{
	/*position: fixed;
	bottom: 0px;
	width: 100%;*/
	padding: 20px 20px 20px 20px;
	background-color: #FAFBFB;
	border-radius: 20px 20px 0px 0px;
	box-shadow: 0 -1px 3px rgba(0,0,0,0.1),0 1px 3px rgba(0,0,0,0.1);
}
#menu_layout .menu_cart_confirm_box .cart_item_count_sum{
	width: 50%;
}
#menu_layout .menu_cart_confirm_box .cart_item_count_sum span{
	color: #0A8647;
	font-weight: bold;
	margin-left: 8px;
	padding: 4px 8px;
	min-width: 20px;
	height: 20px;
	background-color: #FFF;
	border: solid 1px #0A8647;
	border-radius: 10px;
}
#menu_layout .menu_cart_confirm_box .cart_item_price_sum{
	font-size: 14px;
	font-weight: bold;
	text-align: right;
	width: 50%;
}

/* order */
#menu_layout .menu_cart_box .menu_order_confirm_box{
	padding: 32px 0px 24px;
	margin-bottom: 60px;
	background-color: #FAFBFB;
	border-radius: 20px;
	box-shadow: 0px 0px 3px rgba(0,0,0,0.1);
}
#menu_layout .menu_cart_box .menu_order_confirm_box .order_item_count_sum{
	padding-left: 12px;
	width: 50%;
}
#menu_layout .menu_cart_box .menu_order_confirm_box .order_item_count_sum span{
	color: #0A8647;
	font-weight: bold;
	margin-left: 8px;
	padding: 4px 8px;
	min-width: 20px;
	height: 20px;
	backgrund-color: #FFF;
	border: solid 1px #0A8647;
	border-radius: 10px;
}
#menu_layout .menu_cart_box .menu_order_confirm_box .order_item_price_sum{
	font-size: 14px;
	font-weight: bold;
	text-align: right;
	padding-right: 12px;
	width: 50%;
}
#menu_layout .menu_cart_box .menu_order_confirm_box .order_item_list{
	padding: 10px 12px;
	border-top: solid 1px #EBF2EE;
}
#menu_layout .menu_cart_box .menu_order_confirm_box .order_item_list .order_item_name{
	font-weight: bold;
	line-height: 150%;
}
#menu_layout .menu_cart_box .menu_order_confirm_box .order_item_list .order_item_option{
	color: #8D928F;
	font-size: 11px;
	margin-top: 4px;
}

#menu_layout .menu_order_complete_box{
	text-align: center;
	margin: 120px auto;
}

/*  checkout  */
#menu_layout .menu_checkout_box{
	margin: 0px auto;
	width: calc(100% - 40px);
}
#menu_layout .menu_checkout_box .menu_checkout_none_box{
	line-height: 150%;
	text-align: center;
	margin: 100px auto;
}
#menu_layout .menu_checkout_box .menu_checkout_list_box{
	padding: 20px 0px 10px;
	background-color: #FAFBFB;
	border-radius: 20px;
	box-shadow: 0 -1px 3px rgba(0,0,0,0.1),0 1px 3px rgba(0,0,0,0.1);
}
#menu_layout .menu_checkout_box .menu_checkout_list_box .menu_checkout_sum_box{
	padding: 0px 16px;
	margin-bottom: 24px;
/*	border-bottom: solid 1px #EBF2EE;*/
}
#menu_layout .menu_checkout_box .menu_checkout_list_box .check_coupon_box{
	padding: 0px 10px 10px;
}
#menu_layout .menu_checkout_box .menu_checkout_list_box .check_coupon_box input{
	padding:0px 8px;
	width:100%;
	max-width: 100%;
	height: 40px;
	border-radius:4px;
	border:solid 1px #999;
}
#menu_layout .menu_checkout_box .menu_checkout_list_box .order_item_count_sum{
	font-weight: bold;
	width: 50%;
}
#menu_layout .menu_checkout_box .menu_checkout_list_box .order_item_count_sum span{
	display: inline-block;
	color: #0A8647;
	margin-left: 8px;
	padding: 0px 8px;
	min-width: 20px;
	height: 30px;
	line-height: 30px;
	backgrund-color: #FFF;
	border: solid 1px #0A8647;
	border-radius: 10px;
}
#menu_layout .menu_checkout_box .menu_checkout_list_box .order_item_price_sum{
	font-size: 16px;
	font-weight: bold;
	text-align: right;
	width: 50%;
}
#menu_layout .menu_checkout_box .menu_checkout_order_list_box{
	font-weight: bold;
	padding: 0px 14px;
}
#menu_layout .menu_checkout_box .menu_checkout_order_list_box .menu_checkout_order_list{
	padding: 8px 0px;
	line-height: 20px;
}
#menu_layout .menu_checkout_box .menu_checkout_order_list_box .menu_checkout_order_list .order_icon{
	width: 24px;
	text-align: center;
}
#menu_layout .menu_checkout_box .menu_checkout_order_list_box .menu_checkout_order_list .order_icon > span{
	display:inline-block;
	color: #333;
	font-size: 12px;
	line-height: 16px;
	width: 20px;
	height: 20px;
	padding: 3px 4px 4px;
	border-radius: 6px;
	background-color: #CFD7D3;
}
#menu_layout .menu_checkout_box .menu_checkout_order_list_box .menu_checkout_order_list .order_name{
	width: calc(65%);
}
#menu_layout .menu_checkout_box .menu_checkout_order_list_box .menu_checkout_order_list .order_num{
	text-align: center;
	width: 15%;
}
#menu_layout .menu_checkout_box .menu_checkout_order_list_box .menu_checkout_order_list .order_price{
	text-align: right;
	width: 20%;
}
#menu_layout .menu_checkout_box .menu_checkout_order_list_box .menu_checkout_order_list .menu_checkout_order_option_list_box{
	margin: 4px 0px;
	color: #8D928F;
	padding-left: 0px;
}

/*  payment  */
#menu_layout .menu_checkout_box .menu_checkout_list_box h3.menu_checkout_title{
	color: #8D928F;
	text-align: center;
	margin-bottom: 16px;
}
#menu_layout .menu_checkout_box .menu_checkout_list_box .menu_checkout_sum_box{
	margin-bottom:8px;
}

#menu_layout .menu_checkout_box .menu_checkout_order_list_box .menu_checkout_order_list h3{
	margin:10px 0px 10px;
}

#menu_layout .menu_checkout_box .menu_checkout_payment_box{
	margin: 32px 0px;
}
#menu_layout .menu_checkout_box .menu_checkout_payment_box h3.menu_checkout_title{
	color: #8D928F;
	margin-bottom: 16px;
}

#menu_layout .menu_checkout_box .menu_checkout_payment_box .menu_checkout_payment_list_box li{
	line-height: 32px;
}
#menu_layout li input[type=radio]{
	display: none;
}
#menu_layout li label {
	cursor: pointer;
	padding-left: 30px;
	position: relative;
}
#menu_layout li label::before,
#menu_layout li label::after {
	content: "";
	display: block;
	border-radius: 50%;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
}
#menu_layout li label::before {
	background-color: #fff;
	border: 1px solid #0A8647;
	height: 18px;
	width: 18px;
	left: 0px;
}
#menu_layout li label::after {
	background-color: #0A8647;
	opacity: 0;
	height: 11px;
	width: 11px;
	left: 4px;
}
#menu_layout li input:checked + label::after {
	opacity: 1;
}

#menu_layout .payment_card_select{
	padding:0px 8px;
	width:100%;
	max-width: 320px;
	height: 40px;
}

/* 割り勘用パーツ */
#dutch_layout .menu_dutch_box{

}
#dutch_layout .menu_dutch_count_box{
	font-weight: bold;
	line-height: 36px;
	text-align: center;
	margin: 4px auto 10px;
	width: 160px;
	padding: 0px 20px;
	background-color: white;
	border: solid 1px #CCC;
	border-radius: 18px;
}
#dutch_layout .menu_dutch_count_box .flexbox_C1{}
#dutch_layout .menu_dutch_count_box .flexbox_C2{}
#dutch_layout .menu_dutch_count_box .flexbox_C3{}


/* complete */
#menu_layout .menu_checkout_box .menu_checkout_complete_box{
	line-height: 150%;
	text-align: center;
	margin: 40px auto;
}

/* アンケート */
#survey .survey_title{
	color: #8D928F;
    line-height: 32px;
    margin-bottom:20px;
    padding-left: 20px;
    background-color: #FAFBFB;
    border-bottom:solid 1px #CCC;
}
#survey .survey_info_box{
	margin: 0px auto 20px;
	width: calc(100% - 40px);
}
#survey .survey_info_box h3{
	font-size: 14px;
	margin-bottom: 8px;
}
#survey .survey_info_box .survey_detail{
	color: #0A8647;
	font-size: 20px;
	font-weight: bold;
	line-height: 48px;
	text-align: center;
	width: 100%;
	height: 48px;
	border-bottom: solid 1px #ABB3AF;
}
#survey .survey_info_box.flexbox > div:nth-child(odd){
	margin-right: 8px;
}
#survey .survey_info_box.flexbox > div:nth-child(even){
	margin-left: 8px;
}
#survey .survey_info_box .survey_txt{
	width: 100%;
	height: 100px;
	padding: 8px;
	border-radius: 4px;
}

#survey .survey_info_box input[type=text],
#survey .survey_info_box input[type=email],
#survey .survey_info_box select{
	padding:0px 8px;
	width:100%;
	max-width: 100%;
	height: 40px;
	border-radius:4px;
	border:solid 1px #999;
}

