@charset "UTF-8";

@import url("/css/meanmenu.css");
/*----------------------------------------------------
	Common
----------------------------------------------------*/
html{
	position:relative;
	min-height:100%;
	background:url(../../images/common/bg_01.png);
}
body{
	min-width:980px;
	margin-bottom:290px;
}

@media only screen and (max-width: 767px){
	body {
		min-width: 320px;
		margin-bottom:0 !important;
	}
	img{
		max-width: 100%;
		height: auto;
		width /***/:auto;　
	}
}



/*----------------------------------------------------
	Header
----------------------------------------------------*/
@media only screen and (min-width: 767px){
	#sp_gNav{
		display:none;
	}
	header{
		background:url(../../images/common/bg_02.png);
	}
	
	
	/******* .logo *******/
	header .logo{
		position:relative;
		width:980px;
		margin:0 auto;
	}
	header .logoInr{
		position:absolute;
		top:0;
		left:0;
		z-index:999;
		box-shadow:0px 4px 6px -3px rgba(0,0,0,0.3);
		-moz-box-shadow:0px 4px 6px -3px rgba(0,0,0,0.3);
		-webkit-box-shadow:0px 4px 6px -3px rgba(0,0,0,0.3);
	}
	header .logoInr a{
		display:block;
		background:url(../../images/common/bg_01.png);
		border-radius: 0 0 3px 3px;
		-webkit-border-radius: 0 0 3px 3px;
		-moz-border-radius: 0 0 3px 3px;
		padding:30px 25px;
	}
	
	
	/******* .snav *******/
	header .snav{
		width:980px;
		margin:0 auto;
		padding:10px 0;
	}
	header .snav ul{
		text-align:right;
		letter-spacing:-40em;
	}
	header .snav ul li{
		display:inline-block;
		text-align:right;
		letter-spacing:normal;
		padding-left:10px;
	}
	header .snav ul li a{
		display:inline-block;
		background:url(../../images/common/bg_03.png);
		padding:10px 16px 10px 12px;
		border-radius: 3px;
		-webkit-border-radius: 3px;
		-moz-border-radius: 3px;
	}
	
	/******* nav *******/
	header nav{
		background:#5d1063;
		box-shadow:0px 4px 6px -3px rgba(0,0,0,0.3);
		-moz-box-shadow:0px 4px 6px -3px rgba(0,0,0,0.3);
		-webkit-box-shadow:0px 4px 6px -3px rgba(0,0,0,0.3);
		position:relative;
		z-index:5;
	}
	header nav > ul{
		width:980px;
		margin:0 auto;
		text-align:right;
		letter-spacing:-40em;
	}
	header nav > ul > li{
		display:inline-block;
		text-align:right;
		letter-spacing:normal;
		border-left:1px solid #8b538f;
	}
	header nav > ul > li:last-of-type{
		border-right:1px solid #8b538f;
	}
	header nav > ul > li a,
	header nav > ul > li span{
		display:inline-block;
		padding:15px;
	}
	header nav > ul > li.on a,
	header nav > ul > li a:hover,
	header nav > ul > li.on span,
	header nav > ul > li span:hover{
		background:#3f0444;
	}
	
	header nav > ul > li span{
		position:relative;
	}
	header nav li ul{
		position:absolute;
		text-align:center;
		background:#3f0444;
		z-index: 99999;
	}
	header nav li ul li{
	  overflow: hidden;
	  height: 0;
	  transition: .2s;
	}
	header nav li:hover ul li{
	  overflow:hidden;
	  height: 38px;
	}
	
	header nav li ul li a{
		color:#ffffff !important;
		text-decoration:none;
		width:250px;
		text-align:left;
		border-bottom:1px solid #5d1063;
		display:block;
		height: 38px;
		position:relative;
		padding-left:25px;
	}
	header nav li ul li a:before{
		content:"";
		background:url(../../images/common/icon_arrow_01.png) left center;
		width:4px;
		height:7px;
		position:absolute;
		left:10px;
	}
	header nav li ul li:last-of-type a{
		border:none;
	}
	header nav li ul li a:hover{
		text-decoration:none;
	}
}

@media only screen and (max-width: 767px){
	#gNav{
		display:none;
	}
	header{
		height: 55px;
	}
	header .logo{
		padding: 10px;
		width: 160px;
		position: absolute;
		z-index: 999999;
	}
	header .logo img{
		width:105px;
	}
}

/*----------------------------------------------------
	Common
----------------------------------------------------*/
.borderTtl{
	background:url(../../images/common/ttl_border.png) left center repeat-x;
	text-align:center;
	margin-bottom:30px;
}
.borderTtl span{
	background:url(../../images/common/bg_01.png);
	padding:0 10px;
	display:inline-block;
}
.shadow{
	position: relative;
	z-index:1;
	box-shadow:0px 4px 6px -3px rgba(0,0,0,0.3);
	-moz-box-shadow:0px 4px 6px -3px rgba(0,0,0,0.3);
	-webkit-box-shadow:0px 4px 6px -3px rgba(0,0,0,0.3);
}
.shadow:before,
.shadow:after{
	content: "";
	position: absolute;
	width: 30%;
	height:10px;
	bottom: 15px;
	z-index: -1;
}
.shadow:before{
    left: 5px;
    box-shadow: 0 15px 10px #a2a2a2;
    -webkit-transform: rotate(-5deg);
    -moz-transform: rotate(-5deg);
    -o-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    transform: rotate(-5deg);
}
.shadow:after{
    right: 5px;
    box-shadow: 0 15px 10px #a2a2a2;
    -webkit-transform: rotate(5deg);
    -moz-transform: rotate(5deg);
    -o-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    transform: rotate(5deg);
}

@media only screen and (max-width: 767px){
	.spTxt:after {
        content:attr(data-label);
    }
	.spTxt img {
        display:none;
    }
		
	.min:after {
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    }
	
	.borderTtl{
		background-size:6px auto;
	}
	.borderTtl span:after{
		font-size:20px;
	}
}

/*----------------------------------------------------
	Footer
----------------------------------------------------*/
footer{
	background:#5d1063;
	color:#ffffff;
	padding:30px 0;
	font-size:12px;
	position:absolute;
	bottom:0;
	width:100%;
}
footer .footerInr{
	width:980px;
	margin:0 auto;
	position:relative;
}
.footerNav{
	position:absolute;
	right:0;
	letter-spacing:-40em;
}
.footerNav li{
	display:inline-block;
	letter-spacing:normal;
	position:relative;
	padding-left:15px;
}
.footerNav li:first-of-type{
	padding-right:20px;
}
.footerNav li:before{
	content:"";
	background:url(../../images/common/icon_arrow_01.png) left center;
	width:4px;
	height:7px;
	position:absolute;
	left:0;
	top:2px;
}
.footerNav li a{
	color:#ffffff;
}

footer .footerInr dl{
	line-height:1.6;
	padding-bottom:20px;
}
footer .footerInr dt{
	font-size:20px;
}
footer .footerInr dt span{
	font-size:12px;
	display:block;
}
footer a{
	color: #fff!important;
}
@media only screen and (max-width: 767px){
	footer{
		padding:0;
		position:relative;
	}
	footer .footerInr{
		width:100%;
	}
	
	.footerNav{
		position:static;
		letter-spacing:normal;
	}
	.footerNav li{
		display:block;
		padding:20px 10px !important;
		border-bottom:1px solid #703c73;
		background:#49084e;
	}
	.footerNav li:before{
		content:none;
	}
	.footerNav li a{
		display:block;
		position:relative;
	}
	.footerNav li a:after{
		content:">";
		position:absolute;
		right:10px;
		top:0;
		bottom:0;
		margin:auto;
	}
	
	footer .footerInr dl{
		padding:20px 10px;
	}
	footer .footerInr p{
		font-size:10px;
		padding:0 10px 20px 10px;
	}
}
/*----------------------------------------------------
	Page top
----------------------------------------------------*/
#pageTop {
    position: fixed;
    bottom: 30px;
    right: 10px;
	z-index:999;
}
#pageTop a {
    display: block;
	box-shadow:0px 0px 4px 0px #c2c2c2;
	-moz-box-shadow:0px 0px 4px 0px #c2c2c2;
	-webkit-box-shadow:0px 0px 4px 0px #c2c2c2;
	border-radius: 30px;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	background:#fff;
	width:60px;
	height:60px;
	position:relative;
	opacity: 0.8;
}
#pageTop a:before{
	content:" ▲ ";
	font-size:20px;
	color:#320736;
	position:absolute;
	line-height:60px;
	text-align:center;
	width:60px;
}
#pageTop a img{
	display:none;
}





/*----------------------------------------------------
	Lower
----------------------------------------------------*/
.lower #mainTtlBox{
	background-size:cover;
	background-position:top center;
	height:250px;
}
.lower #mainTtlBox h1{
	width:980px;
	margin:auto;
	padding-top:110px;
}

.lower #contents{
	margin:40px auto 130px auto;
	width:980px;
}

.lower .lowerTtl {
	position: relative;
	text-align: center;
	font-size:20px;
	font-weight:bold;
}
.lower .lowerTtl span {
	position: relative;
	z-index: 2;
	display: inline-block;
	margin: 0 2.5em;
	padding: 0 1em;
	background:url(../../images/common/bg_01.png);
	text-align: left;
}
.lower .lowerTtl::before {
	position: absolute;
	top: 50%;
	z-index: 1;
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background-color: #000;
}

@media only screen and (max-width: 767px){
	.lower #mainTtlBox{
		height:160px;
	}
	.lower #mainTtlBox h1{
		width:100%;
		padding-top: 79px;
		padding-left:10px;
		font-size: 26px;
		color: #fff;
		text-shadow:1px 1px 1px #808080;
		font-weight:normal;
	}
	
	.lower #contents{
		margin:20px auto 30px auto;
		width:100%;
		padding:0 10px;
	}
	
	.lower .lowerTtl span {
		font-size:14px;
	}
}
