@charset "UTF-8";
/*リセット*/

input {display:none;}
button {
border:none;
background:none;
outline:none;
}
a:hover,
a img:hover,
label img:hover {
opacity:0.8;
}

/*ハンバーガーメニュー*/
.menu,
.menu span {
display:inline-block;
-webkit-transition:all .4s;
transition:all .4s;
box-sizing:border-box;
}

.menu {
position:fixed;
top:20px;
left: 20px;
width:25px;
height:18px;
z-index:30;
}

.menu span {
position:absolute;
left:0;
width:100%;
height:2px;
background:#000;
z-index:30;
}

.hidden .menu span {
border-radius:1px;
position:absolute;
left:0;
width:100%;
height:2px;
background:#000;
z-index:30;
}

.menu span:nth-of-type(1) {top:0px;}
.menu span:nth-of-type(2) {top:8px;}
.menu span:nth-of-type(3) {bottom:0px;}

.menu.active span:nth-of-type(1) {
-webkit-transform:translateY(8px) rotate(45deg);
transform:translateY(8px) rotate(45deg);
background:#000;
}
.menu.active span:nth-of-type(2) {
opacity:0;
background:#000;
}

.menu.active span:nth-of-type(3) {
-webkit-transform:translateY(-8px) rotate(-45deg);
transform:translateY(-8px) rotate(-45deg);
background:#000;
}

#nav {
position:fixed;
top:0;
right:0;
width:100%;
height:100vh;
opacity:0;
background:rgba(255,255,255,0.95);
transition:all 0.3s ease-in-out;
visibility:hidden;
z-index:30;
}

#nav.active{
right:0;
opacity:1;
-moz-transform:translateX(0);
-webkit-transform:translateX(0);
transform:translateX(0);
visibility:visible;
}

#nav ul{
margin:50px 0 20px;
padding:20px 0;
}

#nav ul li{
font-size:13px;
font-weight:300;
letter-spacing:0.2em;
list-style-type:none;
}

#nav ul li a{
display:block;
padding:1em 0;
transition:all 0.2s ease-in-out;
text-align:center;
text-decoration:none;
color:#000;
}

#nav ul li a:hover {color:#000;}

#nav .sns_icon {
margin:0;
padding:0;
text-align:center;
}

#nav .sns_icon li {
display:inline-block;
margin:0 2em;
}

@media screen and (max-width:768px) {

.contents {
width:100%;
}

}

