<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "utf-8";
/* CSS Document */

	/* RESET */
	body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, label, fieldset, input, textarea, p, blockquote, pre, table th, td,button, address {
	padding: 0;
	margin: 0;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	line-height: 1.6;
	text-decoration: none;
	font-size: 14px;
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	word-wrap: break-word;
	color: #000000;
	}
	.fin {
        text-align: right;
        font-size: 14px;
        color: #ffffff;
        font-weight: bold;
        background: #909090;
        padding: 6px 15px;
        text-align: center
    }
	* {
		box-sizing: border-box
	}
	/* COMMON */#schedule .time
	.container {
		margin: 0 auto;
	}
	.overflow_hidden {
		overflow: hidden
	}
	.right {
		text-align: right
	}
	.center{
		text-align: center
	}
	.vertical_middle {
		vertical-align: middle
	}
	.mincho {
		font-family: 'YuMincho', '游明朝',"Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	}
	.divider {
		border-bottom: #e9dec9 dotted 2px;
		margin:50px 0
	}
	.cap {
		text-align: right;
		font-size: 12px;
		color: #776959;
	}
	.font-space {
		font-feature-settings: "palt";
	}
	.font-space:not(:target)  /* IE9 */ {
		font-size: 12px\9;
		letter-spacing: -1px\9;
    }
    .warn {
        color: #ff0000; 
        font-weight: bold;
    }
@media all and (-ms-high-contrast: none) /* IE10以降 */ {
	.font-space:not(:target) {
		font-size:12px;
		letter-spacing: -1px
	}
}
	h1 a img,
	a img {
		border:0px
	}
	a:focus, *:focus { outline:none; }
	a:link,
	a:visited {
		color: #9d5e28;
		text-decoration: underline;
	}
	a:hover,
	a:active {
		color: #c99160;
		text-decoration: none;
	}
	#special .resp-accordion a:link,
	#special .resp-accordion a:visited,
	#special .resp-accordion a:hover,
	#special .resp-accordion a:active {
		color: #ffffff;
	}
	#top .info a:link,
	#top .info a:visited {
		text-decoration: underline;
	}
	#top .info a:link,
	#top .info a:visited,
	#top .news a:link,
	#top .news a:visited,
	#top .news a dd:link,
	#top .news a dd:visited {
		color: #cccccc;
	}
	#top .info a:hover,
	#top .info a:active,
	#top .news a:hover,
	#top .news a:active,
	#top .news a dd:hover,
	#top .news a dd:active {
		color: #ffffff;
		text-decoration: none;
	}
	table {
		border-collapse: collapse;
		width: 100%;
		border: #727272 solid 1px;
		margin: 30px 0;
		table-layout: fixed;
	}
	table th,
	table td{
		color: #000000;
		vertical-align: top;
		text-align: left;
		padding: 10px;
		background: #f1edeb;
        border: #727272 solid 1px;
	}
	table th {
		font-weight: normal;
		background: #000000;
	}
	table.table_02 th {
		font-weight: normal
	}
	.v-middle {
		vertical-align: middle;
	}
	.sttl {
		color: #6e5992
	}
	.fc_red {
		color: #d24747
	}
	.fc_blue {
		color:#3aa9bd
	}
	.fc_pink {
		color:#c54d9f
	}
    .fc_navy {
		color:#5c3abd
	}
	.fc_green {
		color:#71ca73
	}
    .fc_lgreen {
        color: #57da7c
    }
	.fc_gold {
		color:#d7b11a
	}
    .fc_orange {
        color: #efae24
    }
    .icon_reserved {
        background: #26b264;
        font-size: 10px;
        color: #FFFFFF;
        padding: 2px 3px;
        border-radius: 5px;
    }
	
	#page-top {
		position: fixed;
		bottom: 40px;
		right: 40px;
		cursor: pointer;
        z-index: 10
	}
    .unit {
        overflow: hidden;
    }
    p.btn {
        margin-top: 10px !important;
    }
	.btn {
		background:#e54613;
        color: #FFFFFF;
        padding: 11px;
        text-align: center;
	}
    .btn a {
        text-decoration: none;
        color: #FFFFFF;
        display: block;
        padding: 11px;
        margin: -11px;
	}
    .btn a:hover {
        color: #FFFFFF;
    }

	.ticket {
		width: 400px;
        margin: 0 auto;
        font-size: 16px;
	}

	.btn:hover,
	.bnr:hover {
		opacity: 0.6;
	}
	* html #page-top {
		text-align: right;
	}
	.btn_rwd {
		font-weight: bold;
		font-size: 16px;
		text-align: center;
		color: #540001;
		text-decoration: none;
		border: 3px solid #ffffff;
		background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #E0E0E0), color-stop(0.00, #ffffff));
		background: -webkit-linear-gradient(#ffffff, #E0E0E0);
		background: -moz-linear-gradient(#ffffff, #E0E0E0);
		background: -o-linear-gradient(#ffffff, #E0E0E0);
		background: -ms-linear-gradient(#ffffff, #E0E0E0);
		background: linear-gradient(#ffffff, #E0E0E0);
		padding: 15px 10px
	}
	.btn_rwd a {
		display: block;
		color: #540001;
		text-decoration: none;
		padding: 15px 10px;
		margin: -15px -10px
	}
	.wing {
		font-family: 'YuMincho', '游明朝',"Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
		height: 89px;
	}
	.wing:before {
		content: "";
		background: url(../../images/common/wing_before.png) no-repeat;
		display: inline-block;
	}
	.wing:after {
		content: "";
		background: url(../../images/common/wing_after.png) no-repeat;
		display: inline-block;
	}
	/* HEADER */
    header {
        background: #000000;
    }
	header .header-inner {
		font-size: 0;
		padding: 10px 0 5px 0;
	}
	header .header-inner h1 {
		font-size: 0
	}
	header .container {
		position: relative
	}
	header .container .sns {
		position: absolute;
		top: 10px;
		right: 0
	}
	header .container .sns li {
		display: inline-block;
		list-style: none;
        vertical-align: top;
	}
	/* Global navigation */
	nav .nav-inner {
		text-align: center;
		font-size: 0;
		list-style: none;
	}
	
	/* FOOTER */
	footer {
		background: #282828;
        color: #FFFFFF
	}
	footer p {
		color: #ffffff;
        font-size: 12px
	}
	/* MAIN */
	#top {
        background: #000000;
        color: #FFFFFF;
	}
	#top .main_image li {
		position: absolute;
		list-style: none
	}
    #top li {
        color: #FFFFFF;
    }
	.main #intro {
		background: url("../../images/common/bg_intro.gif") repeat top center #f0f0f0;
		overflow: hidden
	}
    .main #special {
		background: url("../../images/common/bg_intro.gif") repeat top center #f0f0f0;
		overflow: hidden
	}
    .main #cast {
        background: #ebe2df;
    }
    .main #ticket {
        background: #e5d3cd;
    }
    .main #schedule {
        background: #ebe2df;
    }
    .main #access {
        background: #000000;
    }
    .main footer {
        background: #282828;
    }
	.main #top,
	.main #cast,
	.main #staff,
    .main #ticket,
    .main #schedule,
    .main #access,
	.main #special {
		overflow: hidden
	}
	.main article h1 span {
		display: none
	}
	.main article h2.sttl {
        color: #000000;
		font-weight: bold;
		text-align: center
	}
    .main #cast article h2.sttl span,
    .main #ticket article h2.sttl span,
    .main #schedule article h2.sttl span {
        display: none
    }
	.main article h3 {
		text-align: center;
		font-weight: normal;
        color: #FFFFFF;
        background: #000000;
	}
    .top_info {
        background: #efebe5;
        position: relative;
    }
    .top_info article:before {
        content: "";
        position: absolute;
        background: url("../../images/sp/common/warn.gif") no-repeat;
    }
    .top_info article {
        padding: 20px !important;
        margin: 0 auto !important;
    }
    .top_info a {
        color: #0d0d0d;
        font-size: 16px;
    }
	.top .info ul,
	.top .news ul {
		overflow-y: scroll;
	}
	.top .info ul li {
		position: relative;
		padding-left: 20px;
		list-style: none;
	}
	.top .info ul li:before {
		content: "◆ ";
		position: absolute;
		left: 0;
		color: #df0101
	}
	.top .news h3 {
		display: none
	}

	.top .news dt {
		font-weight: bold;
		color: #df0101
	}
	.top .news a {
		display: block;
		text-decoration: none;
        color: #FFFFFF
	}
	.top .news a dd {
		margin-bottom: 5px;
		line-height: 1.5;
		text-decoration: underline;
		color: #FFFFFF
	}
	.top .news dt span {
		background: #F10052;
		border-radius: 2px;
		padding: 0 3px;
		margin-left: 5px;
		color: #ffffff;
		font-size: 10px;
		font-weight: normal;
		text-decoration: none;
	}
    .top .bnr_area {
        padding-bottom: 10px;
    }
    .top .bnr_area li {
        margin-bottom: 10px;
        list-style: none;
    }
    .top .bnr_area a {
        line-height: 0;
    }
    
	/*INTRO*/
	#intro p {
		font-size: 16px;
		}
	#intro p.catch {
		font-size: 30px;
		font-weight: bold;
		text-align: center;
        padding-top: 0;
        line-height: 1.6;
        color: #a9412e;
        font-family: 'YuMincho', '游明朝',"Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	}
	#intro h3:first-child {
		margin-top: 0
	}
	#intro dl.character dt p{
		font-weight: bold;
	}
	#intro dl.character dt p,
	#intro dl.character dd p {
		line-height: 1.8em;
	}
    #intro .incatch span {
        display: none;
    }
    #intro .box_intro {
        background:rgba(255,255,255,0.5);
    }
    /* CAST */
    #cast .btn_cast {
        background: #D8D8D8;
        color: #646464;
        border-radius: 10px;
    }
    #cast .btn_cast a {
        background: #937fa4;
        color: #FFFFFF;
        border-radius: 10px;
        display: block;
        text-decoration: none;
    }
    #cast .name span {
        font-weight: bold;
    }
    #cast .box_cast {
        background: #FFFFFF;
    }
	/* STAFF */
	#staff .box_staff {
		background: rgba(255, 255, 255, 0.4);
		border-radius: 10px;
		position: relative;
		
	}

	/* TICKET */
	#ticket table {
		/*margin: 20px 0*/
		margin:0
	}
    #ticket .box_ticket {
        background: #FFFFFF;
    }
    #ticket .box_ticket2 {
        border: 1px solid #e54613
    }
	#ticket table .tel_sp,
	#ticket table .tel_use {
		color: #FFFFFF;
		font-size: 14px;
		padding: 2px 4px;
		margin-right: 5px;
		vertical-align: middle;
		border-radius: 4px
	}
	#ticket table .tel_sp {
		background: #d35959
	}
	#ticket table .tel_use {
		background: #5276bf
	}
	#ticket .btn_buy {
		text-align: center;
		color: #ffffff;
		background: #ffffff;
		text-decoration: none;
		font-weight:normal;
		padding: 5px 10px;
		margin: 0
	}
	#ticket .btn_buy a{
		color: #ffffff;
		text-decoration: none;
		display: block;
		padding: 5px 10px;
		margin: -5px -10px;
		background: url(../../images/common/btn_bg.jpg) repeat;
	}
	#ticket .btn_buy a:hover{
		opacity: 0.6
	}
	#ticket table th,
	#ticket table td {
		padding:10px
	}
	#ticket article .purchase_ticket h4 {
		font-size: 16px;
    	font-weight: bold;
	}

	/* スケジュール */
	#schedule .schedule th,
	#schedule .schedule td {
		text-align: center
	}
	.sun {
		background: #f89cb6;
		color: #000000
	}
	.sat {
		background: #96c6ee;
		color: #000000
	}
	.none {
		background: rgba(255, 255, 255, 0.3);
	}
	#schedule .box_schedule{
		background: rgba(255,255,255,0.3);
		overflow: hidden
	}
	#schedule .box_schedule h3{
		background: #f2dfb7;
		font-size: 20px;
		font-weight: bold;
		width: 100%;
		padding: 15px;
		text-align: left
	}
	#schedule .box_event {
		background: #F7F7F7;
		border: 2px solid #000000;
	}
    #schedule .box_event h3 {
        background: #a17a2f
    }
    #schedule .box_event h5 {
        color: #8a651d
    }
	#schedule .btn_pdf {
		font-weight: bold;
		font-size: 16px;
		text-align: center;
		color: #222222;
		text-decoration: none;
		border: 3px solid #ffffff;
		background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #E0E0E0), color-stop(0.00, #ffffff));
		background: -webkit-linear-gradient(#ffffff, #E0E0E0);
		background: -moz-linear-gradient(#ffffff, #E0E0E0);
		background: -o-linear-gradient(#ffffff, #E0E0E0);
		background: -ms-linear-gradient(#ffffff, #E0E0E0);
		background: linear-gradient(#ffffff, #E0E0E0);
		padding: 15px 10px
	}
	#schedule .btn_pdf a {
		display: block;
		color: #222222;
		text-decoration: none;
		padding: 15px 10px;
		margin: -15px -10px
	}
	#schedule .play_info dt {
		font-weight: bold;
		color:#cc4e26
	}
	#schedule .play_info.senko {
		position: relative;
		z-index: 100;
		background: #908875
	}
	#schedule .play_info.senko:before {
		content: "" ;
		position: absolute ;
		top: 0 ;
		right: 0 ;
		bottom: 0 ;
		left: 0 ;
		border: 1px #b9af97 solid ;
		margin: 5px ;
		display: block ;
		z-index: -1 ;
	}
	#schedule .icon_diamond,
	#schedule .icon_heart,
	#schedule .icon_spade,
	#schedule .icon_clover {
		position: relative;
		width: 16px;
		height: 16px;
		display: inline-block;
	}
	#schedule .icon_diamond:before,
	#schedule .icon_heart:before,
	#schedule .icon_spade:before,
	#schedule .icon_clover:before {
		content: "";
		position: absolute;
		width: 16px;
		height: 16px;
		top: 4px;
		left: 0;
		right: 0;
		margin: auto
	}
	#schedule .icon_diamond:before {
		background: url(../../images/schedule/icon_diamond.png) no-repeat center center;
		background-size: 16px 16px;
	}
	#schedule .icon_heart:before {
		background: url(../../images/schedule/icon_heart.png) no-repeat center center;
		background-size: 16px 16px;
	}
	#schedule .icon_spade:before {
		background: url(../../images/schedule/icon_spade.png) no-repeat center center;
		background-size: 16px 16px;
	}
	#schedule .icon_clover:before {
		background: url(../../images/schedule/icon_clover.png) no-repeat center center;
		background-size: 16px 16px;
	}
    #schedule .sche_info li {
        padding-left: 17px;
        position: relative;
        list-style: none;
        line-height: 1.8
    }
    
    #schedule .sche_reserved:before {
        content: "貸";
        color: #ffffff;
        padding: 0 3px;
        border-radius: 5px;
        font-size: 11px;
        background: #26b264;
        display: inline-block;
        position: absolute;
        top: 0;
        left: 0;
    }
    #schedule .sche_event01:before {
        content: "◆";
        color: #c54d9f;
        position: absolute;
        top: 0;
        left: 0;
    }
    #schedule .sche_event02:before {
        content: "◆";
        color: #3aa9bd;
        position: absolute;
        top: 0;
        left: 0;
    }
    #schedule .sche_event03:before {
        content: "◆";
        color: #efae24;
        position: absolute;
        top: 0;
        left: 0;
    }
    #schedule .sche_event04:before {
        content: "◆";
        color: #5c3abd;
        position: absolute;
        top: 0;
        left: 0;
    }
    #schedule .sche_event05:before {
        content: "●";
        color: #efae24;
        position: absolute;
        top: 0;
        left: 0;
    }
    #schedule .sche_event06:before {
        content: "●";
        color: #57da7c;
        position: absolute;
        top: 0;
        left: 0;
    }
    #schedule .cancel {
        background: #fedcea;
    }
    #schedule table tr.online td {
        background: #e4ddd9;
    }
	/* ムービー */
	#movie .box_movie li {
		list-style: none;
	}
	/* スペシャル */
    #special article h2.sttl {
        border-bottom: 2px solid #000000;
        font-weight: normal;
    }

	#special .stage_pic li img,
    #special .sp_encore_pix li img {
		width: 100%
	}
	#special .stage_pic li,
    #special .sp_encore_pix li {
		list-style: none;
	}
    #special .sp_encore_pix {
        font-size: 0;
    }
	#special .imp {
		color: #b95b5b
	}
	#special .box_select ul {
		text-align: center;
		padding: 10px
	}
	#special .box_select li {
		display: inline-block;
	}
	#special .box_select li a {
		color: #333333
	}
	#special .sp_report p {
		font-size: 16px
	}
    #special .box_sp01 {
        background-color:rgba(255,255,255,0.5);
    }
    #special .box_sp02 {
        background-color:rgba(205,172,161,0.2);
        padding: 20px;
    }
    #special .box_sp02 ul {
        text-align: center;
        font-size: 0;
        margin-top: 10px;
    }
    #special .box_sp02 li {
        display: inline-block;
    }
    #special .box_sp02 li:after {
        content: " ｜ ";
    }
    #special .box_sp02 li:last-child {
        margin-right: 0;
        padding-right: 0;
    }
     #special .box_sp02 li:last-child:after {
         content: "";
     }
    #special .sp_pics_ttl {
        font-size: 18px;
        color: #dd3ec8;
        position: relative;
        text-align: center;
    }
    #special .sp_pics {
        background-image: url("../../images/special/sp_stagepic/bg_line.gif");
        background-repeat: repeat-x;
        background-position: top center;
    }
    #special .sp_pics_photo {
        list-style: none;
        font-size: 0;
    }
    #special .sp_pics_photo li {
        display: inline-block;
        vertical-align: middle;
    }
    #special .sp_pics_photo img {
        max-width: 100%;
        max-height: 100%;
    }
	#special .orange {
		color:#e54613;
		font-weight:bold;
	}
	#special .ticket_encore table th,
	#special .ticket_encore table td,
	#ticket .ticket_encore table th,
	#ticket .ticket_encore table td {
		background:transparent;
		padding:7px;
		border: #727272 solid 1px;
	}
	#special .ticket_encore table th,
	#ticket .ticket_encore table th {
		background-color: #000;
		color:#fff;
	}
	#special .tokuten {
		border:5px solid #000;
	}
	#special .tokuten h4 {
		text-align:center;
	}
	#special .new-icon {
		padding: 3px;
		background-color: #fff;
		margin: 0 0 0 3px;
		color:#e54613;
	}
    #special .spttl {
        color: #949494;
        display: block;
        margin-top: 20px;
    }
	#access dl.description p,
	#access dl.description h4 {
        color: #ffffff
    }

	#access .btn_access {
		font-size: 15px;
		width: 100%;
		background: #e9deca;
		color: #4f3c5c;
		text-align: center;
		font-weight: bold;
		padding: 10px 0;
		position: relative;
		margin-top: 20px;
		font-feature-settings: "palt";
    	letter-spacing: 1px;
	}
	#access .btn_access a {
		color: #4f3c5c;
		text-decoration:none;
		display: block;
		position: relative;
	}
	#access .btn_access:hover {
		opacity: 0.6
	}
	#access .btn_access:before {
	  	content: "";
		position: absolute;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 5px 0 5px 6px;
		border-color: transparent transparent transparent #4f3c5c;
		right: 15px;
		top: 0;
		bottom: 0;
		margin: auto;
	}

/* お知らせ（別枠） */
	#notice {
        /*background: url(../../images/common/bg_01.jpg) repeat #e0d2b8;*/
	}
	#notice p {
		line-height: 2em
	}
	#notice .notice_inner {
		margin: 0 auto;
	}

	#notice .notice_ttl {
		text-align: center;
		font-size: 22px;
	}

	#notice h2 {
		text-align: center;
		margin: 50px 0 30px 0;
		font-size: 30px;
		line-height: 1.4;
		color: #59432b;
		text-align: center;
		font-weight: bold;
	}
	
	
	#notice .close {
		margin-top:50px;
		text-align: center;
        padding-bottom: 100px;
	}
	#notice .close a {
		background: #666 none repeat scroll 0% 0%;
		color: #FFF;
		border-radius: 20px;
		padding: 10px 30px;
		text-decoration:none;
	}
	#notice .close a:hover {
		background: #d05d84 none repeat scroll 0% 0%;
		border-radius: 20px;
		padding: 10px 30px;
	}
	
	#notice .btns li {
        display: block;
        padding: 10px 0;
        background: #7a0d32;
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        border-radius: 4px;
        box-sizing: border-box;
        font-size: 20px;
        text-align: center;
        font-weight: bold;
        margin: 50px auto 100px auto;
        width: 80%;
	
        }
    #notice .btns li:hover {
        opacity: 0.6;
    }
    #notice .btns li a {
        padding: 16px 36px;
        margin: -16px -36px;
        text-decoration: none;
        display: block;
        color: #ffffff
    }
    #notice .btns li a:hover {
        color: #ffffff
    }
    #notice .warn_box {
        border: #ff0000 solid 1px; 
        padding: 10px; 
        margin-bottom: 30px
    }
    #notice .warn_box p {
        color: #ff0000; 
        font-weight: bold; 
        font-size: 16px
    }
	@media screen and (min-width: 641px) {
	/* PC用のスタイル記述 =========================================================================== */
		/* COMMON */

		.bnr_facebook {
			margin-top: 10px !important;
		}
		.fb_iframe_widget {
			line-height: 0.5
		}
		.sp_only {
			display: none
		}
		.container {
			width: 1000px;
			margin: 0 auto;
		}
        .main article h2.sttl {
            padding: 0 100px;
            font-size: 30px;
        }
        h2.sttl span {
            position: relative;
            display: inline-block;
        }
        .main article h3 {
            margin: 40px auto 30px auto;
            padding: 10px;
            font-size: 24px;
            line-height:1.3em
        }
        .main article h3 span {
            font-size: 18px
        }
		article.top {
			width: 1000px;
            margin: 0 auto!important;
		}
		.pc_center {
			text-align: center
		}
		.main {
			min-width: 1000px
		}
		.float_left {
			float: left;
			margin-right: 30px;
			margin-top: 0 !important
		}
		.float_right {
			float: right;
			margin-left: 30px;
			margin-top: 0 !important
		}
		.fs_small {
			font-size: 14px
		}
		.fs_medium {
			font-size: 18px
		}
		.fs_large {
			font-size: 25px
		}

		.wing:before {
			position: absolute;
			top: 0;
			bottom: 0;
			margin: auto;
			width: 89px;
			height: 26px;
			left: -110px;
		}
		.wing:after {
			position: absolute;
			top: 0;
			bottom: 0;
			margin: auto;
			width: 89px;
			height: 26px;
			right: -110px
		}
		
		dl.description {
			display: flex
		}
        dl.description:nth-of-type(2) {
            margin-top: 60px;
            padding-top: 65px;
            border-top: 1px dashed #FFFFFF;
        }
		.main dl.description h3 {
			width: auto !important;
		}
		dl.description dt img,
		dl.description dt iframe {
			margin-right: 60px;
		}
		dl.description h3 {
			margin: 0 0 30px 0 !important;
			font-size: 24px;
			text-align: left;
			line-height: 1.2;
		}
		dl.description h4 {
			font-size: 18px;
			margin-top: 30px
		}
		dl.description h4 + p {
			margin-top: 10px
		}
		dl.description p {
			font-size: 15px !important;
		}
		dl.description dt {
			float:left;
		}
		dl.description dd {
			overflow: hidden
		}

		#page-top {
			bottom: 10px;
			right: 0px;
		}
		#page-top {
			background-color:rgba(229,70,19,0.8);
    		color: #ffffff;
			font-size: 11px;
			padding: 20px 10px 10px 10px;
		}
		#page-top:before {
			content: "";
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 0 6px 8px 6px;
			border-color: transparent transparent #ffffff;
			position: absolute;
			bottom: 30px;
			left: 0;
			right: 0;
			margin: auto
		}
		#page-top img {
			display: none
		}
        .main .banner-area-top p {
            margin-top: 0;
        }
		/* HEADER */
		header {
			position: fixed;
			width: 100%;
			z-index: 9999;
			min-width: 1000px;
			top: 0;
            height: 168px;
		}
		header .container {
			text-align: left;
		}
		header .header-inner h1 {
			display: inline-block;
		}
		header .header-info {
			position: relative;
		}
		header .header-info img {
			position: absolute;
			top: 10px;
			left: 225px;
		}
		header .btn-eng {
			position: absolute;
			top: 32px;
			right: 0;
		}
		/* NAV */
        nav {
            background:#e54613;
        }
		nav li {
			display: inline-block;
			height: 64px;
		}
		nav li a {
			display: block;
			width: 100%;
			height: 100%;
		}
		nav li span {
			display: none
		}
		nav li.mnu_intro {
			background: url(../../images/common/mnu_intro.gif) no-repeat;
			width: 179px;
		}
		nav li.mnu_cast {
			background: url(../../images/common/mnu_cast.gif) no-repeat;
			width: 198px;
		}
		nav li.mnu_ticket {
			background: url(../../images/common/mnu_ticket.gif) no-repeat;
			width: 110px;
		}
		nav li.mnu_schedule {
			background: url(../../images/common/mnu_schedule.gif) no-repeat;
			width: 147px;
		}
		nav li.mnu_special {
			background: url(../../images/common/mnu_special.gif) no-repeat;
			width: 129px;
		}
		nav li.mnu_media {
			background: url(../../images/common/mnu_media.gif) no-repeat;
			width: 126px;
		}
		nav li.mnu_access {
			background: url(../../images/common/mnu_access.gif) no-repeat;
			width: 111px;
		}
		nav li.mnu_intro:hover {
			background: url(../../images/common/mnu_intro_o.gif) no-repeat
		}
		nav li.mnu_cast:hover {
			background: url(../../images/common/mnu_cast_o.gif) no-repeat
		}
		nav li.mnu_ticket:hover {
			background: url(../../images/common/mnu_ticket_o.gif) no-repeat
		}
		nav li.mnu_schedule:hover {
			background: url(../../images/common/mnu_schedule_o.gif) no-repeat
		}
		nav li.mnu_special:hover {
			background: url(../../images/common/mnu_special_o.gif) no-repeat
		}
		nav li.mnu_media:hover {
			background: url(../../images/common/mnu_media_o.gif) no-repeat
		}
		nav li.mnu_access:hover {
			background: url(../../images/common/mnu_access_o.gif) no-repeat
		}

		/* FOOTER */
		footer {
			min-width: 1000px;
		}
		.footer-inner.container {
			position:relative;
			padding:30px 0;
			min-height: 300px
		}
		footer .nav-footer {
			list-style: none;
			vertical-align: top;
			overflow: hidden;
		}
		footer .sponsor {
			position: absolute;
			right: 0;
			text-align: right;
			top: 30px;
		}
		footer .sponsor dl {
			width: 320px;
			vertical-align: top;
			margin-left: 390px
		}
		footer .sponsor dt {
			display: inline-block;
			vertical-align: top;
			width: 28%;
			font-size: 13px;
			text-align: right
		}
		footer .sponsor dd {
			display: inline-block;
			width: 70%;
			font-size: 13px;
			text-align: left
		}
		footer .nav-footer li {
			margin: 0 3px 0 0;
			display: inline-block;
			font-size: 12px
		}
		footer .nav-footer.last-area {
			position:absolute; right:0;
		}
		footer .nav-footer .banner-area {
			position:absolute; left:0;
		}
		footer .nav-footer.banner-area li img {
			width:168px;
		}
		/* MAIN */
        .top_info article {
            width: 1000px;
            padding-left: 45px !important;
            position: relative;
        }
        .top_info article:before {
            background-size: 30px 30px;
            width: 30px;
            height: 30px;
            display: block;
            top: 0;
            bottom: 0;
            left: 0;
            margin: auto;
        }
		#top {
			padding: 40px 0 70px !important;
		}
		#top .main_image {
			width: 599px
		}
		#top .main_image .main_image_01 {
			background: url(../../images/top/img_main_01.jpg) no-repeat;
			background-size: 100% auto;
			height: 785px;
			width: 560px;
		}
		#top {
			height: 980px;
		}
		#top .side {
			overflow: hidden;
			width: 400px;
			float: right
		}
		.main article {
			margin: 100px auto;
			width: 1000px
		}
		.main article h1 {
			margin-bottom: 50px;
			padding-bottom: 0;
			margin-top: 80px
		}
		.main article h2 {
			margin: 60px 0 40px 0;
		}
		.main p {
			margin-top: 20px;
		}

		.top .movie {
			line-height: 0;
			margin-bottom: 20px
		}
		.top .info{
			margin-bottom: 20px;
		}
        .top .news{
			margin-bottom: 20px;
		}
		.top .info p {
			background: url(../../images/top/ttl_info.gif) no-repeat;
			width: 400px;
			height: 33px;
			margin-top: 0
		}
		.top .info ul,
		.top .news ul {
			padding: 10px 20px;
		}
		.top .info ul {
			height: 100px;
		}
		.top .info ul li {
			line-height: 1.6
		}
		.top .news ul {
			height: 80px;
		}
		.top .news .news dt {
			line-height: 1.4
		}
		.top .info p span,
		.top .news p span {
			display: none
		}
		.top .news p {
			background: url(../../images/top/ttl_news.gif) no-repeat;
			width: 400px;
			height: 33px;
			margin-top: 0
		}
		.top .bnr {
			margin-top: 10px
		}
		/*INTRO*/
		#intro p {
			font-size: 16px;
			margin-top: 30px;
			line-height: 2;
            letter-spacing: 0.05em;
		}
		#intro .inner {
			width: 1000px;
			margin: 0 auto
		}
        #intro .inner h3 + p {
            padding-top: 0;
        }
        #intro .box_intro {
            padding: 50px 40px;
            margin-top: 130px;
        }
        #intro p.catch_01 {
            background: url("../../images/intro/catch_01.png") center top no-repeat;
            height: 517px;
            margin-bottom: 80px;
        }
        #intro p.catch_02 {
            background: url("../../images/intro/catch_02.png") center top no-repeat;
            height: 25px;
            margin: 50px auto 80px;
        }
        #intro p.catch_03 {
            background: url("../../images/intro/catch_03.png") center top no-repeat;
            height: 63px;
            margin-bottom:30px;
            margin-top: 0;
        }
        #intro p.catch_04 {
            background: url("../../images/intro/catch_04.png") center top no-repeat;
            height: 20px;
            margin: 30px auto 40px;
        }
        #intro p.catch_05 {
            background: url("../../images/intro/catch_05.png") center top no-repeat;
            height: 105px;
            margin: 30px auto 40px;
        }
        #intro .intro_bnrs {
            font-size: 0;
            margin-top: 40px;
        }
        #intro .intro_bnrs li {
            display: inline-block;
            list-style: none;
        }
        #intro .intro_bnrs li:first-child {
            margin-right: 10px;
        }
        #intro .intro_bnrs img {
            height: 81px;
        }
        /*STORY*/
        .main #story article {
            margin-bottom: 210px;
        }
        .box_story {
            background: url("../../images/story/bg_boxStory_middle.png") repeat-y center top;
            position: relative;
            margin-top: 122px;
            padding: 0 80px;
        }
        .box_story:before {
            content: "";
            background: url("../../images/story/bg_boxStory_upper.png") no-repeat center top;
            height: 80px;
            width: 1000px;
            position: absolute;
            top: -80px;
            left: 0;
        }
        .box_story:after {
            content: "";
            background: url("../../images/story/bg_boxStory_bottom.png") no-repeat center top;
            height: 80px;
            width: 1000px;
            position: absolute;
            bottom: -80px;
            left: 0;
        }
		#story p {
			font-size: 18px;
			line-height: 2;
            color: #2f3035
		}
		#story .inner {
			width: 1000px;
			margin: 0 auto
		}
        #story .inner h3 + p {
            padding-top: 0;
        }
        /* CAST */
        #cast h1 {
			background: url("../../images/ttl_cast.png") no-repeat center top;
			display: block;
			height: 112px;
			margin-bottom: 50px
		}
        #cast h2.cast {
			background: url("../../images/sttl_cast.png") no-repeat center top;
			display: block;
			height: 28px;
			margin: 40px auto;
		}
        #cast h2.staff {
			background: url("../../images/sttl_staff.png") no-repeat center top;
			display: block;
			height: 28px;
			margin: 40px auto;
		}
        #cast h4 {
            font-size: 22px;
            text-align: center;
            margin: 30px auto;
        }
        #cast .cast {
            text-align: center;
        }
        #cast .cast p {
            margin-top: 5px;
        }
        #cast .cast li {
            display: inline-block;
            margin-bottom: 40px;
            vertical-align: top;
        }
        #cast .cast li img {
            width: 100%;
        }
        #cast .name {
            font-size: 18px;
        }
        #cast .cast.col2 li {
            display: block;
            width: 312px;
            margin: 0 auto 60px auto;
            padding-bottom: 20px;
        }
        #cast .cast.col3 li {
            width: 280px;
            margin-right: 50px;
            padding-bottom: 20px;
        }
        #cast .cast.col3 li:nth-child(3n) {
            margin-right: 0;
        }
        #cast .cast.col4 li {
            width: 200px;
            margin-right: 40px;
            padding-bottom: 20px;
        }
        #cast .cast.col4 li:nth-child(4n) {
            margin-right: 0;
        }
        #cast .cast.col7 {
            margin-bottom: -60px;
        }
        #cast .cast.col7 li {
            width: 135px;
            margin-left: 2px;
            margin-right: 2px;
        }
        #cast .cast.col7 p.name {
             font-size: 12px;
         }
        #cast .btn_cast {
            padding: 8px 10px;
        }
        #cast .btn_cast a {
            padding: 8px 10px;
            margin: -8px -10px;
        }
        #cast .btn_cast.btn_comment {
            margin-top: 10px !important;
        }
        #cast .box_cast {
            padding: 30px;
        }
        .main #cast article .box_cast h3:first-of-type {
            margin-top: 0;
        }
		/*STAFF*/
        .main article#staff {
            margin-top: -50px;
        }
		#staff h3.ttl_staff {
			margin-bottom: -50px;
		}
		#staff .box_staff {
			padding: 60px 40px;
			margin-top: 70px
		}
		#staff .box_staff h3 span.staff01 {
			font-size:18px;
		}
		#staff .box_staff h3 span.staff02 {
			font-size:14px;
		}
		
		#staff dl.staff_list {
			display: block;
			overflow: hidden;
			width: 70%;
			margin: 80px auto 0 auto;
		}
		#staff dl.staff_list span {
			background: #ebe2df;
			padding: 0 10px
		}
		#staff dl.staff_list dt,
		#staff dl.staff_list dd {
			font-size: 15px;
			line-height: 2.2
		}
		#staff dl.staff_list dt {
			float: left;
		}
		#staff dl.staff_list dd {
			text-align: right;
			display: block;
			background: url(../../images/common/line.gif) center center repeat-x;
		}
		
		/* SCHEDULE */
		#schedule h1 {
			background: url(../../images/ttl_schedule.png) no-repeat center top;
			display: block;
			height: 112px;
			margin-bottom: 50px
		}
        #schedule h2 {
			background: url("../../images/sttl_nissei.png") no-repeat center top;
			display: block;
			height: 28px;
			margin: 40px auto;
		}
        #schedule h4 {
            font-size: 22px;
            text-align: center;
            margin: 30px auto;
        }
		#schedule h5 {
			font-size: 18px;
			margin-bottom: 10px
		}
		#schedule .box_event {
			padding: 0 30px;
            margin-top: 50px;
		}
		#schedule .box_event section {
			margin: 50px 0
		}
        #schedule .box_event h5 {
            margin-top: 20px;
        }
        #schedule .box_event h5 ~ p {
            margin-top: 10px;
        }
		#schedule .btn_pdf {
			width: 450px;
		}
        #schedule table.table_02 {
            width: 600px;
            margin: 30px auto;
        }
        #schedule table.table_02 td {
            vertical-align: middle;
        }
        #schedule .time {
            margin: 2px;
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 40px
        }
        #schedule .icons {
            display: inline-block
        }
        #schedule .icons span {
            margin-left: 2px;
        }
        
        /* TICKET */
		#ticket h1 {
			background: url(../../images/ttl_ticket.png) no-repeat center top;
			display: block;
			height: 112px;
			margin-bottom: 50px
		}
        #ticket .box_ticket {
            padding: 30px;
            margin-top: 50px;
        }
        #ticket .box_ticket2 {
            padding: 20px;
            font-size: 16px;
        }
        .main #ticket article .box_ticket h3:first-of-type {
            margin-top: 0;
        }
		#ticket table strong {
			font-size: 20px
		}
		#ticket .play_info dt {
			width: 150px;
			float: left;
			font-size: 14px;
			line-height: 2;
			padding-top: 10px;
			font-weight: bold;
            color: #cc4e26;
		}
		#ticket .play_info dd {
			padding-left: 150px;
			font-size: 14px;
			line-height: 2;
			padding-top: 10px
		}
		
		#ticket .bnr_ticket {
			margin: 50px auto;
			text-align: center
		}
		/*　SPECIAL: MOVIE */
		#special .box_movie {
			text-align: center
		}
		#special .box_movie li {
			text-align: center;
			display: inline-block;
			margin-bottom: 20px
		}
		#special .box_movie .movie01 li {
			width: 100%;
		}
		#special .box_movie .movie02 li {
			width: 49%;
		}
		#special .box_movie h3 {
			font-size: 20px;
		}
		/* SPECIAL */
		#special h1 {
			background: url(../../images/ttl_special.png) no-repeat center top;
			display: block;
			height: 112px;
			margin-bottom: 50px
		}
        #special article h2.sttl {
            font-size: 30px;
            padding-bottom: 30px;
        }
		#special .box_sp01 h3 {
			font-size: 30px;
            font-weight: bold;
            text-align: left;
            background: none;
            color: #000000;
            position: relative;
            padding: 0 0 5px 25px;
		}
        #special .box_sp01 h3 span {
			font-size: 18px;
            font-weight: normal;
		}
        #special .box_sp01 h3:before {
            content: "";
            position: absolute;
            width: 4px;
            height: auto;
            background: #000000;
            left: 0;
            top: 0;
            bottom: 0;
            margin: auto;
        }
		#special .box_special,
		#schedule .box_schedule {
			margin-bottom: 40px
		}
		#special section,
		#schedule .box_schedule section {
			margin: 50px 0;
			overflow: hidden
		}
		#special section h3:first-child, #schedule .box_schedule section h3:first-child {
			margin-top: 0
		}
		#special .stage_pic li {
			display: inline-block;
			width: 284px;
			margin: 10px
		}
        #special .stage_pic li img {
            cursor: pointer;
        }
        #special .sp_encore_pix li {
            display: inline-block;
            margin: 1px;
            width: 228px;
        }
		#special .box_select {
			margin: 30px 0
		}
		#special .box_select li:before {
			content: "|";
			color:#828282;
			padding: 0 7px 0 2px
		}
		#special .box_select li:first-child:before {
			content: none;
			padding: 0
		}
        #special .box_sp01 {
            padding: 40px;
            margin-top: 50px;
        }
        #special .box_sp01 p {
            line-height: 1.8;
            font-size: 15px;
        }
		#special .ticket_encore dl dt {
			font-size: 22px;
			font-weight: bold;
			margin-top:30px;
		}
		#special .ticket_encore table {
			margin:0;
		}
		#special .tokuten {
			padding:20px;
			margin-top:30px;
		}
		#special .tokuten h4 {
			font-size:22px;
			font-weight:bold;
		}
		#special .tokuten span {
			font-size:20px;
			font-weight:bold;
		}
        #special .sp_pics_photo li {
            width: 226px;
            margin: 2px;
        }
        #special .sp_pics_ttl {
            margin: 60px auto 40px auto;
        }
        #special .sp_pics_ttl:before {
            content: "";
            background: url("../../images/special/sp_stagepic/icon_camera.gif") no-repeat;
            width: 46px;
            height: 40px;
            position: absolute;
            margin: auto;
            left: 0;
            right: 0;
            top:-54px;
        }
        
		/* ACCESS */
		#access h1 {
			background: url(../../images/ttl_access.png) no-repeat center top;
			display: block;
			height: 112px;
			margin-bottom: 50px
		}
        #access h3 {
            padding-left: 0;
        }
		#access p {
			font-size: 14px
		}
		#access iframe {
			width: 600px;
			min-height: 400px;
		}

		#access dl.description h3 {
			font-size: 25px;
            margin-bottom: 15px !important;
			
		}
		#access dl.description h4 {
			margin-top: 15px;
            font-size: 18px;
            font-weight: bold;
		}
        #access dl.description h4 + p {
            margin-top: 0;
            line-height: 2
        }
        /* SPECIAL */
		#special h1 {
			background: url("../../images/ttl_special.png") no-repeat center top;
			display: block;
			height: 112px;
			margin-bottom: 50px
		}
        /* お知らせ（別枠） */
        #notice .notice_inner {
            width: 1000px;
            padding: 100px 0;
        }
        #notice table th,
        #notice table td {
            padding: 10px;
        }
        #notice .warn_box p {
            margin-top: 0
        }
}
	
	@media screen and (max-width: 640px) {
	/* スマートフォン用のスタイル記述 =========================================================================== */
		/* COMMON */
		body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, label, fieldset, input, textarea, p, blockquote, pre, table th, td,button, address {
			font-size: 14px
		}
		body {
			background: #31273a;
			background-size: 100% auto, 100% auto;
			background-color: #fcf6ef
		}
		.bnr_facebook {
			margin: 10px !important
		}
        .btn {
            padding: 10px;
        }
        .btn a {
            padding: 10px;
            margin: -10px;
        }
		h2.sttl {
			position: relative;
			margin: 20px 0;
			/*padding-top: 11%;*/
		}
		h2.sttl span {
            position: relative;
            display: inline-block;
        }
		#special h2.ttl {
			display: none
		}
		/*h2.ttl:after {
			content: "";
			background: url(../../images/sp/common/bg_h2.png) no-repeat center center;
			background-size: 100% auto;
			width: 100%;
			padding-top: 11%;
			position: absolute;
			left: 0;
			top: 0;
			z-index: 0
		}
		h2.ttl {
			padding:0 !important
		}*/
		h2.ttl span {
			font-weight: bold;
		}
		
		.fb_iframe_widget {
			line-height: 0.5
		}
		header .container .sns li {
			vertical-align: top
		}
		.fb_iframe_widget_fluid {
			top: -5px
		}
		.pc_only {
			display: none
		}
		.container {
			padding: 15px
		}
		.img {
			width: 100%
		}
		.fs_small {
			font-size: 10px
		}
		.scroll {
			overflow:auto;
			white-space:nowrap;
			display:block;
			/*margin: 30px auto*/
		}
		.scroll table:first-of-type {
			margin-top: 0
		}
		.scroll table:last-of-type {
			margin-bottom: 0
		}

		.ticket {
			width: 100%;
			/*background: url(../../images/common/btn_bg.jpg) repeat;*/
			padding: 10px 0;
			margin-top:20px;
			color: #FFFFFF;
			font-size: 15px;
			letter-spacing: 2px;
		}
		.ticket a {
			color: #FFFFFF;
			text-decoration:none;
			display: block;
			position: relative;
		}
/*		.ticket a:before {
			content: "";
			position: absolute;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 5px 0 5px 6px;
			border-color: transparent transparent transparent #ffffff;
			right: 15px;
			top: 0;
			bottom:0;
			margin: auto
		}*/
		#page-top {
			bottom: 10px;
			right: 0px;
		}
		#page-top {
			background-color:rgba(229,70,19,0.8);
    		color: #ffffff;
			font-size: 11px;
			padding: 20px 10px 10px 10px;
		}
		#page-top:before {
			content: "";
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 0 6px 8px 6px;
			border-color: transparent transparent #ffffff;
			position: absolute;
			bottom: 30px;
			left: 0;
			right: 0;
			margin: auto
		}
		#page-top img {
			display: none
		}
		.main #intro {
			background: url(../../images/common/bg_intro.gif) repeat top center #f0f0f0;
            background-size: 100% auto;
			overflow: hidden
		}
		.main article h3.wing{
			font-size: 18px
		}
		.wing:before {
			background-size: 70px 21px;
			width: 70px;
			height: 21px;
			margin-right: 5px;
			vertical-align: sub;
		}
		.wing:after {
			background-size: 70px 21px;
			width: 70px;
			height: 21px;
			margin-left: 5px;
			vertical-align: sub;
		}
        dl.description:nth-of-type(2) {
            margin-top: 20px;
            padding-top: 30px;
            border-top: 1px dashed #FFFFFF;
        }
		dl.description dt {
			text-align: center;
			line-height: 1
		}
		dl.description dt img {
			max-width: 100%;
			height: auto
		}
		dl.description dd {
			overflow: hidden
		}
		dl.description dd h3 {
			margin: 15px 0 10px 0;
			text-align: left;
			font-size: 21px !important
		}
		.caption {
			font-size: 12px !important
		}
		dl.description h4 {
			font-weight: normal;
			font-size: 16px;
			margin-top: 15px
		}
		dl.description h4 + p {
			margin-top: 5px
		}
		/* HEADER */
		header .header-inner {
			padding:8px 0 8px 5px;
			background: #000000;
            background-size: 100% auto;
		}
        header .header-inner h1 {
            padding-left: 10px;
        }
		header .header-inner h1 img {
			height: 50px;
		}
		header .header-info span {
			position: absolute;
			display: block;
			top:66px;
			left: 0;
			width: 100%;
			text-align: center;
			line-height: 1;
			background: #f5f4f1
			/*border-bottom: 1px solid #59493f*/
		}
		header .header-info img.h-info {
			width: 100%
		}
		nav {
			position: fixed;
			top:0;
			right:0;
			z-index: 9999
		}
		nav #menu {
			text-align: right;
			margin-right: -10px
		}
		nav .nav-inner {
			display: none;
			position: fixed;
			right: 0;
			width: 100%;
			background: #e54613;
			/*overflow:scroll;
			height: 100%;*/
		}
		nav .nav-inner.container {
			padding: 0;
		}
		nav p.mnu_nav {
			position: absolute;
			top: 10px;
			right: 0;
			cursor: pointer
		}
		nav li {
			    border-top: 1px solid #f45927;
				border-bottom: 1px solid #d43f10;
				padding: 10px;
				color: #ea8666;
				font-size: 15px;
		}
		nav li a {
			display: block;
			padding: 10px;
			margin: -10px;
			color: #ffffff !important;
			text-decoration: none !important
		}
		nav li.mnu_eng a {
			background: #a482c2;
    		color: #ffffff !important;
			margin: -2px
		}
		header .container .sns {
			font-size: 0;
			position: relative
		}
		nav .sns li {
			display: inline-block;
			list-style: none;
			width: 33.3%;
			font-size: 14px;
			border: none;
			padding: 0;
			margin-bottom: 10px
		}
		nav li.nav_close {
			background: #000000;
    		color: #FFFFFF;
			border-bottom: none
		}
		/* FOOTER */
		.footer-inner.container {
			padding: 0;
		}
		footer .nav-footer {
			list-style: none;
			width:100%;
			vertical-align: top;
			overflow: hidden;
		}
		footer .nav-footer li {
			display: inline-block;
		}
		footer .sponsor {
			padding: 10px;
			text-align: right
		}
		footer .sponsor dt,
		footer .sponsor dd {
			display: inline-block;
			vertical-align: top;
			font-size: 12px
		}
		footer .sponsor dt {
			text-align: right;
			width: 25%
		}
		footer .sponsor dd {
			width: 70%
		}
		footer .nav-footer.last-area {
			padding: 8% 5% 8% 10%;
			text-align:left;
		}
		footer .nav-footer.banner-area {
			padding:5%;
		}
		footer .nav-footer.banner-area li {
			display:inline-block;
			width:49%;
			padding:1%;
		}
		footer .nav-footer.banner-area li img {
			width:100%;
		}
		/* MAIN */
		#top .main_image {
			padding-top: 140%;
			position: relative
		}
		#top .main_image li {
			background: url(../../images/sp/top/img_sp_main_01.jpg) no-repeat;
    		background-size: 100% auto;
			top: 0;
			width: 100%;
			height: 100%
		}
		#top .side {
			padding: 10px 0;
		}

		.main article {
			margin: 40px 0;
			padding: 0 20px
		}
		.main article h1 {
			font-size: 20px;
			margin-top: 30px;
		}
		.main article h2 {
			margin: 20px 50px;
			font-size: 18px;
		}
		.main article h3 {
			font-size: 18px;
			margin: 20px 0;
			line-height: 1.6;
            padding: 10px;
		}
		.main p {
			margin: 10px 0
		}
		article.top {
			margin: 0;
			padding: 0
		}
        .top_info article {
            padding-left: 45px !important;
        }
        .top_info article:before {
            background-size: 20px 20px;
            width: 20px;
            height: 20px;
            display: block;
            top: 0;
            bottom: 0;
            left: 10px;
            margin: auto;
        }
		.top .info p {
			background: url(../../images/sp/top/ttl_info.png) no-repeat;
			background-size: 100% auto;
		}
		.top .news p {
			background: url(../../images/sp/top/ttl_news.png) no-repeat;
			background-size: 100% auto;
		}
		.top .info p span,
		.top .news p span {
			display: none
		}
		.top .info p,
		.top .news p {
			margin: 0px;
			padding-top: 10%
		}
		.top .info {
			margin-top:0 !important
		}
		.top .news,
		.top .info {
			margin: 10px;
		}
		.top .info ul,
		.top .news ul {
			height: 99px;
			padding: 10px 15px;
		}
		.top .info ul::-webkit-scrollbar,
		.top .news::-webkit-scrollbar {
			background:#AAAAAA;
			width:10px;
		}
		.top .info ul::-webkit-scrollbar-thumb,
		.top .news::-webkit-scrollbar-thumb {
			background:#8A8A8A;
		}
		.top .news dt,
		.top .news dd {
			display: block;
		}
		.top .news dd {
			margin-bottom: 10px
		}
		.top #twitter_box {
			margin: 20px 10px;
		}
		.top #twitter_box iframe {
			width: 100% !important
		}
        .top .bnr_area {
            padding: 10px;
        }
		/* INTRO */
		#intro h1 {
			background: url(../../images/sp/ttl_intro.png) no-repeat center top;
			background-size: 100% auto;
			padding-top: 5%;
			display: block;
			margin-bottom: 30px
		}
        #intro p {
            font-size: 14px;
        }
        #intro .box_intro {
            padding: 20px 10px;
        }
		#intro p.catch{
			font-size: 18px;
			font-weight: bold;
			text-align: center;
            margin-bottom: 20px;
		}
        #intro p.catch_01 {
            background: url("../../images/sp/intro/catch_01.png") center top no-repeat;
            background-size: 100% auto;
            margin: 0 auto 40px auto;
            padding-top: 84%;
        }
        #intro p.catch_02 {
            background: url("../../images/sp/intro/catch_02.png") center top no-repeat;
            background-size: 100% auto;
            margin: 30px auto 50px;
            padding-top: 14%;
        }
        #intro p.catch_03 {
            background: url("../../images/sp/intro/catch_03.png") center top no-repeat;
            background-size: 100% auto;
            margin-bottom:20px;
            padding-top: 20%;
        }
        #intro p.catch_04 {
            background: url("../../images/sp/intro/catch_04.png") center top no-repeat;
            background-size: 100% auto;
            margin: 20px auto 30px;
            padding-top: 21%;
        }
        #intro p.catch_05 {
            background: url("../../images/sp/intro/catch_05.png") center top no-repeat;
            background-size: 100% auto;
            margin: 30px auto;
            padding-top: 31%
        }
        #intro ul.intro_bnrs {
            font-size: 0;
            line-height: 0;
            margin-top: 20px;
        }
        #intro .intro_bnrs li {
            list-style: none;
            margin-top: 8px;
        }
        #intro .intro_bnrs li a {
            display: flex;
        }
        #intro .intro_bnrs img {
            width: 100%;
            height: auto;
        }
        
        /* STORY */
        .main #story article {
            padding-bottom: 80px
        }
        #story h1 {
			background: url(../../images/sp/ttl_story.png) no-repeat center top;
			background-size: 100% auto;
			padding-top: 5%;
			display: block;
			margin-bottom: 30px
		}
        #story p {
            color: #2f3035
		}
        .box_story {
            background-image: url("../../images/sp/story/bg_boxStory_upper.png"), url("../../images/sp/story/bg_boxStory_bottom.png");
            background-position: top center, bottom center;
            background-repeat: no-repeat, no-repeat;
            background-size: 100% auto, 100% auto;
            background-color:rgba(255,255,255,0.5);
            padding: 20px;
            border: 1px solid #2d2d2d;
        }
        
        /* CAST */
		#cast h1 {
			background: url(../../images/sp/ttl_cast.png) no-repeat center top;
			background-size: 100% auto;
			padding-top: 19%;
			display: block;
			margin-bottom: 30px
		}
        #cast h2.cast {
			background: url("../../images/sp/sttl_cast.png") no-repeat center top;
			background-size: 100% auto;
			padding-top: 5%;
			display: block;
			margin-bottom: 20px
		}
        #cast h2.staff {
			background: url("../../images/sp/sttl_staff.png") no-repeat center top;
			background-size: 100% auto;
			padding-top: 5%;
			display: block;
			margin: auto auto 20px auto;
		}
        #cast h4 {
            font-size: 16px;
            text-align: center;
            margin: 30px 18px;
        }
        #cast .cast {
            list-style: none;
            margin: 0 auto;
            text-align: left;
        }
        #cast .cast li {
            text-align: center;
            margin-bottom: 30px;
        }
        #cast .cast img {
            width: 100%;
        }
        #cast .btn_cast {
            padding: 10px;
        }
        #cast .btn_cast a {
             display: block;
             padding: 10px;
             margin: -10px;
        }
        #cast .cast.col2,
        #cast .cast.col3,
        #cast .cast.col4,
        #cast .cast.col5,
        #cast .cast.col7 {
             font-size: 0;
        }
        
        #cast .cast.col3 li,
        #cast .cast.col4 li,
        #cast .cast.col5 li,
        #cast .cast.col7 li {
             width: 40%;
             display: inline-block;
             vertical-align: top;
             margin: 15px 5%;
             font-size: 14px;
        }
         
		/* STAFF */
		#staff h1 {
			background: url(../../images/sp/ttl_staff.png) no-repeat center top;
			background-size: 100% auto;
			padding-top: 19%;
			display: block;
			margin-bottom: 30px
		}
		#staff dl.staff_list {
			margin: 20px 0;
			line-height: 2
		}
		#staff .staff_list dt {
			font-weight: bold;
			color: #000000;
			line-height: 1.4;
			margin-right: 10px;
		}
		#staff .staff_list dd {
			margin-bottom: 10px;
			line-height: 1.4;
		}
		#staff .staff_list dt,
		#staff .staff_list dd {
			vertical-align: top;
		}
		#staff .staff_list dd span span.company {
			font-size: 12px !important
		}
		#staff .staff_list dt span,
		#staff .staff_list dd span {
			font-size: 14px !important
		}
		#staff .box_staff {
		padding: 25px 15px 15px 15px;
   		margin-top: 10%;
		}
		#staff .box_staff h3 span.staff01 {
			font-size: 16px
		}
		#staff .box_staff h3 span.staff02 {
			font-size:12px;
		}
		#staff h3.ttl_staff {
			margin: 40px 0 20px 0;
		}
        .main #staff dl.description dd h3 {
            font-size: 18px !important;
        }
		/* ムービー */
		.top .movie {
			margin: 10px;
			position:relative;
			padding-top:56.25%;
		}
		.top .movie iframe{
			position:absolute;
			top:0;
			right:0;
			width:100%;
			height:100%;
		}
        .top .banner-area-top {
            margin: 15px;
        }
		/* TICKET */
		#ticket h1 {
			background: url(../../images/sp/ttl_ticket.png) no-repeat center top;
			background-size: 100% auto;
			padding-top: 19%;
			display: block;
			margin-bottom: 30px
		}
		#ticket .play_info {
			padding-top: 15px;
		}
		#ticket .play_info dd {
			margin-bottom: 5px
		}
		#ticket .play_info dt {
			font-weight: bold;
			margin-top: 1em;
            color: #cc4e26;
		}
		#ticket .play_info dt:first-child {
			margin-top:0
		}
		#ticket table {
			/*border-collapse: separate*/
		}
		#ticket th,
		#ticket td {
			/*display: list-item;*/
			width: 100%;
			list-style: none;
			border: none
		}
		#ticket table strong {
			font-size: 16px
		}
		#ticket #map_canvas_01 {
			width:100%;
			min-height: 250px;
		}
		#ticket .today_ticket { 
		   padding:0 10px;
		}
		#ticket .today_ticket dl {
			margin-bottom:20px;
		}
		#ticket .today_ticket dl.mb {
			margin-bottom:50px;
		}
		#ticket .today_ticket dt { 
		    color: #ffffcc;
			font-size: 16px;
			font-weight: bold;
			margin:10px 0;
		}
		#ticket .today_ticket dd {
			margin:10px 0 10px 1em;
		}

		#ticket .purchase_ticket {
		background-position: top 15px left 15px, top 15px right 15px, bottom 15px left 15px, bottom 15px right 15px;
		background-size: 15%;
		padding: 20px 20px 90px 20px;
		margin-top:20px
		}
        #ticket .box_ticket {
            padding: 20px;
            margin-top: 20px;
        }
        #ticket .box_ticket2 {
            padding: 20px;
            margin-bottom: 20px;
        }
        .main #ticket article .box_ticket h3:first-of-type {
            margin-top: 0;
        }
        #ticket .btn.ticket {
            font-size: 14px
        }
		/* SCHEDULE */
		#schedule h1 {
			background: url(../../images/sp/ttl_schedule.png) no-repeat center top;
			background-size: 100% auto;
			padding-top: 19%;
			display: block;
			margin-bottom: 30px
		}
        #schedule h2 {
			background: url("../../images/sp/sttl_nissei.png") no-repeat center top;
			background-size: 100% auto;
			padding-top: 6%;
			display: block;
			margin: auto auto 30px auto;
		}
		#schedule h4 {
			margin: 30px 18px;
			font-size: 16px;
            text-align: center;
		}
        #schedule h4:nth-of-type(2) {
            margin-top: 0;
        }
		#schedule h5 {
			font-size: 18px;
			margin-bottom: 10px
		}
		#ticket table strong {
			font-size: 20px
		}
		#ticket table strong span {
			font-size: 16px
		}
		#schedule .box_event {
			padding: 0 15px;
            margin-top: 20px;
		}
		#schedule .box_event section {
			margin: 30px 0
		}
		#schedule h4 + table.table_02 {
			margin-top: 0
		}
		#schedule table th,
		#schedule table.table_02 td {
			padding: 5px 2px;
			font-size: 10px;
            vertical-align: middle;
		}
        #schedule table.table_02 td .time {
            font-size: 10px;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }
		#schedule .play_info dd {
			margin-bottom: 5px
		}
		#schedule table.schedule .icon_diamond:before,
		#schedule table.schedule .icon_heart:before,
		#schedule table.schedule .icon_spade:before,
		#schedule table.schedule .icon_clover:before {
			top: 0
		}
		#schedule .btn_buy {
			font-size: 12px;
			margin-bottom: 20px;
		}
		#schedule .btn_buy span {
			font-weight: bold;
			color: #49370f;
			font-size: 14px;
		}
		#schedule .bnr_ticket {
			margin: 15px 0;
			text-align: center
		}
		/* SPECIAL */
		#special h1 {
			background: url(../../images/sp/ttl_special.png) no-repeat center top;
			background-size: 100% auto;
			padding-top: 19%;
			display: block;
			margin-bottom: 30px
		}
		#special h3 {
			font-size: 18px;
		}
		#special .box_special,
		#schedule .box_schedule {
			margin: 15px 0
		}
		#special .box_special h3,
		#schedule .box_schedule h3 {
			font-size: 16px;
		}
		#special section,
		#schedule .box_schedule section {
			margin: 15px 0
		}
		#special .box_select ul {
			text-align: left
		}
		#special .stage_pic li {
			margin: 10px 0
		}
        #special .sp_encore_pix li {
            width: 50%;
            display: inline-block;
            line-height: 0;
        }
		#special .box_select li:before {
			content: "◆";
			color: #c0a0b7;
			padding: 0 2px;
		}
        #schedule .icons {
            font-size: 10px;
        }
		/*　ムービー */
        #special article h2.sttl {
            margin: 30px auto;
            padding-bottom: 20px;
        }
		#special .box_movie {
			text-align: center
		}
		#special .box_movie li {
			text-decoration: none;
			text-align: center;
			display: inline-block;
			margin-bottom: 20px
		}
		#special .box_movie iframe {
			width: 100%;
			height: auto
		}
		#special .box_movie h3 {
			font-size: 18px;
		}
		.main #special article h2 {
			font-size: 18px;
			font-weight: bold;
			
		}
        #special .sp_report .sttl {
            margin-bottom: 20px;
            display: inline-block;
        }
        #special .box_sp01 {
            padding: 20px;
        }
        #special .box_sp01 h3 {
			font-size: 18px;
            font-weight: bold;
            text-align: left;
            background: none;
            color: #000000;
            position: relative;
            padding: 0 0 5px 20px;
		}
        #special .box_sp01 h3 span {
			font-size: 15px;
            font-weight: normal;
		}
        #special .box_sp01 h3:before {
            content: "";
            position: absolute;
            width: 4px;
            height: auto;
            background: #000000;
            left: 0;
            top: 0;
            bottom: 0;
            margin: auto;
        }
		#special .ticket_encore dl dt {
			font-size: 18px;
			font-weight: bold;
			margin-top:20px;
		}
		#special .ticket_encore table,
		#ticket .ticket_encore table {
			margin:0;
			table-layout:auto;
		}
		#special .ticket_encore .scroll {
			margin:0 auto;
		}
		#special .tokuten {
			padding:10px;
			margin-top:30px;
		}
		#special .tokuten h4 {
			font-size:18px;
			font-weight:bold;
		}
		#special .tokuten span {
			font-weight:bold;
		}
		#special .sp_pics_photo li {
            width: 49%;
            margin: 0.5%;
        }
        #special .sp_pics_ttl {
            margin: 45px auto 30px auto;
            font-size: 15px;
        }
        #special .sp_pics_ttl:before {
            content: "";
            background: url("../../images/special/sp_stagepic/icon_camera.gif") no-repeat;
            background-size: 23px 20px;
            width: 23px;
            height: 20px;
            position: absolute;
            margin: auto;
            left: 0;
            right: 0;
            top: -35px;
        }
		/* ACCESS */
		#access h1 {
			background: url(../../images/sp/ttl_access.png) no-repeat center top;
			background-size: 100% auto;
			padding-top: 19%;
			display: block;
			margin-bottom: 30px
		}
		#access iframe {
			width: 100%;
			height: 250px
		}

        /* お知らせ（別枠） */
        #notice .notice_inner {
            padding: 10% 5% 0 5%;
        }
        #notice table th,
        #notice table td {
            padding: 3px;
            font-size: 13px;
        }
        #notice h2 {
            font-size: 22px
        }
        #notice .btns li {
            margin: 20px auto 50px auto;
            font-size: 16px;
        }
        }
	
	
	/* 7.Float Clear Style
	---------------------------------------------------- */
	.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
	}
	* html .clearfix { zoom: 1; } /* IE6 */
	*:first-child+html .clearfix { zoom: 1; } /* IE7 */
</pre></body></html>