@charset "UTF-8";
.bn_challenger {
  padding: 15px;
}

.bl_media_item {
  list-style: none;
  box-sizing: border-box;
  margin: 0;
  padding: 10px;
}

#challenger #nanaban .name01 {
  font-size: 28px;
}

#challenger .name02 {
  margin-left: 0;
  text-align: left;
  border-bottom: 1px solid #000;
  padding-bottom: 10px;
}

#challenger .profile dt {
  font-size: 1.2em;
  line-height: 2em;
}

#challenger .profile dd {
  margin-left: 0;
  line-height: 1.7em;
}

#challenger .after h3 {
  margin: 0;
  color: #E5004F;
  font-size: 2.2em;
  line-height: 2em;
  border-bottom: 1px solid #000;
}

#challenger .after dl {
  margin: 0;
}

#challenger .after dt {
  font-size: 2.8em;
}

#challenger .after dd {
  font-size: 1.3em;
}

/***************************/
/* 変数 */
/* カード間の余白 */
/* カード表示枚数 */
/***************************/
#nanaban .bl_media_container {
  width: 300px;
  margin: auto;
  display: block;
}

#nanaban .bl_media_itemWrapper {
  text-align: center;
  display: inline;
}

.bl_media_container {
  display: flex;
  flex-wrap: wrap;
  margin: -5px;
}

.bl_media_itemWrapper {
  width: calc(100% / 4 - 10px);
  /* [100% / 表示させたいカード枚数]  -  [上下左右の枠にかかるマージン] */
  margin: 5px;
  display: table;
  /* カード間の余白(隣接要素との合計になるため1/2を指定) */
}

.bl_media_item {
  outline: 1px solid #000;
  display: table-cell;
}

@media screen and (max-width: 900px) {
  /***************************/
  /* 変数 */
  /* カード間の余白 */
  /* カード表示枚数 */
  /***************************/
  .bl_media_container {
    margin: -5px;
  }
  .bl_media_itemWrapper {
    width: calc(100% / 3 - 10px);
    margin: 5px;
  }
  .bn_challenger {
    display: block;
    padding: 10px 15px 0px 15px;
  }
}

@media screen and (max-width: 648px) {
  /***************************/
  /* 変数 */
  /* カード間の余白 */
  /* カード表示枚数 */
  /***************************/
  .bl_media_container {
    margin: -5px;
  }
  .bl_media_itemWrapper {
    width: calc(100% / 2 - 10px);
    margin: 5px;
  }
}

@media screen and (max-width: 480px) {
  /***************************/
  /* 変数 */
  /* カード間の余白 */
  /* カード表示枚数 */
  /***************************/
  .bl_media_container {
    margin: -5px;
  }
  #nanaban .bl_media_container {
    width: 100%;
  }
  .bl_media_itemWrapper {
    width: calc(100% / 1 - 10px);
    margin: 5px;
  }
}

#nanaban h3 {
  padding-top: 2px;
  padding-bottom: 2px;
  margin-bottom: 10px;
  line-height: 1.2;
  text-align: left;
  border-left: 5px solid #00336E;
  padding: 4px 15px 0;
  margin-bottom: 20px;
  font-weight: bold;
}

#nanaban .nanaban-table-1 {
  margin-bottom: 50px;
  overflow-x: auto;
}

#nanaban .nanaban-table-2 {
  overflow-x: auto;
}

#nanaban table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border: 1px solid #00336E;
  white-space: nowrap;
}

#nanaban table th, td {
  text-align: left;
  vertical-align: middle;
}

#nanaban table th {
  background: #00336E;
  color: #fff;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: 3px 13px;
  font-weight: bold;
  font-size: 0.875rem;
}

#nanaban table th + th {
  text-align: center;
}

#nanaban .nanaban-table-1 td + td {
  text-align: center;
}

#nanaban table td {
  background: #fff;
  border-left: 1px solid #00336E;
  border-bottom: 1px solid #00336E;
  padding: 3px 13px;
  font-size: 0.875rem;
}

.profile_container {
  display: flex !important;
  width: 100% !important;
  margin-top: 50px !important;
  margin-bottom: 50px !important;
}

.profile_container .bl_media_itemWrapper {
  width: calc(100% / 2 - 20px);
  margin: 10px;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}

@media screen and (max-width: 480px) {
  .profile_container .bl_media_itemWrapper {
    width: 100%;
    margin: 0 0 10px 0;
  }
}

.profile_container .bl_media_itemWrapper:nth-child(1) {
  background-image: url(../img/bg01.jpg);
}

.profile_container .bl_media_itemWrapper:nth-child(2) {
  background-image: url(../img/bg02.jpg);
}

.profile_container .bl_media_itemWrapper .bl_media_item {
  padding: 20px;
}

.profile_container .bl_media_itemWrapper .bl_media_item .name01 {
  font-size: 1.4em;
  margin-bottom: 10px;
}

.profile_container .bl_media_itemWrapper .bl_media_item .name02 {
  margin-left: 0;
  border-bottom: 1px solid #000;
  padding-bottom: 10px;
}

.profile_container .bl_media_itemWrapper .bl_media_item dl {
  margin-top: 0;
}

.profile_container .bl_media_itemWrapper .bl_media_item .profile {
  margin-bottom: 0;
}

.profile_container .bl_media_itemWrapper .bl_media_item .profile dt {
  font-size: 1.2em;
  line-height: 2em;
}

.profile_container .bl_media_itemWrapper .bl_media_item dd {
  word-break: break-all;
  margin-left: 0;
}

.w480 {
  max-width: 480px;
}
