@charset "UTF-8";
@media only screen and (min-width: 768px) {
  /************************************************
***   basic
************************************************/
  html {
    font-size: 62.5%;
    height: 100%; }
  body {
    min-width: 1024px;
    height: 100%;
    margin: 0 auto;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    word-wrap: break-word;
    overflow-wrap: break-word;
    overflow-x: hidden;
    position: relative; }
  * {
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    zoom: 1; }
  a {
    outline: none; }
  .pc_n {
    display: none; }
  .pc_b {
    display: block; }
  .pc_i {
    display: inline; }
  .pc_ib {
    display: inline-block; }
  .sp_n {
    display: none !important; }
  .sp_b {
    display: none !important; }
  .sp_i {
    display: none !important; }
  .sp_ib {
    display: none !important; }
  .clearfix:after, #outline .inner:after, #booth .inner:after, #terrace .inner ul:after, #access .inner .information:after, footer .archive:after, footer .archive ul:after, footer .copyright:after, footer .copyright ul:after {
    display: block;
    clear: both;
    content: ""; }
  .inner {
    width: 904px;
    margin: 0 auto; }
  /************************************************
***   wrapper
************************************************/
  #wrapper {
    height: 100%;
    position: relative; }
  /************************************************
***   mainvisual
************************************************/
  #mainvisual {
    min-height: 754px;
    padding: 24px 0 0 0;
    position: relative;
    background: url("../images/pc/mainvisual/bg.jpg") 50% 0 #fff;
    background-size: cover;
    text-align: center; }
    #mainvisual h1 {
      margin: 0 0 25px 0; }
    #mainvisual p:nth-of-type(1) {
      margin: 0 0 31px 0; }
    #mainvisual p:nth-of-type(2) {
      margin: 0 0 0 0; }
    #mainvisual p:nth-of-type(3) {
      margin: 0 0 0 0;
      position: absolute;
      top: 20px;
      left: 20px; }
      #mainvisual p:nth-of-type(3) a {
        transition: 0.3s; }
        #mainvisual p:nth-of-type(3) a img {
          width: auto;
          height: 100%; }
        #mainvisual p:nth-of-type(3) a:hover {
          opacity: 0.8;
          -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; }
  /************************************************
***   header
************************************************/
  header {
    width: 100%;
    height: 70px;
    position: relative; }
    header nav {
      width: 100%;
      padding: 26px 0;
      background: #02004b;
      position: absolute;
      top: 0;
      left: 0; }
      header nav ul {
        width: 1024px;
        margin: 0 auto;
        text-align: center; }
        header nav ul li {
          display: inline-block;
          position: relative; }
          header nav ul li a {
            font-size: 18px;
            font-size: 1.8rem;
            font-family: 'Open Sans', sans-serif;
            font-weight: 600;
            color: #fff;
            text-decoration: none;
            letter-spacing: 2px;
            position: relative; }
            header nav ul li a:after {
              content: "";
              width: 0;
              height: 1px;
              margin: 0 auto;
              background: #fff;
              position: absolute;
              right: 0;
              left: 0;
              bottom: -5px;
              transition: 0.3s; }
            header nav ul li a:hover:after {
              width: 100%; }
        header nav ul li + li {
          margin: 0 0 0 150px; }
          header nav ul li + li:before {
            content: "";
            width: 1px;
            height: 40px;
            background: #fff;
            position: absolute;
            top: 50%;
            left: -75px;
            -webkit-transform: translate(0, -50%) rotate(45deg);
                -ms-transform: translate(0, -50%) rotate(45deg);
                    transform: translate(0, -50%) rotate(45deg); }
    header .fixed {
      padding: 20px 0;
      position: fixed;
      top: 0;
      left: 0;
      z-index: 1;
      transition: 0.3s; }
  /************************************************
***   main
************************************************/
  main {
    display: block; }
    main .outline,
    main .booth,
    main .terrace,
    main .access {
      padding: 50px 0 60px 0; }
      main .outline .inner h2,
      main .booth .inner h2,
      main .terrace .inner h2,
      main .access .inner h2 {
        padding: 0 0 20px 0;
        font-size: 26px;
        font-size: 2.6rem;
        font-family: 'Open Sans', sans-serif;
        font-weight: 700;
        letter-spacing: 3px; }
  /************************************************
***   outline
************************************************/
  #outline {
    background: url("../common/images/outline/bg.jpg");
    position: relative; }
    #outline .inner {
      position: relative; }
      #outline .inner h2 {
        margin: 0 0 25px 0;
        color: #02004b;
        border-bottom: 1px solid #02004b; }
      #outline .inner article {
        width: 600px;
        float: left; }
        #outline .inner article h3 {
          margin: 0 0 20px 0;
          font-size: 27px;
          font-size: 2.7rem;
          line-height: 1.592592592592593;
          color: #02004b;
          letter-spacing: 3px; }
          #outline .inner article h3 span {
            font-family: 'Open Sans', sans-serif;
            font-weight: 700; }
        #outline .inner article p {
          font-size: 14px;
          font-size: 1.4rem;
          line-height: 2.142857142857143;
          color: #02004b;
          letter-spacing: 1.6px; }
          #outline .inner article p a {
            color: #1da1f2;
            font-weight: bold;
            text-decoration: none; }
            #outline .inner article p a:hover {
              text-decoration: underline; }
        #outline .inner article p + p {
          margin: 30px 0 0 0; }
      #outline .inner .twitter {
        width: 260px;
        float: right; }
  /************************************************
***   booth
************************************************/
  #booth {
    background: url("../common/images/booth/bg.jpg");
    position: relative; }
    #booth .inner h2 {
      margin: 0 0 25px 0;
      color: #000;
      border-bottom: 1px solid #000; }
    #booth .inner > p {
      margin: 0 0 35px 0;
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 2.071428571428571; }
    #booth .inner .dekaslot {
      width: 945px;
      height: 1184px;
      background: url("../common/images/booth/img_dekaslot.png") 0 0 no-repeat; }
    #booth .inner .instagram-campaign {
      margin: 30px 0 0 0;
      padding: 46px 74px 66px;
      border: 10px solid #ce2f7b;
      background: #fff; }
      #booth .inner .instagram-campaign h3 {
        margin: 0 0 25px 0;
        text-align: center; }
      #booth .inner .instagram-campaign .overview {
        margin: 0 0 20px 0;
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.875;
        text-align: center; }
      #booth .inner .instagram-campaign .campaign {
        width: 756px;
        margin: 0 auto;
        padding: 25px 60px 27px;
        background: rgba(255, 248, 147, 0.7); }
        #booth .inner .instagram-campaign .campaign h4 {
          margin: 0 0 25px 0;
          font-size: 24px;
          font-size: 2.4rem;
          color: #ce2f7b;
          text-align: center; }
        #booth .inner .instagram-campaign .campaign p {
          font-size: 18px;
          font-size: 1.8rem;
          text-align: center;
          color: #ff0000; }
        #booth .inner .instagram-campaign .campaign ol li dl {
          display: table; }
          #booth .inner .instagram-campaign .campaign ol li dl dt {
            margin: 0 20px 0 0; }
            #booth .inner .instagram-campaign .campaign ol li dl dt span {
              padding: 3px 12px;
              font-size: 14px;
              font-size: 1.4rem;
              background: #fff;
              border: 1px solid #000;
              border-radius: 100px;
              letter-spacing: 0.6px; }
          #booth .inner .instagram-campaign .campaign ol li dl dd {
            display: table-cell;
            font-size: 14px;
            font-size: 1.4rem;
            line-height: 2; }
            #booth .inner .instagram-campaign .campaign ol li dl dd a {
              color: #0094cd; }
        #booth .inner .instagram-campaign .campaign ol li + li {
          margin: 18px 0 0 0; }
      #booth .inner .instagram-campaign .campaign-01 ol {
        margin: 25px 0 10px 0; }
    #booth .inner .twitter-campaign {
      margin: 30px 0 0 0;
      padding: 46px 74px 66px;
      border: 10px solid #00acee;
      background: url("../common/images/booth/bg_twitter-campaign.png") 50% 20px no-repeat #fff; }
      #booth .inner .twitter-campaign h3 {
        margin: 0 0 25px 0;
        text-align: center; }
      #booth .inner .twitter-campaign .overview {
        margin: 0 0 20px 0;
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.875;
        text-align: center; }
      #booth .inner .twitter-campaign .campaign {
        width: 756px;
        margin: 0 auto;
        padding: 25px 60px 27px;
        background: rgba(255, 248, 147, 0.7); }
        #booth .inner .twitter-campaign .campaign h4 {
          margin: 0 0 25px 0;
          font-size: 24px;
          font-size: 2.4rem;
          color: #00acee;
          text-align: center; }
        #booth .inner .twitter-campaign .campaign p {
          font-size: 18px;
          font-size: 1.8rem;
          text-align: center;
          color: #ff0000; }
        #booth .inner .twitter-campaign .campaign ol li dl {
          display: table; }
          #booth .inner .twitter-campaign .campaign ol li dl dt {
            margin: 0 20px 0 0; }
            #booth .inner .twitter-campaign .campaign ol li dl dt span {
              padding: 3px 12px;
              font-size: 14px;
              font-size: 1.4rem;
              background: #fff;
              border: 1px solid #000;
              border-radius: 100px;
              letter-spacing: 0.6px; }
          #booth .inner .twitter-campaign .campaign ol li dl dd {
            display: table-cell;
            font-size: 14px;
            font-size: 1.4rem;
            line-height: 2; }
            #booth .inner .twitter-campaign .campaign ol li dl dd a {
              color: #0094cd; }
        #booth .inner .twitter-campaign .campaign ol li + li {
          margin: 18px 0 0 0; }
      #booth .inner .twitter-campaign .campaign + .campaign {
        margin: 20px 0 0 0; }
      #booth .inner .twitter-campaign .campaign-01 ol {
        margin: 25px 0 10px 0; }
      #booth .inner .twitter-campaign .campaign-02 ol {
        margin: 25px 0 0 0; }
      #booth .inner .twitter-campaign .chance {
        margin: 25px 0 0 0;
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.875;
        color: #f00;
        text-align: center; }
        #booth .inner .twitter-campaign .chance span {
          position: relative;
          display: inline-block; }
          #booth .inner .twitter-campaign .chance span:before, #booth .inner .twitter-campaign .chance span:after {
            content: "";
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 22px 15px 0 15px;
            border-color: #ff0000 transparent transparent transparent;
            position: absolute;
            top: 50%;
            -webkit-transform: translate(0, -50%);
                -ms-transform: translate(0, -50%);
                    transform: translate(0, -50%); }
          #booth .inner .twitter-campaign .chance span:before {
            left: -50px; }
          #booth .inner .twitter-campaign .chance span:after {
            right: -50px; }
      #booth .inner .twitter-campaign .btn {
        margin: 30px auto 0;
        text-align: center; }
        #booth .inner .twitter-campaign .btn a {
          width: 580px;
          margin: 0 auto;
          padding: 32px 0 32px 0;
          display: block;
          border-radius: 100px;
          font-size: 26px;
          font-size: 2.6rem;
          font-weight: bold;
          line-height: 1;
          background: #00acee;
          color: #fff;
          text-decoration: none;
          box-shadow: 0 6px 0 #0094cd;
          position: relative;
          letter-spacing: 2px; }
          #booth .inner .twitter-campaign .btn a:hover {
            top: 5px;
            box-shadow: none;
            text-decoration: none; }
          #booth .inner .twitter-campaign .btn a:after {
            content: "";
            width: 12px;
            height: 12px;
            border-top: 2px solid #fff;
            border-right: 2px solid #fff;
            position: absolute;
            top: 48%;
            -webkit-transform: rotate(45deg) translateY(-50%);
                -ms-transform: rotate(45deg) translateY(-50%);
                    transform: rotate(45deg) translateY(-50%);
            right: 35px; }
      #booth .inner .twitter-campaign .coming {
        margin: 30px auto 0;
        text-align: center; }
        #booth .inner .twitter-campaign .coming a {
          width: 580px;
          margin: 0 auto;
          padding: 32px 0 32px 0;
          display: block;
          border-radius: 100px;
          font-size: 26px;
          font-size: 2.6rem;
          font-weight: bold;
          line-height: 1;
          background: #00acee;
          color: #fff;
          text-decoration: none;
          box-shadow: 0 6px 0 #0094cd;
          position: relative;
          letter-spacing: 2px; }
  /************************************************
***   terrace
************************************************/
  #terrace {
    background: url("../common/images/terrace/bg.jpg");
    background-size: cover;
    position: relative; }
    #terrace .inner h2 {
      margin: 0 0 25px 0;
      color: #000;
      border-bottom: 1px solid #000; }
    #terrace .inner h3 {
      margin: 0 0 20px 0;
      font-size: 27px;
      font-size: 2.7rem; }
    #terrace .inner p {
      margin: 0 0 30px 0;
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 2.071428571428571; }
    #terrace .inner ul li {
      float: left; }
    #terrace .inner ul li + li {
      margin: 0 0 0 20px; }
  /************************************************
***   access
************************************************/
  #access {
    background: url("../images/pc/access/bg.png") 0 0 no-repeat #110e50;
    background-size: 100%; }
    #access .inner h2 {
      margin: 0 0 25px 0;
      color: #fff;
      border-bottom: 1px solid #fff; }
    #access .inner .information h3 {
      margin: 0 0 40px 0;
      padding: 16px 0;
      font-size: 18px;
      font-size: 1.8rem;
      color: #02004b;
      background: #ffff66;
      text-align: center;
      letter-spacing: 3px; }
    #access .inner .information .left,
    #access .inner .information .right {
      width: 50%;
      margin: 0 0 30px; }
    #access .inner .information .left {
      float: left; }
      #access .inner .information .left dl:nth-child(2) {
        margin: 35px 0 0 0; }
      #access .inner .information .left dl:nth-child(3) {
        margin: 39px 0 0 0; }
    #access .inner .information .right {
      float: right; }
      #access .inner .information .right dl:nth-child(2) {
        margin: 30px 0 0 0; }
      #access .inner .information .right dl:nth-child(3) {
        margin: 35px 0 0 0; }
    #access .inner .information dl {
      width: 100%;
      margin: 0 0 0 0;
      letter-spacing: 2px; }
      #access .inner .information dl dt {
        width: 80px;
        margin: 0 15px 0 0;
        font-size: 12px;
        font-size: 1.2rem;
        color: #0a125c;
        display: inline-block;
        vertical-align: top;
        text-align: center; }
        #access .inner .information dl dt span {
          width: 80px;
          padding: 10px 10px;
          background: #fff;
          display: block; }
      #access .inner .information dl dd {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 2;
        color: #fff;
        display: inline-block;
        vertical-align: top; }
        #access .inner .information dl dd a {
          color: #fff; }
    #access .inner .information .map {
      clear: both; }
    #access .inner .information .caution {
      margin: 40px 0 0 0; }
      #access .inner .information .caution p {
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 2.333333333333333;
        color: #fff; }
  /************************************************
***   footer
************************************************/
  footer {
    background: #c4000f; }
    footer .archive {
      padding: 35px 0; }
      footer .archive p {
        margin: 0 30px 0 0;
        font-size: 14px;
        font-size: 1.4rem;
        color: #fff;
        float: left;
        letter-spacing: 1px; }
        footer .archive p span {
          padding: 10px 12px;
          border: 1px solid rgba(255, 255, 255, 0.5); }
      footer .archive ul li {
        float: left;
        position: relative; }
        footer .archive ul li a {
          font-size: 14px;
          font-size: 1.4rem;
          color: #fff;
          letter-spacing: 2px;
          text-decoration: none; }
          footer .archive ul li a:hover {
            text-decoration: underline; }
      footer .archive ul li + li {
        margin: 0 0 0 20px; }
        footer .archive ul li + li:before {
          content: "/";
          position: absolute;
          top: 50%;
          -webkit-transform: translate(0, -50%);
              -ms-transform: translate(0, -50%);
                  transform: translate(0, -50%);
          left: -14px;
          color: #fff;
          font-size: 14px;
          font-size: 1.4rem; }
    footer .copyright {
      padding: 25px 0;
      border-top: 1px solid rgba(255, 255, 255, 0.5); }
      footer .copyright p {
        font-size: 12px;
        font-size: 1.2rem;
        color: #fff;
        float: left;
        letter-spacing: 2px;
        line-height: 2; }
      footer .copyright ul {
        margin: 5px 0 0 0;
        float: right; }
        footer .copyright ul li {
          float: left;
          position: relative; }
          footer .copyright ul li a {
            font-size: 12px;
            font-size: 1.2rem;
            color: #fff;
            letter-spacing: 2px;
            text-decoration: none; }
            footer .copyright ul li a:hover {
              text-decoration: underline; }
        footer .copyright ul li + li {
          margin: 0 0 0 20px; }
          footer .copyright ul li + li:before {
            content: "/";
            position: absolute;
            top: 50%;
            -webkit-transform: translate(0, -50%);
                -ms-transform: translate(0, -50%);
                    transform: translate(0, -50%);
            left: -13px;
            color: #fff;
            font-size: 14px;
            font-size: 1.4rem; }
  .btn-top {
    position: fixed;
    right: 20px;
    bottom: 20px; } }
