@charset "UTF-8";
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  font-weight: normal;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/* clearfix */
.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

html {
  font-size: 62.5% !important;
  /*16px×62.5%=10px*/
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-height: 0%;
}

.br-pc {
  display: block;
}

@media screen and (max-width: 768px) {
  .br-pc {
    display: none;
  }
}

.br-sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .br-sp {
    display: block;
  }
}

.cont-pc {
  display: inherit;
}

@media screen and (max-width: 768px) {
  .cont-pc {
    display: none;
  }
}

.cont-tb {
  display: none;
}

@media screen and (max-width: 1024px) {
  .cont-tb {
    display: inherit;
  }
}

.cont-sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .cont-sp {
    display: inherit;
  }
}

@media screen and (max-width: 768px) {
  .cont-sp.block {
    display: block;
  }
}

.font-small {
  font-size: 0.8em;
}

.font-smaller {
  font-size: 0.5em;
}

.font-big {
  font-size: 1.3em;
}

.share_btn {
  width: 100%;
  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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.share_btn li {
  padding: 2px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.share_btn .fb_iframe_widget > span {
  vertical-align: baseline !important;
}

.text-center {
  text-align: center;
}

span.block {
  display: inline-block;
}

.fixed_bg::before {
  content: '';
  display: block;
  background-image: url("../img/bg2.jpg");
  background-size: 100%;
  background-repeat: no-repeat;
  height: 100vh;
  position: fixed;
  top: 0;
  right: 0;
  z-index: -1;
  width: 100%;
  overflow: hidden;
}

body {
  font-size: 1.6rem;
  color: #000;
  line-height: 2;
  font-family: 'Noto Serif JP', serif;
}

@media screen and (max-width: 768px) {
  body {
    font-size: 1.4rem;
  }
}

body.fixed {
  position: fixed;
  height: 100vh;
  overflow: hidden;
}

*:focus {
  outline: none;
}

a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer;
  color: #000;
}

.loading {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 1000;
  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;
}

.loading .sk-fading-circle {
  margin: 100px auto;
  width: 40px;
  height: 40px;
  position: relative;
}

.loading .sk-fading-circle .sk-circle {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.loading .sk-fading-circle .sk-circle:before {
  content: '';
  display: block;
  margin: 0 auto;
  width: 15%;
  height: 15%;
  background-color: #e2eeff;
  border-radius: 100%;
  -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;
  animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;
}

.loading .sk-fading-circle .sk-circle2 {
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
}

.loading .sk-fading-circle .sk-circle3 {
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg);
}

.loading .sk-fading-circle .sk-circle4 {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.loading .sk-fading-circle .sk-circle5 {
  -webkit-transform: rotate(120deg);
  transform: rotate(120deg);
}

.loading .sk-fading-circle .sk-circle6 {
  -webkit-transform: rotate(150deg);
  transform: rotate(150deg);
}

.loading .sk-fading-circle .sk-circle7 {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.loading .sk-fading-circle .sk-circle8 {
  -webkit-transform: rotate(210deg);
  transform: rotate(210deg);
}

.loading .sk-fading-circle .sk-circle9 {
  -webkit-transform: rotate(240deg);
  transform: rotate(240deg);
}

.loading .sk-fading-circle .sk-circle10 {
  -webkit-transform: rotate(270deg);
  transform: rotate(270deg);
}

.loading .sk-fading-circle .sk-circle11 {
  -webkit-transform: rotate(300deg);
  transform: rotate(300deg);
}

.loading .sk-fading-circle .sk-circle12 {
  -webkit-transform: rotate(330deg);
  transform: rotate(330deg);
}

.loading .sk-fading-circle .sk-circle2:before {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.loading .sk-fading-circle .sk-circle3:before {
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

.loading .sk-fading-circle .sk-circle4:before {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.loading .sk-fading-circle .sk-circle5:before {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

.loading .sk-fading-circle .sk-circle6:before {
  -webkit-animation-delay: -0.7s;
  animation-delay: -0.7s;
}

.loading .sk-fading-circle .sk-circle7:before {
  -webkit-animation-delay: -0.6s;
  animation-delay: -0.6s;
}

.loading .sk-fading-circle .sk-circle8:before {
  -webkit-animation-delay: -0.5s;
  animation-delay: -0.5s;
}

.loading .sk-fading-circle .sk-circle9:before {
  -webkit-animation-delay: -0.4s;
  animation-delay: -0.4s;
}

.loading .sk-fading-circle .sk-circle10:before {
  -webkit-animation-delay: -0.3s;
  animation-delay: -0.3s;
}

.loading .sk-fading-circle .sk-circle11:before {
  -webkit-animation-delay: -0.2s;
  animation-delay: -0.2s;
}

.loading .sk-fading-circle .sk-circle12:before {
  -webkit-animation-delay: -0.1s;
  animation-delay: -0.1s;
}

@-webkit-keyframes sk-circleFadeDelay {
  0%, 39%, 100% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
}

@keyframes sk-circleFadeDelay {
  0%, 39%, 100% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
}

.trailer {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 9999;
  opacity: 0;
  display: none;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
  top: 0;
  left: 0;
}

.trailer .trailer_overlay {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  opacity: 1;
  z-index: 9997;
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
}

.trailer .close_btn_trailer {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 60px;
  height: 60px;
  z-index: 9999;
  -webkit-transition-duration: 0.1s;
          transition-duration: 0.1s;
  opacity: 0;
  cursor: pointer;
}

.trailer .close_btn_trailer::before, .trailer .close_btn_trailer::after {
  overflow: visible;
  position: absolute;
  top: calc(50% - 5px);
  left: -5px;
  content: "";
  display: block;
  width: 60px;
  height: 5px;
  background-color: #fff;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.trailer .close_btn_trailer::before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.trailer .close_btn_trailer::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.trailer .close_btn_trailer:hover::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.trailer .close_btn_trailer:hover::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.trailer .trailer_inner {
  position: absolute;
  top: calc(50% - 30px);
  left: 50%;
  -webkit-transform: translate(-50%, -50%) scale(0.9, 0.9);
          transform: translate(-50%, -50%) scale(0.9, 0.9);
  width: 80%;
  padding-bottom: 45%;
  height: 1;
  z-index: 9998;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}

.trailer .trailer_inner #youtube1, .trailer .trailer_inner #youtube2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
  opacity: 1;
}

.trailer .trailer_inner #youtube2 {
  display: none;
}

.trailer .trailer_tab {
  position: absolute;
  color: #d1d1d1;
  top: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.trailer .trailer_tab li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 50%;
  padding: 10px 5px;
  margin: 4px 5px 0 0;
  font-size: 1.8rem;
  text-align: center;
  background: #ccc;
  color: black;
  line-height: 1;
  letter-spacing: 0.2em;
}

.trailer .trailer_tab li:last-of-type {
  margin: 4px 0 0 5px;
}

.trailer .trailer_tab li:before {
  content: '\f00c';
  margin-right: 4px;
  font-family: 'Font Awesome 5 Pro';
  font-weight: 900;
}

.trailer .trailer_tab li.ready {
  background: #000;
  color: #fff;
  cursor: pointer;
}

.trailer .trailer_tab li.ready:before {
  content: '';
}

.trailer .trailer_tab li.ready:hover {
  background: #aaa;
  -webkit-transition: .4s;
  transition: .4s;
}

.trailer.on {
  opacity: 1;
}

.trailer.on .close_btn_trailer {
  opacity: 1;
}

.trailer.on .trailer_overlay {
  opacity: 1;
}

.trailer.on .trailer_inner {
  -webkit-transform: translate(-50%, -50%) scale(1, 1);
          transform: translate(-50%, -50%) scale(1, 1);
}

.trailer.on #youtube1, .trailer.on #youtube2 {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  opacity: 1;
}

.trailer_engeki {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 9999;
  opacity: 0;
  display: none;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
  top: 0;
  left: 0;
}

.trailer_engeki .trailer_overlay {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  opacity: 1;
  z-index: 9997;
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
}

.trailer_engeki .close_btn_trailer {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 60px;
  height: 60px;
  z-index: 9999;
  -webkit-transition-duration: 0.1s;
          transition-duration: 0.1s;
  opacity: 0;
  cursor: pointer;
}

.trailer_engeki .close_btn_trailer::before, .trailer_engeki .close_btn_trailer::after {
  overflow: visible;
  position: absolute;
  top: calc(50% - 5px);
  left: -5px;
  content: "";
  display: block;
  width: 60px;
  height: 5px;
  background-color: #fff;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.trailer_engeki .close_btn_trailer::before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.trailer_engeki .close_btn_trailer::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.trailer_engeki .close_btn_trailer:hover::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.trailer_engeki .close_btn_trailer:hover::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.trailer_engeki .trailer_inner {
  position: absolute;
  top: calc(50% - 30px);
  left: 50%;
  -webkit-transform: translate(-50%, -50%) scale(0.9, 0.9);
          transform: translate(-50%, -50%) scale(0.9, 0.9);
  width: 80%;
  padding-bottom: 45%;
  height: 1;
  z-index: 9998;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}

.trailer_engeki .trailer_inner #youtube3 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
  opacity: 1;
}

.trailer_engeki .trailer_inner .engeki_info {
  position: absolute;
  top: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #2695a9;
  padding: 10px 20px;
}

.trailer_engeki .trailer_inner .engeki_info a {
  color: #ffffff;
  text-align: center;
  text-decoration: underline;
  font-size: 1.2em;
}

.trailer_engeki .trailer_inner .engeki_info a:hover {
  text-decoration: none;
}

.trailer_engeki.on {
  opacity: 1;
}

.trailer_engeki.on .close_btn_trailer {
  opacity: 1;
}

.trailer_engeki.on .trailer_overlay {
  opacity: 1;
}

.trailer_engeki.on .trailer_inner {
  -webkit-transform: translate(-50%, -50%) scale(1, 1);
          transform: translate(-50%, -50%) scale(1, 1);
}

.trailer_engeki.on #youtube3 {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  opacity: 1;
}

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.top_btn {
  -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.1);
          box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.1);
  z-index: 100;
  position: fixed;
  background-color: #fff;
  bottom: 20px;
  right: 20px;
  width: 50px;
  height: 50px;
  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;
  -webkit-transition: .3s;
  transition: .3s;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  .top_btn {
    width: 40px;
    height: 40px;
    bottom: 70px;
    right: 10px;
  }
}

.top_btn i {
  font-size: 2.4rem;
  line-height: 1;
}

.top_btn:hover {
  -webkit-transform: translateY(4px);
          transform: translateY(4px);
}

/*
NAV-----------------------
*/
.gnav {
  -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.1);
          box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.1);
  width: 100%;
  background-color: #fff;
  border-bottom: 1px solid rgba(223, 235, 235, 0.7);
  height: 60px;
  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;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}

@media screen and (max-width: 768px) {
  .gnav {
    position: fixed;
    top: calc(100% - 60px);
  }
}

.gnav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .gnav ul {
    width: 100%;
  }
}

.gnav ul li {
  line-height: 1;
  padding: 0 8px;
}

@media screen and (max-width: 768px) {
  .gnav ul li {
    width: calc(100% / 6);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: calc((60px - 46px) / 2) 0;
    -webkit-transition: .2s;
    transition: .2s;
  }
  .gnav ul li.cont-pc {
    display: none;
  }
}

.gnav ul li:hover {
  opacity: .5;
}

.gnav ul li i.sp-menu {
  display: none;
}

@media screen and (max-width: 768px) {
  .gnav ul li i.sp-menu {
    text-align: center;
    height: 26px;
    display: block;
    font-size: 24px;
  }
}

.gnav ul li p {
  text-align: center;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .gnav ul li p {
    font-size: 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 20px;
  }
  .gnav ul li p.cont-pc {
    display: none;
  }
}

.gnav ul li.menu_twitter:hover, .gnav ul li.menu_facebook:hover, .gnav ul li.menu_modal_comments:hover {
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  .gnav ul li.menu_twitter, .gnav ul li.menu_facebook, .gnav ul li.menu_modal_comments {
    -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.1);
            box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.1);
    line-height: 1;
    width: 40px;
    height: 40px;
    background-color: #fff;
    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;
    border-radius: 50%;
    position: fixed;
    bottom: 70px;
    left: 10px;
    font-size: 18px;
  }
}

@media screen and (max-width: 768px) {
  .gnav ul li.menu_facebook {
    left: 110px;
  }
}

.gnav ul li.menu_twitter {
  left: 60px;
}

.subnav {
  display: none;
}

@media screen and (max-width: 768px) {
  .subnav {
    display: block;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    background-color: #fff;
  }
  .subnav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .subnav ul li {
    -webkit-box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.1);
            box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.1);
    width: 50%;
    height: 30px;
    line-height: 30px;
    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;
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 768px) {
  .introstory, .caststaff {
    padding-top: 30px;
  }
}

/*
BASE------------------
*/
h2 {
  text-align: center;
  font-size: 3.2rem;
  letter-spacing: 0.15em;
  margin-bottom: 80px;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  h2 {
    font-size: 2.2rem;
    letter-spacing: 0.1em;
    margin-bottom: 24px;
  }
}

.section {
  padding: 120px 0;
}

@media screen and (max-width: 768px) {
  .section {
    padding: 40px 0 60px;
  }
}

.section .section_inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}

@media screen and (max-width: 768px) {
  .section .section_inner {
    max-width: 500px;
    padding: 0 20px;
  }
}

.section .section_inner .section_copy {
  margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
  .section .section_inner .section_copy {
    margin-bottom: 40px;
  }
}

.text_block {
  margin-bottom: 40px;
}

.text_block:last-child {
  margin-bottom: 0;
}

.text_block p {
  text-align: justify;
  text-justify: inter-ideograph;
  margin-bottom: .5em;
}

hr {
  width: 80%;
  margin: 0 auto;
}

.prof_block {
  width: 100%;
  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;
}

.prof_block .prof_item {
  width: calc(50% - 40px);
  margin-bottom: 120px;
}

@media screen and (max-width: 768px) {
  .prof_block .prof_item {
    width: 100%;
    max-width: 500px;
    margin: 0 auto 60px;
  }
}

.prof_block .prof_item .prof_img {
  padding: 0 25% 12px;
}

@media screen and (max-width: 768px) {
  .prof_block .prof_item .prof_img {
    padding: 0 20% 4px;
  }
}

.prof_block .prof_item .prof_texts .prof_name {
  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;
  text-align: center;
  font-size: 3.2rem;
  padding-bottom: 12px;
  border-bottom: 1px solid #000;
}

@media screen and (max-width: 768px) {
  .prof_block .prof_item .prof_texts .prof_name {
    font-size: 2.4rem;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    text-align-last: left;
    line-height: 1.2;
  }
}

.prof_block .prof_item .prof_texts .prof_name .prof_name_name {
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .prof_block .prof_item .prof_texts .prof_name .prof_name_name {
    line-height: 1;
    text-align: left;
  }
}

.prof_block .prof_item .prof_texts .prof_name .prof_btn {
  display: none;
}

@media screen and (max-width: 768px) {
  .prof_block .prof_item .prof_texts .prof_name .prof_btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .prof_block .prof_item .prof_texts .prof_name .prof_btn::before {
    content: 'open';
    font-size: 1rem;
    text-align: center;
    letter-spacing: .1em;
    line-height: 1.6;
  }
  .prof_block .prof_item .prof_texts .prof_name .prof_btn::after {
    content: '\f067';
    width: 40px;
    height: 30px;
    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;
    line-height: 1;
    font-family: "Font Awesome 5 Pro";
    font-size: 30px;
  }
  .prof_block .prof_item .prof_texts .prof_name .prof_btn.active::before {
    content: 'close';
  }
  .prof_block .prof_item .prof_texts .prof_name .prof_btn.active::after {
    content: '\f068';
  }
}

@media screen and (max-width: 768px) {
  .prof_block .prof_item .prof_texts .prof_name {
    text-align-last: left;
  }
}

@media screen and (max-width: 768px) {
  .prof_block .prof_item .prof_texts .prof_name span {
    display: block;
    padding: 4px 0 0 0;
  }
}

@media screen and (max-width: 768px) {
  .prof_block .prof_item .prof_texts .sp-hide {
    background-color: rgba(255, 255, 255, 0.6);
    display: none;
    border-right: solid 1px #333;
    border-left: solid 1px #333;
    border-bottom: solid 1px #333;
    padding: 10px;
  }
}

.prof_block .prof_item .prof_texts .prof_name_role {
  padding: 12px 0 0;
  font-size: 2.4rem;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .prof_block .prof_item .prof_texts .prof_name_role {
    padding: 0;
  }
}

.prof_block .prof_item .prof_texts .prof_role {
  text-align: justify;
  text-justify: inter-ideograph;
  padding: 0 0 12px;
  border-bottom: 1px solid #000;
}

.prof_block .prof_item .prof_texts .prof_self {
  text-align: justify;
  text-justify: inter-ideograph;
  padding-top: 12px;
}

.prof_block .prof_item.main_cast {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 768px) {
  .prof_block .prof_item.main_cast {
    display: block;
  }
}

.prof_block .prof_item.main_cast .prof_img {
  width: 30%;
  padding: 0 40px 0 0;
}

@media screen and (max-width: 768px) {
  .prof_block .prof_item.main_cast .prof_img {
    width: 100%;
    padding: 0 20% 4px;
  }
}

.prof_block .prof_item.main_cast .prof_texts {
  width: 70%;
}

@media screen and (max-width: 768px) {
  .prof_block .prof_item.main_cast .prof_texts {
    width: 100%;
  }
}

.prof_block .prof_item.main_cast .prof_texts .prof_name {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

/*
SECTIONS------------------
*/
@-webkit-keyframes fadeInBlock2 {
  0% {
    opacity: 0;
    display: none;
    -webkit-transform: translate(-50%, -30%);
            transform: translate(-50%, -30%);
  }
  100% {
    opacity: 1;
    display: block;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
@keyframes fadeInBlock2 {
  0% {
    opacity: 0;
    display: none;
    -webkit-transform: translate(-50%, -30%);
            transform: translate(-50%, -30%);
  }
  100% {
    opacity: 1;
    display: block;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
    display: none;
  }
  100% {
    opacity: 1;
    display: block;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    display: none;
  }
  100% {
    opacity: 1;
    display: block;
  }
}

.release {
  background-color: rgba(223, 235, 235, 0.7);
  width: 100%;
  padding: 32px 0;
}

@media screen and (max-width: 768px) {
  .release {
    padding: 24px 0;
  }
}

.release .release_inner {
  margin: 0 auto;
  width: 60%;
}

@media screen and (max-width: 768px) {
  .release .release_inner {
    width: 90%;
    max-width: 500px;
  }
}

#top {
  line-height: 1;
  padding: 0;
}

#top .main_vis {
  position: relative;
  width: 100%;
}

#top .main_vis .copy_upper {
  position: absolute;
  top: 4%;
  left: 20%;
  width: 60%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 768px) {
  #top .main_vis .copy_upper {
    width: calc(100% - 40px);
    top: 2%;
    left: 20px;
  }
}

#top .main_vis .copy_upper .awardscopy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
  font-size: 0;
  width: 100%;
  margin-bottom: .5%;
}

@media screen and (max-width: 768px) {
  #top .main_vis .copy_upper .awardscopy {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 2%;
  }
}

#top .main_vis .copy_upper .awardscopy .awards {
  width: 32%;
}

@media screen and (max-width: 768px) {
  #top .main_vis .copy_upper .awardscopy .awards {
    width: 70%;
    margin-bottom: 1.5%;
  }
}

#top .main_vis .copy_upper .awardscopy .copy {
  width: 64%;
}

@media screen and (max-width: 768px) {
  #top .main_vis .copy_upper .awardscopy .copy {
    width: 100%;
  }
}

#top .main_vis .copy_upper .copy1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 74%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 768px) {
  #top .main_vis .copy_upper .copy1 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
  }
}

#top .main_vis .copy_upper .copy1 .copy1_upper {
  width: 29.3%;
}

@media screen and (max-width: 768px) {
  #top .main_vis .copy_upper .copy1 .copy1_upper {
    width: 41%;
    margin-bottom: 1%;
  }
}

#top .main_vis .copy_upper .copy1 .copy1_upper .copy1_1 {
  width: 100%;
}

#top .main_vis .copy_upper .copy1 .copy1_lower {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 69.5%;
}

@media screen and (max-width: 768px) {
  #top .main_vis .copy_upper .copy1 .copy1_lower {
    width: 95%;
  }
}

#top .main_vis .copy_upper .copy1 .copy1_lower .copy1_2 {
  width: 64.5%;
}

#top .main_vis .copy_upper .copy1 .copy1_lower .copy1_3 {
  width: 33.5%;
}

#top .main_vis .titles {
  opacity: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 24%;
  left: 40.5%;
  width: 17%;
  -webkit-filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.3));
          filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.3));
  -webkit-transition: 2s;
  transition: 2s;
}

@media screen and (max-width: 768px) {
  #top .main_vis .titles {
    width: 40%;
    left: 28%;
  }
}

#top .main_vis .titles .title {
  width: 100%;
}

#top .main_vis .titles .gensaku {
  position: absolute;
  top: 20%;
  right: 0;
  width: 13%;
}

#top .main_vis .copy_lower {
  position: absolute;
  bottom: 1.5%;
  right: 5%;
  width: 47%;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  #top .main_vis .copy_lower {
    width: calc(100% - 40px);
    left: 20px;
    bottom: 10%;
  }
}

#top .main_vis .copy_lower .copy2 {
  -webkit-filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.3));
          filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.3));
  width: 100%;
}

@media screen and (max-width: 768px) {
  #top .main_vis .copy_lower .copy2 {
    -webkit-filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.5));
            filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.5));
  }
}

#top .main_vis .copy_lower .copy2 .copy2_1 {
  width: 67%;
  margin-bottom: 1.3%;
}

@media screen and (max-width: 768px) {
  #top .main_vis .copy_lower .copy2 .copy2_1 {
    margin: 0 auto 1.5%;
    width: 70.5%;
  }
}

#top .main_vis .copy_lower .copy2 .copy2_2 {
  margin: 0 0 0 auto;
  width: 95%;
}

@media screen and (max-width: 768px) {
  #top .main_vis .copy_lower .copy2 .copy2_2 {
    margin: 0 auto;
    width: 100%;
  }
}

#top .main_vis .copy_photo {
  position: absolute;
  width: 12%;
  right: 0;
  bottom: -4%;
}

@media screen and (max-width: 768px) {
  #top .main_vis .copy_photo {
    width: 20%;
    right: 79%;
    bottom: 11%;
  }
}

#top .festival {
  width: 100%;
  background: #000;
  padding: 4px 20px;
}

#top .festival .festival_inner {
  padding: 8px 0px;
  width: 80%;
  margin: 0 auto;
  min-width: 700px;
}

@media screen and (max-width: 768px) {
  #top .festival .festival_inner {
    width: 100%;
    min-width: inherit;
  }
}

#top .info {
  width: 100%;
  padding: 32px 20px 32px;
}

#top .info div {
  margin: 0 auto;
}

#top .info .cast {
  width: 50%;
  margin-bottom: 24px;
  min-width: 700px;
}

@media screen and (max-width: 768px) {
  #top .info .cast {
    width: 100%;
    max-width: 500px;
    min-width: inherit;
  }
}

#top .info .billing {
  width: 70%;
  margin-bottom: 40px;
  min-width: 700px;
}

@media screen and (max-width: 768px) {
  #top .info .billing {
    width: 100%;
    max-width: 600px;
    min-width: inherit;
  }
}

#top .info .share_btn {
  margin-bottom: 20px;
}

#top .info .share_btn .eigacom {
  margin-right: -20px;
}

#top .info .bnr_box {
  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;
}

#top .info .bnr_box li {
  width: 60%;
  max-width: 500px;
  -webkit-transition: .2s;
  transition: .2s;
}

#top .info .bnr_box li:hover {
  -webkit-transform: translateY(4px);
          transform: translateY(4px);
}

#top .youtube_embed_outer {
  width: 80%;
  max-width: 500px;
  margin: 0 auto;
  text-align: center;
  background-color: #000;
  line-height: 1.6;
}

#top .youtube_embed_outer .embed_title {
  color: #fff;
  font-weight: bold;
  font-size: 0.9em;
  text-transform: uppercase;
  letter-spacing: .1em;
}

#top .youtube_embed {
  border: solid 1px #6a6a6a;
  width: 100%;
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

#top .youtube_embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#top .engeki_link {
  background-color: #004d5a;
  padding: 5px;
  color: #ffffff;
}

#top .engeki_link a {
  color: #ffffff;
  text-align: center;
  text-decoration: underline;
  font-size: 1.1em;
}

#top .engeki_link a:hover {
  text-decoration: none;
}

#trailer {
  margin: 60px auto 0;
  padding: 0;
}

@media screen and (max-width: 768px) {
  #trailer {
    margin: 30px auto 0;
  }
}

@media screen and (max-width: 768px) {
  #trailer .section_inner {
    max-width: inherit;
  }
}

@media screen and (max-width: 768px) {
  #trailer .trailer_btn {
    width: 100%;
    padding: 40px 0;
    max-width: inherit;
  }
}

#trailer .trailer_btn .trailer_thumbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.3rem;
}

#trailer .trailer_btn .trailer_thumbs.thumbs_pc {
  max-width: 800px;
  margin: 0 auto;
}

#trailer .trailer_btn .trailer_thumbs li {
  width: 48%;
}

#trailer .trailer_btn .trailer_thumbs li:last-of-type {
  margin: 0;
}

#trailer .trailer_btn .trailer_thumbs li a img {
  border: solid 1px #3f3f3f;
}

#trailer .trailer_btn .trailer_thumbs li a p {
  text-align: center;
  display: block;
  background-color: #ccc;
  line-height: 2;
  font-size: 1.6rem;
  margin-top: 4px;
}

#trailer .trailer_btn .thumbs_pc .thumb_pc a {
  cursor: pointer;
}

#trailer .trailer_btn .thumbs_pc .thumb_pc .thumb_pc_inner {
  position: relative;
}

#trailer .trailer_btn .thumbs_pc .thumb_pc .thumb_pc_inner::after {
  content: url("../img/play-circle-regular.svg");
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 3;
  width: 25%;
  opacity: .8;
  vertical-align: bottom;
  line-height: 1;
  font-size: 0;
}

#trailer .trailer_btn .thumbs_pc .thumb_pc .thumb_pc_inner:hover::after {
  opacity: .5;
}

#trailer .trailer_btn .thumbs_sp {
  overflow-x: auto;
}

#trailer .trailer_btn .thumbs_sp .thumb_sp {
  margin-right: 20px;
  min-width: 70%;
  width: 70%;
}

#trailer .trailer_btn .thumbs_sp .thumb_sp p {
  text-align: center;
  display: block;
  padding-bottom: 10px;
}

#trailer .trailer_btn .youtube_embed {
  border: solid 1px #6a6a6a;
  width: 100%;
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

#trailer .trailer_btn .youtube_embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#messages .section_main ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

@media screen and (max-width: 768px) {
  #messages .section_main ul {
    display: block;
  }
}

#messages .section_main ul li {
  -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.1);
          box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.1);
  background-color: #fff;
  width: 40%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-transition: .2s;
  transition: .2s;
}

@media screen and (max-width: 768px) {
  #messages .section_main ul li {
    width: calc(100% - 20px);
    margin: 0 10px 20px;
  }
}

#messages .section_main ul li:hover {
  -webkit-transform: translateY(4px);
          transform: translateY(4px);
}

#messages .section_main ul li .com_img {
  width: 35%;
}

#messages .section_main ul li .com_text {
  padding: 8px;
  width: 65%;
}

#messages .section_main ul li .com_text .com_text_upper {
  font-size: 1.8rem;
  border-bottom: 1px solid #000;
  line-height: 1.8;
  font-weight: bold;
}

#messages .section_main ul li .com_text .com_text_lower {
  padding-top: 4px;
  font-size: 0.8em;
}

#messages .section_main ul li .com_text .com_text_lower span {
  display: block;
  line-height: 1;
}

.modal_window {
  display: none;
  z-index: 100;
}

.modal_window .modal_overlay {
  background-color: rgba(239, 244, 250, 0.9);
  position: fixed;
  height: 100vh;
  width: 100%;
  top: 0;
  left: 0;
  display: none;
  z-index: -1;
}

.modal_window .close_btn {
  top: 10px;
  right: 10px;
  position: fixed;
  font-size: 100px;
  display: none;
  z-index: 103;
  line-height: 1;
}

.modal_window .close_btn:hover {
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  .modal_window .close_btn {
    font-size: 50px;
  }
}

.modal_window .close_btn_sub {
  background-color: darkgray;
  padding: 8px 16px;
  margin: 40px auto;
  text-align: center;
  width: 150px;
}

.modal_window .close_btn_sub:hover {
  cursor: pointer;
}

.modal_window .modal_message_inner, .modal_window .modal_comment_inner {
  -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.1);
          box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.1);
  background-color: #fff;
  padding: 40px;
  display: none;
  width: 80%;
  max-width: 1200px;
  height: 80%;
  margin: auto;
  overflow-y: scroll;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
  .modal_window .modal_message_inner, .modal_window .modal_comment_inner {
    padding: 20px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: calc(100% - 40px);
    height: calc(100% - 40px);
  }
}

.modal_window .modal_message_inner .prof_item, .modal_window .modal_comment_inner .prof_item {
  margin-bottom: 4px;
}

@media screen and (max-width: 768px) {
  .modal_window .modal_message_inner .prof_item, .modal_window .modal_comment_inner .prof_item {
    margin-bottom: 20px;
  }
}

.modal_window .modal_message_inner .prof_item .prof_img, .modal_window .modal_comment_inner .prof_item .prof_img {
  padding-bottom: 20px;
}

.modal_window .modal_message_inner .prof_item .prof_texts .prof_role, .modal_window .modal_comment_inner .prof_item .prof_texts .prof_role {
  font-weight: bold;
  padding: 12px 0;
  line-height: 1.2;
  font-size: 1em;
}

.modal_window .modal_message_inner .prof_item .prof_texts .prof_role span, .modal_window .modal_comment_inner .prof_item .prof_texts .prof_role span {
  font-weight: bold;
}

.modal_window .modal_message_inner .message_img, .modal_window .modal_comment_inner .message_img {
  width: 90%;
  max-width: 600px;
  margin: 40px auto 0;
  text-align: center;
}

.modal_window .modal_message_inner .message_img .text-center, .modal_window .modal_comment_inner .message_img .text-center {
  padding-bottom: 4px;
}

@media screen and (max-width: 768px) {
  .modal_window .modal_message_inner .message_img, .modal_window .modal_comment_inner .message_img {
    width: 100%;
  }
}

.modal_window .modal_message_inner .message_link, .modal_window .modal_comment_inner .message_link {
  padding: 12px 0;
}

.modal_window .modal_message_inner .message_link a, .modal_window .modal_comment_inner .message_link a {
  text-decoration: underline;
  font-size: 1em;
  font-weight: bold;
  color: #1e1e76;
  line-height: 2;
  -webkit-transition: .2s;
  transition: .2s;
}

.modal_window .modal_message_inner .message_link a:hover, .modal_window .modal_comment_inner .message_link a:hover {
  text-decoration: none;
}

.modal_window.active {
  position: fixed;
  display: block;
  height: 100vh;
  width: 100%;
  top: 0;
  left: 0;
}

.modal_window.active .modal_overlay {
  display: block;
  -webkit-animation: fadeIn 1s;
          animation: fadeIn 1s;
}

.modal_window.active .close_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-animation: fadeIn 2s;
          animation: fadeIn 2s;
}

.modal_window.active .modal_message_inner, .modal_window.active .modal_comment_inner {
  display: block;
  -webkit-animation: fadeInBlock2 .5s forwards;
          animation: fadeInBlock2 .5s forwards;
}

#sns {
  background-color: rgba(223, 235, 235, 0.7);
}

#sns .section_inner .section_main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

@media screen and (max-width: 768px) {
  #sns .section_inner .section_main {
    display: block;
  }
}

#sns .section_inner .section_main .window_twitter, #sns .section_inner .section_main .window_facebook {
  width: 48%;
  background-color: #fff;
  margin: 0 20px;
  max-width: 500px;
}

@media screen and (max-width: 768px) {
  #sns .section_inner .section_main .window_twitter, #sns .section_inner .section_main .window_facebook {
    width: 100%;
    margin: 0 auto 40px;
  }
}

#sns .section_inner .section_main .window_twitter .window_title, #sns .section_inner .section_main .window_facebook .window_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding: 10px 20px;
  color: #fff;
}

#sns .section_inner .section_main .window_twitter .window_title a, #sns .section_inner .section_main .window_facebook .window_title a {
  color: #fff;
}

#sns .section_inner .section_main .window_twitter .window_title a:hover, #sns .section_inner .section_main .window_facebook .window_title a:hover {
  opacity: .4;
}

#sns .section_inner .section_main .window_twitter .window_title.title_twitter, #sns .section_inner .section_main .window_facebook .window_title.title_twitter {
  background-color: #1DA1F2;
}

#sns .section_inner .section_main .window_twitter .window_title.title_facebook, #sns .section_inner .section_main .window_facebook .window_title.title_facebook {
  background-color: #1877f2;
}

#sns .section_inner .section_main .window_twitter .window_title .window_sns, #sns .section_inner .section_main .window_facebook .window_title .window_sns {
  font-weight: bold;
  font-size: 1.3em;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
  #sns .section_inner .section_main .window_twitter .window_title .window_sns, #sns .section_inner .section_main .window_facebook .window_title .window_sns {
    font-size: 1em;
  }
}

#sns .section_inner .section_main .window_twitter .window_title .window_sns i, #sns .section_inner .section_main .window_facebook .window_title .window_sns i {
  padding-right: 8px;
  font-size: 1.4em;
}

@media screen and (max-width: 768px) {
  #sns .section_inner .section_main .window_twitter .window_title .window_sns i, #sns .section_inner .section_main .window_facebook .window_title .window_sns i {
    font-size: 1.2em;
  }
}

#sns .section_inner .section_main .window_twitter .window_title .window_link, #sns .section_inner .section_main .window_facebook .window_title .window_link {
  font-size: 0.9em;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  #sns .section_inner .section_main .window_twitter .window_title .window_link, #sns .section_inner .section_main .window_facebook .window_title .window_link {
    font-size: .7em;
  }
}

#sns .section_inner .section_main .window_twitter .window_timeline, #sns .section_inner .section_main .window_facebook .window_timeline {
  max-width: 500px;
  margin: 0 auto;
  width: 100% !important;
  padding: 10px 20px;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  #sns .section_inner .section_main .window_twitter .window_timeline, #sns .section_inner .section_main .window_facebook .window_timeline {
    max-width: inherit;
  }
}

#sns .section_inner .section_main .window_twitter .window_timeline *, #sns .section_inner .section_main .window_facebook .window_timeline * {
  width: 100% !important;
  max-width: 500px;
}

#btn_comments {
  text-align: center;
  margin: 0 auto 100px;
  max-width: 320px;
  -webkit-transition: .4s;
  transition: .4s;
  border: solid 1px #aaa;
  width: 80%;
}

@media screen and (max-width: 768px) {
  #btn_comments {
    margin: 0 auto 60px;
  }
}

#btn_comments:hover {
  -webkit-transform: translateY(4px);
          transform: translateY(4px);
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  #btn_comments {
    max-width: inherit;
  }
}

#modal_comments .modal_comment_inner {
  background-image: url("../img/bg3.jpg");
  background-size: cover;
  width: 100%;
}

#modal_comments .modal_comment_inner .grid {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

#modal_comments .modal_comment_inner .grid .grid-item, #modal_comments .modal_comment_inner .grid .grid-sizer {
  background-color: #fff;
  width: 48%;
  padding: 40px;
  margin: 1%;
}

@media screen and (max-width: 768px) {
  #modal_comments .modal_comment_inner .grid .grid-item, #modal_comments .modal_comment_inner .grid .grid-sizer {
    width: calc(100% - 20px);
    padding: 20px;
    margin: 0 10px 20px;
  }
}

#modal_comments .modal_comment_inner .grid .grid-item .comment_name, #modal_comments .modal_comment_inner .grid .grid-sizer .comment_name {
  font-size: 2.4rem;
  line-height: 1.6;
  border-bottom: solid #aaa 1px;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

#modal_comments .modal_comment_inner .grid .grid-item .comment_name .comment_role, #modal_comments .modal_comment_inner .grid .grid-sizer .comment_name .comment_role {
  font-size: 0.6em;
}

@media screen and (max-width: 768px) {
  #modal_comments .modal_comment_inner .grid .grid-item .comment_name .comment_role, #modal_comments .modal_comment_inner .grid .grid-sizer .comment_name .comment_role {
    font-size: .5em;
  }
}

#modal_comments .modal_comment_inner .grid .grid-item .comment_body, #modal_comments .modal_comment_inner .grid .grid-sizer .comment_body {
  padding-top: 10px;
}

#modal_comments .modal_comment_inner .grid .grid-item .comment_body p, #modal_comments .modal_comment_inner .grid .grid-sizer .comment_body p {
  padding-bottom: 4px;
}

#modal_comments .modal_comment_inner .grid .grid-item {
  -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2);
          box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2);
  border: solid 1px #ccc;
}

#introduction .section_inner .section_main .img_block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  margin: 0 auto;
  margin-bottom: 40px;
}

#introduction .section_inner .section_main .img_block:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  #introduction .section_inner .section_main .img_block {
    width: calc(100% + 40px);
    margin-left: -20px;
  }
}

#introduction .section_inner .section_main .img_block div {
  width: 32.5%;
}

#story .section_inner .section_main .section_copy {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  #story .section_inner .section_main .section_copy {
    width: 100%;
  }
}

#staff .section_inner .section_main .prof_block .prof_item .prof_texts .prof_name span {
  padding: 0 0 8px;
}

#staff .section_inner .section_main .prof_block .prof_item.staff_staff {
  width: 100%;
}

#staff .section_inner .section_main .prof_block .prof_item.staff_staff .prof_texts .prof_name {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#prono .section_inner .section_main .prono_block {
  margin-bottom: 120px;
}

@media screen and (max-width: 768px) {
  #prono .section_inner .section_main .prono_block {
    margin-bottom: 100px;
  }
}

#prono .section_inner .section_main .prono_block:last-of-type {
  margin-bottom: 0;
}

#prono .section_inner .section_main .prono_block .prono_block_title {
  font-size: 2.4rem;
  text-align: center;
  font-weight: bold;
  margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
  #prono .section_inner .section_main .prono_block .prono_block_title {
    font-size: 1.8rem;
    margin-bottom: 40px;
  }
}

#prono .section_inner .section_main .prono_block .prono_block_title_disc {
  text-align: center;
  display: block;
  margin-bottom: 80px;
}

@media screen and (max-width: 768px) {
  #prono .section_inner .section_main .prono_block .prono_block_title_disc {
    text-align-last: left;
    margin-bottom: 32px;
  }
}

#prono .section_inner .section_main .prono_block .prono_items {
  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;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

#prono .section_inner .section_main .prono_block .prono_items:first-of-type {
  margin-bottom: 0;
}

#prono .section_inner .section_main .prono_block .prono_items .prono_item {
  width: 48%;
  background-color: rgba(223, 235, 235, 0.7);
  padding: 40px;
}

@media screen and (max-width: 768px) {
  #prono .section_inner .section_main .prono_block .prono_items .prono_item {
    padding: 20px;
    width: 100%;
    margin-bottom: 20px;
  }
}

#prono .section_inner .section_main .prono_block .prono_items .prono_item .prono_item_subtitle {
  font-size: 1.8rem;
  font-weight: bold;
  border-bottom: 1px solid #000;
  padding-bottom: 16px;
  margin-bottom: 16px;
}

@media screen and (max-width: 768px) {
  #prono .section_inner .section_main .prono_block .prono_items .prono_item .prono_item_subtitle {
    font-size: 1.6rem;
  }
}

#prono .section_inner .section_main .prono_block .prono_items .prono_item p {
  text-align: justify;
  text-justify: inter-ideograph;
  padding-bottom: 8px;
}

#prono .section_inner .section_main .prono_block .prono_items .prono_item .prono_img {
  margin: 16px auto 0;
  width: 70%;
  max-width: 300px;
}

@media screen and (max-width: 768px) {
  #prono .section_inner .section_main .prono_block .prono_items .prono_item .prono_img {
    width: 80%;
  }
}

footer .img_block4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

footer .img_block4 div {
  width: 25%;
}

@media screen and (max-width: 768px) {
  footer .img_block4 div {
    width: 50%;
  }
}

footer .release {
  background-color: #000;
}

@media screen and (max-width: 768px) {
  footer .release {
    padding-bottom: 130px;
  }
}

@media screen and (max-width: 768px) {
  .introstory footer .release, .caststaff footer .release {
    padding-bottom: 130px;
  }
}
/*# sourceMappingURL=style.css.map */