.cta-box-pyon { 
  margin: 2.5rem 0 3rem; 
  background: linear-gradient(180deg,#f7fbff 0%, #ffffff 100%);
  border: 1px solid #e6eef6; 
  border-radius: 16px; 
  box-shadow: 0 6px 18px rgba(20,60,90,.08);
  overflow: hidden;
}
.cta-box-pyon .inner { padding: 2rem 1.25rem; max-width: 980px; margin: 0 auto; }
.cta-box-pyon h3 { margin: 0 0 .25rem; font-size: 1.35rem; line-height: 1.6; }
.cta-box-pyon .lead { margin: 0 0 1.25rem; color: #556270; }

/* Button */
.cta-btn-primary { 
  display: block; width: fit-content; margin: .75rem auto 1rem; 
  padding: .9rem 1.5rem; 
  background: #2bb673; color: #fff !important; text-decoration: none; 
  border-radius: 10px; font-weight: 700; letter-spacing: .02em; 
  box-shadow: 0 4px 12px rgba(43,182,115,.35); 
  transition: transform .05s ease, box-shadow .2s ease; 
  text-align: center; white-space: nowrap;
}
.cta-btn-primary:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(43,182,115,.4); }

/* Links grid */
.cta-info-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem .75rem; margin: 1.25rem 0 0; align-items: stretch; grid-auto-flow: row dense; }
.cta-item { display: flex; align-items: center; gap: .5rem; padding: .6rem .7rem; border-radius: 10px; text-decoration: none; color: #1b4570; background: #f5f9ff; border: 1px solid #e6eef6; transition: background .2s ease, transform .05s ease; height: 100%; align-self: stretch; min-height: 4.25rem; }
.cta-item:hover { background: #eef6ff; transform: translateY(-1px); }
.cta-item .icon { width: 1.25rem; height: 1.25rem; display: inline-flex; align-items: center; justify-content: center; font-size: 1.05rem; }
/* WordPress 自動改行の <br> をグリッド内で無効化 */
.cta-info-grid br { display: none; }

/* Address block */
.cta-address { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px dashed #dbe7f0; color: #44515c; font-size: 1rem; line-height: 1.9; font-variant-numeric: tabular-nums; }
.cta-address p { margin: .2rem 0; display: grid; grid-template-columns: max-content 1fr; column-gap: .75em; align-items: baseline; }
.cta-address .label { color:#6b7f8d; }
.cta-address p.note { display:none !important; }

/* Harmonize link color inside CTA */
.cta-box-pyon a { color: #145ea8; }
.cta-box-pyon a:hover { color: #0d4782; }

/* Responsive */
@media (min-width: 640px) { .cta-box-pyon .inner { padding: 2.25rem 2rem; } }
@media (min-width: 768px) { .cta-info-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (min-width: 1024px) { .cta-info-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
