/*FIRSTVIEW START*/
.firstView{
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
}

.firstView__container{
    width: 100%;
    height: 650px;
    background-image: url(../img/toppage_back_SP_w768_h650.jpg);
    background-size: cover;
    background-position: center;
    display: grid;
    place-items: center;
}

    .firstView__container__text{
        width: 350px;
        height: 650px;
        position: relative;
    }

        .firstView__container__text h1{
            font-family: "M PLUS 1", sans-serif;
            font-optical-sizing: auto;
            font-weight: 700;
            font-style: normal;
            font-size: 28px;
            line-height: 2.5rem;
            letter-spacing: 0.2rem;
            position: absolute;
            top: 70px;
            left: 10px;
            color: #343434;
            text-shadow: 3px 3px 3px rgba(255, 255, 255, 0.5);
        }

        .firstView__container__text img{
            width: 60px;
            height: 60px;
            position: absolute;
            top: 460px;
            left: 220px;
        }

        .firstView__textSmall{
            font-size: 20px;
        }

        .firstView__textMiddle{
            font-size: 36px;
        }

        .firstView__textLarge{
            font-size: 44px;
        }

        .firstView__textExSmall{
            font-size: 20px;
        }

        .firstView__container__text__ctaBtn{
            width: 350px;
            height: 40px;
            position: absolute;
            top: 415px;
            background-image: url(../img/btn_w649_h73.png);
            background-size: contain;
        }

        .firstView__container__text a:hover .firstView__container__text__ctaBtn{
            background-image: url(../img/btn_hover_w649_h73.png);
        }

            .firstView__container__text__ctaBtn p{
                font-family: "Noto Sans JP", sans-serif;
                font-optical-sizing: auto;
                font-weight: 700;
                font-style: normal;
                font-size: 20px;
                color: #fcfcfc;
            }

        .firstView__container__text__description{
            position: absolute;
            top: 480px;
        }

            .firstView__container__text__description h2, .firstView__container__text__description p{
                font-family: "Noto Sans JP", sans-serif;
                font-optical-sizing: auto;
                font-weight: 700;
                font-style: normal;
                font-size: 20px;
            }

            .firstView__container__text__description p{
                margin-top: 10px;
                font-weight: 400;
                font-size: 16px;
                line-height: 1.3rem;
            }

/*DESKTOP --FIRSTVIEW--*/
@media(min-width: 768px){
    .firstView__container__text__description p{
        font-size: 16px;
        line-height: 1.5rem;
    }

    .firstView__container__text__description h2{
        font-size: 20px;
    }

    .firstView__container__text__description{
        top: 430px;
    }

    .firstView__container__text__ctaBtn{
        top: 365px;
    }

    .firstView__textLarge{
        font-size: 64px;
    }

    .firstView__textMiddle{
        font-size: 56px;
    }

    .firstView__textSmall{
        font-size: 32px;
    }

    .firstView__textExSmall{
        font-size: 28px;
    }

    .firstView__container__text h1{
        font-size: 40px;
        width: 32rem;
        line-height: 3.5rem;
        letter-spacing: 0.3rem;
        top: 130px;
    }

    .firstView__container__text img{
        top: 405px;
    }

    .firstView__container__text{
        width: 768px;
        height: 550px;
    }    

    .firstView__container{
        background-image: url(../img/toppage_back_PC_w1280_h550.jpg);
        height: 550px;
    }   
}
/*FIRSTVIEW END*/

/*INFORMATION START*/
.information{
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    margin-top: 50px;
    margin-bottom: 50px;
}

.information__container{
    width: auto;
    height: auto;
}

    .information__container__inner{
        width: 350px;
        height: 300px;
    }

        .information__upper h2{
            font-family: "Noto Sans JP", sans-serif;
            font-optical-sizing: auto;
            font-weight: 700;
            font-style: normal;
            font-size: 18px;
            text-align: center;
        }

        .information__upper img{
            width: 350px;
            height: auto;
            object-fit: cover;
            object-position: center;
            margin-top: 20px;
        }

        .information__under p{
            font-family: "Noto Sans JP", sans-serif;
            font-optical-sizing: auto;
            font-weight: 400;
            font-style: normal;
            font-size: 16px;
        }

        .information__under p{
            line-height: 1.4rem;
        }


@media(min-width: 768px){
    .information__upper img{
        width: 100%;
    }

    .information__container__inner{
        width: 374px;
    }

    .information__container{
        display: flex;
        gap: 20px;
    }
}
/*INFORMATION END*/

/*RANKING START*/
.ranking{
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;

}

.ranking__container{
    width: 350px;
    height: auto;
    background-color: #FDEFF2;
}

    .ranking__container__inner{
        width: 350px;
        height: 700px;
    }

        .ranking__container__inner__heading{
            width: 100%;
            height: 350px;
        }

        .ranking__container__inner__heading a:hover{
            cursor: pointer;
            color: #00f;
        }

            .ranking__container__inner__heading h3,
            .ranking__container__inner__heading h2,
            .ranking__container__inner__heading p{
                font-family: "Noto Sans JP", sans-serif;
                font-optical-sizing: auto;
                font-weight: 400;
                font-style: normal;
                font-size: 16px;
            }

            .ranking__container__inner__heading h2{
                font-weight: 700;
                font-size: 24px;
                text-align: center;
                padding-top: 50px;
            }

            .ranking__container__inner__heading h3{
                font-size: 20px;
                text-align: center;
                padding-top: 10px;
            }

            .ranking__under .ranking__container__inner__heading h3{
                text-align: start;
            }

            .ranking__under .ranking__container__inner__heading h3:not(:first-child){
                margin-top: 10px;
            }

            .ranking__container__inner__heading p{
                margin-top: 20px;
                line-height: 1.5rem;
            }

            .ranking__under .ranking__container__inner__heading p{
                margin-top: 10px;
                padding-left: 20px;
            }

            .ranking__under .ranking__container__inner__heading .ranking__under__under{
                padding-left: 0;
                padding-top: 50px;
            }

            .ranking__text__emphasis{
                font-weight: 700;
                font-size: 20px;
                text-align: center;
                display: block;
                color: #F57AAF;
            }

        .ranking__container__inner__image img{
            width: 350px;
            height: 350px;
        }

@media(min-width: 768px){
    .ranking__container{
        display: flex;
        width: 768px;
        align-items: center;
        justify-content: center;
        gap: 20px;
    }
}

/*RANKING END*/

/*SHOPLIST START*/
.shopList{
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
}

.shopList__container{
    width: 350px;
    max-width: 1280px;
    height: auto;
    margin-top: 50px;
}

    .shopList__container__inner{
        width: 100%;
        height: 120px;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
    }

        .shopList__container__inner__shop{
            width: 110px;
            height: 110px;
            background-size: cover;
            background-position: center;
            box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.5);
            position: relative;
        }

            .shopList__container__inner__shop .shopList__label, .shopList__container__inner__shop .shopList__category{
                font-family: "Noto Sans JP", sans-serif;
                font-optical-sizing: auto;
                font-weight: 400;
                font-style: normal;
                font-size: 14px;
                background-color: #ff0000;
                color: #ffffff;
                display: inline-block;
                position: absolute;
                top: 5px;
            }

            .shopList__container__inner__shop .shopList__label{
                right: -5px;
            }

            .shopList__container__inner__shop .shopList__category{
                top: 90px;
                color: #343434;
                background-color: #d9d9d9;
                left: -5px;
                padding-left: 5px;
                padding-right: 5px;
            }

            .shopList__container__inner__shop .category__uranai{
                background-color: #96DDE3;
            }

            .shopList__container__inner__shop .category__sejutsu{
                background-color: #EE87B4;
            }

            .shopList__container__inner__shop .category__shoku{
                background-color: #D8E698;
            }

            .shopList__container__inner__shop .category__akuse{
                background-color: #FFF67F;
            }

        .shopList__container__inner a:hover{
            cursor: pointer;
        }

        .shopList__container__inner a:hover .shopList__container__inner__shop{
            box-shadow: none
        }
        
        /*FIRST ROW*/
        .firstRow__left{
            background-image: url(../img/repos/repos_stories_w400_h400.jpg);
        }

        .firstRow__center{
            background-image: url(../img/liberta_w240_h240.jpg);
        }

        .firstRow__right{
            background-image: url(../img/yui/yui_fv_09_w400_h400.jpg);
        }

        /*second ROW*/
        .secondRow__left{
            background-image: url(../img/repos/salut/salut_w400_h400.jpg);
        }

        .secondRow__center{
            background-image: url(../img/repos/lecalin/lecalin_w400_h400.jpg);
        }

        .secondRow__right{
            background-image: url(../img/repos/conys_tone/conys_tone_w400_h400.jpg);
        }

        /*third ROW*/
        .thirdRow__left{
            background-image: url(../img/taoyaka_w200_h200.jpg);
        }

        .thirdRow__center{
            background-image: url(../img/himari_w240_h240.jpg);
        }

        .thirdRow__right{
            background-image: url(../img/sleep_w240_h240.jpg);
        }

        /*FORTH ROW*/
        .forthRow__left{
            background-image: url(../img/popo_w240_h240.jpg);
        }

        .forthRow__center{
            background-image: url(../img/hakoniwa_w240_h240.jpg);
        }

        .forthRow__right{
            background-image: url(../img/kamosu_w240_h240.jpg);
        }

        /*FIFTH ROW*/
        .fifthRow__left{
            background-image: url(../img/tenno_w240_h240.jpg);
        }

        .fifthRow__center{
            background-image: url(../img/mano_w240_h240.jpg);
        }

        .fifthRow__right{
            background-image: url(../img/okoto_w240_h240.jpg);
        }

        /*sixth ROW*/
        .sixthRow__left{
            background-image: url(../img/enlace/enlace_feature02_w400_h400.jpg);
        }

        .sixthRow__center{
            background-image: url(../img/sleep_w240_h240.jpg);
        }

        .sixthRow__right{
            background-image: url(../img/mano_w240_h240.jpg);
        }

/*DESKTOP --SHOPLIST--*/
@media(min-width: 768px){
    .shopList__container__inner__shop .shopList__label, .shopList__container__inner__shop .shopList__category{
        font-size: 20px;
    }

    .shopList__container__inner__shop .shopList__category{
        top: 200px;
    }

    .shopList__container__inner__shop{
        width: 240px;
        height: 240px;
    }

    .shopList__container__inner__flame p{
        margin-top:5px;
    }

    .shopList__container__inner__flame{
        height: 270px;
        width: 240px;
    }

    .shopList__container__inner{
        height: 280px;
        gap: 8px;
    }

    .shopList__container{
        width: 768px;
    }
}

/*SHOPLIST END*/

/*HOW TO USE START*/
.howToUse{
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
}

.howToUse__container{
    width: 350px;
    height: auto;
    margin-top: 50px;
}

    .howToUse__container__heading{
        width: 100%;
        height: 50px;
    }

        .howToUse__container__heading h2{
            font-family: "M PLUS 1", sans-serif;
            font-optical-sizing: auto;
            font-weight: 400;
            font-style: normal;
            font-size: 20px;
            display: inline-block;
            background-color: #343434;
            color: #fcfcfc;
            padding: 10px;
        }

    .howToUse__container__inner{
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

        .howToUse__container__inner__step{
            width: 300px;
            height: 200px;
            border: solid 1px #343434;
            border-radius: 10px;
            box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.7);
        }

            .howToUse__container__inner__step__title{
                width: 100%;
                height: 30px;
            }

                .howToUse__container__inner__step__title h3{
                    font-family: "M PLUS 1", sans-serif;
                    font-optical-sizing: auto;
                    font-weight: 700;
                    font-style: normal;
                    font-size: 20px;
                }

                .howToUse__large{
                    font-size: 24px;
                }

            .howToUse__container__inner__step__image{
                width: 100%;
                height: 170px;
                display: grid;
                place-items: center;
            }

                .howToUse__container__inner__step__image img{
                    width: 250px;
                    height: 166px;                    
                }

        .howToUse__container__inner__triangle{   
            width: 0;
            height: 0;
            border-left: 10px solid transparent;
            border-right: 10px solid transparent;
            border-top: 20px solid #F5B2AC;
            margin-top: 10px;
            margin-bottom: 10px;
        }

            
@media(min-width: 768px){
    .howToUse__container__inner__triangle{
        margin: 0;
        border-top: 10px solid transparent;
        border-bottom:  10px solid transparent;
        border-left: 20px solid #F5B2AC;
        border-right: 0;
    }

    .howToUse__container__inner__step__image img{
        width: 230px;
        height: auto;
    }

    .howToUse__container__inner__step{
        width: 250px;
    }

    .howToUse__container__inner{
        flex-direction: row;
    }

    .howToUse__container{
        width: 768px;
    }
}
/*HOW TO USE END*/

/*CTA START*/
.cta{
    width: 100%;
    height: auto;
    display: grid;
    place-items: center;
}

.cta__container{
    width: 350px;
    height: auto;
    margin-top: 50px;
}

    .cta__container__left, .cta__container__right{
        width: 350px;
        height: 150px;
    }

    .cta__container__left{
        background-color: #FEECD2;
    }

        .cta__container__left p, .cta__container__left h3{
            font-family: "Noto Sans JP", sans-serif;
            font-optical-sizing: auto;
            font-weight: 400;
            font-style: normal;
            font-size: 16px;
            line-height: 1.5rem;
            margin-top: 10px;
        }

        .cta__container__left h3{
            font-weight: 700;
        }

        .cta__container__right p{
            font-family: "Noto Sans JP", sans-serif;
            font-optical-sizing: auto;
            font-weight: 700;
            font-style: normal;
            font-size: 20px;
            text-align: center;
            margin-top: 10px;
        }

        .cta__container__right .cta__large{
            font-size: 24px;
        }

        .cta__container__right__image{
            width: 100%;
            height: 90px;
            display: grid;
            place-items: center;
        }

            .cta__container__right__image img{
                width: auto;
                height: 90px;
            }


@media(min-width: 768px){
    .cta__container__left h3{
        text-align: center;
    }

    .cta__container__left, .cta__container__right{
        width: 374px;
    }

    .cta__container{
        width: 768px;
        display: flex;
        gap: 20px;
    }
}
/*CTA END*/