.maintenance .modal-care {
    --modal-care: var(--blue-l);
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding: min(2em, 4vw) 0;
    font-weight: 600;
}

.maintenance .contents.co-green.modal-care {
    --modal-care: var(--ygreen-l);
    background-color: transparent;
}

.maintenance .modal-care-hd {
    text-align: center;
    margin-bottom: min(4em, 8vw);
}

.maintenance .modal-care-num {
    font-size: min(4em, 10vw);
    line-height: 1;
    color: var(--co-color);
    font-weight: 400;
    margin: 0 0 .25em;
}

.maintenance .contents .modal-care-title {
    width: fit-content;
    max-width: 100%;
    font-size: min(2em, 6vw);
    line-height: 1.35;
    letter-spacing: .025em;
    margin: 0 auto min(1.5em, 8vw);
    padding-bottom: .5em;
}

.maintenance .contents .modal-care-title::after {
    width: 100%;
    min-width: min(13em, 100%);
    border-bottom: .28em solid var(--modal-care);
}

.maintenance .modal-care-lead {
    font-size: min(1.2em, 3.9vw);
    line-height: 1.8;
    letter-spacing: 0;
    text-align: center;
    margin: 0;
}

@media screen and (max-width:767px) {
    .maintenance .modal-care-lead {
        text-align: justify;
        line-height: 1.8;
    }
}

.maintenance .modal-care-section {
    display: block;
    width: fit-content;
    margin: 0 auto min(4.5em, 8vw);
}

.maintenance .modal-care-section.necessary {
    display: block;
    width: fit-content;
    min-width: 60%;
    margin: 0 auto min(4.5em, 8vw);
    background-color: var(--gray-lb2);
    padding: 1.5em min(2em, 3vw);
    border-radius: 6px;
}

@media screen and (max-width:768px) {
    .maintenance .modal-care-section.necessary {
        width: 100% !important;
    }
}

.maintenance .modal-care-subsection {
    margin: 0 auto min(5em, 9vw);
}

.maintenance .modal-care-subsection:last-child {
    margin-bottom: 0;
}

.maintenance .modal-care-subtitle {
    margin: 0 0 min(1em, 4.5vw);
    padding: 0 0 .25em 1.25em;
    font-size: min(1.35em, 4.25vw);
    line-height: 1.5;
    font-weight: 600;
    border-bottom: 1px solid;
    position: relative;
}

.maintenance .modal-care-subtitle::before {
    content: "";
    display: block;
    width: .5em;
    height: .5em;
    border: .25em solid var(--co-color);
    border-radius: 100%;
    position: absolute;
    left: 0;
    top: .5lh;
    transform: translate(0, -50%);
}

.maintenance .modal-care-block-lead {
    font-size: min(1.1em, 4vw);
    line-height: 1.8;
    text-align: center;
    /* letter-spacing: .01em; */
    margin: 0 auto min(2.5em, 6vw);
}

.maintenance .modal-care-block-lead.text-left {
    text-align: left;
}

@media screen and (max-width:767px) {
    .maintenance .modal-care-block-lead {
        text-align: justify;
        line-height: 1.6;
        letter-spacing: .0;
    }
}

.maintenance .modal-care-block-dot {
    padding-left: 1.75em;
    position: relative;
}

.maintenance .modal-care-block-dot .modal-care-block-dot-icon {
    width: .8em;
    height: .8em;
    border-radius: 100%;
    line-height: 1;
    position: absolute;
    left: .25em;
    top: .6lh;
    background-color: var(--point-border-color);
    z-index: 1;
}

.maintenance .contents .modal-care-dash-title {
    font-size: min(1.5em, 4.7vw);
    margin-bottom: 1em;
    gap: .5em 2em;

}

.maintenance .modal-care-tool-list {
    list-style: none;
    margin: 0;
    padding: 0;
    gap: min(.5em, 2vw) min(.5em, 2vw);
}

.maintenance .modal-care-tool-list li {
    list-style: none;
    font-size: min(1.05em, 3.3vw);
    line-height: 1.6;
    letter-spacing: 0;
    margin: 0;
    padding: .2em .5em .2em 1.25em;
    position: relative;
    border-radius: 3px;
    border: 1px solid #ccc;
    background-color: #f9f9f9;
}

.maintenance .modal-care-tool-list li::before {
    content: "";
    display: block;
    width: .5em;
    height: .5em;
    border-radius: 100%;
    background-color: var(--co-color);
    position: absolute;
    left: .5em;
    top: .7em;
}

.maintenance .modal-care-supplement-hd {
    width: fit-content;
    margin: 1.25em auto 1em;
    padding: .5em 2.5em;
    color: var(--co-color);
    font-size: min(1em, 3.3vw);
    text-align: center;
    border: solid 1px;
    border-radius: 2em;
    text-box: trim-both cap alphabetic;

}

.maintenance .point-wrp.modal-care-step {
    min-height: 9em;
}

.maintenance .modal-care-step-list {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: modal-care-step;
}

.maintenance .modal-care-step-item {
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0 0 2em;
}

@media screen and (max-width:767px) {
    .maintenance .modal-care-step-item {
        min-height: 1em;
    }

    .maintenance .modal-care-step-item.spWrap {
        flex-wrap: wrap;
    }
}

.maintenance .modal-care-step-item.w100 {
    display: block;
    min-height: 1em;
    margin: 0;
    padding: 0 0 min(1.5em, 3vw);
}

.maintenance .modal-care-step-item:last-child {
    padding-bottom: 0;
}

.maintenance .modal-care-step-img {
    width: 50%;
    margin: 0;
    order: 1;
    position: relative;
}

/* .maintenance .modal-care-step-img.smaller {
    width: 50%;
    max-width: 140px;
}

@media screen and (max-width:767px) {
    .maintenance .modal-care-step-img.smaller {
        max-width: 115px;
    }
} */

.maintenance .modal-care-step-img .absolute {
    position: absolute;
}

@media screen and (max-width:767px) {
    .maintenance .modal-care-step-img.wide {
        width: min(250px, 50%);
        margin: .5em auto 1em;
    }
}

/* .maintenance .modal-care-step-item.modal-care-step-item-2columns .modal-care-step-img {
    max-width: 204px;
}

.maintenance .modal-care-step-item.modal-care-step-item-2columns .modal-care-step-body {
    padding-left: 0;
    padding-right: min(4em, 5vw);
    width: 100%;
}

.maintenance .modal-care-step-item.modal-care-step-item-2columns .modal-care-step-body p+p {
    margin-top: 1em;
} */

/* .maintenance .modal-care-step-img.dummy {
    position: relative;
}

.maintenance .modal-care-step-img.dummy::after {
    content: 'DUMMY';
    display: block;
    width: fit-content;
    background-color: #fff;
    color: #c00;
    border: 2px solid;
    padding: .25em .5em;
    font-size: min(.8em, 3vw);
    line-height: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
} */

.maintenance .modal-care-step-img.noimg {
    display: none;
}

.maintenance .modal-care-step-img img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: .6em;
}

.maintenance .modal-care-step-body {
    width: 100%;
    position: relative;
    padding: 0 2em 0 3em;
    order: 0;
}


@media screen and (max-width:767px) {
    .maintenance .modal-care-step-body {
        padding: 0 1em 0 0;
    }
}

.maintenance .modal-care-step-item:not(:last-child) .modal-care-step-body::after {
    content: "";
    display: block;
    width: 0;
    height: calc(100% - 1.3em);
    border-left: 2px dotted #222;
    position: absolute;
    left: 1.25em;
    top: 2.6em;
}

@media screen and (max-width:767px) {
    .maintenance .modal-care-step-item:not(:last-child) .modal-care-step-body::after {
        display: none;
    }

}

.maintenance .modal-care-step-item:not(:last-child) .modal-care-step-body.step-line-top {
    padding-top: 0;
}

.maintenance .modal-care-step-item:not(:last-child) .modal-care-step-body.step-line-top::after {
    height: calc(100% + 1.8em);
    top: -0.6em;
}


.maintenance .modal-care-step-item .modal-care-step-body.modal-care-step-dot::after {
    content: unset;
}


.maintenance .modal-care-step-title {
    display: block;
    font-size: min(1.25em, 4.25vw);
    line-height: 1.6;
    letter-spacing: 0;
    color: var(--co-color);
    font-weight: 600;
    margin: 0 0 .5em;
    position: relative;
}

@media screen and (max-width:767px) {
    .maintenance .modal-care-step-title {
        margin-left: 1.7em;
    }

    .maintenance .modal-care-step-title.mbtm-0+p {
        padding-left: 1.7em;
    }
}

.maintenance .modal-care-step-num {
    display: grid;
    place-items: center;
    width: 1.45em;
    height: 1.45em;
    border: 2px solid #222;
    border-radius: 100%;
    color: #222;
    font-size: .9em;
    line-height: 1;
    position: absolute;
    left: -2.25em;
    top: .2em;
    background-color: #fff;
    z-index: 1;
}

@media screen and (max-width:767px) {
    .maintenance .modal-care-step-num {
        left: -2.2em;
    }
}

.maintenance .modal-care-step-item .modal-care-step-body.modal-care-step-dot .modal-care-step-num {
    width: .7em;
    height: .7em;
    border: none;
    font-size: unset;
    left: -1.5em;
    top: .45em;
    background-color: var(--point-border-color);
}

.maintenance .modal-care-step-body p {
    font-size: min(1.1em, 4vw);
    line-height: 1.6;
    letter-spacing: 0;
    margin: 0;
    text-align: justify;
}

.maintenance .modal-care-step-body .modal-care-step-subtitle {
    display: block;
    font-size: min(1.15em, 4vw);
    line-height: 1.6;
    letter-spacing: 0;
    font-weight: 600;
    margin: 0 0 .5em;
    position: relative;
    padding-left: 1em;
}

.maintenance .modal-care-step-body .modal-care-step-subtitle::before {
    content: '';
    width: .4em;
    height: .4em;
    border: 4px solid #ccc;
    border-radius: 100%;
    position: absolute;
    top: .5em;
    left: -.02em;
}

.maintenance .modal-care-card-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: min(2em, 4vw);
    width: min(1040px, 100%);
    margin: 0 auto;
}

@media screen and (max-width:767px) {
    .maintenance .modal-care-card-list {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap: min(3.5em, 4vw);
    }
}

.maintenance .modal-care-card {
    /* padding: min(3em, 5vw) min(2.5em, 4vw); */
    padding: min(2em, 4vw);
    border: .45em solid var(--modal-care);
    border-radius: .8em;
    text-align: center;
}

.maintenance .modal-care-card-title {
    font-size: min(1.25em, 4.5vw);
    line-height: 1.5;
    color: var(--co-color);
    letter-spacing: 0;
    font-weight: 600;
    margin: 0 0 min(1.5em, 6vw);
}

.maintenance .modal-care-card-img {
    width: 50%;
    margin: 0 auto 2em;
    border-radius: 1em;
    overflow: hidden;
}

.maintenance .modal-care-card-img img {
    display: block;
    width: 100%;
    height: auto;
}

.maintenance .modal-care-card p {
    font-size: min(1em, 3.5vw);
    line-height: 1.6;
    font-weight: 600;
    letter-spacing: 0;
    text-align: justify;
    margin: 0;
}

.maintenance .spacer-pc1 {
    display: block;
    height: 2em;
}

@media screen and (max-width:767px) {
    .maintenance .spacer-pc1 {
        display: none;
    }
}

.maintenance .modal-trouble-case {
    margin: min(4em, 8vw) auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 2em 0;
}

.maintenance .modal-trouble-case .cause-wrp {
    width: 47%;
    padding: 1em .5em;
    border: .45em solid var(--co-box-color);
    border-radius: .8em;
    text-align: center;
    position: relative;
}

.maintenance .modal-trouble-case .cause-wrp::after {
    content: '';
    position: absolute;
    left: 109%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 1.2em;
    height: 1.5em;
    background-color: var(--co-color);
    clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.maintenance .modal-trouble-case .resolve-wrp {
    width: 47%;
    padding: 1.5em .5em;
    border-radius: 1em;
    text-align: center;
    background-color: var(--co-box-color);
    position: relative;
}

@media screen and (max-width:767px) {

    .maintenance .modal-trouble-case .cause-wrp,
    .maintenance .modal-trouble-case .resolve-wrp {
        width: 100%;
    }

    .maintenance .modal-trouble-case .cause-wrp::after {
        content: '';
        position: absolute;
        left: 50%;
        top: calc(100% + 1.5em);
        transform: translate(-50%, -50%);
        width: 1.5em;
        height: 1em;
        background-color: var(--co-color);
        clip-path: polygon(0 0, 100% 0, 50% 100%);
    }
}

.maintenance .modal-trouble-case .cause-wrp .cause-title-wrp,
.maintenance .modal-trouble-case .resolve-wrp .resolve-title-wrp {
    margin: 0 0 .5em;
}

.maintenance .modal-trouble-case .cause-wrp .cause-title-wrp .cause-title,
.maintenance .modal-trouble-case .resolve-wrp .resolve-title-wrp .resolve-title {
    font-size: min(1.25em, 4.25vw);
    line-height: 1.6;
    letter-spacing: 0;
    color: var(--co-color);
    font-weight: 600;
}

.maintenance .column-box {
    margin-bottom: 3em;
    display: grid;
    grid-template-columns: auto auto;
    gap: 1em min(2em, 5vw);
}

@media screen and (min-width:768px) {
    .maintenance .column-box.gapW {
        gap: 1em min(4em, 5vw);
    }
}

@media screen and (max-width:767px) {
    .maintenance .column-box.spColumn1 {
        grid-template-columns: 1fr !important;
    }

    .maintenance .column-box>* {
        margin-bottom: 0 !important;
    }
}

.maintenance .column-box .column-box-lead {
    font-size: min(1.1em, 4vw);
    line-height: 1.8;
    margin-bottom: 1em;
}

.maintenance .column-box .column-box-lead:last-child {
    margin-bottom: 0;
}

.maintenance .column-box .modal-column-img {
    max-width: 240px;
    margin: 0;
    border-radius: 1em;
    overflow: hidden;
}

.maintenance .column-box .modal-column-img.middle {
    max-width: 200px;
}

.maintenance .column-box .modal-column-img.smaller {
    max-width: 140px;
}

@media screen and (max-width:767px) {
    .maintenance .column-box.spColumn1 .modal-column-img {
        max-width: min(180px, 50%);
        margin: 0 auto;
        order: 1;
    }

    .maintenance .column-box.spColumn1 .modal-column-img.smaller {
        max-width: min(115px, 40%);
    }

    .maintenance .column-box .spOrder1 ,
    .maintenance .modal-care-step-item .spOrder1 {
        order: 1;
    }

    .maintenance .column-box .spOrder2 ,
    .maintenance .modal-care-step-item .spOrder2 {
        order: 2;
    }
}

.maintenance .anc-btn-wrp {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .5em;
}

.maintenance .anc-btn-wrp .anc-btn {
    display: block;
    width: fit-content;
    min-width: 10em;
    font-size: min(1.1em, 3.5vw);
    text-box: trim-both cap alphabetic;
    padding: .5em 1.5em;
    border: 1px solid;
    border-radius: 5px;
    text-decoration: none;
    color: #222;
    cursor: pointer;
    position: relative;
}

.maintenance .anc-btn-wrp .anc-btn::after {
    content: '';
    width: .3em;
    height: .3em;
    border-right: 1px solid;
    border-bottom: 1px solid;
    position: absolute;
    top: 50%;
    right: .5em;
    transform: translateY(-60%) rotate(45deg);
}