* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background: #fff;
}

.lp {
  max-width: 750px;
  margin: 0 auto;
  position: relative;
}

.img-wrap {
  position: relative;
  width: 100%;
}

.base-img {
  width: 100%;
  display: block;
}

.btn-area {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 86%;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.btn-area a {
  display: block;
  width: 100%;
}

.btn-area img {
  width: 100%;
  display: block;
}

/* ボタン位置 */

.btn-1 {
  bottom: 1%;
}

.btn-16 {
  bottom: 5%;
}

.btn-17 {
  bottom: 6%;
}

.btn-20 {
  bottom: 3%;
}

/* ボタンをふわふわ */

.btn-area a {
  display: block;
  width: 100%;
  animation: floatBtn 2s ease-in-out infinite;
  transition: opacity 0.3s ease;
}

.btn-area a:nth-child(2) {
  animation-delay: 0.3s;
}

.btn-area a:hover {
  opacity: 0.7;
}

@keyframes floatBtn {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-8px);
  }

  100% {
    transform: translateY(0);
  }
}

.footer {
  background: #009688;
  padding: 40px 20px;
}

.footer-nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.footer-nav a {
  color: #fff;
  font-size: 14px;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.footer-nav a:hover {
  opacity: 0.7;
}


/* info */
.info-page {
  background: #fff;
  color: #333;
}

.info-wrap {
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 20px;
}

.info-section + .info-section {
  margin-top: 80px;
}

.info-section h1 {
  font-size: 28px;
  margin-bottom: 32px;
  color: #009688;
}

.info-section dl {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.info-section dt {
  font-weight: bold;
  font-size: 16px;
  margin-bottom: -15px;
}

.info-section dd {
  line-height: 1.5;
}

.info-section a {
  color: #009688;
  word-break: break-all;
}
