@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: auto;
      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;
    }

/*==========================================================================*/
/*                           message                                    */
/*==========================================================================*/

.message_container{
  padding: 1.6rem 1em;
}

/*==========================================================================*/
/*                           campaign                                    */
/*==========================================================================*/

.campaign_container{
  padding: 2.4rem 1rem;
}

.campaign_contents{
  display: block;
  margin: 2.4rem 1rem;
}

.campaign_contents img{
  margin-bottom: 1rem;
}

.campaign_caution{
  color: #525252;
  text-align: center;
  margin-top: 2.4rem;

}

/*==========================================================================*/
/*                           zero                                   */
/*==========================================================================*/
.zero_container{
  background:url(/promo/img/idx6_bg_bottom.png) no-repeat bottom center/200px,url(/promo/img/idx4_bg.png) #edfbff;
  padding: 2.4rem 1rem 12rem;
}

.zero_wrapper{
  padding: 2.4rem 1rem;
  text-align: center;
  background-color: #fff;
  display: block;
  margin: auto;
}

/*==========================================================================*/
/*                           detail_btn                                    */
/*==========================================================================*/
.detail_btn{
background-color: #42deb1;
border-radius: 10px;
color: #fff;
text-align: center;
margin: auto;
font-size: 1rem;
padding: 1.2rem 1rem;
margin-top: 1.6rem;
}

/*==========================================================================*/
/*                          program                                   */
/*==========================================================================*/

.program_container{
  padding: 2.4rem 1rem;
}

.program_container img{
  margin: 2rem auto 0;
   max-width: 100%;
}

.program-plus{
  width: 180px;
  height: auto;
  display: block;
  margin: auto;
}

.program_txt{
  color: #42deb1;
}

/*==========================================================================*/
/*                         campaign2                                   */
/*==========================================================================*/

.campaign2_container{
  background: url(/promo/img/idx4_bg.png) #F1FFFB;
  padding: 2.4rem 1rem;
}
.campaign2_container img{
  margin: 2rem auto 0;
   max-width: 100%;
}
.campaign2_txt{
  color: #42deb1;
}



/*==========================================================================*/
/*                          btn                                   */
/*==========================================================================*/

.btn_container{
  background-color: #F1FFFB;
  padding: 1.6rem 1rem !important;
  text-align: center;
}

.btn_txt{
  margin-bottom: 1.6rem;
}

.cpn_btn{
  background-color: #42DEB1;
  border-radius: 10px;
  color: #fff;
  text-align: center;
  margin: auto;
  font-size: 1rem;
  padding: 1.2rem 1rem;
  margin-top: 1.6rem;
}

.cpn_btn:hover{
  color: #fff;
}


.fix_banner .fix_img.img2{
  max-width: 400px;
}



    /*==========================================================================*/
    /*                               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:16px;
      margin:1rem;
    }
    

  }


  @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; }
      }
       
    