/* mv
------------------------------------------*/
.mv {
    background: linear-gradient(180deg, #fdf3f3 0%, #fff 100%);
}


/* features_wrp
------------------------------------------*/
.features_wrp .features_system {
    background-color: #faf0ef;
}

.features_wrp .orange {
    color: #eb5e00;
}

.features_wrp .features_system-ttl {
    font-size: min(1.6em, 4.5vw);
    line-height: 1.5;
    width: 100%;
    text-align: center;
    margin-bottom: 2em;
}

.features_system-wrp {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.features_system-wrp p {
    font-size: min(1em, 3vw);
    line-height: 1.6;
}

.features-logo p .orange {
    font-size: 1.3em;
    display: block;
}

.features {
    text-align: center;
    width: min(680px, 100%);
    margin: 0 auto;
}

.feauters-system-box-wrp {
    margin-bottom: 3em;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}

.feauters-system-box-wrp .object {
    content: '';
    width: 33%;
    /* height: min(200px, 33vw); */
    position: absolute;
    left: 50%;
    top: 100%;
    translate: -50% -80%;
    opacity: 0.3;
    /* filter: drop-shadow(0 0 3px var(--color-make)); */
    z-index: 0;
}

@media screen and (max-width: 767px) {
    .feauters-system-box-wrp .object {
        width: 50%;
    }
}

/* .feauters-system-box-wrp .object::before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: color-mix(var(--color-make), #fff 95%);
    clip-path: polygon(0 0, 100% 0, 100% 70%, 50% 100%, 0 70%);
    opacity: 1;
} */

.feauters-box-wrp {
    position: relative;
    margin-bottom: 2em;
}

.feauters-box1 {
    width: 42%;
}

@media screen and (max-width:767px) {
    .feauters-box1 {
        width: 46%;
    }
}

.feauters-box {
    padding: min(1em, 3vw);
    border: 2px solid #ec7978;
    border-radius: 5px;
    background-color: #fff;
    position: relative;
    z-index: 2;
    margin-bottom: 1em;
}

.feauters-box:not(.feauters-voice) {
    height: 100%;
}

.lixil-logo {
    display: block;
    width: min(160px, 85%);
    margin: 1em auto;
    border: 3px solid #eb5e00;
    padding: .5em;
    background-color: #fff;
}

@media screen and (max-width:600px) {
    .lixil-logo {
        padding: 0;
    }
}

.features figure:not(.lixil-logo) {
    width: min(180px, 100%);
    margin: 1em auto;
}

.features .arrow2 {
    width: 14%;
    transform: translateY(40%) scale(1.5);
    margin: 3em 0;
    padding: 0;
    position: relative;
}

@media screen and (max-width:767px) {
    .features .arrow2 {
        width: 8%;
        transform: translateY(85%) scale(2.5);
        z-index: 3;
    }
}

.features .arrow3 {
    width: 1.5em;
    position: absolute;
    left: 50%;
    translate: -50%;
}

.feauters-box-title {
    display: block;
    font-size: min(1.1em, 3vw);
    width: 100%;
    margin: 0 auto 1em;
    background-color: #ec7978;
    border-radius: 5px;
    color: #fff;
    padding: .5em;
}


/* modal contents
------------------------------------------*/
.pagemodal-bg .close-btn {
    --border-color: var(--color-make);
}

.pagemodal {
    width: min(1000px, 100%);
}

.pagemodal.pagemodal-modal-playhouse {
    width: min(860px, 100%);
}

.make-features .pill-hd {
    width: max-content;
    margin-bottom: 1em;
    padding: .4em 1.75em;
    font-size: min(1.1em, 3.8vw);
    line-height: 1.5;
    letter-spacing: .05em;
    color: #fff;
    background-color: var(--color-make);
    border-radius: 100vmax;

}

@media screen and (max-width: 767px) {
    .make-features .pill-hd {
        max-width: 100%;
        padding: .5em 1.5em;
    }
}

.make-features .pill-hd:not(:first-child) {
    margin-top: 2em;

}

.make-features .em-hd {
    margin-bottom: .7em;
    font-size: min(1.25em, 4vw);
    font-weight: 500;
    line-height: 1.5;
    word-break: keep-all;
    overflow-wrap: anywhere;
    line-break: strict;

}

.make-features p {
    font-size: min(.9em, 3.6vw);
    line-height: 1.7;

}

.make-features figure {
    margin: 0;
}

.make-features .flex {
    display: flex;
    gap: 2em;

}

@media screen and (max-width: 1200px) {
    .make-features .flex {
        gap: 2em;
    }
}

@media screen and (max-width: 767px) {
    .make-features .flex {
        flex-direction: column;
    }
}

.make-features .box-left {
    margin: 0;
    flex-shrink: 0;
    border-radius: 1em;
    overflow: hidden;
}

@media screen and (min-width: 768px) {
    .make-features .box-left {
        width: min(300px, 30%);
    }
}

.make-features .box-left img {
    height: 100%
}

.make-features .box-right {
    flex-grow: 1;
}

@media screen and (min-width: 768px) {
    .make-features .flex .col2 {
        width: 45%;
    }
}

/* make-feature1 */
@media screen and (min-width: 768px) {
    .make-feature1 .box-left {
        width: min(350px, 33%);
        align-self: flex-start;

    }
}

/* make-feature2 */
.make-feature2 .schedule {
    margin: 3em 0;
}

.make-feature2 .schedule figure {
    margin: 1em auto 0;
}

@media screen and (max-width: 767px) {
    .make-feature2 .schedule figure {
        width: min(400px, 100%);
    }
}

.make-feature2 .schedule figure .note {
    margin-top: 1em;
    padding-left: 1em;
    font-size: .7em;
    line-height: 1.6;
    text-indent: -1em;
    color: #666;
}

@media screen and (min-width: 1100px) {
    .make-feature2 .reform {
        /* display: grid; */
        grid-template-columns: auto 1fr;
        grid-template-rows: auto 1fr;
        gap: 1em 2em;

    }

    .make-feature2 .reform-menu_list {
        grid-column: 2/3;
        grid-row: 1/3;
    }
}

.make-feature2 .reform-menu_list {
    margin-top: 1.5em;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1em;

}

@media screen and (max-width: 767px) {
    .make-feature2 .reform-menu_list {
        grid-template-columns: auto;
    }
}

.make-feature2 .reform-menu_list li {
    display: flex;
    align-items: center;
    background-color: #faf0ef;
    font-size: min(.9em, 3.8vw);
    line-height: 1.5;

}

.make-feature2 .reform-menu_list li .hd {
    width: 5em;
    height: 100%;
    padding: .5em;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    text-align: center;
    font-size: 1.1em;
    color: #fff;
    background-color: var(--color-make);
}

.make-feature2 .reform-menu_list li span:not(.hd) {
    padding: 1em;
    word-break: keep-all;
    overflow-wrap: anywhere;
    line-break: strict;
}

/* make-feature4 */
.make-feature4 .flex .col+.col {
    margin-top: 2em;
}

/* make-feature5 */
.make-feature5 .flex {
    margin-top: 1em;
    justify-content: space-between;
    align-items: center;
    gap: 1em 0;
}

@media screen and (max-width: 767px) {
    .make-feature5 .flex {
        flex-direction: column;
    }
}

.make-feature5 .flex .logo-lixil {
    width: 12em;
    padding: 0 1em;
    flex-shrink: 0;
}

@media screen and (max-width: 767px) {
    .make-feature5 .flex .logo-lixil {
        padding: 1em;
    }
}

.make-feature5 .flex p {
    width: calc(100% - 15em);
}

@media screen and (max-width: 767px) {
    .make-feature5 .flex p {
        width: 100%;
    }
}

.make-feature5 .materials-wrp {
    margin-top: 2em;
    display: grid;
    justify-content: space-between;
    grid-template-areas: 'hd note' 'list list';
}

@media screen and (max-width: 767px) {
    .make-feature5 .materials-wrp {
        display: block;
    }
}

.make-feature5 .em-hd {
    grid-area: hd;
}

.make-feature5 .materials {
    grid-area: list;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1em 0;
}

.make-feature5 .materials figure {
    width: 23%;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .make-feature5 .materials figure {
        width: 48%;
    }
}

.make-feature5 .materials figure p {
    margin-top: .5em;
    font-size: min(.9em, 3.2vw);
}

.make-feature5 .note {
    grid-area: note;
    margin-top: 1em;
    text-align: right;
    font-size: .8em;
}

/* mind-feature1 */
.mind-feature1 .subtitle {
    font-size: min(1.1em, 4vw);
    line-height: 1.7;
}

.mind-feature1 .title {
    margin-top: .5em;
    font-size: min(1.7em, 5vw);
    text-align: center;
    color: var(--color-mind);
}

.mind-feature1 .lead-wrp {
    margin-top: 3em;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1em 0;
}

.mind-feature1 .lead-wrp .box-left {
    width: 47%;
    margin: 0;
    position: relative;
}

@media screen and (max-width: 767px) {
    .mind-feature1 .lead-wrp .box-left {
        width: 100%;
    }
}

.mind-feature1 .lead-wrp .box-left .balloon {
    width: 8em;
    height: 8em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    line-height: 1.6;
    position: absolute;
    left: -2em;
    top: -2em;
    color: #fff;
    background-color: var(--color-mind);
    border-radius: 100%;
}

.mind-feature1 .lead-wrp .box-right {
    width: 47%;
}

@media screen and (max-width: 767px) {
    .mind-feature1 .lead-wrp .box-right {
        width: 100%;
    }
}

.mind-feature1 .lead-wrp .box-right p {
    font-size: min(1em, 3.6vw);
    line-height: 1.7;

}

.mind-feature1 .copy {
    margin: 2em 0;
    color: var(--color-mind);
    font-size: min(1.15em, 4.2vw);
    line-height: 1.6;
}

.mind-feature1 .link-wrp {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 3em 0;
}

.mind-feature1 .link-wrp .box {
    width: 47%;
}

@media screen and (max-width: 767px) {
    .mind-feature1 .link-wrp .box {
        width: 100%;
    }
}

.mind-feature1 .link-wrp .box .hd {
    width: 100%;
    padding: 1em .5em;
    font-size: min(1.05em, 3.8vw);
    line-height: 1.5;
    letter-spacing: .05em;
    text-align: center;
    /* color: var(--color-mind); */
    color: #333;
    background-color: #e4f4f1;
    border-radius: 1rem 1rem 0 0;
}

.mind-feature1 .link-wrp .box figure {
    margin: 0;
    border-radius: 0 0 1rem 1rem;
    overflow: clip;
}

.mind-feature1 .link-wrp .box p {
    margin-top: 1em;
    font-size: min(.95em, 3.8vw);
    text-align: center;
    line-height: 1.6;
}

.mind-feature1 .link-wrp .box .btn {
    display: block;
    width: min(22em, 100%);
    margin: 1em auto 0;
    padding: .75em;
    font-size: min(.95em, 3.5vw);
    text-align: center;
    background-color: var(--color-mind);
    color: #fff;
    /* border: solid 2px; */
    border-radius: 100vmax;
    position: relative;
}

.mind-feature1 .link-wrp .box .btn.btn-instagram {
    color: #fff;
    background-color: #e1306c;
    background: linear-gradient(90deg, #6920f5 0%, #ee7930 50%, #e83362 100%);
}

@media screen and (max-width: 767px) {
    .mind-feature1 .link-wrp .box .btn {}
}

.mind-feature1 .link-wrp .box .btn .arrow {
    width: 1.5em;
    position: absolute;
    left: calc(100% - 2.5em);
    top: 50%;
    border-top: solid 2px;
    transition: width .3s 0s ease;
}

.mind-feature1 .link-wrp .box .btn:hover .arrow {
    width: 1.9em;
}

.mind-feature1 .link-wrp .box .btn .arrow::after {
    content: "";
    width: .8em;
    position: absolute;
    right: 0;
    bottom: 0;
    transform: rotate(30deg);
    transform-origin: right bottom;
    border-top: solid 2px;
}