@charset "UTF-8";
.top_mv {
  position: relative;
  background-image: url(../images/top/mv.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 10.5rem 0 7.5rem 0;
  height: 766px; }
  @media screen and (max-width: 767px) {
    .top_mv {
      background-image: url(../images/top/mv-sp.png);
      height: auto;
      padding-top: 3rem;
      padding-bottom: 4.5rem;
      background-size: contain;
      background-position: top; } }
  .top_mv .mv_area {
    text-align: left; }
    .top_mv .mv_area .mv_title {
      color: #FFF;
      font-size: 5rem;
      font-weight: 700;
      line-height: 1.3;
      letter-spacing: 0;
      margin-bottom: 3rem; }
      @media screen and (max-width: 767px) {
        .top_mv .mv_area .mv_title {
          font-size: 2.7rem; } }
    .top_mv .mv_area .mv_text {
      color: #FFF;
      font-size: 2.2rem;
      font-weight: 500;
      line-height: 1.5;
      letter-spacing: 0.03em;
      margin-bottom: 4.5rem; }
      @media screen and (max-width: 767px) {
        .top_mv .mv_area .mv_text {
          font-size: 1.2rem; } }

.title_area {
  margin-bottom: 4rem;
  text-align: left; }
  .title_area .section_title {
    color: #2D3236;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.03em; }
    @media screen and (max-width: 767px) {
      .title_area .section_title {
        font-size: 2.6rem; } }
  .title_area .section_subtitle {
    font-family: 'Open Sans', sans-serif;
    color: #1699E3;
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: 0.03em; }

.service_area {
  background-image: url(../images/top/top-service_bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: auto;
  padding-top: 26rem;
  margin-top: -18rem;
  padding-bottom: 18rem; }
  @media screen and (max-width: 767px) {
    .service_area {
      background-image: url(../images/top/top-service_bg-sp.png);
      background-size: 240px 441px;
      background-position: top 2rem left;
      padding-bottom: 2.5rem;
      padding-top: 4.5rem;
      margin-top: 0; } }
  @media screen and (max-width: 767px) {
    .service_area .title_area {
      margin-bottom: 0; } }
  .service_area .service_block .service_left {
    margin-top: 7rem;
    position: relative;
    left: -4rem; }
    @media screen and (max-width: 767px) {
      .service_area .service_block .service_left {
        margin-top: 0;
        margin-bottom: 1.5rem;
        text-align: right; }
        .service_area .service_block .service_left img {
          width: 70%; } }
  .service_area .service_block .service_right .text-none {
    font-size: 1.2rem; }

.about_bg {
  background-image: url(../images/top/top-about_bg01.png);
  background-position: top;
  background-repeat: no-repeat;
  background-size: contain;
  padding-top: 27vw;
  position: relative;
  margin-top: -10rem; }
  @media screen and (min-width: 1366px) {
    .about_bg {
      padding-top: 38rem; } }
  @media screen and (max-width: 767px) {
    .about_bg {
      padding-top: 10.5rem;
      margin-top: 0; } }
  .about_bg .bg01 {
    background-image: url(../images/top/top-about_bg.png);
    background-position: top 1rem right;
    background-repeat: no-repeat;
    background-size: auto;
    background-color: #F7F6F5; }
    @media screen and (max-width: 767px) {
      .about_bg .bg01 {
        background-image: none; } }

.about_area {
  position: relative;
  top: -19rem; }
  @media screen and (max-width: 767px) {
    .about_area {
      top: -10rem; } }
  .about_area .bg01 {
    background-color: #F7F6F5; }
  .about_area .about_text {
    margin-bottom: 5rem; }
  .about_area .list_title {
    color: #2D3236;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.03em; }
    .about_area .list_title img {
      margin-right: 1rem; }
  .about_area .strong {
    color: #1699E3;
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
    font-weight: bold; }
  .about_area .about_block .about_left {
    margin-top: 3rem;
    padding-right: 3rem; }
    @media screen and (max-width: 767px) {
      .about_area .about_block .about_left {
        margin-top: 0;
        padding-right: 0; } }
  .about_area .about_block .about_box {
    padding: 3rem 3rem 5.5rem 3rem;
    background-color: #FFF;
    border-radius: 1rem;
    position: relative; }
    @media screen and (max-width: 767px) {
      .about_area .about_block .about_box {
        padding: 1.5rem;
        margin-bottom: 2.5rem; } }
    .about_area .about_block .about_box .box_img {
      position: absolute;
      bottom: -27rem;
      right: 0;
      width: 53%; }
    .about_area .about_block .about_box .box_list01 {
      display: flex;
      border: solid 1px #1699E3;
      border-radius: 1rem;
      padding: 2.5rem 1.3rem;
      margin: 0; }
      @media screen and (max-width: 767px) {
        .about_area .about_block .about_box .box_list01 {
          flex-direction: column;
          padding: 0;
          border: none; } }
      .about_area .about_block .about_box .box_list01 li {
        border-right: solid 1px #9CE3F4;
        padding: 0 1.2rem;
        width: 33.3333%; }
        @media screen and (max-width: 767px) {
          .about_area .about_block .about_box .box_list01 li {
            width: 100%;
            padding: 0;
            border-right: none;
            border-bottom: solid 1px #9CE3F4; } }
        .about_area .about_block .about_box .box_list01 li:last-child {
          border-right: none; }
    .about_area .about_block .about_box .box_list02 {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: space-around;
      align-items: flex-start;
      padding: 0;
      margin-top: 1rem; }
      @media screen and (max-width: 767px) {
        .about_area .about_block .about_box .box_list02 {
          display: block; } }
      .about_area .about_block .about_box .box_list02 li:nth-child(1) {
        width: 212px; }
        @media screen and (max-width: 767px) {
          .about_area .about_block .about_box .box_list02 li:nth-child(1) {
            width: auto; } }
      .about_area .about_block .about_box .box_list02 li:nth-child(2) {
        padding: 4vw; }
        @media screen and (max-width: 767px) {
          .about_area .about_block .about_box .box_list02 li:nth-child(2) {
            padding: 0; } }
      .about_area .about_block .about_box .box_list02 li:nth-child(3) {
        width: 140px; }
        @media screen and (max-width: 767px) {
          .about_area .about_block .about_box .box_list02 li:nth-child(3) {
            width: auto; } }
      .about_area .about_block .about_box .box_list02 li:nth-child(4) {
        width: 140px; }
        @media screen and (max-width: 767px) {
          .about_area .about_block .about_box .box_list02 li:nth-child(4) {
            width: auto; } }
      .about_area .about_block .about_box .box_list02 li .w-25 {
        width: 25%; }
      .about_area .about_block .about_box .box_list02 li .w-75 {
        width: 75%; }
      .about_area .about_block .about_box .box_list02 li p {
        color: #2D3236;
        font-size: 1.2rem;
        font-weight: 700;
        line-height: 1.5;
        letter-spacing: 0.03em; }
      .about_area .about_block .about_box .box_list02 li span {
        color: #1699E3;
        font-size: 1.4rem;
        font-weight: bold; }

.flow_area {
  padding-top: 10rem;
  position: relative;
  top: -7rem; }
  @media screen and (max-width: 767px) {
    .flow_area {
      padding-top: 0;
      top: 0;
      margin-top: -2rem; } }
  .flow_area .flow_block {
    padding: 3rem;
    background-color: #FFF;
    border-radius: 1rem; }
    .flow_area .flow_block.num01 {
      margin-bottom: 4rem; }
      .flow_area .flow_block.num01 .flow_left .flow_title {
        color: #2D3236;
        font-size: 2.6rem;
        line-height: 1.5;
        letter-spacing: 0.03em;
        text-align: left; }
        @media screen and (max-width: 767px) {
          .flow_area .flow_block.num01 .flow_left .flow_title {
            font-size: 2rem;
            margin-bottom: 2rem; } }
      .flow_area .flow_block.num01 .flow_right .box_list01 {
        padding: 0;
        margin: 0; }
        .flow_area .flow_block.num01 .flow_right .box_list01 li {
          font-size: 1.5rem;
          position: relative;
          padding-left: 3rem;
          margin-bottom: 1.5rem; }
          .flow_area .flow_block.num01 .flow_right .box_list01 li:last-child {
            margin-bottom: 0; }
          .flow_area .flow_block.num01 .flow_right .box_list01 li::before {
            content: "●";
            position: absolute;
            top: 1.2rem;
            left: 0;
            transform: translate(0%, -50%);
            -webkit-transform: translate(0%, -50%);
            -ms-transform: translate(0%, -50%);
            margin: auto;
            pointer-events: none;
            font-size: 2rem;
            color: #1699E3; }
    .flow_area .flow_block.num02 {
      padding: 3rem 3rem 0rem 3rem; }
      .flow_area .flow_block.num02 .flow_title {
        color: #2D3236;
        font-size: 2.6rem;
        line-height: 1.5;
        letter-spacing: 0.03em;
        text-align: left;
        margin-bottom: 3rem; }
        @media screen and (max-width: 767px) {
          .flow_area .flow_block.num02 .flow_title {
            font-size: 2rem; } }
      .flow_area .flow_block.num02 .flow_box.box01 {
        margin-bottom: 4rem; }
        @media screen and (max-width: 767px) {
          .flow_area .flow_block.num02 .flow_box.box01 {
            margin-bottom: 2.4rem; } }
        .flow_area .flow_block.num02 .flow_box.box01 .flow_list {
          padding: 0;
          margin: 0 -3rem; }
          .flow_area .flow_block.num02 .flow_box.box01 .flow_list li {
            padding: 0 3rem; }
            .flow_area .flow_block.num02 .flow_box.box01 .flow_list li:last-child {
              margin-bottom: 0; }
            @media screen and (max-width: 767px) {
              .flow_area .flow_block.num02 .flow_box.box01 .flow_list li {
                margin-bottom: 1.2rem; } }
            .flow_area .flow_block.num02 .flow_box.box01 .flow_list li .bg-gray {
              background-color: #F7F6F5;
              text-align: center;
              padding: 3rem;
              border-radius: 1rem;
              position: relative; }
              .flow_area .flow_block.num02 .flow_box.box01 .flow_list li .bg-gray .list_title {
                color: #2D3236;
                font-size: 2rem;
                line-height: 1.5;
                letter-spacing: 0.03em;
                text-align: center;
                margin: 3rem 0; }
              .flow_area .flow_block.num02 .flow_box.box01 .flow_list li .bg-gray .step {
                font-family: "Open Sans", sans-serif;
                background-color: #1699E3;
                color: #FFF;
                border-radius: 1rem 0rem 1rem 0rem;
                position: absolute;
                top: 0;
                left: 0;
                padding: 1rem;
                font-size: 1.3rem;
                font-weight: bold;
                line-height: 1;
                width: 6rem; }
                .flow_area .flow_block.num02 .flow_box.box01 .flow_list li .bg-gray .step .num {
                  display: block;
                  font-size: 2.7rem;
                  line-height: 1; }
                .flow_area .flow_block.num02 .flow_box.box01 .flow_list li .bg-gray .step.color01 {
                  background-color: #1699E3; }
                .flow_area .flow_block.num02 .flow_box.box01 .flow_list li .bg-gray .step.color02 {
                  background-color: #4ABBEF; }
                .flow_area .flow_block.num02 .flow_box.box01 .flow_list li .bg-gray .step.color03 {
                  background-color: #4EC4E3; }
      .flow_area .flow_block.num02 .flow_box.box02 {
        background-image: linear-gradient(90deg, #35B2FA, #1CC5E3);
        border-radius: 0rem 0rem 1rem 1rem;
        padding: 3.75rem 6.5rem;
        margin: 0 -3rem; }
        @media screen and (max-width: 767px) {
          .flow_area .flow_block.num02 .flow_box.box02 {
            padding: 2.5rem 1rem; } }
        .flow_area .flow_block.num02 .flow_box.box02 .box_title {
          color: #FFF;
          font-size: 2.6rem;
          font-weight: 700;
          line-height: 1.5;
          letter-spacing: 0.03em;
          margin-bottom: 2.5rem; }
          @media screen and (max-width: 767px) {
            .flow_area .flow_block.num02 .flow_box.box02 .box_title {
              margin-bottom: 0;
              font-size: 2rem; } }
        .flow_area .flow_block.num02 .flow_box.box02 .box_text {
          position: relative;
          background-color: #FFF;
          color: #2D3236;
          font-size: 2rem;
          line-height: 1.5;
          letter-spacing: 0.03em;
          text-align: center;
          padding: 4.5rem 22rem 4.5rem 4rem;
          text-align: left;
          border-radius: 1rem; }
          @media screen and (max-width: 767px) {
            .flow_area .flow_block.num02 .flow_box.box02 .box_text {
              padding: 2rem 1.5rem;
              margin-top: 1rem;
              font-size: 1.5rem; } }
        .flow_area .flow_block.num02 .flow_box.box02 .box_img {
          position: absolute;
          right: 5.5rem;
          top: -5rem; }
          @media screen and (max-width: 767px) {
            .flow_area .flow_block.num02 .flow_box.box02 .box_img {
              position: static; } }
          .flow_area .flow_block.num02 .flow_box.box02 .box_img img {
            width: 105px;
            border-radius: 0.5rem; }
            @media screen and (max-width: 767px) {
              .flow_area .flow_block.num02 .flow_box.box02 .box_img img {
                width: auto; } }

.qa_area {
  background-color: #F7F6F5;
  padding-top: 0rem;
  padding-bottom: 10rem; }
  @media screen and (max-width: 767px) {
    .qa_area {
      padding-bottom: 3rem;
      padding-top: 8rem; } }

.contact_area {
  position: relative;
  background-image: url(../images/top/top-contact_bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 6.82rem 0 5.5rem 0; }
  @media screen and (max-width: 767px) {
    .contact_area {
      background-image: url(../images/top/top-contact_bg-sp.png); } }
  .contact_area .title_area .section_title {
    color: #FFF; }
  .contact_area .contact_text {
    color: #FFF; }
  .contact_area .contact_time {
    color: #FFF;
    text-align: center;
    font-size: 1.2rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
    margin-top: 1rem; }
    @media screen and (max-width: 767px) {
      .contact_area .contact_time {
        text-align: right; } }
