@charset "UTF-8";

/*-- ALL ------------------------------
------------------------------------------*/
*{box-sizing:border-box;}
:root{
  --grey: #f3f3f1;
  --purple: #563cfd;
  --black: #020202;
  --white: #ffffff;
  --cl-text: #464851;
  --f-nts: 'Noto Sans JP', sans-serif;
  --f-cals: "Cal Sans", sans-serif;
  --f-min: "Times New Roman", "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho"  , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
  --fw400: 400;
  --fw500: 500;
  --fw600: 600;
  --fw700: 700;
  --fw900: 900;
}
html{overflow-x:hidden;font-size:62.5%;}
body{font-family: var(--f-nts);font-size:1.75rem;line-height:1.65;color:#393635;font-weight:var(--fw400);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;word-break:break-all;}
.center{text-align:center;}
a:hover{opacity:.85}
.hover:hover{opacity:.85}
.sp{display:none;}
.break_pc{display:block;}
.break_sp{display:contents;}
.txt_shadow{text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;}
p{margin:0 0 40px 0;font-size:1.65rem;letter-spacing: -1.2px}
img{max-width:100%;height:auto;}
.mb0{margin-bottom:0;}
.lh_none{line-height:0}
.bold{font-weight:700;}
.highlight{background:-webkit-linear-gradient(transparent 50%,#e8e395 50%,#e8e395 80%,transparent 80%);background:-o-linear-gradient(transparent 50%,#e8e395 50%,#e8e395 80%,transparent 80%);background:linear-gradient(transparent 50%,#e8e395 50%,#e8e395 80%,transparent 80%);padding-bottom:5px;}
.highlight02{background:-webkit-linear-gradient(transparent 50%,#f3f1ca 50%,#f3f1ca 80%,transparent 80%);background:-o-linear-gradient(transparent 50%,#f3f1ca 50%,#f3f1ca 80%,transparent 80%);background:linear-gradient(transparent 50%,#f3f1ca 50%,#f3f1ca 80%,transparent 80%);padding-bottom:5px;}
.highlight-w{background:-webkit-linear-gradient(transparent 50%,#ffffff 50%,#ffffff 80%,transparent 80%);background:-o-linear-gradient(transparent 50%,#ffffff 50%,#ffffff 80%,transparent 80%);background:linear-gradient(transparent 50%,#ffffff 50%,#ffffff 80%,transparent 80%);padding-bottom:5px;}
.highlight_b{background:-webkit-linear-gradient(transparent 50%,#C4D5FB 50%,#C4D5FB 80%,transparent 80%);background:-o-linear-gradient(transparent 50%,#C4D5FB 50%,#C4D5FB 80%,transparent 80%);background:linear-gradient(transparent 50%,#C4D5FB 50%,#C4D5FB 80%,transparent 80%);padding-bottom:5px;}
#wrapper{
  width: 100%;
  overflow: hidden;
  max-width: 750px;
  margin: 0 auto;
}
.inner{
  width: 100%;
  padding: 0 30px;
}
.size18{
  font-size: 18px;
}
.size24{
  font-size: 24px;
}
.size28{
  font-size: 28px;
}
.size30{
  font-size: 30px;
}
.size32{
  font-size: 32px;
}
.size70{
  font-size: 70px;
}
.bold{
  font-weight: var(--fw700) !important;
}
.bold-black{
  font-weight: var(--fw900) !important;
}
.f-w400{
  font-weight: var(--fw400) !important;
}
.f-w500{
  font-weight: var(--fw500) !important;
}
.f-w600{
  font-weight: var(--fw600) !important;
}
.f-min{
  font-family: "Times New Roman", "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho"  , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
  }
.cl_grey{
  color: #666;
}
.cl_grey02{
  color: #eeeeee;
}
.cl_yl{
  color: #c5a22a;
}
.mb0{
  margin-bottom: 0;
}
.mb10{
  margin-bottom: 10px;
}
.mb20{
  margin-bottom: 20px;
}
.mb30{
  margin-bottom: 30px;
}
.mb40{
  margin-bottom: 40px;
}
.mb50{
  margin-bottom: 50px;
}
.mb60{
  margin-bottom: 60px;
}
.mb70{
  margin-bottom: 70px;
}
.mb80{
  margin-bottom: 80px;
}
.mb90{
  margin-bottom: 90px;
}
.mb110{
  margin-bottom: 110px;
}

.line{
  width: 100%;
  height: 2px;
  background: #c8c8c8;
}
.lt-spa{
  letter-spacing: -2px;
}
.box-shadow{
  box-shadow: 0px 8px 16px 0px rgb(50 50 50 / 15%);
}
.bg_white{
  background: #fff;
}
.pd30{
  padding: 30px;
}

/*-- anm ----------------------------------
------------------------------------------*/
.posRel {
  position: relative
}

.posAbs {
  position: absolute
}

svg {
  width: 100%;
  height: auto;
}
/*-- /anm ---------------------------------
------------------------------------------*/

/*-- fv -----------------------------------
------------------------------------------*/
.fv{
  position: relative;
  z-index: -1000;
}
.fv .top{
  position: absolute;
  top:0px;
  left:0;
  z-index:1000;
}
/*-- /fv -----------------------------------
------------------------------------------*/

/*-- /price ----------------------------------
------------------------------------------*/
.price_box{
  position: relative;
  left:0;
}
.price_box .top{
  position: absolute;
  top:10px;
  left:0;
  z-index:1000;
}
.henkin_box{
    background: #EEEEEE;
    padding: 40px 30px 40px 60px;
    border: 2px solid #C1A116;
}
.henkin_box li{
	text-indent:-1.7em;
}
.henkin_box li p{
	margin: 0 0 10px 0;
}
.henkin_box li p span.bordr{
	text-decoration:underline;
	}
  /*--
.henkin_box li a{
	text-decoration: none;
	color: #333;
	}
  --*/

/*-- price -----------------------------------
------------------------------------------*/


/*-- sec01 --------------------------------
------------------------------------------*/
.sec01{
    background-repeat: no-repeat;
    background-position: left top;
    background-image: url(../../images/lp/protein/sp_sec01_bg.jpg);
    background-size: auto auto;
    padding: 67px 0 65px 0;
    background-color: #EDEDED;
}
.sec01_box{
  background: #fff;
  padding: 50px 30px;
}
/*-- /sec01 -------------------------------
------------------------------------------*/

/*-- sec02 --------------------------------
------------------------------------------*/
.sec02{
  background: url(../../images/lp/protein/sp_sec02_bg.jpg) no-repeat center top;
  background-size: cover;
  padding: 80px 0;
}
.sec02.bottom{
  padding-top: 60px;
}
.sec02 .box_oishii_base{
  background: #c5a22a;
  border-radius: 20px;
  padding-bottom: 10px;
}
.sec02 .box_oishii_base_top{
  padding: 60px 30px 10px 30px;
}
.sec02 .box_oishii_base_w{
  width: 100%;
  display: block;
}
.sec02 .box_oishii_base_w p{
  background: #eeeeee;
  border-radius: 0 0 18px 18px;
  width: calc(100% - 20px);
  display: flex;
  justify-content: center;
  margin: 0 auto;
  padding: 40px 30px;
}
.sec02 .box_oishii_base_w p span{
  margin-right: 10px;
}
.sec02 .box_pase{
  background: #fff;
  padding: 40px 30px;
  text-align: center;
}
/*-- /sec02 -------------------------------
------------------------------------------*/

/*-- sec04 --------------------------------
------------------------------------------*/
.sec04{
  background: #eaeaea;
  padding: 70px 0 10px 0;
}
/*-- /sec04 -------------------------------
------------------------------------------*/

/*-- sec05 --------------------------------
------------------------------------------*/
.sec05{
  position: relative
}
.sec05 .top{
	position: absolute;
	top:0px;
}
.sec05 .bottom{
	position: absolute;
	bottom:0px;
}

/*-- /sec05 -------------------------------
------------------------------------------*/

/*-- sec06 --------------------------------
------------------------------------------*/
.sec06{
  background: url(../../images/lp/protein/sp_sec06_bg.jpg) no-repeat center top;
  padding: 40px 0 100px 0;
  background-size: cover;
  font-family: var(--f-min);
}
.sec06_box_wrapp{
  background: #fff;
  padding: 40px 30px;
}
.sec06_container{
  position: relative
}
.sec06_container .top{
	position: absolute;
	top:15px;
}

/*-- /sec06 -------------------------------
------------------------------------------*/

/*-- sec07 --------------------------------
------------------------------------------*/
.sec07{
  background: url(../../images/lp/protein/sp_sec07_bg.jpg) no-repeat center top;
  padding: 70px 0 0 0;
  background-size: cover;
}
/*-- /sec07 -------------------------------
------------------------------------------*/

/*-- sec08 --------------------------------
------------------------------------------*/
.sec08{
  margin-top: -70px;
}
.sec08 .sec08_container {
	position: relative
}

.sec08 .sec08_container .posAbs {
	top:0;
}
.sec08_container p{
	margin: 0;
}

.sec08 .sec08_box{
  background: #393635;
  padding: 50px 0 80px 0;
}
.sec08 .sec08_box p{
  color: #fff;
}
.sec08 .sec08_img02{
  margin-top: -65px;
}
/*-- /sec08 -------------------------------
------------------------------------------*/

/*-- sec09 --------------------------------
------------------------------------------*/
.sec09{
  background: #f2f2f2 url(../../images/lp/protein/sp_sec09_bg.jpg) no-repeat center top;
  padding: 0 0 100px 0;
}
.sec09_box{
  background: #fff url(../../images/lp/protein/sp_sec09_box_bg.jpg) no-repeat right bottom;
  padding: 40px 30px;
}
.sec09_list ul li{
  font-size: 48px;
  font-weight: var(--fw900);
  border-bottom: 2px solid #393635;
  padding: 5px 0 5px 0;
  background: url(../../images/lp/protein/check.png) no-repeat left center;
  padding-left: 70px;
  letter-spacing: -1px;
}
.sec09_list ul li:not(:last-child){
  margin-bottom: 20px;
}
/*-- /sec09 -------------------------------
------------------------------------------*/

/*-- sec10 --------------------------------
------------------------------------------*/
.sec10_container{
	  position: relative
}
.sec10_container .top{
  position: absolute;
	top:0;
}
.sec10_container .bottom{
  position: absolute;
  bottom:0;
}
/*-- /sec10 --------------------------------
------------------------------------------*/

/*-- sec11 --------------------------------
------------------------------------------*/
.sec11{
  padding: 60px 0 80px 0;
  font-family: var(--f-min);
}
.sec11 .sec1_box{
  background: url(../../images/lp/protein/sec1_box_bg01.jpg) no-repeat center top;
  padding: 50px 0 0 0;
}
.sec11 .sec1_box.bg02{
  background: url(../../images/lp/protein/sec1_box_bg02.jpg) no-repeat center top;
  padding: 0 0 0 0;
}
.sec11 .sec1_box.bg_none{
  background: #fff;
  padding: 0 0 0 0;
}
.sec11 .sec1_box p{
}
/*-- /sec11 -------------------------------
------------------------------------------*/

/*-- sec12 --------------------------------
------------------------------------------*/
.sec12{
  background: url(../../images/lp/protein/sp_sec12_bg.jpg) no-repeat center top;
  padding: 80px 0 0 0;
}
.sec12_box.bg01{
  padding: 0 0 85px 0;
}
.sec12_box.bg02{
  background: url(../../images/lp/protein/sp_sec12_bg02.jpg) repeat-y center top;
  padding: 85px 0px 5px 0px;
}

.sec12_box_anime{
  position: relative;
  z-index: 10;
}
.sec12_box_anime .bottom {
    position: absolute;
    bottom: 0px;
    left: 0;
    z-index: 1000;
}

.sec12_box.bg02_02 {
    background: url(../../images/lp/protein/sp_sec12_bg02_02.png) center top repeat-y;
    padding: 30px 0px;
}

.sec12_graph01{
  position:relative;
  height:503px;
}
.sec12_graph02{
  position:relative;
  height:507px;
}
.sec12_graph03{
  position:relative;
  height:448px;
}
.sec12_graph01 .fadeInRight, .sec12_graph02 .fadeInRight, .sec12_graph03 .fadeInRight {
    position: absolute;
    top: 0;
}

.sec12_box.bg02_02 li{
	text-indent:-1em;
}
.sec12_box.bg02_02 li p{
	margin: 0 0 10px 0;
}

.sec12_box.bg03{
  background: url(../../images/lp/protein/sp_sec12_bg03.jpg) no-repeat center top;
  background-size: cover;
  padding: 85px 0;
}
.sec12_box.bg04{
  background: url(../../images/lp/protein/sp_sec12_bg04.jpg) center top;
  background-size:cover;
  padding: 85px 0;
}
.sec12_box.bg05{
  background: url(../../images/lp/protein/sp_sec12_bg05.jpg) no-repeat right top;
  padding: 85px 0;
}
.sec12_box.bg05 .txt{
  padding-right: 240px;
}
.sec12_box .sec12_d_flex_w_c{
  background: #fff;
  padding: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sec12_box .sec12_d_flex{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-bottom: 4px solid #c1a116;
  padding: 50px 0;
}
.sec12_box .sec12_d_flex.first{
  border-top: 4px solid #c1a116;
}
.sec12_box .sec12_d_flex_w_c .thumb,
.sec12_box .sec12_d_flex .thumb{
  width: 250px;
}
.sec12_box .sec12_d_flex_w_c .txt,
.sec12_box .sec12_d_flex .txt{
  width: calc(100% - 280px);
}
.sec12_box .sec12_d_flex_w_c .txt{
  padding-right: 0;
}
.sec12_box .sec12_d_flex .txt h4,
.sec12_box .sec12_d_flex .txt p{
  line-height: 1.4;
}

.sec12_container{
  position: relative;
}
.sec12_container .top{
  position: absolute;
  top:0;
}
/*-- /sec12 -------------------------------
------------------------------------------*/

/*-- sec13 --------------------------------
------------------------------------------*/
.sec13{
  padding: 0 0 100px 0;
  background: url(../../images/lp/protein/sp_sec13_bg.jpg) no-repeat center top;
  background-size: cover;
}
.sec13 .box_iframe{
  position:relative;
  width:100%;
  /*--
  padding-top:56.25%;
  --*/
}
.sec13 .box_iframe iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}
/*-- /sec13 -------------------------------
------------------------------------------*/

/*-- sec14 --------------------------------
------------------------------------------*/
.sec14{
  padding: 100px 0;
  background: #c1a116;
}
.sec14 .sec14_box .txt{
  padding: 30px;
}
.sec14 .sec14_box .txt h3{
  font-size: 48px;
  font-weight: var(--fw900);
  letter-spacing: -2px;
}
.sec14 .sec14_box .txt h3 span{
  font-family: var(--f-cals);
  font-weight: 400;
}

.sec14 .sec14_box p{
  font-family: var(--f-min);
  font-weight: var(--fw400);
}
/*-- /sec14 -------------------------------
------------------------------------------*/

/*-- sec15 --------------------------------
------------------------------------------*/
.sec15{
  padding: 60px 0 100px 0;
  background: url(../../images/lp/protein/sp_sec15_bg.jpg) repeat-y center top;
}
.sec15 .bg_white{
  padding: 30px;
}
.sec15 .bg_white dl dt, .sec15 .bg_white details summary{
  font-size: 30px;
  font-weight: 400;
  background: #e8e395;
  border-radius: 50px;
  padding: 0 0;
  font-family: var(--f-cals);
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 0;
  width: 200px;
  height: 52px;
  text-align: center;
  margin-bottom: 20px;
}
.sec15 .bg_white dl dt span.ja{
  font-size: 30px;
  line-height: 0;
}
.sec15 .d-flex{
  display: flex;
}
.sec15 .d-flex span{
  margin-right: 15px;
}

.accordion-008 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.accordion-008 summary::-webkit-details-marker {
    display: none;
}

.accordion-008 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 20px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .3s;
}

.accordion-008[open] summary::after {
    transform: rotate(225deg);
}

.accordion-008 p {
    transform: translateY(-10px);
    opacity: 0;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion-008[open] p {
    transform: none;
    opacity: 1;
}


/*-- /sec15 -------------------------------
------------------------------------------*/

/*-- sec16 --------------------------------
------------------------------------------*/
.sec16{
  padding: 150px 0 100px 0;
  background: #ffd52d url(../../images/lp/protein/sp_sec16_cam.png) no-repeat center top;
}
.sec16 .bg_white .txt{
  padding: 30px;
}
.sec16 .bg_white .txt h4{
  font-size: 36px;
  font-weight: var(--fw700);
  text-align: center;
  line-height: 1.4;
}
.sec16 .bg_white .d-flex{
  display: flex;
}
.sec16 .bg_white .d-flex span{
  margin-right: 10px;
}
/*-- /sec16 -------------------------------
------------------------------------------*/

/*-- /footer -------------------------------
------------------------------------------*/
.sec_footer{
  padding: 60px 0;
  background: #8d96a7;
  text-align: center;
  color: #fff;
}
.sec_footer a{
  color: #fff;
  text-decoration: none;
  transition:all .2s;
}
.sec_footer a:hover{
  text-decoration: underline;
}
.sec_footer .coppright{
  letter-spacing: 1px;
}
/*-- /footer -------------------------------
------------------------------------------*/

/*-- /cta_fixed ----------------------------
------------------------------------------*/
#cta_fixed{
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1001;
  width: 100%;
  padding: 15px 0;
  background: rgba(255, 255, 255, .8);
}
/*-- /cta_fixed ----------------------------
------------------------------------------*/

/*-- /pagetop ------------------------------
------------------------------------------*/
.pagetop{display:none;position:fixed;bottom:30px;right:30px;z-index:9999;}
.pagetop a{position:relative;display:block;width:50px;height:50px;background-color:#393635;border-radius:50%;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
.pagetop a:before{position:absolute;content:"";border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:12px solid #fff;top:50%;right:50%;transform:translateX(50%)translateY(-60%);}
.pagetop a:hover{display:block;text-align:center;color:#fff;font-size:12px;text-decoration:none;filter:alpha(opacity=70);-moz-opacity:0.7;opacity:0.7;}
.pagetop a:link,.pagetop a:visited{color:#fff;}
/*-- /pagetop ------------------------------
------------------------------------------*/

.pt0{
  padding-top: 0;
}
