@charset "utf-8";
/* CSS Document */

/******************************
全体
*******************************/

main{
	background: #FFF;
	font-size: 16px;
	line-height: 160%;
}

body,p,div,section,ul,li{
		margin:0;
	padding: 0;
}
li{
	list-style-type: none;
}
.cont_wrap{
	width: 1080px;
	margin-left: auto;
	margin-right: auto;
}
.font_min{
   font-family:'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}
.sp_only{
	display: none;
}

@media screen and (max-width: 640px) {
.cont_wrap{
	width: 100%;
}
.pc_only{
	display: none;
}
.sp_only{
	display:block;
}

/*smp end*/}	


/******************************
メインビジュアル
*******************************/
h1{
    font-size: 20px;
    margin: 0;
    padding: 20px 0;
    text-align: center;
	background-image: linear-gradient(180deg, rgba(226, 242, 218, 1), rgba(206, 233, 183, 1));
	font-weight: normal;
}
h1 span{
	font-size: 38px;	
}

#main-visual{
    height: 612px;
    position: relative;
    overflow-x: hidden;		
}
#main-visual img{
    width: 1500px;
    height: 612px;
    margin-left: -750px;
    position: absolute;
    left: 50%;
}

@media screen and (max-width: 640px) {
	h1{
    font-size: 16px;
    margin: 0;
    padding: 10px 0;
line-height: 180%;
}
h1 span{
	font-size: 26px;	
}

#main-visual{
    height: auto;
    position: static;
}
#main-visual img{
    width: 100%;
    height: auto;
    margin-left:0;
    position: static;
    left: 0;
}


/*smp end*/}	



/******************************
安心して続けて欲しい
*******************************/

#about{
	padding: 0 0 60px 0;
}
#about .about_ttl{
	margin:20px auto;
	display: flex;
	justify-content: center;
}

#about .about_ttl h2{
	font-size: 24px;
	display: block;
	text-align: center;
	line-height: 220%;
}

#about .about_ttl h2 span{
    font-size: 48px;
    margin: 0 auto;
background: linear-gradient(transparent 90%, #e0c463 90%);
}
#about p{
	text-align: center;
}


@media screen and (max-width: 640px) {
#about{
	padding: 3% 0 3% 0;
}
#about .about_ttl h2{
	font-size: 18px;
}

#about .about_ttl h2 span{
font-size: 26px;
}
	
#about img{
	width: 86%;
}
/*smp end*/}	



/******************************
成分紹介
*******************************/
#component{
	margin: 0 auto;
}
#component .component_wrap{

}

#component .bk_morning,#component .bk_night{
	background-position: top left;
}
#component .bk_morning{
	background: #F6F1DC;
	background-image: url(../../img/bk_nmn.jpg);
		background-position: top left;
	background-repeat: no-repeat;
}
#component .bk_night{
	background: #DEF4F7;
	background-image: url(../../img/bk_plx.jpg);
			background-position: top left;
	background-repeat: no-repeat;
}

#component .component_item{
	display: flex;
	justify-content: space-between;
	margin: 0 auto 40px auto;
	padding: 80px 0 0 0;
}
#component .component_item h3{
	font-size: 42px;
	font-weight: normal;
	margin: 0 0 16px 0;
	text-align: center;
}
#component .component_item h3 span{
	font-size: 24px;
	display: block;
}
#component .component_item .component_txt{
	width: 520px;
    line-height: 210%;
}
#component .component_item .component_img img{
	width: 500px;
}

/********成分リスト*********/
#component .component_wrap dl{
	display: flex;
	justify-content: space-between;
    padding-bottom: 70px;
}
#component .component_wrap dl div{

}
#component .list_4 div{
	width: calc((100% - 60px) / 4);
	position: relative;
}
#component .list_3 div{
	width: calc((100% - 60px) / 3);
	position: relative;
}
#component .list_4 dt{
	background: #CAA329;
	color: #fff;
}
#component .list_3 dt{
	background: #4D8FAB;
	color: #fff;
}
#component .component_wrap dl dt{
	padding: 10px 0;
	text-align: center;
    border-radius: 10px;
}
#component .component_wrap dl dd{
margin: 15px 0 0 0;
}




@media screen and (max-width: 640px) {
#component{
padding: 20px 0;
}
#component .component_item{
	display:block;
	width: 94%;
margin: 3% 0 50px 3%;
}
#component .component_item h3{
	font-size: 38px;
	font-weight: normal;
	text-align: center;
	        line-height: 100%;
}
#component .component_item .component_txt{
	width: 100%;
    line-height: 180%;
}
#component .component_item .component_img img{
	width: 96%;
display: block;
        margin: 20px auto;
}
	
#component .component_wrap dl{
	    flex-wrap: wrap;
}
#component .list_4 div{
    width: calc((92% - 4%) / 2);
    position: relative;
    margin: 0 3%;
}
#component .list_3 div{
    width: calc((92% - 4%) / 2);
    position: relative;
    margin: 0 3%;
}
	
/*smp end*/}	



/******************************
購入ボタン
*******************************/
.pay{
	margin: 0 auto;
padding: 60px 0;
	display: flex;
	justify-content: space-between;
}

.pay .pay_wrap{
    width: calc((100% - 30px) / 2);
	text-align: center;
}

.pay .morning,.pay .night{
}

.pay .morning{
}

.pay .night{
}

.pay .pay_txt h3{
    font-size: 24px;
    text-align: center;
    margin: 0 0 10px 0;
    font-weight: normal;
    line-height: 140%;
}

.pay .pay_img img{
width: 100%;
}

.pay .pay_wrap dl h2{
font-size: 40px;
    margin: 0 0 20px 0;
    line-height: 100%;
}
.pay .pay_wrap dl h2 span{
	font-size: 20px;
	display: block;
}
.pay .pay_wrap dl dd{
    margin: 0;
}
.pay .pay_wrap dl dd h2{
font-size: 42px;
    color: #e96d3e;
    font-weight: bold;
    margin: 0 0 0 10px;
}
.pay .pay_wrap dl dd span{
font-size: 38px;
    color: #e96d3e;
    font-weight: bold;
    margin: 0 0 0 10px;
}

/* ボタンのスタイル */
.btn_buy {
    position: relative;
    display: block;
    width: 390px;
    padding: 18px 0;
    background-color: #2eae76;
    border-radius: 100px;
    font-size: 20px;
    color: #fff;
    text-decoration: none;
    text-align: center;
    margin: 20px auto 0;
    box-shadow: #115e3b 0px 6px 0px;
}

/* アイコンのスタイル */
.btn_buy::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  width: 22px;
  height: 22px;
  margin: auto;
  border-radius: 20px;
  background-color: #fff;
}
.btn_buy::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 25px;
  width: 0;
  height: 0;
  margin: auto;
  border-top: 6px solid transparent;
  border-right: 0 solid transparent;
  border-left: 9px solid #21be78;
  border-bottom: 6px solid transparent;
  box-sizing: border-box;
}




@media screen and (max-width: 640px) {
.pay{
padding: 20px 0;
	display: block;
}

.pay .pay_wrap{
        width: 94%;
        text-align: center;
        margin: 0 3% 50px 3%;
}
.pay .pay_txt h3{
    font-size: 18px;
    margin: 0;
}

.pay .pay_wrap dl h2{
font-size: 32px;
    margin: 0 0 15px 0;
}
.pay .pay_wrap dl h2 span{
	font-size: 18px;
}
.pay .pay_wrap dl dd h2{
font-size: 32px;
}
.pay .pay_wrap dl dd span{
font-size: 32px;
}

/* ボタンのスタイル */
.btn_buy {
    width: 80%;
}
/*smp end*/}	



/******************************
お悩み
*******************************/
#onayami{
	background: #E4E4E4;
	margin: 0;
    padding: 20px 0;
}
#onayami #onayami_wrap{
	margin: 60px auto;
    padding: 60px 0;
	background: #fff;
	font-size: 22px;

}
#onayami h2{
	text-align: center;
    color: #2557B7;
    font-size: 46px;
    padding: 0;
	margin: 0 0 40px 0;
	font-weight: normal;
}
#onayami h2 span{
background: #2557B7;
    color: #fff;
    font-size: 30px;
    padding: 15px 0;
    margin: 0 auto 30px auto;
    display: block;
    border-radius: 15px;
    width: 50%;
}

#onayami #onayami_wrap .onayami_item{
line-height: 180%;
	display: flex;
	justify-content: space-between;
	padding: 40px;
}
#onayami #onayami_wrap .onayami_item ul{
	    margin: 50px 0 0 0;
}
#onayami #onayami_wrap .onayami_item ul li{
	background: url(../../img/icon_check_b.png) no-repeat 0 0;
    background-size: auto 28px;
    height: 30px;
    padding-left: 45px;
    margin: 0 0 20px 0;
}
#onayami #onayami_wrap .onayami_item .onayami_img_s img{
	width: 270px;
}
#onayami #onayami_wrap .onayami_item .onayami_img img{
	width: 380px;
}

#onayami #onayami_wrap .font_blue_center{
font-size: 40px;
    text-align: center;
    margin: 20px 0 40px 0;
    color: #2557b7;
    font-weight: bold;
}


@media screen and (max-width: 640px) {
#onayami{
    padding: 10px 3%;
}
#onayami #onayami_wrap{
	margin: 30px auto;
    padding: 30px 0;
	font-size: 16px;

}
#onayami h2{
        font-size: 36px;
        margin: 0;
        line-height: 120%;
}
#onayami h2 span{
    font-size: 20px;
    padding: 10px 0;
    margin: 0 auto 20px auto;
    width: 70%;
}

#onayami #onayami_wrap .onayami_item{
	display: block;
	padding: 3%;
}
#onayami #onayami_wrap .onayami_item ul{
     margin: 10px 0 60px 0;
}
#onayami #onayami_wrap .onayami_item ul li{
    background-size: auto 28px;
    height: 30px;
    padding-left: 45px;
    margin: 0 0 20px 0;
}
	#onayami #onayami_wrap .onayami_item .onayami_img_s, #onayami #onayami_wrap .onayami_item .onayami_img{
		text-align: center;
}
#onayami #onayami_wrap .onayami_item .onayami_img_s img{
	width: 70%;
}
#onayami #onayami_wrap .onayami_item .onayami_img img{
	width: 80%;
}

#onayami #onayami_wrap .font_blue_center{
font-size: 26px;
    margin: 30px 0;
}


/*smp end*/}	



/******************************
NAD不足
*******************************/
#nad{
	background: #b2dac9;
	margin: 0;
    padding: 0 0 70px 0;
}
#nad .nad_ttl {
    margin: 0 auto 40px auto;
    display: flex;
    justify-content: center;
    background: #548671;
    width: 100%;
    padding: 20px 0 0 0;
}
#nad .nad_ttl h2 {
font-size: 36px;
    display: block;
    text-align: center;
    color: #fff;
    margin: 60px 0 0 0;
}
#nad .nad_ttl h2 span {
	color: #FAE01A;
    font-size: 56px;
 }
#nad .nad_ttl img {
    height: 130px;
    padding: 10px 0 0 20px;
}



#nad #nad_wrap{
    line-height: 180%;
}
#nad #nad_wrap .nad_item{
		background: #fff;
    text-align: center;
    padding: 40px;
    margin: 40px auto 0 auto;
    width: 815px;
    border-radius: 10px;
    font-size: 24px;
}

#nad #nad_wrap .nad_item_wrap{
	display: flex;
	justify-content: space-between;
}

#nad #nad_wrap .nad_item .nad_txt{
	margin: 20px 40px 0 0;
	line-height: 160%;
}
#nad #nad_wrap .nad_item .nad_img img{
	width: 120px;
}

#nad #nad_wrap .font_green_center{
font-size: 46px;
    text-align: center;
    margin: 20px 0 40px 0;
    color: #548671;
    font-weight: bold;
}

#nad-visual{
    height: 710px;
    position: relative;
    overflow-x: hidden;		
}
#nad-visual img{
    width: 1500px;
    height: 710px;
    margin-left: -750px;
    position: absolute;
    left: 50%;
}

@media screen and (max-width: 640px) {
#nad{
    padding: 0 0 40px 0;
}
#nad .nad_ttl {
    margin: 0 auto 30px auto;
    padding: 20px 0 0 0;
}
#nad .nad_ttl h2 {
font-size: 22px;
	line-height: 160%;
    margin: 0;
}
#nad .nad_ttl h2 span {
    font-size: 34px;
 }
#nad .nad_ttl img {
    height: 90px;
    padding: 10px 0 0 20px;
}
#nad #nad_wrap{
	        width: 94%;
        padding: 0 3%;
}
#nad #nad_wrap .nad_item{
    padding: 15px;
    margin: 30px auto 0 auto;
    width: 80%;
    font-size: 18px;
}

#nad #nad_wrap .nad_item_wrap{
}

#nad #nad_wrap .nad_item .nad_txt{
	margin: 0px 20px 0 0;
	text-align: left;
}
#nad #nad_wrap .nad_item .nad_img img{
	width: 80px;
}

#nad #nad_wrap .font_green_center{
font-size: 32px;
    margin: 20px 0;
}

#nad-visual{
    height: auto;
    position: static;
}
#nad-visual img{
    width: 100%;
    height: auto;
    margin-left:0;
    position: static;
    left: 0;
}
/*smp end*/}	


/******************************
サプリで補う
*******************************/
#compensate{
	margin: 0 auto;
padding: 60px 0;
	background-color: #f9fbf3;
}
#compensate .cont_wrap{
	display: flex;
	justify-content: space-between;	
}
#compensate .compensate_wrap{
    width: calc((88% - 30px) / 2);
}

#compensate .morning,#compensate .night{
	padding: 30px;
}

#compensate .morning{
	background: #F6F1DC;
}

#compensate .night{
	background: #DEF4F7;
}

#compensate h3{
    font-size: 32px;
    text-align: center;
    margin: 0 0 10px 0;
    font-weight: normal;
    line-height: 140%;
}

@media screen and (max-width: 640px) {
#compensate{
padding: 20px 0;
	display: block;
}

#compensate .compensate_wrap{
        width: 94%;
        text-align: center;
        margin: 0 3% 50px 3%;
}

	/*smp end*/}	


/******************************
老化にアプローチ
*******************************/

#care-visual{
    height: 786px;
    position: relative;
    overflow-x: hidden;		
}
#care-visual img{
    width: 1500px;
    height: 786px;
    margin-left: -750px;
    position: absolute;
    left: 50%;
}

@media screen and (max-width: 640px) {
#care-visual{
    height: auto;
    position: static;
}
#care-visual img{
    width: 100%;
    height: auto;
    margin-left:0;
    position: static;
    left: 0;
}
/*smp end*/}	



/*********************************
ポイント
*********************************/
#misou_p{
    width: 100%;
  background-image: linear-gradient(90deg, rgba(189, 217, 238, 1), rgba(228, 239, 233, 0.22));
padding: 60px 0;
}
#misou_p h2{
    font-size: 24px;
    display: block;
    text-align: center;
    line-height: 220%;
}
#misou_p h2 span{
display: table;
    font-size: 48px;
    margin: 0 auto;
    background: linear-gradient(transparent 60%, #FFFF7A 90%);
}

#misou_p .misou_p_wrap li{
    background: #FFFFFF;
    padding: 30px;
border-radius: 15px;
box-shadow: 5px 5px 5px #bcbcbc;
	margin: 0 0 30px 0;
}


#misou_p .misou_p_wrap li .point_ttl{
    display: flex;
}

#misou_p .misou_p_wrap li .point_icon{
	text-align: center;
background: #25adcb;
    color: #fff;
    border-radius: 100px;
    font-weight: bold;
        width: 80px;
    height: 65px;
        font-size: 32px;
    padding: 15px 0 0 0;
    margin: 0 10px 0 0;
}

#misou_p .misou_p_wrap li .point_icon span{
    display: block;
    font-size: 12px;
    font-weight: normal;
    margin: 0 0 -5px 0;
}  
#misou_p .misou_p_wrap li h3{
font-size: 28px;
    font-weight: bold;
    color: #25adcb;
    padding: 0;
	text-align: left;
    line-height: 120%;
}


/*▼▼▼▼▼▼▼SP▼▼▼▼▼▼▼*/
@media screen and (max-width: 768px) {
#misou_p{
padding: 30px 0;
}
#misou_p h2{
    font-size: 18px;
    line-height: 160%;
}
#misou_p h2 span{
    font-size: 32px;
}
#misou_p .misou_p_wrap{
	width: 88%;
    margin-top: 40px;
}
#misou_p .misou_p_wrap li{
    padding: 20px;
	margin: 0 0 20px 0;
}

#misou_p .misou_p_wrap li .point_icon{
width: 75px;
        height: 60px;
        font-size: 28px;
        padding: 15px 0 0 0;
        margin: 0 10px 0 0;
}
#misou_p .misou_p_wrap li .point_ttl{
margin: 0 0 20px 0;
}

#misou_p .misou_p_wrap li .point_icon span{
    display: block;
    font-size: 12px;
    font-weight: normal;
    margin: 0 0 -5px 0;
}  
#misou_p .misou_p_wrap li h3{
        font-size: 20px;
        text-align: left;
        line-height: 150%;
        width: 70%;
	margin: 0;
}

}
/*▲▲▲▲▲▲▲SP▲▲▲▲▲▲▲*/


/******************************
お声
*******************************/
.voice{
	margin: 0 auto;
    padding: 100px 0 30px 0;
}
.voice h2{
font-size: 32px;
    border-radius: 60px;
    background: #E2C291;
    text-align: center;
    padding: 25px 140px;
    font-weight: normal;
    margin: 0 auto;
    display: table;
}
.voice .voice_wrap{
	margin: 30px 0 0 0;
	display: flex;
	justify-content: space-between;
}
.voice .voice_item{
width: calc((80% - 30px) / 2);
    padding: 5% 5% 15px;
    border-radius: 10px;
}
.voice .morning{
	    background: #F6F1DC;
}
.voice .night{
	background: #DEF4F7;
}
.voice h3{
    font-size: 40px;
    margin: 20px 0;
    line-height: 100%;
    text-align: center;
}
.voice h3 span{
font-size: 20px;
    display: block;
}

.voice .voice_img img{
width: 100%;
	    margin: 0 20px 0 0;
}

.voice ul{
    margin: 30px 0;
}
.voice ul li{
display: flex
;
    padding: 15px;
    background: #fff;
    border-radius: 20px;
    margin: 0 0 20px 0;
}
.voice ul li img{
	width: 50px;
	height: max-content;
}



@media screen and (max-width: 640px) {
.voice{
    padding: 40px 0 20px 0;
}
.voice h2{
        font-size: 24px;
        padding: 15px 0;
        width: 90%;
}
.voice .voice_wrap{
margin: 20px 3% 0 3%;
	display: block;
}
.voice .voice_item{
width: 94%;
    padding: 3%;
	        margin: 0 0 30px 0;
}
.voice h3{
    font-size: 28px;
}
.voice h3 span{
font-size: 16px;
}

.voice .voice_img img{
}

.voice ul{
}
.voice ul li{
display: flex;
    padding: 15px;
}
.voice ul li img{
width: 40px;
        margin-right: 15px;
}

/*smp end*/}	

























/******************************
お問い合わせ、ご相談
*******************************/


#p_contact{
	    background: #fff;
	padding: 60px 0;
}

#p_contact .contact_inner{
text-align: center;
}

#p_contact .box{
	background: #f3efee;
    width: 800px;
    margin: 40px auto;
    padding: 30px 0;
}
#p_contact .box .box_tel {
font-size: 40px;
}


#p_contact .box .box_tel::before {
    content: "";
    display: inline-block;
    width: 36px;
    height: 20px;
    background: url(/lp/cavi-rich/common/img/icon_tel.png);
    margin-right: 8px;
    background-size: contain;
}
#p_contact .box .box_time {
    margin-top: 20px;
    display: inline-block;
    padding: 8px 45px;
    box-sizing: border-box;
    border-radius: 18px;
    background-color: #fff;
}


@media screen and (max-width: 640px) {
	
#p_contact{
	    background: #fff;
	padding: 10px 3%;
}

#p_contact .box{
	background: #f3efee;
    width: 100%;
    margin: 40px auto;
    padding: 30px 0;
}

/*smp end*/}	



/******************************
フッター
*******************************/

footer{
	background: #363636;
	text-align: center;
	color: #fff;
}
.footer_inner{
	padding: 30px 0;
}
.footer_inner a{
	color: #fff;
}
.footer_lower{
	background: #fff;
	padding: 30px;
}

copyright{
	font-size: 14px;
}



@media screen and (max-width: 640px) {


/*smp end*/}	





