.text_indent_none {
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap
}

a, abbr, acronym, address, applet, b, big, blockquote, body, center, cite, code, dd, del, dfn, div, dl, dt, em, fieldset, font, form, h1, h2, h3, h4, h5, h6, html, i, iframe, img, ins, kbd, label, legend, li, object, ol, p, pre, q, s, samp, small, span, strike, strong, sub, tt, u, ul, var {
  background: none repeat scroll 0 0;
  border: 0;
  margin: 0;
  outline: 0 none;
  padding: 0;
  vertical-align: baseline
}

body {
  background-color: #fff;
  color: #000;
  font-size: 16px;
  line-height: 1.5;
  overflow-wrap: break-word;
  position: relative
}

* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0)!important;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

main {
  display: block
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1.2
}

caption, table, tbody, td, tfoot, th, thead {
  margin: 0;
  outline: 0 none;
  padding: 0
}

td, th {
  background: none repeat scroll 0 0;
  vertical-align: top
}

div, p, span {
  line-height: inherit
}

a {
  color: inherit;
  text-decoration: none
}

a img {
  border: none;
  outline: 0!important
}

a:hover {
  color: inherit;
  opacity: .7;
  text-decoration: none;
  -webkit-transition: all .3s;
  transition: all .3s
}

button:focus {
  outline: 0!important
}

a:focus, button:active, div:focus, img:focus, p:focus {
  outline: none
}

ol, ul {
  list-style: none outside none
}

fieldset, img {
  vertical-align: bottom
}

blockquote, q {
  quotes: none
}

blockquote:after, blockquote:before, q:after, q:before {
  content: none
}

ins {
  text-decoration: none
}

del {
  text-decoration: line-through
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

br {
  letter-spacing: 0
}

hr {
  border: 0;
  height: 0;
  visibility: hidden
}

input, select, textarea {
  font-size: 99%
}

code, pre {
  font: 100% monospace
}

input[type=submit], input[type=text], textarea {
  -webkit-appearance: none
}

img {
  height: auto;
  max-width: 100%
}

@media only screen and (max-width:960px) {
  .pc, .pc-content {
    display: none
  }
}

.sp, .sp-content {
  display: none
}

@media only screen and (max-width:960px) {
  .sp, .sp-content {
    display: block
  }
}

@media only screen and (max-width:960px) {
  .sp_op_0 {
    opacity: 0
  }
  #responsive_flg {
    display: none
  }
}

.clearfix:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  line-height: 0;
  visibility: hidden
}

.clearfix {
  *zoom: 1
}

body {
  font-family: 游ゴシック体, Yu Gothic, YuGothic, Helvetica Neue, Helvetica, Arial, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic ProN, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, ＭＳ Ｐゴシック, MS PGothic, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: none;
  text-size-adjust: 100%
}

.font-yu_mincho {
  font-family: YuMincho, Yu Mincho, 游明朝体, 游明朝, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, ＭＳ ゴシック, MS Gothic, メイリオ, Meiryo, serif
}

.font-opensans {
  font-family: Open Sans, sans-serif
}

.bold {
  font-weight: 700!important
}

.font-ibm {
  font-family: "IBM Plex Serif", serif
}

.font-ibm .c-nav-side-left ul li {
  font-size: 1rem;
  letter-spacing: 1px
}

@media only screen and (max-width:960px) {
  .font-ibm .c-nav-side-left ul li {
    font-size: .8rem
  }
}

.font-saira {
  font-family: Saira Condensed, sans-serif
}

.font-saira-s, .font-saira .c-nav-side-left ul li {
  letter-spacing: 1px
}

.font-saira-s {
  font-family: Saira Condensed, sans-serif;
  font-size: .9rem
}

.font-saira-l, .font-saira-s .c-nav-side-left ul li {
  letter-spacing: 1px
}

.font-saira-l {
  font-family: Saira Condensed, sans-serif;
  font-size: 1.2rem
}

.font-saira-l .c-nav-side-left ul li {
  letter-spacing: 1px
}

.font-barlow {
  font-family: Barlow Semi Condensed, sans-serif
}

.font-barlow .c-nav-side-left ul li {
  font-style: oblique;
  letter-spacing: 1px
}

.font-barlow .c-list._schedule {
  font-style: oblique
}

.font-tomorrow {
  font-family: Tomorrow, sans-serif;
  letter-spacing: 1px
}

@media only screen and (max-width:960px) {
  .font-tomorrow {
    font-size: .9rem
  }
}

.font-imbmPlex {
  font-family: IBM Plex Mono, monospace;
  letter-spacing: 1px
}

.font-comfortaa {
  font-family: Comfortaa, cursive;
  font-size: .9rem;
  letter-spacing: 1px
}

.font-oswald {
  font-family: Oswald, sans-serif
}

.font-exo {
  font-family: Exo, sans-serif
}

.font-teko {
  font-family: Teko, sans-serif
}

.font-coda {
  font-family: Coda, cursive
}

.font-sarpanch {
  font-family: Sarpanch, sans-serif
}

.color-white {
  color: #fff!important
}

.color-white .c-logo svg, .color-white .c-nav-side-right svg {
  fill: #fff!important
}

.color-white.has_border {
  border-color: #fff!important
}

.color-yellow {
  color: #ffd400!important
}

.color-yellow .c-logo svg, .color-yellow .c-nav-side-right svg {
  fill: #ffd400!important
}

.color-yellow.has_border {
  border-color: #ffd400!important
}

.color-orange {
  color: #f50!important
}

.color-orange .c-logo svg, .color-orange .c-nav-side-right svg {
  fill: #f50!important
}

.color-orange.has_border {
  border-color: #f50!important
}

.color-blue {
  color: #00d5ff!important
}

.color-blue .c-logo svg, .color-blue .c-nav-side-right svg {
  fill: #00d5ff!important
}

.color-blue.has_border {
  border-color: #00d5ff!important
}

.lt-ie9 .remodal-overlay {
  background: #2b2e38
}

.lt-ie9 .remodal {
  width: 700px
}

html.remodal-is-locked {
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none
}

.remodal, [data-remodal-id] {
  display: none
}

.remodal-overlay {
  bottom: -5000px;
  display: none;
  left: -5000px;
  position: fixed;
  right: -5000px;
  top: -5000px;
  z-index: 9999
}

.remodal-wrapper {
  bottom: 0;
  display: none;
  left: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  position: fixed;
  right: 0;
  text-align: center;
  top: 0;
  z-index: 10000
}

.remodal-wrapper:after {
  content: "";
  display: inline-block;
  height: 100%;
  margin-left: -.05em
}

.remodal-overlay, .remodal-wrapper {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.remodal {
  outline: none;
  position: relative;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%
}

.remodal-is-initialized {
  display: inline-block
}



@-webkit-keyframes swiper-preloader-spin {
  to {
    -webkit-transform: rotate(1turn)
  }
}

@keyframes swiper-preloader-spin {
  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn)
  }
}

.c-audio-player {
  margin-bottom: 15px;
  width: 200px
}

.c-audio-player+.c-audio-player {
  border-top: 1px dotted #fff;
  padding-top: 15px
}

.c-audio-player-title {
  font-size: 15px;
  margin-bottom: 3px!important
}

.c-audio-player-progress {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%
}

.c-audio-player-progress>* {
  width: 15%
}

.c-audio-player-progress-outer {
  background-color: #000;
  height: 10px;
  position: relative;
  width: 60%
}

.c-audio-player-progress-inner {
  background-color: #fff;
  height: 100%;
  position: absolute
}

.c-audio-player button {
  background-color: transparent;
  border: 0;
  color: #fff;
  cursor: pointer;
  font-size: 13px;
  margin-top: 3px;
  padding-left: 0
}

.c-audio-player-btn_wrap {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start
}

.c-audio-player-btn_wrap, .c-banner {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.c-banner {
  bottom: 0;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding: 10px 20px;
  position: fixed;
  right: 0
}

.c-banner_eng {
  font-size: 18px
}

.c-banner_eng, .c-banner_subtitle {
  letter-spacing: .1em;
  position: relative
}

.c-banner_subtitle {
  font-size: 14px
}

.c-banner_title {
  font-size: 14px;
  letter-spacing: .1em;
  position: relative
}

@media only screen and (max-width:960px) {
  .c-banner {
    max-width: 100%;
    padding: 10px
  }
  .c-banner_eng {
    font-size: 13px;
    letter-spacing: .05em;
    margin-right: 5px
  }
  .c-banner_subtitle {
    font-size: 12px;
    letter-spacing: .05em
  }
  .c-banner_title {
    font-size: 13px;
    letter-spacing: .05em
  }
}

body {
  background-color: #000
}

.c-content-holder {
  background-color: rgba(0, 0, 0, .7);
  height: 100%;
  width: 100%;
  z-index: 2
}

.c-content-holder, .c-content-inner {
  display: none;
  left: 50%;
  position: fixed;
  -webkit-transform: translate(-50%);
  transform: translate(-50%)
}

.c-content-inner {
  height: calc(100% - 150px);
  margin: 0 auto;
  max-width: 900px;
  min-width: 900px;
  overflow: auto;
  padding-bottom: 80px;
  top: 150px;
  width: 90%
}

@media only screen and (max-width:960px) {
  .c-content-inner {
    max-width: calc(100% - 110px);
    min-width: auto;
    padding: 0 20px 60px;
    top: 130px
  }
}

.c-content-title {
  font-weight: 500;
  text-align: center
}

@media only screen and (max-width:960px) {
  .c-content-title {
    font-size: 1.2rem
  }
}

.c-content-title+* {
  margin-top: 50px
}

@media only screen and (max-width:960px) {
  .c-content-title+* {
    margin-top: 35px
  }
}

.single .c-content-title {
  text-align: left
}

.c-icon-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.c-icon-list>* {
  margin-left: 20px;
  margin-right: 20px;
  text-align: center
}

.c-icon-list>* svg {
  fill: #fff;
  width: 40px
}

@media only screen and (max-width:960px) {
  .c-icon-list {
    display: block
  }
  .c-icon-list>* {
    margin: auto;
    text-align: center
  }
  .c-icon-list>* svg {
    margin-top: 50px;
    width: 35px
  }
}

.c-list._schedule li {
  padding: 15px 0
}

@media only screen and (max-width:960px) {
  .c-list._schedule li {
    padding: 10px 0
  }
}

.c-list._schedule li>a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: 1.2rem;
  font-weight: 500!important;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  letter-spacing: 1.5px
}

.c-list._schedule li>a .date {
  font-size: 1.2rem;
  width: 15%
}

.c-list._schedule li>a .place {
  font-size: 1.1rem;
  width: 25%
}

.c-list._schedule li>a .title {
  font-size: 1.1rem;
  width: 60%
}

@media only screen and (max-width:960px) {
  .c-list._schedule li>a .date {
    font-size: 1rem;
    width: 45%
  }
  .c-list._schedule li>a .place {
    font-size: 1rem;
    width: 55%
  }
  .c-list._schedule li>a .title {
    font-size: 1rem;
    width: 100%
  }
}

.c-list._news li>a .date {
  width: 20%
}

.c-list._news li>a .title {
  width: 80%
}

@media only screen and (max-width:960px) {
  .c-list._news li>a .date, .c-list._news li>a .title {
    width: 100%
  }
}

.c-list .place._indent, .c-list .title._indent {
  padding-left: 1em;
  text-indent: -1em
}

.has_border .c-list._schedule li {
  border-bottom: 0;
  border-left: 0;
  border-right: 0;
  border-style: solid;
  border-width: 1px;
  margin-top: -1px;
  padding: 20px 0
}

.has_border .c-list._schedule li:last-child {
  border-bottom: 1px solid
}

@media only screen and (max-width:960px) {
  .has_border .c-list._schedule li {
    border-left: 0!important;
    border-right: 0!important;
    padding: 10px 0
  }
}

.c-logo {
  left: 50%;
  position: fixed;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
  z-index: 2
}

.c-logo svg {
  max-width: 200px
}

.c-logo.active {
  top: 4%;
  -webkit-transform: translate(-50%);
  transform: translate(-50%);
  z-index: 5
}

.c-logo.active svg {
  fill: #fff
}

@media only screen and (max-width:960px) {
  .c-logo.active {
    top: 0
  }
}

@media only screen and (max-width:960px) {
  .c-logo svg {
    width: 38vw
  }
}

.content-active .c-logo {
  cursor: pointer
}

.content-active .c-logo:hover {
  opacity: .7;
  -webkit-transition: all .3s;
  transition: all .3s
}

.c-nav-side-left {
  left: -50%;
  position: fixed;
  top: 50%;
  -webkit-transform: rotate(90deg) translateY(-50%);
  transform: rotate(90deg) translateY(-50%);
  -webkit-transform-origin: center;
  transform-origin: center;
  width: 100%;
  z-index: 3
}

.c-nav-side-left ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.c-nav-side-left ul li {
  margin-left: 10px;
  margin-right: 10px;
  padding-bottom: 10px
}

@media only screen and (max-width:960px) {
  .c-nav-side-left {
    left: -70%;
    width: 140%
  }
}

.c-nav-side-right {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-right: 30px;
  position: fixed;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 30px;
  z-index: 3
}

.c-nav-side-right a {
  display: block;
  height: 24px;
  width: 24px
}

.c-nav-side-right svg {
  fill: inherit
}

.c-nav-side-right li {
  margin-bottom: 35px;
  margin-top: 35px
}


.grecaptcha-badge {
  opacity: 0!important
}

.recaptcha-is-active .grecaptcha-badge {
  opacity: 1!important;
  z-index: 3
}

.c-settings {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: hsla(0, 0%, 100%, .5);
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: .8rem;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  left: 0;
  padding: 10px 20px;
  position: fixed;
  width: 100%;
  z-index: 100
}

.c-settings>* {
  margin-left: 5px;
  margin-right: 5px
}

@media only screen and (max-width:960px) {
  .c-settings {
    bottom: 0;
    top: auto
  }
}

.c-share {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding-top: 30px
}

.c-share span {
  display: block;
  line-height: 1;
  margin-right: 10px;
  padding-bottom: 5px
}

.c-share>a {
  display: block;
  width: 25px
}

.c-share svg {
  fill: #fff!important
}

.c-video-element {
  display: block;
  height: auto!important;
  left: 50%;
  min-height: 100%;
  min-width: 100%;
  position: fixed;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: auto!important
}

.screen-reader-response {
  display: none
}


@media only screen and (max-width:960px) {
  .p-contact {
    width: 100%
  }
}


.rollover-op:hover {
  filter: progid:DXImageTransfor.Microsoft.Alpha(Opacity=70);
  opacity: .7
}

.alignnone {
  margin: 5px 20px 20px 0
}

.aligncenter, div.aligncenter {
  display: block;
  margin: 5px auto
}

.alignright {
  float: right;
  margin: 5px 0 20px 20px
}

.alignleft {
  float: left;
  margin: 5px 20px 20px 0
}

.aligncenter {
  display: block;
  margin: 5px auto
}

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px
}

a img.alignleft, a img.alignnone {
  margin: 5px 20px 20px 0
}

a img.alignleft {
  float: left
}

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto
}

.fr {
  float: right
}

.fl, .fr {
  display: inline;
  *zoom: 1
}

.fl {
  float: left
}

.cl {
  clear: both
}
