@charset "utf-8";

*{
  /* Reset default css of all browsers*/
  padding: 0px;
  margin: 0px;
}

/* General elements */

.hide{
  display: none;
}

em{
  font-style: normal;
  font-weight: bold;
}

strong{
  font-style: normal;
  font-weight: bold;
  text-decoration: underline;
}

.weaken{
  font-size: 90%;
  color: #777;
}

a,
a:link {
  color: #5050a0;
  text-decoration: none;
}

a:hover ,
a:focus ,
a:visited:hover {
  color: #ff2a56;
}

a:visited {
  color: #984a80;
}

a.access-route,
a.telephone,
a.mail{
  font-size: 110%;
  font-family: "Courier New", monospace;
  padding-left: 30px !important;
}

a.access-route{
  background: white url("../img/access.png") left center no-repeat;
}

a.telephone{
  background: white url("../img/telephone.png") left center no-repeat;
}

a.mail{
  background: white url("../img/mail.png") left center no-repeat;
}

img{
  border: 0px;
}

blockquote {
  width: 85%;
  margin: 20px 10px 20px 2em;
  padding: 1em;
  border-left: 10px solid #dde;
  border-bottom: none;
  background: #eef url("../img/top_right.png") no-repeat right top;
  color: #000;
}

ul,
ol{
  list-style-position: outside;
}

hr{
  width: 90%;
  text-align: center;
  margin: 30px auto;
}

cite{
  font-size: 80%;
  font-style: normal;
  background: transparent url("../img/arrow_hand.png") 20px 30% no-repeat;
  padding-left: 50px;
}

cite:before {
  content: "\"";
}

cite:after {
  content: "\" \304b \3089 \5f15 \7528 ";
}

table{
  width: 100%;
  margin: 25px 10px;
  border-collapse : collapse;
}

table caption{
  background-color: #5f7786;
  color: white;
  width: 7em;
  padding: 5px;
  margin: 20px auto 40px auto;
}

thead{
  border: 1px solid #777;
}

thead th{
  vertical-align : middle;
  text-align: center;
  border-left: 1px solid white;
  color: white;
  background: #91afc7 url("../img/th.bg.png") bottom left repeat-x;
  padding: 5px;
}

tbody th{
  text-align: left;
  color: white;
  background-color:	#5e7e8f;
  border: 1px solid white;
  padding: 5px 5px 5px 10px;
}

tbody th[colspan]{
  text-align: center;
}

tbody td.ok,
tbody td.ok:hover {
  color: white;
  background-color:	#006400;
}

tbody td.ng,
tbody td.ng:hover {
  color: white;
  background-color:	#9e0000;
}

thead th:first-child {
  border-left: 1px solid #777;
}

tbody td{
  font-size: 90%;
  border: 1px solid #777;
  vertical-align : middle;
  empty-cells : show;
  padding: 10px 0.5em;
}

tbody td:hover {
  background-color : #f3f3eb;
}

ruby {
  display: inline-table;
  text-align: center;
  white-space: nowrap;
  text-indent: 0px;
  text-align: center;
  margin: 0px; 
  vertical-align: -15%;
}

ruby > rb,
ruby > rbc {
  display: table-row-group;
  text-align: center;
}

ruby > rt,
ruby > rbc + rtc {
  display: table-header-group;
  font-size: 80%;
  line-height: 30%;
  letter-spacing: 0;
  text-align: center;
}

ruby > rbc + rtc + rtc {
  display: table-footer-group;
  font-size: 80%;
  line-height: 30%;
  letter-spacing: 0;
  text-align: center;
}

rbc > rb,
rtc > rt {
  display: table-cell;
  letter-spacing: 0px;
  text-align: center;
}

rtc > rt[rbspan] {
  display: table-caption;
  text-align: center;
}

rp {
  display: none;
}

/* Framework */

body{
  background: white none;
  font-size: 115%;
  overflow-x: hidden;
}

#content{
  margin: 0px auto;
}

#content #head,
#content #page,
#content #credit{
  width: 100%;
  min-width: 880px;
}

#content #credit{
  clear: both;
}

/* #head */

#head{
  height: 111px;
  overflow: hidden;
  background: #263568 url("../img/head_background.png") left top no-repeat;
}

#head h1{
  width: 350px;
  height: 80px;
  margin: 10px 0px 0px 150px;
  overflow: hidden;
  float: left;
  background: transparent url("../img/head_logo.png") left top no-repeat;
}

#head h1 a{
  width: 350px;
  height: 80px;
  display: block;
}

#head h1 a dfn,
#head p.description{
  display: none;
}

#head #search{ /* DO NOT specify width */
  float: left;
  text-align: right;
  height: 70px;
  padding-top: 25px;
}

#head #search h2,
#head #search dl dt{
  display: none;
}

#head #search p{
  font-size: 100%;
  margin: 15px 0px 5px 20px;
}

#head #search p input#keyword{
  color: #777;
  padding: 6px 4px 4px 30px;
  width: 200px;
  background: white url("../img/search.png") 4px 4px no-repeat;
}

#head #search p input#keyword:hover {
  color: #333;
}

#head #search p input#search-button{
  padding: 6px 4px 4px 4px;
  margin-left: 10px;
  letter-spacing: 2px;
}

/* #page */

#page{
  padding: 40px 0px;
}

#page #main{
  float: left;
  width: 99%;
  overflow: hidden;
  margin-right: -300px;
}

#page #main #article{
  margin-right: 320px;
  margin-left: 35px;
}

#page #meta{
  float: right;
  background-color: white;
  width: 250px;
  padding-left: 15px;
  padding-right: 35px;
  font-size: 90%;
}

/* #page > #meta */

#page #meta h2{
  display: none;
}

#page #meta #path,
#page #meta #sitemap,
#page #meta .our-address,
#page #meta #feed{
  margin-bottom: 20px;
}

#page #meta #path{
  width: 100%;
  border: 1px solid black;
}

#page #meta #path p.top{
  width: 100%;
  background-color: #873d48;
  padding: 7px 0px;
  font-size: 95%;
  text-align: center;
}

#page #meta #path p.top,
#page #meta #path p.top a,
#page #meta #path p.top a:link {
  color: white;
}

#page #meta #path p.bottom{
  width: 100%;
  height: 200px;
  padding: 0px;
  text-align: center;
  border-top: 1px solid black;
}

#page #meta #path p#page-research{
  background-color: #9300ad;
}

#page #meta #path p#page-member{
  background-color: #3d00ad;
}

#page #meta #path p#page-letter{
  background-color: #336633;
}

#page #meta #sitemap{
  margin-bottom: 20px;
  padding: 1px;
  border: 1px solid #e1e1e1;
}

#page #meta #sitemap h3{
  font-size: 110%;
  text-align: left;
  padding: 8px 5px 8px 55px;
  margin: 0px;
  border: 1px solid #a4a4a4;
  border-top-width: 0px;
}

#page #meta #sitemap h3#item1{
  background: #f9edef url("../img/item1.png") no-repeat;
  border-top-width: 1px;
  border-bottom: 5px solid #ad001a;
}

#page #meta #sitemap h3#item2{
  background: #f7edf9 url("../img/item2.png") no-repeat;
  border-bottom: 5px solid #9300ad;
}

#page #meta #sitemap h3#item3{
  background: #f1edf9 url("../img/item3.png") no-repeat;
  border-bottom: 5px solid #3d00ad;
}

#page #meta #sitemap h3#item4{
  background: #f1f4f1 url("../img/item4.png") no-repeat;
  border-bottom: 5px solid #336633;
}

#page #meta #sitemap ol{
  border: 1px solid #a4a4a4;
  border-top-width: 0px;
}

#page #meta #sitemap ol li{
  border-top: 1px dashed #a4a4a4;
  list-style: none none inside;
  background: white url("../img/list.png") 40px center no-repeat;
  padding: 7px 15px 7px 70px;
}

#page #meta div.greeting ol li.item1-1,
#page #meta div.join ol li.item1-2,
#page #meta div.address ol li.item1-3,
#page #meta div.access ol li.item1-4,
#page #meta div.convention ol li.item2-1,
#page #meta div.meeting ol li.item2-2,
#page #meta div.report ol li.item2-3,
#page #meta div.journal ol li.item2-4,
#page #meta div.members ol li.item3-1,
#page #meta div.board ol li.item3-2,
#page #meta div.researcher ol li.item3-3,
#page #meta div.letter ol li.item4-1{
  background: #f4f4f4 url("../img/list_marked.png") 40px center no-repeat !important;
}

#page #meta #sitemap ol li.item1-1,
#page #meta #sitemap ol li.item2-1,
#page #meta #sitemap ol li.item3-1,
#page #meta #sitemap ol li.item4-1{
  border-top: none;
}

#page #meta .our-address{
  border: 1px solid #e1e1e1;
  padding: 1px;
  line-height: 140%;
}

#page #meta .our-address h2{
  display: block;
  font-size: 130%;
  padding: 10px 0px;
  text-align: center;
  background-color: #336699;
  color: white;
}

#page #meta .our-address p,
#page #meta .our-address dl{
  border: 1px solid #a4a4a4;
}

#page #meta .our-address p{
  border-width: 1px 1px 0px 1px;
  padding: 15px 15px 0px 15px;
  font-weight: bold;
}

#page #meta .our-address dl{
  border-width: 0px 1px 1px 1px;
  padding: 15px;
}

#page #meta .our-address dl dt{
  background-color: #0099cc;
  color: white;
  font-weight: bold;
  padding: 5px 7px;
  width: 5em;
}

#page #meta .our-address dl dd{
  margin: 10px;
  font-size: 90%;
}

/* #page > #main */

#page #main{
  line-height: 160%;
}

#page #main h2{
  position: relative;
  height: 39px;
  font-size: 20px;
  background: white url("../img/h2.png") left top no-repeat;
  padding: 4px 0px 0px 20px;
  margin: 20px 0px;
  overflow: hidden;
}

#page #main h2 span{
  position: absolute;
  top: 0px;
  right: 0px;
  display: block;
  width: 20px;
  height: 43px;
  background: transparent url("../img/h2_side.png") right top no-repeat;
}

#page #main h3{
  background: white url("../img/h3.png") left bottom no-repeat;
  letter-spacing: 7px;
  padding: 0px 0px 10px 10px;
  margin: 20px 0px 20px 0px;
}

#page #main h4{
  background-color: #efefef;
  padding: 7px 0px 7px 14px;
  margin: 20px 0px 20px 7px;
}

#page #main p,
#page #main ol,
#page #main ul,
#page #main dl,
#page #main img,
#page #main table,
#page #main blockquote{
  margin-left: 15px;
}

#page #main ul,
#page #main ol,
#page #main dl,
#page #main pre{
  padding: 15px 0px 15px 30px;
}

#page #main a{
  padding: 0px 4px;
}

#page #main p{
  font-size: 97%;
  text-indent: 1em;
  padding: 7px 0px;
}

#page #main ul li,
#page #main ol li{
  margin-bottom: 6px;
}

#page #main dl dt{
  padding-left: 8px;
  border-bottom: 1px solid #444;
}

#page #main .editors img{
  padding: 4px;
  border: 1px solid #aaa;
}

#page #main dl dd{
  font-size: 90%;
  padding: 5px 0px 5px 28px;
  margin-bottom: 7px;
}

#page #main div.map,
#page #main div.map_sv{
  border: 1px solid #555;
  width: 500px;
  height: 400px;
  margin: 40px 0px 40px 25px;
}

#page #main div.map_sv{
  height: 0px;
}

#page #main div#map1{
  margin-bottom: 0px;
}

#page #main div.map + div.map_sv{
  margin-top: 0px;
}

#page #main form#inquiry input{
  padding: 4px;
}

#page #main form.transport{
  margin: 0px 0px 0px 40px;
}

#page #main form.transport input,
#page #main form.transport select{
  padding: 4px;
}

#page #main form.transport option{
  padding: 0px 4px;
}

#page #main p.forthback{
  font-size: 90%;
  text-align: right;
}

#page #main p.forthback a.btn_next{
  margin-left: 1em;
}

#page #main dl.post-data{
  background-color: #fafafa;
  border: 1px solid #ddd;
  padding: 7px;
  margin: 10px 0px 10px 25px;
  font-size: 85%;
}

#page #main dl.post-data dt{
  padding: 0px 1em;
  margin: 0px 1em 0px 0px;
  float: left;
  border: 1px solid #333;
  white-space: nowrap;
  border: none;
  width: 2em;
}

#page #main .writeback input,
#page #main .writeback textarea{
  padding: 4px;
}

#page #main .writeback textarea{
  width: 80%;
  height: 200px;
}

#page #main #example textarea{
  padding: 4px;
  width: 80%;
  margin: 10px 3%;
  display: none;
}

#page #main dl.post-data dd{
  padding: 0px 1em;
  margin: 0px 1em 0px 3em;
  font-size: 100%;
}

#page #main div.comment-status{
  border: 1px solid #ccc;
  text-align: center;
  width: 90%;
  padding: 10px 0px;
  margin: 20px auto;
  background: white url("../img/stripe.png") left top repeat-x;
}

#page #main div.route{
  width: 500px;
  white-space: -moz-pre-wrap; /* Mozilla */
  white-space: -pre-wrap;     /* Opera 4-6 */
  white-space: -o-pre-wrap;   /* Opera 7 */
  white-space: pre-wrap;      /* CSS3 */
  word-wrap: break-word;      /* IE 5.5+ */
}

/* Members */

#page #main div.members{
  width: 100%;
}

#page #main div.members li{
  font-size: 80%;
  float: left;
  padding: 10px;
  margin-bottom: 20px;
  margin: 0px;
  font-weight: bold;
  width: 110px;
  height: 180px;
  text-align: center;
  list-style-type: none;
}

#page #main div.members li img{
  margin-top: 30px;
  vertical-align: bottom;
}

/* Access */

#page #main div.route a{
  padding: 0px;
  margin: 0px;
}

#page #main div.route a img{
  margin: 0px;
}

/* Front Page */

#page #main div.top_logo{
  width: 672px;
  height: 128px;
  white-space: nowrap;
  border: solid #eee;
  border-width: 12px 0px;
  overflow: hidden;
  margin: 0px 0px 30px 0px;
}

#page #main div.top_logo img#top_logo_1,
#page #main div.top_logo img#top_logo_2{
  z-index: 10;
}

#page #main div.top_logo img{
  margin: 0px;
}

#page #main ol.newest{
  padding: 15px 10px;
  margin: 0px;
  font-size: 90%;
}

#page #main ol.newest li{
  border-bottom: 1px solid #ccc;
  list-style: none none inside;
  padding: 5px 10px 5px 0px;
  margin: 0px;
  line-height: 140%;
}

#page #main ol.newest li p{
  padding: 0px;
}

#page #main ol.newest li p.date{
  color: #666;
  float: right;
  text-align: right;
  width: 6em;
}

/* #credit */

#credit{
  padding: 7px 0px;
  margin-top: 40px;
  background-color: #333;
  color: white;
  line-height: 170%;
  text-align: center;
  font-size: 90%;
}

#credit li{
  display: inline;
  margin-right: 20px;
}

#credit li:before{
  content: "|";
  margin-right: 20px;
}

#credit li:first-child:before{
  content: "";
}

#credit a,
#credit a:link {
  color: white;
}

#credit a:hover ,
#credit a:focus {
  text-decoration: underline;
}
