@charset "UTF-8";
.grd-box h3 {
  text-align: left;
  font-size: 22px;
  font-weight: 500; }
  @media only screen and (max-width: 640px) {
    .grd-box h3 {
      font-size: 20px;
      font-weight: 500; } }

.grd-box > p:nth-of-type(1) {
  margin-top: 20px; }

.grd-box .eve-dl:nth-of-type(1) {
  margin-top: 20px; }

.eve-dl {
  width: 100%;
  display: block;
  overflow: hidden;
  margin-top: 60px; }
  .eve-dl > dt {
    font-size: 21px; }
    @media only screen and (max-width: 640px) {
      .eve-dl > dt {
        font-size: 18px; } }
  .eve-dl > dd {
    border-top: 1px solid #6ea1db;
    margin-top: 5px;
    padding-top: 7px; }
    .eve-dl > dd > p {
      margin-top: 20px; }
    .eve-dl > dd > p:nth-of-type(1) {
      margin-top: 0; }

#winning {
  margin: 0 auto;
  width: 100%; }
  #winning iframe {
    margin: 0 auto;
    width: 600px;
    height: 337px; }
    @media only screen and (max-width: 640px) {
      #winning iframe {
        width: 100%;
        height: 360px; } }

.eve-dl-in {
  width: 100%;
  display: block;
  overflow: hidden;
  margin-top: 60px; }
  .eve-dl-in > dt {
    font-size: 21px; }
    @media only screen and (max-width: 640px) {
      .eve-dl-in > dt {
        font-size: 18px; } }
  .eve-dl-in > dd {
    padding-top: 7px; }
    .eve-dl-in > dd > p {
      margin-top: 20px; }
    .eve-dl-in > dd > p:nth-of-type(1) {
      margin-top: 0; }

.eve-ulp {
  width: 100%;
  display: block;
  overflow: hidden; }
  .eve-ulp li {
    float: left;
    width: 49.5%; }
    @media only screen and (max-width: 640px) {
      .eve-ulp li {
        float: none; } }
    .eve-ulp li img {
      width: 100%; }
  @media only screen and (max-width: 640px) {
    .eve-ulp li:nth-of-type(1) {
      width: 100%; } }
  .eve-ulp li:nth-of-type(2) {
    margin-left: 5px; }
    @media only screen and (max-width: 640px) {
      .eve-ulp li:nth-of-type(2) {
        margin-left: 0;
        margin-top: 5px;
        width: 100%; } }

.n_link {
  padding: 2px 4px 2px 17px;
  background: url(../images/gray_arrow.svg) no-repeat 0px center;
  background-size: auto 50%;
  color: #E74388; }

.b_link {
  padding: 2px 4px 2px 17px;
  background: url(../images/gray_blank.svg) no-repeat 0px center;
  background-size: auto 50%;
  color: #E74388; }

h3 {
  text-align: left;
  font-size: 26px;
  font-weight: 500;
  margin-top: 20px; }
  @media only screen and (max-width: 640px) {
    h3 {
      font-size: 20px;
      font-weight: 500; } }
  h3 span {
    background: #ededed;
    font-size: 12px;
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
    padding: 2px 4px 0px 4px; }

@media only screen and (max-width: 640px) {
  .table > dd > dl {
    margin-top: 10px; } }

.table > dd > dl > dt {
  display: block;
  overflow: hidden;
  float: left;
  width: 25%;
  text-align: center;
  padding: 10px 10px 9px 10px;
  background: #ededed;
  font-size: 18px;
  border-right: #000 solid 1px;
  border-bottom: #000 solid 1px;
  border-left: #000 solid 1px; }
  @media only screen and (max-width: 640px) {
    .table > dd > dl > dt {
      width: auto;
      float: none;
      border-top: #000 solid 1px !important;
      border-right: #000 solid 1px;
      border-bottom: none;
      border-left: #000 solid 1px; } }

.table > dd > dl > dd {
  display: block;
  overflow: hidden;
  float: left;
  width: 75%;
  text-align: left;
  font-size: 18px;
  padding: 10px 10px 9px 15px;
  border-right: #000 solid 1px;
  border-bottom: #000 solid 1px; }
  @media only screen and (max-width: 640px) {
    .table > dd > dl > dd {
      width: auto;
      float: none;
      border-top: #000 solid 1px;
      border-right: #000 solid 1px;
      border-bottom: #000 solid 1px;
      border-left: #000 solid 1px; } }

.table > dd > dl:nth-of-type(1) > dt {
  border-top: #000 solid 1px; }
  @media only screen and (max-width: 640px) {
    .table > dd > dl:nth-of-type(1) > dt {
      border-top: none; } }

.table > dd > dl:nth-of-type(1) > dd {
  border-top: #000 solid 1px; }

.table > dd > dl:nth-last-of-type(1) > dt {
  border-bottom: #000 solid 1px; }
  @media only screen and (max-width: 640px) {
    .table > dd > dl:nth-last-of-type(1) > dt {
      border-top: none; } }

.table > dd > dl:nth-last-of-type(1) > dd {
  border-bottom: #000 solid 1px; }
  @media only screen and (max-width: 640px) {
    .table > dd > dl:nth-last-of-type(1) > dd {
      border-top: none; } }

.m20 {
  margin-top: 20px !important; }

.m60 {
  margin-top: 60px !important; }

.m0 {
  margin-top: 0 !important; }

.gray {
  background: #ededed;
  display: inline-block; }

.eve-link > li {
  width: 50%;
  display: block;
  overflow: hidden;
  float: left;
  font-size: 18px;
  margin-top: 20px;
  text-align: center; }
  @media only screen and (max-width: 640px) {
    .eve-link > li {
      font-size: 16px; } }

/*------------------ステージ-------------------*/
#stage {
  text-align: justify;
  text-justify: inter-ideograph; }
  @media only screen and (max-width: 640px) {
    #stage h2 {
      margin-bottom: 20px; } }
  #stage h3:nth-of-type(1) {
    font-size: 24px;
    color: #00557f;
    margin-top: 0; }
    @media only screen and (max-width: 640px) {
      #stage h3:nth-of-type(1) {
        font-size: 19px; } }
  #stage h3:nth-of-type(2) {
    font-size: 24px;
    color: #00557f;
    margin-top: 60px !important; }
  #stage .red-box {
    border: 2px solid #E585B0;
    padding: 5px;
    font-weight: 500;
    background-color: #fff;
    margin: 15px 0; }

@media only screen and (max-width: 640px) {
  .sx_p {
    font-size: 13px !important; } }

.stage-dl {
  display: block;
  overflow: hidden;
  width: 100%;
  margin-top: 10px; }
  .stage-dl > dt {
    width: 100%;
    background: #5F84C0;
    color: #fff;
    font-size: 20px;
    padding-top: 4px;
    padding-left: 10px;
    position: relative; }
    @media only screen and (max-width: 640px) {
      .stage-dl > dt {
        padding-left: 7px;
        font-size: 16px;
        min-height: 30px; } }
    .stage-dl > dt > span {
      display: inline-block;
      background: #4f4552;
      color: #fff;
      font-size: 13px;
      position: absolute;
      line-height: 1;
      padding: 7px 8px 6px;
      border-radius: 3px;
      top: 4px;
      right: 135px; }
      @media only screen and (max-width: 640px) {
        .stage-dl > dt > span {
          font-size: 10px;
          right: 100px; } }
    .stage-dl > dt > span:nth-of-type(2) {
      right: 10px; }
      @media only screen and (max-width: 640px) {
        .stage-dl > dt > span:nth-of-type(2) {
          right: 5px; } }
  .stage-dl > dd {
    width: 100%; }
    .stage-dl > dd > p:nth-of-type(1) {
      font-size: 18px;
      font-weight: 500;
      color: #4f4552;
      line-height: 1.3;
      padding: 10px 0 3px; }
      @media only screen and (max-width: 640px) {
        .stage-dl > dd > p:nth-of-type(1) {
          font-size: 16px; } }
    .stage-dl > dd > p:nth-of-type(2) {
      font-size: 15px; }
      @media only screen and (max-width: 640px) {
        .stage-dl > dd > p:nth-of-type(2) {
          font-size: 12px; } }
    .stage-dl > dd > ul {
      width: 100%;
      display: block;
      overflow: hidden; }
      .stage-dl > dd > ul > li:nth-of-type(1) {
        float: left;
        display: block;
        overflow: hidden;
        width: 100%;
        margin-top: 15px;
        font-size: 15px; }
        @media only screen and (max-width: 640px) {
          .stage-dl > dd > ul > li:nth-of-type(1) {
            font-size: 13px; } }
      .stage-dl > dd > ul > li:nth-of-type(2) {
        float: left;
        display: block;
        overflow: hidden;
        width: 19%;
        margin-left: 10px; }
        @media only screen and (max-width: 640px) {
          .stage-dl > dd > ul > li:nth-of-type(2) {
            margin-left: 5px; } }
        .stage-dl > dd > ul > li:nth-of-type(2) > img {
          width: 100%; }
      .stage-dl > dd > ul > li:nth-of-type(3) {
        float: none;
        display: block;
        overflow: hidden;
        width: 100%;
        padding-top: 10px; }

.stage-dl2 {
  display: block;
  overflow: hidden;
  width: 100%;
  margin-top: 10px; }
  .stage-dl2 > dt {
    width: 100%;
    background: #5F84C0;
    color: #fff;
    font-size: 20px;
    padding-top: 4px;
    padding-left: 10px;
    position: relative; }
    @media only screen and (max-width: 640px) {
      .stage-dl2 > dt {
        font-size: 15px; } }
    .stage-dl2 > dt > span {
      display: inline-block;
      background: #4F4552;
      color: #fff;
      font-size: 13px;
      position: absolute;
      line-height: 1;
      padding: 7px 8px 6px;
      border-radius: 3px;
      top: 4px;
      right: 160px; }
      @media only screen and (max-width: 640px) {
        .stage-dl2 > dt > span {
          font-size: 10px;
          right: 104px; } }
    .stage-dl2 > dt > span:nth-of-type(2) {
      right: 10px; }
      @media only screen and (max-width: 640px) {
        .stage-dl2 > dt > span:nth-of-type(2) {
          right: 5px; } }
  .stage-dl2 > dd {
    width: 100%; }
    .stage-dl2 > dd > p:nth-of-type(1) {
      font-size: 18px;
      font-weight: 500;
      color: #4f4552;
      line-height: 1.3;
      padding: 10px 0 3px; }
      @media only screen and (max-width: 640px) {
        .stage-dl2 > dd > p:nth-of-type(1) {
          font-size: 18px; } }
    .stage-dl2 > dd > p:nth-of-type(2) {
      font-size: 18px; }
      @media only screen and (max-width: 640px) {
        .stage-dl2 > dd > p:nth-of-type(2) {
          font-size: 13px; } }
    .stage-dl2 > dd > ul {
      width: 100%;
      display: block;
      overflow: hidden; }
      .stage-dl2 > dd > ul > li:nth-of-type(1) {
        float: left;
        display: block;
        overflow: hidden;
        width: 100%;
        font-size: 18px; }
        @media only screen and (max-width: 640px) {
          .stage-dl2 > dd > ul > li:nth-of-type(1) {
            font-size: 16px; } }
      .stage-dl2 > dd > ul > li:nth-of-type(2) {
        float: left;
        display: block;
        overflow: hidden;
        width: 19%;
        margin-left: 10px; }
        @media only screen and (max-width: 640px) {
          .stage-dl2 > dd > ul > li:nth-of-type(2) {
            margin-left: 5px; } }
        .stage-dl2 > dd > ul > li:nth-of-type(2) > img {
          width: 100%; }
      .stage-dl2 > dd > ul > li:nth-of-type(3) {
        float: none;
        display: block;
        overflow: hidden;
        width: 100%;
        padding-top: 10px; }
    .stage-dl2 > dd > img {
      width: 50%;
      float: right; }
      @media only screen and (max-width: 640px) {
        .stage-dl2 > dd > img {
          width: 100%;
          float: none; } }

.stage-box {
  width: 100%;
  display: block;
  margin-top: 60px;
  border: 3px solid #5F84C0;
  background: #fff;
  border-radius: 5px;
  padding: 0 0 20px 0; }
  .stage-box > p {
    margin-top: 20px;
    font-size: 20px;
    color: #00557f;
    padding-left: 10px; }
  .stage-box .readtext {
    font-size: 15px; }

.stage-box-in {
  width: 100%; }
  .stage-box-in > dt {
    width: 100%;
    background: #000;
    overflow: hidden;
    display: inline-block;
    padding: 0 10px; }
    .stage-box-in > dt > h3 {
      margin-top: 0;
      color: #fff !important;
      border-bottom: none;
      padding: 2px 0 3px;
      font-size: 16px;
      font-weight: 500; }
  .stage-box-in > dd {
    width: 100%;
    margin-top: 20px;
    font-size: 18px;
    padding: 0 10px; }

.stage-box-in2 > dt {
  width: 100%;
  padding: 0 10px;
  font-size: 20px; }
  @media only screen and (max-width: 640px) {
    .stage-box-in2 > dt {
      font-size: 16px; } }
  .stage-box-in2 > dt > p {
    display: inline-block;
    color: #00557f;
    font-weight: 500; }
    .stage-box-in2 > dt > p > span {
      display: inline-block;
      color: #fff;
      margin-left: 10px;
      line-height: 1;
      padding: 4px 7px 5px;
      border-radius: 3px;
      font-size: 13px; }
      @media only screen and (max-width: 640px) {
        .stage-box-in2 > dt > p > span {
          margin-left: 0px; } }
    .stage-box-in2 > dt > p .pink {
      background: #5F84C0; }
    .stage-box-in2 > dt > p .blue {
      background: #5F84C0; }

.stage-box-in2 > dd {
  width: 100%;
  font-size: 15px;
  padding: 0 10px; }
  .stage-box-in2 > dd > ul {
    display: block;
    overflow: hidden;
    width: 100%; }
    .stage-box-in2 > dd > ul > li {
      width: 100%;
      float: left; }
      @media only screen and (max-width: 640px) {
        .stage-box-in2 > dd > ul > li {
          width: 100%;
          float: none; } }
      .stage-box-in2 > dd > ul > li > img {
        width: 100%; }
    .stage-box-in2 > dd > ul > li:nth-of-type(2) {
      margin-left: 10px; }
      @media only screen and (max-width: 640px) {
        .stage-box-in2 > dd > ul > li:nth-of-type(2) {
          margin-top: 10px;
          margin-left: 0px; } }

.stage-dl3 {
  display: block;
  overflow: hidden;
  width: 100%;
  padding-bottom: 20px;
  margin-top: 15px; }
  .stage-dl3 > dt {
    float: left;
    width: 47.9%;
    font-size: 15px; }
    @media only screen and (max-width: 640px) {
      .stage-dl3 > dt {
        float: none;
        width: 100%;
        font-size: 13px; } }
    .stage-dl3 > dt > p {
      margin-top: 10px; }
    .stage-dl3 > dt > p:nth-of-type(1) {
      margin-top: 0; }
  .stage-dl3 > dd {
    float: left;
    width: 47.9%;
    margin-left: 20px; }
    .stage-dl3 > dd > p {
      text-align: center; }
    @media only screen and (max-width: 640px) {
      .stage-dl3 > dd {
        float: none;
        width: 100%;
        margin-top: 10px;
        margin-left: 0; } }
    .stage-dl3 > dd > img {
      width: 100%; }

#e-sx > .stage-dl:nth-of-type(2) ul > li:nth-of-type(1) {
  margin-top: 10px; }

#e-sx > .stage-dl {
  display: block;
  overflow: hidden;
  width: 100%;
  margin-top: 10px;
  background-color: #fff;
  border: 2px solid #3393AB;
  padding: 10px;
  border-radius: 10px; }
  #e-sx > .stage-dl > dt {
    width: 100%;
    background: none;
    color: #fff;
    font-size: 20px;
    padding-top: 4px;
    padding-left: 10px;
    position: relative;
    color: #4f4552;
    border-bottom: 2px solid #3393AB; }
    @media only screen and (max-width: 640px) {
      #e-sx > .stage-dl > dt {
        padding-left: 7px;
        font-size: 16px;
        min-height: 30px; } }
    #e-sx > .stage-dl > dt > span {
      display: inline-block;
      background: #959595;
      color: #fff;
      font-size: 13px;
      position: absolute;
      line-height: 1;
      padding: 7px 8px 6px;
      border-radius: 3px;
      top: 4px;
      right: 135px; }
      @media only screen and (max-width: 640px) {
        #e-sx > .stage-dl > dt > span {
          font-size: 10px;
          right: 100px; } }
    #e-sx > .stage-dl > dt > span:nth-of-type(2) {
      right: 0;
      top: 0;
      background: none;
      width: 130px; }
      #e-sx > .stage-dl > dt > span:nth-of-type(2) > img {
        width: 100%; }
      @media only screen and (max-width: 640px) {
        #e-sx > .stage-dl > dt > span:nth-of-type(2) {
          width: 100px; } }
  #e-sx > .stage-dl > dd {
    width: 100%; }
    #e-sx > .stage-dl > dd > p:nth-of-type(1) {
      font-size: 18px;
      font-weight: 500;
      color: #4f4552;
      line-height: 1;
      padding: 10px 0 3px; }
      @media only screen and (max-width: 640px) {
        #e-sx > .stage-dl > dd > p:nth-of-type(1) {
          font-size: 18px; } }
    #e-sx > .stage-dl > dd > ul {
      width: 100%;
      display: block;
      overflow: hidden; }
      #e-sx > .stage-dl > dd > ul > li:nth-of-type(1) {
        float: none;
        display: block;
        overflow: hidden;
        width: 100%;
        font-size: 18px;
        color: #4f4552;
        margin-top: 0; }
        @media only screen and (max-width: 640px) {
          #e-sx > .stage-dl > dd > ul > li:nth-of-type(1) {
            font-size: 18px;
            text-align: left; } }
      #e-sx > .stage-dl > dd > ul > li:nth-of-type(2) {
        float: none;
        display: block;
        overflow: hidden;
        width: 100%;
        margin-left: 0;
        margin-top: 10px; }
        @media only screen and (max-width: 640px) {
          #e-sx > .stage-dl > dd > ul > li:nth-of-type(2) {
            margin-left: 0px; } }
        #e-sx > .stage-dl > dd > ul > li:nth-of-type(2) > img {
          width: 100%; }

.w_ex {
  border: 0;
  background: #fff !important;
  width: 132px;
  padding: 1px !important; }
  @media only screen and (max-width: 640px) {
    .w_ex {
      width: 95px; } }
  .w_ex img {
    width: 100%; }

.hallbox {
  padding: 5px 8px 4px !important; }

#project img {
  height: 100%;
  display: block;
  margin: 0 auto; }
  @media only screen and (max-width: 640px) {
    #project img {
      width: 100%;
      height: auto;
      display: block;
      margin: 0 auto; } }

#project > ul {
  width: 100%;
  display: block;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  #project > ul > li {
    float: left; }
    #project > ul > li > a:hover {
      text-decoration: none; }
    #project > ul > li > a > dl > dt {
      position: relative; }
      #project > ul > li > a > dl > dt > span {
        position: absolute;
        display: inline-block;
        width: 20px;
        height: 20px;
        right: 0;
        bottom: 0;
        background: url(/tgs/2017/public/event/images/pink-bg.png);
        background-position: right bottom;
        background-repeat: no-repeat;
        background-size: 20px; }

#project .project-white {
  background-color: #fff;
  margin-top: 20px; }
  #project .project-white > li {
    width: 32.8%;
    margin-left: 5px; }
    @media only screen and (max-width: 640px) {
      #project .project-white > li {
        width: 49%;
        margin-left: 5px; } }
    #project .project-white > li > a > dl > dt {
      width: 208px;
      height: 130px;
      padding: 10px;
      background: #DB4282 url(/tgs/2017/public/event/images/pink-bg.png);
      background-position: right bottom;
      background-repeat: no-repeat;
      background-size: 20px; }
      @media only screen and (max-width: 640px) {
        #project .project-white > li > a > dl > dt {
          width: 100%;
          height: auto; } }
    #project .project-white > li > a > dl > dd {
      width: 208px; }
      @media only screen and (max-width: 640px) {
        #project .project-white > li > a > dl > dd {
          width: 100%; } }
  #project .project-white > li:nth-of-type(1) {
    margin-left: 0; }
  @media only screen and (max-width: 640px) {
    #project .project-white > li:nth-child(odd) {
      margin-left: 0; } }

#project .project-blue {
  background-color: #5F84C0;
  padding: 10px; }
  #project .project-blue > li {
    width: 32.2%;
    margin-left: 10px; }
    @media only screen and (max-width: 640px) {
      #project .project-blue > li {
        width: 47.9%; } }
    #project .project-blue > li > a > dl > dt {
      height: 127px; }
      @media only screen and (max-width: 640px) {
        #project .project-blue > li > a > dl > dt {
          height: auto; } }
    #project .project-blue > li > a > dl > dd {
      background-color: #fff;
      padding: 5px; }
  #project .project-blue > li:nth-of-type(1) {
    margin-left: 0; }
  @media only screen and (max-width: 640px) {
    #project .project-blue > li:nth-of-type(3) {
      margin-top: 10px; } }
  #project .project-blue > li:nth-of-type(4) {
    margin-left: 0;
    margin-top: 10px; }
    @media only screen and (max-width: 640px) {
      #project .project-blue > li:nth-of-type(4) {
        margin-top: 10px;
        margin-left: 10px; } }
  @media only screen and (max-width: 640px) {
    #project .project-blue > li:nth-child(odd) {
      margin-left: 0; } }

#project .project-blue.v2 {
  padding-top: 0; }

#project .project-blue2 {
  background-color: #5F84C0;
  padding: 0 10px 10px; }
  #project .project-blue2 > li {
    width: 49.2%;
    margin-left: 10px; }
    @media only screen and (max-width: 640px) {
      #project .project-blue2 > li {
        width: 100%;
        margin-left: 0;
        margin-top: 10px; } }
    #project .project-blue2 > li > a > dl {
      width: 310px;
      height: 106px;
      padding: 10px;
      display: block;
      overflow: hidden;
      position: relative; }
      @media only screen and (max-width: 640px) {
        #project .project-blue2 > li > a > dl {
          width: 100%;
          height: 128px; } }
      #project .project-blue2 > li > a > dl > dt {
        width: 72px;
        height: 86px;
        float: left;
        display: block;
        padding-top: 18px; }
        @media only screen and (max-width: 640px) {
          #project .project-blue2 > li > a > dl > dt {
            width: 30%;
            height: auto;
            padding-top: 29px; } }
        #project .project-blue2 > li > a > dl > dt img {
          width: 72px;
          height: 50px; }
      #project .project-blue2 > li > a > dl > dd {
        width: 218px;
        height: 86px;
        float: left; }
        @media only screen and (max-width: 640px) {
          #project .project-blue2 > li > a > dl > dd {
            width: 70%;
            height: auto; } }
        #project .project-blue2 > li > a > dl > dd h3 {
          font-size: 15px;
          font-weight: 500; }
          #project .project-blue2 > li > a > dl > dd h3 > span {
            background: none;
            margin-left: 0;
            padding: 0;
            font-size: 10px; }
        #project .project-blue2 > li > a > dl > dd > span {
          position: absolute;
          display: inline-block;
          width: 20px;
          height: 20px;
          right: 0;
          bottom: 0;
          background: url(/tgs/2017/public/event/images/pink-bg.png);
          background-position: right bottom;
          background-repeat: no-repeat;
          background-size: 20px; }
  #project .project-blue2 > li:nth-of-type(1) {
    margin-left: 0; }
    @media only screen and (max-width: 640px) {
      #project .project-blue2 > li:nth-of-type(1) {
        margin-top: 0; } }
  @media only screen and (max-width: 640px) {
    #project .project-blue2 > li:nth-of-type(3) {
      margin-top: 10px; } }

#project .remo-mon {
  background-color: #000 !important; }
  #project .remo-mon h3 {
    color: #fff !important; }
    @media only screen and (max-width: 640px) {
      #project .remo-mon h3 {
        line-height: 1.5; } }
    #project .remo-mon h3 > span {
      background: none;
      margin-left: 0;
      padding: 0;
      font-size: 10px; }
      @media only screen and (max-width: 640px) {
        #project .remo-mon h3 > span {
          line-height: 1.5; } }
  #project .remo-mon p {
    color: #fff !important;
    line-height: 1;
    font-size: 11px; }
    @media only screen and (max-width: 640px) {
      #project .remo-mon p {
        line-height: 1.5; } }

#project .remo-t-f {
  background-color: #fff !important; }
  #project .remo-t-f h3 {
    color: #000 !important; }
  #project .remo-t-f p {
    font-size: 11px; }

#project .project-gray {
  background-color: #E7E7E7;
  padding: 10px; }
  #project .project-gray > li {
    width: 32.2%;
    margin-left: 10px; }
    @media only screen and (max-width: 640px) {
      #project .project-gray > li {
        width: 47.9%; } }
    #project .project-gray > li > a > dl > dt {
      height: 127px; }
      @media only screen and (max-width: 640px) {
        #project .project-gray > li > a > dl > dt {
          height: auto; } }
    #project .project-gray > li > a > dl > dd {
      background-color: #fff;
      padding: 5px; }
  #project .project-gray > li:nth-of-type(1) {
    margin-left: 0; }
  @media only screen and (max-width: 640px) {
    #project .project-gray > li:nth-of-type(3) {
      margin-top: 10px; } }

#project .project-gray2 {
  background-color: #E7E7E7;
  padding: 0 10px 10px; }
  #project .project-gray2 > li {
    width: 32.2%;
    margin-left: 10px; }
    @media only screen and (max-width: 640px) {
      #project .project-gray2 > li {
        width: 47.9%; } }
    #project .project-gray2 > li > a > dl {
      position: relative; }
      #project .project-gray2 > li > a > dl > dt > img {
        width: 100%;
        height: auto; }
      #project .project-gray2 > li > a > dl > dd {
        background-color: #fff;
        padding: 5px; }
        #project .project-gray2 > li > a > dl > dd span {
          position: absolute;
          display: inline-block;
          width: 20px;
          height: 20px;
          right: 0;
          bottom: 0;
          background: url(/tgs/2017/public/event/images/pink-bg.png);
          background-position: right bottom;
          background-repeat: no-repeat;
          background-size: 20px; }
  #project .project-gray2 > li:nth-of-type(1) {
    margin-left: 0; }
  @media only screen and (max-width: 640px) {
    #project .project-gray2 > li:nth-child(odd) {
      margin-left: 0; } }
  @media only screen and (max-width: 640px) {
    #project .project-gray2 > li:nth-of-type(3) {
      margin-top: 10px; } }

#project .project-li > a > dl {
  width: 100%; }
  #project .project-li > a > dl > dt {
    width: 100%; }
  #project .project-li > a > dl > dd {
    width: 100%; }
    #project .project-li > a > dl > dd > h3 {
      font-size: 13px;
      margin: 0;
      border: none;
      font-weight: 500;
      color: #000; }
    #project .project-li > a > dl > dd > p {
      margin-top: 5px;
      font-size: 11px;
      color: #000; }

#project .project-li > a:link {
  color: #000 !important; }

#project .project-li-ex > a > dl {
  width: 100%; }
  #project .project-li-ex > a > dl > dt {
    width: 100%; }
  #project .project-li-ex > a > dl > dd {
    width: 100%; }
    #project .project-li-ex > a > dl > dd > h3 {
      font-size: 13px;
      margin: 0;
      border: none;
      font-weight: 500;
      color: #000; }
    #project .project-li-ex > a > dl > dd > p {
      color: #000; }

#project .project-li-ex.v2 {
  background: #fff; }
  #project .project-li-ex.v2 img {
    margin-top: 8px; }
  #project .project-li-ex.v2 dd {
    width: 100%;
    font-size: 11px; }
  #project .project-li-ex.v2 h3 {
    display: block;
    text-align: left; }

#project .ul-min {
  height: 115px; }
  @media only screen and (max-width: 640px) {
    #project .ul-min {
      height: 203px; } }

#project .ul-short {
  height: 82px; }
  @media only screen and (max-width: 640px) {
    #project .ul-short {
      height: 130px; } }

#project .ul-middle {
  height: 162px; }
  @media only screen and (max-width: 640px) {
    #project .ul-middle {
      height: 255px; } }

#project .ul-long {
  height: 141px; }
  @media only screen and (max-width: 640px) {
    #project .ul-long {
      height: 220px; } }

#project .remo-dd-p P {
  font-size: 10px !important;
  margin-top: 0 !important; }

#project .remo-dd-p p:nth-of-type(1) {
  margin-top: 5px; }

#project .remo-dd-p.ex P {
  font-size: 11px !important; }

#project .movie {
  position: relative; }

#project .movie::after {
  content: " ";
  position: absolute;
  display: inline-block;
  width: 80px;
  height: 16px;
  left: 0;
  top: 0;
  background: url(/tgs/2017/public/event/images/movie.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 80px; }

.remodal {
  text-align: justify !important; }
  @media only screen and (max-width: 640px) {
    .remodal {
      padding: 10px !important; } }
  .remodal .n_link {
    background-size: auto 18px;
    background-position: left 10px center; }
  .remodal h3 {
    color: #00557f;
    font-size: 22px;
    background: url(/tgs/2017/public/event/images/h3.png) no-repeat 0px center;
    margin-top: 0;
    background-size: 13px;
    border-bottom: none;
    padding-left: 20px; }
  .remodal h4 {
    font-size: 15px;
    font-weight: 500;
    color: #db4380;
    margin-top: 10px; }
    .remodal h4 > span {
      padding-left: 10px;
      font-size: 10px;
      color: #000; }
  @media only screen and (max-width: 640px) {
    .remodal > div:nth-of-type(1) {
      margin-top: 40px; } }
  .remodal > div > p {
    margin-top: 20px;
    font-size: 13px;
    line-height: 1.5; }
    .remodal > div > p img {
      width: 100%; }
  .remodal > div .right {
    width: 100%;
    display: block;
    overflow: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .remodal > div .right > dt {
      width: 70%;
      float: left; }
      @media only screen and (max-width: 640px) {
        .remodal > div .right > dt {
          width: 100%;
          float: none; } }
      .remodal > div .right > dt > h3 {
        font-size: 24px;
        font-weight: 500;
        margin-top: 0; }
    .remodal > div .right > dd {
      width: 12%;
      float: left;
      padding-top: 5px; }
      @media only screen and (max-width: 640px) {
        .remodal > div .right > dd {
          width: 100px;
          float: none;
          margin-left: 20px; } }
      .remodal > div .right > dd > p {
        font-size: 11px;
        font-weight: 500;
        background-color: #4f4552;
        color: #fff;
        text-align: center;
        padding-bottom: 1px; }

.remo-dl-bottom {
  display: block;
  overflow: hidden;
  width: 100%;
  margin-top: 10px;
  background-color: #e4edf1;
  padding: 10px; }
  .remo-dl-bottom .remo-dl-img {
    margin-top: 0; }
  .remo-dl-bottom > dt {
    font-size: 11px;
    font-weight: 500;
    color: #000; }
  .remo-dl-bottom > dd {
    font-size: 11px;
    color: #000; }
    .remo-dl-bottom > dd > p {
      line-height: 1.5; }
      .remo-dl-bottom > dd > p > a {
        background-color: #fff;
        width: 126px;
        display: inline-block;
        font-size: 12px;
        border-bottom: 2px solid #c0c0c0;
        margin-top: 10px;
        padding-left: 30px; }

.remo-dl-img {
  width: 100%;
  display: block;
  overflow: hidden;
  margin-top: 20px; }
  .remo-dl-img > dt {
    float: left;
    width: 58%; }
    @media only screen and (max-width: 640px) {
      .remo-dl-img > dt {
        width: 100%; } }
    .remo-dl-img > dt > p {
      font-size: 15px;
      line-height: 1.5; }
    .remo-dl-img > dt > p:nth-of-type(1) {
      margin-top: 0; }
  .remo-dl-img > dd {
    float: left;
    width: 38%;
    margin-left: 20px; }
    @media only screen and (max-width: 640px) {
      .remo-dl-img > dd {
        width: 100%;
        margin-left: 0; } }
    .remo-dl-img > dd img {
      width: 100%; }

.remo-dl-img.ex {
  width: 80%;
  margin: 20px auto 0;
  line-height: 1;
  text-align: center; }
  @media only screen and (max-width: 640px) {
    .remo-dl-img.ex {
      width: 100%; } }
  .remo-dl-img.ex a {
    background-color: #4f4552;
    display: block;
    width: 273px;
    height: 56px;
    padding: 10px 27px; }
  .remo-dl-img.ex p {
    display: inline-block;
    font-size: 18px;
    font-weight: 500;
    color: #fff; }
  .remo-dl-img.ex > dt {
    width: 48%; }
    @media only screen and (max-width: 640px) {
      .remo-dl-img.ex > dt {
        width: 100%; } }
  .remo-dl-img.ex > dd {
    width: 48%; }
    @media only screen and (max-width: 640px) {
      .remo-dl-img.ex > dd {
        width: 100%;
        margin-top: 10px; } }

.remo-dl-img.ex2 dt {
  width: 78%; }
  @media only screen and (max-width: 640px) {
    .remo-dl-img.ex2 dt {
      width: 100%; } }

.remo-dl-img.ex2 dd {
  width: 18%; }
  @media only screen and (max-width: 640px) {
    .remo-dl-img.ex2 dd {
      width: 100%; } }

.remo-dl-img.ex3 dt {
  width: 48%; }
  .remo-dl-img.ex3 dt img {
    width: 100%; }
  @media only screen and (max-width: 640px) {
    .remo-dl-img.ex3 dt {
      width: 100%; } }

.remo-dl-img.ex3 dd {
  width: 48%;
  margin-left: 10px; }
  .remo-dl-img.ex3 dd img {
    width: 100%; }
  @media only screen and (max-width: 640px) {
    .remo-dl-img.ex3 dd {
      width: 100%;
      margin-top: 10px;
      margin-left: 0; } }

.remo-dl-img.ex4 {
  background-color: #E4EDF1;
  padding: 10px; }
  .remo-dl-img.ex4 .remo-dl-bottom {
    padding: 0;
    margin-top: 0; }
  .remo-dl-img.ex4 > dd {
    width: 39.1%; }
    @media only screen and (max-width: 640px) {
      .remo-dl-img.ex4 > dd {
        margin-top: 10px;
        width: 100%; } }

.remo-tab {
  overflow: hidden;
  margin-bottom: -2px;
  margin-top: 10px; }

.remo-tab li {
  background: #999;
  padding: 5px 25px;
  float: left;
  font-weight: 500;
  color: #fff;
  border-top: 2px solid #7d7d7d;
  border-right: 2px solid #7d7d7d; }
  @media only screen and (max-width: 640px) {
    .remo-tab li {
      padding: 5px; } }
  .remo-tab li > p {
    font-size: 14px; }
    @media only screen and (max-width: 640px) {
      .remo-tab li > p {
        font-size: 9px; } }

.remo-tab li:nth-of-type(1) {
  margin-left: 10px;
  border-left: 2px solid #7d7d7d; }
  @media only screen and (max-width: 640px) {
    .remo-tab li:nth-of-type(1) {
      margin-left: 0; } }

.remo-tab li.remo-select {
  background: #f0f5f7;
  color: #db4380; }

.remo-content {
  border: 2px solid #7d7d7d; }

.remo-content li {
  background: #f0f5f7;
  padding: 10px 20px; }
  @media only screen and (max-width: 640px) {
    .remo-content li {
      padding: 5px; } }
  .remo-content li > dl {
    width: 100%;
    display: block;
    overflow: hidden;
    border-bottom: 2px solid #fff;
    color: #000;
    padding: 10px; }
    .remo-content li > dl > dt {
      width: 20%;
      float: left; }
      @media only screen and (max-width: 640px) {
        .remo-content li > dl > dt {
          width: 100%;
          float: none; } }
    .remo-content li > dl > dd {
      width: 79.9%;
      float: left; }
      @media only screen and (max-width: 640px) {
        .remo-content li > dl > dd {
          width: 100%;
          float: none;
          margin-top: 5px; } }
  .remo-content li > dl:nth-last-of-type(1) {
    border-bottom: none; }

.remo-hide {
  display: none; }

.remo-line {
  background: #ffffff;
  background: -moz-linear-gradient(top, #ffffff 92%, #e74388 93%, #e74388 98%, #ffffff 93%);
  background: -webkit-linear-gradient(top, #ffffff 92%, #e74388 93%, #e74388 98%, #ffffff 93%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(92%, #ffffff), color-stop(93%, #e74388), color-stop(98%, #e74388), color-stop(93%, #ffffff));
  background: -o-linear-gradient(top, #ffffff 92%, #e74388 93%, #e74388 98%, #ffffff 93%);
  background: linear-gradient(to bottom, #ffffff 92%, #e74388 93%, #e74388 98%, #ffffff 93%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffffff',GradientType=0 ); }

.remo-red {
  color: #E74388; }
