img {
	max-width:100%;
	height:auto;
}

#contents {
	padding-top:40px;
	padding-bottom:55px;
	background:#fff;
}

#mv {
	height: 0;
	padding-top:0;
    padding-bottom: 56.3%;
	background-image:url(../img/ticket/bg_ttl_sp.jpg);
}

#mv h1 {
}

.archiveHeading .archiveHeading_inner {
	box-sizing:border-box;
	padding:25% 0 15%;
	background-size:cover;
}

.archiveHeading_inner .sub_ttl {
	box-sizing:border-box;
	margin:0 auto;
	width:62px;
	height:auto;
}

.table-time {
	font-size: 10px;
	margin-bottom: 30px;
}

@media screen and (min-width: 787px) {
	#contents {
		padding-top:90px;
		padding-bottom:80px;
		background:#fff;
	}

	#mv {
		padding-top:0;
		background: none;
		padding-bottom: 0;
		height: auto;
	}

	#mv.archiveHeading {
		margin-bottom:0;
	}

	#mv .archiveHeading_inner img {
		width:510px;
	}

	.archiveHeading .archiveHeading_inner {
		padding-top:220px;
		height:460px;
		background:url(../img/ticket/bg_ttl_pc.jpg) no-repeat center center;
		background-size:cover;
	}

	.archiveHeading_inner .sub_ttl {
		margin:20px auto 0;
		width:124px;
		height:auto;
	}


    .table-time {
		font-size: 12px;
		margin-bottom: 60px;
	}
}

/* ----------------------------------------
mv
----------------------------------------- */
.schedule-title-area{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 50px;
}

.schedule-title {
    color: #333;
    font-weight: bold;
    font-size: 28px;
    /*ont-style: italic;*/
    margin-right: 20px;
}

.schedule-sub {
	color:#000;
	font-weight:700;
	font-size:14px;
}

.cast-link {
    margin-left: auto;
	position:relative;
	text-align:right;
}

.cast-link a {
	position:relative;
	padding-left:15px;
    color: #c8002d;
	text-align:right;
	text-decoration:underline;
	font-weight:700;
	font-size:14px;
}

.cast-link a:hover {
	text-decoration:none;
}

.cast-link a span:before {
	position:absolute;
	top:50%;
	left:0;
	margin-top:-3px;
	width:5px;
	height:5px;
	border-top:2px solid #c8002d;
	border-right:2px solid #c8002d;
	content:'';
	transform:rotate(45deg);
}

.anchor{
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
}

.anchor li{
    text-align: center;
    width: 49%;
}

.anchor li a{
    background-color: #c8002d;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    display: block;
    padding: 14px 0;
    position: relative;
}

.anchor li.tokyo a{
    background-color: #0088bc;
}

.anchor li a:hover{
    opacity: .7;
}

.anchor li a:after{
	position:absolute;
	top:50%;
    right: 4%;
	margin-top:-9px;
	width:10px;
	height:10px;
	border-top:3px solid #fff;
	border-right:3px solid #fff;
	content:'';
	transform:rotate(135deg);
}

@media screen and (max-width: 768px) {
    .schedule-title-area{
        margin-bottom: 30px;
    }

	.schedule-title {
        font-size: 17px;
        margin: 0 0 10px;
        width: 100%;
	}

	.schedule-sub {
		font-size:10px;
	}

	.cast-link {
		text-align:right;
	}

	.cast-link a {
		font-size:10px;
	}

    .anchor{
        display: block;
        margin: 0 0 30px;
    }

    .anchor li{
        width: 100%;
    }

    .anchor li:first-child{
        margin-bottom: 15px;
    }

    .anchor li a{
        font-size: 14px;
    }

    .anchor li a:after{
        height: 8px;
        margin-top: -6px;
        width: 8px;
    }


}

.schedule-table {
	box-sizing:border-box;
	margin:0 0 10px;
	width:100%;
	border-bottom:1px solid #ddd;
	border-left:1px solid #ddd;
}

.table-week,.table-day {
	display:table;
	width:100%;
}

.table-week .table-item {
	background:#eee;
	font-weight:700;
	font-size:18px;
}

.table-week .table-item.sat {
	background:#b4e0e8;
}

.table-week .table-item.sun {
	background:#ffa7a7;
}

.table-item {
	display:table-cell;
	box-sizing:border-box;
	width:14.29%;
	border-top:1px solid #ddd;
	border-right:1px solid #ddd;
	color:#000;
	text-align:center;
    vertical-align: middle;
}

.table-item.hyogo{
    background-color: #fae6ec;
}

.table-item.tokyo{
    background-color: #d5ecf5;
}

.table-item img {
	display:block;
}

.table-item a {
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.3;
	width:100%;
	height:100%;
    min-height: 80px;
}

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .table-item a {
    /* IE11 にのみ適用される */
    height:80px;
  }
}

.table-item a:hover{
    opacity: 0.7;
}

.table-item span {
    color: #f30b42;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.3;
	width:100%;
	height:100%;
    min-height: 80px;
}


@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .table-item span {
    /* IE11 にのみ適用される */
    height:80px;
  }
}


@media screen and (max-width: 768px) {
	.schedule-table {
		margin:0 5px 10px;
		width:auto;
	}

	.table-week .table-item {
		font-size:6px;
	}
    .table-item a,
    .table-item span{
        font-size: 10px;
        min-height: 60px;
    }
}

.block {
	box-sizing:border-box;
	margin:0;
	padding:50px 0 0;
	max-width:100%;
	color:#000;
}

.normal-wrap{
    padding-top: 150px;
    margin-top: -150px;
}

.normal {
	margin:0 0 60px;
	padding:3%;
	border-radius:3px;
    background-color: #fae6ec;
	color:#000;
}

#tokyo .normal{
    background-color: #d5ecf5;
}

.info-title {
	margin-bottom:35px;
    color: #c8002d;
	text-align:center;
	font-weight:700;
    /*font-style: italic;*/
	font-size:28px;
}

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .info-title {
    /* IE11 にのみ適用される */
    font-style: normal;
  }
}

@supports (-ms-ime-align: auto) {
  /* Edge のみ適用される */
  .info-title {
    font-style: normal;
  }
}

#tokyo .info-title{
    color: #0088bc;
}

.info-title span{
    font-size: 21px;
}

.reserve-title {
}

.reserve-title img {
	width:222px;
	height:auto;
}

.ticket-reserve-section {
	overflow:hidden;
	padding:20px 15px;
	border-top:1px solid #d8d8d8;
}

.ticket-reserve-ttl {
	float:left;
  width: 32%;
	margin-bottom:20px;
	padding-left:10px;
	border-left:6px solid #c8002d;
	font-weight:400;
	font-weight:700;
	font-size:16px;
}

#tokyo .ticket-reserve-ttl{
    border-left-color: #0088bc;
}

.ticket-reserve-ttl a {
	text-decoration:underline;
}

.ticket-reserve-ttl a:hover {
	text-decoration:none;
}

.ticket-rsec {
	float:right;
	width:555px;
}

@media screen and (max-width: 768px) {
	.block {
		margin:0 auto;
		padding:0;
		width:100%;
	}

	.info-title {
		margin:0 0 10px;
		font-size:14px;
	}

    .info-title span{
        font-size: 10px;
    }

	.reserve-title {
		margin:0 0 20px;
		font-size:13px;
	}

  .normal-wrap {
    margin-top: 0;
    padding-top: 0;
  }

	.normal {
		margin:25px 0 40px;
		padding:3%;
		border-radius:3px;
		color:#000;
	}

	.reserve-title img {
		width:111px;
		height:auto;
	}

	.ticket-reserve-section {
		padding:10px 5px;
		border-top:1px solid #d8d8d8;
	}

	.ticket-reserve-ttl {
    width: auto;
		float:none;
		margin-bottom:20px;
		padding-left:10px;
        border-left-width: 4px;
		font-weight:400;
		font-size:12px;
	}

	.ticket-reserve-ttl a {
		text-decoration:underline;
	}

	.ticket-rsec {
		float:none;
		width:auto;
	}
}

.info-ticket-title {
    margin: 60px auto 40px;
	color:#333;
	text-align:center;
	font-weight:700;
	font-size:25px;
}

/* info */
.info {

}

.info-item {
	position:relative;
	display:table;
	padding:19px 0;
	width:100%;
	border-bottom:1px solid #d1d1d1;
}

.info-item:first-of-type {
	border-top:1px solid #d1d1d1;
}

.info-item-title,.info-item-desc {
	display:table-cell;
/* vertical-align: top; */
}

@media screen and (max-width: 768px) {
    .info-ticket-title{
        font-size: 14px;
        margin: 30px auto 20px;
    }
	.info {
	}

	.info-item {
		display:block;
		box-sizing:border-box;
		padding:10px 5px;
	}

	.info-item-title,.info-item-desc {
		display:block;
	}
}

/* info */
.info-item-title {
	box-sizing:border-box;
	padding:0 0 0 20px;
	width:18%;
	font-weight:700;
	font-size:18px;
	line-height:22px;
}

.info-logo {
	margin:0 0 10px;
	font-weight:700;
	font-size:22px;
	line-height:1;
}

.info-logo span {
  display: inline-block;
  width:40%;
  margin-right: .5em;
  vertical-align: top;
}

.info-item-desc {
	margin:0 0 10px;
	font-weight:700;
	font-size:18px;
	line-height:1.63;
}

.info-item-desc .tax {
	font-size:14px;
	font-weight:700;
	margin-left: 1em;
}

.info-address {
  width: 72%;
	margin:0;
	font-weight:700;
	font-size:16px;
	line-height:1.63;
}

.ticket-btn {
	position:relative;
	display:block;
	padding:18px 0;
	width:168px;
	border-radius:4px;
	background:#c8002d;
	color:#fff;
	text-align:center;
	font-size:16px;
	line-height:1;
}

#tokyo .ticket-btn{
    background:#006cb3;
}

.ticket-btn--internet {
    font-weight: bold;
	margin:0 0 20px;
	width:360px;
	background:#f30b42!important;
}

.ticket-btn:hover {
	opacity:.7;
}

.info-ticket-btn {
	position:absolute;
	top:50%;
	right:15px;
	margin-top:-26px;
}

@media screen and (max-width: 768px) {
	.info-item-title {
		margin:0 0 5px;
		padding:0;
		width:auto;
		font-size:12px;
		line-height:1;
	}

	.info-logo {
		margin:0 0 8px;
		font-size:14px;
	}

	.info-logo img {
		width:192px;
	}

  .info-logo span {
    display: block;
    width: 200px;
    margin: 0 0 0.3em;
  }

	.info-item-desc {
		margin:0 0 10px;
		font-size:11px;
		line-height:1.3;
	}

	.info-item-desc .tax {
		font-size:11px;
		font-weight:700;
		margin-left: 10px;
	}

	.info-address {
    width: auto;
		margin:0 0 10px;
		font-size:11px;
		line-height:1.3;
	}

	.ticket-btn {
		padding:16px 0 15px;
		width:100%;
		text-align:center;
		font-size:10px;
		line-height:1;
	}

	.ticket-btn--internet {
		margin:0 0 20px;
		width:100%;
	}

	.info-ticket-btn {
		position:static;
		margin-top:0;
	}
}

/* reserve */
.reserve-contact {
	display:table;
	margin:0 0 10px;
	line-height:1;
}

.reserve-contact-title,.reserve-contact-desc {
	display:table-cell;
	font-size:14px;
}

.reserve-contact-title {
  width: 130px;
	padding:0 15px 0 0;
	color:#f30b42;
	font-weight:700;
	font-size:14px;
}

.reserve-info {
	margin:25px 0 0;
	padding:15px 20px;
	border:4px solid #d9d7d9;
	background:#f5f5f5;
}

.reserve-info--sec {
	margin:0 0 20px;
}

.reserve-info--red .reserve-info-title {
	color:#f30b42;
}

.reserve-info-title {
	margin:0 0 10px;
	font-weight:700;
	font-size:20px;
}

.reseve-info-desc {
	font-size:16px;
	line-height:1.63;
}

.reseve-info-desc .small {
	font-size:14px;
}

.reseve-info-desc a {
	color: #f30b42;
	text-decoration: underline;
}

.reseve-info-desc a:hover {
	text-decoration: none;
}

.reserve-info-text {
	font-size:14px;
	line-height:1.86;
}

.reserve-info-text span {
	color:#f30b42;
}

.reserve-info-flex{
    margin: 20px 0 40px;
    display: flex;
    align-items: center;
}

.reserve-info-flex .reserve-info-title{
    margin: 0 10px 0 0;
}

.ticket-link {
	display:inline-block;
	margin:0 0 15px;
	color:#f30b42;
	text-decoration:underline;
	font-weight:700;
	font-size:18px;
}

.ticket-link:hover {
	text-decoration:none;
}

.reserve-shops {
	font-size:14px;
	line-height:1.86;
}

@media screen and (max-width: 768px) {
	.reserve-contact {
		margin:0 0 10px;
		line-height:1;
	}

	.reserve-contact-title {
		margin:0 0 5px;
		padding:0 10px 0 0;
		width:40px;
		vertical-align:top;
		font-size:10px;
	}

	.reserve-contact-desc {
		font-size:10px;
		line-height:1.3;
	}

	.reserve-info {
		margin:0 0 10px;
		padding:10px;
		border:2px solid #d9d7d9;
	}

	.reserve-info--sec {
		margin:0 0 10px;
	}

	.reserve-info-title {
		margin:0 0 2px;
		font-size:10px;
	}

	.reseve-info-desc {
		font-size:9px;
		width: 100%;
	}

	.reseve-info-desc .small {
		font-size:9px;
	}

	.reserve-info-text {
		font-size:9px;
		line-height:1.67;
	}

	.ticket-link {
		display:block;
		margin:0 0 8px;
		color:#f30b42;
		text-decoration:underline;
		font-weight:700;
		font-size:9px;
	}

	.reserve-shops {
		font-size:9px;
		line-height:1.44;
	}
    .reserve-info-flex{
        display: block;
    }
}

.block-wrap {
	margin:-100px 0 0;
	padding:100px 0 0;
}

.alart {
	background:#f5f5f5;
	color:#000;
}

.alart .wrapper {
	box-sizing:border-box;
	margin:0 auto;
	padding:40px 45px 35px;
	width:940px!important;
}

.alart-cont dt {
	margin:0 0 5px;
	font-weight:700;
	font-size:18px;
}

.alart-cont dt ~ dt{
    margin-top: 30px;
}

.alart-cont dd {
	font-weight:700;
	font-size:14px;
	line-height:1.8;
    padding-left: 1em;
    text-indent: -1em;
}

@media screen and (max-width: 768px) {
	.alart {
		margin:0 auto;
		padding:0;
	}

	.alart .wrapper {
		padding:15px 12px 18px;
		width:100%!important;
	}

	.alart-cont dt {
		margin:0 0 3px;
		font-size:11px;
	}

	.alart-cont dd {
		font-size:9px;
	}

	.alart-cont dt ~ dt {
        margin-top: 15px;
	}
}