/* header_search 스타일은 common.css 로 이동 (메인/서브 공통 사용) */

/*------------------------------------------------------------------------------*/
/* main_zone01 - 메인 비주얼(좌측 스와이퍼) + 바로가기 카드(우측 4개) */
/* 20260630 수정2: papd/main5.html main_visual 구조 참고해 재구성 */
/*------------------------------------------------------------------------------*/
.main_zone01 {padding:30px 0;}
/* 20260630 수정2: 스와이퍼 영역 940px 고정 + 우측 버튼 영역 60px 간격으로 변경 */
.main_zone01_inner {display:flex; gap:60px; align-items:stretch;}

/* 좌측 이미지 스와이퍼 */
/* 20260630 수정2: zone05_swiper와 동일 패턴 - 클리핑용 외부 래퍼(main_visual_swiper_wrap) + swiper는 width/height:100% */
.main_visual {position:relative; flex:0 0 940px; width:940px;}
.main_visual_swiper_wrap {position:relative; width:100%; height:520px; border-radius:20px; overflow:hidden; background:#f3f3f3;}
.main_visual_swiper {width:100%; height:100%;}
.main_visual_swiper .swiper-wrapper {height:100%;}
.main_visual_swiper .swiper-slide {height:100%;}
.main_visual_link {display:block; width:100%; height:100%;}
.main_visual_img {display:block; width:100%; height:100%; object-fit:cover;}

/* 우상단 흰색 노치(컨트롤 박스 배경) - main_visual(클리핑 없는 최외곽)에 위치 */
.main_visual::before {content:""; position:absolute; top:0; right:0; width:220px; height:72px; background:#fff; border-bottom-left-radius:32px; z-index:11;}
.main_visual::after {content:""; position:absolute; top:0; right:220px; width:28px; height:28px; border-top-right-radius:30px; box-shadow:10px -10px 0 10px #fff; z-index:11; pointer-events:none;}

.main_visual_ctrl {position:absolute; top:20px; right:26px; z-index:13; display:flex; align-items:center; gap:10px;}
.main_visual_ctrl::before {content:""; position:absolute; right:-26px; top:52px; width:28px; height:28px; border-top-right-radius:30px; box-shadow:10px -10px 0 10px #fff; z-index:-1; pointer-events:none;}
.main_visual_pagination {display:flex; align-items:center; gap:6px;}
.main_visual_pagination .swiper-pagination-bullet {width:9px; height:9px; border-radius:3px; background:#000; opacity:1; margin:0;}
.main_visual_pagination .swiper-pagination-bullet-active {width:18px; background:#4f80e8;}

.main_visual_nav {display:flex; gap:6px;}
.main_visual_btn {width:29px; height:29px; border-radius:50%; background-color:rgba(0,0,0,.78); display:inline-flex; align-items:center; justify-content:center; padding:0; border:0; cursor:pointer; text-decoration:none; position:relative;}
.main_visual_btn::after {content:""; width:29px; height:29px; background-image:url("../images/main/slide_btn_group.png"); background-repeat:no-repeat;}
.main_visual_btn_prev::after {background-position:3px 6px;}
.main_visual_btn_toggle::after {background-position:-29px 6px;}
.main_visual_btn_next::after {background-position:-60px 6px;}
.main_visual_btn_toggle.is_play::after {background-position:-83px 6px;}
.main_visual_btn:focus-visible {outline:2px solid #000; outline-offset:2px;}

/* 우측 바로가기 카드 4개 */
/* 20260630 수정2: 테두리/홀짝 배경/우측하단 아이콘/타이틀 그라데이션 적용 */
.main_zone01_quick {flex:1; min-width:0;}
.main_zone01_quick_list {display:flex; flex-direction:column; gap:15px; height:100%;}
.main_zone01_quick_item {flex:1; min-height:0;}
.main_zone01_quick_item:nth-child(odd) .main_zone01_quick_link {background:#f5f6ff;}
.main_zone01_quick_item:nth-child(even) .main_zone01_quick_link {background:#fff;}
.main_zone01_quick_link {position:relative; display:flex; flex-direction:column; justify-content:center; height:100%; padding:0 28px; border:1px solid #acb1dd; border-radius:14px; text-decoration:none; cursor:default;}
.main_zone01_quick_tit {font-family:'YeogiOttaeJalnanGothic'; font-size:3.2rem; font-weight:700; line-height:1.3; background:linear-gradient(90deg, #8b3ff0, #2f8fe0); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; width:fit-content;}
.main_zone01_quick_desc {font-family:'YeogiOttaeJalnanGothic'; font-size:3.2rem; font-weight:500; color:#444444; line-height:1.3;}
/* 20260701 수정: 아이콘 4개 원본 비율이 제각각이라 width/height 고정값이면 찌그러짐 - 아이콘별로 실제 비율에 맞는 크기 지정 */
.main_zone01_quick_ico {position:absolute; right:20px; bottom:0px; width:auto; height:90px;}
.main_zone01_quick_item:nth-child(1) .main_zone01_quick_ico {width:78px;} /* 90x104 */
.main_zone01_quick_item:nth-child(2) .main_zone01_quick_ico {width:129px;} /* 161x112 */
.main_zone01_quick_item:nth-child(3) .main_zone01_quick_ico {width:96px;} /* 119x112 */
.main_zone01_quick_item:nth-child(4) .main_zone01_quick_ico {width:133px;} /* 156x106 */
/* 2026-07-01: 링크 기능 없는 자리표시자 — hover 강조 제거 (cursor:default 는 .main_zone01_quick_link 에 지정) */
/* .main_zone01_quick_link:hover,.main_zone01_quick_link:focus {opacity:0.85;} */
.main_zone01_quick_link.is_navy .main_zone01_quick_tit {color:#1b2f5e;}

/*------------------------------------------------------------------------------*/
/* main_zone02 - focus */
/*------------------------------------------------------------------------------*/
.main_zone02 {padding:60px 0;}

/* focus head */
.focus_head {position:relative; display:flex; align-items:center; justify-content:center; margin-bottom:50px;}
.focus_title {font-family:'GMarketSans', sans-serif; font-size:4rem; font-weight:700; color:#00259d; line-height:1;}
.focus_more {position:absolute; right:0; top:50%; transform:translateY(-50%); display:flex; align-items:center; text-decoration:none;}
.focus_more:focus {outline:2px dotted #333; outline-offset:4px; border-radius:4px;}
.focus_more_txt {font-size:1.5rem; color:#333333; font-weight:200; margin-right:20px;}
.focus_more_icon {display:flex; align-items:center; justify-content:center; width:40px; height:40px; background:#444444; border-radius:50%; flex-shrink:0;}
.focus_more_icon img {display:block; width:auto; height:auto;}

/* article list */
.focus_article_list {display:flex; flex-wrap:wrap;}
.focus_article_item {flex:0 0 25%; min-width:0; padding:0 30px;}
.focus_article_item:first-child {padding-left:0;}
.focus_article_item:last-child {padding-right:0;}
.focus_article_item + .focus_article_item {border-left:1px solid #dfdfdf;}
.focus_article_title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font-size:2.2rem; font-weight:700; color:#333333; line-height:1.4; height:calc(2.2rem * 1.4 * 2); }
.focus_article_desc { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; overflow:hidden; margin-top:30px; font-size:1.7rem; font-weight:200; color:#444444; line-height:1.6; height:calc(1.7rem * 1.6 * 4); }
.focus_article_date {display:block; margin-top:30px; font-size:1.4rem; color:#777; font-weight:400; line-height:1;}

/*------------------------------------------------------------------------------*/
/* main_zone03 - kamt news */
/*------------------------------------------------------------------------------*/
.main_zone03 {padding:60px 0; background-color:#f6f6f6;}

.news_list {display:flex; flex-wrap:wrap; gap:27px;}
.news_item {flex:0 0 calc((100% - 81px) / 4); min-width:0;}

.news_thumb {width:100%; height:220px; border-radius:15px; overflow:hidden;}
.news_thumb img {display:block; width:100%; height:100%; object-fit:cover;}
.news_thumb img[src*="sample.jpg"]{object-fit:contain; background:#f5f5f5; padding:10px;}

.news_title {
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    margin-top:30px;
    font-size:1.8rem;
    font-weight:600;
    color:#222222;
    line-height:1.4;
    height:calc(1.8rem * 1.4 * 2);
}

/*------------------------------------------------------------------------------*/
/* main_zone04 - interview */
/*------------------------------------------------------------------------------*/
.main_zone04 {padding:60px 0;}

.interview_list {display:flex; flex-wrap:wrap; gap:27px;}
.interview_item {flex:0 0 calc((100% - 81px) / 4); min-width:0;}

.interview_thumb {width:100%; height:220px; border-radius:15px; overflow:hidden;}
.interview_thumb img {display:block; width:100%; height:100%; object-fit:cover;}
.interview_thumb img[src*="sample.jpg"]{object-fit:contain; background:#f5f5f5; padding:10px;}

.interview_title {
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    margin-top:30px;
    font-size:1.8rem;
    font-weight:600;
    color:#222222;
    line-height:1.4;
    height:calc(1.8rem * 1.4 * 2);
}
.interview_name {display:block; margin-top:15px; font-size:1.6rem; color:#444444; font-weight:500; line-height:1;}
.interview_job {display:block; margin-top:10px; font-size:1.5rem; color:#666666; font-weight:400; line-height:1.3;}

/* 메인 게시판 카드 링크 래퍼 (FOCUS / KAMT NEWS / INTERVIEW 게시판 연동) */
.focus_article_inner,
.news_inner,
.interview_inner {display:block; width:100%;}

/*------------------------------------------------------------------------------*/
/* main_zone05 - 공지 스와이퍼 + 오른쪽 영역 */
/*------------------------------------------------------------------------------*/
.main_zone05 {padding:60px 0;}
.zone05_wrap {display:flex; gap:50px; align-items:stretch;}

/* 왼쪽 스와이퍼 */
.zone05_left {flex-shrink:0; width:810px;}
.zone05_swiper_wrap {position:relative; width:100%; height:250px; border-radius:15px; overflow:hidden;}
.zone05_swiper {width:100%; height:100%;}
.zone05_swiper .swiper-slide {width:100%; height:100%;}
.zone05_swiper .swiper-slide a {display:block; width:100%; height:100%;}
.zone05_swiper .swiper-slide img {display:block; width:100%; height:100%; object-fit:cover;}

/* 컨트롤 바 */
.zone05_control {position:absolute; right:20px; bottom:15px; z-index:10; display:flex; align-items:center; justify-content:space-between; width:235px; height:50px; padding:10px 15px; background:rgba(0,0,0,0.6); border-radius:25px;}
.zone05_pagi {display:flex; align-items:center; flex-shrink:0; gap:15px; margin-left:10px;}
.zone05_current {font-size:1.8rem; font-weight:700; color:#fff; line-height:1;}
.zone05_sep {font-size:1.8rem; font-weight:400; color:#c4c4c4; line-height:1;}
.zone05_total {font-size:1.8rem; font-weight:400; color:#c4c4c4; line-height:1;}
.zone05_btn_group {display:flex; align-items:center; gap:6px;}
.zone05_btn {display:flex; align-items:center; justify-content:center; width:30px; height:30px; background:#fff; border-radius:50%; border:0; cursor:pointer; padding:0; flex-shrink:0;}
.zone05_btn img {display:block; width:auto; height:auto;}
.zone05_play_stop .ico_play {display:none;}
.zone05_play_stop .ico_pause {display:block;}
.zone05_play_stop:not(.is_playing) .ico_pause {display:none;}
.zone05_play_stop:not(.is_playing) .ico_play {display:block;}

/* 오른쪽 영역 */
.zone05_right {flex:1; min-width:0; display:flex; align-items:stretch; background:#f5f5f5; border-radius:15px; padding:20px;}

/* 병리협보 텍스트 박스 */
/* 20260630 수정2: br 제거 후 긴 문장이 줄바꿈 없이 한 줄로 늘어나 zone05_webzine_img가 영역을 벗어나는 문제 수정 - flex-shrink:0 대신 flex:1; min-width:0 으로 줄바꿈 가능하게 변경 */
.zone05_biblio {flex:1; min-width:0; display:flex; flex-direction:column;}
.zone05_biblio_text {display:flex; flex-direction:column; min-width:0;}
.zone05_biblio_title {font-size:3rem; font-weight:700; color:#333333; line-height:1.3;}
.zone05_biblio_desc {margin-top:10px; font-size:1.5rem; font-weight:200; color:#555555; line-height:1.7; overflow-wrap:break-word;}
.zone05_more {position:static !important; transform:none !important; margin-top:auto;}

/* 구분선 */
.zone05_divider {flex-shrink:0; width:1px; background:#dfdfdf; margin:0 30px;}

/* 호수/날짜/바로보기 */
.zone05_issue {flex-shrink:0; display:flex; flex-direction:column; padding-top:15px;}
.zone05_issue_num {font-family:'GMarketSans', sans-serif; font-size:1.6rem; color:#555555; line-height:1.3;}
.zone05_issue_date {font-family:'GMarketSans', sans-serif; font-size:2rem; color:#333333; line-height:1.3; margin-top:4px;}
.zone05_issue_btn {display:inline-flex; align-items:center; justify-content:center; width:85px; height:40px; margin-top:auto; background:#214aa6; border-radius:20px; color:#fff; font-size:1.5rem; font-weight:200; text-decoration:none;}
.zone05_issue_btn:hover,.zone05_issue_btn:focus {color:#fff; opacity:0.85;}

/* 잡지 이미지 — 퍼블 기준 240x210 고정(좌측 배너 250px 와 정렬). 업로드 이미지 비율이 달라도 object-fit:cover 로 크롭, 영역이 늘어나지 않음 */
.zone05_webzine_img {flex-shrink:0; width:240px; height:210px; min-width:0; margin-left:40px; border-radius:7px; overflow:hidden; box-shadow:4px 6px 18px rgba(0,0,0,0.18);}
.zone05_webzine_img img {display:block; width:100%; height:100%; object-fit:cover;}

/* MOU 배너 */
.zone05_mou_list {display:flex; gap:20px; margin-top:50px;}
.zone05_mou_item {flex:1; min-width:0;}
.zone05_mou_link {display:flex; align-items:center; justify-content:center; height:130px; border:1px solid #d0d0d0; border-radius:15px;}
.zone05_mou_link img {display:block; max-width:80%; height:auto;}


/*==============================================================================*/
/* RESPONSIVE */
/*==============================================================================*/

/*------------------------------------------------------------------------------*/
/* 1500px - zone01 좌우 → 상하 전환 (main_visual 940px 고정폭이라 다른 영역보다 먼저 깨짐) */
/*------------------------------------------------------------------------------*/
@media (max-width:1500px) {
    /* 20260630 수정2: 940px 고정폭이 좁은 화면에서 우측 카드를 짓누르지 않도록 1500px 이하에서 미리 상하 스택으로 전환 */
    .main_zone01_inner {flex-direction:column; gap:30px;}
    .main_visual {flex:none; width:100%;}
    .main_visual_swiper_wrap {height:420px;}
    .main_zone01_quick {width:100%;}
    .main_zone01_quick_list {flex-direction:row; flex-wrap:wrap; gap:14px;}
    .main_zone01_quick_item {flex:0 0 calc(50% - 7px);}
    .main_zone01_quick_link {height:150px; padding:0 24px;}
    /* 20260701 수정: 아이콘별 비율 유지 (height 고정, width auto) */
    .main_zone01_quick_ico {width:auto; height:58px; right:16px; bottom:14px;}
    .main_zone01_quick_item:nth-child(1) .main_zone01_quick_ico {width:50px;}
    .main_zone01_quick_item:nth-child(2) .main_zone01_quick_ico {width:83px;}
    .main_zone01_quick_item:nth-child(3) .main_zone01_quick_ico {width:62px;}
    .main_zone01_quick_item:nth-child(4) .main_zone01_quick_ico {width:86px;}
}

/*------------------------------------------------------------------------------*/
/* 1200px - zone05 좌우 → 상하 전환 */
/*------------------------------------------------------------------------------*/
@media (max-width:1200px) {
    .zone05_wrap {flex-direction:column; gap:24px;}
    .zone05_left {width:100%;}
    .zone05_swiper_wrap {height:260px;}
}

/*------------------------------------------------------------------------------*/
/* 1024px - zone02 / zone03 / zone04 2열 전환 */
/*------------------------------------------------------------------------------*/
@media (min-width:769px) and (max-width:1024px) {
    /* zone02 */
    .focus_article_list {flex-wrap:wrap;}
    .focus_article_item {flex:0 0 50%; padding:0 20px;}
    .focus_article_item:first-child,
    .focus_article_item:nth-child(3) {padding-left:0;}
    .focus_article_item:nth-child(2),
    .focus_article_item:last-child {padding-right:0;}
    .focus_article_item + .focus_article_item {border-left:none;}
    .focus_article_item:nth-child(even) {border-left:1px solid #dfdfdf;}
    .focus_article_item:nth-child(n+3) {margin-top:40px; padding-top:40px; border-top:1px solid #dfdfdf;}

    /* zone03 */
    .news_list {flex-wrap:wrap; gap:20px;}
    .news_item {flex:0 0 calc(50% - 10px);}
    .news_thumb {height:200px;}

    /* zone04 */
    .interview_list {flex-wrap:wrap; gap:20px;}
    .interview_item {flex:0 0 calc(50% - 10px);}
    .interview_thumb {height:200px;}
}

/*------------------------------------------------------------------------------*/
/* 768px - 모바일 전환 */
/*------------------------------------------------------------------------------*/
@media (max-width:768px) {
    /* zone01 — 20260630 수정2: 카드/아이콘/노치 모바일 축소 */
    .main_zone01 {padding:30px 0;}
    .main_visual_swiper_wrap {height:220px;}
    .main_visual::before {width:120px; height:48px; border-bottom-left-radius:20px;}
    .main_visual::after {right:120px; width:18px; height:18px; box-shadow:6px -6px 0 6px #fff;}
    .main_visual_ctrl {top:10px; right:14px; gap:6px;}
    .main_visual_ctrl::before {display:none;}
    .main_zone01_quick_list {gap:10px;}
    .main_zone01_quick_item {flex:0 0 calc(50% - 5px);}
    .main_zone01_quick_link {height:100px; padding:0 16px;}
    .main_zone01_quick_tit {font-size:1.7rem;}
    .main_zone01_quick_desc {font-size:1.4rem;}
    /* 20260701 수정: 아이콘별 비율 유지 (height 고정, width auto) */
    .main_zone01_quick_ico {width:auto; height:40px; right:10px; bottom:8px;}
    .main_zone01_quick_item:nth-child(1) .main_zone01_quick_ico {width:35px;}
    .main_zone01_quick_item:nth-child(2) .main_zone01_quick_ico {width:58px;}
    .main_zone01_quick_item:nth-child(3) .main_zone01_quick_ico {width:43px;}
    .main_zone01_quick_item:nth-child(4) .main_zone01_quick_ico {width:59px;}

    /* zone02 */
    .main_zone02 {padding:40px 0;}
    /* 20260630 수정: focus_title와 focus_more 버튼 겹침 방지 - focus_more를 한 줄 아래 우측으로 이동 */
    .focus_head {flex-direction:column; align-items:flex-end; margin-bottom:30px;}
    .focus_title {width:100%; text-align:center; font-size:3rem;}
    .focus_more {position:static; transform:none; margin-top:12px;}
    .focus_more_txt {font-size:1.4rem; margin-right:12px;}
    .focus_more_icon {width:34px; height:34px;}
    .focus_article_list {flex-direction:column;}
    .focus_article_item {flex:none; padding:0;}
    .focus_article_item:first-child {padding-left:0;}
    .focus_article_item:last-child {padding-right:0;}
    .focus_article_item + .focus_article_item {border-left:none; border-top:1px solid #dfdfdf; margin-top:30px; padding-top:30px;}
    .focus_article_title {font-size:2rem; height:calc(2rem * 1.4 * 2);}
    .focus_article_desc {font-size:1.6rem; height:calc(1.6rem * 1.6 * 4);}

    /* zone03 */
    .main_zone03 {padding:40px 0;}
    .news_list {flex-wrap:wrap; gap:20px;}
    .news_item {flex:0 0 calc(50% - 10px);}
    .news_thumb {height:160px;}
    .news_title {font-size:1.6rem; margin-top:20px; height:calc(1.6rem * 1.4 * 2);}

    /* zone04 */
    .main_zone04 {padding:40px 0;}
    .interview_list {flex-wrap:wrap; gap:20px;}
    .interview_item {flex:0 0 calc(50% - 10px);}
    .interview_thumb {height:160px;}
    .interview_title {font-size:1.6rem; margin-top:20px; height:calc(1.6rem * 1.4 * 2);}
    .interview_name {font-size:1.5rem; margin-top:12px;}
    .interview_job {font-size:1.4rem;}

    /* zone05 - 스와이퍼 */
    .main_zone05 {padding:40px 0;}
    .zone05_swiper_wrap {height:210px; border-radius:12px;}
    .zone05_control {right:14px; bottom:12px; width:210px; height:44px; padding:8px 12px; gap:0;}
    .zone05_pagi {gap:6px; margin-left:6px;}
    .zone05_current,.zone05_sep,.zone05_total {font-size:1.5rem;}
    .zone05_btn {width:26px; height:26px;}
    .zone05_btn_group {gap:5px;}

    /* zone05 - 오른쪽 영역 */
    /* 20260630 수정: zone05_biblio 영역을 가로 배치로 변경해 더보기 버튼을 우측에 배치 */
    .zone05_right {flex-wrap:wrap; gap:0; padding:18px;}
    .zone05_biblio {flex:0 0 100%; flex-direction:row; align-items:center; justify-content:space-between; gap:16px;}
    .zone05_biblio_text {flex:1; min-width:0;}
    .zone05_biblio_title {font-size:2.4rem;}
    .zone05_biblio_desc {font-size:1.4rem;}
    .zone05_more {margin-top:0; flex-shrink:0;}
    .zone05_divider {flex:0 0 100%; width:100%; height:1px; margin:18px 0;}
    .zone05_issue {flex:1; padding-top:0;}
    .zone05_issue_num {font-size:1.4rem;}
    .zone05_issue_date {font-size:1.7rem; margin-top:4px;}
    .zone05_issue_btn {margin-top:16px; width:75px; height:36px; font-size:1.3rem;}
    /* 20260630 수정: align-self:stretch + height:auto 조합에서 img height:100%가 풀려 이미지가 영역을 벗어나는 문제 수정 */
    .zone05_webzine_img {width:110px; height:96px; margin-left:16px; align-self:center; border-radius:6px;}

    /* zone05 - MOU 3열 */
    .zone05_mou_list {flex-wrap:wrap; gap:12px; margin-top:30px;}
    .zone05_mou_item {flex:0 0 calc(33.333% - 8px);}
    .zone05_mou_link {height:90px; border-radius:12px;}
}

/*------------------------------------------------------------------------------*/
/* 480px - 소형 모바일 */
/*------------------------------------------------------------------------------*/
@media (max-width:480px) {
    /* zone01 — 20260630 수정2: 카드 2열 → 1열 전환 */
    .main_visual_swiper_wrap {height:260px;}
    .main_zone01_quick_item {flex:0 0 100%;}
    .main_zone01_quick_link {height:90px;}

    /* zone03 */
    .news_list {flex-direction:column; gap:30px;}
    .news_item {flex:none;}
    .news_thumb {height:220px;}
    .news_title {font-size:1.6rem; height:calc(1.6rem * 1.4 * 2);}

    /* zone04 */
    .interview_list {flex-direction:column; gap:30px;}
    .interview_item {flex:none;}
    .interview_thumb {height:220px;}
    .interview_title {font-size:1.6rem; height:calc(1.6rem * 1.4 * 2);}

    /* zone05 - 스와이퍼 */
    .zone05_swiper_wrap {height:180px;}
    .zone05_control {width:190px;}

    /* zone05 - 오른쪽 영역 */
    .zone05_right {padding:15px;}
    .zone05_biblio_title {font-size:2rem;}
    .zone05_issue_date {font-size:1.5rem;}
    .zone05_webzine_img {width:90px; height:79px;}

    /* zone05 - MOU 2열 */
    .zone05_mou_item {flex:0 0 calc(50% - 6px);}
    .zone05_mou_link {height:80px; border-radius:10px;}
}
