/*
 * サイト共通のヘッダー（inc/site-header.php）とフッター（inc/site-footer.php）。
 * 全ページで読み込む。LPごとのCSS（hr.css / ad.css / fc.css / style.css など）の
 * 要素セレクタや .hr a{color:inherit} に負けないよう、body から書いて詳細度を上げている。
 */
body .pdx-hd, body .pdx-ft{
  --pdx-ink:#20302e; --pdx-navy:#16294a; --pdx-navy2:#0f1e38; --pdx-gold:#8a6a2e; --pdx-mark:#f2dd9b; --pdx-line:#dcd9cf;
  --pdx-min:'Shippori Mincho','YuMincho','Yu Mincho','Hiragino Mincho ProN',serif;
  --pdx-sans:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN','Noto Sans JP',system-ui,sans-serif;
  font-family:var(--pdx-sans); font-size:16px; line-height:1.8; letter-spacing:0; text-align:left;
}
body .pdx-hd *, body .pdx-hd *::before, body .pdx-hd *::after,
body .pdx-ft *, body .pdx-ft *::before, body .pdx-ft *::after{ box-sizing:border-box; }
body .pdx-hd a, body .pdx-ft a{ text-decoration:none; }
body .pdx-hd img, body .pdx-ft img{ display:block; max-width:none; }
body .pdx-hd p, body .pdx-ft p, body .pdx-ft ul{ margin:0; padding:0; }
body .pdx-in{ max-width:1180px; width:calc(100% - 64px); margin-inline:auto; }

/* ヘッダー */
body .pdx-hd{ position:sticky; top:0; z-index:60; background:#fbfaf7; border-bottom:1px solid var(--pdx-line); color:var(--pdx-ink); }
body .pdx-hd .pdx-in{ display:flex; align-items:center; gap:24px; min-height:72px; }
body .pdx-hd__logo{ margin-right:auto; }
body .pdx-hd__logo img{ height:34px; width:auto; }
body .pdx-hd__n{ display:flex; align-items:center; gap:clamp(14px,2vw,28px); }
body .pdx-hd__n a{ position:relative; padding:6px 0; font-size:14px; font-weight:700; color:var(--pdx-ink); }
body .pdx-hd__n a:hover{ color:var(--pdx-gold); }
body .pdx-hd__n a[aria-current]{ color:var(--pdx-navy); }
body .pdx-hd__n a[aria-current]::after{ content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--pdx-gold); }
body .pdx-hd__cta{ display:inline-flex; align-items:center; gap:6px; padding:10px 20px; border-radius:999px; background:var(--pdx-navy); color:#fff; font-size:14px; font-weight:700; white-space:nowrap; transition:background .2s; }
body .pdx-hd__cta:hover{ background:var(--pdx-navy2); color:#fff; }
body .pdx-hd__cta:focus-visible, body .pdx-hd__n a:focus-visible, body .pdx-menu summary:focus-visible{ outline:3px solid var(--pdx-gold); outline-offset:3px; }
body .pdx-menu{ display:none; position:relative; }
body .pdx-menu summary{ list-style:none; cursor:pointer; width:44px; height:44px; display:grid; place-content:center; gap:5px; border:1px solid var(--pdx-line); border-radius:50%; background:#fff; }
body .pdx-menu summary::-webkit-details-marker{ display:none; }
body .pdx-menu summary span{ display:block; width:18px; height:2px; background:var(--pdx-navy); transition:transform .2s,opacity .2s; }
body .pdx-menu[open] summary span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
body .pdx-menu[open] summary span:nth-child(2){ opacity:0; }
body .pdx-menu[open] summary span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
body .pdx-menu__p{ position:absolute; right:0; top:calc(100% + 10px); width:min(280px,calc(100vw - 32px)); display:flex; flex-direction:column; padding:10px; background:#fff; border:1px solid var(--pdx-line); box-shadow:0 24px 50px -24px rgba(15,30,56,.45); }
body .pdx-menu__p a{ padding:12px 14px; font-size:15px; font-weight:700; color:var(--pdx-ink); border-bottom:1px solid var(--pdx-line); }
body .pdx-menu__p a:last-child{ border-bottom:0; }
body .pdx-menu__p .pdx-menu__cta{ margin-top:8px; text-align:center; background:var(--pdx-navy); color:#fff; border-radius:999px; }

/* フッター */
body .pdx-ft{ position:relative; overflow:hidden; background:#0b1426; color:rgba(255,255,255,.78); border-top:1px solid rgba(242,221,155,.35); }
body .pdx-ft a{ color:inherit; }
body .pdx-ft__top{ display:flex; justify-content:space-between; align-items:flex-end; gap:40px; flex-wrap:wrap; padding:84px 0 56px; border-bottom:1px solid rgba(255,255,255,.12); }
body .pdx-ft__brand img{ height:44px; width:auto; }
body .pdx-ft p.pdx-ft__tag{ margin-top:26px; font-family:var(--pdx-min); font-weight:500; font-size:clamp(24px,2.8vw,34px); line-height:1.5; letter-spacing:.05em; color:#fff; }
body .pdx-ft p.pdx-ft__d{ margin-top:14px; font-size:13px; line-height:1.9; color:rgba(255,255,255,.6); }
body .pdx-ft__ask{ display:flex; flex-direction:column; align-items:flex-end; gap:22px; text-align:right; }
body .pdx-ft__ask p{ font-size:17px; line-height:1.8; color:rgba(255,255,255,.75); }
body .pdx-ft__ask a{ display:inline-flex; gap:10px; align-items:center; padding:24px 56px; background:var(--pdx-mark); color:#0b1426; font-size:20px; font-weight:700; border-radius:999px; transition:background .2s,transform .2s; }
body .pdx-ft__ask a:hover{ background:#fff; color:#0b1426; transform:translateY(-2px); }
body .pdx-ft__cols{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:28px; padding:48px 0; }
body .pdx-ft__col{ --c:#5fcbe3; min-width:0; }
body .pdx-ft__col--ad{ --c:#f07a7c; } body .pdx-ft__col--fc{ --c:#5cc29a; } body .pdx-ft__col--ma{ --c:#8fa3f5; } body .pdx-ft__col--pd{ --c:var(--pdx-mark); }
body .pdx-ft p.pdx-ft__h{ margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,.14); font-family:Inter,var(--pdx-sans); font-size:13px; font-weight:700; letter-spacing:.12em; }
body .pdx-ft__h a{ display:flex; align-items:center; gap:10px; color:#fff; }
body .pdx-ft__h a::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--c); }
body .pdx-ft__col ul{ list-style:none; display:grid; gap:4px; }
body .pdx-ft__col li{ margin:0; padding:0; list-style:none; }
body .pdx-ft__col li::before, body .pdx-ft__col li::marker{ content:none; }
body .pdx-ft__col li a{ display:inline-block; padding:4px 0; font-size:13.5px; transition:color .2s,transform .2s; }
body .pdx-ft__col li a:hover{ color:var(--c); transform:translateX(3px); }
body .pdx-ft__bot{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:22px 0 28px; border-top:1px solid rgba(255,255,255,.12); font-size:12px; color:rgba(255,255,255,.5); }
body .pdx-ft__bot a{ border-bottom:1px solid rgba(255,255,255,.3); }
body .pdx-ft__bot a:hover{ color:#fff; }
body .pdx-ft p.pdx-ft__big{ margin:0 0 -0.22em; padding:0 2vw; font-family:var(--pdx-min); font-weight:500; font-size:clamp(48px,10.6vw,168px); line-height:1; letter-spacing:.01em; white-space:nowrap; text-align:center; color:transparent; -webkit-text-stroke:1px rgba(242,221,155,.28); user-select:none; }

@media (max-width:980px){
  body .pdx-hd__n{ display:none; }
  body .pdx-menu{ display:block; }
}
@media (max-width:900px){
  body .pdx-ft__cols{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  body .pdx-ft__ask{ align-items:flex-start; text-align:left; }
}
@media (max-width:640px){
  body .pdx-in{ width:calc(100% - 40px); }
  body .pdx-hd .pdx-in{ gap:12px; min-height:64px; }
  body .pdx-hd__logo img{ height:28px; }
  body .pdx-hd__cta{ padding:9px 16px; font-size:13px; }
}
@media (max-width:520px){ body .pdx-ft__cols{ grid-template-columns:minmax(0,1fr); gap:24px; } body .pdx-ft__top{ padding-top:64px; } }
@media (prefers-reduced-motion:reduce){ body .pdx-hd__cta, body .pdx-ft a, body .pdx-menu summary span{ transition:none; } }

/* ===== サブヘッダー（業界ごとの立場別の入口。ヘッダーと一緒に上に張り付く）2026-11-08 ===== */
body .pdx-sub{ --c:#00A9CE; background:#fff; border-top:1px solid var(--pdx-line); }
body .pdx-sub .pdx-in{ display:flex; align-items:center; gap:28px; min-height:48px; }
body .pdx-sub__name{ display:inline-flex; align-items:center; gap:8px; flex:none; font-family:Inter,var(--pdx-sans); font-size:13px; font-weight:800; letter-spacing:.06em; color:var(--pdx-navy); }
body .pdx-sub__name::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--c); }
body .pdx-sub ul{ display:flex; align-items:center; gap:4px; margin:0; padding:0; list-style:none; overflow-x:auto; scrollbar-width:none; }
body .pdx-sub ul::-webkit-scrollbar{ display:none; }
body .pdx-sub li{ margin:0; flex:none; }
body .pdx-sub li a{ position:relative; display:block; padding:13px 14px; font-size:13.5px; font-weight:700; color:var(--pdx-ink); white-space:nowrap; transition:color .2s; }
body .pdx-sub li a:hover{ color:var(--c); }
body .pdx-sub li a[aria-current]{ color:var(--pdx-navy); }
body .pdx-sub li a[aria-current]::after{ content:""; position:absolute; left:14px; right:14px; bottom:0; height:3px; background:var(--c); }
body .pdx-sub li + li a::before{ content:""; position:absolute; left:0; top:50%; width:1px; height:14px; margin-top:-7px; background:var(--pdx-line); }
@media (max-width:640px){
  body .pdx-sub .pdx-in{ gap:12px; min-height:44px; width:calc(100% - 32px); }
  body .pdx-sub__name{ font-size:12px; }
  body .pdx-sub li a{ padding:12px 10px; font-size:12.5px; }
  body .pdx-sub li a[aria-current]::after{ left:10px; right:10px; }
}
@media (max-width:640px){
  body .pdx-sub .pdx-in{ gap:6px; }
  body .pdx-sub__name{ font-size:11px; letter-spacing:.02em; }
  body .pdx-sub li a{ padding:12px 7px; font-size:12px; }
  body .pdx-sub li a[aria-current]::after{ left:7px; right:7px; }
}
body .pdx-sub__name.is-on{ text-decoration:underline; text-decoration-color:var(--c); text-decoration-thickness:2px; text-underline-offset:6px; }
/* サブヘッダーのブランド名はロゴ画像で大きく（2026-11-08） */
body .pdx-sub .pdx-in{ min-height:56px; }
body .pdx-sub__name:has(img)::before{ display:none; }
body .pdx-sub__name img{ height:30px; width:auto; }
body .pdx-sub__name.is-on{ text-decoration:none; }
@media (max-width:640px){ body .pdx-sub .pdx-in{ min-height:48px; } body .pdx-sub__name img{ height:22px; } }
/* 業界ごとの色（下線・ホバー） */
body .pdx-sub--ad{ --c:#CB1A1D; } body .pdx-sub--fc{ --c:#0E8A5F; } body .pdx-sub--ma{ --c:#3B5BDB; }
@media (max-width:640px){ body .pdx-sub--ma .pdx-sub__name img{ height:17px; } body .pdx-sub--ma li a{ padding:12px 5px; font-size:11.5px; } }

/* ===== ヘッダーのドロップダウン（2026-11-08 人材紹介から）===== */
body .pdx-dd{ position:relative; }
body .pdx-dd__b{ display:inline-flex; align-items:center; gap:5px; padding:6px 0; border:0; background:none; font:inherit; font-size:14px; font-weight:700; color:var(--pdx-ink); cursor:pointer; position:relative; }
body .pdx-dd__b svg{ transition:transform .2s; }
body .pdx-dd__b:hover{ color:var(--pdx-gold); }
body .pdx-dd__b[aria-current]{ color:var(--pdx-navy); }
body .pdx-dd__b[aria-current]::after{ content:""; position:absolute; left:0; right:15px; bottom:-2px; height:2px; background:var(--pdx-gold); }
body .pdx-dd__b:focus-visible{ outline:3px solid var(--pdx-gold); outline-offset:3px; }
body .pdx-dd__p{ position:absolute; left:50%; top:calc(100% + 14px); z-index:70; width:300px; padding:8px; transform:translate(-50%,6px); background:#fff; border:1px solid var(--pdx-line); border-top:3px solid #00A9CE; box-shadow:0 24px 50px -24px rgba(15,30,56,.45); opacity:0; visibility:hidden; transition:opacity .18s,transform .18s,visibility .18s; }
body .pdx-dd__p::before{ content:""; position:absolute; left:0; right:0; top:-18px; height:18px; } /* ボタンから箱へマウスを移す間に閉じないための橋 */
body .pdx-dd:hover .pdx-dd__p, body .pdx-dd.is-open .pdx-dd__p, body .pdx-dd:focus-within .pdx-dd__p{ opacity:1; visibility:visible; transform:translate(-50%,0); }
body .pdx-dd:hover .pdx-dd__b svg, body .pdx-dd.is-open .pdx-dd__b svg{ transform:rotate(180deg); }
body .pdx-dd__p a{ display:flex; flex-direction:column; gap:2px; padding:12px 14px; color:var(--pdx-ink); border-radius:4px; }
body .pdx-dd__p a + a{ border-top:1px solid #eeece6; }
body .pdx-dd__p a:hover, body .pdx-dd__p a:focus-visible{ background:#f2f8fb; }
body .pdx-dd__p b{ font-size:14.5px; font-weight:700; }
body .pdx-dd__p small{ font-size:12px; color:#5e6a68; }
/* スマホの「≡」メニューの中の開閉 */
body .pdx-menu__sub summary{ list-style:none; cursor:pointer; position:relative; padding:12px 14px; font-size:15px; font-weight:700; color:var(--pdx-ink); border-bottom:1px solid var(--pdx-line); }
body .pdx-menu__sub summary::-webkit-details-marker{ display:none; }
body .pdx-menu__sub summary::after{ content:"+"; position:absolute; right:14px; top:50%; transform:translateY(-50%); font-size:18px; font-weight:400; color:var(--pdx-gold); }
body .pdx-menu__sub[open] summary::after{ content:"−"; }
body .pdx-menu__p .pdx-menu__sub a{ padding-left:28px; font-size:14px; background:#faf9f6; }
@media (prefers-reduced-motion:reduce){ body .pdx-dd__p, body .pdx-dd__b svg{ transition:none; } }
/* 「≡」ボタンの丸い形（.pdx-menu summary）が中の開閉にも当たるので打ち消す */
body .pdx-menu .pdx-menu__sub summary{ display:block; width:auto; height:auto; place-content:normal; border:0; border-bottom:1px solid var(--pdx-line); border-radius:0; background:none; }
body .pdx-menu__p .pdx-menu__sub a{ display:block; }
/* ヘッダーの上段（メニューの箱を含む）をサブヘッダーより手前に */
body .pdx-hd > .pdx-in{ position:relative; z-index:3; }
body .pdx-sub{ position:relative; z-index:1; }
/* ドロップダウンの業界色（上の線・ホバーの地） */
body .pdx-dd--ad .pdx-dd__p{ border-top-color:#CB1A1D; } body .pdx-dd--ad .pdx-dd__p a:hover{ background:#fbf1f1; }
body .pdx-dd--fc .pdx-dd__p{ border-top-color:#0E8A5F; } body .pdx-dd--fc .pdx-dd__p a:hover{ background:#eff7f3; }
body .pdx-dd--ma .pdx-dd__p{ border-top-color:#3B5BDB; } body .pdx-dd--ma .pdx-dd__p a:hover{ background:#f0f3fd; }
