@charset "utf-8";

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body, input, select, option, textarea {
	font-size: 16px;
}
section {
	display: block;
}
html, body {
	height: 100%;
}
body {
	line-height: 144%;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	overflow-x: hidden;
}
.iOS {
	font-size: 8px;
}

table {
	width: calc(100% - 6em);
	margin: 1em;
	border-collapse: collapse;
}
th, td {
	padding: 1em;
	text-align: left;
	border: 1px solid #ffffff;
	color: #ffffff
}
article {
}

.text-center {
	text-align: center;
}
.small {
	font-size: 0.8em;
}

.hidden {
	display: none !important;
}

.underline {
	text-decoration: underline !important;
}
.underline:hover {
	text-decoration: none !important;
}

.startup {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 1);
	z-index: 100;
	color: #ffffff;
	display: block;
	font-family: 'arial', 'meiryo UI';
	opacity: 1;
	transition: all 3s ease 0s;
}
.startup[data-display=false]{
	opacity: 0;
	pointer-events: none;
}

#p0 {
	z-index: 2;
}

.startupVideo {
	min-width: 100%;
	min-height: 100%;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 0;
	opacity: 0;
	transition: all 2s ease 0s;
	pointer-events: none;
}
.startup div {
	width: 100%;
	height: 100%;
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-shadow: 0 0 15px #000000;
	z-index: 1;
}
.startup h1 {
	margin: 1em;
	font-size: 1.3em;
	display: block;
	text-align: center;
	line-height: 150%;
}
.startup h2 {
	margin-top: -1em;
	font-size: 3em;
	display: block;
	text-align: center;
	line-height: 100%;
}
.startup strong {
	margin: 0 auto 3em auto;
	display: block;
	font-size: 1.9em;
	text-align: center;
	font-family: "リュウミン R-KL";
}

a {
	color: inherit;
}

.contents {
}
.header {
	width: 100%;
	position: fixed;
	top: 0;
	display: block;
	color: #ffffff;
	background-color: rgba(0, 0, 0, 0.8);
	z-index: 3;
	transition: all 1s ease 0s;
}
.header a {
	text-decoration: none;
}
.header div {
	width: calc(100% - 4em);
	margin: auto;
}
.siteTitle {
	font-size: 1em;
	float: left;
}
.siteTitle a {
	padding: 1em;
	display: block;
}
.menu {
	font-size: 1em;
	display: block;
	float: right;
}
.menu li {
	display: inline-block;
}
.menu li a {
	padding: 1em;
	display: block;
	text-decoration: none;
	color: rgba(255, 255, 255, 0.7);
	font-weight: 800;
}
.menu li a:hover {
	text-decoration: underline;
	color: #ffffff;
	background-color: rgba(0, 0, 0, 0.5);
}

.menu li ul {
	display: flex;
	flex-wrap: wrap;
	position: absolute;
	opacity: 0;
	pointer-events: none;
	transition: all 0.5s ease 0s;
	margin-top: -0.5em;
	padding: 1em 0 0 0;
	z-index: 2;
	background-color: rgba(0, 0, 0, 0.8);
}
.menu li .dropdown:hover + ul,
.menu li ul:hover {
	opacity: 1;
	pointer-events: auto;
}
.menu li ul li {
	display: inline-flex;
}
.menu address {
	padding: 1em;
	position: absolute;
	top: 3.495em;
	right: 0;
	text-align: right;
	color: #ffffff;
	text-shadow:
		0 0 1px #000000,
		0 0 5px #000000
		;
	display: none;
}
.header:hover address {
	display: block;
	text-shadow: none;
	background-color: rgba(0, 0, 0, 0.7);
}



.font-size-small {
	font-size: 0.8em;
}
.white {
	color: #ffffff;
	text-decoration: none;
}
.white:hover {
	text-decoration: underline;
}
.menuSwitch {
	display: none;
}
label.menuSwitch {
	margin: 0.5em;
	padding: 0.15em 1em 0.25em 1em;
	border: 1px solid #000000;
	border-radius: 5px;
	float: right;
	font-size: 1.2em;
	text-align: center;
	cursor: pointer;
	color: #000000;
	background-color: rgba(255, 255, 255, 0.6);
}
#menuSwitch:checked ~ .menu {
	display: flex;
}
#menuSwitch:checked ~ .menu address {
	top: auto;
}
#menuSwitch:checked ~ label.menuSwitch {
	color: #ffffff;
	background-color: rgba(0, 128, 255, 0.3);
}


@media screen and (max-width: 800px){
.menu {
	display: none;
}
label.menuSwitch {
	display: block;
}
.menu address {
	display: none;
}
}


@media screen and (min-width: 501px){
.smp {
	display: none !important;
}
}

@media screen and (max-width: 500px){
.menu {
	width: 100%;
	flex-wrap: wrap;
}
.menu > li {
	width: calc(25%);
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.menu li ul {
	margin: 3em 2em 0 2em;
	padding: 1em 1em 0 1em;
	pointer-events: none;
	transition: none;
	z-index: auto;
	background-color: transparent;
}
.menu li ul li {
	margin: auto 1px;
	padding: 1px;
}
.menu li ul:hover li {
	pointer-events: auto;
}
.menu li ul li a {
	background-color: rgba(255, 255, 255, 0.9);
	color: rgba(0, 0, 0, 0.8);
	z-index: 1;
}
.header:hover address {
	left: 0;
	bottom: -61%;
	background-color: rgba(0, 32, 64, 0.7);
}

.smp-hidden {
	display: none !important;
}
}

.news-top {
	margin: 6em 2em;
	position: absolute;
	top: 0;
	left: 0;
	font-size: 0.8em;
	z-index: 10;
}
.news-top a {
	text-decoration: none;
	text-shadow: 1px 1px 5px #000000;
}
.news-top a:hover {
	text-decoration: underline;
}


.contents {
	height: 100%;
}

.page {
	width: 100%;
	height: auto;
	min-height: 100%;
	margin-bottom: 1px;
	position: relative;
	background-repeat: no-repeat no-repeat;
	background-position: center bottom;
	background-size: cover;
	z-index: auto;
}

.iOS .page {
	background-image: none !important;
	z-index: 0;
}
.page .page-background  {
	width: 100%;
	height: 100%;
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	background-color: transparent;
	background-repeat: no-repeat no-repeat;
	background-position: center center;
	background-size: cover;
	z-index: -3;
	pointer-events: none;
}
.iOS .page-background {
	display: block;
}

/* */
.balloon {
	width: 100%;
	max-width: 1200px;
	height: 100%;
	margin: auto;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	overflow: hidden;
}
.balloon a {
	min-width: 200px;
	padding: 0.75em;
	bottom: -100%;
	position: absolute;
/*	animation:
		balloonB 10s ease 0s infinite normal,
		balloonA 5s cubic-bezier(0.13, 0.07, 0, 1.04) 1s 1 normal
		;
*/	animation-fill-mode: forwards;
	transition: all 0.25s ease 0s;
}
.balloon a:hover {
	padding: 0;
	opacity: 0.9;
}
.balloon a img {
	width: 100%;
}

@keyframes balloonA {
0% {
	opacity: 0;
	bottom: -100%;
}
100% {
	bottom: 0;
	opacity: 1;
}
}
@keyframes balloonB-1 {
0%, 100% {
	bottom: 0;
}
25% {
	transform: rotateZ(-5deg);
}
50% {
	bottom: 0.2em;
}
75% {
	transform: rotateZ(2deg);
}
}

@keyframes balloonB-2 {
0%, 100% {
	bottom: 0;
}
25% {
	transform: rotateZ(7deg);
}
50% {
	bottom: 0.2em;
}
75% {
	transform: rotateZ(-3deg);
}
}

@keyframes balloonB-3 {
0%, 100% {
	bottom: -0.2em;
}
25% {
	transform: rotateZ(-5deg);
}
50% {
	bottom: 0;
}
75% {
	transform: rotateZ(5deg);
}
}



.show {
	width: 100%;
	height: 100%;
	margin: auto;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	display: block;
	overflow: hidden;
}
.show input {
	display: none;
}
.show li {
	width: 0;
	height: 100%;
	position: relative;
	display: inline-block;
	vertical-align: middle;
	overflow: hidden;
	float: left;
	transition: all 1s ease 0s;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-attachment: fixed;
	z-index: 0;
	cursor: pointer;
}
.show li article[data-label]:after {
	content: attr(data-label);
	width: 10em;
	margin: 1em auto;
	padding: 1em 2em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	color: rgba(255, 255, 255, 0.8);
	font-size: 0.8em;
	background-color: rgba(255, 255, 255, 0.3);
	border-radius: 5em;
	pointer-events: none;
}


.show input:checked + li {
	width: 100%;
	z-index: 1;
	box-shadow: 0 0 10px 10px rgba(0, 0, 0, 0.4);
	cursor: auto;
}


.show article {
	width: 50%;
	min-height: 10em;
	margin: 0 1em;
	padding: calc(5em + 5%) 2em 2em 2em;
	display: inline-block;
	position: absolute;
	top: 0;
	left: -500%;
	bottom: 0;
	color: #ffffff;
	background-color: rgba(0, 0, 0, 0);
	opacity: 0;
	transition: all 1s ease 0s, opacity 1s ease 1.5s;
}
.show input:checked + li article {
	left: 0;
	background-color: rgba(0, 0, 0, 0.4);
	opacity: 1;
}
.show input:checked + li article.rigth {
	left: calc(50% - 2em);
}
.show article p {
	padding: 0.65em 0;
	line-height: 200%;
}
.show h4 {
	font-size: 1.2em;
	padding: 1em 0;
}

#p1 menu {
	width: 10em;
	height: 1em;
	margin: auto auto 3em auto;
	position: absolute;
	left: 0;
	bottom: 0;
	right: 0;
	display: inline-block;
}
#p1 menu label {
	padding: 1em;
	cursor: pointer;
}
.next {
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	cursor: pointer;
}


@media screen and (max-width: 500px){
.show article {
	padding: 2em;
}
.show li {
	width: 2em;
}
.show li.rigth {
	background-position: right 33.333% center;
}
.show input:checked + li {
	width: calc(100% - 4em);
}
.show article {
	width: calc(100% - 4em);
	margin: 7.5em 2em 2em 2em;
}
.show input:checked + li article.rigth {
	left: 0;
}

}


#p2 {
	overflow: hidden;
}
.carcensor {
	display: block;
	position: absolute;
	right: -8px;
	bottom: -64px;
	z-index: 1;
}
.carcensor img {
	width: 338px;
}

#p2 article,
#p2 .box {
	width: 100%;
	height: 100%;
	position: absolute;
	color: #ffffff;
	background-color: transparent;
}

#p2 .box {
	background-image: url(img/P7062267.jpg);
	background-repeat: no-repeat no-repeat;
	background-position: center center;
	background-size: cover;
	opacity: 0.3;
	filter: grayscale(100%);
}
#p2 .carcensor:hover ~ .box {
	opacity: 0.7;
	filter: grayscale(25%);
}
.iOS #p2 .box {
	opacity: 0.5;
	filter: grayscale(50%);
}
#p2 article {
}

.carcensorList {
	width: 100%;
	height: 100%;
	padding: 4em 256px 0 2em;
	list-style-type: none;
	display: flex;
	position: absolute;
	align-items: center;
	flex-wrap: wrap;
	align-content: space-around;
}
.carcensorList h2 {
	width: 100%;
	margin: 0;
	padding: 0;
	font-size: 1.5em;
	line-height: 100%;
	color: #000000;
}
.carcensorList li {
	width: calc(33.333% - 1em);
	margin: 0.5em;
	padding: 0.5em;
	display: block;
	position: relative;
	background-color: rgba(0, 0, 0, 0.5);
	border-radius: 0.5em;
}
.carcensorList a {
	padding: 0.5em;
	display: block;
	color: inherit;
	text-decoration: none;
}
.carcensorList a:hover {
	text-decoration: underline;
}
.carcensor:hover ~ article .carcensorList a {
	text-shadow:
		0 0 3px #ffffff,
		0 0 3px #ffffff,
		0 0 3px #ffffff,
		0 0 3px #ffffff,
		0 0 3px #ffffff;
	text-decoration: underline;
}

.carcensorList h3 {
	min-height: 3em;
	font-size: 0.9em;
	font-weight: 800;
}
.carcensorList img {
	max-width: 100%;
	max-height: 128px;
	margin: 0.5em auto;
	display: block;
}
.carcensorList li:hover {
	color: #ffbb00;
	box-shadow:
		0 0 2em #ffffff,
		0 0 2em #ffffff,
		0 0 2em #ffffff
}
.carcensorList .name {
}
.carcensorList .amount {
	text-align: right;
}
.carcensorList .name {
}


@media screen and (max-width: 800px){
#p2 {
	height: auto;
}
#p2 article {
	padding-bottom: 3em;
}
.carcensorList {
	padding: 4em 128px 0 2em;
}
.carcensorList li {
	width: calc(33.333% - 1em);
	margin: 0.5em;
}

.carcensor {
	text-align: right;
}
.carcensor img {
	width: 200px;
}

}

@media screen and (max-width: 800px){
.carcensorList {
	padding: 4em 4em 8em 2em;
}
.carcensorList li {
	width: calc(50% - 1em);
	margin: 0.5em;
}

}



#p3 {
	transition: all 1s ease 0s;
	padding: 5em 3em;
}

#p3 article {
	width: calc(100% - 6em);
	padding: 1em;
	position: relative;
	background-color: rgba(255, 255, 255, 0.85);
	background-color: rgba(0, 0, 0, 0.5);
	color: #ffffff;
	font-size: 0.85em;
}
#p3 article strong {
	font-size: 1.5em;
}
#p3 h2,
#p3 h3,
#p3 h4 {
	margin-top: 1em;
}

#p3 ol,
#p3 ul {
	margin: 1em 0 1em 1.5em;
}
#p3 p {
	margin: 0.5em 0;
	padding-left: -1em;
	text-indent: 1em;
}
.p3-check + section {
	width: calc(100% - 2em);
	margin: 4em 1em 1em 1em;
	padding: 1em 1em 1em 2em;
	position: relative;
	opacity: 0;
	pointer-events: none;
	display: none;
}
.p3-check:checked + section {
	padding: 1em;
	opacity: 1;
	display: block;
	pointer-events: auto;
}
#p3 menu {
	line-height: 4em;
	position: absolute;
	top: 4.2em;
	z-index: 1;
}
#p3 menu {
	padding: 0.5em;
}
#p3 menu label {
	margin: 0 0.5em;
	padding: 1em;
	word-break: keep-all;
	cursor: pointer;
	text-decoration: underline;
	background-color: rgba(255, 255, 255, 0.2);
}
#p3 menu label:hover {
	background-color: rgba(255, 255, 255, 0.5);
}
#p3-1:checked ~ menu .p3-1,
#p3-2:checked ~ menu .p3-2 {
	background-color: rgba(255, 255, 255, 0.8);
	color: #000000;
}

#p3 div.back {
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background-repeat: no-repeat no-repeat;
	background-position: center center;
	background-size: cover;
	background-attachment: fixed;
}

#p3 address p strong {
	text-indent: 0;
}
#p3 address strong,
#p3 .formlink {
	margin: 0.25em;
	padding: 0.5em;
	font-size: 1.3em;
	font-weight: 800;
	border: 1px solid #ffffff;
	display: inline-block;
}
#p3 .formlink {
	width: 20em;
	margin: 1em auto;
	display: block;
	text-align: center;
	background-color: rgba(0, 0, 255, 0.5);
}
#p3 .formlink:hover {
	opacity: 0.8;
}


@media screen and (max-width: 900px) {
.p3-check + section {
	margin-top: 8em;
	height: calc(100% - 9em - 4em);
}

}
@media screen and (max-width: 500px){
#p2,
#p3 {
	height: auto;
}
#p3 article {
	width: calc(100% - 2em);
	height: calc(100% - 7em);
	margin: 5em 1em 2em 1em;
}
#p3 .formlink {
	font-size: 1em;
}
}


#p4 {
	padding: 5em 2em;
	height: auto;
}
#p4 h2, #p4 h3 {
	color: #000000;
}
#p4 article {
	max-width: 800px;
	margin: auto;
}
#p4 table {
	margin: 1em auto;
	position: relative;
}
#p4 th, #p4 td {
	width: 8em;
	font-weight: 400;
	border: 1px solid #000000;
	color: inherit;
}
#p4 a {
	text-decoration: none;
}
#p4 a:hover {
	text-decoration: underline;
}
#p4 ul {
	padding-left: 1em;
}
#p4 img {
	max-width: 15em;
	margin: auto;
	display: block;
}


#p5 {

}
#p5 article {
	padding: 6em;
	color: #ffffff;
}
#p5 table {
	max-width: 800px;
	background-color: rgba(0, 0, 0, 0.4);
}
#p5 th {
	width: 15em;
}

@media screen and (max-width: 500px){
#p5 article {
	padding: 5em 2em 2em 2em;
}
#p5 table {
	width: 100%;
	margin: 1em 0;
}
#p5 th {
	width: 8em;
}

}


#p6 {
	min-height: calc(600px + 6em + 4em);
}
#p6 article {
	width: calc(100% - 6em);
	min-height: calc(100% - 6em);
	margin: auto;
	padding: 3em 2em;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}
#p6 h2 {
	padding: 1em 0;
	color: #ffffff;
}
.calender {
	max-width: 100%;
	display: block;
	margin: auto;
}



#p8 {
	padding: 5em 2em;
	color: #ffffff;
	font-size: 1.1em;
}
.parts {
	padding: 2em 0;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	font-size: 0.9em;
	list-style-type: none;
}
.parts li {
	width: calc(20% - 1em);
	min-width: 150px;
	min-height: 150px;
	margin: 0.5em;
	padding: 1em;
	background-color: rgba(0, 0, 0, 0.75);
}
.iOS .parts li {
	min-width: 0;
	width: calc(33.333% - 1em);
}
.parts a {
	text-decoration: none;
}
.parts a:hover {
	text-decoration: underline;
}
.parts li .name {
	font-size: 1.1em;
	min-height: 5em;
}
.parts li .maker {
	font-size: 0.8em;
	text-align: right;
	color: #cccccc;
}
.parts li .thumbnail {
	max-width: 100%;
	max-height: 128px;
	margin: auto;
	display: flex;
}
.parts li .remaining {
	margin: 0.5em 0 0 0;
	font-size: 0.9em;
	text-align: right;
	color: #cccccc;
}
.parts li .remaining strong {
	font-size: 1.5em;
	margin: 0 0.125em;
}
.parts li .amount {
	margin: 0 0 0.5em 0;
	font-size: 2em;
	text-align: right;
}
.parts li .amount::before {
	content: "￥";
}
.parts li .description {
	font-size: 0.75em;
	line-height: 144%;
	color: #cccccc;
}

@media screen and (max-width: 800px){
.parts li {
	width: calc(50% - 1em);
}
}



.forms_link {
	width: 80%;
	margin: 1em auto;
	padding: 1em;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #ffffff;
	border-radius: 5px;
	text-decoration: none;
}
.forms_link:hover {
	background-color: rgba(255, 255, 255, 0.9);
}

.hana {
	max-width: 66.666%;
	max-height: 33.333%;
	margin: 1em;
	position: absolute;
	right: 0;
	bottom: 0;
}


#p9 ul {
	margin: 1em 4em;
}
#p9 li {
	margin: 0.5em 0;
	line-height: 144%;
}




/* news
------------------------------------------------------------ */
.news {
	padding-top: 3em;
	overflow: hidden;
}
.news > h2 {
	padding: 2em 0 0 0;
	text-align: center;
}
.news .post {
	width: calc(100% - 2em);
	margin: 1em;
	padding: 5em 1em 2em 1em;
	display: block;
	position: relative;
	border-top: 1px solid rgba(0, 0, 0, 0.5);
	clear: both;
}
.news .post:nth-child(even) .post-thumbnail {
	float: right;
}
.news .post-thumbnail {
	width: 40%;
	height: 4em;
	padding: 0;
	position: relative;
	float: left;
	text-align: center;
}
.news .post-thumbnail img {
	max-width: 100%;
	max-height: 100%;
}
.news .post-contents {
	width: 100%;
	padding: 0 2em;
	background-color: rgba(255, 255, 255, 0.85);
}
.news header {
}
.news .post-title {
	min-height: 3em;
	margin: 0 0 1em 0;
	color: #806000;
	display: block;
	font-size: 1.3em;
	position: relative;
}
.news .post-title time {
	color: #606060;
	font-family: 'Georgia';
	font-weight: 400;
	font-size: 0.8em;
	position: absolute;
	top: -1.75em;
}
.post-contents p {
	padding: 0.5em 0;
	line-height: 144%;
}
.post-contents img {
	width: auto !important;
	height: auto !important;
	max-width: 100%;
	max-height: 100%;
	display: inline-block;
}
.post-contents table {
	width: 100% !important;
	margin: 1em 0;
	display: table;
}
.post-contents td,
.post-contents th {
	width: auto !important;
	min-width: 5em;
	border: 1px solid #000000;
	color: #000000;
}

.post-contents .ricoh-theta-spherical-image {
	width: auto !important;
	height: auto !important;
	max-width: 100%;
	max-height: 1000px;
	margin: 1em auto;
	display: block;
}

.twitter-tweet {
	min-height: 450px;
}

.alignleft {
	text-align: left;
}
.aligncenter {
	text-align: center;
}
.alignrigth {
	text-align: right;
}


.social {
	width: 0;
	display: block;
	position: fixed;
	bottom: 1em;
	left: 0;
	z-index: 1;
}
.social a {
	padding: 0.5em 0.25em 0.5em 0;
	writing-mode: vertical-rl;
	text-decoration: none;
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
	font-family: 'Meiryo';
	font-weight: 800;
	color: #ffffff;
	position: relative;
	left: -5px;
	transition: all 0.25s ease 0s;
}
.social a:hover {
	left: -2px;
}

.footer {
	padding: 2em 4em;
	position: relative;
	display: block;
}
.footer .contents {
	padding: 1em 0;
	border-top: 4px double #604000;
}
.footer .contents address {
	width: calc(100% - 6em);
	display: block;
}
.iOS .footer {
	padding: 4em 4em 2em 4em;
}

.footer p {
	padding: 0.25em 0;
}

.facebook, .twitter {
	max-width: 3em;
	max-height: 3em;
}

@media screen and (max-width: 500px) {
#p6 article {
	width: auto;
}
.footer .small {
	font-size: 0.9em;
}
}



.startup .sponsor {
	margin: auto;
	justify-content: flex-end;
	position: absolute;
	left: 0;
	bottom: 5%;
	right: 0;
}
.footer .sponsor {
	width: 80%;
	margin: auto;
	display: block;
	text-align: center;
}
.sponsor a {
	text-align: center;
}
.footer .sponsor a {
	display: flex;
	align-items: center;
	justify-content: center;
}
.footer .sponsor::before {
	content: ' ';
	width: 350px;
	height: 350px;
	margin: auto;
	position: absolute;
	bottom: 80%;
	left: 0;
	right: 0;
	background-image: url(img/evessa-ticket.png?);
	background-repeat: no-repeat no-repeat;
	background-position: center center;
	background-size: contain;
	opacity: 1;
	pointer-events: none;
	transition: all 1s ease 0s;
}
.footer:hover .sponsor::before,
#footer-sponsor[data-display=true]::before {
	bottom: 90%;
	opacity: 1;
}


.sponsor img {
	max-height: 10em;
}
.sponsor img:hover {
	filter: grayscale(75%);
}
.sponsor:hover img {
	filter: grayscale(75%);
}
.link {
	padding: 1em 0;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	flex-wrap: wrap;
	border-top: 4px double #604000;
}
.link a {
	width: 11em;
	padding: 0.5em;
	text-decoration: none;
	text-align: center;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
.link a:hover {
	opacity: 0.5;
}
.link img {
	max-width: 10em;
	max-height: 3em;
}
.link a p {
	padding: 0.25em 0 0 0;
	font-size: 0.7em;
	color: #0606060;
	text-align: center;
}

.startup .sponsor img {
	max-height: 12em;
}
.startup .sponsor a p  {
}
.footer .sponsor img {
}
.startup .sponsor .line {
	width: 100%;
	height: 6.5em;
	margin: auto;
	background-color: rgba(255, 255, 255, 0.333);
	position: absolute;
	bottom: 0.5em;
	z-index: -1;
}
.sponsor .evessa-nomuradome21 {
	max-height: 5em;
	max-width: 100%;
}

 .sponsor .evessa-mascot {
 	max-height: 5em;
 }
 @media screen and (max-width: 500px){
.startup .sponsor .sponsor-top_evessa {
	max-height: 8em;
}
}


.hana-channel {
	width: 100%;
	height: 100%;
	border: 0;
	position: fixed;
	display: block;
	bottom: 0;
	left: 0;
	z-index: 100;
	background-color: rgba(0, 0, 0, 0.666);
}
.hana-channel {
}
.hana-channel[data-display=false]{
	opacity: 0;
	pointer-events: none;
}
.hana-chan {
	width: 10em;
	height: 15em;
	padding: 2em 0;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	position: absolute;
	right: 0;
	bottom: 0;
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: contain;
	background-image: url(img/hana.png);
	cursor: pointer;
}
.hana-chan p {
	padding: 0.5em;
	border: 2px solid #000000;
	font-size: 0.8em;
	text-align: center;
	background-color: rgba(255, 255, 255, 0.8);
}
.hana-chan:hover p {
	color: #ff0000;
}

.pv {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 10000;
	background-color: rgba(0, 0, 0, 0.5);
	color: #fff;
	font-size: 2em;
}
.pv iframe {
	width: 90%;
	height: 80%;
}
.pv .telop {
	width: 80%;
	margin: 0.25em auto;
	padding: 0.5em;
	padding-left: 1.5em;
	text-indent: -1em;
	position: absolute;
	top: 0.25em;
	left: 0;
	right: 4em;
	line-height: 114%;
	font-size: 0.65em;
	background-color: rgba(0, 0, 0, 0.6);
	pointer-events: none;
}
.pv .telop img {
	max-width: 3em;
	margin: 0 0.25em;
	box-shadow: 0 0 0.25em 0.1em #fff;
}
.pv .close {
	width: 1.5em;
	height: 1.5em;
	margin: 1em;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	right: 0;
	border: 2px solid #fff;
	background-color: rgba(255, 0, 0, 0.6);
	border-radius: 2em;
	box-shadow: 0 0 1em #000;
	cursor: pointer;
}