:root {
  --ink: #172026;
  --muted: #66737c;
  --line: #d9e1e6;
  --soft: #f4f7f8;
  --paper: #ffffff;
  --accent: #0f8a9d;
  --accent-dark: #0b5f6e;
  --signal: #e8b339;
  --green: #3f8d5a;
  --radius: 8px;
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Inter", "Noto Sans JP", system-ui, sans-serif;
  color: var(--ink);
  background: #fbfcfc;
  letter-spacing: 0;
}

a { color: inherit; }
button, input, select { font: inherit; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 68px;
  padding: 12px clamp(18px, 4vw, 56px);
  background: rgba(255, 255, 255, .92);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.brand-mark {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  background: var(--ink);
  color: #fff;
  font-weight: 800;
}

.brand strong, .brand small { display: block; line-height: 1.1; }
.brand small { color: var(--muted); margin-top: 3px; }
.topbar nav { display: flex; gap: 18px; color: var(--muted); font-size: 14px; }
.topbar nav a { text-decoration: none; }

.hero {
  height: 420px;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  align-items: stretch;
  border-bottom: 1px solid var(--line);
}

.hero-media {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: repeat(12, minmax(0, 1fr));
  gap: 2px;
  height: 420px;
  min-height: 0;
  overflow: hidden;
  background: #fff;
  background-size: cover;
  background-position: center;
}

.hero-mosaic-tile {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  isolation: isolate;
  background: #e8eef0;
  text-decoration: none;
}
.hero-mosaic-tile:nth-child(1) { grid-column: 1 / 7; grid-row: 1 / 8; background: #d8e3e7; }
.hero-mosaic-tile:nth-child(2) { grid-column: 7 / 13; grid-row: 1 / 5; background: #ece8e1; }
.hero-mosaic-tile:nth-child(3) { grid-column: 7 / 10; grid-row: 5 / 9; background: #dde8e5; }
.hero-mosaic-tile:nth-child(4) { grid-column: 10 / 13; grid-row: 5 / 9; background: #e4e7ed; }
.hero-mosaic-tile:nth-child(5) { grid-column: 1 / 4; grid-row: 8 / 13; background: #ebe4dd; }
.hero-mosaic-tile:nth-child(6) { grid-column: 4 / 8; grid-row: 8 / 13; background: #dce5ec; }
.hero-mosaic-tile:nth-child(7) { grid-column: 8 / 11; grid-row: 9 / 13; background: #e8e3ea; }
.hero-mosaic-tile:nth-child(8) { grid-column: 11 / 13; grid-row: 9 / 13; background: #e2ebe6; }
.hero-mosaic-tile img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: clamp(10px, 1.6vw, 24px);
  mix-blend-mode: multiply;
  filter: saturate(.92) contrast(1.025);
  transition: transform .4s cubic-bezier(.2, .7, .2, 1), filter .3s ease;
}
.hero-mosaic-tile::after {
  content: "";
  position: absolute;
  inset: 52% 0 0;
  background: linear-gradient(transparent, rgba(8, 21, 27, .8));
  opacity: 0;
  transition: opacity .2s ease;
}
.hero-mosaic-tile > span {
  position: absolute;
  z-index: 1;
  right: 10px;
  bottom: 9px;
  left: 10px;
  overflow: hidden;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .2s ease, transform .2s ease;
}
.hero-mosaic-tile:hover { z-index: 2; }
.hero-mosaic-tile:hover img { transform: scale(1.045); filter: saturate(1) contrast(1.04); }
.hero-mosaic-tile:hover::after,
.hero-mosaic-tile:hover > span { opacity: 1; transform: translateY(0); }
.hero-media.is-fallback { display: block; }

.hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(28px, 4vw, 52px);
  background: var(--paper);
}

.eyebrow {
  margin: 0 0 10px;
  color: var(--accent-dark);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(42px, 6vw, 72px); line-height: 1; margin-bottom: 22px; }
h2 { font-size: clamp(24px, 3vw, 36px); line-height: 1.15; margin-bottom: 0; }
.hero-copy h1 { font-size: clamp(40px, 5vw, 64px); margin-bottom: 16px; }
.hero-copy p:not(.eyebrow) { color: var(--muted); font-size: 16px; line-height: 1.7; max-width: 620px; }

.hero-actions, .link-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  color: var(--ink);
  text-decoration: none;
  cursor: pointer;
}
.button.primary { background: var(--accent); border-color: var(--accent); color: #fff; }
.button.secondary { background: #eef5f6; border-color: #cfe0e4; color: var(--accent-dark); }
.button.reset { width: 100%; }

.stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid var(--line);
  background: var(--ink);
  color: #fff;
}
.stats div { padding: 26px clamp(16px, 3vw, 44px); border-right: 1px solid rgba(255,255,255,.18); }
.stats strong { display: block; font-size: 36px; line-height: 1; }
.stats span { display: block; margin-top: 8px; color: rgba(255,255,255,.7); }

.category-band {
  padding: 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.taxonomy-block + .taxonomy-block { margin-top: clamp(28px, 4vw, 44px); }
.taxonomy-entry-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}
.taxonomy-entry-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 92px;
  padding: 0 clamp(22px, 3vw, 42px);
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  background: var(--paper);
  text-decoration: none;
  transition: background .18s ease, color .18s ease, padding .18s ease;
}
.taxonomy-entry-card:last-child { border-right: 0; }
.taxonomy-entry-card::after {
  content: "→";
  color: var(--accent);
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
  transition: transform .18s ease;
}
.taxonomy-entry-card strong { font-size: clamp(16px, 1.5vw, 19px); line-height: 1.25; }
.taxonomy-entry-card:hover { background: #f0f6f7; color: var(--accent-dark); padding-right: clamp(18px, 2.6vw, 36px); }
.taxonomy-entry-card:hover::after { transform: translateX(4px); }
.taxonomy-entry-card:focus-visible { position: relative; z-index: 1; outline: 3px solid rgba(15, 138, 157, .35); outline-offset: -3px; }
.category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 14px;
}
.category-card {
  min-height: 104px;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  text-decoration: none;
}
.category-card img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  border-radius: 6px;
  background: var(--soft);
}
.category-card strong { display: block; line-height: 1.35; overflow-wrap: anywhere; }
.category-card span { display: block; margin-top: 5px; color: var(--muted); font-size: 13px; }

.workspace {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 0;
  border-bottom: 1px solid var(--line);
}

.filters {
  position: sticky;
  top: 69px;
  align-self: start;
  min-height: calc(100vh - 69px);
  padding: 28px;
  background: #eef3f4;
  border-right: 1px solid var(--line);
}

label { display: block; margin-bottom: 18px; }
label span { display: block; margin-bottom: 7px; color: var(--muted); font-size: 13px; font-weight: 700; }
input, select {
  width: 100%;
  height: 44px;
  border: 1px solid #c9d5da;
  border-radius: 8px;
  padding: 0 12px;
  background: #fff;
  color: var(--ink);
}

.catalog-panel { padding: clamp(24px, 4vw, 48px); }
.catalog-head, .section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 24px;
}
.section-head > h2 { order: 1; }
.section-head > .eyebrow { order: 2; margin-bottom: 0; text-align: right; }
.section-head > .button { order: 2; }
.catalog-head select { width: 180px; }

.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 16px;
}

.robot-card {
  display: grid;
  grid-template-rows: 170px auto;
  min-height: 340px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--paper);
  cursor: pointer;
  color: inherit;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.robot-card:hover, .robot-card.is-active {
  transform: translateY(-2px);
  border-color: var(--accent);
  box-shadow: 0 14px 28px rgba(23, 32, 38, .08);
}
.robot-card img {
  width: 100%;
  height: 170px;
  object-fit: contain;
  background: #f7f9fa;
  padding: 14px;
}
.robot-card-body { padding: 14px; }
.robot-card h3 {
  margin: 0 0 8px;
  font-size: 17px;
  line-height: 1.35;
}
.meta { color: var(--muted); font-size: 13px; line-height: 1.5; }
.mini-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.mini-tags span, .tag-row span, .tag-row a {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 9px;
  border-radius: 8px;
  background: #eef6f7;
  color: var(--accent-dark);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}
.detail-company-line a { color: var(--accent-dark); text-decoration: none; }
.detail-company-line a:hover { text-decoration: underline; }

.empty { padding: 28px; border: 1px dashed var(--line); border-radius: var(--radius); color: var(--muted); }

.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 28px;
}
.page-button {
  min-width: 40px;
  height: 40px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
}
.page-button:hover { border-color: var(--accent); color: var(--accent-dark); }
.page-button.is-active {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}
.page-button:disabled {
  cursor: not-allowed;
  opacity: .45;
}
.page-gap {
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 4px;
  color: var(--muted);
}

.detail {
  display: grid;
  grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr);
  gap: clamp(24px, 4vw, 54px);
  padding: clamp(28px, 5vw, 64px);
  background: #fff;
  border-bottom: 1px solid var(--line);
}
.detail-media {
  min-height: 360px;
  display: grid;
  place-items: center;
  background: #f3f7f8;
  border-radius: var(--radius);
  border: 1px solid var(--line);
}
.detail-media img {
  max-width: 100%;
  max-height: 420px;
  object-fit: contain;
  padding: 18px;
}
.detail-body { align-self: center; }
.detail-body h2 { margin-bottom: 18px; }
.detail-body h1 { font-size: clamp(34px, 5vw, 58px); line-height: 1.05; margin-bottom: 18px; }
.detail-body p:not(.eyebrow) { color: var(--muted); line-height: 1.85; }
.tag-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-top: 18px;
  color: var(--muted);
  font-size: 14px;
}
.detail-meta span { display: inline-flex; gap: 6px; align-items: baseline; }
.detail-meta strong { color: var(--ink); font-weight: 800; }

.detail-overview {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
  gap: clamp(24px, 4vw, 48px);
  padding: clamp(24px, 4vw, 48px);
  border-bottom: 1px solid var(--line);
  background: #f7fafb;
}
.detail-overview img {
  width: 100%;
  max-height: 360px;
  object-fit: contain;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
}
.detail-overview p:not(.eyebrow) {
  color: var(--muted);
  line-height: 1.85;
}

.spec-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr);
  gap: 24px;
  padding: clamp(24px, 4vw, 48px);
}
.spec-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  padding: 24px;
}
.spec-list { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 0; margin: 0; }
.spec-list dt, .spec-list dd { padding: 12px 0; border-top: 1px solid var(--line); }
.spec-list dt { color: var(--muted); font-weight: 700; }
.spec-list dd { margin: 0; line-height: 1.7; overflow-wrap: anywhere; }

.news-list { display: grid; gap: 12px; }
.news-item {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 12px;
  text-decoration: none;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.news-item img { width: 88px; height: 58px; object-fit: cover; border-radius: 6px; background: var(--soft); }
.news-item strong { display: block; font-size: 14px; line-height: 1.45; }
.news-item span { display: block; color: var(--muted); font-size: 12px; margin-top: 6px; }

.related-band { padding: clamp(24px, 4vw, 48px); border-top: 1px solid var(--line); }
.video-band { padding: clamp(24px, 4vw, 48px); border-top: 1px solid var(--line); background: #fff; }
.video-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}
.video-frame {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #000;
}
.video-frame iframe { width: 100%; height: 100%; border: 0; display: block; }
.video-source { display: none; }
.related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 14px;
}
.related-card {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  cursor: pointer;
}
.related-card img { width: 58px; height: 58px; object-fit: contain; background: var(--soft); border-radius: 6px; }
.related-card strong { font-size: 13px; line-height: 1.35; }

footer {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 24px clamp(18px, 4vw, 56px);
  color: var(--muted);
  border-top: 1px solid var(--line);
}

@media (max-width: 900px) {
  .topbar { position: static; align-items: flex-start; flex-direction: column; }
  .hero, .workspace, .detail, .spec-layout, .detail-overview { grid-template-columns: 1fr; }
  .hero { height: auto; min-height: 0; }
  .hero-media {
    height: 260px;
    min-height: 0;
    order: 1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
  .hero-mosaic-tile:nth-child(n) { grid-column: auto; grid-row: auto; }
  .hero-copy { order: 2; }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .filters { position: static; min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
}

@media (max-width: 560px) {
  .topbar nav { width: 100%; justify-content: space-between; }
  .stats { grid-template-columns: 1fr 1fr; }
  .stats strong { font-size: 28px; }
  .catalog-head, .section-head, footer { align-items: flex-start; flex-direction: column; }
  .catalog-head select { width: 100%; }
  .hero-media { height: 280px; min-height: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(4, minmax(0, 1fr)); }
  .hero-copy h1 { font-size: 38px; }
  .taxonomy-entry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .taxonomy-entry-card { min-height: 72px; border-bottom: 1px solid var(--line); }
  .taxonomy-entry-card:nth-child(2n) { border-right: 0; }
  .taxonomy-entry-card:nth-last-child(-n+2) { border-bottom: 0; }
  .spec-list { grid-template-columns: 1fr; }
  .spec-list dt { padding-bottom: 0; }
  .spec-list dd { padding-top: 5px; }
}
/* ROBOT JOBS START */
.rs-header{background:#fff;border-bottom:1px solid #ddd;color:#111;position:sticky;top:0;z-index:50;overflow:visible}
.rs-header-main{height:52px;background:#c81518;display:grid;grid-template-columns:220px minmax(260px,1fr) 360px;align-items:center;position:relative;padding:0 22px;color:#fff;overflow:hidden}
.rs-left-tools{display:flex;align-items:center;gap:14px;height:52px}
.rs-logo{justify-self:center;text-align:center;text-decoration:none;color:#fff;display:inline-flex;align-items:center;justify-content:center}
.rs-logo-text{font-size:39px;line-height:1;font-weight:900;letter-spacing:-.03em;color:#fff;display:block;text-shadow:0 1px 0 rgba(0,0,0,.08)}
.rs-icon-button{width:54px;height:52px;background:transparent;border:0;color:#fff;display:grid;grid-template-rows:34px 12px;place-items:center;cursor:pointer;position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;margin:0!important;padding:3px 0 4px!important;box-sizing:border-box}
.rs-icon-button em{font-style:normal;font-size:10px;line-height:1;font-weight:800;color:#fff;text-align:center}
.rs-menu-button{display:block!important;padding:0!important}
.rs-menu-button span{width:31px;height:2px;background:#fff;display:block;position:absolute!important;left:11px!important}
.rs-menu-button span:first-child{top:13px!important}
.rs-menu-button span:last-of-type{top:25px!important}
.rs-menu-button em{position:absolute;left:0;right:0;bottom:7px;display:block}
.rs-search-button i{width:34px;height:31px;display:block;position:relative}
.rs-search-button i:before{content:"";width:20px;height:20px;border:3px solid #fff;border-radius:50%;position:absolute;top:2px;left:2px}
.rs-search-button i:after{content:"";width:13px;height:3px;background:#fff;transform:rotate(45deg);position:absolute;left:23px;top:24px}
.rs-user-tools{justify-self:end;display:flex;align-items:center;gap:15px;color:#fff;font-size:14px;font-weight:900;white-space:nowrap}
.rs-user-icon{position:relative;display:inline-block;width:26px;height:26px}
.rs-add-icon:before{content:"";position:absolute;left:2px;top:7px;width:11px;height:11px;background:#fff;border-radius:50%;box-shadow:0 10px 0 3px #fff}
.rs-add-icon:after{content:"+";position:absolute;right:0;top:7px;color:#fff;font-size:22px;line-height:1;font-weight:900}
.rs-login-icon:before{content:"";position:absolute;right:2px;top:5px;width:11px;height:16px;border:4px solid #fff;border-left:0;border-radius:1px}
.rs-login-icon:after{content:"";position:absolute;left:1px;top:12px;width:18px;height:4px;background:#fff;box-shadow:7px -6px 0 -2px #fff,7px 6px 0 -2px #fff}
.rs-avatar{width:26px;height:26px;border:2px solid #fff;border-radius:50%;background:radial-gradient(circle at 50% 35%,#fff 0 4px,transparent 5px),radial-gradient(circle at 50% 80%,#fff 0 8px,transparent 9px),#9ca3af;box-shadow:0 0 0 1px rgba(0,0,0,.35) inset}
.rs-menu-check,.rs-search-check{position:absolute;opacity:0;pointer-events:none}
.rs-nav{height:39px;border-top:0;border-bottom:1px solid #ddd;overflow:hidden;white-space:nowrap;background:#fff}
.rs-nav ul{width:100%;max-width:1500px;margin:0 auto;padding:0 12px;list-style:none;display:flex;align-items:center;justify-content:center;gap:0;height:39px;box-sizing:border-box}
.rs-nav a{display:block;padding:10px clamp(7px,.72vw,13px);text-decoration:none;color:#030303;font-size:clamp(12px,.86vw,15px);font-weight:900;line-height:1.2}
.rs-nav a.is-teal{color:#1ea4a9}
.rs-nav a[aria-current="page"],.rs-nav a:hover,.rs-drawer a[aria-current="page"]{color:#d60021}
.rs-drawer{position:absolute;left:18px;top:52px;width:min(360px,calc(100vw - 36px));background:#111;color:#fff;padding:18px;box-shadow:0 22px 50px rgba(0,0,0,.24);opacity:0;transform:translateY(-8px);pointer-events:none;transition:.18s ease}
.rs-drawer ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.rs-drawer a{display:block;color:#fff;text-decoration:none;padding:12px 6px;border-bottom:1px solid rgba(255,255,255,.13);font-weight:800}
.rs-menu-check:checked~.rs-drawer{opacity:1;transform:translateY(0);pointer-events:auto}
.rs-search-panel{position:absolute;left:78px;top:52px;width:min(430px,calc(100vw - 36px));background:#fff;border:1px solid #d7dce3;padding:14px;box-shadow:0 22px 50px rgba(0,0,0,.18);opacity:0;transform:translateY(-8px);pointer-events:none;transition:.18s ease}
.rs-search-panel form{display:flex;gap:8px}
.rs-search-panel input{flex:1;min-width:0;border:1px solid #111;padding:12px;font-size:15px}
.rs-search-panel button{border:0;background:#d60021;color:#fff;font-weight:800;padding:0 16px}
.rs-search-check:checked~.rs-search-panel{opacity:1;transform:translateY(0);pointer-events:auto}
.rs-footer{background:#fff;border-top:1px solid #e5e7eb;margin-top:44px;color:#111}
.rs-footer-nav{max-width:1180px;margin:0 auto;padding:26px 18px}
.rs-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:0 18px}
.rs-footer li{font-size:13px;line-height:1.7}
.rs-footer a{color:#111;text-decoration:none;font-weight:800}
.rs-footer a:hover{text-decoration:underline}
.rs-footer .rs-copyright{margin-left:auto;color:#6b7280;text-align:right}
.job-topbar nav a[aria-current="page"]{color:#d60021;font-weight:800}
.job-page{background:#f6f7f9;color:#111;min-height:70vh}
.job-magazine-page{background:#fff}
.career-layout{max-width:1280px;margin:0 auto;padding:24px 24px 50px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px}
.career-main{min-width:0}
.career-hero{padding:4px 0 18px;border-bottom:1px solid #b9b9b9}
.career-hero h1{font-size:42px;line-height:1.1;margin:0 0 12px;letter-spacing:0;font-weight:900}
.career-hero p{font-size:16px;margin:0;color:#111;line-height:1.8}
.career-block{padding:16px 0;border-bottom:1px solid #d6d6d6}
.career-block h2,.career-block-head h2,.side-block h2{font-size:20px;margin:0 0 12px;line-height:1.25}
.career-block-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.career-block-head a{color:#109ca0;text-decoration:none;font-weight:900}
.career-topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.career-topic-card{display:block;color:#111;text-decoration:none}
.career-topic-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:3px;margin-bottom:9px;background:#e5e7eb}
.career-topic-card strong{display:block;font-size:17px;line-height:1.45;margin-bottom:6px}
.career-topic-card span{display:block;color:#333;line-height:1.65;font-size:14px}
.career-article-list{display:grid;gap:0}
.career-article-row{display:grid;grid-template-columns:150px minmax(0,1fr) 150px;gap:18px;align-items:center;color:#111;text-decoration:none;padding:10px 0;border-bottom:1px dashed #d5d5d5}
.career-article-row img{width:150px;aspect-ratio:16/9;object-fit:cover;border-radius:3px;background:#e5e7eb}
.career-article-main strong{display:block;font-size:16px;line-height:1.45}
.career-article-main small{display:block;margin-top:4px;color:#333;font-size:14px;line-height:1.55}
.career-article-meta{display:grid;gap:5px;justify-items:start;color:#666;font-size:13px}
.career-article-meta em{font-style:normal;color:#109ca0;font-weight:900}
.job-pickup-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.job-pickup-grid .job-card{grid-template-rows:auto;box-shadow:none;min-height:0;border-radius:4px}
.job-pickup-grid .job-card-media{display:none}
.job-pickup-grid .job-card-body{padding:14px;gap:8px}
.job-pickup-grid .job-card-body h3{font-size:14px}
.job-pickup-grid .job-card-body p{font-size:13px;line-height:1.45}
.job-pickup-grid .job-tags{display:none}
.job-pickup-grid .job-card-meta{display:none}
.job-pickup-grid .job-salary{font-size:13px;color:#333}
.career-keywords{display:grid;gap:12px}
.career-chip-row{display:flex;flex-wrap:wrap;gap:9px}
.career-chip-row a,.career-chip-row span{border:1px solid #cfd5dd;border-radius:4px;padding:7px 13px;background:#fff;color:#111;text-decoration:none;font-size:13px}
.career-sidebar{border-left:1px solid #d7d7d7;padding-left:24px}
.side-block{padding:12px 0 22px;border-bottom:1px solid #d7d7d7}
.side-article{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;color:#111;text-decoration:none;padding:10px 0;border-bottom:1px solid #eee}
.side-article img{width:110px;aspect-ratio:16/9;object-fit:cover;background:#e5e7eb}
.side-article strong{display:block;font-size:13px;line-height:1.45}
.side-article time{display:block;color:#777;font-size:12px;margin-top:5px}
.side-seminar{display:block;color:#111;text-decoration:none;padding:11px 0;border-bottom:1px solid #eee}
.side-seminar strong{display:block;font-size:14px;line-height:1.45}
.side-seminar span{display:block;color:#555;font-size:12px;line-height:1.6;margin-top:5px}
.member-box{border:1px solid #d5d5d5;padding:18px;margin-top:24px}
.member-box p{margin:0 0 10px;line-height:1.7}
.member-box ul{margin:0 0 14px;padding-left:20px;line-height:1.9}
.member-box a{display:block;background:#109ca0;color:#fff;text-align:center;text-decoration:none;font-weight:900;padding:12px}
.career-list-page,.career-detail{max-width:920px;margin:0 auto;padding:36px 24px 60px;background:#fff}
.career-list-page h1,.career-detail h1{font-size:38px;line-height:1.2;margin:0 0 24px}
.career-detail>img{width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:4px;margin:14px 0 22px}
.career-detail .lead{font-size:18px;line-height:1.9;color:#333}
.career-body{font-size:16px;line-height:2;color:#222;white-space:pre-line}
.job-hero,.job-home-band{background:#fff;border-bottom:1px solid #e6e8ec}
.job-hero{padding:54px 7vw 38px}
.job-hero h1,.job-home-copy h2{font-size:clamp(32px,5vw,58px);line-height:1.02;margin:0 0 14px;letter-spacing:0}
.job-hero p,.job-home-copy p{max-width:760px;color:#4b5563;font-size:16px;line-height:1.8}
.job-home-band{margin-top:38px;padding:44px 7vw}
.job-home-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.8fr);gap:32px;align-items:start}
.job-search-form{display:flex;gap:10px;max-width:680px;margin:22px 0 0}
.job-search-form input{flex:1;min-width:0;border:2px solid #171717;border-radius:0;padding:14px 16px;font-size:16px;background:#fff}
.job-search-form button,.job-page .button{border:0;background:#d60021;color:#fff;font-weight:800;padding:14px 20px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.job-page .button.secondary{background:#111}
.job-home-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.job-home-list{display:grid;gap:12px}
.job-mini-card{background:#111;color:#fff;text-decoration:none;padding:18px 20px;border-left:6px solid #d60021}
.job-mini-card span{font-size:12px;color:#ffccd3;font-weight:800;text-transform:uppercase}
.job-mini-card strong{display:block;font-size:18px;margin:6px 0}
.job-mini-card small{color:#d1d5db}
.job-section{padding:34px 7vw}
.job-section-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:18px}
.job-section-head h2{font-size:26px;margin:0}
.job-section-head a,.job-section-head span{color:#d60021;font-weight:800;text-decoration:none}
.job-section-lead{max-width:760px;color:#4b5563;line-height:1.8;margin:-6px 0 18px}
.job-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.job-card{background:#fff;color:#111;text-decoration:none;border:1px solid #e4e7ec;display:grid;grid-template-rows:150px auto;min-height:100%;box-shadow:0 8px 20px rgba(17,24,39,.06)}
.job-card.direct{border-top:5px solid #d60021}
.job-feed-section{background:#101318;color:#fff;margin:20px 7vw 46px;padding:0;border:1px solid #222936}
.job-feed-divider{padding:28px 30px 22px;border-bottom:1px solid rgba(255,255,255,.13);background:linear-gradient(135deg,#0f172a 0,#111 52%,#26200d 100%)}
.job-feed-divider span{display:inline-flex;background:#ffd84d;color:#111;font-size:12px;font-weight:900;padding:6px 9px;margin-bottom:12px}
.job-feed-divider strong{display:block;font-size:30px;line-height:1.2}
.job-feed-divider p{max-width:760px;margin:10px 0 0;color:#d1d5db;line-height:1.8}
.job-feed-grid{padding:24px 30px 30px}
.job-card.feed{border:1px solid #334155;border-left:7px solid #ffd84d;position:relative;background:#f8fafc;box-shadow:none}
.job-card.feed:before{content:"求人ボックス提供";position:absolute;top:10px;left:10px;z-index:2;background:#ffd84d;color:#111;font-size:12px;font-weight:900;padding:6px 9px;letter-spacing:.02em}
.job-card.feed:after{content:"外部サイトへ";position:absolute;top:10px;right:10px;z-index:2;background:#111;color:#fff;border:1px solid #111;font-size:12px;font-weight:900;padding:5px 8px}
.job-card.feed:hover{border-color:#ffd84d;box-shadow:0 14px 28px rgba(0,0,0,.22);transform:translateY(-1px)}
.job-card-media{background:#111;overflow:hidden}
.job-card-media img{width:100%;height:100%;object-fit:cover;opacity:.9}
.job-card-body{padding:18px;display:flex;flex-direction:column;gap:10px}
.job-card-body h3{font-size:20px;line-height:1.35;margin:0}
.job-card-body p{margin:0;color:#4b5563;line-height:1.65}
.job-company{font-weight:800;color:#111!important}
.job-card-meta,.job-tags{display:flex;flex-wrap:wrap;gap:7px}
.job-card-meta span,.job-tags span{font-size:12px;font-weight:800;background:#eef2f7;color:#111;padding:5px 8px}
.job-card-meta span:first-child{background:#d60021;color:#fff}
.job-card.feed .job-card-meta span:first-child{background:#111;color:#fff}
.job-salary{margin-top:auto;color:#d60021}
.job-feed-notice{margin-top:auto;display:none;align-items:center;justify-content:center;border:1px solid #111;background:#111;color:#fff;font-weight:900;padding:10px 12px}
.job-card.feed .job-feed-notice{display:flex}
.job-card.feed .job-salary{margin-top:4px;color:#111;background:#fff3b0;display:inline-flex;width:max-content;padding:3px 6px}
.job-category-row,.job-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.job-category-row a,.job-category-card{background:#fff;border:1px solid #e4e7ec;color:#111;text-decoration:none;padding:18px;display:flex;flex-direction:column;gap:8px}
.job-category-row strong,.job-category-card strong{font-size:18px}
.job-category-row span,.job-category-card small{color:#d60021;font-weight:800}
.job-category-card p{color:#4b5563;line-height:1.65;margin:0}
.job-detail-hero{padding:50px 7vw;background:#fff;border-bottom:1px solid #e4e7ec;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px}
.job-detail-hero h1{font-size:clamp(30px,4vw,52px);line-height:1.08;margin:0 0 14px}
.job-detail-hero aside{background:#111;color:#fff;padding:22px;display:flex;flex-direction:column;gap:14px}
.job-detail-hero aside strong{font-size:22px;color:#fff}
.job-detail-layout{padding:34px 7vw;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px}
.job-detail-main,.job-detail-side{background:#fff;border:1px solid #e4e7ec;padding:24px}
.job-detail-main h2{font-size:22px;margin:22px 0 8px;border-left:5px solid #d60021;padding-left:10px}
.job-detail-main h2:first-child{margin-top:0}
.job-detail-main p{line-height:1.9;color:#374151;white-space:pre-line}
.job-detail-side img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:16px;background:#111}
.job-detail-side dl{display:grid;gap:10px;margin:0}
.job-detail-side dt{font-weight:800;color:#d60021}
.job-detail-side dd{margin:0;color:#374151;line-height:1.6}
.side-jobs-block{background:#fff}
.side-job{display:block;color:#111;text-decoration:none;border-bottom:1px solid #e5e7eb;padding:12px 0}
.side-job:first-of-type{padding-top:2px}
.side-job strong{display:block;font-size:15px;line-height:1.45;margin-bottom:5px}
.side-job span{display:block;font-size:13px;font-weight:800;color:#111;margin-bottom:4px}
.side-job small{display:block;color:#6b7280;font-size:12px;line-height:1.55}
.side-job:hover strong{color:#008c9a}
.side-link{display:inline-flex;margin-top:12px;color:#008c9a;text-decoration:none;font-weight:900;font-size:14px}
@media (max-width:800px){.job-home-inner,.job-detail-hero,.job-detail-layout{grid-template-columns:1fr}.job-search-form{flex-direction:column}.job-section{padding:28px 18px}.job-hero,.job-home-band,.job-detail-hero,.job-detail-layout{padding-left:18px;padding-right:18px}.job-feed-section{margin:18px 18px 34px}.job-feed-divider{padding:22px 18px}.job-feed-divider strong{font-size:24px}.job-feed-grid{padding:18px}}
@media (max-width:1000px){.career-layout{grid-template-columns:1fr}.career-sidebar{border-left:0;border-top:1px solid #ddd;padding-left:0}.career-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.job-pickup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.career-article-row{grid-template-columns:110px minmax(0,1fr)}.career-article-meta{grid-column:2}.career-article-row img{width:110px}}
@media (max-width:640px){.career-layout{padding:20px 16px}.career-hero h1{font-size:34px}.career-topic-grid,.job-pickup-grid{grid-template-columns:1fr}.career-article-row{grid-template-columns:1fr}.career-article-row img{width:100%}.side-article{grid-template-columns:96px minmax(0,1fr)}.side-article img{width:96px}}
@media (max-width:900px){.rs-header-main{grid-template-columns:118px minmax(150px,1fr) 118px;padding:0 10px}.rs-logo-text{font-size:30px}.rs-user-tools strong{display:none}.rs-user-tools{gap:8px}.rs-nav ul{justify-content:center;padding:0 6px}.rs-nav a{padding:11px 6px;font-size:12px}.rs-search-panel{left:10px}.rs-left-tools{gap:4px}.rs-icon-button{width:46px}.rs-footer ul{display:grid;gap:8px}.rs-footer .rs-copyright{margin-left:0;text-align:left;margin-top:10px}}
/* ROBOT JOBS END */
