/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

/* Slider */
.slick-loading .slick-list
{
    background: #fff;
}

/* Icons */
@font-face
{
    font-family: 'slick';
    font-weight: normal;
    font-style: normal;

    src: url('./fonts/slick.eot');
    src: url('./fonts/slick.eot?#iefix') format('embedded-opentype'), url('./fonts/slick.woff') format('woff'), url('./fonts/slick.ttf') format('truetype'), url('./fonts/slick.svg#slick') format('svg');
}
/* Arrows */
.slick-prev,
.slick-next
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;

    display: block;

    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);

    cursor: pointer;

    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    color: transparent;
    outline: none;
    background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
    opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
    opacity: .25;
}

.slick-prev:before,
.slick-next:before
{
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;

    opacity: .75;
    color: white;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev
{
    left: -25px;
}
[dir='rtl'] .slick-prev
{
    right: -25px;
    left: auto;
}
.slick-prev:before
{
    content: '←';
}
[dir='rtl'] .slick-prev:before
{
    content: '→';
}

.slick-next
{
    right: -25px;
}
[dir='rtl'] .slick-next
{
    right: auto;
    left: -25px;
}
.slick-next:before
{
    content: '→';
}
[dir='rtl'] .slick-next:before
{
    content: '←';
}

/* Dots */
.slick-dotted.slick-slider
{
    margin-bottom: 30px;
}

.slick-dots
{
    position: absolute;
    bottom: -25px;

    display: block;

    width: 100%;
    padding: 0;
    margin: 0;

    list-style: none;

    text-align: center;
}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
    opacity: 1;
}
.slick-dots li button:before
{
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '•';
    text-align: center;

    opacity: .25;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
    opacity: .75;
    color: black;
}



#tgr_2015 { background-color: #fff; }
#contents-top-navigation .ctn-kind-menu .ctn-page-name a { letter-spacing: -.05em; }
.eg_ampersand { font-family: helvetica, arial; margin: 0 .5em; }
.visual_view { background-color: #000; }
#global-header, .sp-global-menu-trigger-container { border-bottom: 1px solid #f2f2f2; }
#global-header #sp-global-menu-trigger { height: 48px; }
.msev-schedule .kv_tmp_heading .kv_title h1 { padding-top: 16vw; }
.msev-schedule .kv_tmp_heading .kv_title h1 + p { padding-left: 0; }

.calendar-navi { margin-bottom: 40px; }
.calendar-navi .calender-navi_label { color: #999; font-size: 12px; font-size: 3.2vw; line-height: 1; }
.calendar-navi select { -moz-appearance: none; -webkit-appearance: none; appearance: none; border-radius: 0; border: 0; margin: 0; padding: 0; background: none transparent; vertical-align: middle; font-size: inherit; color: inherit; outline: none; }
.calendar-navi select::-ms-expand { display: none; }
.calendar-navi select { font-size: 16px; font-weight: bold; width: 100%; border-bottom: 1px solid #e5e5e5; padding: 12px 30px 12px 0; position: relative; }
.calendar-navi label.select-arrow { position: relative; }
.calendar-navi label.select-arrow:after  { content: ""; width: 5px; height: 5px; transform: translateY(-60%) rotate(45deg); position: absolute; top: 50%; right: 10px;
  border-bottom: 2px solid #e60010; border-right: 2px solid #e60010; }
.calendar-navi .race-list,
.calendar-navi .month-list { width: 100%; padding-right: 5%; padding-left: 5%; }
.calendar-navi .calendar-navi_01 { margin-bottom: 15px; }

.card-box .card_label { font-family: 'DecimaMonoPro', YuGothic, '游ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴシック ProN', Meiryo, 'メイリオ', sans-serif; color: #e60010; }
.card-box .card_label li:not(:last-child):after { content: ","; }
.card-box .go_list { margin-top: 50px; }

.schedule-list .this_date { font-size: 16px; font-size: 4.2666vw; font-weight: bold; margin-bottom: 20px; }

.check-schedule_ticket { border-top: 1px solid #e5e5e5; padding: 60px 0; margin-top: 60px; }
.check-schedule_ticket li + li { margin-top: 15px; }
.check-schedule_ticket a { color: #000; font-size: 12px; font-size: 3.2vw; font-weight: bold; text-align: center;
  display: block; padding: 20px 0; background-color: #eee; position: relative; }
.check-schedule_ticket a svg { transform: translateY(-50%) scale(.5); fill: #e60010; position: absolute; top: 50%; right: 15px; transition-duration: .3s; }

@media screen and (min-width: 769px) {
  .msev-schedule .kv_tmp_heading .kv_title h1 { padding-top: 0; }
  .msev-schedule .kv_tmp_heading .kv_title h1 .svg_ttl { width: 779px; }

  .calendar-navi { margin-bottom: 60px; }
  .calendar-navi .calender-navi_label { font-size: 12px; }
  .calendar-navi select { font-size: 14px; }
  .calendar-navi .race-list,
  .calendar-navi .month-list { padding: 0; }
  .calendar-navi .race-list { border-bottom: 1px solid #e5e5e5; padding-bottom: 20px; }
  .calendar-navi .race-list input { display: none; }
  .calendar-navi .race-list label { color: #000; font-size: 14px; line-height: 34px; opacity: .7; padding: 0 18px; border-radius: 17px; margin-right: 10px; margin-bottom: 5px; transition-duration: .3s; cursor: pointer; }
  .calendar-navi .race-list label.active,
  .calendar-navi .race-list label:hover { color: #fff; opacity: 1; background-color: #e60010; }
  .calendar-navi .calendar-navi_01 { margin-bottom: 25px; }
  .calendar-navi_01 .month-list .month-inner { overflow-x: hidden; white-space: nowrap; position: relative; padding: 0 17px; }
  .calendar-navi_01 .month-list .arrow-left,
  .calendar-navi_01 .month-list .arrow-right { background-color: #f2f2f2; position: absolute; top: 0; bottom: 0; width: 18px; z-index: 1; cursor: pointer; }
  .calendar-navi_01 .month-list .arrow-left span,
  .calendar-navi_01 .month-list .arrow-right span { display: block; width: 8px; height: 8px; position: absolute; top: 50%; }
  .calendar-navi_01 .month-list .arrow-left { left: 0; display: none; }
  .calendar-navi_01 .month-list .arrow-left span { border-top: 2px solid #e60010; border-left: 2px solid #e60010; transform: rotate(-45deg) translateY(-100%); left: 12px; }
  .calendar-navi_01 .month-list .arrow-right { right: 0; display: none; }
  .calendar-navi_01 .month-list .arrow-right span { border-top: 2px solid #e60010; border-right: 2px solid #e60010; transform: rotate(45deg) translateY(-100%); right: 12px; }
  .calendar-navi_01 .month-list .arrow-left.slick-disabled span,
  .calendar-navi_01 .month-list .arrow-right.slick-disabled span { border-color: #fff; }

  .calendar-navi_01 .month-list input { display: none; }
  .calendar-navi_01 .month-list label { display: flex !important; align-items: center; justify-content: center; flex-direction: column; transition-duration: .3s;
    position: relative; height: 58px; border-bottom: 1px solid #e5e5e5; cursor: pointer; }
  .calendar-navi_01 .month-list label:after { content: ""; position: absolute; top: 50%; right: 0; width: 1px; height: 36px; transform: translateY(-50%); background-color: #e5e5e5; }
  .calendar-navi_01 .month-list .label_year { color: #999; font-size: 10px; }
  .calendar-navi_01 .month-list .label_month { font-size: 16px; font-weight: bold; }
  .calendar-navi_01 .month-list label.active,
  .calendar-navi_01 .month-list label:hover { box-shadow: inset 0px -4px 0px 0px rgba(232,23,38,1); }

  .card-box .card_text { padding-top: 28px; }
  .card-box .card_date { font-family: inherit; color: #000; font-size: 14px; font-weight: bold; line-height: 1; display: block; padding-left: .5em; border-left: 3px solid #e60010; margin-bottom: 10px; }

  .card-box .card_label li.lang-jp { font-size: 13px; }
  .card-box .card_label li.lang-en { font-size: 14px; }
  .card-box .go_list { margin-top: 10px; }

  .schedule-list .this_date { font-size: 24px; margin-bottom: 35px; }

  .check-schedule_ticket { padding: 80px 0; margin-top: 100px; }
  .check-schedule_ticket ul { display: flex; justify-content: center; }
  .check-schedule_ticket li { width: 380px; }
  .check-schedule_ticket li + li { margin-top: 0; margin-left: 40px; }
  .check-schedule_ticket a { font-size: 14px; padding: 20px 0; }
  .check-schedule_ticket a svg { transform: translateY(-50%) scale(.5); fill: #e60010; position: absolute; top: 50%; right: 15px; transition-duration: .3s; }
  .check-schedule_ticket a:hover { color: #fff; background-color: #000; }
  .check-schedule_ticket a:hover svg { fill: #fff; }
}

@media (max-width: 768px) {
  .card-box .card_text { padding-top: 28px; }
  .card-box .card_ttl { font-size: 13px; font-size: 3.4666vw; font-weight: bold;; }
  .card-box .card_date { font-family: inherit; color: #000; font-size: 15px; font-size: 4vw; font-weight: bold; line-height: 1; display: block; padding-left: .5em; border-left: 3px solid #e60010; margin-bottom: 10px; }
  .card-box .card_label li { line-height: 1; letter-spacing: -0.1em; }
  .card-box .card_label li.lang-jp { font-size: 11px; font-size: 2.9333vw; }
  .card-box .card_label li.lang-en { font-size: 12px; font-size: 3.2vw; }
  .card-box .go_list { padding: 0; }
  .card-box .go_list a { background-color: #f2f2f2; }
}
