/* ===========================
   about.css — ABOUT US 各ページ
   - topmessage : Figma 574:5086
   - introduction : Figma 574:8785
   =========================== */

/* デフォルト page-hero accent (赤線) は非表示 - 独自Hero使用 */
body[data-page="about"] .page-hero__accent { display: none; }

/* ============================================
   topmessage : メッセージセクション (Figma 574:5108)
   1200×1262 のレイアウト
   ============================================ */
.topmsg {
  background-color: var(--color-white);
  padding: 6.333vw 0 0;                                /* 76 @1200 */
}

.topmsg__inner {
  width: 100%;
  max-width: 100vw;
  margin: 0 auto;
  padding: 0 0 5.667vw;                                /* 68 @1200 */
  display: grid;
  /* 5列: 左マージン | 左コンテンツ | 中央gap | 右コンテンツ | 右マージン
     Figma: 200 + 361 + 82 + 357 + 200 = 1200 */
  grid-template-columns: 16.667vw 30.083vw 6.833vw 29.75vw 1fr;
  grid-template-rows: auto auto auto;
  row-gap: 4.667vw;                                    /* 56 @1200 */
  align-items: start;
}

/* 左上: 見出し + 1段落 (x:200, w:361) */
.topmsg__lead {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
}

.topmsg__heading {
  font-family: var(--ff-jp);
  font-size: max(20px, 2.083vw);                       /* 25 @1200 / 最低20 */
  font-weight: var(--fw-medium);
  color: #245681;
  line-height: 1.5;
  letter-spacing: 0.02em;
  margin-bottom: 3vw;                                  /* 36 @1200 */
}

.topmsg__text {
  font-family: var(--ff-jp);
  font-size: max(14px, 1.167vw);                       /* 14 @1200 (13→14 底上げ) / 最低14 */
  font-weight: 400;
  color: var(--color-black);
  line-height: 1.6;
  text-align: justify;
}

.topmsg__text + .topmsg__text {
  margin-top: 1.167vw;                                 /* 14 @1200 */
}

/* 右上: 社長1 portrait + NAME bar (x:643, w:357, h:446) */
.topmsg__portrait--1 {
  grid-column: 4;
  grid-row: 1;
  position: relative;
  width: 29.75vw;                                      /* 357 @1200 */
  height: 37.167vw;                                    /* 446 @1200 */
}

.topmsg__portrait--1 > img {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 2;                /* nameplate-bg より前、NAMEBAR より後ろ */
}

/* Nameplate 背景ブロック (Figma Rectangle 318: x:682, y:185, 352×348)
   portrait--1 (x:643, y:0) からの相対: (39, 185) */
.topmsg__nameplate-bg {
  position: absolute;
  top: 15.417vw;                                       /* 185 @1200 */
  left: 3.25vw;                                        /* 39 @1200 */
  width: 29.333vw;                                     /* 352 @1200 */
  height: 29vw;                                        /* 348 @1200 */
  background-color: #d5e9f4;       /* blue_0 ライトブルー */
  z-index: 1;
}

/* NAME bar (青ボックス) - portrait の右下に重ねる */
.topmsg__name-bar {
  position: absolute;
  bottom: -4.75vw;                                     /* -57 @1200 */
  right: -9.417vw;                                     /* -113 @1200 */
  width: 33.833vw;                                     /* 406 @1200 */
  height: 9.417vw;                                     /* 113 @1200 */
  background-color: #245681;
  color: var(--color-white);
  padding: 1.25vw 1.583vw;                             /* 15 / 19 @1200 */
  z-index: 3;                /* nameplate-bg より上 */
}

.topmsg__name-title {
  font-family: var(--ff-jp);
  font-size: max(14px, 1.167vw);                       /* 14 @1200 (13→14 底上げ) / 最低14 */
  line-height: 1.4;                                    /* 20/14 ≒ 1.43 */
  margin-bottom: 0.833vw;                              /* 10 @1200 */
}

.topmsg__name-jp {
  font-family: var(--ff-jp);
  font-size: max(20px, 2.083vw);                       /* 25 @1200 / 最低20 */
  font-weight: var(--fw-medium);
  line-height: 1;
}

.topmsg__name-en {
  font-family: var(--ff-en-body);
  font-size: max(12px, 1vw);                           /* 12 @1200 / 最低12 */
  line-height: 1.833;                                  /* 22/12 */
  letter-spacing: 0.06em;
  margin-left: 9.583vw;                                /* 115 @1200 */
  margin-top: -1.833vw;                                /* -22 @1200 */
}

/* 左下: 社長3 (x:200, w:377, h:458) */
.topmsg__portrait--2 {
  grid-column: 2;
  grid-row: 2;
  width: 31.417vw;                                     /* 377 @1200 */
  height: 38.167vw;                                    /* 458 @1200 */
}

.topmsg__portrait--2 > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 右下: 2段落目 (x:625, w:379)
   Figma: portrait--2 に対して縦中央寄せ */
.topmsg__body--right {
  grid-column: 4;
  grid-row: 2;
  width: 31.583vw;                                     /* 379 @1200 */
  margin-left: -1.5vw;                                 /* -18 @1200 (x:643 → x:625) */
  align-self: center;
  position: relative;
  z-index: 2;
}

/* フル幅: 3段落目 (x:185, w:831) */
.topmsg__body--full {
  grid-column: 2 / 5;
  grid-row: 3;
  width: 69.25vw;                                      /* 831 @1200 */
  margin-left: -1.25vw;                                /* -15 @1200 (x:200 → x:185) */
}

/* 3段目見出し: 学生の皆さんへのメッセージ */
.topmsg__sub-title {
  font-family: var(--ff-jp);
  font-size: max(14px, 1.5vw);                         /* 18 @1200 / 最低14 */
  font-weight: 500;
  color: #245681;
  margin-bottom: 0.667vw;                              /* 8 @1200 */
}

/* ============================================
   Tablet (max 1199px)
   絶対配置 → 縦並びに変換
   ============================================ */
@media (max-width: 1199px) {
  .topmsg { padding: 56px 0 0; }
  .topmsg__inner {
    grid-template-columns: 1fr;        /* 単一カラムに */
    grid-template-rows: auto;
    max-width: 720px;
    padding: 0 24px 56px;
    row-gap: 40px;
  }
  .topmsg__lead,
  .topmsg__portrait--1,
  .topmsg__portrait--2,
  .topmsg__body--right,
  .topmsg__body--full {
    grid-column: 1;
    grid-row: auto;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
  }
  .topmsg__heading {
    font-size: 22px;
    margin-bottom: 24px;
  }
  .topmsg__portrait--1,
  .topmsg__portrait--2 {
    width: 100%;
    max-width: 480px;
    height: auto;
  }
  .topmsg__portrait--2 > img { height: auto; }
  .topmsg__name-bar {
    position: absolute;
    bottom: -56px;
    right: 16px;
    left: auto;
    width: min(406px, calc(100vw - 64px));
    max-width: 406px;
    margin: 0;
    height: auto;
    min-height: 113px;
    padding: 15px 19px;
    z-index: 3;
  }
  /* タブレット/SP: portrait--1 と img の高さを自然なアスペクトに */
  .topmsg__portrait--1 { height: auto; }
  .topmsg__portrait--1 > img { height: auto; }
  /* nameplate-bg は portrait--1 から右にはみ出す装飾 */
  .topmsg__nameplate-bg {
    top: 50%;
    left: 30%;
    right: -16px;
    bottom: -32px;
    height: auto;
    width: auto;
    z-index: 1;
  }
  /* 順序: portrait--1 → lead(タイトル+文章) → portrait--2 → body--right → body--full */
  .topmsg__portrait--1  { order: 1; }
  .topmsg__lead         { order: 2; }
  .topmsg__portrait--2  { order: 3; }
  .topmsg__body--right  { order: 4; align-self: stretch; margin: 0 0 28px; }
  .topmsg__body--full   { order: 5; }
  /* タブレット以下: 各ブロック間にマージン (被り防止) */
  .topmsg__lead,
  .topmsg__portrait--1,
  .topmsg__portrait--2,
  .topmsg__body--full {
    margin-bottom: 28px;
  }
}

/* ============================================
   Mobile (max 767px)
   ============================================ */
@media (max-width: 767px) {
  .topmsg { padding: 40px 0 0; }
  .topmsg__inner { padding: 0 16px; }
  .topmsg__heading { font-size: 18px; margin-bottom: 20px; }
  .topmsg__text { font-size: 13px; line-height: 1.7; }
  .topmsg__name-bar { padding: 12px 16px; min-height: auto; }
  .topmsg__name-title { font-size: 11px; line-height: 1.6; }
  .topmsg__name-jp { font-size: 20px; }
  .topmsg__name-en { font-size: 10px; margin-left: 92px; margin-top: -18px; }
}

/* ============================================
   introduction : 共通セクション構造
   各セクションは:
   - 上部に薄青背景バンド (約350px高)
   - 上に白パネル (角あり) - 内容を内包
   - 下に薄青背景 (続く)
   ============================================ */
.about-intro {
  padding: 4.417vw 2vw;                /* 53 / 24 @1200 */
  text-align: center;
  background: var(--color-white);
}
.about-intro__text {
  font-family: var(--ff-jp);
  font-size: max(13px, 1.25vw);        /* 15 @1200 / 最低13 */
  font-weight: 500;
  line-height: 2;                      /* 30/15 */
  color: #155c99;
  max-width: 59.333vw;                 /* 712 @1200 */
  margin: 0 auto;
}

/* ---- セクション共通 ---- */
.about-section {
  position: relative;
  width: 100%;
  background-color: #e3eff8;       /* 薄青ベース */
  padding: 0 0 4.667vw;                /* 56 @1200 */
}

/* セクション上端の濃い青のバンド (Rectangle 430: 1200×351) */
/* バンドはパネルの背後まで伸びる → パネルの左右に色が見える */
.about-section__band {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 21.917vw;                    /* 263 @1200 */
  background-color: #1c4576;
  z-index: 1;
}

/* セクションタイトル (バンドの最上部にホワイト) */
.about-section__title {
  position: relative;
  text-align: center;
  font-family: var(--ff-jp);
  font-size: max(16px, 1.833vw);       /* 22 @1200 / 最低16 */
  font-weight: 500;
  color: var(--color-white);
  padding: 2.25vw 2vw;                 /* 27 / 24 @1200 */
  margin: 0 auto;
  letter-spacing: 0.04em;
  z-index: 3;
  line-height: 1.364;                  /* 30/22 */
}
.about-section__title-em {
  display: block;
  margin-top: 0.333vw;                 /* 4 @1200 */
}

/* 白パネル (Rectangle 319: 88,113,1024×x) - バンドに重ねる */
.about-section__panel {
  position: relative;
  background-color: var(--color-white);
  width: calc(100% - 14.667vw);        /* 176 @1200 */
  max-width: 85.333vw;                 /* 1024 @1200 */
  margin: 0 auto;
  padding: 2.833vw 5vw 4.333vw;        /* 34 / 60 / 52 @1200 */
  box-shadow: 0 4px 20px rgba(0, 44, 106, 0.08);
  z-index: 2;
}

.about-section__lead {
  font-family: var(--ff-jp);
  font-size: max(14px, 1.167vw);       /* 14 @1200 (13→14底上げ) / 最低14 */
  font-weight: 500;
  line-height: 1.571;                  /* 22/14 */
  color: var(--color-black);
  text-align: center;
  margin-bottom: 0;
}
.about-coldchain .about-section__lead {
  color: #155c99;
}

/* ============ コールドチェーン ============ */
.about-coldchain__diagram {
  margin: 2.667vw auto 2.5vw;          /* 32 / 30 @1200 */
  max-width: 47.083vw;                 /* 565 @1200 */
}
.about-coldchain__diagram img {
  width: 100%;
  height: auto;
  display: block;
}
.about-coldchain__stat-title {
  text-align: center;
  font-family: var(--ff-jp);
  font-size: max(16px, 1.667vw);       /* 20 @1200 / 最低16 */
  font-weight: 500;
  line-height: 1.5;                    /* 30/20 */
  color: #155c99;
  margin-bottom: 2.5vw;                /* 30 @1200 */
}
.about-coldchain__stats {
  display: flex;
  justify-content: center;
  gap: 3.333vw;                        /* 40 @1200 */
  margin-bottom: 0.667vw;              /* 8 @1200 */
}
.about-coldchain__stat {
  text-align: center;
}
.about-coldchain__stat-img {
  width: 18.333vw;                     /* 220 @1200 */
  height: auto;
  display: block;
}
.about-coldchain__note {
  font-size: max(11px, 0.917vw);       /* 11 @1200 / 最低11 */
  line-height: 1.7;
  text-align: left;
  color: var(--color-black);
  width: fit-content;
  margin: 0 auto 4.917vw;              /* 59 @1200 */
  display: flex;
  align-items: flex-start;
}
.about-coldchain__note-label {
  flex-shrink: 0;                      /* 「※出所：」の幅を実測して固定 */
  white-space: nowrap;
}
.about-coldchain__note-body {
  flex: 1;
}
.about-coldchain__sub {
  font-family: var(--ff-jp);
  font-size: max(16px, 1.833vw);       /* 22 @1200 / 最低16 */
  font-weight: 500;
  line-height: 1.455;                  /* 32/22 */
  text-align: center;
  color: #155c99;
  margin-bottom: 4vw;                  /* 48 @1200 */
}
.about-coldchain__sub-em {
  font-weight: 700;
  font-size: max(20px, 2.5vw);         /* 30 @1200 / 最低20 */
}
.about-coldchain__photo {
  margin: 0 auto 4vw;                  /* 48 @1200 */
  max-width: 61.583vw;                 /* 739 @1200 */
}
.about-coldchain__photo img {
  width: 100%;
  height: auto;
  display: block;
}
.about-coldchain__line-band {
  max-width: 61.583vw;                 /* 739 @1200 */
  margin: 0 auto;
  border-top: 1.5px solid #3cabe6;
  border-bottom: 1.5px solid #3cabe6;
  padding: 0.75vw 0 1.417vw;           /* 9 / 17 @1200 */
  text-align: center;
}
.about-coldchain__catch {
  font-family: var(--ff-jp);
  font-size: max(16px, 1.833vw);       /* 22 @1200 / 最低16 */
  font-weight: 500;
  line-height: 1.455;                  /* 32/22 */
  color: #155c99;
}

/* ============ 多彩な事業 ============ */
.about-business .about-section__title {
  padding: 3.417vw 2vw 3.5vw;          /* 41 / 24 / 42 @1200 */
}

.about-business__grid {
  display: grid;
  grid-template-columns: repeat(3, 12.5vw);  /* 150 @1200 */
  gap: 5.333vw 4.667vw;                /* 64 / 56 @1200 */
  justify-content: center;
  margin: 4.667vw auto;                /* 56 @1200 */
}
.about-business__item {
  text-align: center;
}
.about-business__item img {
  width: 12.5vw;                       /* 150 @1200 */
  height: 12.5vw;                      /* 150 @1200 */
  display: block;
  margin: 0 auto;
}
.about-business__name {
  margin-top: 1vw;                     /* 12 @1200 */
  font-family: var(--ff-jp);
  font-size: max(14px, 1.333vw);       /* 16 @1200 / 最低14 */
  font-weight: 500;
  line-height: 1.25;                   /* 20/16 */
  color: #000000;
  text-align: center;
}
.about-business__catch {
  font-family: var(--ff-jp);
  font-size: max(16px, 1.833vw);       /* 22 @1200 / 最低16 */
  font-weight: 500;
  line-height: 1.682;                  /* 37/22 */
  text-align: center;
  color: #000000;
  margin: 4vw 0 3vw;                   /* 48 / 36 @1200 */
}
.about-business__catch-bracket {
  font-family: var(--ff-jp);
  font-weight: 700;
  font-size: max(22px, 2.5vw);         /* 30 @1200 / 最低22 */
  line-height: 1.233;                  /* 37/30 */
  display: inline-block;
  vertical-align: baseline;
}
.about-business__catch-bracket--open { margin-left: -4px; margin-right: -2px; }
.about-business__catch-bracket--close { margin-left: -8px; margin-right: -4px; }
.about-business__catch-em {
  font-family: 'Zen Old Mincho', 'Noto Serif JP', serif;
  font-weight: 600;
  font-size: max(24px, 2.917vw);       /* 35 @1200 / 最低24 */
  line-height: 1.257;                  /* 44/35 */
}
.about-business__catch-em-period {
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
}
.about-business__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: max(14px, 1.333vw) max(24px, 2.667vw);  /* 16 / 32 @1200, 最低 14/24 */
  background-color: var(--color-blue-dark);
  color: var(--color-white);
  font-family: var(--ff-jp);
  font-size: max(14px, 1.167vw);                    /* 14 @1200 / 最低14 */
  font-weight: var(--fw-medium);
  text-decoration: none;
  border: none;
  min-width: max(280px, 23.333vw);                  /* 280 @1200 / 最低280 */
}
.about-business__btn-arrow {
  position: absolute;
  right: max(14px, 1.167vw);                        /* 14 @1200 / 最低14 */
  top: 50%;
  width: max(18px, 1.5vw);                          /* 18 @1200 / 最低18 */
  height: 1px;
  background: var(--color-white);
  transform: translateY(-50%);
}
.about-business__btn-arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: max(9px, 0.75vw);                          /* 9 @1200 / 最低9 */
  height: 1px;
  background: var(--color-white);
  transform-origin: right center;
  transform: rotate(35deg);
}

/* center the button */
.about-business .about-section__panel {
  text-align: center;
}
.about-business .about-section__lead,
.about-business__catch {
  text-align: center;
}
.about-business .about-section__lead {
  color: var(--color-black);
}

/* ============ ニチレイグループの主力事業 ============ */
/* ニチレイグループ紹介 図版 (SVG 719×434) */
.about-group__figure {
  width: 59.917vw;                     /* 719 @1200 */
  max-width: 100%;
  margin: 3.083vw auto 3.917vw;        /* 上37 / 下47 @1200 */
}
.about-group__figure img {
  width: 100%;
  height: auto;
  display: block;
}

.about-group__subtitle {
  text-align: center;
  font-family: var(--ff-jp);
  font-size: max(18px, 2.167vw);       /* 26 @1200 / 最低18 */
  font-weight: var(--fw-bold);
  color: var(--color-blue-dark);
  margin: 3vw 0 2vw;                   /* 36 / 24 @1200 */
}
.about-group__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.333vw;                        /* 16 @1200 */
  max-width: 72.333vw;                 /* 868 @1200 */
  margin: 0 auto 5.333vw;              /* 64 @1200 */
}
.about-group__card {
  text-align: center;
  position: relative;
}

/* タブ風タイトル: 中央を白背景で抜き、ボックスの top border を跨ぐ */
.about-group__card-title {
  display: inline-block;
  position: relative;
  z-index: 2;
  background-color: var(--color-white);
  padding: 0 1vw;                      /* 12 @1200 */
  font-family: var(--ff-jp);
  font-size: max(14px, 1.333vw);       /* 16 @1200 / 最低14 */
  font-weight: 500;
  line-height: 1.875;                  /* 30/16 */
  color: #000000;
  letter-spacing: 0.02em;
  white-space: nowrap;
  transform: translateY(1.25vw);       /* 15 @1200 */
  margin: 0;
}
.about-group__card-logo {
  position: relative;
  border: 1px solid;
  height: max(60px, 6.25vw);           /* 75 @1200 / 最低60 */
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-white);
  margin: 0 3px max(11px, 0.917vw);
}
/* カード別のボーダー色 (Figma: 1=赤, 2=青, 3=緑) */
.about-group__card:nth-child(1) .about-group__card-logo { border-color: #e71a10; }
.about-group__card:nth-child(2) .about-group__card-logo { border-color: #3cabe6; }
.about-group__card:nth-child(3) .about-group__card-logo { border-color: #009619; }
.about-group__card-logo img {
  max-width: 80%;
  max-height: 60%;
  object-fit: contain;
}
.about-group__card-desc {
  font-family: var(--ff-jp);
  font-size: max(14px, 1.167vw);       /* 14 @1200 (13→14底上げ) / 最低14 */
  font-weight: 400;
  line-height: 1.286;                  /* 18/14 ≒ 1.29 */
  color: var(--color-text);
  text-align: justify;
  margin: 0;
}

/* ドーナツチャート: Figma SVG (Group 641: 858×449) */
.about-group__chart-wrap {
  position: relative;
  width: 100%;
  max-width: 71.5vw;                   /* 858 @1200 */
  margin: 0 auto;
}
.about-group__chart-svg {
  width: 100%;
  height: auto;
  display: block;
}

/* 凡例 */
.about-group__legend {
  position: absolute;
  font-family: var(--ff-jp);
  color: var(--color-blue-dark);
}
.about-group__legend-name {
  font-size: max(11px, 1.083vw);       /* 13 @1200 / 最低11 */
  margin-right: 0.667vw;               /* 8 @1200 */
}
.about-group__legend-num {
  font-family: var(--ff-en-body);
  font-size: max(16px, 2vw);           /* 24 @1200 / 最低16 */
  font-weight: var(--fw-bold);
  letter-spacing: 0.02em;
}
.about-group__legend-num.is-pink { color: #ec6b76; }
.about-group__legend-num.is-blue { color: #3cabe6; }
.about-group__legend-num.is-other { color: #ec6b76; }
.about-group__legend-unit {
  font-size: max(11px, 1.083vw);       /* 13 @1200 / 最低11 */
  margin-left: 1px;
}
.about-group__legend-unit.is-pink { color: #ec6b76; }
.about-group__legend-unit.is-blue { color: #3cabe6; }
.about-group__legend-unit.is-other { color: #ec6b76; }
.about-group__legend-money {
  margin-top: 0.333vw;                 /* 4 @1200 */
  font-family: var(--ff-jp);
  font-size: max(14px, 1.333vw);       /* 16 @1200 / 最低14 */
}
.about-group__legend-money.is-pink { color: #ec6b76; }
.about-group__legend-money.is-blue { color: #3cabe6; }
.about-group__legend-money-num {
  font-family: var(--ff-en-body);
  font-size: max(28px, 4vw);           /* 48 @1200 / 最低28 */
  font-weight: var(--fw-bold);
  margin-right: 0.333vw;               /* 4 @1200 */
}
.about-group__legend-head {
  display: flex;
  align-items: baseline;
  white-space: nowrap;
}

/* 配置 */
.about-group__legend--other {
  top: 4%;
  left: 21%;
  display: flex;
  align-items: baseline;
  white-space: nowrap;
}
.about-group__legend--left {
  bottom: 8%;
  left: 0;
  text-align: left;
}
.about-group__legend--right {
  top: 23%;
  right: 0;
  text-align: left;
}

/* ============ お客様パートナー ============ */
.about-customers__grid {
  display: grid;
  grid-template-columns: repeat(4, 12.5vw);  /* 150 @1200 */
  gap: 3.333vw 5vw;                    /* 40 / 60 @1200 */
  justify-content: center;
  margin: 2.667vw auto;                /* 32 @1200 */
}
.about-customers__item {
  text-align: center;
}
.about-customers__item img {
  width: 12.5vw;                       /* 150 @1200 */
  height: 12.5vw;                      /* 150 @1200 */
  display: block;
  margin: 0 auto 0.667vw;              /* 8 @1200 */
}
.about-customers__name {
  font-family: var(--ff-jp);
  font-size: max(14px, 1.333vw);       /* 16 @1200 / 最低14 */
  font-weight: 500;
  line-height: 1.25;                   /* 20/16 */
  color: #000000;
  text-align: center;
}
.about-customers__etc {
  font-size: max(14px, 1.333vw);       /* 16 @1200 / 最低14 */
  margin-left: 0.333vw;                /* 4 @1200 */
}
.about-customers__catch {
  font-family: var(--ff-jp);
  font-size: max(16px, 1.833vw);       /* 22 @1200 / 最低16 */
  font-weight: 500;
  line-height: 1.455;                  /* 32/22 */
  text-align: center;
  color: #000000;
  margin-top: 2vw;                     /* 24 @1200 */
}
.about-customers__catch-em {
  font-weight: 700;
  font-size: max(22px, 2.5vw);         /* 30 @1200 / 最低22 */
}

/* ============ これからの戦略 ============ */
.about-strategy__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12.917vw;                       /* 155 @1200 */
  position: relative;
  margin-top: 6.667vw;                 /* 80 @1200 (DOMESTIC が飛び出すための余白) */
}
.about-strategy__col {
  padding: 3.333vw 2.667vw 4vw;        /* 40 / 32 / 48 @1200 */
  background-color: #d5e9f4;          /* Figma blue_0 */
  border: none;
  text-align: center;
  position: relative;
  display: flex;
  flex-direction: column;
}

/* DOMESTIC/OVERSEAS: 上半分が枠から飛び出る配置 */
.about-strategy__big {
  position: relative;
  font-family: var(--ff-en-body);     /* Poppins */
  font-size: max(32px, 4vw);           /* 48 @1200 / 最低32 */
  font-weight: var(--fw-regular);     /* 細く */
  color: #155c99;
  letter-spacing: 0.04em;
  line-height: 1;
  margin-top: -5.333vw;                /* -64 @1200 (半分飛び出す) */
  z-index: 2;
}
.about-strategy__small {
  font-family: var(--ff-jp);
  font-size: max(14px, 1.5vw);         /* 18 @1200 / 最低14 */
  font-weight: var(--fw-medium);
  color: #155c99;
  margin-top: 0.667vw;                 /* 8 @1200 */
  margin-bottom: 2.333vw;              /* 28 @1200 */
}
.about-strategy__lead {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1vw;                            /* 12 @1200 */
  font-family: var(--ff-jp);
  font-size: max(13px, 1.167vw);       /* 14 @1200 / 最低13 */
  color: #155c99;
  margin-bottom: 2.667vw;              /* 32 @1200 */
}
.about-strategy__lead-tag {
  display: inline-block;
  padding: 0.5vw 1.333vw;              /* 6 / 16 @1200 */
  border: 1.5px solid #155c99;
  background: var(--color-white);
  font-weight: var(--fw-medium);
  font-size: max(14px, 1.333vw);       /* 16 @1200 / 最低14 */
  letter-spacing: 0.04em;
}
.about-strategy__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.167vw;                        /* 14 @1200 */
  flex: 1;
  justify-content: center;
}
/* アイテム: アイコンと文字バー (青背景) を分離
   アイコンは円のみ。文字バーが青背景。
   アイコンは文字バー (60px) より大きい (70px) ので上下に飛び出る */
.about-strategy__item {
  display: flex;
  align-items: center;
  background-color: transparent;       /* 全体には背景なし */
  padding: 0;
  border-radius: 0;
  gap: 0;
}
.about-strategy__item img {
  width: 5.833vw;                      /* 70 @1200 */
  height: 5.833vw;                     /* 70 @1200 */
  flex-shrink: 0;
  position: relative;
  z-index: 2;
  border-radius: 50%;                  /* 円形クリップ */
  border: 3px solid #0091dd;           /* 3px青ボーダー */
  background-color: var(--color-white);
  box-sizing: content-box;             /* content-box: borderは外側 */
  object-fit: cover;
}
.about-strategy__item span {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 5vw;                         /* 60 @1200 */
  padding: 0 1.667vw 0 5vw;            /* 20 / 60 @1200 */
  margin-left: -4.083vw;               /* -49 @1200 */
  background-color: #0091dd;
  border-radius: 4px;
  font-family: var(--ff-jp);
  color: var(--color-white);
  font-weight: var(--fw-medium);
}
/* OVERSEAS 2番目 (ワンストップ…) は文字が長いので右余白を詰め、 改行しないように */
.about-strategy__col--overseas .about-strategy__item:nth-child(1) span {
  padding-right: 0.5vw;
  padding-left: 4.5vw;
  white-space: nowrap;
}

/* 1行目 (大) - 14px (13→14底上げ) */
.about-strategy__item-l1 {
  font-size: max(13px, 1.167vw);       /* 14 @1200 / 最低13 */
  font-style: normal;
  line-height: 1.571;                  /* 22/14 ≒ 1.57 */
}

/* 2行目 (小) - 10px */
.about-strategy__item-l2 {
  font-size: max(10px, 0.833vw);       /* 10 @1200 / 最低10 */
  font-style: normal;
  line-height: 1.5;                    /* 15/10 */
}

/* 中央の共有アイコン (icon-circle-share.png) */
.about-strategy__share {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 13.75vw;                      /* 165 @1200 */
  z-index: 3;
  pointer-events: none;
}
.about-strategy__share img {
  width: 100%;
  height: auto;
  display: block;
}

/* ============ Tablet (max 1199px) ============ */
@media (max-width: 1199px) {
  .about-section__panel {
    width: calc(100% - 48px);
    padding: 48px 32px;
  }
  .about-business__grid,
  .about-customers__grid {
    grid-template-columns: repeat(3, 1fr);
    max-width: 600px;
  }
  .about-customers__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .about-group__figure { width: 100%; margin: 24px auto 28px; }
  .about-strategy__grid { grid-template-columns: 1fr; gap: 80px; }
  .about-strategy__share { display: none; }
  .about-strategy__big { font-size: 36px; }
  .about-strategy__col { padding: 32px 24px 40px; }
  .about-strategy__lead {
    display: flex;
    justify-content: center;
    width: 100%;
  }
  .about-group__chart { width: 100%; height: auto; aspect-ratio: 1; }
  .about-group__legend--left,
  .about-group__legend--right {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    top: auto;
    text-align: center;
    margin-top: 16px;
  }
}

/* ============ Mobile (max 767px) ============ */
@media (max-width: 767px) {
  .about-intro__text { font-size: 12px; max-width: 100%; }
  .about-intro__text br { display: none; }

  /* SP: band は title の背景として title 自体に背景色を持たせ、 行数に追従 */
  .about-section__band { display: none; }
  .about-section__title,
  .about-business .about-section__title {
    background-color: #1c4576;
    font-size: max(18px, 5vw);
    padding: 32px 18px 52px;            /* 下を伸ばして panel を被せる余白 */
    margin: 0;
    line-height: 1.4;
    /* タイトル自体を section の幅いっぱいに広げる */
    width: 100%;
    max-width: 100%;
  }
  .about-section__panel {
    width: calc(100% - 24px);
    max-width: 100%;
    padding: 32px 18px;
    margin-top: -32px;                  /* タイトル下端を少し被せる */
    position: relative;
    z-index: 3;
  }
  .about-section__lead { font-size: 12px; }
  .about-section__lead br { display: none; }

  .about-business__grid,
  .about-customers__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px 12px;
    max-width: 100%;
  }
  .about-business__item img,
  .about-customers__item img { width: 100px; height: 100px; }

  /* SP: ドーナツチャートはパネル幅いっぱい */
  .about-group__chart-wrap { max-width: 100%; }

  .about-coldchain__stats { gap: 24px; }
  .about-coldchain__stat-img { width: 160px; }
  /* SP: 横幅いっぱい使う + 左右 margin */
  .about-coldchain__diagram,
  .about-coldchain__photo,
  .about-coldchain__line-band {
    max-width: calc(100% - 32px);
    margin-left: auto;
    margin-right: auto;
  }
  .about-coldchain__stat-label { font-size: 13px; }

  .about-strategy__big { font-size: 32px; margin-top: -42px; }
  .about-strategy__small { font-size: 14px; }
  .about-strategy__col { padding: 28px 16px 32px; }
  .about-strategy__item img { width: 50px; height: 50px; border-width: 2px; }
  .about-strategy__item span {
    height: auto;
    min-height: 50px;
    padding: 6px 12px 6px 50px;
    margin-left: -38px;
  }
  .about-strategy__item-l1 { font-size: 12px; line-height: 1.3; }
  .about-strategy__item-l2 { font-size: 10px; line-height: 1.3; margin-top: 2px; }

  /* SP: 強調 (Mincho/Bold) のサイズを縮小して改行崩れを防ぐ */
  .about-business__catch { font-size: 15px; line-height: 26px; }
  .about-business__catch br { display: none; }
  .about-business__catch-bracket { font-size: 20px; line-height: 26px; }
  .about-business__catch-em { font-size: 22px; line-height: 30px; }
  .about-customers__catch { font-size: 15px; line-height: 26px; }
  .about-customers__catch br { display: none; }
  .about-customers__catch-em { font-size: 20px; }
  .about-coldchain__sub { font-size: 15px; line-height: 26px; }
  .about-coldchain__sub br { display: none; }
  .about-coldchain__sub-em { font-size: 22px; }
  .about-coldchain__catch { font-size: 15px; line-height: 26px; }
  .about-coldchain__catch br { display: none; }
  .about-coldchain__stat-title { font-size: 15px; line-height: 22px; }
}
