@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;
	margin-bottom: 100vh;
	margin-bottom: 100svh;
	}
.top_main{
	position: absolute;
	top: 0;
	width: 100%;
	height: 100vh;
	height: 100svh;
	z-index: -1;
	}

.top_main___slider{
	clip-path: polygon(0 0, 100% 0, 100% 92%, 0 100%);
	object-fit: cover;
	}
.top_main___slider div {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	height: 100vh;
	height: 100svh;
	margin: 0;
	}
.top_main___slider div.img01 {
	background-image: url("../img/slider_img___09.jpg");
	background-position: left center;
	}
.top_main___slider div.img02 {
	background-image: url("../img/slider_img___08.jpg");
	}
.top_main___slider div.img03 {
	background-image: url("../img/slider_img___07.jpg");
	}
	@media only screen and (max-width: 800px) {}
	@media only screen and (max-width: 600px) {
		.top_main{
			height: 96vh;
			height: 96svh;
			}
		.top_main___slider div {
			height: 96vh;
			height: 96svh;
			}
		}
	@media only screen and (max-width: 480px) {}
	@media only screen and (max-width: 360px) {}
	@media only screen and (max-width: 260px) {}







.top_main___lead{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 30%;
	left: 0;
	margin: auto;
	width: 92%;
	height: 3.2rem;
	z-index: 10;
	}

.top_main___lead .catch{}
.top_main___lead .catch .catch_item{
	margin-bottom: 1.5rem;
	}
.top_main___lead .catch span{
	background-color: #fff;
	color: #0D1F62;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 100%;
	padding: 0.4rem 0.7rem;
	}

.top_main___lead .en{
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	}
.top_main___lead .large{
	font-size: 1rem;
	margin-bottom: 0.5rem;
	}
.top_main___lead .middle{
	font-size: 0.55rem;
	line-height: 180%;
	}

.top_main___lead .tx{
	margin-top: 4rem;
	}
.top_main___lead p{
	color: #fff;
	}
	@media only screen and (max-width: 800px) {
		.top_main___lead .catch{}
		.top_main___lead .catch .catch_item{
			margin-bottom: 1rem;
			}
		.top_main___lead .catch span{
			font-size: 2rem;
			padding: 0.4rem 0.7rem;
			}
		.top_main___lead .large{
			font-size: 0.8rem;
			margin-bottom: 0.3rem;
			}
		.top_main___lead .middle{
			font-size: 0.5rem;
			}
		.top_main___lead .tx{
			margin-top: 2rem;
			}
		.top_main___lead p{
			font-size: 0.85rem;
			line-height: 180%;
			}
		}
	@media only screen and (max-width: 540px) {
		.top_main___lead{
			bottom: -10%;
			}
		.top_main___lead .catch span{
			font-size: 1.8rem;
			}
		.top_main___lead .large{
			font-size: 0.55rem;
			margin-bottom: 0.2rem;
			}
		.top_main___lead .middle{
			font-size: 0.4rem;
			}
		.top_main___lead p{
			font-size: 0.8rem;
			}
		.top_main___lead .tx{
			margin-top: 1rem;
			}
		}
	@media only screen and (max-width: 480px) {
		.top_main___lead{
			bottom: -12%;
			}
		.top_main___lead .catch .catch_item{
			margin-bottom: 0.75rem;
			}
		.top_main___lead .catch span{
			font-size: 1.5rem;
			}
		}
	@media only screen and (max-width: 400px) {
		.top_main___lead p br{
			display: none;
			}
		}
	@media only screen and (max-width: 360px) {
		.top_main___lead{
			bottom: 5%;
			}
		.top_main___lead .catch span{
			font-size: 1.2rem;
			}
		.top_main___lead p{
			font-size: 0.7rem;
			}
		}






.top_main___img{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 100vh;
	height: 100svh;
	width: 92%;
	margin: auto;
	}

.top_main___img .top_main_img01{
	width: 32%;
	position: absolute;
	right: 0;
	bottom: 10%;
	}
.top_main___img .top_main_img01 img{
	width: 100%;
	height: auto;
	}

.top_main___img .top_main_img02{
	width: 18%;
	position: absolute;
	right: 18%;
	bottom: 2%;
	}
.top_main___img .top_main_img02 img{
	width: 100%;
	height: auto;
	}

	@media only screen and (max-width: 1200px) {}
	@media only screen and (max-width: 900px) {
		.top_main___img .top_main_img01,
		.top_main___img .top_main_img02{
			display: none;
			}
		}
	@media only screen and (max-width: 767px) {}
	@media only screen and (max-width: 600px) {}
	@media only screen and (max-width: 480px) {}
	@media only screen and (max-width: 360px) {}
	@media only screen and (max-width: 260px) {}







/*=== 9-1-2 丸が動いてスクロールを促す ====*/

/*スクロールダウン全体の場所*/
.scrolldown{
	position:absolute;
	bottom:50%;
	right:6%;
	}

/*Scrollテキストの描写*/
.scrolldown span{
	position: absolute;
	left:0.1rem;
	bottom:1.5rem;
	color: #fff;
	font-size: 0.8rem;
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.05em;
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
	}

/* 丸の描写 */
.scrolldown:before {
    content: "";
    position: absolute;
    bottom:0;
    left:-3px;
	width:6px;
	height:6px;
	border-radius: 50%;
	background:#eee;
	animation:
		circlemove 1.6s ease-in-out infinite,
		cirlemovehide 1.6s ease-out infinite;
	}

/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove{
      0%{bottom:5rem;}
     100%{bottom:-5px;}
	 }

/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
	100%{opacity:0;}
	 }

/* 線の描写 */
.scrolldown:after{
	content:"";
	position: absolute;
	bottom:0;
	left:0;
	width:1px;
	height: 5rem;
	background:#eee;
	}

	@media only screen and (max-width: 767px) {
		/*スクロールダウン全体の場所*/
		.scrolldown{
			right:8%;
			}
		}
	@media only screen and (max-width: 540px) {}
	@media only screen and (max-width: 480px) {}
	@media only screen and (max-width: 360px) {}
	@media only screen and (max-width: 260px) {}







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

　   main

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







