
/* ****************** HTML 편집기  ****************** */

.html_473321_ {overflow:hidden;}
.html_473321_: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;
    }

    /* Reset & 공통 */
    * { 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; overflow:hidden;
      background: var(--primary);
      color: #fff;
      text-align: center;
      padding: 80px 20px;
    }
    .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 */
    .breadcrumb {
      background:#fff; text-align:center;
      padding:16px 0; border-bottom:1px solid #eee;
    }
    .breadcrumb nav {
      font-size:14px; color:var(--text-muted);
    }
    .breadcrumb nav a {
      color:var(--primary);
    }
    .breadcrumb .page-title {
      font-size:2rem; color:var(--primary-dark);
      margin-top:4px;
    }

    /* Intro */
    .intro {
      max-width:900px; margin:40px auto; text-align:center;
    }
    .intro h2 {
      font-size:2rem; color:var(--primary);
      margin-bottom:12px;
    }
    .intro p {
      font-size:1rem; color:var(--text-muted);
      white-space:pre-line;
    }

    /* scontents */
    .scontents {
      max-width:1000px; margin:0 auto 40px;
      padding:0 20px; text-align:center;
    }
    .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 */
    .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 */
    .services {
      max-width:1000px; margin:0 auto 40px;
      padding:0 20px;
    }
    .services .section-header {
      text-align:center; margin-bottom:32px;
    }
    .services .section-header h2 {
      font-size:2rem; color:var(--primary);
    }
    .services-grid {
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
      gap:24px;
    }
    .service-card {
      background:var(--bg-section);
      border-radius:8px;
      box-shadow:0 2px 6px rgba(0,0,0,0.1);
      padding:24px;
      text-align:center;
      opacity:0; transform:translateY(20px);
      transition:opacity .6s ease, transform .6s ease;
    }
    .service-card.visible {
      opacity:1; transform:translateY(0);
    }
    .service-card img {
      width:100%; border-radius:8px;
      margin-bottom:12px; display:block;
    }
    .service-card h3 {
      font-size:1.25rem; color:var(--primary-dark);
      margin-bottom:12px;
    }
    .service-card p {
      font-size:0.95rem; color:var(--text-muted);
      line-height:1.5;
    }

    /* schedule-table */
    .schedule-doctor {
      max-width:1000px; margin:0 auto 60px;
      padding:0 20px;
    }
    .schedule-table {
      width:100%; border-collapse: collapse;
    }
    .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:#f0f8ff; color:var(--primary-dark);
      font-weight:600;
    }
    .schedule-table td { height:48px; }
    .schedule-table td.offday {
      background-color: #ffecec;
      color: #d9534f;
      font-weight: bold;
    }

    /* doctor-section */
    .doctor-section {
      max-width:1000px; margin:0 auto 80px;
      padding:0 20px;
    }
    .doctor-card {
      display:flex; align-items:center;
      border:1px solid #ddd; border-radius:8px;
      background:#fff; overflow:hidden; width:100%;
      margin-top:20px;
    }
    .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; padding:8px 16px;
      background:var(--primary); color:#fff;
      border-radius:4px; text-decoration:none;
    }

    /* 반응형 */
    @media(max-width:800px) {
      .feature { flex-direction:column !important; text-align:center; }
      .feature .text { padding:16px 0; }
    }
  