@charset "UTF-8";
/****************************************
Resetting
*****************************************/
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, 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,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, button {
	border: 0;
	font-size: 100%;
	font: inherit;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, main,hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
}

ol,ul,li{
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

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

input[type="submit"],
input[type="button"],
input[type="reset"]{
	appearance: button;
	border: none;
	border-radius: 0;
	box-sizing: border-box;
	cursor: pointer;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
}
button {
	background:none;
}

a{
	text-decoration: none;
	outline: none;
}
a:focus, *:focus {outline:none;}

/******************************************
normarise
******************************************/
*{
	box-sizing:border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}

body{
	color: #999;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size:20px;
	line-height: 2;
}
#wrapper {
	overflow: hidden;
}

img {
	width:auto;
	max-width:100%;
}

a{
	color: #999;
	transition: .5s;
}

a:hover{
	opacity: 0.6;
}

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

.clearfix {
	display: inline-table;
}
/* Hides from IE-mac \*/
* html .clearfix {
	height: 1%;
}
.clearfix {
	display: block;
}
/* End hide from IE-mac */

.sp {display:none !important;}

/****************************************
Layout
*****************************************/
.inner {
	width:100%;
	margin:0;
}
#contents {
	width:100%;
	position: absolute;
	top:0;
	z-index:1;
	opacity:0;
	display:none;
}

/****************************************
header
*****************************************/
#gMenu button {
	width:46px;
	height:46px;
	float: right;
}
#gMenu button img {
	width:46px;
	height:46px;
	display: block;
}

#gMenu {
	pointer-events:all !important;
	padding:0;
  clear:both;
  background:rgba(255,255,255,0.8);
  z-index:9999;
	touch-action:inherit !important;
}
#gMenu li {
  width:100%;
	padding:10px 0;
}
#gMenu li:first-child {
	padding:15px 20px 10px;
}
#gMenu li button {
	cursor: pointer;
	float:right;
}
#gMenu li a {
  color: #000;
  font-size:24px;
	font-style:italic;
	line-height:1;
	text-align: center;
	letter-spacing:0.2em;
	padding:10px 0;
	display:block;
}
#gMenu li a:hover {
  text-decoration: none;
}
#gMenu li.off a {
	color:#ababab;
	pointer-events: none;
}
#gMenu li a .ico_twitter {
	padding:0 26px 0 0;
	display: inline-block;
	background:url(../images/twitter.png) no-repeat right 0 center;
	background-size:20px auto;
}
#logo {
	position: absolute;
	z-index:99 !important;
	transform:translate3d(0,0,5);
}
#logo {
	width:10.85%;
	top:30px;
	left:30px;
}
#logo button {
	cursor:pointer;
}
#logo button img {
	max-width:130px;
}


/****************************************
footer
*****************************************/
#link {
	text-align: center;
	width:1000px;
	padding:0 10px;
	margin:0 auto 20px;
}
#sns {
	width:98px;
	height:42px;
	text-align: center;
	padding:0;
	float:left;
}
#sns li {
	width:40px;
	margin:0 6px;
	box-sizing: border-box;
	float: left;
}
#sns li:first-child {
	margin-left:0;
}
#sns li a, #sns li img {
	width:40px;
	display:block;
}
#banner  {
	width:314px;
	padding:15px 0 0;
	margin:0 auto;
	text-align:center;
	box-sizing: border-box;
	clear: both;
}
#banner li {
	width:147px;
	margin:0 10px;
	float: left;
}
#banner li:nth-child(1) {
	margin-left:0;
}
#banner li:nth-child(2) {
	margin-right:0;
}
#banner li a, #banner img {
	display: block;
}
#banner02  {
	width:660px;
	padding:15px 0 0;
	margin:0 auto;
	text-align:center;
	box-sizing: border-box;
	clear: both;
}
#banner02 li {
	width:320px;
	margin:0 10px;
	float: left;
}
#banner02 li:nth-child(1) {
	margin-left:0;
}
#banner02 li:nth-child(2) {
	margin-right:0;
}
#banner02 li a, #banner02 img {
	display: block;
}
#cmLink {
	width:330px;
	padding:5px 5px 5px 10px;
	margin:0 10px 0;
	background:#000;
	float:left;
}
#cmLink h3 {
	color:#fff;
	font-size:16px;
	line-height:1.8;
	font-weight:normal;
	margin:2px 0 0;
	float:left;
}
#cmLink ul {
	display: flex;
	margin:0;
}
#cmLink ul li {
	font-size:16px;
	line-height:2;
	margin:0 5px;
	width:130px;
}
#cmLink ul li a {
	color:#000;
	text-align:center;
	padding:0 5px;
	display: block;
	background:#fff;
	border-radius:30px;
}
#cmLink ul li a .arrow {
	padding:0 0 0 14px;
	display: inline-block;
	background:url(../images/arrow.png) no-repeat 3px center;
	background-size:6px auto;
}
#gekijou, #supporter {
	margin:0 10px;
	text-align:center;
	box-sizing: border-box;
	float:left;
}
#supporter {
	margin-right:0;
}
#gekijou a {
	color:#fff;
	font-size: 16px;
  line-height: 1;
	padding:13px 8px 13px 20px;
	display: block;
	background:url(../images/arrow_w.png) no-repeat 8px center #000;
	background-size:6px auto;
}
#supporter a {
	color:#fff;
	font-size: 16px;
  line-height: 1;
	padding:12px 14px 10px;
	display:block;
	background:url(../images/supporter_bg.png) no-repeat 0 0;
	background-size:100% 100%;
}
#supporter a .arrow {
	padding:0 0 0 12px;
	display:inline-block;
	background:url(../images/arrow_w.png) no-repeat 0 center;
	background-size:6px auto;
}
#supporter a .present {
	color:#1350b7;
	font-size:12px;
  line-height:1;
	padding:4px 10px;
	margin:0 0 0 1px;
	display:inline-block;
	background:#fff;
	border-radius:30px;
	position: relative;
	top:-1px;
}

#footer {
	color: #fff;
	padding:15px 0 30px;
	margin:0 auto;
	opacity:0;
	position:relative;
	z-index: 99999;
  background: #fff;
}
#footer p {
	color:#000;
	font-size:0.9vw;
	line-height:1.4;
	padding:0 20px;
	margin:0;
	text-align: center;
}
#footer p#copyright {
	margin:20px 0 0;
}
#footer h2 {
	color:#000;
	font-size:24px;
	line-height:1.5;
	text-align: center;
	margin:0 0 20px;
}
#footer h2 br {
	display: none;
}

@media screen and (max-width: 1100px) {
#logo button img {
	max-width:120px;
}
#footer h2 {
	font-size:21px;
}

}


@media screen and (max-width: 1000px) {
#footer h2 {
	font-size:24px;
}
#footer h2 br {
	display:inline;
}

#link {
	width:398px;
	padding:0 1px;
	margin:0 auto 5px;
}
#sns, #cmLink, #gekijou, #banner, #supporter {
	margin-bottom:15px;
}
#cmLink {
	width:300px;
	margin:0 0 15px 6px;
}
#cmLink ul li, #cmLink h3 {
	font-size:14px;
}
#cmLink ul li {
	width:120px;
}
#banner {
	width:376px;
	padding:0;
}
#banner li {
	width:176px;
	margin:0 6px;
}
#banner02 {
	width:400px;
	padding:0;
}
#banner02 li {
	width:190px;
	margin:0 6px;
}
#sns {
	width:90px;
	height:38px;
}
#sns li {
	width:36px;
}
#sns li a, #sns li img {
	width:36px;
}
#gekijou {
	margin:0 6px 0 0;
}
#gekijou a {
	font-size:13px;
	padding:12px 8px 12px 20px;
	background: url(../images/arrow_w.png) no-repeat 8px center #000;
	background-size: 6px auto;
}
#supporter {
	margin-left:6px;
	margin-right:0;
}
#supporter a {
	width:304px;
  font-size: 13px;
	text-align: center;
  padding: 11px 5px 9px;
	letter-spacing: -0.05em;
  background: url(../images/supporter_bg_sp.png) no-repeat 0 0;
  background-size: 100% 100%;
}
#supporter a .arrow {
  padding: 0 0 0 12px;
  background: url(../images/arrow_w.png) no-repeat 0 center;
  background-size:6px auto;
}
#supporter a .present {
	font-size:10px;
	letter-spacing:-0.05em;
	padding:4px 6px;
}
#banner {
	width:364px;
	margin:0 auto 15px;
	float:none;
}
#banner li:nth-child(1) {
  margin-left: 0;
}
#banner02 {
	width:400px;
	margin:0 auto 15px;
	float:none;
}
#banner02 li:nth-child(1) {
  margin-left: 0;
}


}

@media screen and (max-width: 768px) {
.pc {display:none !important;}
.sp {display:block !important;}

#logo {
	width:18%;
	top:10px;
	left:10px;
}
#logo button img {
	max-width:85px;
}

#gMenu {
	width:100%;
}
#contents {
	background: #a2856c;
}

#footer {
	padding:20px 10px 20px;
}
#footer p {
	font-size:14px;
	padding:0;
}
#footer p img {
	width:100%;
}

}

@media screen and (max-width: 640px) {
#logo button img {
	max-width:65px;
}
#gMenu button {
	width:40px;
	height:40px;
}
#gMenu button img {
	width:40px;
	height:40px;
}
#gMenu li:first-child {
	padding:15px 15px 10px;
}
#gMenu li a {
  font-size:20px;
}
#gMenu li a .ico_twitter {
	padding:0 20px 0 0;
	background:url(../images/twitter.png) no-repeat right 0 center;
	background-size:16px auto;
}
#footer h2 {
	font-size:18px;
}

}

@media screen and (max-width: 480px) {
#logo button img {
	max-width:50px;
}
#link {
	width:356px;
	padding:0;
}
#sns {
	width: 80px;
  height: 34px;
  padding: 1px 0 0;
	margin-bottom:10px;
}
#sns li {
  width:30px;
	margin:0 6px;
}
#sns li#twitter {
	margin-left:0;
}
#sns li a, #sns li img {
	width:30px;
}
#cmLink {
	width: 270px;
  padding: 6px 5px 6px 10px;
  margin: 0 0 10px 6px;
}
#cmLink h3 {
	font-size:12px;
	margin-top:0;
	margin-right:5px;
}
#cmLink ul li {
	width:auto;
	font-size:11px;
}
#cmLink ul li a {
	padding:0 12px;
}
#cmLink ul li a .arrow {
  padding: 0 0 0 10px;
  background-size: 6px auto;
}
#banner {
	width:276px;
}
#banner li {
	width:130px;
	margin:0 5px;
}
#banner li:nth-child(2) {
	margin-right:0;
}
#banner02 {
	width:100%;
}
#banner02 li {
	width:48%;
	margin:0 5px;
}
#banner02 li:nth-child(2) {
	margin-right:0;
}
#gekijou {
	margin:0 5px 0 0;
}
#gekijou a {
	font-size:12px;
	padding:10px 7px 10px 19px;
	letter-spacing: -0.05em;
}
#supporter {
	margin-left:5px;
}
#supporter a {
	width:274px;
	font-size:12px;
	padding:9px 5px 7px;
	letter-spacing: -0.1em;
}
#supporter a .arrow {
  padding: 0 0 0 11px;
  background: url(../images/arrow_w.png) no-repeat 2px center;
  background-size: 6px auto;
}
#supporter a .present {
	padding:3px 6px;
	letter-spacing: -0.1em;
}

#footer {
	padding:10px 10px 20px;
}
#footer p {
	font-size:10px;
}
#footer h2 {
	font-size:15px;
	margin:0 0 15px;
}
#gMenu button {
	width:30px;
	height:30px;
}
#gMenu button img {
	width:30px;
	height:30px;
}
#gMenu li {
  padding:5px 0;
}
#gMenu li a {
	padding:5px 0;
}

}

@media screen and (max-width: 370px) {
#footer {
	padding:10px 5px 20px;
}
#footer h2 {
	font-size:13px;
}
#logo button img {
	max-width:60px;
}

#link {
	width:310px;
	padding:0;
}
#sns {
	width: 65px;
  height: 30px;
  padding: 2px 0 0;
	margin-bottom:10px;
}
#sns li {
  width:25px;
	margin:0 5px;
}
#sns li a, #sns li img {
	width:25px;
}
#cmLink {
	width: 240px;
  padding: 5px 4px 5px 10px;
  margin: 0 0 10px 5px;
}
#cmLink h3 {
	font-size:12px;
}
#cmLink ul li {
	font-size:10px;
	margin:0 4px;
}
#cmLink ul li a {
	padding:0 8px;
}
#cmLink ul li a .arrow {
  padding: 0 0 0 10px;
  background-size: 5px auto;
}
#banner {
	width:270px;
}
#banner li {
	width:130px;
}
#gekijou a {
	font-size:14px;
	padding: 20px 8px 20px 20px;
	background: url(../images/arrow_w.png) no-repeat 10px center #000;
	background-size: 5px auto;
}
#supporter a {
	width:216px;
	font-size:14px;
	padding:11px 18px 9px;
}
#supporter a .arrow {
	padding: 0 0 0 16px;
	background: url(../images/arrow_w.png) no-repeat 7px center;
  background-size: 5px auto;
}
#supporter a .present {
	padding:3px 10px;
	margin:4px 0 0;
}

}

@media screen and (min-width: 769px) {
#gMenu li a, #gMenu li button {
	transition:all ease 0.5s;
}
#gMenu li a:hover {
	color:#444;
}
#gMenu li button:hover {
	opacity:0.6;
}
#link a img {
	transition:all ease 0.5s;
}
#link a:hover img {
	opacity:0.7;
}

}
