@charset "utf-8";

#visual {
    background: url(../images/index/main_img.jpg) center;
    background-size: cover;
    width: 100%;
    height: 100vh;
    max-height: 60vw;
    position: relative;
    margin-bottom: 11em;
    font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
}

#visual .txt_area {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    margin: auto;
    z-index: 1;
    width: 90%;
}

#visual h1 {
    width: clamp(400px, 50%, 540px);
    margin: 0 auto 1em;
}

#visual h2 {
    letter-spacing: clamp(0.05em, .75vw, 0.5em);
    font-size: 100%;
}

#visual h3 {
    position: absolute;
    bottom: -18em;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    margin: auto;
    width: 100%;
    font-size: 87.5%;
    line-height: 2.6;
    letter-spacing: clamp(0.05em, .75vw, 0.5em);
}




section h2 {
    font-size: clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem);
    margin-bottom: 2em;
    letter-spacing: clamp(0.05em, .75vw, 0.5em);
    font-weight: bold;
}

section h3 {
    font-size: clamp(1.125rem, 1.057rem + 0.34vw, 1.313rem);
    letter-spacing: clamp(0.05em, .5vw, 0.5em);
    font-weight: bold;
}

section h4 {
    margin-bottom: 1em;
    font-weight: bold;
}

.h_f21 {
    font-size: clamp(0.875rem, 0.716rem + 0.8vw, 1.313rem);
}


.tit_box {
    background: rgba(255, 255, 255, .3);
    outline: #BCA859 solid 1px;
    outline-offset: -0.3em;
    padding: 1.5em .5em;
    font-size: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem);
    margin: 2em 0;
    font-weight: bold;
}

.tit_box .small {
    display: block;
    font-size: clamp(0.875rem, 0.716rem + 0.8vw, 1.313rem);
    margin-bottom: 1em;
}

.tit_box div {
    margin: auto;
    text-align: center;
    font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
}

.tit_box ul {
    display: inline-block;
    text-align: left;
}

.tit_box ul li {
    font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
}


h3.bd_l {
    font-size: clamp(1.125rem, 1.057rem + 0.34vw, 1.313rem);
    border-bottom: 1px solid #707070;
    padding-bottom: .5em;
    margin-bottom: 3em;
}



#top_protein h3 .small {
    display: block;
    font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
}


.item_buy .sub h3 {
    font-size: 1rem;
    margin-bottom: .5em;
    font-family: "Noto Sans JP", YuGothic, 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    font-weight: bold;
    letter-spacing: 0.05em;
}



.lead {
    font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
    margin-bottom: 4em;
    text-align: center;
}



.anchor {
    padding-top: 60px;
    margin-top: -60px;
}


.wt_box {
    background: #fff;
    padding: 3em 3.5em;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
}



.txt_w46,
.img_w46 {
    width: 46%;
}

.txt_w48,
.img_w48 {
    width: 48%;
}

.txt_w58 {
    width: 58%;
}

.img_w38 {
    width: 38%;
}

#top_concept .tit_area {
    background: url(../images/index/concept_img.jpg) center;
    background-size: cover;
    width: 100vw;
    margin: 0 calc(50% - 50vw) 3em;
    height: 50vw;
    max-height: 350px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

#top_concept .tit_area h2 {
    color: #fff;
    letter-spacing: clamp(0.05em, .75vw, 0.5em);
    text-shadow: 0 0 15px #573825;
    line-height: 2.4;
}

#top_concept ul {
    text-align: center;
}

#top_concept ul li {
    display: inline-block;
    background: rgba(255, 255, 255, .4);
    border: 1px solid #BCA859;
    padding: 1em 1.5em;
    margin: 1em 1.5em;
    font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
}



#top_what .box01 .txt_area {
    width: 64%;
}

#top_what .box01 .img_area {
    width: 24%;
}


#top_what .box01 .list_wrap {
    width: 100%;
    max-width: 760px;
    margin: auto;
}

#top_what .box01 ul {
    width: calc((100% - 30px) / 3);
}

#top_what .box01 li {
    border-radius: 10px;
    text-align: center;
    padding: 1em;
}

#top_what .box01 li:not(:last-child) {
    margin-bottom: 15px;
}

#top_what .box01 .list01 li {
    background: #FFF9AA;
}

#top_what .box01 .list02 li {
    background: #FFDCE0;
}

#top_what .box01 .list03 li {
    background: #C9F0FB;
}

#top_what .box01 .wt_box p {
    text-align: center;
}



#top_what .box03 .img_area {
    width: 100%;
    max-width: 870px;
    margin: auto;
}


#top_what .box05 .img_area,
#top_what .box06 .img_area,
#top_what .box07 .img_area {
    float: right;
    margin-left: 30px;
}

#top_what .detail {
    background: #F5F5F5;
    padding: 1em;
    width: 58%;
}




#top_protein .protein_img {
    width: 80%;
    max-width: 368px;
    margin: 0 auto 3em;
}

#top_features .box02 li {
    border-top: 1px dotted #707070;
    padding-top: 3em;
    margin-top: 3em;
}

#top_features .box02 li .img_area {
    float: right;
    margin-left: 2em;
    margin-bottom: 0.8em;
    max-width: 330px;
}




#top_faq {
    position: relative;
}

#top_faq::after {
    content: "";
    display: block;
    background: url(../images/index/faq_bg.jpg) center center;
    background-size: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    text-align: center;
}

#top_faq>div {
    position: relative;
    z-index: 1;
}

#top_faq h2 {
    color: #fff;
}



#top_faq .accordion-area {
    list-style: none;
    width: 96%;
    max-width: 900px;
    margin: 0 auto;
}

.accordion-area li:not(:last-child) {
    margin-bottom: 1.5em;
}


.accordion-area .title {
    position: relative;
    cursor: pointer;
    padding: 1em 4em 1em 6em;
    transition: all .5s ease;
    text-align: left;
    background: #fff;
}

.accordion-area .title .q_num {
    display: inline-block;
    background: #BCA859;
    color: #fff;
    border-radius: 50%;
    padding: .25em .75em;
    position: absolute;
    top: 50%;
    left: 1.5em;
    transform: translateY(-50%);
}


.accordion-area .title::before,
.accordion-area .title::after {
    position: absolute;
    content: '';
    width: clamp(1em, 4vw, 1.4em);
    height: 2px;
    background-color: #1C2029;

}

.accordion-area .title::before {
    top: 48%;
    right: 15px;
    transform: rotate(0deg);

}

.accordion-area .title::after {
    top: 48%;
    right: 15px;
    transform: rotate(90deg);

}

.accordion-area .title.close::before {
    transform: rotate(45deg);
}

.accordion-area .title.close::after {
    transform: rotate(-45deg);
}

#top_faq .accordion-area .open_box {
    display: none;
    padding: 1em 1.5em;
    background: #fff;
}

#top_features .accordion-area .title,
#top_protein .accordion-area .title {
    display: none;
}



.item_buy .txt_area {
    width: 60%;
}

.item_buy .img_area {
    width: 34%;
}

.item_buy .buy_area {
    width: 100%;
    padding: 1em 0;

}

.item_buy .txt_area h2 {
    width: 80%;
    max-width: 446px;
}

.item_buy .txt_area li {
    letter-spacing: 0;
}

.item_buy .txt_area li:not(:last-child) {
    margin-bottom: 2em;
}



.features_ilust {
    margin: 0 auto 3em;
    display: flex;
    width: 90%;
}

.features_ilust li {
    margin: 0 1em;
    font-size: clamp(0.688rem, 0.642rem + 0.23vw, 0.813rem);
}

.features_ilust li img {
    width: 70%;
    display: block;
    margin: auto;
}

.feature_txt {
    display: none;
}


.item_buy .wrap {
    position: relative;
}

.item_buy .features_list {
    border: 1px solid #707070;
    padding: 1.5em;
}

.item_buy .features_ilust {
    width: 100%;
    margin: 0 auto;
}

.item_buy .buy_area {}

.item_buy .buy_area h3 {
    margin-bottom: .75em;
    letter-spacing: 0.1em;
    font-weight: bold;
}

.item_buy .buy_area h3 span {
    display: block;
    font-size: 1rem;
    font-family: "Noto Sans JP", YuGothic, 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    font-weight: normal;
}


@media (max-width: 1099px) {


    #top_features .features_ilust {
        width: 98%;
    }

    #top_features .features_ilust li {
        margin: 0 .75em;
    }



    .item_buy .features_list {
        padding: 1em .5em;
    }


    .item_buy .buy_area {}





}





@media (max-width: 999px) {

    .wt_box {
        padding: 5vw 6vw;
    }

    #top_intro .area01,
    #top_what .box02 .area01 {
        margin-bottom: 6vw;
    }

    #top_concept ul li {
        margin: clamp(0.5em, 1vw, 0.8em);
    }

    .item_buy .features_list {
        padding: 4vw;
    }

    .item_buy .features_ilust {
        width: 100%;
        margin: 0 auto 4vw;
    }

    .item_buy .features_ilust li {
        margin: 0 .5em;
    }

    .item_buy .features_ilust li figcaption {
        display: none;
    }

    .item_buy .feature_txt {
        display: block;
        margin: 0 auto;
        text-align: center;
    }

    .item_buy .feature_txt ul {
        display: inline-block;
        text-align: left;
    }

    #top_howto .inner-section,
    #top_faq .inner-section {
        padding-bottom: 8vw;
    }

    #top_what .box01 .img_area {
        width: calc(36% - 2em);
    }
}



@media (max-width: 899px) {

    .features_ilust {
        width: 94%;
        margin: 0 auto 4vw;
    }

    .features_ilust li {
        margin: 0 1em;
    }

    .features_ilust li figcaption {
        display: none;
    }

    .feature_txt {
        display: block;
        margin: 0 auto 6vw;
        text-align: center;
    }

    .feature_txt ul {
        display: inline-block;
        text-align: left;
        font-size: .875rem;
    }

}


@media (max-width: 799px) {





    .tit_box {
        padding: .75em;
    }


    h3.bd_l {
        margin-bottom: 5vw;
    }


    .txt_w46,
    .txt_w48,
    .txt_w58,
    .item_buy .txt_area,
    #top_what .box01 .txt_area {
        width: 100%;
    }

    .img_w46,
    .img_w48,
    .img_w38,
    #top_what .box01 .img_area,
    .item_buy .img_area,
    #top_protein .box01 .img_area {
        width: clamp(280px, 80%, 540px);
        margin: 0 auto;
        width: 90%;
    }

    .item_buy .img_area {
        width: 80%;
        max-width: 320px;
    }

    #top_what .box01 .img_area {
        width: 80%;
        max-width: 240px;
        margin: auto;
    }

    #top_intro .box01 {
        margin-bottom: 10vw;
    }

    .w799_mb8,
    #top_intro .area01,
    #top_what .box02 .area01 {
        margin-bottom: 8vw;
    }

    .w799_mb6,
    .item_buy .img_area {
        margin-bottom: 6vw;
    }

    #top_intro .txt_area {
        text-align: center;
    }

    #top_concept ul li {
        padding: .75em 1em;
        margin: .75em 1em;
    }



    #top_what .box01 ul {
        width: 100%;
    }

    #top_what .box01 .list01,
    #top_what .box01 .list02 {
        margin-bottom: 1em;
    }

    #top_what .box01 .list01 {
        background: #FFF9AA;
    }

    #top_what .box01 .list02 {
        background: #FFDCE0;
    }

    #top_what .box01 .list03 {
        background: #C9F0FB;
    }

    #top_what .box01 li {
        display: inline-block;
        text-align: left;
        margin: .5em 1.25em;
        padding: 0;
        border-radius: 0;
    }

    #top_what .box01 li:not(:last-child) {
        margin-bottom: 0;
    }

    #top_what .box01 li::before {
        content: "\02713";
        display: inline-block;
        margin: .25em;
    }


    #top_what .box01 .wt_box p {
        text-align: left;
    }


    #top_what .box05 .img_area,
    #top_what .box06 .img_area,
    #top_what .box07 .img_area {
        float: none;
        margin-left: 0;
        width: 90%;
        max-width: 540px;
        margin: 0 auto 6vw;
    }

    #top_what .box05 .txt_area,
    #top_what .box06 .txt_area,
    #top_what .box07 .txt_area,
    #top_what .detail {
        width: 100%;
    }



    #top_features .box02 li .img_area {
        float: left;
        margin: 0;
        width: 30%;
    }


    #top_features .accordion-area .title,
    #top_protein .accordion-area .title {
        display: block;
        border: 1px solid #8A7F7A;
        padding: .75em 1em;
        text-align: center;
        font-size: .875rem;
        margin-bottom: 2em;
    }

    #top_features .box02 li .txt_area h4,
    #top_features .box02 .accordion-area .title {
        width: calc(70% - 2em);
        margin-left: auto;
    }

    #top_features .box02 .accordion-area .title {
        margin-bottom: 0;
    }

    #top_features .accordion-area .title.close,
    #top_protein .accordion-area .title.close {
        color: #ccc;
        border-color: #f7f7f7;
        background: #f7f7f7;
    }

    #top_features .accordion-area .title {
        text-align: left;
    }

    #top_features .accordion-area .open_box,
    #top_protein .accordion-area .open_box {
        display: none;
        padding: 0 0 2em;
        background: #fff;
    }

    #top_features .box02 .accordion-area .open_box {
        clear: both;
        padding: 2em 0 0;
    }

    #top_protein h3.f24,
    #top_features h3.f24 {
        margin-bottom: 0.5em;
    }

    #top_protein .accordion-area.contents_btm02,
    #top_features .accordion-area.contents_btm02 {
        margin-bottom: 0;
    }

    #top_features .box02 li {
        margin-top: 2em;
        padding-top: 2em;
        justify-content: space-between;
        align-items: flex-start;
    }

    .item_buy .wrap {
        font-size: 1rem;
        padding-top: clamp(100px, 25vw, 180px);
    }

    .item_buy .txt_area h2 {
        position: absolute;
        font-size: 1rem;
        top: 6vw;
        right: 0;
        left: 0;
        margin: auto;
        max-width: unset;
        width: clamp(240px, 80%, 446px);
    }

    .item_buy .buy_area {}



}




@media (max-width: 599px) {

    #visual {
        background: url(../images/index/main_img_smt.jpg) center top;
        background-size: cover;
        width: 100%;
        max-height: 220vw;
        margin-bottom: 6vw;
        font-size: clamp(16px, 5vw, 30px);
    }

    #visual .txt_area {
        position: absolute;
        top: 10%;
        transform: translateY(0) translateX(-50%);
    }

    #visual h1 {
        margin-bottom: 0.5em;
        width: clamp(240px, 80%, 400px);
    }

    #visual h2 {
        text-shadow: 0 0 0.5em #fefde9;
    }

    #visual h3 {
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        margin: auto;
        width: 90%;
        color: #fff;
        text-shadow: 0 0 0.8em #6b2564;
        line-height: 2.2;
    }


    #top_concept .tit_area {
        height: auto;
        max-height: 100%;
        padding: 2em .5em;
    }

    #top_concept .tit_area h2 {
        line-height: 2;
    }


    #top_concept ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    #top_concept ul li {
        display: block;
        width: calc(100% / 2 - 1em);
        margin: .5em;
        font-size: .875rem;
        padding: .25em;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .accordion-area .title {
        padding: .75em 3em .75em 4.5em;
    }

    #top_protein .accordion-area .title {
        padding: .75em;
    }

    .accordion-area .title .q_num {
        padding: .25em .75em;
        left: .75em;
    }

    .features_ilust li img {
        width: 90%;
    }

    .item_buy .sub h3 {
        line-height: 1.4;
    }

    .item_buy .sub h3 .dib {
        display: inline;
    }

    .buy_btn {
        font-size: 150%;
    }


    #top_features .box02 li .img_area {
        width: 150px;
    }

    #top_features .box02 li .txt_area h4,
    #top_features .box02 .accordion-area .title {
        width: calc(100% - 150px - 2em);
    }

}




@media (max-width: 399px) {
    #top_features .box02 li .img_area {
        width: 120px;
    }

    #top_features .box02 li .txt_area h4,
    #top_features .box02 .accordion-area .title {
        width: calc(100% - 120px - 1.5em);
    }

}

/*2512追加*/
.step_li {
    border: solid 1px #ccc;
    padding: 1rem;
    margin: 1rem 0;
}

.step_li li {}

.step_li li .step {
    background-color: antiquewhite;
    padding: 0 1em;
    margin: 0 1em 0 0;
}

.text_02 {
    padding: 1rem 0;
}

.dojyo {}

.dojyo dl {
    margin: 0 0 1rem;
}

.dojyo dl dt {
    font-weight: bold;
    border-bottom: solid 1px #ccc;
}

.dojyo dl dd {
    padding: 5px 0 5px 2em;
}

.syokubutu {}

.syokubutu dl {
    margin: 0 0 1rem;
}

.syokubutu dl dt {
    font-weight: bold;
    border-bottom: solid 1px #ccc;
}

.syokubutu dl dd {
    padding: 5px 0 5px 2em;
}

/***タイミング*************/
.timing_list {}

.timing_list li {
    margin: 0 0 1em 0;
}

.timing_list li h4 {
    background-color: #a77c37;
    padding: 5px 0;
    margin: 0;
    color: #fff;
}

.timing_list dl {
    padding: 1em;
}

.timing_list dt {
    border-bottom: solid 1px #ccc;
    font-weight: bold;
    text-align: center;
}

.timing_list dd {
    padding: 1em;
}

.timing_list dd p {
    border-bottom: dotted 1px #ccc;
}

/*600px以上*/
@media (min-width: 600px) {}

/*900px以上*/
@media (min-width: 900px) {
    .timing_list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 2%;
    }

    .timing_list li {
        margin: 0 0 1em 0;
        width: 49%;
    }

    .timing_list li {
        margin: 0 0 1em 0;
        width: 49%;
        border: solid 1px #bf9f5d;
    }
}

.aji_list {}

.aji_list li {
    margin: 0 0 1rem;
}

.aji_list dl {}

.aji_list dt {
    background-color: #666;
    color: #fff;
    padding: 0 1em;
}

.aji_list dd {}

.aji_list dd p {
    padding-left: 1em;
    text-indent: -1em;
    margin: 0;
}