body{ margin : 0 ; }
/******  　ヘッダーコンテンツの枠   ******************************/
#headerContentsFrame {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0 auto ;
	margin-top: 5px ;
	margin-bottom: 0 ;
	width: 1100px;
	background: #fff;
}

/******  　左上のロゴ画像   *********************/
#headerLogoImg {
	display:inline-block; 
	height:69px;
}
/******  　トップのナビゲーションメニュー   **********************/
ul#navMenu {
	display:inline-block; 
	list-style:none;
	margin:0 0 -7px 30px;
	padding:0;
}
ul#navMenu li {
	display: table;
	border-right:1px solid #CCC;
	float:left;
}
ul#navMenu li a {
	display: table-cell;
	vertical-align: middle;
	height: 60px ;
	padding: 0 20px ;
	text-decoration:none;
	background:#EEE;
	color:#444;
	font-size:95%;
	font-weight:bold;
	line-height:1.3;
}
ul#navMenu li a:hover , ul#navMenu li a#current { /* マウスON時 , カレント時 */
	background:#C40013;
	color:#fff;
}

/******  　ヘッダーやフッターの境目のボーダーライン   ***********/
.borderLine{
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0 ;
	padding: 0 ;
	width: 100%;
	border-style:none;
	border-top:3px solid #C40013;
}

/******  　赤背景コンテンツの枠   *******************************/
.redContentsFrame {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0 auto ;
	margin-top: 10px ;
	margin-bottom: 5px ;
	padding: 30px 25px ;
	width: 100%;
	background: #C40013;
	line-height: 2;
	text-align:center;
	color:#fff;
	font-size:125%;
}
.redTextArea a:link { color: #fff; }
.redTextArea a:visited { color: #fff; }
.redTextArea a:hover { color: #fff; }
.redTextArea a:active { color: #fff; }

.bg_white_rec {
	display: inline-block;
	background: white;
	color: #C40013;
	padding: 0.5rem 2rem;
	margin: 0.5rem 0;
	border-radius: 5px;
	text-decoration:none;
}
.bg_white_rec a:link { color: #C40013; }
.bg_white_rec a:visited { color: #C40013; }
.bg_white_rec a:hover { color: #C40013; }
.bg_white_rec a:active { color: #C40013; }

/******  　メインコンテンツの枠   *******************************/
.mainContentsFrame {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0 auto ;
	margin-top: 10px ;
	margin-bottom: 10px ;
	padding: 0 25px ;
	width: 1100px;
	background:#FFF.
	line-height: 2;
	color:#444;
}
.flexFrame {
	display: flex;
}
/******  　フッターコンテンツの枠   *******************************/
#footerContentsFrame {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 5px 0 ;
	width: 100%;
	background: #000;
	line-height: 1.5;
	text-align:center;
	font-size:80%;
	color:#fff;
	margin-top: 50px ;
}

/******  　その他もろもろ   *******************************/
#mainLogoImg {
	width:250px;
	max-width:50%;
}
.mainContentsFrame h1 {
	margin-top:70px;
}
.mainContentsFrame h2 {
	font-size:110%;
	color:#FFFFFF;
	background:#666666;
	border-bottom:3px solid #000000;
	margin-top:50px;
	padding: 10px 0 6px 15px;
}
.mainLeftFrame {
	width:calc(100% - 260px) ;
	border:0px solid blue;
	margin-right:9px;
}
.mainRightFrame {
	width:250px;
	border:0px solid blue;
	padding-top:30px;
}
.newsTable {
	font-size:90%;
	border-collapse: collapse;
	border-spacing: 0;
}
.newsTable th {
	text-align:left;
	width:95px;
	border-bottom:1px solid #CCC;
	padding:10px 0 10px 4px ;
	font-weight:normal
}
.newsTable td {
	text-align:left;
	border-bottom:1px solid #CCC;
	padding:10px 0 10px 4px ;
}
.newsTable tr:nth-child(odd){
	background-color: #eee
}
.sponserImg {
	float:left; 
	border: solid 1px #C0C0C0; 
	margin:10px;"
}
.partnerImg {
	width:140px;
	border: solid 1px #C0C0C0; 
	margin:10px;"
}
.kanren_link_img {
	max-height: 90px;
	max-width: 100%;
}
/******  過去の開催と受賞作品のページ用   *******************************************/
.previousCallenge {
	font-size:120%;
}

/******  実行委員会のページ用   *******************************************/
#member li {
	display: block;
	float: left;
	width: 200px;
	height: 350px;
	margin-right: 20px;
	line-height:0.5;
}
#member .portrait {
	width: 200px;
	margin-bottom: 0;
}
#member .role {
	font-weight: bold;
}
#member .name {
	font-size: 1.3em;
}
#member .belongsto {
	font-size: 90%;
}
.kaisokuTitle {
	font-weight:bold;
	margin: 12px 0 3px 0;
}
.kaisokuHonbun {
	font-size:small;
	margin: 3px 0 3px 10px;
}

/******  技術情報のページ用   *******************************************/
.slideFrame {
	border:1px solid #CCC; 
	border-width:1px; 
	margin-bottom:5px; 
	max-width: 100%; 
	display:block;
}

/******  メディアクエリ   *******************************************/
@media only screen and (max-width:1110px){
	#headerLogoImg {
		display:block; 
		margin:0 0 3px 4px;
	}
	#headerContentsFrame { width: 100%; }
 	.redContentsFrame , .mainContentsFrame ,  #footerContentsFrame {
		width: 100%;
		padding: 30px 40px ;
	}
	ul#navMenu {
		margin:0 0 -7px 0;
		width:100%;
	}
	ul#navMenu li {
		text-align:center;
		border-right:1px solid #CCC;
		width:16.4%;
	}
	ul#navMenu li a {
		padding: 0 0 ;
	}
}

@media only screen and (max-width:830px){
	.mainLeftFrame { width:100%;}
	.mainRightFrame {display:none;}
}
@media only screen and (max-width:705px){
	ul#navMenu li {
		width:33%;
		font-size:80%;
		border-right:1px solid #CCC;
		border-top:1px solid #CCC;
	}
 	.redContentsFrame , .mainContentsFrame ,  #footerContentsFrame {
		width: 100%;
		padding: 30px 20px ;
		font-size:90%;
	}
	.mainLeftFrame {
		margin-right:0px;
	}
	.borderLine{
		margin-top: 1px ;
	}
	.newsTable th {
		width:80px;
	}
}
@media only screen and (max-width:500px){
 	.redContentsFrame , .mainContentsFrame ,  #footerContentsFrame {
		padding: 30px 1px 30px 4px ;
	}
	.partnerImg {
		width:32%;
	}
	.mainContentsFrame h1 {
		font-size:150%;
		margin-top:15px;
	}
	.mainContentsFrame h2 {
		font-size:115%;
		margin-top:15px;
	}
	.previousCallenge {
		font-size:100%;
		margin-left:5px;
	}
	.topEventImg {
		width:100%;
	}
	#news_event {
		margin-top:40px;
	}
	#member li {
		width: 170px;
		height: 330px;
		margin-right: 5px;
		line-height:1;
	}
	#member .portrait {
		width: 170px;
		margin-bottom: 0;
	}
}
