@media screen and (min-width: 768px) {
  .hg-sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .hg-pc {
    display: none !important;
  }
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.hg-copyright {
  padding: 1.5em 0.5em;
  color: #0054a6;
  text-align: center;
  font-size: 1.2rem;
}

main.hg-main {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  display: block;
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  main.hg-main {
    width: 1920px;
  }
}
@media screen and (max-width: 767px) {
  main.hg-main {
    padding-bottom: 9.2592592593vw;
    width: 100%;
  }
}
main.hg-main .hg-mv {
  overflow: hidden;
}
main.hg-main .hg-mv > * {
  display: block;
}
main.hg-main .hg-mv > * img {
  display: block;
  width: 100%;
}
@media screen and (max-width: 767px) {
  main.hg-main .hg-mv > *.hg-n2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  main.hg-main .hg-mv > *.hg-n2 img {
    width: 105%;
    max-width: none;
  }
}
main.hg-main .hg-btn {
  display: block;
  max-width: 100%;
}
main.hg-main .hg-btn img {
  display: block;
  width: 100%;
}
main.hg-main .hg-btn:hover {
  opacity: 0.5;
}
@media screen and (min-width: 768px) {
  main.hg-main .hg-btn {
    margin-top: 23%;
    margin-left: 21%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 23.2291666667%;
    min-width: 23.2291666667%;
  }
}
@media screen and (max-width: 767px) {
  main.hg-main .hg-btn {
    margin-top: 9.2592592593vw;
    margin-left: auto;
    margin-right: auto;
    width: 81.6666666667vw;
  }
}