.ranking {
    p {
        font-size: 14px;

        @media (width >=640px) {
            font-size: 16px;
        }
    }

    ._pc-only {
        display: none;

        @media (width >=640px) {
            display: unset;
        }
    }

    ._sp-only {
        @media (width >=640px) {
            display: none;
        }
    }

    img {
        width: 100%;
    }

    .cta-section.is-pd {

        padding: 60px 0;

        @media (width >=640px) {
            padding: 120px 0;
        }
    }

    .cta-section .case-intro {

        margin: 0;
    }

    .Snsber {
        margin-top: 0;
    }

    .sec-intro {
        padding: 40px 0 0;

        @media (width >=640px) {
            padding: 80px 0 0;
        }
    }

    .sec-intro__container-wrap {
        display: flex;
        flex-direction: column;
        gap: 40px 70px;

        @media (width >=640px) {
            flex-direction: row;
        }
    }

    .sec-intro__container01 {
        width: 100%;

        @media (width >=640px) {
            width: 53.07%;
        }
    }

    .sec-intro__container02 {
        width: 100%;

        @media (width >=640px) {
            width: calc(100% - 53.07% - 70px);
        }
    }

    .sec-intro__title {
        display: inline-block;
        margin-bottom: 15px;
        font-weight: bold;
        line-height: 1.3;
        text-align: center;
    }

    .sec-intro__sub-title {
        display: inline-block;
        padding: 0 40px;
        font-size: 18px;
        color: #BA5D00;
        position: relative;

        @media (width >=640px) {
            font-size: 24px;
        }
    }

    .sec-intro__sub-title::before,
    .sec-intro__sub-title::after {
        content: '';
        position: absolute;
        bottom: 0.2em;
        width: 2px;
        height: 1em;
        background: #BA5D00;
        transform-origin: bottom center;
    }

    .sec-intro__sub-title::before {
        left: 17px;
        transform: rotate(-35deg);
    }

    .sec-intro__sub-title::after {
        right: 17px;
        transform: rotate(35deg);
    }

    .sec-intro__main-title {
        display: block;
        font-size: 28px;
        text-align: left;

        @media (width >=640px) {
            font-size: 40px;
        }

        .fz-LL {
            font-size: 42px;

            @media (width >=640px) {
                font-size: 56px;
            }
        }

        .fz-L {
            font-size: 40px;

            @media (width >=640px) {
                font-size: 50px;
            }
        }

        .fz-S {
            font-size: 24px;

            @media (width >=640px) {
                font-size: 32px;
            }
        }
    }

    .sec-intro__catch {
        margin-bottom: 5px;
        font-size: 16px;
        font-weight: bold;
        line-height: 2;

        @media (width >=640px) {
            font-size: 18px;
        }
    }

    .sec-intro__lead {
        margin-bottom: 20px;
        line-height: 2;

        @media (width >=640px) {
            margin-bottom: 40px;
        }
    }

    .sec-intro__image02 {
        margin-top: 10px;
    }

    .ranking-section__wrap {
        padding: 60px 0;

        @media (width >=640px) {
            padding: 120px 0;
        }
    }

    .ranking-section__wrap>section:not(:last-child) {
        margin-bottom: 60px;

        @media (width >=640px) {
            margin-bottom: 120px;
        }
    }

    .ranking-section__title {
        margin-bottom: 32px;
        padding-bottom: 15px;
        border-bottom: 1px solid #222;
        font-size: 24px;
        font-weight: bold;
        line-height: 1.2;

        @media (width >=640px) {
            font-size: 32px;
        }
    }

    .ranking-section__title.is-first>span:first-child,
    .ranking-section__title.is-second>span:first-child,
    .ranking-section__title.is-third>span:first-child {
        position: relative;
        padding-left: 36px;

        @media (width >=640px) {
            padding-left: 64px;
        }
    }

    .ranking-section__title.is-first>span:first-child::before,
    .ranking-section__title.is-second>span:first-child::before,
    .ranking-section__title.is-third>span:first-child::before {
        content: '';
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 32px;
        height: 24px;
        background: url(../img/ranking/ranking_deco_img01.png) no-repeat center / contain;

        @media (width >=640px) {
            top: calc(50% - 2px);
            width: 56px;
            height: 44px;
        }
    }

    .ranking-section__title.is-second>span:first-child::before {
        background-image: url(../img/ranking/ranking_deco_img02.png);
    }

    .ranking-section__title.is-third>span:first-child::before {
        background-image: url(../img/ranking/ranking_deco_img03.png);
    }

    .ranking-section__title span:nth-child(2) {
        margin-right: 1em;
    }

    .ranking-section__title .is-small {
        font-size: 20px;

        @media (width >=640px) {
            font-size: 28px;
        }
    }

    .ranking-section__example-list {
        margin-bottom: 40px;
    }

    .ranking-section__example-list>li {
        padding: 15px 20px;

        @media (width >=640px) {
            padding: 24px 48px;
        }
    }

    .ranking-section__example-list>li:not(.is-undot) {
        display: flex;
        align-items: center;
        flex-direction: column;
        gap: 10px 60px;
        padding: 15px 20px 15px 40px;
        position: relative;

        @media (width >=640px) {
            flex-direction: row;
            padding: 24px 50px 24px 70px;
        }
    }

    .ranking-section__example-list>li:not(.is-undot)::before {
        content: '';
        position: absolute;
        left: 15px;
        top: 50%;
        transform: translateY(-50%);
        width: 8px;
        height: 8px;
        background: #222;
        border-radius: 4px;

        @media (width >=640px) {
            left: 50px;
        }
    }

    .ranking-section__example-list>li:nth-child(odd) {
        background: #F2F2F2;
    }

    .ranking-section__example-list>li p {
        font-weight: bold;
        line-height: 1.3;

    }

    .ranking-section__example-list>li p:nth-child(1) {
        width: 100%;

        @media (width >=640px) {
            width: 38%;
        }
    }

    .ranking-section__example-list>li p:nth-child(2) {
        width: 100%;

        @media (width >=640px) {
            width: 9%;
        }
    }

    .ranking-section__example-list>li p:nth-child(3) {
        width: 100%;

        @media (width >=640px) {
            width: calc(100% - 38% - 9% - 120px);
        }
    }

    .ranking-section__point:not(:last-child) {
        margin-bottom: 30px;

        @media (width >=640px) {
            margin-bottom: 60px;
        }
    }

    .ranking-section__point-title {
        display: flex;
        align-items: center;
        margin-bottom: 15px;
        padding-left: 60px;
        min-height: 48px;
        font-weight: bold;
        position: relative;
        line-height: 2;
        font-size: 14px;

        @media (width >=640px) {
            margin-bottom: 24px;
            padding-left: 80px;
            min-height: 64px;
            font-size: inherit;
        }
    }

    .ranking-section__point-title.is-mb0 {
        margin-bottom: 0;
    }

    .ranking-section__point-title::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 48px;
        height: 48px;
        background: url(../img/ranking/ranking_point_badge_img01.svg) no-repeat center / contain;

        @media (width >=640px) {
            width: 64px;
            height: 64px;
        }
    }

    .ranking-section__point-text01 {
        margin-top: 8px;
        line-height: 1.7;

        @media (width >=640px) {
            margin-top: 16px;
        }
    }

    .ranking-section__point__container {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 15px;
        flex-direction: column;

        @media (width >=640px) {
            flex-direction: row;
            gap: 50px;
        }
    }

    .ranking-section__point__container h3 {
        width: 100%;

        @media (width >=640px) {
            width: calc(57% - 50px);
        }
    }

    .ranking-section__point__container img {
        width: 100%;

        @media (width >=640px) {
            width: 43%;
        }
    }

    .ranking-section__card01 {
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
        flex-direction: column;

        @media (width >=640px) {
            flex-direction: row;
            gap: 32px;
        }
    }

    .ranking-section__card01.is-mtM {
        margin-top: 16px;

        @media (width >=640px) {
            margin-top: 32px;
        }
    }

    .ranking-section__card01>li {
        width: 100%;

        @media (width >=640px) {
            width: calc(33.33% - 21.33px);
        }
    }

    .ranking-section__card01.is-col-2>li {
        width: 100%;

        @media (width >=640px) {
            width: calc(50% - 16px);
        }
    }

    .ranking-section__card01.is-col-4>li {
        width: 100%;

        @media (width >=640px) {
            width: calc(25% - 24px);
        }
    }

    .ranking-section__card01__image-cnt:not(:last-child) {
        margin-bottom: 8px;

        @media (width >=640px) {
            margin-bottom: 16px;
        }
    }

    .ranking-section__card01__text-cnt h4 {
        margin-bottom: 6px;
        line-height: 1.3;
        font-size: 16px;
        font-weight: bold;

        @media (width >=640px) {
            margin-bottom: 10px;
            font-size: 20px;
        }
    }

    .ranking-section__card01__text-cnt p {
        line-height: 1.7;
    }

    .ranking-section__card02 {
        padding: 16px;
        background: #f2f2f2;

        @media (width >=640px) {
            padding: 32px;
        }
    }

    .ranking-section__card02__wrap {
        display: flex;
        flex-wrap: wrap;
        gap: 0 16px;
        flex-direction: column;

        @media (width >=640px) {
            flex-direction: row;
            gap: 0 32px;
        }

        .ranking-section__card02 {
            margin-top: 20px;
            width: 100%;

            @media (width >=640px) {
                margin-top: 24px;
                width: calc(50% - 16px);
            }
        }
    }

    .ranking-section__card02__wrap.is-single {
        display: block;

        .ranking-section__card02 {
            margin-top: 24px;
            width: 100%;
        }
    }

    .ranking-section__card02__title {
        position: relative;
        z-index: 1;
        margin-bottom: 12px;
        padding: 5px 0;
        font-size: 16px;
        font-weight: bold;
        color: #fff;
        line-height: 1.5;

        @media (width >=640px) {
            margin-bottom: 16px;
            padding: 7px 0;
            font-size: 18px;
        }
    }

    .ranking-section__card02__text {
        margin-bottom: 12px;
        line-height: 2;

        @media (width >=640px) {
            margin-bottom: 24px;
        }
    }

    .ranking-section__card02__title::before {
        content: '';
        position: absolute;
        left: -16px;
        top: 0;
        z-index: -1;
        width: calc(100% + 16px);
        height: 100%;
        background: #BA5D00;

        @media (width >=640px) {
            left: -32px;
            width: calc(100% + 32px);
        }
    }

    .ranking-section__card02__image-box {
        display: flex;
        justify-content: center;
        gap: 12px;
        flex-direction: column;

        @media (width >=640px) {
            flex-direction: row;
            gap: 24px;
        }
    }

    .ranking-section__card02__image-box img {
        height: auto;
        width: 100%;

        @media (width >=640px) {
            height: 270px;
            width: auto;
        }
    }

    .ranking-section__content01 {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-direction: column;

        @media (width >=640px) {
            flex-direction: row;
            gap: 32px;
        }
    }

    .ranking-section__content01__image-cnt {
        width: 100%;

        @media (width >=640px) {
            width: 64.75%;
        }
    }

    .ranking-section__content01__text-cnt {
        width: 100%;

        @media (width >=640px) {
            width: calc(35.25% - 32px);
        }
    }

    .ranking-section__content01__text-cnt h4 {
        margin-bottom: 6px;
        line-height: 1.3;
        font-size: 16px;
        font-weight: bold;

        @media (width >=640px) {
            font-size: 20px;
        }
    }

    .ranking-section__content01__text-cnt p {
        line-height: 1.7;
    }

    .ranking-section__content02 {
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
        margin-top: 16px;
        flex-direction: column;

        @media (width >=640px) {
            flex-direction: row;
            gap: 32px;
            margin-top: 32px;
        }
    }

    .ranking-section__content02__item:first-child {
        width: 100%;

        @media (width >=640px) {
            width: 64.75%;
        }

    }

    .ranking-section__content02__item:last-child {
        width: 100%;

        @media (width >=640px) {
            width: calc(35.25% - 32px);
        }

    }

    .ranking-section__content02__image-box {
        display: flex;
        flex-direction: column;

        @media (width >=640px) {
            flex-direction: row;
        }
    }

    .ranking-section__content02__image-box img {
        display: block;
        width: 100%;

        @media (width >=640px) {
            width: 50%;
        }
    }

    .ranking-section__content02__item p {
        margin-top: 10px;
        line-height: 1.7;
    }

    .ranking-section__graph-cnt:not(:last-child) {
        margin-bottom: 24px;

        @media (width >=640px) {
            margin-bottom: 48px;
        }
    }

    .ranking-section__graph-cnt__title {
        margin-bottom: 16px;
        padding-left: 16px;
        font-size: 20px;
        font-weight: bold;
        line-height: 1.2;
        position: relative;
        z-index: 1;

        @media (width >=640px) {
            margin-bottom: 24px;
            padding-left: 24px;
            font-size: 28px;
        }
    }

    .ranking-section__graph-cnt__title::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 4px;
        height: 100%;
        background: #BA5D00;
    }

    .ranking-section__graph-cnt__lead {
        line-height: 2;
        font-size: 12px;

        @media (width >=640px) {
            font-size: 16px;
        }
    }

    .ranking-graph {
        display: block;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 / 1;
        margin-top: -12vw !important;
        margin-right: auto !important;
        margin-left: auto !important;

        @media (width >=640px) {
            width: min(100%, 800px) !important;
            aspect-ratio: 2 / 1;
            margin: -30px auto 0 !important;
        }
    }

    .ranking-section__note {
        position: relative;
        padding-left: 1.2em;
        font-size: 12px;
        margin-top: 8px;
        line-height: 1.7;
    }

    .ranking-section__note::before {
        content: '※';
        position: absolute;
        left: 0;
        top: 0;
    }

    .renov-section {
        padding: 60px 0;
        background: #F9F9F9;

        @media (width >=640px) {
            padding: 120px 0;
        }
    }

    .renov-section__title {
        margin-bottom: 30px;
        line-height: 1.3;
        font-weight: bold;
        font-size: 23px;
        text-align: center;

        @media (width >=640px) {
            margin-bottom: 50px;
            font-size: 32px;
        }
    }

    .renov-section__card {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 16px;
        flex-direction: column;

        @media (width >=640px) {
            flex-direction: row;
            gap: 26px;
        }
    }

    .renov-section__card>li {
        width: 100%;

        @media (width >=640px) {
            width: calc(100% / 3 - 26px * 2 / 3);
        }
    }

    .renov-section__card>li>a {
        display: flex;
        flex-direction: column;
        height: 100%;
        color: #222222;
        transition: all 0.3s ease;
        box-shadow: 0px 0px 16px rgba(34, 34, 34, 0.15);
    }

    .renov-section__card>li>a:hover {
        opacity: 0.8;
    }

    .renov-section__card__image {
        position: relative;
        z-index: 1;
    }

    .renov-section__card__image .is-tag {
        display: inline-block;
        position: absolute;
        left: 0;
        bottom: 0;
        transform: translateY(50%);
        z-index: 1;
        padding: 6px 18px;
        color: #fff;
        font-weight: bold;
        background: #BA5D00;
        font-size: 14px;

        @media (width >=640px) {
            padding: 8px 24px;
            font-size: inherit;
        }
    }

    .renov-section__card__body {
        flex-grow: 1;
        position: relative;
        z-index: 1;
        padding: 20px 20px 60px;

        @media (width >=640px) {
            padding: 24px 16px 76px;
        }
    }

    .renov-section__card__title {
        margin-bottom: 6px;
        line-height: 1.7;
        font-weight: bold;
        font-size: 16px;

        @media (width >=640px) {
            font-size: 17.5px;
        }
    }

    .renov-section__card__text {
        line-height: 1.7;
    }

    .renov-section__card__next {
        position: absolute;
        bottom: 20px;
        right: 20px;
        padding-right: 36px;
        font-weight: bold;

        @media (width >=640px) {
            bottom: 24px;
            right: 24px;
            padding-right: 48px;
        }
    }

    .renov-section__card__next::before {
        content: '';
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        width: 30px;
        height: 10px;
        background-image: url('../img/ranking/ranking_arrow_icon01.svg');
        background-size: contain;
        background-repeat: no-repeat;

        @media (width >=640px) {
            width: 40px;
            height: 10px;
        }
    }
}