/* Aboutページ専用：必ずstyle.cssより後に読み込む前提 */

/* レイアウト */
.about-page{ padding-top: 60px; }
.container{
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (min-width: 768px){
  .container{
    padding-left: clamp(40px, 8vw, 120px);
    padding-right: clamp(40px, 8vw, 120px);
  }
}

/* タイポ */
.eyebrow{
  color:#4373ed;
  font-weight:800;
  letter-spacing:1px;
  margin:0 0 10px;
  font-size:12px;
}
.title-xl{
  margin:0 0 14px;
  font-weight:900;
  color:#343434;
  font-size:28px;
  line-height:1.25;
}
.body{
  margin:0;
  color:#343434;
  font-size:16px;
  line-height:1.9;
}

/* ★太字見出しは全部同じサイズに固定 */
.heading{
  margin:0 0 16px;
  font-weight:900;
  color:#343434;
  font-size:22px;     /* ←ここが統一サイズ */
  line-height:1.35;
}
@media (min-width: 768px){
  .eyebrow{ font-size:20px; }
  .title-xl{ font-size:36px; }
  .body{ font-size:18px; }
  .heading{ font-size:28px; } /* PCでも統一（全heading同じ） */
}

/* 青棒 */
.bar{
  display:inline-block;
  width:6px;
  height:18px;
  background:#4373ed;
  border-radius:999px;
  margin-right:10px;
  vertical-align:middle;
}
@media (min-width:768px){
  .bar{ height:20px; }
}

/* 余白 */
.about-hero{ padding: 26px 0 10px; background:#fff; }
.section{ padding: 46px 0; background:#fff; }
.section--alt{ background:#f6f9ff; }
.hero-figure{ margin: 12px 0 16px; }
.hero-figure img{
  width:100%;
  border-radius:12px;
  box-shadow:0 8px 22px rgba(0,0,0,0.06);
  border:1px solid rgba(0,0,0,0.06);
}

/* 画像 */
.media{ margin: 14px 0 18px; }
.media img{
  width:100%;
  border-radius:12px;
  box-shadow:0 8px 22px rgba(0,0,0,0.06);
  border:1px solid rgba(0,0,0,0.06);
}
.media--small{ margin:0; }
.caption{
  margin-top:8px;
  font-size:12px;
  opacity:.75;
  text-align:center;
}

/* 2枚並び */
.two-images{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin: 14px 0 18px;
}
@media (min-width:768px){
  .two-images{ gap:18px; }
}

/* リスト */
.olist{
  margin: 14px 0 0;
  padding-left: 18px;
}
.olist li{
  margin: 8px 0;
  line-height: 1.9;
  font-size:16px;
}
@media (min-width:768px){
  .olist li{ font-size:18px; }
}

.bullets{
  margin: 14px 0 0;
  padding-left: 18px;
}
.bullets li{
  margin: 8px 0;
  line-height: 1.9;
}

/* 比較表 */
.table-wrap{
  overflow-x:auto;
  border-radius:12px;
  box-shadow:0 8px 22px rgba(0,0,0,0.06);
  border:1px solid rgba(0,0,0,0.06);
  background:#fff;
}
.table{
  width:100%;
  border-collapse:collapse;
  min-width: 640px;
}
.table th, .table td{
  padding: 14px 16px;
  border-bottom: 1px solid #eef2ff;
  text-align:left;
  font-size:14px;
}
.table thead th{
  background:#f9faff;
  font-weight:900;
}
@media (min-width:768px){
  .table{ min-width:0; }
  .table th, .table td{ font-size:16px; }
}

/* CTAボタン（about用） */
.center-cta{ text-align:center; margin-top:50px; }
.btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:54px;
  padding:0 18px;
  border-radius:8px;
  background:#4373ed;
  color:#fff;
  font-weight:900;
  box-shadow:0 6px 18px rgba(67,115,237,0.22);
}

/* PC時：ヘッダー中央CTA（黄色）を消す */
@media (min-width:768px){
  .header-cta{ display:none !important; }
}

/* scroll reveal */
.scroll-reveal{
  opacity:0;
  transform: translateY(24px);
  transition: opacity .6s ease, transform .6s ease;
}
.scroll-reveal.visible{
  opacity:1;
  transform: translateY(0);
}
