/* Corporate home: Figma 411:3714 / 411:3868 / 411:4022. */
.ch-home {
  color: #fff;
  background: #171719;
  --ch-red: #cf1b1b;
  --ch-english: "Archivo", sans-serif;
}
.ch-home ol { padding: 0; list-style: none; }
.ch-home a { color: inherit; text-decoration: none; }
.ch-home .cx-container { padding-right: 64px; padding-left: 64px; }
.ch-home .cx-button { width: 264px; border-radius: 4px; }
.ch-home .ch-white-button { color: #23232c; background: #fff; border-color: #fff; }
.ch-home .cx-button--primary { color: #fff; }
.ch-mobile-break { display: none; }
.ch-section-label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font: 700 11px/16px var(--ch-english);
}
.ch-section-label::before { content: ""; width: 18px; height: 3px; margin-top: 4px; background: var(--ch-red); flex: none; }
.ch-outline {
  margin-top: 20px !important;
  color: transparent;
  -webkit-text-stroke: 1px currentColor;
  -webkit-text-stroke-color: #fff;
  font: 400 80px/1.12 var(--ch-english);
}
.ch-small-label { color: var(--ch-red); font: 700 12px/18px var(--ch-english); }
.ch-text-link { display: flex; align-items: center; justify-content: space-between; min-height: 44px; border-bottom: 1px solid currentColor; font-size: 14px; font-weight: 700; line-height: 22px; gap: 12px; }
.ch-text-link > img, .ch-text-link > .cx-arrow { flex: none; }
.ch-home a { transition: opacity .2s ease; }
.ch-home a:hover { opacity: .72; }
.ch-home a:focus-visible { outline: 2px solid var(--ch-red); outline-offset: 5px; }

.ch-hero__inner { height: 812px; position: relative; padding-top: 44px; }
.ch-hero__eyebrow { font: 700 11px/16px var(--ch-english); }
.ch-hero__graphic { position: relative; margin-top: 28px; height: 376px; font-family: var(--ch-english); font-weight: 700; }
.ch-hero__graphic > span,.ch-hero__result > span { position: absolute; white-space: nowrap; }
.ch-hero__result { inset: 0; }
.ch-hero__issue { left: 0; top: 0; font-size: 166px; line-height: 186px; }
.ch-hero__issue-art { display: block; width: 3.090361446em; height: 1.120481928em; overflow: visible; }
.ch-hero__wo { left: 545px; top: 94px; font-family: "Zen Kaku Gothic New", sans-serif; font-size: 48px; line-height: 65px; }
.ch-hero__value {
  top: 174px; left: 192px; font-size: 180px; line-height: 202px;
  color: transparent;
  background-color: var(--ch-red);
  /* Figmaの赤い下地とSCREEN画像を、文字クリップの前に合成する。 */
  background-image: url('../img/corporate/home-value-texture.png'), linear-gradient(var(--ch-red), var(--ch-red));
  background-size: 200% 200%, 100% 100%;
  background-position: 96% 48%, 0 0;
  background-repeat: no-repeat;
  background-blend-mode: screen, normal;
  -webkit-background-clip: text;
  background-clip: text;
}
.ch-hero__he { top: 282px; left: 824px; font-family: "Zen Kaku Gothic New", sans-serif; font-size: 48px; line-height: 65px; }
.ch-hero__title { margin-top: 16px !important; font-size: 38px; line-height: 52px; font-weight: 700; }
.ch-hero__description { margin-top: 39px !important; font-size: 16px; line-height: 28px; }
.ch-hero__description > span { display: block; }
.ch-hero__button { position: absolute; top: 618px; right: 64px; }
.ch-hero__nav { position: absolute; left: 64px; right: 64px; bottom: 0; height: 90px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #fff; }
.ch-hero__nav a { position: relative; padding: 16px 16px 0; }
.ch-hero__nav-label { display: block; font: 700 11px/16px var(--ch-english); }
.ch-hero__nav-name { display: block; margin-top: 9px; font-size: 16px; line-height: 22px; font-weight: 700; }
.ch-hero__nav-arrow-desktop { position: absolute; right: 4px; top: 46px; line-height: 0; }
.ch-hero__nav-arrow-mobile { display: none; }

.ch-about { scroll-margin-top: 24px; }
.ch-about__inner { display: grid; grid-template-columns: minmax(0,548px) minmax(0,1fr); gap: clamp(28px, calc(28vw - 274.4px), 84px); padding-top: 72px; padding-bottom: 152px; }
.ch-about__outline { font-size: 82px; }
.ch-about h2 { margin-top: 24px; font-size: 40px; line-height: 56px; font-weight: 700; }
.ch-about__description { margin-top: 28px !important; font-size: 16px; line-height: 28px; }
.ch-about .cx-button { margin-top: 32px; }
.ch-about__photo { display: block; width: 100%; height: 464px; object-fit: cover; }

.ch-numbers__inner { border-top: 1px solid #fff; padding-top: 55px; padding-bottom: 64px; }
.ch-numbers h2 { margin-top: 14.4px; font-size: 36px; line-height: 50px; font-weight: 700; }
.ch-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; margin-top: 44px !important; }
.ch-metrics > div { min-height: 180px; }
.ch-metrics dt { font-size: 14px; line-height: 20px; font-weight: 700; }
.ch-metrics dd { margin-top: 10px; white-space: nowrap; }
.ch-metrics__figure { color: var(--ch-red); font: 700 82px/1.1 var(--ch-english); }
.ch-metrics__unit { margin-left: 6px; font-size: 21px; line-height: 32px; font-weight: 700; }
.ch-metrics small { display: block; margin-top: 12.8px; font-size: 12px; line-height: 20px; }
.ch-numbers__note { margin-top: 8px !important; font-size: 11px; line-height: 20px; }

.ch-business { padding-top: 72px; padding-bottom: 72px; background: #fff; color: #171719; }
.ch-business__logo { display: block; width: 320px; height: auto; margin-top: 40.22px; }
.ch-business h2 { margin-top: 32.23px; font-size: 80px; line-height: 94px; font-weight: 700; }
.ch-business h2 span { white-space: nowrap; }
.ch-business__description { margin-top: 24px !important; font-size: 18px; line-height: 32px; }
.ch-business .ch-business__button { margin-top: 28px; width: 280px; }
.ch-process { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 64px !important; }
.ch-process li { position: relative; min-height: 196px; border-top: 1px solid #171719; padding-top: 19px; }
.ch-process__number { display: block; color: transparent; -webkit-text-stroke: 1px var(--ch-red); font: 400 54px/1.12 var(--ch-english); }
.ch-process h3 { margin-top: 15.52px; font-size: 22px; line-height: 30px; font-weight: 700; }
.ch-process p { margin-top: 12px; font-size: 14px; line-height: 24px; }
.ch-process li > img { position: absolute; top: 42px; right: 3px; }

.ch-strengths { background: #fff; color: #171719; }
.ch-strengths__inner { border-top: 1px solid #171719; padding-top: 71px; padding-bottom: 72px; }
.ch-strengths .ch-outline { -webkit-text-stroke-color: #171719; }
.ch-strengths h2 { margin-top: 14.4px; font-size: 36px; line-height: 50px; font-weight: 700; }
.ch-strength-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; margin-top: 40px !important; }
.ch-strength-list li { min-height: 258px; border-top: 1px solid #171719; padding-top: 17px; }
.ch-strength-list__number { display: block; color: var(--ch-red); font: 700 32px/40px var(--ch-english); }
.ch-strength-list h3 { margin-top: 18px; font-size: 24px; line-height: 36px; font-weight: 700; }
.ch-strength-list p { margin-top: 18px; font-size: 16px; line-height: 28px; }
.ch-cases { margin-top: 48px; }
.ch-cases__title { margin-top: 12px !important; font-size: 28px; line-height: 40px; font-weight: 700; }
.ch-cases__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; margin-top: 28px; }
.ch-case { display: block; }
.ch-case__photo { display: block; width: 100%; height: auto; aspect-ratio: 560/302; object-fit: cover; }
.ch-case__category { margin-top: 18px !important; font-size: 12px; font-weight: 700; line-height: 20px; }
.ch-case h4 { margin-top: 10px; font-size: 26px; font-weight: 700; line-height: 38px; }
.ch-case__company { margin-top: 14px !important; font-size: 13px; line-height: 22px; }
.ch-case__description { margin-top: 12px !important; font-size: 14px; line-height: 24px; }
.ch-case__link { width: 200px; margin-top: 18px; }
.ch-trust { display: grid; grid-template-columns: 116px repeat(2,minmax(0,1fr)); align-items: center; gap: 24px; margin-top: 48px; padding-top: 11px; padding-right: 24px; border-top: 1px solid #171719; }

.ch-news { padding-top: 72px; padding-bottom: 80px; }
.ch-news__inner { position: relative; display: grid; grid-template-columns: 300px minmax(0,1fr); column-gap: 52px; min-height: 268px; }
.ch-news h2 { margin-top: 12.4px; font-size: 36px; line-height: 50px; font-weight: 700; }
.ch-news__list { margin-top: 16px; box-shadow: 0 1px 0 #fff; }
.ch-news__item { position: relative; display: block; padding: 19px 40px 28px 0; border-top: 1px solid #fff; min-height: 106px; }
.ch-news__item time { display: block; font: 700 12px/18px var(--ch-english); }
.ch-news__item p { margin-top: 10px; font-size: 18px; line-height: 30px; }
.ch-news__item > img, .ch-news__item > .cx-arrow { position: absolute; right: 0; top: 51px; }
.ch-news__all { position: absolute; top: 220px; left: 64px; width: 264px; min-height: 48px; }
.ch-news__empty { padding: 24px 0; }

.ch-recruit { background: #23232c; }
.ch-recruit__inner { padding-top: 72px; padding-bottom: 48px; }
.ch-recruit .ch-outline { font-size: 88px; }
.ch-recruit h2 { margin-top: 24.44px; font-size: 46px; line-height: 64px; font-weight: 700; }
.ch-recruit__details { display: flex; justify-content: space-between; gap: 32px; margin-top: 24px; }
.ch-recruit__details > p { font-size: 16px; line-height: 28px; }
.ch-recruit__links { width: 264px; flex: none; }
.ch-recruit__links .ch-text-link { min-height: 48px; margin-top: 16px; }
.ch-recruit__photo { display: block; }
.ch-recruit__photo img { display: block; width: 100%; height: auto; aspect-ratio: 3/1; object-fit: cover; }
.ch-home .cx-contact { color: #171719; background: #fff; }

@media (min-width:768px) and (max-width:1199px) {
  .ch-home .cx-container { padding-right: 48px; padding-left: 48px; }
  .ch-hero__issue { font-size: 144px; line-height: 162px; }
  .ch-hero__wo { left: 472px; top: 84px; font-size: 44px; line-height: 60px; }
  .ch-hero__value { left: 168px; font-size: 158px; line-height: 178px; }
  .ch-hero__he { left: 726px; top: 264px; font-size: 44px; line-height: 60px; }
  .ch-hero__button { right: 48px; }
  .ch-hero__nav { left: 48px; right: 48px; }
  .ch-about h2 { font-size: 36px; }
  .ch-metrics__figure { font-size: 70px; }
  .ch-business__logo { width: 300px; margin-top: 42.71px; }
  .ch-business h2 { margin-top: 32.71px; font-size: 68px; line-height: 82px; }
  .ch-news__inner { grid-template-columns: 264px minmax(0,1fr); column-gap: 40px; }
  .ch-news__all { left: 48px; }
  .ch-recruit h2 { font-size: 40px; }
}

@media (min-width:768px) and (max-width:1023px) {
  .ch-hero__graphic { font-size: 12vw; }
  .ch-hero__issue { font-size: 14vw; }
  .ch-hero__wo { left: 46vw; }
  .ch-hero__value { left: 8vw; font-size: 15.4vw; }
  .ch-hero__he { left: 62vw; }
  .ch-hero__description { font-size: 14px; }
  .ch-hero__button { width: 224px !important; }
  .ch-about__inner { grid-template-columns: 1.2fr 1fr; gap: 28px; }
  .ch-about h2 { font-size: 28px; line-height: 44px; }
  .ch-about__description br { display: none; }
  .ch-metrics { gap: 16px; }
  .ch-metrics__figure { font-size: 50px; }
  .ch-metrics__unit { font-size: 16px; }
  .ch-metrics dt { font-size: 12px; }
  .ch-business h2 { font-size: 52px; line-height: 68px; }
  .ch-strength-list h3 { font-size: 20px; }
  .ch-strength-list p { font-size: 14px; line-height: 24px; }
  .ch-case h4 { font-size: 21px; line-height: 32px; }
  .ch-trust { grid-template-columns: 80px 1fr 1fr; gap: 16px; padding-right: 0; }
  .ch-trust .ch-text-link { font-size: 12px; }
  .ch-news__inner { grid-template-columns: 220px 1fr; gap: 32px; }
  .ch-news__all { width: 220px; }
  .ch-news .ch-outline { font-size: 68px; }
  .ch-recruit__details > p { max-width: 390px; }
}

@media (max-width:767px) {
  .ch-home .cx-container { padding-right: 24px; padding-left: 24px; }
  .ch-home .cx-button { width: 100%; }
  .ch-mobile-break { display: initial; }
  .ch-outline { margin-top: 16px !important; font-size: 56px; }
  .ch-hero__inner { height: 652px; padding-top: 34px; }
  .ch-hero__graphic { margin-top: 80px; height: 173px; }
  .ch-hero__issue { font-size: 77px; line-height: 86px; }
  .ch-hero__wo { left: 250px; top: 38px; font-size: 27px; line-height: 40px; }
  .ch-hero__value { top: 89px; left: 0; font-size: 75px; line-height: 84px; }
  .ch-hero__he { top: 123px; left: 261px; font-size: 27px; line-height: 40px; }
  .ch-hero__title { margin-top: 26px !important; font-size: 30px; line-height: 42px; }
  .ch-hero__description { margin-top: 19px !important; font-size: 14px; line-height: 25px; }
  .ch-hero__description .ch-desktop-copy { display: none; }
  .ch-home .ch-hero__button { position: static; margin-top: 20px; width: 256px; }
  .ch-hero__nav { left: 24px; right: 24px; height: 76px; }
  .ch-hero__nav a { padding: 12px 0 0; }
  .ch-hero__nav-name { margin-top: 8px; font-size: 12px; }
  .ch-hero__nav-arrow-desktop { display: none; }
  .ch-hero__nav-arrow-mobile { display: block; position: absolute; right: 10px; top: 39.47px; }
  .ch-about__inner { display: block; padding-top: 56px; padding-bottom: 56px; }
  .ch-about h2 { margin-top: 19.28px; font-size: 28px; line-height: 40px; }
  .ch-about__description { margin-top: 28px !important; }
  .ch-about .cx-button { margin-top: 32px; }
  .ch-about__photo { margin-top: 40px; height: auto; aspect-ratio: 327/286; }
  .ch-numbers__inner { padding-top: 47px; padding-bottom: 48px; }
  .ch-numbers .ch-outline { font-size: 54px; }
  .ch-numbers h2 { margin-top: 12.52px; font-size: 26px; line-height: 38px; }
  .ch-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 20px; row-gap: 0; margin-top: 36px !important; }
  .ch-metrics > div { min-height: 164px; }
  .ch-metrics dt { font-size: 12px; line-height: 20px; }
  .ch-metrics__figure { font-size: 51px; }
  .ch-metrics__unit { margin-left: 5px; font-size: 16px; line-height: 26px; }
  .ch-metrics small { margin-top: 12.9px; font-size: 10px; line-height: 17px; }
  .ch-numbers__note { font-size: 10px; line-height: 18px; }
  .ch-business { padding-top: 56px; padding-bottom: 56px; }
  .ch-business__logo { width: 240px; margin-top: 29.17px; }
  .ch-business h2 { margin-top: 33.17px; font-size: 30px; line-height: 42px; }
  .ch-business__description { margin-top: 24px !important; font-size: 16px; line-height: 28px; }
  .ch-business .ch-business__button { margin-top: 28px; }
  .ch-process { display: block; margin-top: 48px !important; }
  .ch-process li { display: grid; grid-template-columns: 80px minmax(0,1fr); column-gap: 12px; min-height: 112px; padding-top: 17px; padding-bottom: 14px; }
  .ch-process__number { grid-column: 1; grid-row: 1/3; margin-top: 4px; font-size: 44px; line-height: 49.28px; }
  .ch-process h3 { grid-column: 2; margin: 0; font-size: 18px; line-height: 26px; }
  .ch-process p { grid-column: 2; margin-top: 6px; }
  .ch-process li > img { display: none; }
  .ch-strengths__inner { padding-top: 55px; padding-bottom: 56px; }
  .ch-strengths .ch-outline { font-size: 44px; }
  .ch-strengths h2 { margin-top: 14.72px; font-size: 30px; line-height: 42px; }
  .ch-strength-list { display: block; margin-top: 36px !important; }
  .ch-strength-list li { display: grid; grid-template-columns: 40px minmax(0,1fr); align-content: start; column-gap: 16px; min-height: 170px; padding-top: 17px; padding-bottom: 4px; }
  .ch-strength-list li:nth-child(2) { min-height: 194px; }
  .ch-strength-list__number { grid-column: 1; grid-row: 1/3; font-size: 26px; line-height: 34px; }
  .ch-strength-list h3 { grid-column: 2; margin: 0; font-size: 21px; line-height: 30px; }
  .ch-strength-list p { grid-column: 2; margin-top: 16px; font-size: 14px; line-height: 24px; }
  .ch-cases { margin-top: 30px; }
  .ch-cases__title { font-size: 23px; line-height: 34px; }
  .ch-cases__grid { display: grid; grid-template-columns: minmax(0,1fr); row-gap: 40px; margin-top: 24px; }
  .ch-case__photo { aspect-ratio: 3/2; }
  .ch-case h4 { font-size: 23px; line-height: 34px; }
  .ch-case__company { font-size: 12px; }
  .ch-case__link { width: 100%; }
  .ch-trust { display: block; margin-top: 42px; padding-top: 21px; padding-right: 0; }
  .ch-trust > .ch-text-link { margin-top: 16px; }
  .ch-trust > .ch-text-link + .ch-text-link { margin-top: 24px; }
  .ch-news { padding-top: 56px; padding-bottom: 56px; }
  .ch-news__inner { display: block; min-height: 0; }
  .ch-news .ch-outline { font-size: 64px; }
  .ch-news h2 { margin-top: 12.32px; font-size: 30px; line-height: 42px; }
  .ch-news__list { margin-top: 32px; }
  .ch-news__item { min-height: 132px; }
  .ch-news__item p { font-size: 16px; line-height: 28px; }
  .ch-news__all { position: static; width: 100%; margin-top: 28px; }
  .ch-recruit__inner { padding-top: 56px; padding-bottom: 48px; }
  .ch-recruit .ch-outline { font-size: 56px; }
  .ch-recruit h2 { margin-top: 24.28px; font-size: 32px; line-height: 46px; }
  .ch-recruit__details { display: block; margin-top: 24px; }
  .ch-recruit__links { width: 100%; margin-top: 28px; }
  .ch-recruit__photo img { aspect-ratio: 375/300; }
}

@media (max-width:374px) {
  .ch-hero__issue { font-size: 68px; }
  .ch-hero__wo { left: 219px; }
  .ch-hero__value { font-size: 65px; }
  .ch-hero__he { left: 227px; }
  .ch-hero__title { font-size: 26px; }
  .ch-hero__nav-label { font-size: 9px; }
  .ch-about h2 { font-size: 25px; }
  .ch-numbers h2 { font-size: 23px; }
  .ch-metrics__figure { font-size: 44px; }
  .ch-metrics__unit { margin-left: 3px; font-size: 14px; }
  .ch-metrics dt { font-size: 10px; }
  .ch-business h2 { font-size: 26px; }
  .ch-strengths .ch-outline { font-size: 38px; }
  .ch-case h4 { font-size: 20px; }
}
@media (prefers-reduced-motion:reduce) { .ch-home a { transition: none; } }
