::selection {
  color: #fff;
  background: #555;
}
html {
  -webkit-text-size-adjust: 100%;
}
@font-face {
  font-family: YakuHanJP;
  src: url("YakuHanJPs_M.woff2");
}
body {
  font-family: YakuHanJP, "Hiragino Sans", Meiryo, sans-serif;
  margin: 0;
  color: #333;
  background: url(../image/back.png);
  font-weight: bold;
}
a {
  color: #3ae;
  text-decoration: none;
}
a:hover, a:focus {
  color: #b43;
}
img {
  -webkit-user-drag: none;
}
h1 {
  margin: 20px 0 -5px;
  font-size: 40px;
  color: #000;
  text-align: center;
  padding-top: 35px;
  line-height: 1;
}
h1 img {
  margin-bottom: -10px;
}
.about-table {
  font-weight: bold;
}
.date-table {
  padding: 0 10px;
  font-weight: bold;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 5px 0;
  word-break: break-all;
}
.date-table thead th {
  border: solid 2px #aaa;
  line-height: 3em;
  border-radius: 10px 10px 0 0;
}
.date-table tbody th {
  border: solid 2px #aaa;
  background: #eef;
  border-top: none;
  line-height: 3em;
}
.date-table tbody td {
  padding-left: 10px;
  border: solid 2px #aaa;
  background: #fff;
  border-top: none;
  line-height: 3em;
}
.date-table thead th:nth-child(1) {
  background: #8ff;
}
.date-table thead th:nth-child(2) {
  background: #ff8;
}
.date-table tbody tr:last-child th, .date-table tbody tr:last-child td {
  border-radius: 0 0 10px 10px;
}
.one-table {
  font-weight: bold;
}
.artist-table {
  font-weight: bold;
  border-spacing: 5px 10px;
  word-break: break-all;
}
.scale-img {
  transition-duration: 0.3s;
}
.scale-img:hover {
  cursor: pointer;
  transform: scale(1.1);
}
.vote a {
  font-size: 15px;
  display: inline-block;
  padding: 3px 20px;
  color: #fff;
  border-radius: 5px;
  text-align: center;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: auto 200%;
  background-image: linear-gradient(to top, #5f5 0%, #5f5 50%, #f55 50%, #f55 100%);
  transition: background-position ease 0.2s;
}
.vote a:hover {
  color: #000;
  background-position: 0 100%;
}
.vote-table {
  font-weight: bold;
}
.vote-table-in {
  margin-left: 70px;
  font-weight: bold;
  border-collapse: collapse;
  border: 2px solid;
}
.vote-table-in td{
  padding-left: 10px;
  width: 170px;
  border: 1px solid;
}
.guest-table {
  font-weight: bold;
}
.guest-table img {
  box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.3);
  border-radius: 10px;
}
.ticket-table {
  font-weight: bold;
}
.entry-table {
  font-weight: bold;
}
.ticket_sale a .on {
  display: none;
  cursor: pointer;
}
.ticket_sale a:hover .off {
  display: none;
}
.ticket_sale a:hover .on {
  display: block;
}
.entry_form a .on {
  display: none;
  cursor: pointer;
}
.entry_form a:hover .off {
  display: none;
}
.entry_form a:hover .on {
  display: block;
}
.inquiry_form a .on {
  display: none;
  cursor: pointer;
}
.inquiry_form a:hover .off {
  display: none;
}
.inquiry_form a:hover .on {
  display: block;
}
.visMap {
  padding-left: 15px;
}
.visMap img {
  border-radius: 10px;
}
.visMap_t, .visMap_d {
  position: absolute;
}
.container {
  width: 1000px;
  padding: 0 15px;
  margin: auto;
  box-sizing: border-box;
}
.container:before, .container:after {
  display: table;
  content: "";
  clear: both;
}
.navbar {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 999;
  top: 0;
  background-color: #222;
  border-color: #000;
}
.nav {
  padding: 0;
  margin: 0;
  font-size: 0;
}
.nav li {
  font-size: 16px;
  display: inline-block;
}
.nav li a {
  color: #999;
  line-height: 20px;
  display: block;
  padding: 15px;
}
.nav li a:hover {
  color: #fff;
  background-color: #000;
}
hr {
  height: 2px;
  margin: 15px 0;
  position: relative;
  border: none;
}
hr:before, hr:after {
  content: " ";
  position: absolute;
  width: 100%;
  height: 2px;
  background: #ccc;
}
.header {
  background: url(../image/header_bg.png) no-repeat center top;
  margin-top: 30px;
  padding-top: 120px;
  text-align: center;
  background-position: center center;
  min-height: 400px;
  background-size: cover;
}
.footer {
  color: #fff;
  background: #333;
  padding: 10px 0;
  text-align: center;
}
.x img {
  margin: -75px 0 0 25px;
  border-radius: 5px;
}
.x img:hover {
  opacity: 0.7;
}
.utikesi {
  position: relative;
}
.utikesi::before {
  top: 40%;
  width: 100%;
  border-top: 7px double #f00;
  position: absolute;
  content: "";
}
#page-top {
  position: fixed;
  bottom: 0;
  right: 15px;
  font-size: 100%;
}
#page-top a {
  font-size: 20px;
  background: #666;
  text-decoration: none;
  color: #fff;
  width: 50px;
  height: 30px;
  padding: 10px 0;
  text-align: center;
  display: block;
  border-radius: 5px;
}
#page-top a:hover {
  text-decoration: none;
  background: #999;
}
