/**
 * Styles for the Implant Page (インプラント)
 * Figma Node: 3549:3942
 */

/* ==========================================================================
   Reset & Override for Implant Page
   Prevent style.css top-page .implant-section::before from bleeding into this page
   ========================================================================== */
.implant-page-main .sub-mv {
    position: relative;
    width: 100%;
    margin-top: 170px;
    padding: 0;
}

.implant-page-body .implant-section,
.implant-page-body .implant-page-section,
.implant-page-body section {
    position: relative;
    margin-top: 0 !important;
    width: 100%;
    box-sizing: border-box;
}

.implant-page-body .implant-section::before,
.implant-page-body .implant-page-section::before,
.implant-page-body section::before,
.implant-page-body .implant-intro-section::before {
    content: none !important;
    display: none !important;
}

.implant-page-body .implant-section::after,
.implant-page-body .implant-page-section::after,
.implant-page-body section::after {
    content: none !important;
    display: none !important;
}

/* ==========================================================================
   Page Layout & Container
   ========================================================================== */
.implant-page-body {
    background-color: #faf9f6;
    padding-top: 120px;
    padding-bottom: 120px;
    box-sizing: border-box;
    width: 100%;
    overflow-x: hidden;
    position: relative;
}

.implant-page-container {
    width: 1520px;
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 80px;
    align-items: center;
    box-sizing: border-box;
    padding: 0 20px;
    position: relative;
    z-index: 2;
}

/* ==========================================================================
   Common Section Headings & Leaf Decor
   ========================================================================== */
.implant-heading,
.implant-page-heading {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
}

.implant-heading--center,
.implant-page-heading--center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin-bottom: 40px;
}

.implant-heading--row-center,
.implant-page-heading--row-center {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 40px;
    width: 100%;
    text-align: center;
}

.implant-leaf-decor,
.implant-page-leaf-decor {
    width: 20px;
    height: 20px;
    background-color: #2faa87;
    border-radius: 30px 2px 30px 2px;
    display: inline-block;
    flex-shrink: 0;
}

.implant-heading-text,
.implant-page-heading-text {
    font-family: 'Shippori Mincho', serif;
    font-size: 32px;
    font-weight: 500;
    color: #63574d;
    letter-spacing: 0.96px;
    line-height: 1.4;
    margin: 0;
}

.implant-heading-text--center,
.implant-page-heading-text--center {
    text-align: center;
}

.implant-highlight {
    color: #2faa87;
    font-weight: 700;
}

/* Common Card Section Wrapper */
.implant-card-section {
    background-color: #ffffff;
    border-radius: 30px;
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.02);
    width: 100%;
    box-sizing: border-box;
    padding: 48px 60px;
    position: relative;
    z-index: 5;
}

.implant-section,
.implant-page-section {
    width: 100%;
    box-sizing: border-box;
}

/* ==========================================================================
   Section 1: 失った歯を取り戻す治療 (Intro)
   ========================================================================== */
.implant-intro-section {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.implant-intro-lead {
    font-size: 18px;
    color: #575757;
    text-align: center;
    letter-spacing: 0.5px;
    margin: 0 0 40px 0;
}

.implant-intro-circles {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 32px;
    margin-bottom: 48px;
    flex-wrap: wrap;
}

.implant-intro-circle {
    width: 230px;
    height: 230px;
    border-radius: 50%;
    border: none;
    background-color: #ffffff;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px;
    box-sizing: border-box;
}

.implant-intro-circle-text {
    font-size: 18px;
    font-weight: 600;
    color: #2faa87;
    letter-spacing: 0.5px;
    line-height: 1.6;
}

.implant-intro-desc {
    font-size: 18px;
    color: #575757;
    text-align: center;
    line-height: 1.8;
    letter-spacing: 0.5px;
}

.implant-intro-desc p {
    margin: 0 0 12px 0;
}

.implant-intro-desc p:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   Section 2: このようなお悩みはありませんか？ (Worries)
   ========================================================================== */
.implant-worries-section {
    padding: 48px 60px;
}

.implant-worries-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px 14px;
    max-width: 980px;
    margin: 0 auto 32px;
}

.implant-worry-item {
    background-color: #c6efe3;
    border-radius: 11px;
    height: 70px;
    display: flex;
    align-items: center;
    padding: 0 20px;
    gap: 12px;
    box-sizing: border-box;
}

.implant-check-icon {
    width: 24px;
    height: 24px;
    background: url('dock_checkbox.svg') no-repeat center / contain;
    flex-shrink: 0;
    display: inline-block;
}

.implant-worry-text {
    font-size: 18px;
    font-weight: 600;
    color: #2faa87;
    letter-spacing: 0.5px;
    line-height: 1.4;
}

.implant-worries-note {
    font-size: 18px;
    color: #575757;
    text-align: center;
    letter-spacing: 0.5px;
    margin: 0;
}

/* ==========================================================================
   Section 3: インプラントとは (About)
   ========================================================================== */
.implant-about-section {
    position: relative;
    z-index: 5;
    padding: 48px 60px 75px;
}

.implant-about-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
}

.implant-about-text-col {
    flex: 1;
    max-width: 780px;
}

.implant-about-content {
    padding-left: 28px;
}

.implant-about-lead {
    font-size: 18px;
    color: #575757;
    line-height: 1.8;
    letter-spacing: 0.5px;
    margin: 0 0 28px 0;
}

.implant-structure-box {
    background-color: #f2f2f2;
    border-radius: 30px;
    padding: 32px 36px;
    margin-bottom: 24px;
}

.implant-structure-title {
    font-size: 20px;
    font-weight: 600;
    color: #575757;
    letter-spacing: 1px;
    margin: 0 0 20px 0;
}

.implant-structure-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.implant-structure-list li {
    font-size: 18px;
    line-height: 1.6;
    letter-spacing: 0.5px;
    display: flex;
    align-items: baseline;
    gap: 16px;
}

.implant-structure-label {
    color: #2faa87;
    font-weight: 600;
    white-space: nowrap;
    min-width: 140px;
}

.implant-structure-desc {
    color: #575757;
}

.implant-about-foot {
    font-size: 18px;
    color: #575757;
    line-height: 1.6;
    letter-spacing: 0.5px;
    margin: 0;
}

.implant-about-img-col {
    width: 502px;
    flex-shrink: 0;
}

.implant-structure-img-wrapper {
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
}

.implant-structure-img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* ==========================================================================
   Section 4: インプラントのメリット (Merits)
   Figma Node: 3549:4306 & 3549:4367
   ========================================================================== */
.implant-merits-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 2;
    width: 100%;
}

.implant-merits-section .implant-page-heading {
    position: relative;
    z-index: 3;
}

.implant-merits-wrapper {
    position: relative;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    min-height: 333px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.implant-merit-visual-bg {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-46%);
    width: 510px;
    max-width: 48%;
    z-index: 1;
    pointer-events: none;
}

.implant-merit-visual-bg .implant-merit-visual-img {
    width: 100%;
    height: auto;
    display: block;
}

.implant-merits-grid {
    position: relative;
    z-index: 3;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 62px;
    width: 100%;
}

.implant-merit-card {
    width: 333px;
    height: 333px;
    border-radius: 50%;
    border: none;
    background-color: #ffffff;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 24px;
    box-sizing: border-box;
    position: relative;
    z-index: 3;
}

.implant-merit-card-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: #2faa87;
    letter-spacing: 1px;
    line-height: 1.6;
    margin: 0 0 16px 0;
}

.implant-merit-card-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 18px;
    color: #575757;
    line-height: 1.6;
    letter-spacing: 0.5px;
    margin: 0;
}

/* ==========================================================================
   Section 5: 他の治療法との違い (Comparison)
   ========================================================================== */
.implant-comparison-section {
    position: relative;
    z-index: 5;
    padding: 88px 60px 48px;
    scroll-margin-top: 180px;
}

.implant-comparison-lead {
    font-size: 18px;
    color: #575757;
    text-align: center;
    letter-spacing: 0.5px;
    margin: 0 0 48px 0;
}

.implant-comparison-cards {
    display: flex;
    justify-content: center;
    gap: 25px;
    margin-bottom: 48px;
}

.implant-comparison-card {
    width: 230px;
    height: 300px;
    border: 1.5px solid #c6efe3;
    border-radius: 30px;
    padding: 36px 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    background-color: #ffffff;
}

.implant-comparison-card-title {
    font-size: 18px;
    font-weight: 600;
    color: #575757;
    letter-spacing: 0.5px;
    margin: 0;
}

.implant-comparison-card-img-wrap {
    width: 180px;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.implant-comparison-card-img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Comparison Table */
.implant-comparison-table-container {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    position: relative;
}

.implant-comparison-table-attention-wrap {
    display: none;
    width: 100%;
    justify-content: flex-end;
    margin-bottom: 12px;
}

.implant-comparison-table-attention {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background-color: #f0fbf7;
    border: 1px solid rgba(47, 170, 135, 0.35);
    border-radius: 20px;
    color: #2faa87;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 8px rgba(47, 170, 135, 0.08);
}

.implant-comparison-table-attention-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #2faa87;
    animation: implantSwipeAnimation 2s ease-in-out infinite;
}

.implant-comparison-table-attention-icon svg {
    width: 18px;
    height: 18px;
}

.implant-comparison-table-attention-arrow {
    font-size: 16px;
    line-height: 1;
    font-weight: 700;
    color: #2faa87;
}

.implant-comparison-table-attention-arrow--left {
    animation: implantArrowLeft 1.5s ease-in-out infinite;
}

.implant-comparison-table-attention-arrow--right {
    animation: implantArrowRight 1.5s ease-in-out infinite;
}

@keyframes implantSwipeAnimation {

    0%,
    100% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-4px);
    }

    75% {
        transform: translateX(4px);
    }
}

@keyframes implantArrowLeft {

    0%,
    100% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(-3px);
    }
}

@keyframes implantArrowRight {

    0%,
    100% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(3px);
    }
}

.implant-comparison-table-wrap {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    border-radius: 30px;
    overflow-x: auto;
    overflow-y: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
    -webkit-overflow-scrolling: touch;
    border: 1px solid #bebebe;
    background-color: #ffffff;
}

/* Webkit custom scrollbar */
.implant-comparison-table-wrap::-webkit-scrollbar {
    height: 6px;
}

.implant-comparison-table-wrap::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.implant-comparison-table-wrap::-webkit-scrollbar-thumb {
    background: #2faa87;
    border-radius: 3px;
}

.implant-comparison-table {
    width: 100%;
    min-width: 800px;
    border-collapse: collapse;
    margin: 0 auto;
}

.implant-comparison-table th,
.implant-comparison-table td {
    border: 1px solid #bebebe;
    text-align: center;
    padding: 20px 24px;
    box-sizing: border-box;
}

.implant-comparison-table thead tr:first-child th {
    border-top: none;
}

.implant-comparison-table tbody tr:last-child th,
.implant-comparison-table tbody tr:last-child td {
    border-bottom: none;
}

.implant-comparison-table tr th:first-child,
.implant-comparison-table tr td:first-child {
    border-left: none;
}

.implant-comparison-table tr th:last-child,
.implant-comparison-table tr td:last-child {
    border-right: none;
}

.implant-th-item {
    background-color: #a4a4a4;
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
    width: 180px;
}

.implant-th-main {
    background-color: #2faa87;
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
    width: 360px;
}

.implant-th-sub {
    background-color: #8fc31f;
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
    width: 360px;
}

.implant-td-header {
    background-color: #f1f1f1;
    color: #575757;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
}

.implant-td-main {
    background-color: #c6efe3;
    color: #575757;
    font-size: 18px;
    line-height: 1.6;
}

.implant-td-sub {
    background-color: #e7f4cb;
    color: #575757;
    font-size: 18px;
    line-height: 1.6;
}

.implant-symbol {
    font-size: 22px;
    font-weight: 700;
    display: block;
    margin-bottom: 4px;
}

/* ==========================================================================
   Section 6: 当院のインプラント治療の特徴 (Features)
   ========================================================================== */
.implant-features-section {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.implant-features-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 26px;
    width: 100%;
}

.implant-feature-card {
    background-color: #ffffff;
    border-radius: 30px;
    padding: 24px;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-sizing: border-box;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}

.implant-feature-badge {
    position: absolute;
    top: -10px;
    left: -4px;
    width: 113px;
    height: 113px;
    background-color: #2faa87;
    border-top-left-radius: 48px;
    border-bottom-left-radius: 11px;
    border-top-right-radius: 11px;
    border-bottom-right-radius: 113px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.implant-feature-number {
    font-family: 'Cormorant Infant', serif;
    font-size: 48px;
    color: #ffffff;
    font-weight: 500;
    letter-spacing: 1.4px;
    line-height: 1;
}

.implant-feature-img-wrap {
    width: 100%;
    height: 233px;
    border-radius: 20px;
    overflow: hidden;
}

.implant-feature-img-wrap--border {
    border: 0.5px solid #2faa87;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background-color: #ffffff;
}

.implant-feature-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.implant-feature-img--contain {
    object-fit: contain;
}

.implant-feature-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1;
}

.implant-feature-title {
    font-size: 20px;
    font-weight: 600;
    color: #2faa87;
    text-align: center;
    letter-spacing: 1px;
    margin: 0;
}

.implant-feature-desc {
    font-size: 16px;
    color: #575757;
    line-height: 1.6;
    letter-spacing: 0.8px;
}

.implant-feature-desc p {
    margin: 0 0 8px 0;
}

.implant-feature-desc p:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   Section 7: インプラント治療の流れ (Flow)
   ========================================================================== */
.implant-flow-section {
    border-radius: 80px;
    padding: 73px 60px;
}

.implant-flow-steps {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 48px;
    position: relative;
    padding-top: 36px;
}

.implant-flow-steps::before {
    content: '';
    position: absolute;
    top: calc(50% + 18px);
    left: 40px;
    right: 40px;
    height: 0;
    border-top: 3px dotted #2faa87;
    z-index: 1;
}

.implant-flow-step {
    width: 153px;
    height: 280px;
    background-color: #f1f1f1;
    border-radius: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 24px 10px;
    box-sizing: border-box;
    z-index: 2;
}

.implant-flow-number {
    font-family: 'Cormorant Infant', serif;
    font-size: 48px;
    color: #63574d;
    font-weight: 600;
    letter-spacing: 2.4px;
    position: absolute;
    top: -26px;
    left: 50%;
    transform: translateX(-50%);
    line-height: 1;
    z-index: 3;
}

.implant-flow-step-text {
    font-size: 18px;
    font-weight: 600;
    color: #2faa87;
    text-align: center;
    line-height: 1.3;
    writing-mode: vertical-rl;
    text-orientation: upright;
    letter-spacing: 2px;
    margin-top: 10px;
}

.implant-flow-subtext {
    font-size: 14px;
    letter-spacing: 0;
}

.implant-duration-box {
    border: 1px solid #c6efe3;
    border-radius: 4px;
    padding: 24px 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
    max-width: 1040px;
    margin: 0 auto;
    box-sizing: border-box;
    background-color: #ffffff;
}

.implant-duration-label {
    font-size: 18px;
    font-weight: 600;
    color: #575757;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.implant-duration-arrow {
    width: 32px;
    height: 14px;
    background: url('data:image/svg+xml;utf8,<svg viewBox="0 0 32 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 7H30M30 7L24 1M30 7L24 13" stroke="%232FAA87" stroke-width="2"/></svg>') no-repeat center / contain;
    flex-shrink: 0;
}

.implant-duration-text {
    font-size: 18px;
    color: #575757;
    letter-spacing: 0.5px;
}

/* ==========================================================================
   Section 8: 4つの四角 (Four Cards)
   ========================================================================== */
.implant-four-cards-section {
    position: relative;
    width: 100%;
    border-radius: 30px;
    overflow: hidden;
    padding: 60px 40px;
    box-sizing: border-box;
}

.implant-four-cards-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.implant-four-cards-bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(6.5px);
    opacity: 0.24;
}

.implant-four-cards-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    width: 100%;
}

.implant-mini-card {
    background-color: #ffffff;
    border-radius: 30px;
    padding: 48px 36px;
    box-sizing: border-box;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}

.implant-mini-card-title {
    font-family: 'Shippori Mincho', serif;
    font-size: 28px;
    font-weight: 500;
    color: #63574d;
    letter-spacing: 0.84px;
    margin: 0;
}

.implant-mini-card-lead {
    font-size: 18px;
    color: #575757;
    line-height: 1.6;
    margin: 0 0 20px 0;
}

.implant-pill-badges {
    display: flex;
    gap: 12px;
    margin: 20px 0;
    flex-wrap: wrap;
}

.implant-pill-badge {
    border-radius: 100px;
    padding: 8px 24px;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0.85px;
    display: inline-block;
}

.implant-pill-badge--green {
    background-color: #8fc31f;
    color: #ffffff;
}

.implant-pill-badge--light {
    background-color: #c6e781;
    color: #2faa87;
}

.implant-mini-card-desc {
    font-size: 18px;
    color: #575757;
    line-height: 1.7;
    letter-spacing: 0.5px;
    margin: 0;
}

.implant-warranty-boxes {
    display: flex;
    gap: 16px;
    margin: 20px 0;
}

.implant-warranty-box {
    background-color: #c6efe3;
    border-radius: 20px;
    padding: 18px 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.implant-warranty-name {
    font-size: 18px;
    font-weight: 600;
    color: #2faa87;
}

.implant-warranty-period {
    font-size: 18px;
    color: #575757;
}

.implant-mini-card-note {
    font-size: 16px;
    color: #888888;
    margin: 16px 0 0 0;
}

.implant-deduction-example {
    background-color: #f3f3f3;
    border-radius: 20px;
    padding: 20px 24px;
    margin: 20px 0;
    display: flex;
    gap: 8px;
    align-items: baseline;
}

.implant-deduction-label {
    font-size: 18px;
    font-weight: 600;
    color: #575757;
    white-space: nowrap;
}

.implant-deduction-text {
    font-size: 18px;
    color: #575757;
    line-height: 1.6;
    margin: 0;
}

/* ==========================================================================
   Section 9: インプラントの費用（目安） (Fee)
   ========================================================================== */
.implant-fee-section {
    border-radius: 80px;
    padding: 88px 60px;
    display: flex;
    flex-direction: column;
    gap: 100px;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
}

.implant-fee-intro {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.implant-fee-lead {
    font-size: 18px;
    color: #575757;
    text-align: center;
    letter-spacing: 0.5px;
    margin: 0 0 40px 0;
}

.implant-fee-tables-flex {
    display: flex;
    justify-content: space-between;
    gap: clamp(24px, 4.167vw, 80px);
    width: 100%;
    max-width: 100%;
    margin-bottom: 32px;
    align-items: flex-start;
}

.implant-fee-table-col {
    width: auto;
    max-width: 720px;
    flex: 1;
    min-width: 0;
    border-radius: 30px;
    overflow: hidden;
    background-color: #f1f1f1;
}

.implant-fee-table-header {
    background-color: #2faa87;
    color: #ffffff;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 1px;
}

.implant-fee-table-body {
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.implant-fee-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px dotted #bebebe;
    padding-bottom: 18px;
    white-space: nowrap;
}

.implant-fee-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.implant-fee-row--with-note {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}

.implant-fee-row-main {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.implant-fee-item-name {
    font-size: 18px;
    font-weight: 600;
    color: #575757;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.implant-fee-price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-shrink: 0;
    white-space: nowrap;
}

.implant-fee-number {
    font-family: 'Cormorant Infant', serif;
    font-size: 40px;
    font-weight: 600;
    color: #63574d;
    letter-spacing: 2px;
    line-height: 1;
}

.implant-fee-unit {
    font-size: 18px;
    font-weight: 600;
    color: #63574d;
    letter-spacing: 0.5px;
}

.implant-fee-item-subnote {
    font-size: 16px;
    color: #575757;
    text-align: right;
    letter-spacing: 0.8px;
    margin: 0;
}

.implant-fee-note {
    font-size: 18px;
    color: #575757;
    text-align: center;
    letter-spacing: 0.5px;
    margin: 0;
}

/* Sub-fee Blocks (骨造成・プロビジョナル・サージカル・静脈内鎮静法) */
.implant-sub-fee-block {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(32px, 5.104vw, 98px);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.implant-sub-fee-text {
    flex: 1 1 52%;
    max-width: 790px;
    width: auto;
    min-width: 0;
}

.implant-sub-fee-content {
    padding-left: 28px;
    display: flex;
    flex-direction: column;
    gap: 38px;
    margin-top: 40px;
}

.implant-sub-fee-title {
    font-family: 'Shippori Mincho', serif;
    font-size: 32px;
    font-weight: 500;
    color: #63574d;
    letter-spacing: 0.96px;
    margin: 0;
}

.implant-sub-fee-lead {
    font-size: 24px;
    font-weight: 700;
    color: #575757;
    line-height: 1.6;
    letter-spacing: 1.2px;
    margin: 0;
}

.implant-sub-fee-subtitle {
    font-size: 20px;
    font-weight: 600;
    color: #2faa87;
    letter-spacing: 1px;
    margin: 0;
}

.implant-sub-fee-desc {
    font-size: 18px;
    color: #575757;
    line-height: 1.6;
    letter-spacing: 0.5px;
    margin: 0;
}

.implant-sub-fee-img-wrap {
    flex: 0 1 42%;
    max-width: 632px;
    width: 100%;
    height: auto;
    aspect-ratio: 632 / 520;
    min-width: 0;
    border-radius: 20px;
    overflow: hidden;
}

.implant-sub-fee-img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* Price Badge Box */
.implant-price-badge-box {
    border-radius: 30px;
    overflow: hidden;
    background-color: #f1f1f1;
    width: 100%;
    max-width: 750px;
}

.implant-price-badge-header {
    background-color: #2faa87;
    color: #ffffff;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 1px;
}

.implant-price-badge-body {
    padding: 24px 32px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.implant-price-badge-label {
    font-size: 18px;
    font-weight: 600;
    color: #575757;
    letter-spacing: 0.5px;
}

.implant-price-badge-val {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-family: 'Cormorant Infant', serif;
    font-size: 40px;
    font-weight: 600;
    color: #63574d;
    letter-spacing: 2px;
    line-height: 1;
}

.implant-price-badge-val .implant-fee-unit {
    font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.5px;
}

/* Sub-fee 3: サージカルステント・ガイド */
.implant-sub-fee-guide {
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.implant-sub-fee-guide-intro {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-left: 28px;
}

.implant-sub-fee-guide-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(32px, 3.542vw, 68px);
    width: 100%;
    padding-left: 28px;
    box-sizing: border-box;
}

.implant-guide-col {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.implant-guide-col-title {
    font-size: 24px;
    font-weight: 600;
    color: #2faa87;
    letter-spacing: 0.5px;
    margin: 0;
}

.implant-guide-col-desc {
    font-size: 18px;
    color: #575757;
    line-height: 1.7;
    margin: 0;
    min-height: 80px;
}

.implant-guide-col .implant-price-badge-box {
    max-width: 600px;
}

/* Sub-fee 4: 静脈内鎮静法 */
.implant-sub-fee-sedation {
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.implant-sedation-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(32px, 3.646vw, 70px);
    padding-left: 28px;
    width: 100%;
    box-sizing: border-box;
}

.implant-sedation-text {
    flex: 1 1 55%;
    max-width: 850px;
    width: auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.implant-sedation-price {
    flex: 0 1 40%;
    max-width: 600px;
    width: 100%;
    min-width: 0;
}

.implant-sedation-price .implant-price-badge-box {
    max-width: 600px;
}

/* ==========================================================================
   Section 10: インプラント症例 (Cases)
   ========================================================================== */
.implant-cases-section {
    padding: 48px 60px;
}

.implant-cases-list {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 100%;
}

.implant-case-card {
    border: 3px solid #c6efe3;
    border-radius: 30px;
    padding: 48px 52px;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    background-color: #ffffff;
}

.implant-case-title {
    font-family: 'Shippori Mincho', serif;
    font-size: 28px;
    font-weight: 500;
    color: #2faa87;
    letter-spacing: 0.84px;
    margin: 0 0 12px 0;
}

.implant-case-patient-desc {
    font-size: 18px;
    color: #575757;
    letter-spacing: 0.5px;
    margin: 0 0 24px 0;
}

.implant-case-photos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
    margin-bottom: 32px;
    width: 100%;
}

.implant-case-photo-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.implant-case-photo-wrap {
    width: 440px;
    height: 330px;
    border-radius: 30px;
    overflow: hidden;
    background-color: #f7f7f7;
}

.implant-case-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.implant-case-label {
    font-family: 'Shippori Mincho', serif;
    font-size: 24px;
    color: #2faa87;
    letter-spacing: 0.72px;
}

.implant-case-arrow {
    width: 47px;
    height: 65px;
    background: url('data:image/svg+xml;utf8,<svg viewBox="0 0 47 65" fill="none" xmlns="http://www.w3.org/2000/svg"><polygon points="0,0 47,32.5 0,65" fill="%232FAA87"/></svg>') no-repeat center / contain;
    flex-shrink: 0;
}

.implant-case-meta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    width: 100%;
    max-width: 650px;
}

.implant-case-tags {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
}

.implant-case-tag {
    background-color: #c6efe3;
    border-radius: 7px;
    padding: 12px 20px;
    font-size: 17px;
    color: #575757;
    letter-spacing: 0.85px;
}

.implant-case-risk {
    background-color: #f1f1f1;
    border-radius: 7px;
    padding: 12px 20px;
    font-size: 17px;
    color: #575757;
    letter-spacing: 0.85px;
    width: 100%;
    text-align: center;
    box-sizing: border-box;
}

/* ==========================================================================
   Section 11: インプラントでよくある質問 (FAQ)
   ========================================================================== */
.implant-faq-section {
    padding: 80px;
    margin-bottom: 80px;
}

.implant-faq-inner {
    width: 1100px;
    max-width: 100%;
    margin: 0 auto;
}

.implant-faq-title-wrap {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 48px;
}

.implant-faq-title-line {
    width: 4px;
    height: 58px;
    background-color: #2faa87;
    border-radius: 2px;
    display: block;
    flex-shrink: 0;
}

.implant-faq-title {
    font-family: 'Shippori Mincho', serif;
    font-size: 32px;
    font-weight: 500;
    color: #63574d;
    line-height: 1.38;
    letter-spacing: 0.96px;
    margin: 0;
}

.implant-faq-list {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.implant-faq-item {
    border-bottom: 1px solid #e5e5e5;
    padding: 32px 0;
}

.implant-faq-item:first-child {
    border-top: 1px solid #e5e5e5;
}

.implant-faq-question-btn {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    gap: 24px;
}

.implant-faq-q-content {
    display: flex;
    align-items: center;
    gap: 40px;
    flex: 1;
}

.implant-faq-q-badge {
    font-family: 'Outfit', sans-serif;
    font-size: 38px;
    font-weight: 500;
    color: #63574d;
    text-transform: uppercase;
    width: 32px;
    line-height: 1;
    flex-shrink: 0;
}

.implant-faq-question-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 19px;
    font-weight: 400;
    color: #575757;
    line-height: 1.6;
    letter-spacing: 0.95px;
}

.implant-faq-toggle-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background-color: #8fc31f;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex-shrink: 0;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.implant-faq-toggle-icon::before,
.implant-faq-toggle-icon::after {
    content: '';
    position: absolute;
    background-color: #ffffff;
    border-radius: 1px;
}

.implant-faq-toggle-icon::before {
    width: 16px;
    height: 2px;
}

.implant-faq-toggle-icon::after {
    width: 2px;
    height: 16px;
    transition: opacity 0.3s ease;
}

.faq-item.is-open .implant-faq-toggle-icon {
    background-color: #2faa87;
    transform: rotate(45deg);
}

.implant-faq-answer-panel {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.4s ease, opacity 0.3s ease;
}

.implant-faq-answer-inner {
    display: flex;
    align-items: flex-start;
    gap: 40px;
    padding-top: 24px;
}

.implant-faq-a-badge {
    font-family: 'Outfit', sans-serif;
    font-size: 38px;
    font-weight: 500;
    color: #63574d;
    text-transform: uppercase;
    width: 32px;
    line-height: 1;
    flex-shrink: 0;
}

.implant-faq-answer-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 19px;
    font-weight: 400;
    color: #575757;
    line-height: 1.6;
    letter-spacing: 0.5px;
    margin: 0;
}

/* ==========================================================================
   Section 12: インプラント相談受付中 (Consult)
   Figma Node: 3549:4248
   ========================================================================== */
.implant-consult-section {
    padding: 48px 118px;
    margin-bottom: 80px;
    box-sizing: border-box;
}

.implant-consult-flex {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
    width: 100%;
}

.implant-consult-text-col {
    width: 600px;
    max-width: 600px;
    padding-top: 40px;
    display: flex;
    flex-direction: column;
    gap: 64px;
    box-sizing: border-box;
}

.implant-consult-text-col .implant-page-heading {
    margin-bottom: 0;
}

.implant-consult-body {
    padding-left: 30px;
    display: flex;
    flex-direction: column;
    gap: 40px;
    box-sizing: border-box;
}

.implant-consult-desc {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 18px;
    color: #575757;
    line-height: 1.6;
    letter-spacing: 0.5px;
    margin: 0;
}

.implant-consult-desc p {
    margin: 0 0 4px 0;
    line-height: 1.6;
}

.implant-consult-desc p:last-child {
    margin-bottom: 0;
}

.implant-line-consult-btn {
    background-color: #575757;
    border-radius: 50px;
    height: 55px;
    padding: 0 40px 0 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    color: #ffffff;
    text-decoration: none;
    box-sizing: border-box;
    width: fit-content;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.implant-line-consult-btn:hover {
    opacity: 0.88;
    transform: translateY(-2px);
}

.implant-line-icon {
    width: 32px;
    height: 32px;
    object-fit: contain;
    flex-shrink: 0;
    display: block;
}

.implant-line-btn-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: #ffffff;
    letter-spacing: 0.5px;
    line-height: 1.6;
    white-space: nowrap;
}

.implant-consult-img-col {
    width: 600px;
    max-width: 600px;
    flex-shrink: 0;
}

.implant-consult-img-wrap {
    width: 600px;
    height: 400px;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
}

.implant-consult-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* ==========================================================================
   Responsive Scaling: 1800px (Desktop Proportional Scaling)
   ========================================================================== */
@media (max-width: 1800px) {

    .implant-cases-list {
        gap: 2.083vw;
    }

    .implant-faq-section {
        padding: 4.167vw;
        margin-bottom: 4.167vw;
    }

    .implant-faq-inner {
        width: 57.292vw;
    }

    .implant-worries-section {
        padding: 2.500vw 3.125vw;
    }

    .implant-about-section {
        padding: 2.500vw 3.125vw 3.906vw;
    }

    .implant-comparison-section {
        padding: 4.583vw 3.125vw 2.500vw;
    }

    .implant-four-cards-section {
        padding: 3.125vw 2.083vw;
        border-radius: 1.563vw;
    }

    .implant-four-cards-grid {
        gap: 2.083vw;
    }

    .implant-mini-card {
        padding: 2.500vw 1.875vw;
        border-radius: 1.563vw;
    }

    .implant-cases-section {
        padding: 2.500vw 3.125vw;
    }

    /* Sub MV */
    .implant-page-main .sub-mv {
        margin-top: 8.854vw;
    }

    /* Page Layout & Container */
    .implant-page-body {
        padding-top: 6.25vw;
        padding-bottom: 6.25vw;
    }

    .implant-page-container {
        width: 79.167vw;
        gap: 4.167vw;
    }

    /* Common Card Section */
    .implant-card-section {
        border-radius: 1.563vw;
        padding: 2.5vw 3.125vw;
    }

    .implant-page-heading {
        gap: 0.417vw;
        margin-bottom: 1.25vw;
    }

    .implant-page-heading--center {
        gap: 0.833vw;
        margin-bottom: 2.083vw;
    }

    .implant-page-leaf-decor {
        width: 1.042vw;
        height: 1.042vw;
        border-radius: 1.563vw 0.104vw 1.563vw 0.104vw;
    }

    .implant-page-heading-text {
        font-size: 1.667vw;
        letter-spacing: 0.05vw;
    }

    /* Section 1: About */
    .implant-about-flex {
        gap: 3.125vw;
    }

    .implant-about-text-col,
    .implant-about-img-col {
        width: 33.333vw;
    }

    .implant-about-img-col {
        width: 26.146vw;
    }

    .implant-structure-box {
        padding: 2.083vw;
        border-radius: 1.563vw;
        gap: 1.25vw;
    }

    .implant-structure-img-wrap {
        width: 12.5vw;
    }

    /* Section 2: Worries */
    .implant-worries-grid {
        gap: 1.25vw;
    }

    .implant-worry-item {
        height: 3.646vw;
        padding: 0 1.042vw;
        border-radius: 0.573vw;
        gap: 0.625vw;
    }

    .implant-worry-icon {
        width: 1.667vw;
        height: 1.667vw;
    }

    /* Section 3: Danger Circles */
    .implant-intro-circles {
        gap: 2.5vw;
    }

    .implant-intro-circle {
        width: 11.979vw;
        height: 11.979vw;
        padding: 1.042vw;
    }

    /* Section 4 & 5: Comparison & Merits */
    .implant-comparison-cards,
    .implant-merits-grid {
        gap: 1.667vw;
    }

    .implant-comparison-cards {
        gap: 1.302vw;
    }

    .implant-merits-grid {
        gap: 3.229vw;
    }

    .implant-comparison-card,
    .implant-merit-card {
        width: 22.917vw;
        height: 17.708vw;
        border-radius: 1.563vw;
        padding: 1.875vw 1.25vw;
    }

    .implant-comparison-card {
        width: 11.979vw;
        height: 15.625vw;
        padding: 1.875vw 1.042vw;
    }

    .implant-merit-card {
        width: 17.344vw;
    }

    .implant-comparison-img-wrap {
        width: 7.292vw;
        height: 7.292vw;
    }

    /* Section 6: Features */
    .implant-features-grid {
        gap: 1.354vw;
    }

    .implant-feature-card {
        border-radius: 1.563vw;
        padding: 1.25vw;
        gap: 1.042vw;
    }

    .implant-feature-badge {
        width: 5.885vw;
        height: 5.885vw;
        border-top-left-radius: 2.5vw;
        border-bottom-left-radius: 0.573vw;
        border-top-right-radius: 0.573vw;
        border-bottom-right-radius: 5.885vw;
    }

    .implant-feature-number {
        font-size: 2.5vw;
    }

    .implant-feature-img-wrap {
        height: 12.135vw;
        border-radius: 1.042vw;
    }

    /* Section 7: Flow */
    .implant-flow-section {
        border-radius: 4.167vw;
        padding: 3.8vw 3.125vw;
    }

    .implant-flow-steps {
        gap: 0.833vw;
        margin-bottom: 2.5vw;
        padding-top: 1.875vw;
    }

    .implant-flow-steps::before {
        top: calc(50% + 0.938vw);
        left: 2.083vw;
        right: 2.083vw;
        border-top-width: 0.156vw;
    }

    .implant-flow-step {
        width: 7.969vw;
        height: 14.583vw;
        border-radius: 1.563vw;
        padding: 1.25vw 0.521vw;
    }

    .implant-flow-number {
        font-size: 2.5vw;
        letter-spacing: 0.125vw;
        top: -1.354vw;
    }

    .implant-flow-step-text {
        font-size: 0.938vw;
        letter-spacing: 0.104vw;
        margin-top: 0.521vw;
    }

    .implant-flow-subtext {
        font-size: 0.729vw;
    }

    .implant-duration-box {
        border-radius: 0.208vw;
        padding: 1.25vw 2.083vw;
        gap: 1.667vw;
        max-width: 54.167vw;
    }

    .implant-duration-label {
        font-size: 0.938vw;
        letter-spacing: 0.026vw;
    }

    .implant-duration-arrow {
        width: 1.667vw;
        height: 0.729vw;
    }

    .implant-duration-text {
        font-size: 0.938vw;
        letter-spacing: 0.026vw;
    }

    /* Section 8: Duration */
    .implant-duration-grid {
        gap: 2.083vw;
    }

    .implant-duration-card {
        padding: 2.083vw;
        border-radius: 1.563vw;
    }

    /* Section 9: Bone Augmentation */
    .implant-bone-flex {
        gap: 3.125vw;
    }

    .implant-bone-text-col,
    .implant-bone-img-col {
        width: 33.333vw;
    }

    .implant-bone-img-wrap {
        height: 20.833vw;
        border-radius: 1.042vw;
    }

    /* Section 9: Fee */
    .implant-fee-section {
        border-radius: 4.167vw;
        padding: 4.583vw 3.125vw;
        gap: 5.208vw;
    }

    .implant-fee-lead {
        font-size: 0.938vw;
        margin-bottom: 2.083vw;
    }

    .implant-fee-tables-flex {
        gap: 4.167vw;
        margin-bottom: 1.667vw;
    }

    .implant-fee-table-col {
        flex: 1;
        width: auto;
        min-width: 0;
        border-radius: 1.563vw;
    }

    .implant-fee-table-header {
        height: 2.708vw;
        font-size: 1.042vw;
        letter-spacing: 0.052vw;
    }

    .implant-fee-table-body {
        padding: 1.667vw 1.25vw;
        gap: 1.25vw;
    }

    .implant-fee-row {
        padding-bottom: 0.938vw;
    }

    .implant-fee-item-name {
        font-size: 0.938vw;
        letter-spacing: 0.026vw;
    }

    .implant-fee-price {
        gap: 0.417vw;
    }

    .implant-fee-number {
        font-size: 2.083vw;
        letter-spacing: 0.104vw;
    }

    .implant-fee-unit {
        font-size: 0.938vw;
        letter-spacing: 0.026vw;
    }

    .implant-fee-item-subnote {
        font-size: 0.833vw;
        letter-spacing: 0.042vw;
    }

    .implant-fee-note {
        font-size: 0.938vw;
        letter-spacing: 0.026vw;
    }

    .implant-sub-fee-block {
        gap: 5.104vw;
    }

    .implant-sub-fee-text {
        width: auto;
        max-width: 41.146vw;
    }

    .implant-sub-fee-content {
        padding-left: 1.458vw;
        gap: 1.979vw;
        margin-top: 2.083vw;
    }

    .implant-sub-fee-lead {
        font-size: 1.25vw;
        letter-spacing: 0.063vw;
    }

    .implant-sub-fee-subtitle {
        font-size: 1.042vw;
        letter-spacing: 0.052vw;
    }

    .implant-sub-fee-desc {
        font-size: 0.938vw;
        letter-spacing: 0.026vw;
    }

    .implant-sub-fee-img-wrap {
        width: 100%;
        max-width: 32.917vw;
        height: auto;
        aspect-ratio: 632 / 520;
        border-radius: 1.042vw;
    }

    .implant-price-badge-box {
        border-radius: 1.563vw;
        max-width: 39.063vw;
    }

    .implant-price-badge-header {
        height: 2.708vw;
        font-size: 1.042vw;
        letter-spacing: 0.052vw;
    }

    .implant-price-badge-body {
        padding: 1.667vw;
    }

    .implant-price-badge-label {
        font-size: 0.938vw;
        letter-spacing: 0.026vw;
    }

    .implant-price-badge-val {
        gap: 0.417vw;
        font-size: 2.083vw;
        letter-spacing: 0.104vw;
    }

    .implant-price-badge-val .implant-fee-unit {
        font-size: 0.938vw;
        letter-spacing: 0.026vw;
    }

    .implant-sub-fee-guide {
        gap: 2.5vw;
    }

    .implant-sub-fee-guide-intro {
        padding-left: 1.458vw;
        gap: 0.833vw;
    }

    .implant-sub-fee-guide-grid {
        gap: 3.542vw;
        padding-left: 1.458vw;
    }

    .implant-guide-col {
        gap: 1.25vw;
    }

    .implant-guide-col-title {
        font-size: 1.25vw;
        letter-spacing: 0.026vw;
    }

    .implant-guide-col-desc {
        font-size: 0.938vw;
        min-height: 4.167vw;
    }

    .implant-guide-col .implant-price-badge-box {
        max-width: 31.25vw;
    }

    .implant-sub-fee-sedation {
        gap: 2.5vw;
    }

    .implant-sedation-flex {
        gap: 3.646vw;
        padding-left: 1.458vw;
    }

    .implant-sedation-text {
        width: auto;
        max-width: 44.271vw;
        gap: 0.833vw;
    }

    .implant-sedation-price {
        width: 100%;
        max-width: 31.25vw;
    }

    .implant-sedation-price .implant-price-badge-box {
        max-width: 31.25vw;
    }

    /* Section 11: Cases & FAQ */
    .implant-cases-grid {
        gap: 2.083vw;
    }

    .implant-case-card {
        padding: 2.083vw;
        border-radius: 1.563vw;
    }

    .implant-faq-question-btn {
        padding: 0;
        gap: 1.250vw;
    }

    .implant-faq-q-badge,
    .implant-faq-a-badge {
        font-size: 1.875vw;
    }

    .implant-faq-q-badge {
        font-size: 1.979vw;
    }

    .implant-faq-a-badge {
        font-size: 1.979vw;
    }

    /* Section 12: Consult */
    .implant-consult-section {
        padding: 2.5vw 6.146vw;
        margin-bottom: 4.167vw;
        border-radius: 1.563vw;
    }

    .implant-consult-flex {
        gap: 2.083vw;
    }

    .implant-consult-text-col {
        width: 31.25vw;
        max-width: 31.25vw;
        padding-top: 2.083vw;
        gap: 3.333vw;
    }

    .implant-consult-body {
        padding-left: 1.563vw;
        gap: 2.083vw;
    }

    .implant-line-consult-btn {
        height: 2.865vw;
        padding: 0 2.083vw 0 1.667vw;
        border-radius: 2.604vw;
        gap: 0.833vw;
    }

    .implant-line-icon {
        width: 1.667vw;
        height: 1.667vw;
    }

    .implant-consult-img-col {
        width: 31.25vw;
        max-width: 31.25vw;
    }

    .implant-consult-img-wrap {
        width: 31.25vw;
        height: 20.833vw;
        border-radius: 1.042vw;
    }

    /* Typography Scaling */
    .implant-about-lead,
    .implant-intro-lead {
        font-size: 1.042vw;
    }

    .implant-about-lead {
        font-size: 0.938vw;
    }

    .implant-intro-lead {
        font-size: 0.938vw;
    }

    .implant-about-p,
    .implant-structure-list li,
    .implant-worry-text,
    .implant-worries-note,
    .implant-intro-circle-text,
    .implant-intro-desc,
    .implant-comparison-lead,
    .implant-comparison-table th,
    .implant-comparison-table td,
    .implant-merit-card-text,
    .implant-duration-text,
    .implant-bone-desc,
    .implant-fee-table th,
    .implant-fee-table td,
    .implant-sub-fee-desc,
    .implant-case-text,
    .implant-faq-question-text,
    .implant-faq-answer-text,
    .implant-consult-desc,
    .implant-line-btn-text {
        font-size: 0.938vw;
        letter-spacing: 0.026vw;
    }

    .implant-faq-question-text {
        font-size: 0.99vw;
        letter-spacing: 0.049vw;
    }

    .implant-faq-answer-text {
        font-size: 0.99vw;
    }

    .implant-comparison-title,
    .implant-merit-card-title,
    .implant-duration-title,
    .implant-sub-fee-title,
    .implant-case-title {
        font-size: 1.146vw;
    }

    .implant-merit-card-title {
        font-size: 1.042vw;
    }

    .implant-sub-fee-title {
        font-size: 1.667vw;
    }

    .implant-case-title {
        font-size: 1.458vw;
    }

    .implant-feature-title {
        font-size: 1.042vw;
    }

    .implant-feature-desc {
        font-size: 0.833vw;
    }


    /* Auto-generated PC Liquid (vw) Layout Rules */
    .implant-page-container {
        padding: 0 1.042vw;
    }

    .implant-heading--center,
    .implant-page-heading--center {
        margin-bottom: 2.083vw;
    }

    .implant-heading--row-center,
    .implant-page-heading--row-center {
        gap: 0.625vw;
        margin-bottom: 2.083vw;
    }

    .implant-leaf-decor,
    .implant-page-leaf-decor {
        width: 1.042vw;
        height: 1.042vw;
    }

    .implant-heading-text,
    .implant-page-heading-text {
        letter-spacing: 0.050vw;
    }

    .implant-intro-lead {
        letter-spacing: 0.026vw;
        margin: 0 0 2.083vw 0;
    }

    .implant-intro-circles {
        gap: 1.667vw;
        margin-bottom: 2.500vw;
    }

    .implant-intro-desc p {
        margin: 0 0 0.625vw 0;
    }

    .implant-worries-grid {
        gap: 0.781vw 0.729vw;
        max-width: 51.042vw;
        margin: 0 auto 1.667vw;
    }

    .implant-check-icon {
        width: 1.250vw;
        height: 1.250vw;
    }

    .implant-about-flex {
        gap: 2.500vw;
    }

    .implant-about-text-col {
        max-width: 40.625vw;
    }

    .implant-about-content {
        padding-left: 1.458vw;
    }

    .implant-about-lead {
        letter-spacing: 0.026vw;
        margin: 0 0 1.458vw 0;
    }

    .implant-structure-box {
        margin-bottom: 1.250vw;
    }

    .implant-structure-title {
        letter-spacing: 0.052vw;
        margin: 0 0 1.042vw 0;
    }

    .implant-structure-list {
        gap: 0.833vw;
    }

    .implant-structure-list li {
        gap: 0.833vw;
    }

    .implant-structure-label {
        min-width: 7.292vw;
    }

    .implant-about-foot {
        letter-spacing: 0.026vw;
    }

    .implant-structure-img-wrapper {
        border-radius: 1.042vw;
    }

    .implant-merits-wrapper {
        max-width: 66.667vw;
        min-height: 17.344vw;
    }

    .implant-merit-visual-bg {
        width: 26.562vw;
    }

    .implant-merit-card-title {
        letter-spacing: 0.052vw;
        margin: 0 0 0.833vw 0;
    }

    .implant-comparison-lead {
        margin: 0 0 2.500vw 0;
    }

    .implant-comparison-cards {
        gap: 1.302vw;
        margin-bottom: 2.500vw;
    }

    .implant-comparison-card-title {
        letter-spacing: 0.026vw;
    }

    .implant-comparison-card-img-wrap {
        width: 9.375vw;
        height: 7.292vw;
    }

    .implant-comparison-table-attention-wrap {
        margin-bottom: 0.625vw;
    }

    .implant-comparison-table-attention {
        gap: 0.312vw;
        padding: 0.312vw 0.729vw;
        border-radius: 1.042vw;
        letter-spacing: 0.026vw;
    }

    .implant-comparison-table-attention-icon svg {
        width: 0.938vw;
        height: 0.938vw;
    }

    .implant-comparison-table-wrap {
        max-width: 59.375vw;
        border-radius: 1.562vw;
    }

    .implant-comparison-table-wrap::-webkit-scrollbar-track {
        border-radius: 0.156vw;
    }

    .implant-comparison-table-wrap::-webkit-scrollbar-thumb {
        border-radius: 0.156vw;
    }

    .implant-comparison-table {
        min-width: 41.667vw;
    }

    .implant-comparison-table th,
    .implant-comparison-table td {
        padding: 1.042vw 1.250vw;
    }

    .implant-th-item {
        width: 9.375vw;
    }

    .implant-th-main {
        width: 18.750vw;
    }

    .implant-th-sub {
        width: 18.750vw;
    }

    .implant-symbol {
        margin-bottom: 0.208vw;
    }

    .implant-features-grid {
        gap: 1.354vw;
    }

    .implant-feature-badge {
        top: -0.521vw;
        left: -0.208vw;
    }

    .implant-feature-number {
        letter-spacing: 0.073vw;
    }

    .implant-feature-img-wrap--border {
        padding: 0.833vw;
    }

    .implant-feature-body {
        gap: 0.833vw;
    }

    .implant-feature-title {
        letter-spacing: 0.052vw;
    }

    .implant-feature-desc {
        letter-spacing: 0.042vw;
    }

    .implant-feature-desc p {
        margin: 0 0 0.417vw 0;
    }

    .implant-mini-card-title {
        letter-spacing: 0.044vw;
    }

    .implant-mini-card-lead {
        margin: 0 0 1.042vw 0;
    }

    .implant-pill-badges {
        gap: 0.625vw;
        margin: 1.042vw 0;
    }

    .implant-pill-badge {
        border-radius: 5.208vw;
        padding: 0.417vw 1.250vw;
        letter-spacing: 0.044vw;
    }

    .implant-mini-card-desc {
        letter-spacing: 0.026vw;
    }

    .implant-warranty-boxes {
        gap: 0.833vw;
        margin: 1.042vw 0;
    }

    .implant-warranty-box {
        border-radius: 1.042vw;
        padding: 0.938vw 1.250vw;
        gap: 0.417vw;
    }

    .implant-mini-card-note {
        margin: 0.833vw 0 0 0;
    }

    .implant-deduction-example {
        border-radius: 1.042vw;
        padding: 1.042vw 1.250vw;
        margin: 1.042vw 0;
        gap: 0.417vw;
    }

    .implant-fee-intro {
        max-width: 79.167vw;
    }

    .implant-fee-lead {
        letter-spacing: 0.026vw;
        margin: 0 0 2.083vw 0;
    }

    .implant-fee-tables-flex {
        max-width: 79.167vw;
    }

    .implant-fee-row--with-note {
        gap: 0.417vw;
    }

    .implant-sub-fee-title {
        letter-spacing: 0.050vw;
    }

    .implant-cases-list {
        gap: 2.083vw;
    }

    .implant-case-title {
        letter-spacing: 0.044vw;
        margin: 0 0 0.625vw 0;
    }

    .implant-case-patient-desc {
        letter-spacing: 0.026vw;
        margin: 0 0 1.250vw 0;
    }

    .implant-case-photos {
        gap: 1.667vw;
        margin-bottom: 1.667vw;
    }

    .implant-case-photo-block {
        gap: 0.625vw;
    }

    .implant-case-photo-wrap {
        width: 22.917vw;
        height: 17.188vw;
        border-radius: 1.562vw;
    }

    .implant-case-label {
        letter-spacing: 0.037vw;
    }

    .implant-case-arrow {
        width: 2.448vw;
        height: 3.385vw;
    }

    .implant-case-meta {
        gap: 0.833vw;
        max-width: 33.854vw;
    }

    .implant-case-tags {
        gap: 0.833vw;
    }

    .implant-case-tag {
        font-size: 0.885vw;
        border-radius: 0.365vw;
        padding: 0.625vw 1.042vw;
        letter-spacing: 0.044vw;
    }

    .implant-case-risk {
        font-size: 0.885vw;
        border-radius: 0.365vw;
        padding: 0.625vw 1.042vw;
        letter-spacing: 0.044vw;
    }

    .implant-faq-title-wrap {
        gap: 1.25vw;
        margin-bottom: 2.5vw;
    }

    .implant-faq-title-line {
        width: 0.208vw;
        height: 3.021vw;
    }

    .implant-faq-title {
        font-size: 1.667vw;
        letter-spacing: 0.05vw;
    }

    .implant-faq-item {
        padding: 1.667vw 0;
    }

    .implant-faq-q-content {
        gap: 2.083vw;
    }

    .implant-faq-q-badge {
        font-size: 1.979vw;
        width: 1.667vw;
        min-width: 1.667vw;
    }

    .implant-faq-toggle-icon {
        width: 2.188vw;
        height: 2.188vw;
    }

    .implant-faq-toggle-icon::before {
        width: 0.833vw;
        height: 0.104vw;
    }

    .implant-faq-toggle-icon::after {
        width: 0.104vw;
        height: 0.833vw;
    }

    .implant-faq-answer-inner {
        gap: 2.083vw;
        padding-top: 1.25vw;
    }

    .implant-faq-a-badge {
        font-size: 1.979vw;
        width: 1.667vw;
        min-width: 1.667vw;
    }

    .implant-consult-desc p {
        margin: 0 0 0.208vw 0;
    }


    /* Auto-fixed missing PC Liquid (vw) Layout Rules */
    .implant-page-main .sub-mv {
        margin-top: 8.854vw;
    }

    .implant-heading {
        gap: 0.417vw;
        margin-bottom: 1.250vw;
    }

    .implant-comparison-table-container {
        max-width: 59.375vw;
    }

    .implant-comparison-table-wrap::-webkit-scrollbar {
        height: 0.312vw;
    }

    .implant-sub-fee-block {
        max-width: 100%;
    }

    .implant-sub-fee-guide {
        max-width: 100%;
    }

    .implant-sub-fee-sedation {
        max-width: 100%;
    }

    /* ベースの px 指定を vw に換算（1800px 以下は完全比例） */
    .implant-leaf-decor, .implant-page-leaf-decor {
        border-radius: 1.562vw 0.104vw 1.562vw 0.104vw;
    }

    .implant-heading-text, .implant-page-heading-text {
        font-size: 1.667vw;
    }

    .implant-structure-title {
        font-size: 1.042vw;
    }

    .implant-about-foot {
        font-size: 0.938vw;
    }

    .implant-comparison-card-title {
        font-size: 0.938vw;
    }

    .implant-comparison-table-attention {
        font-size: 0.677vw;
    }

    .implant-comparison-table-attention-arrow {
        font-size: 0.833vw;
    }

    25% {
        transform: translateX(-0.208vw);
    }

    75% {
        transform: translateX(0.208vw);
    }

    50% {
        transform: translateX(0.156vw);
    }

    .implant-th-item {
        font-size: 0.938vw;
    }

    .implant-th-main {
        font-size: 0.938vw;
    }

    .implant-th-sub {
        font-size: 0.938vw;
    }

    .implant-td-header {
        font-size: 0.938vw;
    }

    .implant-td-main {
        font-size: 0.938vw;
    }

    .implant-td-sub {
        font-size: 0.938vw;
    }

    .implant-symbol {
        font-size: 1.146vw;
    }

    .implant-mini-card-title {
        font-size: 1.458vw;
    }

    .implant-mini-card-lead {
        font-size: 0.938vw;
    }

    .implant-pill-badge {
        font-size: 0.885vw;
    }

    .implant-mini-card-desc {
        font-size: 0.938vw;
    }

    .implant-warranty-name {
        font-size: 0.938vw;
    }

    .implant-warranty-period {
        font-size: 0.938vw;
    }

    .implant-mini-card-note {
        font-size: 0.833vw;
    }

    .implant-deduction-label {
        font-size: 0.938vw;
    }

    .implant-deduction-text {
        font-size: 0.938vw;
    }

    .implant-fee-table-col {
        max-width: 37.5vw;
    }

    .implant-case-patient-desc {
        font-size: 0.938vw;
    }

    .implant-case-label {
        font-size: 1.25vw;
    }
}

/* ==========================================================================
   Responsive Styles (Tablet: max-width: 1024px)
   ========================================================================== */
@media screen and (max-width: 1024px) {
    /* 1800px 以下を完全比例（vw）にしたため、タブレット以下は従来の値を維持する */
    .implant-fee-item-name {
        font-size: clamp(13px, 0.94vw, 18px);
    }

    .implant-fee-number {
        font-size: clamp(28px, 2.08vw, 40px);
    }

    .implant-fee-unit {
        font-size: clamp(12px, 0.94vw, 18px);
    }

    .implant-about-img-col {
        width: 33.333vw;
    }

    .implant-comparison-card {
        width: 22.917vw;
        height: 17.708vw;
        padding: 1.875vw 1.25vw;
    }

    .implant-about-lead {
        font-size: calc(10.35px + 0.503vw);
    }

    .implant-intro-lead {
        font-size: calc(10.35px + 0.503vw);
    }

    .implant-faq-question-text {
        font-size: calc(9.42px + 0.447vw);
        letter-spacing: 0.026vw;
    }

    .implant-faq-answer-text {
        font-size: calc(9.42px + 0.447vw);
    }

    .implant-sub-fee-title {
        font-size: calc(10.74px + 0.587vw);
    }

    .implant-case-title {
        font-size: calc(10.74px + 0.587vw);
    }

    .implant-feature-number {
        font-size: calc(22.26px + 1.341vw);
    }

    .implant-case-tag {
        font-size: calc(7.89px + 0.474vw);
    }

    .implant-case-risk {
        font-size: calc(7.89px + 0.474vw);
    }

    .implant-faq-title {
        font-size: calc(14.84px + 0.894vw);
    }

    .implant-faq-q-badge {
        font-size: calc(16.55px + 1.117vw);
    }

    .implant-faq-a-badge {
        font-size: calc(16.55px + 1.117vw);
    }

    .implant-leaf-decor, .implant-page-leaf-decor {
        border-radius: 30px 2px 30px 2px;
    }

    .implant-heading-text, .implant-page-heading-text {
        font-size: 32px;
    }

    .implant-structure-title {
        font-size: 20px;
    }

    .implant-about-foot {
        font-size: 18px;
    }

    .implant-comparison-card-title {
        font-size: 18px;
    }

    .implant-comparison-table-attention {
        font-size: 13px;
    }

    .implant-comparison-table-attention-arrow {
        font-size: 16px;
    }

    25% {
        transform: translateX(-4px);
    }

    75% {
        transform: translateX(4px);
    }

    50% {
        transform: translateX(3px);
    }

    .implant-th-item {
        font-size: 18px;
    }

    .implant-th-main {
        font-size: 18px;
    }

    .implant-th-sub {
        font-size: 18px;
    }

    .implant-td-header {
        font-size: 18px;
    }

    .implant-td-main {
        font-size: 18px;
    }

    .implant-td-sub {
        font-size: 18px;
    }

    .implant-symbol {
        font-size: 22px;
    }

    .implant-mini-card-title {
        font-size: 28px;
    }

    .implant-mini-card-lead {
        font-size: 18px;
    }

    .implant-pill-badge {
        font-size: 17px;
    }

    .implant-mini-card-desc {
        font-size: 18px;
    }

    .implant-warranty-name {
        font-size: 18px;
    }

    .implant-warranty-period {
        font-size: 18px;
    }

    .implant-mini-card-note {
        font-size: 16px;
    }

    .implant-deduction-label {
        font-size: 18px;
    }

    .implant-deduction-text {
        font-size: 18px;
    }

    .implant-case-patient-desc {
        font-size: 18px;
    }

    .implant-case-label {
        font-size: 24px;
    }

    .implant-page-heading-text {
        font-size: calc(14.84px + 0.894vw);
    }

    .implant-worry-item {
        height: 3.958vw;
        padding: 0 1.25vw;
        border-radius: 0.781vw;
        gap: 0.833vw;
    }

    .implant-intro-circle {
        width: 10.417vw;
        height: 10.417vw;
        padding: 1.25vw;
    }

    .implant-flow-number {
        font-size: calc(22.26px + 1.341vw);
    }

    .implant-flow-step-text {
        font-size: calc(9.42px + 0.447vw);
    }

    .implant-flow-subtext {
        font-size: calc(8.64px + 0.279vw);
    }

    .implant-duration-label {
        font-size: calc(9.42px + 0.447vw);
    }

    .implant-duration-text {
        font-size: calc(9.42px + 0.447vw);
    }

    .implant-fee-lead {
        font-size: calc(9.42px + 0.447vw);
    }

    .implant-fee-table-header {
        font-size: calc(10.35px + 0.503vw);
    }

    .implant-fee-item-name {
        letter-spacing: 0;
    }

    .implant-fee-number {
        letter-spacing: 0.052vw;
    }

    .implant-fee-unit {
        letter-spacing: 0;
    }

    .implant-fee-item-subnote {
        font-size: calc(9.56px + 0.335vw);
    }

    .implant-fee-note {
        font-size: calc(9.42px + 0.447vw);
    }

    .implant-sub-fee-lead {
        font-size: calc(11.13px + 0.67vw);
    }

    .implant-sub-fee-subtitle {
        font-size: calc(10.35px + 0.503vw);
    }

    .implant-sub-fee-desc {
        font-size: calc(9.42px + 0.447vw);
    }

    .implant-price-badge-header {
        font-size: calc(10.35px + 0.503vw);
    }

    .implant-price-badge-label {
        font-size: calc(9.42px + 0.447vw);
    }

    .implant-price-badge-val {
        font-size: calc(18.56px + 1.117vw);
    }

    .implant-price-badge-val .implant-fee-unit {
        font-size: calc(9.42px + 0.447vw);
    }

    .implant-guide-col-title {
        font-size: calc(11.13px + 0.67vw);
    }

    .implant-guide-col-desc {
        font-size: calc(9.42px + 0.447vw);
    }

    .implant-faq-q-badge, .implant-faq-a-badge {
        font-size: calc(16.55px + 1.011vw);
    }

    .implant-about-lead, .implant-intro-lead {
        font-size: calc(10.35px + 0.503vw);
    }

    .implant-about-p, .implant-structure-list li, .implant-worry-text, .implant-worries-note, .implant-intro-circle-text, .implant-intro-desc, .implant-comparison-lead, .implant-comparison-table th, .implant-comparison-table td, .implant-merit-card-text, .implant-duration-text, .implant-bone-desc, .implant-fee-table th, .implant-fee-table td, .implant-sub-fee-desc, .implant-case-text, .implant-faq-question-text, .implant-faq-answer-text, .implant-consult-desc, .implant-line-btn-text {
        font-size: calc(9.42px + 0.447vw);
    }

    .implant-comparison-title, .implant-merit-card-title, .implant-duration-title, .implant-sub-fee-title, .implant-case-title {
        font-size: calc(10.74px + 0.587vw);
    }

    .implant-feature-title {
        font-size: calc(10.35px + 0.503vw);
    }

    .implant-feature-desc {
        font-size: calc(9.56px + 0.335vw);
    }


    .implant-page-container {
        padding: 0 24px;
    }

    .implant-features-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .implant-flow-steps {
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
        margin-bottom: 32px;
        padding-top: 24px;
    }

    .implant-flow-steps::before {
        display: none;
    }

    .implant-flow-step {
        width: 140px;
        height: 260px;
        border-radius: 24px;
        padding: 20px 8px;
    }

    .implant-flow-number {
        font-size: 38px;
        letter-spacing: 1.5px;
        top: -20px;
    }

    .implant-flow-step-text {
        font-size: 16px;
        letter-spacing: 1px;
        margin-top: 8px;
    }

    .implant-flow-subtext {
        font-size: 12px;
    }

    .implant-duration-box {
        max-width: 100%;
        padding: 20px 24px;
        gap: 20px;
        flex-wrap: wrap;
    }

    .implant-duration-label {
        font-size: 16px;
        letter-spacing: 0.5px;
    }

    .implant-duration-arrow {
        width: 24px;
        height: 11px;
    }

    .implant-duration-text {
        font-size: 15px;
        letter-spacing: 0.5px;
    }

    .implant-fee-tables-flex {
        flex-direction: column;
        align-items: center;
        gap: 32px;
    }

    .implant-fee-table-col {
        width: 100%;
        max-width: 720px;
    }

    .implant-about-flex,
    .implant-consult-flex,
    .implant-sub-fee-block,
    .implant-sedation-flex {
        flex-direction: column;
        align-items: center;
    }

    .implant-sub-fee-block--provisional {
        flex-direction: column-reverse;
    }

    .implant-about-text-col,
    .implant-consult-text-col,
    .implant-sub-fee-text,
    .implant-sedation-text,
    .implant-about-img-col,
    .implant-consult-img-col,
    .implant-sub-fee-img-wrap,
    .implant-sedation-price {
        width: 100%;
        max-width: 100%;
    }

    .implant-sub-fee-img-wrap {
        max-width: 632px;
        height: auto;
        aspect-ratio: 632 / 520;
    }

    .implant-price-badge-box,
    .implant-guide-col .implant-price-badge-box,
    .implant-sedation-price .implant-price-badge-box {
        max-width: 100%;
    }

    .implant-consult-text-col {
        padding-top: 0;
        gap: 36px;
    }

    .implant-consult-img-wrap {
        width: 100%;
        max-width: 600px;
        height: auto;
        aspect-ratio: 3 / 2;
    }

    .implant-sub-fee-guide-grid {
        grid-template-columns: 1fr;
    }

    .implant-four-cards-grid {
        grid-template-columns: 1fr;
    }

    .implant-merits-grid {
        gap: 32px;
    }

    .implant-merit-card {
        width: 290px;
        height: 290px;
        padding: 20px;
    }

    .implant-merit-card-title {
        font-size: 19px;
    }

    .implant-merit-card-text {
        font-size: 16px;
    }

    .implant-merit-visual-bg {
        width: 420px;
    }
}

/* ==========================================================================
   Responsive Styles (Tablet: max-width: 1024px)
   ========================================================================== */
@media screen and (max-width: 1024px) {
    .implant-page-main .sub-mv {
        margin-top: 115px;
    }

    .implant-page-main .sub-mv-container {
        width: 100%;
        padding: 0;
    }

    .implant-page-main .sub-mv-image-wrapper {
        height: 250px;
        border-radius: 0;
    }

    .implant-page-main .sub-mv-heading-card {
        left: 40px;
        min-width: 0;
        max-width: calc(100% - 80px);
        box-sizing: border-box;
        padding: 16px 36px 16px 24px;
        border-top-left-radius: 20px;
        border-top-right-radius: 20px;
        gap: 8px;
    }

    .implant-page-body {
        padding-top: 60px;
        padding-bottom: 80px;
    }

    .implant-page-container {
        width: 100%;
        max-width: 100%;
        padding: 0 24px;
        box-sizing: border-box;
        gap: 60px;
    }

    .implant-card-section {
        width: 100%;
        padding: 40px 32px;
        border-radius: 24px;
        box-sizing: border-box;
    }

    .implant-flow-section,
    .implant-fee-section {
        width: 100%;
        padding: 40px 32px;
        border-radius: 24px;
        box-sizing: border-box;
    }

    .implant-page-heading {
        margin-bottom: 24px;
    }

    .implant-page-heading--center,
    .implant-page-heading--row-center {
        margin-bottom: 32px;
    }

    .implant-heading-text,
    .implant-page-heading-text {
        font-size: 26px;
    }

    .implant-leaf-decor,
    .implant-page-leaf-decor {
        width: 18px !important;
        height: 18px !important;
        border-radius: 20px 2px 20px 2px !important;
        flex-shrink: 0;
    }

    .pc-only {
        display: none;
    }

    .implant-features-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    .implant-feature-card {
        padding: 24px;
        border-radius: 24px;
    }

    .implant-feature-badge {
        width: 90px;
        height: 90px;
        top: -8px;
        left: -3px;
        border-top-left-radius: 38px;
        border-top-right-radius: 9px;
        border-bottom-left-radius: 9px;
        border-bottom-right-radius: 90px;
    }

    .implant-feature-number {
        font-size: 38px;
    }

    .implant-feature-img-wrap {
        height: 200px;
        border-radius: 16px;
    }

    .implant-fee-tables-flex {
        flex-direction: column;
    }

    .implant-faq-section {
        padding: 40px 24px;
        margin-bottom: 50px;
    }

    .implant-faq-inner {
        width: 100%;
    }

    .implant-faq-title-wrap {
        margin-bottom: 32px;
        gap: 20px;
    }

    .implant-faq-title-line {
        width: 4px;
        height: 40px;
    }

    .implant-faq-title {
        font-size: 26px;
    }

    .implant-faq-item {
        padding: 24px 0;
    }

    .implant-faq-question-btn {
        padding: 0;
    }

    .implant-faq-q-content {
        gap: 20px;
    }

    .implant-faq-q-badge {
        font-size: 28px;
        width: 24px;
    }

    .implant-faq-question-text {
        font-size: 17px;
    }

    .implant-faq-toggle-icon {
        width: 36px;
        height: 36px;
    }

    .implant-faq-toggle-icon::before {
        width: 16px;
        height: 2px;
    }

    .implant-faq-toggle-icon::after {
        width: 2px;
        height: 16px;
    }

    .implant-faq-answer-inner {
        gap: 20px;
        padding-top: 16px;
    }

    .implant-faq-a-badge {
        font-size: 28px;
        width: 24px;
    }

    .implant-faq-answer-text {
        font-size: 16px;
    }

    .implant-consult-section {
        padding: 40px 32px;
        margin-bottom: 60px;
    }

    .implant-merits-grid {
        gap: 20px;
    }

    .implant-merit-card {
        width: 240px;
        height: 240px;
        padding: 16px;
    }

    .implant-merit-card-title {
        font-size: 17px;
        margin-bottom: 10px;
    }

    .implant-merit-card-text {
        font-size: 14px;
    }

    .implant-merit-visual-bg {
        width: 340px;
        opacity: 0.6;
    }

    .implant-comparison-table-container {
        width: 100%;
        max-width: 100%;
    }

    .implant-comparison-table-wrap {
        width: 100%;
        max-width: 100%;
    }

    .implant-comparison-table-attention-wrap {
        display: flex;
    }

    .implant-line-icon {
        width: 24px;
        height: 24px;
        flex-shrink: 0;
    }

    .implant-comparison-table-attention-icon svg {
        width: 16px;
        height: 16px;
    }

    .implant-line-consult-btn {
        height: 52px;
        padding: 0 32px 0 24px;
        gap: 12px;
        border-radius: 30px;
    }

    .implant-line-btn-text {
        font-size: 16px;
    }

    /* Section 10: Cases (Tablet) */
    .implant-cases-section {
        padding: 40px 32px;
        border-radius: 24px;
    }

    .implant-cases-list {
        gap: 32px;
        width: 100%;
    }

    .implant-case-card {
        padding: 36px 24px;
        border-radius: 24px;
        border-width: 2px;
        width: 100%;
        box-sizing: border-box;
    }

    .implant-case-title {
        font-size: 24px;
        margin: 0 0 8px 0;
    }

    .implant-case-patient-desc {
        font-size: 16px;
        margin: 0 0 20px 0;
        text-align: center;
    }

    .implant-case-photos {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 16px;
        margin-bottom: 24px;
        width: 100%;
    }

    .implant-case-photo-block {
        width: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    .implant-case-photo-wrap {
        width: clamp(240px, 34vw, 340px);
        height: auto;
        aspect-ratio: 4 / 3;
        border-radius: 18px;
        overflow: hidden;
    }

    .implant-case-photo {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .implant-case-label {
        font-size: 20px;
    }

    .implant-case-arrow {
        width: 28px;
        height: 38px;
        transform: none;
        flex-shrink: 0;
    }

    .implant-case-meta {
        width: 100%;
        max-width: 720px;
        gap: 12px;
    }

    .implant-case-tags {
        display: flex;
        flex-direction: row;
        justify-content: center;
        gap: 12px;
        flex-wrap: wrap;
        width: 100%;
    }

    .implant-case-tag {
        width: auto;
        padding: 8px 16px;
        font-size: 15px;
        border-radius: 6px;
        text-align: center;
        white-space: nowrap;
    }

    .implant-case-risk {
        width: 100%;
        padding: 10px 16px;
        font-size: 14px;
        border-radius: 6px;
        text-align: center;
        line-height: 1.5;
    }
}

/* ==========================================================================
   Responsive Styles (Smartphone / Tablet: max-width: 768px)
   ========================================================================== */
@media screen and (max-width: 768px) {
    .implant-page-main .sub-mv {
        margin-top: 175px !important;
    }

    .admin-bar .implant-page-main .sub-mv {
        margin-top: calc(175px + 46px) !important;
    }

    .implant-page-main .sub-mv-container {
        width: 100%;
        padding: 0;
    }

    .implant-page-main .sub-mv-heading-card {
        left: 16px;
        max-width: calc(100% - 32px);
    }

    .implant-page-body {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .implant-page-container {
        width: 100%;
        max-width: 100%;
        padding: 0 20px;
        box-sizing: border-box;
        gap: 48px;
    }

    .implant-card-section {
        width: 100%;
        padding: 36px 20px;
        border-radius: 20px;
        box-sizing: border-box;
    }

    .implant-flow-section,
    .implant-fee-section {
        width: 100%;
        padding: 36px 20px;
        border-radius: 20px;
        box-sizing: border-box;
    }

    .implant-heading-text,
    .implant-page-heading-text {
        font-size: 24px;
    }

    .implant-mini-card-title,
    .implant-sub-fee-title,
    .implant-faq-title {
        font-size: 22px;
    }

    .implant-leaf-decor,
    .implant-page-leaf-decor {
        width: 18px !important;
        height: 18px !important;
        border-radius: 20px 2px 20px 2px !important;
        flex-shrink: 0;
    }

    .pc-only {
        display: none !important;
    }

    .sp-only {
        display: inline !important;
    }

    /* Section 1: Intro */
    .implant-intro-circles {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 16px;
        max-width: 400px;
        margin: 0 auto 28px;
    }

    .implant-intro-circle {
        width: calc(50% - 8px);
        max-width: 160px;
        height: auto;
        aspect-ratio: 1;
        border-radius: 50%;
        padding: 10px 8px;
        box-sizing: border-box;
    }

    .implant-intro-circle-text {
        font-size: 15px;
        font-weight: 600;
        line-height: 1.4;
        white-space: nowrap;
    }

    .implant-intro-lead,
    .implant-intro-desc,
    .implant-worries-note,
    .implant-about-lead,
    .implant-about-foot,
    .implant-comparison-lead,
    .implant-mini-card-lead,
    .implant-mini-card-desc,
    .implant-fee-lead,
    .implant-sub-fee-desc,
    .implant-consult-desc {
        font-size: 15px;
    }

    .implant-intro-lead,
    .implant-intro-desc {
        text-align: left;
    }

    /* Section 2: Worries */
    .implant-worries-grid {
        grid-template-columns: 1fr;
        gap: 10px;
        width: 100%;
        max-width: 100%;
    }

    .implant-worry-item {
        height: auto;
        min-height: 56px;
        padding: 12px 16px;
        border-radius: 14px;
        gap: 12px;
    }

    .implant-worry-text {
        font-size: 15px;
    }

    .implant-check-icon {
        width: 22px;
        height: 22px;
    }

    /* Section 3: About */
    .implant-about-flex {
        flex-direction: column;
        align-items: center;
        gap: 28px;
    }

    .implant-about-text-col,
    .implant-about-img-col {
        width: 100%;
        max-width: 100%;
    }

    .implant-about-content {
        padding-left: 0;
    }

    .implant-structure-box {
        padding: 20px 16px;
        border-radius: 16px;
        margin: 20px 0;
        width: 100%;
        box-sizing: border-box;
    }

    .implant-structure-list li {
        flex-direction: column;
        gap: 4px;
        font-size: 15px;
    }

    .implant-structure-label {
        min-width: auto;
    }

    .implant-structure-img-wrapper {
        width: 100%;
        border-radius: 16px;
        overflow: hidden;
    }

    /* Section 4: Merits */
    .implant-merits-wrapper {
        position: relative;
        width: 100%;
        min-height: auto;
        overflow: hidden;
    }

    .implant-merit-visual-bg {
        width: 220px;
        opacity: 0.16;
        right: 0;
        top: 5%;
        transform: none;
        pointer-events: none;
    }

    .implant-merits-grid {
        gap: 20px;
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    .implant-merit-card {
        width: 260px;
        height: 260px;
        border-radius: 50%;
        padding: 20px;
        margin: 0 auto;
        box-sizing: border-box;
    }

    .implant-merit-card-title {
        font-size: 19px;
        margin-bottom: 10px;
    }

    .implant-merit-card-text {
        font-size: 14px;
        line-height: 1.5;
    }

    /* Section 5: Comparison */
    .implant-comparison-lead {
        text-align: center;
        margin-bottom: 24px;
    }

    .implant-comparison-cards {
        flex-direction: column;
        align-items: center;
        gap: 16px;
        width: 100%;
        margin-bottom: 32px;
    }

    .implant-comparison-card {
        width: 100%;
        max-width: 320px;
        height: auto;
        min-height: 220px;
        padding: 24px 16px;
        border-radius: 20px;
    }

    .implant-comparison-card-img-wrap {
        width: 100%;
        height: 130px;
    }

    .implant-comparison-table-container {
        width: 100%;
        max-width: 100%;
    }

    .implant-comparison-table-attention-wrap {
        display: flex;
        justify-content: flex-end;
        margin-bottom: 12px;
    }

    .implant-comparison-table-wrap {
        width: 100%;
        max-width: 100%;
        border-radius: 16px;
    }

    .implant-comparison-table {
        min-width: 680px;
    }

    .implant-comparison-table th,
    .implant-comparison-table td {
        padding: 14px 10px;
        font-size: 14px;
    }

    .implant-th-item {
        width: 110px;
        font-size: 14px;
    }

    .implant-th-main,
    .implant-th-sub {
        width: 190px;
        font-size: 15px;
    }

    .implant-symbol {
        font-size: 18px;
    }

    /* Section 6: Features */
    .implant-features-grid {
        grid-template-columns: 1fr;
        gap: 24px;
        width: 100%;
    }

    .implant-feature-card {
        width: 100%;
        padding: 24px 20px;
        border-radius: 24px;
        box-sizing: border-box;
        gap: 20px;
    }

    .implant-feature-badge {
        width: 76px;
        height: 76px;
        top: -6px;
        left: -2px;
        border-top-left-radius: 32px;
        border-top-right-radius: 8px;
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 76px;
    }

    .implant-feature-number {
        font-size: 32px;
    }

    .implant-feature-img-wrap {
        width: 100%;
        height: 200px;
        border-radius: 16px;
    }

    .implant-feature-title {
        font-size: 18px;
    }

    .implant-feature-desc {
        font-size: 15px;
        line-height: 1.6;
        text-align: left;
    }

    /* Section 7: Flow */
    .implant-flow-steps {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
        width: 100%;
        margin-bottom: 32px;
        padding-top: 0;
    }

    .implant-flow-steps::before {
        display: none;
    }

    .implant-flow-step {
        width: 100%;
        height: auto;
        min-height: 160px;
        border-radius: 20px;
        padding: 20px 12px;
    }

    .implant-flow-number {
        font-size: 36px;
        top: 12px;
        transform: translateX(-50%);
    }

    .implant-flow-step-text {
        writing-mode: horizontal-tb;
        text-orientation: mixed;
        letter-spacing: 0;
        margin-top: 50px;
        font-size: 15px;
    }

    .implant-duration-box {
        flex-direction: column;
        gap: 12px;
        padding: 20px 16px;
        text-align: center;
        border-radius: 16px;
        width: 100%;
        box-sizing: border-box;
    }

    .implant-duration-arrow {
        width: 20px;
        height: 10px;
        transform: rotate(90deg);
    }

    .implant-duration-text {
        font-size: 15px;
    }

    /* Section 8: 4 Cards */
    .implant-four-cards-section {
        padding: 40px 16px;
        border-radius: 24px;
        width: 100%;
        box-sizing: border-box;
    }

    .implant-four-cards-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        width: 100%;
    }

    .implant-mini-card {
        padding: 32px 20px;
        border-radius: 20px;
        width: 100%;
        box-sizing: border-box;
    }

    .implant-warranty-boxes {
        flex-direction: column;
        gap: 12px;
    }

    .implant-deduction-example {
        flex-direction: column;
        gap: 8px;
        padding: 16px 18px;
        border-radius: 16px;
    }

    /* Section 9: Fee */
    .implant-fee-section {
        gap: 48px;
    }

    .implant-fee-intro {
        width: 100%;
    }

    .implant-fee-lead {
        text-align: left;
        width: 100%;
    }

    .implant-fee-tables-flex {
        flex-direction: column;
        gap: 24px;
        width: 100%;
    }

    .implant-fee-table-col {
        width: 100%;
        max-width: 100%;
        border-radius: 20px;
        overflow: hidden;
    }

    .implant-fee-table-header {
        height: 46px;
        font-size: 17px;
    }

    .implant-fee-table-body {
        padding: 20px 16px;
        gap: 16px;
    }

    .implant-fee-row {
        padding-bottom: 14px;
        width: 100%;
    }

    .implant-fee-item-name {
        font-size: 15px;
    }

    .implant-fee-number {
        font-size: 28px;
    }

    .implant-fee-unit {
        font-size: 14px;
    }

    .implant-fee-item-subnote {
        font-size: 13px;
    }

    .implant-sub-fee-block {
        gap: 32px;
        flex-direction: column;
        width: 100%;
    }

    .implant-sub-fee-block--provisional {
        flex-direction: column-reverse;
    }

    .implant-sub-fee-text {
        width: 100%;
        max-width: 100%;
    }

    .implant-sub-fee-content {
        padding-left: 0;
        gap: 20px;
        margin-top: 20px;
        width: 100%;
    }

    .implant-sub-fee-title {
        font-size: 22px;
    }

    .implant-sub-fee-lead {
        font-size: 16px;
        text-align: left;
    }

    .implant-sub-fee-subtitle {
        font-size: 16px;
        text-align: left;
    }

    .implant-sub-fee-desc {
        font-size: 15px;
        text-align: left;
    }

    .implant-sub-fee-img-wrap {
        width: 100%;
        max-width: 100%;
        height: auto;
        aspect-ratio: 16 / 10;
        border-radius: 16px;
    }

    .implant-price-badge-box {
        border-radius: 16px;
        width: 100%;
        max-width: 100%;
    }

    .implant-price-badge-header {
        height: 44px;
        font-size: 17px;
    }

    .implant-price-badge-body {
        padding: 16px 20px;
        flex-direction: column;
        gap: 8px;
        align-items: flex-start;
    }

    .implant-price-badge-label {
        font-size: 15px;
    }

    .implant-price-badge-val {
        font-size: 26px;
        align-self: flex-end;
    }

    .implant-sub-fee-guide {
        gap: 24px;
        width: 100%;
    }

    .implant-sub-fee-guide-intro {
        padding-left: 0;
        width: 100%;
    }

    .implant-sub-fee-guide-grid {
        gap: 24px;
        padding-left: 0;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .implant-guide-col-title {
        font-size: 18px;
    }

    .implant-guide-col-desc {
        font-size: 15px;
        min-height: auto;
        text-align: left;
    }

    .implant-sub-fee-sedation {
        gap: 24px;
        width: 100%;
    }

    .implant-sedation-flex {
        gap: 24px;
        padding-left: 0;
        flex-direction: column;
        width: 100%;
    }

    .implant-sedation-text,
    .implant-sedation-price {
        width: 100%;
    }


    /* Section 11: FAQ */
    .implant-faq-section {
        padding: 32px 16px;
        margin-bottom: 40px;
        border-radius: 20px;
    }

    .implant-faq-item {
        padding: 20px 0;
    }

    .implant-faq-question-btn {
        padding: 0;
        align-items: flex-start;
    }

    .implant-faq-q-content {
        gap: 12px;
        align-items: flex-start;
    }

    .implant-faq-toggle-icon {
        width: 32px;
        height: 32px;
        margin-top: 2px;
    }

    .implant-faq-q-badge,
    .implant-faq-a-badge {
        font-size: 22px;
        width: 20px;
        flex-shrink: 0;
        line-height: 1.2;
    }

    .implant-faq-question-text {
        font-size: 15px;
    }

    .implant-faq-answer-inner {
        gap: 12px;
        padding-top: 12px;
        align-items: flex-start;
    }

    .implant-faq-answer-text {
        font-size: 14px;
    }

    /* Section 12: Consult */
    .implant-consult-section {
        padding: 32px 20px;
        border-radius: 20px;
        margin-bottom: 40px;
    }

    .implant-consult-flex {
        flex-direction: column;
        gap: 24px;
        width: 100%;
    }

    .implant-consult-text-col {
        width: 100%;
        max-width: 100%;
        gap: 20px;
        padding-top: 0;
    }

    .implant-consult-body {
        padding-left: 0;
        gap: 20px;
        width: 100%;
    }

    .implant-consult-desc {
        text-align: left;
    }

    .implant-consult-img-col {
        width: 100%;
        max-width: 100%;
    }

    .implant-consult-img-wrap {
        width: 100%;
        max-width: 100%;
        height: auto;
        aspect-ratio: 600 / 400;
        max-height: 260px;
        border-radius: 16px;
        overflow: hidden;
    }

    .implant-line-consult-btn {
        width: 100%;
        max-width: 380px;
        margin: 0 auto;
        min-height: 52px;
        height: auto;
        padding: 12px 18px;
        border-radius: 30px;
        gap: 10px;
        box-sizing: border-box;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .implant-line-icon {
        width: 24px;
        height: 24px;
        flex-shrink: 0;
    }

    .implant-line-btn-text {
        font-size: 15px;
        white-space: normal;
        text-align: center;
    }

    /* 1800px 以下の vw 指定が SP で極端に小さくならないよう px に戻す */
    .implant-page-heading {
        gap: 8px;
    }

    .implant-page-heading--center {
        gap: 16px;
    }

    .implant-structure-box {
        gap: 16px;
    }

    .implant-faq-question-btn {
        gap: 16px;
    }

    .implant-page-heading--row-center {
        gap: 12px;
    }

    .implant-about-lead {
        margin: 0 0 16px 0;
    }

    .implant-structure-list {
        gap: 16px;
    }

    .implant-comparison-table-attention {
        gap: 6px;
        border-radius: 20px;
    }

    .implant-symbol {
        margin-bottom: 4px;
    }

    .implant-feature-img-wrap--border {
        padding: 16px;
    }

    .implant-feature-body {
        gap: 16px;
    }

    .implant-feature-desc p {
        margin: 0 0 8px 0;
    }

    .implant-consult-desc p {
        margin: 0 0 4px 0;
    }
}

/* ==========================================================================
   Responsive Styles (Smartphone: max-width: 590px)
   ========================================================================== */
@media (max-width: 590px) {
    .implant-page-main .sub-mv {
        margin-top: 150px !important;
    }

    .admin-bar .implant-page-main .sub-mv {
        margin-top: calc(150px + 46px) !important;
    }

    .implant-page-main .sub-mv-container {
        width: 100%;
        padding: 0;
    }

    .implant-page-main .sub-mv-image-wrapper {
        height: 180px;
    }

    .implant-page-main .sub-mv-heading-card {
        left: 16px;
        max-width: calc(100% - 32px);
        padding: 12px 24px 12px 16px;
        border-top-left-radius: 15px;
        border-top-right-radius: 15px;
    }

    .implant-page-main .sub-mv-en-title {
        font-size: 28px;
    }

    .implant-page-main .sub-mv-jp-subtitle {
        font-size: 14px;
        padding-left: 16px;
    }

    .implant-page-body {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .implant-page-container {
        width: 100%;
        max-width: 100%;
        gap: 36px;
        padding: 0 16px;
        box-sizing: border-box;
    }

    .implant-card-section {
        width: 100%;
        padding: 32px 16px;
        border-radius: 20px;
        box-sizing: border-box;
    }

    .implant-flow-section,
    .implant-fee-section {
        width: 100%;
        padding: 32px 16px;
        border-radius: 20px;
        box-sizing: border-box;
        margin-bottom: 0;
    }

    .implant-page-heading {
        margin-bottom: 20px;
    }

    .implant-page-heading--center,
    .implant-page-heading--row-center {
        margin-bottom: 24px;
    }

    .implant-heading-text,
    .implant-page-heading-text {
        font-size: 22px;
        line-height: 1.4;
    }

    .implant-mini-card-title,
    .implant-sub-fee-title,
    .implant-faq-title {
        font-size: 20px;
        line-height: 1.4;
    }

    .implant-leaf-decor,
    .implant-page-leaf-decor {
        width: 18px !important;
        height: 18px !important;
        border-radius: 20px 2px 20px 2px !important;
        flex-shrink: 0;
    }

    /* Section 1: Intro Circles - Responsive Wrap */
    .implant-intro-lead {
        font-size: 14px;
        margin-bottom: 20px;
        text-align: center;
        width: 100%;
    }

    .implant-intro-circles {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        max-width: 340px;
        margin: 0 auto 24px;
        gap: 12px;
    }

    .implant-intro-circle {
        width: calc(50% - 6px);
        max-width: 152px;
        height: auto;
        aspect-ratio: 1;
        border-radius: 50%;
        padding: 8px 4px;
        box-sizing: border-box;
        flex-shrink: 0;
    }

    .implant-intro-circle-text {
        font-size: clamp(12.5px, 3.8vw, 14.5px);
        font-weight: 600;
        line-height: 1.4;
        white-space: nowrap;
    }

    .implant-intro-desc {
        font-size: 14px;
        line-height: 1.8;
        text-align: left;
    }

    .implant-intro-desc p {
        margin: 0 0 12px 0;
    }

    .implant-intro-desc p:last-child {
        margin-bottom: 0;
    }

    /* Section 2: Worries */
    .implant-worries-grid {
        gap: 8px;
        width: 100%;
        max-width: 100%;
        margin-bottom: 24px;
    }

    .implant-worry-item {
        width: 100%;
        height: auto;
        min-height: 52px;
        padding: 10px 14px;
        gap: 10px;
        border-radius: 12px;
    }

    .implant-worry-text {
        font-size: 14px;
        line-height: 1.4;
        text-align: left;
    }

    .implant-check-icon {
        width: 22px;
        height: 22px;
    }

    .implant-worries-note {
        font-size: 14px;
        line-height: 1.7;
        text-align: left;
    }

    /* Section 3: About Structure */
    .implant-about-flex {
        gap: 24px;
    }

    .implant-about-lead {
        font-size: 14px;
        line-height: 1.7;
        text-align: left;
    }

    .implant-about-foot {
        font-size: 14px;
        line-height: 1.7;
        text-align: left;
    }

    .implant-structure-box {
        padding: 18px 14px;
        border-radius: 14px;
        margin: 18px 0;
        width: 100%;
        box-sizing: border-box;
    }

    .implant-structure-title {
        font-size: 17px;
        margin-bottom: 12px;
    }

    .implant-structure-list li {
        font-size: 14px;
        line-height: 1.5;
        flex-direction: column;
        gap: 2px;
    }

    .implant-structure-label {
        font-size: 14px;
        min-width: auto;
    }

    .implant-structure-desc {
        font-size: 13px;
        color: #575757;
    }

    .implant-structure-img-wrapper {
        width: 100%;
        border-radius: 14px;
        overflow: hidden;
        margin-top: 16px;
    }

    /* Section 4: Merits */
    .implant-merits-wrapper {
        overflow: hidden;
        width: 100%;
        min-height: auto;
        position: relative;
    }

    .implant-merit-visual-bg {
        width: 180px;
        right: 0;
        top: 5%;
        opacity: 0.15;
        pointer-events: none;
    }

    .implant-merits-grid {
        gap: 16px;
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    .implant-merit-card {
        width: 240px;
        height: 240px;
        border-radius: 50%;
        padding: 20px 16px;
        margin: 0 auto;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .implant-merit-card-title {
        font-size: 18px;
        margin-bottom: 8px;
    }

    .implant-merit-card-text {
        font-size: 14px;
        line-height: 1.5;
    }

    /* Section 5: Comparison Table */
    .implant-comparison-lead {
        font-size: 14px;
        margin-bottom: 24px;
        text-align: center;
        width: 100%;
    }

    .implant-comparison-cards {
        flex-direction: column;
        align-items: center;
        gap: 14px;
        margin-bottom: 32px;
        width: 100%;
    }

    .implant-comparison-card {
        width: 100%;
        max-width: 100%;
        height: auto;
        min-height: 200px;
        padding: 20px 16px;
        border-radius: 20px;
        gap: 16px;
    }

    .implant-comparison-card-title {
        font-size: 17px;
    }

    .implant-comparison-card-img-wrap {
        width: 100%;
        height: 120px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .implant-comparison-table-container {
        width: 100%;
        max-width: 100%;
    }

    .implant-comparison-table-attention-wrap {
        display: flex;
        justify-content: flex-end;
        margin-bottom: 10px;
    }

    .implant-comparison-table-attention {
        font-size: 12px;
        padding: 5px 12px;
    }

    .implant-comparison-table-wrap {
        border-radius: 14px;
        width: 100%;
        max-width: 100%;
    }

    .implant-comparison-table {
        min-width: 580px;
    }

    .implant-comparison-table th,
    .implant-comparison-table td {
        padding: 12px 8px;
        font-size: 13px;
    }

    /* Section 6: Features */
    .implant-features-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        width: 100%;
    }

    .implant-feature-card {
        width: 100%;
        padding: 20px 16px;
        border-radius: 20px;
        gap: 16px;
        box-sizing: border-box;
    }

    .implant-feature-badge {
        width: 66px;
        height: 66px;
        top: -6px;
        left: -2px;
        border-top-left-radius: 32px;
        border-top-right-radius: 8px;
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 66px;
    }

    .implant-feature-number {
        font-size: 28px;
    }

    .implant-feature-img-wrap {
        width: 100%;
        height: 180px;
        border-radius: 14px;
        overflow: hidden;
    }

    .implant-feature-title {
        font-size: 17px;
    }

    .implant-feature-desc {
        font-size: 14px;
        line-height: 1.6;
        text-align: left;
    }

    /* Section 7: Flow */
    .implant-flow-section {
        padding: 32px 16px;
        border-radius: 20px;
        margin-bottom: 0;
    }

    .implant-flow-steps {
        display: flex;
        flex-direction: column;
        gap: 10px;
        width: 100%;
        max-width: 100%;
        margin: 0 auto 20px;
    }

    .implant-flow-step {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        width: 100%;
        height: auto;
        min-height: 58px;
        padding: 12px 24px;
        gap: 16px;
        border-radius: 14px;
        box-sizing: border-box;
    }

    .implant-flow-number {
        position: static;
        transform: none;
        font-size: 24px;
        color: #2faa87;
        font-weight: 700;
        flex-shrink: 0;
        line-height: 1;
        letter-spacing: 0;
        width: 32px;
        text-align: left;
    }

    .implant-flow-step-text {
        margin-top: 0;
        font-size: 14px;
        font-weight: 600;
        text-align: left;
        line-height: 1.4;
        writing-mode: horizontal-tb;
        text-orientation: mixed;
        letter-spacing: 0;
    }

    .implant-flow-subtext {
        font-size: 12px;
        font-weight: 400;
        color: #575757;
    }

    .implant-duration-box {
        padding: 16px 14px;
        border-radius: 14px;
        margin-top: 0;
        width: 100%;
        box-sizing: border-box;
        gap: 10px;
        flex-direction: column;
        text-align: center;
    }

    .implant-duration-arrow {
        width: 18px;
        height: 10px;
        transform: rotate(90deg);
        margin: 2px 0;
    }

    .implant-duration-text {
        font-size: 14px;
        line-height: 1.5;
    }

    /* Section 8: 4 Cards */
    .implant-four-cards-section {
        padding: 28px 12px;
        border-radius: 20px;
        width: 100%;
        box-sizing: border-box;
    }

    .implant-four-cards-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        width: 100%;
    }

    .implant-mini-card {
        padding: 24px 16px;
        border-radius: 16px;
        width: 100%;
        box-sizing: border-box;
    }

    .implant-mini-card-lead {
        font-size: 14px;
        margin-bottom: 14px;
        text-align: left;
    }

    .implant-mini-card-desc {
        font-size: 14px;
        line-height: 1.6;
        text-align: left;
    }

    .implant-pill-badges {
        flex-wrap: wrap;
        gap: 8px;
        margin: 14px 0;
    }

    .implant-pill-badge {
        font-size: 13px;
        padding: 6px 12px;
    }

    .implant-warranty-boxes {
        flex-direction: column;
        gap: 10px;
        margin: 16px 0;
        width: 100%;
    }

    .implant-warranty-box {
        padding: 14px 16px;
        border-radius: 14px;
        gap: 4px;
    }

    .implant-warranty-name {
        font-size: 16px;
    }

    .implant-warranty-period {
        font-size: 14px;
    }

    .implant-mini-card-note {
        font-size: 13px;
        margin-top: 12px;
    }

    .implant-deduction-example {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        padding: 14px 16px;
        border-radius: 14px;
        margin: 16px 0;
        width: 100%;
        box-sizing: border-box;
    }

    .implant-deduction-label {
        font-size: 15px;
        font-weight: 600;
    }

    .implant-deduction-text {
        font-size: 14px;
        line-height: 1.5;
        text-align: left;
    }

    /* Section 9: Fee Section */
    .implant-fee-section {
        padding: 32px 16px;
        border-radius: 20px;
        gap: 36px;
        margin-bottom: 0;
    }

    .implant-fee-intro {
        width: 100%;
    }

    .implant-fee-lead {
        font-size: 14px;
        margin-bottom: 20px;
        text-align: left;
        width: 100%;
    }

    .implant-fee-tables-flex {
        flex-direction: column;
        gap: 20px;
        width: 100%;
        margin-bottom: 16px;
    }

    .implant-fee-table-col {
        width: 100%;
        max-width: 100%;
        border-radius: 16px;
        overflow: hidden;
    }

    .implant-fee-table-header {
        height: 44px;
        font-size: 16px;
    }

    .implant-fee-table-body {
        padding: 18px 14px;
        gap: 14px;
    }

    .implant-fee-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        padding-bottom: 12px;
        width: 100%;
        white-space: normal;
    }

    .implant-fee-row-main {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .implant-fee-item-name {
        font-size: 15px;
        line-height: 1.4;
        white-space: normal;
    }

    .implant-fee-price {
        align-self: flex-end;
        display: flex;
        align-items: baseline;
        gap: 4px;
    }

    .implant-fee-number {
        font-size: 26px;
    }

    .implant-fee-unit {
        font-size: 13px;
    }

    .implant-fee-item-subnote {
        font-size: 12px;
        line-height: 1.4;
    }

    .implant-fee-note {
        font-size: 13px;
        text-align: left;
        width: 100%;
    }

    .implant-sub-fee-block {
        flex-direction: column;
        gap: 20px;
        width: 100%;
        margin-top: 0;
    }

    .implant-sub-fee-block--provisional {
        flex-direction: column-reverse;
    }

    .implant-sub-fee-text {
        width: 100%;
        max-width: 100%;
    }

    .implant-sub-fee-content {
        padding-left: 0;
        gap: 16px;
        margin-top: 16px;
        width: 100%;
    }

    .implant-sub-fee-title {
        font-size: 20px;
    }

    .implant-sub-fee-lead {
        font-size: 15px;
        line-height: 1.5;
        text-align: left;
    }

    .implant-sub-fee-subtitle {
        font-size: 15px;
        line-height: 1.5;
        text-align: left;
    }

    .implant-sub-fee-desc {
        font-size: 14px;
        line-height: 1.6;
        text-align: left;
    }

    .implant-sub-fee-img-wrap {
        width: 100%;
        max-width: 100%;
        height: auto;
        aspect-ratio: 16 / 10;
        border-radius: 14px;
        overflow: hidden;
    }

    .implant-sub-fee-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .implant-price-badge-box {
        border-radius: 14px;
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .implant-price-badge-header {
        height: 40px;
        font-size: 15px;
    }

    .implant-price-badge-body {
        padding: 14px 16px;
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        width: 100%;
        box-sizing: border-box;
    }

    .implant-price-badge-label {
        font-size: 14px;
        line-height: 1.4;
    }

    .implant-price-badge-val {
        font-size: 22px;
        align-self: flex-end;
        display: flex;
        align-items: baseline;
        gap: 4px;
    }

    .implant-price-badge-val .implant-fee-number {
        font-size: 22px;
    }

    .implant-sub-fee-guide {
        gap: 20px;
        width: 100%;
    }

    .implant-sub-fee-guide-intro {
        padding-left: 0;
        gap: 10px;
        width: 100%;
    }

    .implant-sub-fee-guide-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        padding-left: 0;
        width: 100%;
    }

    .implant-guide-col {
        display: flex;
        flex-direction: column;
        gap: 10px;
        width: 100%;
    }

    .implant-guide-col-title {
        font-size: 17px;
    }

    .implant-guide-col-desc {
        font-size: 14px;
        line-height: 1.6;
        min-height: auto;
        text-align: left;
    }

    .implant-sub-fee-sedation {
        gap: 20px;
        width: 100%;
    }

    .implant-sedation-flex {
        flex-direction: column;
        gap: 20px;
        padding-left: 0;
        width: 100%;
    }

    .implant-sedation-text {
        width: 100%;
        gap: 12px;
    }

    .implant-sedation-price {
        width: 100%;
    }

    /* Section 10: Cases */
    .implant-cases-section {
        padding: 32px 16px;
        border-radius: 20px;
        width: 100%;
    }

    .implant-cases-list {
        gap: 24px;
        width: 100%;
    }

    .implant-case-card {
        padding: 24px 14px;
        border-radius: 18px;
        width: 100%;
        box-sizing: border-box;
        gap: 16px;
    }

    .implant-case-title {
        font-size: 20px;
        margin-bottom: 8px;
    }

    .implant-case-patient-desc {
        font-size: 14px;
        margin-bottom: 16px;
        text-align: left;
        width: 100%;
    }

    .implant-case-photos {
        width: 100%;
        flex-direction: column;
        gap: 12px;
        margin-bottom: 20px;
    }

    .implant-case-photo-block {
        width: 100%;
        align-items: center;
        gap: 8px;
    }

    .implant-case-photo-wrap {
        width: 100%;
        max-width: 360px;
        height: auto;
        aspect-ratio: 4 / 3;
        border-radius: 14px;
        margin: 0 auto;
    }

    .implant-case-label {
        font-size: 18px;
    }

    .implant-case-arrow {
        width: 24px;
        height: 32px;
        transform: rotate(90deg);
        margin: 4px 0;
    }

    .implant-case-meta {
        width: 100%;
        max-width: 100%;
        gap: 10px;
    }

    .implant-case-tags {
        flex-direction: column;
        gap: 8px;
        width: 100%;
    }

    .implant-case-tag {
        font-size: 13.5px;
        padding: 10px 14px;
        border-radius: 6px;
        width: 100%;
        text-align: left;
        box-sizing: border-box;
    }

    .implant-case-risk {
        font-size: 13.5px;
        padding: 10px 14px;
        border-radius: 6px;
        width: 100%;
        text-align: left;
        box-sizing: border-box;
        line-height: 1.5;
    }

    /* Section 11: FAQ */
    .implant-faq-section {
        padding: 32px 16px;
        margin-bottom: 40px;
        border-radius: 20px;
        width: 100%;
    }

    .implant-faq-inner {
        width: 100%;
    }

    .implant-faq-title-wrap {
        gap: 12px;
        margin-bottom: 24px;
    }

    .implant-faq-title-line {
        height: 28px;
        width: 3px;
    }

    .implant-faq-title {
        font-size: 20px;
    }

    .implant-faq-list {
        width: 100%;
    }

    .implant-faq-item {
        padding: 16px 0;
    }

    .implant-faq-question-btn {
        padding: 0;
        align-items: flex-start;
    }

    .implant-faq-q-content {
        gap: 12px;
        align-items: flex-start;
    }

    .implant-faq-q-badge,
    .implant-faq-a-badge {
        font-size: 22px;
        width: 20px;
        line-height: 1.2;
        flex-shrink: 0;
    }

    .implant-faq-question-text {
        font-size: 15px;
        line-height: 1.5;
        text-align: left;
    }

    .implant-faq-toggle-icon {
        width: 32px;
        height: 32px;
        margin-top: 2px;
        flex-shrink: 0;
    }

    .implant-faq-answer-inner {
        padding: 0;
        padding-top: 12px;
        gap: 12px;
        align-items: flex-start;
    }

    .implant-faq-answer-text {
        font-size: 14px;
        line-height: 1.7;
        text-align: left;
    }

    /* Section 12: Consult */
    .implant-consult-section {
        padding: 32px 16px;
        border-radius: 20px;
        margin-bottom: 36px;
        width: 100%;
    }

    .implant-consult-flex {
        flex-direction: column;
        gap: 24px;
        width: 100%;
    }

    .implant-consult-text-col {
        width: 100%;
        max-width: 100%;
        padding-top: 0;
        gap: 16px;
    }

    .implant-consult-body {
        padding-left: 0;
        gap: 20px;
        width: 100%;
    }

    .implant-consult-desc {
        font-size: 14px;
        line-height: 1.7;
        text-align: left;
    }

    .implant-consult-img-col {
        width: 100%;
        max-width: 100%;
    }

    .implant-consult-img-wrap {
        width: 100%;
        max-width: 100%;
        height: auto;
        aspect-ratio: 600 / 400;
        max-height: 240px;
        border-radius: 14px;
        overflow: hidden;
    }

    .implant-consult-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .implant-line-consult-btn {
        width: 100%;
        max-width: 360px;
        margin: 0 auto;
        min-height: 52px;
        height: auto;
        padding: 12px 16px;
        border-radius: 30px;
        gap: 10px;
        box-sizing: border-box;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .implant-line-icon {
        width: 24px;
        height: 24px;
        flex-shrink: 0;
    }

    .implant-line-btn-text {
        font-size: 14px;
        line-height: 1.4;
        white-space: normal;
        text-align: center;
    }

    /* Headings: smaller title, leaf aligned to the first line */
    .implant-page-heading-text {
        font-size: 20px;
    }

    .implant-sub-fee-title {
        font-size: 18px;
    }

    .implant-page-heading--row-center,
    .implant-page-heading:has(> .implant-sub-fee-title) {
        align-items: flex-start;
    }

    .implant-page-heading--row-center > .implant-page-leaf-decor {
        margin-top: 5px;
    }

    .implant-page-heading:has(> .implant-sub-fee-title) > .implant-page-leaf-decor {
        margin-top: 3.6px;
    }
}