  /* ───── ヘッダー 1100px コンテナ（中央寄せ） ───── */
  .ps-headwrap{
    max-width:1100px;
    margin-inline:auto;
    padding:10px 8px;
    padding-left: 0;
    padding-right: 0;
    box-sizing:border-box;
  }

  .ps-headwrap .wp-block-navigation{ margin-top:10px; }

  /* ───── 1段目 Row を “Grid 2列” に固定 ─────
     左: 1fr（ロゴ＋タイトル）、右: auto（[ps_topbar]）
     テーマ側の flex 指定に影響されずに右端固定 */
  header :where(.ps-headrow){
    display:grid !important;
    grid-template-columns: 1fr auto !important;
    align-items:center !important;
    gap:14px !important;
    width:100% !important;
    max-width:100% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    box-sizing: border-box;
  }

  /* 右カラムに入る候補をすべて右端に寄せる */
  header :where(.ps-headrow) > :where(.wp-block-shortcode,
                                       .wp-block-group:last-child,
                                       .wp-block-column:last-child,
                                       *:last-child){
    justify-self:end !important;
  }

  /* ショートコードの内側も横並び揃え */
  .ps-topbar{ display:inline-flex; align-items:center; gap:8px; }

  /* トップバーの文字サイズ */
  .ps-topbar, .ps-topbar *{ font-size:13px !important; line-height:1.25; }

  /* 検索ボックス */
  .ps-topbar label{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space:nowrap !important;
    border:0 !important;
  }
  .ps-topbar form{
    display:flex;
    align-items:center;
    gap:8px;
  }
  .ps-topbar input[type="search"]{
    max-width:170px;
    height:32px;
    line-height:32px;
    padding:4px 10px;
    font-size:13px !important;
    box-sizing:border-box;
  }
  /* 検索欄：フォーカス時の可視リング */
  .ps-topbar input[type="search"]:focus,
  .ps-topbar .ps-search-btn:focus{
    outline: 2px solid #0f4d57;
    outline-offset: 2px;
  }
  /* モバイル時の検索幅 */
  @media (max-width: 480px){
    .ps-topbar input[type="search"]{ max-width: 150px; }
  }
  .ps-topbar button,
  .ps-topbar input[type="submit"]{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:32px;
    line-height:32px;
    padding:0 12px;
    font-size:13px !important;
  }

  /* 言語リンクのホバー色 */
  .ps-topbar .langs a:hover{ color:#0b3a41; text-decoration:underline; }

  /* 微調整（0〜10px） */
  .ps-topbar{ padding-right:6px; }

  /* 言語でナビ出し分け */
  body.lang-ja .nav-id{ display:none !important; }
  body.lang-id .nav-ja{ display:none !important; }

/* ヘッダー帯 */
.ps-headerbar{
  background: #fff;
}

/* ───────── メインナビ（バーを横幅いっぱい & 枠を1本に） ───────── */
.ps-mainnav{
  display:block;
  width:100% !important;
  background: linear-gradient(#f6f6f6, #eaeaea);
  border: 1px solid #cfcfcf;
  border-radius: 10px;
  padding: 1px 10px !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.75) inset;
}

/* テーマ側が入れる余計な装飾を打ち消し（二重線や影の原因を除去） */
.ps-mainnav .wp-block-navigation__container{
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  justify-content: flex-start;
}

/* 各項目の見た目 */
.ps-mainnav .wp-block-navigation-item__content{
  color:#0a5a5d;
  margin:0 !important;
  padding-inline-start: 12px !important;
}

/* 余白を発生させるデフォルトのマージンを無効化 */
.ps-mainnav .wp-block-navigation-item{ margin:0 !important; }

.ps-mainnav .wp-block-navigation-item:last-child .wp-block-navigation-item__content{
  border-right: none;
}

.ps-mainnav .wp-block-navigation-item__content:hover {
  background:#ffffff;
  color:#07474b;
}

/* PC：ホバーでサブメニューを出す */
.ps-mainnav .wp-block-navigation-item.has-child{ position: relative; }
.ps-mainnav .wp-block-navigation__submenu-container{
  position: absolute; left: 0; top: 100%;
  min-width: 200px; background:#fff; border:1px solid #cfcfcf; border-radius:8px;
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
  padding:6px 0; opacity:0; visibility:hidden; transform:translateY(4px);
  transition: opacity .15s, transform .15s; z-index: 9999;
}
.ps-mainnav .wp-block-navigation-item.has-child:hover > .wp-block-navigation__submenu-container{
  opacity:1; visibility:visible; transform:none;
}
.ps-mainnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  display:block; white-space:nowrap; color:#0a5a5d; padding:8px 12px;
}
.ps-mainnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{
  background:#f2f6f7;
}

/* モバイルはテーマの開閉に委ねる */
@media (max-width: 960px){
  .ps-mainnav .wp-block-navigation__submenu-container{
    position: static; border:none; box-shadow:none;
    opacity:1; visibility:visible; transform:none; padding:0;
  }
}

/* --- WP ナビのレスポンシブ挙動を強制的に横並びに固定 --- */
.ps-mainnav{ 
  display:block !important;
  width:100% !important;
  box-sizing:border-box;
}

/* “レスポンシブ・コンテナ” 経由でも常に横並びに */
.ps-mainnav .wp-block-navigation__responsive-container{
  display: contents !important;          /* オーバーレイ用のラッパーを無視 */
}
.ps-mainnav .wp-block-navigation__responsive-container-content,
.ps-mainnav .wp-block-navigation__container{
  display:flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  width:100% !important;
  gap: 26px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* 項目の縦積み余白・マージンのリセット */
.ps-mainnav .wp-block-navigation__container > li{
  margin:0 !important;
}

/* 親グループに幅制限/センタリングが残っていても全幅にする */
.ps-navwrap{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  display:block !important;
}

.ps-navwrap .ps-mainnav{ width:100% !important; }

.ps-navwrap{ padding-left:0 !important; padding-right:0 !important; }

.ps-mainnav{
  padding: 0 10px !important;
  margin: 0 !important;
  min-height: 40px;                      /* 見出しの高さ基準（36〜40px） */
}

.ps-mainnav .wp-block-navigation__container{
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
  align-items: center !important;
}

/* 各項目の余白と行高を詰める（上の余白の正体） */
.ps-mainnav .wp-block-navigation-item,
.ps-mainnav .wp-block-navigation-item__content{
  margin: 0 !important;
  line-height: 1.25 !important;
}

/* ===== 区切り線と文字の距離をなくす（左に線を出す方式へ） ===== */
.ps-mainnav .wp-block-navigation-item__content{
  display: flex; align-items: center;    /* 文字の縦位置を中央に */
  padding: 8px 25px !important;          /* ← 上下/左右の内側余白（上下は 6〜8px） */
  border-right: none !important;
  border-left: 1px solid #dcdcdc !important;
}
.ps-mainnav .wp-block-navigation-item:first-child .wp-block-navigation-item__content{
  border-left: none !important;          /* 先頭だけ線なし */
}

/* 子メニューあり項目 */
.ps-mainnav .has-child > .wp-block-navigation-item__content{
  padding-inline-end: 25px !important;   /* 右側だけ通常の 14px に固定 */
}
.ps-mainnav .wp-block-navigation__submenu-icon{
  display:none !important; width:0 !important; height:0 !important; margin:0 !important; padding:0 !important;
}

/* フォーカスが入ったらサブメニューを開く */
.ps-mainnav .wp-block-navigation-item.has-child:focus-within
  > .wp-block-navigation__submenu-container {
  opacity:1; visibility:visible; transform:none;
}

@media (max-width: 480px){
  .ps-mainnav .wp-block-navigation-item__content{
    padding: 10px 14px !important;
  }
}

/* ナビ文字サイズ */
.ps-mainnav, .ps-mainnav *{ font-size:15px; line-height:1.4; }

/* ヘッダー帯を固定 */
.ps-headerbar{
  position: sticky; top: 0; z-index: 10000;
}

/* パンくず */
.ps-crumbs-outer{ width:100%; }

.ps-crumbs-inner{
  max-width: 1100px;          /* ヘッダーの ps-headwrap と同じコンテンツ幅 */
  margin: 6px auto 12px;     /* 上下余白 */
  padding: 0 8px;            /* 端に張り付かないための左右インナー余白 */
  box-sizing: border-box;
}
.ps-crumbs{
  display:flex; flex-wrap:wrap;
  gap:6px 10px;
  font-size:13px; line-height:1.6;
}
.ps-crumbs a{ text-decoration:none; }
.ps-crumbs a:hover{ text-decoration:underline; }
.ps-crumbs-sep{ opacity:.6; }

@media (max-width: 600px){
  .ps-crumbs{ font-size:12.5px; }
}
