
.ds-about-v2__visual{
  position:relative;
  aspect-ratio:4/5;
  background-size:cover;
  background-position:center;
  border-radius:6px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.ds-about-v2__visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(140,10,30,.22));
}

/* ========== サービス ds-services-v2 (v5: 140->110) ========== */
.ds-services-v2{
  padding:110px 24px;
  background:var(--bg-2);
}
.ds-services-v2__inner{
  max-width:1240px;
  margin:0 auto;
}
.ds-services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:34px;
  margin-top:28px;
}
.ds-svc{
  background:#fff;
  border:1px solid var(--line);
  border-radius:6px;
  padding:44px 34px 38px;
  text-align:left;
  position:relative;
  overflow:hidden;
  transition:transform .4s ease,box-shadow .4s ease;
  box-shadow:var(--shadow-soft);
}
.ds-svc::before{
  content:"";
  position:absolute;
  top:0; left:0;
  width:100%; height:3px;
  background:var(--red);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .45s ease;
}
.ds-svc:hover::before{ transform:scaleX(1); }
.ds-svc:hover{
  transform:translateY(-10px);
  box-shadow:var(--shadow);
}
.ds-svc__num{
  font-family:"Noto Serif JP",serif;
  font-size:13px;
  color:var(--red);
  font-weight:800;
  letter-spacing:.3em;
  margin-bottom:14px;
  display:block;
}
.ds-svc__title{
  font-family:"Noto Serif JP",serif;
  font-size:23px;
  line-height:1.45;
  color:var(--ink);
  margin:0 0 16px;
  font-weight:900;
}
.ds-svc__text{
  font-size:13.5px;
  color:var(--ink-soft);
  line-height:1.95;
  margin-bottom:22px;
}
.ds-svc__price{
  display:block;
  font-family:"Noto Serif JP",serif;
  font-size:13px;
  color:var(--ink);
  margin:14px 0 22px;
  padding:10px 14px;
  background:var(--bg-2);
  border-left:3px solid var(--red);
}