/* ==========================================================================
   セキュリティページ（security.html）専用スタイル
   トップ（index.html）と同じ newtop-custom.css / テーマCSS の上に読み込む。
   コンテナ幅・文字サイズ・色はトップに合わせる（本文14px／#222222）。
   ========================================================================== */

.sub-v2 {
  color: #222222;
}
.sub-v2 .v2-container {
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 52px;
  box-sizing: border-box;
}

/* --- ページ見出し --- */
.sub-v2 .sec-pagehead {
  padding: 72px 0 48px;
  background: #ffffff;
}
.sub-v2 .page-ttl {
  margin: 0;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
.sub-v2 .page-lead {
  margin: 16px 0 0;
  font-size: 14px;
  line-height: 1.9;
}

/* --- 認証セクション --- */
.sub-v2 .sec-cert {
  padding: 56px 0;
}
.sub-v2 .cert-ttl {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}
.sub-v2 .cert-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  -webkit-column-gap: 56px;
  column-gap: 56px;
  align-items: center;
  margin-top: 20px;
}
.sub-v2 .cert-head--full {
  grid-template-columns: minmax(0, 1fr);
}
.sub-v2 .cert-txt {
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
}
.sub-v2 .cert-txt + .cert-txt {
  margin-top: 12px;
}
.sub-v2 .cert-badge {
  margin: 0;
}
.sub-v2 .cert-badge img {
  display: block;
  width: 100%;
  height: auto;
}

/* --- 認証情報の表（参考画像に合わせたカード型：外枠1px＋角丸、見出し列は薄い灰色、文字は太字） --- */
.sub-v2 .cert-table {
  margin-top: 32px;
  border: 1px solid #e3e6ea;
  border-radius: 4px;
  overflow: hidden;
  background: #ffffff;
}
.sub-v2 .cert-row {
  display: grid;
  grid-template-columns: 34% minmax(0, 1fr);
  border-bottom: 1px solid #e3e6ea;
}
.sub-v2 .cert-row:last-child {
  border-bottom: 0;
}
.sub-v2 .cert-th {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 18px 24px;
  background: #F5F8FA;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
}
.sub-v2 .cert-td {
  display: flex;
  align-items: center;
  padding: 18px 24px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
}
.sub-v2 .cert-td ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.sub-v2 .cert-td ul li::before {
  content: "・";
}
.sub-v2 .cert-td--split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 0;
}
.sub-v2 .cert-td--split > div {
  padding: 18px 24px;
}
.sub-v2 .cert-td--split > div + div {
  border-left: 1px solid #e3e6ea;
}
.sub-v2 .cert-td--split strong {
  display: block;
  font-weight: 700;
}

/* --- 結び --- */
.sub-v2 .sec-closing {
  padding: 56px 0 96px;
}
.sub-v2 .closing-txt {
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
}

/* --- SP --- */
@media (max-width: 768px) {
  .sub-v2 .v2-container {
    padding: 0 20px;
  }
  .sub-v2 .sec-pagehead {
    padding: 40px 0 32px;
  }
  .sub-v2 .page-ttl {
    font-size: 24px;
  }
  .sub-v2 .page-lead br {
    display: none;
  }
  .sub-v2 .sec-cert {
    padding: 40px 0;
  }
  .sub-v2 .cert-ttl {
    font-size: 18px;
  }
  .sub-v2 .cert-head {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 20px;
  }
  .sub-v2 .cert-badge {
    max-width: 260px;
  }
  .sub-v2 .cert-row {
    grid-template-columns: minmax(0, 1fr);
  }
  .sub-v2 .cert-th {
    padding: 10px 16px;
  }
  .sub-v2 .cert-td {
    padding: 12px 16px;
  }
  .sub-v2 .cert-td--split {
    grid-template-columns: minmax(0, 1fr);
  }
  .sub-v2 .cert-td--split > div {
    padding: 12px 16px;
  }
  .sub-v2 .cert-td--split > div + div {
    border-left: 0;
    border-top: 1px solid #e3e6ea;
  }
  .sub-v2 .sec-closing {
    padding: 40px 0 64px;
  }
}
