* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
a:link,
a:visited {
  color: #3b3b3b;
  text-decoration: underline;
}
a:hover {
  color: #808080;
}
html {
  font-family: "Helvetica", "Arial", sans-serif;
  font-size: 15px;
}
html body {
  min-height: 100vh;
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position-y: 0px;
  background-position-x: center;
  background-size: 100% auto;
}
html body main {
  display: block;
  margin-inline: auto;
  width: 1240px;
  max-width: 95vw;
  padding-top: 10em;
}
html body main .content {
  min-height: 85vh;
  box-shadow: 0px 0px 30px 8px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 0px 0px 30px 8px rgba(0, 0, 0, 0.5);
  background-color: #ffffff;
  position: relative;
  display: flex;
  flex-direction: column;
}
html body main .content > div {
  flex-grow: 0;
}
html body main .content > div.main {
  flex-grow: 1;
}
.main {
  margin: 2em 2em 1em;
  flex-grow: 1;
}
.main .text:not(:last-of-type) {
  margin-bottom: 3em;
}
.main .text::after {
  content: "";
  display: block;
  clear: both;
}
.main p {
  line-height: 1.5em;
}
.main p:not(:last-of-type) {
  margin-bottom: 3em;
}
.hover-image {
  -webkit-box-shadow: 0px 0px 5px 3px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 5px 3px rgba(0, 0, 0, 0.3);
  padding: 1em;
  margin: 0 2em 1em 2em;
  border: solid 1px #cccccc;
  display: inline-block;
  max-width: 30%;
}
.hover-image.right {
  float: right;
  margin-right: 0;
}
.hover-image.left {
  float: left;
  margin-left: 0;
}
.hover-image img {
  max-width: 100%;
}
.google-adsense.responsive {
  margin-block: 2em;
}
@media (max-width: 768px) {
  html {
    font-size: 14px;
  }
  html body main {
    max-width: 100vw;
    width: 100%;
    padding-top: 8em;
  }
  .content .main {
    margin: 1em;
  }
  .content .main .hover-image {
    max-width: 40%;
    padding: 0.5em;
  }
  .content .main .hover-image.right,
  .content .main .hover-image.left {
    margin-inline: 0;
  }
  .content .main .hover-image.right {
    margin-left: 0.7em;
  }
  .content .main .hover-image.left {
    margin-right: 0.7em;
  }
  .content .main .hover-image img {
    width: 100%;
  }
  .google-adsense.responsive {
    margin-block-end: 0;
  }
}
