/* base CSS */
body,html{-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,img,main,menu,nav,section{display:block}*,:after,:before{box-sizing:border-box}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,html,i,iframe,img,ins,kbd,label,legend,li,main,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-style:normal;font-size:100%;vertical-align:baseline}img,svg{vertical-align:middle}html{font-family:sans-serif;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{min-height:100vh;line-height:1.5;-ms-text-size-adjust:100%;background-color:#fff}h1,h2,h3,h4,h5,h6{margin-top:0;}dl,ol,p,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dd{margin-left:0}img{max-width:100%;border-style:none}canvas,img,svg,video{height:auto}svg{overflow:hidden}table{border-collapse:collapse;border-spacing:0;width:100%}a{text-decoration:none}:focus{outline:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}.clearfix:after{content:"";clear:both;display:block}
@media(min-width:769px){.is-hidden_pc{display:none}}@media(max-width:768px)and (min-width:651px){.is-hidden_tb{display:none}}@media(max-width:650px){.is-hidden_sp{display:none}}.u-motion__shake{-webkit-animation:buruburu 0.2s infinite linear alternate;animation:buruburu 0.2s infinite linear alternate}@keyframes buruburu{0%{transform:translate(0,0) rotateZ(0deg)}25%{transform:translate(2px,2px) rotateZ(1deg)}50%{transform:translate(0,2px) rotateZ(0deg)}75%{transform:translate(2px,0) rotateZ(-1deg)}100%{transform:translate(0,0) rotateZ(0deg)}}.u-motion-arrows{position:relative;display:flex;height:110px;justify-content:center;align-items:center}.u-motion-arrows .u-motion-arrows__item{position:absolute;top:50%;left:50%;transform:translateX(-50%);width:60px;height:10px;opacity:0}.u-motion-arrows .u-motion-arrows__item:first-child{animation:arrow-move08 2s ease-in-out infinite}.u-motion-arrows .u-motion-arrows__item:nth-child(2){animation:arrow-move08 2s 1s ease-in-out infinite}.u-motion-arrows .u-motion-arrows__item:before,.u-motion-arrows .u-motion-arrows__item:after{position:absolute;content:'';top:0;width:30px;height:3px;background:#fd3534}.u-motion-arrows .u-motion-arrows__item:before{left:3px;transform:rotate(30deg)}.u-motion-arrows .u-motion-arrows__item:after{right:3px;transform:rotate(-30deg)}@keyframes arrow-move08{0%{opacity:0;top:40%}70%{opacity:1}100%{opacity:0}}.u-motion__InBig{transition:0.5s;animation:InBig 0.6s ease 0s infinite alternate}@keyframes InBig{0%{transform:scale(1)}100%{transform:scale(1.2)}}.flex{display:flex}.img-center{display:block;margin-left:auto;margin-right:auto}.fw_bold{font-weight:700}.fw_normal{font-weight:400}.u-line-yellow{background:linear-gradient(transparent 1em,#FFF677 0,#FFF677 calc(1em + 20px),transparent 0)}.u-ttl-diag{display:flex;justify-content:center;align-items:flex-end;text-align:center;margin-top:1em;font-size:24px;font-weight:700}.u-ttl-diag:before,.u-ttl-diag:after{content:'';width:2px;height:1.5em;background-color:#1CB57B}.u-ttl-diag:before{margin-right:.8em;transform:rotate(-35deg)}.u-ttl-diag:after{margin-left:.8em;transform:rotate(35deg)}@media screen and (max-width:768px){.u-ttl-diag{font-size:5vw}}.txt-shadow-w{text-shadow:0 4px 10px #fff}.c-red{color:#fd3534}.c-green{color:#1CB57B}.c-blue{color:#00f}.c-pale{color:rgb(0 65 75 / 70%)}.c-pink{color:#e26c63}.c-yellow{color:#FFF677}.c-white{color:#fff}a.c-txt-link{color:#1E88E5;border-bottom:solid 1px}.u-bg-yellow{background-color:#ffff00}.u-border-gray{border:solid 5px #ccc}.u-border-green{border:solid 5px #4CAF50}.u-uline-wave{text-decoration:#fd3534 wavy underline}.txt-left{text-align:left}.txt-center{text-align:center}.txt-right{text-align:right}.w-60{width:60%;margin:auto}.w-80{width:80%;margin:auto}.mb5{margin-bottom:5px!important}.mb10{margin-bottom:10px!important}.mb15{margin-bottom:15px!important}.mb20{margin-bottom:20px!important}.mb25{margin-bottom:25px!important}.mb30{margin-bottom:30px!important}.mb35{margin-bottom:35px!important}.mb40{margin-bottom:40px!important}.mb45{margin-bottom:45px!important}.mb50{margin-bottom:50px!important}.mb60{margin-bottom:60px!important}.mb70{margin-bottom:70px!important}.mb80{margin-bottom:80px!important}.mt5{margin-top:5px!important}.mt10{margin-top:10px!important}.mt15{margin-top:15px!important}.mt20{margin-top:20px!important}.mt25{margin-top:25px!important}.mt30{margin-top:30px!important}.mt40{margin-top:40px!important}.mt50{margin-top:50px!important}.ml_auto{margin-left:auto!important}.mr_auto{margin-right:auto!important}.pb5{padding-bottom:5px!important}.pb10{padding-bottom:10px!important}.pb15{padding-bottom:15px!important}.pb20{padding-bottom:20px!important}.pb25{padding-bottom:25px!important}.pb30{padding-bottom:30px!important}.pb35{padding-bottom:35px!important}.pb40{padding-bottom:40px!important}.pb45{padding-bottom:45px!important}.pb50{padding-bottom:50px!important}.pb60{padding-bottom:60px!important}.pb70{padding-bottom:70px!important}.pb80{padding-bottom:80px!important}.pt5{padding-top:5px!important}.pt10{padding-top:10px!important}.pt15{padding-top:15px!important}.pt20{padding-top:20px!important}.pt25{padding-top:25px!important}.pt30{padding-top:30px!important}.pt40{padding-top:40px!important}.pt50{padding-top:50px!important}.pl_auto{padding-left:auto!important}.pr_auto{padding-right:auto!important}.pb0{padding-bottom:0!important}

/*::::::::::::::::::::::::::::::::::::::
  COMMON
:::::::::::::::::::::::::::::::::::::::*/
body {
    background-color: #fbf9eb
}

.l-content {
    background-color: #fff;
    margin: auto;
    padding: 0 3%;
    max-width: 620px;
    width: 100%;
}

/*img*/
picture img {
    width: auto;
}
.block-image {
    margin: 20px auto;
}
.block-image img {
    margin: auto;
}
figcaption {
    color: #898686;
}

/*::::::::::::::::::::::::::::::::::::::
  TEXT
:::::::::::::::::::::::::::::::::::::::*/
body {
    font-size: 18px;
    font-weight: normal;
    color: #2d2d2c;
    line-height: 1.75;
    font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}
b, strong {
    font-weight: 700 !important;
    font-weight: bold !important;
}
h1,h2,h3,h4 {
    font-weight: bold;
    margin-bottom: 1em;
}
h2,h3,h4 {
    line-height: 1.3em;
}

/* font-size
----------------------------------*/
.txt-x-small {
    font-size: 0.7em;
}
.txt-small {
    font-size: 0.9em;
}
.txt-midium {
    font-size: 1.5em;
}
.txt-lv-xxl {
    font-size: 40px;
}
.txt-lv-xl {
    font-size: 32px;
}
.txt-lv-l {
    font-size: 24px;
}
.txt-lv-m {
    font-size: 20px;
}

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

.ttl-lv-02 {
    font-size: 32px;
    margin-top: 2em;
    background-color: #fff0e3;
    padding: 0.8em 0.5em;
    background: linear-gradient(296deg, #b9e578 0%, #6bd28b 58.13%, #1cb57b 100%);
    color: #fff;
    text-shadow: 0px 1px 5px #25282836;
}
.ttl-lv-03 {
    font-size: 28px;
    margin-top: 2em;
    margin-bottom: 1em;
    border-bottom: 3px solid #1CB57B;
    display: flex;
    align-items: center;
    background: #f3f0c75e;
    padding: 0.8em 0.5em;
}
.ttl-lv-03:before {
    content: "";
    width: 36px;
    height: 32px;
    display: inline-block;
    background: url(../images/ico_memo.svg) no-repeat center center / contain;
    margin-right: 0.5em;
}

.ttl-lv-03 h3 {
    margin-bottom: 0;
    line-height: 1.3;
}

/*::::::::::::::::::::::::::::::::::::::::::::
/* BTN AND LINKS
:::::::::::::::::::::::::::::::::::::::::::::*/
a {
    color: #2196F3;
    word-break: break-all;
}
a,a:hover img , a:hover{
    transition: all .3s;
}
:active,:hover,:link,:visited{
    outline:0;
    text-decoration:none;
}

/*a:hover {color: inherit;}*/
a {
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  cursor:pointer;
}


/*::::::::::::::::::::::::::::::::::::::::::::
/* PARTS
:::::::::::::::::::::::::::::::::::::::::::::*/
.hitotubu {
    position: relative;
}
.hitotubu__ico {
    position: absolute;
    z-index: 2;
    width: 150px;
    left: 2%;
    top: 30px;
}
@keyframes hitotubu {

    0% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 1;
        transform: scale(0.8);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}
.bn {
    border: solid 3px #111;
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::
table
:::::::::::::::::::::::::::::::::::::::::::::::::*/
.nutrients-list {
    margin: 30px auto;
}
.nutrients-list table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}
.nutrients-list table th {
    text-align: left;
    white-space: nowrap;
    border-left: 2px solid #1CB57B;
    font-weight: bold;
    font-size: 15px;
}
.nutrients-list table td {
    border-right: 2px solid #1CB57B;
    border-left: 2px solid #1CB57B;
}
.nutrients-list table th {
    background-color: #1CB57B;
    color: #fff;
}
.nutrients-list table tr:first-child th, .nutrients-list table tr:first-child td {
    border-top: 2px solid #1CB57B;
}
.nutrients-list table th, .nutrients-list table td {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
    padding-right: 10px;
    border-bottom: 2px dashed #1CB57B;
    overflow: hidden;
}
.nutrients-list table tr:last-child th, .nutrients-list table tr:last-child td {
    border-bottom: 2px solid #1CB57B;
}
.nutrients-list table p{
    font-size: 15px;
    font-weight: bold;
    line-height: 1.4;
}

/*::::::::::::::::::::::::::::::::::::::::::::
/* TOP
:::::::::::::::::::::::::::::::::::::::::::::*/

.sec-intro p {
    margin: 1em 0;
    text-align: center;
}
video{
    max-width: 100%;
}
.footer {
    margin-top: 80px;
    padding-bottom: 150px;
}
.footer__nav {
    list-style: none;
    list-style: none;
    margin: auto;
    width: fit-content;
}
.footer__nav li {
    display: inline;
}
.footer__nav a{
    color: #959191;
    padding: 1em 3px;
    font-size: 15px;
}

.footer__nav li + li:before {
    content: "";
    width: 1px;
    height: 0.7em;
    background-color: #959191;
    display: inline-block;
    margin: 0 5px;
    vertical-align: middle;
}

/* ::::::::::::::::::::::::::::::: */

 @media screen and (min-width: 769px) {
body {
    width: 620px;
    margin: 0 auto;
}
}
 @media screen and (max-width: 650px) {
.ttl-lv-02 {
    font-size: 7vw;
}
.ttl-lv-03 {
    font-size: 6vw;
}

.hitotubu__ico {
    width: 30vw;
}
.footer__nav a{
    font-size: 3vw;
}
}


/* フローティング */
.floating {
    position: fixed;
    bottom: 0;
    left: 50%;
    z-index: 100;
    width: 100%;
    padding: 0 6%;
    max-width: 620px;
    transition: all 0.3s ease 0s;
    visibility: visible;
    opacity: 1;
    transform: translateX(-50%);
}
.floating a:hover{
    opacity: 0.9;
}
.floating.is-hidden {
    visibility: hidden;
    opacity: 0;
}

.bg-yellow{
    position: relative;
    z-index: 3;
}
.bg-yellow-item{
    top: 0;
    left: 0;
    height: 100%;
    background: linear-gradient(to right, yellow 100%, transparent 0) no-repeat left bottom;
    background-size: 0% 100%;
    z-index: -1;
}
@keyframes bg-yellow {
    0% {
        background-size: 0% 100%;
    }
    100% {
        background-size: 100% 100%;
    }
}
@keyframes fade-in {

    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes fade-down {

    0% {
        opacity: 0;
        transform: translateY(-50%);
    }
    50% {
        opacity: 0;
        transform: translateY(-50%);
    }
    100% {
        opacity: 1;
        transform: translateY(0%);
    }
}
@keyframes font-big {

    0% {
        opacity: 0;
        transform: scale(0.2);
    }
    100% {
        opacity: 1;
        transform: scale(1.05);
    }
}

/*タイプ風*/
.l-content .type_txt{
    /*text-align: left;*/
}
.typeing {
    opacity: 0;
    display: inline-block;
    direction: rtl; /* 文字を右から左へ表示 */
    unicode-bidi: plaintext; /* 文字の順序を保持 */
}
.typeing.active {
    opacity: 1;
}

.typeing{
    position: relative;
}
.typeing::after{
    content: "";
    width: 100%;
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    right: 0;
    transition: 2s;
}
.typeing.active::after{
    width: 0;
}

.animate_img{
    position: relative;
}
.animate_img .animate_img01{
    position: absolute;
    bottom: 27%;
    width: 90%;
    left: 5%;
}
.animate_img .animate_img02{
    position: absolute;
    bottom: 15.5%;
    width: 90%;
    left: 5%;
}
.animate_img .animate_img03{
    position: absolute;
    bottom: 3%;
    width: 90%;
    left: 5%;
}
.animate_img .flash{
    animation-name: fade-in;
    animation-duration: .3s;
    animation-timing-function: linear;
    animation-fill-mode: infinite;
}


/*アンケート*/
sup {
	font-size: 70%;
	vertical-align: super;
}
.questionnaire_block{
    margin: 30px auto;
}
.questionnaire_block .comment_box{
    margin-top: 20px;
    margin-bottom: 30px;
}
.questionnaire_block .comment_box .comment{
    font-size: 14px;
    color: #554032;
    text-align: right;
}
.questionnaire_block .questionnaire_main{
    margin-bottom: 30px;
}
.questionnaire_block .hidden { 
    display: none;
    transform: scale(0.8);
    opacity: 0;
    transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
.questionnaire_block .visible {
    display: block;
}
.questionnaire_block .question_arrow {
    margin: 20px auto;
    width: 100%;
    display: flex;
    justify-content: center;
    animation: arrowMove .8s infinite ease-in-out;
}
.questionnaire_block .question_thanks {
    transform: scale(0.8);
    opacity: 0;
    animation: thankYouAppear 0.5s ease-out forwards;
    animation-delay: 0.3s;
}

@keyframes arrowMove {
    0% { transform: translateY(0); }
    50% { transform: translateY(15px); }
    100% { transform: translateY(0); }
}
@keyframes thankYouAppear {
    from { transform: scale(0.5); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}
.questionnaire_form .question {
    margin-bottom: 30px;
}
.questionnaire_form label{
    display: block;
    width: 100%;
    border: 2px solid #554032;
    border-radius: 100px;
    padding: 15px 30px;
    cursor: pointer;
    color: #554032;  
    margin: 10px 0; 
    font-weight: bold;
    line-height: 1.6;
    font-size: 16px;
}
@media(max-width:769px){
    .questionnaire_form label{
        padding: 10px 25px;
        font-size: 16px;
    }
}
.questionnaire_form input[type="radio"], input[type="checkbox"] {
    display: none;
}
.questionnaire_form input[type="radio"]:checked + label,input[type="checkbox"]:checked + label {
    background-color: #554032;
    color: #fff;
}
.questionnaire_form .question_img{
    margin-bottom: 20px;
}
.questionnaire_block .question_txt{
    background: #28a06b;
    padding: 20px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    font-size: 10px;
}
.questionnaire_block .question_txt .q_num{
    display: block;
    font-size: 3.2em;
    color: #fff;
    font-weight: bold;
    line-height: 1;
    margin-right: 10px;
}
.questionnaire_block .question_txt .q_txt{
    font-size: 2.8em;
    color: #fff;
    font-weight: bold;
    line-height: 1.5;
}
@media(max-width:640px){
    .questionnaire_block .question_txt{
        font-size: calc(12 / 640 * 100vw);
        padding: 15px;
    }
}