:root {
  --brand-green: #00894d;
  --green: #007744;
  --green-dark: #075a40;
  --green-pale: #e8f2ed;
  --charcoal: #1a201e;
  --ink: #25302c;
  --muted: #68736f;
  --off-white: #f6f5f0;
  --white: #fff;
  --line: #d7ddd9;
  --yellow: #f2d31e;
  --yellow-pale: #fff8be;
  --danger: #9b392f;
  --wrap: min(1160px, calc(100% - 40px));
  --narrow: min(780px, calc(100% - 40px));
  --shadow: 0 18px 50px rgba(12, 31, 23, .12);
  --radius: 3px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--off-white);
  font-family: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 16px;
  line-height: 1.85;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.nav-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #0b68d8; outline-offset: 4px; }
.wrap { width: var(--wrap); margin-inline: auto; }
.narrow { width: var(--narrow); margin-inline: auto; }
.screen-reader-text {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link { position: fixed; z-index: 9999; left: 16px; top: -100px; padding: 10px 16px; background: #fff; }
.skip-link:focus { top: 16px; }

.test-ribbon {
  position: relative; z-index: 30; padding: 5px 16px; color: #2a2500;
  background: var(--yellow); text-align: center; font-size: 12px; font-weight: 800;
}
.site-header {
  position: sticky; top: 0; z-index: 20; background: rgba(246, 245, 240, .94);
  border-bottom: 1px solid rgba(8, 121, 79, .16); backdrop-filter: blur(14px);
}
.is-test-site .site-header { top: 0; }
.site-header__inner { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.site-header__inner > .site-brand { flex: 0 1 330px; }
.site-brand { display: inline-flex; align-items: center; width: min(330px, 34vw); min-width: 210px; padding: 8px 0; text-decoration: none; }
.site-brand__logo { display: block; width: 100%; height: auto; }
.site-nav { display: flex; align-items: center; gap: 18px; }
.site-nav__list, .site-nav ul { display: flex; align-items: center; gap: clamp(12px, 1.7vw, 25px); list-style: none; margin: 0; padding: 0; }
.site-nav a { text-decoration: none; font-size: 14px; font-weight: 800; white-space: nowrap; }
.site-nav a:hover { color: var(--green); }
.nav-toggle { display: none; width: 48px; height: 48px; border: 0; background: transparent; cursor: pointer; }
.nav-toggle > span:not(.screen-reader-text) { display: block; width: 25px; height: 2px; margin: 6px auto; background: var(--charcoal); }

.button {
  display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 9px;
  padding: 11px 23px; color: var(--white); background: var(--green); border: 1px solid var(--green);
  border-radius: var(--radius); text-decoration: none; font-weight: 800; line-height: 1.35; cursor: pointer;
  transition: transform .2s ease, background-color .2s ease, color .2s ease;
}
.button::after { content: "→"; }
.button:hover { background: var(--green-dark); transform: translateY(-2px); }
.button--outline { color: var(--green-dark); background: transparent; border-color: var(--green); }
.button--dark { background: var(--charcoal); border-color: var(--charcoal); }
.button--recruit { color: #171700; background: var(--yellow); border-color: var(--yellow); }
.button--small { min-height: 42px; padding: 8px 15px; font-size: 13px; }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; }
.text-link { color: var(--green-dark); font-weight: 800; }

.hero { position: relative; isolation: isolate; min-height: min(760px, calc(100vh - 85px)); color: var(--white); background: var(--charcoal); overflow: hidden; }
.hero::before {
  content: ""; position: absolute; inset: 0; z-index: -2;
  background: linear-gradient(98deg, rgba(10, 20, 17, .96) 0%, rgba(10, 20, 17, .74) 50%, rgba(10, 20, 17, .22) 100%),
    url("../images/work-residential.webp") center/cover no-repeat;
}
.hero::after {
  content: ""; position: absolute; z-index: -1; right: -10vw; bottom: -32vh; width: 80vw; height: 60vh;
  border-top: 1px solid rgba(255,255,255,.28); transform: rotate(-8deg); background: rgba(255,255,255,.03);
}
.hero__inner { min-height: inherit; display: flex; align-items: center; padding-block: clamp(80px, 12vw, 150px); }
.hero__content { max-width: 790px; }
.eyebrow { margin: 0 0 16px; color: var(--green); font: 800 12px/1.4 Arial, sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.hero .eyebrow { color: #9de3c5; }
.hero h1 { margin: 0; max-width: 760px; font-size: clamp(38px, 6.2vw, 82px); line-height: 1.15; letter-spacing: .02em; font-weight: 900; }
.hero h1 span { display: block; color: #b9ead5; font-size: .36em; letter-spacing: .12em; margin-bottom: 10px; }
.hero__lead { max-width: 720px; margin: 28px 0 32px; font-size: clamp(16px, 2vw, 21px); line-height: 1.9; }
.hero__facts { display: flex; flex-wrap: wrap; gap: 0; margin: 0 0 30px; padding: 0; list-style: none; }
.hero__facts li { padding: 0 17px; border-left: 1px solid rgba(255,255,255,.35); font-size: 13px; font-weight: 700; }
.hero__facts li:first-child { padding-left: 0; border-left: 0; }
.hero .button--outline { color: #fff; border-color: rgba(255,255,255,.8); }

.recruit-strip { color: #171700; background: var(--yellow); border-block: 1px solid #bca709; }
.recruit-strip__inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; min-height: 105px; }
.recruit-strip__label { font-weight: 900; letter-spacing: .1em; }
.recruit-strip h2 { margin: 0; font-size: clamp(20px, 3vw, 30px); line-height: 1.35; }
.recruit-strip a { font-weight: 900; }

.section { padding-block: clamp(72px, 9vw, 126px); }
.section--white { background: var(--white); }
.section--dark { color: var(--white); background: var(--charcoal); }
.section--green { color: var(--white); background: var(--green-dark); }
.section--compact { padding-block: clamp(50px, 6vw, 80px); }
.section-heading { display: grid; grid-template-columns: minmax(220px, .7fr) 1.3fr; gap: 60px; align-items: end; margin-bottom: clamp(38px, 6vw, 72px); }
.section-heading h2 { margin: 0; font-size: clamp(32px, 4.5vw, 58px); line-height: 1.25; letter-spacing: .02em; }
.section-heading p:last-child { margin: 0; }
.section--dark .eyebrow, .section--green .eyebrow { color: #9de3c5; }
.section--dark .text-link, .section--green .text-link { color: #b9ead5; }

.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.strength { padding: 34px; border-top: 4px solid var(--green); background: var(--white); box-shadow: var(--shadow); }
.strength__number { color: var(--green); font: 800 13px/1 Arial, sans-serif; letter-spacing: .15em; }
.strength h3 { margin: 18px 0 12px; font-size: 23px; line-height: 1.45; }
.strength p { margin: 0; color: var(--muted); }

.service-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: rgba(255,255,255,.2); border: 1px solid rgba(255,255,255,.2); }
.service-item { min-height: 150px; padding: 28px; background: var(--charcoal); }
.service-item h3 { margin: 0 0 8px; font-size: 20px; }
.service-item p { margin: 0; color: #b8c1bd; }

.recruit-feature { display: grid; grid-template-columns: 1fr 1fr; min-height: 560px; }
.recruit-feature__visual { position: relative; overflow: hidden; background: #111; }
.recruit-feature__visual::before {
  content: ""; position: absolute; inset: -2%; background: url("../images/work-warehouse.webp") center/cover no-repeat;
  filter: grayscale(.9) contrast(1.05); opacity: .68;
}
.recruit-feature__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, transparent 30%, rgba(7,90,64,.8)); }
.recruit-feature__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(40px, 7vw, 100px); color: #171700; background: var(--yellow); }
.recruit-feature h2 { margin: 0 0 22px; font-size: clamp(36px, 5vw, 64px); line-height: 1.2; }
.recruit-feature p { max-width: 620px; }
.salary-box { margin: 24px 0; padding: 18px 20px; background: rgba(255,255,255,.6); border-left: 5px solid var(--charcoal); }
.salary-box strong { display: block; font-size: clamp(21px, 3vw, 31px); }
.provisional { display: inline-block; margin-left: 5px; padding: 2px 6px; color: #fff; background: var(--danger); font-size: .55em; vertical-align: middle; }

.work-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.work-card { background: var(--white); border-bottom: 3px solid var(--green); box-shadow: var(--shadow); }
.work-card__image { position: relative; display: block; aspect-ratio: 3/2; overflow: hidden; background: #d5dad7; }
.work-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.work-card:hover .work-card__image img { transform: scale(1.035); }
.work-card__placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(145deg, #d7dfdb, #9cacA4); }
.badge { display: inline-flex; padding: 6px 9px; font-size: 12px; font-weight: 900; line-height: 1.2; }
.badge--sample { position: absolute; top: 12px; left: 12px; color: #171700; background: var(--yellow); border: 1px solid #a99300; }
.work-card__body { padding: 23px; }
.work-card__body h3 { margin: 7px 0 10px; font-size: 21px; line-height: 1.5; }
.work-card__body h3 a { text-decoration: none; }
.work-card__body > p:last-child { color: var(--muted); font-size: 13px; }
.work-card__meta { margin: 0; color: var(--green-dark); font-size: 12px; font-weight: 800; letter-spacing: .05em; }

.company-split { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: center; }
.portrait-frame { position: relative; max-width: 390px; padding: 18px; background: #e6ece9; }
.portrait-frame img { width: 100%; aspect-ratio: 4/5; object-fit: cover; image-rendering: auto; }
.portrait-frame::after { content: none; }
.message h2 { margin: 0 0 25px; font-size: clamp(31px, 4vw, 50px); line-height: 1.35; }
.message__signature { margin-top: 28px; font-weight: 800; letter-spacing: .08em; }

.contact-band { color: var(--white); background: var(--green-dark); }
.contact-band__inner { display: grid; grid-template-columns: 1.2fr .8fr; gap: 50px; align-items: center; padding-block: clamp(55px, 7vw, 90px); }
.contact-band h2 { margin: 0 0 16px; font-size: clamp(30px, 4vw, 52px); }
.contact-band .button { color: var(--green-dark); background: #fff; border-color: #fff; }
.contact-band__actions { display: grid; gap: 12px; }
.contact-band__tel { font: 800 clamp(28px, 4vw, 44px)/1.2 Arial, sans-serif; text-decoration: none; }

.page-hero { padding-block: clamp(70px, 10vw, 130px); color: #fff; background: var(--charcoal); }
.page-hero__inner { display: grid; grid-template-columns: 1fr .8fr; gap: 60px; align-items: end; }
.page-hero h1 { margin: 0; font-size: clamp(40px, 6vw, 72px); line-height: 1.2; }
.page-hero p:last-child { margin: 0; color: #c6cfcb; }
.breadcrumb { padding-block: 15px; font-size: 12px; color: var(--muted); }
.breadcrumb a { color: var(--green-dark); }

.content-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .38fr); gap: 70px; }
.prose h2 { margin: 2.4em 0 .8em; font-size: clamp(28px, 3.7vw, 42px); line-height: 1.4; }
.prose h2:first-child { margin-top: 0; }
.prose h3 { margin: 2em 0 .7em; font-size: 23px; }
.prose p, .prose li { max-width: 46em; }
.prose ul, .prose ol { padding-left: 1.4em; }
.sidebar-note { align-self: start; position: sticky; top: 120px; padding: 24px; background: var(--green-pale); border-top: 4px solid var(--green); }
.sidebar-note h2, .sidebar-note h3 { margin-top: 0; font-size: 19px; }

.service-detail { display: grid; grid-template-columns: 100px 1fr; gap: 25px; padding: 35px 0; border-top: 1px solid var(--line); }
.service-detail__no { color: var(--green); font: 800 33px/1 Arial, sans-serif; }
.service-detail h2 { margin: 0 0 10px; font-size: clamp(24px, 3vw, 34px); }
.service-detail p { margin: 0; max-width: 48em; }

.facts-table { width: 100%; border-collapse: collapse; background: #fff; }
.facts-table th, .facts-table td { padding: 16px 18px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.facts-table th { width: 31%; color: var(--green-dark); background: var(--green-pale); }
.credential-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; list-style: none; padding: 0; }
.credential-list li { padding: 18px; background: #fff; border-left: 3px solid var(--green); }
.notice { padding: 18px 20px; background: var(--yellow-pale); border: 1px solid #d6c43b; }
.notice--danger { background: #fcebea; border-color: #d7a5a0; }
.notice strong { display: block; }

.recruit-hero { position: relative; isolation: isolate; padding-block: clamp(80px, 12vw, 170px); color: #fff; background: #111; overflow: hidden; }
.recruit-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: url("../images/work-winter.webp") center/cover no-repeat; filter: grayscale(.7); }
.recruit-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(15,18,17,.97), rgba(15,18,17,.72) 58%, rgba(15,18,17,.2)); }
.recruit-hero__content { max-width: 830px; }
.recruit-hero h1 { margin: 0; font-size: clamp(43px, 7vw, 88px); line-height: 1.13; }
.recruit-hero h1 em { color: var(--yellow); font-style: normal; }
.recruit-hero p { max-width: 620px; }
.recruit-hero .button--outline { color: #fff; border-color: rgba(255,255,255,.8); }
.recruit-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.recruit-nav a { padding: 9px 13px; color: #fff; border: 1px solid rgba(255,255,255,.45); text-decoration: none; font-size: 13px; font-weight: 800; }
.timeline { list-style: none; margin: 0; padding: 0; }
.timeline li { display: grid; grid-template-columns: 90px 1fr; gap: 24px; padding: 22px 0; border-top: 1px solid var(--line); }
.timeline time { color: var(--green-dark); font-weight: 900; }
.career-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: var(--line); }
.career-step { padding: 28px; background: #fff; }
.career-step span { color: var(--green); font: 800 12px/1 Arial, sans-serif; letter-spacing: .12em; }
.career-step h3 { margin: 12px 0 8px; }
.faq details { padding: 20px 0; border-top: 1px solid var(--line); }
.faq summary { cursor: pointer; font-weight: 900; font-size: 18px; }
.faq details p { padding-left: 24px; }

.form-shell { max-width: 820px; margin-inline: auto; padding: clamp(24px, 5vw, 55px); background: #fff; box-shadow: var(--shadow); }
.form-row { margin-bottom: 25px; }
.form-row label, .form-row legend { display: block; margin-bottom: 7px; font-weight: 800; }
.form-row input:not([type="checkbox"]):not([type="radio"]), .form-row select, .form-row textarea {
  width: 100%; padding: 12px 14px; color: var(--ink); background: #fff; border: 1px solid #8e9994; border-radius: 0;
}
.form-row textarea { min-height: 170px; resize: vertical; }
.form-required { margin-left: 6px; color: var(--danger); font-size: 12px; }
.form-note { color: var(--muted); font-size: 13px; }
.form-demo { padding: 14px; margin-bottom: 25px; color: #352f00; background: var(--yellow-pale); border: 1px solid #d6c43b; }

.site-footer { padding-top: 75px; color: #dce4e0; background: #111614; }
.site-footer .site-brand { width: min(320px, 100%); padding: 12px 14px; background: #fff; border-radius: 2px; }
.site-footer__grid { display: grid; grid-template-columns: 1.2fr .8fr .7fr; gap: 50px; }
.site-footer__label { margin: 0; color: #8bd0b2; font-weight: 800; }
.site-footer__tel { display: block; margin: 9px 0; font: 800 clamp(28px, 3vw, 39px)/1 Arial, sans-serif; text-decoration: none; }
.site-footer nav ul { list-style: none; margin: 0; padding: 0; columns: 2; }
.site-footer nav li { margin-bottom: 7px; }
.site-footer nav a { text-decoration: none; }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 55px; padding-block: 22px; border-top: 1px solid #34413c; font-size: 12px; }

.not-found { min-height: 65vh; display: grid; place-items: center; text-align: center; }
.not-found__code { color: var(--green); font: 900 clamp(80px, 18vw, 210px)/.8 Arial, sans-serif; opacity: .22; }
.pagination { margin-top: 45px; }
.nav-links { display: flex; gap: 8px; }
.page-numbers { display: grid; min-width: 44px; min-height: 44px; place-items: center; background: #fff; text-decoration: none; }
.page-numbers.current { color: #fff; background: var(--green); }

@media (max-width: 1020px) {
  .nav-toggle { display: block; position: relative; z-index: 31; }
  .site-nav {
    position: fixed; inset: 0 0 0 auto; z-index: 30; display: flex; width: min(420px, 100%); height: 100dvh;
    padding: 110px 28px 35px; flex-direction: column; align-items: stretch; overflow-y: auto;
    color: #fff; background: var(--charcoal); transform: translateX(105%); transition: transform .25s ease;
  }
  .site-nav.is-open { transform: translateX(0); }
  .site-nav__list, .site-nav ul { display: grid; gap: 0; }
  .site-nav li { border-top: 1px solid #39413e; }
  .site-nav li a { display: block; padding: 16px 3px; font-size: 17px; }
  .nav-open .nav-toggle span:not(.screen-reader-text) { background: #fff; }
  .grid-3, .work-grid { grid-template-columns: repeat(2, 1fr); }
  .strength:last-child { grid-column: 1 / -1; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
  .site-footer nav { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  :root { --wrap: min(100% - 28px, 1160px); --narrow: min(100% - 28px, 780px); }
  body { font-size: 15px; }
  .test-ribbon { font-size: 10px; line-height: 1.4; }
  .site-header__inner { min-height: 72px; }
  .site-brand { min-width: 0; }
  .site-header__inner > .site-brand { min-width: 168px; }
  .site-header__inner > .button { flex: 0 0 auto; padding-inline: 11px; font-size: 12px; }
  .site-brand__name { font-size: 20px; }
  .site-brand__eyebrow, .site-brand__en { font-size: 8px; }
  .hero { min-height: 690px; }
  .hero::before { background-position: 62% center; }
  .hero__inner { align-items: flex-end; }
  .hero__lead { margin: 21px 0 24px; }
  .hero__facts li { width: 50%; padding: 5px 10px; border-left: 0; border-top: 1px solid rgba(255,255,255,.2); }
  .button-row .button { width: 100%; }
  .recruit-strip__inner { grid-template-columns: 1fr; gap: 4px; padding-block: 20px; }
  .recruit-strip a { justify-self: start; }
  .section-heading, .page-hero__inner, .content-grid, .company-split, .contact-band__inner { grid-template-columns: 1fr; gap: 25px; }
  .grid-3, .work-grid, .service-list, .credential-list, .career-steps { grid-template-columns: 1fr; }
  .strength:last-child { grid-column: auto; }
  .recruit-feature { grid-template-columns: 1fr; }
  .recruit-feature__visual { min-height: 320px; }
  .recruit-feature__copy { padding-block: 55px; }
  .service-detail { grid-template-columns: 55px 1fr; gap: 12px; }
  .service-detail__no { font-size: 23px; }
  .facts-table, .facts-table tbody, .facts-table tr, .facts-table th, .facts-table td { display: block; width: 100%; }
  .facts-table th { padding-bottom: 4px; border-bottom: 0; }
  .facts-table td { padding-top: 7px; }
  .sidebar-note { position: static; }
  .site-footer__grid { grid-template-columns: 1fr; }
  .site-footer nav { grid-column: auto; }
  .site-footer__bottom { flex-direction: column; }
  .timeline li { grid-template-columns: 65px 1fr; gap: 13px; }
}

/* Ver. 1.2.5 visual refinement: Japanese typography and planned video slots */
:where(body, p, li, dt, dd, th, td, figcaption, summary, a, span) {
  line-break: strict;
  word-break: normal;
  overflow-wrap: break-word;
  text-wrap: pretty;
}

h1, h2, h3, h4 {
  line-break: strict;
  word-break: normal;
  overflow-wrap: break-word;
  text-wrap: balance;
}

.no-break { white-space: nowrap; }
.hero__lead > span { display: block; }

.video-section {
  position: relative;
  padding-block: clamp(64px, 8vw, 112px);
  background: #dfe9e4;
}

.video-section--work { background: #0d3d2e; }
.video-section--message { background: #ece9e0; }
.video-section--recruit { background: #15211d; }
.video-section--recruit-day { background: #e4ece8; }

.video-feature {
  display: grid;
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
  grid-template-areas: "media copy";
  gap: clamp(52px, 7vw, 96px);
  align-items: center;
  max-width: 1040px;
  margin-inline: auto;
}

.video-feature--media-right {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  grid-template-areas: "copy media";
}

.video-feature__media {
  grid-area: media;
  position: relative;
  display: block;
  justify-self: start;
  width: clamp(320px, 26.4vw, 360px);
  max-width: 360px;
  aspect-ratio: 9 / 16;
  padding: 0;
  overflow: hidden;
  color: #fff;
  background: #121816;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 2px;
  box-shadow: 0 28px 68px rgba(4, 21, 15, .3);
  text-decoration: none;
  isolation: isolate;
}

button.video-feature__media {
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.video-feature--media-right .video-feature__media { justify-self: end; }

.video-feature__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--poster-position, 50% 50%);
  transform: scale(1.015);
  transition: transform .55s ease, filter .55s ease;
}

button.video-feature__media:hover img { transform: scale(1.04); filter: saturate(1.08); }
button.video-feature__media:focus-visible { outline: 3px solid var(--yellow); outline-offset: 5px; }

.video-feature__shade {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(180deg, rgba(5, 10, 8, .28) 0%, rgba(5, 10, 8, .04) 30%, rgba(5, 10, 8, .08) 66%, rgba(5, 10, 8, .68) 100%);
}

.video-feature__image-label,
.video-feature__play,
.video-feature__status { position: absolute; z-index: 3; }

.video-feature__image-label {
  top: 14px;
  right: 14px;
  max-width: calc(100% - 28px);
  padding: 6px 8px;
  color: #fff;
  background: rgba(0, 0, 0, .72);
  border: 1px solid rgba(255, 255, 255, .36);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}

.video-feature__play {
  left: 50%;
  top: 50%;
  display: grid;
  width: clamp(62px, 6vw, 78px);
  aspect-ratio: 1;
  place-items: center;
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 50%;
  box-shadow: 0 16px 42px rgba(0, 0, 0, .35);
  transform: translate(-50%, -50%);
}

.video-feature__play i {
  display: block;
  width: 0;
  height: 0;
  margin-left: 5px;
  border-top: 11px solid transparent;
  border-bottom: 11px solid transparent;
  border-left: 18px solid var(--green-dark);
}

.video-feature__status {
  left: 14px;
  bottom: 14px;
  display: inline-block;
  max-width: calc(100% - 28px);
  padding: 7px 9px;
  color: #b9ead5;
  background: rgba(5, 18, 13, .78);
  border: 1px solid rgba(185, 234, 213, .34);
  font: 900 10px/1.2 Arial, sans-serif;
  letter-spacing: .08em;
  white-space: nowrap;
}

.video-feature__status b { color: #fff; }

.video-feature__copy {
  grid-area: copy;
  min-width: 0;
  max-width: 520px;
  color: #1c2823;
}

.video-section--work .video-feature__copy,
.video-section--recruit .video-feature__copy { color: #fff; }

.video-feature__eyebrow {
  margin: 0 0 18px;
  color: var(--green);
  font: 900 12px/1.2 Arial, sans-serif;
  letter-spacing: .18em;
}

.video-section--work .video-feature__eyebrow,
.video-section--recruit .video-feature__eyebrow { color: #8ce0ba; }

.video-feature__copy h2 {
  display: flex;
  flex-direction: column;
  gap: clamp(8px, 1vw, 14px);
  margin: 0;
  max-width: 100%;
  color: inherit;
  letter-spacing: .01em;
}

.video-feature__title-primary,
.video-feature__title-secondary {
  display: block;
  line-break: strict;
  word-break: normal;
  overflow-wrap: break-word;
}

.video-feature__title-primary {
  font-size: clamp(31px, 3.1vw, 44px);
  font-weight: 900;
  line-height: 1.16;
}

.video-feature__title-secondary {
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 800;
  line-height: 1.42;
}

.video-feature__description {
  max-width: 34em;
  margin: clamp(24px, 3vw, 34px) 0 0;
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.95;
}

.video-feature__note {
  display: flex;
  gap: 10px;
  align-items: center;
  margin: 20px 0 0;
  color: #4f655b;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.6;
}

.video-feature__note::before {
  content: "";
  flex: 0 0 28px;
  height: 1px;
  background: currentColor;
}

.video-section--work .video-feature__note,
.video-section--recruit .video-feature__note { color: #9db0a8; }

.short-video-modal {
  width: 100vw;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 0;
  color: #fff;
  background: transparent;
  border: 0;
}

.short-video-modal[open] { display: grid; place-items: center; }
.short-video-modal::backdrop { background: rgba(3, 10, 7, .88); backdrop-filter: blur(8px); }

.short-video-modal__panel {
  position: relative;
  width: auto;
  max-width: calc(100vw - 32px);
  height: min(85dvh, calc((100vw - 32px) * 16 / 9));
  max-height: 85dvh;
  aspect-ratio: 9 / 16;
  overflow: hidden;
  background: #000;
  border: 1px solid rgba(255, 255, 255, .3);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .5);
}

.short-video-modal__stage,
.short-video-modal__player { width: 100%; height: 100%; }
.short-video-modal__player { display: block; object-fit: contain; border: 0; }

.short-video-modal__close {
  position: absolute;
  z-index: 2;
  top: 10px;
  right: 10px;
  display: grid;
  width: 44px;
  aspect-ratio: 1;
  place-items: center;
  padding: 0 0 4px;
  color: #fff;
  background: rgba(0, 0, 0, .7);
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 50%;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}

.short-video-modal__close:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }
body.short-video-modal-open { overflow: hidden; }

.recruit-video-banner { background: var(--yellow); }
.recruit-video-banner > a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: clamp(18px, 3vw, 34px);
  align-items: center;
  min-height: 138px;
  padding-block: 26px;
  color: #201f0b;
  text-decoration: none;
}
.recruit-video-banner__play {
  position: relative;
  display: block;
  width: 58px;
  aspect-ratio: 1;
  background: var(--charcoal);
  border-radius: 50%;
}
.recruit-video-banner__play::after {
  content: "";
  position: absolute;
  left: 23px;
  top: 18px;
  border-top: 11px solid transparent;
  border-bottom: 11px solid transparent;
  border-left: 17px solid #fff;
}
.recruit-video-banner small { display: block; font-weight: 800; }
.recruit-video-banner strong { display: block; margin-top: 3px; font-size: clamp(18px, 2vw, 25px); line-height: 1.45; }
.recruit-video-banner b { font-size: 13px; white-space: nowrap; }

.condition-note {
  display: inline-flex;
  margin: 16px 0 0 !important;
  padding: 7px 11px;
  color: #292400;
  background: rgba(255, 255, 255, .58);
  border: 1px solid rgba(59, 52, 0, .32);
  font-size: 12px;
  font-weight: 900;
}

.proof-card,
.fit-grid article,
.support-grid article,
.scope-grid article,
.work-card { height: 100%; }

.button-row .button { text-align: center; }

@media (max-width: 1100px) {
  .video-feature {
    grid-template-columns: minmax(280px, 320px) minmax(0, 1fr);
    gap: clamp(38px, 5vw, 58px);
    max-width: 900px;
  }
  .video-feature--media-right { grid-template-columns: minmax(0, 1fr) minmax(280px, 320px); }
  .video-feature__media { width: min(32vw, 320px); }
}

@media (max-width: 900px) {
  .video-feature {
    grid-template-columns: minmax(280px, 300px) minmax(0, 1fr);
    gap: 32px;
  }
  .video-feature--media-right { grid-template-columns: minmax(0, 1fr) minmax(280px, 300px); }
  .video-feature__media { width: clamp(280px, 36vw, 300px); }
  .video-feature__title-primary { font-size: clamp(28px, 4vw, 35px); }
  .video-feature__title-secondary { font-size: clamp(18px, 2.75vw, 23px); }
  .video-feature__description { font-size: 15px; line-height: 1.8; }
}

@media (max-width: 700px) {
  .video-feature,
  .video-feature--media-right {
    display: flex;
    flex-direction: column;
    gap: 30px;
    max-width: 560px;
  }
  .video-feature__media,
  .video-feature--media-right .video-feature__media {
    align-self: center;
    width: min(78vw, 320px);
    max-width: 320px;
  }
  .video-feature__copy { align-self: center; width: min(100%, 520px); }
  .video-feature__eyebrow { margin-bottom: 14px; }
  .video-feature__title-primary { font-size: clamp(28px, 8.4vw, 38px); }
  .video-feature__title-secondary { font-size: clamp(18px, 5.2vw, 24px); }
  .video-feature__description { margin-top: 20px; font-size: 15px; line-height: 1.85; }
  .video-feature__note { margin-top: 16px; }
}

@media (max-width: 760px) {
  .section { padding-block: clamp(62px, 18vw, 86px); }
  .section-intro { margin-bottom: 38px; }
  .section-intro h2 { font-size: clamp(31px, 9.4vw, 43px); line-height: 1.34; }
  .page-hero { padding-block: 72px; }
  .page-hero h1 { font-size: clamp(37px, 11vw, 50px); }
  .hero__lead > span { display: inline; }
  .video-section { padding-block: 54px; }
  .video-section .wrap { width: calc(100% - 28px); }
  .recruit-video-banner > a { grid-template-columns: auto 1fr; min-height: 0; padding-block: 24px; }
  .recruit-video-banner__play { width: 48px; }
  .recruit-video-banner__play::after { left: 19px; top: 14px; }
  .recruit-video-banner b { grid-column: 2; white-space: normal; }
  .fit-grid article, .support-grid article, .scope-grid article { min-height: 0; }
}

@media (max-width: 410px) {
  :root { --wrap: min(1160px, calc(100% - 28px)); --narrow: min(780px, calc(100% - 28px)); }
  .hero--v11 h1 { font-size: clamp(31px, 10vw, 38px); }
  .hero__lead { max-width: 34em; }
  .video-feature__play { width: 58px; }
  .video-feature__image-label { top: 10px; right: 10px; font-size: 9px; }
  .video-feature__status { left: 10px; bottom: 10px; max-width: calc(100% - 20px); font-size: 9px; }
  .facts-table td { overflow-wrap: break-word; }
}

@media (max-width: 340px) {
  .site-brand__eyebrow, .site-brand__en { display: none; }
  .site-header__inner { min-height: 70px; }
  .hero--v11 h1 { font-size: 30px; }
  .hero__journeys { gap: 6px; }
  .journey-card { min-height: 70px; padding: 11px 13px; }
  .hero__trust { grid-template-columns: 1fr; }
  .hero__trust li { padding: 5px 0; border-top: 1px solid rgba(255,255,255,.2); }
  .video-feature__media { width: min(76vw, 258px); }
  .video-feature__title-primary { font-size: 27px; }
  .video-feature__title-secondary { font-size: 17px; }
}

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

@media print {
  .test-ribbon, .site-header, .site-footer, .button { display: none !important; }
  body { color: #000; background: #fff; }
}

/* Ver. 1.1 structural revision */
.phrase { display: inline-block; }
h1, h2, h3 { word-break: keep-all; overflow-wrap: anywhere; }
.button--outline-dark { color: var(--charcoal); background: transparent; border-color: var(--charcoal); }
.button--outline-light { color: #fff; background: transparent; border-color: rgba(255,255,255,.8); }
.section-intro { max-width: 850px; margin-bottom: clamp(36px, 5vw, 66px); }
.section-intro--split { display: grid; grid-template-columns: minmax(300px, .9fr) minmax(280px, .7fr); max-width: none; gap: clamp(35px, 7vw, 100px); align-items: end; }
.section-intro h2 { margin: 0; font-size: clamp(34px, 4.5vw, 60px); line-height: 1.25; letter-spacing: .01em; }
.section-intro > p:last-child, .section-intro--split > p { margin: 20px 0 0; }
.section-intro--split > p { margin: 0; }
.lead-copy { font-size: clamp(18px, 2vw, 23px); font-weight: 700; line-height: 1.8; }
.section-link { margin: 35px 0 0; text-align: right; }

.hero--v11 { min-height: min(840px, calc(100svh - 50px)); }
.hero--v11::before { background: linear-gradient(92deg, rgba(6,18,15,.98) 0%, rgba(6,18,15,.87) 42%, rgba(6,18,15,.34) 72%, rgba(6,18,15,.12) 100%), url("../images/hero-metal-hokkaido-v1.webp") 68% center/cover no-repeat; }
.hero--v11::after { right: auto; left: 0; bottom: 0; width: 48%; height: 1px; transform: none; background: #fff; opacity: .35; }
.hero--v11 .hero__content { max-width: 900px; }
.hero--v11 h1 { max-width: 880px; font-size: clamp(42px, 5.6vw, 78px); }
.hero__journeys { display: grid; grid-template-columns: repeat(2, minmax(250px, 1fr)); max-width: 720px; gap: 12px; margin: 28px 0 22px; }
.journey-card { position: relative; display: grid; min-height: 108px; align-content: center; gap: 4px; padding: 20px 52px 20px 22px; border: 1px solid rgba(255,255,255,.5); text-decoration: none; transition: transform .2s ease, background-color .2s ease; }
.journey-card::after { content: "→"; position: absolute; right: 20px; top: 50%; font-size: 22px; transform: translateY(-50%); }
.journey-card:hover { transform: translateY(-2px); }
.journey-card span { font-size: 12px; font-weight: 700; }
.journey-card strong { font-size: 18px; }
.journey-card--customer { color: #13231e; background: #fff; }
.journey-card--recruit { color: #1b1a00; background: var(--yellow); border-color: var(--yellow); }
.hero__phone { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 14px; margin-top: 8px; }
.hero__phone > span, .hero__phone small { font-size: 12px; }
.hero__phone a { font: 900 clamp(25px, 3vw, 36px)/1 Arial, sans-serif; text-decoration: none; }
.hero__trust { display: flex; flex-wrap: wrap; gap: 0; margin: 24px 0 0; padding: 15px 0 0; border-top: 1px solid rgba(255,255,255,.3); list-style: none; }
.hero__trust li { padding: 0 20px; border-left: 1px solid rgba(255,255,255,.28); font-size: 12px; font-weight: 800; }
.hero__trust li:first-child { padding-left: 0; border-left: 0; }
.hero__trust strong { font-size: 21px; }

.recruit-priority { color: #171700; background: var(--yellow); border-block: 1px solid #bca709; }
.recruit-priority__grid { display: grid; grid-template-columns: minmax(280px,.8fr) minmax(360px,1.15fr) auto; gap: 28px; align-items: center; padding-block: 34px; }
.recruit-priority h2 { margin: 0; font-size: clamp(25px, 3vw, 38px); line-height: 1.3; }
.recruit-priority .eyebrow { color: #514900; }
.benefit-chips { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.benefit-chips li { padding: 6px 10px; color: #222100; background: rgba(255,255,255,.65); border: 1px solid rgba(65,58,0,.35); font-size: 12px; font-weight: 900; }
.benefit-chips--green li { color: var(--green-dark); background: var(--green-pale); border-color: rgba(8,121,79,.28); }
.recruit-priority .button-row { display: grid; }
.recruit-priority .button { min-width: 185px; }

.proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.proof-card { min-height: 280px; padding: 34px 26px; background: #fff; }
.proof-card > span { color: var(--green); font: 900 12px/1 Arial, sans-serif; letter-spacing: .15em; }
.proof-card strong { display: block; margin-top: 52px; font-size: clamp(20px, 2vw, 27px); line-height: 1.4; }
.proof-card p { margin-bottom: 0; color: var(--muted); font-size: 14px; }

.problem-section { background: #075238; }
.problem-section .section-intro h2 { color: #fff; }
.problem-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: rgba(255,255,255,.22); border: 1px solid rgba(255,255,255,.22); }
.problem-grid a { position: relative; display: grid; min-height: 150px; align-content: center; gap: 7px; padding: 28px 60px 28px 28px; background: #075238; text-decoration: none; transition: background-color .2s ease; }
.problem-grid a::after { content: "→"; position: absolute; right: 28px; top: 50%; transform: translateY(-50%); font-size: 25px; }
.problem-grid a:hover { background: #0a6747; }
.problem-grid strong { font-size: clamp(19px, 2vw, 25px); }
.problem-grid span { color: #c8ddd4; font-size: 14px; }

.services-v11 { display: grid; grid-template-columns: minmax(340px,.75fr) minmax(500px,1.15fr); gap: clamp(45px, 7vw, 100px); align-items: start; }
.services-v11 > * { min-width: 0; }
.services-v11__visual { position: sticky; top: 120px; min-width: 0; overflow: hidden; }
.services-v11__visual img { width: 100%; max-width: 100%; min-height: 560px; object-fit: cover; }
.service-groups { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.service-groups li { border-bottom: 1px solid var(--line); }
.service-groups a { display: grid; grid-template-columns: 55px 1fr; gap: 18px; align-items: center; padding: 20px 8px; text-decoration: none; }
.service-groups b { color: var(--green); font: 900 13px/1 Arial, sans-serif; }
.service-groups span { display: grid; }
.service-groups strong { font-size: 20px; }
.service-groups small { color: var(--muted); }

.works-v11 { background: #edf1ef; }
.badge--static { position: static; margin-top: 10px; }
.work-grid--featured { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.work-grid--featured .work-card__body h3 { font-size: clamp(18px, 1.8vw, 24px); }

.recruit-story { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 720px; color: #fff; background: var(--charcoal); }
.recruit-story__image { min-height: 620px; background: linear-gradient(90deg, transparent 60%, rgba(20,25,23,.75)), url("../images/recruit-craft-team-v1.webp") 50% center/cover no-repeat; }
.recruit-story__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(50px, 7vw, 110px); }
.recruit-story h2 { margin: 0; font-size: clamp(42px, 5vw, 70px); line-height: 1.2; }
.recruit-story p { max-width: 580px; }
.story-list { margin: 25px 0 32px; padding: 0; list-style: none; border-top: 1px solid #4b5652; }
.story-list li { padding: 12px 0; border-bottom: 1px solid #4b5652; font-weight: 800; }

.company-trust { display: grid; grid-template-columns: minmax(220px,.38fr) 1fr; gap: clamp(45px, 7vw, 95px); align-items: center; }
.company-trust__portrait { max-width: 360px; }
.company-trust__portrait img { width: 100%; aspect-ratio: 2/3; object-fit: contain; background: #d8e3e7; }
.company-trust__portrait span { display: block; margin-top: 12px; font-size: 13px; font-weight: 800; }
.company-trust h2 { margin: 0; font-size: clamp(34px, 4.5vw, 58px); line-height: 1.3; }
.company-facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin: 36px 0; background: var(--line); border: 1px solid var(--line); }
.company-facts p { display: grid; gap: 3px; margin: 0; padding: 20px; background: #fff; }
.company-facts strong { color: var(--green-dark); font-size: 20px; }
.company-facts span { color: var(--muted); font-size: 12px; }

.consultation { background: #dfe9e4; }
.flow-list { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; margin: 0; padding: 0; list-style: none; background: #a8b9b1; border: 1px solid #a8b9b1; }
.flow-list li { display: grid; min-height: 170px; align-content: start; gap: 8px; padding: 24px; background: #f7f8f7; }
.flow-list b { color: var(--green); font: 900 13px/1 Arial, sans-serif; }
.flow-list strong { margin-top: 20px; font-size: 19px; }
.flow-list span { color: var(--muted); font-size: 13px; }

.dual-cta { display: grid; grid-template-columns: repeat(2,1fr); }
.dual-cta a { position: relative; display: grid; min-height: 260px; align-content: center; gap: 6px; padding: clamp(40px, 6vw, 90px); text-decoration: none; }
.dual-cta a::after { content: "→"; position: absolute; right: clamp(28px,5vw,70px); top: 50%; font-size: 34px; transform: translateY(-50%); }
.dual-cta span { font-size: 13px; font-weight: 800; }
.dual-cta strong { padding-right: 45px; font-size: clamp(27px, 3.7vw, 48px); line-height: 1.3; }
.dual-cta small { opacity: .85; }
.dual-cta__customer { color: #fff; background: var(--green-dark); }
.dual-cta__recruit { color: #171700; background: var(--yellow); }
.dual-cta--single a { min-height: 230px; }

.mobile-action-bar { display: none; }

/* Recruitment pages */
.page-hero--recruit { background: linear-gradient(105deg, rgba(15,22,19,.98), rgba(15,22,19,.7)), url("../images/recruit-craft-team-v1.webp") center/cover no-repeat; }
.recruit-overview { display: grid; grid-template-columns: 1fr .8fr; gap: clamp(45px,7vw,90px); align-items: center; }
.recruit-overview h2 { margin: 0; font-size: clamp(35px,4.5vw,58px); line-height: 1.3; }
.recruit-overview figure { margin: 0; }
.recruit-overview figcaption, .recruit-two-column figcaption { margin-top: 8px; color: var(--muted); font-size: 11px; }

.recruit-hero--v11 { min-height: min(790px, calc(100svh - 55px)); display: flex; align-items: center; padding-block: clamp(80px,10vw,140px); }
.recruit-hero--v11::before { filter: none; background: url("../images/recruit-craft-team-v1.webp") 58% center/cover no-repeat; }
.recruit-hero--v11::after { background: linear-gradient(92deg, rgba(9,17,14,.98) 0%, rgba(9,17,14,.88) 47%, rgba(9,17,14,.3) 78%, rgba(9,17,14,.1)); }
.recruit-hero--v11 .recruit-hero__content { width: var(--wrap); max-width: none; margin-inline: auto; }
.recruit-hero--v11 h1 { max-width: 850px; }
.recruit-hero--v11 h1 .phrase { display: block; }
.recruit-hero--v11 p { font-size: clamp(16px,2vw,21px); line-height: 1.9; }
.recruit-hero__facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 30px 0; padding: 0; list-style: none; }
.recruit-hero__facts li { padding: 7px 12px; color: #fff; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.35); font-size: 13px; font-weight: 900; }
.recruit-summary { color: #171700; background: var(--yellow); }
.recruit-summary__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; padding-block: 28px; }
.recruit-summary p { display: grid; gap: 2px; margin: 0; padding: 6px 25px; border-left: 1px solid rgba(46,42,0,.25); }
.recruit-summary p:first-child { border-left: 0; }
.recruit-summary span { font-size: 11px; font-weight: 800; }
.recruit-summary strong { font-size: clamp(18px,2vw,25px); }
.recruit-two-column { display: grid; grid-template-columns: 1fr .85fr; gap: clamp(45px,7vw,100px); align-items: center; }
.recruit-two-column--reverse { grid-template-columns: .85fr 1fr; }
.recruit-two-column > * { min-width: 0; }
.recruit-two-column h2 { margin: 0; font-size: clamp(36px,4.7vw,62px); line-height: 1.25; }
.recruit-two-column figure { margin: 0; min-width: 0; overflow: hidden; }
.recruit-two-column figure img { width: 100%; max-width: 100%; min-height: 480px; object-fit: cover; }
.callout { display: grid; gap: 5px; margin-top: 30px; padding: 22px; color: #fff; background: var(--green-dark); border-left: 5px solid var(--yellow); }
.callout strong { font-size: 20px; }
.recruit-fit { background: #e4ece8; }
.fit-grid, .support-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.fit-grid article, .support-grid article { min-height: 260px; padding: 30px; background: #fff; border-top: 4px solid var(--green); }
.fit-grid article > span, .support-grid article > span { color: var(--green); font: 900 12px/1 Arial,sans-serif; }
.fit-grid h3, .support-grid h3 { margin: 45px 0 10px; font-size: 22px; }
.day-steps { margin: 25px 0 0; padding: 0; list-style: none; }
.day-steps li { display: grid; grid-template-columns: 65px 1fr; gap: 15px; padding: 15px 0; border-top: 1px solid var(--line); }
.day-steps time { color: var(--green-dark); font-weight: 900; }
.day-steps span { display: grid; }
.career-road { display: grid; grid-template-columns: repeat(4,1fr); gap: 2px; background: #48534e; }
.career-road article { min-height: 250px; padding: 26px; background: #fff; }
.career-road span { color: var(--green); font: 900 12px/1 Arial,sans-serif; }
.career-road h3 { margin: 55px 0 10px; color: var(--charcoal); font-size: 21px; }
.career-road p { color: var(--muted); font-size: 14px; }
.recruit-numbers { padding-block: clamp(65px,8vw,105px); color: #171700; background: var(--yellow); }
.number-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 1px; background: rgba(65,58,0,.3); }
.number-grid p { display: grid; min-height: 150px; align-content: center; gap: 5px; margin: 0; padding: 18px; text-align: center; background: var(--yellow); }
.number-grid strong { font-size: clamp(22px,2.5vw,32px); }
.number-grid span { font-size: 12px; font-weight: 800; }
.requirements-table strong { font-size: 18px; }
.selection-flow { background: #e4ece8; }
.recruit-final { padding-block: clamp(70px,9vw,120px); color: #fff; background: linear-gradient(92deg, rgba(11,20,17,.96), rgba(11,20,17,.72)), url("../images/hero-metal-hokkaido-v1.webp") center/cover no-repeat; }
.recruit-final__inner { display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center; }
.recruit-final h2 { margin: 0; font-size: clamp(38px,5vw,66px); line-height: 1.25; }
.recruit-final__inner > div:last-child { display: grid; gap: 10px; text-align: center; }

@media (max-width: 1120px) {
  .recruit-priority__grid { grid-template-columns: 1fr 1.2fr; }
  .recruit-priority .button-row { grid-column: 1 / -1; grid-template-columns: repeat(2,1fr); }
  .proof-grid { grid-template-columns: repeat(2,1fr); }
  .services-v11 { grid-template-columns: .75fr 1fr; gap: 45px; }
  .number-grid { grid-template-columns: repeat(3,1fr); }
  .career-road { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 760px) {
  body { padding-bottom: 64px; }
  .phrase { display: inline; }
  .recruit-hero--v11 h1 .phrase { display: block; }
  .section-intro--split, .services-v11, .recruit-story, .company-trust, .recruit-overview, .recruit-two-column, .recruit-two-column--reverse, .recruit-final__inner { grid-template-columns: 1fr; }
  .section-intro--split { gap: 20px; }
  .section-intro--split > p { margin-top: 0; }
  .hero--v11 { min-height: 760px; }
  .hero--v11::before { background: linear-gradient(180deg, rgba(6,18,15,.8) 0%, rgba(6,18,15,.48) 32%, rgba(6,18,15,.96) 66%, rgba(6,18,15,.99) 100%), url("../images/hero-metal-hokkaido-v1.webp") 68% center/cover no-repeat; }
  .hero--v11 .hero__inner { align-items: flex-end; padding-block: 70px 45px; }
  .hero--v11 h1 { font-size: clamp(36px,10.5vw,48px); line-height: 1.22; }
  .hero--v11 .hero__lead { font-size: 15px; line-height: 1.75; }
  .hero__journeys { grid-template-columns: 1fr; gap: 8px; margin-block: 20px 16px; }
  .journey-card { min-height: 76px; padding-block: 13px; }
  .hero__phone { margin-top: 14px; }
  .hero__trust { display: grid; grid-template-columns: repeat(3,1fr); }
  .hero__trust li { padding: 0 8px; text-align: center; }
  .hero__trust strong { display: block; }
  .recruit-priority__grid { grid-template-columns: 1fr; gap: 20px; }
  .recruit-priority .button-row { grid-column: auto; grid-template-columns: 1fr; }
  .recruit-priority .button { width: 100%; }
  .proof-grid, .problem-grid, .work-grid--featured, .fit-grid, .support-grid, .dual-cta { grid-template-columns: 1fr; }
  .proof-card { min-height: 220px; }
  .proof-card strong { margin-top: 35px; }
  .problem-grid a { min-height: 130px; }
  .services-v11__visual { position: static; order: 2; }
  .services-v11__visual img { min-height: 320px; }
  .recruit-story__image { min-height: 390px; background: linear-gradient(180deg, transparent 55%, var(--charcoal)), url("../images/recruit-craft-team-v1.webp") 60% center/cover no-repeat; }
  .recruit-story__copy { padding: 50px 18px 65px; }
  .recruit-story h2 { font-size: 43px; }
  .company-trust__portrait { max-width: 200px; }
  .company-facts { grid-template-columns: 1fr; }
  .flow-list { grid-template-columns: 1fr 1fr; }
  .flow-list li { min-height: 145px; padding: 20px; }
  .dual-cta a { min-height: 205px; padding: 35px 25px; }
  .dual-cta a::after { right: 22px; }
  .dual-cta strong { font-size: 28px; }
  .mobile-action-bar { position: fixed; z-index: 50; inset: auto 0 0; display: grid; grid-template-columns: 1fr 1fr; min-height: 64px; box-shadow: 0 -6px 20px rgba(0,0,0,.18); }
  .mobile-action-bar a { display: grid; place-content: center; padding: 8px; text-align: center; text-decoration: none; }
  .mobile-action-bar span { font-weight: 900; line-height: 1.2; }
  .mobile-action-bar small { font-size: 9px; }
  .mobile-action-bar__recruit { color: #171700; background: var(--yellow); }
  .mobile-action-bar__phone { color: #fff; background: var(--green-dark); }
  .site-footer { padding-bottom: 20px; }
  .recruit-hero--v11 { min-height: 720px; align-items: flex-end; }
  .recruit-hero--v11::before { background-position: 58% center; }
  .recruit-hero--v11::after { background: linear-gradient(180deg, rgba(9,17,14,.3) 0%, rgba(9,17,14,.78) 48%, rgba(9,17,14,.99) 100%); }
  .recruit-hero--v11 h1 { font-size: clamp(40px,12vw,55px); }
  .recruit-summary__grid { grid-template-columns: repeat(2,1fr); }
  .recruit-summary p:nth-child(3) { border-left: 0; }
  .recruit-two-column figure img { min-height: 320px; }
  .recruit-two-column--reverse figure { order: 2; }
  .career-road, .number-grid { grid-template-columns: repeat(2,1fr); }
  .career-road article { min-height: 225px; }
  .number-grid p { min-height: 125px; }
  .recruit-final__inner { gap: 30px; }
  .recruit-final .button { width: 100%; }
}

@media (max-width: 410px) {
  .site-header__inner > .site-brand { min-width: 150px; }
  .site-brand__name { font-size: 18px; }
  .hero--v11 h1 { font-size: 35px; }
  .hero__trust li { font-size: 10px; }
  .service-groups a { grid-template-columns: 42px 1fr; gap: 10px; }
  .service-groups strong { font-size: 18px; }
  .flow-list { grid-template-columns: 1fr; }
  .flow-list li { min-height: 125px; }
  .career-road { grid-template-columns: 1fr; }
  .facts-table td { overflow-wrap: anywhere; }
}

@media print {
  .mobile-action-bar { display: none !important; }
}

/* Ver. 1.2 remediation: authored lower pages, conversion paths, forms and QA */
.hero__image-label,
.recruit-hero__image-label,
.recruit-story__label {
  position: absolute;
  z-index: 3;
  right: 16px;
  bottom: 14px;
  padding: 4px 8px;
  color: #fff;
  background: rgba(0, 0, 0, .72);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.3;
}
.recruit-story { position: relative; }
.services-v11__visual { margin: 0; }
.services-v11__visual figcaption,
.record-visual figcaption {
  margin-top: 7px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}
.hero__journeys { grid-template-columns: repeat(3, minmax(205px, 1fr)); max-width: 900px; }
.journey-card--business { color: #fff; background: rgba(7, 90, 64, .92); }

.page-hero--services { background: linear-gradient(115deg, #101815 0%, #123b2d 100%); }
.page-hero--works { background: linear-gradient(115deg, #111816 0%, #294037 100%); }
.page-hero--company { background: linear-gradient(115deg, #111816 0%, #26332e 100%); }
.page-hero--contact { background: linear-gradient(115deg, #111816 0%, #075a40 140%); }
.page-hero--recruit-entry { background: linear-gradient(115deg, #111816 0%, #554d04 150%); }
.page-hero--work-detail { background: linear-gradient(115deg, #111816 0%, #344a40 100%); }

.contact-paths,
.service-entrances,
.scope-grid {
  display: grid;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.contact-paths { grid-template-columns: repeat(3, 1fr); }
.contact-paths article { min-height: 230px; padding: 28px; background: #fff; }
.contact-paths article > span,
.service-entrances span,
.scope-grid article > span {
  color: var(--green);
  font: 900 12px/1 Arial, sans-serif;
  letter-spacing: .12em;
}
.contact-paths h2 { margin: 34px 0 10px; font-size: clamp(20px, 2.3vw, 28px); line-height: 1.45; }
.contact-paths p { margin: 0; color: var(--muted); font-size: 14px; }
.contact-paths h2 a { color: var(--green-dark); text-decoration: none; }

.service-entrances { grid-template-columns: repeat(5, 1fr); }
.service-entrances a {
  position: relative;
  display: grid;
  min-height: 205px;
  align-content: start;
  gap: 12px;
  padding: 26px 22px 42px;
  background: #fff;
  text-decoration: none;
}
.service-entrances a::after { content: "↓"; position: absolute; left: 22px; bottom: 16px; color: var(--green); font-weight: 900; }
.service-entrances strong { margin-top: 22px; font-size: 21px; line-height: 1.4; }
.service-entrances small { color: var(--muted); line-height: 1.65; }
.service-scope { background: #e8efeb; }
.scope-grid { grid-template-columns: repeat(2, 1fr); }
.scope-grid article { min-height: 310px; padding: 34px; background: #fff; border-top: 4px solid transparent; }
.scope-grid article:hover { border-top-color: var(--green); }
.scope-grid h3 { margin: 42px 0 12px; font-size: clamp(22px, 2.5vw, 30px); line-height: 1.4; }
.scope-grid p { margin-bottom: 20px; color: var(--muted); }
.scope-grid a { color: var(--green-dark); font-weight: 900; }
.business-path { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .6fr); gap: 70px; align-items: center; }
.business-path h2 { margin: 0; font-size: clamp(34px, 5vw, 60px); line-height: 1.3; }
.business-path ul { margin: 0; padding: 28px 30px 28px 50px; background: rgba(255,255,255,.08); border-left: 5px solid var(--yellow); }
.business-path li + li { margin-top: 8px; }

.sample-disclosure {
  display: grid;
  grid-template-columns: minmax(220px, .45fr) 1fr;
  gap: 24px;
  align-items: center;
  margin-bottom: 42px;
  padding: 22px 25px;
  color: #252200;
  background: var(--yellow-pale);
  border-left: 5px solid var(--yellow);
}
.sample-disclosure strong { font-size: 18px; }
.sample-disclosure p { margin: 0; }
.work-archive-grid { margin-top: 0; }
.future-records { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: start; }
.future-records h2 { margin: 0; font-size: clamp(32px, 4.5vw, 54px); line-height: 1.3; }
.future-records ul,
.photo-checklist ul,
.recruit-proof-request ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: var(--line);
  border: 1px solid var(--line);
}
.future-records li,
.photo-checklist li,
.recruit-proof-request li { padding: 18px 20px; background: #fff; font-weight: 800; }
.record-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .32fr); gap: 65px; }
.record-main > img,
.record-visual img { width: 100%; }
.record-visual { margin: 0 0 45px; }
.record-main h2 { margin: 2.2em 0 .7em; font-size: clamp(27px, 3.5vw, 42px); }
.record-future-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 55px; background: var(--line); border: 1px solid var(--line); }
.record-future-grid section { padding: 24px; background: #f8faf9; }
.record-future-grid h2 { margin: 0 0 12px; font-size: 21px; }
.record-future-grid p { margin: 0; color: var(--muted); }
.record-layout .sidebar-note { display: grid; gap: 16px; }

.company-evidence { color: #fff; background: var(--green-dark); }
.company-evidence__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; padding-block: 28px; }
.company-evidence p { display: grid; gap: 3px; margin: 0; padding: 10px 25px; border-left: 1px solid rgba(255,255,255,.25); }
.company-evidence p:first-child { border-left: 0; }
.company-evidence strong { font-size: clamp(18px, 2.2vw, 26px); }
.company-evidence span { color: #b9d7ca; font-size: 11px; }
.portrait-frame { max-width: 400px; }
.portrait-frame img { width: 100%; max-width: 400px; aspect-ratio: 2/3; object-fit: contain; background: #d8e3e7; }
.portrait-frame::after { content: none; }
.portrait-frame > span { display: block; margin-top: 10px; color: var(--muted); font-size: 11px; }
.credential-list li { display: grid; gap: 8px; color: var(--ink); }
.credential-list strong { color: var(--green-dark); font-size: 13px; }
.company-lower { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; }
.company-lower h2 { margin: 0 0 20px; font-size: clamp(30px, 4vw, 48px); }
.confirmation-panel { margin-top: 28px; padding: 22px 24px; background: #fff8d4; border-left: 5px solid var(--yellow); }
.confirmation-panel > strong { display: block; font-size: 19px; }
.confirmation-panel p:last-child { margin-bottom: 0; }
.confirmation-panel--recruit { color: var(--ink); background: #fff7bd; border: 1px solid #d4be24; border-left-width: 6px; }
.confirmation-panel--recruit ul { columns: 2; padding-left: 1.3em; }
.photo-checklist { background: #e8efeb; }
.photo-checklist li::before,
.recruit-proof-request li::before { content: "□"; margin-right: 10px; color: var(--green); }
.recruit-proof-request { background: #e8efeb; }

.entry-reassurance { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.entry-reassurance p { display: grid; gap: 3px; margin: 0; padding: 18px; background: #fff; }
.entry-reassurance strong { color: var(--green-dark); font-size: 12px; }
.entry-reassurance span { font-size: 19px; font-weight: 900; }
.form-shell--finished { max-width: 900px; padding: clamp(24px, 6vw, 68px); border-top: 7px solid var(--green); }
.form-shell--recruit { border-top-color: var(--yellow); }
.form-heading { margin-bottom: 40px; padding-bottom: 30px; border-bottom: 1px solid var(--line); }
.form-heading h2 { margin: 0; font-size: clamp(30px, 4vw, 46px); line-height: 1.35; }
.form-heading p:last-child { margin-bottom: 0; }
.form-availability {
  display: grid;
  gap: 4px;
  margin-bottom: 32px;
  padding: 17px 19px;
  color: #352f00;
  background: var(--yellow-pale);
  border: 1px solid #d6c43b;
}
.form-availability strong { font-size: 17px; }
.form-availability span { font-size: 13px; }
.wpcf7-form .form-row { margin-bottom: 30px; }
.wpcf7-form .form-row > label,
.wpcf7-form .form-row > legend { margin-bottom: 9px; font-size: 16px; font-weight: 900; }
.form-required,
.form-optional { display: inline-flex; margin-left: 7px; padding: 2px 7px; font-size: 11px; font-weight: 900; line-height: 1.5; vertical-align: middle; }
.form-required { color: #fff; background: var(--danger); }
.form-optional { color: var(--green-dark); background: var(--green-pale); }
.wpcf7-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.wpcf7-form select,
.wpcf7-form textarea {
  width: 100%;
  min-height: 54px;
  padding: 13px 15px;
  color: var(--ink);
  background: #fff;
  border: 2px solid #7d8984;
  border-radius: 2px;
}
.wpcf7-form textarea { min-height: 190px; resize: vertical; }
.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder { color: #747e7a; opacity: 1; }
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus { border-color: #0b68d8; outline: 3px solid rgba(11,104,216,.25); outline-offset: 1px; }
.form-help { margin: 7px 0 0; color: var(--muted); font-size: 13px; }
.form-row--choices { padding: 0; border: 0; }
.choice-list { display: grid; grid-template-columns: repeat(2, minmax(130px, 1fr)); gap: 10px; }
.choice-list .wpcf7-list-item { margin: 0; }
.choice-list label { display: flex; min-height: 54px; align-items: center; gap: 10px; margin: 0; padding: 11px 15px; background: #f5f8f6; border: 2px solid #aeb8b3; cursor: pointer; }
.choice-list input,
.form-row--consent input { width: 22px; height: 22px; flex: 0 0 auto; accent-color: var(--green); }
.form-row--consent .wpcf7-list-item { margin: 0; }
.form-row--consent label { display: flex; min-height: 58px; align-items: center; gap: 10px; margin: 0; padding: 13px 15px; background: var(--green-pale); border: 1px solid #a7c3b7; font-weight: 700; }
.wpcf7-not-valid { border-color: var(--danger) !important; }
.wpcf7-not-valid-tip { display: block; margin-top: 7px; color: #8b241b; font-weight: 800; }
.wpcf7 form .wpcf7-response-output { margin: 28px 0 0; padding: 17px 18px; border-width: 2px; font-weight: 800; }
.wpcf7 form.invalid .wpcf7-response-output { color: #3a3200; background: #fff8c8; border-color: #ad9500; }
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output { color: #6f1e18; background: #fcebea; border-color: var(--danger); }
.form-security { margin: 30px 0; padding-top: 20px; border-top: 1px solid var(--line); }
.form-security > span { display: block; margin-bottom: 8px; color: var(--muted); font-size: 12px; }
.form-actions { display: grid; justify-items: start; gap: 8px; }
.form-actions .button { min-width: min(100%, 360px); border-radius: var(--radius); }
.form-actions p { margin: 0; color: var(--muted); font-size: 12px; }
.wpcf7-submit[disabled],
.wpcf7-submit[aria-disabled="true"] { color: #fff; background: #68736f; border-color: #68736f; cursor: not-allowed; opacity: 1; transform: none; }
.form-after { margin-top: 55px; padding-top: 35px; border-top: 1px solid var(--line); }
.form-after h2 { margin: 0 0 18px; font-size: 24px; }
.form-after ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; padding: 0; counter-reset: form-step; list-style: none; background: var(--line); border: 1px solid var(--line); }
.form-after li { padding: 18px; background: #f8faf9; font-weight: 800; }
.form-after li::before { counter-increment: form-step; content: "0" counter(form-step); display: block; margin-bottom: 20px; color: var(--green); font: 900 12px/1 Arial, sans-serif; }
.form-after p { color: var(--muted); font-size: 13px; }
.news-card { padding: 26px 0; border-top: 1px solid var(--line); }
.news-card h2 { margin: .25em 0; font-size: clamp(23px, 3vw, 31px); }
.news-empty { padding: clamp(30px, 6vw, 60px); background: var(--green-pale); border-left: 5px solid var(--green); }
.news-empty h2 { margin: 0; font-size: clamp(30px, 4vw, 44px); }

@media (max-width: 1020px) {
  .hero__journeys { grid-template-columns: repeat(2, minmax(220px, 1fr)); }
  .journey-card--recruit { grid-column: 1 / -1; }
  .service-entrances { grid-template-columns: repeat(3, 1fr); }
  .contact-paths { grid-template-columns: repeat(2, 1fr); }
  .contact-paths article:last-child { grid-column: 1 / -1; }
  .company-evidence__grid { grid-template-columns: repeat(2, 1fr); }
  .company-evidence p:nth-child(3) { border-left: 0; }
}

@media (max-width: 760px) {
  .hero__image-label,
  .recruit-hero__image-label,
  .recruit-story__label { bottom: 75px; font-size: 10px; }
  .recruit-story__label { bottom: auto; top: 350px; }
  .hero__journeys,
  .contact-paths,
  .service-entrances,
  .scope-grid,
  .business-path,
  .future-records,
  .record-layout,
  .company-lower,
  .entry-reassurance { grid-template-columns: 1fr; }
  .journey-card--recruit,
  .contact-paths article:last-child { grid-column: auto; }
  .service-entrances a { min-height: 150px; }
  .scope-grid article { min-height: 250px; padding: 26px; }
  .scope-grid h3 { margin-top: 30px; }
  .business-path { gap: 35px; }
  .sample-disclosure { grid-template-columns: 1fr; gap: 8px; }
  .record-future-grid,
  .future-records ul,
  .photo-checklist ul,
  .recruit-proof-request ul { grid-template-columns: 1fr; }
  .company-evidence__grid { grid-template-columns: 1fr 1fr; }
  .company-evidence p { padding: 9px 12px; }
  .confirmation-panel--recruit ul { columns: 1; }
  .form-shell--finished { width: calc(100% - 28px); padding: 25px 18px 35px; }
  .form-heading { margin-bottom: 30px; padding-bottom: 24px; }
  .form-heading h2 { font-size: 29px; }
  .choice-list { grid-template-columns: 1fr 1fr; }
  .form-after ol { grid-template-columns: 1fr; }
  .wpcf7-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
  .wpcf7-form select,
  .wpcf7-form textarea { font-size: 16px; }
  .mobile-action-bar { min-height: 68px; }
  body { padding-bottom: 68px; }
}

@media (max-width: 390px) {
  .choice-list { grid-template-columns: 1fr; }
  .form-shell--finished { width: calc(100% - 20px); padding-inline: 15px; }
  .form-required,
  .form-optional { margin-left: 3px; }
}

/* Keep Japanese line-breaking rules last in the cascade. */
:where(body, p, li, dt, dd, th, td, figcaption, summary, a, span) {
  line-break: strict;
  word-break: normal;
  overflow-wrap: break-word;
  text-wrap: pretty;
}
h1, h2, h3, h4 {
  line-break: strict;
  word-break: normal;
  overflow-wrap: break-word;
  text-wrap: balance;
}
@media (max-width: 410px) {
  .facts-table td { overflow-wrap: break-word; }
}

/* 1.2.8 — official brand assets and confirmed recruitment content. */
.recruit-priority__action { display: grid; gap: 10px; justify-items: stretch; }
.recruit-priority__action p { margin: 0; padding: 8px 10px; background: rgba(255,255,255,.66); border: 1px solid rgba(65,58,0,.35); font-size: 12px; font-weight: 900; text-align: center; }
.recruit-hero__pending { display: grid; gap: 2px; width: fit-content; max-width: 100%; margin: 24px 0; padding: 14px 18px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.38); }
.recruit-hero__pending strong { color: var(--yellow); font-size: 17px; }
.recruit-hero__pending span { color: #fff; font-size: 13px; }
.recruit-summary__grid--values { grid-template-columns: repeat(3,1fr); }
.recruit-summary__grid--values p { min-height: 84px; align-content: center; }
.recruit-summary__grid--values strong { font-size: clamp(15px,1.7vw,20px); line-height: 1.45; }
.recruit-pending { padding: clamp(28px,5vw,48px); background: #fff8d4; border: 1px solid #d6c14a; border-left: 7px solid var(--yellow); box-shadow: var(--shadow); }
.recruit-pending h2 { margin: 0 0 15px; font-size: clamp(30px,4.5vw,48px); line-height: 1.35; }
.recruit-pending p:last-child { margin-bottom: 0; }
.recruit-pending--compact { padding: 22px 26px; box-shadow: none; }
.recruit-pending--compact strong { font-size: 20px; }
.recruit-pending--compact p { margin: 4px 0 0; }
.company-split { grid-template-columns: minmax(300px,400px) minmax(0,1fr); }
.message p { max-width: 47em; }

@media (max-width: 1120px) {
  .site-header__inner > .site-brand { flex-basis: 265px; }
  .site-brand { width: min(265px,31vw); min-width: 190px; }
  .recruit-priority__action { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; align-items: center; }
}

@media (max-width: 760px) {
  .site-header__inner > .site-brand { flex-basis: 225px; min-width: 0; }
  .site-brand { width: min(225px,65vw); min-width: 0; padding-block: 6px; }
  .site-footer .site-brand { width: min(290px,100%); }
  .recruit-priority__action { grid-column: auto; grid-template-columns: 1fr; }
  .recruit-summary__grid--values { grid-template-columns: 1fr; }
  .recruit-summary__grid--values p,
  .recruit-summary__grid--values p:nth-child(3) { min-height: 74px; border-left: 0; border-top: 1px solid rgba(46,42,0,.25); }
  .recruit-summary__grid--values p:first-child { border-top: 0; }
  .company-trust__portrait { max-width: min(320px,86vw); }
  .company-split { grid-template-columns: 1fr; gap: 35px; }
  .portrait-frame { max-width: min(360px,90vw); margin-inline: auto; }
}

@media (max-width: 410px) {
  .site-header__inner > .site-brand { flex-basis: 205px; }
  .site-brand { width: min(205px,61vw); }
  .recruit-hero--v11 h1 { font-size: clamp(36px,10.7vw,44px); }
}

/* Recruitment facts and shared reading widths. */
.recruit-hero--v11 h1 { font-size: clamp(34px,5.1vw,72px); }
.recruit-hero--v11 h1 .no-break { display: inline-block; white-space: nowrap; }
.recruit-hero--v11 .eyebrow { color: #a8dfc9; }
.hero--premises { display: grid; grid-template-columns: minmax(0,44fr) minmax(0,56fr); align-items: center; min-height: 0; background: #102e25; }
.hero--premises::before, .hero--premises::after { content: none; }
.hero--premises .hero__premises { grid-column: 2; grid-row: 1; margin: 0; min-width: 0; position: relative; }
.hero__premises img { display: block; width: 100%; height: auto; aspect-ratio: 1672 / 941; object-fit: contain; }
.hero__premises figcaption { padding: 10px 18px; background: #173b30; color: #e5efe9; font-size: 11px; line-height: 1.6; }
.hero--premises .hero__inner { grid-column: 1; grid-row: 1; width: auto; min-width: 0; margin: 0; padding: clamp(32px,4vw,64px) clamp(24px,3vw,48px); }
.hero--premises .hero__content { max-width: none; min-width: 0; }
.hero--premises h1 { font-size: clamp(34px,3.4vw,52px); line-height: 1.35; }
.hero--premises h1 .phrase { margin: 0; font-size: inherit; line-height: inherit; letter-spacing: .02em; color: #fff; }
.hero--premises h1 .phrase:first-child { font-size: .62em; color: #b9ead5; margin-bottom: 12px; }
.hero--premises .hero__lead { margin: 22px 0; font-size: 15px; line-height: 1.95; }
.hero--premises .hero__journeys { grid-template-columns: 1fr; gap: 8px; margin: 22px 0; }
.hero--premises .journey-card { grid-column: auto; min-height: 64px; padding: 12px 44px 12px 18px; }
.hero--premises .journey-card strong { font-size: 17px; }
.hero--premises .hero__trust { display: flex; gap: 8px 14px; }
.hero--premises .hero__trust li { padding: 0; border: 0; text-align: left; }
.hero--premises .hero__trust strong { display: inline; }
.job-facts { margin: 30px 0 0; border-top: 2px solid var(--green); }
.job-facts > div { display: grid; grid-template-columns: minmax(150px, 28%) minmax(0,1fr); border-bottom: 1px solid var(--line); }
.job-facts dt, .job-facts dd { margin: 0; padding: 20px 24px; line-height: 1.9; }
.job-facts dt { color: var(--green-dark); background: var(--green-pale); font-weight: 800; }
.job-facts dd { background: #fff; }
.job-facts dd strong { font-size: clamp(20px,2.4vw,26px); color: var(--green-dark); }
.job-facts ul { margin: 0; padding-left: 1.2em; }
.job-confirmation { margin-top: 24px; padding: 20px 24px; border-left: 4px solid #c7a943; background: #faf6e9; font-size: 14px; }
.job-confirmation p { margin: 6px 0 0; }
@media (max-width: 1099px) {
  .hero--premises { grid-template-columns: 1fr; }
  .hero--premises .hero__premises { grid-column: 1; grid-row: 1; }
  .hero--premises .hero__inner { grid-column: 1; grid-row: 2; padding: 35px max(24px,5vw) 42px; }
  .hero--premises h1 { font-size: clamp(30px,4.7vw,48px); }
  .hero--premises .hero__journeys { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .hero--premises .hero__journeys { grid-template-columns: 1fr; }
  .hero--premises .hero__inner { padding: 30px 24px 36px; }
  .hero--premises h1 { font-size: clamp(30px,7.7vw,40px); }
  .hero--premises .eyebrow { font-size: 10px; line-height: 1.7; }
  .hero__premises figcaption { font-size: 10px; padding-inline: 16px; }
  .job-facts > div { grid-template-columns: 1fr; }
  .job-facts dt { padding: 13px 18px 8px; }
  .job-facts dd { padding: 15px 18px 20px; }
  .job-confirmation { padding: 18px; }
}

/* 1.2.10 — integrated photographic hero; original building pixels retained. */
.home .site-header { margin-bottom: -86px; background: rgba(255,255,255,.93); }
.admin-bar .site-header { top: 32px; }
.hero--premises { display: block; min-height: 790px; background: #102e25; }
.hero--premises .hero__premises { position: absolute; inset: 0; z-index: -2; margin: 0; }
.hero--premises .hero__premises img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: 100% 48%; }
.hero--premises::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(5,28,22,.85),rgba(5,28,22,.7) 38%,rgba(5,28,22,.14) 72%,rgba(5,28,22,.08)); }
.hero--premises .hero__inner { display: flex; width: var(--wrap); min-height: inherit; margin-inline: auto; padding: 145px 0 54px; }
.hero--premises .hero__content { width: min(620px,58%); }
.hero--premises h1 { font-size: clamp(38px,4.2vw,60px); line-height: 1.4; text-wrap: initial; }
.hero--premises h1 .phrase { display: block; }
.hero--premises h1 .no-break { display: inline; font-size: inherit; color: inherit; letter-spacing: inherit; margin: 0; white-space: nowrap; }
.hero--premises .hero__lead { max-width: 35em; margin: 24px 0; line-height: 1.9; }
.hero--premises .hero__journeys { grid-template-columns: repeat(2,minmax(0,1fr)); margin-block: 24px; }
.hero--premises .journey-card { min-height: 76px; padding: 14px 32px 14px 15px; }
.hero--premises .journey-card::after { right: 12px; }
.hero--premises .journey-card strong { font-size: clamp(14px,1.25vw,17px); }
.hero--premises .journey-card--recruit { grid-column: 1 / -1; }
.hero--premises .hero__trust { font-size: 11px; }
.hero--premises .hero__phone { margin-block: 18px; }
.hero--premises :focus-visible { outline-color: #ffdf3c; }
.job-facts dd strong { white-space: nowrap; }
.recruit-video-banner .wrap { grid-template-columns: 1fr auto; }
.video-feature__shade { background: linear-gradient(180deg,transparent 45%,rgba(6,24,18,.28)); }
.video-feature__title-secondary { text-wrap: pretty; }
.recruit-summary strong .no-break { font-size: inherit; font-weight: inherit; }
.recruit-overview h2, .recruit-priority h2 { text-wrap: pretty; }
.recruit-overview h2 > .phrase, .recruit-priority h2 > .phrase { display: block; }
#reason-title .phrase { display: block; }
.single-tsk_work .page-hero h1 { font-size: clamp(28px,3.3vw,48px); line-height: 1.45; }
.recruit-overview .button-row { margin-top: 20px; }
.site-footer nav ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 14px; columns: auto; }
.site-footer nav a { white-space: nowrap; font-size: 13px; }
@media (min-width: 1021px) and (max-width: 1150px) {
 .site-header__inner { gap: 14px; }
 .site-header__inner > .site-brand { flex-basis: 210px; }
 .site-nav, .site-nav ul { gap: 12px; }
 .site-nav a { font-size: 12px; }
 .site-nav .button { padding-inline: 10px; }
}
@media (max-width: 1020px) {
 .home .site-header { margin-bottom: -72px; }
 .hero--premises .hero__inner { padding-top: 125px; }
 .hero--premises .hero__content { width: min(580px,70%); }
 .hero--premises .hero__premises img { object-position: 100% 50%; }
}
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }
@media (max-width: 760px) {
 .home .site-header { margin-bottom: -72px; }
 .hero--premises { min-height: 880px; }
 .hero--premises .hero__premises img { height: 540px; object-position: 100% 0; transform: translateY(-60px); }
 .hero--premises::before { background: linear-gradient(180deg,rgba(5,28,22,.04) 8%,rgba(5,28,22,.28) 26%,rgba(5,28,22,.84) 46%,rgba(5,28,22,.94)); }
 .hero--premises .hero__inner { width: calc(100% - 40px); align-items: flex-end; padding: 310px 0 36px; }
 .hero--premises .hero__content { width: 100%; }
 .hero--premises h1 { font-size: clamp(30px,7.9vw,40px); line-height: 1.42; }
 .hero--premises h1 .phrase:first-child { margin-bottom: 7px; }
 .hero--premises .eyebrow { font-size: 9px; letter-spacing: .1em; }
 .hero--premises .hero__lead { font-size: 14px; margin: 18px 0; }
 .hero--premises .hero__journeys { grid-template-columns: 1fr; gap: 8px; margin: 20px 0; }
 .hero--premises .journey-card { min-height: 66px; padding-block: 10px; }
 .hero--premises .journey-card strong { font-size: 16px; }
 .hero--premises .journey-card span { font-size: 10px; }
 .hero--premises .hero__phone { margin: 14px 0; }
 .hero--premises .hero__trust { gap: 8px 12px; line-height: 1.7; }
 .recruit-video-banner .wrap { gap: 16px; grid-template-columns: 1fr; }
 .recruit-priority h2, .recruit-overview h2 { font-size: clamp(23px,5.8vw,32px); line-height: 1.6; }
}
