@charset "UTF-8";
/*ブレークポイント*/
/*調整用*/
#mainContainer {
  width: 100%;
  height: auto;
  margin: 50px auto 0;
  padding: 0;
  box-sizing: border-box;
  display: block;
  position: relative;
  background: #fff;
  font-family: -apple-system, BlinkMacSystemFont, "メイリオ", Meiryo, "Helvetica Neue", "Segoe UI", sans-serif; }
  @media (min-width: 768px) {
    #mainContainer {
      margin: 0 auto;
      min-width: 960px;
      overflow-x: hidden; } }

.slideWrapper {
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
  display: block; }
  .slideWrapper .topSlide {
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    display: block; }
    .slideWrapper .topSlide img {
      width: 100%;
      height: auto;
      margin: 0 auto;
      padding: 0;
      box-sizing: border-box;
      display: block; }
  .slideWrapper .slick-prev {
    width: 30px;
    height: 30px;
    margin: auto;
    padding: 0;
    box-sizing: border-box;
    display: block;
    background: url(../img/btn_prev.png) 50% 50% no-repeat rgba(0, 0, 0, 0.8);
    background-size: 10px auto;
    border-radius: 50%;
    position: absolute;
    left: 3px;
    top: 0;
    bottom: 0;
    cursor: pointer; }
    @media (min-width: 768px) {
      .slideWrapper .slick-prev {
        width: 40px;
        height: 40px;
        left: 10px; } }
    .slideWrapper .slick-prev:hover {
      opacity: 0.5; }
  .slideWrapper .slick-next {
    width: 30px;
    height: 30px;
    margin: auto;
    padding: 0;
    box-sizing: border-box;
    display: block;
    background: url(../img/btn_next.png) 50% 50% no-repeat rgba(0, 0, 0, 0.8);
    background-size: 10px auto;
    border-radius: 50%;
    position: absolute;
    right: 3px;
    top: 0;
    bottom: 0;
    cursor: pointer; }
    @media (min-width: 768px) {
      .slideWrapper .slick-next {
        width: 40px;
        height: 40px;
        right: 10px; } }
    .slideWrapper .slick-next:hover {
      opacity: 0.5; }

h2 {
  width: 100%;
  height: auto;
  margin: 0 auto 40px;
  padding: 0;
  box-sizing: border-box;
  display: block;
  text-align: center; }
  h2 p.titleTxt {
    width: auto;
    height: auto;
    margin: 0 auto;
    padding: 0 0 0 40px;
    box-sizing: border-box;
    display: inline-block;
    font-size: 24px;
    border-bottom: 1px solid #222; }
  h2 p.subTxt {
    width: auto;
    height: auto;
    margin: 0 auto;
    padding: 5px;
    box-sizing: border-box;
    display: block;
    font-size: 11px;
    font-weight: normal; }

section.content {
  width: 100%;
  max-width: 940px;
  height: auto;
  margin: 0 auto;
  padding: 0 10px;
  box-sizing: border-box;
  display: block; }
  @media (min-width: 768px) {
    section.content {
      width: 960px; } }
  section.content.pc {
    display: none; }
    @media (min-width: 768px) {
      section.content.pc {
        display: block; } }
  section.content.sp {
    display: block; }
    @media (min-width: 768px) {
      section.content.sp {
        display: none; } }

.raceArea {
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 60px 0;
  box-sizing: border-box;
  display: block;
  background: #fff; }
  .raceArea p.titleTxt {
    background: url(../img/icon_race.png) top 50% left 0 no-repeat;
    background-size: 30px auto; }
  .raceArea table.race_sp {
    width: 100%;
    height: auto;
    margin: 0 auto 10px;
    padding: 0;
    box-sizing: border-box;
    table-layout: fixed;
    border-collapse: collapse;
    display: table;
    border: 1px solid #aaa; }
    .raceArea table.race_sp tr {
      width: 100%;
      height: auto;
      margin: 0 auto;
      padding: 0;
      box-sizing: border-box;
      border-bottom: 1px solid #aaa; }
      .raceArea table.race_sp tr:last-child {
        border: none; }
      .raceArea table.race_sp tr.morning {
        background: #F0AD2D; }
      .raceArea table.race_sp tr.dayTime {
        background: #FD6A45; }
      .raceArea table.race_sp tr.night {
        background: #3E499D; }
    .raceArea table.race_sp th {
      width: auto;
      height: 30px;
      margin: 0 auto;
      padding: 0;
      box-sizing: border-box;
      vertical-align: middle;
      text-align: center;
      position: relative;
      font-weight: normal; }
    .raceArea table.race_sp td {
      width: 140px;
      height: 40px;
      margin: 0 auto;
      padding: 0;
      box-sizing: border-box;
      vertical-align: middle;
      text-align: center;
      position: relative;
      border-right: 1px solid #aaa;
      font-weight: bold; }
      .raceArea table.race_sp td:last-child {
        border: none; }
      .raceArea table.race_sp td.morning {
        color: #F8863B;
        font-weight: bold; }
      .raceArea table.race_sp td.dayTime {
        color: #F5684A;
        font-weight: bold; }
      .raceArea table.race_sp td.night {
        color: #38489F;
        font-weight: bold; }
    .raceArea table.race_sp p {
      width: auto;
      height: 30px;
      margin: 0;
      padding: 0 0 0 30px;
      box-sizing: border-box;
      display: inline-block;
      line-height: 30px;
      color: #fff;
      font-weight: bold; }
    .raceArea table.race_sp p.morning {
      background: url(../img/icon_morning.png) top 50% left 0 no-repeat;
      background-size: 25px auto;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%); }
    .raceArea table.race_sp p.dayTime {
      background: url(../img/icon_day.png) 0% 50% no-repeat;
      background-size: 25px auto; }
    .raceArea table.race_sp p.night {
      background: url(../img/icon_night.png) top 50% left 0 no-repeat;
      background-size: 18px auto;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%); }
  .raceArea table.race_pc {
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    table-layout: fixed;
    border-collapse: collapse;
    display: table;
    border: 1px solid #aaa; }
    .raceArea table.race_pc tr {
      width: 100%;
      height: auto;
      margin: 0 auto;
      padding: 0;
      box-sizing: border-box;
      border-bottom: 1px solid #aaa; }
      .raceArea table.race_pc tr:last-child {
        border: none; }
    .raceArea table.race_pc th {
      width: auto;
      height: 40px;
      margin: 0 auto;
      padding: 0;
      box-sizing: border-box;
      vertical-align: middle;
      text-align: center;
      position: relative;
      font-weight: normal;
      background: linear-gradient(90deg, #f0ae2c 0%, #f3a031 13.07%, #f97d3e 37.44%, #fd6946 49.49%, #554d92 89.78%, #2946a6 100%); }
    .raceArea table.race_pc td {
      width: 140px;
      height: 60px;
      margin: 0 auto;
      padding: 0;
      box-sizing: border-box;
      vertical-align: middle;
      text-align: center;
      position: relative;
      border-right: 1px solid #aaa; }
      .raceArea table.race_pc td:last-child {
        border: none; }
      .raceArea table.race_pc td:nth-child(1), .raceArea table.race_pc td:nth-child(2) {
        color: #F8863B;
        font-weight: bold; }
      .raceArea table.race_pc td:nth-child(3), .raceArea table.race_pc td:nth-child(4), .raceArea table.race_pc td:nth-child(5) {
        color: #F5684A;
        font-weight: bold; }
      .raceArea table.race_pc td:nth-child(6), .raceArea table.race_pc td:nth-child(7) {
        color: #38489F;
        font-weight: bold; }
    .raceArea table.race_pc p {
      width: auto;
      height: 40px;
      margin: 0;
      padding: 0 0 0 35px;
      box-sizing: border-box;
      display: inline-block;
      text-align: center;
      line-height: 40px;
      color: #fff;
      font-weight: bold; }
    .raceArea table.race_pc p.morning {
      background: url(../img/icon_morning.png) top 50% left 0 no-repeat;
      background-size: 30px auto;
      position: absolute;
      top: 0;
      left: 0;
      transform: translateX(100%); }
    .raceArea table.race_pc p.dayTime {
      background: url(../img/icon_day.png) 0% 50% no-repeat;
      background-size: 25px auto; }
    .raceArea table.race_pc p.night {
      background: url(../img/icon_night.png) top 50% left 0 no-repeat;
      background-size: 25px auto;
      position: absolute;
      top: 0;
      right: 0;
      transform: translateX(-100%); }

.newsArea {
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 60px 10px;
  box-sizing: border-box;
  display: block;
  background: url(../img/bg_news.png) bottom 0% left 0% repeat-x #d8e2ea;
  background-size: 100px auto; }
  .newsArea p.titleTxt {
    background: url(../img/icon_info.png) top 50% left 0 no-repeat;
    background-size: 30px auto; }
  .newsArea ul.newsList {
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    display: block; }
    @media (min-width: 768px) {
      .newsArea ul.newsList {
        width: 700px; } }
    .newsArea ul.newsList li.eventWrapper {
      width: 100%;
      height: auto;
      margin: 0 auto 4px;
      padding: 4px;
      box-sizing: border-box;
      display: block;
      border-bottom: 1px solid #3c3c3c; }
      .newsArea ul.newsList li.eventWrapper .newsInfo {
        width: 100%;
        height: auto;
        margin: 0 auto 5px;
        padding: 0;
        box-sizing: border-box;
        display: block; }
        @media (min-width: 768px) {
          .newsArea ul.newsList li.eventWrapper .newsInfo {
            height: 25px;
            width: 35%;
            float: left; } }
        .newsArea ul.newsList li.eventWrapper .newsInfo p.category {
          width: 100px;
          height: 25px;
          margin: 0 5px 0 0;
          padding: 0;
          box-sizing: border-box;
          display: block;
          float: left;
          text-align: center;
          background: #036eb0;
          line-height: 25px;
          border-radius: 15px;
          color: #fff; }
        .newsArea ul.newsList li.eventWrapper .newsInfo p.date {
          width: 100px;
          height: 25px;
          margin: 0 auto;
          padding: 0;
          box-sizing: border-box;
          display: block;
          float: left;
          text-align: center;
          line-height: 25px;
          font-weight: bold;
          color: #222; }
      .newsArea ul.newsList li.eventWrapper .newsDetail {
        width: 100%;
        height: auto;
        margin: 0 auto;
        padding: 0;
        box-sizing: border-box;
        display: block; }
        @media (min-width: 768px) {
          .newsArea ul.newsList li.eventWrapper .newsDetail {
            width: 65%;
            float: left; } }
        .newsArea ul.newsList li.eventWrapper .newsDetail p.txt {
          width: 100%;
          height: auto;
          margin: 0 auto;
          padding: 0 3px;
          box-sizing: border-box;
          display: block;
          color: #222;
          /*overflow: hidden;20180928オープン前修正*/
          /*white-space: nowrap;20180928オープン前修正*/
          text-overflow: ellipsis; }
          @media (min-width: 768px) {
            .newsArea ul.newsList li.eventWrapper .newsDetail p.txt {
              /*height: 25px;20180928オープン前修正*/
              line-height: 25px; } }

.accessArea {
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 60px 10px;
  box-sizing: border-box;
  display: block;
  background: #fff; }
  @media (min-width: 768px) {
    .accessArea {
      width: 800px; } }
  .accessArea p.titleTxt {
    background: url(../img/icon_access.png) top 50% left 0 no-repeat;
    background-size: 30px auto; }
  .accessArea .map {
    width: 100%;
    height: auto;
    margin: 0 auto 5px;
    padding: 0;
    box-sizing: border-box;
    display: block; }
    @media (min-width: 768px) {
      .accessArea .map {
        width: 450px;
        float: left; } }
    .accessArea .map img {
      width: 100%;
      max-width: 450px;
      height: auto;
      margin: 0 auto;
      padding: 0;
      box-sizing: border-box;
      display: block; }
  .accessArea .mapTxt {
    width: 100%;
    max-width: 450px;
    height: auto;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    display: block; }
    @media (min-width: 768px) {
      .accessArea .mapTxt {
        width: 350px;
        padding: 0 0 0 20px;
        float: left; } }
    .accessArea .mapTxt p {
      width: 100%;
      height: auto;
      margin: 0 auto 10px;
      padding: 0;
      box-sizing: border-box;
      display: block; }

.btnWrapper {
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 30px 0 0;
  box-sizing: border-box;
  display: block;
  text-align: center; }
  .btnWrapper a.linkBtn {
    width: auto;
    height: 40px;
    margin: 0 auto;
    padding: 0 30px;
    box-sizing: border-box;
    display: inline-block;
    border-radius: 20px;
    background: linear-gradient(90deg, #7ecef4 0%, #7ec8eb 26.87%, #7eb7d3 70.39%, #7eaec7 88.63%);
    color: #fff;
    text-align: center;
    font-weight: bold;
    line-height: 40px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); }

.linkArea {
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 60px 10px;
  box-sizing: border-box;
  display: block;
  background: #222;
  color: #fff; }
  @media (min-width: 768px) {
    .linkArea {
      min-width: 960px; } }
  .linkArea p.titleTxt {
    background: url(../img/icon_link.png) top 50% left 0 no-repeat;
    background-size: 25px auto;
    border-color: #fff; }
  .linkArea ul.bannerWrapper {
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    display: block;
    text-align: center; }
    .linkArea ul.bannerWrapper li {
      width: auto;
      height: auto;
      margin: 0 auto 10px;
      padding: 0;
      box-sizing: border-box;
      display: inline-block; }
      @media (min-width: 768px) {
        .linkArea ul.bannerWrapper li {
          margin: 0 5px 0 0;
          box-sizing: border-box; }
          .linkArea ul.bannerWrapper li:last-child {
            margin: 0; } }
      .linkArea ul.bannerWrapper li img {
        width: 100%;
        height: auto;
        margin: 0 auto;
        padding: 0;
        box-sizing: border-box;
        display: inline; }
        @media (min-width: 768px) {
          .linkArea ul.bannerWrapper li img {
            width: 290px; } }

.detailArea {
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 10px 10px;
  box-sizing: border-box;
  display: block;
  background: #fff; }
  @media (min-width: 768px) {
    .detailArea {
      padding: 60px 10px;
      min-width: 960px; } }
  .detailArea .imgWrapper {
    width: 100%;
    height: auto;
    margin: 0 auto 30px;
    padding: 0 0;
    box-sizing: border-box;
    display: block; }
    .detailArea .imgWrapper img {
      width: 100%;
      height: auto;
      margin: 0 auto;
      padding: 0;
      box-sizing: border-box;
      display: block; }
  .detailArea .txtWrapper {
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    display: block; }
    @media (min-width: 768px) {
      .detailArea .txtWrapper {
        padding: 10px 35px; } }
    .detailArea .txtWrapper h2 {
      width: 100%;
      height: auto;
      margin: 20px 0;
      padding: 3px 0 3px 10px;
      box-sizing: border-box;
      display: block;
      font-size: 23px;
      position: static;
      text-align: left;
      border-left: 5px solid #036eb0;
      line-height: 1.0; }
      @media (min-width: 768px) {
        .detailArea .txtWrapper h2 {
          font-size: 26px; } }
    .detailArea .txtWrapper h3 {
      width: 100%;
      height: auto;
      margin: 20px 0 15px;
      padding: 6px;
      box-sizing: border-box;
      display: block;
      font-size: 17px;
      position: static;
      text-align: left;
      background: #d8e2ea;
      line-height: 1.0; }
      @media (min-width: 768px) {
        .detailArea .txtWrapper h3 {
          font-size: 20px; } }
    .detailArea .txtWrapper p {
      width: 100%;
      height: auto;
      margin: 0 auto 15px;
      padding: 0 7px;
      box-sizing: border-box;
      display: block; }
  .detailArea ul.colWrapper {
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    display: block; }
    @media (min-width: 768px) {
      .detailArea ul.colWrapper {
        width: 800px; } }
    .detailArea ul.colWrapper li {
      width: 100%;
      height: auto;
      margin: 0 auto;
      padding: 0;
      box-sizing: border-box;
      display: block; }
      @media (min-width: 768px) {
        .detailArea ul.colWrapper li {
          width: 50%;
          padding: 0 10px 20px;
          float: left; } }
      .detailArea ul.colWrapper li .txtWrapper {
        width: 100%;
        height: auto;
        margin: 0 auto;
        padding: 0;
        box-sizing: border-box;
        display: block; }
        @media (min-width: 768px) {
          .detailArea ul.colWrapper li .txtWrapper {
            padding: 10px; } }
      .detailArea ul.colWrapper li .imgWrapper {
        width: 100%;
        height: auto;
        margin: 0 auto 10px;
        padding: 0 0;
        box-sizing: border-box;
        display: block; }
        .detailArea ul.colWrapper li .imgWrapper img {
          width: 100%;
          height: auto;
          margin: 0 auto;
          padding: 0;
          box-sizing: border-box;
          display: block; }
