@charset "UTF-8";

html{
  -webkit-text-size-adjust: none;
  scroll-behavior: smooth;
}

*,*::before,*::after {
  box-sizing: border-box;
}

body {
  color: #1C1C1C;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-weight: 500;
}

a:is(:link,:visited) {
  color: #1C1C1C;
}

button {
  color: #1C1C1C;
  font-family: "Noto Sans JP", sans-serif;
}

img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

#wrap {
  background: #000;
}


#contents {
  max-width: 500px;
  margin: 0 auto;
}

.main {
  overflow: hidden;
}

.section {
  margin-top: -9%;
}


/*--------------------------------
  メインイメージ
--------------------------------*/
.section-hero {
  width: 100%;
  margin-top: 0;
  padding-bottom: 10%;
  position: relative;
  z-index: 2;
  background: #000;
}

.section-hero__bg {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.section-hero__bg-tape {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.section-hero__logo-25th {
  width: 18%;
  padding-top: 6.9%;
  margin: 0 auto;
}


.section-hero__shufoo-logo {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.section-hero__blackfriday-logo {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.section-hero__text-cashback {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.apply-btn-wrap {
  width: 81%;
  margin: 0 auto;
}

.btn-shadow {
  a {
    display: block;
    position: relative;
    transition: 0.1s transform linear;
    img {
      position: relative;
      z-index: 1;
    }
    &::before {
      content: '';
      width: 100%;
      height: 100%;
      background: #640800;
      border-radius: min(1.6vw,6px);
      position: absolute;
      top: 0;
      left: 0;
      z-index: 0;
      transform: translateY(3px);
      transition: 0.1s transform linear;
    }
  }
}

@media (any-hover: hover) {
  .btn-shadow a:where(:hover,:focus-visible) {
    transform: translateY(3px);
    opacity: 1;
  }
  .btn-shadow a:where(:hover,:focus-visible)::before {
    transform: translateY(0);
  }
}
@media (hover: none) {
  .btn-shadow a:where(:active,:focus) {
    transform: translateY(3px);
    opacity: 1;
  }
  .btn-shadow a:where(:active,:focus)::before {
    transform: translateY(0);
  }
}


/*--------------------------------
  追従CTA
--------------------------------*/
.cta__fixed_sp {
  width: 100%;
  padding-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row nowrap;
  gap: 8px;
  position: fixed;
  bottom: 0;
  left: 0;
  margin-top: 20px;
  z-index: 1;
  transform: translateY(100%);
  transition: 0.3s transform linear;
}

.cta__fixed_pc  {
  display: none;
}

.cta__fixed_sp.is-fixed {
  position: fixed;
  transform: translateY(0);
}

.cta__fixed_sp--btn__cta {

}
.cta__fixed_sp--btn__x {

}

.cta__fixed_sp img {
  width: auto;
  height: 78px;
}

.nav__ancher--item img {
  width: 100%;
}


/*ケロとがまにゃんのいる応募ボタン*/
.kero-gamanyan {
  width: 85%;
  height: auto;
  margin: 0 auto;
  position:relative;
  z-index: 0;
}
.kero-gamanyan + .cta__apply-btn-inner {
  display: block;
  margin-top: -18%;
}
.cta__apply-btn-inner img {
  width: 100%;
}


@media screen and (max-width: 359px) {
  .cta__fixed_sp img {
    height: 67px;
  }
}

@media screen and (min-width: 1024px) {
  .cta__fixed_pc  {
    width: 228px;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 156px 1fr;
    gap: 28px;
    position: fixed;
    top: 10px;
    right: 1%;
  }


  .cta__fixed_pc .nav__ancher--baloon {
    margin-bottom: 0;
  }
  .cta__fixed_sp {
    display: none;
  }
}

@media screen and (min-width: 1200px) {
  .cta__fixed_pc  {
    left: 50%;
    transform: translateX(325px);
  }
}

@media screen and (hover:hover) {
  .nav__ancher--item {
    transition: 0.3s opacity 0s ease;
  }
  .nav__ancher--item:where(:hover,:focus) {
    opacity: 0.7;
  }
}


/*--------------------------------
  各セクション共通フレーム
--------------------------------*/
.section-title--frame {
  width: 61%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  transform: translateY(67%);
}
.section__inner--frame {
  width: 90%;
  margin: 0 auto;
  border-radius: min(3.2vw,12px);
  background: url(../images/frame_bg.webp) center top / 100% auto repeat-y;
  overflow: hidden;
  color: #fff;
  position: relative;
}

.section__inner--frame::before {
  content: '';
  display: block;
  width: 64%;
  height: auto;
  aspect-ratio: 216 / 33;
  background: url(../images/summary_bg_blackfriday.png) center center / 100% auto no-repeat;
  position: absolute;
  bottom: 4%;
  right: 5%;
  z-index: 0;
}

.section__inner--frame-top {
  width: 100%;
  height: auto;
  aspect-ratio: 686 / 72;
  background: url(../images/summary_bg_top.png) center center / 100% auto no-repeat;
}
.section__inner--frame-bottom {
  width: 100%;
  height: auto;
  aspect-ratio: 686 / 120;
  background: url(../images/summary_bg_bottom.png) center bottom / 100% auto no-repeat;
}
.section__inner--frame-body {
  width: 100%;
  padding-top: 30px;
  padding-bottom: 20px;
  background: url(../images/summary_bg_body.png) center center / 100% auto repeat-y;
}

.section__inner--frame-lead {
  margin: 0px auto 40px;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  em {
    color: #FFFF19;
    font-style: normal;
  }
}

.section__inner--frame-text {
  margin: 40px auto;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  em {
    color: #FFFF19;
    font-style: normal;
  }
}

/*--------------------------------
  キャンペーン概要
--------------------------------*/


.section .section__inner--frame-body::before {
  content: '';
  display: block;
  width: 98%;
  height: auto;
  aspect-ratio: 662 / 192;
  background: url(../images/summary_bg_kero.png) center center / 100% auto no-repeat;
  position:absolute;
  top: 21%;
  left: 1px;
  z-index: 0;
}

.summary-pay {
  width: 74%;
  margin: 0 auto;
}

/*--------------------------------
  当選確率3倍
--------------------------------*/

.section-times3 {
  .section__inner--frame-top {
    background-image: url(../images/times3_bg_top.png);
  }
  .section__inner--frame-bottom {
    background-image: url(../images/times3_bg_bottom.png);
  }
  .section__inner--frame-body {
    background-image: url(../images/times3_bg_body.png);
  }
 .section__inner--frame::before {
    background-image: url(../images/times3_blackfriday.png);
  }
  .apply-btn-wrap {
    width: 68%;
  }
}


.section-times3 .section__inner--frame-body::before {
  background-image:url(../images/times3_bg_gama.png);
  aspect-ratio: 191 / 325;
  width: 26%;
  height: auto;
  left: 6px;
  top: 16%;
}
.section-times3 .section__inner--frame-body::after {
  content: '';
  display: block;
  width: 19%;
  height: auto;
  aspect-ratio: 110 / 212;
  background: url(../images/times3_bg_receipt.png) center center / 100% auto no-repeat;
  position: absolute;
  bottom: 24%;
  right: 1%;
  z-index: 0;
}

#btn_install:has(img[src="./images/btn_install_have.png"])::before {
  content: none;
}

/*--------------------------------
  応募方法
--------------------------------*/

.section-application {
  .section__inner--frame-top {
    background-image: url(../images/application_bg_top.png);
  }
  .section__inner--frame-bottom {
    background-image: url(../images/application_bg_bottom.png);
  }
  .section__inner--frame-body {
    background-image: url(../images/application_bg_body.png);
  }
 .section__inner--frame::before {
    background-image: url(../images/application_blackfriday.png);
  }
  .section__inner--frame-body::before {
    content: none;
  }
}


.icon-triangle {
  width: auto;
  margin: 10px auto;
}

/*--------------------------------
  注意事項
--------------------------------*/

.section-notice {
  .section__inner--frame-top {
    background-image: url(../images/notice_bg_top.png);
  }
  .section__inner--frame-bottom {
    background-image: url(../images/notice_bg_bottom.png);
  }
  .section__inner--frame-body {
    background-image: url(../images/notice_bg_body.png);
  }
 .section__inner--frame::before {
  bottom: 3%;
    background-image: url(../images/notice_blackfriday.png);
  }
  .section__inner--frame-body::before {
    content: none;
  }
}

.notice-text {
  padding: 0 26px;
  font-size: 16px;
  line-height: 1.6;
}
.notice-text-indent {
  padding-left: 16px;
}

.section-notice:last-child {
  padding-bottom: 30px;
}

.section-footer {
  margin-top: 0;
  color: #fff;
}

.notice-text a:is(:link,:visited) {
  color: #fff;
  text-decoration: underline;
}

.notice-text span {
  color: #fff;
}


/*--------------------------------
 バナー
--------------------------------*/
.banner-title {
  position: relative;
  text-align: center;
  font-size: 1.125rem;
  max-width: 300px;
  margin: 0 auto;
}
.banner-title::before {
  content: '';
  width: calc((100% - 11em) / 2);
  height: 1px;
  background: #E6CAA1;
  position: absolute;
  top: 50%;
  left: 0;
}
.banner-title::after {
  content: '';
  width: calc((100% - 11em) / 2);
  height: 1px;
  background: #E6CAA1;
  position: absolute;
  top: 50%;
  right: 0;
}
.banner {
  margin-top: 40px;
  text-align: center;
}

.banner + .banner {
  margin-top: 24px;
}

.banner a {
  display: block;
  max-width: 300px;
  margin: 20px auto 0;
}

.banner img {
  width: 100%;
  height: auto;
}


/*--------------------------------
 フッター
--------------------------------*/
.footer {
  margin-top: 30px;
  padding-top: 30px;
  background-size: auto auto;
  background-color: rgba(255, 247, 232, 1);
  background-image: repeating-linear-gradient(135deg, transparent, transparent 40px, rgba(255, 240, 218, 1) 40px, rgba(255, 240, 218, 1) 62px);
}


.footer a {
  display: block;
  padding: 4px;
  text-align: center;
  color: #1C1C1C;
  text-decoration: underline;
}

.footer small {
  display: block;
  padding-top: 1em;
  padding-bottom: 1em;
  text-align: center;
  font-size: 1rem;
  color: #1C1C1C;
}

/*--------------------------------
 parts
--------------------------------*/
/*ボタン*/

.button {
  margin-top: 1em;
  padding: 9px;
  border-radius:25px;
  color: #fff;
  font-size: 1rem;
  background: #1C1C1C;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row nowrap;
}

.button:is(:link,:visited) {
  color: #fff;
}
.button img {
  width: 24px;
  margin-right: 0.5em;
}

@media screen and (min-width:769px) {
  .button {
    transition: 0.3s opacity 0s ease;
  }
  .button:where(:hover,:focus) {
    opacity: 0.7;
  }
}

.btn-shadow .button__pc, .btn-shadow .button__sp,.btn-shadow .button__apli {
  display: none;
}


/*--------------------------------
 utility
--------------------------------*/
.u-mt0 {
  margin-top: 0;
}
.u-mb20 {
  margin-bottom: 20px;
}
.u-color-red {
  color:#E22D34;
}
.u-color-yellow {
  color:#FDED04;
}
.u-color-white {
  color:#fff;
}
.u-color-orange {
  color:#FFA719 !important;
}
.u-font-larger {
  font-size: 120%;
  font-weight: 700;
}


