/* =====================================================
   adviser-index ページ独自スタイル
   クラス名: .p-adviser2025__*
   既存の common.css / adviser.css のクラスには触らない
   ===================================================== */

/* ── リードテキスト ── */
.p-adviser2025__lead {
  text-align: center;
  font-size: calc(18px + 2 * (100vw - 768px) / 432);
  font-weight: bold;
  line-height: 2;
  margin-bottom: 56px;
  color: #333;
}

/* ── グリッド：2カラムカード一覧 ── */
.p-adviser2025__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-bottom: 64px;
}

/* ── カード ── */
.p-adviser2025__card {
  display: block;
  text-decoration: none;
  color: inherit;
  border: 1px solid #e0e0e0;
  background: #fff;
  transition: box-shadow .2s;
  overflow: hidden;
}
.p-adviser2025__card:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,.1);
  text-decoration: none;
}

/* カード上段：写真 */
.p-adviser2025__card-photo {
  width: 100%;
  aspect-ratio: 16 / 7;
  overflow: hidden;
  background: #111;
}
.p-adviser2025__card-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  filter: grayscale(100%);
  transition: filter .3s;
}
.p-adviser2025__card:hover .p-adviser2025__card-photo img {
  filter: grayscale(60%);
}

/* カード下段：テキスト */
.p-adviser2025__card-body {
  padding: 20px 22px 22px;
  border-top: 3px solid #FFD700;
}
.p-adviser2025__card-dept {
  font-size: 12px;
  color: #888;
  margin-bottom: 4px;
}
.p-adviser2025__card-name {
  font-size: 20px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 4px;
  letter-spacing: .04em;
}
.p-adviser2025__card-exp {
  font-size: 16px;
  color: #666;
  margin-bottom: 12px;
}
.p-adviser2025__card-exp strong { color: #1a1a1a; font-weight: 700; }
.p-adviser2025__card-comment {
  font-size: 16px;
  line-height: 1.9;
  color: #444;
  margin-bottom: 14px;
  /* 2行で切る */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* 得意領域タグ */
.p-adviser2025__card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
}
.p-adviser2025__card-tag {
  font-size: 14px;
  color: #555;
  border: 1px solid #ccc;
  padding: 2px 8px;
  background: #f8f8f8;
}
/* もっと見るリンク */
.p-adviser2025__card-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 16px;
  font-weight: 600;
  color: #000;
  border-bottom: 1px solid #000;
}
.p-adviser2025__card-link::after {
  content: '';
  display: inline-block;
  width: 10px; height: 10px;
  border-top: 2px solid #1a1a1a;
  border-right: 2px solid #1a1a1a;
  transform: rotate(45deg);
}

/* ── CVエリア（既存の sec__eizoshigoto と同等の黒背景ボタン） ── */
.p-adviser2025__cv {
  background: #1a1a1a;
  color: #fff;
  text-align: center;
  padding: 56px 40px;
  margin-top: 16px;
}
.p-adviser2025__cv-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
}
.p-adviser2025__cv-lead {
  font-size: 14px;
  line-height: 2;
  color: rgba(255,255,255,.65);
  margin-bottom: 28px;
}
.p-adviser2025__cv-btn {
  display: inline-block;
  background: #FFD700;
  color: #1a1a1a;
  font-size: 15px;
  font-weight: 700;
  padding: 16px 36px;
  border-radius: 40px;
  letter-spacing: .04em;
}
.p-adviser2025__cv-btn:hover { opacity: .9; text-decoration: none; color: #1a1a1a; }
.p-adviser2025__cv-note {
  font-size: 12px;
  color: rgba(255,255,255,.35);
  margin-top: 12px;
}

/* SP */
@media (max-width: 768px) {
  .p-adviser2025__grid { grid-template-columns: 1fr; gap: 16px; }
  .p-adviser2025__lead { font-size: calc(18px + 2 * (100vw - 768px) / 432);}
  .p-adviser2025__cv { padding: 40px 20px; }
}

@media screen and (max-width: 980px) {
  .page__wrap.adviser {
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* ===== グループサービスエリア ===== */
.site_area { background: #3a3a3a; padding: 48px 0; }
.site_area .site_box { display: grid; grid-template-columns: 1fr 1fr; gap: 40px 60px; list-style: none; margin: 0; padding: 0; box-sizing: border-box; }
.site_area .site_box li a { display: flex; flex-direction: column; gap: 10px; text-decoration: none; }
.site_area .site_catch { color: #a0a0a0; font-size: 12px; font-weight: 400; line-height: 1.5; padding-left: 14px; position: relative; }
.site_area .site_catch::before { content: "・"; position: absolute; left: 0; color: #a0a0a0; }
.site_area .site_logo img { height: 48px; width: auto; max-width: 240px; object-fit: contain; display: block; filter: brightness(0) invert(1); transition: opacity .2s; }
.site_area .site_box li a:hover .site_logo img { opacity: .75; }
.footer__menu--item--highlight a { color: #000000 !important; font-weight: 700; }
@media (max-width: 768px) {
  .site_area { padding: 32px 0; }
  .site_area .content__wrap { padding-left: 20px; padding-right: 20px; box-sizing: border-box; }
  .site_area .site_box { grid-template-columns: 1fr; gap: 24px; }
  .site_area .site_logo img { height: 32px; max-width: 160px; }
}

/* CVパーツ下余白を他ページに合わせる */
.sec__eizoshigoto {
  margin-bottom: 0;
}
