@charset "UTF-8";

* {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
html{
  font-size: 62.5%;
}
#tokisen {
  height: 100%;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 400;
  overflow: hidden;
}

#tokisen .pc {
  display: block;
}

#tokisen .sp {
  display: none;
}

#tokisen img{
  width: 100%;
}
#tokisen a{
  cursor: pointer;
}
#tokisen a:hover{
  opacity: 0.7;
}

/* attention */
#tokisen .attention_box {
  font-family: YuGothic,"Yu Gothic Medium","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  font-weight: 200;
  font-size: 1.2rem;
  line-height: 1.5;
  width: 100%;
  max-width: 1150px;
  margin: 0 auto;
  color: #000;
  background-color: #fff;
  padding: 1vw;
  border-bottom: 1px solid #f8f8f8;
}
#tokisen .attention_box a {
  color: #000;
  text-decoration: underline;
}

/* フェードイン */
#tokisen .fadein {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 1000ms;
}
#tokisen .fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}

/* 改行しない */
#tokisen .nowrap {
  white-space: nowrap;
}

/* mv */
#tokisen .mv {
  width: 100%;
  background-color: white;
  line-height: 0;
  border-bottom: 20px solid #231815;
}
#tokisen .mv_txt {
  width: 34.5%;
  top: 7.5%;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 2;
  padding-left: 5%;
}
#tokisen .mv_ttl {
  width: 58%;
  top: 8%;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 1;
}
#tokisen .mv_hand_01 {
  width: 23%;
  top: 13%;
  right: 0;
  margin: 0 auto;
  z-index: 3;
}
#tokisen .mv_hand_02 {
  width: 15.5%;
  bottom: 5%;
  right: 18.3%;
  margin: 0 auto;
  z-index: 3;
}

/* アニメーション・フェードイン */
#tokisen .js_mv_ttl {
  transition: 0.5s;
  transform: scale(3);
  opacity: 0;
}
#tokisen .js_mv_ttl._active {
  transform: scale(1);
  opacity: 1;
}
#tokisen .js_mv_illust_R {
  transition: 0.8s;
  transform: translate(100%, 100%);
  opacity: 0;
}
#tokisen .js_mv_illust_R._active {
  transform: translate(0);
  opacity: 1;
}
/* mv_ttlのスケーリングアニメーション */
@keyframes pulseScale {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}
#tokisen .mv_ttl.animate-scale {
  animation: pulseScale 1.5s ease-in-out infinite;
}
/* mv_hand_01の上下に揺れるアニメーション */
@keyframes floatUpDown {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
}
#tokisen .mv_hand_01.animate-float {
  animation: floatUpDown 1.5s ease-in-out infinite;
}
@media screen and (max-width:768px) {
  @keyframes floatUpDown {
    0%, 100% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-8px);
    }
  }  
}

/* キャンペーン概要はこちら */
#tokisen #cp_overview {
  width: 13%;
  max-width: 180px;
  position: fixed;
  bottom: 20px;
  right: 25px;
  z-index: 10;
}
#tokisen #cp_overview a {
  width: fit-content;
  display: block;
  text-align: center;
  text-decoration: none;
}
#tokisen #cp_overview a:hover {
  text-decoration: none;
}

/* 拡大縮小アニメ */
@keyframes pulseScale {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.035);
  }
}
#tokisen .anime.animate-scale {
  animation: pulseScale 1.5s ease-in-out infinite;
}


/* sec01 */
#tokisen .sec01 {
  position: relative;
  text-align: center;
  background-color: #ffe8d9;
  padding: 7% 0 16%;
  overflow: hidden;
  background-image: url(../img/sec01_bg_deco_top.png), url(../img/sec01_bg_deco_under.png);
  background-repeat: no-repeat, no-repeat;
  background-size: 100%, 100%;
  background-position: top center, bottom -24vw center;
}
#tokisen .sec01::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
  padding-top: 11.2%;
  background-repeat: no-repeat;
  background-image: url(../img/sec01_secline.png);
  background-size: contain;
  background-position: bottom left;
}
#tokisen .sec01_wrap {
  position: relative;
  width: 94%;
  max-width: 1200px;
  margin: 0 auto 5%;
}
#tokisen .sec01_wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 97%;
  border: 3px solid #231815;
  background-color: white;
  transform: rotate(3deg);
  transform-origin: center center;
  z-index: 0;
}
#tokisen .sec01_wrap::after {
  content: "";
  position: absolute;
  bottom: -39%;
  right: -29%;
  width: 49%;
  padding-top: 45%;
  background: url(../img/sec01_bg_deco_letter.png) no-repeat center / contain;
  z-index: -1;
}
#tokisen .sec01_lead {
  position: relative;
  width: 100%;
  margin: 0 auto 1%;
  border: 3px solid #231815;
  padding: 3%;
  background-color: #fff;
  background-image: url(../img/sec01_lead_deco_01.png), url(../img/sec01_lead_deco_02.png), url(../img/sec01_lead_bg_heart_01.png), url(../img/sec01_lead_bg_heart_02.png);
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  background-size: 14.5%, 9.5%, 40%, 46%;
  background-position: top 41% left 8%, top 11% right 5%, top -8% left -9%, bottom -1% right -33%;
  z-index: 1;
}
#tokisen .sec01_lead ._img {
  width: 52.6%;
  margin: 0 auto 1%;
}
.sec01_ttl_01_deco {
  animation: heartbeat 2s infinite;
  transform-origin: center;
}
@keyframes heartbeat {
  0% {
    transform: scale(1);
  }
  8% {
    transform: scale(1.12);
  }
  16% {
    transform: scale(1);
  }
  24% {
    transform: scale(1.08);
  }
  32% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}

#tokisen .lead_text {
  font-size: clamp(15px,1.8vw,23px);
  line-height: 1.8;
  margin-bottom: 3%;
  font-weight: 500;
}
#tokisen .lead_text b {
  font-weight: 800;
}
#tokisen .lead_text .highlight {
  position: relative;
  font-weight: 800;
  z-index: 0;
}
#tokisen .lead_text .highlight::after {
  content: "";
  position: absolute;
  bottom: -50%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  padding-top: 5%;
  background: url(../img/sec01_lead_highlight.png) no-repeat bottom center / contain;
  z-index: -1;
}
#tokisen .lead_text.mb {
  margin-bottom: 5%;
}
#tokisen .sec01_tokimeki_wrap {
  width: 100%;
  display: flex;
  align-items: center;
}
#tokisen .sec01_tokimeki_wrap p {
  width: calc(100% / 4);
  font-weight: bold;
  font-size: clamp(15px,1.8vw,23px);
}
#tokisen .sec01_tokimeki_wrap .left {
  text-align: right;
}
#tokisen .sec01_tokimeki_wrap .right {
  text-align: left;
}
#tokisen .sec01_wrap_movie {
  width: 85%;
  max-width: 840px;
  margin: 0 auto;
}
#tokisen .sec01_wrap_movie_pc {
  width: 85%;
  max-width: 1200px;
  margin: 0 auto;
}
#tokisen .sec01 .sec_ttl {
  width: 27%;
}



/* sec02 */
#tokisen .sec02 {
  position: relative;
  width: 100%;
  background-image: url(../img/sec02_bg_ol_01.png), url(../img/sec02_bg_ol_02.png), url(../img/sec02_bg_ol_03.png), url(../img/sec02_bg_bl_01.png), url(../img/sec02_bg_bl_02.png), url(../img/sec02_bg.jpg);
  padding: 7% 0 16%;
  background-size: 28%, 14%, 19%, 14%, 21%, 100%;
  background-position: top right, top 37% right, bottom 25% left, top 20.3% left, bottom 2% right, top left;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, repeat;
}
#tokisen .sec02::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  padding-top: 7.7%;
  background-image: url(../img/sec02_secline.png);
  background-size: 100% 100%;
  background-position: bottom left;
}
#tokisen .sec02_wrap {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
}
/* #tokisen .sec02_wrap h2 {
  position: relative;
  width: 92%;
  margin: 0 auto 2%;
  transform: translateX(-6.5%);
  z-index: 2;
} */
#tokisen .sec02_top_img {
  border: 3px solid #231815;
  box-shadow: 5px 5px 0px 0px rgba(35, 24, 21, 1);
  margin-bottom: 5%;
}
#tokisen .sec02_top_text {
  text-align: center;
  font-size: clamp(12px,1.5vw,16px);
  font-weight: 500;
  margin-bottom: 3%;
}
#tokisen .sec02_date_wrap {
  position: relative;
  width: 80%;
  background-color: #416edc;
  border: 7px solid #d8e3ff;
  border-radius: 5px;
  padding: 2% 2% 2% 25%;
  font-size: clamp(16.5px, 2.1vw, 27px);
  color: white;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 900;
  margin: 0 auto 10%;
}
#tokisen .sec02_date_wrap::after {
  content: "";
  position: absolute;
  top: -20%;
  right: -1%;
  width: 6%;
  padding-top: 10%;
  background: url(../img/sec02_date_deco.png) no-repeat center / contain;
}
#tokisen .sec02_date {
  position: absolute;
  top: -25%;
  left: 0%;
  width: 29.7%;
}
#tokisen .sec02_date_wrap span {
  font-size: 150%;
}
#tokisen .sec02 .sec_ttl {
  width: 27%;
}
#tokisen .sec02_gift_wrap {
  position: relative;
  width: 100%;
}
#tokisen .sec02_gift_wrap._a {
  margin-bottom: 1%;
}
#tokisen .sec02_gift_wrap._a::after {
  content: "";
  position: absolute;
  top: 52%;
  left: -2%;
  width: 39%;
  padding-top: 8.2%;
  background: url(../img/sec02_gift_a_deco.png)no-repeat center / contain;
}
#tokisen .sec02_gift_a_ttl {
  position: absolute;
  width: 13.9%;
  top: 1.7%;
  left: 2.4%;
  animation: heartbeat 2s infinite;
  transform-origin: center;
}
#tokisen .sec02_gift_b_ttl {
  position: absolute;
  width: 13.9%;
  top: 6.1%;
  left: 2.4%;
  animation: heartbeat 2s infinite;
  transform-origin: center;
}

/* sec03 */
#tokisen .sec03 {
  position: relative;
  width: 100%;
  background-image:  url(../img/sec03_pattern.png), url(../img/sec03_pattern.png), url(../img/sec03_bg.jpg);
  background-repeat: repeat-y, repeat-y, repeat;
  background-size: min(223px,15%), min(223px,15%), 100%;
  background-position: top left 3.5vw, top right 3.5vw, top left;
  padding: 10% 0 8%;
  text-align: center;
}
#tokisen .sec03_ttl_box {
  position: relative;
  width: 95%;
  margin: 0 auto 20px;
  max-width: 1300px;
}
#tokisen .sec03_txt_01 {
  width: 55%;
  max-width: 700px;
  margin: 0 auto 25px;
}
#tokisen .sec03_day {
  width: 80%;
  max-width: 908px;
  margin: 0 auto 110px;
}
/* 応募方法 */
#tokisen .sec03_wrap {
  width: 85%;
  max-width: 840px;
  margin: 0 auto;
}
#tokisen .sec_ttl {
  width: 37.8%;
  margin: 0 auto 2%;
}
#tokisen .sec_ttl.long {
  width: 80%;
}
#tokisen .sec03_step {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: stretch;
  margin-bottom: 13%;
}
#tokisen .sec03_step li {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  width: 49%;
  margin-bottom: 20px;
  border: 3px solid #231815;
  box-shadow: 5px 5px 0px 0px rgba(35, 24, 21, 1);
}
#tokisen .sec03_step li h4 {
  width: 100%;
  background-color: #416edc;
  padding: 15px;
}
#tokisen .sec03_step li h4 img {
  width: 34.9%;
}
#tokisen .sec03_step li .step_box {
  width: 100%;
  flex-grow: 1;
  background-color: #ffffff;
  color: #416edc;
  text-align: left;
  line-height: 1.5;
  font-weight: 500;
}
#tokisen .sec03_step li._01 .step_box {
  padding: 6%;
}
#tokisen .sec03_step li._02 .step_box {
  padding: 6%;
}
#tokisen .sec03_step li._03 .step_box {
  padding: 4% 2% 1% 3%;
}
#tokisen .sec03_step li._04 .step_box {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6% 11%;
}
#tokisen .sec03_step li .step_box .step02_flex_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-bottom: 2%;
}
#tokisen .sec03_step li .step_box .step02_flex_box ._01 {
  width: 45%;
}
#tokisen .sec03_step li .step_box .step02_flex_box ._01 img {
  width: 100%;
}
#tokisen .sec03_step li .step_box .step02_flex_box ._02 {
  width: 52%;
}
#tokisen .sec03_step li .step_box .large {
  font-size: clamp(22px,2.6vw,25px);
  margin-bottom: 2%;
}
#tokisen .sec03_step li .step_box .medium {
  font-size: clamp(12px,1.5vw,15.5px);
}
#tokisen .sec03_step li .step_box .medium.mb {
  margin-bottom: 2%;
}
#tokisen .sec03_step li .step_box .small {
  font-size: clamp(10px,1.3vw,13px);
}
#tokisen .sec03_step li .step_box .large span {
  font-size: clamp(10px,1.3vw,13px);
  margin-left: 1%;
}
#tokisen .sec03_step li._02 .sec03_step_02_btn {
  position: relative;
  display: block;
  width: 85%;
  margin: 0 auto;
  background-color: white;
  border: 3px solid #231815;
  padding: 3px;
  border-radius: 50vw;
  text-decoration: none;
  color: white;
  box-shadow: 5px 5px 0px 0px rgba(35, 24, 21, 1);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  text-align: center;
}
#tokisen .sec03_step li._02 .sec03_step_02_btn:hover {
  opacity: 1;
  transform: translate(3px, 3px);
  box-shadow: none;
}
#tokisen .sec03_step li._02 .sec03_step_02_btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
  width: 3.5%;
  padding-top: 3.5%;
  background: url(../img/icon_arrow_right_btn.png) no-repeat center / contain;
}
#tokisen .sec03_step li._02 .sec03_step_02_btn span {
  display: block;
  width: 100%;
  background-color: #416edc;
  border-radius: 50vw;
  padding: 2.5%;
}
#tokisen .sec03_step li._02 .sec03_step_02_btn span img {
  width: 71.5%;
}
#tokisen .step03_flex_box {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#tokisen .step03_flex_box ._01 {
  width: 30%;
}
#tokisen .step03_flex_box ._02 {
  width: 70%;
}
#tokisen .sec03_txt_02 {
  padding: 0 1%;
  margin-bottom: 30px;
}

/* 動画 */
#tokisen .movie {
  width: 100%;
  margin-bottom: 5%;
}
#tokisen .movie.mb {
  margin-bottom: 15%;
}
#tokisen .movie iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  background-color: #231815;
  border: 3px solid #231815;
  box-shadow: 5px 5px 0px 0px rgba(35, 24, 21, 1);
}
/* _縦画面 */
#tokisen .shorts-wrapper {
  position: relative;
  width: 100%;
  max-width: 420px;
  aspect-ratio: 9 / 16;
  margin: 0 auto 5%;
}
#tokisen .shorts-wrapper iframe {
  /* position: absolute; */
  inset: 0;
  width: 100%;
  height: 100%;
}
/* _pc横並び、sp時スライダー */
#tokisen .sec01_wrap_movie ul {
  gap: 20px;
}
#tokisen .sec01_wrap_movie_pc ul {
  display: flex;
  gap: 40px;
  justify-content: center;
}

/* 対象商品はこちら */
#tokisen .rel_box {
  position: relative;
  margin-bottom: 90px;
}
#tokisen .rel_box .ep_deco {
  position: absolute;
  top: -5%;
  right: 0;
  width: 33.2%;
  z-index: 2;
}
#tokisen .scroll_box {
  width: 100%;
  margin-bottom: 10px;
  border: 3px solid #231815;
  box-shadow: 5px 5px 0px 0px rgba(35, 24, 21, 1);
  margin-bottom: 3%;
}
#tokisen .scroll_box h4 {
  width: 100%;
  background-color: #416edc;
  padding: 20px 20px 15px;
}
#tokisen .scroll_box h4 img {
  width: 26%;
}
#tokisen .scroll_box .item_box {
  position: relative;
  background-color: #ffffff;
  padding: 3% 5%;
}
#tokisen .scroll_box .item_box .note {
  background-color: #416edc;
  width: 43.4%;
  margin: 0 auto 15px;
  padding: 10px 30px;
  border-radius: 5px;
}
#tokisen .item_list {
  display: flex;
  width: 100%;
  height: 22rem;
  flex-wrap: wrap;
  text-align: left;
  padding: 0 8% 5% 3%;
  font-size: clamp(12px, 1.5vw, 16px);
  line-height: 1.5;
  color: #434343;
  font-weight: 500;
}
#tokisen .item_list.scrollbar {
  overflow-y: auto;
  /* Chrome, Edge, Safari 対応 */
  scrollbar-width: none;           /* Firefox */
  -ms-overflow-style: none;        /* IE 10+ */
}
#tokisen .item_list.scrollbar::-webkit-scrollbar {
  display: none;                   /* Chrome, Safari */
}
#tokisen .custom-scrollbar-track {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 80%;
  right: 35px;
  width: 7px;
  background: #ededed;
  border-radius: 50vw;
  z-index: 5;
}
#tokisen .custom-scrollbar-thumb {
  width: 100%;
  background: #416edc;
  border-radius: 50vw;
  position: absolute;
  top: 0;
  /* transition: top 0.1s ease-out; */
}
#tokisen .item_list dt {
  width: 70%;
  padding: 15px 5px;
  border-bottom: 2px solid #416edc;
  border-right: 2px solid #416edc;
}
#tokisen .item_list dt.ttl,
#tokisen .item_list dd.ttl {
  color: #416edc;
  font-weight: bold;
}
#tokisen .item_list ._item {
  width: 9%;
}
#tokisen .item_list dd {
  width: 30%;
  padding: 15px 10px;
  border-bottom: 2px solid #416edc;
}
#tokisen .item_list ._stamp {
  width: 50%;
}
#tokisen .note_bl {
  color: #416edc;
  font-size: clamp(10px,1.3vw,14px);
  font-weight: 500;
}
#tokisen .note_bk {
  color: #231815;
  font-size: clamp(10px,1.3vw,14px);
  font-weight: 500;
}

/* 応募規約 */
#tokisen .terms_ttl {
  width: 100%;
  margin: 0 auto 20px;
}
#tokisen .terms_box {
  position: relative;
  width: 100%;
  margin-bottom: 10px;
  background-color: #ffffff;
  padding: 6% 7%;
  margin-bottom: 90px;
  border: 3px solid #231815;
  box-shadow: 5px 5px 0px 0px rgba(35, 24, 21, 1);
}
#tokisen .terms_txt {
  text-align: left;
  padding: 0 7% 0 2%;
  font-size: clamp(12px, 1.5vw, 16px);
  color: #416edc;
  font-weight: 500;
  height: 19rem;
  line-height: 1.5;
}
#tokisen .terms_txt .pt20 {
  padding-top: 20px;
}
#tokisen .terms_txt.scrollbar {
  overflow-y: auto;
  /* Chrome, Edge, Safari 対応 */
  scrollbar-width: none;           /* Firefox */
  -ms-overflow-style: none;        /* IE 10+ */
}
#tokisen .terms_txt.scrollbar::-webkit-scrollbar {
  display: none;                   /* Chrome, Safari */
}
#tokisen .terms_txt a {
  color: #416edc;
  text-decoration: underline;
}
#tokisen .tel_icon {
  max-width: 20px;
  padding: 0 2px;
}
#tokisen .pcsp_icon {
  max-width: 20px;
  padding: 0 2px;
  padding-top: 20px;
}
/* よくあるご質問 */
#tokisen .question {
  width: 100%;
  margin: 0 auto 20px;
}
#tokisen .sec03_question {
  width: 100%;
  margin-bottom: 20px;
  box-shadow: 5px 5px 0px 0px rgba(35, 24, 21, 1);
}
#tokisen .mb {
  margin-bottom: 100px;
}
#tokisen .sec03_question.open {
  opacity: 1;
  filter: blur(0);
}
#tokisen .acc_btn ,
#tokisen .acc_box {
  width: 100%;
  margin: 0 auto;
  text-align: left;
}
#tokisen .acc_btn {
  position: relative;
  background-color: #416edc;
  color: #ffffff;
  display: flex;
  align-items: center;
  font-size: clamp(18px, 2.3vw, 25px);
  line-height: 1.3;
  z-index: 2;
  padding: 3% 12% 3% 4%;
  font-weight: bold;
  border: 3px solid #231815;
}
#tokisen .icon_q {
  width: 6%;
  margin-right: 20px;
}
#tokisen .acc_btn:hover {
  cursor: pointer;
}
#tokisen .acc_box._unactive {
  display: none;
}
#tokisen .acc_box {
  padding: 2% 4% 4%;
  background-color: #ffffff;
  line-height: 1.5;
  border-style: solid;
  border-color: #231815;
  border-width: 0 3px 3px 3px;
}
#tokisen .acc_box p {
  font-size: clamp(12px, 1.5vw, 16px);
  color: transparent;
  text-align: left;
  font-weight: bold;
}
#tokisen .open .acc_box p {
  color: #416edc;
}
#tokisen .acc_btn::after {
  content: "";
  position: absolute;
  right: 3%;
  top: 50%;
  transform: translateY(-50%);
  width: 7%;
  padding-top: 7%;
  background-image: url(../img/icon_plus.png);
  background-repeat: no-repeat;
  background-size: 70%;
  background-position: center;
  background-color: white;
  border-radius: 50vw;
  border: 3px solid #231815;
  box-shadow: 3px 3px 0px 0px rgba(35, 24, 21, 1);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
#tokisen .acc_btn:hover::after {
  transform: translate(3px, -50%) translate(3px, 3px);
  box-shadow: none;
}
#tokisen .open .acc_btn::after {
  top: 50%;
  background-image: url(../img/icon_minus.png);
}
/* キャンペーンお問い合わせ窓口 */
#tokisen .inquiry {
  width: 100%;
  margin: 0 auto;
}
#tokisen .inquiry_box {
  width: 100%;
  border: 3px solid #231815;
  margin-bottom: 3%;
  box-shadow: 5px 5px 0px 0px rgba(35, 24, 21, 1);
}
#tokisen .inquiry_box h4 {
  width: 100%;
  background-color: #416edc;
  padding: 30px 20px 20px;
}
#tokisen .inquiry_box h4 img {
  width: 60%;
}
#tokisen .inquiry_box .inquiry_txt {
  background-color: #ffffff;
  padding: 3% 3% 4%;
}
#tokisen .inquiry_box .inquiry_txt a {
  width: 70%;
  display: block;
  transition: transform 0.2s ease;
  margin: 0 auto 2%;
}
#tokisen .inquiry_box .inquiry_txt a:hover {
  transform: scale(0.95);
}
#tokisen .inquiry_box .inquiry_txt .note_gr.mb10 {
  margin-bottom: 10px;
}

/* ブランドサイトはこちらボタン */
#tokisen .btn_brand_site {
  position: relative;
  display: block;
  width: 40%;
  margin: 0 auto;
  background-color: white;
  border: 3px solid #231815;
  padding: 3px;
  border-radius: 50vw;
  text-decoration: none;
  color: white;
  box-shadow: 5px 5px 0px 0px rgba(35, 24, 21, 1);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
#tokisen .btn_brand_site:hover {
  opacity: 1;
  transform: translate(3px, 3px);
  box-shadow: none;
}
#tokisen .btn_brand_site::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
  width: 3.5%;
  padding-top: 3.5%;
  background: url(../img/icon_arrow_right_btn.png) no-repeat center / contain;
}
#tokisen .btn_brand_site span {
  display: block;
  width: 100%;
  background-color: #416edc;
  border-radius: 50vw;
  padding: 5%;
}
#tokisen .btn_brand_site span img {
  width: 70%;
}

/* 共通 */
@media screen and (max-width:1000px) {
  #tokisen .attention_box {
    padding: 20px 2vw;
  }
  #tokisen .attention_box p {
    width: fit-content;
    margin: 0 auto;
  }
}
@media screen and (max-width:768px) {
  #tokisen .pc {
    display: none;
  }

  #tokisen .sp {
    display: block;
  }
}

/* 共通ではないもの */
@media screen and (max-width:768px) {

  /* mv */
  #tokisen .mv {
    border-bottom: 10px solid #231815;
  }

  /* リード文 */
  #tokisen .sec01 {
    padding: 10% 0 14%;
    background-image: url(../img/s_sec01_bg_deco_top.png), url(../img/s_sec01_bg_deco_under.png);
    background-position: top -37vw center, bottom -24vw center;
  }
  #tokisen .sec01::after {
    padding-top: 10.5%;
    background-image: url(../img/s_sec01_secline.png);
  }
  #tokisen .sec01_wrap {
    width: 90%;
  }
  #tokisen .sec01_wrap::after {
    bottom: -15%;
    right: -26%;
    width: 46%;
    padding-top: 45%;
  }
  #tokisen .sec01_wrap::before {
    top: 0;
    left: -0.5%;
    border: 2px solid #231815;
    transform: rotate(2deg);
    padding: 1% 0;
  }
  #tokisen .sec01_lead {
    padding: 8% 5%;
    margin: 0 auto 15%;
    border: 2px solid #231815;
    background-image: url(../img/s_sec01_lead_deco_01.png), url(../img/s_sec01_lead_deco_02.png), url(../img/sec01_lead_bg_heart_01.png), url(../img/sec01_lead_bg_heart_02.png);
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
    background-size: 14%, 12%, 50%, 55%;
    background-position: top 35% left 5%, top 49% right 6%, top -2% left -29%, bottom 43% right -45%;
  }
  #tokisen .sec01_lead ._img {
    width: 100%;
    padding-left: 5%;
    margin: 0 auto 5%;
  }
  #tokisen .lead_text {
    font-size: 3.5vw;
  }
  #tokisen .sec01_tokimeki_wrap {
    flex-wrap: wrap;
  }
  #tokisen .sec01_tokimeki_wrap p {
    width: 50%;
    margin-bottom: 4%;
  }
  #tokisen .sec01_tokimeki_wrap .left,
  #tokisen .sec01_tokimeki_wrap .right {
    width: 100%;
    text-align: center;
  }
  #tokisen .sec01_tokimeki_wrap .right {
    margin-bottom: 0;
  }
  #tokisen .movie iframe {
    border: 2px solid #231815;
    box-shadow: 2px 2px 0px 0px rgba(35, 24, 21, 1);
  }
  #tokisen .sec01_wrap_movie {
    width: 90%;
  }
  #tokisen .movie {
    margin-bottom: 8%;
  }

  #tokisen .sec01 .sec_ttl {
    width: 50%;
  }

  /* 賞品 */
  #tokisen .sec02 {
    padding: 12% 0 25%;
    margin: 0 auto;
    background-image: url(../img/sec02_bg_ol_01.png), url(../img/s_sec02_bg_ol_02.png), url(../img/sec02_bg_ol_03.png), url(../img/s_sec02_bg_bl_01.png), url(../img/sec02_bg_bl_02.png), url(../img/s_sec02_bg.jpg);
    background-size: 46%, 21%, 27%, 21%, 31%, 100%;
    background-position: top right -27%, top 22% right, top 27% left -7%, top 13.3% left, bottom 2% right, top left;
  }
  #tokisen .sec02::after {
    padding-top: 9.4%;
    background-image: url(../img/s_sec02_secline.png);
  }
  #tokisen .sec02 .sec_ttl {
    width: 50%;
  }
  #tokisen .sec02_wrap {
    width: 90%;
    max-width: none;
  }
  #tokisen .sec02_top_img {
    border: 2px solid #231815;
    box-shadow: 2px 2px 0px 0px rgba(35, 24, 21, 1);
    margin-bottom: 7%;
  }
  #tokisen .sec02_date_wrap {
    width: 100%;
    font-size: 3.5vw;
    padding: 5% 6% 3% 6%;
    text-align: center;
    border: 4px solid #d8e3ff;
  }
  #tokisen .sec02_date_wrap::after {
    top: -22%;
    right: -0.5%;
    width: 7%;
    padding-top: 14%;
    background: url(../img/s_sec02_date_deco.png) no-repeat center / contain;
  }
  #tokisen .sec02_date {
    top: -42%;
    left: 1%;
    width: 42%;
  }
  #tokisen .sec02_top_text {
    font-size: 3.5vw;
    margin-bottom: 9%;
  }
  #tokisen .sec02_gift_a_ttl {
    width: 18%;
    top: 1.7%;
    left: 5.4%;
  }
  #tokisen .sec02_gift_wrap._a {
    margin-bottom: 2%;
  }
  #tokisen .sec02_gift_wrap._a::after {
    top: 50.5%;
    left: 0;
    width: 65%;
    padding-top: 14%;
    background: url(../img/s_sec02_gift_a_deco.png) no-repeat center / contain;
  }
  #tokisen .sec02_gift_b_ttl {
    width: 18%;
    top: 4%;
    left: 5.4%;
  }

  /* 応募方法 */
  #tokisen .sec03 {
    padding: 15% 0 22%;
    background-image: url(../img/s_sec03_bg.jpg);
    background-repeat: repeat;
    background-size: 100%;
    background-position: top left;
  }
  #tokisen .sec03::after {
    background-image: url(../img/s_bg_paper_yl.png);
  }
  #tokisen .sec03 .sec_ttl {
    display: block;
    width: 100%;
    padding: 3% 0;
    margin-bottom: 1.5%;
  }
  #tokisen .sec03 .sec_ttl img {
    width: 50%;
  }
  #tokisen .sec03 .sec_ttl._a {
    background: url(../img/s_sec03_ttldeco_a.png) no-repeat center / contain;
  }
  #tokisen .sec03 .sec_ttl._b {
    background: url(../img/s_sec03_ttldeco_b.png) no-repeat center / contain;
  }
  #tokisen .sec03_ttl_box {
    width: 100%;
  }
  #tokisen .sec03_txt_01 {
    width: 100%;
    max-width: none;
    margin: 0 auto 10px;
    padding-left: 1%;
  }
  #tokisen .sec03_day {
    width: 75%;
    max-width: none;
    margin: 0 auto 50px;
  }
  #tokisen .sec03_wrap {
    width: 90%;
  }
  #tokisen .sec_ttl {
    width: 50%;
    margin: 0 auto 5%;
  }
  #tokisen .sec03_step {
    display: block;
    margin-bottom: 10%;
  }
  #tokisen .sec03_step li {
    width: 100%;
    margin-bottom: 5%;
    border: 2px solid #231815;
    box-shadow: 2px 2px 0px 0px rgba(35, 24, 21, 1);
  }
  #tokisen .sec03 .movie.mb {
    margin-bottom: 6%;
  }
  #tokisen .sec03_step li h4 {
    padding: 3%;
  }
  #tokisen .sec03_step li h4 img {
    width: 28%;
  }
  #tokisen .sec03_step li._01 .step_box {
    padding: 3% 7% 5%;
  }
  #tokisen .sec03_step li._02 .step_box {
    padding: 3% 7% 5%;
  }
  #tokisen .sec03_step li._03 .step_box {
    padding: 3% 5% 3%;
  }
  #tokisen .sec03_step li._04 .step_box {
    padding: 3% 7% 5%;
  }
  #tokisen .sec03_step li .step_box .large {
    font-size: 5vw;
    margin-bottom: 0;
  }
  #tokisen .sec03_step li .step_box .large span {
    font-size: 2.5vw;
  }
  #tokisen .sec03_step li .step_box .medium {
    font-size: 3vw;
  }
  #tokisen .sec03_step li .step_box .small {
    font-size: 2.5vw;
  }
  #tokisen .sec03_step li .step_box .step02_flex_box {
    margin-bottom: 0;
  }
  #tokisen .sec03_step li .step_box .step02_flex_box ._01 {
    width: 26%;
  }
  #tokisen .sec03_step li .step_box .step02_flex_box ._02 {
    width: 72%;
  }
  #tokisen .step03_flex_box ._01 {
    width: 20%;
  }
  #tokisen .step03_flex_box ._02 {
    width: 77%;
  }
  #tokisen .sec03_step li._02 .sec03_step_02_btn {
    width: 85%;
    padding: 2px;
    border: 2px solid #231815;
    box-shadow: 2px 2px 0px 0px rgba(35, 24, 21, 1);
  }
  #tokisen .sec03_step li._02 .sec03_step_02_btn:hover {
    transform: none;
  }
  #tokisen .sec03_txt_02 {
    padding-right: 1%;
    margin-bottom: 8%;
  }
  /* 対象商品はこちら */
  #tokisen .rel_box {
    margin-bottom: 10%;
  }
  #tokisen .scroll_box {
    border: 2px solid #231815;
    box-shadow: 2px 2px 0px 0px rgba(35, 24, 21, 1);
  }
  #tokisen .scroll_box h4 {
    padding: 4%;
  }
  #tokisen .terms_ttl {
    margin-bottom: 0;
  }
  #tokisen .rel_box .ep_deco {
    top: -4%;
    right: -2.5%;
    width: 38%;
  }
  #tokisen .scroll_box h4 img {
    width: 45%;
  }
  #tokisen .scroll_box .item_box {
    padding: 20px 15px 30px 0;
  }
  #tokisen .scroll_box .item_box .note {
    width: 60%;
    padding: 3%;
    border-radius: 2px;
  }
  #tokisen .note_bk {
    width: 90%;
    margin: 0 auto;
    text-indent: -1rem;
    padding-left: 1rem;
    text-align: left;
    line-height: 1.5;
    font-size: 2.5vw;
  }
  #tokisen .item_list {
    padding: 0 15px 5px;
    font-size: 2.8vw;
  }
  #tokisen .item_list dt {
    border-bottom: 1px solid #416edc;
    border-right: 1px solid #416edc;
    padding: 3% 2%;
  }
  #tokisen .item_list dd {
    border-bottom: 1px solid #416edc;
    padding: 3% 2%;
  }
  #tokisen .item_list ._item {
    width: 17.6%;
  }
  #tokisen .item_list ._stamp {
    width: 100%;
  }
  #tokisen .note_gr {
    width: 90%;
    margin: 0 auto;
    text-align: left;
    font-size: 12px;
    text-indent: -1rem;
    padding-left: 1rem;
  }
  /* スクロールバー */
  #tokisen .custom-scrollbar-track {
    right: 4%;
  }

  /* 応募規約 */
  #tokisen .terms_box {
    padding: 10% 5%;
    margin-bottom: 13%;
    border: 2px solid #231815;
    box-shadow: 2px 2px 0px 0px rgba(35, 24, 21, 1);
  }
  #tokisen .terms_txt {
    padding: 0 7% 0 2%;
    font-size: 2.7vw;
  }

  /* よくあるご質問 */
  #tokisen .sec03_question {
    box-shadow: 2px 2px 0px 0px rgba(35, 24, 21, 1);
  }
  #tokisen .acc_btn {
    font-size: 14px;
    padding: 5% 13% 5% 5%;
    border: 2px solid #231815;
  }
  #tokisen .acc_btn::after {
    border: 2px solid #231815;
    box-shadow: 1px 1px 0px 0px rgba(35, 24, 21, 1);
  }
  #tokisen .acc_btn:hover::after {
    transform: translateY(-50%);
  }
  #tokisen .icon_q {
    width: 7%;
    margin-right: 10px;
  }
  #tokisen .acc_box {
    padding: 25px 30px;
  }
  #tokisen .open .acc_box {
    border-top: 0;
    padding-top: 13px;
  }
  #tokisen .acc_box p {
    font-size: 12px;
  }
  #tokisen .sec03_question.mb {
    margin-bottom: 12%;
  }

  /* キャンペーンお問い合わせ窓口 */
  #tokisen .sec03_wrap._05 {
    width: 95%;
  }
  #tokisen .inquiry::after {
    display: none;
  }
  #tokisen .sec03 .sec_ttl.long {
    display: block;
    width: 100%;
  }
  #tokisen .sec03 .sec_ttl.long img {
    width: 55%;
    margin: 0 auto;
  }
  #tokisen .inquiry_box {
    width: 95%;
    margin: 0 auto 7%;
    border: 2px solid #231815;
    box-shadow: 2px 2px 0px 0px rgba(35, 24, 21, 1);
  }
  #tokisen .inquiry_box h4 {
    padding: 5%;
  }
  #tokisen .inquiry_box h4 img {
    width: 90%;
  }
  #tokisen .inquiry_box .inquiry_txt {
    padding: 5% 3% 6%;
  }
  #tokisen .inquiry_box .inquiry_txt .note_gr {
    width: fit-content;
    font-size: 13px;
    text-indent: -1.3rem;
    padding-left: 1.3rem;
  }
  #tokisen .inquiry_box .inquiry_txt a {
    width: 75%;
    margin: 0 auto 3%;
  }
  #tokisen .note_bl {
    font-size: 3.2vw;
  }

  /* ブランドサイトはこちら */
  #tokisen .btn_brand_site {
    width: 75%;
    border: 2px solid #231815;
    padding: 2px;
    box-shadow: 2px 2px 0px 0px rgba(35, 24, 21, 1);
  }
  #tokisen .btn_brand_site:hover {
    transform: none;
  }
  #tokisen .slider_wrap{
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
    width: 90%;
    margin-top: 20px;
  }
}


