/* 전체 영역 */
#calibApplyFlow {
   margin-top: 80px;
}

#calibApplyFlow article {
   max-width: 1200px;
   margin: 0 auto;
   padding: 20px 0px;
}

/* 메인 제목 */
#calibApplyFlow article > header h1 {
   font-size: 36px;
   font-weight: 800;
   text-align: center;
   position: relative;
   width: 100%;
   border-bottom: 1px solid #f2f2f2;
   padding-bottom: 20px;
}

#calibApplyFlow article > header::after {
   /* content: "";
   display: block;
   width: 180px;
   height: 3px;
   margin: 20px auto 0;
   border-radius: 3px;
   background: linear-gradient(
      to right,
      rgba(255, 122, 0, 0) 0%,
       rgba(255, 122, 0.3) 20%,
       rgba(0, 123, 255, 0.5) 80%,
       rgba(0, 123, 255, 0) 100% 
   );
   position: absolute;
   bottom: -10px; */
}
#calibApplyFlow article > header::after {
   content: "";
   position: absolute;
   width: 40px;
   height: 3px;
   bottom: 8px;
   left: 50%;
   margin-left: -20px;
   background-color: var(--maincolor);
}

#calibApplyFlow section {
   margin-bottom: 80px;
   text-align: center;
}
#calibApplyFlow header {
   display: flex;
   justify-content: center;
   align-items: center;
   margin-bottom: 80px;
   gap: 20px;
   position: relative;
}
#calibApplyFlow header img {
   max-width: 140px;
}

/* 본문 내용 */
.calibration_process {
   max-width: 1200px;
   margin: auto;
   line-height: 1.7;
}

.calibration_process h2 {
   margin-top: 100px;
   font-size: 24px;
   /* border-bottom: 2px solid #ddd; */
   padding-bottom: 10px;
   text-align: left;
}
.calibration_process h2::first-letter {
   /* color: red; */
   font-weight: bold;
}

.calibration_process h3 {
   margin-top: 40px;
   margin-bottom: 20px;
   font-size: 20px;
}

.process_desc {
   margin-bottom: 20px;
   color: #555;
}

/* 절차 flow */

.process_flow {
   display: flex;
   flex-wrap: wrap;
   gap: 15px;
   margin-bottom: 40px;
}

.step {
   flex: 1;
   min-width: 160px;
   padding: 20px;
   text-align: center;
   border: 1px solid #ddd;
   border-radius: 6px;
   background: #fafafa;
   font-size: 14px;
   position: relative;
}

/* 화살표 */

.step:not(:last-child)::after {
   content: "→";
   position: absolute;
   right: -12px;
   top: 50%;
   transform: translateY(-50%);
   font-size: 18px;
   color: #999;
}

/* 다운로드 */

.download_box {
   display: flex;
   gap: 60px;
   margin-top: 20px;
   justify-content: center;
}

.download_btn {
   display: inline-block;
   padding: 12px 24px;
   border-radius: 5px;
   text-decoration: none;
   color: white;
   font-weight: 600;
}

.download_btn:first-child {
   background: #1f9d55;
}

.download_btn {
   background: #e3342f;
}

.download_btn:first-child:hover {
   background: #146537;
   color: #fff;
}

.download_btn:hover {
   background: #a62622;
   color: #fff;
}

/* 정보 박스 */

.info_box {
   border: 1px solid #ddd;
   padding: 20px;
   background: #fafafa;
   margin-top: 15px;
}

.text_block {
   margin-top: 10px;
}
.process_flow_box {
   padding: 40px 30px;
   border-radius: 10px;

   background: linear-gradient(
      135deg,
      rgba(0, 0, 0, 0.02),
      rgba(0, 0, 0, 0.05)
   );

   border: 1px solid #e5e5e5;

   margin: 30px 0;
}

.process_flow {
   display: flex;
   flex-wrap: wrap;
   gap: 20px;
   align-items: stretch;
}

.step {
   flex: 1;
   min-width: 160px;
   text-align: center;
   padding: 20px 15px;

   background: white;
   border-radius: 8px;

   border: 1px solid #e6e6e6;

   position: relative;

   transition: all 0.3s;
}

.step:hover {
   transform: translateY(-4px);
   box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
}

/* 아이콘 */

.icon {
   width: 60px;
   height: 60px;
   margin: 0 auto 10px;
   display: flex;
   align-items: center;
   justify-content: center;
   background: #ff7101;
   border-radius: 50%;
}
.icon.icon2 {
   background: #1f3a5f;
}

.icon svg {
   width: 28px;
   height: 28px;

   stroke: #fff;
   stroke-width: 2.2;

   fill: none;

   stroke-linecap: round;
   stroke-linejoin: round;
}
.flow_icon {
   width: 70px;
   height: 70px;
   border-radius: 50%;
   background: #1f3a5f;
   display: flex;
   align-items: center;
   justify-content: center;
}

.step p {
   font-size: 14px;
   line-height: 1.5;
   margin-bottom: 0;
}

/* 화살표 */

.step:not(:last-child)::after {
   content: "→";

   position: absolute;
   right: -14px;
   top: 50%;

   transform: translateY(-50%);

   color: #bbb;
   font-size: 18px;
}

/* 모바일 */

@media (max-width: 768px) {
   .process_flow {
      flex-direction: column;
   }

   .step:not(:last-child)::after {
      display: none;
   }
}

/* 모바일 */

@media (max-width: 768px) {
   .process_flow {
      flex-direction: column;
   }

   .step:not(:last-child)::after {
      display: none;
   }
}

@media (max-width: 500px) {
   .download_box {
      flex-direction: column;
      gap: 20px;
      word-break: keep-all;
   }
   #calibApplyFlow article > header h1 {
      font-size: 28px !important;
   }
   #calibApplyFlow article > header h1.en {
      font-size: 20px !important;
      letter-spacing: -1px;
   }
   #calibApplyFlow header {
      gap: 10px;
   }
   #calibApplyFlow header img {
      max-width: 80px;
   }
}
