/* ============================================================
   機能（NAYOSEL_feature / NAYOSEL_feature_SP 準拠）
   ============================================================ */

.feat-hero { margin-top: 100px; }
.feat-hero img { margin: 0 auto; }

.feats { padding: 38px 0 0; }
.feat { margin-top: 100px; }
.feat:first-child { margin-top: 0; }
.feat__badge {
  display: inline-flex;
  align-items: baseline;
  border-radius: 6px;
  background: var(--ink);
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  padding: 2px 14px 3px 16px;
}
.feat__badge-num { font-size: 22px; font-weight: 500; }
.feat__row { margin-top: 20px; display: grid; grid-template-columns: 430px 1fr; gap: 30px; }
.feat__ttl { font-size: 23px; font-weight: 500; line-height: 1.65; letter-spacing: 0.02em; }
.feat__txt { font-size: 16px; font-weight: 400; line-height: 29px; letter-spacing: 0.01em; }
.feat__img { margin-top: 46px; }
.feat__img img { margin: 0 auto; }

.feat-ops { margin-top: 0; padding-top: 90px; }

@media (max-width: 768px) {
  .feat-hero { margin-top: 56px; }
  .feat-hero img { max-width: 300px; }

  .feats { padding-top: 24px; }
  .feat { margin-top: 64px; }
  .feat__row { grid-template-columns: 1fr; gap: 14px; margin-top: 16px; }
  .feat__ttl { font-size: 19px; }
  .feat__txt { font-size: 14px; line-height: 26px; }
  .feat__img { margin-top: 28px; }
  .feat__img img { max-width: 300px; }

  .feat-ops { padding-top: 56px; }
}
