@charset "UTF-8";
/* hero.css */
:root{--ink:#141612;--orange:#eb6100;--paper:#f7f6f2;--line:#dbd9d2;font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:weight;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.skip-link{position:fixed;top:-80px;left:10px;padding:12px;background:#fff;z-index:10}.skip-link:focus{top:10px}.site-header{height:88px;padding:0 4.3%;display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:2;gap:20px}.brand{display:flex;align-items:center;gap:21px}.brand img{width:252px;height:auto;display:block}.brand-label{font-family:Arial,sans-serif;font-size:14px;font-weight:700;letter-spacing:.11em;border-left:1px solid #cacac2;padding:10px 0 10px 20px}.header-nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:700;white-space:nowrap}.mission-link{display:flex;align-items:center;gap:22px}.mission-link span{font-size:19px;font-family:Arial,sans-serif;font-weight:400}.recruit-link{background:var(--ink);color:#fff;padding:17px 22px;display:flex;gap:35px;align-items:center}.recruit-link span{font-size:19px;font-family:Arial,sans-serif;font-weight:400}.recruit-link:hover{background:#33392f}.hero{height:clamp(640px,calc(100svh - 190px),860px);position:relative;overflow:hidden;color:#fff;background:var(--ink);isolation:isolate}.hero-visual{position:absolute;left:30%;right:0;top:0;bottom:0;z-index:-3;overflow:hidden}.hero-poster,.hero-video{width:100%;height:100%;object-fit:cover;object-position:38% 48%;position:absolute;inset:0}.hero-poster{filter:saturate(.83) contrast(1.05);animation:photo-arrive 1.4s cubic-bezier(.2,.65,.2,1) both}.hero-video[hidden]{display:none}.hero-video{opacity:0;transition:opacity .6s ease}.hero-video.is-playing{opacity:1}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#141612 0%,#141612 23%,rgba(20,22,18,.93) 31%,rgba(20,22,18,.55) 48%,rgba(20,22,18,.06) 75%),linear-gradient(0deg,rgba(9,12,9,.9),transparent 43%,rgba(9,12,9,.1));pointer-events:none}.hero::after{content:"";position:absolute;inset:0;z-index:-2;background:#19251c;opacity:.05;pointer-events:none}.edge-label{position:absolute;left:17px;top:57px;writing-mode:vertical-rl;font-family:Arial,sans-serif;font-size:14px;letter-spacing:.18em;opacity:.45}.hero-copy{position:absolute;left:6.2%;right:4%;top:48%;transform:translateY(-47%);z-index:1}.eyebrow{display:flex;align-items:center;gap:13px;font-size:14px;letter-spacing:.14em;font-weight:700;margin:0 0 29px}.eyebrow-rule{display:block;width:33px;height:2px;background:var(--orange)}h1{margin:0;font-size:clamp(55px,6.5vw,105px);font-weight:900;letter-spacing:-.065em;line-height:1.26;overflow:visible;text-shadow:0 2px 24px #0002}.headline-line{display:block;white-space:nowrap}.headline-second{font-size:max(14px,1.24em);letter-spacing:-.065em;margin-top:5px}h1 em{font-style:normal;color:var(--orange)}.hero-description{margin:31px 0 26px;font-size:16px;line-height:2;letter-spacing:.06em;font-weight:500;color:#efeee8}.hero-cta{display:inline-flex;align-items:center;gap:47px;font-size:14px;font-weight:700;letter-spacing:.05em}.cta-arrow{width:46px;height:46px;border:1px solid #fff6;display:grid;place-items:center;border-radius:50%;font-family:Arial,sans-serif;font-size:25px;font-weight:400;transition:background .2s,border-color .2s,transform .2s}.hero-cta:hover .cta-arrow{background:var(--orange);border-color:var(--orange);transform:translate(2px,-2px)}.scene-caption{position:absolute;right:5%;bottom:102px;text-align:left;border-left:1px solid #ffffff65;padding-left:17px;max-width:200px}.scene-caption>span{font-family:Arial,sans-serif;font-size:14px;letter-spacing:.17em;color:#d1d1c7}.scene-caption p{font-size:14px;line-height:1.8;letter-spacing:.07em;margin:11px 0 0}.scroll-cue{position:absolute;right:5%;top:34px;display:flex;gap:18px;align-items:center}.scroll-cue span:first-child{font-family:Arial,sans-serif;font-size:14px;letter-spacing:.12em}.scroll-cue span:last-child{font-size:20px;font-family:Arial,sans-serif}.hero-bottom{position:absolute;bottom:25px;left:6.2%;right:5%;border-top:1px solid #ffffff30;padding-top:17px;display:flex;justify-content:space-between;color:#d3d4cc;font-family:Arial,sans-serif;font-size:14px;letter-spacing:.16em}.facts{display:grid;grid-template-columns:1fr 1fr 1.05fr 1.4fr;align-items:center;min-height:102px;padding:18px 5%;background:var(--paper);border-bottom:1px solid var(--line);gap:0}.facts-label{display:flex;flex-direction:column;gap:10px;padding-left:15px;border-left:3px solid var(--orange)}.facts-label>span{font-size:14px;font-weight:700;letter-spacing:.09em}.facts-label small{font-family:Arial,sans-serif;font-size:14px;letter-spacing:.1em;color:#7d7d74}.facts>p{margin:0;padding:0 12%;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.fact-label{font-size:14px;font-weight:600;color:#70736b}.fact-value{font-size:14px;font-weight:700;white-space:nowrap}.fact-value strong{font-family:Arial,sans-serif;font-size:31px;font-weight:600;letter-spacing:-.04em;line-height:1;margin:0 5px}.fact-value>span{font-size:14px;margin-left:2px}.facts-link{border-left:1px solid var(--line);padding-left:12%;font-size:14px;color:#71746b;display:flex;flex-direction:column;gap:10px}.facts-link>span{color:var(--ink);font-size:14px;font-weight:700;display:flex;justify-content:space-between;align-items:center}.facts-link b{font-family:Arial,sans-serif;font-weight:400;font-size:22px}.opening{padding:66px 6.2% 0;background:var(--paper)}.opening-label{display:flex;gap:10px;align-items:center;font-family:Arial,sans-serif;font-size:14px;font-weight:700;letter-spacing:.1em}.opening-label>span:last-child{margin-left:auto;font-size:14px;color:#8c8e82;font-weight:400}.tiny-marker{width:7px;height:7px;background:var(--orange)}.opening-body{display:grid;grid-template-columns:1.2fr 1fr;gap:45px;margin-top:28px;padding-bottom:43px}.opening h2{font-size:clamp(24px,2.6vw,40px);line-height:1.7;letter-spacing:-.04em;margin:0;font-weight:800}.opening-text{font-size:14px;line-height:2;align-self:center}.opening-text p{margin:0 0 13px}.role-line{display:flex;align-items:center;gap:25px;padding:28px 0;border-top:1px solid var(--line);scroll-margin-top:30px}.role-line>span{font-family:Arial,sans-serif;font-size:14px;letter-spacing:.1em;color:#7d8175}.role-line h3{font-size:14px;margin:0}.role-line p{font-size:14px;margin:0 0 0 auto;color:#666b5e}.scope-note{background:#e9e8e1;color:#797c72;font-size:14px;line-height:1.8;padding:18px 6.2%;text-align:center}.hero-copy .eyebrow,h1,.hero-description,.hero-cta{animation:copy-arrive .85s ease both}h1{animation-delay:.08s}.hero-description{animation-delay:.16s}.hero-cta{animation-delay:.24s}@keyframes photo-arrive{from{opacity:.3;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes copy-arrive{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(min-width:1700px){.hero-copy{left:8%}.hero-bottom{left:8%}.hero-visual{left:35%}}
@media(max-width:1100px){.site-header{height:76px;padding:0 5%}.brand img{width:218px}.header-nav{gap:22px}.hero{height:clamp(610px,calc(100svh - 178px),800px)}h1{font-size:max(14px,7.1vw)}.hero-copy{left:6%}.hero-visual{left:26%}.hero-shade{background:linear-gradient(90deg,#141612 0%,#141612 14%,rgba(20,22,18,.88) 28%,rgba(20,22,18,.38) 55%,rgba(20,22,18,.08) 80%),linear-gradient(0deg,rgba(9,12,9,.9),transparent 60%)}.scene-caption{bottom:95px}.facts{padding:20px 5%;grid-template-columns:.9fr 1fr 1.1fr 1.2fr}.facts>p{padding:0 10%}.facts-link{padding-left:10%}.facts-link>span{font-size:14px}.fact-value strong{font-size:28px}}
@media(max-width:760px){.site-header{height:72px;padding:0 22px}.brand{gap:12px}.brand img{width:194px}.brand-label{font-size:14px;padding-left:12px}.header-nav{gap:0}.mission-link{display:none}.recruit-link{padding:12px 13px;font-size:14px;gap:14px}.hero{height:730px;max-height:none;min-height:0}.hero-visual{left:12%;top:0;bottom:0}.hero-poster,.hero-video{object-position:26% 38%}.hero-copy{top:auto;bottom:110px;transform:none;left:7%;right:5%}h1{font-size:max(14px,9vw)}.headline-second{font-size:max(14px,1.25em)}.hero-shade{background:linear-gradient(0deg,#141612 0%,rgba(20,22,18,.94) 18%,rgba(20,22,18,.5) 57%,rgba(20,22,18,.05) 80%),linear-gradient(90deg,#141612aa,transparent 65%)}.scene-caption{display:none}.edge-label{left:13px;font-size:14px;top:28px}.scroll-cue{top:24px}.facts{grid-template-columns:1fr 1fr;gap:24px;padding:25px 7%;min-height:0}.facts-label{grid-column:1 / -1;flex-direction:row;align-items:center;gap:15px}.facts>p{padding:0;border:0}.facts>p:nth-of-type(2){border-left:1px solid var(--line);padding-left:20px}.facts-link{grid-column:1 / -1;border:0;border-top:1px solid var(--line);padding:15px 0 0;flex-direction:row;align-items:center}.facts-link>span{gap:25px}.opening{padding:44px 7% 0}.opening-body{grid-template-columns:1fr;gap:20px}.opening h2{font-size:29px}.role-line{flex-wrap:wrap;gap:13px}.role-line>span{width:100%}.role-line p{width:100%;margin:0}.scope-note{text-align:left;padding:18px 7%}}
@media(max-width:480px){.site-header{height:68px;padding:0 19px;gap:10px}.brand img{width:177px}.brand-label{display:none}.recruit-link{font-size:14px;padding:11px 12px;gap:13px}.recruit-link span{font-size:17px}.hero{height:clamp(670px,calc(100svh - 68px),800px)}.hero-visual{left:0;top:0;bottom:auto;height:69%}.hero-poster,.hero-video{object-position:20% 40%}.hero-shade{background:linear-gradient(0deg,#141612 0%,#141612 20%,rgba(20,22,18,.93) 32%,rgba(20,22,18,.38) 59%,rgba(20,22,18,0) 78%),linear-gradient(90deg,rgba(20,22,18,.24),transparent 75%)}.hero-copy{left:23px;right:15px;bottom:81px}.eyebrow{font-size:14px;letter-spacing:.05em;margin-bottom:18px;gap:9px}.eyebrow-rule{width:22px}h1{font-size:max(14px,10.3vw);letter-spacing:-.07em;line-height:1.3}.headline-second{font-size:max(14px,1.31em);margin-top:2px;letter-spacing:-.065em}.hero-description{font-size:16px;line-height:1.95;letter-spacing:.025em;margin:22px 0 22px}.hero-cta{font-size:14px;gap:35px}.cta-arrow{width:39px;height:39px;font-size:21px}.hero-bottom{left:23px;right:23px;bottom:21px;padding-top:15px;font-size:14px;letter-spacing:.08em}.edge-label{top:22px;left:12px;font-size:14px;color:#fff;opacity:.8}.scroll-cue{top:20px;right:20px;gap:10px}.scroll-cue span:first-child{font-size:14px}.scroll-cue span:last-child{font-size:16px}.facts{padding:23px;gap:22px}.fact-label{font-size:14px}.fact-value strong{font-size:29px}.facts-label>span{font-size:14px}.facts-label small{font-size:14px}.facts-link{font-size:14px}.facts-link>span{font-size:14px;gap:18px}.opening{padding:39px 23px 0}.opening-label{font-size:14px}.opening-label>span:last-child{font-size:14px}.opening h2{font-size:25px}.opening-text{font-size:14px}.opening-body{padding-bottom:24px}.scope-note{font-size:14px;padding:17px 23px}}
@media(max-width:350px){.brand img{width:153px}.recruit-link{padding:10px;gap:8px}.hero-copy{left:20px}.hero-description{font-size:16px}.hero{height:650px}.facts-link{font-size:14px}.facts-link>span{font-size:14px}}
/* Kobayashi: keep her face clear of the approved headline composition. */
.person-kobayashi .hero-visual{left:44%}
.person-kobayashi .hero-poster,.person-kobayashi .hero-video{object-position:32% 62%}
.person-kobayashi .hero-poster{filter:saturate(.83) contrast(1.03)}
@media(max-width:1100px) and (min-width:761px){.person-kobayashi .hero-visual{left:43%}.person-kobayashi .hero-poster,.person-kobayashi .hero-video{object-position:31% 60%}}
@media(max-width:760px){.person-kobayashi .hero{height:780px}.person-kobayashi .hero-visual{left:0;bottom:auto;height:59%}.person-kobayashi .hero-poster,.person-kobayashi .hero-video{object-position:28% 75%}.person-kobayashi h1{font-size:clamp(40px,8vw,57px)}}
@media(max-width:480px){.person-kobayashi .hero{height:clamp(670px,calc(100svh - 68px),800px)}.person-kobayashi .hero-visual{height:66%}.person-kobayashi .hero-poster,.person-kobayashi .hero-video{object-position:28% 65%}.person-kobayashi h1{font-size:max(14px,10.3vw)}}
@media(max-width:350px){.person-kobayashi .hero{height:650px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* sections.css */
.section-gutter {
  padding-left:6.2%;
  padding-right:6.2%
}
.section-caption {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:14px;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.8;
  margin:0 0 32px
}
.section-caption::before {
  content:"";
  width:23px;
  height:2px;
  background:var(--orange);
  flex:0 0 auto
}
section[id],article[id] {
  scroll-margin-top:0
}
.work-story {
  background:#f7f6f2
}
.work-heading {
  position:relative;
  isolation:isolate;
  padding-top:85px;
  padding-bottom:80px;
  min-height:740px;
  color:#fff;
  background:#141612;
  overflow:hidden
}
.work-backdrop {
  position:absolute;
  inset:0;
  z-index:-3;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:55% 45%;
  filter:saturate(.7)
}
.work-heading::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(90deg,#0b110ded 0%,#0b110db5 45%,#0b110d42 100%),linear-gradient(0deg,#0b110dd6,transparent 80%)
}
.work-heading h2 {
  font-size:clamp(50px,8vw,125px);
  font-weight:900;
  line-height:1.28;
  letter-spacing:-.065em;
  margin:0;
  -webkit-text-stroke:.012em currentColor
}
.work-heading h2>span {
  display:block
}
.work-heading h2>.work-title-intro {
  font-size:max(14px,.6em);
  line-height:1.6;
  letter-spacing:-.04em
}
.work-heading h2>strong {
  display:block;
  font-size:max(14px,1.25em);
  color:#ff791b;
  font-weight:900
}
.work-lead {
  margin:34px 0 0 53%;
  max-width:650px;
  font-size:16px;
  line-height:2.2;
  letter-spacing:.025em
}
.work-lead p {
  margin:0 0 17px
}
.work-lead p:first-child {
  font-size:32px;
  font-weight:700;
  line-height:1.9
}
.work-process {
  display:grid;
  grid-template-columns:43% 49%;
  gap:8%;
  align-items:start;
  padding-top:105px
}
.work-process-intro {
  position:sticky;
  top:126px
}
.work-process h3 {
  font-size:clamp(25px,2.9vw,42px);
  line-height:1.6;
  font-weight:900;
  letter-spacing:-.055em;
  margin:0
}
.work-process h3>span {
  font-size:max(14px,1.45em);
  line-height:1.4;
  display:inline-block;
  -webkit-text-stroke:.012em currentColor
}
.process-intro-copy {
  font-size:16px;
  line-height:2.15;
  margin:25px 0 30px;
  color:#50584b
}
.team-inset {
  margin:0;
  max-width:440px
}
.team-inset img {
  width:100%;
  height:auto;
  display:block;
  aspect-ratio:1.7;
  object-fit:cover
}
.team-inset figcaption {
  font-size:14px;
  line-height:1.8;
  margin-top:12px;
  color:#62675c
}
.work-steps {
  list-style:none;
  margin:0;
  padding:0;
  border-top:2px solid #141612
}
.work-steps li {
  display:grid;
  grid-template-columns:43px 1fr;
  gap:24px;
  padding:34px 0 38px;
  border-bottom:1px solid #bfc2b7
}
.step-number {
  color:#b34900;
  font:700 34px/1.4 Arial,sans-serif;
  letter-spacing:-.06em
}
.work-steps h4 {
  font-size:clamp(20px,2.2vw,32px);
  font-weight:800;
  line-height:1.6;
  letter-spacing:-.04em;
  margin:0 0 18px
}
.work-steps p {
  font-size:16px;
  line-height:2.15;
  letter-spacing:.02em;
  color:#50584b;
  margin:0
}
.mission-signature {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:25px;
  padding-top:75px;
  padding-bottom:75px;
  margin:0
}
.mission-signature>span {
  font-size:14px;
  color:#666c60;
  letter-spacing:.05em
}
.mission-signature strong {
  font-size:clamp(19px,2.8vw,41px);
  font-weight:800;
  letter-spacing:-.04em;
  line-height:1.6
}
.people-section {
  padding:105px 0 80px;
  background:#fff;
  overflow:clip
}
.people-heading {
  margin-bottom:55px
}
.people-heading>div {
  position:relative
}
.people-heading h2 {
  font-size:clamp(48px,7.3vw,112px);
  line-height:1.38;
  font-weight:900;
  letter-spacing:-.07em;
  margin:0;
  -webkit-text-stroke:.012em currentColor
}
.people-heading h2 em {
  font-style:normal;
  color:#b14900
}
.people-heading>p {
  font-size:16px;
  line-height:2.1;
  color:#5e6358;
  margin:28px 0 0 62%
}
.people-navigation[hidden],.people-pager[hidden],.person-story[hidden] {
  display:none
}
.people-tabs {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border:3px solid #20231e;
  margin-bottom:45px
}
.people-tabs button {
  font:inherit;
  color:#20231e;
  background:#fff;
  border:0;
  border-radius:0;
  border-right:2px solid #20231e;
  text-align:left;
  padding:19px 18px 21px;
  min-width:0;
  position:relative;
  cursor:pointer
}
.people-tabs button:last-child {
  border-right:0
}
.people-tabs button::after {
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:6px;
  background:var(--orange);
  transition:width .2s
}
.people-tabs button[aria-selected=true]::after {
  width:100%
}
.people-tabs button[aria-selected=true] {
  background:#20231e;
  color:#fff
}
.people-tabs button[aria-selected=false]:hover {
  background:#f2f0e9
}
.people-tabs button:focus-visible {
  outline:3px solid var(--orange);
  outline-offset:-7px;
  z-index:1
}
.tab-index {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px
}
.tab-number {
  font:700 24px/1 Arial,sans-serif;
  letter-spacing:.08em
}
.tab-arrow {
  font:26px/1 Arial,sans-serif
}
.people-tabs strong {
  display:block;
  font-size:clamp(30px,3.3vw,47px);
  font-weight:900;
  letter-spacing:.035em;
  line-height:1.3
}
.tab-theme {
  font-size:14px;
  font-weight:700;
  line-height:1.7;
  display:block;
  min-height:3.4em;
  margin-top:12px;
  overflow-wrap:anywhere
}
.people-switcher,.people-swipe-hint {
  display:none
}
.person-spread {
  display:grid;
  grid-template-columns:64% 36%;
  align-items:center
}
.person-photo {
  margin:0;
  min-width:0
}
.person-photo img {
  width:100%;
  height:clamp(470px,46vw,720px);
  object-fit:cover;
  display:block;
  filter:saturate(.9)
}
.person-photo figcaption {
  font-size:14px;
  color:#63695c;
  margin-top:12px;
  letter-spacing:.08em
}
.person-copy {
  position:relative;
  z-index:1;
  margin-left:-65%;
  padding:0 0 30px;
  min-width:0
}
.person-topic {
  font-size:24px;
  font-weight: 800;
  letter-spacing:.05em;
  margin:0 0 20px 16px;
  color:#fff;
  display:table;
  background:#141612;
  padding:7px 12px
}
.person-topic>span {
  font:22px Arial,sans-serif;
  margin-right:10px
}
.person-copy h3 {
  margin:0;
  font-size:clamp(39px,4.9vw,77px);
  line-height:1.5;
  letter-spacing:-.065em;
  font-weight:900;
  -webkit-text-stroke:.012em currentColor
}
.person-copy h3>span {
  display:table;
  white-space:nowrap;
  background:#fff;
  padding:0 15px;
  margin-bottom:5px
}
.person-copy h3>.accent-line {
  color:#ae4700
}
.person-identity {
  display:flex;
  align-items:center;
  gap:22px;
  margin:26px 0 0 41%;
  padding-top:14px;
  background:#fff
}
.person-identity>strong {
  font-size:26px;
  font-weight:800;
  letter-spacing:.08em;
  white-space:nowrap
}
.person-identity p {
  font-size:14px;
  line-height:1.9;
  color:#5e6556;
  margin:0;
  padding-left:17px;
  border-left:1px solid #bfc2b7
}
.person-deck {
  font-size:14px;
  line-height:2.1;
  margin:23px 0 0 41%;
  color:#454d3d
}
.person-achievement {
  font-weight:700;
  letter-spacing:.02em;
  margin:22px 0 0 41%;
  border-top:3px solid #20231e;
  padding:17px 0 0;
  background:#fff
}
.person-achievement small {
  display:block;
  font-size:14px;
  line-height:1.5;
  margin-bottom:6px;
  color:#5e6556
}
.person-achievement>strong {
  display:block;
  font-size:clamp(28px,2.8vw,42px);
  font-weight:900;
  line-height:1.35;
  color:#a74400
}
.person-achievement strong>span {
  font-size:16px;
  font-weight:800;
  margin-left:12px;
  color:#20231e;
  white-space:nowrap
}
.interview-detail {
  margin-top:25px
}
.interview-detail>summary {
  cursor:pointer;
  list-style:none;
  border-top:1px solid #b7bdae;
  border-bottom:1px solid #b7bdae;
  padding:25px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  font-size:30px;
  font-weight:700
}
.interview-detail>summary::-webkit-details-marker {
  display:none
}
.interview-detail summary small {
  font:14px Arial,sans-serif;
  letter-spacing:.14em;
  color:#616a55;
  margin-right:28px
}
.detail-icon {
  font-size:28px;
  line-height:1;
  font-weight:400;
  color:#b14900;
  transition:transform .2s
}
.interview-detail[open] .detail-icon {
  transform:rotate(45deg)
}
.interview-detail>summary:focus-visible {
  outline:3px solid var(--orange);
  outline-offset:4px
}
.interview-answers {
  padding:16px 0 8px
}
.interview-answers>section {
  display:grid;
  grid-template-columns:31% 1fr;
  gap:8%;
  padding:35px 3% 35px 0;
  border-bottom:1px solid #c5c8bb
}
.interview-answers h4 {
  font-size:22px;
  font-weight:800;
  line-height:1.8;
  margin:0;
  letter-spacing:-.03em
}
.interview-answers p {
  font-size:16px;
  line-height:2.2;
  margin:0;
  color:#454d3d
}
.people-pager {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:25px
}
.people-pager p {
  font-size:20px;
  font-weight:700;
  letter-spacing:.1em;
  margin:0;
  color:#20231e
}
.people-pager>div {
  display:flex;
  gap:10px
}
.people-pager button {
  width:56px;
  height:56px;
  border:3px solid #20231e;
  border-radius:0;
  background:transparent;
  font:700 28px Arial,sans-serif;
  color:#20231e;
  cursor:pointer
}
.people-pager button:hover {
  background:#141612;
  color:#fff
}
.person-story+.person-story {
  margin-top:60px
}
.people-section.is-enhanced .person-story {
  margin-top:0
}
.recruit-summary {
  background:#f1f0eb;
  padding-top:100px;
  padding-bottom:95px;
  display:grid;
  grid-template-columns:29% 64%;
  gap:7%;
  align-items:start
}
.recruit-heading {
  position:sticky;
  top:126px
}
.recruit-word {
  font:800 clamp(36px,4.6vw,70px)/1 Arial,sans-serif;
  letter-spacing:-.055em;
  margin:0 0 30px
}
.recruit-heading h2 {
  font-size:clamp(22px,2.4vw,35px);
  line-height:1.7;
  letter-spacing:-.05em;
  margin:0
}
.recruit-heading>p:last-child {
  font-size:16px;
  line-height:2;
  margin:25px 0 0;
  color:#626958
}
.recruit-group+.recruit-group {
  margin-top:50px
}
.recruit-group h3 {
  font-size:21px;
  font-weight:800;
  line-height:1.7;
  letter-spacing:-.035em;
  border-bottom:2px solid #141612;
  padding-bottom:18px;
  margin:0
}
.recruit-group dl {
  margin:0
}
.recruit-group dl>div {
  display:grid;
  grid-template-columns:24% 1fr;
  gap:20px;
  padding:22px 0;
  border-bottom:1px solid #cbcfc2;
  font-size:16px;
  line-height:2
}
.recruit-group dt {
  font-weight:700;
  color:#454d3d
}
.recruit-group dd {
  margin:0
}
.condition-pending dd {
  color:#8a4300
}
.site-footer {
  background:#fff;
  border-top:1px solid #ddd;
  padding:35px 6.2%;
  display:flex;
  align-items:center;
  gap:35px
}
.site-footer img {
  width:220px;
  height:auto;
  display:block
}
.site-footer>a {
  font-size:14px;
  margin-left:auto
}
.site-footer small {
  font:14px Arial,sans-serif;
  color:#656e59
}
@media(min-width:1700px) {
  .section-gutter {
    padding-left:9%;
    padding-right:9%
  }
  .person-copy h3 {
    font-size:77px
  }
}
@media(max-width:1100px) {
  .work-heading {
    min-height:660px;
    padding-top:70px;
    padding-bottom:55px
  }
  .work-lead {
    margin-left:44%;
    font-size:16px
  }
  .work-lead p:first-child {
    font-size:18px
  }
  .work-process {
    grid-template-columns:40% 53%;
    gap:7%
  }
  .work-steps li {
    grid-template-columns:32px 1fr;
    gap:20px
  }
  .work-steps p {
    font-size:16px
  }
  .step-number {
    font-size:27px
  }
  .work-process h3 {
    font-size:max(14px,2.9vw)
  }
  .person-copy h3 {
    font-size:max(14px,4.9vw)
  }
  .person-identity {
    gap:14px;
    margin-left:41%
  }
  .person-identity>strong {
    font-size:22px
  }
  .person-identity p {
    font-size:14px;
    padding-left:13px
  }
  .person-deck {
    font-size:14px
  }
  .people-tabs strong {
    font-size:23px
  }
  .people-tabs button {
    padding-left:17px
  }
  .tab-theme {
    font-size:14px
  }
  .recruit-summary {
    grid-template-columns:28% 65%;
    gap:7%
  }
  .recruit-word {
    font-size:max(14px,4.6vw)
  }
  .recruit-group dl>div {
    font-size:16px;
    gap:17px
  }
}
@media(max-width:760px) {
  .section-gutter {
    padding-left:7%;
    padding-right:7%
  }
  .section-caption {
    font-size:14px;
    margin-bottom:26px
  }
  .work-heading {
    padding-top:58px;
    padding-bottom:48px;
    min-height:690px
  }
  .work-backdrop {
    object-position:42% center
  }
  .work-heading::before {
    background:linear-gradient(90deg,#0b110dcf,#0b110d66),linear-gradient(0deg,#0b110deb,transparent 90%)
  }
  .work-heading h2 {
    font-size:max(14px,11.8vw)
  }
  .work-heading h2>.work-title-intro {
    font-size:max(14px,.55em)
  }
  .work-lead {
    margin:33px 0 0 20%;
    font-size:16px
  }
  .work-lead p:first-child {
    font-size:17px
  }
  .desktop-break {
    display:none
  }
  .work-process {
    display:block;
    padding-top:65px
  }
  .work-process-intro {
    position:static;
    display:grid;
    grid-template-columns:1fr 38%;
    column-gap:7%
  }
  .work-process-intro>.section-caption {
    grid-column:1/-1
  }
  .work-process h3 {
    font-size:27px
  }
  .process-intro-copy {
    grid-column:1;
    font-size:16px;
    margin-bottom:0
  }
  .team-inset {
    grid-column:2;
    grid-row:2/4;
    align-self:end
  }
  .team-inset img {
    aspect-ratio:.8;
    object-position:40% center
  }
  .team-inset figcaption {
    font-size:14px
  }
  .work-steps {
    margin-top:42px
  }
  .work-steps li {
    grid-template-columns:34px 1fr;
    padding:27px 0;
    gap:20px
  }
  .work-steps h4 {
    font-size:25px
  }
  .work-steps p {
    font-size:16px
  }
  .mission-signature {
    display:block;
    padding-top:45px;
    padding-bottom:50px
  }
  .mission-signature>span {
    display:block;
    font-size:14px;
    margin-bottom:13px
  }
  .mission-signature strong {
    font-size:22px
  }
  .people-section {
    padding-top:65px;
    padding-bottom:55px
  }
  .people-heading {
    margin-bottom:30px
  }
  .people-heading h2 {
    font-size:max(14px,7.9vw)
  }
  .people-heading>p {
    font-size:16px;
    line-height:2;
    margin:23px 0 0 22%
  }
  .person-spread {
    display:flex;
    flex-direction:column;
    align-items:stretch
  }
  .person-photo img {
    height:clamp(340px,77vw,540px)
  }
  .person-photo figcaption {
    margin-top:10px;
    font-size:14px
  }
  .person-copy {
    margin:-65px 0 0 10%;
    padding:0
  }
  .person-topic {
    margin:0 0 13px;
    font-size:14px;
    padding:5px 10px
  }
  .person-copy h3 {
    font-size:clamp(29px,6.6vw,48px);
    line-height:1.5
  }
  .person-copy h3>span {
    padding:0 10px;
    margin-bottom:4px
  }
  .person-identity {
    margin:23px 0 0;
    gap:20px;
    padding-top:0
  }
  .person-identity>strong {
    font-size:24px
  }
  .person-identity p {
    font-size:14px
  }
  .person-deck {
    margin:20px 0 0;
    font-size:14px;
    display:block
  }
  .person-achievement {
    margin:22px 0 0
  }
  .interview-detail {
    margin-top:28px
  }
  .interview-detail>summary {
    font-size:14px;
    padding:21px 0
  }
  .interview-detail summary small {
    font-size:14px;
    margin-right:18px
  }
  .interview-answers>section {
    display:block;
    padding:28px 0
  }
  .interview-answers h4 {
    font-size:20px;
    margin-bottom:17px
  }
  .interview-answers p {
    font-size:16px;
    line-height:2.15
  }
  .people-pager button {
    width:52px;
    height:52px;
    font-size:26px
  }
  .recruit-summary {
    display:block;
    padding-top:65px;
    padding-bottom:65px
  }
  .recruit-heading {
    position:static
  }
  .recruit-word {
    font-size:62px;
    margin-bottom:20px
  }
  .recruit-heading h2 {
    font-size:29px
  }
  .recruit-heading>p:last-child {
    font-size:16px;
    margin-top:18px
  }
  .recruit-details {
    margin-top:40px
  }
  .recruit-group h3 {
    font-size:20px
  }
  .recruit-group dl>div {
    font-size:16px;
    grid-template-columns:24% 1fr;
    gap:18px;
    padding:20px 0
  }
  .site-footer {
    padding:30px 7%;
    flex-wrap:wrap;
    gap:25px
  }
  .site-footer img {
    width:183px
  }
  .site-footer small {
    width:100%;
    font-size:14px
  }
  .site-footer>a {
    font-size:14px
  }
}
@media(max-width:480px) {
  .section-gutter {
    padding-left:24px;
    padding-right:24px
  }
  .section-caption {
    font-size:14px
  }
  .work-heading {
    min-height:650px;
    padding-top:49px;
    padding-bottom:40px
  }
  .work-heading h2 {
    font-size:max(14px,12vw)
  }
  .work-heading h2>strong {
    font-size:max(14px,1.4em)
  }
  .work-lead {
    margin-left:10%;
    font-size:16px;
    line-height:2.15
  }
  .work-lead p:first-child {
    font-size:16px
  }
  .work-process-intro {
    display:block
  }
  .work-process h3 {
    font-size:24px
  }
  .work-process h3>span {
    font-size:max(14px,1.6em)
  }
  .process-intro-copy {
    font-size:16px;
    margin-top:24px
  }
  .team-inset {
    width:76%;
    margin:30px 0 0 auto
  }
  .team-inset img {
    aspect-ratio:1.5
  }
  .work-steps h4 {
    font-size:21px
  }
  .work-steps p {
    font-size:16px
  }
  .work-steps li {
    gap:13px;
    grid-template-columns:28px 1fr
  }
  .step-number {
    font-size:26px
  }
  .mission-signature strong {
    font-size:22px
  }
  .people-heading h2 {
    font-size:max(14px,8.2vw);
    line-height:1.5
  }
  .people-heading>p {
    font-size:16px;
    margin-left:11%
  }
  .person-photo img {
    height:clamp(285px,85vw,410px)
  }
  .person-copy {
    margin:15px 0 0 3%
  }
  .person-copy h3 {
    font-size:clamp(24px,7.55vw,36px)
  }
  .person-copy h3>span {
    padding:0 7px
  }
  .person-topic {
    font-size:14px
  }
  .person-identity>strong {
    font-size:22px
  }
  .person-identity p {
    font-size:14px
  }
  .person-deck {
    font-size:14px
  }
  .person-photo figcaption {
    font-size:14px
  }
  .interview-detail>summary {
    font-size:14px
  }
  .interview-detail summary small {
    font-size:14px;
    margin-right:12px
  }
  .interview-answers h4 {
    font-size:18px
  }
  .interview-answers p {
    font-size:16px
  }
  .people-pager p {
    font-size:14px
  }
  .recruit-word {
    font-size:54px
  }
  .recruit-group dl>div {
    grid-template-columns:1fr;
    gap:6px;
    font-size:16px;
    padding:18px 0
  }
  .recruit-group dt {
    font-size:14px;
    color:#616959
  }
  .recruit-group+.recruit-group {
    margin-top:38px
  }
}
@media(max-width:1100px) {
  .people-tabs {
    grid-template-columns:repeat(5,minmax(0,1fr));
    margin-bottom:18px
  }
  .people-tabs strong {
    font-size:30px
  }
  .people-switcher:not([hidden]) {
    display:grid;
    grid-template-columns:48px minmax(0,1fr) 48px;
    gap:12px;
    align-items:center;
    margin:0
  }
  .people-switcher button {
    width:48px;
    height:48px;
    border:2px solid #20231e;
    border-radius:0;
    background:#fff;
    color:#20231e;
    font:700 25px/1 Arial,sans-serif;
    cursor:pointer
  }
  .people-switcher button:hover {
    background:#20231e;
    color:#fff
  }
  .people-switcher p {
    text-align:center;
    line-height:1.6;
    margin:0;
    color:#20231e
  }
  .people-switcher p>span {
    display:block;
    font-size:14px;
    font-weight:700;
    letter-spacing:.06em
  }
  .people-switcher strong {
    display:block;
    font-size:15px;
    font-weight:800
  }
  .people-swipe-hint:not([hidden]) {
    display:block;
    margin:14px 0 20px;
    text-align:center;
    font-size:14px;
    line-height:1.7;
    color:#53594d
  }
  .people-swipe-hint>span {
    font:20px/1 Arial,sans-serif;
    vertical-align:-1px;
    margin-right:3px
  }
}
@media(max-width:760px) {
  .people-tabs { border-width:2px; }
  .people-tabs button { padding:11px 2px 14px; text-align:center; min-height:66px; }
  .people-tabs strong { font-size:clamp(17px,5.3vw,24px); letter-spacing:0; white-space:nowrap; }
  .people-tabs .tab-index { justify-content:center; margin-bottom:7px; }
  .people-tabs .tab-number { font-size:14px; }
  .people-tabs .tab-arrow { display:none; }
  /* The selected theme stays readable beneath the name strip. */
  .people-tabs .tab-theme { position:absolute; width:1px; height:1px; min-height:0; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .people-tabs button::after { height:4px; }
  .people-tabs button:focus-visible { outline-offset:-4px; }
}
@media(prefers-reduced-motion:reduce) {
  .people-tabs button::after,.detail-icon {
    transition:none
  }
}

/* introduction.css */
/* Opening: real photography, large Japanese type, continuous reading. */
.entry-strip {
  display:grid;
  grid-template-columns:25% 1fr;
  gap:5%;
  align-items:center;
  padding-top:35px;
  padding-bottom:31px;
  background:#fff;
  border-bottom:1px solid #deded7
}
.entry-heading>p {
  font-size:14px;
  margin:0 0 9px
}
.entry-heading h2 {
  font:800 clamp(32px,4vw,58px)/1 Arial,sans-serif;
  letter-spacing:-.055em;
  margin:0
}
.entry-heading h2>span {
  display:block;
  font:14px/1.5 "Hiragino Sans",sans-serif;
  letter-spacing:.1em;
  margin-top:12px
}
.entry-options {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 18px
}
.entry-option {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:17px;
  border:0;
  border-radius:80px;
  min-height:78px;
  padding:17px 28px;
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:transform .2s,background .2s
}
.entry-option small {
  display:block;
  font-size:14px;
  font-weight:500;
  line-height:1.7;
  margin-bottom:2px;
  letter-spacing:.06em
}
.entry-option strong {
  display:block;
  font-size:clamp(14px,1.1vw,17px);
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1.6
}
.entry-option--direct {
  background:#141612;
  color:#fff
}
.entry-option--direct:hover {
  background:#33392f;
  transform:translateY(-2px)
}
.entry-option--line {
  background:#06c755;
  color:#082c17
}
.entry-option--line:hover {
  background:#22dc6d;
  transform:translateY(-2px)
}
.entry-arrow {
  font:28px Arial,sans-serif;
  flex:0 0 auto
}
.entry-option--doda {
  grid-column:1/-1;
  justify-self:end;
  display:flex;
  min-height:0;
  padding:0;
  border-radius:0;
  background:none;
  gap:20px;
  color:#6b6d66;
  font-size:14px
}
.entry-option--doda>span:first-child {
  display:flex;
  align-items:center;
  gap:15px
}
.entry-option--doda strong {
  font-size:14px;
  font-weight:600
}
.entry-option--doda small {
  font-size:14px;
  border:1px solid #c4c6be;
  padding:3px 8px;
  margin:0;
  letter-spacing:0
}
.entry-option--doda:disabled {
  cursor:not-allowed;
  opacity:1;
  color:#6b6d66;
  -webkit-text-fill-color:currentColor
}
.entry-option--doda:not(:disabled):hover {
  text-decoration:underline
}
.entry-option--doda .entry-arrow {
  font-size:18px
}
.entry-window-note {
  font-size:14px;
  color:#6a6c65;
  margin:8px 0 0;
  line-height:1.8
}
.recruit-message {
  background:#fff;
  padding:110px 0 105px;
  overflow:clip
}
.message-heading .section-caption {
  margin-bottom:43px
}
.message-heading h2 {
  font-size:clamp(44px,7.25vw,118px);
  font-weight:900;
  line-height:1.28;
  letter-spacing:-.075em;
  margin:0;
  -webkit-text-stroke:.012em currentColor
}
.message-heading h2>span {
  display:block;
  white-space:nowrap
}
.message-heading h2>span:first-child {
  margin-left:-.5em
}
.message-heading h2>span:last-child {
  font-size:max(14px,1.2em);
  color:#dc5900;
  margin:8px 0 0 18%
}
.message-heading strong {
  font-family:Arial,sans-serif;
  font-size:max(14px,1.5em);
  font-weight:900;
  letter-spacing:-.08em;
  margin-right:.02em
}
.message-spread {
  display:grid;
  grid-template-columns:52% 37%;
  gap:6%;
  margin-top:75px;
  align-items:start
}
.message-photos {
  position:relative;
  padding-bottom:80px
}
.message-photos figure {
  margin:0
}
.message-photos figure:first-child {
  width:92%
}
.message-photos img {
  display:block;
  width:100%;
  height:auto;
  object-fit:cover
}
.message-photos figure:first-child img {
  aspect-ratio:1.55;
  object-position:50% 50%
}
.message-photos figcaption {
  font-size:14px;
  letter-spacing:.05em;
  margin:15px 0 0 12%
}
.message-photos figure:nth-child(2) {
  width:51%;
  margin:70px 0 0 37%
}
.message-photos figure:nth-child(2) img {
  aspect-ratio:.92;
  object-position:35% center
}
.message-photos>p {
  position:absolute;
  left:12%;
  bottom:14%;
  writing-mode:vertical-rl;
  font-size:23px;
  font-weight:800;
  line-height:1.8;
  letter-spacing:.12em
}
.message-body {
  font-size:15px;
  line-height:2.35;
  letter-spacing:.02em;
  font-weight:500;
  padding-top:23px
}
.message-body>p {
  margin:0 0 28px
}
.message-body .message-closing {
  font-size:clamp(30px,3.05vw,48px);
  font-weight:900;
  line-height:1.5;
  letter-spacing:-.055em;
  padding-top:30px;
  border-top:2px solid #141612;
  margin:40px 0 0;
  -webkit-text-stroke:.01em currentColor
}
.growth-section {
  background:#141612;
  color:#fff;
  padding-top:105px;
  padding-bottom:94px;
  display:grid;
  grid-template-columns:43% 49%;
  column-gap:8%;
  align-items:start
}
.growth-heading {
  align-self:stretch
}
.growth-heading-inner {
  position:sticky;
  top:135px
}
.growth-heading h2 {
  font-size:clamp(38px,4.9vw,74px);
  font-weight:900;
  letter-spacing:-.06em;
  line-height:1.4;
  margin:0;
  -webkit-text-stroke:.012em currentColor
}
.growth-heading h2 em {
  font-style:normal;
  color:#ff791b
}
.growth-lead {
  font-size:16px;
  line-height:2.2;
  color:#c5c8bf;
  margin:33px 0 0
}
.growth-rows>article {
  display:grid;
  grid-template-columns:44px 1fr;
  gap:24px;
  padding:0 0 47px;
  margin-bottom:45px;
  border-bottom:1px solid #ffffff38
}
.growth-number {
  font:700 52px/1.3 Arial,sans-serif;
  color:#ff791b
}
.growth-tag {
  font-size:20px;
  letter-spacing:.06em;
  color:#cacdc4;
  margin:15px 0 18px
}
.growth-rows h3 {
  font-size:clamp(27px,3vw,44px);
  line-height:1.5;
  letter-spacing:-.05em;
  margin:0 0 23px;
  font-weight:800
}
.growth-rows h3+p {
  font-size:16px;
  line-height:2.2;
  color:#d4d7cc;
  margin:0
}
.growth-rows a {
  display:flex;
  align-items:center;
  gap:14px;
  font-size:24px;
  line-height:1.8;
  margin-top:25px;
  color:#fff
}
.growth-rows a span {
  margin-left:auto;
  font-size:22px;
  color:#ff791b
}
.growth-rows a:hover {
  color:#ff9145
}
.growth-support {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:28% 1fr auto;
  gap:5%;
  align-items:center;
  border-top:1px solid #ffffff38;
  padding-top:38px;
  margin-top:15px
}
.growth-support>p {
  font-size:27px;
  font-weight:800;
  line-height:1.6;
  letter-spacing:-.03em;
  margin:0
}
.growth-support ul {
  margin:0;
  padding-left:1em;
  font-size:14px;
  line-height:2.4;
  color:#d4d7cc
}
.growth-support>a {
  font-size:14px;
  line-height:1.8;
  border-bottom:1px solid #707568;
  padding-bottom:12px
}
.president-message {
  background:#eeeae2;
  padding-top:100px;
  padding-bottom:103px;
  overflow:clip
}
.president-label {
  display:flex;
  justify-content:space-between;
  align-items:center
}
.president-label .section-caption {
  margin-bottom:50px
}
.president-label>span {
  font:14px Arial,sans-serif;
  letter-spacing:.15em;
  align-self:start;
  padding-top:4px
}
.president-stage {
  display:grid;
  grid-template-columns:46% 54%;
  align-items:center;
  padding:0 6.2%;
  position:relative
}
.president-photo {
  margin:0;
  width:100%;
  max-width:549px
}
.president-photo>img {
  display:block;
  width:100%;
  height:auto
}
.president-photo figcaption {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:25px;
  padding-top:22px;
  border-top:1px solid #b9b5aa
}
.president-photo figcaption>span {
  font-size:14px;
  line-height:1.9
}
.president-photo figcaption>strong {
  font-size:30px;
  font-weight:700;
  letter-spacing:.07em;
  white-space:nowrap
}
.president-heading {
  position:relative;
  z-index:1;
  margin-left:-11%;
  padding-bottom:75px
}
.president-heading h2 {
  font-size:clamp(32px,4.7vw,75px);
  line-height:1.65;
  letter-spacing:-.07em;
  margin:0;
  font-weight:900;
  -webkit-text-stroke:.012em currentColor
}
.president-heading h2>span {
  display:table;
  white-space:nowrap;
  background:#f7f6f2;
  box-shadow:12px 0 0 #f7f6f2,-12px 0 0 #f7f6f2;
  margin-bottom:4px
}
.president-heading em {
  color:#b74b00;
  font-style:normal
}
.president-heading>p {
  font:700 clamp(18px,2.1vw,32px)/1.2 Arial,sans-serif;
  letter-spacing:.1em;
  margin:35px 0 0 12px;
  color:#585a50
}
.president-letter {
  display:grid;
  grid-template-columns:33% 55%;
  gap:12%;
  margin-top:70px
}
.president-side {
  padding-top:17px;
  border-top:2px solid #141612
}
.president-side>p {
  font-size:34px;
  font-weight:800;
  line-height:1.9;
  letter-spacing:-.025em;
  margin:0 0 35px
}
.president-side>span {
  font:14px Arial,sans-serif;
  letter-spacing:.13em
}
.president-body {
  font-size:16px;
  line-height:2.3;
  letter-spacing:.02em
}
.president-body p {
  margin:0 0 28px
}
.president-body .president-closing {
  font-weight:800;
  margin: 20px 0 20px;
  padding-top:30px;
  border-top:1px solid #b9b5aa;
  font-size:20px;
  line-height:2.15
}
.closing-entry {
  position:relative;
  isolation:isolate;
  background:#141612;
  color:#fff;
  overflow:hidden
}
.closing-photo {
  position:absolute;
  inset:0;
  z-index:-3;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 40%
}
.closing-entry::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(90deg,#11150fe8,#11150f4d),linear-gradient(0deg,#11150f,transparent 80%)
}
.closing-content {
  padding-top:90px;
  padding-bottom:55px
}
.closing-content h2 {
  font-size:clamp(62px,10vw,155px);
  font-weight:900;
  line-height:1.25;
  letter-spacing:-.065em;
  margin:28px 0 55px;
  -webkit-text-stroke:.012em currentColor
}
.closing-content .entry-options {
  max-width:950px
}
.closing-content .entry-option--direct {
  background:#fff;
  color:#141612
}
.closing-content .entry-option--direct:hover {
  background:#eb6100
}
.closing-content .entry-option--doda {
  color:#d5d8cf
}
.closing-content .entry-option--doda small {
  border-color:#70776c
}
.closing-content .entry-window-note {
  color:#ced2c6
}
@media(min-width:1700px) {
  .message-spread {
    grid-template-columns:51% 34%;
    gap:6%
  }
  .president-stage {
    padding:0 9%;
    grid-template-columns:43% 57%
  }
  .president-heading {
    margin-left:-5%
  }
  .president-letter {
    grid-template-columns:33% 55%
  }
}
@media(max-width:1100px) {
  .entry-strip {
    grid-template-columns:20% 1fr;
    gap:4%
  }
  .entry-option {
    padding:16px 22px;
    min-height:75px
  }
  .entry-option strong {
    font-size:14px
  }
  .entry-option--doda {
    padding:0;
    min-height:0
  }
  .message-body {
    font-size:14px
  }
  .message-heading h2 {
    font-size:max(14px,7.25vw)
  }
  .message-spread {
    grid-template-columns:49% 42%;
    gap:5%
  }
  .message-photos>p {
    font-size:21px
  }
  .growth-section {
    grid-template-columns:42% 51%;
    gap:7%
  }
  .growth-heading h2 {
    font-size:max(14px,4.9vw)
  }
  .growth-rows>article {
    grid-template-columns:32px 1fr;
    gap:18px
  }
  .growth-number {
    font-size:26px
  }
  .growth-rows h3 {
    font-size:max(14px,3.2vw)
  }
  .growth-support {
    grid-template-columns:32% 1fr;
    gap:24px
  }
  .growth-support>a {
    grid-column:2;
    justify-self:start
  }
  .president-heading h2 {
    font-size:max(14px,4.65vw)
  }
  .president-body {
    font-size:16px
  }
  .president-side>p {
    font-size:21px
  }
  .president-photo figcaption>strong {
    font-size:25px
  }
  .president-letter {
    grid-template-columns:31% 58%;
    gap:11%
  }
}
@media(max-width:760px) {
  .entry-strip {
    grid-template-columns:1fr;
    gap:20px;
    padding-top:28px;
    padding-bottom:25px
  }
  .entry-heading {
    display:flex;
    align-items:center;
    justify-content:space-between
  }
  .entry-heading h2 {
    font-size:36px
  }
  .entry-heading h2>span {
    display:none
  }
  .entry-heading>p {
    margin:0;
    font-size:14px
  }
  .entry-options {
    gap:12px
  }
  .entry-option {
    min-height:76px;
    padding:15px 22px
  }
  .entry-option strong {
    font-size:14px
  }
  .entry-option small {
    font-size:14px
  }
  .entry-option--doda {
    padding:0;
    min-height:0;
    margin-top:4px
  }
  .entry-option--doda strong {
    font-size:14px
  }
  .entry-option--doda small {
    font-size:14px
  }
  .entry-window-note {
    font-size:14px
  }
  .recruit-message {
    padding:65px 0 70px
  }
  .message-heading .section-caption {
    font-size:14px;
    margin-bottom:27px
  }
  .message-heading h2 {
    font-size:max(14px,7.3vw)
  }
  .message-heading h2>span:last-child {
    margin-left:11%;
    font-size:max(14px,1.28em)
  }
  .message-spread {
    display:block;
    margin-top:40px
  }
  .message-photos {
    display:grid;
    grid-template-columns:58% 35%;
    gap:7%;
    align-items:end;
    padding:0 7% 0 0
  }
  .message-photos figure:first-child {
    width:100%;
    align-self:start
  }
  .message-photos figure:first-child img {
    aspect-ratio:1.2
  }
  .message-photos figcaption {
    font-size:14px;
    margin-top:10px;
    margin-left:12%
  }
  .message-photos figure:nth-child(2) {
    width:100%;
    margin:65px 0 0
  }
  .message-photos figure:nth-child(2) img {
    aspect-ratio:.8
  }
  .message-photos>p {
    position:static;
    writing-mode:horizontal-tb;
    grid-column:1/-1;
    font-size:21px;
    margin:0 0 0 26px;
    line-height:1.6
  }
  .message-body {
    max-width:500px;
    margin:35px 7% 0 22%;
    padding:0;
    font-size:14px;
    line-height:2.25
  }
  .message-body>p {
    margin-bottom:26px
  }
  .message-body .message-closing {
    font-size:35px;
    line-height:1.5;
    margin-top:35px;
    padding-top:27px
  }
  .growth-section {
    display:block;
    padding-top:65px;
    padding-bottom:60px
  }
  .growth-heading-inner {
    position:static
  }
  .growth-heading h2 {
    font-size:clamp(38px,8vw,60px)
  }
  .growth-lead {
    font-size:16px;
    margin:27px 0 45px
  }
  .growth-rows>article {
    padding-bottom:30px;
    margin-bottom:30px;
    grid-template-columns:34px 1fr;
    gap:20px
  }
  .growth-rows h3 {
    font-size:32px
  }
  .growth-rows h3+p {
    font-size:16px
  }
  .growth-tag {
    font-size:14px;
    margin-bottom:15px
  }
  .growth-rows a {
    font-size:14px
  }
  .growth-support {
    display:block;
    padding-top:28px;
    margin-top:45px
  }
  .growth-support>p {
    font-size:25px;
    margin-bottom:20px
  }
  .growth-support ul {
    font-size:14px
  }
  .growth-support>a {
    display:inline-block;
    margin-top:20px;
    font-size:14px
  }
  .president-message {
    padding-top:66px;
    padding-bottom:65px
  }
  .president-label>span {
    font-size:14px
  }
  .president-label .section-caption {
    margin-bottom:32px
  }
  .president-stage {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    padding:0 7%
  }
  .president-photo {
    width:83%;
    max-width:440px
  }
  .president-photo figcaption {
    margin-top:18px;
    padding-top:16px
  }
  .president-photo figcaption>strong {
    font-size:26px
  }
  .president-heading {
    margin:-35px 0 0 12%;
    padding:0;
    order:-1;
    align-self:flex-end
  }
  .president-heading h2 {
    font-size:clamp(28px,6vw,43px);
    line-height:1.55;
    margin-bottom:18px
  }
  .president-heading h2>span {
    background:#f7f6f2;
    box-shadow:7px 0 #f7f6f2,-7px 0 #f7f6f2
  }
  .president-heading>p {
    display:none
  }
  .president-photo {
    margin-top:12px;
    margin-left:0
  }
  .president-letter {
    display:block;
    margin-top:35px
  }
  .president-side {
    display:none
  }
  .president-body {
    font-size:16px;
    line-height:2.2;
    margin-left:12%
  }
  .president-body .president-closing {
    font-size:16px;
    margin-top:30px;
    padding-top:25px
  }
  .closing-photo {
    height:63%;
    object-position:50% 37%
  }
  .closing-entry::before {
    background:linear-gradient(0deg,#141612 0%,#141612 26%,#14161266 65%,#14161225 100%)
  }
  .closing-content {
    padding-top:120px;
    padding-bottom:40px
  }
  .closing-content h2 {
    font-size:clamp(52px,11vw,85px);
    margin-bottom:38px
  }
  .closing-content .entry-option {
    min-height:78px
  }
  .closing-content .entry-option--doda {
    min-height:0
  }
  .closing-content .section-caption {
    font-size:14px
  }
}
@media(max-width:480px) {
  .entry-heading h2 {
    font-size:31px
  }
  .entry-option {
    padding:14px 19px;
    gap:12px
  }
  .entry-options {
    grid-template-columns:1fr
  }
  .entry-option strong {
    font-size:15px
  }
  .entry-option--doda {
    padding:0;
    margin-top:2px
  }
  .entry-option--doda strong {
    font-size:14px
  }
  .entry-option--doda small {
    font-size:14px
  }
  .message-heading .section-caption {
    font-size:14px;
    letter-spacing:0;
    gap:8px
  }
  .message-heading h2 {
    font-size:max(14px,7.3vw)
  }
  .message-heading h2>span:last-child {
    margin-left:5%
  }
  .message-spread {
    margin-top:30px
  }
  .message-photos {
    padding-right:24px
  }
  .message-photos>p {
    font-size:19px;
    letter-spacing:.03em;
    margin-left:24px
  }
  .message-body {
    margin:32px 24px 0 16%;
    font-size:14px;
    letter-spacing:0;
    line-height:2.25
  }
  .message-body .message-closing {
    font-size:29px
  }
  .growth-heading h2 {
    font-size:clamp(33px,9vw,43px)
  }
  .growth-lead {
    font-size:16px
  }
  .growth-rows>article {
    grid-template-columns:25px 1fr;
    gap:16px
  }
  .growth-number {
    font-size:23px
  }
  .growth-rows h3 {
    font-size:clamp(25px,6.8vw,32px);
    letter-spacing:-.06em
  }
  .growth-rows h3+p {
    font-size:16px
  }
  .growth-rows a {
    font-size: 20px;
    font-weight: 700;
  }
  .growth-support ul {
    font-size:14px
  }
  .president-stage {
    padding:0 24px
  }
  .president-heading {
    margin:0 0 0 7%;
    align-self:flex-start
  }
  .president-heading h2 {
    font-size:clamp(25px,6.9vw,33px)
  }
  .president-photo {
    width:93%;
    margin-top:4px
  }
  .president-photo figcaption>span {
    font-size:14px
  }
  .president-photo figcaption>strong {
    font-size:24px
  }
  .president-label>span {
    font-size:14px;
    letter-spacing:.09em
  }
  .president-body {
    margin-left:0;
    font-size:16px
  }
  .closing-content {
    padding-top:120px
  }
  .closing-content h2 {
    font-size:clamp(44px,11.2vw,62px)
  }
  .closing-content .entry-option {
    min-height:74px
  }
  .closing-content .entry-option--doda {
    min-height:0
  }
}
@media(prefers-reduced-motion:reduce) {
  .entry-option {
    transition:none
  }
  .entry-option:hover {
    transform:none
  }
}

/* Career possibilities follow the three rewards, below employee stories. */
.growth-future {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:43% 49%;
  gap:8%;
  border-top:1px solid #ffffff38;
  padding:44px 0 38px;
}
.growth-future-label { margin:5px 0 0; font-size:42px; font-weight:700; color:#ff791b; }
.growth-future h3 { margin:0 0 22px; font-size:clamp(27px,3vw,44px); line-height:1.5; letter-spacing:-.05em; }
.growth-future div>p { margin:0; color:#d4d7cc; font-size:16px; line-height:2.2; }
.growth-future a { display:inline-block; margin-top:22px; font-size:20px; font-weight: 700; border-bottom:1px solid #707568; padding-bottom:9px; }
.growth-future a:hover { color:#ff9145; }
@media (max-width:760px) {
  .growth-future { grid-template-columns:1fr; gap:26px; padding-top:32px; }
  .growth-future-label { font-size:22px; }
}

/* navigation.css */
html {
  scroll-padding-top:112px
}
.dialog-open {
  overflow:hidden
}
.skip-link {
  z-index:150
}
.site-header {
  position:sticky;
  top:0;
  z-index:100;
  height:88px;
  padding:0 3%;
  border-bottom:1px solid #14161212;
  transition:box-shadow .2s ease;
  background:#fff
}
.site-header.is-scrolled {
  box-shadow:0 3px 24px #14161216
}
.brand {
  gap:18px
}
.brand img {
  width:240px
}
.brand-label {
  font-size:14px;
  padding-left:18px
}
.header-actions,.header-entry {
  display:flex;
  align-items:center
}
.header-actions {
  gap:25px
}
.header-entry {
  gap:10px
}
.header-entry .entry-option {
  border-radius:50px;
  min-height:55px;
  padding:11px 23px;
  gap:27px
}
.header-entry .entry-option small {
  font-size:14px;
  line-height:1.2
}
.header-entry .entry-option strong {
  font-size:14px;
  line-height:1.5
}
.header-entry .entry-arrow {
  font-size:20px
}
.menu-toggle {
  border:0;
  background:none;
  padding:9px 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:64px;
  min-height:56px;
  color:#141612;
  cursor:pointer;
  font:14px Arial,sans-serif;
  letter-spacing:.08em
}
.menu-lines {
  width:32px;
  height:12px;
  border-top:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transition:width .2s
}
.menu-toggle:hover .menu-lines {
  width:40px
}
.contents-menu {
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  margin:0;
  border:0;
  padding:0 6.2%;
  background:#f7f6f2;
  color:#141612;
  overflow:auto;
  overscroll-behavior:contain
}
.contents-menu::backdrop {
  background:#141612aa
}
.menu-top {
  height:105px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #cfcfc8
}
.menu-top>img {
  width:240px;
  height:auto
}
.menu-close,.notice-close {
  width:60px;
  height:60px;
  border:1px solid #bdbdb4;
  border-radius:50%;
  background:transparent;
  font:38px Arial,sans-serif;
  cursor:pointer;
  color:#141612
}
.menu-layout {
  display:grid;
  grid-template-columns:40% 52%;
  gap:8%;
  padding:55px 0
}
.menu-intro>p {
  font:14px Arial,sans-serif;
  letter-spacing:.1em
}
.menu-intro h2 {
  font:700 clamp(32px,4.6vw,70px)/1.2 Arial,sans-serif;
  letter-spacing:-.04em;
  margin:22px 0 35px
}
.menu-intro h2>span {
  display:block;
  font-size:17px;
  letter-spacing:.04em;
  font-family:inherit;
  margin-top:17px
}
.menu-intro>img {
  width:90%;
  height:auto;
  aspect-ratio:1.7;
  object-fit:cover
}
.menu-links {
  display:flex;
  flex-direction:column
}
.menu-links>a {
  display:flex;
  align-items:center;
  gap:22px;
  padding:23px 0;
  border-bottom:1px solid #c3c3b9;
  font-size:clamp(20px,2.15vw,34px);
  font-weight:800;
  letter-spacing:-.04em
}
.menu-links>a:first-child {
  border-top:1px solid #c3c3b9
}
.menu-links>a>small {
  font:14px Arial,sans-serif;
  color:#a84500;
  letter-spacing:.03em
}
.menu-links>a>b {
  margin-left:auto;
  font:27px Arial,sans-serif
}
.menu-links>a:hover {
  color:#a84500
}
.menu-bottom {
  display:flex;
  justify-content:space-between;
  border-top:1px solid #cfcfc8;
  padding:26px 0;
  font-size:14px
}
.line-notice {
  padding:52px;
  max-width:calc(100% - 36px);
  width:520px;
  border:0;
  background:#f7f6f2;
  color:#141612
}
.line-notice::backdrop {
  background:#141612a8
}
.notice-close {
  position:absolute;
  top:15px;
  right:15px;
  width:36px;
  height:36px;
  font-size:25px
}
.line-notice h2 {
  font-size:30px;
  line-height:1.6;
  margin:20px 0
}
.line-notice>p:not(.section-caption) {
  font-size:14px;
  line-height:2
}
.notice-form {
  display:block;
  background:#141612;
  color:white;
  padding:18px 23px;
  margin-top:25px;
  font-size:14px
}
.line-notice .section-caption {
  font-size:14px
}
.header-entry .entry-option--line small {
  letter-spacing:0
}
@media(max-width:1000px) {
  .brand img {
    width:205px
  }
  .brand-label {
    display:none
  }
  .header-actions {
    gap:20px
  }
  .header-entry .entry-option {
    padding:10px 20px;
    gap:20px
  }
}
@media(max-width:760px) {
  html {
    scroll-padding-top:88px
  }
  .site-header {
    height:72px;
    padding:0 20px;
    gap:12px
  }
  .brand img {
    width:180px
  }
  .header-actions {
    gap:13px
  }
  .header-entry {
    gap:7px
  }
  .header-entry .entry-option {
    min-height:43px;
    padding:8px 15px;
    gap:0
  }
  .header-entry .entry-option strong {
    font-size:14px
  }
  .header-entry .entry-option small {
    font-size:14px
  }
  .header-entry .entry-arrow {
    display:none
  }
  .menu-toggle {
    min-width:40px;
    gap:8px;
    font-size:14px;
    min-height:48px
  }
  .menu-lines {
    width:25px;
    height:10px
  }
  .contents-menu {
    padding:0 24px
  }
  .menu-top {
    height:80px
  }
  .menu-top>img {
    width:190px
  }
  .menu-close {
    width:44px;
    height:44px;
    font-size:30px
  }
  .menu-layout {
    display:block;
    padding:32px 0
  }
  .menu-intro>p {
    font-size:14px
  }
  .menu-intro h2 {
    font-size:40px;
    margin:15px 0 28px
  }
  .menu-intro h2>span,.menu-intro>img {
    display:none
  }
  .menu-links>a {
    font-size:22px;
    padding:18px 0;
    gap:18px
  }
  .menu-links>a>small {
    font-size:14px
  }
  .menu-bottom {
    font-size:14px;
    gap:20px
  }
  .line-notice {
    padding:45px 26px 30px
  }
  .line-notice h2 {
    font-size:26px
  }
}
@media(max-width:480px) {
  .site-header {
    height:68px;
    padding:0 12px;
    gap:9px
  }
  .brand img {
    width:clamp(124px,37vw,177px)
  }
  .header-actions {
    gap:9px
  }
  .header-entry {
    gap:5px
  }
  .header-entry .entry-option {
    padding:7px 11px;
    min-height:40px
  }
  .header-entry .entry-option strong {
    font-size:14px
  }
  .header-entry .entry-option small {
    font-size:14px
  }
  .menu-toggle {
    min-width:34px;
    font-size:14px
  }
  .menu-lines {
    width:23px
  }
  .menu-links>a {
    font-size:20px
  }
}
@media(prefers-reduced-motion:reduce) {
  .site-header,.menu-lines {
    transition:none
  }
}

/* hero-plans.css */
/* Photo-plan adjustments. The approved Shishido hero has no overrides. */
.person-kobayashi .hero-visual { left:35%; }
.person-kobayashi .hero-poster,
.person-kobayashi .hero-video { object-position:30% 50%; }
.person-kobayashi .hero-poster { filter:saturate(.88) contrast(1.02); }
.person-kobayashi .hero-shade {
  background:linear-gradient(90deg,#141612 0%,#141612 24%,rgba(20,22,18,.90) 35%,rgba(20,22,18,.40) 52%,rgba(20,22,18,.02) 75%),linear-gradient(0deg,rgba(9,12,9,.9),transparent 46%);
}
.person-ninagawa .hero-visual { left:40%; }
.person-ninagawa .hero-poster { object-position:24% 40%; filter:saturate(.72) contrast(1.05); }
.person-ninagawa .hero-copy { top:47%; }
.person-ninagawa h1 { font-size:clamp(54px,5.45vw,86px); line-height:1.21; letter-spacing:-.065em; }
.person-ninagawa .headline-line:first-child { margin-left:-.48em; }
.person-ninagawa .hero-manifesto { font-size:clamp(17px,1.7vw,26px); font-weight:800; line-height:1.8; letter-spacing:-.025em; margin:25px 0 23px; }
.person-ninagawa .hero-manifesto span { display:block; }
.person-ninagawa .scene-caption { right:4%; }
@media (max-width:1100px) and (min-width:761px) {
  .person-kobayashi .hero-visual { left:35%; }
  .person-ninagawa .hero-visual { left:44%; }
  .person-ninagawa h1 { font-size:max(14px,6.1vw); }
  .person-ninagawa .hero-manifesto { font-size:max(14px,1.9vw); }
}
@media (max-width:760px) {
  .person-kobayashi .hero-visual { left:0; height:64%; }
  .person-kobayashi .hero-poster,
  .person-kobayashi .hero-video { object-position:39% 45%; }
  .person-kobayashi .hero-shade {
    background:linear-gradient(0deg,#141612 0%,#141612 25%,rgba(20,22,18,.93) 38%,rgba(20,22,18,.25) 65%,transparent 83%),linear-gradient(90deg,#14161222,transparent 80%);
  }
  .person-ninagawa .hero { height:800px; }
  .person-ninagawa .hero-visual { left:0; height:66%; bottom:auto; }
  .person-ninagawa .hero-poster { object-position:28% 29%; }
  .person-ninagawa .hero-copy { top:auto; bottom:90px; transform:none; left:7%; right:5%; }
  .person-ninagawa .hero-shade {
    background:linear-gradient(0deg,#141612 0%,#141612 23%,rgba(20,22,18,.92) 37%,rgba(20,22,18,.22) 64%,transparent 85%);
  }
  .person-ninagawa h1 { font-size:clamp(39px,7.5vw,56px); line-height:1.22; }
  .person-ninagawa .eyebrow { margin-bottom:18px; font-size:14px; }
  .person-ninagawa .hero-manifesto { font-size:clamp(14px,2.7vw,20px); margin:20px 0; }
}
@media (max-width:480px) {
  .person-kobayashi .hero-visual { height:66%; }
  .person-kobayashi .hero-poster,
  .person-kobayashi .hero-video { object-position:36% 40%; }
  .person-ninagawa .hero { height:clamp(740px,calc(100svh - 68px),840px); }
  .person-ninagawa .hero-visual { height:59%; }
  .person-ninagawa .hero-poster { object-position:28% 26%; }
  .person-ninagawa .hero-copy { left:23px; right:19px; bottom:80px; }
  .person-ninagawa h1 { font-size:max(14px,10.4vw); }
  .person-ninagawa .hero-manifesto { font-size:max(14px,3.8vw); letter-spacing:-.04em; }
  .person-ninagawa .hero-manifesto span { white-space:nowrap; }
  .person-ninagawa .eyebrow { font-size:14px; }
}

/* opening-editorial.css */
/* Review 07: limited to the upper entry strip and recruitment message. */
#entry.entry-strip--editorial {
  grid-template-columns:minmax(170px,24%) minmax(0,1fr);
  gap:5%;
  padding-top:30px;
  padding-bottom:28px;
  background:#fff;
  border-bottom:0;
}
#entry .entry-heading>p { font-size:14px; letter-spacing:.04em; margin-bottom:10px; }
#entry .entry-heading h2 { font:800 clamp(19px,1.8vw,27px)/1.5 "Hiragino Sans","Yu Gothic",Meiryo,sans-serif; letter-spacing:-.04em; }
#entry .entry-options { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:13px 0; }
#entry .entry-option { border-radius:0; min-height:74px; padding:15px 23px; transform:none; transition:background .2s,color .2s; }
#entry .entry-option--direct { background:#20231e; border:1px solid #20231e; }
#entry .entry-option--direct:hover { background:#41473b; border-color:#41473b; }
#entry .entry-option--line { color:#154d2d; background:#fff; border:1px solid #a4b4a5; border-left:0; }
#entry .entry-option--line:hover { background:#f0f6ee; }
#entry .entry-option small { font-size:14px; letter-spacing:.025em; margin-bottom:3px; }
#entry .entry-option strong { font-size:clamp(14px,1.05vw,16px); font-weight:700; line-height:1.65; letter-spacing:0; }
#entry .entry-arrow { font-size:23px; }
#entry .entry-option--doda { min-height:0; padding:0; border:0; background:none; color:#75786f; gap:12px; }
#entry .entry-option--doda strong { font-size:14px; font-weight:500; }
#entry .entry-option--doda small { font-size:14px; padding:1px 6px; margin:0; border-color:#d0d3c9; }
#entry .entry-window-note { margin-top:-17px; padding-right:270px; font-size:14px; }
.message-editorial { background:#f5f2eb; padding:105px 0 0; overflow:clip; color:#20231e; }
.message-editorial-head { padding-bottom:58px; }
.message-address { margin:0 0 33px; font-size:14px; font-weight:500; letter-spacing:.09em; }
.message-editorial h2 { margin:0; font-size:clamp(44px,5.6vw,84px); font-weight:900; letter-spacing:-.065em; line-height:1.38; }
.message-editorial h2>span { display:block; white-space:nowrap; }
.message-editorial h2>span:first-child { margin-left:-.5em; }
.message-editorial h2>span:last-child { margin-left:1.35em; }
.message-panorama { width:87.6%; margin:0 0 0 12.4%; }
.message-panorama img { display:block; width:100%; height:auto; object-fit:cover; }
.message-panorama figcaption { display:flex; justify-content:space-between; gap:24px; align-items:baseline; padding:17px 7% 0 0; font-size:15px; letter-spacing:.04em; line-height:1.8; }
.message-panorama figcaption>span:first-child { font-size:36px; font-weight:600; }
.message-panorama figcaption>span:last-child { color:#666b60; }
.message-reading { display:grid; grid-template-columns:minmax(0,31%) minmax(0,1fr); column-gap:12%; margin-top:88px; align-items:start; }
.message-essay { grid-column:2; grid-row:1; max-width:650px; font-size:16px; font-weight:500; line-height:2.25; letter-spacing:.025em; }
.message-essay p { margin:0 0 27px; }
.message-essay p:last-child { margin-bottom:0; }
.message-essay .message-first-paragraph { font-size:clamp(18px,1.6vw,23px); font-weight:700; line-height:2; letter-spacing:.015em; margin-bottom:35px; }
.message-portrait { grid-column:1; grid-row:1; margin:142px 0 0; }
.message-portrait img { display:block; width:100%; height:auto; aspect-ratio:.94; object-fit:cover; object-position:45% 40%; }
.message-portrait figcaption { font-size:15px; line-height:1.8; color:#666b60; margin-top:12px; }
.message-resolution { margin-top:75px; padding-bottom:90px; }
.message-resolution p { margin:0; padding:35px 0 0 43%; border-top:1px solid #c9c9bd; }
.message-resolution span { display:block; font-size:clamp(18px,2vw,28px); font-weight:600; letter-spacing:.02em; margin-bottom:13px; }
.message-resolution strong { display:inline-block; font-size:clamp(42px,6.2vw,150px); font-weight:900; letter-spacing:-.065em; line-height:1.25; padding-bottom:8px; border-bottom:4px solid #eb6100; }
@media(min-width:1700px) {
  .message-essay { max-width:760px; font-size:18px; }
}
@media(max-width:1050px) {
  #entry.entry-strip--editorial { grid-template-columns:20% minmax(0,1fr); gap:4%; }
  #entry .entry-heading h2 { font-size:18px; }
  #entry .entry-option { padding:14px 16px; gap:10px; }
  #entry .entry-option strong { font-size:14px; }
  #entry .entry-window-note { margin-top:6px; padding-right:0; }
  .message-reading { column-gap:9%; grid-template-columns:30% minmax(0,1fr); }
  .message-essay { font-size:16px; }
  .message-resolution p { padding-left:39%; }
}
@media(max-width:760px) {
  #entry.entry-strip--editorial { display:block; padding-top:27px; padding-bottom:23px; }
  #entry .entry-heading { display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin-bottom:17px; }
  #entry .entry-heading>p { order:2; margin:0; font-size:14px; }
  #entry .entry-heading h2 { font-size:20px; }
  #entry .entry-option { padding:14px 16px; }
  #entry .entry-option strong { font-size:14px; }
  #entry .entry-option--doda { padding:0; }
  #entry .entry-option--doda strong { font-size:14px; }
  #entry .entry-window-note { margin-top:8px; }
  .message-editorial { padding-top:62px; }
  .message-editorial-head { padding-bottom:35px; }
  .message-address { font-size:14px; letter-spacing:.025em; margin-bottom:25px; }
  .message-editorial h2 { font-size:max(14px,7.6vw); line-height:1.45; letter-spacing:-.06em; }
  .message-editorial h2>span:last-child { margin-left:.8em; }
  .message-panorama { width:94%; margin-left:6%; }
  .message-panorama img { aspect-ratio:4/3; object-position:63% 45%; }
  .message-panorama figcaption { display:block; padding:12px 6.5% 0 0; }
  .message-panorama figcaption>span { display:block; }
  .message-panorama figcaption>span:first-child { font-size:14px; }
  .message-panorama figcaption>span:last-child { font-size:14px; margin-top:4px; }
  .message-reading { display:flex; flex-direction:column; gap:31px; margin-top:37px; }
  .message-essay { font-size:16px; line-height:2.2; max-width:100%; }
  .message-essay .message-first-paragraph { font-size:17px; line-height:2; margin-bottom:26px; }
  .message-essay p { margin-bottom:23px; }
  .message-portrait { width:62%; margin:0 0 0 auto; }
  .message-portrait img { aspect-ratio:1.05; object-position:45% 35%; }
  .message-portrait figcaption { font-size:14px; }
  .message-resolution { margin-top:34px; padding-bottom:54px; }
  .message-resolution p { padding:25px 0 0; }
  .message-resolution span { font-size:18px; margin-bottom:10px; }
  .message-resolution strong { font-size:max(14px,9.3vw); border-bottom-width:3px; padding-bottom:7px; }
}
@media(max-width:480px) {
  #entry .entry-heading h2 { font-size:18px; }
  #entry .entry-heading>p { font-size:14px; }
  #entry .entry-option { min-height:88px; padding:12px; gap:8px; }
  #entry .entry-option strong { font-size:14px; }
  #entry .entry-option small { font-size:14px; }
  #entry .entry-arrow { font-size:18px; }
  #entry .entry-option--doda { min-height:0; padding:0; }
  #entry .entry-option--doda strong { font-size:14px; }
  .message-editorial h2 { font-size:max(14px,8.2vw); }
  .message-editorial h2>span:last-child { margin-left:.6em; }
}
@media(prefers-reduced-motion:reduce) { #entry .entry-option { transition:none; } }

/* recruit-update.css */
/* Review 08: source-backed interview context, company profile and entry band. */
.hero-copy>.eyebrow { display:none; }
.hero-role { display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center; margin:0 0 27px; }
.hero-role>span { font-size:14px; font-weight:700; letter-spacing:.04em; padding:5px 8px; border:1px solid #ffffff9c; line-height:1.4; }
.hero-role>strong { font-size:21px; line-height:1.5; letter-spacing:.03em; font-weight:800; }
#entry.entry-strip--bold { display:block; padding-top:27px; padding-bottom:27px; background:#fff; }
#entry.entry-strip--bold .entry-heading { display:flex; align-items:baseline; gap:25px; justify-content:space-between; margin-bottom:18px; }
#entry.entry-strip--bold .entry-heading h2 { order:-1; font-size:24px; font-weight:800; letter-spacing:.08em; }
#entry.entry-strip--bold .entry-heading>p { font-size:24px; margin:0; }
#entry.entry-strip--bold .entry-options { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:15px 0; }
#entry.entry-strip--bold .entry-option:not(.entry-option--doda) { position:relative; display:flex; align-items:center; justify-content:center; gap:0; min-height:172px; padding:30px 52px; border:4px solid #20231e; border-radius:0; color:#20231e; background:#fff; text-align:center; transform:none; }
#entry.entry-strip--bold .entry-option--line { border-left:0; }
#entry.entry-strip--bold .entry-option:not(.entry-option--doda) strong { display:block; font:900 clamp(25px,3.5vw,54px)/1.2 Arial,"Hiragino Sans",sans-serif; letter-spacing:.035em; white-space:nowrap; }
#entry.entry-strip--bold .entry-option:not(.entry-option--doda) small { display:block; margin:13px 0 0; font-size:14px; font-weight:800; line-height:1.7; letter-spacing:.045em; }
#entry.entry-strip--bold .entry-option:not(.entry-option--doda) .entry-arrow { position:absolute; right:24px; top:50%; transform:translateY(-50%); font-size:30px; line-height:1; }
#entry.entry-strip--bold .entry-option--direct:hover { background:#20231e; color:#fff; }
#entry.entry-strip--bold .entry-option--line:hover { background:#edf5ed; }
/* Use LINE green as an accent while retaining the shared dark outline. */
#entry.entry-strip--bold .entry-option.entry-option--line {
  border-left:0;
  color:#087a42;
  background:#f6fcf8;
  box-shadow:inset 0 -6px 0 #06c755;
}
#entry.entry-strip--bold .entry-option.entry-option--line .entry-arrow {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  color:#123b22;
  background:#06c755;
}
#entry.entry-strip--bold .entry-option.entry-option--line:hover { background:#e6f7ec; }
#entry.entry-strip--bold .entry-option.entry-option--line:focus-visible { outline-color:#087a42; }
#entry.entry-strip--bold .entry-option--doda { min-height:0; border:0; padding:0; border-radius:0; background:transparent; }
#entry.entry-strip--bold .entry-window-note { margin:8px 0 0; padding:0; }
.person-change { display:flex; align-items:center; flex-wrap:wrap; gap:10px 15px; margin:23px 0 0 16px; padding:13px 15px; background:#fff; font-size:16px; line-height:1.7; }
.person-change>span { color:#62695b; }
.person-change small { display:block; font:700 14px/1.5 Arial,sans-serif; letter-spacing:.1em; margin-bottom:4px; }
.person-change>b { color:#929888; font-size:23px; font-weight:400; }
.person-change>strong { font-size:16px; line-height:1.7; color:#a74400; }
.person-about { margin:19px 0 0 41%; border:1px solid #adb6a2; padding:18px 20px; background:#fff; }
.person-about>p { display:flex; align-items:baseline; gap:11px; margin:0 0 16px; font:700 14px/1.5 Arial,sans-serif; letter-spacing:.1em; }
.person-about>p>span { font:500 14px/1.5 "Hiragino Sans","Yu Gothic",sans-serif; letter-spacing:0; color:#5e6556; }
.person-about dl { margin:0; }
.person-about dl>div+div { border-top:1px solid #e0e4da; margin-top:13px; padding-top:13px; }
.person-about dt { color:#6d7563; font-size:14px; font-weight:500; margin-bottom:5px; }
.person-about dd { font-size:16px; line-height:1.9; margin:0; }
.person-experience { display:grid; grid-template-columns:25% minmax(0,1fr); gap:8%; margin-top:38px; margin-bottom:33px; }
.person-experience>p { margin:0; padding-top:18px; border-top:2px solid #20231e; font-size:14px; font-weight:700; line-height:1.8; }
.person-experience>div { border-top:1px solid #b7bdae; padding-top:17px; }
.person-experience h4 { margin:0 0 14px; font-size:clamp(20px,2.05vw,30px); font-weight:800; letter-spacing:-.04em; line-height:1.6; }
.person-experience div>p { font-size:16px; line-height:2.1; margin:0; max-width:800px; color:#4a5341; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(min-width:761px) {
  .person-spread { align-items:start; }
  .person-photo img { height:clamp(560px,53vw,790px); }
  .person-copy { padding-top:18px; }
  .person-copy h3 { line-height:1.35; }
}
@media(max-width:1100px) and (min-width:761px) {
  #entry.entry-strip--bold .entry-option:not(.entry-option--doda) { padding:25px 38px; min-height:142px; }
  #entry.entry-strip--bold .entry-option:not(.entry-option--doda) .entry-arrow { right:16px; font-size:25px; }
  .person-about { padding:15px; }
  .person-change { gap:9px 12px; padding:10px 12px; }
  .person-change>strong { font-size:14px; }
}
@media(max-width:760px) {
  .hero-role { gap:8px 10px; margin-bottom:20px; }
  .hero-role>span { font-size:14px; padding:4px 6px; }
  .hero-role>strong { font-size:16px; letter-spacing:0; }
  #entry.entry-strip--bold { padding-top:23px; padding-bottom:23px; }
  #entry.entry-strip--bold .entry-heading { margin-bottom:14px; gap:10px; }
  #entry.entry-strip--bold .entry-heading h2 { font-size:14px; }
  #entry.entry-strip--bold .entry-heading>p { font-size:14px; }
  #entry.entry-strip--bold .entry-option:not(.entry-option--doda) { min-height:122px; padding:25px 27px 25px 15px; border-width:3px; }
  #entry.entry-strip--bold .entry-option.entry-option--line { border-left:0; }
  #entry.entry-strip--bold .entry-option:not(.entry-option--doda) strong { font-size:clamp(18px,4.25vw,29px); letter-spacing:0; }
  #entry.entry-strip--bold .entry-option:not(.entry-option--doda) small { font-size:14px; margin-top:9px; letter-spacing:0; }
  #entry.entry-strip--bold .entry-option:not(.entry-option--doda) .entry-arrow { right:10px; font-size:19px; }
  #entry.entry-strip--bold .entry-option.entry-option--line .entry-arrow { width:28px; height:28px; right:7px; }
  .person-change { margin:18px 0 0; padding:0; gap:9px 12px; }
  .person-change>strong { font-size:15px; }
  .person-about { margin:21px 0 0; padding:18px; }
  .person-about dd { font-size:16px; }
  .person-experience { display:block; margin-top:30px; margin-bottom:26px; }
  .person-experience>p { font-size:14px; padding:14px 0; }
  .person-experience>p br { display:none; }
  .person-experience>div { border:0; padding-top:0; }
  .person-experience h4 { font-size:22px; }
  .person-experience div>p { font-size:16px; line-height:2; }
}
@media(max-width:400px) {
  .hero-role>strong { font-size:14px; }
  #entry.entry-strip--bold .entry-option:not(.entry-option--doda) { padding-left:7px; padding-right:19px; min-height:111px; }
  #entry.entry-strip--bold .entry-option:not(.entry-option--doda) strong { font-size:clamp(15px,4.4vw,18px); }
  #entry.entry-strip--bold .entry-option:not(.entry-option--doda) small { font-size:14px; }
  #entry.entry-strip--bold .entry-option:not(.entry-option--doda) .entry-arrow { right:6px; font-size:15px; }
  #entry.entry-strip--bold .entry-option.entry-option--line .entry-arrow { width:22px; height:26px; right:3px; }
}

/* company.css */
/* Company strengths: connected editorial sections, with live selectable text. */
.company-section { background:#f5f3ed; color:#20231e; }
.company-section .mobile-break { display:none; }
.company-heading { padding-top:100px; padding-bottom:66px; }
.company-heading h2 { margin:0; font-size:clamp(40px,5.8vw,88px); font-weight:900; line-height:1.35; letter-spacing:-.055em; }
.company-heading h2 em { color:#af4800; font-style:normal; }
.company-intro { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:start; margin-top:45px; }
.company-intro>p { margin:0; line-height:2; }
.company-intro>p:first-child { font-size:clamp(18px,1.8vw,27px); font-weight:800; letter-spacing:-.03em; }
.company-intro>p:last-child { font-size:16px; max-width:610px; color:#4a5146; }
.company-support { padding-bottom:70px; }
.company-subhead { display:flex; align-items:baseline; gap:34px; padding-top:25px; border-top:2px solid currentColor; }
.company-subhead>p { margin:0; font:700 14px/1.5 Arial,sans-serif; letter-spacing:.1em; }
.company-subhead h3 { margin:0; font-size:clamp(20px,2.1vw,31px); font-weight:800; line-height:1.6; }
.support-route { display:grid; grid-template-columns:1fr 1fr 1.55fr; list-style:none; padding:0; margin:36px 0 0; gap:6%; }
.support-route>li { position:relative; padding:28px 0 0; border-top:1px solid #9fa393; }
.support-route>li:not(:last-child)::after { content:'→'; position:absolute; right:-19%; top:71px; font:36px/1 Arial,sans-serif; color:#aa4700; }
.support-label { display:block; font-size:14px; font-weight:700; line-height:1.6; margin-bottom:15px; color:#535c4b; }
.support-route strong { display:block; font-size:clamp(24px,2.8vw,42px); line-height:1.35; font-weight:900; letter-spacing:-.045em; }
.support-route .support-sales { border-top:4px solid #eb6100; padding-top:25px; }
.support-sales>strong { color:#ae4700; }
.support-plus { display:inline-block; font-size:max(14px,.65em); margin:0 .35em; font-weight:500; }
.support-route>li>p { font-size:16px; line-height:1.9; margin:20px 0 0; color:#4a5146; }
.company-business { display:grid; grid-template-columns:34% minmax(0,1fr); gap:10%; background:#fff; padding-top:75px; padding-bottom:75px; }
.business-heading h3 { margin:0; font-size:clamp(28px,3.2vw,48px); font-weight:900; line-height:1.45; letter-spacing:-.045em; }
.business-heading h3 em { color:#ae4700; font-style:normal; }
.business-heading>p:last-child { margin:27px 0 0; font-size:16px; line-height:2; color:#535b4b; }
.business-fields { list-style:none; padding:0; margin:0; border-top:3px solid #20231e; }
.business-fields>li { display:grid; grid-template-columns:46px minmax(0,1fr); gap:24px; padding:27px 0 30px; border-bottom:1px solid #c4c8bd; }
.business-number { font:700 22px/1.8 Arial,sans-serif; color:#ad4800; }
.business-fields h4 { margin:0; font-size:clamp(23px,2.4vw,36px); font-weight:800; line-height:1.5; letter-spacing:-.04em; }
.business-fields div>p { font-size:16px; line-height:1.8; margin:10px 0 18px; color:#535b4b; }
.business-fields ul { display:flex; flex-wrap:wrap; gap:8px 16px; list-style:none; margin:0; padding:0; }
.business-fields ul>li { font-size:14px; line-height:1.7; padding-left:12px; position:relative; }
.business-fields ul>li::before { content:''; width:4px; height:4px; position:absolute; left:0; top:.65em; background:#eb6100; }
.company-thanks { padding-top:65px; padding-bottom:70px; display:grid; grid-template-columns:26% minmax(0,1fr); gap:8%; background:#e9eddf; }
.company-thanks>span { font:800 clamp(18px,2vw,29px)/1.25 Arial,sans-serif; letter-spacing:-.02em; padding-top:10px; }
.company-thanks h3 { margin:0; font-size:clamp(24px,2.9vw,43px); line-height:1.5; letter-spacing:-.045em; font-weight:900; }
.company-thanks p { font-size:16px; line-height:2.1; color:#434e38; margin:25px 0 0; }
.company-network { color:#fff; background:#20231e; padding-top:65px; padding-bottom:60px; }
.company-network .company-subhead { border-top-color:#77806e; }
.company-network .company-subhead>p { color:#c1c8ba; }
.network-countries { display:grid; grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr); gap:3%; align-items:start; padding:55px 0 43px; }
.network-country-name { margin:0 0 21px; font:900 clamp(38px,5.9vw,92px)/1 Arial,sans-serif; letter-spacing:-.045em; }
.network-country--vietnam .network-country-name { color:#ff964b; }
.network-country h4 { font-size:17px; line-height:1.8; margin:0 0 22px; font-weight:700; }
.network-locations { display:flex; flex-wrap:wrap; gap:10px 22px; list-style:none; margin:0; padding:0; max-width:430px; }
.network-locations>li { font-size:15px; font-weight:700; line-height:1.7; }
.network-bridge { padding-top:15px; font:52px/1 Arial,sans-serif; text-align:center; color:#aab29f; }
.network-description { font-size:16px; line-height:1.85; margin:0; }
.network-entity { font:14px/1.7 Arial,sans-serif; margin:16px 0 0; color:#c1c8ba; }
.network-foundation { display:grid; grid-template-columns:1fr 1fr; gap:8%; border-top:1px solid #6c7562; padding-top:28px; }
.network-foundation>p { display:flex; align-items:baseline; gap:25px; margin:0; }
.network-foundation strong { font-size:24px; font-weight:800; white-space:nowrap; }
.network-foundation span { font-size:16px; line-height:1.9; color:#d1d7c9; }
.company-profile-wrap { padding-top:70px; padding-bottom:75px; }
.company-profile { display:grid; grid-template-columns:34% minmax(0,1fr); gap:10%; align-items:start; }
.company-wordmark { border-top:3px solid #20231e; padding-top:21px; }
.company-wordmark>p { margin:0; font:900 clamp(26px,3.5vw,54px)/1.05 Arial,sans-serif; letter-spacing:-.04em; }
.company-wordmark h3 { margin:22px 0 0; font-size:15px; font-weight:700; line-height:1.8; }
.company-profile dl { margin:0; border-top:1px solid #9ea790; }
.company-profile dl>div { display:grid; grid-template-columns:100px minmax(0,1fr); gap:20px; padding:20px 0; border-bottom:1px solid #bbc3b0; font-size:16px; line-height:1.9; }
.company-profile dt { font-size:14px; font-weight:700; padding-top:2px; }
.company-profile dd { margin:0; overflow-wrap:anywhere; }
.company-profile dd>span { font-size:14px; color:#59664d; }
.company-official { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:27px 0 0 44%; padding:0 0 13px; border-bottom:1px solid #88947b; font-size:14px; font-weight:700; line-height:1.7; }
.company-official:hover { color:#a74400; }
.company-official>span[aria-hidden] { font:25px Arial,sans-serif; }
@media(max-width:1050px) and (min-width:761px) {
  .support-route { grid-template-columns:1fr 1fr 1.3fr; gap:5%; }
  .support-route>li:last-child strong { font-size:27px; }
  .support-plus { display:block; margin:0; line-height:1.2; }
  .network-foundation>p { display:block; }
  .network-foundation span { display:block; margin-top:13px; }
  .company-business,.company-profile { gap:7%; grid-template-columns:35% minmax(0,1fr); }
}
@media(max-width:760px) {
  .company-section .mobile-break { display:block; }
  .company-heading { padding-top:64px; padding-bottom:38px; }
  .company-heading h2 { font-size:clamp(27px,7.6vw,57px); line-height:1.45; }
  .company-intro { display:block; margin-top:28px; }
  .company-intro>p:first-child { font-size:19px; }
  .company-intro>p:last-child { font-size:16px; margin-top:22px; }
  .company-subhead { display:block; padding-top:20px; }
  .company-subhead>p { margin-bottom:13px; font-size:14px; }
  .company-subhead h3 { font-size:24px; }
  .company-support { padding-bottom:45px; }
  .support-route { display:block; margin-top:25px; }
  .support-route>li { display:grid; grid-template-columns:40% minmax(0,1fr); column-gap:5%; padding:20px 0; }
  .support-label { grid-column:1 / -1; margin-bottom:12px; font-size:14px; }
  .support-route strong { font-size:26px; }
  .support-route>li>p { margin:0; align-self:center; font-size:16px; }
  .support-route>li:not(:last-child)::after { content:'↓'; right:7px; top:auto; bottom:9px; font-size:22px; }
  .support-route .support-sales { padding-top:17px; }
  .support-plus { display:block; margin:0; line-height:1.2; }
  .support-route>li:last-child strong { font-size:clamp(19px,5.7vw,22px); }
  .company-business { display:block; padding-top:45px; padding-bottom:45px; }
  .business-heading h3 { font-size:30px; line-height:1.5; }
  .business-heading>p:last-child { margin-top:20px; }
  .business-fields { margin-top:32px; }
  .business-fields>li { grid-template-columns:29px minmax(0,1fr); gap:16px; padding:23px 0 25px; }
  .business-number { font-size:17px; }
  .business-fields h4 { font-size:23px; }
  .business-fields ul { display:block; }
  .business-fields ul>li+li { margin-top:6px; }
  .company-thanks { display:block; padding-top:35px; padding-bottom:40px; }
  .company-thanks>span { display:block; font-size:16px; padding:0; margin-bottom:21px; }
  .company-thanks h3 { font-size:clamp(23px,5.7vw,35px); }
  .company-thanks p { font-size:16px; margin-top:22px; }
  .company-network { padding-top:40px; padding-bottom:40px; }
  .network-countries { display:block; padding-top:33px; padding-bottom:30px; }
  .network-country-name { font-size:clamp(47px,13vw,76px); margin-bottom:16px; }
  .network-country h4 { font-size:15px; margin-bottom:17px; }
  .network-locations { gap:8px 22px; }
  .network-locations>li { font-size:14px; }
  .network-bridge { display:block; width:40px; height:68px; padding:0; margin:10px auto; transform:rotate(90deg); font-size:40px; line-height:68px; }
  .network-description { font-size:16px; }
  .network-foundation { grid-template-columns:1fr; gap:24px; padding-top:24px; }
  .network-foundation>p { gap:18px; }
  .network-foundation strong { font-size:22px; }
  .network-foundation span { font-size:16px; }
  .company-profile-wrap { padding-top:45px; padding-bottom:45px; }
  .company-profile { display:block; }
  .company-wordmark { margin-bottom:28px; padding-top:20px; }
  .company-wordmark>p { font-size:34px; }
  .company-wordmark h3 { font-size:14px; margin-top:15px; }
  .company-profile dl>div { grid-template-columns:78px minmax(0,1fr); gap:14px; font-size:16px; }
  .company-profile dt { font-size:14px; }
  .company-profile dd>span { font-size:14px; }
  .company-official { margin-left:0; }
}
/* Salary figures remain user-provided. See source notes for model arithmetic. */
.salary-range { margin:28px 0 22px; }
.salary-range>span { display:block; font-size:14px; font-weight:800; margin-bottom:10px; }
.salary-range>strong { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; font:800 clamp(28px,3.6vw,52px)/1.25 Arial,sans-serif; letter-spacing:-.035em; }
.salary-range strong>span { white-space:nowrap; }
.salary-range strong small { font:800 .38em/1.3 "Hiragino Sans",sans-serif; margin-left:3px; }
.salary-range strong>b { font:700 .55em/1.3 "Hiragino Sans",sans-serif; }
.salary-range>em { display:block; font-style:normal; font-size:22px; line-height:1.6; font-weight:800; color:#a74400; margin-top:9px; }
.salary-overtime,.salary-evaluation { font-size:16px; line-height:2; margin:0 0 17px; }
.salary-evaluation { padding:17px 0; border-top:1px solid #c4c8bd; border-bottom:1px solid #c4c8bd; }
.salary-evaluation strong { font-weight:800; }
.salary-model-title { font-size:20px; font-weight:800; margin:30px 0 8px; }
.salary-models { list-style:none; padding:0; margin:0; }
.salary-models>li { display:grid; grid-template-columns:30% minmax(0,1fr); gap:24px; padding:22px 0; border-bottom:1px solid #c4c8bd; }
.salary-model-label { font-size:14px; line-height:1.8; margin:5px 0 0; font-weight:700; }
.salary-model-value { font-size:27px; line-height:1.4; font-weight:800; margin:0; letter-spacing:-.025em; }
.salary-model-detail { font-size:14px; line-height:1.8; margin:8px 0 0; }
.salary-top-award { font-size:14px; line-height:1.8; margin:16px 0 0; }
.salary-top-award strong { font-size:21px; font-weight:800; color:#a74400; margin-left:6px; }
@media(max-width:760px) {
  .salary-range>strong { font-size:clamp(27px,5.5vw,42px); gap:6px; }
  .salary-range>em { font-size:20px; }
  .salary-overtime,.salary-evaluation { font-size:16px; }
  .salary-models>li { grid-template-columns:1fr; gap:10px; padding:20px 0; }
  .salary-model-label { margin:0; }
  .salary-model-value { font-size:26px; }
}

/* readability: 文字サイズ引き上げに伴うモバイルヘッダーの調整 */
@media(max-width:480px){
  .header-entry .entry-option small,
  .menu-toggle>span:not(.menu-lines) { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
}

/* readability: 大見出しまわりのテキストを強調 */
/* アイキャッチ（小見出し・ラベル） */
.section-caption,
.president-label span,
.company-subhead>p,
.message-address,
.mission-signature span,
.person-experience>p,
.scene-caption span,
#entry .entry-heading h2 { font-size:clamp(15px,2vw,30px); font-weight:800; letter-spacing:.1em; line-height:1.6; }
/* リード文（大見出し直下の文章） */
.hero-description { font-size:clamp(17px,1.45vw,21px); font-weight:700; line-height:1.9; }
.scene-caption p,
#entry .entry-heading p { font-size:clamp(16px,2vw,20px); font-weight:700; }
.scene-caption { max-width:260px; }
.growth-lead,
.people-heading>p,
.process-intro-copy,
.business-heading>p:last-child,
.recruit-heading>p:last-child { font-size:clamp(17px,1.3vw,19px); font-weight:700; line-height:2; }
.growth-lead { color:#e4e6de; }
/* ボタンまわりの補足 */
.hero-cta span,
#entry.entry-strip--bold .entry-option:not(.entry-option--doda) small { font-size:24px; font-weight:800; }
@media(max-width:480px){
  #entry.entry-strip--bold .entry-options { grid-template-columns:minmax(0,1fr); gap:10px; }
  #entry.entry-strip--bold .entry-option.entry-option--line { border-left:3px solid #20231e; }
  #entry.entry-strip--bold .entry-option:not(.entry-option--doda) small { font-size:min(24px,6.4vw); }
  .hero-bottom span+span { display:none; }
}
