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

* {
	margin:0;
	padding:0;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
	
	font-size: 100%;
	vertical-align: baseline;
}

/* ローディング用CSS */

#loader {
    opacity: 1;
    position: fixed;
    z-index: 100000;
    width: 100%;
    height: 100%;
    background: #fff;
    top: 0;
    left: 0;
}

.spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: auto;
    width: 50px;
    height: 40px;
    text-align: center;
    font-size: 10px
}

.spinner>div {
    background-color: #808080;
    height: 100%;
    width: 6px;
    display: inline-block;
    -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
    animation: sk-stretchdelay 1.2s infinite ease-in-out
}

.spinner .rect2 {
    -webkit-animation-delay: -1.1s;
    animation-delay: -1.1s
}

.spinner .rect3 {
    -webkit-animation-delay: -1s;
    animation-delay: -1s
}

.spinner .rect4 {
    -webkit-animation-delay: -.9s;
    animation-delay: -.9s
}

.spinner .rect5 {
    -webkit-animation-delay: -.8s;
    animation-delay: -.8s
}

@-webkit-keyframes sk-stretchdelay {
    0%, 40%, 100% {
        -webkit-transform: scaleY(0.4)
    }
    20% {
        -webkit-transform: scaleY(1.0)
    }
}

@keyframes sk-stretchdelay {
    0%, 40%, 100% {
        transform: scaleY(0.4);
        -webkit-transform: scaleY(0.4);
    }
    20% {
        transform: scaleY(1.0);
        -webkit-transform: scaleY(1.0);
    }
}

/* ローディング用CSS　ここまで */

.clearfix {zoom:1;}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

.fixhead {
	width:100%;
	height:60px;
	position:fixed;
	z-index:2;
}

.fixhead.fixed {
  background: #1c2226;
  height: 60px;
}

header nav {
	float:right;
	position:relative;
	z-index:100;
	padding:10px;
}
header nav ul{
	display: flex;
	align-items: center;
	list-style:none;
}

header nav ul li {
	font-weight:normal;
	line-height:40px;
}

header nav ul li a{
	color: #fff;
	text-decoration: none;
	padding: 16px ;
}
#nav_toggle{
	display: none;
}

.main_visual {
  width: 100%;
  height: 100vh;
  text-align: center;
  color: #fff;
  background: url(images/eyecatch.gif) no-repeat bottom center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
  overflow:hidden;
  }
  
  .main_visual:before {
    z-index: 1;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0,0,0,0.1);
    background-image: radial-gradient(#383838 20%, transparent 0), radial-gradient(#383838 20%, transparent 0);
    background-position: 1px 0px, 0px 0px;
    background-size: 3px 3px;
  }
  
  .main_visual h1 {
	  padding:10px;
	  text-align:left;
	  color:#fff;
	  font-weight:normal;
	  float:left;
	  font-size:32px;
  font-family: 'Oleo Script', cursive;
  }
  
 .main_visual h1 a:link {
	 text-decoration:none;
	 color:#fff;
 }
 
  .main_visual h1 a:visited {
	  color:#fff;
  }

  
.main_visual .g-navi {
    float: right;
    padding: 20px;
}
  
.main_visual .g-navi ul li {
	  list-style-type:none;
	  float:left;
	  margin-right:20px;
	  font-weight:normal;
	  font-family: 'Open Sans', sans-serif;
  }

.main-txt {
    clear: both;
    position: absolute;
    top: 50%;
    left: 50%;
  -webkit-transform: translate(-50%, -50%); /* Safari用 */
  transform: translate(-50%, -50%);
    z-index: 2;
	color:#fff;
    font-family: 'Oleo Script', cursive;

}

.main-txt h2 {
    font-size: 64px;
    max-width: 400px;
    padding: 10px;
    margin: 0 auto;
	font-weight:normal;
}
.main-txt h3 {
	font-weight:normal;
	text-align:center;
}

#contents {
	width:100%;
	font-family: 'Lato', sans-serif;
	font-weight:normal;
}

#contents h2 {
	font-size:28px;
	color:#545454;
	text-align:center;
}

.bg_01 {
	background:#fff;
}

/*.bg_01:before {
	content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 80%;
  margin: 3% -10% 0;
  background: #454545;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(3deg);
  -ms-transform: rotate(3deg);
  transform: rotate(3deg);
  z-index: -1;
}

.bg_01_inner {
	 box-sizing: boder-box;
  width: 100%;
  max-width: 640px;
  height: 100%;
  margin: 0 auto;
  padding: 100px 10px 120px;
  color: #fff;
  text-align: center;
}
*/



.bg_02 {
	background:#F5F5F5;
}

#contents .service_area {
	height:100vh;
	padding:50px 0;
	overflow:hidden;
}


#contents .about_area {
	height:100vh;
	padding:50px 0;
	overflow:hidden;
}

#contents .works_area {
	height:100vh;
	padding:50px 0;
	overflow:hidden;
}

#contents .contact_area {
	height:100vh;
	padding:50px 0;
	overflow:hidden;
}

#contents .blog_area {
	height:100vh;
	padding:50px 0;
	overflow:hidden;
}

/* txt */
.animated {
  animation-delay: .4s;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.del02s {
  animation-delay: .2s;
}

.del04s {
  animation-delay: .4s;
}

.del06s {
  animation-delay: .6s;
}

.del08s {
  animation-delay: .8s;
}

.del10s {
  animation-delay: 1s;
}

.del12s {
  animation-delay: 1.2s;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.fadeIn.animated {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 25%, 0);
    transform: translate3d(0, 25%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 25%, 0);
    transform: translate3d(0, 25%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInUp.animated {
  animation-fill-mode: forwards;
  animation-duration: 1s;
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInR {
  from {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInR {
  from {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInR.animated {
  -webkit-animation-name: fadeInR;
  animation-name: fadeInR;
}



/* txt */



/*メニュー部分*/
@media screen and (max-width:960px){
	.main_visual h1 {
		font-size:32px;
	  }
	
	nav{
		display: none;
		position: absolute;
		top:0;
		width: 100%;
		background: rgba(0,0,0,0.6);
		left: 0;
		z-index:100;
	}
	header nav {
		padding:10px 0;
	}
	header nav ul{
		display: block;
		margin: 0 auto;
		width: 90%;
	}
	header nav ul li{
		margin: 0 auto;
		text-align: center;
		border-bottom: 1px solid #fff;
	}
	header nav ul li:last-child{
		border: none;
	}
	header nav ul li a{
		display: block; 
	}
	/*開閉ボタン*/
	#nav_toggle{
		display: block;
		width: 30px;
		height: 30px;
		position: relative;
		top:0;
		z-index: 100;
	}
	#nav_toggle div {
		position: relative;
	}
	#nav_toggle span{
		display: block;
		height: 3px;
		background: #fff;
		position:absolute;
		width: 100%;
		left: 0;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;	
	}
	#nav_toggle span:nth-child(1){
		top:0px;
	}
	#nav_toggle span:nth-child(2){
		top:12px;
	}
	#nav_toggle span:nth-child(3){
		top:24px;
	}
	
	/*開閉ボタンopen時*/
	.open #nav_toggle span:nth-child(1) {
			top: 12px;
		   -webkit-transform: rotate(135deg);
			-moz-transform: rotate(135deg);
			transform: rotate(135deg);
		}
		.open #nav_toggle span:nth-child(2) {
			width: 0;
			left: 50%;
		}
		.open #nav_toggle span:nth-child(3) {
			top: 12px;
			-webkit-transform: rotate(-135deg);
			-moz-transform: rotate(-135deg);
			transform: rotate(-135deg);
		}


.main-txt {
}

.main-txt h2 {
    font-size: 42px;
	text-align:center;
}
.main-txt h3 {
}
}


