@media screen and (max-width: 768px) {

    input, button, textarea, select, p, blockquote, th, td, pre, li, dt, dd {
      font-size: 140%;
    }
    p {
      margin-bottom: 15px;
    }
    .sp {
      display: block;
    }
    .pc {
      display: none;
    }
    .image_l,
    .image_r {
      margin: 0 0px 25px 0;
      text-align: center;
    }
    .inner {
      padding: 0 15px;
    }
    /*==========================================================================*/
    /*                               Header                                     */
    /*==========================================================================*/
    header {
      padding: 15px;
    }
    header .h_top #logo {
      max-width: 138px;
    }
    /*==========================================================================*/
    /*                             Mainvisual                                     */
    /*==========================================================================*/
    .mainvisual {
      padding-bottom: 0;
      overflow: hidden;
    }

    .top{
      display: flex;
      justify-content: space-between;
      height: 400px;
      margin-top: 40px;
    }
    
    
    .top_img{
      right: 0px;
      height: 400px;

    }

    .mainvisual img{
      object-fit:cover;
      height: 400px;
      margin-right: -30px;
    
    }
    
    
    .inner{
      margin: 12px auto 0;
      overflow: hidden;

    }
    
    .top_bg{
      background-color:#FAFCFB ;
    }
    
    .top{
      display: block;
      justify-content: space-between;
      overflow: hidden;

    }
    .top_txt{
      z-index: 1;
      margin-top:220px;
      margin-left:0px;
      position: absolute;
      width: 90%;
      font-size: 0.5em;
      text-shadow: 2px 2px 2px rgb(255,255,255,0.5);
      -webkit-text-stroke: 0.3px #FFF;
    }

    #btn{
      width: 90%;
      margin:0 auto 0;
    }

    /*==========================================================================*/
    /*                           menu                                    */
    /*==========================================================================*/
    .menu_bg{
      background-color: #111111;
      width: 100%;
      height: 90px;
    }

    .header-lists {
      padding-top:22px
    }

    /*==========================================================================*/
    /*                           tokaitokyo                                    */
    /*==========================================================================*/

    .group{
      text-align: center;
    }

    .tokaitokyo{
      width: 80%;
    }

    /*==========================================================================*/
    /*                           worry                                    */
    /*==========================================================================*/


    .worry_title{
      text-align: center;
      margin: 32px auto ;
      padding-top: 32px;
    }

    .worry_container{
      display: block;
      text-align: center;
      padding-bottom:0px ;
      padding-top: 0;
    }

    .worry_img{
      width: 100%;
      height: auto;
      padding-bottom: 24px;
      margin: auto;
    }

    .worry_txt{
      padding: 16px;
    }

    

    /*==========================================================================*/
    /*                           sectionタイトル                                   */
    /*==========================================================================*/

    .section_title{
      padding-top: 42px;
    }

    /*==========================================================================*/
    /*                           feature                                  */
    /*==========================================================================*/

    #feature{
    background-color: #F7F7F7;
    padding-bottom: 56px;
    }

    .feature-box{
      border: #111111 3px solid;
      background-color: #fff;
      box-shadow: 8px 8px #42deb1;
      padding: 32px;
      width: 96%;
      max-width: 1000px;
      margin: 0 auto 56px;
    }

    .number{
      width: 56px;
      text-align: center;
      display: block;
      margin: auto;
    }

    .feature_title{
      padding-top: 24px;
    }

    .feature-container{
      display: block;
      margin-top: 32px;
      text-align: center;
      
    }

    .feature_img{
      margin: auto;
      max-width: 245px;
    }

    .feature_txt{
      max-width: 400px;
      margin: auto;
    }

    /*==========================================================================*/
    /*                           step                                  */
    /*==========================================================================*/

    .step-container{
      display: block;
      margin-bottom: 40px;
    }

    .step-txt{
      padding-bottom:16px ;
    }

    .step-left .caution{
      padding-bottom:16px ;
    }

    .step-img{
      max-height: 240px;
    }
    
    .step-number{
      max-width: 80px;
      padding-bottom: 0;
    }

    .openflow-bg{
      padding: 32px 32px 0 32px;
    }

    .step-left{
      text-align: center;
      width: 100%;
    }
    .step-title{
      text-align: center;
    }

    .step-img-01{
      padding-right:0;
    }
    
    .step-img-03{
      padding-right:0;
    }

    /*==========================================================================*/
  /*                           app                                  */
  /*==========================================================================*/

  .app-img{
    max-height: 240px;
    margin:0 auto 16px;

  }
  .app-container{
    display: block;
    text-align: center;
  }

  .app-txt-box1 {
    padding:16px;
    margin-left: 0;
    width: 100%;
  }

  .app-txt-box1:before {
    content: "";
    position: absolute;
    top: -10px;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-bottom: 15px solid #EDFBFF;
  }

  .app-txt-box2 {
    padding:16px;
    margin-left: 0;
    width: 100%;
    margin-right: 0;
  }

  .app-txt-box2:before {
    content: "";
    position: absolute;
    top: -10px;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-bottom: 15px solid #EDFBFF;
  }


  .app-txt{
    padding-top: 16px;
  }

  .other-app-container{
    display: flex;
    justify-content: space-around;
  }

  .other-app-img{
    max-width: 100px;
    margin-bottom: 16px;
  }

  .other-app-item{
    text-align: center;
    margin: 32px auto;
  }

  .app-txt-box2 .caution{
    text-align: center;
  }
  


    /*==========================================================================*/
    /*                             Index                                     */
    /*==========================================================================*/
    /* .ttl_style1 {
      font-size: 25px;
      margin-bottom: 7px;
    }
    .idx1 {
      padding: 7px 0 19px;
    }
    .idx1_box_bnr {
      margin-left: auto;
      margin-right: auto;
    }
    .idx1_box_bnr .banner {
      width: 100%;
      border-radius: 6px;
      margin: 5px 0;
    }
    .idx1_box_bnr .banner::before {
      width: 10px;
    }
    
    .idx1_box_bnr .banner .number {
      width: 15%;
    }
    .idx1_box_bnr .banner .number img {
      width: 24px;
    }
    .idx1_box_bnr .banner .txt {
      width: 85%;
      padding: 8px 15px 9px 8px;
      font-size: 15px;
    }
    .idx2 .content {
      padding: 25px 0 25px;
    }
    .idx2 .idx_purport {
      padding: 24px 20px 23px;
    }
    .idx2 .pur_img {
      padding-left: 4px;
      margin-bottom: 16px;
    }
    .idx2 .pur_img img {
      width: 76px;
    }
    .idx2 .idx_box1 {
      justify-content: space-between;
      padding-left: 4.8%;
      max-width: 350px;
      margin: 0 auto;
      position: relative;
      right: -2vw;
    }
    .idx2 .idx_box1 .box_img {
      width: 29%;
      max-width: 82px;
      margin-right: 0;
    }
    .idx2 .idx_box1 .box_line {
      width: 58%;
      max-width: 168px;
      padding-top: 0;
      letter-spacing: -0.1em;
      line-height: 2.3;
    }
    .idx2 .idx_box2 {
      padding-top: 22px;
    }
    .idx2 .ttl_also {
      font-size: 30px;
      text-shadow: black 2px 0px 0px, black 1.75517px 0.95885px 0px, black 1.0806px 1.68294px 0px, black 0.14147px 1.99499px 0px, black -0.83229px 1.81859px 0px, black -1.60229px 1.19694px 0px, black -1.97998px 0.28224px 0px, black -1.87291px -0.70157px 0px, black -1.30729px -1.5136px 0px, black -0.42159px -1.95506px 0px, black 0.56732px -1.91785px 0px, black 1.41734px -1.41108px 0px, black 1.92034px -0.55883px 0px;
      padding: 0 10px 0 13px;
      margin-bottom: 0;
    }
    .idx2 .ttl_also::before, .idx2 .ttl_also::after {
      width: 2px;
    }
    .idx2 .txt_info {
      font-size: 16px;
      letter-spacing: -0.08em;
    }
    .idx2 .idx_btn a {
      padding-left: 12px;
      font-size: 12px;
    }
    .idx2 .idx_purport {
      padding: 24px 20px 28px;
    }
    .box_line {
      font-size: 15px;
    }
    .box_line .line {
      padding: 2px 8px 2px 8px;
    }
    .ttl_purport {
      font-size: 38px;
      line-height: 1.2;
      margin-bottom: 10px;
    }
    .idx3 .detil_1 {
      padding: 49px 0 36px;
    }
    .idx3 .detil_1 .box_txt {
      padding-left: 6%;
    }
    .idx3 .pur_img {
      margin-bottom: 24px;
    }
    .idx3 .pur_img img {
      width: 80px;
    }
    .idx3 .ttl_purport {
      margin-bottom: 12px;
      font-size: 35px;
      line-height: 1.4;
    }
    .idx3 .box_line {
      line-height: 2.3;
    }
    .idx3 .box_line .line{
      padding-left: 8px;
      padding-right: 8px;
    }
    .idx3 .detil_2 {
      padding: 23px 0 23px;
    }
    .idx3 .detil_2 .content {
      padding: 11px 39% 9px 3.5%;
    }
    .idx3 .detil_2 .content .check li {
      font-size: 15px;
      line-height: 1.4;
      padding-left: 34px;
      margin: 10px 0;
      background-position: top 7px left;
      background-size: 26px auto;
    }
    .idx3 .pur_smartphone {
      width: 37.2%;
      right: 3%;
      bottom: 15%;
      max-width: 128px;
    }
    
    .idx4 {
      padding: 48px 0 122px;
      background-size: 142px auto, auto auto;
      background-position: bottom left 53%, top;
    }
    .idx4 .ttl_style2 {
      font-size: 30px;
      margin-bottom: 21px;
    }
    .idx4 .ttl_style2 .small {
      font-size: 20px;
      padding: 0 10px 0 13px;
    }
    .idx4 .ttl_style2 .small::before, .idx4 .ttl_style2 .small::after {
      width: 2px;
    }
    .idx4 .ttl_step .number {
      max-width: 125px;
      margin-bottom: 0;
    }
    .idx4 .box_slider {
      padding: 0 15px;
    }
    .idx4 .box_slider .line {
      letter-spacing: -0.03em;
      font-size: 13px;
    }
    .idx4 .box_slider .line.b_block {
      display: inline-block;
    }
    .idx_slider {
      padding: 10px 0 8px;
    }
    .idx_slider .slick-prev, .idx_slider .slick-next{
      top: 57.5%;
      width: 24px;
      height: 38px;
    }
    .idx_slider .slick-next{
      right: 2.4%;
     background-image: url(../img/icon_arown_sp.png);
    }
    
    .idx_slider .slick-prev{
      left: 2.4%;
      background-image: url(../img/icon_arown_prev_sp.png);
    }
    .idx4 .box_slider.last .txt{
      margin-bottom: 0;
    }
    .idx_slider .item1 .img_slider {
      width: 63.52%;
      max-width: 195px;
    }
    .idx_slider .item2 .img_slider {
      width: 53.82%;
      max-width: 165px;
    }
    .idx_slider .item3 .img_slider {
      width: 64.97%;
      max-width: 200px;
    }
    .idx_slider .item4 .img_slider {
      width: 55.27%;
      max-width: 170px;
    }
    .idx_slider .item5 .img_slider {
      width: 64.97%;
      max-width: 200px;
    }
    .idx_slider .item6 .img_slider {
      width: 98.31%;
      max-width: 305px;
    }
    .idx_slider .img_slider {
      margin: 0 auto;
    }
    .idx_slider .slick-dots {
      bottom: -38px;
    }
    .idx_slider .slick-dots li {
      margin: 0 4px;
    }
    .idx_slider .slick-dots li button {
      width: 6px;
      height: 6px;
      padding: 4px;
      border-radius: 50%;
      border: 2px solid #000;
      margin: 0 auto;
    }
    .idx5 {
      padding: 51px 0 46px;
    }
    .idx5_img {
      margin-top: 0;
      margin-bottom: 23px;
    }
    .idx5_img .txt {
      top: 31px;
      font-size: 22px;
    }
    .idx5_txt {
      line-height: 1.4;
      font-size: 20px;
      margin-bottom: 45px;
    }
    .idx5 .img {
      width: 85%;
      margin: 0 auto;
    }
    .idx5 .ttl_purport {
      letter-spacing: -0.12em;
      margin-bottom: 14px;
    }
    .idx5 .pur_img {
      margin-bottom: 21px;
    }
    .idx5 .pur_img img {
      width: 78px;
      image-rendering: -webkit-optimize-contrast;
    }
    .idx5 .box_item {
      width: 100%;
    }
    .idx5 .box_item:not(:last-child) {
      margin-bottom: 59px;
    }
    .idx5_box_info .ttl {
      font-size: 20px;
      margin-bottom: 5px;
    }
    .idx5_box_info .txt {
      font-size: 11px;
    }
    .idx5_box_info .img {
      max-width: 180px;
      margin-bottom: 22px;
    } */

    .idx6 {
      padding: 0 0 218px;
      background-size: 274px auto, auto auto;
    }
    .idx6 .ttl_style2 {
      font-size: 25px;
      letter-spacing: -0.1em;
      margin-bottom: 18px;
    }
    .idx6 .ttl_style2 .small {
      font-size: 15px;
      padding: 0 10px;
      margin-bottom: 4px;
    }
    .idx6 .ttl_style2 .small::before, .idx6 .ttl_style2 .small::after {
      width: 2px;
    }
    .idx6 .idx_btn {
      margin-top: 20px;
    }
    
    .accordion_header, .accordion_body {
      padding: 9px 37px 9px 44px;
    }
    .accordion_header {
      background-position: left 6px center;
      background-size: 35px auto;
      font-size: 17px;
    }
    .accordion_header::before, .accordion_header::after {
      width: 14px;
      height: 4px;
      right: 13px;
      top: 1px;
    }
    .accordion_body {
      font-size: 12px;
      background-position: left 6px top 15px;
      background-size: 35px auto;
    }
    .accordion_body p, .accordion_body li {
      font-size: 100%;
    }
    .accordion_body .note_indent {
      font-size: 10px;
    }
    .accordion_item {
      border-radius: 17px;
    }
    .accordion_item:not(:last-child) {
      margin-bottom: 15px;
    }
    .acc_item2 .accordion_header {
      padding-top: 8px;
      padding-bottom: 7px;
    }
    .list01 li {
      padding-left: 6px;
    }
    .list01 li::before {
      top: 6px;
      width: 2px;
      height: 2px;
    }
    .idx_btn a {
      padding-left: 11px;
      font-size: 12px;
    }
    .idx_btn a::before {
      width: 6px;
    }
    /*==========================================================================*/
    /*                               Footer                                     */
    /*==========================================================================*/
    footer {
      padding-top: 44px;
      padding-bottom: 20px;
    }
    footer .ft_ttl {
      font-size: 14px;
      margin-bottom: 11px;
    }
    footer .txt {
      margin-bottom: 26px;
      line-height: 1.5;
      font-size: 12px;
    }
    footer .ft_btn {
      letter-spacing: -0.05em;
      margin-bottom: 39px;
    }
    footer .ft_info {
      font-size: 11px;
      line-height: 1.6;
      letter-spacing: 0.05em;
      margin-bottom: 32px;
    }
    footer .ft_logo {
      max-width: 200px;
      margin-bottom: 26px;
    }
    footer address {
      font-size: 9px;
    }
    /*==========================================================================*/
    /*                               table                                     */
    /*==========================================================================*/
    .table {
      display: block;
      border-collapse: collapse;
      table-layout: fixed;
      text-indent: initial;
      border-spacing: 2px;
      -webkit-text-size-adjust: 100%;
      box-sizing: border-box;
  }
   
    .table td {
    display: block;
    text-align: left;
    width:100%;
    padding:0 2.4rem 2.4rem;
    -webkit-text-size-adjust:100%;
}
   

    .table th {
    display: block;
    text-align: left;
    width:100%;
    padding:2.4rem 2.4rem 1.6rem;
    }

    #detail p{
      font-size:12px;
      margin:10px 0;
    }
    

  }


  @media screen and (max-width: 374px) {
    .sp_375up{
      display: block;
    }
    .mainvisual {
        padding-bottom: 15px;
    }
    .ttl_style1 {
      font-size: 24px;
  }
    .fix_banner .ttl_fix {
        font-size: 14px;
        padding: 0 16px 0 18px;
    }
    .fix_banner .txt_fix {
        font-size: 10px;
    }
    .idx2 .idx_box1 {
      padding-left: 0;
    }
    .idx2 .idx_box1 .box_line {
      width: 65%;
      margin-left: 6%;
    }
    .ttl_purport {
      font-size: 33px;
  
    }
    .idx4 .ttl_style2 {
        font-size: 28px;
    }
    .idx5_box_info .txt {
        font-size: 10px;
    }
    .idx6 .ttl_style2 .small {
      font-size: 14px;
    }
    .idx3 .pur_smartphone {
        width: 31.2%;
    }
    .box_line {
        font-size: 14px;
    }
    .accordion_header{
      font-size: 14px;
    }

  }
  
      /*==========================================================================*/
    /*                              8月LP                                     */
    /*==========================================================================*/

    @media screen and (max-width: 768px){
      .idx2 .idx_box1 .img_step04{
        width:100%;
        max-width: 200px;
        margin: auto;
      }  
    
      .idx2 .idx_box4{
        padding-left: 0;
      }

      .idx2 .idx_box1 .box_line_4{
        text-align: center;
        width: 100%;
        max-width: 300px;
        margin:auto;
      }
      ul.notice li {
        color: #7A7A7A;
        font-size: 12px;
      }

      .step05_p{
        font-size:16px ;
      }

      footer{
        margin-bottom: 100px;
      }
    }

    @media screen and (min-width: 768px){
      .br-sp {display: none; }
      }
       
    