.top-01-sec .hero-awards,
.top-01-sec .hero-awards *,
.company-04-sec .company-proof__list,
.company-04-sec .company-proof__list * { box-sizing: border-box; }
.top-01-sec .hero-awards,
.company-04-sec .company-proof__list {
  font-family: "Shippori Mincho", "BIZ UDPMincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-weight: 500;
  line-height: normal;
  letter-spacing: normal;
  -webkit-font-smoothing: auto;
}

/* トップ：月桂は一番大きい1件だけ。残りは文字。 */
.top-01-sec .hero-awards {
  position: absolute;
  right: 6%;
  bottom: 36px;
  z-index: 3;
  display: grid;
  gap: 0;
  align-items: end;
  width: 330px;
  margin: 0;
  color: #fff;
  text-align: center;
  text-shadow: 0 2px 14px #0006;
}
.hero-awards__card { min-width: 0; }
.hero-awards__card-body { position: relative; container-type: inline-size; aspect-ratio: 320 / 240; padding-top: 8%; }
.hero-awards__laurel { position: absolute; top: 0; left: 0; width: 100%; height: auto; color: #e6d8ae; filter: drop-shadow(0 1px 5px #0004); }
.hero-awards__card:not(.is-feature) .hero-awards__laurel { display: none; }
.hero-awards__card:not(.is-feature) .hero-awards__card-body { container-type: normal; aspect-ratio: auto; padding: 0; }
.hero-awards__label { position: relative; font-size: 12cqi; line-height: 1.15; letter-spacing: .04em; }
.hero-awards__category { position: relative; font-size: 6.5cqi; line-height: 1.3; letter-spacing: .04em; }
.hero-awards__national { display: block; font-family: "Shippori Mincho", serif; font-size: 6cqi; line-height: 1.3; letter-spacing: .08em; }
.hero-awards__rank { position: relative; display: flex; align-items: flex-end; justify-content: center; gap: 1cqi; margin-top: -1cqi; font: 500 12cqi/1 "Cormorant Garamond", "Times New Roman", serif; font-variant-numeric: lining-nums; }
.hero-awards__rank-prefix { display: flex; flex-direction: column; text-align: center; padding-bottom: 2cqi; }
.hero-awards__card.is-feature.hero-awards__card--fp .hero-awards__rank strong { font-size: 40cqi; font-weight: 500; line-height: .8; }
.hero-awards__card.is-feature.hero-awards__card--built .hero-awards__card-body,
.hero-awards__card.is-feature.hero-awards__card--years .hero-awards__card-body { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0 16% 8%; }
.hero-awards__card.is-feature.hero-awards__card--built .hero-awards__label,
.hero-awards__card.is-feature.hero-awards__card--years .hero-awards__plain-label { font-size: 11cqi; letter-spacing: .02em; }
.hero-awards__card.is-feature.hero-awards__card--built .hero-awards__stat { margin-top: 2cqi; }
.hero-awards__card.is-feature.hero-awards__card--built .hero-awards__stat strong,
.hero-awards__card.is-feature.hero-awards__card--years .hero-awards__plain-value { font-size: 27cqi; }
.hero-awards__card.is-feature.hero-awards__card--built .hero-awards__unit { font-size: 10cqi; }
.hero-awards__card.is-feature.hero-awards__card--years .hero-awards__plain-value span { font-size: 10cqi; }
.hero-awards__stat { position: relative; display: flex; align-items: baseline; justify-content: center; gap: .4cqi; margin-top: -.5cqi; font: 500 12cqi/1 "Cormorant Garamond", "Times New Roman", serif; font-variant-numeric: lining-nums; }
.hero-awards__stat strong { font-size: 24cqi; font-weight: 500; line-height: .9; }
.hero-awards__unit { font-family: "Shippori Mincho", serif; font-size: 8cqi; letter-spacing: .08em; }
.hero-awards__plain-label,
.hero-awards__card:not(.is-feature) .hero-awards__label { font: 11px/1.5 "Hiragino Sans", Meiryo, sans-serif; letter-spacing: .04em; }
.hero-awards__plain-value { display: flex; align-items: baseline; justify-content: center; gap: 4px; margin-top: 5px; white-space: nowrap; font: 500 38px/1.1 "Cormorant Garamond", "Times New Roman", serif; font-variant-numeric: lining-nums; }
.hero-awards__plain-value span,
.hero-awards__card:not(.is-feature) .hero-awards__unit { font: 600 11px/1.4 "Hiragino Sans", Meiryo, sans-serif; letter-spacing: 0; }
.hero-awards__card:not(.is-feature) .hero-awards__stat { gap: 4px; margin-top: 5px; font-size: 16px; }
.hero-awards__card:not(.is-feature) .hero-awards__stat strong { font-size: 38px; line-height: 1.1; }
.hero-awards__card:not(.is-feature) .hero-awards__category { font: 11px/1.5 "Hiragino Sans", Meiryo, sans-serif; letter-spacing: .04em; }
.hero-awards__card:not(.is-feature) .hero-awards__rank { gap: 4px; margin-top: 2px; font-size: 16px; }
.hero-awards__card:not(.is-feature) .hero-awards__rank-prefix { padding-bottom: 5px; }
.hero-awards__card:not(.is-feature) .hero-awards__national { font: 600 11px/1.4 "Hiragino Sans", Meiryo, sans-serif; letter-spacing: 0; }
.hero-awards__card:not(.is-feature) .hero-awards__rank strong { font-size: 38px; line-height: 1.1; }
.hero-awards__card--feature { grid-area: feature; }
.hero-awards__card--side-a { grid-area: side-a; }
.hero-awards__card--side-b { grid-area: side-b; }
.hero-awards--n3 { grid-template-columns: 1fr 1.25fr; grid-template-areas: "feature feature" "side-a side-b"; }
.hero-awards--n3 .hero-awards__card--side-a,
.hero-awards--n3 .hero-awards__card--side-b { margin-top: 10px; padding: 0 8px; }
.hero-awards--n3 .hero-awards__card--side-b { border-left: 1px solid #ffffff70; }
.hero-awards--n2 { grid-template-columns: minmax(0, 1fr); grid-template-areas: "feature" "side-a"; }
.hero-awards--n2 .hero-awards__card--side-a { margin-top: 10px; padding: 0 8px; }
.top-01-sec .hero-awards--n1 { width: min(260px, 22vw); }

/* 会社概要：画像3枚を、同じ項目の文字に差し替える。 */
.company-04-sec .company-proof__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1120px; margin: 52px auto 0; padding: 0; list-style: none; }
.company-04-sec .company-proof__list li { text-align: center; min-width: 0; padding: 0 28px; }
.company-04-sec .company-proof__list li + li { border-left: 1px solid #bdbfb2; }
.company-04-sec .company-proof__icon { display: block; width: 42px; height: 42px; margin: 0 auto 10px; color: #33644e; }
.company-04-sec .company-proof__list h3 { font: 600 clamp(17px, 1.65vw, 24px)/1.35 "Hiragino Sans", Meiryo, sans-serif; margin: 0 0 4px; }
.company-04-sec .company-proof__value { display: flex; align-items: baseline; justify-content: center; gap: 8px; white-space: nowrap; font-family: Arial, "Hiragino Sans", sans-serif; }
.company-04-sec .company-proof__value strong { font-size: clamp(56px, 5.8vw, 80px); line-height: 1.12; font-weight: 600; letter-spacing: -.04em; color: #ad5638; }
.company-04-sec .company-proof__prefix { font-family: "Hiragino Sans", Meiryo, sans-serif; font-size: 18px; font-weight: 600; }
.company-04-sec .company-proof__unit { font-family: "Hiragino Sans", Meiryo, sans-serif; font-size: 22px; font-weight: 600; }
.company-04-sec .company-proof__unit--stack { text-align: left; align-self: center; font-size: 17px; line-height: 1.3; }
.company-04-sec .company-proof__item--lead .company-proof__unit--stack { align-self: auto; }
.company-04-sec .company-proof__rank span { font-size: .65em; letter-spacing: -.045em; }
.company-04-sec .company-proof__item--lead strong { font-size: clamp(64px, 6.6vw, 88px); color: #ad5638; }
.company-04-sec .company-proof__list--count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; }
.company-04-sec .company-proof__list--count-2 .company-proof__item--lead strong { font-size: clamp(58px, 6vw, 78px); }
.company-04-sec .company-proof__list--count-1 { grid-template-columns: minmax(0, 1fr); max-width: 420px; }
.company-04-sec .company-proof__list--count-1 .company-proof__item--lead strong { font-size: clamp(64px, 7vw, 92px); }
.company-04-sec .company-proof__list--count-1 li + li { border-left: 0; }

@media (max-width: 1024px) {
  .top-01-sec .content01 .fv-catch:has(+ .hero-awards) {
    top: 28px;
    bottom: auto;
    left: 50%;
    transform: translateX(-50%);
  }
}

@media (max-width: 767px) {
  .top-01-sec .hero-awards { right: auto; left: 50%; bottom: 24px; transform: translateX(-50%); width: calc(100% - 32px); max-width: 380px; }
  .hero-awards--n3,
  .hero-awards--n2 { grid-template-columns: min(57vw - 18px, 216px) auto; justify-content: center; gap: 0 14px; align-items: center; }
  .hero-awards--n3 { grid-template-areas: "feature side-a" "feature side-b"; }
  .hero-awards--n2 { grid-template-areas: "feature side-a"; }
  .top-01-sec .hero-awards--n1 { width: 154px; }
  .hero-awards--n3 .hero-awards__card--side-a,
  .hero-awards--n3 .hero-awards__card--side-b,
  .hero-awards--n2 .hero-awards__card--side-a { margin-top: 0; padding: 0; border-left: 0; }
  .hero-awards--n3 .hero-awards__card--side-b { position: relative; margin-top: 24px; }
  .hero-awards--n3 .hero-awards__card--side-b::before { content: ""; position: absolute; top: -12px; left: 50%; transform: translateX(-50%); width: 72px; height: 1px; background: #ffffff70; }
  .hero-awards__card:not(.is-feature) .hero-awards__label,
  .hero-awards__card:not(.is-feature) .hero-awards__category,
  .hero-awards__card:not(.is-feature) .hero-awards__plain-label { font-size: 12px; }
  .hero-awards__card:not(.is-feature) .hero-awards__stat strong,
  .hero-awards__card:not(.is-feature) .hero-awards__rank strong,
  .hero-awards__card:not(.is-feature) .hero-awards__plain-value { font-size: 34px; }
  .hero-awards__card.is-feature.hero-awards__card--fp .hero-awards__rank strong { font-size: 40cqi; }
  .company-04-sec .company-proof__list { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 32px; }
  .company-04-sec .company-proof__list--count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .company-04-sec .company-proof__list--count-1 { grid-template-columns: minmax(0, 1fr); }
  .company-04-sec .company-proof__list li { padding: 0 6px; }
  .company-04-sec .company-proof__list li + li { border-left: 1px solid #bdbfb2; border-top: 0; }
  .company-04-sec .company-proof__icon { margin: 0 auto 6px; width: 28px; height: 28px; }
  .company-04-sec .company-proof__list h3 { display: flex; align-items: center; justify-content: center; min-height: 2.7em; margin-bottom: 4px; font-size: clamp(11px, 2.8vw, 15px); line-height: 1.35; }
  .company-04-sec .company-proof__value { gap: 3px; }
  .company-04-sec .company-proof__value strong,
  .company-04-sec .company-proof__item--lead strong,
  .company-04-sec .company-proof__list--count-2 .company-proof__item--lead strong { font-size: clamp(32px, 10vw, 52px); }
  .company-04-sec .company-proof__list--count-1 .company-proof__item--lead strong { font-size: clamp(40px, 12vw, 60px); }
  .company-04-sec .company-proof__prefix,
  .company-04-sec .company-proof__unit,
  .company-04-sec .company-proof__unit--stack { font-size: clamp(10px, 2.4vw, 13px); }
  .company-04-sec .company-proof__label-detail { display: block; }
}
