@charset "UTF-8";

*{
	margin: 0px;
	padding: 0px;
}

body {
    font-family: "Meiryo UI", "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3";
    font-size: 13px;
    line-height: 1.1;
    background-color: #fff;
}

ul {
    margin: 0px;
    padding: 0px;
    list-style: none;
}

h2 {
    font-size: 140%;
    font-weight: normal;
    min-height: 42px;
    color: #000;
    background-color: #e6ffe9;
    margin: 0px 0px 8px 0px;
    padding: 10px 0 10px 12px;
    border-left-color: #4dbf80;
    border-left-width: 2px;
    border-left-style: solid;
	white-space:pre-wrap;
	word-wrap:break-word;
}

h2 i {
    padding: 0 10px 0 0;
}

h3 {
    margin-left: 5px;
    white-space: nowrap;
}

a {
    text-decoration: underline;
    color: #222222;
}
a:hover {
	color: #222222;
    text-decoration: none;
}
a:visited {
	color: #222222;
}

pre {
    font-family: "Meiryo UI", "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3";
}

.caution-message {
	color: #000066;
	font-weight: bold;
	margin: 12px;
}

#contents {
    clear: both;
    margin: 0 25px 0 10px;
    min-height: 600px;
}

#LoginBox {
    margin: 40px auto 0 auto;
    padding: 15px 10px 15px 10px;
    width: 50%;
    min-width: 320px;
    border: 2px solid #005500;
    border-radius: 5px;
    background: transparent;
    background-color: #efefff;
}

#LogoutBox {
    margin: 40px auto 0 auto;
    padding: 15px 10px 15px 10px;
    width: 50%;
    min-width: 320px;
    border: 2px solid #005500;
    border-radius: 5px;
    background: transparent;
    background-color: #efefff;
}

.ContractFinderBlock {
    width: 100%;
    border: 1px solid #ddd  ;
    border-radius: 5px;
    margin:10px 0 10px 0;
    padding: 10px 0 10px 10px;
    box-sizing: border-box;
    background: #fbf8e7;
}

div.ContractFinderBlock input[type="radio"] {
	margin-top: 1px;
}

div.ContractFinderBlock div.buttons .btn + .btn {
	margin-left: 10px;
}
div.ContractFinderBlock div.buttons .btn-primary {
	padding-right: 20px;
	padding-left: 20px;
}
div.contract-search div.paging span.inline-block {
	display: inline-block;
}
div.contract-search div.paging  span.total-box {
	margin-right: 1em;
}
div.contract-search div.paging  ul.pager {
	display: inline-block;
	margin-bottom: 2px;
}

.ContractBankListTable {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	margin-top: -1px;
}

.ContractBankListTable th,
.ContractBankListTable td {
	height: 48px;
	border-top: 1px solid #deddda;
	border-left: 1px solid #deddda;
	border-right: 1px solid #deddda;
	border-bottom: 1px solid #deddda;
	empty-cells: show;
	text-align: center;
	vertical-align: middle;
	padding: 4px 4px;
}

.ContractBankListTable th {
	min-width: 50px;
	font-weight: bold;
	background-color: #4dbf80;
	color: #ffffff;
}

.ContractBankListTable td input {
	width: 100%;
	border: none;
	color: #000000;
	outline: 0;
}

.ContractBankListTable td select {
	width: 100%;
	border: none;
	color: #000000;
	outline: 0;
}

.ContractBankListTable .BetweenSearchDate {
	background-color:#d8f4fd;
	color:#000000;
}

.ContractBankListTable tbody tr:nth-child(odd) {
	background: #e6ffe9;
}

.ContractBankListTable tbody tr:nth-child(even) {
	background: #ffffff;
}

.DocumentBankListTable {
	width: 100%;
	border-width: 0 0 1px 0;
	border-style : solid;
	border-bottom-color : #4dbf80;
	margin: 10px 0 20px 0;
}

.DocumentBankListTable tr:nth-child(odd) {
	background: #ffffff;
	height: 35px;
	padding: 2px;
}

.DocumentBankListTable tr:nth-child(even) {
	background: #e6ffe9;
	height: 35px;
	padding: 2px;
}

.DocumentBankListTable th {
	color: #ffffff;
	text-align: center;
	padding: 5px 10px 5px 10px;
	height: 20px;
	background: #4dbf80;
	border-top: 1px solid #deddda;
	border-left: 1px solid #deddda;
	border-right: 1px solid #deddda;
	border-bottom: 1px solid #deddda;
}

.DocumentBankListTable td {
	text-align: center;
	padding: 5px 10px 5px 10px;
	border-top: 1px solid #deddda;
	border-left: 1px solid #deddda;
	border-right: 1px solid #deddda;
	border-bottom: 1px solid #deddda;
	word-break: break-all;
}

button.ssoLogin{
	border:none;
	background-color:transparent;
	text-decoration:underline;"
}

/* デザイン検証 */
.ContractListTable,
.ContractListTable * {
	box-sizing: border-box;
}

.ContractListTable {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	margin-top: -1px;
	line-height: 1;
}

.ContractListTable th,
.ContractListTable td {
	height: 40px;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	empty-cells: show;
	text-align: left;
	vertical-align: middle;
	word-break:break-all;
}

.ContractListTable th {
	width: 30%;
	padding: 4px 2px 4px 10px;
	font-weight: bold;
	background-color: #e6ffe9;
}

.ContractListTable td {
	padding: 6px 2px 6px 10px;
}

.ContractListTable tr td div{
	float: left;
}

.ContractListTable tr.haveBtn td div{
	margin-top: 10px;
	margin-bottom: 5px;
}

.ContractListTable tr td button{
	padding: 5px 12px;
	margin-right: 5px;
}

div.contract_item {
	margin-bottom: 10px;
}

div.contract_item.row-item {
	margin-bottom: 20px;
}

div.contract_item::after {
	content: "";
	display: block;
	clear: both;
}

.DocumentListTable {
    width: 100%;
    border-width: 0 0 1px 0;
    border-style : solid;
    border-bottom-color : #5a657f;
    margin: 10px 0 10px 0;
}

.DocumentListTable tr:nth-child(odd) {
    background: #ffffff;
    height: 35px;
    padding: 2px;
}

.DocumentListTable tr:nth-child(even) {
    background: #f1f2f4;
    height: 35px;
    padding: 2px;
}

.DocumentListTable th {
    color: #0058a0;
    text-align: center;
    padding: 5px 10px 5px 10px;
    height: 20px;
    background: #e3e5e9;
}

.DocumentListTable td {
    text-align: center;
    padding: 5px 10px 5px 10px;
}

.SignDetailTab {
    width: 100%;
    background: #efefef;
    border: 2px solid #b8b8b8;
    border-radius: 5px;
    margin: 10px 0 10px 0;
    padding-top: 10px;
    box-sizing: border-box;
}

.SignDetailTable {
    width: 100%;
}

.SignDetailTable th {
    width: 15%;
    text-align: right;
    vertical-align: center;
    padding: 5px 5px 5px 0;
}

.SignDetailTable td {
    width: 85%;
    text-align: left;
    vertical-align: center;
    padding: 5px 5px 5px 0;
}

.SignButton {
    font-size: 20px;
    margin: 5px 0 3px 0;
}

.LoginEntryTable {
    width: 100%;
}

.LoginEntryTable th {
    text-align: right;
    width: 40%;
}

.LoginEntryTable td {
    width: 60%;
}

.LoginEntryTable tr {
    height: 30px;
}

.withImage {
    margin: 10px 0 0 0;
    background-image: url(../img/contracthub_icon.png);
    background-repeat: no-repeat;
    background-position: center top;
}

.ConfirmTable {
    width: 100%;
    margin: 10px 0 10px 0;
}
.ConfirmTable th {
    text-align: left;
    padding: 0 4px 0 4px;
}
.ConfirmTable td {
    text-align: left;
    padding: 5px 4px 0 4px;
}
.user-list button {
	margin-bottom: 2px;
}
@media(max-width: 768px) {
	table.user-list {
		display: table;
		padding-left: 10px;
		padding-right: 5px;
	}
	.user-list tbody {
		display: table-row-group;
	}
	.user-list td {
		display: block;
		border-top: 1px solid #d6d6d6;
		border-collapse: collapse;
	}
	.user-list .td-button {
		text-align:center;
		margin-bottom:30px;
	}
	.user-list td p {
		display:inline-block;
		margin-bottom:0;
		vertical-align: top;
	}
	.user-list td .p-label {
		width: 28%;
		font-weight: bold;
	}
	.user-list td .p-data {
		width: 72%;
		word-break: break-all;
	}
	.table button {
		width:80%;
		margin-right:0;
	}
}
@media(min-width: 769px) {
	.user-list .td-margin {
		display: none;
	}
	.user-list td .p-label {
		display: none;
	}
}
/* ヘッダーメニュー */
.h-menu li {
    float: right;
    margin: 0 10px 0 0;
}

/* ロゴ位置調整 */
.logo-log {
    text-align: center;
	margin: 0 0 20px 0;
}

/* テキスト位置調整 */
.text-logout {
    width: 100%;
	text-align: center;
}

.login-userpw-forgot {
	text-align: center;
	margin: 20px auto 0 auto;
	width: 100%;
}

.login-userpw-forgot ul li{
	margin:5px 10px;
	display:inline-block;
}

.login-comment,
.login-approve {
	margin: 20px auto 0 auto;
	width: 100%;
	line-height: 24px;
	border: 1px solid #aaa;
	padding: 6px;
	border-radius: 6px;
}
.login-comment hr{
	border: 0.5px solid #aaa;
}

.login-comment pre{
    white-space: pre-wrap;
    word-wrap: break-word;
    overflow: auto;
    border:none;
    background-color:#FFFFFF;
}
.login-comment li{
  padding-left: 0em;
  margin-left: 1em;
}
.login-comment ul,
.login-comment ol{
  padding-left: 0em;
  margin-top: 0em;
  margin-left: 1em;
  margin-bottom: 0em;
}

/* 利用承諾 利用規約文言 */
div.agreement-container {
	max-width: 700px;
	margin: 0 auto;
}

div.riyokiyaku-text,
div.agreement-confirmations,
div.agreement-on-personal-information {
	word-wrap: break-word;
	max-height: 300px;
	overflow-y: scroll;
	padding-top: 5px;
}
div.riyokiyaku-text {
	white-space: pre-wrap;
}

h3.agreement-head {
	text-align: center;
	margin-top: 0px;
	white-space: normal;
}

/* ボタン装飾 */
.btmDecoration {
    font-size: 110%;
    border:solid 2px #808080;
    padding: 0 15px;
    text-transform: uppercase;
    color: #333333;
    cursor: pointer;
    -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0px 1px 2px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0px 1px 2px rgba(0, 0, 0, 0.2);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0px 1px 2px rgba(0, 0, 0, 0.2);
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}

/* ボタン */
button:disabled

/* マージン・パディング */
.mp-5px { padding-bottom: 5px }
.mp-10px { padding-bottom: 10px }
.mp-20px { padding-bottom: 20px }
.mp-30px { padding-bottom: 30px }
.mp-40px { padding-bottom: 40px }
.mb-5px { margin-bottom: 5px }
.mb-10px { margin-bottom: 10px }
.mb-15px { margin-bottom: 15px }
.mb-20px { margin-bottom: 20px }
.mb-30px { margin-bottom: 30px }
.mb-40px { margin-bottom: 40px }
.up-10px { padding-top: 10px }
.up-15px { padding-top: 15px }
.up-20px { padding-top: 20px }
.up-30px { padding-top: 30px }
.mt-5px { margin-top: 5px }
.mt-10px { margin-top: 10px }
.mt-15px { margin-top: 15px }
.mt-20px { margin-top: 20px }
.mt-30px { margin-top: 30px }
.mt-40px { margin-top: 40px }
