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


/* ---------------------------------------------------------------------------------------------

　   ローディングアニメーション

--------------------------------------------------------------------------------------------- */

#loading {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 100000;
    background-color: #333;
	}
#loading .f_logo {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 300px;
    height: 100px;
    text-align: center;
    color: #fff;
    font-size: 30px;
	}
#loading .f_logo img {
    width: 100%;
    height: auto;
	}
#loading .f_logo:before {
    content: "";
    display: block;
    width: 100%;
    height: 100px;
    background-color: #333;
    position: absolute;
    top: 0;
    left: 100%;
    -webkit-animation: loadLogo 1s;
    -o-animation: loadLogo 1s;
	animation: loadLogo 1s;
	}	
	@keyframes loadLogo {
		0% {
			left: 0;
			}
		50% {
			left: 0;
			}
		100% {
			left: 100%;
			}
		}
#loading .f_logo:before {
	-webkit-animation: loadLogo 1s;
	-o-animation: loadLogo 1s;
    animation: loadLogo 1s;
	}
#loading.open {
	-webkit-animation-name: slideOut;
    -webkit-animation-fill-mode: forwards;
    -webkit-animation-duration: 1s;
    -webkit-animation-delay: 1s;
	-webkit-animation-timing-function: ease-in-out;
	-o-animation-name: slideOut;
    -o-animation-fill-mode: forwards;
    -o-animation-duration: 1s;
    -o-animation-delay: 1s;
	-o-animation-timing-function: ease-in-out;
    animation-name: slideOut;
    animation-fill-mode: forwards;
    animation-duration: 1s;
    animation-delay: 1s;
	animation-timing-function: ease-in-out;
	}
	@keyframes slideOut {
		0% {
		-webkit-transform: translateX(0%);
		-moz-transform: translateX(0%);
		-ms-transform: translateX(0%);
		-o-transform: translateX(0%);
		transform: translateX(0%);
		opacity: 1;
		}
		49% {
		-webkit-transform: translateX(0%);
		-moz-transform: translateX(0%);
		-ms-transform: translateX(0%);
		-o-transform: translateX(0%);
		transform: translateX(0%);
		opacity: 0.98; 
		}
		50% {
		-webkit-transform: translateX(0%);
		-moz-transform: translateX(0%);
		-ms-transform: translateX(0%);
		-o-transform: translateX(0%);
		transform: translateX(0%);
		opacity: 0.95; 
		}
		100% {
		-webkit-transform: translateX(100%);
		-moz-transform: translateX(100%);
		-ms-transform: translateX(100%);
		-o-transform: translateX(100%);
		transform: translateX(100%);
		opacity: 0;
		}
	}
	@media only screen and (max-width: 767px) {
		#loading .f_logo {
			width: 200px;
			height: 100px;
			}
		}









/* ---------------------------------------------------------------------------------------------

　   header

--------------------------------------------------------------------------------------------- */

header#header{
	position: relative;
	}

.top_main{
	height: 100vh;
	height: 100svh;
	}

.top_main___slider{position: absolute;
	overflow:hidden;
	}
.top_main___slider div {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	height: 100vh;
	height: 100svh;
	margin: 0;
	}
	@media only screen and (max-width: 767px) {}
	@media only screen and (max-width: 600px) {
		.top_main{
			height: 80vh;
			height: 80svh;
			}
		.top_main___slider div {
			height: 80vh;
			height: 80svh;
			}
		}
	@media only screen and (max-width: 480px) {}
	@media only screen and (max-width: 360px) {}
	@media only screen and (max-width: 260px) {}



.top_lead{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 30%;
	left: 0;
	margin: auto;
	width: 100%;
	height: 3.2rem;
	z-index: 10;
	color: #fff;
	text-align: center;
	}

.top_lead p{
	font-size: 1.2rem;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-weight: bold;
	letter-spacing: 5px;
	margin-bottom: 2rem;
	}

.top_lead .logo{
	width: 100%;
	max-width: 360px;
	height: auto;
	max-height: 210px;
	margin: 0 auto;
	}
.top_lead .logo img{
	width: 70%;
	height: auto;
	}
	@media only screen and (max-width: 900px) {}
	@media only screen and (max-width: 767px) {}
	@media only screen and (max-width: 600px) {
		.top_lead p{
			font-size: 1.1rem;
			letter-spacing: 4px;
			}
		}
	@media only screen and (max-width: 480px) {
		.top_lead{
			bottom: 36%;
			}
		.top_lead p{
			font-size: 1rem;
			letter-spacing: 3px;
			margin-right: -3px;
			margin-bottom: 1rem;
			}
		.top_lead p::before,
		.top_lead p::after {
			border-radius: 2px;
			height: 2px;
			width: 1.2rem;
			top: 3px;
			}
		.top_lead .logo img{
			width: 60%;
			}
		}
	@media only screen and (max-width: 360px) {
		.top_lead p{
			font-size: 0.9rem;
			letter-spacing: 2px;
			margin-right: -2px;
			}
		.top_lead .logo img{
			width: 50%;
			}
		}
	@media only screen and (max-width: 320px) {
		.top_lead{
			bottom: 32%;
			}
		}



