@charset "UTF-8";
/*
	basic
----------------------------------------------*/
html {
  font-size: 62.5%; }

body {
  min-width: 1200px;
  margin: 0 auto;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  overflow-x: hidden;
  position: relative;
  word-break: break-word; }

* {
  zoom: 1;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

a:link {
  color: #003399; }

a:visited {
  color: #003399; }

a:hover,
a:focus,
a:active {
  color: #ca252b; }

.pc_n {
  display: none; }

.pc_b {
  display: block; }

.pc_i {
  display: inline; }

.sp_n {
  display: none !important; }

.sp_b {
  display: none !important; }

.sp_i {
  display: none !important; }

/*
    clearfix
----------------------------------------------*/
.clearfix:after, main .global-navi .inner:after, main .global-navi .inner ul:after, main .about .inner .frame ul:after, main .about-02 .inner .frame section ul li:after, main .broadcast .inner .frame section ul:after, main .cast-staff .inner .frame section:nth-of-type(1) ul:after, main .technology .inner .frame section section:after, main .technology .inner .frame .technology-03 section ul:after, footer ul:after {
  display: block;
  clear: both;
  content: ""; }

/************************************************
loading
************************************************/
.loading {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url("../img/bg_loading.png") #911d22;
  z-index: 10000; }
  .loading .loading-contents {
    position: absolute;
    margin: 0 auto;
    text-align: center;
    right: 0;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
    .loading .loading-contents figure img {
      -webkit-animation: spin 5s linear infinite;
              animation: spin 5s linear infinite; }
    .loading .loading-contents p {
      margin: 20px 0 0 0;
      color: #fff;
      font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "MS 明朝", "Hiragino Mincho ProN", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
      font-size: 16px;
      font-size: 16px;
      font-size: 1.6rem; }
      .loading .loading-contents p span {
        -webkit-animation: blink 1.2s ease-in-out infinite;
                animation: blink 1.2s ease-in-out infinite; }
        .loading .loading-contents p span:nth-of-type(2) {
          -webkit-animation-delay: 0.15s;
                  animation-delay: 0.15s; }
        .loading .loading-contents p span:nth-of-type(3) {
          -webkit-animation-delay: 0.30s;
                  animation-delay: 0.30s; }
        .loading .loading-contents p span:nth-of-type(4) {
          -webkit-animation-delay: 0.45s;
                  animation-delay: 0.45s; }
        .loading .loading-contents p span:nth-of-type(5) {
          -webkit-animation-delay: 0.60s;
                  animation-delay: 0.60s; }
        .loading .loading-contents p span:nth-of-type(6) {
          -webkit-animation-delay: 0.75s;
                  animation-delay: 0.75s; }
        .loading .loading-contents p span:nth-of-type(7) {
          -webkit-animation-delay: 0.9s;
                  animation-delay: 0.9s; }
        .loading .loading-contents p span:nth-of-type(8) {
          -webkit-animation-delay: 1.05s;
                  animation-delay: 1.05s; }
        .loading .loading-contents p span:nth-of-type(9) {
          -webkit-animation-delay: 1.2s;
                  animation-delay: 1.2s; }
        .loading .loading-contents p span:nth-of-type(10) {
          -webkit-animation-delay: 1.35s;
                  animation-delay: 1.35s; }

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@-webkit-keyframes blink {
  0% {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  100% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; } }

@keyframes blink {
  0% {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  100% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; } }

/************************************************
header
************************************************/
/*
    initialize
----------------------------------------------*/
header a,
header a:link {
  color: #2bc6f9;
  text-decoration: none;
  outline: none; }

header a:visited {
  text-decoration: none; }

header a:hover,
header a:active {
  color: #2bc6f9;
  text-decoration: none; }

/*
    siteHeader Wrap
----------------------------------------------*/
header {
  width: 100%;
  min-width: 1200px;
  background: #272727;
  font-size: 13px;
  z-index: 9999;
  top: 0;
  left: 0;
  position: fixed;
  text-align: left; }

header .header-Inner {
  position: relative;
  background: #272727;
  width: 984px;
  height: 36px;
  margin: 0 auto;
  zoom: 1; }

/*
    siteHeader Common
----------------------------------------------*/
header .header-Inner ul {
  zoom: 1; }

header .header-Inner ul li {
  position: relative;
  float: left; }

header .header-Inner ul li a {
  display: inline-block;
  color: #fff;
  font-size: 93%;
  border-left: none;
  margin-right: -2px; }

header .header-Inner ul li a span {
  padding: 0 6px 0 6px;
  border-right: #666 solid 1px;
  cursor: pointer; }

header .header-Inner ul li a:hover span {
  border-right: #272727 solid 1px; }

/*
    social-list
----------------------------------------------*/
header .header-Inner .social-list {
  float: right; }

header .header-Inner .social-list .twitter-btn {
  /*    width  : 120px;*/
  margin: 0 10px 0 0;
  padding: 8px 0 0 0; }

iframe.twitter-share-button {
  margin: 0 7px 0 0; }

.social-balloon {
  position: relative;
  display: inline-block;
  vertical-align: top;
  margin-left: 0px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 2px; }

.social-balloon:after,
.social-balloon:before {
  position: absolute;
  right: 100%;
  top: 50%;
  height: 0;
  width: 0;
  pointer-events: none;
  border: solid transparent;
  content: " "; }

.social-balloon:after {
  border-color: rgba(255, 255, 255, 0);
  border-right-color: #fff;
  border-width: 4px;
  margin-top: -4px; }

.social-balloon:before {
  border-color: rgba(192, 192, 192, 0);
  border-right-color: #ccc;
  border-width: 5px;
  margin-top: -5px; }

.social-balloon a {
  height: 18px;
  line-height: 18px;
  font-size: 10px !important;
  padding: 0 6px 0 3px;
  margin: 0;
  color: #4e5665 !important; }

header .header-Inner .social-list .facebook-btn {
  width: 110px;
  padding: 8px 0 0 0; }

/************************************************
main
************************************************/
main {
  display: block;
  padding: 106px 0 0 0; }
  main .global-navi {
    width: 100%;
    height: 70px;
    position: fixed;
    top: 36px;
    left: 0;
    background: #000;
    z-index: 99; }
    main .global-navi .inner {
      width: 981px;
      height: 100%;
      margin: 0 auto; }
      main .global-navi .inner ul {
        height: 100%;
        float: left; }
        main .global-navi .inner ul li {
          height: 100%;
          float: left;
          display: table; }
          main .global-navi .inner ul li a {
            font-size: 14px;
            font-size: 14px;
            font-size: 1.4rem;
            font-weight: bold;
            color: #cfb481;
            text-decoration: none;
            text-align: center;
            line-height: 1.28571;
            display: table-cell;
            vertical-align: middle;
            position: relative;
            transition: 0.3s; }
            main .global-navi .inner ul li a:after {
              content: "";
              width: 0;
              height: 2px;
              margin: 0 auto;
              background: #ca252b;
              position: absolute;
              right: 0;
              left: 0;
              transition: 0.3s; }
            main .global-navi .inner ul li a:hover {
              color: #ca252b; }
              main .global-navi .inner ul li a:hover:after {
                width: 100%; }
          main .global-navi .inner ul li:nth-child(1) a:after, main .global-navi .inner ul li:nth-child(3) a:after, main .global-navi .inner ul li:nth-child(6) a:after, main .global-navi .inner ul li:nth-child(7) a:after {
            bottom: 23px; }
          main .global-navi .inner ul li:nth-child(2) a:after, main .global-navi .inner ul li:nth-child(4) a:after, main .global-navi .inner ul li:nth-child(5) a:after {
            bottom: 15px; }
        main .global-navi .inner ul li + li {
          margin: 0 0 0 30px; }
      main .global-navi .inner .btn-last-year {
        margin: 13px 0 0 0;
        float: right; }
        main .global-navi .inner .btn-last-year a {
          width: 143px;
          padding: 4.2px 0;
          display: block;
          font-size: 14px;
          font-size: 14px;
          font-size: 1.4rem;
          font-weight: bold;
          color: #fff;
          text-decoration: none;
          text-align: center;
          line-height: 1.21428;
          background: #c82979;
          border-radius: 5px;
          border: 1px solid #c82979;
          transition: 0.3s; }
          main .global-navi .inner .btn-last-year a:hover {
            color: #c82979;
            background: #fff; }
  main .mainvisual {
    width: 100%;
    height: 960px;
    background: url("../img/pc/mainvisual/img_mainvisual.png") 50% 0 no-repeat #550a0e;
    background-size: 1439;
    position: relative;
    overflow: hidden; }
    main .mainvisual .information {
      margin: 0 auto;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      opacity: 0;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
      text-align: center; }
    main .mainvisual .catchcopy {
      margin: 0 auto;
      position: absolute;
      top: 147px;
      left: 0;
      right: 0;
      text-align: center;
      opacity: 0;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
      transition: 2s;
      -webkit-transform: translate(0, 20px);
          -ms-transform: translate(0, 20px);
              transform: translate(0, 20px); }
    main .mainvisual canvas {
      position: absolute;
      top: 0;
      left: 0; }
  main .news {
    padding: 16px 0 16px 0;
    background: #aa1e24; }
    main .news .inner {
      width: 900px;
      height: 100%;
      margin: 0 auto; }
      main .news .inner h2 {
        font-size: 14px;
        font-size: 14px;
        font-size: 1.4rem;
        color: #000;
        display: inline-block;
        line-height: 1.3;
        -webkit-transform: translate(0, 2px);
            -ms-transform: translate(0, 2px);
                transform: translate(0, 2px); }
        main .news .inner h2 span {
          padding: 5px 10px;
          background: #fff;
          border-radius: 100px; }
      main .news .inner p {
        width: 790px;
        margin: 0 0 0 10px;
        font-size: 16px;
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.3;
        display: inline-block;
        vertical-align: middle; }
        main .news .inner p a {
          color: #fff;
          transition: 0.3s; }
          main .news .inner p a:hover {
            color: #fffb18; }
  main .place-date {
    padding: 40px 0 50px 0;
    background: url("../img/bg_black.png"); }
    main .place-date .inner {
      width: 981px;
      height: 100%;
      margin: 0 auto; }
      main .place-date .inner .frame {
        width: 900px;
        margin: 0 auto;
        padding: 40px 40px 50px 40px;
        background: #fff;
        border: 3px solid #ae1a22;
        position: relative; }
        main .place-date .inner .frame:before {
          content: "";
          width: 904px;
          height: 22px;
          background: url("../img/pc/img_frame_top.png") 0 0 no-repeat;
          position: absolute;
          top: -4px;
          left: -4px; }
        main .place-date .inner .frame:after {
          content: "";
          width: 904px;
          height: 22px;
          background: url("../img/pc/img_frame_bottom.png") 0 0 no-repeat;
          position: absolute;
          bottom: -4px;
          left: -4px; }
        main .place-date .inner .frame h2 {
          margin: 0 0 50px 0;
          padding: 0 0 0 68px;
          font-size: 22px;
          font-size: 22px;
          font-size: 2.2rem;
          font-weight: bold;
          color: #ca252b;
          position: relative;
          letter-spacing: 1px; }
          main .place-date .inner .frame h2:before {
            content: "";
            width: 54px;
            height: 49px;
            background: url("../img/pc/icon_heading.png") 0 0 no-repeat;
            position: absolute;
            top: 50%;
            -webkit-transform: translate(0, -50%);
                -ms-transform: translate(0, -50%);
                    transform: translate(0, -50%);
            left: 0; }
        main .place-date .inner .frame dl dt {
          margin: 2px 30px 0 0;
          font-size: 14px;
          font-size: 14px;
          font-size: 1.4rem;
          color: #fff;
          display: inline-block;
          vertical-align: top; }
          main .place-date .inner .frame dl dt span {
            padding: 5px 15px;
            background: #333;
            border-radius: 25% / 50%; }
        main .place-date .inner .frame dl dd {
          font-size: 16px;
          font-size: 16px;
          font-size: 1.6rem;
          display: inline-block;
          vertical-align: top; }
          main .place-date .inner .frame dl dd dl dt {
            margin: 0 60px 0 0;
            font-size: 16px;
            font-size: 16px;
            font-size: 1.6rem;
            color: #000;
            display: inline-block;
            vertical-align: middle; }
          main .place-date .inner .frame dl dd dl dd {
            font-size: 16px;
            font-size: 16px;
            font-size: 1.6rem;
            display: inline-block;
            vertical-align: middle; }
          main .place-date .inner .frame dl dd dl + dl {
            margin: 20px 0 0 0; }
        main .place-date .inner .frame dl + dl {
          margin: 30px 0 0 0; }
  main .about {
    padding: 40px 0 50px 0;
    background: url("../img/bg_ocher.png"); }
    main .about .inner {
      width: 981px;
      height: 100%;
      margin: 0 auto; }
      main .about .inner .frame {
        width: 900px;
        margin: 0 auto;
        padding: 40px 40px 50px 40px;
        background: #fff;
        border: 3px solid #ae1a22;
        position: relative;
        background: url("../img/pc/bg_frame_top.png") 100% 0 no-repeat #fff; }
        main .about .inner .frame:before {
          content: "";
          width: 904px;
          height: 22px;
          background: url("../img/pc/img_frame_top.png") 0 0 no-repeat;
          position: absolute;
          top: -4px;
          left: -4px; }
        main .about .inner .frame:after {
          content: "";
          width: 904px;
          height: 22px;
          background: url("../img/pc/img_frame_bottom.png") 0 0 no-repeat;
          position: absolute;
          bottom: -4px;
          left: -4px; }
        main .about .inner .frame h2 {
          margin: 0 0 50px 0;
          padding: 0 0 0 68px;
          font-size: 22px;
          font-size: 22px;
          font-size: 2.2rem;
          font-weight: bold;
          color: #ca252b;
          position: relative;
          letter-spacing: 1px; }
          main .about .inner .frame h2:before {
            content: "";
            width: 54px;
            height: 49px;
            background: url("../img/pc/icon_heading.png") 0 0 no-repeat;
            position: absolute;
            top: 50%;
            -webkit-transform: translate(0, -50%);
                -ms-transform: translate(0, -50%);
                    transform: translate(0, -50%);
            left: 0; }
        main .about .inner .frame ul {
          margin: 0 0 40px 0; }
          main .about .inner .frame ul li:nth-child(1) {
            float: left; }
          main .about .inner .frame ul li:nth-child(2) {
            float: right; }
        main .about .inner .frame section h3 {
          margin: 0 0 20px 0; }
        main .about .inner .frame section p {
          font-size: 16px;
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 1.625; }
        main .about .inner .frame section p + p {
          margin: 26px 0 0 0; }
        main .about .inner .frame section + section {
          margin: 40px 0 0 0; }
  main .about-02 {
    padding: 40px 0 50px 0;
    background: url("../img/bg_ocher.png"); }
    main .about-02 .inner {
      width: 981px;
      height: 100%;
      margin: 0 auto; }
      main .about-02 .inner .frame {
        width: 900px;
        margin: 0 auto;
        padding: 40px 40px 50px 40px;
        background: #fff;
        border: 3px solid #ae1a22;
        position: relative;
        background: url("../img/pc/bg_frame_top.png") 100% 0 no-repeat #fff; }
        main .about-02 .inner .frame:before {
          content: "";
          width: 904px;
          height: 22px;
          background: url("../img/pc/img_frame_top.png") 0 0 no-repeat;
          position: absolute;
          top: -4px;
          left: -4px; }
        main .about-02 .inner .frame:after {
          content: "";
          width: 904px;
          height: 22px;
          background: url("../img/pc/img_frame_bottom.png") 0 0 no-repeat;
          position: absolute;
          bottom: -4px;
          left: -4px; }
        main .about-02 .inner .frame h2 {
          margin: 0 0 50px 0;
          padding: 0 0 0 68px;
          font-size: 22px;
          font-size: 22px;
          font-size: 2.2rem;
          font-weight: bold;
          color: #ca252b;
          position: relative;
          letter-spacing: 1px; }
          main .about-02 .inner .frame h2:before {
            content: "";
            width: 54px;
            height: 49px;
            background: url("../img/pc/icon_heading.png") 0 0 no-repeat;
            position: absolute;
            top: 50%;
            -webkit-transform: translate(0, -50%);
                -ms-transform: translate(0, -50%);
                    transform: translate(0, -50%);
            left: 0; }
        main .about-02 .inner .frame section h3 {
          margin: 0 0 20px 0;
          padding: 0 0 30px 0;
          text-align: center;
          border-bottom: 1px solid #e3d4b7; }
        main .about-02 .inner .frame section ul {
          margin: 0 0 40px 0; }
          main .about-02 .inner .frame section ul li {
            padding: 0 0 30px 0;
            border-bottom: 1px solid #e3d4b7; }
            main .about-02 .inner .frame section ul li h4 {
              float: left; }
            main .about-02 .inner .frame section ul li .detail {
              width: 760px;
              margin: 0 0 0 30px;
              float: left; }
              main .about-02 .inner .frame section ul li .detail h5 {
                margin: 0 0 20px 0;
                font-size: 18px;
                font-size: 18px;
                font-size: 1.8rem;
                color: #a4874d; }
              main .about-02 .inner .frame section ul li .detail p {
                font-size: 16px;
                font-size: 16px;
                font-size: 1.6rem;
                line-height: 1.625; }
          main .about-02 .inner .frame section ul li + li {
            margin: 30px 0 0 0; }
        main .about-02 .inner .frame section + section {
          margin: 60px 0 0 0; }
          main .about-02 .inner .frame section + section h3 {
            margin: 0 0 40px 0;
            padding: 0;
            border: none; }
          main .about-02 .inner .frame section + section p {
            font-size: 16px;
            font-size: 16px;
            font-size: 1.6rem;
            line-height: 1.625; }
          main .about-02 .inner .frame section + section p + p {
            margin: 30px 0 0 0; }
  main .broadcast {
    padding: 40px 0 50px 0;
    background: url("../img/bg_black.png"); }
    main .broadcast .inner {
      width: 981px;
      height: 100%;
      margin: 0 auto; }
      main .broadcast .inner .frame {
        width: 900px;
        margin: 0 auto;
        padding: 40px 40px 50px 40px;
        background: #fff;
        border: 3px solid #ae1a22;
        position: relative; }
        main .broadcast .inner .frame:before {
          content: "";
          width: 904px;
          height: 22px;
          background: url("../img/pc/img_frame_top.png") 0 0 no-repeat;
          position: absolute;
          top: -4px;
          left: -4px; }
        main .broadcast .inner .frame:after {
          content: "";
          width: 904px;
          height: 22px;
          background: url("../img/pc/img_frame_bottom.png") 0 0 no-repeat;
          position: absolute;
          bottom: -4px;
          left: -4px; }
        main .broadcast .inner .frame h2 {
          margin: 0 0 50px 0;
          padding: 0 0 0 68px;
          font-size: 22px;
          font-size: 22px;
          font-size: 2.2rem;
          font-weight: bold;
          color: #ca252b;
          position: relative;
          letter-spacing: 1px; }
          main .broadcast .inner .frame h2:before {
            content: "";
            width: 54px;
            height: 49px;
            background: url("../img/pc/icon_heading.png") 0 0 no-repeat;
            position: absolute;
            top: 50%;
            -webkit-transform: translate(0, -50%);
                -ms-transform: translate(0, -50%);
                    transform: translate(0, -50%);
            left: 0; }
        main .broadcast .inner .frame section h3 {
          width: 120px;
          height: 176px;
          margin: 0 20px 0 0;
          display: block;
          background: url("../img/pc/broadcast/bg_heading.png") 0 0 no-repeat;
          position: relative;
          display: inline-block;
          vertical-align: top; }
          main .broadcast .inner .frame section h3 img {
            margin: 0 auto;
            position: absolute;
            top: 50%;
            -webkit-transform: translate(0, -50%);
                -ms-transform: translate(0, -50%);
                    transform: translate(0, -50%);
            right: 0;
            left: 0; }
        main .broadcast .inner .frame section ul {
          width: 650px;
          display: inline-block;
          vertical-align: top; }
          main .broadcast .inner .frame section ul li {
            float: left; }
            main .broadcast .inner .frame section ul li:nth-child(2n+1) {
              margin: 25px 0 0 0; }
            main .broadcast .inner .frame section ul li:nth-child(2) {
              margin: 0 0 0 25px; }
            main .broadcast .inner .frame section ul li:nth-child(1) {
              margin: 0 0 0 0; }
          main .broadcast .inner .frame section ul li + li {
            margin: 25px 0 0 25px; }
        main .broadcast .inner .frame section + section {
          margin: 30px 0 0 0; }
  main .ticket {
    padding: 40px 0 50px 0;
    background: url("../img/bg_ocher.png"); }
    main .ticket .inner {
      width: 981px;
      height: 100%;
      margin: 0 auto; }
      main .ticket .inner .frame {
        width: 900px;
        margin: 0 auto;
        padding: 40px 40px 50px 40px;
        background: #fff;
        border: 3px solid #ae1a22;
        position: relative;
        background: url("../img/pc/bg_frame_top.png") 100% 0 no-repeat #fff;
        text-align: center; }
        main .ticket .inner .frame:before {
          content: "";
          width: 904px;
          height: 22px;
          background: url("../img/pc/img_frame_top.png") 0 0 no-repeat;
          position: absolute;
          top: -4px;
          left: -4px; }
        main .ticket .inner .frame:after {
          content: "";
          width: 904px;
          height: 22px;
          background: url("../img/pc/img_frame_bottom.png") 0 0 no-repeat;
          position: absolute;
          bottom: -4px;
          left: -4px; }
        main .ticket .inner .frame h2 {
          margin: 0 0 40px 0;
          padding: 0 0 0 68px;
          font-size: 22px;
          font-size: 22px;
          font-size: 2.2rem;
          font-weight: bold;
          color: #ca252b;
          position: relative;
          letter-spacing: 1px;
          text-align: left; }
          main .ticket .inner .frame h2:before {
            content: "";
            width: 54px;
            height: 49px;
            background: url("../img/pc/icon_heading.png") 0 0 no-repeat;
            position: absolute;
            top: 50%;
            -webkit-transform: translate(0, -50%);
                -ms-transform: translate(0, -50%);
                    transform: translate(0, -50%);
            left: 0; }
        main .ticket .inner .frame p {
          font-size: 16px;
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 1.625;
          text-align: left; }
          main .ticket .inner .frame p span {
            color: #e12600; }
        main .ticket .inner .frame section:nth-of-type(1), main .ticket .inner .frame section:nth-of-type(2) {
          width: 385px;
          margin: 45px 0 0 0;
          display: inline-block;
          vertical-align: top;
          text-align: left; }
          main .ticket .inner .frame section:nth-of-type(1) h3, main .ticket .inner .frame section:nth-of-type(2) h3 {
            margin: 0 0 15px 0;
            text-align: center; }
          main .ticket .inner .frame section:nth-of-type(1) p.position, main .ticket .inner .frame section:nth-of-type(2) p.position {
            margin: 0 0 20px 0;
            color: #e12600;
            text-align: center; }
          main .ticket .inner .frame section:nth-of-type(1) figure, main .ticket .inner .frame section:nth-of-type(2) figure {
            margin: 0 0 30px 0; }
          main .ticket .inner .frame section:nth-of-type(1) .detail, main .ticket .inner .frame section:nth-of-type(2) .detail {
            margin: 0 0 25px 0; }
            main .ticket .inner .frame section:nth-of-type(1) .detail p.attention, main .ticket .inner .frame section:nth-of-type(2) .detail p.attention {
              margin: 10px 0 0 0;
              color: #e12600; }
          main .ticket .inner .frame section:nth-of-type(1) .btn a, main .ticket .inner .frame section:nth-of-type(2) .btn a {
            width: 100%;
            padding: 11.6px 0;
            display: block;
            font-size: 20px;
            font-size: 20px;
            font-size: 2.0rem;
            line-height: 1.3;
            color: #fff;
            border-radius: 38px;
            background: #000;
            border: 1px solid #000;
            text-align: center;
            text-decoration: none;
            transition: 0.3s; }
            main .ticket .inner .frame section:nth-of-type(1) .btn a:hover, main .ticket .inner .frame section:nth-of-type(2) .btn a:hover {
              color: #000;
              background: #fff; }
              main .ticket .inner .frame section:nth-of-type(1) .btn a:hover span, main .ticket .inner .frame section:nth-of-type(2) .btn a:hover span {
                color: #e12600; }
            main .ticket .inner .frame section:nth-of-type(1) .btn a span, main .ticket .inner .frame section:nth-of-type(2) .btn a span {
              color: #ffec1e;
              transition: 0.3s; }
              main .ticket .inner .frame section:nth-of-type(1) .btn a span:nth-of-type(2), main .ticket .inner .frame section:nth-of-type(2) .btn a span:nth-of-type(2) {
                font-size: 16px;
                font-size: 16px;
                font-size: 1.6rem; }
        main .ticket .inner .frame section:nth-of-type(2) {
          margin: 45px 0 0 30px; }
        main .ticket .inner .frame section:nth-of-type(3) {
          margin: 50px 0 0 0; }
          main .ticket .inner .frame section:nth-of-type(3) h3 {
            margin: 0 0 15px 0;
            text-align: left; }
          main .ticket .inner .frame section:nth-of-type(3) ul li {
            text-align: left;
            font-size: 16px;
            font-size: 16px;
            font-size: 1.6rem;
            line-height: 1.625;
            text-align: left;
            text-indent: -1em;
            padding: 0 0 0 1em; }
          main .ticket .inner .frame section:nth-of-type(3) ul li + li {
            margin: 10px 0 0 0; }
  main .cast-staff {
    padding: 40px 0 50px 0;
    background: url("../img/bg_black.png"); }
    main .cast-staff .inner {
      width: 981px;
      height: 100%;
      margin: 0 auto; }
      main .cast-staff .inner .frame {
        width: 900px;
        margin: 0 auto;
        padding: 40px 40px 90px 40px;
        background: #fff;
        border: 3px solid #ae1a22;
        position: relative;
        background: url("../img/pc/bg_frame_top.png") 100% 0 no-repeat, url("../img/pc/bg_frame_bottom.png") 0 100% no-repeat #fff;
        text-align: center; }
        main .cast-staff .inner .frame:before {
          content: "";
          width: 904px;
          height: 22px;
          background: url("../img/pc/img_frame_top.png") 0 0 no-repeat;
          position: absolute;
          top: -4px;
          left: -4px; }
        main .cast-staff .inner .frame:after {
          content: "";
          width: 904px;
          height: 22px;
          background: url("../img/pc/img_frame_bottom.png") 0 0 no-repeat;
          position: absolute;
          bottom: -4px;
          left: -4px; }
        main .cast-staff .inner .frame h2 {
          margin: 0 0 40px 0;
          padding: 0 0 0 68px;
          font-size: 22px;
          font-size: 22px;
          font-size: 2.2rem;
          font-weight: bold;
          color: #ca252b;
          position: relative;
          letter-spacing: 1px;
          text-align: left; }
          main .cast-staff .inner .frame h2:before {
            content: "";
            width: 54px;
            height: 49px;
            background: url("../img/pc/icon_heading.png") 0 0 no-repeat;
            position: absolute;
            top: 50%;
            -webkit-transform: translate(0, -50%);
                -ms-transform: translate(0, -50%);
                    transform: translate(0, -50%);
            left: 0; }
        main .cast-staff .inner .frame section h3 {
          margin: 0 0 30px 0; }
        main .cast-staff .inner .frame section:nth-of-type(1) ul {
          width: 784px;
          margin: 0 auto; }
          main .cast-staff .inner .frame section:nth-of-type(1) ul li {
            float: left; }
            main .cast-staff .inner .frame section:nth-of-type(1) ul li:nth-child(3) {
              margin: 40px 0 0 0; }
            main .cast-staff .inner .frame section:nth-of-type(1) ul li:nth-child(2) {
              margin: 0 0 0 50px; }
            main .cast-staff .inner .frame section:nth-of-type(1) ul li:nth-child(1) {
              margin: 0 0 0 139px; }
            main .cast-staff .inner .frame section:nth-of-type(1) ul li figure img {
              margin: 0 0 20px 0; }
            main .cast-staff .inner .frame section:nth-of-type(1) ul li figure figcaption .role {
              margin: 0 0 15px 0;
              font-size: 16px;
              font-size: 16px;
              font-size: 1.6rem; }
            main .cast-staff .inner .frame section:nth-of-type(1) ul li figure figcaption .actor {
              font-size: 20px;
              font-size: 20px;
              font-size: 2.0rem;
              color: #956e31; }
          main .cast-staff .inner .frame section:nth-of-type(1) ul li + li {
            margin: 40px 0 0 50px; }
        main .cast-staff .inner .frame section:nth-of-type(2) ul li dl {
          font-size: 16px;
          font-size: 16px;
          font-size: 1.6rem; }
          main .cast-staff .inner .frame section:nth-of-type(2) ul li dl dt {
            width: 300px;
            margin: 0 80px 0 0;
            display: inline-block;
            vertical-align: middle;
            text-align: right;
            position: relative; }
            main .cast-staff .inner .frame section:nth-of-type(2) ul li dl dt:after {
              content: "…";
              position: absolute;
              top: 50%;
              -webkit-transform: translate(0, -50%);
                  -ms-transform: translate(0, -50%);
                      transform: translate(0, -50%);
              right: -50px; }
          main .cast-staff .inner .frame section:nth-of-type(2) ul li dl dd {
            width: 300px;
            display: inline-block;
            vertical-align: middle;
            color: #956e31;
            text-align: left; }
        main .cast-staff .inner .frame section:nth-of-type(2) ul li:nth-child(3), main .cast-staff .inner .frame section:nth-of-type(2) ul li:nth-child(5) {
          margin: 30px 0 0 0; }
        main .cast-staff .inner .frame section:nth-of-type(2) ul li + li {
          margin: 20px 0 0 0; }
        main .cast-staff .inner .frame section + section {
          margin: 70px 0 0 0; }
  main .technology {
    padding: 40px 0 50px 0;
    background: url("../img/bg_ocher.png"); }
    main .technology .inner {
      width: 981px;
      height: 100%;
      margin: 0 auto; }
      main .technology .inner .frame {
        width: 900px;
        margin: 0 auto;
        padding: 40px 40px 50px 40px;
        background: #fff;
        border: 3px solid #ae1a22;
        position: relative; }
        main .technology .inner .frame:before {
          content: "";
          width: 904px;
          height: 22px;
          background: url("../img/pc/img_frame_top.png") 0 0 no-repeat;
          position: absolute;
          top: -4px;
          left: -4px; }
        main .technology .inner .frame:after {
          content: "";
          width: 904px;
          height: 22px;
          background: url("../img/pc/img_frame_bottom.png") 0 0 no-repeat;
          position: absolute;
          bottom: -4px;
          left: -4px; }
        main .technology .inner .frame h2 {
          margin: 0 0 60px 0;
          padding: 0 0 0 68px;
          font-size: 22px;
          font-size: 22px;
          font-size: 2.2rem;
          font-weight: bold;
          color: #ca252b;
          position: relative;
          letter-spacing: 1px; }
          main .technology .inner .frame h2:before {
            content: "";
            width: 54px;
            height: 49px;
            background: url("../img/pc/icon_heading.png") 0 0 no-repeat;
            position: absolute;
            top: 50%;
            -webkit-transform: translate(0, -50%);
                -ms-transform: translate(0, -50%);
                    transform: translate(0, -50%);
            left: 0; }
        main .technology .inner .frame section h3 {
          margin: 0 0 30px 0; }
        main .technology .inner .frame section section {
          padding: 0 0 30px 0;
          border-bottom: 1px solid #e3d4b7; }
          main .technology .inner .frame section section h4 {
            margin: 0 0 25px 0;
            font-size: 20px;
            font-size: 20px;
            font-size: 2.0rem;
            font-weight: bold;
            color: #ca252b; }
          main .technology .inner .frame section section h5 {
            margin: 0 0 25px 0;
            font-size: 18px;
            font-size: 18px;
            font-size: 1.8rem;
            color: #a4874d; }
          main .technology .inner .frame section section p {
            font-size: 16px;
            font-size: 16px;
            font-size: 1.6rem;
            line-height: 1.875; }
            main .technology .inner .frame section section p span {
              color: #ca252b; }
          main .technology .inner .frame section section p + p {
            margin: 30px 0 0 0; }
          main .technology .inner .frame section section .detail {
            width: 385px;
            float: left; }
            main .technology .inner .frame section section .detail .caption {
              margin: 0 0 0 0;
              font-size: 14px;
              font-size: 14px;
              font-size: 1.4rem; }
          main .technology .inner .frame section section figure {
            float: right; }
            main .technology .inner .frame section section figure img {
              margin: 0 0 10px 0; }
            main .technology .inner .frame section section figure figcaption {
              font-size: 14px;
              font-size: 14px;
              font-size: 1.4rem;
              text-align: right; }
        main .technology .inner .frame section section + section {
          margin: 30px 0 0 0; }
        main .technology .inner .frame .technology-02 {
          padding: 30px 0 0 0; }
          main .technology .inner .frame .technology-02 section .caption {
            margin: 15px 0 0 0;
            font-size: 14px;
            font-size: 14px;
            font-size: 1.4rem;
            text-indent: -1em;
            padding-left: 1em;
            line-height: 1.642857142857143; }
        main .technology .inner .frame .technology-03 {
          padding: 30px 0 0 0; }
          main .technology .inner .frame .technology-03 section ul {
            margin: 40px 0 0 0; }
            main .technology .inner .frame .technology-03 section ul li {
              float: left; }
            main .technology .inner .frame .technology-03 section ul li + li {
              float: right; }
          main .technology .inner .frame .technology-03 section .copyright {
            font-size: 14px;
            font-size: 14px;
            font-size: 1.4rem;
            text-align: right; }
        main .technology .inner .frame .technology-04 {
          padding: 30px 0 0 0; }
          main .technology .inner .frame .technology-04 section {
            padding: 0;
            border: none; }
            main .technology .inner .frame .technology-04 section h4 {
              margin: 0 0 35px 0; }
            main .technology .inner .frame .technology-04 section dl {
              margin: 40px 0 0 0; }
              main .technology .inner .frame .technology-04 section dl dt {
                margin: 0 0 25px 0;
                font-size: 16px;
                font-size: 16px;
                font-size: 1.6rem;
                color: #fff; }
                main .technology .inner .frame .technology-04 section dl dt span {
                  padding: 4px 8px;
                  background: #333;
                  border-radius: 100px; }
              main .technology .inner .frame .technology-04 section dl dd {
                font-size: 16px;
                font-size: 16px;
                font-size: 1.6rem;
                line-height: 1.625; }
            main .technology .inner .frame .technology-04 section dl + p {
              margin: 20px 0 0 0; }
            main .technology .inner .frame .technology-04 section figure figcaption + img {
              margin: 65px 0 10px 0; }
  main .chokaigi {
    padding: 40px 0 50px 0;
    background: url("../img/bg_black.png"); }
    main .chokaigi .inner {
      width: 981px;
      height: 100%;
      margin: 0 auto; }
      main .chokaigi .inner .frame {
        width: 900px;
        margin: 0 auto;
        padding: 40px 40px 50px 40px;
        background: #fff;
        border: 3px solid #ae1a22;
        position: relative; }
        main .chokaigi .inner .frame:before {
          content: "";
          width: 904px;
          height: 22px;
          background: url("../img/pc/img_frame_top.png") 0 0 no-repeat;
          position: absolute;
          top: -4px;
          left: -4px; }
        main .chokaigi .inner .frame:after {
          content: "";
          width: 904px;
          height: 22px;
          background: url("../img/pc/img_frame_bottom.png") 0 0 no-repeat;
          position: absolute;
          bottom: -4px;
          left: -4px; }
        main .chokaigi .inner .frame h2 {
          margin: 0 0 40px 0;
          padding: 0 0 0 68px;
          font-size: 22px;
          font-size: 22px;
          font-size: 2.2rem;
          font-weight: bold;
          color: #ca252b;
          position: relative;
          letter-spacing: 1px; }
          main .chokaigi .inner .frame h2:before {
            content: "";
            width: 54px;
            height: 49px;
            background: url("../img/pc/icon_heading.png") 0 0 no-repeat;
            position: absolute;
            top: 50%;
            -webkit-transform: translate(0, -50%);
                -ms-transform: translate(0, -50%);
                    transform: translate(0, -50%);
            left: 0; }
        main .chokaigi .inner .frame p {
          margin: 0 0 30px 0;
          font-size: 16px;
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 1.625; }
        main .chokaigi .inner .frame dl dt {
          margin: 2px 15px 0 0;
          font-size: 14px;
          font-size: 14px;
          font-size: 1.4rem;
          line-height: 1.625;
          color: #fff;
          display: inline-block;
          vertical-align: top; }
          main .chokaigi .inner .frame dl dt span {
            padding: 5px 15px;
            background: #333;
            border-radius: 25% / 50%; }
        main .chokaigi .inner .frame dl dd {
          font-size: 16px;
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 1.625;
          display: inline-block;
          vertical-align: top; }
        main .chokaigi .inner .frame dl + dl {
          margin: 20px 0 0 0; }
        main .chokaigi .inner .frame .btn {
          width: 484px;
          margin: 30px auto 0 auto; }
          main .chokaigi .inner .frame .btn a {
            width: 100%;
            padding: 21.4px 0;
            display: block;
            font-size: 20px;
            font-size: 20px;
            font-size: 2.0rem;
            line-height: 1.3;
            color: #fff;
            border-radius: 35px;
            background: #000;
            border: 1px solid #000;
            text-align: center;
            text-decoration: none;
            transition: 0.3s; }
            main .chokaigi .inner .frame .btn a:hover {
              color: #000;
              background: #fff; }
              main .chokaigi .inner .frame .btn a:hover span {
                color: #e12600; }
            main .chokaigi .inner .frame .btn a span {
              color: #ffec1e;
              transition: 0.3s; }

/************************************************
footer
************************************************/
footer {
  width: 100%;
  margin: 0 0 0 0;
  padding: 45px 0 60px 0;
  text-align: center;
  color: #000;
  position: relative; }
  footer ul {
    width: 800px;
    margin: 0 auto 40px auto; }
    footer ul li {
      display: inline-block;
      vertical-align: middle; }
      footer ul li a img {
        vertical-align: middle;
        transition: 0.3s;
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden; }
      footer ul li a:hover img {
        opacity: 0.6;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; }
      footer ul li a + a {
        margin: 0 0 0 15px; }
      footer ul li:nth-child(2) {
        margin: 0 0 0 20px; }
      footer ul li:nth-child(3), footer ul li:nth-child(5) {
        margin: 15px 0 0 0; }
      footer ul li:nth-child(7) {
        margin: 15px 0 0 0;
        display: block; }
    footer ul li + li {
      margin: 15px 0 0 20px; }
  footer p {
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    letter-spacing: 1px; }
    footer p img {
      margin: 0 10px;
      vertical-align: middle; }

.to-top {
  bottom: 20px;
  right: 20px;
  position: fixed; }
