/* ##### GENERAL CLASS ##### */
*, *:after, *::before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

html, body {
	height: 100%;
	width: 100%;
	font-family:'Noto Sans Japanese', sans-serif;
}

body {
	color: #1B152F;
	line-height: 1.4;
	
}
a:link,
a:visited {
	color: #fee900;
	text-decoration: underline;
	font-weight: bold;
}
a:focus {
	outline: none;
	text-decoration: none;
	color: #fee900;
}
a:hover {
	text-decoration: none;
	color: #fee900;
}
iframe {
	border: 0;
}
p {
	margin: 0;
	background: url(../img/bg.gif) left top repeat;
}
p.lead {
	color: #7c7c7c;
}
.no-margin{ margin:0;}

h1, h2, h3, h4, h5, h6, .section-title, .form-group label {
	margin: 0;
}
ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	font-size: 80%;
	line-height: 1.4;
	background: url(../img/bg.gif) left top repeat;
}
li {
	background: url(../img/bg.gif) left top repeat;
}

.mt5 {
	margin-top: 5px !important;
}
.mt10 {
	margin-top: 10px !important;
}
.mt15 {
	margin-top: 15px !important;
}
.mt30 {
	margin-top: 30px !important;
}
.mt40 {
	margin-top: 40px !important;
}
.mt50 {
	margin-top: 50px !important;
}



blockquote {
	border-color: #dedede;
}
/* -----------------------------------------------------------------------------
** clearfix
----------------------------------------------------------------------------- */
.clearfix {
	overflow: hidden;
	}
	
.clearfix:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
	overflow: hidden;
	}
/*\*/
* html .clearfix {
	height: 1em;
	overflow: visible;
	}
/**/




/* wrapper
----------------------------------------------------------*/
#wrapper {
	width: 1100px;
	height: 100%;
	margin: 0 auto;
	position: relative;
}


/* footer
----------------------------------------------------------*/
#footer {
	font-size: 75%;
	text-align: center;
	color: #fff;
	padding: 12px;
	margin: 0 auto;
	
}
#footer a {
	color: #F6E53E;
	text-decoration: none;
}



body {
}
#bg {
}

/* index
----------------------------------------------------------*/
body#index h1 {
	text-align: center;
	padding-top: 60px;
	padding-right: 52px;
}
body#index p.bnr01 {
	position: absolute;
	top: 80px;
	left: 10px;
	display: none;
}
body#index p.bnr02 {
	position: absolute;
	/*top: 200px;*/
	top: 80px;
	left: 80px;
}
body#index p.bnr03 {
	position: absolute;
	top: 80px;
	right: 120px;
	transform: rotate(15deg);
}
body#index p.bnr03 img {
	width: 160px;
}
body#index p.bnr04 {
	position: absolute;
	top: 205px;
	left: 80px;
}

body#index p.txt01 {
	position: absolute;
	top: 240px;
	right: 130px;
}
body#index p.bnr_visual {
	position: absolute;
	top: 330px;
	left: 80px;
}


body#index p a:hover {
	opacity: 0.9;
}

/* container
----------------------------------------------------------*/
body #container {
	background-position: top center;
	background-repeat: no-repeat;
}
body#index {
	background-image: url(../img/bg.png);
	background-position: center 41px;
	background-color: #000;
	background-repeat: no-repeat;
}
body#index #wrapper {
	height: 1120px;
	
	background-image: url(../img/bg.png);
	background-position: center 126px;
	background-repeat: no-repeat;
}
body#index #footer {
	padding-top: 426px;
}


body#under {
	background-color: #000;
}
body#under #bg {
	background-image: url(../img/bg_under01.png);
	background-position: center top;
	background-repeat: no-repeat;
	padding-top: 50px;
}
body#under #bg #wrapper {
	background-image: url(../img/bg_wrapper.png);
	background-position: center top;
	background-repeat: no-repeat;
	background-color: #e35820;
	width: 750px;
	margin: 0 auto;
	padding: 110px 50px 30px;
}
body#under #footer {
	background-image: url(../img/bg_under02.png);
	background-position: top center;
	background-repeat: no-repeat;
	height: 225px;
	padding-top: 223px;
}
body#under #footer p {
	background: #000;
	padding-bottom: 15px;
}

/* menu
----------------------------------------------------------*/
#menu {
	background-color: #000;
	overflow: visible;
}
#menu ul {
	margin:0 auto;
	padding-top: 20px;
	overflow: visible;
	width: 735px;
	height: 41px;
	position: relative;
}
#index #menu ul {
	text-align: center;
	width: 785px;
}
#menu ul li {
	display: inline-block;
	position: relative;
}
#menu ul li:nth-of-type(1) {
	padding-right: 24px;
	padding-left: 0px;
}
#menu ul li:nth-of-type(2) {
	padding-right: 24px;
}
#menu ul li:nth-of-type(3) {
	padding-right: 21px;
}
#menu ul li:nth-of-type(4) {
	padding-right: 24px;
}
#menu ul li:nth-of-type(5) {
	padding-right: 24px;
}

#menu ul li:nth-of-type(6) {
	padding-right: 20px;
}

#menu ul li:nth-of-type(7) {
	padding-right: 20px;
}
#menu ul li:nth-of-type(8) {
	padding-right: 20px;
}
#menu ul li:nth-of-type(9) {
	padding-right: 17px;
}
#menu ul li:nth-of-type(10) {
}

#under #menu ul li:nth-of-type(1),
#under #menu ul li:nth-of-type(2),
#under #menu ul li:nth-of-type(3),
#under #menu ul li:nth-of-type(4) {
	padding-right: 17px;
}
#under #menu ul li:nth-of-type(5) {
	padding-right: 25px;
}
#under #menu ul li:nth-of-type(6) {
	height: 154px;
	width: 142px;
	overflow: visible;
	padding: 0;
	position: absolute;
	top: 39px;
	left: 290px;
	z-index: 999;
}

#menu ul li a.logo {
	background-image: none;
	text-indent: 0;
}

/* social
----------------------------------------------------------*/
#social {
	
	
	width: 160px;
	height: 62px;
	margin: 0 auto;
	
	text-align: center;
	position: relative;
	overflow: visible;
}
body#index #social {
	padding: 20px 0 0;
}


#social div.facebook {
	float: left;
	width: 70px;
	margin-right: 20px;
	overflow: visible;
}
#social div.twitter {
	float: left;
	width: 70px;
	overflow: visible;
}
/*facebookのコメントが切れるので対処*/
#social div.facebook iframe,
#social .fb-like iframe,
#social .item-facebook-like iframe {
max-width: none !important;/*こちらを優先*/
z-index: 9999;
}



/* contents
----------------------------------------------------------*/
#contents {
	width: 450px;
	float: left;
	position: relative;
}
.contents {
	width: 1100px;
	margin: 0 auto;
	position: relative;
}
h2 {
	text-align: center;
}


/* top
----------------------------------------------------------*/
a.btn_movie {
	position: absolute;
	top: 30px;
	left: 620px;
}
a.btn_movie:hover img {
	opacity: 0.8;
}


/* story
----------------------------------------------------------*/
.story p {
	text-align: center;
	color: #FFF;
	line-height: 1.8;
}
.story p.txt01 {
	padding-top: 80px;
	padding-bottom: 50px;
	font-size: 140%;
}


/* about
----------------------------------------------------------*/
#wrapper.about {
	padding: 110px 0 0 !important;
}
.about p {
	text-align: center;
	margin-top: 50px;
	padding-bottom: 10px;
}


/* cast
----------------------------------------------------------*/
#wrapper.cast {
	padding: 110px 0 0 !important;
}
.cast p {
	text-align: center;
	padding: 40px 0;
}
.cast h3 {
	text-align: center;
}
.cast p.staff {
	text-align: center;
	padding: 20px 0 40px;
}


/* ticket
----------------------------------------------------------*/
.ticket {
	color: #FFF;
}
.ticket .txt {
	padding-top: 25px;
	line-height: 1.7;
}
.ticket h3 {
	text-align: center;
	margin-top: 20px;
	margin-bottom: 10px;
}
.ticket p {
	margin: 0 0 15px 10px;
	font-size: 84%;
	width: 100%;
}
.ticket p.mobile {
	margin: 0 0 0 10px;
}
.ticket p span {
	display: block;
	border: 1px dotted #000;
	padding: 5px;
	font-size: 90%;
}
.ticket ul {
	margin: 0;
	font-size: 100%;
	width: 100%;
}
.ticket ul li {
	padding: 0 0 10px;
}
.ticket ul.date li {
	padding: 0 0 15px;
}
.ticket ul.hatsubai li span {
	font-size: 130%;
}
.ticket .end {
	color: #EEE;
	font-size: 85%;
}
.ticket .endkokuchi {
	font-size: 120%;
}
.ticket ul li.tokuten {
	text-indent:0em;
  padding-left:0em;
	font-size: 80%;
}
.ticket ul li.tokuten span {
	margin-bottom: 10px;
	padding: 10px;
	display: block;
	margin-top: 10px;
	background: #ba481a;
	font-size: 100%;
}
.ticket table {
	margin: 0 0 15px;
	width: 100%;
}
.ticket table th {
	width: 50%;
	background: #802600;
	padding: 5px;
	font-weight: normal;
	border-right: 1px solid #E35A20;
}
.ticket table tr th:last-child{
	border-right: none;
}
.ticket table td {
	border-bottom: 1px solid #E35A20;
	border-right: 1px solid #E35A20;
	padding: 5px 10px;
	background: #BA481A;
	text-align: center;
}
.ticket table tr td:last-child{
	border-right: none;
}
.ticket table tr.price td {
	text-align: center;
	font-size: 170%;
}
.ticket table tr.price td span {
	font-size: 75%;
}
.ticket table tr.txt td {
	font-size: 75%;
}
.ticket iframe .box p {
	padding: 5px 0 0 !important;
}

.ticket #contents div.tokuten {
	position: absolute;
	top: 200px;
	left: 15px;
	width: 200px;
	font-size: 100%;
}
.ticket #contents div.tokuten h3 {
	margin: 0 0 4px;
	padding: 0 0 0 20px;
	font-size: 100%;
	background-image: url(../../../pmpyaro_rustedjack/sp/ticket/img/icon_tit.png);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 14px 18px; 
}

.ticket #contents div.tokuten p {
	margin: 0 0 15px 0;
	font-size: 84%;
	line-height: 1.3;
}
.ticket #contents div.tokuten p span {
	display: block;
	border: 1px dotted #000;
	margin: 5px 0 0;
	padding: 5px;
	font-size: 90%;
	background: #F0EAD2;
}

p.caution {
	color: #F5F5F5;
	text-indent: -1em;
	padding-left: 1em;
	margin-left: 0 !important;
	margin-bottom: 0 !important;
}

.ticket p.caution span {
	background: #BA481A;
	border: 1px dotted #AA4400;
	color: #FFFDC8;
	margin-top: 5px;
	padding: 7px;
	display: block;
}
.ticket p.caution02 {
	margin-top: 5px;
	padding: 7px;
}
.ticket ul.ippan li {
	line-height: 1.6;
	padding: 0 0 20px;
}

.ticket .txts {
	font-size: 90%;
}
.ticket .txts ul li {
	padding: 0 0 6px;
}
.ticket .txts ul li a {
	font-weight: normal;
}

.ticket .mail {
	text-align: center;
	font-size: 170%;
}




/* schedule
----------------------------------------------------------*/
.schedule table {
	width: 100%;
	color: #FFF;
}
.schedule .date {
	text-align: center;
	margin-top: 50px;
}
.schedule .date img {
	vertical-align: bottom;
}
.schedule p.bnr01 {
	position: absolute;
	top: 80px;
	right: 10px;
	display: none;
}
.schedule p.bnr02 {
	position: absolute;
	top: 80px;
	left: 30px;
}
.schedule p.bnr01 img,
.schedule p.bnr02 img {
	width: 120px;
}
.schedule table th{
	background: #802600;
	color: #FFF;
	border-right: 1px solid #E35A20;
	width: 25%;
	padding: 5px;
}

.schedule table td{
	text-align: center;
	border-bottom: 1px dotted #E35A20;
	border-right: 1px solid #E35A20;
	padding: 10px;
	line-height: 1;
	background: #BA481A;
}
.schedule table tr.week td{
	font-size: 80%;
	padding: 5px;
	background: #9d2e00;
	border-right: 1px solid #E35A20;
}
.schedule .pd {
	color: #aff5ff;
	font-weight: bold;
}
.schedule .event {
	color: #fff8a7;
	font-weight: bold;
}
.schedule .event img {
	margin: 0 3px;
}
.schedule ul li {
	text-indent:-1em;
  padding-left:1em;
	margin-bottom: 5px;
}
.schedule .caution {
	margin-top: 20px;
	font-size: 80%;
	color:#FFF;
}
.schedule div.caution {
	background: #944627;
	margin-bottom: 40px;
	padding: 15px 15px 10px;
	font-size: 100%;
}


/* goods
----------------------------------------------------------*/
.goods p {
	color: #FFF;
	text-align: center;
	font-size: 150%;
	padding: 60px 0 0;
}



/* access
----------------------------------------------------------*/
.access {
}
.access .txt {
	padding: 60px 0 30px;
	color: #FFF;
}
.access p.txt01 {
	font-size: 130%;
	font-weight: bold;
	margin: 0 0 5px;
}
.access iframe {
	margin: 10px 0 0;
}

/* contact
----------------------------------------------------------*/

.contact .txt {
	color: #FFF;
	text-align: center;
	padding: 60px 0 120px;
}
.contact p.txt01 {
	font-size: 130%;
	font-weight: bold;
	margin: 0 0 20px;
}
.contact p.mail {
	font-size: 150%;
	margin: 0 0 20px;
}
.contact p.tel {
	font-size: 150%;
}


/* faq
----------------------------------------------------------*/
.faq h3 {
	margin: 0 0 4px;
	padding: 40px 0 0;
	font-size: 100%;
	color: #FF0;
}
.faq p {
	color: #FFF;
	text-align: left;
	padding: 0 0 0;
	line-height: 1.8;
}

#faq #wrapper {
	background-image: url(../../../pmpyaro_rustedjack/sp/faq/img/bg02.jpg);
	background-position: top left;
	background-repeat: no-repeat;
}
#faq #contents h2 {
	position: absolute;
	top: 100px;
	left: 450px;
}
#faq {
	position: absolute;
	top: 200px;
	left: 285px;
	width: 445px;
	height: 655px;
	padding: 0px 15px 0px 0px;
	overflow: hidden;
	position: relative;
}
#faq p {
	margin: 0 0 15px 10px;
	font-size: 84%;
}
#faq ul {
	list-style-type: disc;
	margin: 0 0 15px 25px;
}
#faq span.rec {
	display: block;
	text-align: center;
	border: 1px dotted #421B24;
	margin: 10px 0;
	padding: 10px;
	font-weight: bold;
}
#faq span.mail {
	display: block;
	text-align: center;
	border: 1px dotted #421B24;
	margin: 10px 0 0;
	padding: 10px;
	font-weight: bold;
}



/*
	Headline
-------------------------------------*/
#headline {
	background:url(../../../pmpyaro_rustedjack/sp/img/bg_footer.png) left top repeat;
	border-top: 5px solid #000;
	margin: 0 0 0;
	padding: 0 0 3px;
	color: #FFF;
	height: 33px;
	font-size: 85%;
}
#headline .contents {
	display: table;
	height: 27px;
}
#headline .contents .ticker {
	display: table-cell;
	padding: 4px 7px 0;
	position: relative;
	overflow: hidden;
}
#headline .contents .ticker ul {
	position: relative;
	margin: 0;
}
#headline .contents .ticker ul li {
	display: none;
	color: #E6F067;
}
#headline .contents .ticker ul li span {
	color: #c9d533;
	font-weight: bold;
}
#headline .contents .ticker ul li a {
	color: #E6F067;
}
#headline .contents .ticker ul li img {
	vertical-align: middle;
	margin: 0 0 0 5px;
}
#headline .contents .ticker ul li img.b {
	vertical-align: text-top;
	margin: 0 5px 0 0;
}

.visual p {
	text-align: center;
	padding: 20px 0;
}
.visual p.name {
	padding: 40px 0 0;
}
.visual p.txt02 {
	padding: 70px 0 0;
}
.visual p.btn {
	padding: 30px 0 0;
}


