/* ============================================================
   精密審美会 採用サイト — 精密審美会について ページ固有スタイル
   Figma準拠: PC 1440×6117px / SP 430×6523px
   ============================================================ */

/* --- セカンダリMV — About固有オーバーライド ---
   共通スタイルは secondary-mv.css に定義済み
   ここではAboutページ固有のロゴサイズ・重なり量のみ指定
   Figma: 13:114 — 481x76px, overlap=33px
   ======================================= */
.secondary-mv--about .secondary-mv__title-logo {
  max-width: 481px;
  margin-bottom: -33px;
}


/* --- メイン紹介 ---
   Figma: 4:32 (heading) + 13:161 (main_photo) + 4:36 (Rectangle 4) + 4:33 (body text)
   ======================================= */
.about-intro {
  /* Figma MV下端(278px)からメインコピー上端(307px)までの距離 */
  padding-top: 29px;
  padding-bottom: 0;
  /* 下部はcontainer内のmargin-bottomで完全に制御 */
}

.about-intro__inner {
  max-width: 1000px;
  /* Figmaコンテンツ幅 1000px (X=220px〜1220px) */
  margin: 0 auto;
  position: relative;
}

/* Figma 4:32 — Noto Sans 32px, color #1556A6, letter-spacing 2.56px, line-height 52px */
.about-intro__heading {
  font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
  font-size: 32px;
  color: #1556A6;
  font-weight: 400;
  letter-spacing: 2.56px;
  line-height: 52px;
  /* 画像開始Y 446px - (コピー開始Y 307px + コピー高さ 104px) = 35px */
  margin-bottom: 35px;
}

.about-intro__container {
  position: relative;
  width: 100%;
  /* テキスト下端Y 1334px - 画像開始Y 446px = 高さ 888px でコンテナを固定して次のセクションと完全に被りを防ぐ */
  height: 888px;
  /* テキスト下端Y 1334px から次の経営理念セクション開始Y 1370px までの間隔 = 36px */
  margin-bottom: 36px;
}

/* Figma 13:161 — 幅1000px, 高さ603px */
.about-intro__img {
  width: 1000px;
  height: 603px;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
}

.about-intro__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Figma 4:36 — Rectangle 4 (白背景矩形 幅642px, 高さ404px, SOLID #FFFFFF)
   影(box-shadow)、角丸(border-radius)はFigmaに一切指定されていないため完全に非表示 */
.about-intro__rect4 {
  position: absolute;
  /* 背景矩形X 217px - 画像X 220px = 左端 -3px */
  left: -3px;
  /* 背景矩形Y 729px - 画像Y 446px = 上端 283px */
  top: 283px;
  width: 642px;
  height: 404px;
  background: #FFFFFF;
  /* Figma rectangleCornerRadii: [0, 30, 0, 0] → 左上0 右上30 右下0 左下0 */
  border-radius: 0 30px 0 0;
  box-shadow: none;
  border: none;
  z-index: 1;
}

/* Figma 4:33 — 本文テキスト (幅579px, 高さ545px)
   背景矩形Rectangle 4の上に重なる独立ノード */
.about-intro__text {
  position: absolute;
  /* テキストX 220px - 画像X 220px = 左端 0 */
  left: 0;
  /* テキストY 789px - 画像Y 446px = 上端 343px */
  top: 343px;
  width: 579px;
  background: transparent;
  padding: 0;
  z-index: 2;
}

/* Figma 4:33 — Noto Sans 16px, color #333333, letter-spacing 1.28px, line-height 25px */
.about-intro__text p {
  font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
  font-size: 16px;
  color: #333333;
  letter-spacing: 1.28px;
  line-height: 25px;
  margin-bottom: 25px;
  /* 段落間の余白 */
}

.about-intro__text p:last-child {
  margin-bottom: 0;
}


/* --- 経営理念 + 基本方針 ---
   Figma: Group 1 (4:47) + Group 2 (4:48)
   Component 8: icon (38x20) + heading text (24px)
   ======================================= */
.about-philosophy {
  padding: var(--spacing-xxl) 0;
  /* Figma: 背景指定なし（親フレーム白） */
}

.about-philosophy__inner {
  max-width: 1000px;
  /* Figma: x=220〜1220 → 幅1000px */
  margin: 0 auto;
  padding: 0;
  /* base.css .inner の padding:0 16px を打消し — Figmaにパディング指定なし */
}

/* Figma Group 1: 画像546×350(左x=220) + 見出し(右x=826)
   gap = 826 - (220+546) = 60px
   垂直: 画像center=1545, テキストcenter=1543 → align-items: center */
.about-philosophy__grid {
  display: grid;
  grid-template-columns: 546px 1fr;
  gap: 60px;
  align-items: center;
  margin-bottom: 130px;
  /* Figma: Group1 bottom(1720) 〜 Group2 top(1850) */
}

.about-philosophy__grid:last-child {
  margin-bottom: 0;
}

/* Figma Group 2: テキスト(左x=220, w=500) + 画像454×420(右x=766)
   gap = 766 - 720 = 46px → テキスト列 = 1000-454-46 = 500px
   HTML順序: content → img */
.about-philosophy__grid--reverse {
  grid-template-columns: 1fr 454px;
  gap: 46px;
}

/* Figma: 4:38 cornerRadius=10, 5:56 cornerRadius=10 */
.about-philosophy__img img {
  border-radius: 10px;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* Figma: 1段目画像 546×350px */
.about-philosophy__grid:not(.about-philosophy__grid--reverse) .about-philosophy__img img {
  aspect-ratio: 546 / 350;
}

/* Figma: 2段目画像 454×420px */
.about-philosophy__grid--reverse .about-philosophy__img img {
  aspect-ratio: 454 / 420;
}

/* Component 8 heading: icon image + text */
.about-philosophy__heading {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
  font-size: 24px;
  /* Figma: 154:298 fs=24 */
  color: var(--color-primary);
  font-weight: 400;
  letter-spacing: 0.96px;
  /* Figma: 154:298 ls=0.96 */
  margin-bottom: var(--spacing-md);
}

/* Figma: heading_icon 38x20px */
.about-philosophy__heading-icon {
  width: 38px;
  height: 20px;
  flex-shrink: 0;
}

/* Figma: 4:40 fs=20 lh=56px ls=0 color=rgb(51,51,51) */
.about-philosophy__statement {
  font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
  font-size: 20px;
  line-height: 56px;
  /* Figma: lineHeightPx=56 */
  letter-spacing: 0;
  color: #333;
}

.about-philosophy__list {
  list-style: none;
  padding: 0;
}

/* Figma: 4:52 fs=20 lh=47px ls=0 color=rgb(51,51,51) */
.about-philosophy__list li {
  padding: 0;
  line-height: 47px;
  /* Figma: lineHeightPx=47 */
  font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
  font-size: 20px;
  color: #333;
}


/* --- 精密審美会が目指していること ---
   Figma: 5:65 (bg 1200x2006 @x=120) + 5:61 (heading 32px)
   ======================================= */

/* Figma: 5:65 Rectangle 7
   fills: SOLID(243,250,255) = #F3FAFF
   rcr=[0,50,0,50] → 左上0 右上50 右下0 左下50
   1200px幅、ページ中央 @x=120(=左余白) */
.about-vision {
  padding: var(--spacing-xxl) 0;
}

.about-vision__bg {
  max-width: 1200px;
  /* Figma: 5:65 w=1200 */
  margin: 0 auto;
  background: #F3FAFF;
  /* Figma: SOLID(243,250,255) */
  border-radius: 0 50px 0 50px;
  /* Figma: rcr=[0,50,0,50] = TL,TR,BR,BL */
  padding: 90px 100px;
  /* Figma: title @relY=2520 vs bg @relY=2430 → top=90px, inner x=220 vs bg x=120 → left=100px */
}

/* Figma: 5:61 fs=32 fw=400 ls=2.56 lhPx=49 color=#1556A6 */
.about-vision__title {
  font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
  font-size: 32px;
  font-weight: 400;
  letter-spacing: 2.56px;
  line-height: 49px;
  color: #1556A6;
  margin-bottom: 0;
  /* spacing handled by block margin-top */
}

.about-vision__block {
  margin-bottom: 0;
}

/* Figma: 154:346/154:362 fs=24 fw=400 ls=0.96 lhPx=46 */
.about-vision__heading {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0.96px;
  line-height: 46px;
  color: #1556A6;
  margin-top: 48px;
  /* Figma: heading top(2618) - title bottom(2569) ≈ 49px */
  margin-bottom: 0;
}

/* Figma: 5:68/5:75 fs=16 fw=400 ls=1.28 lhPx=26 color=#333 */
.about-vision__block p {
  font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
  font-size: 16px;
  letter-spacing: 1.28px;
  line-height: 26px;
  color: #333;
  margin-top: 26px;
  /* Figma: text top(2696) - heading bottom(2664) ≈ 32px, tuned */
  margin-bottom: 0;
}

/* Figma: 9:95 mask 1000x360 cr=10, image 11:106 fill */
.about-vision__photo {
  margin-top: 55px;
  /* Figma: photo top(2907) - text bottom(2851) ≈ 56px */
  border-radius: 10px;
  overflow: hidden;
}

.about-vision__photo img {
  width: 100%;
  height: auto;
  aspect-ratio: 1000 / 360;
  /* Figma: マスク 1000×360px */
  object-fit: cover;
  object-position: center 70%;
  /* Figma: マスク開始y=2907, 画像y=2669 → 238px下 ≈ 70% */
}

/* Figma: 17:28 img02 750x750 @(345,3586) */
.about-vision__building {
  max-width: 750px;
  margin: var(--spacing-xl) auto 0;
  border-radius: 10px;
  overflow: hidden;
}

.about-vision__building img {
  width: 100%;
  height: auto;
}


/* --- 法人概要 ---
   Figma: 135:715 (heading 32px) + 50:149 (dl table 750x1252)
   ======================================= */
.about-company {
  padding: var(--spacing-xxl) 0;
}

.about-company__inner {
  padding: 0;
  /* base.css .inner のpadding打消し */
}

/* Figma: 135:715 fs=32 fw=400 ls=2.56 lhPx=52 color=#1556A6
   @x=345 = テーブル左端と同じ → テーブルと一緒に中央配置 */
.about-company__title {
  font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
  font-size: 32px;
  font-weight: 400;
  letter-spacing: 2.56px;
  line-height: 52px;
  color: #1556A6;
  max-width: 750px;
  margin: 0 auto 78px;
  /* Figma: title bottom(4637) → table top(4715) = 78px */
}

/* Figma: 50:149 Frame 16 — 750px幅テーブル @x=345 → 中央配置 */
.about-company__dl {
  max-width: 750px;
  margin: 0 auto;
}

/* Figma: 各行 stroke:rgb(51,51,51) sw=1 */
.about-company__row {
  display: grid;
  grid-template-columns: 230px 1fr;
  /* Figma: dt幅230px */
  border-bottom: 1px solid #333;
  /* Figma: stroke rgb(51,51,51) */
}

/* Figmaでは先頭行上罫線なし → 視認性のため意図的に追加 */
.about-company__row:first-child {
  border-top: 1px solid #333;
}

/* Figma: dt — fs=16 fw=700 ls=1.28 lh=52 color=#333
   fills: なし（背景透明）
   padding: x=30(=375-345), y=10(=4725-4715)
   垂直中央: display:flex + align-items:center */
.about-company__row>dt {
  padding: 10px 30px;
  font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 1.28px;
  line-height: 52px;
  color: #333;
  background: none;
  display: flex;
  align-items: center;
}

/* Figma: dd — fs=16 fw=400 ls=1.28 color=#333
   単行: row高72px, text lh=52, padding 10px 30px
   複数行: row高96〜360px, text lh=24, padding 24px 30px */
.about-company__row>dd {
  padding: 10px 30px;
  font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 1.28px;
  line-height: 52px;
  color: #333;
  margin: 0;
}

/* 複数行セル: lh=24, padding調整 */
.about-company__row--multiline>dd {
  line-height: 24px;
  padding: 24px 30px;
  /* Figma: text offset from cell top ≈ 24px */
}

/* 沿革 nested dl */
.about-company__history {
  margin: 0;
  padding: 0;
}

.about-company__history-row {
  display: flex;
  gap: 24px;
  padding: 0;
  line-height: 24px;
}

.about-company__history-row dt {
  flex-shrink: 0;
  width: 100px;
  white-space: nowrap;
  padding: 0;
  background: none;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 1.28px;
  line-height: 24px;
  color: #333;
  display: block;
  font-variant-numeric: tabular-nums;
  /* 各数字を等幅にして「月」を縦揃え */
}

.about-company__history-row dd {
  margin: 0;
  padding: 0;
  font-size: 16px;
  letter-spacing: 1.28px;
  line-height: 24px;
  color: #333;
}


/* ============================================================
   タブレット対応 — 1024px基準 (769px〜1024px)
   ============================================================ */
@media (max-width: 1024px) {

  /* --- セクション1: メインコピー + メイン画像 --- */
  .about-intro__inner {
    padding: 0 var(--spacing-md);
  }

  /* 見出し: 768px→25px, 1024px→32px */
  .about-intro__heading {
    font-size: clamp(25px, 3.1vw, 32px);
    line-height: 1.6;
    margin-bottom: var(--spacing-md);
  }

  /* コンテナ: 固定888px → flex縦積み、高さ自動 */
  .about-intro__container {
    display: flex;
    flex-direction: column;
    height: auto;
    margin-bottom: var(--spacing-lg);
  }

  /* 画像: 固定1000×603 → 全幅レスポンシブ */
  .about-intro__img {
    width: 100%;
    height: auto;
  }

  .about-intro__img img {
    width: 100%;
    height: auto;
    /* PC基準 1000×603 から下150pxトリミング → 1000×453 */
    aspect-ratio: 1000 / 453;
    object-fit: cover;
    object-position: top;
  }

  /* 白矩形は非表示（テキスト背景で代替） */
  .about-intro__rect4 {
    display: none;
  }

  /* テキスト: absolute → relative、画像に少し重ねて白背景 */
  .about-intro__text {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    background: #fff;
    margin-top: -40px;
    padding: 40px var(--spacing-md) var(--spacing-lg);
    border-radius: 0 30px 0 0;
    z-index: 2;
    box-sizing: border-box;
  }

  /* --- 経営理念・基本方針 / 法人概要 --- */
  .about-philosophy__inner,
  .about-company__inner {
    padding: 0 var(--spacing-lg);
  }

  /* 経営理念: 画像列 clamp縮小 + gap縮小 */
  .about-philosophy__grid {
    grid-template-columns: clamp(250px, 38vw, 546px) 1fr;
    gap: clamp(20px, 3vw, 60px);
  }

  /* 基本方針: 画像列 clamp縮小 + gap縮小 */
  .about-philosophy__grid--reverse {
    grid-template-columns: 1fr clamp(220px, 33vw, 454px);
    gap: clamp(20px, 3vw, 46px);
  }

  /* 経営理念テキスト: 768px→16px, 1024px→20px */
  .about-philosophy__statement {
    font-size: clamp(16px, 2vw, 20px);
    line-height: clamp(40px, 5vw, 56px);
  }

  /* 基本方針リスト: 768px→16px, 1024px→20px */
  .about-philosophy__list li {
    font-size: clamp(16px, 2vw, 20px);
    line-height: clamp(36px, 4.5vw, 47px);
  }

  /* --- 法人概要 --- */
  .about-company__row {
    grid-template-columns: 195px 1fr;
  }
}


/* ============================================================
   SP レスポンシブ (max-width: 767px)
   Figma SP: 20:140 — 430×6523px
   コンテンツ幅: ~387px (左右余白 22px)
   ============================================================ */
@media (max-width: 767px) {

  /* --- MV — About固有SPオーバーライド ---
     Figma SP: ロゴ 304×48px @(46,49), タイトル fs=30.4 @(22,84)
     ======================================= */
  .secondary-mv--about .secondary-mv__title-logo {
    max-width: 304px;
    /* Figma SP: 304×48px — overlapは画像サイズで自然に決定 */
  }





  /* --- メイン紹介 ---
     Figma SP: 見出し @Y=16, 画像429×407@Y=178, テキスト@Y=542
     ======================================= */
  .about-intro {
    /* Figma: MV下端→見出し上端 = 16px */
    padding-top: 16px;
    padding-bottom: 0;
  }

  .about-intro__inner {
    padding: 0 22px;
    /* Figma: テキストX=933, フレーム左端X=911 → 22px */
  }

  /* Figma SP: fs=25 ls=2 lh=40 w=387
     コピー見出しはsp-br + clamp併用で読みやすさ優先
     最長行14文字: 360px→~20px(14×22=310<316), 375px→21px(322<331), 430px→25px */
  .about-intro__heading {
    font-size: clamp(19px, 5.6vw, 25px);
    letter-spacing: 2px;
    line-height: 40px;
    margin-bottom: 24px;
  }

  /* SP: PC用の素のbrのみ非表示（sp-brクラス付きは残す） */
  .about-intro__heading br:not([class]) {
    display: none;
  }

  .about-intro__container {
    display: flex;
    flex-direction: column;
    gap: 0;
    height: auto;
    margin-bottom: 0;
  }

  /* Figma SP: 429×407, cr=10 マスクグループ
     SP専用トリミング画像(main_photo_sp.png)を使用。
     画面幅いっぱいに広げるため、ネガティブマージンを適用。
     PC版の height: 603px をリセットし、Figma準拠 of 角丸 10px を適用 */
  .about-intro__img {
    width: calc(100% + 44px);
    height: auto;
    /* PC版の 603px をリセット */
    margin-left: -22px;
    margin-right: -22px;
    border-radius: 10px;
    /* Figma準拠の角丸 10px */
    overflow: hidden;
  }

  /* picture要素のブロック化と幅100%化 */
  .about-intro__img picture {
    display: block;
    width: 100%;
    height: auto;
  }

  .about-intro__img img {
    width: 100%;
    height: auto;
    display: block;
    /* タブレットMQのトリミング設定をリセット */
    aspect-ratio: auto;
    object-fit: initial;
    object-position: initial;
  }

  /* SP版では独立した白矩形は非表示 → テキストボックスの背景色として処理 */
  .about-intro__rect4 {
    display: none;
  }

  /* Figma SP: テキスト @(933,542) w=385 → 左余白22px
     白背景（Rectangle 4）を再現し、画像に93px重ねる */
  .about-intro__text {
    position: relative;
    top: auto;
    /* PC版の top: 343px をリセット */
    left: auto;
    /* PC版の left: 0 をリセット */
    z-index: 1;
    width: calc(100% + 44px);
    margin-left: -22px;
    margin-right: -22px;
    margin-top: -55px;
    /* 腕組みを見せるため被り量を10px調整 */
    background: #FFFFFF;
    /* 白背景上端492px から テキスト上端542px までの余白 = 50px */
    padding: 50px 22px 40px;
    box-shadow: none;
    /* Figma: Rectangle 4 は右上のみ角丸 30px */
    border-radius: 0 30px 0 0;
    box-sizing: border-box;
  }

  /* Figma SP: fs=14 ls=1.12 lh=25 */
  .about-intro__text p {
    font-size: 14px;
    letter-spacing: 1.12px;
    line-height: 25px;
    margin-bottom: 20px;
  }

  .about-intro__text p:last-child {
    margin-bottom: 0;
  }


  /* --- 経営理念 + 基本方針 ---
     Figma SP: 各セクション 1カラム縦積み
     経営理念: 画像(386×245)→見出し→本文
     基本方針: 画像(386×357)→見出し→リスト
     ======================================= */
  .about-philosophy {
    padding: 40px 0;
  }

  .about-philosophy__inner {
    padding: 0 22px;
  }

  .about-philosophy__grid {
    grid-template-columns: 1fr;
    gap: 0;
    /* 各要素のmarginで個別制御 */
    margin-bottom: 68px;
    /* Figma: 経営理念本文bottom(1663) → 基本方針画像top(1731) = 68px */
  }

  .about-philosophy__grid:last-child {
    margin-bottom: 0;
  }

  /* 基本方針(--reverse): SPでもPC同様テキスト→画像ではなく、画像→テキスト順に変更 */
  .about-philosophy__grid--reverse {
    grid-template-columns: 1fr;
    direction: ltr;
  }

  /* 基本方針: 画像を先頭に移動（order制御） */
  .about-philosophy__grid--reverse .about-philosophy__img {
    order: -1;
  }

  /* Figma SP 経営理念画像: 386×245, cr=10 */
  .about-philosophy__grid:not(.about-philosophy__grid--reverse) .about-philosophy__img img {
    aspect-ratio: 386 / 245;
  }

  /* Figma SP 基本方針画像: 386×357, cr=10 */
  .about-philosophy__grid--reverse .about-philosophy__img img {
    aspect-ratio: 386 / 357;
  }

  /* Figma SP: アイコン 31×16px (PC: 38×20px) */
  .about-philosophy__heading-icon {
    width: 31px;
    height: 16px;
  }

  /* Figma SP: 折り返し制御は sp-br で行うため clamp 廃止、固定サイズ維持 */
  .about-philosophy__heading {
    font-size: 20px;
    letter-spacing: 0.896px;
    line-height: 38px;
    margin-top: 36px;
    /* Figma: 画像bottom → 見出しtop 間隔 */
    margin-bottom: 16px;
  }

  /* Figma SP 経営理念: fs=16 lh=36 w=240 */
  .about-philosophy__statement {
    font-size: 16px;
    line-height: 36px;
  }

  /* Figma SP 基本方針リスト: 小さい画面でも1行目の折り返しを防ぐためclampで可変にする */
  .about-philosophy__list li {
    font-size: clamp(12px, 3.5vw, 15px);
    line-height: 37px;
  }


  /* --- 精密審美会が目指していること ---
     Figma SP: BG 430×1858, bg=#eef7ff, rcr=[0,50,0,50]
     コンテンツ左右余白: 22px
     ======================================= */
  .about-vision {
    padding: 0;
    /* BGで余白制御 */
  }

  /* Figma SP: 全幅、padding-top=86px (タイトルY2558-BGY2472) */
  .about-vision__bg {
    max-width: 100%;
    border-radius: 0 50px 0 50px;
    padding: 86px 22px 80px;
    /* Figma: top=86, LR=22, bottom余白 */
  }

  /* Figma SP: 折り返し制御は sp-br-sm で行うため clamp 廃止、固定25px維持 */
  .about-vision__title {
    font-size: 25px;
    letter-spacing: 2px;
    line-height: 49px;
  }

  /* Figma SP: 折り返し制御は sp-br / sp-br-xs で行うため clamp 廃止、固定20px維持
     複数行時にアイコンを1行目に固定するため flex-start */
  .about-vision__heading {
    align-items: flex-start;
    font-size: 20px;
    letter-spacing: 0.896px;
    line-height: 38px;
    margin-top: 74px;
    /* Figma: タイトルbottom(2607) → 見出し1 top(2681) = 74px */
    margin-bottom: 0;
  }

  /* 2つ目のビジョン見出し: 写真後の間隔 */
  .about-vision__block+.about-vision__block .about-vision__heading,
  .about-vision__photo+.about-vision__block .about-vision__heading {
    margin-top: 82px;
    /* Figma: 写真bottom(3425) → 見出し2 top(3507) = 82px */
  }

  /* Figma SP: アイコンサイズ（ビジョンセクション用）
     flex-start時にテキスト1行目の中央に揃えるため margin-top 補正
     (line-height 38px - icon 16px) / 2 = 11px */
  .about-vision__heading .about-philosophy__heading-icon {
    width: 31px;
    height: 16px;
    margin-top: 11px;
  }

  /* Figma SP: fs=14 ls=1.12 lh=26 */
  .about-vision__block p {
    font-size: 14px;
    letter-spacing: 1.12px;
    line-height: 26px;
    margin-top: 16px;
    /* Figma: 見出しbottom → テキストtop ≈ 16px */
  }

  /* Figma SP: 386×360, cr=10 */
  .about-vision__photo {
    margin-top: 55px;
    /* Figma: テキストbottom(2898) → 写真top(3065) ≈ 167px, ただし複数段落あるため調整 */
  }

  .about-vision__photo img {
    aspect-ratio: 386 / 360;
    object-position: center;
  }

  /* Figma SP: 386×386 */
  .about-vision__building {
    max-width: 100%;
    margin-top: 38px;
    /* Figma: テキスト2 bottom(3806) → ビル画像top(3844) = 38px */
    border-radius: 10px;
  }


  /* --- 法人概要 ---
     Figma SP: タイトルfs=25, テーブルw=387, dt/dd縦積み
     ======================================= */
  .about-company {
    padding: 40px 0;
  }

  .about-company__inner {
    padding: 0 22px;
  }

  /* Figma SP: fs=25 ls=2 lh=49 */
  .about-company__title {
    font-size: 25px;
    letter-spacing: 2px;
    line-height: 49px;
    max-width: 100%;
    margin-bottom: 30px;
    /* Figma: タイトルbottom(4465) → テーブルtop(4495) = 30px */
  }

  .about-company__dl {
    max-width: 100%;
  }

  /* Figma SP: dt/dd 縦積み */
  .about-company__row {
    grid-template-columns: 1fr;
  }

  /* Figma SP: dt — fs=14 fw=700 ls=1.12 lh=52 pad=24/15(上下/左右) → 背景なし。テーブル全体でサイズ統一のためclamp指定 */
  .about-company__row>dt {
    padding: 0 15px;
    font-size: clamp(12px, 3.2vw, 14px);
    letter-spacing: 1.12px;
    line-height: 52px;
    border-bottom: none;
  }

  /* Figma SP: dd (単行) — fs=14 fw=400 ls=1.12 lh=52 pad=0/15/8/15 + 下罫線。テーブル全体でサイズ統一のためclamp指定 */
  .about-company__row>dd {
    padding: 0 15px 8px;
    font-size: clamp(12px, 3.2vw, 14px);
    letter-spacing: 1.12px;
    line-height: 52px;
  }

  /* Figma SP: dd (複数行) — lh=24, pad=12/15/20/15 */
  .about-company__row--multiline>dd {
    line-height: 24px;
    padding: 0 15px 20px;
  }

  /* 沿革: SPでは1つのテキストブロックとして表示 */
  .about-company__history-row {
    flex-direction: row;
    /* SPでも横並び維持（年月＋内容） */
    gap: 12px;
  }

  .about-company__history-row dt {
    width: auto;
    font-weight: 400;
    white-space: nowrap;
    font-size: clamp(12px, 3.2vw, 14px);
    letter-spacing: 1.12px;
    line-height: 24px;
  }

  .about-company__history-row dd {
    font-size: clamp(12px, 3.2vw, 14px);
    letter-spacing: 1.12px;
    line-height: 24px;
  }

  /* 特徴のPC用改行をSPで無効化 */
  .about-company__row:last-child dd br {
    display: none;
  }
}