.table_map {
  border-collapse: separate;
  border-spacing: 2px;
  margin-top: -2px;
  width: 100%
}
.table_map td,
.table_map th {
  padding: 20px 10px
}
.table_map .area {
  width: 130px;
  text-align: center;
  color: var(--white)
}
.table_map .area.hokkaido {
  background: #01b4bb
}
.table_map .area.tohoku {
  background: #ff7422
}
.table_map .area.chubu {
  background: #009fe9
}
.table_map .area.kanto {
  background: #de0073
}
.table_map .area.kinki {
  background: #f8b400
}
.table_map .area.chugoku {
  background: #dc3b1d
}
.table_map .area.shikoku {
  background: #126f49
}
.table_map .area.kyusyu {
  background: #aebf00
}
.table_map .area.okinawa {
  background: #86b7c6
}
.table_map .local,
.table_map .sub {
  width: 100px;
  text-align: center
}
.table_map a {
  text-decoration: underline
}
.table_map a:hover {
  text-decoration: none
}
.table_map thead th {
  color: var(--white);
  text-align: center;
  background-color: #ff7422
}
.table_map tbody th {
  background-color: var(--gray-2);
  font-weight: 700
}
.table_map tbody td {
  background-color: var(--gray-1)
}
.table_map_wrap {
  border-radius: 4px;
  overflow: hidden;
}
.table_map_rp {
  border-collapse: separate;
  /*border-spacing: 2px;
  margin-top: -2px; */
  width: 100%
}
.table_map_rp * {
  box-sizing: border-box;
}
.table_map_rp td,
.table_map_rp th {
  padding: 20px 10px
}
.table_map_rp .area_name {
  border-bottom: 1px solid var(--white);
  font-family: var(--font-ja-bold);
}
.table_map_rp .area_prefecture {
  border-bottom: 1px solid var(--border-color-light-2);
}
.table_map_rp .area_inner {
  border-bottom: 1px solid var(--border-color-light-2);
}
.table_map_rp:last-child .area_name,
.table_map_rp:last-child .area_prefecture,
.table_map_rp:last-child .area_inner {
  border-bottom: none;
}
.table_map_rp .area {
  width: 130px;
  text-align: center;
  color: var(--white)
}
.table_map_rp .area.hokkaido {
  background: #01b4bb
}
.table_map_rp .area.tohoku {
  background: #ff7422
}
.table_map_rp .area.chubu {
  background: #009fe9
}
.table_map_rp .area.kanto {
  background: #de0073
}
.table_map_rp .area.kinki {
  background: #f8b400
}
.table_map_rp .area.chugoku {
  background: #dc3b1d
}
.table_map_rp .area.shikoku {
  background: #126f49
}
.table_map_rp .area.kyusyu {
  background: #aebf00
}
.table_map_rp .area.okinawa {
  background: #86b7c6
}
.table_map_rp .area_name {
  color: var(--white);
  text-align: center;
  background-color: var(--gray-2)
}
.table_map_rp .area_prefecture {
  background-color: var(--gray-2);
  font-weight: 700
}
.table_map_rp .area_inner {
  background-color: var(--gray-1)
}
.table_map_rp .local,
.table_map_rp .sub {
  text-align: center;
  width: 100px
}
.table_map_rp .sub {
  background-color: var(--gray-2);
  font-weight: 700
}
.table_map_rp a {
  text-decoration: underline
}
.table_map_rp a:hover {
  text-decoration: none
}
.tab01 li .line-2 {
  padding-top: 10px;
  padding-bottom: 6px;
  line-height: 1.5
}
.map_area {
  width: 960px;
  height: 660px;
  background: url(../participants/run-as-one/teikei/images/map.png) no-repeat 0 0;
  background-size: 100% auto;
  position: relative;
  margin-bottom: 75px
}

.area_box {
  position: absolute;
  top: 0;
  left: 0
}
.area_box dt {
  position: relative;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.area_box dt:before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  border: .3em solid #01b4bb;
  display: inline-block;
}
.area_box dd ul {
  width: 110px;
  overflow: hidden
}
.area_box dd li {
  padding-left: 9%;
  width: 41%;
  float: left;
  font-size: 14px;
  position: relative;
  margin-bottom: 5px
}
.area_box dd li:after {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 5px;
  height: 5px;
  border-right: 1px solid var(--black);
  border-bottom: 1px solid var(--black);
  transform: rotate(-45deg)
}
.area_box.hokkaido {
  left: 475px
}
.area_box.hokkaido dt:before {
  border: .3em solid #01b4bb
}
.area_box.hokkaido dd li:after {
  border-right: 1px solid #01b4bb;
  border-bottom: 1px solid #01b4bb
}
.area_box.hokkaido dd li a:hover {
  color: #01b4bb
}
.area_box.tohoku {
  left: 644px;
  top: 287px
}
.area_box.tohoku dt:before {
  border: .3em solid #ff7422
}
.area_box.tohoku dd li:after {
  border-right: 1px solid #ff7422;
  border-bottom: 1px solid #ff7422
}
.area_box.tohoku dd li a:hover {
  color: #ff7422
}
.area_box.kanto {
  left: 590px;
  top: 452px
}
.area_box.kanto dt:before {
  border: .3em solid #de0073
}
.area_box.kanto dd li:after {
  border-right: 1px solid #de0073;
  border-bottom: 1px solid #de0073
}
.area_box.kanto dd li a:hover {
  color: #de0073
}
.area_box.chubu {
  left: 390px;
  top: 180px
}
.area_box.chubu dt:before {
  border: .3em solid #009fe9
}
.area_box.chubu dd li:after {
  border-right: 1px solid #009fe9;
  border-bottom: 1px solid #009fe9
}
.area_box.chubu dd li a:hover {
  color: #009fe9
}
.area_box.kinki {
  left: 440px;
  top: 525px
}
.area_box.kinki dt:before {
  border: .3em solid #f8b400
}
.area_box.kinki dd li:after {
  border-right: 1px solid #f8b400;
  border-bottom: 1px solid #f8b400
}
.area_box.kinki dd li a:hover {
  color: #f8b400
}
.area_box.chugoku {
  left: 265px;
  top: 332px
}
.area_box.chugoku dt:before {
  border: .3em solid #dc3b1d
}
.area_box.chugoku dd li:after {
  border-right: 1px solid #dc3b1d;
  border-bottom: 1px solid #dc3b1d
}
.area_box.chugoku dd li a:hover {
  color: #dc3b1d
}
.area_box.shikoku {
  left: 310px;
  top: 582px
}
.area_box.shikoku dt:before {
  border: .3em solid #126f49
}
.area_box.shikoku dd li:after {
  border-right: 1px solid #126f49;
  border-bottom: 1px solid #126f49
}
.area_box.shikoku dd li a:hover {
  color: #126f49
}
.area_box.kyusyu {
  left: 94px;
  top: 504px
}
.area_box.kyusyu dt:before {
  border: .3em solid #aebf00
}
.area_box.kyusyu dd li:after {
  border-right: 1px solid #aebf00;
  border-bottom: 1px solid #aebf00
}
.area_box.kyusyu dd li a:hover {
  color: #aebf00
}
.area_box.okinawa {
  left: 776px;
  top: 485px
}
.area_box.okinawa dt:before {
  border: .3em solid #86b7c6
}
.area_box.okinawa dd li:after {
  border-right: 1px solid #86b7c6;
  border-bottom: 1px solid #86b7c6
}
.area_box.okinawa dd li a:hover {
  color: #86b7c6
}
@media screen and (min-width: 1024px) and  (max-width: 1380px) {
  .map_area {
    width: 600px;
    height: 600px;
    margin: 0 auto;
    background-size: 130% auto;
    background-position: 50% 0;
  }
  .area_box.hokkaido {
    left: 286px;
  }
  .area_box.tohoku {
    left: 433px;
    top: 180px;
  }
  .area_box.kanto {
    left: 400px;
    top: 316px;
  }
  .area_box.chubu {
    left: 235px;
    top: 98px;
  }
  .area_box.kinki {
    left: 279px;
    top: 406px;
  }
  .area_box.chugoku {
    left: 118px;
    top: 236px;
  }
  .area_box.shikoku {
    left: 148px;
    top: 464px;
  }
  .area_box.kyusyu {
    left: -10px;
    top: 297px;
  }
  .area_box.okinawa {
    left: 485px;
    top: 474px;
  }
}
#map_detail .table02,
#map_detail .table03 {
  margin-top: -2px
}
#map_detail h4 {
  font-size: 18px;
  margin: 60px 0 20px
}
#map_detail h5 {
  color: #ff7422;
  font-size: 14px;
  margin-bottom: 5px
}
#map_detail .button {
  clear: both
}
.detail_box {
  width: 450px;
  float: left;
  margin-bottom: 60px
}
.detail_box.mr {
  margin-right: 60px
}
.table_detail {
  border-collapse: separate;
  border-spacing: 2px;
  width: 100%
}
.table_detail .table04_SP {
  display: none
}
.table_detail td,
.table_detail th {
  padding: 20px 10px
}
.table_detail thead th {
  padding: 20px 0;
  color: var(--white);
  text-align: center;
  background-color: #ff7422
}
.table_detail thead th:first-child {
  width: 118px
}
.table_detail tbody th {
  background-color: var(--gray-2);
  font-weight: 700
}
.table_detail tbody td {
  background-color: var(--gray-1)
}

.teikei_outline_list li {
  text-indent: -1.25em;
  padding-left: 1.25em;
}

.map_area a {
  color: var(--link-color);
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.area_box dd li {
  color: var(--text-color-light-gray-2);
}

.area_box dd li:not(:has(a))::after {
  border-right-color: var(--text-color-light-gray-2) !important;
  border-bottom-color: var(--text-color-light-gray-2) !important;
}

@media (hover: hover) and (pointer: fine) {
  .map_area a:hover {
    text-decoration: none;
  }
}

@media screen and (min-width: 1024px) {

}
@media screen and (max-width: 1023px) {
  .table_map_rp {
    width: 100%;
    border-radius: 4px;
    overflow: hidden;
    display: block;
  }
  .table_map_rp + .table_map_rp {
    margin-top: 10px;
  }
  .table_map_rp tbody,
  .table_map_rp tr {
    display: block;
  }
  .table_map_rp td {
    display: block;
    width: auto;
    cursor: pointer;
  }
  .table_map_rp .area_name {
    border-bottom: none;
  }
  .table_map_rp .area {
    border-spacing: 0;
    display: block;
    background-color: var(--gray-2);
    text-align: center;
    padding: 16px 16px 18px;
    /* border-bottom: 1px solid var(--white); */
    position: relative;
    width: 100%;
    box-sizing: border-box;
    font-family: var(--font-ja-bold);
  }
  .table_map_rp .area:after {
    content: "";
    width: 12px;
    height: 12px;
    position: absolute;
    display: block;
    border-bottom: 2px solid var(--white);
    border-right: 2px solid var(--white);
    right: 16px;
    top: 44%;
    transform: translate(-50%, -50%) rotate(45deg);
    transform-origin: center;
    /* transition: 0.25s ease; */
    box-sizing: border-box;
  }
  .table_map_rp .area.is-open:after {
    top: 54%;
    transform: translate(-50%, -50%) rotate(-135deg);
  }
  .table_map_rp .area_inner {
    padding: 16px;
    font-size: 14px;
    border-bottom: 1px solid var(--border-color-light-2);
  }
  .table_map_rp tr:last-child .area_inner:last-child {
    border-bottom: none;
  }
  .table_map_rp .area_inner a {
    text-decoration: underline
  }
  .table_map_rp .local {
    background-color: var(--gray-2);
    padding: 16px;
    border-bottom: 1px solid var(--white)
  }
  .table_map_rp .local,
  .table_map_rp .sub {
    width: 100%;
    border-spacing: 0;
    box-sizing: border-box;
    font-size: 14px;
    border-bottom: 1px solid var(--border-color-light-2);
  }
  .table_map_rp .sub {
    text-align: left;
    background-color: var(--gray-1);
    padding: 5% 4.68% .5% !important
  }
  .table_map_rp .inner {
    display: none
  }
  .table_map_rp.on .area:after {
    top: 24px;
    transform: rotate(-45deg)
  }
  .table_map_rp tbody>:not(:first-child),
  .table_map_rp tr:first-child :not(:first-child) {
    display: none
  }
  .table_map_sp {
    border-collapse: separate;
    border-spacing: 1px;
    width: 100%
  }
  .table_map_sp .area {
    border-spacing: 0;
    display: block;
    background-color: var(--gray-2);
    text-align: center;
    padding: 18px 4.68%;
    height: 20px;
    width: 90.64%;
    border-bottom: 1px solid var(--white);
    position: relative;
    color: var(--white)
  }
  .table_map_sp .area.hokkaido {
    background: #01b4bb
  }
  .table_map_sp .area.tohoku {
    background: #ff7422
  }
  .table_map_sp .area.chubu {
    background: #009fe9
  }
  .table_map_sp .area.kanto {
    background: #de0073
  }
  .table_map_sp .area.kinki {
    background: #f8b400
  }
  .table_map_sp .area.chugoku {
    background: #dc3b1d
  }
  .table_map_sp .area.shikoku {
    background: #126f49
  }
  .table_map_sp .area.kyusyu {
    background: #aebf00
  }
  .table_map_sp .area.okinawa {
    background: #86b7c6
  }
  .table_map_sp .area:after {
    content: "";
    opacity: .1;
    width: 10px;
    height: 10px;
    position: absolute;
    border-right: 2px solid var(--black);
    border-top: 2px solid var(--black);
    right: 7%;
    top: 20px;
    transition: all .25s ease;
    transform: rotate(135deg)
  }
  .table_map_sp .area.on:after {
    top: 24px;
    transform: rotate(-45deg)
  }
  .table_map_sp .inner {
    display: none
  }
  .table_map_sp .local {
    background-color: var(--gray-2);
    text-align: center;
    padding: 4.68%;
    border-bottom: 1px solid var(--white)
  }
  .table_map_sp .local,
  .table_map_sp .sub {
    border-spacing: 0;
    width: 90.64%
  }
  .table_map_sp .sub {
    background-color: var(--gray-1);
    padding: 4.68% 4.68% .5%
  }
  .table_map_sp p {
    padding: .5% 4.68% 4.68%;
    background-color: var(--gray-1)
  }
  .table_map_sp a {
    text-decoration: underline
  }
  #map_detail .table02 {
    margin-top: -3px
  }
  #map_detail .table02 th {
    border-bottom: 1px solid var(--white)
  }
  #map_detail .table03 {
    margin-top: -3px
  }
  #map_detail .table03 th {
    border-bottom: 1px solid var(--white)
  }
  #map_detail .table03 tbody th.s-tit {
    border-spacing: 0;
    display: block;
    background-color: var(--gray-1);
    padding: 4.68% 4.68% .5%;
    width: 90.64%;
    border-bottom: none;
    margin-top: -1px;
    text-align: left
  }
  #map_detail h4 {
    margin: 30px 0 15px
  }
  #map_detail h5 {
    color: #ff7422;
    margin-bottom: 5px
  }
  #map_detail .button {
    clear: both;
    height: 45px
  }
  .detail_box {
    width: 100%;
    float: left;
    margin-bottom: 30px
  }
  .table_detail {
    border-collapse: separate;
    border-spacing: 2px;
    width: 100%
  }
  .table_detail .table04_SP {
    display: none
  }
  .table_detail td,
  .table_detail th {
    padding: 15px 10px
  }
  .table_detail thead th {
    padding: 15px 0;
    color: var(--white);
    text-align: center;
    background-color: #ff7422
  }
  .table_detail thead th:first-child {
    width: 82px
  }
  .table_detail tbody th {
    background-color: var(--gray-2);
    font-weight: 700
  }
  .table_detail tbody td {
    background-color: var(--gray-1)
  }
}