@media screen and (max-width: 1080px) {
  #story .story-message .slidein-1 {
    width: 80%;
    height: calc(80vw * .56);
  }

  #story .story-message .slidein-2 {
    width: 60%;
    height: calc(60vw * .56);
    right: 20px;
    bottom: 80px;
  }
}

@media screen and (max-width: 479px) {
  /* common */
  .menu-icon {
    right: 20px;
    top: 20px;
  }

  section[title] {
    padding: 40px 20px;
  }

  section[title] h1 {
    padding: 0 20px 20px;
  }
  /* common */
  /* header */
  #toggle-menu li a {
    width: 100%;
    padding-right: 1.5em;
  }

  #toggle-menu li a　br {
    display: inline;
  }

  .officialsns {
    top: 95px;
  }
  /* header */
  /* FV */
  #fv {
    background: url('../img/mv.jpg') 35px 45px / 80% no-repeat #fff;
    margin: 0;
    display: block;
  }

  #fv .title-r {
    height: 100vh;
    position: absolute;
    right: 25px;
    width: calc(100% - 50px);
  }

  #fv .title-r h1 {
    height: calc(82vh - 65px);
    width: 35vw;
    margin: 0 0 50px auto;
  }

  #fv .title-r h1 img {
    object-position: bottom;
    object-fit: contain;
  }

  #fv .title-r p {
    margin: 0;
  }

  #fv .title-r p.title-cast {
    display: block;
    font-size: 18px;
    margin-bottom: 20px;
  }

  #fv .title-l {
    height: 100vh;
    margin: 0 25px;
    position: relative;
  }

  #fv .title-l img {
    display: none;
  }

  #fv .title-l p {
    margin-bottom: calc(12vh + 105px);
    font-size: 18px;
    line-height: 1.8em;
    position: absolute;
    bottom: 0;
  }
  /* FV */
  /* movie */
  #movie {
    display: block;
    padding: 0 20px 80px;
  }

  #movie div {
    width: 100%;
    margin-bottom: 40px;
    padding-top: 80px;
  }
  #movie div a img {
    filter: brightness(50%);
  }


  #movie div a {
    height: calc(100vw * .56);
  }

  .modaal-inner-wrapper {
    padding: 80px 0;
    overflow: hidden;
    max-height: calc(100vh - 0px);
  }

  .modaal-content-container {
    max-height: calc(100vh - 160px);
    overflow: scroll;
  }

  .modaal-video-wrap {
    top: 30%;
  }
  .modaal-video-container{
    max-width: 100%;
    max-height: 100%;
    height: calc(100vw * .56);
  }
  .modaal-wrapper .modaal-close {
    right: 20px;
    top: 20px;
  }
  /* movie */
  /* news */
  #news div {
    width: 100%;
    margin-bottom: 40px;
  }
  /* news */
  /* story */
  #story h1 {
    font-size: 32px;
    padding-bottom: 40px;
  }

  #story p {
    text-align: left;
    font-size: 17px;
  }

  #story .story-message {
    width: calc(100% + 40px);
    margin: 80px -20px -40px;
    padding: 60px 0 200px;
  }

  #story .story-message h2 {
    width: 25vw;
    margin: 0 auto 60px;
  }
  /* story */
  /* cast */
  #cast {
    padding: 80px 0;
  }

  .thumbnail {
    display: none;
  }

  .cast-main .slick.carousel i {
    font-size: 45px;
  }

  .cast-main .slick.carousel i[class*="left"] {
    left: calc(50% - 45px - 10px);
  }

  .cast-main .slick.carousel i[class*="right"] {
    right: calc(50% - 45px - 10px);
  }

  .cast-main .modaal-img {
    margin: 0 20px;
  }

  .cast-main .modaal-img img,
  .slick-slide img {
    height: calc(100vw - 85px);
  }

  .modaal-container .modaal-box-flex {
    display: block;
    height: 100%;
    padding: 0;
  }

  .modaal-container .modaal-box-flex img {
    padding-right: 0;
  }

  .cast-modaal {
    display: block !important;
    width: calc(100% - 40px);
    padding-top: 65px;
  }

  .modaal-img {
    display: inline-block;
    width: calc(50% - 10px);
  }

  .cast-modaal a:nth-of-type(2n) {
    margin-left: 10px;
  }

  .cast-modaal .modaal-img img {
    height: calc(41.66vw + 50px);
  }

  .modaal-container dl.profile dt {
    margin: 10px 0;
  }

  .modaal-img p,
  .modaal-container dl.profile dt {
    font-size: 18px;
    padding-top: 5px;
  }

  .modaal-img p span,
  .modaal-container dl.profile dt span {
    font-size: 16px;
    padding-bottom: 5px;
  }

  .modaal-img[href^="#modaal-box"] p::after {
    content: none;
  }
  /* cast */
  /* staff */
  #staff {
    margin-top: 40px;
  }

  #staff >div {
    margin: 0 0 20px;
    padding: 20px 20px 30px;
  }

  #staff >div h2 {
    font-size: 24px;
    margin-bottom: 10px;
  }

  #staff .origin {
    display: block;
  }

  #staff .origin img {
    margin: 20px auto;
    width: 90%;
    display: block;
  }
  /* staff */
  /* footer */
  footer {
    padding: 40px 20px;
  }

  footer img {
    height: auto;
    width: 25vw;
    display: block;
    margin: auto;
  }

  footer p {
    font-size: 14px;
    margin: 40px 0 20px;
  }
  /* footer */

}