/* break point
============================================= */
/* theme
============================================= */
/* common
============================================= */
/* shot flex */
/* css3 */
/* animation */
/* easeing */
/* http://www.knockknock.jp/archives/184 */
/* Original
============================================= */
html {
  overflow-y: scroll;
  height: 100%; }

body {
  height: auto; }

body.loading {
  height: 100%;
  overflow: hidden; }
  body.loading .loadingWrap {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: auto;
    height: auto;
    background-color: #000;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    z-index: 1000; }
    body.loading .loadingWrap h1 {
      text-align: center; }
      body.loading .loadingWrap h1 span {
        opacity: 0;
        display: inline-block; }
        body.loading .loadingWrap h1 span.txt01 {
          transition: opacity 0.8s ease 0.3s; }
        body.loading .loadingWrap h1 span.txt02 {
          margin: 0 54px 0 50px;
          transition: opacity 0.8s ease 1.0s; }
        body.loading .loadingWrap h1 span.txt03 {
          transition: opacity 0.8s ease 1.6s; }
    @media screen and (max-width: 737px) {
      body.loading .loadingWrap h1 span {
        opacity: 0;
        display: block; }
        body.loading .loadingWrap h1 span img {
          width: auto;
          height: 56px; }
        body.loading .loadingWrap h1 span.txt02 {
          margin: 20px 0; } }

body.loading.loading01 .loadingWrap h1 span {
  opacity: 1; }

section {
  position: relative;
  z-index: 5; }

/*
body {
	#wrap {
		&:before {
			opacity: 0.9;
			transition: opacity 0.5s ease 0.2s;
		}
	}
	&.loading {
		#wrap {
			&:before {
				opacity: 0;
			}
		}
	}
}*/
#wrap {
  position: relative; }
  #wrap:before {
    content: "";
    display: block;
    left: 0;
    right: 0;
    width: auto;
    top: 0;
    height: 100vh;
    background-image: url(../img/top/main_bg_2026.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    z-index: 0;
    position: fixed; }
    @media screen and (max-width: 737px) {
      #wrap:before {
        background-image: url(../img/top/main_bg_2026_sp.jpg); } }

.block + .block {
  margin-top: 60px; }
@media screen and (max-width: 737px) {
  .block + .block {
    margin-top: 30px; } }

.mainBlock {
  height: 100vh;
  min-height: 600px; }
  .mainBlock .inner {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-direction: column;
    flex-direction: column;
    height: 100%; }
    .mainBlock .inner p {
      text-align: center;
      color: #191970; }
    .mainBlock .inner .desc {
      font-size: 16px;
      line-height: 30px; }
      .mainBlock .inner .desc b {
        font-size: 27px;
        line-height: 30px; }
    .mainBlock .inner h1 {
      padding: 26px 0 0;
      text-align: center; }
    .mainBlock .inner .time {
      font-size: 20px; }
      .mainBlock .inner .time span {
        display: inline-block;
        padding-bottom: 7px;
        margin-bottom: 12px; }
    .mainBlock .inner .note {
      font-size: 12px; }
  @media screen and (max-width: 737px) {
    .mainBlock {
      min-height: 300px; }
      .mainBlock .inner p {
        font-size: 10px; }
      .mainBlock .inner .desc {
        font-size: 10px;
        line-height: 1.5; }
        .mainBlock .inner .desc b {
          display: block;
          margin-top: 4px;
          font-size: 13px;
          line-height: 15px; }
      .mainBlock .inner h1 {
        padding: 10px 0 0; }
      .mainBlock .inner .time {
        font-size: 10px; }
        .mainBlock .inner .time span {
          display: inline-block;
          border-bottom: 1px solid #fff;
          padding-bottom: 7px;
          margin-bottom: 12px; }
      .mainBlock .inner .note {
        font-size: 10px; } }

.block01 {
  padding: 70px 0 50px;
  text-align: center; }
  .block01 .ticketLink {
    display: inline-block;
    margin-bottom: 15px; }
  .block01 p {
    font-size: 20px;
    text-align: center; }
  @media screen and (max-width: 737px) {
    .block01 {
      padding: 40px 0 30px; }
      .block01 p {
        font-size: 22px;
        text-align: center; } }

.firstBlock .desc {
  font-size: 16px;
  text-align: center; }
.firstBlock dl {
  padding-top: 44px;
  text-align: left; }
.firstBlock dt {
  font-size: 22px;
  padding-left: 20px;
  position: relative;
  margin-bottom: 15px; }
  .firstBlock dt:before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -5px;
    background-color: #ff1fa3; }
.firstBlock dd {
  border-top: 1px solid #444;
  padding-top: 14px;
  font-size: 16px;
  line-height: 1.5; }
  .firstBlock dd span {
    font-size: 12px;
    line-height: 1.8; }
  .firstBlock dd a {
    text-decoration: underline; }
    .firstBlock dd a:hover {
      text-decoration: none; }
.firstBlock .soldOut {
  display: block;
  color: #ff1fa3;
  font-weight: 700; }
.firstBlock .lineThrough {
  text-decoration: line-through; }
@media screen and (max-width: 737px) {
  .firstBlock .desc {
    font-size: 14px; }
  .firstBlock dl {
    padding-top: 20px; }
  .firstBlock dt {
    font-size: 16px;
    padding-left: 20px;
    position: relative;
    margin-bottom: 4px; }
  .firstBlock dd {
    padding-top: 5px;
    font-size: 12px; }
    .firstBlock dd span {
      font-size: 10px; } }

.boxRow {
  padding: 20px 60px 100px;
  background-color: rgba(0, 0, 0, 0.6); }
  @media screen and (max-width: 737px) {
    .boxRow {
      padding: 16px 20px 40px; } }

.guestList {
  padding: 0 40px; }
  .guestList:after {
    content: "";
    display: block;
    clear: both;
    visibility: hidden; }
  .guestList li {
    float: left;
    width: 380px;
    background-color: #000; }
    .guestList li + li {
      margin-left: 40px; }
    .guestList li a {
      display: block;
      position: relative; }
      .guestList li a:after {
        content: "";
        display: block;
        width: 8px;
        height: 8px;
        position: absolute;
        bottom: 4px;
        right: 4px;
        background: linear-gradient(to bottom right, transparent 50%, #fff 50%) no-repeat top left/100% 100%;
        border: 2px solid parent; }
      .guestList li a .name {
        background-color: #ff1493;
        text-align: center;
        font-size: 12px;
        text-align: center;
        color: #fff;
        line-height: 1.3;
        padding: 12px; }
        .guestList li a .name b {
          font-size: 16px;
          font-weight: 400; }
  .guestList.single li {
    float: none;
    margin: 0 auto; }
  @media screen and (max-width: 737px) {
    .guestList {
      padding: 0 20px; }
      .guestList li {
        float: none;
        width: auto; }
        .guestList li + li {
          margin-left: 0px;
          margin-top: 20px; }
        .guestList li a .name {
          font-size: 10px;
          padding: 8px; }
          .guestList li a .name b {
            font-size: 14px;
            display: inline-block;
            margin-bottom: 4px; } }

.txtNameList {
  margin-top: 45px; }
  .txtNameList li {
    text-align: center; }
    .txtNameList li b {
      display: inline-block;
      font-size: 16px;
      vertical-align: middle;
      position: relative;
      padding-left: 20px;
      font-weight: 400; }
      .txtNameList li b:before {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        top: 50%;
        width: 10px;
        height: 10px;
        background-color: #ff1493;
        margin-top: -5px; }
    .txtNameList li .small {
      display: inline-block;
      font-size: 12px;
      vertical-align: middle;
      margin-left: 0.8em; }
  @media screen and (max-width: 737px) {
    .txtNameList {
      margin-top: 28px; }
      .txtNameList li b {
        font-size: 14px;
        padding-left: 18px; }
      .txtNameList li .small {
        font-size: 10px; } }

.artistBlock .lineHd01 {
  margin: 50px 0 -20px; }
.artistBlock .andMore {
  text-align: right;
  font-size: 18px;
  font-weight: 300;
  margin-top: 10px; }
  .artistBlock .andMore b {
    font-weight: 300;
    color: #ff1fa3; }
@media screen and (max-width: 737px) {
  .artistBlock .lineHd01 {
    margin: 30px 0 -10px; }
  .artistBlock .andMore {
    font-size: 12px;
    margin-top: 6px; } }

.artistList {
  padding: 0;
  margin: 0 -20px 0; }
  .artistList:after {
    content: "";
    display: block;
    clear: both;
    visibility: hidden; }
  .artistList li {
    float: left;
    width: 420px;
    margin: 40px 20px 0;
    background-color: #000; }
    .artistList li.centerLi {
      clear: both;
      float: none;
      margin-left: auto;
      margin-right: auto; }
    .artistList li a {
      display: block;
      position: relative;
      transition: opacity 0.3s ease; }
      .artistList li a:after {
        content: "";
        display: block;
        width: 8px;
        height: 8px;
        position: absolute;
        bottom: 4px;
        right: 4px;
        background: linear-gradient(to bottom right, transparent 50%, #fff 50%) no-repeat top left/100% 100%;
        border: 2px solid parent; }
      .artistList li a .name {
        background-color: #ff1493;
        text-align: center;
        font-size: 12px;
        text-align: center;
        color: #fff;
        line-height: 1.3;
        padding: 12px; }
        .artistList li a .name b {
          font-size: 16px;
          font-weight: 400; }
      .artistList li a:hover {
        opacity: 0.7; }
      .artistList li a.blank b {
        position: relative;
        padding-right: 1.6em;
        display: inline-block; }
        .artistList li a.blank b:after {
          content: "";
          width: 1em;
          height: 1em;
          background-image: url(../img/icon/icon_blank_01.png);
          background-repeat: no-repeat;
          position: absolute;
          right: 0;
          top: 50%;
          margin-top: -0.5em; }
  @media screen and (max-width: 737px) {
    .artistList {
      padding: 0 10px;
      margin: 0;
      margin-top: 0px; }
      .artistList li {
        float: none;
        width: auto;
        margin: 20px 0 0; }
        .artistList li.centerLi {
          padding-top: 0px; }
          .artistList li.centerLi:first-child {
            padding-top: 0; }
        .artistList li a .name {
          font-size: 10px;
          padding: 8px; }
          .artistList li a .name b {
            font-size: 14px;
            display: inline-block;
            margin-bottom: 4px; } }

.block04 p {
  font-size: 14px; }
.block04 dl {
  margin: 10px 0 25px; }
.block04 dt {
  font-size: 18px;
  line-height: 2.5; }
.block04 dd {
  line-height: 2.5; }
.block04 a {
  text-decoration: underline; }
  .block04 a:hover {
    text-decoration: none; }
@media screen and (max-width: 737px) {
  .block04 p {
    font-size: 12px; }
  .block04 dl {
    margin: 10px 0 25px; }
  .block04 dt {
    font-size: 14px;
    line-height: 1.8; }
  .block04 dd {
    font-size: 12px;
    line-height: 1.8; }
  .block04 a {
    text-decoration: underline; } }

.noteList li {
  font-size: 12px;
  line-height: 2;
  padding-left: 1.5em;
  text-indent: -1.5em; }
@media screen and (max-width: 737px) {
  .noteList li {
    font-size: 10px;
    line-height: 1.5; }
  .noteList li + li {
    margin-top: 0.4em; } }

.accessBlock {
  padding: 20px 0 0;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.6); }
  .accessBlock p {
    font-size: 16px;
    line-height: 2.3; }
    .accessBlock p b {
      font-weight: inherit; }
  .accessBlock dl {
    margin: 10px 0 20px;
    font-size: 0;
    text-align: center; }
  .accessBlock dt {
    display: inline-block;
    font-size: 12px;
    padding: 1px 9px;
    background-color: #ff1493; }
  .accessBlock dd {
    display: inline-block;
    font-size: 12px;
    margin-left: 20px; }
    .accessBlock dd a {
      text-decoration: underline; }
      .accessBlock dd a:hover {
        text-decoration: none; }
  .accessBlock .gmapWrap {
    height: 400px;
    position: relative; }
    .accessBlock .gmapWrap iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border: none; }
  @media screen and (max-width: 737px) {
    .accessBlock {
      padding: 16px 0 0;
      text-align: center;
      background-color: rgba(0, 0, 0, 0.6); }
      .accessBlock p {
        font-size: 14px;
        line-height: 1.8; }
      .accessBlock dl {
        margin: 10px 0 20px;
        font-size: 0;
        text-align: center; }
      .accessBlock dd {
        display: block;
        font-size: 12px;
        margin-top: 10px;
        margin-left: 0; }
      .accessBlock .gmapWrap {
        height: 240px; } }

.editerArea {
  font-size: 14px;
  line-height: 1.6; }

.informationListWrap .infoWrap {
  background-color: #fff;
  position: relative;
  padding: 50px 60px;
  color: #333; }
  .informationListWrap .infoWrap .iconNew {
    position: absolute;
    right: 0;
    top: 0;
    width: 70px;
    height: 70px; }
  .informationListWrap .infoWrap .date {
    color: #fff;
    background-color: #ff1493;
    width: 120px;
    text-align: center;
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 20px; }
  .informationListWrap .infoWrap .infoTitle {
    font-size: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid #000;
    margin-bottom: 30px; }
  .informationListWrap .infoWrap .img {
    margin-bottom: 25px; }
    .informationListWrap .infoWrap .img img {
      max-width: 100%;
      height: auto; }
  .informationListWrap .infoWrap .movieWrap {
    margin-bottom: 25px;
    height: 250px;
    width: 444.4px;
    position: relative; }
    .informationListWrap .infoWrap .movieWrap iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  .informationListWrap .infoWrap dt {
    clear: both;
    float: left;
    width: 160px;
    line-height: 1.8;
    font-size: 14px; }
    .informationListWrap .infoWrap dt span {
      float: right; }
  .informationListWrap .infoWrap dd {
    line-height: 1.8;
    margin-left: 170px;
    font-size: 14px; }
.informationListWrap div.infoWrap {
  margin-bottom: 40px; }
.informationListWrap ul {
  display: none;
  margin-bottom: 40px; }
  .informationListWrap ul li {
    margin-top: 40px; }
    .informationListWrap ul li:first-child {
      margin-top: 0; }
@media screen and (max-width: 737px) {
  .informationListWrap .infoWrap {
    padding: 20px 10px; }
    .informationListWrap .infoWrap .iconNew {
      width: 35px;
      height: 35px; }
    .informationListWrap .infoWrap .date {
      width: 100px;
      font-size: 12px;
      line-height: 18px;
      margin-bottom: 10px; }
    .informationListWrap .infoWrap .infoTitle {
      font-size: 15px;
      padding-bottom: 10px;
      margin-bottom: 16px; }
    .informationListWrap .infoWrap .img {
      margin-bottom: 10px; }
    .informationListWrap .infoWrap .movieWrap {
      width: auto;
      margin-bottom: 10px;
      position: relative;
      height: 0;
      padding-top: 56.2%; }
    .informationListWrap .infoWrap dt {
      float: none;
      width: auto;
      line-height: 1.5;
      font-size: 12px;
      font-weight: 700;
      margin-top: 6px; }
      .informationListWrap .infoWrap dt span {
        float: none; }
    .informationListWrap .infoWrap dd {
      line-height: 1.5;
      margin-left: 0px;
      font-size: 12px;
      padding-left: 1em; }
  .informationListWrap div.infoWrap {
    margin-bottom: 30px; }
  .informationListWrap ul {
    display: none;
    margin-bottom: 30px; }
    .informationListWrap ul li {
      margin-top: 30px; } }
.informationListWrap .btnRow button {
  border: none;
  background-color: #ff1fa3;
  display: block;
  width: 300px;
  margin: 0 auto;
  color: #000;
  text-align: center;
  transition: opacity 0.3s ease; }
  .informationListWrap .btnRow button:hover {
    opacity: 0.7; }
  .informationListWrap .btnRow button .txt {
    line-height: 60px;
    font-size: 16px;
    display: inline-block;
    padding-right: 25px;
    position: relative; }
    .informationListWrap .btnRow button .txt:after {
      content: "";
      display: block;
      width: 6px;
      height: 6px;
      border-left: 2px solid #000;
      border-bottom: 2px solid #000;
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg);
      position: absolute;
      right: 0;
      top: 50%;
      margin-top: -5px; }
    .informationListWrap .btnRow button .txt .openTxt {
      display: none; }
  .informationListWrap .btnRow button.open .txt:after {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    margin-top: -2px; }
  .informationListWrap .btnRow button.open .txt .openTxt {
    display: inline; }
  .informationListWrap .btnRow button.open .txt .closeTxt {
    display: none; }
@media screen and (max-width: 737px) {
  .informationListWrap .btnRow button {
    width: 100%; }
    .informationListWrap .btnRow button:hover {
      opacity: 1; }
    .informationListWrap .btnRow button .txt {
      line-height: 44px;
      font-size: 14px;
      padding-right: 20px; } }

.leanModalTrg {
  cursor: default; }
  @media screen and (max-width: 737px) {
    .leanModalTrg {
      cursor: pointer; } }

.modalArea {
  display: none;
  background-color: #000; }
  .modalArea .modalInner {
    height: auto;
    overflow: scroll; }

#lean_overlay {
  position: fixed;
  z-index: 100;
  top: 0px;
  left: 0px;
  height: 100%;
  width: 100%;
  background: #000;
  display: none; }

.modal_close {
  position: absolute;
  top: -30px;
  right: 0px;
  display: block;
  width: 30px;
  height: 30px;
  z-index: 2;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 24px; }

.ar_main{padding:0;margin:0 auto}.ar_main:after{content:"";display:block;clear:both;visibility:hidden}.ar_main li{float:left;width:270px;margin:40px 10px 0;}.ar_main li.centerLi{clear:both;float:none;margin-left:auto;margin-right:auto}.ar_main li a{display:block;position:relative;transition:opacity 0.3s ease}.ar_main li a:after{content:"";display:block;width:8px;height:8px;position:absolute;bottom:4px;right:4px;background:linear-gradient(to bottom right, transparent 50%, #fff 50%) no-repeat top left/100% 100%;border:2px solid parent}.ar_main li a .name{background-color:#4ca2da;text-align:center;font-size:12px;text-align:center;color:#fff;line-height:1.3;padding:12px}.ar_main li a .name b{font-size:16px;font-weight:400}.ar_main li a:hover{opacity:0.7}.ar_main li a.blank b{position:relative;padding-right:1.6em;display:inline-block}.ar_main li a.blank b:after{content:"";width:1em;height:1em;background-image:url(./img/icon/icon_blank_01.png);background-repeat:no-repeat;position:absolute;right:0;top:50%;margin-top:-0.5em}@media screen and (max-width: 737px){.ar_main{padding:0 10px;margin:0;margin-top:0px;text-align: center }.ar_main li{float:none;margin:20px auto}.ar_main li.centerLi{padding-top:0px}.ar_mainli.centerLi:first-child{padding-top:0}.ar_main li a .name{font-size:10px;padding:8px}.ar_main li a .name b{font-size:14px;display:inline-block;margin-bottom:4px}}
