@charset "UTF-8";
/* ============================================
   Feプロ 会社概要ページ専用スタイル
   assets/css/company.css
   ※ 変数・ボタン・CTA・フッターは style.css（共通）
   ※ コンテナ・見出し・ページヒーロー・fadeup は page-common.css（下層共通）
   ============================================ */

/* ===== 代表挨拶・プロフィール ===== */
.fp-co-profile { padding: 84px 0 0; background: #fff; scroll-margin-top: 80px; }
.fp-co-profile__grid {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 44px;
  max-width: 980px;
  margin: 0 auto;
  align-items: start;
}
.fp-co-profile__photo { margin: 0; }
.fp-co-profile__photo img {
  width: 100%;
  height: auto;
  display: block;
  border-top: 4px solid var(--gold);
  box-shadow: 0 12px 32px var(--fp-shadow);
}
.fp-co-profile__photo figcaption {
  margin-top: 12px;
  text-align: center;
  font-size: 12.5px;
  color: var(--fp-text-sub);
}
.fp-co-profile__role {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--navy);
  background: var(--fp-bg-sub);
  border: 1px solid var(--fp-border);
  padding: 6px 14px;
  margin-bottom: 14px;
}
.fp-co-profile__name {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  color: var(--navy);
  font-size: clamp(22px, 3vw, 30px);
  line-height: 1.4;
  margin: 0;
}
.fp-co-profile__name .read {
  display: block;
  font-size: 13px;
  color: var(--fp-text-sub);
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-top: 8px;
}
.fp-co-profile__bio { margin-top: 22px; }
.fp-co-profile__bio p {
  font-size: 14.5px;
  line-height: 1.95;
  color: var(--fp-text);
  margin: 0 0 16px;
}
.fp-co-profile__bio p:last-child { margin-bottom: 0; }
.fp-co-profile__bio strong { color: var(--gold-dark); font-weight: 700; }

/* ===== ごあいさつ ===== */
.fp-co-greeting { padding: 56px 0 84px; background: #fff; }
.fp-co-greeting__box {
  max-width: 980px;
  margin: 0 auto;
  background: var(--fp-bg-sub);
  border-left: 5px solid var(--gold);
  padding: 36px 40px;
}
.fp-co-greeting__title {
  font-family: "Noto Serif JP", serif;
  font-size: clamp(18px, 2.4vw, 22px);
  font-weight: 700;
  color: var(--navy);
  margin: 0 0 18px;
}
.fp-co-greeting__box p {
  font-size: 14.5px;
  line-height: 1.95;
  color: var(--fp-text);
  margin: 0 0 16px;
}
.fp-co-greeting__box p:last-child { margin-bottom: 0; }
.fp-co-greeting__box strong { color: var(--gold-dark); font-weight: 700; }
.fp-co-greeting__sign {
  text-align: right;
  margin-top: 24px !important;
  font-weight: 700;
  color: var(--navy);
}

/* ===== 会社概要テーブル ===== */
.fp-co-info { padding: 84px 0; background: var(--fp-bg-sub); }
.fp-co-table {
  width: 100%;
  max-width: 880px;
  margin: 0 auto;
  border-collapse: collapse;
  background: #fff;
  box-shadow: 0 8px 28px var(--fp-shadow);
}
.fp-co-table th,
.fp-co-table td {
  padding: 18px 24px;
  font-size: 14.5px;
  text-align: left;
  border-bottom: 1px solid var(--fp-border);
  line-height: 1.7;
}
.fp-co-table tr:last-child th,
.fp-co-table tr:last-child td { border-bottom: none; }
.fp-co-table th {
  width: 30%;
  background: var(--navy);
  color: #fff;
  font-weight: 700;
  vertical-align: top;
  white-space: nowrap;
}
.fp-co-table td {
  color: var(--navy);
  font-weight: 700;
  vertical-align: top;
}
.fp-co-table td a { color: var(--gold-dark); text-decoration: none; }
.fp-co-table td a:hover { text-decoration: underline; }

/* ===== アクセス ===== */
.fp-co-access { padding: 84px 0; background: #fff; }
.fp-co-access__address {
  text-align: center;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--navy);
  margin: 0 0 28px;
  line-height: 1.8;
}
.fp-co-map {
  position: relative;
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  box-shadow: 0 8px 28px var(--fp-shadow);
}
.fp-co-map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ===== レスポンシブ ===== */
@media (max-width: 768px) {
  .fp-co-profile__grid { grid-template-columns: 1fr; gap: 28px; max-width: 520px; }
  .fp-co-profile__photo { max-width: 320px; margin: 0 auto; }
  .fp-co-profile__head { text-align: center; }
}
@media (max-width: 600px) {
  .fp-co-profile { padding: 56px 0 0; }
  .fp-co-greeting { padding: 40px 0 56px; }
  .fp-co-info,
  .fp-co-access { padding: 56px 0; }
  .fp-co-greeting__box { padding: 24px 22px; }
  .fp-co-table th,
  .fp-co-table td { padding: 14px 16px; font-size: 14px; }
  .fp-co-table th { white-space: normal; width: 36%; }
  .fp-co-map { aspect-ratio: 4 / 3; }
}
