@media screen and (max-width: 767px) {
  /* ------ common ---*/
  span {
    font-size: 1.1rem;
    line-height: 1.2;
  }

  p {
    font-size: 1rem;
  }

  h2 {
    font-size: 1.2rem;
  }

  h3 {
    font-size: 1.2rem;
  }

  h4 {
    font-size: 1rem;
  }

  .pc {
    display: none;
  }

  article {
    width: 100%;
  }

  .notes_name {
    text-align: left;
  }

  /* ------ content ---*/
  .content {
    padding: 1em 5vw;
  }

  /* ------ main ---*/
  .review_content {
    padding-left: 2vw;
    padding-right: 2vw;
  }

  .review img {
    width: 100%;
    vertical-align: top;
    float: left;
    padding: 0;
    margin: 0px 0px 10px 0px;
  }

  .review a {
    font-size: 1rem;
  }

  .review .subhead .name {
    font-size: 1.3rem;
  }
  .review .subhead .profession {
    font-size: 1rem;
  }
  .review p {
    font-size: 1rem;
    line-height: 1.6;
  }
  .review p span {
    font-size: 1rem;
  }

  /* ------ trial ---*/
  .cv1st {
    margin: 2.4em 0;
  }

  .cv1st a {
    width: 100%;
  }

  #trial a.link_official {
    font-size: 1.2rem;
  }

  /* ------ related ---*/
  #related {
    margin-bottom: 2.4em;
  }

  #related li span.im {
    padding-right: 2vw;
  }

  #related li span.im img {
    width: 25vw;
    padding-right: 2vw;
  }

  #related a span {
    font-size: 1rem;
    line-height: 1.5;
  }

  /* ------ contact ---*/
  .contact {
    font-size: 0.9rem;
  }

  /* ------ footer ---*/
  footer {
    font-size: 0.7rem;
  }

  video {
    max-width: 100%;
    width: 100%;
    height: auto;
  }

  .cta {
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding-top: 20px;
    border: none;
    width: 100%;
  }

  .cta2 {
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding: 0 0 10px 0;
    border: none;
    width: 100%;
  }
}
