.dental-local-nav {display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;padding:24px;border-bottom:1px solid var(--line);background:#fff;}
.dental-local-nav a {color:var(--brand-dark);text-decoration:none;font-weight:700;padding:8px 0;}
.dental-local-nav a[aria-current],.dental-local-nav a:hover {border-bottom:2px solid var(--brand-dark);}
.dental-source {font-family:var(--sans);line-height:1.95;letter-spacing:0;color:var(--ink);}
.dental-source * {box-sizing:border-box;min-width:0;letter-spacing:0;}
.dental-source > section {padding:64px max(24px,calc((100% - 1100px)/2));margin:0;border-radius:0;}
.dental-source > section:nth-child(2n) {background:var(--soft);}
.dental-source h2 {font-family:var(--serif);font-size:28px;color:var(--brand-dark);line-height:1.6;margin:0 0 32px;}
.dental-source h3 {font-size:22px;line-height:1.6;color:var(--brand-dark);margin:0 0 18px;}
.dental-source p {margin:0 0 20px;}
.dental-source img {display:block;max-width:100%;height:auto;}
.dental-source a {color:var(--brand-dark);text-underline-offset:5px;}
.dental-source a:hover {color:#0e6686;}
.dental-source a:focus-visible {outline:3px solid #00686c;outline-offset:5px;}
.dental-source [id] {scroll-margin-top:130px;}
.dental-source ul {padding-left:24px;}
.dental-source dl {margin:16px 0;}
.dental-source dt {font-weight:700;color:var(--brand-dark);}
.dental-source dd {margin:0 0 16px;}
.dental-source figure {margin:0;}
.dental-source table {width:100%;border-collapse:collapse;font-size:16px;white-space:nowrap;}
.dental-source th,.dental-source td {border-bottom:1px solid var(--line);padding:12px 8px;text-align:center;}
.dental-source th {background:#e6f4f2;color:var(--brand-dark);font-weight:700;}
.dental-source iframe {width:100%;height:340px;border:0;}
.dental-source [class*="__hours"],.dental-source [class*="__table-wrap"] {overflow-x:auto;}
.dental-source [class*="__inner"] {width:100%;max-width:1100px;margin:auto;padding:0;}
.dsrc-fv__inner,.dsrc-clinic-intro__panel,.dsrc-doctor-profile__panel,.dsrc-visit-dental__panel,.dsrc-footer__main {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;}
.dsrc-fv__copy img {width:340px;}
.dsrc-fv__departments img {width:280px;}
.dsrc-fv__people img {width:230px;margin-top:32px;}
.dsrc-swiper-wrapper,.dsrc-about-gallery__grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.dsrc-fv__slider-area .dsrc-swiper-wrapper {grid-template-columns:repeat(2,minmax(0,1fr));}
.dsrc-swiper-slide img,.dsrc-about-gallery__item img {width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;}
.dsrc-clinic-intro__visual {position:relative;}
.dsrc-clinic-intro__girl {width:360px;margin:auto;}
.dsrc-clinic-intro__speech {width:160px;margin:12px auto;}
.dsrc-clinic-intro__first {display:flex;gap:20px;flex-wrap:wrap;padding:22px 0;margin-top:28px;border-block:1px solid var(--line);}
.dsrc-doctor-profile__image img,.dsrc-doctor-profile__visual img,.dsrc-about-director__photo img {width:320px;max-height:420px;object-fit:cover;border-radius:8px;}
.dsrc-visit-dental img {max-width:430px;margin:auto;}
.dsrc-contents-section-heading__title {display:flex;align-items:center;gap:16px;}
.dsrc-contents-section-heading__icon img {width:48px;height:48px;object-fit:contain;}
.dsrc-service-nav__list {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;padding:0!important;margin:28px 0 48px;}
.dsrc-service-nav__link {display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:20px 8px;border:1px solid var(--line);border-radius:8px;text-decoration:none;height:100%;background:#fff;}
.dsrc-service-nav__icon {width:64px;height:64px!important;object-fit:contain;}
.dsrc-service-nav__arrow,.dsrc-first-visit-flow__arrow {display:none;}
.dsrc-service-detail {padding:30px 0;border-top:1px solid var(--line);}
.dsrc-service-detail__body {max-width:900px;}
.dsrc-first-visit-reservation__cards,.dsrc-belongings-card {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;}
.dsrc-reservation-card {border:1px solid var(--line);border-radius:8px;padding:28px;background:#fff;}
.dsrc-reservation-card__icon img {width:70px;}
.dsrc-reservation-card__tel {font-size:26px;font-weight:700;}
.dsrc-reservation-card__button,.dsrc-footer__line {display:inline-block;padding:12px 22px;background:#e5f3ec;border:1px solid #8ebea4;border-radius:4px;margin:16px 0;text-decoration:none;}
.dsrc-first-visit-flow__steps {counter-reset:step;}
.dsrc-flow-step {padding:28px 0;border-top:1px solid var(--line);}
.dsrc-flow-step__card {display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;}
.dsrc-flow-step__heading-wrap {display:flex;gap:16px;align-items:flex-start;}
.dsrc-flow-step__heading-wrap > img {width:56px;flex:0 0 56px;}
.dsrc-flow-step__icon img {max-width:80px;max-height:90px;object-fit:contain;}
.dsrc-flow-step__number {color:var(--brand-dark);font-size:20px;font-weight:700;}
.dsrc-belongings-card__divider {display:none;}
.dsrc-belongings-card__image img {max-width:160px;margin:20px 0;}
.dsrc-about-director__content {display:grid;grid-template-columns:320px minmax(0,1fr);gap:48px;align-items:start;}
.dsrc-about-director__name {font-size:24px;font-weight:700;color:var(--brand-dark);}
.dsrc-about-director__block {padding:24px 0;border-bottom:1px solid var(--line);}
.dsrc-about-overview__figure img {width:min(100%,850px);margin:32px auto 0;}
.dsrc-footer__logo img {width:300px;margin-bottom:24px;}
.dsrc-footer__logo {display:inline-block;text-decoration:none;margin-bottom:24px;}
.dsrc-clinic-brand-row {display:flex;align-items:center;gap:14px;color:var(--ink);}
.dsrc-clinic-brand-row img {width:48px;height:56px;object-fit:contain;margin:0;}
.dsrc-clinic-brand-en {display:block;font-size:11px;line-height:1.4;}
.dsrc-clinic-brand-corporation {display:block;font-family:var(--serif);font-size:23px;font-weight:700;line-height:1.5;}
.dsrc-clinic-brand-name {display:block;color:var(--brand-dark);font-size:20px;font-weight:700;margin-top:12px;}
.dsrc-footer__tel {display:flex;align-items:center;gap:12px;font-size:24px;font-weight:700;}
.dsrc-footer__tel img,.dsrc-medical-hours img {max-width:26px;max-height:26px;}
.dsrc-footer__closed,.dsrc-footer__holiday {margin:16px 0;}
.dsrc-information__list {list-style:none;padding:0!important;}
.dsrc-information__header {display:flex;align-items:center;gap:16px;margin-bottom:24px;}
.dsrc-information__icon {width:44px;height:44px;flex:0 0 44px;}
.dsrc-information__icon img {width:44px;height:44px;object-fit:contain;}
.dsrc-information__title-wrap p,.dsrc-information__title-wrap h2 {margin:0;}
.dsrc-information__item {padding:20px 0;border-block:1px solid var(--line);}
.dsrc-treatment img {width:64px;max-height:64px;object-fit:contain;}
.dsrc-treatment a {display:inline-flex;align-items:center;gap:14px;margin:12px 24px 12px 0;}
@media(max-width:760px) {
 .dental-source > section {padding:40px 20px;}
 .dental-source h2 {font-size:24px;}
 .dental-source h3 {font-size:20px;}
 .dental-local-nav {gap:6px 18px;padding:16px;}
 .dsrc-fv__inner,.dsrc-clinic-intro__panel,.dsrc-doctor-profile__panel,.dsrc-visit-dental__panel,.dsrc-footer__main,.dsrc-about-director__content,.dsrc-first-visit-reservation__cards,.dsrc-belongings-card {grid-template-columns:1fr;gap:28px;}
 .dsrc-swiper-wrapper,.dsrc-about-gallery__grid,.dsrc-service-nav__list {grid-template-columns:repeat(2,minmax(0,1fr));}
 .dsrc-fv__people img {width:170px;}
 .dsrc-fv__copy img {width:300px;}
 .dsrc-flow-step__card {grid-template-columns:1fr;gap:16px;}
 .dental-source table {font-size:12px;}
 .dental-source th,.dental-source td {padding:10px 4px;}
 .dental-source iframe {height:280px;}
 .dsrc-reservation-card {padding:22px;}
}
