html {
	height: 100%;
	margin: 0;
	padding: 0;
}
body {
	height: 100%;
	margin: 0;
	padding: 0;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	font-size: 87.5%;
	line-height: 1.6;
	color: #FFF;
	background: #000;
}
window, body {
	transform-origin: 0 0;
/*	overflow: hidden;*/
	overflow: auto;
	overflow-x: hidden;
	overflow-y: auto;
}
@media screen and (max-width: 960px) {
	html, body, #wrapper {
		width: 640px !important;
	}
	body {
		font-size: 62.5%;
	}
	body.androidDef {
		font-size: 14px;
	}
	#pc {
		display: none;
	}
}

a:link, a:visited { color: #C00; text-decoration: none; }
a:active, a:hover { color: #F00; }
a:hover img, .hover { opacity: .8; filter: alpha(opacity=80); }
a.close {
	display: block;
	width: 40px;
	height: 40px;
	text-indent: -99999px;
	background: url(img/close.png) center center no-repeat;
}
a.close:hover { opacity: .8; filter: alpha(opacity=80); }
h1, h2, h3, h4, h5, h6, p, form { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
ul li { margin: 0; padding: 0; }


#menu_jp, #menus_jp, #screens_jp, #questionBtn_jp, #chatBtn_jp, #question_jp, #chat_jp, #window_jp, #submitted_jp, #rewound_jp,
#menu_en, #menus_en, #screens_en, #questionBtn_en, #chatBtn_en, #question_en, #chat_en, #window_en, #submitted_en, #rewound_en { display: none; }

#wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	min-width: 960px;
	min-height: 720px;
	margin: auto;
}
@media screen and (max-width: 960px) {
	#wrapper {
		min-width: 640px;
		min-height: 100.2%;
	}
}

#menu {
	display: none;
	position: absolute;
	top: 5px;
	right: 6px;
	z-index: 9;
	width: 60px;
	height: 18px;
	padding-top: 32px;
	text-align: center;
	font-size: 11px;
	line-height: 100%;
	color: #000;
	background: #FFF url(img/m_open0.png) center 0 no-repeat;
	border-radius: 6px;
	box-shadow: 0 4px 8px rgba(0,0,0,.5);
}
body.play #menu {
	color: #FFF;
	background-color: #C00;
	background-image: url(img/m_open1.png);
}
#menu:hover { color: #F00; opacity: .8; filter: alpha(opacity=90); }
#menu.on {
	background-position: center -50px;
}
#menus {
	overflow: hidden;
	position: absolute;
	top: -60px;
	z-index: 8;
	width: 100%;
	height: 60px;
	font-size: 12px;
	line-height: 100%;
	background: rgba(0,0,0,.7);
}
#menus > li {
	float: right;
	margin: 0 18px;
}
#menus > li a {
	display: block;
	height: 60px;
	text-align: center;
	line-height: 60px;
	color: #FFF;
	background: left center no-repeat;
}
#menus > li a:hover { color: #F00; }
#menus > li.logo { float: left; margin: 0; }
#menus > li.logo img { height: 60px; }
#menus > li.quit { margin-right: 106px; }
#menus > li.docs { visibility: hidden; }
#menus > li.quit   > a { padding-left: 42px; background-image: url(img/m_quit.png); background-position: 0 15px; }
#menus > li.screen > a { padding-left: 42px; background-image: url(img/m_screen.png); background-position: 0 19px; }
#menus > li.faq    > a { padding-left: 46px; background-image: url(img/m_faq.png); background-position: 0 18px; }
#menus > li.docs   > a { padding-left: 44px; background-image: url(img/m_docs.png); background-position: 0 15px; }
#files, #screens {
	display: none;
	overflow: hidden;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 7;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.3);
}
#files ul, #screens ul {
	position: absolute;
	top: 0;
	margin: 0 -8px;
	padding-top: 60px;
	font-size: 12px;
}
#files ul > li, #screens ul > li {
	display: none;
	background: rgba(0,0,0,.7);
}
#files.act ul > li, #screens.act ul > li { display: block; }
#files ul > li:last-child, #screens ul > li:last-child {
	border-bottom-left-radius: 6px;
	border-bottom-right-radius: 6px;
	box-shadow: 0 4px 8px rgba(0,0,0,.5);
}
#files ul > li > a {
	display: block;
	height: 50px;
	padding: 0 16px 0 50px;
	white-space: nowrap;
	line-height: 50px;
	color: #FFF;
	background: url(img/m_file.png) 18px center no-repeat;
}
#screens ul > li > a {
	display: block;
	height: 50px;
	padding: 0 20px 0 30px;
	white-space: nowrap;
	line-height: 50px;
	color: #FFF;
}
#screens ul > li > a.act { background: url(img/m_check.png) 10px center no-repeat; }
#files ul > li > a:hover, #screens ul > li > a:hover { color: #F00; }
@media screen and (max-width: 960px) {
	#wrapper.s200 #menu, #wrapper.s201 #menu, #wrapper.s204 #menu, #menu {
		color: #FFF;
		background-color: #C00;
		background-image: url(img/m_open1.png);
	}
	#menus > li { margin: 0 0px; }
	#menus > li.quit { margin-right: 90px; }
	#menus > li.screen { display: none; }
	#menus > li a {
		min-width: 80px;
		height: 20px;
		padding: 40px 0 0 !important;
		line-height: 100%;
		background-size: 26px;
	}

	#menus > li.quit   > a { background-position: center 10px; }
	#menus > li.screen > a { background-position: center 10px; }
	#menus > li.faq    > a { background-position: center 12px; }
	#menus > li.docs   > a { background-position: center 8px; }

}

#ad {
	display: none;
	position: absolute;
	bottom: 40px;
	z-index: 3;
	overflow: hidden;
	width: 100%;
	min-width: 720px;
	pointer-events: none;
}
#ad > div {
	overflow: hidden;
	width: 680px;
	margin: auto;
	padding: 0 20px 30px;
	background: rgba(0,0,0,.5);
	border-radius: 10px;
	box-shadow: 0 6px 12px rgba(0,0,0,.5);
}
#ad.single { min-width: 380px; }
#ad.single > div { width: 340px; }
#ad.single.attention > div { float: left; width: auto; }
#ad a.close {
	margin: 0 -20px -10px auto;
	background-image: url(img/close2.png);
}
#ad ul {
	float: left;
	position: relative;
	left: 50%;
}
#ad li {
	float: left;
	position: relative;
	left: -50%;
	margin: 0 10px;
}
#ad li img {
	display: block;
	width: 320px;
	height: 100px;
}
#ad li a {
	pointer-events: auto;
}
#ad li img.sp { display: none; }
#ad li p {
	overflow: auto;
	width: 300px;
	height: 88px;
	padding: 6px 10px;
	color: #000;
	background: #fff;
}
#ad.attention > div { margin: 0; }
#ad.attention ul { left: 0; }
#ad.attention li { left: 0; }
#ad.attention li img { width: auto; height: auto; margin-left: 30px;}
#wrapper.s200 #ad > div, #wrapper.s201 #ad > div, #wrapper.s204 #ad > div {
	padding-bottom: 0;
	background: transparent;
	box-shadow: none;
}
/*
#wrapper.s200 #ad a.close, #wrapper.s201 #ad a.close, #wrapper.s204 #ad a.close {
	display: none;
}
*/
#ad a.close {
	pointer-events: auto;
}

@media screen and (max-width: 960px) {
	#ad {
		bottom: 10px;
		min-width: 640px;
	}
	body.play #ad { bottom: 70px; }
	#ad > div {
		width: 640px;
		padding: 0 0 10px;
	}
	#ad.single { min-width: 320px; }
	#ad.single > div { width: 320px; }
	#ad a.close {
		margin: 0 0px -10px auto;
	}
	#ad.rightButton a.close {
		margin: 0 50px -10px auto;
	}
	#ad li {
		margin: 0 5px;
	}
	#ad li img {
		display: none;
	}
	#ad li img.sp {
		display: block;
/*		width: 307px;*/
		width: auto;
		height: 48px;
	}
	#ad li p {
		width: 287px;
		height: 38px;
		padding: 5px 10px;
		line-height: 100%;
	}
	#ad.attention li img { width: 60%; height: auto; margin-left: 30px;}
}


#questionBtn {
	position: absolute;
	left: 0;
	bottom: 60px;
	z-index: 4;
	width: 54px;
	font-size: 14px;
	line-height: 100%;
}
#questionBtn a {
	display: none;
	overflow: hidden;
	width: 1em;
	margin: 10px 0 0;
	padding: 50px 19px 20px;
	color: #FFF;
	background: #444 url(img/question.png) center 12px no-repeat;
	border-radius: 0 10px 10px 0;
	box-shadow: 0 4px 8px rgba(0,0,0,.5);
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
#questionBtn a.repeat { background-image: url(img/repeat.png); }
#questionBtn a:hover { color: #F00; }
body.en #questionBtn a.repeat { width: 2em; padding: 50px 12px 20px; }

#chatBtn {
	overflow: hidden;
	position: absolute;
	right: 0;
	bottom: 60px;
	z-index: 4;
	width: 54px;
	font-size: 14px;
	line-height: 100%;
}
#chatBtn a {
	position: relative;
	display: none;
	overflow: hidden;
	width: 18px;
	margin: 10px 0 0;
	padding: 50px 22px 20px 16px;
	color: #FFF;
	background: #444 url(img/chat.png) center 12px no-repeat;
	border-radius: 10px 0 0 10px;
	box-shadow: 0 4px 8px rgba(0,0,0,.5);
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
#chatBtn a:hover { color: #F00; }

@media screen and (max-width: 960px) {
	#questionBtn, #chatBtn {
		bottom: 70px;
	}
	#questionBtn a,
	body.en #questionBtn a,
	#chatBtn a,
	body.en #chatBtn a {
		overflow: hidden;
		width: 50px;
		height: 0;
		padding: 50px 0 0;
		background-position: center center;
		text-indent: -99999px;
	}
}

#submitted, #rewound {
	display: none;
	position: absolute;
	bottom: 60px;
	z-index: 10;
	width: 730px;
	margin: 0 calc((100% - 740px) / 2);
	padding: 15px 5px;
	text-align: center;
	font-size: 115%;
	background: rgba(0,0,0,.7);
	border-radius: 8px;
	box-shadow: 0 6px 12px rgba(0,0,0,.5);
}

#chat {
	display: none;
	position: absolute;
	right: 6px;
	bottom: 50px;
	z-index: 3;
	width: 320px;
	height: calc(100% - 110px);
	pointer-events: none;
}
#chat div.wrapper {
	position: absolute;
	left: 100%;
	width: 100%;
	height: 100%;
}
#chat div.container {
	overflow: auto;
	position: absolute;
	bottom: 84px;
	width: calc(100% - 4px);
	max-height: calc(100% - 90px);
	min-height: 92px;
	padding: 0 4px 0 0;
	background: url(img/chat_bg.png) 0 0 repeat-y;
	pointer-events: auto;
}
#chat.wait div.container:before {
	position: absolute;
	width: 100%;
	height: 100%;
	content: "";
	background: url(img/icon_wait.gif) calc(50% + 18px) center no-repeat;
}
#chat div.container > a.close {
	float: left;
	display: block;
	overflow: hidden;
	position: fixed;
	position: -webkit-sticky;
	position: sticky;
	left: 0;
	top: 0;
	width: 18px;
	padding: 36px 8px 16px 10px;
	text-indent: 0;
	white-space: nowrap;
	color: #FFF;
	background: rgba(128,128,128,.5) url(img/close.png) center 10px no-repeat;
	border-radius: 10px 0 0 10px;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
#chat div.container > a.close:hover { color: #F00; }
#chat.separate div.container > a.close { display: none; }
#chat div.container > a.separate,
#chat div.container > a.sort {
	display: none;
	overflow: hidden;
	float: right;
	position: fixed;
	position: -webkit-sticky;
	position: sticky;
	right: 0;
	top: 4px;
	z-index: 1;
	width: 36px;
	height: 0;
	margin-left: -36px;
	padding-top: 30px;
	background: url(img/chat_separate.png) 0 0 no-repeat;
	background-size: 200%;
}
#chat div.container > a.sort { right: 40px; background-image: url(img/chat_sort.png); }
#chat div.container > a.separate:hover,
#chat div.container > a.sort:hover { background-position: 0 -30px; }
#chat.separate div.container > a.separate,
#chat.sortlike div.container > a.sort { background-position: -36px 0; }
#chat.separate div.container > a.separate:hover,
#chat.sortlike div.container > a.sort:hover { background-position: -36px -30px; }
#chat div.container > dl {
	overflow: hidden;
	position: relative;
	margin: 0 0 0 36px;
	padding: 36px 10px 0 4px;
	font-size: 115%;
}
#chat div.container > dl dt {
	clear: both;
	float: left;
	margin: 5px 0 0 0;
	padding: 3px 4px 2px 6px;
	font-weight: normal;
	font-size: 85%;
	line-height: 100%;
	color: #FFF;
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
	background: #666;
}
#chat.like_display div.container > dl dt:hover,
#chat.like_display div.container > dl dt:hover::after {
	color: #f00;
	cursor: pointer;
}
#chat.like_display div.container > dl dt::after {
	position: absolute;
	content: attr(like)"♡";
	right : 10px;
}
#chat.like_display div.container > dl dt.self::after {
	right : auto;
	left: 4px;
	content: "♡"attr(like);
}
#chat.like_display div.container > dl dt.liked::after { content: attr(like)"♥"; }
#chat.like_display div.container > dl dt.liked.self::after { content: attr(like)"♥"; }
#chat div.container > dl dd {
	clear: both;
	float: left;
	position: relative;
	max-width: 252px;
	margin: 0 6px 5px 0;
	padding: 4px 5px 3px;
	font-size: 85%;
	line-height: 125%;
	word-wrap: break-word;
	overflow-wrap: break-word;
	color: #000;
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
	border-left: solid 6px #666;
	background: rgba(255,255,255,.7);
/*	box-shadow: 0 0 2px #333;*/
}
#chat div.container > dl dd a {
	word-break: break-all;
	text-decoration: underline;
}
#chat div.container > dl dt.self {
	float: right;
	padding: 3px 6px 2px 4px;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	border-top-left-radius: 3px;
	border-bottom-left-radius: 3px;
	pointer-events: none;
}
#chat div.container > dl dd.self {
	float: right;
	margin: 0 0 5px 6px;
	color: #FFF;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	border-top-left-radius: 3px;
	border-bottom-left-radius: 3px;
	border-left: none;
	border-right: solid 6px #666;
	background: rgba(0,0,0,.5);
}
#chat div.container > dl dt.gold { background:#DAA520; }
#chat div.container > dl dt.blue,
#chat form ul li.blue   { background:#418AF1; }
#chat div.container > dl dt.red,
#chat form ul li.red    { background:#DC4B43; }
#chat div.container > dl dt.green,
#chat form ul li.green  { background:#2FA467; }
#chat div.container > dl dt.orange,
#chat form ul li.orange { background:#E68517; }
#chat div.container > dl dt.purple,
#chat form ul li.purple { background:#964CE0; }
#chat div.container > dl dd.gold   { border-color:#DAA520; }
#chat div.container > dl dd.blue   { border-color:#418AF1; }
#chat div.container > dl dd.red    { border-color:#DC4B43; }
#chat div.container > dl dd.green  { border-color:#2FA467; }
#chat div.container > dl dd.orange { border-color:#E68517; }
#chat div.container > dl dd.purple { border-color:#964CE0; }
#chat form {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 284px;
	margin: 0;
	pointer-events: auto;
}
#chat form.on input, #chat form.on textarea {
	background: rgba(0,0,0,.8);
}
#chat form input {
	float: left;
	display: block;
	width: calc(100% - 12px);
	margin: 6px 0;
	padding: 4px 6px;
	font-size: 14px;
	-webkit-appearance: none;
	background: rgba(223,223,223,.3);
	border: none;
	border-radius: 5px;
	box-shadow: 0 2px 2px rgba(0,0,0,.5) inset;
	color: #FFF;
}
#chat form input:-webkit-autofill {
	color: #FFF !important;
	-webkit-text-fill-color: #FFF !important;
}
#chat form textarea {
	display: block;
	overflow: auto;
	width: calc(100% - 12px - 64px);
	height: 34px;
	padding: 4px 6px;
	font-size: 14px;
	line-height: 125%;
	background: rgba(223,223,223,.3);
	border: none;
	border-radius: 5px;
	box-shadow: 0 2px 2px rgba(0,0,0,.5) inset;
	resize: none;
	color: #FFF;
}
#chat form .on {
	text-shadow:
		-1px  1px 1px #333,
		-1px -1px 1px #333,
		 1px -1px 1px #333,
		 1px  1px 1px #333,
		-1px  1px 2px #333,
		-1px -1px 2px #333,
		 1px -1px 2px #333,
		 1px  1px 2px #333;
}
#chat form ul {
	overflow: hidden;
	width: 0;
	height: 20px;
	margin: 8px 0 0;
}
#chat form ul li {
	float: left;
	width: 20px;
	height: 20px;
	margin: 0 0 0 2px;
	border: solid 1px #000;
	box-sizing: border-box;
	cursor: pointer;
}
#chat form.blue   ul li.blue,
#chat form.red    ul li.red,
#chat form.green  ul li.green,
#chat form.orange ul li.orange,
#chat form.purple ul li.purple { border-color: #FFF; }
#chat form ul li:hover { opacity: 1; }
#chat form input[type="submit"] {
	float: none;
	display: block;
	width: 60px;
	height: 42px;
	margin: -42px 0 0 auto;
	font-size: 115%;
	color: #FFF;
	background: #C00;
	cursor: pointer;
	text-shadow: none;
}
#chat form.wait input[type="submit"] {
	text-indent: -99999px;
	background: #C00 url(img/icon_wait.gif) center center no-repeat;
}
#chat form div.na,
#chat form div.max {
	display: none;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(51,51,51,.9);
	border-radius: 5px;
	border: solid 2px #666;
	box-sizing: border-box;
}
#chat form.na div.na {
	display: block;
}
#chat form.max div.max {
	display: block;
}
#chat form div.na p,
#chat form div.max p {
	position: relative;
	top: 50%;
	transform: translateY(-50%);
	text-align: center;
}
#chat input.disabled {
	opacity: .5;
	filter: alpha(opacity=50);
	cursor: default !important;
}
body.chat_readonly #chat div.container {
	bottom: 10px;
	max-height: calc(100% - 10px);
}
body.chat_readonly #chat form {
	display: none;
}

@media screen and (max-width: 960px) {
	#chat { width: 240px; }
	#chat div.container > dl dd { max-width: 172px; }

	#chat form { width: 204px; }
	#chat form input {
		width: calc(100% - 8px);
		height: 20px;
		padding: 2px 4px;
		font-size: 16px;
		line-height: 150%;
	}
	#chat form textarea {
		width: calc(100% - 2px - 64px);
		height: 40px;
		padding: 1px 1px;
		font-size: 16px;
		line-height: 120%;
	}
}

#question {
	display: none;
	position: absolute;
	bottom: 60px;
	z-index: 9;
	width: 930px;
	max-height: calc(100% - 130px);
	margin: 0 calc((100% - 940px) / 2);
	padding: 5px;
	background: rgba(0,0,0,.7);
	border-radius: 8px;
	box-shadow: 0 6px 12px rgba(0,0,0,.5);
}
#question > a.close {
	position: relative;
	z-index: 1;
	margin: -5px -5px 0 auto;
}
#question > div {
	position: relative;
	overflow: hidden;
	margin: -30px 0 0;
	padding: 15px 20px 20px;
}
#question form { display: none; }
#question.qQuestion #qQuestion,
#question.qText #qText,
#question.qCheckbox #qCheckbox,
#question.qRadio #qRadio,
#question.qCheckboxLabel #qCheckboxLabel,
#question.qRadioLabel #qRadioLabel,
#question.qAfter #qAfter { display: block; }
#question.qAfter > div { margin: 0; }

#question h3 {
	margin: 0 0 60px;
/*	text-align: center;	*/
	font-size: 170%;
	line-height: 100%;
}
#question h4 {
	margin: 0 0 15px;
	font-size: 115%;
	line-height: 100%;
}
#question h4.max250:after, #question span.max250 {
	display: block;
	width: 750px;
	height: 1em;
	margin: -7px 0 -13px 0;
	text-align: right;
	line-height: 1em;
	font-weight: normal;
	color: #999;
	content: "250";
}
#question span.max250 {
	margin: -1.1em 0 .1em;
}
#question p.footer {
	margin: 10px 0 0;
	font-size: 85%;
	line-height: 120%;
}
#question ul.q {
	margin: -10px 0 15px 1em;
}
#question ul.q li {
	margin: 0 0 5px;
}
#question ul.q li label {
	cursor: pointer;
}
#question input {
	display: block;
	width: 430px;
	margin: 10px 0;
	padding: 10px 15px;
	font-size: 14px;
	-webkit-appearance: none;
	border: none;
	border-radius: 5px;
	box-shadow: 0 2px 2px rgba(0,0,0,.5) inset;
}
#question textarea {
	display: block;
	width: 720px;
	height: 86px;
	padding: 10px 15px;
	font-size: 14px;
	border: none;
	border-radius: 5px;
	box-shadow: 0 2px 2px rgba(0,0,0,.5) inset;
	resize: none;
}
#question input[type="submit"] {
	display: block;
	width: 120px;
	height: 52px;
	margin: -52px 0 0 auto;
	font-size: 115%;
	color: #FFF;
	background: #C00;
	box-shadow: 0 2px 2px rgba(0,0,0,.5);
	cursor: pointer;
}
#question input.disabled {
	opacity: .5;
	filter: alpha(opacity=50);
	cursor: default;
}
#question ul.select {
	overflow: hidden;
	height: 52px;
}
#question ul.select li {
	float: left;
	margin: 0 3px;
}
#question #qAfter ul.select { height: auto; }
#question #qAfter ul.select li { margin: 3px; }
#question ul.select li input[type="checkbox"],
#question ul.select li input[type="radio"] {
	display: none;
}
#question ul.select li label {
	display: block;
	width: 110px;
	padding: 0 0 0 10px;
	text-align: center;
	font-size: 130%;
	line-height: 52px;
	color: #000;
	background: rgba(255,255,255,.9) 18px center no-repeat;
	border-radius: 5px;
	cursor: pointer;
}
#question ul.select li label:hover { background-color: #FFF; }
#question ul.select li input[type="checkbox"] + label { background-image: url(img/checkbox0.png); }
#question ul.select li input[type="checkbox"]:checked + label { background-color: #FFF; background-image: url(img/checkbox1.png); }
#question ul.select li input[type="radio"] + label { background-image: url(img/radio0.png); }
#question ul.select li input[type="radio"]:checked + label { background-color: #FFF; background-image: url(img/radio1.png); }

#question #qCheckboxLabel ul.select,
#question #qRadioLabel ul.select {
	height: auto;
	margin-bottom: 60px;
}
#question #qCheckboxLabel ul.select li,
#question #qRadioLabel ul.select li {
	float: none;
	margin: 0 3px 4px;
}
#question #qCheckboxLabel ul.select li label,
#question #qRadioLabel ul.select li label {
	width: auto;
	padding: 0 0 0 45px;
	text-align: left;
}

@media screen and (max-width: 960px) {
	#submitted, #rewound {
		bottom: 60px;
		width: 500px;
		margin: 0 calc((100% - 510px) / 2);
	}
	#question {
		bottom: 10px;
		width: 600px;
		max-height: calc(100% - 40px);
		margin: 0 calc((100% - 610px) / 2);
	}
	#question.qAfter {
		bottom: 20px;
	}
	#question > a.close {
		margin: -5px -5px -40px auto;
	}
	#question.qAfter > a.close {
		margin: -5px -5px 0 auto;
	}
	#question > div {
		width: 570px;
		padding: 10px 15px 10px;
	}
	#question h4 {
		margin: 3px 0 10px;
	}
	#question h4.max250:after, #question span.max250 {
		width: 450px;
		margin: -2px 0 -13px 0;
	}
	#question input[type="text"] {
		width: 442px;
		padding: 6px 6px 0;
		font-size: 16px;
		line-height: 100%;
	}
	#question textarea {
		width: 446px;
		height: 80px;
		padding: 0 4px;
		font-size: 16px;
	}
	#question #qAfter textarea {
		width: 644px;
		height: 114px;
		margin: 16px 0 -34px;
		padding: 0 4px;
		font-size: 28px;
		transform: scale(.7);
		-webkit-transform-origin: left top;
		   -moz-transform-origin: left top;
		    -ms-transform-origin: left top;
		     -o-transform-origin: left top;
		        transform-origin: left top;
	}
	#question input[type="submit"] {
		width: 110px;
		height: 35px;
		margin: -35px 0 0 auto;
		line-height: 100%;
	}
	#question ul.select {
		height: 35px;
	}
	#question ul.select li {
		margin: 0 2.3px;
	}
	#question #qAfter ul.select { height: auto; }
	#question #qAfter ul.select li { margin: 2.3px; }
	#question ul.select li label {
		display: block;
		width: 72px;
		padding: 0 0 0 15px;
		line-height: 35px;
	}
	#question #qCheckboxLabel ul.select,
	#question #qRadioLabel ul.select {
		margin-bottom: 40px;
	}
	#question #qCheckboxLabel ul.select li label,
	#question #qRadioLabel ul.select li label {
		line-height: 25px;
	}
}
#qAfter > ul > li {
	padding: 0 0 40px 70px;
}
#qAfter > ul > li h4 {
	font-weight: normal;
	line-height: 150%;
	text-shadow: 0 2px 2px #000;
}
#qAfter > ul li h4 span.num {
	float: left;
	width: 58px;
	margin: -.3em 0 0 -70px;
	text-align: center;
	line-height: 34px;
	background: #333;
	box-shadow: 0 2px 2px #000;
}
#qAfter > ul li h4 span.required {
	color: #F00;
}
#qAfter input[type="submit"] {
	margin: 40px auto;
}
@media screen and (max-width: 960px) {
	#qAfter > ul > li h4 {
		font-size: 16px !important;
	}
}

#graph {
	display: none;
	position: absolute;
	bottom: 60px;
	z-index: 8;
	width: 730px;
	max-height: calc(100% - 130px);
	margin: 0 calc((100% - 740px) / 2);
	padding: 5px;
	background: rgba(0,0,0,.7);
	border-radius: 8px;
	box-shadow: 0 6px 12px rgba(0,0,0,.5);
}
#graph > a.close {
	position: relative;
	z-index: 1;
	float: right;
	margin: -5px -5px 0 0;
}
#graph.text > a.close { margin-bottom: -40px; }
#graph > h3 {
	margin: 5px 0 5px 10px;
}
#graph > div {
	position: relative;
	overflow: hidden;
	height: 200px;
	margin: 0 30px 0;
	padding: 0 0 10px;
}
#graph > ul {
	position: absolute;
	width: 220px;
	margin: 25px 10px 0;
}
#graph > ul li {
	margin: 6px 0;
	padding-right: 6px;
	text-align: right;
	border-right: solid 20px;
}
#graph > p {
	margin: 0 20px;
}
#graph > ul li:nth-child(1) { border-color: #b71b2c; }
#graph > ul li:nth-child(2) { border-color: #e88120; }
#graph > ul li:nth-child(3) { border-color: #399d9d; }
#graph > ul li:nth-child(4) { border-color: #1f7099; }
#graph > ul li:nth-child(5) { border-color: #7f3769; }
#graph.text {
	left: 16px;
	top: 70px;
	bottom: auto;
	width: auto;
	max-width: 70%;
	margin: 0;
}
#graph.text > div { display: none; }
#graph.text > p.name {
	margin-right: 40px;
	margin-bottom: 4px;
	white-space: nowrap;
}
#graph.text > p {
	margin-right: 40px;
}
#graph.text > p > a:link, #graph.text > p > a:visited { color: #FFF; }
#graph.text > p > a:active, #graph.text > p > a:hover { color: #FFF; text-decoration: underline; }

/*IE11*/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
	#graph .ct-label {
		fill: #FFF;
	}
}

@media screen and (max-width: 960px) {
	#graph {
		bottom: 10px;
		width: 560px;
		max-height: calc(100% - 40px);
		margin: 0 calc((100% - 570px) / 2);
	}
	#graph > a.close {
		margin: -5px -5px -40px auto;
	}
	#graph > div {
		width: 530px;
		height: 100px;
		margin: 0;
	}
	#graph > ul {
		margin: 0 10px 0;
	}
	#graph > ul li {
		margin: 3px 0;
		font-size: 13px;
		line-height: 130%;
		-webkit-text-size-adjust: 100%;
	}
	#graph.text {
		top: 20px;
	}
}

#window {
	position: relative;
	z-index: 2;
	width: 100%;
	min-height: 100%;
	text-align: center;
	font-size: 143%;
	line-height: 1.8;
	color: #000;
	background: #ECECEC url(img/bg.jpg) center center no-repeat;
	background-size: 100% 100%;
}
#window em {
	font-style: normal;
	font-size: 180%;
	line-height: 140%;
}
#window .repetition, #window .notfound {
	display: none;
	padding: 114px 0 0;
}
#window .repetition ol, #window .notfound ol {
	display: block;
	margin: 0 auto;
	padding-left: 0;
	text-align: left;
	font-size: 80%;
	line-height: 150%;
	color: #666;
}
#window .repetition ol { width: 31em; }
#window .notfound ol { width: 72%; }
#window .repetition ol li, #window .notfound ol li {
	margin-bottom: 8px;
}
#window .repetition p, #window .notfound p {
	margin: 16px auto;
	font-size: 80%;
	color: #666;
}
#window div.jikiden {
	display: none;
	position: absolute;
	bottom: 0;
	width: 100%;
	padding: 0 0 60px;
}
#window div.jikiden h3 {
	margin: 10px auto;
	font-weight: normal;
	font-size: 120%;
}
#window div.jikiden a {
/*	font-size: 90%;*/
}
#window div.jikiden span {
	display: block;
	margin: 16px auto 142px;
	font-size: 70%;
	color: #666;
}
#window div.information {
	display: none;
	overflow: hidden;
	padding: 110px 0 20px;
}
#window div.information h1 {
	margin: 0 auto 40px;
	font-size: 180%;
	line-height: 1.4em;
}
#window div.information h3 {
	width: 11em;
	margin: 0 auto 8px;
	font-size: 80%;
	line-height: 2.2em;
	color: #FFF;
	background: #999;
	border-radius: 1.1em;
}
body.en #window div.information h3 { width: 14em; }
#window div.information p.date {
	margin: 0 auto 20px;
	font-size: 110%;
}
#window div.information p.description {
	clear: both;
	display: none;
	width: 640px;
	margin: 30px auto 35px;
	text-align: left;
	font-size: 90%;
	line-height: 133%;
}
#window div.information p.outdated {
	display: none;
	margin: 0 0 15px;
	font-size: 150%;
	color: #C00;
}
#window div.information p.ended {
	display: none;
	margin: 0 0 15px;
	font-size: 150%;
	color: #999;
}
#window div.information ul {
	display: none;
	clear: both;
	float: left;
	position: relative;
	left: 50%;
}
#window div.information ul li {
	float: left;
	position: relative;
	left: -50%;
	width: 15em;
	margin: 0 20px;
	padding: 0 0 30px;
	font-size: 80%;
	line-height: 150%;
}
#window div.information ul li a {
	display: block;
	width: 15em;
	height: 4.5em;
	color: #FFF;
	background: #444;
	border-radius: 4px;
	box-shadow: 0 2px 2px #000;
}
body.en #window div.information ul li.ondemand,
body.en #window div.information ul li.ondemand a { width: 20em; }

#window div.information ul li:first-child a { background: #C00; }
#window div.information ul li a:hover { opacity: .8; filter: alpha(opacity=80); }
#window div.information ul li a span {
	display: block;
	position: relative;
	top: 50%;
	transform: translateY(-50%);
	margin: auto;
}

#window div.auth {
	display: none;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.7);
}
#window div.auth form {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 360px;
	-webkit-transform: translate(-50%, -50%); /* Safari用 */
	transform: translate(-50%, -50%);
	background: rgba(255,255,255,.9);
	border-radius: 8px;
	box-shadow: 0 6px 12px rgba(0,0,0,.5);
}
#window div.auth form dl {
	width: calc(6.4em + 170px);
	margin: 25px auto 20px;
	font-size: 16px;
}
#window div.auth form dl dt {
	float: left;
	width: 6em;
	line-height: 40px;
	text-align: right;
}
#window div.auth form dl dd {
	width: 170px;
	margin-left: 6.4em;
	font-size: 16px;
	text-align: left;
}
#window div.auth form dl dd.error {
	display: none;
	width: calc(6.4em + 170px);
	margin-left: 0;
	padding: 15px 0 0;
	text-align: center;
	color: #F00;
}
#window div.auth form input {
	display: block;
	width: 140px;
	margin: 10px 0;
	padding: 10px 15px;
	font-size: 16px;
	line-height: 1;
	-webkit-appearance: none;
	border: none;
	border-radius: 5px;
	box-shadow: 0 2px 2px rgba(0,0,0,.5) inset;
}
#window div.auth form input[type="submit"] {
	position: relative;
	display: block;
	width: 6em;
	margin: 0 0 0 auto;
	color: #FFF;
	background: #C00;
	box-shadow: 0 2px 2px rgba(0,0,0,.5);
	cursor: pointer;
}
#window div.auth form.wait input[type="submit"] {
	text-indent: -99999px;
	background: #C00 url(img/icon_wait.gif) center center no-repeat;
	cursor: default;
}



@media screen and (max-width: 960px) {
	#window .repetition, #window .notfound {
		padding: 20px 0 0;
		font-size: 64%;
		line-height: 150%;
	}
	#window .repetition p, #window .notfound p {
		margin: 4px 0;
		font-size: 64%;
	}
	#window .repetition ol li, #window .notfound ol li {
		font-size: 80%;
		line-height: 100%;
	}
	#window .repetition ol li, #window .notfound ol li {
		margin-bottom: 2px;
	}
	#window div.jikiden {
		font-size: 64%;
	}
	#window div.jikiden h3 {
		margin: 4px auto 0;
		font-size: 100%;
	}
	#window div.jikiden span {
		margin: 8px auto 28px;
	}
	#window div.information {
		padding: 25px 0 30px;
	}
	#window div.information h1 {
		margin: 0 80px 10px;
	}
	#window div.information h3 {
		margin: 0 auto 4px;
	}
	#window div.information p.date {
		margin: 0 auto;
	}
	#window div.information p.description {
		width: 85%;
		margin: 10px auto 18px;
		font-size: 60%;
	}
	#window div.information ul li {
		width: 13em;
		margin: 0 10px;
		font-size: 120%;
	}
	#window div.information ul li a {
		width: 13em;
		height: 5em;
	}
	#window div.information ul.ondemand li a {
		height: 4em;
	}
}


#video {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
}
#video .vjs-poster,
#video .vjs-dock-text,
#video .vjs-dock-shelf,
#video .vjs-subs-caps-button {
	display: none;
}
#video .vjs-captions-button,
#video .vjs-audio-button,
#video .vjs-fullscreen-control,
#video .vjs-picture-in-picture-control,
#player.ondemand .vjs-live-display {
	display: none;
}
#video .vjs-menu.vjs-contextmenu-ui-menu {
	display: none !important;
}
#vlive {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	border: none;
}

body.ad_off #ad { display: none !important; }
body.question_off #questionBtn a.question { display: none !important; }
body.chat_off #chatBtn a.chat { display: none !important; }

body.play #sn { display: block; }
#sn {
	display: none;
	position: absolute;
	z-index: 2;
	font-size: 16px;
	color: rgba(90,90,90,.8);
	-ms-user-select: none;
	-moz-user-select: none;
	-khtml-user-select: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
	user-select: none;
	pointer-events: none;
}
#sn.size1 { font-size: 12px; }
#sn.size2 { font-size: 16px; }
#sn.size3 { font-size: 40px; }
@media screen and (max-width: 960px) {
	#sn { font-size: 14px; }
	#sn.size1 { font-size: 10px; }
	#sn.size2 { font-size: 14px; }
	#sn.size3 { font-size: 32px; }
}

#console {
	display: none;
	position: absolute;
	left: 12px;
	top: 4px;
	z-index: 10;
	font-size: 150%;
	color: #090;
}

#status_xml_error, #checkDestruction_error {
	position: absolute;
	right: 2px;
	top: 2px;
	z-index: 9999;
	width: 3px;
	height: 3px;
	background: #FF6;
}
#checkDestruction_error {
	top: 6px;
	background: #F66;
}

