@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-top: 45px;
      padding-bottom: 15px;
    }
    .mainvisual .key {
      background: #cdf1ff;
    }
    .mainvisual .key .inner {
      padding-right: 0;
      padding-left: 0;
    }
    
    .fix_banner {
      padding: 3px 0 1px;
    }
    .fix_banner .ttl_fix {
      font-size: 15px;
      padding: 0 20px 0 22px;
      margin-bottom: 2px;
    }
    .fix_banner .ttl_fix::before, .fix_banner .ttl_fix::after {
      height: 80%;
      bottom: 5%;
    }
    .fix_banner .txt_fix {
      font-size: 11px;
    }
    .fix_banner .fix_img {
      text-align: center;
    }
    .ios .fix_banner .fix_img.img1 {
      display: block;
    }
    .ios .fix_banner .fix_img.img2 {
      display: none;
    }
    .fix_banner .fix_img.img2 {
      display: block;
    }

    #caution{
      font-size:11px;
    }
    /*==========================================================================*/
    /*                             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: 22px;
      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: 51px 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;
    }

  }