@charset "Shift_JIS";

/* デネブ対応 フローティングローカルナビ ここから-------------------------------------------*/
html {
  scrollbar-gutter: stable;/* 常にスクロールバーの幅を確保 */
}
#local-nav-section {
   /* 最初は高さ0に */
  /* height: 0; */
  height: auto;
  font-family: "Noto Sans JP", "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, Meiryo, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 400;
}
#local-nav-section .local-nav-placeholder {
   /* 最初は高さ0に */
  /* height: 0; */
  display: block;
}


#local-nav-section .local-nav-wrapper {
  position: relative;
  margin-left: 0;
  margin-right: 0;
  /* コンテンツ幅がページによって違うのでビューポートの中心を基準に要素の中心を配置する */
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  max-width: 100vw;
  overflow: hidden; /* 横スクロール回避のため または親要素（bodyなど）に overflow-x: hidden; */
  background: rgba(247, 247, 247, 0.85);
  backdrop-filter: blur(8px);
  z-index: 10;
}
#local-nav-section .local-nav-wrapper.local_nav_fixed {
  position: fixed;
  top: 0;
  width: 100%;
  max-width: 100vw;
  margin: 0;
  right: auto;
  z-index: 1000;
}
.switch.switch_sp_tab #local-nav-section .local-nav-wrapper {
  width: 100vw;
}
/* スマホ時にスクロール中は非表示(フローティングスタートしてからの場合のみ) */
#local-nav-section .local-nav-wrapper.local_nav_fixed.nav-hidden {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
/* スクロール停止後に再表示 */
#local-nav-section .local-nav-wrapper {
  transition: opacity 0.2s ease;
}
.local-nav {
  max-width: 1000px;
  display: flex;
  align-items: center;
  margin: 0 auto;
  padding: 8px 15px 8px 22px;
  line-height: 1.6;
}
            .switch.switch_sp_tab .local-nav {
                padding: 8px 10px 8px 15px;
                white-space: nowrap;
                overflow-x: auto;
                overflow-y: hidden; /* 縦スクロールを強制的に消す */
                  -webkit-overflow-scrolling: touch; /* iOSで惰性スクロール */
            }
            .switch.switch_sp_tab .local-nav.local-nav_01 {
              padding: 8px 10px 0 8px;
            }



.local-nav li {
  /* font-size: 14px; */
}
.local-nav li:not(:last-child) {
  margin-right: 20px;
}
        .switch_sp_tab .local-nav li.sns_list:not(:last-child) {
          margin-right: 7px;
        }
.local-nav li a:hover {
  opacity: 0.8;
}
body .local-nav li a {
  color: #1d2088;
  font-weight: 600;
  font-size: 16px;
}
body .local-nav li a:hover {
  text-decoration: none;
}

/* リンクボタン */
body .local_nav_btn a,
body .local_nav_btn a:link ,
body .local_nav_btn a:visited {
  /* color: #FFFFFF; */
}
body .local_nav_btn {
  /* color: #FFFFFF;
  background: #f27b39;
  border-radius: 3px;
  border: 2px solid #f27b39;
  padding: 10px 16px; */
    /* margin-left: auto; */
}
/* .local_nav 内で最初に登場する .local_nav_btn のみに margin-left: auto */
body .local_nav_btn.local_nav_btn_1st {
  margin-left: auto;
}
/* 2つ目以降の .local_nav_btn には margin-left を指定しない */
body .local_nav_btn {
  margin-left: 0;
}
/* body .local_nav_btn, */
/* body .local_nav_btn:hover {
  color: #f27b39;
  background: #fff;
  border: 2px solid #f27b39;
}
body .local_nav_btn:hover a {
  color: #f27b39;
} */

.local-nav li .fa-sharp.fa-solid.fa-chevron-down {
  display: inline-block;
  vertical-align: middle;
  margin-left: 6px;
  color: #1d2088;
  padding-bottom: 3px;
}
/* アンカー飛び先の位置調整 ------ */
/* .anchor_position_adjust {
  padding-top:0;
  margin-top: 0;
} */
/* アンカー飛び先の位置調整 ------ */
.anchor_position_adjust {
  /* PC時は CSS変数の不安定さを避けて固定値を直接指定 */
  padding-top: 62px;
  margin-top: -62px;
}
.switch_sp_tab .anchor_position_adjust {
  /* JSから渡される動的な値（例: 122px）を適用 */
  padding-top: var(--scroll-offset);
  margin-top: calc(0px - var(--scroll-offset));
}
/* デネブ対応 フローティングローカルナビ ここまで-------------------------------------------*/





/* デネブ対応 フローティングローカルナビ用フォント */
/* Noto Sans JP Thin (100) */
@font-face {
  font-family: 'Noto Sans JP';
  font-weight: 100;
  src: url('/include_html/css/common/fonts/noto-sans/NotoSansJP-Thin.woff2') format('woff2'),
       url('/include_html/css/common/fonts/noto-sans/NotoSansJP-Thin.woff') format('woff');
  font-display: swap;
}

/* Noto Sans JP Light (300) */
@font-face {
  font-family: 'Noto Sans JP';
  font-weight: 300;
  src: url('/include_html/css/common/fonts/noto-sans/NotoSansJP-Light.woff2') format('woff2'),
       url('/include_html/css/common/fonts/noto-sans/NotoSansJP-Light.woff') format('woff');
  font-display: swap;
}

/* Noto Sans JP Regular (400) */
@font-face {
  font-family: 'Noto Sans JP';
  font-weight: 400;
  src: url('/include_html/css/common/fonts/noto-sans/NotoSansJP-Regular.woff2') format('woff2'),
       url('/include_html/css/common/fonts/noto-sans/NotoSansJP-Regular.woff') format('woff');
  font-display: swap;
}

/* Noto Sans JP Medium (500) */
@font-face {
  font-family: 'Noto Sans JP';
  font-weight: 500;
  src: url('/include_html/css/common/fonts/noto-sans/NotoSansJP-Medium.woff2') format('woff2'),
       url('/include_html/css/common/fonts/noto-sans/NotoSansJP-Medium.woff') format('woff');
  font-display: swap;
}

/* Noto Sans JP Bold (700) */
@font-face {
  font-family: 'Noto Sans JP';
  font-weight: 700;
  src: url('/include_html/css/common/fonts/noto-sans/NotoSansJP-Bold.woff2') format('woff2'),
       url('/include_html/css/common/fonts/noto-sans/NotoSansJP-Bold.woff') format('woff');
  font-display: swap;
}

/* Noto Sans JP Black (900) */
@font-face {
  font-family: 'Noto Sans JP';
  font-weight: 900;
  src: url('/include_html/css/common/fonts/noto-sans/NotoSansJP-Black.woff2') format('woff2'),
       url('/include_html/css/common/fonts/noto-sans/NotoSansJP-Black.woff') format('woff');
  font-display: swap;
}