/**
 * 共通スタイルシート
 */
html,
body{
	height:100%;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	line-height:120%;
}
a{
	color:#1A73E8;
}
#layoutTbl{
	height:100%;
	width:100%;
	display:table;
	border-collapse:collapse;
}
#topRow,
#midRow,
#btmRow{
	display:table-row;
}
#topCol,
#midCol,
#btmCol{
	display:table-cell;
}
#topCol{
	height:1px;
	color:#FFF;
}
#topCol header{
	border-bottom: 3px solid #E3007F;
}
#topCol header #logo{
	padding:8px 0 2px 2px;
}
#topCol header #logo a img{
	width:280px;
}
#midCol{
	height:auto;
}
#mainTbl{
	display:table;
	border-collapse:collapse;
	height:100%;
	width:100%;
	max-width:1824px;
}
#mainRow{
	display:table-row;
}
#mainCol{
	display:table-cell;
	padding:0px;
	width:auto;
	position:relative;
}
#mainFrame{
	padding:0px 1em;
	width:100%;
	height:100%;
}
#mainFrame::before{
	display: block;
	line-height:0px;
	content: '　';
}
#mainFrame::after{
	display: block;
	content: '　';
}
#mainFrame section{
    margin: 30px 0 0;
}
#mainFrame section .section_title{
	position: relative;
	line-height:47px;
}
#mainFrame section .section_title:after{
	content: "";
	border-top: 3px solid #E3007F;
	width: 30px;
	position: absolute;
	top: 0;
	left: 0;
}
#mainFrame section .section_title h3{
	font-family: 'NotoSansBold';
	font-size: 26px;
	padding: 10px 0 0;
	color: #848484;
}
#btmCol{
	height:1px;
	padding:0.5em 3px;
	font-size:8pt;
	vertical-align:middle;
	background:#8F8F8F;
	color:#FFF;
	position:relative;
	z-index:2;
}
#btmCol #copy{
	font-family: Century,'ＭＳ 明朝', serif;
	text-align:center;
}
#category_wrap{
	margin-bottom:30px;
}
#category_wrap p{
	margin-bottom:5px;
	font-weight:bold;
}
#category_row select#category{
	width:200px;
	height:32px;
	vertical-align:top;
}
#category_row img#reload{
	width:32px;
	height:32px;
	margin-left:5px;
}
.list_row{
	width:100%;
	max-width:500px;
	position:relative;
}
.list_row p{
	margin-bottom:5px;
	font-weight:bold;
}
.list_row div.lock_btn{
	cursor: pointer;
	position: absolute;
	top: -9px;
	right: 5px;
	width:106px;
	height:28px;
	line-height:28px;
	text-align:center;
	border: 1px solid rgba(0, 0, 0, 0.2);
	border-radius: 5px;
	background-color: #f0f0f0;
	box-shadow: 2px 2px 2px rgba(0,0,0,0.3);  
}
.list_row.lock{
	height:32px;
}
.list_row div#lock{
	top: 4px;
	background-color: #ffa436;
}
#list_table{
	width:100%;
	max-width:500px;
}
#list_table tr.odd{
	background-color:#FFF;
}
#list_table tr.even{
	background-color:#EBFAEB;
}
#list_table th,
#list_table td{
	border:1px solid #999;
	vertical-align: middle;
}
#list_table th{
	background-color:#ccc;
	line-height:28px;
	font-weight:normal;
}
#list_table td{
	line-height:20px;
	height:43px;
}
#list_table .col1{
	width:auto;
}
#list_table td.col1 .bib{
	font-size:18px;
}
#list_table td.col1 .name{
	font-size:20px;
	font-weight:bold;
}
#list_table .col2{
	width:117px;
}
#list_table td.col2{
	text-align:center;
	padding:5px;
}
#list_table td.nodata{
	text-align:center;
}
.locked{
	margin:0 auto;
	width:53px;
	height:32px;
	line-height:32px;
	text-align:center;
	border: 1px solid rgba(0, 0, 0, 0.4);
	border-radius: 5px;
}
.locked.ok{
	background-color: #75bbff;
}
.locked.ng{
	background-color: #ff8d8d;
}
.rollcall_radio{
	display: flex;
	overflow: hidden;
}
.rollcall_radio input{
	position: absolute !important;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	width: 1px;
	border: 0;
	overflow: hidden;
}
.rollcall_radio label{
	cursor: pointer;
	background-color: #f0f0f0;
	color: #999;
	text-align: center;
	font-size: 16px;
	line-height: 1;
	padding: 7px 14px;
	margin-right: 0px;
	border: 1px solid rgba(0, 0, 0, 0.4);
	transition: all 0.2s ease-in;
}
.rollcall_radio input:checked + label:first-of-type{
	background-color: #75bbff;
	color:#222;
}
.rollcall_radio input:checked + label:last-of-type{
	background-color: #ff8d8d;
	color:#222;
}
.rollcall_radio label:first-of-type{
	border-radius: 5px 0 0 5px;
	border-right:none;
}
.rollcall_radio label:last-of-type{
	border-radius: 0 5px 5px 0;
}
