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

/*----------
01.共通
02.ヘッダー
03.フッター
----------*/


/*----------
01.共通
----------*/


body{
-webkit-font-smoothing: antialiased;
}

#wrapper{
width: 100%;
overflow: hidden;
font-family: "リュウミン R-KL",serif;
font-size: 16px;
color: #000;
}

.pc{
display: block;
}

.sp{
display: none;
}

.contents_in{
max-width: 1200px;
width: 100%;
margin: 0 auto;
}

.contents_in_1040{
max-width: 1040px;
width: 100%;
margin: 0 auto;
}

/*----------
02.ヘッダー
----------*/

header{
position: fixed;
top: 0;
left: 0;
height: 100vh;
z-index: 5;
}

header .nav_btn{
width:24px;
cursor:pointer;
position:absolute;
transition: all .4s;
box-sizing: border-box;
height:20px;
/*margin:0 0 0 auto;*/
margin: 0 0 0 20px;
top: 45%;
}

header .nav_btn .nav_line{
width:24px;
border-top:2px solid #000;
display: inline-block;
transition: all .4s;
box-sizing: border-box;
position: absolute;
left:0;
right:0;
margin:0 auto;
}

header .nav_btn .nav_line01{
top:0px;
}

header .nav_btn .nav_line02{
top:9px;
}

header .nav_btn .nav_line03{
top:18px;
}

header.active .nav_btn .nav_line01{
-webkit-transform: translateY(9px) rotate(-45deg);
transform: translateY(9px) rotate(-45deg);
}

header.active .nav_btn .nav_line02.hover_line{
-webkit-transform: translateX(9px) rotate(0deg);
transform: translateX(9px) rotate(0deg);
}

header.active .nav_btn .nav_line02{
top:12px;
left: 50%;
opacity: 0;
-webkit-animation: active-menu-bar02 .8s forwards;
animation: active-menu-bar02 .8s forwards;
}

header.active .nav_btn .nav_line03{
-webkit-transform: translateY(-9px) rotate(45deg);
transform: translateY(-9px) rotate(45deg);
}

header.active .nav_btn .nav_line{
border-top-color: #fff;
}

header::before{
width: 100%;
height: 100vh;
content: "";
display: block;
background: #000;
position: absolute;
top: 0;
left: -100%;
transition: all .4s;
}

header.active{
/* background: #000; */
width: 100%;
z-index: 10;
}

header.active::before{
left: 0;
}

header #header_in{
max-width: 686px;
width: 100%;
margin: 0 auto;
display: none;
position: relative;
z-index: 10;
}

header .cnt_left{
max-width: 324px;
width: 100%;
float: left;
}

header .cnt_left .logo{
max-width: 194px;
width: 100%;
padding: 0 0 26px;
}

header .cnt_left .logo img{
display: block;
width: 100%;
height: auto;
}

header .cnt_left h1{
color: #fff;
font-family: "リュウミン M-KL",serif;
text-align: center;
font-size: 22px;
}

header .cnt_left h1 span{
display: block;
font-size: 36px;
padding: 6px 0 0;
}

header .cnt_right{
margin: 0 0 0 101px;
float: left;
max-width: 261px;
width: 100%;
box-sizing: border-box;
padding: 26px 0 0;
}

header .cnt_right .nav_in{
}

header .cnt_right .nav_in li{
font-family: "リュウミン B-KL",serif;
font-size: 24px;
background: url(../img/icon_nav.png) no-repeat left center;
background-size: 19px auto;
padding: 0 0 0 38px;
box-sizing: border-box;
margin: 0 0 30px;
}

header .cnt_right .nav_in li:first-child{
padding: 0 0 0 44px;
}

header .cnt_right .nav_in li:last-child{
margin: 0;
}

header .cnt_right .nav_in li a{
color: #fff;
}




/*----------
03.フッター
----------*/

footer{
background: #160e0d;
color: #fff;
padding: 50px 0;
position: relative;
}

footer .pagetop{
position: absolute;
margin-left: -20px;
left: 50%;
top: -40px;
width: 40px;
height: 40px;
}

footer .pagetop a{
display: block;
width: 40px;
height: 40px;
background: #160e0d url(../img/pagetop.svg) no-repeat center center;
background-size: 18px 12px;
text-indent: -99999px;
outline: none;
}

footer .pagetop a img{
width: 18px;
margin: 0 auto;
display: block;
}

footer .logo{
max-width: 196px;
width: 100%;
margin: 0 auto;
padding: 0 0 30px;
}

footer .logo img{
width: 100%;
height: auto;
display: block;
}

footer .sns_g{
font-size: 0;
text-align: center;
padding: 0 0 30px;
}

footer .sns_g li{
display: inline-block;
max-width:30px;
width: 100%;
margin: 0 9px;
}

footer .sns_g li img{
width: 100%;
display: block;
height: auto;
}

footer .copyright{
font-family: "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
font-weight: bold;
font-size: 10px;
line-height: 20px;
text-align: center;
}



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

/*----------
01.共通
----------*/

.contents_in{
width: 90%;
}

.contents_in_1040{
width: 96%;
}



/*----------
02.ヘッダー
----------*/

header .nav_btn{
margin: 0 0 0 10px;
}




/*----------
03.フッター
----------*/

}

@media only screen and (max-width:756px){
/*----------
01.共通
----------*/
.pc{
display: none;
}

.sp{
display: block;
}

.contents_in_1040{
width: 99%;
}


/*----------
02.ヘッダー
----------*/

header{
/* display: none; */
height: auto;
position: relative;
}

header.active{
position: fixed;
}

header .nav_btn{
top: 0;
margin: 19px 17px 0 auto;
right: 0;
left: auto;
position: fixed;
z-index: 15;
}

header #header_in{
padding: 88px 0 0;
}

header .cnt_left{
width: auto;
float: none;
max-width: none;
padding: 0 0 52px;
}

header .cnt_left .logo{
margin: 0 auto;
}

header .cnt_right{
padding: 0;
max-width: 207px;
margin: 0 auto;
float: none;
}





/*----------
03.フッター
----------*/


}
