/* =====================================
   固定・投稿ページ：背景写真＋前面ブロック＋ヒーロー上部
   パソコン版のみ（min-width: 769px）
===================================== */

@media (min-width: 769px) {

  /* 2層だけにする：body とオーバーレイの間はすべて透明・上の余白なし */
  body.pba-inner-page .site-content,
  body.pba-inner-page .content-area,
  body.pba-inner-page .site-main,
  body.pba-inner-page .grid-container,
  body.pba-inner-page .container,
  body.pba-inner-page .one-container,
  body.pba-inner-page .one-container .site-content,
  body.pba-inner-page .separate-containers .site-main,
  body.pba-inner-page .inside-article,
  body.pba-inner-page .entry-content,
  body.pba-inner-page main,
  body.pba-inner-page article {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
  }

  /* テーマの .content-area の width: 75% 等を打ち消す */
  body.pba-inner-page .site-content .content-area {
    flex: none !important;
    width: 100% !important;
  }

  /* サイト背景：写真（CSS変数で差し替え可能・未設定時は単色） */
  body.pba-inner-page {
    background-color: #2c2c2c;
    background-image: var(--pba-inner-bg-image, none);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    min-height: 100vh;
  }

  /* オーバーレイの親：flex で中央寄せを確実に（テーマの幅・flex 干渉を打ち消す） */
  body.pba-inner-page .entry-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }

  body.pba-inner-page .entry-content > * {
    box-sizing: border-box !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* 前面の白ブロック（オーバーレイ）：中央揃え・シャドウ・角丸・上の余白なし */
  body.pba-inner-page .pba-inner-block {
    position: relative;
    z-index: 2;
    width: 90% !important;
    max-width: 90% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 2rem;
    background: #fff;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
    min-height: 50vh;
    display: block;
    border-radius: 16px !important;
    overflow: hidden !important;
  }

  /* ヘッダー：オーバーレイブロックの「中」の最上部に表示（崩れ防止） */
  .pba-inner-block .pba-inner-block-header {
    position: relative;
    z-index: 3;
    width: 100%;
    min-height: 1px;
    box-sizing: border-box;
    border-top: 1px solid #e0e0e0;
    border-bottom: 1px solid #e0e0e0;
    padding: 1rem 1.5rem 1rem;
    background: #fff;
  }

  /* オーバーレイ時：ヘッダーに深緑背景・文字は白系で視認性確保 */
  .pba-inner-block-header--hero-style {
    background: #2d4a3e !important;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding: clamp(28px, 4.5vw, 56px) clamp(48px, 6vw, 96px) clamp(28px, 4.5vw, 48px);
  }

  /* ブランド：深緑上では白で表示 */
  .pba-inner-block-header--hero-style .hero-top-left .hero-brand {
    font-size: clamp(24px, 5.8vw, 72px) !important;
    font-weight: 400 !important;
    line-height: 0.95 !important;
    letter-spacing: 0.05em !important;
    position: relative !important;
    padding-top: 26px !important;
    padding-bottom: 26px !important;
    color: #fff !important;
  }

  .pba-inner-block-header--hero-style .hero-top-left .hero-brand::before,
  .pba-inner-block-header--hero-style .hero-top-left .hero-brand::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    height: 1px !important;
    background: rgba(255, 255, 255, 0.5) !important;
    width: 100% !important;
  }

  .pba-inner-block-header--hero-style .hero-top-left .hero-brand::before {
    top: 0 !important;
  }

  .pba-inner-block-header--hero-style .hero-top-left .hero-brand::after {
    bottom: -10px !important;
  }

  .pba-inner-block-header--hero-style .hero-brand .brand-line {
    line-height: 0.95 !important;
    margin-bottom: 0.04em !important;
    color: #fff !important;
  }

  .pba-inner-block-header--hero-style .hero-brand .brand-line:last-child {
    margin-bottom: 0 !important;
  }

  .pba-inner-block-header--hero-style .hero-brand-link {
    text-decoration: none !important;
    color: inherit !important;
    display: block;
  }

  .pba-inner-block-header--hero-style .hero-brand-link:hover {
    color: inherit !important;
    opacity: 0.9;
  }

  /* 公式LINEボタン：深緑上では白枠・白文字 */
  .pba-inner-block-header--hero-style .hero-top-left .hero-line-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin-top: 36px !important;
    padding: 14px 32px !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    border-radius: 6px !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
  }

  .pba-inner-block-header--hero-style .hero-top-left .hero-line-btn:hover {
    background: rgba(255, 255, 255, 0.2) !important;
    border-color: #fff !important;
    color: #fff !important;
  }

  /* ARTISTIC DIRECTOR・名前：深緑上では白・ゴールド系 */
  .pba-inner-block-header--hero-style .hero-top-right .director-label {
    font-size: clamp(10px, 1.2vw, 14px) !important;
    letter-spacing: 0.15em !important;
    line-height: 1.3 !important;
    margin-bottom: 0.35em !important;
    color: rgba(255, 255, 255, 0.9) !important;
  }

  .pba-inner-block-header--hero-style .hero-top-right .director-name {
    font-size: clamp(12px, 1.5vw, 18px) !important;
    letter-spacing: 0.1em !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    color: #fff !important;
  }

  .pba-inner-block-header--hero-style .director-part--white,
  .pba-inner-block-header--hero-style .director-part--gold {
    color: #fff !important;
  }

  /* 画像：ARTISTIC直下に寄せる */
  .pba-inner-block-header .hero-artistic-image--inner {
    display: block !important;
    visibility: visible !important;
    margin-top: clamp(4px, 0.5vw, 8px);
  }

  .pba-inner-block-header .hero-artistic-image--inner img {
    display: block !important;
    max-width: 115px;
    max-height: none;
    width: auto;
    height: auto;
    object-fit: contain;
  }

  /* 右列：ARTISTIC＋SNS/メニューを1列にまとめ（白線より上） */
  .pba-inner-block-header--hero-style .hero-overlay-right {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: clamp(8px, 1.2vw, 16px) !important;
  }

  .pba-inner-block-header--hero-style .hero-top-right {
    gap: clamp(8px, 1.2vw, 16px) !important;
    align-items: flex-end !important;
    text-align: right !important;
  }

  .pba-inner-block-header--hero-style .hero-top-right .hero-director {
    text-align: right !important;
  }

  /* 右列：ARTISTIC → SNS → メニューを縦に並べる（gapで間隔・orderで順序を固定） */
  .pba-inner-block-header--hero-style .hero-overlay-right {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: clamp(12px, 2vw, 24px) !important;
  }

  /* 固定・投稿のオーバーレイヘッダー右列：ARTISTICブロック（上に・右に） */
  body.pba-inner-page .pba-inner-block-header--hero-style .hero-overlay-right > .hero-top-right {
    order: 1 !important;
    margin-top: -32px !important;
    align-self: flex-end !important;
    transform: translateX(36px) !important;
  }

  .pba-inner-block-header--hero-style .hero-overlay-right > .hero-social-buttons-wrap {
    order: 2;
  }

  .pba-inner-block-header--hero-style .hero-overlay-right > .hero-nav {
    order: 3;
  }

  .pba-inner-block-header--hero-style .hero-overlay-right .hero-social-buttons-wrap {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 12px !important;
    margin-top: 140px !important;
    line-height: 1 !important;
  }

  .pba-inner-block-header--hero-style .hero-overlay-right .hero-nav {
    display: flex !important;
    justify-content: flex-end;
    margin-top: 20px !important;
    line-height: 1 !important;
  }

  .pba-inner-block-header--hero-style .hero-social-buttons.hero-social-buttons--right,
  .pba-inner-block-header--hero-style .hero-social-buttons-wrap.hero-social-buttons--right {
    gap: 12px !important;
  }

  .pba-inner-block-header--hero-style .hero-social-buttons .social-btn,
  .pba-inner-block-header--hero-style .hero-social-buttons-wrap .social-btn {
    width: 34px !important;
    height: 34px !important;
    font-size: 15px !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    color: #fff !important;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  }

  .pba-inner-block-header--hero-style .hero-social-buttons .social-btn:hover,
  .pba-inner-block-header--hero-style .hero-social-buttons-wrap .social-btn:hover {
    background: rgba(255, 255, 255, 0.2) !important;
    border-color: #fff !important;
    color: #fff !important;
  }

  .pba-inner-block-header--hero-style .hero-nav {
    flex-direction: row !important;
    gap: clamp(12px, 2vw, 20px) !important;
    transform: none !important;
  }

  .pba-inner-block-header--hero-style .hero-nav .nav-link {
    font-size: clamp(11px, 1.3vw, 15px) !important;
    font-weight: 600 !important;
    letter-spacing: 0.2em !important;
    color: #fff !important;
    padding-bottom: 2px !important;
    line-height: 1 !important;
    transition: opacity 0.2s ease;
  }

  .pba-inner-block-header--hero-style .hero-nav .nav-link:hover {
    opacity: 0.85;
  }

  .pba-inner-block-header--hero-style .hero-nav .nav-link::after {
    background: #fff !important;
  }

  /* 登録メニューを確実に表示（テーマの .menu 等の干渉を打ち消す）※WPメニュー表示時用 */
  .pba-inner-block-header .pba-inner-header-nav-wrap {
    display: block !important;
    margin: 0;
    padding: 0;
    visibility: visible !important;
  }

  .pba-inner-block-header .pba-inner-header-nav,
  .pba-inner-block-header .pba-inner-header-nav-wrap ul {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1rem 1.5rem;
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;
    visibility: visible !important;
  }

  .pba-inner-block-header .pba-inner-header-nav li,
  .pba-inner-block-header .pba-inner-header-nav-wrap li {
    display: inline-block !important;
    margin: 0;
    padding: 0;
  }

  .pba-inner-block-header .pba-inner-header-nav a,
  .pba-inner-block-header .pba-inner-header-nav-wrap a {
    color: #1a1a1a !important;
    text-decoration: none;
    font-weight: 600;
    letter-spacing: 0.05em;
  }

  .pba-inner-block-header .pba-inner-header-nav a:hover,
  .pba-inner-block-header .pba-inner-header-nav-wrap a:hover {
    text-decoration: underline;
  }

  .pba-inner-block-header .pba-inner-header-no-menu {
    margin: 0;
    padding: 0.5rem 0;
    font-size: 0.9rem;
    color: #666;
    text-align: center;
  }

  /* 本文：オーバーレイブロックの「中」でヘッダーの直下に表示 */
  body.pba-inner-page .pba-inner-block .pba-inner-block-body {
    position: relative;
    z-index: 1;
    width: 100%;
    display: block;
    box-sizing: border-box;
  }

  /* メニューバナー内：ヒーローオーバーレイ（2列1行・右列にARTISTIC＋SNS/メニューをまとめ白線より上に） */
  .pba-inner-block-header .pba-menu-banner .hero-overlay--inner,
  .pba-inner-header .hero-overlay--inner {
    position: relative;
    display: grid;
    grid-template-columns: 1fr minmax(200px, auto);
    grid-template-rows: auto;
    gap: 2px clamp(24px, 4vw, 48px);
    align-items: start;
    width: 100%;
    min-width: 0;
  }

  .pba-inner-header .hero-top-left {
    position: relative;
    top: auto;
    left: auto;
    grid-column: 1;
    grid-row: 1;
  }

  .pba-inner-header .hero-overlay-right {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: clamp(8px, 1.2vw, 16px);
  }

  .pba-inner-header .hero-overlay-right > .hero-top-right { order: 1; }
  .pba-inner-header .hero-overlay-right > .hero-social-buttons-wrap { order: 2; }
  .pba-inner-header .hero-overlay-right > .hero-nav { order: 3; }

  .pba-inner-header .hero-top-right {
    grid-column: 2;
    grid-row: 1;
  }

  .pba-inner-header .hero-brand,
  .pba-inner-header .hero-brand .brand-line {
    color: #1a1a1a;
  }

  .pba-inner-header .hero-line-btn {
    color: #1a1a1a;
    border-color: #1a1a1a;
  }


  .pba-inner-header .director-label,
  .pba-inner-header .director-name {
    color: #333;
  }

  .pba-inner-header .director-part--white {
    color: #1a1a1a !important;
  }

  .pba-inner-header .director-part--gold {
    color: #8b6914 !important;
  }

  .pba-inner-header .hero-overlay-right .hero-social-buttons-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
  }

  .pba-inner-header .hero-nav {
    position: relative;
    top: auto;
    right: auto;
    transform: none;
    flex-direction: row;
    gap: 1.25rem;
  }

  .pba-inner-header .hero-nav .nav-link {
    color: #1a1a1a !important;
    font-size: 14px;
    opacity: 1;
  }

  .pba-inner-header .hero-social-buttons .social-btn {
    color: #333 !important;
    border-color: rgba(0, 0, 0, 0.25) !important;
    opacity: 1;
  }

  .pba-inner-header .hero-social-buttons .social-btn:hover {
    color: #1a1a1a;
    border-color: #1a1a1a;
  }

  /* ハンバーガーメニューボタン（白背景用） */
  .pba-inner-header .hero-menu-tab-btn-icon .hero-menu-tab-btn-line {
    background-color: #1a1a1a;
  }

  .pba-inner-header .hero-line-image {
    display: none;
  }

  /* 固定・投稿のオーバーレイ（深緑ヘッダー）：.pba-inner-header の黒・ゴールドを白で上書き（詳細度で後に勝つ） */
  body.pba-inner-page .pba-inner-block-header--hero-style .pba-inner-header .director-label,
  body.pba-inner-page .pba-inner-block-header--hero-style .pba-inner-header .director-name {
    color: #fff !important;
  }
  body.pba-inner-page .pba-inner-block-header--hero-style .pba-inner-header .director-part--white,
  body.pba-inner-page .pba-inner-block-header--hero-style .pba-inner-header .director-part--gold {
    color: #fff !important;
  }
  body.pba-inner-page .pba-inner-block-header--hero-style .pba-inner-header .hero-nav .nav-link {
    color: #fff !important;
  }
  body.pba-inner-page .pba-inner-block-header--hero-style .pba-inner-header .hero-social-buttons .social-btn,
  body.pba-inner-page .pba-inner-block-header--hero-style .pba-inner-header .hero-social-buttons-wrap .social-btn {
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
  }
  body.pba-inner-page .pba-inner-block-header--hero-style .pba-inner-header .hero-social-buttons .social-btn:hover,
  body.pba-inner-page .pba-inner-block-header--hero-style .pba-inner-header .hero-social-buttons-wrap .social-btn:hover {
    color: #fff !important;
    border-color: #fff !important;
  }

  /* ブロック本文エリア（ヘッダーと左右パディングを揃える） */
  body.pba-inner-page .pba-inner-block-body {
    padding: clamp(28px, 4.5vw, 48px) clamp(48px, 6vw, 96px) clamp(32px, 5vw, 56px);
  }

}

/* =====================================
   固定・投稿ページ：携帯版ヘッダー（max-width: 768px のみ・PCは min-width: 769px で干渉なし）
   PROMUSICA / ARTISTIC / メニュータブ の3つ・メニュータブは白線より上に absolute（基準は .hero-overlay--inner）
===================================== */
@media (max-width: 768px) {

  /* 携帯でも背景＋前面ブロックのベースを維持（テーマの制限を上書きして背景を表示） */
  html body.pba-inner-page {
    background-color: #2c2c2c !important;
    background-image: var(--pba-inner-bg-image, none) !important;
    background-size: cover !important;
    background-position: center !important;
    background-attachment: scroll !important;
    min-height: 100vh;
  }

  body.pba-inner-page .grid-container,
  body.pba-inner-page .container,
  body.pba-inner-page .one-container,
  body.pba-inner-page .site-content,
  body.pba-inner-page .content-area,
  body.pba-inner-page .site-main,
  body.pba-inner-page .separate-containers .site-main,
  body.pba-inner-page .inside-article,
  body.pba-inner-page .entry-content,
  body.pba-inner-page main,
  body.pba-inner-page article {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
  }

  body.pba-inner-page .entry-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  body.pba-inner-page .entry-content > * {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.pba-inner-page .pba-inner-block {
    width: 97% !important;
    max-width: 97% !important;
    margin-top: 0 !important;
    margin-bottom: 1.5rem;
    background: #fff !important;
    background-color: #fff !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
    border-radius: 12px !important;
    overflow: hidden !important;
  }

  body.pba-inner-page .pba-inner-block-body {
    padding: clamp(20px, 5vw, 32px) clamp(20px, 5vw, 32px);
  }

  /* ヘッダー：深緑・携帯は縦並び・メニュータブまで白線内 */
  body.pba-inner-page .pba-inner-block .pba-inner-block-header {
    overflow: visible !important;
    padding-top: 0 !important;
  }

  /* 携帯：白線は「上エリア」の直下に描く。上・下の余白を少し狭める */
  body.pba-inner-page .pba-inner-block .pba-inner-block-header.pba-inner-block-header--hero-style {
    background: #142218 !important;
    border-top: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding: clamp(12px, 3vw, 18px) clamp(20px, 5vw, 32px) clamp(16px, 4vw, 28px) !important;
    box-sizing: border-box !important;
    position: relative !important;
  }

  body.pba-inner-page .pba-inner-block-header .pba-menu-banner .hero-overlay--inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: clamp(12px, 3vw, 20px) !important;
    width: 100%;
    position: relative !important;
    top: 0 !important;
    padding-top: clamp(34px, 8.5vw, 42px) !important;
  }

  /* 携帯：線は1本だけ（ブランド上下線を残す）。オーバーレイの白線は非表示 */
  body.pba-inner-page .pba-inner-block-header .pba-menu-banner .hero-overlay--inner::before {
    display: none !important;
    content: none !important;
  }

  /* 携帯で非表示：SNS・デスクトップメニュー・画像（公式LINEはACADEMY下に表示） */
  body.pba-inner-page .pba-inner-block-header--hero-style .hero-overlay-right .hero-social-buttons-wrap,
  body.pba-inner-page .pba-inner-block-header--hero-style .hero-overlay-right .hero-nav,
  body.pba-inner-page .pba-inner-block-header--hero-style .hero-artistic-image--inner {
    display: none !important;
  }

  /* 公式LINEボタン：ACADEMYの下・携帯フロントと同じデザイン */
  body.pba-inner-page .pba-inner-block-header--hero-style .hero-top-left .hero-line-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin-top: 24px !important;
    padding: 10px 24px !important;
    background: rgba(0, 0, 0, 0.3) !important;
    border: 1px solid rgba(255, 255, 255, 0.9) !important;
    border-radius: 6px !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: clamp(12px, 1.8vw, 15px) !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
    transition: background 0.2s, border-color 0.2s !important;
  }
  body.pba-inner-page .pba-inner-block-header--hero-style .hero-top-left .hero-line-btn:hover {
    background: rgba(0, 0, 0, 0.7) !important;
    border-color: #fff !important;
    color: #fff !important;
  }

  /* 左：PROMUSICA（白線の直下の余白を少し狭めて） */
  body.pba-inner-page .pba-inner-block .pba-inner-block-header.pba-inner-block-header--hero-style .pba-menu-banner .hero-overlay--inner .hero-top-left {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    margin-top: clamp(6px, 1.5vw, 10px) !important;
    margin-left: -24px !important;
    padding-top: 0 !important;
    padding-left: 0 !important;
    text-align: left !important;
    order: 1;
    flex: 1 1 auto;
    min-width: 0;
  }

  body.pba-inner-page .pba-inner-block .pba-inner-block-header.pba-inner-block-header--hero-style .pba-menu-banner .hero-overlay--inner .hero-top-left .hero-brand {
    font-size: clamp(28px, 8vw, 48px) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    color: #fff !important;
    padding-top: clamp(8px, 2vw, 14px) !important;
    padding-bottom: 0 !important;
  }

  body.pba-inner-page .pba-inner-block-header--hero-style .hero-brand .brand-line {
    color: #fff !important;
    line-height: 1.15 !important;
    margin-bottom: 0.12em !important;
  }

  body.pba-inner-page .pba-inner-block-header--hero-style .hero-brand-link {
    text-decoration: none !important;
    color: inherit !important;
    display: block;
  }

  body.pba-inner-page .pba-inner-block-header--hero-style .hero-top-left .hero-brand::before,
  body.pba-inner-page .pba-inner-block-header--hero-style .hero-top-left .hero-brand::after {
    background: rgba(255, 255, 255, 0.5) !important;
  }

  /* 右：ARTISTIC（PROMUSICAと同じ高さ・1行目）。少し下げて・右に寄せる */
  body.pba-inner-page .pba-inner-block-header--hero-style .hero-overlay-right {
    order: 2;
    position: static !important;
    top: 0 !important;
    margin-top: 1.25em !important;
    align-self: flex-start !important;
    margin-right: -24px !important;
    padding-top: 0 !important;
    width: auto;
    max-width: 60%;
    box-sizing: border-box;
    display: block !important;
  }

  body.pba-inner-page .pba-inner-block-header--hero-style .hero-top-right {
    position: static !important;
    top: 0 !important;
    right: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: clamp(4px, 1vw, 8px) !important;
    width: auto;
    box-sizing: border-box;
  }

  /* 携帯：フロントと同じARTISTIC素材（4行・director-lines）。PC用2行は非表示 */
  body.pba-inner-page .pba-inner-block-header--hero-style .hero-top-right .director-label,
  body.pba-inner-page .pba-inner-block-header--hero-style .hero-top-right .director-name {
    display: none !important;
  }
  body.pba-inner-page .pba-inner-block-header--hero-style .hero-top-right .hero-director-lines {
    display: flex !important;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
    gap: 0.25em !important;
    line-height: 1.2 !important;
  }
  body.pba-inner-page .pba-inner-block-header--hero-style .hero-top-right .director-line {
    display: block !important;
    font-size: clamp(11px, 1.4vw, 14px) !important;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #fff !important;
    line-height: 1.2 !important;
    font-weight: 400;
    margin: 0 !important;
    padding: 0;
  }

  body.pba-inner-page .pba-inner-block-header--hero-style .hero-director {
    display: block !important;
  }

  /* メニュータブ（携帯）：白線より上の右端に absolute 配置・右に寄せる */
  body.pba-inner-page .pba-inner-block-header--hero-style .hero-menu-tab {
    position: absolute !important;
    top: clamp(130px, 32.5vw, 210px) !important;
    right: clamp(4px, 1vw, 12px) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    left: auto !important;
  }

  body.pba-inner-page .pba-inner-block-header--hero-style .hero-menu-tab-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 50px;
    height: 32px;
    padding: 0;
    margin: 0;
    border: 2px solid rgba(255, 255, 255, 0.9) !important;
    background: transparent !important;
    color: #fff !important;
    border-radius: 4px;
    cursor: pointer;
  }

  body.pba-inner-page .pba-inner-block-header--hero-style .hero-menu-tab-btn-icon .hero-menu-tab-btn-line {
    background: #fff !important;
  }

  body.pba-inner-page .pba-inner-block-header--hero-style .hero-menu-tab-btn-icon::before {
    content: "";
    display: block;
    width: 20px;
    height: 2px;
    background: #fff;
    border-radius: 1px;
  }

  body.pba-inner-page .pba-inner-block-header--hero-style .hero-menu-tab-panel {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    left: auto;
    margin-top: 12px;
    min-width: 140px;
    padding: 8px 0;
    background: rgba(45, 74, 62, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 4px;
  }

  body.pba-inner-page .pba-inner-block-header--hero-style .hero-menu-tab.is-open .hero-menu-tab-panel {
    display: block;
  }

  body.pba-inner-page .pba-inner-block-header--hero-style .hero-menu-tab-panel .hero-menu-tab-nav {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start;
    gap: 2px;
  }

  body.pba-inner-page .pba-inner-block-header--hero-style .hero-menu-tab-panel .hero-menu-tab-link {
    display: block;
    padding: 6px 12px;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 14px;
  }

  /* グリッド解除・hero-top-left を先に */
  body.pba-inner-page .pba-inner-block-header .pba-menu-banner .hero-overlay--inner .hero-top-left {
    order: 1;
  }

}
