:root {
  color-scheme: light;
  --ink: #14294a;
  --blue: #236ab3;
  --icon-badge-background: linear-gradient(180deg,rgba(23,107,194,.9),rgba(41,140,214,.82) 50%,rgba(77,178,229,.78));
  --pale-blue: #91bae4;
  --type-scale: 1;
  --visual-scale: 1;
  --mobile-cta-scale: .5;
  --section-title-size: calc(48px * var(--type-scale));
  --section-title-height: calc(68px * var(--type-scale));
  --section-title-line-height: calc(69px * var(--type-scale));
  --section-english-size: calc(18px * var(--type-scale));
  --section-english-line-height: calc(26px * var(--type-scale));
  --header-height: 60px;
  --serif: "Noto Serif JP", "Yu Mincho", serif;
  --sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
}
@media (max-width: 1023px) {
  :root { --section-title-size: 42px; --section-title-height: 62px; --section-title-line-height: 62px; --section-english-size: 16px; --section-english-line-height: 24px; }
}
@media (max-width: 640px) {
  :root { --section-title-size: 36px; --section-title-height: 54px; --section-title-line-height: 54px; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 16px); }
body { margin: 0; color: var(--ink); font-family: var(--sans); font-weight: 500; -webkit-font-smoothing: antialiased; }
img { display: block; }
p, h1, h2 { margin: 0; }
a { color: inherit; -webkit-tap-highlight-color: transparent; }
a:focus-visible { outline: 3px solid var(--blue); outline-offset: 6px; }

/* Only the overlapping photo composition uses Figma's 1440px coordinate space.
   The live copy uses normal document flow; SVGs retain their intrinsic dimensions. */
.hero {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: clamp(720px, 62.5vw, 100svh);
  min-height: calc(700px * var(--type-scale));
  overflow: hidden;
  overflow: clip;
  background: linear-gradient(90deg, #f7faff 0%, #edf4fc 50%, #e0edfb 100%);
}
.hero__visuals { position: absolute; inset: 0; z-index: 2; overflow: hidden; overflow: clip; pointer-events: none; }
.hero__artwork { position: absolute; top: 0; left: 0; width: 1440px; height: var(--artwork-height, calc(100% / var(--visual-scale))); transform: scale(var(--visual-scale)); transform-origin: 0 0; }
.hero__light { position: absolute; left: 548.225px; top: 53.5px; }
/* One shared edge and shadow keep both photos collinear as the FV changes height. */
.hero__photos-shadow { position: absolute; inset: 0; filter: drop-shadow(0 4px 9px rgba(13,38,77,.25)); }
.hero__photos { --photo-left-bottom: calc(849px - var(--artwork-height,900px) * .2815); position: absolute; inset: 0; clip-path: polygon(849px 0,100% 0,100% 100%,var(--photo-left-bottom) 100%); }
.hero__man { --man-left-limit: calc(849px - (var(--artwork-height,900px) / 2 - 4px) * .2815 - 1px); position: absolute; left: min(697px,var(--man-left-limit)); top: -24px; width: calc(1012px + max(0px,697px - var(--man-left-limit))); height: calc(50% + 20px); object-fit: cover; object-position: right top; }
.hero__woman {
  --woman-original-left: calc(597px + (473.61px - var(--artwork-height,900px) / 2) * .28);
  position: absolute;
  left: min(var(--woman-original-left),calc(var(--photo-left-bottom) - 1px));
  top: calc(50% + 4px);
  width: calc(759.869px + max(0px,var(--woman-original-left) - var(--photo-left-bottom) + 1px));
  height: calc(50% - 4px);
}
.hero__woman > img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
/* The SVG's colored area is 959px tall. Scale it uniformly to the FV height
   and anchor its top corner so the diagonal keeps the same angle on resize. */
.hero__blue {
  position: absolute;
  left: calc(1440.707px - var(--artwork-height,900px) * 276.707 / 959);
  top: calc(var(--artwork-height,900px) * -4 / 959);
  width: calc(var(--artwork-height,900px) * 2004 / 959);
  height: calc(var(--artwork-height,900px) * 983 / 959);
}
.hero__mobile, .brand__mobile { display: none; }

.hero__header-slot { height: var(--header-height); background: #fff; }
.site-header { position: relative; z-index: 1; height: var(--header-height); background: #fff; }
.site-header.is-fixed { position: fixed; z-index: 100; inset: 0 0 auto; width: 100%; box-shadow: 0 3px 18px rgba(20,41,74,.12); }
.site-header__inner { width: 77.777778%; height: 100%; margin-inline: auto; padding-left: calc(10px * var(--type-scale)); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { position: relative; z-index: 3; display: block; width: calc(182px * var(--type-scale)); height: calc(27px * var(--type-scale)); }
.brand__drawing { position: absolute; width: 182px; height: 27px; transform: scale(var(--type-scale)); transform-origin: 0 0; }
.brand__drawing > img { position: absolute; }
.brand__symbol { left: 0; top: 0; }
.brand__company { left: 34.216px; top: 10.1925px; }
.brand__name { left: 88.379px; top: 1.142px; }

/* Keep the copy at its design position when the header height changes. */
.hero__inner { position: relative; z-index: 3; width: 77.777778%; margin-inline: auto; padding-top: calc(212px * var(--type-scale) - var(--header-height)); }
.hero__copy { width: calc(640px * var(--type-scale)); }
.hero__title {
  display: flex;
  align-items: center;
  width: max-content;
  height: calc(107px * var(--type-scale));
  margin-left: calc(-14px * var(--type-scale));
  color: var(--blue);
  font-family: var(--serif);
  font-weight: 600;
  white-space: nowrap;
  transform: skewX(-9.1deg) scaleY(.9874);
  transform-origin: center;
}
.hero__title-word { font-size: calc(90px * var(--type-scale)); line-height: 1.1; letter-spacing: calc(2.61px * var(--type-scale)); }
.hero__particle { font-size: calc(60.04px * var(--type-scale)); }
.hero__favorite { letter-spacing: calc(-7.39px * var(--type-scale)); }
.hero__quote { font-family: "Shippori Mincho B1", var(--serif); font-weight: 700; line-height: 1; letter-spacing: 0; }
.hero__quote--open { font-size: calc(43.599px * var(--type-scale)); transform: translateY(calc(-34px * var(--type-scale))); }
.hero__quote--close { margin-left: calc(-18px * var(--type-scale)); font-size: calc(53.772px * var(--type-scale)); transform: translateY(calc(21px * var(--type-scale))); }
.hero__tagline { position: relative; display: grid; place-items: center; width: calc(468px * var(--type-scale)); height: calc(44px * var(--type-scale)); color: #fff; }
.hero__tagline-art { position: absolute; inset: 0; }
.hero__tagline-art > img { position: absolute; left: calc(-8px * var(--type-scale)); top: calc(-5px * var(--type-scale)); transform: scale(var(--type-scale)); transform-origin: 0 0; }
.hero__tagline-text { position: relative; font-family: var(--serif); font-size: calc(26px * var(--type-scale)); line-height: 1.4; letter-spacing: calc(-.45px * var(--type-scale)); transform: skewX(-9.78deg) scaleY(.9874); white-space: nowrap; }

.hero__job { margin-top: calc(29px * var(--type-scale)); }
.hero__lead { display: flex; align-items: baseline; padding-left: calc(14px * var(--type-scale)); min-height: calc(26px * var(--type-scale)); font-size: calc(15.04px * var(--type-scale)); line-height: calc(26px * var(--type-scale)); letter-spacing: calc(-.3599px * var(--type-scale)); white-space: nowrap; }
.hero__lead strong { font-size: calc(16px * var(--type-scale)); font-weight: 700; letter-spacing: 0; }
.service { display: flex; align-items: baseline; height: calc(59px * var(--type-scale)); margin-top: calc(3px * var(--type-scale)); padding-left: calc(2px * var(--type-scale)); }
.service__name { flex-shrink: 0; font-family: var(--serif); font-size: calc(52.17px * var(--type-scale)); font-weight: 700; line-height: 1; letter-spacing: calc(-.7117px * var(--type-scale)); color: var(--blue); transform: skewX(-9.1deg) scaleY(.9874); transform-origin: left; }
.service__english { display: flex; align-items: baseline; gap: calc(10px * var(--type-scale)); color: var(--pale-blue); font-family: "Shippori Mincho B1", var(--serif); font-size: calc(24.28px * var(--type-scale)); font-weight: 400; font-style: italic; line-height: 1; letter-spacing: calc(.82px * var(--type-scale)); white-space: nowrap; }
.service__initial { font-size: calc(44.28px * var(--type-scale)); letter-spacing: calc(-2.18px * var(--type-scale)); }
.hero__description { display: grid; align-content: start; gap: calc(4px * var(--type-scale)); width: fit-content; max-width: 100%; margin-left: calc(2px * var(--type-scale)); padding: calc(10px * var(--type-scale)) calc(12px * var(--type-scale)); border-top: 1px solid var(--blue); background: rgba(255,255,255,.9); box-shadow: 0 1px 13px rgba(123,127,138,.25); font-size: calc(16px * var(--type-scale)); line-height: 1.5; letter-spacing: calc(.008px * var(--type-scale)); font-feature-settings: "palt"; }
.hero__description strong { font-weight: 700; }

@media (min-width: 768px) {
  /* Enlarge the text around the existing copy center and keep its left edge. */
  .hero__copy { position: relative; top: calc(220px * var(--type-scale) + .5px); transform: translateY(-50%); }
  .hero__title { height: calc(120px * var(--type-scale)); }
  .hero__title-word { font-size: calc(102px * var(--type-scale)); }
  .hero__particle { font-size: calc(68px * var(--type-scale)); }
  .hero__quote--open { font-size: calc(49px * var(--type-scale)); transform: translateY(calc(-39px * var(--type-scale))); }
  .hero__quote--close { font-size: calc(60px * var(--type-scale)); transform: translateY(calc(24px * var(--type-scale))); }
  .hero__tagline { width: calc(540px * var(--type-scale)); height: calc(50px * var(--type-scale)); }
  .hero__tagline-art > img { left: calc(-9.230769px * var(--type-scale)); top: calc(-5.681818px * var(--type-scale)); transform: scale(calc(1.1538461538 * var(--type-scale)),calc(1.1363636364 * var(--type-scale))); }
  .hero__tagline-text { font-size: calc(30px * var(--type-scale)); }
  .hero__lead { min-height: calc(30px * var(--type-scale)); font-size: calc(17px * var(--type-scale)); line-height: calc(30px * var(--type-scale)); }
  .hero__lead strong { font-size: calc(18px * var(--type-scale)); }
  .service { height: calc(68px * var(--type-scale)); }
  .service__name { font-size: calc(60px * var(--type-scale)); }
  .service__english { font-size: calc(25px * var(--type-scale)); }
  .service__initial { font-size: calc(46px * var(--type-scale)); }
  .hero__description { font-size: calc(18px * var(--type-scale)); line-height: 1.55; }
}

.line-cta { display: block; width: calc(308.25px * var(--type-scale)); min-height: calc(81px * var(--type-scale)); margin-top: calc(19px * var(--type-scale)); padding-bottom: calc(3.75px * var(--type-scale)); border-radius: calc(11px * var(--type-scale)); background: #1f9a3c; box-shadow: 0 3px 8px rgba(0,0,0,.14); color: #fff; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.line-cta__face { display: flex; align-items: center; gap: calc(5.3px * var(--type-scale)); min-height: calc(77.25px * var(--type-scale)); padding: 0 calc(12px * var(--type-scale)); border-radius: inherit; background: #01ba55; }
/* Match the pictograms to the label's visible center, including font metrics. */
.line-cta__icon { flex: none; width: calc(37.5px * var(--type-scale)); height: calc(37.5px * var(--type-scale)); translate: 0 calc(1px * var(--type-scale)); }
.line-cta__label { font-size: calc(16px * var(--type-scale)); font-weight: 700; line-height: 1.2; letter-spacing: calc(.1339px * var(--type-scale)); white-space: nowrap; }
.line-cta__arrow { flex: none; position: relative; width: calc(28.5px * var(--type-scale)); height: calc(28.5px * var(--type-scale)); margin-left: auto; translate: 0 calc(1px * var(--type-scale)); }
.line-cta__arrow-art { position: absolute; width: 28.5px; height: 28.5px; transform: scale(var(--type-scale)); transform-origin: 0 0; }
.line-cta__arrow-art > img { position: absolute; }
.line-cta__arrow-art > img:last-child { left: 11.25px; top: 8.75px; }
.line-cta__mobile-art { display: none; }
@media (min-width: 768px) and (max-width: 1023px) {
  .hero__copy .line-cta__label { translate: 0 calc(1.5px * var(--type-scale)); }
}
@media (hover: hover) {
  .line-cta:hover { transform: translateY(-2px); box-shadow: 0 6px 15px rgba(0,0,0,.19); }
}
.line-cta:active { transform: translateY(1px); }

.site-header .line-cta--header { --type-scale: 1; flex: none; width: auto; min-height: 44px; margin: 0; padding-bottom: 2px; border-radius: 8px; }
.site-header .line-cta--header[hidden] { display: none; }
.line-cta--header .line-cta__face { min-height: 42px; gap: 8px; padding-inline: 12px; }
.line-cta--header .line-cta__icon { width: 24px; height: 24px; translate: 0 .5px; }
.line-cta--header .line-cta__label { font-size: 14px; line-height: 1.3; letter-spacing: 0; }
.line-cta--header .line-cta__arrow { width: 20px; height: 20px; translate: 0 .5px; }
.line-cta--header .line-cta__arrow-art { transform: scale(.701754386); }

/* The reference uses a diagonal wipe and a slow-fast-slow easing curve.
   Keep the photos still beneath the crop, and preserve the title's skew. */
@media (prefers-reduced-motion: no-preference) {
  .has-intro .hero {
    --intro-ease: cubic-bezier(.83, 0, .17, 1);
    --intro-copy-duration: 1.5s;
    --intro-photo-duration: 1.8s;
  }
  .has-intro .hero__title { --intro-offset: -60px; }
  .has-intro .hero__tagline { --intro-offset: -48px; }
  .has-intro .hero__job { --intro-offset: -36px; }
  .has-intro .line-cta { --intro-offset: -24px; }
  .has-intro .hero__man { --wipe-slant: 28%; }
  .has-intro .hero__woman > img { --wipe-slant: 31%; }

  .has-intro :is(.hero__title, .hero__tagline, .hero__job, .line-cta) {
    opacity: 0;
    translate: var(--intro-offset) 0;
  }
  .has-intro :is(.hero__man, .hero__woman > img) {
    clip-path: polygon(0 0, 0 0, calc(0% - var(--wipe-slant)) 100%, 0 100%);
  }
  .has-intro .hero__blue {
    clip-path: inset(0 0 100% 0);
  }
  .has-intro :is(.site-header, .hero__light) { opacity: 0; }
  .has-intro .hero__header-slot { background: transparent; }

  .has-intro .is-entering :where(.hero__title, .hero__tagline, .hero__job, .line-cta) {
    animation: hero-copy-in var(--intro-copy-duration) var(--intro-ease) both;
  }
  .has-intro .is-entering .hero__title { animation-delay: 1.1s; }
  .has-intro .is-entering .hero__tagline { animation-delay: 1.25s; }
  .has-intro .is-entering .hero__job { animation-delay: 1.4s; }
  .has-intro .is-entering .line-cta { animation-delay: 1.6s; }

  .has-intro .is-entering :where(.hero__man, .hero__woman > img) {
    animation: hero-photo-wipe var(--intro-photo-duration) var(--intro-ease) both;
  }
  .has-intro .is-entering .hero__man { animation-delay: .2s; }
  .has-intro .is-entering .hero__woman > img { animation-delay: .65s; }
  .has-intro .is-entering .hero__blue { animation: hero-reveal-down 1.5s var(--intro-ease) 1.1s both; }
  .has-intro .is-entering .hero__light { animation: hero-light-in 1.5s var(--intro-ease) 1.1s both; }
  .has-intro .is-entering .site-header { animation: hero-light-in 1s var(--intro-ease) 1.1s both; }
}

@keyframes hero-copy-in {
  from { opacity: 0; translate: var(--intro-offset) 0; }
  to { opacity: 1; translate: 0 0; }
}
@keyframes hero-photo-wipe {
  from { clip-path: polygon(0 0, 0 0, calc(0% - var(--wipe-slant)) 100%, 0 100%); }
  to { clip-path: polygon(0 0, calc(100% + var(--wipe-slant)) 0, 100% 100%, 0 100%); }
}
@keyframes hero-reveal-down {
  from { clip-path: inset(0 0 100% 0); }
  to { clip-path: inset(0 0 0 0); }
}
@keyframes hero-light-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* The SP artwork has its own 750px composition, scaled as one responsive canvas. */
@media (max-width: 767px) {
  :root {
    --mobile-cta-message-height: 64px;
    --mobile-cta-main-top: calc(var(--mobile-cta-message-height) / 2);
    --mobile-cta-face-height: 144px;
    --mobile-cta-main-height: calc(var(--mobile-cta-face-height) + 9px);
    --mobile-cta-height: calc(var(--mobile-cta-main-top) + var(--mobile-cta-main-height));
  }
  .has-intro :is(.hero__title, .hero__tagline, .hero__job, .line-cta) { --intro-offset: -24px; }
  .hero { --type-scale: .72; --mobile-scale: .5; --mobile-fv-cta-top: 1066px; --mobile-fv-height: calc(var(--mobile-fv-cta-top) + var(--mobile-cta-height) + 76px); height: calc(var(--mobile-fv-height) * var(--mobile-scale)); min-height: 0; padding-bottom: 0; background: #fff; }
  .hero__visuals, .hero__inner { display: none; }
  .hero__header-slot { height: calc(72px * var(--mobile-scale)); }
  .hero .site-header { height: 100%; }
  .hero .site-header__inner { position: relative; width: 100%; padding: 0; }
  .hero .brand { position: absolute; left: calc(32px * var(--mobile-scale)); top: calc(16px * var(--mobile-scale)); width: calc(261px * var(--mobile-scale)); height: calc(41px * var(--mobile-scale)); }
  .hero .brand__drawing { display: none; }
  .hero .brand__mobile { display: block; width: 100%; height: 100%; }
  .site-header { z-index: 4; }
  .site-header__inner { width: calc(100% - 40px); padding-left: 0; }
  .brand { --type-scale: 1; }
  .site-header.is-fixed .site-header__inner { gap: 12px; }
  .site-header.is-fixed .brand { --type-scale: .8; }
  .line-cta--header .line-cta__face { gap: 6px; padding-inline: 8px; }
  .line-cta--header .line-cta__icon { width: 22px; height: 22px; }
  .line-cta--header .line-cta__label { font-size: 12px; line-height: 1.35; text-align: center; }
  .line-cta--header .line-cta__arrow { display: none; }
  .header-cta__break { display: inline; }
  .header-cta__desktop { display: none; }
  .hero-sp { --photo-slant: .2815; --photo-join: 681px; --photo-edge-at-join: 163px; --photo-bottom: 1142px; position: absolute; z-index: 2; display: block; top: 0; left: 0; width: 750px; height: var(--mobile-fv-height); transform: scale(var(--mobile-scale)); transform-origin: 0 0; color: #063463; font-family: var(--sans); font-weight: 500; }
  .hero-sp__asset { position: absolute; object-fit: cover; pointer-events: none; }
  .hero-sp__background { position: absolute; left: -1px; top: 1px; width: 753px; height: 71px; background: #fff; }
  .hero-sp__man--photo { left: 142px; top: 289px; }
  /* Continue the upper photo's diagonal to the CTA, scaling the photo uniformly. */
  .hero-sp__woman--photo { --photo-height: calc(var(--photo-bottom) - var(--photo-join)); left: calc(var(--photo-edge-at-join) - var(--photo-height) * var(--photo-slant)); top: var(--photo-join); width: calc(var(--photo-height) * 1024 / 577); height: var(--photo-height); }
  .hero-sp__woman-crop { width: 100%; height: 100%; clip-path: polygon(calc(var(--photo-height) * var(--photo-slant)) 0,100% 0,100% 100%,0 100%); }
  .hero-sp__woman-crop > img { width: 100%; height: 100%; object-fit: cover; }
  .hero-sp__tagline-back { position: absolute; left: 37px; top: 253px; width: 675px; height: 62px; background: #fff; }
  .hero-sp__light { left: -83px; top: 282px; }
  .hero-sp__glow { left: 126px; top: 395px; }
  .hero-sp__copy-in { position: absolute; }
  .hero-sp__title { display: flex; align-items: center; justify-content: center; left: -35.91px; top: 156.5px; width: 806.709px; height: 73.544px; }
  .hero-sp__title h1 { flex: none; font-family: "Shippori Mincho", var(--serif); font-size: 120px; font-weight: 700; line-height: 0; letter-spacing: -3.6px; white-space: nowrap; transform: skewX(-11.31deg) scaleY(.98); text-shadow: 8px 0 9.6px #fff,5.7px 5.7px 9.6px #fff,0 8px 9.6px #fff,-5.7px 5.7px 9.6px #fff,-8px 0 9.6px #fff,-5.7px -5.7px 9.6px #fff,0 -8px 9.6px #fff,5.7px -5.7px 9.6px #fff; }
  .hero-sp__title h1 > span { line-height: 75px; }
  .hero-sp__title h1 > :is(span:nth-child(2),span:nth-child(4),span:nth-child(5)) { color: var(--blue); }
  .hero-sp__title h1 > span:nth-child(3) { color: #283b49; font-size: 105px; }
  .hero-sp__title h1 > span:nth-child(4) { letter-spacing: -13.2px; }
  .hero-sp__title h1 > span:nth-child(5) { letter-spacing: -6px; }
  .hero-sp__tagline { left: 25.08px; top: 273px; width: 694.78px; height: 69px; }
  .hero-sp__tagline > img { position: absolute; left: -5px; top: -2px; }
  .hero-sp__tagline-copy { position: absolute; display: flex; align-items: center; justify-content: center; left: 25.39px; top: 4.5px; width: 634.767px; height: 58.835px; color: #fff; font-family: "Shippori Mincho", var(--serif); font-size: 40px; font-weight: 700; line-height: 60px; letter-spacing: -1.1714px; white-space: nowrap; }
  .hero-sp__tagline-copy > span { transform: skewX(-11.31deg) scaleY(.98); }
  .hero-sp__description-back { position: absolute; left: 17px; top: 619px; width: 538px; height: 135px; background: rgba(255,255,255,.86); }
  .hero-sp__lead { left: 38.6px; top: 398.91px; font-size: 28px; line-height: 46.5px; white-space: nowrap; }
  .hero-sp__delivery { left: 36.1px; top: 446.764px; width: 500px; height: 59px; white-space: nowrap; }
  .hero-sp__delivery > strong { position: absolute; left: 0; top: 0; color: var(--blue); font-size: 47.2px; font-weight: 700; line-height: 54.2px; }
  .hero-sp__delivery > span { position: absolute; font-size: 28px; line-height: 54.2px; }
  .hero-sp__delivery > span:nth-child(2) { left: 241.9px; top: 5.236px; font-size: 30px; line-height: 50px; }
  .hero-sp__delivery > span:nth-child(3) { left: 274.9px; top: 4.236px; }
  .hero-sp :is(.hero-sp__lead,.hero-sp__delivery > span) { text-shadow: 2.5px 0 3px #fff,1.8px 1.8px 3px #fff,0 2.5px 3px #fff,-1.8px 1.8px 3px #fff,-2.5px 0 3px #fff,-1.8px -1.8px 3px #fff,0 -2.5px 3px #fff,1.8px -1.8px 3px #fff; }
  .hero-sp__service { display: flex; align-items: center; justify-content: center; left: 18.84px; top: 500.736px; width: 414.573px; height: 107.864px; }
  .hero-sp__service h2 { flex: none; font-family: "Shippori Mincho", var(--serif); font-size: 95.3px; font-weight: 700; line-height: 109.7px; letter-spacing: 3.812px; color: transparent; background: linear-gradient(25.864011deg,rgba(35,106,179,.99),rgba(6,52,99,.99)); background-clip: text; transform: skewX(-11.31deg) scaleY(.98); filter: drop-shadow(0 0 7.5px #fff) drop-shadow(0 0 7.5px #fff); }
  .hero-sp__service-rule { position: absolute; left: 273px; top: 618px; width: 282px; height: 2px; background: #2369b3; }
  .hero-sp__english { display: flex; align-items: center; justify-content: center; left: 36.12px; top: 604.182px; width: 238.903px; height: 24.515px; color: var(--blue); font-family: "Shippori Mincho", var(--serif); font-size: 21.1px; font-weight: 700; line-height: 24.2px; letter-spacing: .6088px; white-space: nowrap; }
  .hero-sp__english > span { transform: skewX(-11.31deg) scaleY(.98); }
  .hero-sp__description { left: 37.6px; top: 639.94px; font-size: 27px; line-height: 44px; white-space: nowrap; text-shadow: 3px 0 3.6px #fff,2.1px 2.1px 3.6px #fff,0 3px 3.6px #fff,-2.1px 2.1px 3.6px #fff,-3px 0 3.6px #fff,-2.1px -2.1px 3.6px #fff,0 -3px 3.6px #fff,2.1px -2.1px 3.6px #fff; }
  .hero-sp__description > span { display: block; }
  .hero-sp__description strong { color: #00499b; font-weight: 700; }
  .hero-sp__beginner { left: 17px; top: 825px; width: 213px; height: 212px; color: #252627; }
  .hero-sp__beginner-tail { position: absolute; left: 121px; top: 179px; }
  .hero-sp__beginner > p { position: absolute; display: flex; align-items: center; justify-content: center; font-weight: 700; white-space: nowrap; }
  .hero-sp__beginner-first { left: 11.24px; top: 73.158px; width: 192.472px; height: 32.359px; font-size: 30.9px; line-height: 32.6px; }
  .hero-sp__beginner-last { left: 46.51px; top: 107.756px; width: 125.041px; height: 40.204px; color: var(--blue); font-size: 38.8px; line-height: 41px; }
  .hero-sp__beginner :is(span,strong) { font-weight: inherit; transform: skewX(-11.31deg) scaleY(.98); }
  .hero-sp .line-cta--mobile { position: absolute; left: 36px; top: var(--mobile-fv-cta-top); width: 673px; height: var(--mobile-cta-height); min-height: 0; margin: 0; padding: 0; border-radius: 28px; background: transparent; box-shadow: none; }
  .line-cta__mobile-art { position: relative; display: block; width: 673px; height: var(--mobile-cta-height); }
  .line-cta__mobile-art > span, .hero-sp__cta-main > :is(img,span) { position: absolute; }
  .hero-sp__cta-main { --cta-content-center: calc(var(--mobile-cta-face-height) / 2 + 6px); left: 0; top: var(--mobile-cta-main-top); width: 673px; height: var(--mobile-cta-main-height); border-radius: 28px; background: #1e9a3b; box-shadow: 0 3px 14px rgba(0,0,0,.2); }
  /* Draw the solid surfaces in CSS so reduced height keeps the rounded corners. */
  .hero-sp__cta-main::before { content: ""; position: absolute; inset: 0 1px 9px 0; border-radius: inherit; background: #01b955; }
  .hero-sp__cta-message { z-index: 1; left: 50%; top: 0; display: flex; align-items: center; justify-content: center; width: 568px; height: var(--mobile-cta-message-height); padding: 4px 20px; border: 4px solid #01ba55; border-radius: 999px; background: #fff; color: #14833b; font-size: 28px; font-weight: 700; line-height: 1.3; letter-spacing: .02em; text-align: center; white-space: nowrap; transform: translateX(-50%); }
  .hero-sp__cta-message::before, .hero-sp__cta-message::after { content: ""; position: absolute; left: 50%; width: 0; height: 0; border-style: solid; transform: translateX(-50%); }
  .hero-sp__cta-message::before { bottom: -18px; border-width: 18px 16px 0; border-color: #01ba55 transparent transparent; }
  .hero-sp__cta-message::after { bottom: -12px; border-width: 14px 12px 0; border-color: #fff transparent transparent; }
  .hero-sp__cta-base, .hero-sp__cta-face { display: none; }
  .hero-sp__cta-arrow-circle { left: 581px; top: calc(var(--cta-content-center) - 32px); width: 64px; height: 64px; border-radius: 50%; background: #fff; }
  .hero-sp__cta-arrow { left: 605px; top: calc(var(--cta-content-center) - 12px); width: 20px; height: 24px; background: #1f9a3c; clip-path: polygon(0 0,100% 50%,0 100%); }
  .hero-sp__cta-label { left: 120.3px; top: calc(var(--cta-content-center) - 28.05px); color: #fff; font-size: 35px; font-weight: 700; line-height: 52.5px; letter-spacing: 1.4px; white-space: nowrap; }
  .hero-sp__cta-label > span { color: #ffff9e; }
  .hero-sp__cta-icon-circle { left: 28px; top: calc(var(--cta-content-center) - 32px); width: 64px; height: 64px; }
  .hero-sp__cta-icon-back { left: 40.5px; top: calc(var(--cta-content-center) - 19.5px); width: 39px; height: 39px; border-radius: 5px; background: #07be55; }
  .hero-sp__cta-icon { left: 47px; top: calc(var(--cta-content-center) - 12px); }
  .hero-sp__soft-light { left: -3px; top: 347px; width: 412px; height: 271px; mix-blend-mode: soft-light; }
  .hero-sp__flare { mix-blend-mode: screen; }
  .hero-sp__flare--1 { left: 518px; top: 586px; }
  .hero-sp__flare--2 { left: 491px; top: 571px; }
  .hero-sp__flare--3 { left: 503px; top: 557px; }
  .hero-sp__flare--4 { left: 510px; top: 614px; }
  .hero-sp__flare--5 { left: 546px; top: 578px; }
  .hero-sp__flare--6 { left: 528px; top: 600px; }
  .hero-sp__flare--7 { left: 532px; top: 596px; }
}
@media (max-width: 374px) {
  .site-header__inner { width: calc(100% - 32px); }
  .site-header.is-fixed .brand { --type-scale: .65; }
  .line-cta__face { padding-inline: 10px; gap: 5px; }
  .line-cta__label { font-size: 15px; }
}
@supports (scale: calc(1px / 1px)) {
  @media (max-width: 767px) {
    .hero { --mobile-scale: calc(100vw / 750px); }
  }
}
@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
  .has-intro .hero-sp__copy-in { --intro-offset: -24px; opacity: 0; translate: var(--intro-offset) 0; }
  .has-intro .hero-sp :is(.hero-sp__man,.hero-sp__woman) { --wipe-slant: 28%; clip-path: polygon(0 0,0 0,calc(0% - var(--wipe-slant)) 100%,0 100%); }
  .has-intro .hero-sp :is(.hero-sp__light,.hero-sp__glow,.hero-sp__soft-light,.hero-sp__flare,.hero-sp__description-back,.hero-sp__service-rule,.hero-sp__tagline-back) { opacity: 0; }
  .has-intro .is-entering .hero-sp__copy-in { animation: hero-copy-in 1.5s var(--intro-ease) 1.4s both; }
  .has-intro .is-entering .hero-sp__title { animation-delay: 1.1s; }
  .has-intro .is-entering .hero-sp__tagline { animation-delay: 1.25s; }
  .has-intro .is-entering .hero-sp__beginner { animation-delay: 1.5s; }
  .has-intro .is-entering .hero-sp :where(.hero-sp__man,.hero-sp__woman) { animation: hero-photo-wipe 1.8s var(--intro-ease) both; }
  .has-intro .is-entering .hero-sp__man { animation-delay: .2s; }
  .has-intro .is-entering .hero-sp__woman { animation-delay: .65s; }
  .has-intro .is-entering .hero-sp :is(.hero-sp__light,.hero-sp__glow,.hero-sp__soft-light,.hero-sp__flare,.hero-sp__description-back,.hero-sp__service-rule,.hero-sp__tagline-back) { animation: hero-light-in 1.5s var(--intro-ease) 1.1s both; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .line-cta { transition: none; }
}

/* Section 02: the image reaches the left edge; the copy stays in document flow. */
.driveaway {
  --section-scale: var(--type-scale);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  overflow: clip;
  padding-block: calc(140px * var(--section-scale)) calc(180px * var(--section-scale));
  background: #fff;
  color: #000;
}
.driveaway__decoration { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.driveaway__blue { position: absolute; right: 59.861111%; top: calc(40px * var(--section-scale)); width: 1334px; height: 646px; transform: scale(var(--section-scale)); transform-origin: 100% 0; }
.driveaway__blue > img { transform: rotate(180deg); }
.driveaway__layout { display: grid; grid-template-columns: 47.152778% 38.888889%; column-gap: 7.777778%; align-items: start; }
.driveaway__photo { width: calc(100% + 50px * var(--section-scale)); height: calc(380px * var(--section-scale)); margin: calc(32px * var(--section-scale)) 0 0 calc(-50px * var(--section-scale)); box-shadow: 0 4px 18px rgba(13,38,77,.25); }
.driveaway__photo > img { width: 100%; height: 100%; object-fit: cover; }
.driveaway__content { display: grid; gap: calc(32px * var(--section-scale)); width: 100%; max-width: calc(560px * var(--section-scale)); }
.driveaway__title { --heading-scale: var(--section-scale); position: relative; left: calc(-20px * var(--heading-scale)); width: calc(488.59px * var(--heading-scale)); height: calc(120.049px * var(--heading-scale)); font-family: var(--serif); font-size: calc(40px * var(--heading-scale)); font-weight: 700; line-height: calc(54px * var(--heading-scale)); }
.driveaway__title::after { content: ""; position: absolute; left: calc(.995px * var(--heading-scale)); top: calc(118px * var(--heading-scale)); width: calc(463px * var(--heading-scale)); height: calc(2px * var(--heading-scale)); background: var(--blue); }
.driveaway__title-line { position: absolute; display: flex; align-items: center; justify-content: center; height: calc(52.951px * var(--heading-scale)); white-space: nowrap; }
.driveaway__title-text { flex: none; transform: skewX(-11.31deg) scaleY(.98); transform-origin: center; }
.driveaway__title-line--first { left: calc(22.405px * var(--heading-scale)); top: 0; width: calc(425.59px * var(--heading-scale)); color: #3b3b3b; letter-spacing: calc(1.6px * var(--heading-scale)); }
.driveaway__title-line--second { left: calc(-18.595px * var(--heading-scale)); top: calc(53px * var(--heading-scale)); width: calc(507.59px * var(--heading-scale)); letter-spacing: calc(1.52px * var(--heading-scale)); filter: drop-shadow(0 0 10px rgba(255,255,255,.9)); }
.driveaway__title-accent { color: #236ab3; }
.driveaway__quote { font-size: calc(46px * var(--heading-scale)); }
.driveaway__car { font-size: calc(50px * var(--heading-scale)); }
.driveaway__quote--close { letter-spacing: calc(-18.4px * var(--heading-scale)); }
.driveaway__particle, .driveaway__period { font-size: calc(38px * var(--heading-scale)); }
.driveaway__body { display: grid; gap: calc(20px * var(--section-scale)); font-size: calc(18px * var(--section-scale)); font-weight: 500; line-height: calc(32px * var(--section-scale)); overflow-wrap: anywhere; }
.driveaway__body strong { font-weight: 700; }
.driveaway__emphasis, .driveaway__summary { color: #2a75b6; }
.driveaway__summary { font-size: calc(36px * var(--section-scale)); font-weight: 700; line-height: calc(40px * var(--section-scale)); }
.driveaway-sp { display: none; }

/* Blue background → photo → heading → body, without changing the layout. */
@media (prefers-reduced-motion: no-preference) {
  .has-section-reveal .driveaway { --section-ease: cubic-bezier(.22, 1, .36, 1); }
  .has-section-reveal :is(.driveaway__decoration, .driveaway-sp__decoration) { clip-path: inset(0 0 100% 0); }
  .has-section-reveal :is(.driveaway__photo, .driveaway-sp__photo) { --wipe-slant: 24%; clip-path: polygon(0 0, 0 0, -24% 100%, 0 100%); }
  .has-section-reveal :is(.driveaway__title, .driveaway__body, .driveaway-sp__title, .driveaway-sp__body) { opacity: 0; translate: 0 18px; }

  .has-section-reveal .is-revealing :is(.driveaway__decoration, .driveaway-sp__decoration) { animation: hero-reveal-down .75s var(--section-ease) both; }
  .has-section-reveal .is-revealing :is(.driveaway__photo, .driveaway-sp__photo) { animation: hero-photo-wipe .9s var(--section-ease) .14s both; }
  .has-section-reveal .is-revealing :where(.driveaway__title, .driveaway__body, .driveaway-sp__title, .driveaway-sp__body) { animation: driveaway-copy-in 1.1s cubic-bezier(.22, 1, .36, 1) both; }
  .has-section-reveal .is-revealing :is(.driveaway__title, .driveaway-sp__title) { animation-delay: .48s; }
  .has-section-reveal .is-revealing :is(.driveaway__body, .driveaway-sp__body) { animation-delay: .72s; }
}

@keyframes driveaway-copy-in {
  from { opacity: 0; translate: 0 18px; }
  to { opacity: 1; translate: 0 0; }
}

@media (max-width: 1023px) {
  .driveaway { --section-scale: 1; --photo-inset: 20px; padding-block: 56px 72px; }
  .driveaway__decoration { bottom: auto; height: calc(74px + (100vw - var(--photo-inset)) * .521262); }
  .driveaway__blue { right: 35%; top: 24px; transform: scale(.65); }
  .driveaway__layout { display: flex; flex-direction: column; gap: 36px; width: calc(100% - 40px); margin-inline: auto; }
  .driveaway__photo { width: calc(100% + var(--photo-inset)); height: calc((100vw - var(--photo-inset)) * .521262); margin: 0 0 0 calc(-1 * var(--photo-inset)); }
  .driveaway__content { max-width: 560px; margin-inline: auto; gap: 24px; }
  .driveaway__title { --heading-scale: .96; left: 0; }
  .driveaway__title-line--first, .driveaway__title-line--second { left: 0; }
  .driveaway__title::after { left: 0; width: 100%; }
  .driveaway__body { gap: 18px; font-size: 16px; line-height: 30px; }
  .driveaway__break { display: none; }
  .driveaway__summary { font-size: 24px; line-height: 36px; }
}
@media (max-width: 599px) {
  .driveaway__title { --heading-scale: .62; }
}
@media (max-width: 374px) {
  .driveaway { --photo-inset: 16px; }
  .driveaway__layout { width: calc(100% - 32px); }
  .driveaway__title { --heading-scale: .535; }
  .driveaway__summary { font-size: 22px; }
}

/* The SP artwork shares the FV's 750px coordinate space. The explanatory
   copy stays in flow below the overlapping title/photo composition. */
@media (max-width: 767px) {
  .driveaway { --driveaway-mobile-scale: .5; --driveaway-top-trim: 100px; height: calc((1372px - var(--driveaway-top-trim)) * var(--driveaway-mobile-scale)); padding: 0; }
  .driveaway > .driveaway__decoration, .driveaway > .driveaway__layout { display: none; }
  .driveaway-sp { display: block; position: relative; isolation: isolate; width: 750px; min-height: 1372px; padding: 731px 89px 176px; transform: scale(var(--driveaway-mobile-scale)) translateY(calc(-1 * var(--driveaway-top-trim))); transform-origin: 0 0; color: #000; }
  .driveaway-sp__decoration { position: absolute; z-index: -1; inset: 0; pointer-events: none; }
  .driveaway-sp__waves { position: absolute; left: 1px; top: 136px; }
  .driveaway-sp__background { position: absolute; left: 1px; top: 477px; bottom: 0; width: 749px; background: #edf4f7; }
  .driveaway-sp__card { position: absolute; left: 41px; top: 616px; width: 665px; height: 655px; background: rgba(255,255,255,.8); box-shadow: 0 5px 32px #c5c6d1; }
  .driveaway-sp__connector { position: absolute; left: -80px; top: -1161px; }
  .driveaway-sp__title { position: absolute; top: 0; left: 0; width: 750px; height: 267px; font-family: "Shippori Mincho", var(--serif); font-weight: 700; line-height: 54.9px; }
  .driveaway-sp__title-first, .driveaway-sp__title-car, .driveaway-sp__title-particle, .driveaway-sp__title-rest { position: absolute; display: flex; align-items: center; justify-content: center; height: 53.931938px; white-space: nowrap; }
  .driveaway-sp__title-text { flex: none; transform: skewX(-11.31deg) scaleY(.98); }
  .driveaway-sp__title-first { left: 113.21px; top: 125.088px; width: 524.786388px; font-size: 49.9px; letter-spacing: 1.6148px; }
  .driveaway-sp__title-car { left: 80px; top: 190.287109px; width: 184.786388px; font-size: 59.9px; }
  .driveaway-sp__title-car .driveaway-sp__title-text, .driveaway-sp__title-car .driveaway-sp__title-text > span { background: linear-gradient(28.700146deg,rgba(35,106,179,.99),rgba(6,52,99,.99)); background-clip: text; color: transparent; }
  .driveaway-sp__title-car .driveaway-sp__title-text > span { letter-spacing: .64px; }
  .driveaway-sp__title-car .driveaway-sp__title-text > .driveaway-sp__car-character { letter-spacing: -2.4px; }
  .driveaway-sp__title-particle { left: 234.64px; top: 199.787109px; width: 45.786388px; font-size: 34.9px; letter-spacing: 1.396px; }
  .driveaway-sp__title-particle .driveaway-sp__title-text { background: linear-gradient(69.82643deg,rgba(35,106,179,.99),rgba(6,52,99,.99)); background-clip: text; color: transparent; }
  .driveaway-sp__title-car .driveaway-sp__title-text, .driveaway-sp__title-particle .driveaway-sp__title-text { filter: drop-shadow(0 0 9px #fff) drop-shadow(0 0 9px #fff); }
  .driveaway-sp__title-rest { left: 270.62px; top: 194.886719px; width: 399.786388px; color: #236ab3; font-size: 47.8px; letter-spacing: .8758px; }
  .driveaway-sp__title-job { color: #000; }
  .driveaway-sp__rule { position: absolute; left: 99px; top: 264px; width: 551px; height: 3px; background: #91bae4; }
  .driveaway-sp__photo { position: absolute; width: 375px; height: 290px; margin: 0; }
  .driveaway-sp__photo--handoff { left: 19px; top: 332px; box-shadow: 0 13px 24px #cecdcb; }
  .driveaway-sp__photo--driver { left: 358px; top: 408px; width: 373px; box-shadow: 7px 12.1px 15px #cecdcb; }
  .driveaway-sp__body { width: 572px; font-family: var(--sans); font-size: 30px; font-weight: 500; line-height: 47px; }
  .driveaway-sp__body > p { white-space: nowrap; }
  .driveaway-sp__body > p > span { display: block; }
  .driveaway-sp__intro { font-weight: 400; }
  .driveaway-sp__difference { margin-top: 29px; }
  .driveaway-sp__emphasis { margin-top: 30px; margin-left: 3px; color: #2a75b6; font-weight: 700; }
  .driveaway-sp__description { margin-left: 1px; }
  .driveaway-sp__summary { margin-top: 30px; margin-left: 1px; color: #2a75b6; font-size: 35px; font-weight: 700; }
}
@supports (scale: calc(1px / 1px)) {
  @media (max-width: 767px) {
    .driveaway { --driveaway-mobile-scale: calc(100vw / 750px); }
  }
}

/* Section 03: three cards over a full-width blue photographic background. */
.benefits {
  --benefits-scale: var(--type-scale);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  overflow: clip;
  padding-block: calc(112px * var(--benefits-scale)) calc(115px * var(--benefits-scale));
  background: linear-gradient(90deg, #f7faff, #edf4fc 50%, #e0edfb);
  color: #000;
}
.benefits__backdrop { position: absolute; z-index: -1; inset: calc(372px * var(--benefits-scale)) 0 0; overflow: hidden; background: linear-gradient(180deg, rgba(23,107,194,.9), rgba(41,140,214,.82) 50%, rgba(77,178,229,.78)); pointer-events: none; }
/* The exported PNG already contains the design's 9% photo opacity. */
.benefits__backdrop > img { width: 100%; height: 100%; object-position: bottom; }
.benefits__heading { display: flex; flex-direction: column; align-items: center; }
.benefits__title { width: max-content; height: calc(54px * var(--benefits-scale)); color: var(--blue); font-family: var(--serif); font-weight: 700; font-size: var(--section-title-size); line-height: calc(54px * var(--benefits-scale)); letter-spacing: calc(1.6px * var(--benefits-scale)); white-space: nowrap; transform: skewX(-11.31deg) scaleY(.98); transform-origin: center top; }
.benefits__title > span { color: #3b3b3b; font-size: .833333em; }
.benefits__english { height: var(--section-english-line-height); margin-top: calc(-1px * var(--benefits-scale)); color: #4a6077; font-family: "Shippori Mincho", var(--serif); font-weight: 700; font-size: var(--section-english-size); line-height: var(--section-english-line-height); letter-spacing: calc(.72px * var(--benefits-scale)); transform: skewX(-11.31deg) scaleY(.98); transform-origin: center top; }
.benefits__rule { position: relative; width: calc(38px * var(--benefits-scale)); height: calc(1px * var(--benefits-scale)); margin-top: calc(8px * var(--benefits-scale)); }
.benefits__rule > img { transform: scale(var(--benefits-scale)); transform-origin: 0 0; }
.benefits__cards { display: grid; grid-template-columns: 372fr 37fr 376fr 41fr 374fr; align-items: stretch; width: calc(1200px * var(--benefits-scale)); margin: calc(78px * var(--benefits-scale)) auto 0; }
.benefits__card {
  --content-left: 19px;
  --content-right: 20px;
  --photo-top: 3px;
  --photo-height: 247px;
  --photo-extra: 0px;
  --number-right: 7px;
  --number-bottom: 9px;
  --number-width: 111px;
  --number-height: 106px;
  min-width: 0;
  min-height: calc(497px * var(--benefits-scale));
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.1);
}
.benefits__card--cars { grid-column: 1; }
.benefits__card--interior { grid-column: 3; --content-left: 30px; --content-right: 30px; --photo-top: 1px; --photo-height: 251px; --number-right: 23px; --number-width: 114px; }
.benefits__card--woman { grid-column: 5; --content-left: 24px; --content-right: 17px; --photo-top: -1px; --photo-height: 249px; --photo-extra: 2px; --number-right: 0px; --number-bottom: 2px; --number-width: 115px; --number-height: 107px; margin-right: calc(2px * var(--benefits-scale)); }
.benefits__media { position: relative; height: calc(250px * var(--benefits-scale)); }
.benefits__image { position: absolute; top: calc(var(--photo-top) * var(--benefits-scale)); width: calc(100% + var(--photo-extra) * var(--benefits-scale)); height: calc(var(--photo-height) * var(--benefits-scale)); object-fit: cover; }
.benefits__number { position: absolute; right: calc(var(--number-right) * var(--benefits-scale)); bottom: calc(var(--number-bottom) * var(--benefits-scale)); width: calc(var(--number-width) * var(--benefits-scale)); height: calc(var(--number-height) * var(--benefits-scale)); color: #fff; opacity: .88; font-family: "Shippori Mincho", var(--serif); font-weight: 500; font-size: calc(96px * var(--benefits-scale)); line-height: calc(110px * var(--benefits-scale)); letter-spacing: calc(-1.92px * var(--benefits-scale)); }
.benefits__content { padding: calc(16px * var(--benefits-scale)) calc(var(--content-right) * var(--benefits-scale)) calc(31px * var(--benefits-scale)) calc(var(--content-left) * var(--benefits-scale)); }
.benefits__card-title { height: calc(76.857px * var(--benefits-scale)); margin-block: 0; margin-inline: calc(-1 * var(--content-left) * var(--benefits-scale)) calc(-1 * var(--content-right) * var(--benefits-scale)); color: var(--blue); font-family: var(--serif); font-weight: 700; font-size: calc(28px * var(--benefits-scale)); line-height: calc(41px * var(--benefits-scale)); text-align: center; transform: skewX(-11.31deg) scaleY(.98); transform-origin: center top; }
.benefits__divider { width: calc(100% - 6px * var(--benefits-scale)); height: calc(2px * var(--benefits-scale)); margin-top: calc(19.143px * var(--benefits-scale)); background: var(--pale-blue); }
.benefits__card--interior .benefits__divider { width: calc(100% + 10px * var(--benefits-scale)); margin-left: calc(-9px * var(--benefits-scale)); }
.benefits__card--woman .benefits__divider { width: calc(100% - 5px * var(--benefits-scale)); margin-left: calc(5px * var(--benefits-scale)); }
.benefits__description { margin-top: calc(15px * var(--benefits-scale)); font-weight: 500; font-size: calc(16px * var(--benefits-scale)); line-height: calc(29px * var(--benefits-scale)); overflow-wrap: anywhere; }
.benefits__description > strong { color: var(--blue); font-weight: 700; }

/* Heading → card 01 → 02 → 03, each rising from below. main.js sets --reveal-delay. */
@media (prefers-reduced-motion: no-preference) {
  .has-benefits-reveal .benefits__heading { --rise-distance: 18px; }
  .has-benefits-reveal .benefits__card { --rise-distance: 64px; }
  .has-benefits-reveal :is(.benefits__heading, .benefits__card) { opacity: 0; translate: 0 var(--rise-distance); }
  .has-benefits-reveal :is(.benefits__heading, .benefits__card).is-revealed { animation: benefits-rise .9s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0s) both; }
}

@keyframes benefits-rise {
  from { opacity: 0; translate: 0 var(--rise-distance); }
  to { opacity: 1; translate: 0 0; }
}

@media (max-width: 1023px) {
  .benefits { --benefits-scale: 1; padding: 56px 20px 72px; }
  .benefits__backdrop { top: 240px; }
  .benefits__backdrop > img { object-fit: cover; }
  .benefits__cards { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 28px 24px; width: 100%; max-width: 860px; margin-top: 40px; }
  .benefits__card { grid-column: auto; }
  .benefits__card--woman { grid-column: 1 / -1; justify-self: center; width: 100%; max-width: 420px; margin-right: 0; }
  .benefits__media { height: auto; aspect-ratio: 372 / 250; }
  .benefits__image { top: 0; width: 100%; height: 100%; }
  .benefits__number { right: 12px; bottom: 8px; width: 100px; height: 94px; font-size: 80px; line-height: 96px; }
}
@media (max-width: 640px) {
  .benefits__cards { grid-template-columns: minmax(0,1fr); max-width: 420px; }
  .benefits__card { min-height: 0; }
  .benefits__content { padding-bottom: 24px; }
  .benefits__card--woman { grid-column: auto; }
}

/* Workplace introduction: a separate section for future reordering. */
.workplace { --workplace-scale: var(--type-scale); overflow: hidden; overflow: clip; padding: calc(96px * var(--workplace-scale)) 0 0; background: linear-gradient(90deg,#f7faff,#edf4fc 50%,#e0edfb); color: #000; }
.workplace__heading { text-align: center; }
.workplace-sp { display: none; }
.workplace__welcome { --accent-scale: var(--workplace-scale); position: relative; display: flex; align-items: center; justify-content: center; gap: calc(12px * var(--workplace-scale)); width: max-content; height: calc(53.932px * var(--workplace-scale)); margin-inline: auto; color: #21262e; font-family: "Shippori Mincho",var(--serif); font-size: calc(37.824px * var(--workplace-scale)); font-weight: 700; line-height: calc(54.931px * var(--workplace-scale)); letter-spacing: .02em; text-shadow: 0 0 3.782px #fff,0 0 11.347px rgba(255,255,255,.9),0 0 22.694px rgba(255,255,255,.7); }
.workplace__welcome > span:nth-child(2) { display: block; flex: none; white-space: nowrap; transform: skewX(-11.31deg) scaleY(.98); }
/* The parent already skews the copy; the combined tilt matches the 20.076deg accent. */
.workplace__exclamation { display: inline-block; font-family: var(--serif); font-style: normal; transform: skewX(-9.2108deg); }
.workplace__welcome-ri { letter-spacing: -.2em; }
.workplace__welcome-quote { letter-spacing: -.28em; }
.workplace__accent { position: relative; flex: none; width: calc(19.171px * var(--accent-scale)); height: calc(49.1715px * var(--accent-scale)); }
.workplace__accent > img { position: absolute; top: 0; left: 0; transform: scale(var(--accent-scale)); transform-origin: 0 0; }
.workplace__accent--left > img { left: calc(19.171px * var(--accent-scale)); transform: scale(calc(-1 * var(--accent-scale)),var(--accent-scale)); }
.workplace__title { position: relative; left: calc(-.4px * var(--workplace-scale)); margin-top: calc(-14.362px * var(--workplace-scale)); color: #333; font-family: var(--serif); font-size: calc(54.65px * var(--workplace-scale)); font-weight: 700; line-height: calc(93.614px * var(--workplace-scale)); letter-spacing: .08em; }
.workplace__cards { display: grid; gap: calc(34px * var(--workplace-scale)); width: calc(1200px * var(--workplace-scale)); margin: calc(26.816px * var(--workplace-scale)) auto 0; }
.workplace__card { display: grid; grid-template-columns: calc(168px * var(--workplace-scale)) minmax(0,1fr); align-items: center; gap: calc(40px * var(--workplace-scale)); min-height: calc(230px * var(--workplace-scale)); padding: calc(31px * var(--workplace-scale)) 0 calc(31px * var(--workplace-scale)) calc(33px * var(--workplace-scale)); border-radius: calc(32px * var(--workplace-scale)) 0; background: #fff; }
.workplace__card--beginner { min-height: calc(258px * var(--workplace-scale)); margin-bottom: calc(2px * var(--workplace-scale)); padding-block: calc(40px * var(--workplace-scale)); }
.workplace__card--hospitality { gap: calc(25px * var(--workplace-scale)); }
.workplace__badge { position: relative; width: calc(168px * var(--workplace-scale)); height: calc(168px * var(--workplace-scale)); overflow: hidden; border-radius: 50%; background: var(--icon-badge-background); }
.workplace__badge > img { position: absolute; left: calc(18px * var(--workplace-scale)); top: calc(23px * var(--workplace-scale)); width: calc(132px * var(--workplace-scale)); height: calc(132px * var(--workplace-scale)); object-fit: contain; }
.workplace__card--hospitality .workplace__badge > img { left: calc(26px * var(--workplace-scale)); width: calc(116px * var(--workplace-scale)); height: calc(116px * var(--workplace-scale)); }
.workplace__card--career .workplace__badge > img { left: calc(29px * var(--workplace-scale)); top: calc(25px * var(--workplace-scale)); width: calc(109px * var(--workplace-scale)); height: calc(109px * var(--workplace-scale)); }
.workplace__content { width: calc(974px * var(--workplace-scale)); }
.workplace__label { color: var(--blue); font-family: "Montserrat",var(--sans); font-size: calc(13px * var(--workplace-scale)); font-weight: 700; line-height: calc(18px * var(--workplace-scale)); letter-spacing: .08em; }
.workplace__card-title { margin: calc(6px * var(--workplace-scale)) 0 0; font-family: var(--serif); font-size: calc(37px * var(--workplace-scale)); font-weight: 700; line-height: calc(42px * var(--workplace-scale)); white-space: nowrap; }
.workplace__from { color: #333; }
.workplace__body { margin-top: calc(16px * var(--workplace-scale)); color: #2b3c49; font-size: calc(18px * var(--workplace-scale)); font-weight: 400; line-height: calc(32px * var(--workplace-scale)); letter-spacing: calc(.25px * var(--workplace-scale)); }
.workplace__card strong { color: var(--blue); font-weight: 700; }

@media (min-width: 1024px) {
  .workplace__cards { grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(20px,1.67vw,32px); width: min(calc(100% - 64px),1500px); margin-top: 48px; }
  .workplace__card { grid-template-columns: minmax(0,1fr); grid-template-rows: auto 1fr; align-items: start; justify-items: center; gap: 24px; min-height: 0; margin: 0; padding: 32px clamp(20px,1.9vw,36px) 36px; }
  .workplace__badge { --workplace-scale: min(var(--type-scale),1); }
  .workplace__content { width: 100%; min-width: 0; }
  .workplace__label { font-size: clamp(12px,1vw,15px); line-height: 1.5; text-align: center; }
  .workplace__card-title { min-height: 4.8em; font-size: clamp(20px,1.65vw,26px); line-height: 1.6; white-space: normal; text-align: center; }
  .workplace__title-line { display: block; width: fit-content; max-width: 100%; margin-inline: auto; text-align: center; }
  .workplace__body { font-size: clamp(15px,1.1vw,18px); line-height: 1.9; letter-spacing: .02em; }
  .workplace__break { display: none; }
}
@media (min-width: 1280px) {
  .workplace__card-title { min-height: 3.2em; }
}

.workplace__closing { display: flow-root; }
.workplace__homecoming { --homecoming-scale: var(--workplace-scale); position: relative; left: calc(.634px * var(--homecoming-scale)); width: calc(374.728px * var(--homecoming-scale)); height: calc(68.641px * var(--homecoming-scale)); margin: calc(54px * var(--workplace-scale)) auto 0; color: #21262e; font-family: "Shippori Mincho",var(--serif); font-size: calc(48px * var(--homecoming-scale)); font-weight: 700; line-height: calc(70.042px * var(--homecoming-scale)); letter-spacing: .02em; text-shadow: 0 0 4px #fff,0 0 12px rgba(255,255,255,.9),0 0 24px rgba(255,255,255,.7); }
.workplace__return-copy { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.workplace__return-text { flex: none; white-space: nowrap; transform: skewX(-11.31deg) scaleY(.98); }
.workplace__return-o { letter-spacing: .09em; }
.workplace__return-exclamation { letter-spacing: .09em; }
.workplace__return-ka { letter-spacing: .03em; }
.workplace__return-e { letter-spacing: -.08em; }
.workplace__return-rest { letter-spacing: -.13em; }
.workplace__return-accent { position: absolute; top: calc(8px * var(--homecoming-scale)); width: calc(20.274px * var(--homecoming-scale)); height: calc(52.0005px * var(--homecoming-scale)); }
.workplace__return-accent > img { transform: scale(var(--homecoming-scale)); transform-origin: 0 0; }
.workplace__return-accent--left { left: calc(-21.27px * var(--homecoming-scale)); }
.workplace__return-accent--left > img { position: relative; left: calc(20.274px * var(--homecoming-scale)); transform: scale(calc(-1 * var(--homecoming-scale)),var(--homecoming-scale)); }
.workplace__return-accent--right { right: calc(-20.276px * var(--homecoming-scale)); }
@media (min-width: 768px) {
  .workplace__return-exclamation { width: .75em; letter-spacing: 0; }
}
.workplace__team { width: calc(611px * var(--workplace-scale)); height: calc(298px * var(--workplace-scale)); margin: calc(11.359px * var(--workplace-scale)) auto 0; transform: translateX(calc(.5px * var(--workplace-scale))); filter: drop-shadow(5px -2px 10px #cbcdcf); }
.workplace__team > img { width: 100%; height: 100%; object-fit: cover; }

/* Reveal in reading order while preserving the copy skew and photo position. */
@media (prefers-reduced-motion: no-preference) {
  .has-workplace-reveal .workplace :is(.workplace__welcome, .workplace__title, .workplace__card, .workplace-sp__artwork, .workplace-sp__copy) { opacity: 0; translate: 0 24px; }
  .has-workplace-reveal .workplace__heading.is-revealed .workplace__welcome { animation: workplace-rise 1.1s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms) both; }
  .has-workplace-reveal .workplace__heading.is-revealed .workplace__title { animation: workplace-rise 1.1s cubic-bezier(.22,1,.36,1) calc(var(--reveal-delay,0ms) + 180ms) both; }
  .has-workplace-reveal .workplace__card.is-revealed { animation: workplace-rise 1.1s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms) both; }
  .has-workplace-reveal .workplace__heading.is-revealed .workplace-sp__artwork { animation: workplace-rise 1.1s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms) both; }
  .has-workplace-reveal .workplace__heading.is-revealed .workplace-sp__copy { animation: workplace-rise 1.1s cubic-bezier(.22,1,.36,1) calc(var(--reveal-delay,0ms) + 180ms) both; }
  .has-workplace-reveal :is(.workplace__homecoming, .workplace__team) { opacity: 0; translate: 0 24px; }
  .has-workplace-reveal .workplace__closing.is-revealed .workplace__homecoming { animation: workplace-rise 1.1s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms) both; }
  .has-workplace-reveal .workplace__closing.is-revealed .workplace__team { animation: workplace-rise 1.4s cubic-bezier(.22,1,.36,1) calc(var(--reveal-delay,0ms) + 360ms) both; }
}
@keyframes workplace-rise {
  from { opacity: 0; translate: 0 24px; }
  to { opacity: 1; translate: 0 0; }
}

@media (max-width: 1023px) {
  .workplace { --workplace-scale: 1; padding-top: 72px; }
  .workplace__welcome { --accent-scale: .79; gap: 10px; height: auto; max-width: calc(100% - 48px); font-size: clamp(17px,3.6vw,32px); line-height: 1.6; }
  .workplace__title { left: 0; margin-top: 8px; font-size: clamp(30px,5.4vw,54.65px); line-height: 1.5; letter-spacing: .04em; }
  .workplace__cards { width: calc(100% - 40px); margin-top: 36px; gap: 28px; }
  .workplace__card { grid-template-columns: 120px minmax(0,1fr); gap: 24px; padding: 28px 24px; min-height: 0; margin: 0; }
  .workplace__badge { width: 120px; height: 120px; }
  .workplace__badge > img { left: 12.857px; top: 16.429px; width: 94.286px; height: 94.286px; }
  .workplace__card--hospitality .workplace__badge > img { left: 18.571px; width: 82.857px; height: 82.857px; }
  .workplace__card--career .workplace__badge > img { left: 20.714px; top: 17.857px; width: 77.857px; height: 77.857px; }
  .workplace__content { width: 100%; }
  .workplace__card-title { font-size: 26px; line-height: 1.5; white-space: normal; }
  .workplace__body { font-size: 16px; line-height: 1.9; letter-spacing: .1px; }
  .workplace__break { display: none; }
  .workplace__homecoming { --homecoming-scale: .8333333333; left: 0; margin-top: 64px; }
  .workplace__team { width: min(80%,611px); height: auto; aspect-ratio: 611/298; margin-top: 16px; transform: none; }
}
@media (max-width: 599px) {
  .workplace { padding-top: 56px; }
  .workplace__cards { width: calc(100% - 32px); }
  .workplace__card { grid-template-columns: minmax(0,1fr); justify-items: center; gap: 20px; padding: 24px 20px 28px; }
  .workplace__badge { --workplace-scale: .7142857143; }
  .workplace__label { font-size: 12px; }
  .workplace__card-title { font-size: 24px; }
  .workplace__body { margin-top: 14px; font-size: 15px; }
}

@media (max-width: 767px) {
  .workplace { --workplace-mobile-scale: .5; --workplace-mobile-background: linear-gradient(90deg,#f7faff,#edf4fc 50%,#e0edfb); padding: 0 0 48px; }
  .workplace__closing { display: none; }
  .workplace__heading { height: calc(500px * var(--workplace-mobile-scale)); background: var(--workplace-mobile-background); }
  .workplace__welcome, .workplace__title { display: none; }
  .workplace-sp { position: relative; isolation: isolate; display: block; overflow: clip; width: 750px; height: 500px; transform: scale(var(--workplace-mobile-scale)); transform-origin: 0 0; background: var(--workplace-mobile-background); }
  .workplace-sp__artwork, .workplace-sp__copy { position: absolute; inset: 0; }
  /* An opaque backdrop keeps screen-blended flares clear during the reveal. */
  .workplace-sp__artwork { pointer-events: none; background: var(--workplace-mobile-background); }
  .workplace-sp__layer { position: absolute; max-width: none; object-fit: cover; }
  /* The shadow follows the transparent PNG's curved edge. */
  .workplace-sp__curve { left: -25px; top: 41px; filter: drop-shadow(0 3px 10px #c6c6c6); }
  .workplace-sp__staff { left: -215px; top: -172px; }
  .workplace-sp__fade { left: -2px; top: -18px; }
  .workplace-sp__flare { mix-blend-mode: screen; }
  .workplace-sp__flare--core { left: 133px; top: 283px; }
  .workplace-sp__flare--horizontal { left: 111px; top: 270px; }
  .workplace-sp__flare--vertical { left: 121px; top: 259px; }
  .workplace-sp__flare--line-horizontal { left: 127px; top: 306px; }
  .workplace-sp__flare--line-vertical { left: 156px; top: 276px; }
  .workplace-sp__flare--glow-horizontal { left: 141px; top: 294px; }
  .workplace-sp__flare--glow-vertical { left: 145px; top: 291px; }
  .workplace-sp__flare--wide { left: -105px; top: 130px; }
  .workplace-sp__copy { color: #2c2c2d; font-family: "Shippori Mincho",var(--serif); font-weight: 700; text-shadow: 5px 0 6px #fff,3.5px 3.5px 6px #fff,0 5px 6px #fff,-3.5px 3.5px 6px #fff,-5px 0 6px #fff,-3.5px -3.5px 6px #fff,0 -5px 6px #fff,3.5px -3.5px 6px #fff; }
  .workplace-sp__word { position: absolute; display: flex; align-items: center; justify-content: center; }
  .workplace-sp__word > span { flex: none; white-space: nowrap; transform: skewX(-11.31deg) scaleY(.98); }
  .workplace-sp__word--welcome { left: 6.2px; top: 230.84px; width: 342.198px; height: 50.99px; font-size: 0; line-height: 0; }
  .workplace-sp__quote { font-size: 52.6px; line-height: 32.9px; letter-spacing: -1.052px; }
  .workplace-sp__okaeri, .workplace-sp__ri, .workplace-sp__exclamation { font-size: 56.6px; line-height: 51.9px; }
  .workplace-sp__okaeri { letter-spacing: -5.66px; }
  .workplace-sp__ri { letter-spacing: -15.848px; }
  .workplace-sp__exclamation { letter-spacing: -22.64px; }
  .workplace-sp__word--no { left: 324px; top: 231.72px; width: 56.983px; height: 54.913px; font-size: 45.2px; line-height: 55.3px; letter-spacing: 1.808px; }
  .workplace-sp__word--voice { left: 371.79px; top: 231px; width: 65.179px; height: 55.893px; font-size: 53.8px; line-height: 56.6px; letter-spacing: 2.152px; }
  .workplace-sp__word--ga { left: 429.94px; top: 231.85px; width: 61.179px; height: 55.893px; font-size: 49.2px; line-height: 56.6px; letter-spacing: 1.968px; }
  .workplace-sp__word--waiting { left: 486.6px; top: 234.91px; width: 265.002px; height: 50.01px; font-size: 43.9px; line-height: 50.5px; letter-spacing: -1.7242px; }
  .workplace-sp__word--warm { left: 105px; top: 306px; width: 597.61px; height: 48.048px; font-size: 59.9px; line-height: 49px; letter-spacing: -1.3306px; text-shadow: 7.5px 0 9px #fff,5.3px 5.3px 9px #fff,0 7.5px 9px #fff,-5.3px 5.3px 9px #fff,-7.5px 0 9px #fff,-5.3px -5.3px 9px #fff,0 -7.5px 9px #fff,5.3px -5.3px 9px #fff; }
  .workplace-sp__period { letter-spacing: 3.4848px; }
  .workplace__cards { margin-top: 24px; }
  .workplace__label { text-align: center; }
  .workplace__card-title { font-size: clamp(16px,5.1vw,24px); text-align: center; }
  .workplace__title-line { display: block; white-space: nowrap; }
  @supports (opacity: calc(100vw / 750px)) {
    .workplace { --workplace-mobile-scale: calc(100vw / 750px); }
  }
}

/* Working-style links stay together when sections are reordered. Percentages
   scale the original photo/mask composition without cropping the cutouts. */
.work-options {
  --options-scale: min(var(--type-scale), .9152542373);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  overflow: clip;
  padding: calc(96px * var(--options-scale)) 0 calc(88px * var(--options-scale));
  background: #f0f3f7;
}
.work-options__background { position: absolute; z-index: -1; inset: 0; mask: url("assets/work-options-background-mask.svg") 0 0 / 100% 100% no-repeat; pointer-events: none; }
.work-options__road { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.work-options__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(158,204,242,.82), rgba(184,219,247,.78) 50%, rgba(209,235,252,.75)); }
.work-options__fade { position: absolute; left: -2.847222%; top: 57.160343%; width: 104.305556%; height: 42.839657%; background: linear-gradient(177.936087deg, rgba(255,255,255,0) 11.543%, #fff 99.57%); }
.work-options__heading { position: relative; width: max-content; max-width: 100%; margin-inline: auto; }
.work-options__title { display: grid; place-items: center; padding: calc(8px * var(--options-scale)) calc(32px * var(--options-scale)); background: var(--blue); color: #fff; font-family: "Shippori Mincho", var(--serif); font-size: calc(52px * var(--options-scale)); font-weight: 700; line-height: 1.4; letter-spacing: .02em; text-align: center; }
.work-options__title > span { transform: skewX(-11.31deg) scaleY(.98); white-space: nowrap; }
.work-options__tail { position: absolute; top: calc(100% - 1px); left: 50%; width: calc(32px * var(--options-scale)); height: calc(16px * var(--options-scale)); background: var(--blue); clip-path: polygon(0 0,100% 0,50% 100%); transform: translateX(-50%); }
.work-options__cards { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: calc(60px * var(--options-scale)); width: calc(1180px * var(--options-scale)); margin: calc(88.236px * var(--options-scale)) auto 0; }
.work-options__card { position: relative; display: block; min-width: 0; background: #fff; box-shadow: 0 8px 24px rgba(13,46,97,.12); text-decoration: none; }
.work-options__visual { position: relative; aspect-ratio: 560 / 300; pointer-events: none; }
.work-options__photo, .work-options__cutout { position: absolute; left: -1.428571%; width: 135.714286%; height: 169%; mask-repeat: no-repeat; }
.work-options__photo { top: -32%; mask-image: url("assets/work-options-photo-mask.svg"); mask-size: 73.684211% 59.171598%; mask-position: 4% 46.376812%; }
.work-options__cutout { top: -31.666667%; mask-image: url("assets/work-options-man-mask.svg"); mask-size: 73.684211% 122.09073%; mask-position: 4% 200%; }
.work-options__photo > img, .work-options__cutout > img { width: 100%; height: 100%; object-fit: cover; }
.work-options__top-border { position: absolute; inset: 0 0 auto; height: calc(3px * var(--options-scale)); background: linear-gradient(179.693061deg, #1a80e0 0%, #149ec7 35.714%, #236ab3 71.429%); }
.work-options__card--flexible .work-options__photo, .work-options__card--flexible .work-options__cutout { left: -25.535714%; top: -51.666667%; width: 146.428571%; height: 182.333333%; }
.work-options__card--flexible .work-options__photo { mask-size: 68.292683% 54.844607%; mask-position: 55% 62.753036%; }
.work-options__card--flexible .work-options__cutout { mask-image: url("assets/work-options-woman-mask.svg"); mask-size: 68.292683% 113.345521%; mask-position: 55% 226.027397%; }
.work-options__copy { position: absolute; z-index: 1; top: calc(59.44px * var(--options-scale)); left: calc(-30px * var(--options-scale)); display: flex; flex-direction: column; align-items: flex-start; gap: calc(6px * var(--options-scale)); color: #fff; font-family: "Shippori Mincho", var(--serif); font-size: calc(24px * var(--options-scale)); font-weight: 700; line-height: 1.5; letter-spacing: .06em; }
.work-options__copy > span { padding: calc(6px * var(--options-scale)) calc(20px * var(--options-scale)) calc(6px * var(--options-scale)) calc(18px * var(--options-scale)); background: linear-gradient(90deg, #1e479e, #4d80d5); white-space: nowrap; }
.work-options__card--flexible .work-options__copy { top: calc(56.44px * var(--options-scale)); }
.work-options__copy > .work-options__copy--long { width: auto; letter-spacing: .01em; }
.work-options__tight-start { letter-spacing: -.062857em; }
.work-options__tight-end { letter-spacing: -.005714em; }
.work-options__button { position: relative; display: grid; place-items: center; height: calc(68px * var(--options-scale)); background: linear-gradient(90deg, #1754a8, #338cd9); color: #fff; font-size: calc(24px * var(--options-scale)); font-weight: 500; line-height: 1.5; }
.work-options__button-label { position: relative; left: calc(-2px * var(--options-scale)); white-space: nowrap; }
.work-options__card--flexible .work-options__button-label { left: calc(-5px * var(--options-scale)); }
.work-options__arrow { --arrow-scale: calc(.8 * var(--options-scale)); position: absolute; top: calc(50% - 22px * var(--arrow-scale)); right: 5%; width: calc(44px * var(--arrow-scale)); height: calc(44px * var(--arrow-scale)); }
.work-options__arrow > img { transform: scale(var(--arrow-scale)); transform-origin: 0 0; }
.work-options__border { position: absolute; inset: 0; border: calc(2px * var(--options-scale)) solid #1a80e0; border-top: 0; pointer-events: none; }
.work-options__card:focus-visible { outline: 3px solid #0a2452; outline-offset: 8px; }
@media (hover: hover) {
  .work-options__card:hover .work-options__button { background: linear-gradient(90deg, #12498f, #2678c3); }
}
@media (max-width: 1023px) {
  .work-options { --options-scale: 1; padding: 64px 40px 72px; }
  .work-options__title { font-size: clamp(36px,4vw,48px); }
  .work-options__cards { gap: 32px; width: 100%; margin-top: 64px; }
  .work-options__copy { top: 19.813333%; left: -5.357143%; font-size: clamp(16px,2.2vw,22px); }
  .work-options__copy > span { padding: .214286em .714286em .214286em .642857em; }
  .work-options__copy > .work-options__copy--long { width: auto; }
  .work-options__card--flexible .work-options__copy { top: 18.813333%; }
  .work-options__button { height: 60px; font-size: clamp(16px,2.2vw,22px); }
  .work-options__button-label, .work-options__card--flexible .work-options__button-label { left: -8px; }
  .work-options__arrow { --arrow-scale: .65; }
  .work-options__fade { top: 65%; height: 35%; }
}
@media (max-width: 767px) {
  .work-options { padding: 48px 28px 56px; }
  .work-options__title { padding-inline: 16px; font-size: clamp(28px,6vw,40px); }
  .work-options__cards { grid-template-columns: minmax(0,1fr); width: min(100%,460px); margin-top: 72px; gap: 80px; }
  .work-options__button { font-size: clamp(16px,4.4vw,22px); }
  .work-options__copy { gap: 4px; font-size: clamp(16px,4vw,22px); }
  .work-options__arrow { --arrow-scale: .6; right: 4%; }
  .work-options__button-label, .work-options__card--flexible .work-options__button-label { left: -10px; }
  .work-options__border { border-width: 2px; border-top: 0; }
  .work-options__top-border { height: 2px; }
}

/* Career and working style share one movable section. Only the overlapping
   photo/header composition uses design coordinates; the body stays in flow. */
.career { --career-scale: min(var(--type-scale), .9); --career-photo-scale: var(--type-scale); --career-heading-scale: var(--type-scale); --career-copy-inset: max(24px,calc(100% - 1293px * var(--career-heading-scale) - 32px * var(--career-scale) - 160px * (var(--career-heading-scale) - var(--career-scale)))); overflow: hidden; overflow: clip; padding-block: 24px 64px; background: #fff; color: #000; }
.career__story { position: relative; isolation: isolate; width: 100%; margin-inline: auto; }
.career__story + .career__story { margin-top: 88px; }
.career__hero { position: relative; height: calc(488px * var(--career-scale)); }
.career__photo { position: absolute; z-index: 2; margin: 0; height: 440px; filter: drop-shadow(0 4px 2px rgba(0,0,0,.25)); transform: scale(var(--career-scale)); transform-origin: 0 0; }
.career__photo--man { top: calc(48px * var(--career-scale)); left: 0; width: calc(717px * var(--career-photo-scale) / var(--career-scale)); }
.career__photo--woman { top: 0; right: 0; width: calc(880px * var(--career-photo-scale) / var(--career-scale)); transform-origin: 100% 0; }
.career__photo-mask, .career__photo-content { position: absolute; inset: 0; }
.career__photo-mask { background: #f1f6fb; mask-repeat: no-repeat; }
.career__photo--man .career__photo-mask { mask-image: url("assets/career-photo-mask.svg"); mask-size: 100% 446px; transform: scaleX(-1); }
.career__photo--man .career__photo-content { transform: scaleX(-1); }
.career__photo--woman .career__photo-mask { mask-image: url("assets/working-style-photo-mask.svg"); mask-size: calc(749px * var(--career-photo-scale) / var(--career-scale)) 468px; mask-position: calc(139.5px * var(--career-photo-scale) / var(--career-scale)) -13.5px; }
.career__image { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.career__photo-gradient { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,46,77,0) 50%, rgba(15,46,77,.87)); }
.career__photo-english { position: absolute; left: 8px; top: 374px; color: rgba(255,255,255,.3); font-family: "Roboto Condensed", var(--sans); font-size: 52px; font-weight: 700; font-style: italic; line-height: 64px; white-space: nowrap; }
.career__photo--woman .career__photo-english { left: calc(184px * var(--career-photo-scale) / var(--career-scale)); }
.career__heading { position: relative; z-index: 3; width: calc(719px * var(--career-heading-scale)); margin-left: calc(50% - 150px * var(--career-scale)); padding-top: calc(153px * var(--career-scale)); font-family: var(--serif); }
.career__title { display: flex; align-items: center; justify-content: flex-start; width: fit-content; max-width: 100%; min-height: calc(68px * var(--career-heading-scale)); margin-left: 0; padding: calc(6px * var(--career-heading-scale)) calc(24px * var(--career-heading-scale)); background: var(--blue); color: #fff; font-size: calc(40px * var(--career-heading-scale)); font-weight: 600; line-height: 1.4; letter-spacing: .06em; }
.career__title > span { transform: skewX(-9.78deg) scaleY(.99); white-space: nowrap; }
.career__headline { display: grid; gap: calc(17px * var(--career-heading-scale)); margin-top: calc(20px * var(--career-heading-scale)); padding-inline: calc(24px * var(--career-heading-scale)); font-size: calc(40px * var(--career-heading-scale)); font-weight: 500; line-height: 1.4; letter-spacing: .06em; }
.career__headline > p { position: relative; width: max-content; margin-inline: 0; white-space: nowrap; }
.career__phrase { white-space: nowrap; }
.career__line { position: absolute; bottom: calc(-6px * var(--career-heading-scale)); left: 0; height: calc(1px * var(--career-heading-scale)); }
.career__line > img { transform: scale(var(--career-heading-scale)); transform-origin: 0 0; }
.career__line--growth-first { width: calc(522px * var(--career-heading-scale)); }
.career__line--growth-second { width: calc(632px * var(--career-heading-scale)); }
.career__line--flexible-first { width: calc(497px * var(--career-heading-scale)); }
.career__line--flexible-second { width: calc(462px * var(--career-heading-scale)); }
.career__body { position: relative; z-index: 1; width: calc(1024px * var(--career-scale)); margin: calc(-49px * var(--career-scale)) auto 0; padding: calc(84px * var(--career-scale)) calc(68px * var(--career-scale)) calc(52px * var(--career-scale)); background: linear-gradient(153.794deg, rgba(255,255,255,.96), rgba(246,249,254,.95) 35.714%, rgba(236,241,251,.95) 71.429%); box-shadow: 0 6px 24px rgba(26,64,128,.07); color: #263544; font-size: clamp(16px,calc(20px * var(--career-scale)),18px); font-weight: 400; line-height: 1.9; }
.career__body strong { font-weight: 700; }
.career__body-heading { position: relative; width: max-content; height: calc(46px * var(--career-scale)); margin: 0 auto; padding-top: calc(8px * var(--career-scale)); color: var(--blue); font-size: calc(26px * var(--career-scale)); font-weight: 700; line-height: 1.6; text-align: center; }
.career__accent { position: absolute; top: 0; width: calc(17px * var(--career-scale)); height: calc(46px * var(--career-scale)); }
.career__accent > img { position: absolute; left: calc(-1px * var(--career-scale)); top: calc(-1px * var(--career-scale)); transform: scale(var(--career-scale)); transform-origin: 0 0; }
.career__accent--left { right: calc(100% + 7px * var(--career-scale)); transform: scaleX(-1); }
.career__accent--right { left: calc(100% + 14px * var(--career-scale)); }
.career__lead { margin-top: calc(18px * var(--career-scale)); }
.career__body-heading--vision { margin-top: calc(40px * var(--career-scale)); }
.career__body-heading--vision .career__accent--left { right: calc(100% + 8px * var(--career-scale)); }
.career__body-heading--vision .career__accent--right { left: calc(100% - .4px * var(--career-scale)); }
.career__lead, .career__vision, .career__intro, div.career__consultation, .career__topic-copy { display: grid; gap: calc(14px * var(--career-scale)); }
.career__wish { font-weight: 500; text-indent: -.5em; }
.career__vision { margin-top: calc(18px * var(--career-scale)); }
.career__goal { font-size: inherit; line-height: 1; }
.career__note { margin-top: calc(20px * var(--career-scale)); color: #b34c4c; font-size: clamp(13px,calc(14px * var(--career-scale)),14px); line-height: 1.8; }
.career__story--growth .career__note { margin-top: calc(26px * var(--career-scale)); margin-left: calc(3px * var(--career-scale)); }
.career__story--flexible .career__hero { height: calc(440px * var(--career-scale)); }
.career__story--flexible .career__heading { width: calc(637px * var(--career-heading-scale)); margin-left: var(--career-copy-inset); padding-top: calc(86px * var(--career-scale)); }
.career__story--flexible .career__title { margin-left: 0; }
.career__story--flexible .career__body { margin-top: calc(-71px * var(--career-scale)); padding-top: calc(102px * var(--career-scale)); background: linear-gradient(135.024deg, rgba(255,255,255,.96), rgba(246,249,254,.95) 35.714%, rgba(236,241,251,.95) 71.429%); }
.career__body-heading--flexible .career__accent--right { left: calc(100% + 7px * var(--career-scale)); }
.career__intro { margin-top: calc(25px * var(--career-scale)); }
.career__intro { font-size: inherit; }
.career__consultation { margin-top: calc(18px * var(--career-scale)); }
.career__topic { margin-top: calc(56px * var(--career-scale)); }
.career__topic-title { position: relative; width: fit-content; max-width: 100%; margin: 0 auto; padding: calc(14px * var(--career-scale)) calc(24px * var(--career-scale)); background: var(--blue); color: #fff; font-size: calc(22px * var(--career-scale)); font-weight: 700; line-height: 1.6; text-align: center; }
.career__topic-arrow { position: absolute; left: calc(50% - 11px * var(--career-scale)); bottom: calc(-11.5px * var(--career-scale)); width: calc(15.5882px * var(--career-scale)); height: calc(13.5px * var(--career-scale)); }
.career__topic-arrow > img { transform: scale(var(--career-scale)); transform-origin: 0 0; }
.career__topic-copy { margin-top: calc(26px * var(--career-scale)); }
.career__topic--hours .career__topic-copy { font-weight: 500; }
.career__hours-line { display: inline; }
.career__availability { color: #b34c4c; font-size: clamp(13px,calc(14px * var(--career-scale)),14px); line-height: 1.8; }
.career__topic--life { margin-top: calc(57.6px * var(--career-scale)); }
.career__closing { margin-top: calc(22.4px * var(--career-scale)); }
.career__topic--life .career__note { margin-top: calc(7px * var(--career-scale)); }
@media (min-width: 1024px) {
  /* Align each text group along the outer edge, away from the photo. */
  .career__photo--woman .career__photo-english { left: auto; right: 0; text-align: right; }
  .career__story--growth .career__heading { margin-left: calc(100% - var(--career-copy-inset) - 719px * var(--career-heading-scale)); }
  .career__story--growth .career__headline { justify-items: end; text-align: right; }
  .career__story--growth .career__line { left: auto; right: 0; }
}
@media (max-width: 1023px) {
  .career { --career-scale: 1; padding-block: 48px 64px; }
  .career__story + .career__story { margin-top: 64px; }
  .career__hero, .career__story--flexible .career__hero { display: flex; flex-direction: column; height: auto; }
  .career__photo { position: relative; order: 0; top: auto; left: auto; right: auto; align-self: flex-start; width: min(100%,717px); height: auto; aspect-ratio: 717 / 440; transform: none; }
  .career__photo--woman { align-self: flex-end; }
  .career__photo--man .career__photo-mask { mask-size: 100% 101.363636%; }
  .career__photo--woman .career__photo-mask { mask-size: 100% 106.363636%; mask-position: 0 -3.068182%; }
  .career__image { left: -3.34728%; top: -2.727273%; width: 129.428173%; height: 102.727273%; object-position: center; }
  .career__photo--woman .career__image { left: -20%; }
  .career__photo-english { left: 2%; top: auto; bottom: 0; font-size: clamp(22px,4.8vw,42px); line-height: 1.25; }
  .career__photo--woman .career__photo-english { left: 4%; font-size: clamp(20px,4.5vw,40px); }
  .career__heading, .career__story--flexible .career__heading { order: 1; width: calc(100% - 40px); max-width: 719px; margin: 32px auto 0; padding: 0; }
  .career__title { min-height: 60px; margin-inline: 0; padding: 12px 16px; font-size: clamp(18px,3.8vw,32px); }
  .career__title > span { min-width: 0; max-width: 100%; white-space: normal; text-align: left; text-wrap: balance; }
  .career__headline { grid-template-columns: minmax(0,1fr); gap: 16px; margin-top: 20px; padding-inline: 16px; font-size: clamp(18px,3.8vw,32px); }
  .career__headline > p, .career__story--flexible .career__headline > p { width: fit-content; min-width: 0; margin-inline: 0; max-width: 100%; white-space: normal; text-wrap: balance; }
  .career__line, .career__line--growth-second, .career__line--flexible-second { top: auto; bottom: -6px; left: 0; right: auto; width: 100%; height: 1px; overflow: hidden; }
  .career__story--flexible .career__line { left: 0; }
  .career__line > img { transform: none; }
  .career__body, .career__story--flexible .career__body { left: 0; width: calc(100% - 40px); max-width: 900px; min-height: 0; margin-top: 36px; padding: 36px 28px 40px; font-size: 16px; line-height: 1.9; }
  .career__story--flexible .career__body { background-size: 100% 100%; }
  .career__body-heading, .career__body-heading--vision, .career__body-heading--flexible { left: 0; width: auto; height: auto; min-height: 46px; margin: 0 26px; padding: 8px 0; font-size: 21px; line-height: 1.6; text-wrap: balance; }
  .career__body-heading--vision { margin-top: 32px; }
  .career__accent, .career__body-heading--vision .career__accent, .career__body-heading--flexible .career__accent { top: calc(50% - 23px); }
  .career__accent--left, .career__body-heading--vision .career__accent--left { right: calc(100% + 7px); }
  .career__accent--right, .career__body-heading--vision .career__accent--right, .career__body-heading--flexible .career__accent--right { left: calc(100% + 7px); }
  .career__lead { margin-top: 18px; }
  .career__lead, .career__vision, .career__intro, div.career__consultation, .career__topic-copy { gap: 14px; }
  .career__vision { margin: 16px 0 0; line-height: 1.9; }
  .career__goal { font-size: 20px; }
  .career__intro { margin-top: 20px; font-size: 16px; }
  .career__consultation { margin-top: 18px; margin-left: 0; white-space: normal; }
  .career__hours-line { display: inline; }
  .career__hours-line + .career__hours-line { margin-top: 0; }
  .career__topic, .career__topic--life { margin-top: 32px; }
  .career__topic-title, .career__topic--life .career__topic-title { width: auto; min-height: 0; padding: 14px 16px; font-size: 20px; line-height: 1.7; }
  .career__topic-copy, .career__topic--hours .career__topic-copy { margin: 20px 0 0; line-height: 1.9; }
  .career__closing { margin-top: 20px; line-height: 1.9; }
  .career__note, .career__topic--life .career__note, .career__story--growth .career__note { margin: 16px 0 0; font-size: 13px; line-height: 1.9; }
  .career__availability { font-size: 13px; line-height: 1.9; }
}
@media (max-width: 640px) {
  .career__body, .career__story--flexible .career__body { padding: 28px 20px 32px; }
  .career__title { letter-spacing: .025em; }
  .career__headline { letter-spacing: .025em; }
  .career__topic-title, .career__topic--life .career__topic-title { font-size: 18px; }
  .career__body-heading { margin-inline: 20px; font-size: 18px; }
}

/* Mobile career artwork keeps the supplied 750px composition; the prose flows
   inside its card, independently of the desktop photo and text layout. */
.career-sp { display: none; }
@media (max-width: 767px) {
  .career { --career-mobile-scale: .5; padding: 0; }
  .career__story { height: calc(1753px * var(--career-mobile-scale)); overflow: clip; }
  .career__story--flexible { height: calc(2253px * var(--career-mobile-scale)); }
  .career__story + .career__story { margin-top: 0; }
  .career__story > .career__hero, .career__story > .career__body { display: none; }
  .career-sp { position: relative; isolation: isolate; display: flow-root; overflow: clip; width: 750px; min-height: 1753px; padding-top: 707.338px; padding-bottom: 136.2px; transform: scale(var(--career-mobile-scale)); transform-origin: 0 0; color: #353232; }
  .career-sp--flexible { min-height: 2253px; padding-top: 701.359375px; padding-bottom: 142.58px; color: #000; }
  .career-sp__decoration { position: absolute; z-index: -1; inset: 0; pointer-events: none; }
  .career-sp__background, .career-sp__card, .career-sp__highlight, .career-sp__photo, .career-sp__foreground, .career-sp__badge, .career-sp__rule { position: absolute; display: block; }
  .career-sp__card { left: 35px; top: 378px; bottom: 64px; width: 670px; height: auto; background: rgba(255,255,255,.8); filter: drop-shadow(0 5px 32px #c5c6d1); }
  .career-sp__highlight { height: 15px; background: #fdebb7; }
  .career-sp__highlight--leader { left: 78px; top: 774px; width: 582px; }
  .career-sp__highlight--goal { left: 78px; top: 1154px; width: 553px; }
  .career-sp__photo { filter: drop-shadow(3px 0 17px rgba(104,104,105,.59)); }
  .career-sp__photo--growth { left: -66px; top: 83px; }
  .career-sp__foreground--growth { left: -5px; top: 30px; }
  .career-sp__title, .career-sp__headline { position: absolute; inset: 0; margin: 0; pointer-events: none; }
  .career-sp__title { font-family: "Shippori Mincho",var(--serif); font-weight: 700; }
  .career-sp__badge { background: #fff; box-shadow: 0 0 7px #cdcdd1; }
  .career-sp--growth .career-sp__badge--first { left: 278px; top: 198px; width: 402px; height: 69px; }
  .career-sp--growth .career-sp__badge--second { left: 276px; top: 274px; width: 364px; height: 67px; }
  .career-sp__title-first, .career-sp__title-second { position: absolute; display: flex; align-items: center; justify-content: center; white-space: nowrap; }
  .career-sp--growth .career-sp__title-first { left: 283.64px; top: 189.17px; width: 398.062px; height: 85.311px; font-size: 53.1px; line-height: 86.7px; letter-spacing: 3.2945px; }
  .career-sp__title-accent { color: #236ab3; }
  .career-sp--growth .career-sp__title-accent { letter-spacing: -6.2635px; }
  .career-sp--growth .career-sp__title-second { left: 290.37px; top: 271.06px; width: 342.12px; height: 70.602px; font-size: 43.8px; line-height: 71.6px; letter-spacing: 3.504px; }
  .career-sp__skew { display: block; flex: none; white-space: nowrap; transform: skewX(-11.31deg) scaleY(.98); }
  .career-sp__headline { font-family: "Shippori Mincho",var(--serif); font-weight: 700; }
  .career-sp__headline > p { position: absolute; display: flex; align-items: center; justify-content: center; white-space: nowrap; }
  .career-sp--growth .career-sp__headline-first { left: 82.86px; top: 514.44px; width: 573.336px; height: 66.679px; font-size: 47.4px; line-height: 67.9px; }
  .career-sp__quote-open, .career-sp__favorite, .career-sp__quote-close { color: #236ab3; }
  .career-sp__quote-open { letter-spacing: 1.896px; }
  .career-sp__quote-close { letter-spacing: -21.804px; }
  .career-sp__particle, .career-sp__comma { font-size: 38px; }
  .career-sp__comma { letter-spacing: -18.24px; }
  .career-sp__period { letter-spacing: .948px; }
  .career-sp--growth .career-sp__headline-second { left: 77.34px; top: 587.61px; width: 592.14px; height: 65.699px; font-size: 38px; line-height: 66.9px; letter-spacing: .604px; }
  .career-sp__rule { height: 3px; }
  .career-sp--growth .career-sp__rule--first { left: 117px; top: 576px; width: 506px; background: rgba(51,51,51,.64); }
  .career-sp--growth .career-sp__rule--second { left: 91px; top: 648px; width: 558px; background: rgba(51,51,51,.67); }
  .career-sp__body { position: relative; width: 602px; margin-left: 77px; font-family: var(--sans); font-size: 28px; font-weight: 400; line-height: 43px; }
  .career-sp__body p > span, .career-sp__body p > strong { display: block; white-space: nowrap; }
  .career-sp__lead { font-size: 27.4px; line-height: 42.1px; }
  .career-sp__lead > strong { margin-bottom: 20px; color: #236ab3; font-weight: 700; }
  .career-sp__narrative { margin-top: 33.822px; margin-left: -.6px; }
  .career-sp__wish > span { text-indent: -.5em; }
  .career-sp__narrative > p + p { margin-top: 43px; }
  .career-sp__goal { color: #236ab3; font-size: 32px; font-weight: 700; }
  .career-sp__note { margin-top: 11.84px; margin-left: -13.3px; color: #f06565; font-family: "Career SP Sans",var(--sans); font-size: 15.8px; font-weight: 500; line-height: 25.2px; white-space: nowrap; }
  .career-sp__background--lower { left: -76px; top: 1154px; }
  .career-sp__background--upper { left: -5px; top: 136px; }
  .career-sp--flexible .career-sp__card { top: 386px; height: auto; }
  .career-sp__highlight--life-first { left: 93px; top: 1552px; width: 332px; }
  .career-sp__highlight--life-second { left: 92px; top: 1611px; width: 387px; }
  .career-sp__highlight--hours { left: 88px; top: 1125px; width: 553px; }
  .career-sp__photo--flexible { left: 170px; top: 90px; }
  .career-sp__foreground--flexible { left: 260px; top: 79px; pointer-events: none; }
  .career-sp--flexible .career-sp__title { font-family: var(--serif); font-size: 50px; font-weight: 600; line-height: 71.6px; letter-spacing: 4px; }
  .career-sp--flexible .career-sp__badge--first { left: 52px; top: 201px; width: 390px; height: 67px; }
  .career-sp--flexible .career-sp__badge--second { left: 52px; top: 275px; width: 390px; height: 67px; }
  .career-sp--flexible .career-sp__title-first { left: 62px; top: 198.6992px; }
  .career-sp--flexible .career-sp__title-second { left: 57px; top: 273.6992px; }
  .career-sp--flexible .career-sp__headline { font-size: 45px; line-height: 71.6px; letter-spacing: .9px; }
  .career-sp--flexible .career-sp__headline > p { left: 97px; width: 550px; height: 71.6px; }
  .career-sp--flexible .career-sp__headline-first { top: 519.5996px; }
  .career-sp--flexible .career-sp__headline-second { top: 591.1996px; }
  .career-sp__headline-accent { color: #236ab3; }
  .career-sp--flexible .career-sp__rule--first { left: 101px; top: 584px; width: 535px; background: rgba(51,51,51,.91); }
  .career-sp--flexible .career-sp__rule--second { left: 120px; top: 656px; width: 495px; background: rgba(51,51,51,.89); }
  .career-sp--flexible .career-sp__body { width: 588px; margin-left: 89.8px; }
  .career-sp__intro { font-weight: 700; line-height: 48px; }
  .career-sp__consultation { margin-top: 26.5px; margin-left: 3px; }
  .career-sp__consultation > span:first-child { margin-bottom: 20px; }
  .career-sp__consultation strong, .career-sp__hours strong { font-weight: 500; }
  .career-sp__topic-title { width: max-content; margin: 0; color: #236ab3; font-family: var(--sans); font-weight: 700; white-space: nowrap; }
  .career-sp__topic-title--hours { margin-top: 46.3046875px; margin-left: 7px; font-size: 32.2px; line-height: 53.4px; }
  .career-sp__hours { margin-top: 24.2953125px; margin-left: -1px; }
  :is(.career-sp__hours,.career-sp__life,.career-sp__closing) > .career-sp__paragraph-end { margin-bottom: 20px; }
  .career-sp__availability { margin-top: 10.060546875px; margin-left: 2px; color: #e45e5e; font-size: 16px; font-weight: 500; line-height: 28px; }
  .career-sp__topic-title--life { display: grid; gap: 9px; margin-top: 68.6796875px; margin-left: 6.3px; font-size: 35px; line-height: 50px; }
  .career-sp__topic-title--life > span:first-child { margin-left: 3px; }
  .career-sp__life { margin-top: 36.259765625px; margin-left: 3.3px; }
  .career-sp__closing { margin-top: 19px; margin-left: 2.3px; }
  .career-sp--flexible .career-sp__note { margin-top: 1.560546875px; margin-left: .5px; color: #e45e5e; font-size: 16px; line-height: 40px; }
  .career-sp :is(.career-sp__body-heading,.career-sp__topic-title) { width: 100%; margin-inline: 0; padding: 0; background: none; color: var(--blue); font-size: 30px; font-weight: 700; line-height: 1.5; text-align: left; white-space: normal; text-wrap: balance; }
  .career-sp__body-heading { margin-block: 0 20px; }
  .career-sp__body-heading--vision { margin-top: 36px; }
  .career-sp__body-heading--vision > span { white-space: nowrap; }
  .career-sp :is(.career-sp__topic-title--hours,.career-sp__topic-title--life) { margin-top: 48px; }
  .career-sp__topic-title--life { gap: 0; }
  .career-sp__topic-title--life > span:first-child { margin-left: 0; }
  .career-sp :is(.career-sp__hours,.career-sp__life) { margin-top: 20px; }
  .career-sp__lead > strong, .career-sp__goal { width: fit-content; background: linear-gradient(transparent calc(100% - 15px),#fdebb7 0); }

}
@supports (scale: calc(1px / 1px)) {
  @media (max-width: 767px) {
    .career { --career-mobile-scale: calc(100vw / 750px); }
  }
}

/* Desktop panels share a layout; SP retains the original overlapping artwork. */
.career__story--panel { --consultation-scale: var(--type-scale); height: auto; overflow: visible; padding-block: 32px 8px; }
.career__story--panel .career__heading { width: min(calc(100% - 48px),1200px); margin: 0 auto; padding: 0; text-align: center; }
.career__story--panel .career__title { justify-content: center; margin-inline: auto; font-size: clamp(24px,calc(40px * var(--type-scale)),48px); }
.career__story--panel .career__title > span { white-space: normal; text-align: center; text-wrap: balance; }
.career__story--panel .career__headline { justify-items: center; padding-inline: 0; text-align: center; font-size: clamp(24px,calc(40px * var(--type-scale)),48px); }
.career__story--panel .career__headline > p { width: fit-content; max-width: 100%; margin-inline: auto; white-space: normal; text-wrap: balance; }
.career__story--panel .career__line { left: 0; right: auto; width: 100%; overflow: hidden; }
.career__columns { position: relative; margin: clamp(48px,4.5vw,72px) auto 0; }
.career__band { position: absolute; top: 0; left: 0; background: #f6f9fe; box-shadow: 0 14px 30px rgba(13,38,89,.12); }
.career__story--panel .career__photo { z-index: 2; align-self: center; right: auto; transform: none; filter: drop-shadow(0 14px 15px rgba(13,38,89,.2)); }
.career__story--panel .career__photo-mask { mask-image: url("assets/consultation/photo-mask.svg"); mask-size: 100.1751470588% 100.2083333333%; mask-position: 58.018472% 50%; transform: none; }
.career__story--panel .career__photo-content { transform: none; }
.career__story--panel .career__image { left: 0; top: 0; width: 100%; height: 100%; object-position: 40% top; }
.career__story--panel .career__photo-english { top: auto; bottom: 8px; left: 12px; font-size: clamp(24px,3.2vw,46px); line-height: 1.2; }
.career__story--panel .career__body { min-width: 0; max-width: none; background: none; box-shadow: none; font-size: 16px; line-height: 1.6; }
.career__story--panel .career__body p { text-wrap: pretty; }
.career__copy--desktop { display: none; }
.career__story--panel .career__body-heading { width: auto; height: auto; min-height: 0; margin: 0; padding: 8px 12px; background: var(--blue); color: #fff; font-size: 20px; text-align: left; line-height: 1.6; text-wrap: balance; }
.career__story--panel .career__body-heading--vision { margin-top: 24px; }
.career__story--panel :is(.career__lead,.career__vision) { gap: 12px; }
.career__story--panel :is(.career__intro,.career__topic-copy,div.career__consultation) { gap: 12px; }
.career__story--panel .career__topic { margin-top: 24px; }
.career__story--panel .career__topic-title { width: auto; margin: 0; padding: 8px 12px; background: var(--blue); color: #fff; font-size: 20px; line-height: 1.6; text-align: left; text-wrap: balance; }
.career__story--panel .career__topic-arrow { display: none; }
.career__story--panel .career__topic-copy { margin-top: 16px; }
.career__story--panel .career__note { margin: 16px 0 0; line-height: 1.6; }
.career__note--mobile { display: none; }
/* The PC career cards share body, emphasis, note and spacing rules. */
@media (min-width: 768px) {
  .career__story--panel .career__body { --career-paragraph-gap: 16px; --career-heading-gap: 24px; font-size: 16px; font-weight: 400; line-height: 1.75; }
  .career__story--panel :is(.career__lead,.career__vision,.career__intro,.career__topic-copy,div.career__consultation) { gap: var(--career-paragraph-gap); font-size: inherit; line-height: inherit; }
  .career__story--panel :is(.career__lead,.career__vision,.career__intro,.career__consultation,.career__topic-copy,.career__closing) { margin-top: var(--career-paragraph-gap); line-height: inherit; }
  .career__story--panel :is(.career__body-heading--vision,.career__topic) { margin-top: var(--career-heading-gap); }
  .career__story--panel .career__topic--hours .career__topic-copy { font-weight: 400; }
  .career__story--panel .career__intro-quotes > strong { display: block; text-indent: -.5em; }
  .career__story--panel :is(.career__body strong,.career__wish) { font-size: inherit; font-weight: 700; line-height: inherit; }
  .career__story--panel :is(.career__note,.career__availability) { font-size: 13px; font-weight: 400; line-height: 1.75; }
}
@media (max-width: 1023px) {
  .career__columns { margin-top: 40px; }
  .career__story--panel .career__photo-english { font-size: clamp(22px,4.8vw,42px); }
}
@media (max-width: 767px) {
  .career__story--panel { height: calc(var(--career-sp-height,1753px) * var(--career-mobile-scale)); overflow: clip; padding: 0; }
  .career__story--flexible.career__story--panel { height: calc(var(--career-sp-height,2253px) * var(--career-mobile-scale)); }
  .career__story--panel > :is(.career__heading,.career__columns) { display: none; }
  .career__story--panel .career__heading { width: calc(100% - 40px); }
  .career__story--panel .career__title { min-height: 0; padding: 10px 12px; font-size: clamp(19px,5.3vw,28px); letter-spacing: .025em; }
  .career__story--panel .career__headline { gap: 16px; margin-top: 24px; font-size: clamp(19px,5.3vw,28px); letter-spacing: .025em; }
  .career__columns { margin-top: 32px; }
  .career__story--panel .career__goal { font-size: inherit; }
  .career__story--panel .career__note--desktop { display: none; }
  .career__story--panel .career__note--mobile { display: block; }
}

/* Both responsive layouts use the same gentle reveal, in their reading order. */
@media (prefers-reduced-motion: no-preference) {
  :is(.has-career-growth-reveal .career__story--growth, .has-career-flexible-reveal .career__story--flexible) .career__band { opacity: 0; clip-path: inset(0 100% 0 0); }
  :is(.has-career-growth-reveal .career__story--growth, .has-career-flexible-reveal .career__story--flexible) .career__band.is-revealed { animation: working-style-band 1s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms) both; }
  :is(.has-career-growth-reveal .career__story--growth, .has-career-flexible-reveal .career__story--flexible) :is(.career__photo, .career__title, .career__headline > p, .career__body, .career-sp__photo, .career-sp__foreground, .career-sp__title, .career-sp__headline > p, .career-sp__body) { opacity: 0; translate: 0 24px; }
  :is(.has-career-growth-reveal .career__story--growth, .has-career-flexible-reveal .career__story--flexible) :is(.career__photo, .career__title, .career__headline > p, .career__body, .career-sp__photo, .career-sp__foreground, .career-sp__title, .career-sp__headline > p, .career-sp__body).is-revealed { animation: working-style-rise 1.1s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms) both; }
  :is(.has-career-growth-reveal .career__story--growth, .has-career-flexible-reveal .career__story--flexible) :is(.career__photo, .career-sp__photo, .career-sp__foreground).is-revealed { animation-duration: 1.3s; }
  :is(.has-career-growth-reveal .career__story--growth, .has-career-flexible-reveal .career__story--flexible) :is(.career__line, .career-sp__rule--first, .career-sp__rule--second) { clip-path: inset(0 100% 0 0); }
  :is(.has-career-growth-reveal .career__story--growth, .has-career-flexible-reveal .career__story--flexible) :is(.career__headline > p.is-revealed .career__line, .career-sp__headline-first.is-revealed ~ .career-sp__rule--first, .career-sp__headline-second.is-revealed ~ .career-sp__rule--second) { animation: working-style-band .85s cubic-bezier(.22,1,.36,1) calc(var(--reveal-delay,0ms) + 180ms) both; }
}

/* 求める人物像: one self-contained section; no adjacent-section or order selectors. */
/* An independent section below the flexible working style story. */
.transfer { --transfer-scale: var(--type-scale); position: relative; isolation: isolate; height: calc(692px * var(--transfer-scale)); overflow: hidden; overflow: clip; background: #fff; font-family: "Transfer Mincho", "Shippori Mincho", var(--serif); font-weight: 700; }
.transfer__artwork { display: contents; }
.transfer__asset--mobile { display: none; }
.transfer__bubble { position: absolute; z-index: 2; left: calc(50% - 331px * var(--transfer-scale)); top: calc(82px * var(--transfer-scale)); width: calc(663px * var(--transfer-scale)); height: calc(152px * var(--transfer-scale)); color: #111; }
.transfer__bubble-face { position: relative; height: 100%; overflow: hidden; border: calc(2px * var(--transfer-scale)) solid var(--blue); border-radius: calc(18px * var(--transfer-scale)); background: #fff; box-shadow: 0 calc(8px * var(--transfer-scale)) calc(20px * var(--transfer-scale)) rgba(13,38,89,.12); }
.transfer__bubble h2 { font: inherit; }
.transfer__bubble-line { position: absolute; left: calc(329.5px * var(--transfer-scale)); width: max-content; transform: translateX(-50%); font-size: calc(36px * var(--transfer-scale)); line-height: 1.4; white-space: nowrap; }
.transfer__bubble-line--first { top: calc(19px * var(--transfer-scale)); letter-spacing: calc(2.16px * var(--transfer-scale)); }
.transfer__bubble-line--second { top: calc(74px * var(--transfer-scale)); letter-spacing: calc(3.6px * var(--transfer-scale)); }
.transfer__bubble-line strong { color: #1e569c; font-weight: inherit; }
.transfer__tail, .transfer__tail-line { position: absolute; left: calc(371px * var(--transfer-scale)); top: calc(150px * var(--transfer-scale)); }
.transfer__tail > img, .transfer__tail-line > img { transform: scale(var(--transfer-scale)); transform-origin: 0 0; }
.transfer__tail-line { left: calc(370.064px * var(--transfer-scale)); top: calc(149.3061px * var(--transfer-scale)); }
.transfer__scene, .transfer__people-slot { display: contents; }
.transfer__panel-shadow { position: absolute; inset-inline: 0; top: calc(297px * var(--transfer-scale)); height: calc(395px * var(--transfer-scale)); }
.transfer__panel { position: absolute; inset: 0; mask: url("assets/transfer-panel-mask.svg") 0 0 / 100% 100% no-repeat; }
.transfer__trucks { width: 100%; height: 100%; object-fit: cover; }
.transfer__screen { position: absolute; inset: 0; background: var(--blue); mix-blend-mode: screen; }
.transfer__overlay { position: absolute; inset: 0 0 auto; height: calc(510px * var(--transfer-scale)); background: linear-gradient(90deg,rgba(23,107,194,.9),rgba(41,140,214,.82) 50%,rgba(77,178,229,.78)); }
.transfer__message-slot { position: absolute; z-index: 1; left: calc(50% - 480px * var(--transfer-scale)); top: calc(373px * var(--transfer-scale)); width: calc(552.714px * var(--transfer-scale)); height: calc(223.572px * var(--transfer-scale)); }
.transfer__message-art { position: relative; display: flex; align-items: center; justify-content: center; width: 552.714px; height: 223.572px; transform: scale(var(--transfer-scale)); transform-origin: 0 0; }
.transfer__highlight { position: absolute; }
.transfer__highlight--short { left: 5px; top: 86px; }
.transfer__highlight--long { left: 174px; top: 160px; }
.transfer__message { position: relative; flex: none; color: #fff; font-size: 54px; line-height: 76px; letter-spacing: 2.16px; white-space: nowrap; transform: skewX(-11.31deg) scaleY(.98); }
.transfer__message > span { display: block; }
.transfer__message strong { color: var(--blue); font-weight: inherit; }
.transfer__tight-heart { letter-spacing: -.64px; }
.transfer__tight-shi { letter-spacing: -1.6px; }
.transfer__tight-ka { letter-spacing: .8px; }
.transfer__tight-semasu { letter-spacing: -2.56px; }
@media (min-width: 768px) {
  /* Combined with the copy's skew, match the white band's 20.6557 / 57 edge. */
  .transfer__exclamation { display: inline-block; font-family: var(--serif); font-style: normal; line-height: 1; transform: skewX(-9.0417deg); }
}
.transfer__people { position: absolute; z-index: 3; left: calc(50% - 643px * var(--transfer-scale)); top: calc(24px * var(--transfer-scale)); width: 1672px; height: 941px; margin: 0; transform: scale(var(--transfer-scale)); transform-origin: 0 0; pointer-events: none; }
.transfer__people > img { position: absolute; inset: 0; width: 1672px; height: 941px; object-fit: cover; }
@media (prefers-reduced-motion: no-preference) {
  .has-transfer-reveal .transfer :is(.transfer__bubble, .transfer__message-slot, .transfer__people) { opacity: 0; translate: 0 24px; }
  .has-transfer-reveal .transfer__panel-shadow { opacity: 0; clip-path: inset(0 100% 0 0); }
  .has-transfer-reveal .transfer :is(.transfer__bubble, .transfer__message-slot).is-revealed { animation: working-style-rise 1.1s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms) both; }
  .has-transfer-reveal .transfer__panel-shadow.is-revealed { animation: working-style-band 1.25s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms) both; }
  .has-transfer-reveal .transfer__people.is-revealed { animation: working-style-rise 1.4s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms) both; }
}
@media (max-width: 767px) {
  .transfer { --transfer-scale: 1; --transfer-mobile-scale: .5; height: calc(652px * var(--transfer-mobile-scale)); padding: 0; }
  .transfer__artwork { position: relative; display: block; width: 750px; height: 652px; transform: scale(var(--transfer-mobile-scale)); transform-origin: 0 0; }
  .transfer__asset--desktop { display: none; }
  .transfer__asset--mobile { display: block; }
  .transfer__bubble { left: 44px; top: 62px; }
  .transfer__tail { display: block; left: 314px; top: 150px; }
  .transfer__tail-line { left: 313.064px; top: 149.3061px; }
  .transfer__panel-shadow { left: -190px; right: auto; top: 257px; width: 1440px; }
  .transfer__panel { mask-size: 1440px 395px; }
  .transfer__message-slot { left: 45px; top: 333px; width: 495.714px; }
  .transfer__message-art { width: 495.714px; }
  .transfer__highlight--short { left: 10px; }
  .transfer__highlight--long { left: 155px; }
  .transfer__message { font-size: 48px; letter-spacing: 1.92px; }
  .transfer__tight-heart { letter-spacing: -1.92px; }
  .transfer__tight-shi { letter-spacing: -4.8px; }
  .transfer__tight-ka { letter-spacing: 2.4px; }
  .transfer__tight-semasu { letter-spacing: -7.68px; }
  .transfer__people { left: 109px; top: 113px; width: 991px; height: 558px; transform: none; }
  .transfer__people > img { width: 991px; height: 558px; }
}
@supports (scale: calc(1px / 1px)) {
  @media (max-width: 767px) {
    .transfer { --transfer-mobile-scale: calc(100vw / 750px); }
  }
}

/* Three working-environment cards followed by the entry-conditions message. */
.work-features { --features-scale: var(--type-scale); position: relative; z-index: 1; display: flow-root; isolation: isolate; overflow-x: clip; overflow-y: visible; padding-top: calc(65.2px * var(--features-scale)); background: #f0f3f7; color: #111; font-family: "Work Features Sans", var(--sans); }
.work-features__heading { position: relative; width: calc(1200px * var(--features-scale)); height: calc(58px * var(--features-scale)); margin-inline: auto; }
.work-features__title-band { display: none; }
.work-features__title { position: relative; font-size: calc(32px * var(--features-scale)); font-weight: 700; line-height: calc(58px * var(--features-scale)); letter-spacing: calc(2.56px * var(--features-scale)); text-align: center; color: #000; }
.work-features__title > span { display: inline; }
.work-features__title > span:first-child, .work-features__title strong { color: #fff; font-weight: inherit; }
@media (min-width: 1024px) {
  .work-features__title > span:first-child, .work-features__title strong { position: relative; isolation: isolate; display: inline-block; padding-inline: calc(6px * var(--features-scale)); }
  /* Balance the visible connector against the comma's unused trailing space. */
  .work-features__title > span:first-child { margin-inline-end: calc(8px * var(--features-scale)); }
  .work-features__title strong { margin-inline-start: calc(8px * var(--features-scale) - .65em); }
  :is(.work-features__title > span:first-child, .work-features__title strong)::before { content: ""; position: absolute; z-index: -1; inset-inline: 0; top: calc(7.8px * var(--features-scale)); height: calc(46px * var(--features-scale)); background: var(--blue); }
}
.work-features__intro { margin-top: calc(24px * var(--features-scale)); font-size: calc(24px * var(--features-scale)); font-weight: 500; line-height: calc(40px * var(--features-scale)); letter-spacing: calc(1.92px * var(--features-scale)); text-align: center; }
.work-features__intro > span { display: block; }
.work-features__chevron { width: calc(40px * var(--features-scale)); height: calc(52px * var(--features-scale)); margin: calc(42px * var(--features-scale)) auto 0; opacity: .2; }
.work-features__cards-wrap { position: relative; margin-top: calc(13.8px * var(--features-scale)); }
.work-features__band { position: absolute; inset-inline: 0; top: calc(90.2px * var(--features-scale)); height: calc(510px * var(--features-scale)); mask: url("assets/work-features-background-mask.svg") 0 0 / 100% 100% no-repeat; }
.work-features__band > img { width: 100%; height: 100%; object-fit: fill; object-position: bottom; }
.work-features__overlay { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(23,107,194,.9),rgba(41,140,214,.82) 50%,rgba(77,178,229,.78)); }
.work-features__cards { position: relative; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: calc(60px * var(--features-scale)); width: calc(1080px * var(--features-scale)); margin-inline: auto; }
.work-features__card { display: flex; flex-direction: column; align-items: center; gap: calc(12px * var(--features-scale)); min-width: 0; min-height: calc(437px * var(--features-scale)); padding: calc(24px * var(--features-scale)); border-radius: calc(10px * var(--features-scale)); background: #f5f8fd; box-shadow: 0 calc(12px * var(--features-scale)) calc(32px * var(--features-scale)) rgba(26,64,128,.14); }
.work-features__badge { position: relative; isolation: isolate; flex: none; width: calc(110px * var(--features-scale)); height: calc(110px * var(--features-scale)); overflow: hidden; border-radius: 50%; background: var(--icon-badge-background), #fff; }
/* Match the reference badge's 132px artwork within its 168px circle. Screen
   blending makes the original blue line art white over the shared gradient. */
.work-features__icon { position: absolute; left: calc(11.785714px * var(--features-scale)); top: calc(15.059524px * var(--features-scale)); width: calc(86.428571px * var(--features-scale)); height: calc(86.428571px * var(--features-scale)); object-fit: contain; filter: grayscale(1) invert(1) brightness(2); mix-blend-mode: screen; }
.work-features__card-title { display: flex; flex-direction: column; justify-content: center; flex: none; width: 100%; min-height: calc(68px * var(--features-scale)); margin: 0; color: var(--blue); font-size: calc(22px * var(--features-scale)); font-weight: 700; line-height: calc(34px * var(--features-scale)); letter-spacing: calc(.88px * var(--features-scale)); text-align: center; }
.work-features__copy { width: 100%; color: #454545; font-size: calc(15px * var(--features-scale)); font-weight: 500; line-height: calc(28px * var(--features-scale)); letter-spacing: calc(.6px * var(--features-scale)); }
.work-features__notice { position: relative; width: calc(900px * var(--features-scale)); height: calc(322px * var(--features-scale)); margin: calc(112px * var(--features-scale)) auto calc(-24px * var(--features-scale)); transform: translateX(calc(-7px * var(--features-scale))); font-family: "Shippori Mincho", var(--serif); color: #000; }
.work-features__notice-art { position: absolute; left: calc(-19px * var(--features-scale)); top: calc(-15px * var(--features-scale)); }
.work-features__notice-art > img { transform: scale(var(--features-scale)); transform-origin: 0 0; }
.work-features__notice-line { position: absolute; top: calc(49.2px * var(--features-scale)); width: calc(320px * var(--features-scale)); height: calc(2px * var(--features-scale)); background: #c9c9cc; }
.work-features__notice-line--left { left: calc(77px * var(--features-scale)); }
.work-features__notice-line--right { left: calc(487px * var(--features-scale)); }
.work-features__warning { position: absolute; left: calc(414px * var(--features-scale)); top: calc(23px * var(--features-scale)); width: calc(63px * var(--features-scale)); height: calc(56px * var(--features-scale)); }
.work-features__notice-lead, .work-features__notice-title { position: absolute; left: calc(50% + 7px * var(--features-scale)); width: calc(1200px * var(--features-scale)); margin: 0; transform: translateX(-50%); font-size: calc(44px * var(--features-scale)); font-weight: 500; line-height: calc(64px * var(--features-scale)); text-align: center; }
.work-features__notice-lead { top: calc(91.2px * var(--features-scale)); letter-spacing: calc(-.88px * var(--features-scale)); }
.work-features__notice-title { top: calc(169.2px * var(--features-scale)); text-shadow: 0 0 6px rgba(255,255,255,.9); }
.work-features__condition-letter { position: relative; display: inline-block; width: 1em; }
.work-features__condition-letter > img { position: absolute; left: calc(50% - 3px * var(--features-scale)); top: 0; transform: scale(var(--features-scale)); transform-origin: 0 0; }
@media (prefers-reduced-motion: no-preference) {
  .has-work-features-reveal .work-features :is(.work-features__heading, .work-features__intro, .work-features__card, .work-features__notice) { opacity: 0; translate: 0 24px; }
  .has-work-features-reveal .work-features__chevron { opacity: 0; translate: 0 -10px; }
  .has-work-features-reveal .work-features__band { opacity: 0; clip-path: inset(0 100% 0 0); }
  .has-work-features-reveal .work-features :is(.work-features__heading, .work-features__intro, .work-features__card, .work-features__notice).is-revealed { animation: working-style-rise 1.1s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms) both; }
  .has-work-features-reveal .work-features__chevron.is-revealed { animation: working-style-chevron 1s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms) both; }
  .has-work-features-reveal .work-features__band.is-revealed { animation: working-style-band 1.25s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms) both; }
}
@keyframes working-style-rise {
  from { opacity: 0; translate: 0 24px; }
  to { opacity: 1; translate: 0 0; }
}
@keyframes working-style-band {
  from { opacity: 0; clip-path: inset(0 100% 0 0); }
  to { opacity: 1; clip-path: inset(0 0 0 0); }
}
@keyframes working-style-chevron {
  from { opacity: 0; translate: 0 -10px; }
  to { opacity: .2; translate: 0 0; }
}
@media (max-width: 1023px) {
  .work-features { --features-scale: 1; padding-block: 64px 0; }
  .work-features__heading { width: calc(100% - 40px); height: auto; }
  .work-features__title-band { display: none; }
  .work-features__title { font-size: clamp(22px,3.1vw,32px); line-height: 1.8; letter-spacing: .03em; }
  .work-features__title > span:first-child { display: table; margin-inline: auto; padding-inline: 4px; background: var(--blue); }
  .work-features__title > span:last-child { display: block; }
  .work-features__title strong { padding: 3px 4px; background: var(--blue); }
  .work-features__intro { margin: 26px 20px 0; font-size: 20px; line-height: 1.8; letter-spacing: .04em; }
  .work-features__cards-wrap { margin-top: 18px; }
  .work-features__cards { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; width: calc(100% - 64px); max-width: 800px; }
  .work-features__card { gap: 18px; min-height: 440px; padding: 32px 28px; }
  .work-features__card:last-child { grid-column: 1 / -1; width: calc(50% - 16px); margin-inline: auto; }
  .work-features__copy { font-size: 16px; line-height: 1.9; letter-spacing: .025em; }
  .work-features__break { display: none; }
  .work-features__band { top: 120px; bottom: -120px; height: auto; }
  .work-features__band > img { object-fit: cover; }
  .work-features__notice { width: calc(100% - 64px); max-width: 680px; height: auto; min-height: 280px; margin-top: 80px; padding: 32px 28px 56px; transform: none; text-align: center; }
  .work-features__notice-art { inset: -4.658385% -2.111111% -7.142857%; background: url("assets/work-features-callout.svg") center / 100% 100% no-repeat; }
  .work-features__notice-art > img { display: none; }
  .work-features__notice-line { top: 70px; width: calc(50% - 76px); }
  .work-features__notice-line--left { left: 24px; }
  .work-features__notice-line--right { left: auto; right: 24px; }
  .work-features__warning { position: relative; left: auto; top: auto; margin-inline: auto; }
  .work-features__notice-lead, .work-features__notice-title { position: relative; left: auto; top: auto; width: auto; transform: none; font-size: 28px; line-height: 1.6; }
  .work-features__notice-lead { margin-top: 18px; letter-spacing: -.02em; }
  .work-features__notice-title { width: fit-content; margin: 18px auto 0; }
}
@media (min-width: 402px) and (max-width: 767px) {
  .work-features__copy--smoking { font-size: 15.7px; }
}
@media (max-width: 599px) {
  .work-features { padding-block: 48px 0; }
  .work-features__intro { font-size: 16px; }
  .work-features__cards { grid-template-columns: minmax(0,1fr); gap: 24px; width: calc(100% - 40px); max-width: 420px; }
  .work-features__card { min-height: 0; padding: 32px 28px; }
  .work-features__card-title { min-height: 0; }
  .work-features__card:last-child { grid-column: auto; width: 100%; }
  .work-features__notice { width: calc(100% - 40px); min-height: 260px; padding-inline: 20px; }
  .work-features__notice-lead { font-size: clamp(18px,4.8vw,28px); }
  .work-features__notice-title { font-size: clamp(20px,5.3vw,28px); }
  .work-features__condition-letter > img { left: calc(50% - 2.5px); top: -3px; transform: scale(.72); }
}
@media (max-width: 767px) {
  .work-features__title > span + span { margin-top: 12px; }
}
@media (max-width: 767px) {
  .work-features__notice { min-height: 0; padding: 24px 20px 32px; }
  .work-features__warning { width: 36px; height: 32px; transform: none; }
  .work-features__notice-line { top: 39px; width: calc(50% - 62px); }
  .work-features__notice-lead { margin-top: 16px; font-size: clamp(16px,4.8vw,22px); line-height: 1.6; }
  .work-features__notice-title { margin-top: 14px; font-size: clamp(20px,5.3vw,28px); line-height: 1.6; }
  .work-features__notice-lead, .work-features__notice-title { top: -8px; }
}

.values {
  --values-scale: var(--type-scale);
  --values-serif: "Shippori Mincho", var(--serif);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  overflow: clip;
  width: 100%;
  background: #fff;
  color: #111;
}
.values__overview { position: relative; isolation: isolate; padding-block: calc(69px * var(--values-scale)) calc(80px * var(--values-scale)); }
.values__skyline { position: absolute; z-index: -2; top: calc(-30px * var(--values-scale)); left: 0; width: 100%; height: calc(958px * var(--values-scale)); pointer-events: none; }
/* Figma's exported skyline PNG already includes the 40% image opacity. */
.values__skyline > img { width: 100%; height: 100%; object-fit: cover; }
.values__fade { position: absolute; z-index: -1; top: calc(668px * var(--values-scale)); left: 0; width: 100%; height: calc(260px * var(--values-scale)); background: linear-gradient(180deg, rgba(255,255,255,0), #fff); pointer-events: none; }
.values__heading { display: flex; flex-direction: column; align-items: center; font-family: var(--values-serif); text-align: center; }
.values__title { height: var(--section-title-height); color: var(--blue); font-family: var(--serif); font-size: var(--section-title-size); font-weight: 600; line-height: var(--section-title-line-height); letter-spacing: .04em; text-shadow: 0 0 14px #fff; transform: skewX(-11.31deg) scaleY(.98); transform-origin: center top; }
.values__title > span { color: #000; }
.values__english { height: var(--section-english-line-height); margin-top: calc(-4px * var(--values-scale)); color: #4a6077; font-size: var(--section-english-size); font-weight: 700; line-height: var(--section-english-line-height); letter-spacing: calc(.72px * var(--values-scale)); transform: skewX(-11.31deg) scaleY(.98); transform-origin: center top; }
.values__rule { position: relative; width: calc(38px * var(--values-scale)); height: 0; margin-top: calc(9px * var(--values-scale)); }
.values__rule > img { position: absolute; top: calc(-1px * var(--values-scale)); left: 0; transform: scale(var(--values-scale)); transform-origin: 0 0; }
.values__label { display: grid; place-items: center; width: calc(487px * var(--values-scale)); min-height: calc(49px * var(--values-scale)); margin-top: calc(35px * var(--values-scale)); background: var(--blue); color: #fff; font-size: calc(26px * var(--values-scale)); font-weight: 700; line-height: calc(38px * var(--values-scale)); letter-spacing: calc(1.04px * var(--values-scale)); }
.values__statement { height: calc(83px * var(--values-scale)); margin-top: calc(3px * var(--values-scale)); font-size: calc(42px * var(--values-scale)); font-weight: 700; line-height: calc(78px * var(--values-scale)); text-shadow: 0 0 12px #fff; white-space: nowrap; transform: skewX(-11.31deg) scaleY(.98); transform-origin: center top; }
.values__particle { letter-spacing: calc(-21px * var(--values-scale)); }
.values__statement > strong { color: var(--blue); font-size: calc(54px * var(--values-scale)); font-weight: 700; }
.values__quote { letter-spacing: calc(-16.2px * var(--values-scale)); }
.values__note { height: calc(42px * var(--values-scale)); font-size: calc(30px * var(--values-scale)); font-weight: 700; line-height: calc(43px * var(--values-scale)); text-shadow: 0 0 12px #fff; transform: skewX(-11.31deg) scaleY(.98); transform-origin: center top; }
.values__checklist {
  position: relative;
  left: calc(12px * var(--values-scale));
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  grid-template-rows: calc(79px * var(--values-scale)) calc(79px * var(--values-scale)) calc(78px * var(--values-scale));
  column-gap: calc(40px * var(--values-scale));
  width: calc(978px * var(--values-scale));
  min-height: calc(323px * var(--values-scale));
  margin: calc(25px * var(--values-scale)) auto 0;
  padding: calc(40px * var(--values-scale)) calc(64px * var(--values-scale)) calc(47px * var(--values-scale));
  list-style: none;
  background: #fff;
  box-shadow: 0 calc(20px * var(--values-scale)) calc(44px * var(--values-scale)) rgba(13,51,115,.16);
}
.values__criterion { display: flex; align-items: center; gap: calc(20px * var(--values-scale)); min-width: 0; border-bottom: 1px dashed #dbe5f2; color: #212633; font-family: var(--sans); font-size: calc(20px * var(--values-scale)); font-weight: 700; line-height: calc(24px * var(--values-scale)); letter-spacing: calc(.4px * var(--values-scale)); }
.values__criterion:nth-child(1) { grid-area: 1 / 1; }
.values__criterion:nth-child(2) { grid-area: 2 / 1; }
.values__criterion:nth-child(3) { grid-area: 3 / 1; border: 0; }
.values__criterion:nth-child(4) { grid-area: 1 / 2; }
.values__criterion:nth-child(5) { grid-area: 2 / 2; border: 0; }
.values__check { position: relative; flex: none; width: calc(34px * var(--values-scale)); height: calc(34px * var(--values-scale)); }
.values__check > img { position: absolute; top: 0; left: 0; transform: scale(var(--values-scale)); transform-origin: 0 0; }
.values__invitation { position: relative; isolation: isolate; min-height: calc(393px * var(--values-scale)); padding-block: calc(123px * var(--values-scale)) calc(128px * var(--values-scale)); }
.values__driver { position: absolute; z-index: -1; inset: calc(-5px * var(--values-scale)) 0 0; overflow: hidden; background: radial-gradient(ellipse 50% 35.714% at center, rgba(255,255,255,.12), rgba(255,255,255,0)), linear-gradient(90deg, rgba(26,128,224,.78), rgba(23,140,214,.78) 50%, rgba(20,158,199,.78)); pointer-events: none; }
.values__driver > img { position: absolute; top: -38.2%; left: -.02%; width: 109.32%; height: 222.45%; object-fit: cover; opacity: .3; }
.values__guide { position: absolute; top: calc(-47px * var(--values-scale)); left: calc(50% - 1px * var(--values-scale)); width: calc(2px * var(--values-scale)); height: calc(84px * var(--values-scale)); pointer-events: none; }
.values__guide-line { display: block; width: 100%; height: 50%; transform-origin: center top; }
.values__guide-line--blue { background: #1c61bd; }
.values__guide-line--white { background: #fff; }
.values__message { position: relative; color: #fff; font-family: var(--values-serif); font-size: calc(48px * var(--values-scale)); font-weight: 700; text-align: center; letter-spacing: calc(2.88px * var(--values-scale)); text-shadow: 0 0 11px rgba(0,0,0,.4); }
.values__message > span { display: block; height: calc(71px * var(--values-scale)); line-height: calc(70px * var(--values-scale)); transform: skewX(-11.31deg) scaleY(.98); transform-origin: center top; }

@media (prefers-reduced-motion: no-preference) {
  .has-values-reveal .values :is(.values__heading > *, .values__checklist, .values__criterion, .values__driver, .values__message > span) { opacity: 0; }
  /* Individual translate preserves the typography's static skew and photo crop. */
  .has-values-reveal .values :is(.values__heading > *, .values__checklist, .values__criterion, .values__message > span) { translate: 0 24px; }
  .has-values-reveal .values__heading > :nth-child(2) { --item-delay: 80ms; }
  .has-values-reveal .values__heading > :nth-child(3) { --item-delay: 120ms; }
  .has-values-reveal .values__label { --item-delay: 220ms; }
  .has-values-reveal .values__statement { --item-delay: 340ms; }
  .has-values-reveal .values__note { --item-delay: 460ms; }
  .has-values-reveal .values__criterion:nth-child(1) { --item-delay: 180ms; }
  .has-values-reveal .values__criterion:nth-child(2) { --item-delay: 320ms; }
  .has-values-reveal .values__criterion:nth-child(3) { --item-delay: 460ms; }
  .has-values-reveal .values__criterion:nth-child(4) { --item-delay: 600ms; }
  .has-values-reveal .values__criterion:nth-child(5) { --item-delay: 740ms; }
  .has-values-reveal .values__guide-line { transform: scaleY(0); }
  .has-values-reveal .values__guide-line--white { --item-delay: 280ms; }
  .has-values-reveal .values__message > span:first-child { --item-delay: 360ms; }
  .has-values-reveal .values__message > span:last-child { --item-delay: 540ms; }
  .has-values-reveal :is(.values__heading.is-revealed > *, .values__checklist.is-revealed, .values__checklist.is-revealed > .values__criterion, .values__invitation.is-revealed .values__message > span) {
    animation: values-rise .9s cubic-bezier(.22, 1, .36, 1) calc(var(--reveal-delay, 0ms) + var(--item-delay, 0ms)) both;
  }
  .has-values-reveal .values__invitation.is-revealed .values__message > span { animation-duration: 1.1s; }
  .has-values-reveal .values__invitation.is-revealed .values__driver { animation: values-photo-in 1.4s ease-out var(--reveal-delay, 0ms) both; }
  .has-values-reveal .values__invitation.is-revealed .values__guide-line { animation: values-guide-draw .4s cubic-bezier(.65, 0, .35, 1) calc(var(--reveal-delay, 0ms) + var(--item-delay, 0ms)) both; }
}
@media (min-width: 768px) and (prefers-reduced-motion: no-preference) {
  .has-values-reveal .values__message > span:first-child { --item-delay: 400ms; }
  .has-values-reveal .values__message > span:last-child { --item-delay: 600ms; }
  .has-values-reveal .values__invitation.is-revealed .values__message > span { animation-duration: 1.2s; }
  .has-values-reveal .values__invitation.is-revealed .values__driver { animation-duration: 1.5s; }
}

@keyframes values-rise {
  from { opacity: 0; translate: 0 24px; }
  to { opacity: 1; translate: 0 0; }
}
@keyframes values-photo-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes values-guide-draw {
  from { transform: scaleY(0); }
  to { transform: scaleY(1); }
}

@media (max-width: 1023px) {
  .values { --values-scale: 1; }
  .values__overview { padding: 56px 24px 64px; }
  .values__skyline { top: 0; height: 100%; }
  .values__fade { top: auto; bottom: 0; height: 180px; }
  .values__english { margin-top: 0; }
  .values__rule { margin-top: 8px; }
  .values__label { width: min(100%,487px); min-height: 49px; margin-top: 24px; padding: 8px 16px; font-size: 22px; line-height: 1.5; letter-spacing: .6px; }
  .values__statement { height: auto; margin-top: 18px; font-size: 34px; line-height: 1.5; }
  .values__statement > strong { font-size: 46px; }
  .values__particle { letter-spacing: -17px; }
  .values__quote { letter-spacing: -13.8px; }
  .values__note { height: auto; margin-top: 8px; font-size: 24px; line-height: 1.6; }
  .values__checklist { left: 0; width: 100%; max-width: 850px; min-height: 0; grid-template-rows: repeat(3, auto); gap: 0 28px; margin-top: 32px; padding: 24px 28px; }
  .values__criterion { min-height: 74px; padding-block: 16px; gap: 14px; font-size: 18px; line-height: 1.7; letter-spacing: .25px; }
  .values__check { width: 28px; height: 28px; }
  .values__check > img { transform: scale(.8235294118); }
  .values__invitation { min-height: 320px; padding-block: 90px 110px; }
  .values__driver { inset: 0; }
  .values__guide { top: -42px; }
  .values__driver > img { top: -15%; left: 0; width: 100%; height: 145%; object-position: 65% center; }
  .values__message { font-size: 40px; letter-spacing: 2px; }
  .values__message > span { height: 60px; line-height: 60px; }
}
@media (max-width: 640px) {
  .values__overview { padding: 48px 20px 48px; }
  .values__label { min-height: 48px; padding-inline: 10px; font-size: clamp(14px,4.1vw,19px); letter-spacing: .3px; white-space: nowrap; }
  .values__statement { margin-top: 20px; font-size: clamp(24px,6.8vw,32px); }
  .values__statement > strong { font-size: clamp(32px,9.1vw,43px); }
  .values__particle { letter-spacing: -.5em; }
  .values__quote { letter-spacing: -.3em; }
  .values__note { font-size: 18px; line-height: 1.7; }
  .values__checklist { display: flex; flex-direction: column; margin-top: 28px; padding: 14px 20px; }
  .values__criterion { min-height: 72px; gap: 12px; font-size: 16px; line-height: 1.75; }
  .values__criterion:nth-child(3) { border-bottom: 1px dashed #dbe5f2; }
  .values__invitation { min-height: 280px; padding: 84px 16px 92px; }
  .values__driver > img { top: 0; height: 100%; object-position: 68% center; }
  .values__message { font-size: clamp(26px,7vw,36px); letter-spacing: 1px; }
  .values__message > span { height: 52px; line-height: 52px; }
}

@media (max-width: 767px) {
  .values__statement { transform-origin: center; }
  .values__period { display: inline-block; width: .25em; }
}
@media (min-width: 768px) {
  /* Center the visible italic lines without the full stop's trailing blank. */
  .values__statement, .values__note { transform-origin: center; }
  .values__period { display: inline-block; width: .33em; }
  .values__note { padding-inline-start: .67em; }
}

/* Match the existing Japanese → English → short-rule heading structure. */
.section-heading { display: flex; flex-direction: column; align-items: center; }
.section-heading__english { height: var(--section-english-line-height); color: #4a6077; font-family: "Shippori Mincho", var(--serif); font-weight: 700; font-size: var(--section-english-size); line-height: var(--section-english-line-height); letter-spacing: calc(.72px * var(--heading-scale)); transform: skewX(-11.31deg) scaleY(.98); transform-origin: center top; }
.section-heading__rule { position: relative; width: calc(38px * var(--heading-scale)); height: calc(1px * var(--heading-scale)); margin-top: calc(8px * var(--heading-scale)); }
.section-heading__rule > img { transform: scale(var(--heading-scale)); transform-origin: 0 0; }

/* Each section owns its spacing, so these blocks can be moved within main. */
.jobs {
  --jobs-scale: var(--type-scale);
  padding: calc(110px * var(--jobs-scale)) 24px calc(120px * var(--jobs-scale));
  background: #ebf3f2;
  color: #283b49;
}
.jobs__heading { --heading-scale: var(--jobs-scale); margin-bottom: calc(56px * var(--jobs-scale)); }
.jobs__title { height: var(--section-title-height); margin: 0; color: var(--blue); font-family: "Shippori Mincho", var(--serif); font-size: var(--section-title-size); font-weight: 700; line-height: var(--section-title-line-height); letter-spacing: .04em; text-align: center; }
.jobs__title > span { color: #373737; }
.jobs__card { width: min(100%, calc(1080px * var(--jobs-scale))); margin-inline: auto; padding: calc(44px * var(--jobs-scale)) calc(64px * var(--jobs-scale)) calc(56px * var(--jobs-scale)); border-top: calc(2px * var(--jobs-scale)) solid #c7d6e3; background: #fff; box-shadow: 0 8px 24px rgba(30,60,90,.12); }
.jobs__summary { display: flex; align-items: center; gap: calc(24px * var(--jobs-scale)); padding-bottom: calc(36px * var(--jobs-scale)); cursor: pointer; list-style: none; }
.jobs__summary::-webkit-details-marker, .faq__question::-webkit-details-marker { display: none; }
.jobs__summary:focus-visible { outline: 3px solid var(--blue); outline-offset: 8px; }
.jobs__name { flex: 1; min-width: 0; margin: 0; color: var(--blue); font-family: "Shippori Mincho", var(--serif); font-size: calc(40px * var(--jobs-scale)); font-weight: 700; line-height: calc(58px * var(--jobs-scale)); letter-spacing: calc(2.4px * var(--jobs-scale)); }
.jobs__toggle { position: relative; flex: none; display: grid; place-items: center; width: calc(56px * var(--jobs-scale)); height: calc(56px * var(--jobs-scale)); border-radius: 50%; background: var(--blue); }
.jobs__toggle > span, .jobs__toggle::after { width: calc(22px * var(--jobs-scale)); height: calc(2px * var(--jobs-scale)); background: #fff; }
.jobs__toggle::after { position: absolute; content: ""; transform: rotate(90deg); }
.jobs__card[open]:not(.is-closing) .jobs__toggle::after { opacity: 0; transform: rotate(0); }
.jobs__card:not([open]) .jobs__summary { padding-bottom: 0; }
.jobs__description { display: grid; grid-template-columns: 450fr 446fr; gap: calc(56px * var(--jobs-scale)); padding-block: calc(36px * var(--jobs-scale)) calc(40px * var(--jobs-scale)); border-block: 1px solid #d4e6f2; }
.jobs__lead { font-size: calc(24px * var(--jobs-scale)); line-height: calc(42px * var(--jobs-scale)); }
.jobs__copy { display: flex; flex-direction: column; gap: calc(12px * var(--jobs-scale)); min-width: 0; font-size: calc(17px * var(--jobs-scale)); font-weight: 400; line-height: calc(34px * var(--jobs-scale)); }
.jobs__break--sp-only { display: none; }
.jobs__subheading { margin: 0; padding-block: calc(48px * var(--jobs-scale)) calc(24px * var(--jobs-scale)); color: var(--blue); font-size: calc(26px * var(--jobs-scale)); font-weight: 700; line-height: calc(31px * var(--jobs-scale)); text-align: center; }
.jobs__table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; font-size: calc(17px * var(--jobs-scale)); }
.jobs__table th, .jobs__table td { padding: calc(20px * var(--jobs-scale)) calc(26px * var(--jobs-scale)); border-bottom: 1px solid #dfe8f0; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.jobs__table th { width: calc(220px * var(--jobs-scale)); padding-right: calc(20px * var(--jobs-scale)); background: var(--blue); color: #fff; font-weight: 700; line-height: calc(20px * var(--jobs-scale)); }
.jobs__table td { font-weight: 400; line-height: calc(32px * var(--jobs-scale)); }
.jobs__table thead th { padding-block: calc(20px * var(--jobs-scale)); line-height: calc(22px * var(--jobs-scale)); }
.jobs__table thead th + th { width: auto; border: 1px solid #fff; }
@media (min-width: 768px) {
  .jobs__table--requirements th { padding-right: calc(26px * var(--jobs-scale)); text-align: center; vertical-align: middle; }
  .jobs__table--locations tbody th { vertical-align: middle; }
  .jobs__table--offices tbody th, .jobs__table--offices tbody td { vertical-align: middle; }
}
.jobs__note { padding-top: calc(16px * var(--jobs-scale)); color: #556775; font-size: calc(15px * var(--jobs-scale)); font-weight: 400; line-height: calc(28px * var(--jobs-scale)); }
.jobs__transfer { padding-block: calc(56px * var(--jobs-scale)); }
.jobs__separator { width: min(100%,calc(1080px * var(--jobs-scale))); height: 0; margin: 0 auto; border: 0; border-top: 1px solid #b5cad7; }
.jobs__table--centered th { text-align: center; vertical-align: middle; }
.jobs__workplaces { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: calc(48px * var(--jobs-scale)); padding-top: calc(8px * var(--jobs-scale)); }
.jobs__workplace { min-width: 0; }
.jobs__workplace > .jobs__subheading { text-align: left; }
.jobs__table--offices th { width: calc(190px * var(--jobs-scale)); }
.jobs__table--offices tbody th { background: #f1f6f9; color: var(--blue); }
.jobs__table--offices thead th { line-height: calc(20px * var(--jobs-scale)); border-top: 0; border-bottom: 0; }
.jobs__table--schedule th { width: calc(140px * var(--jobs-scale)); }
.jobs__schedule-copy { padding-bottom: calc(20px * var(--jobs-scale)); font-size: calc(17px * var(--jobs-scale)); font-weight: 400; line-height: calc(32px * var(--jobs-scale)); }
.jobs__conditions { display: flex; flex-direction: column; gap: calc(48px * var(--jobs-scale)); padding-top: calc(56px * var(--jobs-scale)); }
.jobs__info { border-top: 1px solid #d4e6f2; }
.jobs__info-copy { display: flex; flex-direction: column; gap: calc(12px * var(--jobs-scale)); padding-top: calc(30px * var(--jobs-scale)); font-size: calc(17px * var(--jobs-scale)); font-weight: 400; line-height: calc(34px * var(--jobs-scale)); }
.jobs__info-copy--holidays { gap: calc(10px * var(--jobs-scale)); }
.jobs__info-copy--perks { gap: calc(14px * var(--jobs-scale)); }
.jobs__info-lead { color: var(--blue); font-size: calc(21px * var(--jobs-scale)); font-weight: 700; line-height: calc(36px * var(--jobs-scale)); }
.jobs__perks { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: calc(48px * var(--jobs-scale)); }
.jobs__perks-column { min-width: 0; margin: 0; padding: 0; list-style: none; }
.jobs__perks-column > li { display: flex; align-items: center; gap: calc(14px * var(--jobs-scale)); padding-block: calc(18px * var(--jobs-scale)); border-bottom: 1px solid #dfe8f0; line-height: calc(28px * var(--jobs-scale)); }
.jobs__perks-column > li > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.jobs__dot { position: relative; flex: none; width: calc(7px * var(--jobs-scale)); height: calc(7px * var(--jobs-scale)); }
.jobs__dot > img { position: absolute; top: 0; left: 0; transform: scale(var(--jobs-scale)); transform-origin: 0 0; }

.faq {
  --faq-scale: var(--type-scale);
  padding: calc(120px * var(--faq-scale)) 24px calc(112px * var(--faq-scale));
  background: linear-gradient(133.65965083723808deg, rgba(255,255,255,0) 7.1429%, rgba(255,255,255,0) 27.143%, rgba(255,255,255,.06) 28.571%, rgba(255,255,255,.03) 46.429%, rgba(255,255,255,0) 47.857%, rgba(255,255,255,0) 64.286%), linear-gradient(90deg, #1759bf, #338ce0);
  color: #283b49;
}
.faq__heading { display: flex; flex-direction: column; align-items: center; color: #fff; font-family: "Shippori Mincho", var(--serif); font-weight: 700; text-align: center; }
.faq__english { font-size: calc(96px * var(--faq-scale)); line-height: calc(139px * var(--faq-scale)); white-space: nowrap; }
.faq__english > span { font-size: calc(66px * var(--faq-scale)); line-height: normal; }
.faq__title { font-size: calc(46px * var(--faq-scale)); line-height: calc(67px * var(--faq-scale)); letter-spacing: .12em; }
.faq__list { display: flex; flex-direction: column; gap: calc(36px * var(--faq-scale)); width: min(100%, calc(960px * var(--faq-scale))); margin: calc(36px * var(--faq-scale)) auto 0; }
.faq__item { overflow: hidden; border: calc(3px * var(--faq-scale)) solid #fff; border-radius: calc(16px * var(--faq-scale)); background: #fff; box-shadow: 0 6px 20px rgba(26,77,153,.12); }
.faq__question { display: flex; align-items: center; gap: calc(20px * var(--faq-scale)); min-height: calc(100px * var(--faq-scale)); padding: calc(18px * var(--faq-scale)) calc(40px * var(--faq-scale)); color: #fff; background: linear-gradient(175.50486027610035deg, rgba(255,255,255,0) 7.1429%, rgba(255,255,255,0) 27.143%, rgba(255,255,255,.06) 28.571%, rgba(255,255,255,.03) 46.429%, rgba(255,255,255,0) 47.857%, rgba(255,255,255,0) 64.286%), linear-gradient(90deg, #1759bf, #338ce0); cursor: pointer; list-style: none; }
.faq__question:focus-visible { outline: 3px solid #fff; outline-offset: -6px; }
.faq__mark { flex: none; font-family: "Shippori Mincho", var(--serif); font-size: calc(44px * var(--faq-scale)); font-weight: 700; line-height: calc(64px * var(--faq-scale)); white-space: nowrap; }
.faq__question-text { flex: 1; min-width: 0; margin: 0; font-size: calc(21px * var(--faq-scale)); font-weight: 700; line-height: calc(34px * var(--faq-scale)); overflow-wrap: anywhere; }
.faq__chevron { position: relative; flex: none; width: calc(20px * var(--faq-scale)); height: calc(10px * var(--faq-scale)); transform: rotate(180deg); }
.faq__item[open]:not(.is-closing) .faq__chevron { transform: none; }
/* Keep the exported SVG's intrinsic 22 × 12 viewBox, including its stroke. */
.faq__chevron > img { position: absolute; top: calc(-1px * var(--faq-scale)); left: calc(-1px * var(--faq-scale)); transform: scale(var(--faq-scale)); transform-origin: 0 0; }
.faq__answer { display: flex; align-items: flex-start; gap: calc(20px * var(--faq-scale)); padding: calc(26px * var(--faq-scale)) calc(40px * var(--faq-scale)) calc(32px * var(--faq-scale)); }
.faq__answer > .faq__mark { color: #1c61bd; }
.faq__answer-text { flex: 1; min-width: 0; font-size: calc(17px * var(--faq-scale)); font-weight: 400; line-height: calc(34px * var(--faq-scale)); overflow-wrap: anywhere; }
.faq__break--sp-only { display: none; }
@media (max-width: 767px) {
  .faq__break--sp-only, .faq__break.faq__break--sp { display: initial; }
  .faq__paragraph-end { margin-bottom: 12px; }
}

:is(.jobs__card, .faq__item) {
  --accordion-duration: 800ms;
  --accordion-ease: cubic-bezier(.25, .1, .25, 1);
}
:is(.jobs__card, .faq__item).is-animating { overflow: hidden; overflow: clip; }
@media (prefers-reduced-motion: no-preference) {
  .jobs__toggle::after {
    transition: transform var(--accordion-duration) var(--accordion-ease), opacity var(--accordion-duration) var(--accordion-ease);
  }
  .faq__chevron { transition: transform var(--accordion-duration) var(--accordion-ease); }
}

@media (max-width: 1023px) {
  .jobs { --jobs-scale: 1; padding-block: 64px 72px; }
  .jobs__heading { margin-bottom: 32px; }
  .jobs__card { padding: 32px; }
  .jobs__name { font-size: 30px; line-height: 1.6; letter-spacing: 1.5px; }
  .jobs__summary { padding-bottom: 28px; }
  .jobs__toggle { width: 48px; height: 48px; }
  .jobs__description { grid-template-columns: 1fr; gap: 20px; padding-block: 28px; }
  .jobs__lead { font-size: 22px; line-height: 1.8; }
  .jobs__copy { gap: 12px; font-size: 16px; line-height: 2; }
  .jobs__subheading { padding-block: 32px 20px; font-size: 24px; line-height: 1.5; }
  .jobs__table { font-size: 16px; }
  .jobs__table th { width: 150px; line-height: 1.7; }
  .jobs__table th, .jobs__table td { padding: 18px 20px; }
  .jobs__table td { line-height: 1.9; }
  .jobs__note { font-size: 14px; line-height: 1.9; }
  .jobs__break { display: none; }
  .jobs__transfer { padding-block: 40px; }
  .jobs__separator { translate: 0 -16px; }
  .jobs__conditions { gap: 32px; padding-top: 8px; }
  .jobs__workplaces { grid-template-columns: 1fr; gap: 0; padding-top: 0; }
  .jobs__workplace > .jobs__subheading { line-height: 1.6; }
  .jobs__schedule-copy { font-size: 16px; line-height: 1.9; }
  .jobs__info-copy { padding-top: 24px; font-size: 16px; line-height: 1.9; }
  .jobs__info-lead { font-size: 19px; line-height: 1.8; }
  .jobs__perks { gap: 24px; }
  .jobs__perks-column > li { padding-block: 16px; line-height: 1.8; }

  .faq { --faq-scale: 1; padding-block: 72px 88px; }
  .faq__english { font-size: 80px; line-height: 116px; }
  .faq__english > span { font-size: 55px; }
  .faq__title { font-size: 36px; line-height: 54px; }
  .faq__list { gap: 24px; margin-top: 32px; }
  .faq__question { gap: 16px; min-height: 88px; padding: 16px 24px; }
  .faq__mark { font-size: 36px; line-height: 52px; }
  .faq__question-text { font-size: 19px; line-height: 1.7; }
  .faq__answer { gap: 16px; padding: 24px; }
  .faq__answer-text { font-size: 16px; line-height: 2; }
  .faq__break { display: none; }
}
@media (max-width: 767px) {
  .jobs__break--sp, .jobs__break--sp-only { display: initial; }
  .jobs__lead-phrase { white-space: nowrap; }
  .jobs__income-separator { display: none; }
}
@media (max-width: 640px) {
  .jobs { padding: 48px 20px 56px; }
  .jobs__card { padding: 24px 20px; }
  .jobs__summary { gap: 14px; padding-bottom: 24px; }
  .jobs__name { font-size: 23px; line-height: 1.6; letter-spacing: .5px; }
  .jobs__toggle { width: 40px; height: 40px; }
  .jobs__lead { font-size: 18px; }
  .jobs__card--transfer .jobs__lead { font-size: 17.8px; }
  .jobs__lead > br { display: none; }
  .jobs__lead > .jobs__lead-break { display: initial; }
  .jobs__table, .jobs__table tbody, .jobs__table tr, .jobs__table th, .jobs__table td { display: block; width: 100%; }
  .jobs__table th { padding: 12px 16px; border-bottom: 0; }
  .jobs__table td { padding: 16px; }
  /* Row headings identify each location when the two-column table becomes a list. */
  .jobs__table thead { display: none; }
  .jobs__subheading { font-size: 22px; }
  .jobs__note { padding-top: 14px; font-size: 13px; }
  .jobs__table--offices th, .jobs__table--schedule th { width: 100%; }
  .jobs__table--centered th { text-align: left; }
  .jobs__perks { grid-template-columns: 1fr; gap: 0; }
  .jobs__perks-column > li { font-size: 15px; }

  .faq { padding: 56px 20px 64px; }
  .faq__english { font-size: 64px; line-height: 93px; }
  .faq__english > span { font-size: 44px; }
  .faq__title { font-size: 28px; line-height: 42px; }
  .faq__list { margin-top: 28px; }
  .faq__item { border-width: 2px; border-radius: 12px; }
  .faq__question { gap: 10px; min-height: 88px; padding: 18px 16px; }
  .faq__mark { font-size: 30px; line-height: 44px; }
  .faq__question-text { font-size: 16px; line-height: 1.7; }
  .faq__chevron { width: 16px; height: 8px; }
  .faq__chevron > img { top: -.8px; left: -.8px; transform: scale(.8); }
  .faq__answer { gap: 10px; padding: 20px 16px 24px; }
  .faq__answer-text { font-size: 15px; line-height: 1.9; }
}
@media (min-width: 402px) and (max-width: 640px) {
  .jobs__table td.jobs__salary-copy,
  .jobs__table td.jobs__transfer-license { font-size: 15.2px; }
  .faq__question-text.faq__question-text--interview { font-size: 15.1px; }
  .faq__answer-text.faq__answer-text--interview { font-size: 14.9px; }
}

/* Casual interview CTA: flow-based copy with the two overlapping photo panels. */
.consultation { --consultation-scale: var(--type-scale); overflow: hidden; overflow: clip; padding-bottom: calc(120px * var(--consultation-scale)); background: #fff; color: #212633; font-family: "Consultation Sans", var(--sans); }
.consultation__inner { width: calc(1440px * var(--consultation-scale)); margin-inline: auto; }
.consultation__heading { position: relative; padding-top: calc(309px * var(--consultation-scale)); text-align: center; }
.consultation__lead-line { position: absolute; top: calc(-17px * var(--consultation-scale)); left: calc(734px * var(--consultation-scale)); width: calc(1px * var(--consultation-scale)); height: calc(119px * var(--consultation-scale)); background: var(--blue); }
.consultation__accent { position: absolute; top: calc(143px * var(--consultation-scale)); left: calc(639px * var(--consultation-scale)); width: calc(309px * var(--consultation-scale)); height: calc(65px * var(--consultation-scale)); background: #1c61bd; }
.consultation__invitation { position: absolute; top: calc(142px * var(--consultation-scale)); left: calc(50% + 29px * var(--consultation-scale)); width: calc(1200px * var(--consultation-scale)); transform: translateX(-50%); color: #000; font-family: "Consultation Mincho", "Shippori Mincho", var(--serif); font-size: calc(46px * var(--consultation-scale)); font-weight: 700; line-height: calc(60px * var(--consultation-scale)); letter-spacing: calc(1.84px * var(--consultation-scale)); text-align: center; }
.consultation__invitation > span { display: block; white-space: nowrap; }
.consultation__invitation strong { color: #fff; font-size: calc(56px * var(--consultation-scale)); font-weight: inherit; }
.consultation__questions { display: flex; gap: calc(19px * var(--consultation-scale)); margin-left: calc(443px * var(--consultation-scale)); }
.consultation__bubble { --bubble-scale: var(--consultation-scale); position: relative; flex: none; width: calc(300px * var(--bubble-scale)); height: calc(133px * var(--bubble-scale)); }
.consultation__bubble-art { position: absolute; inset: 0; }
.consultation__bubble-art > img { transform: scale(var(--bubble-scale)); transform-origin: 0 0; }
.consultation__bubble--details .consultation__bubble-art { transform: scaleX(-1); }
.consultation__bubble-copy { position: absolute; top: calc(20px * var(--bubble-scale)); left: calc(5px * var(--bubble-scale)); width: calc(300px * var(--bubble-scale)); color: #1c61bd; font-size: calc(20px * var(--bubble-scale)); font-weight: 700; line-height: calc(32px * var(--bubble-scale)); white-space: nowrap; }
.consultation__bubble-copy > span { display: block; }
.consultation__bubble--details .consultation__bubble-copy { top: calc(22px * var(--bubble-scale)); left: calc(13px * var(--bubble-scale)); width: calc(280px * var(--bubble-scale)); }
.consultation__welcome-note { position: relative; left: calc(11.5px * var(--consultation-scale)); margin-top: calc(10px * var(--consultation-scale)); font-family: "Shippori Mincho", var(--serif); font-size: calc(28px * var(--consultation-scale)); font-weight: 700; line-height: calc(41px * var(--consultation-scale)); letter-spacing: .04em; }
.consultation__title { position: relative; left: calc(45.792969px * var(--consultation-scale)); width: max-content; margin: calc(-14px * var(--consultation-scale)) auto 0; color: #1c61bd; font-family: "Shippori Mincho", var(--serif); font-size: calc(67.253px * var(--consultation-scale)); font-weight: 700; line-height: calc(97px * var(--consultation-scale)); letter-spacing: .04em; white-space: nowrap; }
.consultation__title > span:last-child { position: relative; }
.consultation__highlight { position: absolute; top: calc(67.253px * var(--consultation-scale)); left: calc(-1.292969px * var(--consultation-scale)); width: calc(406.106659px * var(--consultation-scale)); height: calc(20.693333px * var(--consultation-scale)); background: #fdebb7; }
.consultation__connector { position: relative; z-index: 2; left: calc(12px * var(--consultation-scale)); display: block; width: calc(2px * var(--consultation-scale)); margin-inline: auto; }
.consultation__connector > span { display: block; height: calc(42px * var(--consultation-scale)); background: #1c61bd; }
.consultation__connector > span + span { background: #fff; }
.consultation__body { position: relative; width: calc(1215px * var(--consultation-scale)); height: calc(530px * var(--consultation-scale)); margin-top: calc(-42px * var(--consultation-scale)); margin-left: calc(107px * var(--consultation-scale)); }
.consultation__band { position: absolute; top: 0; left: 0; width: calc(898px * var(--consultation-scale)); height: calc(480px * var(--consultation-scale)); box-shadow: 0 calc(14px * var(--consultation-scale)) calc(30px * var(--consultation-scale)) rgba(13,38,89,.25); }
/* The exported background PNG already contains Figma's 60% opacity. */
.consultation__band > img { width: 100%; height: 100%; object-fit: cover; }
.consultation__band-overlay { position: absolute; inset: 0; background: radial-gradient(ellipse 50% 35.7146% at 50% 50%, rgba(255,255,255,.12), rgba(255,255,255,0)), linear-gradient(90deg, rgba(26,128,224,.71), rgba(23,140,214,.71) 50%, rgba(20,158,199,.71)); }
.consultation__content { position: relative; z-index: 1; width: calc(434px * var(--consultation-scale)); margin-left: calc(71px * var(--consultation-scale)); padding-top: calc(82px * var(--consultation-scale)); }
.consultation__copy { display: grid; gap: 12px; color: #fff; font-size: 16px; font-weight: 400; line-height: 1.6; white-space: normal; }
.consultation__copy p { text-wrap: pretty; }
.consultation__copy strong { color: #ffed8c; font-size: 20px; font-weight: 700; }
.consultation__break { display: none; }
.consultation__photo { position: absolute; top: calc(50px * var(--consultation-scale)); left: calc(535px * var(--consultation-scale)); width: calc(680px * var(--consultation-scale)); height: calc(480px * var(--consultation-scale)); filter: drop-shadow(0 calc(14px * var(--consultation-scale)) calc(15px * var(--consultation-scale)) rgba(13,38,89,.25)); }
.consultation__photo-crop { width: 100%; height: 100%; mask-image: url("assets/consultation/photo-mask.svg"); mask-mode: alpha; mask-repeat: no-repeat; mask-position: calc(-.691px * var(--consultation-scale)) calc(-.5px * var(--consultation-scale)); mask-size: calc(681.191px * var(--consultation-scale)) calc(481px * var(--consultation-scale)); }
.consultation__photo-crop > img { width: 100%; height: 100%; object-fit: cover; }

/* Follow the invitation down to the interview photo, copy and LINE button. */
@media (prefers-reduced-motion: no-preference) {
  .has-consultation-reveal .consultation :is(.consultation__invitation, .consultation__bubble, .consultation__welcome-note, .consultation__title, .consultation__photo, .consultation__copy, .line-cta--consultation) { opacity: 0; translate: 0 24px; }
  .has-consultation-reveal .consultation :is(.consultation__accent, .consultation__band) { opacity: 0; clip-path: inset(0 100% 0 0); }
  .has-consultation-reveal .consultation :is(.consultation__lead-line, .consultation__connector > span) { clip-path: inset(0 0 100% 0); }
  .has-consultation-reveal .consultation__highlight { clip-path: inset(0 100% 0 0); }
  .has-consultation-reveal .consultation :is(.consultation__invitation, .consultation__bubble, .consultation__welcome-note, .consultation__title, .consultation__copy, .line-cta--consultation).is-revealed { animation: working-style-rise 1s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms) both; }
  .has-consultation-reveal .consultation__photo.is-revealed { animation: working-style-rise 1.1s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms) both; }
  .has-consultation-reveal .consultation :is(.consultation__accent, .consultation__band).is-revealed { animation: working-style-band .85s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms) both; }
  .has-consultation-reveal .consultation__title.is-revealed .consultation__highlight { animation: working-style-band .65s cubic-bezier(.22,1,.36,1) calc(var(--reveal-delay,0ms) + 160ms) both; }
  .has-consultation-reveal .consultation__lead-line.is-revealed,
  .has-consultation-reveal .consultation__connector.is-revealed > span { animation: consultation-line-draw .45s cubic-bezier(.65,0,.35,1) var(--reveal-delay,0ms) both; }
  .has-consultation-reveal .consultation__connector.is-revealed > span + span { animation-delay: calc(var(--reveal-delay,0ms) + 180ms); }
}
@keyframes consultation-line-draw {
  from { clip-path: inset(0 0 100% 0); }
  to { clip-path: inset(0 0 0 0); }
}

.line-cta--consultation { position: relative; margin: 24px 0 0; font-family: var(--sans); }
.line-cta--consultation .line-cta__label { translate: 0 calc(1px * var(--type-scale)); }
.line-cta--consultation:focus-visible { outline-color: #fff; }
@media (min-width: 1024px) {
  .consultation__inner { position: relative; left: 50%; margin-inline: 0; translate: -50% 0; }
  .consultation__body, .career__columns { display: grid; grid-template-columns: minmax(0,.44fr) minmax(0,.56fr); align-items: center; width: min(calc(100% - 96px),calc(1215px * var(--consultation-scale)),1440px); height: auto; margin-inline: auto; }
  .consultation__band, .career__band { width: 74%; height: calc(100% - 40px); }
  .consultation__content, .career__story--panel .career__body { grid-column: 1; grid-row: 1; width: 100%; min-width: 0; margin: 0; padding: 40px 32px 48px 48px; }
  .consultation__copy p:first-child .consultation__break { display: initial; }
  .consultation__photo, .career__story--panel .career__photo { position: relative; grid-column: 2; grid-row: 1; top: auto; left: auto; width: 100%; height: clamp(340px,30vw,440px); margin-top: 40px; }
  .career__columns { --career-photo-offset: clamp(24px,2.2vw,40px); grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; padding-bottom: var(--career-photo-offset); }
  .career__band { height: calc(100% - var(--career-photo-offset)); }
  .career__story--panel .career__body { padding: 32px 32px 36px 40px; }
  .career__story--panel .career__photo { top: var(--career-photo-offset); align-self: stretch; height: auto; margin-top: 0; }
  .career__story--growth .career__band { left: auto; right: 0; }
  .career__story--growth.career__story--panel .career__photo { grid-column: 1; }
  .career__story--growth.career__story--panel .career__body { grid-column: 2; padding-inline: 32px 40px; }
  .career__story--panel .career__body p { text-wrap: balance; }
  .career__story--panel .career__copy--desktop { display: block; }
  .career__story--panel .career__copy--mobile { display: none; }
  .career__story--panel .career__copy-phrase { display: inline; white-space: nowrap; }
  .career__story--growth .career__wish { white-space: nowrap; }
  .career__story--growth.career__story--panel :is(.career__photo-mask,.career__photo-content) { transform: scaleX(-1); }
  .career__story--panel .career__image { object-position: left center; }
  .career__story--flexible.career__story--panel .career__image { object-position: 85% center; }
  .career__story--panel .career__photo-english { font-size: clamp(20px,2.6vw,38px); }
  .consultation__photo-crop { mask-size: 100.1751470588% 100.2083333333%; mask-position: 58.018472% 50%; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  .career__story--growth.career__story--panel .career__image { object-position: 20% center; }
  .career__story--flexible.career__story--panel .career__image { object-position: 70% center; }
}
@media (max-width: 1023px) {
  .consultation { --consultation-scale: 1; padding-bottom: 80px; }
  .consultation__inner { width: 100%; }
  .consultation__heading { padding: 128px 24px 0; }
  .consultation__lead-line { top: 0; left: 50%; width: 1px; height: 96px; }
  .consultation__accent { display: none; }
  .consultation__invitation { position: relative; top: auto; left: auto; width: 100%; transform: none; font-size: clamp(28px,4vw,36px); line-height: 1.6; letter-spacing: .04em; }
  .consultation__invitation strong { display: inline-block; padding-inline: .16em; background: #1c61bd; font-size: 1.2173913em; line-height: 1.3; }
  .consultation__questions { justify-content: center; gap: 16px; margin: 32px 0 0; }
  .consultation__welcome-note { left: 0; }
  .consultation__title { left: 0; }
  .consultation__connector { left: 0; }
  .consultation__body, .career__columns { width: min(calc(100% - 48px),960px); height: auto; margin-inline: auto; }
  .consultation__body { margin-top: -42px; }
  .consultation__band, .career__band { width: 100%; height: calc(100% - 96px); }
  .consultation__content, .career__story--panel .career__body { width: 100%; margin: 0; padding: 32px 40px 40px; }
  .consultation__photo, .career__story--panel .career__photo { position: relative; top: auto; left: auto; width: min(100%,680px); height: auto; aspect-ratio: 680 / 480; margin: 0 0 0 auto; }
  .consultation__photo-crop { mask-size: 100.1751470588% 100.2083333333%; mask-position: 58.018472% 50%; }
}
@media (max-width: 767px) {
  .consultation__questions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 10px; }
  .consultation__copy p:first-child .consultation__break { display: initial; }
  .consultation__bubble { --bubble-scale: .5; width: 100%; height: auto; aspect-ratio: 300 / 133; }
  .consultation__bubble-copy, .consultation__bubble--details .consultation__bubble-copy { display: flex; flex-direction: column; justify-content: center; top: 0; left: 0; width: 100%; height: calc(100px * var(--bubble-scale)); font-size: clamp(11px,3.2vw,14px); line-height: 1.5; text-align: center; }
  .consultation__band, .career__band { height: 100%; }
  .consultation__photo, .career__story--panel .career__photo { aspect-ratio: 16 / 9; max-height: 240px; }
  .consultation__photo-crop, .career__story--panel .career__photo-mask { -webkit-mask: none; mask: none; }
  .consultation__photo-crop > img { object-position: center 35%; }
  .line-cta--consultation { width: calc(673px * var(--mobile-cta-scale)); height: calc(var(--mobile-cta-height) * var(--mobile-cta-scale)); min-height: 0; margin-left: calc((100% - 673px * var(--mobile-cta-scale)) / 2); padding: 0; border-radius: calc(28px * var(--mobile-cta-scale)); background: transparent; box-shadow: none; }
  .line-cta--consultation > .line-cta__face { display: none; }
  .line-cta--consultation .line-cta__mobile-art { transform: scale(var(--mobile-cta-scale)); transform-origin: 0 0; }
}
@media (max-width: 640px) {
  .consultation { padding-bottom: 56px; }
  .consultation__heading { padding: 104px 20px 0; }
  .consultation__lead-line { height: 80px; }
  .consultation__invitation { font-size: clamp(22px,5.8vw,28px); }
  .consultation__welcome-note { font-size: 24px; line-height: 35px; }
  .consultation__title { margin-top: -8px; font-size: clamp(42px,12vw,52px); line-height: 1.45; }
  .consultation__highlight { top: 1em; left: 0; width: calc(100% - 10px); height: .3077em; }
  .consultation__connector > span { height: 30px; }
  .consultation__body, .career__columns { width: calc(100% - 32px); }
  .consultation__body { margin-top: -30px; }
  .consultation__content, .career__story--panel .career__body { padding: 24px 16px 28px; }
  .line-cta--consultation { margin-top: 20px; }
}
@media (max-width: 359px) {
  .consultation__bubble { --bubble-scale: .45; }
}
@supports (scale: calc(1px / 1px)) {
  @media (max-width: 767px) {
    .consultation__bubble { --bubble-scale: calc((100vw - 58px) / 600px); }
  }
  @media (max-width: 640px) {
    .consultation__bubble { --bubble-scale: calc((100vw - 50px) / 600px); }
  }
}


/* Retained PC feedback: FV spacing and the two working-style sections. */
@media (min-width: 768px) {
  .line-cta:not(.line-cta--header) .line-cta__face { justify-content: center; gap: calc(10px * var(--type-scale)); }
  .line-cta:not(.line-cta--header) .line-cta__arrow { width: calc(32px * var(--type-scale)); height: calc(32px * var(--type-scale)); margin-left: 0; }
  .line-cta:not(.line-cta--header) .line-cta__arrow-art { width: 32px; height: 32px; }
  .line-cta:not(.line-cta--header) .line-cta__arrow-art > img:first-child { width: 32px; height: 32px; }
  .line-cta:not(.line-cta--header) .line-cta__arrow-art > img:last-child { z-index: 1; left: 11.5px; top: 10.5px; }
  .hero__inner { height: calc(100% - var(--header-height)); padding-top: clamp(48px,calc(9svh + 10px),116px); }
  .hero__copy { top: auto; transform: none; }
  .hero__job { margin-top: calc(56px * var(--type-scale)); }
  .hero__description { margin-top: calc(10px * var(--type-scale)); }
  .hero__copy > .line-cta { margin-top: calc(30px * var(--type-scale)); }

  .career__story--panel .pc-wide-break { display: none; }
  .career__story--panel .pc-phrase { white-space: nowrap; }
  .career__story--panel .career__body { --career-paragraph-gap: 16px; --career-heading-gap: 28px; font-size: 16px; font-weight: 400; line-height: 1.875; }
  .career__story--panel .career__body p { text-wrap: pretty; }
  .career__story--panel .career__wishes > strong { display: block; text-indent: -.5em; }
  .career__story--panel :is(.career__note,.career__availability) { font-size: 13px; font-weight: 400; line-height: 1.8; }
}

/* Align opening brackets with the body copy edge, including after wrapping. */
@media (min-width: 768px) {
  :is(.driveaway__body,.benefits__description,.workplace__body,.career__body,.jobs__copy,.jobs__table td,.jobs__info-copy,.faq__answer-text,.consultation__copy) { text-spacing-trim: trim-start; }
  @supports (text-spacing-trim: trim-start) {
    .career__story--panel :is(.career__wishes,.career__intro-quotes) > strong { text-indent: 0; }
  }
  @supports not (text-spacing-trim: trim-start) {
    .copy-quote-start { text-indent: -.5em; }
    .copy-quote-line { margin-inline-start: -.5em; }
    @media (min-width: 1024px) {
      .copy-quote-after-break { margin-inline-start: -.5em; }
    }
  }
}
