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

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

/* 메인 제목 */
#companyintro article > header h1 {
   font-size: 36px;
   font-weight: 800;
   text-align: center;
   position: relative;
}

#companyintro article > header::after {
   content: "";
   position: absolute;
   width: 40px;
   height: 3px;
   bottom: 0px;
   left: 50%;
   margin-left: -20px;
   background-color: var(--maincolor);
}

#companyintro section {
   margin-bottom: 80px;
}
#companyintro section.table {
   overflow: auto;
}
#companyintro header {
   display: flex;
   justify-content: center;
   align-items: center;
   margin-bottom: 80px;
   gap: 20px;
   position: relative;
   border-bottom: 1px solid #f2f2f2;
   padding-bottom: 20px;
}
#companyintro header img {
   max-width: 140px;
}

/* ===== 상단 소개 영역 ===== */
#companyintro section:first-of-type > div {
   display: grid;
   /* grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); */
   /* 2칸 고정 */
   /* grid-template-columns: 1fr 1fr;  */
   grid-template-columns: 400px 1fr;
   gap: 60px;
}

/* 좌측 이미지 */
#companyintro section:first-of-type > div > div:first-child {
   text-align: center;
}
/* 우측 텍스트 */
#companyintro section:first-of-type > div > div:last-child {
}

#companyintro section:first-of-type img {
   width: 100%;
   max-width: 360px;
   height: auto;
   border-radius: 12px;
}

#companyintro section:first-of-type h2 {
   font-size: 28px;
   margin-bottom: 20px;
}

#companyintro section:first-of-type p {
   line-height: 1.7;
   color: #555;
   word-break: keep-all;
}
#companyintro .sns {
   display: flex;
   align-items: center;
   justify-content: flex-start;
   gap: 10px;
}

/* ===== 회사개요 표 ===== */
#companyintro section table {
   width: 100%;
   border-collapse: collapse;
   margin-top: 40px;
   border-top: 1px solid #e5e5e5;
}

#companyintro section th,
#companyintro section td {
   padding: 14px 18px;
   border-bottom: 1px solid #e5e5e5;
   text-align: left;
}

#companyintro section th {
   background: #f8f9fb;
   font-weight: 600;
}
#companyintro section th:first-child {
   min-width: 100px;
}
#companyintro .companyintro_logo {
   margin-top: 40px;
   max-width: 200px !important;
   height: auto;
   float: right;
}
#companyintro .sns h5 {
   margin-bottom: 0;
   transition: all 0.3s;
}
#companyintro .sns h5.ft_ico {
   /* transform: scale(0.9); */
   background: none !important;
}
#companyintro .sns h5:hover {
   transform: translateY(-2px);
}
#companyintro .sns .gohome {
   margin-right: 0;
}
#companyintro .sns .gnb_1da.gohome:hover {
   border: 2px solid var(--maincolor);
   background-color: #fff;
   color: #222 !important;
   font-weight: normal;
   transform: translateY(-2px);
}

/* ===== 모바일 반응형 ===== */
@media (max-width: 969px) {
   #companyintro section:first-of-type > div {
      grid-template-columns: 300px 1fr;
      gap: 30px;
   }
}
@media (max-width: 768px) {
   #companyintro section:first-of-type > div {
      /* flex-direction: column; */
      /* gap: 30px; */
   }

   #companyintro article > header h1 {
      font-size: 28px;
   }

   #companyintro section:first-of-type h2 {
      font-size: 22px;
   }
   #companyintro section:first-of-type > div > div:first-child {
      flex: 1;
      width: 100%;
   }
   #companyintro section:first-of-type > div {
      grid-template-columns: 1fr; /* 1열로 변경 */
   }
}
@media (max-width: 500px) {
   #companyintro {
      margin-top: 40px;
   }
   #companyintro header img {
      max-width: 80px;
   }
   /* 메인 제목 */
   #companyintro article > header h1 {
      font-size: 26px !important;
   }
}
/* #companyintro 페이지 CSS 끝 ------------ */
