/* ===========================================
Base Style
=============================================*/

html {
	width: 100%;
 	height: 100%;
	font-family: "Hiragino Mincho ProN", "游明朝", "Yu Mincho", YuMincho, 'ＭＳ 明朝', Meiryo, serif;
	font-size:62.5%; /* 1em=10px */
}

body {
	width: 100%;
	height: 100%;
 	line-height: 1.0;
	/* letter-spacing: 0.04em; */
	-webkit-text-size-adjust:100%;
 	color: #000;
 	overflow-y: scroll;
	position:relative;
 	z-index: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

a:link,
a:visited {
	color: inherit;
	text-decoration: none;
	opacity: 1.0;
	-webkit-transition: 0.25s ease-in-out;
	transition: 0.25s ease-in-out;
}

a:hover,
a:active {
	color: inherit;
	/* text-decoration: underline; */
	opacity: 0.7;
	-webkit-transition: 0.25s ease-in-out;
	transition: 0.25s ease-in-out;
}

a:link img,
a:link img,
a:visited .fa,
a:visited .fa {
	opacity: 1.0;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	-webkit-transition: 0.25s ease-in-out;
	transition: 0.25s ease-in-out;
}

a:hover img,
a:active img,
a:hover .fa,
a:active .fa {
	opacity: 0.7;
	-webkit-transition: 0.25s ease-in-out;
	transition: 0.25s ease-in-out;
}


/* ===========================================
Common Class
=============================================*/

/* Clearfix */
.cf:before,
.cf:after {
	content:"";
	display:block;
	overflow:hidden;
}

.cf:after {
	clear:both;
}

.cf {
	zoom:1;
}

/* Hide-txt */
.hide-txt {
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}

a.blank:after {
	content: "\f08e";
	font-family: FontAwesome;
	font-size: 1.25em;
	display: inline-block;
	margin-left: 0.5em;
}

.strong {
	-webkit-text-emphasis: filled sesame #000;
	text-emphasis: filled sesame #000;
}

/* ===========================================
Header
=============================================*/

#header {
	width: 100%;
	color: #FFF;
	background: rgba(0,0,0,0.94);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
	-webkit-transition-duration: 0;
	transition-duration: 0;
	-webkit-transition: none;
	transition: none;
}

#header h1 {
	position: absolute;
	z-index: 9998;
}

#header #main-menu a:hover,
#header #main-menu a:active {
	text-decoration: none;
	opacity: 0.8;
}

#header #sub-menu .sns {
	display: none;
}

#header #sub-menu .language ul {
	display: none;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

#header #sub-menu .language ul li a {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}


/* ===========================================
Footer
=============================================*/

#footer {
	width: 100%;
	border-top: 1px solid #e6e6e6;
	font-family: "Helvetica Neue", Helvetica, Arial, "Hiragino Kaku Gothic ProN", "游ゴシック体", "Yu Gothic", YuGothic, Meiryo, sans-serif;
}

#footer .logo i {
	display: block;
}

#footer .logo i img {
	width: 100%;
}


/* ===========================================
Main
=============================================*/

#main {
	width: 100%;
	position: relative;
}

#main .contents {
	overflow: hidden;
	position: relative;
}

#btn-pagetop {
	background: #000;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 9999;
	display: none;
}

#btn-pagetop.bottom {
	position: absolute;
}

#btn-pagetop:before {
	content: "";
	display: block;
	position: absolute;
	-webkit-transform: translate( -50%, -50% ) rotate(-45deg);
	transform: translate( -50%, -50% ) rotate(-45deg);
	z-index: 1;
}

#btn-pagetop:hover:before {
	opacity: 0.5;
}

#btn-pagetop a {
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
	z-index: 2;
}

.jp_only, .en_only {
	display: none;
}

/* ===========================================
PC
=============================================*/

@media screen and (min-width:960px) {

	.sp {
		display: none!important;
	}

	#header {
		height: 64px;
	}

	#header h1 {
		top: 16px;
		left: 20px;
	}

	#header h1 img {
		width: 195px;
		height: 32px;
	}

	.en #header h1 img {
		width: 207px;
		height: 32px;
	}

	#header #drawer {
		display: block !important;
	}

	#header #main-menu {
		width: 100%;
		height: 64px;
		font-size: 1.3rem;
		line-height: 64px;
		text-align: center;
	}

	#header #main-menu li {
		height: 64px;
		display: inline-block;
		margin: 0 1.953%;
		box-sizing: border-box;
	}

	#header #main-menu li.current {
		border-bottom: 4px solid #FFF;
		/* pointer-events: none; */
	}

	#header #main-menu li a {
		display: block;
	}

	#header #sub-menu {
		height: 16px;
		line-height: 16px;
		position: absolute;
		top: 24px;
		right: 10px;
	}

	#header #sub-menu .sns {
		font-size: 1.6rem;
		float: left;
	}

	#header #sub-menu .sns li {
		display: inline-block;
		margin-right: 16px;
	}

	#header #sub-menu .language {
		width: 110px;
		height: 16px;
		/* border-left: 1px solid #FFF; */
		margin-left: 8px;
		float: right;
		position: relative;
		/* display:none; */
	}

	#header #sub-menu .language span {
		font-size: 1.4rem;
		display: block;
		position: absolute;
		top: -14px;
		right: 0;
	}

	#header #sub-menu .language span a {
		padding: 16px;
		display: block;
	}

	#header #sub-menu .language.active span {
		background: #FFF;
		color: #000;
	}

	#header #sub-menu .language ul {
		width: 200px;
		background: #FFF;
		color: #000;
		box-sizing: border-box;
		position: absolute;
		top: 32px;
		right: 0;
		overflow: hidden;
	}

	#header #sub-menu .language ul li {
		margin: 0 8px;
	}

	#header #sub-menu .language ul li:first-child {
		margin-top: 8px;
	}

	#header #sub-menu .language ul li:last-child {
		margin-bottom: 8px;
	}

	#header #sub-menu .language ul li.current {
		background: #000;
		color: #FFF;
		/* pointer-events: none; */
	}

	#header #sub-menu .language ul li a {
		font-size: 1.4rem;
		display: block;
		padding: 12px;
	}

	#header #sub-menu .language ul li:last-child {
		border-bottom: none;
	}

	#footer {
		padding: 40px 0;
	}

	#footer .inner {
		margin: 0 auto;
		position: relative;
	}

	#footer .archive {
		font-family: "Hiragino Mincho ProN", "游明朝", "Yu Mincho", YuMincho, 'ＭＳ 明朝', Meiryo, serif;
		margin: 0 4.6875%;
	}

	#footer .archive p {
		font-size: 18px;
	}

	#footer .archive ul {
		margin-top: 38px;
		margin-bottom: 56px;
	}

	#footer .archive li {
		float: left;
		width: 33%;
		margin-bottom: 20px;
		line-height: 1.4;
	}

	#footer .archive a, #footer .archive a:hover {
		font-size: 14px;
		text-decoration: underline;
	}

	#footer .footer-menu {
		font-size: 1.2rem;
		margin-left: 4.6875%;
	}

	#footer .footer-menu li {
		float: left;
		margin-right: 28px;
	}

	#footer .copyright {
		font-size: 1.2rem;
		margin: 30px 0 0 4.6875%;
	}

	#footer .tokyofestivall {
		position: absolute;
		top: 50%;
		right: 280px;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
	#footer .tokyofestivall img {
		width: 160px;
	}

	#footer .logo {
		position: absolute;
		top: 50%;
		right: 4.6875%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	#footer .logo i:first-child {
		width: 180px;
	}

	#footer .logo i:nth-child(2) {
		width: 128px;
		margin-top: 15px;
	}

	.en #footer .logo i:nth-child(2) {
		width: 208px;
		margin-top: 20px;
	}

	#main {
		padding-top: 64px;
		padding-bottom: 100px;
	}

	#main .contents .btn-back-top {
		width: 90.625%;
		max-width: 1305px;
		margin: 48px auto 0 auto;
	}

	#main .contents .btn-back-bottom {
		width: 90.625%;
		text-align: center;
		margin: 100px auto 0 auto;
	}

	#main .contents .btn-back-top a,
	#main .contents .btn-back-bottom a {
		font-size: 1.6rem;
		padding-left: 18px;
		padding-bottom: 2px;
		display: inline-block;
		position: relative;
	}

	#main .contents .btn-back-top a:before,
	#main .contents .btn-back-bottom a:before {
			content: "";
			display: block;
			position: absolute;
			top: 3px;
			left: 3px;
			width: 7px;
			height: 7px;
			border-top: 1px solid #000;
			border-left: 1px solid #000;
			-webkit-transform: rotate(-45deg);
			transform: rotate(-45deg);
	}

	#btn-pagetop {
		width: 50px;
		height: 50px;
	}

	#btn-pagetop:before {
		top: 50%;
		left: 50%;
		margin-top: 4px;
		width: 14px;
		height: 14px;
		border-top: 2px solid #FFF;
		border-right: 2px solid #FFF;
	}

}

@media screen and (min-width:1024px) {
	#header #main-menu,
	#header #sub-menu .language span {
		font-size: 1.4rem;
	}
}

@media screen and (min-width:1162px) {
	#header #main-menu,
	#header #sub-menu .language span {
		font-size: 1.5rem;
	}
}

@media screen and (min-width:1300px) {
	#header #main-menu,
	#header #sub-menu .language span {
		font-size: 1.6rem;
	}
}
@media screen and (max-width:1100px) and (min-width:960px) {
	#footer .tokyofestivall {
		right: 210px;
	}
	#footer .tokyofestivall img {
		width: 110px;
	}
	#footer .logo i:first-child {
		width: 130px;
	}
	#footer .logo i:nth-child(2) {
		width: 90px;
		margin-top:10px;
	}
}

/* ===========================================
SP
=============================================*/

@media screen and (max-width:959px) {

	.pc {
		display: none!important;
	}

	#header {
		height: 56px;
	}

	#header.open {
		background: rgba(0,0,0,0.0);
		-webkit-transition: 0.5s ease;
		transition: 0.5s ease;
	}

	#header h1 {
		top: 18px;
		left: 3.6%;
	}

	.en #header h1 {
		top: 16px;
	}

	#header h1 img {
		width: 122.5px;
		height: 20px;
	}

	.en #header h1 img {
		width: 155px;
		height: 24px;
	}

	#header #drawer {
		width: 100%;
		display: none;
		position: absolute;
	}

	#header #drawer .inner {
		width: 100%;
		min-height: 100vh;
		background: rgba(0,0,0,0.94);
		text-align: center;
		box-sizing: border-box;
		padding: 86px 0 40px 0;
	}

	#header #main-menu {
		width: 92%;
		font-size: 2.0rem;
		line-height: 40px;
		margin: 0 auto;
		/* 初回公開時 */
		/* position: absolute;
		top: 50vh;
		left: 4%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%); */
	}

	#header #main-menu li {
		height: 40px;
		margin: 7px 0;
	}

	#header #main-menu li.current {
		background: #FFF;
		color: #000;
	}

	#header #sub-menu .sns {
		font-size: 2.5rem;
		margin-top: 20px;
	}

	#header #sub-menu .sns li {
		display: inline-block;
		margin: 0 12px;
	}

	#header #sub-menu .language {
		width: 84%;
		margin: 40px auto 0 auto;
		/* display: none; */
	}

	#header #sub-menu .language span a {
		font-size: 1.4rem;
		border: 1px solid #FFF;
		display: block;
		padding: 12px 0;
	}

	#header #sub-menu .language span a:hover,
	#header #sub-menu .language span a:active,
	#header #sub-menu .language.active span a {
		background: #FFF;
		color: #000;
		text-decoration: none;
	}

	#header #sub-menu .language ul {
		background: #FFF;
		color: #000;
		text-align: left;
		overflow: hidden;
	}

	#header #sub-menu .language ul li {
		margin: 0 15px;
		position: relative;
	}

	#header #sub-menu .language ul li a {
		font-size: 1.8rem;
		display: block;
		padding: 20px;
	}

	#header #sub-menu .language ul li.current a {
		background: #000;
		color: #FFF;
		/* pointer-events: none; */
	}

	#header #sub-menu .language ul li.current a:after {
		content: "\f00c";
		font-size: 1.6rem;
		font-family: FontAwesome;
		position: absolute;
		top: 50%;
		right: 15px;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	#header #sub-menu .language ul li:first-child {
		margin-top: 15px;
	}

	#header #sub-menu .language ul li:last-child {
		margin-bottom: 15px;
	}

	#header .btn-menu {
		width: 18px;
		height: 17px;
		position: fixed;
		top: 20px;
		right: 5.333%;
		cursor: pointer;
		z-index: 9999;
	}
	#header .btn-menu,
	#header .btn-menu span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	#header .btn-menu span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 1px;
		background-color: #FFF;
	}
	#header .btn-menu span:nth-of-type(1) {
		top:2px;
	}
	#header .btn-menu span:nth-of-type(2) {
		top: 8px;
	}
	#header .btn-menu span:nth-of-type(3) {
		bottom: 2px;
	}
	#header .btn-menu.active span:nth-of-type(1) {
		-webkit-transform: translateY(6px) rotate(-45deg);
		transform: translateY(6px) rotate(-45deg);
	}
	#header .btn-menu.active span:nth-of-type(2) {
		opacity: 0;
	}
	#header .btn-menu.active span:nth-of-type(3) {
		-webkit-transform: translateY(-6px) rotate(45deg);
		transform: translateY(-6px) rotate(45deg);
	}

	#footer {
		padding: 30px 0;
	}

	#footer .footer-menu {
		width: 84%;
		font-size: 1.1rem;
		margin: 0 auto;
		padding-bottom: 10px;
	}

	#footer .footer-menu li {
		border-right: 1px solid #d2d2d2;
		float: left;
		margin: 0 8px 20px 0;
		padding-right: 8px;
	}

	#footer .footer-menu li:nth-child(3) {
		border-right:  none;
		padding-right: 0px;
		margin-right: 0px;
	}

	#footer .footer-menu li:nth-child(4) {
		clear: left;
	}

	#footer .archive {
		font-family: "Hiragino Mincho ProN", "游明朝", "Yu Mincho", YuMincho, 'ＭＳ 明朝', Meiryo, serif;
		width: 84%;
		font-size: 1.1rem;
		margin: 16px auto;
		padding-bottom: 10px;
	}

	#footer .archive p {
		font-size: 1.4rem;
	}

	#footer .archive ul {
		margin-top: 24px;
	}

	#footer .archive li {
		margin-bottom: 10px;
		line-height: 1.4;
	}

	#footer .archive a, #footer .archive a:hover {
		font-size: 1.1rem;
		text-decoration: underline;
	}

	#footer .copyright {
		width: 84%;
		font-size: 1.1rem;
		margin: 30px auto 0 auto;
	}

	#footer .tokyofestivall {
		width: 84%;
		margin: 30px auto 0 auto;
	}
	#footer .tokyofestivall img {
		width: 130px;
	}

	#footer .logo {
		width: 84%;
		margin: 30px auto 0 auto;
	}

	#footer .logo i:first-child {
		width: 150px;
	}

	#footer .logo i:nth-child(2) {
		width: 92px;
		margin-top: 11px;
	}

	.en #footer .logo i:nth-child(2) {
		width: 150px;
	}

	#main {
		padding-top: 56px;
		padding-bottom: 60px;
	}

	#main .contents .btn-back-top {
		width: 84%;
		margin: 34px auto 0 auto;
	}

	#main .contents .btn-back-bottom {
		width: 84%;
		text-align: center;
		margin: 60px auto 0 auto;
	}

	#main .contents .btn-back-top a {
		font-size: 1.2rem;
		padding-left: 15px;
		display: inline-block;
		position: relative;
	}

	#main .contents .btn-back-top a:before {
			content: "";
			display: block;
			position: absolute;
			top: 2px;
			left: 3px;
			width: 7px;
			height: 7px;
			border-top: 1px solid #000;
			border-left: 1px solid #000;
			-webkit-transform: rotate(-45deg);
			transform: rotate(-45deg);
	}

	#main .contents .btn-back-bottom a {
		font-size: 1.6rem;
		padding-left: 20px;
		padding-bottom: 2px;
		display: inline-block;
		position: relative;
	}

	#main .contents .btn-back-bottom a:before {
			content: "";
			display: block;
			position: absolute;
			top: 2px;
			left: 3px;
			width: 9px;
			height: 9px;
			border-top: 1px solid #000;
			border-left: 1px solid #000;
			-webkit-transform: rotate(-45deg);
			transform: rotate(-45deg);
	}

	#btn-pagetop {
		width: 48px;
		height: 48px;
	}

	#btn-pagetop:before {
		top: 50%;
		left: 50%;
		margin-top: 4px;
		width: 14px;
		height: 14px;
		border-top: 1px solid #FFF;
		border-right: 1px solid #FFF;
	}

}
