/* ============================================================
   subpage.css — 下層ページ共通スタイル
   menu.html/ about.html / access.html / contact.html / reserve.html
   ============================================================ */

/* ── ページヒーロー（共通） ──────────────────────────── */
.pageHero {
  position: relative;
  height: 300px;
  margin-top: 88px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pageHero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-color: #C4B49A;
}

.pageHero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #1C2B4A;
  opacity: 0.3;
  z-index: 1;
}

.pageHeroContent {
  position: relative;
  z-index: 2;
  text-align: center;
}

.pageHeroContent .label {
  color: #C9A96E;
  margin-bottom: 12px;
}

.pageHeroContent h2 {
  font-family: 'Yu Mincho', '游明朝', 'YuMincho', serif;
  font-size: 36px;
  color: #fff;
  letter-spacing: 0.08em;
  margin-bottom: 20px;
}

/* パンくずナビ */
.breadcrumb {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.1em;
}

.breadcrumb a {
  color: rgba(255, 255, 255, 0.5);
  transition: color 0.2s;
}

.breadcrumb a:hover {
  color: #C9A96E;
}

/* ============================================================
   menu.html 専用
   ============================================================*/
/* ── タブナビゲーション ──────────────────────────────── */
#menuTab {
  background: #fff;
  border-bottom: 2px solid rgba(28, 43, 74, 0.08);
  position: sticky;
  top: 88px;
  height: 60px;
  z-index: 500;
}

#menuTab .inner {
  width: 100%;
  display: flex;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

#menuTab .inner::-webkit-scrollbar {
  display: none;
}

.tabBtn {
  flex: 1;
  flex-shrink: 0;
  padding: 18px 40px;
  font-family: Georgia, serif;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(28, 43, 74, 0.5);
  background: #fff;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: color 0.2s, border-color 0.2s;
}

.tabBtn.active {
  background: #1C2B4A;
  color: #C9A96E;
  border-color: #C9A96E;
}

.tabBtn:hover:not(.active) {
  color: #1C2B4A;
}

/* ── ランチセクション ────────────────────────────────── */
#lunchMenu {
  background: #FAF6F0;
  padding: 100px 0;
}

#lunchMenu .sectionTitle {
  text-align: left;
  margin-bottom: 16px;
}

.menuTime {
  display: block;
  font-size: 12px;
  color: rgba(44, 32, 22, 0.45);
  letter-spacing: 0.1em;
  margin-bottom: 60px;
}

/* ランチ各コース */
.lunchCourseBlock {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  margin-bottom: 80px;
  padding-bottom: 80px;
  border-bottom: 1px solid rgba(44, 32, 22, 0.08);
}

.lunchCourseBlock:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* コーステキスト */
.courseInfo .courseTag {
  display: block;
  font-family: Georgia, serif;
  font-size: 9px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #C9A96E;
  margin-bottom: 12px;
}

.courseInfo h4 {
  font-family: 'Yu Mincho', '游明朝', 'YuMincho', serif;
  font-size: 26px;
  color: #1C2B4A;
  margin-bottom: 20px;
  letter-spacing: 0.05em;
}

/* 料理リスト */
.dishList {
  margin-bottom: 24px;
}

.dishList li {
  display: flex;
  align-items: baseline;
  padding: 8px 0;
  border-bottom: 1px solid rgba(44, 32, 22, 0.06);
  font-size: 14px;
  color: #2C2016;
}

.dishList li .dishName {
  flex: 1;
}

.dishList li .dishNote {
  font-size: 12px;
  color: rgba(44, 32, 22, 0.4);
}

.perPersonText {
  display: block;
  font-size: 10px;
  color: rgba(44, 32, 22, 0.4);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.menuPrice {
  display: block;
  font-family: Georgia, serif;
  font-style: italic;
  font-size: 26px;
  color: #C9A96E;
  text-align: right;
}

/* 画像 */
.courseImg {
  background-color: #C4B49A;
  overflow: hidden;
}

.courseImg img {
  width: 100%;
  display: block;
  object-fit: cover;
  height: 280px;
}

.courseImg.tall img {
  height: 300px;
}

/* ── ディナーセクション ──────────────────────────────── */
#dinnerMenu {
  background: #1C2B4A;
  padding: 100px 0;
}

#dinnerMenu .sectionTitle h3 {
  color: #fff;
}

#dinnerMenu .menuTime {
  color: rgba(255, 255, 255, 0.35);
  text-align: center;
  margin-bottom: 48px;
}

/* ディナー中央画像 */
.dinnerImgWrap {
  width: 600px;
  height: 360px;
  margin: 0 auto 60px;
  background-color: #C4B49A;
  overflow: hidden;
}

.dinnerImgWrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ディナーコース内容リスト */
.dinnerCourseList {
  max-width: 680px;
  margin: 0 auto 40px;
}

.dinnerCourseList li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 16px 0;
  border-bottom: 1px solid rgba(201, 169, 110, 0.15);
}

.dinnerCourseList li:first-child {
  border-top: 1px solid rgba(201, 169, 110, 0.15);
}

.dinnerDishName {
  font-family: 'Yu Mincho', '游明朝', 'YuMincho', serif;
  font-size: 15px;
  color: #fff;
}

.dinnerDishDetail {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
}

/* ディナー価格 */
.dinnerPriceBlock {
  text-align: center;
  margin-bottom: 16px;
}

.dinnerPriceBlock .perPersonText {
  color: rgba(255, 255, 255, 0.35);
  text-align: center;
  margin-bottom: 8px;
}

.dinnerPriceBlock .bigPrice {
  font-family: Georgia, serif;
  font-style: italic;
  font-size: 44px;
  color: #C9A96E;
  display: block;
}

.dinnerPriceBlock .pairingNote {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.35);
  margin-top: 12px;
  display: block;
}

/* ── ドリンクセクション ──────────────────────────────── */
#drinkMenu {
  background: #FAF6F0;
  padding: 100px 0;
}

.drinkList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-top: 48px;
}

.drinkItem {
  padding: 32px;
  border: 1px solid rgba(44, 32, 22, 0.1);
}

.drinkItem h4 {
  font-family: 'Yu Mincho', '游明朝', 'YuMincho', serif;
  font-size: 18px;
  color: #1C2B4A;
  margin-bottom: 8px;
}

.drinkItem .drinkPrice {
  font-family: Georgia, serif;
  font-size: 18px;
  color: #C9A96E;
  font-style: italic;
}

.drinkItem p {
  font-size: 12px;
  color: rgba(44, 32, 22, 0.5);
  line-height: 1.8;
  margin-top: 8px;
}

/* ── FAQセクション ───────────────────────────────────── */
#faqSection {
  background: #fff;
  padding: 100px 0;
}

.faqList {
  max-width: 760px;
  margin: 48px auto 0;
}

.faqItem {
  border-bottom: 1px solid rgba(44, 32, 22, 0.08);
  padding: 24px 0;
}

.faqQ {
  font-family: 'Yu Mincho', '游明朝', 'YuMincho', serif;
  font-size: 16px;
  color: #1C2B4A;
  display: flex;
  align-items: baseline;
  gap: 12px;
  cursor: pointer;
}

.faqQ::before {
  content: 'Q';
  font-family: Georgia, serif;
  font-style: italic;
  color: #C9A96E;
  font-size: 18px;
  flex-shrink: 0;
}

.faqA {
  font-size: 14px;
  color: rgba(44, 32, 22, 0.65);
  line-height: 2;
  margin-top: 12px;
  padding-left: 28px;
}

/* ── 注釈ブロック ────────────────────────────────────── */
#menuNote {
  background: #152236;
  padding: 40px 0;
}

#menuNote .inner {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

#menuNote p {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
  line-height: 1.8;
}

/* ============================================================
   about.html 専用
   ============================================================ */

/* ── シェフ詳細セクション ────────────────────────────── */
#aboutChef {
  background: #FAF6F0;
  padding: 100px 0;
}

#aboutChef .inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}

/* メイン写真 */
.aboutChefPhoto {
  position: sticky;
  top: 108px; /* header高さ+余白 */
}

.aboutChefPhoto .mainPhoto {
  width: 100%;
  height: 580px;
  background-color: #C4B49A;
  overflow: hidden;
  margin-bottom: 16px;
}

.aboutChefPhoto .mainPhoto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aboutChefPhoto .photoCaption {
  font-size: 11px;
  color: rgba(44, 32, 22, 0.4);
  letter-spacing: 0.1em;
  text-align: center;
}

/* テキスト */
.aboutChefText .chefLabel {
  margin-bottom: 6px;
}

.aboutChefText h3 {
  font-family: 'Yu Mincho', '游明朝', 'YuMincho', serif;
  font-size: 40px;
  color: #1C2B4A;
  margin: 10px 0 4px;
  letter-spacing: 0.05em;
}

.aboutChefText .enName {
  display: block;
  font-family: Georgia, serif;
  font-size: 12px;
  color: rgba(44, 32, 22, 0.35);
  letter-spacing: 0.12em;
  margin-bottom: 4px;
}

.aboutChefText .desc {
  font-size: 14px;
  line-height: 2.2;
  color: #2C2016;
  margin: 24px 0 32px;
}

/* キャリアタイムライン */
.careerList {
  margin: 40px 0;
  border-top: 1px solid rgba(44, 32, 22, 0.08);
}

.careerList li {
  display: flex;
  gap: 28px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(44, 32, 22, 0.08);
  align-items: baseline;
}

.careerYear {
  font-family: Georgia, serif;
  font-size: 13px;
  color: #C9A96E;
  white-space: nowrap;
  flex-shrink: 0;
  min-width: 60px;
}

.careerDesc {
  font-size: 14px;
  color: #2C2016;
  line-height: 1.8;
}
#careerListBtn{
    margin-top: 8px;
  }

/* ── レストランフィロソフィーセクション ─────────────── */
#philosophy {
  background: #1C2B4A;
  padding: 100px 0;
}

#philosophy .inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.philosophyText .label {
  margin-bottom: 16px;
}

.philosophyText h3 {
  font-family: 'Yu Mincho', '游明朝', 'YuMincho', serif;
  font-size: 32px;
  color: #fff;
  line-height: 1.5;
  margin-bottom: 32px;
  letter-spacing: 0.05em;
}

.philosophyText p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 2.2;
}

.philosophyImg {
  width: 100%;
  height: 440px;
  background-color: #C4B49A;
  overflow: hidden;
}

.philosophyImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ── メディア掲載セクション ──────────────────────────── */
#mediaSection {
  background: #FAF6F0;
  padding: 100px 0;
}

.mediaGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-top: 48px;
}

.mediaItem {
  border: 1px solid rgba(44, 32, 22, 0.1);
  padding: 32px;
  background: #fff;
}

.mediaItem .mediaDate {
  font-family: Georgia, serif;
  font-size: 11px;
  color: #C9A96E;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
  display: block;
}

.mediaItem h4 {
  font-family: 'Yu Mincho', '游明朝', 'YuMincho', serif;
  font-size: 16px;
  color: #1C2B4A;
  margin-bottom: 10px;
  line-height: 1.6;
}

.mediaItem p {
  font-size: 12px;
  color: rgba(44, 32, 22, 0.5);
  line-height: 1.8;
}


/* ============================================================
   access.html 専用
   ============================================================ */

/* ── メインアクセスセクション ────────────────────────── */
#accessMain {
  background: #FAF6F0;
  padding: 100px 0;
}

/* マップ大きめ */
.accessMapLarge {
  width: 100%;
  height: 480px;
  background-color: #C4B49A;
  margin-bottom: 60px;
  overflow: hidden;
}

.accessMapLarge iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

/* 店舗情報グリッド */
.accessInfoGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}

/* 店舗情報パネル */
.accessInfoPanel {
  background: #fff;
  border-left: 3px solid #C9A96E;
  padding: 40px 36px;
}

.accessInfoPanel .shopLabel {
  margin-bottom: 24px;
}

.accessInfoPanel table {
  width: 100%;
}

.accessInfoPanel table tr {
  border-bottom: 1px solid rgba(44, 32, 22, 0.07);
}

.accessInfoPanel table th {
  padding: 14px 20px 14px 0;
  font-size: 11px;
  color: #C9A96E;
  letter-spacing: 0.1em;
  font-weight: normal;
  white-space: nowrap;
  vertical-align: top;
  width: 80px;
}

.accessInfoPanel table td {
  padding: 14px 0;
  font-size: 14px;
  color: #2C2016;
  line-height: 1.8;
}

/* 交通手段パネル */
.accessRoutePanel {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.routeItem {
  background: #fff;
  padding: 28px 32px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
  border-bottom: 2px solid transparent;
  transition: border-color 0.2s;
}

.routeItem:hover {
  border-bottom-color: #C9A96E;
}

.routeIcon {
  font-family: Georgia, serif;
  font-size: 9px;
  letter-spacing: 0.2em;
  color: #C9A96E;
  text-transform: uppercase;
  flex-shrink: 0;
  padding-top: 3px;
  min-width: 52px;
}

.routeText h4 {
  font-family: 'Yu Mincho', '游明朝', 'YuMincho', serif;
  font-size: 15px;
  color: #1C2B4A;
  margin-bottom: 6px;
}

.routeText p {
  font-size: 13px;
  color: rgba(44, 32, 22, 0.55);
  line-height: 1.8;
}

/* ── 周辺情報セクション ──────────────────────────────── */
#nearbySection {
  background: #1C2B4A;
  padding: 80px 0;
}

#nearbySection .sectionTitle h3 {
  color: #fff;
}

.nearbyGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 48px;
}

.nearbyItem {
  padding: 28px;
  border: 1px solid rgba(201, 169, 110, 0.2);
}

.nearbyItem .nearbyLabel {
  font-family: Georgia, serif;
  font-size: 9px;
  letter-spacing: 0.3em;
  color: #C9A96E;
  text-transform: uppercase;
  display: block;
  margin-bottom: 10px;
}

.nearbyItem h4 {
  font-family: 'Yu Mincho', '游明朝', 'YuMincho', serif;
  font-size: 16px;
  color: #fff;
  margin-bottom: 8px;
}

.nearbyItem p {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
  line-height: 1.8;
}


/* ============================================================
   contact.html 専用
   ============================================================ */

/* ── お問い合わせセクション ──────────────────────────── */
#contactSection {
  background: #FAF6F0;
  padding: 100px 0;
}

#contactSection .inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}

/* フォームエリア */
.contactFormWrap h3 {
  font-family: 'Yu Mincho', '游明朝', 'YuMincho', serif;
  font-size: 28px;
  color: #1C2B4A;
  margin-bottom: 8px;
}

.contactFormWrap .formDesc {
  font-size: 13px;
  color: rgba(44, 32, 22, 0.5);
  margin-bottom: 40px;
  line-height: 1.8;
}

/* フォーム */
.contactForm .formRow {
  margin-bottom: 28px;
}

.contactForm label {
  display: block;
  font-size: 11px;
  letter-spacing: 0.15em;
  color: #1C2B4A;
  text-transform: uppercase;
  margin-bottom: 8px;
  font-family: Georgia, serif;
}

.contactForm label .required {
  color: #C9A96E;
  margin-left: 4px;
}

.contactForm input[type="text"],
.contactForm input[type="email"],
.contactForm input[type="tel"],
.contactForm select,
.contactForm textarea {
  width: 100%;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid rgba(44, 32, 22, 0.15);
  font-family: 'Yu Gothic', '游ゴシック', sans-serif;
  font-size: 14px;
  color: #2C2016;
  transition: border-color 0.2s;
  appearance: none;
  -webkit-appearance: none;
}

.contactForm input:focus,
.contactForm select:focus,
.contactForm textarea:focus {
  border-color: #C9A96E;
  outline: none;
}

.contactForm textarea {
  height: 160px;
  resize: vertical;
  line-height: 1.8;
}

/* セレクトラッパー（矢印カスタム） */
.selectWrap {
  position: relative;
}

.selectWrap::after {
  content: '▾';
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #C9A96E;
  font-size: 12px;
  pointer-events: none;
}

/* プライバシーポリシー同意 */
.privacyRow {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 32px;
}

.privacyRow input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  flex-shrink: 0;
  accent-color: #C9A96E;
  cursor: pointer;
}

.privacyRow p {
  font-size: 12px;
  color: rgba(44, 32, 22, 0.55);
  line-height: 1.8;
}

.privacyRow a {
  color: #C9A96E;
  border-bottom: 1px solid #C9A96E;
}

/* 送信ボタン */
.submitBtn {
  display: block;
  width: 100%;
  padding: 18px;
  background: #1C2B4A;
  color: #fff;
  font-family: Georgia, serif;
  font-size: 13px;
  letter-spacing: 0.2em;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s;
}

.submitBtn:hover {
  background: #C9A96E;
}

/* サイドパネル */
.contactSidePanel {
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 400px;
}

.contactSideCard {
  background: #1C2B4A;
  padding: 36px 32px;
}

.contactSideCard .sideLabel {
  font-family: Georgia, serif;
  font-size: 9px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #C9A96E;
  display: block;
  margin-bottom: 16px;
}

.contactSideCard h4 {
  font-family: 'Yu Mincho', '游明朝', 'YuMincho', serif;
  font-size: 18px;
  color: #fff;
  margin-bottom: 12px;
}

.contactSideCard p {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.9;
}

.contactSideCard .sideTel {
  display: block;
  font-family: Georgia, serif;
  font-style: italic;
  font-size: 22px;
  color: #C9A96E;
  margin-top: 12px;
  letter-spacing: 0.05em;
}

.contactSideCard .sideHours {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.3);
  margin-top: 6px;
  display: block;
}
.contactSideCard ul{
 justify-content: space-around;
  margin-top: 12px;
}

/* ============================================================
   reserve.html 専用
   ============================================================ */

/* ── ご予約セクション ────────────────────────────────── */
#reserveSection {
  background: #FAF6F0;
  padding: 100px 0;
}

#reserveSection .inner {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 80px;
  align-items: start;
}

/* 予約フォームエリア */
.reserveFormWrap h3 {
  font-family: 'Yu Mincho', '游明朝', 'YuMincho', serif;
  font-size: 28px;
  color: #1C2B4A;
  margin-bottom: 8px;
}

.reserveFormWrap .formDesc {
  font-size: 13px;
  color: rgba(44, 32, 22, 0.5);
  margin-bottom: 40px;
  line-height: 1.8;
}

/* 日付・時間・人数などの横並びグループ */
.formRowGroup {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 28px;
}

/* 予約フォームはcontactFormと共通クラスを流用 */

/* ── ご注意事項セクション ────────────────────────────── */
#reserveNote {
  background: #1C2B4A;
  padding: 80px 0;
}

.reserveNoteGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-top: 48px;
}

.reserveNoteItem {
  padding: 32px;
  border-top: 2px solid rgba(201, 169, 110, 0.3);
}

.reserveNoteItem .noteNum {
  font-family: Georgia, serif;
  font-style: italic;
  font-size: 32px;
  color: rgba(201, 169, 110, 0.25);
  display: block;
  margin-bottom: 12px;
  line-height: 1;
}

.reserveNoteItem h4 {
  font-family: 'Yu Mincho', '游明朝', 'YuMincho', serif;
  font-size: 16px;
  color: #fff;
  margin-bottom: 10px;
}

.reserveNoteItem p {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.4);
  line-height: 1.9;
}

/* サイドパネル（reserve） */
.reserveSidePanel {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.reserveSideCard {
  padding: 32px;
  border: 1px solid rgba(44, 32, 22, 0.1);
  background: #fff;
}

.reserveSideCard .sideLabel {
  font-family: Georgia, serif;
  font-size: 9px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #C9A96E;
  display: block;
  margin-bottom: 14px;
}

.reserveSideCard h4 {
  font-family: 'Yu Mincho', '游明朝', 'YuMincho', serif;
  font-size: 17px;
  color: #1C2B4A;
  margin-bottom: 10px;
}

.reserveSideCard p {
  font-size: 13px;
  color: rgba(44, 32, 22, 0.5);
  line-height: 1.9;
}

.reserveSideCard .sideTel {
  display: block;
  font-family: Georgia, serif;
  font-style: italic;
  font-size: 22px;
  color: #C9A96E;
  margin-top: 12px;
}

.reserveSideCard .sideHours {
  font-size: 11px;
  color: rgba(44, 32, 22, 0.35);
  margin-top: 6px;
  display: block;
}

/* ── 共通：予約CTAセクション（reservation） ─────────── */
#reserveCta {
  background: #1C2B4A;
  padding: 100px 0;
}

.reserveCtaFrame {
  border: 0.6px solid #C9A96E;
  padding: 64px 80px;
  text-align: center;
  max-width: 720px;
  margin: 0 auto;
}

.reserveCtaFrame .sectionTitle h3 {
  color: #fff;
}

.reserveCtaFrame .resDesc {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  line-height: 2;
  margin-bottom: 36px;
}

.reservationBtn {
  display: inline-block;
  padding: 16px 48px;
  background: #C9A96E;
  color: #fff;
  font-size: 13px;
  letter-spacing: 0.15em;
  transition: opacity 0.2s;
}

.reservationBtn:hover {
  opacity: 0.85;
}

.reserveCtaFrame .tel {
  margin-top: 24px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.35);
}


/* ============================================================
   レスポンシブ（768px以下）
   ============================================================ */
@media (max-width: 768px) {

  /* ページヒーロー */
  .pageHero {
    height: 210px;
    margin-top: 64px;
  }

  .pageHeroContent h2 {
    font-size: 26px;
  }
  
   /* menu */
  
  /* タブ */
  #menuTab {
    top: 64px;
  }

  .tabBtn {
    padding: 14px 24px;
    font-size: 11px;
  }

  /* ランチ */
  #lunchMenu {
    padding: 64px 0;
  }

  .lunchCourseBlock {
    grid-template-columns: 1fr;
    gap: 32px;
    margin-bottom: 60px;
    padding-bottom: 60px;
  }

  /* 画像を先に（SP：上画像・下テキスト） */
  .lunchCourseBlock .courseImg {
    order: -1;
  }

  .menuPrice {
    text-align: left;
  }
	#lunchMenu .perPersonText,
	#lunchMenu .menuPrice{
		text-align: right;
	}

  /* ディナー */
  #dinnerMenu {
    padding: 64px 0;
  }

  .dinnerImgWrap {
    width: 100%;
    height: 200px;
  }

  .dinnerPriceBlock .bigPrice {
    font-size: 36px;
  }

  /* ドリンク */
  .drinkList {
    grid-template-columns: 1fr;
  }

  /* FAQ */
  #faqSection {
    padding: 64px 0;
  }

  /* 注釈 */
  #menuNote {
    padding: 32px 0;
  }

  /* about */
  #aboutChef {
    padding: 64px 0;
  }

  #aboutChef .inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .aboutChefPhoto {
    position: static;
  }

  .aboutChefPhoto .mainPhoto {
    height: 320px;
  }

  #philosophy {
    padding: 64px 0;
  }

  #philosophy .inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .philosophyImg {
    height: 260px;
    order: -1;
  }

  #mediaSection {
    padding: 64px 0;
  }
  
  .mediaGrid {
    grid-template-columns: 1fr;
  }
  #careerListBtn{
    display: block;
    width: 50%;
    text-align: center;
    margin: 8px auto;
  }
  
  /* access */
  #accessMain {
    padding: 64px 0;
  }

  .accessMapLarge {
    height: 260px;
    margin-bottom: 40px;
  }

  .accessInfoGrid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  #nearbySection {
    padding: 64px 0;
  }

  .nearbyGrid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  /* contact */
  #contactSection {
    padding: 64px 0;
  }

  #contactSection .inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .formRowGroup {
    grid-template-columns: 1fr;
    gap: 0;
    margin-bottom: 0;
  }

  .formRowGroup .formRow {
    margin-bottom: 28px;
  }

  /* reserve */
  #reserveSection {
    padding: 64px 0;
  }

  #reserveSection .inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  #reserveNote {
    padding: 64px 0;
  }

  .reserveNoteGrid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .reserveNoteItem {
    border-top: none;
    border-bottom: 1px solid rgba(201, 169, 110, 0.15);
    padding: 24px 0;
  }

  .reserveCtaFrame {
    padding: 40px 24px;
  }
}
