
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

@charset "UTF-8";
@-webkit-keyframes text {
  0% {
    visibility: hidden;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    text-shadow: none; }
  50% {
    visibility: visible;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  100% {
    visibility: hidden;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    text-shadow: none; } }
@keyframes text {
  0% {
    visibility: hidden;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    text-shadow: none; }
  50% {
    visibility: visible;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  100% {
    visibility: hidden;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    text-shadow: none; } }

/*
	basic
----------------------------------------------*/
html {
  font-size: 62.5%; }

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

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

a:link {
  color: #008bcd; }

a:visited {
  color: #008bcd; }

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

/*
    clearfix
----------------------------------------------*/
.clearfix:after, main .global-navi .inner:after, main .global-navi .inner ul:after, main .place-date .inner .content:after, main .ticket .inner .content:after, main .story .inner .content:after, main .word .inner .content:after, main .broadcast .inner .content:after, main .broadcast .inner .content .right section ul:after, main .cast-staff .inner .content:after, main .chokaigi .inner .content:after, main .technology .inner .content:after, footer ul:after {
  display: block;
  clear: both;
  content: ""; }

.container {
  overflow: hidden; }

/************************************************
loading
************************************************/
.loading {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 99999;
  background: #fff2fa; }
  .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 6s linear infinite;
              animation: spin 6s linear infinite; }
    .loading .loading-contents .text {
      margin: 40px 0 0 0;
      -webkit-animation: text .9s ease-in-out;
              animation: text .9s ease-in-out;
      -webkit-animation-iteration-count: infinite;
              animation-iteration-count: infinite; }

@-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: 1050px;
      height: 100%;
      margin: 0 auto; }
      main .global-navi .inner ul {
        height: 100%; }
        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(7) a:after, main .global-navi .inner ul li:nth-child(8) a:after, 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, main .global-navi .inner ul li:nth-child(6) a:after {
            bottom: 23px; }
        main .global-navi .inner ul li + li {
          margin: 0 0 0 25px; }
      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: 919px;
    background: url("../img/pc/mainvisual/img_mainvisual.png") 50% 0 no-repeat #fff2fa;
    position: relative;
    overflow: hidden;
    z-index: 2; }
    main .mainvisual .information {
      margin: 0 auto;
      position: absolute;
      top: 10px;
      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: #e32d57;
    position: relative;
    z-index: 10; }
    main .news .inner {
      width: 1200px;
      height: 100%;
      margin: 0 auto; }
      main .news .inner h2 {
        font-size: 14px;
        font-size: 14px;
        font-size: 1.4rem;
        color: #fff;
        display: inline-block;
        line-height: 1.3;
        -webkit-transform: translate(0, 3px);
            -ms-transform: translate(0, 3px);
                transform: translate(0, 3px); }
        main .news .inner h2 span {
          padding: 3px 10px;
          color: #e32d57;
          background: #fff;
          border-radius: 100px; }
      main .news .inner p {
        width: 1000px;
        margin: 0 0 0 10px;
        font-size: 14px;
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.3;
        color: #fff;
        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 .title-movie {
    margin: 0 0 78px 0;
    padding: 50px 0 0 0; }
    main .title-movie .inner {
      width: 1200px;
      margin: 0 auto;
      position: relative; }
      main .title-movie .inner:before {
        width: 550px;
        height: 281px;
        content: "";
        background: url(../img/bg_object_01.png) no-repeat;
        position: absolute;
        top: -80px;
        left: -335px;
        z-index: 1;
        opacity: 0.4;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; }
      main .title-movie .inner:after {
        width: 1052px;
        height: 626px;
        content: "";
        background: url(../img/bg_object_02.png) no-repeat;
        position: absolute;
        top: -210px;
        right: -499px;
        z-index: 1; }
      main .title-movie .inner .title {
        margin: 0 0 57px 0;
        text-align: center;
        position: relative;
        z-index: 10; }
      main .title-movie .inner .movie {
        text-align: center; }
  main .place-date {
    margin: 0 0 45px 0; }
    main .place-date .inner {
      width: 900px;
      margin: 0 auto;
      position: relative; }
      main .place-date .inner:before {
        width: 658px;
        height: 453px;
        content: "";
        background: url(../img/bg_object_03.png) no-repeat;
        position: absolute;
        top: -80px;
        left: -438px;
        z-index: 1;
        opacity: 0.5;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; }
      main .place-date .inner .content {
        position: relative;
        z-index: 10; }
        main .place-date .inner .content .left {
          width: 712px;
          padding: 90px 0 0 118px;
          float: left; }
          main .place-date .inner .content .left dl dt {
            margin: 0 0 10px 0;
            line-height: 0; }
          main .place-date .inner .content .left dl dd {
            font-size: 20px;
            font-size: 20px;
            font-size: 2.0rem;
            line-height: 1.8;
            color: #000; }
          main .place-date .inner .content .left dl + dl {
            margin: 60px 0 0 0; }
        main .place-date .inner .content .right {
          width: 188px;
          float: left; }
  main .ticket {
    margin: 0 0 65px 0; }
    main .ticket .inner {
      width: 900px;
      margin: 0 auto;
      position: relative; }
      main .ticket .inner:before {
        width: 701px;
        height: 568px;
        content: "";
        background: url(../img/bg_object_04.png) no-repeat;
        position: absolute;
        top: -12px;
        right: -466px;
        z-index: 1;
        opacity: 0.5;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; }
      main .ticket .inner .content {
        margin: 0 0 80px 0;
        position: relative;
        z-index: 10; }
        main .ticket .inner .content .left {
          width: 188px;
          float: left; }
        main .ticket .inner .content .right {
          width: 665px;
          padding: 60px 0 0 0;
          float: right; }
          main .ticket .inner .content .right dl dt {
            margin: 0 0 70px 0;
            line-height: 0; }
          main .ticket .inner .content .right dl dd {
            font-size: 16px;
            font-size: 16px;
            font-size: 1.6rem;
            line-height: 1.8;
            color: #000; }
      main .ticket .inner .kind {
        font-size: 0;
        position: relative;
        z-index: 10; }
        main .ticket .inner .kind section:nth-of-type(1), main .ticket .inner .kind section:nth-of-type(2) {
          width: 385px;
          display: inline-block;
          vertical-align: top;
          text-align: left; }
          main .ticket .inner .kind section:nth-of-type(1) h3, main .ticket .inner .kind section:nth-of-type(2) h3 {
            margin: 0 0 15px 0;
            text-align: center; }
          main .ticket .inner .kind section:nth-of-type(1) p.position, main .ticket .inner .kind section:nth-of-type(2) p.position {
            margin: 0 0 40px 0;
            font-size: 16px;
            font-size: 16px;
            font-size: 1.6rem;
            line-height: 1.5;
            color: #000;
            text-align: center; }
          main .ticket .inner .kind section:nth-of-type(1) figure, main .ticket .inner .kind section:nth-of-type(2) figure {
            margin: 0 0 30px 0; }
          main .ticket .inner .kind section:nth-of-type(1) .detail, main .ticket .inner .kind section:nth-of-type(2) .detail {
            margin: 0 0 25px 0;
            font-size: 16px;
            font-size: 16px;
            font-size: 1.6rem;
            line-height: 1.8;
            color: #000; }
            main .ticket .inner .kind section:nth-of-type(1) .detail p.attention, main .ticket .inner .kind section:nth-of-type(2) .detail p.attention {
              height: 50px;
              margin: 10px 0 0 0;
              color: #e32d57; }
          main .ticket .inner .kind section:nth-of-type(1) .btn a, main .ticket .inner .kind 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 .kind section:nth-of-type(1) .btn a:hover, main .ticket .inner .kind section:nth-of-type(2) .btn a:hover {
              color: #000;
              border-radius: 38px;
              background: #fff;
              border: 1px solid #fff; }
            main .ticket .inner .kind section:nth-of-type(1) .btn a span, main .ticket .inner .kind section:nth-of-type(2) .btn a span {
              color: #e32d57;
              transition: 0.3s; }
              main .ticket .inner .kind section:nth-of-type(1) .btn a span:nth-of-type(2), main .ticket .inner .kind 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 .kind section:nth-of-type(2) {
          margin: 0 0 0 130px; }
  main .story {
    margin: 0 0 90px 0; }
    main .story .inner {
      width: 900px;
      margin: 0 auto;
      position: relative; }
      main .story .inner:before {
        width: 792px;
        height: 698px;
        content: "";
        background: url(../img/bg_object_05.png) no-repeat;
        position: absolute;
        top: -385px;
        left: -690px;
        z-index: 1;
        opacity: 0.5;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; }
      main .story .inner .content {
        margin: 0 0 60px 0;
        position: relative;
        z-index: 10; }
        main .story .inner .content .left {
          width: 654px;
          padding: 85px 0 0 0;
          float: left; }
          main .story .inner .content .left p {
            margin: 0 0 30px 0;
            font-size: 16px;
            font-size: 16px;
            font-size: 1.6rem;
            line-height: 1.8;
            color: #000; }
          main .story .inner .content .left .text {
            margin: 0 0 25px 0; }
        main .story .inner .content .right {
          width: 188px;
          float: right; }
      main .story .inner .story-content h3 {
        margin: 0 0 40px 0;
        line-height: 0; }
      main .story .inner .story-content .title {
        margin: 0 0 20px 0; }
      main .story .inner .story-content p {
        margin: 0 0 25px 0;
        font-size: 16px;
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.8;
        color: #000; }
        main .story .inner .story-content p + .title {
          margin: 40px 0 20px 0; }
      main .story .inner .story-content .image {
        margin: 0 0 40px 0; }
      main .story .inner .story-content dl {
        display: inline-block; }
        main .story .inner .story-content dl + dl {
          margin: 30px 0 0 0; }
        main .story .inner .story-content dl.good dt:after {
          content: "...";
          color: #1e51a0; }
        main .story .inner .story-content dl.evil dt:after {
          content: "...";
          color: #e32d57; }
        main .story .inner .story-content dl.last dt:after {
          content: "...";
          color: #f5a100; }
        main .story .inner .story-content dl.one dd {
          padding: 6px 0 0 0; }
        main .story .inner .story-content dl dt {
          width: 210px;
          font-size: 16px;
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 1.5;
          color: #fff;
          display: table-cell;
          vertical-align: top;
          position: relative; }
          main .story .inner .story-content dl dt:after {
            content: "...";
            position: absolute;
            display: block;
            top: 8px;
            right: 25px; }
        main .story .inner .story-content dl dd {
          width: 655px;
          font-size: 16px;
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 1.5;
          color: #000;
          display: table-cell;
          vertical-align: middle; }
  main .word {
    margin: 0 0 90px 0; }
    main .word .inner {
      width: 900px;
      margin: 0 auto;
      position: relative; }
      main .word .inner .content {
        margin: 0;
        position: relative;
        z-index: 10; }
        main .word .inner .content .left {
          width: 654px;
          padding: 85px 0 0 0;
          float: left; }
          main .word .inner .content .left .text {
            margin: 0 0 20px 0; }
          main .word .inner .content .left p {
            margin: 0 0 30px 0;
            font-size: 16px;
            font-size: 16px;
            font-size: 1.6rem;
            line-height: 1.8;
            color: #000; }
            main .word .inner .content .left p + p {
              margin: 25px 0 0 0; }
        main .word .inner .content .right {
          width: 188px;
          float: right; }
      main .word .inner .word-content .text {
        margin: 0 0 20px 0; }
      main .word .inner .word-content p {
        margin: 0 0 30px 0;
        font-size: 16px;
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.8;
        color: #000; }
        main .word .inner .word-content p + .title {
          margin: 40px 0 20px 0; }
  main .broadcast {
    margin: 0 0 117px 0; }
    main .broadcast .inner {
      width: 900px;
      margin: 0 auto;
      position: relative; }
      main .broadcast .inner:before {
        width: 828px;
        height: 544px;
        content: "";
        background: url(../img/bg_object_07.png) no-repeat;
        position: absolute;
        bottom: -250px;
        left: -590px;
        z-index: 1;
        opacity: 0.5;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; }
      main .broadcast .inner:after {
        width: 1047px;
        height: 369px;
        content: "";
        background: url(../img/bg_object_06.png) no-repeat;
        position: absolute;
        top: -170px;
        right: -800px;
        z-index: 1;
        opacity: 0.5;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; }
      main .broadcast .inner .content {
        position: relative;
        z-index: 10; }
        main .broadcast .inner .content .right {
          width: 654px;
          padding: 40px 0 0 0;
          float: right; }
          main .broadcast .inner .content .right section + section {
            margin: 50px 0 0 0; }
          main .broadcast .inner .content .right section h3 {
            margin: 0 0 38px 0;
            text-align: center; }
          main .broadcast .inner .content .right section ul li {
            float: left; }
            main .broadcast .inner .content .right section ul li + li {
              margin: 0 0 0 30px; }
        main .broadcast .inner .content .left {
          width: 188px;
          float: left; }
  main .cast-staff {
    margin: 0 0 86px 0; }
    main .cast-staff .inner {
      width: 900px;
      margin: 0 auto;
      position: relative; }
      main .cast-staff .inner:before {
        width: 686px;
        height: 436px;
        content: "";
        background: url(../img/bg_object_08.png) no-repeat;
        position: absolute;
        bottom: -162px;
        right: -238px;
        z-index: 1; }
      main .cast-staff .inner .content {
        margin: 0 0 80px 0;
        position: relative;
        z-index: 10; }
        main .cast-staff .inner .content .right {
          position: absolute;
          top: -40px;
          right: 0; }
        main .cast-staff .inner .content .left h3 {
          margin: 0 0 42px 0; }
        main .cast-staff .inner .content .left .title {
          margin: 0 0 30px 0;
          line-height: 0; }
        main .cast-staff .inner .content .left ul {
          font-size: 0; }
          main .cast-staff .inner .content .left ul.cast-list02 li:nth-child(2) {
            margin: 0 60px; }
          main .cast-staff .inner .content .left ul.cast-list02 li:nth-child(3) {
            margin: 0; }
          main .cast-staff .inner .content .left ul + .title {
            margin: 80px 0 30px 0; }
          main .cast-staff .inner .content .left ul li {
            width: 228px;
            margin: 0;
            display: inline-block;
            vertical-align: top; }
            main .cast-staff .inner .content .left ul li:nth-child(2) {
              margin: 0 180px 0 60px; }
            main .cast-staff .inner .content .left ul li:nth-child(3) {
              margin: 40px 0 0 0; }
            main .cast-staff .inner .content .left ul li:nth-child(4), main .cast-staff .inner .content .left ul li:nth-child(5) {
              margin: 40px 0 0 60px; }
            main .cast-staff .inner .content .left ul li .actor {
              text-align: center;
              font-size: 16px;
              font-size: 16px;
              font-size: 1.6rem;
              line-height: 1.5;
              color: #e32d57; }
              main .cast-staff .inner .content .left ul li .actor span {
                font-size: 18px;
                font-size: 18px;
                font-size: 1.8rem;
                color: #000; }
            main .cast-staff .inner .content .left ul li .description {
              margin: 5px 0;
              height: 16px;
              text-align: center;
              font-size: 10px;
              font-size: 10px;
              font-size: 1.0rem;
              line-heigh000t: 1.5;
              color: #000; }
              main .cast-staff .inner .content .left ul li .description img {
                margin: 0 0 0 5px;
                vertical-align: middle; }
            main .cast-staff .inner .content .left ul li:nth-child(2) .actor {
              margin: 3px 0 0 0; }
      main .cast-staff .inner .staff h3 {
        margin: 0 0 42px 0; }
      main .cast-staff .inner .staff section dl {
        display: inline-block; }
        main .cast-staff .inner .staff section dl + dl {
          margin: 0 0 0 70px; }
        main .cast-staff .inner .staff section dl dt {
          font-size: 16px;
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 1.5;
          color: #e32d57;
          display: inline-block; }
          main .cast-staff .inner .staff section dl dt:after {
            content: "...";
            padding: 0 30px; }
        main .cast-staff .inner .staff section dl dd {
          font-size: 16px;
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 1.5;
          color: #000;
          display: inline-block; }
  main .chokaigi .inner {
    width: 900px;
    margin: 0 auto;
    position: relative; }
    main .chokaigi .inner:before {
      width: 1078px;
      height: 656px;
      content: "";
      background: url(../img/bg_object_09.png) no-repeat;
      position: absolute;
      bottom: -480px;
      left: -790px;
      z-index: 1; }
    main .chokaigi .inner .content {
      position: relative;
      z-index: 10; }
      main .chokaigi .inner .content .right {
        width: 670px;
        padding: 80px 0 0 0;
        float: right; }
        main .chokaigi .inner .content .right p {
          margin: 0 0 65px 0;
          font-size: 19px;
          font-size: 19px;
          font-size: 1.9rem;
          line-height: 1.5;
          color: #e32d57; }
        main .chokaigi .inner .content .right dl dt {
          margin: 2px 15px 0 0;
          font-size: 16px;
          font-size: 16px;
          font-size: 1.6rem;
          font-weight: bold;
          line-height: 1.8;
          color: #fff;
          display: inline-block;
          vertical-align: top; }
          main .chokaigi .inner .content .right dl dt span {
            padding: 2px 26px;
            background: #e32d57;
            border-radius: 15px; }
        main .chokaigi .inner .content .right dl dd {
          font-size: 16px;
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 1.8;
          color: #000;
          display: inline-block;
          vertical-align: top; }
        main .chokaigi .inner .content .right dl + dl {
          margin: 30px 0 0 0; }
      main .chokaigi .inner .content .left {
        width: 188px;
        float: left; }
    main .chokaigi .inner .btn {
      width: 484px;
      margin: -30px auto 86px auto; }
      main .chokaigi .inner .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 .btn a:hover {
          color: #000;
          background: #fff; }
          main .chokaigi .inner .btn a:hover span {
            color: #fff; }
        main .chokaigi .inner .btn a span {
          color: #e32d57;
          transition: 0.3s; }
  main .technology {
    margin: 0 0 86px 0; }
    main .technology .inner {
      width: 900px;
      margin: 0 auto;
      position: relative; }
      main .technology .inner:before {
        width: 618px;
        height: 419px;
        content: "";
        background: url(../img/bg_object_11.png) no-repeat;
        position: absolute;
        bottom: -385px;
        left: -610px;
        z-index: 1;
        opacity: 0.5;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; }
      main .technology .inner:after {
        width: 1015px;
        height: 568px;
        content: "";
        background: url(../img/bg_object_10.png) no-repeat;
        position: absolute;
        bottom: -462px;
        right: -940px;
        z-index: 1; }
      main .technology .inner .content {
        margin: 0 0 80px 0;
        position: relative;
        z-index: 10; }
        main .technology .inner .content .right {
          position: absolute;
          top: -40px;
          right: 0; }
        main .technology .inner .content .left {
          width: 665px;
          padding: 40px 0 0 0; }
          main .technology .inner .content .left h3 {
            margin: 0 0 42px 0;
            text-align: center; }
          main .technology .inner .content .left p {
            margin: 0 0 30px 0;
            font-size: 16px;
            font-size: 16px;
            font-size: 1.6rem;
            line-height: 1.8; }
        main .technology .inner .content .detail {
          margin: 0 0 80px 0;
          padding: 0 0 1px 0;
          position: relative;
          overflow: hidden; }
          main .technology .inner .content .detail h3 {
            margin: 0 0 42px 0;
            text-align: center; }
          main .technology .inner .content .detail .logo {
            margin: 0 0 40px 0;
            text-align: center; }
          main .technology .inner .content .detail p {
            margin: 0 0 30px 0;
            font-size: 16px;
            font-size: 16px;
            font-size: 1.6rem;
            line-height: 1.8; }
            main .technology .inner .content .detail p span {
              color: #e32d57; }
          main .technology .inner .content .detail .image {
            text-align: center; }
          main .technology .inner .content .detail .image-list {
            text-align: center;
            font-size: 0; }
            main .technology .inner .content .detail .image-list li {
              display: inline-block;
              vertical-align: top; }
              main .technology .inner .content .detail .image-list li + li {
                margin: 0 0 0 20px; }
              main .technology .inner .content .detail .image-list li figcaption {
                margin: 10px 0 0 0;
                text-align: center;
                font-size: 16px;
                font-size: 16px;
                font-size: 1.6rem; }
          main .technology .inner .content .detail .image-list02 {
            text-align: center;
            font-size: 0; }
            main .technology .inner .content .detail .image-list02 li {
              display: inline-block;
              vertical-align: top; }
              main .technology .inner .content .detail .image-list02 li + li {
                margin: 0 0 0 35px; }
              main .technology .inner .content .detail .image-list02 li figcaption {
                margin: 10px 0 0 0;
                text-align: right;
                font-size: 14px;
                font-size: 14px;
                font-size: 1.4rem; }
          main .technology .inner .content .detail .left-sentence {
            width: 420px;
            float: left; }
          main .technology .inner .content .detail .right-image {
            width: 430px;
            float: right; }
            main .technology .inner .content .detail .right-image a {
              display: block; }
              main .technology .inner .content .detail .right-image a img {
                transition: 0.3s; }
                main .technology .inner .content .detail .right-image a img:hover {
                  opacity: 0.7;
                  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
            main .technology .inner .content .detail .right-image .image {
              margin: 0 0 30px 0;
              text-align: center; }
            main .technology .inner .content .detail .right-image h4 {
              margin: 0 0 30px 0;
              text-align: center;
              font-size: 16px;
              font-size: 16px;
              font-size: 1.6rem;
              color: #fff; }
              main .technology .inner .content .detail .right-image h4 span {
                padding: 3px 25px;
                background: #e32d57;
                border-radius: 15px; }
            main .technology .inner .content .detail .right-image .hour-list {
              width: 340px;
              margin: 0 auto; }
              main .technology .inner .content .detail .right-image .hour-list li {
                font-size: 16px;
                font-size: 16px;
                font-size: 1.6rem; }
                main .technology .inner .content .detail .right-image .hour-list li + li {
                  margin: 10px 0 0 0; }
          main .technology .inner .content .detail p.last-sentence {
            clear: both; }
          main .technology .inner .content .detail div.last-image {
            padding: 40px 0 0 0;
            text-align: center;
            clear: both; }
  main .promise {
    padding: 0 0 170px 0;
    position: relative;
    z-index: 10; }
    main .promise .inner {
      width: 900px;
      margin: 0 auto; }
      main .promise .inner h2 {
        margin: 0 0 35px 0;
        text-align: center;
        font-size: 16px;
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.5;
        color: #e32d57; }
      main .promise .inner ul li {
        padding: 0 0 0 1em;
        font-size: 16px;
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.8;
        color: #000;
        text-indent: -1em; }

/************************************************
footer
************************************************/
footer {
  width: 100%;
  margin: 0 0 0 0;
  padding: 45px 0 60px 0;
  text-align: center;
  color: #000;
  background: #fff;
  position: relative;
  z-index: 10; }
  footer ul {
    width: 930px;
    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(1) {
        width: 280px;
        height: 195px;
        margin: 0 0 0 160px;
        border: 1px solid #ccc; }
        footer ul li:nth-child(1) a {
          font-size: 14px;
          font-size: 14px;
          font-size: 1.4rem;
          font-weight: bold;
          color: #000;
          text-decoration: none;
          display: block; }
          footer ul li:nth-child(1) a:hover figcaption {
            opacity: 0.7;
            -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
          footer ul li:nth-child(1) a img {
            margin: 17px 0 22px 0; }
      footer ul li:nth-child(2) {
        width: 280px;
        height: 195px;
        margin: 0 160px 0 40px;
        border: 1px solid #ccc; }
        footer ul li:nth-child(2) a {
          font-size: 14px;
          font-size: 14px;
          font-size: 1.4rem;
          font-weight: bold;
          color: #000;
          text-decoration: none;
          display: block; }
          footer ul li:nth-child(2) a:hover figcaption {
            opacity: 0.7;
            -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
          footer ul li:nth-child(2) a img {
            margin: 11px 0 8px 0; }
      footer ul li:nth-child(3) {
        display: none;
        width: 0;
        height: 195px;
        margin: 0 0 0 40px;
        border: 1px solid #ccc; }
        footer ul li:nth-child(3) a {
          font-size: 14px;
          font-size: 14px;
          font-size: 1.4rem;
          font-weight: bold;
          color: #000;
          text-decoration: none;
          display: block; }
          footer ul li:nth-child(3) a:hover figcaption {
            opacity: 0.7;
            -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
          footer ul li:nth-child(3) a img {
            margin: 11px 0 8px 0; }
      footer ul li:nth-child(4) {
        margin: 47px 0 0 0; }
      footer ul li:nth-child(5) {
        margin: 43px 0 0 20px; }
      footer ul li:nth-child(6) {
        margin: 29px 0 0 0; }
      footer ul li:nth-child(7) {
        margin: 20px 0 0 0;
        display: block; }
      footer ul li:nth-child(8) {
        margin: 20px 0 0 0; }
  footer p {
    font-size: 14px;
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 1px; }
    footer p + p {
      margin: 10px 0 0 0; }
    footer p img {
      margin: 0 10px;
      vertical-align: middle; }

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