@charset "UTF-8";
/* line 2, style.scss */
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 {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

/* line 2, style.scss */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

/* line 2, style.scss */
body {
  line-height: 1; }

/* line 2, style.scss */
ol, ul {
  list-style: none; }

/* line 2, style.scss */
blockquote, q {
  quotes: none; }

/* line 2, style.scss */
blockquote:before, blockquote:after, q:before, q:after {
  content: none; }

/* line 2, style.scss */
table {
  border-collapse: collapse;
  border-spacing: 0; }

/* line 4, style.scss */
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden; }

/* line 12, style.scss */
.clearfix {
  display: inline-block; }

/* Hides from IE Mac */
/* line 14, style.scss */
* html .clearfix {
  height: 1%; }

/* line 15, style.scss */
.clearfix {
  display: block; }

/* ---------- 初期 ---------- */
/* line 18, style.scss */
body {
  letter-spacing: 0;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }

/* line 19, style.scss */
img {
  width: 100%;
  max-width: 100%;
  height: auto;
  line-height: 0; }

/* line 20, style.scss */
a {
  text-decoration: none; }

/* line 21, style.scss */
strong {
  font-weight: bold; }

/* ---------- /共通部分 ---------- */
/* line 23, style.scss */
#jougetyuou {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  margin: auto; }

/* line 24, style.scss */
#kadomaru {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px; }

/* line 25, style.scss */
#resbtn {
  -webkit-appearance: none; }

/* line 26, style.scss */
.ancr {
  position: relative;
  transition: 0.5s; }

/* line 27, style.scss */
.anca {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 10;
  cursor: pointer; }

/* line 28, style.scss */
.ancr:hover {
  opacity: 0.75;
  transition: 0.5s;
  cursor: pointer; }

/* ---------- /参考タグ部分 ---------- */
/* line 31, style.scss */
.wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

/*フォント*/
/* line 34, style.scss */
.inter {
  font-family: "Inter", sans-serif; }

/* line 35, style.scss */
.shippori {
  font-family: "Shippori Mincho B1", serif; }

/* PC */
@media screen and (min-width: 769px) {
  /* line 41, style.scss */
  article {
    max-width: 390px;
    margin: 0 auto;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25); }

  /* line 47, style.scss */
  #mv {
    width: 100%;
    position: relative; }
    /* line 50, style.scss */
    #mv .mv_img {
      width: 100%; }
    /* line 53, style.scss */
    #mv h1 {
      width: 322px;
      position: absolute;
      left: 15px;
      bottom: 17px; }
    /* line 59, style.scss */
    #mv .mv_line {
      width: 110px;
      position: absolute;
      top: 9px;
      right: 14px; }
      /* line 64, style.scss */
      #mv .mv_line a {
        display: block;
        width: 100%;
        line-height: 0; }
        /* line 68, style.scss */
        #mv .mv_line a img {
          filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.25)); }

  /* line 75, style.scss */
  .banner {
    width: 100%;
    position: relative; }
    /* line 78, style.scss */
    .banner .banner_img {
      width: 100%;
      line-height: 0; }
    /* line 82, style.scss */
    .banner .banner_btn {
      width: 252px;
      position: absolute;
      left: 93px;
      bottom: 42px; }
      /* line 87, style.scss */
      .banner .banner_btn a {
        display: block;
        width: 100%;
        line-height: 0; }
        /* line 91, style.scss */
        .banner .banner_btn a img {
          filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25)); }

  /* line 98, style.scss */
  #intro {
    width: 100%;
    position: relative;
    z-index: 2; }
    /* line 102, style.scss */
    #intro .bg {
      width: 100%;
      background: url("../images/intro_bg.png") no-repeat center bottom;
      background-size: cover;
      padding: 30px 0; }
      /* line 107, style.scss */
      #intro .bg h2 {
        font-size: 30.55px;
        letter-spacing: 0;
        line-height: 1.2em;
        font-weight: 500;
        display: inline-block;
        text-align: center;
        margin: 0 0 57px 15px;
        position: relative; }
        /* line 116, style.scss */
        #intro .bg h2 span {
          font-size: 21.9px;
          line-height: 1;
          display: inline-block; }
        /* line 121, style.scss */
        #intro .bg h2::before {
          position: absolute;
          content: "";
          width: 354px;
          height: 23px;
          left: 3.89px;
          bottom: -25px;
          background: url("../images/intro_ttl_lin.png") no-repeat;
          background-size: contain;
          transform: rotate(-1.08deg); }
      /* line 133, style.scss */
      #intro .bg .intro_cont {
        width: 352px;
        margin: 0 auto 10px; }
        /* line 136, style.scss */
        #intro .bg .intro_cont .intro_cont_img {
          width: 266px;
          margin-bottom: 27px; }
          /* line 139, style.scss */
          #intro .bg .intro_cont .intro_cont_img:nth-child(2) {
            margin-left: auto; }
          /* line 142, style.scss */
          #intro .bg .intro_cont .intro_cont_img:last-child {
            margin-bottom: 0; }
          /* line 145, style.scss */
          #intro .bg .intro_cont .intro_cont_img img {
            filter: drop-shadow(0 7px 10px rgba(0, 0, 0, 0.2)); }
      /* line 150, style.scss */
      #intro .bg .intro_btm_txt {
        font-size: 33.45px;
        letter-spacing: -0.05em;
        line-height: 1.05em;
        font-weight: 500;
        color: #fff;
        text-align: center;
        display: inline-block;
        margin: 0 0 20px 11px; }
        /* line 159, style.scss */
        #intro .bg .intro_btm_txt span.color {
          color: #FFD99B; }
        /* line 162, style.scss */
        #intro .bg .intro_btm_txt span.middle {
          font-size: 27.98px; }
        /* line 165, style.scss */
        #intro .bg .intro_btm_txt span.small {
          font-size: 21.9px;
          letter-spacing: 0;
          line-height: 1;
          display: inline-block; }
      /* line 172, style.scss */
      #intro .bg .arrow {
        width: 43px;
        margin: 0 auto; }

  /* line 179, style.scss */
  #about {
    width: 100%;
    height: 1015px;
    margin-top: -45px;
    position: relative; }
    /* line 184, style.scss */
    #about .bg {
      width: 100%;
      height: 100%;
      background: url("../images/about_bg.png") no-repeat center top;
      background-size: cover;
      position: absolute;
      left: 0;
      top: 0;
      z-index: 0; }
    /* line 194, style.scss */
    #about .inner {
      width: 100%;
      height: 100%;
      padding-top: 78px;
      box-sizing: border-box;
      position: relative;
      overflow: hidden; }
      /* line 201, style.scss */
      #about .inner h2 {
        width: 270px;
        height: 91px;
        font-size: 35.3px;
        letter-spacing: -0.06em;
        line-height: 1.44em;
        box-sizing: border-box;
        padding: 15px 0 0 24px;
        margin: 0 0 15px 13px;
        background: url("../images/about_ttl_bg.png") no-repeat center;
        background-size: cover; }
        /* line 212, style.scss */
        #about .inner h2 span {
          font-size: 22px;
          letter-spacing: -0.07em; }
      /* line 217, style.scss */
      #about .inner .about_head_txt {
        width: 232px;
        margin: 0 0 30px 24px;
        font-size: 12px;
        letter-spacing: 0;
        line-height: 1.83em;
        color: #3D3D3D; }
      /* line 225, style.scss */
      #about .inner .about_img_01 {
        width: 351px;
        margin: 0 auto 15px; }
      /* line 229, style.scss */
      #about .inner .about_txt {
        width: 352px;
        margin: 0 auto;
        font-size: 12px;
        letter-spacing: 0;
        line-height: 1.83em;
        color: #3D3D3D; }
      /* line 237, style.scss */
      #about .inner .about_img_02 {
        width: 278px;
        position: absolute;
        z-index: 3;
        top: 4px;
        right: -76px;
        transform: rotate(-20.79deg); }

  /* line 248, style.scss */
  #reason {
    width: 100%;
    height: 419px;
    box-sizing: border-box;
    padding: 31px 0 0;
    background: url("../images/reasom_bg.png") no-repeat center;
    background-size: cover; }
    /* line 255, style.scss */
    #reason h2 {
      width: 270px;
      margin: 0 auto 40px;
      height: 115px;
      box-sizing: border-box;
      padding: 20px 0 0;
      background: url("../images/reason_ttl_line.png") no-repeat center;
      background-size: contain;
      font-size: 28px;
      letter-spacing: -0.03%;
      line-height: 1.1em;
      font-weight: 500;
      color: #fff;
      text-align: center; }
      /* line 269, style.scss */
      #reason h2 span {
        font-size: 18.67px;
        letter-spacing: 0;
        line-height: 1;
        display: inline-block; }
    /* line 276, style.scss */
    #reason .reason_img {
      width: 265px;
      margin: 0 auto; }

  /* line 282, style.scss */
  #step {
    width: 100%;
    position: relative;
    overflow: hidden; }
    /* line 286, style.scss */
    #step .inner {
      width: 353px;
      margin: 0 auto;
      position: relative;
      z-index: 2;
      padding: 68px 0 67px; }
      /* line 292, style.scss */
      #step .inner h2 {
        width: 340px;
        margin: 0 auto 44px;
        height: 115px;
        box-sizing: border-box;
        padding: 20px 0 0;
        background: url("../images/step_ttl_line.png") no-repeat center;
        background-size: contain;
        font-size: 28px;
        letter-spacing: -0.03em;
        line-height: 1.1em;
        font-weight: 500;
        text-align: center; }
        /* line 305, style.scss */
        #step .inner h2 span {
          font-size: 18.67px;
          letter-spacing: 0;
          line-height: 1;
          color: #4949AD;
          display: inline-block; }
      /* line 314, style.scss */
      #step .inner .step_cont .step_box {
        width: 100%;
        margin-bottom: 37px; }
        /* line 317, style.scss */
        #step .inner .step_cont .step_box:last-child {
          margin-bottom: 0; }
        /* line 320, style.scss */
        #step .inner .step_cont .step_box .step_box_head {
          display: flex;
          justify-content: space-between;
          align-items: center;
          margin-bottom: 26px; }
          /* line 325, style.scss */
          #step .inner .step_cont .step_box .step_box_head .step_box_num {
            width: 78px; }
          /* line 328, style.scss */
          #step .inner .step_cont .step_box .step_box_head .step_box_ttl {
            width: 255px; }
            /* line 330, style.scss */
            #step .inner .step_cont .step_box .step_box_head .step_box_ttl h3 {
              font-size: 30px;
              line-height: 1.03em;
              font-weight: 500;
              margin-bottom: 6px;
              background: linear-gradient(to bottom right, #181157, #181157 52%, #151053 81%, #181157);
              -webkit-background-clip: text;
              background-clip: text;
              -webkit-text-fill-color: transparent;
              text-fill-color: transparent; }
            /* line 341, style.scss */
            #step .inner .step_cont .step_box .step_box_head .step_box_ttl .step_box_txt {
              font-size: 14px;
              line-height: 1.428em;
              color: #3D3D3D; }
        /* line 348, style.scss */
        #step .inner .step_cont .step_box .step_box_img {
          width: 100%; }
    /* line 354, style.scss */
    #step .step_bg_01 {
      width: 100%;
      position: absolute;
      left: 0;
      top: 43px; }
    /* line 360, style.scss */
    #step .step_bg_02 {
      width: 100%;
      position: absolute;
      right: 0;
      top: 676px; }

  /* line 368, style.scss */
  #mechanism {
    width: 100%;
    position: relative; }
    /* line 371, style.scss */
    #mechanism .inner {
      width: 352px;
      margin: 0 auto;
      padding: 0 0 46px; }
      /* line 375, style.scss */
      #mechanism .inner h2 {
        width: 340px;
        margin: 0 auto 34px;
        height: 152px;
        box-sizing: border-box;
        padding: 10px 0 0;
        background: url("../images/mechanism_ttl_line.png") no-repeat center;
        background-size: contain;
        font-size: 28px;
        letter-spacing: -0.03%;
        line-height: 1.285em;
        font-weight: 500;
        text-align: center; }
        /* line 388, style.scss */
        #mechanism .inner h2 span {
          font-size: 18.67px;
          letter-spacing: 0;
          line-height: 1.44em;
          color: #4949AD;
          display: inline-block;
          margin-bottom: 5px; }
      /* line 397, style.scss */
      #mechanism .inner dl {
        width: 100%;
        margin-bottom: 25px; }
        /* line 400, style.scss */
        #mechanism .inner dl dt {
          font-size: 18px;
          line-height: 32px;
          font-weight: 500;
          color: #fff;
          text-align: center;
          background: linear-gradient(to right, #677EE7, #3A2D78);
          margin-bottom: 15px; }
        /* line 409, style.scss */
        #mechanism .inner dl dd {
          font-size: 12px;
          line-height: 1.83em;
          margin-bottom: 27px; }
          /* line 413, style.scss */
          #mechanism .inner dl dd:last-child {
            margin-bottom: 0; }
      /* line 418, style.scss */
      #mechanism .inner .mechanism_img {
        width: 330px;
        margin: 0 auto; }

  /* line 425, style.scss */
  #attention {
    width: 100%;
    padding: 50px 0; }
    /* line 428, style.scss */
    #attention .inner {
      width: 346px;
      margin: 0 auto;
      box-sizing: border-box;
      padding: 32px 16px;
      border-radius: 5px;
      background: #fff;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); }
      /* line 436, style.scss */
      #attention .inner h2 {
        font-size: 18px;
        line-height: 1.388em;
        font-weight: 500;
        text-align: center;
        margin-bottom: 26px; }
      /* line 443, style.scss */
      #attention .inner dl {
        font-size: 13px;
        font-weight: 500; }
        /* line 446, style.scss */
        #attention .inner dl dt {
          line-height: 1.38em;
          margin-bottom: 9px; }
          /* line 449, style.scss */
          #attention .inner dl dt:last-child {
            margin-bottom: 0; }
        /* line 453, style.scss */
        #attention .inner dl dd {
          line-height: 1.4em;
          padding-left: 16px;
          box-sizing: border-box;
          margin-bottom: 19px; }

  /* line 463, style.scss */
  #faq {
    width: 100%; }
    /* line 465, style.scss */
    #faq .inner {
      width: 335px;
      margin: 0 auto;
      padding-bottom: 63px; }
      /* line 469, style.scss */
      #faq .inner h2 {
        font-size: 38px;
        line-height: 1.447em;
        font-weight: 500;
        text-align: center;
        background: linear-gradient(to right, #677EE7, #3A2D78);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        text-fill-color: transparent; }
      /* line 480, style.scss */
      #faq .inner h3 {
        font-size: 20px;
        line-height: 1.45em;
        font-weight: 500;
        text-align: center;
        margin-bottom: 37px; }
      /* line 487, style.scss */
      #faq .inner .faq_cont {
        width: 100%; }
        /* line 489, style.scss */
        #faq .inner .faq_cont .faq_box {
          width: 100%;
          border-bottom: dashed 1px #C1C1C1; }
          /* line 492, style.scss */
          #faq .inner .faq_cont .faq_box .faq_box_q {
            display: flex;
            justify-content: flex-start;
            align-items: center;
            padding: 15px 0;
            position: relative;
            cursor: pointer; }
            /* line 499, style.scss */
            #faq .inner .faq_cont .faq_box .faq_box_q::before {
              position: absolute;
              content: "";
              width: 14px;
              height: 6px;
              right: 0;
              top: 50%;
              transform: translateY(-50%);
              background: url("../images/faq_arrow_01.png") no-repeat;
              background-size: contain;
              transition: 0.3s; }
            /* line 511, style.scss */
            #faq .inner .faq_cont .faq_box .faq_box_q.open::before {
              transform: translateY(-50%) rotate(-180deg); }
            /* line 514, style.scss */
            #faq .inner .faq_cont .faq_box .faq_box_q .faq_box_q_ttl {
              width: 24px;
              margin-right: 11px; }
            /* line 518, style.scss */
            #faq .inner .faq_cont .faq_box .faq_box_q .faq_box_q_txt {
              width: 275px;
              font-size: 14px;
              line-height: 1.392em;
              font-weight: 500; }
          /* line 525, style.scss */
          #faq .inner .faq_cont .faq_box .faq_box_a {
            display: none;
            padding: 15px 0 24px; }
            /* line 528, style.scss */
            #faq .inner .faq_cont .faq_box .faq_box_a .a_box {
              display: flex;
              justify-content: flex-start; }
              /* line 531, style.scss */
              #faq .inner .faq_cont .faq_box .faq_box_a .a_box .faq_box_a_ttl {
                width: 23px;
                margin-right: 11px; }
              /* line 535, style.scss */
              #faq .inner .faq_cont .faq_box .faq_box_a .a_box .faq_box_a_txt {
                width: 291px;
                font-size: 14px;
                line-height: 1.392em;
                font-weight: 500; }
                /* line 541, style.scss */
                #faq .inner .faq_cont .faq_box .faq_box_a .a_box .faq_box_a_txt ul li {
                  padding-left: 1em;
                  text-indent: -1em; }
                  /* line 544, style.scss */
                  #faq .inner .faq_cont .faq_box .faq_box_a .a_box .faq_box_a_txt ul li span {
                    font-size: 12px;
                    font-weight: 400; }
                /* line 550, style.scss */
                #faq .inner .faq_cont .faq_box .faq_box_a .a_box .faq_box_a_txt span.small {
                  font-size: 12px;
                  font-weight: 400; }
          /* line 560, style.scss */
          #faq .inner .faq_cont .faq_box:last-child .faq_box_a .a_box .faq_box_a_txt {
            width: 310px; }

  /* line 571, style.scss */
  .float_btn {
    width: 328px;
    position: fixed;
    left: 50%;
    bottom: 10px;
    transform: translate(-50%, 60px);
    line-height: 0;
    z-index: 10;
    opacity: 0;
    transition: 0.5s;
    /*&:hover {
        opacity: 0.9;
        transition: 0.5s;
    }*/ }
    /* line 581, style.scss */
    .float_btn.pop_up {
      opacity: 1;
      transform: translate(-50%, 0);
      transition: 0.5s; }
    /* line 590, style.scss */
    .float_btn a {
      display: block;
      width: 100%; }
      /* line 593, style.scss */
      .float_btn a img {
        filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25)); }
    /* line 597, style.scss */
    .float_btn.is-hidden {
      opacity: 0;
      transition: 0.5s; }
      /* line 600, style.scss */
      .float_btn.is-hidden a {
        display: none; }

  /* line 606, style.scss */
  footer {
    width: 100%;
    max-width: 390px;
    margin: 0 auto;
    padding: 35px 0 28px;
    background: url("../images/footer_bg.png") no-repeat center;
    background-size: cover;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
    color: #fff; }
    /* line 615, style.scss */
    footer .footer_ttl {
      font-size: 20px;
      letter-spacing: 0;
      line-height: 1;
      font-weight: 500;
      text-align: center;
      margin-bottom: 24px; }
    /* line 623, style.scss */
    footer table {
      width: 196px;
      margin: 0 auto 30px; }
      /* line 627, style.scss */
      footer table tr th {
        width: 67px;
        font-size: 12px;
        text-align: left;
        letter-spacing: 0;
        line-height: 1.75em;
        padding: 2px 0; }
      /* line 635, style.scss */
      footer table tr td {
        width: 129px;
        font-size: 12px;
        letter-spacing: 0;
        line-height: 1.75em;
        padding: 2px 0; }
    /* line 644, style.scss */
    footer ul {
      text-align: center;
      position: relative;
      z-index: 11; }
      /* line 648, style.scss */
      footer ul li {
        font-size: 10px;
        line-height: 1.2em;
        font-weight: 500;
        margin-bottom: 17px; }
        /* line 653, style.scss */
        footer ul li:last-child {
          margin-bottom: 0; }
        /* line 656, style.scss */
        footer ul li a {
          display: inline-block;
          color: #fff;
          text-decoration: underline; } }
/* SP */
@media screen and (max-width: 768px) {
  /* line 671, style.scss */
  #mv {
    width: 100%;
    position: relative; }
    /* line 674, style.scss */
    #mv .mv_img {
      width: 100%; }
    /* line 677, style.scss */
    #mv h1 {
      width: 82.735vw;
      position: absolute;
      left: 4.43vw;
      bottom: 4.96vw; }
    /* line 683, style.scss */
    #mv .mv_line {
      width: 28.06vw;
      position: absolute;
      top: 2.3vw;
      right: 3.66vw; }
      /* line 688, style.scss */
      #mv .mv_line a {
        display: block;
        width: 100%;
        line-height: 0; }
        /* line 692, style.scss */
        #mv .mv_line a img {
          filter: drop-shadow(0 0.51vw 1.02vw rgba(0, 0, 0, 0.25)); }

  /* line 699, style.scss */
  .banner {
    width: 100%;
    position: relative; }
    /* line 702, style.scss */
    .banner .banner_img {
      width: 100%;
      line-height: 0; }
    /* line 706, style.scss */
    .banner .banner_btn {
      width: 64.615vw;
      position: absolute;
      left: 23.846vw;
      bottom: 10.9vw; }
      /* line 711, style.scss */
      .banner .banner_btn a {
        display: block;
        width: 100%;
        line-height: 0; }
        /* line 715, style.scss */
        .banner .banner_btn a img {
          filter: drop-shadow(0 1.02vw 1.02vw rgba(0, 0, 0, 0.25)); }

  /* line 722, style.scss */
  #intro {
    width: 100%;
    position: relative;
    z-index: 2; }
    /* line 726, style.scss */
    #intro .bg {
      width: 100%;
      background: url("../images/intro_bg.png") no-repeat center bottom;
      background-size: cover;
      padding: 7.69vw 0; }
      /* line 731, style.scss */
      #intro .bg h2 {
        font-size: 7.83vw;
        letter-spacing: 0;
        line-height: 1.2em;
        font-weight: 500;
        display: inline-block;
        text-align: center;
        margin: 0 0 14.61vw 3.84vw;
        position: relative; }
        /* line 740, style.scss */
        #intro .bg h2 span {
          font-size: 5.61vw;
          line-height: 1;
          display: inline-block; }
        /* line 745, style.scss */
        #intro .bg h2::before {
          position: absolute;
          content: "";
          width: 90.769vw;
          height: 5.769vw;
          left: 0.99vw;
          bottom: -6.41vw;
          background: url("../images/intro_ttl_lin.png") no-repeat;
          background-size: contain;
          transform: rotate(-1.08deg); }
      /* line 757, style.scss */
      #intro .bg .intro_cont {
        width: 90.359vw;
        margin: 0 auto 2.56vw; }
        /* line 760, style.scss */
        #intro .bg .intro_cont .intro_cont_img {
          width: 68.3vw;
          margin-bottom: 6.97vw; }
          /* line 763, style.scss */
          #intro .bg .intro_cont .intro_cont_img:nth-child(2) {
            margin-left: auto; }
          /* line 766, style.scss */
          #intro .bg .intro_cont .intro_cont_img:last-child {
            margin-bottom: 0; }
          /* line 769, style.scss */
          #intro .bg .intro_cont .intro_cont_img img {
            filter: drop-shadow(0 1.79vw 2.56vw rgba(0, 0, 0, 0.2)); }
      /* line 774, style.scss */
      #intro .bg .intro_btm_txt {
        font-size: 8.57vw;
        letter-spacing: -0.05em;
        line-height: 1.05em;
        font-weight: 500;
        color: #fff;
        text-align: center;
        display: inline-block;
        margin: 0 0 5.12vw 2.82vw; }
        /* line 783, style.scss */
        #intro .bg .intro_btm_txt span.color {
          color: #FFD99B; }
        /* line 786, style.scss */
        #intro .bg .intro_btm_txt span.middle {
          font-size: 7.17vw; }
        /* line 789, style.scss */
        #intro .bg .intro_btm_txt span.small {
          font-size: 5.61vw;
          letter-spacing: 0;
          line-height: 1;
          display: inline-block; }
      /* line 796, style.scss */
      #intro .bg .arrow {
        width: 11.117vw;
        margin: 0 auto; }

  /* line 803, style.scss */
  #about {
    width: 100%;
    height: 261.28vw;
    margin-top: -12.56vw;
    position: relative; }
    /* line 808, style.scss */
    #about .bg {
      width: 100%;
      height: 100%;
      background: url("../images/about_bg.png") no-repeat center top;
      background-size: cover;
      position: absolute;
      left: 0;
      top: 0;
      z-index: 0; }
    /* line 818, style.scss */
    #about .inner {
      width: 100%;
      height: 100%;
      padding-top: 20.12vw;
      box-sizing: border-box;
      position: relative;
      overflow: hidden; }
      /* line 825, style.scss */
      #about .inner h2 {
        width: 69.1vw;
        height: 23.33vw;
        font-size: 9.05vw;
        letter-spacing: -0.06em;
        line-height: 1.44em;
        box-sizing: border-box;
        padding: 2.82vw 0 0 6.15vw;
        margin: 0 0 3.84vw 3.33vw;
        background: url("../images/about_ttl_bg.png") no-repeat center;
        background-size: cover; }
        /* line 836, style.scss */
        #about .inner h2 span {
          font-size: 5.65vw;
          letter-spacing: -0.07em; }
      /* line 841, style.scss */
      #about .inner .about_head_txt {
        width: 59.487vw;
        margin: 0 0 11.53vw 3.33vw;
        font-size: 3.077vw;
        letter-spacing: 0;
        line-height: 1.83em;
        color: #3D3D3D; }
      /* line 849, style.scss */
      #about .inner .about_img_01 {
        width: 90vw;
        margin: 0 auto 2.56vw; }
      /* line 853, style.scss */
      #about .inner .about_txt {
        width: 90.256vw;
        margin: 0 auto;
        font-size: 3.077vw;
        letter-spacing: 0;
        line-height: 1.83em;
        color: #3D3D3D; }
      /* line 861, style.scss */
      #about .inner .about_img_02 {
        width: 71.31vw;
        position: absolute;
        z-index: 3;
        top: -1.02vw;
        right: -19.48vw;
        transform: rotate(-20.79deg); }

  /* line 872, style.scss */
  #reason {
    width: 100%;
    height: 107.435vw;
    box-sizing: border-box;
    padding: 8.07vw 0 0;
    background: url("../images/reasom_bg.png") no-repeat center;
    background-size: cover; }
    /* line 879, style.scss */
    #reason h2 {
      width: 69.1vw;
      margin: 0 auto 10.38vw;
      height: 29.487vw;
      box-sizing: border-box;
      padding: 5.12vw 0 0;
      background: url("../images/reason_ttl_line.png") no-repeat center;
      background-size: contain;
      font-size: 7.179vw;
      letter-spacing: -0.03%;
      line-height: 1.1em;
      font-weight: 500;
      color: #fff;
      text-align: center; }
      /* line 893, style.scss */
      #reason h2 span {
        font-size: 4.787vw;
        letter-spacing: 0;
        line-height: 1;
        display: inline-block; }
    /* line 900, style.scss */
    #reason .reason_img {
      width: 70.46vw;
      margin: 0 auto; }

  /* line 906, style.scss */
  #step {
    width: 100%;
    position: relative;
    overflow: hidden; }
    /* line 910, style.scss */
    #step .inner {
      width: 89.743vw;
      margin: 0 auto;
      position: relative;
      z-index: 2;
      padding: 17.43vw 0 17.18vw; }
      /* line 916, style.scss */
      #step .inner h2 {
        width: 87.05vw;
        margin: 0 auto 11.28vw;
        height: 29.487vw;
        box-sizing: border-box;
        padding: 5.12vw 0 0;
        background: url("../images/step_ttl_line.png") no-repeat center;
        background-size: contain;
        font-size: 7.179vw;
        letter-spacing: -0.03em;
        line-height: 1.1em;
        font-weight: 500;
        text-align: center; }
        /* line 929, style.scss */
        #step .inner h2 span {
          font-size: 4.787vw;
          letter-spacing: 0;
          line-height: 1;
          color: #4949AD;
          display: inline-block; }
      /* line 938, style.scss */
      #step .inner .step_cont .step_box {
        width: 100%;
        margin-bottom: 9.48vw; }
        /* line 941, style.scss */
        #step .inner .step_cont .step_box:last-child {
          margin-bottom: 0; }
        /* line 944, style.scss */
        #step .inner .step_cont .step_box .step_box_head {
          display: flex;
          justify-content: space-between;
          align-items: center;
          margin-bottom: 6.66vw; }
          /* line 949, style.scss */
          #step .inner .step_cont .step_box .step_box_head .step_box_num {
            width: 20vw; }
          /* line 952, style.scss */
          #step .inner .step_cont .step_box .step_box_head .step_box_ttl {
            width: 65.38vw; }
            /* line 954, style.scss */
            #step .inner .step_cont .step_box .step_box_head .step_box_ttl h3 {
              font-size: 7.69vw;
              line-height: 1.03em;
              font-weight: 500;
              margin-bottom: 1.538vw;
              background: linear-gradient(to bottom right, #181157, #181157 52%, #151053 81%, #181157);
              -webkit-background-clip: text;
              background-clip: text;
              -webkit-text-fill-color: transparent;
              text-fill-color: transparent; }
            /* line 965, style.scss */
            #step .inner .step_cont .step_box .step_box_head .step_box_ttl .step_box_txt {
              font-size: 3.589vw;
              line-height: 1.428em;
              color: #3D3D3D; }
        /* line 972, style.scss */
        #step .inner .step_cont .step_box .step_box_img {
          width: 100%; }
    /* line 978, style.scss */
    #step .step_bg_01 {
      width: 100%;
      position: absolute;
      left: 0;
      top: 11.02vw; }
    /* line 984, style.scss */
    #step .step_bg_02 {
      width: 100%;
      position: absolute;
      right: 0;
      top: 173.43vw; }

  /* line 992, style.scss */
  #mechanism {
    width: 100%;
    position: relative; }
    /* line 995, style.scss */
    #mechanism .inner {
      width: 90.256vw;
      margin: 0 auto;
      padding: 0 0 11.79vw; }
      /* line 999, style.scss */
      #mechanism .inner h2 {
        width: 87.05vw;
        margin: 0 auto 11.28vw;
        height: 38.974vw;
        box-sizing: border-box;
        padding: 2.56vw 0 0;
        background: url("../images/mechanism_ttl_line.png") no-repeat center;
        background-size: contain;
        font-size: 7.179vw;
        letter-spacing: -0.03%;
        line-height: 1.285em;
        font-weight: 500;
        text-align: center; }
        /* line 1012, style.scss */
        #mechanism .inner h2 span {
          font-size: 4.787vw;
          letter-spacing: 0;
          line-height: 1.44em;
          color: #4949AD;
          display: inline-block;
          margin-bottom: 1.28vw; }
      /* line 1021, style.scss */
      #mechanism .inner dl {
        width: 100%;
        margin-bottom: 6.66vw; }
        /* line 1024, style.scss */
        #mechanism .inner dl dt {
          font-size: 4.61vw;
          line-height: 8.2vw;
          font-weight: 500;
          color: #fff;
          text-align: center;
          background: linear-gradient(to right, #677EE7, #3A2D78);
          margin-bottom: 3.84vw; }
        /* line 1033, style.scss */
        #mechanism .inner dl dd {
          font-size: 3.076vw;
          line-height: 1.83em;
          margin-bottom: 6.92vw; }
          /* line 1037, style.scss */
          #mechanism .inner dl dd:last-child {
            margin-bottom: 0; }
      /* line 1042, style.scss */
      #mechanism .inner .mechanism_img {
        width: 84.615vw;
        margin: 0 auto; }

  /* line 1049, style.scss */
  #attention {
    width: 100%;
    padding: 12.82vw 0; }
    /* line 1052, style.scss */
    #attention .inner {
      width: 88.46vw;
      margin: 0 auto;
      box-sizing: border-box;
      padding: 8.2vw 4.1vw;
      border-radius: 1.28vw;
      background: #fff;
      box-shadow: 0 1.28vw 3.846vw rgba(0, 0, 0, 0.2); }
      /* line 1060, style.scss */
      #attention .inner h2 {
        font-size: 4.61vw;
        line-height: 1.388em;
        font-weight: 500;
        text-align: center;
        margin-bottom: 6.66vw; }
      /* line 1067, style.scss */
      #attention .inner dl {
        font-size: 3.33vw;
        font-weight: 500; }
        /* line 1070, style.scss */
        #attention .inner dl dt {
          line-height: 1.38em;
          margin-bottom: 2.3vw; }
          /* line 1073, style.scss */
          #attention .inner dl dt:last-child {
            margin-bottom: 0; }
        /* line 1077, style.scss */
        #attention .inner dl dd {
          line-height: 1.4em;
          padding-left: 4.1vw;
          box-sizing: border-box;
          margin-bottom: 4.87vw; }

  /* line 1087, style.scss */
  #faq {
    width: 100%; }
    /* line 1089, style.scss */
    #faq .inner {
      width: 85.897vw;
      margin: 0 auto 16.15vw; }
      /* line 1092, style.scss */
      #faq .inner h2 {
        font-size: 9.74vw;
        line-height: 1.447em;
        font-weight: 500;
        text-align: center;
        background: linear-gradient(to right, #677EE7, #3A2D78);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        text-fill-color: transparent; }
      /* line 1103, style.scss */
      #faq .inner h3 {
        font-size: 5.128vw;
        line-height: 1.45em;
        font-weight: 500;
        text-align: center;
        margin-bottom: 8.97vw; }
      /* line 1110, style.scss */
      #faq .inner .faq_cont {
        width: 100%; }
        /* line 1112, style.scss */
        #faq .inner .faq_cont .faq_box {
          width: 100%;
          border-bottom: dashed 0.256vw #C1C1C1; }
          /* line 1115, style.scss */
          #faq .inner .faq_cont .faq_box .faq_box_q {
            display: flex;
            justify-content: flex-start;
            align-items: center;
            padding: 3.846vw 0;
            position: relative; }
            /* line 1121, style.scss */
            #faq .inner .faq_cont .faq_box .faq_box_q::before {
              position: absolute;
              content: "";
              width: 3.589vw;
              height: 1.538vw;
              right: 0;
              top: 50%;
              transform: translateY(-50%);
              background: url("../images/faq_arrow_01.png") no-repeat;
              background-size: contain;
              transition: 0.3s; }
            /* line 1133, style.scss */
            #faq .inner .faq_cont .faq_box .faq_box_q.open::before {
              transform: translateY(-50%) rotate(-180deg); }
            /* line 1136, style.scss */
            #faq .inner .faq_cont .faq_box .faq_box_q .faq_box_q_ttl {
              width: 6.153vw;
              margin-right: 2.82vw; }
            /* line 1140, style.scss */
            #faq .inner .faq_cont .faq_box .faq_box_q .faq_box_q_txt {
              width: 70.512vw;
              font-size: 3.589vw;
              line-height: 1.392em;
              font-weight: 500; }
          /* line 1147, style.scss */
          #faq .inner .faq_cont .faq_box .faq_box_a {
            display: none;
            padding: 3.846vw 0 6.15vw; }
            /* line 1150, style.scss */
            #faq .inner .faq_cont .faq_box .faq_box_a .a_box {
              display: flex;
              justify-content: flex-start; }
              /* line 1153, style.scss */
              #faq .inner .faq_cont .faq_box .faq_box_a .a_box .faq_box_a_ttl {
                width: 6.153vw;
                margin-right: 2.82vw; }
              /* line 1157, style.scss */
              #faq .inner .faq_cont .faq_box .faq_box_a .a_box .faq_box_a_txt {
                width: 74.61vw;
                font-size: 3.589vw;
                line-height: 1.392em;
                font-weight: 500; }
                /* line 1163, style.scss */
                #faq .inner .faq_cont .faq_box .faq_box_a .a_box .faq_box_a_txt ul li {
                  padding-left: 1em;
                  text-indent: -1em; }
                  /* line 1166, style.scss */
                  #faq .inner .faq_cont .faq_box .faq_box_a .a_box .faq_box_a_txt ul li span {
                    font-size: 3.07vw;
                    font-weight: 400; }
                /* line 1172, style.scss */
                #faq .inner .faq_cont .faq_box .faq_box_a .a_box .faq_box_a_txt span.small {
                  font-size: 3.07vw;
                  font-weight: 400; }
          /* line 1182, style.scss */
          #faq .inner .faq_cont .faq_box:last-child .faq_box_a .a_box .faq_box_a_txt {
            width: 79.487vw; }

  /* line 1193, style.scss */
  .float_btn {
    width: 84.1vw;
    position: fixed;
    left: 50%;
    bottom: 2.56vw;
    transform: translate(-50%, 15.38vw);
    line-height: 0;
    z-index: 10;
    opacity: 0;
    transition: 0.5s; }
    /* line 1203, style.scss */
    .float_btn.pop_up {
      opacity: 1;
      transform: translate(-50%, 0);
      transition: 0.5s; }
    /* line 1208, style.scss */
    .float_btn:hover {
      opacity: 0.8;
      transition: 0.1; }
    /* line 1212, style.scss */
    .float_btn a {
      display: block;
      width: 100%; }
      /* line 1215, style.scss */
      .float_btn a img {
        filter: drop-shadow(0 1.02vw 1.02vw rgba(0, 0, 0, 0.25)); }
    /* line 1219, style.scss */
    .float_btn.is-hidden {
      opacity: 0;
      transition: 0.5s; }
      /* line 1222, style.scss */
      .float_btn.is-hidden a {
        display: none; }

  /* line 1228, style.scss */
  footer {
    width: 100%;
    padding: 8.97vw 0 7.18vw;
    background: url("../images/footer_bg.png") no-repeat center;
    background-size: cover;
    color: #fff; }
    /* line 1234, style.scss */
    footer .footer_ttl {
      font-size: 5.128vw;
      letter-spacing: 0;
      line-height: 1;
      font-weight: 500;
      text-align: center;
      margin-bottom: 6.15vw; }
    /* line 1242, style.scss */
    footer table {
      width: 51.28vw;
      margin: 0 auto 7.69vw; }
      /* line 1246, style.scss */
      footer table tr th {
        width: 17.179vw;
        font-size: 3.07vw;
        text-align: left;
        letter-spacing: 0;
        line-height: 1.75em;
        padding: 0.64vw 0; }
      /* line 1254, style.scss */
      footer table tr td {
        width: 34.615vw;
        font-size: 3.07vw;
        letter-spacing: 0;
        line-height: 1.75em;
        padding: 0.64vw 0; }
    /* line 1263, style.scss */
    footer ul {
      text-align: center;
      position: relative;
      z-index: 11; }
      /* line 1267, style.scss */
      footer ul li {
        font-size: 2.56vw;
        line-height: 1.2em;
        font-weight: 500;
        margin-bottom: 4.35vw; }
        /* line 1272, style.scss */
        footer ul li:last-child {
          margin-bottom: 0; }
        /* line 1275, style.scss */
        footer ul li a {
          display: inline-block;
          color: #fff;
          text-decoration: underline; } }
/* line 1285, style.scss */
.fade-in {
  opacity: 0;
  transition-duration: 1000ms;
  transition-property: opacity, transform; }

/* line 1291, style.scss */
.fade-in-up {
  transform: translate(0, 50px); }

/* line 1295, style.scss */
.fade-in-down {
  transform: translate(0, -50px); }

/* line 1299, style.scss */
.fade-in-left {
  transform: translate(-50px, 0); }

/* line 1303, style.scss */
.fade-in-right {
  transform: translate(50px, 0); }

/* line 1307, style.scss */
.scroll-in {
  opacity: 1;
  transform: translate(0, 0); }

/*# sourceMappingURL=style.css.map */
