@charset "utf-8";
/* CSS Document */
@media screen and (max-width: 1160px) {
  body {
    background: #164E64;
  }
  header {
    width: 100%;
    height: auto;
  }
  header h1 {
    width: 100%;
    float: none;
    display: block;
  }
  header h1 span {
    transform: scale(0.7);
    transform-origin: right bottom;
  }
  header h1 img {
    width: 100%;
    height: auto;
  }
  header nav ul {
    width: 100%;
    margin-bottom: 0;
  }
  header nav ul li {
    width: 50% !important;
    height: auto;
    float: left;
    font-size: 1rem;
    letter-spacing: 0.26em;
    text-align: center;
    line-height: 3.3em;
    background: #00ced1;
    /*border-left: 1px solid #00ced1;*/
    /*border-bottom: 1px solid #00ced1;*/
    white-space: nowrap;
  }
  header nav ul li a {
    display: block;
    background: #333;
    color: #fff;
  }
  header ul li a:hover {
    /*background: #BBF9F4;
	filter:alpha(opacity=50);*/
    opacity: 0.5;
    text-decoration: none;
  }
  header nav ul li:first-of-type {
    width: 100% !important;
  }
  header nav ul li:nth-of-type(even) {
    border-left: none;
  }
  /* header nav ul li:nth-of-type(n+5) {
    border-bottom: none;
  }*/
  header nav ul li:nth-of-type(5) {
    letter-spacing: normal !important;
  }
  #wrap {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
  }
  main {
    font-size: 1.15rem !important;
  }
  table.table01 {
    width: 100%;
  }
  table.table01 td.r2 {
    border-left: 1px solid #ccc;
  }
  table.table01 th, table.table01 td {
    display: block;
    border-left: 1px solid #ccc;
  }
  table.table01 tr:nth-child(2n+4) td {
    background: #f5f5f5;
  }
  table.table01 .last tr:last-child {
    border-bottom: 1px #ccc;
  }
  #program_area {
    margin: auto;
    width: auto;
    height: auto;
  }
  .figure img {
    width: 86%;
    height: auto;
    margin: 2em auto 0 auto;
  }
  /* FAQ */
  #faq dd {
    background: #f0fff0;
    padding: 1em;
    margin: 30px auto 40px;
  }
  .online_final_point, .online_final_root {
    position: relative;
    width: 100% !important;
    margin: 30px auto;
  }
  .online_final_point div, .online_final_root div {
    position: absolute;
    width: 450px;
    right: 0;
    bottom: -10px;
    font-size: 0.9rem;
    font-weight: bold;
    line-height: 1.5;
    z-index: 1;
    background: #fff;
    padding: 5px;
  }
  .online_final_root div.r_map {
    position: absolute;
    width: 220px;
    height: 53px;
    left: 20px;
    top: 20px;
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1.5;
    z-index: 1;
    background: #fff;
    padding: 10px 20px;
    text-align: center;
    color: cornflowerblue;
  }
  .mov {
    margin: 30px 20%;
  }
}
@media screen and (min-width:600px) and (max-width:959px) {
  #wrap {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
  }
  .col_platinum > div {
    justify-content: center;
  }
  .col_gold > div {
    justify-content: center;
  }
  .col_4 > div {
    justify-content: center;
  }
  .general {
    margin-top: 2em;
    font-weight: bold;
    float: none;
  }
  .general img {
    width: 50%;
    border: 1px solid #ccc;
  }
  div.general {
    text-align: center;
    font-size: 1rem;
  }
  table.table02 {
    width: 100%;
    margin: 30px auto 10px auto;
  }
  .rule_schedule {
    width: 100% !important;
    margin: 30px auto;
  }
  table.rule_rank {
    width: 100%;
  }
  table.rule_rank tr th {
    letter-spacing: normal;
  }
  .flex_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 10px 0;
  }
}
@media screen and (max-width: 599px) {
  header nav ul {
    min-width: 400px;
    float: left;
    margin-bottom: 0;
  }
  #wrap {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
  }
  section h1 {
    font-size: 120%;
  }
  section h2 {
    color: #066;
    font-size: 100%;
    line-height: 1.3;
    padding-bottom: 10px;
  }
  /* footer */
  footer {
    padding-bottom: 100px;
  }
  #contents_lead h1 {
    line-height: 1.6;
    font-size: 123%;
  }
  #contents_lead .posi_tier4 {
    position: absolute;
    right: 20px;
    bottom: 20px;
    font-size: 75%;
    color: #fff;
    background: #000;
    padding: 0 5px;
  }
  #contents_main .box01 {
    padding: 20px;
    margin: 20px 0;
    background: #ffffe0;
    border-radius: 10px
  }
  #sponsorBosyu {
    margin: 20px 0;
    font-size: 100%;
  }
  /* スポンサーロゴ */
  .col_gold > div {
    width: 50% !important;
  }
  /*.col_gold > div {}*/
  .col_4 {
    width: 100%;
    display: flex;
    display: -ms-flexbox; /* IE10 */
    flex-wrap: wrap;
    -ms-flex-wrap: wrap; /* IE10 */
    align-items: center;
    justify-content: left;
  }
  .col_4 > div {
    width: 27% !important;
    height: auto;
    padding: 3px;
    margin: 10px;
    /*border: 1px solid #f5f5f5;*/
    text-align: center;
  }
  .col_4 > div a {
    display: block;
    color: #000;
  }
  .col_4 > div:hover {
    /*border: 1px solid #dcdcdc;*/
    color: #000;
    opacity: 0.8;
    filter: alpha(opacity=80);
    -moz-opacity: 0.8;
  }
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  /* イベント */
  #entry01 {
    margin: 0 0 70px;
  }
  /*table.table02 {
    margin-top: 30px;
    width: auto;
    height: auto; 
}    */
  table.table02 {
    width: 100%;
    margin: 30px auto 10px auto;
  }
  .general {
    margin-top: 2em;
    font-weight: bold;
    float: none;
  }
  .general img {
    width: 80%;
    border: 1px solid #ccc;
  }
  div.general {
    text-align: center;
    font-size: 1rem;
  }
  .rule_schedule, .online_final_point, .online_final_root {
    position: relative;
    margin: 30px auto;
    width: 100% !important;
  }
  .online_final_point div, .online_final_root div {
    position: absolute;
    width: 340px;
    right: 0;
    bottom: -10px;
    font-size: 0.7rem;
    font-weight: bold;
    line-height: 1.5;
    z-index: 1;
    background: #fff;
    padding: 5px;
  }
  .online_final_root div.r_map {
    position: absolute;
    width: 180px;
    height: 30px;
    left: 0;
    top: 0;
    font-size: 1.1rem;
    font-weight: bold;
    line-height: 1.5;
    z-index: 1;
    background: #fff;
    padding: 0;
    text-align: center;
    color: cornflowerblue;
  }
  table.rule_schedule_tbl tr th, table.rule_schedule_tbl tr td {
    padding: 5px 10px;
    border: 1px solid #f5f5f5;
  }
  table.rule_schedule_tbl th {
    vertical-align: top;
    font-weight: normal;
  }
  .smlt_figure > div {
    width: 100%;
  }
  table.rule_schedule_tbl td {
    vertical-align: top;
    padding-bottom: 1em;
  }
  table.rule_rank {
    font-size: 0.8rem;
    width: 100% !important;
  }
  table.rule_rank tr th {
    letter-spacing: normal;
  }
  table.rule_rank tr th, table.rule_rank tr td {
    padding: 5px;
  }
  table.rule_spec {
    width: 100%;
    margin-top: 8px;
    font-size: 0.9em;
  }
  table.rule_spec tr th {
    text-align: left;
    background: #f5f5f5;
    letter-spacing: 0.1em;
  }
  table.rule_spec tr th, table.rule_spec tr td {
    padding: 5px 10px;
    border: 1px solid #f5f5f5;
  }
  table.rule_spec td.nowrap {
    white-space: nowrap;
  }
  .flex_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 10px 0;
  }
  .list_final {
    margin: 20px auto auto 10px;
    width: 95% !important;
    padding: 1em;
  }
  .list_final h3 {
    font-size: 1.1rem;
    text-align: center;
  }
  .list_final_inner {
    margin: 0 auto;
  }
  .list_final ul {
    float: none;
    width: 100%;
  }
  .mov {
    margin: 30px auto;
  }
  /* リザルト */
  .award_inner_img {
    width: 100%;
    font-size: 0.9rem !important;
  }
  .award {
    float: none;
    width: 100%;
  }
  .award h3 {
    font-size: 1rem;
    letter-spacing: normal;
    border-bottom: none;
    margin-bottom: 10px;
    padding-left: 2.3em;
  }
  .award_img {
    width: 100%;
  }
  .award_team {
    float: none;
    margin: 0 auto;
  }
  .award_team img {
    width: 200px;
    height: auto;
  }
  .award_inner {
    width: 100%;
  }
  .award_result table {
    width: 100%;
    font-size: 0.9rem !important;
  }
}