/* J-UD header only. Original theme and menu destinations remain intact. */
body.jud-header-layout #header { --jud-blue:#127bbb; --jud-ink:#344854; --jud-height:88px; }
body.jud-header-layout #header_bottom { background:#fff; border-bottom:1px solid #e8edf0; box-sizing:border-box; }
body.jud-header-layout #header_bottom_inner {
  width:calc(100% - 64px); max-width:1400px; height:var(--jud-height); margin:0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:24px; box-sizing:border-box;
}
body.jud-header-layout #header_logo { position:static; flex:0 0 auto; height:auto; transform:none; }
body.jud-header-layout #header_logo .logo,
body.jud-header-layout #header_logo .logo a { height:auto; line-height:1.3; }
body.jud-header-layout #header_logo .logo a { align-items:flex-start; padding:8px 0; color:var(--jud-ink); }
body.jud-header-layout #header_logo .pc_logo_text,
body.jud-header-layout #header_logo .mobile_logo_text { font-size:24px !important; font-weight:700; letter-spacing:.025em; line-height:1.3; white-space:nowrap; }
body.jud-header-layout #header #global_menu { flex:0 1 auto; min-width:0; text-align:left; }
body.jud-header-layout #global_menu > ul { display:flex; align-items:center; flex-wrap:nowrap; gap:2px; margin:0; padding:0; }
body.jud-header-layout #global_menu > ul > li { display:flex; align-items:center; flex:0 0 auto; height:var(--jud-height); margin:0; padding:0; vertical-align:middle; }
body.jud-header-layout #global_menu > ul > li > a {
  display:flex; align-items:center; justify-content:center; height:44px; line-height:1.4; padding:0 10px;
  font-size:14px; font-weight:600; color:var(--jud-ink) !important; white-space:nowrap; border-radius:4px;
  transition:color .18s,background-color .18s; box-sizing:border-box;
}
body.jud-header-layout #global_menu > ul > li > a > i { display:none; }
body.jud-header-layout #global_menu > ul > li > a:hover,
body.jud-header-layout #global_menu > ul > li.current-menu-item > a { color:var(--jud-blue) !important; background:#f0f7fb; }
body.jud-header-layout #global_menu > ul > li.menu-item-home > a { width:36px; padding:0; }
body.jud-header-layout #global_menu > ul > li.menu-item-home > a::before { content:'⌂'; font:26px/1 Arial,sans-serif; }
body.jud-header-layout #global_menu > ul > li.jud-contact-item { margin-left:10px; }
body.jud-header-layout #global_menu > ul > li.jud-contact-item > a { padding:0 20px; color:#fff !important; background:var(--jud-blue); }
body.jud-header-layout #global_menu > ul > li.jud-contact-item > a:hover { background:#08689f; }
body.jud-header-layout #global_menu ul ul { top:100%; left:0; min-width:250px; width:max-content; max-width:340px; padding:8px; border:1px solid #e3ebef; border-radius:0 0 6px 6px; background:#fff; box-shadow:0 12px 24px #233f5214; box-sizing:border-box; }
body.jud-header-layout #global_menu ul ul a { color:var(--jud-ink); background:#fff; border-radius:3px; padding:12px 14px; font-size:14px; }
body.jud-header-layout #global_menu ul ul a:hover,
body.jud-header-layout #global_menu ul ul a:focus-visible { color:var(--jud-blue); background:#f0f7fb; }
body.jud-header-layout #header_sns:empty { display:none; }
body.jud-header-layout #header a:focus-visible,
body.jud-header-layout #header button:focus-visible { outline:3px solid #127bbb; outline-offset:3px; }
body.jud-header-layout #global_menu .jud-sub-toggle { display:none; }
body.jud-header-layout #drawer_menu { display:none !important; }
@media (min-width:1251px) {
  body.jud-header-layout #header #global_menu { display:block; }
  body.jud-header-layout #global_menu li:focus-within > ul,
  body.jud-header-layout #global_menu li.jud-sub-open > ul { display:block !important; }
  body.jud-header-layout #global_menu li.jud-sub-dismissed > ul { display:none !important; }
  body.jud-header-layout #global_menu > ul > li.menu-item-has-children > a::after { content:''; width:5px; height:5px; margin-left:7px; margin-top:-3px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); }
  body.jud-header-layout #menu_button { display:none !important; }
  body.jud-header-layout.header_fix { padding-top:calc(var(--jud-height,88px) + 1px); }
}
@media (max-width:1250px) {
  body.jud-header-layout #header { --jud-height:72px; }
  body.jud-header-layout #header_bottom_inner { width:calc(100% - 48px); gap:16px; }
  body.jud-header-layout #header_logo .pc_logo_text { display:none; }
  body.jud-header-layout #header_logo .mobile_logo_text { display:block; line-height:1.3; }
  body.jud-header-layout #menu_button {
    display:block !important; position:relative; flex:0 0 44px; width:44px; height:44px; bottom:auto; right:auto;
    padding:0; border:1px solid #dae5ec; border-radius:5px; background:#f5f9fc; box-sizing:border-box;
  }
  body.jud-header-layout #menu_button span { width:20px; height:2px; left:11px; background:#344854; transition:transform .18s,opacity .18s; }
  body.jud-header-layout #menu_button span:nth-child(1) { top:14px; }
  body.jud-header-layout #menu_button span:nth-child(2) { top:20px; }
  body.jud-header-layout #menu_button span:nth-child(3) { top:26px; }
  body.jud-header-layout #menu_button[aria-expanded="true"] span:nth-child(1) { top:20px; transform:rotate(45deg); }
  body.jud-header-layout #menu_button[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  body.jud-header-layout #menu_button[aria-expanded="true"] span:nth-child(3) { top:20px; transform:rotate(-45deg); }
  body.jud-header-layout #header #global_menu {
    display:none; position:absolute; top:100%; right:-24px; width:min(560px,calc(100% + 48px)); padding:12px 24px 20px;
    max-height:calc(100vh - 88px); max-height:calc(100dvh - 88px); overflow-y:auto; overscroll-behavior:contain;
    background:#fff; border:1px solid #e3ebef; border-top:0; border-radius:0 0 0 8px; box-shadow:0 14px 28px #233f521a; box-sizing:border-box;
  }
  body.jud-header-layout #header.jud-menu-open #global_menu { display:block; }
  body.jud-header-layout #global_menu > ul { display:block; }
  body.jud-header-layout #global_menu > ul > li { display:block; position:relative; height:auto; border-bottom:1px solid #edf1f4; }
  body.jud-header-layout #global_menu > ul > li > a { min-height:52px; height:auto; justify-content:flex-start; padding:14px 12px; font-size:15px; }
  body.jud-header-layout #global_menu > ul > li.menu-item-has-children > a { padding-right:56px; }
  body.jud-header-layout #global_menu > ul > li.menu-item-home > a { width:auto; gap:10px; }
  body.jud-header-layout #global_menu .jud-home-text { font:600 15px/1.4 Arial,'Hiragino Sans',sans-serif; }
  body.jud-header-layout #global_menu > ul > li.jud-contact-item { margin:16px 0 0; border:0; }
  body.jud-header-layout #global_menu > ul > li.jud-contact-item > a { justify-content:center; min-height:48px; }
  body.jud-header-layout #global_menu ul ul { display:none !important; position:static; min-width:0; max-width:none; width:100%; margin:0; padding:0 0 8px 12px; border:0; box-shadow:none; }
  body.jud-header-layout #global_menu li.jud-sub-open > ul { display:block !important; }
  body.jud-header-layout #global_menu ul ul a { min-height:44px; padding:12px; font-size:14px; line-height:1.5; }
  body.jud-header-layout #global_menu .jud-sub-toggle { display:flex; align-items:center; justify-content:center; position:absolute; top:4px; right:2px; width:44px; height:44px; padding:0; color:#344854; background:transparent; border:0; border-radius:3px; cursor:pointer; }
  body.jud-header-layout #global_menu .jud-sub-toggle::before { content:''; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-top:-4px; }
  body.jud-header-layout #global_menu .jud-sub-toggle[aria-expanded="true"]::before { transform:rotate(225deg); margin-top:4px; }
  body.jud-header-layout.header_fix_mobile { padding-top:73px !important; }
}
@media (max-width:600px) {
  body.jud-header-layout #header { --jud-height:68px; }
  body.jud-header-layout #header_bottom_inner { width:calc(100% - 40px); }
  body.jud-header-layout #header_logo .mobile_logo_text { font-size:22px !important; }
  body.jud-header-layout #header #global_menu { right:-20px; width:calc(100% + 40px); padding-left:20px; padding-right:20px; max-height:calc(100dvh - 76px); border-radius:0 0 8px 8px; }
  body.jud-header-layout.header_fix_mobile { padding-top:69px !important; }
}
@media (min-width:1251px) { body.jud-header-layout .jud-home-text { display:none; } }
@media (prefers-reduced-motion:reduce) { body.jud-header-layout #header * { transition:none !important; animation:none !important; } }
