@charset "utf-8";
/* CSS Document */

body {
	margin: 0px;
	padding: 0px;
	font-size: 0.78em;
	line-height: 1.7;
	font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #333;
	background-image: url(../images/bg.jpg);
	background-repeat: repeat-y;
	background-position: center top;
}
a img {
	border: none;
	vertical-align:bottom;
}
a:focus{
	outline:none;
}
a:link {
	color: #03F;
	text-decoration: none;
}
a:visited {
	color: #03C;
	text-decoration: none;
}
a:hover {
	color: #006633;
	text-decoration: underline;
}
li a {
/*	display: block;*/
	padding: 0px;
/*	line-height: normal;*/
}
li img {
	vertical-align:bottom;
}
h1, h2, h3, h4, h5, ul, li, ol, dl, dt, dd, p {
	margin: 0px;
	padding: 0px;
	list-style-type: none;
}
address {
	font-style: normal;
}


/* layout
----------------------------------------------------- */
#wrapper {
	padding: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	background-image: url(../images/bg_wrap.png);
	background-repeat: no-repeat;
	background-position: center top;
}
#container {
	margin-right: auto;
	margin-left: auto;
	width: 980px;
	padding-bottom: 25px;
}
#head {
	width: 980px;
	height: 110px;
	clear: both;
	position: relative;
	background-image: url(../images/head_bg.png);
	background-repeat: no-repeat;
	background-position: right 10px;
}
#head h1 {
	font-size: 11px;
	color: #999;
	font-weight: normal;
}
#head img#logo {
	padding-top: 38px;
	padding-left: 5px;
}
#head #head-sideR {
	width: 360px;
	position: absolute;
	left: 620px;
	top: 69px;
	text-align: right;
}
#head #head-sideR #search {
	margin: 0px;
	width: 240px;
	float: right;
	padding: 0px;
}
#search .water { color: #666; }
#head #search input#stxt {
	height: 25px;
	line-height: 25px;
	padding-right: 5px;
	padding-left: 5px;
	width: 138px;
	margin: 0px;
}
#head #search input#sbtn {
	height: 25px;
	line-height: 25px;
	padding-right: 5px;
	padding-left: 5px;
	margin: 0px;
}
/*
#contents {
	min-height:500px; 
	height:auto !important; 
	height:500px;
}
#contents.narrow {
	width: 700px;
	margin-right: auto;
	margin-left: auto;
}
#side-L {
	float: left;
	width: 240px;
	padding-bottom: 10px;
}
#side-L .sidebnr {
	padding-bottom: 20px;
	font-size: 11px;
	text-align: center;
	line-height: 1.5;
}
#side-L .sidebnr.info {
	background-color: #FFF;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom-width: 5px;
	border-bottom-style: solid;
	border-bottom-color: #53422B;
}
#side-L .sidebnr h3.h3side {
	color: #FFF;
	background-color: #53422B;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-bottom: 10px;
}
#side-L .sidebnr p {
	padding-top: 3px;
	padding-bottom: 3px;
}
#side-R {
	width: 670px;
	float: right;
	padding-bottom: 10px;
}*/
#mainImg {
	clear: both;
	padding-bottom: 10px;
	padding-top: 15px;
}
#foot {
	background-color: #EEEEEE;
	line-height: 1em;
	padding: 15px;
	font-size: 0.9em;
	clear: both;
}
#foot a {
	color: #333;
	padding-right: 4px;
	padding-left: 4px;
}
#foot nav {
	float: right;
	width: 600px;
	text-align: right;
}

/* main navi
----------------------------------------------------- */
ul#navi-main {
	width: 980px;
	height: 55px;
	clear: both;
	z-index: 10000;
	width: 100%;
	display: table;
	table-layout: fixed;
}
ul#navi-main li {
 display: table-cell;
	line-height: 0;
	text-align: center;
}
ul#navi-main li a {
	display: block;
	line-height: normal;
	color: #003E7B;
	padding-top: 10px;
	padding-bottom: 10px;
	text-decoration: none;
}
ul#navi-main li:last-child a {
	background-image: none;
}
ul#navi-main li a:link {
	background-color: #D6E4F3;
}
ul#navi-main li a:visited {
	background-color: #D6E4F3;
}
ul#navi-main li a:hover {
	background-color: #C6D9EE;
}
ul#navi-main li img {
	vertical-align:bottom;
}


/* main navi Dropdown
----------------------------------------------------- */
ul#navi-main {
 position:relative;
}
ul#navi-main li {
 position:relative;
	font-size: 12px;
}

ul#navi-main ul li a:link {
	background-color: #E4EEF8;
	color: #337AC1;
}
ul#navi-main ul li a:visited {
	background-color: #E4EEF8;
	color: #337AC1;
}
ul#navi-main ul li a:hover {
	background-color: #F1F7FC;
	color: #337AC1;
}
ul#navi-main ul {
	position: absolute;
	display: none;
	width: 130px;
	top: auto;
}

ul#navi-main li ul a {
	width: 130px;
	height: auto;
	text-decoration: none;
	padding-right: 5px;
	padding-left: 5px;
}
ul#navi-main ul li {
	text-align: left;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #CCC;
	float: left;
	background-image: none;
}
ul#navi-main ul li a {
	background-image: none;
}
ul#navi-main li ul ul li {
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #CCC;
	border-left-width: 1px;
	border-left-style: solid;
	border-left-color: #CCC;
}
ul#navi-main ul ul{
	top: -1px;
}
ul#navi-main li ul ul {
left:140px;
margin:0px 0 0 0px;
}

ul#navi-main li ul ul li a {
	padding-top: 6px;
	padding-bottom: 6px;
}

ul#navi-main li:hover ul ul, ul#navi-main li:hover ul ul ul, ul#navi-main li:hover ul ul ul ul{
display:none;
}
ul#navi-main li:hover ul, ul#navi-main li li:hover ul, ul#navi-main li li li:hover ul, ul#navi-main li li li li:hover ul{
display:block;
}


/*archive navi*/
ul#navi-main ul#acv-navi {
	position: absolute;
	display: none;
	width: 96px;
	top: 30px;
}
ul#navi-main li ul#acv-navi li a {
	width: 50px;
	height: auto;
	float: left;
	display: block;
	text-decoration: none;
	color: #333;
	padding-top: 5px;
	padding-right: 5px;
	padding-bottom: 5px;
	padding-left: 20px;
}
ul#navi-main li ul#acv-navi ul {
	left:65px;
	margin:0px 0 0 10px;
}
ul#navi-main li ul#acv-navi ul li a {
	width: 130px;
	height: auto;
	float: left;
	display: block;
	text-decoration: none;
	color: #333;
	padding-top: 5px;
	padding-right: 5px;
	padding-bottom: 5px;
	padding-left: 10px;
}

/* contents
----------------------------------------------------- */

.img-L {
	float: left;
	padding-right: 15px;
	padding-bottom: 10px;
}
.img-R {
	float: right;
	padding-bottom: 10px;
	padding-left: 15px;
}
.img-N {/*normal*/
	padding-right: 15px;
	padding-bottom: 10px;
}
.img-L img, .img-R img, .img-N img {
	margin-bottom: 3px;
}
.img-border {
	padding: 3px;
	border: 1px solid #CCC;
}
.caption {
	font-size: 0.85em;
	color: #666;
	line-height: 1.1em;
	padding-bottom: 3px;
}
.pagetop {
	clear: both;
	text-align: center;
	font-size: 0.75em;
	width: 75px;
	float: right;
	font-family: Arial, Helvetica, sans-serif;
	margin-top: 10px;
}
.pagetop a {
	background-color: #CCC;
	background-image: url(../images/icon_top.png);
	background-repeat: no-repeat;
	background-position: 10px center;
	display: block;
	padding-left: 10px;
}
.pagetop a:link {
	color: #FFF;
	text-decoration: none;
}
.pagetop a:visited {
	color: #FFF;
	text-decoration: none;
}
.pagetop a:hover {
	color: #666;
	text-decoration: none;
}
p.indent {
	padding-left:1em;
	text-indent:-1em;
	line-height: 1.5em;
	padding-top: 0px;
	padding-bottom: 6px;
}
p.arrow {
	background-image: url(../images/arrow.png);
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 20px;
}
.icon {
	vertical-align: middle;
	padding-left: 5px;
}
.marker {
	background-image: url(../images/marker.gif);
	background-repeat: repeat-x;
	background-position: left top;
}
.radius {
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
	behavior: url(border-radius.htc);
}
.clearboth {
	clear: both;
}
dl.normal dt {
	font-weight: bold;
	font-size: 1.2em;
	margin: 0px;
	padding: 0px;
}
dl.normal dd {
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #CCC;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 10px;
	margin-left: 0px;
	padding-top: 5px;
	padding-right: 0px;
	padding-bottom: 10px;
	padding-left: 10px;
}



/*topicpass
-------------------------- */
#topicpass {
	font-size: 12px;
	padding-bottom: 10px;
	clear: both;
	color: #7B704A;
}
#topicpass p {
	float:left;
	padding-left: 10px;
}
#topicpass p a {
	background-image: url(../images/topicpass.gif);
	background-repeat: no-repeat;
	background-position: right center;
	padding-right: 15px;
}


/* table
-------------------------- */
table.tablebox {
	border-left-style: solid;
	border-left-width: 1px;
	border-left-color: #CCC;
	line-height: 1.5em;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CCC;
}
.tablebox td {
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #CCC;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 8px;
	padding-left: 10px;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #CCC;
}
.tablebox .TD1 {
	background-color: #F3F8FE;
	white-space: nowrap;
	border-right-style: none;
	border-bottom-width: 3px;
	border-bottom-style: solid;
	border-bottom-color: #DAE9FC;
	color: #666;
}
.tablebox .TD2 {
	background-color: #F5FCEB;
}


/* form
----------------------------------------------------- */
form {
	margin: 0px;
	padding: 0px;
}
input {
	ime-mode: inactive;
	padding: 0px;
	margin-top: 1px;
	margin-right: 0px;
	margin-bottom: 1px;
	margin-left: 0px;
}
input.nihongo {
	ime-mode: active;
	color: #333333;
}
textarea {
	ime-mode: active;
	color: #333333;
}
select {
	margin-top: 1px;
	margin-bottom: 1px;
}
.btnbox {
	text-align: center;
	padding: 15px;
}
.errcom {
	margin: 10px;
	padding: 10px;
	border: 1px dotted #CCC;
	color: #C00;
}
.msg {
	color: #C00;
}

/* text
----------------------------------------------------- */
.txt-LL {
	font-size: 1.5em;
}
.txt-L {
	font-size: 1.2em;
}
.txt-M {
	font-size: 0.8em;
}
.txt-S {
	font-size: 0.6em;
}
.txtRed {
	color: #C00;
}
.txtRed-LL {
	color: #C00;
	font-size: 1.4em;
}
.txtRed-L {
	color: #C00;
	font-size: 1.2em;
}
.txtPink {
	color: #C66;
}
.txtBlue {
	color: #03C;
}
.txtBlue-LL {
	color: #03C;
	font-size: 1.4em;
}
.txtBlue-L {
	color: #03C;
	font-size: 1.2em;
}
.txtGreen {
	color: #009900;
}
.txtGreen-LL {
	color: #009900;
	font-size: 1.4em;
}
.txtGreen-L {
	color: #009900;
	font-size: 1.2em;
}
.txtGray {
	color: #999;
}
.txtWhite {
	color: #FFF;
}
.txt-bg {
	background-color: #F9ECEC;
	font-size: 1.1em;
	padding: 5px;
}
.txt-normal {
	font-weight: normal;
}
.txt-italic {
	font-style: italic;
}
.box-pt5 {
	padding-top: 5px;
}
.box-pt10 {
	padding-top: 10px;
}
.box-pb5 {
	padding-bottom: 5px;
}
.box-pb10 {
	padding-bottom: 10px;
}
.box-pb15 {
	padding-bottom: 15px;
}
.box-pb20 {
	padding-bottom: 20px;
}
.box-ptb5 {
	padding-bottom: 5px;
	padding-top: 5px;
}
.box-ptb10 {
	padding-bottom: 10px;
	padding-top: 10px;
}
.box-mb5 {
	margin-bottom: 5px;
}
.box-mb10 {
	margin-bottom: 10px;
}
.box-mb15 {
	margin-bottom: 15px;
}
.box-mt5 {
	margin-top: 5px;
}
.box-mt10 {
	margin-top: 10px;
}

/* clearfix
----------------------------------------------------- */
.clearfix:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}
