@media screen and (max-width: 430px) {
  body {
    width: 100%;
    transition-property: all;
    transition-duration: 0.3s;
  }
}

header {
  background-color: white;
  border-top: 10px solid #0062B1;
  text-align: center;
  padding: 30px 0;
}
@media screen and (max-width: 430px) {
  header {
    width: 100%;
    border-top: 5px solid #0062B1;
    padding: 15px 0;
    transition-property: all;
    transition-duration: 0.3s;
  }
}
header figure {
  max-width: 58.14%;
  height: auto;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
header figure img {
  width: 100%;
}

footer {
  border-top: 1px solid #CCC;
  padding: 8% 0;
}
footer img {
  width: 100%;
}

#kv {
  background-image: url(../images/kv-bg.jpg);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  width: 100%;
  padding: 0 4.65%;
  position: relative;
  padding-bottom: 16%;
}
#kv h2 {
  padding-top: 150px;
  padding-bottom: 40px;
}
@media screen and (max-width: 430px) {
  #kv h2 {
    padding-bottom: 20px;
    padding-top: 75px;
    transition-property: all;
    transition-duration: 0.3s;
  }
}
#kv img {
  width: 100%;
}
#kv .kv-badge {
  margin-bottom: 0;
  position: absolute;
  z-index: 100;
}

#contents01, #contents02 {
  background-color: white;
  position: relative;
  z-index: 0;
  padding-top: 16%;
}
#contents01 img, #contents02 img {
  width: 100%;
}
#contents01 figure, #contents02 figure {
  margin: 0;
  padding: 0;
}
#contents01 h2, #contents02 h2 {
  margin: 0;
  padding: 0;
}
#contents01 p, #contents02 p {
  margin: -2px 0;
  padding: 0;
}

#contents02 {
  padding-top: 0;
}

#contents03 img {
  width: 100%;
}

#contents04 img {
  width: 100%;
}
#contents04 p {
  margin: -2px 0;
}

#contents05 img, #contents07 img {
  width: 100%;
}

#contents06 img {
  width: 100%;
}
#contents06 .cta-web {
  padding: 4% 0;
  margin: 0 8.5%;
  text-align: center;
  animation: shine 1s ease-in-out infinite;
  opacity: 0;
  animation-delay: 0.1s;
}

#cta01 h2, #cta02 h2 {
  margin: 0;
  padding: 0;
}
#cta01 p, #cta02 p {
  margin: -2px 0;
  padding: 0;
}
#cta01 img, #cta02 img {
  width: 100%;
}
#cta01 ol, #cta02 ol {
  padding: 0 8.5%;
  margin: 0;
  background-size: 100%;
  background-image: url(../images/cta-bg.jpg);
  background-position: center;
  background-repeat: repeat-y;
}
#cta01 li, #cta02 li {
  padding: 4% 0;
  animation: shine 1s ease-in-out infinite;
  opacity: 0;
}
#cta01 li:nth-child(1), #cta02 li:nth-child(1) {
  animation-delay: 0.1s;
}
#cta01 li:nth-child(2), #cta02 li:nth-child(2) {
  animation-delay: 0.4s;
}

@keyframes shine {
  0% {
    opacity: 0.5;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.5;
  }
}
#banner {
  background-color: #F5F2EA;
  text-align: center;
  padding-bottom: 4%;
}
#banner img {
  margin: 0 auto;
  width: 80%;
}