@charset "UTF-8";
@font-face {
  font-family: 'icomoon';
  src: url("../font/icomoon.eot?-zakc5a");
  src: url("../font/icomoon.eot?#iefix-zakc5a") format("embedded-opentype"), url("../font/icomoon.woff?-zakc5a") format("woff"), url("../font/icomoon.ttf?-zakc5a") format("truetype"), url("../font/icomoon.svg?-zakc5a#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }

[class^="icon-"], [class*=" icon-"] {
  font-family: 'icomoon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-line::before {
  content: "\e601"; }

.icon-line-square::before {
  content: "\e600"; }

/* Preset
-------------------------------------------------------
-------------------------------------------------------*/
/* font */
/* color */
/* End Preset
-------------------------------------------------------
-------------------------------------------------------*/
/* Base
-------------------------------------------------------
-------------------------------------------------------*/
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  list-style: none; }

html {
  font-size: 62.5%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  position: relative;
  font-family: "Helvetica Neue", "helvetica", "Noto Sans Japanese", "YuGothic", "游ゴシック", "游ゴシック体", "Hiragino Kaku Gothic Pro", "Verdana", Meiryo, Osaka, "MS PGothic", sans-serif;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.7;
  color: #303030;
  margin: 0; }
  @media (max-width: 800px) {
    body {
      font-size: 13px;
      font-size: 1.3rem; } }
  body.nav__open {
    height: 100%;
    overflow: hidden; }

h1, h2, h3, h4, h5 {
  margin: 0; }

a {
  text-decoration: none;
  background-color: transparent; }

p {
  margin: 0; }

ul {
  margin: 0;
  padding: 0; }
  ul li {
    margin: 0;
    padding: 0; }

dl, dd {
  margin: 0; }

small {
  font-size: 80%; }

figure {
  margin: 0; }

.youtube__image {
  position: relative;
  float: none;
  padding-top: 56.25%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  cursor: pointer; }
  .youtube__image::before {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    content: '';
    width: 12%;
    height: 15%;
    margin: auto;
    background-image: url(../img/youtube__btn.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer;
    opacity: .95;
    -webkit-transition: opacity 1.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 1.5s cubic-bezier(0.19, 1, 0.22, 1);
    transition: opacity 1.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 1.5s cubic-bezier(0.19, 1, 0.22, 1);
    -o-transition: transform 1.5s cubic-bezier(0.19, 1, 0.22, 1), opacity 1.5s cubic-bezier(0.19, 1, 0.22, 1);
    transition: transform 1.5s cubic-bezier(0.19, 1, 0.22, 1), opacity 1.5s cubic-bezier(0.19, 1, 0.22, 1);
    transition: transform 1.5s cubic-bezier(0.19, 1, 0.22, 1), opacity 1.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 1.5s cubic-bezier(0.19, 1, 0.22, 1);
    z-index: 2; }
  .youtube__image::after {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
    z-index: 1; }
  .youtube__image:hover::after {
    background-color: transparent; }

.youtube__wrap {
  position: relative;
  float: none;
  padding-top: 56.25%; }
  .youtube__wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0; }

.error {
  font-family: "Oswald", sans-serif;
  text-align: center;
  margin: 100px auto 40px; }

/* End Base
-------------------------------------------------------
-------------------------------------------------------*/
/* Fadein
-------------------------------------------------------
-------------------------------------------------------*/
.fade, .fade__list .fade__list__child {
  opacity: 0;
  -webkit-transform: translate3d(0, 30px, 0);
          transform: translate3d(0, 30px, 0);
  -webkit-transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  -o-transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1), transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1), transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1), transform 1s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .fade.fadein, .fade__list .fade__list__child.fadein {
    opacity: 1;
    -webkit-transform: scale(1) translate3d(0, 0, 0);
            transform: scale(1) translate3d(0, 0, 0); }

/* End Fadein
-------------------------------------------------------
-------------------------------------------------------*/
/* Navigation
-------------------------------------------------------
-------------------------------------------------------*/
.nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 70px;
  background-color: #FFFFFF;
  z-index: 2; }
  .nav .nav__btn {
    position: relative;
    top: 0;
    left: 0;
    width: 70px;
    height: 70px;
    -webkit-transition: .2s;
    -o-transition: .2s;
    transition: .2s;
    cursor: pointer;
    z-index: 2; }
    .nav .nav__btn:hover {
      background-color: #F5EAED; }
      @media (max-width: 800px) {
        .nav .nav__btn:hover {
          background-color: transparent; } }
    .nav .nav__btn .nav__label {
      position: absolute;
      top: 15px;
      left: 50%;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%);
      font-family: "Oswald", sans-serif;
      font-size: 14px; }
    .nav .nav__btn span {
      position: absolute;
      width: 5px;
      height: 5px;
      background-color: #EA94BC;
      -webkit-transition: .2s;
      -o-transition: .2s;
      transition: .2s; }
      .nav .nav__btn span:nth-of-type(1) {
        top: 40px;
        left: 22.5px;
        opacity: .6; }
      .nav .nav__btn span:nth-of-type(2) {
        top: 40px;
        left: 32.5px;
        opacity: .8; }
      .nav .nav__btn span:nth-of-type(3) {
        top: 40px;
        left: 42.5px; }
      .nav .nav__btn span:nth-of-type(4) {
        top: 50px;
        left: 22.5px;
        opacity: .6; }
      .nav .nav__btn span:nth-of-type(5) {
        top: 50px;
        left: 32.5px;
        opacity: .8; }
      .nav .nav__btn span:nth-of-type(6) {
        top: 50px;
        left: 42.5px; }
    .nav .nav__btn.nav__open span:nth-of-type(1) {
      top: 45px;
      opacity: 1; }
    .nav .nav__btn.nav__open span:nth-of-type(2) {
      top: 45px;
      opacity: 1; }
    .nav .nav__btn.nav__open span:nth-of-type(3) {
      top: 45px;
      left: 42.5px; }
    .nav .nav__btn.nav__open span:nth-of-type(4) {
      top: 45px;
      left: 27.5px;
      opacity: 1; }
    .nav .nav__btn.nav__open span:nth-of-type(5) {
      top: 45px;
      left: 32.5px;
      opacity: 1; }
    .nav .nav__btn.nav__open span:nth-of-type(6) {
      top: 45px;
      left: 37.5px; }
  .nav .logo {
    position: absolute;
    top: 11px;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 2; }
    @media (max-width: 800px) {
      .nav .logo {
        top: 19px; } }
    .nav .logo a img {
      height: 48px; }
      @media (max-width: 800px) {
        .nav .logo a img {
          height: 32px; } }
  .nav .nav__ticket {
    position: absolute;
    display: block;
    top: 21px;
    right: 115px;
    z-index: 2; }
    @media (max-width: 800px) {
      .nav .nav__ticket {
        display: none; } }
    .nav .nav__ticket .nav__ticket__btn {
      font-family: "Oswald", sans-serif;
      font-size: 16px;
      color: #303030;
      padding: 0 15px;
      border-radius: 5px;
      background-color: #FFFFFF;
      -webkit-box-shadow: 0 1px 4px rgba(48, 48, 48, 0.2);
              box-shadow: 0 1px 4px rgba(48, 48, 48, 0.2);
      -webkit-transition: opacity 240ms cubic-bezier(0.63, 0.26, 0, 0.45);
      -o-transition: opacity 240ms cubic-bezier(0.63, 0.26, 0, 0.45);
      transition: opacity 240ms cubic-bezier(0.63, 0.26, 0, 0.45);
      cursor: pointer; }
      .nav .nav__ticket .nav__ticket__btn:hover {
        color: #FFFFFF;
        background: -webkit-gradient(linear, left top, right top, from(#ea94bc), to(#e1d2ea));
        background: -webkit-linear-gradient(left, #ea94bc, #e1d2ea);
        background: -o-linear-gradient(left, #ea94bc, #e1d2ea);
        background: linear-gradient(90deg, #ea94bc, #e1d2ea); }
    .nav .nav__ticket .nav__ticket__list {
      position: absolute;
      top: 35px;
      right: -15px;
      background-color: #FFFFFF; }
      @media (max-width: 800px) {
        .nav .nav__ticket .nav__ticket__list {
          position: relative;
          display: block;
          top: 0;
          left: 0;
          -webkit-transform: translate(0);
              -ms-transform: translate(0);
                  transform: translate(0); } }
      .nav .nav__ticket .nav__ticket__list li {
        display: block;
        text-align: center; }
        @media (max-width: 800px) {
          .nav .nav__ticket .nav__ticket__list li {
            text-align: left; } }
        .nav .nav__ticket .nav__ticket__list li a {
          display: none;
          font-size: 13px;
          color: #CCCCCC;
          vertical-align: middle;
          width: 100%;
          padding: 10px 15px;
          -webkit-transition: .2s;
          -o-transition: .2s;
          transition: .2s;
          white-space: nowrap; }
          @media (max-width: 800px) {
            .nav .nav__ticket .nav__ticket__list li a {
              display: block;
              color: #CCCCCC;
              padding: 15px 16%; } }
          .nav .nav__ticket .nav__ticket__list li a:hover {
            color: #303030; }
  .nav .nav__lang {
    position: absolute;
    display: block;
    top: 26px;
    right: 22.5px;
    cursor: pointer;
    z-index: 2; }
    .nav .nav__lang .nav__lang__current::after {
      display: inline-block;
      content: '';
      width: 4px;
      height: 4px;
      margin-left: 4px;
      border-right: 1px solid #303030;
      border-bottom: 1px solid #303030;
      -webkit-transform: translate(0, -4px) rotateX(0deg) rotateZ(45deg);
              transform: translate(0, -4px) rotateX(0deg) rotateZ(45deg);
      -webkit-transition: all 0.36s cubic-bezier(0.215, 0.61, 0.355, 1);
      -o-transition: all 0.36s cubic-bezier(0.215, 0.61, 0.355, 1);
      transition: all 0.36s cubic-bezier(0.215, 0.61, 0.355, 1); }
    .nav .nav__lang .nav__lang__current i {
      font-size: 16px;
      margin-right: 4px; }
    .nav .nav__lang .nav__lang__current .nav__lang__current__txt {
      display: inline-block;
      font-size: 13px; }
      @media (max-width: 800px) {
        .nav .nav__lang .nav__lang__current .nav__lang__current__txt {
          display: none; } }
    .nav .nav__lang .nav__lang__list {
      position: absolute;
      top: 30px;
      right: -10px;
      background-color: #FFFFFF; }
      @media (max-width: 800px) {
        .nav .nav__lang .nav__lang__list {
          right: -22.5px; } }
      .nav .nav__lang .nav__lang__list li {
        display: none;
        font-size: 13px;
        text-align: center;
        color: #CCCCCC;
        vertical-align: middle;
        width: 85px;
        padding: 10px 15px;
        -webkit-transition: .2s;
        -o-transition: .2s;
        transition: .2s;
        white-space: nowrap; }
        .nav .nav__lang .nav__lang__list li:hover {
          color: #303030; }
    .nav .nav__lang.nav__lang__open .nav__lang__current::after {
      -webkit-transform: translate(0, -1px) rotateX(180deg) rotateZ(45deg);
              transform: translate(0, -1px) rotateX(180deg) rotateZ(45deg); }
  .nav .nav__main {
    position: absolute;
    display: none;
    top: 70px;
    left: 0;
    width: 100%;
    z-index: 1; }
    @media (max-width: 800px) {
      .nav .nav__main {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        border-top: 70px solid #FFFFFF;
        background-color: #FFFFFF;
        overflow: auto; } }
    .nav .nav__main .nav__base {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      padding: 20px 8%;
      background: -webkit-gradient(linear, left top, right top, from(#ea94bc), to(#e1d2ea));
      background: -webkit-linear-gradient(left, #ea94bc, #e1d2ea);
      background: -o-linear-gradient(left, #ea94bc, #e1d2ea);
      background: linear-gradient(90deg, #ea94bc, #e1d2ea); }
      @media (max-width: 800px) {
        .nav .nav__main .nav__base {
          display: block;
          float: left;
          width: 50%;
          padding: 30px 0 20px;
          background: transparent; }
          .nav .nav__main .nav__base::after {
            position: absolute;
            top: 40px;
            right: 0;
            content: '';
            width: 2px;
            height: calc(100% - 60px);
            background-color: #F7F5F7; } }
      .nav .nav__main .nav__base .nav__base__label {
        display: none;
        font-family: "Oswald", sans-serif;
        font-size: 16px;
        padding: 15px 16%; }
        @media (max-width: 800px) {
          .nav .nav__main .nav__base .nav__base__label {
            display: block; } }
      .nav .nav__main .nav__base li {
        position: relative;
        display: inline-block;
        margin: 0 16px; }
        .nav .nav__main .nav__base li:not(:last-child)::after {
          position: absolute;
          top: 50%;
          right: -16px;
          -webkit-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
                  transform: translateY(-50%);
          content: '';
          width: 1px;
          height: 13px;
          background-color: #FFFFFF;
          opacity: .6; }
          @media (max-width: 800px) {
            .nav .nav__main .nav__base li:not(:last-child)::after {
              content: none; } }
        @media (max-width: 800px) {
          .nav .nav__main .nav__base li {
            display: block;
            margin: 0; } }
        .nav .nav__main .nav__base li a {
          color: #FFFFFF;
          vertical-align: middle;
          -webkit-transition: .2s;
          -o-transition: .2s;
          transition: .2s; }
          @media (max-width: 800px) {
            .nav .nav__main .nav__base li a {
              display: block;
              color: #CCCCCC;
              padding: 15px 16%; } }
          .nav .nav__main .nav__base li a:hover {
            opacity: .6; }
    .nav .nav__main .nav__sp__ticket {
      display: none;
      float: right;
      width: 50%;
      padding: 30px 0 20px; }
      @media (max-width: 800px) {
        .nav .nav__main .nav__sp__ticket {
          display: block; } }
      .nav .nav__main .nav__sp__ticket .nav__sp__ticket__label {
        font-family: "Oswald", sans-serif;
        font-size: 16px;
        padding: 15px 16%; }
      .nav .nav__main .nav__sp__ticket .no__ticket {
        color: #CCCCCC;
        vertical-align: middle;
        padding: 15px 16%; }
      .nav .nav__main .nav__sp__ticket li a {
        display: block;
        color: #CCCCCC;
        vertical-align: middle;
        padding: 15px 16%;
        -webkit-transition: .2s;
        -o-transition: .2s;
        transition: .2s; }
        .nav .nav__main .nav__sp__ticket li a:hover {
          opacity: .6; }
    .nav .nav__main .nav__naked {
      display: none;
      text-align: center;
      float: none;
      padding: 0 8%; }
      @media (max-width: 800px) {
        .nav .nav__main .nav__naked {
          display: block; } }
      .nav .nav__main .nav__naked .nav__naked__official {
        border-top: 2px solid #F7F5F7;
        padding-top: 20px;
        clear: both; }
        .nav .nav__main .nav__naked .nav__naked__official a {
          font-family: "Oswald", sans-serif;
          color: #CCCCCC;
          padding: 10px;
          -webkit-transition: .2s;
          -o-transition: .2s;
          transition: .2s; }
          .nav .nav__main .nav__naked .nav__naked__official a:hover {
            opacity: .6; }
      .nav .nav__main .nav__naked .nav__naked__sns {
        margin-top: 20px; }
        .nav .nav__main .nav__naked .nav__naked__sns li {
          display: inline-block;
          line-height: 1;
          margin: 0 3%; }
          .nav .nav__main .nav__naked .nav__naked__sns li a {
            font-size: 2rem;
            color: #CCCCCC;
            -webkit-transition: .2s;
            -o-transition: .2s;
            transition: .2s; }
            .nav .nav__main .nav__naked .nav__naked__sns li a:hover {
              opacity: .6; }

/* End Navigation
-------------------------------------------------------
-------------------------------------------------------*/
/* Common Content
-------------------------------------------------------
-------------------------------------------------------*/
#content {
  padding-top: 70px; 
}

/* End Common Content
-------------------------------------------------------
-------------------------------------------------------*/
/* Footer
-------------------------------------------------------
-------------------------------------------------------*/
footer {
  position: relative;
  padding: 60px 0 90px;
  background-color: #FFFFFF; }
  footer .footer__naked {
    display: flow-root;
    width: 100%;
    padding: 0 8%; }
    footer .footer__naked::after {
      display: table;
      content: "";
      line-height: 0;
      clear: both; }
    footer .footer__naked .footer__naked__official {
      font-family: "Oswald", sans-serif;
      text-align: center;
      float: left;
      width: 50%; }
      footer .footer__naked .footer__naked__official a {
        letter-spacing: .15rem;
        color: #EA94BC;
        -webkit-transition: .2s;
        -o-transition: .2s;
        transition: .2s; }
        @media (max-width: 800px) {
          footer .footer__naked .footer__naked__official a {
            letter-spacing: 0; } }
        footer .footer__naked .footer__naked__official a:hover {
          opacity: .6; }
    footer .footer__naked .footer__naked__sns {
      text-align: center;
      float: right;
      width: 50%; }
      footer .footer__naked .footer__naked__sns ul li {
        display: inline-block;
        line-height: 1;
        margin: 0 3%; }
        footer .footer__naked .footer__naked__sns ul li a {
          font-size: 2rem;
          color: #EA94BC;
          -webkit-transition: .2s;
          -o-transition: .2s;
          transition: .2s; }
          footer .footer__naked .footer__naked__sns ul li a:hover {
            opacity: .6; }
  footer .copy {
    position: absolute;
    bottom: 30px;
    font-family: "Oswald", sans-serif;
    letter-spacing: .15rem;
    text-align: center;
    width: 100%; }

/* End Footer
-------------------------------------------------------
-------------------------------------------------------*/
/*追加分
-------------------------------------------------------
-------------------------------------------------------*/
