body, html {
	display: grid;
}

body {
	grid-template-rows: 108px 1fr 52px;
}

/* Chromeのみ */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
	body, html {
		height: 100vh;
	}
}

/* IEのみ */
@media all and (-ms-high-contrast: none) {
	body, html {
		min-height: 100vh;
	}

	main {
		min-height: calc(92vh - 108px - 52px);
	}
}

/* header */

header.header {
	background-color: #FFFFFF;
	border-style: none;
	padding: 0;
	margin: 0;
	width: 100%;

	grid-row: 1;
	grid-column: 1;
}

div.header-top {
	height: 25px;
	width: 100%;
}

div.header-main {
	width: 100%;
}

table.header {
	width: 100%;
}

img.logo {
	margin: 5px 0 5px 20px;
	vertical-align: bottom;
	width: 160px;
}

td.login-status {
	text-align: right;
	vertical-align: middle;
	width: 80%;
}

span.login-info {
	color: #4d4d4d;
	font-size: 20px;
	font-weight: bold;
	margin-right: 10px;
	vertical-align: middle;
}

div.header-bottom {
	height: 8px;
	width: 100%;
}

/* main */

main.container {
	display: flex;
	flex-basis: auto;
	height: 91%;
	margin-top: 20px;
	margin-bottom: 50px;
}

div.sidebar {
	flex-basis: 250px;
	padding: 0 20px;
	min-width: 250px;

	grid-row: 2;
	grid-column: 1;
}

div.content {
	box-sizing: border-box;
	flex-grow: 1;
	margin-right: 10px;

	grid-row: 2;
	grid-column: 2;
}

h3.title {
	background-color: #FFFFFF;
	border-bottom: 1px solid;
	border-left: 10px solid;
	box-sizing: border-box;
	font-size: 20px;
	height: 42px;
	padding: 10px 12px;
	width: 100%;
}

h3.sub-title,
h3.sub-title-gray {
	background-color: #FFFFFF;
	border: 2px solid;
	box-sizing: border-box;
	font-size: 20px;
	height: 42px;
	padding: 10px 15px;
	margin: 20px 0;
	width: 100%;
}

h3.sub-title-gray {
	border-color: #6f6f6f;
	color: #6f6f6f;
}

div.indent {
	margin-left: 15px;
}

/* footer */

footer.row.footer.main-color {
	bottom: 0;
	color: #FFFFFF;
	font-size: 14px;
	height: 16px;
	padding: 18px 0;
	text-align: center;
	width: 100%;

	grid-row: 3;
	grid-column: 1;
}

.info,
.success,
.warning,
.error {
	margin: 10px 0;
	padding: 10px;
	border-radius: 3px 3px 3px 3px;
}

.success {
	color: #270;
	background-color: #DFF2BF;
}

.warning {
	color: #9F6000;
	background-color: #FEEFB3;
}

/* .error {
  color: #D8000C;
  background-color: #FFBABA;
} */
.error-message {
	text-align: left;
	color: #D8000C;
}

.isDisabled {
	cursor: not-allowed;
	opacity: 0.5;
}

.isDisabled > a {
	color: currentColor;
	display: inline-block; /* For IE11/ MS Edge bug */
	pointer-events: none;
	text-decoration: none;
}