.maintenance .main-img-wrp {
    width: 100%;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
}

.maintenance .main-img-inner {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    background-color: var(--lgray);
    overflow: hidden;
}


.maintenance .category {
    background-color: #222;
    font-size: min(1.15em, 3.8vw);
    color: #fff;
    display: block;
    width: fit-content;
    padding: .5em 1em;
    border-radius: 4px;
    text-box: trim-both cap alphabetic;
    margin: 0 auto .75em;
}

.maintenance .main-img-wrp .main-text-box {
    width: 40%;
    max-width: 520px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: min(2em, 6vw) 0.5em min(1.2em, 4.5vw);
    border-radius: 5px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -55%);
    background-color: rgba(255, 255, 255, .9);
}

.maintenance .main-img-wrp.line2 .main-text-box {
    padding: min(1.8em, 6vw) 0.5em min(1em, 4.5vw);
    transform: translate(-50%, -55%);
}

@media screen and (max-width:767px) {
    .maintenance .main-img-wrp .main-text-box {
        width: 80%;
    }
}

.maintenance .main-img-wrp .main-text-box::after {
    content: '';
    width: calc(100% - 12px);
    height: calc(100% - 12px);
    border: 1px solid #222;
    position: absolute;
    top: 5px;
    left: 5px;
    border-radius: 3px;
    z-index: 2;
}

.maintenance .main-img-wrp .main-hd-title {
    font-size: min(2.1em, 6.5vw);
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.23;
    margin-bottom: .25em;
}

.maintenance .main-img-wrp .main-img {
    width: 100%;
    height: 400px;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

@media screen and (max-width:767px) {
    .maintenance .main-img-wrp .main-img {
        height: 360px;
    }
}

.maintenance .main-img-wrp .main-img .mv {
    width: 25%;
}

@media screen and (max-width:767px) {
    .maintenance .main-img-wrp .main-img .mv {
        width: 50%;
    }

}

.maintenance .main-img-wrp .main-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

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

    .maintenance .main-img-wrp .main-img {
        width: 100%;
    }
}

.maintenance .main-img-wrp .mv-illust {
    display: block;
    width: 40%;
    max-width: 320px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}

.maintenance .main-img-wrp.line2 .mv-illust {
    bottom: -5px;
    max-width: 320px;
}

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

    .maintenance .main-img-wrp.line2 .mv-illust,
    .maintenance .main-img-wrp .mv-illust {
        width: 75%;
        max-width: 300px;
    }

    .maintenance .main-img-wrp.line2 .mv-illust {
        width: 75%;
        max-width: 300px;
    }
}

.maintenance .main-img-wrp .mv-illust img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: bottom;
}


.maintenance .toc .inner {
    padding-bottom: 0;
}

.maintenance .toc-wrp {
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
    border: 5px solid var(--gray-b);
    border-radius: 1.5em;
    padding: 1.5em min(3em, 4vw);
}

.maintenance .toc-wrp a {
    display: block;
    text-decoration: none;
    font-size: min(1.1em, 4.2vw);
    color: var(--text-black);
}

.maintenance .toc-wrp .toc-hd-title {
    display: block;
    font-size: min(1.7em, 5vw);
    text-align: center;
    margin-bottom: 1em;
    color: var(--gray-b);
    font-weight: 600;
}

.maintenance .toc-wrp .toc-title {
    display: block;
    font-size: min(1.35em, 4.6vw);
    font-family: var(--en);
    font-weight: 600;
    margin: 0 0 .5em;
    padding-left: 1.1em;
    padding-bottom: .5em;
    position: relative;
    border-bottom: 1px solid #ccc;
}

.maintenance .toc-wrp a.toc-title {
    font-weight: 600;
}

.maintenance .toc-wrp .toc-title::before {
    content: '';
    width: .34em;
    height: .34em;
    border: 4px solid;
    border-radius: 100%;
    position: absolute;
    top: .34em;
    left: -.1em;
}

.maintenance .toc-wrp .toc-title .frame {
    display: inline-block;
    font-size: min(.7em, 2.8vw);
    border: 1px solid #999;
    padding: .2em min(.5em, 2vw) .15em;
    border-radius: 3px;
    vertical-align: middle;
    margin-left: .5em;
}

.maintenance .toc-wrp .toc-blue a:hover,
.maintenance .toc-wrp .toc-blue .toc-title::before {
    color: var(--blue);
}

.maintenance .toc-wrp .toc-green a:hover,
.maintenance .toc-wrp .toc-green .toc-title::before {
    color: var(--ygreen);
}

.maintenance .toc-wrp .toc-pink a:hover,
.maintenance .toc-wrp .toc-pink .toc-title::before {
    color: var(--pink);
}

.maintenance .toc-list {
    position: relative;
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.maintenance .toc-list li {
    list-style-type: none;
    position: relative;
    padding: 0;
    margin: 0 0 .5em;
}

.maintenance .toc-list>li {}

.maintenance .toc-list .is_child {
    position: relative;
    list-style-type: none;
    margin-top: 0;
    padding-bottom: 1em;
    counter-reset: number;
}

.maintenance .toc-wrp .is_child li {
    padding-left: 2em;
    padding-bottom: .5em;
}

.maintenance .toc-wrp .is_child li::after {
    content: '';
    width: 100%;
    height: 0;
    position: absolute;
    left: 0;
    bottom: 0;
    border-bottom: 1px solid;
}

.maintenance .toc-wrp .toc-blue .is_child li::after {
    border-color: var(--blue);
}

.maintenance .toc-wrp .toc-green .is_child li::after {
    border-color: var(--ygreen);
}

.maintenance .toc-wrp .toc-pink .is_child li::after {
    border-color: var(--pink);
}

.maintenance .toc-list .is_child li::before {
    content: counter(number, decimal-leading-zero) '.';
    counter-increment: number;
    position: absolute;
    left: 0;
    font-size: .8em;
    line-height: 2;
    font-family: var(--en);
    font-weight: 600;
}

.maintenance .contents {
    counter-reset: box-number;
}

.maintenance .contents.co-blue {
    --co-color: var(--blue);
    --co-box-color: var(--lgray);
}

.maintenance .contents.co-green {
    --co-color: var(--ygreen);
    --co-box-color: #fff;
    background-color: var(--green-l);
}

.maintenance .contents.co-pink {
    --co-color: var(--pink);
    --co-box-color: #fff;
    background-color: #fcfcf8;
}

.maintenance .contents .box {
    padding: 1em 1.5em;
    border-radius: 1em;
    width: 31%;
    text-align: center;
    background-color: var(--co-box-color);
}

.maintenance .contents .box.column1 {
    width: 40%;
}

.maintenance .contents .box.column2 {
    width: 40%;
}

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

    .maintenance .contents .box.column1,
    .maintenance .contents .box.column2,
    .maintenance .contents .box {
        padding: .5em 1em;
        border-radius: 1em;
        width: 100%;
    }
}

.maintenance .contents .co-title {
    font-size: min(2.1em, 6.2vw);
    font-weight: 600;
    text-align: center;
    padding-bottom: .5em;
    margin-bottom: 1.5em;
    position: relative;
}

.maintenance .contents .co-title::after {
    content: '';
    display: block;
    width: 3em;
    height: 0;
    border-bottom: 2px solid;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    color: var(--co-color);
}

.maintenance .contents .co-subtitle {
    font-size: min(1.55em, 4.5vw);
    font-weight: 600;
    margin: 0 auto 1.5em;
    display: block;
    width: fit-content;
    position: relative;
}

.maintenance .contents.maintenanc-tool-wrp .co-subtitle {
    color: var(--ygreen);
}

.maintenance .contents .co-subtitle::before,
.maintenance .contents .co-subtitle::after {
    content: '';
    display: block;
    width: calc(50% - 8px);
    height: 14px;
    border-top: 1.5px solid;
    position: absolute;
    bottom: -18px;
    transform: skew(-40deg);
}

.maintenance .contents .co-subtitle::before {
    left: -0.25em;
}

.maintenance .contents .co-subtitle::after {
    right: 0;
    border-left: 2px solid;
}

.maintenance .contents .movie-subtilte {
    display: block;
    font-size: min(1.4em, 4.5vw);
    text-align: center;
    font-weight: 600;
    margin: -1em auto 1.5em;
}

.maintenance .contents .dash-title {
    display: block;
    width: fit-content;
    font-size: min(1.6em, 4.8vw);
    font-weight: 600;
    /* letter-spacing: .02em; */
    text-align: center;
    margin: 0 auto;
    position: relative;
}

.maintenance .contents .dash-title::before,
.maintenance .contents .dash-title::after {
    content: '';
    display: block;
    width: 1.5em;
    height: 0;
    border-bottom: 1px solid;
    position: absolute;
    top: 50%;

}

.maintenance .contents .dash-title::before {
    left: max(-2.25em, -10vw);
}

.maintenance .contents .dash-title::after {
    right: max(-2.25em, -10vw);
}

.maintenance .contents .box .box-title {
    display: block;
    font-size: min(1.6em, 6.5vw);
    font-weight: 600;
    line-height: 1.5;
    min-height: 4lh;
}

@media screen and (max-width:767px) {
    .maintenance .contents .box .box-title {
        min-height: 1vh;
    }
}

.maintenance .contents .box .box-title::before {
    content: counter(box-number, decimal-leading-zero);
    counter-increment: box-number;
    display: block;
    font-size: min(2em, 9vw);
    font-family: var(--en);
    font-weight: 400;
    color: var(--co-color);
}

.maintenance .contents .box .box-title.nocount {
    margin-top: .3em;
    min-height: unset;
}

.maintenance .contents .box .box-title.nocount::before {
    content: none;
}

.maintenance .contents .box .box-lead {
    text-align: center;
    font-size: min(1em, 4vw);
    font-weight: 600;
    line-height: 1.6;
    padding: .5em 0;
}

.maintenance .contents .box .box-icon {
    display: block;
    width: max(30%, 90px);
    margin: 0 auto;
}

.maintenance .contents .box .box-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* precaution */
.maintenance .precaution-wrp .precaution-hd-title {
    display: block;
    width: fit-content;
    margin: 0 auto min(1.5em, 4vw);
    position: relative;
}

.maintenance .precaution-wrp .precaution-hd-title::before {
    content: '';
    width: 1.25em;
    height: 1.25em;
    position: absolute;
    top: .15em;
    left: -1.5em;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23dc6491' d='M505.095 407.125L300.77 53.208c-9.206-15.944-26.361-25.849-44.774-25.849-18.412 0-35.552 9.905-44.751 25.849L6.905 407.109c-9.206 15.944-9.206 35.746 0 51.69 9.206 15.944 26.354 25.842 44.758 25.842h408.674c18.405 0 35.568-9.897 44.759-25.842 9.206-15.944 9.206-35.746-.001-51.674zM256.004 426.437c-17.668 0-32.013-14.33-32.013-32.004 0-17.668 14.345-31.997 32.013-31.997 17.667 0 31.997 14.329 31.997 31.997 0 17.675-14.33 32.004-31.997 32.004zm19.716-102.426c0 10.89-8.834 19.709-19.716 19.709-10.898 0-19.717-8.818-19.717-19.709l-12.296-144.724c0-17.676 14.345-32.005 32.013-32.005 17.667 0 31.997 14.33 31.997 32.005L275.72 324.011z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.maintenance .precaution-wrp .precaution-hd-title::after {
    content: unset;
}

.maintenance .precaution-wrp .box {
    border: 4px solid var(--pink-l);
}

.maintenance .precaution-wrp .box .box-lead {
    text-align: justify;
}

/* .maintenance .precaution-wrp .btn-wrp {
    padding: 2em 0;
} */



.maintenance .icon-box {
    color: var(--text-black);
    text-align: center;
    text-decoration: none;
}

.maintenance .icon-box-title {
    font-size: min(.9em, 3vw);
    font-weight: 600;
}

.maintenance a .img-circle img {
    transition: all .3s;
}

.maintenance a:hover .img-circle img {
    scale: 1.1;
}

/* tool */
.maintenance .maintenanc-tool-wrp {
    background-color: #fbfbf9;
}

.maintenance .maintenanc-tool-wrp .co-title::after {
    content: unset;
}

.maintenance .maintenanc-tool-wrp .maintenanc-tool {
    padding: min(1.5em, 4vw) 0;
}

.maintenance .maintenanc-tool-wrp .icon-box {
    width: 22%;
    margin-bottom: 1em;
}

.maintenance .maintenanc-tool-wrp .maintenanc-tool.w18 .icon-box {
    width: 18%;
    margin-bottom: 1em;
}

.maintenance .maintenanc-tool-wrp .icon-box.wide {
    width: 33%;
    margin-bottom: 1em;
}

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

    .maintenance .maintenanc-tool-wrp .maintenanc-tool.w18 .icon-box,
    .maintenance .maintenanc-tool-wrp .icon-box {
        width: 29%;
    }

    .maintenance .maintenanc-tool-wrp .icon-box.wide {
        width: 47%;
    }
}

.maintenance .maintenanc-tool-wrp .icon-box .img-circle {
    width: 9em;
    height: 9em;
    border: 6px solid var(--gray);
    border-radius: 100%;
    margin: 0 auto 1em;
    overflow: hidden;
}

@media screen and (max-width:767px) {
    .maintenance .maintenanc-tool-wrp .icon-box .img-circle {
        width: 24vw;
        height: 24vw;
        border: 1vw solid var(--gray);
    }
}

.maintenance .maintenanc-tool-wrp .icon-box .img-circle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.maintenance .maintenanc-tool-wrp .tool-box {
    width: 42%;
    border: 6px solid var(--gray);
    background-color: #fff;
    border-radius: 1em;
    padding: 1.5em;
    text-align: center;
}

@media screen and (max-width:767px) {
    .maintenance .maintenanc-tool-wrp .tool-box {
        width: 100%;
    }
}

.maintenance .maintenanc-tool-wrp .tool-box .tool-box-title {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: min(1.1em, 4vw);
    font-weight: 600;
    min-height: 2lh;
    margin: 0 auto 1em;
}

.maintenance .maintenanc-tool-wrp .tool-box .logo-shopping {
    display: block;
    width: 55%;
    margin: 0 auto 1em;
}

.maintenance .maintenanc-tool-wrp .tool-box .tool-logo-wrp {
    display: block;
    height: 150px;
    overflow: hidden;
}

@media screen and (max-width:767px) {
    .maintenance .maintenanc-tool-wrp .tool-box .tool-logo-wrp {
        height: auto;
    }
}

.maintenance .maintenanc-tool-wrp .tool-box .logo-parts {
    display: block;
    width: 55%;
    margin: 0 auto 1em;
}

.maintenance .maintenanc-tool-wrp .tool-box .tool-icon {
    display: block;
    width: 30%;
    margin: 0 auto 1em;
}

.maintenance .maintenanc-tool-wrp .tool-box img {
    width: 100%;
    height: auto;
}

/* movie */
.maintenance .movie-wrp {
    background-color: var(--gray-lb2);
}

.maintenance .movie-wrp .gap1 {
    gap: 1%;
}

.maintenance .movie-wrp .box {
    width: 19%;
    padding: 0 0 1em;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: .75em;
    overflow: hidden;
    color: var(--text-black);
    text-decoration: none;
}

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

    .maintenance .movie-wrp .box {
        width: 100%;
        display: flex;
        justify-content: space-between;
        margin-bottom: 1em;
        padding: 0;
    }

    .maintenance .movie-wrp .box .thumb {
        width: 35%;
        margin: 0;
        aspect-ratio: unset;
        border: unset;
    }

    .maintenance .movie-wrp .box .movie-title {
        width: 65%;
        padding: 3vw;
    }
}

.maintenance .contents.movie-wrp .box .box-title::before {
    color: var(--text-black);
}

.maintenance .box .thumb {
    display: block;
    margin: 0 auto .25em;
    padding: 0;
    width: 100%;
    aspect-ratio: 16/9;
    overflow: hidden;
    background-color: #ddd;
    border-bottom: 1px solid #ccc;
    position: relative;
}

.maintenance .box .thumb::before {
    content: '';
    display: block;
    width: min(1.2em, 4vw);
    height: min(1.2em, 4vw);
    background-color: var(--blue);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-41%, -50%);
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    z-index: 3;
}

.maintenance .box .thumb::after {
    content: '';
    display: block;
    width: min(4em, 10vw);
    height: min(4em, 10vw);
    background-color: rgba(255, 255, 255, .8);
    border-radius: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.maintenance .box .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.maintenance .box .box-title.movie-title {
    font-size: min(1em, 4.5vw);
}

.maintenance .box .box-title.movie-title::before {
    font-size: min(1.2em, 4vw);
    font-weight: 600;
    margin: .5em 0;
}

@media screen and (max-width:767px) {
    .maintenance .box .box-title.movie-title::before {
        margin: 0 0 .5em;
    }
}

.maintenance .box .box-title .type {
    display: block;
    width: fit-content;
    margin: 0 auto .5em;
    background-color: var(--blue);
    color: #fff;
    font-size: .75em;
    padding: .35em 1em;
    border-radius: 3px;
}

.maintenance .box .box-title .type.green {
    background-color: var(--ygreen);
}

.maintenance .box .box-title .type.black {
    background-color: #333;
}

/* other check */
.maintenance .others-wrp {}

.maintenance .icon-list {
    padding: 2em 0;
}

.maintenance .other-icon-box {
    width: 18%;
}

@media screen and (max-width:767px) {
    .maintenance .other-icon-box {
        width: 27%;
    }
}

.maintenance .other-icon-box .img-circle {
    display: block;
    width: 9em;
    height: 9em;
    margin: 0 auto 1em;
    border: 6px solid var(--gray);
    border-radius: 100%;
    overflow: hidden;
    padding: 12%;
}

@media screen and (max-width:767px) {
    .maintenance .other-icon-box .img-circle {
        width: 24vw;
        height: 24vw;
        padding: 5%;
    }
}

.maintenance .icon-box .img-circle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* reform */

.maintenance .reform-wrp {
    background-color: #f9f9f9;
}

.maintenance .reform-wrp .icon-list.gap1 {
    gap: 1em 1%;
}

.maintenance .icon-box.reform-icon-box {
    width: 15%;
}

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

    .maintenance .icon-box.reform-icon-box {
        width: 32%;
    }
}


.maintenance .reform-icon-box .img-circle {
    display: block;
    width: 10em;
    height: 10em;
    margin: 0 auto min(1em, 3vw);
    border-radius: 100%;
    overflow: hidden;
}

@media screen and (max-width:767px) {
    .maintenance .reform-icon-box .img-circle {
        width: 24vw;
        height: 24vw;
    }
}