@media screen and (max-width: 750px) {
  h2 img {
    height: 20px;
  }
  h2.is-shadow img {
    height: 35px;
  }
}

/* .sec-intro
-----------------------------*/
.sec-intro {
  /* .photo-area
  -----------------------------*/
}
@media screen and (max-width: 750px) {
  .sec-intro {
    margin-top: 20px;
  }
}
@media screen and (max-width: 750px) {
  .sec-intro .logo img {
    max-width: 320px;
    width: 100%;
  }
}
.sec-intro .btn-info {
  width: 565px;
  margin: 0 auto;
  margin-top: 60px;
}
@media screen and (max-width: 750px) {
  .sec-intro .btn-info {
    width: 100%;
    margin-top: 35px;
  }
}
.sec-intro .btn-info .label-wrap {
  display: block;
  padding: 25px 0;
  color: #fff;
  background: #ff0000;
  transform: skewX(-25deg);
  font-size: 40px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .sec-intro .btn-info .label-wrap {
    padding: 13px;
    font-size: 15px;
    line-height: 1.4;
  }
}
.sec-intro .btn-info .label-wrap .label {
  transform: skewX(25deg);
  display: inline-block;
}
.sec-intro .intro {
  margin-top: 25px;
  text-align: center;
  color: #fff;
  font-size: 22px;
  line-height: 1.8;
}
@media screen and (max-width: 750px) {
  .sec-intro .intro {
    font-size: 11px;
  }
}
.sec-intro .photo-area {
  margin-top: 55px;
  margin-right: -25px;
  margin-left: -25px;
}
@media screen and (max-width: 750px) {
  .sec-intro .photo-area {
    margin-top: 35px;
  }
}
@media screen and (max-width: 750px) {
  .sec-intro .photo-area {
    margin-right: 0;
    margin-left: 0;
  }
}
.sec-intro .photo-area .list {
  display: flex;
  flex-wrap: wrap;
}
.sec-intro .photo-area .item {
  width: 33.3333%;
}
@media screen and (max-width: 750px) {
  .sec-intro .photo-area .item {
    width: 50%;
  }
}
.sec-intro .photo-area img {
  max-width: 100%;
}
.sec-intro .photo-area .credit {
  text-align: right;
  font-size: 16px;
  color: #171d5e;
}
@media screen and (max-width: 750px) {
  .sec-intro .photo-area .credit {
    font-size: 10px;
  }
}
.sec-intro .lead {
  margin: 0 auto;
  margin-top: 50px;
  color: #171d5e;
  width: 900px;
  font-size: 54px;
  line-height: 1;
  font-weight: 900;
  text-align: right;
}
@media screen and (max-width: 750px) {
  .sec-intro .lead {
    margin-top: 18px;
  }
}
@media screen and (max-width: 750px) {
  .sec-intro .lead {
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  .sec-intro .lead {
    font-size: 28px;
    line-height: 1.2;
  }
}
@media screen and (max-width: 340px) {
  .sec-intro .lead {
    font-size: 24px;
  }
}
@media screen and (max-width: 750px) {
  .sec-intro .lead {
    text-align: center;
  }
}
.sec-intro .lead .sub {
  margin-top: 35px;
  font-size: 36px;
  display: inline-block;
}
@media screen and (max-width: 750px) {
  .sec-intro .lead .sub {
    margin-top: 15px;
    font-size: 18px;
  }
}
@media screen and (max-width: 340px) {
  .sec-intro .lead .sub {
    font-size: 16px;
  }
}
@media screen and (max-width: 750px) {
  .sec-intro .lead {
    margin-top: 20px;
  }
}
.sec-intro .date {
  margin-top: 70px;
}
@media screen and (max-width: 750px) {
  .sec-intro .date {
    margin-top: 40px;
  }
  .sec-intro .date img {
    max-width: 330px;
    width: 100%;
  }
}

/* .sec-movie
-----------------------------*/
.sec-movie {
  margin-top: 50px;
}
@media screen and (max-width: 750px) {
  .sec-movie {
    margin-top: 50px;
  }
}
.sec-movie .movie {
  margin-top: 55px;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .sec-movie .movie {
    margin-top: 20px;
  }
}
@media screen and (max-width: 750px) {
  .sec-movie .movie {
    display: block;
  }
}
.sec-movie .inner {
  width: 680px;
  height: 370px;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 750px) {
  .sec-movie .inner {
    width: 100%;
    height: 0;
    padding-top: 58%;
    /* 377/650 */
  }
}
.sec-movie .inner iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
@media screen and (max-width: 750px) {
  .sec-movie .inner iframe {
    max-width: 650px;
  }
}
@media screen and (max-width: 750px) {
  .sec-movie .howto {
    width: 53.86666666666667vw;
    /* 404/750 */
    margin: 0 auto;
    margin-top: 15px;
  }
  .sec-movie .howto img {
    max-width: 100%;
  }
}

/* .sec-illust
-----------------------------*/
.sec-illust {
  margin-top: 68px;
  height: 856px;
  background: url(/assets/mazrinomatsuri/201901/img/bg-illust.png) no-repeat top center;
}
@media screen and (max-width: 750px) {
  .sec-illust {
    margin-top: 40px;
  }
}
@media screen and (max-width: 750px) {
  .sec-illust {
    height: 66vw;
    /* 487/750 */
    background-size: auto 100%;
  }
}

/* .sec-tee
-----------------------------*/
.sec-tee {
  margin-top: 125px;
}
@media screen and (max-width: 750px) {
  .sec-tee {
    margin-top: 60px;
  }
  .sec-tee img {
    max-width: 650px;
    width: 100%;
  }
}

/* .sec-artist
-----------------------------*/
.sec-artist {
  margin-top: 150px;
}
@media screen and (max-width: 750px) {
  .sec-artist {
    margin-top: 60px;
  }
}
.sec-artist a {
  transition: opacity .2s;
  display: inline-block;
}
.sec-artist a:hover {
  opacity: 0.6;
}
.sec-artist a:hover img {
  opacity: 1;
}
.sec-artist h2 + .list-wrap {
  margin-top: 65px;
}
@media screen and (max-width: 750px) {
  .sec-artist h2 + .list-wrap {
    margin-top: 20px;
  }
}
.sec-artist .item {
  display: flex;
  position: relative;
}
@media screen and (max-width: 750px) {
  .sec-artist .item {
    display: block;
  }
}
.sec-artist .item .photo img {
  max-width: 600px;
  width: 100%;
}
.sec-artist .item .name {
  position: absolute;
  right: 0;
  bottom: 70px;
  width: 465px;
  text-align: right;
  line-height: 1;
  border-bottom: 6px solid #fff;
  padding-bottom: 25px;
}
@media screen and (max-width: 750px) {
  .sec-artist .item .name {
    margin-top: 20px;
    position: static;
    display: inline-block;
    width: auto;
    text-align: center;
    border-bottom: 3px solid #fff;
    padding-bottom: 10px;
  }
}
.sec-artist .item .name img {
  margin-bottom: -10px;
}
@media screen and (max-width: 750px) {
  .sec-artist .item .name img {
    margin-bottom: -5px;
    height: 18px;
  }
}
.sec-artist .item + .item {
  margin-top: 40px;
}
.sec-artist .item--rev {
  justify-content: flex-end;
}
.sec-artist .item--rev .name {
  right: auto;
  left: 0;
  bottom: 90px;
  text-align: left;
  padding-bottom: 25px;
}
@media screen and (max-width: 750px) {
  .sec-artist .item--rev .name {
    padding-bottom: 10px;
  }
}
.sec-artist .item--rev .name img {
  margin-bottom: 0;
}

/* .sec-ticket
-----------------------------*/
.sec-ticket {
  margin-top: 150px;
  /* .inner-sec
  -----------------------------*/
  /* .inner-sec--01
  -----------------------------*/
  /* .inner-sec--02
  -----------------------------*/
}
@media screen and (max-width: 750px) {
  .sec-ticket {
    margin-top: 90px;
  }
}
.sec-ticket .date {
  margin-top: 70px;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .sec-ticket .date {
    margin-top: 35px;
  }
}
@media screen and (max-width: 750px) {
  .sec-ticket .date img {
    max-width: 385px;
    width: 100%;
  }
}
.sec-ticket .date-note {
  margin-top: 35px;
  font-size: 16px;
}
@media screen and (max-width: 750px) {
  .sec-ticket .date-note {
    margin-top: 25px;
    font-size: 12px;
  }
}
.sec-ticket .inner-sec .title-sub {
  font-weight: 900;
  font-size: 21px;
}
@media screen and (max-width: 750px) {
  .sec-ticket .inner-sec .title-sub {
    font-size: 16px;
  }
}
.sec-ticket .inner-sec .list-note {
  margin-top: 65px;
  font-size: 16px;
}
@media screen and (max-width: 750px) {
  .sec-ticket .inner-sec .list-note {
    margin-top: 35px;
    font-size: 14px;
    text-align: left;
  }
  .sec-ticket .inner-sec .list-note li {
    text-indent: -1em;
    margin-left: 1em;
  }
  .sec-ticket .inner-sec .list-note li + li {
    margin-top: 5px;
  }
}
.sec-ticket .inner-sec--01 {
  margin-top: 60px;
}
@media screen and (max-width: 750px) {
  .sec-ticket .inner-sec--01 {
    margin-top: 25px;
  }
}
.sec-ticket .inner-sec--01 .item {
  margin-top: 35px;
}
@media screen and (max-width: 750px) {
  .sec-ticket .inner-sec--01 .item {
    margin-top: 30px;
  }
}
.sec-ticket .inner-sec--01 .name {
  font-weight: 900;
}
.sec-ticket .inner-sec--01 .note {
  margin-top: 35px;
}
.sec-ticket .text-end-preceding {
  margin-top: 60px;
  color: #fbe199;
  font-weight: bold;
  font-size: 21px;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .sec-ticket .text-end-preceding {
    margin-top: 45px;
  }
}
@media screen and (max-width: 750px) {
  .sec-ticket .text-end-preceding {
    font-size: 14px;
  }
}
.sec-ticket .inner-sec--02 {
  margin-top: 60px;
}
@media screen and (max-width: 750px) {
  .sec-ticket .inner-sec--02 {
    margin-top: 45px;
  }
}
.sec-ticket .inner-sec--02 .title-sub {
  font-size: 40px;
}
@media screen and (max-width: 750px) {
  .sec-ticket .inner-sec--02 .title-sub {
    font-size: 22px;
  }
}
.sec-ticket .inner-sec--02 .title-sub02 {
  font-size: 30px;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .sec-ticket .inner-sec--02 .title-sub02 {
    font-size: 15px;
  }
}
.sec-ticket .inner-sec--02 .item {
  margin-top: 35px;
}
@media screen and (max-width: 750px) {
  .sec-ticket .inner-sec--02 .item {
    margin-top: 30px;
  }
}
.sec-ticket .inner-sec--02 .name {
  font-weight: 900;
}
.sec-ticket .inner-sec--02 .note {
  margin-top: 35px;
}

/* .sec-info
-----------------------------*/
.sec-info {
  margin-top: 110px;
}
@media screen and (max-width: 750px) {
  .sec-info {
    margin-top: 80px;
  }
}
.sec-info .title-sub {
  font-weight: 900;
  font-size: 21px;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .sec-info .title-sub {
    font-size: 16px;
  }
}
.sec-info .list {
  margin-top: 25px;
}
@media screen and (max-width: 750px) {
  .sec-info .list {
    margin-top: 10px;
  }
}

/* .sec-support
-----------------------------*/
.sec-support {
  margin-top: 110px;
}
@media screen and (max-width: 750px) {
  .sec-support {
    margin-top: 80px;
  }
}
.sec-support li {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .sec-support li {
    justify-content: flex-start;
    text-align: left;
  }
  .sec-support li .text {
    flex: 1;
  }
}
@media screen and (max-width: 750px) {
  .sec-support li + li {
    margin-top: 5px;
  }
}

/* .sec-archive
-----------------------------*/
.sec-archive {
  margin-top: 150px;
  padding-bottom: 75px;
}
@media screen and (max-width: 750px) {
  .sec-archive {
    margin-top: 70px;
  }
}
.sec-archive ul {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .sec-archive ul {
    flex-direction: column;
  }
}
.sec-archive li + li {
  margin-left: 60px;
}
@media screen and (max-width: 750px) {
  .sec-archive li + li {
    margin-left: 0;
    margin-top: 35px;
  }
}
.sec-archive a {
  display: flex;
  align-items: center;
  transition: opacity .2s;
}
@media screen and (max-width: 750px) {
  .sec-archive a {
    justify-content: center;
  }
}
.sec-archive a::before {
  content: "";
  display: inline-block;
  margin-right: 15px;
  width: 10px;
  height: 15px;
  background: url(/assets/mazrinomatsuri/201901/img/icon-arrow.png) no-repeat;
}
.sec-archive a img {
  height: 23px;
}
.sec-archive a:hover {
  opacity: 0.6;
}
.sec-archive a:hover img {
  opacity: 1;
}
@media screen and (max-width: 750px) {
  .sec-archive {
    padding-bottom: 55px;
  }
}

.modal-wrap {
  display: none;
}

/* .modal
-----------------------------*/
.modal {
  width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .modal {
    width: 100%;
  }
}
.modal .modal-inner {
  position: relative;
}
.modal .modal-btn-close {
  float: right;
  text-indent: -99999px;
  display: block;
  width: 34px;
  height: 34px;
  background: url(/assets/mazrinomatsuri/201901/img/icon-close.png) no-repeat;
  cursor: pointer;
  margin-bottom: 15px;
}
.modal .modal-btn-close:hover {
  opacity: 0.6;
}
.modal .modal-box {
  background: #666 url(/assets/mazrinomatsuri/common/img/bg-gray.jpg);
  clear: both;
  padding: 45px;
  padding-bottom: 95px;
  position: relative;
}
@media screen and (max-width: 750px) {
  .modal .modal-box {
    padding: 25px;
    padding-top: 40px;
    padding-bottom: 70px;
  }
}
.modal .name {
  text-align: center;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 750px) {
  .modal .name img {
    height: 21px;
  }
}
.modal .text-wrap {
  position: relative;
  z-index: 10;
  margin-top: 40px;
  font-size: 16px;
  color: #000;
}
@media screen and (max-width: 750px) {
  .modal .text-wrap {
    font-size: 14px;
  }
}
.modal .text-wrap a {
  color: #000;
}
.modal .text-wrap p + p {
  margin-top: 40px;
}

#artist-birthday .modal-box::after {
  content: "";
  display: block;
  width: 338px;
  height: 481px;
  background: url(/assets/mazrinomatsuri/201901/img/artist-birthday-logo.png) no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 50%;
  right: 45px;
  transform: translateY(-50%);
}
@media screen and (max-width: 750px) {
  #artist-birthday .modal-box::after {
    width: 233px;
    height: 331px;
  }
}
@media screen and (max-width: 750px) {
  #artist-birthday .modal-box::after {
    top: auto;
    bottom: 30px;
    right: 15px;
    transform: translateY(0%);
  }
}

#artist-sixlounge .modal-box::after {
  content: "";
  display: block;
  width: 885px;
  height: 216px;
  background: url(/assets/mazrinomatsuri/201901/img/artist-sixlounge-logo.png) no-repeat;
  background-size: 100% auto;
  position: absolute;
  bottom: 45px;
  right: 45px;
}
@media screen and (max-width: 750px) {
  #artist-sixlounge .modal-box::after {
    max-width: 442px;
    width: 100%;
    height: 108px;
  }
}
@media screen and (max-width: 750px) {
  #artist-sixlounge .modal-box::after {
    bottom: 95px;
    right: 50%;
    transform: translateX(50%);
  }
}

#artist-imaiakinobu .modal-box::after {
  content: "";
  display: block;
  width: 885px;
  height: 216px;
  position: absolute;
  bottom: 45px;
  right: 45px;
}
@media screen and (max-width: 750px) {
  #artist-imaiakinobu .modal-box::after {
    max-width: 442px;
    width: 100%;
    height: 108px;
  }
}
@media screen and (max-width: 750px) {
  #artist-imaiakinobu .modal-box::after {
    bottom: 95px;
    right: 50%;
    transform: translateX(50%);
  }
}
