@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&display=swap");
/****************** cp共通 ******************/
.p_25 {
  padding: 0 !important;
}

#special-content {
  margin-bottom: -10px !important;
}

#sb-site-main {
  transform: unset;
}

#contents .container,
#contents #main {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#special-content {
  border: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  color: #111;
}
#special-content img {
  max-width: 100%;
  height: auto;
  margin: auto;
}

.contentswrap {
  max-width: 100%;
  margin: auto;
  overflow: hidden;
}
.contentswrap * {
  font-weight: 500;
  font-size: 18px;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-style: normal;
  line-height: 1.3 !important;
}
@media screen and (max-width: 650px) {
  .contentswrap * {
    font-size: 14px;
  }
}

p,
span,
em,
dd,
.rotateTxt {
  transform: rotateZ(0.03deg) !important;
}

section {
  padding-top: 50px;
}
@media screen and (max-width: 650px) {
  section {
    padding-top: 30px;
  }
}

#cpnav {
  margin-top: 15px;
  padding: 0 25px;
}
@media screen and (max-width: 650px) {
  #cpnav {
    padding: 0 3px;
  }
}
#cpnav ul {
  display: flex;
  max-width: 1000px;
  margin: auto;
}
#cpnav ul li {
  padding: 0 5px;
  display: inline-block;
  position: relative;
  overflow: hidden;
  transition: 0.3s transform, 0.75s opacity;
}
#cpnav ul li:hover {
  cursor: pointer;
  transform: translateY(3px);
  opacity: 0.8;
}
#cpnav ul li::before {
  position: absolute;
  content: "";
  width: 40px;
  height: 100%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.1882352941), #fff);
  transform: skewX(-30deg);
  opacity: 0.6;
  top: 0;
  left: -120px;
  transition: 0s;
}
#cpnav ul li:hover::before {
  left: calc(100% + 80px);
  width: 100px;
  opacity: 0;
  transition: 0.7s;
}
@media screen and (max-width: 650px) {
  #cpnav ul li {
    padding: 0 2px;
  }
}

.cp__contents {
  max-width: 1000px;
  margin: 0 auto 60px;
  padding: 0 30px;
  position: relative;
}
@media screen and (max-width: 650px) {
  .cp__contents {
    margin: auto;
    padding: 0 10px;
  }
}

a.btn01 {
  display: inline-block;
  margin: 10px auto 0;
  font-size: 18px;
  color: #222;
  border-bottom: 1px solid;
  transition: 0.2s;
}
a.btn01:hover {
  letter-spacing: 0.8px;
}
@media screen and (max-width: 650px) {
  a.btn01 {
    font-size: 13px;
  }
}

.txtlink {
  border-bottom: 1px solid;
}

a.btn02,
.btn02.clgy {
  display: block;
  position: relative;
  max-width: 450px;
  width: 90%;
  margin: 40px auto 0;
  padding: 10px;
  font-size: 21px;
  font-weight: 500;
  color: #fff;
  border-radius: 100px;
  display: inline-block;
  position: relative;
  overflow: hidden;
  transition: 0.3s transform, 0.75s opacity;
}
a.btn02::after,
.btn02.clgy::after {
  content: "▶";
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
}
a.btn02:hover,
.btn02.clgy:hover {
  cursor: pointer;
  transform: translateY(3px);
  opacity: 0.8;
}
a.btn02::before,
.btn02.clgy::before {
  position: absolute;
  content: "";
  width: 40px;
  height: 100%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.1882352941), #fff);
  transform: skewX(-30deg);
  opacity: 0.6;
  top: 0;
  left: -120px;
  transition: 0s;
}
a.btn02:hover::before,
.btn02.clgy:hover::before {
  left: calc(100% + 80px);
  width: 100px;
  opacity: 0;
  transition: 0.7s;
}
@media screen and (max-width: 650px) {
  a.btn02,
  .btn02.clgy {
    margin: 20px auto 0;
    font-size: 19px;
  }
}

.btn02.clgy {
  color: #ccc;
  background: #a0a0a0;
}
.btn02.clgy::before {
  background: none;
}
.btn02.clgy:hover {
  cursor: default;
  transform: none;
}

#cp1 {
  background: url(https://pics.xprice.co.jp/optim/feature/sale/202510/img/bg_cp1.jpg);
  background-attachment: fixed;
  background-repeat: repeat;
  border-top: 6px solid #ff1aa1;
}
#cp1 a.btn02 {
  background: #ff1aa1;
}

#cp2 {
  background: url(https://pics.xprice.co.jp/optim/feature/sale/202510/img/bg_cp2.jpg);
  background-attachment: fixed;
  background-repeat: repeat;
  border-top: 6px solid #ff481a;
}
#cp2 a.btn02 {
  margin: 0 auto 30px;
  background: #ff481a;
}
@media screen and (max-width: 650px) {
  #cp2 a.btn02 {
    margin: 10px auto 30px;
  }
}

#cp3 {
  background: url(https://pics.xprice.co.jp/optim/feature/sale/202510/img/bg_cp3.jpg);
  background-attachment: fixed;
  background-repeat: repeat;
  border-top: 6px solid #00ac00;
}
#cp3 a.btn02 {
  background: #00ac00;
}

#cp4 {
  background: url(https://pics.xprice.co.jp/optim/feature/sale/202510/img/bg_cp4.jpg);
  background-attachment: fixed;
  background-repeat: repeat;
  border-top: 6px solid #0080ff;
}
#cp4 a.btn02 {
  display: block;
  margin-bottom: 30px;
  background: #0080ff;
}

.whbox__inner {
  padding: 50px 10px;
  background: #fff;
}
@media screen and (max-width: 991px) {
  .whbox__inner {
    padding: 20px 10px;
  }
}

h1 {
  width: 100%;
  margin: auto;
}
h1 img {
  width: 100%;
}

.h2 {
  margin: 30px auto;
}

.cpTxt {
  position: relative;
  margin-top: 10%;
  margin-bottom: 30px;
  padding-top: 15px;
}
@media screen and (max-width: 480px) {
  .cpTxt {
    margin-top: 0;
    margin-bottom: 30px;
  }
}
.cpTxt h2 {
  position: absolute;
  top: -90px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 1;
}
@media screen and (max-width: 650px) {
  .cpTxt h2 {
    top: -70px;
  }
}
@media screen and (max-width: 480px) {
  .cpTxt h2 {
    top: -10px;
  }
}
.cpTxt .mainTxt {
  margin: 30px auto 20px;
  padding: 40px 15px 30px;
  font-size: 24px;
  line-height: 1.6 !important;
  background: #fff;
  border-radius: 10px;
}
.cpTxt .mainTxt em {
  font-size: xx-large;
  font-weight: 700;
}
.cpTxt .mainTxt .cp1_leadA {
  margin: 10px auto 15px;
}
@media screen and (max-width: 650px) {
  .cpTxt .mainTxt .cp1_leadA {
    font-size: 12px;
  }
}
@media screen and (max-width: 650px) {
  .cpTxt .mainTxt {
    padding: 30px 15px 25px;
    font-size: 16px;
  }
  .cpTxt .mainTxt em {
    font-size: larger;
  }
}
@media screen and (max-width: 480px) {
  .cpTxt .mainTxt {
    padding: 40px 15px 25px;
  }
}

.cp__lead {
  margin: 10px auto;
  font-size: 21px;
  line-height: 1.6 !important;
}
@media screen and (max-width: 991px) {
  .cp__lead {
    font-size: 18px;
    margin: 10px auto;
  }
}
@media screen and (max-width: 650px) {
  .cp__lead {
    font-size: 14px;
  }
}

.infoBox {
  margin: 0 auto 30px;
}
.infoBox div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.infoBox div a {
  width: 50%;
  padding: 10px;
  transition: 0.2s;
}
.infoBox div a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 650px) {
  .infoBox div a {
    width: 100%;
  }
}

#cp1 .mainTxt p em,
#cp1 .weekly_time span,
#cp1 .txtlink,
#cp1 dl span {
  color: #ff1aa1;
}

#cp2 .mainTxt p em,
#cp2 .weekly_time span,
#cp2 .txtlink,
#cp2 dl span {
  color: #ff481a;
}

#cp3 .mainTxt p em,
#cp3 .weekly_time span,
#cp3 .txtlink,
#cp3 dl span {
  color: #00ac00;
}

#cp4 .mainTxt p em,
#cp4 .weekly_time span,
#cp4 .txtlink,
#cp4 dl span {
  color: #0080ff;
}

.cp1_shadow {
  box-shadow: 6px 6px 0 rgba(255, 26, 160, 0.1843137255);
}
@media screen and (max-width: 650px) {
  .cp1_shadow {
    box-shadow: 3px 3px 0 rgba(255, 26, 160, 0.1843137255);
  }
}

.cp2_shadow {
  box-shadow: 6px 6px 0 rgba(255, 72, 26, 0.2392156863);
}
@media screen and (max-width: 650px) {
  .cp2_shadow {
    box-shadow: 3px 3px 0 rgba(255, 72, 26, 0.2392156863);
  }
}

.cp3_shadow {
  box-shadow: 6px 6px 0 rgba(0, 172, 0, 0.231372549);
}
@media screen and (max-width: 650px) {
  .cp3_shadow {
    box-shadow: 3px 3px 0 rgba(0, 172, 0, 0.231372549);
  }
}

.cp4_shadow {
  box-shadow: 6px 6px 0 rgba(0, 128, 255, 0.2);
}
@media screen and (max-width: 650px) {
  .cp4_shadow {
    box-shadow: 3px 3px 0 rgba(0, 128, 255, 0.2);
  }
}

.cpBox {
  position: relative;
  margin: 70px auto;
}
@media screen and (max-width: 991px) {
  .cpBox {
    margin: 60px auto;
  }
}
@media screen and (max-width: 650px) {
  .cpBox {
    margin: 50px auto;
  }
}
.cpBox .itemBox {
  padding: 40px;
  background: #fff;
  border-radius: 10px;
}
@media screen and (max-width: 650px) {
  .cpBox .itemBox {
    padding: 15px;
  }
}
.cpBox h2.ttl_A {
  position: absolute;
  left: 50%;
  top: -45px;
  transform: translateX(-50%);
  width: 100%;
  z-index: 1;
}
@media screen and (max-width: 991px) {
  .cpBox h2.ttl_A {
    top: -30px;
  }
}
@media screen and (max-width: 650px) {
  .cpBox h2.ttl_A {
    top: -25px;
  }
}
@media screen and (max-width: 480px) {
  .cpBox h2.ttl_A {
    top: -15px;
  }
}
.cpBox h2.ttl_B {
  position: absolute;
  left: 50%;
  top: -100px;
  transform: translateX(-50%);
  width: 100%;
  z-index: 1;
}
@media screen and (max-width: 991px) {
  .cpBox h2.ttl_B {
    top: -70px;
    width: 100%;
  }
}
@media screen and (max-width: 650px) {
  .cpBox h2.ttl_B {
    top: -80px;
    width: 105%;
  }
}
@media screen and (max-width: 480px) {
  .cpBox h2.ttl_B {
    top: -45px;
  }
}

.maskGroup {
  position: relative;
}
.maskGroup .item_mask {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 1;
  opacity: 0.8;
}
.maskGroup .item_mask::before {
  content: "coming soon...";
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  font-size: 70px;
  color: #222;
}
@media screen and (max-width: 991px) {
  .maskGroup .item_mask::before {
    font-size: 60px;
  }
}
@media screen and (max-width: 650px) {
  .maskGroup .item_mask::before {
    top: 10%;
    font-size: 36px;
  }
}

#cp1 dl {
  text-align: left;
  margin: 20px auto 70px;
}
@media screen and (max-width: 650px) {
  #cp1 dl {
    margin: 20px auto;
  }
}
#cp1 dl dd {
  padding: 7.5px 15px;
  margin-bottom: 30px;
}
@media screen and (max-width: 650px) {
  #cp1 dl dd {
    margin-bottom: 15px;
    padding: 7.5px 0;
    font-size: 13px;
  }
}
#cp1 dl dd a {
  color: #ff1aa1;
}
#cp1 dl dd a:hover {
  opacity: 0.5;
}
#cp1 dl dd span.note {
  color: #222;
  font-size: 16px;
}
@media screen and (max-width: 650px) {
  #cp1 dl dd span.note {
    font-size: 13px;
  }
}
#cp1 dl dd p {
  padding: 5px 0;
}
#cp1 dl dd p span {
  display: inline-block;
}
#cp1 dl dd .lotterylink {
  display: flex;
  flex-wrap: wrap;
}
#cp1 dl dd .lotterylink li {
  width: 33.3%;
  padding: 7.5px;
}
#cp1 dl dd .lotterylink li a {
  display: block;
  padding: 7.5px 5px 5px;
  background: #ff1aa1;
  border-radius: 5px;
  color: #fff;
  font-weight: 500;
  font-size: 18px;
  text-align: center;
}
#cp1 dl dd .lotterylink li a small {
  display: block;
}
@media screen and (max-width: 991px) {
  #cp1 dl dd .lotterylink li a small {
    font-size: 60%;
  }
}
@media screen and (max-width: 650px) {
  #cp1 dl dd .lotterylink li {
    width: 50%;
    padding: 5px;
  }
}
#cp1 dl dd .lotterylink_notperiod {
  margin: 10px 0;
  display: block;
  padding: 5px 15px 5px;
  background: #ccc;
  border-radius: 5px;
  color: #fff;
  font-weight: 500;
  font-size: 18px;
  text-align: center;
}
#cp1 dl dt {
  padding: 3px 15px;
  font-size: 30px;
  background: #ff1aa1;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 991px) {
  #cp1 dl dt {
    padding: 5px;
    font-size: 24px;
  }
}
@media screen and (max-width: 650px) {
  #cp1 dl dt {
    font-size: 19px;
  }
}

#cp2 dl {
  text-align: left;
  margin: 20px auto 70px;
}
@media screen and (max-width: 650px) {
  #cp2 dl {
    margin: 20px auto;
  }
}
#cp2 dl dd {
  padding: 7.5px 15px;
  margin-bottom: 30px;
}
@media screen and (max-width: 650px) {
  #cp2 dl dd {
    margin-bottom: 15px;
    padding: 7.5px 0;
    font-size: 13px;
  }
}
#cp2 dl dd a {
  color: #ff481a;
}
#cp2 dl dd a:hover {
  opacity: 0.5;
}
#cp2 dl dd span.note {
  color: #222;
  font-size: 16px;
}
@media screen and (max-width: 650px) {
  #cp2 dl dd span.note {
    font-size: 13px;
  }
}
#cp2 dl dd p {
  padding: 5px 0;
}
#cp2 dl dd p span {
  display: inline-block;
}
#cp2 dl dd .lotterylink {
  display: flex;
  flex-wrap: wrap;
}
#cp2 dl dd .lotterylink li {
  width: 33.3%;
  padding: 7.5px;
}
#cp2 dl dd .lotterylink li a {
  display: block;
  padding: 7.5px 5px 5px;
  background: #ff481a;
  border-radius: 5px;
  color: #fff;
  font-weight: 500;
  font-size: 18px;
  text-align: center;
}
#cp2 dl dd .lotterylink li a small {
  display: block;
}
@media screen and (max-width: 991px) {
  #cp2 dl dd .lotterylink li a small {
    font-size: 60%;
  }
}
@media screen and (max-width: 650px) {
  #cp2 dl dd .lotterylink li {
    width: 50%;
    padding: 5px;
  }
}
#cp2 dl dd .lotterylink_notperiod {
  margin: 10px 0;
  display: block;
  padding: 5px 15px 5px;
  background: #ccc;
  border-radius: 5px;
  color: #fff;
  font-weight: 500;
  font-size: 18px;
  text-align: center;
}
#cp2 dl dt {
  padding: 3px 15px;
  font-size: 30px;
  background: #ff481a;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 991px) {
  #cp2 dl dt {
    padding: 5px;
    font-size: 24px;
  }
}
@media screen and (max-width: 650px) {
  #cp2 dl dt {
    font-size: 19px;
  }
}

#cp3 dl {
  text-align: left;
  margin: 20px auto 70px;
}
@media screen and (max-width: 650px) {
  #cp3 dl {
    margin: 20px auto;
  }
}
#cp3 dl dd {
  padding: 7.5px 15px;
  margin-bottom: 30px;
}
@media screen and (max-width: 650px) {
  #cp3 dl dd {
    margin-bottom: 15px;
    padding: 7.5px 0;
    font-size: 13px;
  }
}
#cp3 dl dd a {
  color: #00ac00;
}
#cp3 dl dd a:hover {
  opacity: 0.5;
}
#cp3 dl dd span.note {
  color: #222;
  font-size: 16px;
}
@media screen and (max-width: 650px) {
  #cp3 dl dd span.note {
    font-size: 13px;
  }
}
#cp3 dl dd p {
  padding: 5px 0;
}
#cp3 dl dd p span {
  display: inline-block;
}
#cp3 dl dd .lotterylink {
  display: flex;
  flex-wrap: wrap;
}
#cp3 dl dd .lotterylink li {
  width: 33.3%;
  padding: 7.5px;
}
#cp3 dl dd .lotterylink li a {
  display: block;
  padding: 7.5px 5px 5px;
  background: #00ac00;
  border-radius: 5px;
  color: #fff;
  font-weight: 500;
  font-size: 18px;
  text-align: center;
}
#cp3 dl dd .lotterylink li a small {
  display: block;
}
@media screen and (max-width: 991px) {
  #cp3 dl dd .lotterylink li a small {
    font-size: 60%;
  }
}
@media screen and (max-width: 650px) {
  #cp3 dl dd .lotterylink li {
    width: 50%;
    padding: 5px;
  }
}
#cp3 dl dd .lotterylink_notperiod {
  margin: 10px 0;
  display: block;
  padding: 5px 15px 5px;
  background: #ccc;
  border-radius: 5px;
  color: #fff;
  font-weight: 500;
  font-size: 18px;
  text-align: center;
}
#cp3 dl dt {
  padding: 3px 15px;
  font-size: 30px;
  background: #00ac00;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 991px) {
  #cp3 dl dt {
    padding: 5px;
    font-size: 24px;
  }
}
@media screen and (max-width: 650px) {
  #cp3 dl dt {
    font-size: 19px;
  }
}

#cp4 dl {
  text-align: left;
  margin: 20px auto 70px;
}
@media screen and (max-width: 650px) {
  #cp4 dl {
    margin: 20px auto;
  }
}
#cp4 dl dd {
  padding: 7.5px 15px;
  margin-bottom: 30px;
}
@media screen and (max-width: 650px) {
  #cp4 dl dd {
    margin-bottom: 15px;
    padding: 7.5px 0;
    font-size: 13px;
  }
}
#cp4 dl dd a {
  color: #0080ff;
}
#cp4 dl dd a:hover {
  opacity: 0.5;
}
#cp4 dl dd span.note {
  color: #222;
  font-size: 16px;
}
@media screen and (max-width: 650px) {
  #cp4 dl dd span.note {
    font-size: 13px;
  }
}
#cp4 dl dd p {
  padding: 5px 0;
}
#cp4 dl dd p span {
  display: inline-block;
}
#cp4 dl dd .lotterylink {
  display: flex;
  flex-wrap: wrap;
}
#cp4 dl dd .lotterylink li {
  width: 33.3%;
  padding: 7.5px;
}
#cp4 dl dd .lotterylink li a {
  display: block;
  padding: 7.5px 5px 5px;
  background: #0080ff;
  border-radius: 5px;
  color: #fff;
  font-weight: 500;
  font-size: 18px;
  text-align: center;
}
#cp4 dl dd .lotterylink li a small {
  display: block;
}
@media screen and (max-width: 991px) {
  #cp4 dl dd .lotterylink li a small {
    font-size: 60%;
  }
}
@media screen and (max-width: 650px) {
  #cp4 dl dd .lotterylink li {
    width: 50%;
    padding: 5px;
  }
}
#cp4 dl dd .lotterylink_notperiod {
  margin: 10px 0;
  display: block;
  padding: 5px 15px 5px;
  background: #ccc;
  border-radius: 5px;
  color: #fff;
  font-weight: 500;
  font-size: 18px;
  text-align: center;
}
#cp4 dl dt {
  padding: 3px 15px;
  font-size: 30px;
  background: #0080ff;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 991px) {
  #cp4 dl dt {
    padding: 5px;
    font-size: 24px;
  }
}
@media screen and (max-width: 650px) {
  #cp4 dl dt {
    font-size: 19px;
  }
}

.outline__list li {
  padding: 5px 0 5px 20px;
  position: relative;
}
.outline__list li::before {
  position: absolute;
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 3.5px;
  background: #ccc;
  left: 5px;
  top: 13px;
}

.question {
  padding-top: 15px !important;
}
.question::first-letter {
  font-weight: 700;
  color: #0080ff;
}

.answer {
  padding-bottom: 15px !important;
  border-bottom: 1px solid #e3e3e3;
}
.answer:last-child {
  border-bottom: none;
}
.answer::first-letter {
  font-weight: 700;
  color: #ff481a;
}

.offbadge {
  position: absolute;
  right: -5px;
  top: -5px;
  width: 80px;
  height: 80px;
  text-align: center;
  font-size: 12px;
  padding-top: 8px;
  z-index: 10;
}
.offbadge span {
  display: block;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-style: normal;
  color: #ffff00;
  line-height: 1.2 !important;
  position: relative;
}
.offbadge span.offbadge__off {
  font-weight: 900;
  font-size: 170%;
  margin: -8px 0 0;
}
.offbadge span.offbadge__percent {
  font-weight: 900;
  font-size: 280%;
  margin: -5px 0;
}
.offbadge span.offbadge__percent > small {
  font-size: 50%;
  font-weight: 900;
}
.offbadge span.offbadge__toku {
  font-size: 350%;
  font-weight: 900;
  transform: rotate(10deg);
  position: relative;
  left: -0.15em;
  top: -0.05em;
}
.offbadge span.offbadge__toku span {
  font-size: 65%;
  font-weight: 900;
  transform: rotate(20deg);
  position: relative;
  left: 0.95em;
  top: -1.2em;
}
.offbadge::before {
  position: absolute;
  content: "";
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: #dd000a;
  left: 0;
  top: 0;
}
@media screen and (max-width: 991px) {
  .offbadge {
    width: 60px;
    height: 60px;
    font-size: 9px;
    padding-top: 7px;
  }
  .offbadge::before {
    position: absolute;
    content: "";
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #dd000a;
    left: 0;
    top: 0;
  }
}

/****************** cp1,cp2共通 ******************/
/* 有効期間の表示非表示 */
.is_valid .visible_invalid {
  display: none;
}

.is_invalid .visible_valid {
  display: none;
}

.cp1_weeklyBox.is_invalid {
  display: none;
}

.cp1_weekBtn.is_invalid {
  pointer-events: none;
}

ul.cpSchedule {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 10px auto 15px;
}
ul.cpSchedule li {
  width: calc(20% - 10px);
  margin: 5px;
}
@media screen and (max-width: 991px) {
  ul.cpSchedule {
    margin-top: 0;
    margin-bottom: 5px;
  }
  ul.cpSchedule li {
    width: calc(33.3333333333% - 10px);
    margin: 3px;
  }
}

.visible_valid {
  width: 100%;
  aspect-ratio: 10/6; /* 横:縦 など、元画像(5:6)比に合わせる */
  transition: opacity 0.3s ease, transform 0.3s;
  opacity: 0.9;
}
.visible_valid:hover, .visible_valid.is_active {
  background-position: bottom;
  opacity: 1;
  transform: translateY(-7.5px);
}
.visible_valid.is_active {
  transform: none !important;
}
@media screen and (max-width: 991px) {
  .visible_valid {
    aspect-ratio: 130/63; /* スマホサイズに切り替える */
  }
  .visible_valid:hover {
    transform: translateY(-3px);
  }
  .visible_valid.is_active {
    transform: none !important;
  }
}

.cp1week1 {
  background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/cp1week1_pc.png") no-repeat top/cover;
}
@media screen and (max-width: 991px) {
  .cp1week1 {
    background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/cp1week1_sp.png") no-repeat top/cover;
  }
}

.cp1week2 {
  background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/cp1week2_pc.png") no-repeat top/cover;
}
@media screen and (max-width: 991px) {
  .cp1week2 {
    background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/cp1week2_sp.png") no-repeat top/cover;
  }
}

.cp1week3 {
  background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/cp1week3_pc.png") no-repeat top/cover;
}
@media screen and (max-width: 991px) {
  .cp1week3 {
    background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/cp1week3_sp.png") no-repeat top/cover;
  }
}

.cp1week4 {
  background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/cp1week4_pc.png") no-repeat top/cover;
}
@media screen and (max-width: 991px) {
  .cp1week4 {
    background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/cp1week4_sp.png") no-repeat top/cover;
  }
}

.cp1week5 {
  background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/cp1week5_pc.png") no-repeat top/cover;
}
@media screen and (max-width: 991px) {
  .cp1week5 {
    background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/cp1week5_sp.png") no-repeat top/cover;
  }
}

.cp2week1 {
  background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/cp2week1_pc.png") no-repeat top/cover;
}
@media screen and (max-width: 991px) {
  .cp2week1 {
    background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/cp2week1_sp.png") no-repeat top/cover;
  }
}

.cp2week2 {
  background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/cp2week2_pc.png") no-repeat top/cover;
}
@media screen and (max-width: 991px) {
  .cp2week2 {
    background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/cp2week2_sp.png") no-repeat top/cover;
  }
}

.cp2week3 {
  background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/cp2week3_pc.png") no-repeat top/cover;
}
@media screen and (max-width: 991px) {
  .cp2week3 {
    background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/cp2week3_sp.png") no-repeat top/cover;
  }
}

.cp2week4 {
  background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/cp2week4_pc.png") no-repeat top/cover;
}
@media screen and (max-width: 991px) {
  .cp2week4 {
    background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/cp2week4_sp.png") no-repeat top/cover;
  }
}

.cp2week5 {
  background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/cp2week5_pc.png") no-repeat top/cover;
}
@media screen and (max-width: 991px) {
  .cp2week5 {
    background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/cp2week5_sp.png") no-repeat top/cover;
  }
}

ul.saletab .visible_valid {
  aspect-ratio: 2/1; /* 横:縦 など、元画像(1:1)比に合わせる */
}
@media screen and (max-width: 991px) {
  ul.saletab .visible_valid {
    aspect-ratio: 21/16; /* スマホサイズに切り替える */
  }
}

.pt2_tab {
  background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/2pt_pc.png") no-repeat top/cover;
}
@media screen and (max-width: 991px) {
  .pt2_tab {
    background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/2pt_sp.png") no-repeat top/cover;
  }
}

.pt3_tab {
  background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/3pt_pc.png") no-repeat top/cover;
}
@media screen and (max-width: 991px) {
  .pt3_tab {
    background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/3pt_sp.png") no-repeat top/cover;
  }
}

.pt5_tab {
  background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/5pt_pc.png") no-repeat top/cover;
}
@media screen and (max-width: 991px) {
  .pt5_tab {
    background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/5pt_sp.png") no-repeat top/cover;
    background-size: cover;
  }
}

.pt10_tab {
  background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/10pt_pc.png") no-repeat top/cover;
}
@media screen and (max-width: 991px) {
  .pt10_tab {
    background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/10pt_sp.png") no-repeat top/cover;
  }
}

.pt15_tab {
  background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/15pt_pc.png") no-repeat top/cover;
}
@media screen and (max-width: 991px) {
  .pt15_tab {
    background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/15pt_sp.png") no-repeat top/cover;
  }
}

.pt20_tab {
  background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/20pt_pc.png") no-repeat top/cover;
}
@media screen and (max-width: 991px) {
  .pt20_tab {
    background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/20pt_sp.png") no-repeat top/cover;
  }
}

.pt30_tab {
  background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/30pt_pc.png") no-repeat top/cover;
}
@media screen and (max-width: 991px) {
  .pt30_tab {
    background: url("https://pics.xprice.co.jp/optim/feature/sale/202510/img/30pt_sp.png") no-repeat top/cover;
  }
}

.cp1_weeklyBox .weekly_time {
  margin-bottom: 20px;
  font-size: 21px;
}
.cp1_weeklyBox .weekly_time span {
  margin-right: 5px;
  font-size: 110%;
  color: #ff1aa1;
}
@media screen and (max-width: 991px) {
  .cp1_weeklyBox {
    margin: 5px 30px;
  }
  .cp1_weeklyBox .weekly_time {
    margin: 10px auto 20px;
    font-size: 16px;
  }
  .cp1_weeklyBox .weekly_time span {
    margin-right: 0;
  }
}
@media screen and (max-width: 650px) {
  .cp1_weeklyBox {
    margin: 0 auto;
  }
  .cp1_weeklyBox .weekly_time {
    font-size: 12px;
  }
}

.cp2_weeklyBox .weekly_time {
  margin-bottom: 20px;
}
.cp2_weeklyBox .weekly_time p {
  font-size: 21px;
  font-weight: 400;
}
.cp2_weeklyBox .weekly_time span {
  margin-right: 5px;
  font-size: 115%;
  color: #ff1aa1;
}
.cp2_weeklyBox .weekly_time .entryDay {
  display: inline-block;
}
.cp2_weeklyBox .weekly_time .entryDay.finish {
  color: #aaa;
}
.cp2_weeklyBox .weekly_time .entryDay.finish::after {
  content: "終了";
  padding-left: 5px;
  color: #ff481a;
}
@media screen and (max-width: 991px) {
  .cp2_weeklyBox {
    margin: 5px 30px;
  }
  .cp2_weeklyBox .weekly_time {
    margin: 10px auto;
  }
  .cp2_weeklyBox .weekly_time p {
    font-size: 16px;
  }
  .cp2_weeklyBox .weekly_time span {
    margin-right: 0;
  }
}
@media screen and (max-width: 650px) {
  .cp2_weeklyBox {
    margin: 0 auto;
  }
  .cp2_weeklyBox .weekly_time p {
    font-size: 12px;
  }
}

ul.cpSchedule li.cp1_weekBtn,
ul.cpSchedule li.cp2_weekBtn {
  min-height: 100px;
  transition: 0.2s;
  cursor: pointer;
  transition: 0.2s;
}
ul.cpSchedule li.cp1_weekBtn:hover,
ul.cpSchedule li.cp2_weekBtn:hover {
  opacity: 0.7;
}
@media screen and (max-width: 650px) {
  ul.cpSchedule li.cp1_weekBtn,
  ul.cpSchedule li.cp2_weekBtn {
    min-height: 50px;
  }
}

/****************** cp1 ******************/
.cp1_leadB {
  margin-bottom: 15px;
  font-size: 21px; /* 商品非表示時 */
  line-height: 1.7 !important;
}
.cp1_leadB span {
  font-size: 110%; /* 商品非表示時 */
  font-weight: 800;
  color: #ff1aa1;
}
@media screen and (max-width: 650px) {
  .cp1_leadB {
    margin-bottom: 5px;
    font-size: 16px;
    line-height: 1.3 !important;
  }
}

ul.cp1_nav {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}
ul.cp1_nav li {
  width: calc(30% + 20px);
}
@media screen and (max-width: 991px) {
  ul.cp1_nav li {
    width: calc(30% + 10px); /* 週替わり表示時 */
  }
}
@media screen and (max-width: 480px) {
  ul.cp1_nav li {
    width: calc(30% + 5px);
  }
}
ul.cp1_nav li a {
  color: #fff;
  background: #ff1aa1;
  border-radius: 5px;
}
ul.cp1_nav li a p {
  padding: 15px 5px;
  font-size: 24px;
  background: #ff1aa1;
  border: 3px solid #ff1aa1;
  border-radius: 10px;
  transition: 0.2s;
}
ul.cp1_nav li a p::after {
  content: "▼";
  display: block;
  font-size: smaller;
  transform: scale(1.3, 0.7);
}
ul.cp1_nav li a p:hover {
  color: #ff1aa1;
  background: #fff;
  transform: translateY(3px);
}
@media screen and (max-width: 650px) {
  ul.cp1_nav li a p {
    padding: 5px 0;
    font-size: 17px;
  }
}

.aboutBox {
  position: relative;
  margin-top: 90px;
  padding: 60px 40px 40px;
  background: #fff;
  border-radius: 10px;
}
@media screen and (max-width: 991px) {
  .aboutBox {
    padding: 40px 30px 20px;
  }
}
@media screen and (max-width: 650px) {
  .aboutBox {
    margin-top: 60px;
    padding: 40px 25px 15px;
  }
}
@media screen and (max-width: 480px) {
  .aboutBox {
    margin-top: 40px;
    padding: 30px 25px 15px;
  }
}
.aboutBox h2 {
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}
@media screen and (max-width: 650px) {
  .aboutBox h2 {
    top: -30px;
    width: 115%;
  }
}
@media screen and (max-width: 480px) {
  .aboutBox h2 {
    top: -15px;
  }
}
.aboutBox .aboutCon {
  margin: 30px auto;
}
@media screen and (max-width: 767px) {
  .aboutBox .aboutCon {
    width: 305px;
    margin: 10px auto 30px;
    overflow-x: scroll;
  }
}
.aboutBox .aboutCon .about_warp {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .aboutBox .aboutCon .about_warp {
    width: 750px;
  }
}
.aboutBox .about_part {
  width: calc(30% + 15px);
}
.aboutBox .about_part img {
  width: 95%;
}
@media screen and (max-width: 991px) {
  .aboutBox .about_part {
    position: relative;
    min-height: 425px;
    width: calc(30% + 10px);
  }
}
@media screen and (max-width: 767px) {
  .aboutBox .about_part {
    width: 250px;
    min-height: 430px;
    padding-right: 15px;
  }
}
.aboutBox .about_part p {
  font-size: 14px;
}
.aboutBox .about_part .about_ttl {
  margin: 15px auto 10px;
  font-size: 21px;
  font-weight: 700;
}
.aboutBox .about_part .about_txt {
  text-align: left;
}
.aboutBox .about_part .about_btn a {
  display: block;
  width: 100%;
  margin: 15px auto;
  padding: 7px 5px;
  color: #ff1aa1;
  border: 3px solid #ff1aa1;
  border-radius: 5px;
  transition: 0.2s;
}
.aboutBox .about_part .about_btn a:hover {
  color: #fff;
  background: #ff1aa1;
}
@media screen and (max-width: 991px) {
  .aboutBox .about_part .about_btn {
    position: absolute;
    bottom: 0;
    width: 100%;
  }
  .aboutBox .about_part .about_btn a {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .aboutBox .about_part .about_btn {
    left: 0;
    bottom: 5px;
    width: 90%;
  }
  .aboutBox .about_part .about_btn a {
    margin: 10px auto;
    padding: 5px 10px;
  }
}
.aboutBox .about_dcm {
  margin: 30px 45px 10px;
}
@media screen and (max-width: 767px) {
  .aboutBox .about_dcm {
    margin: 30px auto 20px;
  }
}

.saletab {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 88%;
  margin: 10px auto 60px;
}
@media screen and (max-width: 650px) {
  .saletab {
    max-width: 100%;
    margin: 10px auto 0;
  }
}
.saletab li {
  width: calc(25% - 25px);
  margin: 10px 10px 15px;
  transition: 0.3s;
  cursor: pointer;
}
.saletab li:hover {
  transform: translateY(-3px);
}
@media screen and (max-width: 650px) {
  .saletab li {
    width: calc(25% - 6px);
    margin: 0px 3px 10px;
  }
}

#cp1 .itemBox {
  min-height: 700px;
}
@media screen and (max-width: 650px) {
  #cp1 .itemBox {
    padding: 25px 15px;
  }
}
#cp1 .cp1_weeklyCon.cpBox {
  margin-top: 180px;
}
@media screen and (max-width: 991px) {
  #cp1 .cp1_weeklyCon.cpBox {
    margin-top: 120px;
  }
}
@media screen and (max-width: 650px) {
  #cp1 .cp1_weeklyCon.cpBox {
    margin-top: 100px;
  }
}
#cp1 .cp1_pointCon {
  margin: 60px auto; /* 週替わり非表示時 */
}
#cp1 .cp1_pointCon .cpBox {
  margin: 30px auto;
}
@media screen and (max-width: 650px) {
  #cp1 .cp1_pointCon {
    margin-bottom: 30px;
  }
  #cp1 .cp1_pointCon .cpBox h2.ttl_A {
    max-width: 320px;
    top: -25px;
  }
}
#cp1 a.xColor,
#cp1 .xColor {
  color: #ff1aa1;
}

/****************** cp2 ******************/
#cp2 .mainTxt img {
  padding: 0 15px 30px;
}
@media screen and (max-width: 650px) {
  #cp2 .mainTxt img {
    padding: 10px 0 0;
  }
}
#cp2 .infoBox div a {
  max-width: 600px;
  width: 100%;
}
#cp2 .cp2_weeklyCon {
  margin: 20% auto 15%;
}
@media screen and (max-width: 480px) {
  #cp2 .cp2_weeklyCon {
    margin: 20% auto;
  }
  #cp2 .cp2_weeklyCon .entryBtn {
    bottom: -25px;
  }
}
#cp2 .cp2_weeklyCon .itemBox {
  position: relative;
}
#cp2 .cp2_weeklyCon .entryBtn {
  position: absolute;
  display: block;
  bottom: -30px;
  left: 50%;
  width: 500px;
  max-width: 100%;
  transform: translateX(-50%);
}
#cp2 .cp2_weeklyCon .cp__lead {
  margin: 10px auto 30px;
  padding-bottom: 15px;
  border-bottom: 1px solid #ff481a;
}
@media screen and (max-width: 650px) {
  #cp2 .cp2_weeklyCon .cp__lead {
    margin: 5px auto 15px;
  }
  #cp2 .cp2_weeklyCon .cp__lead p {
    font-size: 12px;
  }
}
#cp2 .cp2_weeklyCon a.cp02_btn {
  display: block;
  position: relative;
  width: 300px;
  padding: 10px 20px 10px 15px;
  color: #ff481a;
  text-align: center;
  border: 1px solid #ff481a;
  border-radius: 5px;
  transition: 0.2s;
  transition: 0.2s;
}
#cp2 .cp2_weeklyCon a.cp02_btn::after {
  content: "▶";
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}
#cp2 .cp2_weeklyCon a.cp02_btn:hover {
  opacity: 0.7;
}
@media screen and (max-width: 991px) {
  #cp2 .cp2_weeklyCon a.cp02_btn {
    width: 100%;
  }
}
#cp2 .cp2_itemCon {
  margin-top: 100px;
}
#cp2 .cp2_itemCon .itemBox {
  min-height: 700px;
  padding: 30px 40px 0;
}
@media screen and (max-width: 991px) {
  #cp2 .cp2_itemCon {
    margin: 50px auto;
  }
  #cp2 .cp2_itemCon .itemBox {
    padding: 40px 15px 0;
  }
}
@media screen and (max-width: 650px) {
  #cp2 .cp2_itemCon .itemBox {
    padding: 25px 15px 30px;
  }
}

.cp2_topItem {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #ff481a;
}
.cp2_topItem:nth-child(3n) {
  padding-bottom: 0;
  border-bottom: none;
}
@media screen and (max-width: 650px) {
  .cp2_topItem:nth-child(3n) {
    padding-bottom: 15px;
  }
}
@media screen and (max-width: 650px) {
  .cp2_topItem {
    padding-bottom: 15px;
    border-bottom: none;
  }
}
.cp2_topItem a {
  width: 45%;
}
@media screen and (max-width: 991px) {
  .cp2_topItem a {
    width: 100%;
  }
}
.cp2_topItem .txtBox {
  width: 50%;
  text-align: left;
}
@media screen and (max-width: 991px) {
  .cp2_topItem .txtBox {
    width: 100%;
    margin-top: 15px;
  }
}
.cp2_topItem .txtBox .txt-productname {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 30px;
}
@media screen and (max-width: 650px) {
  .cp2_topItem .txtBox .txt-productname {
    font-size: 18px;
    margin-bottom: 15px;
  }
}
.cp2_topItem .txtBox .txt-introduction {
  margin-bottom: 30px;
  font-size: 16px;
}
@media screen and (max-width: 650px) {
  .cp2_topItem .txtBox .txt-introduction {
    margin-bottom: 15px;
  }
}
.cp2_topItem .txtBox .txt-limit {
  font-size: 21px;
  color: #f01919;
}
@media screen and (max-width: 650px) {
  .cp2_topItem .txtBox .txt-limit {
    font-size: 16px;
  }
}
.cp2_topItem .txtBox .normal-price {
  margin-bottom: -5px;
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
  font-size: 21px;
}
@media screen and (max-width: 650px) {
  .cp2_topItem .txtBox .normal-price {
    font-size: 16px;
  }
}
.cp2_topItem .txtBox .normal-price span {
  font-size: 21px;
}
.cp2_topItem .txtBox .normal-price span::before {
  content: "¥";
}
@media screen and (max-width: 650px) {
  .cp2_topItem .txtBox .normal-price span {
    font-size: 16px;
  }
}
.cp2_topItem .txtBox .txt-itemprice {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  color: #f01919;
  margin-bottom: 25px;
}
@media screen and (max-width: 650px) {
  .cp2_topItem .txtBox .txt-itemprice {
    margin-bottom: 10px;
  }
}
.cp2_topItem .txtBox .txt-itemprice::before {
  content: "限定価格";
  display: inline-block;
  margin-right: 10px;
  padding: 5px 10px;
  font-size: 28px;
  color: #fff;
  background: #f01919;
  border-radius: 5px;
  line-height: 1.2;
}
@media screen and (max-width: 650px) {
  .cp2_topItem .txtBox .txt-itemprice::before {
    padding: 2px 10px 4px;
    font-size: 21px;
  }
}
.cp2_topItem .txtBox .txt-itemprice p {
  display: inline-block;
  font-size: 60px;
  font-weight: bold;
}
.cp2_topItem .txtBox .txt-itemprice p::before {
  content: "¥";
  padding-right: 10px;
  font-size: 70%;
}
@media screen and (max-width: 650px) {
  .cp2_topItem .txtBox .txt-itemprice p {
    font-size: 48px;
  }
}
.cp2_topItem .txtBox .note {
  font-size: 15px;
}
@media screen and (max-width: 650px) {
  .cp2_topItem .txtBox .note {
    font-size: 13px;
  }
}

/****************** cp3 ******************/
.cp3_txtBox {
  width: 100%;
  padding: 0 5px 15px;
}
.cp3_txtBox p {
  color: #222;
  font-size: 18px;
}
.cp3_txtBox p span {
  color: #f01919;
  font-size: xx-large;
  font-weight: 600;
}
@media screen and (max-width: 650px) {
  .cp3_txtBox p span {
    font-size: larger;
  }
}

.small_txt {
  font-size: 14px;
  margin: 0 auto;
}
@media screen and (max-width: 650px) {
  .small_txt {
    font-size: 12px;
  }
}

.cp3_period {
  margin: 20px auto;
  border: 2px solid #00ac00;
  border-radius: 10px;
  padding: 15px 5px;
  max-width: 800px;
  color: #00ac00;
  background: #fff;
}
.cp3_period li {
  font-weight: 500;
  font-size: 18px;
}
.cp3_period li.finish {
  color: #aaa;
}
.cp3_period li.finish::after {
  content: "終了しました！";
  padding-left: 5px;
  color: #00ac00;
}
@media screen and (max-width: 650px) {
  .cp3_period li {
    font-size: 12px;
  }
  .cp3_period li.finish::after {
    content: "終了";
  }
}

.cp3_couponlist {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  position: relative;
}
.cp3_couponlist li {
  margin-bottom: 30px;
  max-width: calc(50% - 15px);
}
.cp3_couponlist li div {
  display: inline-block;
  position: relative;
  overflow: hidden;
  transition: 0.3s transform, 0.75s opacity;
}
.cp3_couponlist li div:hover {
  cursor: pointer;
  transform: translateY(3px);
  opacity: 0.8;
}
.cp3_couponlist li div::before {
  position: absolute;
  content: "";
  width: 40px;
  height: 100%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.1882352941), #fff);
  transform: skewX(-30deg);
  opacity: 0.6;
  top: 0;
  left: -120px;
  transition: 0s;
}
.cp3_couponlist li div:hover::before {
  left: calc(100% + 80px);
  width: 100px;
  opacity: 0;
  transition: 0.7s;
}
.cp3_couponlist p {
  margin-top: 10px;
  padding: 5px 0 0;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 18px;
}
.cp3_couponlist p input {
  border: none;
  margin-left: 10px;
  background-color: #eee;
  color: #00ac00;
  padding: 5px 10px;
  transition: 0.3s;
  border-radius: 3px;
  width: 200px;
}
.cp3_couponlist p input:focus-visible {
  outline: none;
}
@media screen and (max-width: 650px) {
  .cp3_couponlist {
    max-width: 400px;
    margin: 15px auto 0;
  }
  .cp3_couponlist li {
    max-width: 100%;
  }
  .cp3_couponlist p {
    font-size: 14px;
  }
}

.cateCon {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.cateCon li {
  width: 10%;
  min-width: 110px;
  padding: 15px 10px;
}
.cateCon li span {
  display: block;
  padding-top: 5px;
  font-size: 16px;
}
@media screen and (max-width: 650px) {
  .cateCon li {
    min-width: 65px;
    padding: 5px;
  }
  .cateCon li span {
    font-size: 11px;
  }
}
.cateCon img {
  margin: auto;
  margin-bottom: 7.5px;
}
.cateCon a {
  color: #111;
  transition: 0.2s;
}
.cateCon a:hover {
  opacity: 0.7;
}

/****************** cp4 ******************/
#cp4 .feature {
  margin: 60px auto 90px;
}
@media screen and (max-width: 650px) {
  #cp4 .feature {
    margin: 30px auto;
  }
}
#cp4 .feature .fList li {
  width: 33.3333333333%;
}
@media screen and (max-width: 480px) {
  #cp4 .feature .fList li {
    width: 50%;
  }
}
#cp4 .feature .fList p {
  display: none;
}

.secretbox p {
  font-weight: 500;
  font-size: 16px;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-style: normal;
  color: #777;
}

.secretbox {
  position: relative;
  padding: 70px 10px 80px;
  max-width: 1000px;
  margin: 20px auto;
  background: repeating-linear-gradient(-45deg, #eee, #eee 10px, #fff 0, #fff 20px);
  border-radius: 10px;
}

/****************** cp共通 ******************/
.yotpo-bottomline.pull-left.star-clickable {
  align-items: center;
}
.yotpo-bottomline.pull-left.star-clickable span.yotpo-stars {
  margin-right: 5px;
}

.animation.anime-fadeUp {
  opacity: 0;
  transform: translateY(100px);
}

.animation.anime-fadeUp.animated {
  animation: 1s ease-in-out 0s 1 forwards fadeUp;
}

.animation.anime-fadeIn {
  opacity: 0;
}

.animation.anime-fadeIn.animated {
  animation: 1s ease-in-out 0s 1 forwards fadeIn;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
#sb-site-main {
  transform: unset;
}

a:focus,
a:hover {
  text-decoration: unset;
}

a#topbtn {
  position: fixed;
  right: 10px;
  bottom: -50px;
  display: block;
  width: 50px;
  height: 50px;
  padding: 25px 0 0;
  transition: 0.3s;
  color: #fff;
  border-radius: 50%;
  background: #111;
  line-height: 1;
  z-index: 999;
}
a#topbtn.show {
  bottom: 30px;
}
a#topbtn:hover {
  transform: translateY(2px);
  background: #333;
}
a#topbtn::before {
  position: absolute;
  top: 1em;
  right: calc(50% - 0.3em);
  width: 0.6em;
  height: 0.6em;
  content: "";
  transition: 0.3s;
  transform: rotate(-45deg);
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

/*bxslider*/
#socialshare {
  display: none;
}

.product-list {
  border: none !important;
  margin: 0 auto;
  height: auto !important;
}
.product-list ul {
  width: 100% !important;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  left: 0 !important;
  position: relative;
  border-top: none !important;
}
.product-list ul li {
  height: auto !important;
  border: none !important;
  width: calc(25% - 10px) !important;
  margin: 0 5px 5px;
  transition: 0.3s;
}
.product-list ul li:hover {
  opacity: 0.7;
}
@media screen and (max-width: 991px) {
  .product-list ul li {
    width: calc(50% - 10px) !important;
    padding: 5px 0 !important;
  }
}
.product-list ul li img {
  width: 100%;
  height: auto;
  margin: auto;
}
.product-list ul li .txt-productname {
  line-height: 1.5 !important;
  margin: 10px 0 5px;
  color: #111;
  font-size: 14px;
  height: 3em !important;
  overflow: hidden;
}
.product-list ul li .txt-productname a {
  color: #111;
  font-weight: normal !important;
}
.product-list ul li .txt-price {
  font-size: 25px !important;
  color: #dd000a;
  font-family: Impact, Oswald, Haettenschweiler, Franklin Gothic Bold, sans-serif !important;
}
.product-list ul li .txt-price:first-letter {
  font-size: 70%;
  font-weight: bold;
}
.product-list ul li .txt-stock {
  font-size: 12px;
}
.product-list ul li:hover {
  background: #fff;
}

#cp2 .product-list ul {
  justify-content: center;
}
#cp2 .product-list ul li {
  width: calc(33.3333333333% - 10px) !important;
}
@media screen and (max-width: 650px) {
  #cp2 .product-list ul li {
    width: calc(50% - 10px) !important;
  }
}

.bx-wrapper {
  margin-bottom: 0 !important;
  background: unset !important;
}
.bx-wrapper .bx-viewport {
  height: auto !important;
}
.bx-wrapper .bx-controls-direction {
  display: none;
}

a.img-link::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  opacity: 0;
  transition: 0.2s;
}

#sld {
  border: none !important;
  position: relative;
  min-height: 300px;
}
#sld:not(:has(.slick-list))::before {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: solid 4px;
  border-color: #ff1aa1 rgba(0, 0, 0, 0.062745098) rgba(0, 0, 0, 0.062745098);
  animation-name: spin;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  position: absolute;
  left: calc(50% - 20px);
  top: 50px;
  content: "";
}
#sld .slick-list {
  border: none !important;
}
#sld .slick-slider > .slick-arrow {
  background: #ddd !important;
  width: 10% !important;
  max-width: 60px;
  height: 100% !important;
  position: absolute !important;
  top: 0 !important;
  bottom: unset !important;
  transform: unset !important;
}
#sld .slick-slider > .slick-arrow.slick-prev {
  left: -5px !important;
  z-index: 10;
  background: linear-gradient(90deg, #ffffff, rgba(255, 255, 255, 0)) !important;
}
#sld .slick-slider > .slick-arrow.slick-prev::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 15px;
  top: calc(50% - 15px);
  left: 15px;
  border: 3px solid transparent;
  border-bottom-color: #555;
  border-left-color: #555;
  transform: rotate(45deg);
}
#sld .slick-slider > .slick-arrow.slick-next {
  left: unset !important;
  right: -5px !important;
  z-index: 10;
  background: linear-gradient(-90deg, #ffffff, rgba(255, 255, 255, 0)) !important;
}
#sld .slick-slider > .slick-arrow.slick-next::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 15px;
  top: calc(50% - 15px);
  right: 15px;
  border: 3px solid transparent;
  border-top-color: #555;
  border-right-color: #555;
  transform: rotate(45deg);
}

.countdown {
  margin: 0.5em 0 1em;
  font-size: 18px;
  background: #fbe4f1;
  padding: 10px 0 0;
}
.countdown > p {
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-style: normal;
  display: inline-block;
  color: #c8006d;
}
.countdown span {
  background: #c8006d;
  padding: 0px 8px;
  font-size: 150%;
  color: #fff;
  margin: 0 5px 0 7.5px;
  letter-spacing: 2px;
  font-weight: 800;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-style: normal;
  vertical-align: text-bottom;
  position: relative;
}
.countdown .cd__txt {
  margin: 0 0 2.5px;
}
@media screen and (max-width: 650px) {
  .countdown {
    font-size: 16px;
    padding: 10px 0;
  }
  .countdown > p {
    display: block;
  }
}/*# sourceMappingURL=main-test.css.map */