@charset "UTF-8";
img {
  font-size: 10px;
  line-height: 1;
  vertical-align: top;
  border: 0;
}

a {
  outline: none;
  text-decoration: none;
}

a, button {
  -webkit-tap-highlight-color: transparent;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  padding: 0;
  border: 0;
}

body {
  -webkit-text-size-adjust: 100%;
}

input, textarea, select, button {
  outline: none;
  font-weight: inherit;
  font-style: inherit;
  font-family: inherit;
}

main {
  display: block;
}

@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 300;
  src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff2) format("woff2"), url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff) format("woff"), url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.otf) format("opentype");
}
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 500;
  src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff2) format("woff2"), url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff) format("woff"), url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.otf) format("opentype");
}
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 700;
  src: url(https:////fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format("woff2"), url(https:////fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format("woff"), url(https:////fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format("opentype");
}
.dg.main {
  position: fixed;
  left: 0;
  bottom: 20px;
  z-index: 11;
}

#font-nl, #font-a, .post-body, #news-archive article h1, #news-categories a, #event-archive .notfound, #event-article .top-table th, #event-article .top-table td, #event-article .information table th, #event-article .information table td, #page-access .sub-section dd, #page-about .lead p, #page-about .section-2 .text-2, #page-about .section-2 .text-3, #page-about .section-3 section p, #page-about .section-5 p, #page-about .section-5 figure figcaption, #page-about .section-6 p, #page-about .section-7 p, #page-contact .lead, #page-contact .complete, #page-logo .lead p, #page-logo section p, #page-download p, #page-sitemap, #page-sitepolicy p, #page-privacypolicy p, .font-a, #font-b, #main-footer .link-2, #main-footer address, #news-archive article .category, .font-b, #font-i, #event-archive article .category li, #event-searchui .date span, #event-searchui .area label > span, .font-i, body, #page-access .updated, .font-nl {
  font-family: 'Noto Sans Japanese', sans-serif;
  font-weight: 300;
}

#font-nn, #font-c, #main-header .voice-browser a, #search-nav h1, #search-nav button[type="button"], #search-nav .keyword input[type="text"], #search-nav .keyword button[type="submit"], #news-archive article .time, #news-article .time, #event-article .time, #page-contact #contact-form input[type="text"], #page-contact #contact-form textarea, .font-c, #font-d, .post-body h2, #button-1, #news-article-container .article-paging-nav p a, #event-searchui button, #page-contact #contact-form button[type="submit"], #top #top-news .to-archive a, #top #top-event .to-archive-container .todays a, #top #top-event .to-archive-container .to-archive a, #top #top-gallery .to-archive a, #button-2, #event-article-container .article-paging-nav p a, #main-header nav a, #sub-nav a, #main-footer .link-1, #news-categories h1, #event-archive .result-count, #event-archive article h1, #event-searchui .date input, #event-searchui .keyword input, #page-gallery .video-archive figure figcaption, #page-gallery .picture-archive figure figcaption, #page-access .sub-section dt, #page-contact #contact-form label, #page-download figure figcaption, #page-link figure figcaption, #top #top-gallery .video-archive article h1, .font-d, #font-e, #page-gallery .video-archive > h1, #page-gallery .picture-archive > h1, #page-about .main-section > h1, #page-logo section > h1, #page-download h1, #page-sitepolicy h1, #page-privacypolicy h1, .font-e, #font-f, #page-access .main-section > h1, #top #countdown p .small, .font-f, #font-g, .post-body h1, #news-article .main-heading, #event-article .main-heading, #event-article .body > h1, #event-article .map > h1, #event-article .information > h1, #page-access .sub-section > h1, #top #top-meta .link p a, #top #top-sponsor .text p, .font-g, #font-h, .topicpath, #search-nav .category a, #event-archive article .time, #event-archive article .place, #event-searchui .area label, #event-searchui .category label, #top #top-gallery .video-archive article p, .font-h, #font-j, #page-about .lead h1, #page-about .section-1 p, #page-about .section-2 .text-1, #page-about .section-3 section h1, #top #top-news > h1 span:first-child, #top #top-event > h1 span:first-child, #top #top-gallery > h1 span:first-child, #top #top-sponsor > h1 span:first-child, .font-j, .page-heading, #main-header .font-size-button-container, #main-header .font-size-button-container button, #event-searchui form > h1, #event-searchui .date > h1, #event-searchui .area > h1, #event-searchui .category > h1, #event-searchui .keyword > h1, #page-about .section-2 .text-1 span[data-mini]:before, #page-about .section-4 p, #top #countdown p .large, #top #top-meta > h1, .font-nn {
  font-family: 'Noto Sans Japanese', sans-serif;
  font-weight: 500;
}

#font-nb, .font-nb {
  font-family: 'Noto Sans Japanese', sans-serif;
  font-weight: 700;
}

#font-rn, .paging-nav, .font-rn {
  font-family: Roboto, sans-serif;
  font-weight: 400;
}

#font-rb, .page-heading br + span, #top #top-news > h1 br + span, #top #top-event > h1 br + span, #top #top-gallery > h1 br + span, #top #top-sponsor > h1 br + span, .font-rb {
  font-family: Roboto, sans-serif;
  font-weight: 700;
}

#font-a, .post-body, #news-archive article h1, #news-categories a, #event-archive .notfound, #event-article .top-table th, #event-article .top-table td, #event-article .information table th, #event-article .information table td, #page-access .sub-section dd, #page-about .lead p, #page-about .section-2 .text-2, #page-about .section-2 .text-3, #page-about .section-3 section p, #page-about .section-5 p, #page-about .section-5 figure figcaption, #page-about .section-6 p, #page-about .section-7 p, #page-contact .lead, #page-contact .complete, #page-logo .lead p, #page-logo section p, #page-download p, #page-sitemap, #page-sitepolicy p, #page-privacypolicy p, .font-a {
  font-size: 100%;
  line-height: 1.75;
  letter-spacing: 0.1em;
}

#font-b, #main-footer .link-2, #main-footer address, #news-archive article .category, .font-b {
  font-size: 93.75%;
  line-height: 1.75;
  letter-spacing: 0.1em;
}

#font-c, #main-header .voice-browser a, #search-nav h1, #search-nav button[type="button"], #search-nav .keyword input[type="text"], #search-nav .keyword button[type="submit"], #news-archive article .time, #news-article .time, #event-article .time, #page-contact #contact-form input[type="text"], #page-contact #contact-form textarea, .font-c {
  font-size: 93.75%;
  line-height: 1.57;
  letter-spacing: 0.01em;
}

#font-d, .post-body h2, #button-1, #news-article-container .article-paging-nav p a, #event-searchui button, #page-contact #contact-form button[type="submit"], #top #top-news .to-archive a, #top #top-event .to-archive-container .todays a, #top #top-event .to-archive-container .to-archive a, #top #top-gallery .to-archive a, #button-2, #event-article-container .article-paging-nav p a, #main-header nav a, #sub-nav a, #main-footer .link-1, #news-categories h1, #event-archive .result-count, #event-archive article h1, #event-searchui .date input, #event-searchui .keyword input, #page-gallery .video-archive figure figcaption, #page-gallery .picture-archive figure figcaption, #page-access .sub-section dt, #page-contact #contact-form label, #page-download figure figcaption, #page-link figure figcaption, #top #top-gallery .video-archive article h1, .font-d {
  font-size: 100%;
  line-height: 1.57;
  letter-spacing: 0.1em;
}

#font-e, #page-gallery .video-archive > h1, #page-gallery .picture-archive > h1, #page-about .main-section > h1, #page-logo section > h1, #page-download h1, #page-sitepolicy h1, #page-privacypolicy h1, .font-e {
  font-size: 125%;
  line-height: 1.57;
  letter-spacing: 0.1em;
}

#font-f, #page-access .main-section > h1, #top #countdown p .small, .font-f {
  font-size: 137.5%;
  line-height: 1.57;
  letter-spacing: 0.1em;
}

#font-g, .post-body h1, #news-article .main-heading, #event-article .main-heading, #event-article .body > h1, #event-article .map > h1, #event-article .information > h1, #page-access .sub-section > h1, #top #top-meta .link p a, #top #top-sponsor .text p, .font-g {
  font-size: 112.5%;
  line-height: 1.57;
  letter-spacing: 0.1em;
}

#font-h, .topicpath, #search-nav .category a, #event-archive article .time, #event-archive article .place, #event-searchui .area label, #event-searchui .category label, #top #top-gallery .video-archive article p, .font-h {
  font-size: 87.5%;
  line-height: 1.57;
  letter-spacing: 0.05em;
}

#font-i, #event-archive article .category li, #event-searchui .date span, #event-searchui .area label > span, .font-i {
  font-size: 81.25%;
  line-height: 1.57;
  letter-spacing: 0;
}

#font-j, #page-about .lead h1, #page-about .section-1 p, #page-about .section-2 .text-1, #page-about .section-3 section h1, #top #top-news > h1 span:first-child, #top #top-event > h1 span:first-child, #top #top-gallery > h1 span:first-child, #top #top-sponsor > h1 span:first-child, .font-j {
  font-size: 150%;
  line-height: 1.57;
  letter-spacing: 0.1em;
}

a[href] {
  color: #00f;
  text-decoration: none;
}
a[href]:hover {
  text-decoration: underline;
}

html {
  background-color: white;
}

body {
  -moz-transition: font-size 500ms ease;
  -o-transition: font-size 500ms ease;
  -webkit-transition: font-size 500ms ease;
  transition: font-size 500ms ease;
  min-width: 1000px;
  margin: 0;
  background-color: white;
  overflow-y: scroll;
  color: #333;
}

.topicpath {
  position: relative;
  z-index: 2;
  width: 900px;
  margin: 30px auto 0;
  letter-spacing: 0.05em;
}
.topicpath a {
  color: #333;
}

.page-heading {
  position: relative;
  width: 900px;
  height: 110px;
  margin: -4px auto 0;
  background: center top no-repeat;
  background-size: 900px 110px;
  font-size: 150%;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
.page-heading span {
  position: absolute;
  top: 53px;
  left: 0;
  width: 442px;
  display: block;
  margin-top: -0.6em;
  text-align: right;
}
.page-heading br {
  display: none;
}
.page-heading br + span {
  left: auto;
  top: 55px;
  right: 0;
  width: 406px;
  text-align: left;
}
.page-heading.news {
  background-image: url(/i/news-heading-background.png);
}
.page-heading.event {
  background-image: url(/i/event-heading-background.png);
}
.page-heading.gallery {
  background-image: url(/i/gallery-heading-background.png);
}
.page-heading.gallery span {
  width: 507px;
}
.page-heading.gallery br + span {
  width: 338px;
}
.page-heading.access {
  background-image: url(/i/access-heading-background.png);
}
.page-heading.access span {
  width: 428px;
}
.page-heading.access br + span {
  width: 416px;
}
.page-heading.about {
  background-image: url(/i/about-heading-background.png);
}
.page-heading.about span {
  width: 476px;
}
.page-heading.about br + span {
  width: 370px;
}
.page-heading.contact {
  background-image: url(/i/contact-heading-background.png);
}
.page-heading.contact span {
  width: 450px;
}
.page-heading.contact br + span {
  width: 396px;
}
.page-heading.logo {
  background-image: url(/i/logo-heading-background.png);
}
.page-heading.logo span {
  width: 495px;
}
.page-heading.logo br + span {
  width: 350px;
}
.page-heading.download {
  background-image: url(/i/download-heading-background.png);
}
.page-heading.download span {
  width: 517px;
}
.page-heading.download br + span {
  width: 329px;
}
.page-heading.sitemap {
  background-image: url(/i/sitemap-heading-background.png);
}
.page-heading.sitemap span {
  width: 444px;
}
.page-heading.sitemap br + span {
  width: 402px;
}
.page-heading.sitepolicy {
  background-image: url(/i/sitepolicy-heading-background.png);
}
.page-heading.sitepolicy span {
  width: 515px;
}
.page-heading.sitepolicy br + span {
  width: 331px;
}
.page-heading.privacypolicy {
  background-image: url(/i/privacypolicy-heading-background.png);
}
.page-heading.privacypolicy span {
  width: 492px;
}
.page-heading.privacypolicy br + span {
  width: 354px;
}
.page-heading.link {
  background-image: url(/i/link-heading-background.png);
}
.page-heading.link span {
  width: 435px;
}
.page-heading.link br + span {
  width: 412px;
}

.paging-nav {
  margin: 0;
  padding: 0;
  text-align: center;
}
.paging-nav li {
  display: inline-block;
  vertical-align: top;
  list-style: none;
  margin: 3px;
}
.paging-nav a {
  -moz-transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease;
  -o-transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease;
  -webkit-transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease;
  transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease;
  box-sizing: border-box;
  display: block;
  overflow: hidden;
  padding: 6px 11px 7px;
  border: 1px solid #333;
  border-radius: 3px;
  color: #333;
}
.paging-nav a:hover, .paging-nav a.active {
  color: white;
  text-decoration: none;
  background-color: #0090e9;
  border-color: #0090e9;
}

.post-body h1 {
  margin: 0 0 18px;
  background-color: #e6e6e6;
  padding: 3px 10px 5px;
}
.post-body p + h1 {
  margin-top: 29px;
}
.post-body h2 {
  margin: 0 0 15px;
  border: 1px solid #999;
  padding: 4px 10px 6px;
}
.post-body p + h2 {
  margin-top: 29px;
}
.post-body p {
  margin: 0 10px;
}
.post-body strong {
  font-weight: 500;
}
.post-body img {
  display: block;
  margin: 0 auto;
}
.post-body img + img {
  margin-top: 20px;
}
.post-body a {
  color: #00f;
  text-decoration: none;
}
.post-body a:hover {
  text-decoration: underline;
}
.post-body .alignleft {
  float: left;
}
.post-body .alignright {
  float: right;
}

#button-1, #news-article-container .article-paging-nav p a, #event-searchui button, #page-contact #contact-form button[type="submit"], #top #top-news .to-archive a, #top #top-event .to-archive-container .todays a, #top #top-event .to-archive-container .to-archive a, #top #top-gallery .to-archive a {
  -moz-transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease;
  -o-transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease;
  -webkit-transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease;
  transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease;
  display: inline-block;
  vertical-align: top;
  box-sizing: border-box;
  padding: 11px 18px 13px;
  border: 2px solid #333;
  border-radius: 7px;
  color: #333;
  background-color: white;
  cursor: pointer;
}
#button-1 span, #news-article-container .article-paging-nav p a span, #event-searchui button span, #page-contact #contact-form button[type="submit"] span, #top #top-news .to-archive a span, #top #top-event .to-archive-container .todays a span, #top #top-event .to-archive-container .to-archive a span, #top #top-gallery .to-archive a span {
  font-size: 87.5%;
}
#button-1:not(.disable):hover, #news-article-container .article-paging-nav p a:not(.disable):hover, #event-searchui button:not(.disable):hover, #page-contact #contact-form button[type="submit"]:not(.disable):hover, #top #top-news .to-archive a:not(.disable):hover, #top #top-event .to-archive-container .todays a:not(.disable):hover, #top #top-event .to-archive-container .to-archive a:not(.disable):hover, #top #top-gallery .to-archive a:not(.disable):hover {
  color: white;
  text-decoration: none;
  background-color: #0090e9;
  border-color: #0090e9;
}
#button-1.disable, #news-article-container .article-paging-nav p a.disable, #event-searchui button.disable, #page-contact #contact-form button.disable[type="submit"], #top #top-news .to-archive a.disable, #top #top-event .to-archive-container .todays a.disable, #top #top-event .to-archive-container .to-archive a.disable, #top #top-gallery .to-archive a.disable {
  border-color: #999;
  color: #999;
  cursor: default;
}

#button-2, #event-article-container .article-paging-nav p a {
  -moz-transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease;
  -o-transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease;
  -webkit-transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease;
  transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease;
  display: table;
  box-sizing: border-box;
  width: 190px;
  height: 50px;
  padding: 0 0.25em 2px;
  border: 2px solid #333;
  border-radius: 7px;
  color: #333;
  line-height: 1;
  background-color: white;
  cursor: pointer;
}
#button-2 > span, #event-article-container .article-paging-nav p a > span {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}
#button-2 > span span, #event-article-container .article-paging-nav p a > span span, #button-2 > span font, #event-article-container .article-paging-nav p a > span font {
  vertical-align: baseline !important;
}
#button-2 .icon, #event-article-container .article-paging-nav p a .icon {
  font-size: 87.5%;
}
#button-2:hover, #event-article-container .article-paging-nav p a:hover {
  color: white;
  text-decoration: none;
  background-color: #0090e9;
  border-color: #0090e9;
}

#gotopagetop {
  transition: opacity 300ms ease;
  visibility: hidden;
  opacity: 0;
  position: fixed;
  right: 30px;
  bottom: 30px;
  border-radius: 50px;
  overflow: hidden;
}
#gotopagetop.active {
  visibility: visible;
  opacity: 1;
}
#gotopagetop.disactive {
  opacity: 0;
}
#gotopagetop button {
  margin: 0;
  padding: 0;
  border: 0;
  background-color: transparent;
  cursor: pointer;
}

#main-header {
  position: relative;
  width: 1000px;
  height: 190px;
  margin: 0 auto;
}
#main-header h1 {
  width: 565px;
  margin: 0;
}
#main-header h1 a {
  -moz-transition: opacity 200ms ease;
  -o-transition: opacity 200ms ease;
  -webkit-transition: opacity 200ms ease;
  transition: opacity 200ms ease;
  cursor: pointer;
  display: block;
}
#main-header h1 a:hover {
  opacity: 0.6;
}
#main-header .voice-browser {
  position: absolute;
  left: 563px;
  top: 0;
  width: 195px;
  height: 90px;
  margin: 0;
}
#main-header .voice-browser a {
  -moz-transition: color 300ms ease, opacity 300ms ease;
  -o-transition: color 300ms ease, opacity 300ms ease;
  -webkit-transition: color 300ms ease, opacity 300ms ease;
  transition: color 300ms ease, opacity 300ms ease;
  display: block;
  width: 100%;
  height: 100%;
  background: url(/i/header-2.png) 0 0 no-repeat;
  background-size: contain;
  color: #333;
  cursor: pointer;
  text-align: center;
}
#main-header .voice-browser a:hover {
  color: #0090e9;
}
#main-header .voice-browser a.activated {
  opacity: 0;
}
#main-header .voice-browser a span {
  position: relative;
  top: 24px;
  top: calc(35px - 0.785em);
  left: 13px;
  display: inline-block;
}
#main-header .voice-browser #embed-voice-player {
  position: absolute;
  left: 7px;
  top: 8px;
  display: none;
}
#main-header .font-size-button-container {
  position: absolute;
  right: 0;
  top: 10px;
  margin: 0;
  font-size: 93.75%;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
#main-header .font-size-button-container span {
  position: relative;
  top: 2px;
  display: inline-block;
  margin-right: 6px;
}
#main-header .font-size-button-container button {
  box-sizing: border-box;
  display: inline-block;
  vertical-align: middle;
  overflow: hidden;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0 0 2px;
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0;
  white-space: nowrap;
  cursor: pointer;
}
#main-header .font-size-button-container button + button {
  margin-left: 4px;
}
#main-header .font-size-button-container button[data-code="small"] {
  font-size: 13px;
}
#main-header .font-size-button-container button[data-code="large"] {
  font-size: 17px;
}
#main-header #google_translate_element {
  -moz-transition: opacity 300ms ease;
  -o-transition: opacity 300ms ease;
  -webkit-transition: opacity 300ms ease;
  transition: opacity 300ms ease;
  position: absolute;
  right: 0;
  top: 58px;
}
#main-header nav {
  height: 100px;
}
#main-header nav ul {
  height: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
}
#main-header nav li {
  position: relative;
  display: inline-block;
  vertical-align: top;
  list-style: none;
  width: 164px;
  height: 100%;
  margin-right: 1px;
}
#main-header nav li:after {
  content: '';
  position: absolute;
  right: -1px;
  top: 12px;
  display: block;
  width: 1px;
  height: 76px;
  background-color: #ccc;
}
#main-header nav li:first-child {
  margin-left: 1px;
}
#main-header nav li:first-child:before {
  content: '';
  position: absolute;
  left: -1px;
  top: 12px;
  display: block;
  width: 1px;
  height: 76px;
  background-color: #ccc;
}
#main-header nav a {
  -moz-transition: color 300ms ease;
  -o-transition: color 300ms ease;
  -webkit-transition: color 300ms ease;
  transition: color 300ms ease;
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 100%;
  padding: 61px .5em 0 .5em;
  padding-top: calc(71px - 0.625em);
  color: #333;
  line-height: 1.25;
}
#main-header nav a[href]:hover {
  color: #0090e9;
  text-decoration: none;
}
#main-header nav a[href]:hover:before {
  opacity: 0.6;
}
#main-header nav a span {
  position: relative;
  display: block;
}
#main-header nav a:before {
  -moz-transition: opacity 300ms ease;
  -o-transition: opacity 300ms ease;
  -webkit-transition: opacity 300ms ease;
  transition: opacity 300ms ease;
  position: absolute;
  left: 0;
  top: 0;
  content: '';
  width: 164px;
  height: 100px;
  background: center top no-repeat;
  background-size: 164px 100px;
  opacity: 1;
}
#main-header nav .schedule a {
  padding-top: calc(71px - 1.25em);
}
#main-header nav .top a:before {
  background-image: url(/i/nav-1.gif);
}
#main-header nav .about a:before {
  background-image: url(/i/nav-2.gif);
}
#main-header nav .event a:before {
  background-image: url(/i/nav-3.gif);
}
#main-header nav .schedule a:before {
  background-image: url(/i/nav-4.gif);
}
#main-header nav .access a:before {
  background-image: url(/i/nav-5.gif);
}
#main-header nav .guide a:before {
  background-image: url(/i/nav-6.gif);
}
#main-header nav .disable a {
  color: #999;
}
#main-header nav .disable a:before {
  opacity: 0.6;
}

#search-nav-keeper {
  position: relative;
  width: 100%;
  height: 52px;
  z-index: 7;
}

#search-nav {
  -moz-transition: top 600ms ease;
  -o-transition: top 600ms ease;
  -webkit-transition: top 600ms ease;
  transition: top 600ms ease;
  position: static;
  top: -52px;
  left: 0;
  width: 100%;
  height: 52px;
  background: url(/i/search-nav-background.png) center top repeat;
}
#search-nav.fixed {
  position: fixed;
  top: 40px;
  z-index: 7;
}
.translated-ltr #search-nav.fixed {
  top: 80px;
}
#search-nav .limit {
  width: 1000px;
  margin: 0 auto;
  padding-top: 6px;
}
#search-nav .limit:after {
  content: '';
  display: block;
  clear: both;
}
#search-nav .type {
  display: inline-block;
  vertical-align: top;
  margin-left: 6px;
}
#search-nav h1 {
  position: relative;
  display: inline-block;
  vertical-align: top;
  overflow: hidden;
  box-sizing: border-box;
  width: 150px;
  height: 40px;
  margin: 0;
  padding-left: 23px;
  line-height: 38px;
  white-space: nowrap;
  background-color: #808080;
  color: white;
  text-align: center;
}
#search-nav h1 img {
  position: absolute;
  left: 0;
  top: 0;
}
#search-nav button[type="button"] {
  -moz-transition: color 300ms ease, background-color 300ms ease;
  -o-transition: color 300ms ease, background-color 300ms ease;
  -webkit-transition: color 300ms ease, background-color 300ms ease;
  transition: color 300ms ease, background-color 300ms ease;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: top;
  width: 190px;
  height: 40px;
  margin: 0;
  padding: 0 0 2px;
  border: 2px solid #333;
  background-color: white;
  line-height: 1;
  color: #333;
}
#search-nav .type:hover button[type="button"] {
  background-color: #0090e9;
  color: white;
}
#search-nav .area {
  position: relative;
}
#search-nav .area > div {
  -moz-transition: opacity 300ms ease;
  -o-transition: opacity 300ms ease;
  -webkit-transition: opacity 300ms ease;
  transition: opacity 300ms ease;
  position: absolute;
  left: 0;
  top: 38px;
  z-index: 8;
  box-sizing: border-box;
  border: 2px solid #333;
  padding: 17px 22px;
  background-color: #e6e6e6;
}
#search-nav .area:not(:hover) > div {
  opacity: 0;
  pointer-events: none;
}
#search-nav .area:hover > div {
  opacity: 1;
}
#search-nav .category {
  position: relative;
}
#search-nav .category ul {
  -moz-transition: opacity 300ms ease;
  -o-transition: opacity 300ms ease;
  -webkit-transition: opacity 300ms ease;
  transition: opacity 300ms ease;
  position: absolute;
  left: 0;
  top: 38px;
  z-index: 8;
  box-sizing: border-box;
  min-width: 100%;
  margin: 0;
  padding: 0;
  border: 2px solid #333;
}
#search-nav .category:not(:hover) ul {
  opacity: 0;
  pointer-events: none;
}
#search-nav .category:hover ul {
  opacity: 1;
}
#search-nav .category li {
  list-style: none;
}
#search-nav .category li + li {
  border-top: 1px solid #333;
}
#search-nav .category a {
  -moz-transition: background-color 300ms ease, color 300ms ease;
  -o-transition: background-color 300ms ease, color 300ms ease;
  -webkit-transition: background-color 300ms ease, color 300ms ease;
  transition: background-color 300ms ease, color 300ms ease;
  display: block;
  padding: 5px 10px 7px 20px;
  background-color: #e6e6e6;
  color: #333;
}
#search-nav .category a:hover {
  background-color: #0090e9;
  color: white;
  text-decoration: none;
}
#search-nav .calendar {
  position: relative;
}
#search-nav .calendar:not(:hover) #search-nav-calendar {
  opacity: 0;
  pointer-events: none;
}
#search-nav .calendar:hover #search-nav-calendar {
  opacity: 1;
}
#search-nav .calendar #search-nav-calendar {
  -moz-transition: opacity 300ms ease;
  -o-transition: opacity 300ms ease;
  -webkit-transition: opacity 300ms ease;
  transition: opacity 300ms ease;
  position: absolute;
  left: 0;
  top: 38px;
}
#search-nav .calendar #search-nav-calendar .ui-widget.ui-widget-content {
  border: 2px solid #333;
}
#search-nav .calendar #search-nav-calendar a:hover {
  text-decoration: none;
}
#search-nav .keyword {
  float: right;
}
#search-nav .keyword input[type="text"] {
  display: inline-block;
  box-sizing: border-box;
  width: 180px;
  height: 40px;
  border: 2px solid #333;
  margin: 0;
  padding: 0 0 2px 10px;
  border-right: 0;
}
#search-nav .keyword button[type="submit"] {
  -moz-transition: color 300ms ease, background-color 300ms ease;
  -o-transition: color 300ms ease, background-color 300ms ease;
  -webkit-transition: color 300ms ease, background-color 300ms ease;
  transition: color 300ms ease, background-color 300ms ease;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: top;
  width: 70px;
  height: 40px;
  margin: 0;
  padding: 0 0 2px;
  border: 2px solid #333;
  background-color: #e6e6e6;
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  cursor: pointer;
}
#search-nav .keyword button[type="submit"]:hover {
  background-color: #0090e9;
  color: white;
}

.translated-ltr #search-nav .keyword button[type="submit"] {
  letter-spacing: 0;
}

#sub-nav {
  -moz-transition: top 600ms ease;
  -o-transition: top 600ms ease;
  -webkit-transition: top 600ms ease;
  transition: top 600ms ease;
  position: fixed;
  left: 0;
  top: -80px;
  z-index: 9;
  width: 100%;
  padding-top: 40px;
  background-color: white;
  height: 40px;
}
#sub-nav.active {
  top: -40px;
}
.translated-ltr #sub-nav.active {
  top: 0;
}
#sub-nav ul {
  width: 1000px;
  height: 100%;
  margin: 0 auto;
  padding: 0;
}
#sub-nav li {
  position: relative;
  list-style: none;
  display: inline-block;
  vertical-align: top;
  height: 100%;
  margin-left: 1px;
}
#sub-nav li:after {
  content: '';
  position: absolute;
  right: -1px;
  top: 10px;
  display: block;
  width: 1px;
  height: 20px;
  background-color: #ccc;
}
#sub-nav li:first-child {
  margin-left: 1px;
}
#sub-nav li:first-child:before {
  content: '';
  position: absolute;
  left: -1px;
  top: 10px;
  display: block;
  width: 1px;
  height: 20px;
  background-color: #ccc;
}
#sub-nav a {
  -moz-transition: color 300ms ease;
  -o-transition: color 300ms ease;
  -webkit-transition: color 300ms ease;
  transition: color 300ms ease;
  box-sizing: border-box;
  display: table;
  width: 100%;
  height: 100%;
  padding: 0;
  color: #333;
  line-height: 1;
  text-align: center;
}
.translated-ltr #sub-nav a {
  line-height: 0.6;
}
#sub-nav a span {
  box-sizing: border-box;
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  padding-bottom: 2px;
}
#sub-nav a[href]:hover {
  color: #0090e9;
  text-decoration: none;
}
#sub-nav .top {
  width: 114px;
}
#sub-nav .about {
  width: 179px;
}
#sub-nav .event {
  width: 163px;
}
#sub-nav .schedule {
  width: 230px;
}
#sub-nav .access {
  width: 128px;
}
#sub-nav .guide {
  width: 180px;
}
#sub-nav .disable a {
  color: #999;
}

#main-footer {
  text-align: center;
}
#main-footer .contents {
  background-color: #ffff3c;
}
#main-footer .contents .limit {
  width: 1000px;
  margin: 0 auto;
  padding-top: 50px;
  padding-bottom: 15px;
}
#main-footer .link-1 {
  margin: 0;
  padding: 0;
  text-align: left;
}
#main-footer .link-1 li {
  list-style: none;
  display: inline-block;
  vertical-align: top;
  margin-right: 26px;
}
#main-footer .link-1 li:last-child {
  margin-right: 0;
}
#main-footer .link-1 a {
  color: #333;
}
#main-footer .link-1 a[data-href] {
  color: #999;
}
#main-footer .container {
  position: relative;
  margin-top: 16px;
  border-top: 1px solid #999;
  border-bottom: 1px solid #999;
  padding-top: 10px;
  padding-bottom: 17px;
  margin-bottom: 15px;
}
#main-footer .link-2 {
  margin: 0;
  padding: 0 200px 0 0;
  text-align: left;
  letter-spacing: 0.05em;
}
#main-footer .link-2 li {
  list-style: none;
  display: inline-block;
  vertical-align: top;
  margin-top: 4px;
  margin-right: 39px;
}
#main-footer .link-2 li:last-child {
  margin-right: 0;
}
#main-footer .link-2 a {
  color: #333;
}
#main-footer .sns {
  position: absolute;
  right: 0;
  top: 26px;
}
#main-footer .sns p {
  display: inline-block;
  vertical-align: top;
  margin: 0 10px 0 0;
}
#main-footer .sns a {
  display: block;
  width: 36px;
}
#main-footer .sns .white a {
  background-color: white;
}
#main-footer .sns .white a:hover img {
  opacity: 0.6;
}
#main-footer address {
  display: block;
  font-style: normal;
}
#main-footer address img {
  margin-right: 14px;
  margin-top: 8px;
}
#main-footer address span {
  display: inline-block;
  padding: 10px 0 9px;
}

#page-news {
  width: 900px;
  margin: 30px auto 0;
  padding-bottom: 76px;
}
#page-news:after {
  content: '';
  display: block;
  clear: both;
}
.topicpath + #page-news {
  margin-top: 44px;
}

#news-archive {
  float: right;
  width: 680px;
}
#news-archive article {
  border-bottom: 1px solid #999;
}
#news-archive article > a {
  -moz-transition: background-color 300ms ease, color 300ms ease;
  -o-transition: background-color 300ms ease, color 300ms ease;
  -webkit-transition: background-color 300ms ease, color 300ms ease;
  transition: background-color 300ms ease, color 300ms ease;
  display: block;
  background-color: white;
  color: #333;
}
#news-archive article > a:hover {
  background-color: #0090e9;
  color: white;
  text-decoration: none;
}
#news-archive article .time {
  box-sizing: border-box;
  display: inline-block;
  vertical-align: top;
  width: 155px;
  margin: 0;
  padding: 19px 0.5em 21px 10px;
}
#news-archive article .category {
  display: inline-block;
  vertical-align: top;
  width: 135px;
  margin: 0;
  padding-top: 19px;
  padding-bottom: 21px;
  letter-spacing: 0.05em;
  line-height: 1.57;
}
#news-archive article .category span {
  display: inline-block;
  vertical-align: top;
  width: 100%;
  text-align: center;
  background-color: #ffff3c;
  color: #333;
}
#news-archive article h1 {
  box-sizing: border-box;
  display: inline-block;
  vertical-align: top;
  width: 390px;
  margin: 0;
  padding: 19px 10px 21px 15px;
  line-height: 1.57;
}
#news-archive .paging-nav {
  margin-top: 37px;
}

#news-article-container {
  float: right;
  width: 680px;
  padding-bottom: 62px;
}
#news-article-container .article-paging-nav {
  padding-top: 40px;
}
#news-article-container .article-paging-nav:after {
  content: '';
  display: block;
  clear: both;
}
#news-article-container .article-paging-nav p {
  display: inline-block;
  vertical-align: top;
  margin: 0;
}
#news-article-container .article-paging-nav .prev {
  float: left;
  width: 316px;
  text-align: right;
}
#news-article-container .article-paging-nav .next {
  float: right;
  width: 316px;
  text-align: left;
}
#news-article-container .article-paging-nav .no-prev, #news-article-container .article-paging-nav .no-next {
  display: inline-block;
  vertical-align: top;
}

#news-article .main-heading {
  margin: 0;
  padding: 6px 10px 8px;
  border-top: 2px solid #0090e9;
  border-bottom: 2px solid #0090e9;
  color: #0090e9;
}
#news-article .time {
  margin: 0 10px;
  padding: 11px 0 24px;
}
#news-article .post-body {
  padding-bottom: 40px;
  border-bottom: 1px solid #999;
}

#news-categories {
  float: left;
  width: 180px;
  text-align: center;
}
#news-categories ul {
  margin: 0;
  padding: 0;
  border: 1px solid #999;
  border-bottom: 0;
}
#news-categories li {
  list-style: none;
  border-bottom: 1px solid #999;
}
#news-categories a {
  -moz-transition: background-color 300ms ease;
  -o-transition: background-color 300ms ease;
  -webkit-transition: background-color 300ms ease;
  transition: background-color 300ms ease;
  display: block;
  padding: 9px 10px 11px;
  color: #333;
}
#news-categories a.active, #news-categories a:hover {
  background-color: #ffff3c;
  text-decoration: none;
}
#news-categories h1 {
  margin: 0 0 12px;
  padding: 1px 0 2px;
  color: white;
  background-color: #808080;
}
#news-categories ul + h1 {
  margin-top: 40px;
}

#page-event {
  width: 900px;
  margin: 30px auto 0;
  padding-bottom: 116px;
}
#page-event:after {
  content: '';
  display: block;
  clear: both;
}
.topicpath + #page-event {
  margin-top: 44px;
}

#event-archive {
  float: right;
  width: 630px;
}
#event-archive .archive-contents {
  background: url(/i/event-archive-background.png) center top;
}
#event-archive .result-count {
  margin: 0 0 0 14px;
  padding-top: 15px;
}
#event-archive .list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  margin-top: -13px;
  padding-bottom: 40px;
}
#event-archive article {
  -webkit-flex: 0 1 294px;
  flex: 0 1 294px;
  -webkit-align-self: stretch;
  align-self: stretch;
  display: -webkit-flex;
  display: flex;
  width: 294px;
  margin: 30px 0 0 14px;
  background: white;
}
#event-archive article a {
  display: block;
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #999;
  color: #333;
  overflow: hidden;
}
#event-archive article a:hover {
  text-decoration: none;
}
#event-archive article a:hover .image {
  transform: scale(1.4);
}
#event-archive article a:hover h1 {
  color: #0090e9;
}
#event-archive article .height-keeper {
  padding-bottom: 10px;
}
#event-archive article .image-clip {
  width: 100%;
  height: 196px;
  overflow: hidden;
}
#event-archive article .image {
  -moz-transition: -moz-transform 300ms ease;
  -o-transition: -o-transform 300ms ease;
  -webkit-transition: -webkit-transform 300ms ease;
  transition: transform 300ms ease;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: center center no-repeat;
  background-size: cover;
}
#event-archive article .image img {
  width: 100%;
  opacity: 0;
}
#event-archive article h1 {
  -moz-transition: color 300ms ease;
  -o-transition: color 300ms ease;
  -webkit-transition: color 300ms ease;
  transition: color 300ms ease;
  margin: 0 10px 13px;
  padding: 7px 2px 6px;
  border-bottom: 1px solid #999;
  font-weight: 700;
}
#event-archive article .time {
  margin: 0 10px;
}
#event-archive article .place {
  margin: 0 10px;
}
#event-archive article .place img {
  display: inline-block;
  vertical-align: top;
  position: relative;
  top: -6px;
  margin-top: 0.785em;
  margin-right: 7px;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: 0;
}
#event-archive article .time + .place {
  margin-top: 4px;
}
#event-archive article .category {
  margin: 11px 10px 0;
  padding: 0;
  font-size: 100%;
  line-height: 1;
}
#event-archive article .category li {
  list-style: none;
  display: inline-block;
  vertical-align: top;
  margin: 5px 5px 0 0;
  padding: 1px 10px 2px;
  border: 1px solid #999;
  font-weight: 500;
  line-height: 1.1;
}
#event-archive .paging-nav {
  padding-top: 37px;
}
#event-archive .notfound {
  margin: 9px 14px 0;
  padding-bottom: 40px;
}

#event-searchui {
  float: left;
  width: 250px;
  padding-bottom: 27px;
  background-color: #ffff3c;
}
#event-searchui form > h1 {
  margin: 0;
  padding: 7px 0 9px;
  font-size: 18px;
  line-height: 1.75;
  letter-spacing: 0.1em;
  color: white;
  text-align: center;
  background-color: #808080;
}
#event-searchui .date > h1, #event-searchui .area > h1, #event-searchui .category > h1, #event-searchui .keyword > h1 {
  margin: 5px 0 0;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.1em;
  color: #0090e9;
  text-align: center;
}
#event-searchui .date > div, #event-searchui .area > div, #event-searchui .category > div, #event-searchui .keyword > div {
  margin: 0 10px;
  padding: 0;
  padding-right: 0;
  background-color: white;
}
#event-searchui .date ul, #event-searchui .area ul, #event-searchui .category ul, #event-searchui .keyword ul {
  margin: 0;
  padding: 0;
}
#event-searchui .date li, #event-searchui .area li, #event-searchui .category li, #event-searchui .keyword li {
  list-style: none;
}
#event-searchui .date > div {
  padding: 10px;
}
#event-searchui .date p {
  margin: 0;
}
#event-searchui .date p + p {
  margin-top: 10px;
}
#event-searchui .date input {
  box-sizing: border-box;
  vertical-align: middle;
  width: 175px;
  height: 40px;
  border: 1px solid #999;
  padding-left: 10px;
  margin-right: 3px;
  letter-spacing: 0;
  color: inherit;
}
#event-searchui .area > div {
  padding-bottom: 7px;
}
#event-searchui .area ul {
  padding-top: 5px;
}
#event-searchui .area label {
  position: relative;
  display: block;
  padding: 7px 0 7px 30px;
  cursor: pointer;
}
#event-searchui .area label input {
  position: absolute;
  left: 10px;
  top: 12px;
  margin: 0;
  padding: 0;
}
#event-searchui .area label > span {
  font-size: 92.857%;
}
#event-searchui .area label > span > span {
  display: inline-block;
}
#event-searchui .category > div {
  padding-top: 8px;
  padding-bottom: 10px;
}
#event-searchui .category label {
  display: block;
  padding: 4px 0 4px 10px;
  cursor: pointer;
}
#event-searchui .category label input {
  position: relative;
  top: -2px;
  vertical-align: middle;
  margin: 0 7px 0 0;
  padding: 0;
}
#event-searchui .keyword > div {
  padding: 10px;
}
#event-searchui .keyword input {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 40px;
  border: 1px solid #999;
  padding-left: 10px;
  letter-spacing: 0;
  color: inherit;
}
#event-searchui button {
  display: block;
  width: 230px;
  margin: 0 auto;
  padding-top: 4px;
  padding-bottom: 6px;
}
#event-searchui button[type="submit"] {
  margin-top: 44px;
  margin-bottom: 20px;
}

#event-article-container {
  float: right;
  width: 608px;
}
#event-article-container .article-paging-nav {
  position: relative;
  width: 608px;
  height: 50px;
  margin-top: 40px;
  margin-left: -14px;
}
#event-article-container .article-paging-nav p {
  display: inline-block;
  vertical-align: top;
  margin: 0;
}
#event-article-container .article-paging-nav .prev {
  position: absolute;
  left: 0;
  top: 0;
}
#event-article-container .article-paging-nav .result {
  position: absolute;
  left: 200px;
  top: 0;
}
#event-article-container .article-paging-nav .next {
  position: absolute;
  left: 400px;
  top: 0;
}

#event-article {
  padding-bottom: 42px;
  border-bottom: 1px solid #999;
}
#event-article .main-heading {
  margin: 0;
  padding: 6px 10px 8px;
  border-top: 2px solid #0090e9;
  border-bottom: 2px solid #0090e9;
  color: #0090e9;
}
#event-article .meta:after {
  content: '';
  display: block;
  clear: both;
}
#event-article .time {
  float: left;
  margin: 0 10px;
  padding: 16px 0 20px;
}
#event-article .sns {
  float: right;
  padding-top: 20px;
  font-size: 10px;
  line-height: 1;
}
#event-article .sns > div, #event-article .sns > iframe {
  display: inline-block;
  vertical-align: top;
}
#event-article .sns > div {
  margin-left: 15px;
  margin-right: 10px;
}
#event-article .eyecatch {
  float: left;
  margin-left: 10px;
}
#event-article .top-table {
  float: left;
  width: 376px;
  border-collapse: collapse;
  border-spacing: 0;
  margin-left: 10px;
}
#event-article .top-table th, #event-article .top-table td {
  box-sizing: border-box;
  padding: 5px 10px 9px;
  border: 1px solid #999;
  text-align: left;
  line-height: 1.57;
}
#event-article .top-table th {
  width: 90px;
  min-width: 90px;
  max-width: 90px;
  width: calc(4.4em + 20px);
  min-width: calc(4.4em + 20px);
  max-width: calc(4.4em + 20px);
  padding-right: 0;
}
#event-article .top-table td {
  width: 100%;
}
#event-article .eyecatch + .top-table {
  margin-left: 13px;
}
#event-article .body {
  clear: both;
  padding-top: 50px;
}
#event-article .body > h1, #event-article .map > h1, #event-article .information > h1 {
  margin: 0;
  padding: 6px 10px 8px;
  background-color: #ffff3c;
}
#event-article .body > h1 {
  margin-bottom: 34px;
}
#event-article .map {
  margin-top: 40px;
}
#event-article .map > div, #event-article .map iframe {
  width: 588px;
  height: 310px;
}
#event-article .map > div {
  -moz-transition: opacity 300ms ease;
  -o-transition: opacity 300ms ease;
  -webkit-transition: opacity 300ms ease;
  transition: opacity 300ms ease;
  margin: 22px auto 0;
  opacity: 1;
}
#event-article .map > div.disable {
  opacity: 0;
}
#event-article .map iframe {
  border: 0;
}
#event-article .information {
  margin-top: 40px;
}
#event-article .information > h1 {
  margin-bottom: 20px;
}
#event-article .information table {
  border-collapse: collapse;
  border-spacing: 0;
  width: calc(100% - 20px);
  margin-left: 10px;
  margin-right: 10px;
}
#event-article .information table th, #event-article .information table td {
  box-sizing: border-box;
  padding: 5px 10px 9px;
  border: 1px solid #999;
  text-align: left;
  line-height: 1.57;
}
#event-article .information table th {
  width: 178px;
  min-width: 178px;
  max-width: 178px;
  width: calc(9.9em + 20px);
  min-width: calc(9.9em + 20px);
  max-width: calc(9.9em + 20px);
  padding-right: 0;
  background-color: #e6e6e6;
}
#event-article .information table td {
  width: 100%;
}

#page-gallery {
  width: 900px;
  margin: 0 auto;
  padding-bottom: 117px;
}
#page-gallery .video-archive > h1, #page-gallery .picture-archive > h1 {
  margin: 0;
  padding-top: 2px;
  padding-bottom: 6px;
  background-color: #ffff3c;
  text-align: center;
}
#page-gallery .video-archive figure, #page-gallery .picture-archive figure {
  display: inline-block;
  vertical-align: top;
  width: 280px;
  margin: 30px 30px 0 0;
}
#page-gallery .video-archive figure:nth-child(3n + 1), #page-gallery .picture-archive figure:nth-child(3n + 1) {
  margin-right: 0;
}
#page-gallery .video-archive figure a, #page-gallery .picture-archive figure a {
  -moz-transition: height 500ms ease;
  -o-transition: height 500ms ease;
  -webkit-transition: height 500ms ease;
  transition: height 500ms ease;
  display: inline-block;
  vertical-align: top;
  overflow: hidden;
}
#page-gallery .video-archive figure .image, #page-gallery .picture-archive figure .image {
  -moz-transition: opacity 300ms ease;
  -o-transition: opacity 300ms ease;
  -webkit-transition: opacity 300ms ease;
  transition: opacity 300ms ease;
  position: relative;
  width: 280px;
  height: 156px;
  background: center center no-repeat;
  background-size: cover;
  overflow: hidden;
}
#page-gallery .video-archive figure .image img, #page-gallery .picture-archive figure .image img {
  width: 100%;
  opacity: 0;
}
#page-gallery .video-archive figure figcaption, #page-gallery .picture-archive figure figcaption {
  -moz-transition: color 300ms ease;
  -o-transition: color 300ms ease;
  -webkit-transition: color 300ms ease;
  transition: color 300ms ease;
  color: #333;
  padding: 9px 10px;
}
#page-gallery .video-archive figure a:hover, #page-gallery .picture-archive figure a:hover {
  text-decoration: none;
}
#page-gallery .video-archive figure a:hover .image, #page-gallery .picture-archive figure a:hover .image {
  opacity: 0.6;
}
#page-gallery .video-archive figure a:hover figcaption, #page-gallery .picture-archive figure a:hover figcaption {
  color: #0090e9;
}
#page-gallery .video-archive {
  margin-top: 18px;
}
#page-gallery .video-archive figure .image:before {
  content: '';
  position: absolute;
  left: 140px;
  top: 79px;
  display: inline-block;
  vertical-align: top;
  width: 62px;
  height: 44px;
  margin-left: -31px;
  margin-top: -22px;
  background: url(/i/gallery-video-overlay.png) center center no-repeat;
  background-size: 62px 44px;
}
#page-gallery .picture-archive {
  margin-top: 60px;
}
#page-gallery .picture-archive figure .image {
  width: 280px;
  height: 280px;
  background-color: #e6e6e6;
  background-size: contain;
}

#page-access {
  width: 900px;
  margin: 0 auto;
  padding-bottom: 117px;
}
#page-access:after {
  content: '';
  display: block;
  clear: both;
}
#page-access .updated {
  margin: 0;
  padding: 16px 0 14px;
  font-size: 87.5%;
  line-height: 1.57;
  letter-spacing: 0.1em;
}
#page-access .map-2 {
  margin-top: 31px;
}
#page-access .main-section {
  margin-top: 20px;
  padding-bottom: 22px;
  background-color: #ffff3c;
}
#page-access .main-section:after {
  content: '';
  display: block;
  clear: both;
}
#page-access .main-section.first {
  margin-top: 30px;
}
#page-access .main-section.half {
  width: 440px;
}
#page-access .main-section.half.left {
  float: left;
  margin-bottom: 20px;
}
#page-access .main-section.half.right {
  float: right;
  margin-bottom: 20px;
}
#page-access .main-section.minh {
  min-height: 459px;
}
#page-access .main-section.clear {
  clear: both;
}
#page-access .main-section.clear .sub-section {
  margin-top: 28px;
}
#page-access .main-section > h1 {
  margin: 0;
  padding: 10px 0 0 10px;
  color: #0090e9;
}
#page-access .main-section > h1 img {
  margin-right: 13px;
  vertical-align: middle;
}
#page-access .main-section > h1 span {
  display: inline-block;
  vertical-align: middle;
}
#page-access .sub-section > h1 {
  margin: 16px 10px 11px;
  color: #0090e9;
}
#page-access .sub-section.left, #page-access .sub-section.right {
  float: left;
}
#page-access .sub-section.right {
  margin-left: 10px;
}
#page-access .sub-section.left dl {
  width: 430px;
}
#page-access .sub-section dl {
  display: table;
  width: 420px;
  margin: 0 10px;
}
#page-access .sub-section dl + dl {
  margin-top: 10px;
}
#page-access .sub-section dl.full {
  clear: both;
  width: 880px;
}
#page-access .sub-section dl.left {
  float: left;
  margin-bottom: 10px;
}
#page-access .sub-section dl.right {
  float: right;
  margin-top: 0;
  margin-bottom: 10px;
}
#page-access .sub-section dl.large {
  width: 450px;
  margin-right: 0;
}
#page-access .sub-section dt {
  display: table-cell;
  width: 110px;
  min-width: 110px;
  max-width: 110px;
  padding-top: 4px;
  padding-bottom: 6px;
  background-color: #e6e6e6;
  text-align: center;
  vertical-align: middle;
}
#page-access .sub-section dd {
  box-sizing: border-box;
  display: table-cell;
  width: 100%;
  margin-left: 0;
  padding-left: 10px;
  padding-top: 4px;
  padding-bottom: 6px;
  line-height: 1.57;
  text-align: left;
  vertical-align: middle;
  background-color: white;
}
#page-access .large-heading .sub-section dt {
  width: 130px;
  min-width: 130px;
  max-width: 130px;
}

#page-about {
  padding-bottom: 130px;
}
#page-about .lead {
  width: 100%;
  margin-top: 39px;
  background: url(/i/about-lead-background-1.png) center 13px no-repeat;
}
#page-about .lead h1 {
  margin: 0;
  text-align: center;
}
#page-about .lead p {
  width: 732px;
  margin: 0 auto;
  padding-top: 21px;
  text-align: center;
}
#page-about .lead section + section h1 {
  margin-top: 58px;
}
#page-about .lead:after {
  content: '';
  display: block;
  width: 100%;
  height: 387px;
  margin-top: 46px;
  background: url(/i/about-lead-background-2.png) center top no-repeat;
}
#page-about .main-section > h1 {
  width: 900px;
  margin: 0 auto;
  padding-top: 2px;
  padding-bottom: 7px;
  text-align: center;
  background-color: #ffff3c;
}
#page-about .section-1 {
  margin-top: 50px;
}
#page-about .section-1 p {
  margin: 26px 0 0;
  line-height: 2.16;
  text-align: center;
}
#page-about .section-2 {
  margin-top: 55px;
  padding-bottom: 60px;
}
#page-about .section-2 .text-1 {
  margin: 44px 0 0;
  line-height: 2.16;
  text-align: center;
}
#page-about .section-2 .text-1 span[data-mini] {
  position: relative;
}
#page-about .section-2 .text-1 span[data-mini]:before {
  content: attr(data-mini);
  position: absolute;
  left: 0;
  top: -13px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.translated-ltr #page-about .section-2 .text-1 span[data-mini]:before {
  content: none;
}
#page-about .section-2 .text-2 {
  width: 730px;
  margin: 16px auto 0;
  text-align: center;
}
#page-about .section-2 .text-3 {
  display: table;
  width: 700px;
  margin: 24px auto 0;
}
#page-about .section-2 .text-3 > span {
  display: table-cell;
}
#page-about .section-2 .text-3 > span:first-child {
  width: 194px;
  min-width: 194px;
  max-width: 194px;
}
#page-about .section-2 .text-3 > br {
  display: none;
}
#page-about .section-2 .text-3 > br + span {
  box-sizing: border-box;
  width: 100%;
  padding-left: 26px;
  text-align: left;
  vertical-align: middle;
}
#page-about .section-3 {
  padding-bottom: 45px;
}
#page-about .section-3 > h1 {
  margin-bottom: 44px;
}
#page-about .section-3 section {
  box-sizing: border-box;
  width: 700px;
  min-height: 260px;
  margin: 0 auto;
  padding-top: 28px;
  background: center top no-repeat;
}
#page-about .section-3 section + section {
  margin-top: 20px;
}
#page-about .section-3 section h1 {
  margin: 0 0 28px;
  text-align: center;
}
#page-about .section-3 section p {
  margin: 0;
}
#page-about .section-3 .s3s1 {
  background-image: url(/i/about-section-3-background-1.png);
}
#page-about .section-3 .s3s1 p {
  margin-left: 305px;
  margin-right: 45px;
}
#page-about .section-3 .s3s2 {
  padding-top: 22px;
  background-image: url(/i/about-section-3-background-2.png);
}
#page-about .section-3 .s3s2 h1 {
  margin-bottom: 26px;
}
#page-about .section-3 .s3s2 p {
  margin-left: 55px;
  margin-right: 295px;
}
#page-about .section-3 .s3s3 {
  height: 277px;
  background-image: url(/i/about-section-3-background-3.png);
}
#page-about .section-3 .s3s3 p {
  margin-left: 305px;
  margin-right: 45px;
}
#page-about .section-4 {
  padding-bottom: 74px;
}
#page-about .section-4 h1 {
  margin-bottom: 42px;
}
#page-about .section-4 p {
  margin: 0;
  font-size: 168.75%;
  letter-spacing: 0.1em;
  line-height: 1.57;
  text-align: center;
}
#page-about .section-5:after {
  content: '';
  display: block;
  clear: both;
}
#page-about .section-5 h1 {
  margin-bottom: 38px;
}
#page-about .section-5 p {
  width: 700px;
  margin: 0 auto;
}
#page-about .section-5 p:after {
  content: '';
  display: block;
  clear: both;
}
#page-about .section-5 p img {
  float: left;
}
#page-about .section-5 p span {
  display: block;
  float: right;
  width: 420px;
  padding-top: 27px;
}
#page-about .section-5 .images {
  width: 700px;
  margin: 0 auto;
  padding-top: 40px;
  padding-bottom: 78px;
}
#page-about .section-5 .images:after {
  content: '';
  display: block;
  clear: both;
}
#page-about .section-5 figure {
  float: left;
  margin: 0;
  text-align: center;
}
#page-about .section-5 figure:nth-of-type(1) {
  width: 165px;
  margin-right: 45px;
}
#page-about .section-5 figure:nth-of-type(2) {
  width: 344px;
  margin-right: 45px;
}
#page-about .section-5 figure:nth-of-type(3) {
  width: 100px;
}
#page-about .section-5 figure figcaption {
  margin-top: 4px;
}
#page-about .section-6 img {
  display: block;
  margin: 40px auto 0;
}
#page-about .section-6 p {
  width: 720px;
  margin: 29px auto 64px;
  text-align: center;
}
#page-about .section-7 h1 {
  margin-bottom: 37px;
}
#page-about .section-7 p {
  width: 700px;
  margin: 0 auto;
}

#page-contact {
  padding-bottom: 108px;
}
#page-contact .lead {
  width: 700px;
  margin: 7px auto 43px;
}
#page-contact .complete {
  width: 700px;
  margin: 0 auto;
  padding-top: 6px;
  text-align: center;
}
#page-contact #contact-form {
  width: 900px;
  margin: 0 auto;
}
#page-contact #contact-form label {
  box-sizing: border-box;
  display: inline-block;
  vertical-align: top;
  width: 390px;
  padding-left: 10px;
  padding-top: 6px;
  padding-bottom: 8px;
}
#page-contact #contact-form label.notmatch:after {
  content: 'メールアドレスと確認用メールアドレスが異なります。';
  display: block;
  color: red;
}
#page-contact #contact-form label.notmailaddress:after {
  content: 'メールアドレスの形式が正しくありません。';
  display: block;
  color: red;
}
#page-contact #contact-form label.label-required:after {
  content: '必須項目を入力してください。';
  display: block;
  color: red;
}
#page-contact #contact-form label .required {
  color: red;
}
#page-contact #contact-form input[type="text"] {
  box-sizing: border-box;
  display: inline-block;
  vertical-align: top;
  width: 500px;
  height: 40px;
  margin: 0;
  padding: 0 0 0 10px;
  border: 0;
  background-color: #e6e6e6;
  letter-spacing: 0.1em;
}
#page-contact #contact-form textarea {
  box-sizing: border-box;
  display: inline-block;
  vertical-align: top;
  width: 500px;
  min-height: 178px;
  margin: 0;
  padding: 5px 0 5px 10px;
  border: 0;
  background-color: #e6e6e6;
  letter-spacing: 0.1em;
  resize: vertical;
}
#page-contact #contact-form > div {
  padding-top: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #999;
}
#page-contact #contact-form button[type="submit"] {
  display: block;
  margin: 35px auto 0;
  padding: 9px 37px 11px;
}

#page-logo {
  padding-bottom: 108px;
}
#page-logo .lead {
  width: 730px;
  margin: 0 auto 46px;
  padding-top: 16px;
}
#page-logo .lead:after {
  content: '';
  display: block;
  clear: both;
}
#page-logo .lead img {
  float: left;
  margin-top: 19px;
}
#page-logo .lead p {
  float: right;
  width: 450px;
  margin: 0;
}
#page-logo section + section {
  margin-top: 54px;
}
#page-logo section > h1 {
  width: 900px;
  margin: 0 auto 23px;
  padding-top: 3px;
  padding-bottom: 6px;
  text-align: center;
  background-color: #ffff3c;
}
#page-logo section p {
  width: 700px;
  margin: 0 auto;
}
#page-logo section p + p {
  margin-top: 42px;
}

#page-download {
  padding-top: 21px;
  padding-bottom: 42px;
}
#page-download h1 {
  width: 900px;
  margin: 0 auto;
  padding: 4px 0 5px;
  text-align: center;
  background-color: #ffff3c;
}
#page-download p {
  width: 700px;
  margin: 24px auto 0;
}
#page-download .item-container {
  width: 860px;
  margin: 0 auto;
}
#page-download figure {
  display: inline-block;
  vertical-align: top;
  width: 260px;
  margin: 40px 40px 0 0;
}
#page-download figure:nth-of-type(3n+3) {
  margin-right: 0;
}
#page-download figure a {
  display: block;
  padding-bottom: 5px;
}
#page-download figure a:hover img {
  opacity: 0.6;
}
#page-download figure figcaption {
  padding-top: 13px;
}

#page-sitemap {
  width: 900px;
  margin: 0 auto;
  padding-top: 26px;
  padding-bottom: 130px;
}
#page-sitemap:after {
  content: '';
  display: block;
  clear: both;
}
#page-sitemap p {
  margin: 0;
}
#page-sitemap p + p {
  margin-top: 25px;
}
#page-sitemap > p {
  float: left;
}
#page-sitemap > p:after {
  content: '>';
  display: inline-block;
  margin: 0 25px;
}
#page-sitemap > div {
  float: left;
}
#page-sitemap a[data-href] {
  color: #999;
}

#page-sitepolicy {
  padding-top: 22px;
  padding-bottom: 22px;
}
#page-sitepolicy section + section {
  margin-top: 42px;
}
#page-sitepolicy h1 {
  width: 900px;
  margin: 0 auto 23px;
  padding: 4px 0 5px;
  text-align: center;
  background-color: #ffff3c;
}
#page-sitepolicy p {
  width: 700px;
  margin: 0 auto;
}
#page-sitepolicy p .banner {
  display: inline-block;
  vertical-align: middle;
  margin-top: 38px;
}
#page-sitepolicy p .banner + .banner {
  margin-left: 30px;
}

#page-privacypolicy {
  padding-top: 22px;
  padding-bottom: 42px;
}
#page-privacypolicy section + section {
  margin-top: 42px;
}
#page-privacypolicy p + section {
  margin-top: 42px;
}
#page-privacypolicy h1 {
  width: 900px;
  margin: 0 auto 23px;
  padding: 4px 0 5px;
  text-align: center;
  background-color: #ffff3c;
}
#page-privacypolicy p {
  width: 700px;
  margin: 0 auto;
}

#page-link {
  width: 800px;
  margin: 0 auto;
  padding-top: 22px;
  padding-bottom: 7px;
}
#page-link figure {
  display: inline-block;
  vertical-align: top;
  width: 220px;
  margin: 28px 70px 0 0;
  padding: 0;
}
#page-link figure:nth-child(3n+3) {
  margin-right: 0;
}
#page-link figure:nth-child(-n+3) {
  margin-top: 0;
}
#page-link figure a {
  display: block;
}
#page-link figure figcaption {
  padding: 4px;
}

#top #countdown {
  height: 310px;
  background: #ffff3c url(/i/top-countdown-background.png) center center no-repeat;
  color: #e40055;
}
#top #countdown p {
  position: relative;
  width: 1000px;
  margin: 0 auto;
}
#top #countdown p span {
  display: block;
  position: absolute;
}
#top #countdown p span:nth-of-type(1) {
  right: 514px;
  top: 223px;
  margin-top: -0.5em;
}
#top #countdown p span:nth-of-type(2) {
  right: 350px;
  top: 226px;
  margin-top: -0.5em;
}
#top #countdown p span:nth-of-type(3) {
  left: 653px;
  top: 236px;
  margin-top: -0.5em;
}
#top #countdown p .large {
  font-size: 375%;
  line-height: 1;
  letter-spacing: 0.1em;
}
#top #top-news {
  padding-bottom: 50px;
}
#top #top-news > h1 {
  position: relative;
  width: 900px;
  height: 162px;
  margin: 0 auto -20px;
  background: url(/i/top-news-heading-background.png) center top no-repeat;
  background-size: auto;
  font-size: inherit;
}
#top #top-news > h1 span:first-child {
  position: absolute;
  right: 457px;
  top: 88px;
  margin-top: -0.5em;
  display: inline-block;
  vertical-align: top;
  line-height: 1;
}
#top #top-news > h1 br {
  display: none;
}
#top #top-news > h1 br + span {
  position: absolute;
  left: 494px;
  top: 89px;
  margin-top: -0.5em;
  display: inline-block;
  vertical-align: top;
  font-size: 150%;
  letter-spacing: 0.1em;
  line-height: 1;
}
#top #top-news #news-archive {
  position: relative;
  z-index: 2;
  float: none;
  width: 900px;
  margin: 0 auto;
}
#top #top-news #news-archive article h1 {
  width: 610px;
}
#top #top-news .to-archive {
  margin: 40px 0 0;
  text-align: center;
}
#top #top-news .to-archive a {
  width: 280px;
}
#top #top-event {
  padding-bottom: 50px;
  background: #ffff3c url(/i/top-pickup-footer-background.png) center bottom no-repeat;
  background-size: auto;
}
#top #top-event > h1 {
  position: relative;
  width: 900px;
  height: 158px;
  margin: 0 auto;
  background: url(/i/top-pickup-heading-background.png) center top no-repeat;
  background-size: auto;
  font-size: inherit;
}
#top #top-event > h1 span:first-child {
  position: absolute;
  right: 443px;
  top: 88px;
  margin-top: -0.5em;
  display: inline-block;
  vertical-align: top;
  line-height: 1;
}
#top #top-event > h1 br {
  display: none;
}
#top #top-event > h1 br + span {
  position: absolute;
  left: 508px;
  top: 89px;
  margin-top: -0.5em;
  display: inline-block;
  vertical-align: top;
  font-size: 150%;
  letter-spacing: 0.1em;
  line-height: 1;
}
#top #top-event #event-archive {
  float: none;
  width: 918px;
  margin: 0 auto;
}
#top #top-event #event-archive .archive-contents {
  background: none;
}
#top #top-event #event-archive .list {
  margin-top: 0;
  padding-bottom: 0;
}
#top #top-event #event-archive article {
  margin-left: 9px;
}
#top #top-event #event-archive article:nth-of-type(-n+3) {
  margin-top: 0;
}
#top #top-event .to-archive-container {
  margin-top: 40px;
  text-align: center;
}
#top #top-event .to-archive-container .todays {
  display: inline-block;
  vertical-align: top;
  margin: 0;
}
#top #top-event .to-archive-container .todays a {
  width: 280px;
}
#top #top-event .to-archive-container .to-archive {
  display: inline-block;
  vertical-align: top;
  margin: 0;
}
#top #top-event .to-archive-container .to-archive a {
  width: 280px;
}
#top #top-event .to-archive-container .todays + .to-archive {
  margin-left: 20px;
}
#top #top-gallery {
  width: auto;
  height: 913px;
  padding-bottom: 0;
  background: url(/i/top-video-back.png) center top;
  background-size: auto;
}
#top #top-gallery > h1 {
  position: relative;
  width: 900px;
  height: 166px;
  margin: 0 auto;
  font-size: inherit;
}
#top #top-gallery > h1 span:first-child {
  position: absolute;
  right: 485px;
  top: 92px;
  margin-top: -0.5em;
  margin-right: -0.3em;
  display: inline-block;
  vertical-align: top;
  line-height: 1;
  letter-spacing: 0.3em;
}
#top #top-gallery > h1 br {
  display: none;
}
#top #top-gallery > h1 br + span {
  position: absolute;
  left: 468px;
  top: 93px;
  margin-top: -0.5em;
  display: inline-block;
  vertical-align: top;
  font-size: 150%;
  letter-spacing: 0.1em;
  line-height: 1;
}
#top #top-gallery .video-archive {
  width: 630px;
  margin: 0 auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
}
#top #top-gallery .video-archive article {
  display: inline-block;
  vertical-align: top;
  -webkit-flex: 0 1 280px;
  flex: 0 1 280px;
  -webkit-align-self: stretch;
  align-self: stretch;
  display: -webkit-flex;
  display: flex;
  width: 280px;
  margin: 0;
  background: white;
}
#top #top-gallery .video-archive article:nth-of-type(2n+1) {
  margin-right: 70px;
}
#top #top-gallery .video-archive article:nth-of-type(n+3) {
  margin-top: 30px;
}
#top #top-gallery .video-archive article a {
  -moz-transition: color 300ms ease;
  -o-transition: color 300ms ease;
  -webkit-transition: color 300ms ease;
  transition: color 300ms ease;
  display: block;
  color: #333;
}
#top #top-gallery .video-archive article a:hover {
  text-decoration: none;
  color: #0090e9;
}
#top #top-gallery .video-archive article .image {
  position: relative;
  width: 280px;
  height: 156px;
  background: center center no-repeat;
  background-size: cover;
  overflow: hidden;
}
#top #top-gallery .video-archive article .image img {
  width: 100%;
  opacity: 0;
}
#top #top-gallery .video-archive article .image:before {
  content: '';
  position: absolute;
  left: 140px;
  top: 79px;
  display: inline-block;
  vertical-align: top;
  width: 62px;
  height: 44px;
  margin-left: -31px;
  margin-top: -22px;
  background: url(/i/gallery-video-overlay.png) center center no-repeat;
  background-size: 62px 44px;
}
#top #top-gallery .video-archive article .text {
  height: 136px;
}
#top #top-gallery .video-archive article h1 {
  margin: 0 10px;
  padding: 9px 0 4px;
}
#top #top-gallery .video-archive article p {
  margin: 0 10px;
  padding-bottom: 10px;
}
#top #top-gallery .to-archive {
  margin: 30px 0 0;
  text-align: center;
}
#top #top-gallery .to-archive a {
  width: 280px;
}
#top #top-meta {
  height: 609px;
  background: url(/i/top-meta-background.png) center top no-repeat;
}
#top #top-meta > h1 {
  margin: 0;
  padding-top: 60px;
  font-size: 118.75%;
  letter-spacing: 0.06em;
  line-height: 1;
  text-align: center;
}
#top #top-meta .sns {
  padding: 27px 0 30px;
  text-align: center;
}
#top #top-meta .sns p {
  display: inline-block;
  vertical-align: top;
  margin: 0;
  background-color: white;
}
#top #top-meta .sns p + p {
  margin-left: 15px;
}
#top #top-meta .sns p a {
  -moz-transition: opacity 200ms ease;
  -o-transition: opacity 200ms ease;
  -webkit-transition: opacity 200ms ease;
  transition: opacity 200ms ease;
  cursor: pointer;
}
#top #top-meta .sns p a:hover {
  opacity: 0.6;
}
#top #top-meta .link {
  width: 606px;
  margin: 0 auto;
}
#top #top-meta .link p {
  display: inline-block;
  vertical-align: top;
  margin: 10px 6px;
  background-color: white;
}
#top #top-meta .link p a {
  -moz-transition: opacity 300ms ease, color 300ms ease;
  -o-transition: opacity 300ms ease, color 300ms ease;
  -webkit-transition: opacity 300ms ease, color 300ms ease;
  transition: opacity 300ms ease, color 300ms ease;
  display: block;
  box-sizing: border-box;
  width: 190px;
  height: 170px;
  background: white center center no-repeat;
  background-size: cover;
  text-align: center;
  color: #333;
}
#top #top-meta .link p a[data-href] {
  color: #999;
}
#top #top-meta .link p a span {
  display: inline-block;
  vertical-align: top;
  padding-top: calc(127px - 0.785em);
}
#top #top-meta .link p a span.double {
  padding-top: calc(123px - 1.57em);
}
#top #top-meta .link p a:hover {
  opacity: 0.6;
  color: #0090e9;
}
#top #top-sponsor > h1 {
  position: relative;
  width: 900px;
  height: 162px;
  margin: 0 auto;
  background: url(/i/top-sponsor-heading-background.png) center top no-repeat;
  background-size: auto;
  font-size: inherit;
}
#top #top-sponsor > h1 span:first-child {
  position: absolute;
  right: 530px;
  top: 84px;
  margin-top: -0.5em;
  margin-right: -0.3em;
  display: inline-block;
  vertical-align: top;
  line-height: 1;
  letter-spacing: 0.3em;
}
#top #top-sponsor > h1 br {
  display: none;
}
#top #top-sponsor > h1 br + span {
  position: absolute;
  left: 424px;
  top: 85px;
  margin-top: -0.5em;
  display: inline-block;
  vertical-align: top;
  font-size: 150%;
  letter-spacing: 0.1em;
  line-height: 1;
}
#top #top-sponsor .image {
  width: 900px;
  margin: 0 auto;
}
#top #top-sponsor .image p {
  display: inline-block;
  vertical-align: top;
  margin: 0 8px 20px 0;
}
#top #top-sponsor .image p:nth-of-type(4n+4) {
  margin-right: 0;
}
#top #top-sponsor .image a {
  -moz-transition: opacity 200ms ease;
  -o-transition: opacity 200ms ease;
  -webkit-transition: opacity 200ms ease;
  transition: opacity 200ms ease;
  cursor: pointer;
}
#top #top-sponsor .image a:hover {
  opacity: 0.6;
}
#top #top-sponsor .text {
  width: 900px;
  margin: 20px auto 0;
  border-top: 1px solid #999;
  padding-top: 11px;
  padding-bottom: 30px;
  text-align: center;
}
#top #top-sponsor .text p {
  display: inline-block;
  vertical-align: baseline;
  margin: 16px 0 0;
}
#top #top-sponsor .text p + p:before {
  content: '／';
  display: inline-block;
  margin: 0 8px;
}

#top-slideshow {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 520px;
}
#top-slideshow .screen {
  position: relative;
  width: 100%;
  height: 100%;
}
#top-slideshow .screen .image {
  -moz-transition: opacity 1s ease;
  -o-transition: opacity 1s ease;
  -webkit-transition: opacity 1s ease;
  transition: opacity 1s ease;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background: center center no-repeat;
  background-size: cover;
  overflow: hidden;
  opacity: 0;
}
#top-slideshow .screen .image.active {
  opacity: 1;
  z-index: 2;
}
#top-slideshow .screen .image.activate {
  opacity: 1;
  z-index: 3;
}
#top-slideshow .screen .image img {
  width: 100%;
  opacity: 0;
}
#top-slideshow .indicator {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 50px;
  z-index: 3;
  height: 0;
  text-align: center;
}
#top-slideshow .indicator div {
  -moz-transition: background-color 300ms ease;
  -o-transition: background-color 300ms ease;
  -webkit-transition: background-color 300ms ease;
  transition: background-color 300ms ease;
  display: inline-block;
  vertical-align: top;
  width: 13px;
  height: 13px;
  margin: 9px;
  border-radius: 13px;
  border: 1px solid #333;
  background-color: white;
  cursor: pointer;
}
#top-slideshow .indicator div.active, #top-slideshow .indicator div:hover {
  background-color: #ffff3c;
}
