@charset "utf-8";

/* RESET & SETTING
----------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
}

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
	display: block; /* FOR IE8 */
}

body {
	-webkit-text-size-adjust:none;
}

body,
table,
input, textarea, select, option {
	color: #333;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}  

a:link,
a:visited {
	color: inherit;
	text-decoration: underline;
}

a:active,
a:hover {
	color: inherit;
	text-decoration: none;
}

br {
	letter-spacing: normal;
}

img {
	vertical-align: top;
}

ol, ul {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

::selection { 
	background: #B4881D;
	color: #fff;
}
::-moz-selection { 
	background: #B4881D;
	color: #fff;
}

.clearfix:after,
#main .logo_box:after,
#introduction:after,
#cast ul:after,
#column:after,
#access_ticket .access:after,
#access_ticket .sns:after,
.profile_box_inner:after,
#main .logo_box .sp_only:after {
	content: ".";
	display: block;	
	height: 0;	
	clear: both;
	visibility: hidden;
}

/* UTILITY
----------------------------------------------- */
.sp_only {
	display: none;
}

/* STYLE - MAIN
----------------------------------------------- */
article {
	padding-top: 64px;
}

#main {
	position: relative;
	width: 100%;
	height: 800px;
	background: url(../img/bg_gold_pc.jpg) top center repeat-x;
	text-align: center;
}

#main .logo_box {
	position: absolute;
	top: 0;
	width: 100%;
}

#main .logo_box .logo_40th {
	float: left;
	padding: 28px 0 0 28px;
}

#main .logo_box .logo_afik {
	float: right;
	padding: 28px 32px 0 0;
}

#main h1 {
	padding: 128px 0 84px;
}

#main nav {
	position: fixed;
	top: 0;
	width: 100%;
	border-bottom: 1px solid #80676B;
	background-color: #161616;
	z-index: 998;
}

#main nav li {
	display: inline-block;
	padding: 0 40px;
}

#main nav li img {
	height: 64px;
	width: auto;
}

#main nav .pc_only {
	position: fixed;
	top: 0;
	right: 20px;
}

#main nav .pc_only li {
	padding: 0;
}

#main nav .pc_only img {
	padding-top: 4px;
	height: 56px;
	width: auto;
}

/* STYLE - INTRODUCTION
----------------------------------------------- */
#introduction,
#cast,
#column,
#access_ticket {
	width: 944px;
	margin: -40px auto 40px;
	padding-top: 120px;
}

.contentbox_black {
	background:url(../img/bg_red_bottom.jpg) center bottom no-repeat #2B0208;
	color: #eee;
}

#introduction {
	padding-top: 160px;
	background:url(../img/bg_red_top.jpg) center top no-repeat;
}

#introduction .column01 {
	margin-bottom: 120px;
	font-size: 13px;
	line-height: 2.2;
	text-align: center;
}

#introduction h2 {
	margin-bottom: 24px;
}

#introduction .column02,
#introduction .column03 {
	font-size: 12px;
	line-height: 1.8;
}

#introduction .column02 {
	float: left;
	width: 664px;
}

#introduction .column03 {
	float: right;
	width: 236px;
}

#introduction .column02 p,
#introduction .column03 p {
	text-align: justify;
	text-justify: inter-ideograph;
}

/* STYLE - CAST
----------------------------------------------- */
#cast ul {
	margin-right: -24px;
}

#cast li {
	float: left;
	padding-bottom: 48px;
	cursor: pointer;
}

#cast li.pc_m01 { margin-right: 24px; }
#cast li.pc_m02 { margin-right: 16px; }
#cast li.pc_m03 { margin-right: 72px; }

#cast li img {
	width: 120px;
	height: auto;
}
#cast li.large img {
	width: 144px;
	height: auto;
}

#cast p {
	font-size: 12px;
	line-height: 2;
	text-align: center;
}
#cast p.large {
	padding-bottom: 16px;
	font-size: 16px;
}

/* STYLE - COLUMN
----------------------------------------------- */
#column {
	padding-bottom: 120px;
	
}

#column h2 {
	margin-bottom: 24px;
}

#column .column04 {
	font-size: 12px;
	line-height: 1.8;
}

#column .column04 p {
	text-align: justify;
	text-justify: inter-ideograph;
}

/* STYLE - ACCESS_TICKET
----------------------------------------------- */
#access_ticket {
	padding-bottom: 120px;
}

#access_ticket h3 {
	margin-bottom: 48px;
}

#access_ticket .access {
	margin-bottom: 88px;
}

#access_ticket .access .access_text {
	float: left;
	font-size: 12px;
	line-height: 1.8;
}

#access_ticket .access .access_text h4 {
	font-size: 16px;
	font-weight: normal;
}

#access_ticket .access .access_text h4 img {
	padding-right: 6px;
	height: 32px;
	width: auto;
	vertical-align: bottom;
}

#access_ticket .access .access_text .large {
	padding: 24px  0;
	font-size: 16px;
}

#access_ticket .access .access_map {
	float: right;
}

#access_ticket .ticket {
	margin-bottom: 64px;
}

#access_ticket .ticket h4 {
	font-size: 20px;
	font-weight: normal;
}

#access_ticket .ticket h4 span {
	padding-left: 16px;
	color: #c00;
	font-size: 12px;
	font-weight: bolder;
	vertical-align: 0.2em;
}

#access_ticket .ticket p {
	font-size: 12px;
	line-height: 1.8;
}
#access_ticket .ticket p.large {
	padding: 16px 0;
	font-size: 16px;
}
#access_ticket .ticket p.middle {
	margin-left: -7px;
	font-size: 14px;
}
#access_ticket .ticket p.small {
	padding: 20px 0;
	font-size: 10px;
	line-height: 1.6;
}

#access_ticket .ticket p.large span {
	font-size: 12px;
	vertical-align: 0.1em;
}

#access_ticket .ticket p strong,
#access_ticket .ticket li strong {
	font-weight: 900;
}

#access_ticket .event {
	margin-bottom: 80px;
}

#access_ticket .event h4 {
	margin: 0 0 20px -8px;
	font-size: 16px;
	font-weight: normal;
}

#access_ticket .event table {
	width: 100%;
	background-color: #EEE;
	text-align: left;
}

#access_ticket .event table th {
	padding: 8px 0 8px 25px;
	font-size: 14px;
	text-align: left;
	
}
.event table th p{
display: inline-block;
vertical-align: middle;
text-align:center;
}
.event table th p img{
	margin-top:10px;
}
.event table th .p_img{
	display: inline-block;
vertical-align: middle;
	padding:10px 5px 20px 0px;
}

.p_middle1{
	width:250px;
	text-align:left !important;
}

.p_middle2{
	width:145px !important;
	text-align:center !important;
}


#cast_c{
	margin-top:5px;	
	}
#cast_c p{
	margin-top:5px;
	width:98px;
	}

#cast_c p img{
	padding-bottom:5px;
}
#cast_c p span{
	margin-left:0.2em;
}
	
#access_ticket .event table th span {
	white-space:nowrap;
	font-size: 11px;
}

#access_ticket .event table td {
	padding: 20px 12px 16px 0px;
	font-size: 12px;
	line-height: 1.8;
}

#access_ticket .event table th, 
#access_ticket .event table td {
	border-bottom: 1px solid #fff;
}

#access_ticket .sns {
	margin-bottom: 80px;
}

#access_ticket .sns .twitter {
	float: left;
	width: 420px;
	height: 654px;
	padding: 24px;
	background-color: #EBF4F7;
}

#access_ticket .sns .facebook {
	float: right;
	width: 420px;
	height: 654px;
	padding: 24px;
	background-color: #ECEEF4;
}

#access_ticket .sns h4 {
	margin: 0 0 20px -8px;
	font-size: 16px;
	font-weight: normal;
}

#access_ticket .sns h5 {
	margin-bottom: 22px;
}

#access_ticket .sns .share_button {
	text-align: center;
} 

#access_ticket .sns .share_button li {
	display: inline-block;
	padding: 112px 20px 0;
	line-height: 0.7;
}

#access_ticket .credit {
	font-size: 12px;
	line-height: 3;
	text-align: center;
}

#access_ticket .credit img {
	padding-left: 12px;
}

#access_ticket .credit .sponsor {
	padding-top: 48px;
}

#access_ticket .credit .sponsor span {
	font-size: 16px;
}

#access_ticket .credit .sponsor img {
	padding-right: 6px;
	height: 32px;
	width: auto;
	vertical-align: middle;
}

/* STYLE - PAGE TOP
----------------------------------------------- */
.page_top {
	position: fixed;
	right: 0;
	bottom: 0;
	display: none;
}

/* STYLE - PROFILE
----------------------------------------------- */
.profile_box {
	position: fixed;
	top: 50%;
	left:50%;
	margin: -220px 0 0 -472px;
	padding: 44px 0 20px;
	width: 944px;
	height: 360px;
	border-top: 1px solid #666;
	border-bottom: 1px solid #666;
	z-index: 1000;
}

.profile_box .profile_box_inner {
	color: #fff;
	font-size: 12px;
	line-height: 2;
}

.profile_box .cast_photo {
	float: left;
	padding-right: 40px;
}

.profile_box .cast_text {
	overflow: auto;
}

.profile_box .cast_text img {
	padding-bottom: 26px;
	height: 80px;
	width: auto;
}
.profile_box .inner01 .cast_text img,
.profile_box .inner02 .cast_text img {
	height: 58px;
	width: auto;
}

.profile_box .cast_text p {
	text-align: justify;
	text-justify: inter-ideograph;
}

.profile_box .cast_close {
	position: absolute;
	top: 48px;
	right: 0;
	text-align: right;
}

.profile_box .cast_close img {
	height: 24px;
	width: auto;
}

/* STYLE - COVER
----------------------------------------------- */
#cover,
.cover_modal {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	background-color: #2B0208;
	z-index: 999;
	
}

.cover_modal {
	opacity: .9;
}

.cover_modal,
.profile_box,
.cast_close,
.profile_box_inner {
	display: none;
}

/* STYLE - NOSCRIPT
----------------------------------------------- */
#noscript{
	width: 100%;
	position: absolute;
	top: 42%;
	color: #fff;
	letter-spacing: 1px;
	line-height: 3;
	text-align: center;
	z-index: 1000;
}

@media screen and (max-width : 767px) {
	
	/* UTILITY & SETTING
	----------------------------------------------- */
	.pc_only {
		display: none;
	}
	.sp_only {
		display: block;
	}

	img {
		max-width: 100%;
		height: auto;
	}
	
	/* STYLE - MAIN
	----------------------------------------------- */
	article {
		padding-top: 0;
	}
	
	#main {
		height: 506px;
		background: url(../img/bg_gold_sp.jpg) top center repeat-x;
		-webkit-background-size: 640px 440px;
		-moz-background-size: 640px 440px;
		background-size: 640px 440px;
	}	
	
	#main .logo_box .logo_40th {
		padding: 12px 0 0 12px;
	}
	
	#main .logo_box .logo_40th img {
		height: 24px;
		width: auto;
	}
	
	#main .logo_box .sp_only {
		position: absolute;
		top: 10px;
		right: 72px;
	}
	
	#main .logo_box .sp_only li {
		float: left;
		padding: 0 6px;
	}
	
	#main .logo_box .sp_only img {
		height: 28px;
		width: auto;
	}
	
	#main .logo_box .logo_afik {
		padding: 12px 12px 0 0;
	}
	
	#main .logo_box .logo_afik img {
		height: 20px;
		width: auto;
	}
	
	#main h1 {
		padding: 88px 0 40px;
	}
	
	#main h1 img {
		height: 104px;
		width: auto;
	}
	
	#main .text_hero img {
		height: 108px;
		width: auto;
	}
	
	#main nav {
		position: absolute;
		top: auto;
		bottom: 0;
	}
		
	#main nav li {
		float: left;
		width: 49.8%;
		padding: 0;
		text-align: center;
	}
	#main nav li:first-child,
	#main nav li:nth-child(2) {
		border-bottom: 1px solid #80676B;
	}
	#main nav li:nth-child(odd) {
		border-right: 1px solid #80676B;
	}
	
	#main nav li a {
		display: block;
		width: 100%;
		height: 100%;
	}
	
	#main nav li img {
		height: 52px;
		width: auto;
	}
	
	/* STYLE - INTRODUCTION
	----------------------------------------------- */
	.contentbox_black {
		padding-bottom: 40px;
		-webkit-background-size: 800px 533px;
		-moz-background-size: 800px 533px;
		background-size: 800px 533px;
	}
	
	#introduction,
	#cast,
	#column,
	#access_ticket {
		width: auto;
		margin: 0;
		padding: 60px 6.25% 0;
	}
	
	#introduction {
		-webkit-background-size: 512px 232px;
		-moz-background-size: 512px 232px;
		background-size: 512px 232px;
	}
	
	#introduction .column01 br {
		display: none;
	}
	
	#introduction .column01,
	#introduction .column02,
	#introduction .column03 {
		float: none;
		width: auto;
		margin-bottom: 32px;
		font-size: 11px;
		line-height: 1.8;
		text-align: left;		
	}
	#introduction .column03 {
		margin-bottom: 0;
	}

	#introduction h2 {
		margin-bottom: 16px;
		text-align: center;
	}
	
	#introduction .column02,
	#introduction .column03 {
		padding-top: 36px;
		border-top: 1px solid #80676B;
	}
	
	#introduction .column02 .sp_only {
		margin: -2px 0 16px 0;
		font-size: 14px;
		text-align: right;
	}
			
	/* STYLE - CAST
	----------------------------------------------- */
	#cast {
		padding-top: 40px;
	}
	
	#cast ul {
		margin: 0 auto;
	}
	
	.event table td{
		
		
	}
	
	#cast li.pc_m01,
	#cast li.pc_m02,
	#cast li.pc_m03 { margin-right: 0; }
	#cast li {
		width: 30%;
		margin-right: 5% !important;
		padding-bottom: 36px;
	}
	#cast li.large {
		width: 46.4285%;
		margin-right: 7.1428% !important;
		padding-bottom: 48px;
	}
	#cast li.sp_m01 {
		margin-right: 0 !important;
	}
	
	#cast li img,
	#cast li.large img {
		width: 100%;
		height: auto;
	}
	
	#cast p {
		font-size: 11px;
		line-height: 1.8;
		text-align: left;
	}
	#cast p.large {
		font-size: 14px;
		line-height: 1.8;
	}
	
	.pimg{
		width:40% !important
	
	}

	.p_middle2{
		
	}
	
	tr .opabtn img{
		height:24px !important
	}
	
	#cast_c{
		width:100%;
		
	}
	
	/* STYLE - COLUMN
	----------------------------------------------- */
	#column h2 {
		margin-bottom: 16px;
		text-align: center;
	}
	
	#column .column04 {
		width: auto;
		font-size: 11px;
		line-height: 1.8;
	}
						
	#column .column04 .sp_only {
		margin: -2px 0 16px 0;
		font-size: 14px;
		text-align: right;
	}
	
	/* STYLE - ACCESS_TICKET
	----------------------------------------------- */
	#access_ticket {
		padding-bottom: 60px;
	}
	
	#access_ticket h3 {
		margin-bottom: 32px;
	}
	
	#access_ticket .access {
		margin-bottom: 40px;
	}
	
	#access_ticket .access .access_text {
		font-size: 11px;
		line-height: 1.8;
	}
	
	#access_ticket .access .access_text h4 {
		font-weight: normal;
	}
	
	#access_ticket .access .access_text h4 img {
		height: 23px;
		vertical-align: top;
	}
	
	#access_ticket .access .access_text .large {
		padding: 16px  0;
		font-size: 11px;
	}
	
	#access_ticket .access .access_text .small {
		font-size: 9px;
	}
	
	#access_ticket .access .access_text ul {
		margin-bottom: 16px;
	}
	
	#access_ticket .access .access_text li br {
		display: none;
	}
	
	#access_ticket .access .access_map {
		float: none;
		text-align: center;
	}
	
	#access_ticket .ticket {
		margin-bottom: 32px;
	}
	
	#access_ticket .ticket h4 {
		font-size: 14px;
		font-weight: normal;
	}
	
	#access_ticket .ticket h4 span {
		display: block;
		padding: 8px 0 0 0;
		font-size: 10px;
		font-weight: bolder;
	}
	
	#access_ticket .ticket p {
		font-size: 12px;
		line-height: 1.8;
	}
	#access_ticket .ticket p.large {
		padding: 16px 0;
		font-size: 14px;
	}
	#access_ticket .ticket p.middle {
		margin-left: 0;
		font-size: 11px;
	}
	#access_ticket .ticket p.small {
		padding: 16px 0;
		font-size: 9px;
	}
	
	#access_ticket .ticket p.large span {
		font-size: 9px;
	}

	#access_ticket .event {
		margin-bottom: 40px;
	}
	
	#access_ticket .event h4 {
		margin: 0 0 16px -8px;
		font-size: 14px;
		font-weight: normal;
	}
		
	#access_ticket .event table th {
		padding: 16px 16px 4px 16px;
		border: none;
	}
	
	#access_ticket .event table th span {
		font-size: 11px;
	}
	
	#access_ticket .event table td {
		padding: 0 12px 12px 16px;
		font-size: 11px;
		line-height: 1.6;
	}
	
	
	
	#access_ticket .event table th, 
	#access_ticket .event table td {
		display: block;
	}
	
	#access_ticket .sns {
		margin-bottom: 56px;
	}
	
	#access_ticket .sns h4 {
		margin: 0 0 16px -6px;
		font-size: 14px;
		font-weight: normal;
	}
	
	#access_ticket .sns h4 .sp_only {
		display: inline-block;
	}
	
	#access_ticket .sns .twitter,
	#access_ticket .sns .facebook {
		width: auto;
		height: auto;
		padding: 0;
		float: none;
		background: none;
	}
	
	#access_ticket .sns .twitter  {
		margin-bottom: 8px;
	}
	
	#access_ticket .sns .twitter iframe,
	#access_ticket .sns .facebook .fb_iframe_widget iframe,
	#access_ticket .sns .facebook .fb_iframe_widget span {
		height: 440px !important;
	}
	
	#access_ticket .sns .share_button ul {
		width: 200px;
		margin: 0 auto;
		overflow: hidden;
	}
	
	#access_ticket .sns .share_button li {
		padding: 64px 20px 0;
	}
	
	#access_ticket .credit {
		font-size: 11px;
		line-height: 1.8;
		text-align: center;
	}
	
	#access_ticket .credit img {
		padding: 0 0 6px 6px;
		vertical-align: middle;
	}
	
	#access_ticket .credit .credit_top {
		text-align: left;
	}	
	
	#access_ticket .credit .credit_top p:nth-child(2) {
		margin-bottom: 20px;
	}
			
	#access_ticket .credit .sponsor img {
		height: 23px;
	}
	
	.prof_sc1{
		width:100%;
		text-align:center;
	}
	
	.prof_sc1 span{
		display:block;
		width:100%;
		text-align:center !important;
	}
	
	.prof_sc1 img{
		height:46px !important;
		width:auto !important;
		margin-bottom:30px;
	}
	
	/* STYLE - PROFILE
	----------------------------------------------- */
	.profile_box {
		position: absolute;
		top: 0;
		left: 0;
		width: auto;
		height: auto;
		margin: 0;
		padding: 20px;
		border: none;
		z-index: 1000;
	}
	
	.profile_box .profile_box_inner {
		margin-bottom: 20px;
		padding: 20px 0;
		border-top: 1px solid #666;
		border-bottom: 1px solid #666;
		font-size: 11px;
		line-height: 1.8;
	}
	
	.profile_box .cast_photo {
		float: left;
		padding-right: 24px;
	}
	
	.profile_box .cast_photo img {
		height: 160px;
		width: auto;			
	}
		
	.profile_box .cast_name {
		position: relative;
		padding: 0 0 20px 0;
		height: 160px;
	}
	
	.profile_box .cast_text {
		overflow: visible;
	}
	
	.profile_box .cast_text img {
		position: absolute;
		top: 50%;
		left: 148px;
		margin-top: -32px;
		height: 50px;
		width: auto;
	}
	.profile_box .inner18 .cast_text img {
		margin-top: -18px;
		height: 32px;
		width: auto;
	}
	
	.profile_box .cast_text a {
		display: block;
	}
					
	.profile_box .cast_close {
		position: static;
		text-align: center;
	}
	
	.profile_box .cast_close img {
		width: 145px;
		height: 18px;
	}
	
	.inner17 .cast_name img,.inner16 .cast_name img{
		height:18%;
		
	}
	
	
	.inner14 .cast_name,.inner15 .cast_name{
		height:80px !important;
		}
	
	.inner14 .cast_name img,
	.inner15 .cast_name img{
		left:0 !important;
		height:39px !important;
		width:auto !important;
		max-width:none;
		
	}
	
}

@media screen and (max-width : 320px) {
	
	/* UTILITY
	----------------------------------------------- */
	.column03,
	.column04,
	.cast_text {
		word-break: break-all;
	}
}
