/*--------------------------------------------------
 mixin
--------------------------------------------------*/
@media screen and (max-width: 768px) {
  /*--------------------------------------------------
     btn
  --------------------------------------------------*/
  .btn_01 {
    display: block;
    width: 100%;
    background: #1478d5;
    background: linear-gradient(336deg, #1478d5 0%, #1478d5 33%, #007ff5 33%, #007ff5 100%);
    color: #fff;
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    border-radius: 100px;
    border: 3px solid #fff;
    padding: 15px 0;
    box-sizing: border-box;
    line-height: 1.1;
    position: relative;
    box-shadow: 0px 4px 0px 0px rgba(0, 0, 0, 0.2); }
    .btn_01::before {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/btn_arrow01.svg") center top no-repeat;
      background-size: cover;
      width: 8px;
      height: 17px;
      top: 50%;
      right: 20px;
      transform: translateY(-50%); }

  .btn_02 {
    display: none;
    width: 100%;
    background: whitesmoke;
    background: linear-gradient(336deg, whitesmoke 0%, whitesmoke 33%, white 33%, white 100%);
    color: #007ff5;
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    border-radius: 100px;
    border: 3px solid #007ff5;
    padding: 15px 0;
    box-sizing: border-box;
    line-height: 1.1;
    position: relative;
    box-shadow: 0px 4px 0px 0px rgba(0, 0, 0, 0.2); }
    .btn_02 .pc_txt {
      display: none; }
    .btn_02 .sp_txt {
      display: block;
      font-weight: bold; }
    .btn_02 .time {
      display: none; }
    .btn_02::before {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/btn_icon_tel.svg") center top no-repeat;
      background-size: cover;
      width: 20px;
      height: 36px;
      top: 50%;
      left: 30px;
      transform: translateY(-60%); }

  /*--------------------------------------------------
    body
  --------------------------------------------------*/
  body {
    font-size: 18px; }

  .pc-no01 {
    display: block; }

  .sp-no01 {
    display: none; }

  /*--------------------------------------------------
     btn
  --------------------------------------------------*/
  /*--------------------------------------------------
     ttl
  --------------------------------------------------*/
  /*--------------------------------------------------
     header
  --------------------------------------------------*/
  header {
    width: 100%;
    min-width: 100%;
    z-index: 999;
    background: #fff;
    border-bottom: #fcc800 3px solid; }
    header .inner {
      width: 100%;
      box-sizing: border-box;
      height: 60px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding-left: 10px; }
      header .inner .h_logo {
        display: block;
        width: 230px; }
      header .inner .wrap_01 {
        display: none; }

  /*--------------------------------------------------
   main
  --------------------------------------------------*/
  main {
    min-width: 100%;
    overflow-x: hidden;
    /*---------- mv ----------*/
    /*---------- sec01 ----------*/
    /*---------- sec02 ----------*/
    /*---------- sec03 ----------*/
    /*---------- sec04 ----------*/
    /*---------- sec05 ----------*/
    /*---------- sec06 ----------*/
    /*---------- sec07 ----------*/
    /*---------- sec08 ----------*/
    /*---------- sec09 ----------*/ }
    main .orange {
      color: #ff6e03; }
    main .inner {
      width: 100%;
      margin: auto;
      padding: 0 20px;
      box-sizing: border-box; }
    main .kv_upper {
      padding: 15px 30px; }
    main h2 {
      letter-spacing: 0.25em; }
    main .kv {
      box-sizing: border-box;
      background: url("../images/sp_mv_bg.jpg") center no-repeat;
      background-size: cover;
      margin-bottom: 80px; }
      main .kv .kv_inner {
        width: 100%;
        height: 0;
        padding-top: 141.86%;
        margin: auto;
        background: url("../images/sp_copy_02.png") center no-repeat;
        background-size: cover;
        position: relative; }
        main .kv .kv_inner h1 {
          text-indent: 100%;
          white-space: nowrap;
          overflow: hidden; }
        main .kv .kv_inner .btn_box {
          width: 100%;
          position: absolute;
          bottom: 4%;
          left: 0;
          padding: 0 8%;
          box-sizing: border-box; }
          main .kv .kv_inner .btn_box a {
            display: block; }
          main .kv .kv_inner .btn_box .btn_01 {
            margin-bottom: 14px; }
    main .sec_01 {
      display: none; }
    main .sec_02 {
      background: #fcc800;
      position: relative;
      padding: 110px 0 100px; }
      main .sec_02 h2 {
        background: #fcc800;
        position: absolute;
        height: 40px;
        top: -40px;
        left: 0;
        display: table;
        z-index: 0; }
        main .sec_02 h2 div {
          font-size: 28px;
          font-weight: bold;
          line-height: 1.3;
          position: relative;
          padding: 20px 20px 0 20px; }
          main .sec_02 h2 div::before {
            content: "";
            display: block;
            position: absolute;
            background: url("../images/Reason.png");
            background-size: cover;
            width: 200px;
            height: 39px;
            left: 20px;
            bottom: -30px;
            z-index: -1; }
          main .sec_02 h2 div::after {
            content: "";
            display: block;
            position: absolute;
            border-right: 40px solid transparent;
            border-bottom: 40px solid #fcc800;
            right: -40px;
            top: 0; }
        main .sec_02 h2 span {
          font-size: 24px; }
      main .sec_02 ul li {
        background: #fff;
        border: 2px solid #111111;
        border-radius: 20px;
        padding: 20px 20px 30px;
        box-sizing: border-box;
        position: relative;
        margin-top: 30px; }
        main .sec_02 ul li h3 {
          font-size: 24px;
          border-bottom: 2px solid #fcc800;
          line-height: 1.2;
          margin-bottom: 20px;
          padding-bottom: 5px;
          display: flex;
          flex-wrap: wrap;
          align-items: center; }
          main .sec_02 ul li h3 span {
            font-weight: bold; }
          main .sec_02 ul li h3 .h3_txt {
            padding-top: 10px;
            display: block;
            width: 78%; }
          main .sec_02 ul li h3 .num {
            display: block;
            font-size: 34px;
            color: #fcc800;
            position: relative;
            padding-right: 0;
            margin: 0 10px 30px 0; }
            main .sec_02 ul li h3 .num::before {
              content: "";
              display: block;
              position: absolute;
              background: url("../images/icon-pika.png");
              background-size: cover;
              width: 40px;
              height: 50px;
              right: 0;
              left: 0;
              margin: auto;
              bottom: -45px; }
        main .sec_02 ul li .wrap_01 {
          display: block; }
          main .sec_02 ul li .wrap_01 p {
            font-size: 18px;
            width: 100%; }
          main .sec_02 ul li .wrap_01 .img {
            width: 100%; }
          main .sec_02 ul li .wrap_01 .underline {
            font-weight: bold;
            background: linear-gradient(transparent 50%, #fffea6 0%); }
        main .sec_02 ul li .sub {
          position: static;
          right: inherit;
          font-size: 12px;
          text-decoration: underline; }
    main .cv {
      background: #ffeba0;
      padding: 20px 20px;
      border-radius: 20px;
      margin-top: 30px; }
      main .cv .cv_ttl {
        font-weight: bold;
        font-size: 20px;
        text-align: center;
        letter-spacing: normal; }
      main .cv .btn_01 {
        display: block;
        width: 100%;
        margin: 10px auto; }
      main .cv .cv_tel {
        display: none; }
    main .sec_03 {
      position: relative;
      padding: 80px  0 100px;
      background: #f7f7f7; }
      main .sec_03 h2 {
        background: #f7f7f7;
        position: absolute;
        height: 40px;
        top: -40px;
        right: 0;
        display: table;
        z-index: 0; }
        main .sec_03 h2 div {
          font-size: 28px;
          font-weight: bold;
          line-height: 1.3;
          position: relative;
          padding: 20px 20px 0 20px;
          text-align: right; }
          main .sec_03 h2 div::before {
            content: "";
            display: block;
            position: absolute;
            background: url("../images/Features.png");
            background-size: cover;
            width: 230px;
            height: 37px;
            right: 20px;
            bottom: -20px;
            z-index: -1; }
          main .sec_03 h2 div::after {
            content: "";
            display: block;
            position: absolute;
            border-top: 40px solid transparent;
            border-right: 40px solid #f7f7f7;
            left: -40px;
            top: 0; }
      main .sec_03 .txt_01 {
        color: #b38a00;
        font-size: 24px;
        font-weight: bold;
        text-align: center; }
      main .sec_03 .txt_02 {
        color: #b38a00;
        font-size: 24px;
        font-weight: bold;
        text-align: center;
        line-height: 1.4;
        position: relative;
        padding-bottom: 40px; }
        main .sec_03 .txt_02 span {
          font-size: 24px;
          font-weight: bold; }
        main .sec_03 .txt_02::before {
          content: "";
          display: block;
          position: absolute;
          border-top: 30px solid #ff6e03;
          border-right: 30px solid transparent;
          border-left: 30px solid transparent;
          width: 0;
          height: 0;
          left: 0;
          right: 0;
          margin: 0 auto;
          bottom: 0; }
      main .sec_03 .img_wrap {
        background: #ffeba0;
        margin: 20px 0 30px; }
        main .sec_03 .img_wrap img {
          width: 100%;
          margin: auto; }
      main .sec_03 ul li {
        background: #fff;
        border: 2px solid #111111;
        border-radius: 20px;
        padding: 20px 20px 30px;
        box-sizing: border-box;
        position: relative;
        margin-top: 30px; }
        main .sec_03 ul li h3 {
          font-size: 24px;
          border-bottom: 2px solid #fcc800;
          line-height: 1.2;
          margin-bottom: 20px;
          padding-bottom: 5px;
          display: flex;
          flex-wrap: wrap;
          align-items: center; }
          main .sec_03 ul li h3 span {
            font-weight: bold; }
          main .sec_03 ul li h3 .h3_txt {
            padding-top: 10px;
            display: block;
            width: 78%; }
          main .sec_03 ul li h3 .num {
            display: block;
            font-size: 34px;
            color: #fcc800;
            position: relative;
            padding-right: 0;
            margin: 0 10px 30px 0; }
            main .sec_03 ul li h3 .num::before {
              content: "";
              display: block;
              position: absolute;
              background: url("../images/sec03_icon01.png");
              background-size: cover;
              width: 40px;
              height: 50px;
              right: 0;
              left: 0;
              margin: auto;
              bottom: -45px; }
        main .sec_03 ul li .wrap_01 {
          display: block; }
          main .sec_03 ul li .wrap_01 p {
            font-size: 18px; }
          main .sec_03 ul li .wrap_01 .img {
            width: 100%; }
          main .sec_03 ul li .wrap_01 .underline {
            font-weight: bold;
            background: linear-gradient(transparent 50%, #fffea6 0%); }
        main .sec_03 ul li .sub {
          position: static;
          font-size: 12px; }
      main .sec_03 ul .li_01 .img {
        width: 100% !important; }
      main .sec_03 ul .li_02 .sub {
        position: static;
        text-indent: 0;
        padding-left: 0; }
    main .sec_04 {
      background: #fcc800;
      position: relative;
      padding: 100px  0 100px; }
      main .sec_04 h2 {
        background: #fcc800;
        position: absolute;
        height: 40px;
        top: -40px;
        left: 0;
        display: table;
        z-index: 0; }
        main .sec_04 h2 div {
          font-size: 28px;
          font-weight: bold;
          line-height: 1.3;
          position: relative;
          padding: 20px 20px 0 20px; }
          main .sec_04 h2 div::before {
            content: "";
            display: block;
            position: absolute;
            background: url("../images/System.png");
            background-size: cover;
            width: 220px;
            height: 54px;
            left: 20px;
            bottom: -40px;
            z-index: -1; }
          main .sec_04 h2 div::after {
            content: "";
            display: block;
            position: absolute;
            border-right: 40px solid transparent;
            border-bottom: 40px solid #fcc800;
            right: -40px;
            top: 0; }
      main .sec_04 .txt_01 {
        font-weight: bold;
        text-align: center;
        font-size: 24px;
        margin-bottom: 20px; }
      main .sec_04 .wrap_01 {
        min-width: 100%;
        padding: 0;
        box-sizing: border-box; }
        main .sec_04 .wrap_01 .inner {
          width: 100%;
          background: none; }
          main .sec_04 .wrap_01 .inner img {
            width: 100%;
            margin: auto; }
    main .sec_05 {
      position: relative;
      padding: 80px 0 100px;
      background: #f7f7f7; }
      main .sec_05 h2 {
        background: #f7f7f7;
        position: absolute;
        height: 40px;
        top: -40px;
        right: 0;
        display: table;
        z-index: 0; }
        main .sec_05 h2 div {
          font-size: 28px;
          font-weight: bold;
          line-height: 1.3;
          position: relative;
          padding: 20px 20px 0 20px;
          text-align: right; }
          main .sec_05 h2 div::before {
            content: "";
            display: block;
            position: absolute;
            background: url("../images/Performance.png");
            background-size: cover;
            width: 330px;
            height: 37px;
            right: 20px;
            bottom: -20px;
            z-index: -1; }
          main .sec_05 h2 div::after {
            content: "";
            display: block;
            position: absolute;
            border-top: 40px solid transparent;
            border-right: 40px solid #f7f7f7;
            left: -40px;
            top: 0; }
      main .sec_05 .txt_01 {
        font-size: 24px;
        font-weight: bold;
        text-align: center;
        margin-bottom: 20px; }
      main .sec_05 ul {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        padding: 0 2%;
        margin-bottom: 10px; }
        main .sec_05 ul li {
          width: 48%;
          text-align: center;
          font-size: 15px;
          margin-bottom: 20px; }
        main .sec_05 ul img {
          display: block;
          margin-bottom: 10px; }
    main .sec_06 {
      background: #fcc800;
      position: relative;
      padding: 90px  0 100px; }
      main .sec_06 h2 {
        background: #fcc800;
        position: absolute;
        height: 40px;
        top: -40px;
        left: 0;
        display: table;
        z-index: 0; }
        main .sec_06 h2 div {
          font-size: 28px;
          font-weight: bold;
          line-height: 1.3;
          position: relative;
          padding: 20px 40px 0 20px; }
          main .sec_06 h2 div::before {
            content: "";
            display: block;
            position: absolute;
            background: url("../images/Procedure.png");
            background-size: cover;
            width: 300px;
            height: 42px;
            left: 20px;
            bottom: -20px;
            z-index: -1; }
          main .sec_06 h2 div::after {
            content: "";
            display: block;
            position: absolute;
            border-right: 40px solid transparent;
            border-bottom: 40px solid #fcc800;
            right: -40px;
            top: 0; }
      main .sec_06 .txt_01 {
        font-weight: bold;
        text-align: center;
        font-size: 24px;
        margin-bottom: 20px; }
      main .sec_06 .img {
        overflow-x: scroll; }
        main .sec_06 .img img {
          width: 600px; }
    main .sec_07 {
      position: relative;
      padding: 50px 0 60px;
      background: #f7f7f7; }
      main .sec_07 h2 {
        background: #f7f7f7;
        position: absolute;
        height: 40px;
        top: -40px;
        right: 0;
        display: table;
        z-index: 0; }
        main .sec_07 h2 div {
          font-size: 28px;
          font-weight: bold;
          line-height: 1.3;
          position: relative;
          padding: 20px 20px 0 30px;
          text-align: right; }
          main .sec_07 h2 div::before {
            content: "";
            display: block;
            position: absolute;
            background: url("../images/case.png");
            background-size: cover;
            width: 285px;
            height: 46px;
            right: 20px;
            bottom: -30px;
            z-index: -1; }
          main .sec_07 h2 div::after {
            content: "";
            display: block;
            position: absolute;
            border-top: 40px solid transparent;
            border-right: 40px solid #f7f7f7;
            left: -40px;
            top: 0; }
      main .sec_07 .txt_01 {
        color: #b38a00;
        font-size: 24px;
        font-weight: bold;
        text-align: center;
        margin-bottom: 20px; }
      main .sec_07 ul li {
        border-radius: 20px;
        border: #111 solid 2px;
        display: block;
        justify-content: space-between;
        padding: 20px;
        box-sizing: border-box;
        margin-bottom: 20px; }
        main .sec_07 ul li .txt {
          width: 100%; }
          main .sec_07 ul li .txt .name {
            font-size: 24px;
            font-weight: bold;
            margin-bottom: 10px; }
            main .sec_07 ul li .txt .name span {
              font-size: 20px;
              font-weight: bold;
              color: #666666;
              display: block; }
        main .sec_07 ul li .img {
          width: 50%;
          margin: 0 auto 10px; }
      main .sec_07 ul img {
        display: block;
        margin-bottom: 10px; }
    main .sec_08 {
      position: relative;
      padding: 40px 0 40px;
      background: #fff; }
      main .sec_08 h2 {
        font-size: 28px;
        font-weight: bold;
        text-align: center;
        margin-bottom: 20px; }
      main .sec_08 .menu li {
        border-radius: 20px;
        border: #111 solid 2px;
        padding: 20px 50px 20px 20px;
        box-sizing: border-box;
        margin-bottom: 20px; }
        main .sec_08 .menu li .menu__item__link {
          cursor: pointer;
          display: block;
          position: relative;
          font-weight: bold;
          font-size: 18px;
          padding-left: 30px; }
          main .sec_08 .menu li .menu__item__link::before {
            content: "";
            display: block;
            position: absolute;
            background: url("../images/q.png");
            background-size: cover;
            width: 20px;
            height: 25px;
            left: 0;
            top: 0; }
          main .sec_08 .menu li .menu__item__link::after {
            content: '\f067';
            display: block;
            font-family: "Font Awesome 5 Free";
            line-height: 1;
            position: absolute;
            right: -40px;
            text-align: center;
            top: 5px;
            width: 30px; }
          main .sec_08 .menu li .menu__item__link.on:after {
            content: '\f068'; }
        main .sec_08 .menu li .submenu {
          display: none;
          margin-top: 20px; }
    main .sec_09 {
      position: relative;
      padding: 40px 0 40px;
      background: #f7f7f7; }
      main .sec_09 h2 {
        font-size: 28px;
        font-weight: bold;
        text-align: center;
        margin-bottom: 20px; }
      main .sec_09 table {
        width: 100%; }
        main .sec_09 table tr {
          border-bottom: 1px solid #b5b5b5; }
          main .sec_09 table tr th {
            background: #e5e5e5;
            padding: 15px 20px;
            box-sizing: border-box;
            font-weight: bold;
            font-size: 18px;
            vertical-align: top;
            display: block;
            width: 100%;
            box-sizing: border-box; }
          main .sec_09 table tr td {
            display: block;
            background: #fff;
            padding: 15px 20px;
            box-sizing: border-box;
            font-size: 18px;
            width: 100%;
            box-sizing: border-box; }
            main .sec_09 table tr td ul li {
              text-indent: -1em;
              padding-left: 1em; }

  /*-----/main-----*/
  /*--------------------------------------------------
    footer
  --------------------------------------------------*/
  footer {
    background: #fff; }
    footer .foot__inner {
      width: 100%;
      margin: auto;
      display: block;
      padding: 20px 20px 120px;
      box-sizing: border-box; }
      footer .foot__inner .left {
        width: 310px; }
      footer .foot__inner .right .link_box {
        display: block;
        margin: 20px 0 20px 0; }
        footer .foot__inner .right .link_box a {
          font-size: 18px;
          margin: 0 0 20px 0;
          font-weight: bold; }
      footer .foot__inner .right .copylight {
        font-size: 10px;
        text-align: center; }

  /*--------------------------------------------------
     floatbtn
  --------------------------------------------------*/
  .float_box {
    width: 100%;
    height: 100px;
    position: fixed;
    background: #ffeba0;
    display: flex;
    justify-content: space-between;
    padding: 10px 14px;
    box-sizing: border-box;
    bottom: 0; }
    .float_box a {
      border-radius: 10px;
      display: block;
      width: 48%;
      line-height: 1.4;
      box-sizing: border-box;
      letter-spacing: normal;
      padding: 11px 0; }
    .float_box .btn_01 {
      padding-right: 8px; }
    .float_box .btn_01:before {
      right: 10px; }
    .float_box .btn_02 {
      padding-left: 14px; }
      .float_box .btn_02::before {
        display: none; }
      .float_box .btn_02 span {
        font-weight: bold;
        position: relative; }
        .float_box .btn_02 span::before {
          position: absolute;
          content: "";
          display: block;
          background: url("../images/btn_icon_tel.svg") center top no-repeat;
          background-size: cover;
          width: 20px;
          height: 36px;
          top: 50%;
          left: -30px;
          transform: translateY(-60%); } }
