@charset "Shift_JIS";
#info_contents { margin-bottom:0!important; }
.body_sph .contents_main { margin: 0; }


.dha_teiki,
.dha_teiki p,
.dha_teiki a{
    margin: 0;
    padding: 0;
 line-height: 1.5;

}

/*===============================
wrapper
===============================*/
.wrapper-big,
.wrapper-middle,
.wrapper-small{
   margin-inline:auto;
}

.wrapper-big{
    width: 662px;
}
.wrapper-middle{
    width: 596px;
}
.wrapper-small{
    width: 535px;
}

/*左右上下中央ぞろえ*/
.center-center{
    display: grid;
    place-content: center; /*要素の中央揃え*/
    place-items: center; /*要素同士の中央揃え*/
}




/*===============================
FV
===============================*/
.fv{
    background-color: #3b9ae7;
    line-height: 0;
}
.fv h2 a {
     line-height: 0;
}


.fv .spec{
    padding-top: 0;
}

/*画像位置調整-*/
.pkg-wrapper{
    position: relative;
display: inline-block;
}
.pkg{
position: absolute;
}

.other{
    display: block;
}

.fv .pkg{
    top: 256px;
    left: 136px;
    width: 41%;  
}
.fv .spec{
    margin-top: 0;
}

.annotation{
    color: #fff;
    text-align: right;
}
/*===============================
dha
===============================*/
.dha-solution{
    margin-top:-7%;
}

/*===============================
foodprpblem
===============================*/
#food-prpblem{
      margin-top:-14%; 
      background: linear-gradient(to bottom, #fff 0%, #fff 20%,  #5f6568 20%, #5f6568 100%);
    padding-bottom: 2%;
}


/*===============================
solution
===============================*/
/*solution-----------*/
#solution{
      background: linear-gradient(to bottom, #373c3f 0%, #373c3f 10%,  #e8f7ff 10%, #e8f7ff 100%);
    padding: 0 0 10% 0;
}

#solution > h3,
#solution > div,
.margin-wrapper > *{
    margin-bottom: 8%;
}
#solution > *:last-child,
.margin-wrapper > *:last-child{
    margin-bottom: 0%;
}


.continue-title{
    display: flex;
    justify-content: center;
    gap: 8%;
}
.continue-title-img{
    width: 40%;
}
.continue-title-txt{
    width: 50%;
}

/*===============================
feature
===============================*/
#feature{
    background-color: #0768c4;
    background-image: url("image/feature_back.png");
    background-size: 100% auto;
    background-position: top;
    background-repeat: no-repeat;
    padding: 10% 0 10%;
}

#feature > div > *{
    margin-bottom: 8%;
}
#feature > div > *:last-child{
    margin-bottom: 0%;
}

.feature-pkg{
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 4%;
}

.feature-pkg-label{
    width: 6.3%;
}
.feature-pkg-img{
    width: 40%;
}

/*===============================
passion
===============================*/
.passion-title{
    padding: 8% 0 6%;
}
/*アコーディオン----*/
.passion-item{
    background-color: #ecf9ff;
	margin-bottom: 7%;
    padding-bottom: 5%;
}

.accordion{
	border: 2px solid #08308E;
	background-color: #ffffff;
    margin-top: 5%;
    text-align: center;
    font-size: 1.2em;
    line-height: 1.6;
    color: #00357f;

}
.accordion .accordion_title {
    position: relative;
    cursor: pointer;
    transition: all .2s ease;
	padding: 2.8%;
    font-weight: 700;
    font-size:1.3em;
}

.accordion_title::before,
.accordion_title::after{
    position: absolute;
    content:'';
    width: 4%;
    height: 2px;
    background-color: #08308E;
	transition: all .2s ease;
}
.accordion_title::before{
    top:48%;
    right:5%;
    transform: rotate(0deg);
}
.accordion_title::after{    
    top:48%;
    right:5%;
    transform: rotate(90deg);
}

/*　横の十字：closeというクラスがついたら形状変化　*/
.accordion_title.close::before{
  transform: rotate(45deg);
  transition: all .2s ease;
}
.accordion_title.close::after{
  transform: rotate(-45deg);
  transition: all .2s ease;
}

/*アコーディオンで現れるエリア */
.accordion_box {
    display: none;
    background: #ecf9ff;
	text-align: left;
	margin: 2%;
	margin-top: 0;
	padding: 4%;
}

.accordion_box p{
    margin-bottom: 2%;
}
.accordion_box p:last-child{
    margin-bottom: 0%;
}

/*初期状態をリセット*/
.accordion p span{
    display: inline;
    
}
.underline{
	background: linear-gradient(transparent 70%, #fdffbc 70%);
}

/*===============================
teiki
===============================*/
#teiki{
    background-color: #dbf1fc;
    padding: 8% 0 8%;
}
#teiki > div > *{
    margin-bottom: 6%;
}
#teiki > div > *:last-child{
    margin-bottom: 0;
}



/*===============================
インクルード
===============================*/

.spec{
/*    background: linear-gradient(-45deg, #31b26a, #57cb35);*/
    background-color: #3b9ae7;
    padding: 10% 0 3%;
    margin: 5% 0;
}
.spec-title{
    text-align: center;
}
.spec-title.spec-title1{
    margin: 0 0 6% 0;
}
.spec-title.spec-title2{
    margin: 0 0 -2% 0;
}


/*全体の余白調整*/
.include{
  background-color: #ffffff;
    padding: 4% 0;
    margin-top: 5%;
    margin-bottom: 8%;
    border-radius: 10px;
}
.include.include-big{
    padding: 5% 0;
}
.include.include-fv{
    margin-bottom: 12%;
}
.include .goods_set{
    display: flex;
    gap: 3%;
    margin: 0 0 2% 0;
}
.include.include-big .goods_set{
    gap: 4%;
    margin: 0 0 3% 0;
}

/*左----------------------*/
.include .img_box{
    flex: 0.8; /*画像の大きさ*/
}
.include.include-big .img_box{
    flex: 1.2; /*画像の大きさ*/
}

/*右----------------------*/
/*長さ*/
.include .txt_box{
    flex: 2; /*長さ*/
}
/*割引後価格*/
.include .price2{
    font-size: 2.5em;
    color: #ff6f00;
}
.include .price2 .tax{
    font-size: 0.5em;
    margin-left: -0.3em;
}
/*割引率*/
.include .cp_box{
    display: block;
}
.include.include-big .cp_box{
    display: flex;
    align-items: end;
}
.include .cp_discount{
    font-size: 2.3em;
    background-color: #ff6f00;
}
.include.include-big .cp_discount{
    font-size: 5em;
    padding: 0.1em 0.3em 0.08em 0.3em;
    margin: 0.1em 0 0 0;
}
.include.include-big .cp_discount strong{
    font-size: 1.4em;
}

/*日付*/
.include.include-big .cp_discount + .cp_limit {
    font-size: 1.5em;
}

/*商品名*/
.include .name{
    font-size: 1.2em;
}


/*ボタン*/
.cta-btn a{
    position: relative;
    display: block;
    width: 100%;
    background: linear-gradient(0deg, #ff6f00 40%, #ff5500 100%);
    color: #fff;
    text-decoration: none;
    text-align: center;
    padding: 2% 0;
    border-radius: 10em;
box-shadow: 0 3px 0 0 #e26200;
}
.include.include-big .cta-btn a{
        padding: 3% 0;
    box-shadow: 0 5px 0 0 #e26200;
}

.cta-btn:hover{
    opacity: 0.8;
        transition: 0.3s;
}
.cta-btn a::after{
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      right: 1.5em;
      width: 0.5em;
      height: 0.5em;
      margin: auto;
      border-top: 0.1em solid #fff;
      border-right: 0.1em solid #fff;
      transform: rotate(45deg);
      box-sizing: border-box;
    }

.include .cta-btn a{
    font-size: 1.8em;
    font-weight: bold;
}
.include .cta-btn a::after{
        border-top: 0.15em solid #fff;
    border-right: 0.15em solid #fff;
}

.single{
    font-size: 2em;
    text-align: center;
    margin: -4% 0 10% 0;
        color: #fff;

}

.single a{
    font-feature-settings: "palt";
    text-underline-offset: 0.18em;
}
.single a:visited{
    color: #fff;
}
.single a:hover{
    opacity: 0.6;
    cursor: pointer;

}
.single a span{
    font-size: 0.7em;
}

.single a:link{
    color: #fff;
}

.spec-text{
    text-align: center;


}
.spec-text p{
    display: inline-block;
    font-size: 2.2em;
    font-weight: bold;
    color: #00579e;
    background: linear-gradient(transparent 75%, #fff99f 75%);
    margin-bottom: 0.8em;
}


/*通常定期ボタン隠し*/
.goods_set .btn img {
    display: none;
}

/*ぽよぽよする*/
.poyo {
  animation: poyopoyo 2s ease-out infinite;
  opacity: 1;
}
@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}



/*===============================
アンカーリンク
===============================*/
.anchor{
    position: relative;
}
.anchor-btn-wrapper{
    position: absolute;
    right: 0;
    left:0;
    margin: 0 auto;
    bottom: 10%;
}
.anchor-btn{
    display: flex;
    gap: 3%;
    justify-content: center;
}

.anchor-btn a{
box-shadow: 0.2em 0.2em 0.3em 0.2em rgba(0, 0, 0, 0.1);
    width: 45%;

}

.anchor-btn img{
width: 100%;
}
/*===============================
各種味
===============================*/
.flavor > *{
    margin-bottom: 4%;
}
.flavor > *:last-child{
    margin-bottom: 0%;
}
/*===============================
モニター余白調整
===============================*/
.monitor{
    margin-top: -8%;
}

/*===============================
レスポンシブ
===============================*/

@media screen and (max-width: 768px) {
    /*wrapper*/
    .wrapper-big{
        width: 92vw;
    }
    .wrapper-middle{
    width: 86vw;
}
    .wrapper-small{
        width: 80vw;
    }
    
.single {
    font-size: 1.2em;
}
    
/*各セクション調整===================================*/    
    .fv .pkg {
    top: 36%;
    left: 19vw;
    width: 41%;
}
    .annotation{
        font-size: 0.7em;
    }
    
    
/*アコーディオン*/
.accordion {
	border: 1px solid #08308E;
    font-size: 1em;
}
/*横の十字*/
/*.accordion_title::before,
.accordion_title::after{
    height: 1px;
}         */    
.body_sph .accordion_box p{
/*line-height: 1.8;*/
}
.accordion .accordion_title {
    font-size:1.1em;
}
    
/*インクルード====================================*/
    .spec-text p{
    font-size: 1.3em;
}

    
    .include{
        padding: 6% 0;
    }
    .include .goods_set{
        gap: 4%;
    }

     /*左----------------------*/
    /*画像の大きさ*/
    .include .img_box{
        flex: 0.55;
    }   
    /*右----------------------*/
    .include .txt_box{
        font-size: 0.85em;
            flex: 1;
    }
    .include .price2{
    font-size: 1.6em;
    }
    .include .cp_discount{
    font-size: 2em;
    }
/*商品名*/
.include .name{
    font-size: 1em;
/*    margin-bottom: 0.9em;*/
}
.include .cta-btn a {
    font-size: 1.2em;
}
.include.include-big {
    padding: 5% 0 7%;
}
    
.include.include-big .cp_box {
    display: block;

}
    .include.include-big .cp_discount {
    font-size: 3.5em;
        margin: 0.1em 0 0.2em 0;
        
}
    .include.include-big .txt_box {
        font-size: 0.8em;
        flex: 1.6;
    }
    
.include .goods_set {
    margin: 0 0 4% 0;
}
/*.include.include-big .goods_set {
    margin: 0 0 4.5% 0;
}*/
    
/*日付*/
.include.include-big .cp_discount + .cp_limit {
    font-size: 1.2em;
}


}

