@charset "utf-8";

/*=====================================================
COMMON-LAYOUT
======================================================*/

body {
	background-image: url(../images/common/bg.jpg);
	right: 0;
	transition: 1s right;
}
body.nav_open{
	right: 200px;
	transition: 1s right;
}
header{
	width:100%;
	position:  relative;
	z-index: 2000000000;
}

/*header*/
div.header{
	margin:0 auto;
	position:relative;
	max-width:1100px;
	padding:0 10px;
	height:140px;
	box-sizing: content-box;
}

body#top div.header{
	display: none;
}


div.header h1{
	display: none;
}

div.header h2{
	text-align: center;
	line-height:0;
	font-size:0;
	padding-top: 10px;
}
/*header*/






/*headnavi*/

nav.gnavi_wrap{
	max-width:1100px;
	padding: 50px 10px;
	box-sizing: content-box;
	margin: 0 auto;
}

nav.gnavi_wrap .gnavi {
	text-align: center;
	letter-spacing: -.4em;
}

nav.gnavi_wrap .gnavi li{
	display: inline-block;
	vertical-align: top;
	width: 18.18181818181818%;
	margin-right: 2.272727272727273%;
	margin-bottom: 2.272727272727273%;
}

nav.gnavi_wrap .gnavi li:nth-child(6),
nav.gnavi_wrap .gnavi li:nth-child(7){
	margin-bottom: 0;
}

nav.gnavi_wrap .gnavi li:nth-child(5),
nav.gnavi_wrap .gnavi li:nth-child(7){
	margin-right: 0;
}

nav.gnavi_wrap .gnavi li img{
	width: 100%;
	max-width: 100%;
}
nav.gnavi_wrap .gnavi li a.cr img.off{
	opacity: 0;
}
nav.gnavi_wrap .gnavi li a.cr img.on{
	opacity: 1;
}
/*headnavi*/



/*spボタン*/

.nav_btn{
	position:absolute;
	transition: all 0.5s ease-in-out;
	top: 15px;
	right:10px;
	width: 35px;
	height: 24px;
	display:none;
	cursor: pointer;
}


.nav_btn:after {
	content: "MENU";
	display: block;
	font-size: 10px;
	width: 100%;
	position: absolute;
	bottom: -20px;
	right: 0;
	color: #000;
	text-align: center;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.nav_btn hr {
    width: 35px;
    background: #000;
    height: 3px;
    position: absolute;
    border: none;
    transform-origin: center center;
    left: 0;
    right: 0;
    margin: 0 auto;
    transition: top 0.2s ease-in-out 0.3s, transform 0.2s ease-in-out 0s;
}

.nav_btn.opened hr {
    transition: top 0.2s ease-in-out 0s, transform 0.2s ease-in-out 0.3s;
}

.nav_btn hr:nth-child(1) {
    top: 0;
}

.nav_btn hr:nth-child(2) {
    top: 10px;
}

.nav_btn hr:nth-child(3) {
    top: 20px;
}

.nav_btn.opened hr:nth-child(1) {
    transform: rotate(45deg);
    top: 10px;
}

.nav_btn.opened hr:nth-child(2) {
    transform: scaleX(0);
    top: 10px;
}

.nav_btn.opened hr:nth-child(3) {
    transform: rotate(-45deg);
    top: 10px;
}

#sp_btn {
    display: none;
    position: absolute;
    top: 55px;
    height: 60px;
    width: 100%;
    font-size: 0;
    background: #484848;
    z-index: 999;
}
nav.gnavi_wrap .spnav {
    position: fixed;
    width: 200px;
    left: auto;
    right: -200px;
	
	transition: 1s right;
}
body.nav_open nav.gnavi_wrap .spnav {
    right: 0;
	transition: 1s right;
}
/*spボタン*/



/*contents_wrap*/
div.contents_wrap{
	width:100%;
}

div.container{
	margin:0 auto;
	padding:0px 0 30px;
	box-sizing: content-box;
}

div.in_conw{
	margin:0 auto;
	padding: 0 20px;
	max-width: 1140px;
}
/*contents_wrap*/







/*footer*/
footer{
	width:100%;
}


footer .logs{
	background-image: url(../images/common/f_line.png),url(../images/common/f_bg.png);
	background-position: center top,center bottom;
	background-repeat: repeat-x;
	
	
	margin:0 auto;
	position:relative;
	max-width:1100px;
	padding:35px 10px 13%;
	background-size: auto,contain;
	z-index: 9;
}

footer .logs ul{
	letter-spacing: -0.40em;
	text-align: center;
}

footer .logs ul li{
	letter-spacing: normal;
	display: inline-block;
	vertical-align: middle;
	background-position: center left;
	background-repeat: no-repeat;
	padding: 10px 16px;
}

footer .logs ul li img:nth-child(2){
	display: inline-block;
	vertical-align: middle;
	line-height: 0;
	padding-left: 10px;
}


footer .fnav{
	margin-top: -5px;
	background-image: url(../images/common/f_linebg.png);
	background-repeat: repeat-x;
	background-position: center bottom;
	padding: 22.5px 20px 12.5px;
	z-index: 10;
	position: relative;
}

footer .fnav ul{
	letter-spacing: -0.40em;
	text-align: center;
}

footer .fnav ul li{
	letter-spacing: normal;
	display: inline-block;
	vertical-align: middle;
}

footer .fnav ul li:after{
	content: "|";
	display: inline-block;
	padding-right: 0.1em;
	color: #fff;
}

footer .fnav ul li:last-child:after{
	content: none;
}

footer .fnav ul li a{
	display: inline-block;
	color: #ffffff;
	font-size: 14px;
	letter-spacing: 0.2em;
	padding: 0 5px;
	line-height: 1.2;
}

footer .fnav ul li a:hover{
	opacity: 0.5;
}

footer .fnav ul li a.none{
	pointer-events: none;
}
footer .fnav ul li a.none:hover{
	opacity: 1;
}
/*footer*/











.img_cap{
	position: relative;
}

.img_cap span{
	background: rgba(0,0,0,0.6);
	font-size:10px;
	display: block;
	padding:3px 5px;
	line-height: 1.5;
	color: #FFFFFF;
	position: absolute;
	bottom: 0;
	right: 0;
	text-align: right;
}

.img_cap.white span{
	background: rgba(255,255,255,0.6);
	color: #333333;
}





/*pagetop*/
.pagetop{
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 100;
/*	transition: 0.5s;*/
	display: none;
	pointer-events: none;
}

.pagetop.active{
/*
	opacity: 0.8;
	transition: 0.5s;
*/
	pointer-events: all;
}

.pagetop.active:hover{
	opacity: 0.8;
	transition: 0.5s;
}
/*pagetop*/




@media screen and (max-width: 1160px){
	.pagetop{
		bottom: 60px;
    	max-width: 30%;
	}
}



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

	/*header*/
	div.header{
		margin:0 auto;
		position:relative;
		max-width:1100px;
		padding:0 10px 20px;
		height:auto;
		box-sizing: content-box;
/*		border-bottom: 1px #000000 dotted;*/
	}

	body#top div.header{
		display: block;
	}


	div.header h2{
		padding-top: 20px;
		width: 40%;
	}
	
	nav.gnavi_wrap {
		padding: 20px 10px;
	}
	/*header*/
	.nav_btn {
		display: block;
	}
	
	
	
	/*headnavi*/
	nav.gnavi_wrap {
		padding: 0;
		position: relative;
		position: absolute;
		width: 100%;
		background-color: rgba(0,0,0,.2);
	}
	nav.gnavi_wrap .spnav{
		position: fixed;
		width: 200px;
		left: auto;
		right: -200px;
		top: 30px;
	}
	nav.gnavi_wrap .spnav li{
		margin: 0 0 20px!important;
		width: 100%;
	}
	nav.gnavi_wrap .spnav li:last-child{
		margin: 0!important;
	}
	nav.gnavi_wrap .spnav li:nth-child(2n){
	}
	nav.gnavi_wrap .spnav li:nth-child(2n+1){
		clear: both;
	}
	
	
	/*headnavi*/


	.pagetop.active{
	}
}


@media screen and (max-width: 600px){
	footer .fnav {
		background-color: #393736;
	}
	
}

@media screen and (max-width: 480px){
	footer .logs ul li {
		display: block;
	}
}