@charset "UTF-8";
/*===========================================================================*/
/*  common  */
/*===========================================================================*/
/* リセット
---------------------------------------------------------------------------- */
html ,body ,div ,span ,applet ,object ,iframe ,h1 ,h2 ,h3 ,h4 ,h5 ,h6 ,p ,blockquote ,pre ,a ,abbr ,acronym ,address ,big ,cite ,code ,del ,dfn ,em ,img ,ins ,kbd ,q ,s ,samp ,small ,strike ,strong ,sub ,sup ,tt ,var ,b ,u ,i ,center ,dl ,dt ,dd ,ol ,ul ,li ,fieldset ,form ,label ,legend ,table ,caption ,tbody ,tfoot ,thead ,tr ,th ,td ,article ,aside ,canvas ,details ,embed ,figure ,figcaption ,footer ,header ,hgroup ,menu ,nav ,output ,ruby ,section ,summary ,time ,mark ,audio ,video {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	font:inherit;
	vertical-align:baseline;
}

article ,aside ,details ,figcaption ,figure ,footer ,header ,hgroup ,menu ,nav ,section {
	display:block;
}

ol ,ul {
	list-style:none;
}

blockquote ,q {
	quotes:none;
}

blockquote:before ,blockquote:after ,q:before ,q:after {
	content:'';
	content:none;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

img {
	max-width:100%;
	height:auto;
	line-height:0;
}

/* 基本スタイル
---------------------------------------------------------------------------- */
html {
	height:100%;
}

body {
	margin:0;
	padding:0;
	height:100%;
	line-height:1.6;
	background:#fff;
	color:#333333;
	font-family:"メイリオ",Meiryo,Osaka,"MS P Gothic","ＭＳ Ｐゴシック",Verdana,Chicago,sans-serif;
	font-size:0.9em;
}

body a:hover img {
	opacity:0.8;
	filter:alpha(opacity=80);
}

/* ハック
---------------------------------------------- */
/* letter-spacing hack */
@media screen {
  body {
		letter-spacing:0.5px;
  }

  br {
		letter-spacing:0;
  }
}
/* height100% hack */
body > #container {
	height:auto;
}

/* リンク
---------------------------------------------- */
a {
	color:#000;
	overflow:hidden;
	outline:none;
}

a:hover {
	color: #000;
	text-decoration: none;
}

div#footer2 a:link,
div#footer2 a:visited,
div#footer2 a:hover,
#divDataArea a:link,
#divDataArea a:visited,
#divDataArea a:hover
{color: #000 !important;}
/* container
---------------------------------------------------------------------------- */
#container{
	width: 960px;
	margin: 0 auto;
}

/* clear hack */
#container{zoom:1;}
#container:after{content:".";clear:both;height:0;display:block;visibility:hidden;}


/* contents
---------------------------------------------------------------------------- */
#contents{
	float: right;
	width: 660px;
}


/* menu
---------------------------------------------------------------------------- */
#menu{
	float: left;
	width: 260px;
	margin-bottom: 40px;
}
#menu .bn-rakumachi img{
	max-width: 100%;
}


/* ヘッダー
---------------------------------------------------------------------------- */
header{
	position: fixed;
	top:0;
	left:0;
	width: 100%;
	padding: 20px 0 10px;
	height: 106px;
	background-color: #fff;
	-webkit-transition:all 0.2s linear;
	-moz-transition:all 0.2s linear;
	transition:all 0.2s linear;
	z-index: 9999;
}

header.on{
	height: 73px;
	padding: 4px 0 7px;
}

header .h-inner .logo img{
	-webkit-transition:all 0.2s linear;
	-moz-transition:all 0.2s linear;
	transition:all 0.2s linear;
	width: 81px;
}

header .h-inner .logo{
	padding-top: 0;
	-webkit-transition:all 0.2s linear;
	-moz-transition:all 0.2s linear;
	transition:all 0.2s linear;
}

header.on .h-inner .logo{
	padding-top: 7px;
}

header.on .h-inner .logo img{
	width: 60px;
}

header .h-inner{
	max-width: 960px;
	margin: 0 auto;
}

header .h-inner nav ul{
	letter-spacing: -0.4em;
	text-align: right;
}

header .h-inner nav ul li{
	display: inline-block;
	*display: inline;

	vertical-align: middle;
	letter-spacing: normal;
	*zoom: 1;
}

header .h-inner nav ul li:last-child{
	margin-right: 0;
}

header .h-inner nav ul li a{
	display: block;
	padding: 20px 22px;
	font-size: 1.2em;
	text-decoration: none;
}

header .h-inner nav ul li a:hover{
	text-decoration: underline;
}

header .h-inner nav ul li.h-rakumachi{
	margin-left: 20px;
}

header .h-inner nav ul li.h-rakumachi a{
	padding: 20px 0;
}

.logo-sp{
	display: none;
}


/* ヘッダー（スマホ閲覧時）
---------------------------------------------------------------------------- */
#m-header{
	display: none;
}

.slicknav_menu{
	display: none;
}


/* 下層ページタイトル
---------------------------------------------------------------------------- */
#pagetitle{
	margin: 106px auto 20px;
	padding: 35px 0;
	background-color: #000;
}
#pagetitle h1{
	max-width: 960px;
	margin: 0 auto;
	color: #fff;
	font-size: 2.3em;
	letter-spacing: 7px;
	line-height: 1.4;
}


/* パンくず
---------------------------------------------------------------------------- */
#topicpath{
	max-width: 960px;
	margin: 0 auto 20px;
}


/* 下層サブタイトル
---------------------------------------------------------------------------- */
#subtitle{
	margin: 0 auto 30px;
	text-align: center;
}
#subtitle h2{
	font-size: 3.0em;
	font-family: 'Cantarell', sans-serif;
	letter-spacing: 3px;
}
#subtitle p{
	color: #7d7d7d;
}


/* スクロールバー
---------------------------------------------------------------------------- */
.jspContainer .jspVerticalBar {
	width: 5px;
	background: none;
}
.jspContainer .jspVerticalBar .jspTrack {
	border-radius: 10px;
	background-color: #d9d9d9;
}
.jspContainer .jspVerticalBar .jspTrack .jspDrag {
	border-radius: 10px;
	background-color: #000;
}


/* アニメーション
---------------------------------------------------------------------------- */
.anim {
	visibility: hidden;
}

.fadeInDown {
	-webkit-animation-fill-mode:both;
	-ms-animation-fill-mode:both;
	animation-fill-mode:both;
	-webkit-animation-duration:0.8s;
	-ms-animation-duration:0.8s;
	animation-duration:0.8s;
	-webkit-animation-name: fadeInDown;
	animation-name: fadeInDown;
	visibility: visible !important;
}
@-webkit-keyframes fadeInDown {
	0% { opacity: 0; -webkit-transform: translateY(50px); }
	100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown {
	0% { opacity: 0; -webkit-transform: translateY(50px); -ms-transform: translateY(50px); transform: translateY(50px); }
	100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}


/* フッター
---------------------------------------------------------------------------- */
footer {
	border-top: 1px solid #e4e4e4;
}
footer nav ul{
	padding: 20px 0;
	letter-spacing: -0.4em;
	text-align: center;
}

footer nav ul li{
	display: inline-block;
	*display: inline;
	margin: 0 15px;
	letter-spacing: normal;
	*zoom: 1;
}

footer nav ul li a i{
	margin-right: 5px;
	padding-top: 2px;
}

footer nav ul li a{
	text-decoration: none;
}

footer nav ul li a:hover{
	text-decoration: underline;
}

footer .f-bottom{
	padding: 40px 0;
	background-color: #000;
	text-align: center;
}

footer .f-bottom .logo{
	margin-bottom: 10px;
	color: #fff;
}

footer .f-bottom .copyright{
	color: #bebebe;
}


/*===========================================================================*/
/*  phone  */
/*===========================================================================*/
@media screen and (max-width: 767px) {

	/* header
	------------------------------------------------------------------------ */
	header{
		display: none;
	}

	/* slicknav_menu
	------------------------------------------------------------------------ */
	.slicknav_menu {
		display: block;
		left: 0;
		padding: 0;
		top: 0;
		width: 100%;
		z-index: 9000;
	}
	.slicknav_menu ul {
		overflow: visible;
	}
	.slicknav_menu .slicknav_nav {
		background-color: #fff;
		overflow: visible;
	}
	.slicknav_menu .inner ul li i {
		margin-right: 5px;
	}
	.slicknav_menu .inner ul li.slicknav_open .slicknav_item{
		background-color: #ccc;
		border-radius: 5px;
	}
	.slicknav_menu .inner ul li.slicknav_open .slicknav_item .slicknav_arrow{
		color: #fff;
	}
	.slicknav_menu .inner ul li .child{
		padding-left: 1em;
	}
	.slicknav_menu .inner ul li .child li{
		border: none;
	}
	.slicknav_menu .inner ul li .child li a{
		padding: 2px 10px;
	}
	.slicknav_menu .inner ul li .child li.sub a{
		padding-left: 40px;
		background: #fff url("../common_img/ico_menu_child.gif") 30px 10px no-repeat;
	}
	.slicknav_menu .inner ul li .child li.link-pc a i{
		margin-left: 5px;
	}
	.slicknav_menu .inner ul li .child li.sub a:hover {
		background-color: #f3f3f3;
	}
	.logo-sp {
		position: absolute;
		display: block;
		left: 5px;
		top: 6px;
		z-index: 9999;
	}
	.logo-sp {
		margin-left: 10px;
		padding-top: 2px;
	}
	.logo-sp img {
		height: 45px;
		width: auto;
	}

	/* container
	------------------------------------------------------------------------ */
	#container{
		max-width: auto;
		width: 100%;
	}

	/* contents
	------------------------------------------------------------------------ */
	#contents{
		float: none;
		width: 100%;
		margin: 0 auto;
	}

	/* menu
	------------------------------------------------------------------------ */
	#menu{
		display: none;
		float: none;
		width: 95%;
		margin: 0 auto;
	}


	/* pagetitle
	------------------------------------------ */
	#pagetitle{
		margin: 0 auto 15px;
		padding: 20px 0;
	}
	#pagetitle h1{
		max-width:auto;
		font-size: 1.5em;
		letter-spacing: 3px;
		text-align: center;
	}

	/* topicpath
	------------------------------------------ */
	#topicpath{
		max-width: auto;
		width: 95%;
		margin-bottom: 10px;
	}

	/* subtitle
	------------------------------------------ */
	#subtitle{
		margin-bottom: 20px;
	}
	#subtitle h2{
		font-size: 2.2em;
		line-height: 1.3;
	}


	/* topcontrol
	------------------------------------------------------------------------ */
	#topcontrol{
		display: none;
	}


	/* footer
	------------------------------------------------------------------------ */
	footer {
		border-top: none;
	}
	footer nav ul{
		padding: 0;
		border-top: 1px solid #e4e4e4;
		border-bottom: 1px solid #ccc;
		text-align:left;
	}
	footer nav ul li{
		width: 50%;
		margin: 0;
		border: 1px solid #e4e4e4;
		border-style: none solid solid none;
		vertical-align: bottom;
	}
	footer nav ul li a{
		display: block;
		padding: 12px 0;
		text-align: center;
	}
	footer nav ul li a:hover{
		background-color: #f6f6f6;
		text-decoration: none;
	}

	footer .f-bottom{
		padding: 20px 0;
	}

	footer .f-bottom .logo{
		margin-bottom: 0;
	}

	footer .f-bottom .logo img{
		width: 50px;
	}

	footer .f-bottom .copyright{
		font-size: 0.9em;
	}



}