/* === ページ共通 黒 + 金 世界観 === */

body {
  background: #111;
  color: #ccc;
  font-weight: 300;
  letter-spacing: 1.3px;
  font-family: "Noto Sans JP", sans-serif;
}

/* 見出し */
.section-wrap {
  max-width: 900px;
  margin: 80px auto;
  line-height: 2.1;
  animation: fadeInUp 0.8s ease-out;
}

.section-wrap h2 {
  color: #d4af37;
  font-size: 2.2em;
  letter-spacing: 4px;
  font-weight: 300;
  margin-bottom: 35px;
  text-align: center;
  position: relative;
  padding-bottom: 15px;
}

.section-wrap h2::after {
  content:'';
  position:absolute;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:90px;
  height:2px;
  background:linear-gradient(to right,transparent,#d4af37,transparent);
}

/* カード */
.card-grid {
  display:grid;
  gap:25px;
  margin-top:50px;
}

.card {
  background:rgba(20,20,20,0.75);
  padding:30px;
  border-left:3px solid #d4af37;
  transition:.35s;
}

.card:hover {
  background:rgba(20,20,20,0.9);
  border-left-color:#fff;
}

.card strong {
  color:#d4af37;
  font-weight:400;
  letter-spacing:2px;
}

/* アニメーション */
@keyframes fadeInUp {
  from { opacity:0; transform:translateY(30px);}
  to { opacity:1; transform:translateY(0);}
}

/* 共通ページタイトル帯 */
.page-header {
    background: linear-gradient(135deg, #0f2540 0%, #2c3e50 100%);
    color: #fff;
    text-align: center;
    padding: 60px 20px;
    margin-bottom: 40px;
}

/* セクションタイトル統一 */
.section-title {
    text-align: center;
    font-weight: 600;
    margin: 60px 0 30px;
    position: relative;
}
.section-title:after {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    background: #0f2540;
    margin: 12px auto 0;
}
