/* =============================================================
  職業データベース Design v0.6.0
  Photo-forward editorial layout inspired by accepted reference.
  This stylesheet only affects occupation single pages (.sdb-job-v6).
  Does not change homepage, archive, data, ids or URLs.
============================================================= */
body.sdb-theme-page .sdb-job-v6 {
  --sdb6-navy:#102e53;
  --sdb6-blue:#075dbf;
  --sdb6-strong:#0451ac;
  --sdb6-line:#d3e1ef;
  --sdb6-slate:#45607b;
  --sdb6-quiet:#f0f6fd;
  padding-bottom:26px;
}
/* A full-width photo feature, with a strong readable editorial panel on the left. */
body.sdb-theme-page .sdb-job-v6 .sdb-hero {
  min-height:360px;
  background:linear-gradient(105deg,#fff 1%,#f3f8ff 40%,#b6d8fa 70%,#2681d7 100%);
  border:1px solid #b6d3ef;
  border-radius:17px;
}
body.sdb-theme-page .sdb-job-v6 .sdb-hero::after {opacity:.15;}
body.sdb-theme-page .sdb-job-v6 .sdb-hero-content {padding:46px 46px 89px;max-width:700px; position:relative;z-index:1;}
body.sdb-theme-page .sdb-job-v6 .sdb-hero-photo {
  width:67%; height:100%;right:0;left:auto;object-fit:cover;object-position:center 38%;
}
body.sdb-theme-page .sdb-job-v6 .sdb-hero-with-image::before {
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.99) 26%,rgba(255,255,255,.93) 40%,rgba(255,255,255,.48) 62%,rgba(255,255,255,0) 87%);
}
body.sdb-theme-page .sdb-job-v6 .sdb-hero h1 {font-weight:900;color:#0c2749;font-size:clamp(35px,4.25vw,55px);line-height:1.2;}
body.sdb-theme-page .sdb-job-v6 .sdb-lead {font-size:17px;line-height:1.9;font-weight:550;color:#243e59;max-width:560px;}
body.sdb-theme-page .sdb-job-v6 .sdb-pill {background:#e0efff;border:1px solid #bcd9fa;color:#0758b8!important;}
/* Summary boxes, compact hierarchy, restrained contrasts */
body.sdb-theme-page .sdb-job-v6 .sdb-stats {margin:-54px 20px 25px;gap:13px;align-items:stretch;}
body.sdb-theme-page .sdb-job-v6 .sdb-stat {
  min-height:130px;padding:17px 15px;border:1px solid #c7dbef;
  border-top:3px solid #2277cf;border-radius:12px;box-shadow:0 6px 18px rgba(3,57,115,.09);background:#fff;
}
body.sdb-theme-page .sdb-job-v6 .sdb-stat-icon {background:#e4f0ff;color:#095ebd;border-radius:10px;width:40px;height:40px;}
body.sdb-theme-page .sdb-job-v6 .sdb-kicker {font-size:12px;color:#466380;}
body.sdb-theme-page .sdb-job-v6 .sdb-stat-salary {background:#fff!important;}
body.sdb-theme-page .sdb-job-v6 .sdb-stat-salary .sdb-stat-icon {background:#fff0e9;color:#bd3d1c;}
body.sdb-theme-page .sdb-job-v6 .sdb-stat-salary strong {color:#bd3d1c;font-size:clamp(30px,2.7vw,39px);letter-spacing:-.05em;font-weight:900;line-height:1.16;}
body.sdb-theme-page .sdb-job-v6 .sdb-stat-qualifications .sdb-stat-qual-list {max-height:205px;}
body.sdb-theme-page .sdb-job-v6 .sdb-stat-qualifications .sdb-stat-qual-list li {flex-wrap:wrap;}
/* Stronger grid, card headings and body legibility */
body.sdb-theme-page .sdb-job-v6 .sdb-content-grid {grid-template-columns:minmax(0,1fr) 306px;gap:21px;}
body.sdb-theme-page .sdb-job-v6 .sdb-main-col {gap:16px;}
body.sdb-theme-page .sdb-job-v6 .sdb-panel {border:1px solid var(--sdb6-line);border-radius:13px;background:#fff;box-shadow:0 4px 17px rgba(12,59,105,.045);padding:24px 25px;}
body.sdb-theme-page .sdb-job-v6 .sdb-panel h2 {font-size:20px;font-weight:850;color:#14375e;}
body.sdb-theme-page .sdb-job-v6 .sdb-panel .sdb-heading-icon {background:#e5f1ff;color:#075dbf;}
body.sdb-theme-page .sdb-job-v6 .sdb-overview {border-left:4px solid #1676d5;padding-left:25px;}
body.sdb-theme-page .sdb-job-v6 .sdb-overview .sdb-rich {font-size:16px;line-height:1.88;color:#2b4664;}
body.sdb-theme-page .sdb-job-v6 .sdb-feature-grid,
body.sdb-theme-page .sdb-job-v6 .sdb-detail-pair {gap:16px;}
body.sdb-theme-page .sdb-job-v6 .sdb-check-list li {font-size:15px;padding:11px 0;line-height:1.74;color:#254260;}
body.sdb-theme-page .sdb-job-v6 .sdb-check-list li svg {color:#0964c7;stroke-width:2.4;}
body.sdb-theme-page .sdb-job-v6 .sdb-rich {font-size:15px;line-height:1.9;color:#304d69;}
body.sdb-theme-page .sdb-job-v6 .sdb-detail-list {background:#fff;}
body.sdb-theme-page .sdb-job-v6 .sdb-qualification-panel {border-top:4px solid #176bcc;padding:26px 28px;}
body.sdb-theme-page .sdb-job-v6 .sdb-qualification-list li {background:#f2f7ff;border:1px solid #d6e6f6;}
body.sdb-theme-page .sdb-job-v6 .sdb-qualification-cta {background:#e8f3ff;border-color:#bedbf8;}
/* Main salary: show salary number, not an intrusive colored background */
body.sdb-theme-page .sdb-job-v6 .sdb-salary-panel {background:#fff!important;border-left:5px solid #0d6ccd;}
body.sdb-theme-page .sdb-job-v6 .sdb-salary-feature strong {color:#bd3d1c;font-size:clamp(44px,4.5vw,61px);font-weight:900;}
body.sdb-theme-page .sdb-job-v6 .sdb-salary-panel .sdb-note {color:#58728b!important;}
/* Related sidebar: card list with real thumbnail if registered */
body.sdb-theme-page .sdb-job-v6 .sdb-aside {gap:15px;}
body.sdb-theme-page .sdb-job-v6 .sdb-aside .sdb-panel {padding:18px 17px;}
body.sdb-theme-page .sdb-job-v6 .sdb-aside .sdb-panel h2 {font-size:16px;}
body.sdb-theme-page .sdb-job-v6 .sdb-side-link {
  border:1px solid #e2eaf4;background:#fff;border-radius:9px;padding:9px 8px;margin-top:8px;gap:10px;
}
body.sdb-theme-page .sdb-job-v6 .sdb-side-link:hover {background:#f6faff;border-color:#96c2f1;}
body.sdb-theme-page .sdb-job-v6 .sdb-side-thumb {width:77px;height:60px;background:#e4f0fd;}
body.sdb-theme-page .sdb-job-v6 .sdb-side-link strong {font-size:14px;}
body.sdb-theme-page .sdb-job-v6 .sdb-side-link small {font-size:11px;}
body.sdb-theme-page .sdb-job-v6 .sdb-side-callout {background:linear-gradient(130deg,#e0efff,#f1f8ff);border-color:#b4d4f4;}
body.sdb-theme-page .sdb-job-v6 .sdb-side-callout a {background:#0764c7;color:#fff;}
body.sdb-theme-page .sdb-job-v6 .sdb-side-header {display:flex;justify-content:space-between;gap:8px;align-items:center;}
body.sdb-theme-page .sdb-job-v6 .sdb-side-header h2 {margin:0;}
body.sdb-theme-page .sdb-job-v6 .sdb-side-header-link {font-size:11px;font-weight:800;white-space:nowrap;}
body.sdb-theme-page .sdb-job-v6 .sdb-side-header-link svg {width:12px;height:12px;}
body.sdb-theme-page .sdb-job-v6 .sdb-side-qual-list {list-style:none;padding:0!important;margin:14px 0 0!important;display:grid;gap:8px;}
body.sdb-theme-page .sdb-job-v6 .sdb-side-qual-list li {display:flex;gap:9px;align-items:center;border:1px solid #e0ebf8;border-radius:9px;padding:10px 8px;margin:0;}
body.sdb-theme-page .sdb-job-v6 .sdb-side-qual-icon {flex:0 0 39px;height:43px;border-radius:7px;background:#e9f3ff;color:#0860bf;display:grid;place-items:center;}
body.sdb-theme-page .sdb-job-v6 .sdb-side-qual-body {display:flex;flex-direction:column;gap:5px;min-width:0;flex:1;}
body.sdb-theme-page .sdb-job-v6 .sdb-side-qual-body a,
body.sdb-theme-page .sdb-job-v6 .sdb-side-qual-body strong {font-size:13px;line-height:1.4;font-weight:800;color:#0b4c9c;overflow-wrap:anywhere;}
body.sdb-theme-page .sdb-job-v6 .sdb-side-qual-body .sdb-qual-status {align-self:flex-start;padding:3px 7px;font-size:10px;}
body.sdb-theme-page .sdb-job-v6 .sdb-side-qual-body .sdb-qual-status svg {width:11px;height:11px;}
body.sdb-theme-page .sdb-job-v6 .sdb-side-qual-status {font-weight:800;color:#1b496e;font-size:17px;}
body.sdb-theme-page .sdb-job-v6 .sdb-side-qual-list li>svg {width:13px;height:13px;color:#0d65c5;}
/* Optional data-led comparison only when relevant published professions exist */
body.sdb-theme-page .sdb-job-v6 .sdb-compare-panel {border-top:3px solid #176bcc;}
body.sdb-theme-page .sdb-job-v6 .sdb-compare-heading p {margin:0 0 13px;color:#577089;font-size:13px;}
body.sdb-theme-page .sdb-job-v6 .sdb-compare-scroll {max-width:100%;overflow-x:auto;border:1px solid #d7e4f3;border-radius:9px;}
body.sdb-theme-page .sdb-job-v6 .sdb-compare-table {width:100%;min-width:505px;border-collapse:collapse;font-size:13px;table-layout:auto;}
body.sdb-theme-page .sdb-job-v6 .sdb-compare-table th,
body.sdb-theme-page .sdb-job-v6 .sdb-compare-table td {text-align:left;padding:12px 13px;border-bottom:1px solid #e3ecf7;vertical-align:middle;}
body.sdb-theme-page .sdb-job-v6 .sdb-compare-table thead th {color:#123e70;background:#e7f2ff;font-weight:850;}
body.sdb-theme-page .sdb-job-v6 .sdb-compare-table tbody tr:last-child th,
body.sdb-theme-page .sdb-job-v6 .sdb-compare-table tbody tr:last-child td {border-bottom:0;}
body.sdb-theme-page .sdb-job-v6 .sdb-compare-table tbody th {font-weight:750;}
body.sdb-theme-page .sdb-job-v6 .sdb-compare-table small {display:inline-block;background:#dbeafa;color:#1259aa;border-radius:5px;padding:2px 5px;margin-left:7px;font-size:10px;}
body.sdb-theme-page .sdb-job-v6 .sdb-compare-current {background:#f5f9ff;}
body.sdb-theme-page .sdb-job-v6 .sdb-compare-salary {font-weight:900;color:#bd3d1c;white-space:nowrap;}
@media (max-width:1120px) {
  body.sdb-theme-page .sdb-job-v6 .sdb-content-grid {grid-template-columns:minmax(0,1fr) 268px;}
  body.sdb-theme-page .sdb-job-v6 .sdb-stat {padding:14px 11px;gap:8px;}
  body.sdb-theme-page .sdb-job-v6 .sdb-stat-icon {width:34px;height:34px;}
}
@media (max-width:850px) {
  body.sdb-theme-page .sdb-job-v6 .sdb-content-grid {grid-template-columns:1fr;}
  body.sdb-theme-page .sdb-job-v6 .sdb-hero-photo {width:86%;}
  body.sdb-theme-page .sdb-job-v6 .sdb-hero-with-image::before {
     background:linear-gradient(90deg,rgba(255,255,255,.99),rgba(255,255,255,.95) 38%,rgba(255,255,255,.57) 78%,rgba(255,255,255,.18));
  }
}
@media (max-width:600px) {
  body.sdb-theme-page .sdb-job-v6 .sdb-hero {min-height:280px;}
  body.sdb-theme-page .sdb-job-v6 .sdb-hero-content {padding:29px 19px 60px;max-width:100%;}
  body.sdb-theme-page .sdb-job-v6 .sdb-hero h1 {font-size:clamp(29px,9vw,37px);}
  body.sdb-theme-page .sdb-job-v6 .sdb-lead {font-size:15px;}
  body.sdb-theme-page .sdb-job-v6 .sdb-hero-photo {width:100%;opacity:1;}
  body.sdb-theme-page .sdb-job-v6 .sdb-hero-with-image::before {
     background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(255,255,255,.87) 64%,rgba(255,255,255,.72));
  }
  body.sdb-theme-page .sdb-job-v6 .sdb-stats {margin:-30px 4px 18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
  body.sdb-theme-page .sdb-job-v6 .sdb-stat {padding:13px 11px;min-height:124px;display:block;}
  body.sdb-theme-page .sdb-job-v6 .sdb-stat-icon {margin-bottom:7px;}
  body.sdb-theme-page .sdb-job-v6 .sdb-stat-salary strong {font-size:clamp(26px,7vw,33px);}
  body.sdb-theme-page .sdb-job-v6 .sdb-content-grid .sdb-panel {padding:19px 16px;}
  body.sdb-theme-page .sdb-job-v6 .sdb-qualification-panel {padding:19px 16px;}
  body.sdb-theme-page .sdb-job-v6 .sdb-feature-grid,
  body.sdb-theme-page .sdb-job-v6 .sdb-detail-pair,
  body.sdb-theme-page .sdb-job-v6 .sdb-aside {grid-template-columns:1fr;}
  body.sdb-theme-page .sdb-job-v6 .sdb-salary-feature strong {font-size:clamp(36px,9.5vw,47px);}
}
