/* ===== layout base ===== */
.company-page .container { max-width: 1120px; margin: 0 auto; padding: 0 20px; }
.company-section { padding: 56px 0; }
.section-title { font-size: 24px; font-weight: 700; margin: 16px 0 20px; }

/* ===== 代表メッセージ ===== */
.message-wrap { display: grid; grid-template-columns: 1.2fr 1.8fr; gap: 24px; }
.message-visual {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  background: #eef1f4;
  min-height: 220px; /* 最低高さを確保（モバイルの単独表示時にも潰れない） */
}
.message-visual img, .message-visual .ph {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ===== 会社概要：左テーブル＋右画像 ===== */
.company-profile .profile-layout{
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 24px;
  align-items: stretch; /* 2カラムの高さを揃える */
}
.company-profile .profile-left{ min-width: 0; }
.company-profile .profile-right{
  min-width: 0;
  position: relative; /* グリッドの行高に合わせて子画像を100%フィットさせる */
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
}
.company-profile .profile-right img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;           /* 左テーブルと高さを常に一致させる */
  object-fit: cover;      /* トリミングで見た目を揃える */
}

/* 会社概要テーブル */
.profile-table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 8px; overflow: hidden; }
.profile-table th, .profile-table td { padding: 12px 14px; border-bottom: 1px solid #eee; vertical-align: top; }
.profile-table th { width: 160px; background: #f7f8f9; font-weight: 600; }

/* ===== Map：中央揃え ===== */
.company-map .map-layout{
  display: flex;
  justify-content: center;
}
.company-map .map-frame{
  position: relative;
  width: 100%;
  max-width: 960px;   /* ここで横幅の上限を決める */
  margin: 0 auto;
  padding-top: 56%;   /* 16:9 比率維持 */
  border-radius: 10px;
  overflow: hidden;
  background: #eef1f4;
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
}
.company-map .map-frame iframe{
  position: absolute; inset: 0; width: 100%; height: 100%; border: 0;
}

/* MapのサイドCTA用（今後使うなら） */
.company-map .map-cta {
  background: #fff; border: 1px solid #eee; border-radius: 10px;
  padding: 18px; position: sticky; top: 88px;
}
.company-map .map-cta .btn {
  display: inline-block; padding: 10px 16px; border-radius: 6px;
  background: #222; color: #fff; text-decoration: none; font-weight: 600;
}
.company-map .map-cta .small { color: #666; font-size: 12px; margin-top: 10px; }

/* ===== レスポンシブ ===== */
@media (max-width: 820px) {
  .message-wrap { grid-template-columns: 1fr; }
  .company-profile .profile-layout { grid-template-columns: 1fr; }
  .company-profile .profile-right { height: 220px; } /* スマホは適度な高さで */
  .company-map .map-frame { max-width: none; }       /* スマホは横幅いっぱい */
}

/* 汎用placeholder */
.ph { background: repeating-linear-gradient(45deg, #f1f3f5, #f1f3f5 10px, #e9ecef 10px, #e9ecef 20px); border-radius: 8px; }


.company-list { margin: 0; padding-left: 1.2em; }
.company-list li { margin: .35em 0; }

/* ===== 特徴と強み（読みやすさ 再調整：2回目） ===== */
.company-strengths .company-list {
  font-size: 15px;      /* match product feature content */
  line-height: 1.8;     /* match product feature content */
  letter-spacing: 0.01em; /* keep slight tracking as before */
  padding-left: 1.2em;  /* align list indent with product */
}
.company-strengths .company-list li { margin: 0 0 6px; }

/* 主な提携先：特徴と強みに合わせる */
.company-partners .company-list {
  font-size: 15px;      /* match product feature content */
  line-height: 1.8;     /* match product feature content */
  letter-spacing: 0.01em;
  padding-left: 1.2em;
}
.company-partners .company-list li { margin: 0 0 6px; }

/* モバイルではやや控えめに */
@media (max-width: 420px) {
  .company-strengths .company-list {
    font-size: 15px;     /* keep same size on mobile to match product */
    line-height: 1.8;    /* keep same line-height */
    padding-left: 1.2em; /* align list indent */
  }
  .company-strengths .company-list li { margin: 0 0 6px; }

  /* 主な提携先（モバイル） */
  .company-partners .company-list {
    font-size: 15px;
    line-height: 1.8;
    padding-left: 1.2em;
  }
  .company-partners .company-list li { margin: 0 0 6px; }
}
.company-section .lead { font-size: 1.05rem; line-height: 1.9; font-weight: 600; }