/* =========================================================
   IMPLANT WARRANTY
========================================================= */

.implant-warranty-page {
    background: #fff;
    color: #292e2b;
}

.implant-warranty-page .container {
    width: min(1120px, calc(100% - 40px));
    margin: 0 auto;
}


/* =========================================================
   COMMON
   lower-hero / h1 は common.css の指定を使用
========================================================= */

.implant-warranty-page .section-en {
    margin: 0 0 10px;
    color: #6f8a7e;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .22em;
}

.implant-warranty-page .section-head {
    margin-bottom: 45px;
}

.implant-warranty-page .section-head h2 {
    margin: 0;
    color: #242b27;
    font-size: 31px;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: .04em;
}

.implant-warranty-page .section-lead {
    max-width: 820px;
    margin: 20px 0 0;
    color: #59625d;
    font-size: 15px;
    line-height: 2;
}

.implant-warranty-page .section-head--light h2 {
    color: #fff;
}

.implant-warranty-page .section-head--light .section-en {
    color: #afc2b8;
}


/* =========================================================
   BREADCRUMB
========================================================= */

.implant-warranty-page .breadcrumb {
    border-bottom: 1px solid #e5e8e6;
    background: #fff;
}

.implant-warranty-page .breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 0;
    padding: 14px 0;
    list-style: none;
    color: #818985;
    font-size: 11px;
}

.implant-warranty-page .breadcrumb li:not(:last-child)::after {
    content: "/";
    margin-left: 7px;
    color: #b6bbb8;
}

.implant-warranty-page .breadcrumb a {
    color: #66716b;
    text-decoration: none;
}


/* =========================================================
   INTRO
========================================================= */

.warranty-intro {
    padding: 65px 0;
}

.warranty-intro__inner {
    /*max-width: 880px;*/
}

.warranty-intro h2 {
    margin: 0 0 35px;
    color: #222925;
    font-size: 36px;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: .03em;
}

.warranty-intro p:not(.section-en) {
    margin: 0 0 22px;
    color: #505955;
    font-size: 16px;
    line-height: 2.15;
}

.warranty-intro strong {
    color: #29473a;
    font-weight: 600;
}


/* =========================================================
   WARRANTY PERIOD
========================================================= */

.warranty-period {
    padding: 70px 0;
    background: #edf2ef;
}

.warranty-period__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-top: 1px solid #cbd6d0;
    border-left: 1px solid #cbd6d0;
}

.warranty-period__item {
    padding: 45px;
    border-right: 1px solid #cbd6d0;
    border-bottom: 1px solid #cbd6d0;
    background: #fff;
}

.warranty-period__en {
    margin: 0 0 12px;
    color: #84988d;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .2em;
}

.warranty-period__item h3 {
    margin: 0 0 28px;
    color: #2c3932;
    font-size: 20px;
    font-weight: 600;
}

.warranty-period__number {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 30px;
}

.warranty-period__number strong {
    color: #29473a;
    font-size: 78px;
    font-weight: 400;
    line-height: 1;
}

.warranty-period__number span {
    color: #40554a;
    font-size: 18px;
    font-weight: 600;
}

.warranty-period__item > p:last-child {
    margin: 0;
    color: #606964;
    font-size: 13px;
    line-height: 2;
}

.warranty-period__note {
    margin: 25px 0 0;
    color: #737d77;
    font-size: 11px;
    line-height: 1.9;
}


/* =========================================================
   WHY WARRANTY
========================================================= */

.why-warranty {
    padding: 70px 0;
}

.why-warranty__grid {
    display: grid;
    grid-template-columns: .75fr 1.25fr;
    gap: 90px;
}

.why-warranty__heading h2 {
    margin: 0;
    color: #29362f;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.65;
}

.why-warranty__content > p {
    margin: 0 0 18px;
    color: #59625d;
    font-size: 14px;
    line-height: 2;
}

.why-warranty__list {
    margin-top: 35px;
    border-top: 1px solid #d8dedb;
}

.why-warranty__list article {
    display: grid;
    grid-template-columns: 55px 1fr;
    gap: 18px;
    padding: 25px 0;
    border-bottom: 1px solid #d8dedb;
}

.why-warranty__list article > span {
    color: #91a298;
    font-size: 19px;
}

.why-warranty__list h3 {
    margin: 0 0 8px;
    color: #303d36;
    font-size: 16px;
    font-weight: 600;
}

.why-warranty__list p {
    margin: 0;
    color: #606864;
    font-size: 13px;
    line-height: 1.95;
}


/* =========================================================
   STRUCTURE
========================================================= */

.implant-structure {
    padding: 70px 0;
    background: #f5f3ef;
}

.implant-structure__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid #d7d5ce;
    border-left: 1px solid #d7d5ce;
}

.implant-structure__grid article {
    min-height: 310px;
    padding: 32px;
    border-right: 1px solid #d7d5ce;
    border-bottom: 1px solid #d7d5ce;
    background: rgba(255, 255, 255, .48);
}

.implant-structure__number {
    display: block;
    margin-bottom: 30px;
    color: #91a298;
    font-size: 21px;
}

.implant-structure__en {
    margin: 0 0 8px;
    color: #81958a;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .18em;
}

.implant-structure h3 {
    margin: 0 0 17px;
    color: #2c3932;
    font-size: 18px;
    font-weight: 600;
}

.implant-structure article > p:last-child {
    margin: 0;
    color: #606864;
    font-size: 13px;
    line-height: 2;
}


/* =========================================================
   CONDITIONS
========================================================= */

.warranty-conditions {
    padding: 70px 0;
}

.warranty-conditions__grid {
    display: grid;
    grid-template-columns: .75fr 1.25fr;
    gap: 90px;
}

.warranty-conditions__grid > div:first-child h2 {
    margin: 0;
    color: #29362f;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.65;
}

.warranty-conditions__content > p {
    margin: 0 0 18px;
    color: #59625d;
    font-size: 14px;
    line-height: 2;
}

.condition-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 35px;
    border-top: 1px solid #d8dedb;
    border-left: 1px solid #d8dedb;
}

.condition-list > div {
    min-height: 235px;
    padding: 25px;
    border-right: 1px solid #d8dedb;
    border-bottom: 1px solid #d8dedb;
}

.condition-list span {
    display: block;
    margin-bottom: 20px;
    color: #91a298;
    font-size: 18px;
}

.condition-list h3 {
    margin: 0 0 12px;
    color: #303d36;
    font-size: 15px;
}

.condition-list p {
    margin: 0;
    color: #626a66;
    font-size: 12px;
    line-height: 1.95;
}


/* =========================================================
   MAINTENANCE
========================================================= */

.warranty-maintenance {
    padding: 70px 0;
    background: #edf2ef;
}

.warranty-maintenance__grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 90px;
}

.warranty-maintenance__heading h2 {
    margin: 0;
    color: #29362f;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.65;
}

.warranty-maintenance__content > p {
    margin: 0 0 18px;
    color: #59625d;
    font-size: 14px;
    line-height: 2;
}

.warranty-maintenance__content ul {
    margin: 30px 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #cbd6d0;
}

.warranty-maintenance__content li {
    position: relative;
    padding: 14px 0 14px 25px;
    border-bottom: 1px solid #cbd6d0;
    color: #526058;
    font-size: 13px;
}

.warranty-maintenance__content li::before {
    content: "";
    position: absolute;
    top: 19px;
    left: 2px;
    width: 7px;
    height: 7px;
    border: 1px solid #6d877a;
}

.warranty-maintenance__link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 30px;
    padding: 20px 22px;
    border: 1px solid #afc0b7;
    color: #30483b;
    text-decoration: none;
    transition: .25s ease;
}

.warranty-maintenance__link:hover {
    background: #fff;
}

.warranty-maintenance__link span {
    font-size: 13px;
    font-weight: 600;
}

.warranty-maintenance__link strong {
    font-size: 18px;
    font-weight: 400;
}


/* =========================================================
   EXCLUSION
========================================================= */

.warranty-exclusion {
    padding: 70px 0;
}

.warranty-exclusion__box {
    max-width: 900px;
    padding: 35px 40px;
    background: #f5f3ef;
}

.warranty-exclusion__box ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.warranty-exclusion__box li {
    position: relative;
    padding: 15px 0 15px 28px;
    border-bottom: 1px solid #dcd8d0;
    color: #555e59;
    font-size: 13px;
    line-height: 1.8;
}

.warranty-exclusion__box li:last-child {
    border-bottom: 0;
}

.warranty-exclusion__box li::before {
    content: "";
    position: absolute;
    top: 21px;
    left: 2px;
    width: 8px;
    height: 8px;
    border: 1px solid #88775c;
}

.warranty-exclusion__note {
    max-width: 900px;
    margin: 20px 0 0;
    color: #7a817d;
    font-size: 11px;
    line-height: 1.9;
}


/* =========================================================
   TROUBLE
========================================================= */

.implant-trouble {
    padding: 70px 0;
    background: #f5f3ef;
}

.implant-trouble__grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 90px;
}

.implant-trouble__grid > div:first-child h2 {
    margin: 0;
    color: #29362f;
    font-size: 29px;
    font-weight: 500;
    line-height: 1.65;
}

.implant-trouble__grid > div:last-child > p {
    margin: 0 0 18px;
    color: #59625d;
    font-size: 14px;
    line-height: 2;
}

.implant-trouble__signs {
    margin-top: 30px;
    padding: 28px 30px;
    background: #fff;
}

.implant-trouble__signs > span {
    display: block;
    margin-bottom: 17px;
    color: #30483b;
    font-size: 14px;
    font-weight: 600;
}

.implant-trouble__signs ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.implant-trouble__signs li {
    position: relative;
    padding: 10px 0 10px 23px;
    border-bottom: 1px solid #e1e4e2;
    color: #5c6560;
    font-size: 13px;
}

.implant-trouble__signs li::before {
    content: "";
    position: absolute;
    top: 15px;
    left: 2px;
    width: 7px;
    height: 7px;
    border: 1px solid #6e877b;
}


/* =========================================================
   LONG TERM
========================================================= */

.warranty-longterm {
    padding: 70px 0;
    background: #263d33;
}

.warranty-longterm__content {
    max-width: 860px;
}

.warranty-longterm__content p {
    margin: 0 0 18px;
    color: rgba(255, 255, 255, .72);
    font-size: 14px;
    line-height: 2;
}

.warranty-longterm__content strong {
    display: block;
    margin-top: 30px;
    color: #fff;
    font-size: 19px;
    font-weight: 500;
    line-height: 1.9;
}


/* =========================================================
   FAQ
========================================================= */

.warranty-faq {
    padding: 70px 0;
}

.faq-list {
    max-width: 930px;
}

.faq-item {
    border-top: 1px solid #d7ddd9;
}

.faq-item:last-child {
    border-bottom: 1px solid #d7ddd9;
}

.faq-item h3 {
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 15px;
    margin: 0;
    padding: 26px 0 18px;
    color: #29342e;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.75;
}

.faq-item h3 span {
    color: #557565;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
}

.faq-answer {
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 15px;
    padding: 0 0 30px;
}

.faq-answer > span {
    color: #9c7b48;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
}

.faq-answer p {
    margin: 0;
    color: #59615d;
    font-size: 14px;
    line-height: 2;
}


/* =========================================================
   RELATED
========================================================= */

.warranty-related {
    padding: 70px 0;
    background: #f5f3ef;
}

.related-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid #d7d5ce;
    border-left: 1px solid #d7d5ce;
}

.related-grid a {
    position: relative;
    min-height: 255px;
    padding: 28px;
    border-right: 1px solid #d7d5ce;
    border-bottom: 1px solid #d7d5ce;
    color: inherit;
    text-decoration: none;
    transition: background .25s ease;
}

.related-grid a:hover {
    background: #fff;
}

.related-grid a > span {
    display: block;
    margin-bottom: 22px;
    color: #809389;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .18em;
}

.related-grid h3 {
    margin: 0 0 15px;
    color: #2c3932;
    font-size: 17px;
}

.related-grid p {
    margin: 0;
    padding-right: 20px;
    color: #626a66;
    font-size: 12px;
    line-height: 1.9;
}

.related-grid strong {
    position: absolute;
    right: 25px;
    bottom: 23px;
    color: #587565;
    font-size: 19px;
    font-weight: 400;
}


/* =========================================================
   CONSULTATION
========================================================= */

.warranty-consultation {
    padding: 65px 0;
    background: #edf2ef;
}

.warranty-consultation__grid {
    display: grid;
    grid-template-columns: 1fr 580px;
    gap: 60px;
    align-items: center;
}

.warranty-consultation__content h2 {
    margin: 0 0 25px;
    color: #26342d;
    font-size: 29px;
    font-weight: 500;
    line-height: 1.6;
}

.warranty-consultation__content > p:not(.section-en) {
    margin: 0 0 15px;
    color: #59625d;
    font-size: 14px;
    line-height: 2;
}

.consultation-info {
    margin-top: 30px;
    padding: 22px 25px;
    border-left: 3px solid #527363;
    background: #fff;
}

.consultation-info > span {
    display: block;
    margin-bottom: 5px;
    color: #66746d;
    font-size: 11px;
}

.consultation-info strong {
    display: block;
    margin-bottom: 4px;
    color: #29473a;
    font-size: 27px;
    font-weight: 500;
}

.consultation-info p {
    margin: 0;
    color: #7a837e;
    font-size: 11px;
}

.warranty-consultation__reservation iframe {
    display: block;
    width: 100%;
    height: 210px;
    border: 0;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 767px) {

    .implant-warranty-page .container {
        width: calc(100% - 36px);
    }

    .implant-warranty-page .section-head {
        margin-bottom: 30px;
    }

    .implant-warranty-page .section-head h2 {
        font-size: 24px;
    }

    .implant-warranty-page .section-lead {
        font-size: 14px;
    }


    /* INTRO */

    .warranty-intro {
        padding: 40px 0;
    }

    .warranty-intro h2 {
        margin-bottom: 25px;
        font-size: 26px;
    }

    .warranty-intro p:not(.section-en) {
        font-size: 14px;
        line-height: 2;
    }


    /* PERIOD */

    .warranty-period {
        padding: 50px 0;
    }

    .warranty-period__grid {
        grid-template-columns: 1fr;
    }

    .warranty-period__item {
        padding: 30px 23px;
    }

    .warranty-period__number strong {
        font-size: 60px;
    }


    /* WHY */

    .why-warranty {
        padding: 50px 0;
    }

    .why-warranty__grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .why-warranty__heading h2 {
        font-size: 24px;
    }

    .why-warranty__list article {
        grid-template-columns: 40px 1fr;
        gap: 10px;
    }


    /* STRUCTURE */

    .implant-structure {
        padding: 50px 0;
    }

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

    .implant-structure__grid article {
        min-height: 0;
        padding: 27px 22px;
    }


    /* CONDITIONS */

    .warranty-conditions {
        padding: 50px 0;
    }

    .warranty-conditions__grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .warranty-conditions__grid > div:first-child h2 {
        font-size: 24px;
    }

    .condition-list {
        grid-template-columns: 1fr;
    }

    .condition-list > div {
        min-height: 0;
    }


    /* MAINTENANCE */

    .warranty-maintenance {
        padding: 50px 0;
    }

    .warranty-maintenance__grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .warranty-maintenance__heading h2 {
        font-size: 24px;
    }


    /* EXCLUSION */

    .warranty-exclusion {
        padding: 50px 0;
    }

    .warranty-exclusion__box {
        padding: 25px 20px;
    }


    /* TROUBLE */

    .implant-trouble {
        padding: 50px 0;
    }

    .implant-trouble__grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .implant-trouble__grid > div:first-child h2 {
        font-size: 24px;
    }

    .implant-trouble__signs {
        padding: 23px 20px;
    }


    /* LONG TERM */

    .warranty-longterm {
        padding: 50px 0;
    }

    .warranty-longterm__content strong {
        font-size: 17px;
    }


    /* FAQ */

    .warranty-faq {
        padding: 50px 0;
    }

    .faq-item h3,
    .faq-answer {
        grid-template-columns: 28px 1fr;
        gap: 10px;
    }


    /* RELATED */

    .warranty-related {
        padding: 50px 0;
    }

    .related-grid {
        grid-template-columns: 1fr;
    }

    .related-grid a {
        min-height: 210px;
        padding: 25px 20px;
    }


    /* CONSULTATION */

    .warranty-consultation {
        padding: 45px 0;
    }

    .warranty-consultation__grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .warranty-consultation__content h2 {
        font-size: 24px;
    }

    .warranty-consultation__reservation iframe {
        height: 240px;
    }

}