
.con-section {margin-bottom: 100px;}
.con-section:last-child {margin-bottom:0;}
.sub-title-wrap {margin-bottom: 50px;}
.sub-title-wrap h3 {font-size:var(--fs40); font-weight:700; color:var(--c_base3);}
.sub-title-wrap p {font-size:var(--fs18); margin-top:10px;}
.con-section h4 {font-size:var(--fs28); font-weight:600; color:var(--c_base3); margin:0 0 30px;}

.bat-box {padding: 20px; margin:0 0 40px; background-color: #F7F7F7;border-radius: 5px;border: 1px solid var(--border1);}
.bat-box p:first-child {font-size:var(--fs18); margin-bottom:10px; color:var(--c_base1);}
.bat-box p+p {}

/* 법률 그리드 */
.law-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.law-item { background: #f8f9fa; border: 1px solid #eee; padding: 15px; text-align: center; border-radius: 8px; font-size: var(--fs15); transition: 0.3s; }
.law-item:hover { border-color: var(--c_base1); color: var(--c_base1); transform: translateY(-3px); }

/* 프로세스 단계 */
.process-licens {
    display: flex;
    align-items: stretch;
    gap: 0;
    padding-bottom: 4px;
  }
  .proc-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    min-width: 110px;
    position: relative;
  }
  .proc-item:not(:last-child)::after {
    content: '›';
    position: absolute;
    right: -8px;
    top: 22px;
    font-size: var(--fs22);
    color: #b0c8cc;
    z-index: 2;
  }
  .proc-num {
    width: 80px; height: 80px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: var(--fs16); font-weight: 700;
    color: white;
    margin-bottom: 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,.18);
    position: relative;
    z-index: 1;
    transition: transform .2s;
  }
  .proc-item:hover .proc-num { transform: scale(1.12); }
  .p1 .proc-num { background: linear-gradient(135deg, #e07b39, #f0a060); }
  .p2 .proc-num { background: linear-gradient(135deg, #3d9e6b, #5ac286); }
  .p3 .proc-num { background: linear-gradient(135deg, #1a7a8a, #2faabb); }
  .p4 .proc-num { background: linear-gradient(135deg, #0f4e7a, #1a6fa8); }
  .p5 .proc-num { background: linear-gradient(135deg, #2e8b57, #4db37a); }
  .p6 .proc-num { background: linear-gradient(135deg, #3d6fa8, #5a90cc); }
  .p7 .proc-num { background: linear-gradient(135deg, #4a6070, #6a8090); }
  .proc-label {
    font-size: var(--fs16);
    font-weight: 600;
    text-align: center;
    color:#666;
    line-height: 1.4;
  }
/*
.process-licens { display: flex; justify-content: space-between; position: relative; gap: 10px; }
.process-licens::before { content: ''; position: absolute; top: 25px; left: 0; width: 100%; height: 2px; background: #eee; z-index: 1; }
.step { position: relative; z-index: 2; flex: 1; text-align: center; }
.step span { display: inline-block; width: 50px; height: 50px; line-height: 50px; background: #fff; border: 2px solid #ddd; border-radius: 50%; font-weight: 700; color: #999; margin-bottom: 15px; transition: 0.3s; }
.step p { font-size: var(--fs15); line-height: 1.3; color: #333; font-weight: 500; }
.step.active span { background: var(--c_base1); border-color: var(--c_base1); color: #fff; box-shadow: 0 4px 10px rgba(60,126,210,0.3); }
*/

@media screen and (max-width: 767px) {
    .proc-num {width:60px; height:60px;}
}
/* 업무 카드 */
.work-card-wrap { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.work-card { background: #fff; border: 1px solid #DFE4EB; padding: 35px; border-radius: 15px; position: relative; }
.work-card h5 { font-size: var(--fs20); color: var(--c_base3); margin-bottom: 20px; font-weight: 600; padding-bottom: 15px; border-bottom: 2px solid var(--c_base1); }
.work-card ul li { position: relative; padding-left: 15px; margin-bottom: 10px; font-size: var(--fs15); list-style: none; }
.work-card ul li::before { content: ''; position: absolute; left: 0; top: 10px; width: 4px; height: 4px; background: var(--c_base2); border-radius: 50%; }

/* 테이블 */
.custom-table { width: 100%; border-top: 2px solid var(--c_base3); border-collapse: collapse; }
.custom-table th { background: #f9fafb; padding: 15px 30px; border-bottom: 1px solid #ddd; font-size: var(--fs16); color: #333; }
.custom-table td { padding: 15px 30px; border-bottom: 1px solid #eee; text-align: center; font-size: var(--fs15); }
.custom-table td.left {text-align:left;}

/* 반응형 대응 */
@media screen and (max-width: 1199px) {
    .law-grid { grid-template-columns: repeat(2, 1fr); }
    .work-card-wrap { grid-template-columns: 1fr; }
    .process-licens { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
    .process-licens::before { display: none; }
}

@media screen and (max-width: 767px) {
    .con-section { margin-bottom: 60px; }
	.con-section h4 {margin:0 0 10px;}
	.sub-title-wrap {margin-bottom:30px;}
    .process-licens { grid-template-columns: repeat(2, 1fr); }
	.work-card {padding:20px;}
	.work-card h5 {margin-bottom:12px; padding-bottom:10px;}
}






/* 컨설팅 섹션 공통 */
.consulting-section .h3-tit { font-size: var(--fs32); font-weight: 700; margin-bottom: 30px; position: relative; padding-left: 20px; }
.consulting-section .h3-tit::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 6px; height: 24px; background: var(--c_base1); border-radius: 3px; }

.consulting-section .h4-tit { font-size: var(--fs20); font-weight: 600; color: #333; margin-bottom: 15px; display: flex; align-items: center; }
.consulting-section .h4-tit::before { content: '■'; font-size: 14px; color: var(--c_base1); margin-right: 10px; }

.desc-box { background: var(--bg1); padding: 25px 30px; border-radius: 10px; margin-bottom: 40px; }
.desc-box .txt { font-size: var(--fs17); color: #444; line-height: 1.6; }

.agency-box { margin-bottom: 40px; }
.agency-list { display: flex; gap: 15px; flex-wrap: wrap; }
.agency-list li { background: #fff; border: 1px solid var(--border1); padding: 10px 25px; border-radius: 50px; font-size: var(--fs16); color: #555; font-weight: 500; }

/* 프로세스 공통 레이아웃 */
.process-wrap { display: flex; gap: 10px; margin-top: 20px; position: relative; }
.process-item { position: relative; flex: 1; min-height: 160px; padding: 67px 20px 20px; border-radius: 15px; color: #fff; text-align: center; transition: transform 0.3s; }
.process-item:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); }

/* 화살표 모양 구현 (Clip-path) */
@media screen and (min-width: 768px) {
    /* .process-item { clip-path: polygon(0% 0%, calc(100% - 15px) 0%, 100% 50%, calc(100% - 15px) 100%, 0% 100%, 15px 50%); } */
    /* .process-item:first-child { clip-path: polygon(0% 0%, calc(100% - 15px) 0%, 100% 50%, calc(100% - 15px) 100%, 0% 100%); border-radius: 15px 0 0 15px; } */
    /* .process-item:last-child { clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 15px 50%); border-radius: 0 15px 15px 0; } */
}

.process-item .num { position: absolute; top: 20px; left: 50%; transform: translateX(-50%); width: 32px; height: 32px; background: rgba(255,255,255,0.2); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: var(--fs14); }
.process-item .tit { font-size: var(--fs17); font-weight: 600; margin-bottom: 8px; line-height: 1.3; }
.process-item .sub { font-size: var(--fs13); opacity: 0.9; font-weight: 300; }

/* 프로세스 컬러 */
.bg-orange { background: #F48C06; }
.bg-blue { background: #3C7ED2; }
.bg-light-blue { background: #5692E0; }
.bg-green { background: #48A396; }
.bg-navy { background: #0B2648; }
.bg-teal { background: #348F83; }
.bg-gray { background: #666666; }

/* 피드백 루프 (수정 및 보완) */
.feedback-loop { position: absolute; bottom: -35px; left: -50%; width: 100%; border: 2px dashed #ccc; border-top: none; height: 20px; border-radius: 0 0 20px 20px; display: flex; align-items: center; justify-content: center; color: #888; font-size: var(--fs13); }
.feedback-loop::before { content: '←'; margin-right: 5px; }
.feedback-loop::after { content: '→'; margin-left: 5px; }

/* 반응형 처리 */
@media screen and (max-width: 1199px) {
    .process-wrap { flex-wrap: wrap; }
    .process-wrap.step4 .process-item { flex: 0 0 calc(50% - 5px); min-height: 140px; clip-path: none !important; border-radius: 10px !important; }
}

@media screen and (max-width: 767px) {
    .process-wrap.step6 .process-item { flex: 0 0 100%; min-height: auto;}
    .feedback-loop { display: none; } /* 모바일 가독성을 위해 생략 */
}
