/***********************************************************************
 *
 * 共通
 *
 ***********************************************************************/
/*
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-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;
}



/**** その他 ****/
.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;
}

/******** メッセージ ********/
/* ※を付けた文章で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 {
	color :#FF0000;
}

div.save-message {
	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%;
	box-sizing: border-box;
}
.btn-50 {
	width: 50%;
	box-sizing: border-box;
}
.btn-80 {
	width: 80%;
	box-sizing: border-box;
}
.btn-100 {
	width: 100%;
	box-sizing: border-box;
}
.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-left {
	padding: 0.8rem 0 0 0;
	text-align: left;
}

div.content-center {
	padding: 0.8rem 0 0 0;
	text-align: center;
}


div.content-btn {
    display: flex;
    gap: 10px;
	padding: 0.8rem 0 0 0;
	justify-content: center;
}

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%;
}

/******** 処理中 ********/
#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;
}

/******** テーブル ********/
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;
}



/* 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;
}







/* --------------------------------

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;
}



/******** メニュー ********/
div.menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px; /* 項目同士のすき間 */
}

div.menu ul li a {
  display: block;
  padding: 16px;
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px; /* 角を丸くする */
  text-decoration: none; /* 下線を消す */
  color: #333333;
  transition: all 0.2s ease; /* ホバー時のアニメーション */
}

div.menu ul li a:hover {
  background-color: #f8fafc;
  border-color: #cbd5e1;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}


/* タイトルのスタイル */
div.menu ul li span.menu-title {
  display: block;
  font-weight: 600;
  font-size: 1.1rem;
	color: #666666;

  margin-bottom: 4px;
}

/* 説明文のスタイル */
div.menu ul li p.menu-desc {
  margin: 0;
  font-size: 0.9rem;
	color: #666666;
  line-height: 1.4;
}



.account-title {
  /* 装飾のリセット */
  background: none !important;
  border: none !important;
  padding: 0;
  margin-top: 20px;
  margin-bottom: 24px;

  font-weight: 500;
  font-size: 1.4rem;
  color: #333333;
  letter-spacing: 0.08em;
  opacity: 0.9;
}
