@charset "utf-8";

/*------------------------------------------------------------

    2025.06 page-topconts ver02  CSS
    font-family: "MFW-PRyuminKOpProN-Regular";
MFW-PRyuminKOpProN-Bold

------------------------------------------------------------*/



/*card__basic*/
.card__basic{
    padding: 16px;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
a.card__basic{
    cursor: pointer;
}
a.card__basic:hover{
    opacity: 0.8;
}

.card__basic .unit__ph{
    width: 100%;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}
    .card__basic .unit__ph img{
        position: absolute;
        transform: translateX(-50%) translateY(-50%);
        top: 50%;
        left:50%;
        width: 100%;
        height: auto;
    }
.card__basic .unit__txt{
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    justify-content: space-between;
    flex-grow: 1;
    gap: 10px;
    width: 100%;
}
    .card__basic .label_txt{
        display: flex;
        justify-content: center;
        padding: 3px 5px;
        font-size: 13px;
        font-family: "MFW-PRyuminKOpProN-Regular";
        line-height:1em;
        letter-spacing:.1em;
    }
    .card__basic .unit__txt h5{
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 10px;
        font-size: 16px;
        line-height: 1.5em;
        letter-spacing: -0.01em !important;
        text-align: justify;
    }
    .card__basic .unit__txt p{
        font-family: "MFW-PRyuminKOpProN-Regular";
        font-size: 14px;
        line-height: 1.5em;
        letter-spacing: -0.01em;
        text-align: justify;
    }
    .card__basic .unit__txt p:after{
        content:"…";
    }

/*txt*/
.card__basic h5{
    font-family: "MFW-PRyuminKOpProN-Medium";
    font-size: 17px !important;
}
@media screen and (max-width: 559px){
    .card__basic h5{
        font-size: 17px !important;
    }
}


/* unit__card　------------------------------------------*/
.area_article .unit__card{
    overflow-y: scroll;
    display: flex;
    align-self: stretch;
    align-items: flex-start;
    margin-left: 24px;
}
    .area_article .wrap__card{
            display: flex;
            padding-top:4px;
            padding-right:24px;
            padding-bottom:10px;
            padding-left:4px;
            align-items: flex-start;
            gap: 10px;
    }
        .area_article .card__basic{
            width: 280px;
            padding: 16px;
            gap: 10px;
            align-self: stretch;
        }

@media screen and (min-width: 560px) and (max-width: 960px){
    .area_article .unit__card{
        margin-left: 48px;
    }
        .area_article .wrap__card{
                padding-right:48px;
                align-items: flex-start;
                gap: 24px;
        }
            .area_article .card__basic{
                width: 310px;
            }
}
@media screen and (min-width: 961px){
    .area_article .unit__card{
        margin-left:0;
        max-width: 960px;
    }
        .area_article .wrap__card{
                width: 100%;
                padding: 4px;
                align-items: flex-start;
                gap: 24px;
        }
        .area_article .card__basic{
            width : calc((100% - 48px)/ 3) ;
        }
}


/*frame__line*/
.frame__line{
    display: flex;
    padding: 16px 10px;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    border: 1px solid #BAB09E;
    background: #FFF;
    width: 100%;
}


/*unit__btn-more*/
.unit__btn-more{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
.unit__btn-more .btn__more{
    display: flex;
    width: 100%;
    max-width: 320px;
    height: 42px;
    padding: 0 21px;
    justify-content: center;
    align-items: center;
    border-radius: 42px;
    border: 1px solid #BAB09E;
    background: #FFF;
    text-align: center;
    font-family: "MFW-PRyuminKOpProN-Regular";
    font-size: 13px;
    line-height:1em;
    letter-spacing: -0.1em;
    cursor: pointer;
}
    .unit__btn-more .btn__more span{
        font-size: 16px;
        letter-spacing: 0.08em;
    }
    .unit__btn-more .btn__more span.kerning{
        letter-spacing: 0em;
    }
    .unit__btn-more .btn__more:hover{
        opacity: .8;
    }
    .unit__btn-more .btn__more:after{
        content: "";
        width: 20px;
        height: 20px;
        margin-left: 5px;
        background: url("../images/icon/arrow_bn_link.svg") center 50% no-repeat;
        background-size: 100% auto;
    }
    .unit__btn-more .btn__more-other:after{
        content: "";
        width: 14px;
        height: 14px;
        background: url("../images/icon/icon_bn_other_site.svg") center 50% no-repeat;
        background-size: 100% auto;
    }

/* btn__comm-tool */
.unit__btn__comm-tool{
    border-top: 1px solid #E0DBD2;
    padding-top: 32px;
}
    @media screen and (min-width: 560px){
        .unit__btn__comm-tool{
            padding-top: 64px;
        }
    }


.btn__comm-tool{
    display: flex;
    height: 42px;
    padding: 0 21px;
    justify-content: center;
    align-items: center;
    border-radius: 42px;
    border: 1px solid #715E3A;
    background: #715E3A;
    color: #fff;
    text-align: center;
    font-family: "MFW-PRyuminKOpProN-Regular";
    font-size: 15px;
    line-height:1em;
    letter-spacing: -0.01em;
    cursor: pointer;
}
.btn__comm-tool:hover{
    color: #fff;
}
    .btn__comm-tool:after{
        content: "";
        width: 20px;
        height: 20px;
        margin-left: 5px;
        background: url("../images/icon/arrow_wh_cart.svg") center 50% no-repeat;
        background-size: 100% auto;
    }


/*unit__btn-link*/
.unit__btn-link{
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}
.unit__btn-link .btn__link{
    display: flex;
    height: 28px;
    padding: 0 14px;
    justify-content: center;
    align-items: center;
    border-radius: 28px;
    border: 1px solid var(--boder, #BAB09E);
    background: #FFF;
    gap: 5px;
    text-align: center;
    font-family: "MFW-PRyuminKOpProN-Regular";
    font-size: 13px;
    line-height:1em;
    letter-spacing: 0.05em;
    cursor: pointer;
}
    .unit__btn-link .btn__link:hover{
        opacity: .8;
    }
    .unit__btn-link .btn__link:after{
        content: "";
        width: 20px;
        height: 20px;
        background: url("../images/icon/arrow_bn_link.svg") center 50% no-repeat;
        background-size: 20px auto;
    }
    .unit__btn-link .btn__link-other:after{
        content: "";
        width: 14px;
        height: 14px;
        background: url("../images/icon/icon_bn_other_site.svg") center 50% no-repeat;
        background-size: 14px auto;
    }

/*unit__txt-link*/
.unit__txt-link{
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    width: 100%;
}
.unit__txt-link .txt__link{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    font-family: "MFW-PRyuminKOpProN-Regular";
    font-size: 13px;
    line-height:20px;
    letter-spacing: 0.05em;
    cursor: pointer;
    padding-top: 5px;
}

    .unit__txt-link .txt__link:after{
        content: "";
        width: 20px;
        height: 20px;
        display: block;
        background: url("../images/icon/arrow_bn_link.svg") center 50% no-repeat;
        background-size: 20px auto;
    }
    .unit__txt-link .txt__link-other:after{
        content: "";
        width: 14px;
        height: 14px;
        background: url("../images/icon/icon_bn_other_site.svg") center 50% no-repeat;
        background-size: 14px auto;
    }


/*unit_title-main*/
.page-topconts h3{
    font-size: 21px;
    line-height: 100%;
    letter-spacing:0.1em;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}
@media screen and (min-width: 560px) {
    .page-topconts h3{
        font-size: 24px;
    }
}
.page-topconts h3:before{
    content:"";
    width: 38px;
    height: 38px;
    display: block;
    background-size: 100% auto;
}
    .section_seasonal-rec h3:before{
        background: url("../images/icon/icon_bn_rec_seas.svg") center 50% no-repeat;
    }
    .section_seasonal-care h3:before{
        background: url("../images/icon/icon_bn_column_care.svg") center 50% no-repeat;
    }
    .section_suhada h3:before{
        background: url("../images/icon/icon_bn_blog_suhada.svg") center 50% no-repeat;
    }
    .section_makunouchi h3:before{
        background: url("../images/icon/icon_bn_makunouchi.svg") center 50% no-repeat;
    }
.page-topconts h4.icon_aky{
    font-size: 20px;
    line-height: 100%;
    letter-spacing:0.1em;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}
.page-topconts h4.icon_aky:before{
    content:"";
    width: 16px;
    height: 16px;
    display: block;
    background: url("../images/icon/icon_bn_logo-mark-r.svg") center 50% no-repeat;
    background-size: 100% auto;
}


/*.section_common
----------------------------------------------------------------*/
.page-topconts{
    background: #F4F5F6;
}
.section_common{
    display: flex;
    padding: 32px 0;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: 100%;
}
@media screen and (min-width: 560px) {
    .section_common{
        padding: 64px 0;
        gap: 46px;
    }
}

.wrap_common{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: 100%;
    max-width: 960px;
    padding-left: 24px;
    padding-right: 24px;
}

@media screen and (min-width: 560px) and (max-width: 960px){
    .wrap_common{
        padding-left: 48px;
        padding-right: 48px;
    }
}
@media screen and (min-width: 961px){
    .wrap_common{
        padding-left: 0px;
        padding-right: 0px;
    }
}

/*.page-title
----------------------------------------------------------------*/
.page-title{
    display: flex;
    /*padding: 32px 0;*/
    padding: 16px 0;
    flex-direction: column;
    align-items: center;
}


/*section_seasonal-rec 季節のおすすめ
----------------------------------------------------------------*/
.section_seasonal-rec{
    padding-top: 0;
}
@media screen and (min-width: 560px) {
    .section_seasonal-rec.section_common{
        gap: 64px;
    }
}
.section_seasonal-rec h3{
   /* margin-top: 16px;*/
}

.content_seasonal-rec{
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    gap:24px;
}

/*wrap_card-main*/
.section_seasonal-rec .wrap_card-main{
    width: 100%;
    display: block;
}
.section_seasonal-rec .wrap_card-main .box__card{
    padding-left: 24px;
    padding-right: 24px;
    padding-top: 4px;
    padding-bottom: 4px;
}
@media screen and (min-width: 560px) {
    .section_seasonal-rec .wrap_card-main{
        overflow: hidden;
        height: 540px;
    }
    .section_seasonal-rec .slick_card-main{
        position: absolute !important;
        transform:translateX(-50%);
        left: 50%;
        width: 1680px;
    }
    .section_seasonal-rec .wrap_card-main .box__card{
        padding-left: 12px;
        padding-right: 12px;
    }
}
@media screen and (min-width: 960px) {
    .section_seasonal-rec .wrap_card-main{
        height: 387px;
    }
    .section_seasonal-rec .slick_card-main{
        width: 2952px;
    }
}

/*slick-dots*/
.section_seasonal-rec .slick_card-main .slick-dots{
    padding-top: 10px;
    display: flex;
    justify-content: center;
}
    .section_seasonal-rec .slick_card-main .slick-dots li{
        position: relative;
    }
    .section_seasonal-rec .slick_card-main .slick-dots button{
        position: relative;
        display: flex;
        width: 32px;
        height: 32px;
        justify-content: center;
        align-items: center;
        border: none;
        font-size: 0;
        background:none;
    }
    .section_seasonal-rec .slick_card-main .slick-dots button:before{
        content:"";
        position: absolute;
        transform: translateX(-50%) translateY(-50%);
        top: 50%;
        left:50%;
        width: 8px;
        height: 8px;
        border: 1px solid #715E3A;
        background: #fff;
        border-radius: 50%;
    }
    .section_seasonal-rec .slick_card-main .slick-dots .slick-active button:before{
        background: #715E3A;
    }

.section_seasonal-rec .wrap_card-main .card__basic{
    display: flex;
    padding: 16px;
    flex-direction: column;
    gap: 16px;
    /*width: 100%;
    max-width: 512px;*/
}
@media screen and (min-width: 960px) {
    .section_seasonal-rec .wrap_card-main .card__basic{
        /*max-width: 840px;*/
        flex-direction: row;
    }
    .section_seasonal-rec .wrap_card-main .card__basic .unit__ph{
        width:60%;
        flex-shrink: 0;
    }
    .section_seasonal-rec .wrap_card-main .card__basic .unit__txt{
    }
}

.section_seasonal-rec .wrap_card-main .card__basic .label_txt{
    background: rgba(232, 192, 195, 0.50);
}
.section_seasonal-rec .wrap_card-main .card__basic .unit__btn-link{
    width: 100%;
    justify-content: flex-end;
}


/*wrap__card*/
.section_seasonal-rec .wrap__card{
    display: flex;
    flex-direction: column;
    max-width:480px;
    gap: 10px;
}
.section_seasonal-rec .wrap__card .card__basic{
    flex-direction: row;
    align-items: flex-start;
}
.section_seasonal-rec .wrap__card .card__basic .unit__ph{
    width: 100px;
    aspect-ratio: 1 / 1;
    flex-shrink: 0;
}
@media screen and (min-width: 560px) {
    .section_seasonal-rec .wrap__card .card__basic .unit__ph{
        width: 160px;
    }
}
.section_seasonal-rec .wrap__card .card__basic .unit__ph img{
    width:auto;
    max-width:none;
    height: 100%;
}

.section_seasonal-rec .wrap__card .card__basic .unit__txt{
    padding-top: 5px;
    gap:5px;
}
.section_seasonal-rec .wrap__card .card__basic .label_txt{
    background: rgba(232, 192, 195, 0.50);
}
.section_seasonal-rec .wrap__card .card__basic h5{
    letter-spacing: -0.01em;
    gap:5px;
}
.section_seasonal-rec .wrap__card .card__basic .unit__txt-link .txt__link{
    padding-top: 0;
    line-height: 1em;
}

@media screen and (min-width: 960px) {
    .section_seasonal-rec .wrap__card{
        display: flex;
        flex-direction: row;
        max-width:100%;
        gap: 24px;
    }
    .section_seasonal-rec .wrap__card .card__basic{
        flex-direction: column;
    }
    .section_seasonal-rec .wrap__card .card__basic .unit__ph{
        width: 100%;
    }
    .section_seasonal-rec .wrap__card .card__basic .box__txt{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        height: 100%;
    }
    .section_seasonal-rec .wrap__card .card__basic .unit__txt{
        justify-content: space-between;
        height: 100%;
    }
}


/*section_seasonal-care 季節の養生
----------------------------------------------------------------*/
.section_seasonal-care{
    border-top: 1px solid #E0DBD2;
    background: #F8F6F2;
    gap: 48px;
}

.section_seasonal-care .wrap_common{
    padding-left: 0;
    padding-right: 0;
}

/*area_article*/
.area_article{
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}
@media screen and (min-width: 768px){
    .area_article{
        gap: 24px;
    }
}

    /*unit_title-main*/
    .unit_title-main{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }
    .unit_title-main .subtitle{
        font-family: "MFW-PRyuminKOpProN-Regular";
        font-size: 16px;
        line-height: 100%;
        letter-spacing:0.1em;
    }


    /*unit_title-art*/
    .unit_title-art{
        display: flex;
        flex-direction: column;
        gap: 0px;
        padding-left:64px;
        padding-right: 24px;
    }
    @media screen and (min-width: 560px) and (max-width: 960px){
        .unit_title-art{
            padding-left:88px;
            padding-right:48px;
        }
    }
    @media screen and (min-width: 960px){
        .unit_title-art{
            padding-left:45px;
            padding-right:0;
        }
    }


        .unit_title-art h4{
            font-size: 18px;
            line-height: 30px; 
            letter-spacing: .1em;
            font-family: "MFW-PRyuminKOpProN-Medium";
        }
        @media screen and (min-width: 560px) {
            .unit_title-art h4{
                font-size: 20px;
            }
        }
        .unit_title-art h4:before{
            position: absolute;
            top: 0;
            left: -40px;
            content:"";
            width: 30px;
            height: 30px;
            display: block;
        }
        .article_01 .unit_title-art h4:before{
            background: url("../images/icon/icon_bn_recipe.svg") center 50% no-repeat;
            background-size: 100% auto;
        }
        .article_02 .unit_title-art h4:before{
            background: url("../images/icon/icon_bn_recipe_yakuzen.svg") center 50% no-repeat;
            background-size: 100% auto;
        }
        .article_03 .unit_title-art h4:before{
            background: url("../images/icon/icon_bn_lifestyle_oriental.svg") center 50% no-repeat;
            background-size: 100% auto;
        }
        .article_04 .unit_title-art h4:before{
            background: url("../images/icon/icon_bn_food_oriental.svg") center 50% no-repeat;
            background-size: 100% auto;
        }

        .unit_title-art .subtitle{
            font-family: "MFW-PRyuminKOpProN-Regular";
            font-size: 14px;
            line-height: 1.5em;
            letter-spacing: -0.05em;
    }



/*section_suhada すはだ天気予報
----------------------------------------------------------------*/
.section_suhada{
    background: rgba(229, 222, 232, 0.50);
}
.content_suhada{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    width: 100%;
}
@media screen and (min-width: 768px){
    .content_suhada{
        gap: 24px;
    }
}

.section_suhada .frame__line{
    padding: 16px;
    gap: 16px;
}
@media screen and (min-width: 560px) and (min-width: 767px){
    .section_suhada .frame__line{
        padding: 24px;
        gap: 24px;
    }
}
@media screen and (min-width: 768px) and (min-width: 960px){
    .section_suhada .frame__line{
        flex-direction: row;
    }
    .section_suhada .frame__line .unit__ph{
        width: 340px;
        flex-shrink: 0;
    }
}
@media screen and (min-width: 960px){
    .section_suhada .frame__line .unit__ph{
        width : calc((100% - 24px)/ 2) ;
    }
}

    .section_suhada .frame__line p{
        text-align: justify;
        font-size: 14px;
        font-family: "MFW-PRyuminKOpProN-Regular";
        line-height: 1.6em;
        letter-spacing:-0.05em;
    }

.section_suhada .area_article-suhada .unit__card{
    display: flex;
}
.section_suhada .area_article-suhada .wrap__card{
    display: flex;
    flex-direction: column;
    gap: 16px;
}
@media screen and (min-width: 560px) and (min-width: 767px){
    .section_suhada .area_article-suhada{
        padding-right: 0;
    }
    .section_suhada .area_article-suhada .unit__card{
        overflow-y: scroll;
        display: flex;
        align-self: stretch;
        align-items: flex-start;
    }
        .section_suhada .area_article-suhada .wrap__card{
            flex-direction: row;
            padding-top:4px;
            padding-right:24px;
            padding-bottom:10px;
            padding-left:4px;
            align-items: flex-start;
            gap: 24px;
        }
}

.section_suhada .area_article-suhada .card__basic{
    width: 100%;
    max-width: 380px;
    flex-shrink: 0;
}
.section_suhada .area_article-suhada .unit__ph{
    aspect-ratio: 295/154;
}


/*section_makunouchi 幕の内がわ新聞
----------------------------------------------------------------*/
.section_makunouchi{
    background: rgba(210, 218, 224, 0.70);
}
.section_makunouchi .wrap__card{
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.section_makunouchi .card__basic{
    width: 100%;
    max-width: 480px;
}
@media screen and (min-width: 560px){
    .section_makunouchi .wrap__card{
        gap: 24px;
    }
}
@media screen and (min-width: 960px){
    .section_makunouchi .wrap__card{
        flex-direction:row;
    }
    .section_makunouchi .card__basic{
        max-width:100%;
        flex: 1;
    }
}
    .section_makunouchi .card__basic .label_txt{
        width: 70px;
        background: rgba(192, 216, 237, 0.50);
    }


/*section_beauty-info 美養情報をもっと見る
----------------------------------------------------------------*/
.section_beauty-info{
    background: #F8F6F2;
    padding-bottom: 48px;
}
@media screen and (min-width: 560px){
    .section_beauty-info{
        padding-bottom: 84px;
    }
}

.section_beauty-info .wrap_common{
    gap: 0;
}
.section_beauty-info .anchor-link{
    padding-top: 84px;
}
    @media screen and (min-width: 560px){
        .section_beauty-info .anchor-link{
            padding-top: 104px;

        }
    }
/*frame__line*/
.section_beauty-info .wrap_frame{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: center;
    width: 100%;
    z-index: 10;
}
@media screen and (min-width: 961px){
    .section_beauty-info .wrap_frame{
        flex-wrap:nowrap;
    }
}

/*frame__line*/
.section_beauty-info .frame__line{
    max-width: 348px;
    }
@media screen and (min-width: 768px) and (max-width: 959px){
.section_beauty-info .frame__line{
        width:calc((100% - 24px) / 2);
    }
}
@media screen and (min-width: 961px){
.section_beauty-info .frame__line{
        width: auto;
        flex: 1;
    }
}

    .section_beauty-info .frame__line h5{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px;
        line-height: 1em;
        padding-bottom: 10px;
        border-bottom: 1px solid #BAB09E;
    }
    .section_beauty-info .frame__line h5:before{
            content:"";
            width: 32px;
            height: 32px;
        }
    .section_beauty-info .frame__line.info_01 h5:before{
            background: url("../images/icon/icon_bn_use.svg") center 50% no-repeat;
            background-size: 100% auto;
        }
    .section_beauty-info .frame__line.info_02 h5:before{
            background: url("../images/icon/icon_bn_blog_suhada.svg") center 50% no-repeat;
            background-size: 100% auto;
        }
    .section_beauty-info .frame__line.info_03 h5:before{
            background: url("../images/icon/icon_bn_nihachi.svg") center 50% no-repeat;
            background-size: 100% auto;
        }
    .section_beauty-info .frame__line ul{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }
    .section_beauty-info .frame__line ul li{
        font-family: "MFW-PRyuminKOpProN-Regular";
        font-size: 14px;
        line-height: 1em;
        letter-spacing: 0.1em;
    }
    .section_beauty-info .frame__line .unit__btn-more{
        width: 100%;
        max-width: 240px;
    }
    .section_beauty-info .frame__line .btn__more{
        font-size: 14px;
        letter-spacing: 0.01em;
    }

/*frame__more-info*/
.frame__more-info{
    display: flex;
    padding: 16px 10px;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    border: 1px solid #BAB09E;
    width: 100%;
}
@media screen and (min-width: 560px){
    .frame__more-info{
        padding: 24px;
    }
}
    .frame__more-info h4{
        letter-spacing:0.05em !important;
        padding-bottom: 10px;
        border-bottom: 1px solid #BAB09E;
    }

    .frame__more-info p{
        text-align: center;
        font-family: "MFW-PRyuminKOpProN-Regular";
        font-size: 14px;
        line-height: 1.5em;
        letter-spacing: 0.1em;
        }
    .frame__more-info p span{
        display: inline-block;
        }
    .frame__more-info .unit__btn-link{
        width: 100%;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 10px;
    }
    @media screen and (min-width: 560px){
        .frame__more-info .unit__btn-link{
            gap: 16px;
        }
    }
    .frame__more-info .btn__link{
        width: 100%;
        max-width: 240px;
        height: 42px;
        }

