@charset "UTF-8";

.hamburgerWrapper
{
	color: rgb(255, 255, 255);
}
.sc .hamburgerWrapper,
.hamburgerOpen .hamburgerWrapper
{
	color: rgb(0, 0 ,0);
}

.hamburger span
{
	background-color: rgb(255, 255, 255);
}
.sc .hamburger span,
.hamburgerOpen .hamburger span
{
	background-color: rgb(0, 0, 0);
}

#selector
{
	background-color: rgba(255, 255, 255, 0);
}

.sc #selector,
.hamburgerOpen #selector
{
	background-color: rgba(255, 255, 255, 1);
}

#selector .logo
{
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	pointer-events: none;
}

.sc #selector .logo,
.hamburgerOpen #selector .logo
{
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
	pointer-events: auto;
}

#selector a.sns._1
{
	background-image:url(../_img/sns_1_w.svg);
}

.hamburgerOpen #selector a.sns._1,
.sc #selector a.sns._1
{
	background-image:url(../_img/sns_1.svg);
}


/*//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////// TOP /////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

a#entBt
{
	position: absolute;
	display: block;
	cursor: pointer;
	top: calc(100% - 4rem);
	width: 4rem;
	height: 3rem;
	left: 50%;
	margin-left: -2rem;
	background-color: rgba(255, 255, 255, 0);
	z-index: 1000;

	-webkit-transition: all .2s ease;
	-moz-transition: all .2s ease;
	-ms-transition: all .2s ease;
	-o-transition: all .2s ease;
	transition: all .2s ease;
}

body.sc a#entBt
{
	transform: translateY(-5rem);
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
}

a#entBt p
{
	text-transform: uppercase;
	font-size: .5rem;
	color: rgba(255, 255, 255, 1);
	position: absolute;
	transform-origin: center left;
	bottom: 0;
	left: 50%;
	margin-left: -1.75em;
}

a#entBt span
{
	position: absolute;
	bottom: 1rem;
	left: 50%;
	width: 1px;
	height: 3rem;
	border-left: 1px solid rgba(255, 255, 255, 1);
	box-sizing: border-box;
}

a#entBt span::before
{
	position: absolute;
	top: 0px;
	left: 50%;
	content: '';
	width: 5px;
	height: 5px;
	margin-left: -3px;
	background-color:  rgba(255, 255, 255, 1);
	border-radius: 100%;
	-webkit-animation: sdb10 2s infinite;
	animation: sdb10 2s infinite;
	box-sizing: border-box;
}
@-webkit-keyframes sdb10 {
	0% {
		-webkit-transform: translate(0, 0rem);
		opacity: 0;
	}
	40% {
		opacity: 1;
	}
	80% {
		-webkit-transform: translate(0, 3rem);
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}
@keyframes sdb10 {
	0% {
		transform: translate(0, 0rem);
		opacity: 0;
	}
	40% {
		opacity: 1;
	}
	80% {
		transform: translate(0, 3rem);
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}

#top
{
	position: sticky;
	top: 0;
	height: 100vh;
	width: 100%;
	z-index: 0;
	opacity: 0;
}

.pace-done #top
{
	opacity: 1;
}

#top.uc
{
	margin-bottom: 0rem;
}

#top .cover
{
	pointer-events: none;
	position: absolute;
	top: 0;
	background-image: radial-gradient(rgba(0, 0, 0, .5) 50%, rgba(0, 0, 0, 0) 0), radial-gradient(rgba(0, 0, 0, .5) 50%, rgba(0, 0, 0, 0) 0);
	background-position: 0 0, 2px 2px;
	background-size: 4px 4px;
	background-attachment: fixed;
	width: 100%;
	height: 100%;
}

#video
{
	background-image: url(../_img/top.jpg);
	background-size: cover;
}

.sc #top .cover
{
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
}

#top .logo
{
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.sc #top .logo
{
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
}

#top .logo:before
{
	content:"";
	background-size: cover;
	width: clamp(150px, 50vw, 500px);
	aspect-ratio: 360 / 60;
	background-image: url(../_img/logo_w.svg);
}

#fullmov
{
	position: absolute;
	width: 100%;
	top: calc(50% + 50vw * 2 / 15 + 4rem);
	-webkit-justify-content: center;
	justify-content: center;
}

#fullmov > a
{
	cursor: pointer;
	font-size: .7rem;
	color:rgb(255, 255, 255);
	background-color: rgba(255, 255, 255, 0);
	display: block;
	line-height: 1;
	padding: .5em 1em;
	border: 1px solid;
	border-radius: 1em;
}

body:not(.touch) #fullmov > a:hover
{
	background-color: rgba(255, 255, 255, .5);
}

.modal-vdo-body
{
	width: calc(100% - 4rem);
/*	width: 100%;*/
	height: auto;
	padding-bottom: 56.25%;
	position: relative;
	overflow: hidden;
}

.modal-vdo-body iframe
{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

/**********************************************************/
/*********************** BG VIDEO **************************/
/**********************************************************/

#video
{
	background-imgage: url('../_img/top.jpg');
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
}

.videoWrapper
{
	width: 100%;
	height: 100%;
	overflow: hidden;
	
	-webkit-filter: blur(0px);
	filter: blur(0px);

	-webkit-transition: all .5s ease, margin-top 0s ease;
	-moz-transition: all .5s ease, margin-top 0s ease;
	-ms-transition: all .5s ease, margin-top 0s ease;
	-o-transition: all .5s ease, margin-top 0s ease;
	transition: all .5s ease, margin-top 0s ease;
}

.sc .videoWrapper
{
	-webkit-filter: blur(10px);
	filter: blur(10px);
	filter:alpha(opacity=30);
	-moz-opacity: .3;
	opacity: .3;
}

.menu .videoWrapper
{
	display: none;
}

#video
{
	background-attachment: fixed;
	background-position: center center;
	background-size: cover;
	top: 0;
	left: 0;
	position: absolute;
}


/**********************************************************/
/************************* About **************************/
/**********************************************************/

#about
{
	padding: max(5vw, 5rem) 0 calc(20vh + max(10vw, 10rem));
}

#about .secTitle
{
	align-items: flex-start;
	margin-bottom: 0;
}

#about .secTitle h2
{
	line-height: 1.5;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 0em;
}

#about > div
{
	display: flex;
}

#about div.text,
#about > div > figure
{
	width: 50%;
}

#about div.text .description
{
	margin: max(1.5vw, 1rem) 0 max(2vw, 2rem);
}


#about div.text .photos
{
	display: flex;
	flex-wrap: wrap;
	align-items:center;
	margin: 0 -.5rem;
}

#about div.text .photos > div
{
	width: calc(50% - 1rem);
	margin: .5rem;
}

#about div.text .photos figure
{
	width: 100%;
	aspect-ratio: 3 / 2;
}

#about > div > figure
{
	aspect-ratio: 1 / 1;
	transform: scale(1.2) translateY(20vh);
	transform-origin: right bottom;
}

#about img
{
	width: 100%;
	height: 100%;
	object-fit:contain;
	object-position: 50% 50%;
}

/**********************************************************/
/************************ Cassette *************************/
/**********************************************************/

#cassette
{
	background-color: rgb(245, 245, 245);
}

/*//////////////////////////////////////////////////////////////////////////////
///////////////////////////////// MEDIA SCREEN ////////////////////////////////
//////////////////////////////////////////////////////////////////////////////*/


@media screen and (max-width: 800px)
{
	#about
	{
		padding: max(5vw, 5rem) 0 max(5vw, 5rem);
	}
	
	#about > div
	{
		flex-direction:column;
	}
	
	#about div.text,
	#about > div > figure
	{
		width: 100%;
	}
	
	#about > div > figure
	{
		transform: scale(1) translateY(0vh);
	}
}