html, body {
  width: 100vw;
  margin: 0;
}
section {
  text-align: center;
}

.content-wapper {
  width: 100%;
  min-height: 100vh;
  background-color: #fff;
}

.background {
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  position: fixed;
  background-position: center center;
  opacity: 0;
  background-color: #fff;
  -webkit-transition: all 0.8s ease 0s;
  -moz-transition: all 0.8s ease 0s;
    transition: all 0.8s ease 0s;
}

.show .background {
    opacity: 1;
}

.background-img {
  width: 100%;
  height: 100%;
  -webkit-background-size: cover;
          background-size: cover;
  opacity: .5;
}

.content-wapper .content {
    /* padding: 40vh 0 60vh; */
    position: relative;
    min-height: 100vh;
    z-index: 2;
}

#content-bg1 .background-img{
  background-image: url(../img/bg01.jpg);
}

#content-bg2 .background-img{
  background-image: url(../img/bg02.jpg);
}

#content-bg3 .background-img{
  background-image: url(../img/bg03.jpg);
}

.links {
  display: flex;
  margin: 20px auto 0;
  justify-content: center;
}
.links a {
  display: block;
  width: 218px;
  cursor: pointer;
}
.links a img {
  width: 100%;
}

@media all and (max-width: 750px) {
  .links a {
    width: 110px;
  }
}

/* コンテンツ */

.logo {
  display: flex;
  width: 100vw;
  height: 100vh;
  align-items: center;
  justify-content: center;
}

.logo h1 {
  display: block;
  margin: 0 auto;
  text-align: center;
}

.text-wapper:not(:first-child) {
  margin-top: 250px;
}

@media all and (max-width: 750px) {
  .text-wapper:not(:first-child) {
    margin-top: 30vh;
  }
}

.text-wapper img{
  display: block;
  margin: 0 auto;
}

.footer {
  position: absolute;
  bottom: 85px;
  width: 100vw;
}

@media all and (max-width: 750px) {
  .footer {
    bottom: 5vh;
  }
}

.pt250 {
  padding-top: 250px;
}

@media all and (max-width: 750px) {
  .pt250 {
    padding-top: 30vh;
  }
}

.mxw40 {
  max-width: 40vw;
}
.mxw60 {
  max-width: 60vw;
}

.mxw80 {
  max-width: 80vw;
}
