/* content_css */
#about {position: relative; overflow: hidden; text-align: center;}
#about article {position: relative; padding: 0 0 50px;}
#about .sub_inner {position: relative; width: 100%; max-width: 1600px; margin: 0 auto; padding: 0 20px;}

/* font_size */
.fs_56 {font-size: 28px; font-weight: 800; line-height: 1.4; color: #000; font-family: 'Poppins'; letter-spacing: -1px;}
.fs_43 {font-size: 24px; font-weight: 600; line-height: 1.5; letter-spacing: 0.4px;}
.fs_28 {font-size: 22px; font-weight: 700; color: #fff; font-family: 'Poppins';}
.fs_26 {font-size: 20px; font-weight: 700; line-height: 1.5; color: #fff;}
.fs_24 {font-size: 19px; font-weight: 400; line-height: 1.7; color: #333;}
.fs_20 {font-size: 16px; font-weight: 400; line-height: 1.8; color: #fff;}
.fs_18 {font-size: 15px; font-weight: 500; color: #fff;}

#about h2 {margin: 35px auto 20px;}
#about h4 {margin: 0 0 20px;}
#about h4 span {font-size: 24px; font-weight: 800; letter-spacing: 0.3px; line-height: 1.25;}

/* flex */
#about .flex {position: relative; z-index: 2; display: flex; flex-direction: column; gap: 24px; margin-bottom: 30px;}
#about .flex .left p span:nth-of-type(1) {font-family: 'SUIT';}
#about .flex .left p span:nth-of-type(2) {font-weight: 600;}
#about .flex .right img {height: 100%; max-height: 280px;}

/* icon_box_list */
#about .icon_box_list {position: relative; z-index: 1; display: flex; flex-direction: column; gap: 14px; width: 100%; max-width: 1700px; margin: 0 auto; padding: 40px 0 32px; box-sizing: border-box; list-style: none;}
#about .icon_box_list::before {position: absolute; top: 0; left: 50%; z-index: -1; width: calc(100% + 40px); height: 100%; border-radius: 20px; background: #f7f7f7; content: ""; transform: translateX(-50%);}
#about .icon_box_list li {position: relative; display: flex; width: 100%; min-width: 0; height: auto; min-height: 180px; flex: 1; flex-direction: column-reverse; justify-content: space-between; padding: 28px 24px; border: 2px solid #d3d3d3; border-radius: 11px; background: #fff; box-sizing: border-box;}
#about .icon_box_list li p {text-align: left; position: relative; font-weight: 600; line-height: 1.5; color: rgba(17, 17, 17, 0.95);}
#about .icon_box_list li p::after {position: absolute; top: -56px; left: 0; width: 26px; height: 2px; background: #dededd; content: "";}
/* .bot */
#about .icon_box_list li .bot span {font-weight: 700; line-height: 1; color: rgba(228, 228, 227, 0.95); font-family: 'Poppins'; margin: 0 0 18px 0; }
#about .icon_box_list li .bot {display: flex; align-items: flex-end; justify-content: space-between;}
#about .icon_box_list li .bot i {display: block;}
#about .icon_box_list li .bot i img {transition: transform 0.4s ease; height: 48px;}
#about .icon_box_list li .bot img {display: block; max-width: 100%; height: auto; object-fit: contain;}
#about .icon_box_list li:hover .bot i img {transform: rotateY(180deg);}

/* gray_box */
#about .gray_box {width: 100%; margin-top: 36px; padding: 20px; border-radius: 14px; background: #f7f7f7; box-sizing: border-box;}
#about .gray_box > p {display: flex; align-items: center; gap: 8px; margin: 0 0 20px; font-weight: 700; line-height: 1.6; color: rgba(0, 0, 0, 0.95);}
#about .gray_box > p::before {display: block; height: 20px; flex: 0 0 3px; background: #ed6f20; content: "";}
#about .gray_box ul {display: grid; grid-template-columns: 1fr; gap: 10px; margin: 0; padding: 0; list-style: none;}
#about .gray_box li {position: relative; padding-left: 12px; color: rgba(51, 51, 51, 0.95); text-align: left;}
#about .gray_box li span {font-weight: 600;}
#about .gray_box li::before {position: absolute; top: 12px; left: 0; width: 4px; height: 4px; background: #ed6f20; content: "";}

/* history_list */
#about .sec3 h2 {margin: 0 auto 32px; text-align: center;}
#about .history_list {position: relative; display: flex; flex-direction: column; justify-content: flex-start; gap: 32px; margin: 0; padding: 0 0 0 42px; list-style: none; --progress: 0%; text-align: left;}
#about .history_list::before, #about .history_list::after {position: absolute; top: 10px; bottom: 0; left: 15px; width: 2px; content: "";}
#about .history_list::before {background: #dededd;}
#about .history_list::after {background: #ed6f20; transform: scaleY(var(--progress, 0)); transform-origin: top;}

/* history_list li */
#about .history_list li {position: relative; min-width: 0;}
#about .history_list li::before {position: absolute; top: 7px; left: -32px; z-index: 2; width: 12px; height: 12px; border-radius: 50%; background: #006eb3; content: ""; transition: background-color 0.3s, opacity 0.3s;}
#about .history_list li::after {position: absolute; top: -1px; left: -40px; z-index: 1; width: 28px; height: 28px; border-radius: 50%; background-color: #efeff0; content: ""; transition: background-color 0.3s, opacity 0.3s;}
#about .history_list li.is-active::before {background-color: #ed6f20;}
#about .history_list li.is-active::after {opacity: 0.2; background-color: #ed6f20;}

/* history_list - txt */
#about .history_list li strong {display: block; color: rgba(0, 0, 0, 0.95); font-family: 'Poppins'; font-size: 28px; font-weight: 700; line-height: 1.1; transition: color 0.3s;}
#about .history_list li time {display: block; padding: 4px 0; color: rgba(140, 140, 140, 0.95); font-family: 'Poppins'; font-size: 16px; font-weight: 500; line-height: 1.6;}
#about .history_list li h3 {position: relative; padding-top: 12px; color: rgba(0, 0, 0, 0.95); font-size: 18px; font-weight: 600; line-height: 1.5;}
#about .history_list li h3::before {position: absolute; top: 0; left: 0; width: 45px; height: 2px; background: #dededd; content: ""; transition: background-color 0.3s;}
#about .history_list li p {margin-top: 6px; color: rgba(51, 51, 51, 0.95); font-size: 16px; line-height: 1.6;}

/* history_list - active */
#about .history_list li.is-active::before {border-color: #fde8dc; background: #ed6f20;}
#about .history_list li.is-active strong {color: #ed6f20;}
#about .history_list li.is-active h3::before {background: #ed6f20;}

#about br:not(.space) {display: none;}

@media (max-width: 420px) {
  .fs_24 {font-size: 16px;}
  #about .gray_box > p {margin: 0 0 10px;}
  #about .gray_box > p::before {height: 20px; flex: 0 0 3px;}
  #about .icon_box_list li p::after {top: -60px; width: 22px;}
}
