/*=================================
Common
==================================*/
div.top-belt {
	display: flex;
	background: #5d00bb;
	color: #FFFFFF;
	justify-content: center;
	align-items: center;
}

/*=================================
 PC
==================================*/
div#pcmain {
	text-align:left;
	padding:10px 30px;;
	background:white;
}



/*=================================
 Mobile
==================================*/
body {
	background:gray;
	padding:0;
	margin:0;
	display: flex;
	flex-flow: column;
	height: 100%;
	font-family: Helvetica,"Sawarabi Gothic",Meiryo,"メイリオ","Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN",YuGothic,"游ゴシック",Arial,sans-serif;
/*
	width:100%;
	height:100%;
*/
}
div#main {
	position:relative;
	width:100%;
	max-width:460px;
	text-align:left;
	background:white;
	margin-right:auto;
	margin-left:auto;
	flex: 1;
}
div#main_margin {
	margin:10px;
}
div.cfgmenu {
}
nav#curp {
	text-align:left;
}
nav#curp ul {
	list-style:none;
	display:table;
	padding-left:0;
}
nav#curp li {
	display:table-cell;
	color:#585858;
}
nav#curp li:first-child:before {
	content: '';
}
nav#curp li:before {
	content: ' -> ';
	margin-left:5px;
}



/*=================================
 PC Party
==================================*/
input[type="text"].party_name_input {
	width:150px;
}
input[type="text"].party_short_name_input {
	width:70px;
}
div.partyList {
	display:table;
}
div.partyList div {
	display:table-cell;
	padding:0 5px;
}



/*=================================
 PC Candidate
==================================*/
input[type="text"].candidate_name_input {
	width:120px;
}
input[type="text"].candidate_name_kana_input {
	width:120px;
}
div.candidateList {
	display:table;
}
div.candidateList div {
	display:table-cell;
	padding:0 5px;
}



/*=================================
 PC Turnout
==================================*/
input[type="text"].now_voters_input {
	width:80px;
}
input[type="text"].now_turnout_input {
	width:80px;
}
div.turnoutList {
	display:table;
}
div.turnoutList div {
	display:table-cell;
	padding:0 5px;
}



/*=================================
 PC Report
==================================*/
input[type="text"].report_date_input {
	width:160px;
}
input[type="text"].report_time_input {
	width:80px;
}
div.reportList {
	display:table;
}
div.reportList div {
	display:table-cell;
	padding:0 5px;
}



/*=================================
 PC Count
==================================*/
input[type="text"].count_print_name {
	width:200px;
}
input[type="text"].count_input {
	width:160px;
}
div.countList {
	display:table;
}
div.countList div {
	display:table-cell;
	padding:0 5px;
}



/*=================================
 header
==================================*/
div#pagetop {
	background: #5d00bb;
	color:#FFFFFF;
	font-size:18px;
	font-weight:bold;
	margin: 10px auto;
	text-align: center;
}



/*=================================
 footer
==================================*/
div#footer {
	border:solid 1px #BDBDBD;
	position: relative;
	margin: 0 auto;
	padding-bottom: 10px;
	max-width:458px;
	width: 100%;
	background: #FFFFFF;
}
div#footer .footer_top {
	background:#BDBDBD;
	font-weight:bold;
	padding: 3px 10px;
}
div#footer .footer_main {
	line-height:24px;
	padding: 3px 10px;
}


/*=================================
 table
==================================*/
table {
	border-collapse:collapse;
	border-spacing:0;
}

table.lstTbl01 {
	width:100%;
	font-size:88%;
}
table.lstTbl01 tr {
	border-top:solid 1px #B7B7AC;
}
table.lstTbl01 tr:last-child {
	border-bottom:solid 1px #B7B7AC;
}
table.lstTbl01 thead th {
	text-align:left;
	font-size:86%;
	color:#666;
	padding:4px 0;
}



table.lstTbl01 thead .rose {
	width:25px;
}
table.lstTbl01 thead .name {
	width:30%;
	padding-left:3px;
}
table.lstTbl01 tbody td {
	padding:5px;
	line-height:1.3;
}
table.lstTbl01 thead,tbody .num {
	width:30%;
	font-weight:bold;
	text-align:right;
	line-height:1.3;
}
div.dispTime {
	padding:0 0 5px 15px;
}



/*=================================
 index.php
==================================*/
div.content01 {
	display: table;
	border: solid 1px black;
	width: 100%;
	border-collapse: collapse;
}
div.content-block{
	display: table-cell;
	border-right: solid 1px black;
	border-collapse: collapse;
}
div.content01 .item {
	padding: 10px;
	line-height: 20px;
}
div.content01 ul {
	margin-top: 0;
	margin-bottom: 0;
}
div.content-title {
	font-weight:bold;
	background: #EEEEEE;
	min-height: 28px;
	text-align: center;
	padding-top: 7px;
	border-bottom: solid 1px black;
	border-collapse: collapse;
}

h1 {
	text-align:center;
	line-height:40px;
	font-size: 28px;
}

h2.sp_headline {
	clear: both;
	margin: 20px 0px;
	padding: 24px 10px 23px 30px;
	background-image:url('images/h2_bg.png');
	border: none;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.4;
}

h2.headline2 {
	position: relative;
	padding: 0.1em 0.5em;
	background: -webkit-linear-gradient(to left,#5d00bb,transparent);
	background: linear-gradient(to left,#5d00bb,transparent);
	color: #5d00bb;
	padding: 0.25em 0.5em;/*上下 左右の余白*/
	border-left: solid 5px #5d00bb;/*左線*/
}

h2.headline3 {
	position: relative;
	padding: 0.1em 0.5em;
	font-size: 18px;
	color: #5d00bb;
	padding: 0.25em 0.5em;/*上下 左右の余白*/
	border-left: solid 5px #5d00bb;/*左線*/
}

/*=================================
Polling Station table
==================================*/
div.ps_table_line {
	display: table;
	width: 100%;
	margin-top: -1px;
	border-collapse: collapse;
}
div.ps_block_left {
	display: table-cell;
	padding: 3px 7px;
	width: 4em;
	text-align: center;
	border: solid 1px #999;
　　　　border-collapse: collapse;
}
div.ps_block_right {
	display: table-cell;
	padding: 3px 7px;
	border: solid 1px #999;
	margin-left: -1px;
　　　　border-collapse: collapse;
}

div.ps_pink {
	/*
        background: #ffb6c1; */
　　　　border-collapse: collapse;
}



/*=================================
Judge table
==================================*/
div.jdg_table_line {
	display: table;
	width: 100%;
}
div.jdg_block_left {
	display: table-cell;
	padding: 3px 7px;
	width: 34%;
	border: solid 1px #999;
}
div.jdg_block {
	display: table-cell;
	padding: 3px 7px;
	width: 22%;
	border: solid 1px #999;
}
div.al_right {
	text-align: right;
}
div.al_center {
	text-align: center;
}
div.fsmall {
	font-size: 14px;
}

/*=================================
PR table
==================================*/
div.pr_table {
	display: table;
	border-collapse: collapse;
	width: 100%;
}
div.pr_table_line {
	display: table-row;
	width: 100%;
}
div.pr_block_left {
	display: table-cell;
	padding: 3px 7px;
	width: 70%;
	border: solid 1px #999;
}
div.pr_block {
	display: table-cell;
	padding: 3px 7px;
	width: 30%;
	border: solid 1px #999;
	text-align: right;
}


ul.aMenu > li {
	margin-top:0.5em;
	margin-bottom:0.5em;
}

/*=================================
Voter table
==================================*/
div.vt_table {
	display: table;
	border-collapse: collapse;
	width: 100%;
}

div.vt_table_line {
	display: table-row;
	width: 100%;
	font-size: 12px;
}
div.vt_block_left {
	display: table-cell;
	padding: 3px;
	width: 8%;
	border: solid 1px #999;
}
div.vt_block {
	display: table-cell;
	padding-right: 3px;
	width: 23%;
	border: solid 1px #999;
}

/*================================
Counting table
==================================*/
div.c_table {
	display: table;
	width: 100%;
	border-collapse: collapse;
}
div.c_table_row {
	display: table-row;
	width: 100%;
	border-top: solid 1px #B7B7AC;
	border-bottom: solid 1px #B7B7AC;
	font-size: 70%;
}
div.c_table_name {
	display: table-cell;
	width: 40%;
	padding: 0.3em;
}
div.c_table_num {
	display: table-cell;
	width: 30%;
	text-align: right;
	padding-right: 5em;
	font-weight: bold;
}
div.c_table_party {
	display: table-cell;
	width: 30%;
}

div.c_table_candidate {
    display: table-cell;
    width: 30%; /* 必要に応じて調整 */
    padding: 0.3em;
}

div.c_table_title{
	font-size: 86%;
	color: #666;
	padding: 0.3em;
	font-weight: bold;
}

/* 政党表　 */

/* テーブル全体のスタイル */
.party-table {
  width: 100%; /* 横幅いっぱい */
  border-collapse: collapse; /* セルの境界線を一本線に */
  text-align: center; /* 文字を中央揃えに */
  font-family: sans-serif; /* シンプルなフォントを指定 */
}

/* 見出し(th)とデータセル(td)に共通のスタイル */
.party-table th,
.party-table td {
  border: 1px solid #ccc; /* 薄いグレーの線 */
  padding: 12px 8px;      /* セル内の余白（上下に12px、左右に8px） */
  vertical-align: middle; /* 文字の上下位置を中央に */
}

/* データ行(tbodyの中のtr)にマウスを乗せた時のスタイル */
.party-table tbody td:hover {
  background-color: #e9f5ff; /* 薄い青色に変化させる */
}


/*================================
国民審査
================================*/
div.dd_table {
	display: table;
	width: 100%;
	border-collapse: collapse;
}
div.dd_table_row {
	display: table-row;
	width: 100%;
	border-top: solid 1px #B7B7AC;
	border-bottom: solid 1px #B7B7AC;
	font-size: 88%;
}
div.dd_table_name {
	display: table-cell;
	width: 40%;
	padding: 0.3em;
}
div.dd_table_num {
	display: table-cell;
	width: 30%;
	text-align: right;
	padding-right: 5em;
	font-weight: bold;
}
div.dd_table_party {
	display: table-cell;
	width: 30%;
}
div.dd_table_title{
	font-size: 86%;
	color: #666;
	padding: 0.3em;
	font-weight: bold;
}