/* ページ全体の共通設定（基本フォント・文字色） */
/* FVや背景画像を画面幅いっぱいに表示したいので、ページ全体には max-width を付けない。
   コンテンツ幅の制限は各セクション内側の .rl-container（1080px）だけでおこなう */
.relyon-company-page {
  --rl-sans-jp: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;

  --rl-container: 1080px;
  /* セクション内容の幅 */
  --rl-ink: #222222;
  /* 本文の基本文字色 */
  --rl-ink-soft: #333333;
  /* 本文より少し薄いグレーの文字色 */

  width: 100%;

  font-family: var(--rl-sans-jp);
  color: var(--rl-ink);
  line-height: 1.9;
}

/* ---------- ヒーロー ---------- */
/* 構造（背景・レスポンシブ）は共通コンポーネント assets/css/components/rl-hero.css 側。
   COMPANYページは高さの最小値・モバイル時の余白のみ独自に上書きする。 */
.relyon-company-page .rl-hero {
  height: clamp(420px, 60vw, 752px);
}

@media (max-width: 768px) {
  .relyon-company-page .rl-hero__inner {
    padding: 0 24px 40px;
  }
}

/* ヒーロータイトル「COMPANY」の文字（画面幅に応じて36px〜64pxで可変） */
.relyon-company-page .rl-hero__title {
  font-family: "Baskerville", "Baskerville Old Face", "Libre Baskerville", "Times New Roman", serif;
  font-size: clamp(36px, 6vw, 64px);
  font-weight: 500;
  letter-spacing: .06em;
  color: #fff;
  margin: 0;
  line-height: 1;
}

/* ヒーローのサブテキスト「代表紹介＆会社概要」 */
.relyon-company-page .rl-hero__sub {
  font-family: "Zen Old Mincho", "Yu Mincho", serif;
  color: #fff;
  font-size: 13px;
  letter-spacing: .18em;
  margin: 10px 0 0;
}

/* ===== 代表紹介セクション ===== */
/* セクション全体の背景（bg-blue.png・画像が大きいので cover で section 全体を覆う） */
.relyon-company-page .rl-message {
  position: relative;
  background-image: url(../images/bg-blue.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  padding-top: 160px;
  padding-bottom: 80px;
}

/* 代表紹介セクションの下に敷く帯（bg-white.png・セクション下端に絶対配置・高さ200px固定） */
.relyon-company-page .rl-message__fade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 200px;
  background-image: url(../images/bg-white.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: 0;
}

/* 帯（rl-message__fade）より文字を手前に表示する */
.relyon-company-page .rl-message .rl-container {
  position: relative;
  z-index: 1;
}


/* ---------- 共通見出し（代表紹介 / 会社概要） ---------- */
/* セクション見出し「代表紹介」（濃い青→薄い青のフェード、画面幅に応じて28px〜48pxで可変） */
.relyon-company-page .rl-section-title {
  text-align: center;
  font-family: "Zen Old Mincho", "Yu Mincho", serif;
  font-weight: 600;
  font-size: clamp(28px, 5vw, 48px);
  letter-spacing: .28em;
  margin: 0;
  text-indent: .28em;
  padding-bottom: 80px;
  background: linear-gradient(90deg, #00489D 0%, #009DE6 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* 画面幅が540px以下になったら下の余白を半分にする */
@media (max-width: 540px) {
  .relyon-company-page .rl-section-title {
    padding-bottom: 40px;
  }
}

/* 左：本文 ／ 右：写真 の2カラム（右カラムは写真の幅400pxに合わせる） */
.relyon-company-page .rl-message__grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 60px;
  align-items: start;
}

/* 見出し「MESSAGE」の文字（画面幅に応じて36px〜64pxで可変） */
.relyon-company-page .rl-message__head {
  font-family: "Baskerville", "Baskerville Old Face", "Libre Baskerville", "Times New Roman", serif;
  font-size: clamp(36px, 6vw, 64px);
  font-weight: 500;
  letter-spacing: .04em;
  color: #009DE6;
  margin: 0;
  padding-bottom: 64px;
  line-height: 1;
}

/* 本文（メッセージの文章） */
.relyon-company-page .rl-message__body p {
  margin: 0 0 1.4em;
  font-size: 16px;
  line-height: 1.7;
  color: var(--rl-ink);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}

/* 本文の最後の段落だけ下の余白をなくす */
.relyon-company-page .rl-message__body p:last-child {
  margin-bottom: 0;
}

/* 代表写真（幅は画面に追従させ、最大400pxまで・縦横比2:3を維持） */
.relyon-company-page .rl-profile__photo {
  display: block;
  width: 100%;
  max-width: 360px;
  margin-inline: auto;
  aspect-ratio: 2 / 3;
  background-color: #9fb0ad;
  /* 画像未設定時のフォールバック */
  object-fit: cover;
  object-position: center top;
}

/* RELYON代表 ＋ 下の1px線 */
.relyon-company-page .rl-profile__role {
  margin: 22px 0 0;
  font-family: "Zen Old Mincho", "Yu Mincho", serif;
  font-size: 20px;
  letter-spacing: .12em;
  color: var(--rl-ink-soft);
  padding-bottom: 12px;
  border-bottom: 1px solid #cfd6da;
}

/* 氏名（中前 友宏 ＋ Tomohiro Nakamae） */
.relyon-company-page .rl-profile__name {
  margin: 16px 0 0;
  display: flex;
  align-items: baseline;
  gap: 16px;
}

/* 氏名・日本語表記（中前 友宏） */
.relyon-company-page .rl-profile__name .jp {
  font-family: "Zen Old Mincho", "Yu Mincho", serif;
  font-size: 32px;
  font-weight: 500;
  letter-spacing: .14em;
  color: var(--rl-ink);
  white-space: nowrap;
}

/* 氏名・英語表記（Tomohiro Nakamae） */
.relyon-company-page .rl-profile__name .en {
  font-family: "Baskerville", "Libre Baskerville", "Times New Roman", serif;
  font-size: 20px;
  font-style: italic;
  color: var(--rl-ink);
  letter-spacing: .04em;
  white-space: nowrap;
}

/* 氏名の最初の1文字だけ強調（青色・少し大きめ） */
.relyon-company-page .rl-profile__name .first {
  font-size: 1.12em;
  color: #009DE6;
}

/* セクション内側の幅を中央寄せ（代表紹介・会社概要で共通） */
.relyon-company-page .rl-container {
  max-width: var(--rl-container);
  margin-inline: auto;
}

/* 画面幅が1180px以下になったらセクション幅を90%に縮める */
@media (max-width: 1180px) {
  .relyon-company-page .rl-container {
    width: 90%;
  }
}

/* ===== 会社概要セクション ===== */
/* セクション全体の上下の余白 */
.relyon-company-page .rl-company {
  padding: 80px 0;
}

/* 項目リスト全体（経歴・実績・社名…） */
.relyon-company-page .rl-spec {
  margin: 56px 0 0;
}

/* 項目1つ分の行（左：項目名／右：内容の横並び）と下の区切り線 */
.relyon-company-page .rl-spec__row {
  display: grid;
  padding: 32px 0px 32px 0px;
  grid-template-columns: 100px 1fr;
  gap: 32px;
  align-items: start;
  border-bottom: 1px solid #e3e3e3;
}

/* 先頭の行は上余白をゼロにして、直上の見出しやセクション枠と間隔を詰める */
.relyon-company-page .rl-spec__row:first-child {
  padding-top: 0;
}

/* 項目名（経歴・実績など）の文字 */
.relyon-company-page .rl-spec__label {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .08em;
  color: #1c9dd6;
}

/* 「出版・執筆／取材・出演」を2行表示するためのパーツ */
.relyon-company-page .rl-spec__label-part {
  display: block;
}

/* スマホ幅では項目名を上、内容を下の縦並びに切り替え */
@media (max-width: 768px) {
  .relyon-company-page .rl-spec__row {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  /* SPは1行に戻し、間に中黒を挟む */
  .relyon-company-page .rl-spec__label-part {
    display: inline;
  }

  .relyon-company-page .rl-spec__label-part + .rl-spec__label-part::before {
    content: "・";
  }
}

/* 項目の内容（本文・リスト）の文字色や行間 */
.relyon-company-page .rl-spec__value {
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
  color: var(--rl-ink-soft);
}

/* 電話番号・メールのリンク（tel: / mailto:）も本文と同じ見た目にする */
.relyon-company-page .rl-spec__value a {
  color: inherit;
  text-decoration: none;
}

/* 内容が複数の段落（経歴）のときの段落間の余白 */
.relyon-company-page .rl-spec__value p {
  margin: 0 0 .8em;
}

.relyon-company-page .rl-spec__value p:last-child {
  margin-bottom: 0;
}

/* 内容がリスト（実績・出版実績など）のときの行間 */
.relyon-company-page .rl-spec__value ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* リストの1行（先頭に「・」をつけて、折り返しても文頭に揃える） */
.relyon-company-page .rl-spec__value li {
  padding-left: 1.1em;
  text-indent: -1.1em;
}

.relyon-company-page .rl-spec__value li::before {
  content: "・";
}

/* 画面幅が772px以下になったら本文の文字サイズを14pxに縮める */
@media (max-width: 772px) {
  .relyon-company-page .rl-message {
    padding: 40px 0;
  }

  .relyon-company-page .rl-message__body p {
    font-size: 14px;
  }

  /* MESSAGE見出しと本文の間隔を半分にする */
  .relyon-company-page .rl-message__head {
    padding-bottom: 32px;
  }

  /* 横幅が足りないので、本文と写真（画像＋名前）を縦並びに切り替える */
  /* 写真＋名前→本文（経歴・実績・出版）の順で並ぶようflexで明示的に指定 */
  .relyon-company-page .rl-message__grid {
    display: flex;
    flex-direction: column;
    gap: 48px;
  }

  .relyon-company-page .rl-profile {
    width: 100%;
    order: 1;
  }

  .relyon-company-page .rl-message__body {
    order: 2;
  }

  .relyon-company-page .rl-profile__name {
    flex-direction: column;
    gap: 4px;
  }

  /* 縦並び時は氏名の文字サイズを少し縮める */
  .relyon-company-page .rl-profile__name .jp {
    font-size: 28px;
  }

  .relyon-company-page .rl-profile__name .en {
    font-size: 18px;
  }
}