@charset "UTF-8";


#tblLayout,
#tblLayout tbody,
#tblLayout tr,
#tblLayout th,
#tblLayout td{
  display: block;
}


.red {
  color:#E23A29
}

#tblLayout {
  width: 100%;
}
#CampaignList, 
#ProductList.Campaign {
  display: block;
  width: 100%;
  max-width: 1100px;
  margin: auto;
  color: #545454;
}
#bg_anniversary{
  max-width: 1200px;
  margin: 0 auto;
}
.cont01_btn .flex{
  display: flex;
  flex-wrap: wrap;
}
.cont01_btn .flex div{
  width: 36.666% !important;
}
.cont01_btn .flex div:nth-child(2){
  width: 26.668% !important;
}
.cp_btn .flex div{
  width: 37.1% !important;
}
.cp_btn .flex a{
  display: block;
  width: 25.8% !important;
}

@media (min-width: 768px) {
  #ProductList.Campaign{
    padding-right: 15px;
    padding-left: 15px;
  }
  source{
    width: 100%;;
  }
}
  
@media (max-width: 767px) {
  .cont01_btn .flex div{
    width: 24.6% !important;
  }
  .cont01_btn .flex div:nth-child(2){
    width: 50.8% !important;
  }
  .cp_btn .flex div{
    width: 26% !important;
  }
  .cp_btn .flex a{
    display: block;
    width: 48% !important;
  }
}

/* ----- campaign-list ----- */
.campaign-list__list {
  margin-bottom: 0;
}
.campaign-list__list .campaign-list__item.img--colmun-1 {
  margin-left: calc(((100vw - 100%) / 2) * -1);
  margin-right: calc(((100vw - 100%) / 2) * -1);
}
.campaign-list__list .campaign-list__item img {
  width: 100%;
  margin: auto;
  display: block;
}
#CampaignList .campaign-list__item img{
  max-width: 1100px;
  width: 100%;
}
@media (max-width: 767px) {
  #CampaignList{
    padding: 0 10px;
  }
}

/* ----- product-list ----- */
#ProductList.Campaign .product-list__top {
  font-size: 3rem;
  text-align: center;
  padding: 8rem 2rem 2rem;
  font-family: var(--shippori-mincho);
}

#ProductList.Campaign .product-list__top span{
  display: block;
  font-size: 1.6rem;
  line-height: 2.2rem;
  margin: 20px auto;
}

#ProductList.Campaign .product-list__item-list {
  max-width: 100%;
}
#ProductList.Campaign input[type="checkbox"]:checked ~ label .item__image {
  border: 5px solid #d7edc8;
}
#ProductList.Campaign input[type="checkbox"]:checked ~ label .item__image:before,
#ProductList.Campaign input[type="checkbox"]:checked ~ label .item__image:after {
  content:"";
  display:block;
  position:absolute;
}
#ProductList.Campaign input[type="checkbox"]:checked ~ label .item__image:before {
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 1.8rem;
  background:#4fb50a;
  right: 0.5rem;
  bottom: 0.5rem;
}
#ProductList.Campaign input[type="checkbox"]:checked ~ label .item__image:after {
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  width: 1.5rem;
  height: 0.8rem;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  right: 1rem;
  bottom: 1.5rem;
}

#ProductList.Campaign .product-list__bottom {
  position: sticky;
  padding: 2rem;
  color: var(--color-theme-blue);
  background-color: #d7edc8;
  font-family: var(--shippori-mincho);
}
#ProductList.Campaign .price__tottal {
  font-size: 2.2rem;
}
#ProductList.Campaign .price__info {
  margin-top: 1rem;
  font-size: 1.6rem;
}
.detail__price--tax{
  font-size: var(--text-s);
}
#ProductList.Campaign .tottal-price, 
#ProductList.Campaign .info-price {
  font-family: var(--garamond);
}
#ProductList.Campaign .product-list__bottom .cart__button {
  background-color: #4fb50a;
  color: #FFF;
  padding: 2rem 3rem;
  font-size: 1.6rem;
}

@media (min-width: 768px) {
  .campaign-list__list .campaign-list__item.img--colmun-2 {
    display: flex;
    justify-content: space-around;
/*    padding: 1.5rem;
    gap: 1.5rem;*/
  }

  #ProductList.Campaign .product-list__item-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4.5rem 2.6rem;
    padding-bottom: 4.5rem;
  }
  #ProductList.Campaign .product-list__item { 
    max-width: unset;
    width: unset;
    margin: unset;
  }
  #ProductList.Campaign .product-list__bottom {
    bottom: 2rem;
    margin-bottom: 2rem;
    display: flex;
    justify-content: space-between;
  }
}

@media (max-width: 767px) {
  #ProductList.Campaign .product-list__bottom {
    border-bottom: 1px solid #fff;
    margin-bottom: 0rem;
    bottom: 0;
    text-align: center;
  }
  #ProductList.Campaign .product-list__bottom .bottom__cart {
    margin-top: 1rem;
  }
}

/* ----- SNS share ----- */
.cp_share{
  background:#C80001;
}
.cp_share .flex, .cp_btn .flex{
  clear: both;
  width: 100%;
}
.cp_share .flex div, .cp_share .flex a, .cp_btn .flex div, .cp_btn .flex a{
  display: block;
  float: left;
}
.cp_share .flex .bg_image{
  width: 41.16%;
}
.cp_share .flex a{
  width: 4.42%;
}
.cp_btn img{
  width: 100%;
}
.cp_btn .flex .bg_image2{
  width: 28.6%;
}
.cp_btn .flex .bg_image2:nth-of-type(2){
  width: 28.4%;
}
.cp_btn .flex a{
  width: 43%;
}
.cp_share .bg_image img{
  display: block;
  width: 100%;
}
.cp_share a img{
  display: block;
  width: 100%;
}

@media (max-width: 767px) {
  .cp_share .flex .bg_image{
    width: 25.16%;
  }
  .cp_share .flex a{
    width: 12.42%;
  }
  .cp_btn .flex .bg_image2{
    width: 18.4%;
  }
  .cp_btn .flex .bg_image2:nth-of-type(2){
    width: 18.4%;
  }
  .cp_btn .flex a{
    width: 63.2%;
  }
}


/* ----- pagetop link ----- */
#pagetop.fxd {
  position: fixed;
  top: auto;
  bottom: 10rem;
}
@media (min-width: 768px) {
    #pagetop{
    top: -2.5rem;
  }
}

/* ----- タップ時の青箱調整 ----- */
*:focus {
  outline: none;
}
a{
  -webkit-tap-highlight-color: transparent;
  cursor:pointer;
}

.chk img {
  position: relative;
  margin-top: -1px !important;
}


