@charset "UTF-8";
/*============================
.mod-page-select
============================*/
.mod-page-select { overflow: hidden; margin-bottom: 20px; }

.mod-page-select .body { float: right; overflow: hidden; }

.mod-page-select .text { position: relative; float: left; margin: 7px 20px 0 0; padding-left: 30px; font-size: 14px; font-size: 1.4rem; }

.mod-page-select .text :before { position: absolute; content: ''; top: 50%; left: 0; width: 24px; height: 24px; margin-top: -12px; background: url("/common/image/ico_guide_01.png") no-repeat; background-size: 24px 24px; }

.mod-page-select .text .link { color: #153d8d; text-decoration: underline; }

.mod-page-select .text .link:hover { text-decoration: none; }

.mod-page-select .select { float: left; min-width: 360px; }

.mod-page-select.is-drive .text { margin: 16px 20px 0 0; }

.mod-page-select.is-drive .select { margin: 10px 20px 0 0; }

.mod-page-select.is-drive .btn { margin: 7px 0 0 0; }

.mod-page-select.is-drive .btn a { padding: 5px 12px; }

@media screen and (max-width: 767px) { .mod-page-select .body { float: none; }
  .mod-page-select .text { float: none; width: 100%; margin-bottom: 15px; }
  .mod-page-select .select { float: none; min-width: 0; width: 100%; }
  .mod-page-select.is-drive .text { margin: 0 0 15px 0; }
  .mod-page-select.is-drive .select { margin: 0 0 15px 0; }
  .mod-page-select.is-drive .btn { margin: 0; }
  .mod-page-select.is-drive .btn a { padding: 5px 12px; } }

/*============================
.mod-calender-year
============================*/
.mod-calender-year { position: relative; padding: 6px 20px; margin-bottom: 20px; background-color: #f7f7f7; }

.mod-calender-year .title { text-align: center; font-size: 20px; font-size: 2.0rem; font-weight: bold; }

.mod-calender-year .list { position: absolute; top: 10px; font-size: 16px; font-size: 1.6rem; font-weight: bold; color: #7f7f7f; opacity: .7; }

.mod-calender-year .is-active { opacity: 1; }

.mod-calender-year .is-active .link { color: #7f7f7f; }

.mod-calender-year .s-prev { left: 40px; }

.mod-calender-year .s-prev :before { position: absolute; content: ''; top: 50%; left: -20px; -webkit-transform: translateY(-50%); transform: translateY(-50%); width: 7px; height: 18px; background-size: 7px 18px; background: url("/common/image/ico_arrow_calender_prev_01.png"); }

.mod-calender-year .s-next { right: 40px; }

.mod-calender-year .s-next :before { position: absolute; content: ''; top: 50%; right: -20px; -webkit-transform: translateY(-50%); transform: translateY(-50%); width: 7px; height: 18px; background-size: 7px 18px; background: url("/common/image/ico_arrow_calender_next_01.png"); }

@media screen and (max-width: 767px) { .mod-calender-year .title { font-size: 14px; font-size: 1.4rem; }
  .mod-calender-year .list { top: 5px; font-size: 0px; font-size: 0em; line-height: 24px; }
  .mod-calender-year .list .link:before { opacity: 1; }
  .mod-calender-year .s-prev { left: 30px; }
  .mod-calender-year .s-next { right: 30px; } }

/*============================
.mod-calender-month
============================*/
.mod-calender-month { padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid #e5e5e5; }

.mod-calender-month .lists { display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-flex-wrap: nowrap; -ms-flex-wrap: nowrap; flex-wrap: nowrap; }

.mod-calender-month .list { margin: 0 12px; padding: 15px 8px 18px; font-size: 18px; font-size: 1.8rem; color: #7f7f7f; opacity: .7; }

.mod-calender-month .list a { position: relative; color: #7f7f7f; font-size: 18px; font-size: 1.8rem; z-index: 1; }

.mod-calender-month .list .is-active { color: #fff; }

.mod-calender-month .list .is-active:before { position: absolute; content: ''; left: 50%; bottom: -10px; -webkit-transform: translateX(-50%) rotate(40deg) skewY(10deg); transform: translateX(-50%) rotate(40deg) skewY(10deg); z-index: -1; border: 8px solid #ff0000; border-radius: 3px; }

.mod-calender-month .list .is-active:after { position: absolute; content: ''; left: 50%; top: 50%; -webkit-transform: translate(-50%, -53%); transform: translate(-50%, -53%); z-index: -1; width: 44px; height: 44px; border-radius: 50%; background: #ff0000; }

.mod-calender-month .list.is-active { opacity: 1; }

@media screen and (max-width: 980px) { .mod-calender-month { overflow-x: scroll; }
  .mod-calender-month .lists { width: 430px; margin: 0 auto; }
  .mod-calender-month .lists .list { margin: 0 5px; padding: 0; }
  .mod-calender-month .lists .list a { font-size: 12px; font-size: 1.2rem; }
  .mod-calender-month .lists .list .is-active:before { border-width: 5px; bottom: -7px; }
  .mod-calender-month .lists .list .is-active:after { width: 30px; height: 30px; } }

.mod-calendar {
  clear: both;
}
.mod-calendar.is-headerFixed table,
.mod-calendar.is-sideFixed table,
.mod-calendar.is-headerReady table {
  display: block;
  position: relative;
}
.mod-calendar > table td {
  background: #fff;
}
.mod-calendar > table > thead {
  position: relative;
  top: 0;
  z-index: 9;
  overflow-x: hidden;
}
.mod-calendar.is-headerReady table > thead {
  display: table;
}
.mod-calendar.is-headerFixed > table > thead {
  display: table;
  width: 1140px;
  position: fixed;
  top: 102px;
  -webkit-transition: top 0.5s;
  -ms-transition: top 0.5s;
  transition: top 0.5s;
}
.mod-calendar:not(.mod-calendar-sales-info).is-headerFixed > table > thead {
  max-width: 100vw;
  max-width: calc(100vw - 20px);
}
.has-scroll-bar .mod-calendar:not(.mod-calendar-sales-info).is-headerFixed > table > thead {
  max-width: calc(100vw - 47px);
}
.mod-calendar:not(.is-headerFixed) > table > thead {
  left: 0 !important;
}
.mod-calendar.is-sideFixed > table > thead {
  display: block;
}
.mod-calendar.is-headerHide > table > thead,
.has-scroll-bar .mod-calendar.is-headerHide > table > thead {
  max-width: none;
  position: absolute;
  top: auto;
  left: 0 !important;
  bottom: 0;
}
.mod-calendar.is-sideFixed > table > thead > tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
}
.mod-calendar.is-sideFixed > table > thead > tr > td {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.mod-calendar.is-sideFixed.is-headerHide > table > thead > tr:first-child {
  left: 0!important;
}
.mod-calendar.is-sideFixed > table > thead > tr:not(:only-child):last-child {
  z-index: 0;
}
.mod-calendar.is-headerFixed > table > tbody > tr > td,
.mod-calendar.is-sideFixed > table > tbody >  tr > td {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.mod-calendar.mod-calendar-sales-info > table > tbody > tr > td {
  white-space: normal;
  word-wrap: break-word;
}
.mod-calendar.is-headerFixed > table > tbody,
.mod-calendar.is-sideFixed > table > tbody {
  display: block;
}
.mod-calendar.is-sideFixed:not(.is-headerFixed) > table > tbody {
  padding-top: 0 !important;
}
.mod-calendar.is-headerFixed > table > tbody > tr:not([style*="none"]),
.mod-calendar.is-sideFixed > table > tbody > tr:not([style*="none"]) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
.mod-calendar.is-headerFixed > table > tbody > tr > td,
.mod-calendar.is-sideFixed > table > tbody > tr > td {
  flex-grow: 2;
}
.mod-calendar.is-headerFixed > table > tbody > tr > td:first-child,
.mod-calendar.is-sideFixed > table > tbody > tr > td:first-child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  flex-grow: 0;
}
.mod-calendar.is-sideFixed > table tr > td:first-child {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 8;
}
.mod-calendar.is-sideFixed > table tr > td:nth-child(2) {
  margin-left: 108px;
}
@media screen and (max-width: 767px) {
  .mod-calendar > table > thead {
    width: 100%;
    z-index: 2;
  }
  .mod-calendar.is-headerFixed > table > thead {
    max-width: calc(100% - 20px);
  }
  .mod-calendar.is-headerFixed > table > thead {
    top: 166px;
  }
  .mod-calendar.is-headerFixed.is-headerHide > table > thead {
    max-width: 100%;
    top: auto;
  }
  .mod-calendar.is-sideFixed > table tr > td:first-child {
    z-index: 1;
  }
}
/*============================
.ttl-calender
============================*/
.ttl-calender { overflow: hidden; margin-bottom: 20px; }

.ttl-calender .title { float: left; font-size: 24px; font-size: 2.4rem; font-weight: bold; }

.ttl-calender .item { float: right; padding-right: 20px; margin-top: 8px; overflow: hidden; }

.ttl-calender .text { float: left; }

.ttl-calender .link { position: relative; padding-left: 10px; font-size: 14px; font-size: 1.4rem; color: #153d8d; text-decoration: underline; }

.ttl-calender .link:hover { text-decoration: none; }

.ttl-calender .link:before { position: absolute; content: ''; left: 0; top: 3px; width: 5px; height: 14px; background: url("/common/image/ico_arrow_right_02.png") no-repeat 0 0; background-size: 5px 14px; }

.ttl-calender .lists-icon { float: left; margin-left: 50px; }

.ttl-calender .lists-icon.s-simple { display: none; }

.ttl-calender .list { float: left; margin-left: 22px; padding-left: 22px; border-left: 1px solid #ccc; }

.ttl-calender .list:first-child { margin-left: 0; padding-left: 0; border-left: none; }

.ttl-calender .list #calendarList { display: block; text-indent: -999em; overflow: hidden; width: 27px; height: 19px; background: url("/common/image/ico_calender_list_01.png") no-repeat 0 0; background-position: 0 0; }

.ttl-calender .list #calendarList.is-active { background-position: 0 -19px; }

.ttl-calender .list #calendarTable { display: block; text-indent: -999em; overflow: hidden; width: 25px; height: 19px; background: url("/common/image/ico_calender_table_01.png") no-repeat 0 0; background-position: 0 0; }

.ttl-calender .list #calendarTable.is-active { background-position: 0 -19px; }

.ttl-calender-short-circuit { position: relative; }

.ttl-calender-short-circuit .aboutclass { position: absolute; top: 10px; right: 0; }

.ttl-calender-short-circuit .aboutclass a { font-size: 14px; font-size: 1.4rem; color: #153d8d; text-decoration: underline; padding-left: 10px; background: url("/common/image/ico_arrow_right_02.png") no-repeat left center; background-size: 5px 14px; }

.ttl-calender-short-circuit .aboutclass a:hover { text-decoration: none; }

.ttl-calender-short-circuit .title { margin-bottom: 26px; float: left; }

.ttl-calender-short-circuit .title br { display: none; }

.ttl-calender-short-circuit .text { float: right; }

.ttl-calender-short-circuit .item { clear: both; }

.ttl-calender-short-circuit .item .lists-icon { width: 1170px; }

.ttl-calender-short-circuit .item .lists-icon .list { float: left; width: 100px; margin-left: 1px; text-align: center; }

.ttl-calender-short-circuit .item .lists-icon .list:first-child { margin-left: 0; }

.ttl-calender-short-circuit .item .lists-icon .list a { border-radius: 8px 8px 0 0; background-color: #b2b2b2; display: block; color: #fff; padding: 10px 10px 8px 10px; }

.ttl-calender-short-circuit .item .lists-icon .list a.is-active { background-color: #019fc6; }

.ttl-calender-short-circuit .link { position: relative; padding-left: 10px; font-size: 14px; font-size: 1.4rem; color: #153d8d; text-decoration: underline; }

.ttl-calender-short-circuit .link:hover { text-decoration: none; }

.ttl-calender-short-circuit .link:before { position: absolute; content: ''; left: 0; top: 3px; width: 5px; height: 14px; background: url("/common/image/ico_arrow_right_02.png") no-repeat 0 0; background-size: 5px 14px; }

.ttl-calender-short-circuit .item .lists-icon { width: 1170px; }

.ttl-calender-short-circuit .item .lists-icon .list { float: left; width: 100px; margin-left: 1px; text-align: center; }

.ttl-calender-short-circuit .item .lists-icon .list:first-child { margin-left: 0; }

.ttl-calender-short-circuit .item .lists-icon .list a { border-radius: 8px 8px 0 0; background-color: #b2b2b2; display: block; color: #fff; padding: 10px 10px 8px 10px; }

.ttl-calender-short-circuit .item .lists-icon .list a.is-active { background-color: #66b82f; }

.ttl-calender-racing-course { position: relative; }

.ttl-calender-racing-course .aboutclass { position: absolute; top: 10px; right: 0; }

.ttl-calender-racing-course .aboutclass a { font-size: 14px; font-size: 1.4rem; color: #153d8d; text-decoration: underline; padding-left: 10px; background: url("/common/image/ico_arrow_right_02.png") no-repeat left center; background-size: 5px 14px; }

.ttl-calender-racing-course .aboutclass a:hover { text-decoration: none; }

.ttl-calender-racing-course .title { margin-bottom: 26px; float: left; }

.ttl-calender-racing-course .title br { display: none; }

.ttl-calender-racing-course .text { float: right; }

.ttl-calender-racing-course .link { position: relative; padding-left: 10px; font-size: 14px; font-size: 1.4rem; color: #153d8d; text-decoration: underline; }

.ttl-calender-racing-course .link:hover { text-decoration: none; }

.ttl-calender-racing-course .link:before { position: absolute; content: ''; left: 0; top: 3px; width: 5px; height: 14px; background: url("/common/image/ico_arrow_right_02.png") no-repeat 0 0; background-size: 5px 14px; }

.ttl-calender-racing-course .item { clear: both; }

.ttl-calender-racing-course .item .lists-icon { width: 1170px; }

.ttl-calender-racing-course .item .lists-icon .list { float: left; width: 100px; margin-left: 1px; text-align: center; }

.ttl-calender-racing-course .item .lists-icon .list:first-child { margin-left: 0; }

.ttl-calender-racing-course .item .lists-icon .list a { border-radius: 8px 8px 0 0; background-color: #b2b2b2; display: block; color: #fff; padding: 10px 10px 8px 10px; }

.ttl-calender-racing-course .item .lists-icon .list a.is-active { background-color: #019fc6; }

.ttl-calender-racing-course .item .lists-icon.list-sales .list { width: 130px; }

.ttl-calender-track-event { position: relative; }

.ttl-calender-track-event .title { margin-bottom: 26px; float: left; }

.ttl-calender-track-event .text { float: right; }

.ttl-calender-track-event .item { clear: both; }

.ttl-calender-track-event .link { position: relative; padding-left: 10px; font-size: 14px; font-size: 1.4rem; color: #153d8d; text-decoration: underline; }

.ttl-calender-track-event .link:hover { text-decoration: none; }

.ttl-calender-track-event .link:before { position: absolute; content: ''; left: 0; top: 3px; width: 5px; height: 14px; background: url("/common/image/ico_arrow_right_02.png") no-repeat 0 0; background-size: 5px 14px; }

.ttl-calender-track-event .item .lists-icon { width: 1170px; }

.ttl-calender-track-event .item .lists-icon .list { float: left; width: 179px; margin-left: 1px; text-align: center; }

.ttl-calender-track-event .item .lists-icon .list:first-child { margin-left: 0; }

.ttl-calender-track-event .item .lists-icon .list a { border-radius: 8px 8px 0 0; background-color: #b2b2b2; display: block; color: #fff; padding: 10px 10px 8px 10px; }

.ttl-calender-track-event .item .lists-icon .list a.is-active { background-color: #019fc6; }

.ttl-calender-track-event .item .lists-icon .list a.is-black.is-active { background-color: #000; }

.ttl-calender-track-event .item .lists-icon .list a.is-green.is-active { background-color: #66b82f; }

.ttl-calender-track-event .item .lists-icon .list a.is-purple.is-active { background-color: #7a007e; }

.ttl-calender-track-event .item .lists-icon .list a.is-orenji.is-active { background-color: #e4461f; }

@media screen and (max-width: 767px) { .ttl-calender { position: relative; padding-bottom: 30px; }
  .ttl-calender .title { font-size: 18px; font-size: 1.8rem; color: #ff0000; }
  .ttl-calender .item { margin-top: 3px; }
  .ttl-calender .item .text { position: absolute; left: 0; bottom: 0; }
  .ttl-calender .item .lists-icon { margin-left: 10px; }
  .ttl-calender-short-circuit .aboutclass { position: static; margin-bottom: 17px; }
  .ttl-calender-short-circuit .aboutclass a { font-size: 12px; font-size: 1.2rem; }
  .ttl-calender-short-circuit .title { font-size: 18px; font-size: 1.8rem; margin-bottom: 15px; float: none; }
  .ttl-calender-short-circuit .title br { display: block; }
  .ttl-calender-short-circuit .text { margin-bottom: 20px; float: none; }
  .ttl-calender-short-circuit .item { overflow-x: scroll; }
  .ttl-calender-racing-course .aboutclass { position: static; margin-bottom: 17px; }
  .ttl-calender-racing-course .aboutclass a { font-size: 12px; font-size: 1.2rem; }
  .ttl-calender-racing-course .title { font-size: 18px; font-size: 1.8rem; margin-bottom: 15px; float: none; }
  .ttl-calender-racing-course .title br { display: block; }
  .ttl-calender-racing-course .text { margin-bottom: 20px; float: none; }
  .ttl-calender-racing-course .item { overflow-x: scroll; }
  .ttl-calender-track-event { position: relative; }
  .ttl-calender-track-event .title { margin-bottom: 26px; float: none; }
  .ttl-calender-track-event .text { margin-bottom: 20px; float: none; }
  .ttl-calender-track-event .item { overflow-x: scroll; } }

/*============================
.mod-table-show
============================*/
.mod-table-show { padding: 14px 28px; background-color: #e5e5e5; overflow: hidden; }

.mod-table-show.is-hide { display: none; }

.mod-table-show .title { float: left; font-size: 14px; font-size: 1.4rem; font-weight: bold; }

.mod-table-show .lists { overflow: hidden; margin-bottom: 1px; }

.mod-table-show .list { float: left; margin-left: 22px; font-size: 14px; font-size: 1.4rem; }

.mod-table-show .list input { display: none; }

.mod-table-show .list label { position: relative; display: block; padding-left: 22px; }

.mod-table-show .list label:before { position: absolute; content: ''; left: 0; top: 0; width: 18px; height: 18px; background: url("/common/image/ico_check_01.png") no-repeat; background-position: 0 0; }

.mod-table-show .list input[type="checkbox"]:checked + label:before { background-position: 0 -18px; }

@media screen and (max-width: 767px) { .mod-table-show { padding: 15px 10px; }
  .mod-table-show .title { float: none; margin-bottom: 10px; }
  .mod-table-show .lists { overflow: hidden; margin-top: -10px; }
  .mod-table-show .lists .list { width: 50%; padding-right: 10px; margin: 10px 0 0; }
  .mod-table-show .lists .list:nth-child(2n+1) { clear: both; }
  .mod-table-show .lists .list label { font-size: 12px; font-size: 1.2rem; } }

/*============================
.mod-calendar
============================*/
.mod-calendar { margin-bottom: 10px; }

.mod-calendar table { width: 100%; table-layout: fixed; }

.mod-calendar table .headline { color: #fff; border-right: 1px solid #fff; }

.mod-calendar table .headline:first-child { border-left: none; }
.mod-calendar table .headline:last-child { border-right: none; }

.mod-calendar table .headline td { font-size: 14px; line-height: 18px; }

.mod-calendar table .calendar-day { background-color: #565656; width: 68px; text-align: center; }

.mod-calendar table .calendar-ss-day { background-color: #66b82f; width: 108px; text-align: center; }

.mod-calendar table .calendar-rc-day, .mod-calendar table .calendar-sales-day { background-color: #019fc6; width: 108px; text-align: center; }

.mod-calendar table .calendar-rc-day.is-black, .mod-calendar table .is-black.calendar-sales-day { background-color: #000; }

.mod-calendar table .calendar-rc-day.is-green, .mod-calendar table .is-green.calendar-sales-day { background-color: #66b82f; }

.mod-calendar table .calendar-rc-day.is-purple, .mod-calendar table .is-purple.calendar-sales-day { background-color: #7a007e; }

.mod-calendar table .calendar-rc-day.is-orenji, .mod-calendar table .is-orenji.calendar-sales-day { background-color: #e4461f; }

.mod-calendar table .calendar-rc-class, .mod-calendar table .calendar-sales-class { background-color: #019fc6; width: 298px; text-align: left; }

.mod-calendar table .calendar-rc-class.is-black, .mod-calendar table .is-black.calendar-sales-class { background-color: #000; }

.mod-calendar table .calendar-rc-class.is-green, .mod-calendar table .is-green.calendar-sales-class { background-color: #66b82f; }

.mod-calendar table .calendar-rc-class.is-purple, .mod-calendar table .is-purple.calendar-sales-class { background-color: #7a007e; }

.mod-calendar table .calendar-rc-class.is-orenji, .mod-calendar table .is-orenji.calendar-sales-class { background-color: #e4461f; }

.mod-calendar table .calendar-ss-class { background-color: #66b82f; width: 298px; text-align: left; }

.mod-calendar table .calendar-ss-time { background-color: #66b82f; width: 742px; text-align: left; }

.mod-calendar table .calendar-rc-time, .mod-calendar table .calendar-sales-time { background-color: #019fc6; width: 742px; text-align: left; }

.mod-calendar table .calendar-rc-time.is-black, .mod-calendar table .is-black.calendar-sales-time { background-color: #000; }

.mod-calendar table .calendar-rc-time.is-green, .mod-calendar table .is-green.calendar-sales-time { background-color: #66b82f; }

.mod-calendar table .calendar-rc-time.is-purple, .mod-calendar table .is-purple.calendar-sales-time { background-color: #7a007e; }

.mod-calendar table .calendar-rc-time.is-orenji, .mod-calendar table .is-orenji.calendar-sales-time { background-color: #e4461f; }

.mod-calendar table .calendar-event { background-color: #231815; }

.mod-calendar table .calendar-sports { background-color: #2c8d96; border-bottom: 1px solid #fff; width: 220px; }

.mod-calendar table .calendar-rc { width: 108px; background-color: #019fc6; }

.mod-calendar table .calendar-ss { width: 108px; background-color: #66b82f; }

.mod-calendar table .calendar-running { width: 100px; background-color: #ff9920; }

.mod-calendar table .calendar-experience { width: 100px; background-color: #fd6f4b; }

.mod-calendar table .calendar-experience1 { width: 100px; background-color: #a8a728; }

.mod-calendar table .calendar-fjw { width: 100px; background-color: #80bc00; text-align: center; }

.mod-calendar table .calendar-cart { width: 100px; background-color: #e40000; }

.mod-calendar table .calendar-fisco { width: 100px; background-color: #ff0000; }

.mod-calendar table .calendar-news { background-color: #565656; border-right: 1px solid #565656; }

.mod-calendar table td { vertical-align: top; border-right: 1px solid #cccccc; border-bottom: 1px solid #cccccc; padding: 10px; }

.mod-calendar table td .regulated { margin-top: 8px;}

.mod-calendar table td:first-child { border-left: 1px solid #cccccc; }

.mod-calendar table td.day { position: relative; text-align: center; font-size: 14px; font-size: 1.4rem; }

.mod-calendar table td.day .hizuke { position: absolute; right: 10px; bottom: 0; z-index: 0; font-size: 80px; font-size: 8rem; line-height: 80px; color: #ccc; letter-spacing: -.1em; }

.mod-calendar table td.day .schedule { position: relative; z-index: 1; }

.mod-calendar table td.sat { background-color: #dbe8f9; }

.mod-calendar table td.sun, .mod-calendar table td.holiday { background-color: #ffe5e6; }

.mod-calendar table tr.weeks { text-align: center; font-size: 16px; font-size: 1.6rem; color: #fff; background-color: #565656; }

.mod-calendar table tr.weeks td { border-top: 1px solid #fff; border-right: 1px solid #fff; border-bottom: none; }

.mod-calendar table tr.weeks td.sat { background-color: #2f68b0; }

.mod-calendar table tr.weeks td.sun { background-color: #ff0000; border-right: 1px solid #ff0000; }

.weeks .mod-calendar table tr.weeks td { border: 1px solid #fff; }

.mod-calendar .table-calendar .day { height: 178px; }

.mod-calendar .schedule { font-size: 14px; text-align: center; margin-right: -1px; }

.mod-calendar .schedule ul { margin-left: -3px; text-align: left; }

.mod-calendar .schedule .event, .mod-calendar .schedule .news { font-size: 14px; letter-spacing: normal; text-align: left; }

.mod-calendar .schedule .tag { position: relative; display: none; vertical-align: top; letter-spacing: normal; width: 72px; height: 24px; margin: 0 0 2px 2px; font-size: 0; background-size: 72px 24px; background-position: 0 0; }

.mod-calendar .schedule .tag.event { background-image: url("/common/image/ico_calender_event_01_no.png"); }

.mod-calendar .schedule .tag.event:hover { background-image: url("/common/image/ico_calender_event_01_on.png"); }

.mod-calendar .schedule .tag.news { background-image: url("/common/image/ico_calender_news_01_no.png"); }

.mod-calendar .schedule .tag.news:hover { background-image: url("/common/image/ico_calender_news_01_on.png"); }

.mod-calendar .schedule .tag.rc_s4 { background-image: url("/common/image/ico_calender_rc_01.png"); }

.mod-calendar .schedule .tag.rc_ns4 { background-image: url("/common/image/ico_calender_rc_02.png"); }

.mod-calendar .schedule .tag.rc_fs4 { background-image: url("/common/image/ico_calender_rc_03.png"); }

.mod-calendar .schedule .tag.rc_s2 { background-image: url("/common/image/ico_calender_rc_04.png"); }

.mod-calendar .schedule .tag.rc_kart { background-image: url("/common/image/ico_calender_rc_05.png"); }

.mod-calendar .schedule .tag.ss_ss4 { background-image: url("/common/image/ico_calender_ss_01.png"); }

.mod-calendar .schedule .tag.ss_ss2 { background-image: url("/common/image/ico_calender_ss_02.png"); }

.mod-calendar .schedule .tag.ss_ss2mini { background-image: url("/common/image/ico_calender_ss_03.png"); }

.mod-calendar .schedule .tag.ss_drift { background-image: url("/common/image/ico_calender_ss_04.png"); }

.mod-calendar .schedule .tag.running_rc { background-image: url("/common/image/ico_calender_running_01.png"); }

.mod-calendar .schedule .tag.running_ss { background-image: url("/common/image/ico_calender_running_02.png"); }

.mod-calendar .schedule .tag.running_trackEvent { background-image: url("/common/image/ico_calender_running_03.png"); }

.mod-calendar .schedule .tag.running_drift { background-image: url("/common/image/ico_calender_running_04.png"); }

.mod-calendar .schedule .tag.running_gymkhana { background-image: url("/common/image/ico_calender_running_05.png"); }

.mod-calendar .schedule .tag.running_other { background-image: url("/common/image/ico_calender_running_06.png"); }

.mod-calendar .schedule .tag.experience_1 { background-image: url("/common/image/ico_calender_experience_01.png"); }

.mod-calendar .schedule .tag.experience_2 { background-image: url("/common/image/ico_calender_experience_02.png"); }

.mod-calendar .schedule .tag.experience_3 { background-image: url("/common/image/ico_calender_experience_03.png"); }

.mod-calendar .schedule .tag.experience_3less { background-image: url("/common/image/ico_calender_experience_04.png"); }

.mod-calendar .schedule .tag.running_taxi { background-image: url("/common/image/ico_calender_running_08.png"); }

.mod-calendar .schedule .tag.running_taxiless { background-image: url("/common/image/ico_calender_running_09.png"); }

.mod-calendar .schedule .tag.fisco_need { background-image: url("/common/image/ico_calender_fisco_01.png"); }

.mod-calendar .schedule .tag.fisco_needless { background-image: url("/common/image/ico_calender_fisco_02.png"); }

.mod-calendar .schedule .tag.fisco_procedure { background-image: url("/common/image/ico_calender_fisco_03.png"); }

.mod-calendar .schedule .tag.fisco_procedureless { background-image: url("/common/image/ico_calender_fisco_04.png"); }

.mod-calendar .schedule .event a { padding-left: 13px; position: relative; display: block; word-break: break-all; }

.mod-calendar .schedule .event a::before { display: inline-block; content: ""; width: 5px; height: 14px; margin-right: 3px; vertical-align: middle; background: url("/common/image/ico_arrow_right_02.png") no-repeat; background-size: 5px 14px; }

.mod-calendar .schedule .event a:before { position: absolute; left: 0; top: 5px; }

.mod-calendar .schedule .fisco_text, .mod-calendar .schedule .admission_text { font-size: 14px; text-align: left; margin: 10px 0 0 3px; line-height: 1.3; }

.mod-calendar .schedule .fisco_text span, .mod-calendar .schedule .admission_text span { font-size: 12px; }

.mod-calendar .schedule .admission_text { color: #ff0000; }

.mod-calendar .schedule .tag .pop-wrap { display: none; position: absolute; z-index: 10; bottom: 100%; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); padding-bottom: 20px; }

.mod-calendar .schedule .tag .pop-wrap:before { position: absolute; content: ''; width: 0; height: 0; bottom: -14px; left: 50%; -webkit-transform: translateX(-50%) rotate(90deg); transform: translateX(-50%) rotate(90deg); border-radius: 3px; border-right: 0 solid transparent; border-top: 25px solid transparent; border-bottom: 25px solid transparent; border-left: 25px solid #000; opacity: 0.9; }

.mod-calendar .schedule .tag .pop-wrap div { display: block; width: 220px; min-height: 90px; padding: 10px 15px; border-radius: 10px; font-size: 14px; color: #fff; }

.mod-calendar .schedule .tag .pop-wrap div a { display: block; font-size: 14px; color: #fff; text-decoration: underline; }

.mod-calendar .schedule .tag .pop-wrap div a:hover { text-decoration: none; }

.mod-calendar .schedule .tag.is-active .pop-wrap { display: block; }

.mod-calendar .schedule .tag.event .pop-wrap:before { border-left-color: #ff0000; }

.mod-calendar .schedule .tag.event .pop-wrap div { background: rgba(255, 0, 0, 0.9); }

.mod-calendar .schedule .tag.news .pop-wrap:before { border-left-color: #4377b8; }

.mod-calendar .schedule .tag.news .pop-wrap div { background-color: rgba(67, 119, 184, 0.9); }

.mod-calendar .nothing { margin-top: 20px; display: block !important; }

.mod-calendar .nothing.is-hide { display: none !important; }

.mod-calendar.s-simple #rowHead02, .mod-calendar.s-simple .calendar-sports, .mod-calendar.s-simple .calendar-running, .mod-calendar.s-simple .calendar-experience, .mod-calendar.s-simple .calendar-fisco, .mod-calendar.s-simple .rc, .mod-calendar.s-simple .ss, .mod-calendar.s-simple .running, .mod-calendar.s-simple .experience, .mod-calendar.s-simple .fisco { display: none; }

@media screen and (max-width: 1200px) {
  .mod-calendar:not(.mod-calendar-sales-info),
  .mod-page-select:not(.mod-calendar-sales-info),
  .mod-calender-year:not(.mod-calendar-sales-info),
  .mod-calender-month:not(.mod-calendar-sales-info) {
    max-width: 100vw;
    max-width: calc(100vw - 20px);
    overflow-x: auto;
  }
  .has-scroll-bar .mod-calendar:not(.mod-calendar-sales-info),
  .has-scroll-bar .mod-page-select:not(.mod-calendar-sales-info),
  .has-scroll-bar .mod-calender-year:not(.mod-calendar-sales-info),
  .has-scroll-bar .mod-calender-month:not(.mod-calendar-sales-info) {
    max-width: calc(100vw - 47px);
  }
  .mod-calendar.is-headerFixed > table > thead > #rowHead01 {
    width: 1170px;
  }
}
@media screen and (max-width: 1200px) {
  .mod-calendar { overflow-x: auto; overflow-y: hidden; }
  .dir-driving.mod-calendar table, .mod-calendar-sales-info.mod-calendar table { width: 1170px; }
}
@media screen and (max-width: 767px) {
  .mod-calendar,
  .mod-page-select,
  .mod-calender-year,
  .mod-calender-month,
  .has-scroll-bar .mod-calendar,
  .has-scroll-bar .mod-page-select,
  .has-scroll-bar .mod-calender-year,
  .has-scroll-bar .mod-calender-month {
    max-width: 100%;
  }
  .mod-calendar.is-headerFixed > table > thead {
    max-width: calc(100% - 20px);
    top: 122px;
  }
  .has-scroll-bar .mod-calendar.is-headerFixed > table > thead,
  .has-scroll-bar .mod-calendar:not(.mod-calendar-sales-info),
  .has-scroll-bar .mod-page-select:not(.mod-calendar-sales-info),
  .has-scroll-bar .mod-calender-year:not(.mod-calendar-sales-info),
  .has-scroll-bar .mod-calender-month:not(.mod-calendar-sales-info)  {
    max-width: calc(100vw - 37px);
  }
  .mod-calendar table { width: 100%; }
  .mod-calendar table .calendar-sales-time { width: auto; }
  .mod-calendar table .calendar-sales-class { width: 100px; display: block; }
  .mod-calendar table .headline { color: #fff; border-right: 1px solid #fff; }
  .mod-calendar table .headline:first-child { border-left: none; }
  .mod-calendar table .headline:last-child { border-right: none; }
  .mod-calendar table .headline td { font-size: 12px; line-height: 18px; }
  .mod-calendar table .calendar-day { background-color: #565656; width: 68px; text-align: center; }
  .mod-calendar table .calendar-sports { width: 220px; }
  .mod-calendar table .calendar-rc { width: 108px; }
  .mod-calendar table .calendar-ss { width: 108px; }
  .mod-calendar table .calendar-running { width: 100px; }
  .mod-calendar table .calendar-experience { width: 100px; }
  .mod-calendar table .calendar-fisco { width: 100px; }
  .mod-calendar table td.day .hizuke { font-size: 56px; font-size: 5.6rem; }
  .mod-calendar .table-calendar .day { height: 124px; }
  .mod-calendar .schedule { letter-spacing: -0.4em; font-size: 0; text-align: center; margin-right: -1px; }
  .mod-calendar .schedule ul { margin-left: -1px; text-align: left; }
  .mod-calendar .schedule .event, .mod-calendar .schedule .news { font-size: 12px; }
  .mod-calendar .schedule .tag { position: relative; display: none; vertical-align: top; letter-spacing: normal; width: 50px; height: 17px; margin: 0 0 1px 1px; font-size: 0; background-size: 50px 17px; } }

/*----------------------------------- 表示情報 is-cat-01 -> イベント情報 is-cat-02 -> RCレーシングコース is-cat-03 -> SSショートサーキット is-cat-04 -> 走行会 is-cat-05 -> FISCOライセンス is-cat-06 -> お知らせ -----------------------------------*/
.mod-calendar.is-cat-01 .table-calendar .schedule .tag.event, .mod-calendar.is-cat-02 .table-calendar .schedule .tag[class*="rc"], .mod-calendar.is-cat-03 .table-calendar .schedule .tag[class*="ss"], .mod-calendar.is-cat-04 .table-calendar .schedule .tag[class*="running"], .mod-calendar.is-cat-05 .table-calendar .schedule .tag[class*="fisco"], .mod-calendar.is-cat-06 .table-calendar .schedule .tag.news, .mod-calendar.is-cat-07 .table-calendar .schedule .tag.experience3, .mod-calendar.is-cat-07 .table-calendar .schedule .tag.running_taxi { display: inline-block; }

.mod-calendar.is-cat-01 .schedule .tag.event, .mod-calendar.is-cat-02 .schedule .tag[class*="rc"], .mod-calendar.is-cat-03 .schedule .tag[class*="ss"], .mod-calendar.is-cat-04 .schedule .tag[class*="running"], .mod-calendar.is-cat-05 .schedule .tag[class*="fisco"], .mod-calendar.is-cat-06 .schedule .tag.news, .mod-calendar.is-cat-07 .schedule .tag[class*="experience"] { display: inline-block; }

.mod-calendar .row-track:nth-child(odd) td + td ,
.mod-calendar .row:nth-child(even) td + td {
  background-color: #f8f8f8;
}

/* ========================================================== javascript style ========================================================== */
.row-ss, .row-rc { opacity: 0; }

.row-ss.is-show, .row-rc.is-show { opacity: 1; }

.row-ss.is-show .day, .row-rc.is-show .day { vertical-align: middle; }

.row-ss.is-show td, .row-rc.is-show td { padding: 0; }

.row-ss.is-show td .ss .cell, .row-ss.is-show td .rc .cell, .row-rc.is-show td .ss .cell, .row-rc.is-show td .rc .cell { border-top: 1px solid #ccc; padding: 15px 17px; }

.row-ss.is-show td .ss .cell:first-child, .row-ss.is-show td .rc .cell:first-child, .row-rc.is-show td .ss .cell:first-child, .row-rc.is-show td .rc .cell:first-child { border-top: none; }

.mod-calendar table td:first-child { border-left: none; }

.mod-calendar table td.day { width: 108px; border-left: 1px solid #ccc; vertical-align: middle; flex-grow: 0; }

.mod-calendar table td.coment { vertical-align: middle; }

.mod-calendar table td a { color: #2f68b0; text-decoration: underline; }

.mod-calendar table td a:hover { text-decoration: none; }


.mod-calendar.is-headFixed,
.mod-calendar.is-sideFixedRc,
.mod-calendar.is-headReady {
  clear: both;
}
.mod-calendar.is-headFixed > table,
.mod-calendar.is-sideFixedRc > table,
.mod-calendar.is-headReady > table {
  display: block;
}
.mod-calendar.is-headFixed > table > tbody,
.mod-calendar.is-sideFixedRc > table > tbody,
.mod-calendar.is-headReady > table > tbody {
  display: block;
}
.mod-calendar.is-headFixed > table > tbody > tr:not([style*='none']),
.mod-calendar.is-sideFixedRc > table > tbody > tr:not([style*='none']),
.mod-calendar.is-headReady > table > tbody > tr:not([style*='none']) {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  position: relative;
}
.mod-calendar.is-headFixed > table > tbody > tr > td,
.mod-calendar.is-sideFixedRc > table > tbody > tr > td,
.mod-calendar.is-headReady > table > tbody > tr > td {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.mod-calendar.is-headFixed > table > tbody > tr > td a,
.mod-calendar.is-sideFixedRc > table > tbody > tr > td a,
.mod-calendar.is-headReady > table > tbody > tr > td a {
  word-wrap: none;
  word-break: break-all;
}
.mod-calendar.is-headFixed > table > tbody > tr > td:first-child,
.mod-calendar.is-sideFixedRc > table > tbody > tr > td:first-child,
.mod-calendar.is-headReady > table > tbody > tr > td:first-child {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  flex-shrink: 0;
}
.mod-calendar.is-sideFixedRc > table > tbody > tr td:first-child {
  position: absolute;
}
.mod-calendar.is-headFixed:not(.is-sideFixedRc) > table > tbody > tr > td:nth-child(2),
.mod-calendar.is-headReady:not(.is-sideFixedRc) > table > tbody > tr > td:nth-child(2) {
  margin-left: 0 !important;
}
.mod-calendar.is-headFixed > table > tbody > tr > td:not(:first-child),
.mod-calendar.is-sideFixedRc > table > tbody > tr > td:not(:first-child),
.mod-calendar.is-headReady > table > tbody > tr > td:not(:first-child) {
  flex-grow: 2;
}
.mod-calendar > table > tbody > #rowHead01 {
  top: 0;
}
.mod-calendar.is-headFixed > table > tbody > #rowHead01 {
  display: flex;
  width: 1170px;
  position: fixed;
  top: 102px;
  z-index: 9;
  overflow: hidden;
  -webkit-transition: top 0.5s;
  -ms-transition: top 0.5s;
  transition: top 0.5s;
}
.mod-calendar.is-sideFixedRc.is-headFixed > table > tbody > #rowHead01 {
  overflow: hidden;
}
.mod-calendar .inner-table-cell {
  width: 100%;
}
.mod-calendar.is-headFixed .rc,
.mod-calendar.is-sideFixedRc .rc {
  width: 100%;
}
.mod-calendar.is-headerHide > table > tbody {
  position: relative;
}
.mod-calendar.is-headerHide > table > tbody > #rowHead01 {
  position: absolute;
  top: auto;
  left: 0;
  bottom: 0;
}
.mod-calendar:not(.is-sideFixedRc):not(.is-headFixed) > table > tbody > #rowHead01 {
  left: 0 !important;
}
.mod-calendar.is-sideFixedRc > table > tbody > #rowHead01 > .headInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  min-width: 480px;
}
.mod-calendar.is-headFixed > table > tbody > #rowHead01 + tr {
  padding-top: 45px;
}
.mod-calendar.rc-table > table .rc > .cell {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 10px;
}
@media screen and (max-width: 1200px) {
  .mod-calendar.is-headFixed > table > tbody > #rowHead01 {
    max-width: 100vw;
    max-width: calc(100vw - 20px);
  }
  .has-scroll-bar .mod-calendar.is-headFixed > table > tbody > #rowHead01 {
    max-width: 100vw;
    max-width: calc(100vw - 47px);
  }
}
@media screen and (max-width: 767px) {
  .mod-calendar.rc-table > table {
    width: 480px;
    min-width: 100%;
  }
  .mod-calendar.rc-table.is-wide > table {
    width: 720px;
    min-width: 100%;
  }
  .mod-calendar table .calendar-sales-time,
  .mod-calendar table .calendar-sales-class {
    width: auto;
  }
  .mod-calendar.is-headFixed > table > tbody > #rowHead01 {
    max-width: calc(100% - 20px);
    top: 122px;
    z-index: 2;
  }
  .has-scroll-bar .mod-calendar.is-headFixed > table > tbody > #rowHead01 {
    max-width: calc(100vw - 37px);
  }
  .mod-calendar.is-headFixed.is-headerHide > table > tbody > #rowHead01 {
    max-width: 100%;
    top: auto;
  }
  .mod-calendar.is-headFixed > table > tbody > #rowHead01 + tr {
    padding-top: 43px;
  }
  .mod-calendar > table > tbody .calendar-ss-time {
    width: auto;
  }
}


/*============================
.txt-calender-log
============================*/
.txt-calender-log { text-align: right; margin-bottom: 40px; font-size: 14px; font-size: 1.4rem; }

@media screen and (max-width: 767px) { .txt-calender-log { margin-bottom: 10px; font-size: 12px; font-size: 1.2rem; } }

/*============================ event-calendar ============================*/
.event-calendar .calendar-news, .event-calendar .news { display: none; }

/*============================ is-link-defalut ============================*/
.is-link-defalut { cursor: default; }

/*============================ date-update ============================*/
.js-lastdate { display: none; }

/* hero-sst
---------------------------------------------------------- */
.hero-sst { text-align: center; padding: 0 5px; margin-bottom: 50px; }

@media screen and (max-width: 767px) { .hero-sst { margin-bottom: 20px; } }

@media screen and (max-width: 767px) { .hero-sst img { width: 100%; height: auto; } }

/* ttl-driving-wrap
---------------------------------------------------------- */
.ttl-driving-wrap { margin: 40px 0; margin-top: 25px; }

.ttl-driving-wrap::before, .ttl-driving-wrap::after { content: ""; display: table; }

.ttl-driving-wrap::after { clear: both; }

.ttl-driving-wrap .title { float: left; width: 700px; }

@media screen and (max-width: 767px) { .ttl-driving-wrap .title { float: none; width: auto; } }

.ttl-driving-wrap .select { float: right; min-width: 358px; max-width: 470px; margin-top: -10px; }

@media screen and (max-width: 767px) { .ttl-driving-wrap .select { float: none; max-width: 100%; width: 100%; min-width: 0; margin-top: 0; } }

/* table-Csv-wrap
---------------------------------------------------------- */
.table-Csv-wrap { margin-bottom: 20px; }

@media screen and (max-width: 767px) { .table-Csv-wrap { overflow-x: auto; } }

/* csv2table-table
---------------------------------------------------------- */
.csv2table-table { width: 100%; table-layout: fixed; margin-top: 20px; border-collapse: collapse; }

@media screen and (max-width: 767px) { .csv2table-table { width: 1170px; } }

.csv2table-table th, .csv2table-table td { padding: 15px 10px; border-top: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; border-left: 1px solid #ccc; text-align: left; }

.csv2table-table th:first-child, .csv2table-table td:first-child { text-align: center !important; }

.csv2table-table .csv2table-table-th { color: #fff; background-color: #666; white-space: nowrap; }

.csv-01 .csv2table-table .csv2table-table-th:nth-child(1) { width: 80px; }

.csv-01 .csv2table-table .csv2table-table-th:nth-child(2) { width: 130px; }

.csv-01 .csv2table-table .csv2table-table-th:nth-child(3) { width: 236px; }

.csv-01 .csv2table-table .csv2table-table-th:nth-child(4) { width: 88px; }

.csv-01 .csv2table-table .csv2table-table-th:nth-child(5) { width: 136px; }

.csv-01 .csv2table-table .csv2table-table-th:nth-child(6) { width: 100px; }

.csv-01 .csv2table-table .csv2table-table-th:nth-child(7) { width: 100px; }

.csv-01 .csv2table-table .csv2table-table-th:nth-child(8) { width: 88px; }

.csv-01 .csv2table-table .csv2table-table-th:nth-child(9) { width: 124px; }

.csv-01 .csv2table-table .csv2table-table-th:nth-child(10) { width: 88px; }

.csv2table-table .tit-csv-wrap th { padding: 0; border: none; }

.csv2table-table .tit-csv-wrap + tr .csv2table-table-td { font-weight: bold; color: #fff; background-color: #666; white-space: nowrap; }

.csv-02 .csv2table-table .tit-csv-wrap + tr .csv2table-table-td:nth-child(1) { width: 80px; }

.csv-02 .csv2table-table .tit-csv-wrap + tr .csv2table-table-td:nth-child(2) { width: 130px; }

.csv-02 .csv2table-table .tit-csv-wrap + tr .csv2table-table-td:nth-child(3) { width: 236px; }

.csv-02 .csv2table-table .tit-csv-wrap + tr .csv2table-table-td:nth-child(4) { width: 88px; }

.csv-02 .csv2table-table .tit-csv-wrap + tr .csv2table-table-td:nth-child(5) { width: 136px; }

.csv-02 .csv2table-table .tit-csv-wrap + tr .csv2table-table-td:nth-child(6) { width: 100px; }

.csv-02 .csv2table-table .tit-csv-wrap + tr .csv2table-table-td:nth-child(7) { width: 100px; }

.csv-02 .csv2table-table .tit-csv-wrap + tr .csv2table-table-td:nth-child(8) { width: 88px; }

.csv-02 .csv2table-table .tit-csv-wrap + tr .csv2table-table-td:nth-child(9) { width: 124px; }

.csv-02 .csv2table-table .tit-csv-wrap + tr .csv2table-table-td:nth-child(10) { width: 88px; }

.csv2table-table td { font-size: 14px; font-size: 1.4rem; vertical-align: top; }

/* ttl-csv
---------------------------------------------------------- */
.ttl-csv { margin: 20px 0; text-align: left; }

/* mod-digest
---------------------------------------------------------- */
.mod-digest { margin: 20px 0 40px; border: 1px solid #ccc; border-bottom: none; background: url("/common/image/driving/digest/bg_cell_01.png") repeat-y 0 0; overflow: hidden; }

@media screen and (max-width: 767px) { .mod-digest { background: none; margin-bottom: 30px; } }

.mod-digest .item { position: relative; float: left; width: 25%; height: 250px; padding: 26px; }

@media screen and (max-width: 767px) { .mod-digest .item { float: none; width: auto; height: auto; border-bottom: 1px solid #ccc; padding: 22px; } }

.mod-digest .item:nth-child(4n+1):after { content: ''; display: block; position: absolute; left: 0; bottom: 0; width: 400%; height: 1px; background-color: #ccc; }

@media screen and (max-width: 767px) { .mod-digest .item:nth-child(4n+1):after { content: none; } }

.mod-digest .title { margin-bottom: 10px; font-size: 14px; font-size: 1.4rem; }

.mod-digest .image { height: 166px; overflow: hidden; }

.mod-digest .image:hover { opacity: .8; cursor: pointer; }

@media screen and (max-width: 767px) { .mod-digest .image:hover { opacity: 1; cursor: default; } }

@media screen and (max-width: 767px) { .mod-digest .image { text-align: center; height: auto; } }

.mod-digest .image img { max-width: 100%; }

/* btn-result
---------------------------------------------------------- */
.btn-result { display: block; text-align: center; width: 72px; padding: 4px; height: 24px; border-radius: 2px; background-image: -webkit-linear-gradient(90deg, #b4b4b4 0%, #ccc 100%); color: #000; font-size: 12px; font-size: 1.2rem; font-weight: bold; }

.btn-result:hover { opacity: .7; }

/* tab color
---------------------------------------------------------- */
.ttl-calender-racing-course .item .list-sales .list a.is-active { background-color: #ff0000; }

/* table column color
---------------------------------------------------------- */
.mod-calendar table .calendar-sales-day { background-color: #ff0000; }

.mod-calendar table .calendar-sales-class { background-color: #ff0000; }

.mod-calendar table .calendar-sales-time { background-color: #ff0000; }

.mod-calendar table .calendar-gate-east { background-color: #2f68b0; }

.mod-calendar table .calendar-gate-west { background-color: #3e7172; }

/* table sales info
---------------------------------------------------------- */
.mod-calendar.mod-calendar-sales-info table .headline { width: 177px; padding: 30px 20px; vertical-align: middle; white-space: nowrap; }

.mod-calendar.mod-calendar-sales-info table .calendar-day { width: 108px; }

.mod-calendar.mod-calendar-sales-info table .calendar-news { width: auto; }

.mod-calendar.mod-calendar-sales-info table .news .text { font-size: 14px; }

.mod-calendar.mod-calendar-sales-info table .news .title { font-weight: bold; }

.mod-calendar.mod-calendar-sales-info table .list { margin-bottom: 10px; }

.mod-calendar.mod-calendar-sales-info table .title, .mod-calendar.mod-calendar-sales-info table .date, .mod-calendar.mod-calendar-sales-info table .caution { font-size: 14px; margin-bottom: 5px; }

.mod-calendar.mod-calendar-sales-info table .date { margin-bottom: 5px; font-weight: bold; }

.mod-calendar.mod-calendar-sales-info table .text { font-size: 12px; }

.mod-calendar.mod-calendar-sales-info table .caution { color: #ff0000; }

.regulated .ico-cart-regulated {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  width: 72px;
  height: 0;
  padding: 24px 0 0;
  display: inline-block;
  background-image: url(/common/image/ico_calender_regulation_01.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.regulated .ico-cart-regulated:hover {
  opacity: 0.7;
}



table > tbody > tr > td, .mod-calendar.is-sideFixedRc > table > tbody > tr > td, .mod-calendar.is-headReady > table > tbody > tr > td {
  flex-wrap: wrap;
 }
 .mod-calendar table td .regulated{
  width: 100%;
 }