/* CSS Document */
@charset "UTF-8";

html, body {
	height: 100%;
}
body {
	position: relative;
	background: #32312f;
	color: #f1f1f1;
	padding: 0;
	margin: 0;
	animation: loading 1.4s;
}
@keyframes loading {
	0% {opacity: 0;transform: scale(1.07);}
	100% {opacity: 1;transform: scale(1);}
}


header {
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
header h1 {
	display: inline-block;
	padding: 0;
	margin: 16px 0;
	font-size: 14px;
	font-size: 1.4rem;
	color: #bebebe;
}

nav {
	position: fixed;
	bottom: 50px;
	left: 0;
	padding: 0;
	text-align: left;
}
.nav-contents {
	margin-left: -64px;
	width: 84vw;
	height: auto;
	max-width: 600px;
	/*width: 488px;
	height: 182px;*/
}
nav ul.gnavi {
	padding: 10px 0 0 40px;
	margin: 0;
	list-style: none;
}
nav ul.gnavi a {
	display: block;
	padding: 15px 0 0;
	margin: 0 0 6px;
}
nav ul.gnavi a.x {
	width: 6vw;
	height: auto;
	/*width: 35px;
	height: 36px;*/
}
nav ul.gnavi a.photo {
	width: 29vw;
	height: auto;
	/*width: 175px;
	height: 39px;*/
}
nav ul.gnavi a.movie {
	width: 26vw;
	height: auto;
	/*width: 154px;
	height: 38px;*/
}

.maintheme {
	background: url(../images/maintheme.jpg?24) center top no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 100%;
	height: 100vh;
	max-width: 800px;
}

.spbodyContainer {
	position: absolute;
	top: 120px;
	left: 0;
	width: 100%;
}
.contentsContainer {
	width: 100%;
}

.pgContainer {
	display: none;
	position: fixed;
	top: 220px;
	left: 0;
	background: rgba(0,0,0,.6);
	-webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
	border-bottom: 4px #333 solid;
	padding: 4px 0px 0;
	width: 100%;
	height: calc(100% - 80px);
	font-size: 16px;
	line-height: 1.6em;
	color: #f1f1f1;
	text-align: center;
	opacity: 0;
	z-index: 1001;
}
.pgContainer .scrContainer {
	position: relative;
	width: 100%;
	height: 100%;
	overflow-y: scroll;
}

a.close {
	display: inline-block;
	position: fixed;
	bottom: 20px;
	left: 50%;
	background: #535353;
	border-radius: 40px;
	padding: 14px 0;
	width: 80%;
	font-size: 14px;
	font-size: 1.4rem;
	color: #eaeaea;
	text-align: center;
	letter-spacing: .15em;
	z-index: 1002;
	transform: translateX(-50%);
	webkit-transition: all 0.6s;
    -moz-transition: all 0.6s;
    transition: all 0.6s;
}
a.close {
	color: #fff;
	webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
.close span:nth-child(1) {
	display: inline-block;
	position: absolute;
	top: 24px;
	left: 0;
	background: #c2c2c2;
	border-radius: 20px;
	width: 100px;
	height: 4px;
	transform: rotate(45deg);
	webkit-transition: all 0.6s;
    -moz-transition: all 0.6s;
    transition: all 0.6s;
}
.close span:nth-child(2) {
	display: inline-block;
	position: absolute;
	top: 24px;
	left: 0;
	background: #c2c2c2;
	border-radius: 20px;
	width: 100px;
	height: 4px;
	transform: rotate(-45deg);
	webkit-transition: all 0.6s;
    -moz-transition: all 0.6s;
    transition: all 0.6s;
}
.close:hover span:nth-child(1), .close:hover span:nth-child(2) {
	background: #fff;
	webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}


/* Photo */
ul.photolist {
	display: block;
	padding: 0 0 100px;
	margin: 0 0 0 3px;
	width: 100%;
	list-style: none;
}
ul.photolist li {
	float: left;
	width: 33%;
	height: 220px;
	vertical-align: top;
}
ul.photolist li a {
	display: block;
	position: relative;
	background: #5d5d5d;
	margin: 1px 1px 0 0;
	width: 100%;
	height: 220px;
	overflow: hidden;
}
ul.photolist li a img {
	height: 240px;
	object-fit: cover;
}
@media screen and (min-width:640px) {
	ul.photolist li {
		float: left;
		width: 210px;
		height: 340px;
		vertical-align: top;
	}
	ul.photolist li a {
		display: block;
		position: relative;
		background: #5d5d5d;
		margin: 1px 1px 0 0;
		width: 210px;
		height: 340px;
		overflow: hidden;
	}
	ul.photolist li a img {
		min-width: 210px;
		min-height: 340px;
		max-height: 400px;
		object-fit: cover;
	}
}


/* Movie */
ul.movielist {
	display: inline-block;
	padding: 0 0 100px;
	margin: 40px 0 0;
	list-style: none;
	text-align: center;
}
ul.movielist li {
	display: inline-block;
	margin: 15px 0;
}
ul.movielist li a {
	display: block;
	position: relative;
	background: #5d5d5d;
	width: 575px;
	height: 323px;
	overflow: hidden;
	transition: .7s ease-in-out;
}
ul.movielist li a video {
	width: 575px;
	height: auto;
}



footer {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	width: 100vw;
	text-align: center;
}
footer ul {
	display: inline-block;
	padding: 0 0 20px;
	margin: 0;
	list-style: none;
}
footer ul li {
	display: inline-block;
	margin: 0 16px;
}
footer ul li a {
	display: block;
	fill: rgb(212,214,216);
}
footer ul li a:hover {
	fill: rgb(255,255,255);
	text-decoration: none;
	animation: glitch .3s both infinite;
}
footer ul li a.sns-yt {
	width: 41px;
	height: 29px;
}
footer ul li a.sns-ins {
	width: 30px;
	height: 30px;
}
footer ul li a.sns-x {
	width: 28px;
	height: 29px;
}

footer .cr {
	display: block;
	padding: 16px 0;
	font-size: 10px;
	font-size: 1.0rem;
	color: #d4d6d8;
	letter-spacing: 1px;
	text-align: center;
}



.tablelist {
	display: inline-block;
}
.tablelist table {
	border: none;
	border-spacing: 8px;
	border-collapse: separate;
}
.tablelist th {
	background: #f9f9f9;
	border-right: 1px #9b9b9b solid;
	padding: 14px 14px 14px 24px;
	font-size: 12px;
	font-weight: normal;
	text-align: right;
}
.tablelist td {
	padding: 14px;
	text-align: left;
}


a.morebtn {
	display:inline-block;
	background:#f1f1f1;
	border-radius:16px;
	padding:12px 0;
	min-width:260px;
	font-size:14px;
	font-size:1.4rem;
	font-weight:500;
	color:#5d5d5d;
	text-align:center;
}
a.morebtn:hover {
	background: #5d5d5d;
	color: #f1f1f1;
	letter-spacing: .1em;
	text-decoration: none;
}


.clear {
	clear:both;
}
