@charset "utf-8";

.lp {
  max-width: 750px;
  width: 100%;
  margin: 0 auto;
  background-color: #fff;
  line-height: 1.5;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, arial, sans-serif;
}

.lp img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.lp a:hover {
  opacity: 0.8;
}

.kaizen_contents img {
  margin-bottom: 0;
}

.kaizen_contents img:last-of-type {
  margin-bottom: 0;
}

.copy {
  text-align: right;
}

.copy01 {
  margin-right: 32px;
}

.copy02 {
  margin-right: 64px;
}

@media (max-width: 768px) {
  .copy01 {
    margin-right: calc(32 / 768 * 100vw);
  }

  .copy02 {
    margin-right: calc(64 / 768 * 100vw);
  }
}

.option {
  cursor: pointer;
  width: min(688px, 91.733333333333333vw);
  margin: auto;
}

.option:nth-child(1),
.option:nth-child(2) {
  margin: 0 auto min(30px, 4vw);
}

.option2 {
  cursor: pointer;
  width: min(688px, 91.733333333333333vw);
  margin: auto;
}

.option2:nth-child(1),
.option2:nth-child(2) {
  margin: 0 auto min(30px, 4vw);
}

.option2:nth-child(2) {
  margin-bottom: 0;
}

/* ===== チェック画像を重ねる基準 ===== */
.check_content {
  position: relative;
  width: 100%;
}

.check_content > img {
  width: 100%;
  display: block;
}

/* ===== チェック画像（check.webp）===== */
.check-icon {
  display: none;
  position: absolute;
  left: 10.1%;
  top: 9.5%;
  width: min(30px, 4vw);
  transform: translate(-50%, -50%);
  z-index: 10;
}

.check-icon img {
  width: 100%;
  height: auto;
  display: block;
}

/* 選択時に表示 */
.option.selected .check-icon,
.option2.selected .check-icon {
  display: block;
  animation: checkPop 0.35s ease-out;
}

@keyframes checkPop {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.5);
  }
  60% {
    transform: translate(-50%, -50%) scale(1.15);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

.content {
  display: none;
}

.btn_content {
  display: none;
  position: relative;
}

.btn_content.show {
  display: block;
  animation: btnFadeIn 1.2s ease-out;
}

@keyframes btnFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.btn_content .button {
  position: absolute;
  left: 50%;
  bottom: 8%;
  transform: translateX(-50%);
  width: 90%;
  margin: 0;
}

.btn_content .button img {
  width: 100%;
}