.wrapper {
  max-width: 60%; }
  @media (max-width: 640px) {
    .wrapper {
      max-width: 100%; }
      .wrapper.top_image {
        width: 100%; } }
  @media (max-width: 779px) {
    .wrapper.top_image {
      width: 100%;
      width: 100%; } }

.large_logo {
  margin: 0; }

#weblink a {
  display: block;
  height: 100%; }
  #weblink a .weblink01 {
    height: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 16px 10px; }
    #weblink a .weblink01 p {
      font-size: 1.2rem; }

#calendar-wrap {
  overflow-x: auto; }

#movie .flex-row.col3 a:nth-child(3n+2):last-child {
  margin-right: 34.5%; }
  @media (max-width: 640px) {
    #movie .flex-row.col3 a:nth-child(3n+2):last-child {
      margin-right: 0; } }

.fixednav {
  z-index: 1000; }

#toplink {
  z-index: 1000; }

.calendar__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 0 15px; }
  @media screen and (max-width: 640px) {
    .calendar__header {
      margin-top: 15px;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; } }

.calendar__btn, .calendar__btn--disabled {
  display: inline-block;
  padding: 5px 10px;
  background: #fff;
  border-radius: 3px;
  border: 1px solid #ddd; }
  .calendar__btn:hover, .calendar__btn--disabled:hover, .calendar__btn:focus, .calendar__btn--disabled:focus {
    text-decoration: none;
    background: #f5f5f5; }

@media screen and (max-width: 640px) {
  .calendar .prev {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin-right: 5px; } }

@media screen and (max-width: 640px) {
  .calendar .next {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    margin-left: 5px; } }

.calendar__btn--disabled {
  background: #eee;
  color: #666; }
  .calendar__btn--disabled:hover, .calendar__btn--disabled:focus {
    background: #eee; }

.calendar__title {
  text-align: center;
  padding: 0 15px; }
  @media screen and (max-width: 640px) {
    .calendar__title {
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1;
      -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
      flex: 0 0 100%; } }

@media screen and (max-width: 640px) {
  .calendar .restaurant__wrap {
    width: auto; } }

.calendar .restaurant__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column wrap;
  flex-flow: column wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.calendar .restaurant__description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.calendar .restaurant__icon, .calendar .restaurant__icon--aumirador, .calendar .restaurant__icon--hana, .calendar .restaurant__icon--cafe, .calendar .restaurant__icon--ippaku, .calendar .restaurant__icon--soba {
  display: inline-block !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 10px;
  margin: 1px; }

.calendar .restaurant__icon--aumirador {
  background: #9dc759; }

.calendar .restaurant__icon--hana {
  background: #4c9dc6; }

.calendar .restaurant__icon--cafe {
  background: #e3b872; }

.calendar .restaurant__icon--ippaku {
  background: #ec6eb4; }

.calendar .restaurant__icon--soba {
  background: #66bcb5; }

.calendar .description__restaurant {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  .calendar .description__restaurant:first-child > span {
    margin-left: 0 !important; }

#titleimg {
  width: 100%; }
  #titleimg > div:not(:first-child) {
    display: none; }

.pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .pager a {
    background: #555;
    color: #fff;
    font-size: 1.2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: bold;
    letter-spacing: 0.14em; }
    .pager a:hover, .pager a:focus {
      text-decoration: none; }
    .pager a.pager__next {
      margin-left: auto;
      padding: 10px 0 10px 13px; }
    .pager a.pager__prev {
      padding: 10px 13px 10px 0; }
      .pager a.pager__prev img {
        -webkit-transform: rotate(-180deg);
        -ms-transform: rotate(-180deg);
        transform: rotate(-180deg); }

#ticket {
  max-width: 420px;
  width: 100%;
  margin: 0 auto 60px; }
  #ticket div {
    border: 1px solid #111111;
    font-size: 1.8rem;
    padding: 16px;
    background-image: url(../img/btn_c_tl.png), url(../img/btn_c_tr.png), url(../img/btn_c_bl.png), url(../img/btn_c_br.png);
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
    background-position: left top, right top, left bottom, right bottom; }
    #ticket div p {
      text-align: center; }
      #ticket div p.close-row div {
        height: 45px;
        border: solid 1px #ddd;
        border-left: none; }

.scrollonly {
  display: none;
  text-align: right; }
  @media screen and (max-width: 1000px) {
    .scrollonly {
      display: block; } }

#calendar-wrap {
  font-size: 1.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 10px; }
  #calendar-wrap div {
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  #calendar-wrap .header div {
    height: 45px;
    min-width: 90px;
    width: 90px; }
  #calendar-wrap .header .close-row.head {
    border: solid 1px #ddd;
    border-right: none;
    text-align: center;
    line-height: 40px; }
  #calendar-wrap .days {
    width: 100%;
    max-width: 100%; }
    @media screen and (max-width: 1000px) {
      #calendar-wrap .days {
        overflow: hidden;
        overflow-x: scroll; } }
    #calendar-wrap .days .days-wrap {
      min-width: 800px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: baseline;
      -ms-flex-pack: baseline;
      justify-content: baseline;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      #calendar-wrap .days .days-wrap > div {
        width: 100%;
        height: 45px;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 3.22580645161%;
        flex: 0 0 3.22580645161%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        text-align: center; }
      #calendar-wrap .days .days-wrap.close-row > div {
        border: solid 1px #ddd;
        border-right: none;
        padding-top: 3px; }
        #calendar-wrap .days .days-wrap.close-row > div.closing {
          border: none; }
        #calendar-wrap .days .days-wrap.close-row > div:last-of-type {
          border-right: solid 1px #ddd; }
      #calendar-wrap .days .days-wrap .closing {
        background-color: #ddd; }
        #calendar-wrap .days .days-wrap .closing + div {
          border-left: none; }
  #calendar-wrap .sunday {
    color: #993319; }
  #calendar-wrap.en_calendar .header .close-row.head {
    height: 60px;
    line-height: 20px;
    padding: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 160px; }
  #calendar-wrap.en_calendar .days .close-row > div {
    height: 60px; }

@media screen and (max-width: 640px) {
  .hidden-sm {
    display: none; } }

#hdrow1 {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 0;
  width: auto; }

#sns {
  width: 100%;
  max-width: 600px;
  margin: 40px auto; }
  #sns a {
    font-size: 60px; }
    @media screen and (max-width: 640px) {
      #sns a {
        font-size: 48px; } }
    #sns a i, #sns a svg {
      color: #555555;
      -webkit-transition-duration: .4s;
      -o-transition-duration: .4s;
      transition-duration: .4s; }
      #sns a i:hover, #sns a svg:hover {
        -webkit-transition-duration: .4s;
        -o-transition-duration: .4s;
        transition-duration: .4s; }
        #sns a i:hover.fa-twitter, #sns a svg:hover.fa-twitter {
          color: #1DA1F2; }
        #sns a i:hover.fa-facebook, #sns a svg:hover.fa-facebook {
          color: #3B5998; }
        #sns a i:hover.fa-instagram, #sns a svg:hover.fa-instagram {
          color: #D93177; }
        #sns a i:hover.fa-youtube, #sns a svg:hover.fa-youtube {
          color: #cd201f; }
        #sns a i:hover.fa-tripadvisor, #sns a svg:hover.fa-tripadvisor {
          color: #00af87; }

header.title h2 {
  margin-bottom: 0; }

#info_open {
  font-size: 18px;
  padding: 10px;
  text-align: center;
  letter-spacing: 1.2px; }
  @media screen and (max-width: 640px) {
    #info_open {
      font-size: 1rem; } }
  #info_open .open {
    background: #8a89dc;
    padding: 10px;
    color: #FFF; }
  #info_open .close {
    background: #dddddd;
    padding: 10px;
    color: #434343; }

#exhibitions0 {
  max-height: 240px; }
  #exhibitions0 p {
    font-size: 1.2rem; }

#exhibitions1 .containimg {
  position: relative;
  overflow: hidden; }
  #exhibitions1 .containimg img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto; }

#events .flex-row {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  #events .flex-row a {
    margin-bottom: 20px; }
  #events .flex-row::after {
    content: "";
    display: block;
    width: 31.1%; }

.youtube_movie {
  margin: 0 auto;
  position: relative;
  width: 100%;
  padding-top: 56.25%; }
  .youtube_movie#titleimg {
    height: auto;
    min-height: inherit; }
  .youtube_movie .over_ray {
    display: block !important;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0); }
  .youtube_movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important; }

.content {
  width: 100%;
  height: auto;
  position: absolute;
  z-index: 1;
  color: #fff;
  font-size: 200%;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  overflow: hidden; }

#navbar {
  width: 100%; }
  #navbar.fixednav {
    padding: 20px 0; }
  #navbar .wrapper {
    max-width: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0 auto;
    width: 60%; }
    @media (max-width: 640px) {
      #navbar .wrapper {
        width: 100%;
        max-width: 90%;
        margin: 0 auto; } }
  #navbar ul.pcnav {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    #navbar ul.pcnav li {
      padding: 10px 0 0;
      -webkit-box-flex: initial;
      -ms-flex-positive: initial;
      flex-grow: initial; }
      #navbar ul.pcnav li:after {
        content: '|';
        padding: 0 7px; }
      #navbar ul.pcnav li:last-of-type:after {
        content: none; }
      #navbar ul.pcnav li a {
        font-size: 1.4rem; }

* {
  color: inherit; }

.top_contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto; }
  .top_contents .containimg {
    position: relative;
    overflow: hidden;
    max-height: 300px; }
    .top_contents .containimg img {
      min-width: 100%;
      min-height: 100%;
      -o-object-fit: cover;
      object-fit: cover;
      font-family: 'object-fit: contain;'; }
  .top_contents .contents_info {
    padding: 0 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
  @media (max-width: 640px) {
    .top_contents {
      display: block; }
      .top_contents > div {
        width: 100%; }
      .top_contents .contents_info {
        padding: 10px 0 0; } }

.page_contents {
  margin: 0 auto; }
  .page_contents .page_header {
    text-align: center; }
    .page_contents .page_header h1 {
      display: block;
      border-bottom: none;
      text-align: center; }
    .page_contents .page_header span {
      color: #CCCCCC; }
  .page_contents iframe {
    display: block;
    margin: 0 auto; }

main .contents_wrap {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap; }
  main .contents_wrap h3 {
    font-weight: bold;
    margin: 0 0 5px; }
  main .contents_wrap .containimg {
    position: relative;
    overflow: hidden;
    margin: 0;
    height: 200px; }
    main .contents_wrap .containimg img {
      height: 100%;
      width: 100%;
      -o-object-fit: cover;
      object-fit: cover;
      font-family: 'object-fit: contain;'; }
  main .contents_wrap .contents_info {
    padding: 0 20px;
    margin: 0;
    text-align: right;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    main .contents_wrap .contents_info a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      height: 100%; }
    main .contents_wrap .contents_info .more {
      margin-top: auto;
      display: block;
      text-align: right; }
  @media (max-width: 640px) {
    main .contents_wrap {
      display: block; }
      main .contents_wrap .col2 {
        width: 100%; }
      main .contents_wrap .containimg {
        margin: 0 auto;
        margin-bottom: 10px;
        height: 300px;
        max-width: 640px;
        max-height: 300px; }
      main .contents_wrap .contents_info {
        padding: 0;
        margin: 0;
        text-align: right; }
        main .contents_wrap .contents_info a {
          display: block;
          height: 100%; }
        main .contents_wrap .contents_info .more {
          display: block;
          text-align: right; } }

.inline_contents_wrap h3 {
  margin: 10px 0; }

.inline_contents_wrap .inline_content .inline_image {
  width: 100%;
  height: 200px; }
  .inline_contents_wrap .inline_content .inline_image img {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: contain;'; }

.inline_contents_wrap::after {
  content: "";
  display: block;
  width: 31.1%; }

@media (max-width: 640px) {
  #architecture .inline_contents_wrap .inline_image {
    height: 400px; } }

.col5 > div {
  width: 19.5%; }

@media (max-width: 899px) {
  #weblink > div > div:nth-child(5) {
    margin-top: 30px; } }

#activities .wrapper h4 {
  font-weight: bold; }

#activities .wrapper .inline_contents_wrap > div {
  width: 31.1%; }

#activities .wrapper .inline_contents_wrap::after {
  content: "";
  display: block;
  width: 31.1%; }

@media (min-width: 1400px) {
  #activities .wrapper .inline_contents_wrap > div {
    width: 22.5%; }
  #activities .wrapper .inline_contents_wrap::before {
    content: "";
    display: block;
    width: 22.5%;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1; }
  #activities .wrapper .inline_contents_wrap::after {
    content: "";
    display: block;
    width: 22.5%; } }

@media (max-width: 640px) {
  #activities .wrapper .inline_contents_wrap > div {
    width: 48.5%; } }

.over_ray .large_logo {
  margin: 0;
  padding: 20px;
  width: 118px; }

main .page_contents#about .contents_wrap .contents_info {
  position: relative;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  main .page_contents#about .contents_wrap .contents_info h3 {
    margin: auto 0 !important; }
  main .page_contents#about .contents_wrap .contents_info .more {
    position: absolute;
    bottom: 10px;
    left: 60%; }

@media (min-width: 641px) {
  .nav_logo {
    width: 100%;
    position: relative; } }

.nav_logo .spnone {
  position: absolute;
  right: 0;
  top: 10px; }

#top_inline_news {
  font-size: 1.4rem;
  margin: 15px auto 0;
  text-align: center; }

#calendar .calendar__header a.prev {
  font-size: 1rem;
  padding: 1px 3px; }

footer .sns {
  margin-right: 0; }

footer .ftbdlink {
  padding: 16px 5px; }
  footer .ftbdlink svg {
    margin-right: 5px; }

#sitemap {
  margin-top: -60px; }
  #sitemap h3 {
    font-size: 1.8rem;
    margin-bottom: 10px; }
  #sitemap ul {
    margin: 0;
    padding: 0; }
    #sitemap ul li {
      list-style: none; }
      #sitemap ul li svg {
        color: #555555;
        margin-right: 5px; }

#information .title {
  width: 100%; }
  #information .title h2 {
    text-align: center; }
  #information .title small {
    display: block;
    text-align: center; }

@media (max-width: 640px) {
  footer .col4 > * {
    margin-bottom: 20px; } }

/*# sourceMappingURL=override.css.map */
