@charset "utf-8";
/* CSS Document */
*{
	margin: 0;
	padding: 0;
} 
body {
	font-size: 16px;
	letter-spacing: 1px;
	font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	/*font-family: "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";*/
}
img{
	vertical-align:bottom;
	width: 100%;
	height: auto;
}
h1,h2,h3,h4,h5{
	font-size:100%;
	font-weight: normal; 
}
ul{
	list-style-type: none;
}
a{
	text-decoration: none;
}
address{
	font-style: normal;
}
.linkStyle{
	color:#D8D8D8;
}
.linkStyle:hover{
	color:#D8D8D8;
	opacity: 0.7;
	transition: all 0.5s;
}
/*-------------------------------------------------------
				マウス追従
-------------------------------------------------------*/
#wrap{cursor: none}
.cursor,.follower{
	border-radius: 50%;
	position: fixed;
	top: 0;
	left: 0;
	pointer-events: none;
}
.cursor{
	width: 8px;
	height: 8px;
	background-color: #000;
	opacity: 0.6;
	z-index: 1001;
}
.follower{
   width: 35px;
   height: 35px;
   background-color: #41b25d;
   -webkit-border-radius: 63px 63px 63px 63px / 108px 108px 72px 72px;
   border-radius:         50%  50%  50%  50%  / 50%   50%   50%  50%;
	z-index: 1000;
	transition: 0.3s;
	opacity: 0.75;
	transition-property: transform,background
}
.follower.is-active2{
	background-color: transparent;
	border: solid 1px #41b25d;
	transform: scale(1.2);
}

.cursor.is-active2.more_move,.cursor.is-active2.more_info{
	background-color: transparent;
}
.follower.is-active2.more_move,.follower.is-active2.more_info{
	background-color: transparent;
	border-radius: 0;
	border: none;
	transform: scale(1);
	transition-property: none;
	animation: rumble 0.2s linear infinite;
}
.follower.is-active2.more_move::before{
	content: url("../img/more.png");
	width: 10px;
	height: 10px;
	position: relative;
	top: -35px;
	left: -35px;
}
a{cursor: none}


/*-------------------------------------------------------
					ローディング画面
-------------------------------------------------------*/
body{
	opacity: 1!important;
	visibility: visible!important;
}
#loading_bg{
	height: 100vh;
	width: 100vw;
	z-index: 9999;
	background: -webkit-linear-gradient(left, #0e0f0f 0%, #1f2021 30%, #2b2d2e 57%, #2d2f30 64%, #2d2f30);
	background: -o-linear-gradient(left, #0e0f0f 0%, #1f2021 30%, #2b2d2e 57%, #2d2f30 64%, #2d2f30);
	background: linear-gradient(to right, #0e0f0f 0%, #1f2021 30%, #2b2d2e 57%, #2d2f30 64%, #2d2f30);
}
#loading{
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#loading h2{
	z-index: 1;
	text-align: center;
	width: auto;
}
#loading .gauge{
	width: 0;
	-webkit-transform: skewX(10deg);
	-ms-transform: skewX(10deg);
	transform: skewX(10deg);
	transform-origin: left bottom;
	background-color:rgba(65,178,93,0.25);
/*	background-color:#333;*/
}

.fadein {
    opacity : 0;
    -webkit-transform : translate(0, 20px);
    -ms-transform : translate(0, 20px);
    transform : translate(0, 20px);
	transition: all 1s
}
.fadein.scrollin {
    opacity : 1;
    -webkit-transform : translate(0, 0);
    -ms-transform : translate(0, 0);
    transform : translate(0, 0);
}
@keyframes fadein {
from {
    opacity: 0;
    transform: translateY(500px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

/*-------------------------------------------------------
					ヘッダー
-------------------------------------------------------*/
header {
	z-index: 9;
}
#header{
	width: 95%;
	left: 0;
    right: 0;
	margin: auto;
}
header .logo{
	width: 10%;
	max-width: 100px;
}
/*--　日英切り替え　--*/
.menu{
	margin-right: 5%;
}
.menu li {
	height: 1.5em;
    text-align: center;
	font-size: 18px;
	letter-spacing: 2px;
}	
.menu li span{
 	transition: 0.3s;

}
.menu li span:nth-child(1) {
	display: block;
}
.menu li span:nth-child(2) {
	opacity:0;
	position: relative;
	top: -1.5em;
}
.menu li:hover span:nth-child(1) {
	opacity: 0;
}
.menu li:hover span:nth-child(2) {
	opacity: 1;

}
/*--　ボーダーアニメーション　--*/
.btn{
	padding: 5px 10px;
	position: relative;
}
.btn::before {
	content: '';
	position: absolute;
	bottom: 50%;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #41b25d;
 	display: block;
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
	-webkit-transform: scale(0, 1);
	-ms-transform: scale(0, 1);
	transform: scale(0, 1);
	-webkit-transition: transform 0.4s cubic-bezier(1, 0, 0, 1);
	transition: transform 0.4s cubic-bezier(1, 0, 0, 1);
	z-index: 9;
}
.btn:hover::before {
	-webkit-transform-origin: right top;
	-ms-transform-origin: right top;
	transform-origin: right top;
	-webkit-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	transform: scale(1, 1)
}

/*-------------------------------------------------------
					ヘッダー
-------------------------------------------------------*/
/*-------------------------------------------------------
					フッター
-------------------------------------------------------*/
.footer{
	padding-right: 100px;
    padding-left: 100px;
}
footer ul,footer p{
	padding-right: 100px;
    padding-left: 100px;
}
/*-------------------------------------------------------
					top_return
-------------------------------------------------------*/
#page-top {
    position: fixed;
    bottom: 50px;
    right: 50px;
	z-index: 2;
}
#page-top a img{
	height: 100px;
	width:100px;
}


/*ここからIE用環境の設定
---------------------------------------------------------------------------*/
/*表示を切り替えるウィンドウサイズの指定*/
@media all and (-ms-high-contrast: none){
.menu{
	margin-left: auto;
}
}

/*ここから1210px以下用（1210px以下）環境の設定
---------------------------------------------------------------------------*/
/*表示を切り替えるウィンドウサイズの指定*/
@media screen and (max-width: 1210px){
.menu li {
	font-size: 16px;
	letter-spacing: 1px;
}	
}
/*ここから1000px以下用（1000px以下）環境の設定
---------------------------------------------------------------------------*/
/*表示を切り替えるウィンドウサイズの指定*/
@media screen and (max-width: 1000px){
.menu {
	display: none;
}	
}

/*ここからタブレット用（768px以下）環境の設定
---------------------------------------------------------------------------*/
/*表示を切り替えるウィンドウサイズの指定*/
@media screen and (max-width: 768px){
/*-------------------------------------------------------
					フッター
-------------------------------------------------------*/
.footer{
	padding-right: 50px;
    padding-left: 50px;
}
footer ul,footer p{
	padding-right: 50px;
    padding-left: 50px;
}
#page-top {
    position: fixed;
    bottom: 10px;
    right: 10px;
	z-index: 2;
}
#page-top a img{
	height: 50px;
	width:50px;
}
}
/*ここからスマホ用（667px以下）環境の設定
---------------------------------------------------------------------------*/
/*表示を切り替えるウィンドウサイズの指定*/
@media screen and (max-width: 667px){
#wrap{cursor: auto;}
	a{cursor: pointer;}
	.cursor,.follower{
		display: none;
}
/*-------------------------------------------------------
					ヘッダー
-------------------------------------------------------*/
#header {
    width: 90%;
}
header .logo{
	width: 20%;
}
/*-------------------------------------------------------
					フッター
-------------------------------------------------------*/
.footer{
	padding-right: 40px;
    padding-left: 0px;
}
footer p{
	padding-right: 0px;
    padding-left: 0px;
}
footer p:nth-child(4){
	padding-right: 40px;
    padding-left: 0px;
	margin-bottom: 5px!important;
}
}