@charset "utf-8";

/* 공공의료사업 전용. 공통 CSS와 다른 페이지에 영향을 주지 않도록 범위를 제한합니다. */

/* 서브비주얼 숨김: 진료과/클리닉(layout.css .sub01)과 동일하게 본문 상단 제목(.com_top / .sector_top)을 사용합니다. */
#sub_visual.sub017 {height:0px; padding:0 !important; border:0px !important; overflow:hidden}

/* 상세 페이지(sub02~sub08) 상단 여백 제거: 클리닉(layout.css .sub_con013)과 동일하게 아이콘 메뉴가 헤더 바로 아래에 붙습니다. */
.sub_con.sub_con0172,
.sub_con.sub_con0173,
.sub_con.sub_con0174,
.sub_con.sub_con0175,
.sub_con.sub_con0176,
.sub_con.sub_con0177,
.sub_con.sub_con0178 {padding-top:0}

/* 공공의료사업 목록: 진료과 목록(program.css .sector_box)을 그대로 쓰고, 카드 높이·이미지 크기만 맞춥니다. */
.sector_box.public-health-list ul.sector_list {display:flex; flex-wrap:wrap; justify-content:center;}
.sector_box.public-health-list ul.sector_list li {display:flex;}
.sector_box.public-health-list ul.sector_list li a {display:flex; flex-direction:column; align-items:center; width:100%; padding:0 8px;}
.sector_box.public-health-list ul.sector_list li .img {display:flex; align-items:center; justify-content:center; height:60px; margin-bottom:8px;}
.sector_box.public-health-list ul.sector_list li .img img {width:auto; max-width:100%; height:100%; margin:0;}
.sector_box.public-health-list ul.sector_list li span {word-break:keep-all; line-height:1.4;}
.sector_box.public-health-list ul.sector_list li .sub {display:block; margin-top:2px; font-size:0.85em; color:#666;}

@media all and (min-width:1200px) {
.sector_box.public-health-list ul.sector_list {justify-content:flex-start;}
.sector_box.public-health-list ul.sector_list li a {padding:0;}
.sector_box.public-health-list ul.sector_list li .img {height:80px; margin-bottom:12px;}
}

/* 상단 아이콘 메뉴: 클리닉 메뉴(program.css .sector_nav.clinic)를 그대로 쓰고, 두 줄 이름과 가로형 엠블럼이 기존 높이(80px) 안에 들어가도록 이미지·글자 크기만 조정합니다. */
.sector_nav.public-health-nav .nav-scroller-content li.nav-scroller-item img {width:auto; max-width:100%; height:40px; margin:0 auto 4px;}
.sector_nav.public-health-nav .nav-scroller-content li.nav-scroller-item span {font-size:0.8em; line-height:1.3; word-break:keep-all;}

/* 사업소개: 클리닉 소개(contents.css .clinic_bottom .about_clinic)를 그대로 쓰고, 부제목과 소개 박스만 추가합니다. */
.clinic_bottom .about_clinic .public-health-lead {color:#555; font-size:1.1em; word-break:keep-all;}
.clinic_bottom .about_clinic .public-health-intro {max-width:720px; margin:0 auto; padding:24px 20px; background:#f4f4f4; text-align:left; line-height:1.6; word-break:keep-all;}
.clinic_bottom .about_clinic .public-health-intro p {font-size:.95em; letter-spacing:-.02em; text-wrap:pretty;}
.clinic_bottom .about_clinic .public-health-intro p + p {margin-top:1.4em;}
.clinic_bottom .about_clinic .public-health-intro strong {font-weight:600; color:#000;}
.clinic_bottom .about_clinic .public-health-intro strong.blTxt {color:#1a42b2;}
.clinic_bottom .about_clinic .public-health-intro .closing {margin-top:2em;}
.clinic_bottom .about_clinic .public-health-intro .closing .lead {font-size:1.1em;}
.clinic_bottom .about_clinic .public-health-intro .logo {display:block; width:100px; margin:24px 0 0 auto;}
.clinic_bottom .about_clinic .public-health-leaflet {max-width:720px; margin:10px auto 0;}
.clinic_bottom .about_clinic br.pc,
.cardio-detail br.pc {display:none;}
.clinic_bottom .about_clinic .public-health-video-section {max-width:720px; margin:80px auto 0; text-align:left;}
.clinic_bottom .about_clinic .public-health-video-title {margin-bottom:40px; padding:0 10px 10px; border-bottom:2px solid #2155ae; color:#000; font-size:1.2em; font-weight:600;}
.clinic_bottom .about_clinic .public-health-video {position:relative; width:100%; margin:0 auto; padding-top:56.25%; overflow:hidden; background:#000;}
.clinic_bottom .about_clinic .public-health-video iframe {position:absolute; inset:0; width:100%; height:100%; border:0;}

@media all and (min-width:768px) {
.clinic_bottom .about_clinic .public-health-lead {font-size:1.2em;}
.clinic_bottom .about_clinic .public-health-intro {padding:30px;}
.clinic_bottom .about_clinic .public-health-intro p {font-size:1.05em; letter-spacing:normal;}
.clinic_bottom .about_clinic .public-health-intro .logo {width: 170px;}
.clinic_bottom .about_clinic .public-health-video-title {font-size:1.3em;}
}

@media all and (min-width:1200px) {
.clinic_bottom .about_clinic .public-health-lead {font-size:1.4em;}
.clinic_bottom .about_clinic .public-health-intro {padding:32px 32px 24px;}
.clinic_bottom .about_clinic br.pc,
.cardio-detail br.pc {display:block;}
.clinic_bottom .about_clinic .public-health-video-title {font-size:1.4em;}
}

/* 사업내용: 클리닉 본문 폭(720px)에 맞춘 한 단 구성 */
.public-health-detail {width:min(100%, 720px); margin:0 auto; word-break:keep-all;}
.public-health-detail .public-health-tit {margin-bottom:16px;padding:0 10px 10px;border-bottom:2px solid #2155ae;color:#000;font-size:1.2em;font-weight: 600;}
.public-health-detail .public-health-tit.no-gap {margin-bottom:0;}
.public-health-detail .public-health-label {margin-bottom:8px;color:#1a42b2;font-size: 1.05em;font-weight:600;}

.public-health-detail .public-health-target {padding:0 10px;}
.public-health-detail .public-health-target li {position:relative; padding-left:16px; color:#000; font-size:1.1em; font-weight:500;}
.public-health-detail .public-health-target li + li {margin-top:8px;}
.public-health-detail .public-health-target li:before {content:''; position:absolute; left:2px; top:0.6em; width:6px; height:6px; border-radius:50%; background:#2155ae;}
.public-health-detail .public-health-target strong {color:#1a42b2; font-weight:600;}

.public-health-detail .public-health-figure {max-width:500px; margin:0 auto;}
.public-health-detail .public-health-figure .crop {overflow:hidden;}
/* regional_01.jpg: 완성된 세로형 안내도 전체 표시 */
.public-health-detail .public-health-figure.process img {display:block; width:100%; height:auto;}
/* regional_02.png: 하단 풍경 띠를 제외하고 표시 (917x905) */
.public-health-detail .public-health-figure.system .crop {aspect-ratio:917 / 905;}
.public-health-detail .public-health-figure.system img {display:block; width:100%; height:auto;}

.public-health-detail .public-health-hotline {padding:14px 10px 16px;background:#f4f4f4;color:#555;font-size: 1.0em;line-height:1.6;}
.public-health-detail .public-health-hotline .tel {margin-bottom:4px; color:#1a42b2; font-weight:600;}
.public-health-detail .public-health-hotline em {color:#1a42b2; font-style:normal; font-weight:500;}

.public-health-detail .public-health-block {margin-top:40px; padding:0 10px;}
.public-health-detail .public-health-text {margin-bottom:24px;color:#555;font-size: 1em;line-height:1.6;}

.public-health-detail .public-health-services {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:6px;}
.public-health-detail .public-health-services li {display:flex; align-items:center; justify-content:center; min-height:56px; padding:8px 6px; border:1px solid #6a85c0; border-radius:3px; background:#fff; color:#333; font-size:0.85em; line-height:1.4; text-align:center; text-wrap:balance;}

.public-health-detail .public-health-closing {margin-top:40px; padding:28px 20px; background:#f4f4f4; color:#000; font-size:1.05em; font-weight:500; line-height:1.6; text-align:center;}
.public-health-leaflet {margin-top:10px; font-size:0.85em; font-weight:600; text-align:right;}
.public-health-leaflet a {color:#1a42b2;}
.public-health-leaflet span {color:#969696;}

/* 지역심뇌혈관질환센터 사업내용 */
.cardio-detail {color:#333;}
.cardio-detail .cardio-section + .cardio-section {margin-top:64px;}
.cardio-detail .cardio-target {padding:0 10px;}
.cardio-detail .cardio-target + .cardio-target {margin-top:34px;}
.cardio-detail .cardio-target h5 {position:relative; margin-bottom:12px; padding-left:15px; color:#111; font-size:1.05em; font-weight:600; line-height:1.5;}
.cardio-detail .cardio-target h5:before {content:''; position:absolute; top:.62em; left:0; width:6px; height:6px; border-radius:50%; background:#2155ae;}
.cardio-detail .cardio-target h5 span {color:#1a55b5;}
.cardio-detail .cardio-target img {display:block; width:100%; max-width:664px; height:auto; margin:0 auto;}
.cardio-detail .cardio-steps {padding:22px 14px; background:#f4f4f4;}
.cardio-detail .cardio-steps li {display:flex; align-items:flex-start; gap:14px; line-height:1.5;}
.cardio-detail .cardio-steps li + li {margin-top:24px;}
.cardio-detail .cardio-steps strong {display:flex; flex:none; flex-direction:column; width:58px; color:#1460bf; font-size:1.3em; font-weight:700; line-height:1.05;}
.cardio-detail .cardio-steps strong span {display:block;text-align: center;}
.cardio-detail .cardio-steps li > div {min-width:0; padding-top:1px;}
.cardio-detail .cardio-steps b {color:#222; font-size:1.05em; font-weight:600;}
.cardio-detail .cardio-steps p {margin-top:4px; color:#555; font-size:.9em;}
.cardio-detail .cardio-centers {display:grid; grid-template-columns:1fr; gap:8px; padding:0 6px;}
.cardio-detail .cardio-centers article {padding:14px 10px; border:1px solid #2861bb; border-radius:8px; text-align:center;}
.cardio-detail .cardio-centers h5 {display:flex; align-items:center; justify-content:center; gap:6px; margin-bottom:8px; color:#1460bf; font-size:1em; font-weight:700;}
.cardio-detail .cardio-centers h5 img {width:auto; height:23px;}
.cardio-detail .cardio-centers p {color:#444; font-size:.82em; line-height:1.55; word-break:keep-all;}
.cardio-detail .cardio-management-icon {display:inline-flex; align-items:center; justify-content:center; width:21px; height:21px; border:2px solid #1460bf; border-radius:50%; font-size:17px; line-height:1;}
.cardio-detail .cardio-community dl {padding:0 14px;}
.cardio-detail .cardio-community dt {color:#1255ae; font-weight:700;}
.cardio-detail .cardio-community dt:not(:first-child) {margin-top:28px;}
.cardio-detail .cardio-community dd {margin-top:8px; color:#444; font-size:.95em; line-height:1.6;}
.cardio-detail .cardio-message {margin-top:64px; padding:22px 15px; background:#f4f4f4; text-align:center;}
.cardio-detail .cardio-message strong {display:block; color:#1855ae; font-size:1.15em; font-weight:700;}
.cardio-detail .cardio-message p {margin-top:7px; color:#222; font-weight:600; line-height:1.5;}
.cardio-detail .cardio-closing {margin-top:36px; color:#222; font-weight:600; line-height:1.65; text-align:center;}
.cardio-detail .cardio-closing strong {color:#1855ae;}

@media all and (max-width:767px) {
.clinic_bottom .about_clinic .public-health-intro {line-height:1.75;}
.clinic_bottom .about_clinic .public-health-intro .closing {line-height:1.65;}
.cardio-detail .cardio-community dd,
.cardio-detail .cardio-message p,
.cardio-detail .cardio-closing {letter-spacing:-.025em; text-wrap:pretty;}
.cardio-detail .cardio-community dd {font-size:.9em; line-height:1.75;}
.cardio-detail .cardio-message {padding:20px 14px;}
.cardio-detail .cardio-message strong {font-size:1.05em; line-height:1.5; text-wrap:pretty;}
.cardio-detail .cardio-message p {font-size:.9em; line-height:1.65;}
.cardio-detail .cardio-closing {font-size:.95em; line-height:1.75;}
}

@media all and (min-width:768px) {
.public-health-detail .public-health-tit {font-size:1.3em;}
.public-health-detail .public-health-target li {font-size:1.2em;}
.public-health-detail .public-health-services {grid-template-columns:repeat(3, minmax(0, 1fr));}
.cardio-detail .cardio-target h5 {font-size:1.15em;}
.cardio-detail .cardio-steps {padding:24px 16px 28px;}
.cardio-detail .cardio-centers {grid-template-columns:repeat(2, minmax(0, 1fr));}
.cardio-detail .cardio-centers article {min-height:112px;}
.cardio-detail .cardio-message {padding:25px 20px;}
.cardio-detail .cardio-message strong {font-size:1.35em;}
}

@media all and (min-width:1024px) {
.public-health-detail .public-health-services {grid-template-columns:repeat(5, minmax(0, 1fr));}
.public-health-detail .public-health-services li {min-height:64px;font-size: 0.9em;}
}

@media all and (min-width:1200px) {
.public-health-detail .public-health-tit {font-size:1.4em;}
.public-health-detail .public-health-target li {font-size:1.3em;}
.public-health-detail .public-health-closing {padding:32px 20px; font-size:1.15em;}
}

.public-health {
    color: #323232;
    background: #fff;
    word-break: keep-all;
    overflow-wrap: break-word;
}

.public-health .public-health__inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.public-health .public-health__description {
    line-height: 1.9;
}

.public-health .public-health__description p + p {
    margin-top: 16px;
}

.public-health .public-health__desktop-break {
    display: none;
}

.public-health .public-health__projects {
    padding: 40px 0 64px;
    background: #f7f8fa;
}

.public-health .public-health__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.public-health .public-health__item {
    min-width: 0;
}

.public-health .public-health__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 210px;
    padding: 24px 12px;
    border: 1px solid #e4e8ee;
    background: #fff;
    color: #323232;
    text-align: center;
    text-decoration: none;
}

.public-health .public-health__card:hover {
    border-color: #2155ae;
}

.public-health .public-health__card:focus-visible {
    outline: 3px solid #2155ae;
    outline-offset: 4px;
}

.public-health .public-health__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 80px;
    width: 80px;
    height: 80px;
    margin-bottom: 18px;
    border-radius: 50%;
    background: #f0f5fb;
    color: #2155ae;
    padding: 16px;
}

.public-health .public-health__icon img {
    display: block;
    width: 64px;
    height: 64px;
    object-fit: contain;
}

.public-health .public-health__icon svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linejoin: round;
}

.public-health .public-health__name {
    max-width: 220px;
    font-size: 1.05em;
    font-weight: 400;
    line-height: 1.6;
}

@media (min-width: 768px) {
    .public-health .public-health__desktop-break { display: inline; }
    .public-health .public-health__projects { padding: 48px 0 80px; }
    .public-health .public-health__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
    .public-health .public-health__card { min-height: 230px; padding: 28px 18px; }
}

@media (min-width: 1200px) {
    .public-health .public-health__name { font-size: 1.1em; }
    .public-health .public-health__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 359px) {
    .public-health .public-health__list { grid-template-columns: minmax(0, 1fr); }
}
