<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>カフェメニュー</title>
<style>
:root {
--bg: #f8f5f2;
--card: #ffffff;
--primary: #7b5a45;
--muted: #8a8a8a;
--radius: 12px;
--gap: 14px;
--maxWidth: 480px;
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: "Noto Sans JP", system-ui, sans-serif;
background: var(--bg);
color: #111;
padding: 16px;
display: flex;
justify-content: center;
}
.wrap {
width: 100%;
max-width: var(--maxWidth);
display: flex;
flex-direction: column;
gap: var(--gap);
min-height: 100vh;
}
header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 6px 4px;
}
.brand {
font-size: 28px;
font-weight: 700;
letter-spacing: 0.5px;
}
.subtitle {
font-size: 12px;
color: var(--muted);
}
.menu {
background: var(--card);
border-radius: var(--radius);
padding: 16px;
box-shadow: 0 4px 12px rgba(0,0,0,0.05);
flex: 1;
}
.menu h2 {
margin: 0 0 12px 0;
font-size: 20px;
}
.item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 12px 0;
border-bottom: 1px solid #eee;
}
.item:last-child {
border-bottom: none;
}
.name {
font-weight: 600;
font-size: 16px;
}
.desc {
font-size: 13px;
color: var(--muted);
}
.left {
display: flex;
flex-direction: column;
}
.right {
text-align: right;
}
.price {
font-weight: 700;
font-size: 15px;
margin-bottom: 6px;
}
.add-btn {
background: var(--primary);
color: white;
border: none;
border-radius: 8px;
padding: 8px 12px;
font-weight: 600;
font-size: 14px;
cursor: pointer;
}
.footer {
position: sticky;
bottom: 0;
background: transparent;
padding: 10px 0;
}
.cart {
background: var(--primary);
color: white;
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 16px;
border-radius: 16px;
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.cart .label {
font-weight: 700;
}
@media (max-width: 360px) {
.brand { font-size: 24px; }
.menu { padding: 12px; }
}
</style>
</head>
<body>
<div class="wrap">
<header>
<div>
<div class="brand">Café</div>
<div class="subtitle">今日のおすすめ</div>
</div>
<div class="subtitle">OPEN</div>
</header>
<main class="menu">
<h2>メニュー</h2>
<div class="item">
<div class="left">
<div class="name">カレー</div>
<div class="desc">スパイスの香り高い定番メニュー</div>
</div>
<div class="right">
<div class="price">¥800</div>
<button class="add-btn">追加</button>
</div>
</div>
<div class="item">
<div class="left">
<div class="name">ケーキ</div>
<div class="desc">ふわふわクリームの自家製ケーキ</div>
</div>
<div class="right">
<div class="price">¥450</div>
<button class="add-btn">追加</button>
</div>
</div>
<div class="item">
<div class="left">
<div class="name">スパゲッティ</div>
<div class="desc">トマトソースが人気のパスタ</div>
</div>
<div class="right">
<div class="price">¥900</div>
<button class="add-btn">追加</button>
</div>
</div>
</main>
<div class="footer">
<div class="cart">
<div>
<div class="label">カート</div>
<div class="subtitle">0 点</div>
</div>
<div class="total">合計 ¥0</div>
</div>
</div>
</div>
</body>
</html>