@charset "utf-8";
.df-container { width: calc(100% - var(--df-gutter) * 2); max-width: var(--df-content-max); margin-left: auto; margin-right: auto; }
.df-section { padding-top: var(--df-section-space); padding-bottom: var(--df-section-space); }
.df-section-heading { margin: 0; color: var(--df-color-text); font-family: var(--df-font-heading); font-size: var(--df-font-size-h2); font-weight: 700; line-height: 1.42; letter-spacing: var(--df-letter-spacing-heading); text-wrap: balance; }
.df-wrap-budoux { text-wrap: balance; }
.df-wrap-budoux.df-wrap-budoux-long { text-wrap: wrap; }
.df-section-heading-eyebrow { margin: 0 0 15px; color: var(--df-color-primary); font-size: 12px; font-weight: 800; letter-spacing: .15em; }
.df-button { display: inline-flex; min-width: 0; min-height: 52px; max-width: 100%; align-items: center; justify-content: center; padding: 12px 21px; border: 2px solid var(--df-color-primary); border-radius: var(--df-radius-control); box-shadow: 4px 4px 0 var(--df-color-accent-yellow); font: inherit; font-weight: 700; line-height: 1.5; text-align: center; text-decoration-line: none; transition: transform var(--df-transition-duration) var(--df-transition-easing), box-shadow var(--df-transition-duration) var(--df-transition-easing), background-color var(--df-transition-duration) var(--df-transition-easing), color var(--df-transition-duration) var(--df-transition-easing); }
.df-button-primary { background: var(--df-color-primary); color: #fff; }
.df-button-primary:hover, .df-button-primary:focus-visible { background: var(--df-color-primary-hover); color: #fff; transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--df-color-accent-yellow); }
.df-button-secondary { border-color: var(--df-color-primary); background: #fff; color: var(--df-color-primary); }
.df-button-secondary:hover, .df-button-secondary:focus-visible { background: var(--df-color-surface); color: var(--df-color-primary); transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--df-color-accent-yellow); }
.df-card-title { margin: 0; font-family: var(--df-font-heading); font-size: var(--df-font-size-h3); line-height: 1.4; }
.df-card-media { display: block; width: 100%; max-width: 100%; }
@media (prefers-reduced-motion: reduce) { .df-button { transition: none; } .df-button:hover, .df-button:focus-visible { transform: none; } }
.cr-subpage .cr-subhero { min-height: 0; padding: 0; background-color: var(--df-color-primary); background-image: none; border-bottom: 1px solid var(--df-color-line); }
.cr-subpage .cr-subhero > .df-container { width: calc(100% - var(--df-gutter) * 2); max-width: var(--df-content-max); margin: auto; padding: 55px 0 60px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.cr-subpage .cr-subhero h1 { margin-bottom: 12px; color: #fff; font-size: clamp(30px, 4vw, 46px); }
.cr-subpage .cr-subhero p:last-child { max-width: 570px; color: #e8f1fb; font-size: 16px; }
.cr-subpage .cr-sub-kicker { display: flex; align-items: center; gap: 12px; }
.cr-subpage .cr-sub-kicker::after { display: block; width: 28px; height: 1px; background: currentColor; content: ""; }
.cr-subpage .cr-subhero .cr-sub-kicker { color: var(--df-color-accent-yellow); }
.cr-subpage .cr-sub-media { width: 100%; max-width: 420px; margin-inline: auto; }
.cr-subpage .cr-sub-media img { aspect-ratio: 16 / 10; }
.cr-subpage .cr-sub-media img,
.cr-subpage .cr-service-media img { box-shadow: 7px 7px 0 var(--cr-photo-shadow, var(--df-color-accent-cyan)); }
.cr-services-page .cr-service-section:nth-of-type(2) .cr-service-media { --cr-photo-shadow: var(--df-color-accent-yellow); }
.cr-services-page .cr-service-section:nth-of-type(4) .cr-service-media { --cr-photo-shadow: var(--df-color-accent-coral); }
.cr-services-page .cr-service-section:nth-of-type(5) .cr-service-media { --cr-photo-shadow: var(--df-color-accent-yellow); }
.cr-corporate-page .cr-sub-media { --cr-photo-shadow: var(--df-color-accent-yellow); }
.cr-corporate-page .cr-corporate-team-layout .cr-sub-media { --cr-photo-shadow: var(--df-color-accent-coral); }
.cr-individual-page .cr-sub-media { --cr-photo-shadow: var(--df-color-accent-yellow); }
.cr-recruit-page .cr-sub-media { --cr-photo-shadow: var(--df-color-accent-coral); }
.cr-company-page .cr-company-message-layout { display: flex; flex-direction: column; align-items: center; gap: 36px; }
.cr-company-page .cr-company-message-layout .cr-sub-copy { width: 100%; }
.cr-company-page .cr-company-portrait { --cr-photo-shadow: var(--df-color-accent-yellow); flex: none; width: min(100%, 280px); max-width: 280px; height: auto; aspect-ratio: 4 / 5; margin-inline: auto; box-shadow: 7px 7px 0 var(--cr-photo-shadow); }
.cr-company-page .cr-company-portrait img { width: 100%; height: 100%; object-fit: cover; }
.cr-services-page .cr-service-layout { display: flex; flex-direction: column; }
.cr-services-page .cr-service-media { width: 100%; max-width: 420px; margin-inline: auto; }
@media (min-width: 768px) { .cr-subpage .cr-subhero > .df-container { display: flex; flex-direction: column; justify-content: center; min-height: 260px; } }
@media (min-width: 768px) { .cr-subpage .cr-sub-media { flex: 0 1 320px; width: 320px; max-width: 34%; margin-inline: 0; } }
@media (min-width: 768px) { .cr-company-page .cr-company-message-layout { flex-direction: row; justify-content: space-between; } .cr-company-page .cr-company-message-layout .cr-sub-copy { flex: 1 1 0; min-width: 0; } .cr-company-page .cr-company-portrait { flex: 0 0 280px; margin-inline: 0; } }
@media (min-width: 768px) { .cr-services-page .cr-service-layout { flex-direction: row; align-items: center; } .cr-services-page .cr-service-media { flex: 0 1 320px; width: 320px; max-width: 34%; margin-inline: 0; } }

/* A案を下層ページへ展開する共通表現 */
.cr-subpage {
  letter-spacing: .04em;
}

.cr-subpage .cr-subhero {
  position: relative;
  overflow: hidden;
  min-height: 330px;
  border: 0;
  background: linear-gradient(122deg, #0b2a8f 0%, #1553bb 68%, #1e6fe0 100%);
  color: #fff;
}

.cr-subpage .cr-subhero::before {
  position: absolute;
  top: -20%;
  right: -10%;
  width: 44%;
  height: 150%;
  background: linear-gradient(110deg, rgba(43,179,240,.05), rgba(43,179,240,.28));
  transform: skewX(-10deg);
  content: "";
  pointer-events: none;
}

.cr-subpage .cr-subhero::after {
  position: absolute;
  top: 0;
  right: 21%;
  width: 1px;
  height: 100%;
  background: rgba(255,255,255,.15);
  transform: skewX(-10deg);
  content: "";
  pointer-events: none;
}

.cr-subpage .cr-subhero > .df-container {
  position: relative;
  z-index: 1;
  max-width: var(--df-content-max);
  padding-top: clamp(70px,9vw,132px);
  padding-bottom: clamp(76px,9vw,136px);
}

.cr-subpage .cr-subhero h1,
.cr-subpage .cr-subhero h2 {
  margin: 0 0 26px;
  color: #fff;
  font-family: var(--df-font-heading);
  font-size: clamp(48px,6.3vw,90px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.015em;
}

.cr-subpage .cr-subhero p:last-child {
  max-width: 45em;
  color: rgba(255,255,255,.9);
  font-size: clamp(15px,1.2vw,18px);
  line-height: 1.95;
}

.cr-subpage .cr-sub-kicker {
  gap: 14px;
  margin-bottom: 24px;
  color: var(--cr-blue);
  font-family: var(--df-font-en);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.cr-subpage .cr-subhero .cr-sub-kicker,
.cr-subpage .cr-sub-cta .cr-sub-kicker {
  color: #7fd2fa;
}

.cr-subpage .cr-sub-kicker::after {
  width: 34px;
  background-color: currentColor;
}

.cr-subpage .cr-sub-section,
.cr-subpage .cr-service-section {
  border-color: var(--df-color-line);
}

.cr-subpage .cr-sub-section-alt,
.cr-subpage .cr-service-section-alt {
  background-color: var(--cr-pale);
}

.cr-subpage .cr-sub-section h2,
.cr-subpage .cr-service-copy h2,
.cr-subpage .cr-contact-section h2 {
  color: var(--cr-navy);
  font-family: var(--df-font-heading);
  font-size: clamp(32px,3.5vw,54px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.015em;
}

.cr-subpage .cr-sub-media,
.cr-subpage .cr-service-media,
.cr-subpage .cr-company-portrait {
  overflow: hidden;
}

.cr-subpage .cr-sub-media img,
.cr-subpage .cr-service-media img,
.cr-subpage .cr-company-portrait img {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.cr-subpage .cr-company-portrait {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.cr-subpage .cr-sub-facts > div,
.cr-subpage .cr-contact-types > div,
.cr-subpage .cr-works-empty,
.cr-subpage .cr-process-step {
  border: 1px solid var(--df-color-line);
  border-radius: 0;
  box-shadow: none;
  transition: border-color .6s cubic-bezier(.16,1,.3,1), box-shadow .6s cubic-bezier(.16,1,.3,1), background-color .6s cubic-bezier(.16,1,.3,1);
}

.cr-subpage .cr-sub-text-link,
.cr-subpage .cr-contact-guide-link {
  position: relative;
  border-bottom: 0;
  color: inherit;
  text-decoration-line: none;
}

.cr-subpage .cr-sub-text-link::after,
.cr-subpage .cr-contact-guide-link::after {
  position: absolute;
  right: 0;
  bottom: -4px;
  left: 0;
  height: 1px;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .5s cubic-bezier(.16,1,.3,1);
  content: "";
}

.cr-subpage .cr-sub-text-link:hover::after,
.cr-subpage .cr-sub-text-link:focus-visible::after,
.cr-subpage .cr-contact-guide-link:hover::after,
.cr-subpage .cr-contact-guide-link:focus-visible::after {
  transform: scaleX(1);
}

.cr-subpage .cr-sub-cta {
  position: relative;
  padding-top: clamp(90px,10vw,150px);
  padding-bottom: clamp(90px,10vw,150px);
  background: linear-gradient(130deg,#0b2a8f,#1e6fe0);
}

.cr-subpage .cr-sub-cta::before,
.cr-subpage .cr-sub-cta::after {
  border-radius: 0;
  background: rgba(127,210,250,.14);
  transform: skewX(-10deg);
}

.cr-subpage .cr-sub-cta::before {
  top: -30%;
  right: -10%;
  width: 34%;
  height: 170%;
}

.cr-subpage .cr-sub-cta::after {
  bottom: -20%;
  left: -12%;
  width: 28%;
  height: 125%;
}

.cr-subpage .cr-sub-cta h2 {
  color: #fff;
  font-size: clamp(34px,4.2vw,64px);
  line-height: 1.3;
}

.cr-subpage .cr-sub-cta p {
  color: rgba(255,255,255,.88);
}

.cr-subpage a.df-button,
.cr-subpage .cr-sub-cta .cr-sub-cta-links a.df-button,
.cr-subpage .cr-sub-cta > .df-container > a.df-button {
  position: relative;
  min-height: 64px;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 8px 68px 8px 30px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--cr-blue);
  box-shadow: none;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .1em;
  text-align: left;
  text-decoration-line: none;
  transform: none;
  transition: background-color .6s cubic-bezier(.16,1,.3,1), color .6s cubic-bezier(.16,1,.3,1), box-shadow .6s cubic-bezier(.16,1,.3,1);
}

.cr-subpage a.df-button:hover,
.cr-subpage a.df-button:focus-visible {
  background-color: var(--cr-navy);
  color: #fff;
  text-decoration-line: none;
  transform: none;
  box-shadow: none;
}

.cr-subpage .cr-sub-cta .cr-sub-cta-links a.df-button,
.cr-subpage .cr-sub-cta > .df-container > a.df-button {
  border-color: rgba(11,42,143,.14);
  background: #fff;
  color: var(--cr-navy);
}

.cr-subpage .cr-sub-cta .cr-sub-cta-links a.df-button:hover,
.cr-subpage .cr-sub-cta .cr-sub-cta-links a.df-button:focus-visible,
.cr-subpage .cr-sub-cta > .df-container > a.df-button:hover,
.cr-subpage .cr-sub-cta > .df-container > a.df-button:focus-visible {
  border-color: var(--cr-blue);
  background: var(--cr-blue);
  color: #fff;
  text-decoration-line: none;
  box-shadow: none;
}

.cr-subpage a.df-button::after {
  position: absolute;
  top: calc(50% - 24px);
  right: 8px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #fff;
  transition: transform .6s cubic-bezier(.16,1,.3,1), background-color .6s cubic-bezier(.16,1,.3,1);
  content: "";
}

.cr-subpage a.df-button > div::before,
.cr-subpage a.df-button > div::after {
  position: absolute;
  z-index: 1;
  top: calc(50% - 7px);
  right: 25px;
  width: 14px;
  height: 14px;
  background: var(--cr-blue);
  mask-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"%3E%3Cpath d="M2 8h11M9 3.5 13.5 8 9 12.5" fill="none" stroke="black" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E');
  mask-size: contain;
  mask-repeat: no-repeat;
  transition: transform .6s cubic-bezier(.16,1,.3,1), background-color .6s cubic-bezier(.16,1,.3,1);
  content: "";
}

.cr-subpage a.df-button > div::after {
  transform: translateX(-220%);
}

.cr-subpage a.df-button:hover::after,
.cr-subpage a.df-button:focus-visible::after {
  transform: translateX(4px);
}

.cr-subpage a.df-button:hover > div::before,
.cr-subpage a.df-button:focus-visible > div::before {
  transform: translateX(220%);
}

.cr-subpage a.df-button:hover > div::after,
.cr-subpage a.df-button:focus-visible > div::after {
  transform: none;
}

.cr-subpage .cr-sub-cta a.df-button::after {
  background-color: var(--cr-blue);
}

.cr-subpage .cr-sub-cta a.df-button > div::before,
.cr-subpage .cr-sub-cta a.df-button > div::after {
  background-color: #fff;
}

.cr-subpage .cr-sub-cta a.df-button:hover::after,
.cr-subpage .cr-sub-cta a.df-button:focus-visible::after {
  background-color: #fff;
}

.cr-subpage .cr-sub-cta a.df-button:hover > div::before,
.cr-subpage .cr-sub-cta a.df-button:hover > div::after,
.cr-subpage .cr-sub-cta a.df-button:focus-visible > div::before,
.cr-subpage .cr-sub-cta a.df-button:focus-visible > div::after {
  background-color: var(--cr-blue);
}

@media (max-width: 767px) {
  .cr-subpage .cr-subhero::after { display: none; }
  .cr-subpage .cr-subhero::before { width: 70%; right: -35%; }
  .cr-subpage .cr-subhero > .df-container { padding-top: 82px; padding-bottom: 88px; }
  .cr-subpage a.df-button { width: 100%; justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .cr-subpage a.df-button,
  .cr-subpage a.df-button::after,
  .cr-subpage a.df-button > div::before,
  .cr-subpage a.df-button > div::after,
  .cr-subpage .cr-sub-media img,
  .cr-subpage .cr-service-media img,
  .cr-subpage .cr-company-portrait img { transition-duration: 0.01ms; }
}

/* 固有の一覧・フォームも同じ視覚規則に揃える */
.cr-subpage.cr-works-page .cr-works-list-link {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--df-color-line);
  border-radius: 0;
  box-shadow: none;
  color: var(--df-color-text);
  transform: none;
  transition: border-color .6s cubic-bezier(.16,1,.3,1), box-shadow .6s cubic-bezier(.16,1,.3,1);
}
.cr-subpage.cr-works-page .cr-works-list-link::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: var(--cr-blue);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .7s cubic-bezier(.16,1,.3,1);
  content: "";
}
.cr-subpage.cr-works-page .cr-works-list-link:hover,
.cr-subpage.cr-works-page .cr-works-list-link:focus-visible {
  border-color: rgba(30,111,224,.4);
  box-shadow: 0 16px 34px rgba(11,42,143,.1);
  transform: none;
}
.cr-subpage.cr-works-page .cr-works-list-link:hover::before,
.cr-subpage.cr-works-page .cr-works-list-link:focus-visible::before { transform: scaleX(1); }
.cr-subpage.cr-works-page .cr-works-list-category { border-radius: 0; }

.cr-subpage.cr-contact-page .cr-contact-section { background: var(--cr-pale); }
.cr-subpage.cr-contact-page .cr-contact-aside {
  overflow: hidden;
  border-radius: 0;
  background: linear-gradient(145deg,#0b2a8f,#1e6fe0);
}
.cr-subpage.cr-contact-page .cr-contact-aside .cr-sub-kicker { color: #7fd2fa; }
.cr-subpage.cr-contact-page .cr-contact-aside h2 { color: #fff; }
.cr-subpage.cr-contact-page .cr-contact-guide-link:hover,
.cr-subpage.cr-contact-page .cr-contact-guide-link:focus-visible { color: #fff; }
.cr-subpage.cr-contact-page .cr-contact-form-panel {
  border-radius: 0;
  border-color: var(--df-color-line);
  box-shadow: 0 22px 55px rgba(11,42,143,.08);
}
.cr-subpage.cr-contact-page .cr-contact-field input:not([type="checkbox"]),
.cr-subpage.cr-contact-page .cr-contact-field select,
.cr-subpage.cr-contact-page .cr-contact-field textarea {
  border-radius: 0;
  transition: border-color .3s ease, box-shadow .3s ease;
}
.cr-subpage.cr-contact-page .cr-contact-field input:not([type="checkbox"]):focus,
.cr-subpage.cr-contact-page .cr-contact-field select:focus,
.cr-subpage.cr-contact-page .cr-contact-field textarea:focus {
  border-color: var(--cr-blue);
  box-shadow: 0 0 0 3px rgba(30,111,224,.12);
}
.cr-subpage.cr-contact-page .cr-contact-submit {
  position: relative;
  min-height: 58px;
  padding: 10px 66px 10px 30px;
  border-radius: 999px;
  background: var(--cr-blue);
  box-shadow: none;
  transition: background-color .6s cubic-bezier(.16,1,.3,1);
}
.cr-subpage.cr-contact-page .cr-contact-submit::before {
  position: absolute;
  top: calc(50% - 20px);
  right: 8px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  transition: transform .6s cubic-bezier(.16,1,.3,1);
  content: "";
}
.cr-subpage.cr-contact-page .cr-contact-submit::after {
  position: absolute;
  top: calc(50% - 7px);
  right: 21px;
  width: 14px;
  height: 14px;
  background: var(--cr-blue);
  mask-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"%3E%3Cpath d="M2 8h11M9 3.5 13.5 8 9 12.5" fill="none" stroke="black" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E');
  mask-size: contain;
  mask-repeat: no-repeat;
  transition: transform .6s cubic-bezier(.16,1,.3,1), background-color .6s cubic-bezier(.16,1,.3,1);
  content: "";
}
.cr-subpage.cr-contact-page .cr-contact-submit:hover,
.cr-subpage.cr-contact-page .cr-contact-submit:focus-visible {
  background: var(--cr-navy);
}
.cr-subpage.cr-contact-page .cr-contact-submit:hover::before,
.cr-subpage.cr-contact-page .cr-contact-submit:hover::after,
.cr-subpage.cr-contact-page .cr-contact-submit:focus-visible::before,
.cr-subpage.cr-contact-page .cr-contact-submit:focus-visible::after {
  transform: translateX(4px);
}
.cr-subpage.cr-contact-page .cr-contact-submit:hover::after,
.cr-subpage.cr-contact-page .cr-contact-submit:focus-visible::after {
  background: var(--cr-navy);
}

@media (min-width: 768px) {
  .cr-subpage .cr-sub-media { flex-basis: 43%; width: 43%; max-width: 43%; }
  .cr-subpage.cr-services-page .cr-service-media { flex-basis: 43%; width: 43%; max-width: 43%; }
}

/* A案の英字見出しと10度の写真面。ページ本文は各ページCSSで構成する。 */
.cr-subpage .cr-subhero { min-height:0; background:var(--cr-navy); }
.cr-subpage .cr-subhero > .df-container { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-height:clamp(410px,39vw,570px); padding-top:clamp(82px,9vw,130px); padding-bottom:clamp(82px,9vw,130px); }
.cr-subpage .cr-subhero::before { top:-40%; right:-15%; width:66vw; height:66vw; max-width:1100px; max-height:1100px; border:clamp(40px,7vw,110px) solid rgba(255,255,255,.08); border-radius:50%; background:none; transform:none; }
.cr-subpage .cr-subhero::after { top:0; right:0; width:47%; height:100%; border:0; background:var(--cr-hero-photo) center / cover no-repeat; clip-path:polygon(15% 0,100% 0,100% 100%,0 100%); transform:none; opacity:.86; }
.cr-subpage .cr-subhero .cr-sub-kicker { display:flex; align-items:center; gap:15px; margin:0 0 18px; color:#9bd9fa; font-size:11px; letter-spacing:.18em; }
.cr-subpage .cr-subhero .cr-sub-kicker::before,
.cr-subpage .cr-sub-section .cr-sub-kicker::before,
.cr-subpage .cr-service-copy .cr-service-number::before { content:""; flex:none; width:16px; height:15px; background:linear-gradient(90deg,var(--cr-navy) 0 37%,transparent 37% 62%,var(--cr-sky) 62%); transform:skewX(var(--cr-skew)); }
.cr-subpage .cr-subhero .cr-sub-kicker::before { background:linear-gradient(90deg,#fff 0 37%,transparent 37% 62%,var(--cr-sky) 62%); }
.cr-subpage .cr-subhero .cr-sub-kicker::after { display:none; }
.cr-subpage .cr-subhero-en { display:block; max-width:100%; color:#fff; font:700 clamp(64px,7.2vw,124px)/1.02 var(--df-font-en); letter-spacing:-.045em; overflow-wrap:anywhere; }
.cr-subpage .cr-subhero h1,
.cr-subpage .cr-subhero h2 { margin:21px 0 16px; color:#fff; font:700 clamp(22px,2.3vw,32px)/1.4 var(--df-font-heading); letter-spacing:.09em; }
.cr-subpage .cr-subhero p:last-child { max-width:34em; margin:0; color:rgba(255,255,255,.88); font-size:clamp(14px,1.1vw,16px); line-height:1.9; }
.cr-subpage:where(.cr-services-page,.cr-corporate-page,.cr-individual-page,.cr-company-page,.cr-recruit-page) .cr-subhero > .df-container { padding-right:min(46%,610px); }
.cr-subpage.cr-services-page { --cr-hero-photo:url("https://cre-as.co.jp/system_panel/uploads/images/20261017231348874226.jpg"); }
.cr-subpage.cr-corporate-page { --cr-hero-photo:url("https://cre-as.co.jp/system_panel/uploads/images/20261017231350129202.jpg"); }
.cr-subpage.cr-individual-page { --cr-hero-photo:url("https://cre-as.co.jp/system_panel/uploads/images/20261017132537195943.jpg"); }
.cr-subpage.cr-company-page .cr-subhero::after { background:linear-gradient(165deg,var(--cr-blue),var(--cr-navy)); opacity:1; }
.cr-subpage.cr-recruit-page { --cr-hero-photo:url("https://cre-as.co.jp/system_panel/uploads/images/20261017220811834540.jpg"); }
.cr-subpage.cr-works-detail-page .cr-subhero,
.cr-subpage.cr-process-page .cr-subhero,
.cr-subpage.cr-contact-page .cr-subhero { background:var(--cr-pale); }
.cr-subpage.cr-works-detail-page .cr-subhero h1 { color:var(--cr-navy); font:700 clamp(22px,2.3vw,32px)/1.4 var(--df-font-heading); }
.cr-subpage.cr-works-detail-page .cr-subhero p:last-child { color:var(--cr-ink-soft); }
.cr-subpage:where(.cr-process-page,.cr-works-detail-page,.cr-contact-page) .cr-subhero { background:var(--cr-pale); color:var(--cr-navy); }
.cr-subpage:where(.cr-process-page,.cr-works-detail-page,.cr-contact-page) .cr-subhero::after { display:none; }
.cr-subpage:where(.cr-process-page,.cr-works-detail-page,.cr-contact-page) .cr-subhero::before { border-color:rgba(30,111,224,.09); }
.cr-subpage:where(.cr-process-page,.cr-works-detail-page,.cr-contact-page) .cr-subhero :is(.cr-subhero-en,h1,h2) { color:var(--cr-navy); }
.cr-subpage:where(.cr-process-page,.cr-works-detail-page,.cr-contact-page) .cr-subhero p:last-child { color:var(--cr-ink-soft); }
.cr-subpage:where(.cr-process-page,.cr-works-detail-page,.cr-contact-page) .cr-subhero .cr-sub-kicker { color:var(--cr-blue); }
.cr-subpage:where(.cr-process-page,.cr-works-detail-page,.cr-contact-page) .cr-subhero .cr-sub-kicker::before { background:linear-gradient(90deg,var(--cr-navy) 0 37%,transparent 37% 62%,var(--cr-sky) 62%); }
.cr-subpage.cr-works-page .cr-subhero { background:linear-gradient(120deg,#071a5c,var(--cr-navy)); }
.cr-subpage.cr-works-page .cr-subhero::after { display:none; }
.cr-subpage .cr-sub-section .cr-sub-kicker,
.cr-subpage .cr-service-copy .cr-service-number { display:flex; align-items:center; gap:14px; }
.cr-subpage .cr-sub-section .cr-sub-kicker::after { display:none; }
.cr-subpage .cr-sub-cta { background:var(--cr-navy); }
.cr-subpage .cr-sub-cta h2 { font-size:clamp(34px,4vw,60px); }
.cr-subpage .cr-sub-media img,
.cr-subpage .cr-service-media img,
.cr-subpage .cr-company-portrait img { display:block; width:100%; height:100%; object-fit:cover; }
.cr-subpage .cr-sub-media,
.cr-subpage .cr-service-media { position:relative; }
.cr-subpage .cr-sub-media::before,
.cr-subpage .cr-service-media::before { position:absolute; right:4%; bottom:0; width:19%; height:36%; background:linear-gradient(170deg,var(--cr-blue),var(--cr-navy)); transform:skewX(var(--cr-skew)); content:""; pointer-events:none; }
@media (max-width:767px) {
  .cr-subpage.cr-corporate-page .cr-subhero + .cr-sub-section .cr-sub-layout,
  .cr-subpage.cr-individual-page .cr-subhero + .cr-sub-section .cr-sub-layout,
  .cr-subpage.cr-company-page .cr-company-message-layout,
  .cr-subpage.cr-recruit-page .cr-subhero + .cr-sub-section .cr-sub-layout { flex-direction:column; }
  .cr-subpage .cr-subhero > .df-container { min-height:0; padding-top:82px 72px; padding-bottom:82px 72px; }
  .cr-subpage:where(.cr-services-page,.cr-corporate-page,.cr-individual-page,.cr-company-page,.cr-recruit-page) .cr-subhero > .df-container { min-height:540px; justify-content:flex-start; padding-right:0; }
  .cr-subpage:where(.cr-services-page,.cr-corporate-page,.cr-individual-page,.cr-company-page,.cr-recruit-page) .cr-subhero::after { display:block; top:auto; right:0; bottom:0; width:100%; height:46%; clip-path:polygon(0 13%,100% 0,100% 100%,0 100%); opacity:.64; }
  .cr-subpage .cr-subhero-en { font-size:clamp(48px,12vw,76px); }
  .cr-subpage .cr-subhero h1,
  .cr-subpage .cr-subhero h2 { margin-top:14px; font-size:23px; }
}

/* 法人：設備写真と確認条件を、図面のような細線で接続する。 */
.cr-subpage.cr-corporate-page .cr-subhero + .cr-sub-section .cr-sub-layout { display:flex; flex-direction:row; align-items:center; gap:clamp(42px,6vw,100px); }
.cr-subpage.cr-corporate-page .cr-subhero + .cr-sub-section .cr-sub-media { flex-basis:54%; width:54%; max-width:none; height:clamp(390px,38vw,600px); padding:0; }
.cr-subpage.cr-corporate-page .cr-subhero + .cr-sub-section .cr-sub-media img { aspect-ratio:auto; clip-path:polygon(10% 0,100% 0,90% 100%,0 100%); }
.cr-subpage.cr-corporate-page .cr-sub-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; max-width:none; padding:0; border-top:1px solid var(--cr-line); background:transparent; }
.cr-subpage.cr-corporate-page .cr-sub-facts p { margin:0; padding:22px 12px 22px 32px; border-bottom:1px solid var(--cr-line); position:relative; }
.cr-subpage.cr-corporate-page .cr-sub-facts p::before { content:""; position:absolute; left:2px; top:30px; width:7px; height:7px; background:var(--cr-blue); transform:skewX(var(--cr-skew)); }
.cr-subpage.cr-corporate-page .cr-corporate-flow { max-width:none; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; margin-top:42px; border-top:1px solid var(--cr-line); }
.cr-subpage.cr-corporate-page .cr-corporate-flow > div { padding:24px 18px; border-bottom:1px solid var(--cr-line); border-right:1px solid var(--cr-line); }
.cr-subpage.cr-corporate-page .cr-corporate-flow-num { font:700 clamp(38px,4vw,66px)/1 var(--df-font-en); color:var(--cr-blue); }
.cr-subpage.cr-corporate-page .cr-corporate-team-layout .cr-sub-media { flex-basis:52%; width:52%; max-width:none; height:clamp(300px,32vw,500px); padding:0; }
.cr-subpage.cr-corporate-page .cr-corporate-team-layout .cr-sub-media img { aspect-ratio:auto; }

/* 個人：住宅写真を大きく見せ、相談の準備は軽い情報帯にする。 */
.cr-subpage.cr-individual-page .cr-subhero { background:linear-gradient(125deg,var(--cr-navy),#1b5ac4); }
.cr-subpage.cr-individual-page .cr-subhero + .cr-sub-section .cr-sub-layout { display:flex; flex-direction:row; align-items:center; gap:clamp(40px,6vw,90px); }
.cr-subpage.cr-individual-page .cr-subhero + .cr-sub-section .cr-sub-media { flex-basis:60%; width:60%; max-width:none; height:clamp(430px,42vw,650px); padding:0; }
.cr-subpage.cr-individual-page .cr-subhero + .cr-sub-section .cr-sub-media img { aspect-ratio:auto; clip-path:polygon(10% 0,100% 0,90% 100%,0 100%); }
.cr-subpage.cr-individual-page .cr-sub-section-alt .cr-sub-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.7fr); }
.cr-subpage.cr-individual-page .cr-sub-section-alt .cr-sub-layout::after { content:"CAD / PLANNING"; display:flex; align-items:center; justify-content:center; min-height:240px; border:1px solid rgba(30,111,224,.25); color:rgba(11,42,143,.26); font:700 clamp(28px,4vw,64px)/1 var(--df-font-en); letter-spacing:-.03em; transform:skewX(var(--cr-skew)); }
.cr-subpage.cr-individual-page .cr-sub-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 30px; padding:0; background:transparent; }
.cr-subpage.cr-individual-page .cr-sub-facts p { margin:0; padding:18px 0; border-bottom:1px solid var(--cr-line); }

/* 工程：5つの工程を一本の線でつなぐ。 */
.cr-subpage.cr-process-page .cr-subhero > .df-container { min-height:350px; }
.cr-subpage.cr-process-page .cr-process-list { max-width:1100px; position:relative; }
.cr-subpage.cr-process-page .cr-process-list::before { content:""; position:absolute; left:clamp(50px,8vw,110px); top:35px; bottom:35px; width:1px; background:var(--cr-line); }
.cr-subpage.cr-process-page .cr-process-step { position:relative; display:grid; grid-template-columns:clamp(100px,16vw,220px) 1fr; gap:clamp(20px,3vw,55px); padding:clamp(32px,5vw,66px) 0; border:0; border-bottom:1px solid var(--cr-line); background:transparent; }
.cr-subpage.cr-process-page .cr-process-step:first-child { border-top:1px solid var(--cr-line); }
.cr-subpage.cr-process-page .cr-process-num { z-index:1; width:max-content; padding-right:14px; background:#fff; color:var(--cr-blue); font:700 clamp(54px,7vw,106px)/1 var(--df-font-en); letter-spacing:-.05em; }
.cr-subpage.cr-process-page .cr-process-step h2 { margin:4px 0 14px; font-size:clamp(27px,2.8vw,42px); }
.cr-subpage.cr-process-page .cr-process-step p { max-width:48em; color:var(--cr-ink-soft); }

/* 実績：CMSの可変情報を写真なしでも読みやすい記事一覧に。 */
.cr-subpage.cr-works-page .cr-subhero > .df-container { min-height:380px; }
.cr-subpage.cr-works-page .webgene-blog { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(18px,2vw,34px); }
.cr-subpage.cr-works-page .webgene-blog .webgene-item { min-width:0; max-width:none; }
.cr-subpage.cr-works-page .webgene-blog .webgene-item:first-child { grid-column:span 2; }
.cr-subpage.cr-works-page .cr-works-list-link { min-height:270px; padding:clamp(24px,3vw,45px); }
.cr-subpage.cr-works-page .webgene-blog .webgene-item:first-child .cr-works-list-link { min-height:350px; background:var(--cr-pale); }
.cr-subpage.cr-works-page .webgene-blog h3 { font-size:clamp(23px,2.6vw,38px); }
.cr-subpage.cr-works-detail-page .cr-subhero > .df-container { min-height:300px; }
.cr-subpage.cr-works-detail-page .cr-sub-cta { background:var(--cr-navy); }
.cr-subpage.cr-works-detail-page .cr-works-detail-shell .webgene-blog { max-width:850px; margin-inline:auto; }
.cr-subpage.cr-works-detail-page .cr-works-detail-shell .webgene-item h1 { color:var(--cr-navy); font-size:clamp(32px,4.3vw,62px); line-height:1.25; }
.cr-subpage.cr-works-detail-page .cr-works-detail-shell .webgene-item-date { border-bottom:1px solid var(--cr-line); padding-bottom:16px; }

/* 会社：短い紹介を情報帯、代表の言葉を独立した誌面にする。 */
.cr-subpage.cr-company-page .cr-subhero + .cr-sub-section { background:var(--cr-pale); }
.cr-subpage.cr-company-page .cr-subhero + .cr-sub-section > .df-container { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); gap:24px 70px; }
.cr-subpage.cr-company-page .cr-subhero + .cr-sub-section .cr-sub-kicker { grid-column:1/-1; }
.cr-subpage.cr-company-page .cr-subhero + .cr-sub-section h2 { margin:0; }
.cr-subpage.cr-company-page .cr-subhero + .cr-sub-section p:not(.cr-sub-kicker) { margin:0; }
.cr-subpage.cr-company-page .cr-company-message-layout { display:flex; flex-direction:row; align-items:center; gap:clamp(36px,7vw,120px); }
.cr-subpage.cr-company-page .cr-company-message-layout .cr-sub-copy { flex-basis:60%; }
.cr-subpage.cr-company-page .cr-company-portrait { flex-basis:35%; width:35%; max-width:none; align-self:stretch; }
.cr-subpage.cr-company-page .cr-company-portrait img { min-height:430px; aspect-ratio:auto; object-position:center 25%; }
.cr-subpage.cr-company-page .cr-company-identity { display:flex; flex:0 0 35%; align-items:center; justify-content:center; min-height:320px; border:1px solid rgba(30,111,224,.2); color:rgba(11,42,143,.22); font:700 clamp(42px,5vw,85px)/1 var(--df-font-en); letter-spacing:-.04em; transform:skewX(var(--cr-skew)); }
.cr-subpage.cr-company-page .cr-company-facts { max-width:900px; margin-top:40px; }
.cr-subpage.cr-company-page .cr-subhero > .df-container { min-height:450px; }

/* 採用：写真から仕事へ、募集要項は読みやすい表へ。 */
.cr-subpage.cr-recruit-page .cr-subhero + .cr-sub-section .cr-sub-layout { display:flex; flex-direction:row; align-items:center; gap:clamp(40px,6vw,90px); }
.cr-subpage.cr-recruit-page .cr-subhero + .cr-sub-section .cr-sub-media { flex-basis:57%; width:57%; max-width:none; height:clamp(390px,40vw,600px); padding:0; }
.cr-subpage.cr-recruit-page .cr-subhero + .cr-sub-section .cr-sub-media img { aspect-ratio:auto; clip-path:polygon(9% 0,100% 0,91% 100%,0 100%); }
.cr-subpage.cr-recruit-page .cr-recruit-facts { max-width:1000px; margin-top:35px; }
.cr-subpage.cr-recruit-page .cr-recruit-facts > div { border-bottom:1px solid var(--cr-line); }

/* お問い合わせ：文字の導入を短くし、案内とフォームを揃える。 */
.cr-subpage.cr-contact-page .cr-subhero > .df-container { min-height:330px; }
.cr-subpage.cr-contact-page .cr-contact-section { background:var(--cr-pale); }
.cr-subpage.cr-contact-page .cr-contact-layout { gap:clamp(22px,3vw,50px); }
.cr-subpage.cr-contact-page .cr-contact-aside { flex-basis:37%; }
.cr-subpage.cr-contact-page .cr-contact-form-panel { flex-basis:63%; }
@media (max-width:767px) {
  .cr-subpage.cr-corporate-page .cr-subhero + .cr-sub-section .cr-sub-media,
  .cr-subpage.cr-corporate-page .cr-corporate-team-layout .cr-sub-media,
  .cr-subpage.cr-individual-page .cr-subhero + .cr-sub-section .cr-sub-media,
  .cr-subpage.cr-recruit-page .cr-subhero + .cr-sub-section .cr-sub-media { flex:auto; width:100%; max-width:none; height:clamp(260px,75vw,420px); }
  .cr-subpage.cr-corporate-page .cr-corporate-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cr-subpage.cr-corporate-page .cr-sub-facts,
  .cr-subpage.cr-individual-page .cr-sub-facts { grid-template-columns:1fr; }
  .cr-subpage.cr-individual-page .cr-sub-section-alt .cr-sub-layout { grid-template-columns:1fr; }
  .cr-subpage.cr-individual-page .cr-sub-section-alt .cr-sub-layout::after { min-height:150px; }
  .cr-subpage.cr-process-page .cr-process-list::before { left:35px; }
  .cr-subpage.cr-process-page .cr-process-step { grid-template-columns:70px 1fr; gap:17px; }
  .cr-subpage.cr-process-page .cr-process-num { font-size:50px; }
  .cr-subpage.cr-works-page .webgene-blog { grid-template-columns:1fr; }
  .cr-subpage.cr-works-page .webgene-blog .webgene-item:first-child { grid-column:auto; }
  .cr-subpage.cr-company-page .cr-subhero + .cr-sub-section > .df-container { display:block; }
  .cr-subpage.cr-company-page .cr-company-portrait { flex:auto; width:100%; max-width:none; }
  .cr-subpage.cr-company-page .cr-company-portrait img { min-height:0; max-height:500px; }
  .cr-subpage.cr-company-page .cr-company-identity { width:100%; min-height:155px; font-size:clamp(45px,10vw,70px); }
  .cr-subpage.cr-company-page .cr-subhero > .df-container { min-height:390px; }
  .cr-subpage.cr-services-page .cr-service-section { padding-top:76px; padding-bottom:76px; }
  .cr-subpage.cr-services-page .cr-service-section .cr-service-layout { flex-direction:column; gap:34px; }
  .cr-subpage.cr-services-page .cr-service-section .cr-service-media,
  .cr-subpage.cr-services-page .cr-service-section:nth-of-type(3) .cr-service-media,
  .cr-subpage.cr-services-page .cr-service-section:nth-of-type(4) .cr-service-media,
  .cr-subpage.cr-services-page .cr-service-section:nth-of-type(5) .cr-service-media { flex:none; width:100%; max-width:none; height:clamp(250px,75vw,410px); }
  .cr-subpage.cr-services-page .cr-service-section .cr-service-media img { clip-path:polygon(8% 0,100% 0,92% 100%,0 100%); }
  .cr-subpage.cr-services-page .cr-service-section-alt .cr-service-copy,
  .cr-subpage.cr-services-page .cr-service-section-alt .cr-service-media { order:0; }
  .cr-subpage.cr-corporate-page .cr-subhero + .cr-sub-section .cr-sub-layout,
  .cr-subpage.cr-individual-page .cr-subhero + .cr-sub-section .cr-sub-layout,
  .cr-subpage.cr-company-page .cr-company-message-layout,
  .cr-subpage.cr-recruit-page .cr-subhero + .cr-sub-section .cr-sub-layout { flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) {
  .blue-arc-top.blue-arc-top .ba-process-steps > div,
  .blue-arc-top.blue-arc-top .ba-works > img { transition-duration:0s; }
}

/* 2026 editorial revision: scoped to revised lower pages */
.cr-rev{--rev-navy:#0b2a8f;--rev-blue:#1e6fe0;--rev-pale:#eef4fc;--rev-ink:#101a22;--rev-copy:#47546a;--rev-label-blue:#1a62d0;color:var(--rev-ink);font-family:"Noto Sans JP",sans-serif;letter-spacing:.035em}
.cr-rev *{box-sizing:border-box}
.cr-rev .rev-hero{position:relative;overflow:hidden;background:#fff;color:var(--rev-ink);padding:clamp(86px,10vw,150px) 0 clamp(54px,7vw,110px)}
.cr-rev .rev-hero-split{background:var(--rev-pale)}
.cr-rev .rev-hero-inner{display:grid;gap:40px;align-items:center}
.cr-rev .rev-hero-inner>div{position:relative;z-index:1}
.cr-rev .rev-hero-inner>img{display:block;width:100%;height:clamp(290px,40vw,560px);object-fit:cover;object-position:center}
.cr-rev .rev-hero h1{margin:12px 0 8px;color:var(--rev-ink);font:700 clamp(48px,7.2vw,104px)/1.04 Montserrat,"Noto Sans JP",sans-serif;letter-spacing:-.055em}
.cr-rev .rev-hero p{max-width:650px;margin:18px 0 0;color:#41516c;font-size:clamp(15px,1.22vw,18px);line-height:1.85}
.cr-rev .rev-eyebrow{display:inline-block;color:var(--rev-blue);font:700 12px/1.3 Montserrat,"Noto Sans JP",sans-serif;letter-spacing:.2em}
.cr-rev .rev-label{display:flex;align-items:center;gap:14px;color:var(--rev-label-blue);font-size:14px;font-weight:700;letter-spacing:.14em}
.cr-rev .rev-label::before{content:"";display:block;flex:none;width:17px;height:16px;background:linear-gradient(90deg,#0b2a8f 0 35%,transparent 35% 60%,#2bb3f0 60%);transform:skewX(-10deg)}
.cr-rev .rev-hero .rev-label{color:var(--rev-navy);font-size:clamp(19px,2.3vw,28px);font-weight:700;line-height:1.45}
.cr-rev .rev-section{padding:clamp(66px,8vw,120px) 0;scroll-margin-top:95px}
.cr-subpage.cr-rev .cr-circle-accent{position:relative;overflow:hidden;isolation:isolate}
.cr-subpage.cr-rev .cr-circle-accent::before{position:absolute;z-index:0;top:-140px;right:-250px;width:clamp(580px,62vw,950px);aspect-ratio:1;border:clamp(48px,6vw,96px) solid var(--cr-circle-color,#eef4fc);border-radius:50%;content:"";pointer-events:none}
.cr-subpage.cr-rev .cr-circle-accent>.df-container{position:relative;z-index:1}
.cr-subpage.cr-rev .cr-circle-on-pale{--cr-circle-color:#fff}
@media (max-width:767px){.cr-subpage.cr-rev .cr-circle-accent::before{top:-50px;right:-260px;width:530px;border-width:55px}}
.cr-rev .rev-section-heading{margin-bottom:clamp(28px,4vw,58px)}
.cr-rev h2{margin:10px 0 8px;color:var(--rev-ink);font:700 clamp(34px,4.4vw,64px)/1.12 Montserrat,"Noto Sans JP",sans-serif;letter-spacing:-.045em}
.cr-rev :is(.rev-section-heading,.rev-feature>div:not(.rev-image),.cr-company-people-copy,.cr-recruit-learning-grid):not(.cr-prose-head) h2{font-size:clamp(32px,3.7vw,54px);font-weight:700}
.cr-rev h3{margin:0 0 10px;color:var(--rev-navy);font-size:clamp(18px,2vw,24px);line-height:1.5}
.cr-rev p{line-height:1.9}
.cr-subpage.cr-rev .rev-section p:not(.rev-label):not(.rev-note):not(.cr-quote-text):not(.cr-prose-lead):not(.cr-prose-detail){color:var(--rev-copy);font-family:"Noto Sans JP",sans-serif;font-size:16px;font-weight:400;line-height:1.85}
.cr-subpage.cr-rev .rev-section .rev-scope-main p:not(.rev-label):not(.rev-note){color:#fff}
.cr-subpage.cr-rev.cr-contact-page .cr-contact-aside>p:not(.rev-label),.cr-subpage.cr-rev.cr-contact-page .cr-contact-guide-item p,.cr-subpage.cr-rev.cr-thanks-page .cr-thanks-copy p:not(.rev-label){color:var(--rev-copy);font-family:"Noto Sans JP",sans-serif;font-size:16px;font-weight:400;line-height:1.85}
.cr-rev .rev-section-heading .rev-label{margin:clamp(14px,1.4vw,22px) 0 0}
.cr-subpage.cr-rev .cr-prose-head .rev-eyebrow{display:block;color:var(--rev-ink);font:700 clamp(44px,5vw,88px)/1.04 Montserrat,"Noto Sans JP",sans-serif;letter-spacing:-.055em;text-transform:none}
.cr-subpage.cr-rev .cr-prose-head h2{display:flex;align-items:center;gap:12px;margin:12px 0 0;color:var(--rev-label-blue);font-family:"Noto Sans JP",sans-serif;font-size:14px;font-weight:700;line-height:1.5;letter-spacing:.08em}
.cr-subpage.cr-rev .cr-prose-head h2::before{display:block;flex:none;width:17px;height:16px;background:linear-gradient(90deg,#0b2a8f 0 35%,transparent 35% 60%,#2bb3f0 60%);transform:skewX(-10deg);content:""}
.cr-subpage.cr-rev .cr-prose-head .cr-prose-lead{max-width:640px;margin:38px 0 0;color:var(--rev-navy);font-family:"Noto Sans JP",sans-serif;font-size:22px;font-weight:700;line-height:1.65;letter-spacing:0}
.cr-subpage.cr-rev .cr-prose-head .cr-prose-detail{max-width:640px;margin:18px 0 0;color:var(--rev-copy);font-family:"Noto Sans JP",sans-serif;font-size:16px;font-weight:400;line-height:1.9;letter-spacing:0}
.cr-subpage.cr-rev .rev-section .cr-prose-head .cr-prose-lead{color:var(--rev-navy);font-size:22px;font-weight:700;line-height:1.65}
.cr-subpage.cr-rev .rev-section .cr-prose-head .cr-prose-detail{color:var(--rev-copy);font-size:16px;line-height:1.9}
.cr-subpage.cr-rev .cr-prose-head.cr-prose-long .rev-eyebrow{font-size:clamp(44px,5vw,88px);overflow-wrap:anywhere}
.cr-subpage.cr-rev .cr-corporate-photo-conditions .cr-prose-head .rev-eyebrow,.cr-subpage.cr-rev .cr-corporate-photo-conditions .cr-prose-head .cr-prose-lead{color:#fff}
.cr-subpage.cr-rev .cr-corporate-photo-conditions .cr-prose-head h2{color:#8bdcff}
.cr-subpage.cr-rev .cr-corporate-photo-conditions .cr-prose-head h2::before{background:linear-gradient(90deg,#fff 0 35%,transparent 35% 60%,#71d4ff 60%)}
.cr-subpage.cr-rev .cr-corporate-photo-conditions .cr-prose-head .cr-prose-detail{color:#e0edff}
@media (max-width:767px){.cr-subpage.cr-rev .cr-prose-head .rev-eyebrow{font-size:clamp(38px,11vw,54px)}.cr-subpage.cr-rev .cr-prose-head .cr-prose-lead{margin-top:26px}}
.cr-rev .rev-image{overflow:hidden}
.cr-rev .rev-image img{display:block;width:100%;height:100%;min-height:310px;object-fit:cover}
.cr-rev .rev-image.cr-photo-slant{position:relative;overflow:visible;isolation:isolate;container-type:size}
.cr-rev .rev-image.cr-photo-slant img{position:relative;z-index:1;clip-path:polygon(17.6327cqh 0,100% 0,calc(100% - 17.6327cqh) 100%,0 100%)}
.cr-rev .rev-image.cr-photo-slant::after{position:absolute;z-index:2;right:8%;bottom:-17%;width:18%;height:48%;background:linear-gradient(170deg,#1e6fe0,#0b2a8f);transform:skewX(-10deg);content:"";pointer-events:none}
@media (max-width:767px){.cr-rev .rev-image.cr-photo-slant::after{right:9%;bottom:0;width:20%;height:44%}}
.cr-rev .rev-anchor-nav{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid #cbdbef;scrollbar-width:thin}
.cr-rev .rev-anchor-nav a{flex:none;padding:23px clamp(12px,2vw,26px);color:var(--rev-navy);font-size:13px;font-weight:700;text-decoration:none;border-bottom:2px solid transparent;transition:color .3s,border-color .3s}
.cr-rev .rev-anchor-nav a:hover,.cr-rev .rev-anchor-nav a:focus-visible{color:var(--rev-blue);border-color:var(--rev-blue)}
html:has(.cr-services-page){scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html:has(.cr-services-page){scroll-behavior:auto}}
.cr-rev .rev-machine-grid,.cr-rev .rev-feature{display:grid;gap:clamp(28px,5vw,80px);align-items:center}
.cr-rev .rev-machine-grid>.rev-image{height:clamp(360px,43vw,620px)}
.cr-rev .rev-sequence>p{max-width:580px;margin:0 0 26px}
.cr-rev .rev-sequence>div{list-style:none;padding:0;margin:0;border-top:1px solid #c9d8ec;counter-reset:step}
.cr-rev .rev-sequence>div>div{display:grid;gap:5px;padding:22px 0;border-bottom:1px solid #c9d8ec;counter-increment:step}
.cr-rev .rev-sequence>div>div::before{content:counter(step,decimal-leading-zero);grid-row:span 2;color:var(--rev-blue);font:700 30px/1 Montserrat,sans-serif}
.cr-rev .rev-sequence>div>div>div:first-child{color:var(--rev-navy)}
.cr-rev .rev-sequence>div>div>div:last-child{color:var(--rev-copy);font-size:13px;line-height:1.7}
.cr-rev .rev-electrical{background:var(--rev-pale)}
.cr-rev .rev-intro{max-width:700px;margin:-12px 0 38px}
.cr-rev .rev-three{display:grid;gap:1px;background:#ccdaee;border:1px solid #ccdaee}
.cr-rev .rev-three>div{background:#fff;padding:clamp(24px,3vw,42px)}
.cr-rev .rev-three>div>div:first-child,.cr-rev .rev-compare>div>div:first-child{display:block;margin-bottom:26px;color:var(--rev-blue);font:700 12px Montserrat,sans-serif;letter-spacing:.17em}
.cr-rev .rev-three p,.cr-rev .rev-compare p{margin:0;color:var(--rev-copy);font-size:14px}
.cr-rev .rev-compare{display:grid;gap:1px;background:#c9d8ec;border:1px solid #c9d8ec}
.cr-rev .rev-compare>div{min-height:240px;background:#fff;padding:clamp(28px,4vw,54px)}
.cr-rev .rev-compare>div:nth-child(2){background:#f5f9ff}
.cr-rev .rev-exterior{background:#f7faff}
.cr-rev .rev-feature .rev-image{height:clamp(350px,39vw,520px)}
.cr-rev .rev-feature p{max-width:570px}
.cr-rev .rev-rigging{background:var(--rev-navy);color:#fff;padding:clamp(50px,6vw,86px) 0}
.cr-rev .rev-rigging>.df-container{display:grid;gap:24px}
.cr-rev .rev-rigging h2{color:#fff;margin:0 0 10px}
.cr-rev .rev-rigging p{max-width:760px;margin:0;color:#d6e5fc}
.cr-rev .rev-link{display:inline-block;margin-top:18px;color:var(--rev-blue);font-weight:700;text-decoration:none;border-bottom:1px solid currentColor}
.cr-rev .rev-link div{display:flex;gap:30px;align-items:center;padding-bottom:8px}
.cr-rev .rev-link>div>div:last-child{transition:transform .35s}
.cr-rev .rev-link:hover>div>div:last-child,.cr-rev .rev-link:focus-visible>div>div:last-child{transform:translate(4px,-4px)}
.cr-rev .rev-cta{padding:clamp(54px,7vw,96px) 0;background:var(--rev-navy);color:#fff}
.cr-rev .rev-cta>.df-container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}
.cr-rev .rev-cta h2{max-width:700px;color:#fff;font-size:clamp(27px,3.6vw,46px)}
.cr-rev .rev-pill{display:inline-block;max-width:100%;padding:7px 8px 7px 24px;border:1px solid #fff;border-radius:999px;background:#fff;color:var(--rev-navy);font-size:13px;font-weight:700;text-decoration:none;transition:background-color .6s cubic-bezier(.16,1,.3,1),color .6s cubic-bezier(.16,1,.3,1),border-color .6s cubic-bezier(.16,1,.3,1)}
.cr-rev .rev-pill div{display:flex;align-items:center;gap:24px}
.cr-rev .rev-pill>div>div:last-child{position:relative;display:grid;place-items:center;flex:none;width:38px;height:38px;overflow:hidden;border-radius:50%;background:var(--rev-blue);color:#fff;font-size:0;transition:transform .6s cubic-bezier(.16,1,.3,1),background-color .6s cubic-bezier(.16,1,.3,1),color .6s cubic-bezier(.16,1,.3,1)}
.cr-rev .rev-pill>div>div:last-child::before,.cr-rev .rev-pill>div>div:last-child::after{position:absolute;top:calc(50% - 7px);left:calc(50% - 7px);width:14px;height:14px;background:currentColor;mask-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"%3E%3Cpath d="M2 8h11M9 3.5 13.5 8 9 12.5" fill="none" stroke="black" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E');mask-size:contain;mask-repeat:no-repeat;transition:transform .6s cubic-bezier(.16,1,.3,1);content:""}
.cr-rev .rev-pill>div>div:last-child::after{transform:translateX(-220%)}
.cr-rev .rev-pill:hover,.cr-rev .rev-pill:focus-visible{background:var(--rev-blue);color:#fff}
.cr-rev .rev-pill:hover>div>div:last-child,.cr-rev .rev-pill:focus-visible>div>div:last-child{transform:translateX(4px);background:#fff;color:var(--rev-blue)}
.cr-rev .rev-pill:hover>div>div:last-child::before,.cr-rev .rev-pill:focus-visible>div>div:last-child::before{transform:translateX(220%)}
.cr-rev .rev-pill:hover>div>div:last-child::after,.cr-rev .rev-pill:focus-visible>div>div:last-child::after{transform:none}
@media (min-width:768px){.cr-rev .rev-hero-inner{grid-template-columns:1fr 46%}.cr-rev .rev-machine-grid,.cr-rev .rev-feature{grid-template-columns:1fr 1fr}.cr-rev .rev-three{grid-template-columns:repeat(3,1fr)}.cr-rev .rev-compare{grid-template-columns:1fr 1fr}.cr-rev .rev-rigging>.df-container{grid-template-columns:25% 1fr}.cr-rev .rev-sequence>div>div{grid-template-columns:68px 1fr}}
@media (prefers-reduced-motion:reduce){.cr-rev .rev-image img,.cr-rev .rev-pill,.cr-rev .rev-pill>div>div:last-child,.cr-rev .rev-pill>div>div:last-child::before,.cr-rev .rev-pill>div>div:last-child::after,.cr-rev .rev-link>div>div:last-child{transition:none}}
@media (prefers-reduced-motion:reduce){.cr-contact-page .formSend,.cr-contact-page .formSend::before{transition:none}.cr-contact-page .formSend:hover::after,.cr-contact-page .formSend:focus-visible::after{animation:none}}
.cr-rev.cr-works-page .rev-hero,.cr-rev.cr-works-detail-page .rev-hero{background:var(--rev-pale);padding:clamp(74px,8vw,118px) 0}
.cr-rev.cr-works-page .webgene-blog{display:grid;gap:18px;margin:0;align-items:stretch}
.cr-rev.cr-works-page .webgene-blog .webgene-item{max-width:none;margin:0;min-width:0}
.cr-rev.cr-works-page .cr-works-list-link{display:flex;flex-direction:column;min-height:245px;height:100%;padding:clamp(26px,3vw,42px);background:#fff;border:1px solid #d8e4f3;border-radius:0;box-shadow:none;color:var(--rev-ink);text-decoration:none;transition:background .35s,transform .35s,border-color .35s}
.cr-rev.cr-works-page .cr-works-list-link:hover,.cr-rev.cr-works-page .cr-works-list-link:focus-visible{background:#f0f6ff;border-color:var(--rev-blue);transform:translateY(-5px);box-shadow:none}
.cr-rev.cr-works-page .cr-works-list-category{display:block;width:max-content;margin:0 0 30px;padding:0;background:none;color:var(--rev-blue);font-size:12px;letter-spacing:.1em}
.cr-rev.cr-works-page .webgene-blog h3{margin:0 0 26px;font-size:clamp(20px,2vw,27px)}
.cr-rev.cr-works-page .cr-works-list-more{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:15px;border-top:1px solid #d9e5f4;color:var(--rev-navy);font-size:13px}
.cr-rev.cr-works-page .cr-works-list-more span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--rev-blue);color:#fff;transition:transform .35s}
.cr-rev.cr-works-page .cr-works-list-link:hover .cr-works-list-more span{transform:rotate(45deg)}
.cr-rev.cr-works-detail-page .rev-hero{padding:clamp(52px,5vw,82px) 0}
.cr-rev.cr-works-detail-page .rev-page-title{margin:12px 0 8px;font:700 clamp(42px,5vw,64px)/1.1 Montserrat,"Noto Sans JP",sans-serif;letter-spacing:-.055em}
.cr-rev.cr-works-detail-page .rev-detail-section>.df-container{max-width:960px}
.cr-rev.cr-works-detail-page .rev-detail-section>.df-container>.rev-link{margin:0 0 45px}
.cr-rev.cr-works-detail-page .webgene-item-date{display:inline-block;color:var(--rev-blue);font-size:12px;letter-spacing:.14em}
.cr-rev.cr-works-detail-page .webgene-item h1{font-size:clamp(32px,4vw,54px);line-height:1.35}
.cr-rev.cr-works-detail-page .cms-content h2{border-left:3px solid var(--rev-blue);padding-left:16px;font:700 24px/1.5 "Noto Sans JP",sans-serif;letter-spacing:0}
.cr-rev.cr-works-detail-page .cms-content p{font-size:16px;line-height:1.95}
@media (min-width:768px){.cr-rev.cr-works-page .webgene-blog{grid-template-columns:repeat(3,minmax(0,1fr))}}
.cr-rev .rev-scope{display:grid;gap:1px;background:#d3e0f1;border:1px solid #d3e0f1}
.cr-rev .rev-scope>div{padding:clamp(23px,3vw,38px);background:#fff}
.cr-rev .rev-scope .rev-scope-main{background:var(--rev-navy);color:#fff}
.cr-rev .rev-scope>div>div:first-child{font-size:clamp(18px,2vw,24px)}
.cr-rev .rev-scope p{margin:12px 0 0;font-size:14px}
.cr-rev .rev-note{margin:22px 0 0;color:var(--rev-copy);font-size:13px}
.cr-rev .rev-conditions{background:#f3f7fd}
.cr-rev .rev-condition-grid{display:grid;gap:25px}
.cr-rev .rev-condition-grid>div{padding-top:20px;border-top:2px solid var(--rev-blue)}
.cr-rev .rev-condition-grid>div>div{margin:0;padding:0;list-style:none}
.cr-rev .rev-condition-grid>div>div>div{padding:11px 0;border-bottom:1px solid #d3e0f1;font-size:14px}
.cr-rev .rev-condition-grid>div>div>div::before{content:"—";margin-right:8px;color:var(--rev-blue)}
.cr-rev .rev-corporate-assurance,.cr-rev .rev-personal-check{display:grid;gap:25px}
.cr-rev .rev-corporate-assurance p,.cr-rev .rev-personal-check p{margin:0 0 16px}
.cr-rev .rev-life-grid{display:grid;gap:18px}
.cr-rev .rev-life-grid>div{padding:clamp(24px,3vw,38px);background:#f4f8fe;border-top:2px solid var(--rev-blue)}
.cr-rev .rev-life-grid>div>div:first-child{display:block;margin-bottom:35px;color:var(--rev-blue);font:700 38px/1 Montserrat,sans-serif}
.cr-rev .rev-life-grid p{margin:0;color:var(--rev-copy);font-size:14px}
.cr-rev .rev-plan{background:var(--rev-pale)}
.cr-rev .rev-plan-visual{display:grid;grid-template-columns:1fr 1fr;gap:1px;align-content:center;min-height:350px;background:#cadaed;border:1px solid #cadaed}
.cr-rev .rev-plan-visual>div{display:grid;place-items:center;min-height:100px;padding:18px;background:#fff;color:var(--rev-navy);font-size:14px;font-weight:700;text-align:center}
.cr-rev .rev-plan-visual>div:first-child{grid-column:span 2;min-height:80px;background:var(--rev-navy);color:#fff;font-size:17px}
.cr-rev .rev-process-section{padding-top:30px}
.cr-rev .rev-process-list{border-top:1px solid #cadaed}
.cr-rev .rev-process-step{display:grid;gap:15px;padding:clamp(25px,4vw,46px) 0;border-bottom:1px solid #cadaed}
.cr-rev .rev-process-step>div:first-child{color:var(--rev-blue);font:700 clamp(52px,6vw,86px)/.95 Montserrat,sans-serif;letter-spacing:-.07em}
.cr-rev .rev-process-step h2{margin:2px 0 12px;font:700 clamp(22px,2.6vw,32px)/1.35 "Noto Sans JP",sans-serif;letter-spacing:0}
.cr-rev .rev-process-step p{max-width:660px;margin:0;color:var(--rev-copy);font-size:14px}
.cr-rev .rev-process-step>div:last-child{align-self:start;padding:14px 0;border-top:1px solid #cadaed;color:#6a7b94;font-size:12px}
.cr-rev .rev-process-step>div:last-child>div{display:block;margin-top:5px;color:var(--rev-navy);font-size:14px}
@media (min-width:768px){.cr-rev .rev-scope{grid-template-columns:repeat(4,1fr)}.cr-rev .rev-scope-main{grid-column:span 2}.cr-rev .rev-condition-grid,.cr-rev .rev-life-grid{grid-template-columns:repeat(3,1fr)}.cr-rev .rev-corporate-assurance,.cr-rev .rev-personal-check{grid-template-columns:1fr 1fr}.cr-rev .rev-process-step{grid-template-columns:100px 1fr 180px;gap:clamp(24px,4vw,60px)}}
.cr-rev .rev-company-hero{background:var(--rev-pale);padding-bottom:clamp(68px,8vw,110px)}
.cr-rev .rev-company-hero::after{position:absolute;right:-10%;bottom:-65%;width:55%;aspect-ratio:1;border:clamp(38px,7vw,96px) solid rgba(30,111,224,.07);border-radius:50%;content:"";pointer-events:none}
.cr-rev .rev-company-people .rev-image{height:clamp(360px,40vw,600px)}
.cr-rev .rev-company-message{background:var(--rev-navy);color:#fff}
.cr-rev .rev-company-message h2{color:#fff}
.cr-rev .rev-company-message .rev-eyebrow{color:#8bdcff}
.cr-rev .rev-company-message .rev-section-heading+div{max-width:860px;margin:0 0 0 auto;padding:0;border:0}
.cr-rev .rev-company-message .rev-section-heading+div p{font-size:clamp(17px,2vw,22px);line-height:1.9}
.cr-rev .rev-company-message .rev-section-heading+div>div:last-child{margin-top:35px;text-align:right;font-size:14px}
.cr-rev .rev-profile{margin:0;border-top:1px solid #cedeef}
.cr-rev .rev-profile>div{display:grid;gap:8px;padding:20px 0;border-bottom:1px solid #cedeef}
.cr-rev .rev-profile>div>div:first-child{color:var(--rev-blue);font-size:13px;font-weight:700}
.cr-rev .rev-profile>div>div:last-child{margin:0;line-height:1.8}
.cr-rev .rev-recruit-hero{background:var(--rev-pale)}
.cr-rev .rev-recruit-hero img{clip-path:polygon(9% 0,100% 0,91% 100%,0 100%)}
.cr-rev .rev-job-grid{display:grid;gap:1px;background:#c9d8ec;border:1px solid #c9d8ec}
.cr-rev .rev-job-grid>div{padding:clamp(25px,3vw,40px);background:#fff}
.cr-rev .rev-job-grid>div>div:first-child{display:block;margin-bottom:48px;color:var(--rev-blue);font:700 46px/1 Montserrat,sans-serif}
.cr-rev .rev-job-grid p{margin:0;color:var(--rev-copy);font-size:14px}
.cr-rev .rev-recruit-learning{background:#f2f7fe}
.cr-rev .rev-recruit-learning .rev-image{height:clamp(360px,40vw,580px)}
.cr-rev .rev-cta p{max-width:600px;margin:10px 0 0;color:#dce9fa}
@media (min-width:768px){.cr-rev .rev-profile>div{grid-template-columns:23% 1fr}.cr-rev .rev-job-grid{grid-template-columns:repeat(3,1fr)}}
/* Lower-page hero: one split composition across every page. */
.cr-subpage.cr-rev .rev-hero.rev-hero-unified{padding:0;background:var(--rev-pale);color:var(--rev-ink)}
.cr-subpage.cr-rev .rev-hero.rev-hero-unified .rev-hero-inner{display:grid;grid-template-columns:1fr;gap:0;align-items:stretch}
.cr-subpage.cr-rev .rev-hero.rev-hero-unified .rev-hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;padding:56px 0 48px}
.cr-subpage.cr-rev .rev-hero.rev-hero-unified .rev-hero-copy::before{position:absolute;top:-140px;right:-110px;width:clamp(330px,39vw,560px);aspect-ratio:1;border:clamp(38px,5vw,76px) solid rgba(30,111,224,.07);border-radius:50%;content:"";pointer-events:none}
.cr-subpage.cr-rev .rev-hero.rev-hero-unified .rev-hero-copy>*{position:relative;z-index:1}
.cr-subpage.cr-rev .rev-hero.rev-hero-unified .rev-eyebrow{color:var(--rev-blue)}
.cr-subpage.cr-rev .rev-hero.rev-hero-unified h1,
.cr-subpage.cr-rev .rev-hero.rev-hero-unified .rev-page-title{max-width:100%;margin:16px 0 20px;color:var(--rev-ink);font:700 clamp(45px,6.4vw,84px)/1.15 Montserrat,"Noto Sans JP",sans-serif;letter-spacing:-.055em}
.cr-subpage.cr-rev .rev-hero.rev-hero-unified .rev-label{max-width:100%;margin:0;color:var(--rev-navy);font-size:clamp(16px,1.65vw,22px);line-height:1.55;letter-spacing:.035em}
.cr-subpage.cr-rev .rev-hero.rev-hero-unified .rev-hero-photo{position:relative;min-width:0;height:290px;overflow:hidden;clip-path:polygon(8% 0,100% 0,100% 100%,0 100%);background:#c8dbee}
.cr-subpage.cr-rev .rev-hero.rev-hero-unified .rev-hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media (min-width:768px){
  .cr-subpage.cr-rev .rev-hero.rev-hero-unified .rev-hero-inner{grid-template-columns:minmax(0,44%) minmax(0,56%);min-height:500px}
  .cr-subpage.cr-rev .rev-hero.rev-hero-unified .rev-hero-copy{padding:70px clamp(24px,4vw,60px) 70px 0}
  .cr-subpage.cr-rev .rev-hero.rev-hero-unified .rev-hero-photo{height:100%;min-height:500px;margin-right:calc((100vw - min(100vw - 40px,1200px))/-2)}
}
@media (max-width:767px){.cr-subpage.cr-rev .rev-hero.rev-hero-unified .rev-hero-copy::before{top:-70px;right:-125px;width:340px;border-width:44px}}
/* Photographic CTA treatments keep the blue palette and readable foreground. */
.cr-subpage.cr-rev .rev-cta{background-color:var(--rev-navy);background-image:linear-gradient(90deg,rgba(6,30,104,.94),rgba(8,39,125,.76)),var(--rev-cta-photo);background-position:center;background-size:cover}
.cr-subpage.cr-rev .rev-cta .rev-eyebrow{color:#9bdbfa}
.cr-subpage.cr-rev .rev-cta .rev-eyebrow{display:flex;align-items:center;gap:12px;font-size:14px;letter-spacing:.14em}
.cr-subpage.cr-rev .rev-cta .rev-eyebrow::before{display:block;flex:none;width:17px;height:16px;background:linear-gradient(90deg,#fff 0 35%,transparent 35% 60%,#8bdcff 60%);transform:skewX(-10deg);content:""}
.cr-services-page .rev-cta,.cr-works-page .rev-cta{--rev-cta-photo:url("https://cre-as.co.jp/system_panel/uploads/images/20261017231348874226.jpg")}
.cr-corporate-page .rev-cta,.cr-works-detail-page .rev-cta{--rev-cta-photo:url("https://cre-as.co.jp/system_panel/uploads/images/20261017231346503084.jpg")}
.cr-individual-page .rev-cta{--rev-cta-photo:url("https://cre-as.co.jp/system_panel/uploads/images/20261017132537195943.jpg")}
.cr-process-page .rev-cta{--rev-cta-photo:url("https://cre-as.co.jp/system_panel/uploads/images/20261022231206964806.jpg")}
.cr-company-page .rev-cta{--rev-cta-photo:url("https://cre-as.co.jp/system_panel/uploads/images/20261022231212854389.jpg")}
.cr-rev.cr-process-page .rev-cta{background-position:center 35%}
.cr-recruit-page .rev-cta{--rev-cta-photo:url("https://cre-as.co.jp/system_panel/uploads/images/20261022231213993901.jpg")}
.cr-rev.cr-recruit-page .rev-cta{background-position:center 35%}
.cr-rev.cr-company-page .rev-cta{background-position:center 54%;background-image:linear-gradient(90deg,rgba(6,30,104,.88),rgba(8,39,125,.62)),var(--rev-cta-photo)}

@media (min-width:768px){.cr-rev.cr-process-page .rev-hero.rev-hero-unified.cr-gate-c3 .rev-hero-photo img{transform:translateX(10%) scale(1.16)}}
.cr-rev.cr-contact-page .rev-hero{background:var(--rev-pale);padding:clamp(75px,8vw,115px) 0}
.cr-rev.cr-contact-page .cr-contact-section{padding:clamp(55px,6vw,95px) 0}
.cr-rev.cr-contact-page .cr-contact-aside{padding:0;border:0;background:transparent;box-shadow:none}
.cr-rev.cr-contact-page .cr-contact-aside h2,.cr-rev.cr-contact-page .cr-contact-form-panel h2{font-size:clamp(26px,3vw,40px)}
.cr-rev.cr-contact-page .cr-contact-guide-item{padding:18px 0;border-bottom:1px solid #cfdff1}
.cr-rev.cr-contact-page .cr-contact-guide-item h3{font-size:17px}
.cr-rev.cr-contact-page .cr-contact-aside h2,.cr-rev.cr-contact-page .cr-contact-guide-item h3{color:#fff}
.cr-rev.cr-contact-page .cr-contact-aside .rev-eyebrow{color:#8bdcff}
.cr-rev.cr-contact-page .cr-contact-form-panel{padding:clamp(22px,3vw,42px);border:1px solid #d6e2f1;border-radius:0;background:#fff;box-shadow:none}
.cr-rev.cr-contact-page .cr-contact-form-panel .rev-eyebrow{margin-bottom:12px}

/* OPEN ARC / C-3 shared lower-page hero. */
.cr-subpage.cr-rev .rev-hero.cr-gate-c3 .rev-hero-copy>:is(.rev-eyebrow,h1,.rev-page-title,.rev-label){animation:cr-gate-copy-enter 1.2s cubic-bezier(.16,1,.3,1) both}
.cr-subpage.cr-rev .rev-hero.cr-gate-c3 .rev-hero-copy>:is(h1,.rev-page-title){animation-delay:.15s}
.cr-subpage.cr-rev .rev-hero.cr-gate-c3 .rev-hero-copy>.rev-label{animation-delay:.3s}
@keyframes cr-gate-copy-enter{from{opacity:0;transform:translateY(70px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.cr-subpage.cr-rev .rev-hero.cr-gate-c3 .rev-hero-copy>:is(.rev-eyebrow,h1,.rev-page-title,.rev-label){animation:none}}
.cr-process-page .cr-gate-c3{--cr-gate-image-position:52% 44%}
.cr-recruit-page .cr-gate-c3,.cr-thanks-page .cr-gate-c3{--cr-gate-image-position:62% 35%}
.cr-individual-page .cr-gate-c3{--cr-gate-image-position:54% 50%}
.cr-contact-page .cr-gate-c3{--cr-gate-image-position:56% 43%}
.cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3{height:530px;min-height:530px;background:linear-gradient(90deg,#abcaf5 0%,#c9dfff 27%,#e5f1ff 58%,#eef6ff 100%);isolation:isolate}

.cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3 .rev-hero-inner{position:static;display:block;min-height:0;height:100%}

.cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3 .rev-hero-copy{position:relative;z-index:4;width:100%;height:225px;padding:38px 0 18px}

.cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3 .rev-hero-copy::before{display:none}

.cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3 :is(h1,.rev-page-title){margin:10px 0 12px;font-size:clamp(42px,11vw,52px);line-height:1.12}

.cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3 .rev-label{max-width:440px;font-size:16px;line-height:1.55}

.cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3 .rev-hero-photo{position:absolute;z-index:1;right:0;bottom:0;width:100%;height:305px;min-height:0;margin:0;clip-path:none;background:#abc6e5;-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20390%20305%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M184%20-10C90%2025%2015%2070%20-20%20140V305H390V-10Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20390%20305%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M184%20-10C90%2025%2015%2070%20-20%20140V305H390V-10Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}

.cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3 .rev-hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--cr-gate-image-position,center)}

.cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3.cr-gate-graphic .rev-hero-photo{background:radial-gradient(circle at 72% 28%,#2bb3f0 0%,rgba(43,179,240,0) 42%),linear-gradient(135deg,#0b2a8f,#1e6fe0)}

.cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3.cr-gate-graphic .rev-hero-photo img{visibility:hidden}

.cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3 .cr-gate-arch{display:block;position:absolute;z-index:2;left:0;top:225px;width:56.410256vw;height:120px;pointer-events:none;background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20220%20120%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22b%22%20x1%3D%220%22%20y1%3D%221%22%20x2%3D%221%22%20y2%3D%220%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%230B2A8F%22%2F%3E%3Cstop%20offset%3D%22.55%22%20stop-color%3D%22%231E6FE0%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%232BB3F0%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M-80%20140C-40%2030%2070%20-15%20184%20-50L184%20-10C90%2025%2015%2070%20-20%20140Z%22%20fill%3D%22url%28%23b%29%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-size:100% 100%}

@media (min-width:768px){.cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3{height:520px;min-height:520px}}

@media (min-width:768px){.cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3 .rev-hero-copy{width:48%;height:100%;padding:60px 48px 60px 0}}

@media (min-width:768px){.cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3 :is(h1,.rev-page-title){margin:20px 0 20px;font-size:clamp(64px,6.25vw,90px)}}

@media (min-width:768px){.cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3 .rev-label{font-size:clamp(19px,1.65vw,24px)}}

@media (min-width:768px){.cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3 .rev-hero-photo{top:0;right:0;bottom:auto;width:62%;height:100%;-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%20600%22%20preserveAspectRatio%3D%22none%22%3E%3Cg%20transform%3D%22translate%28520%20320%29%20rotate%2810%29%22%3E%3Cpath%20d%3D%22M-370%201200V0A370%20370%200%200%201%200%20-370H1500V1500H-370Z%22%20fill%3D%22white%22%2F%3E%3C%2Fg%3E%3Crect%20x%3D%22700%22%20y%3D%220%22%20width%3D%22300%22%20height%3D%22600%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%20600%22%20preserveAspectRatio%3D%22none%22%3E%3Cg%20transform%3D%22translate%28520%20320%29%20rotate%2810%29%22%3E%3Cpath%20d%3D%22M-370%201200V0A370%20370%200%200%201%200%20-370H1500V1500H-370Z%22%20fill%3D%22white%22%2F%3E%3C%2Fg%3E%3Crect%20x%3D%22700%22%20y%3D%220%22%20width%3D%22300%22%20height%3D%22600%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}}

@media (min-width:768px){.cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3 .cr-gate-arch{left:auto;top:0;right:0;width:62%;height:100%;background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%20600%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22b%22%20gradientUnits%3D%22userSpaceOnUse%22%20x1%3D%22-520%22%20y1%3D%22520%22%20x2%3D%22700%22%20y2%3D%22-700%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%230B2A8F%22%2F%3E%3Cstop%20offset%3D%22.14%22%20stop-color%3D%22%231E6FE0%22%2F%3E%3Cstop%20offset%3D%22.78%22%20stop-color%3D%22%232BB3F0%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%232BB3F0%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cg%20transform%3D%22translate%28520%20320%29%20rotate%2810%29%22%3E%3Cpath%20d%3D%22M-460%201200V0A460%20460%200%200%201%200%20-460L0%20-370A370%20370%200%200%200%20-370%200V1200Z%22%20fill%3D%22url%28%23b%29%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)}}

/* The lower-page hero uses the same diagonal photo edge and blue band as the top page. */
.cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3 .rev-hero-photo{
  -webkit-mask-image:none;mask-image:none;
  clip-path:polygon(70% 0,100% 0,100% 100%,5% 100%);
}
.cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3 .cr-gate-arch{
  left:0;top:225px;width:100%;height:305px;
  background-image:linear-gradient(160deg,#2698ed,#1c5cc8);
  clip-path:polygon(55% 0,70% 0,5% 100%,-10% 100%);
}
.cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3::before{
  position:absolute;z-index:3;top:225px;left:0;width:100%;height:305px;
  background:rgba(255,255,255,.6);
  clip-path:polygon(50% 0,calc(50% + 1px) 0,calc(-15% + 1px) 100%,-15% 100%);
  content:"";pointer-events:none;
}
@media (min-width:768px){
  .cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3 .rev-hero-photo{
    clip-path:polygon(39% 0,100% 0,100% 100%,11% 100%);
  }
  .cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3 .cr-gate-arch{
    left:auto;top:0;right:0;width:62%;height:100%;
    clip-path:polygon(29% 0,39% 0,11% 100%,1% 100%);
  }
  .cr-subpage.cr-rev .rev-hero.rev-hero-unified.cr-gate-c3::before{
    top:0;height:100%;
    clip-path:polygon(54.75% 0,calc(54.75% + 1px) 0,calc(37.4% + 1px) 100%,37.4% 100%);
  }
}

/* Keep photos covered before the JavaScript wipe begins. */
@media (scripting:enabled) and (prefers-reduced-motion:no-preference){
  .cr-subpage.cr-rev:not(.cr-rev-motion-disabled) .rev-hero-photo img,
  .cr-subpage.cr-rev:not(.cr-rev-motion-disabled) .rev-image:not(.cr-photo-slant) img{clip-path:inset(0 100% 0 0)}
  .cr-subpage.cr-rev:not(.cr-rev-motion-disabled) .rev-image.cr-photo-slant img{clip-path:polygon(17.6327cqh 0,17.6327cqh 0,0 100%,0 100%)}
}
