@charset "utf-8";

/* 共通設定 */
body {margin:0px; font-size:0.875em; line-height:1;}

h1,h2,h3,h4,h5,h6,p,li,dt,dd,th,td,address {
	line-height:1.5;
}
a img {
	border:0px none transparent;
}
a:hover img {
	opacity:0.7;
}
address {
	font-style:normal;
	display:inline;
	margin-right:0.25em;
}
table {
	width:auto;
	border-collapse:collapse;
}
caption {
	text-align:left;
	padding:0.5em;
	font-size:16px;
	color:#333333;
	font-weight:normal;
}
td,th {
	border-top:1px solid #aaaaaa;
	border-bottom:1px solid #aaaaaa;
	border-left:1px dotted #aaaaaa;
	border-right:none;
	padding:0.25em 0.5em;
	vertical-align:top;
}
thead th:first-child,
tbody th {
	border-left:none;
}
table th,
.nowrap {
	white-space:nowrap;
}
.wrap {
	white-space:normal;
}
hr {
	margin:1.618em 0px;
}
p, ol, ul {
	margin-top:0.5em;
	margin-bottom:0.5em;
}
ol, ul {
	padding-left:2em;
}
header,footer,nav,section,article {display:block;}

/* COMMON: Basic Classes */

.none {display:none;}
a.button,
input.button,
button.button,
span.button {
	display:inline-block;
	margin:2px;
	padding:0.5em 0.75em;
	background-color:#e9e9e9;
	background:linear-gradient(white, #e9e9e9);
	border:1px solid #d4d4d4;
	height:auto;
	font-size:0.875em;
	text-decoration:none;
	border-radius:0.5em;
}
span.button {
	display:inline-block;
	margin:2px;
	padding:0.25em 0.5em;
	background-color:#eeeeee;
	border:1px solid #999999;
	color:#999999;
	height:auto;
	font-size:0.875em;
	border-radius:0.5em;
}
a.button:hover,
input.button:hover,
button.button:hover {
	background-image:url(../images/bg_meshedgrad.png);
	background-repeat:repeat-x;
}
.button strong {
	color:black;
}
.button img {vertical-align:0px;}
.large {font-size:1.25em; padding:0.5em 1.5em;}
a.button.large {
	font-size:1.25em;
	display:inline-block;
	padding:0.75em;
}
a.button.medium {
	font-size:medium;
}
/*
a.button .marker {
	display:inline-block;
	font-size:0.75em;
}
a.button .disc {
	font-size:0.5em;
	padding:0.25em;
	vertical-align:middle;
	border:1px solid #757bb5;
	border-radius:1em;
	overflow:hidden;
	background-color:#757bb5;
	color:white;
}
a.button:hover .marker {
	opacity:0;
}
*/
body .red {color:#da3b2b;}
body .green {color:#339933;}
body .gray {color:#999999;}
body a.white {color:#f2f2f2;}
body a.white:hover {color:#ffffff;}
body .big {font-size:150%;}
body .small {font-size:75%;}

.clr:after {
	content:" ";
	display:block;
	clear:both;
	height:0px;
	overflow:hidden;
}
.box {
	margin-top:1em;
	margin-bottom:1em;
	border:1px solid #197b3b;
	padding:0.25em 1em;
}
.margin {
	display:block;
	margin:0px;
	padding:3em 0px 0px;
	width:100%;
	height:0px;
	border:0px none;
	overflow:hidden;
}
img.fit {
	max-width:auto;
	width:100%;
	height:auto;
}

/* http://www.koikikukan.com/archives/2007/02/14-003005.php */
ul.horizontal_link, ol.horizontal_link {
	margin:0px;
	padding:0px;
	position:relative;
	zoom:1;
}
ul.horizontal_link:after, ol.horizontal_link:after {
	content:"";
	clear: both;
	height: 0px;
	display: block;
	visibility: hidden;
}
ul.horizontal_link li, ol.horizontal_link li {
	margin:0px 10px 0px 0px;
	float:left;
	list-style-type:none;
	list-style-image:none;
}
ul.horizontal_link li.even, ol.horizontal_link li.even {
	margin-right:0px;
}
ul.horizontal_link li.right, ol.horizontal_link li.right {
	margin:0px 0px 0px 10px;
	float:right;
}

/* horizontal link menu #2 */
ul.inline_link, ol.inline_link {
	margin:0px;
	padding:0px;
	overflow:auto;
}
ul.inline_link li, ol.inline_link li {
	margin:0px 0.5em 0px 0px;
	display:inline;
	display:inline-block;
	list-style-type:none;
	list-style-image:none;
}
ul.inline_link.left,ol.inline_link.left {
	float:none;
	text-align:left;
}
ul.inline_link.right,ol.inline_link.right {
	float:none;
	text-align:right;
}

/* vertical link menu */
ul.vertical_link, ol.vertical_link {
	margin:0px;
	padding:0px;
}
ul.vertical_link li, ol.vertical_link li {
	margin:0px 1em 0px 0px;
	list-style-type:none;
	list-style-image:none;
}

ul.notes li {list-style-type:none;text-indent:-1em;font-size:0.875em;}
ul.notes li:before {content:"\203B";}
ul.arrow li {list-style-type:none;text-indent:-1em;}
ul.arrow li:before {content:"\25b8";}

ol.kakko li.kakko {
  list-style-type:none;
  list-style-position:outside;
  counter-increment: kakko_cnt;
  position:relative;
}
ol.kakko li.kakko:before {
  display: marker;
  width:2.25em;
  position:absolute;
  left:-2.5em;
  content: "(" counter(kakko_cnt) ")";
  text-align:right;
}
ol.katakakko li.katakakko {
  list-style-type:none;
  list-style-position:outside;
  counter-increment: katakakko_cnt;
  position:relative;
}
ol.katakakko li.katakakko:before {
  display: marker;
  width:2.25em;
  position:absolute;
  left:-2.5em;
  content: counter(katakakko_cnt) ")";
  text-align:right;
}

.colored_table {
	width:100%;
	border-collapse:separate;
	margin:40px 0 0.5em 0;
	table-layout:auto;
	empty-cells:show;
	border-spacing:3px;
	border:0px none transparent;
}
.colored_table caption {
	margin:0px;
	padding:0.25em 0.5em;
	background-color:#1a2a89;
	color:white;
	border-right:3px solid white;
	border-left:3px solid white;
}
.colored_table th,.colored_table td {
	padding:0.25em 0.5em;
	border:0px none transparent;
}
.colored_table th {
	background-color:#757bb5;
	color:white;
}
.colored_table td {
	background-color:#eeeeee;
}

.bordered_table {
	width:100%;
	border-collapse:collapse;
	margin:40px 0 0.5em 0;
	table-layout:auto;
	empty-cells:show;
	border-spacing:0px;
	border:1px solid black;
}
.bordered_table caption {
	margin:0px;
	padding:0.25em 0.5em;
	border-top:1px solid black;
	border-left:1px solid black;
	border-right:1px solid black;
	background-color:#eeeeee;
}
.bordered_table th,.bordered_table td {
	padding:0.25em 0.5em;
	border:1px solid black;
}
.bordered_table th {
	background-color:#eeeeee;
}
.bordered_table td {
	background-color:white;
}
.bordered_table thead th {
	background-color:darkgray;
	color:white;
}

.dashed_table {
	width:100%;
	border-collapse:collapse;
	margin:40px 0 0.5em 0;
	table-layout:auto;
	empty-cells:show;
	border-spacing:0px;
	border:0px none transparent;
}
.dashed_table caption {
	margin:0px;
	padding:0.25em 0.5em;
	border-bottom:1px dashed #757bb5;
}
.dashed_table th,.dashed_table td {
	padding:0.25em 0.5em;
	border:0px none transparent;
	border-bottom:1px dashed #757bb5;
}
.dashed_table th {
	font-weight:normal;
}
.dashed_table td {}

.noborder_table {
	margin:40px 0 0.5em 0;
	border:0px none transparent;
}
.noborder_table th {
	border:0px none transparent;
	background-color:transparent;
	text-align:right;
	font-weight:normal;
	white-space:nowrap;
}
.noborder_table td {
	border:0px none transparent;
}

table.fit {width:100%;}
.odd th, .odd td {
	background-color:#f2f2f2;
}
.even th, .even td {
	background-color:white;
}
th.white, td.white {
	background-color:white;
}
th.red, td.red {
	color:white;
	background-color:#993333;
}
th.green, td.green {
	background-color:#339933;
}

/* LEFT */
div.left,ol.left,ul.left,dl.left,table.left,blockquote.left,iframe.left,small.left,big.left,article.left,section.left {float:left;}
a.left,span.left,strong.left,em.left,img.left,object.left,input.left,button.left,textarea.left,figure.left {display:inline-block; float:left;}
h1.left,h2.left,h3.left,h4.left,h5.left,h6.left,p.left,li.left,dt.left,dd.left,figcaption.left,caption.left,td.left,th.left {text-align:left;}
/* right */
div.right,ol.right,ul.right,dl.right,table.right,blockquote.right,iframe.right,small.right,big.right,article.right,section.right {float:right;}
a.right,span.right,strong.right,em.right,img.right,object.right,input.right,button.right,textarea.right,figure.right {display:inline-block; float:right;}
h1.right,h2.right,h3.right,h4.right,h5.right,h6.right,p.right,li.right,dt.right,dd.right,figcaption.right,caption.right,td.right,th.right {text-align:right;}
/* center */
h1.center,h2.center,h3.center,h4.center,h5.center,h6.center,p.center,li.center,dt.center,dd.center,figcaption.center,caption.center,td.center,th.center,label.center {text-align:center;}
