:root{--nagi-primary:#163b5c;--nagi-secondary:#3279a6;--nagi-wash:#eef3f6;--navy:var(--nagi-primary);--blue:var(--nagi-primary);--teal:var(--nagi-primary);--accent:var(--nagi-primary);--brand:var(--nagi-primary);--green:var(--nagi-primary);--pale:var(--nagi-wash);--tint:var(--nagi-wash);--light:var(--nagi-wash);--line:#dce2e5;--rule:#dce2e5;background:#f7f8f8;color:#1f303a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.75;font-synthesis:none}
body.nagi-site{margin:0;background:#f7f8f8}body.nagi-site a{color:var(--nagi-primary);text-underline-offset:3px}body.nagi-site a:hover{text-decoration-thickness:2px}body.nagi-site :focus-visible{outline:3px solid #a55c16;outline-offset:4px}body.nagi-site input[type=checkbox]{accent-color:var(--nagi-primary)}
.nagi-site .nagi-header{display:block;position:relative;z-index:20;padding:0;background:#fff;border:0;border-top:4px solid var(--nagi-primary);border-bottom:1px solid #dce2e5;max-width:none;margin:0;box-shadow:none}.nagi-header-inner{max-width:1320px;min-height:92px;margin:auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.nagi-site .nagi-brand{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none;color:#1f303a;font-size:21px;font-weight:750;letter-spacing:.025em;line-height:1.4}.nagi-brand img{width:44px;height:44px;object-fit:contain;flex:none}.nagi-brand-copy{display:flex;flex-direction:column}.nagi-site .nagi-brand small{display:block;font-size:10px;line-height:1.6;letter-spacing:.15em;color:#5f6d75;font-weight:600}.nagi-site .nagi-topnav{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px;min-width:0}.nagi-site .nagi-topnav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:13px;font-weight:650;color:#33434d}.nagi-site .nagi-topnav a:hover{color:var(--nagi-primary);text-decoration:underline}.nagi-stage{display:inline-block;color:#57646c;background:#f2f4f5;border:1px solid #dce2e5;border-radius:3px;font-size:10px;padding:3px 7px;white-space:nowrap}
.nagi-site .nagi-breadcrumbs{max-width:1320px;margin:0 auto;padding:14px 28px 0;font-size:11px;color:#66747c;display:flex;flex-wrap:wrap;gap:5px 9px}.nagi-breadcrumbs a{color:#526873}.nagi-site main{padding-top:22px}.nagi-site h1{letter-spacing:.025em;line-height:1.45;color:#1e303b;font-weight:750}.nagi-site .compact-hero,.nagi-site .hero,.nagi-site .intro{background:transparent;box-shadow:none;border-radius:0}.nagi-site .hero h1,.nagi-site .intro h1{font-size:clamp(24px,3.3vw,36px)}.nagi-site .hero{padding-top:4px;padding-bottom:12px}.nagi-site .data-stamp,.nagi-site .catalog-summary{font-size:12px;color:#5f6f79}.nagi-site .usage-notice{border-color:#dce2e5;background:#fff;border-radius:5px}.nagi-site .filters{box-shadow:none;background:#fff;border-color:#dce2e5;border-radius:6px}.nagi-site table{border-color:#dce2e5}.nagi-site th{background:var(--nagi-wash);color:#293e49}.nagi-site tbody tr:hover{background:#fafbfb}.nagi-site button.primary,.nagi-site #compare-button,.nagi-site button[type=submit]{background:var(--nagi-primary);border-color:var(--nagi-primary);color:#fff}.nagi-site .notice,.nagi-site .status-note{box-shadow:none}.nagi-site .nagi-ad-notice{max-width:1320px;margin:0 auto;padding:12px 28px 0;font-size:11px;color:#53646d;line-height:1.6}.nagi-ad-notice strong{font-weight:750;color:#344b59}.nagi-ad-notice a{margin-left:5px;white-space:nowrap}
.nagi-site .nagi-related{margin:44px 0 20px;padding:22px 0;border-top:2px solid var(--nagi-primary);border-bottom:1px solid #dce2e5;background:transparent}.nagi-related h2{font-size:17px;margin:0 0 14px;line-height:1.5}.nagi-related ul{list-style:none;display:flex;flex-wrap:wrap;padding:0;margin:0;gap:12px 26px}.nagi-related li{font-size:13px}.nagi-related a{display:inline-flex;align-items:center;min-height:36px}.nagi-site .nagi-footer{margin:56px 0 0;padding:0;background:#fff;border:0;border-top:1px solid #dce2e5;color:#52646f;max-width:none;font-size:12px}.nagi-footer-inner{max-width:1320px;margin:auto;padding:30px 28px 32px}.nagi-footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:26px;flex-wrap:wrap}.nagi-footer .nagi-brand{font-size:17px}.nagi-footer .nagi-brand img{width:32px;height:32px}.nagi-footer .nagi-brand small{font-size:9px}.nagi-site .nagi-footer nav{display:flex;gap:6px 20px;flex-wrap:wrap;max-width:760px}.nagi-footer nav a{min-height:36px;display:inline-flex;align-items:center;color:#465b67;font-size:11px}.nagi-footer-note{margin-top:20px;padding-top:18px;border-top:1px solid #e4e8ea;line-height:1.8}.nagi-footer-note p{margin:5px 0}.nagi-copyright{font-size:10px;letter-spacing:.02em;color:#687983;margin-top:16px}
.nagi-document{max-width:900px!important;margin:auto;padding:28px 28px 20px!important;background:transparent}.nagi-document .nagi-doc-kicker{font-size:11px;color:var(--nagi-primary);font-weight:700;letter-spacing:.12em}.nagi-document h1{font-size:clamp(25px,3.5vw,34px);margin:10px 0 16px}.nagi-doc-lead{font-size:15px;color:#455c68;border-bottom:1px solid #dce2e5;padding-bottom:25px;margin-bottom:26px}.nagi-document h2{font-size:20px;margin:34px 0 12px;border-left:3px solid var(--nagi-primary);padding-left:12px}.nagi-document h3{font-size:16px;margin:22px 0 8px}.nagi-document p,.nagi-document li{font-size:14px;line-height:1.95}.nagi-document li+li{margin-top:7px}.nagi-document table{width:100%;border-collapse:collapse;display:table;table-layout:fixed;font-size:13px;background:#fff}.nagi-document th,.nagi-document td{padding:12px;border:1px solid #dce2e5;vertical-align:top;overflow-wrap:anywhere}.nagi-document a{overflow-wrap:anywhere}.nagi-doc-date{font-size:11px;color:#667780}.nagi-guide-summary{background:var(--nagi-wash);border-left:3px solid var(--nagi-primary);padding:18px 20px;margin:26px 0}.nagi-guide-summary h2{margin-top:0;border:0;padding:0;font-size:17px}.nagi-document .nagi-guide-summary p{margin:8px 0}
@media(min-width:960px){.nagi-site main{max-width:1320px}.nagi-site main.nagi-document{max-width:900px}.nagi-site h1{margin-top:8px}}
@media(max-width:760px){.nagi-header-inner{padding:13px 18px;min-height:auto;gap:10px;flex-direction:column;align-items:stretch}.nagi-site .nagi-brand{font-size:18px}.nagi-brand img{width:36px;height:36px}.nagi-site .nagi-topnav{gap:0 18px;justify-content:flex-start}.nagi-site .nagi-topnav a{font-size:12px;min-height:36px}.nagi-stage{margin-left:auto;align-self:center;font-size:9px}.nagi-site .nagi-breadcrumbs{padding:12px 18px 0}.nagi-site .nagi-ad-notice{padding:10px 18px 0}.nagi-site main{padding-top:17px}.nagi-footer-inner{padding:26px 18px}.nagi-footer-top{gap:20px}.nagi-footer nav{gap:4px 18px}.nagi-document{padding:24px 18px!important}.nagi-document table{font-size:12px}.nagi-document th,.nagi-document td{padding:9px}.nagi-related ul{display:block}.nagi-related li+li{margin-top:2px}.nagi-related h2{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:760px){body.nagi-site .nagi-header .nagi-topnav{display:flex!important;visibility:visible!important;height:auto;max-height:none;opacity:1;overflow:visible;flex-wrap:wrap}body.nagi-site .nagi-header .nagi-topnav a{display:inline-flex!important;visibility:visible!important}}
/* Editorial refinement follows the source/structure implementation. */
.deep-skip{position:absolute;left:18px;top:-90px;padding:12px 20px;background:#fff;border:2px solid var(--nagi-primary);z-index:100}.deep-skip:focus{top:10px}
.nagi-theme-water_servers .source-reference h2,.nagi-theme-water_servers .source-reference a{overflow-wrap:anywhere}
.nagi-site .deep-intro{margin:14px 0 24px;padding:14px 0 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:100%;background:transparent}.deep-kicker{color:var(--nagi-primary);font-size:11px;font-weight:750;letter-spacing:.1em;margin:0 0 7px}.nagi-site .deep-answer{max-width:78ch;font-size:15px;line-height:1.9;margin:0 0 10px;color:#304652}.deep-intro nav{display:flex;flex-wrap:wrap;gap:6px 24px}.deep-intro nav a{display:inline-flex;align-items:center;min-height:40px;font-size:12px;font-weight:650}
.nagi-site .deep-reading{margin:48px 0 20px;border-top:3px solid var(--nagi-primary);padding:22px 0 0}.deep-reading h2{font-size:24px;line-height:1.55;margin:0 0 24px}.deep-reading ol{list-style:none;counter-reset:reading;padding:0;margin:0}.deep-reading li{counter-increment:reading;display:grid;grid-template-columns:48px 1fr;padding:20px 0;border-top:1px solid var(--line);column-gap:12px}.deep-reading li:before{content:counter(reading,decimal-leading-zero);grid-row:1/3;font-size:21px;color:var(--nagi-primary);font-weight:650}.deep-reading li>a{font-size:17px;font-weight:700;line-height:1.7}.deep-reading li>p{font-size:13px;line-height:1.9;margin:8px 0 0;color:#52636c;max-width:80ch}.nagi-site .deep-evidence{margin:32px 0 16px;border-left:3px solid var(--nagi-primary);padding:6px 18px;background:var(--nagi-wash)}.deep-evidence h2{font-size:16px;margin:8px 0}.deep-evidence p{font-size:12px;line-height:1.9;margin:10px 0}
.deep-glossary{margin:20px 0;border-top:1px solid var(--line)}.deep-glossary dt{font-weight:700;color:var(--nagi-primary);padding-top:16px;font-size:14px}.deep-glossary dd{margin:6px 0 0;padding:0 0 16px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.9}.nagi-document .deep-standfirst{font-weight:650;font-size:16px;line-height:1.9}.deep-scroll{overflow:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;max-width:100%;background:#fff}.nagi-document .deep-scroll table{min-width:760px;table-layout:auto}.deep-scroll td small{display:block;color:#586870;font-size:11px;line-height:1.6;margin-top:5px}.deep-scroll th:first-child{min-width:180px}.nagi-site .table-scroll:focus-visible,.deep-scroll:focus-visible{outline:3px solid var(--nagi-primary);outline-offset:3px}.nagi-site [hidden]{display:none!important}
@media(max-width:760px){.nagi-site .deep-answer{font-size:14px;line-height:1.9}.nagi-site .deep-intro{margin-bottom:18px;padding-top:12px}.deep-intro nav{gap:2px 18px}.deep-intro nav a{min-height:44px}.deep-reading h2{font-size:21px}.deep-reading li{grid-template-columns:32px 1fr;gap:6px 8px}.deep-reading li>a{font-size:15px;min-height:44px;display:flex;align-items:center}.deep-reading li>p{font-size:12px}.deep-evidence{padding-left:12px}.nagi-site input:not([type=checkbox]):not([type=radio]),.nagi-site select{font-size:16px}.nagi-site button,.nagi-site summary{min-height:44px}.nagi-site .table-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}}
.nagi-site .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Keep comparison controls in document flow while their table is present.
   Careers renders its table at two selections without a hidden attribute. */
body.nagi-site:is(.nagi-theme-cardloan,.nagi-theme-credit_cards,.nagi-theme-internet):has(#comparison:not([hidden])) #comparison-tray,
body.nagi-site:is(.nagi-theme-insurance,.nagi-theme-investing):has(#comparison:not([hidden])) .tray,
body.nagi-site.nagi-theme-clinics:has(#comparison-panel:not([hidden])) #selection-tray,
body.nagi-site.nagi-theme-water_servers:has(#compare-panel:not([hidden])) #selection-tray,
body.nagi-site.nagi-theme-careers:has(#comparison table) #tray {
  position:static;
  inset:auto;
  transform:none;
  width:auto;
  max-width:100%;
  max-height:none;
  box-sizing:border-box;
  margin:20px auto;
  padding:12px 16px;
  border-radius:0;
  box-shadow:none;
}

/* Selected chips, rather than the disabled compare button, distinguish zero
   from one selection. Retain a focused clear control until focus moves away. */
body.nagi-site:is(.nagi-theme-insurance,.nagi-theme-investing) .tray:has(#selected):not(:has(#selected > button)):not(:focus-within) {
  display:none;
}

/* Use a darker text accent for water without changing its palette artwork. */
.nagi-site {--nagi-text-accent:var(--nagi-primary)}
body.nagi-site.nagi-theme-water_servers {--nagi-text-accent:#1b657d}
body.nagi-site a {color:var(--nagi-text-accent)}
.nagi-site :is(.deep-kicker,.nagi-doc-kicker,.deep-glossary dt),
.nagi-site .deep-reading li:before {color:var(--nagi-text-accent)}
.nagi-site :is(.nagi-doc-date,.nagi-copyright,.nagi-breadcrumbs) {color:#52646f;font-size:12px}
.nagi-site .nagi-breadcrumbs a {color:#405966}
.nagi-site :is(.nagi-stage,.nagi-ad-notice,.deep-kicker,.nagi-doc-kicker) {font-size:12px}
.nagi-site .nagi-brand small,
.nagi-site .nagi-footer .nagi-brand small {font-size:12px;color:#52646f;letter-spacing:.06em}
.nagi-site .nagi-footer nav a {font-size:12px}
.nagi-site :is(button,summary,select) {min-height:44px;box-sizing:border-box}
.nagi-site :is(.nagi-topnav,.nagi-footer nav,.nagi-related) a {min-height:44px}
.nagi-site label:has(> input[type=checkbox]) {display:inline-flex;align-items:center;gap:8px;min-height:44px}

@media(max-width:760px) {
  /* Seven real columns: comparison / service / type / occupation /
     employment / area / jobseeker fee. Keep the header for assistive reading. */
  body.nagi-site.nagi-theme-careers .table-scroll:has(#results) {
    overflow:visible;
    border:0;
    background:transparent;
  }
  body.nagi-site.nagi-theme-careers table:has(> #results) {
    display:block;
    width:100%;
    min-width:0;
    max-width:100%;
    background:transparent;
    border:0;
  }
  body.nagi-site.nagi-theme-careers table:has(> #results) > thead {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    clip-path:inset(50%);
    white-space:nowrap;
    border:0;
  }
  body.nagi-site.nagi-theme-careers #results {display:block;max-width:100%}
  body.nagi-site.nagi-theme-careers #results > tr {
    display:grid;
    grid-template-columns:minmax(0,1fr) 44px;
    gap:0 12px;
    padding:16px 0;
    border:0;
    border-bottom:1px solid #cbd5da;
    background:transparent;
    border-radius:0;
    box-shadow:none;
  }
  body.nagi-site.nagi-theme-careers #results > tr > :is(th,td) {
    min-width:0;
    max-width:none;
    width:auto;
    border:0;
    padding:7px 0;
    font-size:14px;
    line-height:1.8;
    overflow-wrap:anywhere;
    background:transparent;
  }
  body.nagi-site.nagi-theme-careers #results > tr > th {
    grid-column:1;
    grid-row:1;
    font-size:16px;
  }
  body.nagi-site.nagi-theme-careers #results > tr > td:first-child:not([colspan]) {
    grid-column:2;
    grid-row:1;
    padding:0;
    align-self:start;
  }
  body.nagi-site.nagi-theme-careers #results .select-target {
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    min-height:44px;
    margin:0;
  }
  body.nagi-site.nagi-theme-careers #results > tr > td:nth-child(n+3) {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:minmax(5.5rem,28%) minmax(0,1fr);
    column-gap:12px;
  }
  body.nagi-site.nagi-theme-careers #results > tr > td:nth-child(n+3):before {
    grid-column:1;
    grid-row:1/3;
    color:#405966;
    font-size:13px;
    font-weight:650;
  }
  body.nagi-site.nagi-theme-careers #results > tr > td:nth-child(3):before {content:"種類"}
  body.nagi-site.nagi-theme-careers #results > tr > td:nth-child(4):before {content:"対象職種"}
  body.nagi-site.nagi-theme-careers #results > tr > td:nth-child(5):before {content:"雇用・契約"}
  body.nagi-site.nagi-theme-careers #results > tr > td:nth-child(6):before {content:"地域"}
  body.nagi-site.nagi-theme-careers #results > tr > td:nth-child(7):before {content:"求職者の費用"}
  body.nagi-site.nagi-theme-careers #results > tr > td:nth-child(n+3) > * {grid-column:2}
  body.nagi-site.nagi-theme-careers #results small {display:block;font-size:13px;line-height:1.8;color:#52646f}
  body.nagi-site.nagi-theme-careers #results > tr > td[colspan] {grid-column:1/-1}
}

/* NAGI local comparison-first presentation: source text and data are retained. */
details.nagi-comparison-basis{padding:0!important;margin:0 0 12px!important}
details.nagi-comparison-basis>summary{padding:10px 14px;cursor:pointer;font-size:14px;line-height:1.5;font-weight:600}
details.nagi-comparison-basis[open]>.deep-intro-content{padding:0 14px 14px}
details.nagi-comparison-basis>summary:focus-visible{outline:3px solid var(--nagi-primary,#145679);outline-offset:3px}

/* Dark comparison headings: retain visible product links and keyboard focus. */
body.nagi-site.nagi-theme-internet .comparison-grid thead a.product-link{color:#fff;text-decoration:underline;text-underline-offset:3px}
body.nagi-site.nagi-theme-internet .comparison-grid thead a.product-link:focus-visible{outline:3px solid #fff;outline-offset:3px}
