.check-question{
  display: none;
  grid-template-areas:
    "item"
    "back"
    "progress";
  gap: 16px;
  max-width: 800px;
  margin: 0 auto;
  border: 1px solid;
  padding: 15px;
}
.check-question.active{
  display: grid;
}
.check-question-item{
  grid-area: item;
  visibility: hidden;
  opacity: 0;
}
.check-question-item.active{
  visibility: visible;
  opacity: 1;
}
.check-question-num{
  margin-bottom: 16px;
  font-size: 36px;
  font-weight: bold;
  line-height: 1.2;
}
.check-question-q{
  margin-bottom: 16px;
  font-size: 16px;
}
.check-question-q p{
  margin-bottom: 8px;
  font-size: inherit;
}
.check-question-q ul li{
  list-style: disc;
  margin: 0 0 4px 1em;
}
.check-question-a{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 4%;
}
.check-question-button{
  width: 48%;
  border: 1px solid #111;
  border-radius: 4px;
  padding: 8px 0;
  background-color: #fff;
  line-height: 1.4;
  cursor: pointer;
  transition: .3s ease-in-out;
}
.check-question-button:hover{
  background-color: #111;
  color: #fff;
}
.check-question-back{
  display: none;
  width: fit-content;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  background-color: #ccc;
  line-height: 1.4;
  cursor: pointer;
  transition: .3s ease-in-out;
}
.check-question-back.active{
  display: block;
}
.check-question-back:hover{
  opacity: .8;
}
.check-question-progress{
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
}
.check-question-progress-bar{
  flex: 1 1 120px;
  height: 4px;
  border-radius: 4px;
  background: #f5f5f5 linear-gradient(#111, #111) 0 0/20% no-repeat;
  transition: background-size .2s;
}
.check-question-progress-num{
}

.check-goal{
  /* display: hidden はswiperが動かなくなるので回避 */
  height: 0;
  overflow: hidden;
}
.check-goal.active{
  height: auto;
}
.check-goal-item{
  display: none;
}
.check-goal-item.active{
  display: block;
  max-width: 800px;
  margin: 0 auto;
  border: 1px solid;
  padding: 15px;
}
.check-goal-item .check-goal-level{
  width: fit-content;
  margin: 0 auto 16px;
  font-size: 20px;
  font-weight: bold;
}
.check-goal-level span{
  margin-left: .1em;
  font-size: 160%;
}
.check-goal-level::after{ /* #level1 */
  content: '';
  display: block;
  width: 95%;
  height: 8px;
  margin: 0 auto;
  background-image: linear-gradient(to right,
  #ffe600 22%, transparent 22%, transparent 25%,
    #eee 25%, #eee 47%, transparent 47%, transparent 50%,
    #eee 50%, #eee 72%, transparent 72%, transparent 75%,
    #eee 75%, #eee 97%, transparent 99%);
}
#level2 .check-goal-level::after{
  background-image: linear-gradient(to right,
  #edad0b 22%, transparent 22%, transparent 25%,
    #edad0b 25%, #edad0b 47%, transparent 47%, transparent 50%,
    #eee 50%, #eee 72%, transparent 72%, transparent 75%,
    #eee 75%, #eee 97%, transparent 99%);
}
#level3 .check-goal-level::after{
  background-image: linear-gradient(to right,
  #da5019 22%, transparent 22%, transparent 25%,
    #da5019 25%, #da5019 47%, transparent 47%, transparent 50%,
    #da5019 50%, #da5019 72%, transparent 72%, transparent 75%,
    #eee 75%, #eee 97%, transparent 99%);
}
#level4 .check-goal-level::after{
  background-image: repeating-linear-gradient(to right, #bf1e56, #bf1e56 22%, transparent 22%, transparent 25%);
}
.check-goal-level-answer{
  width: fit-content;
  margin: 20px auto;
  font-size: 16px;
}
.check-goal-level-answer p{
  margin-bottom: 8px;
  font-size: inherit;
}
.check-goal-level-answer ul li{
  list-style: disc;
  margin: 0 0 4px 1em;
}

h2.check-video-title{
  margin: 2em 0 2em !important;
  font-size: 22px !important;
  text-align: center;
}
.check-video{
  position: relative;
  font-size: min(2.58vw, 10px);
  width: 30em;
  margin: 40px auto 0;
}
.check-video .swiper{
  width: 30em;
  height: 53.3em;
  overflow: hidden;
}
.check-video-prev,
.check-video-next{
  position: absolute;
  z-index: 1;
  margin: auto;
  width: 30px;
  aspect-ratio: 1/1;
}
.check-video-prev::after,
.check-video-next::after{
  content: '';
  display: block;
  position: absolute;
  margin: auto;
  width: 60%;
  aspect-ratio: 1/1;
  border-top: 1px solid #111;
  border-left: 1px solid #111;
}
.check-video-prev{
  inset: 0 auto 0 -30px;
}
.check-video-next{
  inset: 0 -30px 0 auto;
}
.check-video-prev::after{
  inset: 0 0 0 32%;
  transform: rotate(315deg);
}
.check-video-next::after{
  inset: 0 32% 0 0;
  transform: rotate(135deg);
}
.check-video video{
  max-width: 100%;
  max-height: 100%;
}
@media screen and (min-width: 768px) {
  .check-question{
    padding: 5.55%;
  }
  .check-question-num{
    text-align: center;
  }
  .check-question-q{
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
  .check-question-a{
    gap: 15px 2%;
  }
  .check-question-button{
    width: 32%;
  }
  .check-goal.active{
    padding: 5.55%;
  }
  h2.check-video-title{
    font-size: 32px !important;
  }
  .check-video{
    width: 80vw;
  }
  .check-video .swiper{
    width: 80vw;
    height: 44.4vw;
  }
  .check-video .swiper-slide ,
  .check-video .swiper-slide-duplicate{
    transform: scale(0.8);
    transform-origin: bottom;
    transition: .4s;
  }
  .check-video .swiper-slide-active,
  .check-video .swiper-slide-duplicate-active {
    transform: scale(1);
  }
  .check-video .swiper-slide-active ~ .swiper-slide,
  .check-video .swiper-slide-active ~ .swiper-slide-duplicate {
    transform: scale(0.8);
  }
  .check-video-prev,
  .check-video-next{
    width: 4.2%;
  }
  .check-video-prev{
    left: 30%;
  }
  .check-video-next{
    right: 30%;
  }
}
@media screen and (min-width: 1025px) {
  .check-video{
    width: 67.1vw;
    max-width: 960px;
  }
  .check-video .swiper{
    width: 67.1vw;
    max-width: 960px;
    height: 42.8vw;
    max-height: 533px;
  }
}