/*====================================================
RESET
====================================================*/
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-bottom: 0;
  font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', YuGothic, 'Yu Gothic', sans-serif;
}

/*====================================================
COMMON
====================================================*/
a {
  transition: 0.3s;
}
a:hover {
  opacity: 0.7;
}
main {
  font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', YuGothic, 'Yu Gothic', sans-serif;
  display: block;
  color: #000;
}
main img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}
.inner {
  max-width: 100rem;
  margin: 0 auto;
}
.shadow {
  box-shadow: 0.5rem 0.5rem 0 0 rgb(0 0 0 / 16%);
}
.grid {
  display: grid;
}
.present-campaign-shadow {
  box-shadow: 7px 7px 0px 0px rgb(0 0 0 / 16%);
}
@media screen and (min-width: 768px) and (max-width: 1150px) {
  .inner {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .inner {
    width: 95%;
  }
}
@media screen and (max-width: 767px) {
  .present-campaign-shadow {
    box-shadow: 0.93333333vw 0.93333333vw 0 0 rgb(0 0 0 / 16%);
  }
}

/*====================================================
MV
====================================================*/
.mv {
  text-align: center;
  height: 86.7rem;
  background-image: url(../img/mv-bg-top-line.png), url(../img/mv-bg-bottom-line.png), url(../img/mv-bg-pkgs.png), url(../img/mv-bg-texture.jpg);
  background-position: center top, center bottom, center;
  background-repeat: repeat-x, repeat-x, repeat-x, repeat;
}
.mv__inner {
  height: 100%;
  align-items: center;
  justify-content: center;
}

/*====================================================
PKG
====================================================*/
.pkg__ttl-area {
  background-image: url(../img/pkg-ttl-bg.jpg);
  height: 30.9rem;
  align-items: center;
  justify-content: center;
  background-position: center;
  background-color: #e10202;
  background-repeat: no-repeat;
}
.pkg__content-area {
  height: 65rem;
  align-items: stretch;
}
.pkg__tsubuvegi-area,
.pkg__bbq-area {
  width: 50%;
}
.pkg__tsubuvegi-area {
  background-image: url(../img/pkg_tsubuvegi-area-bg.jpg), url(../img/pkg_tsubuvegi-area-bg-texture.jpg);
  background-position: right center;
  align-items: flex-start;
  justify-content: flex-end;
  padding-right: 9.8rem;
  padding-top: 10.7rem;
  background-repeat: no-repeat, repeat;
}
.pkg__bbq-area {
  background-image: url(../img/pkg_bbq-area-bg.jpg), url(../img/pkg_bbq-area-bg-texture.jpg);
  background-position: left center;
  align-items: flex-start;
  justify-content: flex-start;
  padding-left: 9.8rem;
  padding-top: 10.7rem;
  background-repeat: no-repeat, repeat;
}

/*====================================================
PRESENT SCHEDULE
====================================================*/
.present-schedule {
  background-image: url(../img/present-schedule_bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-color: #e4000f;
  text-align: center;
  padding: 11.5rem 0 14rem;
  overflow: hidden;
}
.present-schedule_txt {
  color: #fff;
  font-size: 2.2rem;
  line-height: 1.90909091;
  position: relative;
  margin-bottom: 5.5rem;
  z-index: 2;
  font-weight: bold;
}
.present-schedule_txt::before {
  content: '';
  background-image: url(../img/present-schedule_txt_bg.png);
  background-position: center;
  width: 95.5rem;
  height: 31.3rem;
  display: block;
  position: absolute;
  left: 49.5%;
  transform: translateX(-50%);
  top: -7rem;
  z-index: -1;
}
.present-schedule_catch {
  width: 54rem;
  margin-bottom: 4.5rem;
}
.present-schedule_ttl {
  width: 56rem;
  margin: 0 auto 6rem;
}
.present-schedule_term {
  margin-bottom: 5.25rem;
}
.present-schedule-target {
  max-width: 90rem;
  background-color: #fcf9d4;
  border-radius: 1rem;
  padding-bottom: 5.5rem;
  margin: 0 auto;
}
.present-schedule-target_ttl {
  background-color: #fdf12f;
  padding: 2.4rem 0;
  border-radius: 1rem 1rem 0 0;
  margin-bottom: 4.5rem;
  transform: none;
}
.present-schedule-target_products_inner {
  gap: 0 9.86342944%;
  flex-wrap: nowrap;
  justify-content: center;
}
.present-schedule-target_products {
  gap: 0 7%;
  justify-content: center;
  flex-wrap: nowrap;
  margin-bottom: 4rem;
}
.present-schedule-target_product:nth-of-type(1) {
  width: 52.95902883%;
}
.present-schedule-target_product:nth-of-type(2) {
  width: 47.04097117%;
}
.present-schedule-target_link {
  font-size: 2.8rem;
  color: #eb0606;
  font-weight: bold;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 0 0.3em;
  position: relative;
}
.present-schedule-target_link::after {
  content: '';
  width: 107%;
  position: absolute;
  height: 2px;
  background-color: #eb0606;
  bottom: -0.1em;
  border-radius: 9999px;
}
.present-schedule-target_link_arrow {
  width: 1em;
  filter: invert(10%) sepia(89%) saturate(5090%) hue-rotate(8deg) brightness(122%) contrast(118%);
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .present-schedule_inner {
    width: 95%;
  }
}

/*====================================================
PRESENT PRIZE
====================================================*/
.present-prize {
  padding: 13.5rem 0 15.5rem;
  background-image: url(../img/mv-bg-top-line.png), url(../img/mv-bg-top-line.png), url(../img/mv-bg-texture.jpg);
  background-position: center top, center bottom, center;
  background-repeat: repeat-x, repeat-x, repeat;
  text-align: center;
}
.present-prize_inner {
  max-width: 90rem;
}
.present-prize_ttl {
  margin-bottom: 7rem;
}
.present-prize_list {
  flex-direction: column;
  gap: 9rem;
}
.present-prize_item {
  position: relative;
  z-index: 1;
}
.present-prize_btn {
  position: absolute;
  bottom: 9%;
  z-index: 2;
  width: 33.77777778%;
  right: 11.5%;
}
.present-prize_img {
  transform: scale(1.00888889);
  transform-origin: 0 0;
}

/*====================================================
PRESENT DETAIL
====================================================*/
.present-detail {
  background-color: #e10202;
  text-align: center;
  padding: 16rem 0 21rem;
  color: #333;
  background-image: url(../img/terms_bg01.jpg), url(../img/terms_bg02.jpg);
  background-repeat: no-repeat, no-repeat;
  background-position: left calc(50% - 53rem) bottom, right calc(50% - 51rem) top -1.5rem;
}
.present-detail_list {
  flex-direction: column;
  gap: 6rem 0;
}
.present-detail_item {
  width: 100%;
}
.present-detail_inner {
  max-width: 90rem;
}
.present-detail_ttl {
  max-width: 57rem;
  margin: 0 auto 3rem;
}
.present-detail_txt {
  font-size: 3.6rem;
  color: #fff;
  font-weight: bold;
  margin-bottom: 3rem;
}
.present-detail-box {
  background-color: #fff;
  border-color: #fddb37;
  border-width: 3px;
  border-style: solid;
}
.present-detail-box_content {
  padding: 2.5rem 7.22222222%;
  overflow-y: scroll;
}
.present-detail-box_content-target {
  height: 33.5rem;
}
.present-detail-box_content-rule {
  height: 31.5rem;
}
.present-detail-box-method {
  border-width: 4px;
  border-radius: 10px;
  padding: 3.5rem 7.22222222% 5rem;
}
.present-detail-method-list {
  border-top: 1px solid #666;
  margin-bottom: 4rem;
}
.present-detail-method-list_item {
  border-bottom: 1px solid #666;
  justify-content: flex-start;
  flex-wrap: nowrap;
  padding: 1.95rem 0;
  gap: 1rem;
}
.present-detail-method-list_txt {
  font-size: 2.2rem;
  text-align: left;
  line-height: 1.63636364;
}
.present-detail-method-list_num {
  width: 3.9rem;
}
.present-detail-method-note {
  text-align: left;
  margin-top: 3rem;
}
.present-detail-method-note_item {
  font-size: 1.5rem;
  text-indent: -1em;
  padding-left: 1em;
}
.present-detail-method_btn {
  font-size: 2.3rem;
  background-color: #e60012;
  color: #fff;
  padding: 0.5em 2.5em;
  margin-top: 3rem;
  display: inline-block;
  border-radius: 1rem;
  position: relative;
}
.present-detail-method_btn::after {
  position: absolute;
  content: '';
  background-image: url(../img/arrow-right.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 3rem;
  height: 3rem;
  filter: invert(92%) sepia(91%) saturate(29%) hue-rotate(197deg) brightness(108%) contrast(100%);
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
}
.present-detail_txt-note {
  font-size: 2.4rem;
  display: block;
  margin-top: -0.3em;
  margin-bottom: -0.3em;
}
.present-detail-box_ttl {
  font-size: 3rem;
  color: #000;
  font-weight: bold;
  background-color: #fddb37;
  padding: 0.3em 0;
}
.present-detail-box_content-ttl {
  margin-bottom: 1rem;
}
.present-detail_notes {
  margin-top: 2rem;
}
.present-detail_note {
  font-size: 1.5rem;
  color: #fff;
}
.target-table {
  width: 100%;
}
.target-table_th,
.target-table_td {
  border: 2px solid #fff;
  font-size: 1.8rem;
}
.target-table_th {
  font-weight: normal;
  background-color: #c6e259;
  padding: 0.3em 0;
}
.target-table_th-product {
  width: 65.5%;
}
.target-table_th-quantity {
  width: 17.25%;
}
.target-table_th-stamp {
  width: 17.25%;
}
.target-table_td {
  background-color: #fbf6dc;
  vertical-align: middle;
  padding: 0.45em 0;
}
.target-table_td-product-name {
  text-align: left;
  padding-left: 1.2em;
  padding-right: 1.2em;
}
.present-detail-box_content-txt-rule {
  font-size: 1.6rem;
  line-height: 1.625;
  text-align: left;
}
.present-rule {
  margin-top: 2.5rem;
}
.present-rule_term {
  background-color: #e70012;
  color: #fff;
  font-size: 1.8rem;
  padding: 0.35em 0;
  border-radius: 0.5rem;
}
.present-rule_desc {
  font-size: 1.8rem;
  text-align: left;
  padding: 1em 0;
}
.present-rule_desc + .present-rule_term {
  margin-top: 1.5em;
}
.present-rule_link {
  text-decoration: underline;
}

/*====================================================
サッポロポテト思い出募集キャンペーン START
====================================================*/
/* campaign */
.archive {
  display: none;
}
.campaign {
  background-image: url(../img/campaign_bg-pkgs.png), url(../img/bg-bottom-white.png), url(../img/bg-texture.jpg);
  padding: 8.3rem 0 27rem;
  background-repeat: repeat-x, repeat-x, repeat;
  background-position: left calc(50% + 2rem) bottom 2rem, center bottom, left calc(50% - 45rem) top 19rem, right calc(50% - 45.5rem) top 19rem;
}
.campaign-first {
  background-image: url(../img/campaign_bg-pkgs.png), url(../img/bg-bottom-white.png), url(../img/blue-bg.png), url(../img/campaign_ttl-bg01.jpg), url(../img/campaign_ttl-bg02.jpg), url(../img/bg-texture.jpg);
  padding: 31.3rem 0 5rem;
  background-repeat: repeat-x, repeat-x, repeat-x, no-repeat, no-repeat, repeat;
  background-position: left calc(50% + 2rem) top 2rem, center top, center top, left calc(50% - 45rem) top 42rem, right calc(50% - 45.5rem) top 41.5rem;
  position: relative;
  overflow: hidden;
}
.campaign-first::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 1%;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: blue;
}
.campaign-first .fin_note {
  color: #e60012;
  font-size: 2.8rem;
  text-align: center;
  font-weight: bold;
  margin-bottom: 6rem;
}
.toggle .btn {
  margin-right: auto;
  margin-left: auto;
  cursor: pointer;
  width: 44.9rem;
}
.toggle_close {
  display: none;
}
.campaign-first .campaign__intro {
  margin-bottom: 5rem;
}
.campaign-first .toggle {
  text-align: center;
}
.campaign__inner {
  max-width: 91.2rem;
}
.campaign__ttl {
  text-align: center;
  margin-bottom: 4.5rem;
}
.campaign__intro {
  text-align: center;
  font-size: 2.2rem;
  line-height: 1.90909091;
  margin-bottom: 11rem;
  font-weight: bold;
}
/* prizes */
.prizes {
  align-items: stretch;
}
.prizes__ttl {
  position: absolute;
  top: -5.4rem;
  left: 50%;
  transform: translateX(-50%);
}
.prizes__ttl.--memory {
  width: 39.9rem;
}
.prizes__ttl.--thankyou {
  width: 40.2rem;
}
.prizes__content-area {
  width: 46%;
  border-width: 0.4rem;
  border-style: solid;
  border-radius: 1rem;
  background-color: #fff;
  position: relative;
  padding: 0 2% 4.7rem;
  display: flex;
  flex-direction: column;
  background-repeat: repeat-x;
  background-position: center bottom;
}
.prizes__content-area.--memory {
  border-color: #00983e;
  padding-top: 5rem;
  background-image: url(../img/prizes_content-area-bg-line-bottom-memory.png);
}
.prizes__content-area.--thankyou {
  border-color: #dc5601;
  padding-top: 8rem;
  background-image: url(../img/prizes_content-area-bg-line-bottom-thankyou.png);
}
.prizes__img.--memory {
  margin-bottom: 1.7rem;
}
.prizes__img.--thankyou {
  margin-bottom: 4rem;
}
.prizes__txt {
  text-align: center;
  font-size: 2rem;
  line-height: 1.7;
  font-weight: bold;
}
.prizes__txt-em {
  background: linear-gradient(#faf32e 0, #faf32e 100%);
  padding: 0.3em 0.3em;
  color: #d60000;
}
.prizes__notice {
  text-align: center;
  color: #d60000;
  font-size: 1.7rem;
  font-weight: bold;
}
/* guide */
.guide {
  background-image: url(../img/guide_bg-pkgs.png), url(../img/bg-bottom-white.png), url(../img/bg-texture.jpg);
  padding: 8.8rem 0 28.2rem;
  background-repeat: repeat-x, repeat-x, repeat;
  background-position: left calc(50% + -0.7rem) bottom 2rem, center bottom;
}
.guide__inner {
  max-width: 91.2rem;
}
.guide__ttl {
  text-align: center;
  margin-bottom: 7rem;
}
.steps {
  align-items: stretch;
  margin-bottom: 8rem;
}
.step {
  width: 46%;
  border-radius: 1rem;
  background-color: #fff;
  position: relative;
  display: flex;
  flex-direction: column;
  background-repeat: repeat-x;
  background-position: center bottom;
  border: 0.4rem solid #e60012;
}
.step__ttl {
  text-align: center;
  background-color: #e60012;
  position: relative;
  height: 6.6rem;
}
.step__ttl-img {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 16.3rem;
  top: -0.6rem;
}
.step__content {
  padding: 3.9rem 10% 3.7rem;
}
.step__img.--one {
  margin-bottom: 2.5rem;
}
.step__img.--two {
  margin-bottom: 1.5rem;
}
.step__txt {
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.66666667;
  font-weight: bold;
}
.step__txt.--one {
  margin-bottom: 3.5rem;
}
.step__txt.--two {
  margin-bottom: 1.2rem;
}
.step__hashtag-list {
  border: 0.2rem solid #00a0e9;
  border-radius: 1rem;
  font-size: 1.8rem;
  line-height: 1.55555556;
  width: 32rem;
  margin: 0 auto;
  padding: 0.7rem 0 0.7rem;
  justify-content: center;
}
.step__btn {
  display: block;
  width: 31.5rem;
  margin: 0 auto;
}
.step__txt-em {
  color: #e60012;
}
.guide__btn {
  display: block;
  width: 48.5rem;
  margin: 0 auto;
}
.guide__notice {
  text-align: center;
  font-size: 2rem;
  line-height: 1.7;
  margin-top: 3.7rem;
}
/* term */
.term {
  background-image: url(../img/term_bg-pkgs.png), url(../img/bg-bottom-white.png), url(../img/bg-texture.jpg);
  padding: 8.8rem 0 29rem;
  background-repeat: repeat-x, repeat-x, repeat;
  background-position: left calc(50% + -0.7rem) bottom 2rem, center bottom;
}
.term__ttl {
  text-align: center;
  margin-bottom: 3.4rem;
}
.term__txt {
  text-align: center;
}
/* terms */
.terms {
  background-image: url(../img/terms_bg-top.png), url(../img/terms_bg01.jpg), url(../img/terms_bg02.jpg);
  background-repeat: repeat-x, no-repeat, no-repeat;
  background-position: center top -0.1rem, left calc(50% - 53rem) bottom, right calc(50% - 51rem) top -1.5rem;
  margin-top: -0.6rem;
  background-color: #e10202;
  padding: 9.7rem 0 14.3rem;
}
.terms__ttl {
  text-align: center;
  margin-bottom: 5.5rem;
}
.terms__list {
  background-color: #fff;
  border-radius: 1rem;
  padding: 6rem 5% 5rem;
}
.terms__list-item + .terms__list-item {
  margin-top: 5rem;
}
.terms__list-item-ttl {
  text-align: center;
  margin-bottom: 3.2rem;
  background-color: #e10202;
  color: #fff;
  font-size: 2.2rem;
  border-radius: 1rem;
  padding: 1rem 0;
  font-weight: bold;
}
.terms__list-item-txt-list .--indent {
  padding-left: 1em;
}
.terms__list-item-txt-list-item {
  font-size: 1.6rem;
  line-height: 2;
  font-weight: normal;
}
.terms__list-item-txt-list-item.--ttl {
  text-align: center;
  font-size: 2.4rem;
  margin-bottom: 1em;
  color: #e60012;
  font-weight: bold;
}
/*====================================================
サッポロポテト思い出募集キャンペーン END
====================================================*/

/*====================================================
サッポロポテト大感謝祭 START
====================================================*/
.thanks {
  background: url(../img/thanks_bg.jpg) center 0 no-repeat #009ddd;
  padding-bottom: 9em;
  padding-top: 5rem;
}
.thanks .inner {
  padding: 0;
}
.thanks .inner h2 {
  text-align: center;
}
.thanks .thanks_cp {
  background-color: #fff;
  border-radius: 20px;
  margin-top: 1.2em;
  padding-bottom: 8rem;
}
.thanks .thanks_cp .red {
  color: #e10202;
  font-weight: bold;
}
.thanks .thanks_cp h3 {
  margin: 2rem auto 3rem;
  text-align: center;
}
.thanks .flag {
  text-align: center;
}
.thanks_report {
  width: 86%;
  margin: 0 auto;
  background-color: #fff6e1;
  border-radius: 15px;
  padding-bottom: 5rem;
}
.thanks_report .content_inner {
  padding: 0 6rem;
  margin-bottom: 8rem;
}
.thanks_report .ttl {
  background-color: #e95412;
  width: 100%;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  text-align: center;
  height: 7.5rem;
  position: relative;
  margin-bottom: 4rem;
}
.thanks_report .ttl img {
  position: absolute;
  top: -7.5rem;
  left: 50%;
  transform: translateX(-50%);
}
.thanks_report .detail {
  background-color: #fff;
  padding: 4.05405405% 10.13513514%;
  position: relative;
  font-size: 1.8rem;
}
.thanks_report .detail img {
  position: absolute;
  right: 3.37837838%;
  bottom: -6rem;
}
.thanks_report .detail dl {
  display: flex;
  align-items: center;
}
.thanks_report .detail dl {
  margin-bottom: 2rem;
}
.thanks_report .detail dl:last-of-type {
  margin-bottom: 0rem;
}
.thanks_report .detail dt {
  background-color: #e95412;
  color: #fff;
  font-weight: bold;
  text-align: center;
  width: 8.5rem;
  padding: 1rem 0;
  margin-right: 3.5rem;
  border-radius: 25px;
  line-height: 1;
}
.thanks_report .detail dd {
  font-weight: bold;
}
.thanks_report .detail dd .small {
  font-size: 1.4rem;
  font-weight: normal;
}
.thanks_intro-txt {
  text-align: center;
  font-weight: bold;
  font-size: 2.2rem;
  line-height: 1.90909091;
  margin-bottom: 10rem;
}
.thanks_intro-txt-em {
  color: #e10202;
}
.event-item + .event-item {
  margin-top: 9rem;
}
.event-item_ttl {
  text-align: center;
  margin-bottom: 0.4rem;
  width: 100%;
  display: block;
}
.event-item_ttl-img.--mini-game {
  max-width: 33rem;
  display: inline-block;
}
.event-item_ttl-img.--special-bbq {
  max-width: 43rem;
}
.event-item_intro-txt {
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2;
}
.event-item_inner {
  padding: 0 2rem;
  position: relative;
}
.mini-game_list {
  grid-template-columns: repeat(3, 32.31707317%);
  justify-content: space-between;
  gap: 1rem 0;
  background-image: url(../img/mini-game_bg.png);
  background-repeat: no-repeat;
  background-position: right 3% bottom;
  background-size: 26.82926829%;
  position: relative;
  left: 0.4%;
}
.mini-game_item-caption {
  text-align: center;
  font-size: 1.6rem;
  margin-top: 0.25em;
}
.bbq-detail_item {
  background-color: #e9f7f0;
  border-radius: 10px;
  align-items: center;
  justify-content: flex-start;
  gap: 0 0.55555556em;
  padding: 0.55555556em 1.11111111em;
  width: 100%;
  box-shadow: 0.5rem 0.5rem 0 0 rgb(112 116 114 / 16%);
  color: #07913c;
  font-size: 1.8rem;
  flex-wrap: nowrap;
  font-weight: bold;
}
.bbq-list {
  margin-top: 1rem;
}
.bbq-item {
  text-align: center;
}
.bbq-item + .bbq-item {
  margin-top: 8rem;
}
.bbq-detail_list {
  flex-direction: column;
  gap: 2.2rem 0;
  width: 48%;
  margin-top: 2rem;
}
.bbq-detail_item-img {
  width: 7.62214487%;
}
.bbq-detail {
  justify-content: flex-start;
  gap: 0 3%;
}
.bbq-detail_img {
  width: 47.68292683%;
}
.event-detail_list {
  justify-content: center;
  gap: 6%;
}
.bbq-item_ttl {
  margin-bottom: 3.5rem;
  margin-left: auto;
  margin-right: auto;
}
.bbq-item_ttl.--event-thanks {
  max-width: inherit;
  width: 100%;
  left: -2.43902439%;
  position: relative;
  margin-bottom: 1.5rem;
}
.bbq-item_ttl-img.--event-thanks {
  max-width: inherit;
  width: 104.87804878%;
}
.event-detail_item {
  width: 46%;
}
.event-detail_item-img {
  box-shadow: 0.2rem 0.2rem 0 0 rgb(0 0 0 / 15%);
}
.event-thanks_img {
  box-shadow: 0.2rem 0.2rem 0 0 rgb(0 0 0 / 15%);
}
.tw-list {
  grid-template-columns: repeat(2, 40%);
  justify-content: space-between;
  max-width: 84%;
  margin: 0 auto;
  gap: 6rem 0;
  margin-bottom: 14.5rem;
  grid-auto-rows: 48rem;
}
.tw-item {
  overflow-y: scroll;
  overflow-x: hidden;
}
.twitter-tweet {
  margin: 0 !important;
}
/*====================================================
サッポロポテト大感謝祭 END
====================================================*/

/*====================================================
ANCHOR
====================================================*/
.anchor {
  padding: 9.5rem 0;
  background-image: url(../img/mv-bg-top-line.png), url(../img/mv-bg-top-line.png), url(../img/mv-bg-texture.jpg);
  background-position: center top, center bottom, center;
  background-repeat: repeat-x, repeat-x, repeat;
}
.anchor_inner {
  max-width: 124.4rem;
}
.anchor_item {
  width: 45.81993569%;
}
.anchor_list {
  justify-content: space-between;
}

@media screen and (min-width: 1600px) {
  .thanks {
    background: url(../img/thanks_bg.jpg) 0 0 / contain no-repeat #009ddd;
  }
}

@media screen and (min-width: 768px) and (max-width: 1244px) {
  .anchor_inner {
    width: 95%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1000px) {
  /*====================================================
  PKG
  ====================================================*/
  .pkg__tsubuvegi-area {
    padding-right: inherit;
    justify-content: center;
  }
  .pkg__bbq-area {
    padding-left: inherit;
    justify-content: center;
  }
  /*====================================================
  サッポロポテト大感謝祭
  ====================================================*/
  .thanks_report .ttl {
    height: 7.125vw;
  }
  .thanks_report .ttl img {
    top: -7.75vw;
  }
  .thanks_report .detail img {
    width: 12.7vw;
    right: -1.5vw;
    bottom: -2.7vw;
  }
  .thanks_report .detail {
    font-size: 1.71vw;
  }
  .thanks_report .detail dt {
    width: 8.94736842vw;
    margin-right: 2.85vw;
    padding: 0.95vw;
  }
  .bbq-detail_item {
    font-size: 1.71vw;
  }
  /*====================================================
  サッポロポテト思い出募集キャンペーン
  ====================================================*/
  .prizes__ttl {
    width: 39vw !important;
    top: -5.4vw;
  }
  .prizes__content-area.--memory {
    padding-top: 5vw;
  }
  .prizes__content-area.--thankyou {
    padding-top: 8vw;
  }
  .prizes__txt {
    font-size: 2vw;
  }
  .prizes__notice {
    font-size: 1.7vw;
  }
  .step__txt {
    font-size: 1.8vw;
  }
  .step__btn {
    width: 31.5vw;
  }
  .step__hashtag-list {
    width: 32vw;
    font-size: 1.8vw;
  }
}

@media screen and (max-width: 767px) {
  /*====================================================
  COMMON
  ====================================================*/
  main img {
    width: 100%;
    max-width: inherit;
  }
  .inner {
    width: 90%;
    padding: 0;
  }
  .shadow {
    box-shadow: 0.66666667vw 0.66666667vw 0 0 rgb(0 0 0 / 16%);
  }

  /*====================================================
  MV
  ====================================================*/
  .mv {
    background-image: url(../img/mv-bg-top-line.png), url(../img/mv-bg-bottom-line.png), url(../img/mv-bg-pkgs-sp.png), url(../img/mv-bg-texture.jpg);
    background-position: center top, center bottom, center;
    background-repeat: repeat-x, repeat-x, no-repeat, repeat;
    background-size: 24.66666667vw, 21.06666667vw, 90.66666667vw, 40vw;
    height: 185.8vw;
  }
  .mv__inner {
    width: 90%;
  }

  /*====================================================
  PKG
  ====================================================*/
  .pkg__ttl-area {
    background-image: url(../img/pkg-ttl-bg-sp.jpg);
    height: 45.2vw;
  }
  .pkg__ttl {
    width: 48vw;
  }
  .pkg__content-area {
    display: block;
    height: auto;
  }
  .pkg__tsubuvegi-area,
  .pkg__bbq-area {
    width: 100%;
    align-items: flex-start;
    justify-content: center;
    padding: inherit;
    background-repeat: no-repeat;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: inherit;
    padding-top: 15vw;
  }
  .pkg__tsubuvegi-area {
    background-image: url(../img/pkg_tsubuvegi-area-bg-sp.jpg);
    height: 106.8vw;
  }
  .pkg__bbq-area {
    background-image: url(../img/pkg_bbq-area-bg-sp.jpg);
    height: 106.53333333vw;
  }
  .pkg__img {
    width: 59.33333333vw;
  }

  /*====================================================
  PRESENT SCHEDULE
  ====================================================*/
  .present-schedule {
    padding: 27.5vw 0 14.5vw;
    background-position: center top;
    background-size: contain;
    background-image: url(../img/present-schedule_bg-sp.jpg);
  }
  .present-schedule_inner {
    width: 92%;
  }
  .present-schedule_txt {
    font-size: 4vw;
    line-height: 2;
    margin-bottom: 8.5vw;
  }
  .present-schedule_txt::before {
    background-image: url(../img/present-schedule_txt_bg-sp.png);
    width: 92.26666667vw;
    height: 57.2vw;
    top: -18vw;
    background-size: cover;
    left: 50%;
  }
  .present-schedule_catch {
    width: 85vw;
    margin-bottom: 11vw;
  }
  .present-schedule_ttl {
    width: 82vw;
    margin-bottom: 10vw;
  }
  .present-schedule-target_ttl {
    padding: 2.5vw 8vw;
    border-radius: 1.33333333vw 1.33333333vw 0 0;
    margin-bottom: 6vw;
  }
  .present-schedule_term {
    width: 83.33333333vw;
    margin: 0 auto 7vw;
  }
  .present-schedule-target_products_inner {
    flex-wrap: wrap;
    gap: 5.5vw;
    align-items: flex-end;
  }
  .present-schedule-target_product:nth-child(1) {
    max-width: 46%;
  }
  .present-schedule-target_product:nth-child(2) {
    max-width: 40.86%;
  }
  .present-schedule-target_link {
    font-size: 4.26666667vw;
  }
  .present-schedule-target_link::after {
    bottom: 0;
  }
  .present-schedule-target_products {
    margin-bottom: 4vw;
  }
  .present-schedule-target {
    border-radius: 1.33333333vw;
    padding-bottom: 5vw;
  }

  /*====================================================
  PRESENT PRIZE
  ====================================================*/
  .present-prize {
    background-size: auto 3.73333333vw, auto 3.73333333vw, 66.66666667vw;
    padding: 14vw 0 16.5vw;
  }
  .present-prize_inner {
    width: 92%;
  }
  .present-prize_ttl {
    width: 82vw;
    margin: 0 auto 8vw;
  }
  .present-prize_list {
    gap: 8vw;
  }

  /*====================================================
  PRESENT DETAIL
  ====================================================*/
  .present-detail {
    padding: 16vw 0 19.27vw;
    background-image: url(../img/terms_bg01-sp.jpg), url(../img/terms_bg02-sp.jpg);
    background-repeat: no-repeat, no-repeat;
    background-position: left 0 bottom, right 0 top -6vw;
    background-size: 47.46666667vw, 45.6vw;
  }
  .present-detail_inner {
    width: 92%;
  }
  .present-detail_ttl {
    width: 82vw;
    margin-bottom: 8vw;
  }
  .present-detail_txt {
    font-size: 6.13333333vw;
    margin-bottom: 4.5vw;
  }
  .present-detail-box-method {
    border-radius: 1.33333333vw;
    border-width: 0.53333333vw;
    padding: 6vw 3.5vw 10vw;
  }
  .present-detail-method-list_num {
    width: 7.2vw;
  }
  .present-detail-method-list_txt {
    font-size: 4.26666667vw;
  }
  .present-detail_txt-target,
  .present-detail_txt-rule {
    font-size: 6.4vw;
    margin-top: -3vw;
    margin-bottom: 7vw;
  }
  .present-detail_txt-note {
    font-size: 4.8vw;
    margin-top: 0;
  }
  .present-detail-box_content {
    padding: 6vw 3.5vw;
  }
  .present-detail-box_content-rule {
    height: 94vw;
  }
  .present-detail-method-list {
    margin-bottom: 9vw;
  }
  .present-detail-method-list_item {
    padding: 3.8vw 0;
  }
  .present-detail-method-note {
    margin-top: 7vw;
    display: flex;
    flex-direction: column;
    gap: 2.7vw 0;
  }
  .present-detail-method-note_item {
    font-size: 3.2vw;
  }
  .present-detail-method_btn {
    font-size: 4vw;
    margin-top: 7vw;
    border-radius: 1.33333333vw;
    padding: 0.5em 0;
    width: 100%;
  }
  .present-detail-method_btn::after {
    width: 4.5vw;
    height: 4.5vw;
    right: 2vw;
  }
  .present-detail_list {
    gap: 11vw 0;
  }
  .present-detail-box_ttl {
    font-size: 4.8vw;
  }
  .present-detail-box_content-ttl {
    font-size: 3.2vw;
    margin-bottom: 6.5vw;
  }
  .target-table_th {
    font-size: 2.66666667vw;
    padding: 0.5em 0;
  }
  .target-table_th-product {
    width: 56%;
  }
  .target-table_th-quantity,
  .target-table_th-stamp {
    width: 22%;
  }
  .target-table_td {
    font-size: 4.26666667vw;
    padding: 0.4em 0;
  }
  .target-table_td-product-name {
    font-size: 4.26666667vw;
    padding: 5vw 2vw;
    line-height: 1.6875;
  }
  .present-detail_notes {
    margin-top: 5vw;
  }
  .present-detail_note {
    font-size: 3.2vw;
    line-height: 1.5;
    text-align: left;
    padding-left: 1em;
    text-indent: -1em;
  }
  .present-detail-box_content-txt-rule {
    font-size: 3.2vw;
    line-height: 2;
    margin-top: -2vw;
  }
  .present-rule_term {
    font-size: 3.73333333vw;
  }
  .present-rule_desc {
    font-size: 3.73333333vw;
  }

  /*====================================================
  サッポロポテト思い出募集キャンペーン START
  ====================================================*/
  /* campaign */
  .campaign {
    padding: 12vw 0 10vw;
    background-image: url(../img/campaign_ttl-bg01.jpg), url(../img/campaign_ttl-bg02.jpg), url(../img/bg-texture.jpg);
    background-repeat: no-repeat, no-repeat, repeat;
    background-position: left 32.6vw top 9.8vw, right 33vw top 9.4vw;
    background-size: 14.6vw, 15.1vw, 66.66666667vw;
  }
  .campaign-first {
    background-image: url(../img/guide_bg-pkgs-sp.png), url(../img/bg-bottom-white-sp.png), url(../img/blue-bg.png), url(../img/campaign_ttl-bg01.jpg), url(../img/campaign_ttl-bg02.jpg), url(../img/bg-texture.jpg);
    background-repeat: no-repeat, no-repeat, repeat-x, no-repeat, no-repeat, repeat;
    background-position: center top 1.75vw, center top, center top, left 26.6vw top 59.8vw, right 29.5vw top 60vw;
    background-size: 95.33333333vw, 100%, 0.13333333vw 1.33333333vw, 18.6vw, 19vw, 66.66666667vw;
    padding-top: 78vw;
    padding-bottom: 16vw;
    margin-top: -2vw;
  }
  .campaign__ttl {
    width: 93.33333333vw;
    margin: 0 auto 6vw;
  }
  .campaign__intro {
    font-size: 4vw;
    line-height: 1.93333333;
    margin-bottom: 19vw;
  }
  /* prizes */
  .prizes__content-area {
    width: 100%;
    border-radius: 1.33333333vw;
    border-width: 0.53333333vw;
    padding: 0 5vw 9vw;
    background-size: auto 3.73333333vw;
  }
  .prizes__content-area + .prizes__content-area {
    margin-top: 20vw;
  }
  .prizes__content-area.--memory {
    padding-top: 11vw;
  }
  .prizes__content-area.--thankyou {
    padding-top: 18.5vw;
  }
  .prizes__ttl {
    top: -11vw;
  }
  .prizes__ttl.--memory {
    width: 84.53333333vw;
  }
  .prizes__ttl.--thankyou {
    width: 84.53333333vw;
  }
  .prizes__img.--memory {
    margin-bottom: 3.5vw;
  }
  .prizes__img.--thankyou {
    margin-bottom: 7vw;
  }
  .prizes__txt {
    font-size: 4.26666667vw;
    line-height: 1.6875;
  }
  .prizes__notice {
    font-size: 3.6vw;
  }
  /* guide */
  .guide {
    padding: 10vw 0 57vw;
    background-image: url(../img/guide_bg-pkgs-sp.png), url(../img/bg-bottom-white-sp.png), url(../img/bg-texture.jpg);
    background-repeat: no-repeat, no-repeat, repeat;
    background-position: center bottom 2vw, center bottom, left 32.6vw top 9.8vw, right 33vw top 9.4vw;
    background-size: 94vw, 100%, 66.66666667vw;
  }
  .guide__inner {
    width: 90%;
  }
  .guide__ttl {
    width: 74.8vw;
    margin: 0 auto 14.5vw;
  }
  .steps {
    display: block;
    margin-bottom: 11vw;
  }
  .step + .step {
    margin-top: 9vw;
  }
  .step {
    width: 100%;
    border-radius: 1.33333333vw;
    border: 0.53333333vw solid #e60012;
  }
  .step__content {
    padding: 9vw 0 9.5vw;
  }
  .step__ttl {
    height: 14.5vw;
  }
  .step__ttl-img {
    width: 34.8vw;
    top: -1vw;
  }
  .step__txt {
    font-size: 4vw;
    line-height: 1.6;
    white-space: nowrap;
  }
  .step__img {
    width: 69.93333333vw;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
  .step__img.--one {
    margin-bottom: 4.5vw;
  }
  .step__img.--two {
    margin-bottom: 2.5vw;
  }
  .step__txt.--one {
    margin-bottom: 8vw;
  }
  .step__btn {
    width: 68.13333333vw;
  }
  .step__hashtag-list {
    width: 68vw;
    border-radius: 1.33333333vw;
    font-size: 4.26666667vw;
    padding: 0.8vw 0;
  }
  .guide__btn {
    width: 70vw;
  }
  .guide__notice {
    font-size: 3.73333333vw;
    line-height: 1.5;
    margin-top: 5vw;
    text-align: left;
    text-indent: -1em;
    padding-left: 1em;
  }
  /* term */
  .term {
    padding: 10vw 0 58vw;
    background-image: url(../img/term_bg-pkgs-sp.png), url(../img/bg-bottom-white-sp.png), url(../img/bg-texture.jpg);
    background-repeat: no-repeat, no-repeat, repeat;
    background-position: center bottom 2.2vw, center bottom, left 32.6vw top 9.8vw, right 33vw top 9.4vw;
    background-size: 95.33333333vw, 100%, 66.66666667vw;
  }
  .term__ttl {
    width: 74vw;
    margin: 0 auto 8vw;
  }
  .term__txt {
    width: 68.13333333vw;
    margin: 0 auto;
  }
  /* terms */
  .terms {
    background-image: url(../img/terms_bg-top.png), url(../img/terms_bg01-sp.jpg), url(../img/terms_bg02-sp.jpg);
    background-repeat: repeat-x, no-repeat, no-repeat;
    background-position: center top -0.1vw, left 0 bottom 0, right 0 top -3vw;
    margin-top: -1.5vw;
    background-color: #e10202;
    padding: 25vw 0 20vw;
    background-size: 213.33333333vw, 47.46666667vw, 45.6vw;
  }
  .terms__inner {
    width: 90%;
  }
  .terms__ttl {
    width: 32vw;
    margin: 0 auto 7.5vw;
  }
  .terms__list {
    padding: 8vw 6vw;
    border-radius: 1.33333333vw;
  }
  .terms__list-item + .terms__list-item {
    margin-top: 8.5vw;
  }
  .terms__list-item-ttl {
    font-size: 4vw;
    padding: 0.8vw 0;
    border-radius: 1.33333333vw;
    margin-bottom: 3.5vw;
  }
  .terms__list-item-txt-list-item {
    font-size: 3.2vw;
    line-height: 2.16666667;
  }
  .terms__list-item-txt-list-item.--ttl {
    font-size: 4vw;
    margin-bottom: 0.5em;
    line-height: 2;
  }
  /* campaign */
  .campaign-first .fin_note {
    font-size: 4.26vw;
    margin-bottom: 9vw;
    line-height: 1.74992175;
  }
  .campaign-first .campaign__intro {
    margin-bottom: 10vw;
  }
  .tw-list {
    grid-template-columns: 100%;
    grid-auto-rows: auto;
    gap: 8vw 0;
    margin-bottom: 12vw;
    max-width: 550px;
  }
  .toggle .btn {
    width: 89.33333333vw;
  }
  .tw-item {
    max-height: 128vw;
  }
  /*====================================================
  サッポロポテト思い出募集キャンペーン END
  ====================================================*/

  /*====================================================
  サッポロポテト大感謝祭 START
  ====================================================*/
  /* thanks */
  .thanks {
    background: url(../img/thanks_bg_sp.jpg) 0 0 no-repeat #009ddd;
    padding-bottom: 22.8vw;
    background-size: contain;
    padding-top: 5vw;
  }
  .thanks .thanks_cp {
    border-radius: 10px;
    padding-bottom: 5rem;
    margin-top: 1.5em;
  }
  .thanks .flag {
    width: 95%;
    margin-right: auto;
    margin-left: auto;
  }
  .thanks .thanks_cp h3 {
    margin: 5vw auto;
    width: 100%;
  }
  .thanks .thanks_cp .cp_end {
    font-size: 1.7rem;
    padding: 5% 2% 0 2%;
  }
  .thanks_report {
    width: 90%;
    padding-bottom: 11vw;
    border-radius: 1.33333333vw;
  }
  .thanks_report .ttl {
    border-top-left-radius: 1.33333333vw;
    border-top-right-radius: 1.33333333vw;
    height: 13.5vw;
    margin-bottom: 4vw;
  }
  .thanks_report .ttl img {
    top: -12vw;
    left: 50%;
    width: 91%;
    margin-right: auto;
    margin-left: auto;
  }
  .thanks_report .content_inner {
    padding: 0 5vw;
    margin-bottom: 12vw;
  }
  .thanks_report .detail img {
    width: 22%;
    bottom: -10vw;
    right: -2vw;
  }
  .thanks_report .detail {
    padding: 2.5vw 3vw 5.5vw;
  }
  .thanks_report .detail dt {
    font-size: inherit;
    width: auto;
    margin-right: 0;
    padding: 0;
    margin-top: 0;
    background-color: inherit;
  }
  .thanks_report .detail .detail_dt-txt {
    font-size: 2.93333333vw;
    padding: 0.4em 1em;
    background-color: #e95412;
    border-radius: 9999px;
    white-space: nowrap;
    display: block;
  }
  .thanks_report .detail dd {
    font-size: 2.93333333vw;
    padding-top: 0.5vw;
  }
  .thanks_report .detail dl {
    align-items: flex-start;
    justify-content: flex-start;
    gap: 3.75vw;
    margin-bottom: 3.5vw;
  }
  .thanks .inner {
    width: 90%;
  }
  .thanks .inner h2 {
    width: 89.5vw;
    margin: 0 auto;
  }
  .thanks .thanks_cp {
    margin-top: 4vw;
    border-radius: 2.66666667vw;
  }
  .thanks_intro-txt {
    font-size: 4vw;
    line-height: 1.93333333;
    margin-bottom: 21vw;
  }
  .event-item + .event-item {
    margin-top: 16vw;
  }
  .event-item_inner {
    padding: 0 2vw;
  }
  .event-item_ttl {
    margin-bottom: 3.5vw;
  }
  .event-item_ttl-img.--mini-game {
    width: 55vw;
  }
  .event-item_intro-txt {
    font-size: 3.2vw;
    line-height: 1.75;
    margin-bottom: 4vw;
  }
  .mini-game_list {
    grid-template-columns: repeat(2, 49%);
    gap: 3.5vw 0;
    background-size: 31vw;
    background-position: right 2vw bottom;
  }
  .mini-game_item-caption {
    font-size: 2.13333333vw;
    margin-top: 0.3em;
  }
  .bbq-detail {
    flex-direction: column;
  }
  .bbq-detail_list {
    width: 92%;
    margin: 1vw auto 7vw;
    gap: 2.3vw;
  }
  .bbq-detail_item {
    padding: 2.5vw 2vw;
    box-shadow: 0.66666667vw 0.66666667vw 0 0 rgb(112 116 114 / 16%);
  }
  .bbq-detail_item-txt {
    font-size: 3.2vw;
  }
  .bbq-detail_item-img {
    width: 5.2vw;
  }
  .bbq-detail_img {
    width: 91%;
    margin: 0 auto;
  }
  .bbq-item + .bbq-item {
    margin-top: 8vw;
  }
  .bbq-item_ttl {
    margin-bottom: 5vw;
  }
  .bbq-item_ttl-img.--event-detail {
    width: 105.51713991%;
    position: relative;
    left: -2.75856996%;
  }
  .event-detail_list {
    flex-direction: column;
    width: 83%;
    margin: 0 auto;
    gap: 6vw 0;
  }
  .event-detail_item {
    width: 100%;
  }
  .event-detail_item-img {
    box-shadow: 0.26666667vw 0.26666667vw 0 0 rgb(0 0 0 / 15%);
  }
  .bbq-item_ttl.--event-thanks {
    max-width: 100%;
    left: inherit;
    width: 95.5%;
    margin-left: auto;
    margin-right: auto;
  }
  .event-thanks_img {
    box-shadow: 0.26666667vw 0.26666667vw 0 0 rgb(0 0 0 / 15%);
    width: 93%;
  }

  /*====================================================
  サッポロポテト大感謝祭 END
  ====================================================*/

  /*====================================================
  ANCHOR
  ====================================================*/
  .anchor {
    background-size: auto 3.73333333vw, auto 3.73333333vw, 66.66666667vw;
    padding: 19.5vw 0;
  }
  .anchor_list {
    flex-direction: column;
    gap: 8vw;
  }
  .anchor_item {
    width: 100%;
  }
  .anchor_link {
    display: block;
  }
  .anchor_inner {
    width: 76%;
  }
}

/*====================================================
END-CAMPAIGN
====================================================*/
.end-campaign {
  background-image: url(../img/mv-bg-texture.jpg);
  text-align: center;
  font-size: 2.8rem;
  padding: 3.3em 0;
}
.end-campaign_txt {
  color: #e60012;
  font-weight: bold;
  line-height: 1.643;
  margin-bottom: 2em;
}
.end-campaign_toggle .btn {
  margin-right: auto;
  margin-left: auto;
  cursor: pointer;
  width: 44.9rem;
}
@media screen and (max-width: 767px) {
  .end-campaign {
    font-size: 4.26vw;

  }
  .end-campaign_txt {
    margin-bottom: 9vw;
    line-height: 1.74992175;
  }
  .end-campaign_toggle .btn {
    width: 89.33vw;
  }
}

/*====================================================
PACKAGE-LINE
====================================================*/
.package-line {
  height: 20rem;
  background-image: url(../img/term_bg-pkgs.png), url(../img/bg-bottom-white.png);
  background-repeat: repeat-x, repeat-x;
  background-position: left calc(50% + -0.7rem) bottom 2rem, center bottom;
  margin: -0.25em 0 0;
  position: relative;
}
.package-line::after {
  content: '';
  position: absolute;
  height: 50%;
  width: 100%;
  bottom: 0;
  background-color: #e10202;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .package-line {
    height: 47.73333333vw;
    background-image: url(../img/guide_bg-pkgs-sp.png), url(../img/bg-bottom-white-sp.png);
    background-repeat: no-repeat, no-repeat;
    background-position: center bottom 2vw, center bottom;
    background-size: 94vw, 100%;
  }
}
