/* ============================================================
   セキュリティ（NAYOSEL_security / NAYOSEL_security_SP 準拠）
   ============================================================ */

.sec-safety { padding: 108px 0 0; }
.sec-safety__grid { margin-top: 66px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.sec-safety__card {
  background: var(--bg-card);
  border-radius: 20px;
  padding: 44px 28px 0;
  text-align: center;
  overflow: hidden;
  box-shadow: 0 10px 15px rgba(27, 53, 146, 0.2);
  display: flex;
  flex-direction: column;
}
.sec-safety__label { color: var(--orange); font-size: 14px; font-weight: 500; letter-spacing: 0.16em; }
.sec-safety__ttl { margin-top: 10px; font-size: 30px; font-weight: 700; letter-spacing: 0.05em; }
.sec-safety__txt { margin-top: 18px; font-size: 15px; font-weight: 500; text-align: left; line-height: 1.95; }
.sec-safety__img { margin: 26px -28px 0; width: calc(100% + 56px); max-width: none; }

.sec-feats { margin-top: 40px; }

.sec-cert { padding: 100px 0 0; }
.sec-cert__grid { margin-top: 60px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.sec-cert__card {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 10px 15px rgba(27, 53, 146, 0.05);
  padding: 40px 20px 42px;
  text-align: center;
}
.sec-cert__img { margin: 0 auto; width: 200px; height: 200px; object-fit: contain; }
.sec-cert__cap { margin-top: 26px; font-size: 16px; font-weight: 500; line-height: 30px; }

@media (max-width: 768px) {
  .sec-safety { padding: 64px 0 0; }
  .sec-safety__grid { margin-top: 36px; grid-template-columns: 1fr; gap: 26px; }
  .sec-safety__ttl { font-size: 24px; }
  .sec-safety__txt { font-size: 14px; }
  .sec-safety__img { margin: 20px -24px 0; width: calc(100% + 48px); }

  .sec-feats { margin-top: 24px; }

  .sec-cert { padding: 64px 0 0; }
  .sec-cert__grid { margin-top: 32px; grid-template-columns: 1fr; gap: 22px; }
  .sec-cert__img { width: 160px; height: 160px; }
  .sec-cert__cap { font-size: 15px; line-height: 26px; }
}
