.top-section .con-p { font-weight: 700; font-size: 20px; line-height: 36px; letter-spacing: -2%; padding-bottom: 30px; color: #222; }
.info-cols { display: flex; gap: 7px; margin: 0 0 30px; list-style: none; padding: 0; }
.info-cols > li { flex: 1; display: flex; flex-direction: column; gap: 10px; }
.info-cols .col-head { border: 1px solid #d6dce8; background-color: #f8fbff; height: 70px; border-radius: 5px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; font-size: 16px; font-weight: 700; }
.info-cols .col-head .step { color: #3272db; margin-right: 8px; font-weight: 700; font-size: 14px; line-height: 100%; letter-spacing: 1%; vertical-align: middle; }
.info-cols .col-head .text { flex: 1; color: #333; font-weight: 600; font-size: 18px; line-height: 100%; letter-spacing: -2%; vertical-align: middle; }
.info-cols .col-head .img-box { display: flex; align-items: center; justify-content: center; }
.info-cols li:nth-child(1) .col-head .img-box { width: 25px; height: 28px; }
.info-cols li:nth-child(2) .col-head .img-box { width: 28px; height: 28px; }
.info-cols li:nth-child(3) .col-head .img-box { width: 29px; height: 22px; }
.info-cols .col-body { border: 1px solid #d6dce8; border-radius: 5px; padding: 30px 20px; flex: 1; display: flex; flex-direction: column; min-height: 150px; }
.info-cols .col-body .ul-type-dot > li { color: #333; font-weight: 500; font-size: 15px; line-height: 100%; letter-spacing: -2%; vertical-align: middle; padding-bottom: 12px; }
.info-cols .col-body .center-txt { color: #333; margin: auto; font-weight: 600; font-size: 18px; line-height: 26px; letter-spacing: -2%; text-align: center; vertical-align: middle; }
.flowchart-box { background-color: #f9fafb; border-radius: 8px; padding: 50px 105px; overflow-x: auto; }
.flowchart-inner { display: flex; align-items: center; width: max-content; margin: 0 auto; font-weight: 600; font-style: Bold; font-size: 18px; line-height: 100%; letter-spacing: -2%; vertical-align: middle; }
.fc-list-left { display: flex; flex-direction: column; gap: 15px; position: relative; z-index: 2; }
.fc-row { display: flex; gap: 10px; }
.fc-btn { display: flex; align-items: center; justify-content: space-between; padding: 0 28px; gap: 10px; width: 180px; height: 70px; border-radius: 10px; color: #fff; font-weight: 700; box-sizing: border-box; white-space: nowrap; flex-shrink: 0; }
.fc-btn .img-box { display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.fc-row:nth-child(1) .fc-btn .img-box { width: 33px; height: 15px; }
.fc-row:nth-child(2) .fc-btn .img-box { width: 31px; height: 31px; }
.fc-row:nth-child(3) .fc-btn .img-box { width: 30px; height: 30px; }
.fc-btn .img-box img { width: 100%; height: 100%; object-fit: contain; filter: brightness(0) invert(1); font-size: 0; color: transparent; }
.fc-btn.type-blue { background-color: #00a4e4; }
.fc-btn.type-orange { background-color: #ea8a35; }
.fc-btn.type-navy { background-color: #2b6ca3; }
.fc-card { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 220px; height: 70px; background-color: #fff; border: 1px solid #0d376d99; border-radius: 10px; color: #333; position: relative; z-index: 2; box-sizing: border-box; white-space: nowrap; flex-shrink: 0; padding: 0 28px; }
.fc-row:nth-child(1) .fc-card { border-color: #00a3e999; }
.fc-row:nth-child(2) .fc-card { border-color: #ed903f99; }
.fc-row:nth-child(3) .fc-card { border-color: #3272db99; }
.fc-card .img-box { display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.fc-row:nth-child(1) .fc-card .img-box { width: 31px; height: 30px; }
.fc-row:nth-child(2) .fc-card .img-box { width: 29px; height: 29px; }
.fc-row:nth-child(3) .fc-card .img-box { width: 24px; height: 30px; }
.fc-card .img-box img { width: 100%; height: 100%; object-fit: contain; font-size: 0; color: transparent; }
.fc-connection-group { width: 80px; height: 160px; position: relative; margin: 0; flex-shrink: 0; }
.fc-line { position: absolute; top: 50%; left: 0; width: 80px; border-top: 2px dotted #aaaaaa; transform-origin: left center; z-index: 10; }
.fc-line.line-top { transform: translateY(-80px) rotate(45deg); width: 114px; }
.fc-line.line-mid { transform: translateY(0); width: 80px; }
.fc-line.line-bot { transform: translateY(80px) rotate(-45deg); width: 114px; }
.fc-circle { width: 9px; height: 9px; border: 2px solid #0d376d; background-color: #fff; border-radius: 50%; position: absolute; right: -8px; top: 50%; transform: translateY(-50%); z-index: 20; box-sizing: content-box; }
.fc-line-straight { width: 80px; height: 2px; border-top: 2px dotted #aaaaaa; position: relative; margin: 0; z-index: 10; }
.fc-circle-small { width: 9px; height: 9px; border: 2px solid #0d376d; background-color: #fff; border-radius: 50%; position: absolute; right: -8px; top: -7px; z-index: 20; box-sizing: content-box; }
.fc-center .fc-card .img-box { width: 33px; height: 31px; }
.fc-right .fc-card .img-box { width: 33px; height: 31px; }
.table th.text-center, .table td.text-center { text-align: center; }
.table td.td-left { text-align: left; padding: 20px; }
.table td.vt-top { vertical-align: top; }
.btn-group-counsel { margin-top: 60px; text-align: center; }
.btn-counsel { display: inline-flex; align-items: center; justify-content: center; background-color: #0d376d; color: #fff; width: 265px; height: 56px; border-radius: 50px; text-decoration: none; font-weight: 700; padding: 20px 0; font-size: 16px; line-height: 100%; letter-spacing: -2%; text-align: right; }
@media (max-width: 1024px) {
  .flowchart-box { padding: 40px 30px; }
}
@media (max-width: 768px) {
  .ul-type-dot > li:before { top: 6px; }
  .top-section .con-p { font-size: 16px; line-height: 1.6; padding-bottom: 20px; }
  .info-cols { flex-direction: column; gap: 15px; }
  .info-cols li { gap: 0; }
  .info-cols .col-head { height: 56px; font-size: 16px; }
  .info-cols .col-body { padding: 20px; min-height: auto; max-height: none; }
  .info-cols .col-body .ul-type-dot > li { font-size: 14px; padding-bottom: 8px; }
  .info-cols .col-body .center-txt { font-size: 16px; line-height: 1.4; padding: 20px 0; }
  .flowchart-box { padding: 30px 15px; }
  .fc-list-left { gap: 10px; }
  .fc-btn { width: 120px; height: 44px; padding: 0 10px; font-size: 14px; }
  .fc-card { width: 140px; height: 44px; padding: 0 10px; font-size: 14px; }
  .fc-btn .img-box, .fc-card .img-box { transform: scale(0.7); }
  .fc-connection-group { width: 30px; height: 98px; }
  .fc-line { width: 30px; }
  .fc-line.line-top { transform: translateY(-54px) rotate(61deg); width: 62px; }
  .fc-line.line-mid { transform: translateY(0); width: 30px; }
  .fc-line.line-bot { transform: translateY(54px) rotate(-61deg); width: 62px; }
  .fc-line-straight { width: 30px; }
  .table td.td-left { padding: 15px 10px; }
  .table td.td-left .ul-type-dot > li { font-size: 14px; }
  .btn-group-counsel { margin-top: 40px; }
  .btn-counsel { width: 100%; max-width: 265px; height: 50px; font-size: 15px; }
}