@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@300;400;500;600&display=swap");

/* base
------------------------------------------*/
.main,
.main *,
.main ::before,
.main ::after {
    box-sizing: border-box;
    font-family: var(--sans-serif2);
}

.main,
.pagemodal {
    --color-mind: #00af84;
    --color-make: #ed7978;
    --color-gray: #5d5856;
}

img.objectfit-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

img.objectfit-contain {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.wbr-center {
    text-align: center;
    word-break: keep-all;
    overflow-wrap: anywhere;
    line-break: strict;
}

.en {
    font-family: Barlow, sans-serif;
    font-weight: 400;
}

/* mv
------------------------------------------*/
.mv {
    height: min(600px, calc(100dvh - 124px));
    position: relative;
}

/* .mv .mv-bg {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 0;
    overflow: hidden;
} */

.mv .mv-logo {
    width: min(380px, 55%);
    position: absolute;
    /* bottom: 0px; */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.mv .mv-logo img {
    transition: all .5s .3s ease;
}

/* lead wrp
------------------------------------------*/
@media (orientation: portrait) {
    .lead_wrp {
        margin-top: max(-80px, -25vh);
    }
}

.lead_wrp-inner {
    padding: 0 1em min(100px, 15vw);
}

.lead_wrp .lead_wrp-ttl {
    margin-bottom: 2em;
    font-size: min(2.6rem, 5vw);
    line-height: 1.8;
    text-align: center;
    letter-spacing: 0.1em;
    font-weight: 500;
}

.lead_wrp .lead_wrp-p {
    margin-top: 1.5em;
    font-size: min(1.2rem, 3.8vw);
    line-height: 2;
    text-align: center;
    word-break: keep-all;
    overflow-wrap: anywhere;
    line-break: strict;
}

.lead_wrp .lead-images {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.lead_wrp .lead-images figure {
    width: 25%;
    margin: 0px;
    opacity: 0;
    transition: opacity 0.6s 0s;
}

@media screen and (max-width: 600px) {
    .lead_wrp .lead-images figure {
        width: 50%;
    }
}

.lead_wrp .lead-images.on figure {
    opacity: 1;
}

.lead_wrp .lead-images figure:nth-child(2) {
    transition-delay: 0.1s;
}

.lead_wrp .lead-images figure:nth-child(3) {
    transition-delay: 0.2s;
}

.lead_wrp .lead-images figure:nth-child(4) {
    transition-delay: 0.3s;
}

/* features
------------------------------------------*/
.features_wrp .features_system {
    padding: min(100px, 15vw) 1em;
}

.features_wrp .features-system {
    width: 100%;
    margin: 3em 0px;
}

.features_list {
    padding: min(100px, 15vw) min(80px, 5vw);
}

.features_list .features_item {
    padding: 0px max(5vw, 2em);
}

@media screen and (max-width: 767px) and(min-width: 640px) {
    .features_list .features_item {
        padding: 0px 1em;
    }
}

.features_list .features_item a {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.features_list .features_item-img {
    border-radius: 1em;
    overflow: hidden;
}

.features_list .features_item-img img {
    transform: scale(1);
    transition: transform .3s 0s ease;
}

.features_list .features_item:hover .features_item-img img {
    transform: scale(1.1);
}

.features_list .features_item-hd {
    height: 2lh;
    margin-top: 1em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 1.4rem;
    text-align: center;
    line-height: 1.5;
}

@media screen and (max-width: 767px) {
    .features_list .features_item-hd {
        font-size: min(1.3rem, 4.2vw);
    }
}

.features_list .features_item-txt {
    margin-top: 1em;
    margin-bottom: 1em;
    font-size: min(1rem, 3.6vw);
    line-height: 1.8;
}

.features_list .features_item .btn {
    display: block;
    margin-top: auto;
    margin-left: auto;
    padding: .5em 2em 1em 1em;
    color: var(--color-gray);
    font-size: min(.9em, 3.5vw);
    position: relative;
}

.features_list .features_item .btn::before,
.features_list .features_item .btn::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    border-bottom: solid 1px;
    transition: all .3s 0s ease;
}

.features_list .features_item .btn::before {
    width: 100%;
}

.features_list .features_item .btn::after {
    width: 1em;
    transform: rotate(30deg);
    transform-origin: right bottom;
}

.features_list .features_item:hover .btn::before,
.features_list .features_item:hover .btn::after {
    right: -10px;
}

.features_list .features_item:hover .btn::before {
    width: min(100% + 10px)
}

/* lineup
------------------------------------------*/
/* .lineup_wrp {
    padding: min(100px, 15vw) 1em;
    background-color: #f2f5f5;
}

.lineup_wrp-ttl,
.voice_wrp-ttl {
    width: fit-content;
    margin: 0px auto 3em;
    position: relative;
    font-size: min(1.6rem, 4.5vw);
    text-align: center;
    line-height: 1.7;
    letter-spacing: 0.1em;
    color: var(--color-gray);
}

.lineup_wrp-ttl .hd,
.voice_wrp-ttl .hd {
    display: block;
    margin: 0px auto 1.2em;
    font-weight: 300;
    font-size: 1.1em;
}

.lineup_wrp-ttl .hd::after,
.voice_wrp-ttl .hd::after {
    content: "";
    display: block;
    width: 1.5em;
    margin: 0.3em auto 0px;
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: currentcolor;
}

.lineup_wrp-ttl .sml {
    display: block;
    font-size: 0.9em;
}

.lineup_wrp .flex {
    width: min(1200px, 100%);
    margin: 3em auto 0px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 3.5em 0px;
    position: relative;
}

.lineup_wrp .lineup_box {
    width: min(520px, 47%);
}

@media screen and (max-width: 767px) {
    .lineup_wrp .lineup_box {
        width: 100%;
    }
}

.lineup_wrp .lineup_box .lineup_box-ttl {
    width: max-content;
    text-align: center;
    margin: 0px auto 1.5em;
    font-weight: 500;
    font-size: min(1.3em, 4.4vw);
    letter-spacing: 0.05em;
    position: relative;
}

.lineup_wrp .lineup_box .lineup_box-ttl::before,
.lineup_wrp .lineup_box .lineup_box-ttl::after {
    content: "";
    width: 0.4em;
    height: 1.7lh;
    position: absolute;
    top: 50%;
    border: 1px solid;
    transform: translate(0px, -50%);
}

.lineup_wrp .lineup_box .lineup_box-ttl::before {
    right: calc(100% + 0.85em);
    border-right-width: medium;
    border-right-style: none;
    border-right-color: currentcolor;
}

.lineup_wrp .lineup_box .lineup_box-ttl::after {
    left: calc(100% + 0.8em);
    border-left-width: medium;
    border-left-style: none;
    border-left-color: currentcolor;
}

.lineup_wrp .lineup_box a {
    display: block;
    padding: min(3em, 5vw) min(3em, 5vw) 2em;
    border-radius: 10px;
    opacity: 1;
    transition: opacity 0.3s 0s ease;
    text-decoration: none;
}

@media screen and (max-width: 767px) {
    .lineup_wrp .lineup_box a {
        padding: min(3em, 4vw);
        display: flex;
        justify-content: space-between;
        align-items: stretch;
    }
}

.lineup_wrp .lineup_box.favo a {
    background-color: #1d2e4e;
}

.lineup_wrp .lineup_box.lodina a {
    background-color: #bdccd4;
}

@media screen and (max-width: 767px) {
    .lineup_wrp .lineup_box.favo a {
        padding-left: 0px;
    }

    .lineup_wrp .lineup_box.lodina a {
        padding-right: 0px;
    }
}

.lineup_wrp .lineup_box .img-box {
    overflow: hidden;
}

.lineup_wrp .lineup_box .img-box img {
    transform: scale(1);
    transition: transform .3s 0s ease;
}

.lineup_wrp .lineup_box a:hover .img-box img {
    transform: scale(1.1);
}

.lineup_wrp .lineup_box .text-box {
    height: 100%;
}

@media screen and (max-width: 767px) {
    .lineup_wrp .lineup_box .img-box {
        width: 47%;
        flex-shrink: 0;
    }

    .lineup_wrp .lineup_box.favo .img-box {
        order: 2;
    }

    .lineup_wrp .lineup_box .text-box {
        width: auto;
        display: flex;
        flex-direction: column;
        justify-content: center;
        flex-grow: 1;
    }
}

@media screen and (min-width: 768px) {
    .lineup_wrp .lineup_box .text-box .logo {
        width: max-content;
        height: 8em;
        margin: 2em auto;
    }

    .lineup_wrp .lineup_box .text-box .logo img {
        width: auto;
        height: 100%;
    }
}

@media screen and (max-width: 767px) {
    .lineup_wrp .lineup_box .text-box .logo {
        width: min(300px, 65%);
        margin: 1em auto 0px;
    }
}

.lineup_wrp .lineup_box .text-box .btn {
    display: block;
    width: min(16em, 90%);
    margin: 2em auto 0px;
    padding: 1em;
    text-align: center;
    background-color: #fff;
    border-radius: 100vmax;
    letter-spacing: 0.1em;
    font-size: 1.1rem;
    position: relative;
}

@media screen and (max-width: 767px) {
    .lineup_wrp .lineup_box .text-box .btn {
        width: min(14em, 85%);
        font-size: min(1rem, 3.5vw);
    }
}

.lineup_wrp .lineup_box .text-box .btn .arrow {
    width: 1.7em;
    position: absolute;
    left: calc(100% - 2.7em);
    top: 50%;
    border-top: solid 2px;
    transition: width .3s 0s ease;
}

.lineup_wrp .lineup_box a:hover .text-box .btn .arrow {
    width: 1.9em;
}

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

@media screen and (max-width: 767px) {
    .lineup_wrp .lineup_box .text-box .btn .arrow {
        width: 1.2em;
        left: calc(100% - 2em);
    }

    .lineup_wrp .lineup_box a:hover .text-box .btn .arrow {
        width: 1.4em;
    }

    .lineup_wrp .lineup_box .text-box .btn .arrow::after {
        width: 0.7em;
    }
} */

/* voice
------------------------------------------*/
/* .voice_wrp {
    padding: min(100px, 15vw) 0px;
}

.voice_wrp .voice_wrp-ttl {
    margin: 0px auto 0.5em;
    font-size: min(1.8rem, 5vw);
}

.voice_wrp .voice_wrp-subttl {
    margin: 0px auto 3em;
    padding: 0px 1em;
    font-size: min(1.1em, 4vw);
    line-height: 1.7;
} */