@charset "UTF-8";

/**********************************************************************
 * 
 * author: YOSHIDA Hiroki
 * 
 * version: 0.20100807
 * 
 **********************************************************************/


/*--------------------------------------------------------------------*

   タイプセレクタ： html タグに対する設定

 *--------------------------------------------------------------------*/

/* 全てのタグ（全称セレクタ） */
* {
	margin: 0;
	padding: 0;
}

/* body */
body {
	color: #000000;
	font-size: 90%;
	line-height: 165%;
	letter-spacing: 1px;
}

/* 見出し各種 */
h1 {
	font-size: 200%;
}

h2 {
	font-size: 175%;
}

h3 {
	font-size: 150$;
}

h4 {
	font-size: 100%;
}

/* 段落 */
p {
	text-indent: 1em;
}

/* 頭字語（略語）の元の単語を説明する時に使うタグ */
acronym {
	font-size: 100%;
	border-bottom: 1px dotted #FFEAEA;
}

/* アンカー（リンク） */
a:link, a:visited {
	margin: 0 1px;
	color: #006699;
	text-decoration: none;
}

a:hover, a:active {
	margin: 0 1px;
	color: #006699;
	text-decoration: underline;
}

a img {
	border: none;
}

/* 順不同リスト */
ul {
	list-style: none;
}

/* テーブル */
table {
	margin: 30px;
	width: 500px;
	border-collapse: collapse;
}

table tr th {
	padding: 0.5em;
	white-space: nowrap;
	border: 1px solid #AAAAAA;
	background-color: #CCCCCC;
}

table tr td {
	padding: 0.25em 0.5em;
	white-space: nowrap;
	border: 1px solid #AAAAAA;
}

table tfoot td {
	/* IE 以外のブラウザでヘッダの下部（<tfoot> を記述した場所）にもボーダーが表示されてしまう */
	border-top: 3px double #AAAAAA;
}

table tr th.table-break, table tr td.table-break {
	border-right: 3px double #AAAAAA;
}

table caption {
	margin-bottom: 20px;
	padding: 0.5em 0;
	color: #909090;
	text-align: right;
/* IE6 非対応につき注意 */
	caption-side: bottom;
}

hr {
	display: none;
}


/*--------------------------------------------------------------------*

   一意セレクタ： id に対する設定

 *--------------------------------------------------------------------*/

/* 全体 */
body {
	background-color: #333333;
}

#container {
	margin: 0 auto;
	width: 977px;
	background: #FFFFFF url(images/body-middle.png) center top repeat-y;
}

/* ヘッダ */
#header {
	padding-bottom: 23px;
	width: 977px;
	height: 168px;
	background: #333333 url(images/header.png) center top no-repeat;
}

#logo a {
	display: none;
}

/* メインメニュー */
#main-menu {
	width: 0;
	position: relative;
	top: 66px;
	left: 405px;
}

#main-menu li#menu-index.current, #main-menu li#menu-about.current, #main-menu li#menu-activity.current, #main-menu li#menu-sponsor.current  {
	display: block;
	height: 134px;
	background: transparent url(images/marker.png) right bottom no-repeat;
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
}

#main-menu li#menu-index.current {
	width: 62px;
}

#main-menu li#menu-about.current {
	width: 190px;
}

#main-menu li#menu-activity.current {
	width: 318px;
}

#main-menu li#menu-sponsor.current {
	width: 446px;
}

#main-menu li a {
	display: block;
	width: 85px;
	height: 85px;
	text-indent: -9999px;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: left top;
	z-index: 2;
	position: absolute;
/* for debug!
	border: 1px solid #0000FF; */
}

#main-menu li#menu-index a {
	top: 0;
	left: 0;
}

#main-menu li#menu-about a {
	top: 0;
	left: 128px;
}

#main-menu li#menu-activity a {
	top: 0;
	left: 256px;
}

#main-menu li#menu-sponsor a {
	top: 0;
	left: 384px;
}

#main-menu li ul {
	display: none;
}

#top-contents {
	display: none;
}

/* コンテンツ */
#contents {
	clear: both;
	width: 100%;
	background: transparent url(images/body-top.png) center top no-repeat;
}

#tabs {
	padding: 70px 70px 0;
}

#tabs li {
	float: left;
}

#tabs li a {
	display: block;
	margin-right: 1.5em;
	padding: 10px;
	color: #FFFFFF;
	font-size: 125%;
	background-color: #C6C6C6;
	border: 1px solid #A0A0A0;
}

#tabs li.current a {
	color: #808080;
	background-color: #FFFFFF;
}

#main-contents {
	clear: left;
	width: 100%;
	padding-bottom: 80px;
	background: transparent url(images/body-bottom.png) center bottom no-repeat;
}

/* フッタ  */
#footer {
	clear: both;
	padding-top: 23px;
	height: 214px;
	background: #333333 url(images/footer.png) center bottom no-repeat;
}

#footer #footer-menu {
	float: left;
	height: 154px;
	padding-top: 50px;
	padding-right: 40px;
	font-size: 80%;
	border-right: 1px dashed #666666;
	position: relative;
	top: 10px;
	left: 40px;
}

#footer #footer-menu ul li {
	float: left;
	margin: 5px 0;
}

#footer #footer-menu ul li a {
	color: #CCCCCC;
	margin-left: 40px;
	padding-bottom: 1px;
	text-decoration: none;
	border-bottom: 2px solid #CCCCCC;
}

#footer #footer-menu ul li a.current {
	color: #A0A0A0;
	border-bottom: 2px solid #A0A0A0;
}

#footer #footer-menu ul li ul {
	float: none;
	width: auto;
	padding: 0;
	background: none;
}

#footer #footer-menu ul li ul li {
	float: none;
	margin-left: 0;
	border-bottom: none;
}

#footer #footer-menu ul li ul li a {
	border-bottom: none;
}

#footer #footer-menu ul li ul li a:hover {
	text-decoration: underline;
	border-bottom: none;
}

#footer #footer-menu ul li ul li a.current {
	border-bottom: none;
}

#footer #footer-menu ul li ul li a:hover.current {
	text-decoration: underline;
	border-bottom: none;
}

#footer #footer-content {
	float: right;
	width: 350px;
	margin-top: 70px;
	color: #808080;
	font-size: 80%;
	line-height: 160%;
	text-align: center;
	position: relative;
	right: 50px;
}

#footer #footer-content div {
	margin-bottom: 1.5em;
}

#footer #footer-content #footer-sub-menu a {
	color: #CCCCCC;
}

#footer #footer-content #powered-by p img {
	vertical-align: -3px;
}


/*--------------------------------------------------------------------*

   クラスセレクタ： class に対する設定

 *--------------------------------------------------------------------*/

.session {
	clear: both;
	margin: 0;
	padding: 65px 160px 0 65px;
	background: transparent url(images/content-body.png) left top repeat-y;
}

.session h2 {
	margin-left: -15px;
	margin-bottom: 0.75em;
	padding: 4px 37px 0;
	height: 76px;
	line-height: 76px;
	letter-spacing: 10px;
	font-family: monospace;
	background: transparent url(images/content-header.png) left top no-repeat;
}

.session h2 .first-letter {
	color: #FFFFFF;
	font-size: 180%;
	padding-right: 25px;
	letter-spacing: 0px;
}

.session-body {
	background: transparent url(images/content-footer.png) left bottom no-repeat;
}

.sub-session {
	margin-top: 20px;
	margin-left: 1em;
}

.sub-session h3 {
	margin-top: 2.5em;
	margin-bottom: 1.25em;
	color: #88AA00;
	color: #E07000;
	border-bottom: 2px dotted #E07000;
}

.session dl {
	margin-left: 1.5em;
}

.session dt {
	margin-top: 1.5em;
	padding: 0 16px;
	color: #707070;
	font-weight: bold;
	background: transparent url(images/marker-01.gif) left 7px no-repeat;
}

.session dd {
	margin-left: 32px;
}

.sub-session dl dt {
	margin: 1em 1em 0;
	padding: 0 16px;
	font-weight: normal;
}

.sub-session dl dd {
	margin-left: 0;
	padding: 0 3.5em;
	font-weight: normal;
}

.sub-session ol {
	margin: 1em 3.5em 0;
}

.sub-session table {
	margin: 0.5em 0 1em;
	width: auto;
	border-collapse: collapse;
}

.sub-session-body {
	margin-top: 1em;
}

.session-body ul {
	margin-left: 0.5em;
	padding: 0 2em;
	list-style: none;
}

.session-body li {
	margin-top: 0.5em;
	padding: 0 16px;
	background: transparent url(images/marker-02.gif) left 7px no-repeat;
}


/*--------------------------------------------------------------------*

   その他： 細かいデザイン調整

 *--------------------------------------------------------------------*/

img.email-address {
	vertical-align: -3px;
}

a.current {
	color: #666666;
}

.align-left {
	clear: both;
	text-align: left;
}

.align-right {
	clear: both;
	text-align: right;
}

.align-center {
	clear: both;
	text-align: center;
}

/* パネル（コンテンツを左右に分ける） */
.session .panel {
	float: left;
	margin-top: 10px;
	margin-bottom: 30px;
/* css hack! for IE6 */
	_float: none;
}

* html #footer-content {
/* css hack! for IE7 */
	float: none;
}

.session .panel-left {
	float: left;
	width: 262px;
	padding-right: 20px;
}

.session .panel-right {
	float: right;
	width: 262px;
	padding-left: 20px;
}

.clear {
	clear: both;
}

/* お知らせ（更新履歴） */
#news dl {
	margin-top: 1.5em;
	padding: 1em 1.5em;
	width: 640px;
	font-size: 85%;
	background-color: #EEEEEE;
	border: 2px dotted #CCCCCC;
}

#news dl dt {
	clear: left;
	float: left;
	margin: 0;
	padding: 0;
	color: #606060;
	font-weight: bold;

	padding-right: 2.75em;
	background: transparent url(images/line.gif) 9.2em 9px no-repeat;
}

#news dl dd {
	margin: 0;
	padding: 0;
	color: #333333;
}

#news dl a {
	color: #667799;
}

/* 動画 */
.movie {
	margin: 1.5em 0;
	color: #999999;
}

/* 画像 */
.session-body img {
	margin: 0.5em 0;
	padding: 10px;
	background-color: #FFFFFF;
}

.photo-list a img {
	border: 2px solid #CCCCCC;
}

/* ファイル */
ul.files-doc, ul.files-pdf {
	margin: 1.5em 2em;
}

ul.files-doc li, ul.files-pdf li {
	margin-top: 1em;
	line-height: 10px;
	padding-top: 5px;
}

ul.files-doc li a {
	padding: 5px 20px 5px 0;
	background: transparent url(images/icons/icon_doc.gif) right 5px no-repeat;
}

ul.files-pdf li a {
	padding: 5px 20px 15px 0;
	background: transparent url(images/icons/icon_pdf.gif) right 5px no-repeat;
}

/* プロフィール */
.profile {
	clear: left;
	height: 105px;
	margin-bottom: 10px;
}

.profile .profile-photo {
	float: left;
}

.profile .profile-photo img {
	border: 2px solid #CCCCCC;
}

.profile .profile-info {
	float: left;
	margin: 12px 0px;
}

.profile dl {
	display: block;
}

.profile dl dt {
	float: left;
	clear: left;
	margin: 0;
	padding: 0;
	padding-left: 20px;
	color: #606060;
	font-size: 80%;
	font-weight: normal;
	background: none;
}

.profile dl dt.name {
	float: none;
	clear: none;
	color: #000000;
	font-size: 100%;
	background: transparent url(images/marker-02.gif) left 8px no-repeat;
}

.profile dl dt.name span {
	margin: -0.5em 0 0;
	font-weight: normal;
	font-size: 80%;
}

.profile dl dd {
	color: #000000;
	padding-left: 2px;
	padding-right: 0;
}

/* プロフィールを複数行に分ける */
.profile-list {
	clear: both;
}

.profile-list .profile {
	float: left;
	clear: none;
	width: 365px;
	padding-bottom: 30px;
}

/* その他 */
.warning {
	font-size: 80%;
	color: #CC0000;
}

.description {
	font-size: 75%;
	color: #808080;
}

.notice {
	padding: 0.5em;
	color: #E07000;
	font-size: 180%;
	line-height: 120%;
	font-weight: bold;
}

.notice p {
	margin-bottom: 0.5em;
}

ul.error {
	margin-bottom: 0.75em;
	padding: 10px 30px 5px;
	color: #CC0000;
	font-weight: bold;

	background-color: #FFCCCC;
	border: 1px solid #CC0000;
	list-style-type: disc;
}

.ascii-art {
	display: block;
	font-family: 'ＭＳ Ｐゴシック';
	line-height: 100%;
}

.minimum {
	display: block;
	font-size: 75%;
	line-height: 100%;
}

