body{
margin:0;
font-family:sans-serif;
background:#f5f5f5;
}

/* ===== 暖簾ヘッダー ===== */
.noren{
height:140px;
background-image:url("../img/noren.jpg");
background-size:cover;
background-position:center;
display:flex;
align-items:center;
justify-content:center;
position:relative;
}

.noren::before{
content:"";
position:absolute;
width:100%;
height:100%;
background:rgba(0,0,0,0.4);
top:0;
left:0;
}

.noren h1{
position:relative;
color:white;
font-size:20px;
text-align:center;
letter-spacing:2px;
}

/* ===== メニュー ===== */
.container{
padding:10px;
display:grid;
grid-template-columns:1fr;
gap:10px;
}

.menu{
background:white;
border-radius:10px;
padding:10px;
box-shadow:0 2px 5px rgba(0,0,0,0.1);
}

.menu img{
width:100%;
border-radius:10px;
}

input{
width:60px;
margin-top:5px;
}


#cart{
background:white;
padding:10px;
border-radius:10px;
margin-top:10px;
}

.total{
font-size:20px;
font-weight:bold;
margin-top:10px;
}

button{
background:#2a9d8f;
color:white;
}


input{
width:100%;
padding:10px;
font-size:16px;
margin-top:5px;
border-radius:5px;
border:1px solid #ccc;
}

button{
margin-top:10px;
}


select{
width:100%;
padding:10px;
font-size:16px;
border-radius:5px;
border:1px solid #ccc;
}

.line-box{
background:#eaffea;
padding:15px;
border-radius:10px;
margin-top:20px;
text-align:center;
}

.line-box button{
background:#06C755;
}


/* ===== タブレット ===== */
@media screen and (min-width:768px){
.container{
grid-template-columns:1fr 1fr;
}
}

/* ===== パソコン ===== */
@media screen and (min-width:1024px){
.container{
grid-template-columns:1fr 1fr 1fr;
max-width:1200px;
margin:auto;
}

.noren h1{
font-size:26px;
}
}