@charset "utf-8";

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

@font-face {
    font-family: "Mgen+ 2cp";
    font-weight: normal;
    src: local("mgenplus-2c-regular"),
        url("../fonts/mgenplus-2cp-regular.woff2") format("woff2"),
        url("../fonts/mgenplus-2cp-regular.woff") format("woff");
}

@font-face {
    font-family: "Mgen+ 2cp";
    font-weight: bold;
    src: local("mgenplus-2cp-bold"),
        url("../fonts/mgenplus-2cp-bold.woff2") format("woff2"),
        url("../fonts/mgenplus-2cp-bold.woff") format("woff");
}

@font-face {
    font-family: "Mgen+ 2cp";
    font-weight: 900;
    src: local("mgenplus-2cp-black"),
        url("../fonts/mgenplus-2cp-black.woff2") format("woff2"),
        url("../fonts/mgenplus-2cp-black.woff") format("woff");
}

@keyframes animate-banner {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(-100%)
    }
}

html {
    height: 100%;
}

body {
    font-family: "Mgen+ 2cp";
    color: #333;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-width: 1300px;
}

main {
    flex: 1;
    /* padding-top: 153px; */
}

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

.container {
    width: 1200px;
    margin: auto;
}

.sp-only {
    display: none;
}

a:hover {
    opacity: 0.8;
}

.white {
    color: #fff;
}

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

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

.main-img {
    position: relative;
    display: none;
}

.main-img::after {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.75), transparent);
    position: absolute;
    left: 0;
    top: 0;
}

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

.main-contents {
    padding-top: 40px;
    padding-bottom: 60px;
}

.main-title {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 40px;
}

.main-title img {
    width: 100px;
    margin-right: 20px;
}

.main-title h1 {
    color: #031b6a;
    margin-top: 10px;
    font-size: 2.2em;
}

.breadcrumb {
    margin-bottom: 40px;
    font-family: sans-serif;
    font-size: 0.9em;
}

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

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

.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: #003670;
}

.pager {
    text-align: center;
}

.pager span.current {
    background: #031b6a;
    color: #fff;
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin: 3px;
    display: inline-block;
    border: 1px solid #061c6a;
}

.pager a {
    width: 30px;
    height: 30px;
    line-height: 30px;
    border: 1px solid #061c6a;
    color: #061c6a;
    margin: 3px;
    text-decoration: none;
    display: inline-block;
}

/* ヘッダー */

header {
    width: 100%;
    /* position: fixed; */
    z-index: 99;
    left: 0;
    background-color: #fff;
    min-width: 1300px;
}

.head-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 16px 8px 16px;
}

header .logo {
    width: 300px;
    padding-top: 5px;
}

header .head-info {
    display: flex;
    align-items: flex-end;
}

header .head-info .today {
    position: relative;
}

header .head-info .today img {
    height: 80px;
}

header .head-info .today .detail {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
    padding: 35px 5px 7px 5px;
    font-size: 0.6em;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #031b6a;
    font-weight: bold;
}

header .head-info .today .detail .month {
    margin-left: 3px;
}

header .head-info .today .detail .month span {
    font-size: 1.3em;
}

header .head-info .today .detail .day {
    font-size: 2.5em;
    font-weight: 900;
    line-height: 0.7;
}

header .head-info .today .detail .week {
    background-color: #031b6a;
    color: #fff;
    border-radius: 50%;
    width: 15px;
    height: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: text-bottom;
}

header .head-info .count {
    margin-left: 15px;
}

header .head-info .count span {
    background-color: #d1f0ff;
    color: #031b6a;
    font-weight: bold;
    display: inline-block;
    font-size: 1.4em;
    padding: 0 40px;
    border-radius: 20px;
}

header .sns ul {
    display: flex;
    list-style: none;
}

header .sns ul li {
    margin-left: 6px;
}

header .sns ul li img {
    height: 44px;
}

.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
}


#gnav {
    background-color: #031b6a;
    color: #fff;
}

#gnav ul {
    list-style: none;
    display: flex;
}

#gnav>ul>li {
    width: 100%;
    text-align: center;
    border-right: 1px solid #fff;
    position: relative;
}

#gnav>ul>li:first-child {
    border-left: 1px solid #fff;
}

#gnav ul li a {
    color: #fff;
    text-decoration: none;
    display: block;
    padding: 16px 0;
    font-weight: bold;
}

#gnav ul li ul {
    display: none;
    position: absolute;
    width: 100%;
    left: 0;
    top: 100%;
    background-color: #031b6a;
}

#gnav ul li ul li {
    border-top: 1px solid #fff;
    background: #4494d5;
}

#gnav ul li.mult:hover ul {
    display: block;
}

#gnav ul li ul li:hover {
    background: #031b6a;
}

.navi-btn-wrap {
    display: none;
}

/* フッター */

.foot-top-wave {
    width: 100%;
}

.foot-wrap {
    background-color: #031b6a;
    text-align: center;
    color: #fff;
}

footer .logo img {
    width: 360px;
}

footer .address {
    font-weight: bold;
    margin-top: 10px;
}

footer .address a {
    color: #fff;
    text-decoration: none;
}

footer .contact {
    margin-top: 15px;
}

footer .contact-btn {
    background-color: #29343f;
    color: #fff;
    text-decoration: none;
    display: inline-block;
    font-size: 0.8em;
    padding: 8px 40px;
}

footer .menu-area {
    display: inline-flex;
    margin-top: 40px;
    font-weight: bold;
}

footer .menu-area>div {
    margin: 0 20px;
    min-width: 180px;
}

footer .menu-area ul {
    list-style: none;
    text-align: left;
    padding: 0 8px;
}

footer .menu-area ul li {
    margin-bottom: 8px;
}

footer .menu-area ul li::before {
    content: "・";
}

footer .menu-area ul li a {
    text-decoration: none;
    color: #fff;
}

footer .menu-area .menu-title {
    border-bottom: 2px solid;
    padding-bottom: 4px;
    margin-bottom: 12px;
}

footer .bnr-area {
    margin-top: 20px;
}

footer .bnr-area img {
    width: 400px;
}

.foot-btm {
    margin-top: 60px;
}

.foot-btm .container {
    position: relative;
}

#pagetop {
    position: absolute;
    right: 0;
    bottom: 100%;
}

#pagetop img {
    width: 80px;
}

.foot-btm-wave {
    width: 100%;
}

.copyright {
    font-size: 0.6em;
    padding: 20px 0;
}

/* TOP */

#top-fixed-news .contents-wrap {
    display: flex;
    padding: 8px 0;
}

#top-fixed-news .news-title {
    margin-right: 20px;
    flex-shrink: 0;
}

#top-fixed-news .news-title img {
    height: 30px;
}

#top-fixed-news .contents {
    padding: 0;
}

#top-fixed-news .news-scroll {
    display: block;
    height: 30px;
    width: 100%;
    overflow: hidden;
}

#top-fixed-news .news-banner__content {
    display: inline-block;
    line-height: 30px;
    padding-left: 100%;
    white-space: nowrap;
    animation: animate-banner 30s linear infinite
}

#top-fixed-news .news-banner__content>* {
    display: inline-block;
}

.top-main-contents {
    background-color: #d1f0ff;
    background-image:
        radial-gradient(#fff 20%, transparent 20%),
        radial-gradient(#fff 20%, transparent 20%);
    background-size: 46px 46px;
    background-position: 0 0, 23px 23px;
    padding-top: 20px;
    padding-bottom: 40px;
}

#top-fixed-news {
    background-color: #fff;
}

/* メイン */

.top-main-contents-wrapper {
    display: flex;
}

.top-main-contents-wrapper::after {
    content: "";
    display: block;
    clear: both;
}

.top-main-contents-left {
    float: left;
    width: 65%;
    padding-right: 30px;
}

.top-main-contents-right {
    float: right;
    width: 35%;
}

.photo-img-area {
    width: 100%;
    overflow: hidden;
    position: relative;
    background-color: #031b6a;
    padding: 5px;
    padding-bottom: 0;
    margin-bottom: 12px;
}

.page-indicator-lavel {
    width: 100%;
    height: 50px;
    background-color: #031b6a;
    margin-bottom: 15px;
    text-align: center;
    padding-top: 10px;
}

.page-indicator {
    display: inline-block;
    width: 15px;
    height: 15px;
    background-color: #fff;
    border-radius: 50%;
    cursor: pointer;
}

.event-area {
    display: grid;
    width: 100%;
    grid-template:
        "title1 title2"40px "left right1""left right2"/ 50% 50%;
    position: relative;
}

.event-title-left {
    grid-area: title1;
    background-color: #83000a;
    text-align: center;
    line-height: 40px;
    font-size: 1em;
    font-weight: bold;
    padding-left: 3rem;
}

.event-title-right {
    grid-area: title2;
    background-color: #031b6a;
    text-align: center;
    line-height: 40px;
    font-size: 1em;
    font-weight: bold;
}

.event-contents {
    grid-area: left;
    background-color: #e50002;
    padding-bottom: 5px;
    padding-top: 10px;
}

.event-contents-space {
    height: 10px;
    width: 10px;
}

.event-contents-next {
    background-color: #ffe26a;
    width: 180px;
    height: 40PX;
    border-radius: 7px;
    text-align: center;
    line-height: 40px;
    margin: auto;
}

.event-contents-next p {
    color: #549bcc;
    font-weight: bold;
}

.nextevent {
    padding: 15px 30px 10px 30px;
}

.nextevent-title {
    font-weight: bold;
    font-size: 1.4em;
    line-height: 1.2;
}

.nextevent-title .grade {
    background: #4494d5;
    color: #fff;
    display: inline-block;
    line-height: 1;
    padding: 2px 14px;
    border-radius: 20px;
    margin-bottom: 4px;
    font-size: 1.1em;
}

.nextevent-note {
    font-size: 0.7em;
    padding: 10px 20px;
    line-height: 1.2;
}

.event-outside {
    grid-area: right1;
    background-color: #fff;
    padding: 10px 20px;
    font-weight: bold;
}

.event-outside p :first-child {
    padding-top: 30px;
}

.event-other {
    grid-area: right2;
    background-color: #e50002;
    display: flex;
    align-items: center;
    padding: 10px 0;
}

.event-other-box {
    display: flex;
}

.event-other-item {
    width: 100px;
    background-color: #83000a;
    border-radius: 14px;
    display: inline-block;
    text-decoration: none;
    text-align: center;
    padding-bottom: 12px;
}

.event-other-item:first-child {
    margin-right: 15px;
}

.event-other-item p {
    text-align: center;
    padding-top: 3px;
    font-weight: bold;
}

.event-icon {
    height: 60px;
    width: auto;
    padding-top: 5px;
}

.event-icon.yosou {
    margin-left: 14px;
}

.tanuki01 {
    position: absolute;
    top: -4px;
    left: -4px;
    width: 90PX;
    height: 90px;
}


.player-introduction-top h2 {
    background-color: #031b6a;
    text-align: center;
    padding: 14px 0;
    color: #fff;
    font-size: 1em;
}

.player-introduction-main {
    height: 624px;
    overflow-y: scroll;
    background-color: #fff;
    padding-top: 10px;
}

.player-introduction-main a {
    color: initial;
    text-decoration: none;
}

.player-item {
    height: 102px;
    position: relative;
    padding: 0 10px;
}

.player-item-main {
    display: flex;
    align-items: center;
}

.player-item-box {
    width: 65px;
    padding: 5px;
}

.player-item-text {
    width: auto;
    padding-left: 20px;
    line-height: 1.4;
}

.player-item-line {
    position: absolute;
    left: 0;
    padding: 0 10px;
}

/* インフォメーション */

.information {
    padding-top: 30px;
    padding-bottom: 30px;
    position: relative;
}

.information .wave-img {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: -1;
}

.info-wrapper {
    display: flex;
}

.info-wrapper::after {
    content: "";
    display: block;
    clear: both;
}

.info-left {
    width: 750px;
}

.info-right {
    width: 420px;
    margin-left: auto;
}

.info-left-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.info-left-title-icon {
    width: 70px;
}

.info-left-title {
    margin-left: 10px;
}

.info-left-title h2 {
    color: #031b6a;
    font-size: 1.2em;
    font-weight: bold;
}

.info-main {
    height: 300px;
}

.info-right-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px
}

.info-right-title-icon {
    width: 70px;
}

.info-right-title {
    margin-left: 10px;
}

.info-right-title h2 {
    color: #031b6a;
    font-weight: bold;
    font-size: 1.2em;
}

.info-right-btn {
    width: 120px;
    height: 30px;
    border-radius: 999px;
    margin-left: 12px;
    font-size: 0.7em;
    background-color: black;
    text-align: center;
    font-weight: bold;
    line-height: 30px;
    text-decoration: none;
}

.info-twieets {
    max-height: 518px;
    overflow: auto;
}

.info-twieets .twitter-tweet {
    margin: 0!important;
}

.info-tab-area {
    width: 740px;
    margin: 0 auto;
}

.tab-btn {
    display: none;
}

.tab-list-wrap {
    padding: 0;
    margin: 0;
    list-style-type: none;
    display: flex;
    border-bottom: 1px solid #031b6a;
}

.tab-list-wrap li {
    width: 100%;
}

.tab-list-wrap li:first-child {
    margin-right: 10px;
}

.tab-list {
    display: block;
    padding: 10px 0;
    text-align: center;
    border-top: 1px solid #031b6a;
    border-left: 1px solid #031b6a;
    border-right: 1px solid #031b6a;
    background: #fff;
    box-sizing: border-box;
    cursor: pointer;
    letter-spacing: 1px;
    background-color: #031b6a;
    color: #fff;
    font-weight: bold;
    margin-bottom: -1px;
}

#tab-btn1:checked~.tab-list-wrap #tab-list1,
#tab-btn2:checked~.tab-list-wrap #tab-list2 {
    background: #ffffff;
    color: #031b6a;
}

.tab-content {
    padding: 20px 30px;
    border-bottom: 1px solid #031b6a;
    border-left: 1px solid #031b6a;
    border-right: 1px solid #031b6a;
    display: none;
    background-color: #fff;
}

.tab-content .content-list {
    height: 380px;
    overflow-y: scroll;
    padding-right: 20px;
}

#tab-btn1:checked~.tab-content-wrap #tab-content1,
#tab-btn2:checked~.tab-content-wrap #tab-content2 {
    display: block;
}

.info-item-box {
    border-bottom: 1px solid #ccc;
    display: flex;
    padding-top: 12px;
    padding-bottom: 10px;
}

.info-item-left {
    width: 100%;
    margin-left: 3rem;
}

.info-title a {
    color: #031b6a;
}

.info-item-right {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    padding-right: 10px;
}

.info-item-right .arrow {
    border-top: solid 2px #4494d5;
    border-right: solid 2px #4494d5;
    width: 10px;
    height: 10px;
    transform: rotate(45deg);
    display: inline-block;
}

.info-title-wrapper {
    display: flex;
}

.info-title-wrapper .day {
    color: #777;
    font-size: 0.9em;
    margin-right: 10px;
}

.info-title-wrapper .new {
    background-color: #ff0031;
    display: inline-block;
    width: 45px;
    height: 18px;
    font-size: 0.7em;
    margin-left: 5px;
    border-radius: 3px;
    text-align: center;
    line-height: 18px;
    color: #fff;
}

.info-title-wrapper .event {
    background-color: #4caf50;
    display: inline-block;
    width: 45px;
    height: 18px;
    font-size: 0.7em;
    margin-left: 5px;
    border-radius: 3px;
    text-align: center;
    line-height: 18px;
    color: #fff;
}

.info-title {
    margin-top: 10px;
}

.info {
    background-color: #8bdbff;
    display: inline-block;
    width: 45px;
    height: 18px;
    font-size: 0.7em;
    margin-left: 5px;
    border-radius: 3px;
    text-align: center;
    line-height: 18px;
    color: #fff;
}

.info-item-right {
    padding-top: 10px;
    margin-left: 10px;
}

.info-item-right P {
    color: #549bcc;
}

.info-next {
    text-align: right;
    margin-top: 30px;
}

.for-list {
    color: #549bcc;
    text-decoration: none;
}

.for-list .arrow {
    border-top: solid 2px #4494d5;
    border-right: solid 2px #4494d5;
    width: 10px;
    height: 10px;
    transform: rotate(45deg);
    display: inline-block;
    margin-left: 15px;
}

.twitter-timeline {
    padding-left: 30px;
}

/* その他 */

.other {
    background-color: #d1f0ff;
}

.other-wrapper {
    display: flex;
    padding: 30px 0;
}

.other .live {
    width: 32%;
    background-color: #003670;
    display: flex;
    flex-direction: column;
}

.other .live h2 {
    color: #fff;
    font-size: 1.1em;
    font-weight: normal;
    padding: 5px 30px;
}

.other .live .btn-area {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.other .live .btn-area ul {
    list-style: none;
    display: inline-flex;
}

.other .live .btn-area ul li {
    margin: 0 4px;
}

.other .live .btn-area ul li a {
    background-color: #4494d5;
    color: #fff;
    display: inline-block;
    width: 90px;
    font-size: 0.6em;
    border-radius: 5px;
    text-decoration: none;
    text-align: center;
    padding: 4px;
}

.other .ponstar {
    width: 45%;
    margin: 0 10px;
}

.other .ponstar h2 {
    background-color: #4494d5;
    color: #fff;
    font-size: 1.1em;
    font-weight: normal;
    padding: 5px 30px;
}

.other .ponstar .news-item-wrap {
    display: flex;
}

.other .ponstar .news-item {
    width: 100%;
    background-color: #fff;
    position: relative;
}

.other .ponstar .news-item .img-area {
    position: relative;
}

.other .ponstar .news-item .img-area::before {
    content: "";
    display: block;
    padding-top: 100%;
}

.other .ponstar .news-item .img-area img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    object-fit: cover;
}

.other .ponstar .news-item a {
    color: #fff;
    text-decoration: none;
}

.other .ponstar .news-item>a {
    position: relative;
    display: block;
}

.other .ponstar .news-item .img-area::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, transparent 50%, rgba(0, 0, 0, 0.85) 100%);
    content: "";
}

.other .ponstar .news-item .item-content {
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    color: #fff;
    padding: 10px;
    z-index: 2;
}

.other .ponstar .news-item .item-content h3 {
    font-size: 0.9em;
}

.other .ponstar .news-item .item-content .date {
    font-size: 0.6em;
}

.other .ponstar .news-item .item-content .cat {
    font-size: 0.6em;
}

.other .ponstar .news-item .item-content .cat a::before {
    margin-right: 0.5em;
    content: "|";
}

.other .inside-event {
    width: 23%;
}

.other .inside-event h2 {
    background-color: #4494d5;
    color: #fff;
    font-size: 1.1em;
    font-weight: normal;
    padding: 5px 30px;
}

.other .inside-event .event-item {
    padding: 10px;
    background-color: #fff;
}

.other .inside-event .img-area {
    display: block;
    position: relative;
    text-decoration: none;
    color: #fff;
}

.other .inside-event .img-area img {
    border-radius: 10px;
    width: 100%;
    height: 174px;
    object-fit: cover;
}

.other .inside-event .img-area .date {
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    text-align: center;
    font-size: 0.7em;
    line-height: 1.1;
}

.other .inside-event .img-area .date .day {
    display: block;
    font-size: 2.6em;
}

.other .inside-event .cat-area {
    margin-top: 8px;
}

.other .inside-event .cat-area .cat {
    display: inline-block;
    background-color: #dd9933;
    text-decoration: none;
    color: #fff;
    padding: 2px 10px;
    font-size: 0.5em;
    border-radius: 20px;
}

.other .inside-event h3 {
    font-size: 0.8em;
    margin-top: 10px;
}

.other .inside-event h3 a {
    background-color: #f5f3f0;
    color: #333;
    display: block;
    text-align: center;
    text-decoration: none;
    border-radius: 20px;
    padding: 5px 10px;
}

/* スケジュール */

.schedule {
    background-color: #fff;
    padding: 20px 0;
    width: 100%;
}

.schedule-title-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.schedule-title-icon {
    width: 70px;
    margin-right: 10px;
}

.schedule-title {
    margin-left: 5px;
}

.schedule-title h2 {
    color: #031b6a;
    font-weight: bold;
    font-size: 1.2em;
}

.schedule-list {
    border: #031b6a solid 4px;
}

.schedule-list table {
    text-align: center;
    border-collapse: collapse;
    width: 100%;
    table-layout: fixed;
}

.sut {
    color: #549bcc;
}

.sun {
    color: #eb0808;
}

.schedule-list th {
    color: #fff;
    background-color: #4494d5;
    width: 100px;
    border: #c3e1f8 solid 1px;
    border-left: none;
}

.schedule-list td {
    border: #c3e1f8 solid 1px;
}
.schedule-list td a{
    color: #333333;
    text-decoration: none;
}
.schedule-list td.home a{
    color: #fff;
    text-decoration: none;
}

.schedule-list .date th {
    font-size: 1.5em;
    border-top: none;
}

.date-text {
    font-weight: normal;
    font-size: 0.6em;
    margin-right: 3px;
}

.schedule-list thead td {
    background-color: #e0f1ff;
    height: 36px;
}

.schedule-list .date td {
    font-size: 0.9em;
    border-top: none;
}

.schedule-list .week td {
    font-size: 0.7em;
}

.schedule-list tbody th {
    font-size: 1.6em;
    border-bottom: none;
}

.schedule-list tbody th.night {
    font-size: 1.2em;
    line-height: 1.2;
}

.schedule-list tbody tr:last-child td {
    border-bottom: none;
}

.schedule-list tbody td {
    font-weight: bold;
    height: 100px;
}

.schedule-list tbody .other-bank td {
    font-size: 0.9em;
}

.schedule-list td:last-child {
    border-right: none;
}

.schedule-list td img {
    height: 24px;
    margin-top: 3px;
    margin-bottom: 3px;
}

.schedule-list td.home {
    background-color: #e4007f;
    color: #fff;
}

.schedule-list td.home.night,
.schedule-list td.home.midnight {
    background-color: #031b6a;
    color: #fff;
}

.schedule-list td.f1,
.schedule-list .f2 {
    background-color: #d8e7af;
}

.schedule-list td.g3 {
    background-color: #f9c370;
}

.schedule-list td.gp,
.schedule-list td.g1,
.schedule-list td.g2 {
    background-color: #fef105;
}

.schedule-list td.night {
    background-color: #d4eef9;
}

.schedule-bottom-wrapper {
    text-align: right;
    margin-top: 15px;
}

.outside-schedule-btn {
    width: 360px;
    border: #4494d5 solid 2px;
    border-radius: 5px;
    position: relative;
    text-align: center;
    text-decoration: none;
    color: #4494d5;
    padding: 6px;
}

.outside-schedule-btn .arrow {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    padding-bottom: 8px;
}

.outside-schedule-btn .arrow::after {
    content: "";
    width: 6px;
    height: 6px;
    border-top: 2px solid #4494d5;
    border-right: 2px solid #4494d5;
    transform: rotate(135deg);
    display: inline-block;
}

.outside-schedule-btn.active .arrow {
    padding-bottom: 0;
}

.outside-schedule-btn.active .arrow::after {
    transform: rotate(315deg);
}

.schedule-guide img {
    width: 900px;
}

#schedule .schedule-list {
    margin-top: 40px;
}

#schedule .schedule-guide {
    text-align: right;
    margin-top: 20px;
}

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

#schedule .tab li {
    width: 100%;
    padding: 0 10px;
}

#schedule .tab li span {
    background-color: #4494d5;
    font-size: 1.2em;
    border-radius: 30px;
    border: none;
    cursor: pointer;
    text-align: center;
    color: #fff;
    padding: 10px;
    font-weight: bold;
    display: block;
}

#schedule .tab li.active span {
    background-color: #031b6a;
    color: #fff;
    pointer-events: none;
}

/* 出走表PDF */

#race-table h2 {
    margin-bottom: 20px;
    background: linear-gradient(90deg, #4494d5, #081c6a);
    color: #fff;
    padding: 10px 20px;
    border-left: 10px solid #061c6a;
}

.race-table-list>div:not(:last-child) {
    margin-bottom: 60px;
}

#race-table .no-race {
    text-align: center;
}

/* 予想情報 */

#racefocus .lead {
    text-align: center;
}

#racefocus .lead .notes {
    margin-top: 15px;
}

.race-tab {
    margin-bottom: 40px;
    margin-top: 40px;
}

.race-tab ul {
    list-style: none;
    display: flex;
    margin: 0 -5px;
}

.race-tab ul li {
    width: 100%;
    text-align: center;
    padding: 0 5px;
}

.race-tab ul li a {
    text-decoration: none;
    color: #fff;
    display: block;
    padding: 10px;
    font-weight: bold;
    background-color: #4494d5;
    font-size: 1.2em;
    border-radius: 30px;
}

.race-tab ul li a:hover {
    opacity: 1;
}

.race-tab ul li.active a {
    background-color: #031b6a;
}

#racefocus h2 {
    margin-bottom: 20px;
    background: linear-gradient(90deg, #4494d5, #081c6a);
    color: #fff;
    padding: 10px 20px;
    border-left: 10px solid #061c6a;
}

.racefocus-list>div {
    display: none;
}

.racefocus-list>div:not(:last-child) {
    margin-bottom: 40px;
}

/* お問い合わせ */

#contact .lead {
    text-align: center;
    margin-bottom: 30px;
}

#contact .form-area {
    text-align: center;
}

#contact .form-area table {
    margin: auto;
    width: 800px;
}

#contact .form-area table th {
    padding: 15px;
    padding-top: 26px;
    text-align: left;
    vertical-align: top;
    white-space: nowrap;
    line-height: 1.4;
    font-weight: bold;
    width: 260px;
}

#contact .form-area table th p {
    display: flex;
    align-items: center;
}

#contact .form-area table th .required {
    display: inline-block;
    width: 40px;
    height: 22px;
    border-radius: 3px;
    background-color: #4494d5;
    text-align: center;
    color: #fff;
    line-height: 22px;
    font-size: 0.7em;
    vertical-align: inherit;
    margin-left: auto;
    font-weight: normal;
}

#contact .form-area table td {
    padding: 15px;
    text-align: left;
}

#contact .form-area .input-text {
    padding: 10px;
    width: 100%;
    border-radius: 3px;
    resize: vertical;
    font-size: 1em;
    border: 1px solid #ccc;
    outline: none;
    font-family: "Mgen+ 2cp";
}

#contact .form-area .btn-area {
    text-align: center;
    margin-top: 30px;
}

#contact .form-area .btn-area input {
    background-color: #031b6a;
    color: #fff;
    width: 250px;
    padding: 12px;
    cursor: pointer;
    border: none;
    font-size: 1em;
    font-weight: bold;
    font-family: "Mgen+ 2cp";
}

#contact .form-area .btn-area input:hover {
    opacity: 0.8;
}

#contact .wpcf7-spinner {
    display: none;
}

#contact .wpcf7 form.invalid .wpcf7-response-output,
#contact .wpcf7 form.unaccepted .wpcf7-response-output,
#contact .wpcf7 form.payment-required .wpcf7-response-output {
    border: none;
    text-align: center;
    color: #dc3232;
}

#contact .wpcf7 form.sent .wpcf7-response-output {
    border: none;
    text-align: center;
}

#contact .recaptcha-msg {
    margin-top: 50px;
    text-align: center;
}

#contact .recaptcha-msg a {
    color: #031b6a;
    padding: 0 3px;
}

.grecaptcha-badge {
    visibility: hidden;
}

/* 本場開催情報 */

#holding .date {
    text-align: right;
    padding-right: 5px;
}

#holding h2 {
    margin-top: 10px;
    background: linear-gradient(90deg, #4494d5, #081c6a);
    color: #fff;
    padding: 10px 20px;
    border-left: 10px solid #061c6a;
}

#holding .cts {
    padding: 30px 10px;
    padding-bottom: 0;
    line-height: 1.8;
}

#holding .cts a {
    color: #003670;
}

#holding .cts p {
    margin-bottom: 1em;
}

#holding .article-box .cts ul,
#holding .article-box .cts ol {
    padding-left: 1.5em;
}

#holding .no-holding {
    text-align: center;
}

/* 斡旋情報 */

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

#assen .tab li {
    width: 100%;
    padding: 0 10px;
}

#assen .tab li button {
    color: #fff;
    padding: 10px;
    font-weight: bold;
    background-color: #4494d5;
    font-size: 1.2em;
    border-radius: 30px;
    width: 100%;
    border: none;
    cursor: pointer;
}

#assen .tab li button.select {
    background-color: #031b6a;
}

#assen .table-wrapper {
    overflow: auto;
}

#assen table {
    width: 100%;
    text-align: center;
    border-collapse: collapse;
    white-space: nowrap;
}

#assen table th {
    background-color: #4494d5;
    color: #fff;
    border: #c3e1f8 solid 1px;
    padding: 8px;
}

#assen table tbody tr:nth-child(even) {
    background-color: #e0f1ff;
}

#assen table td {
    border: #c3e1f8 solid 1px;
    padding: 8px;
}

#assen table td:nth-child(4) {
    text-align: left;
}

#assen table td:nth-child(5) {
    text-align: left;
}

#assen table td a {
    color: #031b6a;
}

#assen .no-race {
    text-align: center;
}

/* 本日の出場レース */

#participation table {
    width: 100%;
    text-align: center;
    border-collapse: collapse;
}

#participation table th {
    background-color: #4494d5;
    color: #fff;
    border: #c3e1f8 solid 1px;
    padding: 8px;
}

#participation table tbody tr:nth-child(even) {
    background-color: #e0f1ff;
}

#participation table td {
    border: #c3e1f8 solid 1px;
    padding: 8px;
}

#participation table td a {
    color: #031b6a;
}

#participation .no-race {
    text-align: center;
}

/* table sort */

.tablesorter th {
    position: relative;
    cursor: pointer;
    outline: none;
}

.tablesorter th::before,
.tablesorter th::after {
    content: '';
    position: absolute;
    z-index: 2;
    right: 10px;
    width: 0;
    height: 0;
    border: 5px dashed;
    border-color: #fff transparent;
    pointer-events: none;
}

.tablesorter th::before {
    border-bottom-style: solid;
    border-top: none;
    top: 34%;
}

.tablesorter th::after {
    border-top-style: solid;
    border-bottom: none;
    bottom: 34%;
}

.tablesorter th.headerSortDown:after {
    border: none;
}

.tablesorter th.headerSortDown:before {
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}

.tablesorter th.headerSortUp:before {
    border: none;
}

.tablesorter th.headerSortUp:after {
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}

.tablesorter th.sorter-false:before,
.tablesorter th.sorter-false:after {
    border: none;
}

/* 選手一覧 */

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

#player .tab li {
    width: 100%;
    padding: 0 10px;
}

#player .tab li span {
    background-color: #4494d5;
    font-size: 1.2em;
    border-radius: 30px;
    border: none;
    cursor: pointer;
    text-align: center;
    color: #fff;
    padding: 10px;
    font-weight: bold;
    display: block;
}

#player .tab li.active span {
    background-color: #031b6a;
    color: #fff;
    pointer-events: none;
}

#player .player-list-wrap {
    margin-top: 50px;
}

#player .player-list {
    display: none;
}

#player h2 {
    margin-bottom: 30px;
    background: linear-gradient(90deg, #4494d5, #081c6a);
    color: #fff;
    padding: 10px 20px;
    border-left: 10px solid #061c6a;
}

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

#player .player-list .player-box {
    width: calc(100%/3);
    text-align: center;
    padding: 10px;
}

#player .player-list .player-box a {
    text-decoration: none;
    color: #333;
    display: flex;
    align-items: center;
    padding: 10px;
    background-color: #e0f1ff;
}

#player .player-list .player-box .detail-area {
    margin-left: 10px;
}

#player .player-list .player-box .name {
    font-weight: bold;
    margin-bottom: 5px;
    line-height: 1.4;
}

#player .player-list .player-box .name span {
    display: block;
    font-size: 0.8em;
    font-weight: normal;
}

#player .player-list .player-box table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9em;
    white-space: nowrap;
    background-color: #fff;
}

#player .player-list .player-box table th {
    border: #c3e1f8 solid 1px;
    padding: 4px 10px;
    background: #4494d5;
    color: #fff;
}

#player .player-list .player-box table td {
    border: #c3e1f8 solid 1px;
    padding: 4px 10px;
}

/* ポンスターニュース */

#ponstar .main-title {
    margin-bottom: 30px;
}

#ponstar .select-wrap {
    text-align: right;
    margin-bottom: 20px;
}

#ponstar .select-wrap select {
    font-size: 1em;
    padding: 8px 12px;
    border: 1px solid #031b6a;
    color: #333;
    background: #fff;
    border-radius: 5px;
}

#ponstar .list-wrap {
    display: flex;
    flex-wrap: wrap;
}

#ponstar .news-item {
    width: calc(100%/5);
    position: relative;
}

#ponstar .news-item .img-area {
    position: relative;
}

#ponstar .news-item .img-area::before {
    content: "";
    display: block;
    padding-top: 100%;
}

#ponstar .news-item .img-area img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    object-fit: cover;
}

#ponstar .news-item .img-area {
    position: relative;
}

#ponstar .news-item .img-area::before {
    content: "";
    display: block;
    padding-top: 100%;
}

#ponstar .news-item .img-area img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    object-fit: cover;
}

#ponstar .news-item a {
    color: #fff;
    text-decoration: none;
}

#ponstar .news-item>a {
    position: relative;
    display: block;
}

#ponstar .news-item .img-area::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, transparent 50%, rgba(0, 0, 0, 0.85) 100%);
    content: "";
}

#ponstar .news-item .item-content {
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    color: #fff;
    padding: 10px;
    z-index: 2;
}

#ponstar .news-item .item-content h3 {
    font-size: 0.9em;
}

#ponstar .news-item .item-content h3 br {
    display: none;
}

#ponstar .news-item .item-content .date {
    font-size: 0.6em;
}

#ponstar .news-item .item-content .cat {
    font-size: 0.6em;
}

#ponstar .news-item .item-content .cat a::before {
    margin-right: 0.5em;
    content: "|";
}

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

#ponstar .pager {
    margin-top: 40px;
}

#ponstar .article-box .title {
    background: linear-gradient(90deg, #4494d5, #081c6a);
    color: #fff;
    padding: 10px 20px;
    border-left: 10px solid #061c6a;
}

#ponstar .article-box .title .date {
    font-size: 0.9em;
}

#ponstar .article-box .title .cat {
    font-size: 0.9em;
}

#ponstar .article-box .title .cat a::before {
    margin-right: 0.5em;
    margin-left: 0.2em;
    content: "|";
}

#ponstar .article-box .title .cat a {
    color: #fff;
    text-decoration: none;
}

#ponstar .article-box .title h2 {
    margin-bottom: 5px;
}

#ponstar .article-box .cts {
    padding: 30px 10px;
    line-height: 1.8;
}

#ponstar .article-box .cts p:not(:last-child) {
    margin-bottom: 1em;
}

#ponstar .article-box .cts ul,
#ponstar .article-box .cts ol {
    padding-left: 1.5em;
}

#ponstar .link-box {
    display: flex;
    margin-top: 30px;
}

#ponstar .link-box>p {
    width: 50%;
}

#ponstar .link-box a {
    color: #031b6a;
    text-decoration: none;
    display: block;
    position: relative;
    border: 1px solid #ccc;
    padding: 30px;
}

#ponstar .link-box a br {
    display: none;
}

#ponstar .link-box .next-link a {
    border-right: none;
}

#ponstar .link-box .next-link a::before {
    border-top: solid 2px #4494d5;
    border-right: solid 2px #4494d5;
    width: 7px;
    height: 7px;
    transform: rotate(225deg);
    display: inline-block;
    content: "";
    margin-left: 10px;
    margin-right: 10px;
}

#ponstar .link-box .back-link {
    text-align: right;
    border-left: 1px solid #ccc
}

#ponstar .link-box .back-link a {
    border-left: none;
}

#ponstar .link-box .back-link a::after {
    border-top: solid 2px #4494d5;
    border-right: solid 2px #4494d5;
    width: 7px;
    height: 7px;
    transform: rotate(45deg);
    display: inline-block;
    content: "";
    margin-left: 10px;
    margin-right: 10px;
}

#ponstar .cts a {
    color: #003670;
}

#ponstar .thumbnail-img img {
    height: auto;
}

/* お知らせ・イベント */

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

#news .article-box h2 {
    background: linear-gradient(90deg, #4494d5, #081c6a);
    color: #fff;
    padding: 10px 20px;
    border-left: 10px solid #061c6a;
}

#news .article-box .date {
    text-align: right;
    margin-bottom: 10px;
}

#news .article-box .cts {
    padding: 30px 10px;
    line-height: 1.8;
}

#news .article-box .cts .n2-section-smartslider {
    width: 60%;
}

#news .article-box .cts p:not(:last-child) {
    margin-bottom: 1em;
}

#news .article-box .cts ul,
#news .article-box .cts ol {
    padding-left: 1.5em;
}

#news .link-box {
    display: flex;
    margin-top: 20px;
}

#news .link-box>p {
    width: 50%;
}

#news .link-box a {
    color: #031b6a;
    text-decoration: none;
    display: block;
    position: relative;
    border: 1px solid #ccc;
    padding: 30px;
}

#news .link-box a br {
    display: none;
}

#news .link-box .next-link a {
    border-right: none;
}

#news .link-box .next-link a::before {
    border-top: solid 2px #4494d5;
    border-right: solid 2px #4494d5;
    width: 7px;
    height: 7px;
    transform: rotate(225deg);
    display: inline-block;
    content: "";
    margin-left: 10px;
    margin-right: 10px;
}

#news .link-box .back-link {
    text-align: right;
    border-left: 1px solid #ccc
}

#news .link-box .back-link a {
    border-left: none;
}

#news .link-box .back-link a::after {
    border-top: solid 2px #4494d5;
    border-right: solid 2px #4494d5;
    width: 7px;
    height: 7px;
    transform: rotate(45deg);
    display: inline-block;
    content: "";
    margin-left: 10px;
    margin-right: 10px;
}

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

#news .tab li {
    width: 100%;
    padding: 0 10px;
}

#news .tab li span {
    background-color: #4494d5;
    font-size: 1.2em;
    border-radius: 30px;
    border: none;
    cursor: pointer;
    text-align: center;
    color: #fff;
    padding: 10px;
    font-weight: bold;
    display: block;
}

#news .tab li.active span {
    background-color: #031b6a;
    color: #fff;
    pointer-events: none;
}

/* データBOX */

#date .lead {
    margin-bottom: 50px;
    font-size: 1.2em;
}

#date ul {
    list-style: none;
}

#date .contents-area {
    text-align: center;
}

#date .gender-link {
    margin-bottom: 30px;
}

#date .gender-link ul li {
    display: inline-block;
    width: 200px;
    padding: 10px;
    font-size: 1.2em;
    font-weight: bold;
    margin: 0 10px;
    cursor: pointer;
    background-color: #ccc;
}

#date .gender-link ul li.man.active {
    background-color: #031b6a;
    color: #fff;
}

#date .gender-link ul li.woman.active {
    background-color: #e60012;
    color: #fff;
}

#date .c-menu-anchor {
    margin-bottom: 40px;
}

#date .c-menu-anchor ul {
    display: flex;
    justify-content: center;
}

#date .c-menu-anchor ul li {
    display: inline-block;
    width: 200px;
    padding: 10px;
    font-size: 1.2em;
    font-weight: bold;
    margin: 0 10px;
    cursor: pointer;
    background-color: #ccc;
}

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

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

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

#date .table {
    display: table;
    width: 100%;
    border-collapse: collapse;
}

#date .table .head {
    display: table-row;
}

#date .table .head li {
    display: table-cell;
    background-color: #4494d5;
    color: #fff;
    border: #c3e1f8 solid 1px;
    padding: 10px;
}

#date .tab-women-div .table .head li {
    background: #ff70de;
    color: #fff;
    border: #ffc1f1 solid 1px;
}

#date .table .content-data {
    display: table-row-group;
}

#date .table .contents {
    display: table-row;
}

#date .table .contents:nth-child(even) {
    background-color: #e0f1ff;
}

#date .tab-women-div .table .contents:nth-child(even) {
    background-color: #ffeefb;
}

#date .table .contents li {
    display: table-cell;
    border: #c3e1f8 solid 1px;
    padding: 5px 10px;
}

#date .tab-women-div .table .contents li {
    border: #ffc1f1 solid 1px;
}

#date .table ul.contents li.deme span {
    margin: 5px;
    display: inline-block;
    width: 28px;
    height: 28px;
    text-align: center;
    line-height: 28px;
    border: 1px solid #ccc;
}

#date .num1 {
    background: #fff;
    color: #333;
}

#date .num2 {
    background: #000;
    color: #fff;
}

#date .num3 {
    background: #E61717;
    color: #fff;
}

#date .num4 {
    background: #0066CC;
    color: #fff;
}

#date .num5 {
    background: #F0C518;
    color: #404040;
}

#date .num6 {
    background: #228900;
    color: #fff;
}

#date .num7 {
    background: #FF9500;
    color: #333;
}

#date .num8 {
    background: #F28ABD;
    color: #404040;
}

#date .num9 {
    background: #822BD9;
    color: #fff;
}

/* リーフレット */

#leaflet .no-info {
    text-align: center;
}

#leaflet h2 {
    margin-bottom: 20px;
    background: linear-gradient(90deg, #4494d5, #081c6a);
    color: #fff;
    padding: 10px 20px;
    border-left: 10px solid #061c6a;
}

.leaflet-list>div:not(:last-child) {
    margin-bottom: 60px;
}

/* アクセス */

#access h2 {
    margin-bottom: 40px;
    background: linear-gradient(90deg, #4494d5, #081c6a);
    color: #fff;
    padding: 10px 20px;
    border-left: 10px solid #061c6a;
}

.contents-area-komatsushima {
    background-color: #061c6a;
    height: 50px;
    width: 100%;
    color: #fff;
    font-size: 1.6em;
    margin-bottom: 20px;
    padding-top: 4px;
    padding-left: 10px;
}

#access .contents-area-wrapper {
    display: flex;
    width: 100%;
}

#access .contents-area-left {
    width: 46%;
    margin-right: 40px;
}

#access .contents-area-right {
    width: 54%;
}

#access .google-map iframe {
    width: 100%;
    height: 100%;
}

#access .contents-title {
    border-left: #061c6a solid 6px;
    margin-bottom: 20px;
    padding-left: 10px;
}

#access .contents-title h3 {
    font-size: 1.5em;
}

#access .contents-area-left p {
    font-size: large;
}

#access .contents-area-left>div:not(:last-child) {
    margin-bottom: 20px;
}

#access .get-opening {
    margin-top: 30px;
    margin-bottom: 30px;
}

#access .main-contents table {
    width: 100%;
    table-layout: fixed;
    font-size: large;
    margin-bottom: 10px;
}

#access .main-contents table tr {
    text-align: center;
}

#access .main-contents table tr th {
    background-color: #c3e1f8;
    padding: 10px 0;
}

#access .main-contents table tr td {
    padding: 10px 0;
}

#access .main-contents .access-photo {
    display: flex;
    flex-wrap: wrap;
    margin: -10px;
}

#access .main-contents .access-photo .access-photo-contents {
    width: 50%;
    padding: 10px;
}

.s_kamojima {
    margin-top: 60px;
}

/* バンク */

#bank .contents-area table {
    width: 50%;
    table-layout: fixed;
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 20px 0px;
}

#bank .contents-area table tr {
    text-align: center;
    font-size: 1.5em;
    line-height: 80px;
}

#bank .contents-area table th {
    border-bottom: #081c6a solid 3px;
}

#bank .contents-area table td {
    border-bottom: #081c6a solid 3px;
}

/* リンク */

#link .contents-area .link-top {
    border-bottom: #081c6a dotted 4px;
    margin-bottom: 50px;
}

#link .contents-area .link-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: -2em;
}

#link .contents-area .link-wrapper.small-bnr {
    margin: -1em;
    margin-top: 60px;
}

#link .contents-area .link-contents {
    width: calc(100%/3);
    padding: 2em;
}

#link .contents-area .link-contents img {
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
    padding: 0.5em 0.5em;
}

#link .contents-area .link-other-contents {
    width: 25%;
    padding: 1em;
}

#link .contents-area .link-other-contents a {
    display: block;
}

#link .contents-area .link-other-contents .link-other-img {
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
    padding: 0.5em 0.5em;
    width: 100%;
}

/* プライバシーポリシー */

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

#privacy .contents-area h2 {
    line-height: 60px;
}

#privacy .contents-area p {
    font-size: large;
    line-height: 40px;
}

#privacy .contents-area .contact {
    text-align: center;
    padding: 1em 1em;
    margin-top: 2em;
    border: double 5px #4494d5;
}

#privacy .contents-area .email {
    white-space: nowrap;
}

/* インフォメーション */

#info h2 {
    margin-bottom: 40px;
    background: linear-gradient(90deg, #4494d5, #081c6a);
    color: #fff;
    padding: 10px 20px;
    border-left: 10px solid #061c6a;
}

#info h3 {
    font-size: 1.5em;
    margin-bottom: 10px;
}

#info h3::before {
    content: "◆";
}

.cable-tv table {
    width: 100%;
    border-collapse: collapse;
    font-size: 1.2em;
}

.cable-tv table th {
    border: 1px solid #fff;
    padding: 20px 40px;
    background-color: #4494d5;
    color: #fff;
}

.cable-tv table td {
    border: 1px solid #fff;
    padding: 20px 40px;
    background-color: #e0f1ff;
}

.cable-tv table td ul {
    padding-left: 30px;
}

.info-item-left {
    margin-left: 1rem;
}

.info-item-box>img {
    width: 80px;
    height: auto;
}

.calendar-memo {
    display: block;
    font-weight: normal;
    font-size: 0.5rem;
}

/* キャンペーン */

#campaign h1 {
    line-height: 1.2;
}

#campaign .lead {
    text-align: center;
    margin-bottom: 30px;
}

#campaign .form-area {
    text-align: center;
}

#campaign .form-area h2 {
    margin-bottom: 15px;
    font-size: 1.8em;
}

#campaign .form-area .msg-box {
    background: #f5f3f0;
    padding: 25px 40px;
    width: 800px;
    margin: 25px auto 0;
}

#campaign .form-area table {
    margin: auto;
    width: 800px;
}

#campaign .form-area table th {
    padding: 15px;
    padding-top: 26px;
    text-align: left;
    vertical-align: top;
    white-space: nowrap;
    line-height: 1.4;
    font-weight: bold;
    width: 260px;
}

#campaign .form-area table th p {
    display: flex;
    align-items: center;
}

#campaign .form-area table th .required {
    display: inline-block;
    width: 40px;
    height: 22px;
    border-radius: 3px;
    background-color: #4494d5;
    text-align: center;
    color: #fff;
    line-height: 22px;
    font-size: 0.7em;
    vertical-align: inherit;
    margin-left: auto;
    font-weight: normal;
}

#campaign .form-area table td {
    padding: 15px;
    text-align: left;
}

#campaign .form-area .input-text {
    padding: 10px;
    width: 100%;
    border-radius: 3px;
    resize: vertical;
    font-size: 1em;
    border: 1px solid #ccc;
    outline: none;
    font-family: "Mgen+ 2cp";
}

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

#campaign .form-area .select{
    padding: 10px;
    width: 100%;
    border-radius: 3px;
    resize: vertical;
    font-size: 1em;
    border: 1px solid #ccc;
    outline: none;
    font-family: "Mgen+ 2cp";
}

#campaign .form-area .btn-area {
    text-align: center;
    margin-top: 30px;
}

#campaign .form-area .btn-area input {
    background-color: #031b6a;
    color: #fff;
    width: 250px;
    padding: 12px;
    cursor: pointer;
    border: none;
    font-size: 1em;
    font-weight: bold;
    font-family: "Mgen+ 2cp";
}

#campaign .form-area .btn-area input:hover {
    opacity: 0.8;
}

#campaign .wpcf7-spinner {
    display: none;
}

#campaign .wpcf7 form.invalid .wpcf7-response-output,
#campaign .wpcf7 form.unaccepted .wpcf7-response-output,
#campaign .wpcf7 form.payment-required .wpcf7-response-output {
    border: none;
    text-align: center;
    color: #dc3232;
}

#campaign .wpcf7 form.sent .wpcf7-response-output {
    border: none;
    text-align: center;
}
#campaign .img-area {
    display: inline-block;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 3rem;
}
#campaign .img-area-contents {
    display: inline-block;
}
#campaign .img-area-contents img{
    padding: 0.5rem;
    width: auto;
    height: 250px;
}
.st-link{
    text-align:right;
    margin-top:3rem;
}