@charset "UTF-8";

#head_cp {
  position: relative;
  z-index: 2;
}
#footer {
  margin-top: 0;
  position: relative;
  z-index: 2;
}

:root #rep202511 {
  --px10: 10px;
  --px20: 20px;
  --px30: 30px;
  --px40: 40px;
  --px50: 50px;
  --px60: 60px;
  --px70: 70px;
  --px80: 80px;
  --px90: 90px;
  --px100: 100px;
  --px110: 110px;
  --px120: 120px;
  --px130: 130px;
  --px140: 140px;
}

#rep202511 {
  color: #333;
  min-width: 1080px;
  margin: auto;
  background-color: #382713;
}

#rep202511 img {
  vertical-align: top;
}

/*  #rep202511 .overImgWrap {
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
} */


#rep202511 .rel {
  position: relative;
  z-index: 1;
}
#rep202511 .abs {
  position: absolute;
  z-index: 1;
}

#rep202511 .fv {
  text-align: center;
  position: relative;
  z-index: 2;
}
#rep202511 .fv img {
  width: 100%;
  max-width: 1280px;
}

#rep202511 .contentWrap {
  max-width: 750px;
  margin: auto;
  position: relative;
  z-index: 2;
  /* box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.2); */
  overflow: hidden;
}

#rep202511 .rel {
  position: relative;
}
#rep202511 .abs {
  position: absolute;
}

/* accordion */
#rep202511 .acc_cnt {
  display: none;
}
#rep202511 .acc_btn {
  width: calc(100% - var(--px120));
  /* max-width: 630px;
  max-height: 98px; */
  cursor: pointer;
  transition: .3s;
  position: absolute;
  bottom: var(--px50);
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}
#rep202511 .acc_btn::before {
  content: "";
  display: block;
  width: 15px;
  height: 9px;
  background-image: url(../img/btn_acd_arrow.png);
  position: absolute;
  top: 50%;
  right: var(--px20);
  transform: translateY(-50%) rotate(180deg);
  transition: .3s;
}
#rep202511 .acc_btn.active::before {
  transform: translateY(-50%) rotate(0deg);
}
#rep202511 .acc_btn img {
  display: block;
}

/* 6点セット */
#rep202511 .add{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: calc(646px / 750px * 100%);
}
#rep202511 .set_item .add{
  bottom: 20.5%;
}

/* 商品エリア */
#rep202511 .items_area .items{
  position: relative;
}
#rep202511 .items_area .items .add {
  bottom: 2%;
}
#rep202511 .items_area #item06 .add {
  bottom: 12%;
}
#rep202511 .items_area .items .selectorWrap {
  position: absolute;
  right: 8%;
  bottom: 10%;
  width: 53%;
}
#rep202511 .item_top {
  background-color: #fff;
}
#rep202511 .item_top a {
  display: block;
  margin: auto;
  width:calc(690 / 750 * 100%)
}
.selectorWrap {
  position: relative;
  background-color: #fff;
  margin-bottom: 20px;
}
.selectorWrap select {
  width: 100%;
  height: 50px;
  padding-right: 40px;
  padding-left: 20px;
  cursor: pointer;
  font-size: 20px;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: #ccc solid 1px;
  outline: none;
  background: transparent;
  background-image: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.selectorWrap select + span {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 0;
  width: 40px;
  height: 50px;
  border-left: #ccc solid 1px;
  pointer-events: none;
}
.selectorWrap select + span:after {
  display: block;
  width: .5em;
  height: .5em;
  padding: 0;
  content: '';
  position: absolute;
  top: 0;
  bottom: 0.25em;
  left: 0;
  right: 0;
  margin: auto;
  border-right: 2px solid #b81649;
  border-top: 2px solid #b81649;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  pointer-events: none;
}

/* side nav */
#rep202511 .side_nav {
  position: fixed;
  top: 50%;
  z-index: 10;
  right: calc((100% - 750px) / 2 + 810px);
  /* opacity: 1; */
  opacity: 0;
  transition: .3s;
  /* transform: translateY(calc(-50% + 60px)); */
  transform: translateY(calc(-50%));
  width: 225px;
}
#rep202511 .side_nav.view {
  opacity: 1;
}
#rep202511 .side_nav nav {
  position: static;
  transform: none;
  padding: 0;
  max-width: 225px;
  margin-bottom: 15px;
}
#rep202511 .side_nav .navblc {
  margin: 10px 0 0;
  box-shadow: 11px 11px 18px rgba(0, 0, 0, 0.2);
  border-radius: 10px;
}
#rep202511 .side_nav nav ul {
  position: absolute;
  bottom: 2px;
  left: 2px;
}
#rep202511 .side_nav nav li {
  width: 100%;
}
#rep202511 .side_nav img {
  width: 100%;
}
#rep202511.on .side_nav {
  opacity: 0;
  visibility: hidden;
}

/* カート */
#modal {
  display: none;
  padding: 3% 2% 3% 2%;
  position: fixed;
  max-width: 640px;
  top: 180px;
  left: 0;
  right: 0;
  margin: auto;
  background-color: rgba(255, 255, 255, 0.95);
  width: 92%;
  box-shadow: rgba(33, 33, 33, 0.5) 0 0px 5px;
  -webkit-box-shadow: rgba(33, 33, 33, 0.5) 0 0px 5px;
  z-index: 99;
}

#modal #close {
  position: absolute;
  right: 0;
  top: -43px;
  width: 33px;
  height: 33px;
}

#modal h4 {
  font-size: 2.6rem;
  font-weight: bold;
  font-family: 'Hiragino Kaku Gothic W6 JIS2004';
  text-align: center;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

#modal .cart-in {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  width: 100%;
}

#modal .cart-in img {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}

#modal .setCont .flex {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

#modal .setCont .flex > div.priceBox {
  line-height: 1.25;
  padding-top: 5px;
  width: 47%;
  text-align: left;
}

#modal .off_circle {
  background-color: #b81649;
  width: 80px;
  height: 80px;
  color: #fff;
  font-size: 1.6rem;
  text-align: center;
  line-height: 1;
  padding-top: 14px;
  border-radius: 47.5px;
  margin-right: 1em;
}

#modal .off_circle span {
  font-size: 3.4rem;
  font-feature-settings: "palt";
  letter-spacing: -1px;
}

#modal .product-set-p {
  font-weight: bold;
  font-family: 'Hiragino Kaku Gothic W6 JIS2004';
  font-size: 1.6rem;
}

#modal .product-amount-p {
  font-size: 1.4rem;
}

#modal .product-amount-p span.product-amount {
  color: #b81649;
  font-weight: bold;
  font-family: 'Hiragino Kaku Gothic W6 JIS2004';
  font-size: 2.4rem;
}

#modal .product-amount-p span.red {
  color: #b81649;
}

#modal .discount-display {
  color: #b81649;
  font-weight: bold;
  font-family: 'Hiragino Kaku Gothic W6 JIS2004';
  font-size: 1.4rem;
  display: block;
  margin-top: 15px;
}

#modal .prow {
  margin-bottom: 15px;
}

#modal .prow > div:nth-child(1) {
  display: flex;
}

#modal .prow > div:nth-child(1) .prowname span {
  display: block;
  font-size: 1.4rem;
}

#modal .prow > div:nth-child(1) .prowname span.prowVar {
  font-size: 1.6rem;
}

#modal .prow > div:nth-child(1) .prowname {
  width: 65%;
}

#modal .prow > div:nth-child(1) .prowprice {
  width: 90px;
  text-align: right;
}

#modal .prow > div:nth-child(1) .prowcount {
  width: 15%;
  text-align: right;
}

#modal .prow > div:nth-child(1) .prowdelete {
  border: 1px #afacab solid;
  padding: 3px 6px;
  text-align: center;
  margin-top: 5px;
  display: inline-block;
}

#modal .prow > div:nth-child(1) .prowdelete button {
  font-size: 1.2rem;
}

#modal .prow > div:nth-child(1) .prowdelete button:before {
  content: "×";
}

#modal .prow > div:nth-child(2) {
  display: flex;
  justify-content: space-between;
}

.selectList {
  height: 22vh;
  overflow-y: auto;
  padding-right: 0%;
  margin-bottom: 20px;
}

.selectList .selectList_mini {
  margin: 1em 0;
}


/* ミニカート：デフォルト */
#pop-up {
  background-color: #efdede;
  transform: translateX(110%);
  position: fixed;
  right: 0;
  bottom: 5%;
  width: 15%;
  min-width: 200px;
  padding: 0.8em 0.8em;
  text-align: center;
  box-shadow: rgba(33, 33, 33, 0.5) 0 0px 5px;
  -webkit-box-shadow: rgba(33, 33, 33, 0.5) 0 0px 5px;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  transition: .3s;
  z-index: 100;
}

#pop-up.view {
  transform: translateX(0%);
}

#pop-up .off_circle {
  background-color: #b81649;
  width: 78px;
  height: 78px;
  color: #fff;
  font-size: 2.0rem;
  text-align: center;
  line-height: 1;
  padding-top: 14px;
  border-radius: 39px;
  margin-right: auto;
  margin-left: auto;
}

#pop-up .off_circle span {
  font-size: 3.2rem;
  font-feature-settings: "palt";
  letter-spacing: -1px;
}

#pop-up .product-set2 {
  font-weight: bold;
  font-family: 'Hiragino Kaku Gothic W6 JIS2004';
  margin-top: 6px;
}

#pop-up .product-set2 span {
  font-size: 1.8rem;
}

#pop-up .product-amount {
  font-size: 1.8rem;
  font-weight: bold;
  font-family: 'Hiragino Kaku Gothic W6 JIS2004';
  color: #b81649;
}

#pop-up .red {
  color: #b81649;
}

#pop-up .cart-show,
#pop-up .cart-in {
  margin-top: 8px;
}

#pop-up .cart-show img,
#pop-up .cart-in img {
  width: 100%;
}

#pop-up .cart-show,
#pop-up .cart-in {
  width: 100%;
}

#pop-up .reset {
  display: block;
  width: 100%;
  background-color: rgb(255 255 255 / 70%);
  margin: 8px 0;
  border-radius: 50px;
}

#pop-up .pop-up_selectList_mini {
  line-height: 1.3;
  font-size: 0.9em;
  text-align: left;
}

.cboxPhoto {
  width: 640px !important;
  height: auto !important;
  padding-right: 20px;
}

#cboxLoadedContent {
  overflow-x: hidden !important;
}

/* ミニカート：202504〜（3カラムVer） */
#pop-up {
  transform: translateX(0);
  border-radius: 5px;
  bottom: 20%;
  left: calc((100% - 750px) / 2 + 810px);
  max-width: 225px;
  /* opacity: 1; */
  opacity: 0;
  padding: 70px 1.5em 1.5em;
  overflow: hidden;
  box-sizing: border-box;
}
#pop-up.view {
  opacity: 1;
}
#pop-up .pop-up_bnr {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
#pop-up .pop-up_bnr img {
  width: 100%;
}

#pop-up {transition: .3s;}
#pop-up.on {
  left: calc(100% + 1px);
}
#pop-up.on.view {
  transform: translateX(-100%);
}

@media screen and (max-width: 1400px) {
  :root #rep202511 {
    --px10: 0.714vw;
    --px20: 1.428vw;
    --px30: 2.142vw;
    --px40: 2.857vw;
    --px50: 3.571vw;
    --px60: 4.285vw;
    --px70: 5vw;
    --px80: 5.714vw;
    --px90: 6.428vw;
    --px100: 7.142vw;
    --px110: 7.857vw;
    --px120: 8.571vw;
    --px130: 9.285vw;
    --px140: 10vw;
  }

  #rep202511 .contentWrap {
    width: 45%;
  }
  #rep202511 .contentWrap img {
    width: 100%;
  }
 /*  #rep202511 .acc_btn {
    height: 6vw;
  } */

  #rep202511 .item_maxTotal2 .productbox {
    width: 30vw;
    left: 11.4vw;
  }
  #rep202511 #item04 .productbox {
    width: 37.8vw;
    left: 3.6vw;
  }
  #rep202511 .items .detailLink {
    left: 45.2%;
    font-size: 1.4vw;
  }
  #rep202511 .productbox {
    left: 45%;
    width: 45%;
  }
  #rep202511 #present .detailLink {
    bottom: 12%;
    left: 13.5%;
    font-size: 1.2vw;
  }
  #rep202511 .item_maxTotal2_btn {
      width: 37.5vw;
  }
/*   #rep202511 .items .telLink {
    bottom: 6.1%;
  }
  #rep202511 .items .telLink a {
    font-size: 1.6vw;
  }

  #rep202511 .present_ancBtn a {
    width: calc(100% - 4vw);
  } */
  #rep202511 nav.btm {
    padding: 0 2vw;
  }
  #rep202511 nav .navblc {
    margin-bottom: 2vw;
  }
  #rep202511 .side_nav {
    right: 76%;
    width: 20%;
  }
  #pop-up {
    left: 76%;
    width: 20%;
  }
}

@media screen and (max-width: 1200px) {
  .selectorWrap select,
  .selectorWrap select + span {
    height: 40px;
  }
}

