@charset "UTF-8";

/*============================================================
	base
=====================================================================*/

html{
	font-size: 62.5%;/*10px*/
	height: 100%;
}

body{
	font-size: 1.4rem;/*14px*/
	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 
	メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	height: 100%;
}

a{text-decoration: none;}

/*=====================================================================
	wrapper
=====================================================================*/

#wrapper{
	position: relative;
	overflow: hidden;
	height: 100%;
}

/*=====================================================================
	loader
=====================================================================*/

#loader{
	position:absolute;
	width:100%;
	height:100%;
	z-index:9999;
	border:solid 800px rgba(0,0,0,1);
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	-webkit-transition: all .5s linear;
	   -moz-transition: all .5s linear;
	    -ms-transition: all .5s linear;
	     -o-transition: all .5s linear;
	        transition: all .5s linear;
}

.loaderMove{
	border:0px solid rgba(0,0,0,0.5) !important;
}


/*=====================================================================
	content
=====================================================================*/

#content{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

/*---------------------------
	stage
---------------------------*/

.stage{
	position: relative;
	width: 100%;
	overflow: hidden;
}

.stage h2{
	width:100%;
	text-align:center;
	font-family:'Montserrat', sans-serif;
	font-weight: bold;
	font-size:10em;
	color:#c90000;
	margin-bottom:15px;
}

/*=====================================================================
	header
=====================================================================*/

header{
	z-index: 9999;
	position: fixed;
	bottom: 0;
	width: 100%;
	height: 44px;
	font-size: 1.2rem;
	letter-spacing: 0.2rem;
	color: #fff;
	background: #000;
	user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	-o-user-select: none;
}

header .inner{
	z-index: 1;
	position: relative;
	height: 80px;
	overflow: hidden;
	padding: 0 40px;
}


/*js*/
.index{
	z-index: 1;
}

/*---------------------------
	h1
---------------------------*/

header h1{
	position: absolute;
	left: 20px;
	padding: 16px 0;
}

/*---------------------------
	gNav
---------------------------*/

.gNav{
	position: absolute;
	right: 20px;
	width: 240px;
}

/*---------------------------
	nav
---------------------------*/

nav{
	overflow: hidden;
}

nav li{
	float: left;
}

nav li a {
	position: relative;
	top: 0;
	left: 0;
	text-align: center;
	color: #fff;
	display: block;
	padding: 16px 0;
	width: 80px;
	z-index: 1;
}

/*---------------------------
	allCloud
---------------------------*/

#allCloud{
	position: fixed;
	z-index: 1;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 250px;
	background: url(../img/h_cloud.png) repeat-x top;
	animation: allCloud 20s infinite;
	-webkit-animation: allCloud 20s linear infinite;
	-moz-animation: allCloud 20s linear infinite;
	-ms-animation: allCloud 20s linear infinite;
	-o-animation: allCloud 20s linear infinite;
}

/*---------------------------
	active
---------------------------*/
/*js*/
.active{
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
    width: 80px;
	background: rgba(204,0,0,.5);
	transition: transform .2s linear;
	-webkit-transition: transform .2s linear;
	-ms-transition: transform .2s linear;
	-o-transition: transform .2s linear;
	z-index:0;
}

/*=====================================================================
	page_0
=====================================================================*/

#page_0{
	overflow: hidden;
	background: #ccc url(../img/p_cloud02.png) 0 100% repeat-x fixed;
	animation: page_0 150s linear infinite;
	-webkit-animation: page_0 150s linear infinite;
	-moz-animation: page_0 150s linear infinite;
	-ms-animation: page_0 150s linear infinite;
	-o-animation: page_0 150s linear infinite;
}

#cloudWrap{
	position: relative;
	width: 100%;
	height: 100%;
	background: url(../img/p_cloud01.png) 0 100% fixed repeat-x;
	animation: cloudWrap 50s infinite;
	-webkit-animation: cloudWrap 50s linear infinite;
	-moz-animation: cloudWrap 50s linear infinite;
	-ms-animation: cloudWrap 50s linear infinite;
	-o-animation: cloudWrap 50s linear infinite;
}

/*---------------------------
	page_0
---------------------------*/

#page_0 h1{
	position: fixed;
	width: 50px;
	height: 51px;
	top: 50%;
	right: 50%;
	margin-right: -350px;
	margin-top: 200px;
	z-index: 1;
}

/*PC*/
@media screen and (min-height: 820px) {
	#page_0 h1{
		position: fixed;
		width: 50px;
		height: 51px;
		top: 50%;
		right: 50%;
		margin-right: -400px;
		margin-top: 280px;
		z-index: 1;
	}
}

/*---------------------------
	oni
---------------------------*/

#oni{
	position: fixed;
	top: 50%;
	left: 50%;
	margin-left: -425px;
	margin-top: -300px;
	width: 823px;
	height: 800px;
	background: url(../img/oniObj_h850.png) no-repeat;
}

/*PC*/
@media screen and (min-height: 820px) {
	#oni{
		position: fixed;
		top: 50%;
		left: 50%;
		margin-left: -490px;
		margin-top: -380px;
		width: 1000px;
		height: 973px;
		background: url(../img/oniObj_mac.png) no-repeat;
	}
}

/*---------------------------
	hinomaru
---------------------------*/

#hinomaru{
	position: fixed;
	margin-left: -384px;
	margin-top: -350px;
	width: 800px;
	height: 800px;
	left: 50%;
	top: 50%;
	opacity:0;
	-webkit-border-radius:400px;
	   -moz-border-radius:400px;
	    -ms-border-radius:400px;
	     -o-border-radius:400px;
	        border-radius:400px;
	-webkit-box-shadow:0 0 100px #fff;
	   -moz-box-shadow:0 0 100px #fff;
	    -ms-box-shadow:0 0 100px #fff;
	     -o-box-shadow:0 0 100px #fff;
	        box-shadow:0 0 100px #fff;
		background:url(../img/hinomaru_mac.png) no-repeat;
	-webkit-transition: all 1s ease-out;
	   -moz-transition: all 1s ease-out;
	    -ms-transition: all 1s ease-out;
	     -o-transition: all 1s ease-out;
	        transition: all 1s ease-out;
}

/*js*/
.hinomaruMove{
	opacity:1 !important;
	-webkit-transform:translateY(-100px);
	   -moz-transform:translateY(-100px);
	    -ms-transform:translateY(-100px);
	     -o-transform:translateY(-100px);
		    transform:translateY(-100px);
}

/*---------------------------
	cloud
---------------------------*/

#cloud{
	position: fixed;
	bottom: -50px;
	right: 0;
	width: 100%;
	height: 600px;
	background: url(../img/p_cloud03.png) repeat-x;
	animation: cloudMove 10s linear infinite;
	-webkit-animation: cloudMove 10s linear infinite;
	-moz-animation: cloudMove 10s linear infinite;
	-ms-animation: cloudMove 10s linear infinite;
	-o-animation: cloudMove 10s linear infinite;
}

/*=====================================================================
	page_1
=====================================================================*/

#page_1{
	overflow: hidden;
	background: url(../img/back01.gif) 50% no-repeat #fff fixed;
}

/*--------------------------
	slideWap
--------------------------*/

#slideWrap{
	z-index: 1;
	position: absolute;
	width: 1050px;
	height: 400px;
	margin-top: -350px;
	margin-left: -525px;
	top: 50%;
	left: 50%;
}

#slideArea{
	position: relative;
	margin-bottom: 5px;
	height: 400px;
}

#slideList{
	position: absolute;
	width: 100%;
	left: 25px;
}

.slideMotion{
	transition: transform .5s;
	-webkit-transition: transform .5s;
	-moz-transition: transform .5s;
	-ms-transition: transform .5s;
	-o-transition: transform .5s;
}

.slide{
	position: absolute;
	width: 1000px;
	height: 400px;
	overflow: hidden;
	top: 0;
	float: left;
}

.slide li{
	position: relative;
	width: 200px;
	height: 200px;
	float: left;
	overflow: hidden;
	cursor: pointer;
}

.slide li.slidAni img{
	width: 200px;
	height: 200px;
	-webkit-transition: all .2s ;
	-moz-transition: all .2s linear;
	-ms-transition: all .2s linear;
	-o-transition: all .2s linear;
	transition: all .2s linear;
}

.slide li.slidAni .mask{
	position: absolute;
	width: 200px;
	height: 200px;
	overflow: hidden;
	top: 0;
	left: 0;
	overflow: visible;
	border: 0px solid rgba(0,0,0,0);
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	-webkit-transition: all .2s linear;
	   -moz-transition: all .2s linear;
	    -ms-transition: all .2s linear;
	     -o-transition: all .2s linear;
	        transition: all .2s linear;
}

.slide li.slidAni:hover .mask{
	border:100px solid rgba(0,0,0,0.7);
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.slide li.slidAni:hover img{
	-webkit-transform: scale3d(1.5,1.5,1) rotate(-20deg);
	   -moz-transform: scale3d(1.5,1.5,1) rotate(-20deg);
	    -ms-transform: scale3d(1.5,1.5,1) rotate(-20deg);
	     -o-transform: scale3d(1.5,1.5,1) rotate(-20deg);
	        transform: scale3d(1.5,1.5,1) rotate(-20deg);
}

/*--------------------------
	prev next
--------------------------*/

#prev,
#next{
	position: absolute;
	border: none;
	top: 50%;
	width: 40px;
	height: 40px;
	margin-top:-10px;
	cursor: pointer;
	-webkit-border-radius: 20px;
	   -moz-border-radius: 20px;
	    -ms-border-radius: 20px;
	     -o-border-radius: 20px;
	        border-radius: 20px;
	-webkit-transform: scale3d(1,1,1);
	   -moz-transform: scale3d(1,1,1);
	    -ms-transform: scale3d(1,1,1);
	     -o-transform: scale3d(1,1,1);
	        transform: scale3d(1,1,1);
	        -webkit-transition: all .2s;
	           -moz-transition: all .2s;
	            -ms-transition: all .2s;
	             -o-transition: all .2s;
	                transition: all .2s;
}

#prev{
	left: -20px;
	background:rgba(204,0,0,0.6) url(../img/navLeft.png) no-repeat;
	background-size:40px 40px;
	background-position:-2px center;
}

#next{
	right: -20px;
	background:rgba(204,0,0,0.6) url(../img/navRight.png) no-repeat;
	background-size:40px 40px;
	background-position:2px center;
}

#next:hover{
	background:rgba(204,0,0,1) url(../img/navRight.png) no-repeat;
	background-size:40px 40px;
	background-position:2px center;
}

#prev:hover{
	background:rgba(204,0,0,1) url(../img/navLeft.png) no-repeat;
	background-size:40px 40px;
	background-position:-2px center;
}

#prev:hover,
#next:hover{
	-webkit-border-radius: 30px;
	   -moz-border-radius: 30px;
	    -ms-border-radius: 30px;
	     -o-border-radius: 30px;
	        border-radius: 30px;
	-webkit-transform: scale3d(1.5,1.5,1);
	   -moz-transform: scale3d(1.5,1.5,1);
	    -ms-transform: scale3d(1.5,1.5,1);
	     -o-transform: scale3d(1.5,1.5,1);
		transform: scale3d(1.5,1.5,1);
}

.navBtnOff{
	display: none;
}

#slideNav{
	position: absolute;
	text-align: center;
	width: 100%;
	left: 0;
	bottom: -20px;
}

#slideNav a{
	display: inline-block;
	background: #CCC;
	cursor: pointer;
	width: 8px;
	height: 8px;
	-webkit-border-radius: 4px;
	   -moz-border-radius: 4px;
	    -ms-border-radius: 4px;
	     -o-border-radius: 4px;
			border-radius: 4px;
}

#slideNav a + a{
	margin-left: 10px;
}

#slideNav a.on{
	background: rgba(204,0,0,1);
}

/*--------------------------
	popWrap
--------------------------*/

#popWrap{
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0);
	z-index: -1;
	transition: all .5s;
	-webkit-transition: all .5s linear;
	-moz-transition: all .5s linear;
	-ms-transition: all .5s linear;
	-o-transition: all .5s linear;
}

#popInner{
	position: absolute;
	width: 1000px;
	height: 600px;
	overflow: hidden;
	opacity: 0;
	padding: 10px;
	top: 50%;
	left: 50%;
	margin-top: -300px;
	margin-left: -500px;
	background: url(../img/p_t.png),url(../img/p_b.png),url(../img/p_l.png),url(../img/p_r.png);
	background-repeat: no-repeat;
	background-position: top,bottom,left,right;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	-webkit-transition: all .5s;
	    -moz-transition: all .5s;
	     -ms-transition: all .5s;
	     -o-transition: all .5s;
	        transition: all .5s;
}

#designWrap{
	background: #fff;
	width: 100%;
	height: 100%;
}

#designInner{
	padding: 30px;
}

#left{
	width: 630px;
	height: 520px;
	float: left;
	background: #666666;
}

#right{
	width: 260px;
	float: right;
}

#right h2{
	text-align: center;
	letter-spacing: 0.2rem;
	color: #fff;
	padding: 10px 0;
	margin-bottom: 10px;
	background: rgb(0,0,0);
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
}

#right p{
	line-height: 1.8;
}

#skillList{
	font-size: 1rem;
	overflow: hidden;
	margin-bottom: 10px;
}

#skillList li{
	font-weight:bold;
	padding:8px;
	border:solid 1px #e6e6e6;
	color: #fff;
	float:left;
	letter-spacing: 0.1rem;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
}

/*iconColor*/
.ai{background: #ec8c1f;}
.ps{background: #1877c2;}
.html{background: #ff5d0e;}
.css{background: #00a7e2;}
.js{background: #d7be01;}

#skillList li+li{
	margin-left: 4px;
}

/*js*/
#close{
	font-size: 1rem;
	letter-spacing: 0.1em;
	position: absolute;
	padding: 3px 5px;
	background: #95000b;
	color: #fff;
	z-index: 9999;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
	transition: transform .1s;
	-webkit-transition: translate .1s;
	-moz-transition: translate .1s;
	-ms-transition: translate .1s;
	-o-transition: translate .1s;
	display: none;
}

/*js*/
.wrapFadeIn{
	background: rgba(0,0,0,0.5)!important;
	z-index: 9999!important;
}

.innerFadeIn{
	opacity:1!important;
}

.none{
	display: block!important;
}

/*=====================================================================
	page_2
=====================================================================*/

#page_2{
	overflow: hidden;
	background: url(../img/back02.gif) 50% 100% no-repeat #fff fixed;
}

.profile{
	position:absolute;
	text-align:center;
	margin:auto;
	top: 50%;
	left: 50%;
	margin-top: -350px;
	margin-left: -525px;
	width:1050px;
	height:400px;
}

.profile img{
	margin-bottom:20px;
}

.profile h3{
	letter-spacing:0.1rem;
	font-weight:bold;
	margin-bottom:10px;
}

.profile p{
	font-size:1.2rem;
	line-height:1.8;
	
	text-shadow:0 0 10px #FFF;
}