@charset "utf-8";

/* CSS Reset
----------------------------------------------------------------------*/
* {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box; 
}
main, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

ul { list-style: none; }
ol { 
	list-style: decimal;
	list-style-position: outside;
	padding-left: 1em;
}
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration:none;
}

del { text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
table {
	border-collapse: collapse;
	border-spacing: 0; 
	table-layout: fixed;
}
table th,
table td { word-wrap: break-word; }
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; 
}
input, select {vertical-align: middle; }
img { border: 0; vertical-align: top; max-width: 100%; height: auto; }
button {
	-webkit-appearance: none;
	appearance: none;
	border: none;
	outline: none;
	background-color: transparent;
	cursor: pointer;
}
select {
	-webkit-appearance: none;
	appearance: none;
}

/* clearfix */
.clearfix:after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}  

.clearfix { display: inline-table; }  
* html .clearfix { height: 1%; }
.clearfix { display: block; }  

iframe { vertical-align: bottom; }

/* Default Link Color
----------------------------------------------------------------------*/
a {
	color: #000;
	text-decoration: underline;
	-webkit-transition: color .3s ease, background .3s ease; 
	-o-transition: color .3s ease, background .3s ease; 
	transition: color .3s ease, background .3s ease; 
	will-change: color, background;
}

/* Base Setting
----------------------------------------------------------------------*/
html { 
	font-size: 62.5%; 
	height: 100%;
	overflow: auto;
}
body {
	color: #FFF;
	font-size: 16px;
	font-family: 'YuGothic M', '游ゴシック', YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
	width: 100%;
	min-width: 900px;
	min-height: 100%;
	background-color: #28282E;
	line-height: 1.6;
	-ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}
/* IE */
@media all and (-ms-high-contrast: none) {
	body { font-family: 'Lato', 'メイリオ', Meiryo, sans-serif; }
}

/* Common
----------------------------------------------------------------------*/
.alt-img {
	display: block;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}
.container {
	color: #000;
	width: 900px;
	background-color: #CCD2D4;
	margin: 0 auto;
}
.button {
	display: block;
	color: #FFF;
	font-size: 14px;
	font-weight: bold;
	width: 100px;
	background-color: #0A6EAD;
	margin: 0 auto 50px;
	padding: 5px 10px;
	border-radius: 5px;
	text-decoration: none;
	text-align: center;
}
.button:hover { background-color: #60A1CA; }
.button.large {
	display: block;
	font-size: 18px;
	width: 600px;
	margin: 0 auto 40px;
	padding: 10px 15px;
	background-color: #FE7FB2;
}
.button.large:hover { background-color: #F3A9C6; }


.title { 
	position: relative;
	text-align: center;
}
.title:before {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	content: " ";
	width: 54px;
	height: 145px;
	background: url(../images/common/bg_title.png) center center no-repeat;
	background-size: contain;
	margin: -80px 0 0 -27px;
	z-index: 1;
}
.title img {
	position: relative;
	z-index: 2;
}
/* Retina */
@media (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 1.5dppx) {
	.title:before { background-image: url(../images/common/bg_title@2x.png); }
}

section .title { margin: 60px auto 80px; }


/* グリッド
--------------------------------------------------*/
.row { 
	position: relative;
	font-size: 0;
	width: 100%;
}
.row .col {
	display: inline-block;
	font-size: 14px;
	vertical-align: top;
}
.row .col-12 { width: 100%; }
.row .col-11 { width: 91.66666667%; }
.row .col-10 { width: 83.33333333%; }
.row .col-9 { width: 75%; }
.row .col-8 { width: 66.66666666%; }
.row .col-7 { width: 58.33333333%; }
.row .col-6 { width: 50%; }
.row .col-5 { width: 41.66666667%; }
.row .col-4 { width: 33.33333333%; }
.row .col-3 { width: 25%; }
.row .col-2 { width: 16.66666667%; }
.row .col-1 { width: 8.33333333%; }


/* アニメーション
--------------------------------------------------*/
@-webkit-keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		 opacity: 1;
    }
}
@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		 opacity: 1;
    }
}

.fadeIn { 
	opacity: 0;
	-webkit-animation: fadeIn 2s ease; 
	-o-animation: fadeIn 2s ease;
	animation: fadeIn 2s ease; 
	-webkit-animation-fill-mode: forwards;
	-o-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	-webkit-animation-delay: .3s;
	-o-animation-delay: .3s;
	animation-delay: .3s; 
	will-change: opacity;
}

@-webkit-keyframes blurIn {
	from {
		opacity: 0;
		-webkit-filter: blur(3px);
		-o-filter: blur(3px);
		filter: blur(3px);
	}
	to {
	 	opacity: 1;
		-webkit-filter: blur(0px);
		-o-filter: blur(0px);
		filter: blur(0px);
	}
}
@keyframes blurIn {
	from {
		opacity: 0;
		-webkit-filter: blur(3px);
		-o-filter: blur(3px);
		filter: blur(3px);
		will-change: blur;
	}
	to {
	 	opacity: 1;
		-webkit-filter: blur(0px);
		-o-filter: blur(0px);
		filter: blur(0px);
	}
}
.blurIn {
	opacity: 0;
	-webkit-animation: blurIn 2s ease; 
	-o-animation: blurIn 2s ease; 
	animation: blurIn 2s ease; 
	-webkit-animation-fill-mode: forwards;
	-o-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	will-change: filter opacity;
}

.invisible { opacity: 0; }

.ie9 .invisible,
.ie9 .fadeIn,
.ie9 .blurIn { opacity: 1; }

/* header
----------------------------------------------------------------------*/
header {
	position: relative;
	width: 100%; 
	background: url(../images/header/img_keyvis.jpg) center top no-repeat;
}
header:before {
	position: absolute;
	top: 0;
	left: -500px;
	display: block;
	content: " ";
	width: 100%;
	height: 80px;
	background-color: #FF81B6;
	-webkit-transform: rotate(-16deg);
	-ms-transform: rotate(-16deg);
	-o-transform: rotate(-16deg);
	transform: rotate(-16deg);
	z-index: 1;
}
header .inner {
	position: relative;
	width: 900px;
	height: 1052px;
	margin: 0 auto;
	padding-top: 35px;
}
header .logo {
	position: absolute;
	bottom: -130px;
	right: 0;
	width: 472px;
	height: 390px;
	background: url(../images/header/logo.png) left top no-repeat;
	background-size: contain;
}
header .lead {
	width: 598px;
	height: 125px;
	background: url(../images/header/txt_lead.png) left top no-repeat;
	background-size: contain;
	margin: 0 auto;
}
header .schedule {
	width: 900px;
	margin: 0 auto 40px;
	padding-top: 140px;
}
header .schedule li { border-left: 1px solid #FFF; }
header .schedule li:last-child { border-right: 1px solid #FFF; }
header .schedule .tokyo {
	width: 450px;
	height: 113px;
	background: url(../images/header/txt_tokyo.png?ver=170530) left top no-repeat;
	background-size: contain;
}
header .schedule .hyogo {
	width: 450px;
	height: 113px;
	background: url(../images/header/txt_hyogo.png) left top no-repeat;
	background-size: contain;
}
/* Retina */
@media (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 1.5dppx) {
	header .logo { background-image: url(../images/header/logo@2x.png); }
	header .lead { background-image: url(../images/header/txt_lead@2x.png); }
	header .schedule .tokyo { background-image: url(../images/header/txt_tokyo@2x.png?ver=170530); }
	header .schedule .hyogo { background-image: url(../images/header/txt_hyogo@2x.png); }
}

nav { padding: 100px 0 60px; }
nav .gNavi {
	font-size: 0;
	text-align: center;
}
nav .gNavi li {
	display: inline-block;
	font-size: 16px;
	margin-left: 60px;
	vertical-align: top;
}
nav .gNavi li:first-child { margin-left: 0; }
nav .gNavi .title:before {
	opacity: 0;
	-webkit-transform: scale(0) rotate(360deg);
	transform: scale(0) rotate(360deg);
	-webkit-transition: .3s ease-in;
	transition: .3s ease-in;
	will-change: opacity transform;
}
nav .gNavi .title:hover:before {
	opacity: 1;
	-webkit-transform: scale(0.8) rotate(0);
	transform: scale(0.8) rotate(0);
}
nav .gNavi li a { display: block;  }

/* main style
----------------------------------------------------------------------*/
/* plot 
--------------------*/
#plot .txt {
	font-size: 17px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "Sawarabi Mincho", serif;
	width: 630px;
	margin: 0 auto 120px;
	line-height: 1.7;
}
#plot .txt p { margin-bottom: 25px; }
#plot .author span { font-size: 21px; }
#plot .author a {
	color: #0A6EAD;
	border-bottom: 1px solid;
	padding-bottom: 2px;
	text-decoration: none;
}
#plot .author a:hover { color: #60A1CA; }

/* cast
--------------------*/
#cast .name {
	width: 519px;
	height: 231px;
	background: url(../images/cast/txt_name.png) left top no-repeat;
	background-size: contain;
	margin: 0 auto 30px;
}
#cast .photo { 
	margin-bottom: 120px;
	overflow: hidden; 
}
#cast .photo li { float: right; }

/* Retina */
@media (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 1.5dppx) {
	#cast .name	{ background-image: url(../images/cast/txt_name@2x.png); }
}

/* tokyo & hyogo
--------------------*/
.schedule .detail {
	font-size: 20px;
	margin-bottom: 50px;
	text-align: center;
}
.schedule .timeTable {
	font-size: 0;
	width: 624px;
	margin: 0 auto 20px;
	text-align: center;
}
.schedule .timeTable.btm { margin-bottom: 60px; }
.schedule .timeTable dl {
	display: inline-block;
	font-size: 16px;
	width: 10%;
	background: #FFF;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	text-align: center;
}
.schedule .timeTable dl:first-child { border-left: 1px solid #000; }
.schedule .timeTable dl dt {
	color: #FFF;
	font-weight: bold;
	background-color: #9DB0C2;
	padding: 8px 0;
}
.schedule .timeTable dl dd {
    border-bottom: 1px solid #000;
	padding: 8px 0;
}
.schedule .timeTable .marge dd:nth-child(3),
.schedule .timeTable .marge dd:nth-child(4) { border-color: #FFF; }

.schedule .contact {
	font-size: 17px;
	text-align: center;
}
.schedule .contact h4 { margin-bottom: 15px; }
.schedule .contact dt {
	font-size: 20px;
	font-weight: bold;
	margin-top: 5px;
}
.schedule .contact .note { padding-top: 30px; }
.schedule .contact .note dt,
.schedule .contact .note dd { font-size: 14px; }

#tokyo { padding-bottom: 70px; }
#tokyo .st_schedule {
	width: 554px;
	height: 153px;
	background: url(../images/tokyo/st_schedule.png?ver=170530) left top no-repeat;
	background-size: contain;
	margin: 0 auto 25px;
}

#hyogo { padding-bottom: 70px; }
#hyogo .st_schedule {
	width: 538px;
	height: 102px;
	background: url(../images/hyogo/st_schedule.png) left top no-repeat;
	background-size: contain;
	margin: 0 auto 25px;
}

/* Retina */
@media (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 1.5dppx) {
	#tokyo .st_schedule { background-image: url(../images/tokyo/st_schedule@2x.png?ver=170530); }
	#hyogo .st_schedule { background-image: url(../images/hyogo/st_schedule@2x.png); }
}

/* ticket
--------------------*/
#ticket { padding-bottom: 70px; }
#ticket .details {
	width: 790px;
	background-color: #FFF;
	margin: 0 auto;
	padding: 45px 20px;
	border-radius: 8px;
	text-align: center;
}
#ticket .details dl { margin-bottom: 20px; }
#ticket .details dl:last-child { margin-bottom: 0; }
#ticket .details dt {
	font-size: 20px;
    font-weight: bold;
    margin-bottom: 5px;
}
#ticket .details dd { font-size: 17px; }
#ticket .details ul {
	font-size: 0;
	padding-top: 10px;
}
#ticket .details li {
	display: inline-block;
	font-size: 12px;
	margin: 0 15px;
	vertical-align: top;
}
#ticket .details li span { display: block; }
#ticket .details li a { text-decoration: none;}
#ticket .details li a img {
	-webkit-transition: .3s ease;
	transition: .3s ease;
	will-change: opacity;
}
#ticket .details li a:hover img { opacity: 0.7; }

/* movie
--------------------*/
#movie { padding-bottom: 100px; }
#movie .thumbs { 
	width: 785px;
	margin: 0 auto;
}
#movie .thumbs li { 
	float: right;
	width: 185px;
	margin-left: 15px; 
}
#movie .thumbs li:last-child { margin-left: 0; }
#movie .thumbs li img { 
	width: 100%;
	-webkit-transition: opacity .3s ease;
	transition: opacity .3s ease;
}
#movie .thumbs li a:hover img { opacity: 0.6; }

.inline-movie { width: 800px; }

/* footer
----------------------------------------------------------------------*/
footer .contact {
	color: #000;
	background-color: #FF81B6;
}
footer .contact a { color: #000; }
footer .contact dl {
	font-weight: bold;
	width: 900px;
	margin: 0 auto;
	padding: 40px 0;
	text-align: center;
}
footer .contact dl dt,
footer .contact dl dd { 
	display: inline-block;
	vertical-align: middle;
}
footer .contact dl dt {
	font-size: 13px;
	margin-right: 15px;
}
footer .contact dl dd { font-size: 18px; }
footer .contact dl .tel {
	border-left: 1px solid #000;
	margin-left: 5px;
	padding-left: 10px;
}
footer .contact dl .tel svg { 
	display: inline;
	width: 20px; 
	margin-right: 5px;
}
footer .contact dl .tel span {
	font-size: 14px;
	font-weight: normal;
}
footer .copyright {
	font-size: 12px;
	padding: 20px 0;
	text-align: center;
}


/*! Lity - v2.2.2 - 2016-12-14
* http://sorgalla.com/lity/
* Copyright (c) 2015-2016 Jan Sorgalla; Licensed MIT */.lity{z-index:9990;position:fixed;top:0;right:0;bottom:0;left:0;white-space:nowrap;background:#0b0b0b;background:rgba(0,0,0,0.9);outline:none !important;opacity:0;-webkit-transition:opacity .3s ease;-o-transition:opacity .3s ease;transition:opacity .3s ease}.lity.lity-opened{opacity:1}.lity.lity-closed{opacity:0}.lity *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.lity-wrap{z-index:9990;position:fixed;top:0;right:0;bottom:0;left:0;text-align:center;outline:none !important}.lity-wrap:before{content:'';display:inline-block;height:100%;vertical-align:middle;margin-right:-0.25em}.lity-loader{z-index:9991;color:#fff;position:absolute;top:50%;margin-top:-0.8em;width:100%;text-align:center;font-size:14px;font-family:Arial,Helvetica,sans-serif;opacity:0;-webkit-transition:opacity .3s ease;-o-transition:opacity .3s ease;transition:opacity .3s ease}.lity-loading .lity-loader{opacity:1}.lity-container{z-index:9992;position:relative;text-align:left;vertical-align:middle;display:inline-block;white-space:normal;max-width:100%;max-height:100%;outline:none !important}.lity-content{z-index:9993;width:100%;-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;-o-transition:-o-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease, -webkit-transform .3s ease, -o-transform .3s ease}.lity-loading .lity-content,.lity-closed .lity-content{-webkit-transform:scale(.8);-ms-transform:scale(.8);-o-transform:scale(.8);transform:scale(.8)}.lity-content:after{content:'';position:absolute;left:0;top:0;bottom:0;display:block;right:0;width:auto;height:auto;z-index:-1;-webkit-box-shadow:0 0 8px rgba(0,0,0,0.6);box-shadow:0 0 8px rgba(0,0,0,0.6)}.lity-close{z-index:9994;width:35px;height:35px;position:fixed;right:0;top:0;-webkit-appearance:none;cursor:pointer;text-decoration:none;text-align:center;padding:0;color:#fff;font-style:normal;font-size:35px;font-family:Arial,Baskerville,monospace;line-height:35px;text-shadow:0 1px 2px rgba(0,0,0,0.6);border:0;background:none;outline:none;-webkit-box-shadow:none;box-shadow:none}.lity-close::-moz-focus-inner{border:0;padding:0}.lity-close:hover,.lity-close:focus,.lity-close:active,.lity-close:visited{text-decoration:none;text-align:center;padding:0;color:#fff;font-style:normal;font-size:35px;font-family:Arial,Baskerville,monospace;line-height:35px;text-shadow:0 1px 2px rgba(0,0,0,0.6);border:0;background:none;outline:none;-webkit-box-shadow:none;box-shadow:none}.lity-close:active{top:1px}.lity-image img{max-width:100%;display:block;line-height:0;border:0}.lity-iframe .lity-container,.lity-youtube .lity-container,.lity-vimeo .lity-container,.lity-facebookvideo .lity-container,.lity-googlemaps .lity-container{width:100%;max-width:964px}.lity-iframe-container{width:100%;height:0;padding-top:56.25%;overflow:auto;pointer-events:auto;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-overflow-scrolling:touch}.lity-iframe-container iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;-webkit-box-shadow:0 0 8px rgba(0,0,0,0.6);box-shadow:0 0 8px rgba(0,0,0,0.6);background:#000}.lity-hide{display:none}