body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-weight: normal; }

body {
  overflow-x: hidden; }

table {
  border-collapse: collapse; }

fieldset, img {
  border: 0; }

img {
  vertical-align: bottom; }

a img {
  text-decoration: none; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

ol, ul {
  list-style: none; }

th, caption {
  text-align: left; }

img {
  width: auto;
  height: auto;
  /*max-width: 100%;*/ }

article, aside, canvas, details, figcaption, figure,
header, footer, main, menu, nav, section, summary {
  display: block; }

sub, sup {
  font-size: 80%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.2em;
  color: #363636; }

/*@media screen and (min-width: 769px){*/
#wrapper {
  min-width: 1200px; }

#pc_footer.forPC {
  display: block !important; }

#sp_footer.forSP {
  display: none !important; }

.flexbox {
  display: flex;
  justify-content: space-between;
  align-items: center; }

/*module*/
@media screen and (max-width: 768px) {
  img {
    max-width: 100%; } }
.mv {
  text-align: center;
  background: #D5DADE;
  text-align: center;
  padding: 65px 0 30px;
  margin-bottom: 90px; }
  .mv .logo {
    margin-bottom: 70px; }
  .mv .txt {
    margin-bottom: 95px; }
  .mv .mv_img {
    margin-bottom: 50px; }
  .mv .caution {
    font-size: 12px;
    color: #717071; }
  .mv img {
    max-width: 100%; }
  @media screen and (max-width: 768px) {
    .mv {
      margin-bottom: 40px;
      padding-bottom: 50px; }
      .mv .logo {
        margin-bottom: 25px; }
      .mv .mv_img {
        margin-bottom: 30px; }
      .mv .txt {
        margin-bottom: 50px; }
      .mv .caution {
        padding: 0 15px;
        text-align: left;
        line-height: 180%;
        text-indent: -1.5em;
        margin-left: 1.5em; } }

.concept {
  text-align: center;
  margin-bottom: 75px; }
  @media screen and (max-width: 768px) {
    .concept {
      margin-bottom: 100px; } }

.evidence {
  max-width: 1100px;
  margin: 0 auto 120px;
  display: flex;
  justify-content: space-between;
  color: #414549; }
  @media screen and (max-width: 768px) {
    .evidence {
      flex-direction: column;
      margin-bottom: 0; } }
  .evidence .evi01, .evidence .evi02 {
    width: calc(50% - 25px); }
    @media screen and (max-width: 768px) {
      .evidence .evi01, .evidence .evi02 {
        width: 100%;
        margin-bottom: 80px; } }
  @media screen and (max-width: 768px) {
    .evidence .evi02 {
      margin-bottom: 30px; } }
  .evidence h3 {
    margin-bottom: 10px; }
    @media screen and (max-width: 768px) {
      .evidence h3 {
        padding: 0 20px; } }
  .evidence h3.ev2 {
    text-align: right; }
    @media screen and (max-width: 768px) {
      .evidence h3.ev2 {
        text-align: left; } }
  .evidence .lead {
    padding: 23px 0 20px; }
    @media screen and (max-width: 768px) {
      .evidence .lead {
        text-align: center; } }
  .evidence .txt {
    font-size: 16px;
    line-height: 180%;
    margin-bottom: 20px; }
    @media screen and (max-width: 768px) {
      .evidence .txt {
        padding: 0 15px; } }
  .evidence .testimage {
    margin-bottom: 18px; }
    @media screen and (max-width: 768px) {
      .evidence .testimage {
        padding: 0 15px; } }
  .evidence .test_flex {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px; }
    @media screen and (max-width: 768px) {
      .evidence .test_flex {
        display: block; } }
    .evidence .test_flex div {
      width: calc(50% - 12px);
      text-align: right; }
      @media screen and (max-width: 768px) {
        .evidence .test_flex div {
          width: 250px;
          margin: 0 auto; } }
      .evidence .test_flex div span {
        display: block;
        font-size: 14px;
        margin-top: 10px; }
        @media screen and (max-width: 768px) {
          .evidence .test_flex div span {
            margin: 10px 0; } }
  .evidence .caution {
    font-size: 12px;
    text-indent: -1em;
    margin-left: 1em;
    line-height: 180%;
    letter-spacing: -0.5px; }
    @media screen and (max-width: 768px) {
      .evidence .caution {
        padding: 0 15px; } }
  .evidence .virus_flex {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px; }
    @media screen and (max-width: 768px) {
      .evidence .virus_flex {
        flex-direction: column-reverse;
        margin-bottom: 20px; } }
    .evidence .virus_flex div:first-child {
      width: calc(100% - 315px); }
      @media screen and (max-width: 768px) {
        .evidence .virus_flex div:first-child {
          width: 100%; } }
    .evidence .virus_flex div:last-child {
      width: 300px; }
      @media screen and (max-width: 768px) {
        .evidence .virus_flex div:last-child {
          width: 100%;
          text-align: center;
          margin-bottom: 20px; } }
    .evidence .virus_flex div span {
      display: block;
      font-size: 14px;
      margin-top: 10px;
      text-align: right;
      padding-right: 20px; }

.cta {
  text-align: center;
  padding: 70px 0;
  background: #DDE0E3; }
  .cta a {
    display: inline-block;
    width: 390px;
    max-width: 100%;
    background: #fff;
    padding: 25px 0;
    transition: 0.15s ease-in; }
    .cta a:hover {
      opacity: 0.6; }

#inpage_wrapper {
  border-top: 1px solid #C2C2C2; }

@media screen and (max-width: 768px) {
  .pc {
    display: none !important; } }
@media screen and (min-width: 769px) {
  .sp {
    display: none !important; } }
/*@media screen and (min-width: 951px) {}
@media screen and (min-width:769px) and (max-width:950px) { }*/
