@charset "UTF-8";
/* 鮨 ほたる川 — 墨黒ミニマル型（余白極大・モノクロ・縦書きヒーロー・装飾なし）
   店名は 2026-08-29 に「長崎鮨 花灯り」→「鮨 花灯り」、2026-09-03 に「鮨 ほたる川」へ変更(指示) */

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

body {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  color: #1a1a1a;
  background: #fcfcfb;
  font-size: 15px;
  line-height: 2.1;
  letter-spacing: .08em;
}
img { max-width: 100%; display: block; }

/* ---------- 画像プレースホルダー ----------
   実ファイルが無い間だけ枠を表示する。images/ に実ファイルを置けば自動で差し替わる */
.ph {
  position: relative;
  aspect-ratio: var(--ph-ar, 16 / 9);
  background: repeating-linear-gradient(-45deg, #f2f1ee 0 10px, #eae9e5 10px 20px);
  border: 1px dashed #cbc9c3;
  overflow: hidden;
}
.ph::after {
  content: "画像支給待ち " attr(data-ph);
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 13px; letter-spacing: .06em; color: #9a9892; text-align: center; padding: 10px;
}
.ph img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; }

/* 実ファイルが入ったら枠(点線・網掛け・「支給待ち」表記)は消す。
   比率が完全に一致しない画像でも枠が透けないようにするため */
.ph:has(img) { border: none; background: none; }
.ph:has(img)::after { display: none; }

/* ===== ヘッダー ===== */
.hd {
  display: flex; align-items: flex-end; justify-content: space-between;
  max-width: 1100px; margin: 0 auto; padding: 40px 40px 26px; gap: 30px;
}
.logo { display: flex; align-items: baseline; gap: 12px; }
.logo-s { font-size: 16px; letter-spacing: .2em; color: #55554f; }
.logo-m { font-size: 30px; letter-spacing: .3em; }
.nav ul { list-style: none; display: flex; gap: 32px; }
.nav li { font-size: 13px; letter-spacing: .28em; color: #6e6e6c; cursor: pointer; }
.nav li.on { color: #1a1a1a; border-bottom: 1px solid #1a1a1a; padding-bottom: 4px; }

/* ===== ヒーロー ===== */
.hero { position: relative; }
/* 素材待ちの間も白の縦書きが読めるよう、ヒーローの枠だけ暗くしている */
.hero-ph {
  border: none; aspect-ratio: 16 / 9;
  background: repeating-linear-gradient(-45deg, #3b3b39 0 10px, #333331 10px 20px);
}
.hero-ph::after { color: #a5a39d; align-items: flex-end; padding-bottom: 26px; }
.hero-ph img { filter: saturate(.86); }
.hero-tx { position: absolute; left: 8%; top: 12%; z-index: 2; }
.tate {
  writing-mode: vertical-rl;
  font-size: 27px; letter-spacing: .34em; line-height: 2; color: #fff;
  text-shadow: 0 2px 20px rgba(0,0,0,.75);
}

/* ===== 導入 ===== */
.intro { max-width: 780px; margin: 0 auto; padding: 84px 40px; text-align: center; }
.intro p { font-size: 16px; line-height: 2.6; color: #333; }

/* ===== セクション ===== */
.sec { max-width: 1100px; margin: 0 auto; padding: 0 40px 84px; }
.sec-t {
  font-size: 19px; letter-spacing: .4em; text-align: center; margin-bottom: 44px;
  padding-bottom: 16px; position: relative;
}
.sec-t::after {
  content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
  width: 1px; height: 26px; background: #c9c7c2;
}

/* 品書 */
.menu { display: grid; grid-template-columns: 1.2fr 1fr; gap: 60px; align-items: center; }
.menu-ph img { width: 100%; height: 470px; object-fit: cover; }
.menu-tx dl {
  display: flex; justify-content: space-between; align-items: baseline;
  border-bottom: 1px solid #e6e4df; padding: 16px 0; gap: 20px;
}
.menu-tx dt { font-size: 17px; letter-spacing: .12em; }
.menu-tx dt span { font-size: 13px; color: #7a7a78; margin-left: 6px; }
.menu-tx dd { font-size: 15px; white-space: nowrap; }
.menu-tx .note {
  font-size: 12.5px; color: #7a7a78; margin-top: 18px; line-height: 2;
  font-family: "Hiragino Kaku Gothic ProN", sans-serif; letter-spacing: .04em;
}

/* ギャラリー(1点を中央に) */
.gal {
  max-width: 780px; margin: 0 auto 84px; padding: 0 40px;
  display: grid; grid-template-columns: 1fr; gap: 40px;
}
.gal img { width: 100%; height: 380px; object-fit: cover; }
.gal figcaption {
  font-size: 12.5px; color: #7a7a78; margin-top: 14px; text-align: center; letter-spacing: .14em;
}

/* 席・店 */
.seats, .shop { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.seats img { width: 100%; height: 420px; object-fit: cover; }
.tbl {
  width: 100%; border-collapse: collapse; font-size: 14px;
  font-family: "Hiragino Kaku Gothic ProN", sans-serif; letter-spacing: .02em;
}
.tbl tr { border-bottom: 1px solid #e6e4df; }
.tbl tr:first-child { border-top: 1px solid #e6e4df; }
.tbl th {
  text-align: left; padding: 14px 16px; width: 120px; font-weight: 400;
  color: #8a8a87; vertical-align: top;
}
.tbl td { padding: 14px 16px; line-height: 1.9; }
.tbl b { font-weight: 600; }
.seats-note {
  font-size: 12.5px; color: #7a7a78; margin-top: 18px; line-height: 2;
  font-family: "Hiragino Kaku Gothic ProN", sans-serif;
}
/* 誕生日プレート非対応の明記(2026-09-07 指示)。ファーストビュー外の「席」から動かさない */
.seats-plate {
  margin-top: 14px; padding: 10px 16px; font-size: 13px; line-height: 1.9; color: #1a1a1a; letter-spacing: .04em;
  border: 1px solid #e0ded9; font-family: "Hiragino Kaku Gothic ProN", sans-serif;
}
/* 酒(テキストのみ) */
.sake { max-width: 620px; margin: 0 auto; text-align: center; }
.sake p { font-size: 15px; line-height: 2.4; margin-bottom: 24px; }
.sake ul { list-style: none; font-family: "Hiragino Kaku Gothic ProN", sans-serif; }
.sake li { font-size: 13.5px; color: #4a4a48; padding: 9px 0; border-bottom: 1px dotted #e0ded9; }
.sake li:last-child { border-bottom: none; }

/* 店 */
.shop .tbl { margin: 0; }
.last { text-align: center; font-size: 13px; color: #7a7a78; margin-top: 26px; letter-spacing: .12em; }

/* ===== フッター ===== */
.ft { border-top: 1px solid #e6e4df; padding: 50px 40px; text-align: center; }
.ft-logo { font-size: 19px; letter-spacing: .32em; margin-bottom: 18px; }
.ft-note { font-size: 12px; color: #8a8a87; font-family: "Hiragino Kaku Gothic ProN", sans-serif; }
.ft-copy { font-size: 10.5px; color: #adaba6; margin-top: 10px; letter-spacing: .22em; }

/* ===== 横はみ出し防止 ===== */
.menu > *, .seats > *, .shop > *, .gal > * { min-width: 0; }
.hero { overflow: hidden; }
