  @font-face {
    font-family: "Roboto Condensed";
    src: url("/fonts/RobotoCondensed-Italic-variable.ttf") format("truetype");
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
  }
  @font-face {
    font-family: "Aoyagi Reisho";
    src: url("/company/assets/fonts/aoyagireisyosimo_otf_2_01.otf") format("opentype");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
  }
  html { scroll-behavior: smooth; }
  @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
  .company-page { padding-top: 60px; color: #222; background: #fff; }
  .company-hero { position: relative; height: 170px; padding: 0 8.4vw 0 max(7vw, calc((100vw - 1120px) / 2)); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; overflow: hidden; box-sizing: border-box; background: linear-gradient(90deg, #f3f8fd 0%, #eef7ff 55%, #cfe9ff 100%); }
  .company-hero h2 { margin: 0; display: flex; align-items: center; color: #538dc1; font-size: 32px; font-weight: 400; line-height: 1.25; letter-spacing: .04em; white-space: nowrap; }
  .company-hero h2 span { display: flex; align-items: center; margin-top: 4px; margin-left: 12px; font-family: Roboto, sans-serif; font-size: 13px; font-weight: 400; line-height: 1; letter-spacing: .12em; }
  .company-hero h2 span::before { content: ""; display: block; width: 18px; height: 1px; margin-right: 10px; background: currentColor; }
  .company-hero__bars { position: absolute; right: 8.4vw; bottom: 0; width: 120px; height: 170px; display: flex; align-items: flex-end; pointer-events: none; }
  .company-hero__bars i { width: 27px; margin-left: 3px; background: linear-gradient(0deg, #fff 0%, #fff 55%, rgba(255,255,255,0) 100%); }
  .company-hero__bars i:nth-child(1) { height: 75px; }
  .company-hero__bars i:nth-child(2) { height: 105px; }
  .company-hero__bars i:nth-child(3) { height: 135px; }
  .company-hero__bars i:nth-child(4) { height: 165px; }
  .company-local-nav { position: sticky; top: 60px; z-index: 20; min-height: 60px; box-sizing: border-box; border-bottom: 1px solid #e8edf2; background: rgba(255,255,255,.94); backdrop-filter: blur(10px); }
  .company-local-nav__scroller { min-height: 60px; display: flex; align-items: center; justify-content: center; gap: 36px; padding: 0 24px; box-sizing: border-box; white-space: nowrap; }
  .company-local-nav a { color: #333; font-size: 13px; text-decoration: none; }
  .company-local-nav a:hover, .company-local-nav a.is-active { color: var(--color-primary); }
  .desktop-menu a.is-current, .overlay-menu a.is-current { color: var(--color-primary) !important; }
  .company-breadcrumb { padding: 16px 7vw 0; box-sizing: border-box; }
  .company-breadcrumb ol { width: min(1120px, 100%); margin: 0 auto; padding: 0; display: flex; align-items: center; gap: 11px; list-style: none; color: #7b8790; font-size: 12px; line-height: 1.4; }
  .company-breadcrumb a { color: #333; text-decoration: none; }
  .company-breadcrumb a:hover { color: var(--color-primary); }
  .company-breadcrumb [aria-current="page"] { color: #538dc1; }
  .company-breadcrumb__separator { width: 6px; height: 6px; flex: 0 0 6px; border-top: 1px solid #9cabb6; border-right: 1px solid #9cabb6; transform: rotate(45deg); }
  .company-section { padding: 100px 7vw; }
  .company-section__inner { width: min(1120px, 100%); margin: 0 auto; }
  .company-section__eyebrow { margin: 0 0 16px; font-family: Roboto, sans-serif; font-size: var(--section-title-large-font-size); letter-spacing: .05em; font-weight: 400; }
  .company-section__title { margin: 0 0 64px; font-size: clamp(16px, 4vw, 16px); font-weight: 400; letter-spacing: .05em; }
  .company-philosophy { background: #fff; }
  .company-philosophy__lead { max-width: 900px; margin: 0; font-size: clamp(26px, 3.2vw, 46px); font-weight: 300; line-height: 1.75; letter-spacing: .05em; }
  .company-philosophy__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 90px; background: #dfe7ee; }
  .company-philosophy__item { min-height: 220px; padding: 24px; background: #fff; }
  .company-philosophy__number { display: block; margin-bottom: 24px; color: var(--color-primary); font-family: Roboto, sans-serif; font-size: 16px; }
  .company-philosophy__item p { margin: 0; font-size: 18px; font-weight: 300; line-height: 2; }
  .company-message { padding: 0 7vw 80px; }
  .company-message__heading { width: min(1120px, 100%); margin: 0 auto 48px; }
  #message.company-message, .company-message--partner { padding-right: 0; padding-left: 0; }
  #message .company-person, .company-message--partner .company-person { width: 100%; max-width: none; }
  .company-message--partner { padding-top: 80px; padding-bottom: 80px; }
  .company-person { width: min(1200px, 100%); min-height: 720px; margin: 0 auto; display: grid; grid-template-columns: 42% 58%; overflow: hidden; background: var(--color-primary); }
  .company-person__image { min-height: 720px; }
  .company-person__image img { width: 100%; height: 100%; min-height: 720px; object-fit: cover; object-position: top center; display: block; }
  .company-person__content { display: flex; align-items: center; padding: 72px clamp(48px, 6vw, 90px); color: #fff; }
  .company-person__content-inner { max-width: 660px; }
  .company-person__section-heading { margin-bottom: 56px; }
  .company-person__section-heading .company-section__eyebrow { margin-bottom: 10px; }
  .company-person__section-heading .company-section__title { margin-bottom: 0; }
  .company-person__role { margin: 0 0 12px; font-size: 14px; font-weight: 300; line-height: 1.8; }
  .company-person__name { margin: 0 0 42px; font-size: 24px; font-weight: 400; letter-spacing: .08em; }
  .company-person__description { margin: 0; font-size: 14px; font-weight: 300; line-height: 2.35; letter-spacing: .03em; }
  .company-person__signature { width: max-content; margin-top: 40px; margin-left: auto; text-align: left; }
  .company-person__signature .company-person__role { margin-bottom: 4px; font-size: 13px; }
  .company-person__signature .company-person__name { margin-bottom: 0; font-family: "Aoyagi Reisho", "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: 27px; font-weight: 400; line-height: 1.5; letter-spacing: .05em; }
  .company-person--reverse { grid-template-columns: 58% 42%; }
  .company-person--reverse .company-person__content { order: 1; }
  .company-person--reverse .company-person__image { order: 2; }
  .company-partner-note { display: block; margin-top: 48px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.45); font-size: 12px; line-height: 1.9; opacity: .9; }
  .company-partner-link { display: flex; align-items: center; gap: 10px; width: fit-content; margin: 24px 0 0; padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,.65); color: #fff; font-size: 13px; line-height: 1.7; letter-spacing: .04em; text-decoration: none; transition: opacity .25s ease; }
  .company-partner-link svg { width: 15px; height: 15px; flex: 0 0 auto; }
  .company-partner-link:hover { opacity: .7; }
  #company-profile.company-profile { display: block; margin: 0; padding: 80px 7vw 100px; background: #fff; scroll-margin-top: 120px; }
  #company-profile .company-profile__wrapper { width: min(1120px, 100%); max-width: none; margin: 0 auto; }
  #company-profile .company-profile__container { display: block; }
  #company-profile .company-profile__header { display: block; width: 100%; margin: 0; padding: 0; }
  #company-profile .company-profile__blue-bar { display: none; }
  #company-profile .company-profile__table { width: 100%; border-collapse: collapse; border-spacing: 0; }
  #company-profile .company-profile__table-header, #company-profile .company-profile__table-data { padding: 18px 12px; border-bottom: 1px solid #dfe7ee; color: #333; font-size: 13px; font-weight: 400; line-height: 1.9; text-align: left; }
  #company-profile .company-profile__table-row:first-child .company-profile__table-header, #company-profile .company-profile__table-row:first-child .company-profile__table-data { border-top: 1px solid #dfe7ee; }
  #company-profile .company-profile__table-header { width: 28%; border-bottom-color: #fff; background: #e7f2f9; color: #538dc1; font-weight: 600; }
  #company-profile .company-profile__officers { margin: 0; }
  #company-profile .company-profile__officer-line { display: grid; grid-template-columns: 7.5em minmax(0, 1fr); column-gap: 1em; align-items: baseline; }
  #company-profile .company-profile__officer-role, #company-profile .company-profile__officer-name { margin: 0; white-space: nowrap; }
  #company-profile .company-profile__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
  #company-profile .company-profile__list--banks { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #company-profile .company-profile__list p { margin: 0; font-size: 13px; line-height: 1.9; }
  .company-officers-section { padding: 80px 7vw 80px; background: #fff; scroll-margin-top: 120px; }
  .company-officers-section__inner { width: min(1120px, 100%); margin: 0 auto; }
  .company-officers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 28px; row-gap: 0; }
  .company-officer { padding: 30px 0; border-top: 1px solid #dfe7ee; border-bottom: 1px solid #dfe7ee; }
  .company-officer:nth-child(n + 4) { border-top: 0; }
  .company-officer__role { margin: 0 0 8px; font-size: 13px; line-height: 1.6; }
  .company-officer__name { margin: 0; color: #333; font-family: "Aoyagi Reisho", "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: 27px; font-weight: 400; line-height: 1.5; letter-spacing: .05em; }

  .company-locations-section, .company-revenue-section { padding: 80px 7vw; background: #fff; scroll-margin-top: 120px; }
  .company-locations-section__inner, .company-revenue-section__inner { width: min(1120px, 100%); margin: 0 auto; }
  #company-overview.company-details { padding-top: 88px; }
  #company-overview.is-effect-ready .company-details__header,
  #company-overview.is-effect-ready .company-details__item { opacity: 0; transform: translateY(24px); transition: opacity .75s ease, transform .75s cubic-bezier(.22, 1, .36, 1); }
  #company-overview.is-effect-ready .company-details__header.is-visible,
  #company-overview.is-effect-ready .company-details__item.is-visible { opacity: 1; transform: translateY(0); }
  @media (prefers-reduced-motion: reduce) {
    #company-overview.is-effect-ready .company-details__header,
    #company-overview.is-effect-ready .company-details__item { opacity: 1; transform: none; transition: none; }
  }
  .company-location-branches { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
  .company-location { padding: 30px 0; border-top: 1px solid #dfe7ee; border-bottom: 1px solid #dfe7ee; }
  .company-location__name { margin: 0 0 16px; color: #538dc1; font-size: 18px; font-weight: 600; letter-spacing: .04em; }
  .company-location__address, .company-location__contact { margin: 0; font-size: 13px; line-height: 2; }
  .company-location__contact { margin-top: 8px; }
  .company-revenue__summary { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 2fr); gap: 1px; margin-bottom: 60px; background: #dfe7ee; }
  .company-revenue__summary-item { padding: 30px; background: #fff; }
  .company-revenue__summary-item--actual, .company-revenue__summary-item--forecast { text-align: center; }
  .company-revenue__summary-item--comparison { text-align: center; }
  .company-revenue__summary-item .company-revenue__content { display: inline-block; text-align: left; }
  .company-revenue__label { margin: 0 0 12px; font-size: 13px; line-height: 1.6; }
  .company-revenue__value { margin: 0; color: var(--color-primary); font-family: Roboto, sans-serif; font-size: clamp(24px, 3vw, 38px); font-weight: 400; line-height: 1.3; }
  .company-revenue__value small { margin-left: 6px; font-size: 13px; }
  .company-revenue__unit { font-size: .8em; }
  .sales-css-version { margin: 42px 0 56px; }
  .sales-css-version:last-child { margin-bottom: 0; }
  .sales-css-chart { overflow: hidden; background: #fff; }
  .sales-css-chart__title { margin: 0; padding: 10px 12px; color: #526b7e; font-size: 15px; font-weight: 500; letter-spacing: .04em; }
  .sales-css-chart__legend { display: flex; justify-content: flex-end; gap: 24px; padding: 0 52px 4px 44px; color: #526b7e; font-size: 11px; line-height: 1.5; }
  .sales-css-chart__legend span { display: inline-flex; align-items: center; gap: 7px; }
  .sales-css-chart__legend span::before { content: ""; display: block; width: 22px; height: 8px; background: linear-gradient(110deg, #54b2ff 0%, #0072dc 100%); }
  .sales-css-chart__legend .sales-css-chart__legend-profit::before { width: 22px; height: 10px; border-bottom: 2px solid #c4d3d1; background: linear-gradient(110deg, #8bd8d1 0%, #39aaa2 100%) center bottom / 6px 10px no-repeat; }
  .sales-css-chart__legend .sales-css-chart__legend-forecast::before { background: linear-gradient(110deg, #ffc36a 0%, #f39a38 100%); }
  .sales-css-chart__body { display: block; min-height: 520px; }
  .sales-css-chart__plot { position: relative; min-width: 0; min-height: 520px; }
  .sales-css-chart__axis-title { position: absolute; bottom: 44px; z-index: 4; color: #718da3; font-size: 9px; font-weight: 400; line-height: 1; letter-spacing: .04em; white-space: nowrap; pointer-events: none; }
  .sales-css-chart__axis-title--sales { left: 8px; bottom: 40px; font-size: 10px; }
  .sales-css-chart__axis-title--profit { right: 0; bottom: 40px; color: #526b7e; }
  .sales-css-chart__grid { position: absolute; inset: 38px 52px 62px 44px; display: grid; grid-template-rows: repeat(6, 1fr); }
  .sales-css-chart__grid span { position: relative; }
  .sales-css-chart__grid span::before { content: attr(data-scale); position: absolute; top: -10px; left: -40px; width: 34px; color: #718da3; font-size: 10px; text-align: right; }
  .sales-css-chart__grid span::after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 1px; background: linear-gradient(90deg, rgba(177,207,232,.72) 0%, rgba(202,224,242,.62) 62%, rgba(222,237,248,.58) 100%); }
  .sales-css-chart__bars { position: absolute; inset: 38px 52px 62px 44px; display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); align-items: end; gap: 8px; border-bottom: 2px solid #9aa6b2; }
  .sales-css-bar { position: relative; height: 100%; display: flex; align-items: flex-end; justify-content: center; }
  .sales-css-bar__fill { width: min(44px, 66%); height: var(--height); transform: translateX(-10px); box-shadow: inset 0 1px rgba(255,255,255,.42); }
  .sales-css-bar__profit-fill { position: absolute; z-index: 1; bottom: 0; left: calc(50% + 21px); width: 12px; height: var(--profit-height); transform: translateX(-50%); background: linear-gradient(110deg, #8bd8d1 0%, #39aaa2 100%); box-shadow: inset 0 1px rgba(255,255,255,.42); }
  .sales-css-bar__profit-value { position: absolute; z-index: 4; bottom: calc(var(--profit-height) + 7px); left: calc(50% + 21px); transform: translateX(-8%); color: #4fa9a2; font-family: Roboto, sans-serif; font-size: 10px; font-weight: 500; line-height: 1; white-space: nowrap; }
  .sales-css-bar__profit-value small { margin-left: 2px; font-family: "Noto Sans JP", sans-serif; font-size: 9px; font-weight: 500; letter-spacing: 0; line-height: 1; }
  .sales-css-bar:nth-child(9) .sales-css-bar__profit-value { bottom: var(--profit-height); transform: translate(8px, 50%); }
  .sales-css-bar:nth-child(10) .sales-css-bar__profit-value { bottom: var(--profit-height); transform: translate(-100%, 50%) translateX(-12px); text-align: left; }
  @media (min-width: 768px) {
    .sales-css-bar:nth-child(4) .sales-css-bar__profit-value { bottom: calc(var(--profit-height) - 7px); left: calc(50% + 32px); transform: none; }
    .sales-css-bar:nth-child(5) .sales-css-bar__profit-value { left: calc(50% + 6px); }
    .sales-css-bar:nth-child(7) .sales-css-bar__profit-value { bottom: calc(var(--profit-height) - 5px); left: calc(50% + 32px); transform: none; }
    .sales-css-bar:nth-child(8) .sales-css-bar__profit-value { bottom: calc(var(--profit-height) - 9px); left: calc(50% + 32px); transform: none; }
  }
  .sales-css-bar:nth-child(1) .sales-css-bar__fill { background: linear-gradient(110deg, #dceefb 0%, #8fc4ea 100%); }
  .sales-css-bar:nth-child(2) .sales-css-bar__fill { background: linear-gradient(110deg, #d5ebfa 0%, #83bde8 100%); }
  .sales-css-bar:nth-child(3) .sales-css-bar__fill { background: linear-gradient(110deg, #cde7f9 0%, #77b6e5 100%); }
  .sales-css-bar:nth-child(4) .sales-css-bar__fill { background: linear-gradient(110deg, #c3e3f8 0%, #6aaee2 100%); }
  .sales-css-bar:nth-child(5) .sales-css-bar__fill { background: linear-gradient(110deg, #b9def7 0%, #5ea7e0 100%); }
  .sales-css-bar:nth-child(6) .sales-css-bar__fill { background: linear-gradient(110deg, #add9f6 0%, #519fdd 100%); }
  .sales-css-bar:nth-child(7) .sales-css-bar__fill { background: linear-gradient(110deg, #a1d4f5 0%, #4598da 100%); }
  .sales-css-bar:nth-child(8) .sales-css-bar__fill { background: linear-gradient(110deg, #91cdf4 0%, #308ed7 100%); }
  .sales-css-bar:nth-child(9) .sales-css-bar__fill { background: linear-gradient(110deg, #54b2ff 0%, #0072dc 100%); }
  .sales-css-bar:nth-child(10) .sales-css-bar__fill { background: linear-gradient(110deg, #ffc36a 0%, #f39a38 100%); }
  .sales-css-bar__value { position: absolute; bottom: calc(var(--height) + 3px); left: calc(50% - 10px); z-index: 5; width: max-content; transform: translateX(-50%); color: #0083ff; font-family: Roboto, sans-serif; font-size: 11px; font-weight: 500; line-height: 1.05; text-align: left; white-space: nowrap; }
  .sales-css-bar__value small { display: block; margin-top: 1px; font-size: 8px; line-height: 1.2; }
  .sales-css-bar:nth-child(10) .sales-css-bar__value, .sales-css-bar:nth-child(10) .sales-css-bar__year, .sales-css-bar:nth-child(10) .sales-css-bar__year-detail { color: #e88727; }
  .sales-css-bar:nth-child(10) .sales-css-bar__value { letter-spacing: .03em; }
  .sales-css-bar:nth-child(10) .sales-css-bar__value small { letter-spacing: .02em; }
  .sales-css-bar__year { position: absolute; top: calc(100% + 16px); left: 50%; display: flex; width: max-content; min-width: 36px; flex-direction: column; align-items: flex-end; transform: translateX(-50%) rotate(-45deg); transform-origin: center top; color: #71808d; font-size: 9px; line-height: 1.2; text-align: right; white-space: nowrap; }
  .sales-css-bar__year-main { display: block; }
  .sales-css-bar__year-unit { margin-left: 1px; font-size: 6px; }
  .sales-css-bar__year-detail { display: block; margin-top: 1px; color: #82919e; font-size: 6px; line-height: 1.1; text-align: right; }
  .sales-css-bar__year-detail-number { font-size: 7px; }
  .sales-css-chart__arrow { position: absolute; left: 31%; top: 4%; width: 48%; height: 55%; pointer-events: none; }
  .sales-css-chart__arrow svg { display: block; width: 100%; height: 100%; overflow: visible; }
  .sales-css-chart__profit-axis { position: absolute; z-index: 4; top: 30px; right: 8px; bottom: 56px; display: flex; flex-direction: column; justify-content: space-between; color: #526b7e; font-family: Roboto, sans-serif; font-size: 9px; line-height: 1; text-align: right; pointer-events: none; }
  .sales-css-chart__profit-line { position: absolute; z-index: 3; inset: 38px 52px 62px 44px; width: calc(100% - 96px); height: calc(100% - 100px); overflow: visible; transform: translate(21px, -1px); pointer-events: none; }
  .sales-css-chart__profit-line polyline { fill: none; stroke: #c4d3d1; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
  .sales-css-chart__profit-line circle { fill: #f8fafa; stroke: #c4d3d1; stroke-width: 1.25; vector-effect: non-scaling-stroke; }
  .sales-css-chart__forecast { position: absolute; top: calc(38px + (100% - 100px) / 6 - clamp(45.6px, 4.75vw, 64.6px) - 8px); left: calc(15.5% + 22px); z-index: 4; display: block; min-height: 0; padding: 0; color: #e88727; text-align: left; pointer-events: none; }
  .sales-css-chart__forecast-value { max-width: 100%; margin: 0; transform: translateY(5px); font-family: Roboto, sans-serif; font-size: clamp(48px, 5vw, 68px); font-weight: 700; line-height: .95; letter-spacing: -.025em; white-space: nowrap; background: linear-gradient(178deg, #ffad42 0%, #f07820 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
  .sales-css-chart__forecast-value small { margin-left: 4px; font-family: "Noto Sans JP", sans-serif; font-size: .34em; font-weight: 700; }
  .sales-css-chart__forecast-caption { width: 100%; margin: 10px 0 0; font-size: clamp(13px, 1.4vw, 18px); font-weight: 700; text-align: left; color: #e88727; }
  /* 数字で見るBRILLIANT：アイコン専用SVG＋HTMLテキスト */
  .company-details__stat {
    --icon-shift-x: 0%;
    --icon-shift-y: 0%;
    --icon-scale: 1;
    --value-left: 32%;
    position: relative;
    width: 100%;
    aspect-ratio: 864 / 230;
    color: #fff;
  }
  #company-overview .company-details__item {
    width: min(1050px, 92vw);
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 26px;
    align-items: center;
  }
  #company-overview .company-details__text {
    width: fit-content;
    justify-self: center;
    margin-right: 0;
    font-size: 32px;
    font-weight: 500;
    white-space: nowrap;
  }
  .company-details__stat > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: translate(var(--icon-shift-x), var(--icon-shift-y)) scale(var(--icon-scale));
    transform-origin: left center;
  }
  .company-details__stat-value {
    position: absolute;
    top: 50%;
    right: 0;
    left: var(--value-left);
    margin: 0;
    transform: translateY(-50%);
    font-family: Roboto, "Noto Sans JP", sans-serif;
    font-size: clamp(72px, 8.5vw, 140px);
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
  }
  .company-details__stat-number {
    display: inline-block;
    font-family: "Roboto Condensed", Roboto, sans-serif;
    font-weight: 800;
    font-style: italic;
    letter-spacing: -.02em;
  }
  .company-details__stat-unit {
    display: inline-block;
    margin: 0 .14em 0 .1em;
    font-family: "Noto Sans JP", sans-serif;
    font-size: .48em;
    font-weight: 700;
    font-style: normal;
    letter-spacing: .03em;
    -webkit-text-stroke: .15px currentColor;
  }
  .company-details__stat-note {
    margin-left: .55em;
    font-family: "Noto Sans JP", sans-serif;
    font-size: .22em;
    font-weight: 500;
    letter-spacing: .04em;
  }
  .company-details__stat-unit-group {
    position: relative;
    display: inline-block;
    margin: 0 .08em 0 .1em;
    vertical-align: baseline;
  }
  .company-details__stat-unit-group .company-details__stat-unit {
    margin: 0;
  }
  .company-details__stat-forecast {
    position: absolute;
    top: calc(100% + 7px);
    right: -5px;
    margin: 0;
    font-family: "Noto Sans JP", sans-serif;
    font-size: .3em;
    font-weight: 500;
    font-style: normal;
    line-height: 1;
    letter-spacing: .08em;
  }
  .company-details__stat--properties { --icon-shift-y: 2.3%; --value-left: 30%; }
  .company-details__stat--sales { --icon-shift-x: 9.5%; --icon-scale: .9; --value-left: 35.5%; }
  .company-details__stat--sales .company-details__stat-value { font-size: clamp(64px, 7.3vw, 118px); }
  .company-details__stat--employees { --icon-shift-x: -11.9%; --value-left: 37%; }
  .company-details__stat--gender { --icon-shift-x: -5.9%; --value-left: 37%; }
  .company-details__stat--gender .company-details__stat-value { font-size: clamp(54px, 7vw, 112px); }
  .company-details__stat--gender .company-details__stat-value p { margin: 0; line-height: .98; }
  .company-details__stat-gender-label {
    display: inline-block;
    min-width: 0;
    margin-right: .08em;
    font-family: "Noto Sans JP", sans-serif;
    font-size: .55em;
    font-weight: 700;
    font-style: normal;
    text-align: left;
  }
  .company-details__stat--age { --icon-shift-x: -12.2%; --value-left: 31%; }
  .company-details__stat--gender .company-details__stat-value,
  .company-details__stat--age .company-details__stat-value {
    right: auto;
    left: calc(65.5% - clamp(80px, 9.48vw, 156px));
    width: max-content;
    text-align: left;
  }
  .company-profile__sp-break { display: none; }
  @media (max-width: 767px) {
    .company-locations-section { padding: 64px 24px 0; }
    .company-revenue-section { padding: 64px 24px 80px; }
    #company-overview.company-details { padding-top: 52px; }
    .company-location-branches { grid-template-columns: 1fr; gap: 0; }
    .company-location + .company-location { border-top: 0; }
    .company-revenue__summary { grid-template-columns: 1fr; margin-bottom: 40px; }
    .company-revenue__summary-item { padding: 24px 0; }
    .company-revenue__summary-item--actual, .company-revenue__summary-item--forecast { text-align: center; }
    .company-revenue__summary-item--actual .company-revenue__content,
    .company-revenue__summary-item--forecast .company-revenue__content { width: fit-content; margin: 0 auto; }
    .sales-css-version { margin-top: 28px; margin-bottom: 40px; }
    .sales-css-version--chart { margin-bottom: 0; }
    .sales-css-chart__legend { gap: 10px; padding: 0 20px 4px 36px; font-size: 8px; }
    .sales-css-chart__legend span { gap: 5px; }
    .sales-css-chart__legend span::before { width: 16px; }
    .sales-css-chart__legend .sales-css-chart__legend-profit::before { width: 16px; }
    .sales-css-chart__body { position: relative; display: block; min-height: 350px; }
    .sales-css-chart__plot { min-height: 350px; }
    .sales-css-chart__axis-title { bottom: 26px; font-size: 6px; }
    .sales-css-chart__axis-title--sales { left: 0; bottom: 23px; width: 30px; font-size: 7px; text-align: right; }
    .sales-css-chart__axis-title--profit { right: 0; bottom: 23px; }
    .sales-css-chart__grid, .sales-css-chart__bars { right: 28px; bottom: 40px; left: 36px; }
    .sales-css-chart__grid span::before { left: -34px; width: 28px; font-size: 8px; }
    .sales-css-chart__profit-axis { top: 30px; right: 0; bottom: 34px; font-size: 7px; }
    .sales-css-chart__profit-line { right: 28px; bottom: 40px; left: 36px; width: calc(100% - 64px); height: calc(100% - 78px); transform: translate(10px, -1px); }
    .sales-css-chart__forecast { position: absolute; top: calc(38px + (100% - 78px) / 6 - 34.2px - 8px); left: 55px; z-index: 4; display: block; min-height: 0; padding: 0; text-align: left; }
    .sales-css-chart__forecast-value { font-size: 36px; line-height: .95; letter-spacing: -.025em; }
    .sales-css-chart__forecast-value small { margin-right: 3px; margin-left: 2px; font-size: 13px; letter-spacing: 0; }
    .sales-css-chart__forecast-value small:last-child { margin-right: 0; }
    .sales-css-chart__forecast-caption { margin-top: 10px; font-size: 12px; white-space: nowrap; }
    .sales-css-chart__bars { gap: 3px; }
    .sales-css-bar__fill { width: min(44px, 62%); transform: translateX(-4px); }
    .sales-css-bar__profit-fill { left: calc(50% + 10px); width: 5px; }
    .sales-css-bar__profit-value { bottom: calc(var(--profit-height) + 5px); left: calc(50% + 10px); font-size: 8px; }
    .sales-css-bar__profit-value small { margin-left: 1px; font-size: 7px; }
    .sales-css-bar:nth-child(5) .sales-css-bar__profit-value { bottom: var(--profit-height); transform: translate(6px, calc(100% + 4px)); }
    .sales-css-bar:nth-child(8) .sales-css-bar__profit-value,
    .sales-css-bar:nth-child(9) .sales-css-bar__profit-value { bottom: calc(var(--profit-height) + 1px); transform: translateX(calc(-100% - 3px)); }
    .sales-css-bar:nth-child(10) .sales-css-bar__profit-value { bottom: var(--profit-height); transform: translate(-100%, 50%) translateX(-9px); }
    .sales-css-bar__value { left: calc(50% - 4px); }
    .sales-css-bar__value { width: max-content; font-size: 8px; }
    .sales-css-bar__value small { font-size: 6px; }
    .sales-css-bar__year { width: max-content; min-width: 30px; font-size: 7px; }
    #company-profile.company-profile { padding: 64px 24px 0; }
    #company-profile .company-profile__table-header, #company-profile .company-profile__table-data { padding: 15px 8px; }
    #company-profile .company-profile__table-header { width: 36%; }
    #company-profile .company-profile__sp-break { display: block; }
    #company-profile .company-profile__list { grid-template-columns: 1fr; gap: .6rem; }
    #company-profile .company-profile__list--banks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  #company-overview { scroll-margin-top: 130px; }
  #philosophy { scroll-margin-top: 120px; }
  #message, #partner { scroll-margin-top: 120px; }
  @media (max-width: 767px) {
    .company-page { padding-top: 60px; }
    .company-hero { height: 120px; padding: 0 24px; }
    .company-hero h2 { font-size: 26px; }
    .company-hero h2 span { margin-left: 8px; font-size: 11px; }
    .company-hero__bars { right: 24px; width: 72px; height: 140px; }
    .company-hero__bars i { width: 16px; margin-left: 2px; }
    .company-hero__bars i:nth-child(1) { height: 45px; }
    .company-hero__bars i:nth-child(2) { height: 65px; }
    .company-hero__bars i:nth-child(3) { height: 85px; }
    .company-hero__bars i:nth-child(4) { height: 110px; }
    .company-local-nav { position: sticky; top: 60px; z-index: 20; }
    .company-local-nav__scroller { width: 100%; max-width: 100vw; justify-content: flex-start; gap: 22px; padding: 18px 24px; overflow-x: scroll; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; touch-action: pan-x pinch-zoom; }
    .company-local-nav__scroller a { flex: 0 0 auto; font-size: 12px; }
    .company-local-nav__scroller::-webkit-scrollbar { display: none; }
    .company-breadcrumb { padding: 12px 24px 0; }
    .company-breadcrumb ol { gap: 9px; font-size: 12px; }
    .company-section { padding: 64px 24px 72px; }
    .company-section__eyebrow { margin-bottom: 8px; font-size: 32px; line-height: 1.2; letter-spacing: .04em; }
    .company-section__title { margin-bottom: 28px; font-size: 14px; line-height: 1.6; }
    .company-philosophy__lead { font-size: 23px; line-height: 1.8; }
    .company-philosophy__grid { grid-template-columns: 1fr; margin-top: 48px; }
    .company-philosophy__item { min-height: auto; padding: 30px 8px; }
    .company-philosophy__number { margin-bottom: 18px; font-size: 14px; }
    .company-philosophy__item p { font-size: 15px; line-height: 1.9; }
    .company-message { padding: 0; }
    .company-message--partner { padding-top: 64px; padding-bottom: 0; }
    .company-message__heading { padding: 0 24px; margin-bottom: 30px; }
    .company-person { min-height: auto; grid-template-columns: 1fr; }
    .company-person__image, .company-person__image img { min-height: 0; height: 55vh; }
    .company-person__content { padding: 40px 28px 52px; }
    .company-person__section-heading { margin-bottom: 36px; }
    .company-person__section-heading .company-section__eyebrow { margin-bottom: 8px; }
    .company-person__role { font-size: 13px; }
    .company-person__name { margin-bottom: 34px; font-size: 21px; }
    .company-person__description { font-size: 13px; line-height: 2; }
    .company-person__signature .company-person__role { font-size: 12px; }
    .company-person__signature .company-person__name { font-size: 23px; }
    .company-person--reverse .company-person__image { order: 1; }
    .company-person--reverse .company-person__content { order: 2; }
    #company-profile.company-profile { padding: 64px 24px 0; }
    #company-profile .company-profile__table-header, #company-profile .company-profile__table-data,
    #company-profile .company-profile__list p { font-size: 12px; }
    .company-officers-section { padding: 64px 24px 0; }
    .company-officers { grid-template-columns: 1fr; gap: 0; }
    .company-officer + .company-officer { border-top: 0; }
    .company-officer__role { font-size: 12px; }
    .company-officer__name { font-size: 23px; }
    .company-location__name { font-size: 16px; }
    .company-location__address, .company-location__contact { font-size: 12px; }
    .company-revenue__label { font-size: 12px; }
    .company-revenue__value { font-size: 28px; }
    .company-details__stat {
      --value-left: 32%;
      width: min(100%, 520px);
    }
    #company-overview .company-details__item {
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: 2rem;
    }
    #company-overview .company-details__text {
      width: auto;
      font-size: 22px;
    }
    .company-details__stat-value {
      font-size: clamp(42px, 14vw, 58px);
    }
    .company-details__stat--sales { --value-left: 33%; }
    .company-details__stat--properties { --value-left: 30%; }
    .company-details__stat--employees { --value-left: 37%; }
    .company-details__stat--gender { --value-left: 38%; }
    .company-details__stat--age { --value-left: 31%; }
    .company-details__stat--sales .company-details__stat-value {
      font-size: clamp(38px, 12vw, 50px);
    }
    .company-details__stat--gender .company-details__stat-value {
      font-size: clamp(34px, 11.5vw, 48px);
    }
    .company-details__stat--gender .company-details__stat-value,
    .company-details__stat--age .company-details__stat-value {
      left: calc(65.5% - clamp(47px, 15.61vw, 65px));
    }
    .company-details__stat-note {
      font-size: .24em;
    }
  }
.company-profile__contact-break {
  display: none;
}

.company-profile__name-break {
  display: none;
}

.company-profile__business-break {
  display: none;
}

@media (max-width: 767px) {
  .company-profile__contact-separator {
    display: none;
  }

  .company-profile__contact-break {
    display: block;
  }

  .company-profile__name-break {
    display: block;
  }

  .company-profile__business-break {
    display: block;
  }
}
