/* CSS Document */


/* commone --------------------------- */
html{
  background-color: #EFF5F8;
}
body{
  max-width: 600px;
  margin: 0 auto;
  background-color: #ECEEE7;
  padding-top: 65px;
}

p, li, span, em, small{
  color: #434343;
}
/* commone END ----------------------- */


/* header --------------------------- */
header{
  height: 65px;
  width: 100%;
  max-width: 600px;
  position: fixed;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.logo_link{
  position: relative;
  left: 25px;
}
.logo_link img{
  width: 126px;
}

.btn_catalog{
  background-color: #5594B3;
  border-radius: 10px;
  width: 130px;
  height: 47px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  right: 25px;
}
.btn_catalog img{
  width: 22px;
  margin-right: 5px;
}
.btn_catalog p{
  font-size: 1.3rem;
  color: #FFFFFF;
  text-align: center;
}
.btn_catalog p small{
  font-size: 1rem;
  display: block;
  color: #FFFFFF;
}
/* header END ----------------------- */


/* blp_intro --------------------------- */
.blp_intro{
  padding-bottom: 50px;
  overflow: hidden;
}

.top_img{
  font-size: 0;
}
.top_img h1{
  width: 100%;
}

.blp_intro_inner{
  max-width: 375px;
  margin: 0 auto;
  padding-top: 45px;
}
.blp_intro_inner h2{
  font-size: 2.3rem;
  padding-bottom: 45px;
}
.blp_intro_list{
  padding-left: 6.66%;
  padding-right: 6.66%;
}
.blp_intro_list li{
  display: flex;
  align-items: center;
  padding-bottom: 20px;
  letter-spacing: 1.7px;
  font-size: 1.4rem;
}
.blp_intro_list li::before{
  content: '';
  display: inline-block;
  height: 37px;
  width: 37px;
  background: url("/img/blp/icon_checkbox.svg") no-repeat;
  background-size: 100% auto;
  margin-right: 10px;
}
.blp_intro_list li em{
  position: relative;
}
.blp_intro_list li em::before{
  content: '';
  display: block;
  width: 100%;
  height: 3px;
  background-color: #E8E833;
  position: absolute;
  bottom: -4px;
  left: 0;
}
.blp_intro_answer{
  width: 325px;
  border-radius: 20px;
  background-color: #FFFFFF;
  margin: 0 auto;
  position: relative;
  margin-top: 40px;
  padding-top: 20px;
  padding-bottom: 20px;
}
.blp_intro_answer p{
  font-size: 1.8rem;
  color: #5594B3;
  text-align: center;
  position: relative;
  z-index: 1;
}
.blp_intro_answer p em{
  color: #5594B3;
  position: relative;
}
.blp_intro_answer p em::after{
  content: '';
  width: 100%;
  height: 12px;
  position: absolute;
  bottom: -3px;
  left: 0;
  background-color: #E8E833;
  border-radius: 6px;
  z-index: -1;
}
.icon_down{
  width: 60px;
  position: absolute;
  left: 0;
  right: 0;
  top: -25px;
  margin: auto;
}
.ilst_rand{
  width: 128px;
  position: absolute;
  bottom: -40px;
  right: -40px;
}
/* blp_intro END ----------------------- */



/* blp_about --------------------------- */
.blp_about{
  background-color: #FFFFFF;
  padding-top: 40px;
  padding-bottom: 40px;
}
.blp_about_inner{
  max-width: 325px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.blp_about img{
  width: 72px;
}
.blp_about_txt{
  width: 69.84%;
}
.blp_about_txt h2{
  font-size: 1.8rem;
  padding-bottom: 15px;
  text-align: left;
}
.blp_about_txt p{
  font-size: 1.2rem;
}
/* blp_about END ----------------------- */


/* blp_randerabi --------------------------- */
.blp_randerabi{
  padding-top: 50px;
  padding-left: 6.66%;
  padding-right: 6.66%;
  overflow: hidden;
}
.blp_randerabi_inner{
  max-width: 325px;
  margin: 0 auto;
}
.blp_randerabi h2{
  font-size: 2.3rem;
  padding-bottom: 40px;
  letter-spacing: 0;
}
.blp_randerabi h2 em{
  color: #5594B3;
  position: relative;
  z-index: 1;
}
.blp_randerabi h2 em::after{
  content: '';
  width: 100%;
  height: 12px;
  position: absolute;
  bottom: -3px;
  left: 0;
  background-color: #E8E833;
  border-radius: 6px;
  z-index: -1;
}
.blp_randerabi_inner p{
  font-size: 1.4rem;
  padding-bottom: 30px;
}
.blp_randerabi_inner p span{
  color: #5594B3;
}
.blp_randerabi_img{
  position: relative;
}
.ilst_bird{
  width: 100px;
  position: absolute;
  top: 75px;
  left: 0;
  z-index: 1;
}
.ilst_sakura{
  width: 120px;
  position: absolute;
  right: 22px;
  top: 25px;
  z-index: 1;
}
.randerabi_photo_1{
  width: 330px;
  border-radius: 26px;
  position: relative;
  right: -60px;
}
.randerabi_photo_2{
  width: 300px;
  border-radius: 26px;
  position: relative;
  left: -95px;
}
/* blp_randerabi END ----------------------- */


/* blp_tokuryou --------------------------- */
.blp_feature{
  background-color: #CFE4E8;
  padding-left: 6.66%;
  padding-right: 6.66%;
  padding-top: 50px;
}
.blp_feature_inner{
  max-width: 325px;
  margin: 0 auto;
}
.blp_feature_subttl{
  padding-bottom: 10px;
  max-width: 250px;
  margin: 0 auto;
}
.blp_feature_inner h2{
  width: 100%;
  height: 51px;
  background: url("/img/blp/feature_title.png") no-repeat;
  background-size: 100% auto;
  font-size: 2.3rem;
  letter-spacing: 0.5px;
  line-height: 2.3;
}

.blp_feature_wrap{
  padding-bottom: 50px;
}
.blp_feature_wrap h3{
  font-size: 2rem;
  color: #5594B3;
  text-align: center;
  padding-bottom: 20px;
  padding-top: 10px;
}
.blp_feature_img{
  position: relative;
}
.blp_feature_img .musk{
  mask-image: url("/img/blp/musk_oval.svg");
  mask-repeat: no-repeat;
  mask-position: 0 0;
  mask-size: 100%;
  /* Chrome, Safari用 */
  -webkit-mask-image: url("/img/blp/musk_oval.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 0 0;
  -webkit-mask-size: 100%
}
.blp_feature_img .no{
  width: 90px;
  position: absolute;
  left: 0;
  top: -20px;
  z-index: 1;
}
.blp_feature_img .no.rvs{
  left: auto;
  right: 0;
}
.blp_feature_txt{
  font-size: 1.4rem;
  padding-bottom: 10px;
}
.blp_feature_memo img:first-child{
  position: relative;
  z-index: 2;
}
/* blp_tokuryou END ----------------------- */


/* user_voice --------------------------- */
.user_voice{
  background-color: #CFE4E8;
}
.user_voice_inner{
  background-color: #4C97BC;
  border-radius: 40px 40px 0 0;
  padding-left: 6.66%;
  padding-right: 6.66%;
  padding-top: 50px;
  padding-bottom: 60px;
}
.user_voice_inner h2{
  max-width: 250px;
  margin: 0 auto;
}
.user_voice_inner ul{
  max-width: 350px;
  margin: 0 auto;
}
.user_voice_inner ul li{
  position: relative;
  margin-bottom: 30px;
  left: 8px;
  font-size: 0;
}
.user_voice_inner ul li.rvs{
  left: auto;
  right: 8px;
}
.user_voice_inner ul li p{
  color: #5F674C;
  font-size: 1.4rem;
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  z-index: 2;
  left: 15px;
}
.user_voice_inner ul li.rvs p{
  left: auto;
  right: 15px;
}
.user_voice_inner ul li p em{
  position: relative;
}
.user_voice_inner ul li p em::after{
  content: '';
  display: block;
  height: 3px;
  width: 100%;
  background-color: #E8E833;
  border-radius: 2px;
  position: absolute;
  bottom: -4px;
}

@media screen and (min-width: 768px) {
  .user_voice_inner ul li{
    left: 40px;
  }
  .user_voice_inner ul li.rvs{
    right: 40px;
  }
  
  .user_voice_inner ul li p{
    left: 30px;
  }
  .user_voice_inner ul li.rvs p{
    right: 30px;
  }
}
/* user_voice END ----------------------- */



/* blp_quality --------------------------- */
.blp_quality{
  padding-top: 60px;
}
.blp_quality_inner{
  padding-left: 6.66%;
  padding-right: 6.66%;
}
.blp_quality h2{
  font-size: 2.8rem;
  padding-bottom: 35px;
}
.blp_quality h2 small{
  display: block;
  color: #5594B3;
  font-size: 1.6rem;
}
.blp_quality_txt{
  max-width: 375px;
  margin: 0 auto;
  font-size: 1.4rem;
  padding-bottom: 30px;
}
.blp_quality_img{
  margin-top: 20px;
}
.blp_quality h3{
  color: #5594B3;
  text-align: center;
  font-size: 2rem;
  padding-top: 30px;
  padding-bottom: 30px;
}
/* blp_quality END ----------------------- */



/* blp_lineup --------------------------- */
.blp_lineup{
  background-color: #FFFFFF;
  padding-left: 6.66%;
  padding-right: 6.66%;
  padding-top: 50px;
}
.blp_lineup_inner{
  max-width: 375px;
  margin: 0 auto;
}

.blp_lineup_inner h2{
  font-size: 2.8rem;
  padding-bottom: 40px;
}
.blp_lineup_inner h2 small{
  font-size: 1.6rem;
  display: block;
  color: #5594B3;
}
.blp_lineup_inner h3{
  font-size: 2.5rem;
  color: #5594B3;
  text-align: center;
  padding-bottom: 40px;
}
.blp_lineup_inner h3 small{
  font-size: 2rem;
  color: #5594B3;
}
/* blp_lineup END ----------------------- */


/* lineup_list --------------------------- */
.lineup_list{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-top: 55px;
  min-height: 300px;
}
.lineup_list li{
  width: 47.38%;
  padding-bottom: 25px;
  position: relative;
}
.lineup_list li picture{
  position: relative;
  display: block;
  font-size: 0;
}
.lineup_list li.new picture::before{
  content: 'NEW';
  width: 43px;
  height: 20px;
  color: #FFFFFF;
  font-size: 1.1rem;
  text-align: center;
  background-color: #78B0CB;
  position: absolute;
  top: 0;
  left: 0;
  font-family: greycliff-cf, sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 1.3px;
  border-radius: 0 0 5px 0;
}

/*販売完了*/
.lineup_list li.soldout > a > span{
  position: relative;
  display: block;
}
.lineup_list li.soldout > a > span::before{
  content: '';
  background-color: rgba(0,0,0,.25);
  width: 100%;
  display: block;
  padding-bottom: 100%;
  position: absolute;
  top: 0;
  z-index: 1;
}
.lineup_list li.soldout > a > span::after{
  content: '販売終了';
  width: 70px;
  height: 20px;
  position: absolute;
  bottom: 0;
  right: 0;
  text-align: center;
  background-color: rgba(0,0,0,.50);
  color: #FFFFFF;
  font-size: 1.1rem;
  border-radius: 5px 0 0 0;
  letter-spacing: 1px;
  line-height: 2;
  z-index: 2;
}

/*商品名&価格*/
.item_detail{
  font-size: 1.4rem;
}
.item_detail > span{
  font-size: 1.5rem;
  display: block;
}
.icon_external{
  position: relative;
  display: initial!important;
}
.icon_external::after{
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  background: url("/2024/img/common/icon_external_link.svg") no-repeat;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -16px;
  margin: auto;
  
}


/* lineup_list END ----------------------- */



/* limited_wrap -----------------------------*/
.limited_wrap{
  max-width: 600px;
  margin: 0 auto;
}

.limited_wrap_inner{
  max-width: 500px;
  margin: 0 auto;
}
.limited_wrap_inner h3{
  font-size: 1.7rem;
  padding-top: 30px;
  text-align: center;
}
/*.limited_wrap_inner > p{
  font-size: 1.4rem;
  padding-top: 30px;
  padding-bottom: 30px;
}*/
.limited_wrap_inner > ul{
  border: #D4D5D3 1px solid;
  border-radius: 3px;
  padding: 15px;
}
.limited_wrap_inner > ul li{
  font-size: 1.2rem;
}
.limited_wrap_inner > ul li span{
  display: inline-block;
  padding-right: 8px;
  position: relative;
  margin-right: 8px;
}
.limited_wrap_inner > ul li span::after{
  content: '';
  display: block;
  width: 0.5px;
  height: 12px;
  background-color: #707070;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}

.more_btn{
  max-width: 210px;
  margin: 0 auto;
  padding-top: 30px;
}
.more_btn a{
  height: 40px;
  position: relative;
  font-size: 1.4rem;
  text-indent: -15px;
}
.more_btn a::before{
  content: '';
  display: block;
  width: 14px;
  height: 2px;
  background-color: #FFFFFF;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 28px;
  margin: auto;
}
.more_btn a::after{
  content: '';
  display: block;
  width: 2px;
  height: 14px;
  background-color: #FFFFFF;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 34px;
  margin: auto;
  transition: all 0.5s ease;
}
.more_btn a.close::after{
 -webkit-transform: rotate(270deg);
          transform: rotate(270deg);
}

/* limited_wrap End -------------------------*/



/* color_variation -----------------------------*/
.color_variation{
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 20px;
  padding-bottom: 20px;
}
.color_variation p{
  font-size: 1.4rem;
}
/*カラーチップ*/
.color_chip{
  display: flex;
  justify-content: center;
  
  /*padding-top: 35px;*/
}
.color_chip.left{
  justify-content: flex-start;
  /*max-width: 325px;
  margin: 0 auto;*/
}
.color_chip li{
  padding: 1px;
  margin: 0 1px;
  font-size: 0;
  position: relative;
  border-radius: 50%;
  border: transparent 1px solid;
  transition: all 500ms ease;
}
.color_chip li.active{
  border: currentColor 1px solid;
}
.color_chip li:hover{
  border: currentColor 1px solid;
}
.color_chip li:hover a{
  opacity: 1;
}
.color_chip li span{
  display: inline-block;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background-color: currentColor;
}

.color_chip li span.hanakanmuri{
  width: 0;
  height: 0;
  border-top: 8.5px solid #DCBEDD;
  border-right: 8.5px solid #D89B9B;
  border-bottom: 8.5px solid #D89B9B;
  border-left: 8.5px solid #DCBEDD;
}

.color_chip li span.takarasagashi{
  width: 0;
  height: 0;
  border-top: 8.5px solid #B56F3B;
  border-right: 8.5px solid #D3A864;
  border-bottom: 8.5px solid #D3A864;
  border-left: 8.5px solid #B56F3B;
}

.color_chip li span.kakurenbo{
  width: 0;
  height: 0;
  border-top: 8.5px solid #3A3631;
  border-right: 8.5px solid #929F93;
  border-bottom: 8.5px solid #929F93;
  border-left: 8.5px solid #3A3631;
}
/* color_variation End -------------------------*/


/* blp_campaign -----------------------------*/
.blp_campaign{
  background-color: #FFFFFF;
}
.blp_campaign_inner{
  border-radius: 40px 40px 0 0;
  overflow: hidden;
  font-size: 0;
}
.blp_campaign_txt{
  position: absolute;
  bottom: 50px;
  left: 0;
  padding-left: 6.66%;
  padding-right: 6.66%;
  width: calc(100% - (6.66% * 2 ));
}
.blp_campaign_txt p{
  max-width: 375px;
  margin: 0 auto;
  font-size: 1.4rem;
  color: #707070;
}
/* blp_campaign End -------------------------*/


/* blp_message -----------------------------*/
.blp_message{
  background: url("/img/blp/message_texture_sp.jpg") repeat;
  padding-left: 6.66%;
  padding-right: 6.66%;
  padding-top: 50px;
}

.blp_message_inner{
  max-width: 375px;
  margin: 0 auto;
}
.blp_message_inner h3{
  max-width: 300px;
  margin: 0 auto;
}
.blp_message_inner p{
  padding-bottom: 30px;
  font-size: 1.4rem;
}
.blp_message_inner p span{
  color: #5594B3;
}
.illust_kids{
  width: 150px;
  float: right;
  position: relative;
  top: -35px;
  right: -25px;
  margin-left: -10px;
}

@media screen and (min-width: 768px) {
  .blp_message{
    background: url("/img/blp/message_texture_pc.jpg") repeat;
  }
}
/* blp_message End -------------------------*/


/* blp_chooses -----------------------------*/
.blp_chooses{
  background-color: #FFFFFF;
  padding-left: 6.66%;
  padding-right: 6.66%;
  padding-top: 50px;
  padding-bottom: 50px;
}
.blp_chooses_inner{
  max-width: 375px;
  margin: 0 auto;
}
.blp_chooses_inner h2{
  font-size: 2.3rem;
  padding-bottom: 40px;
}
.blp_chooses_inner h2 small{
  font-size: 1.6rem;
  display: block;
  color: #5594B3;
}
.blp_chooses_inner p{
  padding-bottom: 30px;
  font-size: 1.4rem;
}
.blp_chooses_inner p span{
  color: #5594B3;
}
/* blp_chooses End -------------------------*/


/* blp_catalog -----------------------------*/
.blp_catalog{
  padding-top: 50px;
  padding-bottom: 50px;
}

.blp_catalog h2{
  font-size: 2.3rem;
  padding-bottom: 20px;
}
.blp_catalog h2 small{
  font-size: 1.6rem;
  display: block;
  color: #5594B3;
}
.blp_catalog_tag{
  display: flex;
  justify-content: center;
  padding-bottom: 30px;
}
.blp_catalog_tag li{
  color: #5594B3;
  background-color: #FFFFFF;
  font-size: 1.4rem;
  height: 26px;
  border-radius: 13px;
  padding-left: 10px;
  padding-right: 10px;
  margin-left: 5px;
  margin-right: 5px;
}

.blp_catalog_inner{
  max-width: 375px;
  margin: 0 auto;
}

.blp_catalog_img{
  padding-bottom: 30px;
}
.btn_txt{
  text-align: center;
  font-size: 1.4rem;
  padding-bottom: 15px;
}
.blp_catalog_txt{
  padding-top: 30px;
  font-size: 1.2rem;
}
/* blp_catalog End -------------------------*/


/* catalog_form -----------------------------*/
.catalog_form{
  background-color: #FFFFFF;
  padding-left: 6.66% !important;
  padding-right: 6.66% !important;
  max-width: none !important;
}

.catalog_form_inner h2{
  font-size: 2.3rem;
}

/* catalog_form End -------------------------*/


/* footer -----------------------------*/
.blp_ft_inner{
  padding-left: 12.53%;
  padding-right: 12.53%;
}
.blp_ft_sns{
  display: flex;
  justify-content: space-around;
  max-width: 280px;  
  margin: 0 auto;
  padding-bottom: 30px;
}
.blp_ft_sns li.insta{
  width: 40px;
}
.blp_ft_sns li.fb{
  width: 20px;
}
.blp_ft_sns li.line{
  width: 40px;
}
.blp_ft_sns li.tiktok{
  width: 30px;
}
.blp_ft_sns li.youtube{
  width: 40px;
}

.blp_ft_logo{
  width: 150px;
  margin: 0 auto;
  padding-top: 30px;
  padding-bottom: 30px;
}
.blp_ft_cp{
  text-align: center;
  color: #5594B3;
  font-size: 1.2rem;
}
.blp_ft_cp a{
  color: #5594B3;
}
/* footer End -------------------------*/