@charset "UTF-8";
/**
 * /ad/miraiplus
 **/
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body {
  font-size: 1.4rem;
  font-family: "Noto Sans JP", sans-serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #000;
}

a:hover {
  color: inherit;
}

figure {
  display: block;
}
figure img {
  width: 100%;
}

img {
  height: auto;
  max-width: 100%;
  vertical-align: middle;
}

input {
  margin: 0;
  padding: 0;
}

textarea {
  padding: 0;
  font: inherit;
  color: inherit;
}

button {
  font: inherit;
  padding: 0;
  background-color: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
}

sup {
  font-size: 65%;
  vertical-align: text-top;
}

p + p {
  margin-top: 0.75em;
}

p + figure {
  margin-top: 2em;
}

/* header */
.l-header {
  background: rgba(255, 255, 255, 0.8);
  margin: 0 auto;
}
.l-header_inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 18px 15px;
}
.l-header_logos {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-header_logos img {
  display: block;
}
.l-header_logo.--fukoku {
  width: 119px;
}
.l-header_logo.--miraiplus {
  width: 108px;
}
.l-header_actions {
  display: none;
}

@media (min-width: 768px) {
  body {
    margin-top: 90px;
  }
  .l-header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    z-index: 99;
  }
  .l-header_inner {
    margin: 0 auto;
    max-width: 1440px;
    padding: 17px 15px;
  }
  .l-header_actions {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 5px;
  }
  .l-header_actions .c-btn::after {
    display: none;
  }
  .l-header_actions .c-btn_request {
    font-size: 2rem;
    width: 13em;
  }
  .l-header_actions .c-btn_request .c-btn_badge {
    font-size: 1.3rem;
    width: 44px;
    height: 44px;
    top: -10px;
    left: -10px;
  }
  .l-header_actions .c-btn_request .c-btn_mask {
    padding-top: 0.9em;
    padding-bottom: 0.9em;
  }
  .l-header_actions .c-btn_sim {
    font-size: 1.5rem;
    line-height: 1.2;
    padding: 0.5em 1.2em 0.45em;
  }
  .l-header_action {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 1;
  }
}
/* footer */
.l-footer {
  margin: 40px 0 117px;
  padding: 0 5.33%;
  text-align: center;
}
.l-footer_copyright {
  color: #505050;
  display: block;
  font-size: 1.2rem;
  line-height: 1.79;
  margin-top: 1.5em;
  text-align: left;
}

@media (min-width: 768px) {
  .l-footer {
    margin: 100px 0 63px;
  }
  .l-footer_copyright {
    font-size: 1.3rem;
    margin-bottom: 0;
    text-align: center;
  }
}
.mark-reg_ja {
  display: inline-block;
  vertical-align: 0.05em;
}
.mark-reg_ja::before {
  border-radius: 100px;
  border: 1px solid #505050;
  content: "登";
  font-size: 75%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.5em;
  height: 1.5em;
  line-height: 1;
  margin-right: 0.15em;
}

main {
  overflow: hidden;
}

.l-section + .l-section {
  margin-top: 60px;
}
.l-section_main {
  margin-top: 40px;
}

@media (min-width: 768px) {
  .l-section + .l-section {
    margin-top: 100px;
  }
  .l-section_main {
    margin: 80px auto;
    max-width: 960px;
  }
  .l-section_main.--full {
    max-width: 100%;
  }
}
.l-inner {
  line-height: 1.65;
  padding: 40px 4vw 30px;
}
.l-inner_s {
  padding-right: 20px;
  padding-left: 20px;
}

[class*=u-fill].l-inner {
  padding: 20px 20px 30px;
}

@media (min-width: 768px) {
  .l-inner {
    margin-right: auto;
    margin-left: auto;
    max-width: 960px;
    padding: 60px 0 80px;
  }
  [class*=u-fill].l-inner {
    padding: 45px 60px 56px;
  }
}
/* btn */
.c-btn {
  background: #FFF;
  border: 3px solid #FF4C36;
  border-radius: 6px;
  -webkit-box-shadow: 0 3px 0 #CB1800;
          box-shadow: 0 3px 0 #CB1800;
  color: #FF4C36;
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  padding: 1em;
  position: relative;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.c-btn::after {
  border-top: 2px solid #FF4C36;
  border-right: 2px solid #FF4C36;
  content: "";
  display: block;
  width: 0.61em;
  height: 0.61em;
  position: absolute;
  top: 50%;
  right: 1em;
  -webkit-transform: translateY(-50%) rotate(45deg);
      -ms-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.c-btn.--fill {
  background-color: #FF4C36;
  color: #FFF;
}
.c-btn.--fill::after {
  border-top-color: #FFF;
  border-right-color: #FFF;
}
.c-btn.--blue {
  border-color: #00A7F2;
  color: #00A7F2;
  -webkit-box-shadow: 0 3px 0 #007EB7;
          box-shadow: 0 3px 0 #007EB7;
}
.c-btn.--blue::after {
  border-top-color: #00A7F2;
  border-right-color: #00A7F2;
}
.c-btn_request {
  border: none;
  padding: 0;
}
.c-btn_request .c-btn_badge {
  background: #FFF;
  border: 2px solid #FF4C36;
  border-radius: 100px 100px 0 100px;
  color: #FF4C36;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 16px;
  width: 3.5em;
  height: 3.5em;
  position: absolute;
  top: -1.75em;
  left: -1em;
  z-index: 10;
}
.c-btn_request .c-btn_mask {
  display: block;
  line-height: 1;
  overflow: hidden;
  padding: 1em;
  padding: calc(1em + 3px) 1em;
  position: relative;
}
.c-btn_request .c-btn_mask::before {
  content: "";
  display: block;
  width: 124px;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 0%;
  -webkit-transform: translateY(-50%) skewX(-30deg);
      -ms-transform: translateY(-50%) skewX(-30deg);
          transform: translateY(-50%) skewX(-30deg);
  background: -webkit-gradient(linear, left top, right top, from(rgb(255, 255, 255)), to(rgba(255, 255, 255, 0)));
  background: -webkit-linear-gradient(left, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(to right, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
  -webkit-animation: 3s linear flash infinite;
          animation: 3s linear flash infinite;
}
.c-btn_sim {
  padding-left: 2em;
}
.c-btn_sim .c-btn_badge {
  background: #FF4C36;
  border-radius: 100px;
  color: #FFF;
  line-height: 1.2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 12px;
  width: 3.6em;
  height: 3.6em;
  position: absolute;
  top: 50%;
  left: 1em;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media (min-width: 768px) {
  .c-btn {
    -webkit-box-shadow: 0 5px 0 #CB1800;
            box-shadow: 0 5px 0 #CB1800;
    font-size: 2.3rem;
    font-size: clamp(1.8rem, 1.8rem + (1vw - 0.48rem) * 0.6944, 2.3rem);
  }
  .c-btn:hover {
    color: #FF4C36;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    -webkit-transform: translateY(5px);
        -ms-transform: translateY(5px);
            transform: translateY(5px);
  }
  .c-btn.--fill:hover {
    color: #FFF;
  }
  .c-btn.--blue {
    -webkit-box-shadow: 0 5px 0 #007EB7;
            box-shadow: 0 5px 0 #007EB7;
  }
  .c-btn.--blue:hover {
    color: #00A7F2;
  }
}
/* accordion */
.c-btn_opener {
  margin-top: 30px;
  position: relative;
  text-align: center;
}
.c-btn_opener::before, .c-btn_opener::after {
  background: #E2E2E2;
  content: "";
  display: block;
  width: 25%;
  height: 1px;
  position: absolute;
  top: 50%;
}
.c-btn_opener::before {
  left: -20px;
}
.c-btn_opener::after {
  right: -20px;
}
.c-btn_opener button {
  background: #FFF;
  border: 1px solid #000;
  border-radius: 36px;
  line-height: 1;
  padding: 0.75em 3em;
  position: relative;
}
.c-btn_opener button::after {
  background: url(/ad/miraiplus/images/icon_plus.svg) no-repeat 50% 50%/contain;
  content: "";
  width: 12px;
  height: 12px;
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-btn_opener button.is-active::after {
  background-image: url(/ad/miraiplus/images/icon_minus.svg);
}

/* pagetop */
.l-pagetop {
  background: #818181;
  border-radius: 100px;
  width: 40px;
  height: 40px;
  padding-top: 40px;
  overflow: hidden;
  position: fixed;
  right: 15px;
  bottom: 77px;
  display: none;
}
.l-pagetop::after {
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -30%) rotate(-45deg);
      -ms-transform: translate(-50%, -30%) rotate(-45deg);
          transform: translate(-50%, -30%) rotate(-45deg);
}

@media (min-width: 768px) {
  .l-pagetop {
    padding-top: 60px;
    width: 60px;
    height: 60px;
  }
  .l-pagetop::after {
    width: 11px;
    height: 11px;
  }
}
/* cta */
[class^=c-cta] .c-btn_catch {
  color: #FF4C36 !important;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: normal;
  margin-bottom: 1.5em;
  position: relative;
}
[class^=c-cta] .c-btn_catch::before, [class^=c-cta] .c-btn_catch::after {
  background: #FF4C36;
  content: "";
  width: 1px;
  height: 2.5em;
  position: absolute;
  top: 50%;
}
[class^=c-cta] .c-btn_catch::before {
  right: 100%;
  margin-right: 10px;
  -webkit-transform: rotate(-30deg) translateY(-50%);
      -ms-transform: rotate(-30deg) translateY(-50%);
          transform: rotate(-30deg) translateY(-50%);
}
[class^=c-cta] .c-btn_catch::after {
  left: 100%;
  margin-left: 10px;
  -webkit-transform: rotate(30deg) translateY(-50%);
      -ms-transform: rotate(30deg) translateY(-50%);
          transform: rotate(30deg) translateY(-50%);
}

.c-cta {
  margin-top: 2.85em;
  text-align: center;
}
.c-cta_lead {
  font-size: 2.4rem;
  line-height: 1.67;
  margin-bottom: -10px;
  position: relative;
  text-align: center;
}
.c-cta_inner {
  background: #FFF7EB;
  padding: 2.14em 9.33% 2.5em;
  position: relative;
}
.c-cta_inner.--kitty {
  margin-top: 98px;
}
.c-cta_inner.--kitty::before {
  background: url(../images/icon_kitty_cta.png) no-repeat 0 0/contain;
  content: "";
  display: block;
  width: 60px;
  height: 58px;
  position: absolute;
  bottom: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.c-cta_inner.--transparent {
  background: none;
  padding-top: 0;
  padding-bottom: 0;
}
.c-cta_catch {
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.6;
}
.c-cta_btn {
  margin-top: 2.14em;
  position: relative;
}
.c-cta_btn__desc {
  color: #414141;
  font-size: 1.2rem;
  line-height: 1.5;
  margin-top: 1em;
  text-align: left;
}
.c-cta_btn .c-btn {
  width: 100%;
}
.c-cta_fixed {
  display: none;
  padding: 10px;
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
}
.c-cta_fixed .c-cta_btns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 5px;
}
.c-cta_fixed .c-cta_btn {
  margin-top: 0;
  padding-top: 1.5em;
  position: relative;
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
}
.c-cta_fixed .c-cta_btn:first-child {
  width: 62%;
}
.c-cta_fixed .c-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.75em 1em;
  height: 100%;
}
.c-cta_fixed .c-btn::after {
  display: none;
}
.c-cta_fixed .c-btn_catch {
  color: #FFF !important;
  display: inline-block;
  font-size: 11px;
  font-weight: bold;
  margin-bottom: 0.45em;
  /*
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  */
  position: relative;
}
.c-cta_fixed .c-btn_catch::before, .c-cta_fixed .c-btn_catch::after {
  background-color: #FFF;
  height: 1em;
}
.c-cta_fixed .c-btn_request {
  padding: 0;
}
.c-cta_fixed .c-btn_request .c-btn_badge {
  font-size: 13px;
  width: 3.75em;
  height: 3.75em;
  top: -10px;
  left: -5px;
}
.c-cta_fixed .c-btn_request .c-btn_mask {
  padding: 0.05em 1em 0.3em;
  width: 100%;
}
.c-cta_fixed .c-btn_sim {
  font-size: 1.3rem;
  line-height: 1.3;
  padding: 0.35em 1em;
}

@media (min-width: 768px) {
  .c-cta_inner {
    margin-right: auto;
    margin-left: auto;
    max-width: 960px;
    padding: 45px 60px 40px;
  }
  .c-cta_inner.--kitty {
    margin-top: 177px;
  }
  .c-cta_inner.--kitty::before {
    width: 100px;
    height: 97px;
  }
  .c-cta_catch {
    font-size: 2.8rem;
  }
  .c-cta_btns {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    margin-top: 49px;
  }
  .c-cta_btn {
    margin-top: 0;
    text-align: center;
  }
  .c-cta_btn.--full {
    grid-column: 1/-1;
  }
  .c-cta_btn__desc {
    font-size: 1.5rem;
    text-align: center;
  }
  .c-cta_btn .c-btn {
    margin: 0 auto;
    max-width: 400px;
  }
  .c-cta_thumb + .c-cta_inner .c-cta_btns {
    margin-top: 30px;
  }
}
/* text */
.cta-message {
  border: 1px solid #CCC;
  border-radius: 8px;
  margin: 40px 9.33% 70px;
  padding: 15px 20px 25px;
  position: relative;
  text-align: center;
}
.cta-message::after {
  background: url(../images/icon_kitty_message.png) no-repeat 0 0/contain;
  content: "";
  display: block;
  width: 58px;
  height: 74px;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  margin-top: -17px;
}
.cta-message_label {
  font-size: 2.2rem;
}
.cta-message_text {
  color: #414141;
  font-size: 2rem;
  line-height: 1.65;
  margin-top: 0.5em;
  text-align: left;
}

@media (min-width: 768px) {
  .cta-message {
    margin: 60px auto 94px;
    max-width: 840px;
    padding: 30px 20px 60px;
  }
  .cta-message::after {
    width: 74px;
    height: 99px;
    margin-top: -35px;
  }
  .cta-message_label {
    font-size: 3.2rem;
  }
  .cta-message_text {
    font-size: 2.6rem;
    text-align: center;
  }
}
@-webkit-keyframes flash {
  0% {
    left: -10%;
  }
  10%, 100% {
    left: 110%;
  }
}
@keyframes flash {
  0% {
    left: -10%;
  }
  10%, 100% {
    left: 110%;
  }
}
/* campaign */
.box-campaign {
  margin-top: 40px;
  text-align: center;
}

@media (min-width: 768px) {
  .box-campaign {
    margin-top: 80px;
  }
}
/* heading */
.section-title {
  font-size: 3.1rem;
  font-weight: bold;
  text-align: center;
}

@media (min-width: 768px) {
  .section-title {
    font-size: 5.2rem;
  }
}
.c-heading_lv2 {
  font-size: 3.1rem;
  font-weight: bold;
  text-align: center;
}
.c-heading_lv3 {
  font-size: 2.6rem;
  margin-bottom: 0.75em;
  text-align: center;
}

.block-header {
  border-bottom: 1px solid #00A7F2;
  margin-bottom: 1.65em;
  padding-bottom: 1.65em;
  position: relative;
}
.block-header::after {
  background: #00A7F2;
  border-radius: 10px;
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  position: absolute;
  bottom: -4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.block-header_title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 1em;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.2;
}
.block-header_badge {
  color: #00A7F2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  line-height: 1;
  position: relative;
}
.block-header_badge .label {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  text-align: center;
}
.block-header_badge .num {
  font-family: "LINE Seed JP", sans-serif;
  font-size: 4rem;
  margin-top: 0.05em;
}
.block-header_lead {
  font-size: 2rem;
  line-height: 1.5;
  margin-top: 0.45em;
}

@media (min-width: 768px) {
  .block-header {
    margin-bottom: 1.65em;
    padding-bottom: 1.65em;
  }
  .block-header::after {
    width: 10px;
    height: 10px;
    bottom: -5px;
  }
  .block-header_title {
    gap: 1em;
    font-size: 4rem;
    line-height: 1.3;
  }
  .block-header_badge .label {
    font-size: 2.2rem;
  }
  .block-header_badge .num {
    font-size: 6.4rem;
    margin-top: 0.05em;
  }
  .block-header_lead {
    font-size: 2.6rem;
    line-height: 1.88;
  }
}
.l-section_header.--pattern {
  background: url(/ad/miraiplus/images/texture_blue_dot.png) repeat-x 0 100%/auto 67px;
  padding-bottom: 106px;
  position: relative;
}
.l-section_header.--pattern .section-header_title {
  font-size: 3.1rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 15px;
  text-align: center;
}
.l-section_header.--pattern .section-header_title .sub {
  font-size: 2.3rem;
  font-weight: normal;
}
.l-section_header.--pattern + .l-section_main {
  margin-top: 0;
}

@media (min-width: 768px) {
  .l-section_header.--pattern {
    padding-bottom: 106px;
  }
  .l-section_header.--pattern .section-header_title {
    font-size: 5.2rem;
    line-height: 1.2;
    margin-bottom: 20px;
  }
  .l-section_header.--pattern .section-header_title .sub {
    font-size: 3.8rem;
  }
}
/* tab */
.c-tab_btns {
  border-bottom: 2px solid #00A7F2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 7px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.c-tab_btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
.c-tab_btn button {
  background: #E2E2E2;
  font-size: 2rem;
  padding: 0.75em 0.5em;
  text-align: center;
  width: 100%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.c-tab_btn button[aria-selected=true] {
  color: #FFF;
  background: #00A7F2;
}

@media (min-width: 768px) {
  .c-tab_btns {
    padding: 0 15px;
    gap: 15px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .c-tab_btn {
    max-width: 22.5%;
  }
  .c-tab_btn button {
    font-size: 2.4rem;
    line-height: 1.83;
    padding: 0.75em 0.5em;
  }
  .c-tab_btn button:hover {
    color: #FFF;
    background: #00A7F2;
  }
}
/* table */
.c-data {
  display: grid;
  grid-template-columns: 9.75em auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
  margin-bottom: auto;
}
.c-data_label {
  background: #F3F3F3;
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 1em;
  margin-bottom: 1em;
  padding: 0.25em;
  text-align: center;
}
.c-data_label ~ .c-data_label {
  margin-top: 1.5em;
}
.c-data dt, .c-data dd {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}
.c-data dd {
  white-space: nowrap;
}
.c-data .small {
  font-size: 85.7%;
}

@media (min-width: 768px) {
  .c-datas {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}
/* list */
.c-list_note {
  margin-top: 0.65em;
}
.c-list_note li {
  padding-left: 1em;
  text-indent: -1em;
}
.c-list_note li + li {
  margin-top: 0.75em;
}

.c-list_disc li {
  padding-left: 1em;
  position: relative;
}
.c-list_disc li::before {
  background: #00A7F2;
  border-radius: 10px;
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  position: absolute;
  top: 0.65em;
  left: 0;
}

.c-list_num {
  counter-reset: "num";
}
.c-list_num > li {
  counter-increment: num;
  padding-left: 1.25em;
  position: relative;
}
.c-list_num > li::before {
  color: #00A7F2;
  content: counter(num);
  font-size: 1.14em;
  font-weight: bold;
  position: absolute;
  top: -0.15em;
  left: 0;
}
.c-list_num li + li {
  margin-top: 0.75em;
}
.c-list_num .u-negative {
  margin: 1em 0 1em -1.25em;
}

.c-accordion.--liner {
  border: 1px solid #000;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  margin-top: 20px;
}
.c-accordion.--liner .c-accordion_opener {
  font-size: 1.8rem;
  padding: 21px 60px 21px 24px;
  position: relative;
}
.c-accordion.--liner .c-accordion_opener::after {
  background: url(/ad/miraiplus/images/icon_plus.svg) no-repeat 50% 50%/contain;
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  position: absolute;
  top: 50%;
  right: 22px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-accordion.--liner.is-active {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.c-accordion.--liner.is-active .c-accordion_opener::after {
  background-image: url(/ad/miraiplus/images/icon_minus.svg);
}
.c-accordion.--liner .c-accordion_main {
  border-top: 1px solid #E2E2E2;
  padding: 24px 20px 30px;
}

@media (min-width: 768px) {
  .c-accordion.--liner.fn-sponly {
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .c-accordion.--liner .c-accordion_opener {
    font-size: 2.2rem;
    padding: 21px 60px 21px 24px;
    text-align: center;
  }
}
/* common */
.num {
  font-family: "LINE Seed JP", sans-serif;
}

.award-icons {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 9px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.award-icon img {
  width: 100%;
}

/* mq only */
@media (min-width: 768px) {
  .sponly {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .pconly {
    display: none !important;
  }
}
/* utility */
.u-c_key, .u-c_blue {
  color: #00A7F2 !important;
}
.u-c_red {
  color: #FF1717 !important;
}
.u-c_pink {
  color: #F26065 !important;
}

.u-fw_b {
  font-weight: bold !important;
}
.u-fw_n {
  font-weight: normal !important;
}

.u-ta_l {
  text-align: left !important;
}
.u-ta_c {
  text-align: center !important;
}
.u-ta_r {
  text-align: right !important;
}

.u-fs_10 {
  font-size: 10px;
}
.u-fs_ss {
  font-size: 71.4%;
}
.u-fs_s {
  font-size: 85.7%;
  line-height: 1.5;
}
.u-fs_s.u-lh_h {
  line-height: 1.92;
}
.u-fs_m {
  font-size: 107.1%;
  line-height: 1.53;
}
.u-fs_m.u-lh_h {
  line-height: 1.8;
}
.u-fs_l {
  font-size: 114.2%;
  line-height: 1.8;
}

.u-sup {
  font-size: 75%;
  vertical-align: top;
}

.u-fill_blue {
  background: #D9F2FF;
}
.u-fill_gray {
  background: #F3F3F3;
}
.u-fill_white {
  background: #FFF;
}

.u-marker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(72%, transparent), color-stop(85%, #FFF100));
  background: -webkit-linear-gradient(transparent 72%, #FFF100 85%);
  background: linear-gradient(transparent 72%, #FFF100 85%);
}
.u-marker--bold {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(72%, transparent), color-stop(85%, #FFF100));
  background: -webkit-linear-gradient(transparent 72%, #FFF100 85%);
  background: linear-gradient(transparent 72%, #FFF100 85%);
}

@media (max-width: 1079px) {
  .u-note {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .u-note {
    font-size: 12px;
  }
}

.u-mt_0 {
  margin-top: 0 !important;
}
.u-mt_1em {
  margin-top: 1em !important;
}
.u-mt_2em {
  margin-top: 2em !important;
}

.u-pt_0 {
  padding-top: 0;
}

.u-pb_0 {
  padding-bottom: 0 !important;
}

/* common */
/* mv */
.section-mv {
  margin: 0 auto;
  max-width: 1200px;
  padding: 0 4vw;
}
.section-mv .mv-area {
  background: #00A7F2 url(/ad/miraiplus/images/bg_mv.png) no-repeat 0 0/cover;
  border-radius: 10px;
  display: grid;
  grid-template-areas: "alpha" "beta" "gamma";
  padding: 21px 10px 15px;
}
.section-mv .mv-note {
  font-size: 1.1rem;
  line-height: 1.59;
  margin-top: 1em;
}
.section-mv .mv-note li + li {
  margin-top: 0;
}
.section-mv .mv-cta {
  grid-area: gamma;
}
.section-mv .mv-cta .c-btn {
  font-size: 2.2rem;
}
.section-mv .mv-cta .c-btn_badge {
  top: -12px;
  left: -7px;
}
.section-mv .mv-cta .c-btn_mask {
  padding: 0.9em 1em;
}
.section-mv .mv-title {
  margin-left: 10px;
  grid-area: alpha;
}
.section-mv .mv-title_01, .section-mv .mv-title_02 {
  display: inline-block;
}
.section-mv .mv-title_01 {
  -webkit-animation: 0.6s ease-out title;
          animation: 0.6s ease-out title;
}
.section-mv .mv-title_01 img {
  width: 304px;
  width: 81.0666666667vw;
}
.section-mv .mv-title_02 {
  -webkit-animation: 0.6s ease-out 0.6s title forwards;
          animation: 0.6s ease-out 0.6s title forwards;
  margin: 3px 0 0 13px;
  opacity: 0;
  position: relative;
}
.section-mv .mv-title_02::after {
  -webkit-animation: 0.6s ease-out 0.6s coin forwards;
          animation: 0.6s ease-out 0.6s coin forwards;
  background: url(/ad/miraiplus/images/parts_mv_coin.png) no-repeat 0 0/contain;
  content: "";
  display: block;
  width: 83px;
  width: 22.1333333333vw;
  aspect-ratio: 83/74;
  position: absolute;
  top: -10px;
  right: -13px;
}
.section-mv .mv-title_02 img {
  width: 283px;
  width: 75.4666666667vw;
}
.section-mv .mv-desc {
  grid-area: beta;
}
.section-mv .mv-img {
  -webkit-animation: 0.3s ease-out person;
          animation: 0.3s ease-out person;
}
.section-mv .mv-img img {
  width: 96%;
}
.section-mv .rate-box {
  background: #FFF url(/ad/miraiplus/images/bg_mv_ratebox.png) no-repeat 0 30px/100% auto;
  letter-spacing: 0.06em;
  margin: -40px 2px 0;
  padding: 35px 16px 8px;
  position: relative;
  text-align: center;
}
.section-mv .rate-box_catch {
  background: #FFE200;
  border-radius: 30px;
  padding: 0.5em 0 0.65em;
  position: absolute;
  top: -1em;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 105%;
}
.section-mv .rate-box_catch::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 16px solid transparent;
  border-top: 30px solid #FFE200;
  position: absolute;
  top: 100%;
  left: 78px;
  -webkit-transform: rotate(-20deg) translateY(-15px);
      -ms-transform: rotate(-20deg) translateY(-15px);
          transform: rotate(-20deg) translateY(-15px);
  z-index: -1;
}
.section-mv .rate-box_catch strong {
  font-weight: 500;
}
.section-mv .rate-box_catch .num {
  display: inline-block;
  font-size: 2.1rem;
  letter-spacing: -0.05em;
  margin: 0 0.1em;
  vertical-align: text-bottom;
}
.section-mv .rate-box_label, .section-mv .rate-box_num {
  color: #FF1717;
  font-weight: bold;
  margin-top: 0;
}
.section-mv .rate-box_label {
  font-size: 2.4rem;
}
.section-mv .rate-box_num {
  margin-top: 0.5em;
  padding-left: 64px;
  position: relative;
}
.section-mv .rate-box_num .badge {
  background: #FF1717;
  border-radius: 100px;
  color: #FFF;
  font-size: 1.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 64px;
  height: 64px;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-45%);
      -ms-transform: translateY(-45%);
          transform: translateY(-45%);
}
.section-mv .rate-box_num .rate {
  font-family: "LINE Seed JP", sans-serif;
  font-size: 2.8rem;
  line-height: 1;
  position: relative;
}
.section-mv .rate-box_num .rate sup {
  font-size: 1.4rem;
  font-weight: normal;
  position: absolute;
  top: -1em;
  right: 0;
}
.section-mv .rate-box_num .num {
  font-size: 6rem;
  letter-spacing: -0.015em;
}
.section-mv .rate-box_num .num .larger {
  font-size: 7.9rem;
}
.section-mv .award-box {
  font-family: "LINE Seed JP", sans-serif;
  margin: 10px 0;
  text-align: center;
}
.section-mv .award-title {
  color: #FFF100;
  font-size: 2.9rem;
  font-weight: bold;
  line-height: 1;
  position: relative;
}
.section-mv .award-title_label {
  display: block;
  margin: 0 auto;
  width: 276px;
}
.section-mv .award-icons {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.section-mv .award-icons::before, .section-mv .award-icons::after {
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  width: 41px;
  height: 47px;
}
.section-mv .award-icons::before {
  background-image: url(/ad/miraiplus/images/bg_mv_award_l.png);
}
.section-mv .award-icons::after {
  background-image: url(/ad/miraiplus/images/bg_mv_award_r.png);
}
.section-mv .award-icon {
  width: 65px;
}
.section-mv .award-note {
  color: #FFF;
  font-size: 1rem;
  margin-top: 0.5em;
}

@media (min-width: 768px) {
  .section-mv {
    padding: 0;
  }
  .section-mv .mv-area {
    background-image: url(/ad/miraiplus/images/bg_mv_pc.png);
    padding: 25px 5%;
    grid-template-columns: 50% 44.4%;
    gap: 5%;
    grid-template-areas: "alpha beta" "gamma beta";
  }
  .section-mv .mv-note {
    font-size: 1.2rem;
  }
  .section-mv .mv-cta {
    margin-top: 70px;
    margin-bottom: 35px;
    position: relative;
    container-type: inline-size;
    width: 100%;
  }
  .section-mv .mv-cta::before {
    background: url(/ad/miraiplus/images/parts_mv_cta.png) no-repeat 0 0/contain;
    content: "";
    display: block;
    width: 152px;
    width: 28%;
    aspect-ratio: 152/164;
    height: auto;
    position: absolute;
    bottom: 47%;
    left: 50%;
    -webkit-transform: translateX(-36%);
        -ms-transform: translateX(-36%);
            transform: translateX(-36%);
  }
  .section-mv .mv-cta .c-btn {
    font-size: 3.2rem;
    font-size: 5.925cqw;
    max-width: 88.8888888889%;
    margin: 0 auto;
  }
  .section-mv .mv-cta .c-btn::after {
    width: 16px;
    height: 16px;
  }
  .section-mv .mv-cta .c-btn_badge {
    font-size: 2.4rem;
    width: 82px;
    height: 82px;
    top: -30px;
    left: -34px;
  }
  .section-mv .mv-cta .c-btn_mask {
    padding: 0.85em 1em;
  }
  .section-mv .mv-title {
    margin: 25px 0 0;
  }
  .section-mv .mv-title_01 {
    -webkit-animation: 0.6s ease-out title;
            animation: 0.6s ease-out title;
  }
  .section-mv .mv-title_01 img {
    width: 100%;
  }
  .section-mv .mv-title_02 {
    -webkit-animation: 0.6s ease-out 0.6s title forwards;
            animation: 0.6s ease-out 0.6s title forwards;
    margin: 8px 0 0 30px;
    margin: 1.5% 0 0 5.55%;
  }
  .section-mv .mv-title_02::after {
    width: 147px;
    width: 30%;
    aspect-ratio: 147/135;
    top: -17px;
    right: -5px;
  }
  .section-mv .mv-title_02 img {
    width: 496px;
    width: 97.25%;
  }
  .section-mv .mv-img {
    -webkit-animation: 0.3s ease-out person;
            animation: 0.3s ease-out person;
    text-align: center;
  }
  .section-mv .mv-img img {
    margin: 0 auto;
    width: 76.25%;
  }
  .section-mv .rate-box {
    letter-spacing: 0;
    margin: -10px 0 0;
    padding: 31px 8.33% 12px;
    container-type: inline-size;
    width: 100%;
  }
  .section-mv .rate-box_catch {
    font-size: 2rem;
    font-size: 5cqw;
    top: -40px;
    top: -2em;
    width: 106.25%;
  }
  .section-mv .rate-box_catch::before {
    border-left-width: 24px;
    border-left-width: 6cqw;
    border-top-width: 41px;
    border-top-width: 10.25cqw;
    left: 21.5%;
    -webkit-transform: rotate(-18deg) translateY(-15px);
        -ms-transform: rotate(-18deg) translateY(-15px);
            transform: rotate(-18deg) translateY(-15px);
  }
  .section-mv .rate-box_catch .num {
    font-size: 2.9rem;
    font-size: 145%;
  }
  .section-mv .rate-box_label, .section-mv .rate-box_num {
    margin-top: 0;
  }
  .section-mv .rate-box_label {
    font-size: 3.2rem;
    font-size: 8cqw;
  }
  .section-mv .rate-box_num {
    margin-top: 0.5em;
    padding-left: 90px;
    padding-left: 22.5%;
  }
  .section-mv .rate-box_num .badge {
    font-size: 2.1rem;
    font-size: 5.25cqw;
    width: 4.2em;
    height: 4.2em;
  }
  .section-mv .rate-box_num .rate {
    font-size: 3.8rem;
    font-size: 9.5cqw;
  }
  .section-mv .rate-box_num .rate sup {
    font-size: 1.5rem;
    font-size: 39%;
  }
  .section-mv .rate-box_num .num {
    font-size: 8.2rem;
    font-size: 20.5cqw;
  }
  .section-mv .rate-box_num .num .larger {
    font-size: 10.8rem;
    font-size: 131.7%;
  }
  .section-mv .award-box {
    margin: 25px 0 0;
    container-type: inline-size;
    width: 100%;
  }
  .section-mv .award-title {
    font-size: 3.4rem;
    font-size: 7cqw;
  }
  .section-mv .award-title_label {
    width: 388px;
    width: 80.8%;
  }
  .section-mv .award-icons::before, .section-mv .award-icons::after {
    width: 44px;
    width: 9.16%;
    aspect-ratio: 44/60;
    height: auto;
  }
  .section-mv .award-icon {
    width: 91px;
    width: 18.95%;
  }
  .section-mv .award-note {
    font-size: 1.2rem;
    margin-top: 1em;
  }
}
@-webkit-keyframes person {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes person {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes title {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes title {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes coin {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.25);
            transform: scale(1.25);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes coin {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.25);
            transform: scale(1.25);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
/* point */
.section-point {
  margin-top: 100px;
}
.section-point_index {
  position: relative;
}
.section-point_index.l-inner {
  padding-right: 9.5%;
  padding-left: 9.5%;
}
.section-point_index::after {
  border-color: #F3F3F3 transparent transparent transparent;
  border-style: solid;
  border-width: 25px 50vw 0 50vw;
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.section-point_index .btn-anchors {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.section-point_index .btn-anchor {
  background: #FFF;
  border-radius: 6px;
  -webkit-box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.1);
  color: #000;
  display: block;
  font-size: 2rem;
  padding: 0.75em 1em;
  position: relative;
  text-decoration: none;
}
.section-point_index .btn-anchor::after {
  border-right: 2px solid #00A7F2;
  border-bottom: 2px solid #00A7F2;
  content: "";
  display: block;
  width: 11px;
  height: 11px;
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%) rotate(45deg);
      -ms-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.section-point_header {
  font-weight: bold;
  padding-bottom: 1em;
  position: relative;
}
.section-point_header::after {
  content: "";
  display: block;
  position: absolute;
}
.section-point_header::after {
  background: url(../images/img_point_header.png) no-repeat 0 0/contain;
  width: 96px;
  height: 111px;
  right: -1em;
  bottom: -5px;
}
.section-point_header__catch {
  background: url(../images/bg_point_header_catch_sp.png) no-repeat 0 0/contain;
  font-size: 1.6rem;
  line-height: 1.5;
  padding-top: 0.65em;
  text-align: center;
  width: 148px;
  height: 91px;
  position: absolute;
  left: 40%;
  bottom: 90%;
  -webkit-transform: rotate(8deg);
      -ms-transform: rotate(8deg);
          transform: rotate(8deg);
}
.section-point_header__title {
  font-size: 2.8rem;
  line-height: 1.15;
}
.section-point_header__title .smaller {
  font-size: 1.8rem;
}
.section-point_header__title .smaller em {
  font-size: 2.2rem;
}
.section-point_header__title .larger {
  font-size: 4rem;
}
.section-point_header__title .num {
  font-size: 5rem;
}
.section-point .point-tabs_title {
  text-align: center;
}
.section-point .point-tabs_title .label {
  background: #FFE268;
  display: inline-block;
  font-size: 1.6rem;
  margin: 0 auto 25px;
  padding: 0.5em 1.25em;
  position: relative;
}
.section-point .point-tabs_title .label::after {
  border-style: solid;
  border-width: 10px 9px 0 9px;
  border-color: #FFE268 transparent transparent;
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.section-point .c-tab_panels {
  padding: 15px 20px 20px;
}
.section-point .point-item_title {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
}
.section-point .point-item_title .num {
  font-size: 3.2rem;
}
.section-point .point-item_main {
  margin-top: 85px;
  padding: 20px;
  position: relative;
}
.section-point .point-item_main::before, .section-point .point-item_main::after {
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  width: 72px;
  height: 80px;
  position: absolute;
  bottom: 100%;
}
.section-point .point-item_main::before {
  right: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.section-point .point-item_main::after {
  left: 50%;
  -webkit-transform: translateX(50%);
      -ms-transform: translateX(50%);
          transform: translateX(50%);
}
.section-point .point-item_main.--gen25::before {
  background-image: url(/ad/miraiplus/images/icon_person_m_01.png);
}
.section-point .point-item_main.--gen25::after {
  background-image: url(/ad/miraiplus/images/icon_person_f_01.png);
}
.section-point .point-item_main.--gen35::before {
  background-image: url(/ad/miraiplus/images/icon_person_m_02.png);
}
.section-point .point-item_main.--gen35::after {
  background-image: url(/ad/miraiplus/images/icon_person_f_02.png);
}
.section-point .point-item_main.--gen45::before {
  background-image: url(/ad/miraiplus/images/icon_person_m_03.png);
}
.section-point .point-item_main.--gen45::after {
  background-image: url(/ad/miraiplus/images/icon_person_f_03.png);
}
.section-point .point-item_example {
  font-weight: bold;
  text-align: center;
}
.section-point .point-item_example__insurance {
  font-size: 2rem;
  position: relative;
}
.section-point .point-item_example__insurance::after {
  border-style: solid;
  border-width: 16px 16px 0 16px;
  border-color: #FFF100 transparent transparent;
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.section-point .point-item_example__insurance .label {
  font-size: 1.8rem;
}
.section-point .point-item_example__insurance .num {
  font-size: 4rem;
}
.section-point .point-item_example__received {
  font-size: 3rem;
  line-height: 1;
  margin-top: 30px;
  position: relative;
}
.section-point .point-item_example__received .label {
  font-size: 1.8rem;
}
.section-point .point-item_example__received .num {
  font-size: 3.7rem;
}
.section-point .point-item_example__received .num .larger {
  font-size: 5rem;
}
.section-point .point-item_example__received .num .dot {
  font-size: 4rem;
}
.section-point .point-item_example__received .badge {
  background: url(../images/bg_point_received_badge.png) no-repeat 0 0/contain;
  font-size: 1.3rem;
  line-height: 1.31;
  width: 87px;
  height: 67px;
  padding-top: 9px;
  position: absolute;
  top: -2em;
  left: -2.25em;
  -webkit-transform: rotate(-14deg);
      -ms-transform: rotate(-14deg);
          transform: rotate(-14deg);
}
.section-point .point-item_example__return {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 7px;
  font-size: 3.4rem;
  line-height: 1;
  margin-top: 0.5em;
  position: relative;
}
.section-point .point-item_example__return .label {
  font-size: 1.8rem;
}
.section-point .point-item_example__return .num {
  font-size: 3.7rem;
}
.section-point .point-item_example__return .num .larger {
  font-size: 5rem;
}
.section-point .point-item_example__return .num .dot {
  font-size: 4rem;
}
.section-point .point-item_example__return .badge {
  background: #FF1717;
  border-radius: 100px;
  color: #FFF;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.2rem;
  width: 3.75em;
  height: 3.75em;
}
.section-point {
  /* point02 */
}
.section-point .optional-item {
  margin-top: 20px;
  padding-top: 100px;
}
.section-point .optional-item_title {
  background: #00A7F2;
  color: #FFF;
  font-size: 2.2rem;
  font-weight: bold;
  padding: 0.25em;
  position: relative;
  text-align: center;
}
.section-point .optional-item_title::before {
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  width: 100px;
  height: 100px;
  position: absolute;
  bottom: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.section-point .optional-item_title.--type01::before {
  background-image: url(/ad/miraiplus/images/img_point02_option01.png);
}
.section-point .optional-item_title.--type02::before {
  background-image: url(/ad/miraiplus/images/img_point02_option02.png);
}
.section-point .optional-item_title.--type03::before {
  background-image: url(/ad/miraiplus/images/img_point02_option03.png);
}
.section-point .optional-item_main {
  margin-top: 25px;
}
.section-point .optional-item_note,
.section-point .optional-item .c-list_note {
  font-size: 1rem;
  margin-top: 1em;
}
.section-point .optional-item .c-data {
  font-size: 1.5rem;
  line-height: 1.1;
}
.section-point .optional-item .c-data .num {
  font-size: 2.4rem;
}
.section-point .optional-item .c-data .num .larger {
  font-size: 3.2rem;
}
.section-point {
  /* point03 */
}
.section-point .merit-item {
  background: #F3F3F3;
  margin: 74px 0 30px;
  padding: 40px 20px 30px;
  position: relative;
  z-index: 1;
}
.section-point .merit-item_header {
  margin-top: 30px;
  position: relative;
  text-align: center;
}
.section-point .merit-item_header::before {
  background: url(/ad/miraiplus/images/img_point03_merit.png) no-repeat 0 0/contain;
  content: "";
  display: block;
  width: 203px;
  height: 174px;
  margin: 0 auto;
}
.section-point .merit-item_heading {
  display: inline-block;
  font-size: 2.5rem;
  font-weight: bold;
  margin: 25px auto 0;
}
.section-point .merit-item_label {
  background: #F3F3F3;
  border-radius: 100px;
  color: #00A7F2;
  display: block;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  padding-top: 15px;
  position: absolute;
  top: -44px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 120px;
  height: 120px;
  z-index: -1;
}
.section-point .merit-item_label .num {
  font-size: 3.4rem;
  font-family: "LINE Seed JP", sans-serif;
  display: block;
}
.section-point .merit-item_lead {
  font-size: 2rem;
  line-height: 1.7;
}
.section-point .example-box {
  margin-top: 20px;
}
.section-point .example-box_label {
  background: #00A7F2;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 0.25em;
  text-align: center;
}
.section-point .example-box_data {
  background: #FFF;
  font-size: 1.6rem;
  padding: 16px 30px;
  position: relative;
}
.section-point .example-box_data::after {
  border-style: solid;
  border-width: 16px 14px 0 14px;
  border-color: #000 transparent transparent transparent;
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  bottom: -31px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.section-point .example-box_after {
  font-size: 2rem;
  margin-top: 51px;
  position: relative;
  text-align: center;
}
.section-point .example-box_after .price {
  display: inline-block;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.4;
  position: relative;
  white-space: nowrap;
}
.section-point .example-box_after .price .num {
  font-size: 3.6rem;
  margin: 0 0.15em;
}
.section-point .example-box_after .price .num .large {
  font-family: "LINE Seed JP", sans-serif;
  font-size: 6.4rem;
}
.section-point .example-box_after .price sup {
  color: #000;
  font-weight: normal;
  position: absolute;
  top: 0.75em;
  right: 0;
}
.section-point .merit-accordion .example-text {
  margin: 30px auto 20px;
}
.section-point .merit-accordion .example-text .label {
  font-size: 2rem;
}
.section-point .merit-accordion .example-figure {
  margin: 20px auto 30px;
  text-align: center;
  width: 87%;
}
.section-point .merit-accordion .example-figure .c-list_note {
  border: 1px solid #E2E2E2;
  display: inline-block;
  margin-top: 15px;
  padding: 10px;
}
.section-point .merit-accordion .term-box {
  margin-top: 30px;
}
.section-point .merit-accordion .term-box_title {
  font-size: 1.6rem;
  margin-bottom: 25px;
  padding: 15px 20px;
}
.section-point .merit-accordion .term-box_title em {
  font-size: 2rem;
}

@media (min-width: 768px) {
  .section-point {
    margin-top: 100px;
  }
  .section-point_index {
    position: relative;
  }
  .section-point_index.l-inner {
    max-width: 840px;
    padding: 24px 0;
  }
  .section-point_index::after {
    border-width: 56px 360px 0 360px;
  }
  .section-point_index .btn-anchors {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    width: 100%;
  }
  .section-point_index .btn-anchor {
    padding: 0.75em 1em;
  }
  .section-point_index .btn-anchor:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: translateY(2px);
        -ms-transform: translateY(2px);
            transform: translateY(2px);
  }
  .section-point_header {
    padding-bottom: 23px;
  }
  .section-point_header::after {
    width: 144px;
    height: 167px;
    right: 18px;
    bottom: -8px;
  }
  .section-point_header__catch {
    background-image: url(../images/bg_point_header_catch_pc.png);
    font-size: 1.8rem;
    padding-top: 0.65em;
    width: 168px;
    height: 102px;
    left: 16%;
    bottom: 60%;
    -webkit-transform: rotate(-10deg);
        -ms-transform: rotate(-10deg);
            transform: rotate(-10deg);
  }
  .section-point_header__title {
    font-size: 3.6rem;
    line-height: 1;
    text-align: center;
  }
  .section-point_header__title .smaller {
    font-size: 1.9rem;
  }
  .section-point_header__title .smaller em {
    font-size: 2.4rem;
  }
  .section-point_header__title .larger {
    font-size: 5.3rem;
  }
  .section-point_header__title .num {
    font-size: 6.6rem;
    line-height: 0.95;
  }
  .section-point .point-tabs_title .label {
    font-size: 2rem;
    margin: 0 auto 36px;
    padding: 0.5em 2em;
  }
  .section-point .point-tabs_title .label::after {
    border-width: 13px 12px 0 12px;
  }
  .section-point .c-tab_panels {
    padding: 50px 30px 30px;
  }
  .section-point .point-item_title {
    font-size: 2.4rem;
    line-height: 1;
  }
  .section-point .point-item_title .num {
    font-size: 4.8rem;
  }
  .section-point .point-item_main {
    margin-top: 30px;
    padding: 30px 10% 40px;
  }
  .section-point .point-item_main::before, .section-point .point-item_main::after {
    width: 110px;
    height: 120px;
  }
  .section-point .point-item_main::before {
    right: 100%;
    -webkit-transform: translateX(210px);
        -ms-transform: translateX(210px);
            transform: translateX(210px);
  }
  .section-point .point-item_main::after {
    left: 100%;
    -webkit-transform: translateX(-210px);
        -ms-transform: translateX(-210px);
            transform: translateX(-210px);
  }
  .section-point .point-item_example {
    margin-bottom: 50px;
  }
  .section-point .point-item_example__insurance {
    font-size: 2.7rem;
    line-height: 1.2;
  }
  .section-point .point-item_example__insurance::after {
    border-width: 20px 20px 0 20px;
  }
  .section-point .point-item_example__insurance .label {
    font-size: 2.2rem;
  }
  .section-point .point-item_example__insurance .num {
    font-size: 5.5rem;
  }
  .section-point .point-item_example__result {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 24px;
  }
  .section-point .point-item_example__received {
    font-size: 3.6rem;
    margin-top: 30px;
    white-space: nowrap;
  }
  .section-point .point-item_example__received .label {
    font-size: 1.8rem;
  }
  .section-point .point-item_example__received .num {
    font-size: 4.8rem;
  }
  .section-point .point-item_example__received .num .larger {
    font-size: 6.4rem;
  }
  .section-point .point-item_example__received .badge {
    background: url(../images/bg_point_received_badge.png) no-repeat 0 0/contain;
    font-size: 1.8rem;
    line-height: 1.33;
    width: 124px;
    height: 89px;
    padding-top: 9px;
    top: -3em;
    left: -2.25em;
  }
  .section-point .point-item_example__return {
    gap: 0;
    font-size: 4.8rem;
    margin-top: 0;
  }
  .section-point .point-item_example__return .label {
    font-size: 1.8rem;
  }
  .section-point .point-item_example__return .num {
    font-size: 4.8rem;
  }
  .section-point .point-item_example__return .num .larger {
    font-size: 6.4rem;
  }
  .section-point .point-item_example__return .badge {
    font-size: 1.6rem;
    width: 4em;
    height: 4em;
  }
  .section-point .point-block_01 .c-data {
    font-size: 1.8rem;
    font-size: clamp(1.4rem, 1.4rem + (1vw - 0.48rem) * 0.5556, 1.8rem);
  }
  .section-point .point-block_01 .c-data_label {
    font-size: 2rem;
    padding: 0.45em;
  }
  .section-point .point-block_01 .c-data:nth-child(odd) {
    padding-right: 40px;
  }
  .section-point .point-block_01 .c-data:nth-child(even) {
    border-left: 1px solid #E2E2E2;
    padding-left: 40px;
  }
  .section-point {
    /* point02 */
  }
  .section-point .optional-item {
    margin-top: 30px;
    padding-top: 120px;
  }
  .section-point .optional-item_title {
    font-size: 3rem;
  }
  .section-point .optional-item_title::before {
    width: 120px;
    height: 120px;
  }
  .section-point .optional-item_main {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 60px;
    gap: 7.14%;
    margin-top: 40px;
    padding-bottom: 40px;
    position: relative;
  }
  .section-point .optional-item_text {
    font-size: 2rem;
    text-align: center;
  }
  .section-point .optional-item_figure {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 50%;
        -ms-flex: 0 1 50%;
            flex: 0 1 50%;
  }
  .section-point .optional-item_data {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  .section-point .optional-item_note, .section-point .optional-item_data .c-list_note {
    font-size: 1.2rem;
    left: 0;
    position: absolute;
  }
  .section-point .optional-item_note {
    bottom: -1.65em;
  }
  .section-point .optional-item_data .c-list_note {
    bottom: 0;
  }
  .section-point .optional-item .c-data {
    font-size: 1.6rem;
    line-height: 1.1;
  }
  .section-point .optional-item .c-data_label {
    font-size: 1.8rem;
    padding: 0.25em 0.5em;
    text-align: left;
  }
  .section-point .optional-item .c-data_label:first-child {
    margin-top: 0;
  }
  .section-point {
    /* point03 */
  }
  .section-point .point-block_03 .point-block_text {
    font-size: 2rem;
  }
  .section-point .merit-item {
    margin: 82px 0 30px;
    padding: 50px 60px 56px;
  }
  .section-point .merit-item_header {
    margin-top: 40px;
  }
  .section-point .merit-item_heading {
    font-size: 3.2rem;
  }
  .section-point .merit-item_label {
    line-height: 1.2;
    font-size: 1.6rem;
    padding-top: 20px;
    top: -52px;
  }
  .section-point .merit-item_label .num {
    font-size: 4rem;
  }
  .section-point .merit-item_lead {
    line-height: 1.8;
  }
  .section-point .example-boxes {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14.28%;
    margin-top: 36px;
  }
  .section-point .example-box {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 50%;
        -ms-flex: 1 0 50%;
            flex: 1 0 50%;
    margin-top: 0;
  }
  .section-point .example-box_data {
    padding: 16px 30px 30px;
  }
  .section-point .example-box_data::after {
    border-width: 20px 0 20px 22px;
    border-color: transparent transparent transparent #000;
    top: 10%;
    bottom: auto;
    left: 100%;
    -webkit-transform: translateX(60px);
        -ms-transform: translateX(60px);
            transform: translateX(60px);
  }
  .section-point .example-box_after {
    margin-top: 0;
  }
  .section-point .example-box_after .price {
    font-size: 2.8rem;
    line-height: 1.4;
  }
  .section-point .example-box_after .price .num {
    font-size: 4.1rem;
  }
  .section-point .example-box_after .price .num .large {
    font-size: 180%;
  }
  .section-point .example-box_after .price sup {
    font-size: 1.6rem;
  }
  .section-point .merit-accordion_main.c-accordion_main {
    padding: 40px 120px 60px;
  }
  .section-point .merit-accordion .example-text {
    font-size: 1.5rem;
    margin: 30px auto 20px;
    padding: 20px 30px 30px;
  }
  .section-point .merit-accordion .example-figure {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 15px;
    margin: 20px auto 30px;
    text-align: center;
    width: 100%;
  }
  .section-point .merit-accordion .example-figure figure {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 70%;
        -ms-flex: 0 1 70%;
            flex: 0 1 70%;
  }
  .section-point .merit-accordion .example-figure .c-list_note {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 1.3rem;
    margin-top: 0;
    padding: 10px;
  }
  .section-point .merit-accordion .term-box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    margin-bottom: 1em;
    padding: 30px;
  }
  .section-point .merit-accordion .term-box_title {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 1.8rem;
    margin-bottom: 0;
    padding: 15px 30px;
    white-space: nowrap;
  }
  .section-point .merit-accordion .term-box_title em {
    font-size: 2.2rem;
  }
  .section-point .merit-accordion .term-box .c-list_disc {
    font-size: 1.6rem;
  }
}
/* voice */
.section-voice .c-tab_btns {
  padding: 0 4vw;
}
.section-voice .c-tab_panels {
  padding-bottom: 15px;
}
.section-voice .voice-items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 100px 0 23px;
  position: relative;
}
.section-voice .voice-items.slick-initialized {
  display: block;
}
.section-voice .voice-items::before {
  background-position: 0 0, 100% 0;
  background-repeat: no-repeat;
  background-size: auto 100%;
  content: "";
  display: block;
  width: 194px;
  height: 80px;
  position: absolute;
  top: 20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.section-voice .voice-items.--gen20::before {
  background-image: url(/ad/miraiplus/images/icon_person_m_01.png), url(/ad/miraiplus/images/icon_person_f_01.png);
}
.section-voice .voice-items.--gen30::before {
  background-image: url(/ad/miraiplus/images/icon_person_m_02.png), url(/ad/miraiplus/images/icon_person_f_02.png);
}
.section-voice .voice-items.--gen40::before {
  background-image: url(/ad/miraiplus/images/icon_person_m_03.png), url(/ad/miraiplus/images/icon_person_f_03.png);
}
.section-voice .voice-items.--gen50::before {
  background-image: url(/ad/miraiplus/images/icon_person_m_04.png), url(/ad/miraiplus/images/icon_person_f_04.png);
}
.section-voice .voice-item {
  background: #FFF;
  padding: 20px 25px 30px;
}
.section-voice .voice-item_info {
  font-size: 1.6rem;
}
.section-voice .voice-item_info.--m {
  color: #23ACB0;
}
.section-voice .voice-item_info.--f {
  color: #F26065;
}
.section-voice .voice-item_text {
  font-size: 1.5rem;
  line-height: 1.71;
  margin-top: 0.75em;
}
.section-voice .voice-item_ctrls {
  margin: 0 auto;
  width: calc(84% - 14px);
}
.section-voice .voice-note {
  margin: 28px 8% 0;
}

@media (min-width: 768px) {
  .section-voice .c-tab_btns {
    padding: 0 120px;
  }
  .section-voice .c-tab_panels {
    padding-bottom: 20px;
  }
  .section-voice .voice-items {
    gap: 30px;
    padding: 158px 0 30px;
  }
  .section-voice .voice-items::before {
    width: 300px;
    height: 120px;
    top: 38px;
  }
  .section-voice .voice-item {
    padding: 30px 60px 50px;
  }
  .section-voice .voice-item_info {
    font-size: 2rem;
  }
  .section-voice .voice-item_text {
    font-size: 1.8rem;
    line-height: 1.8;
  }
  .section-voice .voice-item_ctrls {
    margin: 0 auto;
    width: calc(52% - 30px);
  }
  .section-voice .voice-note {
    margin: 45px auto 0;
    max-width: 49%;
  }
}
/* slider settings */
.voice-items .slick-list {
  width: 100%;
  min-width: 0;
}
.voice-items .slick-track {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.voice-item.slick-slide {
  float: none;
  height: auto;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin: 0 7px;
}

.voice-item_ctrls {
  position: relative;
}
.voice-item_ctrls .slick-arrow {
  border: 1px solid #00A7F2;
  border-radius: 4px;
  overflow: hidden;
  padding: 22px 0 0;
  height: 22px;
  width: 42px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.voice-item_ctrls .slick-arrow::after {
  border: 1px solid #00A7F2;
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
      -ms-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.voice-item_ctrls .slick-arrow:hover {
  background: #00A7F2;
}
.voice-item_ctrls .slick-arrow:hover::after {
  border-color: #FFF;
}
.voice-item_ctrls .slick-prev {
  right: 52px;
}
.voice-item_ctrls .slick-prev::after {
  border-width: 0 0 1px 1px;
}
.voice-item_ctrls .slick-next {
  right: 0;
}
.voice-item_ctrls .slick-next::after {
  border-width: 1px 1px 0 0;
}
.voice-item_ctrls .slick-dots {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 7px;
}
.voice-item_ctrls .slick-dots li {
  cursor: pointer;
}
.voice-item_ctrls .slick-dots li button {
  background: #FFF;
  border-radius: 10px;
  width: 8px;
  height: 8px;
  font-size: 0;
  line-height: 0;
  display: block;
}
.voice-item_ctrls .slick-dots li.slick-active button {
  background-color: #00A7F2;
}

@media (min-width: 768px) {
  .voice-item.slick-slide {
    margin: 0 15px;
  }
  .voice-item_ctrls .slick-dots {
    gap: 9px;
  }
  .voice-item_ctrls .slick-dots li button {
    width: 10px;
    height: 10px;
  }
  .voice-item_ctrls .slick-dots li button:hover {
    background: #00A7F2;
  }
}
/* reason */
.section-reason .l-section_header::before, .section-reason .l-section_header::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  width: 162px;
  height: 91px;
  position: absolute;
  bottom: 0;
}
.section-reason .l-section_header::before {
  background-image: url(/ad/miraiplus/images/parts_reason_header_01.png);
  right: 53%;
}
.section-reason .l-section_header::after {
  background-image: url(/ad/miraiplus/images/parts_reason_header_02.png);
  left: 53%;
}
.section-reason .l-section_header .award-icon {
  width: 100px;
}
.section-reason .point-boxes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 28px;
}
.section-reason .point-box {
  padding: 0 20px 20px;
  text-align: center;
}
.section-reason .point-box:nth-child(even) {
  border-left: 1px solid #E2E2E2;
}
.section-reason .point-box:nth-child(n+3) {
  border-top: 1px solid #E2E2E2;
  padding-top: 20px;
}
.section-reason .point-box_label {
  background: #CCC;
  border-radius: 10px;
  color: #FFF;
  display: inline-block;
  font-size: 1.2rem;
  font-family: "LINE Seed JP", sans-serif;
  font-weight: bold;
  padding: 0 0.75em;
}
.section-reason .point-box_icon {
  width: 50%;
  margin: 11px auto;
}
.section-reason .point-box_text {
  line-height: 1;
}
.section-reason .point-box_key {
  font-size: 2.4rem;
}
.section-reason .point-box_key .num {
  font-family: "LINE Seed JP", sans-serif;
  font-size: 3rem;
}
.section-reason .point-box_01 .point-box_label {
  background-color: #E88100;
}
.section-reason .point-box_01 .color {
  color: #E88100;
}
.section-reason .point-box_02 .point-box_label {
  background-color: #0083BE;
}
.section-reason .point-box_02 .color {
  color: #0083BE;
}
.section-reason .point-box_03 .point-box_label {
  background-color: #B95A82;
}
.section-reason .point-box_03 .color {
  color: #B95A82;
}
.section-reason .point-box_04 .point-box_label {
  background-color: #59A300;
}
.section-reason .point-box_04 .color {
  color: #59A300;
}
.section-reason .point-box_04 .point-box_key {
  font-size: 2rem;
}
.section-reason .reason-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  gap: 20px;
  padding: 20px;
}

@media (min-width: 768px) {
  .section-reason .l-section_header {
    padding-bottom: 15px;
  }
  .section-reason .l-section_header::before, .section-reason .l-section_header::after {
    width: 250px;
    height: 141px;
  }
  .section-reason .l-section_header::before {
    right: 50%;
    -webkit-transform: translateX(-80%);
        -ms-transform: translateX(-80%);
            transform: translateX(-80%);
  }
  .section-reason .l-section_header::after {
    left: 50%;
    -webkit-transform: translateX(80%);
        -ms-transform: translateX(80%);
            transform: translateX(80%);
  }
  .section-reason .l-section_header .award-icons {
    gap: 20px;
  }
  .section-reason .l-section_header .award-icon {
    width: 140px;
  }
  .section-reason .point-boxes {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 35px;
  }
  .section-reason .point-box {
    padding: 0 20px 20px;
    text-align: center;
  }
  .section-reason .point-box:nth-child(n+2) {
    border-left: 1px solid #E2E2E2;
    border-top: none;
    padding-top: 0;
  }
  .section-reason .point-box_label {
    border-radius: 20px;
    font-size: 1.6rem;
    padding: 0 1em;
  }
  .section-reason .point-box_icon {
    width: 47.5%;
    margin: 16px auto;
  }
  .section-reason .point-box_text {
    font-size: 1.9rem;
  }
  .section-reason .point-box_key {
    font-size: 3.2rem;
  }
  .section-reason .point-box_key .num {
    font-size: 4.2rem;
    line-height: 0.75;
  }
  .section-reason .point-box_04 .point-box_key {
    font-size: 2.6rem;
  }
  .section-reason .u-wider_pc {
    margin-right: -60px;
    margin-left: -60px;
    padding-top: 20px;
    position: relative;
  }
  .section-reason .u-wider_pc > .l-inner {
    padding-right: 0;
    padding-left: 0;
  }
  .section-reason .reason-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 40px;
    padding: 50px 60px;
  }
  .section-reason .reason-item_thumb {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 35.7%;
        -ms-flex: 1 0 35.7%;
            flex: 1 0 35.7%;
  }
  .section-reason .reason-item_text .u-fs_l {
    font-size: 2rem;
    line-height: 1.8;
    margin-bottom: 0.75em;
  }
}
/* return */
.section-return .l-section_header {
  padding-bottom: 100px;
}
.section-return .l-section_header::after {
  background-repeat: no-repeat;
  content: "";
  display: block;
  width: 84%;
  max-width: 660px;
  height: 122px;
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(/ad/miraiplus/images/parts_return_header_01.png), url(/ad/miraiplus/images/parts_return_header_02.png), url(/ad/miraiplus/images/parts_return_header_03.png);
  background-position: 0 100%, 50% 100%, 100% 100%;
  background-size: auto 106px, auto 74px, auto 94px;
}
.section-return .l-section_header .section-header_title {
  line-height: 1.2;
  margin: 0 auto;
  max-width: 660px;
  position: relative;
}
.section-return .l-section_header .large {
  font-size: 4.8rem;
}
.section-return .l-section_header .badge {
  background: url(/ad/miraiplus/images/parts_return_header_balloon.png) no-repeat 0 0/contain;
  color: #FF1717;
  font-size: 16px;
  padding-top: 7px;
  position: absolute;
  top: 5%;
  left: 0;
  -webkit-transform: rotate(-15deg) translateX(20%);
      -ms-transform: rotate(-15deg) translateX(20%);
          transform: rotate(-15deg) translateX(20%);
  width: 82px;
  height: 63px;
}
.section-return .l-section_header .badge .large {
  font-size: 21px;
}
.section-return .block-header {
  padding-top: 0;
}
.section-return .box-returnrate {
  padding-top: 25px;
  position: relative;
  text-align: center;
}
.section-return .box-returnrate::before, .section-return .box-returnrate::after {
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  width: 146px;
  height: 109px;
  position: absolute;
  top: 0;
}
.section-return .box-returnrate::before {
  background-image: url(/ad/miraiplus/images/parts_return_l.png);
  left: -15px;
}
.section-return .box-returnrate::after {
  background-image: url(/ad/miraiplus/images/parts_return_r.png);
  right: -15px;
}
.section-return .box-returnrate .badge {
  background: #FF1717;
  border-radius: 100px;
  color: #FFF;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: bold;
  width: 72px;
  height: 72px;
  margin: 0 auto 15px;
}
.section-return .box-returnrate .rate {
  font-family: "LINE Seed JP", sans-serif;
  font-size: 3.4rem;
  font-weight: bold;
  line-height: 1;
  margin-top: 15px;
  position: relative;
}
.section-return .box-returnrate .rate .num {
  font-size: 7.6rem;
}
.section-return .box-returnrate .rate .larger {
  font-size: 10.1rem;
  letter-spacing: -0.05em;
}
.section-return .box-returnrate .rate sup {
  font-size: 1.4rem;
  font-weight: normal;
  position: absolute;
  top: -1em;
  right: 0;
}
.section-return .example-item {
  margin-top: 30px;
}
.section-return .example-item_title {
  font-size: 2.5rem;
  font-weight: bold;
  text-align: center;
}
.section-return .example-item .example-box {
  margin: 30px 0;
  padding-left: 60px;
  position: relative;
}
.section-return .example-item .example-box .badge {
  background: #FFF;
  border-radius: 100px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.8rem;
  width: 44px;
  height: 44px;
  position: absolute;
  top: 0.5em;
  left: 0;
  z-index: 10;
}
.section-return .example-item .befaft-box {
  font-weight: bold;
  position: relative;
  text-align: center;
}
.section-return .example-item .befaft-box_label {
  background: #FFF;
  border-radius: 20px;
  font-size: 1.6rem;
  padding: 0.25em;
}
.section-return .example-item .befaft-box_rate {
  line-height: 1;
  margin-top: 25px;
}
.section-return .example-item .befaft-box.--before .befaft-box_rate {
  font-size: 2.5rem;
}
.section-return .example-item .befaft-box.--before .befaft-box_rate .num {
  font-size: 3.7rem;
}
.section-return .example-item .befaft-box.--before .befaft-box_rate .num .larger {
  font-size: 5rem;
}
.section-return .example-item .befaft-box.--before::after {
  border-style: solid;
  border-width: 16px 14px 0 14px;
  border-color: #000 transparent transparent transparent;
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  bottom: -35px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.section-return .example-item .befaft-box.--after {
  color: #FF1717;
  margin: 55px 0 30px;
}
.section-return .example-item .befaft-box.--after .befaft-box_rate {
  font-size: 4rem;
}
.section-return .example-item .befaft-box.--after .befaft-box_rate .num {
  font-size: 6rem;
}
.section-return .example-item .befaft-box.--after .befaft-box_rate .num .larger {
  font-size: 8rem;
}

@media (min-width: 768px) {
  .section-return .l-section_header {
    padding-bottom: 128px;
  }
  .section-return .l-section_header::after {
    height: 182px;
    background-size: auto 180px, auto 128px, auto 180px;
  }
  .section-return .l-section_header .large {
    font-size: 8rem;
  }
  .section-return .l-section_header .badge {
    font-size: 26px;
    padding-top: 0.75em;
    left: 7%;
    -webkit-transform: rotate(-15deg) translateX(0);
        -ms-transform: rotate(-15deg) translateX(0);
            transform: rotate(-15deg) translateX(0);
    width: 151px;
    height: 141px;
  }
  .section-return .l-section_header .badge .large {
    font-size: 34px;
  }
  .section-return .box-returnrate {
    margin-bottom: 20px;
    padding: 50px 0 40px;
  }
  .section-return .box-returnrate::before, .section-return .box-returnrate::after {
    width: 268px;
    height: 199px;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: -1;
  }
  .section-return .box-returnrate::before {
    left: -77px;
  }
  .section-return .box-returnrate::after {
    right: -77px;
  }
  .section-return .box-returnrate p {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .section-return .box-returnrate .badge {
    font-size: 2.6rem;
    width: 120px;
    height: 120px;
    margin: 0;
  }
  .section-return .box-returnrate .rate {
    font-size: 5.3rem;
    margin-top: 0;
  }
  .section-return .box-returnrate .rate .num {
    font-size: 10.4rem;
  }
  .section-return .box-returnrate .rate .larger {
    font-size: 13.9rem;
  }
  .section-return .box-returnrate .rate sup {
    font-size: 2rem;
    left: -1em;
    position: relative;
  }
  .section-return .example-item {
    margin-top: 40px;
  }
  .section-return .example-item_title {
    font-size: 3.2rem;
  }
  .section-return .example-item .example-box {
    font-size: 1.8rem;
    margin: 40px auto;
    max-width: 720px;
    padding-left: 80px;
  }
  .section-return .example-item .example-box .badge {
    font-size: 2.5rem;
    width: 60px;
    height: 60px;
    top: 0;
  }
  .section-return .example-item .befaft-boxes {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto 35px;
    max-width: 720px;
    gap: 40px;
  }
  .section-return .example-item .befaft-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0;
    width: 50%;
  }
  .section-return .example-item .befaft-box_label {
    font-size: 2rem;
    margin-bottom: 30px;
  }
  .section-return .example-item .befaft-box_rate {
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    line-height: 1;
    margin-top: 0;
  }
  .section-return .example-item .befaft-box.--before .befaft-box_rate {
    font-size: 3.2rem;
  }
  .section-return .example-item .befaft-box.--before .befaft-box_rate .num {
    font-size: 4.6rem;
  }
  .section-return .example-item .befaft-box.--before .befaft-box_rate .num .larger {
    font-size: 6.4rem;
  }
  .section-return .example-item .befaft-box.--before::after {
    border-width: 20px 0 20px 20px;
    border-color: transparent transparent transparent #000;
    bottom: 15%;
    left: 100%;
    -webkit-transform: translateX(10px);
        -ms-transform: translateX(10px);
            transform: translateX(10px);
  }
  .section-return .example-item .befaft-box.--after {
    color: #FF1717;
    margin: 0;
  }
  .section-return .example-item .befaft-box.--after .befaft-box_rate {
    font-size: 4.4rem;
  }
  .section-return .example-item .befaft-box.--after .befaft-box_rate .num {
    font-size: 6.4rem;
  }
  .section-return .example-item .befaft-box.--after .befaft-box_rate .num .larger {
    font-size: 8.6rem;
  }
}
/* faq */
.section-faq .l-section_main {
  padding-bottom: 60px;
}
.section-faq .faq-item_q {
  font-size: 2rem;
  line-height: 1.5;
}
.section-faq .faq-item_num {
  color: #00A7F2;
  display: block;
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 0.25em;
  text-align: center;
}
.section-faq .faq-item + .faq-item {
  margin-top: 40px;
}
.section-faq .faq-item .c-switch {
  position: relative;
}
.section-faq .faq-item .c-switch::before {
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  width: 130px;
  height: 75px;
  position: absolute;
  bottom: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
}
.section-faq .faq-item .c-switch.--type01::before {
  background-image: url(/ad/miraiplus/images/icon_faq_01_01.png);
}
.section-faq .faq-item .c-switch.--type02::before {
  background-image: url(/ad/miraiplus/images/icon_faq_01_02.png);
}
.section-faq .faq-item .c-switch.--type03::before {
  background-image: url(/ad/miraiplus/images/icon_faq_01_03.png);
}
.section-faq .faq-item_accordion {
  margin-top: 95px;
}
.section-faq .faq-item_simple {
  background: #FFF;
  margin-bottom: 20px;
}
.section-faq .faq-item_simple a {
  color: #00A7F2;
}
.section-faq .faq-item_simple .faq-item_q, .section-faq .faq-item_simple .faq-item_a {
  position: relative;
}
.section-faq .faq-item_simple .faq-item_q::before, .section-faq .faq-item_simple .faq-item_a::before {
  content: "";
  display: block;
  font-size: 20px;
  font-weight: bold;
  position: absolute;
  left: 24px;
}
.section-faq .faq-item_simple .faq-item_q {
  color: #00A7F2;
  font-size: 1.6rem;
  line-height: 1.31;
  padding: 19px 23px 19px 52px;
}
.section-faq .faq-item_simple .faq-item_q::before {
  content: "Q";
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.section-faq .faq-item_simple .faq-item_a {
  border-top: 1px solid #E2E2E2;
  line-height: 1.65;
  padding: 17px 23px 20px 52px;
}
.section-faq .faq-item_simple .faq-item_a::before {
  content: "A";
  margin-top: -5px;
}

.faq2-table {
  margin: 24px 0 15px;
}
.faq2-table th, .faq2-table td {
  vertical-align: middle;
}
.faq2-table thead th {
  background: #666;
  border-right: 2px solid #FFF;
  color: #FFF;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.3;
  padding: 0.75em 0.25em;
  text-align: center;
}
.faq2-table thead th:last-child {
  border-right-color: #666;
}
.faq2-table thead th.null {
  background: none;
  border-right-color: #00A7F2;
}
.faq2-table thead th.--key {
  background: #00A7F2;
  border-left: 2px solid #00A7F2;
}
.faq2-table tbody th {
  background: #E2ECFC;
  border-top: 2px solid #FFF;
  padding: 0.5em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.faq2-table tbody td {
  border-right: 2px solid #E2E2E2;
  border-bottom: 2px solid #E2E2E2;
  height: 5.5em;
  padding: 1em 0.75em;
  text-align: center;
  width: 30%;
}
.faq2-table tbody td.--key {
  border-left: 2px solid #00A7F2;
  border-right-color: #00A7F2;
}
.faq2-table tbody tr:last-child td.--key {
  border-bottom: 2px solid #00A7F2;
}

.compare-item_title {
  color: #00A7F2;
  font-size: 2.5rem;
  line-height: 1.4;
  margin-bottom: 20px;
  text-align: center;
}
.compare-item .tax-datas {
  display: grid;
  grid-template-columns: 4.5em auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px 10px;
}
.compare-item .tax-data {
  font-size: 1.6rem;
  width: 100%;
}
.compare-item .tax-data_label {
  border-radius: 20px;
  color: #FFF;
  font-size: 1.2rem;
  padding: 0 0.75em;
  text-align: center;
}
.compare-item .tax-data_label.--pink {
  background: #F26065;
}
.compare-item .tax-data_label.--green {
  background: #23ACB0;
}

@media (min-width: 768px) {
  .section-faq .l-section_main {
    padding-bottom: 0;
  }
  .section-faq .c-cta {
    margin-top: 0;
  }
  .section-faq .c-tab_btn {
    max-width: none;
  }
  .section-faq .c-tab_btn button {
    font-size: 1.8rem;
  }
  .section-faq .c-tab_btns {
    border-bottom: none;
    margin-top: 115px;
  }
  .section-faq .faq-item_q {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 30px;
    font-size: 2.6rem;
  }
  .section-faq .faq-item_num {
    font-size: 4rem;
    margin-bottom: 0;
  }
  .section-faq .faq-item + .faq-item {
    margin-top: 90px;
  }
  .section-faq .faq-item_accordion {
    margin-top: 0;
    margin-bottom: 20px;
  }
  .section-faq .faq-items {
    margin-top: 50px;
  }
  .section-faq .faq-item_simple .faq-item_q::before, .section-faq .faq-item_simple .faq-item_a::before {
    font-size: 30px;
    left: 60px;
  }
  .section-faq .faq-item_simple .faq-item_q {
    font-size: 2rem;
    padding: 25px 60px 25px 123px;
  }
  .section-faq .faq-item_simple .faq-item_a {
    font-size: 1.8rem;
    line-height: 1.65;
    padding: 25px 60px 25px 123px;
  }
  .section-faq .faq-item_simple .faq-item_a::before {
    margin-top: -10px;
  }
  .c-tab_contents .compare-item_main {
    padding: 40px 60px !important;
  }
  .faq2-table {
    width: 100%;
    margin: 40px 0 20px;
  }
  .faq2-table th, .faq2-table td {
    font-size: 1.5rem;
  }
  .faq2-table thead th {
    font-size: 1.8rem;
    padding: 1.25em 0.25em;
  }
  .faq2-table tbody th {
    padding: 0.5em;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
  }
  .faq2-table tbody td {
    height: auto;
    padding: 1.5em 0.75em;
    width: 29%;
  }
  .compare-items {
    margin-top: 40px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 19px;
  }
  .compare-items .u-fill_gray.l-inner.u-negative {
    padding: 15px 20px;
  }
}