/* ==========================================================================
   WHAT WE DO ページ（page-whatwedo.php）
   ========================================================================== */

.wwd-biz-section .toggle-item {
  background: var(--color-white);
}

.wwd-biz-section .toggle-item__head {
  letter-spacing: 0.2em;
}

/* wwdページのトグル本文パディング上書き */

.wwd-page .toggle-item__body-text {
  padding: 40px 80px 60px;
}

/* サブアコーディオン（対応製品） */


.wwd-donut-legend li.is-color1::before { background: var(--color-main); }

.wwd-donut-legend li.is-color2::before { background: #b9c2c8; }

.wwd-donut-legend li.is-color3::before { background: #6c7a86; }

.wwd-donut-legend li.is-color4::before { background: #e3e7ea; }



/* ─── ページ全体 ─── */

.wwd-page {
  padding-top: 84px;
  background: var(--color-white);
}

/* ─── INTRO ─── */

.wwd-intro {
  background: var(--color-light-blue);
  padding: 80px 0;
}

.wwd-intro__inner {
  max-width: 1000px;
  width: 93%;
  margin: 0 auto;
  display: flex;
  gap: 6%;
  align-items: flex-start;
}

.wwd-intro__text {
  flex: 0 0 44%;
}

.wwd-intro__heading {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: 2.2;
  margin-bottom: 2rem;
}

.wwd-intro__body {
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  line-height: 2;
  letter-spacing: 0.2em;
  text-align: justify;
  margin-bottom: 2.5rem;
}

/* アンカーリンク */

.wwd-anchor-list {
  list-style: none;
}

.wwd-anchor-item {
  border-bottom: 1px solid var(--color-black);
}

.wwd-anchor-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 30px 0px;
  color: var(--color-black);
  font-family: var(--font-serif);
  font-size: 1rem;
  letter-spacing: 0.15em;
  line-height: 2;
}

.wwd-anchor-link__icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  transform: rotate(90deg);
}

/* イントロ 右カラム：写真 絶対配置 */

.wwd-intro__images {
  flex: 1;
  position: relative;
  height: 0;
  padding-top: 85%;
}

.wwd-intro__img {
  position: absolute;
  border-radius: 12px;
  overflow: hidden;
}

.wwd-intro__img img {
  width: 100%;
  height: auto;
  display: block;
}

.wwd-intro__img--01 {
  top: 0;
  left: 0;
  width: 50%;
  z-index: 2;
}

.wwd-intro__img--02 {
  top: 14%;
  right: 0;
  width: 45%;
  z-index: 2;
}

.wwd-intro__img--03 {
  top: 50%;
  right: 0;
  width: 82%;
  z-index: 2;
}

/* ─── TOP-LEVEL PANELS ─── */

.wwd-panels {
  background: var(--color-light-blue);
}

.wwd-panel {
  scroll-margin-top: 84px;
}

.wwd-panel:last-child {
  background: var(--color-white);
}

/* パネルボディ：常時表示 */

.wwd-panel__body {
  display: block;
}

.wwd-panel__body-inner {
  max-width: 1200px;
  width: 85%;
  margin: 0 auto;
  padding: 60px 0 100px;
}

/* ─── セクション見出し（共通） ─── */

.wwd-section-head {
  margin-bottom: 4rem;
}

.wwd-section-head__en {
  font-family: var(--font-en);
  font-size: 2.5rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: 1;
  margin-bottom: 0.75rem;
}

.wwd-section-head__ja {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: 2.2;
  color: var(--color-black);
  margin-bottom: 1.5rem;
}

.wwd-section-head__lead {
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  line-height: 2;
  letter-spacing: 0.2em;
  text-align: justify;
  max-width: 680px;
}

/* 横並び版（STRENGTHSなど） */

.wwd-section-head--row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 4rem;
}

.wwd-section-head--row .wwd-section-head__titles {
  flex: 0 0 auto;
}

.wwd-section-head--row .wwd-section-head__ja {
  margin-bottom: 0;
}

.wwd-section-head--row .wwd-section-head__lead {
  flex: 1;
  padding-top: 0.25rem;
}

/* 白テキスト版（BUSINESSイントロ） */

.wwd-section-head--white .wwd-section-head__en,
.wwd-section-head--white .wwd-section-head__ja,
.wwd-section-head--white .wwd-section-head__lead {
  color: var(--color-white);
}

/* ─── STRENGTHS ─── */

.wwd-str-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6rem;
  margin-bottom: 60px;
}

.wwd-str-card {
  border-radius: 20px;
  overflow: hidden;
}

.wwd-str-card__img {
  width: 100%;
  overflow: hidden;
  border-radius: 20px;
}

.wwd-str-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.wwd-str-card__heading {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: 2.2;
  margin-bottom: 20px;
  text-align: center;
}

.wwd-str-card__body {
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  line-height: 2;
  letter-spacing: 0.2em;
  text-align: justify;
  margin-top: 20px;
}

/* ─── MVV（ピラミッド） ─── */

.wwd-mvv {
  padding: 30px 0;
  background: var(--color-white);
  border-radius: 20px;
}

.wwd-mvv__inner {
  display: flex;
  align-items: center;
  gap: 6%;
  padding: 40px;
}

.wwd-mvv__pyramid-wrap {
  flex: 0 0 45%;
}

.wwd-mvv__labels {
  flex: 0 0 calc(55% - 6%);
  min-width: 0;
}

.wwd-mvv__tagline {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

.wwd-mvv__tagline p {
  display: inline-block;
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  color: var(--color-black);
  padding: 6px 20px;
  line-height: 1.6;
}

.wwd-mvv__list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.wwd-mvv__item {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 10px 0 5px;
}

.wwd-mvv__item:last-child {
  border-bottom: none;
}

.wwd-mvv__item-label {
  display: block;
  width: 100%;
  font-family: var(--font-en);
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.15em;
  color: var(--color-white);
  background: #006a95;
  padding: 0px 8px;
  line-height: 1.6;
}

.wwd-mvv__item-text {
  font-family: var(--font-serif);
  font-size: 0.9375rem;
  letter-spacing: 0.15em;
  line-height: 2;
  color: var(--color-black);
  padding: 0 4px;
}

.wwd-mvv__item-text--value {
  display: grid;
  grid-template-columns: auto auto;
  column-gap: 1.5rem;
  align-items: center;
}

.wwd-mvv__value-sub {
  font-size: 0.875rem;
  color: var(--color-black);
  white-space: nowrap;
}

.wwd-mvv__value-full {
  grid-column: 1 / -1;
}

/* ─── BUSINESS イントロ（写真BG＋オーバーレイ） ─── */

.wwd-biz-intro {
  position: relative;
  background: url('../images/wwd_business_bg.webp') right/cover no-repeat;
  padding: 120px 0;
  border-radius: 20px 20px 0 0;
}

.wwd-biz-intro::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 20px 20px 0 0;
}

.wwd-biz-intro__inner {
  position: relative;
  max-width: 1000px;
  width: 93%;
  margin: 0 auto;
  z-index: 1;
}

/* カテゴリカード全体：幅80% */

.wwd-biz-cats {
  width: 80%;
}

/* カテゴリカードグリッド */

.wwd-biz-cats__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}

.wwd-biz-cats__bottom {
  display: flex;
}

.wwd-biz-cats__bottom .wwd-biz-cat-card {
  flex: 0 0 calc(50% - 0.625rem);
}

.wwd-biz-cat-card {
  display: block;
  position: relative;
  background: var(--color-white);
  border-radius: 16px;
  padding: 40px calc(6% + 50px) 40px 40px;
  text-decoration: none;
  color: var(--color-black);
}

.wwd-biz-cat-card__heading {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: 1.5;
  margin-bottom: 30px;
}

.wwd-biz-cat-card__heading-sub {
  font-size: 0.875rem;
}

.wwd-biz-cat-card__lead {
  font-family: var(--font-sans);
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0.2em;
}

.wwd-biz-cat-card__arrow {
  position: absolute;
  right: 6%;
  top: 50%;
  transform: translateY(-50%);
}

.wwd-biz-cat-card__arrow img {
  width: 28px;
  height: 28px;
  transform: rotate(90deg);
}

/* ─── BIZ セクション個別コンテンツ ─── */

.wwd-biz-section {
  background: var(--color-white);
  padding: 80px 0 0;
}

.wwd-biz-section:last-child {
  padding-bottom: 120px;
}

.wwd-biz-section--alt {
  background: var(--color-white);
}

.wwd-biz-section__inner {
  max-width: 1000px;
  width: 93%;
  margin: 0 auto;
  background: var(--color-light-blue);
  padding: 80px 40px;
  border-radius: 20px;
}

.wwd-biz-section__title {
  font-family: var(--font-serif);
  font-size: 1.75rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: 1;
  margin-bottom: 1.5rem;
}

.wwd-biz-section__divider {
  border: none;
  border-top: 2px solid #D3E3F3;
  margin-bottom: 2.5rem;
}

.wwd-biz-section__top {
  display: flex;
  gap: 5%;
  align-items: flex-start;
  margin-bottom: 60px;
}

.wwd-biz-section__text {
  flex: 1;
}

.wwd-biz-section__subheading {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: 2.2;
  margin-bottom: 1.25rem;
}

.wwd-biz-section__body {
  font-size: 0.9375rem;
  letter-spacing: 0.2em;
  line-height: 2;
  color: var(--color-black);
}

.wwd-biz-section__img {
  flex: 0 0 45%;
}

.wwd-biz-section__img img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 20px;
}

.wwd-biz-section__cases-label {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  margin-bottom: 1.5rem;
}

.wwd-biz-section__btn-wrap {
  text-align: center;
  margin-top: 3rem;
}

/* ─── 特徴カード（事例内部：2列グリッド） ─── */

.wwd-feature-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-top: 50px;
}

.wwd-feature-cards--3col {
  grid-template-columns: repeat(3, 1fr);
}

.wwd-feature-card {
  background: #F5F5F5;
  border-radius: 12px;
  padding: 1.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.wwd-feature-card--full {
  grid-column: 1 / -1;
}

.wwd-feature-cards--7 {
  grid-template-columns: repeat(3, 1fr);
}

.wwd-feature-cards--7 .wwd-feature-card--full {
  grid-column: span 2;
}

.wwd-feature-card__icon {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 1rem;
}

.wwd-feature-card__icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.wwd-feature-card__heading {
  font-family: var(--font-serif);
  color: #0060a6;
  font-size: 0.9375rem;
  font-weight: 400;
  letter-spacing: 0.15em;
  line-height: 1.8;
  margin-bottom: 0.5rem;
  min-height: calc(0.9375rem * 1.8 * 2);
  display: flex;
  align-items: center;
  justify-content: center;
}

.wwd-feature-card__body {
  font-family: var(--font-sans);
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.1em;
  text-align: justify;
}

/* ロゴ列 */

.wwd-logos {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: center;
  margin-top: 2rem;
}

.wwd-logo {
  flex: 0 0 auto;
}

.wwd-logo img {
  height: 60px;
  width: auto;
  display: block;
}

/* ─── 対応製品（静的表示） ─── */

.wwd-sub-product {
  margin-top: 1.5rem;
}

.wwd-sub-product__label {
  font-size: 1.25rem;
  font-family: var(--font-serif);
  color: var(--color-main);
  letter-spacing: 0.1em;
  margin-bottom: 1rem;
}

/* ─── 技術支援の特徴（⑤内） ─── */

.wwd-tech-feature {
  margin-top: 3rem;
  padding-top: 3rem;
  /* border-top: 1px solid #D3E3F3; */
}

.wwd-tech-feature__title {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  color: var(--color-main);
  font-weight: 400;
  letter-spacing: 0.2em;
  margin-bottom: 1rem;
}

.wwd-tech-feature__lead {
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  line-height: 2.2;
  letter-spacing: 0.2em;
  text-align: justify;
  margin-bottom: 2.5rem;
}

.wwd-tech-feature__rows {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.wwd-tech-feature__row {
  display: flex;
  gap: 5%;
  align-items: flex-start;
}

.wwd-tech-feature__text {
  flex: 1;
}

.wwd-tech-feature__heading {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: 2;
  margin-bottom: 1rem;
}

.wwd-tech-feature__body {
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  line-height: 2.2;
  letter-spacing: 0.2em;
  text-align: justify;
}

.wwd-tech-feature__img {
  flex: 0 0 40%;
  border-radius: 12px;
  overflow: hidden;
}

.wwd-tech-feature__img img {
  width: 100%;
  height: auto;
  display: block;
}

/* ─── NUMBERS ─── */

.wwd-panel__body-inner.numbers {
  max-width: 1000px;
  width: 93%;
  margin: 0 auto 180px;
  padding: 60px 0 100px;
}

.wwd-numbers-row {
  display: grid;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}

.wwd-numbers-row--top {
  grid-template-columns: 2fr 1fr;
}

.wwd-numbers-row--bottom {
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 0;
}

.wwd-num-card {
  background: #ffffff;
  border: 1px solid #E0E0E0;
  border-radius: 20px;
  padding: 2.5rem;
}

.wwd-num-card__title {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  letter-spacing: 0.15em;
  color: var(--color-main);
  margin-bottom: 0.25rem;
}

.wwd-num-card__note {
  font-size: 0.75rem;
  margin-bottom: 1.5rem;
}

/* 売上高：グラフ＋年度リスト横並び */

.wwd-num-card__sales {
  display: flex;
  gap: 1.5rem;
  align-items: flex-end;
}

.wwd-num-card__chart {
  flex: 1;
}

.wwd-num-card__chart img {
  width: 100%;
  height: auto;
  display: block;
}

.wwd-num-card__sales-table {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 0.8125rem;
  flex-shrink: 0;
}

.wwd-num-card__sales-row {
  display: flex;
  gap: 0.75rem;
}

.wwd-num-card__sales-year {
  font-size: 1.25rem;
  color: var(--color-main);
  min-width: 3.5em;
}

.wwd-num-card__sales-value {
  font-size: 1rem;
  white-space: nowrap;
}

/* 社員数 */

.wwd-num-staff__icon {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 60px;
}

.wwd-num-staff__main {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 2.75rem;
  text-align: center;
  margin-top: -15px;
}

.wwd-num-staff__figure {
  font-size: 6rem;
  font-weight: 700;
}

.wwd-num-staff__sub {
  font-family: var(--font-sans);
  font-size: 1.25rem;
  text-align: center;
  margin-top: -15px;
}

.wwd-num-staff__rate {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-main);
  margin: 0 0.1em;
}


/* ドーナツチャート */

.wwd-donut {
  position: relative;
  /* 固定250pxだとグリッド1カラム分に収まらず行が膨張するため可変にする */
  width: min(100%, 250px);
  height: auto;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
}

.wwd-donut--gender {
  background: conic-gradient(
    var(--color-main) 0% 83.1%,
    #b9c2c8 83.1% 100%
  );
}

.wwd-donut--hire {
  background: conic-gradient(
    var(--color-main) 0% 96%,
    #b9c2c8 96% 100%
  );
}

.wwd-donut--age {
  background: conic-gradient(
    var(--color-main)  0%      25.4%,
    #6c7a86            25.4%   65.9%,
    #b9c2c8            65.9%   91.3%,
    #e3e7ea            91.3%   100%
  );
}

.wwd-donut__center {
  width: 84%;
  height: 84%;
  border-radius: 50%;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0.5rem;
}

.wwd-donut__center-label {
  font-size: 0.875rem;
  line-height: 1.4;
  margin-bottom: 0.2rem;
}

.wwd-donut__center-num {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2;
}

/* 男女比率・採用比率：アイコンに数値を重ねる */

.wwd-donut--gender .wwd-donut__center,
.wwd-donut--hire .wwd-donut__center {
  display: grid;
  place-items: center;
}

.wwd-donut--gender .wwd-donut__center > *,
.wwd-donut--hire .wwd-donut__center > * {
  grid-area: 1 / 1;
}

/* ドーナツ中央アイコン */

.wwd-donut__center-icon {
  width: 75%;
  height: 100%;
  object-fit: contain;
}

/* 男女比率：ラベル＋数値 2列 */

.wwd-donut__center-gender {
  display: flex;
  /* gap: 0.5rem; */
  text-align: center;
  align-self: center;
}

.wwd-donut--gender .wwd-donut__center-unit,
.wwd-donut--hire .wwd-donut__center-unit,
.wwd-donut--age .wwd-donut__center-unit {
  font-size: 1rem;
}

/* 採用比率：ラベル＋数値 横並び */

.wwd-donut__center-hire {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  text-align: center;
  align-self: center;
}

.wwd-donut__center-sep {
  font-size: 1.5rem;
  align-self: flex-end;
  margin-top: 24px;
}

.wwd-donut__center-stat {
  text-align: center;
}

/* 凡例 */

.wwd-donut-legend {
  list-style: none;
  font-size: 0.8125rem;
  line-height: 1.8;
}

.wwd-donut-legend li {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.wwd-donut-legend li::before {
  content: '';
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  border-radius: 2px;
}


/* ==========================================================================
   タブレット帯（769px〜1099px）: NUMBERSの3カラムが窮屈になるため調整
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1099px) {

  .wwd-num-card {
    padding: 1.75rem 1.25rem;
  }

  /* 売上高: 横幅が足りないためグラフの下に年度リスト（SPと同じ縦積み） */

  .wwd-num-card__sales {
    flex-direction: column;
    align-items: stretch;
  }

  .wwd-num-card__sales-table {
    align-self: center;
    margin-top: 24px;
  }

  /* ドーナツが小さくなるぶん中央の数値も縮める */

  .wwd-donut__center-num {
    font-size: clamp(1.1rem, 2.4vw, 1.75rem);
  }
}


/* ==========================================================================
   SP（〜768px）
   ========================================================================== */

@media (max-width: 767px) {

  /* ─── HERO ─── */

  .wwd-page {
    padding-top: 52px;
  }

  /* ─── INTRO ─── */

  .wwd-intro {
    padding: 60px 0;
  }

  .wwd-intro__inner {
    width: 89%;
    flex-direction: column;
    gap: 90px;
  }

  .wwd-intro__text {
    flex: none;
    width: 100%;
  }

  .wwd-intro__heading {
    font-size: 1.25rem;
  }

  .wwd-intro__body {
    font-size: 0.875rem;
    margin-bottom: 2rem;
  }

  /* アンカーリンク（矢印は下向きに回転） */

  .wwd-anchor-link {
    padding: 22px 0;
    font-size: 1rem;
  }

  .wwd-anchor-link__icon {
    width: 22px;
    height: 22px;
  }

  /* イントロ写真コラージュ：カンプのSP配置 */

  .wwd-intro__images {
    flex: none;
    width: 100%;
    padding-top: 133%;
  }

  .wwd-intro__img--01 {
    width: 46%;
  }

  .wwd-intro__img--02 {
    top: 17%;
    width: 45%;
  }

  .wwd-intro__img--03 {
    top: 58%;
    width: 80%;
  }

  /* ─── パネル・見出し共通 ─── */

  .wwd-panel__body-inner {
    width: 89%;
    padding: 40px 0 60px;
  }

  .wwd-section-head {
    margin-bottom: 60px;
  }

  .wwd-section-head__en {
    font-size: 2.25rem;
  }

  .wwd-section-head__ja {
    font-size: 1.3125rem;
  }

  .wwd-section-head--row {
    flex-direction: column;
    gap: 1.5rem;
  }

  .wwd-section-head__lead{
    font-size: 0.875rem;
  }

  /* ─── STRENGTHS ─── */

  .wwd-str-cards {
    grid-template-columns: 1fr;
    gap: 3rem;
    margin-bottom: 40px;
  }

  .wwd-str-card__heading {
    font-size: 1.125rem;
  }

  .wwd-str-card__body{
    font-size: 0.875rem;
  }

  /* ─── MVV（ラベル→ピラミッドの順） ─── */

  .wwd-mvv {
    padding: 8px 0;
  }

  .wwd-mvv__inner {
    flex-direction: column-reverse;
    gap: 20px;
    padding: 32px 24px;
  }

  .wwd-mvv__pyramid-wrap {
    flex: none;
    width: 100%;
    margin: 0 auto;
  }

  .wwd-mvv__labels {
    flex: none;
    width: 100%;
  }

  .wwd-mvv__tagline{
    text-align: center;
  }

  .wwd-mvv__tagline p {
    font-size: 1.125rem;
    padding: 0;
  }

  .wwd-mvv__item-label {
    font-size: 1.0625rem;
  }

  .wwd-mvv__item-text{
    font-size: 0.875rem;
  }

  /* Value：1列にし、指定の順番で表示（HTML順を変えずorderで並び替え） */

  .wwd-mvv__item-text--value {
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: flex-start;
  }

  .wwd-mvv__item-text--value span:nth-child(1) { order: 1; } /* 実質を追求し建前を排除する */
  .wwd-mvv__item-text--value span:nth-child(2) { order: 4; } /* 越境する */
  .wwd-mvv__item-text--value span:nth-child(3) { order: 2; } /* エンジニアを軸に考える */
  .wwd-mvv__item-text--value span:nth-child(4) { order: 5; } /* ワイガヤをする */
  .wwd-mvv__item-text--value span:nth-child(5) { order: 3; } /* ユーザーのことを真剣に考える */

  /* ─── BUSINESS イントロ ─── */

  .wwd-biz-intro {
    padding: 60px 0;
  }

  .wwd-biz-intro__inner {
    width: 89%;
  }

  .wwd-biz-cats {
    width: 100%;
  }

  .wwd-biz-cats__grid {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
  }

  .wwd-biz-cats__bottom .wwd-biz-cat-card {
    flex: 1 1 100%;
  }

  .wwd-biz-cat-card {
    padding: 40px 60px 40px 25px;
  }

  .wwd-biz-cat-card__heading {
    font-size: 1.125rem;
    margin-bottom: 16px;
  }

  .wwd-biz-cat-card__lead{
    font-size: 0.75rem;
  }

  .wwd-biz-cat-card__arrow {
    right: 25px;
  }

  .wwd-biz-cat-card__arrow img {
    width: 30px;
    height: 30px;
  }

  /* ─── BIZ セクション ─── */

  .wwd-biz-section {
    padding: 40px 0 0;
  }

  .wwd-biz-section:last-child {
    padding-bottom: 60px;
  }

  .wwd-biz-section__inner {
    width: 90%;
    padding: 50px 20px 40px;
  }

  .wwd-biz-section__title {
    font-size: 1.25rem;
    line-height: 1.5;
  }

  /* アイコン画像→見出し→本文の縦積み */

  .wwd-biz-section__top {
    flex-direction: column;
    gap: 0;
    margin-bottom: 40px;
  }

  .wwd-biz-section__img {
    flex: none;
    width: 100%;
    order: -1;
    margin-bottom: 2.5rem;
  }

  .wwd-biz-section__subheading {
    font-size: 1.125rem;
  }

  .wwd-biz-section__body{
    font-size: 0.875rem;
  }

  .wwd-biz-section__cases-label {
    font-size: 1.125rem;
  }

  /* トグル（wwd上書き分） */

  .wwd-biz-section .toggle-item__head{
    font-size: 1rem;
  }

  .wwd-page .toggle-item__body-text {
    font-size: 0.875rem;
    padding: 24px 0 40px;
  }

  /* 特徴カード：全バリエーション1列 */

  .wwd-feature-cards,
  .wwd-feature-cards--3col,
  .wwd-feature-cards--7 {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 30px;
  }

  .wwd-feature-cards--7 .wwd-feature-card--full {
    grid-column: 1;
  }

  .wwd-feature-card {
    padding: 20px 20px 40px;
  }

  .wwd-feature-card__icon {
    width: 100px;
    height: 100px;
  }

  .wwd-feature-card__heading {
    font-size: 1rem;
    min-height: 0;
  }

  .wwd-feature-card__body {
    font-size: 0.875rem;
  }

  /* ロゴ：2列グリッド */

  .wwd-logos {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 20px;
  }

  .wwd-logo {
    display: flex;
    justify-content: center;
  }

  .wwd-logo img {
    height: auto;
    max-height: 80px;
    width: auto;
    max-width: 100%;
  }

  /* データ活用基盤のロゴ：画像ごとの余白差でサイズ感が揃わないため、カンプ実寸に合わせて幅を個別指定 */
  .wwd-logos--data .wwd-logo {
    align-items: center;
  }

  .wwd-logos--data .wwd-logo img {
    max-height: none;
  }

  .wwd-logos--data .wwd-logo:nth-child(1) img {
    width: 99%; /* Databricks */
  }

  .wwd-logos--data .wwd-logo:nth-child(2) img {
    width: 70%; /* dbt */
  }

  .wwd-logos--data .wwd-logo:nth-child(3) img {
    width: 100%; /* Fivetran */
  }

  /* ゼロトラストの対応製品ロゴ：同様にサイズ感がバラバラなため幅を個別指定 */
  .wwd-logos--zerotrust .wwd-logo {
    align-items: center;
  }

  .wwd-logos--zerotrust .wwd-logo img {
    max-height: none;
  }

  .wwd-logos--zerotrust .wwd-logo:nth-child(1) img {
    width: 100%; /* CrowdStrike */
  }

  .wwd-logos--zerotrust .wwd-logo:nth-child(2) img {
    width: 91%; /* Zscaler */
  }

  .wwd-logos--zerotrust .wwd-logo:nth-child(3) img {
    width: 58%; /* Okta */
  }

  /* 技術支援の特徴 */
  .wwd-tech-feature__title{
    font-size: 1.125rem;
  }
  .wwd-tech-feature__lead {
    font-size: 0.875rem;
    line-height: 2;
  }
  .wwd-tech-feature__heading {
    font-size: 1.125rem;
  }
  .wwd-tech-feature__body {
    font-size: 0.875rem;
    line-height: 2;
  }

  .wwd-tech-feature__row {
    flex-direction: column;
    gap: 24px;
  }

  .wwd-tech-feature__img {
    flex: none;
    width: 100%;
  }

  /* ─── NUMBERS ─── */

  .wwd-panel__body-inner.numbers {
    width: 89%;
    margin-bottom: 70px;
    padding: 60px 0 40px;
  }

  .wwd-numbers-row--top,
  .wwd-numbers-row--bottom {
    grid-template-columns: 1fr;
  }

  .wwd-num-card {
    padding: 32px 25px;
  }

  /* 売上高：グラフの下に年度リスト */

  .wwd-num-card__sales {
    flex-direction: column;
    align-items: stretch;
  }

  .wwd-num-card__sales-table {
    align-self: center;
    margin-top: 24px;
    gap: 6px;
  }

  /* 社員数 */

  .wwd-num-staff__icon {
    margin-top: 20px;
  }

  /* ドーナツチャート：大きめ表示 */

  .wwd-donut {
    width: min(100%, 300px);
    height: auto;
    aspect-ratio: 1 / 1;
    margin: 2rem auto;
  }

  .wwd-donut-legend {
    margin-left: 20px;
    font-size: 1rem;
    line-height: 2;
  }
}


/* ==========================================================================
   ヘッダーがSP版になる帯（〜949px）: 固定ヘッダー高さ52pxに合わせる
   （common.css のヘッダー切替と同じ境界）
   ========================================================================== */

@media (max-width: 949px) {

  .wwd-page {
    padding-top: 52px;
  }

  .wwd-panel {
    scroll-margin-top: 52px;
  }
}
