@charset "UTF-8";
html {
  font-size: 62.5%;
}

/* --------------------
	original-reset
-------------------- */
.container {
  width: auto !important;
}

.block-event-page {
  width: 100% !important;
  padding: 0 !important;
}

.block-event-page--header-img {
  display: none;
}

.block-event-page--comment-bot {
  padding: 0 !important;
  background-color: transparent;
}

.block-footer-download {
  display: none !important;
}

/* --------------------
		設定
-------------------- */
/* ----px → vw---- 書き方：vw(px値) */
/* ----px → vw (pc)---- 書き方：vw-pc(px値)　*/
@media screen and (max-width: 750px) {
  .pc-only {
    display: none !important;
  }
}
@media screen and (max-width: 750px) {
  .pc-only {
    display: none !important;
  }
}

@media screen and (min-width: 1000px) {
  .sp-only {
    display: none !important;
  }
}

:root {
  --c-txt: #333;
  --c-bg: #f4f4f4;
  --c-accent: #B98D33;
}

:root {
  --width-pc: 800px;
  --width-sp: 85vw;
}

/* --------------------
	スムーススクロール
-------------------- */
html {
  scroll-behavior: smooth;
}

/* --------------------
		共通のcss
-------------------- */
.couponback {
  overflow: hidden;
  position: relative;
  line-height: 1;
  margin-top: 30px;
  font-family: "Hiragino Kaku Gothic ProN", "游ゴシック Medium", YuGothic, YuGothicM, メイリオ, Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.05em;
  line-height: 2;
  color: var(--c-txt);
}
@media screen and (min-width: 1000px) {
  .couponback {
    width: 1200px;
    min-width: 1000px;
    margin: 30px auto 0;
  }
}
.couponback a {
  text-decoration: none;
  transition: 0.3s ease all;
}
.couponback a:hover {
  opacity: 0.7;
}
.couponback img {
  width: 100%;
  height: auto;
}
.couponback h2 {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1000px) {
  .couponback h2 {
    font-size: 1.8rem;
  }
}
.couponback h3 {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1000px) {
  .couponback h3 {
    font-size: 1.6rem;
  }
}
.couponback h2, .couponback h3 {
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: left;
}
.couponback .__flex {
  display: flex;
}
.couponback .tax {
  font-size: 0.75em;
}
.couponback .accent {
  color: var(--c-accent);
  font-weight: 600 !important;
}
.couponback .couponback__btn {
  padding: 10px 30px;
  width: 66.6666666667vw;
  background-color: #333;
  color: #fff;
  border: none;
  cursor: pointer;
  border-radius: 4px;
  text-align: center;
  font-weight: 600 !important;
}
@media screen and (min-width: 1000px) {
  .couponback .couponback__btn {
    width: 600px;
    padding: 18px 30px;
  }
}

p, ul, a, .btn {
  font-family: "Hiragino Kaku Gothic ProN", "游ゴシック Medium", YuGothic, YuGothicM, メイリオ, Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.05em;
  line-height: 2;
  font-size: 1.3rem;
}

/* --------------------
		.header
-------------------- */
.header__txt {
  width: 90vw;
  margin: 0 auto;
  padding: 13.3333333333vw 0;
  text-align: center;
}
@media screen and (min-width: 751px) and (max-width: 999px) {
  .header__txt {
    padding: 60px 0;
    text-align: center;
  }
}
@media screen and (min-width: 1000px) {
  .header__txt {
    width: 1000px;
    padding: 80px 0;
    text-align: center;
  }
}

.main {
  width: 80%;
  margin: 0 auto;
}
@media screen and (min-width: 1000px) {
  .main {
    width: var(--width-pc);
  }
}
.main .line-short {
  width: 100%;
  height: 1px;
  color: var(--grey);
  margin: 45px auto;
  border: none;
  border-top: 1px solid #afafaf;
}
@media screen and (min-width: 1000px) {
  .main .line-short {
    margin: 4.6875vw auto;
  }
}
.main .campaign-summary {
  width: 100vw; /* ビューポート（画面）の幅いっぱいに設定 */
  margin-left: calc(-50vw + 50%); /* 画面の中央から左へ半分ずらす */
  margin-right: calc(-50vw + 50%); /* 同様に右へ半分ずらす */
  background-color: var(--c-bg);
  padding-top: 13.3333333333vw;
}
@media screen and (min-width: 1000px) {
  .main .campaign-summary {
    padding-top: 5.46875vw;
  }
}
.main .campaign-summary h2 {
  width: 80%;
  margin: auto;
}
@media screen and (min-width: 1000px) {
  .main .campaign-summary h2 {
    text-align: center;
  }
}
.main .campaign-summary .period {
  width: 80%;
  margin: 2.6666666667vw auto 0 auto;
}
@media screen and (min-width: 1000px) {
  .main .campaign-summary .period {
    margin: 1.171875vw auto 0 auto;
    text-align: center;
  }
}
.main .campaign-summary .period p {
  font-size: 3.1733333333vw !important;
}
@media screen and (min-width: 1000px) {
  .main .campaign-summary .period p {
    font-size: 1.3rem !important;
  }
}
@media screen and (min-width: 1000px) {
  .main .campaign-summary__wrap {
    width: 1200px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1000px) {
  .main .campaign-summary .coupon-info {
    display: flex;
    flex-wrap: wrap;
    width: 80%;
    margin: auto;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1000px) and (min-width: 1000px) {
  .main .campaign-summary .coupon-info {
    margin-top: 1.953125vw;
    margin-bottom: 3.125vw;
  }
}
.main .campaign-summary .coupon-info__block {
  width: 80vw;
  margin: auto;
  padding-bottom: 10.6666666667vw;
}
@media screen and (min-width: 1000px) {
  .main .campaign-summary .coupon-info__block {
    width: 23%;
    padding-bottom: 2.734375vw;
    margin: 0;
  }
}
.main .campaign-summary .coupon-info__block:first-child {
  padding-top: 5.3333333333vw;
}
@media screen and (min-width: 1000px) {
  .main .campaign-summary .coupon-info__block:first-child {
    padding-top: 0;
  }
}
.main .campaign-summary .coupon-info__block:last-child {
  padding-bottom: 0;
  margin-bottom: 13.3333333333vw;
}
@media screen and (min-width: 1000px) {
  .main .campaign-summary .coupon-info__block:last-child {
    padding-bottom: 0;
    margin-bottom: 3.125vw;
  }
}
.main .campaign-summary .coupon-info__block .total__space {
  margin-right: 2px;
}
.main .campaign-summary .coupon-info__buy {
  position: relative;
  border-radius: 9999px;
  background-color: var(--c-accent);
  color: #fff;
  padding-left: 6.1333333333vw;
  font-size: 3.4666666667vw;
  font-weight: 600;
}
@media screen and (min-width: 1000px) {
  .main .campaign-summary .coupon-info__buy {
    font-size: 0.703125vw;
    padding-left: 20px;
  }
}
.main .campaign-summary .coupon-info__buy ::before {
  content: "";
  position: absolute; /* 絶対配置 */
  left: 3%; /* 左端にぴったり配置 */
  top: 50%; /* 💡 上からの位置を文字の高さに合わせて微調整 */
  transform: translateY(-50%); /* 💡 文字の1行目中央に綺麗に合わせる技 */
  width: 10px;
  height: 10px;
  background-color: #fff;
  border-radius: 50%;
}
.main .campaign-summary .coupon-info__off {
  text-align: center;
  color: var(--c-accent);
  font-size: 6.9333333333vw;
  font-weight: 600;
}
@media screen and (min-width: 1000px) {
  .main .campaign-summary .coupon-info__off {
    font-size: 1.25vw;
    margin: 0.15625vw 0;
    letter-spacing: 0.01em !important;
  }
}
.main .campaign-summary .coupon-info__off span {
  font-size: 0.5em;
}
.main .campaign-summary .coupon-info__detail {
  position: relative;
  padding-left: 5.3333333333vw;
}
@media screen and (min-width: 1000px) {
  .main .campaign-summary .coupon-info__detail {
    padding-left: 0.625vw;
    font-size: 0.625vw !important;
    letter-spacing: 0.02em !important;
  }
}
.main .campaign-summary .coupon-info__detail ::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  /* 💡 ここから画像の設定 */
  width: 9px;
  height: 50px;
  background-image: url("../img/detail_left.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.main .campaign-summary .coupon-info__detail ::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  /* 💡 ここから画像の設定 */
  width: 9px;
  height: 50px;
  background-image: url("../img/detail_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.main .campaign-summary .more {
  position: relative;
  padding-top: 3.2vw;
  padding-bottom: 5.8666666667vw;
  background-color: var(--c-accent);
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 1000px) {
  .main .campaign-summary .more {
    padding-top: 1.171875vw;
    padding-bottom: 1.953125vw;
  }
}
.main .campaign-summary .more::after {
  content: "";
  position: absolute;
  bottom: 25%;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  /* 💡 矢印のサイズと線の太さ・色 */
  width: 10px;
  height: 10px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
}
.main .campaign-summary .more p {
  font-weight: 600;
}
.main .summer-sale {
  margin: 16vw 0;
  text-align: center;
}
@media screen and (min-width: 1000px) {
  .main .summer-sale {
    margin: 6.25vw;
  }
}
.main .summer-sale img {
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 1000px) {
  .main .summer-sale img {
    margin-top: 1.5625vw;
  }
}
.main .summer-sale a {
  color: #BB192E;
  text-decoration: underline;
}
.main .link a {
  text-decoration: underline;
}
.main .link h3 {
  margin-bottom: 5.3333333333vw;
  vertical-align: top;
  text-align: left;
}
.main .link h3:before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 22px;
  margin: 0 10px -5px 0;
  background-color: var(--c-accent);
}
@media screen and (min-width: 1000px) {
  .main .link h3:before {
    margin-right: 13px;
  }
}
@media screen and (min-width: 1000px) {
  .main .link h3 {
    margin-bottom: 20px;
  }
}
.main .link ul {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
@media screen and (min-width: 1000px) {
  .main .link ul {
    font-size: 1.3rem;
  }
}
.main .link ul li {
  width: 50%;
  margin-bottom: 2.67vw;
}
@media screen and (min-width: 1000px) {
  .main .link ul li {
    width: 187.5px;
    margin-bottom: 10px;
  }
}
.main .link.women {
  margin-bottom: 10.6666666667vw;
}
@media screen and (min-width: 1000px) {
  .main .link.women {
    margin-bottom: 3.125vw;
  }
}
.main .price-range__wrap {
  margin-bottom: 17.3333333333vw;
}
@media screen and (min-width: 1000px) {
  .main .price-range__wrap {
    margin-bottom: 7.03125vw;
  }
}
.main .price-range h3 {
  display: block;
  position: relative;
  padding-left: 15px;
}
@media screen and (min-width: 1000px) {
  .main .price-range h3 {
    padding-left: 20px;
  }
}
.main .price-range h3:before {
  content: "";
  position: absolute;
  display: inline-block;
  width: 4px;
  height: 40px;
  left: 0;
  margin: 0 10px -4px 0;
  background-color: var(--c-accent);
}
@media screen and (min-width: 1000px) {
  .main .price-range h3:before {
    height: 47px;
  }
}
.main .price-range .swiper {
  width: 100vw;
  max-width: none !important;
  overflow: visible;
  height: auto;
}
@media screen and (min-width: 1000px) {
  .main .price-range .swiper {
    width: 800px;
  }
}
.main .price-range .swiper-wrapper {
  margin-top: 6.6666666667vw;
}
@media screen and (min-width: 1000px) {
  .main .price-range .swiper-wrapper {
    margin-top: 1.953125vw;
  }
}
.main .price-range .swiper .swiper-slide a:hover {
  opacity: 1;
}
@media screen and (min-width: 1000px) {
  .main .price-range .swiper .swiper-slide a:hover {
    opacity: 0.7;
  }
}
.main .price-range .swiper .swiper__item-desc p {
  font-size: 1.2rem;
}
.main .price-range .swiper .swiper__item-desc .name {
  margin-top: 2.6666666667vw;
  line-height: 1.5;
  font-size: 2.6666666667vw;
}
@media screen and (min-width: 1000px) {
  .main .price-range .swiper .swiper__item-desc .name {
    margin-top: 0.9375vw;
    font-size: 0.78125vw;
  }
}
.main .price-range .swiper .swiper__item-desc .price {
  font-weight: 600;
  margin-top: 0vw;
  font-size: 3.2vw;
}
@media screen and (min-width: 1000px) {
  .main .price-range .swiper .swiper__item-desc .price {
    margin-top: 0.078125vw;
    font-size: 1.015625vw;
  }
}

.popular {
  margin-bottom: 16vw;
}
@media screen and (min-width: 1000px) {
  .popular {
    margin-bottom: 7.03125vw;
  }
}
.popular h3 {
  display: block;
  position: relative;
  padding-left: 15px;
}
.popular h3:before {
  content: "";
  position: absolute;
  display: inline-block;
  width: 4px;
  height: 20px;
  left: 0;
  margin: 0 10px -4px 0;
  background-color: var(--c-accent);
}
@media screen and (min-width: 1000px) {
  .popular .btn {
    width: 600px;
    padding: 18px 30px;
  }
}

.price-range .more-item__wrap, .popular .more-item__wrap {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 6.6666666667vw;
}
@media screen and (min-width: 1000px) {
  .price-range .more-item__wrap, .popular .more-item__wrap {
    margin-top: 1.953125vw;
  }
}

.campaign-detail {
  padding: 16vw 0;
  background-color: #f4f4f4;
}
@media screen and (min-width: 1000px) {
  .campaign-detail {
    padding: 6.25vw 0;
    margin-bottom: 6.25vw;
  }
}
.campaign-detail__txt {
  overflow: hidden;
  height: auto;
  position: relative;
  width: 80%;
  height: 450px;
  transition: height 0.4s ease;
  margin: 0 auto;
}
.campaign-detail__txt.is-open {
  height: auto; /* 高さを中身ぴったりまで広げる */
}
.campaign-detail__txt.is-open::before {
  opacity: 0; /* 開いたら、下側のモヤモヤ（グラデーション）を消す */
}
.campaign-detail__txt::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 500px; /* グラデーションの高さ（この高さで完全に透明になります） */
  pointer-events: none; /* グラデーション部分のクリックやテキスト選択を可能にする */
  background: linear-gradient(to bottom, rgba(244, 244, 244, 0) 40%, rgb(244, 244, 244) 100%);
  transition: opacity 0.3s ease;
}
.campaign-detail__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 20px auto 0;
  font-size: 1.3rem;
}
@media screen and (min-width: 1000px) {
  .campaign-detail__btn {
    padding: 18px 30px;
    width: 600px;
    margin: 3.125vw auto 0;
  }
}
.campaign-detail__btn::before {
  content: "+";
  font-size: 1.5em;
  font-weight: lighter;
  line-height: 1;
  margin-right: 5px;
  transform: translateY(-2px);
}
.campaign-detail .is-open + .campaign-detail__btn::before {
  content: "ー" !important;
  transform: translateY(0px) !important;
  font-size: 1em;
  font-weight: 600;
  line-height: 1;
  margin-right: 5px;
}
.campaign-detail h2 {
  margin-bottom: 5.3333333333vw;
}
@media screen and (min-width: 1000px) {
  .campaign-detail h2 {
    margin-bottom: 1.5625vw;
  }
}
/*# sourceMappingURL=260703_onlinestore_couponback-campaign_style.css.map */