@charset "utf-8";
/* CSS Document */

/***フォント
font-family: 'Noto Sans JP', sans-serif; wght@400;500;700;900
font-family: 'Noto Serif JP', serif; :wght@600;700;900
font-family: 'Teko', sans-serif; 600,700
***/

html {  
	overflow-y:scroll; 
	overflow-x: hidden;
	margin: 0;
	padding: 0;
	font-size: 6.25%; /* sets the base font to 10px for easier math */
 	-webkit-text-size-adjust: none;	
    height: 100%;
}

body{
	margin: 0;
	padding: 0;
    height: 100%;
	font-size: 16px;
	line-height:2;
	color:#000;
	font-family: 'Noto Sans JP', sans-serif;
	
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	
	/* 背景画像が読み込まれる前に表示される背景のカラー */
	background-color: #fff;
}


@media screen and (max-width: 768px){
	html {font-size: 5%;}
	body {
		font-size: 16em;
	}
}


#header{}

#navi{}

#main{}

#footer{}

#wrap{}


.wrap{ 
    text-align: center;
/*	width: 1120px;
    height: 100%;
	margin: 0 auto;*/
}

.header {
    max-width: 800px;
    margin: 0 auto;
}
.header p {
    margin-top: 0;
}

.main{
    padding: 1em;
/*	text-align: center;
	word-wrap: break-word;
    padding-top: 2em;*/
}

.footer{
	margin: 20px auto;
	text-align: center;
	font-size: 14rem;
}

.footer .copy {
	color: #000;
}

.footer .sns_link {
    margin-top: 1em;
}

.footer .sns_link li {
    display: inline-block;
    margin: 0 5px;
    text-align: center;
    vertical-align: top;
}

.footer .sns_link img{
    width: 100%;
}

.footer .sns_link .twitter {
    width: 40px;
}

.footer .sns_link .toho {
    width: 46px;
}

#pagetop{
    position: fixed;
    right: 15px;
    bottom: 20px;
	z-index: 1000;
}

/********リンク********/
a{color: red;}
a:hover{}

a:hover img{
  filter: alpha(opacity=70);
  opacity: 0.7;
  zoom: 1.0;
  }

/********マージン、パディング********/

.marTop1em {margin-top: 1em;}
.marTop2em {margin-top: 2em;}
.marTop3em {margin-top: 3em;}
.marTop4em {margin-top: 4em;}
.marTop5em {margin-top: 5em;}
.marRgt1em {margin-right: 1em;}
.marRgt2em {margin-right: 2em;}
.marRgt3em {margin-right: 3em;}
.marRgt4em {margin-right: 4em;}
.marRgt5em {margin-right: 5em;}
.marBtm1em {margin-bottom: 1em;}
.marBtm2em {margin-bottom: 2em;}
.marBtm3em {margin-bottom: 3em;}
.marBtm4em {margin-bottom: 4em;}
.marBtm5em {margin-bottom: 5em;}
.marLft1em {margin-left: 1em;}
.marLft2em {margin-left: 2em;}
.marLft3em {margin-left: 3em;}
.marLft4em {margin-left: 4em;}
.marLft5em {margin-left: 5em;}

/********見出し********/

.heading_page {
	margin-bottom: 1em;
	text-align: center;
	font-family: 'Noto Serif JP';
    color: #000;
    line-height: 1.8;
    font-size: 1.4em;
}

.heading_page .s {
	font-size: 0.7em;
}


@media screen and (max-width: 550px){
	.heading_page {
		font-size: 1.2em;
	}
}

@media screen and (max-width: 390px){
	.heading_page {
		font-size: 1.1em;
	}
}

/********テキスト********/

.uline {text-decoration: underline;}
.bold {font-weight: bold;}
.italic {font-style: italic;}
.ls {text-decoration: line-through;}

.right {text-align: right;}
.left {text-align: left;}
.cen {text-align: center;}

.point {color:#FF0004;}

.s {font-size: 0.8em;}


/********共通********/

.floatL {float: left;}
.floatR {float: right;}
.clear {float: clear;}

.clearfix::after{
  content: "";
  display: block;
  clear: both;
}


/********　お知らせ系共通　********/

.pack {
	display: inline-block;
}

.box {
    max-width: 800px;
    padding: 2em;
    margin: 0 auto 1em;
    border: 1px solid #000;
    text-align: left;
}

@media screen and (max-width: 500px){

	.box {
		padding: 2em 1em;
	}
}

.caution {
	text-align: left;	
}

.caution li {
    padding-left: 1em;
    text-indent: -1em;
}


@media screen and (max-width: 375px){
    .box {
         padding: 1em;
    }
}

.first_msg {
	text-align: center;
}

.lead {}

.lead p {
	margin-bottom: 1em;
}

.data {
    margin: 2em auto 1em;
    text-align: left;
}

.data > dt {
    margin-top: 1em;
    margin-bottom: 0.5em;
    padding: 0 0.5em;
	font-size: 1.1em;
    font-weight: bold;
    background: #eee;
    color: #000;
}

.data > dd {
    padding: 1em;
}

@media screen and (max-width: 400px){

	.data > dd {
		padding: 1em 0;
	}
}


/*****************************

　対象公演

******************************/

.stage_list {}

.stage_list li {
}
.root {
}
.root > dt {
    margin-top: 1.5em;
    margin-bottom: 1em;
    font-weight: bold;
    line-height: 1.5;
}

.root > dd {
	margin-bottom: 3em;
    padding: 0 1em;
    line-height: 1.8;
}

.root .way > dt {
    margin: 1em auto 0;
    margin-left: -1em;
    font-weight: bold;
}

@media screen and (max-width: 500px){
	.root > dd {
		padding: 0 0.5em;
	}
}


/*****************************

　東宝テレザーブ、東宝ナビザーブ他

******************************/

.toho .detail {}

.toho .detail dt {
	margin: 1em auto 0;

}
.toho .detail dd {
	padding: 1em;
}

.toho .detail .caution {
	margin: 2em auto;
}
.toho .detail .btn_refund {
	display: block;
	width: 15em;
	margin: 1em auto 0;
	padding: 0.5em 1em;
	background: #eee;
	border: 1px solid #999;
	color: #000;
	text-align: center;
	text-decoration: none;
}

.toho .detail .btn_refund:hover {
		background: #ccc;
}
@media screen and (max-width: 365px){
	.toho .detail .btn_refund {
		width: auto;
		padding: 0.5em 1em;
	}
}

/*****************************

　エージェンシー

******************************/

.agency .pack {
	display: inline-block;
	margin: 0 0.5em;
}

@media screen and (max-width: 414px){
	.agency .tel {
		margin-top: 1em;
		padding: 1em;
		border: 1px solid #000;
		font-size: 0.9em;
		text-align: center;
	}
}

/*****************************

　プレイガイド

******************************/

.root {
	width: 100%;
	max-width: 800px;
	margin: 1em auto 0;
}

.root th, .root td{
    border: 1px solid #000;
    padding: 1em;
    display: block;
}

.root th {
    padding: 0.5em 1em;
    font-weight: normal;
    border-bottom: none;
    font-weight: bold;
}
.root td {
    margin-bottom: 1em;
	word-break: break-all;
}

.root dt {
	border-bottom: 1px solid #000;
}

.root .item {
    display: block;
}
.root .kikan {
    display: block;
    margin: 0 auto 0.5em;
	font-weight: bold;
}

.root .kikan .lbl {
	display: inline-block;
}

.root .kikan .day {
	display: inline-block;
}
.root .kikan .note{
    font-weight: normal;
}

@media screen and (max-width: 500px){
	.root th {
		text-align: center;
	}
/*	.root .kikan {
		text-align: center;
	}
	.root .kikan .lbl {
		display: block;
	}
	.root .kikan .lbl::before {
		content: "＜";
	}
	.root .kikan .lbl::after {
		content: "＞";
	}*/
}
@media screen and (max-width: 414px){
	.root {
		font-size: 0.9em;
	}
}


.root .way {
    margin: 1em auto;
}
.root .way li {
    padding-left: 1em;
    text-indent: -1em;
}
.root .way li:not(:last-of-type){
    margin-bottom: 1em;
}

.root .info {
    margin: 1em auto 0;
}
.root .info .lbl {
	display: inline-block;
    margin-right: 0.5em;
}
.root .info .lbl::before {
	content: "[";
}
.root .info .lbl::after {
	content: "]";
}
.root .info .tel,
.root .info .url{
	display: inline-block;
}
.root .info .tel a {
	text-decoration: none;
	color: #000;
}

.root .info .tel .pack,
.root .info .url .pack {
	margin: 0 0.5em;
}
.root .note {
    display: inline-block;
    padding-left: 1em;
    text-indent: -1em;
    font-size: 0.9em;
    line-height: 1.5;
}

.root .note2 {
    margin-top: 0.5em;
    line-height: 1.5;
}

/*@media screen and (max-width: 580px){
	.root .info {
		text-align: center;
	}
	.root .info .lbl::before,
	.root .info .lbl::after {
		content: none;
	}
	.root .info .lbl {
		display: block;
		margin: 0.5em auto 0;
		padding: 0.2em 0;
		border-top: 1px solid #000;
		border-bottom: 1px solid #000;
		text-align: center;
		line-height: 1.1;
	}
}
*/
/****************************

　帝劇ダイヤル

****************************/

.teigeki_d {}

.teigeki_d .add {
	margin: 1em auto;
	padding: 1em;
	text-align: center;
	border: 1px solid #000;
}
.teigeki_d .add dt {
	margin-bottom: 0.5em;
}
.teigeki_d .add .pack {
	margin: 0 0.5em;
}
@media screen and (max-width: 340px){
	.teigeki_d .add {
		padding: 1em 0.5em;	
		font-size: 0.9em;
	}
}


/*****************************

　プレイガイド

******************************/

.playguide {
	width: 100%;
	max-width: 800px;
	margin: 2em auto 0;
}

.playguide th, .playguide td{
    border: 1px solid #000;
    padding: 1em;
    display: block;
}

.playguide th {
    padding: 0.5em 1em;
    font-weight: normal;
    border-bottom: none;
    font-weight: bold;
}
.playguide td {
    margin-bottom: 1em;
	word-break: break-all;
}

.playguide .item {
    display: block;
}
.playguide .kikan {
    display: block;
    font-weight: bold;
    margin: 0 auto 1em
}

.playguide .kikan .lbl::after {
	content: "：";
}


@media screen and (max-width: 500px){
	.playguide th {
		text-align: center;
	}
	.playguide .kikan {
		text-align: center;
	}
	.playguide .kikan .lbl {
		display: block;
	}
	.playguide .kikan .lbl::before {
		content: "＜";
	}
	.playguide .kikan .lbl::after {
		content: "＞";
	}
}
@media screen and (max-width: 414px){
	.playguide {
		font-size: 0.9em;
	}
}


.playguide .way {
    margin: 1em auto;
}
.playguide .way li {
    padding-left: 1em;
    text-indent: -1em;
}
.playguide .way li:not(:last-of-type){
    margin-bottom: 1em;
}

.playguide .info {
    margin: 1em auto 0;
}
.playguide .info .lbl {
	display: inline-block;
    margin-right: 0.5em;
}
.playguide .info .lbl::before {
	content: "[";
}
.playguide .info .lbl::after {
	content: "]";
}
.playguide .info .tel,
.playguide .info .url{
	display: inline-block;
}
.playguide .info .tel a {
	text-decoration: none;
	color: #000;
}
.playguide .note {
    display: inline-block;
    padding-left: 1em;
    text-indent: -1em;
    font-size: 0.9em;
    line-height: 1.5;
}

.playguide .note2 {
    margin-top: 0.5em;
    line-height: 1.5;
}

@media screen and (max-width: 580px){
	.playguide .info {
		text-align: center;
	}
	.playguide .info .lbl::before,
	.playguide .info .lbl::after {
		content: none;
	}
	.playguide .info .lbl {
		display: block;
		margin: 0.5em auto 0;
		padding: 0.2em 0;
		border-top: 1px solid #000;
		border-bottom: 1px solid #000;
		text-align: center;
		line-height: 1.1;
	}
}


/****************************

　お問い合わせ

****************************/

.contact {}

.contact .lbl {
	display: inline-block;
	margin-right: 1em;
}

.contact .tel {
	margin: 0 auto 1em;
}
.contact .tel .no {
	display: inline-block;
}

.contact .tel .no a {
	text-decoration: none;
	color: #000;
}
.contact .tel .note {
	font-size: 0.9em;
}
.contact .mail .url {
	display: inline-block;
}

@media screen and (max-width: 400px){
	.contact .lbl {
		display: block;
	}
	.contact .lbl::before {
		content: "・";
	}
	.contact .tel .no {
		margin-left: 1em;
	}
	.contact .mail .url {
		margin-left: 1em;
	}
}

.sign {
    text-align: right;
}
