html {
  touch-action: manipulation;
  color: #333;
  font-family: "Kosugi Maru", sans-serif;
  font-size: 16px;
  font-weight: 500;
}

body {
  margin: 0;
  cursor: url(cursor.png);
  background-color: #fff;
  -webkit-text-size-adjust: 100%;
}

h1 {
  font-size: 1.9em;
  font-weight: 300;
  letter-spacing: 0.1em;
}

article {
  display: block;
  position: static;
  width: 84%;
  max-width: 767px;
  min-height: 768px;
  z-index: 4;
  margin: 4rem auto 4rem auto;
  padding: 0;
}

article h1 {
  margin: 0;
  padding: 1.2em 0 1em 0;
}

article p {
  margin: 0;
  padding: 0 0 1.6em 0;
  line-height: 1.8em;
}

.cardinfo {
  display: block;
  overflow: auto;
  margin: 32px 0 64px 0;
  clear: both;
}

.card {
  display: block;
  border-width: 1px;
  border-style: solid;
  border-color: #ddd;
}

.info {
  display: block;
}

@media screen and (max-width: 511px) {
  .card {
    width: 66%;
    margin: 6% auto 6% auto;
  }

  .info img {
    float: right;
    margin: 0 6% 6% 6%;
    width: 33%;
    max-width: 180px;
  }
}

@media screen and (min-width: 512px) {
  .card {
    display: block;
    width: 47%;
    max-width: 260px;
    float: left;
    margin-right: 3%;
    border-width: 1px;
    border-style: solid;
    border-color: #ddd;
  }

  .info img {
    float: left;
    margin: 0 3% 3% 0;
    width: 21%;
    min-width: 120px;
  }
}