@charset "UTF-8"; 
/* #### Main #### */
.section__banner {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 800px;
  background: url(../_img/main_banner.png) no-repeat center center / cover;
}
.section__banner h1 {
  text-align: center;
  font-size: 50px;
  font-weight: 500;
  color: #fff;
  background: -webkit-linear-gradient(#FFFFFF, #CFE1FF);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.section__banner h1 b {
  font-weight: 600;
}
.section__banner p {
  text-align: center;
  font-size: 18px;
  color: #D0D6E0;
  font-weight: 600;
  margin-top: 20px;
  line-height: 1.6;
}
.section__future {
  background-color: #F2F4F8;
  padding: 120px 0;
}
.main_title {
  text-align: center;
}
.main_title span.tit_point {
  font-size: 16px;
  font-weight: 700;
  color: #163E64;
  line-height: 1.6;
}
.main_title h1 {
  margin: 16px 0 24px;
}
.main_title p {
  font-size: 16px;
  font-weight: 500;
  color: #767676;
}
.future__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 40px;
}
.future__list .future__item {
  flex: 1;
  padding: 40px 24px;
  background-color: #fff;
  min-width: 334px;
  min-width: 334px;
}
.future__item .thum {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 240px;
  background-color: #F2F4F8;
}
.future__item .thum img {
  width: 168px;
  aspect-ratio: 1/1;
  object-fit: contain;
}
.future__item .desc {
  margin-top: 24px;
  text-align: center;
}
.future__item .desc h2 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  color: #111;
  margin-bottom: 12px;
}
.future__item .desc p {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #505050;
}
.section__solution {
  background-color: #fff;
  padding: 120px 0;
}
.solution__list {
  margin-top: 40px;
}
.solution__list .solution__item {
  background-color: #F2F4F8;
  padding: 32px;
  display: flex;
  align-items: center;
  gap: 48px;
  margin-bottom: 40px;
}
.solution__item .thum {
  flex: 1;
  height: 380px;
  overflow: hidden;
}
.solution__item .thum img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.solution__item .desc {
  flex: 0.79;
}
.solution__item .desc .solution_point {
  font-size: 16px;
  font-weight: 500;
  color: #999;
  line-height: 1.25;
}
.solution__item .desc h2 {
  margin: 16px 0 20px;
  font-size: 28px;
  font-weight: 700;
  color: #111;
  line-height: 1.25;
}
.solution__item .desc p {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: #505050;
}
.solution__item .desc .btn_view {
  display: inline-block;
  margin-top: 32px;
  padding: 0 24px;
  background-color: #fff;
  color: #111111;
  font-size: 16px;
  font-weight: 700;
  height: 48px;
  line-height: 48px;
  border: 1px solid #E5E5EC;
}
.section__contact {
  padding: 160px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: url(../_img/main_contact.png) no-repeat center center / cover;
}
.section__contact h1 {
  color: #fff;
  font-weight: 400;
  margin-bottom: 40px;
  line-height: 1.4;
}
.section__contact h1 b {
  font-weight: 700;
}
.section__contact .btn_contact {
  font-weight: 700;
  padding: 0 24px;
}
@media screen and (max-width:767px) {
  .section__banner {
    height: 640px;
  }
  .section__banner h1 {
    font-size: 28px;
  }
  .section__banner p {
    font-size: 16px;
  }
  .section__future {
    padding: 80px 0;
  }
  .main_title span.tit_point {
    font-size: 14px;
  }
  .main_title p {
    font-size: 14px;
  }
  .future__list {
    flex-direction: column;
  }
  .future__item .thum {
    height: 160px;
  }
  .future__item .thum img {
    width: 120px;
  }
  .future__item .desc {
    margin-top: 20px;
  }
  .future__item .desc h2 {
    font-size: 18px;
  }
  .future__item .desc p {
    font-size: 14px;
  }
  .section__solution {
    padding: 80px 0;
  }
  .solution__list .solution__item {
    padding: 24px;
    gap: 24px;
    flex-direction: column;
  }
  .solution__list .solution__item:nth-child(2) {
    flex-direction: column-reverse;
  }
  .solution__item .thum {
    flex: none;
    width: 100%;
    height: 160px;
  }
  .solution__item .desc {
    flex: none;
    width: 100%;
  }
  .solution__item .desc .solution_point {
    font-size: 14px;
    font-weight: 600;
  }
  .solution__item .desc h2 {
    font-size: 20px;
    margin: 8px 0 16px;
  }
  .solution__item .desc p {
    font-size: 14px;
  }
  .solution__item .desc .btn_view {
    margin-top: 24px;
  }
}
/* #### Vision #### */
.section__vision {
  padding: 140px 0;
}
.section__vision .vision_img {
  width: 100%;
  height: auto;
  margin-top: 40px;
}
.section__vision .vision_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section__energy {
  padding: 100px 0;
  background: url(../_img/vision_energy_bg.png) no-repeat center center / cover;
}
.section__energy .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.vision__inner .section__contact {
  background-image: url(../_img/vision_contact.png);
}
.energy_title .h1_tit {
  color: #fff;
}
.energy_title p {
  margin-top: 24px;
  font-size: 16px;
  color:#D0D6E0;
  line-height: 1.6;
}
.energy_img {
  margin-top: 40px;
  height: 322px;
}
.energy_img img {
  height: 100%;
  object-fit: contain;
}
.energy_text {
  margin-top: 40px;
}
.energy_text p {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.6;
  color: #fff;
}
.energy_text p span {
  color: #00D0FF;
}
@media screen and (max-width:767px) {
  .section__vision {
    padding: 80px 0;
  }
  .section__vision .vision_img {
    height: 160px;
  }
  .section__energy {
    padding: 80px 0;
  }
  .energy_title p {
    font-size: 14px;
  }
  .energy_img {
    height: 300px;
  }
  .energy_text p {
    font-size: 18px;
  }
}
/* #### Solution #### */
.page__header.solution {
  height: 431px;
}
.solution_tab {
  display: none;
}
.solution_tab.on {
  display: block;
}
.section_solution {
  padding: 140px 0;
}
.solution_img {
  width: 100%;
  padding: 56px;
  margin-top: 40px;
  text-align: center;
  background-color: #F2F4F8;
}
.solution_img img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.windforce_img img {
  max-width: 800px;
}
.electric_img img {
  max-width: 992px;
}
.solution-system__list {
  margin-top: 40px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}
.solution-system__item {
  flex: 1;
  padding: 40px 32px;
  align-self: stretch;
  min-width: 380px;
  background-color: #F2F4F8;
}
.solution-system__item span {
  font-size: 24px;
  font-weight: 600;
  color: var(--color-primary);
}
.solution-system__item h4 {
  margin: 12px 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.4;
  color: #111;
}
.solution-system__item p {
  font-size: 16px;
  line-height: 1.6;
  color: #505050;
}
.section_video {
  padding: 100px 0;
  background-color: #F2F4F8;
}
.section_video .video {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  position: relative;
}
.section_video .video iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.section_download {
  background-color: vaR(--color-primary);
  text-align: center;
  padding: 80px 0;
}
.section_download .download__btns {
  display: flex;
  justify-content: center;
  align-items: center;
  /*gap: 8px;*/
  gap: 40px;
}
.download__btns .btn_download {
  display: inline-block;
  padding: 0 24px;
  /*padding: 0 40px 0 30px;*/
  border-radius: 800px;
  height: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #fff;
}
.download__btns .btn_download span {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  padding-left: 28px;
  position: relative;
}
.download__btns .btn_download span::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.download__btns .btn_white {
  background-color: #fff;
}
.download__btns .btn_white span {
  color: var(--color-primary);
}
.download__btns .btn_white span::before {
  background: url(../_img/common/icon_download.svg) no-repeat center / contain;
}
.download__btns .btn_outline {
  background-color: transparent;
}
.download__btns .btn_outline span {
  color: #fff;
}
.download__btns .btn_outline span::before {
  background: url(../_img/common/icon_download_white.svg) no-repeat center / contain;
}
.hybrid_img {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
}
.hybrid_img img {
  max-width: 468px;
}
.hybrid_img p {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-top: 24px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
  background-color: var(--color-primary);
  color: #fff;
  height: 44px;
  padding: 0 16px;
}
@media screen and (max-width:767px) {
  .page__header.solution {
    height: 465px;
  }
  .section_solution {
    padding: 80px 0;
  }
  .solution_img {
    padding: 36px 16px;
  }
  .solution_img img {
    width: 100%;
  }
  .solution-system__list {
    flex-direction: column;
  }
  .solution-system__item {
    padding: 24px;
    width: 100%;
    flex: none;
    min-width: auto;
  }
  .solution-system__item span {
    font-size: 18px;
  }
  .solution-system__item h4 {
    font-size: 18px;
  }
  .solution-system__item p {
    font-size: 14px;
  }
  .section_video {
    padding: 40px 0;
  }
  .section_video .video {
    height: auto;
  }
  .section_download {
    padding: 40px 0;
  }
  .section_download .download__btns {
    flex-direction: column;
    gap: 16px;
  }
  .download__btns .btn_download { 
    height: 40px;
  }
  .download__btns .btn_download span {
    font-size: 14px;
  }
  .hybrid_img p {
    font-size: 12px;
    height: 36px;
    width: 100%;
  }
}
/* #### About #### */
.section_about {
  padding: 140px 0;
}
.about_title {
  text-align: center;
}
.about_title .h1_tit {
  /*font-size: 40px;*/
  font-size: 50px;
  font-weight: 700;
  font-family: "Copperplate Gothic";
}
.about_title p {
  /*font-family: "Caveat";*/
  font-family: "Times New Roman", Times, serif; /* Times New Roman 우선 */
  font-style: italic;                           /* 이탤릭 적용 */
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5;
  /*color: #767676;*/
  color : #666666;
  margin-top: 24px;
}
.about_title p:last-child {
  margin-top: 16px;
}
.about_img {
  margin: 40px auto;
}
.about_img img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.about_text h2 {
  line-height: 1.6;
  margin-bottom: 24px;
  text-align: center;
}
.about_text h2:first-child {
  font-size: 28px;  
}
.about_text h2:last-child {
  margin-bottom: 0;
}
.about_text h2 b {
  color: var(--color-primary);
  font-weight: 700;
}
.section_tpoint {
  padding: 140px 0;
  background-color: #F2F4F8;
}
.about_tpoint {
  display: flex;
  align-items: flex-start;
  gap: 40px;
}

/* 우측 컬럼에 들어간 제휴 안내 블록 여백 및 반응형 정리 */
.tpoint_info .about_affiliates {
    margin-top: 16px;        /* 상단 여백 */
    color: #767676;
}

.tpoint_info .about_affiliates .aff_keti {
    display: flex;
    align-items: center;
    gap: 50px;               /* 이미지-텍스트 간격 */
}
.tpoint_info .about_affiliates .aff_keti img {
    width: 200px;             /* 필요 시 조정 */
    height: auto;
    border-radius: 6px;      /* 살짝 라운드(선택) */
}

.tpoint_title {
  flex: 0.5858;
    margin-top: 50px;
}
.tpoint_title h3 {
  font-size: 25px;
  font-weight: 700;
  line-height: 1.25;
  margin-top: 16px;
}
.tpoint_title p {
font-family: "Franklin Gothic Book","Franklin Gothic",
"ITC Franklin Gothic Std Book","Arial Narrow", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.2;
  color: #767676;
  margin-top: 16px;
}
.tpoint_desc {
  flex: 1;
}
.tpoint_desc .tpoint_img {
  width: 100%;
}
.tpoint_desc .tpoint_img img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.tpoint_desc .tpoint_info {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 40px;
  margin-top: 32px;
}
.tpoint_desc .tpoint_info>div {
  flex: 1;
  min-width: 344px;
  width: calc(50% - 40px);
}
.tpoint_desc .tpoint_info>div h3 {
  font-size: 24px;
  font-weight: 700;
  color: #111;
  line-height: 1.25;
  margin-bottom: 16px;
}
.tpoint_desc .tpoint_info>div p {
  font-size: 16px;
  line-height: 1.6;
  color: #767676;
  word-break: break-all;
}
@media screen and (max-width:767px) {
  .section_about {
    padding: 80px 0;
  }
  .about_title .h1_tit {
    font-size: 30px;
  }

  .about_title p {
    font-size: 14px;
  }
  .about_title p:last-child {
    margin-top: 12px;
  }
  .about_img img {
    height: 160px;
  }
  .about_text h2 {
    margin-bottom: 16px;
  }
  .about_text h2:first-child {
    font-size: 18px;
  }
  .section_tpoint {
    padding: 80px 0;
  }
  .about_tpoint {
    flex-direction: column;
  }

    .aff_keti {
        align-items: center;              /* 이미지 가운데 */
        text-align: center;               /* 텍스트도 가운데 */
    }
  .tpoint_title {
    flex: none;
    text-align: center;
  }
  .tpoint_title p {
    font-size: 14px;
    margin-top: 12px;
  }
  .tpoint_desc {
    flex: none;
    width: 100%;
  }
  .tpoint_desc .tpoint_info {
    flex-direction: column;
    gap: 16px;
  }
  .tpoint_desc .tpoint_info>div {
    flex: none;
    width: 100%;
    min-width: 100%;
  }
  .tpoint_desc .tpoint_info>div h3 {
    font-size: 18px;
    margin-bottom: 8px;
  }
  .tpoint_desc .tpoint_info>div p {
    font-size: 14px;
  }
}
/* #### Contact #### */
.contact__inner {
  padding: 140px 0;
}
.contact_flex_box {
  display: flex;
  align-items: flex-start;
  gap: 40px;
}
.contact_img {
  flex: 1;
}
.contact_img img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.contact_info {
  flex: 1;
  padding-top: 8px;
}
.ceo_info {
  padding-bottom: 24px;
  border-bottom: 1px solid #111111;
  margin-bottom: 24px;
}
.ceo_info .ceo_name {
  display: flex;
  align-items: center;
  gap: 16px;
}
.ceo_info p {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  color: #767676;
}
.ceo_info p.email {
  font-weight: 500;
  margin-top: 8px;
}
.personal_history>div {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 24px;
}
.personal_history>div:last-child {
  margin-bottom: 0;
}
.personal_history>div h3 {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.4;
  color: #111;
  width: 48px;
  flex-shrink: 0;
}
.personal_history>div ul li {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: #505050;
  margin-bottom: 12px;
}
.personal_history>div ul li:before {
  content: '·';
  display: inline-block;
  margin-right: 8px;
}
.personal_history>div ul li:last-child {
  margin-bottom: 0;
}

.bullet-divider {
  border: none;
  border-top: 1px dotted #bbb;
  margin: 12px 0;
}

/* Mobile */
@media screen and (max-width:768px) { 
  .contact__inner {
    padding: 80px 0;
  }
  .contact_flex_box {
    flex-direction: column;
    gap: 24px;
  }
  .contact_img {
    flex: none;
    width: 100%;
  }
  .contact_info {
    flex: none;
    width: 100%;
  }
  .ceo_info p {
    font-size: 14px;
  }
  .personal_history>div {
    gap: 0px;
  }
  .personal_history>div h3{
    font-size: 18px;
  }
  .personal_history>div ul li {
    font-size: 14px;
  }

    .tpoint_info .about_affiliates .aff_keti {
        flex-direction: column;   /* 세로 배치 */
        align-items: center;      /* 가운데 정렬 */
        text-align: center;       /* 텍스트도 가운데 정렬 */
        gap: 12px;                /* 로고-텍스트 간격 줄이기 */
    }

    .tpoint_info .about_affiliates .aff_keti img {
        width: 140px;  /* 모바일에서는 로고 크기 축소 */
    }

    .tpoint_info .about_affiliates .aff_keti figcaption {
        font-size: 14px;
        line-height: 1.6;
    }



}


