@charset "UTF-8";
.top .wrapper {
  background: none;
}

img {
  width: 100%;
}

.top main {
  margin-top: 0; 
  padding-bottom: 0;
}

.top .list {
  text-align: center;
}

.top .list .unit:nth-child(4n) {
  margin-right: 0;
}

/* section_lineup */
.section_lineup {
  background: url(../img/cmn/bg01.jpg) 0 0 repeat;
  background-size: 400px;
}
.section_lineup .inner {
  width: 1200px;
  margin: 0 auto;
  padding: 43px 0; 

  background-color: #fff;
}
.section_lineup .list .unit {
  width: 238px;
  margin-top: 30px; 
  margin-right: 43px;
  margin-bottom: 30px;
}
.section_lineup .list .unit:last-child {
  margin-right: 0;
}
.section_lineup .list .unit .ph {
  width: 238px;
  height: 0;
  padding-bottom: 142%;
}
.section_lineup .list .unit .unit_icon {
  margin-top: 6px;
}
.section_lineup .list .unit .tit {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;

  letter-spacing: -1px;
}

.section_lineup .section_btn {
  margin-top: 30px;
}

.top .section_lineup {
  padding: 7px 0 62px;
}
.top .section_lineup .unit {
  margin-bottom: 40px;
}
.top .section_lineup .unit:nth-child(4n) {
  margin-right: 0;
}
.top .section_lineup .unit .txt {
  max-height: inherit;
}

/* section_today */
.section_today {
  padding: 35px 0; 

  background: #e21a4d;
}
.section_today .btn {
  width: 513px;
}
.section_today .btn a {
  font-size: 20px;
  font-weight: 700;
  line-height: 64px;

  height: 64px;

  color: #fff;
  border-color: #fff;
  border-radius: 40px; 
  background: #e21a4d;
}
.section_today .btn a:hover {
  color: #e21a4d; 
  background: #fff;
}
.section_today .btn a:hover::after {
  border-top: 2px solid #e21a4d;
  border-right: 2px solid #e21a4d;
}
.section_today .btn a::after {
  right: 30px;

  width: 8px;
  height: 8px;

  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.section_today .btn span {
  position: relative;

  padding-left: 30px;
}
.section_today .btn span::before {
  position: absolute;
  top: 0;
  left: -27px;

  display: inline-block;

  width: 39px;
  height: 27px;

  content: "";

  background-image: url(../img/cmn/icon_tk.png); 
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 100%;
}

/* section01 */
.section01 {
  padding: 12px 0 50px; 

  background: url(../img/cmn/bg01.jpg) 0 0 repeat;
  background-size: 400px;
}
.section01 .inner {
  width: 1200px;
  margin: 0 auto;
}

.section01 .section_info {
  float: left;

  width: 718px;
}
.section01 .section_info .inner_info {
  overflow: hidden; 

  height: 241px;
  padding: 20px 38px;

  background: #fff;
}
.section01 .section_info .scroll_area {
  height: 200px;
}
.section01 .section_info .list .unit {
  display: block;

  margin-top: 8px;
}
.section01 .section_info .list .ph {
  float: left;

  width: 44px;
  height: 0;
  margin-right: 25px; 
  padding-bottom: 10%;
}
.section01 .section_info .list .info_box {
  float: left;

  width: 530px;
}
.section01 .section_info .list .date {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.0;

  color: #b3b3b3;
}
.section01 .section_info .new .date::after {
  top: 0;
}
.section01 .section_info .list .tit {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;

  overflow: inherit;

  max-height: inherit;
  margin-top: 5px;
}

.section01 .section_stage {
  float: right;

  width: 428px;
}
.section01 .section_stage .article_h2 .sub::after {
  width: 428px;
}
.section01 .section_stage iframe {
  width: 100%;
  height: 241px;
}

.top .section01 .article_h2 {
  padding: 50px 0 20px;

  background-position: center 13px;
  background-size: 110px;
}

.txt_cm {
  font-size: 24px;
  font-weight: 700;
  line-height: 210px;

  min-height: 210px;

  text-align: center;

  color: #8a8887;
}

/* section_pickup・section_event 共通 */
.section_pickup .unit,
.section_event .unit {
  margin-right: 48px;
}
.section_pickup .unit:last-child,
.section_event .unit:last-child {
  margin-right: 0;
}

.section_pickup .unit a,
.section_event .unit a {
  position: relative;

  display: block;
}

.section_pickup .list .icon_box,
.section_event .list .icon_box {
  text-align: left;
}

.section_pickup .icon,
.section_pickup .category,
.section_event .icon,
.section_event .category {
  font-size: 12px;
  font-weight: 700; 

  padding: 2px 6px;
}

.section_pickup .date,
.section_event .date {
  font-size: 14px;

  margin-top: 17px; 

  color: #4c4c4c;
}

/* section_pickup */
.section_pickup {
  width: 1200px;
  margin: 0 auto;
}
.section_pickup .unit {
  width: 367px;
}
.section_pickup .ph {
  width: 367px;
  height: 0;
  padding-bottom: 67%;
}
.section_pickup .btn {
  margin-top: 48px;
}
.section_pickup .icon_box {
  width: 367px;
}

.top .section_pickup .article_h2 {
  padding: 55px 0 25px;
}

/* section_event */
.section_event {
  width: 1200px;
  margin: 60px auto 0;
  padding-top: 30px; 

  border-top: 1px solid #c4c4c4;
}
.section_event .article_h2 {
  padding: 25px 0 20px;
}
.section_event .unit {
  width: 264px;
}
.section_event .ph {
  width: 264px;
  height: 0;
  padding-bottom: 67%;
}
.section_event .btn {
  margin-top: 44px;
}
.section_event .icon_box {
  width: 264px;
}
.section_event .unit .tit {
  overflow: hidden; 

  max-height: 66px;
}
.section_event .date {
  margin-top: 8px;
}

#event {
  margin-top: -100px;
  padding-top: 100px;
}

.top .section_event .ph {
  padding-bottom: 67%;
}

/* section_schedule */
.section_schedule {
  margin-top: 60px; 
  padding: 40px 0 80px;

  background: url(../img/cmn/bg01.jpg) 0 0 repeat;
  background-size: 400px;
}

/* section02 */
.section02 {
  text-align: center; 

  border-top: 1px solid #939393;
}
@media screen and (min-width: 761px) {
  .section02 {
    border-bottom: 1px solid #939393;
  }
}
.section02 .link {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5; 

  float: left;

  width: 38%;
  padding: 28px 0;
}
.section02 .link .sub {
  font-size: 12px;

  color: #696969;
}
.section02 .link:hover {
  color: #fff;
  background-color: #e21a4d;
}
.section02 .link:hover .sub {
  color: #fff;
}
.section02 .link:hover a::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.section02 .link.cv01 {
  line-height: 51px;

  padding-left: 10%; 

  color: #fff;
  background-color: #e21a4d;
}
.section02 .link.cv01:hover {
  color: #e21a4d;
  background-color: #fff;
}
.section02 .link.cv01:hover a::after {
  border-top: 1px solid #e21a4d;
  border-right: 1px solid #e21a4d;
}
@media screen and (min-width: 761px) {
  .section02 .link.cv02 {
    width: 24%;

    border-right: 1px solid #939393;
    border-left: 1px solid #939393;
  }
}
@media screen and (min-width: 761px) {
  .section02 .link.cv03 {
    padding-right: 10%;
  }
}
.section02 .link a {
  position: relative;

  display: block;
}
.section02 .link a::after {
  position: absolute;
  z-index: 999;
  top: 50%;
  right: 30px;

  width: 10px;
  height: 10px;

  content: "";
  -webkit-transform: rotate(45deg) translateY(-50%);
      -ms-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%);

  border-top: 1px solid #343434;
  border-right: 1px solid #343434;
}
@media screen and (min-width: 761px) {
  .section02 .link.cv01 a::after {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
  }
}

/* section_gallery */
.section_gallery {
  margin-top: 60px; 

  text-align: center;
}
@media screen and (min-width: 761px) {
  .section_gallery .gallery_slide {
    overflow: hidden; 

    width: 100%;
    height: 300px;
    margin-top: 20px;

    background-color: #000;
  }
  .section_gallery .gallery_slide .ph.ph_sys {
    position: relative; 

    display: block;
    float: left;

    width: auto !important;
    height: 300px;
  }
  .section_gallery .gallery_slide .ph.ph_sys img {
    position: relative;
    top: auto;
    left: auto;

    width: auto; 
    height: 100%;

    -webkit-transform: translate(0%);
        -ms-transform: translate(0%);
            transform: translate(0%);
  }
}
.section_gallery .btn {
  margin-top: 45px;
}

.simply-scroll-container {
  position: relative;
}

.simply-scroll-clip {
  position: relative;

  overflow: hidden;
}

.simply-scroll-list {
  overflow: hidden;

  height: 250px; 
  margin: 0;
  padding: 0;
}
.simply-scroll-list li {
  display: block; 
  float: left;

  width: 375px;
  height: 250px;
  margin: 0 8px 0 0;
}

/* section_link */
.section_link {
  margin-top: 48px; 
  padding: 20px 0 80px;

  background: url(../img/cmn/bg01.jpg) 0 0 repeat;
  background-size: 400px;
}

@media screen and (min-width: 761px) {
  .section_link .inner {
    width: 1200px;
    margin: 0 auto;
  }
  .section_link .article_h2 {
    padding-bottom: 30px;
  }
  .section_link .list_bnr {
    text-align: center;
  }
  .section_link .list_bnr .unit {
    display: inline-block;

    width: 358px;
    margin-bottom: 20px;
    padding: 0 7px;

    vertical-align: top;
  }
}

@media screen and (max-width: 740px) {
  .top .list_bnr .unit {
    margin-bottom: 10px;
  }
}

.calendar_container .holiday .events {
  display: none;
}

@media print, screen and (min-width: 741px) {
  .calendar_container .inner {
    height: auto !important;
    padding: 10px;
  }
}

@media print, screen and (min-width: 741px) {
  /* for Desktop Device */
  .calendar_month_unit .calendar_nav::after {
    display: block;
    clear: both; 
    overflow: hidden;

    height: 0;

    content: "";
  }
  .calendar_month_unit .calendar_nav {
    line-height: 1; 

    margin-top: -15px;
    margin-bottom: 20px;
    padding: 0 6.5px;
  }
  .calendar_month_unit .btn_prev,
  .calendar_month_unit .btn_next {
    font-size: 15px !important;
  }
  .calendar_month_unit .btn_prev a,
  .calendar_month_unit .btn_next a {
    position: relative; 

    display: block;

    padding: 0 !important;
  }
  .calendar_month_unit .btn_prev {
    float: left;
  }
  .calendar_month_unit .btn_prev a {
    padding-left: 25px !important;
  }
  .calendar_month_unit .btn_prev a::before {
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 18px;
    height: 18px;

    content: "" !important;

    background: #000;
  }
  .calendar_month_unit .btn_prev a::after {
    position: absolute;
    top: 50%;
    left: 3px;

    display: block;

    width: 0;
    height: 0;
    margin-top: -2px;

    content: "";

    border: 3px solid transparent;
    border-right: 5px solid #fff;
  }
  .calendar_month_unit .btn_next {
    float: right;
  }
  .calendar_month_unit .btn_next a {
    padding-right: 25px !important;
  }
  .calendar_month_unit .btn_next a::before {
    position: absolute;
    top: 0;
    right: 0;

    display: block;

    width: 18px;
    height: 18px;

    content: "" !important;

    background: #000;
  }
  .calendar_month_unit .btn_next a::after {
    position: absolute;
    top: 50%;
    right: 3px;

    display: block;

    width: 0;
    height: 0;
    margin-top: -2px;

    content: "" !important;

    border: 3px solid transparent;
    border-left: 5px solid #fff;
  }
}

@media screen and (max-width: 740px) {
  /* for Mobile Device */
}

/* ========================================================================== */
@media print, screen and (min-width: 741px) {
  /* for Desktop Device */
  .month_title h4 {
    font-size: 60px !important;
    line-height: 1;

    margin-bottom: 10px !important;
    padding-top: 25px;

    text-align: center;
  }
  .month_title .fair_txt {
    font-size: 14px;

    text-align: center;
  }
}

/* ========================================================================== */
@media print, screen and (min-width: 741px) {
  /* for Desktop Device */
  .calendar_header {
    font-size: 16px;
    line-height: 1;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-bottom: 25px; 
    padding-top: 10px;

    border-top: 1px solid #aeaeae;
    border-bottom: 1px solid #aeaeae;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .calendar_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .calendar_header .cell {
    font-weight: 700;

    padding: 7px 0;

    text-align: center;

    border-bottom: 10px solid #fff !important;
  }
  .calendar_container {
    margin-top: 10px;

    border-right: 6.5px solid #fff !important;
    border-bottom: none !important; 
    border-left: 6.5px solid #fff !important;
  }
  .calendar_container .cell {
    width: 14.28571%;

    border-right: 6.5px solid #fff !important;
    border-bottom: 13px solid #fff; 
    border-left: 6.5px solid #fff !important;
  }
  .calendar_container .inner {
    padding: 10px;
  }
  .calendar_container a {
    text-decoration: underline; 

    color: #1953f1;
  }
  .calendar_container .tickets {
    padding: 0 !important;
  }
  .calendar_container .day {
    font-size: 15px !important;
    line-height: 1 !important;

    display: block !important;

    margin-bottom: 8px !important; 
    padding: 4px 0 !important;

    text-align: center !important;

    color: #fff !important;
    background-color: #2a2a2a;
  }
  .calendar_container .events {
    font-size: inherit !important;

    margin-top: 0 !important; 
    padding: 0 0 8px !important;
  }
  .calendar_container .events .event_unit {
    margin: 0 8px;
  }
  .calendar_container .event_unit:not(:first-child) {
    margin-top: 8px !important;
    padding-top: 8px !important;

    border-top: 1px dotted #ccc;
  }
}

.calendar_container .inner {
  padding: 0;
}

.calendar_container .cell {
  background-color: #f8f7f4;
}

@media screen and (min-width: 761px) {
  .calendar_container .cell.sat {
    background: #dde6fd !important;
  }
  .calendar_container .cell.sun,
  .calendar_container .cell.ja_holiday {
    background: #fbe1e8 !important;
  }
}

.calendar_container .out_of_month_after .day,
.calendar_container .out_of_month_after .events,
.calendar_container .out_of_month_after .tickets,
.calendar_container .out_of_month_before .day,
.calendar_container .out_of_month_before .events,
.calendar_container .out_of_month_before .tickets {
  opacity: 0;
}

.calendar_container .past a {
  text-decoration: none;
  pointer-events: none; 

  color: #a4a4a4;
}

.calendar_container .today {
  background-color: #fdf7bf;
}
.calendar_container .today .day {
  background-color: #f17200;
}

.calendar_container .ticket_unit.pre_release_start,
.calendar_container .ticket_unit.subscription_start {
  margin: 0 8px 8px; 

  background: #e21a4d;
}
.calendar_container .ticket_unit.pre_release_start a,
.calendar_container .ticket_unit.subscription_start a {
  font-size: 11px; 

  text-align: center;
  text-decoration: none;

  color: #fff;
}
.calendar_container .ticket_unit.pre_release_start a p,
.calendar_container .ticket_unit.subscription_start a p {
  padding: 5px;
}
.calendar_container .ticket_unit.pre_release_start a .event_title,
.calendar_container .ticket_unit.subscription_start a .event_title {
  font-size: 13px;

  padding: 5px; 

  text-align: left;
  text-decoration: underline;

  background: #e63c68;
}

@media print, screen and (min-width: 741px) {
  /* for Desktop Device */
  .calendar_container .dow {
    display: none;
  }
  .calendar_container .cell.disable {
    padding: 0;
  }
  .calendar_container .cell .icon_box {
    max-height: none;
  }
  .calendar_container .cell .icon {
    width: 100%;

    text-align: center;
  }
}

/*@media screen and (max-width: 740px) {*/
/* for Mobile Device */
/*.calendar_header {
    display: none;
  }

  .calendar_body {
    display: block;  // display: flex; 解除のため
  }

  .calendar_container {
    margin-top: 4px;

    .cell.disable {
      display: none;
    }

    .cell {
      width: auto;
      margin: 0;
    }

    .inner {
      display: flex;

      padding: 0;
    }

    .day,
    .dow {
      display: flex;
      justify-content: center;
      align-items: center;

      width: 36px;
      padding: 8px 0;

      font-size: 13px;

      border-right: 1px solid #ccc;
    }

    .events {
      flex-grow: 1;
      flex-shrink: 1;

      width: calc(100% - 74px);
      margin: 0;
      padding: 10px;
    }
  }
}
*/
.calendar_month_unit {
  width: 1200px;
  margin: 0 auto;
  padding: 30px 50px 50px; 

  background-color: #fff;
}

.month_title {
  position: relative;
}
.month_title::before {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;

  position: absolute;
  z-index: 99;
  top: 0px !important;
  left: 50%;

  content: "";
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  letter-spacing: 2px;
  text-transform: uppercase;

  color: #444;
}
.month_title.mon1::before {
  content: "January" !important;
}
.month_title.mon2::before {
  content: "February" !important;
}
.month_title.mon3::before {
  content: "March" !important;
}
.month_title.mon4::before {
  content: "April" !important;
}
.month_title.mon5::before {
  content: "May" !important;
}
.month_title.mon6::before {
  content: "June" !important;
}
.month_title.mon7::before {
  content: "July" !important;
}
.month_title.mon8::before {
  content: "August" !important;
}
.month_title.mon9::before {
  content: "September" !important;
}
.month_title.mon10::before {
  content: "October" !important;
}
.month_title.mon11::before {
  content: "November" !important;
}
.month_title.mon12::before {
  content: "December" !important;
}

.top .section_info .new .date::after {
  right: -60%;
}

/* ========================================================================== */
@media screen and (max-width: 760px) {
  .preload * {
    display: none;
  }
  img {
    width: 100%;
  }
  .top main {
    margin-top: 0;
    padding-bottom: 0;

    background: none;
  }
  /* section_lineup */
  .section_lineup {
    padding: 2% 5% 8%; 

    background: url(../img/cmn/bg.jpg) 0 0 repeat;
    background-size: 20%;
  }
  .section_lineup .inner {
    width: 100%;
  }
  .section_lineup .article_h2 {
    margin-bottom: 5%;
  }
  .section_lineup .list .unit {
    display: inline-block;

    width: 49%;
    margin-right: 2%; 
    margin-bottom: 5%;

    text-align: center;
    vertical-align: top;
  }
  .section_lineup .list .unit:nth-child(2n+1) {
    clear: left;
  }
  .section_lineup .list .unit:nth-child(2n) {
    margin-right: 0;
  }
  .section_lineup .list .unit .ph {
    width: 100%;
    height: 0;
    padding-bottom: 142%;
  }
  .section_lineup .list .unit .unit_icon {
    text-align: left;
  }
  .section_lineup .list .unit .tit {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;

    margin-top: 2px;

    text-align: left;
  }
  .section_lineup .section_btn .btn.cv02 {
    margin-bottom: 3%;
  }
  .top .section_lineup .list {
    text-align: left;
  }
  .top .section_lineup .btn {
    width: 100%;
    height: 60px;
  }
  .top .section_lineup .btn a {
    line-height: 60px;
  }
  /* section_today */
  .section_today {
    padding: 10% 0; 

    background: #e21a4d;
  }
  .section_today .btn {
    width: 90%;
    margin: 0 5%;
  }
  .section_today .btn a {
    font-size: 18px; 

    color: #fff;
    border-color: #fff;
  }
  .section_today .btn a::after {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
  }
  .section_today .btn span {
    position: relative;

    padding-left: 30px;
  }
  .section_today .btn span::before {
    position: absolute;
    top: 0;
    left: -20px;

    display: inline-block;

    width: 32px;
    height: 22px;

    content: "";

    background-image: url(../img/top/ico_ticket.png); 
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 100%;
  }
  /* section01 */
  .section01 {
    padding-bottom: 8%; 

    background: url(../img/cmn/bg.jpg) 0 0 repeat;
    background-size: 20%;
  }
  .section01 .inner {
    width: 90%;
    margin: 0 5%;
  }
  .section01 .section_info {
    margin-bottom: 3%;
  }
  .section01 .section_info .inner_info {
    overflow-y: scroll; 

    height: 283px;
    padding: 5%;

    background: #fff;
  }
  .section01 .section_info .inner_info .new .date::after {
    font-size: 12px;

    right: -68%;
  }
  .section01 .section_info .scroll_area {
    height: 265px;
  }
  .section01 .section_info .list .unit {
    display: block;

    margin-bottom: 3%;
  }
  .section01 .section_info .list .ph {
    float: left;

    width: 50px;
    height: 77px;
    /* height: 0; */
    margin-right: 15px;
    /* padding-bottom: 10%; */
  }
  .section01 .section_info .list .info_box {
    float: right; 

    width: calc(100% - 65px);
    margin-top: 8px;
  }
  .section01 .section_info .list .date {
    font-size: 13px;
    font-weight: 400;
    line-height: 1.0;

    color: #b3b3b3;
  }
  .section01 .section_info .list .tit {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;

    margin-top: 5px;
  }
  .section01 .section_stage {
    width: 100%;
  }
  .section01 .section_stage iframe {
    width: 100%;
    height: 190px;
  }
  /* section_pickup section_event */
  .section_pickup .icon,
  .section_pickup .category,
  .section_event .icon,
  .section_event .category {
    font-size: 11px;
    font-weight: 700;

    margin-bottom: 3px; 
    padding: 2px 6px;
  }
  /* section_pickup */
  .section_pickup {
    width: 90%;
    margin: 0 5%;
  }
  .section_pickup .unit {
    width: 100%;
    margin-bottom: 10%;
  }
  .section_pickup .unit a {
    position: relative;

    display: block;
  }
  .section_pickup .ph {
    width: 100%;
    height: 0;
    padding-bottom: 68%;
  }
  .section_pickup .btn {
    width: 60%;
    height: 40px; 
    margin: 0 auto;
  }
  .section_pickup .btn a {
    font-size: 13px;
    line-height: 38px;

    border-radius: 40px;
  }
  .section_pickup .btn a::after {
    right: 15px;
  }
  .section_pickup .date {
    font-size: 14px;

    margin-top: 2%; 

    color: #4c4c4c;
  }
  .top .section_event .icon_box {
    display: inline-block;
    float: right;

    width: calc(100% - 180px);
    margin-top: 8px; 

    text-align: left;
  }
  /* section_event */
  .section_event {
    width: 90%;
    margin: 10% 5% 0;
    padding-top: 2%;

    border-top: 1px solid #c4c4c4;
  }
  .section_event .unit {
    position: relative;

    width: 100%;
    margin-bottom: 3%;
  }
  .section_event .unit:last-child {
    margin-bottom: 0%;
  }
  .section_event .unit .date {
    font-size: 13px;

    margin-bottom: 5px;
  }
  .section_event .unit .tit {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.6;

    margin-top: 5px; 

    text-align: left;
  }
  .section_event .list .ph {
    float: left;

    width: 160px;
    height: 0;
    margin-right: 15px; 
    padding-bottom: 32%;
  }
  .section_event .list .info_box {
    float: right;

    width: calc(100% - 180px);
    margin-top: 8px;
  }
  .section_event .btn {
    width: 60%;
    height: 40px; 
    margin: 0 auto;
  }
  .section_event .btn a {
    font-size: 13px;
    line-height: 38px;

    border-radius: 40px;
  }
  .section_event .btn a::after {
    right: 15px;
  }
  /* section02 */
  .section02 {
    text-align: center; 

    border-top: 1px solid #939393;
  }
  .section02 .link {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.5;

    width: 100%;
    padding: 6% 0;

    border-bottom: 1px solid #939393;
  }
  .section02 .link .sub {
    font-size: 12px;

    color: #4e4e4e;
  }
  .section02 .link.cv01 {
    padding: 8% 0; 

    color: #e21a4d;
  }
  .section02 .link a {
    position: relative;

    display: block;
  }
  .section02 .link a::after {
    position: absolute;
    z-index: 999;
    top: 50%;
    right: 20px;

    width: 5px;
    height: 5px;

    content: "";
    -webkit-transform: rotate(45deg) translateY(-50%);
        -ms-transform: rotate(45deg) translateY(-50%);
            transform: rotate(45deg) translateY(-50%);

    border-top: 1px solid #343434;
    border-right: 1px solid #343434;
  }
  /* section_gallery */
  .section_gallery {
    margin-top: 10%; 

    text-align: center;
  }
  .section_gallery .gallery_slide img {
    width: auto;
    max-height: 38vh;
    margin: 0 auto;
  }
  .section_gallery .btn {
    width: 60%;
    height: 40px; 
    margin: 0 auto;
  }
  .section_gallery .btn a {
    font-size: 13px;
    line-height: 38px;

    border-radius: 40px;
  }
  .section_gallery .btn a::after {
    right: 15px;
  }
  .simply-scroll-container {
    position: relative;
  }
  .simply-scroll-clip {
    position: relative;

    overflow: hidden;
  }
  .simply-scroll-list {
    overflow: hidden;

    margin: 0;
    padding: 0;
  }
  .simply-scroll-list li {
    display: block; 
    float: left;

    width: 300px;
    height: 250px;
    margin: 0 8px 0 0;
  }
  .simply-scroll-list li img {
    width: auto !important;
    height: 250px !important;
  }
  .top .gallery_slide .slick-dots {
    display: none !important;
  }
  .top .gallery_slide .slick-slider {
    padding-bottom: 4% !important;
  }
  /* section_link */
  .section_link {
    margin-top: 10%; 
    padding: 2% 5% 10%;

    background: url(../img/cmn/bg.jpg) 0 0 repeat;
    background-size: 20%;
  }
  .section_link .unit01 li {
    margin-bottom: 5%;
  }
  /* section_schedule */
  .section_schedule {
    margin-top: 20%; 
    padding: 3% 0 10%;

    background: url(../img/cmn/bg.jpg) 0 0 repeat;
    background-size: 20%;
  }
  .section_schedule .btn {
    position: relative;

    width: 90%;
    height: 84px;
    margin: 0 auto; 

    color: #e21a4d;
    border-radius: 10px;
    background-color: #e21a4d;
  }
  .section_schedule .btn:before {
    font-size: 16px;
    font-weight: 700;
    line-height: 84px;

    position: absolute;
    left: 0;

    width: 100%; 

    content: "カレンダーを見る";

    color: #fff;
  }
  .section_schedule .btn::after {
    position: absolute;
    z-index: 999;
    top: 50%;
    right: 25px;

    width: 8px;
    height: 8px;

    content: "";
    -webkit-transform: rotate(135deg) translateY(50%);
        -ms-transform: rotate(135deg) translateY(50%);
            transform: rotate(135deg) translateY(50%);

    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }
  .section_schedule .btn.active:before {
    content: "カレンダーを閉じる";
  }
  .section_schedule .btn.active::after {
    margin-top: -5px; 

    -webkit-transform: rotate(45deg) translateY(50%);
        -ms-transform: rotate(45deg) translateY(50%);
            transform: rotate(45deg) translateY(50%);

    border-top: 2px solid #fff;
    border-right: none;
    border-left: 2px solid #fff;
  }
  .calendar_month_unit {
    display: none;

    width: 100% !important; 
    margin-top: 6% !important;
    padding: 8% 5% !important;

    background-color: #fff;
  }
  .month_title .fair_txt {
    font-size: 11px;

    text-align: center;
  }
  .month_title h4 {
    font-size: 60px;
    line-height: 1;

    margin-bottom: 12px;
    padding-top: 20px; 

    text-align: center;
  }
  .calendar_month_unit .calendar_nav::after {
    display: block;
    clear: both;
    overflow: hidden;

    height: 0;

    content: "";
  }
  .calendar_month_unit .calendar_nav {
    line-height: 1; 

    margin: 5% 0 8%;
    padding: 0;
  }
  .calendar_month_unit .btn_prev a,
  .calendar_month_unit .btn_next a {
    position: relative; 

    display: block;

    padding: 0 !important;
  }
  .calendar_month_unit .btn_prev {
    float: left;
  }
  .calendar_month_unit .btn_prev a {
    padding-left: 25px !important;
  }
  .calendar_month_unit .btn_prev a::before {
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 18px;
    height: 18px;

    content: "" !important;

    background: #000;
  }
  .calendar_month_unit .btn_prev a::after {
    position: absolute;
    top: 50%;
    left: 3px;

    display: block;

    width: 0;
    height: 0;
    margin-top: -2px;

    content: "";

    border: 3px solid transparent;
    border-right: 5px solid #fff;
  }
  .calendar_month_unit .btn_next {
    float: right;
  }
  .calendar_month_unit .btn_next a {
    padding-right: 25px !important;
  }
  .calendar_month_unit .btn_next a::before {
    position: absolute;
    top: 0;
    right: 0;

    display: block;

    width: 18px;
    height: 18px;

    content: "" !important;

    background: #000;
  }
  .calendar_month_unit .btn_next a::after {
    position: absolute;
    top: 50%;
    right: 3px;

    display: block;

    width: 0;
    height: 0;
    margin-top: -2px;

    content: "" !important;

    border: 3px solid transparent;
    border-left: 5px solid #fff;
  }
  .calendar_container {
    background: #f3f1ec;
  }
  .calendar_container a {
    text-decoration: underline;

    color: #1953f1;
  }
  .calendar_container .cell {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    max-width: 100%;
    padding: 0 !important;

    border-bottom: 2px solid #fff;

    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
  .calendar_container .cell.sat .dow {
    background: #dde6fd;
  }
  .calendar_container .cell.sun .dow,
  .calendar_container .cell.ja_holiday .dow {
    background: #fbe1e8;
  }
  .calendar_container .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; 

    text-align: left;
  }
  .calendar_container .day {
    font-size: 13px;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 36px;
    padding: 5% 0; 

    color: #fff;
    background-color: #2a2a2a;

    -ms-flex-preferred-size: 30px;
    flex-basis: 30px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .calendar_container .dow {
    font-size: 13px;

    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 30px;

    background: #dedede; 

    -ms-flex-preferred-size: 30px;
    flex-basis: 30px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .calendar_container .unit_txt {
    width: calc(100% - 60px); 
    padding: 3%;
  }
  .calendar_container .out_of_month_after .day,
  .calendar_container .out_of_month_after .events,
  .calendar_container .out_of_month_after .tickets,
  .calendar_container .out_of_month_after .dow,
  .calendar_container .out_of_month_before .day,
  .calendar_container .out_of_month_before .events,
  .calendar_container .out_of_month_before .tickets,
  .calendar_container .out_of_month_before .dow {
    display: none;
  }
  .calendar_container .ticket_unit.pre_release_start,
  .calendar_container .ticket_unit.subscription_start {
    margin: 0 8px 8px;

    background: #e21a4d;
  }
  .calendar_container .ticket_unit.pre_release_start a,
  .calendar_container .ticket_unit.subscription_start a {
    font-size: 11px;

    text-align: center;
    text-decoration: none;

    color: #fff;
  }
  .month_title {
    position: relative;
  }
  .month_title::before {
    font-size: 18px;
    font-weight: 700;
    line-height: 1;

    position: absolute;
    z-index: 99;
    top: 0px;
    left: 50%;

    content: "";
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    letter-spacing: 2px;
    text-transform: uppercase;

    color: #444;
  }
}

@media screen and (max-width: 740px) {
  /* for Mobile Device */
  .calendar_header {
    display: none;
  }
  .calendar_body {
    display: block;
  }
  .calendar_container {
    margin-top: 4px;
  }
  .calendar_container .cell.disable {
    display: none;
  }
  .calendar_container .cell {
    width: auto;
    margin: 0;
  }
  .calendar_container .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    padding: 0;
  }
  .calendar_container .day,
  .calendar_container .dow {
    font-size: 13px; 

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 36px;
    padding: 8px 0;

    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.calendar_month_unit {
  width: 1200px;
  margin: 0 auto;
  padding: 30px 50px 50px; 

  background-color: #fff;
}

@media screen and (max-width: 740px) {
  .section_schedule {
    margin-top: 20%; 
    padding: 3% 0 10%;

    background: url(../img/cmn/bg.jpg) 0 0 repeat;
    background-size: 20%;
  }
  .section_schedule .schedule_inner {
    padding: 6% 5% 5%; 

    background-color: #fff;
  }
  .section_schedule .btn {
    position: relative;

    width: 90%;
    height: 84px;
    margin: 0 auto 6%; 

    color: #e21a4d;
    border-radius: 10px;
    background-color: #e21a4d;
  }
  .section_schedule .btn:before {
    font-size: 16px;
    font-weight: 700;
    line-height: 84px;

    position: absolute;
    left: 0;

    width: 100%; 

    content: "カレンダーを見る";

    color: #fff;
  }
  .section_schedule .btn::after {
    position: absolute;
    z-index: 999;
    top: 50%;
    right: 25px;

    width: 8px;
    height: 8px;

    content: "";
    -webkit-transform: rotate(135deg) translateY(50%);
        -ms-transform: rotate(135deg) translateY(50%);
            transform: rotate(135deg) translateY(50%);

    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }
  .section_schedule .btn.active:before {
    content: "カレンダーを閉じる";
  }
  .section_schedule .btn.active::after {
    margin-top: -5px; 

    -webkit-transform: rotate(45deg) translateY(50%);
        -ms-transform: rotate(45deg) translateY(50%);
            transform: rotate(45deg) translateY(50%);

    border-top: 2px solid #fff;
    border-right: none;
    border-left: 2px solid #fff;
  }
  .calendar_month_unit {
    display: none;

    width: 100% !important; 
    margin-top: 6% !important;
    padding: 8% 0 !important;

    background-color: #fff;
  }
  .month_title .fair_txt {
    font-size: 11px;

    text-align: center;
  }
  .month_title h4 {
    font-size: 60px;
    line-height: 1;

    margin-bottom: 12px;
    padding-top: 20px; 

    text-align: center;
  }
  .calendar_month_unit .calendar_nav::after {
    display: block;
    clear: both;
    overflow: hidden;

    height: 0;

    content: "";
  }
  .calendar_month_unit .calendar_nav {
    line-height: 1; 

    margin: 5% 0 8%;
    padding: 0;
  }
  .calendar_month_unit .btn_prev a,
  .calendar_month_unit .btn_next a {
    position: relative; 

    display: block;

    padding: 0 !important;
  }
  .calendar_month_unit .btn_prev {
    float: left;
  }
  .calendar_month_unit .btn_prev a {
    padding-left: 25px !important;
  }
  .calendar_month_unit .btn_prev a::before {
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 18px;
    height: 18px;

    content: "" !important;

    background: #000;
  }
  .calendar_month_unit .btn_prev a::after {
    position: absolute;
    top: 50%;
    left: 3px;

    display: block;

    width: 0;
    height: 0;
    margin-top: -2px;

    content: "";

    border: 3px solid transparent;
    border-right: 5px solid #fff;
  }
  .calendar_month_unit .btn_next {
    float: right;
  }
  .calendar_month_unit .btn_next a {
    padding-right: 25px !important;
  }
  .calendar_month_unit .btn_next a::before {
    position: absolute;
    top: 0;
    right: 0;

    display: block;

    width: 18px;
    height: 18px;

    content: "" !important;

    background: #000;
  }
  .calendar_month_unit .btn_next a::after {
    position: absolute;
    top: 50%;
    right: 3px;

    display: block;

    width: 0;
    height: 0;
    margin-top: -2px;

    content: "" !important;

    border: 3px solid transparent;
    border-left: 5px solid #fff;
  }
  .calendar_container {
    background: #f3f1ec;
  }
  .calendar_container a {
    text-decoration: underline;

    color: #1953f1;
  }
  .calendar_container .cell {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    max-width: 100%;
    padding: 0 !important;

    border-bottom: 2px solid #fff;

    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
  .calendar_container .cell.sat .dow {
    background: #dde6fd;
  }
  .calendar_container .cell.sun .dow,
  .calendar_container .cell.ja_holiday .dow {
    background: #fbe1e8;
  }
  .calendar_container .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; 

    text-align: left;
  }
  .calendar_container .day {
    font-size: 13px;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 36px;
    padding: 5% 0; 

    color: #fff;
    background-color: #2a2a2a;

    -ms-flex-preferred-size: 30px;
    flex-basis: 30px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .calendar_container .dow {
    font-size: 13px;

    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 30px;

    background: #dedede; 

    -ms-flex-preferred-size: 30px;
    flex-basis: 30px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .calendar_container .unit_txt {
    width: calc(100% - 60px); 
    padding: 3%;
  }
  .calendar_container .out_of_month_after .day,
  .calendar_container .out_of_month_after .events,
  .calendar_container .out_of_month_after .tickets,
  .calendar_container .out_of_month_after .dow,
  .calendar_container .out_of_month_before .day,
  .calendar_container .out_of_month_before .events,
  .calendar_container .out_of_month_before .tickets,
  .calendar_container .out_of_month_before .dow {
    display: none;
  }
  .calendar_container .ticket_unit.pre_release_start,
  .calendar_container .ticket_unit.subscription_start {
    margin: 0 8px 8px;

    background: #e21a4d;
  }
  .calendar_container .ticket_unit.pre_release_start a,
  .calendar_container .ticket_unit.subscription_start a {
    font-size: 11px;

    text-align: center;
    text-decoration: none;

    color: #fff;
  }
  .month_title {
    position: relative;
  }
  .month_title::before {
    font-size: 18px;
    font-weight: 700;
    line-height: 1;

    position: absolute;
    z-index: 99;
    top: 0px;
    left: 50%;

    content: "";
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    letter-spacing: 2px;
    text-transform: uppercase;

    color: #444;
  }
  .month_title.mon1::before {
    content: "January";
  }
  .month_title.mon2::before {
    content: "February";
  }
  .month_title.mon3::before {
    content: "March";
  }
  .month_title.mon4::before {
    content: "April";
  }
  .month_title.mon5::before {
    content: "May";
  }
  .month_title.mon6::before {
    content: "June";
  }
  .month_title.mon7::before {
    content: "July";
  }
  .month_title.mon8::before {
    content: "August";
  }
  .month_title.mon9::before {
    content: "September";
  }
  .month_title.mon10::before {
    content: "October";
  }
  .month_title.mon11::before {
    content: "November";
  }
  .month_title.mon12::before {
    content: "December";
  }
  .calendar_container .out_of_month_after {
    display: none;
  }
  .calendar_container .out_of_month_after .day,
  .calendar_container .out_of_month_after .events,
  .calendar_container .out_of_month_after .tickets {
    display: none;
  }
}

@media screen and (max-width: 760px) {
  .top .section_lineup {
    padding: 2% 5% 8%;
  }
  .section_lineup .article_h2 {
    margin-bottom: 0%;
    padding-bottom: 0;
  }
  .section_lineup .inner {
    padding: 0; 

    background: none;
  }
  .section_lineup .list .unit {
    margin-top: 3%;
  }
  .section_lineup .section_btn {
    margin-top: 5%;
  }
  .section_today .btn {
    height: auto;
  }
  .section01 .section_info {
    width: 100%;
  }
  .top .section01 .article_h2 {
    padding: 6% 0 5%;
  }
  .article_h2 h2 {
    letter-spacing: 0;
  }
  .section_event .unit .date {
    margin-top: 0;
  }
  .calendar_container {
    width: 90%;
    margin: 0 auto;
  }
  .calendar_month_unit .calendar_nav {
    width: 90%;
    margin: 5% auto 8%;
  }
  .calendar_container .ticket_unit.pre_release_start a .event_title,
  .calendar_container .ticket_unit.subscription_start a .event_title {
    font-size: 11px;
    line-height: 1;

    padding: 5px;

    text-align: center;
    text-decoration: none; 

    background: none;
  }
  .calendar_container .ticket_unit.subscription_start a p {
    padding: 0;
  }
  .calendar_container .inner {
    width: 100%;
  }
  .section02 .link.cv01 {
    position: relative; 

    color: #e21a4d;
    background: #fff;
  }
  .calendar_body .out_of_month_before,
  .calendar_body .out_of_month_after {
    display: none;
  }
  .top .section_lineup .place,
  .top .section_lineup .stage_period {
    min-height: 11px;
  }
  .top .section_lineup .stage_period::after {
    top: 2px;
  }
}
