@charset "UTF-8";

/* リソネット拡張 */

.theme-main:first-child {
  padding-block-end: 0;
}

.theme-main__title-main {
  background-color: #fff;
}

:where(.theme-main:not(.theme-main--shift-heading) .theme-main__contents) h2:not([class^=mod-], [class^=unq-])::after,
:where(.theme-main:not(.theme-main--shift-heading) .theme-main__contents) h3:not([class^=mod-], [class^=unq-])::after {
  background-color: #2E2821;
}

.mv-img {
  text-align: center;
  background-color: #ffdeee;
}

.mv-img>picture>img {
  width: auto;
}

.box-sfgi {
  border-color: #EE1D93;
  border-width: 1px;
  background-color: #FFF0F8;
}

.mod-heading-lv6 {
  margin-block-start: 16px;
}

.mod-box-full-width>.btn-sfgi {
  margin-top: 100px;
  margin-block-end: 60px !important;
}

.btn-sfgi .btn {
  position: relative;
  padding: 8px 42px;
}

.btn-sfgi .btn::after {
  content: "";
  display: block;
  position: absolute;
  right: -150px;
  width: 163px;
  height: 214px;
  background: url(/mball/premium/sfgi/images/momo.png) no-repeat;
}

.btn-icon {
  margin-right: 10px;
  width: 40px;
  height: 40px;
  border-radius: 40px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

:where(.theme-main__contents) .btn-icon>img:not([class^=mod-], [class^=unq-], [class^=mf_]) {
  margin-block-start: 0;
  width: 24px;
}

.txt-momo {
  margin-top: 15px;
  font-size: 1rem;
  text-align: right;
}

.img-03 {
  text-align: center;
}

:where(.theme-main:not(.theme-main--shift-heading) .theme-main__contents) h2.hdg-lv2:not([class^=mod-], [class^=unq-]) {
  padding: 15px 10px;
  font-size: 1.9rem;
}

:where(.theme-main:not(.theme-main--shift-heading) .theme-main__contents) h2#entry {
  margin-block-start: 0 !important;
}

.mod-box-full-width.cp-hdg {
  margin-block-start: 0;
  padding-top: 0;
  padding-block-end: 0;
  background-color: transparent;
}

.hdg-lv2 {
  margin-inline: calc(50% - 50vw);
  padding: 30px calc(50vw - 50%);
  position: relative;
  background: #cf2a76;
  color: #fff;
  text-align: center;
}

:where(.theme-main:not(.theme-main--shift-heading) .theme-main__contents) h2.hdg-lv2::after {
  content: "";
  margin: auto;
  position: absolute;
  bottom: -14px;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  background: none;
  border-style: solid;
  border-right: 13px solid transparent;
  border-left: 13px solid transparent;
  border-top: 15px solid #cf2a76;
  border-bottom: 0;
  border-radius: 0;
}

.mod-box-full-width.cp-box {
  margin-block-start: 0;
  padding: 35px 15px 30px;
  background: unset;
}

.mod-box-full-width.cp-box.prize {
  padding-bottom: 60px;
}

:where(.theme-main__contents) h2:not([class^=mod-], [class^=unq-])+h3.hdg-entry:not([class^=mod-], [class^=unq-]) {
  margin-block-start: 50px;
}

.mod-accordion__trigger {
  justify-content: left;
  color: #000;
  font-size: 2rem;
}

.mod-accordion__trigger:focus-visible {
  background-color: #D8D8CC;
}

.mod-accordion__trigger::after,
.mod-accordion__trigger::before {
  background-color: #2E2821;
}

.txt-agree {
  background-color: #fff;
}

:where(.theme-main__contents) p.txt-agree:not([class^=mod-], [class^=unq-]) {
  margin: 40px 0 50px;
}

ul.mod-list-link>li:not([class^=mod-], [class^=unq-])::before {
  background-color: #2E2821;
}

ul.mod-list-link>li:not([class^=mod-], [class^=unq-]) a:focus-visible {
  color: #2E2821;
}

.mod-list-description-02 {
  background-color: #fff;
}

.mod-list-description-02__item>dt {
  inline-size: 100%;
}

:where(.theme-main__contents) ul:not([class^=mod-], [class^=unq-], [class^=mf_])>li::before {
  background-color: #2E2821;
}

.mod-box-full-width:not(:root)+* {
  margin-block-start: 0;
}

.mod-box-full-width:not(:root)+.mod-box-03 {
  margin-block-start: 30px;
}

.cp-terms.mod-box-full-width:not(:root)+* {
  margin-block-start: 30px;
}

:where(.theme-main__contents) a:not([class^=mod-], [class^=unq-], [class^=mf_]):focus-visible {
  color: #2E2821;
}

@media (hover: hover) {
  .mod-button__link--emphasis.mod-button__link--emphasis:where(:any-link, :enabled, summary):hover .btn-icon {
    background-color: #f6e4ec;
  }
}

@media screen and (min-width: 769px) {
  .theme-main:first-child {
    padding-block-end: 0;
  }

  .theme-main__inner {
    row-gap: 0;
  }

  :where(.theme-main:not(.theme-main--shift-heading) .theme-main__contents) h2.hdg-lv2:not([class^=mod-], [class^=unq-]) {
    padding: 30px 10px;
    font-size: 3.6rem;
  }

  :where(.theme-main:not(.theme-main--shift-heading) .theme-main__contents) h2.hdg-lv2::after {
    bottom: -29px;
    border-right: 26px solid transparent;
    border-left: 26px solid transparent;
    border-top: 30px solid #cf2a76;
  }

  .mod-box-03--step .mod-box-03__content:not(:last-child)::before {
    inset-block-end: -40px;
  }

  .mod-box-full-width.cp-box {
    padding: 40px calc(50vw - 50%);
  }

  .mod-box-full-width>.img-03 {
    margin-block-start: 30px !important;
  }

  .mod-list-description-02__item>dt {
    inline-size: 182px;
  }

  .mod-list-description-02__item>dd {}

  :where(.theme-main__contents) ol:not([class^=mod-], [class^=unq-], [class^=mf_]) {
    padding-inline-start: 30px;
  }

  :where(.theme-main__contents) ol:not([class^=mod-], [class^=unq-], [class^=mf_])>li:nth-child(-n+9)::before {
    inset-inline-start: -23px;
  }

  .mod-accordion__trigger {
    font-size: 2.4rem;
    justify-content: center;
  }

  .mod-box-full-width:not(:root)+* {
    margin-block-start: 0;
  }

  .mod-box-full-width:not(:root)+.mod-box-03 {
    margin-block-start: 60px;
  }

  .mod-box-full-width.cp-hdg.cp-terms {
    padding-block-end: 60px;
  }

  .cp-terms.mod-box-full-width:not(:root)+* {
    margin-block-start: 0;
  }

  .mod-list-description-02__item {
    align-items: inherit;
  }
}

@media screen and (max-width: 768px) {
  .theme-main__inner {
    row-gap: 0;
  }

  .mod-box-full-width>.btn-sfgi {
    margin: auto;
    margin-block-start: 40px;
    max-width: 244px;
  }

  .btn-sfgi .btn::after {
    width: 80px;
    height: 107px;
    background-size: contain;
    right: -62px;
  }

  .txt-momo {
    margin-top: 5px;
    padding-right: 20px;
  }
}

/* 既存モジュールより余白削除 */
div.prize-banner+.mod-layout {
  margin-block-start: 0;
}