@charset "UTF-8";
/*---------------------------------------------------------------------------

font

---------------------------------------------------------------------------*/
.en {
  font-family: 'EB Garamond', serif; }

.mincho {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

/*---------------------------------------------------------------------------

mixin

---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------

colorset

---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------

space

---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------

space

---------------------------------------------------------------------------*/
.col-2-1 {
  width: 47.9%; }

.col-3-1 {
  width: 30.5%; }

.col-3-2 {
  width: 65.3%; }

/*---------------------------------------------------------------------------

color

---------------------------------------------------------------------------*/
#loading {
  color: #fff;
  background-color: #8bb2d9; }

.color1 {
  color: #e4300d; }

/*-- a --*/
a {
  color: #000; }

/*-- header --*/
.header {
  background-color: #c5cd00; }
  .header button {
    color: #fff; }
  @media screen and (min-width: 1000px) {
    .header h1 {
      background-color: #8bb2d9; } }
  .header h1 img {
    max-height: 30px; }
    @media screen and (min-width: 1000px) {
      .header h1 img {
        max-height: 48px; } }
  .header .global {
    background-color: #c5cd00;
    font-weight: bold;
    color: #fff; }
    .header .global li a {
      color: #fff; }
    .header .global li a:after {
      background-color: #fff; }
    .header .global li span {
      color: #fff;
      font-size: 80%; }
  .header .subNav {
    background-color: #8bb2d9;
    color: #c5cd00; }
    .header .subNav a {
      color: #fff; }

/*-- btn --*/
.btn a, .btn span, #topics .topicsList li .btn {
  color: #fff;
  background-color: #8bb2d9; }

.btn a:hover {
  background-color: #264c72;
  color: #fff;
  text-decoration: none; }

/*-- bgColor --*/
.bgColor1 {
  background-color: #8bb2d9; }

.bgColorW {
  background-color: #fff; }

/*-- drawer-nav --*/
.drawer-nav {
  background-color: #c5cd00; }
  .drawer-nav .global li, .drawer-nav .subNav li {
    color: #fff; }
    .drawer-nav .global li a, .drawer-nav .subNav li a {
      color: #fff; }
  .drawer-nav .subNav {
    padding: 20px; }
    .drawer-nav .subNav li {
      margin-bottom: 10px; }
      .drawer-nav .subNav li a {
        display: inline; }

/*-- footer --*/
footer {
  background-color: #000; }
  @media screen and (min-width: 768px) {
    footer {
      background-color: #010100; } }
  footer a {
    color: #fff; }
    @media screen and (min-width: 1000px) {
      footer a {
        color: #fff; } }
  footer .global {
    background-color: #8bb2d9; }
    footer .global li {
      font-weight: bold; }
  footer .subNav {
    background-color: #c5cd00;
    max-width: 100%;
    padding: 10px;
    font-weight: bold; }
    footer .subNav ul li {
      display: inline; }
      footer .subNav ul li a {
        display: inline;
        color: #fff; }
    footer .subNav ul li:nth-child(2) {
      margin: 0 10px; }
  footer .returnBlock {
    margin-top: 20px; }
    footer .returnBlock a {
      display: inline;
      color: #fff; }

@media screen and (min-width: 1000px) {
  .header .global li a:after {
    background-color: #fff; } }
/*---------------------------------------------------------------------------

common

---------------------------------------------------------------------------*/
body {
  overflow-x: hidden;
  line-height: 1.7; }

.returnBlock {
  padding-bottom: 20px; }

.contentIn {
  max-width: 960px;
  margin: 0 auto;
  box-sizing: border-box; }

figure {
  margin: 0; }

/*-- h2 --*/
.ttl-style1 {
  margin-bottom: 40px;
  text-align: center;
  margin: 0 auto 20px; }
  .ttl-style1 div {
    display: inline-block; }
    .ttl-style1 div .en {
      color: #c5cd00;
      font-size: 40px;
      line-height: 1.4;
      display: block;
      line-height: 1 !important; }
      @media screen and (min-width: 768px) {
        .ttl-style1 div .en {
          font-size: 56px;
          line-height: 1.4; } }
    .ttl-style1 div .ja {
      font-size: 16px;
      display: inline-block; }

.bg .ttl-style1 .en {
  color: #e7eb7c; }

/*-- btn --*/
.btn {
  text-align: center; }

.btn a, .btn span {
  display: inline-block;
  text-align: center;
  font-weight: bold;
  padding: 5px 20px;
  margin: 0 auto;
  text-decoration: none;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  font-size: 16px; }

.btn_l a, .btn_l span {
  font-size: 20px;
  line-height: 1.4;
  padding: 10px 40px; }

.drawer-nav .subNav .btn {
  margin-bottom: 20px; }

/*-- caption --*/
.caption, figcaption {
  margin-top: 1rem;
  font-size: 12px;
  line-height: 1.7; }

footer .caption {
  margin: 0; }

/*-- flL,flR --*/
@media screen and (min-width: 768px) {
  .flL {
    float: left; } }

@media screen and (min-width: 768px) {
  .flR {
    float: right; } }

/*-- flex-container --*/
.flex-container {
  display: block; }
  @media screen and (min-width: 768px) {
    .flex-container {
      display: flex; } }

@media screen and (min-width: 768px) {
  .flex-container-revers {
    flex-direction: row-reverse; } }

/*-- viewPC,viewS --*/
.viewPC {
  display: none; }
  @media screen and (min-width: 768px) {
    .viewPC {
      display: block; } }

.viewS {
  display: block; }
  @media screen and (min-width: 768px) {
    .viewS {
      display: none; } }

/*-- header --*/
@media screen and (min-width: 1000px) {
  .header ul {
    margin-left: auto;
    font-weight: bold;
    text-align: center; } }
@media screen and (min-width: 1200px) {
  .header ul {
    margin-right: auto; } }

@media screen and (min-width: 1000px) {
  .header .global li a:hover:after, #ticket #nav_ticket a:after, #topics #nav_topics a:after, #artist #nav_artist a:after, #goods #nav_goods a:after, #photobook #nav_photobook a:after {
    width: 100%; } }

.svg {
  display: none; }

#pageTop {
  background-color: #c5cd00;
  color: #fff; }
  @media screen and (min-width: 768px) {
    #pageTop {
      padding: 0;
      width: 2.0em;
      height: 2.0em;
      margin: 20px auto; } }

#pageTop:hover {
  background: #8bb2d9;
  cursor: pointer; }

#loading #loadIn {
  padding: 0 20px; }
  #loading #loadIn img {
    max-width: 500px; }

.bg {
  background: url(images/triangle.svg) no-repeat left top;
  background-size: 100%; }
  @media screen and (min-width: 768px) {
    .bg {
      background-size: 70%; } }

/*---------------------------------------------------------------------------

top

---------------------------------------------------------------------------*/
#top {
  /*
  mainvisual
  ---------------------------------------------------------------------------*/
  /*
  countdownBlock
  ---------------------------------------------------------------------------*/
  /*
  oshirase
  ---------------------------------------------------------------------------*/
  /*
  news
  ---------------------------------------------------------------------------*/
  /*
  points
  ---------------------------------------------------------------------------*/
  /*
  keynotes
  ---------------------------------------------------------------------------*/
  /*
  credit
  ---------------------------------------------------------------------------*/
  /*
  footerBnr
  ---------------------------------------------------------------------------*/ }
  #top #mainvisual {
    background-color: #8bb2d9; }
    #top #mainvisual .flex-container {
      align-items: center; }
      @media screen and (min-width: 768px) {
        #top #mainvisual .flex-container > div:last-child {
          flex: 1;
          margin-left: 5%; } }
    #top #mainvisual #logoContent {
      padding: 3%;
      margin: 0 auto;
      text-align: center;
      max-width: 800px; }
      #top #mainvisual #logoContent svg {
        fill: #fff;
        width: 100%; }
    #top #mainvisual #logo_tokyo {
      margin: 15px 0 25px 0; }
      @media screen and (min-width: 768px) {
        #top #mainvisual #logo_tokyo {
          margin-bottom: 0; } }
    #top #mainvisual #date {
      margin-top: 20px; }
      @media screen and (min-width: 768px) {
        #top #mainvisual #date {
          display: flex;
          align-items: flex-end;
          justify-content: space-between;
          margin-right: auto;
          margin-left: auto; } }
      @media screen and (min-width: 768px) {
        #top #mainvisual #date > div:first-child {
          margin-right: 5%;
          width: 70%; } }
      #top #mainvisual #date > div:last-child {
        width: 35%;
        margin: 60px auto 25px auto; }
        @media screen and (min-width: 768px) {
          #top #mainvisual #date > div:last-child {
            margin: 0;
            width: 100%;
            flex: 1; } }
    #top #mainvisual .slider li img {
      height: 150px;
      max-width: none; }
      @media screen and (min-width: 768px) {
        #top #mainvisual .slider li img {
          height: 250px; } }
  #top #countdownBlock {
    border-bottom: solid 1px #c5cd00;
    padding-top: 10px;
    padding-bottom: 10px;
    text-align: center;
    color: #c5cd00; }
    #top #countdownBlock p {
      font-size: 20px;
      line-height: 1.4;
      font-weight: bold; }
      @media screen and (min-width: 768px) {
        #top #countdownBlock p {
          font-size: 32px;
          line-height: 1.4; } }
      #top #countdownBlock p .en {
        font-size: 32px;
        line-height: 1.4;
        color: #8bb2d9;
        line-height: 1.0; }
        @media screen and (min-width: 768px) {
          #top #countdownBlock p .en {
            font-size: 40px;
            line-height: 1.4; } }
        @media screen and (min-width: 768px) {
          #top #countdownBlock p .en {
            font-size: 40px;
            line-height: 1.4; } }
  @media screen and (min-width: 768px) and (min-width: 768px) {
    #top #countdownBlock p .en {
      font-size: 56px;
      line-height: 1.4; } }

  #top #oshirase ul {
    margin-left: 1em; }
    #top #oshirase ul > li {
      list-style: disc;
      margin-bottom: 10px; }
  #top #news {
    position: relative; }
  #top #points h2 {
    margin: 40px 0; }
  #top #keynotes {
    text-align: center; }
    @media screen and (min-width: 768px) {
      #top #keynotes .flex-container {
        flex-wrap: wrap;
        justify-content: space-between; } }
    #top #keynotes .flex-container > div {
      font-size: 120%;
      border: solid 1px #000;
      padding: 5%;
      box-sizing: border-box;
      margin-bottom: 4%; }
      @media screen and (min-width: 768px) {
        #top #keynotes .flex-container > div {
          width: 50%;
          margin-bottom: 0; }
          #top #keynotes .flex-container > div:nth-child(1) {
            border-left: none;
            border-top: none; }
          #top #keynotes .flex-container > div:nth-child(2) {
            border-left: none;
            border-top: none;
            border-right: none; }
          #top #keynotes .flex-container > div:nth-child(3) {
            border-left: none;
            border-top: none;
            border-bottom: none; }
          #top #keynotes .flex-container > div:nth-child(4) {
            border: none; } }
  #top #credit ul {
    display: flex; }
    #top #credit ul li {
      margin-right: 3px; }
  @media all and (-ms-high-contrast: none) {
    #top {
      /* IE11 */ }
      #top *::-ms-backdrop, #top #credit li {
        flex: 1; } }
  #top #footerBnr {
    text-align: center;
    padding-top: 20px;
    padding-bottom: 20px;
    /*#bnrSpRestaurant {
    			width: 100%;
    			margin: 0 auto $sp-m;
    			max-width: 490px;
    }*/ }
    @media screen and (min-width: 768px) {
      #top #footerBnr .bnr-set-2 {
        max-width: 980px;
        margin: 0 auto; } }
    @media screen and (min-width: 768px) {
      #top #footerBnr .bnr-set-2 div {
        padding: 0 10px; } }

/*---------------------------------------------------------------------------

photobook

---------------------------------------------------------------------------*/
#photobook .info {
  background-color: #d8e5f2;
  padding: 20px; }
#photobook h3 {
  color: #8bb2d9; }
@media screen and (min-width: 768px) {
  #photobook .info .flex-container > div {
    margin-left: 20px;
    flex: 1; } }
#photobook #book {
  justify-content: space-between; }
  @media screen and (min-width: 768px) {
    #photobook #book figure {
      width: 47.9%; } }
  #photobook #book figure figcaption, #photobook #book figure p {
    text-align: right; }
#photobook #comment > .flex-container {
  justify-content: space-between; }
  @media screen and (min-width: 768px) {
    #photobook #comment > .flex-container > div {
      width: 47.9%; } }
  #photobook #comment > .flex-container h4 {
    color: #c5cd00;
    border-bottom: solid #c5cd00 1px;
    border-top: solid #c5cd00 1px;
    padding: 10px 0; }
    #photobook #comment > .flex-container h4 span {
      background-color: #c5cd00;
      color: #fff;
      padding: 5px;
      border-radius: 5px;
      margin-left: 5px;
      font-size: 80%; }
@media screen and (min-width: 768px) {
  #photobook #comment #asaba .flex-container figure {
    margin: 0;
    margin-left: 20px; } }
#photobook #shop {
  display: flex;
  justify-content: center;
  border: solid 1px #ddd;
  padding: 20px; }
  #photobook #shop h4 {
    color: #8bb2d9; }

/*---------------------------------------------------------------------------

navigate

---------------------------------------------------------------------------*/
@media screen and (min-width: 768px) {
  #navigate .castList-flex {
    flex-wrap: nowrap; } }
#navigate h4 {
  font-size: 120%;
  color: #e50012;
  background-color: #fff;
  position: relative;
  border: solid 1px #eee;
  display: inline-block;
  margin-bottom: 10px;
  margin-top: 20px; }
  #navigate h4 span {
    display: inline-block;
    border-left: solid 8px #e50012;
    padding: 8px; }
  #navigate h4:after {
    content: "";
    height: 10px;
    width: 60%;
    position: absolute;
    right: 10px;
    bottom: 20px;
    left: auto;
    z-index: -1;
    transform: skew(15deg) rotate(3deg);
    box-shadow: 0 16px 16px black; }
#navigate .castList-flex .caption {
  font-size: 10px; }
#navigate #info {
  background-color: #e9ebaf;
  padding: 5%; }
@media screen and (min-width: 768px) {
  #navigate #flow {
    display: flex;
    justify-content: space-between; }
    #navigate #flow > div {
      width: 30%; } }
#navigate #apply {
  display: flex; }
  #navigate #apply > li:first-child {
    margin-right: 10px; }
#navigate #listening {
  position: relative;
  background-color: #fff;
  padding: 10px;
  text-align: center;
  max-width: 600px;
  margin-right: auto;
  margin-left: auto; }
  @media screen and (min-width: 768px) {
    #navigate #listening .flex-container {
      align-items: center;
      flex-direction: row-reverse; } }
  #navigate #listening .flex-container .f-2x {
    line-height: 1.4; }
  @media screen and (min-width: 768px) {
    #navigate #listening .flex-container > div:last-child {
      width: 50%;
      margin-right: 5%; } }
  #navigate #listening .flex-container .pic img {
    display: block;
    border: solid 1px #eee; }
  #navigate #listening audio {
    max-width: 100%; }
  #navigate #listening .color {
    color: #669cd2; }

.ribbon14 {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 10px;
  margin: 0;
  padding: 10px 0;
  z-index: 2;
  width: 40px;
  text-align: center;
  font-size: 17px;
  color: white;
  background: #ff785b; }

.ribbon14:after {
  content: '';
  position: absolute;
  left: 0;
  top: 100%;
  height: 0;
  width: 0;
  border-left: 20px solid #ff785b;
  border-right: 20px solid #ff785b;
  border-bottom: 10px solid transparent; }

/*---------------------------------------------------------------------------

#artist

---------------------------------------------------------------------------*/
#artist .flex-container {
  display: flex;
  flex-wrap: wrap;
  margin-right: -2%; }
  #artist .flex-container li {
    position: relative;
    width: 30.5%;
    margin-right: 2%;
    margin-bottom: 2%; }
    @media screen and (min-width: 600px) {
      #artist .flex-container li {
        width: 18%; } }
    #artist .flex-container li a {
      position: relative;
      display: block; }
    #artist .flex-container li .caption {
      position: absolute;
      height: 100%;
      width: 100%;
      top: 0;
      margin: 0;
      z-index: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-weight: bold;
      background: rgba(0, 0, 0, 0.5); }
      #artist .flex-container li .caption span {
        width: 100%;
        box-sizing: border-box;
        padding: 5%;
        text-align: center; }

/*.lg .group{
	display: none;
}*/
.lg-img-wrap {
  padding: 50px 0 !important; }

/*---------------------------------------------------------------------------

#goods

---------------------------------------------------------------------------*/
#goods .info {
  background-color: #d8e5f2;
  padding: 20px; }
#goods h3 {
  color: #8bb2d9; }
@media screen and (min-width: 768px) {
  #goods .goodsList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; } }
#goods .goodsList > div {
  width: 250px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  margin-bottom: 20px; }
  @media screen and (min-width: 768px) {
    #goods .goodsList > div {
      width: 23%; } }
#goods .goodsList2 > div {
  margin-top: 20px; }
  @media screen and (min-width: 768px) {
    #goods .goodsList2 > div {
      max-width: 800px;
      margin-left: auto;
      margin-right: auto; } }
  #goods .goodsList2 > div > div:first-child {
    width: 250px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (min-width: 768px) {
      #goods .goodsList2 > div > div:first-child {
        margin-right: 20px; } }
    #goods .goodsList2 > div > div:first-child .caption {
      text-align: center; }
  #goods .goodsList2 > div > div:last-child {
    flex: 1;
    margin-top: 10px; }
    @media screen and (min-width: 768px) {
      #goods .goodsList2 > div > div:last-child {
        margin-top: 0; } }
    #goods .goodsList2 > div > div:last-child h4 {
      text-align: center;
      margin-bottom: 10px;
      font-size: 16px; }
      @media screen and (min-width: 768px) {
        #goods .goodsList2 > div > div:last-child h4 {
          text-align: left; } }
#goods .slick-dots {
  position: relative;
  bottom: 0; }
  #goods .slick-dots li {
    margin: 0; }
#goods .slick-dotted.slick-slider {
  margin-bottom: 0; }

/*---------------------------------------------------------------------------

topics

---------------------------------------------------------------------------*/
#topics .topicsList li > a,
#topics .topicsList li > div,
#topics #topicsEntry .text {
  padding: 5%; }
#topics .subcategory {
  background-color: #8bb2d9;
  display: inline-block;
  padding: 0 10px;
  color: #fff;
  margin-bottom: 10px; }
#topics .topicsList {
  margin-bottom: 40px; }
  #topics .topicsList li {
    border: solid 2px #ccc;
    margin-bottom: 20px; }
    #topics .topicsList li h3 {
      color: #c5cd00;
      font-size: 20px;
      line-height: 1.4;
      /*@include mq(md){
      	 @include fs(lg);
      }*/ }
#topics #topicsEntry .text {
  border: solid 2px #ccc; }
  #topics #topicsEntry .text a {
    color: #c5cd00; }
#topics #topicsEntry .update {
  text-align: right; }
#topics #topicsEntry h3 {
  color: #c5cd00;
  margin-bottom: 20px;
  font-size: 20px;
  line-height: 1.4; }
#topics #topicsEntry .btn.pageLink {
  margin-bottom: 40px; }

/*---------------------------------------------------------------------------

press

---------------------------------------------------------------------------*/
@media screen and (min-width: 600px) {
  #press {
    text-align: center; } }

/*---------------------------------------------------------------------------

ticket

---------------------------------------------------------------------------*/
#ticket #informationTab a {
  color: #e4300d; }
#ticket .block {
  border-bottom: solid 1px #c5cd00;
  margin-bottom: 30px;
  padding-bottom: 30px; }
#ticket .ticketPageLinkTtl h4 {
  border: none;
  margin: 0;
  padding: 0; }
#ticket #informationTab h4 {
  color: #8bb2d9;
  font-size: 20px;
  line-height: 1.4; }
#ticket .info, #ticket #information .info {
  background-color: #8bb2d9; }
#ticket .admissionfeeList {
  background-color: #fff; }
  #ticket .admissionfeeList th {
    background-color: #8bb2d9; }

/*---------------------------------------------------------------------------

vbox

---------------------------------------------------------------------------*/
.vbox-inline {
  background: none !important;
  max-width: 500px !important;
  width: auto !important; }

.vbox-content {
  padding: 5% !important; }

.figlio {
  box-shadow: none !important; }

.close {
  text-align: center;
  margin-top: 20px;
  font-weight: bold; }

.close:hover {
  cursor: pointer; }

.vbox-content .name {
  margin-bottom: 1.5rem; }
  .vbox-content .name .en {
    font-weight: bold;
    font-size: 2.4rem; }
  .vbox-content .name .ja {
    display: block;
    color: #979797; }
