@charset "utf-8";

.sub_main {
    background: url(../images/body_esthe/sub_main_img.jpg) center center;
    background-size: auto;
    background-size: cover;
}

.bg01 .lead,
.bg02 .lead {
    color: #fff;
}

.box01 h3 {
    background: #263f75;
    color: #fff;
}

.location {
    margin-bottom: 1em;
}

.location li {
    display: inline-block;
    background: #6c6c6c;
    color: #fff;
    padding: .25em 1em;
    font-size: 0.875rem;
    font-weight: bold;
    text-align: center;
    margin: .25em .15em;
}



.price_list dl {
    width: 48%;
    border-bottom: 1px solid #ccc;
    padding: .5em;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.price_list dt {
    width: 40%;
}

.price_list dd {
    width: 60%;
    text-align: right;
}

.price_list dd .price {
    font-size: 1.35rem;
    color: #e30000;
}

.price_list dd .price_down {
    margin-right: 1em;
}

.price_list dd .once {
    background: #54b220;
    color: #fff;
    padding: .25em 1em;
    margin-left: 1em;
    display: inline-block;
}

.price_down {
    text-decoration: line-through;
}

.box08 .menu_detail>li:not(:last-of-type) {
    margin-bottom: 40px;
}

.box08 .frame01 {
    margin: 3em auto 1em;
    padding: 2em 1em 1em;
    border: solid 1px #ccc;
    position: relative;
}

.box08 .frame01>dt {
    background: #fff;
    padding: 0 1em;
    position: absolute;
    top: -1em;
    font-weight: bold;
}

.box08 .frame01>dd {
    margin: auto 1.5em;
}

.box08 .check_list li {
    padding-left: 1.5em;
    text-indent: -1.5em;
}

.box08 .check_list li:before {
    content: "\f058";
    font-family: FAsolid;
    font-weight: 900;
    color: #54b220;
    margin-right: 0.5em;
}

.box08 .stemcells>li {
    width: calc((100% - 4em) / 3);
    margin-bottom: 1em;
    background: #f5f5f5;
    padding: 1em;
}

.box08 .stemcells dt {
    line-height: 1.6;
    text-align: center;
    font-weight: bold;
    border-bottom: solid 1px #999;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em;
    letter-spacing: 0;
}

.box08 .stemcells dt small {
    display: block;
}

.box08 .stemcells dd {
    line-height: 1.8;
    font-size: 0.875rem;
    letter-spacing: 0;
}


@media (max-width:999px) {

    .price_list dl {
        width: 100%;
    }

}

@media (max-width:799px) {
    .box07 .noSP {
        display: none;
    }

    .box08 .frame01.flex>dd {
        width: calc(50% - 3em);
        margin: 0 auto 0 1.5em;
    }

    .box08 .stemcells>li {
        width: 100%;
    }

    .box08 .stemcells dl {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
    }

    .box08 .stemcells dt {
        width: 30%;
        min-width: 15em;
        text-align: left;
        margin: 0;
        padding: 0;
        border: none;
    }

    .box08 .stemcells dd {
        width: calc(70% - 3em);
        max-width: calc(100% - 18em);
    }
}

@media (max-width:699px) {
    .box08 .frame01 {
        padding: 2em 2em 1em;
    }

    .box08 .frame01>dd {
        margin: 0;
    }

    .box08 .frame01.flex>dd {
        width: 100%;
        margin: 0;
    }

    .box08 .stemcells dt {
        width: 100%;
        text-align: center;
        border-bottom: solid 1px #999;
        padding-bottom: 0.5em;
        margin-bottom: 0.5em;
    }

    .box08 .stemcells dd {
        width: 100%;
        max-width: unset;
    }

    .price_list dt,
    .price_list dd {
        width: 100%;
    }

}


@media (max-width:599px) {}



@media (max-width:499px) {
    .box08 .frame01 {
        padding: 1.5em 1.5em 1em;
    }

    .box08 .frame01>dd {
        font-size: 0.875rem;
    }

    .location li,
    .price_list dd .once {
        padding: 0 0.5em;
        text-align: left;
    }
}

.process {
    padding: 3em;
    background-color: #f0f0f0;
}

.process dl {
    padding: 1em 0;
}


.process>dt {
    border-bottom: solid 1px #ccc;
    width: 100%;
    text-align: center;
    font-size: 1.2em;
}


.process>dd>dl {
    border-bottom: dotted 2px #ccc;
}

.process>dd>dl>dt {
    font-weight: bold;
}

.process>dd>dl>dd {
    padding: 0 0 0 1em;
}

.why {
    display: block;
    margin: 1em;
    padding: 1em;
    border: solid 1px #ccc;
}

.why .title {
    font-weight: bold;
}

@media (max-width:599px) {
    .process {
        padding: 1em;
    }

    .why {
        margin: 1em 0;
    }

    .bg_wt {
        padding: 20px 10px;
    }

    .process>dd>dl>dd {
        padding: 0 0 0 0;
    }
}