/* Google Fotns */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Satisfy&display=swap');

/* # =================================================================
   # 共通
   # ================================================================= */
* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}
html{
   font-size: 0.625em;
}
body{
   font-family: 'Noto Sans JP', sans-serif;
   font-size: 1.4em;   
}
h2{
   position: relative;
   font-size: 2rem;
   font-weight: 500;
}
h3{
   display: inline-flex;
   vertical-align: middle;
   align-items: center;
   position: relative;
   padding: 1.5rem 0rem;
   width: 100%;
   color: #572c00;
   font-size: 1.9rem;
   font-weight: 500;
}
 h3:after {
   position: absolute;
   bottom: 0;
   left: 0;
   width: 96%;
   height: 14px;
   content: '';
   background-image: -webkit-repeating-linear-gradient(135deg, #ebdebf, #ebdebf 1px, transparent 2px, transparent 4px);
   background-image: repeating-linear-gradient(-45deg, #ebdebf, #ebdebf 1px, transparent 2px, transparent 4px);
   background-size: 100vw 6px;
   -webkit-backface-visibility: hidden;
   backface-visibility: hidden;
 }
 h3 span{
    margin-left: 10px;
 }
h4{
   font-size: 1.8rem;
   font-weight: 500;
}
h5{
   margin-top: 10px;
   font-size: 1.6rem;
   font-weight: normal;
}
img{
   max-width: 100%;
}
a.tdn{
   text-decoration: none;
}
.bg_all{
   margin-top: 80px;
   margin-bottom: 350px;
}
.wrapper_all {
   height: 100%;
   overflow: hidden;
   position: relative;
   min-height: 812px;
}
.wrapper{
   width: 96%;
   margin: 0 auto;
}
.sec_wrapper{
   padding: 105px 0 0;
   margin: 0 auto;
   width: 100%;
}
.sec_wrapper2{
   margin: 0 auto;
   max-width: 96%;
   padding-bottom: 80px;
}
.line{
   border-bottom: 1px solid #000;
   padding-bottom: 2px;
}
.material_icons{
   display: inline-flex;
   vertical-align: middle;
   align-items: center;
}

.cart_inner{
   position: relative;
}
img.cart_pc{
   display: none;
}
.cart_inner[data-badge]::after {
   content: attr(data-badge);
   position: absolute;
   top: 20px;
   left: 34px;
   font-size: .7em;
   background: #e05103;
   color: white;
   width: 18px;
   height: 18px;
   text-align: center;
   line-height: 18px;
   border-radius: 50%;
   box-shadow: 0 0 1px #333;
}

/* # =================================================================
# モバイルファースト
# ================================================================= */
.sp{display: block;}
.pc{display: none;}
.br-sp{display: block;}
.ipad{display: block;}
/* Sec_r */
.sec_l{
   width: 96%;
   margin: 0 auto;
}
.m_box img{
   border-radius: 5px;
}
.m_inner_box{
   font-size: 2.1rem;
}
.m_box p.name{
   margin-top: 10px;
   font-size: 2.2rem;
   font-weight: 500;
   border-bottom: 2px solid #572c00;
   padding-bottom: 6px;
}
.seisan{
   font-size: 1.6rem;
   color: #572c00;
   padding: 10px 0;
   font-weight: 600;
}
.lunch, .dinner, .always{
   padding: 2px 15px;
   color: #ffffff;
   margin-left: 20px;
}
.lunch{
   background: #ee7902;   
}
.dinner{
   background: #415e9f;
}
.always{
   background: #7db52c;
}
.select_amount{
   display: inline-flex;
}
.select_amount th{
   font-weight: normal;
}
.select_amount td{
   display: inline-flex;
   vertical-align: middle;
   align-items: center;
}
.select_amount p{
   line-height: 3.2rem;
   display: inline-flex;
   
}
.select_wrapper {
   margin-left: 10px;
	overflow: hidden;
	width: 200px;
	margin: 1rem 10px;
	text-align: center;
}
.select_wrapper select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.select_wrapper select::-ms-expand {
    display: none;
}
.select_wrapper.amount{
	position: relative;
	border: 1px solid #c5c5c5;
	border-radius: 2px;
   background: #ffffff;
   margin-left: 5%;
}
.select_wrapper.amount::before {
	position: absolute;
	top: 1em;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #c5c5c5;
	pointer-events: none;
}
.select_wrapper.amount select {
	padding: 8px 38px 8px 8px;
	color: #000000;
}
.sold{
   background: #d63e45;
   color: #ffffff;
   text-align: center;
   border-radius: 15px;
   padding: 1px 16px 2px;
   font-size: 1.8rem;
}
.cart_button,.sold_button{
   width: 100%;
   color: #ffffff;
   font-size: 1.8rem;
   padding: 10px 0;
   display: inline-flex;
   vertical-align: middle;
   justify-content: center;
   border-radius: 2px;
   margin-top: 20px;
}
.cart_button{
   background: #572c00;
}
.sold_button{
   background: #d1d0ce;
}
.cart_button span{
   margin-right: 5px;
}
.sold_button span{
   margin-right: 10px;
}
.m_box{
   width: 92%;
   margin: 30px auto 25px;
   font-size: 1.5rem;
   line-height: 2.25rem;
}
.search_btn{
   border-radius: 2px;
   text-align: center;
   display: block;
   margin: 0 auto;
   width: 94%;
   background: #f1e3c4;
   color: #572c00;
   padding: 12px 0;
   font-size: 1.8rem;
   position: relative;
   margin-top: 80px;
}
.search_btn::after {
   content: "";
   position: absolute;
   top: 50%;
   bottom: 0;
   left: 2.5rem;
   font-size: 90%;
   display: flex;
   justify-content: center;
   align-items: center;
   transition: right .3s;
   width: 8px;
   height: 8px;
   border-top: solid 3px #572c00;
   border-right: solid 3px #572c00;
   transform: translateY(-50%) rotate(-135deg);
   border-radius: 1px;
 }
/* Sec_l */
.thumb-item-nav {
   margin: 18px auto 0;
   margin-left: -2px;
   margin-right: 0px;
}
.slider img{
   border-radius: 3px;
   width: 100%;
   height: auto;
}
.thumb-item-nav{
   margin-top: 10px;
}
.thumb-item-nav li {
   margin: 2px;
}
/* # =================================================================
   # 【タブレット縦 /スマートフォン横】
   # ================================================================= */
@media screen and (min-width: 481px){
.sp{display: none;}
.pc{display: block;}
.br-sp{display: none;}
.sec_wrapper{
   padding-bottom: 40px;
}
.bg_all{
   max-width: 96%;
   margin: 80px auto 350px;
}
.sec_fl{
   display: flex;
   justify-content: space-between;
}
/* Sec_r  */
.m_box{
   line-height: 2;
   font-size: 1.6rem;
}
.top_box{
   margin-top: 0;
}
.sold{
   padding: 3px 24px;
   border-radius: 20px;
   margin-bottom: 12px;
}
.search_btn{
   width: 400px;
}
/* Sec_l */
.sec_l{
   width: 48%;
}
.thumb-item-nav {
   max-width: 435px;
   margin-left: -3px;
}
.thumb-item-nav li {
   margin: 5px;
}
}

/* # =================================================================
   # 【デスクトップ/タブレット横】
   # ================================================================= */
@media screen and (min-width: 769px){
.ipad{display: none;}
.sec_wrapper{
   display: block;
   max-width: 1000px;
   padding: 150px 0 30px;
}
.bg_all{
   max-width: 1000px;
   margin: 100px auto 500px;
}
h5{
   margin-top: 40px;
   font-size: 2.4rem;
}
img.cart_pc{
   display: block;
   width: 242px;
   height:60px;
}
.cart_inner[data-badge]::after{
   left: 212px;
   top: 15px;
}
/* Sec_r */
.name{
   margin-top: 0;
}
.menu{
   margin-top: 10px;
}
.sec_wrapper{
   margin-bottom: 40px;
}
.select_wrapper.amount{
   margin: 30px 10px;
}
.cart_button, .sold_button{
   align-items: center;
   padding: 10px 40px;
   margin: 0 auto;
   width: 90%;
   font-size: 2.2rem;
   border-radius: 4px;
}
.search_btn{
   font-size: 2.2rem;
   padding: 20px 0;
   border-radius: 4px;
}
.search_btn::after{
   left: 3rem;
   width: 10px;
   height: 10px;
   top: 52%;
}
.select_wrapper.amount::before{
   top: 1.5em;
}
/* Sec_l */
.sec_l{
   max-width: 430px;
   margin: 0 auto;
}
.thumb-item img{
   border-radius: 10px;
}
}

/* # =================================================================
# スタイル
# ================================================================= */
.mgr10{margin-right:10px}
.mgr20{margin-right:20px}
.mgr30{margin-right:30px}
.mgr40{margin-right:40px}
.mgr50{margin-right:50px}
.mgb10{margin-bottom:10px}
.mgb20{margin-bottom:20px}
.mgb30{margin-bottom:30px}
.mgb40{margin-bottom:40px}
.mgb50{margin-bottom:50px}
.w100{width:100px}
.w110{width:110px}
.w120{width:120px}
.w130{width:130px}
.w140{width:140px}
.w150{width:150px}
.w100p{width:100%}
.item_info_box td{
	vertical-align:top;
	display:table-cell;
}
