  .l_siteWrap.bg-trp .l_siteContents {
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
  }

  #selfcheck p,
  #selfcheck a,
  #selfcheck li{
    font-size: clamp(13px,3.5vw,14px);
  }

:root{
  --hpBar: 100%;
  --hpColor: #25bd8a;
}

.sp {
  display: block;
}

.pc {
  display: none;
}

#selfcheck p,
#selfcheck li,
#selfcheck a {
  font-size: clamp(13px, 88vw, 14px);
  line-height: 1.36;
  letter-spacing: 0.025em;
  font-weight: bold;
}

#selfcheck .font_normal{
  font-weight: normal;
}

#selfcheck .font_zen-kaku {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}

#selfcheck .caution {
  font-size: 12px;
  margin-top: 10px;
  font-weight: normal;
}

#selfcheck .red {
  color: #e84a57;
}

#selfcheck .link {
  color: #0f9ca7;
  font-weight: 700;

  &:hover {
    text-decoration: underline;
  }
}

#selfcheck .caution .link {
  font-size: 12px;
}

#selfcheck {
  h1,
  h2,
  h3,
  h4,
  h5 {
    line-height: 1.25;
  }
}

#selfcheck .text_center {
  text-align: center;
}

#selfcheck .text_margin {
  margin-bottom: 16px;
}

#selfcheck .strong {
  font-weight: 700;
}

#selfcheck .common_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  color: #fff;
  font-weight: 700;
  width: 270px;
  height: 50px;
  transition: 0.6s cubic-bezier(0.87, 0, 0.13, 1);
  position: relative;
}

#selfcheck .common_btn_blue{
  background-color: #0f9ca7;
  border: 2px solid #0f9ca7;
  &:hover {
    background-color: #fff;
    color: #0f9ca7;
  }
}

#selfcheck .common_btn_orange{
  background-color: #fa621b;
  border: 2px solid #fa621b;
  color: #fff;
  &:hover {
    background-color: #fff;
    color: #2d3636;
  }
}


#selfcheck .list {
  li {
    list-style-type: disc;
    margin-bottom: 16px;
    margin-left: 20px;
  }
}

#selfcheck .outer{
  background-color: #2d3636;
  width: 100%;
  height: 100%;
}

#selfcheck #ending{
  height: 80vh;
}

#selfcheck .stone_bg{
  background-image: url('/special/kickoff/selfcheck/images/stone_bg.webp');
  background-repeat: repeat;
  background-size: 30px 30px;
  width: 100%;
  height: 100%;
  .stone_bg_inner{
    padding: 16px 16px 64px;
  }
}

#selfcheck #ending .stone_bg{
  position: relative;
  &::before{
    content: '';
    background-color: transparent;
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    transition: background-color 1s cubic-bezier(0.87, 0, 0.13, 1);
  }
  &::after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    transition: background-color 1s cubic-bezier(0.87, 0, 0.13, 1);
  }
}

#selfcheck #ending .dialogue_box{
  position: absolute;
  bottom: 15%;
  left: 0;
  right: 0;
  z-index: 10;
  width: calc(100% - 32px);
  margin: 0 auto;
}

#selfcheck #ending .stone_bg_black{
  &::before{
    background-color: #2d3636;
  }
}

#selfcheck #ending .stone_bg_blue{
  &::before{
    background-color: #018fe5;
  }
}

#selfcheck #ending .stone_bg_white{
  &::before{
    background-color: #fff;
  }
}

#selfcheck #ending .last_scene{
  &::before{
    background-image: url('/special/kickoff/selfcheck/images/ending_bg.webp');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
}

#selfcheck #ending .cloud{
  position: relative;
  &::after{
    background-image: url('/special/kickoff/selfcheck/images/cloud.webp');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
    width: 100%;
    height: 100%;
  }
}

#selfcheck .dialogue_box{
  width: 100%;
  height: 100px;
  display: flex;
  align-items: center;
  padding: 16px 16px;
  background-color: #2d3636;
  border-radius: 6px;
  border: 3px solid #fff;
  color: #fff;
  line-height: 1.5;
  font-weight: bold;
  font-size: clamp(13px, 88vw, 14px);
  position: relative;
  z-index: 10;
}

/*このクラスは、class="dialogue_box"がclass="clickable"を持っているときのみ使用する。*/
.dialogue_arrow{
  position: relative;
  cursor: pointer;
  &::before{
    content: '';
    background-image: url('/special/kickoff/selfcheck/images/next_arrow.svg');
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    width: 16px;
    height: 9px;
    position: absolute;
    bottom: 8px;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 1;
    animation: blink 1s linear infinite;

  }
}

@keyframes blink {
  0%, 49.999% { opacity: 1; }
  50%, 100%   { opacity: 0; }
}

@keyframes attack_anime {
  0%{
    filter: brightness(3) contrast(900%) grayscale(1);
    transform: translateY(5px); 
  }
  30%{
    filter: brightness(0) contrast(0%); 
  }
  60%{
    filter: brightness(3) contrast(900%) grayscale(1);
    transform: translateY(-5px);
  }
  100%{
    filter: brightness(0) contrast(0%);     
  }
}

  #selfcheck .battle_wrapper{
    position: relative;
    .battle_scene{
      background-image: url('/special/kickoff/selfcheck/images/battle_bg_sp.webp');
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
      margin-bottom: 72px;
      width: 100%;
      height: 190px;
      .boss{
        max-width: max-content;
        margin: 0 auto;
        position: absolute;
        top: 36px;
        left: 0;
        right: 0;
        img{
          max-width: 170px;
        }
        .attack_anime{
          animation: attack_anime .3s ease 1;
        }
      }
      .boss_hp_block{
        width: 300px;
        position: absolute;
        bottom: 48px;
        left: 0;
        right: 0;
        margin: 0 auto;
        .flex{
          display: flex;
          align-items: center;
          .boss_hp{
            color: #fff;
            font-size: 12px;
            padding-right: 16px;
          }
          .hp_bar{
            width: 224px;
            height: 10px;
            border: 2px solid #fff;
            border-radius: 2px;
            background-color: transparent;
            position: relative;
            &::before{
              content: '';
              display: block;
              width: var(--hpBar);
              height: 100%;
              border-radius: 2px;
              background-color: var(--hpColor);
              position: absolute;
              left: 0;
              transition: 0.6s cubic-bezier(0.25, 1, 0.5, 1);
            }
          }
        }
      }
    }
    .dialogue_box{
      position: absolute;
      bottom: -36px;
      left: 0;
      right: 0;
      z-index: 1;
      width: 100%;
      max-width: 320px;
      height: 70px;
      margin: 0 auto;
    }
  }

  #selfcheck .question_wrapper{
    .question_area{
    background-color: #fff;
    padding: 16px 16px 0;
      .question_num{
        padding-bottom: 16px;
        text-align: right;
      }
      h1{
        font-size: 16px;
        padding-bottom: 24px;
      }
      .answer_btn_block{
        padding-bottom: 16px;
        button{
          background-color: #fff;
          color: #2d3636;
          border: 2px solid #2d3636;
          width: 100%;
          height: 40px;
          opacity: 0;
          visibility: hidden;
          transform: translateX(-30px);          
        }
        .common_btn{
          background-color: #fff;
          color: #2d3636;
          border: 2px solid #2d3636;
          width: 100%;
          height: 40px;
          opacity: 0;
          visibility: hidden;
          transform: translateX(-30px);
        }
        .common_btn:nth-of-type(1){
          margin-bottom: 16px;
        }
        .active{
          opacity: 1;
          visibility: visible;
          transform: translateX(0);       
        }
        .save_answer{
          position: relative;
          &::before{
            content: '';
            background-image: url('/special/kickoff/selfcheck/images/save_answer_mark.svg');
            background-size: contain;
            background-repeat: no-repeat;
            display: block;
            width: 20px;
            height: 20px;
            position: absolute;
            bottom: 7px;
            right: 20px;
          }
        }
        .common_btn_orange{
          color: #fff;
          background-color: #fa621b;
          border: 2px solid #fa621b;
        }
      }
    }
    .prev_btn_area{
      background-color: #212167;
      padding: 16px 0;
      .common_btn{
        background-color: #7b8080;
        color: #fff;
        width: 180px;
        height: 40px;
        margin: 0 auto;
      }
    }
  }

  #selfcheck .score_block{
    margin: 16px 0 0;
    padding-bottom: 64px;
    .score_block_area{
      background-color: #fff;
      padding: 24px 16px;
      border-radius: 4px;
      h1{
        font-size: 16px;
        padding-bottom: 24px;
        text-align: center;
      }
      .score_list{
        li{
          margin-bottom: 24px;
          padding-bottom: 2px;
          border-bottom: 1px solid #0f9ca7;
          .flex{
            display: flex;
            align-items: center;
            .power{
              width: 170px;
              color: #0f9ca7;
              font-size: 16px;
              font-weight: bold;
            }
            .middle{
              padding-top: 5px;
              width: 60px;
            }
            .score_star{
              display: flex;
              gap: 6px;
              img{
                width: 16px;
                height: 16px;
              }
            }
          }
        }
        li:nth-last-of-type(1){
          margin-bottom: 0;
        }
      }
    }
  }

  #selfcheck .next_contents_arrow{
    position: relative;
    &::before{
      content: '';
      background-image: url('/special/kickoff/selfcheck/images/result_arrow.svg');
      background-repeat: no-repeat;
      background-size: contain;
      display: block;
      width: 31px;
      height: 31px;
      position: absolute;
      bottom: 15px;
      left: 0;
      right: 0;
      margin: 0 auto;
    }
  }

  #selfcheck .next_contents_block{
    .next_contents_block_area{
      background-color: #fff;
      border-radius: 4px;
      padding: 0 0 40px;
      .btn_block{
        padding-bottom: 40px;
        .flex{
          display: flex;
          align-items: center;
          button{
            width: 33.3%;
            height: 48px;
            background-color: #7b8080;
            color: #fff;
            font-size: 12px;
            font-weight: bold;
            line-height: 1.35;
            border: 1px solid #0f9ca7;
            letter-spacing: -0.025em;
          }
          .contents_btn_active{
            background-color: #0f9ca7;
          }
        }
      }
      .next_contents_block_inner{
        padding: 0 16px 0;
        .next_contents{
          display: none;
          .bnr_block{
            padding-bottom: 32px;
            .img{
              padding-bottom: 6px;
              transition: .6s cubic-bezier(0.87, 0, 0.13, 1);
              &:hover{
                opacity: .6;
              }
            }
            .text{
              font-weight: normal;
              text-align: justify;
            }
          }
          .bnr_block:nth-last-of-type(1){
            padding-bottom: 0;
          }        
        }
        .next_contents_active{
          display: block;
        }
      }
    }
    .challenge_block{
      margin-top: 40px;
      .flex{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 40px;
        .common_btn_blue{
          text-align: center;
        }
      }
    }
  }

  #selfcheck .before_battle_area{
    padding: 64px 0 20px;
  }

  #selfcheck #intro .button_block{
    opacity: 0;
    visibility: hidden;
    width: 0;
    height: 0;
    .common_btn{
      margin: 0 auto;
    }
  }

  #selfcheck #intro .button_block_active{
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 40px;
    opacity: 1;
    visibility: visible;
  }

  #selfcheck #ending .ending_wrapper{
    .ending_area{
      .item_box{
        display: block;
        width: 320px;
        height: 170px;
        margin: 0 auto;
        opacity: 0;
        visibility: hidden;
        transform: translateY(50px);
        transition: .6s cubic-bezier(0.87, 0, 0.13, 1);
        position: absolute;
        top: 130px;
        left: 0;
        right: 0;
        z-index: 3;
      }
      .item_box_active{
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
      }
    }
  }

  #selfcheck #ending .button_block{
    .common_btn{
      opacity: 0;
      visibility: hidden;
      transform: translateY(50px);
      position: absolute;
      z-index: 10;
      left: 0;
      right: 0;
      bottom: 3%;
      margin: 0 auto;     
    }
    .active{
        opacity: 1;
        visibility: visible;
        transform: translateY(0);      
    }
  }

@media screen and (min-width: 769px) {

.sp {
  display: none;
}

.pc {
  display: block;
}

  #selfcheck p,
  #selfcheck a,
  #selfcheck li{
    font-size: 16px;
    line-height: 1.35;
    font-weight: bold;
  }

  .common_btn{
    font-size: 14px;
  }

  #selfcheck .stone_bg{
    margin: 0 auto;
    width: 960px;
    .stone_bg_inner{
      padding: 40px 0 80px;
    }
  }

  #selfcheck .stone_bg_blue{
  &::after{
    background-image: url('/special/kickoff/selfcheck/images/cloud_pc.webp');
  }
}



  #selfcheck .dialogue_box{
    width: 500px;
    height: 100px;
    border: 3px solid #fff;
    margin: 0 auto;
    font-size: 16px;
  }

  #selfcheck #ending .dialogue_box{
    bottom: 88px;
    width: 500px;
  }

  #selfcheck #ending .button_block{
    .common_btn{
      bottom: 20px;   
    }
  }

  #selfcheck .before_battle_area{
    padding: 0 0 20px;
    .before_battle_img{
      max-width: 470px;
      margin: 0 auto;
    }
  }

  #selfcheck .battle_wrapper{
    width: 500px;
    margin: 0 auto 96px;
    position: relative;
    .battle_scene{
      background-image: url('/special/kickoff/selfcheck/images/battle_bg_pc.webp');
      width: 100%;
      height: 200px;
      .boss{
        img{
          max-width: 170px;
          margin: 0 auto;
        }
      }
    }
    .dialogue_box{
      max-width: 485px;
      height: 100px;
      position: absolute;
      left: 0;
      right: 0;
      bottom: -65px;
      z-index: 1;
      margin: 0 auto;
    }
  }

  #selfcheck .question_wrapper{
    width: 540px;
    margin: 0 auto;
    .question_area{
      width: 100%;
      padding: 24px 24px 0;
      .question_num{
        font-size: 14px;
      }
      h1{
        font-size: 16px;
        padding-bottom: 16px;
      }
      .answer_btn_block{
        padding-bottom: 24px;
        .common_btn{
          width: 310px;
          height: 40px;
          margin: 0 auto;
        }
        .common_btn:nth-of-type(1){
          margin-bottom: 16px;
        }
      }
    }

    .prev_btn_area{
      background-color: #212167;
      padding: 24px 0;
      .common_btn{
        background-color: #7b8080;
        color: #fff;
        width: 310px;
        height: 40px;
        margin: 0 auto;
      }
    }
  }

  #selfcheck #boss_not_defeated .dialogue_box{
    margin-top: -32px;
  }

  #selfcheck .score_block {
    width: 340px;
    margin: 32px auto 0;
    padding-bottom: 64px;
    position: relative;
    .score_block_area{
      .score_list{
        li{
          .flex{
            .middle{
              width: 75px;
            }
          }
        }
      }
    }
  }

  #selfcheck .next_contents_block{
    width: 600px;
    margin: 0 auto;
    .next_contents_block_area {
      .next_contents_block_inner {
        .next_contents {
          padding: 0 24px 0;
          .bnr_block {
            padding-bottom: 40px;
            .img{
              width: 310px;
              margin: 0 auto;
            }
          }
        }
      }
    }
  }

  #selfcheck #ending{
    overflow: hidden;
  }

  #selfcheck #ending .cloud{
    &::after{
      background-image: url('/special/kickoff/selfcheck/images/cloud_pc.webp');
      background-position: center;
    }
  }

#selfcheck #ending .last_scene{
  &::before{
    background-image: url('/special/kickoff/selfcheck/images/ending_bg_pc.webp');
  }
}

  #selfcheck #ending .ending_wrapper{
    .ending_area{
      .item_box{
        top: 72px;
      }
      .item_box_active{
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
      }
    }
  }

}