@charset "utf-8";

/* 全デバイス共通のスタイルとスマートフォン及び小型タブレット向けのレイアウトの指定
------------------------------------------------------------------------------------------------------------------------------------------*/

/* メディアクエリによる切り替え 
------------------------------------------------------------------------------------------------------------------------------------------*/

/* PC */
@media only screen and (min-width:961px) {
#header, #wrapper, .inner {
	width:1000px;
	margin:0 auto;
}
nav div.panel {
	display:block !important;
	float:left;
}
a#menu {
	display:none;
}
#mainNav {
	clear:both;
	z-index:200;
	position:relative;
}
#mainNav li {
	float:left;
	position:relative;
}
#mainNav li a {
	color:#555;
	display: block;
	text-align: center;
	_float:left;
	font-size:13px;
	width:200px;
	height:30px;
	padding:15px 0;
	border-top:2px solid #ebebeb;
	border-bottom:2px solid #ebebeb;
}
#mainNav li a span, #mainNav li a strong {
	display:block;
}
#mainNav li a span {
	color:#bababa;
	font-size:10px;
}
#mainNav ul ul {
	width:200px;
	background:#fff;
}
#mainNav li ul {
	display:none;
}
#mainNav li:hover ul {
	display:block;
	position:absolute;
	top:64px;
	z-index:500;
}
#mainNav li li {
	margin:0;
	float:none;
	width:200px;
	border:0;
}
#mainNav li li:last-child {
	border:0;
}
#mainNav li li a {
	width:auto;
	height:auto;
	padding:10px;
	font-size:95%;
	text-align:left;
	border:0;
}
#mainNav li li span {
	padding:0 10px;
}
#mainNav li.current-menu-item a {
	border-color:#555;
}
#mainNav li.current-menu-item a, #mainNav li a:hover, #mainNav li.current-menu-item li a:hover {
	color:#999;
}
#wrapper {
	clear:both;
	padding:20px 0;
}
.content h2.titleh2 {
	text-align:left;
}
}

/* Tablet */
 @media only screen and (max-width:959px) {
* {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}

#mainNav {
	clear:both;
	width:100%;
	margin:0 auto;
	padding:0;
	border:1px solid #e4e4e4;
	border-left:0;
	border-right:0;
}
#mainNav a.menu {
	color:#555;
	width:100%;
	display:block;
	height:40px;
	line-height:40px;
	font-weight: bold;
	text-align:left;
}
#mainNav a#menu span {
	padding-left:10px;
}
#mainNav a.menu span:before {
	content:"≡ ";
}
#mainNav a.menuOpen span:before {
	content:"× ";
}
#mainNav a#menu:hover {
	cursor:pointer;
}
nav .panel {
	display:none;
	width:100%;
	position:relative;
	right:0;
	top:0;
	z-index:1;
}
#mainNav ul {
	margin:0;
	padding:0;
}
#mainNav li {
	float:none;
	clear:both;
	width:100%;
	height:auto;
	line-height:1.2;
}
#mainNav li a, #mainNav li.current-menu-item li a {
	color:#555;
	display: block;
	padding:15px 10px;
	text-align:left;
	border-bottom:1px dashed #ccc;
}
#mainNav li a span {
	padding-left:10px;
}
#mainNav ul > li:last-child a {
	border:0;
}
#mainNav li li:last-child a {
	border-bottom:1px dashed #ccc;
}
#mainNav li.current-menu-item a, #mainNav li a:hover, #mainNav li.current-menu-item a, #mainNav li a:active, #mainNav li li.current-menu-item a, #mainNav li.current-menu-item li a:hover, #mainNav li.current-menu-item li a:active {
	color:#555;
}
#mainNav li li {
	float:left;
	border:0;
}
#mainNav li li a, #mainNav li.current-menu-item li a, #mainNav li li.current-menu-item a {
	padding-left:40px;
	background:url(images/sub1.png) no-repeat 20px 18px;
}
#mainNav li li.current-menu-item a, #mainNav li li a:hover, #mainNav li.current-menu-item li a:hover {
	background:url(images/sub1.png) no-repeat 20px -62px;
}
#mainNav li li:last-child a {
	background:url(images/subLast.png) no-repeat 20px 20px;
}
#mainNav li li:last-child.current-menu-item a, #mainNav li li:last-child a:hover, #mainNav li.current-menu-item li:last-child a:hover {
	background:url(images/subLast.png) no-repeat 20px -65px;
}
nav div.panel {
	float:none;
}
.content h2.titleh2 {
	text-align:left;
}
}
 @media only screen and (max-width:640px) {
#header {
	height:auto;
	padding-bottom:20px;
}
#header h1, .info {
	text-align:center;
	clear:both;
	width:100%;
	float:none;
}
.alignleft, .alignright {
	float:none;
	display:block;
	margin:0 auto 10px;
}
/* table .tbl-r02 */
.last td:last-child {
	border-bottom: solid 1px #ccc;
	width: 100%;
}
.tbl-r02 {
	width: 100%;
}
.tbl-r02 th,  .tbl-r02 td {
	　　border-bottom: none;
	display: block;
	width: 100%;
}
/* table .tbl-r05 */
.tbl-r05 {
	width: 100%;
}
.tbl-r05 .thead {
	display: none;
}
.tbl-r05 tr {
	width: 100%;
}
.tbl-r05 td {
	display: block;
	text-align: right;
	width: 100%;
}
.tbl-r05 td:first-child {
	background: #009999;
	color: #fff;
	font-weight: bold;
	text-align: center;
}
.tbl-r05 td:before {
	content: attr(data-label);
	float: left;
	font-weight: bold;
	margin-right: 10px;
}
.content h2.titleh2 {
	text-align:center;
}
}
	
/* Smart phone */	
@media only screen and (min-width:480px) {
.grid {
	width:100%;
	margin:10px 0;
}
#mainBanner h2, #mainBanner p {
	font-size:80%;
}
}