/* Direction C leaf details. Shared hubs supply common buttons and shell. */
.dcd-page{background:#fff;color:#33483f;padding:0 0 88px;font:16px/1.85 "Noto Sans JP",sans-serif}.dcd-page *{box-sizing:border-box}.dcd-wrap{width:min(1120px,calc(100% - 64px));margin:auto}.dcd-breadcrumb{display:flex;gap:14px;flex-wrap:wrap;padding:24px 0;font-size:14px}.dcd-page a{color:#26764d}.dcd-page a:focus-visible{outline:3px solid #26764d;outline-offset:5px}.dcd-hero{padding:44px 0 72px;border-bottom:1px solid #dbe2dd}.dcd-hero>p:first-child{margin:0 0 16px;color:#57675e;font-size:14px;letter-spacing:.12em}.dcd-hero h1,.dcd-page h2{color:#243f34;font-family:var(--hp-font-primary);font-weight:600}.dcd-hero h1{font-size:clamp(32px,4vw,48px);line-height:1.5;letter-spacing:.04em;margin:0}.dcd-hero>div{width:72px;border-top:2px solid #96a18d;margin:28px 0}.dcd-hero>p:last-child{max-width:720px;margin:0;font-size:17px}.dcd-section{padding:64px 0;border-bottom:1px solid #dbe2dd}.dcd-page h2{font-size:30px;line-height:1.65;margin:0 0 24px}.dcd-page h3{color:#243f34;font-size:19px;line-height:1.7;margin:0 0 12px}.dcd-keywords{display:flex;gap:10px;flex-wrap:wrap}.dcd-keywords span{border:1px solid #b7c3b8;padding:8px 14px;border-radius:999px;font-size:14px}.dcd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.dcd-grid article{padding-top:22px;border-top:1px solid #96a18d}.dcd-grid p,.dcd-list p{margin:0}.dcd-facts dl{margin:0;max-width:760px}.dcd-facts dl>div{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:17px 0;border-bottom:1px solid #dbe2dd}.dcd-facts dt{font-weight:600}.dcd-facts dd{margin:0}.dcd-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.dcd-gallery figure{margin:0}.dcd-gallery img{display:block;width:100%;height:230px;object-fit:cover;border-radius:12px}.dcd-list{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.dcd-list article{padding:22px 0;border-bottom:1px solid #dbe2dd}.dcd-note{margin-top:56px;padding:40px;background:#f0f6ef;border:0;border-radius:12px}.dcd-note p{margin:0}.dcd-note ul{margin:20px 0 0;padding-left:1.25em}.dcd-documents{display:grid;gap:0;max-width:760px}.dcd-documents a{display:flex;justify-content:space-between;gap:24px;align-items:center;min-height:62px;padding:18px 0;border-bottom:1px solid #dbe2dd;text-decoration:none;font-weight:600}.dcd-next{display:flex;justify-content:space-between;gap:40px;align-items:center;padding:64px 0 0}.dcd-next h2{font-size:26px;margin-bottom:10px}.dcd-next p{margin:0;max-width:620px}@media(max-width:767px){.dcd-wrap{width:calc(100% - 40px)}.dcd-hero{padding:20px 0 40px}.dcd-hero h1{font-size:32px}.dcd-hero>p:last-child{font-size:16px}.dcd-section{padding:42px 0}.dcd-page h2{font-size:26px}.dcd-grid,.dcd-gallery,.dcd-list{grid-template-columns:1fr;gap:20px}.dcd-facts dl>div{grid-template-columns:100px 1fr;gap:16px}.dcd-gallery img{height:220px}.dcd-note{padding:24px;margin-top:40px}.dcd-next{display:block;padding-top:44px}.dcd-next .dc-button{display:flex;width:100%;justify-content:center;margin-top:24px}}

/* Photo-led detail first view, aligned with the approved site preview. */
.dcd-hero>.dcd-hero-copy{width:auto;border:0;margin:0}
.dcd-page{background:#fff}
.dcd-wrap{width:min(1144px,calc(100% - 56px))}
.dcd-editorial{display:grid;grid-template-columns:210px minmax(0,1fr);gap:58px}
.dcd-editorial>h2{font:600 16px/1.8 "Noto Sans JP",sans-serif;color:#26764d;border-top:1px solid #dbe2dd;padding-top:12px}
.dcd-editorial-body article{padding:35px 0;border-bottom:1px solid #dbe2dd}
.dcd-editorial-body article:first-child{padding-top:0}
.dcd-editorial-body h3{font:600 26px/1.65 var(--hp-font-primary);margin-bottom:17px}
.dcd-editorial-body p{margin:0;white-space:pre-line;line-height:2}
@media(max-width:767px){.dcd-wrap{width:calc(100% - 40px)}.dcd-editorial{grid-template-columns:minmax(0,1fr);gap:26px}.dcd-editorial-body h3{font-size:23px}}
.dcd-hero-copy>p:first-child{margin:0 0 16px;color:#57675e;font-size:14px;letter-spacing:.12em}
.dcd-hero-copy>div{width:72px;border-top:2px solid #96a18d;margin:28px 0}
.dcd-hero-copy>p:last-child{max-width:720px;margin:0;font-size:17px}
.dcd-hero--photo{display:grid;grid-template-columns:1.15fr 1fr;gap:52px;align-items:center}
.dcd-hero figure{margin:0}.dcd-hero figure img{display:block;width:100%;height:320px;object-fit:cover;border-radius:8px}.dcd-hero figcaption{font-size:12px;color:#60716c;margin-top:8px}
.dcd-grid{grid-template-columns:1fr;max-width:900px;gap:30px}.dcd-grid article{display:grid;grid-template-columns:230px 1fr;gap:35px;padding-top:30px}.dcd-grid p{white-space:pre-line}
@media(max-width:767px){.dcd-hero--photo{grid-template-columns:1fr;gap:28px}.dcd-hero figure img{height:220px}.dcd-grid article{grid-template-columns:1fr;gap:0}.dcd-hero-copy>p:last-child{font-size:16px}}

.dcd-hero--doctor figure { background: #f0f4f0; }
.dcd-hero--doctor figure img { object-fit: contain; max-height: 460px; }
.dch-intro-photo figcaption { padding: 5px 12px; color: #57675e; font-size: 11px; text-align: right; background: #fff; }

/* Facility photographs carry real place information, with useful captions. */
html[data-font-size="large"] .dcd-page--facility :is(p, dt, dd, .dc-button, .dch-link) { font-size: 19px; }
html[data-font-size="large"] .dcd-page--facility figcaption { font-size: 16px; }
.dcd-page--facility .dcd-hero--photo { grid-template-columns: 1fr 1.1fr; gap: 44px; }
.dcd-page--facility .dcd-hero h1 { font-size: clamp(28px, 3vw, 42px); }
.dcd-page--facility .dcd-hero figure img { height: auto; border-radius: 2px; }
.dcd-page--facility .dc-facility-name { display: block; }
.dcd-page--facility figcaption { font-size: 13px; line-height: 1.7; color: #57675e; margin-top: 10px; }
.dcd-facility-nav { display: flex; gap: 12px 32px; flex-wrap: wrap; padding: 22px 0; border-bottom: 1px solid #dbe2dd; }
.dcd-facility-nav a { display: inline-flex; align-items: center; min-height: 44px; text-underline-offset: 5px; }
.dcd-page--facility .dcd-editorial-body { max-width: 720px; }
.dcd-page--facility .dcd-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px; }
.dcd-page--facility .dcd-gallery img { height: auto; border-radius: 2px; }
.dcd-page--facility [id] { scroll-margin-top: 170px; }
@media (max-width: 767px) {
  .dcd-page--facility .dcd-hero--photo { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .dcd-page--facility .dcd-gallery { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .dcd-facility-nav { gap: 4px 22px; font-size: 14px; }
  .dcd-page--facility [id] { scroll-margin-top: 110px; }
}

/* Disease headings link only to existing, published local articles. */
.dcd-editorial-body h3 a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.dcd-editorial-body h3 a:hover { color: #26764d; }
.dcd-editorial-body h3 a:focus-visible, .dcd-medical-sources a:focus-visible { outline: 3px solid #26764d; outline-offset: 4px; }
.dcd-medical-sources ul { margin: 1em 0; padding-left: 1.3em; }
.dcd-medical-sources li { margin: .6em 0; line-height: 1.8; overflow-wrap: anywhere; }
.dcd-medical-sources a { text-decoration: underline; text-underline-offset: .2em; }
/* One readable, optional table of contents instead of repeated arrow buttons. */
.clinic-toc { margin:24px 0; border:1px solid #d8e3dc; border-radius:10px; background:#f6f9f7; }
.clinic-toc summary { padding:14px 18px; min-height:48px; font-size:16px; cursor:pointer; font-weight:600; }
.clinic-toc .clinic-section-links { display:grid; grid-template-columns:1fr; gap:0; padding:0 16px 12px; }
.clinic-toc .clinic-section-links a { display:block; min-height:44px; padding:12px 2px; border:0; border-top:1px solid #d8e3dc; border-radius:0; background:none; line-height:1.65; font-size:15px; overflow-wrap:anywhere; }
.clinic-toc summary:focus-visible,.clinic-toc a:focus-visible { outline:3px solid #28794f; outline-offset:2px; }
.clinic-detail .dcd-editorial-body>article p { grid-column:2; margin:0 0 14px; }
@media(max-width:767px) { .clinic-detail .dcd-editorial-body>article p { grid-column:1; } .dcd-facility-nav { display:grid; grid-template-columns:1fr; } .dcd-facility-nav a { min-height:44px; display:flex; align-items:center; } }
.clinic-facility-fees .clinic-fee-grid { display:grid; grid-template-columns:1fr; }
.clinic-facility-fees .clinic-fee-card { padding:20px; border:1px solid #d8e3dc; border-radius:10px; }
.clinic-facility-fees .clinic-fee-card strong { font-size:24px; }
.clinic-facility-fees .clinic-fee-card dl { margin:20px 0; }
.clinic-facility-fees .clinic-fee-card dl>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; border-bottom:1px solid #e1e8e3; padding:12px 0; }
.clinic-facility-fees .clinic-fee-card dd { margin:0; white-space:nowrap; }

/* Numbered, time-free service flows remain readable in one mobile column. */
.clinic-service-flow .clinic-flow-note { font-size:14px; line-height:1.9; color:#496653; }
.clinic-service-flow ol { list-style:none; padding:0; margin:24px 0 0; }
.clinic-service-flow li { display:grid; grid-template-columns:44px minmax(0,1fr); gap:16px; padding:20px 0; border-top:1px solid #d8e3dc; }
.clinic-service-flow li>span { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:#e8f0e9; color:#23543a; font-size:16px; font-weight:600; }
.clinic-service-flow h3 { margin:0 0 8px; font-size:20px; line-height:1.6; }
.clinic-service-flow li p { margin:0; line-height:1.9; }
.clinic-fee-card .clinic-fee-meaning { display:block; margin-top:4px; font-size:13px; line-height:1.65; font-weight:400; color:#496653; }
@media(max-width:767px) { .clinic-service-flow li { gap:12px; grid-template-columns:40px minmax(0,1fr); }.clinic-service-flow h3 { font-size:18px; } }
