@charset "utf-8";

/* -----------------------------------------------------------------------------
 Header
----------------------------------------------------------------------------- */
header {
	width:100%;
	background-color:#FFF;
}



/* *****************************************************************************
   PC用のスタイル記述
***************************************************************************** */
@media screen and (min-width: 770px), print {
	
header {
	position:fixed;
	top:0;
	height:95px;
	z-index:9999;
}

header .container {
	position:relative;
	width:995px;
	height:95px;
	margin:0 auto;
}

header .logo {
	position:absolute;
	top:17px;
	left:8px;
}

header .bt-en,
header .bt-menu {
	display:none;
}

header nav ul.main {
	display:block;
}

header #search-area {
	position:absolute;
	top:12px;
	right:0;
}

header #search-area input {
	float:left;
}

header #search-area .keyword {
	font-size:12px;
	width:151px;
	height:20px;
	margin-right:1px;
	padding:0 5px;
	background:url(../../img/bg_dot1.gif);
	border:none;
}

header #search-area .button {
	color:#FFF;
	font-size:12px;
	width:50px;
	height:20px;
	background-color:#28478f;
	border:none;
}
header #search-area .button:hover {
	filter:alpha(opacity=65);
	-moz-opacity: 0.65;
	opacity: 0.65;
	cursor:pointer;
}

header nav ul.main {
	position:absolute;
	top:53px;
	right:0;
	color:#27409b;
	line-height:1.1em;
	padding-left:1px;
	background:url(../../img/menu_main_line.gif) left bottom no-repeat;
}

header nav ul.main li {
	font-size:14px;
	padding-right:1px;
	background:url(../../img/menu_main_line.gif) right bottom no-repeat;
	/* for Modern Browser */
	display:table-cell;
	/* for IE */
	*display:inline;
	*zoom:1;
}

header nav ul.main li.contact {
	font-size:12px;
	background:none;
	padding-right:0;
}

header nav ul.main a {
	color:#27409b;
	padding:10px 20px 0;
	width:auto;
	height:32px;
	background-color:#FFF;
	border-right:7px solid #FFF;
	border-left:7px solid #FFF;
	letter-spacing:0.05em;
	display:block;
}
header nav ul.main a:hover,
header nav ul.main a.active {
	background:url(../../img/menu_main_bg.gif) left bottom repeat-x;
}

header nav ul.main li.contact a {
	color:#FFF;
	margin:0 0 0 5px;
	padding:11px 12px 0;
	height:26px;
	background-color:#28478f;
	border-right:none;
	border-left:none;
}
header nav ul.main li.contact a:hover {
	background:#28478f;
}

header nav ul.sub {
	position:absolute;
	top:15px;
	right:368px;
	line-height:1em;
}

header nav ul.sub li {
	padding:0 37px 0 0;
	/* for Modern Browser */
	display:table-cell;
	/* for IE */
	*display:inline;
	*zoom:1;
}

header nav ul.sub li a {
	color:#595959;
	font-size:11px;
	padding:0 0 0 10px;
	background:url(../../img/ico_blue.gif) left center no-repeat;
}

header nav ul.social {
	position:fixed;
	top:0px;
	right:0px;
	padding:10px 5px 15px;
	background-color:#303030;
	text-align:center;
}

header nav ul.social li {
	margin:5px 0 0 0;
}

header dl#font-size {
	position:absolute;
	top:10px;
	right:232px;
}

header dl#font-size dt {
	color:#27409b;
	font-size:11px;
	padding-right:10px;
	/* for Modern Browser */
	display:table-cell;
	/* for IE */
	*display:inline;
	*zoom:1;
}

header dl#font-size dd {
	padding-right:5px;
	/* for Modern Browser */
	display:table-cell;
	/* for IE */
	*display:inline;
	*zoom:1;
}

header dl#font-size dd a {
	color:#FFF;
	padding:5px 5px 4px;
	line-height:1em;
	display:block;
}

header dl#font-size dd.normal a {
	font-size:11px;
	width:2em;
}

header dl#font-size dd.large a {
	font-size:11px;
	width:2em;
}

header #breadcrumb {
	width:100%;
	background:url(../../img/bg_contents.gif);
}

header #breadcrumb ul {
	color:#4c4c4c;
	font-size:0.8em;
	width:985px;
	margin:0 auto;
	padding:3px 5px;
	text-align:left;
}

header #breadcrumb ul li {
	display: inline;
	list-style-type: none;
}

header #breadcrumb ul li:before {
	content: " > ";
}

header #breadcrumb ul li:first-child:before {
	content: none;
}

header #breadcrumb ul li a {
	color:#4c4c4c;
}

header #breadcrumb ul li a:hover {
	text-decoration:underline;
}

#sm-menu {
	display:none;
}

}


/* *****************************************************************************
   スマートフォン用のスタイル記述
***************************************************************************** */
@media screen and (max-width: 770px) {

header {
	height:50px;
	border-bottom:1px solid #b7b7b7;
}

header .container {
	position:relative;
	min-width:320px;
	z-index:999;
}

header .logo {
	position:absolute;
	top:10px;
	left:10px;
}

header .logo img {
	width:148px;
}

header .bt-en {
	position:absolute;
	top:15px;
	right:60px;
}

header .bt-en a {
	color:#595959;
	font-size:11px;
	padding:0 0 0 10px;
	background:url(../../img/ico_blue.gif) left center no-repeat;
}

header .bt-menu {
	position:absolute;
	top:10px;
	right:10px;
}

header .bt-menu img {
	width:33px;
}

header nav {
	position:absolute;
	top:51px;
	left:0px;
	width:100%;
	background-color:#28478f;
	border-bottom:1px solid #FFF;
	display:none;
}

header #search-area {
	position:relative;
	padding:10px;
	text-align:left;
}

header #search-area .keyword {
	width:100%;
	height:25px;
	font-size:16px;
	padding:0 0 0 30px;
	border:none;
	display:inline-block;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

header #search-area .button {
	position:absolute;
	top:10px;
	left:10px;
	width:25px;
	height:25px;
	background:url(../../img/bt_search.gif) no-repeat;
	margin:0;
	padding:0;
	border:none;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: block;
	z-index:999;
}

header nav ul.main {
	border-top:1px solid #FFF;
}

header nav ul.main li {
	background-color:#FFF;
	width:50%;
	float:left;
}

header nav ul.main li.home {
	display:none;
}


header nav ul.main li a {
	color:#FFF;
	font-size:1.2em;
	margin-right:1px;
	margin-bottom:1px;
	padding:12px 0;
	background-color:#28478f;
	display:block;
}

header nav ul.main li:nth-child(odd) a {
	margin-right:0px;
}

header nav ul.sub {
	padding:7px 0;
	border-bottom:1px solid #FFF;
}

header nav ul.sub li {
	width:50%;
	padding:5px 0;
	text-align:left;
	float:left;
}

header nav ul.sub li a {
	font-size:1.05em;
	color:#FFF;
	margin-left:23px;
	padding-left:10px;
	background:url(../../img/ico_white.png) left center no-repeat;
}

header nav ul.social {
	padding:10px;
	text-align:center;
}

header nav ul.social li {
	margin:0 10px;
	display:inline-table;
	/* for IE */
	*display:inline;
	*zoom:1;
}

header nav ul.social li img {
	width:30px;
}

header #font-size {
	display:none;
}

#sm-menu {
	width:100%;
	min-width:320px;
	border-top:1px solid #b7b7b7;
	border-bottom:1px solid #b7b7b7;
}

#sm-menu ul li {
	width:29%;
	background-color:#b7b7b7;
	float:left;
}
#sm-menu ul li.home {
	width:13%;
}

#sm-menu ul li a {
	color:#27409b;
	padding-top:10px;
	height:28px;
	margin-left:1px;
	background-color:#FFF;
	display:block;
}

#sm-menu ul li a:hover,
#sm-menu ul li a.active {
	color:#FFF;
	background-color:#27409b;
}

#sm-menu ul li.home a {
	color:#27409b;
	font-size:9px;
	padding-top:20px;
	height:18px;
	background:#FFF url(../../img/menu_home_bg.gif) center top no-repeat;
}

#sm-menu ul li.home a:hover,
#sm-menu ul li.home a.active {
	color:#FFF;
	background:#28478f url(../../img/menu_home_bg_over.gif) center top no-repeat;
}

}









