@charset "UTF-8";

/* =========================================================
   99-swell-adjust.css
   SWELL Adjust Asset：SWELLデフォルト表示の最終調整

   Site:
   日本料理 あふひ

   方針：
   ・SWELLが標準で出す不要な表示を消す
   ・トップページや作り込み固定ページで邪魔になる余白を消す
   ・デザインをSWELL標準の見た目に引っ張られないようにする
   ・このファイルは最後に読み込ませる
   ・必要以上に装飾は書かない
   ・個別デザインは各コンポーネントCSSに書く

   注意：
   ・このCSSは全ページに効く
   ・パンくず、ページタイトル、タイトルエリアを全体で非表示にする
   ・お知らせ記事や通常投稿でタイトルを出したい場合は、
     将来的にページ種別ごとの制御へ変更する
========================================================= */


/* =========================
   SWELL：パンくず削除

   目的：
   ・SWELL標準のパンくず表示を消す
   ・オリジナルデザインの上部構成を邪魔しないようにする

   注意：
   ・全ページでパンくずが非表示になる
========================= */

#breadcrumb {
  display: none !important;
}


/* =========================
   SWELL：上部タイトルエリア削除

   目的：
   ・固定ページ上部に出るSWELL標準のタイトルエリアを消す
   ・トップページや下層ページを独自ヒーローで作るため
========================= */

#top_title_area {
  display: none !important;
}


/* =========================
   SWELL：本文内ページタイトル削除

   目的：
   ・本文上部に自動表示されるページタイトルを消す
   ・ページタイトルは各セクション内で独自に設計する
========================= */

.c-pageTitle {
  display: none !important;
}


/* =========================
   SWELL：ヘッダー下の余白削除

   目的：
   ・ヘッダー下に残るSWELL標準余白を消す
   ・ヒーローやファーストビューを画面上部から自然に始める
========================= */

.l-content {
  padding-top: 0 !important;
}

.l-mainContent__inner > .post_content {
  margin-top: 0 !important;
}


/* =========================
   SWELL：フッター前の余白削除

   目的：
   ・本文下部からフッターまでの不要な余白を消す
   ・最終セクションの余白は各ページ側で管理する
========================= */

.l-mainContent {
  margin-bottom: 0 !important;
}


/* =========================
   SWELL：#content 上余白削除

   目的：
   ・#content に付与される上余白を消す
   ・ページ冒頭のレイアウトをCSS側で正確に管理する
========================= */

#content {
  padding-top: 0 !important;
}




/* ======================================================
  あふひ：SP下層ページのみヘッダー固定表示
  ・フロントページの透明ヘッダー挙動は触らない
  ・下層ページのモーダル後ヘッダー消失対策
====================================================== */

@media (max-width: 767px) {

  /* ======================================================
    01. 対象ページ
    ※home/front-page を明示的に除外
  ====================================================== */

  body:not(.home):not(.front-page):has(.c-afuhiCelebrationHub) #header,
  body:not(.home):not(.front-page):has(.c-afuhiCelebrationPage) #header,
  body:not(.home):not(.front-page):has(.c-afuhiTakeoutPage) #header,
  body:not(.home):not(.front-page):has(.c-afuhiDiningPage) #header,
  body:not(.home):not(.front-page):has(.c-afuhiMemorialPage) #header,
  body:not(.home):not(.front-page):has(.c-afuhiAccessPage) #header,
  body:not(.home):not(.front-page):has(.c-afuhiGuideSingle) #header,
  body:not(.home):not(.front-page):has(.c-afuhiGuideArchive) #header,
  body:not(.home):not(.front-page):has(.c-afuhiCelebrationHub) .l-header,
  body:not(.home):not(.front-page):has(.c-afuhiCelebrationPage) .l-header,
  body:not(.home):not(.front-page):has(.c-afuhiTakeoutPage) .l-header,
  body:not(.home):not(.front-page):has(.c-afuhiDiningPage) .l-header,
  body:not(.home):not(.front-page):has(.c-afuhiMemorialPage) .l-header,
  body:not(.home):not(.front-page):has(.c-afuhiAccessPage) .l-header,
  body:not(.home):not(.front-page):has(.c-afuhiGuideSingle) .l-header,
  body:not(.home):not(.front-page):has(.c-afuhiGuideArchive) .l-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 10000 !important;

    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;

    transform: none !important;
    translate: 0 0 !important;
  }

  /* ======================================================
    02. ヘッダー内部も強制表示
  ====================================================== */

  body:not(.home):not(.front-page):has(.c-afuhiCelebrationHub) .p-spHead,
  body:not(.home):not(.front-page):has(.c-afuhiCelebrationPage) .p-spHead,
  body:not(.home):not(.front-page):has(.c-afuhiTakeoutPage) .p-spHead,
  body:not(.home):not(.front-page):has(.c-afuhiDiningPage) .p-spHead,
  body:not(.home):not(.front-page):has(.c-afuhiMemorialPage) .p-spHead,
  body:not(.home):not(.front-page):has(.c-afuhiAccessPage) .p-spHead,
  body:not(.home):not(.front-page):has(.c-afuhiGuideSingle) .p-spHead,
  body:not(.home):not(.front-page):has(.c-afuhiGuideArchive) .p-spHead,
  body:not(.home):not(.front-page):has(.c-afuhiCelebrationHub) .l-header__inner,
  body:not(.home):not(.front-page):has(.c-afuhiCelebrationPage) .l-header__inner,
  body:not(.home):not(.front-page):has(.c-afuhiTakeoutPage) .l-header__inner,
  body:not(.home):not(.front-page):has(.c-afuhiDiningPage) .l-header__inner,
  body:not(.home):not(.front-page):has(.c-afuhiMemorialPage) .l-header__inner,
  body:not(.home):not(.front-page):has(.c-afuhiAccessPage) .l-header__inner,
  body:not(.home):not(.front-page):has(.c-afuhiGuideSingle) .l-header__inner,
  body:not(.home):not(.front-page):has(.c-afuhiGuideArchive) .l-header__inner,
  body:not(.home):not(.front-page):has(.c-afuhiCelebrationHub) .l-header__bar,
  body:not(.home):not(.front-page):has(.c-afuhiCelebrationPage) .l-header__bar,
  body:not(.home):not(.front-page):has(.c-afuhiTakeoutPage) .l-header__bar,
  body:not(.home):not(.front-page):has(.c-afuhiDiningPage) .l-header__bar,
  body:not(.home):not(.front-page):has(.c-afuhiMemorialPage) .l-header__bar,
  body:not(.home):not(.front-page):has(.c-afuhiAccessPage) .l-header__bar,
  body:not(.home):not(.front-page):has(.c-afuhiGuideSingle) .l-header__bar,
  body:not(.home):not(.front-page):has(.c-afuhiGuideArchive) .l-header__bar {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;

    transform: none !important;
    translate: 0 0 !important;
  }

  /* ======================================================
    03. 下層ページだけ本文がヘッダー下に潜らないようにする
  ====================================================== */

  body:not(.home):not(.front-page):has(.c-afuhiCelebrationHub),
  body:not(.home):not(.front-page):has(.c-afuhiCelebrationPage),
  body:not(.home):not(.front-page):has(.c-afuhiTakeoutPage),
  body:not(.home):not(.front-page):has(.c-afuhiDiningPage),
  body:not(.home):not(.front-page):has(.c-afuhiMemorialPage),
  body:not(.home):not(.front-page):has(.c-afuhiAccessPage),
  body:not(.home):not(.front-page):has(.c-afuhiGuideSingle),
  body:not(.home):not(.front-page):has(.c-afuhiGuideArchive) {
    padding-top: var(--afuhi-sp-header-height, 64px) !important;
  }

  /* ======================================================
    04. アンカー移動時のヘッダー被り対策
  ====================================================== */

  body:not(.home):not(.front-page):has(.c-afuhiCelebrationHub) [id],
  body:not(.home):not(.front-page):has(.c-afuhiCelebrationPage) [id],
  body:not(.home):not(.front-page):has(.c-afuhiTakeoutPage) [id],
  body:not(.home):not(.front-page):has(.c-afuhiDiningPage) [id],
  body:not(.home):not(.front-page):has(.c-afuhiMemorialPage) [id],
  body:not(.home):not(.front-page):has(.c-afuhiAccessPage) [id],
  body:not(.home):not(.front-page):has(.c-afuhiGuideSingle) [id],
  body:not(.home):not(.front-page):has(.c-afuhiGuideArchive) [id] {
    scroll-margin-top: calc(var(--afuhi-sp-header-height, 64px) + 16px);
  }
}

/* ======================================================
  05. WordPressログイン中の管理バー対策
====================================================== */

@media (max-width: 767px) {
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiCelebrationHub) #header,
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiCelebrationPage) #header,
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiTakeoutPage) #header,
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiDiningPage) #header,
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiMemorialPage) #header,
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiAccessPage) #header,
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiGuideSingle) #header,
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiGuideArchive) #header,
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiCelebrationHub) .l-header,
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiCelebrationPage) .l-header,
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiTakeoutPage) .l-header,
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiDiningPage) .l-header,
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiMemorialPage) .l-header,
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiAccessPage) .l-header,
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiGuideSingle) .l-header,
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiGuideArchive) .l-header {
    top: 46px !important;
  }

  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiCelebrationHub),
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiCelebrationPage),
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiTakeoutPage),
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiDiningPage),
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiMemorialPage),
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiAccessPage),
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiGuideSingle),
  body.admin-bar:not(.home):not(.front-page):has(.c-afuhiGuideArchive) {
    padding-top: calc(var(--afuhi-sp-header-height, 64px) + 46px) !important;
  }
}




/* ======================================================
  あふひ：PCグローバルナビ 下層メニュー調整
  ・白ベタをやめて、深緑の半透明パネルへ
====================================================== */

@media (min-width: 768px) {

  /* 下層メニュー本体 */
  .l-header .sub-menu,
  .p-header .sub-menu,
  .c-gnav .sub-menu {
    min-width: 260px !important;
    padding: 14px 0 !important;

    background: rgba(59, 65, 57, 0.88) !important;
    border: 1px solid rgba(247, 244, 238, 0.28) !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22) !important;

    backdrop-filter: blur(8px);
  }

  /* 下層メニューのリンク */
  .l-header .sub-menu a,
  .p-header .sub-menu a,
  .c-gnav .sub-menu a {
    padding: 14px 22px !important;

    color: #f7f4ee !important;
    background: transparent !important;
    text-decoration: none !important;

    font-size: 15px !important;
    line-height: 1.6 !important;
    letter-spacing: 0.06em !important;
  }

  /* 区切り線 */
  .l-header .sub-menu li,
  .p-header .sub-menu li,
  .c-gnav .sub-menu li {
    border-bottom: 1px solid rgba(247, 244, 238, 0.16) !important;
  }

  .l-header .sub-menu li:last-child,
  .p-header .sub-menu li:last-child,
  .c-gnav .sub-menu li:last-child {
    border-bottom: 0 !important;
  }

  /* hover */
  .l-header .sub-menu a:hover,
  .p-header .sub-menu a:hover,
  .c-gnav .sub-menu a:hover {
    background: rgba(247, 244, 238, 0.1) !important;
    color: #fff !important;
  }

  /* SWELL標準の白背景・装飾対策 */
  .l-header .sub-menu::before,
  .l-header .sub-menu::after,
  .p-header .sub-menu::before,
  .p-header .sub-menu::after,
  .c-gnav .sub-menu::before,
  .c-gnav .sub-menu::after {
    border-color: transparent !important;
    background: transparent !important;
  }
}




/* ======================================================
  あふひ：お食事ページだけSP固定ヘッダーの余白を解除
  ・ヒーロー写真をヘッダー直下／背面へ使うため
  ・他の下層ページは従来どおり本文をヘッダー下へ逃がす
====================================================== */

@media (max-width: 767px) {

  body:not(.home):not(.front-page):has(.c-afuhiDiningPage) {
    padding-top: 0 !important;
  }

}



/* ======================================================
  あふひ：季節のご案内アーカイブ SPヘッダー下の微妙な隙間対策
  ・固定ヘッダー用の余白と実ヘッダー高さのズレを補正
  ・アーカイブの深緑ヒーローだけ少し上へ重ねる
====================================================== */

@media (max-width: 767px) {

  body:not(.home):not(.front-page):has(.c-afuhiGuideArchive) .c-afuhiGuideArchive__hero {
    margin-top: -4px !important;
  }

}