@charset "UTF-8";
/* Scss Document */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Prompt:wght@400;500;600;700&display=swap");
/* Device Width */
/* font weight */
html {
  overflow-x: hidden; }

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.75;
  color: #333;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  @media only, screen and (max-width: 736px) {
    body {
      font-size: 12px; } }

@media print {
  body {
    width: 1200px;
    overflow: hidden; }

  #header_contents {
    width: 100% !important; }

  #contetns {
    width: 100% !important; }
    #contetns #main {
      width: 100% !important; } }
body, div, p, h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dt, dd, figure {
  margin: 0;
  padding: 0; }

img {
  width: 100%;
  height: auto;
  border: none; }

#main img {
  width: inherit;
  max-width: 100%; }

a {
  color: #0052A6;
  text-decoration: underline; }
  a:hover {
    color: #DB0D08;
    text-decoration: none; }

.pcItem {
  display: block; }
  @media only, screen and (max-width: 820px) {
    .pcItem {
      display: none; } }

.spItem {
  display: none; }
  @media only, screen and (max-width: 820px) {
    .spItem {
      display: block; } }

.pc-inline {
  display: inline; }
  @media only, screen and (max-width: 736px) {
    .pc-inline {
      display: none; } }

.sp-inline {
  display: none; }
  @media only, screen and (max-width: 736px) {
    .sp-inline {
      display: inline; } }

.clearfix:after {
  content: "";
  clear: both;
  display: block; }

.flex_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media only, screen and (max-width: 820px) {
    .flex_box {
      display: block; } }

.txt-stop {
  margin: 1em 0;
  color: #db0d08;
  font-size: 18px; }
  @media only, screen and (max-width: 820px) {
    .txt-stop {
      font-size: 16px; } }

.box-stop a {
  display: block;
  margin: 34px 0 0;
  padding: 20px;
  text-align: center;
  border: solid 5px #db0d08;
  color: #db0d08;
  font-size: 22px;
  font-weight: 700;
  text-decoration: none; }
  @media only, screen and (max-width: 820px) {
    .box-stop a {
      padding: 10px 20px;
      font-size: 17px;
      line-height: 1.5;
      border: solid 3px #db0d08; } }
  .box-stop a span {
    padding: 0 30px;
    background: url(../img/icn_stop_arrow.png) right center no-repeat;
    background-size: 22px auto; }
    @media only, screen and (max-width: 820px) {
      .box-stop a span {
        padding: 0 20px 0 0;
        background-size: 15px auto; } }
  .box-stop a:hover {
    text-decoration: underline; }

/* smart phone
--------------------------------------------------------------------------------------------------------------------------------------------- */
#sp_header,
#sp_header_contents,
.slidemenu,
#sp_footer,
#sp_area,
#sp_navi_contents,
.sp_bnr01,
.sp_bnr02,
.sp_bnr03,
#sp_map,
#map_link,
#mini_course_map_sp,
#sp_msg_btn,
.map_link {
  display: none; }
  @media only, screen and (max-width: 820px) {
    #sp_header,
    #sp_header_contents,
    .slidemenu,
    #sp_footer,
    #sp_area,
    #sp_navi_contents,
    .sp_bnr01,
    .sp_bnr02,
    .sp_bnr03,
    #sp_map,
    #map_link,
    #mini_course_map_sp,
    #sp_msg_btn,
    .map_link {
      display: block; } }

.slidemenu {
  top: 0;
  width: 240px;
  position: fixed;
  visibility: hidden;
  z-index: 2;
  height: 100%;
  overflow-y: auto; }

.slidemenu .slidemenu-header {
  position: relative; }

.slidemenu .slidemenu-body {
  height: 100%;
  /*overflow:hidden;*/
  position: relative; }

.slidemenu .slidemenu-body .slidemenu-content {
  width: 100%;
  height: 100%;
  position: relative;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

.slidemenu-right {
  right: 0; }

#sp_menu {
  height: auto;
  padding: 0 0 180px;
  list-style: none;
  background-color: #333; }

#sp_menu li {
  min-height: 39px;
  border-bottom: solid 1px #555; }

#sp_menu li a {
  min-height: 24px;
  line-height: 1.5;
  display: block;
  padding: 15px 0 15px 50px;
  color: #fff;
  text-decoration: none; }

#sp_menu li ul {
  margin: 0;
  padding: 0; }

#sp_menu li ul li {
  min-height: auto;
  margin: 0;
  padding: 0;
  border-bottom: none; }

#sp_menu li ul li a {
  min-height: auto;
  margin: 0 0 0 50px;
  padding: 10px 0;
  border-top: solid 1px #555; }

.sp_icon01 {
  background: url(../img/sp_icon_01.gif) 15px 15px no-repeat; }

.sp_icon02 {
  background: url(../img/sp_icon_02.gif) 15px 15px no-repeat; }

.sp_icon03 {
  background: url(../img/sp_icon_03.gif) 15px 15px no-repeat; }

.sp_icon04 {
  background: url(../img/sp_icon_04.gif) 15px 15px no-repeat; }

.sp_icon05 {
  background: url(../img/sp_icon_05.gif) 15px 15px no-repeat; }

.slidemenu {
  top: 0;
  width: 240px;
  position: fixed;
  visibility: hidden;
  z-index: 2;
  height: 100%;
  overflow-y: auto; }

.slidemenu .slidemenu-header {
  position: relative; }

.slidemenu .slidemenu-body {
  height: 100%;
  /*overflow:hidden;*/
  position: relative; }

.slidemenu .slidemenu-body .slidemenu-content {
  width: 100%;
  height: 100%;
  position: relative;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

.slidemenu-right {
  right: 0; }

#contetns {
  position: relative; }
  @media only, screen and (max-width: 820px) {
    #contetns #sp_navi_contents {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      padding: 20px;
      justify-content: space-between;
      background-color: #fff;
      position: relative; }
      #contetns #sp_navi_contents a {
        flex-basis: 80%; }
        #contetns #sp_navi_contents a img {
          width: 100%;
          height: auto; } }
  @media only, screen and (max-width: 736px) {
    #contetns #sp_navi_contents {
      padding: 10px; } }

@media only, screen and (max-width: 820px) {
  .sp_bnr01 {
    width: 90%;
    margin: 0 auto 5px; }
    .sp_bnr01 .sp_bnr_inner01 {
      list-style: none;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      .sp_bnr01 .sp_bnr_inner01 li {
        width: 23%; } }
      @media only, screen and (max-width: 820px) and (max-width: 736px) {
        .sp_bnr01 .sp_bnr_inner01 li {
          width: 48%; } }

@media only, screen and (max-width: 820px) {
  .sp_bnr02 {
    width: 90%;
    margin: 0 auto 5px; }
    .sp_bnr02 .sp_bnr_inner02 {
      list-style: none;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      flex-wrap: wrap; } }
    @media only, screen and (max-width: 820px) and (max-width: 736px) {
      .sp_bnr02 .sp_bnr_inner02 {
        justify-content: space-between; } }
@media only, screen and (max-width: 820px) {
      .sp_bnr02 .sp_bnr_inner02 li {
        width: 23%;
        margin: 0 10px 10px 0; } }
      @media only, screen and (max-width: 820px) and (max-width: 736px) {
        .sp_bnr02 .sp_bnr_inner02 li {
          width: 48%;
          margin: 0; } }

@media only, screen and (max-width: 820px) {
  /* Run as one Tokyo marathon */
  .runasoneSP {
    width: 90%;
    margin: 40px auto;
    cursor: pointer; }

  .runasoneSP p {
    margin: 0 0 1em;
    font-size: 11px;
    text-align: left; }

  .runasoneSP a img {
    display: block;
    width: 48%;
    margin: 0 auto; }

  #runasBoxSP {
    display: none;
    margin: 0 0 30px;
    padding: 15px;
    border: solid 1px #ccc; }

  #runasBoxSP p {
    margin: 0 0 1em;
    padding: 0;
    font-size: 12px;
    line-height: 1.5;
    color: #333;
    text-decoration: none;
    text-align: justify;
    cursor: default; }

  #runasBoxSP p#boxCloseSP {
    margin: 0;
    color: #0052A6;
    text-decoration: underline;
    text-align: right; } }
@media only, screen and (max-width: 736px) {
  #runasoneSP {
    width: 90%;
    margin: 40px auto;
    cursor: pointer; } }
@media only, screen and (max-width: 1199px) {
  .open #drawerNav {
    z-index: 1000; }

  #drawerNav {
    display: block;
    width: 240px;
    height: 100%;
    position: fixed;
    color: #009c2c;
    right: -100vw;
    top: 70px;
    bottom: 0;
    overflow-y: scroll;
    background-color: #fff;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out; }

  #drawerNav.open {
    opacity: 1;
    z-index: 1000;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    right: 0; }

  #drawerNav ul {
    margin: 0;
    padding-top: 20px;
    font-size: 14px;
    line-height: 1.3;
    list-style: none; }

  #drawerNav ul li {
    margin: 0 0 20px;
    border-bottom: solid 1px #ddd; }

  #drawerNav ul li a,
  #drawerNav ul li span {
    display: block;
    padding: 0 15px 10px;
    color: #096bb7;
    text-decoration: none; }

  #drawerNav ul li span {
    cursor: pointer; }

  #drawerNav ul li.close span {
    margin-right: 15px;
    background: url(../img/icn_sp_arrow.png) right 3px no-repeat;
    background-size: 12px auto; }

  #drawerNav ul li.close span.open {
    margin-right: 15px;
    background: url(../img/icn_sp_arrow02.png) right 3px no-repeat;
    background-size: 12px auto; }

  #drawerNav ul li.close ul {
    display: none;
    margin: 0;
    padding: 20px 5px 5px 15px;
    background-color: #eee; }

  #drawerNav ul li.close ul li {
    margin: 0;
    border-bottom: none; }

  #drawerNav ul li.close ul li a {
    padding: 0 15px 10px;
    font-size: 12px; }

  #drawerNav ul li.close ul li ul {
    display: none;
    margin-left: 0;
    padding-top: 0; }

  #drawerNav ul li.close ul li ul li {
    margin: 0;
    border-bottom: none; }

  #drawerNav ul li.close ul li span {
    font-size: 12px; }

  #drawerNav ul li.close ul li ul li a {
    margin: 0;
    padding: 0 0 0.5em 1em;
    font-size: 12px;
    text-indent: -1em; }

  #drawerNav ul li.close ul li ul li a:before {
    content: "";
    display: inline-block;
    margin-left: 2em;
    text-indent: -2em; }

  .open #drawer-bg-w,
  .open #drawerNavbg {
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out; }

  .open #drawer-bg-w {
    width: 100%;
    height: 100%;
    z-index: 500;
    position: fixed;
    top: 0;
    background-color: #000;
    opacity: 0.4; }

  #drawer {
    display: block;
    position: fixed;
    right: 10px;
    top: 18px;
    width: 35px;
    height: 25px;
    padding: 5px;
    cursor: pointer;
    z-index: 1001;
    -webkit-tap-highlight-color: transparent; } }
  @media only, screen and (max-width: 1199px) and (max-width: 820px) {
    #drawer {
      top: 38px;
      right: 35px; } }
  @media only, screen and (max-width: 1199px) and (max-width: 736px) {
    #drawer {
      top: 18px;
      right: 15px; } }

@media only, screen and (max-width: 1199px) {
  #drawer div {
    position: relative; }

  #drawer div span {
    display: block;
    position: absolute;
    height: 2px;
    width: 26px;
    background: #009c2c;
    left: 4px;
    -webkit-transition: 0.35s ease-in-out;
    transition: 0.35s ease-in-out; }

  #drawer div span:nth-child(1) {
    top: 4px; }

  #drawer div span:nth-child(2) {
    top: 12px; }

  #drawer div span:nth-child(3) {
    top: 20px; }

  .open #drawer span {
    background: #009c2c; }

  .open #drawer span:nth-child(1) {
    top: 12px;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg); }

  .open #drawer span:nth-child(2) {
    width: 0;
    left: 50%; }

  .open #drawer span:nth-child(3) {
    top: 12px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg); } }
/* header
--------------------------------------------------------------------------------------------------------------------------------------------- */
#header {
  height: 200px;
  overflow: hidden; }
  @media only, screen and (max-width: 820px) {
    #header {
      height: auto; } }
  @media only, screen and (max-width: 820px) {
    #header #header_contents {
      display: none; } }

.carousel li img {
  display: none; }

.bx-viewport .carousel li img {
  display: block; }

.bx-wrapper .bx-viewport {
  overflow: visible !important;
  left: 119px;
  border-width: 0;
  box-shadow: none; }
  @media only, screen and (max-width: 820px) {
    .bx-wrapper .bx-viewport {
      left: 0; } }

.bx-viewport:before {
  right: 100%;
  left: -100%; }

.bx-viewport:after {
  left: 100%;
  right: -100%; }

#header_contents {
  width: 100vw;
  max-width: 1200px;
  height: 200px;
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  justify-content: space-between; }
  @media screen and (max-width: 1200px) {
    #header_contents {
      width: 96.6666666667vw; } }
  #header_contents h1 img {
    width: 260px;
    height: auto; }
  #header_contents ul {
    flex-basis: 364px;
    width: 364px;
    list-style: none;
    justify-content: flex-end;
    align-items: flex-start; }
    #header_contents ul li {
      height: 35px;
      margin-left: 3px;
      font-size: 16px;
      color: #fff;
      text-align: center;
      text-decoration: none;
      list-style: none;
      background: url(../img/bg_language.png) left top; }
      #header_contents ul li a {
        font-size: 16px;
        color: #fff;
        text-align: center;
        text-decoration: none; }
        @media only, screen and (max-width: 736px) {
          #header_contents ul li a {
            font-size: 14px; } }
        #header_contents ul li a:hover {
          color: #FEC900; }
        #header_contents ul li a img {
          width: 34px;
          height: 34px; }
      #header_contents ul li.language {
        width: 80px;
        padding: 0 15px 0 30px;
        line-height: 27px;
        cursor: pointer;
        position: relative; }
        #header_contents ul li.language:before {
          content: "";
          display: inline-block;
          width: 10px;
          height: 6px;
          margin: auto;
          background: url("../img/icn_language.png") left center/100% auto no-repeat;
          position: absolute;
          left: 10px;
          top: 0;
          bottom: 0; }
        #header_contents ul li.language ul {
          display: none;
          width: 100%;
          position: absolute;
          left: 0;
          top: 35px; }
          #header_contents ul li.language ul li {
            margin-left: 0; }
  #header_contents #header_left {
    width: 480px;
    background: url(../img/hl_bg.png) left top repeat;
    background-size: cover;
    align-items: center; }

#count {
  width: 200px; }

#countdown {
  margin-bottom: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  flex-wrap: wrap; }
  #countdown h2 {
    flex-basis: 94px;
    width: 94x;
    margin: 0 10px 0 0;
    padding: 7px 0;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    color: #0052a8;
    border-top: solid 1px #0052a8;
    border-bottom: solid 1px #0052a8; }
    @media only, screen and (max-width: 736px) {
      #countdown h2 {
        font-size: 12px; } }
  #countdown img {
    width: auto;
    height: 35px;
    margin-bottom: 5px; }
    #countdown img.time {
      margin-right: 10px; }

#xday_ttl {
  margin-bottom: 5px; }

#contetns {
  width: 100vw;
  max-width: 1200px;
  margin: 0 auto; }
  @media screen and (max-width: 1200px) {
    #contetns {
      width: 96.6666666667vw; } }
  @media only, screen and (max-width: 820px) {
    #contetns {
      width: 100%;
      padding-bottom: 100px; } }

#header_contetnts_inner {
  justify-content: space-between; }

/* Left content
--------------------------------------------------------------------------------------------------------------------------------------------- */
#contents_left {
  flex-basis: 260px;
  width: 260px;
  margin-bottom: 100px; }
  #contents_left img {
    vertical-align: bottom; }
  #contents_left ul li {
    list-style: none; }
  @media only, screen and (max-width: 820px) {
    #contents_left {
      display: none; } }

#side_navi_first {
  margin: 1px 0 20px; }
  #side_navi_first li a {
    display: block;
    width: 210px;
    height: 49px;
    margin-bottom: 1px;
    padding: 0 0 0 50px;
    font-size: 16px;
    font-weight: 700;
    line-height: 49px;
    color: #333;
    text-decoration: none;
    background: url(../img/icn_side_arrow.png) 20px center no-repeat #eee;
    background-size: 16px auto;
    transition: background 0.1s; }
    @media only, screen and (max-width: 736px) {
      #side_navi_first li a {
        font-size: 14px; } }
    #side_navi_first li a:hover, #side_navi_first li a.active {
      color: #fff;
      background: url(../img/icn_side_arrow.png) 20px center no-repeat #009c2c;
      background-size: 16px auto; }
    #side_navi_first li a.line2 {
      padding: 5px 0 5px 50px;
      line-height: 1.35; }

.side_navi_event a {
  display: block;
  width: 220px;
  height: 49px;
  margin-bottom: 20px;
  padding: 0 20px;
  font-size: 16px;
  font-weight: 700;
  line-height: 49px;
  color: #fff;
  text-decoration: none;
  background-color: #004a9a;
  opacity: 1;
  transition: opacity 0.1s; }
  @media only, screen and (max-width: 736px) {
    .side_navi_event a {
      font-size: 14px; } }
  .side_navi_event a:hover {
    opacity: 0.8; }

.side_navi_second {
  position: relative; }
  .side_navi_second a {
    display: block;
    width: 220px;
    height: 49px;
    margin-bottom: 30px;
    padding: 0 20px;
    font-size: 16px;
    font-weight: 700;
    line-height: 49px;
    color: #fff;
    text-decoration: none;
    background-color: #db0d08;
    opacity: 1;
    transition: opacity 0.1s; }
    @media only, screen and (max-width: 736px) {
      .side_navi_second a {
        font-size: 14px; } }
    .side_navi_second a:hover {
      opacity: 0.8; }

.txt-line2 a {
  height: inherit;
  padding: 15px 20px;
  line-height: 1.35; }

.btn-covid19 a {
  height: auto;
  padding: 10px 20px;
  line-height: 1.5; }

.btn-entry img {
  width: 27px;
  height: auto;
  position: absolute;
  bottom: 0;
  right: 35px; }

.btn-plan img {
  width: 63px;
  height: auto;
  position: absolute;
  bottom: 0;
  right: 0; }

.btn-volun img {
  width: 84px;
  height: auto;
  position: absolute;
  bottom: 0;
  right: 5px; }

.btn-running a {
  background-color: #009be9; }
.btn-running img {
  width: 32px;
  height: auto;
  position: absolute;
  bottom: 0;
  right: 5px; }

.btn-green a {
  background-color: #009a2c; }
.btn-green img {
  width: 32px;
  height: auto;
  position: absolute;
  bottom: 0;
  right: 5px; }

.btn-db a {
  background-color: #004a98; }

.side_navi_third {
  margin-bottom: 30px; }
  .side_navi_third a {
    display: block;
    width: 210px;
    height: 49px;
    margin-bottom: 1px;
    padding: 0 0 0 50px;
    font-size: 16px;
    font-weight: 700;
    line-height: 49px;
    color: #333;
    text-decoration: none;
    background: url(../img/icn_side_arrow.png) 20px center no-repeat #fdc800;
    background-size: 16px auto;
    opacity: 1;
    transition: opacity 0.1s; }
    @media only, screen and (max-width: 736px) {
      .side_navi_third a {
        font-size: 14px; } }
    .side_navi_third a:hover {
      opacity: 0.8; }

.side_navi_forth {
  margin-bottom: 10px; }
  .side_navi_forth a {
    opacity: 1;
    transition: opacity 0.1s; }
    .side_navi_forth a:hover {
      opacity: 0.8; }

.line2 a {
  height: inherit;
  padding: 5px 0 5px 50px;
  line-height: 1.5; }

#runasBox {
  display: none;
  margin: 0 0 30px;
  padding: 15px;
  border: solid 1px #ccc; }
  #runasBox #boxClose {
    margin: 0;
    color: #0052A6;
    text-decoration: underline;
    text-align: right;
    cursor: pointer; }

.runasone p {
  margin: 0 0 30px;
  font-size: 12px;
  cursor: default; }

/* Main content
--------------------------------------------------------------------------------------------------------------------------------------------- */
#main {
  width: 60.8333333333vw;
  max-width: 730px;
  margin: 0 30px;
  padding: 30px 0; }
  @media only, screen and (max-width: 820px) {
    #main {
      width: 90%;
      margin: 0 auto 30px;
      padding: 0; } }
  #main .day {
    margin-bottom: 30px; }

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, #main {
    width: 62%; }

  /* IE11 */ }
.main {
  width: 71.09375vw;
  max-width: 910px;
  margin: 0 0 30px 30px;
  padding: 30px 0; }
  @media only, screen and (max-width: 820px) {
    .main {
      width: 90%;
      max-width: inherit;
      margin: 0 auto 30px;
      padding: 0; } }
  .main .day {
    margin-bottom: 30px; }

#breadcrumbs {
  width: 100%;
  min-height: 24px;
  margin: 0;
  padding: 0;
  font-size: 12px;
  line-height: 14px;
  list-style: none; }
  @media only, screen and (max-width: 736px) {
    #breadcrumbs {
      font-size: 11px; } }
  #breadcrumbs li {
    display: inline-block;
    margin: 0 0 0 13px;
    padding: 0 0 0 22px;
    background: url(../img/icon_breadcrumbs.gif) left 3px no-repeat;
    background-size: 6px auto; }
    #breadcrumbs li:first-of-type {
      margin: 0;
      padding: 0;
      background: none; }
      @media only, screen and (max-width: 736px) {
        #breadcrumbs li:first-of-type {
          margin: 0 0 5px;
          padding: 0 15px 0 0; } }
    @media only, screen and (max-width: 736px) {
      #breadcrumbs li {
        margin: 0 0 5px; } }

#contents_main h2 {
  min-height: 24px;
  margin: 0 0 20px 0;
  padding: 34px 0 10px 0;
  font-size: 22px;
  border-bottom: 5px solid #009D24;
  line-height: 1.3; }
  @media only, screen and (max-width: 736px) {
    #contents_main h2 {
      font-size: 16px; } }
#contents_main h3 {
  margin: 25px 0 15px;
  padding: 10px 15px;
  font-size: 18px;
  background-color: #eee;
  border-left: 5px solid #db0d08; }
  @media only, screen and (max-width: 736px) {
    #contents_main h3 {
      font-size: 14px; } }
#contents_main h4 {
  margin: 25px 0 15px;
  padding: 0 0 5px;
  font-size: 16px;
  font-weight: 700;
  color: #009c2c;
  border-bottom: 2px solid #db0d08; }
  @media only, screen and (max-width: 736px) {
    #contents_main h4 {
      font-size: 12px; } }
#contents_main p {
  margin-bottom: 2em; }
#contents_main ul {
  list-style: inside; }
  #contents_main ul li {
    margin-left: 1em;
    text-indent: -1em; }
    #contents_main ul li.important {
      margin-left: 1em;
      text-indent: 0;
      list-style: none; }
      #contents_main ul li.important:before {
        content: "●";
        display: inline-block;
        font-size: 12px;
        text-indent: -1.25em; }
  #contents_main ul.guide-list {
    margin: 10px 0;
    padding: 20px;
    border: solid 1px #ccc; }
    @media only, screen and (max-width: 736px) {
      #contents_main ul.guide-list {
        padding: 0;
        border: none; } }
    #contents_main ul.guide-list li {
      font-size: 16px;
      font-weight: 700; }
      @media only, screen and (max-width: 736px) {
        #contents_main ul.guide-list li {
          font-size: 13px; } }
  #contents_main ul.list-indent03 {
    list-style: none; }
    #contents_main ul.list-indent03 li {
      margin-left: 3em;
      text-indent: -3em; }
  #contents_main ul .covid-check {
    margin: 10px 0;
    padding: 15px;
    border: solid 5px #db0d08; }
    @media only, screen and (max-width: 736px) {
      #contents_main ul .covid-check {
        padding: 10px;
        border: solid 3px #db0d08; } }
#contents_main .att {
  font-weight: 700;
  color: #db0d08; }
#contents_main .txt-att {
  display: inline-block;
  margin: 5px 0;
  padding: 5px 10px;
  font-size: 16px;
  background: #fdc800; }
#contents_main .txt-underline {
  text-decoration: underline; }
#contents_main .fs-18 {
  font-size: 18px; }
  @media only, screen and (max-width: 736px) {
    #contents_main .fs-18 {
      font-size: 16px; } }
#contents_main .txt_underline {
  padding: 0 3px;
  line-height: 16px;
  background-color: #fff;
  background-image: linear-gradient(0deg, #fdc800 16px, transparent 16px);
  background-size: 100% 16px; }
#contents_main table {
  width: 100%;
  margin: 0 0 10px;
  border-collapse: collapse; }
#contents_main iframe {
  width: 100%;
  min-height: 510px;
  margin-bottom: 30px;
  border: none; }
  @media only, screen and (max-width: 736px) {
    #contents_main iframe {
      min-height: 240px; } }

.bnr {
  display: inline-block;
  margin-bottom: 20px;
  padding: 10px 30px 10px 10px;
  position: relative;
  box-sizing: border-box; }
  .bnr--type-r {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    text-decoration: none;
    background-color: #d90d08;
    opacity: 1;
    transition: opacity 0.3s; }
    @media only, screen and (max-width: 820px) {
      .bnr--type-r {
        font-size: 14px; } }
    .bnr--type-r:hover {
      color: #fff;
      opacity: 0.7; }
    .bnr--type-r:after {
      content: "";
      display: block;
      width: 14px;
      height: 14px;
      margin: auto;
      background: url(../img/bnr_btn_type_r.png) left top/100% auto no-repeat;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 15px; }
      @media only, screen and (max-width: 820px) {
        .bnr--type-r:after {
          width: 16px;
          height: 16px; } }
  .bnr--type-y {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    color: #333;
    text-decoration: none;
    background-color: #f9c50d;
    opacity: 1;
    transition: opacity 0.3s; }
    @media only, screen and (max-width: 820px) {
      .bnr--type-y {
        font-size: 14px; } }
    .bnr--type-y:hover {
      opacity: 0.7; }
    .bnr--type-y:after {
      content: "";
      display: block;
      width: 14px;
      height: 14px;
      margin: auto;
      background: url(../img/bnr_btn_type_r.png) left top/100% auto no-repeat;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 15px; }
      @media only, screen and (max-width: 820px) {
        .bnr--type-y:after {
          width: 16px;
          height: 16px; } }
  .bnr.apology {
    font-size: 19px;
    background-color: #f9c50b; }
    @media only, screen and (max-width: 820px) {
      .bnr.apology {
        font-size: 14px; } }

#outline .aboutT th, .outline .aboutT th {
  padding: 10px;
  text-align: left;
  vertical-align: middle;
  border: solid 1px #ddd;
  background-color: #f5f5f5; }
  @media only, screen and (max-width: 736px) {
    #outline .aboutT th, .outline .aboutT th {
      display: table-cell;
      width: inherit; } }
  #outline .aboutT th.w73, .outline .aboutT th.w73 {
    width: 73px; }
  #outline .aboutT th.w75, .outline .aboutT th.w75 {
    width: 75px; }
  #outline .aboutT th.w120, .outline .aboutT th.w120 {
    width: 120px; }
    @media only, screen and (max-width: 736px) {
      #outline .aboutT th.w120, .outline .aboutT th.w120 {
        width: auto; } }
  #outline .aboutT th.w300, .outline .aboutT th.w300 {
    width: 300px; }
    @media only, screen and (max-width: 736px) {
      #outline .aboutT th.w300, .outline .aboutT th.w300 {
        width: auto; } }
  #outline .aboutT th.dotted, .outline .aboutT th.dotted {
    border-bottom: dotted 2px #ddd; }
#outline .aboutT td, .outline .aboutT td {
  padding: 10px;
  vertical-align: middle;
  border: solid 1px #ddd; }
  @media only, screen and (max-width: 736px) {
    #outline .aboutT td, .outline .aboutT td {
      display: table-cell;
      width: inherit; } }
  #outline .aboutT td.dotted, .outline .aboutT td.dotted {
    border-bottom: dotted 2px #ddd; }
  #outline .aboutT td img, .outline .aboutT td img {
    vertical-align: middle; }
@media only, screen and (max-width: 736px) {
  #outline .aboutT .tbl-fix, .outline .aboutT .tbl-fix {
    position: sticky;
    left: 0; }
    #outline .aboutT .tbl-fix:before, .outline .aboutT .tbl-fix:before {
      content: "";
      position: absolute;
      top: -1px;
      left: -1px;
      right: -1px;
      height: 100%;
      border: solid 1px #ddd; } }

.mb40 {
  margin-bottom: 40px; }

#contents_main .mb60 {
  margin-bottom: 60px; }

#contents_main .mb-none {
  margin-bottom: 0; }

.txt-indent {
  margin-left: 1em;
  text-indent: -1em; }

span.txt-indent {
  display: inline-block; }

.txt-indent-harf {
  margin-left: 0.5em;
  text-indent: -0.5em; }

#official {
  font-size: 12px; }

#outline td.noline {
  border: none; }

#outline td strong {
  font-weight: bold; }

@media only, screen and (max-width: 736px) {
  .sp_tbl_wrap {
    width: 100%;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch; } }
@media only, screen and (max-width: 736px) {
  .sp_tbl_wrap table {
    width: 800px !important; } }

.single-content p {
  margin-bottom: 1em; }

#main .spa {
  margin-bottom: 2em; }
  @media only, screen and (max-width: 820px) {
    #main .spa {
      margin-bottom: 1em; } }
  #main .spa .flex_box {
    justify-content: space-between; }
  #main .spa figure {
    width: 48%; }
    @media only, screen and (max-width: 820px) {
      #main .spa figure {
        width: 100%; } }
    #main .spa figure img {
      width: 100%;
      height: auto; }

.btn-furusato {
  justify-content: space-between;
  align-items: flex-start;
  /*center*/
  flex-wrap: wrap; }
  @media only, screen and (max-width: 1199px) {
    .btn-furusato {
      display: block; } }
  .btn-furusato p, .btn-furusato a {
    flex-basis: 39%;
    width: 39%;
    margin-bottom: 20px !important;
    padding: 15px 50px 15px 20px;
    font-size: 16px;
    line-height: 1.5;
    color: #333;
    text-decoration: none;
    background: url("../entry/img/icn_arrow.png") right center no-repeat #fdc800;
    background-size: 28px auto;
    oapcity: 1;
    transition: all 0.5s; }
    .btn-furusato p:hover, .btn-furusato a:hover {
      opacity: 0.9; }
    @media only, screen and (max-width: 1199px) {
      .btn-furusato p, .btn-furusato a {
        display: block;
        width: 89.5%; } }
    @media only, screen and (max-width: 820px) {
      .btn-furusato p, .btn-furusato a {
        width: 75.5%;
        margin-bottom: 10px;
        font-size: 14px; } }

.btnType02 {
  color: #fff !important;
  background: url("../entry/img/icn_arrow02.png") right center no-repeat #009be9 !important;
  background-size: 28px auto !important; }

.post_nav div {
  display: inline; }
.post_nav img {
  width: auto;
  height: 23px;
  vertical-align: bottom; }
.post_nav .list_post {
  display: inline-block;
  margin: 0 10px 0 0;
  padding: 0 10px;
  font-size: 14px;
  text-align: center;
  line-height: 23px;
  vertical-align: bottom;
  background-color: #ddd; }
  @media only, screen and (max-width: 820px) {
    .post_nav .list_post {
      font-size: 12px; } }
  .post_nav .list_post a {
    display: block;
    color: #333;
    text-decoration: none; }
.post_nav .prev_post a {
  margin-right: 10px; }

.pager {
  flex-wrap: wrap; }
  .pager .page-numbers {
    margin: 0 10px 10px 0;
    padding: 2px 11px 4px;
    font-size: 14px;
    color: #333;
    text-decoration: none;
    text-align: center;
    background-color: #ddd; }
    @media only, screen and (max-width: 820px) {
      .pager .page-numbers {
        margin: 0 5px 5px 0;
        padding: 3px 9px 4px;
        font-size: 12px; } }
  .pager .current {
    color: #fff;
    background-color: #db0d08; }
  .pager a:hover {
    color: #fff;
    background-color: #db0d08; }

/* Right content
--------------------------------------------------------------------------------------------------------------------------------------------- */
#contents_right {
  width: 150px;
  min-width: 150px;
  margin: 30px 0; }
  @media only, screen and (max-width: 820px) {
    #contents_right {
      width: 90%;
      min-width: inherit;
      margin: 0 auto; } }
  #contents_right h2 {
    min-height: 18px;
    margin: 0 0 10px 0;
    padding: 0;
    font-size: 11px;
    font-weight: normal;
    border-bottom: solid 1px #00A100; }

@media only, screen and (max-width: 820px) {
  #partnerBox ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; } }
#partnerBox ul li {
  margin: 0 0 10px;
  list-style: none;
  line-height: 1; }
  @media only, screen and (max-width: 820px) {
    #partnerBox ul li {
      margin: 0 10px 10px 0; } }
  @media only, screen and (max-width: 736px) {
    #partnerBox ul li {
      width: 48%;
      margin: 0 0 10px; } }
  #partnerBox ul li img {
    width: 100%; }
#partnerBox .part {
  margin: 0 0 20px 0;
  font-size: 10px;
  text-align: right; }
@media only, screen and (max-width: 736px) {
  #partnerBox .txt-partner-link {
    display: block;
    width: 100%; } }
@media only, screen and (max-width: 736px) {
  #partnerBox .txt-partner-link li {
    width: auto;
    display: inline; } }
#partnerBox .txt-partner-link li a {
  display: block;
  padding: 10px 10px 7px;
  margin-bottom: 3px;
  border: solid 1px #ccc;
  font-size: 11px;
  line-height: 1.3;
  color: #000;
  text-align: center;
  text-decoration: none;
  transition: all 0.1s; }
  #partnerBox .txt-partner-link li a:hover {
    background-color: #009D24;
    color: #fff;
    border: solid 1px #009D24; }
  @media only, screen and (max-width: 820px) {
    #partnerBox .txt-partner-link li a {
      display: inline;
      padding: 0;
      color: #0052A7;
      text-decoration: underline;
      border: none; }
      #partnerBox .txt-partner-link li a:hover {
        color: #0052A7;
        text-decoration: none;
        background: none;
        border: none; } }

@media only, screen and (max-width: 820px) {
  #partnerBox p.part {
    font-size: 10px;
    text-align: right;
    margin: 0 0 30px 0; }

  #contents_right #partnerBox ul.txt-partner-link {
    margin-bottom: 0.5em; }

  #contents_right #partnerBox ul.txt-partner-link li {
    max-width: inherit; }

  #contents_right #partnerBox ul.txt-partner-link li:after {
    content: "／";
    display: inline;
    padding-left: 5px; }

  #contents_right #partnerBox ul.txt-partner-link li:last-child::after {
    content: none; }

  #contents_right #partnerBox ul.txt-partner-link li a:hover {
    text-decoration: none; } }
/* Footer
--------------------------------------------------------------------------------------------------------------------------------------------- */
#footer {
  width: 100%;
  height: 80px;
  margin: 0;
  background-color: #333; }
  @media only, screen and (max-width: 1199px) {
    #footer {
      height: inherit; } }
  #footer #footer_inner {
    display: block;
    width: 1200px;
    height: 60px;
    margin: 0 auto;
    padding-top: 20px;
    position: relative; }
    @media only, screen and (max-width: 1199px) {
      #footer #footer_inner {
        width: 90%;
        height: inherit; } }
    #footer #footer_inner #footer_txt {
      width: 760px;
      height: 48px;
      margin: 0;
      padding: 0 20px 0 0;
      text-align: left;
      color: #fff;
      font-size: 12px; }
      @media only, screen and (max-width: 1199px) {
        #footer #footer_inner #footer_txt {
          width: 70%;
          height: inherit;
          padding: 10px 0; } }
      @media only, screen and (max-width: 736px) {
        #footer #footer_inner #footer_txt {
          width: 100%; } }
      #footer #footer_inner #footer_txt a {
        color: #FDC700; }
        #footer #footer_inner #footer_txt a:hover {
          text-decoration: none; }
  #footer #icn-footer {
    position: absolute;
    left: 0;
    top: -78px; }
    #footer #icn-footer img {
      width: 212px; }
  #footer #pagetop {
    width: 22px;
    height: 22px;
    margin: 101px 0 0 0;
    position: absolute;
    bottom: 10px;
    right: 0; }

/* お知らせ
------------------------------------------------------------------------------------- */
#news {
  margin-bottom: 30px; }
  #news .flex_box {
    flex-wrap: wrap; }
    #news .flex_box dt {
      flex-basis: 15%;
      width: 15%;
      margin-bottom: 10px; }
      @media only, screen and (max-width: 820px) {
        #news .flex_box dt {
          margin-bottom: 0; } }
    #news .flex_box dd {
      flex-basis: 85%;
      width: 85%;
      margin-bottom: 10px; }
      @media only, screen and (max-width: 820px) {
        #news .flex_box dd {
          margin-bottom: 20px; } }

/* コース紹介
------------------------------------------------------------------------------------- */
.txt-course-change {
  margin-bottom: 30px;
  color: #db0d08;
  font-size: 18px;
  font-weight: 700; }
  @media only, screen and (max-width: 736px) {
    .txt-course-change {
      font-size: 16px; } }

.mapImg p {
  margin-bottom: 30px; }
.mapImg iframe {
  width: 100%;
  min-height: 510px;
  margin-bottom: 30px;
  border: none; }
  @media only, screen and (max-width: 736px) {
    .mapImg iframe {
      min-height: 240px; } }

.course-movie {
  margin-bottom: 30px; }
  .course-movie iframe {
    width: 100%;
    min-height: 410px;
    border: none; }
    @media only, screen and (max-width: 736px) {
      .course-movie iframe {
        min-height: 160px; } }

/* ランニングコース紹介
------------------------------------------------------------------------------------- */
#map,
#map2,
#map3,
#map4,
#map5,
#gmap_canvas,
#running_map {
  width: 470px;
  height: 340px;
  margin: 0 0 30px 0; }

#running_map h3 {
  min-width: 100px; }

ol#running_list {
  width: 96%;
  height: 200px;
  margin: 20px 0 50px 0;
  padding: 0 20px 0 0;
  overflow-y: scroll; }

ol#running_list li {
  margin: 0 0 15px 0;
  padding: 0 0 15px 0;
  list-style: inside decimal;
  text-indent: 0;
  color: #0052A5;
  border-bottom: solid 1px #ccc; }

ol#running_list li a {
  text-decoration: none; }

span.running_info {
  padding: 0 0 0 1em;
  color: #333; }

#course_wrap {
  overflow: hidden;
  margin: 0 0 2em 0; }

#data {
  width: 470px; }

#course_wrap .bx-wrapper {
  width: 320px;
  max-width: 320px !important;
  margin: 0 auto 20px !important;
  padding: 0; }

#data h3,
#indoor h3 {
  margin: 0px 0 15px;
  padding: 0 0 0 10px;
  font-size: 16px;
  border-left: 5px solid #CCC; }

#data dl {
  margin: 0 0 1em 0;
  overflow: hidden; }

#data dl dt {
  clear: both;
  width: 4em;
  float: left; }

#data dl dd {
  width: 29em;
  margin: 0;
  float: left; }

ul#data_icon_list {
  margin: 0 0 0 55px;
  list-style: none;
  overflow: hidden; }

ul#data_icon_list li {
  margin: 0 10px 0 0;
  float: left; }

#run_img {
  width: 320px;
  max-width: 320px;
  margin: 0 auto 20px;
  list-style: none; }

table#running_add {
  width: 100%;
  border-collapse: collapse; }

table#running_add th {
  text-align: left;
  background-color: #F0F0F0; }

table#running_add th,
table#running_add td {
  padding: 10px;
  border: solid 1px #ccc; }

#contents_right #indoor p {
  margin: 0 0 5px 0; }

#contents_right #indoor p a {
  font-weight: bold; }

#indoor table {
  width: 100%;
  margin: 0 0 20px 0;
  border-collapse: collapse; }

#indoor table.areaEnd {
  margin: 0 0 40px; }

#indoor table thead th {
  background-color: #F0F0F0; }

#indoor table tbody th {
  background: none; }

#indoor table td {
  vertical-align: middle;
  line-height: 1.5; }

#indoor table th,
#indoor table td {
  padding: 5px;
  text-align: center;
  border: solid 1px #ccc; }

#indoor table td.ind_add {
  text-align: left; }

#indoor table td.ind_add {
  width: 18%;
  text-align: left; }

table td.ind_town {
  font-weight: bold; }

#ind_map iframe {
  width: 100%;
  height: 420px;
  border: 0; }
  @media only, screen and (max-width: 736px) {
    #ind_map iframe {
      height: 320px; } }

#c_map img {
  width: 100%;
  height: auto; }

/*交通規制のお知らせ*/
#traf {
  margin: 0 0 20px 0; }

#traf h3,
#traf h4 {
  margin: 0 0 5px;
  padding: 0;
  font-size: 16px;
  line-height: 1.5;
  color: #ff0000;
  background: none; }

#traf p {
  margin: 0; }

#contents_main .detour--list {
  margin-bottom: 60px;
  list-style: decimal inside; }

/* 公式スポンサー
--------------------------------------------------------------------------------------------------------------------------------------------- */
#sponsorBox h2 {
  min-height: 24px;
  margin: 0 0 20px 0;
  padding: 34px 0 10px 0;
  font-size: 22px;
  border-bottom: 5px solid #009D24;
  line-height: 1.3; }
  @media only, screen and (max-width: 736px) {
    #sponsorBox h2 {
      font-size: 18px; } }
#sponsorBox h3 {
  margin: 25px 0 15px;
  padding: 10px 15px;
  font-size: 18px;
  background-color: #eee;
  border-left: 5px solid #db0d08; }
#sponsorBox .part {
  font-size: 12px; }
#sponsorBox ul.flex_box {
  justify-content: flex-start;
  flex-wrap: wrap; }
  @media only, screen and (max-width: 736px) {
    #sponsorBox ul.flex_box {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      justify-content: space-between; } }
  #sponsorBox ul.flex_box li {
    width: 150px;
    margin: 0 10px 10px 0;
    list-style: none; }
    @media only, screen and (max-width: 736px) {
      #sponsorBox ul.flex_box li {
        width: 48%;
        margin: 0 0 10px; } }

/* よくある質問
--------------------------------------------------------------------------------------------------------------------------------------------- */
#faqCatBox {
  width: 100%;
  margin: 0 0 50px;
  justify-content: space-between; }
  @media only, screen and (max-width: 820px) {
    #faqCatBox {
      display: block; } }
  #faqCatBox ul {
    list-style: none;
    font-size: 12px; }
    #faqCatBox ul#faqCat02 {
      margin: 0 0 0 10px;
      padding: 0 0 0 30px;
      border-left: solid 1px #ccc; }
      @media only, screen and (max-width: 820px) {
        #faqCatBox ul#faqCat02 {
          margin: 0;
          padding: 0;
          border-left: none; } }
    #faqCatBox ul#faqCat03 {
      margin: 0 0 0 10px;
      padding: 0 0 0 30px;
      border-left: solid 1px #ccc; }
      @media only, screen and (max-width: 820px) {
        #faqCatBox ul#faqCat03 {
          margin: 0;
          padding: 0;
          border-left: none; } }
    #faqCatBox ul li {
      margin: 0;
      font-weight: 700;
      text-indent: 0; }
      #faqCatBox ul li a {
        display: block;
        font-weight: 500;
        margin: 0 0 5px;
        padding-left: 12px;
        background: url(../faq/img/icon_cat.gif) left 8px no-repeat;
        background-size: 6px auto; }

.faqBox,
.faqBox2 {
  margin: 0 0 40px; }

#contents_main .faqBox h4,
#contents_main .faqBox2 h4 {
  width: auto;
  padding: 5px 10px;
  margin: 0 0 10px;
  color: #fff;
  font-weight: 500;
  background-color: #333;
  border-bottom: none; }

.faqBox .accordion,
.faqBox2 dl {
  width: 100%; }

.faqBox .accordion dt {
  padding: 10px 30px 10px 0;
  border-bottom: solid 1px #ccc;
  cursor: pointer;
  background: url(../faq/img/icon_close.gif) right 20px no-repeat;
  background-size: 17px auto; }

.faqBox .accordion dt.open {
  font-weight: bold;
  background: url(../faq/img/icon_open.gif) right 20px no-repeat;
  background-size: 17px auto; }

.faqBox2 dt {
  margin: 0 0 5px;
  padding: 10px 0;
  font-weight: 700;
  border-bottom: solid 1px #ccc; }

.faqBox .accordion dd {
  margin: 0;
  padding: 20px;
  background-color: #efefef;
  overflow: hidden;
  display: none; }

.faqBox2 dd {
  margin: 0 0 20px;
  padding: 0; }

#contents_main .faqBox .accordion dd p,
#contents_main .faqBox2 dd p {
  padding: 0;
  margin-bottom: 1em;
  text-align: justify; }

#contents_main .faqBox .accordion dd p.mb-none,
#contents_main .faqBox2 dd p.mb-none,
#contents_main .faqBox .accordion dd p:last-child,
#contents_main .faqBox2 dd p:last-child {
  margin-bottom: 0; }

.faqBox .accordion dd ol,
.faqBox2 dd ol {
  list-style: inside none;
  margin: 0;
  padding: 0; }

.faqBox .accordion dd ol li,
.faqBox2 dd ol li {
  margin: 0 0 1em 1em;
  text-indent: -1em;
  text-align: justify; }

/* infomation
--------------------------------------------------------------------------------------------------------------------------------------------- */
#bus {
  width: 470px;
  margin: 0;
  padding: 0;
  font-size: 14px; }

#bus h3 {
  margin: 25px 0 15px;
  padding: 0 0 0 10px;
  font-size: 16px;
  border-left: solid 5px #009BE9; }

#bus h4 {
  height: 33px;
  margin: 0px 0px 15px 0px;
  padding: 0px 10px;
  line-height: 33px;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  background-color: #333; }

#bus table {
  margin: 0 0 30px; }

#bus table th {
  width: 100px;
  font-weight: normal;
  text-align: left;
  vertical-align: top; }

#bus table th#rstart {
  width: 135px; }

#bus table th,
#bus table td {
  padding: 0; }

/* course
--------------------------------------------------------------------------------------------------------------------------------------------- */
#kouteizu {
  max-width: 470px;
  width: 100%;
  margin: 0 auto 30px; }

#course,
#course02 {
  width: 470px;
  height: 264px;
  margin: 0 0 37px 0;
  padding: 0; }

#contents_main .areaBox,
#contents_main .areaBoxLast {
  width: 100%;
  margin: 0 0 30px;
  padding: 0 0 10px; }

#contents_main .areaBox {
  border-bottom: solid 1px #ccc; }

#contents_main .areaBox .areaRead,
#contents_main .areaBoxLast .areaRead {
  margin: 0 0 30px;
  overflow: hidden; }

#contents_main .areaBox .areaRead h3,
#contents_main .areaBoxLast .areaRead h3 {
  width: 130px;
  margin: 0 0 0 10px;
  padding: 0;
  border-left: none;
  background: none;
  float: left; }
  @media only, screen and (max-width: 736px) {
    #contents_main .areaBox .areaRead h3,
    #contents_main .areaBoxLast .areaRead h3 {
      margin: 0 auto 10px;
      float: none; } }

#contents_main .areaBox .areaRead p,
#contents_main .areaBoxLast .areaRead p {
  width: 78%;
  margin: 0;
  padding: 0;
  font-size: 14px;
  line-height: 1.75;
  text-align: left;
  text-align: justify;
  float: right; }
  @media only, screen and (max-width: 736px) {
    #contents_main .areaBox .areaRead p,
    #contents_main .areaBoxLast .areaRead p {
      width: 100%;
      float: none; } }

#contents_main .areaBox ul,
#contents_main .areaBoxLast ul {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media only, screen and (max-width: 820px) {
    #contents_main .areaBox ul,
    #contents_main .areaBoxLast ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }

#contents_main .areaBox ul li,
#contents_main .areaBoxLast ul li {
  flex-basis: 48%;
  width: 48%;
  margin: 0;
  padding: 0;
  text-indent: 0; }

#contents_main .areaBox ul li img,
#contents_main .areaBoxLast ul li img {
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0; }

#contents_main .areaBox ul li p,
#contents_main .areaBoxLast ul li p {
  margin: 5px 0 20px;
  padding: 0;
  text-align: center;
  font-size: 12px;
  line-height: 1.5; }

/* 楽しみ方
--------------------------------------------------------------------------------------------------------------------------------------------- */
#contents_right p#eventBnr {
  margin: 34px 0 0; }

#contents_right p#eventBnr {
  width: 100%;
  height: auto; }

#contents_right p#eventBnr img {
  width: 100%;
  height: auto; }

#contents_main table.guest {
  width: 100%;
  border-collapse: collapse; }
  #contents_main table.guest td {
    padding: 20px 0;
    vertical-align: top; }
    @media only, screen and (max-width: 736px) {
      #contents_main table.guest td {
        padding: 20px 0; } }
    #contents_main table.guest td.guestP {
      width: 144px;
      padding: 20px 20px 20px 0; }
      @media only, screen and (max-width: 736px) {
        #contents_main table.guest td.guestP {
          width: 100%;
          padding: 20px 0 0;
          border-bottom: none; } }
      @media only, screen and (max-width: 736px) {
        #contents_main table.guest td.guestP img {
          display: block;
          width: 144px;
          margin: 0 auto; } }
    #contents_main table.guest td p {
      margin: 0 0 5px; }
      #contents_main table.guest td p.runnerName {
        font-size: 18px;
        font-weight: 700; }
        @media only, screen and (max-width: 736px) {
          #contents_main table.guest td p.runnerName {
            font-size: 16px; } }
        #contents_main table.guest td p.runnerName span {
          font-size: 14px;
          font-weight: 500;
          color: #000; }
      #contents_main table.guest td p.record {
        margin: 0 0 5px 1em;
        text-indent: -1em; }
        #contents_main table.guest td p.record span {
          color: #009BE9; }
#contents_main .txt-map-ctrl {
  margin-bottom: 1em;
  font-size: 16px;
  font-weight: 700;
  text-indent: -0.5em; }
  @media only, screen and (max-width: 736px) {
    #contents_main .txt-map-ctrl {
      margin-bottom: 0;
      font-size: 12px; } }

.box_inner {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding-top: 56.25%; }
  .box_inner iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    border: none; }

/*過去の大会*/
ul#pastList {
  margin: 0;
  padding: 0;
  list-style: none; }

ul#pastList li {
  margin: 0 0 10px;
  padding: 0 0 0 40px;
  background: url("../img/icn_side_arrow.png") left center no-repeat;
  background-size: 16px auto; }

/* 外国語ページ */
#contents_main .flowBox {
  margin-bottom: 10px;
  padding: 20px 30px 5px;
  background-color: #efefef; }
  #contents_main .flowBox h3 {
    margin: 0 0 10px;
    padding: 0 0 10px;
    font-size: 18px;
    color: #db0d08;
    background: none;
    border-left: none;
    border-bottom: 1px solid #db0d08; }

.flowArrow {
  margin-bottom: 1em !important;
  text-align: center; }
  .flowArrow img {
    width: 14px !important; }

.applyBtn a,
.applyBtn span {
  display: block;
  width: 95px;
  margin: 20px auto 10px;
  padding: 10px 35px 10px 60px;
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  color: #0052A6;
  background: url("../img/icn_side_arrow.png") 25px center no-repeat scroll #ffcc00;
  background-size: 20px auto; }

.applyBtn2 {
  margin: 0 auto 40px;
  text-align: center; }
  @media only, screen and (max-width: 820px) {
    .applyBtn2 {
      margin: 0 auto 20px; } }

.applyBtn2 a,
.applyBtn2 span {
  display: block;
  margin: 0 auto 40px;
  padding: 15px 35px 15px 60px;
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  text-align: left;
  color: #0052A6;
  background: url("../img/icn_side_arrow.png") 25px center no-repeat scroll #ffcc00;
  background-size: 20px auto; }
  @media only, screen and (max-width: 820px) {
    .applyBtn2 a,
    .applyBtn2 span {
      margin: 0 auto 20px;
      padding: 10px 20px 10px 40px;
      font-size: 14px;
      background: url("../img/icn_side_arrow.png") 15px center no-repeat scroll #ffcc00;
      background-size: 14px auto; } }

.applyBtn2 small {
  font-size: 12px;
  padding-left: 10px; }
  @media only, screen and (max-width: 820px) {
    .applyBtn2 small {
      display: block;
      padding-left: 0;
      font-size: 10px; } }

.applyBtn a:hover,
.applyBtn2 a:hover {
  color: #DB0D08; }

/* ボタン */
.linkBtn a,
.linkBtn span {
  margin: 20px auto 10px;
  padding: 15px 35px 15px 60px;
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  text-align: left;
  color: #0052A6;
  background: url("../img/icn_side_arrow.png") 25px center no-repeat scroll #ffcc00;
  background-size: 20px auto; }
  @media only, screen and (max-width: 820px) {
    .linkBtn a,
    .linkBtn span {
      display: block;
      width: auto;
      min-width: inherit;
      font-size: 14px; } }

.linkBtn a:hover {
  color: #DB0D08; }

.linkBtn-red a {
  display: block;
  margin: 0 auto 40px;
  padding: 15px 35px 15px 60px;
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  text-align: left;
  color: #fff;
  background: url("../img/icn_arrow_w_r.png") 25px center no-repeat scroll #db0d08;
  background-size: 20px auto;
  opacity: 1; }
  @media only, screen and (max-width: 820px) {
    .linkBtn-red a {
      margin: 0 auto 20px;
      padding: 10px 20px 10px 40px;
      font-size: 14px;
      background: url("../img/icn_arrow_w_r.png") 15px center no-repeat scroll #db0d08;
      background-size: 14px auto; } }
  .linkBtn-red a:hover {
    opacity: 0.8; }

.checkpoint table {
  width: 100%;
  border-collapse: collapse; }
  .checkpoint table th {
    padding: 10px;
    border: solid 1px #ccc; }
  .checkpoint table td {
    padding: 10px;
    border: solid 1px #ccc; }

/* 大会概要
--------------------------------------------------------------------------------------------------------------------------------------------- */
#outline ol {
  margin: 0 0 1em 1.1em;
  text-indent: -1.1em;
  list-style: inside decimal; }

table {
  width: 100%;
  max-width: 730px;
  margin: 0 0 30px 0;
  line-height: 145%;
  border-collapse: collapse; }
  table th {
    padding: 10px;
    font-weight: bold;
    text-align: left;
    vertical-align: top;
    border-bottom: solid 1px #ddd; }
    @media only, screen and (max-width: 736px) {
      table th {
        display: block;
        width: 100%;
        padding: 10px 0 0;
        border-bottom: none; } }
    table th.w20 {
      width: 20%; }
      @media only, screen and (max-width: 736px) {
        table th.w20 {
          width: 100%; } }
  table td {
    padding: 10px;
    border-bottom: solid 1px #ddd; }
    @media only, screen and (max-width: 736px) {
      table td {
        display: block;
        width: 100%;
        padding: 0 0 10px; } }
    table td .att {
      font-weight: 700;
      color: #db0d08; }
  table.furusato {
    margin: 0 0 10px; }

/* entry
--------------------------------------------------------------------------------------------------------------------------------------------- */
#entry #supple {
  margin: 0 0 40px;
  overflow: hidden; }
  #entry #supple dd {
    margin: 0 0 0 2em; }
#entry ol {
  margin-bottom: 30px;
  list-style: inside decimal; }
  #entry ol li {
    margin-left: 1.1em;
    text-indent: -1.1em; }
#entry ul {
  margin-bottom: 30px;
  list-style: inside disc; }
  #entry ul li {
    margin-left: 1.1em;
    text-indent: -1.1em; }

/* ボランティア
------------------------------------------------------------------------------------- */
#volunteer {
  padding-top: 15px;
  line-height: 1.75; }
  @media only, screen and (max-width: 820px) {
    #volunteer {
      padding-top: 0; } }
  #volunteer .flex_box {
    margin: 0 auto 20px;
    justify-content: space-between; }
    #volunteer .flex_box figure {
      width: 49%; }
      #volunteer .flex_box figure img {
        width: 100%;
        height: auto;
        vertical-align: bottom; }
  #volunteer .volunteer-flyer img {
    display: block;
    width: 80%;
    height: auto;
    margin: 0 auto; }
    @media only, screen and (max-width: 736px) {
      #volunteer .volunteer-flyer img {
        width: 100%; } }
  #volunteer .term {
    margin-left: 1em;
    text-indent: -1em; }
  #volunteer table {
    padding-top: 10px;
    border-top: solid 1px #ddd;
    border-collapse: collapse;
    line-height: 1.75; }
    #volunteer table th {
      width: 18%;
      padding: 10px 0;
      text-align: left;
      vertical-align: top;
      border-bottom: solid 1px #ddd; }
      @media only, screen and (max-width: 820px) {
        #volunteer table th {
          display: block;
          width: 100%;
          padding: 10px 0 0;
          border-bottom: none; } }
    #volunteer table td {
      padding: 10px 0;
      border-bottom: solid 1px #ddd; }
      @media only, screen and (max-width: 820px) {
        #volunteer table td {
          display: block;
          width: 100%;
          padding: 0 0 10px; } }
      #volunteer table td .note {
        margin: 0 10px;
        padding: 2px 5px;
        font-size: 12px;
        text-align: center;
        color: #fff;
        background-color: #DB0D08;
        vertical-align: text-top; }
      #volunteer table td .arrow {
        display: block;
        width: 14px;
        margin: 0 auto; }
      #volunteer table td .linkBtn {
        margin-bottom: 10px; }
        #volunteer table td .linkBtn a {
          display: inline-block;
          margin: 0; }
      #volunteer table td ul {
        font-size: 0;
        list-style: none; }
        #volunteer table td ul.vol_fact {
          margin: 0 0 15px; }
        #volunteer table td ul li {
          margin-left: 1em;
          text-indent: -1em;
          font-size: 14px; }
          @media only, screen and (max-width: 820px) {
            #volunteer table td ul li {
              font-size: 12px; } }
    #volunteer table.activity {
      border-top: none; }
      #volunteer table.activity th {
        padding: 10px;
        background-color: #d0f7c2;
        border: solid 1px #fff; }
        @media only, screen and (max-width: 820px) {
          #volunteer table.activity th {
            display: table-cell;
            width: 32%; } }
      #volunteer table.activity td {
        padding: 10px;
        background-color: #E2F4DA;
        border: solid 1px #fff; }
        @media only, screen and (max-width: 820px) {
          #volunteer table.activity td {
            display: table-cell; } }
      #volunteer table.activity + p {
        margin-top: 20px; }
  #volunteer .place {
    margin-bottom: 10px !important;
    font-weight: bold; }
    #volunteer .place span {
      color: #666; }

#main .guidance img {
  width: 600px; }
  @media only, screen and (max-width: 736px) {
    #main .guidance img {
      width: 100%; } }
  #main .guidance img.x1 {
    width: 300px; }
    @media only, screen and (max-width: 736px) {
      #main .guidance img.x1 {
        width: 50%; } }

.check-sheet a img {
  border: solid 1px #ccc;
  box-sizing: border-box;
  opacity: 1;
  transition: opacity 0.1s; }
.check-sheet a:hover img {
  opacity: 0.8; }
.check-sheet a + a {
  display: inline-block;
  margin-bottom: 40px; }
  @media only, screen and (max-width: 736px) {
    .check-sheet a + a {
      margin-bottom: 20px; } }

#contents_main p.txtC a {
  display: block;
  width: 350px;
  margin: 0 auto; }
  @media only, screen and (max-width: 736px) {
    #contents_main p.txtC a {
      width: 100%;
      max-width: 300px; } }

#sns ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  list-style: none; }
  @media only, screen and (max-width: 736px) {
    #sns ul {
      display: block; } }
  #sns ul li {
    width: 27.34375vw;
    max-width: 350px; }
    @media only, screen and (max-width: 736px) {
      #sns ul li {
        width: 100%;
        max-width: 300px;
        margin: 0 auto 20px;
        text-indent: 0; } }

/* リザルト
------------------------ */
#contents_main .result {
  justify-content: space-between; }
  @media screen and (max-width: 820px) {
    #contents_main .result {
      display: block; } }
  #contents_main .result div {
    width: 48%; }
    @media screen and (max-width: 820px) {
      #contents_main .result div {
        width: 100%; } }
    #contents_main .result div ul li {
      margin: 0 0 15px;
      list-style: none;
      text-indent: 0; }
      #contents_main .result div ul li:before {
        content: "";
        display: inline-block;
        width: 16px;
        height: 16px;
        margin-right: 10px;
        background: url("../img/icn_stop_arrow.png") center center/100% auto no-repeat;
        vertical-align: middle; }

#message table th {
  width: 9.375vw;
  padding: 0 0 10px;
  text-align: left;
  vertical-align: top; }
  @media only, screen and (max-width: 736px) {
    #message table th {
      display: block;
      width: 100%;
      padding: 0 0 5px; } }
#message table td {
  width: 47.65625vw;
  padding: 0 0 10px; }
  @media only, screen and (max-width: 736px) {
    #message table td {
      display: block;
      width: 100%; } }
  #message table td input[type=text],
  #message table td input[type=tel],
  #message table td textarea {
    padding: 10px;
    font-size: 16px;
    border: solid 1px #ccc; }
    @media only, screen and (max-width: 736px) {
      #message table td input[type=text],
      #message table td input[type=tel],
      #message table td textarea {
        width: calc(100% - 20px); } }
#message .submit,
#message #formbtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center; }
  @media only, screen and (max-width: 736px) {
    #message .submit,
    #message #formbtn {
      display: block; } }
  #message .submit a, #message .submit input,
  #message #formbtn a,
  #message #formbtn input {
    width: 27.34375vw;
    max-width: 340px;
    margin: 0 10px; }
    @media only, screen and (max-width: 736px) {
      #message .submit a, #message .submit input,
      #message #formbtn a,
      #message #formbtn input {
        display: block;
        width: 300px;
        margin: 0 auto 10px;
        max-width: inherit; } }
    #message .submit a img, #message .submit input img,
    #message #formbtn a img,
    #message #formbtn input img {
      vertical-align: bottom;
      border: none; }

.sdgs-ttl span {
  padding-left: 3em; }
  @media screen and (max-width: 820px) {
    .sdgs-ttl span {
      padding-left: 0; } }

#main .sdgs-logo {
  width: 100%;
  margin-bottom: 30px;
  padding: 3.125vw 0;
  background-color: #efefef; }
  @media screen and (max-width: 820px) {
    #main .sdgs-logo {
      margin-bottom: 15px;
      padding: 3.125vw 0; } }
  #main .sdgs-logo img {
    display: block;
    width: 36.25vw;
    max-width: 464px;
    margin: 0 auto; }
    @media screen and (max-width: 820px) {
      #main .sdgs-logo img {
        width: 70%; } }
#main .sdgs .flex_box {
  margin-bottom: 30px;
  justify-content: space-between; }
  @media screen and (max-width: 820px) {
    #main .sdgs .flex_box {
      margin-bottom: 20px; } }
  #main .sdgs .flex_box div {
    width: 32.8125vw;
    max-width: 420px; }
    @media screen and (max-width: 820px) {
      #main .sdgs .flex_box div {
        width: 100%;
        max-width: inherit;
        margin-bottom: 20px; } }
    #main .sdgs .flex_box div h4 {
      margin: 0 0 15px;
      padding: 0 0 15px;
      font-size: 20px;
      font-weight: 700;
      color: #009a2c;
      line-height: 1.5;
      border-bottom: solid 1px #009a2c; }
      @media only, screen and (max-width: 736px) {
        #main .sdgs .flex_box div h4 {
          font-size: 16px; } }
    #main .sdgs .flex_box div ul {
      margin-bottom: 15px; }
    #main .sdgs .flex_box div.icn {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-content: flex-start;
      width: 250px;
      margin: 0; }
      @media only, screen and (max-width: 736px) {
        #main .sdgs .flex_box div.icn {
          width: 100%;
          justify-content: center; } }
      #main .sdgs .flex_box div.icn img {
        width: 120px;
        height: 120px;
        margin: 0 0 10px 10px;
        vertical-align: bottom; }
        @media only, screen and (max-width: 736px) {
          #main .sdgs .flex_box div.icn img {
            width: 25%;
            height: 25%;
            margin: 0 3px 10px; } }
        #main .sdgs .flex_box div.icn img:nth-of-type(2n+1) {
          margin: 0 0 10px; }
          @media only, screen and (max-width: 736px) {
            #main .sdgs .flex_box div.icn img:nth-of-type(2n+1) {
              margin: 0 3px 10px; } }
  #main .sdgs .flex_box figure figcaption {
    margin: 0 0 0 1em;
    font-size: 12px;
    text-indent: -1em; }
  #main .sdgs .flex_box.mb60 {
    margin: 0 0 60px; }
  #main .sdgs .flex_box.mb30 {
    margin: 0 0 30px; }
#main .sdgs a {
  display: block;
  margin: 0 0 5px;
  padding: 0 0 0 20px;
  background: url("../img/icn_stop_arrow.png") left 5px/16px auto no-repeat; }
#main .sdgs--record.flex_box {
  margin: 0 0 60px;
  background: #efefef;
  align-items: center;
  position: relative; }
  @media only, screen and (max-width: 736px) {
    #main .sdgs--record.flex_box {
      display: block;
      margin: 0 0 40px;
      padding: 75px 15px 15px; } }
  #main .sdgs--record.flex_box div {
    width: 24.921875vw;
    max-width: 319px; }
    @media only, screen and (max-width: 736px) {
      #main .sdgs--record.flex_box div {
        width: 100%;
        max-width: inherit; } }
    #main .sdgs--record.flex_box div p {
      text-align: justify; }
    #main .sdgs--record.flex_box div a {
      display: inline;
      padding: 0;
      background: none; }
#main .sdgs--record.no12 {
  padding: 30px 30px 30px 130px; }
  @media only, screen and (max-width: 736px) {
    #main .sdgs--record.no12 {
      padding: 75px 15px 15px; } }
#main .sdgs--record {
  margin: 0 0 60px;
  padding: 30px;
  background: #efefef;
  position: relative;
  /*div{
      width: calcVw(319px, 1280px)!important;
      max-width: 319px!important;
      
      @include iPhone{
          width: 100%!important;
          max-width: inherit!important;
      }
      
      p{
          text-align: justify;
      }
      
      a{
          display: inline;
          padding: 0;
          background: none;
      }
  }*/ }
  @media only, screen and (max-width: 736px) {
    #main .sdgs--record {
      display: block;
      margin: 0 0 40px;
      padding: 75px 15px 15px; } }
  #main .sdgs--record .record-icn {
    box-sizing: border-box;
    width: 88px;
    height: 88px;
    margin: auto;
    padding: 25px 0 0;
    font-weight: 700;
    line-height: 1.35;
    color: #009a2c;
    text-align: center;
    background: #fff;
    border: solid 2px #009a2c;
    border-radius: 88px;
    position: absolute;
    top: -20px;
    left: 20px; }
    @media only, screen and (max-width: 736px) {
      #main .sdgs--record .record-icn {
        width: 78px;
        height: 78px;
        padding: 21px 0 0;
        right: 0;
        left: 0; } }
  #main .sdgs--record figure {
    width: 320px; }
    #main .sdgs--record figure img {
      vertical-align: bottom; }
    @media only, screen and (max-width: 736px) {
      #main .sdgs--record figure {
        width: 100%; } }
#main .sdgs--record.mb-20 {
  margin: 0 0 20px; }
#main .sdgs .w48 {
  width: 48%; }
  @media only, screen and (max-width: 736px) {
    #main .sdgs .w48 {
      width: 100%;
      margin: 0 0 10px; } }
  #main .sdgs .w48 img {
    width: 100%; }
#main .sdgs figcaption {
  margin: 0 0 0 1em;
  font-size: 12px;
  text-indent: -1em; }
  @media only, screen and (max-width: 736px) {
    #main .sdgs figcaption {
      font-size: 10px; } }
