body {
	font-size: 14px;
}

.marginTop10 {
	margin-top: 10px;
}
.marginTop20 {
	margin-top: 20px;
}
.marginBottom0 {
	margin-bottom: 0;
}
.marginBottom10 {
	margin-bottom: 10px;
}
.marginBottom20 {
	margin-bottom: 20px;
}

.font-weight-normal {
	font-weight: normal;
}

.fcred{
	color: #ff0000;
}

/*
 * インプットグループ用の解像度にあわせた設定
 */
@media (max-width: 767px) {
	.input-group-addon.label-xs-block {
		display: block;
		width: 100%;
	}
	.input-group-addon.label-xs-block:first-child {
		border-right: solid 1px #ccc;
		border-top-right-radius: 4px;
		border-bottom-left-radius: 0;
	}
	.form-control.input-xs-block {
		display: block;
		width: 100%;
	}
	.form-control.input-xs-block:last-child {
		border-top: 0;
		border-top-right-radius: 0;
		border-bottom-left-radius: 4px;
	}
}

/*
 * テーブルを解像度にあわせてブロック表示にする
 */
@media (max-width: 767px) {
	table.table-block-xs {
		border: none;	/* th および td がブロック要素になることで、tableへのborder設定が行われると線が太くなる */
	}
	table.table-block-xs > tbody > tr > th,
	table.table-block-xs > tbody > tr > td {
		display: block !important;
		width: auto !important;
		border-bottom-width: 0px !important;
	}
	table.table-block-xs > tbody > tr:last-child > *:last-child {
		border-bottom-width: 1px !important;
	}
	table.table-block-xs > tbody > tr > th {
		background-color: #eee;
	}
	
	table.table-tworow-in-one-xs > tbody > tr:nth-child(odd) > th,
	table.table-tworow-in-one-xs > tbody > tr:nth-child(odd) > td {
		border-bottom-color: #eee;
		border-bottom-style: dotted;
	}
	table.table-tworow-in-one-xs > tbody > tr:nth-child(even) > th,
	table.table-tworow-in-one-xs > tbody > tr:nth-child(even) > td {
		border-top-color: #eee;
		border-top-style: dotted;
	}
}

/*
 * 大会管理
 */
.entryPage {
	
}
	.entryPage.showDetail .listBlock {
		display: none;
	}
	.entryPage .detailBlock {
		display: none;
	}
		.entryPage.showDetail .detailBlock {
			display: block;
		}
	.entryPage .detailClassQuestion .infoarea {
	}
		.entryPage .detailClassQuestion.happendValidError .infoarea,
		.entryPage .detailClassQuestion.editOn .infoarea {
			display: none;
		}
	.entryPage .detailClassQuestion .editarea {
		display: none;
	}
		.entryPage .detailClassQuestion.happendValidError .editarea,
		.entryPage .detailClassQuestion.editOn .editarea {
			display: block;
		}
	.entryPage .detailClassQuestion ul.editListUl .inputarea {
		display: none;
	}
		.entryPage .detailClassQuestion ul.editListUl li.open .inputarea {
			display: block;
		}
		.entryPage .detailClassQuestion ul.editListUl button.opener {
		}
			.entryPage .detailClassQuestion ul.editListUl li.open button.opener {
				display: none;
			}
		.entryPage .detailClassQuestion ul.editListUl button.closer {
			display: none;
		}
			.entryPage .detailClassQuestion ul.editListUl li.open button.closer {
				display: inline;
			}

		.entryPage .detailClassQuestion ul.editListUl .openCloseTr.btnUp {
			display: none;
		}
			.entryPage .detailClassQuestion ul.editListUl table.openGroupTeam .openCloseTr.btnUp[data-tr="GroupTeam"] {
				display: inline;
			}
			.entryPage .detailClassQuestion ul.editListUl table.openGroupTeam .openCloseTr.btnDown[data-tr="GroupTeam"] {
				display: none;
			}
			.entryPage .detailClassQuestion ul.editListUl table.openGroupMember .openCloseTr.btnUp[data-tr="GroupMember"] {
				display: inline;
			}
			.entryPage .detailClassQuestion ul.editListUl table.openGroupMember .openCloseTr.btnDown[data-tr="GroupMember"] {
				display: none;
			}
		.entryPage .detailClassQuestion ul.editListUl tr.GroupMember,
		.entryPage .detailClassQuestion ul.editListUl tr.GroupTeam {
			display: none;
		}
			.entryPage .detailClassQuestion ul.editListUl table.openGroupMember tr.GroupMember,
			.entryPage .detailClassQuestion ul.editListUl table.openGroupTeam tr.GroupTeam {
				display: table-row;
			}

		.entryPage .detailClassQuestion .disableQrCheckin {
			opacity: 0.3;
			pointer-events: none
		}

/*
 * バリデーションメッセージ
 */
.caution.label {
	font-size: 100%;
}

/*
 * お申込み一覧
 */
#idEntryList {
}
	#idEntryList .modal-dialog {
		margin: 0 auto;
		width: 80%;
		font-size: 12px;
	}
	#idEntryList .modal-dialog .option_btn {
		display: flex;
		align-items: center;
		position: absolute;
		left: 200px;
		top: 16px;
	}
		#idEntryList .modal-dialog .option_btn label {
			display: flex;
			align-items: center;
		}
		#idEntryList .modal-dialog .option_btn label + label {
			margin-left: 0.5em;
		}

	#idEntryList .modal-dialog .tablewrapper {
		width: 100%;
		overflow: auto;
	}
		#idEntryList .modal-dialog .tablewrapper table th,
		#idEntryList .modal-dialog .tablewrapper table td {
			white-space: nowrap;
		}

/*
 * 決済ステータス変更
 */
#idChangeStatus {
}
	#idChangeStatus .modal-dialog {
		margin: 0 auto;
		width: 80%;
		font-size: 12px;
	}
	#idChangeStatus .modal-dialog .findcmd {
		margin-bottom: 1em;
	}
	#idChangeStatus .modal-dialog .tablewrapper {
		width: 100%;
		overflow: auto;
	}
		#idChangeStatus .modal-dialog .tablewrapper table th,
		#idChangeStatus .modal-dialog .tablewrapper table td {
			white-space: nowrap;
		}

/*
 * ログイン状況 パーツ
 */
#es_loginstatus {
    height: 43px;
}
@media screen and (max-width: 420px) {
	#es_loginstatus {
		height: auto;
	}
}
#es_loginstatus .wrapper {
    display: block;
    /* float: right; */ /* 20161206山口コメント化 */
    /* width: 435px; */ /* 20161206山口コメント化 */
    font-size: 12px;
}
#es_loginstatus .wrapper form {
    /* width: 420px; */ /* 20161206山口コメント化 */
    height: 31px;
    /*background: url("../img/union/bg-logout.jpg") no-repeat scroll left top transparent;*/
    padding: 12px 0px 0px 15px;
    margin-bottom: 10px;
    /* overflow: hidden; */ /* 20161214山口コメント化 */
	box-sizing: content-box;
	position: relative;
	}
#es_loginstatus .wrapper form.statusLogout {
    /*background: url("../img/union/bg-login.jpg") no-repeat scroll left top transparent;*/
	}
@media screen and (max-width: 420px) {
	#es_loginstatus .wrapper {
	    display: block;
	    float: none;
	    width: auto;
	}
	
	#es_loginstatus .wrapper form,
	#es_loginstatus .wrapper form.statusLogout {
		width: auto;
		height: auto;
		background: #fff;
		background-image: none;
		padding: 0;
		margin-bottom: 0;
	}
}

	#es_loginstatus .wrapper form ul {
		padding: 0;
	}
	@media screen and (max-width: 420px) {
		#es_loginstatus .wrapper form ul {
			padding: 10px;
			margin-bottom: 0;
		}
	}

	#es_loginstatus .wrapper form button.logout {
	    position: absolute;
	    right: 8px;
	    top: 10px;
		background: #ddd;
		border: none;
		border-radius: 4px;
	}
	#es_loginstatus .wrapper form button.logout:active,
	#es_loginstatus .wrapper form button.logout:hover {
		background: #ccc;
	}
	
	#es_loginstatus .wrapper form li {
		float: left;
		list-style-type: none;
	}
	@media screen and (max-width: 420px) {
		#es_loginstatus .wrapper form li {
			/* float: none; */ /* 20161206山口コメント化 */
		}
	}

		/*ユーザー名*/
		#es_loginstatus .wrapper form li.txt-user {
			text-indent: -9999px;
			display: block;
			width: 60px;
			height: 20px;
			background: url(../img/union/txt-username.jpg) no-repeat left 0;
			}
		/* マイページボタン */
		#es_loginstatus .wrapper form li.mypage a:link,
		#es_loginstatus .wrapper form li.mypage a:visited,
		#es_loginstatus .wrapper form li.mypage a:active {
			display: block;
			text-indent: -9999px;
			margin-left: -4px;
			margin-right: 4px;
			margin-top: 3px;
			width: 83px;
			height: 15px;
			background: url(../img/union/btn-mypage.jpg) no-repeat left top;
			}
		@media screen and (max-width: 420px) {
			#es_loginstatus .wrapper form li.mypage {
				display: inline-block;
				width: 30%;
				margin-left: 0;
			}
		}
		
		#es_loginstatus .wrapper form li.tuinput {
			text-align: left;
			width: 110px;
			line-height: 20px;
			height: 20px;
			}
			@media screen and (max-width: 420px) {
				#es_loginstatus .wrapper form li.tuinput {
					display: inline-block;
					width: auto;
					white-space: nowrap;
				}
			}
		#es_loginstatus .wrapper form li.btn-logout { margin: 0px 0px 0px 3px;}

		#es_loginstatus .wrapper form li.loginLink {
			margin-left: 10px;
		}
		@media screen and (max-width: 420px) {
			#es_loginstatus .wrapper form li.loginLink {
				margin: 0 10px 0 0;
			}
			#es_loginstatus .wrapper form li.gn03 {
				display: inline-block;
				width: 50%;
			}
			#es_loginstatus .wrapper form li.gn04 {
				display: inline-block;
			}
		}

		/* ユーザー登録 */
		#es_loginstatus .wrapper form li.gn03 a:link,
		#es_loginstatus .wrapper form li.gn03 a:visited,
		#es_loginstatus .wrapper form li.gn03 a:active {
			margin-left: 30px;
			margin-top: 3px;
			text-indent: -9999px;
			display: block;
			width: 89px;
			height: 15px;
			background: url(../img/union/gn-user.gif) no-repeat left top;
			}

		@media screen and (max-width: 420px) {
			#es_loginstatus .wrapper form li.gn03 a:link,
			#es_loginstatus .wrapper form li.gn03 a:visited,
			#es_loginstatus .wrapper form li.gn03 a:active {
				margin-left: 0;
			}
		}

		/* ユーザー名・パスワードをお忘れの方 */
		#es_loginstatus .wrapper form li.gn04 a:link,
		#es_loginstatus .wrapper form li.gn04 a:visited,
		#es_loginstatus .wrapper form li.gn04 a:active {
			text-indent: -9999px;
			margin-left: 20px;
			margin-top: 3px;
			display: block;
			width: 157px;
			height: 15px;
			background: url(../img/union/gn-pass.gif) no-repeat left top;
			}
		
		@media screen and (max-width: 420px) {
			#es_loginstatus .wrapper form li.gn04 a:link,
			#es_loginstatus .wrapper form li.gn04 a:visited,
			#es_loginstatus .wrapper form li.gn04 a:active {
				margin-left: 0;
			}
		}

/*
 * マイページ大会詳細
 */
#mypage_detail td .printQr {
	display: none;
}

/*
 * モーダル
 */
.cssModal {
	position: fixed;
	left: 0;
	top: 0;
	display: none;
	width: 100vw;
	height: 100vh;
}
	.cssModal.open {
		display: block;
	}
	.cssModal .cssModalBg {
		position: absolute;
		z-index: 998;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background-color: #000;
		opacity: 0.75;		
	}
	.cssModal .cssModalContent {
		position: absolute;
		z-index: 999;
		left: 50%;
		top: 50%;
		border-radius: 8px;
	}
		.cssModal .cssModalContent.qrModal {
			background-color: #fff;
			width: 300px;
			min-height: 300px;
			margin-left: -150px;
			margin-top: -150px;
			padding: 16px;
			font-size: 14px;
			line-height: 16px;
			text-align: center;
		}
			.cssModal .cssModalContent.qrModal .taikaimei {
				padding: 4px 0;
				font-size: 21px;
				line-height: 1.1;
			}
			.cssModal .cssModalContent.qrModal .syumokumei {
				padding: 4px 0;
			}
			.cssModal .cssModalContent.qrModal .zekken {
				padding: 4px 0;
				font-size: 28px;
			}
			.cssModal .cssModalContent.qrModal #qrcode {
				margin: 16px;
			}
			


/************************************
** 誓約内容表示toggleボタン
************************************/
.toggle-wrap .toggle-button {
  display: inline-block;
  position: relative;
  text-decoration: none;
  color: #fff;
  width: 100%;
  height: 30px;
  line-height: 30px;
  border-radius: 5px;
  text-align: center;
  overflow: hidden;
  font-weight: bold;
  background: linear-gradient(#FBB03B 0%, #F15A24 100%);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.28);
}
 
.toggle-wrap .toggle-button:hover {
  border-color: red;
}

.toggle-wrap .toggle-content{
	padding: 2% 4%;
	border: 1px solid #F15A24;
	margin:  0 0 5px 0;
	color: #000;
}

.toggle-wrap .toggle-content h2{
	text-align: center;
	font-weight: bold;
	font-size: 125%;
	color: #F15A24;
	margin: 5px 0;
}

.toggle-wrap .toggle-content,
.toggle-wrap > input[type="checkbox"] {
  display: none;
}
 
.toggle-wrap > input[type="checkbox"]:checked ~ .toggle-content {
  display: block;
}

/************************************
** 領収書発行、宛名など設定
************************************/
#mypage_detail .btnReceipt.disabled {
	opacity: 0.3;
	pointer-events: none;
}
#mypage_detail .formReceipt {
	padding: 16px 8px 8px;
	width: 360px;
	text-align: center;
	display: none;
}
#mypage_detail .formReceipt table.tblReceipt {
	margin-bottom: 8px;
}
#mypage_detail .formReceipt table.tblReceipt td {
	text-align: left;
}
#mypage_detail .formReceipt table.tblReceipt td .radio {
	margin-top: 0;
	margin-bottom: 0;
}
#mypage_detail .formReceipt .caution {
	color: #f00;
}
#mypage_detail .formReceipt .cmd {
	padding-top: 8px;
}

.cssDecision {
	color: #f00;
}


/*
 * マイページUFポイント表示
 */
 .cssMypageUFPoint {
	position: absolute;
	right: 16px;
	top: 4px;
}
.cssMypageUFPoint dl {
	border: solid 1px #eee;
	border-radius: 8px 8px 0 0;
	margin: 0;
	padding: 0;
	font-size: 16px;
}
.cssMypageUFPoint dl dt {
	display: block;
	text-align: center;
	background-color: #C9281F;
	color: #fff;
	line-height: 28px;
}
.cssMypageUFPoint dl dd {
	display: block;
	text-align: center;
	line-height: 24px;
	font-size: 14px;
	padding: 0 30px;
}
.cssMypageUFPoint dl dt + dd {
	padding-top: 8px;
	font-size: 20px;
}
.cssMypageUFPoint dl dd:last-child {
	padding-bottom: 8px;
}

/*
 * UFポイント履歴
 */
#mypage_point .haspoint {
	text-align: right;
	padding-right: 20px;
}
#mypage_point .haspoint dl {
	margin-bottom: 10px;
}
#mypage_point .haspoint dl dt {
	display: inline;
	border-bottom: solid 1px #ccc;
}
#mypage_point .haspoint dl dd {
	display: inline;
	border-bottom: solid 1px #ccc;
}
#mypage_point table.historypoint {
	table-layout: fixed;
	border: none;
}
#mypage_point table.historypoint td.date {
	width: 96px;
}
#mypage_point table.historypoint td.zogen {
	width: 64px;
}
#mypage_point table.historypoint td {
	border: none;
	text-align: center;
	box-sizing: border-box;
	border-bottom: solid 1px #eee;
}
#mypage_point table.historypoint td.date {
	text-align: center;
}
#mypage_point table.historypoint td.zogen p {
	width: 100%;
	margin: 0;
	text-align: right;
	padding-right: calc( 50% - 1em);
}
#mypage_point table.historypoint td.zogen p .zo {
	color: #000;
	font-weight: bold;
}
#mypage_point table.historypoint td.zogen p .gen {
	color: #c92a20;
}
#mypage_point table.historypoint td.tekiyo {
	text-align: left;
}

@media screen and (max-width: 320px) {

	.cssMypageUFPoint dl dd {
		padding: 0 15px;
	}
	
}

@media screen and (max-width: 420px) {
 .cssMypageUFPoint {
	position: absolute;
	right: -5px;
	top: -100px;
}
	
	#mypage_point .panel-body {
		padding: 4px;
	}
	#mypage_point table.historypoint {
		font-size: 12px;
	}
	#mypage_point table.historypoint th {
		padding-left: 2px;
		padding-right: 2px;
	}
	#mypage_point table.historypoint td {
		padding-left: 2px;
		padding-right: 2px;
	}
	#mypage_point table.historypoint td.date {
		width: 74px;
	}
	
	
}

/*
 * 使用するUFポイント含んだエントリー費合計
 */
table.tblFeeTotal {
	margin-left: auto;
	margin-right: auto;
}
table.tblFeeTotal tr > * {
	padding-left: 8px;
	padding-right: 8px;
}
table.tblFeeTotal tr.mei > * {
	border-bottom: dotted 1px #aaa;
}
table.tblFeeTotal tr.gapline > * {
	padding-top: 4px;
	border-bottom: solid 1px #333;
}
table.tblFeeTotal tr > td > input {
	width: 96px;
}
table.tblFeeTotal tr > td > input.ronly {
	background-color: transparent;
	border: none;
	box-shadow: none;
}

/*
 * 使用UFポイント集計
 */
#pageUfPointSummary table.summary thead th {
	text-align: center;
}
#pageUfPointSummary table.summary tbody td:nth-child(2),
#pageUfPointSummary table.summary tbody td:nth-child(4),
#pageUfPointSummary table.summary tbody td:nth-child(6) {
	text-align: right;
	border-right: none;
}
#pageUfPointSummary table.summary tbody td:nth-child(3),
#pageUfPointSummary table.summary tbody td:nth-child(5),
#pageUfPointSummary table.summary tbody td:nth-child(7) {
	border-left: none;
}

/*
 * 譲渡権状況集計
 */
 #pageAssignRightSummary table.summary thead th {
	text-align: center;
}
#pageAssignRightSummary table.summary tbody td {
	text-align: center;
}


/*
 * 郵便番号住所選択
 */
.selectZipAjaxBg {
	position: fixed;
	z-index: 99;
	display: flex;
	justify-content: center;
	align-items: center;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0,0,0,0.5);
}
.selectZipAjaxBg .selectZipAjax {
	max-height: 100vh;
	padding: 16px;
	box-sizing: border-box;
	overflow: auto;
}
.selectZipAjaxBg .selectZipAjax ul {
	cursor: pointer;
	width: auto;
	display: inline-block;
}
.selectZipAjaxBg .selectZipAjax ul li {
	cursor: pointer;
	width: auto;
}

#mypage .qrcheckin {
	display: flex;
	align-items: center; 
	flex-wrap: wrap;
}
@media print, screen and (max-width: 428px) {
	#mypage ul.qrcheckin {
		padding-left: 0;
	}
}
#mypage .qrcheckin li {
	max-width: 300px;
	border-radius: 3px;
	border: solid 1px #ddd;
	list-style-type: none;
	padding: 8px;
	margin: 8px;
}
#mypage .qrcheckin li h6 {
	font-size: 16px;
	font-weight: normal;
	border-bottom: solid 1px #ccc;
	margin: 0;
	padding: 8px 16px;
}
#mypage .qrcheckin li p {
	font-size: 14px;
	font-weight: normal;
	text-align: center;
	line-height: 2;
}
#mypage .qrcheckin li a {
	width: 100%;
}
#mypage .qrcheckin li .oneline {
	display: flex;
	margin: 16px 0;
	padding: 0;
}
#mypage .qrcheckin li .oneline div {
	width: 50%;
	border: solid 1px #aaa;
	margin-top: 16px;
	padding: 4px;
	text-align: center;
	opacity: 0.2;
}
#mypage .qrcheckin li .oneline div + div {
	margin-left: 8px;
}
#mypage .qrcheckin li .oneline div.complete {
	border: solid 1px #aaa;
	background-color: #d00;
	color: white;
	opacity: 1;
}
#mypage .qrcheckin li p.limit {
	margin: 0;
	font-size: 12px;
}

/* 大会編集 抽選エントリー関連 */
.cssLotteryInput {
	opacity: 0.25;
	pointer-events: none;
}
.cssLotteryInputOpen + .cssLotteryInput,
.cssLotteryInputOpen + .cssLotteryInput + .cssLotteryInput {
	opacity: 1;
	pointer-events: auto;
}