
/* ****************** HTML 편집기  ****************** */

.html_462381_ {overflow:hidden;}
.html_462381_:after {content:''; display:block; clear:both;}

  :root {
    --primary: #0054a6;
    --primary-dark: #004080;
    --accent: #ee9b00;
    --bg-page: #f5f8fb;
    --bg-section: #ffffff;
    --text-dark: #333;
    --text-muted: #666;
    --link: #0054a6;
  }

  /* 리셋 & 공통 */
  * { margin:0; padding:0; box-sizing:border-box; }
  body {
    font-family: '나눔고딕', sans-serif;
    background: var(--bg-page);
    color: var(--text-dark);
    line-height:1.6;
  }
  a { color: var(--link); text-decoration:none; }

  /* Hero Header */
  .hero {
    position: relative;
    background: var(--primary);
    color: #fff;
    text-align: center;
    padding: 80px 20px;
    overflow: hidden;
  }
  .hero::before, .hero::after {
    content:""; position:absolute;
    width:200%; height:200%;
    top:-50%; left:-50%; z-index:0;
  }
  .hero::before {
    background: rgba(0,84,166,0.8);
    transform: rotate(45deg);
  }
  .hero::after {
    background: rgba(66,149,245,0.6);
    transform: rotate(-45deg);
  }
  .hero .inner {
    position: relative; z-index:1;
    max-width:800px; margin:0 auto;
  }
  .hero h1 { font-size:3rem; margin-bottom:8px; }
  .hero p { font-size:1.25rem; opacity:0.9; }

  /* Breadcrumb & Title */
  #sub_tit {
    max-width:1000px; margin:0 auto; padding:16px 24px; text-align:center;
  }
  #sub_tit .title {
    font-size:32px; color:var(--primary); margin:8px 0;
  }
  #sub_tit .normal_txt {
    font-size:16px; color:var(--text-muted); margin-bottom:24px;
  }

  /* --- [수정] 섹션 제목 통일 --- */
  .subject_wrap {
    text-align:left;
    margin: 0 auto 24px; /* 내부 컨텐츠이므로 상단 마진 제거, 하단 조정 */
    max-width:1000px;
    padding:0; /* 부모 섹션에서 패딩 관리 */
  }
  .subject_wrap .subject_txt {
    font-size:1.75rem;
    font-weight:600;
    color:var(--primary-dark);
    line-height:1.2;
    margin:0;
  }

  /* --- [수정] scontents 및 공통 섹션 스타일 --- */
  .scontents,
  .services,
  .schedule-doctor,
  .doctor-section {
    background-color: var(--bg-section);
    padding: 32px 24px;
    margin: 24px auto;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    max-width: 1000px;
  }
  .scontents {
    text-align: center;
    margin-top:0;
  }

  /* scontents 애니메이션 */
  .scontents .eng,
  .scontents .stitle {
    opacity:0; transform: translateY(20px);
    transition: opacity .6s ease, transform .6s ease;
  }
  .scontents.visible .eng,
  .scontents.visible .stitle {
    opacity:1; transform: translateY(0);
  }
  .scontents .eng {
    font-size:18px; color:var(--primary); font-weight:bold; margin-bottom:8px;
  }
  .scontents .stitle {
    font-size:24px; color:var(--text-dark); margin-bottom:32px;
  }

  /* 진료 구성 테이블 */
  .clinic-table {
    width:100%; max-width:800px; margin:0 auto 40px;
    border-collapse: collapse;
  }
  .clinic-table thead th {
    background: var(--primary);
    color:#fff; padding:12px; text-align:left;
  }
  .clinic-table th, .clinic-table td {
    padding:12px; font-size:18px;
  }
  .clinic-table tbody tr {
    background: var(--bg-section);
    opacity:0; transform: translateX(-30px);
    transition: opacity .6s ease, transform .6s ease;
  }
  .clinic-table tbody tr:nth-child(odd) {
    background:#f9f9f9;
  }
  .clinic-table tbody tr.visible {
    opacity:1; transform: translateX(0);
  }
  .clinic-table .bg_left {
    font-weight:bold; color:var(--primary); width:30%;
  }

  /* 주요 검사 서비스 */
  .services .section-header {
    text-align:center; margin-bottom:32px;
  }
  .services .section-header h2 {
    font-size:2rem; color:var(--primary);
  }
  
  /* --- [수정] 주요 검사 서비스 카드형 디자인 --- */
  .feature {
    display:flex; align-items:center;
    opacity:0; transition:opacity .8s ease, transform .8s ease;
    background: #fff;
    padding: 24px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
    margin-bottom: 32px;
  }
  .feature:nth-child(even) { flex-direction:row-reverse; }
  .feature .image,
  .feature .text { flex:1; }
  .feature .image {
    padding: 0; /* 기존 패딩 제거 */
    background: none; /* 기존 배경 제거 */
  }
  .feature .image img {
    width:100%; border-radius:8px; display:block;
  }
  .feature .text {
    padding:0 24px;
  }
  .feature .text h3 {
    font-size:1.75rem; color:var(--primary-dark); margin-bottom:12px;
  }
  .feature .text p {
    color:var(--text-muted); line-height:1.6;
  }
  .feature[data-animate="left"] { transform:translateX(-50px); }
  .feature[data-animate="right"] { transform:translateX(50px); }
  .feature.visible {
    opacity:1; transform:translateX(0);
  }

  /* --- [수정] 진료시간표 디자인 --- */
  .schedule-table {
    width:100%; border-collapse: collapse;
    border-style: hidden; /* 테이블 자체 테두리 숨기고, 셀 테두리만 노출 */
    box-shadow: 0 0 0 1px #ddd; /* 그림자로 1px 테두리 효과 */
    border-radius: 8px;
    overflow: hidden;
  }
  .schedule-table th,
  .schedule-table td {
    border:1px solid #ddd; padding:12px;
    font-size:14px; text-align:center; vertical-align:middle;
  }
  .schedule-table th {
    background:#eaf5ff;
    color:var(--primary-dark); font-weight:600;
  }
  .schedule-table td { 
    height:52px; 
    transition: background-color 0.3s ease;
  }
  .schedule-table tbody tr:hover td:not(.offday) {
    background-color: #f8f9fa;
  }
  /* 시간(오전/오후) 컬럼 스타일 */
  .schedule-table th:nth-child(2),
  .schedule-table tbody td:nth-child(2) {
      font-weight: 600;
      background-color: #f7faff;
  }
  /* 휴무일 셀 스타일 */
  .schedule-table td.offday {
    background-color: #fff5f5;
    color: #d9534f;
    font-weight: bold;
  }

  /* --- [수정] 의료진 소개 디자인 --- */
  .doctor-card {
    display:flex; align-items:center;
    border:1px solid #ddd; border-radius:8px;
    background:#fff; overflow:hidden; width:100%;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }
  .doctor-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 6px 16px rgba(0,0,0,0.12);
  }
  .doctor-card img {
    width:140px; height:140px;
    object-fit:contain; background:#f5f5f5;
    flex-shrink:0;
  }
  .doctor-info {
    flex:1; padding:16px 24px; border-left:1px solid #eee; text-align:left;
  }
  .doctor-info .title {
    font-size:0.875rem; color:var(--primary-dark); margin-bottom:4px;
  }
  .doctor-info .name {
    font-size:1.5rem; margin-bottom:8px;
  }
  .doctor-info .specialty {
    font-size:0.875rem; line-height:1.4; margin-bottom:12px;
  }
  .doctor-info .btn {
    display:inline-block; margin-top:12px;
    padding:8px 16px; background:var(--primary);
    color:#fff; border-radius:4px; text-decoration:none;
    font-weight: bold;
    transition: background-color 0.3s ease, transform 0.3s ease;
  }
  .doctor-info .btn:hover {
      background-color: var(--primary-dark);
      transform: scale(1.05);
  }

  @media(max-width:800px) {
    .feature {
      flex-direction:column !important;
      text-align:center;
    }
    .feature .text { padding:16px 0; }
  }

  @media(max-width:768px) {
    .scontents,
    .services,
    .schedule-doctor,
    .doctor-section {
        padding: 24px 16px;
    }
    .clinic-table th, .clinic-table td { padding:8px; }
  }
