/* --- 1. 상단 비주얼 (Company와 동일: 배경은 화면 꽉, 내용만 가운데 고정) --- */
.sub_visual { position: relative; width: 100%; height: 998px; display: flex; align-items: center; padding-top: 226px; box-sizing: border-box; overflow: hidden; }
/* 배경 레이어 (연해지며 교체되는 전환용 2개) */
.sub_visual_bg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 0; background-repeat: no-repeat; background-position: center; background-size: cover; transition: opacity 0.4s ease-out; }
.sub_visual_bg_2 { opacity: 0; }
/* company_intro.css와 동일 구조: visual_txt_area = 1600px 중앙, 텍스트 영역 = 좌측 보더+패딩, 탭 = 그 아래 */
.sub_visual .visual_txt_area { position: relative; z-index: 1; width: 1600px; max-width: 100%; margin: 0 auto; padding-left: 0; padding-right: 0; box-sizing: border-box; color: #fff; font-family: 'Pretendard', sans-serif; font-weight: 600; font-size: 20px; }
.visual_txt_area .text_box { border-left: 1px solid rgba(255, 255, 255, 0.3); padding-left: 50px; }
.visual_txt_area .sub_tit { color: #fff; font-size: 24px; font-weight: 600; font-family: 'Pretendard', sans-serif !important; margin: 0; }
.visual_txt_area .main_tit { font-size: 70px; font-weight: 700; line-height: 1.2; margin: 40px 0; font-family: 'Poppins', sans-serif; }
.visual_txt_area .sub_desc { font-size: 20px; font-weight: 600; color: #FFFFFF; font-family: 'Pretendard', sans-serif; }
/* company_intro와 동일 컨셉: 탭은 콘텐츠 너비만, 스크롤은 래퍼에서 (블러/여백 이슈 방지) */
.product_tab_nav_wrap { display: inline-block; max-width: 100%; margin-top: 115px; border-radius: 100px; overflow: hidden; }
.product_tab_nav { display: inline-flex; width: max-content; background: rgba(255, 255, 255, 0.15); border-radius: 100px; margin-top: 0; }
.tab_btn { border: none; background: transparent; color: #FFFFFF; padding: 20px 30px; font-size: 22px; border-radius: 100px; cursor: pointer; transition: 0.3s; font-family: 'Poppins', sans-serif; font-weight: 500; }
.tab_btn.on { background: #ff6b00; color: #fff; box-shadow: 0 4px 15px rgba(255, 107, 0, 0.3); }
/* 모바일 전용 탭 드롭다운 (PC에서는 숨김) */
.product_tab_dropdown { display: none; }
/* --- 2. 상세 컨텐츠 (Company와 동일: 영역은 화면 꽉, 안에 .inner만 가운데 고정) --- */
.product_detail_content { position: relative; width: 100%; z-index: 10; box-sizing: border-box; }
.tab_panel { display: none; padding: 180px 0 0; }
.tab_panel.active { display: block; animation: fadeIn 0.6s ease; }
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
.text_box { border-left: 1px solid rgba(255, 255, 255, 0.3); padding-left: 50px; }
.tab_panel .inner { max-width: 1600px; width: 100%; margin: 0 auto; box-sizing: border-box; }
.info_top_area { display: flex; justify-content: space-between; align-items: flex-start; position: relative; margin-bottom: 0; /* 여백을 0으로 줄여서 하단과 밀착 */
    z-index: 20; /* 선보다 위에 오도록 설정 */
}
.info_top_area .txt_box h3 { font-size: 70px; font-weight: 600; line-height: 1.2; margin: 60px 0; color: #000; word-break: keep-all; }
.info_top_area .txt_box p { font-size: 20px; line-height: 1.6; color: #777; }
.floating_ring_img { flex: 1; display: flex; justify-content: flex-end; /* 이미지를 클래스 내 우측 정렬 */
    margin-top: -220px; margin-bottom: -160px; /* ★ 중요: 마이너스 마진으로 아래 선에 걸치게 함 */
    position: relative; z-index: 30; /* 선(.products_divider)보다 높은 값 */
}
.floating_ring_img img { width: 100%; max-width: 718px; height: auto; /* 필요시 살짝 회전시켜서 생동감 부여 */
    /* transform: rotate(-5deg); */
}
/* --- 3. Products 구분선 및 배경 박스 섹션 --- */
.products_divider { background: #fff; padding: 70px 0px 50px; border-radius: 40px 40px 0 0; position: relative; z-index: 10; /* 이미지보다 낮게 설정 */
}
.products_divider::before { content: ''; display: block; width: calc(100%); height: 1px; background: #777; position: absolute; top: 40px; /* 선의 위치 */
}
.products_divider h4 { font-size: 30px; font-weight: 700; color: #000; margin: 0; font-family: 'Pretendard'; }
.products_body { background: #fff; }
/* ★ 핵심: 전체 배경 이미지 틀 (배경 이미지는 JS에서 탭/썸네일별로 설정) */
.main_product_display { width: 100%; min-height: 675px; background-repeat: no-repeat; background-position: left center; background-size: cover; border-radius: 15px; overflow: hidden; margin-bottom: 15px; display: flex; align-items: center; }
.prod_info_side { width: 100%; padding: 0 0 0 50%; box-sizing: border-box; }
.prod_info_side h5 { font-size: 48px; font-weight: 600; margin: 30px 0; color: #000; line-height: 1.2; font-family: 'Pretendard'; }
.prod_info_side .main_desc { font-size: 20px; line-height: 1.6; color: #222; margin-bottom: 60px; font-family: 'Pretendard'; font-weight: 600; word-break: keep-all; overflow: visible; /* 줄바꿈 해결을 위한 핵심 수정: 너비 제한 */
    width: 100%; max-width: 680px; /* 시안(image_ce2027.png)의 너비와 일치하도록 조정 */
    display: block; }
.spec_list { list-style: none; padding: 0; }
.spec_list li { font-size: 18px; color: #777; padding-left: 18px; margin-bottom: 20px; position: relative; font-family: 'Pretendard'!important; font-weight: 500; }
.spec_list li::before { content: ''; width: 4px; height: 4px; background: #ff6b00; border-radius: 50%; position: absolute; left: 0; top: 10px; }
/* --- 4. 하단 썸네일 영역 --- */
.thumb-swiper { box-sizing: border-box; padding: 0; width: 100%; }
.thumb-swiper .swiper-wrapper { display: flex; flex-wrap: nowrap; /* 슬라이드가 아래로 떨어지는 것 방지 */
    gap: 15px; margin-bottom: 80px; }
    
.thumb-swiper .swiper-slide { /* width: 25% !important; <--- 이런 코드가 있다면 절대 삭제하세요! */
    height: auto; display: flex; flex-direction: column; }
/* 개별 아이템 너비 및 간격 초기화 */
.swiper-slide.thumb_item { height: auto; display: flex; flex-direction: column; padding: 0 !important; margin: 0 !important; /* Swiper가 spaceBetween만큼의 margin-right를 인라인으로 줄 것입니다. */
    box-sizing: border-box; flex: 1;}
.thumb_slider_wrap { position: relative; padding: 0; width: 100%; /* 너비 100% 확인 */
}
.thumb_item { /* Swiper가 내부적으로 width를 계산하므로 강제 width를 지우거나 auto로 설정 */
    width: auto; flex-shrink: 0; /* 슬라이드 크기 유지 */
    padding: 0 !important; margin: 0 !important; box-sizing: border-box; cursor: pointer; }
.thumb_item .img_w { background-color: #f2f2f2; /* 기본 배경 */
    transition: all 0.4s ease; /* ★ 모든 변화를 0.4초 동안 부드럽게 */
    overflow: hidden; border-radius: 10px; /* 시안에 맞게 조절 */
}
/* 마우스 호버 시 살짝 반응 (선택 사항) */
.thumb_item:hover .img_w { background-color: #e9e9e9; }
/* ★ 활성화(Active) 상태 - 부드럽게 주황색으로 변화 */
.thumb_item.active .img_w { background-color: #ff6b00; }
/* 이미지도 살짝 커지거나 부드럽게 보이게 할 경우 */
.thumb_item .img_w img { transition: transform 0.4s ease; margin: 0 auto;}
.thumb_item.active .img_w img { transform: scale(1.05); /* 활성화 시 이미지만 살짝 확대 */
}
.thumb_item .txt_w strong { display: block; font-size: 20px; font-weight: 600; font-family: 'Pretendard'; color: #000; margin-bottom: 15px; margin-top: 20px; }
.thumb_item .txt_w span { font-size: 18px; color: #777; line-height: 1.4; font-family: 'Pretendard'!important; font-weight: 600; }
/* 4. 버튼 위치 교정 - 이미지 박스의 수직 중앙(90px) 위치 */
.swiper-button-prev, .swiper-button-next { position: absolute; top: 130px; transform: translateY(-50%); /* 정확한 수직 중앙 */
    width: 40px; height: 40px; background-color: #EEEEEE; border-radius: 50%; display: flex; align-items: center; justify-content: center; z-index: 100; cursor: pointer; }
.swiper-button-prev:hover, .swiper-button-next:hover { transform: translateY(-50%) scale(1.1); }
/* Swiper 기본 아이콘 크기 조정 */
.swiper-button-prev::after, .swiper-button-next::after { display: none; /* 화살표가 두 개 겹쳐 보이지 않게 제거 */
}
/* 아이콘 직접 그리기 (CSS 화살표) */
.swiper-button-prev::before, .swiper-button-next::before { content: ''; width: 10px; height: 10px; border-top: 2px solid #333; border-left: 2px solid #333; display: block; margin-top: 0; /* 마진 간섭 제거 */
}
.swiper-button-prev::before { transform: rotate(-45deg) translateX(2px); margin-left: 3px; }
.swiper-button-next::before { transform: rotate(135deg) translateX(2px); margin-right: 3px; }
/* 버튼 위치 고정 */
.swiper-button-prev { left: -64px !important; }
.swiper-button-next { right: -64px !important; }


.thumb_slider_wrap.thumb-grid-mode .swiper-wrapper { margin-bottom: 0 !important; }
.thumb_slider_wrap.thumb-grid-mode .swiper-slide:last-child:nth-child(odd) { grid-column: 1 / -1; max-width: 50%; }

.spec_text_only{font-size:1.2rem;line-height:1.4;text-align:center;padding:2%;background-color:#f5f5f5;}
.spec_image_wrap{margin-bottom:50px;}

.spec_table_wrap .spec_table + .spec_table { margin-top: 24px; }

/* 1440px 이하: 썸네일 슬라이더 prev/next 버튼 숨김 */
@media (max-width:1440px) {
    .thumb_slider_wrap .swiper-button-prev, .thumb_slider_wrap .swiper-button-next { display: none !important; }
}
/* 버튼 비활성화 시 투명도 */
.swiper-button-disabled { opacity: 0.3; }
/* 모바일 전용: 2열 2행 그리드 (Swiper 미사용, 4개 동시 노출) */
.thumb_slider_wrap.thumb-grid-mode .swiper-container { overflow: visible; }
.thumb_slider_wrap.thumb-grid-mode .swiper-wrapper { display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 10px; transform: none !important; margin-bottom: 40px; }
.thumb_slider_wrap.thumb-grid-mode .swiper-slide { width: auto !important; flex-shrink: 0; }
/* 1024px 그리드 모드: 버튼(썸네일 아이템) 안 이미지 가로·세로 가운데 정렬 */
.thumb_slider_wrap.thumb-grid-mode .thumb_item .img_w { display: flex; align-items: center; justify-content: center; }
.thumb_slider_wrap.thumb-grid-mode .thumb_item .img_w img { object-fit: contain; max-width: 100%; max-height: 100%; width: auto; height: auto; }
.thumb_slider_wrap.thumb-grid-mode .swiper-button-prev, .thumb_slider_wrap.thumb-grid-mode .swiper-button-next { display: none !important; }
/* 공통 포인트 컬러 */
.point_clr { display: block; color: #ff6b00; font-family: 'Poppins' !important; font-weight: 600; font-size: 24px; }
/* 팝업 영역 스타일 */
.sub_02_05 .process_section {display: none;}
.process_section { position: relative; width: 100%; overflow: visible; /* 팝업이 섹션 밖으로 살짝 나가도 잘리지 않게 */
}
.process_inner { position: relative; /* 중요: 이 요소를 기준으로 팝업 위치가 계산됨 */
    width: 100%; }
.process_inner .bg_img { width: 100%; height: auto; display: block; }
/* 숫자 버튼 */
.step_btn { position: absolute; width: 3vw; /* 화면 너비에 따라 버튼 크기도 실시간 조절 */
    height: 3vw; min-width: 30px; min-height: 30px; max-width: 60px; max-height: 60px; background: #ff6b00; color: #fff; border-radius: 50%; border: none; font-weight: 600; font-size: 1.2vw; /* 글자 크기도 반응형 */
    cursor: pointer; z-index: 5; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; font-family: 'Pretendard'; }
/* Hover: 살짝 밝아지는 효과 */
.step_btn:hover { background: #ff8533; transform: translate(-50%, -50%) scale(1.1); /* 위치 보정 유지하며 확대 */
}
/* 중요: 버튼의 기준점을 중앙으로 잡기 위해 추가 */
.step_btn { transform: translate(-50%, -50%); }
/* 팝업 패널 - JS(popTop, popLeft) 비율로 공정 이미지 영역 안에 배치 */
.process_popup { position: absolute; width: 420px; padding: 20px; border-radius: 25px; z-index: 500; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.2s ease-out, visibility 0s linear 0.2s; }
.process_popup.is_open { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity 0.2s ease-out; }
.pop_container { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.97); width: 600px; background: #ff6b00; padding: 50px; border-radius: 20px; box-sizing: border-box; box-shadow: 0 0 27px 0 rgba(0, 0, 0, 0.2); transition: transform 0.2s ease-out, opacity 0.2s ease-out; }
.process_popup.is_open .pop_container { transform: translate(-50%, -50%) scale(1); }
.pop_content { background: #ff6b00; border-radius: 15px; overflow: hidden; }
.pop_txt { padding: 20px; text-align: left; }
.pop_txt span { background: #fff; color: #ff6b00; border: 1px solid #ff6b00; border-radius: 50px; padding: 2px 12px; font-size: 16px; }
.pop_txt strong { display: block; margin: 10px 0; font-size: 18px; color: #fff; }
/* 캡처본은 텍스트가 흰색일 수 있음 */

/* 팝업 내부 텍스트 스타일 보정 */
.process_popup .pop_txt { color: #fff; }
/* 팝업 바탕이 주황색일 경우 */

/* 팝업 닫기 버튼 */
.close_pop { position: absolute; top: 20px; right: 20px; width: 60px; height: 60px; background: url('../img/close_pop_btn.png') no-repeat center/contain; /* 이미지 삽입 */
    border: none; cursor: pointer; text-indent: -9999px; /* 기존의 '×' 텍스트를 화면 밖으로 밀어냄 */
    overflow: hidden; z-index: 1001; transition: transform 0.2s; }
.close_pop:hover { transform: scale(1.1); }
.pop_img { width: 100%; border-radius: 10px; overflow: hidden; margin-bottom: 20px; }
.pop_img img { width: 100%; display: block; }
.pop_txt_area { display: flex; align-items: center; gap: 20px; }
.pop_info_row { background: #fff; border-radius: 50px; padding: 5px 15px; display: flex; align-items: center; gap: 10px; margin-top: 10px; }
/* 흰색 알약 모양 라벨 스타일 */
.pop_label { display: inline-flex; /* 또는 flex */
    align-items: center; gap: 12px; background: #fff; color: #ff6b00; padding: 10px 20px; border-radius: 50px; font-weight: 600; font-size: 18px; font-family: 'Pretendard'; white-space: nowrap; }
/* 팝업 설명 텍스트 */
#pop_desc { color: #fff; /* 배경이 주황색이므로 글씨는 흰색 */
    font-size: 18px; margin: 0; word-break: keep-all; font-family: 'Pretendard'; }
/* Specification 섹션 */
.spec_section { padding: 80px 0; background: #fff; }
.spec_section .inner { width: 100%; box-sizing: border-box; }
/* .spec_title_area h4 { font-size: 28px; font-weight: 800; margin-bottom: 40px; color: #000; } */

.spec_table_wrap { width: 100%; overflow: hidden; transition: max-height 0.2s ease-in-out;  /* 펼쳐졌을 때 충분한 높이 */}
.spec_table_wrap.collapsed { max-height: 0; }
.spec_table { width: 100%; border-collapse: collapse; border-top: 1px solid #ff6b00; margin-bottom:40px;}
.spec_table th { background: rgba(255, 107, 0, 0.05); color: #ff6b00; font-size: 20px; font-family: 'Pretendard'; font-weight: 700; padding: 20px 10px; border-bottom: 1px solid #ff6b00; border-right: 1px solid #ff6b00; }
.spec_table td { padding: 20px 20px; text-align: center; font-size: 18px; font-family: 'Pretendard'; font-weight: 400; color: #000; border-bottom: 1px solid #ddd; border-right: 1px solid #ddd; }
.spec_table th:last-child, .spec_table td:last-child { border-right: none; }

.spec_table thead tr:first-child th { text-align: center;}
.spec_table thead tr:last-child th { text-align: center; border-top: none; }
.spec_table thead th[rowspan="2"] { vertical-align: middle; }
.spec_table thead tr th.bdr_r{border-right:1px solid #ff6b00;}

.spec_table_title{color:#ff6b00;margin-bottom:20px;font-size:20px;font-weight:600;}

/* 컨테이너 및 클릭 영역 */
.spec_toggle_btn_wrap { display: flex; /* 가로로 배치할 수 있게 설정 */
    justify-content: center; /* ★ 핵심: 내부 요소를 정중앙으로 보냄 */
    align-items: center; width: 100%; /* 부모의 너비를 다 써야 중앙 계산이 정확함 */
    /* 위아래 여백 */
}
.spec_toggle_container { display: inline-flex; align-items: center; gap: 10px; /* 두 박스 사이의 간격 */
    cursor: pointer; transition: transform 0.2s ease; }
.spec_toggle_container:hover { transform: scale(1.05); }
/* 왼쪽 연회색 텍스트 박스 */
.spec_txt_box { background: #f1f1f1; padding: 20px 40px; border-radius: 50px; display: flex; align-items: center; justify-content: center; }
.spec_txt_box span { font-size: 18px; font-weight: 700; color: #000; font-family: 'Pretendard' !important; }
/* 오른쪽 주황색 원형 박스 */
.spec_icon_box .icon_circle { width: 58px; height: 58px; background: #ff6b00; border-radius: 50%; display: flex; align-items: center; justify-content: center; position: relative; }
/* 아이콘 내부 기호 (-) */
.spec_icon_box .icon_circle::before { content: ''; width: 18px; height: 2px; background: #fff; display: block; }
/* 플러스(+)를 위한 세로선 (접혔을 때만 노출) */
.spec_toggle_container.collapsed .icon_circle::after { content: ''; width: 2px; height: 18px; background: #fff; position: absolute; }
/* Magnified Image Section */
.magnified_section { margin-top: 80px; margin-bottom: 100px; }
.magnified_grid { display: flex; gap: 50px; }
.mag_item { flex: 1; /* 동일한 비율로 나눔 */
}
.mag_item .img_w { width: 100%; aspect-ratio: 16 / 10; /* 이미지 비율 고정 (시안에 맞춰 조절) */
    overflow: hidden; border-radius: 12px; background: #f8f8f8; }
.mag_item .img_w img { width: 100%; height: 100%; object-fit: cover; /* 이미지가 꽉 차게 */
    display: block; }
.mag_label { display: block; margin-top: 20px; font-size: 24px; font-weight: 600; color: #000; font-family: 'Pretendard' !important; }
/* 모바일 대응 */
@media (max-width:1024px) {
    .magnified_grid { flex-direction: column; /* 세로로 나열 */
        gap: 40px; }
    .ag_image_row, .ag_step_bottom { flex-direction: column; align-items: center; }
    .ag_arrow { transform: rotate(90deg); margin: 20px 0; }
}
/* 1. 전체 레이아웃 및 공통 */
.ag_process_wrap {  text-align: left; max-width: 1200px; margin: 50px auto 300px auto; }
.ag_flex_row { display: flex; align-items: flex-start; width: 100%; justify-content: center; }
/* 하단 섹션(2·3·4단계): 기존 레이아웃 유지 + 이미지/라벨 하단 한 줄 정렬 */
.ag_step_container.bottom_step .ag_flex_row { align-items: flex-end; justify-content: space-between; gap: 20px; }
.ag_step_container.bottom_step .ag_card_unit { flex: 1; display: flex; flex-direction: column; align-items: center; min-width: 0; }
/* 이미지 영역: 하단 정렬 유지, 이미지는 원래 크기로 */
.ag_step_container.bottom_step .card_img_box { width: 100%; min-height: 300px; display: flex; align-items: flex-end; justify-content: center; padding: 20px 10px 0; box-sizing: border-box; }
.ag_step_container.bottom_step .card_img_box .ag_icon_arrow { align-self: center; margin: 0 10px; }
.ag_step_container.bottom_step .card_img_box:not(.single) { flex-direction: row; justify-content: center; align-items: flex-end; }
.ag_step_container.bottom_step .card_img_box .sub_unit { align-items: center; }
.ag_step_container.bottom_step .card_img_box .sub_unit img, .ag_step_container.bottom_step .card_img_box.single img { display: block; width: auto; height: auto; }
.ag_step_container.bottom_step .card_img_box .sub_unit img{max-width:usnet;}
.ag_step_container.bottom_step .ag_tri_arrow { flex-shrink: 0; align-self: center; margin-top: 0; }
/* 2. 텍스트 라벨 (가로 중앙 정렬 및 간격 통일) */
.unit_label, .label_top {
    display: block;
    text-align: center;
    font-size: 23px;
    font-weight: 600;
    font-family: 'Pretendard' !important;
    color: #000;
    margin-bottom: 18px;
}
/* 3. 개별 유닛 정렬 */
.ag_unit, .sub_unit, .ag_img_item { display: flex; flex-direction: column; align-items: center; flex: 1; }
.ag_img_item img { width: 100%; max-width: 250px; }
/* 4. 화살표 시리즈 */
/* 상단 큰 삼각 화살표 */
.ag_tri_arrow { width: 38px; height: 38px; background: url('../img/icon_tri_arrow.svg') no-repeat center; background-size: contain; margin-top: 286px; }
/* 2번 단계 내부 작은 화살표 */
.ag_icon_arrow { width: 35px; height: 35px; background: url('../img/icon_small_arrow.svg') no-repeat center; background-size: contain; margin: 70% 22px auto; /* Solution/Precipitation 사이 배치 */
}
/* 5. 하단 카드 레이아웃 */
.ag_step_bottom { display: flex; justify-content: space-between; gap: 20px; }
.ag_step_card { flex: 1; }
.card_img_box { border-radius: 15px; padding: 30px 20px; display: flex; align-items: flex-start; justify-content: center; min-height: 280px; }
.card_img_box.single { padding-left: 10 !important; padding-right: 10 !important; }
/* 6. 번호 및 제목 (주황색 원형) */
.step_num { display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; background-color: #ff6b00; color: #fff; border-radius: 50%; font-size: 24px; font-weight: 700; font-family: 'Pretendard' !important; margin-right: 20px; flex-shrink: 0; /* 원형 찌그러짐 방지 */
}
.ag_step_info { display: flex; align-items: center; margin-top: 18px; justify-content: center; }
.ag_step_container.bottom_step .ag_step_info { flex-shrink: 0; margin-top: 18px; justify-content: center; }
.ag_step_info strong { font-size: 30px; color: #000; font-weight: 600; font-family: 'Pretendard' !important; }
/* 7. 섹션 간격 */
.top_step, .ag_step_top { margin-bottom: 80px; }
/* ========== 반응형 ========== */

/* 1100px 이하: AG 파우더 하단(2·3·4단계) 플라스크/이미지가 컨테이너에 맞춰 비율 축소 */
@media (max-width:1100px) {
    .ag_step_container.bottom_step .card_img_box .sub_unit { min-width: 0; }
    .ag_step_container.bottom_step .card_img_box .sub_unit img, .ag_step_container.bottom_step .card_img_box.single img { max-width: 100%; height: auto; }
}
/* --- 1440px --- */
@media (max-width:1440px) {
    .sub_visual { height: 880px; padding-top: 200px; }
    .sub_visual .visual_txt_area { padding-left: 48px; padding-right: 48px; }
    .visual_txt_area .main_tit { font-size: 62px; margin: 34px 0; }
    .visual_txt_area .sub_tit { font-size: 22px; }
    .visual_txt_area .sub_desc { font-size: 18px; }
    .product_tab_nav_wrap { margin-top: 80px; }
    .tab_btn { padding: 18px 26px; font-size: 18px; }
    .tab_panel { padding: 150px 0 0; }
    .tab_panel .inner { padding: 0 48px; }
    .info_top_area .txt_box h3 { font-size: 62px; margin: 50px 0; }
    .info_top_area .txt_box p { font-size: 18px; }
    .floating_ring_img img { max-width: 620px; }
    .floating_ring_img { margin-top: -190px; margin-bottom: -145px; }
    .products_divider { margin: 0 -48px; padding: 60px 48px 45px; }
    .products_divider::before { width: calc(100% - 96px); left: 48px; }
    .products_divider h4 { font-size: 28px; }
    .main_product_display { min-height: 600px; }
    .prod_info_side h5 { font-size: 42px; }
    .prod_info_side .main_desc { font-size: 18px; max-width: 600px; }
}
/* --- 1280px --- */
@media (max-width:1280px) {
    .sub_visual { height: 800px; padding-top: 190px; }
    .sub_visual .visual_txt_area { padding-left: 40px; padding-right: 40px; }
    .visual_txt_area .main_tit { font-size: 56px; margin: 32px 0; }
    .visual_txt_area .sub_tit { font-size: 21px; }
    .visual_txt_area .sub_desc { font-size: 17px; }
    .product_tab_nav_wrap { margin-top: 64px; }
    .tab_btn { padding: 16px 22px; font-size: 16px; }
    .tab_panel { padding: 130px 0 0; }
    .tab_panel .inner { padding: 0 40px; }
    .info_top_area .txt_box h3 { font-size: 56px; margin: 44px 0; }
    .info_top_area .txt_box p { font-size: 17px; }
    .floating_ring_img img { max-width: 580px; }
    .floating_ring_img { margin-top: -175px; margin-bottom: -138px; }
    .products_divider { margin: 0 -40px; padding: 56px 40px 42px; }
    .products_divider::before { width: calc(100% - 80px); left: 40px; }
    .products_divider h4 { font-size: 26px; }
    .main_product_display { min-height: 570px; }
    .prod_info_side h5 { font-size: 40px; }
    .prod_info_side .main_desc { font-size: 17px; max-width: 560px; }
}
/* --- 1200px --- */
@media (max-width:1200px) {
    .sub_visual { height: 750px; padding-top: 180px; }
    .sub_visual .visual_txt_area { padding-left: 80px; padding-right: 80px; }
    .visual_txt_area .main_tit { font-size: 52px; margin: 30px 0; }
    .visual_txt_area .sub_tit { font-size: 20px; }
    .visual_txt_area .sub_desc { font-size: 17px; }
    .product_tab_nav_wrap { margin-top: 48px; margin-left: -10px; margin-right: 0; }
    .product_tab_nav { flex-wrap: nowrap; gap: 6px; }
    .tab_btn { padding: 14px 18px; font-size: 16px; white-space: nowrap; flex-shrink: 0; }
    .tab_panel { padding: 120px 0 0; }
    .info_top_area .txt_box h3 { font-size: 52px; margin: 40px 0; }
    .info_top_area .txt_box p { font-size: 17px; }
    .floating_ring_img img { max-width: 550px; }
    .floating_ring_img { margin-top: -160px; margin-bottom: -130px; }
    .products_divider { margin: 0 -80px; padding: 60px 80px 40px; }
    .products_divider::before { width: calc(100% - 160px); left: 80px; }
    .products_divider h4 { font-size: 26px; }
    .main_product_display { min-height: 550px; }
    .prod_info_side h5 { font-size: 38px; }
    .prod_info_side .main_desc { font-size: 17px; max-width: 520px; }
    .spec_list li { font-size: 16px; }
    .thumb_item .txt_w strong { font-size: 18px; }
    .thumb_item .txt_w span { font-size: 16px; }
    .pop_container { width: 500px; padding: 40px; }
    .spec_table th { font-size: 17px; padding: 16px 8px; }
    .spec_table td { font-size: 16px; padding: 16px 12px; }
    .spec_txt_box span { font-size: 16px; }
    .unit_label, .label_top { font-size: 20px; }
    .ag_step_info strong { font-size: 26px; }
    .step_num { width: 50px; height: 50px; font-size: 20px; }
    .mag_label { font-size: 20px; }
}
/* 1024px 이하: 상단 비주얼·탭 company_intro.css와 동일 높이/비율 */
@media (max-width:1024px) {
    .sub_visual { height: auto; min-height: 560px; padding: 120px 48px 73px 40px; align-items: flex-end; background-position: 35% center; }
    .sub_visual .visual_txt_area { width: 100%; max-width: 100%; padding-left: 0; padding-right: 0; box-sizing: border-box; }
    .sub_visual .visual_txt_area .text_wrapper, .sub_visual .visual_txt_area .text_box { padding-left: 32px; }
    .visual_txt_area .main_tit { font-size: 42px; margin: 28px 0; line-height: 1.25; }
    .visual_txt_area .sub_tit { font-size: 20px; }
    .visual_txt_area .sub_desc { font-size: 17px; }
    .product_tab_nav_wrap { margin-top: 48px; margin-left: -10px; margin-right: 0; }
    .product_tab_nav { flex-wrap: nowrap; gap: 6px; }
    .product_tab_nav .tab_btn { padding: 14px 18px; font-size: 16px; white-space: nowrap; flex-shrink: 0; }
    /* 1024px에서도 Products 영역을 992px 이하와 동일한 레이아웃으로 */
    .tab_panel .inner { max-width: 100%; padding: 0 30px; }
    .info_top_area { flex-direction: column; }
    .info_top_area .txt_box h3 { font-size: 38px; margin: 30px 0; }
    .info_top_area .txt_box p { font-size: 16px; }
    .floating_ring_img { width: 100%; align-self: stretch; margin-top: 20px; margin-bottom: -106px; justify-content: flex-end; }
    .floating_ring_img img { max-width: 400px; }
    .products_divider { margin: 0 -30px; padding: 50px 30px 30px; }
    .products_divider::before { width: calc(100% - 60px); left: 30px; }
    .products_divider h4 { font-size: 22px; }
    .main_product_display { position: relative; min-height: 450px; background-position: center; }
    .main_product_display::before { content: ''; position: absolute; inset: 0; background: rgba(255, 255, 255, 0.5); z-index: 0; pointer-events: none; border-radius: inherit; }
    .prod_info_side { position: relative; z-index: 1; padding: 30px; }
    .prod_info_side h5 { font-size: 30px; }
    .prod_info_side .main_desc { font-size: 16px; margin-bottom: 40px; white-space: normal; max-width: 100%; }
    .spec_list li { font-size: 16px; margin-bottom: 14px; }

    .spec_text_only{padding:20px;}
    .spec_text_only br{display:none;}
}
/* --- 992px (비주얼 높이는 1024px 규칙 유지, 768px에서 덮어씀) --- */
@media (max-width:992px) {
    .sub_visual { height: auto; min-height: 560px; padding: 120px 48px 73px 40px; }
    .sub_visual .visual_txt_area { padding-left: 0px; padding-right: 0px; }
    .visual_txt_area .main_tit { font-size: 40px; margin: 24px 0; }
    .visual_txt_area .sub_tit { font-size: 18px; }
    .visual_txt_area .sub_desc { font-size: 16px; }
    .text_box { padding-left: 30px; }
    .product_tab_nav_wrap { margin-top: 48px; margin-left: -10px; margin-right: 0; }
    .product_tab_nav { flex-wrap: nowrap; gap: 6px; }
    .tab_btn { padding: 14px 18px; font-size: 16px; white-space: nowrap; flex-shrink: 0; }
    .tab_panel { padding: 80px 0 0; }
    .tab_panel .inner { max-width: 100%; padding: 0 30px; }
    .info_top_area { flex-direction: column; }
    .info_top_area .txt_box h3 { font-size: 38px; margin: 30px 0; }
    .info_top_area .txt_box p { font-size: 16px; }
    .floating_ring_img { width: 100%; align-self: stretch; margin-top:-365px; margin-bottom: -106px; justify-content: flex-end; }
    .floating_ring_img img { max-width: 400px; }
    .products_divider { margin: 0 -30px; padding: 50px 30px 30px; }
    .products_divider::before { width: calc(100% - 60px); left: 30px; }
    .products_divider h4 { font-size: 22px; }
    .main_product_display { position: relative; min-height: 450px; background-position: center; }
    .main_product_display::before { content: ''; position: absolute; inset: 0; background: rgba(255, 255, 255, 0.5); z-index: 0; pointer-events: none; border-radius: inherit; }
    .prod_info_side { position: relative; z-index: 1; padding: 30px; }
    .prod_info_side h5 { font-size: 30px; }
    .prod_info_side .main_desc { font-size: 16px; margin-bottom: 40px; white-space: normal; max-width: 100%; }
    .spec_list li { font-size: 16px; margin-bottom: 14px; }
    .swiper-button-prev { left: -20px !important; }
    .swiper-button-next { right: -20px !important; }
    .pop_container { width: 420px; padding: 30px; }
    .close_pop { width: 40px; height: 40px; }
    .pop_label { font-size: 16px; padding: 8px 16px; }
    #pop_desc { font-size: 16px; }
    .spec_table th { font-size: 16px; padding: 14px 6px; }
    .spec_table td { font-size: 16px; padding: 14px 8px; }
    .spec_toggle_btn_wrap { margin: 40px 0 80px; }
    .spec_txt_box { padding: 16px 30px; }
    .spec_txt_box span { font-size: 16px; }
    .spec_icon_box .icon_circle { width: 48px; height: 48px; }
    .magnified_section { margin-top: 50px; margin-bottom: 60px; }
    .magnified_grid { gap: 30px; }
    .mag_label { font-size: 18px; }
    .unit_label, .label_top { font-size: 18px; }
    .ag_step_info strong { font-size: 22px; }
    .step_num { width: 44px; height: 44px; font-size: 18px; margin-right: 14px; }
    .ag_tri_arrow { width: 28px; height: 28px; margin-top: 200px; }
    .ag_icon_arrow { width: 25px; height: 25px; }
    .ag_process_wrap { margin-bottom: 150px; }
    .scroll-reveal-left.visible{position:relative;z-index:100;}
}
/* --- 768px (상단 비주얼: company_intro.css와 동일 높이) --- */
@media (max-width:768px) {
    .sub_visual { position: relative; z-index: 20; overflow: visible; height: auto; min-height: 420px; padding: 80px 32px 50px 24px; background-position: 60% center; }
    .product_detail_content { z-index: 1; }
    .sub_visual .visual_txt_area { padding-left: 0; padding-right: 0; }
    .sub_visual .visual_txt_area .text_wrapper, .sub_visual .visual_txt_area .text_box { padding-left: 20px; }
    .visual_txt_area .main_tit { font-size: 28px; margin: 20px 0; line-height: 1.3; }
    .visual_txt_area .sub_tit { font-size: 16px; }
    .visual_txt_area .sub_desc { font-size: 16px; }
    .product_tab_nav_wrap { position: relative; z-index: 2; margin-top: 32px; margin-left: 0; margin-right: 0; border-radius: 100px; overflow: visible; width: 100%; max-width: 100%; }
    .product_tab_nav_wrap::-webkit-scrollbar { display: none; }
    .product_tab_nav_wrap .product_tab_nav { display: none !important; }
    .product_tab_dropdown { display: block; width: 100%; max-width: 100%; position: relative; }
    .product_tab_dropdown_trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 14px 20px; border: none; border-radius: 100px; background: rgba(255, 255, 255, 0.15); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: #fff; font-size: 16px; font-weight: 500; font-family: 'Poppins', sans-serif; cursor: pointer; text-align: left; transition: background 0.2s; }
    .product_tab_dropdown_trigger:hover { background: rgba(255, 255, 255, 0.2); }
    .product_tab_dropdown_icon { display: inline-block; width: 12px; height: 12px; margin-left: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform 0.2s; }
    .product_tab_dropdown_trigger[aria-expanded="true"] .product_tab_dropdown_icon { transform: rotate(-135deg); }
    .product_tab_dropdown_list { display: none; list-style: none; margin: 8px 0 0; padding: 8px 0; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); position: absolute; left: 0; right: 0; z-index: 10; max-height: 280px; overflow-y: auto; }
    .product_tab_dropdown_list.is-open { display: block; }
    .product_tab_dropdown_item { display: block; padding: 0; color: #333; font-size: 16px; font-family: 'Poppins', sans-serif; cursor: pointer; transition: background 0.15s; font-weight: 500; }
    .product_tab_dropdown_item a { display: block; padding: 12px 20px; color: #333; text-decoration: none; }
    .product_tab_dropdown_item a:hover { background: rgba(255, 107, 0, 0.08); }
    .product_tab_nav { position: relative; flex-wrap: nowrap; }
    .product_tab_nav::before { content: ''; position: absolute; inset: 0; border-radius: 100px; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); background: rgba(255, 255, 255, 0.12); z-index: 0; }
    .product_tab_nav .tab_btn { position: relative; z-index: 1; padding: 10px 12px; font-size: 15px; }
    .tab_btn { padding: 10px 12px; font-size: 15px; white-space: nowrap; flex-shrink: 0; }
    .tab_panel { padding: 50px 0 0; }
    .tab_panel .inner { padding: 0 5%; }
    .info_top_area .txt_box h3 { font-size: 28px; margin: 20px 0; }
    .info_top_area .txt_box p { font-size: 16px; }
    .point_clr { font-size: 18px; }
    .floating_ring_img img { max-width: 300px; }
    .floating_ring_img { margin-top: 10px; margin-bottom: -80px; }
    .products_divider { margin: 0 -20px; padding: 40px 20px 24px; border-radius: 24px 24px 0 0; }
    .products_divider::before { width: calc(100% - 40px); left: 20px; top: 30px; }
    .products_divider h4 { font-size: 18px; }
    .main_product_display { position: relative; min-height: 360px; border-radius: 10px; }
    .main_product_display::before { content: ''; position: absolute; inset: 0; background: rgba(255, 255, 255, 0.5); z-index: 0; pointer-events: none; border-radius: inherit; }
    .prod_info_side { position: relative; z-index: 1; padding: 24px; }
    .prod_info_side h5 { font-size: 24px; margin: 20px 0; }
    .prod_info_side .main_desc { font-size: 16px; margin-bottom: 30px; }
    .spec_list li { font-size: 16px;; margin-bottom: 12px; }
    .thumb_item .txt_w strong { font-size: 16px; margin-top: 14px; margin-bottom: 10px; }
    .thumb_item .txt_w span { font-size: 16px;; }
    .swiper-button-prev, .swiper-button-next { width: 32px; height: 32px; top: 100px; }
    .swiper-button-prev { left: -10px !important; }
    .swiper-button-next { right: -10px !important; }
    .process_section .step_btn { width: 28px; height: 28px; min-width: 28px; min-height: 28px; max-width: 44px; max-height: 44px; font-size: 15px; }
    .process_popup { left: 50% !important; top: 50% !important; width: 320px; transform: translate(-50%, -50%); }
    .pop_container { width: 340px; padding: 24px; }
    .close_pop { width: 32px; height: 32px; top: 14px; right: 14px; }
    .pop_label { font-size: 16px;; padding: 6px 12px; gap: 8px; }
    #pop_desc { font-size: 16px;; }
    .pop_txt_area { gap: 12px; }
    .spec_section { padding: 50px 0; }
    .spec_table_wrap { overflow-x: auto; }
    .spec_table { min-width: 600px; }
    .spec_table th { font-size: 16px;; padding: 12px 6px; }
    .spec_table td { font-size: 16px;; padding: 12px 6px; }
    .spec_toggle_btn_wrap { margin: 30px 0 60px; }
    .spec_txt_box { padding: 14px 24px; }
    .spec_txt_box span { font-size: 16px; }
    .spec_icon_box .icon_circle { width: 42px; height: 42px; }
    .magnified_grid { flex-direction: column; gap: 24px; }
    .mag_label { font-size: 16px; margin-top: 14px; }
    .unit_label, .label_top { font-size: 16px; margin-bottom: 12px; }
    .ag_step_info strong { font-size: 18px; }
    .step_num { width: 38px; height: 38px; font-size: 16px; margin-right: 10px; }
    .ag_flex_row { flex-wrap: wrap; justify-content: center; gap: 20px; }
    .ag_tri_arrow { width: 24px; height: 24px; margin-top: 0; align-self: center; }
    .ag_icon_arrow { width: 20px; height: 20px; }
    .ag_process_wrap { margin-bottom: 80px; padding:0 5%;}
    .top_step, .ag_step_top { margin-bottom: 40px; }
    .ag_step_container.bottom_step .card_img_box { min-height: 200px; }

    .spec_text_only{font-size:1rem;text-align:left;}
}


@media (max-width:640px) {
    .ag_flex_row{flex-direction:column;gap:40px;}
    .ag_step_info strong { font-size: 20px; }
    .ag_tri_arrow{transform:rotate(90deg)}
    .ag_step_container.bottom_step .ag_flex_row{gap:60px;}
    .ag_step_container.bottom_step .ag_card_unit{width:100%;}
    .ag_step_container.bottom_step .ag_card_unit:last-child .card_img_box{min-height:auto;max-height:250px;}
    .ag_step_container.bottom_step .ag_card_unit:nth-child(3) .card_img_box{min-height:auto;max-height:380px;}
    .ag_unit{width:100%}
}

/* --- 480px (상단 비주얼: company_intro.css와 동일 높이) --- */
@media (max-width:480px) {
    .sub_visual { height: auto; min-height: 360px; padding: 60px 20px 43px 16px; background-position: 60% center; }
    .sub_visual .visual_txt_area { padding-left: 0; padding-right: 0; }
    .sub_visual .visual_txt_area .text_wrapper, .sub_visual .visual_txt_area .text_box { padding-left: 16px; }
    .visual_txt_area .main_tit { font-size: 22px; margin: 14px 0; line-height: 1.35; }
    .visual_txt_area .sub_tit { font-size: 16px; }
    .visual_txt_area .sub_desc { font-size: 15px; }
    .product_tab_nav_wrap { position: relative; margin-top: 24px;border-radius: 100px; }
    .product_tab_nav { position: relative; }
    .product_tab_nav::before { content: ''; position: absolute; inset: 0; border-radius: 100px; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); background: rgba(255, 255, 255, 0.12); z-index: 0; }
    .product_tab_nav .tab_btn { position: relative; z-index: 1; padding: 8px 8px; font-size: 11px; }
    .tab_btn { padding: 8px 10px; font-size: 11px; }
    .tab_panel { padding: 30px 0 0; }
    .tab_panel .inner { padding: 0 16px; }
    .info_top_area .txt_box h3 { font-size: 22px; margin: 14px 0; }
    .info_top_area .txt_box p { font-size: 16px;; }
    .point_clr { font-size: 16px; word-break:keep-all;}
    .floating_ring_img img { max-width: 220px; }
    .floating_ring_img { margin-top: 10px; margin-bottom: -60px; }
    .products_divider { margin: 0 -16px; border-radius: 20px 20px 0 0; }
    .products_divider::before { width: calc(100% - 32px); left: 16px; top: 24px; }
    .products_divider h4 { font-size: 18px; }
    .main_product_display { position: relative; min-height: 280px; flex-direction: column; background-position:top left}
    .main_product_display::before { content: ''; position: absolute; inset: 0; background: rgba(255, 255, 255, 0.7); z-index: 0; pointer-events: none; border-radius: inherit; }
    .prod_info_side { position: relative; z-index: 1; padding: 20px; }
    .prod_info_side h5 { font-size: 20px; margin: 14px 0; }
    .prod_info_side .main_desc { font-size: 16px;; margin-bottom: 20px; }
    .spec_list li { font-size: 15px; margin-bottom: 10px; padding-left: 14px; }
    .thumb-swiper .swiper-wrapper { gap: 10px; margin-bottom: 40px; }
    .thumb_item .txt_w strong { font-size: 16px;; margin-top: 10px; margin-bottom: 8px; }
    .thumb_item .txt_w span { font-size: 15px; }
    .swiper-button-prev, .swiper-button-next { width: 28px; height: 28px; top: 80px; }
    .swiper-button-prev { left: -6px !important; }
    .swiper-button-next { right: -6px !important; }
    .process_section .step_btn { width: 30px; height: 30px; min-width: 24px; min-height: 24px; max-width: 36px; max-height: 36px; font-size: 14px; }
    .process_popup { left: 50% !important; top: 50% !important; width: 90%; transform: translate(-50%, -50%); }
    .pop_container { width: 100%; padding: 20px; }
    .pop_content { overflow: visible; }
    .close_pop { width:40px; height: 40px; top: -6px; right: -6px; }
    .pop_label { font-size: 15px; padding: 5px 10px; gap: 6px; }
    #pop_desc { font-size: 15px; }
    .pop_txt_area { gap: 8px; flex-direction: column; align-items: flex-start; }
    .spec_section { padding: 30px 0; }
    .spec_table { min-width: 500px; }
    .spec_table th { font-size: 11px; padding: 10px 4px; }
    .spec_table td { font-size: 11px; padding: 10px 4px; }
    .spec_toggle_btn_wrap { margin: 24px 0 40px; }
    .spec_txt_box { padding: 12px 20px; }
    .spec_txt_box span { font-size: 16px;; }
    .spec_icon_box .icon_circle { width: 36px; height: 36px; }
    .spec_icon_box .icon_circle::before { width: 14px; }
    .mag_label { font-size: 16px; margin-top: 10px; }
    .unit_label, .label_top { font-size: 16px;; margin-bottom: 10px; }
    
    .step_num { width: 32px; height: 32px; font-size: 16px; margin-right: 8px; }
    .ag_flex_row { flex-direction: column; align-items: center; gap: 16px; }
    .ag_tri_arrow { width: 20px; height: 20px; margin-top: 0; transform: rotate(90deg); }
    .ag_icon_arrow { width: 18px; height: 18px; }
    .ag_process_wrap { margin-bottom: 50px; }
    .top_step, .ag_step_top { margin-bottom: 24px; }
    .ag_step_container.bottom_step .card_img_box { min-height: 150px; padding: 10px; }
    .ag_step_container.bottom_step .ag_flex_row { flex-direction: column; align-items: center; }
    .ag_step_container.bottom_step .ag_tri_arrow { transform: rotate(90deg); margin-top: 0; }
    .magnified_section { margin-top: 30px; margin-bottom: 40px; }
    .ag_unit img{width:300px;}
    .ag_step_container.bottom_step .card_img_box.single img{width:300px;}
    .ag_step_container.bottom_step .ag_card_unit:last-child .card_img_box.single img{margin-top:-120px}
    .ag_step_container.bottom_step .card_img_box .sub_unit img{width:80px;}

    .ag_step_container.bottom_step .ag_card_unit:nth-child(3) .card_img_box{max-height:260px;}
    .ag_step_container.bottom_step .ag_card_unit:last-child .card_img_box{max-height:180px;}
    .info_top_area .txt_box p br{display:none;}
}

/* English brazing intro balance */
@media (min-width:1025px) {
    .lang_en_US.sub_02_02 .info_top_area, .lang_en_US.sub_02_03 .info_top_area, .lang_en_US.sub_02_04 .info_top_area, .lang_en_US.sub_02_05 .info_top_area { gap: 48px; }
    .lang_en_US.sub_02_02 .info_top_area .txt_box, .lang_en_US.sub_02_03 .info_top_area .txt_box, .lang_en_US.sub_02_04 .info_top_area .txt_box, .lang_en_US.sub_02_05 .info_top_area .txt_box {
        flex: 0 1 830px;
        max-width: 830px;
        min-width: 0;
        box-sizing: border-box;
    }
    .lang_en_US.sub_02_02 .info_top_area .txt_box h3, .lang_en_US.sub_02_03 .info_top_area .txt_box h3, .lang_en_US.sub_02_04 .info_top_area .txt_box h3, .lang_en_US.sub_02_05 .info_top_area .txt_box h3{
        max-width: 830px;
        font-size: 52px;
        line-height: 1.22;
        margin: 50px 0 42px;
    }

    .lang_en_US.sub_02_02 .info_top_area .txt_box h3 br, .lang_en_US.sub_02_03 .info_top_area .txt_box h3 br, .lang_en_US.sub_02_04 .info_top_area .txt_box h3 br, .lang_en_US.sub_02_05 .info_top_area .txt_box h3 br{display:none;}

    .lang_en_US.sub_02_02 .info_top_area .txt_box p, .lang_en_US.sub_02_03 .info_top_area .txt_box p, .lang_en_US.sub_02_04 .info_top_area .txt_box p, .lang_en_US.sub_02_05 .info_top_area .txt_box p {
        max-width: 700px;
        font-size: 18px;
        line-height: 1.65;
    }

    .lang_en_US.sub_02_02 .info_top_area .txt_box p br, .lang_en_US.sub_02_03 .info_top_area .txt_box p br, .lang_en_US.sub_02_04 .info_top_area .txt_box p br, .lang_en_US.sub_02_05 .info_top_area .txt_box p br
    {display:none;}

    .lang_en_US.sub_02_02 .floating_ring_img, .lang_en_US.sub_02_03 .floating_ring_img, .lang_en_US.sub_02_04 .floating_ring_img , .lang_en_US.sub_02_05 .floating_ring_img{
        flex: 1 1 0;
        min-width: 0;
    }
}

@media (min-width:1025px) and (max-width:1440px) {
    .lang_en_US.sub_02_02 .info_top_area, .lang_en_US.sub_02_03 .info_top_area, .lang_en_US.sub_02_04 .info_top_area, .lang_en_US.sub_02_05 .info_top_area { gap: 36px; }
    .lang_en_US.sub_02_02 .info_top_area .txt_box, .lang_en_US.sub_02_03 .info_top_area .txt_box, .lang_en_US.sub_02_04 .info_top_area .txt_box, .lang_en_US.sub_02_05 .info_top_area .txt_box {
        flex-basis: 760px;
        max-width: 760px;
    }
    .lang_en_US.sub_02_02 .info_top_area .txt_box h3, .lang_en_US.sub_02_03 .info_top_area .txt_box h3, .lang_en_US.sub_02_04 .info_top_area .txt_box h3, .lang_en_US.sub_02_05 .info_top_area .txt_box h3 {
        max-width: 760px;
        font-size: 48px;
        margin: 42px 0 34px;
    }
    .lang_en_US.sub_02_02 .info_top_area .txt_box p, .lang_en_US.sub_02_03 .info_top_area .txt_box p, .lang_en_US.sub_02_04 .info_top_area .txt_box p, .lang_en_US.sub_02_05 .info_top_area .txt_box p {
        max-width: 620px;
        font-size: 17px;
    }
}
