/* bootstrapを上書き */
body {
  font-size: 16px;
  font-weight: 200;
  font-family: "Open Sans Condensed","Noto Sans Japanese","Helvetica Neue",Helvetica,Arial,sans-serif;
}
.h1, h1 {
  font-size: 30px;
  font-weight: 300;
}
.h2, h2 {
  font-size: 24px;
  font-weight: 300;
}
.h3, h3 {
  font-size: 20px;
  font-weight: 300;
}
.h4, h4 {
  font-size: 16px;
  font-weight: 300;
}
a {
  color: #d7000f;
}
a:focus, a:hover {
  color: #d7000f;
}
.container-fluid {
  padding: 0;
}
.row {
  margin: 0;
  padding: 0;
}
.row.flex {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
}
.row.flex:before, .row.flex:after {
  content: normal;
}
.page-header {
  line-height: 1.3;
}
.label, dt, th {
  font-weight: 300;
}
.btn {
  font-weight: 200;
}

/* custom styles */
/* header */
.navbar {
  border: 0;
  margin: 0;
  border-radius: 0;
  height: 80px;
  background-color: #ffffff;
  box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.6);
}
.pc-header {
  max-width: 1280px;
}
.pc-header .navbar-header .navbar-brand {
  height: 80px;
}
.pc-header .navbar-header .navbar-brand > img {
  width:302px;margin-top:5px;height:auto;
}
.pc-header .navbar-right {
  height: 80px;
  font-weight: bold;
  margin: 0 15px 0 0;
}
.pc-header .navbar-right > li > a {
  line-height: 50px;
}
.drawer--left .drawer-nav {
  left: -25rem;
}
.drawer-nav {
  width: 25rem;
  text-align: left;
  background-color: #f5f5f5;
}
.drawer-brand {
  font-weight: normal;
  border-bottom: solid 1px #cccccc;
  font-size: 1.0em;
  line-height: 3.0em;
  padding: 0 1.0em;
}
.drawer--left.drawer-open .drawer-hamburger {
  left: 25rem;
}
.drawer-hamburger {
  width: 2.5rem;
  padding: 18px 1.75rem 30px;
}
.drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
  background-color: #d7000f;
}
.drawer-menu-item {
  font-size: 1.0em;
  height: 2.5em;
}
.drawer-dropdown-menu {
  margin: 1.5em 0 0 1.5em;
  background-color: #f5f5f5;
}
.drawer-dropdown-menu-item {
  line-height: 2.5em;
  font-size: 0.85em;
}
.dropdown-backdrop {
  display: none;
}
.sp-header .sp-header-inner {
  line-height: 60px;
  position: relative;
}
.sp-header .sp-header-inner .sp-header-logo {
  display: inline-block;
}
.sp-header .sp-header-inner .sp-header-logo img {
  height: 40px;
}
.sp-header .sp-header-inner .header-search-btn {
  position: absolute;
  top: 0;
  right: 0;
  color: #d7000f;
  line-height: 60px;
  padding: 0 10px 0 0;
  font-size: 1.5em;
}
.sp-header .sp-header-inner .header-search-menu {
  background-color: #f5f5f5;
}
.sp-header .sp-header-inner .header-search-menu .form-group {
  margin: 0 20px;
}
.sp-header .sp-header-inner .header-search-menu .form-group .input-group {
  width: 100%;
}
.sp-header .sp-header-inner .header-search-menu .form-group .input-group input {
  margin: 13px 0;
}
.sp-header .sp-header-inner .header-search-menu .form-group .input-group span {
  text-align: left;
}
/* footer */
.footer {
  background-color: #01000e;
  font-size: 0.85em;
  color: #f5f5f5;
}
.footer > .row {
  max-width: 1280px;
  margin: 0 auto;
}
.footer .footer-logo img {
  width: 100%;
  max-width: 300px;
}
.footer .footer-nav {
  padding-top: 40px;
}
.footer .footer-nav .footer-nav-inner {
  margin-bottom: 40px;
}
.footer .footer-nav .footer-nav-inner p {
  border-bottom: solid 1px #666666;
  padding-bottom: 0.5em;
}
.footer .footer-nav .footer-nav-inner ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer .footer-nav .footer-nav-inner ul > li {
  margin-bottom: 0.5em;
}
.footer .footer-nav .footer-nav-inner ul > li > a {
  color: #f5f5f5;
}
.footer .footer-nav .footer-inquiry {
  margin-bottom: 40px;
}
.footer .footer-nav .footer-inquiry a {
  width: 100%;
}
.footer .footer-nav .footer-sns li {
  float: left;
  margin-right: 20px;
}
.footer .footer-nav .footer-sns li a img {
  width: 35px;
}
.footer-credit {
  font-size: 0.85em;
  background-color: #01000e;
  padding: 10px;
  color: #f5f5f5;
}
.footer-credit > p {
  margin: 0;
}
/* common */
#calendar-container {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.topic-image-wrapper {
    position: relative;
    width: 100%;
    margin-bottom: 0.5em;
}
.topic-image-wrapper:before {
    content: '';
    display: block;
    padding-top: 66%;
    background-color: #cccccc;
}
.topic-image {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    text-align: center;
    background-color: #ffffff;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
}
.project-download-wrapper {
    position: relative;
    width: 100%;
    margin-bottom: 0.5em;
}
.project-download-wrapper:before {
    content: '';
    display: block;
    padding-top: 100%;
    background-color: #cccccc;
}
.project-download-thumbnail {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    text-align: center;
    background-color: #ffffff;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
}
.view-all {
    border: solid 2px #d7000f;;
    border-radius: 3px;
    padding: 0.3em 1em;
    transition: .4s;
}
.view-all:hover {
    text-decoration: none;
    background-color: #d7000f;
    color: #ffffff
}
.calendar {
    position: relative;
    width: 100%;
    margin-bottom: 0.5em;
}
.calendar:before {
    content: '';
    display: block;
    padding-top: 100%;
    background-color: #cccccc;
}
.calendar-inner {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    text-align: center;
    background-color: #f5f5f5;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
}
.fc-toolbar.fc-header-toolbar {
    padding: 0.5em;
}
.fc-basic-view .fc-body .fc-row {
    min-height: 0;
}
#panel-btn {
    width: auto;
    height: auto;
    margin: 0;
}
#main-container {
  margin-top: 80px;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
.main {
  margin-top: 20px;
}
.main-left {
  padding-bottom: 40px;
}
.main-right {
  padding-bottom: 40px;
}
.breadcrumb {
  font-size: 0.85em;
  margin-top: 20px;
}
.h2-header {
  line-height: 1.6em;
  font-size: 24px;
}
.content-box {
  padding-bottom: 2.5rem;
}
.swiper-index {
  background-color: #000;
}
.swiper-slide.swiper-slide-prev, .swiper-slide.swiper-slide-next {
  opacity: 0.3;
}
.swiper-slide img {
  width: 100%;
}
.side-nav {
  background-color: #FFF3F4;
  padding-bottom: 40px;
  margin-bottom: 40px;
}
.side-nav-inner {

}
.side-nav h3 {
  line-height: 1.6em;
  border-bottom: solid 1px #ffffff;
}
.side-nav .calendar {
  margin-bottom: 20px;
  background-color: #ffffff;
}
.side-nav .calendar .calendar-inner {
  background-color: #ffffff;
}
.side-nav .form-group {
  margin: 0;
}
.side-nav .form-group .input-group {
  width: 100%;
}
.side-nav .form-group .input-group span {
  text-align: left;
}
a.tag {
  font-size: 0.85em;
  padding: 2px 4px;
  background-color: #f5f5f5;
  margin-right: 0.5em;
  transition: .4s;
}
a.tag:hover {
  text-decoration: none;
  background-color: #d7000f;
  color: #ffffff
}
.main-bg {
  margin-top: 20px;
}
/* index */
#header-search-box {
  margin-top: 80px;
  background-color: #eae9e7;
  border: 0;
  width: 100%;
}
.header-search-inner {
  padding: 10px;
  text-align: center;
}
.header-search-inner h1 {
  margin: 0;
  display: inline-block;
  font-size: 16px;
  line-height: 34px;
}
.header-search-inner form {
  display: inline-block;
  font-size: 16px;
  margin-left: 40px;
}
.header-search-inner form .form-group {
  margin-bottom: 0;
}
.header-search-inner form .form-group .input-group {
  width: 300px;
}
.header-search-inner form .form-group .input-group span {
  text-align: left;
}
body {
  letter-spacing: 0.05em;
  word-spacing: 0.05em;
}
main > .row {
  max-width: 1280px;margin-left:auto;margin-right:auto;
}
.index-project-title {
  position: relative;
  background: #d7000f;
  color: #ffffff;
  padding: 0.25em 0.5em;
  font-size: 20px;
  margin: 40px 0 0;
  max-width: 600px;
}
.index-project-title:after {
  content: "";
  position:absolute;
  top:0;
  right:0;
  width:0;
  height:0;
  border-style: solid;
  border-color: transparent #fff transparent transparent;
  border-width: 0px 32px 32px 0;
}
.index-project-list .media {
  margin: 20px 0;
}
.page-header {
  line-height: 1.3;
}
.pagination>.active>a, .pagination>.active>a:focus, .pagination>.active>a:hover, .pagination>.active>span, .pagination>.active>span:focus, .pagination>.active>span:hover {
    background-color: #d7000f;
    border-color: #d7000f;
}
.pagination>li>a, .pagination>li>span {
    color: #d7000f;
    background-color: #fff;
}
.pagination>li>a:focus, .pagination>li>a:hover, .pagination>li>span:focus,.pagination>li>span:hover  {
    color: #d7000f;
}
.fc-day-top.fc-past {
    opacity: .3;
}
.fc-day-top.fc-today, .fc-day-top.fc-future {
    cursor: pointer;
}
.fc-day-top.fc-today:hover, .fc-day-top.fc-future:hover {
    background-color: #fff3f4;
}
ol.ranking {
    margin-left: 1.0em;
}
ol.ranking > li {
    margin-bottom: 1.0em;
}
li.ranking-first:before {
    content: "\f091";
    font-family: FontAwesome;
    color: #efd362;
    margin-left: -1.0em;
}
li.ranking-second:before {
    content: "\f091";
    font-family: FontAwesome;
    color: #c6c6c6;
    margin-left: -1.0em;
}
li.ranking-third:before {
    content: "\f091";
    font-family: FontAwesome;
    color: #ed9219;
    margin-left: -1.0em;
}
li.ranking-later:before {
    content: "\f10c";
    font-family: FontAwesome;
    margin-left: -1.0em;
}
.topic-list {
    margin-top: 40px;
}
.topic-block {
    position: relative;
    padding-bottom: 2.5rem;
}
.topic-info-bg {
    margin: 0 auto 20px;
}
.topic-sns-bg {
    line-height: 12px;
    margin: .5em 0;
}
.topic-main-img {
    margin-bottom: 40px;
}
.topic-main-img > img {
    width: 100%;
    max-width: 500px;
}
.paragraph {
    margin: 0 auto 20px;
}
.paragraph-img.center {
    margin-bottom: 40px;
}
.paragraph-img.right {
    float: right;
    margin: 0 0 20px 20px;
    width: 300px;
}
.paragraph-img.left {
    float: left;
    margin: 0 20px 20px 0;
    width: 300px;
}
.paragraph-img > img {
    width: 100%;
    max-width: 500px;
}
.playguide-banner img {
    width: 100%;
    max-width: 280px;
}
.terms-ul {
    margin-left: -1.0em;
}
.theatre-list-bg {
    margin: 20px 0 0;
    padding: 15px;
}
.theatre-list-title {
    margin-bottom: 40px;
}
.theatre-list-title > img {
    width: 50px;
    margin-bottom: 10px;
}
.theatre-list {
    list-style: none;
}
.theatre-list > li {
    margin-bottom: 1.6em;
    position: relative;
}
.theatre-list > li > .facility-info-notice {
    position: absolute;
    top: 0;
    left: 15px;
    font-size: 0.85em;
    padding: 3px 5px;
    color:#ffffff;
    background-color: #d7000f;
    border-radius: 4px;
}
.swiper-facility {
    margin-bottom: 1.0em;
}
.swiper-facility img {
    width: 100%;
}
.facility-news-box {
  background-color: #FECBCE;
  border-radius: 4px;
}
.facility-news-box dt {
  padding: 5px 10px;
  background-color: #d7000f;
  float: left;
  color: #ffffff;
  border-radius: 4px 0 0 0;
}
.facility-news-box dd {
  padding: 5px 10px;
}
.facility-detail, .event-detail {
    margin: 40px 0 0;
}
.event-facility-detail {
    margin: 1.0em 0;
}
.facility-detail dt, .event-detail dt, .event-facility-detail dt {
    margin-bottom: 0.5em;
    text-align: left;
}
.facility-detail dd, .event-detail dd, .event-facility-detail dd {
    margin-bottom: 1.0em;
    word-break: break-all;
}
.restaurant img {
    width: 80px;
}
.search-tab-pane {
    padding: 20px 0 0;
}
.search-tab-pane .calendar-inner {
    background-color: #ffffff;
}
.search-tab-pane .form-horizontal {
    margin: 0 20px;
}
.search-tab-pane .form-group {
    margin-bottom: 0;
}
.event-title {
    margin-bottom: 1.0em;
}
.event-list {
    margin-top: 40px;
}
.event-list .media {
    margin: 0 0 20px;
    padding: 0 0 20px;
    border-bottom: 1px solid #f5f5f5;
}
.event-list .media-heading {
    margin-bottom: 1.0em;
    font-weight: 300;
}
.exhibition-images {
    margin-top: 40px;
}
.exhibition-images img {
    width: 100%;
}
.fa-external-link {
    font-size: 0.85em;
}
.image-caption {
    font-size: 0.85em;
}
.about-banner img {
    width: 100%;
}
.about-title {
    margin-top: 80px;
}
table.about-table, ol.about-table {
    width: 100%;
    max-width: 900px;
    margin: 0 auto 40px;
}
.about-table th, .about-table td {
    width: auto;
}
.about-table th {
    background-color: #f5f5f5;
    min-width: 80px;
}
.about-table li {
    margin-bottom: 1.0em;
}
.about-table span {
    color: #999;
}
.project2020-container {font-size:15px;line-height:1.6em;letter-spacing: normal;word-spacing: normal;}
.project2020-container h2 {font-size:21px;margin-top:80px;padding:5px;color:#ffffff;font-weight:bold;background-color:#d00007;}
.project2020-container h2:first-of-type {margin-top: 40px;}
.project2020-container h3 {font-size:17px;margin-top:40px;font-weight:bold;color:#d00007;}
.project2020-container div {margin-bottom: 40px;}
.project2020-container .notes {font-size: 13px;color: #777777;}
.walk-with-u-table th {
        font-weight: bold;
    }
.media-list.tour-list .media {margin-bottom: 20px;}
.media-list.tour-list .media-left img {width: 100%;}
.media-list.tour-list .media-body {padding-left: 20px;}
.locatone-logo {margin-top: 40px;}
.locatone-logo img {width: 120px;}
.app-download-badge {margin-top: 40px;}
.app-download-badge div {width: 50%;float: left;text-align: center;}
.tour-flow {margin-bottom: 0;}
.tour-flow p {position: relative;}
.tour-flow p span {position: absolute;top: 8px;left: 30px;font-size: 21px;font-weight: bold; color: #ffffff;}
.tour-flow p img {width: 100%;}
.jasrac {margin-top: 40px; font-size: 11px;}
.jasrac img {width: 70px;}
.premium-tickets-container {display: flex;flex-wrap: wrap;}
.premium-tickets-container > div {margin-bottom: 30px;}

@media (min-width: 992px) and (max-width: 1199px) {
  .pc-header .navbar-right {
    font-size: 1.4rem;
  }
}
@media (max-width: 991px) {
  .navbar {
    height: 60px;
    background-color: #01000e;
    color: #ffffff;
  }
  #header-search-box {
    margin-top: 60px;
  }
  #main-container {
    margin-top: 60px;
  }
}
@media (max-width: 767px) {
  .swiper-index.swiper-container {
    margin-top: 60px;
  }
  .row.main {
    margin-top: 0;
  }
  .main-bg {
    margin-top: 0;
  }
  .col-inner {
    padding-left: 0;
    padding-right: 0;
  }
  .view-all {
    width: 100%;
    display: inline-block;
    text-align: center;
  }
  .breadcrumb {
    overflow-x: scroll;
    white-space: nowrap;
  }
  .side-nav-inner {
    padding: 15px;
  }
  .paragraph-img.right, .paragraph-img.left {
  	float: none;
  	margin: 0;
  	width: 100%;
  }
  .media-left {
      padding-right: 15px;
  }
  .media-body {
      padding: 0px 15px;
  }
  .walk-with-u-table th {
      display: block;
  }
    .walk-with-u-table td {
        display: block;
        border: 0 !important;
        padding-top: 0 !important;
    }
}
@media (min-width: 768px) {
  .dl-horizontal dd {
    margin-left: 0;
    padding-left: 180px;
    border-bottom: 1px solid #f5f5f5;
  }
}