.kv {
  background-image: url(/wp-content/themes/joran/assets/img/stage/kv_bg.jpg);
  background-position: center;
}

.kv_ttl {
  width: 111px;
}

.kv_ttl::after {
  background-image: url(/wp-content/themes/joran/assets/img/stage/kv_after.svg);
  background-repeat: no-repeat;
  background-size: cover;
  bottom: -54px;
  content: '';
  display: block;
  height: 114px;
  left: -183px;
  position: absolute;
  width: 490px;
}

.main_content {
  padding-bottom: 0;
}

@media screen and (max-width: 767px) {
  .kv {
    background-image: url(/wp-content/themes/joran/assets/img/stage/sp_kv_bg.jpg);
  }

  .kv_ttl {
    width: 75px;
  }

  .kv_ttl::after {
    bottom: -30px;
    height: 60px;
    left: 50%;
    transform: translateX(-50%);
    width: 250px;
  }
}

/* ------------------------------------------
  stage_top
------------------------------------------ */
.stage_top_text {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .stage_top_text {
    margin-top: 30px;
  }
}

/* ------------------------------------------
  stage_desc
------------------------------------------ */
.stage_desc {
  background-color: #000;
  margin-top: 100px;
  padding: 100px 0;
}

.stage_desc_list {
  display: flex;
}

.stage_desc_list dt {
  color: #a92231;
  flex-shrink: 0;
  margin-right: 5px;
  width: 4em;
}

.stage_desc_list dd p:first-child {
  margin-top: 0;
}

.stage_desc_list dd a {
  text-decoration: underline;
}

.stage_desc_list.organizer {
  display: block;
}

.stage_desc_list.organizer dd {
  display: flex;
  margin-bottom: 40px;
  margin-left: 70px;
  margin-top: 13px;
}

.stage_desc_list.organizer dd div {
  margin-left: 30px;
  width: 116px;
}

.stage_desc_list.organizer dd div.maijiza {
  margin-left: 0;
  padding-top: 20px;
  width: 146px;
}

.stage_desc_list.organizer dd div img {
  width: 100%;
}

.stage_desc_list.flex {
  margin-bottom: 5px;
}

.stage_desc_list.flex dt {
  line-height: 1.2;
}

.stage_desc_list.flex dd {
  align-items: center;
  display: flex;
}

.stage_desc_list dd p {
  margin-top: 20px;
}

.stage_desc_coming01 {
  margin-top: 20px;
}

.stage_desc_coming02 {
  margin-top: 40px;
}

.stage_desc_coming02_img {
  margin-top: 20px;
}

.stage_desc_casts {
  margin-top: 20px;
}

.stage_desc_casts .stage_desc_casts_title {
  color: #a92231;
}

.stage_desc_casts .stage_desc_casts_title.margin {
  margin-top: 20px;
}

.stage_desc_casts_lists {
  display: flex;
  flex-wrap: wrap;
  margin-top: 23px;
}

.stage_desc_casts_lists .item {
  margin-left: 44px;
  width: calc(50% - 22px);
}

.stage_desc_casts_lists .item:nth-child(2n + 1) {
  margin-left: 0;
}

.stage_desc_casts_lists .item:nth-child(n + 3) {
  margin-top: 30px;
}

.stage_desc_casts_lists .item_flex {
  display: flex;
}

.stage_desc_casts_lists .item_flex_img {
  width: 50%;
}

.stage_desc_casts_lists .item_flex_img img {
  width: 100%;
}

.stage_desc_casts_lists .item .name {
  font-size: 1.4rem;
  margin-top: 10px;
}

.stage_desc_coming03 {
  margin-top: 20px;
}

.stage_desc_list_last {
  display: flex;
  margin-top: 40px;
}

.stage_desc_list_last dt {
  color: #a92231;
  margin-right: 5px;
}

.stage_attention {
  font-size: 1.4rem;
  margin-top: 40px;
}

.stage_attention .desc {
  font-size: 1.2rem;
  margin-top: 20px;
}

.stage_attention .desc a {
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .stage_desc {
    background-color: #000;
    margin-top: 50px;
    padding: 40px 0;
  }

  .stage_desc_list {
    display: block;
  }

  .stage_desc_list dt {
    width: auto;
  }

  .stage_desc_list.organizer dd {
    justify-content: center;
    margin-bottom: 0;
    margin-left: 0;
    margin-top: 0;
  }

  .stage_desc_list.organizer dd div {
    margin-left: 15px;
    width: 20%;
  }

  .stage_desc_list.organizer dd div.maijiza {
    margin-left: 0;
    padding-top: 4%;
    width: 25.2307692307692%;
  }

  .stage_desc_list.flex {
    margin-bottom: 0;
  }

  .stage_desc_list.flex dt {
    line-height: 1.75;
  }

  .stage_desc_list.flex dd {
    display: block;
  }

  .stage_desc_coming01 {
    margin-top: 30px;
  }

  .stage_desc_coming02_img {
    margin-top: 15px;
  }

  .stage_desc_casts_lists {
    display: block;
  }

  .stage_desc_casts_lists .item {
    margin-left: 0;
    margin-top: 25px;
    width: auto;
  }

  .stage_desc_casts_lists .item .name {
    font-size: 1.3rem;
    margin-top: 20px;
  }

  .stage_desc_coming02 {
    margin-top: 20px;
  }

  .stage_desc_coming03 {
    display: none;
  }

  .stage_desc_list_last {
    display: block;
  }

  .stage_attention {
    font-size: 1.3rem;
    margin-top: 30px;
  }

  .stage_attention .desc {
    font-size: 1rem;
    margin-top: 9px;
  }
}
