@charset "utf-8";

/* ==================================================
 * ==================================================
 * business-page
 * ==================================================
 * ================================================== */
.business-page{
  --business-accent: var(--color-brand);
  --business-accent-dark: var(--color-brand-dark);
  --business-rule: rgba(0,0,0,.05);
  --business-rule-light: rgba(255,255,255,.15);
  --business-ease: cubic-bezier(.22,1,.36,1);
  
  min-width: 0;
}

/* ==================================================
 * ==================================================
 * business-hero
 * ==================================================
 * ================================================== */
.business-hero{
  --business-hero-min-height: min(60svh, max(40rem, 64vw));
  --business-hero-grid-size: max(4rem, 8vw);
  --business-hero-grid-offset: max(2rem, 4vw);
  
  display: grid;
  min-height: var(--business-hero-min-height);
  padding-top: var(--layout-header-height);
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.business-hero__grid{
  background-image:
    linear-gradient(to right, var(--business-rule) 1px, transparent 1px),
    linear-gradient(to bottom, var(--business-rule) 1px, transparent 1px);
  background-size:
    var(--business-hero-grid-size) 100%,
    100% var(--business-hero-grid-size);
  background-position:
    calc(50% + var(--business-hero-grid-offset)) 0,
    0 calc(50% + var(--business-hero-grid-offset));
  background-repeat: repeat-x, repeat-y;
  border-bottom: 1px solid var(--business-rule);
  position: absolute;
  inset: 0;
  z-index: -1;
  animation: business-hero-grid-enter 1800ms cubic-bezier(.22,1,.36,1) 120ms both;
}
.business-hero__inner{
  display: grid;
  width: min(100%, var(--layout-inner-width));
  min-height: calc(var(--business-hero-min-height) - var(--layout-header-height));
  padding-block: clamp(2rem, 4vw, 4rem);
  padding-inline: var(--layout-inner-padding);
  margin-inline: auto;
}
.business-hero__main{
  display: grid;
  min-width: 0;
}
.business-hero__content{
  display: grid;
  align-content: center;
  justify-items: center;
  column-gap: clamp(3rem, 6vw, 6rem);
  row-gap: clamp(2rem, 4vw, 4rem);
  min-width: 0;
  text-align: center;
}
.business-hero__head{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  width: min(100%, 48rem);
}
.business-hero__title-en{
  color: var(--business-accent-dark);
  font-size: var(--fs-2xs);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.business-hero__title-ja{
  font-size: var(--fs-6xl);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.02em;
}
.business-hero__body{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  width: min(100%, 32rem);
}
.business-hero__lead{
  font-size: var(--fs-3xl);
  font-weight: 500;
  line-height: 1.6;
}
.business-hero__text{
  color: rgba(0,0,0,.80);
}

/* ==================================================
 * business-hero responsive 1025px
 * ================================================== */
@media (min-width: 1025px){
  .business-hero__content{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    justify-items: stretch;
    text-align: left;
  }
  .business-hero__body{
    justify-self: center;
  }
}

/* ==================================================
 * business-hero keyframes
 * ================================================== */
@keyframes business-hero-grid-enter{
  from{ opacity: 0; clip-path: inset(50%); }
  to{ opacity: 1; clip-path: inset(0); }
}

/* ==================================================
 * business-hero reduced motion
 * ================================================== */
@media (prefers-reduced-motion: reduce){
  .business-hero__grid{
    animation: none;
  }
}

/* ==================================================
 * ==================================================
 * business-intro
 * ==================================================
 * ================================================== */
.business-intro{
  --business-intro-shadow: 0 4px 16px var(--color-shadow-dark);
  --business-intro-stage-height: min(180svh, max(120svh, 128vw));
  --business-intro-media-shift: 0px;
  --business-intro-media-scale: 1;
  --business-intro-media-scrim-side: linear-gradient(90deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.20) 45%, rgba(0,0,0,.48) 100%);
  --business-intro-media-scrim-bottom: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.25) 100%);

  position: relative;
}
.business-intro__main{
  position: relative;
}
.business-intro__frame{
  width: 100vw;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  overflow: hidden;
  z-index: 0;
  transform: translateX(-50%);
}
.business-intro__media{
  position: absolute;
  inset: -10svh 0;
}
.business-intro__media::after{
  content: "";
  background:
    var(--business-intro-media-scrim-side),
    var(--business-intro-media-scrim-bottom);
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.business-intro__image{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.business-intro__content{
  text-shadow: var(--business-intro-shadow);
  display: grid;
  align-content: center;
  justify-items: end;
  row-gap: clamp(1.5rem, 2vw, 2rem);
  width: min(100%, var(--layout-inner-width));
  min-height: var(--business-intro-stage-height);
  padding-top: calc(var(--layout-header-height) + var(--space-panel-block));
  padding-bottom: calc(env(safe-area-inset-bottom) + var(--space-panel-block));
  padding-inline: var(--layout-inner-padding);
  margin-inline: auto;
  position: relative;
  z-index: 1;
}
.business-intro__head{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  width: min(100%, 32rem);
  min-width: 0;
}
.business-intro__title-en{
  color: var(--business-accent);
  font-size: var(--fs-2xs);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.business-intro__title-ja{
  font-size: var(--fs-3xl);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: -0.02em;
}
.business-intro__body{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  width: min(100%, 32rem);
}
.business-intro__lead{
  font-size: var(--fs-xl);
  font-weight: 500;
  line-height: 1.6;
}
.business-intro__text{
  color: rgba(255,255,255,.80);
}

/* ==================================================
 * business-intro motion
 * ================================================== */
.business-page.is-business-intro-ready .business-intro__media{
  transform: translate3d(0, var(--business-intro-media-shift), 0) scale(var(--business-intro-media-scale));
  will-change: transform;
}
.business-page.is-business-intro-ready .business-intro__head{
  opacity: var(--business-intro-head-opacity, 0);
  transform: translate3d(0, var(--business-intro-head-offset, 2rem), 0);
  will-change: opacity, transform;
}
.business-page.is-business-intro-ready .business-intro__body{
  opacity: var(--business-intro-body-opacity, 0);
  transform: translate3d(0, var(--business-intro-body-offset, 2rem), 0);
  will-change: opacity, transform;
}

/* ==================================================
 * business-intro reduced motion
 * ================================================== */
@media (prefers-reduced-motion: reduce){
  .business-page.is-business-intro-ready .business-intro__media{
    transform: none;
    will-change: auto;
  }
  .business-page.is-business-intro-ready .business-intro__head,
  .business-page.is-business-intro-ready .business-intro__body{
    opacity: 1;
    transform: none;
    will-change: auto;
  }
}


/* ==================================================
 * ==================================================
 * business-context
 * ==================================================
 * ================================================== */
.business-context__main{
  display: grid;
  row-gap: clamp(4rem, 6vw, 6rem);
  min-width: 0;
}
.business-context__content{
  text-align: center;
  display: grid;
  justify-items: center;
  row-gap: clamp(1.5rem, 2vw, 2rem);
  width: 100%;
  min-width: 0;
}
.business-context__head{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  width: fit-content;
  max-width: min(100%, 64rem);
}
.business-context__title-en{
  color: var(--business-accent);
  font-size: var(--fs-sm);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.2em;
}
.business-context__title-ja{
  font-size: var(--fs-4xl);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -0.02em;
}
.business-context__title-ja > span{
  display: block;
}
.business-context__body{
  color: rgba(255,255,255,.80);
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  width: fit-content;
  max-width: min(100%, 32rem);
}
.business-context__lead{
  font-size: var(--fs-xl);
  font-weight: 500;
}

/* ==================================================
 * business-chart common
 * ================================================== */
.business-charts{
  display: grid;
  row-gap: clamp(4rem, 6vw, 6rem);
  min-width: 0;
}
.business-chart{
  display: grid;
  row-gap: clamp(1.5rem, 2vw, 2rem);
  min-width: 0;
  overflow: hidden;
}
.business-chart__main{
  display: grid;
  row-gap: clamp(3rem, 4vw, 4rem);
  min-width: 0;
}
.business-chart__meta{
  display: flex;
  align-items: center;
  column-gap: clamp(1rem, 1.5vw, 1.5rem);
  width: 100%;
  min-width: 0;
}
.business-chart__meta::after{
  content: "";
  background: rgba(48,206,236,.20);
  flex: 1 1 auto;
  min-width: 0;
  height: 1px;
  transform: scaleX(1);
  transform-origin: left center;
}
html.is-ui-reveal-enhanced .business-page .business-chart__meta:not(.is-ui-reveal-visible)::after{
  transform: scaleX(0);
}
html.is-ui-reveal-enhanced .business-page .business-chart__meta.is-ui-reveal-visible::after{
  transform: scaleX(1);
  transition: transform 820ms var(--business-ease) 100ms;
}
.business-chart__index{
  color: var(--business-accent);
  font-size: var(--fs-2xs);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  white-space: nowrap;
  background: rgba(48,206,236,.05);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: 0.75rem;
  padding-inline: 1rem;
  border: 1px solid rgba(48,206,236,.20);
  border-radius: var(--radius-pill);
}
.business-chart__content{
  text-align: center;
  display: grid;
  justify-items: center;
  row-gap: clamp(1.5rem, 2vw, 2rem);
  align-self: start;
  width: 100%;
  min-width: 0;
}
.business-chart__head{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  width: fit-content;
  max-width: min(100%, 64rem);
  min-width: 0;
}
.business-chart__kicker{
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
.business-chart__title{
  font-size: var(--fs-3xl);
  line-height: 1.6;
  text-wrap: balance;
}
.business-chart__body{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  width: fit-content;
  max-width: min(100%, 32rem);
  min-width: 0;
}
.business-chart__text{
  color: rgba(255,255,255,.80);
  font-size: var(--fs-sm);
}
.business-chart__notes{
  display: grid;
  row-gap: clamp(0.25rem, 0.5vw, 0.5rem);
}
.business-chart__note{
  color: rgba(255,255,255,.40);
  font-size: var(--fs-2xs);
}
.business-chart__source{
  color: rgba(255,255,255,.40);
  font-size: var(--fs-2xs);
}
.business-chart__source .business-chart__source-link{
  color: rgba(255,255,255,.40);
}
.business-chart__source .business-chart__source-link:hover{
  color: rgba(255,255,255,.60);
}

/* ==================================================
 * business-chart aging
 * ================================================== */
.business-chart__aging-items{
  display: grid;
  column-gap: clamp(3rem, 6vw, 6rem);
  row-gap: clamp(3rem, 4vw, 4rem);
}
.business-chart__aging-item{
  text-align: center;
  display: grid;
  justify-items: center;
  row-gap: clamp(2rem, 3vw, 3rem);
  min-width: 0;
}
.business-chart__aging-meta{
  display: grid;
  justify-items: center;
}
.business-chart__aging-region{
  font-size: var(--fs-lg);
  font-weight: 500;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  column-gap: 0.5rem;
}
.business-chart__aging-region::before{
  content: "〈";
}
.business-chart__aging-region::after{
  content: "〉";
}
.business-chart__aging-values{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: stretch;
  column-gap: clamp(1.5rem, 3vw, 3rem);
  width: 100%;
  min-width: 0;
}
.business-chart__aging-value{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  align-content: start;
  row-gap: clamp(0.75rem, 1vw, 1rem);
  min-width: 0;
}
.business-chart__aging-value-main{
  display: flex;
  align-items: baseline;
  justify-content: center;
  column-gap: clamp(0.25rem, 0.5vw, 0.5rem);
  min-width: 0;
}
.business-chart__aging-number{
  font-size: clamp(4rem, 8vw, 8rem);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: -0.02em;
}
.business-chart__aging-unit{
  color: rgba(255,255,255,.60);
}
.business-chart__aging-date{
  color: rgba(255,255,255,.60);
  font-size: var(--fs-2xs);
  font-variant-numeric: tabular-nums;
  line-height: 1;
  white-space: nowrap;
}
.business-chart__aging-value--future .business-chart__aging-number{
  color: var(--business-accent);
}
.business-chart__aging-arrow{
  color: rgba(255,255,255,.40);
  display: flex;
  align-items: center;
  justify-content: center;
  height: clamp(4rem, 8vw, 8rem);
}
.business-chart__aging-arrow svg{
  width: 1.5rem;
  height: auto;
}
.business-chart__aging-track{
  background: rgba(255,255,255,.10);
  width: 100%;
  height: 3px;
  overflow: hidden;
}
.business-chart__aging-bar{
  background: var(--business-accent);
  display: block;
  width: var(--business-chart-aging-bar-value);
  height: 100%;
  transform-origin: left center;
}
.business-chart.is-business-chart-ready .business-chart__aging-bar{
  transform: scaleX(0);
}
.business-chart.is-business-chart-ready.is-business-chart-visible .business-chart__aging-bar{
  transform: scaleX(1);
  transition: transform 1100ms var(--business-ease) 240ms;
}

/* ==================================================
 * business-chart responsive 1025px
 * ================================================== */
@media (min-width: 1025px){
  .business-chart--aging .business-chart__main > .business-chart__content{
    text-align: left;
    justify-items: start;
  }
  .business-chart--aging .business-chart__head{
    justify-self: start;
    width: 100%;
    max-width: 64rem;
  }
  .business-chart--aging .business-chart__body{
    justify-self: start;
    width: 100%;
    max-width: 32rem;
  }
  .business-chart__aging-items{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ==================================================
 * business-chart risk
 * ================================================== */
.business-chart__risk-scroll{
  max-width: 100%;
  padding-block: clamp(0.5rem, 0.75vw, 0.75rem);
  position: relative;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-color: rgba(48,206,236,.60) rgba(255,255,255,.10);
  scrollbar-width: thin;
}
.business-chart__risk-scroll::-webkit-scrollbar{ height: 4px; }
.business-chart__risk-scroll::-webkit-scrollbar-track{ background: rgba(255,255,255,.10); }
.business-chart__risk-scroll::-webkit-scrollbar-thumb{ background: rgba(48,206,236,.80); }

.business-chart__risk-plot{
  --business-risk-rule-color: rgba(255,255,255,.10);
  --business-risk-axis-width: clamp(2rem, 2.5vw, 2.5rem);
  --business-risk-column-gap: clamp(0.25rem, 1vw, 1rem);

  display: grid;
  grid-template-columns: var(--business-risk-axis-width) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) auto;
  width: 160%;
  height: clamp(18rem, 32vw, 32rem);
  min-width: 0;
}
.business-chart__risk-scale{
  color: rgba(255,255,255,.60);
  font-size: var(--fs-3xs);
  font-variant-numeric: tabular-nums;
  line-height: 1;
  grid-column: 1 / -1;
  grid-row: 1;
  min-height: 0;
  position: relative;
  pointer-events: none;
}
.business-chart__risk-scale > *{
  height: 1em;
  padding-right: calc(100% - var(--business-risk-axis-width) + 1rem);
  text-align: right;
  box-sizing: border-box;
  position: absolute;
  right: 0;
  left: 0;
  transform: translateY(-50%);
}
.business-chart__risk-scale > *::after{
  content: "";
  border-top: 1px solid var(--business-risk-rule-color);
  position: absolute;
  top: 50%;
  right: 0;
  left: var(--business-risk-axis-width);
}
.business-chart__risk-scale > :nth-child(1){ top: 0; }
.business-chart__risk-scale > :nth-child(2){ top: 25%; }
.business-chart__risk-scale > :nth-child(3){ top: 50%; }
.business-chart__risk-scale > :nth-child(4){ top: 75%; }
.business-chart__risk-scale > :nth-child(5){ top: 100%; }

.business-chart__risk-items{
  display: grid;
  grid-template-columns: repeat(17, minmax(0, 1fr));
  grid-column: 2;
  grid-row: 1;
  gap: var(--business-risk-column-gap);
  min-width: 0;
  position: relative;
}
.business-chart__risk-item{
  display: grid;
  min-width: 0;
}
.business-chart__risk-bar{
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-height: 0;
  position: relative;
}
.business-chart__risk-bar-fill{
  background: var(--business-accent);
  display: block;
  width: min(100%, 4rem);
  height: var(--business-risk-value);
  min-height: 2px;
  transform-origin: center bottom;
}

.business-chart__risk-labels{
  display: grid;
  grid-template-columns: repeat(17, minmax(0, 1fr));
  grid-column: 2;
  grid-row: 2;
  gap: var(--business-risk-column-gap);
  min-width: 0;
  padding-top: clamp(1rem, 1.25vw, 1.25rem);
}
.business-chart__risk-label{
  color: rgba(255,255,255,.60);
  font-size: var(--fs-3xs);
  line-height: 1;
  text-align: center;
  writing-mode: horizontal-tb;
  display: grid;
  justify-self: center;
  justify-items: center;
  row-gap: clamp(0.125rem, 0.25vw, 0.25rem);
}
.business-chart__risk-label-number{
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.business-chart__risk-label-separator{
  display: block;
  width: 0;
  height: 0.5rem;
  border-left: 1px solid currentColor;
}
.business-chart__risk-label-unit{
  line-height: 1;
}
.business-chart.is-business-chart-ready .business-chart__risk-bar-fill{
  transform: scaleY(0);
}
.business-chart.is-business-chart-ready.is-business-chart-visible .business-chart__risk-bar-fill{
  transform: scaleY(1);
  transition: transform 900ms var(--business-ease) var(--business-risk-delay);
}

/* ==================================================
 * business-chart risk responsive 768px
 * ================================================== */
@media (min-width: 768px){
  .business-chart__risk-plot{
    width: auto;
    min-width: 60rem;
  }
}

/* ==================================================
 * business-chart responsive 1025px
 * ================================================== */
@media (min-width: 1025px){
  .business-chart--risk .business-chart__main > .business-chart__content{
    text-align: left;
    justify-items: start;
  }
  .business-chart--risk .business-chart__head{
    justify-self: start;
    width: 100%;
    max-width: 64rem;
  }
  .business-chart--risk .business-chart__body{
    justify-self: start;
    width: 100%;
    max-width: 32rem;
  }
  .business-chart__risk-plot{
    min-width: 0;
  }
}

/* ==================================================
 * business-chart inspection
 * ================================================== */
.business-chart__inspection-figure{
  display: grid;
  justify-items: center;
  row-gap: clamp(2rem, 3vw, 3rem);
  min-width: 0;
  margin-top: clamp(1.5rem, 2vw, 2rem);
}
.business-chart__inspection-donut{
  width: min(100%, clamp(18rem, 22vw, 22rem));
  aspect-ratio: 1;
  position: relative;
}
.business-chart__inspection-donut > svg{
  width: 100%;
  height: auto;
  transform: rotate(-90deg);
}
.business-chart__inspection-donut-track,
.business-chart__inspection-donut-value{
  fill: none;
  stroke-width: 14;
}
.business-chart__inspection-donut-track{
  stroke: rgba(255,255,255,.10);
}
.business-chart__inspection-donut-value{
  stroke: var(--business-accent);
  stroke-dasharray: var(--business-chart-inspection-donut-value) calc(100 - var(--business-chart-inspection-donut-value));
  stroke-dashoffset: 0;
  stroke-linecap: round;
}
.business-chart.is-business-chart-ready .business-chart__inspection-donut-value{
  stroke-dasharray: 0 100;
}
.business-chart.is-business-chart-ready.is-business-chart-visible .business-chart__inspection-donut-value{
  stroke-dasharray: var(--business-chart-inspection-donut-value) calc(100 - var(--business-chart-inspection-donut-value));
  transition: stroke-dasharray 1100ms var(--business-ease) 180ms;
}
.business-chart__inspection-donut-summary{
  display: grid;
  justify-items: center;
  row-gap: clamp(0.25rem, 0.5vw, 0.5rem);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.business-chart__inspection-donut-summary-value{
  display: flex;
  align-items: baseline;
  column-gap: clamp(0.25rem, 0.5vw, 0.5rem);
}
.business-chart__inspection-donut-summary-number{
  color: var(--business-accent);
  font-size: clamp(3rem, 6vw, 6rem);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: -0.02em;
}
.business-chart__inspection-donut-summary-unit{
  color: rgba(255,255,255,.60);
}
.business-chart__inspection-donut-summary-label{
  color: rgba(255,255,255,.80);
  font-size: var(--fs-lg);
  font-weight: 500;
  line-height: 1;
}
.business-chart__inspection-caption{
  color: rgba(255,255,255,.80);
  width: min(100%, 32rem);
}
.business-chart__inspection-legend-items{
  display: grid;
}
.business-chart__inspection-legend-item{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: clamp(1rem, 2vw, 2rem);
  padding-block: clamp(1.25rem, 1.5vw, 1.5rem);
  border-top: 1px solid rgba(255,255,255,.10);
}
.business-chart__inspection-legend-item:last-child{
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.business-chart__inspection-legend-head{
  display: flex;
  align-items: center;
  column-gap: 1rem;
  min-width: 0;
}
.business-chart__inspection-legend-label{
  font-size: var(--fs-lg);
  font-weight: 500;
  line-height: 1;
}
.business-chart__inspection-legend-values{
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  column-gap: clamp(0.75rem, 1vw, 1rem);
  min-width: 0;
  text-align: right;
  white-space: nowrap;
}
.business-chart__inspection-legend-value{
  color: rgba(255,255,255,.80);
  font-size: var(--fs-2xl);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.business-chart__inspection-legend-rate{
  color: rgba(255,255,255,.40);
  font-size: var(--fs-lg);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.business-chart__inspection-legend-dot{
  background: rgba(255,255,255,.20);
  flex: 0 0 auto;
  display: inline-block;
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 50%;
}
.business-chart__inspection-legend-dot--highlight{
  background: var(--business-accent);
}

/* ==================================================
 * business-chart inspection responsive 1025px
 * ================================================== */
@media (min-width: 1025px){
  .business-chart--inspection{
    grid-template-areas:
      "meta meta"
      "content figure"
      "notes figure";
    grid-template-columns: minmax(0, 1fr) minmax(24rem, 1fr);
    align-items: start;
  }
  .business-chart--inspection > .business-chart__main{
    display: contents;
  }
  .business-chart--inspection .business-chart__meta{
    grid-area: meta;
  }
  .business-chart--inspection .business-chart__content{
    text-align: left;
    grid-area: content;
    justify-items: start;
    margin-top: clamp(1.5rem, 2vw, 2rem);
  }
  .business-chart--inspection .business-chart__head{
    justify-self: start;
    width: 100%;
    max-width: 64rem;
  }
  .business-chart--inspection .business-chart__body{
    justify-self: start;
    width: 100%;
    max-width: 32rem;
  }
  .business-chart--inspection > .business-chart__inspection-figure{
    grid-area: figure;
  }
  .business-chart--inspection > .business-chart__notes{
    grid-area: notes;
  }
}

/* ==================================================
 * business reduced motion
 * ================================================== */
@media (prefers-reduced-motion: reduce){
  html.is-ui-reveal-enhanced .business-page .business-chart__meta::after{
    transform: none;
    transition: none;
  }
  .business-chart.is-business-chart-ready .business-chart__aging-bar,
  .business-chart.is-business-chart-ready .business-chart__risk-bar-fill{
    transform: none;
  }
}

/* ==================================================
 * ==================================================
 * business-service-list
 * ==================================================
 * ================================================== */
.business-service-list,
.business-service-list__inner,
.business-service-list__blocks,
.business-service-list__block{
  min-width: 0;
}
.business-service-list__blocks{
  display: grid;
  row-gap: clamp(7rem, 8vw, 8rem);
}
.business-service-list__block{
  scroll-margin-top: var(--layout-header-height);
}

/* ==================================================
 * ==================================================
 * business-service
 * ==================================================
 * ================================================== */
.business-service{
  --business-service-meta-color: var(--color-brand-dark);
  --business-service-title-color: var(--color-brand-dark);
  --business-service-lead-color: var(--color-fg-base);
  --business-service-text-color: rgba(0,0,0,.60);
  --business-service-rule-color: rgba(0,0,0,.14);
  --business-service-meta-rule-color: rgba(17,132,205,.24);
  min-width: 0;
}
.business-service--pipeline{
  --business-service-meta-color: rgba(255,255,255,.80);
  --business-service-title-color: rgba(255,255,255,.96);
  --business-service-lead-color: rgba(255,255,255,.92);
  --business-service-text-color: rgba(255,255,255,.76);
  --business-service-meta-rule-color: rgba(255,255,255,.20);
  --business-service-details-bg: #EAECF4;
  --business-service-details-accent: var(--color-brand-dark);
  --business-service-details-text: rgba(0,0,0,.60);
  --business-service-details-rule: rgba(0,0,0,.14);
  --business-service-process-number-size: 2.75rem;
}
.business-service__inner{
  display: grid;
  row-gap: clamp(2rem, 4vw, 4rem);
  min-width: 0;
}

/* ==================================================
 * business-service header
 * ================================================== */
.business-service__header{
  display: grid;
  row-gap: clamp(1.5rem, 2vw, 2rem);
  min-width: 0;
}
.business-service__meta{
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: clamp(1rem, 1.5vw, 1.5rem);
  min-width: 0;
}
.business-service__number,
.business-service__title-en{
  color: var(--business-service-meta-color);
  font-size: var(--fs-2xs);
  font-weight: 600;
}
.business-service__number{
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: .12em;
}
.business-service__title-en{
  line-height: 1.4;
  letter-spacing: .16em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  column-gap: clamp(1rem, 1.5vw, 1.5rem);
  min-width: 0;
}
.business-service__title-en::after{
  content: "";
  background: var(--business-service-meta-rule-color);
  flex: 1 1 auto;
  min-width: 0;
  height: 1px;
}
.business-service__title-ja{
  font-size: var(--fs-5xl);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -0.02em;
}


/* ==================================================
 * business-service main
 * ================================================== */
.business-service__main{
  display: grid;
  gap: clamp(3rem, 6vw, 6rem);
  min-width: 0;
}
.business-service__media{
  aspect-ratio: 4 / 3;
  min-width: 0;
}

/* ==================================================
 * business-service-gallery
 * ================================================== */
.business-service-gallery{
  width: 100%;
  height: 100%;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  touch-action: pan-y;
}
.business-service-gallery__slides{
  width: 100%;
  height: 100%;
  position: relative;
}
.business-service-gallery__slide{
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 520ms var(--business-ease),
    visibility 0s linear 520ms;
}
.business-service-gallery__slide.is-active{
  z-index: 1;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}
.business-service-gallery__image{
  object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
  user-select: none;
  -webkit-user-drag: none;
  transition: transform 1400ms var(--business-ease);
}
html.is-ui-reveal-enhanced .business-page .business-service__media:not(.is-ui-reveal-visible) .business-service-gallery__image{
  transform: scale(1.08);
}

/* ==================================================
 * business-service-gallery pagination
 * ================================================== */
.business-service-gallery__pagination{
  background: rgba(255,255,255,.76);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  display: flex;
  align-items: center;
  column-gap: .125rem;
  max-width: calc(100% - 1.5rem);
  padding: .375rem .625rem;
  position: absolute;
  left: 50%;
  bottom: clamp(.75rem, 1.5vw, 1.25rem);
  z-index: 3;
  border: 1px solid rgba(255,255,255,.44);
  border-radius: 999px;
  box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.12);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(-50%, .5rem, 0);
  transition:
    opacity 320ms var(--business-ease),
    transform 420ms var(--business-ease),
    visibility 0s linear 420ms;
}
.business-service-gallery__pagination::-webkit-scrollbar{
  display: none;
}
.business-service-gallery.is-business-gallery-ready .business-service-gallery__pagination{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate3d(-50%, 0, 0);
  transition-delay: 0s;
}
.business-service-gallery__pagination-button{
  appearance: none;
  background: transparent;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
}
.business-service-gallery__pagination-button::before{
  content: "";
  background: rgba(18,26,34,.56);
  width: .5rem;
  height: .5rem;
  border-radius: 999px;
  transition:
    width 360ms var(--business-ease),
    background-color 240ms var(--business-ease),
    opacity 240ms var(--business-ease);
}
.business-service-gallery__pagination-button.is-active::before{
  background: rgba(18,26,34,.94);
  width: 1.625rem;
}
.business-service-gallery__pagination-button:focus-visible{
  outline: 2px solid rgba(18,26,34,.88);
  outline-offset: 1px;
}

@media (hover: hover) and (pointer: fine){
  .business-service-gallery__pagination-button:hover::before{
    background: rgba(18,26,34,.82);
  }
}

/* ==================================================
 * business-service content
 * ================================================== */
.business-service__content{
  display: grid;
  align-content: start;
  row-gap: clamp(1.5rem, 2vw, 2rem);
  width: min(100%, 36rem);
  min-width: 0;
}
.business-service__catch{
  font-size: var(--fs-3xl);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: -.02em;
}
.business-service__body{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  min-width: 0;
}
.business-service__lead{
  color: var(--business-service-lead-color);
  font-size: var(--fs-xl);
  font-weight: 500;
}
.business-service__text{
  color: var(--business-service-text-color);
  font-size: var(--fs-sm);
}

/* ==================================================
 * business-service items
 * ================================================== */
.business-service__items{
  display: grid;
  min-width: 0;
  border-top: 1px solid var(--business-service-rule-color);
}
.business-service__item{
  font-size: var(--fs-sm);
  line-height: 1.7;
  display: grid;
  grid-template-columns: .45rem minmax(0, 1fr);
  align-items: center;
  gap: .85rem;
  min-width: 0;
  padding-block: 1rem;
  border-bottom: 1px solid var(--business-service-rule-color);
}
.business-service__item::before{
  content: "";
  background: var(--color-brand-dark);
  width: .3rem;
  height: .3rem;
  border-radius: 50%;
}

/* ==================================================
 * business-service details
 * ================================================== */
.business-service__details{
  color: var(--business-service-details-text);
  background: var(--business-service-details-bg);
  display: grid;
  row-gap: clamp(3rem, 6vw, 6rem);
  min-width: 0;
  padding-block: clamp(3rem, 6vw, 6rem);
  padding-inline: clamp(2rem, 6vw, 6rem);
  border-radius: var(--radius-md);
}

/* ==================================================
 * business-service detail-items
 * ================================================== */
.business-service__detail-items{
  display: grid;
  row-gap: clamp(2.5rem, 4vw, 4rem);
  min-width: 0;
}
.business-service__detail-item{
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  column-gap: clamp(1.25rem, 2.5vw, 2.5rem);
  min-width: 0;
}
.business-service__detail-item + .business-service__detail-item{
  padding-top: clamp(2.5rem, 4vw, 4rem);
  border-top: 1px solid var(--business-service-details-rule);
}
.business-service__detail-icon{
  color: var(--business-service-details-accent);
  display: grid;
  place-items: center;
  width: clamp(3.5rem, 6vw, 4.5rem);
  aspect-ratio: 1;
}
.business-service__detail-icon svg{
  display: block;
  width: 100%;
  height: auto;
}
.business-service__detail-body,
.business-service__process-item-body{
  display: grid;
  row-gap: clamp(.75rem, 1vw, 1rem);
  min-width: 0;
}
.business-service__detail-title,
.business-service__process-item-title{
  color: var(--business-service-details-accent);
  font-weight: 500;
}
.business-service__detail-title{
  font-size: clamp(1.5rem, 2.25vw, 2rem);
  line-height: 1.4;
  letter-spacing: -.02em;
}
.business-service__detail-text,
.business-service__process-item-text{
  font-size: var(--fs-sm);
}

/* ==================================================
 * business-service process
 * ================================================== */
.business-service__process{
  min-width: 0;
  padding-top: clamp(2.5rem, 4vw, 4rem);
  border-top: 1px solid var(--business-service-details-rule);
}
.business-service__process-items{
  list-style: none;
  display: grid;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.business-service__process-item{
  display: grid;
  grid-template-columns: var(--business-service-process-number-size) minmax(0, 1fr);
  align-items: start;
  column-gap: clamp(1.25rem, 2vw, 2rem);
  min-width: 0;
  padding-bottom: clamp(2.5rem, 4vw, 4rem);
  position: relative;
}
.business-service__process-item:last-child{
  padding-bottom: 0;
}
.business-service__process-item:not(:last-child)::after{
  content: "";
  background: var(--business-service-details-rule);
  width: 1px;
  position: absolute;
  top: var(--business-service-process-number-size);
  bottom: 0;
  left: calc(var(--business-service-process-number-size) / 2);
}
.business-service__process-item-number{
  color: var(--business-service-details-accent);
  background: var(--business-service-details-bg);
  font-size: var(--fs-2xs);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .08em;
  display: grid;
  place-items: center;
  width: var(--business-service-process-number-size);
  aspect-ratio: 1;
  border: 1px solid var(--business-service-details-accent);
  border-radius: 50%;
  position: relative;
  z-index: 1;
}
.business-service__process-item-body{
  padding-top: .25rem;
}
.business-service__process-item-title{
  font-size: var(--fs-xl);
  line-height: 1.6;
}

/* ==================================================
 * business-service responsive 768px
 * ================================================== */
@media (min-width: 768px){
  .business-service__detail-items{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .business-service__detail-item:first-child{
    padding-right: clamp(2rem, 4vw, 4rem);
  }
  .business-service__detail-item + .business-service__detail-item{
    padding-top: 0;
    padding-left: clamp(2rem, 4vw, 4rem);
    border-top: 0;
    border-left: 1px solid var(--business-service-details-rule);
  }
}

/* ==================================================
 * business-service responsive 1025px
 * ================================================== */
@media (min-width: 1025px){
  .business-service__main{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
  }
  .business-service__content{
    justify-self: end;
    padding-bottom: clamp(.5rem, 1vw, 1rem);
  }
  .business-service__details{
    justify-self: center;
    width: min(100%, 80rem);
  }
  .business-service__process{
    padding-top: 0;
    border-top: 0;
  }
  .business-service__process-items{
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: clamp(1.5rem, 3vw, 3rem);
    position: relative;
  }
  .business-service__process-items::before{
    content: "";
    background: var(--business-service-details-rule);
    height: 1px;
    position: absolute;
    top: calc(var(--business-service-process-number-size) / 2);
    right: calc(var(--business-service-process-number-size) / 2);
    left: calc(var(--business-service-process-number-size) / 2);
  }
  .business-service__process-item{
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    row-gap: clamp(1.25rem, 1.5vw, 1.5rem);
    padding-bottom: 0;
  }
  .business-service__process-item:not(:last-child)::after{
    content: none;
  }
  .business-service__process-item-number{
    justify-self: start;
  }
  .business-service__process-item-body{
    width: min(100%, 16rem);
    padding-top: 0;
  }
}

/* ==================================================
 * business-service reduced motion
 * ================================================== */
@media (prefers-reduced-motion: reduce){
  .business-service-gallery__slide,
  .business-service-gallery__image,
  .business-service-gallery__pagination,
  .business-service-gallery__pagination-button::before{
    transition: none;
  }
  .business-service-gallery__image{
    transform: none !important;
  }
}






/* ==================================================
 * ==================================================
 * business-scale
 * ==================================================
 * ================================================== */
.business-scale__inner{
  display: grid;
  row-gap: clamp(1.5rem, 2vw, 2rem);
  min-width: 0;
  overflow: hidden;
}
.business-scale__main{
  display: grid;
  row-gap: clamp(3rem, 4vw, 4rem);
  min-width: 0;
}
.business-scale__content{
  text-align: center;
  display: grid;
  justify-items: center;
  row-gap: clamp(1.5rem, 2vw, 2rem);
  width: 100%;
  min-width: 0;
}
.business-scale__head{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  width: fit-content;
  max-width: min(100%, 64rem);
}
.business-scale__title-en{
  color: var(--business-accent-dark);
  font-size: var(--fs-sm);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.2em;
}
.business-scale__title-ja{
  font-size: var(--fs-4xl);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -0.02em;
}
.business-scale__body{
  color: rgba(0,0,0,.80);
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  width: fit-content;
  max-width: min(100%, 32rem);
}
.business-scale__lead{
  font-size: var(--fs-xl);
  font-weight: 500;
}
.business-scale__items{
  display: grid;
  column-gap: clamp(3rem, 6vw, 6rem);
  row-gap: clamp(3rem, 4vw, 4rem);
}
.business-scale__item{
  text-align: center;
  display: grid;
  justify-items: center;
  row-gap: clamp(2rem, 3vw, 3rem);
  min-width: 0;
}
.business-scale__item-label{
  color: rgba(0,0,0,.80);
  font-size: var(--fs-lg);
  font-weight: 500;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  column-gap: 0.5rem;
}
.business-scale__item-label::before{
  content: "〈";
}
.business-scale__item-label::after{
  content: "〉";
}
.business-scale__item-value{
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: clamp(1rem, 1.5vw, 1.5rem);
  width: 100%;
}
.business-scale__item-number{
  color: var(--business-accent-dark);
  font-size: clamp(4rem, 8vw, 8rem);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: -0.02em;
}
.business-scale__item-prefix,
.business-scale__item-unit{
  color: rgba(0,0,0,.80);
  font-size: var(--fs-2xl);
  line-height: 1;
}
.business-scale__item-text{
  color: rgba(0,0,0,.80);
  font-size: var(--fs-sm);
  justify-self: stretch;
  padding-block: 1rem;
  border-top: 1px solid rgba(0,0,0,.10);
  border-bottom: 1px solid rgba(0,0,0,.10);
}
.business-scale__notes{
  display: grid;
  row-gap: clamp(0.25rem, 0.5vw, 0.5rem);
  min-width: 0;
}
.business-scale__note,
.business-scale__source{
  color: rgba(0,0,0,.40);
  font-size: var(--fs-2xs);
}
.business-scale__source-link{
  color: rgba(0,0,0,.40);
}
.business-scale__source-link:hover{
  color: rgba(0,0,0,.60);
}

/* ==================================================
 * business-scale responsive 1025px
 * ================================================== */
@media (min-width: 1025px){
  .business-scale__items{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ==================================================
 * ==================================================
 * business-adachi
 * ==================================================
 * ================================================== */
.business-adachi__inner{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  column-gap: clamp(3rem, 6vw, 6rem);
  row-gap: clamp(2rem, 4vw, 4rem);
  width: 100%;
  min-width: 0;
}
.business-adachi__frame,
.business-adachi__main{
  width: 100%;
  min-width: 0;
}
.business-adachi__media{
  --business-adachi-media-viewport-width: 100%;
  --business-adachi-media-viewport-offset-x: 0px;
  --business-adachi-media-scale: 1;
  --business-adachi-media-translate-x: 0px;

  aspect-ratio: 4 / 3;
  width: 100%;
  max-width: none;
  min-width: 0;
  overflow: hidden;
}
.business-page.is-business-adachi-media-ready .business-adachi__media{
  width: var(--business-adachi-media-viewport-width);
  margin-left: var(--business-adachi-media-viewport-offset-x);
}
.business-adachi__media-inner{
  width: 100%;
  height: 100%;
  transform-origin: left center;
  will-change: transform;
}
.business-page.is-business-adachi-media-ready .business-adachi__media-inner{
  transform: translate3d(var(--business-adachi-media-translate-x), 0, 0) scale(var(--business-adachi-media-scale));
}
.business-adachi__image{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.business-adachi__content{
  text-align: center;
  display: grid;
  justify-items: center;
  row-gap: clamp(1.5rem, 2vw, 2rem);
  width: 100%;
  min-width: 0;
}
.business-adachi__head{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  width: fit-content;
  max-width: min(100%, 64rem);
}
.business-adachi__title-en{
  color: var(--business-accent-dark);
  font-size: var(--fs-sm);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.2em;
}
.business-adachi__title-ja{
  font-size: var(--fs-4xl);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -0.02em;
}
.business-adachi__body{
  color: rgba(0,0,0,.80);
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  width: fit-content;
  max-width: min(100%, 32rem);
}
.business-adachi__lead{
  font-size: var(--fs-xl);
  font-weight: 500;
}
.business-adachi__metric{
  text-align: center;
  display: grid;
  justify-items: center;
  row-gap: clamp(2rem, 3vw, 3rem);
  min-width: 0;
  padding-top: clamp(2rem, 3vw, 3rem);
  border-top: 2px solid var(--business-rule);
}
.business-adachi__metric-label{
  color: rgba(0,0,0,.80);
  font-size: var(--fs-lg);
  font-weight: 500;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  column-gap: 0.5rem;
}
.business-adachi__metric-label::before{
  content: "〈";
}
.business-adachi__metric-label::after{
  content: "〉";
}
.business-adachi__metric-value{
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: clamp(1rem, 1.5vw, 1.5rem);
  width: 100%;
}
.business-adachi__metric-number{
  color: var(--business-accent-dark);
  font-size: clamp(6rem, 12vw, 12rem);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: -0.02em;
}
.business-adachi__metric-prefix,
.business-adachi__metric-unit{
  color: rgba(0,0,0,.80);
  font-size: var(--fs-2xl);
  line-height: 1;
}
.business-adachi__metric-rank{
  color: var(--business-accent-dark);
  font-size: var(--fs-3xs);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.business-adachi__metric-track{
  background: var(--business-rule);
  width: 100%;
  height: 4px;
  overflow: hidden;
}
.business-adachi__metric-bar{
  background: var(--business-accent-dark);
  display: block;
  width: 100%;
  height: 100%;
  transform-origin: left center;
}
html.is-ui-reveal-enhanced .business-page .business-adachi__metric:not(.is-ui-reveal-visible) .business-adachi__metric-bar{
  transform: scaleX(0);
}
html.is-ui-reveal-enhanced .business-page .business-adachi__metric.is-ui-reveal-visible .business-adachi__metric-bar{
  transform: scaleX(1);
  transition: transform 1300ms var(--business-ease) 320ms;
}
.business-adachi__metric-text{
  color: rgba(0,0,0,.80);
  font-size: var(--fs-xs);
}
.business-adachi__notes{
  display: grid;
  row-gap: clamp(0.25rem, 0.5vw, 0.5rem);
  min-width: 0;
}
.business-adachi__note,
.business-adachi__source{
  color: rgba(0,0,0,.40);
  font-size: var(--fs-2xs);
}
.business-adachi__source-link{
  color: rgba(0,0,0,.40);
}
.business-adachi__source-link:hover{
  color: rgba(0,0,0,.60);
}

/* ==================================================
 * business-adachi responsive 768px
 * ================================================== */
@media (min-width: 768px){
  .business-adachi__metric{
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
  }
  .business-adachi__metric-label{
    text-align: left;
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
  }
  .business-adachi__metric-rank{
    text-align: right;
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: end;
  }
  .business-adachi__metric-value,
  .business-adachi__metric-track,
  .business-adachi__metric-text{
    grid-column: 1 / -1;
  }
  .business-adachi__metric-text{
    text-align: right;
    justify-self: stretch;
    margin-top: calc(clamp(.75rem, 1.5vw, 1.5rem) * -1);
  }
}

/* ==================================================
 * business-adachi responsive 1025px
 * ================================================== */
@media (min-width: 1025px){
  .business-adachi__inner{
    grid-template-areas:
      "frame frame"
      "main metric"
      "notes metric";
    grid-template-columns: minmax(20rem, .72fr) minmax(0, 1.28fr);
    align-items: start;
  }
  .business-adachi__frame{
    grid-area: frame;
  }
  .business-adachi__media{
    aspect-ratio: 16 / 9;
  }
  .business-adachi__main{
    grid-area: main;
  }
  .business-adachi__content{
    text-align: left;
    justify-items: start;
  }
  .business-adachi__head{
    width: min(100%, 64rem);
    max-width: none;
  }
  .business-adachi__body{
    width: min(100%, 32rem);
    max-width: none;
  }
  .business-adachi__metric{
    grid-area: metric;
  }
  .business-adachi__notes{
    grid-area: notes;
  }
}

/* ==================================================
 * business-adachi reduced motion
 * ================================================== */
@media (prefers-reduced-motion: reduce){
  .business-adachi__media-inner{
    will-change: auto;
  }
  .business-adachi__metric-bar{
    transition: none !important;
    transform: none !important;
  }
}

/* ==================================================
 * ==================================================
 * business-outcome
 * ==================================================
 * ================================================== */
.business-outcome{
  --business-outcome-meta-color: var(--color-brand-dark);
  --business-outcome-title-color: var(--color-brand-dark);
  --business-outcome-text-color: rgba(0,0,0,.60);
  --business-outcome-note-color: rgba(0,0,0,.48);
  --business-outcome-rule-color: var(--business-rule);
  --business-outcome-number-color: var(--business-accent-dark);
  --business-outcome-comparison-track-color: rgba(0,0,0,.08);
  --business-outcome-comparison-before-color: var(--business-accent-dark);
  --business-outcome-comparison-after-color: var(--business-accent-dark);
  min-width: 0;
}
.business-outcome__inner{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  column-gap: clamp(3rem, 6vw, 6rem);
  row-gap: clamp(2rem, 4vw, 4rem);
  min-width: 0;
}

/* ==================================================
 * business-outcome content
 * ================================================== */
.business-outcome__content{
  text-align: center;
  display: grid;
  justify-items: center;
  row-gap: clamp(1.5rem, 2vw, 2rem);
  width: min(100%, 36rem);
  min-width: 0;
  margin-inline: auto;
}
.business-outcome__header{
  display: grid;
  justify-items: center;
  row-gap: clamp(.75rem, 1vw, 1rem);
  min-width: 0;
}
.business-outcome__title-en{
  font-family: var(--font-en-sans);
  font-size: var(--fs-2xs);
  font-weight: 600;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.business-outcome__title-ja{
  font-size: var(--fs-4xl);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.02em;
  text-wrap: balance;
}
.business-outcome__body{
  color: rgba(0,0,0,.80);
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  width: fit-content;
  max-width: min(100%, 32rem);
}
.business-outcome__lead{
  font-size: var(--fs-xl);
  font-weight: 500;
  text-wrap: balance;
}

/* ==================================================
 * business-outcome figure
 * ================================================== */
.business-outcome__figure{
  text-align: center;
  display: grid;
  justify-items: center;
  row-gap: clamp(2rem, 3vw, 3rem);
  width: 100%;
  min-width: 0;
  margin: 0;
  padding-top: clamp(2rem, 3vw, 3rem);
  border-top: 2px solid var(--business-outcome-rule-color);
}
.business-outcome__figure-label{
  color: var(--business-outcome-text-color);
  font-size: var(--fs-lg);
  font-weight: 500;
  line-height: 1.7;
  display: inline-flex;
  align-items: center;
  column-gap: .5rem;
}
.business-outcome__figure-label::before{
  content: "〈";
}
.business-outcome__figure-label::after{
  content: "〉";
}
.business-outcome__figure-value{
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: clamp(.75rem, 1.5vw, 1.5rem);
  row-gap: .5rem;
  width: 100%;
  min-width: 0;
  padding-bottom: clamp(2rem, 3vw, 3rem);
  border-bottom: 2px solid var(--business-outcome-rule-color);
}
.business-outcome__figure-number{
  color: var(--business-outcome-number-color);
  font-family: var(--font-en-sans);
  font-size: clamp(5.5rem, 16vw, 10rem);
  font-variant-numeric: tabular-nums;
  font-weight: 300;
  line-height: .8;
  letter-spacing: -.08em;
}
.business-outcome__figure-prefix,
.business-outcome__figure-unit{
  color: var(--business-outcome-text-color);
  font-family: var(--font-base);
  font-size: var(--fs-2xl);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}
.business-outcome__figure-text{
  color: var(--business-outcome-number-color);
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.04em;
  white-space: nowrap;
}

/* ==================================================
 * business-outcome comparison
 * ================================================== */
.business-outcome__comparison{
  display: grid;
  row-gap: clamp(1.75rem, 2.5vw, 2.5rem);
  width: 100%;
  min-width: 0;
}
.business-outcome__comparison-item{
  --business-outcome-comparison-color: var(--business-outcome-comparison-before-color);
  display: grid;
  row-gap: clamp(.75rem, 1vw, 1rem);
  min-width: 0;
}
.business-outcome__comparison-item--after{
  --business-outcome-comparison-color: var(--business-outcome-comparison-after-color);
}
.business-outcome__comparison-head{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  column-gap: clamp(1rem, 2vw, 2rem);
  min-width: 0;
}
.business-outcome__comparison-label{
  text-align: left;
  display: grid;
  row-gap: .25rem;
  min-width: 0;
}
.business-outcome__comparison-name{
  color: var(--business-outcome-text-color);
  font-size: var(--fs-sm);
  font-weight: 500;
  line-height: 1.5;
}
.business-outcome__comparison-period{
  color: var(--business-outcome-note-color);
  font-size: var(--fs-2xs);
  line-height: 1.5;
}
.business-outcome__comparison-value{
  color: var(--business-outcome-comparison-color);
  display: inline-flex;
  align-items: baseline;
  flex: 0 0 auto;
  column-gap: .35rem;
  white-space: nowrap;
}
.business-outcome__comparison-number{
  font-family: var(--font-en-sans);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  line-height: .85;
  letter-spacing: -.04em;
}
.business-outcome__comparison-unit{
  font-size: var(--fs-2xs);
  font-weight: 500;
  line-height: 1;
}
.business-outcome__comparison-track{
  background: var(--business-outcome-comparison-track-color);
  width: 100%;
  height: clamp(1.5rem, 2vw, 2rem);
  overflow: hidden;
}
.business-outcome__comparison-bar{
  background: var(--business-outcome-comparison-color);
  display: block;
  width: var(--business-outcome-comparison-width, 0%);
  height: 100%;
  transform-origin: left center;
}

/* ==================================================
 * business-outcome comparison animation
 * ================================================== */
html.is-ui-reveal-enhanced .business-page .business-outcome__figure:not(.is-ui-reveal-visible) .business-outcome__comparison-bar{
  transform: scaleX(0);
}
html.is-ui-reveal-enhanced .business-page .business-outcome__figure.is-ui-reveal-visible .business-outcome__comparison-bar{
  transform: scaleX(1);
  transition: transform 1300ms var(--business-ease) 320ms;
}
html.is-ui-reveal-enhanced .business-page .business-outcome__figure.is-ui-reveal-visible .business-outcome__comparison-item--after .business-outcome__comparison-bar{
  transition-delay: 480ms;
}

/* ==================================================
 * business-outcome notes
 * ================================================== */
.business-outcome__notes{
  display: grid;
  row-gap: .4rem;
  width: min(100%, 48rem);
  min-width: 0;
  margin-inline: auto;
}
.business-outcome__note,
.business-outcome__source{
  color: var(--business-outcome-note-color);
  font-size: var(--fs-2xs);
  line-height: 1.85;
}
.business-outcome__source-link{
  color: var(--business-outcome-title-color);
}

/* ==================================================
 * business-outcome responsive 1025px
 * ================================================== */
@media (min-width: 1025px){
  .business-outcome__inner{
    grid-template-areas:
      "content figure"
      "notes   figure";
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }
  .business-outcome__content{
    text-align: left;
    grid-area: content;
    justify-items: start;
    margin-inline: 0;
  }
  .business-outcome__header{
    justify-items: start;
  }
  .business-outcome__figure{
    grid-area: figure;
  }
  .business-outcome__notes{
    grid-area: notes;
    margin-inline: 0;
  }
}

/* ==================================================
 * business-outcome reduced motion
 * ================================================== */
@media (prefers-reduced-motion: reduce){
  .business-outcome__comparison-bar{
    transition: none !important;
    transform: none !important;
  }
}

/* ==================================================
 * ==================================================
 * business-commitment
 * ==================================================
 * ================================================== */
.business-commitment{
  --business-commitment-title-color: rgba(255,255,255,.96);
  --business-commitment-title-faded-color: rgba(255,255,255,.18);
  --business-commitment-lead-color: rgba(255,255,255,.76);
  --business-commitment-lead-faded-color: rgba(255,255,255,.16);
  --business-commitment-text-color: rgba(255,255,255,.62);
  --business-commitment-text-faded-color: rgba(255,255,255,.14);
  --business-commitment-meta-color: var(--business-accent);
  --business-commitment-rule-color: rgba(255,255,255,.20);
  display: grid;
  place-items: center;
  min-height: clamp(38rem, 72svh, 54rem);
  min-width: 0;
  padding-block: clamp(7rem, 12vw, 12rem);
}
.business-commitment__inner{
  text-align: center;
  display: grid;
  justify-items: center;
  row-gap: clamp(2.5rem, 5vw, 5rem);
  width: min(100%, 64rem);
  min-width: 0;
  margin-inline: auto;
}

/* ==================================================
 * business-commitment header
 * ================================================== */
.business-commitment__header{
  display: grid;
  justify-items: center;
  row-gap: clamp(1.25rem, 2vw, 2rem);
  min-width: 0;
}
.business-commitment__title-en{
  color: var(--business-commitment-meta-color);
  font-family: var(--font-en-sans);
  font-size: var(--fs-2xs);
  font-weight: 600;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.business-commitment__title-ja{
  --business-commitment-copy-color: var(--business-commitment-title-color);
  --business-commitment-copy-faded-color: var(--business-commitment-title-faded-color);
  color: var(--business-commitment-copy-color);
  font-size: clamp(2.25rem, 5vw, 4.75rem);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -.035em;
  text-wrap: balance;
}

/* ==================================================
 * business-commitment body
 * ================================================== */
.business-commitment__body{
  display: grid;
  justify-items: center;
  row-gap: clamp(1.5rem, 2.5vw, 2.5rem);
  width: min(100%, 42rem);
  min-width: 0;
}
.business-commitment__body::before{
  content: "";
  background: var(--business-commitment-rule-color);
  display: block;
  width: clamp(4rem, 8vw, 7rem);
  height: 1px;
  margin-bottom: clamp(.5rem, 1vw, 1rem);
}
.business-commitment__lead{
  --business-commitment-copy-color: var(--business-commitment-lead-color);
  --business-commitment-copy-faded-color: var(--business-commitment-lead-faded-color);
  color: var(--business-commitment-copy-color);
  font-size: clamp(1.125rem, 1.6vw, 1.5rem);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: .01em;
  text-wrap: balance;
}
.business-commitment__text{
  --business-commitment-copy-color: var(--business-commitment-text-color);
  --business-commitment-copy-faded-color: var(--business-commitment-text-faded-color);
  color: var(--business-commitment-copy-color);
  font-size: var(--fs-sm);
  line-height: 2.1;
  width: min(100%, 38rem);
}

/* ==================================================
 * business-commitment copy reveal
 * ================================================== */
.business-commitment__copy-accessible{
  width: 1px;
  height: 1px;
  padding: 0;
  border: 0;
  margin: -1px;
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.business-commitment__copy-visual{
  display: inline;
}
.business-page.is-business-commitment-text-ready .business-commitment__copy-character{
  color: var(--business-commitment-copy-faded-color);
  animation-name: business-commitment-character-reveal;
  animation-duration: .08s;
  animation-timing-function: linear;
  animation-delay: calc(var(--business-commitment-character-start, 0s) - var(--business-commitment-text-progress, 0s));
  animation-fill-mode: both;
  animation-play-state: paused;
}

@keyframes business-commitment-character-reveal{
  from{
    color: var(--business-commitment-copy-faded-color);
  }
  to{
    color: var(--business-commitment-copy-color);
  }
}

/* ==================================================
 * business-commitment reduced motion
 * ================================================== */
@media (prefers-reduced-motion: reduce){
  .business-page.is-business-commitment-text-ready .business-commitment__copy-character{
    color: var(--business-commitment-copy-color);
    animation: none;
  }
}







/* ==================================================
 * business focus
 * ================================================== */
.business-chart__source-link:focus-visible,
.business-adachi__source-link:focus-visible,
.business-outcome__source-link:focus-visible,
.business-chart__risk-scroll:focus-visible{
  outline: 2px solid var(--business-accent);
  outline-offset: 4px;
}






