@charset "utf-8";
.list_indent li,
li.list_indent,
p.list-indent{
	padding-left: 1em;
	text-indent: -1em;
}
.noticebox{
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}
.noticebox h2{
	margin-bottom: 10px;
	font-size: 1.5rem;/* 24px */
}
.noticebox > div{
	width: 80%;
}
.noticebox > p{
	width: 130px;
}
.online .noticebox > p{
	width: 152px;
}
.noticebox_top > p{
	width: 200px;
}
.noticebox_top.flyer_s > p{
	width: 130px;
}

.noticebox > p img{
	width: 100%;
	height: auto;
	box-shadow: 0 0 5px 0 rgba(153, 153, 153, .5);
}
.online .noticebox > p img{
	box-shadow: none;
}

.noticebox >div p,
.noticebox >div li{
	line-height: 1.6;
}
.noticebox >div ul+p{
	margin-top: 0.4em;
}
.noticebox >div p+p{
	margin-top: 1.6em;
}
.icon_req{
	display: inline-block;
	width: 48px;
	height: 22px;
	line-height: 22px;
	margin-right: 5px;
	text-align: center;
	font-size: 0.875rem;/* 14px */
	font-weight: bold;
	color: #ffffff;
	background: #333;
}
form span.title_th{
	display: block;
	float: left;
}
form span.icon_req{
	display: block;
	float: right;
	width: 41px;
	margin-right: 0;
	font-size: 0.8125rem;/* 13px */
}
form p{
	line-height: 1.6;
}
form table{
	border-top: 1px solid #555555;
	border-bottom: 1px solid #555555;
	width: 100%;
	margin-bottom: 30px;
}
form table th,
form table td{
	border-bottom: 1px solid #ccc;
	text-align: left;
	vertical-align: top;
}
form table th{
	padding: 14px;
	background: #f1f1f1;
	font-weight: normal;
	width: 190px;
}
form table td{
	padding: 14px 25px;
}

form table .subtxt{
	padding-top: 0.5em;
}
input[type="text"],
input[type="tel"],
input[type="email"],
select{
	line-height: 22px;
	font-size: 1rem;
	font-family:"Helvetica Neue", "Helvetica", "Meiryo", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic",  sans-serif;
	padding: 2px 4px;
	border-radius: 0;
	border: 1px solid #ddd;
	width: 100%;
}
input[type="checkbox"]{
	border: 1px solid #ddd;
	margin-right: 8px;
	margin-left: 0;
}
input[type="radio"]{
	margin-left: 0;
}
.list_radio li+li{
	margin-top: 5px;
}
.list_radio li label+p,
.td_questionnaire > label+p{
	margin-bottom: 5px;
	margin-left: 21px;
}
input[type="tel"],
input#post_zip{
	width: 180px;
}
#num_member_area input{
	width: 100px;
}
.td_questionnaire label{
	display: block;
}
.td_questionnaire label+label{
	margin-top: 6px;
}
.questionnairebox+.questionnairebox{
	margin-top: 15px;
}
.questionnairebox+label{
	margin-top: 10px;
}
.text_questionnaire{
	margin-bottom: 5px;
	padding-left: 21px;
	font-size: 0.875rem;/* 14px */
}
#text_payment03,
#questionnaire06_text,
.questionnairebox input[type="text"]{
	width: 300px;
	margin-left: 21px;
}
#text_groupe{
	width: 80%;
	margin-left: 21px;
}
textarea{
	font-family:"Helvetica Neue", "Helvetica", "Meiryo", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic",  sans-serif;
	width: 100%;
	border-radius: 0;
	border: 1px solid #ddd;
	line-height: 1.6;
	height: 78px;
	padding: 2px 4px;
}
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
textarea:focus{
	outline-color: #4564a6;
}
.list_ticket li{
	padding: 0 10px 10px 10px;
}
.list_ticket li+li{
	padding-top: 10px;
	border-top: 1px dotted #ccc;
}
.list_ticket li:last-child{
	padding-bottom: 0;
}
.list_ticket li .title_ticket{
	display: inline-block;
	width: calc(100% - 5em);
}
.list_ticket li input{
	width: 52px;
}
.error input[type="text"],
.error input[type="text"]:hover,
.error input[type="text"]:active,
.error input[type="text"]:focus,
.error input[type="tel"],
.error input[type="tel"]:hover,
.error input[type="tel"]:active,
.error input[type="tel"]:focus,
.error input[type="email"],
.error input[type="email"]:hover,
.error input[type="email"]:active,
.error input[type="email"]:focus,
.error select{
	border: 2px solid #ee1368;
	background: #fff0f5;
}
.error input[type="text"]#text_groupe,
.error input[type="text"]#text_groupe:hover,
.error input[type="text"]#text_groupe:active,
.error input[type="text"]#text_groupe:focus{
	border: 1px solid #dddddd;
	background: #ffffff;
}

form p.msg{
	margin-bottom: 5px;
	color: #ee1368;
	display: none;
}
form .error p.msg{
	display: block;
}
input:readonly,
select:readonly{
		color: #555555;
		background: #f1f1f1;
}
/* top ---------------- */
.flex{
	display: flex;
}
.noticebox_top h2{
	margin-bottom: 5px;
	font-size: 1.375rem;/* 22px */
}
.noticebox_top >div p+p.mtbig{
	margin-top: 3.2em;
}
/* thanks */
.noticebox_thanks{
	margin-bottom: 40px;
}
.noticebox_thanks h2{
	font-size: 1.5rem;/* 24px */
}
.noticebox_thanks p{
	line-height: 1.6;
}
.noticebox_thanks p+p{
	margin-top: 1.6em;
}
.noticebox_top h3,
.noticebox_thanks h3{
	margin-bottom: 20px;
	font-size: 1.875rem;/* 30px */
}
.address_thanks{
	text-align: center;
	margin-bottom: 60px;
	padding: 35px 0;
	background: #f1f1f1;
}
.address_thanks .title_address_thanks{
	line-height: 1.8;
}
.address_thanks .title_address_thanks span{
	font-size: 1.375rem;/* 22px */
}
.address_thanks address{
	font-size: 1.5rem;/* 24px */
	font-weight: bold;
	margin-bottom: 5px;
}
p.kakomi{
	border: 4px solid #dddddd;
	padding: 10px 20px;
}
/* 劇場・オンラインチケットガイド（チケット発売中） -------------- */
.ticketguide{
	width: 100%;
}
.ticketguide div{
	background: #f5f1e6;
	margin-left: 14px;
	width: calc( 50% - 14px );
}
.ticketguide div:first-child{
	margin-left: 0;
}
.ticketguide div.legend{
	width: 93%;
	margin: 5px auto;
	padding: 4px;
	display: flex;
	background: #ffffff;
	border-radius: 6px;
}
.ticketguide div.legend div{
	background: #ffffff;
	text-align: left;
	width: auto;
}
.ticketguide div.legend p{
	font-size: 14px;
}
.ticketguide div.legend > p{
	width: 4em;
	text-align: center;
	background: #f5f1e6;
	border-radius: 4px;
	line-height: 110px;
	min-height: 110px;
	margin-right: 0.5em;
}
.ticketguide div h4{
	margin-bottom: 20px;
	padding: 15px 10px;
	background: #555555;
	color: #ffffff;
	font-size: 25px;
	line-height: 1.2;
}
/* 日程表 */
.ticketguide table{
	margin: 10px auto;
	width: 93%;
}
.ticketguide div .btn{
	width: 90%;
	min-width: 300px;
}
.ticketguide th,
.ticketguide td{
	border: 1px solid #dddddd;
	font-size: 14px;
	padding: 2px 4px;
	text-align: center;
	line-height: 1.1;
	background: #ffffff;
	overflow: hidden;
}
tr.schedule th,
tr.schedule td{
	height: 32px;
	min-width: 34px;
	max-width: 34px;
}
/* 月間カレンダー */
.ticketguide div.calendar_box {
	display: flex;
	width: 100%;
	margin-left: 0;
	background: none;
}
.calendar_box div{
	width: 50%;
	margin-left: 0;
	text-align: center;
}
.calendar_box table.monthly{
	width: 74%;
	max-width: 260px;
	margin: 10px 10px;
}
.calendar_box table.monthly td{
	min-width: 2em;
	padding: 0;
}
.calendar_box table.monthly .stage td{
	vertical-align: top;
	padding-top: 4px;
	height: 31px;
	min-width: 1.5em;
	max-width: 2.5em;
}
.calendar_box table.monthly td span{
	display: block;
}
.calendar_box div:first-child table{
	margin-left: auto;
	margin-right: 0;
}
td span.sengetsu{
	color: #cccccc;
}
td span.shicho{
	border-bottom: 5px solid #03a299;
}
td span.hatsubai::after{
	content:"";
	display: block;
	width: 100%;
	height: 5px;
	background: #FFC926;
}
p span.hatsubai{
	color: #FFC926;
}
p span.shicho{
	color: #03a299;
}
/* SP */
.d_sp .ticketguide div.calendar_box{
	flex-direction: column;
}
.d_sp .ticketguide div.calendar_box div{
	width: 100%;
}
.d_sp .calendar_box div:first-child table,
.d_sp .calendar_box div table{
	margin-left: auto;
	margin-right: auto;
}
.d_sp .schedule th:nth-of-type(1),
.d_sp .stage td:nth-of-type(1){
	text-align: left;
	padding-right: 0;
	padding-left: 8px;
}
.d_sp .stage td:not(:nth-of-type(1)){
	width: 23%;
}
/* アフタートーク スケジュール=========== */
tr.stage td{
	position: relative;
}
.stage .soiree,
.legend .soiree{
	background: #ffffbf;
}
.legend .soiree{
	display: inline-block;
	width: 1em;
	height: 1em;
}
.stage .student::after{
	content:"★";
	font-size: 12px;
	position: absolute;
	right: 0;
	bottom: 0;
	color: #ff007f;
}
.stage .aftertalk::after{
	content:"★";
	font-size: 12px;
	position: absolute;
	right: 0;
	bottom: 0;
	color: #03a299;
}
p span.soiree{
	color: #ffbf00;
	width: 1em;
	height: 0.6em;
	border: 1px solid #dddddd;
	vertical-align: middle;
}
p span.student{
	color: #ff007f;
	font-size: 1em;
}
p span.aftertalk{
	color: #03a299;
	font-size: 1em;
}
/* 劇場 =========== */
.stage_guide tr.stage th,
.stage_guide tr.stage td{
	height: 30px;
}
/* 劇場日程表 ----------------- */
span[title="チケット有"] {
	position: relative;
	display: inline-block;
	text-indent: -9999px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 2px solid #555876;
/*	background: #555876; 群青 */
	margin-top: 5px;
	margin-bottom :-10px;
}
.legend span[title="チケット有"] {
	width: 10px;
	height: 10px;
	top: 8px;
}
span[title="残席少"] {
	position: relative;
	display: inline-block;
	text-indent: -9999px;
	width: 12px;
	height: 10px;
	border-right: 6px solid transparent;
	border-bottom: 11px solid #555876;/* 群青 */
	border-left: 6px solid transparent;
	margin-top: 3px;
}
.legend span[title="残席少"] {
	width: 9px;
	height: 7px;
	top: 4px;
}
span[title="売切れ"] {
	display: inline-block;
	position: relative;
	width: 12px;
	height: 12px;
	margin-top: 2px;
	text-indent: -9999px;
}
span[title="売切れ"]::before,
span[title="売切れ"]::after {
	content: "";
	position: absolute;
	background: #555876;
	top: 50%;
	width: 2px;
	left: 50% ;
	height: 12px;
}
span[title="売切れ"]::before {
	transform: translate(-50%, -50%) rotateZ(45deg);
}
span[title="売切れ"]::after {
	transform: translate(-50%, -50%) rotateZ(-45deg);
}
.legend span[title="売切れ"]::before,
.legend span[title="売切れ"]::after {
	top: 10px;
}

/*-- /TEST --*/

table .stage td{
	position :relative;
	height: 15px;/*
	width: 13%;*/
}
.ticketguide th, .ticketguide td .youbi{
	font-size:0.8em;
}
.d_pc .ticketguide td.withholi .youbi{
	letter-spacing: -0.2em;
}
.ticketguide td.withholi{
	padding: 2px 0;
}
table .stage td,
table .stage th{
	height: 26px;
}
/* オンライン =========== */
.online_guide tr.online th,
.online_guide tr.online td{
	height: 61px;
	padding: 0;
}
table .bdrnone{border-right: none;}
table .bdlnone{border-left: none;}
table .bdbnone{border-bottom: none;}
table .bdtnone{border-top: none;}
.online_guide .online td{
	text-align: right;
}
.online_guide .online td p{
	border-top: 12px solid #03a299;/* 緑 */
	width: 95%;
	display: inline-block;
	display: flex;
	margin-left: 5%;
}
.online_guide .online td p span{
	width: 50%;
	display: inline-block;
	font-size: 12px;
}
.online_guide .online td p span:first-child{
	text-align: left;
}
/* ボタン */
.ticketguide a{
	text-decoration: underline;
	color: #333333;
}
.ticketguide a:hover,
.ticketguide a:hover{
	color: #000000;
}
.ticketguide div article{
	border-top: 5px dotted #ffffff;
	margin: 20px 30px 20px 30px;
	padding: 20px 0 20px 0;
}
.ticketguide article h5{
	font-size: 22px;
}
.ticketguide article h5 span{
	font-size: 20px;
	font-weight: normal;
}
.ticketguide article h5 span.bgpink{
	color: #ffffff;
	font-size: 0.65em;
	letter-spacing: 0;
	font-weight: bold;
}

.ticketguide div article .btn_box{
	margin-top: 10px;
}

/* ヘッダーボタン -------------- */
#to_detail{
	background: #3378BD;/* チケットTOP公演色 */
	color: #ffffff;
	position: absolute;
}
#to_detail:before{
	border-left: 8px solid #ffffff;
}
#to_detail:hover,
#to_detail:active{
	background: #1E58A4;/* チケットTOP公演色 */
}
.daytype{
display: none;
/*		color: red;*/
}
.btn_mini{
	display: none;
}
/* ヘッダーの下線 -------------- */
header{
	border-bottom-width: 5px;
	border-bottom-style: solid;
	border-bottom-color : #3378BD;/* チケットTOP公演色 */
	position: relative;
}
.type_member header{
	border-bottom-color : #2071cd;
}
.type_member_sp header{
	border-bottom-color :#03a299;
}
.type_general header{
	border-bottom-color : #f02f66;
}
.type_test header{
	border-bottom-color : #ff9326;
}
/* 送信ボタン系 -------------- */
.btnbox{
	margin-top: 20px;
	margin-bottom: 60px;
	text-align: center;
}
.btnbox .btn{
	display: inline-block;
	width: 100%;
	min-width: 300px;
	height: 56px;
	line-height: 56px;
	color: #fff;
	font-size: 1.0625rem;/* 17px */
	text-align: center;
	letter-spacing: 0.075em;
	border-radius: 6px;
	background: #999;
	cursor: pointer;
	font-weight: bold;
	text-decoration: none;
}
.btnbox{
	margin-bottom: 60px;
	text-align: center;
}
.btnbox .btn:hover,
.btnbox .btn:active{
	background: #717171;
}
/* ボタン色分け */
.type_member .btnbox .btn#submitbutton,
.btnbox .btn.btn_member,
.type_member .btnbox .btn#submitbutton,
.btnbox .btn.btn_member,
.btnbox .btn.btn_blue{
	background: #2071cd;/* 青 */
}
.type_member .btnbox .btn#submitbutton:hover,
.type_member .btnbox .btn#submitbutton:active,
.btnbox .btn.btn_member:hover,
.btnbox .btn.btn_member:active,
.btnbox .btn.btn_blue:hover,
.btnbox .btn.btn_blue:active{
	background: #0f4bb5;
	color: #fff;
}
.type_member_sp .btnbox .btn#submitbutton,
.btnbox .btn.btn_member_sp,
.btnbox .btn.btn_green{
	background: #03a299;/* 緑 */
}
.type_member_sp .btnbox .btn#submitbutton:hover,
.type_member_sp .btnbox .btn#submitbutton:active,
.btnbox .btn.btn_member_sp:hover,
.btnbox .btn.btn_member_sp:active,
.btnbox .btn.btn_green:hover,
.btnbox .btn.btn_green:active{
	background: #017f74;
	color: #fff;
}
.type_general .btnbox .btn#submitbutton,
.btnbox .btn.btn_general,
.btnbox .btn.btn_pink{
	background: #f02f66;/* ピンク */
}
.type_general .btnbox .btn#submitbutton:hover,
.type_general .btnbox .btn#submitbutton:active,
.btnbox .btn.btn_general:hover,
.btnbox .btn.btn_general:active,
.btnbox .btn.btn_pink:hover,
.btnbox .btn.btn_pink:active{
	background: #e20929;
	color: #fff;
}
.type_test .btnbox .btn#submitbutton{
	background: #ff9326;
}
.type_test .btnbox .btn#submitbutton:hover,
.type_test .btnbox .btn#submitbutton:active{
	background: #ff7416;
}
.btnbox .btn+.btn{
	margin-left: 8px;
}
/* 公演中・配信中 */
span.bgpink{
	background: #f02f66;
	color: #ffffff;
	font-size: 14px;
	letter-spacing: 0.1em;
	display: inline-block;
	height: 23px;
	line-height: 23px;
	padding: 0 8px;
	margin-left: 8px;
	margin-top: -4px;
	vertical-align: middle;
}
/* topボタン系 */
.btnbox.btnbox_top{
	display: flex;
	justify-content: space-between;
}
.btnbox .membersection{
	width: calc(50% - 15px);
	padding: 16px 46px 26px 46px;
	border: 4px solid #ddd;
	background: #f6f6f6;
	margin-left: 30px;
}
.btnbox .membersection:first-child{
	margin-left: 0;
}
.btnbox .membersection h4{
	margin-bottom: 15px;
	font-size: 1.375rem;/* 22px */
}
.btnbox .membersection.sec_general .btn{
	margin-top: 105px;
}
.btnbox.btnbox_top .btn{
	width: 100%;
	font-weight: bold;
	text-indent: 0;
	letter-spacing: 0;
}
.btnbox.btnbox_top .btn.plural{
	height: auto;
	line-height: 1.3;
	padding: 8px 4px;
}
.btnbox.btnbox_top .btn.plural span{
	font-weight: normal;
}
.btnbox.btnbox_top .btn+.btn{
	margin-left: 0;
	margin-top: 14px;
}