@charset "UTF-8";
/* 和華饗宴(旧 長崎卓袱料理 饗庭) — 老舗和風型（生成り×臙脂・明朝・縦書きヒーロー） */

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

body {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  color: #33302b;
  background: #fbf8f2;
  font-size: 15px;
  line-height: 2;
}
img { max-width: 100%; display: block; }

/* ===== ヘッダー ===== */
.hd { background: #fbf8f2; border-bottom: 1px solid #e0d8c8; }
.hd-in {
  max-width: 1200px; margin: 0 auto; padding: 20px 32px;
  display: flex; align-items: center; gap: 30px;
}
.logo { display: flex; align-items: baseline; gap: 10px; font-weight: 400; }
.logo-sub { font-size: 11px; letter-spacing: .24em; color: #8c8477; }
.logo-main { font-size: 30px; letter-spacing: .2em; color: #7a1d22; }
.logo-kana { font-size: 11px; letter-spacing: .2em; color: #a09684; }
.nav { margin-left: auto; }
.nav ul { list-style: none; display: flex; gap: 26px; }
.nav li { font-size: 13.5px; letter-spacing: .1em; color: #5f5a50; cursor: pointer; }
.nav li.on { color: #7a1d22; border-bottom: 1px solid #7a1d22; padding-bottom: 3px; }

/* ===== ヒーロー（縦書き） ===== */
.hero { position: relative; }
.hero-ph img { width: 100%; height: 640px; object-fit: cover; }
.hero-tate {
  position: absolute; right: 6%; top: 50%; transform: translateY(-50%);
  background: rgba(251,248,242,.93); padding: 46px 30px;
  border: 1px solid #ddd2bd;
}
.tate {
  writing-mode: vertical-rl; text-orientation: upright;
  font-size: 24px; letter-spacing: .28em; line-height: 2.1; color: #33302b; height: 400px;
}

/* ===== 判定根拠の要約 ===== */
.kv-info { background: #7a1d22; }
.kv-info ul {
  max-width: 1200px; margin: 0 auto; padding: 26px 32px;
  list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px;
}
.kv-info li { text-align: center; color: #f5ece0; }
.kv-info b { display: block; font-size: 20px; letter-spacing: .16em; font-weight: 400; }
.kv-info span { font-size: 12px; letter-spacing: .06em; color: #e0c3c0; }

/* ===== セクション ===== */
.sec { max-width: 1200px; margin: 0 auto; padding: 74px 32px; }
.sec.band { max-width: none; background: #f4efe3; }
.sec.band > * { max-width: 1200px; margin-left: auto; margin-right: auto; }
.sec-t { text-align: center; margin-bottom: 44px; }
.sec-t .jp { display: block; font-size: 26px; letter-spacing: .22em; }
.sec-t .en {
  display: block; font-size: 10px; letter-spacing: .34em; color: #a09684;
  margin-top: 10px; font-family: "Helvetica Neue", Arial, sans-serif;
}
.sec-t .jp::after {
  content: ""; display: block; width: 40px; height: 1px;
  background: #b99b5f; margin: 16px auto 0;
}

/* お献立 */
.menu { display: grid; grid-template-columns: 1fr 1fr; gap: 54px; align-items: start; }
.menu-ph img { width: 100%; height: 480px; object-fit: cover; }
.menu-tx dl { border-bottom: 1px solid #e0d8c8; padding: 18px 0; }
.menu-tx dl:first-child { border-top: 1px solid #e0d8c8; }
.menu-tx dt { font-size: 20px; letter-spacing: .16em; }
.menu-tx dt span {
  display: inline-block; border: 1px solid #b99b5f; color: #7a1d22;
  font-size: 13px; padding: 1px 12px; margin-left: 10px; letter-spacing: .1em;
}
.menu-tx .p { font-size: 15px; color: #7a1d22; margin: 4px 0 6px; letter-spacing: .06em; }
.menu-tx dd { font-size: 13.5px; color: #6b6459; line-height: 1.95; font-family: "Hiragino Kaku Gothic ProN", sans-serif; }
.menu-tx dd b { color: #7a1d22; font-weight: 400; }

/* お座敷 */
.rooms { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; }
.rooms figure img { width: 100%; height: 300px; object-fit: cover; }
.rooms figcaption {
  font-size: 12.5px; color: #6b6459; margin-top: 10px; text-align: center; letter-spacing: .08em;
}
.rooms-tx { grid-column: 1 / -1; }
.rooms-tx p { font-size: 15px; line-height: 2.2; margin-bottom: 22px; }
.rooms-tx b { color: #7a1d22; }
.rm-tbl { width: 100%; border-collapse: collapse; font-size: 13.5px; font-family: "Hiragino Kaku Gothic ProN", sans-serif; }
.rm-tbl tr { border-bottom: 1px solid #e0d8c8; }
.rm-tbl tr:first-child { border-top: 1px solid #e0d8c8; }
.rm-tbl th { text-align: left; padding: 12px 16px; width: 110px; font-weight: 400; color: #8c8477; }
.rm-tbl td { padding: 12px 16px; }
/* 誕生日プレート非対応の明記(2026-09-07 指示)。ファーストビュー外の「お座敷」から動かさない。
   .rooms-tx p の指定に負けないよう親クラス付きで書く */
.rooms-tx .rooms-note {
  margin: 18px 0 0; padding: 12px 18px; font-size: 13.5px; line-height: 1.9; color: #5f5a50; letter-spacing: .04em;
  background: #fbf8f2; border: 1px solid #ddd2bd; font-family: "Hiragino Kaku Gothic ProN", sans-serif;
}

/* ご慶事 */
.anniv { display: grid; grid-template-columns: 1fr 1fr; gap: 54px; align-items: center; }
.anniv-ph img { width: 100%; height: 440px; object-fit: cover; }
.big { font-size: 27px; letter-spacing: .16em; line-height: 1.8; margin-bottom: 22px; color: #7a1d22; }
.anniv-tx p { font-size: 15px; line-height: 2.2; margin-bottom: 20px; }
.anniv-tx b { border-bottom: 1px solid #b99b5f; }
.anniv-ul { list-style: none; font-family: "Hiragino Kaku Gothic ProN", sans-serif; }
.anniv-ul li {
  font-size: 13.5px; color: #5f5a50; padding: 10px 0 10px 20px;
  border-bottom: 1px dotted #ddd2bd; position: relative;
}
.anniv-ul li::before { content: "◇"; position: absolute; left: 0; color: #b99b5f; font-size: 11px; }

/* ギャラリー */
.gal { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.gal img { width: 100%; height: 300px; object-fit: cover; }
.gal figcaption { font-size: 12.5px; color: #6b6459; margin-top: 12px; text-align: center; letter-spacing: .08em; }

/* 店舗案内 */
.info-tbl {
  width: 100%; border-collapse: collapse; font-size: 14px;
  font-family: "Hiragino Kaku Gothic ProN", sans-serif;
}
.info-tbl tr { border-bottom: 1px solid #e0d8c8; }
.info-tbl tr:first-child { border-top: 1px solid #e0d8c8; }
.info-tbl th {
  text-align: left; padding: 14px 20px; width: 140px; font-weight: 400;
  color: #8c8477; vertical-align: top; background: #f7f2e8;
}
.info-tbl td { padding: 14px 20px; }
.res { text-align: center; margin-top: 36px; }
.btn {
  background: #7a1d22; color: #f5ece0; border: none; padding: 16px 60px;
  font-size: 15px; letter-spacing: .2em; cursor: pointer; font-family: inherit;
}

/* ===== フッター ===== */
.ft { background: #33302b; color: #cfc7b8; padding: 42px 32px; }
.ft-in { max-width: 1200px; margin: 0 auto; text-align: center; }
.ft-logo { font-size: 18px; letter-spacing: .22em; color: #f5ece0; margin-bottom: 16px; }
.ft-note { font-size: 12px; color: #a89f90; font-family: "Hiragino Kaku Gothic ProN", sans-serif; }
.ft-copy { font-size: 10.5px; color: #8a8274; margin-top: 10px; letter-spacing: .18em; }

/* ===== モバイル調整(横はみ出し防止・縦書きヒーローの切替) ===== */
.menu > *, .anniv > *, .rooms > *, .gal > * { min-width: 0; }
.hero { overflow: hidden; }
