@charset "utf-8";

/* .content_title X */
.sol_title, .effect, .sol_video{
  padding: 100px 0;
}
/* .content_title O */
.process, .solution_ .ability, .example{
  padding: 0 0 100px 0;
}

/* ----- sol_title ----- */
.sol_title{
  padding-top: 0;
  display: flex;
  flex-direction: column;
}
.sol_title p{
  line-height: 1.3;
  font-size: 1.8rem;
  text-align: center;
}
.sol_title p em{
  /* color: #414EAC; */
  font-style: normal;
  font-weight: 600;
}
@media (max-width: 1024px){
  .sol_title p{font-size: 1.5rem;}
}

/* ----- effect ----- */
.effect{
  background-color: #343448;
}
.effect_box{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.effect_box_4{
  grid-template-columns: repeat(2, 1fr);
}
.effect_content{
  border: 1px solid #fff;
  background-color: #ffffff1a;
  display: flex;
  flex-direction: column;
}
.effect_content span{
  margin-bottom: 10px;
  color: #fff;
  font-size: 1.2rem;
}
.effect_content em{
  margin-bottom: 10px;
  color: #FFAE67;
  font-size: 1.8rem;
  font-style: normal;
}
.effect_content p{
  line-height: 1.3;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 200;
}
@media (max-width: 1024px){
  .effect_box{
    grid-template-columns: repeat(2, 1fr);
  }
  .effect_content span, .effect_content p{
    font-size: 1rem;
  }
  .effect_content em{
    font-size: 1.5rem;
  }
}
@media (max-width: 768px){
  .effect_box{
    grid-template-columns: 1fr;
  }
  .effect_content{
    text-align: center;
  }
  .effect_content em{
    text-align: center;
  }
  .effect_content p{
    width: 80%;
    margin: 0 auto;
  }
}

/* ----- sol_video ----- */
.sol_video video{
  width: 100%;
  border-radius: 20px;
}

/* ----- process ----- */
.process_content p{
  line-height: 1.3;
  margin: -3rem auto 0 auto;
  font-size: 1.2rem;
  text-align: center;
}
@media (max-width: 1024px){
  .process_content p{
    margin: -2rem auto 0 auto;
    font-size: 1rem;
  }
}
@media (max-width: 768px){
  .process_content p{
    width: 80%;
    margin: -1rem auto 0 auto;
  }
}
.process_wrap{
  padding-left: 0;
  padding-right: 0;
  display: flex;
  flex-wrap: wrap; /* 줄바꿈 허용 */
  justify-content: center;
  gap: 2rem;
}
.process_step{
  flex: 0 0 calc((100% - 10rem) / 6); /* 기본: 6개 한 줄 */
  min-width: 0;
  margin-top: 2rem;
  padding: 2rem 1rem;
  background-color: #cfd3e9;
  border-radius: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  counter-increment: step-counter;
}
@media (max-width: 1024px) {
  .process_step{
    flex: 0 0 calc((100% - 4rem) / 3); /* gap 2rem × 2 = 4rem */
  }
}
@media (max-width: 768px) {
  .process_step{
    font-size: 1rem;
  }
}
@media (max-width: 500px) {
  .process_step{
    flex: 0 0 100%;
    flex: 0 0 calc((100% - 6rem) / 2);
  }
}
.process_step_repeat{
  background-color: #e9eaeb;
}
.process_step::before{
  content: counter(step-counter, decimal-leading-zero); /* 01, 02, 03... */
  width: 3.8rem;
  height: 3.8rem;
  padding-top: 9px;
  border-radius: 100%;
  background-color: #414EAC;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
  position: absolute;
  top: -1.8rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
.process_step::after{
  content: '→';
  font-size: 1rem;
  position: absolute;
  right: -1.4rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
.process_step:last-child::after {
  content: ''; /* 마지막 화살표 제거 */
}
.process .content_warning{
  margin-top: 2rem;
  color: grey;
  font-size: 0.8rem;
  text-align: center;
}

.process_content .btn_detail{
  margin: 1rem auto;
}
.solution_ .full_img_wrap{
  width: 80%;
  margin: 50px auto;
}
.solution_ .full_img_wrap .full_video{
  width: 100%;
  border: 10px solid #343448;
  border-radius: 20px;
}
.solution_ .full_img{
  width: 100%;
  border: 10px solid #343448;
  border-radius: 20px;
}
.solution_ .full_img_robot{
  width: 100%;
  border: none;
  border-radius: 20px;
}
@media (max-width: 1024px) {
  .full_img_wrap{
    width: 100%;
    margin: 40px auto;
  }
  .solution_ .full_img{
    border: 6px solid #343448;
  }
  .solution_ .full_img_robot{
    border: none;
  }
}
@media (max-width: 768px) {
  .full_img_wrap{
    margin: 30px auto;
  }
}

/* ----- ability ----- */
.solution_ .ability{
  background-color: #F5F6FB;
}

/* ----- ability ----- */
.example .example_wrap{
  display: flex;
  flex-wrap: wrap; /* 줄바꿈 허용 */
  justify-content: center;
  gap: 1rem;
}
.example .example_img{
  flex: 0 0 calc((100% - 3rem) / 4); /* 기본: 6개 한 줄 */
  min-width: 0;
  border-radius: 20px;
}
@media (max-width: 1024px) {
  .example .example_img{
    flex: 0 0 calc((100% - 1rem) / 2);
  }
}

/* ----- example ----- */
.example_explain{
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}
.example_explain_{
  margin-top: 1rem;
}
.example .example_explain_wrap{
  display: flex;
  flex: 0 0 calc((100% - 3rem) / 4);
  flex-direction: column;
  gap: 0.5rem;
}
@media (max-width: 1024px){
  .example .example_explain_wrap{
    flex: 0 0 calc((100% - 3rem) / 4);
  }
}
@media (max-width: 768px){
  .example .example_explain_wrap{
    flex: 0 0 calc((100% - 2rem) / 3);
  }
}
@media (max-width: 500px){
  .example .example_explain_wrap{
    flex: 0 0 calc((100% - 1rem) / 2);
  }
}
.example .example_img{
  width: 100%;
  height: auto;
  border-radius: 20px;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.example .example_text{
  padding: 0.75rem 1rem;
  border-radius: 20px;
  background-color: #F5F6FB;
  text-align: center;
  flex: 1
}
.example .example_explain_ .example_text{
  background-color: #e5e7f3;
}
.example .example_text em{
  margin-bottom: 0.25rem;
  font-style: normal;
  font-weight: 600;
  display: block;
}
.example .example_text p{
  width: 100%;
  margin: 0;
  font-size: 1rem;
}
.example .example_text .btn_detail{
  margin: 0.5rem auto;
  font-size: 1rem;
  text-align: center;
  display: flex;
}