@charset "UTF-8";
/*----------------------------------------------------------
  VARIABLES
----------------------------------------------------------*/
.btn-footer {
  font-family: Helvetica, "ゴシックMB101 M", "Gothic MB101 Medium", "A-OTF Gothic MB101 Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
}

.product-new .product-h3, .product-new .product-h4, .howto .howto-item .howto-ttl, .howto .howto-item .howto-big-ttl, .howto .howto-item .howto-step, .howto .howto-h3, .howto-accordion .accordion-head, .btn-block .btn-link, .btn-block .btn-ttl, .gift-sec .gift-btn, .gift-sec .gift-ttl, .gift-sec .box-01.campain-closed .campain-txt, .conditions-item a, .ttl-style03, .intruction-h4, .terms-accordion .accordion-head,
.qa-accordion .accordion-head, .qa-block .qa-ttl, .white-block .reason-ttl.dotted-line:after, .register-block .btn-link, .register-block .register-ttl, .txt-bold {
  font-family: Helvetica, "ゴシックMB101 DB", "Gothic MB101 DemiBold", "A-OTF Gothic MB101 Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
}

.intruction-item, .reward-accordion .reward-ttl, .reward-accordion .accordion-head .accordion-number, .reward-h5, .white-block .reason-ttl, .reason-head .reason-h3 {
  font-family: Helvetica, "ゴシックMB101 B", "Gothic MB101 Bold", "A-OTF Gothic MB101 Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}

/*----------------------------------------------------------
  MIXIN
----------------------------------------------------------*/
/*----------------------------------------------------------
  CUSTOM
----------------------------------------------------------*/
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

.btn-footer {
  font-family: "ゴシックMB101 M", "Gothic MB101 Medium", "A-OTF Gothic MB101 Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
}

.product-new .product-h3, .product-new .product-h4, .howto .howto-item .howto-ttl, .howto .howto-item .howto-big-ttl, .howto .howto-item .howto-step, .howto .howto-h3, .howto-accordion .accordion-head, .btn-block .btn-link, .btn-block .btn-ttl, .gift-sec .gift-btn, .gift-sec .gift-ttl, .gift-sec .box-01.campain-closed .campain-txt, .conditions-item a, .ttl-style03, .intruction-h4, .terms-accordion .accordion-head,
.qa-accordion .accordion-head, .qa-block .qa-ttl, .white-block .reason-ttl.dotted-line:after, .register-block .btn-link, .register-block .register-ttl, .txt-bold {
  font-family: "ゴシックMB101 DB", "Gothic MB101 DemiBold", "A-OTF Gothic MB101 Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
}

.intruction-item, .reward-accordion .reward-ttl, .reward-accordion .accordion-head .accordion-number, .reward-h5, .white-block .reason-ttl, .reason-head .reason-h3 {
  font-family: "ゴシックMB101 B", "Gothic MB101 Bold", "A-OTF Gothic MB101 Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}

html {
  font-size: 1rem;
}
@media (min-width: 769px) and (max-width: 1119px) {
  html {
    font-size: 1.4285714286vw;
  }
}
@media (max-width: 768px) {
  html {
    font-size: 2.1333333333vw;
  }
}

.page-amazon {
  --bright-red: #e60012;
  --yellow: #fff367;
  --bright-orange: #ef5431;
}
.page-amazon sup {
  line-height: 1;
}
.page-amazon img {
  max-width: 100%;
  height: auto;
  image-rendering: auto;
  transform: scale(1);
  transform-origin: 0 0;
}
@media (max-width: 768px) {
  .page-amazon img {
    width: 100%;
  }
}
.page-amazon #wrapper {
  background-color: #fdedee;
}
.page-amazon a:focus:not(:active) {
  outline: -webkit-focus-ring-color auto 0.3125rem;
}
.page-amazon a:active {
  outline: none;
}

.p-container {
  position: relative;
}
@media (min-width: 769px) {
  .p-container {
    width: 60.625rem;
    margin: 0 auto;
  }
}

.txt-red {
  color: var(--bright-red);
}

.txt-orange {
  color: var(--bright-orange);
}

.txt-yellow {
  color: var(--yellow);
}

.note-list {
  list-style: none;
  font-size: 0.75rem;
  text-align: left;
}

@media (min-width: 769px) {
  .only-sp {
    display: none;
  }
}

@media (max-width: 768px) {
  .only-pc {
    display: none;
  }
}

/* KV SECTION
----------------------------- */
.bg-shadow {
  position: relative;
}
.bg-shadow:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 19.375rem;
  background: #fdedee url(../images/box_shot2_1/kv_bg_gradient.png) no-repeat center bottom;
  background-size: 100% auto;
}
@media (max-width: 768px) {
  .bg-shadow:before {
    height: 17.9375rem;
    background: #fdedee url(../images/shot3/kv_bg_gradient_sp.png) no-repeat center bottom;
    background-size: 100% auto;
  }
}
@media (min-width: 769px) {
  .bg-shadow:before {
    bottom: -0.9375rem;
  }
}

.fixed_banner {
  position: fixed;
  bottom: 0;
  right: 1rem;
  z-index: 100;
  width: 11rem;
  transform: translateY(100%);
  will-change: transform;
}
.fixed_banner.is-sticky {
  bottom: 1.625rem;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  animation: opacity 2s ease, translate 2s 1s ease;
}
@media (max-width: 768px) {
  .fixed_banner {
    bottom: 1.25rem;
    right: 0.4375rem;
    width: 18.5625rem;
    transform: translateY(100%);
    will-change: transform;
  }
  .fixed_banner.is-sticky {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    animation: opacity 2s ease, translate 2s 1s ease;
  }
}
@media (max-width: 768px) {
  .fixed_banner.-campaign {
    width: 33.75rem;
    display: flex;
    align-items: center;
    right: 0;
    bottom: 5rem;
    visibility: hidden;
  }
  .fixed_banner.-campaign a:last-child {
    width: 18.5625rem;
  }
  .fixed_banner.-campaign.is-sticky {
    visibility: visible;
  }
}
.fixed_banner.-campaign .btn-campaign {
  display: block;
  width: 9.5rem;
}
@media (min-width: 769px) {
  .fixed_banner.-campaign .btn-campaign {
    margin-inline: auto;
    margin-bottom: -0.625rem;
  }
}
@media (max-width: 768px) {
  .fixed_banner.-campaign .btn-campaign {
    width: 15rem;
  }
}

.line-white {
  display: inline-block;
  background: url(../images/line_dot_white.png) bottom center repeat-x;
  background-size: auto 0.125rem;
}

.kv-sec {
  background: url(../images/shot3/kv_bg.png) top 3.75rem center repeat-x;
  background-size: auto 32.75rem;
}
@media (max-width: 768px) {
  .kv-sec {
    background: url(../images/shot3/kv_bg_sp.png) top center repeat-y;
    background-size: 100% auto;
  }
}
.kv-sec .kv-top {
  position: relative;
  padding: 0.625rem 0 0.25rem;
  background-color: #fff;
}
@media (max-width: 768px) {
  .kv-sec .kv-top {
    padding: 0.75rem 0 0.8125rem 0;
    text-align: center;
  }
}
.kv-sec .kv-top .kv-logo {
  width: 18.75rem;
}
@media (max-width: 768px) {
  .kv-sec .kv-top .kv-logo {
    width: 26.375rem;
    margin-inline: auto;
  }
}
.kv-sec .kv-img {
  position: relative;
  line-height: 0;
}
@media (min-width: 769px) {
  .kv-sec .kv-img {
    width: 60.875rem;
    text-align: center;
  }
}
@media (max-width: 768px) {
  .kv-sec .kv-img {
    z-index: 1;
  }
}

/* REGISTER BLOCK
----------------------------- */
.register-block {
  padding: 0.375rem 0 3.5rem;
  text-align: center;
  background: #fdedee;
}
.register-block.register-01 {
  padding: 0.1875rem 0 3.5rem;
}
@media (max-width: 768px) {
  .register-block.register-01 {
    padding: 2.75rem 0 5.5rem;
  }
}
@media (max-width: 768px) {
  .register-block {
    padding: 2.625rem 0 5.625rem;
  }
}
.register-block .register-ttl {
  font-size: 1.625rem;
  line-height: 1;
  letter-spacing: 0.06em;
}
@media (min-width: 769px) {
  .register-block .register-ttl {
    font-size: 1.25rem;
  }
}
.register-block .register-h4 {
  margin: 2.3125rem auto 0;
  width: 21.5rem;
}
@media (max-width: 768px) {
  .register-block .register-h4 {
    margin: 0.625rem auto 0;
    text-align: center;
    width: 26.5625rem;
  }
}
.register-block .btn-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row wrap;
  text-decoration: none;
  width: 31.25rem;
  height: 3.75rem;
  border-radius: 1.875rem;
  color: #fff;
  text-align: center;
  background-color: #71ad00;
}
@media (max-width: 768px) {
  .register-block .btn-link {
    width: 39.375rem;
    height: 7.5rem;
    border-radius: 3.75rem;
  }
}
.register-block .btn-link:after {
  content: "";
  position: absolute;
  right: 4.125rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.8125rem;
  height: 1.25rem;
  background: url(../images/shot3/btn_arrow_white.png) center right no-repeat;
  background-size: contain;
}
@media (max-width: 768px) {
  .register-block .btn-link:after {
    width: 1.1875rem;
    height: 1.875rem;
    right: 1.8125rem;
    background-image: url(../images/shot3/btn_arrow_white_sp.png);
  }
}
.register-block .btn-cta {
  margin: 1.25rem auto 0;
  padding-right: 1.5625rem;
  font-size: 2.25rem;
  letter-spacing: 0.05em;
}
.register-block .btn-cta .txt-md {
  font-size: 1.875rem;
}
.register-block .btn-cta small {
  font-size: 1.25rem;
}
@media (min-width: 769px) {
  .register-block .btn-cta {
    margin: 0.5rem auto 0;
    padding-right: 0.9375rem;
    font-size: 1.4375rem;
  }
  .register-block .btn-cta small {
    font-size: 0.8125rem;
  }
  .register-block .btn-cta .txt-md {
    font-size: 1.1875rem;
  }
}

.ttl-style01 {
  position: relative;
  display: inline-block;
  font-size: 1.25rem;
  line-height: 1.375rem;
  letter-spacing: 0.05em;
}
.ttl-style01:before {
  content: "";
  position: absolute;
  right: 100%;
  top: 0.125rem;
  width: 1.625rem;
  height: 1.3125rem;
  background: url(../images/ttl_line01_green.png) top left no-repeat;
}
.ttl-style01:after {
  content: "";
  position: absolute;
  left: 100%;
  top: 0.125rem;
  width: 1.625rem;
  height: 1.3125rem;
  background: url(../images/ttl_line01_green.png) top right no-repeat;
}
@media (max-width: 768px) {
  .ttl-style01 {
    font-size: 1.625rem;
  }
}
.ttl-style01:before, .ttl-style01:after {
  background-size: auto 1.3125rem;
}
@media (max-width: 768px) {
  .ttl-style01:before, .ttl-style01:after {
    top: -0.125rem;
    width: 2.1875rem;
    height: 1.6875rem;
  }
}
.txt-green .ttl-style01 {
  color: #71ad00;
}
.txt-green .ttl-style01:before, .txt-green .ttl-style01:after {
  background-image: url(../images/shot3/ttl_line01_green.png);
}
@media (max-width: 768px) {
  .txt-green .ttl-style01:before, .txt-green .ttl-style01:after {
    top: -0.125rem;
    width: 2.1875rem;
    height: 1.6875rem;
    background-image: url(../images/shot3/ttl_line01_green_sp.png);
    background-size: auto 100%;
  }
}
@media (min-width: 769px) {
  .txt-blue .ttl-style01 {
    font-size: 1.5rem;
    line-height: 1;
  }
}
@media (min-width: 769px) {
  .txt-blue .ttl-style01:before, .txt-blue .ttl-style01:after {
    width: 2rem;
    height: 1.5rem;
    background-image: url(../images/shot3/ttl_line01_blue.png);
  }
}
@media (max-width: 768px) {
  .txt-blue .ttl-style01:before, .txt-blue .ttl-style01:after {
    background-image: url(../images/shot3/ttl_line01_blue_sp.png);
    background-size: auto 100%;
  }
}

/* REASON SECTION
----------------------------- */
.reason-sec {
  padding: 2.25rem 0 0;
}
@media (max-width: 768px) {
  .reason-sec {
    padding: 3.625rem 0 0;
  }
  .reason-sec .p-container {
    padding: 0 1.875rem;
  }
}

.reason-block {
  position: relative;
  padding: 3.5rem 0 0;
  z-index: 0;
}
.reason-block + .reason-block {
  margin-top: 7.625rem;
}
@media (max-width: 768px) {
  .reason-block + .reason-block {
    margin-top: 9.5625rem;
  }
}
.reason-block .deco-01 {
  position: absolute;
  top: -7.25rem;
  left: calc(50% - 23rem);
  width: 53.125rem;
}
@media (max-width: 768px) {
  .reason-block .deco-01 {
    top: -8.25rem;
    left: 4.25rem;
    width: 41.1875rem;
  }
}

.reason-head {
  position: relative;
  margin-bottom: 4.9375rem;
  color: var(--bright-red);
  height: 3.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: url(../images/shot3/ttl_bg.png) center no-repeat;
  background-size: 100% auto;
}
@media (max-width: 768px) {
  .reason-head {
    height: 5.625rem;
    margin-bottom: 8.125rem;
    background-image: url(../images/shot3/ttl_bg_sp.png);
  }
}
.reason-head .reason-h3 {
  line-height: 1;
  font-size: 1.875rem;
  color: #fff;
  color: #fff;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .reason-head .reason-h3 {
    font-size: 1.25rem;
  }
}
.reason-head .reason-number {
  position: absolute;
  left: 50%;
  bottom: 100%;
  margin-bottom: -0.0625rem;
  transform: translateX(-50%);
}
@media (max-width: 768px) {
  .reason-head .reason-number {
    margin-bottom: -0.3125rem;
  }
}
.reason-head .reason-number img {
  width: auto;
  height: 3.5rem;
}
@media (max-width: 768px) {
  .reason-head .reason-number img {
    height: 5rem;
  }
}
.txt-nowrap {
  white-space: nowrap;
}

.white-block {
  position: relative;
  border-radius: 1.875rem;
  color: #000;
  background-color: #fff;
}
.white-block + .white-block {
  margin-top: 9.5625rem;
}
@media (min-width: 769px) {
  .white-block {
    border-radius: 1.875rem;
  }
  .white-block + .white-block {
    margin-top: 7rem;
  }
}
.white-block .reason-ttl {
  margin-bottom: 2.1875rem;
  font-size: 2.25rem;
  line-height: 1.5;
  color: #1f2d58;
}
@media (min-width: 769px) {
  .white-block .reason-ttl {
    margin-bottom: 1.625rem;
    font-size: 1.5rem;
    letter-spacing: 0.06em;
  }
}
.white-block .reason-ttl.dotted-line:after {
  content: "";
  display: block;
  height: 0.25rem;
  margin-top: 0.5rem;
  background: url(../images/shot3/line_dot_blue.png) bottom left repeat-x;
  background-size: auto 100%;
}
@media (min-width: 769px) {
  .white-block .reason-ttl.dotted-line:after {
    margin-top: 0.75rem;
    font-size: 1.375rem;
    height: 0.1875rem;
  }
}
.white-block .reason-img {
  position: absolute;
  top: -3.125rem;
  right: 9.0625rem;
  display: block;
  width: 12.75rem;
}
@media (max-width: 768px) {
  .white-block .reason-img {
    top: -4.375rem;
    right: 0.8125rem;
    width: 17.5rem;
  }
}
.white-block .reason-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2.5rem 0 2.5rem;
  min-height: 28.75rem;
}
@media (min-width: 769px) {
  .white-block .reason-row {
    padding: 0 10rem 0 10rem;
    min-height: 17.5rem;
  }
}
.white-block .col-left p {
  font-size: 1.125rem;
  line-height: 1.53;
  letter-spacing: 0.04em;
  color: #1f2d58;
}
@media (max-width: 768px) {
  .white-block .col-left {
    margin-top: 0.5rem;
    width: 21rem;
  }
  .white-block .col-left p {
    font-size: 1.75rem;
    line-height: 1.5;
  }
}
.white-block .txt-dot {
  position: relative;
}
.white-block .txt-dot::before {
  content: "";
  position: absolute;
  top: -0.8125rem;
  left: 0;
  width: 100%;
  height: 0.5rem;
  background: url(../images/shot3/ico_dot.png) bottom center no-repeat;
  background-size: auto 100%;
}
@media (min-width: 769px) {
  .white-block .txt-dot::before {
    top: -0.6875rem;
    height: 0.375rem;
    left: 0.25rem;
  }
}
@media (min-width: 769px) {
  .white-block.block-02 .reason-row {
    min-height: 22.8125rem;
    margin-bottom: 2.125rem;
  }
  .white-block.block-02 .col-left {
    margin-left: auto;
  }
  .white-block.block-02 .reason-img {
    left: 8.9375rem;
    right: auto;
  }
}
@media (max-width: 768px) {
  .white-block.block-02 .reason-row {
    align-items: flex-start;
    min-height: 32.25rem;
    margin-bottom: 3.8125rem;
  }
  .white-block.block-02 .reason-img {
    top: -4.125rem;
    left: 0.6875rem;
    right: auto;
  }
  .white-block.block-02 .col-left {
    margin: 5.5rem 0 0 auto;
  }
}
.white-block.block-03 {
  position: relative;
}
.white-block.block-03 .deco-img {
  position: absolute;
  z-index: -1;
  top: -6.75rem;
  left: 2.3125rem;
  width: 20.8125rem;
}
@media (max-width: 768px) {
  .white-block.block-03 {
    margin-top: 8.125rem;
  }
  .white-block.block-03 .reason-img {
    width: 18.75rem;
  }
  .white-block.block-03 .col-left {
    margin-top: 0;
  }
  .white-block.block-03 .reason-ttl.dotted-line:after {
    width: 19.375rem;
  }
}
@media (min-width: 769px) {
  .white-block.block-03 {
    margin-top: 4.9375rem;
  }
  .white-block.block-03 .deco-img {
    top: -4rem;
    left: 9.875rem;
    width: 25.8125rem;
  }
  .white-block.block-03 .reason-img {
    top: -3.125rem;
    right: 9.125rem;
    width: 13.625rem;
  }
}

.reward {
  padding-bottom: 3.75rem;
}
.reward-h5 {
  margin-bottom: 1.75rem;
  text-align: center;
  color: #1f2d58;
  font-size: 1.5rem;
}
@media (max-width: 768px) {
  .reward-h5 {
    margin-bottom: 2.5rem;
  }
  .reward-h5 .ttl-style01 {
    font-size: 2.25rem;
    line-height: 1;
  }
  .reward-h5 .ttl-style01:after, .reward-h5 .ttl-style01:before {
    top: -0.125rem;
    width: 2.1875rem;
    height: 2.1875rem;
  }
}
.reward-accordion {
  margin: 0 auto;
  width: 40rem;
  border-radius: 1.875rem;
  border: solid 0.125rem #1f2d58;
}
.reward-accordion + .reward-accordion {
  margin-top: 1.875rem;
}
.reward-accordion.is-open .accordion-head:after {
  transform: rotate(-180deg) translateY(50%);
}
@media (max-width: 768px) {
  .reward-accordion {
    width: 39.375rem;
    border-width: 0.1875rem;
  }
  .reward-accordion + .reward-accordion {
    margin-top: 3.75rem;
  }
}
.reward-accordion button {
  width: 100%;
  background: transparent;
  border: none;
}
.reward-accordion .accordion-head {
  position: relative;
  display: flex;
  align-items: center;
  padding: 1.4375rem 2.75rem 1.25rem;
  font-size: 2.25rem;
  line-height: 1.28;
  letter-spacing: 0.06em;
  color: #1f2d58;
  min-height: 4.375rem;
}
.reward-accordion .accordion-head:after {
  content: "";
  position: absolute;
  right: 2.6875rem;
  top: 50%;
  width: 1.3125rem;
  height: 0.875rem;
  transform: translateY(-50%);
  background: url(../images/shot3/ico_arrow_blue.png) top center no-repeat;
  background-size: 100% auto;
  transition: transform 0.1s ease;
}
@media (max-width: 768px) {
  .reward-accordion .accordion-head:after {
    width: 2rem;
    height: 1.5625rem;
    right: 2.375rem;
    background-image: url(../images/shot3/ico_arrow_blue_sp.png);
  }
}
@media (min-width: 769px) {
  .reward-accordion .accordion-head {
    padding: 0.3125rem 1.8125rem;
    font-size: 1.5rem;
    line-height: 1.48;
    min-height: 4.25rem;
    transition: all 0.3s ease;
  }
  .reward-accordion .accordion-head:hover {
    cursor: pointer;
  }
}
.reward-accordion .accordion-head .accordion-number {
  position: relative;
  text-align: left;
  width: 3rem;
}
@media (max-width: 768px) {
  .reward-accordion .accordion-head .accordion-number {
    width: 4.625rem;
  }
}
.reward-accordion .accordion-head .accordion-ttl {
  position: relative;
  padding: 0 1.875rem;
  text-align: left;
}
.reward-accordion .accordion-head .accordion-ttl:before {
  content: "";
  position: absolute;
  top: -0.25rem;
  bottom: -0.25rem;
  left: 0;
  border-left: 0.125rem solid #1f2d58;
}
@media (min-width: 769px) {
  .reward-accordion .accordion-head .accordion-ttl {
    padding: 0 4.375rem 0 0.9375rem;
    text-align: center;
    flex: 1;
  }
  .reward-accordion .accordion-head .accordion-ttl:before {
    top: 50%;
    transform: translateY(-50%);
    min-height: 3.125rem;
    border-left-width: 0.0625rem;
  }
}
.reward-accordion .accordion-body {
  display: none;
}
.reward-accordion .accordion-inner {
  padding: 1.5rem 1.875rem 2rem;
  border-top: 0.125rem solid #1f2d58;
  color: #1f2d58;
}
@media (max-width: 768px) {
  .reward-accordion .accordion-inner {
    padding: 1.875rem 1.4375rem 2.25rem;
    border-top-width: 0.1875rem;
  }
}
.reward-accordion .reward-ttl {
  margin-bottom: 0.8125rem;
  font-size: 1.5rem;
  line-height: 1.48;
  letter-spacing: 0.06em;
  text-align: center;
}
@media (max-width: 768px) {
  .reward-accordion .reward-ttl {
    margin-bottom: 1.75rem;
    font-size: 2.25rem;
    line-height: 1.5;
  }
}
.reward-accordion .txt-note {
  display: table;
  margin: 1.25rem auto 0;
  font-size: 0.625rem;
  letter-spacing: 0.04em;
}
@media (max-width: 768px) {
  .reward-accordion .txt-note {
    margin-top: 1.125rem;
    font-size: 1rem;
    line-height: 1.5;
  }
}

.gift-sec .txt-note li a {
    color: #1f2d58;
}

.reward-table {
  margin: 0 auto;
  width: 36.25rem;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
  background-color: #f8f8f8;
}
@media (min-width: 769px) {
  .reward-table {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    font-size: 0.875rem;
    width: 33.75rem;
  }
}
.reward-table .reward-caption {
  border-bottom: 0.25rem solid #fff;
  text-align: center;
  padding: 0.9375rem 0;
  width: 100%;
  background-color: #eee;
}
@media (min-width: 769px) {
  .reward-table .reward-caption {
    padding: 0.4375rem 0;
  }
}
@media (min-width: 769px) {
  .reward-table .reward-tr {
    width: 33.3333%;
  }
  .reward-table .reward-tr + .reward-tr {
    position: relative;
  }
  .reward-table .reward-tr + .reward-tr:before {
    content: "";
    position: absolute;
    top: 0;
    left: -0.125rem;
    width: 0.25rem;
    height: 100%;
    background-color: #fff;
  }
}
@media (min-width: 769px) {
  .reward-table .reward-tr.reward-tr01 {
    width: 10.625rem;
  }
  .reward-table .reward-tr.reward-tr02 {
    width: 12.625rem;
  }
  .reward-table .reward-tr.reward-tr03 {
    flex: 1;
  }
  .reward-table .reward-tr.reward-tr03 .reward-th {
    font-size: 1.1875rem;
  }
}
@media (max-width: 768px) {
  .reward-table .reward-tr {
    display: flex;
    flex-flow: row wrap;
  }
  .reward-table .reward-tr.reward-tr02 .reward-td {
    padding: 1.75rem 0.625rem 1.6875rem 2rem;
  }
  .reward-table .reward-tr.reward-tr03 .reward-th {
    font-size: 1.75rem;
  }
}
.reward-table .reward-th {
  border-bottom: 0.25rem solid #fff;
  text-align: center;
  background-color: #eee;
}
@media (max-width: 768px) {
  .reward-table .reward-th {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.875rem 1.875rem;
    width: 14.125rem;
    line-height: 1.5;
    font-size: 2.25rem;
  }
}
@media (min-width: 769px) {
  .reward-table .reward-th {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3.875rem;
    border-bottom: 0.25rem solid #fff;
    padding: 0.8125rem 0;
    font-size: 1.5rem;
  }
}
@media (max-width: 768px) {
  .reward-table .reward-td {
    flex: 1;
    padding: 1.4375rem 0.625rem 1.4375rem 2rem;
    font-size: 1.5rem;
    line-height: 1.5;
    border-bottom: 0.25rem solid #fff;
  }
  .reward-table .reward-td p {
    line-height: 1.5;
  }
  .reward-table .reward-td p + p {
    margin-top: 0.5rem;
  }
}
@media (min-width: 769px) {
  .reward-table .reward-td {
    padding: 1.0625rem 0.625rem;
    font-size: 0.875rem;
    letter-spacing: 0.04em;
  }
  .reward-table .reward-td p {
    display: table;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.5;
  }
  .reward-table .reward-td p + p {
    margin-top: 0.8125rem;
  }
}
.reward-table .txt-note {
  margin-top: 1rem;
}
@media (max-width: 768px) {
  .reward-table .txt-note {
    display: block;
    margin-top: 0.625rem;
  }
}
.reward-table .table-img img {
  margin: 1rem 0 0;
  display: block;
  width: 18.125rem;
}
@media (min-width: 769px) {
  .reward-table .table-img img {
    margin: 1.125rem auto 0;
    width: 6.3125rem;
  }
}

@media (min-width: 769px) {
  .reward-02 .accordion-head {
    min-height: 4.0625rem;
  }
  .reward-02 .reward-ttl {
    margin-bottom: 1.375rem;
  }
}
@media (max-width: 768px) {
  .reward-02 .accordion-inner {
    min-height: 61.375rem;
  }
}

@media (max-width: 768px) {
  .reward-03 .accordion-head {
    line-height: 1.5;
    padding: 1.125rem 2.75rem 0.875rem;
  }
}
@media (min-width: 769px) {
  .reward-03 .accordion-head {
    padding: 0.6875rem 1.75rem 0.3125rem;
  }
  .reward-03 .accordion-head .accordion-ttl {
    text-align: left;
  }
  .reward-03 .accordion-head .accordion-ttl:before {
    min-height: 4.375rem;
    margin-top: -0.1875rem;
  }
  .reward-03 .accordion-inner {
    padding-bottom: 1.875rem;
  }
  .reward-03 .reward-img {
    display: block;
    margin: 0 auto;
    width: 32.3125rem;
  }
  .reward-03 .reward-img img {
    margin-left: 0.3125rem;
  }
  .reward-03 .txt-note {
    margin: 1.25rem 1.5625rem 0 auto;
    width: 19.625rem;
    text-align: center;
  }
}

.reason-02 {
  padding: 10.875rem 0 6.3125rem;
  background-color: #fff;
}
.reason-02 .reason-head {
  margin-bottom: 3.75rem;
}
@media (min-width: 769px) {
  .reason-02 {
    padding: 5.8125rem 0 2.5rem;
  }
  .reason-02 .reason-head {
    margin-bottom: 1.5625rem;
  }
}

.qa-head {
  margin: 0 auto 2.875rem;
}
.qa-head .qa-h3 {
  font-size: 2.75rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-weight: bold;
  color: #1f2d58;
}
@media (max-width: 768px) {
  .qa-head {
    text-align: center;
  }
  .qa-head .qa-logo {
    margin-bottom: 0.5rem;
    width: 19.0625rem;
  }
}
@media (min-width: 769px) {
  .qa-head {
    display: flex;
    align-items: center;
    width: 40rem;
    margin: 0 auto 1.25rem;
  }
  .qa-head .qa-logo {
    width: 13.375rem;
    margin-right: 2.0625rem;
  }
  .qa-head .qa-h3 {
    font-size: 1.875rem;
  }
}

.qa-block {
  padding: 0 3.75rem 1.875rem;
  border-radius: 1.875rem;
  border: solid 0.125rem var(--bright-red);
}
.qa-block + .qa-block {
  margin-top: 1.875rem;
}
@media (max-width: 768px) {
  .qa-block {
    padding: 0 1.75rem 3.625rem;
  }
  .qa-block + .qa-block {
    margin-top: 3.75rem;
  }
  .qa-block .qa-accordion p {
    text-align: center;
  }
}
@media (min-width: 769px) {
  .qa-block .qa-accordion .accordion-head {
    padding: 0.625rem 0;
  }
  .qa-block .qa-accordion .accordion-inner {
    padding: 1.4375rem 0.625rem 1.125rem;
  }
  .qa-block .qa-accordion .accordion-inner:before {
    width: 39rem;
  }
}
.qa-block .qa-question {
  margin-bottom: 1.75rem;
  position: relative;
  padding: 2.1875rem;
  text-align: center;
  font-size: 1.5rem;
  letter-spacing: 0.06em;
  color: #1f2d58;
  background: url(../images/shot3/line_dot_blue.png) bottom left repeat-x;
  background-size: auto 0.1875rem;
}
.qa-block .qa-question:before {
  content: "";
  position: absolute;
  top: -0.625rem;
  left: -0.125rem;
  width: 4.375rem;
  height: 4.375rem;
  background: #1f2d58 url(../images/shot3/qa_ttl01.png) bottom left repeat-x;
  background-size: 100% auto;
}
@media (max-width: 768px) {
  .qa-block .qa-question {
    padding: 1.75rem 0 1.375rem;
    font-size: 2.25rem;
    line-height: 1.33;
    min-height: 9.375rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .qa-block .qa-question:before {
    top: 1.75rem;
    left: -2.5rem;
    width: 6.25rem;
    height: 6.25rem;
  }
}
.qa-block p, .qa-block .txt-note {
  display: table;
  margin-left: auto;
  margin-right: auto;
}
.qa-block .qa-ttl {
  margin-bottom: 1.875rem;
  font-size: 1.5rem;
  text-align: center;
  letter-spacing: 0.06em;
}
@media (max-width: 768px) {
  .qa-block .qa-ttl {
    font-size: 2.25rem;
    line-height: 1.5;
    margin-bottom: 1.75rem;
  }
}
.qa-block .qa-item + .qa-item {
  margin-top: 2.3125rem;
}
@media (max-width: 768px) {
  .qa-block .qa-item + .qa-item {
    margin-top: 2.125rem;
  }
}
@media (min-width: 769px) {
  .qa-block .qa-item .txt-note {
    margin-top: 1.1875rem;
  }
}
.qa-block .qa-number {
  margin: 0 auto 1rem;
  height: 2.75rem;
  line-height: 2.75rem;
  font-size: 1.75rem;
  border-radius: 1.375rem;
  text-align: center;
  color: #fff;
  background-color: #666;
}
@media (min-width: 769px) {
  .qa-block .qa-number {
    margin: 0 auto 1.5625rem;
    width: 37.5rem;
    height: 1.875rem;
    line-height: 1.875rem;
    font-size: 1.125rem;
    border-radius: 0.9375rem;
  }
}
.qa-block .qa-img {
  display: block;
  margin-top: 0.875rem;
}
@media (max-width: 768px) {
  .qa-block .qa-img {
    margin-top: 2.1875rem;
  }
}
.qa-block .txt-note {
  margin-top: 0.625rem;
  font-size: 0.625rem;
  line-height: 1.5;
  letter-spacing: 0.12em;
}
@media (max-width: 768px) {
  .qa-block .txt-note {
    margin-top: 1.125rem;
    font-size: 1rem;
    line-height: 1.5;
  }
}

.terms-accordion,
.qa-accordion {
  width: 40rem;
  margin: 0 auto;
  border: solid 0.0625rem #666;
  background-color: #eee;
}
@media (max-width: 768px) {
  .terms-accordion,
  .qa-accordion {
    width: 39.375rem;
  }
}
.terms-accordion.is-open .accordion-head .icon-arrow,
.qa-accordion.is-open .accordion-head .icon-arrow {
  transform: rotate(-180deg);
}
.terms-accordion button,
.qa-accordion button {
  width: 100%;
  background: transparent;
  border: none;
}
.terms-accordion .accordion-head,
.qa-accordion .accordion-head {
  padding: 0.9375rem 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  line-height: 1;
  letter-spacing: 0.06em;
  color: #666;
}
@media (max-width: 768px) {
  .terms-accordion .accordion-head,
  .qa-accordion .accordion-head {
    padding: 1.8125rem 0 1.5rem;
    font-size: 1.75rem;
    line-height: 1;
  }
}
@media (min-width: 769px) {
  .terms-accordion .accordion-head:hover,
  .qa-accordion .accordion-head:hover {
    cursor: pointer;
  }
}
.terms-accordion .accordion-head .icon-arrow,
.qa-accordion .accordion-head .icon-arrow {
  display: block;
  margin-left: 1.75rem;
  width: 1.4375rem;
  height: 0.9375rem;
  transform: rotate(0deg);
  background: url(../images/shot3/ico_arrow_grey.png) center no-repeat;
  background-size: 100% auto;
  transition: transform 0.1s ease;
}
@media (max-width: 768px) {
  .terms-accordion .accordion-head .icon-arrow,
  .qa-accordion .accordion-head .icon-arrow {
    width: 2rem;
    height: 1.1875rem;
    margin-left: 1.25rem;
    background-image: url(../images/shot3/ico_arrow_grey_sp.png);
  }
}
.terms-accordion .accordion-ttl,
.qa-accordion .accordion-ttl {
  padding: 0.875rem;
}
.terms-accordion .accordion-body,
.qa-accordion .accordion-body {
  display: none;
}
.terms-accordion .accordion-inner,
.qa-accordion .accordion-inner {
  position: relative;
  padding: 1.125rem 0.625rem 0.75rem;
}
.terms-accordion .accordion-inner p,
.qa-accordion .accordion-inner p {
  font-size: 1.125rem;
  line-height: 1.53;
  letter-spacing: 0.06em;
}
@media (max-width: 768px) {
  .terms-accordion .accordion-inner,
  .qa-accordion .accordion-inner {
    padding: 2.125rem 1.5rem 2rem;
  }
  .terms-accordion .accordion-inner p,
  .qa-accordion .accordion-inner p {
    font-size: 1.75rem;
    line-height: 1.5;
  }
}
.terms-accordion .accordion-inner:before,
.qa-accordion .accordion-inner:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 0.1875rem;
  background: url(../images/shot3/line_dot_grey.png) bottom left repeat-x;
  background-size: auto 100%;
}
@media (max-width: 768px) {
  .terms-accordion .accordion-inner:before,
  .qa-accordion .accordion-inner:before {
    width: 36.125rem;
  }
}

@media (min-width: 769px) {
  .qa-02 {
    padding-bottom: 1.8125rem;
  }
  .qa-02 .qa-ttl {
    margin-bottom: 1.75rem;
  }
  .qa-02 .qa-img {
    margin: 1.4375rem auto 0;
    width: 37.5rem;
  }
  .qa-02 .accordion-inner {
    padding-bottom: 0.75rem !important;
  }
}
@media (max-width: 768px) {
  .qa-02 .qa-ttl {
    margin-bottom: 1.6875rem;
  }
  .qa-02 .accordion-inner {
    padding: 2.375rem 1.5rem 2.125rem;
  }
  .qa-02 .qa-img {
    margin-top: 2rem;
  }
}

@media (min-width: 769px) {
  .qa-03 .accordion-inner {
    padding: 1.875rem 0.625rem 2.125rem !important;
    text-align: center;
  }
}
@media (max-width: 768px) {
  .qa-03 .qa-question {
    padding-left: 2.5rem;
  }
  .qa-03 .qa-ttl {
    margin-bottom: 2.0625rem;
  }
  .qa-03 .accordion-inner {
    padding: 2.5rem 1.5rem 2.375rem;
  }
  .qa-03 .qa-img {
    margin-top: 1.875rem;
  }
}

.qa-table {
  margin: 1.9375rem auto 0;
  border-radius: 1.375rem;
  background-color: #fff;
}
@media (min-width: 769px) {
  .qa-table {
    margin: 0.75rem auto 0;
    width: 37.5rem;
    display: flex;
    flex-flow: row wrap;
  }
}
@media (max-width: 768px) {
  .qa-table .qa-tr {
    display: flex;
    flex-flow: row wrap;
  }
}
@media (min-width: 769px) {
  .qa-table .qa-tr {
    width: 33.3333%;
  }
  .qa-table .qa-tr + .qa-tr {
    position: relative;
  }
  .qa-table .qa-tr + .qa-tr:before {
    content: "";
    position: absolute;
    top: 0;
    left: -0.125rem;
    width: 0.25rem;
    height: 100%;
    background-color: #eee;
  }
}
.qa-table .qa-th {
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 0.25rem solid #eee;
  padding: 0.9375rem;
  text-align: center;
}
@media (min-width: 769px) {
  .qa-table .qa-th {
    height: 4.375rem;
  }
}
@media (max-width: 768px) {
  .qa-table .qa-th {
    width: 12.875rem;
    border-right: 0.25rem solid #eee;
  }
}
.qa-table .qa-td {
  padding: 1rem 0.625rem;
  text-align: center;
}
.qa-table .qa-td p {
  font-size: 0.875rem;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .qa-table .qa-td {
    padding: 1.5625rem 0.625rem;
    flex: 1;
    border-bottom: 0.25rem solid #eee;
  }
  .qa-table .qa-td p {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
.qa-table .txt-note {
  margin-top: 0.9375rem;
  text-align: left;
}
@media (max-width: 768px) {
  .qa-table .txt-note {
    margin-top: 0.625rem;
  }
}
.qa-table .qa-tr01 .qa-th img {
  width: 6.25rem;
}
@media (max-width: 768px) {
  .qa-table .qa-tr01 .qa-th img {
    width: 9rem;
  }
}
.qa-table .qa-tr02 .qa-th img {
  width: 5.25rem;
}
@media (max-width: 768px) {
  .qa-table .qa-tr02 .qa-th img {
    width: 7.5rem;
  }
  .qa-table .qa-tr02 .txt-note {
    margin-top: 0.4375rem;
  }
}
.qa-table .qa-tr03 .qa-th img {
  width: 4.6875rem;
}
@media (max-width: 768px) {
  .qa-table .qa-tr03 .qa-th img {
    width: 6.75rem;
  }
  .qa-table .qa-tr03 .qa-td {
    padding-bottom: 1.25rem;
  }
}

/* INTRUCTION SECTION
----------------------------- */
.intruction {
  margin: 11rem 0 0 !important;
  padding: 0 0 6.25rem;
  font-size: 0.8125rem;
  line-height: 1.5384615385;
  letter-spacing: 0.05em;
}
.intruction p {
  font-size: 0.8125rem;
  line-height: 1.5384615385;
}
.intruction .reason-head {
  margin-bottom: 3.125rem;
}
@media (min-width: 769px) {
  .intruction {
    margin: 5.875rem 0 0 !important;
    padding: 0 0 2.5rem;
  }
  .intruction .reason-head {
    margin-bottom: 1.4375rem;
  }
  .intruction p {
    font-size: 0.875rem;
  }
  .intruction .txt-01 {
    letter-spacing: 0.1em;
  }
}
.intruction-h4 {
  margin: 0 0 3.125rem;
  font-size: 2.75rem;
  line-height: 1.5;
  text-align: center;
  color: #1f2d58;
}
@media (min-width: 769px) {
  .intruction-h4 {
    margin-bottom: 1.4375rem;
    font-size: 1.875rem;
  }
}

.intruction-list {
  margin: 1.375rem 0 0;
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
}
@media (min-width: 769px) {
  .intruction-list {
    margin: 0;
  }
}

.intruction-item {
  position: relative;
  width: 100%;
  color: #1f2d58;
  background-color: #fff;
  border: 0.125rem solid #1f2d58;
}
.intruction-item p {
  font-size: 2.25rem;
  line-height: 1.5;
}
.intruction-item .intruction-img {
  position: absolute;
  bottom: -0.125rem;
  right: 0;
  width: 100%;
}
@media (max-width: 768px) {
  .intruction-item {
    padding: 4.375rem 2.25rem 4.375rem;
    display: flex;
    align-items: center;
    height: 14.375rem;
  }
  .intruction-item .intruction-img {
    right: -0.125rem;
  }
  .intruction-item .intruction-inner {
    display: flex;
    flex-flow: row wrap;
  }
}
@media (min-width: 769px) {
  .intruction-item {
    padding: 0.9375rem 0.9375rem;
    width: 18.75rem;
    min-height: 18.75rem;
    font-size: 1.5rem;
    line-height: 1.48;
  }
  .intruction-item p {
    display: table;
    margin: 0 auto;
    font-size: 1.5rem;
    line-height: 1.48;
  }
}
@media (max-width: 768px) {
  .intruction-item + .intruction-item {
    margin-top: 2.4375rem;
  }
}
.intruction-item + .intruction-item:before {
  content: "";
  position: absolute;
  width: 6.375rem;
  height: 3.1875rem;
  background: url(../images/shot3/step_arrow_sp.png) center left no-repeat;
  background-size: 100% auto;
}
@media (max-width: 768px) {
  .intruction-item + .intruction-item:before {
    left: 42.5%;
    top: -4.5rem;
  }
}
@media (min-width: 769px) {
  .intruction-item + .intruction-item:before {
    width: 2.3125rem;
    height: 4.5rem;
    left: -3rem;
    top: 50%;
    transform: translateY(-50%);
    background: url(../images/shot3/step_arrow.png) center left no-repeat;
    background-size: 100% auto;
  }
}

.intruction-step {
  text-align: center;
}
@media (max-width: 768px) {
  .intruction-step {
    font-size: 2.25rem;
    margin-right: 0.3125rem;
  }
}
@media (min-width: 769px) {
  .intruction-step {
    margin-bottom: 0.25rem;
  }
}

/* TERMS SECTION
----------------------------- */
.ttl-style03 {
  margin: 0 0 3.1875rem;
  font-size: 2.25rem;
  text-align: center;
  color: #1f2d58;
}
.ttl-style03:after {
  content: "";
  display: block;
  margin: 1.125rem auto 0;
  width: 18.75rem;
  border-bottom: 0.25rem solid var(--bright-red);
}
@media (min-width: 769px) {
  .ttl-style03 {
    margin: 0 0 1.75rem;
    font-size: 1.5rem;
  }
  .ttl-style03:after {
    content: "";
    display: block;
    margin: 0.625rem auto 0;
    width: 11.25rem;
    border-bottom: 0.1875rem solid var(--bright-red);
  }
}

.terms-sec {
  background-color: #fff;
}
.terms-sec p, .terms-sec li {
  font-size: 0.8125rem;
  line-height: 1.5384615385;
  letter-spacing: 0.1em;
}
.terms-sec .txt-01 {
  color: #1f2d58;
}
.terms-sec .txt-01.txt-02 {
  margin-top: 4.25rem;
}
@media (max-width: 768px) {
  .terms-sec .txt-01.txt-02 {
    margin-top: 5.75rem;
  }
}
@media (max-width: 768px) {
  .terms-sec {
    padding: 6.125rem 1.875rem 4rem;
  }
  .terms-sec .txt-01 {
    margin: 0 0.625rem 3.25rem;
    letter-spacing: 0.15em;
    font-size: 1.5rem;
    line-height: 1.5;
    text-align: center;
  }
}
@media (min-width: 769px) {
  .terms-sec {
    padding: 2.5rem 0;
  }
  .terms-sec p, .terms-sec li {
    font-size: 0.875rem;
    line-height: 1.5;
  }
  .terms-sec .txt-01 {
    margin-bottom: 1.5rem;
    text-align: center;
  }
}
.terms-sec .terms-txt {
  text-align: center;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 3.75rem;
  color: #1f2d58;
}
@media (max-width: 768px) {
  .terms-sec .terms-txt {
    font-size: 1.5rem;
    line-height: 1.5;
    margin-bottom: 6.75rem;
  }
}
.terms-sec .terms-accordion {
  width: 43.125rem;
}
.terms-sec .terms-accordion .accordion-inner:before {
  width: 39.375rem;
}
@media (max-width: 768px) {
  .terms-sec .terms-accordion .accordion-head {
    padding: 1.6875rem 0 1.4375rem;
  }
}
@media (min-width: 769px) {
  .terms-sec .terms-accordion {
    width: 60.625rem;
  }
  .terms-sec .terms-accordion .accordion-inner:before {
    width: 37.8125rem;
  }
}
.terms-sec .terms-accordion .accordion-inner {
  padding: 1.875rem 1.5625rem 2rem 1.75rem;
}
@media (min-width: 769px) {
  .terms-sec .terms-accordion .accordion-inner {
    padding: 1.1875rem 3.75rem 0.9375rem;
  }
}
.terms-sec .terms-accordion .rect-list {
  list-style: none;
}
.terms-sec .terms-accordion .rect-list li {
  display: flex;
  letter-spacing: 0.06em;
}
.terms-sec .terms-accordion .rect-list li:before {
  content: "■";
  display: inline-block;
  margin-right: 0.4375rem;
  font-size: 1.125rem;
}
@media (min-width: 769px) {
  .terms-sec .terms-accordion .rect-list li:before {
    margin: 0.125rem 0.5rem 0 0;
    font-size: 0.75rem;
  }
}
.terms-sec .terms-accordion .rect-list li + li {
  margin-top: 2.25rem;
}
@media (min-width: 769px) {
  .terms-sec .terms-accordion .rect-list li + li {
    margin-top: 1.3125rem;
  }
}
@media (max-width: 768px) {
  .terms-sec .terms-accordion .rect-list li {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
.terms-sec .terms-accordion .circle-list {
  list-style: none;
}
.terms-sec .terms-accordion .circle-list li {
  display: flex;
  letter-spacing: 0.06em;
}
.terms-sec .terms-accordion .circle-list li:before {
  content: "⚫︎";
  display: inline-block;
  margin-right: 0.4375rem;
  font-size: 1.125rem;
}
@media (min-width: 769px) {
  .terms-sec .terms-accordion .circle-list li:before {
    margin: 0.125rem 0.5rem 0 0;
    font-size: 0.75rem;
  }
}
@media (max-width: 768px) {
  .terms-sec .terms-accordion .circle-list li {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
.terms-sec .terms-accordion .circle-list .txt-indent {
  display: flex;
}
.terms-sec .terms-accordion .list__item + .list__item {
  margin-top: 2.25rem;
}
@media (min-width: 769px) {
  .terms-sec .terms-accordion .list__item + .list__item {
    margin-top: 1.3125rem;
  }
}

/* CONDITIONS SECTION
----------------------------- */
.conditions-sec {
  padding: 6.25rem 3.75rem 7.375rem;
}
@media (min-width: 769px) {
  .conditions-sec {
    padding: 2.5rem 0 4.5625rem;
  }
}

.conditions-head {
  margin: 0 0 3.75rem;
}
@media (min-width: 769px) {
  .conditions-head {
    margin: 0 0 3.75rem;
  }
}

@media (min-width: 769px) {
  .conditions-list {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
  }
}

.conditions-item {
  margin: 0 0 3.75rem;
  border-radius: 1.875rem;
}
.conditions-item a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  padding: 0.625rem 0.9375rem;
  min-height: 6.25rem;
  font-size: 1.75rem;
  line-height: 1.2857142857;
  text-align: center;
  color: #1f2d58;
  background: #fff url(../images/shot3/ico_arrow_blue02_sp.png) right 1.6875rem center no-repeat;
  background-size: 1.1875rem auto;
  border-radius: 3.125rem;
  border: solid 0.125rem #1f2d58;
}
@media (min-width: 769px) {
  .conditions-item {
    margin: 0 0 1.875rem;
  }
  .conditions-item a {
    width: 18.75rem;
    min-height: 4.375rem;
    padding: 0.625rem 0.9375rem;
    font-size: 1rem;
    line-height: 1.44;
    border-radius: 2.1875rem;
    background: #fff url(../images/shot3/ico_arrow_blue02.png) right 1.1875rem center no-repeat;
    background-size: 0.8125rem auto;
  }
}

/* FOOTER
----------------------------- */
#footer {
  display: none !important;
}

.p-footer {
  position: relative;
  padding: 2.3125rem 0;
  height: 6.25rem;
  color: #fff;
  background-color: var(--bright-red);
}
@media (min-width: 769px) {
  .p-footer {
    padding: 1.625rem 0;
    height: 4.375rem;
  }
}
.p-footer .copy-right {
  font-size: 1.25rem;
  text-align: center;
}
@media (min-width: 769px) {
  .p-footer .copy-right {
    font-size: 0.875rem;
  }
}

.btn-footer {
  position: absolute;
  bottom: 8.5625rem;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  font-size: 1.25rem;
  color: var(--bright-red);
  width: 3.0625rem;
  height: 2.625rem;
  padding-top: 2.375rem;
  text-decoration: none;
  background: url(../images/shot3/btn_totop_sp.png) no-repeat;
  background-size: 100% auto;
}
@media (min-width: 769px) {
  .btn-footer {
    font-size: 0.875rem;
    bottom: 5.625rem;
    width: 2.125rem;
    height: 2.625rem;
    padding-top: 1.75rem;
    background-image: url(../images/shot3/btn_totop.png);
  }
}

/* FOOTER
----------------------------- */
.gift-sec {
  position: relative;
  z-index: 2;
}
@media (min-width: 769px) {
  .gift-sec {
    padding: 2.125rem 1.875rem 2.5625rem;
  }
}
@media (max-width: 768px) {
  .gift-sec {
    padding-top: 1.625rem;
    padding-bottom: 2rem;
  }
}
@media (min-width: 769px) {
  .gift-sec .white-box {
    padding: 0.625rem 2rem 2.8125rem;
    border-radius: 1.875rem;
    background-color: #fff;
  }
  .gift-sec .white-box + .white-box {
    margin-top: 1.875rem;
  }
}
@media (min-width: 769px) {
  .gift-sec .box-01 {
  }
}
@media (max-width: 768px) {
  .gift-sec .box-01 {
    width: 43.125rem;
    margin: 0 auto;
    padding: 2.8125rem 0 2.1875rem;
    background: #fff;
    background-size: 100% auto;
    border-radius: 1.875rem;
  }
}
.gift-sec .box-01.campain-closed {
  position: relative;
}
.gift-sec .box-01.campain-closed .campain-txt {
  position: absolute;
  z-index: 9;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: rgba(31, 45, 88, 0.9);
  font-size: 1.875rem;
}
@media (min-width: 769px) {
  .gift-sec .box-01.campain-closed .campain-txt {
    width: 100%;
    top: -1.875rem;
    bottom: -2.3125rem;
    left: 0;
  }
}
@media (max-width: 768px) {
  .gift-sec .box-01.campain-closed .campain-txt {
    top: -1.875rem;
    bottom: -2rem;
    left: -1.875rem;
    right: -1.875rem;
    font-size: 3rem;
    line-height: 1.1666666667;
    flex-flow: column wrap;
  }
  .gift-sec .box-01.campain-closed .campain-txt .txt01, .gift-sec .box-01.campain-closed .campain-txt .txt02 {
    height: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media (min-width: 769px) {
  .gift-sec .box-02 {
    padding: 3.5rem 5.625rem 3.75rem;
  }
}
@media (min-width: 769px) {
  .gift-sec .gift-head {
    margin: 1.8125rem auto 1.4375rem;
    width: 51.8125rem;
  }
}
@media (max-width: 768px) {
  .gift-sec .gift-head {
    width: 39.375rem;
    margin: 0 auto 3rem;
  }
}
.gift-sec .gift-img-df {
  display: flex;
  justify-content: space-between;
  width: 42.9375rem;
  margin: 2.5em auto 0;
}
@media (max-width: 768px) {
  .gift-sec .gift-img-df {
    width: 41.25rem;
    margin: 1rem auto 0;
  }
}
.gift-sec .gift-img {
  position: relative;
}
@media (min-width: 769px) {
  .gift-sec .gift-img {
    margin: 1.1875rem 0 2.1875rem;
    width: 31.75rem;
  }
}
@media (max-width: 768px) {
  .gift-sec .gift-img {
    width: 26.75rem;
    margin: 0 0 3rem 0;
  }
}
.gift-sec .gift-img02 {
  position: relative;
}
@media (min-width: 769px) {
  .gift-sec .gift-img02 {
    margin: 0 0 2.1875rem 0;
    width: 18.8125rem;
  }
}
@media (max-width: 768px) {
  .gift-sec .gift-img02 {
    width: 13.5rem;
    margin: 0.25rem 0 3rem 0;
  }
}
.gift-sec .gift-ttl {
  margin: 0rem auto 1.625rem;
  width: 30.3125rem;
  font-size: 1.875rem;
  line-height: 0;
  text-align: center;
  color: #e60012;
}
@media (max-width: 768px) {
  .gift-sec .gift-ttl {
    width: 36.3125rem;
    font-size: 2.25rem;
    margin-bottom: 2.5rem;
  }
}
.gift-sec .gift-btn {
  display: block;
  width: 30.25rem;
  height: 3.375rem;
  line-height: 3.375rem;
  margin: 0 auto 1.5rem;
  font-size: 1.25rem;
  color: #1f2d58;
  border: 0.125rem solid #1f2d58;
  text-decoration: none;
  position: relative;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .gift-sec .gift-btn {
    width: 39.375rem;
    height: 4.25rem;
    line-height: 4.25rem;
    font-size: 1.5rem;
    margin-bottom: 0;
  }
}
.gift-sec .gift-btn a, .gift-sec .gift-btn span {
  display: block;
  height: 100%;
}
.gift-sec .gift-btn a {
  color: inherit;
  text-decoration: none;
}
.gift-sec .gift-btn span {
  display: flex;
  align-items: center;
  justify-content: center;
}
.gift-sec .gift-btn .ico {
  display: inline-block;
  position: relative;
}
@media (min-width: 769px) {
  .gift-sec .gift-btn .ico {
    width: 0.625rem;
    height: 1rem;
    background: url(../images/box1/ico_right.png) center no-repeat;
    background-size: contain;
    margin-left: 0;
    top: -0.0625rem;
    right: -1.5rem;
  }
}
@media (max-width: 768px) {
  .gift-sec .gift-btn .ico {
    width: 0.8125rem;
    height: 1.25rem;
    background: url(../images/box1/ico_right.png) center no-repeat;
    background-size: contain;
    margin-left: 0.875rem;
  }
}
.gift-sec .gift-caption {
  color: #1f2d58;
}
@media (min-width: 769px) {
  .gift-sec .gift-caption {
    display: table;
    margin: 0.6625rem auto 1.0625rem;
  }
}
@media (max-width: 768px) {
  .gift-sec .gift-caption {
    padding: 1.625rem 1.875rem 2.375rem;
  }
}
.gift-sec .gift-txt {
  text-indent: -0.65em;
  padding-left: 0.65em;
}
@media (min-width: 769px) {
  .gift-sec .gift-txt {
    font-size: 1rem;
    line-height: 1.3;
    letter-spacing: 0.04em;
  }
}
@media (max-width: 768px) {
  .gift-sec .gift-txt {
    font-size: 1.25rem;
    line-height: 1.35;
    white-space: nowrap;
  }
}
@media (min-width: 769px) {
  .gift-sec .txt-note {
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.4px;
  }
}
@media (max-width: 768px) {
  .gift-sec .txt-note {
    font-size: 1rem;
    line-height: 1.6875;
    padding-top: 0.25rem;
  }
}

.btn-block .btn-ttl {
  text-align: center;
  font-size: 1.625rem;
  line-height: 1;
  letter-spacing: 0.06em;
}
@media (min-width: 769px) {
  .btn-block .btn-ttl {
    font-size: 1.25rem;
  }
}
.btn-block .btn-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row wrap;
  text-decoration: none;
  width: 31.25rem;
  height: 3.75rem;
  border-radius: 1.875rem;
  color: #fff;
  text-align: center;
  background-color: #71ad00;
}
@media (max-width: 768px) {
  .btn-block .btn-link {
    width: 39.375rem;
    height: 7.5rem;
    border-radius: 3.75rem;
  }
}
.btn-block .btn-link:after {
  content: "";
  position: absolute;
  right: 4.125rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.8125rem;
  height: 1.25rem;
  background: url(../images/shot3/btn_arrow_white.png) center right no-repeat;
  background-size: contain;
}
@media (max-width: 768px) {
  .btn-block .btn-link:after {
    content: none;
    width: 1.1875rem;
    height: 1.875rem;
    right: 1.8125rem;
    background-image: url(../images/shot3/btn_arrow_white_sp.png);
  }
}
.btn-block .btn-cta {
  margin: 1.25rem auto 0;
  font-size: 2.25rem;
  letter-spacing: 0.05em;
  background: none;
}
.btn-block .btn-cta .txt-md {
  font-size: 1.875rem;
}
.btn-block .btn-cta small {
  font-size: 1.25rem;
}
@media (min-width: 769px) {
  .btn-block .btn-cta {
    margin: 0.5rem auto 0;
    padding-right: 0.9375rem;
    font-size: 1.4375rem;
    background: none;
  }
  .btn-block .btn-cta::after {
    content: none;
  }
  .btn-block .btn-cta small {
    font-size: 0.8125rem;
  }
  .btn-block .btn-cta .txt-md {
    font-size: 1.1875rem;
  }
}

@media (min-width: 769px) {
  .howto .txt-note {
    display: table;
    margin-left: auto;
    margin-right: auto;
  }
}
.howto-accordion {
  margin-top: 1.25rem;
}
@media (max-width: 768px) {
  .howto-accordion {
    margin-top: 1.625rem;
  }
}
.howto-accordion .accordion-head {
  position: relative;
  z-index: 9;
  display: block;
  margin: 0 auto;
  width: 31.25rem;
  height: 3.75rem;
  line-height: 3.25rem;
  border-radius: 1.875rem;
  font-size: 1.4375rem;
  color: #71ad00;
  border: 0.25rem solid #71ad00;
  background-color: #fff;
  letter-spacing: 0.05em;
  padding-right: 2.125rem;
  cursor: pointer;
}
@media (max-width: 768px) {
  .howto-accordion .accordion-head {
    width: 39.375rem;
    height: 7.5rem;
    line-height: 7rem;
    border-radius: 3.75rem;
    font-size: 2.25rem;
    padding-right: 3.125rem;
    border: 0.375rem solid #71ad00;
  }
}
.howto-accordion .accordion-head:after {
  content: "";
  position: absolute;
  right: 2.6875rem;
  top: 50%;
  width: 1.5625rem;
  height: 0.9375rem;
  transform: translateY(-50%);
  background: url(../images/box_shot2_1/ico_arrow_green.png) top center no-repeat;
  background-size: 100% auto;
  transition: transform 0.1s ease;
}
@media (max-width: 768px) {
  .howto-accordion .accordion-head:after {
    width: 1.875rem;
    height: 1.0625rem;
    right: 1.0625rem;
    background-image: url(../images/box_shot2_1/ico_arrow_green_sp.png);
  }
}
.howto-accordion .accordion-body {
  display: none;
  position: relative;
  z-index: 1;
  top: -1.875rem;
}
@media (max-width: 768px) {
  .howto-accordion .accordion-body {
    top: -3.25rem;
  }
}
.howto-accordion.is-open .accordion-body {
  margin-bottom: -1.875rem;
}
@media (max-width: 768px) {
  .howto-accordion.is-open .accordion-body {
    margin-bottom: -3.25rem;
  }
}
.howto-accordion .accordion-inner {
  overflow: hidden;
  border-radius: 2.8125rem;
  background-color: #eff9dc;
  padding: 0 1.25rem 0.875rem;
}
@media (max-width: 768px) {
  .howto-accordion .accordion-inner {
    padding: 1.25rem 1rem 1.875rem;
    width: 41.5rem;
    margin: 0 auto;
    border-radius: 1.875rem;
  }
}
.howto-accordion.is-open .accordion-head:after {
  transform: rotate(-180deg) translateY(50%);
}
.howto .howto-h3 {
  font-weight: bold;
  color: #1f2d58;
  text-align: center;
}
@media (min-width: 769px) {
  .howto .howto-h3 {
    margin: 4.5rem 0 3rem;
    font-size: 1.875rem;
    letter-spacing: 1.8px;
    background: url(../images/box1/howto_ttl.png) bottom center no-repeat;
    background-size: auto 1.875rem;
  }
}
@media (max-width: 768px) {
  .howto .howto-h3 {
    margin: 4.5rem 0 3.3125rem;
    font-size: 2.25rem;
    letter-spacing: 0.05em;
    background: url(../images/box1/howto_ttl.png) bottom center no-repeat;
    background-size: auto 2.25rem;
  }
}
@media (min-width: 769px) {
  .howto .howto-list {
    display: flex;
    justify-content: space-between;
    flex-flow: row wrap;
    margin: 0 auto 1.625rem;
    width: 53.125rem;
  }
}
.howto .howto-item {
  position: relative;
  z-index: 1;
}
@media (min-width: 769px) {
  .howto .howto-item {
    padding: 11.125rem 1.875rem 1.875rem;
    width: 16.625rem;
    height: 24.375rem;
    border-radius: 1.875rem;
    border: solid 2px #1f2d58;
    box-sizing: border-box;
    background-color: #fff;
  }
  .howto .howto-item p:not(.txt-note) {
    margin: 0 -0.625rem 0 0.3125rem;
    line-height: 1.5;
    letter-spacing: 1.08px;
  }
}
@media (max-width: 768px) {
  .howto .howto-item {
    width: 39.375rem;
    height: 21.875rem;
    margin: 0 auto;
    border-radius: 1.875rem;
    padding: 1.875rem 1.25rem 1.875rem 13.75rem;
  }
  .howto .howto-item:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 0.125rem solid #1f2d58;
    border-radius: 1.875rem;
    pointer-events: none;
  }
}
@media (max-width: 768px) {
  .howto .howto-item + .howto-item {
    margin-top: 2.5rem;
  }
}
.howto .howto-item + .howto-item:before {
  content: "";
  position: absolute;
  width: 6.375rem;
  height: 3.1875rem;
  background: url(../images/shot3/step_arrow_sp.png) center left no-repeat;
  background-size: 100% auto;
}
@media (max-width: 768px) {
  .howto .howto-item + .howto-item:before {
    left: 50%;
    transform: translateX(-50%);
    top: -3.75rem;
  }
}
@media (min-width: 769px) {
  .howto .howto-item + .howto-item:before {
    width: 2.3125rem;
    height: 4.5rem;
    left: -2.75rem;
    top: 50%;
    transform: translateY(-50%);
    background: url(../images/shot3/step_arrow.png) center left no-repeat;
    background-size: 100% auto;
  }
}
@media (min-width: 769px) {
  .howto .howto-item.step-01 {
    padding: 13.25rem 0.625rem 1.875rem;
    text-align: center;
  }
}
@media (max-width: 768px) {
  .howto .howto-item.step-01 {
    padding: 4rem 0.625rem 1.875rem 13.75rem;
    height: 15.625rem;
  }
}
@media (min-width: 769px) {
  .howto .howto-item.step-02 {
    padding: 12rem 1.875rem 1.875rem;
  }
}
@media (max-width: 768px) {
  .howto .howto-item.step-02 {
    height: 16.875rem;
    padding: 1.875rem 1.25rem 1.875rem 13.75rem;
  }
}
@media (min-width: 769px) {
  .howto .howto-item.step-02 .howto-ttl {
    padding-bottom: 1.5rem;
  }
}
.howto .howto-item .howto-inner {
  color: #1f2d58;
}
@media (min-width: 769px) {
  .howto .howto-item .howto-inner {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}
.howto .howto-item .howto-step {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background-color: #1f2d58;
}
@media (min-width: 769px) {
  .howto .howto-item .howto-step {
    left: 50%;
    transform: translate(-50%, -50%);
    top: -0.1875rem;
    width: 11.25rem;
    height: 2.5rem;
    font-size: 1.125rem;
    font-weight: 600;
  }
  .howto .howto-item .howto-step .number {
    font-size: 1.5rem;
  }
}
@media (max-width: 768px) {
  .howto .howto-item .howto-step {
    width: 11.4375rem;
    height: 3rem;
    font-size: 1.75rem;
    top: 1.5625rem;
    left: -0.5rem;
  }
  .howto .howto-item .howto-step .number {
    font-size: 2.0625rem;
  }
}
@media (min-width: 769px) {
  .howto .howto-item .howto-big-ttl {
    text-align: center;
    margin-bottom: 1.375rem;
    font-size: 1.875rem;
    line-height: 1.25;
  }
  .howto .howto-item .howto-big-ttl small {
    font-size: 1.5rem;
    letter-spacing: 1.8px;
    line-height: 1;
  }
}
@media (max-width: 768px) {
  .howto .howto-item .howto-big-ttl {
    text-align: left;
    font-size: 2.125rem;
    line-height: 1.2;
  }
  .howto .howto-item .howto-big-ttl small {
    font-size: 1.75rem;
  }
}
.howto .howto-item .howto-ttl {
  white-space: nowrap;
}
@media (min-width: 769px) {
  .howto .howto-item .howto-ttl {
    text-align: center;
    margin-bottom: 0.3125rem;
    padding-bottom: 0.625rem;
    font-size: 1.5rem;
    line-height: 1.25;
    letter-spacing: 1.44px;
    background: url(../images/box1/howto_line.png) bottom center no-repeat;
    background-size: auto 0.25rem;
    margin-inline: -1.25rem;
  }
}
@media (max-width: 768px) {
  .howto .howto-item .howto-ttl {
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    font-size: 2.25rem;
    line-height: 1.2777777778;
    letter-spacing: 0.06em;
    background: url(../images/box1/howto_line_sp.png) bottom center repeat-x;
    background-size: auto 0.25rem;
    white-space: nowrap;
  }
}
.howto .howto-item .howto-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: -1;
}
@media (min-width: 769px) {
  .howto .howto-item .howto-img {
    top: -0.125rem;
  }
}
.howto .howto-item .txt-note02 {
  font-size: 0.625rem;
}
@media (max-width: 768px) {
  .howto .howto-item .txt-note02 {
    font-size: 1rem;
    margin-top: 0.625rem;
  }
}
.howto .howto-item .txt-note04 {
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .howto .howto-item .txt-note04 {
    font-size: 1.75rem;
    line-height: 1.5;
  }
}
.howto .txt-note03 {
  font-size: 0.625rem;
  line-height: 1.5;
  display: table;
  margin: 0 auto;
  color: #1f2d58;
}
@media (max-width: 768px) {
  .howto .txt-note03 {
    text-indent: -0.85em;
    margin-left: 0.85em;
    display: block;
    font-size: 1rem;
    line-height: 1.625;
    margin-top: 0.625rem;
    padding: 1.25rem 2.375rem 0;
  }
}

.app-sec {
  position: relative;
  z-index: 1;
  overflow: hidden;
  background: #fff;
}
.app-ttl {
  margin: 2.4375rem auto 1.25rem;
  width: 24.3125rem;
  line-height: 0;
}
@media (max-width: 768px) {
  .app-ttl {
    margin: 2.625rem auto 1.25rem;
    width: 30.375rem;
  }
}
.app-img {
  text-align: center;
  position: relative;
}
@media (min-width: 769px) {
  .app-img {
    height: 32.25rem;
    background: url(../images/box_shot2_1/app_img01.jpg) top center no-repeat;
    background-size: auto 100%;
  }
  .app-img::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    right: 50%;
    bottom: 0;
    background: url(../images/box_shot2_1/app_img01_left.jpg) top left repeat;
    background-size: auto 100%;
    z-index: -1;
  }
  .app-img::after {
    position: absolute;
    content: "";
    top: 0;
    left: 50%;
    right: 0;
    bottom: 0;
    background: url(../images/box_shot2_1/app_img01_right.jpg) top right repeat;
    background-size: auto 100%;
    z-index: -1;
  }
}

.fancybox-active {
  position: fixed;
  width: 100%;
  height: 100%;
}

.fancybox-slide {
  padding: 3.75rem !important;
}
@media (max-width: 768px) {
  .fancybox-slide {
    padding: 1.875rem !important;
  }
}

.product-new {
  position: relative;
  width: 60.625rem;
  margin: 0 auto;
  padding: 0;
  background: #fff;
  border-radius: 1.875rem;
  color: #1f2d58;
}
.product-new .text-red {
  color: #ef5431;
}
.product-new .popup-inner {
  padding: 1.25rem;
  font-weight: 600;
  color: #231916;
}
@media (min-width: 769px) {
  .product-new .popup-inner {
    padding: 1.875rem 2.8125rem 4.375rem;
    border-radius: 1.875rem;
    border-width: 0.3125rem;
  }
}
@media (max-width: 768px) {
  .product-new .popup-inner {
    border-radius: 0.9375rem;
    padding: 1.5rem 0.9375rem 3.75rem;
  }
}
.product-new .has-scrollbar {
  position: relative;
  overflow-x: hidden;
  touch-action: pan-y;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 768px) {
  .product-new .has-scrollbar {
    height: 31.25rem;
    padding-left: 0;
  }
}
@media (min-width: 769px) {
  .product-new .has-scrollbar {
    height: calc(100vh - 25rem);
    min-height: 8.75rem;
  }
}
.product-new .has-scrollbar::-webkit-scrollbar {
  border-radius: 0.25rem;
  background-color: #eaeaea;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
}
@media (min-width: 769px) {
  .product-new .has-scrollbar::-webkit-scrollbar {
    width: 0.75rem;
    border-radius: 0.75rem;
  }
}
@media (max-width: 768px) {
  .product-new .has-scrollbar::-webkit-scrollbar {
    width: 1.375rem;
    border-radius: 1.375rem;
    display: none;
  }
}
.product-new .has-scrollbar::-webkit-scrollbar-thumb {
  background-color: #71ad00;
}
@media (min-width: 769px) {
  .product-new .has-scrollbar::-webkit-scrollbar-thumb {
    border-radius: 0.75rem;
  }
}
@media (max-width: 768px) {
  .product-new .has-scrollbar::-webkit-scrollbar-thumb {
    border-radius: 1.375rem;
  }
}
.product-new .mCustomScrollbar {
  padding: 0;
}
.product-new .mCSB_inside > .mCSB_container {
  margin-right: 0.75rem;
}
@media (max-width: 768px) {
  .product-new .mCSB_inside > .mCSB_container {
    margin-right: 2.8125rem;
  }
}
.product-new .mCSB_scrollTools {
  width: 0.75rem;
  border-radius: 0.75rem;
  background: #eaeaea !important;
}
@media (max-width: 768px) {
  .product-new .mCSB_scrollTools {
    width: 1.375rem;
    border-radius: 1.375rem;
  }
}
.product-new .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  margin: 0 !important;
  width: 100%;
  background: #71ad00 !important;
  border-radius: 0.75rem;
}
@media (max-width: 768px) {
  .product-new .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
    border-radius: 1.375rem;
  }
}
.product-new .mCSB_scrollTools .mCSB_draggerRail {
  width: 100%;
  background: transparent;
}
.product-new .product-h4 {
  line-height: 1.5;
  text-align: center;
  font-weight: bold;
  color: #1f2d58;
}
@media (min-width: 769px) {
  .product-new .product-h4 {
    margin-bottom: -0.25rem;
  }
}
@media (max-width: 768px) {
  .product-new .product-h4 {
    margin-left: 0.75rem;
  }
}
.product-new .product-h4 .number {
  font-size: 3.375rem;
  line-height: 1.5;
  letter-spacing: 0;
  font-family: Helvetica;
}
@media (max-width: 768px) {
  .product-new .product-h4 .number {
    font-size: 3.75rem;
  }
}
.product-new .product-h4 .ttl-style01 {
  font-size: 1.625rem;
  letter-spacing: 0.06em;
}
@media (max-width: 768px) {
  .product-new .product-h4 .ttl-style01 {
    font-size: 1.875rem;
  }
}
.product-new .product-h4 .ttl-style01:after, .product-new .product-h4 .ttl-style01:before {
  width: 1.5rem;
  height: 1.5rem;
  top: auto;
  bottom: 1.25rem;
  background-image: url(../images/box1/howto_ttl.png);
  background-size: auto 1.5rem;
}
@media (max-width: 768px) {
  .product-new .product-h4 .ttl-style01:after, .product-new .product-h4 .ttl-style01:before {
    width: 1.875rem;
    height: 1.875rem;
    background-size: auto 1.875rem;
  }
}
.product-new .product-h3 {
  font-weight: bold;
  text-align: center;
  font-size: 2.5rem;
  letter-spacing: 0.06em;
  margin-bottom: 3.125rem;
  color: #1f2d58;
}
@media (max-width: 768px) {
  .product-new .product-h3 {
    font-size: 2.75rem;
    margin-bottom: 2.1875rem;
    margin-left: 0.75rem;
  }
}
.product-new .product-list {
  width: 49.5625rem;
  margin: 0 auto;
  padding-left: 0.5rem;
}
@media (max-width: 768px) {
  .product-new .product-list {
    width: 33.125rem;
  }
}
.product-new .product-list .product-txt {
  font-size: 1rem;
  line-height: 1.25;
  letter-spacing: 0.02em;
  color: #1f2d58;
}
@media (max-width: 768px) {
  .product-new .product-list .product-txt {
    font-size: 1.25rem;
    line-height: 1.5;
    margin-left: 0.75rem;
  }
}
.product-new .product-list .product-note {
  margin-top: 1.375rem;
  font-size: 0.625rem;
  color: #1f2d58;
}
@media (max-width: 768px) {
  .product-new .product-list .product-note {
    margin-top: 1.875rem;
    font-size: 1.25rem;
    line-height: 1.5;
    margin-left: 0.75rem;
  }
}
.product-new .product-list .product-img {
  margin: 0 0 0 -1.125rem;
}
@media (min-width: 769px) {
  .product-new .product-list .product-img {
    width: 48.875rem;
  }
}
@media (max-width: 768px) {
  .product-new .product-list .product-img {
    margin: 0 -3.375rem;
    text-align: center;
  }
  .product-new .product-list .product-img img {
    margin-left: -0.9375rem;
    width: 37.625rem;
  }
}
.product-new .product-list .product-h5 {
  position: relative;
  color: #1f2d58;
  margin: 2.1875rem 0 2.4375rem;
  font-size: 1.625rem;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 768px) {
  .product-new .product-list .product-h5 {
    font-size: 1.875rem;
    margin: 2.9375rem 0 1.25rem 0.75rem;
  }
}
.product-new .product-list .product-h5 span {
  position: relative;
  display: inline-block;
  padding: 0 0.9375rem;
  background-color: #fff;
}
@media (max-width: 768px) {
  .product-new .product-list .product-h5 span {
    padding: 0 1.375rem;
  }
}
.product-new .product-list .product-h5:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 100%;
  border-bottom: 0.1875rem solid #1f2d58;
}
@media (max-width: 768px) {
  .product-new .product-list .product-h5:before {
    border-width: 0.125rem;
  }
}

.fancybox-content {
  overflow: visible;
}

.fancybox-navigation {
  display: none !important;
}

.btn__close {
  position: absolute;
  top: -3.625rem;
  right: 0.4375rem;
}
@media (max-width: 768px) {
  .btn__close {
    top: -5rem;
    right: 0.75rem;
  }
}
.btn__close i {
  background: transparent;
  font-size: 1.375rem;
  padding-right: 0;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .btn__close i {
    font-size: 1.5rem;
  }
}
.btn__close i:before, .btn__close i:after {
  display: none;
}
.btn__close i:hover {
  background: transparent !important;
}
.btn__close i small {
  font-size: 140%;
  font-weight: lighter;
}
.btn__close:after {
  display: none;
}
@media screen and (min-width: 1025px) {
  .btn__close:hover {
    opacity: 0.8;
  }
}

/*--------------------------------------
  TESTING
  ----------------------------------------*/