* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

html {
    height: 100%;
}

body {
    font-family: 'Josefin Sans', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    font-size: 14px;
    color: #333;
    min-width: 1200px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

main {
    flex: 1;
}

img {
    max-width: 100%;
    vertical-align: middle;
}

.sp-only {
    display: none;
}

.red {
    color: #f23535;
}

.bold {
    font-weight: bold;
}

.btn {
    position: relative;
    overflow: hidden;
    text-decoration: none;
    display: inline-block;
    padding: 15px 50px;
    text-align: center;
    outline: none;
    transition: ease .2s;
    background: #f23636;
    font-size: 1.2em;
    border-radius: 30px;
    color: #fff;
    min-width: 250px;
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
}

.btn span {
    position: relative;
    z-index: 3;
}

.btn:hover span {
    color: #fff;
    transition: ease .3s;
}

.btn:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background: #000;
    width: 100%;
    height: 100%;
    transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 1);
    transform-origin: right top;
}

.btn:hover:before {
    transform-origin: left top;
    transform: scale(1, 1);
}

.sub-page {
    margin-top: 100px;
    padding-bottom: 100px;
}

.sub-page .main-img img {
    width: 100%;
}

.container {
    max-width: 1200px;
    margin: auto;
    width: 95%;
}

.breadcrumb {
    margin-top: 40px;
    margin-bottom: 60px;
    font-family: sans-serif;
}

.breadcrumb ol {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.breadcrumb ol li {
    position: relative;
    margin-right: 15px;
}

.breadcrumb ol li:not(:first-child)::before {
    border-top: solid 1px #999;
    border-right: solid 1px #999;
    width: 6px;
    height: 6px;
    transform: rotate(45deg);
    display: inline-block;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    content: "";
    margin-right: 10px;
    margin-bottom: 2px;
}

.breadcrumb ol li a {
    text-decoration: none;
    color: #333;
}

.breadcrumb ol li a:hover {
    color: #f23636;
}

.main-title {
    margin-bottom: 60px;
}

.main-title h1 {
    font-size: 3em;
    text-align: center;
    color: #f23636;
}

.main-title h1 span {
    display: block;
    font-size: 0.5em;
    font-weight: normal;
    margin-top: 5px;
}

/* ヘッダー */

header {
    background-color: #f23535;
    position: fixed;
    z-index: 999;
    width: 100%;
    min-width: 1200px;
    top: 0;
    left: 0;
}

header .header-wrap {
    display: flex;
}

header .left-area {
    flex-shrink: 0;
    padding: 10px 20px;
}

header .left-area .catch {
    color: #fff;
    margin-top: 2px;
    margin-bottom: 1px;
}

header .left-area .logo-wrap {
    display: flex;
    align-items: center;
}

header .logo {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    /* padding: 17px;
    padding-top: 23px; */
    padding-right: 15px;
}

header .logo img {
    height: 40px;
}

header .code-num {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 0.9em;
    /* margin-top: 3px; */
}

header .code-num p span {
    display: block;
    font-size: 2.7em;
    letter-spacing: 2px;
    margin-top: 2px;
}

header .right-area {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.right-area .sns {
    margin-right: 20px;
}

.right-area .sns ul {
    list-style: none;
    display: inline-flex;
    align-items: center;
}

.right-area .sns ul li {
    margin: 0 7px;
}

.right-area .sns ul li a:hover {
    opacity: 0.8;
    transition: ease .2s;
}

.right-area .menu {
    height: 100%;
    width: 100px;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.navi-btn-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.navi-btn {
    width: 35px;
    position: relative;
    cursor: pointer;
    display: inline-block;
    z-index: 1;
    height: 30px;
}

.navi-btn span {
    position: absolute;
    display: block;
    width: 35px;
    height: 2px;
    background: #333;
    border-radius: 5px;
    transition: all .3s;
}

.navi-btn span:nth-of-type(2) {
    top: 9px;
    opacity: 1;
    transition: all .3s;
}

.navi-btn span:last-of-type {
    top: 18px;
}

.navi-btn p {
    color: #333;
    text-align: center;
    position: absolute;
    top: 28px;
    left: 0;
    font-size: 11px;
}

.navi-btn-on span:first-of-type {
    transform: rotate(-45deg) translateY(7px) translateX(-4px);
}

.navi-btn-on span:nth-of-type(2) {
    transform: translateX(0);
    opacity: 0;
}

.navi-btn-on span:last-of-type {
    transform: rotate(45deg) translateY(-9px) translateX(-6px);
}

#nav {
    height: calc(100vh - 100px);
    text-align: center;
    padding: 40px 10px;
    overflow-y: scroll;
    background-color: #fff;
    border: 5px solid #f23636;
    display: none;
}

/* #nav::-webkit-scrollbar {
    display: none;
} */

#nav .nav-wrap {
    display: flex;
    text-align: left;
}

#nav .nav-wrap>div {
    margin: 0 30px;
    width: 100%;
}

#nav .nav-wrap>div>div {
    margin-bottom: 40px;
}

#nav .nav-wrap>div>div:last-child {
    margin-bottom: 0;
}

#nav .menu-title {
    font-size: 1.4em;
    font-weight: 700;
    white-space: nowrap;
    border-bottom: 2px solid;
    padding-bottom: 10px;
    margin-bottom: 25px;
}

#nav .nav-wrap ul {
    list-style: none;
}

#nav .nav-wrap ul li {
    margin: 20px 0;
}

#nav .nav-wrap ul li a {
    text-decoration: none;
    font-size: 1.2em;
    white-space: nowrap;
    letter-spacing: 1px;
    display: block;
    color: #333;
    font-weight: bold;
}

#nav .nav-wrap ul li a:hover {
    color: #f23535;
}

#nav .nav-wrap ul li a span {
    display: block;
    font-size: 0.85em;
    margin-top: 5px;
    font-weight: normal;
    display: flex;
    align-items: center;
}

#nav .nav-wrap ul li a span::before {
    border-top: 1px solid;
    content: "";
    width: 15px;
    margin-right: 7px;
}

/* トップ */

#top-main {
    height: 100vh;
    height: 100dvh;
    background: url(../img/main.jpeg);
    background-size: cover;
    position: relative;
}

#top-main .catch {
    background-color: #f23535;
    color: #fff;
    height: 100%;
    width: 40px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    padding: 20px 40px;
    padding-top: 80px;
    letter-spacing: 5px;
    display: flex;
    align-items: center;
    position: absolute;
    left: 0;
    top: 0;
}

#top-main h1 {
    position: absolute;
    left: 0;
    bottom: 5%;
    color: #fdf100;
    font-size: 9.5em;
    line-height: 1;
    text-align: center;
    font-weight: 700;
    width: 100%;
}

#top-main h1 span {
    display: block;
    font-size: 0.5em;
    color: #fff;
    margin-bottom: 25px;
    letter-spacing: 1px;
}

#top-main-g3 {
    height: 100vh;
    height: 100dvh;
    background: url(../img/top/main.jpg);
    background-size: cover;
    position: relative;
}
#top-main-g3 .catch {
    position: absolute;
    top: 35%;
    left: 33%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    max-height: 40%;
    max-width: 60%;
}
#top-main-g3 .catch-overlay {
    mix-blend-mode: overlay;
    position: absolute;
    top: 36%;
    left: 32.5%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    max-height: 40.5%;
    max-width: 60%;
}
#top-main-g3 .main-title {
    position: absolute;
    top: 75%;
    left: 33%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    max-height: 19%;
    max-width: 60%;
}

#top-menu {
    display: flex;
}

#top-menu>div {
    width: 50%;
}

#top-menu .today-race {
    background-color: #f23535;
    color: #fff;
    text-align: center;
    padding: 40px;
    padding-top: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#top-menu .today-race>div {
    width: 100%;
    max-width: 650px;
    margin-left: auto;
}

#top-menu .today-race h2 {
    letter-spacing: 2px;
    margin-bottom: 20px;
    font-weight: 700;
    font-size: 3em;
}

#top-menu .today-race h2 span {
    display: block;
    font-weight: normal;
    font-size: 14px;
    margin-top: 5px;
}

#top-menu .today-race .time {
    font-size: 1.2em;
	font-weight: bold;
}

#top-menu .today-race .time strong {
    font-size: 1.2em;
    letter-spacing: 2px;
}

#top-menu .today-race .race-cts {
    width: 80%;
    display: inline-block;
    margin-top: 20px;
    max-width: 500px;
}

#top-menu .today-race h3 {
    background-color: #fff;
    color: #333;
    font-weight: 800;
    padding: 7px;
    border-radius: 30px;
}

#top-menu .today-race .race-name {
    padding: 20px 0px;
    font-size: 1.2em;
}

#top-menu .today-race .race-name p:not(:last-child) {
    margin-bottom: 0px;
}

#top-menu .today-race .honjyou_today .race-name img {
    height: 30px;
	margin-left: 5px;
	margin-right: 5px;
}
#top-menu .today-race .race-name img {
    height: 15px;
}

#top-menu .today-race .race-name p span {
    margin-left: 0px;
}
/* 
#top-menu .jyougai {
    text-align: center;
}

#top-menu .jyougai .jyougai-child {
    padding: 0.1rem;
} */

#top-menu .jyougai .jyougai-child .race-name {
    text-align: left;
}

.top-menu-area ul {
    list-style: none;
    padding: 40px;
    display: flex;
    flex-wrap: wrap;
    height: 100%;
}

.top-menu-area ul li {
    width: 100%;
}

.top-menu-area ul li a {
    display: flex;
    text-decoration: none;
    color: #333;
    height: 100%;
    align-items: center;
    padding: 15px 20px;
    padding-top: 20px;
    border-bottom: 1px solid #ccc;
    position: relative;
}

.top-menu-area ul li a::after {
    content: '';
    position: absolute;
    z-index: -1;
    bottom: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #f9eaea;
    transition: all .5s;
    opacity: 1;
}

.top-menu-area ul li a:hover {
    color: #f23535;
}

.top-menu-area ul li a:hover::after {
    opacity: 1;
    width: 100%;
}

.top-menu-area ul li a .arrow {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    border-top: solid 2px;
    border-right: solid 2px;
    width: 12px;
    height: 12px;
    transform: rotate(45deg);
    display: inline-block;
}

.top-menu-area ul li .menu-title {
    font-size: 1.5em;
    font-weight: bold;
    letter-spacing: 2px;
    width: 100%;
}

.top-menu-area ul li .menu-title span {
    display: block;
    font-size: 14px;
    font-weight: normal;
    margin-top: 10px;
}

#top-pickup h2 {
    text-align: center;
    font-size: 3em;
    font-weight: 700;
    color: #f23535;
    margin-bottom: 30px;
}

#top-pickup h2 span {
    font-weight: normal;
    font-size: 14px;
    display: block;
}

#top-calendar {
    padding: 80px 40px;
    position: relative;
}

#top-calendar .wheel-img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    height: 90%;
}

#top-calendar .inner {
    position: relative;
    z-index: 2;
    max-width: 1300px;
    margin: auto;
}

#top-calendar table {
    width: 100%;
}

#top-calendar h2 {
    text-align: center;
    font-size: 4em;
    color: #f23535;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 30px;
}

#top-calendar h2 span {
    display: block;
    font-size: 14px;
    font-weight: 500;
}

.calendar-wrap {
    -webkit-overflow-scrolling: touch;
    overflow: auto;
    border: 4px solid #f23535;
}

.calendar-wrap table {
    width: 100%;
    border-collapse: collapse;
    background-color: #fff;
    color: #333;
    overflow: hidden;
    min-width: 1100px;
}

.calendar-wrap table th {
    background-color: #f23535;
    color: #fff;
    font-size: 1.2em;
    padding: 10px 0;
    font-weight: normal;
}

.calendar-wrap table th.date {
    border-top: 1px solid #f23636;
    letter-spacing: 1px;
}

.calendar-wrap table .home th {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
}

.calendar-wrap table thead th {
    line-height: 1.2;
}

.calendar-wrap table th .month {
    display: block;
    font-size: 1.6em;
    margin-top: 5px;
    font-weight: bold;
    min-width: 180px;
}

.calendar-wrap table th .month span {
    font-size: 1.3em;
}

.calendar-wrap table .outside th {
    color: #fff;
    border-bottom: 1px solid #f23535;
}

.calendar-wrap table .outside th.num {
    background-color: #F8F8F8;
    font-weight: 500;
    color: #333;
    border-bottom: 1px solid #ccc !important;
}

.calendar-wrap table .clap th {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #f23535;
}

.calendar-wrap table td {
    text-align: center;
    border: 1px solid #ccc;
    font-weight: 500;
}

.calendar-wrap table thead td {
    padding: 3px 10px;
    background-color: #F8F8F8;
    min-width: 48px;
}

.calendar-wrap table thead .blue {
    color: #5c5cff;
}

.calendar-wrap table thead .red {
    color: #ff4b4b;
}

.calendar-wrap table td a {
    text-decoration: none;
    color: #333;
    display: block;
    padding: 8px 3px;
}

.calendar-wrap table td a:hover {
    opacity: 0.8;
}

.calendar-wrap table .bg-red {
    background-color: #ffd0d0;
}

.calendar-wrap table .bg-yellow {
    background-color: #fffce5;
}

.calendar-wrap table .bg-orange {
    background-color: #fde3cb;
}

.calendar-wrap table td img {
    height: 16px;
}

.calendar-wrap table td .bank-name {
    line-height: 1.2;
    margin-top: 4px;
    white-space: nowrap;
    font-size: 0.9em;
}
.calendar-wrap-clap{
	margin-top: 20px;
}

.icon-guide {
    margin-top: 20px;
    text-align: center;
}

.icon-guide ul {
    list-style: none;
    display: inline-flex;
}

.icon-guide ul li {
    display: flex;
    align-items: center;
    margin: 0 10px;
    font-weight: 500;
}

.icon-guide ul li img {
    height: 20px;
    margin-right: 8px;
}

.cts-area {
    font-family: sans-serif;
}

#top-calendar .btn-wrap {
    text-align: center;
    margin-top: 40px;
}

#top-calendar .satellite-link {
    margin-top: 50px;
}

#top-calendar .satellite-link ul {
    list-style: none;
    text-align: center;
}

#top-calendar .satellite-link ul li {
    display: inline-block;
    margin: 0 20px;
}

#top-calendar .satellite-link ul li a {
    text-decoration: none;
    border: 1px solid #f23636;
    color: #333;
    display: inline-block;
    font-size: 1.5em;
    font-weight: bold;
    padding: 15px;
    padding-top: 22px;
    position: relative;
    background-color: #fff;
    width: 300px;
    letter-spacing: 2px;
}

#top-calendar .satellite-link ul li a span {
    position: relative;
    z-index: 2;
}

#top-calendar .satellite-link ul li a span span {
    display: block;
    font-size: 14px;
    font-weight: normal;
    margin-top: 3px;
}

#top-calendar .satellite-link ul li a::after {
    content: '';
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #f9eaea;
    transition: all .5s;
    opacity: 1;
}

#top-calendar .satellite-link ul li a:hover {
    color: #f23535;
    border-color: #f23535;
}

#top-calendar .satellite-link ul li a:hover::after {
    opacity: 1;
    width: 100%;
}

#top-information {
    display: flex;
    position: relative;
    min-height: 750px;
}

#top-information h2 {
    position: absolute;
    top: 50%;
    left: 49.5%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    color: #fff;
    font-size: 6em;
    letter-spacing: 5px;
}

#top-information>div {
    width: 50%;
}

#top-information .img-area img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

#top-information .cts-area {
    background-color: #f23535;
    color: #fff;
}

#top-information .cts-area .inner {
    max-width: 680px;
    margin-right: auto;
    padding: 60px 80px;
    padding-right: 40px;
}

#top-information .cts-area .tab {
    list-style: none;
    display: flex;
}

#top-information .cts-area .tab li {
    width: 50%;
    text-align: center;
    cursor: pointer;
    border: 1px solid #fff;
    padding: 10px;
    padding-top: 15px;
    font-size: 1.5em;
    font-weight: bold;
    letter-spacing: 2px;
}

#top-information .cts-area .tab li.active {
    background-color: #fff;
    color: #f23535;
    cursor: auto;
}

#top-information .cts-area .tab li:first-child {
    margin-right: 10px;
}

#top-information .cts-area .tab li:hover {
    background-color: #fff;
    color: #f23535;
    transition: ease .2s;
}

#top-information .cts-area .tab li span {
    font-size: 14px;
    font-weight: normal;
    margin-left: 10px;
}

#top-information .info-list-wrap {
    margin-top: 20px;
    display: none;
}

#top-information .info-list {
    height: 490px;
    overflow-y: scroll;
}

#top-information .info-list::-webkit-scrollbar {
    display: none;
}

#top-information .info-list article {
    border-bottom: 1px solid;
}

#top-information .info-list article a {
    text-decoration: none;
    color: #fff;
    display: flex;
    align-items: center;
    padding: 15px;
}

#top-information .info-list article a:hover {
    opacity: 0.8;
    transition: ease .2s;
}

#top-information .info-list article a .date {
    display: block;
    margin-bottom: 5px;
    letter-spacing: 1px;
}

#top-information .info-list article a .title {
    font-size: 1.2em;
}

#top-information .info-list article a .arrow {
    border-top: solid 2px;
    border-right: solid 2px;
    width: 12px;
    height: 12px;
    transform: rotate(45deg);
    display: inline-block;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin-left: auto;
}

#top-information .btn-wrap {
    text-align: center;
    margin-top: 40px;
}

#top-information .btn {
    background-color: #fff;
    color: #000;
}

#top-information .no-msg {
    font-size: 1.2em;
    padding: 15px;
}

#top-movie {
    padding: 80px 40px;
    background-color: #f9eaea;
    position: relative;
    overflow: hidden;
}

#top-movie h2 {
    text-align: center;
    font-size: 4em;
    color: #f23535;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 30px;
}

#top-movie h2 span {
    display: block;
    font-size: 14px;
    font-weight: 500;
}

#top-movie .wheel {
    position: absolute;
    height: 45%;
}

#top-movie .wheel.right {
    right: 0;
    bottom: 0;
}

#top-movie .wheel.left {
    left: 0;
    top: 0;
}

#top-movie .inner {
    max-width: 1300px;
    margin: auto;
}

.video-wrap {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.video-wrap video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#top-slider {
    padding: 80px 40px;
    background-color: #f9eaea;
}

#top-slider .inner {
    max-width: 1300px;
    margin: auto;
}

#top-slider a:hover {
    opacity: 0.8;
}

#top-slider .slick-slide img {
    width: 100%;
}

#top-slider .slider .slick-prev {
    left: 22.5%;
    width: 42px;
    height: 42px;
}

#top-slider .slider .slick-prev:before {
    content: '';
    display: inline-block;
    width: 42px;
    height: 42px;
    background-image: url(../img/slide_prev.png);
    background-size: contain;
    vertical-align: middle;
}

#top-slider .slider .slick-next {
    right: 22.5%;
    width: 42px;
    height: 42px;
}

#top-slider .slider .slick-next::before {
    content: '';
    display: inline-block;
    width: 42px;
    height: 42px;
    background-image: url(../img/slide_next.png);
    background-size: contain;
    vertical-align: middle;
}

#foot-link {
    padding: 50px 40px;
}

#foot-link .inner {
    max-width: 1300px;
    margin: auto;
}

#foot-link ul {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 10px -15px;
}

#foot-link ul li {
    padding: 10px 15px;
}

#foot-link ul li a:hover {
    opacity: 0.8;
    transition: ease .2s;
}

#foot-link ul.medium-bnr li {
    width: calc(100%/5);
}

#foot-link ul.large-bnr li {
    width: calc(100%/3);
}

#foot-link ul li img {
    width: 100%;
}

#foot-link .slick-track {
    display: flex;
    align-items: center;
}

#foot-btm {
    background-color: #0d0d0d;
    color: #fff;
    text-align: center;
    padding-bottom: 30px;
}

#foot-btm .page-top-area {
    padding-top: 150px;
    padding-bottom: 20px;
}

#foot-btm .page-top-area a {
    display: inline-block;
    position: relative;
}

#foot-btm .page-top-area .text {
    text-decoration: none;
    color: #313131;
    font-weight: 700;
    letter-spacing: 1px;
    font-size: 1.6em;
    line-height: 1;
    position: absolute;
    bottom: 107%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transition: ease .5s;
}

#foot-btm .page-top-area a:hover .text {
    bottom: 105%;
    transition: ease .5s;
}

#foot-btm .page-top-area .bank {
    width: 500px;
}

#foot-btm .page-top-area .bat {
    position: absolute;
    top: 55%;
    left: 65px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

#foot-btm .page-top-area .bat img {
    height: 70px;
    transition: ease .3s;
}

#foot-btm .page-top-area a .bat img:hover {
    transform: rotate(70deg);
    transition: ease .3s;
}

#foot-btm .page-top-area .tamachan {
    position: absolute;
    top: 57%;
    right: 100px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

#foot-btm .page-top-area .tamachan img {
    height: 80px;
    transition: .5s;
    transform: rotateY(0deg);
}

#foot-btm .page-top-area .tamachan img.show {
    transform: rotateY(360deg);
}

footer .copyright img {
    height: 40px;
    margin-bottom: 15px;
}

/* 選手紹介 */

#player .tab {
    list-style: none;
    display: flex;
    margin: 0 -10px;
}

#player .tab li {
    width: 100%;
    background-color: #0d0d0d;
    color: #fff;
    text-align: center;
    padding: 10px;
    font-size: 1.4em;
    margin: 0 10px;
    position: relative;
    cursor: pointer;
    letter-spacing: 2px;
}

#player .tab li:hover {
    background-color: #f23636;
    transition: ease .2s;
}

#player .tab li img {
    display: none;
}

#player .tab li.active {
    background-color: #f23636;
    cursor: auto;
}

#player .tab li.active:hover {
    opacity: 1;
}

#player .tab li.active img {
    display: block;
    position: absolute;
    left: 10px;
    width: 50px;
    bottom: 97%;
}

#player .player-list-wrap {
    margin-top: 60px;
    display: none;
}

#player .player-list {
    display: flex;
    flex-wrap: wrap;
    margin: -12px;
}

#player .player-list>div {
    width: 50%;
    padding: 12px;
}

#player .player-box {
    background: #e9e9e9;
    padding: 20px;
}

#player .player-box .name-area {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

#player .player-box .name-area .number {
    background-color: #f23636;
    color: #fff;
    display: inline-block;
    padding: 7px 10px;
    margin-right: 20px;
    font-size: 1.2em;
}

#player .player-box .name-area .name {
    font-size: 1.8em;
    font-weight: bold;
}

#player .player-box .name-area .name-kana {
    margin-top: 10px;
    margin-left: 20px;
}

#player .prof-area {
    display: flex;
}

#player .prof-area .img-area {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin-right: 20px;
}

#player .prof-area .link-btn {
    margin-top: 20px;
}

#player .prof-area .link-btn a {
    text-decoration: none;
    color: #fff;
    background-color: #000;
    display: block;
    text-align: center;
    border-radius: 20px;
    padding: 10px;
    font-weight: bold;
}

#player .prof-area .link-btn a:hover {
    opacity: 0.7;
    transition: ease .3s;
}

#player .prof-area .link-btn a span {
    display: inline-flex;
    align-items: center;
}

#player .prof-area .link-btn a span::before {
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    width: 6px;
    height: 6px;
    transform: rotate(45deg);
    display: inline-block;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    content: "";
    margin-right: 10px;
}

#player .prof-area .detail-area ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    font-family: sans-serif;
    margin: -4px;
}

#player .prof-area .detail-area ul li {
    width: calc(100%/3);
    padding: 4px;
    text-align: center;
    font-size: 0.9em;
}

#player .prof-area .detail-area ul li .ttl {
    background: #000;
    color: #fff;
    text-align: center;
    font-weight: normal;
    padding: 3px;
}

#player .prof-area .detail-area ul li .cts {
    padding: 5px;
    background: #fff;
}

/* 開催カレンダー */

#schedule .tab {
    list-style: none;
    display: flex;
    justify-content: center;
    margin: 0 -10px;
}

#schedule .tab li {
    background-color: #0d0d0d;
    color: #fff;
    text-align: center;
    padding: 10px;
    font-size: 1.4em;
    margin: 0 10px;
    position: relative;
    cursor: pointer;
    letter-spacing: 2px;
    width: calc(100%/6);
}

#schedule .tab li:hover {
    background-color: #f23636;
    transition: ease .2s;
}

#schedule .tab li img {
    display: none;
}

#schedule .tab li.active {
    background-color: #f23636;
    cursor: auto;
}

#schedule .tab li.active:hover {
    opacity: 1;
}

#schedule .tab li.active img {
    display: block;
    position: absolute;
    left: 10px;
    width: 50px;
    bottom: 97%;
}

#schedule .calendar-list-wrap {
    margin-top: 20px;
}

#schedule .calendar-list {
    display: none;
}

#schedule .calendar-box {
    padding-top: 100px;
    margin-top: -60px;
}

#schedule .calendar-box h2 {
    margin-bottom: 10px;
    font-size: 1.8em;
    color: #f23636;
}

#schedule .calendar-box.tsuyama h2 {
    color: #333333;
}

#schedule .calendar-box.tsuyama .calendar-wrap {
    border-color: #333333;
}

.tsuyama .calendar-wrap table th {
    background-color: #333333;
}

.tsuyama .calendar-wrap table th.date {
    border-top-color: #333333;
}

.tsuyama .calendar-wrap table .outside th {
    border-bottom-color: #333333;
}

#schedule .calendar-box.kasaoka h2 {
    color: #333333;
}

#schedule .calendar-box.kasaoka .calendar-wrap {
    border-color: #333333;
}

.kasaoka .calendar-wrap table th {
    background-color: #333333;
}

.kasaoka .calendar-wrap table th.date {
    border-top-color: #333333;
}

.kasaoka .calendar-wrap table .outside th {
    border-bottom-color: #333333;
}

#schedule .calendar-box.sanin h2 {
    color: #333333;
}

#schedule .calendar-box.sanin .calendar-wrap {
    border-color: #333333;
}

.sanin .calendar-wrap table th {
    background-color: #333333;
}

.sanin .calendar-wrap table th.date {
    border-top-color: #333333;
}

.sanin .calendar-wrap table .outside th {
    border-bottom-color: #333333;
}
#schedule .tab_jyou{
	list-style: none;
    text-align: center;
    display: flex;
    margin: 0 -20px;
    padding: 0 60px;
}
#schedule .tab_jyou li {
    text-decoration: none;
    border: 1px solid #f23636;
    color: #333;
    display: inline-block;
    font-size: 1.5em;
    font-weight: bold;
    padding: 15px;
    position: relative;
    background-color: #fff;
    width: 100%;
    letter-spacing: 2px;
    margin: 0 20px;
    cursor: pointer;
}
#schedule .tab_jyou li.active {
    color: #f23535;
    border-color: #f23535;
    background: #f9eaea;
    pointer-events: none;
}
#schedule .tab_jyou li span {
    position: relative;
    z-index: 2;
}
#schedule .tab_jyou li span span {
    display: block;
    font-size: 14px;
    font-weight: normal;
    margin-top: 3px;
}
#schedule ul.tab_jyou li::after {
    content: '';
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #f9eaea;
    transition: all .5s;
    opacity: 1;
}

#schedule ul.tab_jyou li:hover::after {
    opacity: 1;
    width: 100%;
}
#schedule ul.tab_jyou{
	margin-top: 3rem;
}
#schedule .calendar-box {
    display: none;
}
#schedule .calendar-box.active {
    display: block;
}

/* レースガイド */

#race-guide h2 {
    display: flex;
    align-items: center;
    font-size: 2.2em;
}

#race-guide h2::before,
#race-guide h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}

#race-guide h2 span {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin: 0 30px;
}

#race-guide .guide-box:not(:last-child) {
    margin-bottom: 40px;
}

#race-guide .guide-box .detail {
    padding: 60px;
}

#race-guide .guide-box .detail dl {
    display: flex;
    font-size: 1.2em;
    margin-bottom: 20px;
}

#race-guide .guide-box .detail dl:last-child {
    margin-bottom: 0;
}

#race-guide .guide-box .detail dl dt {
    background-color: #000;
    color: #fff;
    width: 30%;
    padding: 25px;
}

#race-guide .guide-box .detail dl dd {
    background-color: #F8F8F8;
    width: 70%;
    padding: 25px;
}

#race-guide .guide-box .detail dl dd a {
    color: #0d0d0d;
}

/* 競輪場外車券売り場 */

#satellite .satellite-link ul {
    list-style: none;
    text-align: center;
    display: flex;
    margin: 0 -20px;
    padding: 0 60px;
}

#satellite .satellite-link li {
    text-decoration: none;
    border: 1px solid #f23636;
    color: #333;
    display: inline-block;
    font-size: 1.5em;
    font-weight: bold;
    padding: 15px;
    position: relative;
    background-color: #fff;
    width: 100%;
    letter-spacing: 2px;
    margin: 0 20px;
    cursor: pointer;
}

#satellite .satellite-link li span {
    position: relative;
    z-index: 2;
}

#satellite .satellite-link li span span {
    display: block;
    font-size: 14px;
    font-weight: normal;
    margin-top: 3px;
}

#satellite .satellite-link ul li::after {
    content: '';
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #f9eaea;
    transition: all .5s;
    opacity: 1;
}

#satellite .satellite-link ul li:hover {
    color: #f23535;
    border-color: #f23535;
}

#satellite .satellite-link li.active {
    color: #f23535;
    border-color: #f23535;
    background: #f9eaea;
    pointer-events: none;
}

#satellite .satellite-link ul li:hover::after {
    opacity: 1;
    width: 100%;
}

#satellite h2 {
    display: flex;
    align-items: center;
    font-size: 2.2em;
}

#satellite h2::before,
#satellite h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}

#satellite h2 span {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin: 0 30px;
}

#satellite .satellite-box {
    padding-top: 120px;
    margin-top: -40px;
}

#satellite .satellite-box-inner {
    padding: 30px 60px;
}

#satellite .satellite-box .lead {
    text-align: center;
    font-size: 1.4em;
}

#satellite .satellite-box .lead p {
    display: inline-block;
    text-align: left;
}

#satellite .facility-overview {
    display: flex;
    margin-top: 40px;
}

#satellite .facility-overview .img-area {
    width: 35%;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin-right: 40px;
}

#satellite .facility-overview .img-area .sub {
    margin-top: 30px;
}

#satellite .facility-overview .img-area .sub ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    margin: -5px -10px;
}

#satellite .facility-overview .img-area .sub ul li {
    width: 50%;
    text-align: center;
    padding: 5px 10px;
}

#satellite .facility-overview .img-area .sub ul li img {
    width: 100%;
}

#satellite .facility-overview .img-area .sub ul li p {
    margin-top: 5px;
}

#satellite .facility-overview .detail-area {
    width: 65%;
}

#satellite .facility-overview .detail-area>div:not(:last-child) {
    margin-bottom: 30px;
}

#satellite h3 {
    font-size: 1.6em;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

#satellite h3 img {
    height: 26px;
    margin-right: 5px;
}

#satellite .facility-overview .detail dl {
    display: flex;
    font-size: 1.2em;
    margin-bottom: 10px;
}

#satellite .facility-overview .detail dl:last-child {
    margin-bottom: 0;
}

#satellite .facility-overview .detail dl dt {
    width: 30%;
    background-color: #000;
    color: #fff;
    padding: 20px;
}

#satellite .facility-overview .detail dl dd {
    background-color: #F8F8F8;
    width: 70%;
    padding: 20px;
}

#satellite .facility-overview .detail-area .btn-wrap {
    text-align: right;
    margin-top: 30px;
}

#satellite .map-area {
    margin-top: 40px;
}

#satellite .map-area iframe {
    width: 100%;
    height: 300px;
}

/* 開催情報 */

#holding h2 {
    display: flex;
    align-items: center;
    font-size: 2.2em;
}

#holding h2::before,
#holding h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}

#holding h2 span {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin: 0 30px;
    text-align: center;
    max-width: 90%;
}

#holding .detail {
    padding: 60px;
}

#holding .detail>div:not(:last-child) {
    margin-bottom: 50px;
}

#holding .detail h3 {
    font-size: 1.6em;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
}

#holding .detail h3 img {
    height: 26px;
    margin-right: 5px;
}

#holding .detail h4 {
    margin-bottom: 5px;
}

#holding .detail dl {
    display: flex;
    font-size: 1.2em;
    margin-bottom: 10px;
}

#holding .detail dl:last-child {
    margin-bottom: 0;
}

#holding .detail dl dt {
    background-color: #000;
    color: #fff;
    width: 30%;
    padding: 25px;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
}

#holding .detail dl dd {
    background-color: #F8F8F8;
    width: 100%;
    padding: 25px;
}

#holding .detail dl dd p:not(:last-child) {
    margin-bottom: 10px;
}

#holding .detail dl dd .flex {
    display: flex;
}

#holding .detail dl dd a {
    color: #333;
}

#holding .detail dl .flex .date {
    width: 130px;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
}

#holding .detail dl dd .present-list {
    margin-left: 15px;
    color: #f23535;
}

#holding .detail dl dd .btn-wrap {
    margin-top: 15px;
}

#holding .detail dl dd .btn {
    color: #fff;
}

#holding .detail dl dd .prev-app {
    margin-top: 15px;
    display: inline-block;
}

#holding .destination>div {
    margin-bottom: 20px;
}

#holding .destination .note {
    font-size: 0.9em;
}

#holding .detail .player ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
}

#holding .detail .player ul li {
    width: calc(100%/5);
    text-align: center;
    padding: 10px;
}

#holding .detail .player ul li a {
    text-decoration: none;
    color: #333;
}

#holding .detail .player ul li a img {
    margin-bottom: 5px;
}

#holding .detail .link ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
}

#holding .detail .link ul li {
    padding: 0 10px;
    width: 50%;
    font-family: 'Josefin Sans', sans-serif;
}

#holding .detail .link ul li a {
    display: flex;
    text-decoration: none;
    color: #333;
    height: 100%;
    align-items: center;
    padding: 20px;
    padding-top: 25px;
    border-bottom: 1px solid #ccc;
    position: relative;
}

#holding .detail .link ul li a::after {
    content: '';
    position: absolute;
    z-index: -1;
    bottom: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #f9eaea;
    transition: all .5s;
    opacity: 1;
}

#holding .detail .link ul li a:hover {
    color: #f23535;
}

#holding .detail .link ul li a:hover::after {
    opacity: 1;
    width: 100%;
}

#holding .detail .link ul li .menu-title {
    font-size: 1.5em;
    font-weight: bold;
    letter-spacing: 2px;
    width: 100%;
}

#holding .detail .link ul li .menu-title span {
    display: block;
    font-size: 14px;
    font-weight: normal;
    margin-top: 7px;
}

#holding .detail .link ul li a .arrow {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    border-top: solid 2px;
    border-right: solid 2px;
    width: 12px;
    height: 12px;
    transform: rotate(45deg);
    display: inline-block;
}

#holding .no-holding {
    text-align: center;
    font-size: 1.2em;
}

#holding .time table {
    margin-top: 10px;
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    line-height: 1.4;
    font-size: 0.9em;
}
#holding .time table th {
    border: 1px solid;
    padding: 10px;
    background-color: #000;
    color: #fff;
}
#holding .time table td {
    border: 1px solid;
    padding: 10px;
    text-align: center;
	background: #f8f8f8;
}

#holding h6 {
    font-size: 1rem;
    font-weight: normal;
}
#holding .time {
	margin-bottom: 2rem;
}
#holding .cast_dl dd {
	text-align: center;
	display: flex;
    flex-wrap: wrap;
    gap: 20px 40px;
}
#holding .cast_dl dd p {
	margin-top: 10px;
}
#holding .cast {
	text-align: left;
}
#holding .cast img {
	height: 70px;
}
#holding .table {
	width: 100%;
	text-align: center;
}
#holding .table img {
	width: 80%;
}

/* 前検インタビュー */

#interview h2 {
    display: flex;
    align-items: center;
    font-size: 2.2em;
}

#interview h2::before,
#interview h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}

#interview h2 span {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin: 0 30px;
}

#interview .detail {
    padding: 40px 60px;
    background: #F8F8F8;
}

#interview .detail .update-date {
    text-align: right;
    margin-bottom: 10px;
    font-size: 1.2em;
}

#interview .detail .title {
    font-size: 1.8em;
    border-bottom: 3px solid;
    padding-bottom: 10px;
    margin-bottom: 30px;
    font-weight: bold;
}

#interview .cts {
    font-size: 1.2em;
}

#interview .cts p {
    margin-bottom: 15px;
    display: -webkit-box;
}

#interview .no-interview {
    text-align: center;
    font-size: 1.2em;
    margin-top: 30px;
}

.interview-list {
    margin-top: 100px;
}

.interview-list ul {
    list-style: none;
    padding: 60px;
    padding-bottom: 0;
    font-size: 1.2em;
}

.interview-list ul li {
    margin-bottom: 15px;
}

.interview-list ul li a {
    color: #333;
    text-decoration: none;
    display: flex;
}

.interview-list ul li a:hover {
    color: #f23535;
}

.interview-list ul li a .material-icons {
    color: #f23535;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin-right: 10px;
}

.pager {
    text-align: center;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic";
    margin-top: 40px;
}

.pager a {
    margin: 0 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 30px;
    padding: 0 2px;
    border: 1px solid #f23535;
    color: #f23535;
    text-decoration: none;
}

.pager span.current {
    margin: 0 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 30px;
    padding: 0 2px;
    border: 1px solid #f23535;
    text-decoration: none;
    background-color: #f23535;
    color: #fff;
}

.link-box {
    overflow: hidden;
    margin-top: 10px;
    font-size: 1.2em;
}

.link-box a {
    color: #333;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

.link-box a:hover {
    color: #f23535;
}

.link-box .next {
    float: left;
}

.link-box .next a::before {
    border-top: solid 1px #333;
    border-right: solid 1px #333;
    width: 8px;
    height: 8px;
    transform: rotate(-135deg);
    display: inline-block;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    content: "";
    margin-left: 5px;
    margin-right: 5px;
}

.link-box .next a:hover::before {
    border-color: #f23535;
}

.link-box .prev {
    float: right;
}

.link-box .prev a::after {
    border-top: solid 1px #333;
    border-right: solid 1px #333;
    width: 8px;
    height: 8px;
    transform: rotate(45deg);
    display: inline-block;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    content: "";
    margin-left: 5px;
    margin-right: 5px;
}

.link-box .prev a:hover::after {
    border-color: #f23535;
}

#interview .list-btn {
    text-align: center;
    margin-top: 30px;
}

/* ミッドナイトe-SHINBUN */

#eshinbun .lead {
    text-align: center;
    font-size: 1.2em;
    margin-bottom: 40px;
}

#eshinbun h2 {
    display: flex;
    align-items: center;
    font-size: 2.2em;
}

#eshinbun h2::before,
#eshinbun h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}

#eshinbun h2 span {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin: 0 30px;
    text-align: center;
    max-width: 90%;
}

.eshinbun-list {
    padding: 60px;
    font-size: 1.2em;
}

.eshinbun-list ul {
    list-style: none;
}

.eshinbun-list ul li {
    margin-bottom: 20px;
}

.eshinbun-list ul li a {
    display: flex;
    text-decoration: none;
    color: #333;
}

.eshinbun-list ul li a .arrow {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin-right: 10px;
    color: #f23535;
}

.eshinbun-list ul li a .date {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin-right: 20px;
}

.eshinbun-list ul li a .title br {
    display: none;
}

.eshinbun-list ul li a:hover {
    color: #f23535;
}

#eshinbun .pager {
    margin-top: 60px;
}

.no-eshinbun {
    text-align: center;
}

#eshinbun .detail {
    padding: 60px 0;
}

#eshinbun .tab {
    list-style: none;
    display: flex;
    margin: 0 -10px;
}

#eshinbun .tab li {
    width: 100%;
    background-color: #0d0d0d;
    color: #fff;
    text-align: center;
    padding: 10px;
    font-size: 1.4em;
    margin: 0 10px;
    position: relative;
    cursor: pointer;
    letter-spacing: 2px;
}

#eshinbun .tab li:hover {
    background-color: #f23636;
    transition: ease .2s;
}

#eshinbun .tab li img {
    display: none;
}

#eshinbun .tab li.active {
    background-color: #f23636;
    cursor: auto;
}

#eshinbun .tab li.active:hover {
    opacity: 1;
}

#eshinbun .tab li.active img {
    display: block;
    position: absolute;
    left: 10px;
    width: 50px;
    bottom: 97%;
}

#eshinbun .list-btn {
    text-align: center;
}

#eshinbun .comment-list {
    margin-top: 60px;
}

#eshinbun .comment-box {
    padding: 40px 60px;
    background: #F8F8F8;
}

#eshinbun .update-date {
    text-align: right;
    font-size: 1.2em;
    margin-bottom: 10px;
}

#eshinbun .comment-box h3 {
    font-size: 1.8em;
    border-bottom: 3px solid;
    padding-bottom: 10px;
    margin-bottom: 40px;
    font-weight: bold;
    text-align: center;
}

#eshinbun .comment-box .img-area {
    margin-top: 30px;
}

#eshinbun .comment table {
    font-size: 1.2em;
}

#eshinbun .comment table th {
    vertical-align: top;
}

#eshinbun .comment table th>div {
    display: flex;
    white-space: nowrap;
}

#eshinbun .comment table th .num {
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    border: 1px solid #ccc;
}

#eshinbun .comment table th .course1 {
    background: #fff;
}

#eshinbun .comment table th .course2 {
    background: #000;
    color: #fff;
    border-color: #000;
}

#eshinbun .comment table th .course3 {
    background: #e61717;
    color: #fff;
    border-color: #e61717;
}

#eshinbun .comment table th .course4 {
    background: #0066cc;
    color: #fff;
    border-color: #0066cc;
}

#eshinbun .comment table th .course5 {
    background: #f0c518;
    border-color: #f0c518;
}

#eshinbun .comment table th .course6 {
    background: #228900;
    color: #fff;
    border-color: #228900;
}

#eshinbun .comment table th .course7 {
    background: #ff9500;
    border-color: #ff9500;
}

#eshinbun .comment table th .course8 {
    background: #f28abd;
    border-color: #f28abd;
}

#eshinbun .comment table th .course9 {
    background: #822bd9;
    color: #fff;
    border-color: #822bd9;
}

#eshinbun .comment table th .name {
    font-weight: bold;
}

#eshinbun .comment table td {
    line-height: 1.8;
    padding-left: 30px;
    padding-bottom: 20px;
}

#eshinbun .comment table tr:last-child td {
    padding-bottom: 0;
}

#eshinbun .number-list{
    list-style: none;
    display: flex;
    margin: 0 -10px;
    margin-bottom: 60px;
}

#eshinbun .number-list li{
    width: 100%;
}

#eshinbun .number-list li a{
    background-color: #0d0d0d;
    color: #fff;
    text-align: center;
    padding: 10px;
    font-size: 1.4em;
    margin: 0 10px;
    letter-spacing: 2px;
    display: block;
    text-decoration: none;
}

#eshinbun .number-list li.ui-tabs-selected a{
    background-color: #f23636;
    pointer-events: none;
}

#eshinbun .item.ui-tabs-panel{
    padding: 40px 60px;
    background: #F8F8F8;
    font-size: 1.2em;
    display: none;
}

#eshinbun .txt_b{
    margin: 15px 0;
}

/* 予想紙のレース予想 */

#prediction .inner {
    font-family: sans-serif;
}

#prediction .detail {
    padding: 20px 60px;
}

#prediction .detail h3 {
    font-size: 1.6em;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    display: inline;
}

#prediction .detail span.day {
    font-weight: normal;
    margin-left: 2rem;
}

#prediction .detail h3 img {
    height: 26px;
    margin-right: 5px;
}

.pdf-box {
    padding: 1rem;
}

.pdf-box ul {
    list-style: none;
    display: flex;
    margin: 0 -8px;
    flex-wrap: wrap;
}

.pdf-box ul li {
    display: inline-block;
    padding: 0 8px;
}

#prediction .pdf-box ul li {
    width: calc(100%/4);
    margin-bottom: 0.5rem;
}

.pdf-box ul li .btn {
    min-width: auto;
    width: 100%;
    font-size: 1.2em;
    padding: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 30px;
}

.pdf-box ul li .btn img {
    height: 16px;
    margin-left: 5px;
}

#racepdf h2 {
    display: flex;
    align-items: center;
    font-size: 2.2em;
}

#racepdf h2::before,
#racepdf h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}

#racepdf h2 span {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin: 0 30px;
    text-align: center;
    max-width: 90%;
}

#racepdf .inner {
    font-family: sans-serif;
    margin-top: 30px;
}

#racepdf .detail {
    padding: 20px 60px;
}

#racepdf .detail h3 {
    font-size: 1.6em;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    display: inline;
}

#racepdf .detail span.day {
    font-weight: normal;
    margin-left: 2rem;
}

#racepdf .detail h3 img {
    height: 26px;
    margin-right: 5px;
}

#racepdf .pdf-box ul li {
    width: calc(100%/4);
    margin-bottom: 0.5rem;
}

.c-menu-anchor ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.c-menu-anchor ul li {
    overflow: hidden;
    width: calc(100%/4);
    color: #fff;
    background: #0d0d0d;
    height: auto;
    padding: 1rem;

}

.c-menu-anchor ul li:nth-child(1) {
    border-right: 1px solid #fff;
}

.c-menu-anchor ul li:nth-child(2) {
    border-right: 1px solid #fff;
}

.c-menu-anchor ul li:nth-child(3) {
    border-right: 1px solid #fff;
}

.c-menu-anchor ul li:hover {
    background-color: #f23535;
    color: #fff;
    transition: ease .5s;
}

.c-menu-anchor ul li.active {
    background-color: #f23535;
    color: #fff;
}

.c-menu-anchor ul.men li.active {
    background-color: #193080;
    color: #fff;
}

.c-menu-anchor ul.men li:hover {
    background-color: #193080;
    color: #fff;
    transition: ease .5s;
}


.map-img-box {
    text-align: center;
    margin-top: 30px;
    display: flex;
}

.map-img-box>div {
    width: 50%;
}

.map-img-box>div:first-child {
    margin-right: 20px;
}

/* 三熊記述 */
#map .content-wrap ul li {
    list-style: none;
    padding: 3px;
}

#map .back-style {
    background-color: #f8f8f8;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    padding-bottom: 180px;
    padding-top: 80px;
}

#map .back-style .border-img {
    position: absolute;
    bottom: 0;
    right: 0;
}

#map .back-style img {
    max-width: 350px;
}

#map .back-style .img-wrap p {
    text-align: center;
    font-size: 20px;
    margin-top: 10px;
}

#map .back-style .img-wrap span {
    background-color: #002279;
    color: #fff;
    display: inline-block;
    width: 23px;
    height: 24px;
    border-radius: 50%;
    font-size: 17px;
    margin-right: 5px;
    font-weight: bold;
}

#map .sub-title {
    text-align: center;
    font-size: 20px;
}

#map .content-wrap {
    display: flex;
    justify-content: space-evenly;
    font-size: 20px;
    width: 90%;
    border-top: 7px solid #f23535;
    padding: 30px;
    margin: auto;
    margin-bottom: 60px;
    margin-top: 30px;
    box-shadow: 0px 10px 6px #999;
}

#map .content-wrap h4 {
    font-size: 23px;
    border-left: 5px solid #f23535;
    padding: 0px 8px;
    margin-bottom: 15px;
}

#map .guide-img-wrap {
    position: relative;
    text-align: center;
}

#map .guide-img-wrap img {
    max-width: 60%;
}
#map div.contents{
	margin-top: 30px;
    margin-bottom: 30px;
	text-align: left;
}
#map h3 {
    font-size: 1.6em;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}
#map h3 img {
    height: 26px;
    margin-right: 5px;
}
#map .lead{
	font-size: 1.2em;
    margin: 0 auto;
}
#map .detail{
    padding: 60px;
    text-align: center;
    margin: 0 auto;
}
#map .lead ul{
	padding-left: 1rem;
}
#bank-guide .back-style {
    background-color: #f8f8f8;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    padding-bottom: 100px;
    padding-top: 80px;
}

#stadium-guide .stadium-guide-img {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    text-align: left;
}

#stadium-guide .stadium-img-wrap {
    text-align: center;
    margin-bottom: 70px;
    padding: 15px;
    width: 33%;
}

#stadium-guide .stadium-img-wrap h4 {
    font-size: 22px;
    margin: auto;
    border-left: 5px solid #f23535;
    padding: 0px 8px;
    text-align: left;
    margin-bottom: 5px;
}


#premium-room h4 {
    border-left: 5px solid #f23535;
    padding: 0px 8px;
    font-size: 25px;
    margin-bottom: 15px;
}

#premium-room .img-wrap {
    display: flex;
    justify-content: center;
}

#premium-room .img-wrap img {
    display: block;
    padding: 10px;
    width: 17%;
}

/* ここまで */
.pc-block {
    display: block;
}

#deme .satellite-link {
    margin-bottom: 30px;
}

#deme .satellite-link ul {
    list-style: none;
    text-align: center;
}

#deme .satellite-link li {
    display: inline-block;
    margin: 0 20px;
}

#deme .satellite-link li.woman {
    text-decoration: none;
    border: 1px solid #f23636;
    color: #333;
    display: inline-block;
    font-size: 1.5em;
    font-weight: bold;
    padding: 15px;
    padding-top: 22px;
    position: relative;
    background-color: #fff;
    width: 300px;
    letter-spacing: 2px;
}

#deme .satellite-link li.man {
    text-decoration: none;
    border: 1px solid #193080;
    color: #333;
    display: inline-block;
    font-size: 1.5em;
    font-weight: bold;
    padding: 15px;
    padding-top: 22px;
    position: relative;
    background-color: #fff;
    width: 300px;
    letter-spacing: 2px;
}

#deme .satellite-link li span {
    position: relative;
    z-index: 2;
}

#deme .satellite-link li span span {
    display: block;
    font-size: 14px;
    font-weight: normal;
    margin-top: 3px;
}

#deme .satellite-link ul li::after {
    content: '';
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #f9eaea;
    transition: all .5s;
    opacity: 1;
}

#deme .satellite-link ul li.man::after {
    background: #eef9ff;
}

#deme .satellite-link ul li.woman:hover {
    color: #f23535;
    border-color: #f23535;
}

#deme .satellite-link li.woman.active {
    color: #f23535;
    border-color: #f23535;
    background: #f9eaea;
}

#deme .satellite-link ul li.man:hover {
    color: #193080;
    border-color: #193080;
}

#deme .satellite-link li.man.active {
    color: #193080;
    border-color: #193080;
    background: #eef9ff;
}

#deme .satellite-link ul li:hover::after {
    opacity: 1;
    width: 100%;
}

#deme .c-menu-anchor ul.man li.active {
    background-color: #193080;
}

#deme .c-menu-anchor ul.man li:hover {
    background-color: #193080;
}

#deme .table {
    padding: 0 3rem;
	padding-top: 2rem;

}

#deme .table ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

#deme .table ul li {
    overflow: hidden;
    height: auto;
    padding: 1rem;
}

#deme .table ul.head li {
    background: #193080;
    color: #fff;
}


#deme .table ul.contents li {
    background: #f2faff;
    color: #0d0d0d;
    padding: 0.5rem;
}

#deme .table ul.contents.odd li {
    background: #fff;
    color: #0d0d0d;
}

#deme .table ul li:nth-child(1) {
    width: 10%;
}

#deme .table ul li:nth-child(2) {
    width: 30%;
    border-left: 1px solid #fff;
}

#deme .table ul li:nth-child(3),
#deme .table ul li:nth-child(4),
#deme .table ul li:nth-child(5) {
    width: 20%;
    border-left: 1px solid #fff;
}

#deme .table ul.contents li.deme span {
    margin: 5px;
    display: inline-block;
    width: 22px;
    height: 22px;
    text-align: center;
}

#deme .tab-women-div .table ul.head li {
    background: #f23535;
    color: #fff;
}

#deme .tab-women-div .table ul.contents.even li {
    background: #fcf6f6;
}

.num1 {
    background: #fff;
    color: #404040;
    border: 1px #404040 solid;
}

.num2 {
    background: #404040;
    color: #fff;
    border: 1px #404040 solid;
}

.num3 {
    background: #E61717;
    color: #fff;
    border: 1px #404040 solid;
}

.num4 {
    background: #0066CC;
    color: #fff;
    border: 1px #404040 solid;
}

.num5 {
    background: #F0C518;
    color: #404040;
    border: 1px #404040 solid;
}

.num6 {
    background: #228900;
    color: #fff;
    border: 1px #404040 solid;
}

.num7 {
    background: #FF9500;
    color: #404040;
    border: 1px #404040 solid;
}

.num8 {
    background: #F28ABD;
    color: #404040;
    border: 1px #404040 solid;
}

.num9 {
    background: #822BD9;
    color: #fff;
    border: 1px #404040 solid;
}

#cm h2 {
    display: flex;
    align-items: center;
    font-size: 2.2em;
}

#cm h2::before,
#cm h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}

#cm h2 span {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin: 0 30px;
    text-align: center;
    max-width: 90%;
}

#cm .detail {
    padding: 60px;
    text-align: center;
    margin: 0 auto;
}

#cm .contents {
    width: 70%;
    margin: 0 auto;
}

#cm .slider-3 .slick-slide {
    margin: 0 60px;
    padding: 60px 0;
    position: relative;
}

#cm .slider-3 .slick-slide .slide-img {
    width: auto;
    height: 200px;
    transition: all 0.6s ease 0.4s;
    opacity: 0.8;
    box-shadow: 7px 7px 15px -5px #666;
    overflow: hidden;
}

#cm .slider-3 .slick-slide.slick-current .slide-img {
    transform: scale(1.2);
    opacity: 1;
}

#cm .slider-3 .slick-slide .slide-img video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#cm .slider-3 .slick-arrow {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #fff;
    cursor: pointer;
    border: none;
    outline: none;
    font-size: 0;
    position: absolute;
    top: 50%;
    z-index: 1;
    transform: translateY(-50%);
    filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}

#cm .slider-3 .slick-arrow::before {
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    border: 1px solid #09000d;
    border-width: 3px 3px 0 0;
    position: absolute;
    top: 24px;
    transform: rotate(45deg);
}

#cm .slider-3 .slick-next {
    right: 0;
}

#cm .slider-3 .slick-prev {
    left: 0;
}

#cm .slider-3 .slick-next::before {
    left: 20px;
}

#cm .slider-3 .slick-prev::before {
    border-width: 0 0 3px 3px;
    right: 22px;
}

#cm .slick-dots li button:before {
    font-size: 20px !important;
}

#cm .lead {
    text-align: left;
    font-size: 1.2em;
    width: 70%;
    margin: 0 auto;
}


#tel h2 {
    display: flex;
    align-items: center;
    font-size: 2.2em;
}

#tel h2::before,
#tel h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}

#tel h2 span {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin: 0 30px;
    text-align: center;
    max-width: 90%;
}

#tel .detail {
    padding: 60px;
    text-align: center;
    margin: 0 auto;
}

#tel .contents {
    width: 70%;
    margin: 0 auto;
}

#tel .lead {
    font-size: 1.2em;
    width: 70%;
    margin: 0 auto;
}

#tel h4 {
    margin-top: 20px;
    margin-bottom: 20px;
    display: inline-block;
    margin-left: -30px;
    padding: 1px;
}

#tel h4 .kind {
    background: #007bbb;
    padding: 5px;
    margin-right: 10px;
    color: #fff;
    font-weight: normal;
    border-radius: 5px;
}

#tel h4 a {
    font-size: 2rem;
    color: #007bbb;
}

#tel table {
    width: 80%;
    margin: 0 auto;
    margin-top: 20px;
    font-size: 1.2em;
}

#tel table thead {
    background: #000;
    color: #fff;
}

#tel table thead tr th {
    padding: 10px;
}

#tel table tbody tr td {
    padding: 10px;
    background-color: #F8F8F8;
}

#tel table thead tr th:nth-child(1) {
    width: 30%;
}


#privacy h2 {
    display: flex;
    align-items: center;
    font-size: 2.2em;
}

#privacy h2::before,
#privacy h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}

#privacy h2 span {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin: 0 30px;
    text-align: center;
    max-width: 90%;
}

#privacy .detail {
    padding: 60px;
    text-align: center;
    margin: 0 auto;
}

#privacy .lead {
    font-size: 1.2em;
    margin: 0 auto;
}

#privacy .lead p {
    text-align: left;
}

#privacy div.contents {
    margin-top: 30px;
    margin-bottom: 30px;
}

#privacy h3 {
    font-size: 1.6em;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

#privacy h3 img {
    height: 26px;
    margin-right: 5px;
}

#privacy ul {
    padding-left: 30px;
    padding-top: 10px;
    padding-bottom: 10px;
}

#privacy li {
    text-align: left;
}

/* お問い合わせ */

#contact .contact-box:not(:last-child) {
    margin-bottom: 40px;
}

#contact h2 {
    display: flex;
    align-items: center;
    font-size: 2.2em;
}

#contact h2::before,
#contact h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}

#contact h2 span {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin: 0 30px;
    text-align: center;
    max-width: 90%;
}

#contact .detail {
    padding: 60px;
}

#contact .detail dl {
    display: flex;
    font-size: 1.2em;
    margin-bottom: 10px;
}

#contact .detail dl:last-child {
    margin-bottom: 0;
}

#contact .detail dl dt {
    background-color: #000;
    color: #fff;
    width: 30%;
    padding: 25px;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
}

#contact .detail dl dd {
    background-color: #F8F8F8;
    width: 100%;
    padding: 25px;
}

#contact .detail dl dd a {
    color: #000;
}

#contact .lead {
    text-align: center;
    font-size: 1.2em;
    margin-bottom: 40px;
}

#contact .lead p {
    margin-bottom: 15px;
}

#contact .lead a {
    color: #333;
    display: inline-block;
    margin: 0 3px;
}

#contact .event-msg {
    text-align: center;
    margin-bottom: 50px;
    margin-top: -20px;
    font-size: 1.2em;
}

.form-area {
    margin: auto;
    margin-top: 40px;
    background-color: #F8F8F8;
    padding: 60px 80px;
}

.form-area table {
    width: 100%;
    margin: auto;
    border-collapse: collapse;
    font-size: 1.2em;
}

.form-area table th {
    font-weight: normal;
    padding: 15px;
    padding-top: 25px;
    text-align: left;
    vertical-align: top;
    white-space: nowrap;
    width: 250px;
}

.form-area table th .required {
    display: inline-block;
    width: 40px;
    border-radius: 3px;
    background-color: #000;
    text-align: center;
    color: #fff;
    font-size: 0.7em;
    vertical-align: top;
    margin-left: 10px;
    padding: 3px;
}

.form-area table td {
    padding: 15px;
}

.form-area .note {
    font-size: 0.9em;
    margin-top: 10px;
    color: #E61717;
    display: block;
}

.form-area .text-input {
    padding: 12px;
    width: 100%;
    border-radius: 3px;
    resize: vertical;
    font-size: 1em;
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.form-area .text-input.auto {
    width: auto;
}

.form-area .select {
    padding: 12px;
    width: 100%;
    border-radius: 3px;
    border: none;
    font-size: 1em;
}

.form-area .btn-area {
    text-align: center;
    margin-top: 20px;
}

.form-area .btn-area .btn:hover {
    background-color: #000;
}

.form-area .wpcf7-spinner {
    display: none;
}

.form-area .wpcf7-not-valid-tip {
    margin-top: 5px;
}

.form-area .wpcf7 form .wpcf7-response-output {
    border: none;
    text-align: center;
    font-size: 1.2em;
    padding: 0;
}

.recaptcha-msg {
    text-align: center;
    margin-top: 30px;
}

.recaptcha-msg a {
    color: #333;
}

.grecaptcha-badge {
    visibility: hidden;
}

/* 応援メッセージ */

#message h2 {
    display: flex;
    align-items: center;
    font-size: 2.2em;
}

#message h2::before,
#message h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}

#message h2 span {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin: 0 30px;
    text-align: center;
    max-width: 90%;
}

#message .detail {
    padding: 50px 60px;
}

#message .lead {
    text-align: center;
    font-size: 1.2em;
}

#message .lead h3 {
    font-size: 1.2em;
    margin-bottom: 20px;
}

#message .lead p {
    margin-bottom: 15px;
}

#message .lead a {
    color: #333;
    display: inline-block;
    margin: 0 3px;
}

/* 視聴者プレゼント */

#present .present-box:not(:last-child) {
    margin-bottom: 40px;
}

#present h2 {
    display: flex;
    align-items: center;
    font-size: 2.2em;
}

#present h2::before,
#present h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}

#present h2 span {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin: 0 30px;
    text-align: center;
    max-width: 90%;
}

#present .detail {
    padding: 50px 60px;
}

#present .present-detail {
    text-align: center;
    font-size: 1.2em;
    margin-bottom: 40px;
}

#present .present-detail ul {
    display: inline-block;
    margin-top: 20px;
    margin-left: 20px;
    color: #f23535;
    text-align: left;
}

#present .present-detail ul li {
    margin-bottom: 5px;
}

#present .detail dl {
    display: flex;
    font-size: 1.2em;
    margin-bottom: 10px;
}

#present .detail dl:last-child {
    margin-bottom: 0;
}

#present .detail dl dt {
    background-color: #000;
    color: #fff;
    width: 30%;
    padding: 25px;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
}

#present .detail dl dd {
    background-color: #F8F8F8;
    width: 100%;
    padding: 25px;
}

#present .detail dl dd a {
    color: #333;
    display: inline-block;
    margin-top: 10px;
}

#present .lead {
    text-align: center;
    font-size: 1.2em;
}

#present .lead p {
    margin-bottom: 15px;
}

#present .lead a {
    color: #333;
    display: inline-block;
    margin: 0 3px;
}

#present .close {
    text-align: center;
    font-size: 1.2em;
}

/* イベント */

#event h2 {
    display: flex;
    align-items: center;
    font-size: 2.2em;
}

#event h2::before,
#event h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}

#event h2 span {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin: 0 30px;
    text-align: center;
    max-width: 90%;
}

.event-list {
    padding: 60px;
    font-size: 1.2em;
}

.event-list ul {
    list-style: none;
}

.event-list ul li {
    margin-bottom: 20px;
}

.event-list ul li a {
    display: flex;
    text-decoration: none;
    color: #333;
}

.event-list ul li a .arrow {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin-right: 10px;
    color: #f23535;
}

.event-list ul li a .date {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin-right: 20px;
}

.event-list ul li a .title br {
    display: none;
}

.event-list ul li a:hover {
    color: #f23535;
}

#event h3 {
    font-size: 1.8em;
    border-bottom: 3px solid;
    padding-bottom: 10px;
    margin-bottom: 40px;
    font-weight: bold;
}

#event .update-date {
    text-align: right;
    font-size: 1.2em;
    margin-bottom: 10px;
}

.event-box {
    padding: 40px 60px;
    background: #F8F8F8;
}

.event-detail {
    font-size: 1.2em;
    word-break: break-all;
}

.event-detail p {
    margin-bottom: 15px;
    display: -webkit-box;
}

#event .list-btn {
    text-align: center;
    margin-top: 60px;
}

#event .pager {
    margin-top: 60px;
}

.no-event {
    text-align: center;
}

/* お知らせ */

#news h2 {
    display: flex;
    align-items: center;
    font-size: 2.2em;
}

#news h2::before,
#news h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}

#news h2 span {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin: 0 30px;
    text-align: center;
    max-width: 90%;
}

.news-list {
    padding: 60px;
    font-size: 1.2em;
}

.news-list ul {
    list-style: none;
}

.news-list ul li {
    margin-bottom: 20px;
}

.news-list ul li a {
    display: flex;
    text-decoration: none;
    color: #333;
}

.news-list ul li a .arrow {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin-right: 10px;
    color: #f23535;
}

.news-list ul li a .date {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin-right: 20px;
}

.news-list ul li a .title br {
    display: none;
}

.news-list ul li a:hover {
    color: #f23535;
}

#news h3 {
    font-size: 1.8em;
    border-bottom: 3px solid;
    padding-bottom: 10px;
    margin-bottom: 40px;
    font-weight: bold;
}

#news .update-date {
    text-align: right;
    font-size: 1.2em;
    margin-bottom: 10px;
}

.news-box {
    padding: 40px 60px;
    background: #F8F8F8;
}

.news-detail {
    font-size: 1.2em;
}

.event-detail a {
    color: #333;
}

.news-detail p {
    margin-bottom: 15px;
}

#news .list-btn {
    text-align: center;
    margin-top: 60px;
}

#news .pager {
    margin-top: 60px;
}

.no-news {
    text-align: center;
}

/* 地元選手出走情報 */

#run-info h2 {
    display: flex;
    align-items: center;
    font-size: 2.2em;
}

#run-info h2::before,
#run-info h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}

#run-info h2 span {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin: 0 30px;
    text-align: center;
    max-width: 90%;
}

#run-info .detail {
    padding: 60px;
}

#run-info table {
    width: 100%;
    table-layout: fixed;
    font-size: 1.2em;
    border-collapse: collapse;
}

#run-info table tr:nth-child(odd) {
    background-color: #F8F8F8;
}

#run-info table tr:nth-child(even) {
    background-color: #e1e1e1;
}

#run-info table td {
    text-align: center;
    padding: 10px;
    border-bottom: 10px solid #fff;
}

#run-info table td img {
    height: 80px;
}

#run-info table td a {
    color: #E61717;
}

/* 新人選手紹介 */

#new-player h2 {
    display: flex;
    align-items: center;
    font-size: 2.2em;
}

#new-player h2::before,
#new-player h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}

#new-player h2 span {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin: 0 30px;
    text-align: center;
    max-width: 90%;
}

#new-player .detail {
    padding: 60px;
}

#new-player .player-list {
    margin-top: 20px;
}

#new-player .player-list>div {
    margin-bottom: 80px;
    border: 2px solid #E61717;
    padding: 35px 40px;
    position: relative;
    padding-top: 40px;
}

#new-player .player-list>div:last-child {
    margin-bottom: 0;
}

#new-player .player-list .pickup {
    font-size: 2em;
    position: absolute;
    background: #fff;
    left: 47px;
    top: -30px;
    padding: 5px 20px;
    font-weight: bold;
    color: #E61717;
}

#new-player .player-list h3 {
    font-size: 1.6em;
    margin-bottom: 15px;
}

#new-player .player-list h3 span {
    font-size: 0.7em;
    margin-left: 30px;
}

#new-player .player-list .prof-area {
    display: flex;
    align-items: center;
}

#new-player .player-list .prof-area .left {
    text-align: center;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin-right: 40px;
}

#new-player .player-list .prof-area .link-btn {
    margin-top: 20px;
}

#new-player .player-list .prof-area .link-btn a {
    text-decoration: none;
    color: #fff;
    background-color: #000;
    display: block;
    text-align: center;
    border-radius: 20px;
    padding: 10px;
    font-weight: bold;
}

#new-player .player-list .prof-area .link-btn a span {
    display: inline-flex;
    align-items: center;
}

#new-player .player-list .prof-area .link-btn a span::before {
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    width: 6px;
    height: 6px;
    transform: rotate(45deg);
    display: inline-block;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    content: "";
    margin-right: 10px;
}

#new-player .player-list .prof-area .right {
    width: 100%;
}

#new-player .player-list .interview {
    margin-top: 20px;
}

#new-player .player-list .prof {
    display: flex;
    flex-wrap: wrap;
    margin: -5px;
}

#new-player .player-list .prof dl {
    width: calc(100%/3);
    padding: 5px;
}

#new-player .player-list .prof dl dt {
    background-color: #000;
    color: #fff;
    padding: 5px 10px;
}

#new-player .player-list .prof dl dd {
    background-color: #F8F8F8;
    padding: 5px 10px;
}

#new-player .player-list .date {
    display: flex;
    margin-top: 15px;
}

#new-player .player-list .date table {
    width: 100%;
}

#new-player .player-list .date table:first-child {
    margin-right: 5px;
}

#new-player .player-list .date table th {
    background-color: #000;
    color: #fff;
    padding: 5px;
}

#new-player .player-list .date table td {
    background-color: #F8F8F8;
    padding: 5px;
    text-align: center;
}

/* 初心者ガイド */

#beginner h2 {
    display: flex;
    align-items: center;
    font-size: 2.2em;
}

#beginner h2::before,
#beginner h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}

#beginner h2>span {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin: 0 30px;
    text-align: center;
    max-width: 90%;
}

#beginner .detail {
    padding: 60px;
}

.beginner-guide dl {
    margin-bottom: 40px;
}

.beginner-guide dl dt {
    font-size: 1.6em;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    font-weight: bold;
}

.beginner-guide dl dt img {
    height: 26px;
    margin-right: 5px;
}

.beginner-guide dl dd {
    font-size: 1.2em;
}

.movie-wrap {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.movie-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* 出走表PDF出力方法 */

#pdf-output .lead {
    text-align: center;
    font-size: 1.2em;
    margin-bottom: 60px;
}

#pdf-output .lead .img-area {
    margin: 20px 0;
}

#pdf-output .lead .notes {
    font-size: 0.9em;
}

#pdf-output h2 {
    display: flex;
    align-items: center;
    font-size: 2.2em;
}

#pdf-output h2::before,
#pdf-output h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}

#pdf-output h2 span {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin: 0 30px;
    text-align: center;
    max-width: 90%;
}

#pdf-output .detail {
    padding: 60px;
}

#pdf-output .output-method {
    margin-bottom: 40px;
}

#pdf-output .flow {
    text-align: center;
}

#pdf-output .step-box {
    font-size: 1.2em;
    background-color: #F8F8F8;
    padding: 40px;
    padding-bottom: 60px;
    display: inline-block;
    width: 800px;
}

#pdf-output h3 {
    font-size: 1.8em;
    color: #E61717;
}

#pdf-output .step-box .explanation {
    margin-top: 10px;
    margin-bottom: 20px;
}

#pdf-output .arrow-wrap {
    margin-top: 30px;
    margin-bottom: 20px;
}

#pdf-output .arrow-wrap .arrow {
    width: 0;
    height: 0;
    border-left: 60px solid transparent;
    border-right: 60px solid transparent;
    border-top: 50px solid black;
    display: inline-block;
}

#pdf-output .contact dl {
    display: flex;
    font-size: 1.2em;
}

#pdf-output .contact dl dt {
    background-color: #000;
    color: #fff;
    width: 30%;
    padding: 25px;
}

#pdf-output .contact dl dd {
    background-color: #F8F8F8;
    width: 70%;
    padding: 25px;
    line-height: 1.8;
}

#pdf-output .contact dl dd a {
    color: #333;
}

/* アクセス */

#access h2 {
    display: flex;
    align-items: center;
    font-size: 2.2em;
}

#access h2::before,
#access h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}

#access h2 span {
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    margin: 0 30px;
    text-align: center;
    max-width: 90%;
}

#access .detail {
    padding: 60px;
    font-size: 1.2em;
    text-align: center;
}

#access .lead {
    margin-bottom: 50px;
}

#access h3 {
    font-size: 1.1em;
    margin-bottom: 15px;
}

#access h3 .kind {
    background-color: #007bbb;
    color: #fff;
    font-weight: normal;
    padding: 0 5px;
    font-size: 0.9em;
    display: inline-block;
    margin-right: 10px;
}

#access h3 a {
    color: #333;
}

#access .time-table-wrap {
    text-align: left;
}

#access .time-table:not(:last-child) {
    margin-bottom: 60px;
}

#access .time-table table {
    width: 100%;
    display: inline-table;
    table-layout: fixed;
    text-align: center;
    margin-bottom: 10px;
}

#access .time-table table thead th:nth-child(2) {
    width: 10%;
}

#access .time-table table th {
    background-color: #000;
    color: #fff;
    padding: 10px;
}

#access .time-table table td {
    background-color: #F8F8F8;
    padding: 10px;
}

#access .time-table .time-detail {
    background-color: #F8F8F8;
    padding: 15px 20px;
}

.access-map {
    margin-top: 40px;
}

.access-map .map-img {
    margin-bottom: 40px;
}

.access-map dl {
    display: flex;
    margin-bottom: 10px;
    text-align: left;
}

.access-map dl dt {
    background-color: #000;
    color: #fff;
    width: 30%;
    padding: 25px;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
}

.access-map dl dd {
    background-color: #F8F8F8;
    width: 100%;
    padding: 25px;
}

.access-map dl dd ul {
    margin-left: 20px;
}

.access-map .map {
    margin-top: 40px;
}

.access-map .map iframe {
    width: 100%;
    height: 350px;
}

#commentator .inner {
    font-family: sans-serif;
}

#commentator .detail {
    padding: 20px 60px;
}

#commentator .detail h3 {
    font-size: 1.6em;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    display: inline;
}

#commentator .detail span.day {
    font-weight: normal;
    margin-left: 2rem;
}

#commentator .detail h3 img {
    height: 26px;
    margin-right: 5px;
}

#commentator .detail > .race{
	padding: 20px 30px;
    background: #F8F8F8;
    margin: 1rem;
	margin-bottom: 5rem;
}
#commentator .detail > .race.even{
	background: #f7fdff;
}

#commentator .pdf-box ul li {
    width: 24%;
    margin-bottom: 0.5rem;
	background: #f23535;
    color: #fff;
    padding: 0.5rem;
    text-align: center;
    border-radius: 5px;
    font-size: 1rem;
	margin: 3px 5px;
}
#commentator .detail .race h3 {
    font-size: 1.3em;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    display: inline;
}
#commentator .div-innner{
	display: flex;
}
#commentator .comment-wrap{
	margin: 1rem 0 3rem 0;
}
#commentator .comment-wrap .num {
    margin-right: 0px;
    display: inline-block;
	text-align: center;
}
#commentator .comment-wrap .num span{
    border: 1px solid #999;
    width: 30px;
    height: 30px;
    border-radius: 5px;
    display: inline-block;
    text-align: center;
    margin: 1px;
    position: relative;
}
#commentator .comment-wrap .num span p{
    top: 3px;
    bottom: 0;
    position: absolute;
    left: 0;
    right: 0;
    display: inline-block;
}
#commentator .comment-wrap .num span.none{
	border: none;
}
#commentator .comment-wrap .num span.nonn{
	border: none;
}
#commentator .comment-wrap .num > p{
	font-size: 1.3rem;

}
#commentator .yosou-wrap{
	border-bottom: 1px solid;
}
#commentator .detail h3 img.yosou{
	height:70px;
}
#commentator .yosou_img{
	padding: 0 2rem;
	text-align: right;
}
#commentator .yosou_img h3{
	font-weight: normal;
	font-size: 1.2rem;
}


#commentator .pdf-box ul li.active {
    background: #000;
    color: #fff;
    transition: ease .5s;
}

#commentator .pdf-box ul li:hover {
    background: #000;
    color: #fff;
    transition: ease .5s;
}
#clap_today{
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}


#clap_today tbody{
    background: #fff;
}
#clap_today tbody tr td{
    padding: 10px 15px;
    text-align: left;
}
#clap_today tbody tr:nth-child(1){
    border-bottom: 1px solid #ff8f8f;
}

#clap_today tbody tr td:nth-child(2)  {
    border-left: 1px solid #ff8f8f;
}

#clap_today tbody tr td:nth-child(3)  {
    border-left: 1px solid #ff8f8f;
}
#clap_today tbody tr td:nth-child(4)  {
    border-left: 1px solid #ff8f8f;
}
#clap_today tbody span{
	color: #333333;
    font-weight: bold;
    display: block;
    font-size: 1rem;
}


.radius {
	border-collapse: separate;
	border-spacing: 0; 
	border-radius: 20px;
}
/* 左上 */
.radius thead tr:first-child th:first-child {
	border-radius: 20px 0 0 0;
}
/* 右上 */
.radius thead tr:first-child th:last-child {
	border-radius: 20px 20px 0 0;
}
/* 左下 */
.radius tr:last-child td:first-child {
	border-radius: 0 0 0 20px;
}
/* 右下 */
.radius tr:last-child td:last-child {
	border-radius: 0 0 20px 0;
}
/* 上のborderを取りやめ。設定しているborderを削除でもOK */
.radius td {
	border-top-width: 0;
}
/* ただし、一番上は必要 */
.radius thead tr:first-child  {
	border-top-width: 1px;
}
/* 左のborderを取りやめ。設定しているborderを削除でもOK */
.radius td {
	border-left-width: 0;
}
/* ただし、一番左は必要 */
.radius td:first-child {
	border-left-width: 1px;
}
#clap_today thead tr th{
	padding: 10px;
	background: #ff8f8f;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
#jyogai_today{
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}


#jyogai_today tbody{
    background: #fff;
}
#jyogai_today tbody tr td{
    padding: 10px 30px;
    text-align: left;
}

#jyogai_today tbody tr td:nth-child(2)  {
    border-left: 1px solid #ff8f8f;
}

#jyogai_today tbody tr td:nth-child(3)  {
    border-left: 1px solid #ff8f8f;
}
#jyogai_today tbody tr td:nth-child(4)  {
    border-left: 1px solid #ff8f8f;
}
#jyogai_today tbody span{
	color: #333333;
    font-weight: bold;
    display: block;
    font-size: 1rem;
}
#jyogai_today thead tr th{
	padding: 10px;
	background: #ff8f8f;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
#top-menu .today-race .race-name a {
	text-decoration: none;
	color: inherit;
}


#top-menu .honjyou_today h3 {
	background: #121310;
	color: #ffeb3b;
	border-radius: 0px;
	font-size: 1.5rem;
}

#top-menu .jyougai_today h3 {
	background: #5a5a5a;
	color: #fff;
	border-radius: 0px;
}

#top-menu .clap_today h3 {
	background: #5a5a5a;
	color: #fff;
	border-radius: 0px;
}

#top-menu .today-race .race-name {
	padding: 0px 0px 20px 0px;
}


#top-menu .race-name {
	margin-bottom: 1rem;
}
#top-menu .today-race .jyougai_today .race-name{
	padding: 0px 0px 0px 0px;
	margin-bottom:0px;
}
#top-menu .today-race .clap_today .race-name{
	padding: 0px 0px 0px 0px;
	margin-bottom:1rem;
}
#top-menu .today-race .jyogai_other_today .race-name{
	padding: 0px 0px 0px 0px;
	margin-bottom:0rem;
}

#top-menu .race-name span.day {
	font-size: 1.5em;
    letter-spacing: 2px;
	display: inline-block;
    padding: 2px 21px;
    background: #5a5a5a;
    border-radius: 19px;
    margin-bottom: 0.5rem;
}

#top-menu .race-name span.small {
	font-weight: normal;
	font-size: 0.8rem;
}
#top-menu .jyougai_today ul li span h5{
	display: inline-block;
    font-size: 0.8rem;
    background: #5a5a5a;
    margin-right: 4px;
    color: #fff;
    font-family: monospace;
    padding: 2px;
}

#top-menu .jyougai_today ul {
	list-style: none;
	display: flex;
	text-align: center;
	flex-wrap: wrap;
	align-content: space-around;
	margin: 0 auto;
	flex-direction: row;
	align-items: baseline;
	justify-content: center;
}

#top-menu .jyougai_today ul.over1 li {
	width: 100%;
}

#top-menu .jyougai_today ul li {
	font-weight: bold;
	width: 50%;
	padding: 0.3rem;
	background: #f6f6f6;
	color: #5a5a5a;
	margin: 0px;
    border-bottom: 1px solid #5a5a5a;
}

#top-menu .jyougai_today ul li:nth-child(2) {
	border-left: 1px solid #5a5a5a;
}

#top-menu .jyougai_today ul li span {
	display: block;
	font-size: 0.9rem;
}

#top-menu .clap_today ul {
	list-style: none;
	display: flex;
	text-align: center;
	flex-wrap: wrap;
	align-content: space-around;
	margin: 0 auto;
	flex-direction: row;
	align-items: baseline;
    justify-content: flex-start;
}

#top-menu .clap_today ul li {
	font-weight: bold;
	padding: 0.3rem;
	background: #f6f6f6;
	color: #5a5a5a;
	margin: 0px;
    border-top: 1px solid #5a5a5a;
}

#top-menu .clap_today ul.over1 li {
	width: 100%;
}

#top-menu .clap_today ul.over2 li {
	width: 50%;
}

#top-menu .clap_today ul.over3 li {
	width: 33.3%;
}

#top-menu .clap_today ul.over4 li {
	width: 25%;
}

#top-menu .clap_today ul li:nth-child(2),
#top-menu .clap_today ul li:nth-child(3),
#top-menu .clap_today ul li:nth-child(4),
#top-menu .clap_today ul li:nth-child(6),
#top-menu .clap_today ul li:nth-child(7),
#top-menu .clap_today ul li:nth-child(8) {
	border-left: 1px solid #5a5a5a;
}

#top-menu .clap_today ul.over4 li:nth-child(5),
#top-menu .clap_today ul.over4 li:nth-child(6),
#top-menu .clap_today ul.over4 li:nth-child(7),
#top-menu .clap_today ul.over4 li:nth-child(8) {
	border-top: 1px solid #5a5a5a;
}



#top-menu .clap_today ul li.opacity0 {
	opacity: 0;

}
#top-menu .clap_today ul.over1 li.opacity0 {
	display: none;
}
#top-menu .clap_today ul.over2 li.opacity0:nth-child(3),
#top-menu .clap_today ul.over2 li.opacity0:nth-child(4),
#top-menu .clap_today ul.over2 li.opacity0:nth-child(5),
#top-menu .clap_today ul.over2 li.opacity0:nth-child(6),
#top-menu .clap_today ul.over2 li.opacity0:nth-child(7),
#top-menu .clap_today ul.over2 li.opacity0:nth-child(8) {
	display: none;
}
#top-menu .clap_today ul.over3 li.opacity0:nth-child(4),
#top-menu .clap_today ul.over3 li.opacity0:nth-child(5),
#top-menu .clap_today ul.over3 li.opacity0:nth-child(6),
#top-menu .clap_today ul.over3 li.opacity0:nth-child(7),
#top-menu .clap_today ul.over3 li.opacity0:nth-child(8) {
	display: none;
}



#top-menu .clap_today ul li span {
	display: block;
	font-size: 0.9rem;
}



#top-menu .honjyou_today ul {
	list-style: none;
	display: flex;
	text-align: center;
	flex-wrap: nowrap;
	align-content: space-around;
	margin: 0 auto;
	flex-direction: column-reverse;
	align-items: center;
}

#top-menu .honjyou_today ul li {
	font-weight: bold;
	width: 100%;
	background: #fff;
	color: #333;
	margin-top: 0.5rem;
	margin: 0px;
}


#top-menu .honjyou_today ul li span {
	display: block;
	font-size: 1.5rem;
}
#top-menu .honjyou_today ul li span.title {
    border-bottom: 1px solid #fff;
    margin-bottom: 10px;
}
#top-menu .today-race .honjyou_today .race-name a{
	padding: 10px;
    background: #333;
    color: #fff;
    border: 3px solid #333;
    display: inherit;
	border-top:none;
}
#top-menu .today-race .honjyou_today .race-name{
    padding-top: 5px;
    background: #333;
}
