@media screen and (min-width:768px) {
    .bb{
        text-align: center;
        padding: 1rem 2rem;
        border-left: 5px solid #67c5ff;;
        background: #f4f4f4;
        width: 25%;
        margin:0 auto;
        color: #00B0F0;
    }
    .bba{
        text-align: center;
        padding: 1rem 2rem;
        border-left: 5px solid #67c5ff;;
        background: #f4f4f4;
        width: 20%;
        margin:0 auto;
        color: black;
    }
    h2 {
        position: relative;
        padding: 1.5rem;
        text-align: center;
        border: 2px solid #000;
        background: #fff;
      }
      
      h2:before,
      h2:after {
        position: absolute;
        content: '';
      }
      
      h2:before {
        top: -40px;
        left: calc(50% - 40px);
        width: 80px;
        height: 80px;
        border: 2px solid #000;
        border-radius: 50%;
        background: #fff;
      }
      
      h2:after {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #fff;
      }
      
      h2 i {
        font-size: 30px;
        font-size: 3rem;
        line-height: 60px;
        position: absolute;
        z-index: 1;
        top: -40px;
        left: calc(50% - 40px);
        width: 80px;
        height: 60px;
        text-align: center;
      }
      
      h2 span {
        position: relative;
        z-index: 1;
      }
      
    .re32{
        color: #33ccff;
    }
    .a16{
      width: 60%;
      height: 60%;
      margin:0 auto;
      text-align: center;
  }
  .a17{
    width: 50%;
    height: 50%;
      text-align: center;   
      margin:0 auto;
  }
    nav{
    border-bottom: 1px solid #ccc;
    }
    nav ul{
    display: table;
    margin: 0 auto;
    padding: 0;
    width: 80%;
    text-align: center;
    }
    nav ul li{
    display: table-cell;
    min-width: 50px;
    border-right: 1px solid #ccc;
    }
    nav ul li:first-child{
    border-left: 1px solid #ccc;
    }
    nav ul li a{
    display: block;
    width: 100%;
    padding: 10px 0;
    text-decoration: none;
    color: black;
    }
    nav ul li a:hover{
    background-color:#ccc;
    border-bottom: 5px solid #ccc;
    }
    nav ul li.current{
    font-weight: bold;
    }
    nav ul li.current a{
    border-bottom: 5px solid #00B0F0;
    color: #00B0F0;
    }
    .a2{
        width: 30%;
        height: 30%;
        margin:0 auto;
        text-align: center;
    }
    .a3{
        text-align: center;  
      }
    figure {
    position: relative;
    display: inline-block;
    margin-right: 20px;
    width: 400px;
    }
    figure img {
    max-width: 100%;
    vertical-align: top;
    }
    figure figcaption {
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 5px 10px;
    font-size: 86%;
    color: #fff;
    }
      .comparison-table-wrap{
        width:100%;
        max-width:600px;
        margin: 0 auto 2em;
        box-shadow: 0 1px 2px rgba(0,0,0,0.1);
      }
      .comparison-table-title{
        background : linear-gradient(90deg, rgba(71, 206, 255, 1) 0%, rgba(56, 224, 248, 1) 100%);
        text-align: center;
         color: #fff;
         font-weight: bold;
         padding: 1em;
         letter-spacing: 1px;
        margin: 0;
        font-size:14px;
        box-shadow: 0 2px 5px rgba(100,100,100,0.1);
      }
      .comparison-table table{
        border-collapse: separate;
        border-spacing:5px 10px;
        border:none;
        margin-bottom: 0;
      }
      .comparison-table table th,.comparison-table table td {
        width:50%;
      }
      .comparison-table table thead th{
        background : #fff;
        border:none;
        color:#fff;
        box-shadow: 0 2px 5px rgba(100,100,100,0.1);
        padding: 0.8em 0.5em;
        line-height: 1.5;
        border-radius: 3px;
        font-size: 14px;
        text-align: center;
      }
      .comparison-table table tbody th{
        background : linear-gradient(90deg, #ccc(71, 206, 255, 1) 0%, rgba(56, 224, 248, 1) 100%);
        text-align: center;
        color:black;
        border:none;
        border-radius:30px;
        box-shadow: 0 2px 5px rgba(0,0,0,0.2);
        padding: 0.4em 1em;
        font-size: 14px;
        line-height: 1.3;
      }
      .comparison-table table tbody td{
        background:#fff;
        box-shadow: 0 2px 5px rgba(100,100,100,0.1);
        border-radius:3px;
        border:none;
        padding:0.6em;
        color: #555;
        line-height: 1.5;
        text-align:justify;
        vertical-align:top;
      }
      .comparison-table table tbody td p{
        margin:0;
        padding:0;
        margin-bottom:1em;
        font-size: 14px;
      }
      .comparison-table table tbody td .td-h{
        text-align:center;
        font-weight:bold;
        color:#33ccff;
        font-size: 16px;
        margin-bottom:7px;
      }
      table {
        margin: 3px auto;    /* 上下3px 左右auto */
    }
    .a12{
      border-bottom: solid 3px black;
    }
    .a11{
        text-align: center;
    }
    .star{
      color: red;
    }
    .btn-flat-border {
      display: inline-block;
      padding: 0.3em 1em;
      text-decoration: none;
      color: #67c5ff;
      border: solid 2px #67c5ff;
      border-radius: 3px;
      transition: .4s;
    }
    
    .btn-flat-border:hover {
      background: #67c5ff;
      color: white;
    }
    nav{
    border-bottom: 1px solid #ccc;
    }
    .a2{
        width: 15%;
        height: 15%;
        margin:0 auto;
        text-align: center;
    }
    .a3{
        text-align: center;  
      }
      .a5{
        width: 0%;
        height: 0%;
        margin:0 auto;
        text-align: center;
    }
    .a4{
        width: 0%;
        height: 0%;
        text-align: center;   
        margin:0 auto;
    }
    .a5 img {
        width: 100%;
        }
        SSのコード例
    figure {
    position: relative;
    display: inline-block;
    margin-right: 20px;
    width: 400px;
    }
    figure img {
    max-width: 100%;
    vertical-align: top;
    }
    figure figcaption {
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 5px 10px;
    font-size: 86%;
    color: #fff;
    }
    .a7{
        background: #fcfcfc;/*背景色*/
        padding: 0.5em 0.5em 0.5em 2em;/*ボックス内の余白*/
        border: solid 3px red;/*線の種類 太さ 色*/
        text-align: center;
        margin-left:auto;
        margin-right:auto;
        width: 20%;
        height: 20%;
      }
      
      .a6{
        line-height: 1.5; /*文の行高*/
        padding: 0.5em 0; /*前後の文との余白*/
        text-align: center;
      }
      .a8{
          color: red;
          text-align: center;
      }
      .a9{
          color: blue;
          text-decoration: none;
          text-align: center;
      }
      .a10{
        opacity: 0.5; 
        text-align: center;
      }
      .a15{
        text-align: center;
      }
      .comparison-table-wrap{
        width:100%;
        max-width:600px;
        margin: 0 auto 2em;
        box-shadow: 0 1px 2px rgba(0,0,0,0.1);
      }
      .comparison-table-title{
        background : linear-gradient(90deg, rgba(71, 206, 255, 1) 0%, rgba(56, 224, 248, 1) 100%);
        text-align: center;
         color: #fff;
         font-weight: bold;
         padding: 1em;
         letter-spacing: 1px;
        margin: 0;
        font-size:14px;
        box-shadow: 0 2px 5px rgba(100,100,100,0.1);
      }
      .comparison-table table{
        border-collapse: separate;
        border-spacing:5px 10px;
        border:none;
        margin-bottom: 0;
      }
      .comparison-table table th,.comparison-table table td {
        width:50%;
      }
      .comparison-table table thead th{
        background : #fff;
        border:none;
        color:#fff;
        box-shadow: 0 2px 5px rgba(100,100,100,0.1);
        padding: 0.8em 0.5em;
        line-height: 1.5;
        border-radius: 3px;
        font-size: 14px;
        text-align: center;
      }
      .comparison-table table tbody th{
        background : linear-gradient(90deg, #ccc(71, 206, 255, 1) 0%, rgba(56, 224, 248, 1) 100%);
        text-align: center;
        color:black;
        border:none;
        border-radius:30px;
        box-shadow: 0 2px 5px rgba(0,0,0,0.2);
        padding: 0.4em 1em;
        font-size: 14px;
        line-height: 1.3;
      }
      .comparison-table table tbody td{
        background:#fff;
        box-shadow: 0 2px 5px rgba(100,100,100,0.1);
        border-radius:3px;
        border:none;
        padding:0.6em;
        color: #555;
        line-height: 1.5;
        text-align:justify;
        vertical-align:top;
      }
      .comparison-table table tbody td p{
        margin:0;
        padding:0;
        margin-bottom:1em;
        font-size: 14px;
      }
      .comparison-table table tbody td .td-h{
        text-align:center;
        font-weight:bold;
        color:#33ccff;
        font-size: 16px;
        margin-bottom:7px;
      }
      table {
        margin: 3px auto;    /* 上下3px 左右auto */
    }
    .a12{
      border-bottom: solid 3px black;
    }
    .a11{
        text-align: center;
        text-decoration: none;
    }
    .star{
      color: red;
    }
    .btn-flat-border {
      display: inline-block;
      padding: 0.3em 1em;
      text-decoration: none;
      color: #67c5ff;
      border: solid 2px #67c5ff;
      border-radius: 3px;
      transition: .4s;
    }
    
    .btn-flat-border:hover {
      background: #67c5ff;
      color: white;
    }
    .bb{
      text-align: center;
      padding: auto;
      border-left: auto solid #67c5ff;
      background: #f4f4f4;
      width: 20%;
      margin:0 auto;
      color: #67c5ff;
    }
    .a14{
      font-size: 0%;
  }
  }
  @media screen and (max-width:768px) {
    .bba{
        text-align: center;
        padding: 1rem 2rem;
        border-left: 5px solid #67c5ff;;
        background: #f4f4f4;
        width: 70%;
        margin:0 auto;
        color: black;
    }
    .bb{
        text-align: center;
        padding: 1rem 2rem;
        border-left: 5px solid #67c5ff;;
        background: #f4f4f4;
        width: 70%;
        margin:0 auto;
        color: #00B0F0;
    }
    .re32{
        color: #33ccff;
    }
    nav{
    border-bottom: 1px solid #ccc;
    }
    nav ul{
    display: table;
    margin: 0 auto;
    padding: 0;
    width: 100%;
    text-align: center;
    }
    nav ul li{
    display: table-cell;
    min-width: 50px;
    border-right: 1px solid #ccc;
    }
    nav ul li:first-child{
    border-left: 1px solid #ccc;
    }
    nav ul li a{
    display: block;
    width: 100%;
    padding: 10px 0;
    text-decoration: none;
    color: black;
    }
    nav ul li a:hover{
    background-color:#ccc;
    border-bottom: 5px solid #ccc;
    }
    nav ul li.current{
    font-weight: bold;
    }
    nav ul li.current a{
    border-bottom: 5px solid #00B0F0;
    color: #00B0F0;
    }
    .a2{
        width: 30%;
        height: 30%;
        margin:0 auto;
        text-align: center;
    }
    .a3{
        text-align: center; 
      }
      .a4{
        width: 100%;
        height: 100%;
        margin:0 auto;
        text-align: center;
    }
    .a5{
        position: relative;
        text-align: center; 
    }
    .a5 p{
        position: absolute;
        top: 50%;
        left: 50%;
        -ms-transform: translate(-50%,-50%);
        -webkit-transform: translate(-50%,-50%);
        transform: translate(-50%,-50%);
        margin:0;
        padding:0;
        color: white;
    }
    .a5 img {
        width: 100%;
        }
    .a6{
        line-height: 1.5; /*文の行高*/
        padding: 0.5em 0; /*前後の文との余白*/
    }
    .a7{
        background: #fcfcfc;/*背景色*/
        padding: 0.5em 0.5em 0.5em 2em;/*ボックス内の余白*/
        border: solid 3px red;/*線の種類 太さ 色*/
    }
     .a8{
        color: red;
        }
     .a9{
       color: blue;
      text-decoration: none;
    }
      .a10{
       opacity: 0.5; 
    }
    .a11{
      text-align: center;
    } 
    .a12{
      border-bottom: solid 3px black;
    }
    .a14{
      font-size: 100%;
    }
    .a16{
      width: 0%;
      height: 0%;
      margin:0 auto;
      text-align: center;
    }
   .a17{
      width: 0%;
      height: 0%;
      text-align: center;   
      margin:0 auto;
   }
  figure {
  position: relative;
  display: inline-block;
  margin-right: 20px;
  width: 400px;
  }
  figure img {
    max-width: 100%;
    vertical-align: top;
  }
  figure figcaption {
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 5px 10px;
    font-size: 86%;
    color: #fff;
    }
  .comparison-table-wrap{
    width:100%;
    max-width:600px;
    margin: 0 auto 2em;
    box-shadow: 0 1px 2px rgba(0,0,0,0.1);
    }
      .comparison-table-title{
        background : linear-gradient(90deg, rgba(71, 206, 255, 1) 0%, rgba(56, 224, 248, 1) 100%);
        text-align: center;
         color: #fff;
         font-weight: bold;
         padding: 1em;
         letter-spacing: 1px;
        margin: 0;
        font-size:14px;
        box-shadow: 0 2px 5px rgba(100,100,100,0.1);
      }
      .comparison-table table{
        border-collapse: separate;
        border-spacing:5px 10px;
        border:none;
        margin-bottom: 0;
      }
      .comparison-table table th,.comparison-table table td {
        width:50%;
      }
      .comparison-table table thead th{
        background : #fff;
        border:none;
        color:#fff;
        box-shadow: 0 2px 5px rgba(100,100,100,0.1);
        padding: 0.8em 0.5em;
        line-height: 1.5;
        border-radius: 3px;
        font-size: 14px;
        text-align: center;
      }
      .comparison-table table tbody th{
        background : linear-gradient(90deg, #ccc(71, 206, 255, 1) 0%, rgba(56, 224, 248, 1) 100%);
        text-align: center;
        color:black;
        border:none;
        border-radius:30px;
        box-shadow: 0 2px 5px rgba(0,0,0,0.2);
        padding: 0.4em 1em;
        font-size: 14px;
        line-height: 1.3;
      }
      .comparison-table table tbody td{
        background:#fff;
        box-shadow: 0 2px 5px rgba(100,100,100,0.1);
        border-radius:3px;
        border:none;
        padding:0.6em;
        color: #555;
        line-height: 1.5;
        text-align:justify;
        vertical-align:top;
      }
      .comparison-table table tbody td p{
        margin:0;
        padding:0;
        margin-bottom:1em;
        font-size: 14px;
      }
      .comparison-table table tbody td .td-h{
        text-align:center;
        font-weight:bold;
        color:#33ccff;
        font-size: 16px;
        margin-bottom:7px;
      }
      table {
        margin: 3px auto;    /* 上下3px 左右auto */
    }
    .star{
      color: red;
    }
    .btn-flat-border {
      display: inline-block;
      padding: 0.3em 1em;
      text-decoration: none;
      color: #67c5ff;
      border: solid 2px #67c5ff;
      border-radius: 3px;
      transition: .4s;
    }
    
    .btn-flat-border:hover {
      background: #67c5ff;
      color: white;
    }

    .star{
      color: red;
    }
    .btn-flat-border {
      display: inline-block;
      padding: 0.3em 1em;
      text-decoration: none;
      color: #67c5ff;
      border: solid 2px #67c5ff;
      border-radius: 3px;
      transition: .4s;
    }
    
    .btn-flat-border:hover {
      background: #67c5ff;
      color: white;
    }
  }