@charset "utf-8";

/**
 *
 *  公演・チケット
 *
 */

/*--------------------------------------------------------------------------
   overwrite  - 共通CSSの上書き -
---------------------------------------------------------------------------*/

/* #Main
-----------------------------------------------------------------*/


#Main2{
	background: #eaeff9;
}

#Main3{
	background-image: url(../images/bg.png);
	background-repeat: repeat;
	/*background-color: #0b318f;*/

}

/*.bg_inner{
background: #FFFFFF;
}*/

h3 {
  position: relative;
  /*padding: 1.5rem;*/
  text-align: center;
	font-size: 2.0em;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	margin-bottom: 40px;
}

h3:before {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 30px);
  width: 60px;
  height: 2px;
  content: '';
  /*border-radius: 3px;*/
  background: #000;
}

@media all and (max-width: 767px) {
	#Main{
		width: 100%;
	}
	
	h3 {
    position: relative;
    /* padding: 1.5rem; */
    text-align: center;
    font-size: 1.5em;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    margin-bottom: 20px;
}

	
}

/*--------------------------------------------------------------------------
   sec-catch
---------------------------------------------------------------------------*/
.sec-catch{
	padding: 80px 0 68px;
	background: url(../images/catch_bg.jpg) no-repeat 50% 0;
	background-size: 100% auto;
}
.sec-catch_archives{
	padding: 90px 0;
	background: url(../../archive/images/catch_bg.jpg) no-repeat 50% 0;
	background-size: 100% auto;
}
@media all and (max-width: 767px) {
	.sec-catch{
		padding: 44px 20px;
		background: url(../images/catch_bg_sp.jpg) no-repeat 50% 0;
		background-size: 100% auto;
		
	}
	.sec-catch h2 img{
		width: 141px;
		height: 20px;
	}
			.sec-catch_archives{
		padding: 44px 0;
		background: url(../../archive/images/catch_bg_sp.jpg) no-repeat 50% 0;
		background-size: 100% auto;
	}
	.sec-catch_archives h2 img{
		width: 141px;
		height: 20px;
	}
	
	.cmn-inner-base {
        width: auto;
        padding: 0;
    }
	
}


/*--------------------------------------------------------------------------
   メインビジュアル
---------------------------------------------------------------------------*/

.end{
	height: 140px;
    text-align: center;
    background: #1A1A3F;
    color: #ffffff;
    padding-top: 30px;
	text-align: center;
	line-height: 2.35em;
	font-size: 120%;

}

.sec01{
	background-image: url(../images/bg.png);
	background-repeat: repeat;
}


/*-------------------------------------------------------------------------
   sec02　
 ---------------------------------------------------------------------------*/

.sec02{
	padding: 50px 0 0 0;
	background: #bc0015;
}
.sec02 .ttl{
	text-align: center;
	margin-bottom: 30px;
}
.sec02 h4{
	font-size:150%;
	margin-bottom: 10px;
}
.sec02{
	text-align: center;
	/*margin-bottom: 80px;*/
	
}

.sec02 .txt{
	text-align: left;
	line-height: 2.35em;
	font-size: 120%;
	padding:0 50px 80px;
	color: #ffffff;
}

/*20210215追記*/
.sec02 .txt02{
	margin:2em auto 0;
	width: 80%;
	padding-bottom:20px;
}

/*20210215追記*/
.sec02 .txt02 h4{
	margin-top:2em;
	font-size: 120%;
}

.sec02 .ltxt{
	line-height: 2em;
	font-size: 120%;
	padding-bottom:30px;
}

@media all and (max-width: 767px) {
	.sec02 {
		/*width: 100%;*/
		margin: 0 auto 50px;
		padding: 20px;
	}
	.sec02 .txt{
		font-size: 1.15em;
		line-height: 2em;
		text-align: left;
		padding: 0;
		margin: 0 auto 50px;
	}
	.sec02 .ttl img{
		width: 100%;
		height: auto;
	}
	.sec02 .ltxt {
    line-height: 1.8em;
    text-align: left;
    font-size: 13px !important;
	}
}

/*-------------------------------------------------------------------------
   sec03　
 ---------------------------------------------------------------------------*/

.sec03{
	padding: 40px 0;
}

.sec03 .img{
	text-align: center;
	margin-bottom: 20px;
	
}

.sec03 .box_wrap{
	width:70%;
	margin:0 auto;
	font-size: 120%;
	color:#333333;
}

.sec03 .box{
	margin: 1em 0 1.5em 0;
	background:#fef9ec;
	border:4px double #00042D;
	padding:30px;
	line-height: 1.8em;
}

.sec03 dl {
    margin:0 0 5px 0;
}
.sec03 dt {
    float:left;
    padding-top:5px;
	font-weight:bold;
}

.sec03 dd {
    margin:0 0 5px 0;
    padding:5px 0px 5px 7em;
}
.sec03 dd.flarge{
	font-size: 140%;
	margin:0 0 5px 0;
    padding:5px 0px 5px 5em;
}

.sec03 span{font-size: 70%;}


/*20210215追記*/
.sec03 .note{
	margin-top: 15px;
	font-weight: bold;
	text-align: center;
	font-size: 120%;
}

@media all and (max-width: 767px) {
	.sec03{
		margin: 0 0 0 0;
		padding: 0;
	}
	.sec03 .box_wrap{
		width:95%;
		font-size: 100%;
	}

.sec03 .box{
padding:15px 30px 15px 30px;
}


	
	.sec03 dt {
    clear:both;
		    padding-top:10px;
				width: 100%;
}

.sec03 dd {
	    margin:10px 0 0 0;
    padding:5px 0px 5px 0em;
}
	.sec03 dd.flarge{
	margin:5px 0 0 0;
    padding:5px 0px 5px 0;
}
	
}

/*-------------------------------------------------------------------------
   sec04　
 ---------------------------------------------------------------------------*/
.sec04{
	padding: 40px 0 0;
}
.sec04 .ttl{
	text-align: center;
	margin-bottom: 30px;
}
.sec04 .img{
	text-align: center;
	margin-bottom: 20px;
	
}
.sec04 .txt{
	margin:0 auto;
	width: 70%;
	padding-bottom:20px;
}
.sec04 .txt p{
	text-align: left;
	line-height: 2.35em;
	font-size: 120%;
}

@media all and (max-width: 767px) {
	.sec04 .txt{
		font-size: 90%;
		width: 100%;
	}
	
	.sec04 .ttl{
	margin-bottom: 20px;
}
	
	.sec04 .ttl img{
		width: 100%;
		height: auto;
	}
	
	.sec04 .txt p ,.sec05{
		width: 95%;
		margin: 0 auto;
	}
}

/*-------------------------------------------------------------------------
   sec05
 ---------------------------------------------------------------------------*/
.line{
	width:100%;
	border-bottom:1px dotted #999;
	padding-bottom: 50px;
	margin-bottom: 50px;
}	

.sec05{
	padding: 25px 0;
}
.sec05 .ttl{
	text-align: center;
	margin-bottom: 20px;
}
.sec05 .img{
	text-align: center;
	margin-bottom: 20px;
	
}
.sec05 .txt{
	margin:0 auto;
	width: 70%;
	padding-bottom:30px;
}
.sec05 .txt p{
	text-align: left;
	line-height: 2.35em;
	font-size: 120%;
}


@media all and (max-width: 767px) {
	.line{
	width:100%;
	border-bottom:1px dotted #999;
}
	.sec05 .txt{
		font-size: 90%;
		width: 100%;
	}
	.sec05 .ttl img{
		width: 100%;
		height: auto;
	}
}
#Main3  .btn{
	width: 258px;
	margin: 20px auto 0;
	border: 1px solid #353f57;
}
#Main3 .btn a{
	display: block;
	padding: 13px 30px;
	-webkit-transition: background .2s cubic-bezier(0.47, 0, 0.745, 0.715);
  transition:         background .2s cubic-bezier(0.47, 0, 0.745, 0.715);
}
#Main3 .btn a:hover{
	background:#F9F9F9;
}

.sec07{
	padding: 50px 0 50px 0;
}


.sec07 .list-area{
	margin-top:20px;
	margin-bottom:8px;
}

.sec07 .list-area li{
	padding:10px 100px;
}

.sec07 .list-area li .txt{
	padding:5px 20px 20px;
border-bottom:dotted 1px #666;
	font-size: 120%;
}

@media all and (max-width: 767px) {
	#Main .sec p{
		font-size: 11px;
	}
	#Main .sec .btn{
		width: 100%;
		margin: 12px 0 0;
		border: solid 1px #c3c5ca;
		text-align: center;
	}
	#Main .sec .btn a{
		padding: 22px 0;
	}
	.sec07 .txt{
		font-size: 110% !important;
	}
	.sec07 .list-area li{
	padding:5px 0px;
}
}



/*--------------------------------------------------------------------------
   sec08 2017発表会
---------------------------------------------------------------------------*/

.sec08{
	padding: 40px 0 20px;
}
.sec08 div.ttl{
	margin-bottom: 20px;
	text-align: center;
}
.sec08 .ttl{
	margin-bottom: 10px;
	text-align: center;
}
.sec08 .performance{
	position: relative;
	margin-top:20px
}

.sec08 .name{
	position: absolute;
	right: 94px;
	top: 140px;
}
.sec08 .prof{
	margin-top: 40px;
	text-align: center;
	color: #0c1c40;
	font-size: 16px;
	line-height: 2.65;
}
.sec08 .txt{
	text-align: center;
	line-height: 2.35em;
	font-size: 120%;
}
.note{
	margin-top: 15px;
	font-weight: bold;
	text-align: center;
	font-size: 120%;
	color: #BB001E;
}
/* SP */
@media all and (max-width: 767px) {
	.sec08{
		padding-top: 38px;
	}
	.sec08 .ttl{
		margin-bottom: 30px;
	}
	.sec08 .ttl img{
		width: 100%;
		height: auto;
	}
	.sec08 .name{
		position: static;
		right: auto;
		top: auto;
		padding: 21px 20px 16px;
		background: #fff;
		text-align: center;
	}
	.sec08 .img .name img{
		width: 183px;
		height: auto;
	}
	.sec08 .prof{
		margin-top: 17px;
		line-height: 2;
		text-align: left;
		font-size: 13px;
	}
	.sec08 .txt{
		font-size: 100%;
	}
	.sec08 .note{
		font-size: 90%;
	}
}


/*--------------------------------------------------------------------------
   ページ下部写真
---------------------------------------------------------------------------*/


.pbox{
	text-align: center;
}

/* SP */
@media all and (max-width: 767px) {
.pbox {
	margin: 0 !important;
}

}




/*--------------------------------------------------------------------------
   2018年公演
---------------------------------------------------------------------------*/

.slbb_bt{
	border-top: 2px solid #25395d; margin: 0 0 2em 0;
}

.slbb_bb{
	border-top: 2px solid #25395d; clear: both; margin: 3em 0 1em 0; display: block;
}

.slbb_text{
text-align: left; line-height: 180%; color: #25395d; font-size: 15px; clear: left;
	}

.slbb_p{
	float:right; margin: 0 0 2em 3em;
}

@media all and (max-width: 767px) {
	
	.slbb_p{
	width: 100%; margin: 0 0 2em 3em;
}
	.slbb_text img{
		width: 100%;
		margin: 0 0 1em 0;
	}
	.slbb_text{
font-size:90% ;
	}
}

/*--------------------------------------------------------------------------
   2018年公演 メンバー紹介
---------------------------------------------------------------------------*/

.member{
text-align: center;
	padding: 40px 0 0 0;
}
.p_mem{text-align: center;}
.p_mem_02{text-align: center;
clear: both;}
.p_mem img{
	margin: 0 10px 10px 10px;}
.p_mem_02 img{
	margin: 10px 20px 10px 10px;}
.ins_member{
	margin: 10px 0 5px 150px;
}
.ins_member_02{
	text-align: left;
	margin: 20px 0 0px 230px;
	float: left;
}
.ins_member_03{
	text-align: left;
	margin: 20px 0 0 85px;
	float: left;
}
.ins_member_04{
	text-align: left;
	margin: 20px 0 0px 110px;
	float: left;
}
	.sp_ins{
		display: inline;
		width: 50%;
	}
.sp_ins_02{display: inline;}

@media all and (max-width: 767px) {
.ins_member{
	margin: 10px 0 5px 10px;
	clear: both;
}
.ins_member_02{
display: none;
}
.ins_member_03{
display: none;
}
.ins_member_04{
display: none;
}
	.sp_ins{
		width: 50%;
		margin: 0 0 10px 0;
		float:left;
	}
	.sp_ins_02{
		width: 45%;
		margin: 0 10px 10px 0;
		float:left;
	}
	.sp_ins_02 img{
		width: 100%;
	}
	.p_mem_02 {
		padding: 20px 0 0px 0 ;
	}
.p_mem_02 img{
	margin: 5px 0px 0 10px;}


.t_mem{
	width: 100%;
	margin: 0 0 10px 0;
}	
}

.cb{clear:both;}


.kouen{
text-align: center;;
	padding: 0px 0 30px 0;
}

@media all and (max-width: 767px) {

	.kouen img{	 width: 100%;}
}


.moushikomi{
	background: #172D8E; padding: 10px; margin: 0 0 0 0; color: #FFFFFF; text-align: center;
}

.t_shop{
	border: 1px solid #3a4258; padding: 5px 8px 5px 8px;
}

.lh17{
	line-height: 1.7em !important;
}



.txt_aboutsouke{
	color:#b28247;
	font-weight: bold;
	font-size: 1.2em;
	line-height: 150%;
}

.bg_flower{
	width: 100%;
	text-align: center;
margin: 0 auto;
	padding: 20px 0 0 0;
}

@media all and (max-width: 767px) {
	.bg_flower img{
		width: 50%;
		margin: -80px auto -80px auto !important;
	}
	
}

.access_bus a{
color:#2658BC;
}

.sec05 ul li{
	text-align: left;
	line-height: 2em;
	font-size: 120%;
}

ul.caution_p li::before {
  content: "◇ ";
}

.sec05 ul li:first-child{
	margin-bottom: 1em;
}


.box_time{
	margin: 20px auto 0;
	width: 60% !important;
	font-size: 1.2em;
	border: 1px dotted #666666;
	padding: 25px 20px 25px 50px;
	background: #ffffff;
	text-align: left;
}

.box_time_b{
	font-weight: bold;
	font-size: 1.3em;
	line-height: 180%;
}

.time{
	width: 70%;
	
	margin: 30px auto 30px auto;
	text-align: left;
}

.time img{
	width: 100%;
}


@media all and (max-width: 767px) {
.box_time{
	margin: 30px auto;
	padding: 20px;
	width: 90% !important;
	font-size: 1em;
}

	
.time{
	width: 100%;
	text-align: center;
}
.time img{
	width: 70%;
	margin: 0 auto;
}

}

.item-movie {
	position: relative;
	padding-top: 56.25%;
	margin: 40px auto -70px auto;
}
.item-movie iframe {
	position: absolute;
	top: 0;
	left: 114px;
	width: 768px !important;
	height: 432px!important;
}
	

@media all and (max-width: 767px) {
.item-movie {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin: 0px 0 0px 0;
}
.item-movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
	
}



.sil{
	margin: 10px auto 30px auto;
	text-align: center;
	
}
.sec02_01_lead_img{
	margin: 20px auto 30px auto;
	text-align: center;
	
}
	
.date{
	text-align: center;
	margin: 20px auto 30px auto;
}

@media all and (max-width: 767px) {
.sec02_01_lead_img{
	margin: 20px auto 20px auto;
	text-align: center;
	
}
	
	
.sil{
	margin: -20px auto 20px auto;
	text-align: center;
	
}
	
.date{
	margin: 30px auto 0px auto;
}
.date img{
	width: 100%;
}
	
}

.red{
	color: #f92121;
	font-size: 0.9em;
}


.kc{border: 1px dotted #999999; padding: 15px 15px 15px 30px; margin: 10px 0 20px 0;
}

.mb50{margin-bottom:50px;}

a.sample_btn {
  display: block;
  width: 250px;
  text-align: center;
  text-decoration: none;
  line-height: 60px;
  color: #fff;
  background-color: #000000;
	margin: 50px auto 50px;
		
}
a.sample_btn:hover {
  background-position: right center;
  background-size: 200% auto;
  -webkit-animation: pulse 2s infinite;
  animation: ripple 1.5s infinite;
  color: #fff;
}
@keyframes ripple {
  0% {box-shadow: 0 0 0 0 #000000;}
  70% {box-shadow: 0 0 0 10px rgb(27 133 251 / 0%);}
  100% {box-shadow: 0 0 0 0 rgb(27 133 251 / 0%);}
}

.table-wrap {
  overflow-x: scroll;
}
.table {
  width: 100%;
  border-collapse: collapse;
  white-space: nowrap;
}
.table th,
.table td {
  border: 2px solid #eee;
  padding: 4px 8px;
}

.form_btn{border: 1px solid #24b5aa;
	padding: 2em;
	text-align: center;}


.button a {
    background: #24b5aa;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: auto;
    max-width: 250px;
    padding: 10px 25px;
    font-family: "Noto Sans Japanese";
    text-decoration: none;
    color: #fff;
    line-height: 1.8;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.button a:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.button a:hover {
  background: #333;
  color: #FFF;
}
.button a:hover:after {
  right: 1.4rem;
}

.sample4-2::before{
	width: 12px;
	height: 12px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #7a0;
}
.sample4-2::after{
	left: 5px;
	box-sizing: border-box;
	width: 3px;
	height: 3px;
	border: 3px solid transparent;
	border-left: 3px solid #fff;
}
