@charset "UTF-8";
/*---------------------------------------------------------------------------
font
---------------------------------------------------------------------------*/
.en {
  font-family: 'Playfair Display', serif; }

.mincho {
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif; }

/*--------------------------------------------------------------
space-size
--------------------------------------------------------------*/
/*--------------------------------------------------------------
Media Queries
--------------------------------------------------------------*/
/*--------------------------------------------------------------
fontsize
--------------------------------------------------------------*/
/*---------------------------------------------------------------------------
color
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------

common

---------------------------------------------------------------------------*/
body {
  background-color: #fff;
  overflow-x: hidden; }

a {
  color: #000; }

a:hover {
  text-decoration: none;
  color: #52c3f1; }

.no-btn-link .fa {
  margin-right: 5px;
  color: #52c3f1; }

.clf:after {
  content: "";
  clear: both;
  display: block; }

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

#snsBlock {
  margin: 20px 0;
  float: right; }

figcaption {
  margin-top: 10px;
  margin-bottom: 0; }

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

.flLeft {
  float: left; }

.flRight {
  float: right; }

h1 img {
  height: auto; }

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

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

p {
  margin-bottom: 1.0em; }

figcaption {
  font-size: 12px; }

#pageTop {
  background-color: #52c3f1;
  color: #fff; }

footer {
  background: #69bd83; }
  footer .contentIn {
    margin-bottom: 0;
    padding: 10px 0; }
  footer .returnBlock li a {
    color: #fff; }

.bg-dot {
  background: url("images/dot.png"); }
  @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi) {
    .bg-dot {
      background-image: url("images/dot@2x.png"); } }

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

index

---------------------------------------------------------------------------*/
/* #loading
---------------------------------------------------------------*/
#loading {
  background-color: #fff;
  color: #52c3f1; }

#loading img {
  width: 80%;
  max-width: 250px;
  margin-bottom: 20px; }
  @media screen and (min-width: 768px) {
    #loading img {
      width: 40%; } }

/*
mainvisual
--------------------------------------------------------------*/
#mainvisual {
  background: #ddd; }
  #mainvisual h1 {
    text-align: center;
    margin: 0 auto;
    display: block; }
    #mainvisual h1 img {
      width: 100%; }

#lead {
  padding-bottom: 80px; }

/*
ribbon-block
--------------------------------------------------------------*/
.ribbon-block {
  border-radius: 10px;
  padding: 20px; }
  .ribbon-block .ribbon {
    text-align: center; }
  .ribbon-block h2 {
    display: inline-block;
    position: relative;
    vertical-align: middle;
    text-align: center;
    background: #69bd83;
    /*塗りつぶし色*/
    color: #FFF;
    /*文字色*/
    box-sizing: border-box;
    margin: 0 auto 20px;
    font-size: 18px; }
    @media screen and (min-width: 600px) {
      .ribbon-block h2 {
        font-size: 24px; } }
  .ribbon-block h2:before, .ribbon-block h2:after {
    position: absolute;
    content: '';
    width: 0px;
    height: 0px;
    z-index: 1; }
  .ribbon-block h2:before {
    top: 0;
    left: 0;
    border-color: transparent transparent transparent #e0f4fc;
    border-style: solid; }
  .ribbon-block h2:after {
    top: 0;
    right: 0;
    border-color: transparent #e0f4fc transparent transparent;
    border-style: solid; }
  .ribbon-block .gaiyo, .ribbon-block .setlist, .ribbon-block .note {
    margin-bottom: 20px; }
    .ribbon-block .gaiyo ul, .ribbon-block .setlist ul, .ribbon-block .note ul {
      display: inline-block;
      text-align: left; }
      .ribbon-block .gaiyo ul li h3, .ribbon-block .setlist ul li h3, .ribbon-block .note ul li h3 {
        display: inline;
        margin-right: 10px;
        font-size: 16px; }
  .ribbon-block .note {
    font-size: 12px;
    margin-bottom: 0; }
  .ribbon-block .annotation {
    font-weight: bold;
    color: #FF0004; }

/*
coupon
--------------------------------------------------------------*/
#coupon {
  background-color: #af579d;
  margin-bottom: 40px; }
  #coupon h2 {
    height: 70px;
    /*リボンの高さ*/
    line-height: 35px;
    /*リボンの高さ*/
    padding: 0 30px; }
    @media screen and (min-width: 600px) {
      #coupon h2 {
        font-size: 24px; } }
    @media screen and (min-width: 768px) {
      #coupon h2 {
        height: 50px;
        /*リボンの高さ*/
        line-height: 50px;
        /*リボンの高さ*/
        padding: 0 50px;
        /*横の大きさ*/ } }
  #coupon h2:before {
    border-width: 35px 0px 35px 15px;
    border-color: transparent transparent transparent #af579d; }
    @media screen and (min-width: 768px) {
      #coupon h2:before {
        border-width: 25px 0px 25px 15px; } }
  #coupon h2:after {
    border-width: 35px 15px 35px 0px;
    border-color: transparent #af579d transparent transparent; }
    @media screen and (min-width: 768px) {
      #coupon h2:after {
        border-width: 25px 15px 25px 0px; } }
  #coupon .flex-container {
    justify-content: space-between; }
    #coupon .flex-container .textBlock {
      text-align: left; }
      @media screen and (min-width: 768px) {
        #coupon .flex-container .textBlock {
          width: 70%; } }
    #coupon .flex-container .picBlock {
      width: 60%;
      margin: 20px auto 0; }
      @media screen and (min-width: 768px) {
        #coupon .flex-container .picBlock {
          width: 25%;
          margin: 0; } }

/*
miniconcert
--------------------------------------------------------------*/
#miniconcert {
  background-color: #e0f4fc; }
  #miniconcert h2 {
    height: 50px;
    /*リボンの高さ*/
    line-height: 50px;
    /*リボンの高さ*/
    padding: 0 20px;
    /*横の大きさ*/ }
    @media screen and (min-width: 600px) {
      #miniconcert h2 {
        padding: 0 50px;
        /*横の大きさ*/ } }
  #miniconcert h2:before {
    border-width: 25px 0px 25px 15px; }
  #miniconcert h2:after {
    border-width: 25px 15px 25px 0px; }
  #miniconcert p {
    text-align: center; }
  #miniconcert .gaiyo {
    text-align: center; }
  #miniconcert .setlist p {
    margin-bottom: 0; }
  #miniconcert .setlist ul {
    text-align: center; }
  #miniconcert .note {
    text-align: center; }

/*
privilege
--------------------------------------------------------------*/
#privilege {
  padding: 20px;
  margin: 2em 0 0;
  border: double 4px #af579d;
  position: relative; }
  #privilege .picBlock {
    position: relative;
    width: 35%; }
    @media screen and (min-width: 768px) {
      #privilege .picBlock {
        width: 25%; } }
    #privilege .picBlock #pic_o {
      /*position: absolute;*/
      width: 100%;
      border: 4px solid #fff;
      border-radius: 50%;
      overflow: hidden;
      z-index: 10; }
      @media screen and (min-width: 600px) {
        #privilege .picBlock #pic_o {
          top: -40px;
          width: 100%; } }
  #privilege .ttl {
    margin-bottom: 20px; }
    #privilege .ttl h2 {
      font-weight: 700;
      border-bottom: 3px solid #52c3f1;
      display: inline;
      font-size: 18px;
      color: #52c3f1; }
      @media screen and (min-width: 600px) {
        #privilege .ttl h2 {
          font-size: 24px; } }
  #privilege p.fukidashi {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    color: #69bd83;
    margin-bottom: 20px; }
  @media screen and (min-width: 600px) {
    #privilege .flex-container {
      justify-content: space-between; } }
  #privilege .flex-container .restaurantBlock {
    width: 100%;
    max-width: 430px;
    margin: 0 auto 40px; }
    @media screen and (min-width: 768px) {
      #privilege .flex-container .restaurantBlock {
        width: 47%;
        margin-bottom: 0; } }
    #privilege .flex-container .restaurantBlock a {
      text-decoration: none; }
      @media screen and (min-width: 600px) {
        #privilege .flex-container .restaurantBlock a .flex-container {
          display: flex;
          justify-content: space-between; } }
      #privilege .flex-container .restaurantBlock a .flex-container h3 {
        font-size: 18px;
        text-align: left;
        color: #69bd83;
        margin-bottom: 10px; }
      #privilege .flex-container .restaurantBlock a .flex-container p {
        display: inline-block;
        background: #d3ecdb;
        color: #000;
        font-weight: 400;
        font-size: 12px;
        padding: 5px; }
        @media screen and (min-width: 600px) {
          #privilege .flex-container .restaurantBlock a .flex-container p {
            margin-left: 10px; } }
      #privilege .flex-container .restaurantBlock a img {
        margin-bottom: 20px; }
      #privilege .flex-container .restaurantBlock a .btn {
        text-align: center;
        width: 100%;
        background: #af579d;
        color: #fff;
        display: inline-block;
        text-align: center;
        font-weight: bold;
        padding: 3px 0;
        margin: 0 auto;
        text-decoration: none;
        border: 2px solid #af579d;
        border-radius: 5px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        width: 100%;
        font-size: 18px; }
    #privilege .flex-container .restaurantBlock a:hover img {
      opacity: 0.8; }
    #privilege .flex-container .restaurantBlock a:hover .btn {
      background-color: #fff;
      text-decoration: none;
      color: #af579d; }
  #privilege .flex-container #lounge {
    margin-bottom: 0; }

/*
event
--------------------------------------------------------------*/
#event {
  background-color: #f1e1ee;
  padding-bottom: 0; }
  #event .contentIn {
    flex-wrap: wrap;
    justify-content: space-between; }
  #event .eventBlock {
    background: #fff;
    border-radius: 10px;
    margin-bottom: 40px; }
    @media screen and (min-width: 768px) {
      #event .eventBlock {
        width: 48%;
        max-width: 460px; } }
    #event .eventBlock .eventBlockInner {
      padding: 20px;
      /*-- flex-container --*/ }
      #event .eventBlock .eventBlockInner .date_ttl {
        border-left: 4px solid #69bd83;
        padding-left: 10px;
        line-height: 1.4;
        margin-bottom: 20px; }
        #event .eventBlock .eventBlockInner .date_ttl .date {
          margin: 0; }
          #event .eventBlock .eventBlockInner .date_ttl .date em {
            font-size: 24px;
            font-style: normal;
            font-weight: 700; }
          #event .eventBlock .eventBlockInner .date_ttl .date span::before, #event .eventBlock .eventBlockInner .date_ttl .date span::after {
            content: ' | '; }
      #event .eventBlock .eventBlockInner .performers {
        margin-bottom: 20px;
        line-height: 1.6; }
        #event .eventBlock .eventBlockInner .performers .sub {
          display: inline-block;
          background-color: #e0f4fc;
          font-size: 12px;
          font-weight: 400;
          padding: 0 5px;
          margin: 0;
          margin-right: 10px; }
        #event .eventBlock .eventBlockInner .performers .name {
          font-size: 24px;
          font-weight: 700;
          display: inline;
          margin: 0; }
        #event .eventBlock .eventBlockInner .performers .note {
          background: none;
          display: inline;
          font-size: 12px;
          margin: 0; }
      #event .eventBlock .eventBlockInner .flex-container {
        display: block; }
        @media screen and (min-width: 600px) {
          #event .eventBlock .eventBlockInner .flex-container {
            display: flex;
            justify-content: space-between; } }
      #event .eventBlock .eventBlockInner .picBlock {
        margin-top: 20px;
        /*text-align: center;*/ }
        @media screen and (min-width: 600px) {
          #event .eventBlock .eventBlockInner .picBlock {
            max-width: 200px;
            margin-top: 0; } }
        #event .eventBlock .eventBlockInner .picBlock .picset {
          margin: 0;
          text-align: center;
          display: inline-block;
          width: 100%; }
          @media screen and (min-width: 600px) {
            #event .eventBlock .eventBlockInner .picBlock .picset {
              width: auto;
              display: block; } }
          #event .eventBlock .eventBlockInner .picBlock .picset img {
            border-radius: 50%;
            border: 3px solid #e0f4fc; }
            @media screen and (min-width: 600px) {
              #event .eventBlock .eventBlockInner .picBlock .picset img {
                position: relative;
                display: block; } }
          #event .eventBlock .eventBlockInner .picBlock .picset img:nth-child(2) {
            margin-top: 10px;
            margin-left: auto; }
            @media screen and (min-width: 600px) {
              #event .eventBlock .eventBlockInner .picBlock .picset img:nth-child(2) {
                margin-right: 0;
                margin-left: auto; } }
          #event .eventBlock .eventBlockInner .picBlock .picset .caption {
            margin-top: 10px;
            text-align: right; }
      #event .eventBlock .eventBlockInner .btn {
        margin-top: 20px; }
        #event .eventBlock .eventBlockInner .btn a {
          text-align: center;
          width: 100%;
          background: #af579d;
          color: #fff;
          display: inline-block;
          text-align: center;
          font-weight: bold;
          padding: 3px 0;
          margin: 0 auto;
          text-decoration: none;
          border: 2px solid #af579d;
          border-radius: 5px;
          -webkit-border-radius: 5px;
          -moz-border-radius: 5px;
          width: 100%;
          font-size: 18px; }
        #event .eventBlock .eventBlockInner .btn a:hover {
          background-color: #fff;
          text-decoration: none;
          color: #af579d; }
      #event .eventBlock .eventBlockInner .btn.end {
        text-align: center;
        width: 100%;
        background: #aaa;
        color: #fff;
        display: inline-block;
        text-align: center;
        font-weight: bold;
        padding: 3px 0;
        margin: 20px auto 0;
        text-decoration: none;
        border-radius: 5px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        width: 100%;
        font-size: 18px; }

/*
ticket
--------------------------------------------------------------*/
#ticket {
  background-color: #f1e1ee;
  padding-top: 0; }
  #ticket table.sp {
    width: 100%;
    margin-bottom: 20px;
    display: table; }
    @media screen and (min-width: 768px) {
      #ticket table.sp {
        display: none; } }
    #ticket table.sp th, #ticket table.sp td {
      border: 1px solid #f1e1ee;
      padding: 10px 0;
      text-align: center;
      font-size: 12px; }
    #ticket table.sp th {
      width: 25%;
      background: #af579d;
      color: #fff; }
    #ticket table.sp td:not(.no-val) {
      background: #fff;
      width: 38%; }
      #ticket table.sp td:not(.no-val) h2 {
        color: #69bd83;
        font-size: 16px; }
  #ticket table.pc {
    width: 100%;
    margin-bottom: 20px;
    display: none; }
    @media screen and (min-width: 768px) {
      #ticket table.pc {
        display: table; } }
    #ticket table.pc th, #ticket table.pc td {
      border: 1px solid #f1e1ee;
      padding: 10px 0;
      text-align: center;
      font-size: 16px; }
    #ticket table.pc th {
      background: #af579d;
      color: #fff;
      width: 18%; }
    #ticket table.pc th:first-of-type {
      width: 28%; }
    #ticket table.pc td:not(.no-val) {
      background: #fff; }
      #ticket table.pc td:not(.no-val) h2 {
        color: #69bd83;
        font-size: 18px; }
      #ticket table.pc td:not(.no-val) p {
        margin: 0 10px; }
  #ticket .no-val {
    background: linear-gradient(to top left, #fff, #fff 48.8%, #f1e1ee 49.5%, #f1e1ee 50%, #fff 50.7%, #fff);
    background-color: #fff; }
  #ticket .caption {
    line-height: 1.5em; }
  #ticket .note {
    margin-bottom: 40px; }
  #ticket #information {
    text-align: center;
    margin: 0 auto; }
  #ticket .btn {
    display: block; }
    #ticket .btn a {
      color: #fff;
      background-color: #52c3f1;
      border: 2px solid #52c3f1;
      font-size: 18px; }
    #ticket .btn a:hover {
      background-color: #fff;
      text-decoration: none;
      color: #52c3f1; }

#bnrSpRestaurant {
  text-align: center;
  width: 100%;
  max-width: 490px;
  margin: 40px auto; }
