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

bodh{
	font-family:YuGothic,"游ゴシック","ヒラギノ角ゴ Pro W3","HiraKakuPro-W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;
	font-size:16px;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

strong{
	font-weight:bold;
}

header{
 padding:30px 0;
 border-top:5px solid #000;
}

.about{
	background:#F7F7F7;
	margin-bottom:30px;
	padding:30px 0 30px;
}

/* title */

h1{
	max-width:50%;
	height:auto;
}


/* nav */

.menu li a{
	display:block;
	color:#000;
	font-size:1.3125em;
	padding:10px 15px;
}

.menu li#about a:hover{
	color:#46b518;
}

.menu li#works a:hover{
	color:#1372b7;
}

.menu li#blog a:hover{
	color:#dd5900;
}

.menu li{
	float:left;
	width:auto;
	font-family: 'Anton', sans-serif;
}

.menu ul:after{
	content:"";
	display:block;
	clear:both;
}



/* aboutme */

.img{
	text-align:center;
	background-image:url(../images/bg_about.png);
	background-repeat:no-repeat;
	background-position:left 50%;
	background-size:contain;
	padding-top:30px;
}

.me{
	max-width:100%;
	height:auto;
}

#about_top h2{
	font-family: 'Anton', sans-serif;
	font-size:2.4em;
	line-height:2.1em;
}

#about_top h2 span{
	font-size:1.8em;
}

#about_top p{
	padding:50px 0;
	font-size:1.375em;
}

#about_bottom{
	content:"";
	display:block;
	clear:both;
	overflow:hidden;
}

#contact{
	width:50%;
	float:left;
	overflow:hidden;
}

#contact li{
	float:left;
	width:50%;
	text-align:left;
}

#contact ul{
	content:"";
	display:block;
	clear:both;
}

#contact li img{
	max-width:100%;
	height:auto;
	opacity:0.8;
}

#contact li img:hover{
	opacity: 1.0;
	transition: all 0.5s ease 0s;
}

.btn{
	padding:20px 40px;
	display:inline-block;
	font-weight:700;
	position:relative;
	border:#46b518 solid 2px;
	z-index:2;
	color:#333;
	overflow:hidden;
	outline:none;
	letter-spacing: 1px;
	font-size: inherit;
	text-transform: uppercase;
	float:left;
	cursor:pointer;
}

.btn::before,
.btn::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}

.btn,
.btn::before,
.btn::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.btn:hover {
	color:#fff;
}

.btn::after {
	top:-100%;
	width:100%;
	height:100%;
}

.btn:hover::after {
	top: 0;
	left:0;
	background-color:#46b518;
}



/* contents */

.contents ul:after{
	content:"";
	display:block;
	clear:both;
}

.contents li{
	width:33.3%;
	float:left;
	padding:0 10px 20px;
}

.contents a{
	line-height:inherit;
}

figure {
	position:relative;
	overflow:hidden;
	margin:0;
}

figure img{
	width:100%;
	height:auto;
	display:block;
}

figcaption {
	position:absolute;
	top:-100%;
	left:0;
	z-index:2;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.6);
	-webkit-transition:.3s;
	transition:.3s;
	opacity:1;
}

figure:hover figcaption {
	top:0;
	left:0;
}

figcaption h3{
	color:#fff;
	font-size:2em;
	padding-top:50%;
	text-align:center;
	font-weight:700;
}

figcaption p{
	color:#fff;
	font-size:1.3em;
	text-align:center;
	padding-top:-60px;
}


footer{
	width:100%;
	border-bottom:5px solid #000;
}

footer p{
	padding:60px 0 40px;
	text-align:center;
	font-size:1em;
}



/* ###### 599px以下 ###### */
@media (max-width:599px){
	
.contents li{
	width:100%;
}

header{
	padding:15px 0 0 0;
}

.about{
	background-image:url(../images/bg_about.png);
	background-repeat:no-repeat;
	background-position:left top;
	background-size:contain;
	padding-top:0;
}

.img{
	background:none;
}

header:after{
	content:"";
	display:block;
	clear:both;
}

.title{
	float:none;
	width:100%;
}

.gnav{
	float:none;
	width:100%;
}

h1{
	margin:0 auto;
	text-align:center;
}

h1 img{
	max-width:100%;
}

.menu li{
	width:33.3%;
	text-align:center;
	font-size:1em;
}

#about_top{
	text-align:center;
}

.me{
	width:30%;
}

#about_top h2{
	font-size:1.9em;
	line-height:1.6em;
}

#about_top p{
	font-size:1.2em;
	padding:20px;
}

#about_bottom{
	text-align:center;
}

#about_bottom .btn{
	padding:15px 30px;
	margin-top:10px;
}

#about_bottom ul{
	width:100%;
	padding:0 33%;
	
}

#about_bottom li{
	text-align:center;
	width:50%;
}

#about_bottom img{
	width:50px;
}

#contact,.btn{
	float:none;
}

footer p{
	padding:0 0 30px;
}
		
}

/* ###### 600px以上～767px以下 ###### */
@media (min-width:600px) and (max-width:767px){

header{
	padding:15px 0;
}

.about{
	background-image:url(../images/bg_about.png);
	background-repeat:no-repeat;
	background-position:left top;
	background-size:contain;
	padding-top:0;
}

.img{
	background:none;
}

header:after{
	content:"";
	display:block;
	clear:both;
}

.title{
	float:left;
	width:auto;
}

.gnav{
	float:right;
	width:auto;
}

h1 img{
	padding-left:15px;
}

#about_top{
	text-align:center;
}

.me{
	width:30%;
}

#about_top h2{
	font-size:1.9em;
	line-height:1.6em;
}

#about_top p{
	font-size:1.2em;
	padding:20px;
}

#about_bottom .btn{
	margin-left:60px;
	padding:15px 30px;
}

#about_bottom ul{
	padding-left:20%;
}

#about_bottom li{
	text-align:right;
	width:50%;
}

#about_bottom img{
	width:50px;
}

.contents li{
	width:50%;
}
	
}

/* ###### 768px以上 ###### */
@media (min-width:768px){



header:after{
	content:"";
	display:block;
	clear:both;
}

.title{
	float:left;
	width:auto;
}

.gnav{
	float:right;
	width:auto;
}

.about:after{
	content:"";
	display:block;
	clear:both;
}

.img{
	float:left;
	width:50%;
}

.txt{
	float:left;
	width:50%;
}

h1{
	padding-left:20px;
}

h2{
	padding-top:20px;
}



}

/* ###### 960px以上 ###### */
@media (min-width:960px){
	
	.header_inner,.contents,.about_inner,footer p{
	width:960px;
	margin:0 auto;
}

}