@charset "Shift_JIS";

/* デネブ対応 フローティングローカルナビ ここから-------------------------------------------*/
html {
  scrollbar-gutter: stable;/* 常にスクロールバーの幅を確保 */
}
#local-nav-section {
  height: 0; /* 最初は高さ0に */
  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 {
  height: 0; /* 最初は高さ0に */
}
#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で惰性スクロール */
}

.local-nav li {
  font-size: 14px;
}
.local-nav li:not(:last-child) {
  margin-right: 20px;
}
.local-nav li a:hover {
  opacity: 0.8;
}
body .local-nav li a {
  color: #333;
}
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: 4px;
  color: #f27b39;
}
/* アンカー飛び先の位置調整 ------ */
/* .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));
}
/* デネブ対応 フローティングローカルナビ ここまで-------------------------------------------*/


/* デネブ対応 フローティングローカルナビ用フォント */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 100;
  src: url(/include_html/css/common/fonts/noto-fonts/NotoSansJP-Thin.otf) format("opentype"), url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-Thin.woff) format("woff"), url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-Thin.ttf) format("truetype"), url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-Thin.eot) format("embedded-opentype");
  ascent-override: 100%;
  descent-override: 30%;
  line-gap-override: 100%;
  advance-override: 0;
  font-display: swap;
}
/* @font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 200;
  src: url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-Light.woff2) format("woff2"), url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-Light.woff) format("woff"), url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-Light.ttf) format("truetype"), url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-Light.eot) format("embedded-opentype");
  ascent-override: 100%;
  descent-override: 30%;
  line-gap-override: 100%;
  advance-override: 0;
  font-display: swap;
} */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 300;
  src: url(/include_html/css/common/fonts/noto-fonts/NotoSansJP-Light.otf) format("opentype"), url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-DemiLight.woff) format("woff"), url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-DemiLight.ttf) format("truetype"), url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-DemiLight.eot) format("embedded-opentype");
  ascent-override: 100%;
  descent-override: 30%;
  line-gap-override: 100%;
  advance-override: 0;
  font-display: swap;
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: url(/include_html/css/common/fonts/noto-fonts/NotoSansJP-Regular.otf) format("opentype"), url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-Regular.woff) format("woff"), url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-Regular.ttf) format("truetype"), url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-Regular.eot) format("embedded-opentype");
  ascent-override: 100%;
  descent-override: 30%;
  line-gap-override: 100%;
  advance-override: 0;
  font-display: swap;
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  src: url(/include_html/css/common/fonts/noto-fonts/NotoSansJP-Medium.otf) format("opentype"), url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-Medium.woff) format("woff"), url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-Medium.ttf) format("truetype"), url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-Medium.eot) format("embedded-opentype");
  ascent-override: 100%;
  descent-override: 30%;
  line-gap-override: 100%;
  advance-override: 0;
  font-display: swap;
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  src: url(/include_html/css/common/fonts/noto-fonts/NotoSansJP-Bold.otf) format("opentype"), url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-Bold.woff) format("woff"), url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-Bold.ttf) format("truetype"), url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-Bold.eot) format("embedded-opentype");
  ascent-override: 100%;
  descent-override: 30%;
  line-gap-override: 100%;
  advance-override: 0;
  font-display: swap;
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 900;
  src: url(/include_html/css/common/fonts/noto-fonts/NotoSansJP-Black.otf) format("opentype"), url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-Black.woff) format("woff"), url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-Black.ttf) format("truetype"), url(/include_html/css/common/fonts/noto-fonts/NotoSansCJKjp-Black.eot) format("embedded-opentype");
  ascent-override: 100%;
  descent-override: 30%;
  line-gap-override: 100%;
  advance-override: 0;
  font-display: swap;
}