/* ep-header.js: 共通ヘッダー(サイトマイスターの .site-header と同じ構造)。色・書体はテンプレートの元のヘッダーから */
.ep-header{--ep-hd-bg:#ffffff;--ep-hd-ink:#222222;position:sticky!important;top:0!important;left:0!important;right:0!important;z-index:9000!important;background:var(--ep-hd-bg)!important;color:var(--ep-hd-ink)!important;border-bottom:1px solid rgba(127,127,127,.18)!important;font-family:"Noto Serif JP", "Times New Roman", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HG明朝E, "MS PMincho", "MS Mincho", serif!important;margin:0!important;padding:0!important;width:auto!important;height:auto!important;transform:none!important}
.ep-header.scrolled{box-shadow:0 2px 12px rgba(0,0,0,.1)!important}
.ep-header *{box-sizing:border-box!important}
.ep-header .container{max-width:1280px!important;width:auto!important;margin:0 auto!important;padding:12px 28px!important;display:flex!important;align-items:center!important;gap:28px!important;min-height:72px!important;height:auto!important;float:none!important}
.ep-header .site-logo{display:flex!important;align-items:center!important;gap:12px!important;flex:0 1 auto!important;min-width:0!important;color:inherit!important;text-decoration:none!important;margin:0!important;padding:0!important}
.ep-header .site-logo-img{height:44px!important;width:auto!important;max-width:150px!important;object-fit:contain!important;display:block!important;margin:0!important;position:static!important;opacity:1!important;visibility:visible!important}
.ep-header .site-logo-name{font-family:"Noto Serif JP", "Times New Roman", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HG明朝E, "MS PMincho", "MS Mincho", serif!important;font-size:20px!important;font-weight:700!important;line-height:1.3!important;color:inherit!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;min-width:0!important}
.ep-header .site-nav{margin-left:auto!important;flex:0 0 auto!important;display:block!important;position:static!important;background:none!important;width:auto!important;height:auto!important;padding:0!important;transform:none!important;opacity:1!important;visibility:visible!important}
/* PC は 1 段(列数 = 項目数を ep-header.js が --ep-nav-cols に入れる)。入りきらなければ ep-header-rt.js がハンバーガーに */
.ep-header .site-nav ul{display:grid!important;grid-template-columns:repeat(var(--ep-nav-cols,6),auto)!important;justify-content:end!important;gap:6px 26px!important;list-style:none!important;margin:0!important;padding:0!important}
.ep-header .site-nav li{list-style:none!important;margin:0!important;padding:0!important;border:0!important;background:none!important;width:auto!important;float:none!important}
.ep-header .site-nav li::before,.ep-header .site-nav li::after{content:none!important}
.ep-header .site-nav a{display:block!important;font-size:15px!important;font-weight:500!important;line-height:1.5!important;color:inherit!important;text-decoration:none!important;white-space:nowrap!important;padding:4px 0!important;border-bottom:2px solid transparent!important;background:none!important}
.ep-header .site-nav a:hover,.ep-header .site-nav a[aria-current="page"]{border-bottom-color:currentColor!important;opacity:1!important}
.ep-header .hamburger{display:none!important;flex-direction:column!important;justify-content:center!important;gap:5px!important;width:44px!important;height:44px!important;margin-left:auto!important;padding:10px!important;background:none!important;border:0!important;cursor:pointer!important;color:inherit!important}
.ep-header .hamburger span{display:block!important;width:24px!important;height:2px!important;background:currentColor!important;border-radius:2px!important;transition:transform .2s,opacity .2s!important}
.ep-header .hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)!important}
.ep-header .hamburger[aria-expanded="true"] span:nth-child(2){opacity:0!important}
.ep-header .hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important}
/* ナビが 1 段に入らない幅・スマホ: ハンバーガー */
.ep-header.nav-collapsed .hamburger{display:flex!important}
.ep-header.nav-collapsed .site-nav{display:none!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;background:var(--ep-hd-bg)!important;padding:8px 24px 16px!important;box-shadow:0 8px 16px rgba(0,0,0,.12)!important;max-height:calc(100vh - 72px)!important;overflow-y:auto!important}
.ep-header.nav-collapsed .site-nav.open{display:block!important}
.ep-header.nav-collapsed .site-nav ul{grid-template-columns:1fr!important;gap:0!important}
.ep-header.nav-collapsed .site-nav a{padding:14px 0!important;border-bottom:1px solid rgba(127,127,127,.25)!important;white-space:normal!important}
/* フッターのメニューは 5 項目以上なら 2 列(2026-10-09 ユーザー指示「ヘッダーの 2 列表示はやめ、フッターを 5 つ以上なら 2 列に」)。
   ep-header-rt.js が ul に .ep-ft-2col と行数 --ep-ft-rows を付ける。上から下へ並べ、寄せ(--ep-ft-justify)は元の並びのまま。テンプレートの区切り線「|」は消す */
ul.ep-ft-2col{display:grid!important;grid-template-columns:repeat(2,max-content)!important;grid-template-rows:repeat(var(--ep-ft-rows,3),auto)!important;grid-auto-flow:column!important;justify-content:var(--ep-ft-justify,center)!important;column-gap:64px!important;row-gap:10px!important;width:auto!important;height:auto!important;text-align:left!important;flex-wrap:nowrap!important}
ul.ep-ft-2col>li{display:block!important;float:none!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;border-left:0!important;border-right:0!important}
ul.ep-ft-2col>li::before,ul.ep-ft-2col>li::after{content:none!important;display:none!important}
ul.ep-ft-2col>li.ep-ft-col2-top{border-top:0!important}
@media (max-width:767px){ul.ep-ft-2col{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:16px!important;row-gap:0!important;text-align:center!important}}
@media (max-width:900px){.ep-header .container{padding:8px 16px!important;min-height:60px!important;gap:12px!important}.ep-header .site-logo-img{height:36px!important;max-width:110px!important}.ep-header .site-logo-name{font-size:16px!important}
  .ep-header .hamburger{display:flex!important}.ep-header .site-nav{display:none!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;background:var(--ep-hd-bg)!important;padding:8px 24px 16px!important;box-shadow:0 8px 16px rgba(0,0,0,.12)!important;max-height:calc(100vh - 60px)!important;overflow-y:auto!important}
  .ep-header .site-nav.open{display:block!important}.ep-header .site-nav ul{grid-template-columns:1fr!important;gap:0!important}.ep-header .site-nav a{padding:14px 0!important;border-bottom:1px solid rgba(127,127,127,.25)!important;white-space:normal!important}}
