@charset "UTF-8";
/* イタリアンブレルーチェ(旧 イタリアンルーチェ ← イタリアン ヴェント ← Bistro ビストロオランダ坂 ← ビストロ出島) — モダン港ビュー型（白×ネイビー・カード3列・サンセリフ主体） */

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  color: #22303f;
  background: #fff;
  font-size: 15px;
  line-height: 1.9;
}
img { max-width: 100%; display: block; }

/* ===== ヘッダー ===== */
.hd { background: #fff; border-bottom: 1px solid #e4e9ee; position: sticky; top: 0; z-index: 20; }
.hd-in {
  max-width: 1220px; margin: 0 auto; padding: 18px 32px;
  display: flex; align-items: center; gap: 28px;
}
.brand { display: flex; align-items: baseline; gap: 10px; }
.b-en {
  font-family: Georgia, "Times New Roman", serif; font-style: italic;
  font-size: 19px; color: #1c4f7c;
}
.b-ja { font-size: 22px; letter-spacing: .1em; font-weight: 600; }
.nav { margin-left: auto; }
.nav ul { list-style: none; display: flex; gap: 30px; }
.nav li {
  font-family: Georgia, serif; font-size: 13px; letter-spacing: .14em;
  color: #5c6d7e; cursor: pointer;
}
.nav li.on { color: #1c4f7c; border-bottom: 2px solid #1c4f7c; padding-bottom: 3px; }
.hd-btn {
  background: #1c4f7c; color: #fff; border: none; padding: 11px 26px;
  font-size: 13.5px; letter-spacing: .1em; cursor: pointer; font-family: inherit; border-radius: 2px;
}

/* ===== ヒーロー ===== */
.hero { position: relative; }
.hero-ph img { width: 100%; height: 640px; object-fit: cover; }
/* コピー枠は写真の下端に重ねる(この重なりは変えない。2026-09-04 指示)。
   ただし新トップ画像は手前の皿が主役なので、枠を低くして重なりを浅くし、
   パスタの山が枠の上に出るようにしている(bottom を -60px に戻すと皿が隠れる) */
.hero-box {
  position: absolute; left: 50%; transform: translateX(-50%); bottom: -110px;
  background: #fff; box-shadow: 0 10px 40px rgba(20,45,70,.16);
  padding: 28px 48px; max-width: 800px; width: calc(100% - 64px); text-align: center;
}
.hero-eyebrow {
  font-family: Georgia, serif; font-size: 11px; letter-spacing: .34em;
  color: #1c4f7c; margin-bottom: 16px;
}
.hero-box h1 { font-size: 30px; line-height: 1.55; letter-spacing: .06em; font-weight: 600; }
.hero-box p { font-size: 14px; color: #5c6d7e; margin-top: 12px; }

/* ===== ストリップ ===== */
.strip { background: #f4f7fa; margin-top: 170px; }  /* 枠のはみ出し(110px)+余白 */
.strip-in {
  max-width: 1220px; margin: 0 auto; padding: 30px 32px;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px;
}
.st { text-align: center; }
.st b { display: block; font-size: 18px; letter-spacing: .06em; color: #1c4f7c; font-weight: 600; }
.st span { font-size: 12.5px; color: #6b7d8e; }

/* ===== セクション ===== */
.sec { max-width: 1220px; margin: 0 auto; padding: 74px 32px; }
.sec.band { max-width: none; background: #f7f9fb; }
.sec.band > * { max-width: 1220px; margin-left: auto; margin-right: auto; }
.h2 { font-size: 25px; letter-spacing: .1em; margin-bottom: 38px; font-weight: 600; }
.h2 span {
  display: block; font-family: Georgia, serif; font-style: italic;
  font-size: 13px; letter-spacing: .2em; color: #1c4f7c; font-weight: 400; margin-bottom: 6px;
}

/* コース */
.courses { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.c-card { background: #fff; border: 1px solid #e4e9ee; overflow: hidden; }
.c-card img { width: 100%; height: 260px; object-fit: cover; }
.c-body { padding: 22px 24px 26px; }
.c-body h3 { font-size: 18px; letter-spacing: .06em; font-weight: 600; }
.c-price {
  font-family: Georgia, serif; font-size: 22px; color: #1c4f7c; margin: 6px 0 10px;
}
.c-body p { font-size: 13.5px; color: #5c6d7e; line-height: 1.95; }

/* ワイン・席 */
.wine, .seat { display: grid; grid-template-columns: 1fr 1fr; gap: 52px; align-items: center; }
.wine img, .seat img { width: 100%; height: 430px; object-fit: cover; }
.wine-tx p { font-size: 15px; line-height: 2.15; margin-bottom: 22px; }
.wine-tx ul { list-style: none; }
.wine-tx li {
  font-size: 14px; color: #3f5162; padding: 10px 0; border-bottom: 1px solid #e4e9ee;
}
.tbl { width: 100%; border-collapse: collapse; font-size: 14px; }
.tbl tr { border-bottom: 1px solid #e4e9ee; }
.tbl tr:first-child { border-top: 1px solid #e4e9ee; }
.tbl th {
  text-align: left; padding: 14px 18px; width: 120px; font-weight: 600;
  color: #6b7d8e; vertical-align: top; background: #fafcfd;
}
.tbl td { padding: 14px 18px; line-height: 1.9; }
.seat-note { font-size: 12.5px; color: #6b7d8e; margin-top: 16px; }
/* 誕生日プレート非対応の明記(2026-09-07 指示)。ファーストビュー外の「お席」から動かさない */
.seat-plate {
  margin-top: 14px; padding: 12px 18px; font-size: 13.5px; color: #22303f;
  background: #fafcfd; border: 1px solid #d5dde5; border-left: 3px solid #1c4f7c; border-radius: 2px;
}
.info { max-width: 900px; }
.res { text-align: center; margin-top: 34px; }
.btn {
  background: #1c4f7c; color: #fff; border: none; padding: 16px 54px;
  font-size: 15px; letter-spacing: .14em; cursor: pointer; font-family: inherit; border-radius: 2px;
}

/* ===== フッター ===== */
.ft { background: #22303f; color: #b8c6d3; padding: 44px 32px; }
.ft-in { max-width: 1220px; margin: 0 auto; text-align: center; }
.ft-logo { font-size: 18px; letter-spacing: .12em; color: #fff; margin-bottom: 16px; }
.ft-note { font-size: 12px; color: #93a5b6; }
.ft-copy { font-size: 10.5px; color: #71879b; margin-top: 10px; letter-spacing: .16em; }

/* ===== 横はみ出し防止 ===== */
.wine > *, .seat > *, .courses > *, .strip-in > * { min-width: 0; }
