/* Final layout authority. This file intentionally loads after legacy styles. */
:root {
  --ja-red: #ff4658;
  --ja-red-deep: #d71932;
  --ja-ink: #17181d;
  --ja-muted: #626976;
  --ja-paper: #fffaf5;
  --ja-mint: #effbf8;
  --ja-line: rgba(23, 24, 29, .13);
  --ja-burgundy: #3a0810;
}

.recruitment-v2,
.recruitment-v2 * {
  box-sizing: border-box;
}

.recruitment-v2 img,
.recruitment-v2 video {
  max-width: 100%;
}

.recruitment-v2 [data-i18n] {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

.recruitment-v2 .container,
.recruitment-v2 .hero-shell {
  width: min(1480px, calc(100% - 64px)) !important;
  max-width: 1480px !important;
  margin-inline: auto !important;
}

.recruitment-v2 .section {
  height: auto !important;
  min-height: 0 !important;
  overflow: clip;
  padding-block: clamp(72px, 6vw, 112px) !important;
}

.recruitment-v2 .section[id] {
  scroll-margin-top: 108px;
}

.recruitment-v2 .section-heading h2,
.recruitment-v2 .support-heading h3 {
  max-width: 19ch;
  margin: 0;
  font-size: clamp(40px, 4.6vw, 70px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.045em;
  word-break: normal !important;
  overflow-wrap: break-word;
}

html[lang="ja"] .recruitment-v2 .section-heading h2,
html[lang="ja"] .recruitment-v2 .support-heading h3 {
  font-size: clamp(38px, 4vw, 62px) !important;
  line-break: strict;
}

/* Hero */
.recruitment-v2 .hero {
  height: auto !important;
  min-height: calc(100svh - 84px) !important;
  padding: clamp(52px, 6vw, 96px) 0 48px !important;
  overflow: clip;
}

.recruitment-v2 .hero-shell {
  display: grid !important;
  grid-template-columns: minmax(0, .93fr) minmax(480px, 1.07fr) !important;
  align-items: center !important;
  gap: clamp(44px, 6vw, 100px) !important;
  min-height: 0 !important;
}

.recruitment-v2 .hero-content,
.recruitment-v2 .hero-media {
  position: relative !important;
  inset: auto !important;
  min-width: 0;
  transform: none;
}

.recruitment-v2 .hero-title {
  max-width: 11ch !important;
  margin: 20px 0 24px !important;
  font-size: clamp(58px, 6vw, 98px) !important;
  line-height: .96 !important;
  letter-spacing: -.065em !important;
  word-break: normal !important;
  overflow-wrap: break-word;
}

html[lang="ja"] .recruitment-v2 .hero-title {
  max-width: 12ch !important;
  font-size: clamp(52px, 5.25vw, 86px) !important;
  line-break: strict;
}

.recruitment-v2 .hero-title > span {
  display: block !important;
  width: fit-content;
  max-width: 100%;
}

.recruitment-v2 .hero-statement {
  max-width: 18ch;
  font-size: clamp(26px, 2.6vw, 44px) !important;
  line-height: 1.2 !important;
}

.recruitment-v2 .hero-lead {
  max-width: 38em;
  margin-top: 20px;
  font-size: clamp(16px, 1.15vw, 20px) !important;
  line-height: 1.8 !important;
}

.recruitment-v2 .hero-facts {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin-top: 28px;
  border: 1px solid var(--ja-line);
  background: rgba(255,255,255,.72);
}

.recruitment-v2 .hero-facts > span {
  min-width: 0;
  min-height: 112px;
  padding: 18px !important;
  border-right: 1px solid var(--ja-line);
}

.recruitment-v2 .hero-facts > span:last-child { border-right: 0; }
.recruitment-v2 .hero-facts b { overflow-wrap: anywhere; }

.recruitment-v2 .hero-media figure {
  position: relative !important;
  inset: auto !important;
  width: 100%;
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f3eeea;
}

.recruitment-v2 .hero-media figure img {
  position: absolute !important;
  inset: 0 !important;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* The hero image is essential content, so it must never depend on a reveal observer. */
.recruitment-v2 .hero-media.reveal {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
}

.recruitment-v2 .hero-workways {
  position: relative !important;
  inset: auto !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: calc(100% - 48px) !important;
  margin: -34px auto 0 !important;
  z-index: 2;
}

.recruitment-v2 .hero-workway {
  min-width: 0;
  min-height: 154px;
  padding: 22px !important;
}

/* Recruitment conditions */
.recruitment-v2 .conditions-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-top: 48px !important;
}

.recruitment-v2 .condition-card,
.recruitment-v2 .condition-card-backstage {
  grid-column: auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 304px !important;
  padding: 34px !important;
}

/* Two development paths */
.recruitment-v2 #streamer,
.recruitment-v2 #streamer .container,
.recruitment-v2 #streamer .streamer-feature-grid,
.recruitment-v2 #streamer .candidate-panel {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.recruitment-v2 #streamer .section-heading.wide h2 {
  display: grid;
  gap: 10px;
  max-width: 15ch !important;
}

.recruitment-v2 #streamer .live-paths {
  display: grid !important;
  grid-template-columns: .86fr 1fr 1fr !important;
  align-items: stretch;
  gap: 0 !important;
  margin-top: 40px !important;
  border: 1px solid var(--ja-line);
}

.recruitment-v2 #streamer .live-paths-head,
.recruitment-v2 #streamer .live-path {
  position: relative !important;
  inset: auto !important;
  width: auto !important;
  min-width: 0;
  min-height: 320px !important;
  padding: clamp(26px, 2.8vw, 40px) !important;
  border-right: 1px solid var(--ja-line);
}

.recruitment-v2 #streamer .live-path:last-child { border-right: 0; }
.recruitment-v2 #streamer .live-paths-head h3 { font-size: clamp(34px, 3.4vw, 56px) !important; line-height: 1.08 !important; }
.recruitment-v2 #streamer .live-path h4 { font-size: clamp(25px, 2vw, 34px) !important; line-height: 1.2 !important; }
.recruitment-v2 #streamer .live-path p { font-size: 17px !important; line-height: 1.8 !important; }

.recruitment-v2 #streamer .streamer-feature-grid {
  display: grid !important;
  grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr) !important;
  align-items: stretch !important;
  gap: 22px !important;
  margin-top: 24px !important;
}

.recruitment-v2 #streamer .feature-visual {
  position: relative !important;
  inset: auto !important;
  min-height: 560px !important;
  overflow: hidden;
}

.recruitment-v2 #streamer .feature-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.recruitment-v2 #streamer .candidate-panel {
  position: relative !important;
  inset: auto !important;
  min-width: 0;
  min-height: 560px !important;
  padding: clamp(32px, 3.6vw, 54px) !important;
}

.recruitment-v2 #streamer .candidate-panel h3 { font-size: clamp(34px, 3.2vw, 54px) !important; line-height: 1.08 !important; }
.recruitment-v2 #streamer .candidate-panel .check-list { display: grid; gap: 14px; }
.recruitment-v2 #streamer .salary-callout,
.recruitment-v2 #streamer .part-time-callout { width: 100% !important; max-width: none !important; }

/* Support system: a stable summary plus an eight-card support grid. */
.recruitment-v2 #support,
.recruitment-v2 #support .container,
.recruitment-v2 #support .support-block,
.recruitment-v2 #support .support-matrix {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

.recruitment-v2 #support .support-heading {
  position: relative !important;
  inset: auto !important;
  width: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  align-items: start;
  gap: 40px;
  margin-bottom: 44px !important;
  text-align: left !important;
}

.recruitment-v2 #support .support-heading .eyebrow { grid-column: 1 / -1; }
.recruitment-v2 #support .support-heading h3 {
  grid-column: 1;
  max-width: 18ch !important;
  margin: 0 0 16px !important;
  font-size: clamp(38px, 3.8vw, 54px) !important;
  line-height: 1.12 !important;
}
.recruitment-v2 #support .support-lead {
  grid-column: 2;
  max-width: 34em !important;
  margin: 8px 0 0 !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.recruitment-v2 #support .support-matrix {
  position: relative !important;
  inset: auto !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-areas:
    "summary summary summary summary"
    "n1 n2 n3 n4"
    "n5 n6 n7 n8" !important;
  gap: 12px !important;
  width: 100% !important;
  aspect-ratio: auto !important;
  transform: none !important;
}

.recruitment-v2 #support .support-matrix::before,
.recruitment-v2 #support .support-matrix::after,
.recruitment-v2 #support .support-center::before,
.recruitment-v2 #support .support-center::after,
.recruitment-v2 #support .support-node::before,
.recruitment-v2 #support .support-node::after {
  content: none !important;
  display: none !important;
}

.recruitment-v2 #support .support-center {
  grid-area: summary !important;
  position: relative !important;
  inset: auto !important;
  display: grid !important;
  grid-template-columns: 190px minmax(0, 1fr);
  align-items: center;
  gap: 32px;
  width: 100% !important;
  height: auto !important;
  min-height: 196px !important;
  padding: clamp(30px, 3.4vw, 50px) !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: linear-gradient(125deg, var(--ja-red) 0 27%, var(--ja-red-deep) 27% 100%) !important;
  color: #fff !important;
  text-align: left !important;
  transform: none !important;
  box-shadow: none !important;
}

.recruitment-v2 #support .support-center > span {
  grid-row: 1 / 3;
  align-self: center;
  font-size: clamp(64px, 8vw, 118px) !important;
  line-height: 1;
  opacity: .96;
}

.recruitment-v2 #support .support-center b {
  align-self: end;
  color: #fff !important;
  font-size: clamp(30px, 3vw, 48px) !important;
}

.recruitment-v2 #support .support-center p {
  align-self: start;
  max-width: 48em;
  color: rgba(255,255,255,.86) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

.recruitment-v2 #support .support-node {
  position: relative !important;
  inset: auto !important;
  display: grid !important;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 14px;
  width: 100% !important;
  height: auto !important;
  min-height: 128px !important;
  padding: 22px !important;
  border: 1px solid var(--ja-line) !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: var(--ja-ink) !important;
  text-align: left !important;
  transform: none !important;
  box-shadow: none !important;
}

.recruitment-v2 #support .support-node:hover,
.recruitment-v2 #support .support-node:focus-visible { transform: translateY(-5px) !important; border-color: rgba(255,70,88,.55) !important; }
.recruitment-v2 #support .support-node.is-active { background: var(--ja-red) !important; color: #fff !important; border-color: var(--ja-red) !important; }
.recruitment-v2 #support .support-node svg { width: 30px; height: 30px; }
.recruitment-v2 #support .support-node span { font-size: 19px !important; font-weight: 750; }
.recruitment-v2 #support .node-1 { grid-area: n1 !important; }
.recruitment-v2 #support .node-2 { grid-area: n2 !important; }
.recruitment-v2 #support .node-3 { grid-area: n3 !important; }
.recruitment-v2 #support .node-4 { grid-area: n4 !important; }
.recruitment-v2 #support .node-5 { grid-area: n5 !important; }
.recruitment-v2 #support .node-6 { grid-area: n6 !important; }
.recruitment-v2 #support .node-7 { grid-area: n7 !important; }
.recruitment-v2 #support .node-8 { grid-area: n8 !important; }

/* Final layout corrections: keep recruitment content compact and readable. */
.recruitment-v2 .section[id] { scroll-margin-top: 126px; }

.recruitment-v2 #streamer .section-heading.wide h2 {
  max-width: 18ch !important;
  font-size: clamp(42px, 4.1vw, 64px) !important;
}

html[lang="ja"] .recruitment-v2 #streamer .section-heading.wide h2 {
  max-width: 17ch !important;
  font-size: clamp(40px, 3.7vw, 58px) !important;
}

.recruitment-v2 #streamer .live-paths-head,
.recruitment-v2 #streamer .live-path {
  min-height: 260px !important;
  padding: clamp(28px, 3vw, 44px) !important;
}

.recruitment-v2 #streamer .streamer-feature-grid {
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr) !important;
  grid-template-rows: auto !important;
  align-items: start !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.recruitment-v2 #streamer .feature-visual {
  position: relative !important;
  height: 720px !important;
  min-height: 720px !important;
  align-self: start !important;
  overflow: hidden !important;
}

.recruitment-v2 #streamer .feature-visual > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.recruitment-v2 #streamer .candidate-panel {
  height: 720px !important;
  min-height: 720px !important;
  max-height: none !important;
  align-self: start !important;
  padding: clamp(28px, 3vw, 42px) !important;
  overflow: hidden !important;
}

/* Critical recruiting content must never remain hidden behind a nested reveal state. */
.recruitment-v2 #streamer .streamer-feature-grid > .reveal,
.recruitment-v2 #core-team .team-roster.reveal {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
}

.recruitment-v2 #streamer .candidate-panel h3 {
  margin: 12px 0 20px !important;
  font-size: clamp(30px, 3vw, 46px) !important;
}

.recruitment-v2 #streamer .check-list { gap: 10px !important; }
.recruitment-v2 #streamer .check-list li { min-height: 0 !important; line-height: 1.5 !important; }
.recruitment-v2 #streamer .salary-callout,
.recruitment-v2 #streamer .part-time-callout { margin-top: 16px !important; }
.recruitment-v2 #streamer .part-time-callout { padding: 14px 16px !important; }
.recruitment-v2 #streamer .part-time-callout li { min-height: 44px !important; }
.recruitment-v2 #streamer .fine-print { margin-top: 16px !important; line-height: 1.6 !important; }
.recruitment-v2 #streamer .text-link { margin-top: 18px !important; }

/* Workflow and evidence */
.recruitment-v2 #day {
  color: var(--ja-ink) !important;
  background: #fffaf5 !important;
}

.recruitment-v2 #day .day-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
  gap: 0 !important;
  align-items: stretch !important;
}

.recruitment-v2 #day .day-media {
  grid-column: 1 !important;
  grid-column: 1 / 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  justify-self: stretch !important;
  height: auto !important;
  min-height: 620px !important;
  border-radius: 6px 0 0 6px !important;
}

.recruitment-v2 #day .day-media img { width: 100%; height: 100%; object-fit: cover; }

.recruitment-v2 #day .day-content {
  grid-column: 2 / 3 !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: clamp(38px, 4.5vw, 68px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  color: var(--ja-ink) !important;
  border: 1px solid var(--ja-line) !important;
  border-left: 0 !important;
  border-radius: 0 6px 6px 0 !important;
  background: rgba(255,255,255,.94) !important;
}

.recruitment-v2 #day .day-content h2 {
  margin: 10px 0 26px !important;
  max-width: 13ch !important;
  color: var(--ja-ink) !important;
  font-size: clamp(38px, 4vw, 62px) !important;
  line-height: 1.08 !important;
}

.recruitment-v2 #day .day-step {
  min-height: 0 !important;
  padding: 13px 0 !important;
  color: var(--ja-muted) !important;
  border-color: var(--ja-line) !important;
}

.recruitment-v2 #day .day-step b { color: var(--ja-ink) !important; }
.recruitment-v2 #day .day-step small { color: var(--ja-muted) !important; }

.recruitment-v2 #evidence .evidence-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  height: auto !important;
  overflow: visible !important;
}

.recruitment-v2 #evidence .evidence-performance {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: minmax(330px, .78fr) minmax(0, 1.22fr) !important;
  height: auto !important;
  min-height: 500px !important;
  background: #fff5f2 !important;
}

.recruitment-v2 #evidence .evidence-performance-copy,
.recruitment-v2 #evidence .evidence-performance-media { min-width: 0; height: auto !important; }
.recruitment-v2 #evidence .evidence-performance-copy { background: var(--ja-burgundy) !important; color: #fff !important; }

.recruitment-v2 #evidence .evidence-performance-copy :is(small, strong, b, em, span, h3, h4) {
  color: #fff !important;
}

.recruitment-v2 #evidence .evidence-performance-copy :is(.evidence-performance-body, .evidence-candidate-value, .evidence-performance-note) {
  color: rgba(255,255,255,.78) !important;
}

.recruitment-v2 #evidence .evidence-video {
  position: relative !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden;
  background: var(--ja-burgundy) !important;
}

.recruitment-v2 #evidence .evidence-video video {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: var(--ja-burgundy);
}

.recruitment-v2 .business-section,
.recruitment-v2 .core-team-section { background-color: var(--ja-burgundy) !important; }

/* Team, bases and contact should support the recruiting story without adding empty screens. */
.recruitment-v2 .core-team-section,
.recruitment-v2 .core-team-section .container {
  min-height: 0 !important;
  height: auto !important;
}

.recruitment-v2 .core-team-section { padding-block: 76px !important; }
.recruitment-v2 .core-team-heading { margin-bottom: 28px !important; }
.recruitment-v2 .core-team-heading h2 {
  max-width: 19ch !important;
  margin-bottom: 16px !important;
  font-size: clamp(40px, 4.3vw, 64px) !important;
}

.recruitment-v2 .team-feature {
  min-height: 340px !important;
  grid-template-columns: 210px minmax(210px, 260px) 1fr !important;
  overflow: hidden !important;
}

.recruitment-v2 .team-feature-portrait { min-height: 340px !important; }
.recruitment-v2 .team-feature-identity { padding: 30px 26px !important; }
.recruitment-v2 .team-feature-identity strong { margin: 26px 0 10px !important; font-size: clamp(46px, 4.4vw, 68px) !important; }
.recruitment-v2 .team-feature-identity span {
  max-width: 15ch;
  font-size: clamp(14px, 1.25vw, 18px) !important;
  line-height: 1.45 !important;
  overflow-wrap: anywhere;
}

html[lang="ja"] .recruitment-v2 .core-team-heading h2 {
  max-width: 21ch !important;
}
.recruitment-v2 .team-feature-copy { padding: clamp(28px, 3.2vw, 46px) !important; }
.recruitment-v2 .team-feature-copy h3 { margin-bottom: 16px !important; font-size: clamp(25px, 2.3vw, 36px) !important; }
.recruitment-v2 .team-feature-copy p { line-height: 1.72 !important; }
.recruitment-v2 .team-tags { margin-top: 20px !important; }
.recruitment-v2 .team-roster {
  margin-top: 16px !important;
  gap: 14px !important;
  align-items: stretch !important;
  grid-auto-rows: minmax(360px, auto) !important;
}
.recruitment-v2 .team-person {
  height: auto !important;
  min-height: 360px !important;
  padding: 22px !important;
  overflow: hidden !important;
}

/* Interactive systems must expand with their active explanation. */
.recruitment-v2 .business-system,
.recruitment-v2 .business-track,
.recruitment-v2 .business-focus {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

.recruitment-v2 .business-system,
.recruitment-v2 .business-focus {
  overflow: hidden !important;
}

.recruitment-v2 .bases-section { padding-block: 76px !important; }
.recruitment-v2 .bases-heading { margin-bottom: 32px !important; }
.recruitment-v2 .bases-heading h2 { max-width: 17ch !important; }

.recruitment-v2 .line-popup {
  right: 16px !important;
  bottom: 16px !important;
  width: min(405px, calc(100vw - 32px)) !important;
  padding: 20px !important;
  grid-template-columns: minmax(0, 1fr) 116px !important;
  gap: 20px !important;
}

.recruitment-v2 .line-popup > img { width: 116px !important; height: 116px !important; }
.recruitment-v2 .line-popup-copy h2 { font-size: 17px !important; }
.recruitment-v2 .line-popup-copy p { font-size: 10px !important; line-height: 1.6 !important; }

/* Keep browser comment/anchor jumps clear of the fixed header. */
.recruitment-v2 .section[id] { scroll-margin-top: 104px; }

/* Secondary modules should never clip their copy. */
.recruitment-v2 .roles-layout,
.recruitment-v2 .process-system,
.recruitment-v2 .faq-grid,
.recruitment-v2 .bases-grid,
.recruitment-v2 .core-team-layout {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

@media (max-width: 1120px) {
  .recruitment-v2 .hero-shell { grid-template-columns: minmax(0, 1fr) minmax(410px, .86fr) !important; gap: 42px !important; }
  .recruitment-v2 .hero-title { font-size: clamp(50px, 6vw, 72px) !important; }
  .recruitment-v2 #streamer .live-paths { grid-template-columns: 1fr 1fr !important; }
  .recruitment-v2 #streamer .live-paths-head { grid-column: 1 / -1; min-height: 240px !important; }
  .recruitment-v2 #support .support-matrix {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-areas: "summary summary" "n1 n2" "n3 n4" "n5 n6" "n7 n8" !important;
  }
  .recruitment-v2 .conditions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .recruitment-v2 .condition-card-backstage { grid-column: 1 / -1 !important; }
}

@media (max-width: 820px) {
  .recruitment-v2 .container,
  .recruitment-v2 .hero-shell { width: min(100% - 32px, 720px) !important; }
  .recruitment-v2 .section { padding-block: 64px !important; }
  .recruitment-v2 .section[id] { scroll-margin-top: 92px; }
  .recruitment-v2 .hero { min-height: 0 !important; padding-top: 36px !important; }
  .recruitment-v2 .hero-shell {
    grid-template-columns: 1fr !important;
    grid-auto-rows: auto !important;
    align-items: start !important;
    gap: 32px !important;
  }
  .recruitment-v2 .hero-content {
    order: 1;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    align-self: start !important;
  }
  .recruitment-v2 .hero-content .reveal {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    filter: none !important;
  }
  .recruitment-v2 .hero-media {
    order: 2;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    align-self: start !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
  .recruitment-v2 .hero-media figure {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
  }
  .recruitment-v2 .hero-media figure .hero-image {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
  }
  .recruitment-v2 .hero-title,
  html[lang="ja"] .recruitment-v2 .hero-title { max-width: 12ch !important; font-size: clamp(48px, 12vw, 70px) !important; }
  .recruitment-v2 .hero-facts { grid-template-columns: 1fr !important; }
  .recruitment-v2 .hero-facts > span { min-height: 88px; border-right: 0; border-bottom: 1px solid var(--ja-line); }
  .recruitment-v2 .hero-facts > span:last-child { border-bottom: 0; }
  .recruitment-v2 .hero-workways { width: calc(100% - 20px) !important; grid-template-columns: 1fr !important; margin-top: -18px !important; }
  .recruitment-v2 .conditions-grid { grid-template-columns: 1fr !important; }
  .recruitment-v2 .condition-card-backstage { grid-column: auto !important; }
  .recruitment-v2 #streamer .live-paths { grid-template-columns: 1fr !important; }
  .recruitment-v2 #streamer .live-paths-head,
  .recruitment-v2 #streamer .live-path { grid-column: auto; min-height: 0 !important; border-right: 0; border-bottom: 1px solid var(--ja-line); }
  .recruitment-v2 #streamer .streamer-feature-grid { grid-template-columns: 1fr !important; }
  .recruitment-v2 #streamer .feature-visual { height: auto !important; min-height: 500px !important; aspect-ratio: 4 / 3; }
  .recruitment-v2 #streamer .candidate-panel { min-height: 0 !important; height: auto !important; }
  .recruitment-v2 #support .support-heading { grid-template-columns: 1fr !important; gap: 22px; }
  .recruitment-v2 #support .support-heading .eyebrow,
  .recruitment-v2 #support .support-heading h3,
  .recruitment-v2 #support .support-lead { grid-column: 1; }
  .recruitment-v2 #support .support-center { grid-template-columns: 1fr; gap: 14px; }
  .recruitment-v2 #support .support-center > span { grid-row: auto; font-size: 72px !important; }
  .recruitment-v2 #evidence .evidence-performance { grid-template-columns: 1fr !important; }
  .recruitment-v2 #evidence .evidence-grid { grid-template-columns: 1fr !important; }
  .recruitment-v2 #evidence .evidence-performance { grid-column: auto !important; }
  .recruitment-v2 #day .day-grid { grid-template-columns: 1fr !important; }
  .recruitment-v2 #day .day-media {
    grid-column: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3;
    border-radius: 6px 6px 0 0 !important;
  }
  .recruitment-v2 #day .day-content {
    grid-column: auto !important;
    padding: 34px 28px !important;
    border: 1px solid var(--ja-line) !important;
    border-top: 0 !important;
    border-radius: 0 0 6px 6px !important;
  }
  .recruitment-v2 #day .day-content h2 {
    max-width: 15ch !important;
    font-size: clamp(36px, 8vw, 52px) !important;
  }
  .recruitment-v2 .team-feature {
    grid-template-columns: minmax(150px, .62fr) minmax(0, 1.38fr) !important;
  }
  .recruitment-v2 .team-feature-identity { grid-column: 1; grid-row: 1; }
  .recruitment-v2 .team-feature-portrait { grid-column: 2; grid-row: 1; min-height: 360px !important; }
  .recruitment-v2 .team-feature-copy { grid-column: 1 / -1; grid-row: 2; }
  .recruitment-v2 .team-roster { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .recruitment-v2 .line-popup {
    bottom: 78px !important;
    width: min(310px, calc(100vw - 24px)) !important;
    grid-template-columns: minmax(0, 1fr) 78px !important;
  }
  .recruitment-v2 .line-popup > img { width: 78px !important; height: 78px !important; }
}

@media (max-width: 560px) {
  .recruitment-v2 .container,
  .recruitment-v2 .hero-shell { width: calc(100% - 24px) !important; }
  .recruitment-v2 .section { padding-block: 54px !important; }
  .recruitment-v2 .section-heading h2,
  .recruitment-v2 .support-heading h3,
  html[lang="ja"] .recruitment-v2 .section-heading h2,
  html[lang="ja"] .recruitment-v2 .support-heading h3 { font-size: clamp(34px, 10vw, 48px) !important; }
  .recruitment-v2 .hero-title,
  html[lang="ja"] .recruitment-v2 .hero-title { font-size: clamp(44px, 13.5vw, 62px) !important; }
  .recruitment-v2 .hero-actions { display: grid !important; grid-template-columns: 1fr; }
  .recruitment-v2 .hero-actions .button { width: 100%; justify-content: center; }
  .recruitment-v2 #support .support-matrix {
    grid-template-columns: 1fr !important;
    grid-template-areas: "summary" "n1" "n2" "n3" "n4" "n5" "n6" "n7" "n8" !important;
  }
  .recruitment-v2 #support .support-center { min-height: 240px !important; padding: 26px !important; }
  .recruitment-v2 #support .support-node { min-height: 94px !important; padding: 20px !important; }
  .recruitment-v2 #streamer .feature-visual { height: auto !important; min-height: 400px !important; aspect-ratio: 4 / 3; }
  .recruitment-v2 #streamer .candidate-panel { padding: 28px 22px !important; }
  .recruitment-v2 #evidence .evidence-performance { min-height: 0 !important; }
  .recruitment-v2 #day .day-media { min-height: 0 !important; aspect-ratio: 4 / 3; }
  .recruitment-v2 #day .day-content { padding: 28px 22px !important; }
  .recruitment-v2 #day .day-content h2 { font-size: clamp(32px, 10vw, 44px) !important; }
  .recruitment-v2 .core-team-section,
  .recruitment-v2 .bases-section { padding-block: 56px !important; }
  .recruitment-v2 .team-feature { grid-template-columns: 1fr !important; }
  .recruitment-v2 .team-feature-identity,
  .recruitment-v2 .team-feature-portrait,
  .recruitment-v2 .team-feature-copy { grid-column: 1; grid-row: auto; }
  .recruitment-v2 .team-feature-identity { min-height: 230px !important; }
  .recruitment-v2 .team-feature-portrait { min-height: 380px !important; }
  .recruitment-v2 .team-roster { grid-template-columns: 1fr !important; }
  .recruitment-v2 .team-person { min-height: 0 !important; }
  .recruitment-v2 .line-popup {
    right: 12px !important;
    bottom: 76px !important;
    width: calc(100vw - 24px) !important;
    padding: 14px !important;
  }
}

/* 2026-08-25 final layout repair.
   This block is intentionally last so desktop and mobile rules share one authority. */
.recruitment-v2 #bases,
.recruitment-v2 #bases .container,
.recruitment-v2 #bases .bases-heading {
  overflow: visible !important;
}

.recruitment-v2 #bases .bases-heading {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr) !important;
  column-gap: 48px !important;
  row-gap: 12px !important;
  align-items: end !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  margin-bottom: 32px !important;
}

.recruitment-v2 #bases .bases-heading .eyebrow {
  grid-column: 1 / -1;
}

.recruitment-v2 #bases .bases-heading h2 {
  grid-column: 1;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  margin: 0 !important;
  max-width: 17ch !important;
  overflow: visible !important;
}

.recruitment-v2 #bases .bases-heading > p:last-child {
  grid-column: 2;
  margin: 0 0 8px !important;
  max-width: 46ch;
}

@media (max-width: 820px) {
  .recruitment-v2 .site-header,
  .recruitment-v2 .site-header.is-scrolled {
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    border-radius: 0 !important;
  }

  .recruitment-v2 .hero {
    padding-top: 28px !important;
    overflow: visible !important;
  }

  .recruitment-v2 .hero-content,
  .recruitment-v2 .hero-title,
  .recruitment-v2 .hero-title > span {
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    clip-path: none !important;
  }

  .recruitment-v2 .hero-title,
  html[lang="ja"] .recruitment-v2 .hero-title {
    max-width: none !important;
    margin-top: 0 !important;
    line-height: 1.02 !important;
  }

  .recruitment-v2 main {
    padding-bottom: 96px !important;
  }

  .recruitment-v2 .mobile-apply {
    transition: opacity .25s ease, visibility .25s ease, transform .35s var(--ease) !important;
  }

  body.hero-in-view .mobile-apply {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(140%) !important;
  }

  .recruitment-v2 .line-popup,
  .recruitment-v2 .line-launcher {
    bottom: calc(94px + env(safe-area-inset-bottom)) !important;
    z-index: 950 !important;
  }

  .recruitment-v2 #bases .bases-heading {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .recruitment-v2 #bases .bases-heading > * {
    grid-column: 1 !important;
  }

  .recruitment-v2 #bases .bases-heading h2 {
    font-size: clamp(34px, 10vw, 48px) !important;
  }

  .recruitment-v2 .process-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-inline: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }

  .recruitment-v2 .process-list::before,
  .recruitment-v2 .process-list::after {
    display: none !important;
  }

  .recruitment-v2 .process-list li,
  .recruitment-v2 .process-list li:nth-child(n) {
    display: block !important;
    flex: none !important;
    width: auto !important;
    min-width: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .recruitment-v2 .process-list button {
    min-height: 118px !important;
    width: 100% !important;
    padding: 14px 10px !important;
  }

  .recruitment-v2 .process-focus {
    margin-top: 12px !important;
  }
}

@media (max-width: 560px) {
  .recruitment-v2 .hero-title,
  html[lang="ja"] .recruitment-v2 .hero-title {
    font-size: clamp(38px, 12vw, 52px) !important;
    line-height: 1.02 !important;
  }

  .recruitment-v2 .process-list button {
    min-height: 108px !important;
  }

  .recruitment-v2 .line-popup,
  .recruitment-v2 .line-launcher {
    bottom: calc(92px + env(safe-area-inset-bottom)) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .recruitment-v2 *,
  .recruitment-v2 *::before,
  .recruitment-v2 *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* 2026-08-25 release QA corrections. */
.recruitment-v2 .section[id] {
  scroll-margin-top: 148px !important;
}

.recruitment-v2 #streamer .streamer-feature-grid {
  align-items: stretch !important;
}

.recruitment-v2 #streamer .candidate-panel {
  height: auto !important;
  min-height: 720px !important;
  max-height: none !important;
  align-self: stretch !important;
  overflow: visible !important;
}

.recruitment-v2 #streamer .feature-visual {
  height: auto !important;
  min-height: 720px !important;
  align-self: stretch !important;
}

.recruitment-v2 #evidence .container,
.recruitment-v2 #evidence .evidence-grid {
  overflow: visible !important;
}

.recruitment-v2 #evidence .container {
  padding-bottom: 28px !important;
}

@media (max-width: 820px) {
  .recruitment-v2 .section[id] {
    scroll-margin-top: 108px !important;
  }

  .recruitment-v2 main {
    padding-bottom: calc(124px + env(safe-area-inset-bottom)) !important;
  }

  body.hero-in-view .mobile-apply,
  body.apply-in-view .mobile-apply,
  body.line-popup-open .mobile-apply {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(140%) !important;
  }

  .recruitment-v2 #streamer .candidate-panel,
  .recruitment-v2 #streamer .feature-visual {
    min-height: 0 !important;
  }

  .recruitment-v2 .line-popup {
    bottom: calc(16px + env(safe-area-inset-bottom)) !important;
  }

  .recruitment-v2 .line-launcher {
    bottom: calc(94px + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 560px) {
  .recruitment-v2 .line-popup {
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
  }

  .recruitment-v2 .line-launcher {
    bottom: calc(92px + env(safe-area-inset-bottom)) !important;
  }
}

/* 2026-08-26 confirmed content and layout corrections.
   Keep the existing LINE module and base section untouched. */
.recruitment-v2 #support .support-heading {
  display: block !important;
  max-width: 880px !important;
  margin: 0 auto 38px !important;
  text-align: center !important;
}

.recruitment-v2 #support .support-heading .eyebrow,
.recruitment-v2 #support .support-heading h3,
.recruitment-v2 #support .support-lead {
  display: block !important;
  max-width: none !important;
  margin-inline: auto !important;
}

.recruitment-v2 #support .support-heading h3 {
  max-width: 18ch !important;
  margin-top: 0 !important;
}

.recruitment-v2 #support .support-lead {
  max-width: 42em !important;
  margin-top: 18px !important;
}

@media (min-width: 821px) {
  .recruitment-v2 #support .support-matrix {
    position: relative !important;
    display: block !important;
    width: min(960px, 100%) !important;
    height: 640px !important;
    min-height: 640px !important;
    margin: 28px auto 0 !important;
    overflow: visible !important;
  }

  .recruitment-v2 #support .support-matrix::before,
  .recruitment-v2 #support .support-matrix::after {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    display: block !important;
    content: "" !important;
    border: 1px solid rgba(16, 18, 24, .13) !important;
    border-radius: 50% !important;
    transform: translate(-50%, -50%) rotate(var(--support-arc-rotation, 0deg)) !important;
    transition: transform .52s var(--ease) !important;
    pointer-events: none;
  }

  .recruitment-v2 #support .support-matrix::before {
    width: 520px !important;
    height: 520px !important;
  }

  .recruitment-v2 #support .support-matrix::after {
    width: 370px !important;
    height: 370px !important;
    border-color: rgba(255, 70, 88, .25) !important;
  }

  .recruitment-v2 #support .support-matrix > .support-center,
  .recruitment-v2 #support .support-matrix > .support-center.is-active {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 280px !important;
    height: 280px !important;
    min-height: 0 !important;
    padding: 34px !important;
    border: 1px solid rgba(255, 255, 255, .5) !important;
    border-radius: 50% !important;
    background: linear-gradient(145deg, #ff4d5e 0%, #d71936 100%) !important;
    color: #fff !important;
    text-align: center !important;
    transform: translate(-50%, -50%) !important;
    box-shadow: 0 28px 64px rgba(215, 25, 54, .22) !important;
    overflow: visible !important;
    z-index: 2 !important;
  }

  .recruitment-v2 #support .support-center > span {
    grid-row: auto !important;
    font-size: 48px !important;
  }

  .recruitment-v2 #support .support-center > b {
    align-self: auto !important;
    font-size: 26px !important;
    line-height: 1.2 !important;
  }

  .recruitment-v2 #support .support-center > p {
    align-self: auto !important;
    max-width: 22em !important;
    margin: 4px 0 0 !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
  }

  .recruitment-v2 #support .support-matrix > .support-node {
    position: absolute !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    grid-area: auto !important;
    width: auto !important;
    min-width: 168px !important;
    height: 64px !important;
    min-height: 64px !important;
    padding: 14px 20px !important;
    border: 1px solid rgba(16, 18, 24, .13) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .94) !important;
    color: var(--ja-ink) !important;
    text-align: center !important;
    transform: none !important;
    box-shadow: 0 14px 34px rgba(41, 49, 47, .09) !important;
    backdrop-filter: blur(10px);
    z-index: 3 !important;
    transition: transform .24s var(--ease) !important;
  }

  .recruitment-v2 #support .support-matrix > .support-node svg {
    width: 22px !important;
    height: 22px !important;
  }

  .recruitment-v2 #support .support-matrix > .support-node span {
    font-size: 16px !important;
  }

  .recruitment-v2 #support .support-matrix > .node-1 { left: 50% !important; top: 0 !important; right: auto !important; bottom: auto !important; transform: translateX(-50%) !important; }
  .recruitment-v2 #support .support-matrix > .node-2 { left: auto !important; top: 13% !important; right: 9% !important; bottom: auto !important; }
  .recruitment-v2 #support .support-matrix > .node-3 { left: auto !important; top: 45% !important; right: 0 !important; bottom: auto !important; }
  .recruitment-v2 #support .support-matrix > .node-4 { left: auto !important; top: auto !important; right: 9% !important; bottom: 12% !important; }
  .recruitment-v2 #support .support-matrix > .node-5 { left: 50% !important; top: auto !important; right: auto !important; bottom: 0 !important; transform: translateX(-50%) !important; }
  .recruitment-v2 #support .support-matrix > .node-6 { left: 9% !important; top: auto !important; right: auto !important; bottom: 12% !important; }
  .recruitment-v2 #support .support-matrix > .node-7 { left: 0 !important; top: 45% !important; right: auto !important; bottom: auto !important; }
  .recruitment-v2 #support .support-matrix > .node-8 { left: 9% !important; top: 13% !important; right: auto !important; bottom: auto !important; }

  .recruitment-v2 #support .support-matrix > .support-node:focus-visible,
  .recruitment-v2 #support .support-matrix > .support-node.is-active,
  .recruitment-v2 #support .support-matrix > .support-node.is-pinned {
    border-color: var(--ja-red) !important;
    background: var(--ja-red) !important;
    color: #fff !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 16px 36px rgba(255, 70, 88, .22) !important;
  }

  .recruitment-v2 #support .support-matrix > .node-1:focus-visible,
  .recruitment-v2 #support .support-matrix > .node-1.is-active,
  .recruitment-v2 #support .support-matrix > .node-1.is-pinned,
  .recruitment-v2 #support .support-matrix > .node-5:focus-visible,
  .recruitment-v2 #support .support-matrix > .node-5.is-active,
  .recruitment-v2 #support .support-matrix > .node-5.is-pinned {
    transform: translateX(-50%) translateY(-4px) !important;
  }

  @media (hover: hover) and (pointer: fine) {
    .recruitment-v2 #support .support-matrix > .support-node:hover {
      border-color: var(--ja-red) !important;
      background: var(--ja-red) !important;
      color: #fff !important;
      transform: translateY(-4px) !important;
      box-shadow: 0 16px 36px rgba(255, 70, 88, .22) !important;
    }

    .recruitment-v2 #support .support-matrix > .node-1:hover,
    .recruitment-v2 #support .support-matrix > .node-5:hover {
      transform: translateX(-50%) translateY(-4px) !important;
    }
  }

  .recruitment-v2 #day .day-grid {
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
    gap: 30px !important;
    align-items: start !important;
  }

  .recruitment-v2 #day .day-media {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1672 / 941 !important;
    align-self: start !important;
    border-radius: 6px !important;
  }

  .recruitment-v2 #day .day-content {
    align-self: start !important;
    justify-content: flex-start !important;
    padding: clamp(34px, 3.2vw, 50px) !important;
    border: 1px solid var(--ja-line) !important;
    border-radius: 6px !important;
  }
}

@media (max-width: 820px) {
  .recruitment-v2 #support .support-heading {
    margin-bottom: 30px !important;
  }

  .recruitment-v2 #day .day-media {
    aspect-ratio: 1672 / 941 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .recruitment-v2 #support .support-matrix > .support-node {
    transition-duration: .01ms !important;
  }
}

/* 2026-08-26 confirmed visual corrections. */
.recruitment-v2 #support .support-block {
  margin-inline: auto !important;
}

@media (min-width: 821px) {
  .recruitment-v2 #day .day-grid {
    grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr) !important;
    gap: 42px !important;
    align-items: center !important;
  }

  .recruitment-v2 #day .day-media {
    aspect-ratio: 16 / 10 !important;
    height: auto !important;
    min-height: 0 !important;
    align-self: center !important;
  }

  .recruitment-v2 #day .day-content {
    align-self: center !important;
    padding: clamp(30px, 3vw, 46px) !important;
  }

  .recruitment-v2 #day .day-content h2 {
    margin-bottom: 22px !important;
    font-size: clamp(38px, 3.6vw, 58px) !important;
    line-height: 1.08 !important;
  }

  .recruitment-v2 #day .day-steps {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 28px !important;
  }

  .recruitment-v2 #day .day-step {
    min-height: 86px !important;
    padding: 14px 0 !important;
  }

  .recruitment-v2 #evidence .evidence-video video {
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: contain !important;
    background: #14151b !important;
    transform: none !important;
  }

  .recruitment-v2 #evidence .evidence-video:hover video,
  .recruitment-v2 #evidence .evidence-video.is-playing video {
    transform: none !important;
  }
}

@media (max-width: 820px) {
  .recruitment-v2 #evidence .evidence-video video {
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: contain !important;
    background: #14151b !important;
    transform: none !important;
  }
}
