.main_h,h1,h2,h3,h4{
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
}
.reversebox {
 display: flex;
}
@media screen and (max-width: 900px) {
.p-mainVisual__slideTitle {
    font-size: 18px;
}
}

@media screen and (max-width: 781px) {
.reversebox {
  flex-direction: column;
 }
}

@media screen and (max-width: 781px) {
.order1 {
  order: 1;
}
.order2 {
  order: 2;
}
}
.l-topTitleArea__body.l-container {
    text-align: center;
}
.p-articleMetas__times.c-postTimes.u-thin {
    text-align: center;
    width: auto;
    margin: 0 auto;
}
.full-map {
    padding: 0;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    margin-bottom: -1.8rem;
}
@media print, screen and (min-width: 960px) {
br.sp { display: none; }
br.pc { display: inline; }
}
@media screen and (max-width: 959px) {
br.sp { display: inline; }
br.pc { display: none; }
}

.header_backcolor {
    padding: 7px !important;
}
.flex_no>.swell-block-columns__inner {
    flex-wrap: unset;
}




/* =====================================================
   SWELL：PC 左固定サイドメニュー（CSSのみ・安定版）
   ・メインメニューは中央揃え
   ・サブメニューは fixed で右に表示（切れない）
===================================================== */
@media (min-width: 960px){

  /* ===== 調整用変数 ===== */
  :root{
    --sideHeaderW: 280px;  /* 左ヘッダー幅 */
    --subMenuW: 240px;     /* サブメニュー幅 */
    --subGap: 20px;        /* ヘッダーとサブメニューの隙間 */
    --subTop: 230px;       /* サブメニューの縦位置（今ちょうど良い値） */
  }

  /* ===== 左固定ヘッダー ===== */
  #header.l-header{
    position: fixed;
    top: 0;
    left: 0;
    width: var(--sideHeaderW);
    height: 100vh;
    background: #fff;
    z-index: 1000;
    overflow-y: auto;
  }

  #header .l-header__inner{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    padding: 24px 18px;
  }

  /* ===== グローバルナビ（縦並び・中央揃え） ===== */
  #gnav.l-header__gnav{
    width: 100%;
  }

  #gnav > ul.c-gnav{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100%;
    margin: 0;
    padding: 0;
  }

  #gnav > ul.c-gnav > li{
		position: relative; width: 100%;
		margin: 0 0 15px 0;
		text-align: center;
	}

  #gnav > ul.c-gnav > li > a{
    display: inline-block;
    padding: 12px 10px;
    line-height: 1.4;
  }

  /* サブメニュー開閉ボタン（文字位置を崩さない） */
  #gnav .c-submenuToggleBtn{
    position: absolute !important;
    right: -26px;
    top: 50%;
    transform: translateY(-50%);
  }

  /* ===== サブメニュー（fixedで右に出す） ===== */
  #gnav > ul.c-gnav > li.menu-item-has-children > ul.sub-menu{
    position: fixed;
    top: var(--subTop);
    left: calc(var(--sideHeaderW) + var(--subGap));
    width: var(--subMenuW);

    margin: 0;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    box-shadow: 0 6px 18px rgba(0,0,0,.08);
    z-index: 9999;

    display: none;
    text-align: left;
  }

  /* PC：hover / focus で表示 */
  #gnav > ul.c-gnav > li.menu-item-has-children:hover > ul.sub-menu,
  #gnav > ul.c-gnav > li.menu-item-has-children:focus-within > ul.sub-menu{
    display: block;
  }

  /* サブメニュー項目 */
  #gnav > ul.c-gnav > li.menu-item-has-children > ul.sub-menu > li{
    margin: 0 0 10px 0;
  }

  #gnav > ul.c-gnav > li.menu-item-has-children > ul.sub-menu > li > a{
    display: block;
    padding: 8px 6px;
  }

  /* ===== 予約・電話（head_box） ===== */
  .w-header.pc_{
    text-align: center;
  }

  .w-header.pc_ .w-header__inner{
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
  }

  /* ===== メインコンテンツを右へ ===== */
  #body_wrap{
    padding-left: var(--sideHeaderW);
  }

  /* ===== 追従ヘッダー無効（干渉防止） ===== */
  .l-fixHeader,
  .l-fixBar{
    display: none !important;
  }
}

.wp-block-group.l_menu_box.has-swl-main-background-color.has-background {
    padding-top: 5px;
    padding-bottom: 10px;
}

.reversebox {
 display: flex;
}

@media screen and (max-width: 781px) {
.reversebox {
  flex-direction: column;
 }
}

@media screen and (max-width: 781px) {
.order1 {
  order: 1;
}
.order2 {
  order: 2;
}
}
.-series-right .w-header {
        margin-left: 0px;
    }
@media (min-width: 960px){

  /* サブメニューが長い時は中でスクロール */
  #gnav > ul.c-gnav > li.menu-item-has-children > ul.sub-menu{
    max-height: calc(100vh - var(--subTop) - 24px); /* 画面下に余白を残す */
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
  }

  /* スクロールバーが出ても幅がガタつかない（対応ブラウザのみ） */
  #gnav > ul.c-gnav > li.menu-item-has-children > ul.sub-menu{
    scrollbar-gutter: stable;
  }
}
@media (min-width: 960px){

  /* サブメニュー表示条件を拡張 */
  #gnav > ul.c-gnav > li.menu-item-has-children:hover > ul.sub-menu,
  #gnav > ul.c-gnav > li.menu-item-has-children:focus-within > ul.sub-menu,
  #gnav > ul.c-gnav > li.menu-item-has-children > ul.sub-menu:hover{
    display: block;
  }

}
@media (min-width: 960px){

  /* ----------------------------------
     親メニューとサブメニューをつなぐ
     「透明ホバーエリア」
  ---------------------------------- */

  #gnav > ul.c-gnav > li.menu-item-has-children::after{
    content: "";
    position: fixed;
    top: var(--subTop);
    left: var(--sideHeaderW);
    width: var(--subGap);
    height: calc(100vh - var(--subTop));
    background: transparent;
    pointer-events: auto;
    z-index: 9998;
  }

  /* 親 or 橋 or サブメニューに hover があれば表示 */
  #gnav > ul.c-gnav > li.menu-item-has-children:hover > ul.sub-menu,
  #gnav > ul.c-gnav > li.menu-item-has-children::after:hover + ul.sub-menu,
  #gnav > ul.c-gnav > li.menu-item-has-children > ul.sub-menu:hover{
    display: block;
  }

}
