html {
  font-size: 13px; }
  html body {
    color: #fff;
    padding: 0 !important; }
  html h1 {
    margin: 0; }
  html h2 {
    text-align: center;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.1rem;
    margin-bottom: 6rem; }
    @media (max-width: 768px) {
      html h2 {
        margin-bottom: 2rem; } }
    html h2 span {
      font-family: 'Noto Serif JP', serif;
      font-size: 1.6rem;
      line-height: 1.8;
      letter-spacing: 0.3rem; }
      @media (max-width: 768px) {
        html h2 span {
          font-size: 1.6rem; } }
  html h3 {
    font-weight: 600; }
  html img {
    width: 100%; }
  html p {
    line-height: 1.6; }
    html p.txt-letter {
      line-height: 1.2; }
  html ul {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.8rem;
    margin: 0; }
    html ul li {
      list-style: none; }
  html .visible-lg {
    display: none; }
    @media (max-width: 992px) {
      html .visible-lg {
        display: block; } }
  html header nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99;
    background: rgba(0, 0, 0, 0.7); }
    html header nav ul {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 0.8rem;
      margin: 0; }
      @media (max-width: 992px) {
        html header nav ul {
          justify-content: flex-start;
          padding: 0 0.5rem; } }
      html header nav ul li {
        font-family: 'Roboto', sans-serif;
        font-weight: bolder;
        font-size: 1rem;
        line-height: 1.2;
        letter-spacing: 0.2rem;
        text-align: center;
        list-style: none; }
        html header nav ul li span {
          font-size: 0.8rem;
          font-weight: 300;
          letter-spacing: 0.1rem; }
        html header nav ul li a {
          display: block;
          padding: 0.8rem 1rem;
          width: 100%;
          height: 100%;
          color: #fff;
          position: relative; }
          @media (max-width: 330px) {
            html header nav ul li a {
              padding: 0.4rem 0.5rem; } }
          html header nav ul li a:hover {
            color: #fff;
            text-decoration: none; }
          html header nav ul li a::after {
            background-color: #fff;
            bottom: 0;
            content: '';
            display: block;
            height: 4px;
            left: 0;
            position: absolute;
            transition: .5s all;
            width: 0; }
          html header nav ul li a:hover::after {
            width: 100%; }
        html header nav ul li.icon {
          display: flex;
          align-items: center;
          justify-content: center; }
          html header nav ul li.icon a:after {
            background: none; }
          html header nav ul li.icon img {
            width: 23px; }
        html header nav ul li.none {
          padding: 0.8rem 1rem;
          color: #888; }
  @media (max-width: 992px) {
    html header nav {
      height: 44px;
      overflow: hidden;
      transition: all 0.5s; }
      html header nav.active {
        height: 100vh; }
      html header nav .menu {
        display: flex;
        align-items: center;
        justify-content: center;
        height: calc(100vh - 44px); }
      html header nav ul {
        display: block;
        padding-bottom: 30px; }
        html header nav ul li {
          font-size: 1rem; }
          html header nav ul li span {
            font-size: 0.8rem; }
          html header nav ul li a:after {
            background: none; }
          html header nav ul li.icon {
            margin-top: 1.5rem; }
      html header nav .btn-menu,
      html header nav .btn-menu span {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box; }
      html header nav .btn-menu {
        display: none;
        padding: 0.8rem 0; } }
    @media (max-width: 992px) and (max-width: 992px) {
      html header nav .btn-menu {
        display: block; } }
  @media (max-width: 992px) {
        html header nav .btn-menu .btn-menu-inner {
          cursor: pointer;
          position: relative;
          width: 30px;
          height: 23px;
          margin-left: 1rem; }
          html header nav .btn-menu .btn-menu-inner span {
            position: absolute;
            left: 0;
            width: 100%;
            height: 3px;
            background-color: #fff;
            border-radius: 4px; }
            html header nav .btn-menu .btn-menu-inner span:nth-of-type(1) {
              top: 0; }
            html header nav .btn-menu .btn-menu-inner span:nth-of-type(2) {
              top: 10px; }
            html header nav .btn-menu .btn-menu-inner span:nth-of-type(3) {
              bottom: 0; }
      html header nav.active .btn-menu .btn-menu-inner span:nth-of-type(1) {
        -webkit-transform: translateY(10px) rotate(-45deg);
        transform: translateY(10px) rotate(-45deg); }
      html header nav.active .btn-menu .btn-menu-inner span:nth-of-type(2) {
        opacity: 0; }
      html header nav.active .btn-menu .btn-menu-inner span:nth-of-type(3) {
        -webkit-transform: translateY(-10px) rotate(45deg);
        transform: translateY(-10px) rotate(45deg); } }
  html main {
    background-color: #000; }
    html main .container {
      max-width: 970px;
      margin: 0; }
    html main .hero {
      background: #BA3D74;
      position: relative; }
      html main .hero .banner a {
        display: inline-block;
        position: absolute;
        bottom: 0rem; }
        html main .hero .banner a img {
          width: 170px; }
        html main .hero .banner a.banner1 {
          left: 1rem; }
        html main .hero .banner a.banner2 {
          right: 1rem; }
      @media (max-width: 768px) {
        html main .hero .banner {
          display: flex;
          align-items: center;
          justify-content: center;
          padding-top: 1rem; }
          html main .hero .banner a {
            position: relative; }
            html main .hero .banner a.banner1 {
              margin-left: 1rem;
              margin-right: 2rem; } }
    @media (max-width: 768px) {
      html main .hero2-pc {
        display: none; } }
    html main .hero2-sp {
      display: none; }
      @media (max-width: 768px) {
        html main .hero2-sp {
          display: block; } }
    html main .more-btn {
      display: block;
      text-align: center;
      color: #fff;
      border: 1px solid #fff;
      padding: 0.4rem;
      margin-top: 4rem;
      transition: all 0.3s; }
      html main .more-btn:hover {
        background: #fff;
        color: #BA3D74 !important;
        text-decoration: none !important; }
    html main section {
      display: flex;
      align-items: center;
      justify-content: center;
      padding-top: 4rem;
      padding-bottom: 4rem;
      background: #000; }
      @media (max-width: 768px) {
        html main section {
          padding-bottom: 2rem; } }
      html main section.full {
        width: 100%;
        height: 100vh;
        min-height: 680px; }
        @media (max-width: 768px) {
          html main section.full {
            height: auto;
            min-height: auto; } }
      html main section#news {
        background: #BA3D74; }
        html main section#news p {
          color: #fff; }
          html main section#news p.tit {
            margin-top: 1rem; }
        html main section#news .icon {
          position: relative;
          width: 70px;
          top: 2rem;
          right: -2rem; }
          @media (max-width: 768px) {
            html main section#news .icon {
              top: 0;
              right: 0; } }
        html main section#news a:hover p.tit {
          text-decoration: underline;
          color: #fff; }
        html main section#news .date {
          font-family: 'Roboto', sans-serif;
          font-weight: 500;
          font-size: 22px;
          margin: 0; }
          html main section#news .date span {
            font-size: 11px;
            margin-right: 4px; }
        @media (max-width: 768px) {
          html main section#news h2 {
            margin-bottom: 0; }
          html main section#news .row > div {
            padding-bottom: 2rem; }
          html main section#news .more-btn {
            margin-top: 1rem; } }
      html main section#trailer .movie {
        display: none; }
        html main section#trailer .movie.active {
          display: block; }
      html main section#trailer ul {
        padding: 0; }
        html main section#trailer ul li {
          padding: 0;
          width: 50%; }
          html main section#trailer ul li a {
            display: block;
            color: #fff;
            text-align: center;
            border: 1px solid #fff;
            width: 100%;
            padding: 0.5rem; }
            html main section#trailer ul li a.active, html main section#trailer ul li a:hover {
              background: #fff;
              color: #000;
              text-decoration: none; }
      html main section#intro {
        align-items: flex-end;
        padding-top: 10rem;
        background-image: url(../img/03-trailer-1.jpg);
        background-position: top center;
        background-size: cover; }
        html main section#intro .desc {
          display: flex; }
          html main section#intro .desc .tit {
            width: 95px; }
          html main section#intro .desc .txt {
            padding: 0.5rem 1rem;
            height: 30vh;
            overflow-y: auto;
            color: #fff; }
      html main section.column2 {
        padding: 0;
        align-items: flex-start;
        justify-content: flex-start; }
        @media (max-width: 768px) {
          html main section.column2 {
            display: block; } }
        html main section.column2 .col-left {
          width: 50%;
          height: 100%;
          content: ' '; }
          @media (max-width: 768px) {
            html main section.column2 .col-left {
              width: 100%; } }
        html main section.column2 .col-right {
          width: 50%;
          padding: 8rem 4rem 4rem;
          display: flex;
          align-items: center;
          justify-content: center;
          height: 100vh; }
          @media (max-width: 768px) {
            html main section.column2 .col-right {
              padding: 2rem 2rem 2rem;
              align-items: flex-start; } }
          @media (max-width: 768px) {
            html main section.column2 .col-right {
              width: 100%; } }
          html main section.column2 .col-right h2 {
            text-align: left;
            margin-bottom: 2rem; }
          html main section.column2 .col-right .hr {
            background: #fff;
            width: 30px;
            height: 1px; }
          html main section.column2 .col-right .txt {
            margin-top: 2rem;
            max-height: 70vh;
            overflow-y: auto; }
            html main section.column2 .col-right .txt p {
              line-height: 1.4; }
            html main section.column2 .col-right .txt h3 {
              color: #fff;
              font-size: 1.4rem;
              line-height: 1.6; }
      html main section#story .col-left {
        background: url(../img/04-story-1.jpg) top center/cover no-repeat; }
      html main section#story .col-right > div {
        position: relative; }
        html main section#story .col-right > div:before {
          position: absolute;
          z-index: 0;
          bottom: -3rem;
          right: -1rem;
          content: ' ';
          width: 100%;
          height: 100%;
          background: url(../img/illust1.png) right bottom/100px auto no-repeat; }
          @media (max-width: 768px) {
            html main section#story .col-right > div:before {
              bottom: -2rem;
              background-size: 90px auto; } }
        html main section#story .col-right > div .txt {
          position: relative;
          z-index: 2; }
      @media (max-width: 768px) {
        html main section#story {
          background: url(../img/04-story-1.jpg) top center/cover no-repeat; }
          html main section#story .col-left {
            display: none; }
          html main section#story .col-right {
            background: rgba(0, 0, 0, 0.4); } }
      html main section#comment .col-right {
        background: url(../img/05-comment-1.jpg) top center/cover no-repeat; }
        @media (max-width: 768px) {
          html main section#comment .col-right {
            display: none; } }
      html main section#comment .col-left {
        padding: 1rem 2rem;
        position: flex;
        align-items: center;
        justify-content: center; }
        @media (max-width: 768px) {
          html main section#comment .col-left {
            padding: 1rem 1rem 7rem;
            background: url(../img/05-comment-1.jpg) top center/cover no-repeat; } }
        html main section#comment .col-left > div {
          position: relative; }
          html main section#comment .col-left > div:before {
            position: absolute;
            z-index: 0;
            bottom: 2rem;
            right: 1rem;
            content: ' ';
            width: 100%;
            height: 100%;
            /*background: url(../img/illust2.png) right top / 180px auto no-repeat; */ }
            @media (max-width: 768px) {
              html main section#comment .col-left > div:before {
                bottom: -5rem;
                background-size: 120px auto; } }
          html main section#comment .col-left > div .comm-list {
            position: relative;
            z-index: 2; }
        html main section#comment .col-left h2 {
          text-align: left;
          margin-top: 1rem;
          margin-bottom: 2rem; }
        html main section#comment .col-left .hr {
          background: #fff;
          width: 30px;
          height: 1px;
          margin-bottom: 2rem; }
        html main section#comment .col-left .comm-list {
          column-count: 2;
          column-gap: 0;
          height: 80vh;
          overflow-y: auto; }
          @media (max-width: 768px) {
            html main section#comment .col-left .comm-list {
              column-count: 1;
              height: auto; } }
          html main section#comment .col-left .comm-list .com {
            background: #BA3D74;
            color: #fff;
            -webkit-column-break-inside: avoid;
            page-break-inside: avoid;
            break-inside: avoid;
            padding: 1rem;
            margin: 0rem 0.5rem 2rem;
            overflow-y: auto; }
            @media (max-width: 768px) {
              html main section#comment .col-left .comm-list .com {
                background: rgba(181, 61, 116, 0.8); } }
            html main section#comment .col-left .comm-list .com h3 {
              display: flex;
              align-items: flex-end;
              justify-content: space-between;
              font-size: 1.1rem;
              padding-bottom: 0.5rem;
              border-bottom: 1px solid #fff; }
              html main section#comment .col-left .comm-list .com h3 span {
                font-size: 0.9rem; }
            html main section#comment .col-left .comm-list .com p {
              font-size: 0.9rem;
              margin-bottom: 0; }
      html main section#character {
        background: #BA3D74; }
        html main section#character .container {
          margin: auto; }
        html main section#character > div {
          width: 100%; }
        html main section#character h3 {
          padding-right: 2rem;
          margin-bottom: 3rem; }
          html main section#character h3 img {
            max-width: 800px; }
      html main section#staff .col-left {
        background: url(../img/07-interview-1a.jpg) center center/cover no-repeat; }
      html main section#staff2 .col-left {
        background: url(../img/07-interview-2a.jpg) center center/cover no-repeat; }
      html main section.staff .col-left {
        display: flex;
        align-items: flex-end;
        position: relative; }
        html main section.staff .col-left .profile {
          padding: 0 3rem 3rem 7rem; }
          @media (max-width: 768px) {
            html main section.staff .col-left .profile {
              padding: 8rem 2rem 0rem 4rem; } }
          html main section.staff .col-left .profile h3 {
            font-size: 2rem;
            margin-bottom: 2rem;
            letter-spacing: 0.1rem; }
            html main section.staff .col-left .profile h3 span {
              font-size: 0.8rem; }
          html main section.staff .col-left .profile p {
            font-size: 0.9rem; }
        html main section.staff .col-left img.name {
          position: absolute;
          left: 0;
          bottom: 0;
          width: 50px;
          padding-bottom: 2rem; }
          @media (max-width: 768px) {
            html main section.staff .col-left img.name {
              padding-bottom: 0;
              width: 24px; } }
        html main section.staff .col-left p.name {
          font-family: 'Roboto', sans-serif;
          font-style: italic;
          font-weight: bold;
          font-size: 1.8rem;
          letter-spacing: 0.2rem;
          line-height: 1.2; }
      html main section b.que {
        display: block;
        margin: 0.2rem 0 1rem;
        font-size: 1.1rem; }
      html main section .comm-scroll {
        height: 17vh;
        overflow-y: auto; }
      html main section#cast .col-left {
        width: 40%;
        background: url(../img/07-interview-3.jpg) top center/cover no-repeat; }
        @media (max-width: 768px) {
          html main section#cast .col-left {
            width: 100%; } }
      html main section#cast .col-right {
        width: 60%; }
        @media (max-width: 768px) {
          html main section#cast .col-right {
            width: 100%; } }
      html main section#cast2 {
        background: #BA3D74;
        padding: 0;
        display: block; }
        html main section#cast2 .cast {
          display: flex; }
          @media (max-width: 768px) {
            html main section#cast2 .cast {
              display: block; } }
          html main section#cast2 .cast .fig {
            width: 40%; }
            @media (max-width: 768px) {
              html main section#cast2 .cast .fig {
                width: 100%; } }
          html main section#cast2 .cast .profile {
            width: 60%;
            padding: 2rem;
            display: flex;
            align-items: center;
            position: relative; }
            @media (max-width: 768px) {
              html main section#cast2 .cast .profile {
                width: 100%; } }
            html main section#cast2 .cast .profile h3 {
              display: flex;
              justify-content: space-between;
              font-size: 1.8rem;
              margin-bottom: 0rem; }
              html main section#cast2 .cast .profile h3 span {
                font-size: 0.8rem; }
              html main section#cast2 .cast .profile h3 .en {
                font-family: 'Roboto', sans-serif;
                font-weight: bold;
                font-style: italic;
                font-size: 1.8rem;
                letter-spacing: 0.2rem;
                line-height: 1.2; }
              @media (max-width: 768px) {
                html main section#cast2 .cast .profile h3 {
                  display: block; }
                  html main section#cast2 .cast .profile h3 .en {
                    text-align: right; } }
          html main section#cast2 .cast:nth-child(n+2) .profile:before {
            position: absolute;
            top: 0;
            left: 2rem;
            right: 0;
            padding: 0 2rem;
            width: 93%;
            height: 1px;
            background: #fff;
            content: ' '; }
            @media (max-width: 768px) {
              html main section#cast2 .cast:nth-child(n+2) .profile:before {
                height: 0; } }
      html main section#cast3 {
        display: flex;
        flex-wrap: wrap;
        padding: 0; }
        html main section#cast3 .cast {
          width: 16.65%; }
          @media (max-width: 768px) {
            html main section#cast3 .cast {
              width: 33.2%; } }
          html main section#cast3 .cast .fig {
            position: relative;
            overflow: hidden;
            cursor: pointer; }
            html main section#cast3 .cast .fig img {
              transition: all 0.3s; }
            html main section#cast3 .cast .fig:hover img {
              transform: scale(1.1); }
            html main section#cast3 .cast .fig .txt {
              position: absolute;
              z-index: 2;
              left: 0;
              bottom: 0;
              color: #fff;
              padding: 1rem 1rem 0; }
              html main section#cast3 .cast .fig .txt .en {
                font-size: 1.1rem;
                font-family: 'Roboto', sans-serif;
                font-weight: bold;
                font-style: italic;
                letter-spacing: 0.1rem;
                margin-bottom: 0rem; }
              html main section#cast3 .cast .fig .txt .name {
                font-size: 1.1rem; }
                html main section#cast3 .cast .fig .txt .name span {
                  font-size: 0.9rem; }
        html main section#cast3 .modal-dialog {
          width: 80%;
          max-width: 840px; }
          @media (max-width: 768px) {
            html main section#cast3 .modal-dialog {
              width: 90%;
              margin: auto; } }
          html main section#cast3 .modal-dialog .close {
            font-size: 4rem;
            position: absolute;
            top: 0.4rem;
            right: 1rem;
            z-index: 3; }
          html main section#cast3 .modal-dialog .modal-body {
            color: #000;
            padding: 2rem 5rem 3rem; }
            @media (max-width: 768px) {
              html main section#cast3 .modal-dialog .modal-body {
                padding: 1rem 3rem 2rem; } }
            html main section#cast3 .modal-dialog .modal-body .no {
              font-family: 'Noto Serif JP', serif;
              font-size: 1.2rem;
              margin: 1rem 0 0.5rem; }
            html main section#cast3 .modal-dialog .modal-body .profile {
              display: flex;
              align-items: center; }
              @media (max-width: 768px) {
                html main section#cast3 .modal-dialog .modal-body .profile {
                  display: block; } }
              html main section#cast3 .modal-dialog .modal-body .profile .image {
                width: 35%; }
                @media (max-width: 768px) {
                  html main section#cast3 .modal-dialog .modal-body .profile .image {
                    width: 100%;
                    text-align: center;
                    margin-bottom: 0.5rem; }
                    html main section#cast3 .modal-dialog .modal-body .profile .image img {
                      max-width: 100px; } }
              html main section#cast3 .modal-dialog .modal-body .profile .txt {
                width: 65%;
                padding-left: 2rem; }
                @media (max-width: 768px) {
                  html main section#cast3 .modal-dialog .modal-body .profile .txt {
                    width: 100%;
                    padding-left: 0; } }
                html main section#cast3 .modal-dialog .modal-body .profile .txt .name {
                  font-size: 1.4rem;
                  font-weight: 600; }
                  html main section#cast3 .modal-dialog .modal-body .profile .txt .name span {
                    font-size: 0.9rem;
                    font-weight: normal; }
                  @media (max-width: 768px) {
                    html main section#cast3 .modal-dialog .modal-body .profile .txt .name {
                      font-size: 1.2rem;
                      margin-bottom: 0.5rem; } }
                html main section#cast3 .modal-dialog .modal-body .profile .txt p.txt-letter {
                  height: 360px;
                  overflow-y: auto; }
                  @media (max-width: 768px) {
                    html main section#cast3 .modal-dialog .modal-body .profile .txt p.txt-letter {
                      height: 140px; } }
          html main section#cast3 .modal-dialog .modal-nav a {
            position: absolute;
            z-index: 2;
            font-size: 2rem;
            color: #000;
            width: 3rem;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center; }
            @media (max-width: 768px) {
              html main section#cast3 .modal-dialog .modal-nav a {
                font-size: 1.4rem; } }
          html main section#cast3 .modal-dialog .modal-nav .prev {
            top: 0;
            left: 1rem; }
            @media (max-width: 768px) {
              html main section#cast3 .modal-dialog .modal-nav .prev {
                left: 0.2rem; } }
          html main section#cast3 .modal-dialog .modal-nav .next {
            top: 0;
            right: 1rem; }
            @media (max-width: 768px) {
              html main section#cast3 .modal-dialog .modal-nav .next {
                right: 0.2rem; } }
      html main section#movie {
        background: url(../img/08-footer-1.jpg) top center/cover no-repeat;
        align-items: flex-end; }
        @media (max-width: 992px) {
          html main section#movie {
            display: block;
            height: auto;
            background: #000;
            padding-top: 0; } }
        html main section#movie h2 {
          padding-top: 8rem; }
          @media (max-width: 992px) {
            html main section#movie h2 {
              padding-top: 2rem; } }
        html main section#movie .share-btn {
          text-align: center;
          margin-bottom: 4rem; }
        html main section#movie .share-btn h3 {
          margin-top: 0; }
        html main section#movie .share-btn a {
          margin-left: 5px;
          margin-right: 5px;
          text-decoration: none; }
        html main section#movie .share-btn a img {
          width: 40px;
          filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.4)); }
    html main .blank {
      margin: 4rem 0; }
      @media (max-width: 768px) {
        html main .blank {
          margin: 2rem 0; } }
      html main .blank.plus {
        background: url(../img/icon-plus.png) center center/auto 100% no-repeat;
        height: 90px; }
        @media (max-width: 768px) {
          html main .blank.plus {
            height: 60px; } }
  html footer {
    background: #BA3D74;
    color: #fff;
    font-size: 0.8rem;
    text-align: center;
    padding: 0.5rem; }
    
    
.bnr {
  padding: 36px 20px 0 20px;
  text-align: center;
  background: #BA3D74;
}

.bnr img {
  width: auto;
  max-width: 100%;
}

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