/* -----------------------------
Shared Lower Template
------------------------------ */
.sdc-template-page {
background: #e7eef1;
color: #3d3d3b;
padding-top: 86px;
padding-bottom: 80px;
}

@media (min-width: 1201px) {
.sdc-body--overlay-header .sdc-template-page {
padding-top: 0;
}
}

.sdc-template-page,
.sdc-template-page * {
box-sizing: border-box;
}

.sdc-template-page h1,
.sdc-template-page h2,
.sdc-template-page h3,
.sdc-template-page h4,
.sdc-template-page h5,
.sdc-template-page p,
.sdc-template-page ul,
.sdc-template-page li {
margin: 0;
padding: 0;
}

.sdc-template-page ul {
list-style: none;
}

.sdc-template-page a {
color: inherit;
text-decoration: none;
}

.sdc-template-page img,
.sdc-template-page iframe {
max-width: 100%;
}

.sdc-under-container {
margin: 0 auto;
width: min(1200px, calc(100% - 32px));
}

.sdc-under-section {
display: flex;
flex-direction: column;
gap: 64px;
}

.sdc-under-section + .sdc-under-section {
margin-top: 120px;
}

.sdc-ph {
align-items: center;
background:
linear-gradient(135deg, #d3dde5 0%, #c0cad6 100%);
border: 1px solid #b4bdd0;
color: #6e6d69;
display: flex;
justify-content: center;
overflow: hidden;
position: relative;
}

.sdc-ph::after {
content: "IMAGE";
font: 400 11px/1.2 "Inter", sans-serif;
letter-spacing: 0.16em;
}

.sdc-under-hero {
background-color: #000;
background-image:
linear-gradient(rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.35)),
var(--sdc-under-hero-bg);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
height: 515px;
overflow: hidden;
position: relative;
}

.sdc-under-hero__title-wrap {
align-items: center;
color: #fff;
display: flex;
flex-direction: column;
gap: 40px;
inset: 0;
justify-content: center;
position: absolute;
text-align: center;
}

.sdc-under-hero__title-wrap h1 {
font:
400 42px/1.8 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-under-hero__title-wrap p {
font:
400 18px/1.2 "Cinzel",
serif;
letter-spacing: 0.08em;
}

.sdc-404-content {
margin-top: 120px;
}

.sdc-404-card {
background: #fff;
display: flex;
flex-direction: column;
gap: 32px;
margin: 0 auto;
max-width: 860px;
padding: 64px 72px;
text-align: center;
}

.sdc-404-card__lead {
color: #212f4f;
font:
400 30px/1.6 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-404-card__body {
color: #6e6d69;
display: flex;
flex-direction: column;
gap: 10px;
}

.sdc-404-card__body p {
font:
400 16px/2 "Noto Sans JP",
sans-serif;
}

.sdc-404-actions {
display: flex;
gap: 16px;
justify-content: center;
}

.sdc-404-action {
align-items: center;
background: #212f4f;
border: 1px solid #212f4f;
color: #fff !important;
display: inline-flex;
font:
400 15px/1.2 "Zen Old Mincho",
serif;
height: 64px;
justify-content: center;
letter-spacing: 0.08em;
min-width: 220px;
padding: 0 32px;
transition:
background-color 0.2s ease,
color 0.2s ease,
border-color 0.2s ease;
}

.sdc-404-action:hover,
.sdc-404-action:focus-visible {
background: #3f5077;
border-color: #3f5077;
color: #fff;
}

.sdc-under-intro,
.sdc-staff-intro,
.sdc-clinic-intro {
display: flex;
flex-direction: column;
gap: 16px;
margin-block: 120px 80px;
text-align: center;
align-items: center;
}

.sdc-under-intro > p,
.sdc-staff-intro > p,
.sdc-clinic-intro__summary,
.sdc-clinic-intro__body > p,
.sdc-clinic-intro__stack p,
.sdc-price-intro > p {
color: #000;
font:
400 16px/1.4 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-under-intro__certs,
.sdc-staff-intro__certs {
color: #3d3d3b;
display: flex;
flex-direction: column;
gap: 16px;
}

.sdc-under-intro__certs p,
.sdc-staff-intro__certs p {
font:
400 14px/1.8 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-under-heading {
align-items: center;
border-bottom: 1px solid #b4bdd0;
display: flex;
flex-direction: column;
gap: 20px;
padding-bottom: 24px;
}

.sdc-under-heading h2 {
color: #3d3d3b;
font:
400 32px/1.2 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-under-heading p {
color: #b4bdd0;
font:
400 14px/1.2 "Cinzel",
serif;
letter-spacing: 0.08em;
}

/* --- Shared Card Title Bar --- */
.sdc-template-page .sdc-under-card-title {
align-items: center;
background: #7f8caa;
color: #fff;
display: flex;
font:
400 16px/1.8 "Zen Old Mincho",
serif;
justify-content: center;
letter-spacing: 0.08em;
margin: 0;
min-height: 45px;
padding: 8px 20px;
text-align: center;
width: 100%;
}

/* --- Shared Flow Component --- */
.sdc-under-flow {
display: flex;
flex-direction: column;
gap: 24px;
margin-top: 64px;
}

.sdc-under-flow__step {
align-items: center;
background: #fff;
display: flex;
gap: 48px;
min-height: 120px;
padding: 40px;
width: 100%;
}

.sdc-under-flow__header {
align-items: center;
display: flex;
gap: 12px;
flex: 0 0 320px;
min-width: 0;
}

.sdc-under-flow__no {
color: #7f8caa;
flex-shrink: 0;
font:
400 40px/0.96 "Cinzel",
serif;
width: 55px;
}

.sdc-under-flow__header h3 {
color: #000;
flex: 1;
font:
400 22px/1.0 "Zen Old Mincho",
serif;
min-width: 0;
line-height: 1.5;
white-space: nowrap;
}

.sdc-under-flow__divider {
background: #b4bdd0;
flex: 0 0 1px;
height: 40px;
}

.sdc-under-flow__content {
display: flex;
flex-direction: column;
gap: 12px;
flex: 1;
min-width: 0;
}

.sdc-under-flow__content p {
color: #6e6d69;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-perio-page .sdc-under-flow__header h3 {
font-size: 20px;
}

.sdc-end-page .sdc-under-flow__header,
.sdc-ortho-page .sdc-under-flow__header {
flex-basis: 330px;
}

.sdc-end-page .sdc-under-flow__header h3,
.sdc-ortho-page .sdc-under-flow__header h3 {
font-size: 20px;
}

@media (max-width: 767px) {
.sdc-under-flow {
margin-top: 40px;
}

.sdc-under-flow__step {
align-items: flex-start;
flex-direction: column;
gap: 20px;
min-height: 0;
padding: 24px;
}

.sdc-under-flow__header {
flex: none;
width: 100%;
}

.sdc-under-flow__no {
font-size: 28px;
width: 40px;
}

.sdc-under-flow__header h3 {
font-size: 18px;
}

.sdc-under-flow__divider {
height: 1px;
width: 100%;
}
}

.sdc-director-v2 {
display: flex;
gap: 40px;
justify-content: space-between;
}

.sdc-director-v2__left {
display: flex;
flex-direction: column;
gap: 16px;
width: 548px;
}

.sdc-director-v2__intro {
display: flex;
flex-direction: column;
gap: 40px;
}

.sdc-director-v2__name {
align-items: center;
display: flex;
flex-direction: column;
gap: 12px;
text-align: center;
}

.sdc-director-v2__name h3 {
font:
400 24px/1.2 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-director-v2__name p {
color: #b4bdd0;
font:
400 18px/1.2 "Cinzel",
serif;
letter-spacing: 0.08em;
}

.sdc-director-v2__message {
display: flex;
flex-direction: column;
gap: 16px;
}

.sdc-director-v2__message p {
font:
400 14px/1.8 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-director-v2__detail-box {
background: #fff;
display: flex;
flex-direction: column;
gap: 16px;
padding: 24px;
}

.sdc-director-v2__detail-box h4 {
border-bottom: 1px solid #b4bdd0;
font:
400 16px/1.2 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
padding-bottom: 16px;
}

.sdc-director-v2__columns {
color: #6e6d69;
display: grid;
gap: 16px;
grid-template-columns: 1fr 1fr;
}

.sdc-director-v2__columns ul {
display: flex;
flex-direction: column;
gap: 4px;
}

.sdc-director-v2__columns li {
font:
400 12px/23.8px "Noto Sans JP",
sans-serif;
padding-left: 16px;
position: relative;
}

.sdc-director-v2__columns li::before {
content: "•";
font-size: 14px;
inset: 0 auto auto 0;
position: absolute;
}

.sdc-director-v2__photo {
height: 736px;
width: 612px;
}

.sdc-dentist-list-v2 {
display: flex;
flex-direction: column;
gap: 40px;
}

.sdc-dentist-card-v2 {
display: flex;
gap: 45px;
}

.sdc-dentist-card-v2__photo {
flex: 0 0 350px;
height: 302px;
}

.sdc-dentist-card-v2__body {
display: flex;
flex: 1;
flex-direction: column;
gap: 24px;
padding-top: 16px;
}

.sdc-dentist-card-v2__name {
display: flex;
flex-direction: column;
gap: 12px;
}

.sdc-dentist-card-v2__name h3 {
font:
400 24px/1.2 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-dentist-card-v2__name p {
color: #b4bdd0;
font:
400 18px/1.2 "Cinzel",
serif;
letter-spacing: 0.08em;
}

.sdc-dentist-card-v2__bio {
font:
400 14px/1.8 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-dentist-card-v2__meta {
color: #6e6d69;
display: flex;
flex-direction: column;
gap: 2px;
}

.sdc-dentist-card-v2__meta p {
font:
400 12px/23.8px "Noto Sans JP",
sans-serif;
}

.sdc-history-layout {
display: grid;
gap: 40px;
grid-template-columns: 580px 1fr;
}

.sdc-history-layout__image {
height: 400px;
}

.sdc-history-layout__content {
align-self: center;
display: flex;
flex-direction: column;
gap: 20px;
}

.sdc-history-layout__content > p,
.sdc-history-layout__block p,
.sdc-grand-opening p {
font:
400 14px/1.8 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-history-layout__block {
display: flex;
flex-direction: column;
gap: 12px;
}

.sdc-grand-opening {
display: flex;
flex-direction: column;
gap: 16px;
}

.sdc-grand-opening__image {
height: 651px;
}

.sdc-feature-list-v2 {
display: flex;
flex-direction: column;
gap: 40px;
}

.sdc-feature-row-v2 {
display: grid;
grid-template-columns: 535px 665px;
}

.sdc-feature-row-v2.is-reverse {
grid-template-columns: 665px 535px;
}

.sdc-feature-row-v2__image {
height: 390px;
}

.sdc-feature-row-v2__panel {
align-content: center;
background: #fff;
display: grid;
gap: 24px;
padding: 0 84px;
}

.sdc-feature-row-v2__point {
border: 1px solid #7f8caa;
color: #7f8caa;
display: inline-flex;
font:
400 14px/1.2 "Inter",
sans-serif;
letter-spacing: 0.08em;
padding: 6px 10px;
width: fit-content;
}

.sdc-feature-row-v2__panel h3 {
font:
400 24px/1.2 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-feature-row-v2__panel > p {
color: #6e6d69;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-access-block {
margin-top: 120px;
}

.sdc-contact-wide {
align-items: center;
background: #212f4f;
display: flex;
justify-content: space-between;
min-height: 352px;
padding: 57px 80px;
}

.sdc-contact-wide__text {
color: #fff;
display: flex;
flex-direction: column;
gap: 24px;
}

.sdc-contact-wide__text > p {
font:
400 32px/1.2 "Cinzel",
serif;
}

.sdc-contact-wide__text h2 {
font:
400 30px/1.6 "Zen Old Mincho",
serif;
letter-spacing: 0.04em;
}

.sdc-contact-wide__buttons {
display: flex;
flex-direction: column;
gap: 24px;
width: 433px;
}

.sdc-contact-wide__btn {
align-items: center;
background: #fff;
display: flex;
flex-direction: column;
gap: 12px;
min-height: 107px;
justify-content: center;
}

.sdc-contact-wide__btn small {
color: #000;
font:
400 13px/1.3 "Zen Old Mincho",
serif;
}

.sdc-contact-wide__btn span {
color: #7f8caa;
display: flex;
font:
400 28px/1 "Cinzel",
serif;
gap: 12px;
letter-spacing: 0.08em;
}

.sdc-contact-wide__btn em {
color: #b4bdd0;
font-style: normal;
}

.sdc-hours-grid {
display: grid;
gap: 40px;
grid-template-columns: 1fr 1fr;
}

.sdc-hours-card {
background: #fff;
min-height: 376px;
padding: 40px;
}

.sdc-hours-card h3 {
font:
400 14px/1.2 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-hours-card table {
border-collapse: collapse;
margin-top: 40px;
width: 100%;
}

.sdc-hours-card th,
.sdc-hours-card td {
border-bottom: 1px solid #d0d9e4;
font:
400 14px/1.7 "Noto Sans JP",
sans-serif;
padding: 12px 0;
text-align: left;
}

.sdc-hours-card th {
width: 126px;
}

.sdc-hours-card__notes {
color: #6e6d69;
display: flex;
flex-direction: column;
gap: 8px;
margin-top: 24px;
}

.sdc-hours-card__notes p {
font:
400 13px/1.6 "Noto Sans JP",
sans-serif;
}

.sdc-clinic-access {
display: grid;
gap: 40px;
grid-template-columns: 400px 1fr;
}

.sdc-clinic-access__info {
display: flex;
flex-direction: column;
gap: 20px;
}

.sdc-clinic-access__info h3,
.sdc-clinic-access__info h4 {
font:
400 20px/1.2 "Zen Old Mincho",
serif;
}

.sdc-clinic-access__info p {
color: #6e6d69;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-clinic-access__map {
height: 344px;
}

.sdc-requirements-grid {
display: grid;
gap: 32px;
grid-template-columns: 1fr 1fr;
}

.sdc-requirement-card {
background: #fff;
min-height: 260px;
padding: 40px;
}

.sdc-requirement-card h3 {
border-bottom: 1px solid #b4bdd0;
font:
400 20px/1.2 "Zen Old Mincho",
serif;
padding-bottom: 24px;
}

.sdc-requirement-card ul {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 24px;
}

.sdc-requirement-card li {
font:
400 14px/1.7 "Noto Sans JP",
sans-serif;
padding-left: 20px;
position: relative;
}

.sdc-requirement-card li::before {
content: "•";
inset: 0 auto auto 0;
position: absolute;
}

.sdc-requirement-card__note {
color: #6e6d69;
font:
400 13px/1.6 "Noto Sans JP",
sans-serif;
margin-top: 24px;
}

.sdc-flow-list-v2 {
display: flex;
flex-direction: column;
gap: 16px;
}

.sdc-flow-step-v2 {
background: #fff;
display: grid;
grid-template-columns: 336px 1fr;
}

.sdc-flow-step-v2.is-reverse {
grid-template-columns: 1fr 336px;
}

.sdc-flow-step-v2__image {
height: 224px;
}

.sdc-flow-step-v2__body {
align-content: center;
display: grid;
gap: 20px;
padding: 40px;
}

.sdc-flow-step-v2__body header {
align-items: center;
display: flex;
gap: 12px;
}

.sdc-flow-step-v2__body span {
color: #7f8caa;
font:
400 40px/1 "Cinzel",
serif;
}

.sdc-flow-step-v2__body h3 {
font:
400 24px/1.2 "Zen Old Mincho",
serif;
}

.sdc-flow-step-v2__body div {
display: flex;
flex-direction: column;
gap: 8px;
}

.sdc-flow-step-v2__body p {
color: #6e6d69;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-flow-step-v2__arrow {
color: #7f8caa;
font:
400 24px/1 "Inter",
sans-serif;
text-align: center;
}

.sdc-faq-list-v2 {
display: flex;
flex-direction: column;
gap: 24px;
}

.sdc-faq-item-v2 {
background: #fff;
padding: 32px;
}

.sdc-faq-item-v2 p {
align-items: center;
color: #3d3d3b;
display: flex;
font:
400 15px/1.8 "Noto Sans JP",
sans-serif;
gap: 16px;
}

.sdc-faq-item-v2 p + p {
margin-top: 16px;
}

.sdc-faq-item-v2 span {
align-items: center;
background: #7f8caa;
color: #fff;
display: inline-flex;
font:
400 14px/1 "Inter",
sans-serif;
height: 30px;
justify-content: center;
width: 30px;
}

.sdc-filling-grid {
display: grid;
gap: 24px;
grid-template-columns: 1fr 1fr;
}

.sdc-filling-card {
background: #fff;
min-height: 229px;
padding: 32px;
}

.sdc-filling-card h3 {
border-bottom: 1px solid #b4bdd0;
font:
400 24px/1.2 "Zen Old Mincho",
serif;
padding-bottom: 16px;
}

.sdc-filling-card > p {
color: #6e6d69;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
margin-top: 16px;
}

.sdc-filling-card__prices {
display: flex;
flex-direction: column;
gap: 8px;
margin-top: 20px;
}

.sdc-filling-card__prices div {
display: flex;
justify-content: space-between;
}

.sdc-filling-card__prices span,
.sdc-filling-card__prices strong {
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-filling-card__prices strong {
font-weight: 500;
}

.sdc-denture-intro {
display: grid;
gap: 32px;
grid-template-columns: 392px 1fr;
}

.sdc-denture-intro__image {
height: 298px;
}

.sdc-denture-intro__content {
display: flex;
flex-direction: column;
gap: 8px;
}

.sdc-denture-intro__content > p {
font:
400 14px/1.8 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-denture-intro__quote {
background: #fff;
margin: 16px 0;
padding: 24px 32px;
}

.sdc-denture-feature-grid {
display: grid;
gap: 32px;
grid-template-columns: repeat(3, 1fr);
}

.sdc-denture-feature-card {
background: #fff;
}

.sdc-denture-feature-card__image {
height: 220px;
}

.sdc-denture-feature-card h3 {
background: #7f8caa;
color: #fff;
font:
400 20px/1.4 "Zen Old Mincho",
serif;
min-height: 45px;
padding: 8px 20px;
}

.sdc-denture-feature-card p {
color: #6e6d69;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
padding: 20px;
}

.sdc-type-card {
display: flex;
flex-direction: column;
gap: 24px;
}

.sdc-type-card h3 {
font:
400 32px/1.2 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-type-card__body {
background: #fff;
display: flex;
flex-direction: column;
gap: 12px;
padding: 24px;
}

.sdc-type-card__body h4 {
border-bottom: 1px solid #b4bdd0;
font:
400 20px/1.2 "Zen Old Mincho",
serif;
padding-bottom: 12px;
}

.sdc-type-card__body p {
font:
400 14px/1.8 "Zen Old Mincho",
serif;
}

.sdc-type-card__merit-grid {
background: #7f8caa;
display: grid;
gap: 80px;
grid-template-columns: 1fr 1fr;
padding: 40px;
}

.sdc-type-card__merit-grid section {
color: #fff;
}

.sdc-type-card__merit-grid h5 {
border-bottom: 1px solid rgba(255, 255, 255, 0.5);
font:
400 24px/1 "Zen Old Mincho",
serif;
padding-bottom: 18px;
}

.sdc-type-card__merit-grid ul {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 24px;
}

.sdc-type-card__merit-grid li {
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
padding-left: 18px;
position: relative;
}

.sdc-type-card__merit-grid li::before {
content: "•";
inset: 0 auto auto 0;
position: absolute;
}


.sdc-news-list-v2 {
display: flex;
flex-direction: column;
gap: 24px;
}

.sdc-news-list-v2 article {
background: #fff;
padding: 0;
}

.sdc-news-list-v2__link {
color: inherit;
display: flex;
flex-direction: column;
gap: 16px;
padding: 24px 32px;
text-decoration: none;
}

.sdc-news-list-v2__meta {
align-items: center;
display: flex;
gap: 16px;
}

.sdc-news-list-v2__meta time {
color: #6e6d69;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-news-list-v2__meta span {
align-items: center;
background: #7f8caa;
color: #fff;
display: inline-flex;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
height: 28px;
justify-content: center;
min-width: 81px;
padding: 0 10px;
}

.sdc-news-list-v2 h3 {
font:
400 20px/1.2 "Zen Old Mincho",
serif;
}

.sdc-news-list-v2 p {
color: #6e6d69;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-news-list-v2__summary {
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
display: -webkit-box;
overflow: hidden;
}

.sdc-news-pagination {
align-items: center;
display: flex;
gap: 12px;
justify-content: center;
padding: 32px 0;
}

.sdc-news-pagination a {
align-items: center;
background: #fff;
border: 1px solid #7f8caa;
color: #7f8caa;
display: inline-flex;
font:
400 14px/1 "Noto Sans JP",
sans-serif;
height: 40px;
justify-content: center;
min-width: 40px;
padding: 0 10px;
}

.sdc-news-pagination a[aria-current="page"] {
background: #7f8caa;
color: #fff;
}

.sdc-news-block {
margin-bottom: 120px;
}

/* -----------------------------
News Archive (新着情報一覧)
------------------------------ */
.sdc-news-archive-content {
padding-bottom: 80px;
padding-top: 80px;
}

.sdc-news-archive-content .sdc-news-list-v2__link {
transition: opacity 0.2s ease;
}

.sdc-news-archive-content .sdc-news-list-v2__link:hover,
.sdc-news-archive-content .sdc-news-list-v2__link:focus-visible {
opacity: 0.7;
}

.sdc-news-empty {
color: #6e6d69;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
padding: 80px 0;
text-align: center;
}

/* Pagination — extend existing .sdc-news-pagination for WP paginate_links */
.sdc-news-pagination .page-numbers {
align-items: center;
background: #fff;
border: 1px solid #7f8caa;
color: #7f8caa;
display: inline-flex;
font:
400 14px/1 "Noto Sans JP",
sans-serif;
height: 40px;
justify-content: center;
min-width: 40px;
padding: 0 10px;
text-decoration: none;
transition: background 0.2s ease, color 0.2s ease;
}

.sdc-news-pagination .page-numbers.current {
background: #7f8caa;
color: #fff;
}

.sdc-news-pagination .page-numbers:hover {
background: #7f8caa;
color: #fff;
}

.sdc-news-pagination .page-numbers.dots {
background: transparent;
border: none;
pointer-events: none;
}

/* -----------------------------
News Single (新着情報 詳細)
------------------------------ */
.sdc-news-single-content {
padding-bottom: 80px;
padding-top: 80px;
}

.sdc-news-article {
background: #fff;
padding: 48px;
}

.sdc-news-article__header {
border-bottom: 1px solid #b4bdd0;
display: flex;
flex-direction: column;
gap: 16px;
padding-bottom: 24px;
}

.sdc-news-article__header h2 {
color: #3d3d3b;
font:
400 24px/1.6 "Zen Old Mincho",
serif;
letter-spacing: 0.04em;
}

.sdc-news-article__body {
color: #333;
font:
400 15px/2 "Noto Sans JP",
sans-serif;
margin-top: 32px;
}

.sdc-news-article__body p {
margin-bottom: 1.5em;
}

.sdc-news-article__body p:last-child {
margin-bottom: 0;
}

.sdc-news-article__body h2 {
border-bottom: 1px solid #b4bdd0;
color: #3d3d3b;
font:
400 22px/1.6 "Zen Old Mincho",
serif;
margin-bottom: 1em;
margin-top: 2em;
padding-bottom: 12px;
}

.sdc-news-article__body h3 {
color: #3d3d3b;
font:
400 18px/1.6 "Zen Old Mincho",
serif;
margin-bottom: 0.8em;
margin-top: 1.5em;
}

.sdc-news-article__body ul,
.sdc-news-article__body ol {
margin-bottom: 1.5em;
padding-left: 1.5em;
}

.sdc-news-article__body li {
margin-bottom: 0.5em;
}

.sdc-news-article__body img {
height: auto;
max-width: 100%;
}

.sdc-news-article__body a {
color: #7f8caa;
text-decoration: underline;
}

.sdc-news-article__body a:hover {
opacity: 0.7;
}

/* Post navigation */
.sdc-news-nav {
align-items: center;
display: flex;
gap: 16px;
justify-content: center;
margin-top: 48px;
}

.sdc-news-nav a,
.sdc-news-nav span {
align-items: center;
border: 1px solid #7f8caa;
color: #7f8caa;
display: inline-flex;
font:
400 14px/1 "Noto Sans JP",
sans-serif;
height: 40px;
justify-content: center;
min-width: 100px;
padding: 0 16px;
text-decoration: none;
transition: background 0.2s ease, color 0.2s ease;
}

.sdc-news-nav a:hover {
background: #7f8caa;
color: #fff;
}

.sdc-news-nav__list {
background: #7f8caa;
color: #fff !important;
}

.sdc-news-nav--disabled {
border-color: #ccc !important;
color: #ccc !important;
cursor: default;
pointer-events: none;
}

/* --- Responsive: Tablet (≤1024px) --- */
@media (max-width: 1024px) {
.sdc-news-article {
padding: 32px;
}
}

/* --- Responsive: SP (≤767px) --- */
@media (max-width: 767px) {
.sdc-news-archive-content {
padding-top: 48px;
}

.sdc-news-single-content {
padding-top: 48px;
}

.sdc-news-article {
padding: 24px 16px;
}

.sdc-news-article__header h2 {
font-size: 20px;
}

.sdc-news-nav {
flex-wrap: wrap;
gap: 12px;
}

.sdc-news-nav a,
.sdc-news-nav span {
font-size: 13px;
min-width: 80px;
padding: 0 12px;
}
}

@media (max-width: 1200px) {
.sdc-template-page {
padding-top: 72px;
}
}

@media (max-width: 1024px) {
.sdc-under-section + .sdc-under-section {
margin-top: 88px;
}

.sdc-404-card {
padding: 48px 40px;
}

.sdc-under-heading h2 {
font-size: 28px;
}

.sdc-director-v2,
.sdc-dentist-card-v2,
.sdc-history-layout,
.sdc-clinic-access,
.sdc-denture-intro {
grid-template-columns: 1fr;
flex-direction: column;
}

.sdc-director-v2__left,
.sdc-director-v2__photo,
.sdc-contact-wide__buttons,
.sdc-dentist-card-v2__photo {
width: 100%;
}

.sdc-director-v2__photo {
height: 520px;
}

.sdc-dentist-card-v2__photo {
flex-basis: auto;
height: 340px;
}

.sdc-feature-row-v2,
.sdc-feature-row-v2.is-reverse,
.sdc-hours-grid,
.sdc-requirements-grid,
.sdc-filling-grid,
.sdc-denture-feature-grid,
.sdc-type-card__merit-grid {
grid-template-columns: 1fr;
}

.sdc-feature-row-v2__panel {
padding: 32px;
}

.sdc-contact-wide {
align-items: flex-start;
flex-direction: column;
gap: 32px;
padding: 40px;
}


}

@media (max-width: 767px) {
.sdc-under-container {
width: calc(100% - 24px);
}

.sdc-404-content {
margin-top: 64px;
}

.sdc-404-card {
gap: 24px;
padding: 32px 24px;
}

.sdc-404-card__lead {
font-size: 24px;
line-height: 1.7;
}

.sdc-404-card__body p {
font-size: 14px;
line-height: 1.9;
}

.sdc-404-actions {
flex-direction: column;
}

.sdc-404-action {
height: 56px;
min-width: 0;
width: 100%;
}

.sdc-under-hero {
height: 280px;
}

.sdc-under-hero__title-wrap {
gap: 18px;
}

.sdc-under-hero__title-wrap h1 {
font-size: 28px;
}

.sdc-under-hero__title-wrap p {
font-size: 13px;
}

.sdc-under-intro {
margin-top: 64px;
}

.sdc-under-intro > p {
font-size: 13px;
letter-spacing: 0.04em;
}

.sdc-under-intro__certs p {
font-size: 12px;
letter-spacing: 0.04em;
}

.sdc-under-heading {
gap: 10px;
padding-bottom: 14px;
}

.sdc-under-heading h2 {
font-size: 24px;
}

.sdc-under-heading p {
font-size: 12px;
}

.sdc-director-v2__columns {
grid-template-columns: 1fr;
}

.sdc-director-v2__photo {
height: 360px;
}

.sdc-dentist-card-v2__photo,
.sdc-history-layout__image,
.sdc-feature-row-v2__image,
.sdc-flow-step-v2__image,
.sdc-denture-feature-card__image,
.sdc-grand-opening__image {
height: 220px;
}

.sdc-dentist-card-v2__name h3,
.sdc-feature-row-v2__panel h3,
.sdc-requirement-card h3,
.sdc-filling-card h3 {
font-size: 20px;
}

.sdc-dentist-card-v2__name p {
font-size: 15px;
}

.sdc-contact-wide {
padding: 28px 20px;
}

.sdc-contact-wide__text > p {
font-size: 24px;
}

.sdc-contact-wide__text h2 {
font-size: 20px;
}

.sdc-contact-wide__btn span {
font-size: 20px;
}

.sdc-hours-card,
.sdc-requirement-card,
.sdc-filling-card,
.sdc-news-list-v2__link,
.sdc-faq-item-v2 {
padding: 20px;
}

.sdc-hours-card th,
.sdc-hours-card td {
display: block;
width: 100%;
}

.sdc-hours-card td {
border-top: 0;
padding-top: 0;
}

.sdc-filling-card__prices div {
flex-direction: column;
gap: 2px;
}

.sdc-news-pagination {
flex-wrap: wrap;
}

.sdc-under-section + .sdc-under-section {
margin-top: 64px;
}

.sdc-news-block {
margin-bottom: 72px;
}
}

/* -----------------------------
Staff Page
------------------------------ */


.sdc-staff-section {
display: flex;
flex-direction: column;
gap: 64px;
margin-top: 120px;
}

.sdc-staff-divider {
background: #d6dde8;
height: 1px;
margin-top: 24px;
width: 100%;
}

.sdc-staff-director {
display: flex;
justify-content: space-between;
}

.sdc-staff-director__content {
display: flex;
flex-direction: column;
gap: 64px;
width: 548px;
}

.sdc-staff-director__intro {
align-items: center;
display: flex;
flex-direction: column;
gap: 40px;
}

.sdc-staff-member-name {
align-items: center;
display: flex;
flex-direction: column;
gap: 12px;
text-align: center;
}

.sdc-staff-member-name h3 {
color: #000;
font:
400 32px/1.2 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-staff-member-name p {
color: #6e6d69;
font:
400 14px/1.2 "Inter",
sans-serif;
letter-spacing: 0.08em;
}

.sdc-staff-member-name__credential {
color: #3d3d3b;
font:
400 14px/1.7 "Noto Sans JP",
sans-serif;
letter-spacing: 0;
}
@media (max-width: 768px ){
.sdc-staff-intro,
.sdc-under-intro,
.sdc-clinic-intro{
margin-top: 64px;
}

}

/* Director-specific name overrides */
.sdc-staff-director .sdc-staff-member-name h3 {
color: #3d3d3b;
font-size: 24px;
}

.sdc-staff-director .sdc-staff-member-name p {
color: #b4bdd0;
font:
400 18px/1.2 "Cinzel",
serif;
letter-spacing: 0.08em;
}

.sdc-staff-director__message {
display: flex;
flex-direction: column;
gap: 16px;
}

.sdc-staff-director__message p {
color: #3d3d3b;
font:
400 14px/1.8 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-staff-director__details {
display: flex;
flex-direction: column;
gap: 16px;
}

.sdc-staff-director__detail {
background: #fff;
display: flex;
flex-direction: column;
gap: 16px;
padding: 24px;
}

.sdc-staff-director__detail h4 {
border-bottom: 1px solid #b4bdd0;
color: #000;
font:
400 16px/1.2 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
margin: 0;
padding-bottom: 16px;
}

.sdc-staff-director__detail ul {
columns: 2;
column-gap: 16px;
}

.sdc-staff-director__detail li {
break-inside: avoid;
color: #6e6d69;
font:
400 12px/23.8px "Noto Sans JP",
sans-serif;
padding-left: 24px;
position: relative;
}

.sdc-staff-director__detail li + li {
margin-top: 4px;
}

.sdc-staff-director__detail li::before {
color: #6e6d69;
content: "•";
font:
400 14px/16.8px "Inter",
sans-serif;
inset: 0 auto auto 0;
position: absolute;
}

.sdc-staff-director__photo {
flex-shrink: 0;
height: auto;
overflow: hidden;
width: min(625px, 100%);
aspect-ratio: 625 / 933;
}

.sdc-staff-horizontal-list {
display: flex;
flex-direction: column;
gap: 20px;
}

.sdc-staff-horizontal-card {
background: #fff;
display: flex;
gap: 45px;
padding: 30px;
}

.sdc-staff-horizontal-card__photo {
border: 1px solid #f5f5f5;
flex: 0 0 350px;
height: 350px;
overflow: hidden;
}

.sdc-staff-horizontal-card__body {
display: flex;
flex: 1;
flex-direction: column;
gap: 24px;
}

.sdc-staff-horizontal-card__description {
margin: 0;
}

.sdc-staff-horizontal-card__meta {
display: flex;
flex-direction: column;
gap: 0;
}

.sdc-staff-horizontal-card__meta p {
margin: 0;
}

.sdc-staff-member-name--horizontal {
align-items: baseline;
flex-direction: row;
gap: 20px;
justify-content: flex-start;
text-align: left;
}

.sdc-staff-member-name--horizontal h3 {
font-size: 30px;
}

.sdc-staff-section--dentists .sdc-staff-horizontal-list {
gap: 40px;
}

.sdc-staff-section--dentists .sdc-staff-horizontal-card {
background: transparent;
gap: 45px;
padding: 0;
}

.sdc-staff-section--dentists .sdc-staff-horizontal-card__photo {
border: 0;
flex: 0 0 350px;
height: 302px;
}

.sdc-staff-section--dentists .sdc-staff-horizontal-card__body {
gap: 24px;
padding-top: 16px;
}

.sdc-staff-section--dentists .sdc-staff-member-name--horizontal {
align-items: flex-start;
flex-direction: column;
gap: 12px;
}

.sdc-staff-section--dentists .sdc-staff-member-name--horizontal h3 {
color: #3d3d3b;
font:
400 24px/1.2 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-staff-section--dentists .sdc-staff-member-name--horizontal p {
color: #b4bdd0;
font:
400 18px/1.2 "Cinzel",
serif;
letter-spacing: 0.08em;
}

.sdc-staff-section--dentists .sdc-staff-horizontal-card__description {
color: #3d3d3b;
font:
400 14px/1.8 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-staff-section--dentists .sdc-staff-horizontal-card__meta p {
color: #6e6d69;
font:
400 12px/23.8px "Noto Sans JP",
sans-serif;
}

.sdc-staff-section--dentists .sdc-staff-horizontal-card__meta p.is-with-gap {
margin-top: 12px;
}

.sdc-staff-section--technicians .sdc-staff-section-intro,
.sdc-staff-section--radiology .sdc-staff-section-intro,
.sdc-staff-section--hygienists .sdc-staff-section-intro,
.sdc-staff-section--assistants .sdc-staff-section-intro,
.sdc-staff-section--reception .sdc-staff-section-intro {
font:
400 14px/1.8 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-br--pc {
display: inline;
}

.sdc-staff-section--technicians .sdc-staff-grid-card,
.sdc-staff-section--radiology .sdc-staff-grid-card,
.sdc-staff-section--hygienists .sdc-staff-grid-card,
.sdc-staff-section--assistants .sdc-staff-grid-card,
.sdc-staff-section--reception .sdc-staff-grid-card {
background: transparent;
border: 0;
gap: 20px;
padding: 0;
}

.sdc-staff-section--technicians .sdc-staff-grid-card__photo,
.sdc-staff-section--radiology .sdc-staff-grid-card__photo,
.sdc-staff-section--hygienists .sdc-staff-grid-card__photo,
.sdc-staff-section--assistants .sdc-staff-grid-card__photo,
.sdc-staff-section--reception .sdc-staff-grid-card__photo {
border: 0;
}

.sdc-staff-section--radiology,
.sdc-staff-section--hygienists,
.sdc-staff-section--assistants,
.sdc-staff-section--reception {
--sdc-staff-card-gap: 24px;
--sdc-staff-card-width: calc((100% - (var(--sdc-staff-card-gap) * 3)) / 4);
}

.sdc-staff-section--radiology .sdc-staff-grid-row,
.sdc-staff-section--hygienists .sdc-staff-grid-row,
.sdc-staff-section--assistants .sdc-staff-grid-row,
.sdc-staff-section--reception .sdc-staff-grid-row {
justify-content: center;
width: 100%;
}

.sdc-staff-section--radiology .sdc-staff-grid-row--4,
.sdc-staff-section--hygienists .sdc-staff-grid-row--4,
.sdc-staff-section--assistants .sdc-staff-grid-row--4,
.sdc-staff-section--reception .sdc-staff-grid-row--4 {
grid-template-columns: repeat(4, minmax(0, var(--sdc-staff-card-width)));
}

.sdc-staff-section--radiology .sdc-staff-grid-row--3,
.sdc-staff-section--hygienists .sdc-staff-grid-row--3,
.sdc-staff-section--assistants .sdc-staff-grid-row--3,
.sdc-staff-section--reception .sdc-staff-grid-row--3 {
grid-template-columns: repeat(3, minmax(0, var(--sdc-staff-card-width)));
}

.sdc-staff-section--radiology .sdc-staff-grid-row--2,
.sdc-staff-section--hygienists .sdc-staff-grid-row--2,
.sdc-staff-section--assistants .sdc-staff-grid-row--2,
.sdc-staff-section--reception .sdc-staff-grid-row--2 {
grid-template-columns: repeat(2, minmax(0, var(--sdc-staff-card-width)));
}

.sdc-staff-section--radiology .sdc-staff-grid-row--1,
.sdc-staff-section--reception .sdc-staff-grid-row--1 {
grid-template-columns: minmax(0, var(--sdc-staff-card-width));
}

.sdc-staff-section--technicians .sdc-staff-member-name--grid,
.sdc-staff-section--radiology .sdc-staff-member-name--grid,
.sdc-staff-section--hygienists .sdc-staff-member-name--grid,
.sdc-staff-section--assistants .sdc-staff-member-name--grid,
.sdc-staff-section--reception .sdc-staff-member-name--grid {
align-items: flex-start;
flex-direction: column;
gap: 8px;
}

.sdc-staff-section--technicians .sdc-staff-member-name--grid h3,
.sdc-staff-section--radiology .sdc-staff-member-name--grid h3,
.sdc-staff-section--hygienists .sdc-staff-member-name--grid h3,
.sdc-staff-section--assistants .sdc-staff-member-name--grid h3,
.sdc-staff-section--reception .sdc-staff-member-name--grid h3 {
color: #3d3d3b;
font:
400 20px/1.2 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-staff-section--technicians .sdc-staff-member-name--grid p,
.sdc-staff-section--radiology .sdc-staff-member-name--grid p,
.sdc-staff-section--hygienists .sdc-staff-member-name--grid p,
.sdc-staff-section--assistants .sdc-staff-member-name--grid p,
.sdc-staff-section--reception .sdc-staff-member-name--grid p {
color: #b4bdd0;
font:
400 14px/1.2 "Cinzel",
serif;
letter-spacing: 0.08em;
}

.sdc-staff-section--dentists .sdc-staff-member-name--horizontal .sdc-staff-member-name__credential,
.sdc-staff-section--radiology .sdc-staff-member-name--grid .sdc-staff-member-name__credential,
.sdc-staff-section--technicians .sdc-staff-member-name--grid .sdc-staff-member-name__credential,
.sdc-staff-section--hygienists .sdc-staff-member-name--grid .sdc-staff-member-name__credential,
.sdc-staff-section--assistants .sdc-staff-member-name--grid .sdc-staff-member-name__credential,
.sdc-staff-section--reception .sdc-staff-member-name--grid .sdc-staff-member-name__credential {
color: #3d3d3b;
font:
400 14px/1.7 "Noto Sans JP",
sans-serif;
letter-spacing: 0;
}

.sdc-staff-section--technicians .sdc-staff-copy-block,
.sdc-staff-section--radiology .sdc-staff-copy-block,
.sdc-staff-section--hygienists .sdc-staff-copy-block,
.sdc-staff-section--assistants .sdc-staff-copy-block,
.sdc-staff-section--reception .sdc-staff-copy-block {
gap: 14px;
}

.sdc-staff-section--technicians .sdc-staff-copy-block > p:first-child,
.sdc-staff-section--radiology .sdc-staff-copy-block > p:first-child,
.sdc-staff-section--hygienists .sdc-staff-copy-block > p:first-child,
.sdc-staff-section--assistants .sdc-staff-copy-block > p:first-child,
.sdc-staff-section--reception .sdc-staff-copy-block > p:first-child {
color: #3d3d3b;
font:
400 14px/1.8 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-staff-section--technicians .sdc-staff-copy-block > p:not(:first-child),
.sdc-staff-section--radiology .sdc-staff-copy-block > p:not(:first-child),
.sdc-staff-section--hygienists .sdc-staff-copy-block__details p,
.sdc-staff-section--assistants .sdc-staff-copy-block__details p,
.sdc-staff-section--technicians .sdc-staff-copy-block__details p,
.sdc-staff-section--radiology .sdc-staff-copy-block__details p,
.sdc-staff-section--reception .sdc-staff-copy-block__details p {
color: #6e6d69;
font:
400 12px/23.8px "Noto Sans JP",
sans-serif;
letter-spacing: 0;
}

.sdc-staff-copy-block {
display: flex;
flex-direction: column;
gap: 6px;
}

.sdc-staff-copy-block p {
color: #3d3d3b;
font:
400 14px/1.7 "Noto Sans JP",
sans-serif;
margin: 0;
}

.sdc-staff-copy-block__details {
display: flex;
flex-direction: column;
gap: 0;
}

.sdc-staff-section-intro {
color: #3d3d3b;
font:
400 14px/1.7 "Noto Sans JP",
sans-serif;
margin: 0;
text-align: center;
}

.sdc-staff-grid-row {
display: grid;
gap: 24px;
}

.sdc-staff-grid-row + .sdc-staff-grid-row {
margin-top: 8px;
}

.sdc-staff-grid-row--4 {
grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sdc-staff-grid-row--3 {
grid-template-columns: repeat(3, minmax(0, 1fr));
margin-left: auto;
margin-right: auto;
width: min(980px, 100%);
}

.sdc-staff-grid-row--2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
margin-left: auto;
margin-right: auto;
width: min(1000px, 100%);
}

.sdc-staff-grid-card {
background: #fff;
border: 1px solid #f5f5f5;
display: flex;
flex-direction: column;
gap: 15px;
padding: 10px;
}

.sdc-staff-grid-card__photo {
aspect-ratio: 282 / 180;
border: 1px solid #f5f5f5;
overflow: hidden;
width: 100%;
}

.sdc-staff-photo-image {
display: block;
height: 100%;
object-fit: cover;
object-position: center top;
width: 100%;
}

.sdc-staff-photo-placeholder {
background: #f5f5f5;
height: 100%;
width: 100%;
}

.sdc-staff-member-name--grid {
align-items: baseline;
flex-direction: row;
gap: 10px;
justify-content: flex-start;
text-align: left;
}

.sdc-staff-member-name--grid h3 {
font:
700 18px/1.4 "Noto Sans JP",
sans-serif;
letter-spacing: 0.04em;
}

.sdc-staff-member-name--grid p {
font:
400 14px/1.7 "Noto Sans JP",
sans-serif;
letter-spacing: 0.04em;
}

.sdc-staff-grid-card.is-text-only {
min-height: 220px;
justify-content: flex-start;
}

.sdc-staff-contact {
align-items: center;
background: #000;
display: flex;
flex-direction: column;
gap: 24px;
margin-top: 24px;
min-height: 320px;
justify-content: center;
padding: 60px 24px;
text-align: center;
}

.sdc-staff-contact h2 {
color: #fff;
font:
700 32px/1.2 "Noto Sans JP",
sans-serif;
letter-spacing: 0.04em;
}

.sdc-staff-contact p {
color: #ccc;
font:
400 16px/1.2 "Noto Sans JP",
sans-serif;
}

.sdc-staff-contact__buttons {
display: flex;
gap: 16px;
}

.sdc-staff-contact__buttons a {
align-items: center;
background: #fff;
color: #000;
display: flex;
font:
700 16px/1.2 "Noto Sans JP",
sans-serif;
height: 64px;
justify-content: center;
min-width: 258px;
padding: 0 24px;
}

/* -----------------------------
Clinic Page
------------------------------ */


/* clinic container uses default sdc-under-container width (1200px) */

.sdc-clinic-intro__body {
align-items: center;
display: flex;
flex-direction: column;
gap: 16px;
}

.sdc-clinic-intro__stack {
display: flex;
flex-direction: column;
gap: 8px;
}

.sdc-clinic-divider {
background: #d6dde8;
height: 1px;
margin-top: 24px;
}

.sdc-clinic-section {
display: flex;
flex-direction: column;
gap: 32px;
margin-top: 56px;
}

.sdc-clinic-section--features {
gap: 64px;
}

.sdc-clinic-section--story {
gap: 80px;
}

.sdc-clinic-history {
align-items: center;
display: grid;
gap: 40px;
grid-template-columns: 580px 1fr;
}

.sdc-clinic-history__image,
.sdc-clinic-opening__image,
.sdc-clinic-philosophy__image,
.sdc-clinic-feature__image,
.sdc-clinic-floor__image,
.sdc-clinic-equipment__image,
.sdc-clinic-hours__image {
overflow: hidden;
}

.sdc-clinic-history__image img,
.sdc-clinic-opening__image img,
.sdc-clinic-philosophy__image img,
.sdc-clinic-feature__image img,
.sdc-clinic-floor__image img,
.sdc-clinic-equipment__image img,
.sdc-clinic-hours__image img {
display: block;
height: 100%;
object-fit: cover;
width: 100%;
}

.sdc-clinic-history__image {
height: 400px;
}

.sdc-clinic-history__copy,
.sdc-clinic-history__group,
.sdc-clinic-opening__body,
.sdc-clinic-equipment__copy {
display: flex;
flex-direction: column;
}

.sdc-clinic-history__copy {
align-self: center;
gap: 20px;
width: min(580px, 100%);
}

.sdc-clinic-history__group {
gap: 12px;
}

.sdc-clinic-history__copy p,
.sdc-clinic-opening__lead,
.sdc-clinic-opening__body p,
.sdc-clinic-philosophy p,
.sdc-clinic-floor__copy p,
.sdc-clinic-equipment__copy p,
.sdc-clinic-access-layout__info p,
.sdc-clinic-hours__title,
.sdc-clinic-hours__copy p {
color: #3d3d3b;
font:
400 14px/1.7 "Noto Sans JP",
sans-serif;
}

.sdc-clinic-opening {
display: flex;
flex-direction: column;
gap: 16px;
padding: 0;
}

.sdc-clinic-opening__lead,
.sdc-clinic-opening__body {
text-align: center;
width: 100%;
}

.sdc-clinic-opening__image {
height: 651px;
}

.sdc-clinic-opening__body {
gap: 12px;
}

.sdc-clinic-section--story .sdc-clinic-history__copy p,
.sdc-clinic-section--story .sdc-clinic-opening__lead,
.sdc-clinic-section--story .sdc-clinic-opening__body p {
font:
400 14px/1.8 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-clinic-philosophy {
display: flex;
flex-direction: column;
gap: 32px;
}

.sdc-clinic-philosophy__image {
height: 598px;
}

.sdc-clinic-philosophy p {
text-align: center;
}

.sdc-clinic-feature-list,
.sdc-clinic-floor-list,
.sdc-clinic-equipment-list {
display: flex;
flex-direction: column;
}

.sdc-clinic-feature-list {
gap: 40px;
}

.sdc-clinic-floor-list,
.sdc-clinic-equipment-list {
gap: 24px;
}

.sdc-clinic-feature {
display: grid;
grid-template-columns: 535px minmax(0, 665px);
}

.sdc-clinic-feature.is-reverse {
grid-template-columns: minmax(0, 665px) 535px;
}

.sdc-clinic-feature.is-reverse .sdc-clinic-feature__image {
order: 2;
}

.sdc-clinic-feature.is-reverse .sdc-clinic-feature__body {
order: 1;
}

.sdc-clinic-feature__image {
height: 390px;
}

.sdc-clinic-feature__body {
align-items: center;
background: #fff;
display: flex;
justify-content: center;
min-height: 390px;
padding: 0 32px;
}

.sdc-clinic-feature__content {
display: flex;
flex-direction: column;
gap: 64px;
width: min(497px, 100%);
}

.sdc-clinic-feature__heading {
display: flex;
flex-direction: column;
gap: 16px;
}

.sdc-clinic-feature__point {
align-items: center;
background: #7f8caa;
color: #fff;
display: inline-flex;
font:
400 14px/1.2 "Cinzel",
serif;
height: 28px;
justify-content: center;
letter-spacing: 0.08em;
padding: 2px 10px;
width: 81px;
}

.sdc-clinic-feature__body h3 {
color: #3d3d3b;
font:
400 24px/1.2 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-clinic-feature__copy {
color: #3d3d3b;
font:
400 14px/1.8 "Zen Old Mincho",
serif;
font-feature-settings: "palt" 1;
letter-spacing: 0.08em;
margin: 0;
}

.sdc-clinic-equipment__body h3 {
color: #000;
font:
400 24px/1.4 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-clinic-floor {
display: grid;
gap: 32px;
grid-template-columns: 560px 1fr;
}

.sdc-clinic-floor.is-reverse {
grid-template-columns: 1fr 560px;
}

.sdc-clinic-floor.is-reverse .sdc-clinic-floor__image {
order: 2;
}

.sdc-clinic-floor.is-reverse .sdc-clinic-floor__panel {
order: 1;
}

.sdc-clinic-floor__image {
height: 340px;
}

.sdc-clinic-floor__panel {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 20px;
justify-content: center;
min-height: 340px;
padding: 40px;
}

.sdc-clinic-floor__head {
display: flex;
flex-direction: column;
gap: 12px;
}

.sdc-clinic-floor__head h3 {
color: #000;
font:
400 14px/1.2 "Noto Sans JP",
sans-serif;
}

.sdc-clinic-floor__head p,
.sdc-clinic-hours__title {
color: #666;
font:
400 14px/1.2 "Noto Sans JP",
sans-serif;
}

.sdc-clinic-floor__divider,
.sdc-clinic-equipment__divider,
.sdc-clinic-access-layout__divider,
.sdc-clinic-hours__divider {
background: #ccc;
height: 1px;
}

.sdc-clinic-floor__divider,
.sdc-clinic-access-layout__divider {
width: 100px;
}

.sdc-clinic-floor__copy {
gap: 16px;
}

.sdc-clinic-floor__copy p {
color: #3d3d3b;
}

.sdc-clinic-floor__tel,
.sdc-clinic-access-layout__parking,
.sdc-clinic-hours__card h3 {
color: #000;
}

.sdc-clinic-equipment {
display: grid;
gap: 24px;
grid-template-columns: 380px 780px;
}

.sdc-clinic-equipment.is-reverse {
grid-template-columns: 780px 380px;
}

.sdc-clinic-equipment.is-reverse .sdc-clinic-equipment__image {
order: 2;
}

.sdc-clinic-equipment.is-reverse .sdc-clinic-equipment__body {
order: 1;
}

.sdc-clinic-equipment__image {
height: 280px;
}

.sdc-clinic-equipment__body {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 16px;
justify-content: center;
min-height: 280px;
padding: 32px;
}

.sdc-clinic-equipment__divider {
width: 120px;
}

.sdc-clinic-equipment__copy {
gap: 12px;
}

.sdc-clinic-access-layout {
display: grid;
gap: 32px;
grid-template-columns: 580px 1fr;
}

.sdc-clinic-access-layout__info {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 20px;
min-height: 400px;
padding: 40px;
}

.sdc-clinic-access-layout__heading {
display: flex;
flex-direction: column;
gap: 20px;
}

.sdc-clinic-access-layout__heading h3 {
color: #000;
font:
400 14px/1.2 "Noto Sans JP",
sans-serif;
}

.sdc-clinic-access-layout__heading p,
.sdc-clinic-access-layout__detail p:last-child {
color: #666;
}

.sdc-clinic-access-layout__address,
.sdc-clinic-access-layout__detail {
display: flex;
flex-direction: column;
gap: 8px;
}

.sdc-clinic-access-layout__map {
background: #f5f5f5;
min-height: 400px;
}

.sdc-clinic-access-layout__map iframe {
border: 0;
display: block;
height: 100%;
min-height: 400px;
width: 100%;
}

.sdc-clinic-hours {
display: flex;
flex-direction: column;
gap: 32px;
}

.sdc-clinic-hours__title {
text-align: center;
}

.sdc-clinic-hours__cards {
display: grid;
gap: 24px;
grid-template-columns: 1fr 1fr;
}

.sdc-clinic-hours__card {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 16px;
min-height: 212px;
padding: 32px;
}

.sdc-clinic-hours__card h3 {
font:
400 14px/1.2 "Noto Sans JP",
sans-serif;
}

.sdc-clinic-hours__divider {
width: 80px;
}

.sdc-clinic-hours__copy {
display: flex;
flex-direction: column;
gap: 10px;
}

.sdc-clinic-hours__copy p.is-note {
color: #666;
}

.sdc-clinic-hours__image {
height: 360px;
}

.sdc-clinic-contact {
margin-top: 80px;
}

/* -----------------------------
First Visit Page
------------------------------ */
.sdc-first-page {
padding-bottom: 0;
}

/* Concept */
.sdc-first-concept {
margin-top: 120px;
}

.sdc-first-concept__inner {
display: grid;
gap: 40px;
grid-template-columns: 1fr 1fr;
min-height: 460px;
}

.sdc-first-concept__text {
display: flex;
flex-direction: column;
gap: 32px;
justify-content: center;
}

.sdc-first-concept__heading {
display: flex;
flex-direction: column;
gap: 16px;
}

.sdc-first-concept__heading h2 {
color: #3d3d3b;
font:
400 32px/1.5 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-first-concept__lead {
color: #3d3d3b;
font:
400 16px/1.4 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-first-concept__body {
display: flex;
flex-direction: column;
gap: 1em;
}

.sdc-first-concept__body p {
color: #3d3d3b;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
letter-spacing: 0.04em;
}

.sdc-first-concept__image {
background: #e5e5e5;
min-height: 460px;
overflow: hidden;
position: relative;
}

/* Main Content */
.sdc-first-main {
display: flex;
flex-direction: column;
gap: 80px;
margin: 0 auto;
padding: 80px 120px;
width: 100%;
}

/* Section container */
.sdc-first-section {
display: flex;
flex-direction: column;
}

/* Requirements */
.sdc-first-req-grid {
display: grid;
gap: 32px;
grid-template-columns: 1fr 1fr;
margin-top: 32px;
}

.sdc-first-req-card {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 24px;
padding: 40px;
}

.sdc-first-req-card h3 {
color: #000;
font:
400 16px/1.4 "Zen Old Mincho",
serif;
}

.sdc-first-req-card__divider {
background: #ccc;
height: 1px;
width: 100px;
}

.sdc-first-req-card ul {
display: flex;
flex-direction: column;
gap: 12px;
}

.sdc-first-req-card li {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
list-style: disc;
margin-left: 1em;
}

.sdc-first-req-card__note {
color: #666;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

/* Divider */
.sdc-first-divider {
background: #e5e5e5;
border: 0;
height: 1px;
margin: 0;
}

/* Flow Steps */
.sdc-first-flow {
display: flex;
flex-direction: column;
gap: 40px;
margin-top: 48px;
}

.sdc-first-flow__step {
display: grid;
gap: 32px;
grid-template-columns: 480px 1fr;
}

.sdc-first-flow__step.is-reverse {
grid-template-columns: 1fr 480px;
}

.sdc-first-flow__step.is-reverse .sdc-first-flow__image {
order: 2;
}

.sdc-first-flow__step.is-reverse .sdc-first-flow__body {
order: 1;
}

.sdc-first-flow__image {
background: #e5e5e5;
height: 320px;
overflow: hidden;
position: relative;
}

.sdc-first-concept__image picture,
.sdc-first-flow__image picture,
.sdc-first-concept__image img,
.sdc-first-flow__image img {
display: block;
height: 100%;
width: 100%;
}

.sdc-first-concept__image img,
.sdc-first-flow__image img {
object-fit: cover;
}

.sdc-first-flow__body {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 20px;
padding: 40px;
}

.sdc-first-flow__body h3 {
color: #000;
font:
400 18px/1.4 "Zen Old Mincho",
serif;
}

.sdc-first-flow__divider {
background: #ccc;
height: 1px;
width: 100px;
}

.sdc-first-flow__content {
display: flex;
flex-direction: column;
gap: 12px;
}

.sdc-first-flow__content p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

/* FAQ */
.sdc-first-faq {
display: flex;
flex-direction: column;
gap: 24px;
margin-top: 40px;
}

.sdc-first-faq__item {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 16px;
padding: 32px;
}

.sdc-first-faq__q {
color: #000;
font:
400 16px/1.4 "Zen Old Mincho",
serif;
}

.sdc-first-faq__divider {
background: #ccc;
height: 1px;
width: 60px;
}

.sdc-first-faq__a {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

/* CTA */
.sdc-first-cta {
align-items: center;
background: #000;
display: flex;
flex-direction: column;
gap: 24px;
justify-content: center;
min-height: 320px;
padding: 80px 24px;
text-align: center;
}

.sdc-first-cta h2 {
color: #fff;
font:
700 32px/1.2 "Noto Sans JP",
sans-serif;
letter-spacing: 0.04em;
}

.sdc-first-cta > p {
color: #ccc;
font:
400 16px/1.2 "Noto Sans JP",
sans-serif;
}

.sdc-first-cta__buttons {
display: flex;
gap: 16px;
}

.sdc-first-cta__buttons a {
align-items: center;
background: #fff;
color: #000;
display: flex;
font:
700 16px/1.2 "Noto Sans JP",
sans-serif;
height: 64px;
justify-content: center;
min-width: 258px;
padding: 0 40px;
}

/* -----------------------------
Access Page
------------------------------ */


/* access container uses default sdc-under-container width (1200px) */

.sdc-access-section {
display: flex;
flex-direction: column;
gap: 80px;
margin-top: 120px;
padding: 0;
}

.sdc-access-contact-panel {
align-items: center;
background: #212f4f;
display: flex;
justify-content: space-between;
min-height: 352px;
padding: 57px 80px;
}

.sdc-access-contact-panel__copy {
display: flex;
flex-direction: column;
gap: 24px;
width: 352px;
}

.sdc-access-contact-panel__eyebrow {
color: #fff;
font:
400 28px/1.37 "Cinzel",
sans-serif;
letter-spacing: 0.02em;
margin: 0;
}

.sdc-access-contact-panel__message {
color: #fff;
display: flex;
flex-direction: column;
font:
400 28px/1.8 "Zen Old Mincho",
serif;
}

.sdc-access-contact-panel__message p {
margin: 0;
}

.sdc-access-contact-panel__links {
display: grid;
width: min(433px, 100%);
}

.sdc-access-phone-card {
text-decoration: none;
width: 100%;
}

.sdc-access-hours-grid {
display: grid;
gap: 40px;
grid-template-columns: 1fr 1fr;
}

.sdc-access-hours-card {
background: #fff;
display: flex;
flex-direction: column;
gap: 40px;
min-height: 376px;
padding: 40px 40px 20px;
}

.sdc-access-hours-card h2 {
color: #000;
font:
400 18px/0.94 "Zen Old Mincho",
serif;
}

.sdc-access-hours-card__table {
display: flex;
flex-direction: column;
gap: 19px;
}

.sdc-access-hours-card__row {
display: grid;
gap: 13px;
grid-template-columns: 136px 1fr;
}

.sdc-access-hours-card__heading {
color: #3d3d3b;
font:
400 16px/1.44 "Noto Sans JP",
sans-serif;
letter-spacing: 0.05em;
}

.sdc-access-hours-card__schedule {
display: flex;
flex-direction: column;
}

.sdc-access-hours-card__sub {
color: #6e6d69;
font:
400 14px/1.64 "Noto Sans JP",
sans-serif;
letter-spacing: 0.05em;
}

.sdc-access-hours-card__values {
align-items: center;
display: grid;
grid-auto-columns: 1fr;
grid-auto-flow: column;
justify-items: center;
}

.sdc-access-hours-card__row--days .sdc-access-hours-card__values {
color: #3d3d3b;
font:
400 18px/1.28 "Noto Sans JP",
sans-serif;
letter-spacing: 0.26em;
padding-right: 8px;
}

.sdc-access-hours-card__values--symbols {
color: #7f8caa;
font:
400 18px/1 "Zen Kaku Gothic New",
sans-serif;
letter-spacing: 0.28em;
padding-right: 8px;
}

.sdc-access-hours-card__values--symbols span.is-closed {
color: #98a2bb;
}

.sdc-access-hours-card__divider {
background: #d5d9e0;
height: 1px;
width: 100%;
}

.sdc-access-hours-card__notes {
color: #6e6d69;
display: flex;
flex-direction: column;
font:
400 14px/1.7 "Noto Sans JP",
sans-serif;
gap: 12px;
}

.sdc-template-page .sdc-access-hours-card__lead-note {
padding-left: 1.5em;
position: relative;
}

.sdc-access-hours-card__lead-note::before {
color: #7f8caa;
content: "▲";
left: 0;
position: absolute;
top: 0;
}

.sdc-access-hours-card__notes ul {
display: flex;
flex-direction: column;
gap: 4px;
list-style: disc;
padding-left: 1.5em;
}

.sdc-access-location {
display: grid;
gap: 189px;
grid-template-columns: 400px 611px;
}

.sdc-access-location__info {
display: flex;
flex-direction: column;
gap: 20px;
}

.sdc-access-location__info h2 {
color: #000;
font:
400 20px/1.2 "Zen Old Mincho",
serif;
}

.sdc-access-location__address,
.sdc-access-location__group,
.sdc-access-location__group div {
color: #6e6d69;
display: flex;
flex-direction: column;
font:
400 14px/1.7 "Noto Sans JP",
sans-serif;
}

.sdc-access-location__address {
gap: 2px;
}

.sdc-access-location__group {
gap: 0;
margin-top: 12px;
}

.sdc-access-location__group h3 {
color: #000;
font:
400 16px/1.5 "Zen Old Mincho",
serif;
margin-bottom: 12px;
}

.sdc-access-location__group p {
margin: 0;
}

.sdc-access-location__map {
background: #cdcdcd;
height: 344px;
overflow: hidden;
}

.sdc-access-location__map iframe {
border: 0;
display: block;
height: 100%;
width: 100%;
}

@media (max-width: 1199px) {
.sdc-access-contact-panel__links {
width: 100%;
}
}

@media (max-width: 1024px) {
/* First Visit - tablet */
.sdc-first-concept__inner {
grid-template-columns: 1fr;
}

.sdc-first-concept__heading h2 {
font-size: 26px;
}

.sdc-first-concept__image {
min-height: 300px;
}

.sdc-first-main {
padding: 60px 24px;
gap: 60px;
}

.sdc-first-req-grid {
grid-template-columns: 1fr;
}

.sdc-first-flow__step,
.sdc-first-flow__step.is-reverse {
grid-template-columns: 1fr;
gap: 0;
}

.sdc-first-flow__step.is-reverse .sdc-first-flow__image {
order: 0;
}

.sdc-first-flow__step.is-reverse .sdc-first-flow__body {
order: 0;
}

.sdc-first-flow__image {
height: 240px;
}

.sdc-first-cta__buttons {
flex-direction: column;
width: min(460px, 100%);
}

.sdc-first-cta__buttons a {
min-width: 0;
width: 100%;
}

.sdc-staff-contact__buttons {
align-items: stretch;
flex-direction: column;
width: min(460px, 100%);
}

.sdc-staff-contact__buttons a {
min-width: 0;
width: 100%;
}

/* clinic container uses default sdc-under-container width (SP) */

.sdc-clinic-history,
.sdc-clinic-feature,
.sdc-clinic-feature.is-reverse,
.sdc-clinic-floor,
.sdc-clinic-floor.is-reverse,
.sdc-clinic-equipment,
.sdc-clinic-equipment.is-reverse,
.sdc-clinic-access-layout {
grid-template-columns: 1fr;
}

.sdc-clinic-feature.is-reverse .sdc-clinic-feature__image,
.sdc-clinic-floor.is-reverse .sdc-clinic-floor__image,
.sdc-clinic-equipment.is-reverse .sdc-clinic-equipment__image {
order: 0;
}

.sdc-clinic-feature.is-reverse .sdc-clinic-feature__body,
.sdc-clinic-floor.is-reverse .sdc-clinic-floor__panel,
.sdc-clinic-equipment.is-reverse .sdc-clinic-equipment__body {
order: 0;
}

.sdc-clinic-feature__body,
.sdc-clinic-floor__panel,
.sdc-clinic-equipment__body {
padding-left: 32px;
padding-right: 32px;
}

.sdc-clinic-history__image,
.sdc-clinic-history__copy,
.sdc-clinic-feature__image,
.sdc-clinic-feature__body,
.sdc-clinic-floor__image,
.sdc-clinic-floor__panel,
.sdc-clinic-equipment__image,
.sdc-clinic-equipment__body,
.sdc-clinic-access-layout__info,
.sdc-clinic-access-layout__map {
min-width: 0;
width: 100%;
}

.sdc-clinic-hours__cards {
grid-template-columns: 1fr;
}

/* access container uses default sdc-under-container width (SP) */

.sdc-access-section {
gap: 48px;
margin-top: 80px;
}

.sdc-access-contact-panel {
align-items: flex-start;
flex-direction: column;
gap: 40px;
padding: 48px 40px;
}

.sdc-access-contact-panel__links {
width: min(433px, 100%);
}

.sdc-access-hours-grid {
grid-template-columns: 1fr;
}

.sdc-access-location {
grid-template-columns: 1fr;
gap: 48px;
}
}

@media (max-width: 768px) {
/* First Visit - mobile */
.sdc-br--pc {
display: none;
}

.sdc-first-concept {
margin-top: 48px;
}

.sdc-first-concept__inner {
min-height: auto;
}

.sdc-first-concept__heading h2 {
font-size: 22px;
}

.sdc-first-concept__lead {
font-size: 14px;
}

.sdc-first-concept__body p {
font-size: 13px;
}

.sdc-first-concept__image {
min-height: 240px;
}

.sdc-first-main {
gap: 48px;
padding: 48px 16px;
}

.sdc-first-req-card {
padding: 24px;
}

.sdc-first-flow {
gap: 24px;
margin-top: 32px;
}

.sdc-first-flow__image {
height: 200px;
}

.sdc-first-flow__body {
padding: 24px;
}

.sdc-first-faq {
gap: 16px;
margin-top: 24px;
}

.sdc-first-faq__item {
padding: 24px;
}

.sdc-first-cta {
padding: 48px 20px;
}

.sdc-first-cta h2 {
font-size: 24px;
}

.sdc-first-cta > p {
font-size: 14px;
}

.sdc-access-section {
gap: 32px;
margin-top: 48px;
}

.sdc-access-contact-panel {
padding: 40px 24px;
}

.sdc-access-contact-panel__copy {
width: 100%;
}

.sdc-access-contact-panel__eyebrow {
font-size: 24px;
}

.sdc-access-contact-panel__message {
font-size: 22px;
}

.sdc-access-contact-panel__links {
gap: 12px;
}

.sdc-access-hours-card {
gap: 32px;
min-height: auto;
padding: 32px 24px 24px;
}

@media (max-width: 375px) {
.sdc-access-contact-panel {
--sdc-access-phone-scale: calc(100vw / 375px);
--sdc-contact-band-scale: calc(100vw / 375px);
}

.sdc-access-contact-panel__links {
gap: calc(12px * var(--sdc-access-phone-scale));
}

}

.sdc-access-hours-card__row {
gap: 12px;
grid-template-columns: 104px 1fr;
}

.sdc-access-hours-card__row--days .sdc-access-hours-card__values,
.sdc-access-hours-card__values--symbols {
letter-spacing: 0.12em;
padding-right: 0;
}

.sdc-access-location {
gap: 32px;
}

.sdc-access-location__map {
height: 280px;
}

.sdc-under-intro > p,
.sdc-staff-intro > p,
.sdc-clinic-intro__summary,
.sdc-clinic-intro__body > p,
.sdc-clinic-intro__stack p,
.sdc-price-intro > p {
font-size: 13px;
letter-spacing: 0.04em;
}

.sdc-under-intro__certs p,
.sdc-staff-intro__certs p {
font-size: 12px;
letter-spacing: 0.04em;
}

.sdc-staff-section-intro,
.sdc-staff-copy-block p {
font-size: 13px;
}

.sdc-staff-section {
gap: 40px;
margin-top: 64px;
}

.sdc-staff-member-name h3,
.sdc-staff-member-name--horizontal h3 {
font-size: 24px;
}

.sdc-staff-member-name--horizontal,
.sdc-staff-member-name--grid {
flex-direction: column;
gap: 6px;
}

.sdc-staff-director {
flex-direction: column;
gap: 40px;
}

.sdc-staff-director__content {
gap: 40px;
width: 100%;
}

.sdc-staff-director__intro {
gap: 24px;
}

.sdc-staff-director__detail ul {
columns: 1;
}

.sdc-staff-director__photo {
width: 100%;
}

.sdc-staff-horizontal-card {
flex-direction: column;
gap: 24px;
padding: 18px;
}

.sdc-staff-horizontal-card__photo {
flex-basis: auto;
height: 260px;
width: 100%;
}

.sdc-staff-grid-row--4,
.sdc-staff-grid-row--3,
.sdc-staff-grid-row--2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
width: 100%;
}

.sdc-staff-grid-row--1 {
grid-template-columns: minmax(0, 1fr);
width: 100%;
}

.sdc-staff-section--radiology,
.sdc-staff-section--hygienists,
.sdc-staff-section--assistants,
.sdc-staff-section--reception {
--sdc-staff-card-width: calc((100% - var(--sdc-staff-card-gap)) / 2);
}

.sdc-staff-section--radiology .sdc-staff-grid-row--4,
.sdc-staff-section--radiology .sdc-staff-grid-row--3,
.sdc-staff-section--radiology .sdc-staff-grid-row--2,
.sdc-staff-section--hygienists .sdc-staff-grid-row--4,
.sdc-staff-section--hygienists .sdc-staff-grid-row--3,
.sdc-staff-section--hygienists .sdc-staff-grid-row--2,
.sdc-staff-section--assistants .sdc-staff-grid-row--4,
.sdc-staff-section--assistants .sdc-staff-grid-row--3,
.sdc-staff-section--assistants .sdc-staff-grid-row--2,
.sdc-staff-section--reception .sdc-staff-grid-row--4,
.sdc-staff-section--reception .sdc-staff-grid-row--3,
.sdc-staff-section--reception .sdc-staff-grid-row--2 {
grid-template-columns: repeat(2, minmax(0, var(--sdc-staff-card-width)));
}

.sdc-staff-section--radiology .sdc-staff-grid-row--1,
.sdc-staff-section--reception .sdc-staff-grid-row--1 {
grid-template-columns: minmax(0, var(--sdc-staff-card-width));
}

.sdc-staff-section--radiology .sdc-staff-grid-row--3,
.sdc-staff-section--radiology .sdc-staff-grid-row--2,
.sdc-staff-section--hygienists .sdc-staff-grid-row--3,
.sdc-staff-section--assistants .sdc-staff-grid-row--3,
.sdc-staff-section--hygienists .sdc-staff-grid-row--2,
.sdc-staff-section--assistants .sdc-staff-grid-row--2,
.sdc-staff-section--reception .sdc-staff-grid-row--3,
.sdc-staff-section--reception .sdc-staff-grid-row--2,
.sdc-staff-section--radiology .sdc-staff-grid-row--1,
.sdc-staff-section--reception .sdc-staff-grid-row--1 {
width: 100%;
}

.sdc-staff-contact {
min-height: 0;
padding: 42px 20px;
}

.sdc-staff-contact h2 {
font-size: 24px;
}

.sdc-staff-contact p {
font-size: 14px;
}

.sdc-staff-contact__buttons a {
font-size: 15px;
}

.sdc-clinic-intro,
.sdc-clinic-section {
gap: 24px;
}

.sdc-clinic-divider,
.sdc-clinic-section,
.sdc-clinic-contact {
margin-top: 40px;
}

.sdc-clinic-section--features {
gap: 40px;
}

.sdc-clinic-section--story {
gap: 40px;
}

.sdc-clinic-history__image,
.sdc-clinic-opening__image,
.sdc-clinic-philosophy__image,
.sdc-clinic-feature__image,
.sdc-clinic-floor__image,
.sdc-clinic-equipment__image,
.sdc-clinic-hours__image,
.sdc-clinic-access-layout__map iframe,
.sdc-clinic-access-layout__map {
min-height: 0;
height: auto;
}

.sdc-clinic-feature__body,
.sdc-clinic-floor__panel,
.sdc-clinic-equipment__body,
.sdc-clinic-access-layout__info,
.sdc-clinic-hours__card,
.sdc-clinic-opening {
padding: 20px;
}

.sdc-clinic-section--story .sdc-clinic-opening {
padding: 0;
}

.sdc-clinic-feature__content {
gap: 32px;
width: 100%;
}

.sdc-clinic-feature__heading {
gap: 12px;
}

.sdc-clinic-feature-list {
gap: 24px;
}

.sdc-clinic-feature__body h3,
.sdc-clinic-equipment__body h3 {
font-size: 20px;
}

.sdc-clinic-history__copy p,
.sdc-clinic-opening__lead,
.sdc-clinic-opening__body p,
.sdc-clinic-philosophy p,
.sdc-clinic-feature__copy,
.sdc-clinic-floor__copy p,
.sdc-clinic-equipment__copy p,
.sdc-clinic-access-layout__info p,
.sdc-clinic-hours__copy p,
.sdc-clinic-hours__title,
.sdc-clinic-intro__body > p,
.sdc-clinic-intro__stack p {
font-size: 13px;
}

.sdc-access-section,
.sdc-access-contact {
margin-top: 40px;
}

.sdc-access-section {
gap: 24px;
}

.sdc-access-reservation {
padding: 24px 20px;
}

.sdc-access-reservation h2 {
font-size: 17px;
}

.sdc-access-reservation__lines p,
.sdc-access-location__body p,
.sdc-access-location__group p {
font-size: 14px;
}

.sdc-access-schedule__header h2 {
font-size: 14px;
}

.sdc-access-schedule__notes li {
font-size: 13px;
}

.sdc-access-location {
gap: 24px;
margin-top: 16px;
}

.sdc-access-location__info h2 {
font-size: 20px;
}

.sdc-access-location__group h3 {
font-size: 14px;
}

.sdc-access-location__map,
.sdc-access-location__map iframe {
min-height: 320px;
}
}

@media (max-width: 575px) {
.sdc-staff-grid-row--4,
.sdc-staff-grid-row--3,
.sdc-staff-grid-row--2 {
grid-template-columns: 1fr;
}

.sdc-staff-section--technicians,
.sdc-staff-section--radiology,
.sdc-staff-section--hygienists,
.sdc-staff-section--assistants,
.sdc-staff-section--reception {
--sdc-staff-card-width: 100%;
}

.sdc-staff-section--technicians .sdc-staff-grid-row--2,
.sdc-staff-section--radiology .sdc-staff-grid-row--4,
.sdc-staff-section--radiology .sdc-staff-grid-row--3,
.sdc-staff-section--radiology .sdc-staff-grid-row--2,
.sdc-staff-section--radiology .sdc-staff-grid-row--1,
.sdc-staff-section--hygienists .sdc-staff-grid-row--4,
.sdc-staff-section--hygienists .sdc-staff-grid-row--3,
.sdc-staff-section--hygienists .sdc-staff-grid-row--2,
.sdc-staff-section--assistants .sdc-staff-grid-row--4,
.sdc-staff-section--assistants .sdc-staff-grid-row--3,
.sdc-staff-section--assistants .sdc-staff-grid-row--2,
.sdc-staff-section--reception .sdc-staff-grid-row--4,
.sdc-staff-section--reception .sdc-staff-grid-row--3,
.sdc-staff-section--reception .sdc-staff-grid-row--2,
.sdc-staff-section--reception .sdc-staff-grid-row--1 {
grid-template-columns: minmax(0, 1fr);
}
}

/* -----------------------------
Price Page
------------------------------ */


.sdc-price-content {
margin-top: 120px;
}

.sdc-price-intro {
display: flex;
flex-direction: column;
align-items: center;
gap: 24px;
}

.sdc-price-intro > p {
color: #000;
font: 400 16px/1.4 "Zen Old Mincho", serif;
letter-spacing: 0.08em;
text-align: center;
}

.sdc-price-notice {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 12px;
padding: 32px;
width: 100%;
}

.sdc-price-notice__item {
align-items: baseline;
color: #333;
display: flex;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
gap: 12px;
}

.sdc-price-notice__bullet {
color: #666;
flex-shrink: 0;
}

.sdc-price-divider {
border: 0;
border-top: 1px solid #ddd;
margin: 80px 0;
}


.sdc-price-grid {
display: grid;
gap: 24px;
grid-template-columns: repeat(2, minmax(0, 1fr));
margin-top: 32px;
}

.sdc-price-grid > .sdc-price-card:last-child:nth-child(odd) {
grid-column: 1 / -1;
justify-self: center;
width: calc((100% - 24px) / 2);
}

.sdc-price-stack {
display: flex;
flex-direction: column;
gap: 24px;
margin-top: 32px;
}

.sdc-price-card {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 20px;
padding: 32px;
}

.sdc-price-card h3 {
color: #000;
font: 400 16px/1.4 "Zen Old Mincho", serif;
}

.sdc-price-card__divider {
background: #ccc;
height: 1px;
width: 80px;
}

.sdc-price-card__desc {
color: #333;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
}

.sdc-price-card__prices {
display: flex;
flex-direction: column;
gap: 8px;
}

.sdc-price-card__row {
align-items: center;
display: flex;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
justify-content: space-between;
}

.sdc-price-card__row dt {
color: #666;
flex: 1;
}

.sdc-price-card__row dd {
color: #000;
margin: 0;
white-space: nowrap;
}

.sdc-price-section[id] {
scroll-margin-top: 120px;
}

.sdc-price-contact {
margin-top: 80px;
}

@media (max-width: 1024px) {
.sdc-price-grid {
grid-template-columns: 1fr;
}

.sdc-price-grid > .sdc-price-card:last-child:nth-child(odd) {
width: 100%;
}
}

@media (max-width: 767px) {
.sdc-price-content {
margin-top: 48px;
}

.sdc-price-section[id] {
scroll-margin-top: 88px;
}

.sdc-price-divider {
margin: 48px 0;
}

.sdc-price-notice {
padding: 24px;
}

.sdc-price-card {
padding: 24px;
}

.sdc-price-contact {
margin-top: 48px;
}
}

/* -----------------------------
Carius (一般歯科) Page
------------------------------ */


.sdc-carius-content {
margin-top: 120px;
}

/* Lead */
.sdc-carius-lead {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
text-align: center;
}

.sdc-carius-lead p {
color: #000;
font:
400 16px/1.4 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

/* Divider */
.sdc-carius-divider {
height: 0;
margin: 80px 0;
}

/* Concept */
.sdc-carius-concept {
display: grid;
gap: 32px;
grid-template-columns: 1fr 1fr;
margin-top: 32px;
}

.sdc-carius-concept__image {
height: 452px;
overflow: hidden;
}

.sdc-carius-concept__text {
display: flex;
flex-direction: column;
gap: 16px;
justify-content: center;
text-align: center;
}

.sdc-carius-concept__text h3 {
color: #000;
font:
400 20px/1.6 "Zen Old Mincho",
serif;
}

.sdc-carius-concept__text > p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-carius-concept__highlight {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 4px;
padding: 32px;
}

.sdc-carius-concept__highlight p {
color: #000;
font:
500 14px/1.8 "Zen Old Mincho",
serif;
}

/* Pain Care */
.sdc-carius-paincare {
display: flex;
flex-direction: column;
gap: 24px;
margin-top: 32px;
}

.sdc-carius-paincare__row {
display: grid;
gap: 24px;
grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sdc-carius-paincare__row--2 {
gap: 32px;
grid-template-columns: repeat(2, minmax(0, 1fr));
margin: 0 auto;
max-width: 66%;
}

.sdc-carius-paincard {
background: #fff;
border: 1px solid #e0e0e0;
overflow: hidden;
}

.sdc-carius-paincard__image {
height: 220px;
overflow: hidden;
}

.sdc-carius-concept__image img,
.sdc-carius-paincard__image img {
display: block;
height: 100%;
object-fit: cover;
width: 100%;
}

.sdc-carius-paincard h3 {
/* extends .sdc-under-card-title */
}

.sdc-carius-paincard__body {
display: flex;
flex-direction: column;
gap: 12px;
padding: 20px;
}

.sdc-carius-paincard__body p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

/* Minimal Invasion */
.sdc-carius-minimal {
margin-top: 32px;
}

.sdc-carius-minimal__intro {
text-align: center;
}

.sdc-carius-minimal__intro p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-carius-minimal__items {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 32px;
}

.sdc-carius-minimal__item {
background: #f5f5f5;
padding: 24px;
}

.sdc-carius-minimal__item h3 {
color: #000;
font:
400 16px/1.4 "Zen Old Mincho",
serif;
}

.sdc-carius-minimal__divider {
background: #ccc;
height: 1px;
margin: 12px 0;
width: 80px;
}

.sdc-carius-minimal__item p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

/* CTA */
.sdc-carius-contact {
margin-top: 80px;
}

/* --- Carius Responsive: 1024px --- */
@media (max-width: 1024px) {
.sdc-carius-concept {
grid-template-columns: 1fr;
}

.sdc-carius-concept__image {
height: 340px;
}

.sdc-carius-paincare__row {
grid-template-columns: 1fr;
}

.sdc-carius-paincare__row--2 {
grid-template-columns: 1fr;
max-width: 100%;
}
}

/* --- Carius Responsive: 767px --- */
@media (max-width: 767px) {
.sdc-carius-content {
margin-top: 48px;
}

.sdc-carius-lead p {
font-size: 15px;
}

.sdc-carius-divider {
margin: 48px 0;
}

.sdc-carius-concept__image {
height: 240px;
}

.sdc-carius-concept__text h3 {
font-size: 17px;
}

.sdc-carius-concept__highlight {
padding: 24px;
}

.sdc-carius-minimal__item {
padding: 20px;
}

.sdc-carius-contact {
margin-top: 48px;
}
}

/* -----------------------------
Perio (歯周病) Page
------------------------------ */


.sdc-perio-content {
margin-top: 120px;
}

/* Lead */
.sdc-perio-lead {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
text-align: center;
}

.sdc-perio-lead p {
color: #000;
font:
400 16px/1.4 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

/* Divider */
.sdc-perio-divider {
border: 0;
border-top: 1px solid #ddd;
margin: 80px 0;
}

/* Concept */
.sdc-perio-concept {
display: grid;
gap: 32px;
grid-template-columns: 1fr 1fr;
margin-top: 40px;
}

.sdc-perio-concept__image {
height: 452px;
overflow: hidden;
}

.sdc-perio-concept__text {
display: flex;
flex-direction: column;
gap: 24px;
justify-content: center;
text-align: center;
}

.sdc-perio-concept__text h3 {
color: #000;
font:
400 20px/1.6 "Zen Old Mincho",
serif;
}

.sdc-perio-concept__text > p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-perio-concept__highlight {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 4px;
padding: 32px;
}

.sdc-perio-concept__highlight p {
color: #000;
font:
500 14px/1.8 "Zen Old Mincho",
serif;
}

/* Strengths */
.sdc-perio-strengths {
display: flex;
flex-direction: column;
gap: 32px;
margin-top: 40px;
}

.sdc-perio-strength {
background: #fff;
border: 1px solid #e0e0e0;
overflow: hidden;
}

.sdc-perio-strength__image {
overflow: hidden;
}

.sdc-perio-strength--wide .sdc-perio-strength__image {
height: 445px;
}

.sdc-perio-strengths__row .sdc-perio-strength__image {
height: 332px;
}

.sdc-perio-concept__image img,
.sdc-perio-strength__image img {
display: block;
height: 100%;
object-fit: cover;
width: 100%;
}

.sdc-perio-strength__title {
/* extends .sdc-under-card-title */
}

.sdc-perio-strength__content {
display: flex;
flex-direction: column;
gap: 12px;
padding: 20px;
}

.sdc-perio-strength__content p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-perio-strengths__row {
display: grid;
gap: 32px;
grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Surgery & Regeneration */
.sdc-perio-surgery-intro {
margin-top: 40px;
text-align: center;
}

.sdc-perio-surgery-intro__heading {
color: #000;
font:
400 18px/1.4 "Zen Old Mincho",
serif;
}

.sdc-perio-surgery-intro__text {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 20px;
}

.sdc-perio-surgery-intro__text p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

/* Procedures */
.sdc-perio-procedures {
display: flex;
flex-direction: column;
gap: 32px;
margin-top: 40px;
}

.sdc-perio-procedures__divider {
border: 0;
border-top: 1px solid #e5e5e5;
margin: 0;
}

.sdc-perio-procedure__title {
background: #f5f5f5;
padding: 24px;
}

.sdc-perio-procedure__title h3 {
color: #000;
font:
400 18px/1.4 "Zen Old Mincho",
serif;
}

.sdc-perio-procedure__title-divider {
background: #ccc;
height: 1px;
margin: 12px 0;
width: 80px;
}

.sdc-perio-procedure__title p {
color: #666;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-perio-procedure__body {
display: flex;
flex-direction: column;
gap: 16px;
margin-top: 24px;
}

.sdc-perio-procedure__body > p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

/* Features (bullet lists) */
.sdc-perio-features {
display: flex;
flex-direction: column;
gap: 12px;
}

.sdc-perio-feature h4 {
color: #000;
font:
400 16px/1.4 "Zen Old Mincho",
serif;
}

.sdc-perio-feature ul {
display: flex;
flex-direction: column;
gap: 8px;
margin-top: 8px;
}

.sdc-perio-feature li {
color: #333;
display: flex;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
gap: 8px;
}

.sdc-perio-feature li::before {
color: #666;
content: "\2022";
flex-shrink: 0;
}

/* Methods */
.sdc-perio-methods {
display: flex;
flex-direction: column;
gap: 12px;
}

.sdc-perio-methods__heading {
color: #000;
font:
400 16px/1.4 "Zen Old Mincho",
serif;
}

.sdc-perio-method {
display: flex;
flex-direction: column;
gap: 8px;
}

.sdc-perio-method h4 {
color: #000;
font:
400 14px/1.4 "Noto Sans JP",
sans-serif;
}

.sdc-perio-method p {
color: #666;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
padding-left: 16px;
}

/* Regen Info box */
.sdc-perio-regen-info {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 45px;
margin-top: 32px;
padding: 32px;
}

.sdc-perio-regen-info > h3 {
color: #000;
font:
400 18px/1.4 "Zen Old Mincho",
serif;
}

.sdc-perio-regen-info__row {
display: grid;
gap: 32px;
grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sdc-perio-regen-col h4 {
color: #000;
font:
400 16px/1.4 "Zen Old Mincho",
serif;
}

.sdc-perio-regen-col__divider {
background: #ccc;
height: 1px;
margin: 12px 0;
width: 60px;
}

.sdc-perio-regen-col ul {
display: flex;
flex-direction: column;
gap: 8px;
}

.sdc-perio-regen-col li {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

/* Treatment details */
.sdc-perio-treatment-details {
display: flex;
flex-direction: column;
gap: 12px;
margin: 0;
}

.sdc-perio-treatment-details__row {
display: flex;
gap: 16px;
}

.sdc-perio-treatment-details dt {
color: #000;
flex-shrink: 0;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
width: 184px;
}

.sdc-perio-treatment-details dd {
color: #666;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
margin: 0;
}

.sdc-perio-diagnosis {
display: flex;
flex-direction: column;
gap: 32px;
margin-top: 40px;
}

.sdc-perio-diagnosis__heading {
color: #000;
font: 400 24px/1.6 "Zen Old Mincho", serif;
text-align: center;
}

.sdc-perio-diagnosis__body {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 16px;
padding: 40px;
text-align: center;
}

.sdc-perio-diagnosis__body p {
color: #333;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
}

.sdc-perio-diagnosis__body p:last-child {
color: #000;
font: 400 18px/1.8 "Zen Old Mincho", serif;
}

/* CTA */
.sdc-perio-contact {
margin-top: 80px;
}

/* --- Perio Responsive: 1024px --- */
@media (max-width: 1024px) {
.sdc-perio-concept {
grid-template-columns: 1fr;
}

.sdc-perio-concept__image {
height: 340px;
}

.sdc-perio-strengths__row {
grid-template-columns: 1fr;
}

.sdc-perio-regen-info__row {
grid-template-columns: 1fr;
}

}

/* --- Perio Responsive: 767px --- */
@media (max-width: 767px) {
.sdc-perio-content {
margin-top: 48px;
}

.sdc-perio-lead p {
font-size: 15px;
}

.sdc-perio-divider {
margin: 48px 0;
}

.sdc-perio-concept__image {
height: 240px;
}

.sdc-perio-concept__highlight {
padding: 24px;
}

.sdc-perio-strength--wide .sdc-perio-strength__image {
height: 260px;
}

.sdc-perio-strengths__row .sdc-perio-strength__image {
height: 220px;
}

.sdc-perio-procedure__title {
padding: 20px;
}

.sdc-perio-procedure__body {
margin-top: 20px;
padding-inline: 32px;
}

.sdc-perio-regen-info {
gap: 32px;
padding: 28px 32px;
}

.sdc-perio-diagnosis {
gap: 24px;
margin-top: 24px;
}

.sdc-perio-diagnosis__heading {
font-size: 20px;
}

.sdc-perio-diagnosis__body {
padding: 24px;
text-align: left;
}

.sdc-perio-diagnosis__body p:last-child {
font-size: 16px;
}

.sdc-perio-treatment-details__row {
flex-direction: column;
gap: 4px;
}

.sdc-perio-treatment-details dt {
width: auto;
}

.sdc-perio-contact {
margin-top: 48px;
}
}

/* -----------------------------
End (根管治療) Page
------------------------------ */
.sdc-end-content {
padding-bottom: 80px;
}

/* Lead */
.sdc-end-lead {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 120px;
text-align: center;
}

.sdc-end-lead p {
color: #000;
font:
400 16px/1.6 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-end-divider {
border: none;
border-top: 1px solid #b4bdd0;
margin: 64px 0;
}

.sdc-end-section {
display: flex;
flex-direction: column;
}

/* Concept (2-col grid like carius/perio) */
.sdc-end-concept {
display: grid;
gap: 32px;
grid-template-columns: 1fr 1fr;
margin-top: 40px;
}

.sdc-end-concept__image {
height: 452px;
overflow: hidden;
}

.sdc-end-concept__text {
display: flex;
flex-direction: column;
gap: 16px;
justify-content: center;
text-align: center;
}

.sdc-end-concept__text h3 {
color: #000;
font:
400 20px/1.6 "Zen Old Mincho",
serif;
}

.sdc-end-concept__text > p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-end-concept__highlight {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 4px;
padding: 32px;
}

.sdc-end-concept__highlight p {
color: #000;
font:
500 14px/1.8 "Zen Old Mincho",
serif;
}

/* Features (3-col grid) */
.sdc-end-features {
display: grid;
gap: 24px;
grid-template-columns: repeat(3, minmax(0, 1fr));
margin-top: 40px;
}

.sdc-end-feature {
background: #fff;
display: flex;
flex-direction: column;
}

.sdc-end-feature__image {
height: 200px;
overflow: hidden;
}

.sdc-end-concept__image img,
.sdc-end-feature__image img {
display: block;
height: 100%;
object-fit: cover;
width: 100%;
}

.sdc-end-feature h3 {
/* extends .sdc-under-card-title */
}

.sdc-end-feature__body {
display: flex;
flex-direction: column;
gap: 12px;
padding: 24px 20px;
}

.sdc-end-feature__body p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-end-feature__body ul {
display: flex;
flex-direction: column;
gap: 4px;
list-style: disc;
padding-left: 20px;
}

.sdc-end-feature__body li {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

/* FAQ */
.sdc-end-faq {
display: flex;
flex-direction: column;
gap: 24px;
margin-top: 40px;
}

.sdc-end-faq__item {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 16px;
padding: 32px;
}

.sdc-end-faq__q {
color: #000;
font:
400 16px/1.4 "Zen Old Mincho",
serif;
}

.sdc-end-faq__divider {
background: #ccc;
height: 1px;
width: 60px;
}

.sdc-end-faq__a {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

/* CTA */
.sdc-end-contact {
margin-top: 0;
}

/* --- Responsive: Tablet (≤1024px) --- */
@media (max-width: 1024px) {
.sdc-end-concept {
grid-template-columns: 1fr;
}

.sdc-end-concept__image {
height: 300px;
}

.sdc-end-features {
grid-template-columns: 1fr;
}
}

/* --- Responsive: SP (≤767px) --- */
@media (max-width: 767px) {
.sdc-end-lead {
margin-top: 48px;
}

.sdc-end-divider {
margin: 48px 0;
}

.sdc-end-concept__image {
height: 240px;
}

.sdc-end-concept__highlight {
padding: 24px;
}

.sdc-end-faq__item {
padding: 24px;
}

.sdc-end-contact {
margin-top: 0;
}
}

/* -----------------------------
Cleaning (予防治療) Page
------------------------------ */


/* Lead */
.sdc-cleaning-lead {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 120px;
text-align: center;
}

.sdc-cleaning-lead p {
color: #000;
font:
400 16px/1.6 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-cleaning-divider {
border: none;
border-top: 1px solid #b4bdd0;
margin: 64px 0;
}

.sdc-cleaning-section {
display: flex;
flex-direction: column;
}

/* Concept (2-col grid) */
.sdc-cleaning-concept {
display: grid;
gap: 32px;
grid-template-columns: 1fr 1fr;
margin-top: 40px;
}

.sdc-cleaning-concept__image {
height: 452px;
overflow: hidden;
}

.sdc-cleaning-concept__text {
display: flex;
flex-direction: column;
gap: 16px;
justify-content: center;
text-align: center;
}

.sdc-cleaning-concept__text h3 {
color: #000;
font:
400 20px/1.6 "Zen Old Mincho",
serif;
}

.sdc-cleaning-concept__body {
display: flex;
flex-direction: column;
gap: 8px;
}

.sdc-cleaning-concept__body p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
margin: 0;
}

.sdc-cleaning-concept__highlight {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 4px;
padding: 32px;
}

.sdc-cleaning-concept__highlight p {
color: #000;
font:
500 14px/1.8 "Zen Old Mincho",
serif;
margin: 0;
}

/* Evidence / Why Prevention */
.sdc-cleaning-evidence {
display: flex;
flex-direction: column;
gap: 40px;
margin-top: 40px;
}

/* Stat card */
.sdc-cleaning-stat {
background: #fff;
display: flex;
flex-direction: column;
gap: 24px;
padding: 40px;
text-align: center;
}

.sdc-cleaning-stat h3 {
color: #3d3d3b;
font:
400 20px/1.6 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-cleaning-stat__divider {
background: #b4bdd0;
height: 1px;
margin: 0 auto;
width: 120px;
}

.sdc-cleaning-stat p {
color: #3d3d3b;
font:
400 14px/1.8 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-cleaning-stat p:last-child {
color: #3d3d3b;
font:
400 16px/1.8 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

/* Comparison */
.sdc-cleaning-comparison {
display: flex;
flex-direction: column;
gap: 32px;
text-align: center;
}

.sdc-cleaning-comparison > h3 {
color: #3d3d3b;
font:
400 20px/1.6 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-cleaning-comparison__cards {
display: grid;
gap: 24px;
grid-template-columns: 1fr 1fr;
}

.sdc-cleaning-comparison__card {
background: #fff;
display: flex;
flex-direction: column;
gap: 20px;
padding: 32px;
text-align: center;
}

.sdc-cleaning-comparison__country {
color: #3d3d3b;
font:
400 16px/1.6 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-cleaning-comparison__divider {
background: #b4bdd0;
height: 1px;
margin: 0 auto;
width: 80px;
}

.sdc-cleaning-comparison__teeth {
color: #3d3d3b;
font:
400 26px/1.4 "Cinzel",
serif;
letter-spacing: 0.08em;
}

.sdc-cleaning-comparison__note {
color: #6e6d69;
font:
400 13px/1.7 "Noto Sans JP",
sans-serif;
}

/* Conclusion */
.sdc-cleaning-conclusion {
background: #7f8caa;
display: flex;
flex-direction: column;
gap: 16px;
padding: 32px;
text-align: center;
}

.sdc-cleaning-conclusion p {
color: #fff;
font:
400 14px/1.8 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

/* Features (3-col grid) */
.sdc-cleaning-features {
display: grid;
gap: 24px;
grid-template-columns: repeat(3, minmax(0, 1fr));
margin-top: 40px;
}

.sdc-cleaning-feature {
background: #fff;
display: flex;
flex-direction: column;
}

.sdc-cleaning-feature__image {
height: 220px;
overflow: hidden;
}

.sdc-cleaning-concept__image img,
.sdc-cleaning-feature__image img {
display: block;
height: 100%;
object-fit: cover;
width: 100%;
}

.sdc-cleaning-feature h3 {
/* extends .sdc-under-card-title */
}

.sdc-cleaning-feature__body {
background: #fff;
padding: 20px;
}

.sdc-cleaning-feature__body p {
color: #6e6d69;
font:
400 14px/23.8px "Noto Sans JP",
sans-serif;
}

/* Maintenance Menu */
.sdc-cleaning-menu {
display: flex;
flex-direction: column;
gap: 20px;
margin-top: 40px;
}

.sdc-cleaning-menu__item {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 12px;
padding: 24px;
}

.sdc-cleaning-menu__item h3 {
color: #000;
font:
400 16px/1.4 "Zen Old Mincho",
serif;
}

.sdc-cleaning-menu__divider {
background: #ccc;
height: 1px;
width: 80px;
}

.sdc-cleaning-menu__item p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

/* CTA */
.sdc-cleaning-contact {
margin-top: 0;
}

/* --- Responsive: Tablet (≤1024px) --- */
@media (max-width: 1024px) {
.sdc-cleaning-concept {
grid-template-columns: 1fr;
}

.sdc-cleaning-concept__image {
height: 300px;
}

.sdc-cleaning-features {
grid-template-columns: 1fr;
}

.sdc-cleaning-comparison__cards {
grid-template-columns: 1fr;
}
}

/* --- Responsive: SP (≤767px) --- */
@media (max-width: 767px) {
.sdc-cleaning-lead {
margin-top: 48px;
}

.sdc-cleaning-divider {
margin: 32px 0;
}

.sdc-cleaning-concept__image {
height: 240px;
}

.sdc-cleaning-concept__highlight {
padding: 24px;
}

.sdc-cleaning-stat {
padding: 24px;
}

.sdc-cleaning-comparison__card {
padding: 24px;
}

.sdc-cleaning-conclusion {
padding: 24px;
}

.sdc-cleaning-contact {
margin-top: 0;
}
}

/* -----------------------------
Implant (インプラント) Page
------------------------------ */
.sdc-implant-content {
padding-bottom: 80px;
}

/* Lead */
.sdc-implant-lead {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 120px;
text-align: center;
}

.sdc-implant-lead p {
color: #000;
font:
400 16px/1.6 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-implant-divider {
height: 0;
margin: 64px 0;
}

.sdc-implant-section {
display: flex;
flex-direction: column;
}

/* Concept (2-col grid) */
.sdc-implant-concept {
display: grid;
gap: 32px;
grid-template-columns: 1fr 1fr;
margin-top: 40px;
}

.sdc-implant-concept__image {
height: 452px;
overflow: hidden;
}

.sdc-implant-concept__text {
display: flex;
flex-direction: column;
gap: 16px;
justify-content: center;
text-align: center;
}

.sdc-implant-concept__text h3 {
color: #000;
font:
400 20px/1.6 "Zen Old Mincho",
serif;
}

.sdc-implant-concept__text > p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-implant-concept__highlight {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 4px;
padding: 32px;
}

.sdc-implant-concept__highlight p {
color: #000;
font:
500 14px/1.8 "Zen Old Mincho",
serif;
}

/* Features (1 wide + 2-col row) */
.sdc-implant-features {
display: flex;
flex-direction: column;
gap: 32px;
margin-top: 40px;
}

.sdc-implant-feature {
background: #fff;
border: 1px solid #e0e0e0;
display: flex;
flex-direction: column;
}

.sdc-implant-feature--wide .sdc-implant-feature__image {
height: 360px;
}

.sdc-implant-feature__image {
height: 220px;
overflow: hidden;
}

.sdc-implant-concept__image img,
.sdc-implant-feature__image img {
display: block;
height: 100%;
object-fit: cover;
width: 100%;
}

.sdc-implant-feature__body {
display: flex;
flex-direction: column;
gap: 12px;
padding: 20px;
}

.sdc-implant-feature__body p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-implant-features__row {
display: grid;
gap: 32px;
grid-template-columns: 1fr 1fr;
}

/* Comparison Table */
.sdc-implant-table-wrap {
background: #fff;
margin-top: 40px;
overflow-x: auto;
padding: 0 32px;
-webkit-overflow-scrolling: touch;
}

.sdc-implant-table {
border-collapse: separate;
border-spacing: 0;
min-width: 720px;
width: 100%;
}

.sdc-implant-table thead th {
border-bottom: 1px solid #b4bdd0;
color: #3d3d3b;
font:
400 18px/1.6 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
padding: 24px 20px 20px;
text-align: center;
vertical-align: middle;
}

.sdc-implant-table thead th:first-child {
width: 148px;
}

.sdc-implant-table td {
border-bottom: 1px solid #d6dde8;
color: #3d3d3b;
font:
400 13px/1.9 "Noto Sans JP",
sans-serif;
padding: 20px;
vertical-align: top;
}

.sdc-implant-table tbody tr:last-child td {
border-bottom: 0;
}

.sdc-implant-table__label {
color: #3d3d3b;
font:
400 15px/1.6 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
white-space: nowrap;
}

/* Flow (3x2 grid) */
/* Risk */
.sdc-implant-risk {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 20px;
margin-top: 40px;
padding: 32px;
}

.sdc-implant-risk__intro {
color: #000;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-implant-risk__divider {
background: #ccc;
height: 1px;
width: 100px;
}

.sdc-implant-risk__list {
display: flex;
flex-direction: column;
gap: 8px;
list-style: none;
}

.sdc-implant-risk__list li {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
padding-left: 16px;
position: relative;
}

.sdc-implant-risk__list li::before {
color: #666;
content: "•";
left: 0;
position: absolute;
}

.sdc-implant-risk__notes {
display: flex;
flex-direction: column;
gap: 4px;
}

.sdc-implant-risk__notes p {
color: #666;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

/* FAQ */
.sdc-implant-faq {
display: flex;
flex-direction: column;
gap: 20px;
margin-top: 40px;
}

.sdc-implant-faq__item {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 12px;
padding: 24px;
}

.sdc-implant-faq__q {
color: #000;
font:
400 16px/1.4 "Zen Old Mincho",
serif;
}

.sdc-implant-faq__divider {
background: #ccc;
height: 1px;
width: 60px;
}

.sdc-implant-faq__a {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

/* CTA */
.sdc-implant-contact {
margin-top: 0;
}

/* --- Responsive: Tablet (≤1024px) --- */
@media (max-width: 1024px) {
.sdc-implant-concept {
grid-template-columns: 1fr;
}

.sdc-implant-concept__image {
height: 300px;
}

.sdc-implant-features__row {
grid-template-columns: 1fr;
}

}

/* --- Responsive: SP (≤767px) --- */
@media (max-width: 767px) {
.sdc-implant-lead {
margin-top: 48px;
}

.sdc-implant-divider {
margin: 48px 0;
}

.sdc-implant-concept__image {
height: 240px;
}

.sdc-implant-concept__highlight {
padding: 24px;
}

.sdc-implant-feature--wide .sdc-implant-feature__image {
height: 240px;
}

.sdc-implant-feature__image,
.sdc-implant-feature .sdc-under-card-title {
margin-left: 20px;
margin-right: 20px;
width: auto;
}

.sdc-implant-feature__image {
margin-top: 20px;
}

.sdc-implant-feature__body {
padding: 16px 20px 20px;
}


.sdc-implant-risk {
padding: 24px;
}

.sdc-implant-faq__item {
padding: 20px;
}

.sdc-implant-table thead th {
font-size: 14px;
padding: 16px 10px 14px;
}

.sdc-implant-table td {
padding: 10px 12px;
}

.sdc-implant-table-wrap {
padding: 0 16px;
}

.sdc-implant-table__label {
font-size: 13px;
}

.sdc-implant-contact {
margin-top: 0;
}
}

/* -----------------------------
Shinbi (審美治療) Page
----------------------------- */


/* Lead */
.sdc-shinbi-lead {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 120px;
text-align: center;
}

.sdc-shinbi-lead p {
color: #000;
font:
400 16px/1.6 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-shinbi-divider {
border: none;
border-top: 1px solid #b4bdd0;
margin: 64px 0;
}

.sdc-shinbi-section {
display: flex;
flex-direction: column;
}

/* Concept (2-col grid) */
.sdc-shinbi-concept {
display: grid;
gap: 32px;
grid-template-columns: 1fr 1fr;
margin-top: 40px;
}

.sdc-shinbi-concept__image {
height: 452px;
overflow: hidden;
}

.sdc-shinbi-concept__text {
display: flex;
flex-direction: column;
gap: 16px;
justify-content: center;
text-align: center;
}

.sdc-shinbi-concept__text h3 {
color: #000;
font:
400 20px/1.6 "Zen Old Mincho",
serif;
}

.sdc-shinbi-concept__text > p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-shinbi-concept__highlight {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 4px;
padding: 32px;
}

.sdc-shinbi-concept__highlight p {
color: #000;
font:
500 14px/1.8 "Zen Old Mincho",
serif;
}

/* Features (3-col grid) */
.sdc-shinbi-features {
display: grid;
gap: 24px;
grid-template-columns: repeat(3, minmax(0, 1fr));
margin-top: 40px;
}

.sdc-shinbi-feature {
background: #fff;
border: 1px solid #e0e0e0;
display: flex;
flex-direction: column;
}

.sdc-shinbi-feature__image {
height: 220px;
overflow: hidden;
}

.sdc-shinbi-concept__image img,
.sdc-shinbi-feature__image img {
display: block;
height: 100%;
object-fit: cover;
width: 100%;
}

.sdc-shinbi-feature h3 {
/* extends .sdc-under-card-title */
}

.sdc-shinbi-feature__body {
display: flex;
flex-direction: column;
gap: 12px;
padding: 20px;
}

.sdc-shinbi-feature__body p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

/* Types (vertical list — same as cleaning menu) */
.sdc-shinbi-types {
display: flex;
flex-direction: column;
gap: 20px;
margin-top: 40px;
}

.sdc-shinbi-types__item {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 12px;
padding: 24px;
}

.sdc-shinbi-types__item h3 {
color: #000;
font:
400 16px/1.4 "Zen Old Mincho",
serif;
}

.sdc-shinbi-types__divider {
background: #ccc;
height: 1px;
width: 80px;
}

.sdc-shinbi-types__item p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-shinbi-types__note {
color: #666;
font:
400 14px/1.4 "Noto Sans JP",
sans-serif;
text-align: center;
}

/* Benefits */
.sdc-shinbi-benefits {
margin-top: 40px;
padding: 32px;
background: #fff;
}

.sdc-shinbi-benefits ul {
display: flex;
flex-direction: column;
gap: 8px;
list-style: none;
}

.sdc-shinbi-benefits li {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
padding-left: 16px;
position: relative;
}

.sdc-shinbi-benefits li::before {
color: #000;
content: "•";
left: 0;
position: absolute;
}

/* Risk */
.sdc-shinbi-risk-section {
margin-top: 32px;
}

.sdc-shinbi-risk__heading {
color: #000;
font:
400 16px/1.4 "Zen Old Mincho",
serif;
text-align: center;
}

.sdc-shinbi-risk {
background: #fff;

margin-top: 16px;
padding: 24px;
}

.sdc-shinbi-risk ul {
display: flex;
flex-direction: column;
gap: 8px;
list-style: none;
}

.sdc-shinbi-risk li {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
padding-left: 16px;
position: relative;
}

.sdc-shinbi-risk li::before {
color: #666;
content: "•";
left: 0;
position: absolute;
}

/* CTA */
.sdc-shinbi-contact {
margin-top: 0;
}

/* --- Responsive: Tablet (≤1024px) --- */
@media (max-width: 1024px) {
.sdc-shinbi-concept {
grid-template-columns: 1fr;
}

.sdc-shinbi-concept__image {
height: 300px;
}

.sdc-shinbi-features {
grid-template-columns: 1fr;
}

}

/* --- Responsive: SP (≤767px) --- */
@media (max-width: 767px) {
.sdc-shinbi-lead {
margin-top: 48px;
}

.sdc-shinbi-divider {
margin: 48px 0;
}

.sdc-shinbi-concept__image {
height: 240px;
}

.sdc-shinbi-concept__highlight {
padding: 24px;
}

.sdc-shinbi-benefits {
padding: 24px;
}

.sdc-shinbi-contact {
margin-top: 0;
}
}

/* -----------------------------
Whitening (ホワイトニング) Page
------------------------------ */
.sdc-whitening-content {
padding-bottom: 80px;
}

/* Lead */
.sdc-whitening-lead {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 120px;
text-align: center;
}

.sdc-whitening-lead p {
color: #000;
font:
400 16px/1.6 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-whitening-divider {
border: none;
border-top: 1px solid #b4bdd0;
margin: 64px 0;
}

.sdc-whitening-section {
display: flex;
flex-direction: column;
}

/* Concept (2-col grid) */
.sdc-whitening-concept {
display: grid;
gap: 32px;
grid-template-columns: 1fr 1fr;
margin-top: 40px;
}

.sdc-whitening-concept__image {
height: 452px;
overflow: hidden;
}

.sdc-whitening-concept__image img {
display: block;
height: 100%;
object-fit: cover;
width: 100%;
}

.sdc-whitening-concept__text {
display: flex;
flex-direction: column;
gap: 16px;
justify-content: center;
text-align: center;
}

.sdc-whitening-concept__text h3 {
color: #000;
font:
400 20px/1.6 "Zen Old Mincho",
serif;
}

.sdc-whitening-concept__text > p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-whitening-concept__highlight {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 4px;
padding: 32px;
}

.sdc-whitening-concept__highlight p {
color: #000;
font:
500 14px/1.8 "Zen Old Mincho",
serif;
}

/* FAQ */
.sdc-whitening-faq {
display: flex;
flex-direction: column;
gap: 20px;
margin-top: 40px;
}

.sdc-whitening-faq__item {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 12px;
padding: 24px;
}

.sdc-whitening-faq__q {
color: #000;
font:
400 16px/1.4 "Zen Old Mincho",
serif;
}

.sdc-whitening-faq__divider {
background: #ccc;
height: 1px;
width: 60px;
}

.sdc-whitening-faq__a {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

/* Risk & Cost (2-col grid) */
.sdc-whitening-risk-grid {
display: grid;
gap: 32px;
grid-template-columns: 1fr 1fr;
margin-top: 40px;
}

.sdc-whitening-risk-card {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 20px;
padding: 32px;
}

.sdc-whitening-risk-card h3 {
color: #000;
font:
400 16px/1.4 "Zen Old Mincho",
serif;
}

.sdc-whitening-risk-card__divider {
background: #ccc;
height: 1px;
width: 100px;
}

.sdc-whitening-risk-card ul {
display: flex;
flex-direction: column;
gap: 8px;
list-style: none;
}

.sdc-whitening-risk-card li {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
padding-left: 16px;
position: relative;
}

.sdc-whitening-risk-card li::before {
color: #666;
content: "•";
left: 0;
position: absolute;
}

.sdc-whitening-risk-card__text {
display: flex;
flex-direction: column;
gap: 12px;
}

.sdc-whitening-risk-card__text p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

/* CTA */
.sdc-whitening-contact {
margin-top: 0;
}

/* --- Responsive: Tablet (≤1024px) --- */
@media (max-width: 1024px) {
.sdc-whitening-concept {
grid-template-columns: 1fr;
}

.sdc-whitening-concept__image {
height: 300px;
}

.sdc-whitening-risk-grid {
grid-template-columns: 1fr;
}
}

/* --- Responsive: SP (≤767px) --- */
@media (max-width: 767px) {
.sdc-whitening-lead {
margin-top: 48px;
}

.sdc-whitening-divider {
margin: 48px 0;
}

.sdc-whitening-concept__image {
height: 240px;
}

.sdc-whitening-concept__highlight {
padding: 24px;
}

.sdc-whitening-risk-card {
padding: 24px;
}

.sdc-whitening-contact {
margin-top: 0;
}
}

/* -----------------------------
Denture (入れ歯) Page
------------------------------ */
.sdc-denture-content {
padding-bottom: 80px;
}

/* Lead */
.sdc-denture-lead {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 120px;
text-align: center;
}

.sdc-denture-lead p {
color: #000;
font:
400 16px/1.6 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-denture-divider {
border: none;
border-top: 1px solid #b4bdd0;
margin: 64px 0;
}

.sdc-denture-section {
display: flex;
flex-direction: column;
}

/* Concept (2-col grid) */
.sdc-denture-concept {
display: grid;
gap: 32px;
grid-template-columns: 392px minmax(0, 776px);
margin-top: 64px;
}

.sdc-denture-concept__image {
height: 298px;
overflow: hidden;
}

.sdc-denture-concept__text {
align-items: center;
display: flex;
flex-direction: column;
gap: 16px;
justify-content: center;
text-align: center;
}

.sdc-denture-concept__text h3 {
color: #3d3d3b;
font:
400 14px/1.8 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
margin: 0;
}

.sdc-denture-concept__text > p {
color: #3d3d3b;
font:
400 14px/1.8 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
margin: 0;
width: 100%;
}

.sdc-denture-concept__highlight {
background: #7f8caa;
display: flex;
flex-direction: column;
gap: 16px;
max-width: 598px;
padding: 32px 24px;
width: 100%;
}

.sdc-denture-concept__highlight p {
color: #fff;
font:
400 15px/1.8 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
margin: 0;
}

@media (min-width: 768px) {
.sdc-denture-concept__highlight {
max-width: 640px;
}

.sdc-denture-concept__highlight p:first-child {
white-space: nowrap;
}
}

/* Features (3-col grid) */
.sdc-denture-features {
display: grid;
gap: 24px;
grid-template-columns: repeat(3, minmax(0, 1fr));
margin-top: 40px;
}

.sdc-denture-feature {
background: #fff;
border: 1px solid #e0e0e0;
display: flex;
flex-direction: column;
}

.sdc-denture-feature__image {
height: 220px;
overflow: hidden;
}

.sdc-denture-concept__image img,
.sdc-denture-feature__image img {
display: block;
height: 100%;
object-fit: cover;
width: 100%;
}

.sdc-denture-feature h3 {
/* extends .sdc-under-card-title */
}

.sdc-denture-feature__body {
display: flex;
flex-direction: column;
gap: 12px;
padding: 20px;
}

.sdc-denture-feature__body p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

/* Types */
.sdc-denture-types {
display: flex;
flex-direction: column;
gap: 64px;
margin-top: 64px;
}

.sdc-denture-category {
display: flex;
flex-direction: column;
gap: 24px;
}

.sdc-denture-category__label {
color: #3d3d3b;
font:
400 24px/1.2 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
margin: 0;
text-align: left;
}

.sdc-denture-category__divider {
border: none;
border-top: 1px solid #b4bdd0;
margin: 0;
}

.sdc-denture-type {
display: flex;
flex-direction: column;
gap: 24px;
}

.sdc-denture-type__info {
background: #fff;
display: flex;
flex-direction: column;
gap: 12px;
padding: 24px;
}

.sdc-denture-type__info h3 {
color: #000;
font:
400 20px/1.2 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
margin: 0;
}

.sdc-denture-type__line {
background: #ccc;
height: 1px;
width: 100%;
}

.sdc-denture-type__info p {
color: #3d3d3b;
font:
400 14px/1.8 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
margin: 0;
}

.sdc-denture-type__row {
background: #7f8caa;
display: grid;
gap: 80px;
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
padding: 40px;
position: relative;
}

.sdc-denture-type__row::before {
background: rgba(255, 255, 255, 0.45);
content: "";
height: calc(100% - 80px);
left: 50%;
position: absolute;
top: 40px;
transform: translateX(-0.5px);
width: 1px;
}

.sdc-denture-type__box {
display: flex;
flex-direction: column;
gap: 24px;
min-width: 0;
padding: 0;
}

.sdc-denture-type__box h4 {
color: #fff;
font:
400 24px/1.2 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
margin: 0;
}

.sdc-denture-type__box-line {
background: rgba(255, 255, 255, 0.45);
height: 1px;
width: 100%;
}

.sdc-denture-type__box ul {
display: flex;
flex-direction: column;
gap: 12px;
list-style: none;
margin: 0;
padding: 0;
}

.sdc-denture-type__box li {
color: #fff;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
padding-left: 20px;
position: relative;
}

.sdc-denture-type__box li::before {
color: #fff;
content: "•";
left: 0;
position: absolute;
top: 0;
}

/* CTA */
.sdc-denture-contact {
margin-top: 0;
}

/* --- Responsive: Tablet (≤1024px) --- */
@media (max-width: 1024px) {
.sdc-denture-concept {
grid-template-columns: 1fr;
}

.sdc-denture-concept__image {
height: 300px;
}

.sdc-denture-features {
grid-template-columns: 1fr;
}

.sdc-denture-type__row {
grid-template-columns: 1fr;
gap: 40px;
padding: 32px 24px;
}

.sdc-denture-type__row::before {
display: none;
}
}

/* --- Responsive: SP (≤767px) --- */
@media (max-width: 767px) {
.sdc-denture-lead {
margin-top: 48px;
}

.sdc-denture-divider {
margin: 48px 0;
}

.sdc-denture-concept__image {
height: 240px;
}

.sdc-denture-concept__highlight {
padding: 24px;
}

.sdc-denture-contact {
margin-top: 0;
}

.sdc-denture-types {
gap: 48px;
margin-top: 48px;
}

.sdc-denture-category__label {
font-size: 20px;
}

.sdc-denture-type__row {
padding: 24px 20px;
}

.sdc-denture-type__box {
gap: 16px;
}

.sdc-denture-type__box h4 {
font-size: 20px;
}
}

/* -----------------------------
Pediatric (小児歯科・小児矯正) Page
------------------------------ */
.sdc-pediatric-content {
padding-bottom: 80px;
}

/* Lead */
.sdc-pediatric-lead {
display: flex;
flex-direction: column;
gap: 12px;
margin-block: 120px 0;
text-align: center;
}

.sdc-pediatric-lead p {
color: #000;
font:
400 16px/1.4 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

/* Divider */
.sdc-pediatric-divider {
border: none;
border-top: 1px solid #e5e5e5;
margin: 80px 0;
}

/* Section */
.sdc-pediatric-section {
display: flex;
flex-direction: column;
gap: 40px;
}

/* Concept */
.sdc-pediatric-concept {
display: grid;
gap: 32px;
grid-template-columns: 1fr 1fr;
}

.sdc-pediatric-concept__image {
height: 452px;
overflow: hidden;
}

.sdc-pediatric-concept__text {
display: flex;
flex-direction: column;
gap: 24px;
text-align: center;
}

.sdc-pediatric-concept__text > p {
color: #333;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
}

.sdc-pediatric-concept__highlight {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 16px;
padding: 32px;
}

.sdc-pediatric-concept__highlight p {
color: #000;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
text-align: center;
}

/* Intro text (shared for prevention / benefits / period / caution) */
.sdc-pediatric-intro {
display: flex;
flex-direction: column;
gap: 20px;
text-align: center;
}

.sdc-pediatric-intro p {
color: #333;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
}

/* Info card (shared for features / prevention / benefits / caution) */
.sdc-pediatric-cards {
display: flex;
flex-direction: column;
gap: 20px;
}

.sdc-pediatric-card {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 12px;
padding: 24px;
}

.sdc-pediatric-card h3 {
color: #000;
font: 400 14px/1.4 "Noto Sans JP", sans-serif;
}

.sdc-pediatric-card__line {
background: #ccc;
height: 1px;
width: 80px;
}

.sdc-pediatric-card p {
color: #333;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
}

/* Orthodontics intro */
.sdc-pediatric-ortho-intro {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 16px;
padding: 32px;
text-align: center;
}

.sdc-pediatric-ortho-intro p {
color: #000;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
}

/* Orthodontics grid (2x2) */
.sdc-pediatric-ortho-grid {
display: grid;
gap: 32px;
grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sdc-pediatric-ortho-card {
background: #fff;
border: 1px solid #e0e0e0;
display: flex;
flex-direction: column;
}

.sdc-pediatric-ortho-card__image {
height: 220px;
overflow: hidden;
}

.sdc-pediatric-concept__image img,
.sdc-pediatric-ortho-card__image img {
display: block;
height: 100%;
object-fit: cover;
width: 100%;
}

/* extends .sdc-under-card-title */

.sdc-pediatric-ortho-card__body {
display: flex;
flex-direction: column;
gap: 12px;
padding: 20px;
}

.sdc-pediatric-ortho-card__body p {
color: #333;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
}

/* Price link */
.sdc-template-page .sdc-pediatric-price-link {
align-items: center;
background: var(--sdc-navy);
border: 1px solid var(--sdc-navy);
border-radius: 0;
color: var(--sdc-white);
display: inline-flex;
font: 400 15px/18px "Zen Old Mincho", serif;
justify-content: center;
margin: 0 auto;
min-height: 44px;
min-width: 220px;
padding: 12px 32px;
text-align: center;
text-decoration: none;
transition:
background-color 0.24s ease,
color 0.24s ease,
border-color 0.24s ease,
opacity 0.24s ease;
white-space: nowrap;
}

.sdc-template-page .sdc-pediatric-price-link:hover,
.sdc-template-page .sdc-pediatric-price-link:focus-visible {
background: var(--sdc-white);
border-color: var(--sdc-navy);
color: var(--sdc-navy);
opacity: 1;
}

/* Selection message */
.sdc-pediatric-selection {
display: flex;
flex-direction: column;
gap: 20px;
text-align: center;
}

.sdc-pediatric-selection__heading {
color: #000;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
}

.sdc-pediatric-selection p {
color: #333;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
}

/* Phases (2-col) */
.sdc-pediatric-phases {
display: grid;
gap: 32px;
grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sdc-pediatric-phase {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 16px;
padding: 32px;
}

.sdc-pediatric-phase h3 {
color: #000;
font: 400 14px/1.4 "Noto Sans JP", sans-serif;
}

.sdc-pediatric-phase__line {
background: #ccc;
height: 1px;
width: 80px;
}

.sdc-pediatric-phase__note {
color: #666;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
}

.sdc-pediatric-phase__duration {
color: #000;
font: 600 16px/1.4 "Noto Sans JP", sans-serif;
}

.sdc-pediatric-phase p {
color: #333;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
}

/* Period notes */
.sdc-pediatric-period-notes {
display: flex;
flex-direction: column;
gap: 8px;
text-align: center;
}

.sdc-pediatric-period-notes__disclaimer {
color: #666;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
}

.sdc-pediatric-period-notes p {
color: #333;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
}

/* --- Responsive: Tablet (≤1024px) --- */
@media (max-width: 1024px) {
.sdc-pediatric-concept {
grid-template-columns: 1fr;
}

.sdc-pediatric-concept__image {
height: 300px;
}

.sdc-pediatric-ortho-grid {
grid-template-columns: 1fr;
}

.sdc-pediatric-phases {
grid-template-columns: 1fr;
}
}

/* --- Responsive: SP (≤767px) --- */
@media (max-width: 767px) {
.sdc-pediatric-lead {
margin-top: 48px;
margin-bottom: 0;
}

.sdc-pediatric-divider {
margin: 48px 0;
}

.sdc-pediatric-concept__image {
height: 240px;
}

.sdc-pediatric-concept__highlight {
padding: 24px;
}

.sdc-pediatric-ortho-intro {
padding: 24px;
}

.sdc-pediatric-ortho-card__image {
height: 180px;
}

.sdc-pediatric-phase {
padding: 24px;
}

.sdc-pediatric-contact {
margin-top: 0;
}
}

/* -----------------------------
Ortho (成人矯正) Page
------------------------------ */
.sdc-ortho-content {
padding-bottom: 80px;
}

/* Lead */
.sdc-ortho-lead {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 120px;
text-align: center;
}

.sdc-ortho-lead p {
color: #000;
font:
400 16px/1.6 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-ortho-divider {
border: none;
border-top: 1px solid #b4bdd0;
margin: 64px 0;
}

.sdc-ortho-section {
display: flex;
flex-direction: column;
}

/* Concept (2-col grid) */
.sdc-ortho-concept {
display: grid;
gap: 32px;
grid-template-columns: 1fr 1fr;
margin-top: 40px;
}

.sdc-ortho-concept__image {
height: 452px;
overflow: hidden;
}

.sdc-ortho-concept__text {
display: flex;
flex-direction: column;
gap: 16px;
justify-content: center;
text-align: center;
}

.sdc-ortho-concept__text h3 {
color: #000;
font:
400 20px/1.6 "Zen Old Mincho",
serif;
}

.sdc-ortho-concept__text > p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-ortho-concept__highlight {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 4px;
padding: 32px;
}

.sdc-ortho-concept__highlight p {
color: #000;
font:
500 14px/1.8 "Zen Old Mincho",
serif;
}

/* Features (vertical list) */
.sdc-ortho-features {
display: flex;
flex-direction: column;
gap: 32px;
margin-top: 40px;
}

.sdc-ortho-features__item {
background: #fff;
display: flex;
flex-direction: column;
gap: 16px;
padding: 32px;
}

.sdc-ortho-features__item h3 {
color: #000;
font:
400 18px/1.6 "Zen Old Mincho",
serif;
}

.sdc-ortho-features__divider {
background: #b4bdd0;
height: 1px;
width: 100px;
}

.sdc-ortho-features__item p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

/* Types (2-col cards) */
.sdc-ortho-types {
display: grid;
gap: 32px;
grid-template-columns: repeat(2, minmax(0, 1fr));
margin-top: 40px;
}

.sdc-ortho-type {
display: flex;
flex-direction: column;
}

.sdc-ortho-type__image {
height: 240px;
overflow: hidden;
}

.sdc-ortho-concept__image img,
.sdc-ortho-type__image img {
display: block;
height: 100%;
object-fit: cover;
width: 100%;
}

.sdc-ortho-type__body {
display: flex;
flex-direction: column;
gap: 12px;
padding: 24px 20px;
}

.sdc-ortho-type__body p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

.sdc-ortho-type__notes {
display: flex;
flex-direction: column;
gap: 4px;
}

.sdc-ortho-type__notes p {
color: #666;
font:
400 12px/1.6 "Noto Sans JP",
sans-serif;
}

/* Benefits */
.sdc-ortho-benefits {
background: #f5f5f5;
margin-top: 40px;
padding: 32px;
}

.sdc-ortho-benefits ul {
display: flex;
flex-direction: column;
gap: 12px;
list-style: none;
}

.sdc-ortho-benefits li {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
padding-left: 16px;
position: relative;
}

.sdc-ortho-benefits li::before {
color: #7f8caa;
content: "•";
left: 0;
position: absolute;
}

/* Caution */
.sdc-ortho-caution-intro {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
margin-top: 24px;
}

.sdc-ortho-caution-notes {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 16px;
margin-top: 32px;
padding: 32px;
}

.sdc-ortho-caution-notes h3 {
color: #000;
font:
400 16px/1.4 "Zen Old Mincho",
serif;
}

.sdc-ortho-caution-notes__divider {
background: #ccc;
height: 1px;
width: 100px;
}

.sdc-ortho-caution-notes ul {
display: flex;
flex-direction: column;
gap: 8px;
list-style: none;
}

.sdc-ortho-caution-notes li {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
padding-left: 16px;
position: relative;
}

.sdc-ortho-caution-notes li::before {
color: #666;
content: "•";
left: 0;
position: absolute;
}

/* Risk & Cost (2-col grid) */
.sdc-ortho-caution-grid {
display: grid;
gap: 32px;
grid-template-columns: 1fr 1fr;
margin-top: 32px;
}

.sdc-ortho-caution-card {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 20px;
padding: 32px;
}

.sdc-ortho-caution-card h3 {
color: #000;
font:
400 16px/1.4 "Zen Old Mincho",
serif;
}

.sdc-ortho-caution-card__divider {
background: #ccc;
height: 1px;
width: 100px;
}

.sdc-ortho-caution-card ul {
display: flex;
flex-direction: column;
gap: 8px;
list-style: none;
}

.sdc-ortho-caution-card li {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
padding-left: 16px;
position: relative;
}

.sdc-ortho-caution-card li::before {
color: #666;
content: "•";
left: 0;
position: absolute;
}

.sdc-ortho-caution-card__text {
display: flex;
flex-direction: column;
gap: 12px;
}

.sdc-ortho-caution-card__text p {
color: #333;
font:
400 14px/1.8 "Noto Sans JP",
sans-serif;
}

/* CTA */
.sdc-ortho-contact {
margin-top: 0;
}

/* --- Responsive: Tablet (≤1024px) --- */
@media (max-width: 1024px) {
.sdc-ortho-concept {
grid-template-columns: 1fr;
}

.sdc-ortho-concept__image {
height: 300px;
}

.sdc-ortho-types {
grid-template-columns: 1fr;
}

.sdc-ortho-caution-grid {
grid-template-columns: 1fr;
}
}

/* --- Responsive: SP (≤767px) --- */
@media (max-width: 767px) {
.sdc-ortho-lead {
margin-top: 48px;
}

.sdc-ortho-divider {
margin: 48px 0;
}

.sdc-ortho-concept__image {
height: 240px;
}

.sdc-ortho-concept__highlight {
padding: 24px;
}

.sdc-ortho-benefits {
padding: 24px;
}

.sdc-ortho-caution-notes {
padding: 24px;
}

.sdc-ortho-features__item {
padding: 24px;
}

.sdc-ortho-caution-card {
padding: 24px;
}

.sdc-ortho-contact {
margin-top: 0;
}
}

/* -----------------------------
Recruit (求人募集) Page
------------------------------ */
.sdc-recruit-content {
padding-bottom: 80px;
}

/* Lead */
.sdc-recruit-lead {
margin-bottom: 0;
}

/* Divider */
.sdc-recruit-divider {
border: none;
border-top: 1px solid #e5e5e5;
margin: 80px 0;
}

/* Section */
.sdc-recruit-section {
display: flex;
flex-direction: column;
gap: 40px;
}

/* Message (concept-like 2-col) */
.sdc-recruit-message {
display: grid;
gap: 32px;
grid-template-columns: 1fr 1fr;
}

.sdc-recruit-message__image {
height: 452px;
overflow: hidden;
}

.sdc-recruit-message__text {
display: flex;
flex-direction: column;
gap: 24px;
text-align: center;
}

.sdc-recruit-message__heading {
color: #000;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
}

.sdc-recruit-message__text > p {
color: #333;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
}

.sdc-recruit-message__highlight {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 16px;
padding: 32px;
}

.sdc-recruit-message__highlight p {
color: #000;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
text-align: center;
}

.sdc-recruit-message__body {
display: flex;
flex-direction: column;
gap: 12px;
}

.sdc-recruit-message__body p {
color: #333;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
}

.sdc-recruit-message__closing {
color: #000;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
}

/* Appeal (1 wide + 2 normal) */
.sdc-recruit-appeal {
display: flex;
flex-direction: column;
gap: 32px;
}

.sdc-recruit-appeal__card {
background: #fff;
border: 1px solid #e0e0e0;
display: flex;
flex-direction: column;
}

.sdc-recruit-appeal__card--wide .sdc-recruit-appeal__image {
height: 477px;
}

.sdc-recruit-appeal__image {
height: 374px;
overflow: hidden;
}

.sdc-recruit-message__image img,
.sdc-recruit-appeal__image img {
display: block;
height: 100%;
object-fit: cover;
width: 100%;
}

/* extends .sdc-under-card-title */

.sdc-recruit-appeal__body {
display: flex;
flex-direction: column;
gap: 12px;
padding: 20px;
}

.sdc-recruit-appeal__body p {
color: #333;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
}

.sdc-recruit-appeal__row {
display: grid;
gap: 32px;
grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Instagram */
.sdc-recruit-instagram {
display: flex;
flex-direction: column;
gap: 24px;
}

.sdc-social-grid {
display: grid;
gap: 16px;
grid-template-columns: repeat(3, minmax(0, 1fr));
width: 100%;
}

.sdc-social-grid__item {
border-radius: 8px;
display: block;
overflow: hidden;
}

.sdc-social-grid__placeholder,
.sdc-social-grid__item img,
.sdc-social-grid__post {
background: #ced2db;
display: block;
height: 164px;
width: 100%;
}

.sdc-social-grid__item img {
object-fit: cover;
}

.sdc-social-grid--embed .sbi,
.sdc-social-grid--embed #sb_instagram {
margin: 0 !important;
max-width: none !important;
padding-bottom: 0 !important;
width: 100% !important;
}

.sdc-social-grid--embed #sbi_images {
display: grid !important;
gap: 16px !important;
grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sdc-social-grid--embed .sbi_item {
clear: none !important;
margin: 0 !important;
opacity: 1 !important;
padding: 0 !important;
position: relative !important;
width: auto !important;
}

.sdc-social-grid--embed .sbi_photo,
.sdc-social-grid--embed .sbi_photo_wrap {
align-items: center;
background: #ced2db !important;
border-radius: 8px;
display: flex !important;
height: 164px !important;
justify-content: center;
padding: 0 !important;
}

.sdc-social-grid--embed .sbi_photo img {
display: block !important;
height: 100% !important;
object-fit: cover;
width: 100% !important;
}

/*
.sdc-social-grid--embed .sb_instagram_header,
.sdc-social-grid--embed #sbi_load,
.sdc-social-grid--embed .sbi_follow_btn,
.sdc-social-grid--embed .sbi_header_link {
display: none !important;
}
*/

.sdc-social-follow {
align-items: center;
border-bottom: 0.5px solid #b4bdd0;
display: inline-flex;
gap: 11px;
justify-content: center;
margin: 0 auto;
padding: 8px 0;
text-decoration: none;
}

.sdc-social-follow span {
color: #3d3d3b;
font:
400 18px/1.2 "Zen Old Mincho",
serif;
letter-spacing: 0.08em;
}

.sdc-social-follow img {
height: 12px;
object-fit: contain;
width: 12px;
}

/* Position cards */
.sdc-recruit-cards {
display: flex;
flex-direction: column;
gap: 20px;
}

.sdc-recruit-card {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 12px;
padding: 24px;
}

.sdc-recruit-card h3 {
color: #000;
font: 400 14px/1.4 "Noto Sans JP", sans-serif;
}

.sdc-recruit-card__line {
background: #ccc;
height: 1px;
width: 80px;
}

.sdc-recruit-card p {
color: #333;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
}

/* Requirements table */
.sdc-recruit-requirements {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 16px;
margin: 0;
padding: 40px;
}

.sdc-recruit-requirements__row {
display: flex;
gap: 24px;
}

.sdc-recruit-requirements__row dt {
color: #000;
flex-shrink: 0;
font: 600 16px/1.4 "Noto Sans JP", sans-serif;
width: 200px;
}

.sdc-recruit-requirements__row dd {
color: #333;
font: 400 16px/1.4 "Noto Sans JP", sans-serif;
margin: 0;
}

.sdc-recruit-requirements__divider {
border: none;
border-top: 1px solid #e5e5e5;
margin: 0;
}

.sdc-recruit-requirements__note {
color: #666;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
text-align: center;
}

/* Application */
.sdc-recruit-application {
display: flex;
flex-direction: column;
gap: 16px;
text-align: center;
}

.sdc-recruit-application > p {
color: #6e6d69;
font: 400 18px/1.8 "Zen Old Mincho", serif;
margin: 0;
}

.sdc-recruit-application > p:first-child {
color: #3d3d3b;
}

.sdc-recruit-application__box {
background: #7f8caa;
display: flex;
flex-direction: column;
gap: 20px;
align-items: center;
padding: 40px;
}

.sdc-recruit-application__box p {
color: #fff;
font: 400 16px/1.8 "Zen Old Mincho", serif;
margin: 0;
}

.sdc-recruit-application__line {
background: rgba(255, 255, 255, 0.45);
height: 1px;
width: 120px;
}

.sdc-recruit-application__tel {
color: #fff;
font: 400 24px/1.6 "Zen Old Mincho", serif;
letter-spacing: 0.04em;
}

/* --- Responsive: Tablet (≤1024px) --- */
@media (max-width: 1024px) {
.sdc-recruit-message {
grid-template-columns: 1fr;
}

.sdc-recruit-message__image {
height: 300px;
}

.sdc-recruit-appeal__row {
grid-template-columns: 1fr;
}

.sdc-recruit-requirements__row {
flex-direction: column;
gap: 8px;
}

.sdc-recruit-requirements__row dt {
width: auto;
}
}

/* --- Responsive: SP (≤767px) --- */
@media (max-width: 767px) {
.sdc-recruit-divider {
margin: 48px 0;
}

.sdc-recruit-message__image {
height: 240px;
}

.sdc-recruit-message__highlight {
padding: 24px;
}

.sdc-recruit-appeal__card--wide .sdc-recruit-appeal__image {
height: 240px;
}

.sdc-recruit-appeal__image {
height: 200px;
}

.sdc-recruit-instagram {
height: 280px;
}

.sdc-recruit-requirements {
padding: 24px;
}

.sdc-recruit-application__box {
padding: 24px;
}

.sdc-recruit-scandinavian-banner {
flex-direction: column;
gap: 24px;
padding: 32px 24px;
text-align: center;
}

.sdc-recruit-scandinavian-banner__desc {
font-size: 13px;
}

.sdc-recruit-scandinavian-banner__btn {
justify-content: center;
width: 100%;
}
}

/* -----------------------------
Scandinavian Approach Page
------------------------------ */
.sdc-scandinavian-content {
padding-bottom: 80px;
}

/* Lead */
.sdc-scandinavian-lead {
display: flex;
flex-direction: column;
gap: 32px;
margin-top: 120px;
text-align: center;
}

.sdc-scandinavian-lead__course,
.sdc-scandinavian-lead__contact-lines {
display: flex;
flex-direction: column;
gap: 4px;
}

.sdc-scandinavian-lead__course p {
color: #000;
font: 400 18px/1.8 "Zen Old Mincho", serif;
}

.sdc-scandinavian-lead__contact {
display: flex;
flex-direction: column;
gap: 16px;
}

.sdc-scandinavian-lead__contact-heading {
color: #000;
font: 400 16px/1.8 "Zen Old Mincho", serif;
}

.sdc-scandinavian-lead__contact-lines p {
color: #3d3d3b;
font: 400 15px/1.8 "Noto Sans JP", sans-serif;
}

/* Divider */
.sdc-scandinavian-divider {
border: none;
border-top: 1px solid #e5e5e5;
margin: 80px 0;
}

/* Section */
.sdc-scandinavian-section {
display: flex;
flex-direction: column;
gap: 48px;
}

/* Why Now */
.sdc-scandinavian-why {
display: flex;
flex-direction: column;
gap: 32px;
text-align: center;
}

.sdc-scandinavian-why__opening p {
color: #000;
font: 400 20px/1.8 "Zen Old Mincho", serif;
}

.sdc-scandinavian-why__body {
display: flex;
flex-direction: column;
gap: 12px;
}

.sdc-scandinavian-why__body p {
color: #333;
font: 400 15px/2 "Noto Sans JP", sans-serif;
}

.sdc-scandinavian-why__highlight {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 4px;
padding: 40px;
}

.sdc-scandinavian-why__highlight p {
color: #000;
font: 400 16px/2 "Zen Old Mincho", serif;
}

.sdc-scandinavian-why__closing p {
color: #333;
font: 400 15px/2 "Noto Sans JP", sans-serif;
}

.sdc-scandinavian-why__emphasis p {
color: #000;
font: 700 16px/2 "Zen Old Mincho", serif;
}

/* Evidence Box */
.sdc-scandinavian-evidence {
background: #f5f5f5;
color: #000;
display: flex;
flex-direction: column;
gap: 24px;
align-items: center;
margin-top: 40px;
padding: 40px;
text-align: center;
}

.sdc-scandinavian-evidence__above p,
.sdc-scandinavian-evidence__below p {
color: #000;
font: 400 16px/2 "Zen Old Mincho", serif;
}

.sdc-scandinavian-evidence__line {
background: #ccc;
height: 1px;
width: 120px;
}

/* Pioneers */
.sdc-scandinavian-pioneers {
display: flex;
flex-direction: column;
gap: 48px;
}

.sdc-scandinavian-pioneers__divider {
border: none;
border-top: 1px solid #e5e5e5;
margin: 0;
}

.sdc-scandinavian-pioneer {
display: grid;
gap: 32px;
grid-template-columns: 1fr 3fr;
}

.sdc-scandinavian-pioneer--right {
direction: rtl;
}

.sdc-scandinavian-pioneer--right > * {
direction: ltr;
}

.sdc-scandinavian-pioneer__image {
aspect-ratio: 1 / 1;
overflow: hidden;
width: 100%;
}

.sdc-scandinavian-pioneer__image img {
display: block;
height: 100%;
object-fit: cover;
width: 100%;
}

.sdc-scandinavian-pioneer__text {
display: flex;
flex-direction: column;
gap: 16px;
justify-content: center;
}

.sdc-scandinavian-pioneer__name {
color: #000;
font: 400 18px/1.6 "Zen Old Mincho", serif;
}

.sdc-scandinavian-pioneer__title {
color: #666;
font: 400 13px/1.6 "Noto Sans JP", sans-serif;
}

.sdc-scandinavian-pioneer__quote {
background: #f5f5f5;
margin: 0;
padding: 20px 24px;
}

.sdc-scandinavian-pioneer__quote p {
color: #000;
font: 400 15px/1.8 "Zen Old Mincho", serif;
}

.sdc-scandinavian-pioneer__body {
display: flex;
flex-direction: column;
gap: 12px;
}

.sdc-scandinavian-pioneer__body p {
color: #333;
font: 400 14px/2 "Noto Sans JP", sans-serif;
}

/* Clinical Flow */
.sdc-scandinavian-flow {
display: flex;
flex-direction: column;
gap: 24px;
}

.sdc-scandinavian-flow__step {
background: #fff;
display: flex;
flex-direction: column;
gap: 20px;
align-items: flex-start;
padding: 40px;
}

.sdc-scandinavian-flow__head {
align-items: center;
border-bottom: 1px solid #b4bdd0;
display: flex;
gap: 12px;
padding-bottom: 24px;
width: 100%;
}

.sdc-scandinavian-flow__badge {
color: #7f8caa;
flex-shrink: 0;
font: 400 40px/0.96 "Cinzel", serif;
width: 55px;
}

.sdc-scandinavian-flow__content {
display: flex;
flex-direction: column;
gap: 12px;
width: 100%;
}

.sdc-scandinavian-flow__head h3 {
color: #000;
font: 400 24px/1.6 "Zen Old Mincho", serif;
}

.sdc-scandinavian-flow__content p {
color: #6e6d69;
font: 400 12px/1.98 "Noto Sans JP", sans-serif;
}

/* DH Role */
.sdc-scandinavian-dh {
display: flex;
flex-direction: column;
gap: 32px;
text-align: center;
}

.sdc-scandinavian-dh__heading {
color: #000;
font: 400 24px/1.6 "Zen Old Mincho", serif;
}

.sdc-scandinavian-dh__sub {
color: #333;
font: 400 15px/2 "Noto Sans JP", sans-serif;
}

.sdc-scandinavian-dh__box {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 20px;
padding: 40px;
text-align: left;
}

.sdc-scandinavian-dh__box-heading {
color: #000;
font: 400 16px/1.6 "Zen Old Mincho", serif;
}

.sdc-scandinavian-dh__box ul {
display: flex;
flex-direction: column;
gap: 8px;
list-style: disc;
padding-left: 20px;
}

.sdc-scandinavian-dh__box li {
color: #333;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
}

.sdc-scandinavian-dh__closing {
display: flex;
flex-direction: column;
gap: 8px;
}

.sdc-scandinavian-dh__closing p {
color: #333;
font: 400 15px/2 "Noto Sans JP", sans-serif;
}

.sdc-scandinavian-dh__closing p:last-child {
color: #000;
font-weight: 700;
}

/* Education */
.sdc-scandinavian-education {
display: flex;
flex-direction: column;
gap: 32px;
text-align: center;
}

.sdc-scandinavian-education__heading {
color: #000;
font: 400 24px/1.6 "Zen Old Mincho", serif;
}

.sdc-scandinavian-education__sub {
color: #333;
font: 400 15px/2 "Noto Sans JP", sans-serif;
}

.sdc-scandinavian-education__cards {
display: flex;
flex-direction: column;
gap: 20px;
}

.sdc-scandinavian-education__card {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 12px;
padding: 24px;
text-align: left;
}

.sdc-scandinavian-education__card h3 {
color: #000;
font: 400 16px/1.6 "Zen Old Mincho", serif;
}

.sdc-scandinavian-education__card-line {
background: #ccc;
height: 1px;
width: 80px;
}

.sdc-scandinavian-education__card p {
color: #333;
font: 400 14px/1.8 "Noto Sans JP", sans-serif;
}

.sdc-scandinavian-education__message {
display: flex;
flex-direction: column;
gap: 4px;
}

.sdc-scandinavian-education__message p {
color: #000;
font: 400 18px/2 "Zen Old Mincho", serif;
}

/* Join Us */
.sdc-scandinavian-join {
display: flex;
flex-direction: column;
gap: 24px;
text-align: center;
}

.sdc-scandinavian-join__heading {
color: #000;
font: 400 22px/1.8 "Zen Old Mincho", serif;
}

.sdc-scandinavian-join__intro {
color: #333;
font: 400 15px/2 "Noto Sans JP", sans-serif;
}

.sdc-scandinavian-join__highlight {
background: #f5f5f5;
display: flex;
flex-direction: column;
gap: 4px;
padding: 40px;
}

.sdc-scandinavian-join__highlight p {
color: #333;
font: 400 15px/2 "Zen Old Mincho", serif;
}

.sdc-scandinavian-join__highlight strong {
color: #000;
font-weight: 700;
}

.sdc-scandinavian-join__closing {
color: #333;
font: 400 15px/2 "Noto Sans JP", sans-serif;
}

/* --- Responsive: Tablet (≤1024px) --- */
@media (max-width: 1024px) {
.sdc-scandinavian-pioneer {
grid-template-columns: 1fr;
}

.sdc-scandinavian-pioneer--right {
direction: ltr;
}

.sdc-scandinavian-pioneer__image {
aspect-ratio: 16 / 9;
}

}

/* --- Responsive: SP (≤767px) --- */
@media (max-width: 767px) {
.sdc-scandinavian-lead {
margin-top: 48px;
}

.sdc-scandinavian-lead__course p,
.sdc-scandinavian-lead__contact-heading {
font-size: 16px;
}

.sdc-scandinavian-lead__contact-lines p {
font-size: 14px;
}

.sdc-scandinavian-divider {
margin: 48px 0;
}

.sdc-scandinavian-why__opening p {
font-size: 17px;
}

.sdc-scandinavian-why__highlight {
padding: 24px;
}

.sdc-scandinavian-evidence {
margin-top: 24px;
padding: 24px;
}

.sdc-scandinavian-pioneer__image {
aspect-ratio: 4 / 3;
}

.sdc-scandinavian-flow__step {
padding: 24px;
}

.sdc-scandinavian-flow__head {
align-items: flex-start;
padding-bottom: 20px;
}

.sdc-scandinavian-flow__badge {
font-size: 32px;
width: 44px;
}

.sdc-scandinavian-flow__head h3 {
font-size: 20px;
}

.sdc-scandinavian-dh__heading,
.sdc-scandinavian-education__heading {
font-size: 20px;
}

.sdc-scandinavian-dh__box {
padding: 24px;
}

.sdc-scandinavian-join__heading {
font-size: 18px;
}

.sdc-scandinavian-join__highlight {
padding: 24px;
}

}

/* -----------------------------
   Recruit: Scandinavian Banner
   ----------------------------- */
.sdc-recruit-scandinavian-banner {
align-items: center;
background: var(--sdc-navy);
display: flex;
gap: 40px;
justify-content: space-between;
padding: 48px 56px;
}

.sdc-recruit-scandinavian-banner__text {
display: flex;
flex-direction: column;
gap: 12px;
}

.sdc-recruit-scandinavian-banner__label {
color: var(--sdc-mid);
font: 400 11px/1 "Inter", sans-serif;
letter-spacing: 0.12em;
margin: 0;
}

.sdc-recruit-scandinavian-banner__heading {
color: var(--sdc-white);
font: 400 24px/1.4 "Zen Old Mincho", serif;
letter-spacing: 0.06em;
margin: 0;
}

.sdc-recruit-scandinavian-banner__desc {
color: var(--sdc-mid);
font: 400 14px/1.9 "Noto Sans JP", sans-serif;
margin: 0;
max-width: 540px;
}

.sdc-recruit-scandinavian-banner__btn {
align-items: center;
background: var(--sdc-white);
border: 1px solid var(--sdc-white);
color: var(--sdc-navy);
display: flex;
flex-shrink: 0;
font: 400 16px/1 "Zen Old Mincho", serif;
gap: 12px;
letter-spacing: 0.08em;
padding: 22px 36px;
transition: background 0.25s ease, color 0.25s ease;
white-space: nowrap;
}

.sdc-recruit-scandinavian-banner__btn:hover {
background: transparent;
color: var(--sdc-white);
}

.sdc-recruit-scandinavian-banner__btn img {
filter: none;
height: 12px;
transition: filter 0.25s ease;
width: auto;
}

.sdc-recruit-scandinavian-banner__btn:hover img {
filter: brightness(0) invert(1);
}

/* -----------------------------
   Footer: Professional Link
   ----------------------------- */
.sdc-footer__professional {
border-top: 1px solid rgba(255, 255, 255, 0.08);
margin-top: 32px;
padding-top: 20px;
text-align: center;
}

.sdc-footer__professional-link {
color: #777;
font: 400 11px/1 "Noto Sans JP", sans-serif;
letter-spacing: 0.06em;
transition: color 0.2s ease;
}

.sdc-footer__professional-link:hover {
color: #aaa;
}

/* Page section spacers: keep margins only, no visible rule */
.sdc-staff-divider,
.sdc-clinic-divider,
.sdc-first-divider,
.sdc-price-divider,
.sdc-carius-divider,
.sdc-perio-divider,
.sdc-end-divider,
.sdc-cleaning-divider,
.sdc-implant-divider,
.sdc-shinbi-divider,
.sdc-whitening-divider,
.sdc-denture-divider,
.sdc-pediatric-divider,
.sdc-ortho-divider,
.sdc-recruit-divider,
.sdc-scandinavian-divider {
background: transparent;
border: 0;
height: 0;
}

/* Lower pages: first section tone aligned to denture */
.sdc-carius-concept,
.sdc-perio-concept,
.sdc-end-concept,
.sdc-cleaning-concept,
.sdc-implant-concept,
.sdc-shinbi-concept,
.sdc-whitening-concept,
.sdc-denture-concept,
.sdc-pediatric-concept,
.sdc-ortho-concept,
.sdc-recruit-message {
display: grid;
gap: 32px;
grid-template-columns: 392px minmax(0, 776px);
margin-top: 64px;
}

.sdc-carius-concept__image,
.sdc-perio-concept__image,
.sdc-end-concept__image,
.sdc-cleaning-concept__image,
.sdc-implant-concept__image,
.sdc-shinbi-concept__image,
.sdc-whitening-concept__image,
.sdc-denture-concept__image,
.sdc-pediatric-concept__image,
.sdc-ortho-concept__image,
.sdc-recruit-message__image {
height: 298px;
overflow: hidden;
}

.sdc-carius-concept__text,
.sdc-perio-concept__text,
.sdc-end-concept__text,
.sdc-cleaning-concept__text,
.sdc-implant-concept__text,
.sdc-shinbi-concept__text,
.sdc-whitening-concept__text,
.sdc-denture-concept__text,
.sdc-pediatric-concept__text,
.sdc-ortho-concept__text,
.sdc-recruit-message__text,
.sdc-scandinavian-why {
align-items: center;
display: flex;
flex-direction: column;
gap: 16px;
justify-content: center;
text-align: center;
}

.sdc-carius-concept__text h3,
.sdc-perio-concept__text h3,
.sdc-end-concept__text h3,
.sdc-cleaning-concept__text h3,
.sdc-implant-concept__text h3,
.sdc-shinbi-concept__text h3,
.sdc-whitening-concept__text h3,
.sdc-denture-concept__text h3,
.sdc-pediatric-concept__text h3,
.sdc-ortho-concept__text h3,
.sdc-recruit-message__heading,
.sdc-scandinavian-why__opening p,
.sdc-scandinavian-why__emphasis p {
color: #3d3d3b;
font: 400 14px/1.8 "Zen Old Mincho", serif;
letter-spacing: 0.08em;
margin: 0;
}

.sdc-carius-concept__text > p,
.sdc-perio-concept__text > p,
.sdc-end-concept__text > p,
.sdc-cleaning-concept__body p,
.sdc-implant-concept__text > p,
.sdc-shinbi-concept__text > p,
.sdc-whitening-concept__text > p,
.sdc-denture-concept__text > p,
.sdc-pediatric-concept__text > p,
.sdc-ortho-concept__text > p,
.sdc-recruit-message__text > p,
.sdc-recruit-message__body p,
.sdc-recruit-message__closing,
.sdc-scandinavian-why__body p,
.sdc-scandinavian-why__closing p {
color: #3d3d3b;
font: 400 14px/1.8 "Zen Old Mincho", serif;
letter-spacing: 0.08em;
margin: 0;
width: 100%;
}

.sdc-cleaning-concept__body,
.sdc-recruit-message__body,
.sdc-scandinavian-why__body {
display: flex;
flex-direction: column;
gap: 12px;
width: 100%;
}

.sdc-carius-concept__highlight,
.sdc-perio-concept__highlight,
.sdc-end-concept__highlight,
.sdc-cleaning-concept__highlight,
.sdc-implant-concept__highlight,
.sdc-shinbi-concept__highlight,
.sdc-whitening-concept__highlight,
.sdc-denture-concept__highlight,
.sdc-pediatric-concept__highlight,
.sdc-ortho-concept__highlight,
.sdc-recruit-message__highlight,
.sdc-scandinavian-why__highlight {
background: #7f8caa;
display: flex;
flex-direction: column;
gap: 16px;
max-width: 598px;
padding: 32px;
width: 100%;
}

.sdc-carius-concept__highlight p,
.sdc-perio-concept__highlight p,
.sdc-end-concept__highlight p,
.sdc-cleaning-concept__highlight p,
.sdc-implant-concept__highlight p,
.sdc-shinbi-concept__highlight p,
.sdc-whitening-concept__highlight p,
.sdc-denture-concept__highlight p,
.sdc-pediatric-concept__highlight p,
.sdc-ortho-concept__highlight p,
.sdc-recruit-message__highlight p,
.sdc-scandinavian-why__highlight p {
color: #fff;
font: 400 15px/1.8 "Zen Old Mincho", serif;
letter-spacing: 0.08em;
margin: 0;
}

.sdc-pediatric-content > .sdc-pediatric-section:first-of-type,
.sdc-recruit-content > .sdc-recruit-section:first-of-type {
gap: 0;
}

.sdc-scandinavian-content > .sdc-scandinavian-section:first-of-type {
gap: 32px;
}

@media (max-width: 1024px) {
.sdc-carius-concept,
.sdc-perio-concept,
.sdc-end-concept,
.sdc-cleaning-concept,
.sdc-implant-concept,
.sdc-shinbi-concept,
.sdc-whitening-concept,
.sdc-denture-concept,
.sdc-pediatric-concept,
.sdc-ortho-concept,
.sdc-recruit-message {
grid-template-columns: 1fr;
}

.sdc-carius-concept__image,
.sdc-perio-concept__image,
.sdc-end-concept__image,
.sdc-cleaning-concept__image,
.sdc-implant-concept__image,
.sdc-shinbi-concept__image,
.sdc-whitening-concept__image,
.sdc-denture-concept__image,
.sdc-pediatric-concept__image,
.sdc-ortho-concept__image,
.sdc-recruit-message__image {
height: 300px;
}
}

@media (max-width: 767px) {
.sdc-carius-concept,
.sdc-perio-concept,
.sdc-end-concept,
.sdc-cleaning-concept,
.sdc-implant-concept,
.sdc-shinbi-concept,
.sdc-whitening-concept,
.sdc-denture-concept,
.sdc-pediatric-concept,
.sdc-ortho-concept,
.sdc-recruit-message {
margin-top: 48px;
}

.sdc-carius-concept__image,
.sdc-perio-concept__image,
.sdc-end-concept__image,
.sdc-cleaning-concept__image,
.sdc-implant-concept__image,
.sdc-shinbi-concept__image,
.sdc-whitening-concept__image,
.sdc-denture-concept__image,
.sdc-pediatric-concept__image,
.sdc-ortho-concept__image,
.sdc-recruit-message__image {
height: 240px;
}

.sdc-carius-concept__highlight,
.sdc-perio-concept__highlight,
.sdc-end-concept__highlight,
.sdc-cleaning-concept__highlight,
.sdc-implant-concept__highlight,
.sdc-shinbi-concept__highlight,
.sdc-whitening-concept__highlight,
.sdc-denture-concept__highlight,
.sdc-pediatric-concept__highlight,
.sdc-ortho-concept__highlight,
.sdc-recruit-message__highlight,
.sdc-scandinavian-why__highlight {
max-width: none;
padding: 24px;
}
}

/* Sitemap Page */


.sdc-sitemap-section {
margin-top: 64px;
}

.sdc-sitemap-groups {
display: grid;
gap: 48px;
grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sdc-sitemap-page .sdc-sitemap-group__title {
color: #1d2945;
font:
400 28px/1.4 "Zen Old Mincho",
serif;
margin: 0 0 20px;
}

.sdc-sitemap-list {
display: grid;
gap: 14px;
list-style: disc;
margin: 20px 0 0;
padding-left: 1.25em;
}

.sdc-sitemap-list a {
color: #1d2945;
font:
400 18px/1.8 "Zen Old Mincho",
serif;
text-decoration: none;
transition: opacity 0.3s ease;
}

.sdc-sitemap-list a:hover {
opacity: 0.7;
}

@media (max-width: 1024px) {
.sdc-sitemap-groups {
grid-template-columns: 1fr;
}
}

@media (max-width: 767px) {


.sdc-sitemap-section {
margin-top: 40px;
}

.sdc-sitemap-groups {
gap: 32px;
margin-top: 32px;
}

.sdc-sitemap-page .sdc-sitemap-group__title {
font-size: 22px;
margin-bottom: 16px;
}

.sdc-sitemap-list a {
font-size: 16px;
}
}
