@charset "UTF-8";
/* 色 */
/* ステータス */
/* ブレークポイント */
/* 可変サイズ */
/* サイズ */
/* 323px */
/* 余白 */
/* 角丸 */
/* 変数ファイル */
/* -----------------------------------------------------------
    要素/属性セレクタ、疑似クラス
----------------------------------------------------------- */
html {
  overflow-y: scroll; /* スクロールバーの有無によるズレ対策 */
}

/* -----------------------------------------------------------
    ページ固有パーツ
----------------------------------------------------------- */
#top .c-container {
  background: none;
}
#top .c-terms-br--none {
  display: none;
}

/* 見出し */
.top-title {
  background: linear-gradient(90deg, #D4BE39 0%, #D4BE39 40%, #BC9302 100%);
  color: #7D4100;
  font-size: min(5.33vw, 26px);
  font-weight: bold;
  text-align: center;
  -webkit-text-fill-color: #7D4100;
  -webkit-text-stroke: 4px #FFF;
  text-stroke: 4px #FFF;
  paint-order: stroke;
  padding: min(2.67vw, 13px) 0;
}

.top-title02 {
  font-size: min(5.33vw, 26px);
  font-weight: bold;
  text-align: center;
  padding: min(2.67vw, 13px) 0;
  border-top: solid 2px #666666;
  border-bottom: solid 2px #666666;
}

/* メインビジュアル */
.top-mv {
  background: #FDFDFD;
  height: calc(var(--vh, 1vh) * 100);
}

.top-mv__video {
  display: block;
  width: 100%;
  height: calc(var(--vh, 1vh) * 100);
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
  border: none;
  outline: none;
  margin: 0;
  padding: 0;
}

/* ストーリー */
.top-story__inner {
  margin: 0 min(4vw, 20px);
  padding-top: min(4vw, 20px);
}

.top-story__title {
  width: min(67.2vw, 336px); /* 252px */
  margin: 0 auto min(4vw, 20px);
}

.top-story__text {
  font-family: "Noto Serif JP", serif;
  font-size: min(4.8vw, 24px);
  line-height: 2;
  text-align: center;
}
.top-story__text + .top-story__text {
  margin-top: min(4vw, 20px);
}

.top-story__note {
  display: flex;
  align-items: center;
  margin-top: min(2.67vw, 13px);
  padding-right: min(1.33vw, 6px);
}

.top-story__note-logo {
  width: min(10.67vw, 53px);
}

.top-story__note-right {
  margin-left: min(1.33vw, 6px);
}

.top-story__note-text {
  font-size: min(2.67vw, 13px);
}
.top-story__note-text + .top-story__note-text {
  margin-top: min(1.33vw, 6px);
}

.top-story__note-icon {
  display: inline-block;
  width: min(20vw, 100px);
  margin-right: 2px;
}

/* 限定動画アンカー */
.top-movie-anchor__box {
  margin: min(8vw, 40px) min(4vw, 20px) 0;
  padding-bottom: min(8vw, 40px);
}

.top-movie-anchor__box-inner {
  background: #FFF;
  padding: min(4vw, 20px) min(2.67vw, 13px) min(6.67vw, 33px);
  border: solid 2px #C6000B;
  border-top: none;
}

.top-movie-anchor__box-name {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.top-movie-anchor__box-name > li {
  width: 37%;
}
.top-movie-anchor__box-name > li:nth-child(even) {
  margin-left: 4.6%;
}
.top-movie-anchor__box-name > li:nth-child(n+3) {
  margin-top: min(4vw, 20px);
}

.top-movie-anchor__box-img {
  width: min(85.33vw, 426px);
  margin: 0 auto;
}

/* 賞品 */
.top-prize {
  position: relative;
  background: linear-gradient(180deg, #FFFDE3 0%, #F9F4E0 15%, #E8DA8F 30%, #E8DA8F 85%, #D4BE39 100%);
  border-top: solid min(4vw, 20px) #FDFCF4;
  border-left: solid min(4vw, 20px) #F3EFD0;
  border-bottom: solid min(4vw, 20px) #654720;
  border-right: solid min(4vw, 20px) #F3F1D8;
  z-index: 1;
}
.top-prize:before {
  content: "";
  display: block;
  background: url(../image/top/bg_prize.svg) no-repeat left top/contain;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: min(73.6vw, 368px); /* 276px */
  z-index: -1;
}

.top-prize__inner {
  padding: min(8vw, 40px) min(2.67vw, 13px);
}

.top-prize__title {
  margin-bottom: min(8vw, 40px);
}

.top-prize__box {
  background: #FFF;
  border: solid 2px #BC9302;
}
.top-prize__box + .top-prize__box {
  margin-top: min(4vw, 20px);
}

.top-prize__box-period--01 {
  background: #BC9302;
  margin-top: -1px;
}

.top-prize__box-title {
  font-size: min(3.73vw, 18px);
  font-weight: bold;
  text-align: center;
  margin-top: min(4vw, 20px);
}

.top-prize__box-link {
  display: flex;
  justify-content: center;
  font-size: min(3.73vw, 18px);
  margin-bottom: min(4vw, 20px);
}

.top-prize__list {
  background: #FFFDE3;
  font-size: min(3.73vw, 18px);
  margin-top: min(4vw, 20px);
  padding: min(2.67vw, 13px) min(4vw, 20px);
}

/* 対象商品 */
.top-product {
  padding-top: min(4vw, 20px);
}

.top-product__cont {
  margin: min(4vw, 20px) min(4vw, 20px) 0;
}

.top-product-acc + .top-product-acc {
  margin-top: min(4vw, 20px);
}

.top-product-acc__head {
  background: linear-gradient(90deg, #FBF5C5 0%, #FFFDEC 40%, #FFF 50%, #FFFDEC 60%, #FBF5C5 100%);
  position: relative;
  display: block;
  color: #7D4100;
  font-weight: bold;
  text-align: center;
  padding: min(2.67vw, 13px) min(4vw, 20px);
  border: solid 1px #7D4100;
  cursor: pointer;
}
.top-product-acc__head:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: min(4vw, 20px);
  margin: auto 0;
  width: min(4.27vw, 21px);
  height: min(4.27vw, 21px);
  background-image: url(/../image/common/icon_arrow04.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin-left: min(1.33vw, 6px);
  transform: rotate(90deg);
}
details[open] .top-product-acc__head:after {
  content: "";
  transform: rotate(-90deg);
}
.top-product-acc__head::-webkit-details-marker {
  display: none;
}

.top-product-acc__dtl {
  background: #FFF;
  margin: min(4vw, 20px) 0 min(8vw, 40px);
  padding: min(6.67vw, 33px) min(4vw, 20px);
}
.top-product-acc__dtl > * + * {
  margin-top: min(4vw, 20px);
}

.top-product-acc__img {
  text-align: center;
}
.top-product-acc__img + .top-product-acc__img {
  padding-top: min(4vw, 20px);
  border-top: 1px solid #E8DA8F;
}

.top-product-acc__text-box {
  font-size: min(3.73vw, 18px);
}

.top-product-acc__title {
  font-weight: bold;
}

.top-product__link {
  display: flex;
  justify-content: center;
  font-size: min(4.8vw, 24px);
  font-weight: bold;
}

/* 応募方法 */
.top-apply__list {
  margin: min(4vw, 20px) min(4vw, 20px) 0;
}
.top-apply__list > li:nth-child(n+2) {
  margin-top: min(2.67vw, 13px);
}
.top-apply__list > li:nth-child(n+2):before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  margin: 0 auto min(2.67vw, 13px);
  border-top: solid min(5.33vw, 26px) #7D4100;
  border-left: solid min(5.33vw, 26px) transparent;
  border-right: solid min(5.33vw, 26px) transparent;
}

.top-apply__list-box {
  background: #FFF;
  display: flex;
  align-items: center;
  padding: min(4vw, 20px);
}

.top-apply__list-step {
  width: min(14.93vw, 74px);
  font-family: Roboto, sans-serif;
  color: #E4D49A;
  font-size: min(12.8vw, 64px);
  text-align: center;
}

.top-apply__list-text {
  font-size: min(3.73vw, 18px);
  margin-left: min(4vw, 20px);
}

.top-apply__list-img {
  width: min(18.67vw, 93px);
  margin-left: auto;
}

/* レシート撮影時の注意事項 */
.top-receipt__box {
  background: #FFF;
  margin: min(4vw, 20px) min(4vw, 20px) 0;
  padding: min(4vw, 20px) min(1.33vw, 6px) min(8vw, 40px);
}

.top-receipt__box-title {
  display: flex;
  justify-content: center;
  margin-bottom: min(5.33vw, 26px);
}
.top-receipt__box-title span {
  color: #7D4100;
  font-weight: bold;
  text-align: center;
  padding: 0 min(1.33vw, 6px) min(0.53vw, 2px);
  border-bottom: solid 2px #7D4100;
}
* + .top-receipt__box-title {
  margin-top: min(8vw, 40px);
}

.top-receipt__box-img {
  width: min(79.47vw, 397px);
  margin: 0 auto;
}

.top-receipt__box-text {
  font-size: min(3.73vw, 18px);
  text-align: center;
  margin-top: min(5.33vw, 26px);
}

.top-receipt__box-list {
  width: 71.6%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: min(10.67vw, 53px) auto 0;
}
.top-receipt__box-list > li {
  position: relative;
  width: 43.5%;
}
.top-receipt__box-list > li:nth-child(even) {
  margin-left: 13%;
}
.top-receipt__box-list > li:nth-child(n+3) {
  margin-top: min(10.67vw, 53px);
}
.top-receipt__box-list > li:before {
  content: "";
  display: block;
  background: url(../image/top/icon_receipt-ng.svg) no-repeat left top/contain;
  position: absolute;
  top: clamp(-25px, -5.07vw, 0px);
  left: clamp(-25px, -5.07vw, 0px);
  width: min(10.13vw, 50px);
  height: min(10.13vw, 50px);
  z-index: 1;
}

.top-receipt__box-list-text {
  font-size: min(3.47vw, 17px);
  text-align: center;
  margin-top: min(1.33vw, 6px);
}

/* 応募規約 */
.top-terms {
  padding: 0 min(4vw, 20px) min(6.67vw, 33px);
}

.top-terms__title {
  display: flex;
  justify-content: center;
  align-items: center;
}
.top-terms__title span {
  color: #7D4100;
  font-size: min(4.8vw, 24px);
  font-weight: bold;
  text-align: center;
  border-bottom: solid 1px #7D4100;
  cursor: pointer;
}
.top-terms__title span:after {
  content: "";
  display: inline-block;
  width: min(4.27vw, 21px);
  height: min(4.27vw, 21px);
  background-image: url(/../image/common/icon_arrow04.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin-left: min(1.33vw, 6px);
  transform: rotate(90deg);
}
details[open] .top-terms__title span:after {
  content: "";
  transform: rotate(-90deg);
}
.top-terms__title::-webkit-details-marker {
  display: none;
}

.top-terms__box {
  background: #FFF;
  margin-top: min(4vw, 20px);
  padding: min(4vw, 20px) min(2.67vw, 13px);
}
.top-terms__box .c-terms-list dt {
  color: #7D4100;
  border-bottom: solid 1px #BC9302;
}

/* 限定動画 */
.top-movie__title {
  background: #E9DC93;
}

.top-movie__cont {
  padding: min(4vw, 20px) min(4vw, 20px) min(6.67vw, 33px);
}

.top-movie__cont-title {
  width: min(87.47vw, 437px); /* 328px */
  margin: 0 auto;
}

.top-movie__cont-img {
  margin: min(4vw, 20px) auto 0;
}

.top-movie__box {
  background: #FFF;
  margin-top: min(8vw, 40px);
  padding: min(4vw, 20px) min(2.67vw, 13px) min(8vw, 40px);
  text-align: center;
}

.top-movie__box-title {
  font-size: min(5.33vw, 26px);
  font-weight: bold;
  margin-bottom: min(4vw, 20px);
  padding-bottom: min(1.33vw, 6px);
  border-bottom: solid 1px #999999;
}

.top-movie__box-text {
  font-size: min(3.73vw, 18px);
}

.top-movie__box-img {
  width: min(74.4vw, 372px); /* 279px */
  margin: min(8vw, 40px) auto 0;
}

/* よくあるご質問 */
.top-faq {
  background: #FFF;
}

.top-faq__box {
  padding: min(4vw, 20px) min(4vw, 20px) min(6.67vw, 33px);
}
.top-faq__box *:nth-last-child(2) .c-acc_detail {
  padding-bottom: 0;
}

/* お問い合わせ */
.top-contact {
  background: #FFF;
}

.top-contact__box {
  padding: min(4vw, 20px) min(4vw, 20px) min(12vw, 60px);
}

.top-contact__box-title {
  font-size: min(5.33vw, 26px);
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
}

.top-contact__box-tel {
  font-size: min(7.47vw, 37px);
  font-weight: bold;
  text-align: center;
  margin-top: min(2.67vw, 13px);
}

.top-contact__box-list {
  margin-top: min(5.33vw, 26px);
  text-align: center;
}
.top-contact__box-list dt {
  background: linear-gradient(270deg, #666666 0%, #999999 45%, #999999 55%, #666666 100%);
  display: inline-block;
  color: #ffffff;
  font-weight: bold;
  padding: min(0.53vw, 2px) min(2.67vw, 13px);
}
.top-contact__box-list dd {
  margin-top: min(1.33vw, 6px);
}
.top-contact__box-list dd + dt {
  margin-top: min(4vw, 20px);
}

.top-contact__box-list02 {
  font-size: min(3.73vw, 18px);
  margin-top: min(4vw, 20px);
}

/* 追従ボタン */
.top-btn-fixed-wrap {
  width: 100%;
  max-width: 500px;
  background: rgba(255, 255, 255, 0.95);
  display: none;
  position: sticky;
  bottom: 0;
  left: 0;
  padding: min(2.67vw, 13px) min(1.33vw, 6px);
  z-index: 1;
}
.top-btn-fixed-wrap.js-show {
  display: block;
}

/* 限定動画モーダルウィンドウ */
.top-movie-modal {
  background: #EAEFF3 url(../image/common/bg02.jpg) top center/cover;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: -1;
  overflow-y: auto;
}
.top-movie-modal.js-show {
  opacity: 1;
  z-index: 999;
}

.top-movie-modal__cont {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  padding: 0 min(4vw, 20px);
}

.top-movie-modal__inner {
  padding: 0 min(2.67vw, 13px);
}

.top-movie-modal__title {
  background: linear-gradient(90deg, #E6E6E6 0%, #FFF 50%, #E6E6E6 100%);
  color: #666666;
  font-size: min(5.33vw, 26px);
  font-weight: bold;
  text-align: center;
  margin-bottom: min(2.67vw, 13px);
  padding: min(2.67vw, 13px) min(1.33vw, 6px);
  border-top: solid 2px;
  border-bottom: solid 2px;
  -o-border-image: linear-gradient(90deg, #666666 0%, #999999 50%, #666666 100%) 1;
     border-image: linear-gradient(90deg, #666666 0%, #999999 50%, #666666 100%) 1;
}

.top-movie-modal__img {
  width: min(32vw, 160px);
  margin: min(2.67vw, 13px) auto min(5.33vw, 26px);
}

.top-movie-modal__item-title {
  margin-bottom: min(1.33vw, 6px);
}

.top-movie-modal__input-box--wfull {
  width: 100%;
}

.top-movie-modal__close {
  display: block;
  position: absolute;
  top: min(4vw, 20px);
  right: min(4vw, 20px);
  width: min(6.67vw, 33px);
  z-index: 5;
}

.top-movie-modal__item-error {
  display: none;
}
.top-movie-modal__item-error.js-show {
  display: block;
}

@media screen and (max-height: 550px) {
  /* ===========================================================
      iPhoneSE(アドレスバーあり)
  =========================================================== */
  .top-movie-modal:not(:has(.top-movie-modal__item-error.js-show)) .top-movie-modal__close {
    top: calc(var(--vh, 1vh) * 5.5);
  }
}
@media screen and (max-height: 667px) {
  /* ===========================================================
      iPhoneSE(アドレスバーなし)
  =========================================================== */
  .top-mv__video {
    -o-object-position: center 70%;
       object-position: center 70%;
  }
}
@media screen and (min-width: 501px) {
  /* ===========================================================
      タブレット縦
  =========================================================== */
  .top-mv {
    height: 888px;
  }
  .top-mv__video {
    height: 100%;
    filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
    transform: translateZ(0);
    will-change: transform;
  }
  .top-btn-fixed-wrap {
    left: calc(50% - 250px);
  }
}
@media screen and (min-width: 769px) {
  /* ===========================================================
      タブレット横、PC
  =========================================================== */
}