@charset "utf-8";
body{
	width: 100%;
}
#pageloading-wrap{
   background-color: rgba(155,215,210,1.00);
   width: 100%;
   height: 100%;
   position: fixed;
   top: 0;
   left: 0;
   text-align: center;
   display: table;
   z-index: 100;
}
#pageloading-icon{
   display: table-cell;
   vertical-align: middle;
}
.inner{
	overflow: hidden;
}
a{
	color: #333;
}
.nav-unshown {
  		display:none;
}
.left{
	text-align: left;
}
/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼  HEADER  ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
header{
	width: 100%;
	height: 80px;
	position: fixed;
	background-color: rgba(33,33,33,0.5);
	z-index: 50;
}
#logo a{
	position: absolute;
	top: 25px;
	left: 40px;
	font-size: 20px;
	color: #fff;
}
header nav{
	position: absolute;
	top: 25px;
	right: 40px;
}
header nav ul{
	display: flex;
	list-style-type: none;
	width: 60%;
	height: 10px;
}
header nav ul li{
	width: 70%;
	height: 10%;
	margin-right: 20px;
	border-left: 1px solid #999;
}
header nav ul li a{
	color: #fff;
	font-size: 20px;
	text-decoration: none;
	transition: all 0.3s;
}
header nav ul li a:hover{
	color: #800002;
	border-bottom: 1px solid #800002;
}
header nav ul li:nth-last-child(2) a:hover,
header nav ul li:last-child a:hover{
	color: #fff;
	border-bottom: none;
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼  MV  ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
#mv{
	position: relative;
	background-image: url("../images/mv01.jpg");
	background-size: cover;
	background-attachment: fixed;
	width: 100%;
	height: 100vh;
}
#title_logo{
	position: absolute;
	display: block;
	top: 50%; 
  	left: 50%;  
  	transform: translateY(-50%) translateX(-50%); 
}
#title_logo h1 {
	font-family: 'Italianno', cursive;
	color: rgba(72,72,72,0.7);
	text-shadow: 2px 3px 5px #808080; 
	font-size: 90px;
	text-align: center;
	line-height: 1.5;
}

#scroll{
	
}
#scroll a {
  padding-top: 70px;
}
#scroll a span {
  position: absolute;
  top: 85%;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
  animation: sdb 1.5s infinite;
  box-sizing: border-box;
}
@keyframes sdb {
  0% {
    transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼  MAIN  ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
#contents{
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼  WORKS  ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
#works{
	padding-top: 10px;
	width: 100%;
	padding-bottom: 150px;
	background-color: rgba(231,255,253,0.50);
}
#works h2{
	text-align: center;
	display: block;
	width: 1200px;
	margin: 40px auto;
	box-sizing: border-box;
	font-size: 70px;
	padding: 20px 0px;
}
/*#works h3{
	text-align: center;
	font-size: 25px;
	font-weight: bold;
	padding-top: 50px;
	margin-bottom: 10px;
}*/
#works_bg{
	width: 100%;
}
#works_inner{
	width: 1200px;
	margin: 0px auto;
	box-sizing: border-box;
}
#works_inner>p{
	text-align: center;
	line-height: 1.8;
}
.works_grid{
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}
.portfolio{
    width: 30%;
    height: auto;
    margin: 40px auto;
    overflow: hidden;
    cursor: pointer;
} 
.portfolio p{
	text-align: left;
	line-height: 1.8;
}
.img_wrap{
    width: 360px;
	height: 300px;
    overflow: hidden;
    cursor: pointer;
	border: 1px solid #555;
	margin: 0 auto;
	margin-bottom: 10px;
	box-sizing: border-box;
}
.img_wrap img{
	max-width: 100%;
	transition-duration: 0.5s;
	height: auto;
	background-size: cover;
}
.img_wrap img:hover{
	transform: scale(1.2);
	transition-duration: 0.5s;
	opacity: 0.8;
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼  ABOUT  ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
#about{
	width: 100%;
	padding-top: 50px;
	padding-bottom: 100px;
	background-color: rgba(211,211,211,0.50);
}

#about h2{
	text-align: center;
	display: block;
	width: 1200px;
	margin: 40px auto;
	box-sizing: border-box;
	font-size: 70px;
	/*background-color: #BABABA;*/
	padding: 20px 0px;
}
#about h3{
	text-align: center;
	color: #333;
	font-size: 25px;
	font-weight: bold;
	margin-top: 0px;
	margin-bottom: 15px;
	padding-top: 15px;
}
#about img{
	width: 220px;
}
#about p{
	text-align: justify;
	padding: 15px;
	color: #333;
	line-height: 2;
}
#about_inner{
	width: 1200px;
	margin: 0px auto;
	display: flex;
	justify-content: space-around;
	padding-top: 40px;
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼  SKILL  ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
#skill{
	width: 100%;
	padding-top: 50px;
	padding-bottom: 200px;
	background-color: rgba(231,251,255,0.5);
}

#skill h2{
	text-align: center;
	display: block;
	box-sizing: border-box;
	font-size: 70px;
	/*background-color: #BABABA;*/
	padding: 20px 0px;
}

#skill_inner{
	width: 1200px;
	margin: 0px auto;
	padding-top: 40px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.skill_box{
	width: 40%;
	margin-bottom: 40px;
}

#skill h3{
	text-align: left;
	color: #333;
	font-size: 25px;
	font-weight: bold;
	margin-top: 0px;
	margin-bottom: 15px;
	padding-top: 15px;
}

#skill p{
	text-align: left;
	color: #333;
	line-height: 2;
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼  CONTACT  ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
#contact{
	margin-top: 0px;
	width: 100%;
	position: relative;
	background-image: url("../images/contact_bg.jpg");
	background-size: cover;
	padding-top: 50px;
    padding-bottom: 50px;
}
#contact h2{
	text-align: center;
	display: block;
	width: 1200px;
	margin: 40px auto;
	box-sizing: border-box;
	font-size: 70px;
    color: #fff;
	padding: 20px 0px;
}
#contact p{
	padding-top: 30px;
	font-size: 120%;
	line-height: 1.5;
	text-align: center;
    color: #fff;
}
#contact p:last-of-type{
	padding-top: 10px;
	padding-bottom: 30px;
}
#contact p a{
	color: #0018FF;
}
#contact p a:hover{
	opacity: 0.5;
}
#contact form{
	width: 30vw;
	margin: 0px auto;
	padding-top: 20px;
	display: block;
}

#contact form label{
	display: block;
	margin-bottom: 20px;
}
#contact form label span{
	display: block;
	margin-bottom: 10px;
}
#contact form label input{
	width: 100%;
	height: 50px;
	display: block;
}
#contact form textarea{
	display: block;
	width: 100%;
	height: 200px;
}

#contact form input[type="submit"],#contact form input[type="reset"]{
	border-radius: 25px;
	border: none;
	background-color: #2d606f;
	color: #fff;
	width: 150px;
	height: 50px;
	font-size: 20px;
	margin-bottom: 10px;
}
#contact form input[type="submit"]:hover,#contact form input[type="reset"]:hover{
	cursor: pointer;
	opacity: 0.7;
}
#contact form .bt{
	display: flex;
	justify-content: space-around;
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼  PRIVACY POLICY  ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
#privacy{
	background-color: rgba(187,187,187,0.50);
	padding-top: 50px;
	padding-bottom: 50px;
}
#privacy .wrapper{
	width: 800px;
	margin: 0 auto;
}
#privacy h3,h4,p{
	text-align: justify-all;
}
#privacy h2{
	text-align: center;
	display: block;
	width: 1200px;
	margin: 40px auto;
	margin-bottom: 80px;
	box-sizing: border-box;
	font-size: 60px;
	/*background-color: #BABABA;*/
	padding: 20px 0px;
}
#privacy h3{
	font-size: 170%;
	margin: 50px 0;
	margin-top: 60px;
	margin-bottom: 30px;
}
#privacy h4{
	font-size: 150%;
	margin: 50px 0;
	margin-top: 40px;
	margin-bottom: 20px;
}
#privacy h5{
	font-size: 140%;
	margin: 50px 0;
	margin-top: 20px;
	margin-bottom: 10px;
}
#privacy p{
	line-height: 1.8;
	font-size: 120%;
}
#privacy p a{
	color: #0018FF;
}
#privacy p a:hover{
	opacity: 0.5;
}
#privacy p:first-of-type{
	margin-top: 30px;
}
#privacy p:last-of-type{
	margin-bottom: 30px;
}
.list{
	margin-left: 50px;
}
.text_right{
	text-align: right;
}
.privacy_box{
	margin: 5px 0;
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼  Disclaimer(免責)  ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
#disclaimer{
	padding-top: 50px;
	padding-bottom: 100px;
	background-color: rgba(187,187,187,0.50);
}
#disclaimer .wrapper{
	width: 800px;
	margin: 0 auto;
}
#disclaimer h3,h4,p{
	text-align: justify;
}
#disclaimer h2{
	text-align: center;
	display: block;
	width: 1200px;
	margin: 40px auto;
	margin-top: 200px;
	margin-bottom: 100px;
	box-sizing: border-box;
	font-size: 60px;
	/*background-color: #BABABA;*/
	padding: 20px 0px;
}
#disclaimer h3{
	font-size: 170%;
	margin: 50px 0;
	margin-top: 60px;
	margin-bottom: 30px;
}
#disclaimer p{
	line-height: 1.8;
	font-size: 120%;
}
#disclaimer p a{
	color: #0018FF;
}
#disclaimer p a:hover{
	opacity: 0.5;
}
#disclaimer p:first-of-type{
	margin-top: 30px;
}
#disclaimer p:last-of-type{
	margin-top: 30px;
}
/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼  FOOTER  ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
footer{
	height: 40px;
	background-color: #111;
	margin-top: 0px;
	padding-top: 20px;
	position: relative;
}
footer small,footer p{
	color: #fff;
}
footer small{
	position: absolute;
	top: 40%;
	left: 40%;
}
footer p{
	margin-right: 50px;
}
footer p a{
	color: #fff;
}
.ft_p{
	display: flex;
	position: absolute;
	top: 40%;
	left: 10%;
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼  スマホ  ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
@media screen and (max-width: 640px){
	header{
		width: 100%;
		height: 50px;
	}
	#logo a{
		position: absolute;
		top: 35%;
		left: 30%;
		font-size: 15px;
		color: #fff;
	}
	#nav-drawer{
		margin-top: 2px;
		margin-left: 20px;
	}
	.nav-unshown {
  		display:none;
	}
	/*アイコンのスペース*/
	#nav-open {
	  display: inline-block;
	  width: 30px;
	  height: 22px;
	  vertical-align: middle;
	  margin-top: 15px;
	}

	/*ハンバーガーアイコンをCSSだけで表現*/
	#nav-open span, #nav-open span:before, #nav-open span:after {
	  position: absolute;
	  height: 3px;/*線の太さ*/
	  width: 25px;/*長さ*/
	  border-radius: 3px;
	  background: #fff;
	  display: block;
	  content: '';
	  cursor: pointer;
		z-index: 100;
	}
	#nav-open span:before {
	  bottom: -8px;
	}
	#nav-open span:after {
	  bottom: -16px;
	}
	/*閉じる用の薄黒カバー*/
	#nav-close {
	  display: none;/*はじめは隠しておく*/
	  position: fixed;
	  z-index: 99;
	  top: 0;/*全体に広がるように*/
	  left: 0;
	  width: 100%;
	  height: 100%;
	  background: black;
	  opacity: 0;
	  transition: .3s ease-in-out;
	}

	/*中身*/
	#nav-content {
	  overflow: hidden;
	  position: fixed;
	  top: 50px;
	  left: 0;
	  z-index: 9999;/*最前面に*/
	  width: 100%;/*右側に隙間を作る（閉じるカバーを表示）*/
	  max-width: 100%;/*最大幅*/
	  height: 55%;
	  background: rgba(245,245,245,0.7);/*背景色*/
	  transition: .3s ease-in-out;/*滑らかに表示*/
	  transform: translateX(-105%);/*左に隠しておく*/
	}
	#nav-content nav{
		position: absolute;
		top: 25px;
		left: 100px;
	}
	#nav-content nav ul{
		width: 100%;
		flex-direction: column;
		text-align: center;
		color: #333;
		height: 90vh;
	}
	#nav-content nav ul li{
		margin: 10px 0px;
		text-align: center;
		border: none;
	}
	#nav-content nav ul li a{
		color: #333;
		text-align: center;
	}
	#nav-content nav ul li a:hover{
		color: #800002;
		border-bottom: 1px solid #800002;
	}
	#nav-content nav ul li:nth-last-child(2) a:hover,
	#nav-content nav ul li:last-child a:hover{
		color: #fff;
		border-bottom: none;
	}

	/*チェックが入ったらもろもろ表示*/
	#nav-input:checked ~ #nav-close {
	  display: block;/*カバーを表示*/
	  opacity: .5;
	}
	#nav-input:checked ~ #nav-content {
	  transform: translateX(0%);/*中身を表示（右へスライド）*/
	  box-shadow: 6px 0 25px rgba(0,0,0,.15);
	}
	#nav-input:checked ~ #nav-open{
		margin-top: 20px;
	}
	#nav-input:checked ~ #nav-open span{
		transform: rotate(45deg);
	}
	#nav-input:checked ~ #nav-open span:before{
		transform: rotate(-90deg);
		bottom: 0px;
	}
	#nav-input:checked ~ #nav-open span:after{
		display: none;
	}
	
	#mv{
		background-image: url("../images/mv_sp.jpg");
		background-attachment: scroll;
	}
	#title_logo h1{
		font-size: 50px;
	}
	
	#works{
		
	}
	#works h2{
		text-align: center;
		display: block;
		width: 80%;
		margin-bottom: 10px;
		font-size: 40px;
	}
	#works p{
		
	}
	#works_inner{
		width: 80%;
		margin: 0px auto;
		display: block;
	}
	.works_grid{
		display: block;
	}
	.img_wrap{
		width: 260px;
		height: 220px;
	}
	.portfolio{
		width: 90%;
		margin: 50px auto;
	}
	
	#about{
	
	}
	#about h2{
		text-align: center;
		display: block;
		width: 80%;
		font-size: 40px;
	}
	#about h3{
		font-size: 25px;
	}
	#about img{
		width: 100px;
		display: block;
		margin: 0 auto;
		margin-bottom: 20px;
	}
	#about p{
		/*text-align: center;*/
	}
	#about_inner{
		width: 90%;
		display: block;
		margin: 0 auto;
	}
	#about .pc{
		display: none;
	}
	
	#skill{
	
	}
	#skill h2{
		text-align: center;
		display: block;
		width: 100%;
		font-size: 40px;
	}
	#skill h3{
		text-align: left;
		font-size: 25px;
	}
	#skill_inner{
		width: 90%;
		display: block;
		margin: 0 auto;
	}
	.skill_box{
		width: 100%;
	}
	.skill_box p{
		
	}
	
	#contact{}
	#contact h2{
		text-align: center;
		display: block;
		width: 80%;
		font-size: 40px;
	}
	#contact p{
		width: 80%;
		margin: 0 auto;
		text-align: inherit;
	}
	#contact form{
		width: 80%;
	}
	#contact form input[type="submit"],#contact form input[type="reset"]{
		border-radius: 10px;
		width: 100px;
		height: 30px;
		font-size: 15px;
		margin-right: 10px;
		margin-bottom: 8px;
	}
	#privacy h2{
		text-align: center;
		display: block;
		width: 80%;
		font-size: 40px;
	}
	#privacy .wrapper{
		width: 80%;
		margin: 0 auto;
	}
	#privacy h3{
		font-size: 140%;
		margin: 30px 0;
	}
	#privacy h4{
		font-size: 120%;
		margin: 30px 0;
	}
	#privacy h5{
		font-size: 110%;
		margin: 30px 0;
	}
	#privacy p{
		line-height: 1.5;
		font-size: 100%;
	}
	#privacy p:last-of-type{
		margin: 10px 0;
	}
	.list{
		margin-left: 0px;
	}
	#disclaimer h2{
		text-align: center;
		display: block;
		width: 80%;
		font-size: 30px;
	}
	#disclaimer .wrapper{
		width: 80%;
		margin: 0 auto;
	}
	#disclaimer h3{
		font-size: 140%;
		margin: 30px 0;
	}
	#disclaimer h4{
		font-size: 120%;
		margin: 30px 0;
	}
	#disclaimer h5{
		font-size: 110%;
		margin: 30px 0;
	}
	#disclaimer p{
		line-height: 1.5;
		font-size: 100%;
	}
	#disclaimer p:last-of-type{
		margin: 10px 0;
	}
	
	footer{
		text-align: center;
		padding-bottom: 35px;
	}
	footer small{
		position: static;
	}
	footer p{
		margin-right: 0px;
		margin-bottom: 10px;
		text-align: center;
	}
	.ft_p{
		display: block;
		position: static;
	}

}

