/********************/
/* 共通 */
/********************/
/*
xs 568px未満
sm 568px～768px
md 768px～991px
lg 992px～1119px
xl 1200px以上
*/


/******** ベース ********/

:root{
	--font-family-sans-serif: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
/*	--font-family-sans-serif: "Helvetica Neue", Arial, "BIZ UDGothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;*/
    --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;

}

/* html */
html {
}

/* Mobile xs,sm */
@media (min-width: 0px) {
	html {
		font-size: 1.0rem;
	}
}
/* Tablet md */
@media (min-width: 768px) {
	html {
		font-size: 0.9rem;
	}
}
/* PC lg,xl */
@media (min-width: 992px) {
	html {
		font-size: 0.9rem;
	}
}

body {
/*	background-color: #FAFAFA;*/
	background-color: #FFFFFF;
	overscroll-behavior-y: auto;
    font-family: var(--font-family-sans-serif);
	color: #666666;
}

/******** ヘッダー ********/
header {
	box-shadow: 0 3px 6px #DDDDDD;
}
header div.header-system-type-3 {
    text-align: center;
	padding: 0;
	background-color: #FFFFFF;
	height: 0px;
	margin: 0;
	font-weight: bold;
	color: #FFFFFF;
}
header div.header-system-type-2 {
    text-align: center;
	padding: 0;
	background-color: #FF0000;
	height: 20px;
	margin: 0;
	font-weight: bold;
	color: #FFFFFF;
}
header div.header-system-type-2:before {
	content:'テスト環境';
}
header div.header-system-type-1 {
    text-align: center;
	padding: 0;
	background-color: #00CC33;
	height: 20px;
	margin: 0;
	font-weight: bold;
	color: #FFFFFF;
}
header div.header-system-type-1:before {
	content:'開発環境';
}


header .navbar {
	/*padding:  0.25rem 0.25rem 0.25rem 0.25rem;*/
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	background-color: #FFFFFF;
}
header .navbar-brand {
  margin: 0.25rem 0.25rem 0.25rem 0.25rem;
  background: url("/images/header_logo.png") no-repeat left center;
  background-size: contain;
  height: 40px;
  width: 150px;

}

/* ハンバーガメニュー */
header .navbar-toggler {
	border-color: rgba(0, 0, 0, 0);
	outline: none;
}
header .navbar-toggler-icon {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 51, 153, 1)' stroke-width='3' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
header .navbar-toggler-icon:hover {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 51, 153, 1)' stroke-width='3' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

/* Mobile xs,sm */
/* Tablet md */
@media (min-width: 0px) {

	header .navbar-collapse {
		padding: 0 0 0.5rem 0;
		background-color: #003399;
	}
	header .nav-item {
		padding: 0 0.5rem 0 0.5rem;
		font-size: 0.9rem;
	}
	header .nav-item a {
		color: #FFFFFF;
		text-decoration: none;
	}
	header .nav-item a:visited {
		color: #FFFFFF;
		text-decoration: none;
	}
	header .nav-item a:hover {
		color: #FFFFFF;
		text-decoration: none;
	}
}
/* PC lg,xl */
@media (min-width: 992px) {
	header .navbar-collapse {
		padding: 0 0 0 0;
		background-color: #FFFFFF;
	}
	header .nav-item {
		padding: 0 0 0 0;
		font-size: 0.9rem;
	}
	header .nav-item a {
		color: #003399;
		text-decoration: none;
	}
	header .nav-item a:visited {
		color: #003399;
		text-decoration: none;
	}
	header .nav-item a:hover {
		color: #003399;
		text-decoration: none;
	}
}

header .user-info {
	height: 1.3rem;
	font-size: 0.9rem;
	width: 100%;
	text-align: right;
	background-color: #003399;
	color: #FFFFFF;
	padding: 0 1.0rem 0 0;
	margin: 0 0 0 0;
}
/*
header .navbar-light .navbar-nav .nav-link {
  color: #003399;
}
header .navbar-light .navbar-nav .nav-link:visited {
  color: #003399;
}
header .navbar-light .navbar-nav .nav-link:hover {
  color: #007EFF;
}
header .navbar-light .navbar-nav .nav-link:focus {
  color: #007EFF;
}
*/
/* ドロップダウン */

header nav a.dropdown-item {
	padding: 0.15rem 1.0rem 0.15rem 1.5rem;
	font-size: 0.9rem;
	color: #003399;
	text-decoration: none;
}
header nav a.top {
	padding: 0.15rem 0 0.15rem 1.0rem;
	font-weight: bold;
}
header nav a.dropdown-item:visited {
	color: #003399;
	text-decoration: none;
}
header nav a.dropdown-item:hover {
	color: #007EFF;
	text-decoration: none;
}

/* ユーザ情報 */
header .user-info a {
	color: #FFFFFF;
	text-decoration: none;
}
header .user-info a:visited {
	color: #FFFFFF;
	text-decoration: none;
}
header .user-info a:hover {
	color: #FFFFFF;
	text-decoration: none;
}

header .user-info a.dropdown-item {
	font-size: 0.8rem;
	color: #003399;
	text-decoration: none;
}
header .user-info a.dropdown-item:visited {
	color: #003399;
	text-decoration: none;
}
header .user-info a.dropdown-item:hover {
	color: #007EFF;
	text-decoration: none;
}

/******** フッター ********/
footer {
    background-color: #003399;
	padding: 0.25rem 0 0.25rem 0;
}
/*
footer div.copyright {
    text-align: center;
	font-size: 0.6rem;
	color: #FFFFFF;
}
*/
footer div.footer-btn {
    text-align: center;
	padding: 0 0.5rem 0.5rem 0.5rem;
}

/******** コンテンツエリア ********/
div#side-menu {
	background-color: #FFFFFF;
}

div#contents {
	background-color: #FFFFFF;
	padding: 0px 10px 30px 10px;
}

/******** サイドメニュー ********/
/* Mobile xs,sm */
/* Tablet md */
@media (min-width: 0px) {
	div.side-menu{
		margin: 5px 5px 5px 5px;
		padding: 0;
	}

	div.side-menu a.side-menu-title {
		display: inline-block;
		padding: 5px;
		margin: 5px 0px 5px 0px;
		width: 100%;
		background-color: #003399;
		color: #FFFFFF;
		font-size: 1.0rem;
		box-shadow: 1px 2px 2px #DDDDDD;
		border-radius: 3px;
	}

	div.side-menu a.side-menu-title:hover {
		color: #ffff00;
	}

	div.side-menu ul {
		padding: 0;
		margin: 0;
		list-style: none;
		overflow: hidden;
	}

	div.side-menu ul li {
		padding: 10px;
		margin: 0;
		height: 80px;
		width: 50%;
		float: left;
		text-shadow: 1px 2px 2px #DDDDDD;
		outline: 1px solid #003399;
		outline-offset: -10px;
	}

	div.side-menu ul li a {
		text-align: center;
		height: 100%;
		width: 100%;
		padding: 5px;
		display: inline-block;
		color: #003399;
		background-color: #FFFFFF;
		font-size: 1.0rem;
		text-decoration: none;
		cursor: pointer;
	}

	div.side-menu ul li a:hover {
		color: #FFFFFF;
		background: #003399;
	}
}
/* PC lg,xl */
@media (min-width: 992px) {
	div.side-menu{
		margin: 5px 5px 30px 5px;
		padding: 0;
	}

	div.side-menu a.side-menu-title{
		padding: 5px;
		margin: 5px 0px 5px 0px;
		width: 100%;
		background-color: #003399;
		color: #FFFFFF;
		font-size: 1.0rem;
	}

	div.side-menu ul {
		padding: 0;
		margin: 0;
		list-style: none;
		overflow: hidden;
	}

	div.side-menu ul li {
		padding: 0;
		margin: 5px 0px 5px 0px;
		height: 100%;
		width: 100%;
		float: left;
		border: 1px solid #003399;
		outline: none;
	}

	div.side-menu ul li a {
		line-height: 100%;
		text-align: center;
		width: 100%;
		padding: 5px;
		display: inline-block;
		color: #003399;
		background-color: #FFFFFF;
		font-size: 1.0rem;
		text-decoration: none;
		cursor: pointer;
	}

	div.side-menu ul li a:hover {
		color: #FFFFFF;
		background: #003399;
	}
}

/******** メニュー  ********/
a.menu-btn {
	margin: 10px 0 10px 0;
	text-decoration: none;
	display: inline-block;
	width: 100%;
	font-weight: 400;
	color: #003399;
	text-align: center;
	vertical-align: middle;
	user-select: none;
	background-color: #FFFFFF;
	border: 1px solid #003399;
	padding: 0.375rem 0.75rem;
	font-size: 1.0rem;
	line-height: 1.5;
	border-radius: 0.25rem;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

a.menu-btn:hover {
	text-decoration: none;
	color: #FFFFFF;
	background: #003399;
}

input.menu-btn {
	width: 100%;
	font-weight: 400;
	color: #003399;
	text-align: center;
	vertical-align: middle;
	user-select: none;
	background-color: #FFFFFF;
	border: 1px solid #003399;
	padding: 0.375rem 0.75rem;
	font-size: 1.0rem;
	line-height: 1.5;
	border-radius: 0.25rem;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

input.menu-btn:hover {
	color: #FFFFFF;
	background: #003399;

}

/******** 外枠 ********/
div.info {
	margin: 5px 5px 5px 5px;
	padding: 5px 5px 5px 5px;
	background-color: #FFFFFF;
	border: 1px solid #003399;
}

div.inner-contents {
	margin: 5px 5px 5px 5px;
	background-color: #FFFFFF;
}


/******** 見出し ********/
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-family-sans-serif);
}

h1 {
	font-size: 1.1rem;
	visibility: hidden;
}

h2 {
	font-size: 1.0rem;
	color: #000000;
	background: #eaf3ff;
	border: none;
	padding: 0.5rem;
	border-bottom: solid 3px #003399;
	box-shadow: 1px 2px 2px #DDDDDD;
}

h3 {
	font-size: 1.0rem;
	color: #000000;
	padding: 0.4rem;
	background: #f4f4f4;
	border-left: solid 5px #003399;
	box-shadow: 1px 2px 2px #DDDDDD;
}

h4 {
	padding: 1.0rem 0 0 0;
	border-bottom: solid 1px #DDDDDD;
	font-size: 1.0rem;
}

/******** リンク ********/
a:not(.menu-btn) {
	color: #003399;
	text-decoration: none;
}

a:visited:not(.menu-btn) {
	color: #003399;
	text-decoration: none;
}

a:hover:not(.menu-btn) {
	color: #007EFF;
	text-decoration: none;
}

a.btn {
	color: #FFFFFF;
}
a.btn:visited {
	color: #FFFFFF;
}
a.btn:hover {
	color: #FFFFFF;
}

/******** フォームパーツ ********/
/* 親のフォントサイズからの指定emとする　*/
input[type="text"]{
	font-size: 1.0em;
	height: 1.8em;
	border-radius: 3px;
	border: 1px solid #D6D6D6;
	margin: 0.1rem 0 0.1rem 0;
	padding: 0 0.3em 0 0.3em;
}
input[type="password"]{
	font-size: 1.0em;
	height: 1.8rem;
	border-radius: 3px;
	border: 1px solid #D6D6D6;
	margin: 0.1em 0 0.1em 0;
	padding: 0 0.3em 0 0.3em;
}
input[type="date"]{
	font-size: 1.0em;
	height: 1.8rem;
	border-radius: 3px;
	border: 1px solid #D6D6D6;
	margin: 0.1em 0 0.1em 0;
	padding: 0 0.3em 0 0.3em;
}
input[type="time"]{
	font-size: 1.0em;
	height: 1.8em;
	border-radius: 3px;
	border: 1px solid #D6D6D6;
	margin: 0.1em 0 0.1em 0;
	padding: 0 0.3em 0 0.3rem;
}
input[type="datetime-local"]{
	font-size: 1.0em;
	height: 1.8em;
	border-radius: 3px;
	border: 1px solid #D6D6D6;
	margin: 0.1em 0 0.1em 0;
	padding: 0 0.3em 0 0.3em;
}
input[type="radio"]{
	font-size: 1.0rem;
}

label {
	margin:0 15px 0 5px;
}

select {
	font-size: 1.0em;
	height: 1.8em;
	border-radius: 3px;
	border: 1px solid #D6D6D6;
	margin: 0.1em 0 0.1em 0;
	padding: 0 0 0 0;
}

textarea {
	font-size: 1.0em;
	border-radius: 3px;
	border: 1px solid #D6D6D6;
	padding: 0 0.3em 0 0.3em;
}

input.width-max {
	width: 100%;
}
input.width-50 {
	width: 50%;
}
select.width-max {
	width: 100%;
}
textarea.width-max {
	width: 100%;
}

.input-error {
	background-color: #FFEFD5;
}

input.portal-chekbox {
	margin: 0 5px 0 5px;
}

input.portal-radio {
	margin: 0 5px 0 5px;
}

label.portal-label {
	width: 100%;
	font-weight: 400;
	color: #003399;
	text-align: center;
	vertical-align: middle;
	user-select: none;
	background-color: #FFFFFF;
	border: 1px solid #003399;
	padding: 0.375em 0.75em;
	font-size: 1.0em;
	line-height: 1.5;
	border-radius: 0.25em;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
label.portal-label-checked {
	color: #FFFFFF;
	background: #003399;
}
label.portal-label-disabled  {
	color: #999999;
	background: #EEEEEE;
}

/******** その他 ********/
.clear {
	clear: both;
}

div.left {
	float: left;
}
div.clear {
	clear: both;
}

/******** メンテナンスリスト ********/
div.maintenance-list {
}
div.maintenance-list div.one-maintenance {
	border: 2px solid #FF0000;
	margin: 0 0 10px 0;
}
div.maintenance-list div.one-maintenance div.function_name{
	padding: 0 5px 0 5px;
	background-color: #FF0000;
	color: #FFFFFF;
	font-size: 0.9rem;
    font-weight: bold;
}
div.maintenance-list div.one-maintenance div.status{
	padding: 0 5px 0 5px;
	font-size: 0.9rem;
}
div.maintenance-list div.one-maintenance div.kikan{
	padding: 5px 5px 5px 5px;
	font-size: 0.8rem;
    font-weight: bold;
}

/******** メンテナンス ********/
div.maintenance {
	border: 2px solid #FF0000;
	margin: 0 0 10px 0;
	display: none;
}
div.maintenanceMsg {
	padding: 5px 0 0 0;
	text-align: center;
	font-size: 1.2rem;
    font-weight: bold;
}
div.maintenanceDate {
	margin: 5px 5px 5px 5px;
	padding: 5px 0 5px 0;
	text-align: center;
	font-size: 0.8rem;
    font-weight: bold;
	color: #FFFFFF;
	background-color: #FF0000;
}

/******** メッセージ ********/
/* 未使用 */
div.message {
}

/* ※を付けた文章で2行目以降は1文字インデントする場合に使用 */
div.note {
	margin-left: 1rem;
	text-indent: -1rem;
}
div.msg {
	color: #000000;
	padding: 5px 0 5px 0;
}
div.common-msg {
	color: #003399;
	padding: 5px 0 5px 0;
}
div.common-msg-s {
	font-size: 0.8rem;
	color: #003399;
	padding: 5px 0 5px 0;
}

div.warning-msg {
	color: #FF0000;
	padding: 5px 0 5px 0;
}

div.warning-msg-b {
	color: #FF0000;
	padding: 5px 0 5px 0;
    font-weight: bold;
}

div.input-error-message {
	font-size: 0.8rem;
	color :#FF0000;
}

div.save-message {
	font-size: 0.8rem;
	color :#FF0000;
}

span.required {
    font-weight: noemal;
	color :#FF0000;
}

span.red {
	color :#FF0000;
}
span.green {
	color :#3CB371;
}
span.bold {
	font-weight: bold;
}

/******** ボタン ********/
.btn-bold {
    font-weight: bold;
}
.btn-30 {
	width: 30%;
}
.btn-50 {
	width: 50%;
}
.btn-80 {
	width: 80%;
}
.btn-100 {
	width: 100%;
}
.btn-normal  {
	padding-left: 5rem;
	padding-right: 5rem;
}
.btn-paging {
	width: 30px;
}
a.btn-link {
	color :#FFFFFF;
	text-decoration: none;
}
a.btn-link:visited {
	color :#FFFFFF;
}

a.btn-link:hover {
	color :#FFFFFF;
}


div.content-btn {
	padding: 0.8rem 0 0 0;
	justify-content: center;
    display: flex;
}
div.content-sub-btn {
	padding: 0 0.1rem 0 0.1rem;
	width: 50%;
}
div.content-sub-btn-l {
	padding: 0 0.1rem 0 0;
	width: 50%;
}
div.content-sub-btn-r {
	padding: 0 0 0 0.1rem;
	width: 50%;
}

div.content-sub-btn-33 {
	padding: 0 0 0 0.1rem;
	width: 33%;
}



/******** テーブル ********/
table {
	width: 100%;
	margin: 0px;
	padding: 0px;
	border: 1px solid #DDDDDD;
	border-collapse: collapse;
}
table tr.l0 {
	background-color:#FFF;
}
table tr.l1 {
	background-color:#EEF;
}
table th {
	border: 1px solid #DDDDDD;
	background-color:#EEE;
}
table td {
	border: 1px solid #DDDDDD;
}

/* ボーダーなしテーブル */
table.no-border {
	width:auto;
	border: 0px;
}
table.no-border th {
	text-align:center;
	padding: 0.2rem;
	border: 0px;
	background-color:#EEE;
}
table.no-border td {
	padding: 0.2rem;
	border: 0px;
}
table.no-border td.r {
	text-align:right;
}
table.no-border td.c {
	text-align:center;
}
table.no-border td.t {
	vertical-align:top;
}

/******** 処理中 ********/
#loading {
	z-index: 2000;
	display: table;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background-color: #fff;
	opacity: 0.8;
}
#loading .loading-msg {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	padding-top: 140px;
	background: url(/images/loging.gif) center center no-repeat;
}

/* Mobile xs,sm */
/* Tablet md */
@media (min-width: 0px) {
	div.content {
		padding: 0 0 0 0;
		width:100%;
		text-align: center;
	}
	div.content div.content-left {
/*		display: inline-block;*/
/*		width: fit-content;*/
		text-align: left;
	}
	div.content div.content-center {
/*		display: inline-block;*/
/*		width: fit-content;*/
		text-align: center;
	}
	div.content div.content-btn {
		padding: 0.8rem 0 0 0;
		justify-content: center;
	    display: flex;
	}

	div.error-content {
		padding: 0 0 0 0;
		width:100%;
		text-align: center;
	}
}
/* PC lg,xl */
@media (min-width: 992px) {
	div.content {
		padding: 0 0 0 1.0rem;
		width:100%;
		text-align: left;
	}
	div.content div.content-left {
/*		display: inline-block;*/
/*		width: fit-content;*/
		text-align: left;
	}
	div.content div.content-center {
/*		display: inline-block;*/
/*		width: fit-content;*/
		text-align: center;
	}
	div.content div.content-btn {
		padding: 0.8rem 0 0 0;
		justify-content: left;
	    display: flex;
	}


	div.error-content {
		padding: 0 0 0 0;
		width:100%;
		text-align: center;
	}


}

span.count {
	font-weight: bold;
	font-size: 1.5rem;
}



div.login {
	width:100%;
	text-align: center;
}
div.login-id-pass {
	display: inline-block;
	width: fit-content;
	text-align: left;
}
.width-id-pass {
	width: 15rem;
}







/* --------------------------------

Basic Style

-------------------------------- */
.breadcrumb  {
  width: 100%;
  padding: 0.0rem 0.5rem 0.0rem 0.5rem;
  margin: 0 auto;
  background-color: #FFFFFF;
  border-radius: .25rem;
}
.breadcrumb:after {
  content: "";
  display: table;
  clear: both;
}
.breadcrumb li {
  display: inline-block;
  float: left;
  margin: 0.25rem 0;
}
.breadcrumb li::after {
  display: inline-block;
  content: '\00bb';
  margin: 0 .6rem;
}
.breadcrumb li:last-of-type::after {
  display: none;
}
.breadcrumb li > * {
  display: inline-block;
  font-size: 0.8rem;
}
.breadcrumb li.current > * {
  color: #E75685;
}






.flex{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}



