@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&amp;family=Noto+Sans+JP:wght@100..900&amp;display=swap');

:root {
    --color-red: #E70012;
    --color-pink: #EF8875;
}

#contents {
    width: 100%;
    margin: 0 auto;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    color: #333;
}

h2 {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 700;
    font-size: clamp(1.5rem, 1.227rem + 1.36vw, 2.25rem);
    color: var(--color-red);
    text-align: center;
}

.read {
    width: 90%;
    font-weight: 600;
    line-height: 1.8;
    font-size: 18px;
    margin: 1em auto;
    text-align: center;
}

a.btn {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 700;
    border: 2px solid var(--color-red);
    background: var(--color-red);
    color: #fff !important;
    font-size: 24px;
    line-height: 3;
    max-width: 380px;
    width: 90%;
    display: block;
    margin: 10px auto;
    transition: .3s;
    text-decoration: none !important;
    border-radius: 10px;
    text-align: center;
}

a.btn:hover {
    background: #F2F1EA;
    color: var(--color-red) !important;
}

.sp {
    display: none !important;
}

/*PC---------------------------------------------------------------------------------------------------------------*/

/*-----main-----*/
.main {
    background: #F2F1EA;
}

/*-----kv-----*/
.slider {
    width: 100%;
    margin: 0 auto;
}

.slider li img {
    width: 100%;
}

.slick_dots {
    text-align: center;
}

.slick-dots li button:before {
    font-size: 12px;
}

.slick-dots li.slick-active button:before {
    color: #e50012;
}

.slick-dots li:hover button:before {
    opacity: .25;
}

.slick-dots li.slick-active:hover button:before {
    opacity: .75;
}

/*-----intro-----*/
.intro {
    max-width: 1220px;
    width: 90%;
    margin: 100px auto 80px;
    text-align: center;
}

.intro h1 img {
    max-width: 210px;
    width: 40%;
    margin-bottom: 30px;
}

.intro .read {
    font-size: 20px;
}

/*-----tvcm-----*/
.tvcm {
    margin: 0 auto 100px;
}

.tvcm iframe {
    max-width: 700px;
    width: 90%;
    margin: 30px auto;
    aspect-ratio: 16 / 9;
    display: block;
}

/*-----recommend-----*/
.recommend {
    padding: 100px 0 0;
    border-top: var(--color-red) 3px solid;
}

.recommend h2 img {
    max-width: 210px;
    width: 40%;
    margin-bottom: 30px;
}

.recommend ul {
    max-width: 700px;
    width: 90%;
    margin: 20px auto 80px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 50px;
}

.recommend ul li {
    width: 47%;
    text-align: center;
}

.recommend ul li img {
    width: 90%;
    margin-bottom: 10px;
}

/*-----plusone-----*/
.plusone h3 img {
    max-width: 330px;
    width: 90%;
    margin: 0 auto;
    display: block;
}

.plusone dl {
    max-width: 800px;
    width: 90%;
    margin: 30px auto 100px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 15px;
}

.plusone dl dt {
    width: 35%;
    color: var(--color-red);
    font-weight: 600;
}

.plusone dl dt span {
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    background: var(--color-pink);
    padding: 3px 10px;
    border-radius: 20px;
    margin-right: 10px;
}

.plusone dl dd {
    width: 65%;
}

/*-----lineup-----*/
.lineup {
    padding: 100px 0;
    border-top: var(--color-red) 3px solid;
    text-align: center;
}

.lineup_page .main {
    border-bottom: var(--color-red) 3px solid;
    padding-bottom: 100px;
}

.lineup_page .btn {
    margin-top: 30px;
}

.lineup img.set {
    max-width: 800px;
    width: 90%;
    margin: 30px auto;
    display: block;
}

.lineup .sub {
    color: var(--color-red);
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 700;
    font-size: 24px;
}

.lineup .sub img {
    width: 18px;
    vertical-align: -0.2em;
}

.lineup .title {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 700;
    color: var(--color-pink);
    font-size: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem);
    margin-bottom: 30px;
}

.lineup .series.series01 {
    margin: 50px auto 200px;
}

.lineup .prod_list {
    width: 90%;
    margin: 50px auto 0;
    display: flex;
    flex-wrap: wrap;
}

/*4列*/
.lineup .prod_list.col-4 {
    max-width: 1220px;
    justify-content: flex-start;
    gap: 4%;
    row-gap: 50px;
}

.lineup .prod_list.col-4 li {
    width: 22%;
}

.lineup .prod_list.col-4 li img {
    width: 65%;
}

.lineup .prod_list .prod_title {
    font-weight: 600;
    margin: 10px auto;
}

.lineup .prod_list .detail {
    text-align: left;
}

/*3列*/
.half_title {
    font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);
    font-weight: 600;
    color: var(--color-red);
    margin: 100px auto 50px;
}

.lineup .prod_list.col-3 {
    max-width: 1000px;
    justify-content: center;
    gap: 20px;
}

.lineup .prod_list.col-3 li {
    width: 32%;
}

.lineup .prod_list.col-3 li img {
    width: 100%;
}

/*new*/

.prod_list li {
    position: relative;
}

.prod_list .new {
    background-color: crimson;
    position: absolute;
    color: #fff;
    padding: 14px 10px;
    border-radius: 50px;
    top: 0;
    left: 20px;
}


/*-----howto-----*/

.howto {
    padding: 100px 0;
    border-top: var(--color-red) 3px solid;
    border-bottom: var(--color-red) 3px solid;
    background: #F4F5F3;
    text-align: center;
}

.howto img {
    max-width: 730px;
    width: 90%;
    margin: 50px auto 0;
    display: block;
}

/*SP---------------------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 767px) {
    .sp {
        display: block !important;
    }

    .pc {
        display: none !important;
    }

    /*-----intro-----*/
    .intro {
        margin: 80px auto;
    }

    .intro .read {
        font-size: 4vw;
    }

    /*-----plusone-----*/
    .plusone dl {
        flex-direction: column;
        row-gap: 5px;
    }

    .plusone dl dt,
    .plusone dl dd {
        width: 100%;
    }

    .plusone dl dd {
        margin: 0 0 15px 0;
        padding-left: 4em;
    }

    /*-----lineup-----*/
    .lineup .series.series01 {
        margin: 30px auto 100px;
    }

    .lineup .prod_list {
        margin: 30px auto 0;
    }

    /*4列*/
    .lineup .prod_list.col-4 {
        justify-content: space-between;
        row-gap: 30px;
    }

    .lineup .prod_list.col-4 li {
        width: 46%;
    }

    /*3列*/
    .half_title {
        margin: 50px auto 0;
    }

    .lineup .prod_list.col-3 li {
        width: 46%;
    }


}