/* 職業データベース Design 0.5.0 | single-job page only */
body.sdb-theme-page .sdb-job-v4 { padding-bottom: 15px; }
body.sdb-theme-page .sdb-job-v4 .sdb-hero { min-height: 292px; }
body.sdb-theme-page .sdb-job-v4 .sdb-hero-content { padding-bottom: 61px; }
body.sdb-theme-page .sdb-job-v4 .sdb-stats { margin-top: -39px; margin-bottom: 22px; }
body.sdb-theme-page .sdb-job-v4 .sdb-stat { align-items:flex-start; min-height:118px; }
body.sdb-theme-page .sdb-job-v4 .sdb-stat>div { min-width:0; }
body.sdb-theme-page .sdb-job-v4 .sdb-stat strong { font-size:19px; }
body.sdb-theme-page .sdb-job-v4 .sdb-stat .sdb-stat-multiline { font-size:14px; line-height:1.55; font-weight:750; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
body.sdb-theme-page .sdb-job-v4 .sdb-stat-link-title a { display:inline-flex; gap:5px; align-items:center; color:var(--sdb-blue); }
body.sdb-theme-page .sdb-job-v4 .sdb-stat-link-title svg { width:17px; height:17px; }
body.sdb-theme-page .sdb-job-v4 .sdb-tabs { margin-bottom:20px; }
body.sdb-theme-page .sdb-job-v4 .sdb-tabs a { font-size:13px; }
body.sdb-theme-page .sdb-job-v4 .sdb-content-grid { grid-template-columns:minmax(0,1fr) 276px; gap:20px; align-items:start; }
body.sdb-theme-page .sdb-job-v4 .sdb-main-col { display:flex; flex-direction:column; gap:16px; }
body.sdb-theme-page .sdb-job-v4 .sdb-main-col>.sdb-panel,
body.sdb-theme-page .sdb-job-v4 .sdb-main-col .sdb-detail-pair .sdb-panel,
body.sdb-theme-page .sdb-job-v4 .sdb-main-col .sdb-feature-grid .sdb-panel { margin:0; }
body.sdb-theme-page .sdb-job-v4 .sdb-feature-grid,
body.sdb-theme-page .sdb-job-v4 .sdb-detail-pair { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:16px; }
body.sdb-theme-page .sdb-job-v4 .sdb-panel { padding:23px 24px; border-color:#dfeaf4; box-shadow:0 3px 14px rgba(20,71,117,.035); }
body.sdb-theme-page .sdb-job-v4 .sdb-panel h2 { font-size:19px; margin-bottom:12px; }
body.sdb-theme-page .sdb-job-v4 .sdb-panel .sdb-rich,
body.sdb-theme-page .sdb-job-v4 .sdb-salary-panel p,
body.sdb-theme-page .sdb-job-v4 .sdb-check-list li { font-size:14px; line-height:1.85; }
body.sdb-theme-page .sdb-job-v4 .sdb-check-list { margin:0!important; padding:0!important; }
body.sdb-theme-page .sdb-job-v4 .sdb-check-list li { padding:10px 0; margin:0; }
body.sdb-theme-page .sdb-job-v4 .sdb-check-list li svg { color:#0870cf; }
body.sdb-theme-page .sdb-job-v4 .sdb-timeline { border-left:0; margin:0 0 12px !important; padding:0 !important; counter-reset:sdbv4steps; display:grid; gap:10px; }
body.sdb-theme-page .sdb-job-v4 .sdb-timeline li { display:flex; position:relative; align-items:flex-start; gap:11px; padding:11px 14px; background:#f3f8ff; border:1px solid #e0edfa; border-radius:10px; counter-increment:sdbv4steps; }
body.sdb-theme-page .sdb-job-v4 .sdb-timeline li::before { position:static; display:flex; align-items:center; justify-content:center; content:counter(sdbv4steps); width:28px; height:28px; box-sizing:border-box; flex:0 0 28px; border:0; border-radius:8px; color:#fff; background:#0d6aca; font-weight:800; font-size:12px; line-height:1; }
body.sdb-theme-page .sdb-job-v4 .sdb-timeline time { padding-top:2px; min-width:46px; line-height:1.7; }
body.sdb-theme-page .sdb-job-v4 .sdb-timeline .sdb-timeline-content { padding-top:2px; flex:1; min-width:0; color:#2b4660; font-size:14px; line-height:1.8; overflow-wrap:anywhere; }
body.sdb-theme-page .sdb-job-v4 .sdb-timeline .sdb-timeline-step { display:none; }
body.sdb-theme-page .sdb-job-v4 .sdb-note { margin:10px 0 0!important; font-size:12px!important; line-height:1.75!important; color:#607790!important; }
body.sdb-theme-page .sdb-job-v4 .sdb-career-track { counter-reset:sdbv4career; display:grid; gap:8px; list-style:none; padding:0!important; margin:0!important; }
body.sdb-theme-page .sdb-job-v4 .sdb-career-track li { position:relative; padding:10px 13px 10px 43px; margin:0; border-radius:9px; background:#f4f8fd; color:#294660; line-height:1.7; font-size:14px; counter-increment:sdbv4career; }
body.sdb-theme-page .sdb-job-v4 .sdb-career-track li::before { content:counter(sdbv4career); display:grid; place-items:center; position:absolute; left:10px; top:10px; width:23px; height:23px; background:#ddebfa; color:#0a63c0; font-size:12px; font-weight:800; border-radius:50%; }
body.sdb-theme-page .sdb-job-v4 .sdb-salary-panel { border-color:#d2e5fa; background:linear-gradient(120deg,#fff,#f7fbff); }
body.sdb-theme-page .sdb-job-v4 .sdb-salary-feature { margin:2px 0 12px; flex-wrap:wrap; }
body.sdb-theme-page .sdb-job-v4 .sdb-salary-feature span { font-size:14px; color:#4c6682; }
body.sdb-theme-page .sdb-job-v4 .sdb-salary-feature strong { font-size:32px; font-weight:900; }
body.sdb-theme-page .sdb-job-v4 .sdb-salary-basis { margin:0 0 11px; color:#425d78; line-height:1.8; }
body.sdb-theme-page .sdb-job-v4 .sdb-salary-panel .sdb-note a { display:inline-flex; align-items:center; gap:4px; overflow-wrap:anywhere; }
body.sdb-theme-page .sdb-job-v4 .sdb-salary-panel .sdb-note a svg { width:14px; height:14px; }
body.sdb-theme-page .sdb-job-v4 .sdb-sources .sdb-source-date { font-size:14px; margin:0 0 10px; }
body.sdb-theme-page .sdb-job-v4 .sdb-source-list { list-style:none; padding:0!important; margin:0!important; }
body.sdb-theme-page .sdb-job-v4 .sdb-source-list li { padding:9px 0; border-top:1px solid #e7eff7; font-size:13px; color:#435b75; overflow-wrap:anywhere; }
body.sdb-theme-page .sdb-job-v4 .sdb-source-list a { display:inline-flex; gap:5px; align-items:center; font-weight:750; }
body.sdb-theme-page .sdb-job-v4 .sdb-source-list a svg { width:14px; height:14px; }
body.sdb-theme-page .sdb-job-v4 .sdb-aside { display:flex; flex-direction:column; gap:16px; }
body.sdb-theme-page .sdb-job-v4 .sdb-aside>* { margin:0!important; }
body.sdb-theme-page .sdb-job-v4 .sdb-aside .sdb-panel { padding:18px 17px; }
body.sdb-theme-page .sdb-job-v4 .sdb-aside .sdb-panel h2 { font-size:16px; }
body.sdb-theme-page .sdb-job-v4 .sdb-related-category>p { margin:0; color:#344e69; font-size:14px; font-weight:750; }
body.sdb-theme-page .sdb-job-v4 .sdb-aside .sdb-side-callout { padding:21px 18px; }
@media (max-width:1050px) {
 body.sdb-theme-page .sdb-job-v4 .sdb-content-grid { grid-template-columns:minmax(0,1fr) 245px; }
 body.sdb-theme-page .sdb-job-v4 .sdb-panel { padding:19px; }
}
@media (max-width:850px) {
 body.sdb-theme-page .sdb-job-v4 .sdb-content-grid { grid-template-columns:minmax(0,1fr); }
 body.sdb-theme-page .sdb-job-v4 .sdb-aside { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
 body.sdb-theme-page .sdb-job-v4 .sdb-aside .sdb-side-callout { grid-column:1 / -1; }
}
@media (max-width:600px) {
 body.sdb-theme-page .sdb-job-v4 .sdb-hero { min-height:240px; }
 body.sdb-theme-page .sdb-job-v4 .sdb-hero-content { padding-bottom:50px; }
 body.sdb-theme-page .sdb-job-v4 .sdb-stats { margin:-29px 5px 16px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 body.sdb-theme-page .sdb-job-v4 .sdb-stat { display:block; min-height:132px; padding:12px 10px; }
 body.sdb-theme-page .sdb-job-v4 .sdb-stat-icon { margin-bottom:6px; }
 body.sdb-theme-page .sdb-job-v4 .sdb-stat strong { font-size:16px; }
 body.sdb-theme-page .sdb-job-v4 .sdb-stat .sdb-stat-multiline { font-size:12px; }
 body.sdb-theme-page .sdb-job-v4 .sdb-tabs a { font-size:12px; min-width:94px; padding:11px 12px; }
 body.sdb-theme-page .sdb-job-v4 .sdb-feature-grid,body.sdb-theme-page .sdb-job-v4 .sdb-detail-pair,body.sdb-theme-page .sdb-job-v4 .sdb-aside { grid-template-columns:1fr; }
 body.sdb-theme-page .sdb-job-v4 .sdb-aside .sdb-side-callout { grid-column:auto; }
 body.sdb-theme-page .sdb-job-v4 .sdb-panel h2 { font-size:18px; }
 body.sdb-theme-page .sdb-job-v4 .sdb-timeline li { padding:10px; }
}


/* ============================================================
   v0.5: Deepened blue accents and prominent salary highlight
   ============================================================ */
body.sdb-theme-page .sdb-job-v4 .sdb-hero {
  border-color:#b7d3f0;
  background:linear-gradient(110deg,#fff 0%,#eaf4ff 38%,#c8e2fc 69%,#69a9e8 100%);
}
body.sdb-theme-page .sdb-job-v4 .sdb-stats { gap:12px; }
body.sdb-theme-page .sdb-job-v4 .sdb-stat {
  border-color:#c9dced; box-shadow:0 7px 20px rgba(8,52,108,.09);
}
body.sdb-theme-page .sdb-job-v4 .sdb-stat-salary {
  background:linear-gradient(130deg,#0954b2,#0a73d6);
  border-color:#095ab9; box-shadow:0 9px 24px rgba(4,87,183,.22);
}
body.sdb-theme-page .sdb-job-v4 .sdb-stat-salary .sdb-stat-icon { background:rgba(255,255,255,.19); color:#fff; }
body.sdb-theme-page .sdb-job-v4 .sdb-stat-salary .sdb-kicker,
body.sdb-theme-page .sdb-job-v4 .sdb-stat-salary strong,
body.sdb-theme-page .sdb-job-v4 .sdb-stat-salary small { color:#fff; }
body.sdb-theme-page .sdb-job-v4 .sdb-stat-salary strong { font-size:clamp(25px,2.4vw,33px); font-weight:900; letter-spacing:-.045em; white-space:nowrap; }
body.sdb-theme-page .sdb-job-v4 .sdb-stat-salary small { opacity:.9; }
body.sdb-theme-page .sdb-job-v4 .sdb-stat-qualifications strong a { color:#075dbb; display:inline-flex; align-items:center; flex-wrap:wrap; gap:4px; font-size:19px; }
body.sdb-theme-page .sdb-job-v4 .sdb-stat-qualifications strong svg { width:15px; height:15px; }
body.sdb-theme-page .sdb-job-v4 .sdb-panel { border-color:#cbdceb; box-shadow:0 4px 14px rgba(6,52,112,.05); }
body.sdb-theme-page .sdb-job-v4 .sdb-panel h2 { color:#10365f; }
body.sdb-theme-page .sdb-job-v4 .sdb-panel .sdb-heading-icon { background:#ddebfc; color:#065dbc; }
body.sdb-theme-page .sdb-job-v4 .sdb-timeline li { background:#edf5ff; border-color:#c8dff7; }
body.sdb-theme-page .sdb-job-v4 .sdb-salary-panel { background:linear-gradient(115deg,#f9fcff,#dfedff); border:1px solid #9ec4f5; border-left:5px solid #0764cc; padding:27px 30px; }
body.sdb-theme-page .sdb-job-v4 .sdb-salary-feature { align-items:center; gap:16px; margin:5px 0 20px; }
body.sdb-theme-page .sdb-job-v4 .sdb-salary-feature span { font-size:15px; font-weight:800; color:#164771; }
body.sdb-theme-page .sdb-job-v4 .sdb-salary-feature strong { font-size:clamp(42px,4.7vw,60px); line-height:1.16; letter-spacing:-.045em; color:#0059c4; font-weight:900; text-shadow:0 2px 0 rgba(255,255,255,.7); }
/* Individual qualifications and labels */
body.sdb-theme-page .sdb-job-v4 .sdb-qualification-panel { padding:26px 29px; border-top:4px solid #0764cc; }
body.sdb-theme-page .sdb-job-v4 .sdb-qualification-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
body.sdb-theme-page .sdb-job-v4 .sdb-qualification-heading h2 { margin-bottom:7px; }
body.sdb-theme-page .sdb-job-v4 .sdb-qual-intro { margin:0 0 15px; font-size:14px; color:#315778; line-height:1.7; }
body.sdb-theme-page .sdb-job-v4 .sdb-qual-overall { display:inline-flex; align-items:center; flex:none; border-radius:8px; padding:7px 13px; font-size:13px; font-weight:850; background:#e2efff; color:#0b55a4; border:1px solid #bbd7f6; }
body.sdb-theme-page .sdb-job-v4 .sdb-qual-overall.sdb-qual-status-optional { background:#e4f4f6; color:#08717e; border-color:#a9d9df; }
body.sdb-theme-page .sdb-job-v4 .sdb-qual-overall.sdb-qual-status-conditional { background:#fff3dd; color:#885713; border-color:#f1d6a9; }
body.sdb-theme-page .sdb-job-v4 .sdb-qual-overall.sdb-qual-status-unknown { background:#edf1f6; color:#415a75; border-color:#d5deea; }
body.sdb-theme-page .sdb-job-v4 .sdb-qual-caution { margin:0 0 17px; font-size:13px; color:#52677c; }
body.sdb-theme-page .sdb-job-v4 .sdb-qualification-list { list-style:none; margin:0 0 16px !important; padding:0 !important; display:grid; gap:9px; }
body.sdb-theme-page .sdb-job-v4 .sdb-qualification-list li { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:14px 15px; background:#f3f8fe; border:1px solid #d0e3f6; border-radius:10px; }
body.sdb-theme-page .sdb-job-v4 .sdb-qual-status { border-radius:6px; padding:4px 9px; font-size:12px; font-weight:850; color:#fff; background:#095dbb; white-space:nowrap; }
body.sdb-theme-page .sdb-job-v4 .sdb-qual-status-optional { background:#117f87; }
body.sdb-theme-page .sdb-job-v4 .sdb-qual-status-conditional { background:#a66a13; }
body.sdb-theme-page .sdb-job-v4 .sdb-qual-name { font-size:15px; font-weight:800; color:#173b63; flex:1; min-width:150px; }
body.sdb-theme-page .sdb-job-v4 .sdb-qual-deep-link { font-weight:800; font-size:13px; white-space:nowrap; }
body.sdb-theme-page .sdb-job-v4 .sdb-qual-deep-link svg { width:15px; height:15px; }
body.sdb-theme-page .sdb-job-v4 .sdb-qual-pending { margin:0 0 15px; padding:13px 15px; background:#f3f7fb; border-radius:8px; font-size:13px; color:#40566e; }
body.sdb-theme-page .sdb-job-v4 .sdb-qualification-cta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; padding:17px 19px; border-radius:11px; background:linear-gradient(120deg,#d9eafe,#c3dfff); border:1px solid #a6cbf4; }
body.sdb-theme-page .sdb-job-v4 .sdb-qualification-cta>div { display:grid; gap:4px; }
body.sdb-theme-page .sdb-job-v4 .sdb-qualification-cta strong { font-size:15px; color:#113b65; }
body.sdb-theme-page .sdb-job-v4 .sdb-qualification-cta span { font-size:12px; color:#335876; }
body.sdb-theme-page .sdb-job-v4 .sdb-qualification-cta>a { display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:8px; background:#075fbe; color:#fff; padding:12px 16px; font-size:13px; font-weight:800; box-shadow:0 3px 9px rgba(5,89,185,.13); }
body.sdb-theme-page .sdb-job-v4 .sdb-qualification-cta>a:hover { background:#034a98; color:#fff; }
body.sdb-theme-page .sdb-job-v4 .sdb-qualification-cta svg { width:15px; height:15px; }
body.sdb-theme-page .sdb-job-v4 .sdb-side-external { display:flex; margin-top:10px; padding-top:10px; border-top:1px solid #dce7f3; }
@media(max-width:600px) {
 body.sdb-theme-page .sdb-job-v4 .sdb-stat-salary strong { font-size:25px; }
 body.sdb-theme-page .sdb-job-v4 .sdb-stat-qualifications strong a { font-size:15px; }
 body.sdb-theme-page .sdb-job-v4 .sdb-salary-panel { padding:20px 17px; }
 body.sdb-theme-page .sdb-job-v4 .sdb-salary-feature strong { font-size:43px; }
 body.sdb-theme-page .sdb-job-v4 .sdb-qualification-panel { padding:20px 16px; }
 body.sdb-theme-page .sdb-job-v4 .sdb-qualification-cta>a { width:100%; }
}
