:root {
    --is_smartphone:576px;
    --is_tablet:768px;
    --is_desktop:1028px;
}

.txt__large {
    font-size:2.85rem;
}
.txt__red {
    color:#ff0000;
}

.fs__lilita {
    font-family:"Lilita One", sans-serif;
    font-weight:400;
}

.mv_mimamori {
    margin:-2rem -1rem 1rem !important;
}
.top__mimamori-plan {
    display:flex;
    justify-content:space-around;
    align-items:flex-start;
    .mimamori-plan__desc {
        h2 {
            font-size:2.4rem;
            span {
                display:block;
                font-size:1.2rem;
            }
        }
        p {
            font-size:.8rem;
            margin-bottom:1.7rem;
        }
        small {
            font-size:.75rem;
        }
        ul.mimamori__notice {
            margin-bottom:0;
            li {
                margin-bottom:.2rem;
                text-indent:1rem;
                font-size:.75rem;
                &:before {
                    content:'※';
                    display:inline;
                    margin-left:-1rem;
                }
            }
        }
    }
    .mimamori-plan__01,
    .mimamori-plan__02 {
        position:relative;
        padding:1.5rem;
        &:before, &:after {
            position:absolute;
            width:95%;
            height:20px;
            content:'';
        }
        &:before {
            border-left:solid 3px;
            border-top:solid 3px;
            top:0;
            left:0;
        }
        &:after {
            border-right:solid 3px;
            border-bottom:solid 3px;
            bottom:0;
            right:0;
        }
        p {
            font-size:1rem;
            text-align:center;
            margin-bottom:0;
            .price__m {
                font-size:3.2rem;
                font-weight:400;
                font-style:normal;
                font-family:'Lilita One', sans-serif;
            }
        }
    }
}
@media (width < 577px) {
    .top__mimamori-plan {
        flex-wrap:wrap;
        .mimamori-plan__desc {
            h2 {
                text-align:center;
            }
            p {
                text-align:center;
            }
        }
        .mimamori-plan__01,
        .mimamori-plan__02 {
            width:45%;
            p {
                line-height:1.35;
                .price_m {
                    font-size:3rem;
                }
            }
        }
    }
}
.nav__wrapper {
    margin:5rem 0 0;
    h2 {
        font-size:2rem;
        font-weight:700;
        background:linear-gradient(transparent 55%,#bdfc7f 55%);
        width:fit-content;
        margin:0 auto;
    }
    .nav__btngroup {
        display:flex;
        flex-wrap:wrap;
        justify-content:center;
        align-items:center;
        width:50vw;
        margin:3.6rem auto 0;
        gap:1rem;
        .nav__btn {
            border-radius:8px;
            &:nth-child(1) {
                background:#ee85ff;
            }
            &:nth-child(2) {
                background:#d873ac;
            }
            &:nth-child(3) {
                background:#81a6e8;
            }
            &:nth-child(4) {
                background:#ff69b4;
            }
            a {
                display:block;
                width:22vw;
                padding:1rem 1rem .5rem;
                font-size:1.125rem;
                color:#fff;
                text-align:center;
                border-radius:8px;
                &:after {
                    content:'\f107';
                    display:block;
                    font-family:'Font Awesome 5 Free';
                    font-size:1.4rem;
                    font-weight:600;
                }
            }
        }
    }
}
@media (width < 577px) {
    .nav__wrapper {
        h2 {
            display:inline;
            font-size:1.3rem;
            word-break:keep-all;
            overflow-wrap:break-word;
        }
        .nav__btngroup {
            width:calc(100vw - 1rem);
            .nav__btn {
                a {
                    width:45vw;
                    font-size:1rem;
                    padding:1rem .8rem .5rem;
                    br {
                        display:none;
                    }
                }
            }
        }
    }
}

.package__wrapper {
    margin:5rem auto 0;
    .package__wrapper_header {
        display:flex;
        justify-content:space-between;
        align-items:flex-end;
        p {
            font-size:1.125rem;
            font-weight:700;
        }
        h2 {
            font-size:2rem;
            font-weight:700;
            color:#fff;
            margin:0 1rem 0 0;
            padding:1rem;
            span {
                display:block;
                font-size:1rem;
            }
        }
    }
    .package__wrapper_inner {
        background:#fff;
        padding:1.25rem;
    }
    .package__wrapper_desc {
        display:flex;
        justify-content:flex-start;
        align-items:center;
        gap:1rem;
        figure {
            width:100%;
            max-width:480px;
            img {
                width:100%;
                height:auto;
            }
        }
        section {
            h3 {
                font-size:1.37rem;
                font-weight:700;
                width:fit-content;
                padding:0 .5rem;
            }
            p {
                margin:1.7rem 0 0;
            }
        }
    }
    .pack__box {
        position:relative;
        margin:2rem auto 0;
        padding:1rem;
        border:4px solid;
        border-radius:8px;
        h4 {
            position:absolute;
            font-size:1rem;
            padding:.1rem .8rem;
            background:#fff;
            top:-1rem;
            left:2rem;
        }
    }
    .package__content {
        display:flex;
        justify-content:space-between;
        gap:1rem;
        .package__item_wrapper {
            display:flex;
            width:60%;
            justify-content:space-evenly;
            .package__item {
                width:140px;
                figure {
                    margin:0;
                    figcaption {
                        margin:0;
                        font-size:1rem;
                        text-align:center;
                    }
                }
            }
        }
        .package__price_wrapper {
            width:40%;
            .month__price {
                font-size:1rem;
                font-weight:700;
            }
            .price__num {
                font-size:1rem;
                width:fit-content;
                margin:.2rem 0 0;
                border-top:2px solid;
            }
            .mimamori__notice {
                margin-bottom:0;
                li {
                    display:flex;
                    font-size:.8rem;
                    margin:0 0 .2rem 0;
                    &:before {
                        content:'※';
                        display:inline;
                    }
                }
            }
        }
    }
    .package__wrapper_footer {
        display:flex;
        justify-content:flex-start;
        align-items:flex-start;
        gap:1rem;
        margin:3rem auto 0;
        .package__youtube, .package__aside {
            width:calc(50% - .5rem);
        }
        .package__youtube {
            flex-basis:0;
        }
        .package__aside {
            flex-basis:auto;
            flex-grow:1;
            .package__aside_points {
                background:#dcfdf4;
                padding:1rem;
                ul {
                    margin:0;
                    li {
                        display:flex;
                        gap:.5rem;
                        margin:0 0 .2rem;
                        &:before {
                            content:'\f00c';
                            display:inline;
                            font-family:'Font Awesome 5 Free';
                            font-weight:600;
                            color:#05a751;
                        }
                        &:last-child {
                            margin:0;
                        }
                    }
                }
            }
            .package__aside_btn {
                margin:2rem 0 0;
                button {
                    display:flex;
                    align-items:center;
                    font-size:1.08rem;
                    font-weight:700;
                    background:orange;
                    color:#fff;
                    margin:0 auto;
                    padding:1rem 3rem;
                    gap:.5rem;
                    cursor:pointer;
                    border-radius:8px;
                    transition:all ease .2s;
                    &:after {
                        content:'\f105';
                        font-family:'Font Awesome 5 Free';
                        font-size:1.1rem;
                        font-weight:600;
                        display:inline;
                    }
                }
            }
            @media (hover: hover) {
                .package__aside_btn {
                    button:hover {
                        transform:scale(1.1);
                    }
                }
            }
        }
    }
}

@media (width < 577px) {
    .package__wrapper {
        .package__wrapper_header {
            display:block;
            justify-content:unset;
            align-items:unset;
            line-height:1.1;
            p {
                font-size:1rem;
                word-break:keep-all;
                overflow-wrap:break-word;
            }
            h2 {
                font-size:1.35rem;
            }
        }
        .package__wrapper_desc {
            display:block;
            justify-content:unset;
            align-items:unset;
            gap:unset;
            section {
                h3 {
                    display:inline;
                    font-size:1.1rem;
                    word-break:keep-all;
                    overflow-wrap:break-word;
                }
            }
        }
        .package__content {
            flex-wrap:wrap;
            .package__item_wrapper {
                width:100%;
                flex-wrap:wrap;
            }
            .package__price_wrapper {
                width:100%;
            }
        }
        .package__wrapper_footer {
            flex-wrap:wrap;
            .package__youtube,
            .package__aside {
                width:100%;
            }
            .package__youtube {
                iframe {
                    width:calc(100vw - 3.5rem);
                    height:auto;
                    aspect-ratio:16 / 9;
                }
            }
        }
    }
}

#prevention {
    .package__wrapper_inner {
        border-top:8px solid #ee85ff;
    }
    h2 {
        background:#ee85ff;
    }
    .package__wrapper_desc {
        section {
            h3 {
                background:linear-gradient(transparent 55%, #ee85ff 55%);
            }
        }
    }
}
#easy {
    .package__wrapper_inner {
        border-top:8px solid #d873ac;
    }
    h2 {
        background:#d873ac;
    }
    .package__wrapper_desc {
        section {
            h3 {
                background:linear-gradient(transparent 55%, #d873ac 55%);
            }
        }
    }
}
#pet {
    .package__wrapper_inner {
        border-top:8px solid #81a6e8;
    }
    h2 {
        background:#81a6e8;
    }
    .package__wrapper_desc {
        section {
            h3 {
                background:linear-gradient(transparent 55%, #81a6e8 55%);
            }
        }
    }
}
#parent {
    .package__wrapper_inner {
        border-top:8px solid #ff69b4;
    }
    h2 {
        background:#ff69b4;
    }
    .package__wrapper_desc {
        display:block;
        figure {
            max-width:100%;
        }
        section {
            h3 {
                background:linear-gradient(transparent 55%, #ff69b4 55%);
            }
        }
    }
}

.service__wrapper {
    margin:5rem auto 0;
    .service__wrapper_inner {
        padding:1.25rem;
        background:#fff;
        .border_box {
            position:relative;
            margin:-1.25rem -1.25rem 1.25rem -1.85rem;
            padding:.5em .7em;
            font-size:1.2rem;
            background:#05a751;
            color:#fff;
            &:before {
                position:absolute;
                top:100%;
                left:0;
                content:'';
                border-bottom:10px solid transparent;
                border-right:10px solid #009741;
            }
        }
    }
}

.items__wrapper {
    margin:0 auto;
    .items__wrapper_inner {
        background:#fff;
        padding:1.25rem;
        .items__wrapper_ttl {
            position:relative;
            margin:-1.25rem -1.25rem 1.25rem -1.85rem;
            padding:.5em .7em;
            font-size:1.2rem;
            background:#05a751;
            color:#fff;
            &:before {
                position:absolute;
                top:100%;
                left:0;
                content:'';
                border-bottom:10px solid transparent;
                border-right:10px solid #009741;
            }
        }
        .items__block {
            padding:1.25rem;
            background:#f8f8f8;
        }
        .balloon {
            position:relative;
            width:fit-content;
            margin:2rem auto 0;
            padding:.5em .7em;
            border-radius:8px;
            font-size:1.2rem;
            font-weight:700;
            line-height:1.15;
            text-align:center;
            color:#fff;
            &:after {
                content:'';
                position:absolute;
                top:100%;
                left:50px;
                width:0;
                height:0;
                border:11px solid transparent;
            }
        }
        .balloon__330 {
            background:rgba(255,64,129,.4);
            &:after {
                border-top:11px solid rgba(255,64,129,.4);
            }
        }
        .balloon__550 {
            background:rgba(0,151,65,.4);
            &:after {
                border-top:11px solid rgba(0,151,65,.4);
            }
        }
        .balloon__router {
            background:rgba(255,99,102,.4);
            &:before {
                border-top:11px solid rgba(255,99,102,.4);
            }
        }
        .price__330 {
            margin:2rem auto 0;
            padding:1.25rem;
            border-radius:8px;
            background:rgba(255,64,129,.4);
            .machine__lists {
                justify-content:space-between;
                gap:1.25rem;
                margin:0;
                padding:0;
                .machine__lists__child {
                    display:flex;
                    flex-direction:column;
                    align-items:center;
                    width:calc((100% / 3) - 1rem);
                    margin:0;
                    padding:1.25rem;
                    background:#fff;
                    border:none;
                    border-radius:8px;
                }
                .machine__lists__img {
                    display:flex;
                    flex-direction:column;
                    align-items:center;
                    .machine__lists__caption {
                        font-weight:700;
                    }
                }
            }
        }
        .price__550 {
            margin:2rem auto 0;
            padding:1.25rem;
            border-radius:8px;
            background:rgba(0,151,65,.4);
            .machine__lists {
                justify-content:space-between;
                gap:1.25rem;
                margin:0;
                padding:0;
                .machine__lists__child {
                    display:flex;
                    flex-direction:column;
                    align-items:center;
                    width:calc((100% / 3) - 1rem);
                    margin:0;
                    padding:1.25rem;
                    background:#fff;
                    border:none;
                    border-radius:8px;
                }
                .machine__lists__img {
                    display:flex;
                    flex-direction:column;
                    align-items:center;
                    .machine__lists__caption {
                        font-weight:700;
                    }
                }
            }
        }
        .router__block {
            width:fit-content;
            margin:2rem auto 0;
            padding:1.25rem;
            border-radius:8px;
            background:rgba(255,99,102,.4);
            .machine__lists {
                justify-content:space-between;
                gap:1.25rem;
                margin:0;
                padding:0;
                .machine__lists__child {
                    display:flex;
                    flex-direction:column;
                    align-items:center;
                    width:100%;
                    min-width:346.66px;
                    margin:0;
                    padding:1.25rem;
                    background:#fff;
                    border:none;
                    border-radius:8px;
                }
                .machine__lists__img {
                    display:flex;
                    flex-direction:column;
                    align-items:center;
                    .machine__lists__caption {
                        font-weight:700;
                    }
                }
            }
        }
    }
    .mimamori_point {
        margin:100px auto;
        padding:3rem 0;
        background:#fff;
        img {
            display:block;
            margin:0 auto;
        }
    }
}
@media (width < 577px) {
    .items__wrapper {
        .items__wrapper_inner {
            .price__330,
            .price__550 {
                .machine__lists {
                    .machine__lists__child {
                        width:100%;
                    }
                }
            }
            .router__block {
                .machine__lists {
                    .machine__lists__child {
                        min-width:319px;
                    }
                }
            }
        }
    }
}

.other__wrapper {
    margin:0 auto;
    padding:1.25rem;
    background:#fff;
    .other__wrapper_ttl {
        position:relative;
        margin:-1.25rem -1.25rem 1.25rem -1.85rem;
        padding:.5em .7em;
        font-size:1.2rem;
        background:#05a751;
        color:#fff;
        &:before {
            position:absolute;
            top:100%;
            left:0;
            content:'';
            border-bottom:10px solid transparent;
            border-right:10px solid #009741;
        }
    }
    .other__wrapper_btn {
        button {
            display:flex;
            align-items:center;
            font-size:1.08rem;
            font-weight:700;
            background:orange;
            color:#fff;
            margin:0 auto;
            padding:1rem 3rem;
            gap:.5rem;
            cursor:pointer;
            border-radius:8px;
            transition:all ease .2s;
            &:after {
                content:'\f105';
                font-family:'Font Awesome 5 Free';
                font-size:1.1rem;
                font-weight:600;
                display:inline;
            }
        }
    }
    @media (hover: hover) {
        .other__wrapper_btn {
            button:hover {
                transform:scale(1.1);
            }
        }
    }
.other__wrapper_btn + figure {
        margin:3rem auto 0;
    }
}