body {
  position: relative;
  margin: 0;
  padding: 55px 0 60px;
  background: url(../img/img-main-visual.png) 0 0 no-repeat;
  background-size: cover;
}

header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 55px;
  background: #000;
}
header .logo {
  padding: 5px 30px;
  height: 55px;
}
header .logo img {
  width: auto; 
  height: 100%;
}

main {
  min-height: calc(100vh - 115px);
  width: 100%;
  background: rgba(255,255,255,.7);
}
main .bg {
  margin: 0 auto;
  padding: 70px 0 20px;
  width: 80%;
}
main .bg,
main .bg h1 {
  text-align: center;
}
main .bg h1 {
  margin: 0 0 2em;
  padding: 0 0 1em;
  border-bottom: 1px solid #323b4a;
}
main .bg p {
  display: inline-block;
  text-align: left;
  font-size: 1.6rem;
}
main .bg dl {
  margin: 1em auto;
}
main .bg dl,
main .bg dl dt {
  width: 100%;
  text-align: center;
}
main .bg dl dt {
  font-weight: bold; 
  font-size: 2rem;
}
main .bg dl dd,
main .bg dl dt {
  display: inline-block;
  margin: 1rem 0;
}
main .bg dl dd {
  text-align: left; 
  font-size: 1.6rem;
}
main .bg dl dd span {
  color: #ea3b3f;
  font-size: 1.4rem;
}

footer {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60px;
  background: #000;
}
footer .copy {
  color: #fff; 
  text-align: center;
}