/*====================================================================*/
/* Topカテゴリキーワードリスト */
/*====================================================================*/

.top_keyword{
  text-align: center;
  margin:0 0 80px;
}
.top_keyword_list{
  display:flex;
  flex-flow:row wrap;
  justify-content: center;
  gap:18px;
  width:900px;
  margin:40px auto 0;
}
.top_keyword_list_item{
  display:flex;
  justify-content: center;
  align-items: center;
  border:1px solid #EF8D9F;
  border-radius:27.5px;
  height:55px;
  font-weight:400;
  font-size:16px;
  letter-spacing: 0.01em;
  color:#000;
  padding:0 30px;
}
.top_keyword_list_item:first-child{
  margin-left:60px;
}
.top_keyword_list_item:last-child{
  margin-right:60px;
}
.top_keyword_list_item:hover{
  background-color: #EF8D9F;
  color:#FFF;
}

@media screen and (max-width: 767px) {
  .top_keyword{
    margin:0 0 48px;
  }
  .top_keyword_list{
    gap:10px;
    width:auto;
    margin:40px auto 0;
  }
  .top_keyword_list_item{
    border-radius:18px;
    height:35px;
    font-size:13px;
    padding:0 12px;
  }
  .top_keyword_list_item:first-child{
    margin-left:15px;
  }
  .top_keyword_list_item:last-child{
    margin-right:30px;
  }
}

/*====================================================================*/
/* Top セクションバナー */
/*====================================================================*/

.top_banners{
  display:flex;
  justify-content: center;
  gap:0 20px;
  margin:70px 0;
}
.top_banners > a{
  flex:0 0 500px;
}
.top_banners > a:hover{
  opacity:0.75;
}
.top_banners > a > img{
  display:block;
  width:100%;
}

@media screen and (max-width: 767px) {
  .top_banners{
    display:flex;
    flex-flow:column nowrap;
    justify-content: flex-start;
    gap:20px 0;
    padding:0 20px;
    margin:50px 0;
  }
  .top_banners > a{
    flex:0 0 100%;
  }
}

/*====================================================================*/
/* Top フッターフロートバナー */
/*====================================================================*/

.top_foot_float_banner{
  position:fixed;
  z-index:12;/* swiper の dots より大きく */
  bottom:0;
  right:0;
  width:25vw;
  min-width:320px;
}
.top_foot_float_banner_close{
  position:absolute;
  top:-10px;
  left:-10px;
  width:20px;
  height:20px;
  background-color: #FFF;
  border-radius:50%;
  cursor:pointer;
}
.top_foot_float_banner_close:before{
  transform: rotate(45deg);
}
.top_foot_float_banner_close:after{
  transform: rotate(-45deg);
}
.top_foot_float_banner_close:before,
.top_foot_float_banner_close:after{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 60%;
  height: 1px;
  background-color: #333;
}
.top_foot_float_banner_a{
  display:block;
}
.top_foot_float_banner_a > img{
  display:block;
  width:100%;
}

@media screen and (max-width: 767px) {
  .top_foot_float_banner{
    bottom:15px;
    right:15px;
    width:calc(100% - 30px);
    min-width:0;
  }
  .top_foot_float_banner_close{
    top:-14px;
    left:auto;
    right:-14px;
    width:28px;
    height:28px;
  }
}

/*====================================================================*/
/* Top中段 Recommend 大き目の2つバナー */
/*====================================================================*/

.topv3_sct.recom_bigbanner{
  padding: 70px 40px 10px;
}
.top_recom_bigbanner{
  display:flex;
  flex-flow:column nowrap;
  gap:26px 0;
  width:100%;
  max-width:800px;
  margin:0 auto;
}
.top_recom_bigbanner_a{
  display:block;
}
.top_recom_bigbanner_a:hover{
  opacity:0.75;
}
.top_recom_bigbanner_pic{
  display:block;
}
.top_recom_bigbanner_pic > img{
  display:block;
  width:100%;
}

@media screen and (max-width: 767px) {
  .topv3_sct.recom_bigbanner{
    padding: 60px 20px;
  }
  .top_recom_bigbanner{
    max-width:420px;
    margin:30px auto 0;
  }
}

/*====================================================================*/
/* Top中段 Recommend 正方形バナーリスト */
/*====================================================================*/

.top_recom_banner_list{
  display:flex;
  flex-flow:row wrap;
  gap:20px;
  padding:0 20px;
}
.top_recom_banner_item{
  width:calc( (100% - 60px) / 4 );
}
.top_recom_banner_item_pic{
  display:block;
  margin:0 0 10px;
}
.top_recom_banner_item_pic > img{
  display:block;
  width:100%;
  aspect-ratio: 1/1;
  object-fit: cover;
}
.top_recom_banner_item_title{
  font-weight:400;
  font-size:15px;
  line-height:1.8;
  letter-spacing: 1px;
}

@media screen and (max-width: 767px) {
  .top_recom_banner_list{
    gap:20px;
    padding:0;
  }
  .top_recom_banner_item{
    width:calc( (100% - 20px) / 2 );
  }
  .top_recom_banner_item_title{
    font-size:12px;
  }
}


/*====================================================================*/
/* 商品一覧のカテゴリタブ */
/*====================================================================*/

.product_list_category_tab{
  display:flex;
  flex-flow:row wrap;
  gap:10px;
  margin:0 0 20px;
}
.product_list_category_tab_item{
  display:flex;
  justify-content: center;
  align-items: center;
  height:30px;
  border:1px solid #f2abba;
  background-color: #FFF;
  font-size:13px;
  color:#999;
  cursor:pointer;
  padding:0 10px;
}
.product_list_category_tab_item:hover,
.product_list_category_tab_item.active{
  background-color: #f2abba;
  color:#FFF;
}

/*====================================================================*/
/* カテゴリー詳細 */
/*====================================================================*/

.category_detail_title{
  font-weight:700;
  font-size:30px;
  color:#FA7091;
  margin:0 0 40px;
}
.product_list.category_detail_list{
  display:flex;
  flex-flow:row wrap;
  gap:20px;
  margin:0;
}
.product_list.category_detail_list > li{
  flex:0 0 calc( (100% - 60px) / 4 );
  position: relative;
  width:auto;
  border: solid 1px #dedede;
  background: #fff;
  margin:0;
}

@media screen and (max-width: 767px) {
  .category_detail_title{
    font-size:24px;
    text-align:center;
    margin:0 0 30px;
  }
}

/*====================================================================*/
/* トップとフッターすぐ上のレコメンドのラッパー
/*====================================================================*/

.top_recommend{
  padding: 40px 40px 80px;
  text-align: center;
}
.foot_recommend{
  background-color: #FFF;
  padding: 60px 40px;
}

@media screen and (max-width: 767px) {
  .top_recommend {
    padding: 50px 0 48px !important; /* top用のcssが後に書かれてて important しかない */
  }
  .foot_recommend{
    padding: 50px 0;
  }
}

/*====================================================================*/
/* レコメンドの中身
/*====================================================================*/

.recommend_title{
  max-width:1100px;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 1.6px;
  color: #333;
  margin:0 auto 15px;
}
.recommend_tags{
  max-width:1100px;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: #333;
  margin:0 auto 30px;
}
.top_recommend .recommend_title{
  max-width:none;
  margin:0 0 15px;
}
.top_recommend .top_recommend_tags{
  max-width:none;
  margin:0 0 30px;
}
.recommend-slide-wrapper {
  display: flex;
  max-width: 1100px;
  padding: 0 20px;
  margin: 0 auto;
  justify-content: space-between;
}
.recommend_box {
  position:relative;
  width: 19.5%;
  text-align:center;
  max-width: 200px;
}
.recommend_box:before{
  content:"";
  position:absolute;
  z-index:2;
  top:-10px;
  left:0;
  width:30px;
  height:30px;
}
.recommend_box.no1:before{
  width:40px;
  height:40px;
  background: url("https://d2w53g1q050m78.cloudfront.net/lululuncom/uploads/ec_assets/recommend/no.1.png") no-repeat center center / 100% 100% transparent;
}
.recommend_box.no2:before{
  background: url("https://d2w53g1q050m78.cloudfront.net/lululuncom/uploads/ec_assets/recommend/no.2.png") no-repeat center center / 100% 100% transparent;
}
.recommend_box.no3:before{
  background: url("https://d2w53g1q050m78.cloudfront.net/lululuncom/uploads/ec_assets/recommend/no.3.png") no-repeat center center / 100% 100% transparent;
}
.recommend_box.no4:before{
  background: url("https://d2w53g1q050m78.cloudfront.net/lululuncom/uploads/ec_assets/recommend/no.4.png") no-repeat center center / 100% 100% transparent;
}
.recommend_box.no5:before{
  background: url("https://d2w53g1q050m78.cloudfront.net/lululuncom/uploads/ec_assets/recommend/no.5.png") no-repeat center center / 100% 100% transparent;
}

.recommend_item{
  display:block;
  color:#000;
  text-decoration:none;
}
.recommend_img {
  width: 100%;
}
.recommend_img img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  transition: 0.3s ease-in-out;
}
.recommend_box.no1 .recommend_img img{
  transform:scale(1.1);
}
.recommend_box:hover .recommend_img img {
  transform:scale(1.1);
}
.recommend_box.no1:hover .recommend_img img {
  transform:scale(1.2);
}
.recommend_tag {
  position:relative;
  z-index:3;
  display: flex;
  width: 74%;
  padding: 6px 8px;
  margin: 0 auto 12px;
  font-size: 12px;
  color: #EF8D9F;
  font-weight: 500;
  border: 1px solid #EF8D9F;
  border-radius: 40px;
  justify-content: center;
  flex-wrap: wrap;
}
.recommend_tag p:not(:last-child) {
  margin-right: 5px;
}
.recommend_name {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 500;
}
.recommend_price span {
  display: block;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  .recommend_title {
    max-width: none;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0;
    color: #000;
    margin: 0 24px 10px;
  }
  .top_recommend .recommend_title{
    font-size: 24px;
    font-weight:400;
  }
  .recommend_tags{
    max-width:none;
    font-size: 14px;
    margin:0 24px 30px;
  }
  .recommend-slide-wrapper {
    padding: 0;
  }
  .recommend_box {
    width: 100%;
    max-width: none;
    text-align:center;
    padding: 0 1vw;
  }
  .recommend_tag {
    width: 80%;
    font-size: 2.4vw;
  }
  .recommend_name {
    margin-bottom: 3.4vw;
    font-size: 3.6vw;
  }
  .recommend_price span {
    font-size: 3vw;
  }
  .slick-list {
    padding:10px 12vw 0 0;
  }
}

/*====================================================================*/
/* TOP Line up
/*====================================================================*/

.topv3_sct .top_lineup{}
.top_lineup_tab{
  display:flex;
  gap:0 20px;
  margin:0 20px 30px;
}
.top_lineup_tab_item{
  display:flex;
  justify-content: center;
  align-items: center;
  width:200px;
  height:45px;
  border:1px solid #EF8D9F;
  background-color: #FFF;
  font-weight:400;
  font-size:20px;
  text-decoration: none;
  color:#000;
}
.top_lineup_tab_item:hover,
.top_lineup_tab_item.active{
  background-color: #EF8D9F;
  color:#FFF;
}
.top_lineup_list_wrap{
  margin:0 20px;
}
.top_lineup_list{
  display:flex;
  flex-flow:row wrap;
  gap:70px 23px;
}
.top_lineup_item{
  width:calc( (100% - (23px * 3)) / 4 );
}
.top_lineup_item_title{
  font-weight:400;
  font-size:25px;
  text-align:center;
  color:#000;
  margin:0 0 20px;
}
.top_lineup_item_pic{
  display:block;
  margin:0 0 12px;
  transition:transform 0.5s;
}
.top_lineup_item_pic:hover{
  transform:scale(1.1);
}
.top_lineup_item_pic > img{
  display:block;
  width:100%;
}
.top_lineup_item_btns{
  display:flex;
  flex-flow:column nowrap;
  align-items: center;
  gap:15px 0;
}
.top_lineup_item_btn_series,
.top_lineup_item_btn_lineup{
  display:flex;
  justify-content: center;
  align-items: center;
  width:250px;
  height:45px;
  border:1px solid #EF8D9F;
  background-color: #FFF;
  font-weight:400;
  font-size:20px;
  text-decoration: none;
  color:#000;
}
.top_lineup_item_btn_series:hover,
.top_lineup_item_btn_lineup:hover{
  background-color: #EF8D9F;
  color:#FFF;
}

.top_lineup_pop{
  position:fixed;
  z-index:10010;
  top:0;
  left:0;
  display:flex;
  justify-content: center;
  align-items: center;
  width:100%;
  height:100%;
  background-color: rgba(0,0,0,0.5);
}
.top_lineup_pop_in{
  position:relative;
  width:800px;
  background-color: #FFF;
}
.top_lineup_pop_close{
  position:absolute;
  top:-25px;
  right:-25px;
  display:flex;
  justify-content: center;
  align-items: center;
  width:50px;
  height:50px;
  background-color: #FFF;
  border-radius:50%;
}
.top_lineup_pop_close > img{
  width:15px;
  height:15px;
}
.top_lineup_pop_scroller{
  max-height:80vh;
  overflow:hidden auto;
  padding:50px;
}
.top_lineup_pop_body{
  display:none;
}
.top_lineup_pop_desc{
  font-weight:500;
  font-size:16px;
  line-height:1.5;
  margin:0 0 40px;
}
.top_lineup_pop_pdt_list{
  display:flex;
  flex-flow:column nowrap;
  gap:50px 0;
}
.top_lineup_pop_pdt_item{
  display:flex;
  align-items: center;
}
.top_lineup_pop_pdt_item_pic{
  width:50%;
}
.top_lineup_pop_pdt_item_pic > img{
  display:block;
  width:90%;
  margin:0 auto;
}
.thumb_size_adjust .top_lineup_pop_pdt_item_pic > img{
  width:70%;
}
.top_lineup_pop_pdt_item_info{
  width:50%;
}
.top_lineup_pop_pdt_item_title{
  font-weight:700;
  font-size:18px;
  line-height:1.2;
  margin:0 0 15px;
}
.top_lineup_pop_pdt_item_price{
  font-weight:500;
  font-size:16px;
  line-height:1.2;
  margin:0 0 20px;
}
.top_lineup_pop_pdt_item_btn{
  display:flex;
  justify-content: center;
  align-items: center;
  width:80%;
  height:50px;
  background-color: #FA7091;
  border-radius:100vh;
  font-weight:500;
  font-size:16px;
  color:#FFF;
}
.top_lineup_pop_pdt_item_btn:hover{
  opacity:0.75;
}

@media screen and (max-width: 767px) {
  .topv3_sct .top_lineup{
    padding: 0 20px 60px;
  }
  .top_lineup_tab{
    display:flex;
    gap:0 17px;
    margin:20px 0 18px;
  }
  .top_lineup_tab_item{
    width:170px;
    height:35px;
  }
  .top_lineup_list_wrap{
    margin:0;
  }
  .top_lineup_list{
    gap:50px 23px;
  }
  .top_lineup_item{
    width:calc( (100% - 23px) / 2 );
  }
  .top_lineup_item_title{
    font-size:18px;
    margin:0 0 12px;
  }
  .top_lineup_item_btns{
    gap:10px 0;
  }
  .top_lineup_item_btn_series,
  .top_lineup_item_btn_lineup{
    width:150px;
    height:35px;
    font-size:14px;
  }

  .top_lineup_pop_in{
    width:80vw;
    max-width:360px;
  }
  .top_lineup_pop_close{
    top:-15px;
    right:-15px;
    width:30px;
    height:30px;
  }
  .top_lineup_pop_close > img{
    width:15px;
    height:15px;
  }
  .top_lineup_pop_scroller{
    padding:20px 20px 30px;
  }
  .top_lineup_pop_desc{
    font-size:12px;
    margin:0 0 20px;
  }
  .top_lineup_pop_pdt_list{
    gap:40px 0;
  }
  .top_lineup_pop_pdt_item_pic > img{
    width:90%;
  }
  .thumb_size_adjust .top_lineup_pop_pdt_item_pic > img{
    width:70%;
  }
  .top_lineup_pop_pdt_item_title{
    font-size:14px;
    margin:0 0 10px;
  }
  .top_lineup_pop_pdt_item_price{
    font-size:12px;
    margin:0 0 15px;
  }
  .top_lineup_pop_pdt_item_btn{
    width:90%;
    height:30px;
    font-size:12px;
    margin:0 auto;
  }
}

/*====================================================================*/
/* あとで削除する
/*====================================================================*/

.top_recommend_tags{
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: #333;
  margin:0 0 30px;
}
.foot_recommend_title{
  max-width:1100px;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 1.6px;
  color: #333;
  margin:0 auto 15px;
}
.foot_recommend_tags{
  max-width:1100px;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: #333;
  margin:0 auto 30px;
}

@media screen and (max-width: 767px) {
  .top_recommend_tags{
    letter-spacing: 0;
    color: #000;
    margin:0 0 15px;
  }
  .foot_recommend_title{
    max-width:none;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0;
    color: #000;
    margin:0 24px 10px;
  }
}
