@charset "UTF-8";
/* CSS Document */


/* 全般 */

body,h1,h2,h3,h4,h5,h5,p,ul,ol,li,dl,dt,dd,form,textarea,blockquote {
	margin: 0;
	padding: 0;
	list-style: none;
	font-weight: normal;
	font-style: normal;
}

*{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: 0.2s ;
	transition: 0.2s ;
}

a,a:hover{
	text-decoration:none;
}

a{
	color:#555555;
}

a:hover{
	color:#999;
}

body {
	color: #333333;
	background:#f5f5f5;
	font: 16px/1.5 Helvetica, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "游ゴシック体", "Yu Gothic", YuGothic, Arial,"メイリオ", Meiryo, sans-serif;
	padding-top:34px;
}



/* アイコン */

@font-face {
	font-family: 'icomoon';
	src:url('../fonts/icomoon.eot?k1st8s');
	src:url('../fonts/icomoon.eot?k1st8s#iefix') format('embedded-opentype'),
		url('../fonts/icomoon.ttf?k1st8s') format('truetype'),
		url('../fonts/icomoon.woff?k1st8s') format('woff'),
		url('../fonts/icomoon.svg?k1st8s#icomoon') format('svg');
	font-weight: normal;
	font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
	font-family: 'icomoon';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon-comment:before {
	content: "\e904";
	color: #ff0000;
}
.icon-archive:before {
	content: "\e900";
}
.icon-bullhorn:before {
	content: "\e901";
}
.icon-check-square:before {
	content: "\e902";
	color: #0095ff;
}
.icon-check:before {
	content: "\e903";
}
.icon-hourglass:before {
	content: "\e905";
}
.icon-list:before {
	content: "\e906";
}
.icon-lock:before {
	content: "\e907";
}
.icon-question:before {
	content: "\e908";
}
.icon-warning:before {
	content: "\e909";
}








/* ヘッダー */

#fixed-header{
	margin:0 auto;
	background:#265B96;
	width:100%;
	height:44px;
	position:fixed;
	top:0px;
	left:0px;
	z-index:998;
}

#fixed-header .container{
	height:37px;
	width: 760px;
	margin:0 auto;
	padding:5px 10px;
	text-align: center;
	font-size: 15px;
	position: relative;
	z-index: 9999;
	background-color: transparent;
	background-image: none;
	background-repeat: repeat;
	background-attachment: scroll;
	background-position: 0% 0%;
	background-clip: border-box;
	background-origin: padding-box;
	background-size: auto auto;
}


#fh-title a,
.fh-menu li a{
	color:#FFFFFF;
}

#fh-title a:hover,
.fh-menu li a:hover{
	color:#002254;
}

#fh-title{
	float:left;
}

#fh-title h1{
	font-size:16px;
	font-weight:bold;
}

#fh-title h1 a{
	display:inline-block;
	line-height: 34px;
}

ul.fh-menu{
	position:absolute;
	top:0;
	margin:0;
	padding:0;
	right:10px !important;
}

ul.fh-menu li{
	padding:0 0 0 16px;
	display:inline-block;
	line-height:43px;
	vertical-align:middle;
}

.dropdown_list li{
	display:block !important;
	padding:0 !important;
}

.dropdown_list li a{
	color:#333;
	padding:10px;
	margin:0;
}

.dropdown_list li a:hover{
	color:#111;
}



/* メイン部分 */

#main{
	padding:0;
}

#main .container{
	width: 760px;
	padding:10px 0;
	word-wrap: break-word;
	text-align:left;
}

.topic_box {
	padding: 30px 0 0;
	background: #fafafa;
}

.post_box {
	padding: 25px 0;
	background:#f5f5f5;
}

.article_box {
	padding: 40px 0 0;
	background:#f5f5f5;
}

.title_box {
	padding: 10px 0;
	background: #fafafa;
	margin-bottom: -20px;
	color:#777;
}

.title_heading{
	padding:0 15px;
}

.topic_heading,
.post_heading{
	padding:10px 15px;
}

.topic_body,
.post_body{
	padding: 15px 15px;
}

.topic_body a:hover h2,
.post_body a:hover h3{
	color:#999;
}


.topic_heading .label,
.post_heading .label{
	font-size:16px;
}

.title_box h2{
	font-size:20px;
	margin:0;
	line-height: 1.7;
	color: #666;
	padding:15px 0;
}



.topic_box h2{
	font-size:20px;
	margin:15px 0;
	line-height: 1.7;
	color: #444;
}

.post_box h3{
	font-size:20px;
	line-height: 1.7;
	margin:15px 0;
	color:#555;
}

.noentry{
	padding:10px 15px;
	font-size:15px;
	font-weight:bold;
}

ul.notice li{
	font-size:15px;
	padding:20px 15px;
	border-top:1px solid #eee;
	color:#777;
}

.notice_box{
	padding:0 0 30px;
	background: #fafafa;
}


.report_link{
	font-weight: normal;
}

p.content{
	padding:20px 10px;
	font-size:15px;
	line-height: 1.8;
}

p.content a{
	text-decoration: underline;
}

.article_body{
	padding:10px 0 60px;
	font-size:15px;
	line-height: 1.8;
}

.article_body:last-child{
	padding:10px 0 0;
}

.article_body p{
	padding:10px 0;
}

.img_view{
	max-width: 100%;
	height:auto;
	margin:0 0 25px;
}

.panel-default .panel-heading {
	color: #333;
	background-color: #f5f5f5;
	border-color: #ddd;
}

span.label_org {
	color: #555;
	padding: 5px 12px;
	font-weight: bold;
	background: #DDD none repeat scroll 0% 0%;
	border-radius: 2px;
	font-size: 13px;
	display:inline-block;
}

.annotation{
	font-size:80%;
}

/* ログイン画面・成功or失敗画面 */

.message_box {
	padding: 30px 0;
	background: #f5f5f5;
	margin-bottom: -20px;
}

#login-box,
#error-box,
#success-box{
	width: 380px;
	margin: 50px auto 20px;
	padding:50px 30px;
	word-wrap: break-word;
	clear: both;
	font-size:14px;
	text-align:center;
	background-color: #F3F3F3;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	-moz-box-shadow: 0px 2px 3px rgb(190, 190, 190);
	-webkit-box-shadow: 0px 2px 3px rgb(190, 190, 190);
	box-shadow: 0px 2px 3px rgb(190, 190, 190);
}

#login-box h2,
#error-box h2,
#success-box h2{
	font-size:14px;
	font-weight:bold;
	margin:0 0 20px;
}

#error-box h2{
	color:#e60012;
}

#error-box p,#success-box p{
	padding:20px 0 0;
}

#error-box a,#success-box a{
	text-decoration:underline;
}

.input_pass_box{
	margin-bottom:20px;
}

#login-box input.button{
	font-size: 16px;
	width:100%;
	padding: 10px 20px;
}

p.error-message{
	color:#e60012;
	margin:5px 0 20px;
	font-size:14px;
}

.icon_comment{
	font-size: 16px;
}

.icon_message{
	font-size: 100px;
	line-height: 1.0;
}



/* ライセンス表記 */

dl.license{
	margin:20px 0;
	color:#888;
}

dl.license dt{
	font-weight: bold;
	padding:10px 0 20px;
}

dl.license dd{
	padding:0 0 40px;
}

dl.license dd:last-child{
	padding:0;
}



/* インデックス */

.top_index_box {
	padding: 40px 0 10px;
	background: #f5f5f5;
	margin-bottom: -20px;
}


.index_box {
	padding: 10px 0;
	background: #f5f5f5;
	margin-bottom: -20px;
}

.titlelists {
	display:block;
	clear:both;
	padding:20px 10px;
	border-bottom:1px solid #e3e3e3;
	font-size:14px;
	white-space:normal;
}

.title_box .titlelists{
	border-bottom:1px solid #eee;
}

a.titlelists:hover{
	color:#999;
}


.titlelists h2{
	font-size:20px;
}

.titlelist-icon{
	float:right;
	margin: 5px auto;
	font-size:20px;
	color:#888;
}

.icon_colored_block{
	color:#ff6600;
}

.titlelist-icon span {
	width: 50px;
	height: 50px;
	margin: 0;
	border: 1px solid #888;
	border-radius: 50%;
	line-height: 50px;
	text-align: center;
	font-size:25px;
}

span.icon_colored{
	border: 0px solid #ff6600;
}

a.titlelists:hover .titlelist-icon{
	color:#ddd;
}

a.titlelists:hover span{
	border: 1px solid #ddd;
}

.titlelist-icon span:before { padding 0; line-height: 50px; }

.titlelist-data{
	margin-bottom:10px;
	padding:15px 0 0;
}

.titlelist-data a:hover,
ul.edit_menu button:hover,
a.link_button:hover{
	color:#000000;
	background:#ddd;
}

ul.edit_menu a,
ul.edit_menu button,
a.link_button{
	color:#555555;
	padding:10px;
	background:#e5e5e5;
	border:none;
	cursor:pointer;
	line-height:1.2;
}


/* 説明欄 */

.explanation_body{
	font-size:17px;
	padding:10px 0;
}



/* ページネーション */

.pagination{
	padding:0px 10px;
}


/* 表 */

.table_box{
	padding: 40px 0;
	background: #f5f5f5;
}

.voter_box{
	padding: 40px 0 60px;
	background: #f5f5f5;
	color:#555;
}

.report_box{
	margin: -60px 0 0;
	background: #f5f5f5;
	color:#555;
}

.admin_list_box{
	padding: 40px 0 0;
	background: #f5f5f5;
	color:#555;
}

.admin_list_box h3{
	font-size:16px;
	line-height: 1.7;
}


table.postlist{
	margin-bottom: 70px;
}

table.postlist tr:last-child th,
table.postlist tr:last-child td{
	border-bottom:1px solid #ddd;
}

.table thead tr th{
	border-bottom: 1px solid #DDD;
}

.table tbody tr:first-child th,
.table tbody tr:first-child td{
	border-top:none;
}

table.postlist tr.post_info th,
table.result tr.post_info th,
table.report tr.post_info{
	text-align:center;
	font-weight:bold;
	font-size:16px;
}

table.postlist .point_info{
	padding:35px 0px 40px 10px;
	font-weight:bold;
	white-space: nowrap;
}

table.postlist tr.list td.post_cell,
table.result tr.list td.post_cell{
	padding:40px 15px;
	font-size:18px;
	line-height:1.7;
}


table.report{
	margin:10px 0;
	width:100%;
	border-collapse:collapse;
	line-height:1.7;
	color:#555;
}

table.voter_page{
	margin:10px 0 40px;
}

table.report tr.list td.player{
	text-align:center;
}

table.report tr.list td{
	padding:20px;
}

table.voter_page tr.list{
	border-top: 1px solid #ddd;
}

table.report tr.list a{
	text-decoration: underline;
}

table.result .point_info{
	font-weight:bold;
	padding:40px 15px;
	white-space: nowrap;
}

table.report .point_info{
	text-align:center;
	font-weight:bold;
	padding-left:15px;
	padding-right:15px;
	white-space: nowrap;
}

table.report .point_info{
	width:25px;
}

table.report tr:nth-child(1){
  font-weight: bold;
  font-size: 30px;
}

table.report tr:nth-child(2){
  font-weight: bold;
  font-size: 25px;
}

table.report tr:nth-child(3){
  font-weight: bold;
  font-size: 20px;
}


/* 送信フォーム */

.form_box{
	padding: 0 0 20px;
	background: #f5f5f5;
}

.post_form_box{
	padding: 60px 0 20px;
	background: #f5f5f5;
}

.comment_form_box{
	padding: 0 0 20px;
	background: #f5f5f5;
}

.comment_form_box .container{
	border-top:1px solid #ddd;
	padding:60px 0 !important;
}

.admin_form_box{
	padding: 30px 0 20px;
	background: #f5f5f5;
}

.form_delete_button{
	padding:15px;
}


#post_form{
	font-size:14px;
	margin:0 auto;
}

.form_box .form-group{
	margin-top: 25px;
	margin-bottom: 25px;
	padding:0;
}

.admin_form_box .form-group{
	margin-top: 25px;
	margin-bottom: 25px;
	padding:0 40px;
}

.form_preview{
	padding-top: 4px;
	margin-bottom: 0px;
	font-size: 18px;
}

.form_preview_button{
	padding-top:20px;
}

span.post_preview{
	font-size:16px;
}

textarea{
	resize: vertical;
	height:150px;
}

input.button,input.button_c{
	font-size: 16px;
	color: #fff;
	margin-right:10px;
	padding: 10px 20px;
	background: #3267A1;
	border-radius: 5px;
	border: 1px solid #556e89;
	box-shadow:0px 1px 3px rgba(000,000,000,0.5);
}

input.button_c{
	background: #A3B2B9;
	border: 1px solid #9C9F97;
}

input.button:hover{
	background: #164f8e;
}

input.button_c:hover{
	background: #8f9ba0;
}

label{
	font-weight: normal;
	margin-bottom: 0;
	color:#777;
}

.help-block, div.panel-body .help-block{
	margin:10px 0;
	font-size:90%;
}


/* 送信フォーム（管理画面） */

span.message{
	color:#479bef;
	font-weight:bold;
}

span.message_error{
	color:#e60012;
	font-weight:bold;
}

.message_a{
	color:#e60012;
}


.file_input{
	float:left;
}

.file_input span.select_button{
	font-size: 90%;
}

input#topic_img{
	display: none;
}

.img_preview{
	max-width: 300px;
	height:auto;
	margin:20px 0;
}

#clear{
	margin:10px 0;
}


ul.edit_menu li{
	padding:5px 15px 5px 0;
	display:inline-block;
	vertical-align:middle;
}

.edit_post_info{
	color:#656565;
	font-size: 14px;
	margin-bottom: 0;
}

.edit_post_info tbody tr th{
	width:150px;
	padding:15px;
}

.edit_post_info tbody tr td{
	padding:15px;
}


/* 送信フォーム（お題投稿画面 詳細設定部分） */

#accordion .panel-body{
	padding:20px 0;
}


/* 「投稿していただいた方」の表示部分 */

.players_box{
	padding:20px 0 100px;
	background: #f5f5f5;
	color: #5d5d5d;
}

.players_heading{
	font-size:15px;
	padding:0px 15px;
	font-weight: bold;
}

.players_body,
.voterlist{
	padding:25px 15px;
}

.players_body a,
.voterlist a,
ul.meta li a,
span.label_org a{
	text-decoration:underline;
}


/* 結果表示 */

.table_box h3{
	font-size:18px;
	line-height: 1.7;
	margin:15px 0;
}

.rank_num_box{
	text-align: center;
	color:#555;
}

span.anaume{
	color:#ff6600;
}

a:hover span.anaume{
	color:#ffb27f;
}


ul.meta li{
	display:inline-block;
	vertical-align: middle;
	font-size:14px;
	margin-left:15px;
	color:#666;
}

.rank_num{
	font-size:26px;
	padding:0px 10px;
	border-bottom: 1px solid #888;
}

.rank_unit{
	font-size:60%;
	padding-left:1px;
}

/* コメント */

.comment{
	color:#777;
	font-size:12px;
	padding:15px;
	border: 1px solid #DDD;
	margin: 0 15px 10px;
	background:#eee;
	border-radius: 3px;
}

.comment_name{
	font-weight:bold;
}

.comment a{
	text-decoration: underline;
}
.comment{
	overflow:hidden;
}


/* ランキング */

.ranking_box {
	padding: 30px 0;
	background: #f5f5f5;
}

.ranking_box .panel{
	background: none;
}

.ranking_content_head{
	text-align:center;
}

.ranking_content{
	text-align: left;
}

.ranking_box h2{
	font-size:18px;
	margin:15px 0;
	line-height: 1.7;
	color: #666;
}

.ranking_box h3{
	font-size:16px;
	line-height: 1.7;
	margin:15px 0;
	color:#555;
}

.ranking_box table.report tr.list .post_body a{
	text-decoration: none;
}

.ranking_box table.report tr.list .post_body a h3:hover{
	color:#999;
}

.ranking_posts_num{
	padding: 10px 0;
}


/* スマホだけに適用するCSS */
@media screen and (max-width:769px)
{
	#fixed-header .container,
	#main .container{
		max-width:100%;
	}

	#post_form .form-group{
		padding: 0 20px;
		margin-right: 0;
		margin-left: 0;
	}

	table.result tr.post_info td,
	table.report td{
		padding:15px 5px;
	}

	table.postlist .point_info{
		padding:20px 0px 20px 10px;
		width:110px;
	}

	table.postlist tr.list td.post_cell{
		padding:20px 5px 20px 10px;
		font-size: 16px!important;
	}

	table.result tr.list td{
		padding:20px 10px !important;
	}

	table.result tr.list td.post_cell h3{
		font-size:15px;
		line-height:1.7;
	}
	
	table.report tr.list td{
		padding:20px 5px;
	}
	
	table.report .point_info{
		padding-left:5px;
		padding-right: 5px;
	}
	
	table.report tr td:first-child,
	table.report tr th:first-child{
		padding-left:15px;
	}
	
	th.point_info .btn{
		padding:12px 12px;
	}

	#login-box,#error-box,#success-box{
		max-width:100%;
	}

	.edit_post_info tbody tr th{
		width:150px;
	}

	.annotation{
		white-space: nowrap;
	}

	.img_view{
		width:100%;
		max-width: 100%;
	}

	.img_preview{
		max-width: 100%;
	}

}
