
/* このCSSはオールインワンだけの装飾を設定 */
/* シリーズページ共通cssはbland-common.cssで管理 */

/* =========================================== */
/*   シリーズページ 共通
/* =========================================== */

:root{
  ----color-pdrn : #279750;
  --color-nia : #F8650B;
  --color-aze : #00A8B6;
  --color-pha : #BC2069;
  --color-pdrn : #3EB17C;
}
.--color-pdrn{
  color: var(----color-pdrn);
}
.color-nia{
  color: var(--color-nia);
}
.color-aze{
  color: var(--color-aze);
}
.color-pha{
  color: var(--color-pha);
}
.color-pdrn{
  color: var(--color-pdrn);
}

.center{
  text-align: center;
}
/* =========================================== */
/*   kv
/* =========================================== */
.kv-title__wrapper--pdrn .kv_title{
  position: absolute;
  top: 15%;
  left: 50%;
  transform: translateX(-50%);
  width: 95%;
  max-width: 966px;
}
.series{
  background: transparent linear-gradient(180deg, #ffffff 0%,#e5fee2d3 10%, #ffffff 50%, #ffffff 100%) 0% 0% no-repeat padding-box;
}
.curve{
  background: transparent linear-gradient(180deg, #e5fee2d3 0%,  #e5fee2 100%) 0% 0% no-repeat padding-box;
}
.backgroud_col{
  background: transparent linear-gradient(180deg, #e5fee2 0%, #EFF6F1 70%, #FFFFFF 100%) 0% 0% no-repeat padding-box;
}
@media screen and (max-width: 600px) {
  /* KVは画像なりの高さにして、下端が画面下に来た時点でstickyさせる。
     画像が最後まで見えてから series__kv__base-over のカーブが上に乗ってくる */
  .series .series__kv__base-under{
    position: sticky;
    /* KV画像(400×808)の高さは202vw。画像下端が画面下に来る位置でピン留めする */
    top: calc(100vh - 202vw);
    top: calc(100svh - 202vw);
    bottom: auto;
    height: auto;
  }
  .series__kv__inner{
    height: auto;
  }
  .series__kv__inner img{
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  .kv-title__wrapper--pdrn .kv_title{
    top: 7%;
    width: 95%;
    height: auto;
  }
  .kv-title__wrapper--pdrn .kv_title img{
    width: 100%;
    height: auto;
  }
}
/* =========================================== */
/*   series__info
/* =========================================== */
.series__info--detail{
  /* 各シリーズ.cssでカラー設定 */
  border-top: var(----color-pdrn) solid 1px;
  border-bottom: var(----color-pdrn) solid 1px;
}
.caption ul.caption-img{
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1vw;
}
.series__info--ttl{
  color: var(--color-pdrn);
}
.caption ul.caption-img li{
  height: 100%;
  width: calc((100% - 1vw) / 2);
}
.caption-img03{
  width: 50%;
}
@media screen and (max-width: 768px) {
  .caption ul.caption-img li{
    height: 100%;
    width: 100%;
  }
  .caption-img03{
    width: 100%;
    max-width: 600px;
  }
}
/* ======================================== */
/*   series__main
/* ======================================== */
.series__sec--ttl {
  color: var(--color-pdrn);
}
.caption-img{
  width: 100%;
  margin-bottom: 80px;
}
.caption__lead{
  width: 100%;
  max-width: 1000px;
}
.caption__lead-ingredient{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1000px;
  justify-content: center;
  align-items: start;
  gap: 1vw;
}
.caption__lead-ingredient:not(:last-child){
  margin-bottom: 55px;
}
.caption__lead-ingredient__item{
  width: calc((100% - 3vw) / 4 );
  max-width: 400px;
  text-align: center;
}
.caption__lead-ingredient__item dl{
  margin-bottom: 20px;
}
.caption__lead-ingredient dt{
  font-size: 18px;
  background: #1F459A;
  gap: 4px;
  height: 3em;
  line-height: 1;
  color: #fff;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 0.7em;
}
.caption__lead-ingredient dt.col_green{
  background-color: #00742B;
}
.caption__lead-ingredient dd{
  text-align: left;
  font-size: clamp(14px, 3vw, 16px);
}
.recycle{
  display: flex;
  align-items: start;
  margin-top: 0.5em;
}
.recycle img{
  object-fit: contain;
  width: 33%;
  margin-left: 5px;
}

@media screen and (max-width: 768px) {
  .caption-img{
    max-width: 600px;
  }
  .caption__lead-ingredient{
    max-width: 600px;
  }
  .caption__lead-ingredient__item{
    width: 100%;
  }
  .recycle img{
    width: 25%;
    margin-left: 15px;
  }
}
/* =========================================== */
/*   cont02 贅沢成分
/* =========================================== */
.material{
  margin-top: 3vw;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 384px));
  justify-content: center;
  gap: 20px;
  width: 100%;
  max-width: 1000px;
  margin-inline: auto;
  margin-bottom: 55px;
}
.material__group{
  --material-col: #26B7B7;
  background-color: #fff;
  border: var(--material-col) solid 1px;
  width: 100%;
  max-width: 384px;
  justify-self: center;
}
.material__group--pink{
  --material-col: #F599B5;
  /* 1カラム分の幅で中央に配置 */
  grid-column: 1 / -1;
}
.material__ttl{
  background-color: var(--material-col);
  color: #fff;
  font-size: clamp(18px, 4vw, 22px);
  font-weight: bold;
  text-align: center;
  padding: 0.4em 10px;
}
.material__items{
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 18px 30px;
}
.material__group--pink .material__items{
  align-items: center;
}
.material__item{
  display: flex;
  align-items: center;
  gap: 20px;
  text-align: left;
}
.material__item img{
  flex-shrink: 0;
  width: 92px;
  height: auto;
}
.material__item p{
  font-size: clamp(13px, 3.4vw, 14px);
  line-height: 1.7;
}
.material__name{
  font-weight: bold;
}
.material__name small{
  font-weight: normal;
}

.cont02-free h4{
  font-weight: bold;
  color: #ffffff;
  line-height: 1;
  font-size: clamp(18px, 4vw, 22px);
  background-color: var(--color-pdrn);
  width: fit-content;
  margin-inline: auto;
  padding: 0.5em 1.5em;
  border-radius: 999px;
  margin-bottom: 1em;
}

@media screen and (max-width: 768px) {
  .material__group--pink .material__items{
    align-items: start;
  }
}
/* =========================================== */
/*   cont03 試験結果
/* =========================================== */
.cont03 .txt-box--note{
  margin-bottom: 3vw;
}
.cont03-test01{
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 55px;
}
.cont03-test01 img{
  width: calc((100% - 10px) / 2);
  height: auto;
}

@media screen and (max-width: 768px) {
  .material{
    grid-template-columns: 1fr;
    max-width: 600px;
  }
  .material__items{
    padding: 18px 20px;
  }
  .material__item img{
    width: 80px;
  }
  .cont03-test01{
    flex-direction: column;
    align-items: center;
    gap: 3em;
  }
  .cont03-test01 img{
    width: 100%;
    max-width: 495px;
  }
}
/* =========================================== */
/*   recommend
/* =========================================== */
section.recommend{
  position: relative;
}
.recommend__ttl{
  position: absolute;
  top: -1.5em;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  color: #fff;
  font-weight: bold;
  font-size: clamp(20px, 4vw, 23px);
  line-height: 1;
  background-color: var(--color-pdrn);
  padding: 0.8em 1.6em;
  border-radius: 999px;
  white-space: nowrap;
}
.recommend__inner{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: #fff;
  padding: 0 20px 3em;
  width: 100%;
  margin-inline: auto;
  box-shadow: 8px 8px 0 0 var(--color-pdrn);
}
.recommend-box{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 12px;
  flex: 1;
  min-width: 0;
  margin-top: 3em;
}
.recommend-box li{
  background: linear-gradient(180deg, #2AA26F 2%, #48B983 73%, #63CD94 100%);
  color: #fff;
  font-weight: bold;
  font-size: clamp(16px, 2.4vw, 20px);
  line-height: 1.45;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45%;
  max-width: 15em;
  min-height: 4.8em;
  padding: 0.6em 0.5em;
}
.recommend__img{
  width: 38%;
  max-width: 333px;
  height: auto;
}

@media screen and (max-width: 768px) {
  .recommend__inner{
    flex-direction: column;
    padding: 2.6em 10px 16px;
    gap: 0px;
    box-shadow: 4px 4px 0 0 var(--color-pdrn);
  }
  .recommend-box{
    width: 100%;
    gap: 8px;
  }
  .recommend-box li{
    min-height: 4.2em;
    font-size: clamp(12px, 3.4vw, 14px);
    width: 48%;
  }
  .recommend__img{
    width: 92%;
    max-width: 360px;
  }
}

/* =========================================== */
/*   product
/* =========================================== */
.product{
  background-color: #E5FEE2;
}
.product--item:not(:last-child){
  border-bottom: var(----color-pdrn) solid thin;
}


/* 商品画像のスライダーデザイン */
.dots-wrap li{
  background: #E5FEE2;
}
.dots-wrap li:hover,
.dots-wrap li.slick-active {
    background: var(----color-pdrn);
}