@charset "utf-8";
/* CSS Document */


/* リンク */
a { color: #999966; }
a:hover { color: #996600; }

/* 新着情報 */
#pageBody .news {
	margin-top: 40px
}
#pageBody .news table tr td {
	width: 100%;
}
#pageBody .news p.topic_explain{
    text-align: justify;
	margin: 0px 0px 10px 5px
}
#pageBody .news figure{
	margin-top: 0px;
}
#pageBody .news figcaption{
	font-size: 10pt;
    text-align: justify;
	margin: 0px 0px 0px 5px;
/*	display: table-caption;*/
	caption-side: top;
}
#pageBody .news h1 {
	font-size: 20px;
	border-bottom: 1px solid #000000;
	padding: 5px 0;
}
#pageBody .news h1.topics {
	font-size: 20px;
	border-bottom: 1px solid #000000;
	padding: 5px 0;
	margin-top: 20px;
}

#pageBody .news table{
	padding: 0px 0px 10px	
}
#pageBody .news div.float{
	float: right;
	width: 520px;
	margin-left: -10pt;
	margin-bottom: -5pt;
}
#pageBody .news div.float img{
	margin-top: 5px;
	width: 470px;
	border: 1px solid #000000;
}
#pageBody .news div.float figcaption{
	font-size: 11px;
	width: 470px;
	margin: 2pt 0pt 0pt 0pt;
}
#pageBody .news div.float2{
	float: right;
	width: 260px;
	margin-left: -10pt;
	margin-bottom: -5pt;
}
#pageBody .news div.float2 img{
	margin-top: 5px;
	width: 235px;
	border: 1px solid #000000;
}
#pageBody .news div.float2 figcaption{
	font-size: 11px;
	width: 235px;
	margin: 2pt 0pt 0pt 0pt;
}

#pageBody .news table tr th,
#pageBody .news table tr td {
	font-size: 14px;
	line-height: 1.429;
	padding: 0px 10px 10px 10px;
	border-bottom: 1px dotted #CCCCCC;
	vertical-align: top;
	text-align: left; 
}
#pageBody .news table tr th {
	white-space: nowrap;
	padding-right: 30px;
}

#pageBody .news table tr th.time,
#pageBody .news table tr td.time {
	font-size: 14px;
	line-height: 1.429;
	padding: 7px 10px 0px 10px;
	border-bottom: 0px dotted #888888; 
	vertical-align: top;
	text-align: left; 	
}

#pageBody .news table tr th.title,
#pageBody .news table tr td.title {
	font-size: 14px;
	font-weight: bold;
	line-height: 1.429;
	padding: 7px 10px 0px 10px;
	border-bottom: 0px dotted #888888; 
	vertical-align: top;
	text-align: left; 	
}
#pageBody .news table tr th.abstract,
#pageBody .news table tr td.abstract {
	font-size: 14px;
	line-height: 1.429;
	padding: 0px 10px 5px 10px;
	border-bottom: 1px solid #888888; 
	vertical-align: top;
	text-align: justify; 	
}
#pageBody .news table tr th.fois,
#pageBody .news table tr td.fois {
	font-size: 14px;
	font-weight: bold;
	line-height: 1.429;
	padding: 0px 10px 5px 10px;
	border-bottom: 1px solid #888888; 
	vertical-align: top;
	text-align: left; 	
}

#pageBody .news table tr th.news,
#pageBody .news table tr td.news {
	font-size: 14px;
	line-height: 1.429;
	padding: 7px 10px 3px 10px;
	border-bottom: 1px solid #888888; 
	vertical-align: top;
	text-align: left; 	
}

#pageBody .news table tr th.date,
#pageBody .news table tr td.date {
	font-size: 14px;
	line-height: 1.429;
	padding: 0px 10px 5px 10px;
	border-bottom: 1px solid #888888; 
	vertical-align: top;
	text-align: left; 	
}

#pageBody .news table tr th.history,
#pageBody .news table tr td.history {
	font-size: 14px;
	line-height: 1.429;
	padding: 8px 10px 2px 10px;
	border-bottom: 1px dotted #888888; 
	vertical-align: top;
	text-align: left; 	
}

#pageBody .news table tr td.staff {
	width: 140pt;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.429;
	padding: 10px 0px 5px 10px;
	border-bottom: 1px dotted #888888; 
	vertical-align: top;
	text-align: left; 	
}
#pageBody .news table tr td.staff2 {
	width: 140pt;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.429;
	padding: 10px 0px 5px 10px;
	border-bottom: 0px dotted #888888; 
	vertical-align: top;
	text-align: left; 	
}

#pageBody .news table tr td.name {
	width: 600pt;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.429;
	padding: 10px 0px 5px 20px;
	border-bottom: 1px dotted #888888; 
	vertical-align: top;
	text-align: left; 	
}


/* newslist */
#pageBody .newsList {
  display: grid;
  grid-template-columns: 8em 1fr;
/*  border-top: 2px solid #000; */
}

#pageBody .newsList dt,
#pageBody .newsList dd {
  padding: 0.8em 0;
  border-bottom: 1px dashed #333;
}

#pageBody .newsList dt {
  font-weight: bold;
  white-space: nowrap;
}

#pageBody .newsList dd {
  margin: 0;
}

/* member list */
.members {
  margin-top: 20px;
}

.memberGroup {
  list-style: none;
  margin: 0;
  padding: 0.7em 0;
  display: grid;
  grid-template-columns: 12em 1fr;
  border-bottom: 1px dashed #333;
}

/* ラベル（左列） */
.memberGroup::before {
  content: attr(data-label);
  font-weight: bold;
  grid-column: 1;
  grid-row: 1 / -1;   /* ← これが核心 */
  align-self: start;
  padding: 0.4em 0;
}

/* 人名は必ず右列 */
.memberGroup li {
  grid-column: 2;
  padding: 0.4em 0;
}




/* ----- トップページの内容 ----- */
/* メインビジュアル */
#pageBody .mainVisual {
	position: relative;
}
#pageBody .mainVisual img {
	vertical-align: bottom;
}

#pageBody .mainVisual .mainVisualText {
	position: absolute;
	left: 0px;
	top: 0px;
	color: #FFF;
	background-color: rgba(0,0,0,0.6);
	width: 800px;
	padding: 15px 25px;
	box-sizing: border-box;
}
#pageBody .mainVisual .mainVisualText h1 {
	font-size: 22px;
	line-height: 1.231;
	margin: 0;
}
#pageBody .mainVisual .mainVisualText p {
	font-size: 16px;
	line-height: 2;
	margin-bottom: 0;
}

/* ----- トップページの内容 ----- */
/* メインビジュアル */
#pageBody .mainVisual {
	position: relative;
}
#pageBody .mainVisual img {
	vertical-align: bottom;
}

#pageBody .mainVisual .mainVisualText {
	position: absolute;
	left: 0px;
	top: 0px;
	color: #FFF;
	background-color: rgba(0,0,0,0.6);
	width: 800px;
	padding: 15px 25px;
	box-sizing: border-box;
}
#pageBody .mainVisual .mainVisualText h1 {
	font-size: 22px;
	line-height: 1.231;
	margin: 0;
}
#pageBody .mainVisual .mainVisualText p {
	font-size: 16px;
	line-height: 2;
	margin-bottom: 0;
}