.kv{
    text-align: center;
    padding: 0 0 40px;
}
.kv .text{
    margin: 0 0 20px;
}
.kv .text-main{
    font-weight: bold;
    font-size: 2.2rem;
}
.kv .prd-name{
    font-weight: bold;
    font-size: 1.9rem;
    margin: 10px 0 5px;
}
.c-cart-button{
    border-radius: 5px;
    display: block;
    text-align: center;
    color: #fff;
    background: rgb(53,53,53);
    background: linear-gradient(0deg, rgba(53,53,53,1) 0%, rgba(73,73,73,1) 100%);   
    font-weight: bold;
    padding: 15px 0;   
    width: 90%;
    margin: auto;
    font-size: 1.6rem;
}
.sec01{
    width: 94%;
    margin: auto;
}
.sec02{
    position: relative;
    background: url(/template/default/img/sp/qhc/2504/bg01.jpg) no-repeat center top;
    background-size: cover;
    margin: 85px 0 0;
    padding: 100px 0 71vw;
}
.sec02_heading{
    position: absolute;
    top: -26vw;
}
.sec02_inner{
    text-align: center;
    position: relative;
    z-index: 2;
}
.sec02_prd{
    position: absolute;
    margin-top: -17vw;
}
.sec03{
    background: url(/template/default/img/sp/qhc/2504/bg_sec03.jpg) no-repeat center top;
    background-size: cover;
    padding:75px 0 10px;
}
.sec03_heading{
    margin: 0 0 45px;
}
.sec03_group{
    margin-top: -7vw;
}
.sec03_title{
    margin-top: 4vw;
    margin-bottom: 40px;
}
.sec03 .note{
    color: #888;
    width: 94%;
    margin: auto;
    font-size: .9rem;
}
.sec04{
    padding:50px 0 0;
}
.sec04_heading{
    margin: 0 0 45px;
}
.sec04_group{
    margin: 35px 0 0;
}
.sec05{
    background: url(/template/default/img/sp/qhc/2504/bg02.jpg) no-repeat center top;
    background-size: cover;
    padding: 90px 0 20px;
    margin-top: -23vw;
}
.sec05_heading{
    margin: 0 0 40px;
    padding: 40px 0 0;
}
.sec05_video{
    text-align: center;
    width: 90%;
    margin: auto;
    padding: 0 0 10px;

}
.sec05_video video{
    width: 100%;
    aspect-ratio: 16 / 9;
    margin-top: -3vw;
}
.sec05_video  .desc{
    font-weight: bold;
    font-size: 1.45rem;
}
.sec05_video .note{
    text-align: left;
    color: #888;
    font-size: .9rem;
}
.sec06{
    background: url(/template/default/img/sp/qhc/2504/bg03.jpg) no-repeat center top;
    background-size: cover;
    padding: 0 0 15px;
    margin-top: -5vw;
}
.sec07{
    background: url(/template/default/img/sp/qhc/2504/bg04.jpg) no-repeat center top;
    background-size: cover;
    padding:40px 0 0;
}
.sec07 .slide-area{
    padding-top: 35px;
}

.sec09{
    padding: 40px 0 0;
}
.sec09_heading{
    margin: 0 0 35px;
}
.sec09_content{
    width: 94%;
    margin: auto;
}
.sec09-group:last-child{
    margin-top: -4vw;
}
.cta{
    background: url(/template/default/img/sp/qhc/2504/bg06.jpg) no-repeat center top;
    background-size: cover;
    padding: 40px 0 25px;
}
.cta_heading{
    margin: 0 0 40px;
}
.cta_content{
    width: 94%;
    margin: auto;
}
.cta_group{
    background: #fff;
    padding: 30px 14px 15px;
    margin: 0 0 15px;
}
.cta-tab{
    display: flex;
    justify-content: center;
    margin: 0 0 20px;
}
.cta-tab .tab-list{
    background: #e0ebf4;
    color: #2868a8;
    font-weight: bold;
    padding: 3px 20px;
    margin: 1px;
}
.cta_group .cta-heading{
    text-align: center;
    margin: 0 0 20px;
}
.cta_group .cta-heading .sub{
    margin: 0 0 6px;
}
.cta_group .cta-heading .main{
    font-weight: bold;
    color: #2868a8;
    font-size: 2.3rem;
    line-height: 1.2;
}
.cta-body{
    display: flex;
    margin: 0 0 30px;
}
.cta-body .text{
    line-height: 1.3;
    padding-top: 20px;
}
.cta-body .note{
    color: #888;
    font-size: 0.9rem;
}

.cta .set01 .prd{
    width: 48%;
    margin-right: 20px;
}
.cta .regular-price-group{
    display: flex;
    align-items: end;
    margin: 0 auto 15px;
    width: 95%;

}
.cta .regular-price-group .left{
    text-align: center;
    width: 50%;
}
.cta .regular-price-group .right{
    width: 50%;
}
.cta .regular-price-group .label{
    display: block;
    border:1px solid #000;
    width: fit-content;
    padding: 0 10px;
    margin: auto;
}
.cta .regular-price-group .num {
    font-size: 1.7rem;
}
.cta .regular-price-group .num .price{
    font-size: 120%;
}
.cta .c-cart-button{
    padding: 8px 0;
    font-size: 1.4rem;
    margin: 0 0 0 auto;
}
.cta .regular-price-group .c-cart-button{
    position: relative;
    top: -8px;
}

.cta .prime-price-group .prime-heading{
    background: #33afb0;
    color: #fff;
    display: flex;
    align-items: center;
    padding: 5px 8px;
}
.cta .prime-price-group .prime-heading .icon{
    width: 25px;
}
.cta .prime-price-group .prime-heading .heading{
    position: relative;
    font-weight: bold;
    font-size: 1.65rem;
    margin: 0 10px 0 4px;
}
.cta .prime-price-group .prime-heading .heading::after{
    content:"";
    position: absolute;
    background: #fff;
    width: 1px;
    height: 60%;
    right: -12px;
    top: 5px;
}
.cta .prime-price-group .prime-heading .text{
    font-size: 1.05rem;
    margin: 0 0 0 auto;
}

.cta .prime-price-group .prime-content{
    border:1px solid #33afb0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px;
}
.cta .prime-price-group .left{
    text-align: center;
    width: 50%;
    line-height: 1;
}
.cta .p-discount{
    font-weight: bold;
    background: #b10012;
    color: #fff;
    padding: 3px 0;
    margin-bottom: 3px;
}
.cta .prime-price-group .num {
    font-size: 1.7rem;
    
}
.cta .prime-price-group .num .price{
    font-size: 120%;
    color: #b10012;
}
.cta .prime-price-group .num .yen{
    color: #b10012;
  
}
.cta .prime-price-group .right{
    width: 50%;
}
.set02 .cta-tab .tab-list{
    padding: 3px 10px;
}
.cta .set02 .prd {
    width: 45%;
    margin-right: 5px;
    padding-top: 20px;
}
.set02 .cta-body .text{
    padding-top: 0;
}
.set02 .regular-price-group .label{
    position: relative;
    margin: 0;
}
.set02 .regular-price-group .label s{
    font-weight: bold;
    position: absolute;
    right: -68px;
    top: 0;
}
.cta .r-discount {
    font-weight: bold;
    background: #b10012;
    color: #fff;
    font-size: 1.8rem;
    margin: 7px 0 0;
}
.cta .p-red{
    color: #b10012;
}
.kv2{
    padding: 0;
}
.faq{
    border-top:0;
	padding:20px 0 30px 0;	
}
.faq_title{
    font-weight: bold;
	color: #2a77bd;
	text-align: center;
	margin:20px 0 40px;
	font-size: 2rem;
}
.faq_wrapper{
	width: 93%;
	margin: auto;
}
.faq .q_icon{
	color: #2a77bd;
	font-size: 3rem;
	margin-right: 10px;
}
.faq .c-list{
	background: #eff5fa;
	margin:0 0 15px 0;
}
.faq .q{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	font-size: 3rem;
    font-weight: normal;
	font-size: 1.4rem;
	padding: 0 20px;
}
.faq .txt{
	font-weight: bold;
}
.faq .a{
	border-top:1px solid #ede8d4;
	padding: 20px 0;
    margin: 0 20px;
}
.faq dt .i {
    position: relative;
    display: block;
    width: 30px;
    height: 30px;
    margin: 0 0 0 auto;
	flex-shrink: 0;  
}
.faq dt .i::before, 
.faq dt .i::after {
    content: '';
    display: block;
    width: 15px;
    height: 1px;
    background: #2a77bd;
    position: absolute;
    right: 25%;
    top: 50%;
    transform: translateY(-50%);
}
.faq dt .i::after {
    background: #91a6bf;
    transform: translateY(-50%) rotate(90deg);
    transition: 0.5s;
}
.faq dt.active .i::after {
    transform: rotate(0);
    transition: 0.5s;
    height: 0px;
}

.howto_title{
    font-weight: bold;
	color: #2a77bd;
	text-align: center;
	margin:0 0 25px;
	font-size: 2rem;
}
.howto_content{
    width: 93%;
    margin: auto;
}
.howto .item{
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.howto .img{
    width: 42%;
}
.howto .text{
    width: 55%;
    padding-left: 15px;
}
.howto .note{
    color: #888;
    font-size: 0.9rem;
}
.ingredient{
    width: 93%;
    margin:25px auto 0;
    border:3px solid #eff5fa;
    padding: 25px 20px 15px;
}
.ingredient_title{
    font-weight: bold;
	color: #2a77bd;
	text-align: center;
	margin:0 0 10px;
	font-size: 2rem;    
}
.ingredient .desc{
    font-size: 1.15rem;
}
@media(min-width:750px){
    .whitecp{
        width: 750px;
        margin: auto;
        box-shadow: 0px 0px 15px -5px #4d4d4d;
        padding-bottom: 60px;
    }
    .c-cart-button{
        transition: all .2s;
    }
    .c-cart-button:hover{
        text-decoration: none;
        opacity: .8;
    }
    .kv .text-main {
        font-size: 3.2rem;
    }
    .kv .prd-name {
        font-size: 2.9rem;
        margin: 10px 0 5px;
    }
    .kv .price{
        font-size: 1.8rem;
    }
    .c-cart-button{
        font-size: 1.9rem;
    }
    .sec02 {
        margin: 185px 0 0;
        padding: 100px 0 550px;
    }
    .sec02_heading {
        top: -240px;
    }
    .sec02_inner{
        padding-top: 40px;
    }
    .sec02_prd{
	    margin-top: -120px;
    }
    .sec03 {
        padding: 125px 0 10px;
    }
    .sec03_group {
    margin-top: 0vw;
	}
    .sec05 {
        padding: 160px 0 0;
        margin-top: -80px;
    }
    .sec05_video .desc {
        font-size: 3.45rem;
    }
    .sec05_video .note {
        font-size: 1.6rem;
    }
    .sec06 {
        padding: 0 0 65px;
        margin-top: -2vw;
    }
    .sec07 {
        padding: 70px 0 20px;
    }
    .sec09-group:last-child {
    margin-top: -3vw;
	}
    .cta-tab .tab-list {
        font-size: 2rem;
    }
    .cta_group .cta-heading .sub {
        font-size: 2rem;
    }
    .cta_group .cta-heading .main {
        font-size: 3.7rem;
        line-height: 1.2;
    }
    .cta-body .text {
        line-height: 1.5;
        font-size: 2rem;
    }
    .cta .set01 .prd {
        width: 150px;
        margin-right: 50px;
    }
    .cta .set02 .prd {
        width: 210px;
        margin-right: 30px;
    }
    .cta_group {
        padding: 30px 14px 35px;
        margin: 0 0 30px;
    }
    .cta-body {
        width: 85%;
        margin: 0 auto 30px;
    }
    .cta-body .note{
        font: 1rem;
    }
    .prime-price-group,
    .cta .regular-price-group{
        width: 85%;
        margin-left: auto;
        margin-right: auto;
    }
    .cta .c-cart-button {
        padding: 13px 0;
        font-size: 1.7rem;
    }
    .set02 .regular-price-group .label,
    .cta .regular-price-group .label{
        font-size: 1.5rem;
    }
    .set02 .regular-price-group .label s {
        right: -100px;
        top: -3px;
        font-size: 1.9rem;
    }
    .cta .prime-price-group .num,
    .cta .regular-price-group .num {
        font-size: 2.4rem;
    }
    .cta .p-discount{
        font-size: 1.9rem;
    }
    .cta .prime-price-group .prime-heading {
        padding: 12px 10px;
    }
    .cta .prime-price-group .prime-heading .icon {
        width: 40px;
    }
    .cta .prime-price-group .prime-heading .heading {
        font-size: 2rem;
        margin: 0 10px 0 11px;
    }
    .cta .prime-price-group .prime-heading .text {
        font-size: 1.8rem;
        margin: 0 0 0 25px;
    }
    .cta .prime-price-group .prime-heading .heading::after {
        right: -16px;
        top: 7px;
    }
    .faq {
    border-top: 0;
    padding: 60px 0 30px 0;
	}
    .faq_title,.howto_title,.ingredient_title{
        font-size: 2.8rem;
    }
    .faq .q{
        cursor:pointer;
        font-size: 1.9rem;
    }
    .faq .a{
        font-size: 1.5rem;
    }
    .howto .img {
        width: 30%;
    }
    .howto .text {
        width: 70%;
        padding-left: 25px;
        font-size: 1.6rem;
    }
    .howto .note{
        font-size: 1rem;
    }
    ingredient .desc {
        font-size: 1.45rem;
    }
}


.fadeInRight,
.fadeInLeft,
.fadeIn {
	animation-duration:3s;

}
.fadeInRight {
    -webkit-animation-name: fadeInRight2;
    animation-name: fadeInRight2;
}
.fadeInLeft {
    -webkit-animation-name: fadeInLeft2;
    animation-name: fadeInLeft2;
}
@keyframes fadeInLeft2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-10%, 0, 0);
    transform: translate3d(-10%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInRight2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
